Some Module Updates (#7732)
[openemr.git] / interface / forms / eye_mag / SpectacleRx.php
blob3a98f2f49efe01c2ebccad36184fe34c5cce4d9f
1 <?php
3 /**
4 * forms/eye_mag/SpectacleRx.php
6 * Functions for printing a glasses prescription
8 * @package OpenEMR
9 * @link https://www.open-emr.org
10 * @author Ray Magauran <magauran@MedFetch.com>
11 * @copyright Copyright (c) 2016 Raymond Magauran <magauran@MedFetch.com>
12 * @license https://github.com/openemr/openemr/blob/master/LICENSE GNU General Public License 3
15 require_once(__DIR__ . "/../../globals.php");
16 require_once("$srcdir/api.inc.php");
17 require_once("$srcdir/forms.inc.php");
18 require_once("$srcdir/lists.inc.php");
19 require_once("$srcdir/options.inc.php");
20 require_once("$srcdir/patient.inc.php");
21 require_once("$srcdir/report.inc.php");
23 use OpenEMR\Services\FacilityService;
24 use OpenEMR\Core\Header;
26 $facilityService = new FacilityService();
28 $form_name = "Eye Form";
29 $form_folder = "eye_mag";
30 require_once("php/" . $form_folder . "_functions.php");
32 $RX_expir = "+1 years";
33 $CTL_expir = "+6 months";
34 if (!$_REQUEST['pid'] && $_REQUEST['id']) {
35 $_REQUEST['pid'] = $_REQUEST['id'];
37 if (!$_REQUEST['pid']) {
38 $_REQUEST['pid'] = $_SESSION['pid'];
41 $query = "select *,form_encounter.date as encounter_date
42 from forms,form_encounter,form_eye_base,
43 form_eye_hpi,form_eye_ros,form_eye_vitals,
44 form_eye_acuity,form_eye_refraction,form_eye_biometrics,
45 form_eye_external, form_eye_antseg,form_eye_postseg,
46 form_eye_neuro,form_eye_locking
47 where
48 forms.deleted != '1' and
49 forms.formdir='eye_mag' and
50 forms.encounter=form_encounter.encounter and
51 forms.form_id=form_eye_base.id and
52 forms.form_id=form_eye_hpi.id and
53 forms.form_id=form_eye_ros.id and
54 forms.form_id=form_eye_vitals.id and
55 forms.form_id=form_eye_acuity.id and
56 forms.form_id=form_eye_refraction.id and
57 forms.form_id=form_eye_biometrics.id and
58 forms.form_id=form_eye_external.id and
59 forms.form_id=form_eye_antseg.id and
60 forms.form_id=form_eye_postseg.id and
61 forms.form_id=form_eye_neuro.id and
62 forms.form_id=form_eye_locking.id and
63 forms.encounter=? and
64 forms.pid=? ";
66 $data = sqlQuery($query, array($_REQUEST['encounter'], $_REQUEST['pid']));
67 $data['ODMPDD'] = $data['ODPDMeasured'];
68 $data['OSMPDD'] = $data['OSPDMeasured'];
69 $data['BPDD'] = (int) $data['ODMPDD'] + (int) $data['OSMPDD'];
70 @extract($data);
72 $ODMPDD = $ODPDMeasured;
73 $OSMPDD = $OSPDMeasured;
74 $BPDD = (int) $ODMPDD + (int) $OSMPDD;
76 $query = "SELECT * FROM users where id = ?";
77 $prov_data = sqlQuery($query, array($data['provider_id']));
79 $query = "SELECT * FROM patient_data where pid=?";
80 $pat_data = sqlQuery($query, array($data['pid']));
82 $practice_data = $facilityService->getPrimaryBusinessEntity();
84 $visit_date = oeFormatShortDate($data['encounter_date']);
86 if ($_REQUEST['mode'] == "update") { //store any changed fields in dispense table
87 $table_name = "form_eye_mag_dispense";
88 $query = "show columns from " . $table_name;
89 $dispense_fields = sqlStatement($query);
90 $fields = array();
92 if (sqlNumRows($dispense_fields) > 0) {
93 while ($row = sqlFetchArray($dispense_fields)) {
94 //exclude critical columns/fields, define below as needed
95 if (
96 $row['Field'] == 'id' ||
97 $row['Field'] == 'pid' ||
98 $row['Field'] == 'user' ||
99 $row['Field'] == 'groupname' ||
100 $row['Field'] == 'authorized' ||
101 $row['Field'] == 'activity' ||
102 $row['Field'] == 'date'
104 continue;
107 if (isset($_POST[$row['Field']])) {
108 $fields[$row['Field']] = $_POST[$row['Field']];
111 $fields['RXTYPE'] = $RXTYPE;
112 $insert_this_id = formUpdate($table_name, $fields, $_POST['id'], $_SESSION['userauthorized']);
115 exit;
116 } elseif ($_REQUEST['mode'] == "remove") {
117 $query = "DELETE FROM form_eye_mag_dispense where id=?";
118 sqlStatement($query, array($_REQUEST['delete_id']));
119 echo xlt('Prescription successfully removed.');
120 exit;
121 } elseif ($_REQUEST['RXTYPE']) { //store any changed fields
122 $query = "UPDATE form_eye_mag_dispense set RXTYPE=? where id=?";
123 sqlStatement($query, array($_REQUEST['RXTYPE'], $_REQUEST['id']));
124 exit;
127 formHeader("OpenEMR Eye: " . text($prov_data['facility']));
129 if ($_REQUEST['REFTYPE']) {
130 $REFTYPE = $_REQUEST['REFTYPE'];
131 if ($REFTYPE == "AR") {
132 $RXTYPE = "Bifocal";
135 if ($REFTYPE == "MR") {
136 $RXTYPE = "Bifocal";
139 if ($REFTYPE == "CTL") {
140 $RXTYPE = "Bifocal";
143 $id = $_REQUEST['id'];
144 $table_name = "form_eye_mag";
145 if (!$_REQUEST['encounter']) {
146 $encounter = $_SESSION['encounter'];
147 } else {
148 $encounter = $_REQUEST['encounter'];
153 if ($REFTYPE == "W") {
154 //we have rx_number 1-5 to process...
155 $query = "select * from form_eye_mag_wearing where ENCOUNTER=? and FORM_ID=? and PID=? and RX_NUMBER=?";
156 $wear = sqlStatement($query, array($encounter,$_REQUEST['form_id'],$_REQUEST['pid'],$_REQUEST['rx_number']));
157 $wearing = sqlFetchArray($wear);
158 $ODSPH = $wearing['ODSPH'];
159 $ODAXIS = $wearing['ODAXIS'];
160 $ODCYL = $wearing['ODCYL'];
161 $OSSPH = $wearing['OSSPH'];
162 $OSCYL = $wearing['OSCYL'];
163 $OSAXIS = $wearing['OSAXIS'];
164 $COMMENTS = $wearing['COMMENTS'];
165 $ODMIDADD = $wearing['ODMIDADD'];
166 $ODADD2 = $wearing['ODADD'];
167 $OSMIDADD = $wearing['OSMIDADD'];
168 $OSADD2 = $wearing['OSADD'];
169 @extract($wearing);
170 if ($wearing['RX_TYPE'] == '0') {
171 $Single = "checked='checked'";
172 $RXTYPE = "Single";
173 } elseif ($wearing['RX_TYPE'] == '1') {
174 $Bifocal = "checked='checked'";
175 $RXTYPE = "Bifocal";
176 } elseif ($wearing['RX_TYPE'] == '2') {
177 $Trifocal = "checked='checked'";
178 $RXTYPE = "Trifocal";
179 } elseif ($wearing['RX_TYPE'] == '3') {
180 $Progressive = "checked='checked'";
181 $RXTYPE = "Progressive";
184 //do LT and Lens materials
185 } elseif ($REFTYPE == "AR") {
186 $ODSPH = $data['ARODSPH'];
187 $ODAXIS = $data['ARODAXIS'];
188 $ODCYL = $data['ARODCYL'];
189 $ODPRISM = $data['ARODPRISM'];
190 $OSSPH = $data['AROSSPH'];
191 $OSCYL = $data['AROSCYL'];
192 $OSAXIS = $data['AROSAXIS'];
193 $OSPRISM = $data['AROSPRISM'];
194 $COMMENTS = $data['CRCOMMENTS'];
195 $ODADD2 = $data['ARODADD'];
196 $OSADD2 = $data['AROSADD'];
197 $Bifocal = "checked='checked'";
198 } elseif ($REFTYPE == "MR") {
199 $ODSPH = $data['MRODSPH'];
200 $ODAXIS = $data['MRODAXIS'];
201 $ODCYL = $data['MRODCYL'];
202 $ODPRISM = $data['MRODPRISM'];
203 $OSSPH = $data['MROSSPH'];
204 $OSCYL = $data['MROSCYL'];
205 $OSAXIS = $data['MROSAXIS'];
206 $OSPRISM = $data['MROSPRISM'];
207 $COMMENTS = $data['CRCOMMENTS'];
208 $ODADD2 = $data['MRODADD'];
209 $OSADD2 = $data['MROSADD'];
210 $Bifocal = "checked='checked'";
211 } elseif ($REFTYPE == "CR") {
212 $ODSPH = $data['CRODSPH'];
213 $ODAXIS = $data['CRODAXIS'];
214 $ODCYL = $data['CRODCYL'];
215 $ODPRISM = $data['CRODPRISM'];
216 $OSSPH = $data['CROSSPH'];
217 $OSCYL = $data['CROSCYL'];
218 $OSAXIS = $data['CROSAXIS'];
219 $OSPRISM = $data['CROSPRISM'];
220 $COMMENTS = $data['CRCOMMENTS'];
221 } elseif ($REFTYPE == "CTL") {
222 $ODSPH = $data['CTLODSPH'];
223 $ODAXIS = $data['CTLODAXIS'];
224 $ODCYL = $data['CTLODCYL'];
225 $ODPRISM = $data['CTLODPRISM'];
227 $OSSPH = $data['CTLOSSPH'];
228 $OSCYL = $data['CTLOSCYL'];
229 $OSAXIS = $data['CTLOSAXIS'];
230 $OSPRISM = $data['CTLOSPRISM'];
232 $ODBC = $data['CTLODBC'];
233 $ODDIAM = $data['CTLODDIAM'];
234 $ODADD = $data['CTLODADD'];
235 $ODVA = $data['CTLODVA'];
237 $OSBC = $data['CTLOSBC'];
238 $OSDIAM = $data['CTLOSDIAM'];
239 $OSADD = $data['CTLOSADD'];
240 $OSVA = $data['CTLOSVA'];
242 $COMMENTS = $data['COMMENTS'];//in form_eye_mag_dispense there is no leading 'CTL_'
244 $CTLMANUFACTUREROD = getListItemTitle('CTLManufacturer', $data['CTLMANUFACTUREROD']);
245 $CTLMANUFACTUREROS = getListItemTitle('CTLManufacturer', $data['CTLMANUFACTUREROS']);
246 $CTLSUPPLIEROD = getListItemTitle('CTLManufacturer', $data['CTLSUPPLIEROD']);
247 $CTLSUPPLIEROS = getListItemTitle('CTLManufacturer', $data['CTLSUPPLIEROS']);
248 $CTLBRANDOD = getListItemTitle('CTLManufacturer', $data['CTLBRANDOD']);
249 $CTLBRANDOS = getListItemTitle('CTLManufacturer', $data['CTLBRANDOS']);
252 //Since we selected the Print Icon, we must be dispensing this - add to dispensed table now
253 $table_name = "form_eye_mag_dispense";
254 $query = "show columns from " . $table_name;
255 $dispense_fields = sqlStatement($query);
256 $fields = array();
258 if (sqlNumRows($dispense_fields) > 0) {
259 while ($row = sqlFetchArray($dispense_fields)) {
260 //exclude critical columns/fields, define below as needed
261 if (
262 $row['Field'] == 'id' ||
263 $row['Field'] == 'pid' ||
264 $row['Field'] == 'user' ||
265 $row['Field'] == 'groupname' ||
266 $row['Field'] == 'authorized' ||
267 $row['Field'] == 'activity' ||
268 $row['Field'] == 'RXTYPE' ||
269 $row['Field'] == 'REFDATE' ||
270 $row['Field'] == 'date'
272 continue;
274 if (isset(${$row['Field']})) {
275 $fields[$row['Field']] = ${$row['Field']};
279 $fields['RXTYPE'] = $RXTYPE;
280 $fields['REFDATE'] = $data['date'];
281 $insert_this_id = formSubmit($table_name, $fields, $form_id, $_SESSION['userauthorized']);
285 if ($_REQUEST['dispensed']) {
286 $query = "SELECT * from form_eye_mag_dispense where pid =? ORDER BY date DESC";
287 $dispensed = sqlStatement($query, array($_REQUEST['pid']));
288 ?><html>
289 <title><?php echo xlt('Rx Dispensed History'); ?></title>
290 <head>
292 <?php Header::setupHeader(['opener', 'pure', 'jscolor']); ?>
294 <link rel="stylesheet" href="../../forms/<?php echo $form_folder; ?>/css/style.css" type="text/css">
296 <style>
297 .title {
298 font-size:1em;
299 position:absolute;
300 right:10px;
301 top:30px;
302 font-size: 1em;
304 .refraction {
305 width:95%;
306 display: -moz-stack;
307 vertical-align: middle;
308 min-height:unset;
310 .refraction td {
311 text-align:center;
312 font-size:12px;
313 width:0.9in;
314 vertical-align: text-middle;
315 text-decoration: unset;
317 table {
318 font-size: 1.0em;
319 padding: 12px;
320 color: black;
321 vertical-align: text-top;
324 input[type=text] {
325 text-align: center;
326 width: 60px;
329 .refraction b {
330 font-weight: bold;
333 .refraction td.right {
334 text-align: right;
335 text-decoration: unset;
336 width: 0.7in;
337 vertical-align: middle; font-size:12px;
340 .refraction td.left {
341 vertical-align: middle;
342 text-align: left;
343 font-size:12px;
346 .right {
347 text-align: right;
348 vertical-align: middle;}
350 .left {
351 vertical-align: middle;
352 text-align: left;
355 .title {
356 font-size: 0.9em;
357 font-weight: normal;
360 .bold {
361 font-weight: 600;
364 input {
365 width: 60px;
368 input[type="radio"] {
369 width: 15px;
371 .underline {
372 text-decoration:underline !important
374 #CTLODQUANTITY, #CTLOSQUANTITY {
375 width: 300px;
377 </style>
378 <script language="JavaScript">
379 <?php
380 require_once("$srcdir/restoreSession.php"); ?>
382 function delete_me(delete_id) {
383 top.restoreSession();
384 var url = "../../forms/eye_mag/SpectacleRx.php";
385 $.ajax({
386 type: 'POST',
387 url: url,
388 data: {
389 mode: 'remove',
390 delete_id: delete_id,
391 dispensed: '1'
392 } // our data object
393 }).done(function (o) {
394 $('#RXID_' + delete_id).hide();
395 alert(o);
399 </script>
400 </head>
401 <?php echo report_header($pid, "web"); ?>
402 <div class="row">
403 <div class="col-sm-8 offset-sm-2 text-center m-3">
404 <table>
405 <tr>
406 <td colspan="2"><h4 class="underline"><?php echo xlt('Rx History'); ?></h4></td>
407 </tr>
408 <?php
409 if (sqlNumRows($dispensed) == 0) {
410 echo "<tr><td colspan='2' class='text-center p-3' style='font-size:1.2em;'>" . xlt('There are no Glasses or Contact Lens Presciptions on file for this patient') . "</td></tr>";
413 </table>
414 <?php
415 while ($row = sqlFetchArray($dispensed)) {
416 $i++;
417 $Single = '';
418 $Bifocal = '';
419 $Trifocal = '';
420 $Progressive = '';
421 if ($row['RXTYPE'] == "Single") {
422 $Single = "checked='checked'";
425 if ($row['RXTYPE'] == "Bifocal") {
426 $Bifocal = "checked='checked'";
429 if ($row['RXTYPE'] == "Trifocal") {
430 $Trifocal = "checked='checked'";
433 if ($row['RXTYPE'] == "Progressive") {
434 $Progressive = "checked='checked'";
437 $row['date'] = oeFormatShortDate(date('Y-m-d', strtotime($row['date'])));
438 if ($row['REFTYPE'] == "CTL") {
439 $expir = date("Y-m-d", strtotime($CTL_expir, strtotime($row['REFDATE'])));
440 } else {
441 $expir = date("Y-m-d", strtotime($RX_expir, strtotime($row['REFDATE'])));
443 $expir_date = oeFormatShortDate($expir);
444 $row['REFDATE'] = oeFormatShortDate($row['REFDATE']);
447 <div class="position-relative text-center mt-2 mb-2 mx-auto" id="RXID_<?php echo attr($row['id']); ?>">
448 <i class="float-right fas fa-times"
449 onclick="delete_me('<?php echo attr(addslashes($row['id'])); ?>');"
450 title="<?php echo xla('Remove this Prescription from the list of RXs dispensed'); ?>"></i>
451 <div class="table-responsive">
452 <table class="table mt-1 mb-1 mx-auto">
453 <tr>
454 <td class="text-right align-middle font-weight-bold" style="width:250px;">
455 <?php echo xlt('RX Print Date'); ?>:
456 </td>
457 <td>&nbsp;&nbsp;<?php echo text($row['date']); ?></td>
458 </tr>
459 <tr>
460 <td class="text-right align-middle font-weight-bold">
461 <?php echo xlt('Visit Date'); ?>:
462 </td>
463 <td>&nbsp;&nbsp;<?php echo text($row['REFDATE']); ?></td>
464 </tr>
465 <tr>
466 <td class="text-right align-middle font-weight-bold">
467 <?php echo xlt('Expiration Date'); ?>:
468 </td>
469 <td>&nbsp;&nbsp;<?php echo text($expir_date); ?></td>
470 </tr>
472 <tr>
473 <td class="text-right align-middle font-weight-bold"><?php echo xlt('Refraction Method'); ?>:</td>
474 <td>&nbsp;&nbsp;<?php
475 if ($row['REFTYPE'] == "W") {
476 echo xlt('Duplicate Rx -- unchanged from current Rx{{The refraction did not change, New Rx=old Rx}}');
477 } elseif ($row['REFTYPE'] == "CR") {
478 echo xlt('Cycloplegic (Wet) Refraction');
479 } elseif ($row['REFTYPE'] == "MR") {
480 echo xlt('Manifest (Dry) Refraction');
481 } elseif ($row['REFTYPE'] == "AR") {
482 echo xlt('Auto-Refraction');
483 } elseif ($row['REFTYPE'] == "CTL") {
484 echo xlt('Contact Lens');
485 } else {
486 echo $row['REFTYPE'];
487 } ?>
488 <input type="hidden" name="REFTYPE" value="<?php echo attr($row['REFTYPE']); ?>"/>
489 </td>
490 </tr>
491 <tr>
492 <td colspan="2" class="text-center"> <?php
493 if ($row['REFTYPE'] != "CTL") { ?>
494 <table id="SpectacleRx" name="SpectacleRx" class="refraction" style="top:0px;">
495 <tr class="font-weight-bold">
496 <td></td>
497 <td></td>
498 <td class="center font-weight-bold underline"><?php echo xlt('Sph{{Sphere}}'); ?></td>
499 <td class="center font-weight-bold underline"><?php echo xlt('Cyl{{Cylinder}}'); ?></td>
500 <td class="center font-weight-bold underline"><?php echo xlt('Axis{{Axis in a glasses prescription}}'); ?></td>
501 <td rowspan="5" class="text-right align-middle font-weight-bold underline" colspan="2"
502 style="min-width:100px;">
503 <?php echo xlt('Rx Type'); ?><br/><br/>
504 <?php echo xlt('Single'); ?>
505 <input type="radio" disabled <?php echo text($Single); ?>><br/>
506 <?php echo xlt('Bifocal'); ?>
507 <input type="radio" disabled <?php echo text($Bifocal); ?>><br/>
508 <?php echo xlt('Trifocal'); ?>
509 <input type="radio" disabled <?php echo text($Trifocal); ?>><br/>
510 <?php echo xlt('Prog.{{Progressive lenses}}'); ?>
511 <input type="radio" disabled <?php echo text($Progressive); ?>><br/>
512 </td>
513 </tr>
514 <tr>
515 <td class="font-weight-bold text-right" rowspan="2"><?php echo xlt('Distance'); ?></td>
516 <td class="font-weight-bold"><?php echo xlt('OD{{right eye}}'); ?></td>
517 <td><?php echo text($row['ODSPH']); ?></td>
518 <td><?php echo text($row['ODCYL']); ?></td>
519 <td><?php echo text($row['ODAXIS']); ?></td>
520 <td><?php echo text($row['ODPRISM']); ?></td>
521 </tr>
522 <tr>
523 <td class="font-weight-bold"><?php echo xlt('OS{{left eye}}'); ?></td>
524 <td><?php echo text($row['OSSPH']); ?></td>
525 <td><?php echo text($row['OSCYL']); ?></td>
526 <td><?php echo text($row['OSAXIS']); ?></td>
527 <td><?php echo text($row['OSPRISM']); ?></td>
528 </tr>
529 <tr class="NEAR">
530 <td class="text-nowrap" rowspan="2"><span class="font-weight-bold text-decoration-none"><?php echo xlt('ADD'); ?>
531 :<br/><?php echo xlt("Mid{{Middle segment in a trifocal glasses prescription}}"); ?>
532 /<?php echo xlt("Near"); ?></span></td>
533 <td class="font-weight-bold"><?php echo xlt('OD{{right eye}}'); ?></td>
534 <td class="WMid"><?php echo text($row['ODMIDADD']); ?></td>
535 <td class="WAdd2"><?php echo text($row['ODADD2']); ?></td>
536 </tr>
537 <tr class="NEAR">
538 <td class="font-weight-bold"><?php echo xlt('OS{{left eye}}'); ?></td>
539 <td class="WMid"><?php echo text($row['OSMIDADD']); ?></td>
540 <td class="WAdd2"><?php echo text($row['OSADD2']); ?></td>
541 </tr>
542 <tr>
543 <td colspan="2" class="up" class="font-weight-bold text-right align-top"
544 style="top:0px;"><?php echo xlt('Comments'); ?>
546 </td>
547 <td colspan="4" class="up text-left"></td>
548 <?php echo text($row['CRCOMMENTS']); ?>
549 </td>
550 </tr>
551 </table>
552 <?php
553 } else {
554 if (!empty($row['ODADD']) || !empty($row['OSADD'])) {
555 $adds = 1;
556 } else {
557 $adds = '';
560 <table id="CTLRx" name="CTLRx" class="refraction">
561 <tr>
562 <td colspan="4"
563 class="font-weight-bold text-left align-middle text-uppercase text-top" style="display: flex;
564 align-items:top"><u><?php echo xlt('Right Lens'); ?></u>
565 </td>
566 </tr>
567 <tr class="font-weight-bold underline">
568 <td></td>
569 <td><?php echo xlt('Sph{{Sphere}}'); ?></td>
570 <td><?php echo xlt('Cyl{{Cylinder}}'); ?></td>
571 <td><?php echo xlt('Axis{{Axis in a glasses prescription}}'); ?></td>
572 <td><?php echo xlt('BC{{Base Curve}}'); ?></td>
573 <td><?php echo xlt('Diam{{Diameter}}'); ?></td>
574 <?php
575 if ($adds) {
577 <td><?php echo xlt('ADD'); ?></td>
578 <?php }
580 </tr>
581 <tr>
582 <td></td>
583 <td><?php echo text($row['ODSPH']); ?></td>
584 <td><?php echo text($row['ODCYL']); ?></td>
585 <td><?php echo text($row['ODAXIS']); ?></td>
586 <td><?php echo text($row['ODBC']); ?></td>
587 <td><?php echo text($row['ODDIAM']); ?></td>
588 <?php
589 if ($adds) {
591 <td><?php echo text($row['ODADD']); ?></td>
592 <?php } ?>
593 </tr>
594 <tr>
595 <td colspan="2" class="text-right align-middle font-weight-bold">
596 <?php echo xlt('Brand'); ?>: <br />
597 <?php echo xlt('Quantity'); ?>: <br />
598 <?php echo xlt('Supplier'); ?>: </td>
599 <td colspan="5" class="text-left align-middle align-middle align-top" style="padding-left:10px;">
600 <?php echo text($row['CTLBRANDOD']); ?>
601 <?php
602 if (!empty($row['CTLMANUFACTUREROD'])) {
603 echo "(" . text($row['CTLMANUFACTUREROD']) . ")";
604 } ?>
605 <br />
606 <?php echo text($row['CTLODQUANTITY']); ?><br />
607 <?php echo text($row['CTLSUPPLIEROD']); ?>
608 </td>
609 </tr>
610 <tr>
611 <td colspan="7">
612 <hr />
613 </td>
614 </tr>
615 <tr>
616 <td colspan="4"
617 class="font-weight-bold text-left align-middle text-uppercase text-top d-flex align-items-start">
618 <u><?php echo xlt('Left Lens'); ?></u>
619 </td>
620 </tr>
621 <tr class="font-weight-bold underline">
622 <td></td>
623 <td><?php echo xlt('Sph{{Sphere}}'); ?></td>
624 <td><?php echo xlt('Cyl{{Cylinder}}'); ?></td>
625 <td><?php echo xlt('Axis{{Axis in a glasses prescription}}'); ?></td>
626 <td><?php echo xlt('BC{{Base Curve}}'); ?></td>
627 <td><?php echo xlt('Diam{{Diameter}}'); ?></td>
628 <?php
629 if ($adds) {
631 <td><?php echo xlt('ADD'); ?></td>
632 <?php }
634 </tr>
635 <tr>
636 <td></td>
637 <td><?php echo text($row['OSSPH']); ?></td>
638 <td><?php echo text($row['OSCYL']); ?></td>
639 <td><?php echo text($row['OSAXIS']); ?></td>
640 <td><?php echo text($row['OSBC']); ?></td>
641 <td><?php echo text($row['OSDIAM']); ?></td>
642 <?php
643 if ($adds) {
645 <td><?php echo text($row['OSADD']); ?></td>
646 <?php
647 } ?>
648 </tr>
649 <tr>
650 <td colspan="2" class="text-right align-middle font-weight-bold">
651 <?php echo xlt('Brand'); ?>: <br />
652 <?php echo xlt('Quantity'); ?>: <br />
653 <?php echo xlt('Supplier'); ?>: </td>
654 <td colspan="5" class="text-left align-middle align-top" style="padding-left:10px;"><?php echo text($row['CTLBRANDOS']); ?>
655 <?php
656 if (!empty($row['CTLMANUFACTUREROS'])) {
657 echo "(" . text($row['CTLMANUFACTUREROS']) . ")";
658 } ?>
659 <br />
660 <?php echo text($row['CTLOSQUANTITY']); ?><br />
661 <?php echo text($row['CTLSUPPLIEROS']); ?>
662 </td>
663 </tr>
664 <?php if (!empty($row['COMMENTS'])) { ?>
665 <tr><td colspan="7"><hr /></td></tr>
666 <tr>
667 <td colspan="3" class="font-weight-bold text-right align-middle"><?php echo xlt('Comments'); ?>:
668 </td>
669 <td colspan="3" class="text-left align-middle" style="padding-left:10px;top:0px;">
670 <?php echo text($row['COMMENTS']); ?>
671 </td>
672 </tr>
673 <?php } ?>
674 </table>
676 <?php
677 } ?>
678 </td>
679 </tr>
680 </table>
681 </div>
682 <hr>
684 </div>
685 <?php
686 } ?>
687 </div>
688 </div>
689 </body>
690 </html>
691 <?php
692 exit;
695 ob_start();
697 <html>
698 <head>
699 <?php Header::setupHeader([ 'opener', 'jquery-ui', 'jquery-ui-redmond', 'pure', 'jscolor' ]); ?>
700 <link rel="stylesheet" href="../../forms/<?php echo $form_folder; ?>/css/style.css">
702 <style>
703 .title {
704 font-size:1em;
705 position:absolute;
706 right:10px;
707 top:30px;
708 font-size: 1em;
710 .refraction {
711 width:95%;
712 display: -moz-stack;
713 vertical-align: middle;
714 min-height:unset;
716 .refraction td {
717 text-align:center;
718 font-size:12px;
719 padding:5;
720 width:0.35in;
721 vertical-align: text-middle;
722 text-decoration: unset;
724 table {
725 font-size: 1.0em;
726 padding: 12px;
727 color: black;
728 vertical-align: text-top;
731 input[type=text] {
732 text-align: center;
733 width: 60px;
734 padding: 0.2em 0.4em !important;
737 .refraction b {
738 font-weight: bold;
741 .refraction td.right {
742 text-align: right;
743 text-decoration: unset;
744 width: 0.7in;
745 vertical-align: middle; font-size:12px;
748 .refraction td.left {
749 vertical-align: middle;
750 text-align: left;
751 font-size:12px;
754 .right {
755 text-align: right;
756 vertical-align: middle;}
758 .left {
759 vertical-align: middle;
760 text-align: left;
763 .title {
764 font-size: 0.9em;
765 font-weight: normal;
768 .bold {
769 font-weight: 600;
772 input {
773 width: 60px;
776 input[type="radio"] {
777 width: 15px;
779 .underline {
780 text-decoration:underline !important
782 #CTLODQUANTITY, #CTLOSQUANTITY {
783 width: 300px;
784 text-align: left;
785 padding-left: 10px !important;
787 hr {
788 margin:1px;
790 label {
791 font-size:12px;
794 </style>
795 <!-- jQuery library -->
797 <script language="JavaScript">
798 <?php require_once("$srcdir/restoreSession.php"); ?>
799 function pick_rxType(rxtype, id) {
800 var url = "../../forms/eye_mag/SpectacleRx.php";
801 var formData = {
802 'RXTYPE': rxtype,
803 'id': id
805 top.restoreSession();
806 $.ajax({
807 type: 'POST',
808 url: url,
809 data: formData
811 if (rxtype == 'Trifocal') {
812 $("[name$='MIDADD']").show();
813 $("[name$='ADD2']").show();
814 } else if (rxtype == 'Bifocal') {
815 $("[name$='MIDADD']").hide().val('');
816 $("[name$='ADD2']").show();
817 } else if (rxtype == 'Progressive') {
818 $("[name$='MIDADD']").hide().val('');
819 $("[name$='ADD2']").show();
820 } else if (rxtype == "Single") {
821 $("[name$='MIDADD']").hide().val('');
822 $("[name$='ADD2']").hide().val('');
826 function submit_form() {
827 var url = "../../forms/eye_mag/SpectacleRx.php?mode=update";
828 formData = $("form#Spectacle").serialize();
829 top.restoreSession();
830 $.ajax({
831 type: 'POST',
832 url: url,
833 data: formData
837 //add sph and cyl, flip cyl sign, rotate axis 90.
838 function reverse_cylinder() {
839 var Rsph = $('#ODSPH').val();
840 var Rcyl = $('#ODCYL').val();
841 var Raxis = $('#ODAXIS').val();
842 var Lsph = $('#OSSPH').val();
843 var Lcyl = $('#OSCYL').val();
844 var Laxis = $('#OSAXIS').val();
845 if (Rsph == '' && Rcyl == '' && Lsph == '' && lcyl == '') return;
846 if ((!Rcyl.match(/SPH/i)) && (Rcyl > '')) {
847 if (Rsph.match(/plano/i)) Rsph = '0';
848 Rsph = Number(Rsph);
849 Rcyl = Number(Rcyl);
850 Rnewsph = Rsph + Rcyl;
851 if (Rnewsph == 0) Rnewsph = "PLANO";
852 Rnewcyl = Rcyl * -1;
853 if (Rnewcyl > 0) Rnewcyl = "+" + Rnewcyl;
854 if (parseInt(Raxis) < 90) {
855 Rnewaxis = parseInt(Raxis) + 90;
856 } else {
857 Rnewaxis = parseInt(Raxis) - 90;
859 if (Rnewcyl == '0') Rnewcyl = "SPH";
860 if (Rnewsph == '0') {
861 Rnewsph = "PLANO";
862 if (Rnewcyl == "SPH") Rnewcyl = '';
864 $("#ODSPH").val(Rnewsph);
865 $("#ODCYL").val(Rnewcyl);
866 $("#ODAXIS").val(Rnewaxis);
867 $('#ODAXIS').trigger('blur');
868 $('#ODSPH').trigger('blur');
869 $('#ODCYL').trigger('blur');
871 if ((!Lcyl.match(/SPH/i)) && (Lcyl > '')) {
872 if (!Lsph.match(/\d/)) Lsph = '0';
873 Lsph = Number(Lsph);
874 Lcyl = Number(Lcyl);
875 Lnewsph = Lsph + Lcyl;
876 Lnewcyl = Lcyl * -1;
877 if (Lnewcyl > 0) Lnewcyl = "+" + Lnewcyl;
878 if (parseInt(Laxis) < 90) {
879 Lnewaxis = parseInt(Laxis) + 90;
880 } else {
881 Lnewaxis = parseInt(Laxis) - 90;
884 if (Lnewcyl == '0') Lnewcyl = "SPH";
885 if (Lnewsph == '0') {
886 Lnewsph = "PLANO";
887 if (Lnewcyl == "SPH") Lnewcyl = '';
890 $("#OSSPH").val(Lnewsph);
891 $("#OSCYL").val(Lnewcyl);
892 $("#OSAXIS").val(Lnewaxis);
893 $('#OSAXIS').trigger('blur');
894 $('#OSSPH').trigger('blur');
895 $('#OSCYL').trigger('blur');
898 </script>
899 </head>
900 <body>
901 <?php echo report_header($pid, "web"); ?>
902 <br/><br/>
903 <?php
904 if ($REFTYPE == "CTL") {
905 $expir = date("Y-m-d", strtotime($CTL_expir, strtotime($data['date'])));
906 } else {
907 $expir = date("Y-m-d", strtotime($RX_expir, strtotime($data['date'])));
909 $expir_date = oeFormatShortDate($expir);
911 <p><span class="font-weight-bold"><?php echo xlt('Expiration Date'); ?>: </span>
912 &nbsp;&nbsp; <?php echo text($expir_date); ?>
913 </p>
915 <form method="post" action="<?php echo $rootdir; ?>/forms/<?php echo text($form_folder); ?>/SpectacleRx.php?mode=update"
916 id="Spectacle" class="eye_mag pure-form text-center" name="Spectacle">
917 <!-- start container for the main body of the form -->
918 <input type="hidden" name="REFDATE" id="REFDATE" value="<?php echo attr($data['date']); ?>">
919 <input type="hidden" name="RXTYPE" id="RXTYPE" value="<?php echo attr($RXTYPE); ?>">
920 <input type="hidden" name="REFTYPE" value="<?php echo attr($REFTYPE); ?>"/>
921 <input type="hidden" name="pid" id="pid" value="<?php echo attr($pid); ?>">
922 <input type="hidden" name="id" id="id" value="<?php echo attr($insert_this_id); ?>">
923 <input type="hidden" name="encounter" id="encounter" value="<?php echo attr($encounter); ?>">
925 <div style="width: 650px;">
926 <table class="mx-auto">
927 <tr>
928 <td>
929 <?php
930 if ($REFTYPE != "CTL") { ?>
931 <table id="SpectacleRx" name="SpectacleRx" class="refraction bordershadow"
932 style="min-width:610px;top:0px;">
933 <tr class="font-weight-bold text-center">
934 <td><i name="reverse" id="reverse" class="fa fa-gamepad fa-2x"></i></td>
935 <td></td>
936 <td><?php echo xlt('Sph{{Sphere}}'); ?></td>
937 <td><?php echo xlt('Cyl{{Cylinder}}'); ?></td>
938 <td><?php echo xlt('Axis{{Axis of a glasses prescription}}'); ?></td>
939 <td rowspan="5" class="text-right align-middle font-weight-bold" colspan="1" >
940 <span class="font-weight-bold underline"><?php echo xlt('Rx Type'); ?></span>
941 <br/><br/>
942 <span id="SingleVision_span" name="SingleVision_span">
943 <label for="RXTYPE_Single"><?php echo xlt('Single'); ?></label>
944 <input type="radio"
945 onclick="pick_rxType('Single',<?php echo attr_js($insert_this_id); ?>);"
946 value="Single" id="RXTYPE_Single" name="RXTYPE"
947 <?php echo attr($Single); ?> />
948 </span>
949 <br/>
950 <span id="Bifocal_span" name="Bifocal_span">
951 <label for="RXTYPE_Bifocal"><?php echo xlt('Bifocal'); ?></label>
952 <input type="radio"
953 onclick="pick_rxType('Bifocal',<?php echo attr_js($insert_this_id); ?>);"
954 value="Bifocal" id="RXTYPE_Bifocal" name="RXTYPE" <?php echo attr($Bifocal); ?> />
955 </span>
956 <br/>
957 <span id="Trifocal_span" name="Trifocal_span">
958 <label for="RXTYPE_Trifocal"><?php echo xlt('Trifocal'); ?></label>
959 <input type="radio"
960 onclick="pick_rxType('Trifocal',<?php echo attr_js($insert_this_id); ?>);"
961 value="Trifocal" id="RXTYPE_Trifocal"
962 name="RXTYPE" <?php echo attr($Trifocal); ?>>
963 </span>
964 <br/>
965 <span id="Progressive_span">
966 <label for="RXTYPE_Progressive">
967 <?php echo xlt('Prog.{{Progressive lenses}}'); ?>
968 </label>
969 <input type="radio"
970 onclick="pick_rxType('Progressive',<?php echo attr_js($insert_this_id); ?>);"
971 value="Progressive" id="RXTYPE_Progressive"
972 name="RXTYPE" <?php echo attr($Progressive); ?>>
973 </span>
974 <br/>
975 </td>
976 <td></td>
977 </tr>
978 <tr class="center">
979 <td rowspan="2" colspan="1" class="text-right align-middle font-weight-bold"><?php echo xlt('Distance'); ?>: </td>
980 <td class="text-right align-middle font-weight-bold"><?php echo xlt('OD{{right eye}}'); ?></td>
981 <td><input type="text" id="ODSPH" name="ODSPH" value="<?php echo attr($ODSPH); ?>"></td>
982 <td><input type="text" id="ODCYL" name="ODCYL" value="<?php echo attr($ODCYL); ?>"></td>
983 <td><input type="text" id="ODAXIS" name="ODAXIS" value="<?php echo attr($ODAXIS); ?>">
984 </td>
985 </tr>
986 <tr class="center">
987 <td name="W_wide" class="text-right align-middle font-weight-bold"><?php echo xlt('OS{{left eye}}'); ?></td>
988 <td><input type="text" id="OSSPH" name="OSSPH" value="<?php echo attr($OSSPH); ?>"></td>
989 <td><input type="text" id="OSCYL" name="OSCYL" value="<?php echo attr($OSCYL); ?>"></td>
990 <td><input type="text" id="OSAXIS" name="OSAXIS" value="<?php echo attr($OSAXIS); ?>">
991 </td>
992 </tr>
993 <tr class="NEAR center">
994 <td rowspan="2" colspan="1" class="text-right align-middle font-weight-bold text-nowrap"><?php echo xlt('ADD'); ?>:<br/>
995 <?php echo xlt("Mid{{Middle segment in a trifocal glasses prescription}}"); ?>
996 /<?php echo xlt("Near"); ?></td>
997 <td class="text-right align-middle font-weight-bold"><?php echo xlt('OD{{right eye}}'); ?></td>
998 <td name="COLADD1"><input type="text" id="ODMIDADD" name="ODMIDADD"
999 value="<?php echo attr($ODMIDADD); ?>"></td>
1000 <td class="WAdd2"><input type="text" id="ODADD2" name="ODADD2"
1001 value="<?php echo attr($ODADD2); ?>"></td>
1002 </tr>
1003 <tr class="NEAR center">
1004 <td class="text-right align-middle font-weight-bold"><?php echo xlt('OS{{left eye}}'); ?></td>
1005 <td name="COLADD1">
1006 <input type="text" id="OSMIDADD" name="OSMIDADD" value="<?php echo attr($OSMIDADD); ?>"></td>
1007 <td class="WAdd2">
1008 <input type="text" id="OSADD2" name="OSADD2" value="<?php echo attr($OSADD2); ?>"></td>
1009 </tr>
1010 <tr>
1011 <td colspan="2" class="center font-weight-bold"><?php echo xlt('Comments'); ?>: </td>
1012 <td colspan="4">
1013 <textarea class="w-100" style="height:3em;" id="CRCOMMENTS"
1014 name="CRCOMMENTS"><?php echo text($COMMENTS); ?></textarea>
1015 </td>
1016 </tr>
1017 <!-- start Dispense data -->
1018 <tr class="header closeButton">
1019 <td colspan="9" class="right">
1020 <span><?php
1021 if (
1022 $ODHPD || $ODHBASE || $ODVPD || $ODVBASE || $ODSLABOFF || $ODVERTEXDIST ||
1023 $OSHPD || $OSHBASE || $OSVPD || $OSVBASE || $OSSLABOFF || $OSVERTEXDIST ||
1024 $ODMPDD || $ODMPDN || $OSMPDD || $OSMPDN || $BPDD || $BPDN ||
1025 $LENS_MATERIAL || $LENS_TREATMENTS
1027 $detailed = '1';
1028 ?><i class="fa fa-minus-square-o"></i><?php
1029 } else {
1030 $detailed = '0';
1031 ?><i class="fa fa-plus-square-o"></i><?php
1034 </span>
1035 </td>
1036 </tr>
1037 <tr>
1038 <td colspan="7">
1039 <hr/>
1040 </td>
1041 </tr>
1042 <tr class="dispense_data" style="font-weight:bold;text-align:center;">
1043 <td name="W_wide" colspan="1"></td>
1044 <td name="W_wide"
1045 title="<?php echo xla('Horizontal Prism Power'); ?>"><?php echo xlt('Horiz Prism{{abbreviation for Horizontal Prism Power}}'); ?></td>
1046 <td name="W_wide"
1047 title="<?php echo xla('Horizontal Prism Base'); ?>"><?php echo xlt('Horiz Base{{abbreviation for Horizontal Prism Base}}'); ?></td>
1048 <td name="W_wide"
1049 title="<?php echo xla('Vertical Prism Power'); ?>"><?php echo xlt('Vert Prism{{abbreviation for Vertical Prism Power}}'); ?></td>
1050 <td name="W_wide"
1051 title="<?php echo xla('Vertical Prism Base'); ?>"><?php echo xlt('Vert Base{{abbreviation for Vertical Prism Base}}'); ?></td>
1052 <td name="W_wide"
1053 title="<?php echo xla('Slab Off'); ?>"><?php echo xlt('Slab Off'); ?></td>
1054 <td name="W_wide"
1055 title="<?php echo xla('Vertex Distance'); ?>"><?php echo xlt('Vert Distance{{abbreviation for Vertex Distance}}'); ?></td>
1056 </tr>
1057 <tr class="dispense_data">
1058 <td name="W_wide" style="text-align:right;font-weight:bold;"
1059 colspan="1"><?php echo xlt('OD{{right eye}}'); ?></td>
1060 <td name="W_wide"><input type="text" class="prism" id="ODHPD" name="ODHPD"
1061 value="<?php echo attr($ODHPD); ?>"></td>
1062 <td name="W_wide"><input type="text" class="prism" id="ODHBASE" name="ODHBASE"
1063 value="<?php echo attr($ODHBASE); ?>"></td>
1064 <td name="W_wide"><input type="text" class="prism" id="ODVPD" name="ODVPD"
1065 value="<?php echo attr($ODVPD); ?>"></td>
1066 <td name="W_wide"><input type="text" class="prism" id="ODVBASE" name="ODVBASE"
1067 value="<?php echo attr($ODVBASE); ?>"></td>
1068 <td name="W_wide"><input type="text" class="prism" id="ODSLABOFF" name="ODSLABOFF"
1069 value="<?php echo attr($ODSLABOFF); ?>"></td>
1070 <td name="W_wide"><input type="text" class="prism" id="ODVERTEXDIST" name="ODVERTEXDIST"
1071 value="<?php echo attr($ODVERTEXDIST); ?>"></td>
1072 </tr>
1073 <tr class="dispense_data">
1074 <td name="W_wide" style="text-align:right;font-weight:bold;"
1075 colspan="1"><?php echo xlt('OS{{left eye}}'); ?></td>
1076 <td name="W_wide"><input type="text" class="prism" id="OSHPD" name="OSHPD"
1077 value="<?php echo attr($OSHPD); ?>"></td>
1078 <td name="W_wide"><input type="text" class="prism" id="OSHBASE" name="OSHBASE"
1079 value="<?php echo attr($OSHBASE); ?>"></td>
1080 <td name="W_wide"><input type="text" class="prism" id="OSVPD" name="OSVPD"
1081 value="<?php echo attr($OSVPD); ?>"></td>
1082 <td name="W_wide"><input type="text" class="prism" id="OSVBASE" name="OSVBASE"
1083 value="<?php echo attr($OSVBASE); ?>"></td>
1084 <td name="W_wide"><input type="text" class="prism" id="OSSLABOFF" name="OSSLABOFF"
1085 value="<?php echo attr($OSSLABOFF); ?>"></td>
1086 <td name="W_wide"><input type="text" class="prism" id="OSVERTEXDIST" name="OSVERTEXDIST"
1087 value="<?php echo attr($OSVERTEXDIST); ?>"></td>
1088 </tr>
1089 <tr class="dispense_data">
1090 <td colspan="7" class="center">
1091 <hr/>
1092 </td>
1093 </tr>
1094 <tr class="dispense_data" style="font-weight:bold;text-align:center;">
1095 <td></td>
1096 <td name="W_wide"
1097 title="<?php echo xla('Monocular Pupillary Diameter - Distance'); ?>"><?php echo xlt('MPD-D{{abbreviation for Monocular Pupillary Diameter - Distance}}'); ?></td>
1098 <td name="W_wide"
1099 title="<?php echo xla('Monocular Pupillary Diameter - Near'); ?>"><?php echo xlt('MPD-N{{abbreviation for Monocular Pupillary Diameter - Near}}'); ?></td>
1100 <td name="W_wide"
1101 title="<?php echo xla('Binocular Pupillary Diameter - Distance'); ?>"><?php echo xlt('BPD-D{{abbreviation for Binocular Pupillary Diameter - Distance}}'); ?></td>
1102 <td name="W_wide"
1103 title="<?php echo xla('Binocular Pupillary Diameter - Near'); ?>"><?php echo xlt('BPD-N{{abbreviation for Binocular Pupillary Diameter - Near}}'); ?></td>
1105 <td colspan="2">Lens Material:</td>
1106 </tr>
1107 <tr>
1108 <td name="W_wide" style="text-align:right;font-weight:bold;"
1109 colspan="1"><?php echo xlt('OD{{right eye}}'); ?></td>
1110 <td name="W_wide"><input type="text" class="prism" id="ODMPDD" name="ODMPDD"
1111 value="<?php echo attr($ODMPDD); ?>"></td>
1112 <td name="W_wide"><input type="text" class="prism" id="ODMPDN" name="ODMPDN"
1113 value="<?php echo attr($ODMPDN); ?>"></td>
1114 <td name="W_wide" rowspan="2" style="vertical-align:middle;"><input type="text"
1115 class="prism"
1116 id="BPDD"
1117 name="BPDD"
1118 value="<?php echo attr($BPDD); ?>">
1119 </td>
1120 <td name="W_wide" rowspan="2" style="vertical-align:middle;"><input type="text"
1121 class="prism"
1122 id="BPDN"
1123 name="BPDN"
1124 value="<?php echo attr($BPDN); ?>">
1125 </td>
1126 <td colspan="2"> <?php
1127 echo generate_select_list("LENS_MATERIAL", "Eye_Lens_Material", "$LENS_MATERIAL", '', ' ', '', 'restoreSession;submit_form();', '', array('style' => 'width:120px'));
1129 </td>
1130 </tr>
1131 <tr>
1132 <td name="W_wide" style="text-align:right;font-weight:bold;"
1133 colspan="1"><?php echo xlt('OS{{left eye}}'); ?></td>
1134 <td name="W_wide"><input type="text" class="prism" id="OSMPDD" name="OSMPDD"
1135 value="<?php echo attr($OSMPDD); ?>"></td>
1136 <td name="W_wide"><input type="text" class="prism" id="OSMPDN" name="OSMPDN"
1137 value="<?php echo attr($OSMPDN); ?>"></td>
1138 </tr>
1139 <tr style="font-weight:bold;text-align:center;">
1140 <td colspan="3"><?php echo xlt('Lens Treatments'); ?>
1141 </td>
1142 </tr>
1143 <tr style="text-align:left;vertical-align:top;">
1144 <td colspan="4" class="bold left">
1145 <?php echo generate_lens_treatments($W, $LENS_TREATMENTS); ?>
1146 </td>
1147 </tr>
1148 </table>&nbsp;<br/><br/><br/>
1149 <?php
1150 } else {
1151 if (!empty($ODADD) || !empty($OSADD)) {
1152 $adds = 1;
1153 } else {
1154 $adds = '';
1157 <table id="CTLRx" name="CTLRx" class="refraction bordershadow">
1158 <tr class="bold center">
1159 <td class="right bold underline"><?php echo xlt('Right Lens'); ?></td>
1160 </tr>
1161 <tr>
1162 <td colspan="2" class="right bold text-uppercase"><?php echo xlt('Brand'); ?>:</td>
1163 <td colspan="4" class="left"><?php echo text($CTLBRANDOD); ?> <?php if ($CTLMANUFACTUREROD) {
1164 echo "(" . text($CTLMANUFACTUREROD) . ")";} ?></td>
1165 </tr>
1166 <tr class="bold">
1167 <td><?php echo xlt('SPH{{Sphere}}'); ?></td>
1168 <td><?php echo xlt('CYL{{Cylinder}}'); ?></td>
1169 <td><?php echo xlt('AXIS{{Axis of a glasses prescription}}'); ?></td>
1170 <td><?php echo xlt('BC{{Base Curve}}'); ?></td>
1171 <td><?php echo xlt('DIAM{{Diameter}}'); ?></td>
1172 <?php
1173 if ($adds) {
1175 <td><?php echo xlt('ADD{{Bifocal Add}}'); ?></td>
1176 <?php } ?>
1177 </tr>
1178 <tr>
1179 <td><input type=text id="CTLODSPH" name="CTLODSPH" value="<?php echo attr($ODSPH); ?>">
1180 </td>
1181 <td><input type=text id="CTLODCYL" name="CTLODCYL" value="<?php echo attr($ODCYL); ?>">
1182 </td>
1183 <td><input type=text id="CTLODAXIS" name="CTLODAXIS"
1184 value="<?php echo attr($ODAXIS); ?>"></td>
1185 <td><input type=text id="CTLODBC" name="CTLODBC" value="<?php echo attr($ODBC); ?>">
1186 </td>
1187 <td><input type=text id="CTLODDIAM" name="CTLODDIAM"
1188 value="<?php echo attr($ODDIAM); ?>"></td>
1189 <?php
1190 if ($adds) {
1192 <td><input type=text id="CTLODADD" name="CTLODADD" value="<?php echo attr($ODADD); ?>">
1193 </td>
1194 <?php } ?>
1195 </tr>
1196 <tr>
1197 <td colspan="2" class="right bold text-uppercase"><?php echo xlt('Quantity:'); ?></td>
1198 <td colspan="4" class="left"><input id="CTLODQUANTITY" name="CTLODQUANTITY" value="<?php echo attr($CTLODQUANTITY); ?>" type="text" class="left" /></td>
1199 </tr>
1200 <tr>
1201 <td colspan="7">
1202 <hr />
1203 </td>
1204 </tr>
1205 <tr>
1206 <td class="right bold large underline"><?php echo xlt('Left Lens'); ?></td>
1207 </tr>
1208 <tr>
1209 <td colspan="2" class="right bold text-uppercase"><?php echo xlt('Brand'); ?>:</td>
1210 <td colspan="4" class="left"><?php echo text($CTLBRANDOS); ?> <?php if ($CTLMANUFACTUREROS) {
1211 echo "(" . text($CTLMANUFACTUREROS) . ")";} ?></td>
1212 </tr>
1213 <tr class="bold" style="line-height:0.3em;font-size:0.6em;">
1214 <td><?php echo xlt('SPH{{Sphere}}'); ?></td>
1215 <td><?php echo xlt('CYL{{Cylinder}}'); ?></td>
1216 <td><?php echo xlt('AXIS{{Axis of a glasses prescription}}'); ?></td>
1217 <td><?php echo xlt('BC{{Base Curve}}'); ?></td>
1218 <td><?php echo xlt('DIAM{{Diameter}}'); ?></td>
1219 <?php
1220 if ($adds) {
1222 <td><?php echo xlt('ADD{{Bifocal Add}}'); ?></td>
1223 <?php } ?>
1224 </tr>
1225 <tr>
1226 <td><input type=text id="CTLOSSPH" name="CTLOSSPH" value="<?php echo attr($OSSPH); ?>">
1227 </td>
1228 <td><input type=text id="CTLOSCYL" name="CTLOSCYL" value="<?php echo attr($OSCYL); ?>">
1229 </td>
1230 <td><input type=text id="CTLOSAXIS" name="CTLOSAXIS"
1231 value="<?php echo attr($OSAXIS); ?>"></td>
1232 <td><input type=text id="CTLOSBC" name="CTLOSBC" value="<?php echo attr($OSBC); ?>">
1233 </td>
1234 <td><input type=text id="CTLOSDIAM" name="CTLOSDIAM"
1235 value="<?php echo attr($OSDIAM); ?>"></td>
1236 <?php
1237 if ($adds) {
1239 <td><input type=text id="CTLOSADD" name="CTLOSADD" value="<?php echo attr($OSADD); ?>"></td>
1240 <?php } ?>
1241 </tr>
1242 <tr>
1243 <td colspan="2" class="right bold text-uppercase"><?php echo xlt('Quantity:'); ?></td>
1244 <td colspan="4" class="left"><input id="CTLOSQUANTITY" name="CTLOSQUANTITY" value="<?php echo attr($CTLOSQUANTITY); ?>" type="text" class="left" /></td>
1245 </tr>
1247 <?php if ($CTL_COMMENTS > '') { ?>
1248 <tr>
1249 <td colspan="7">
1250 <hr />
1251 </td>
1252 </tr>
1253 <tr>
1254 <td class="right bold red" colspan="2"
1255 style="vertical-align:top;"><?php echo xlt('Comments'); ?>:</u></td>
1256 <td colspan="4" class="left">
1257 <textarea cols="30" rows="4" id="COMMENTS" name="COMMENTS"><?php echo text($CTL_COMMENTS); ?></textarea>
1258 </td>
1259 </tr>
1260 <?php } ?>
1261 </table>
1262 <?php
1263 } ?>
1264 </td>
1265 </tr>
1266 <tr>
1267 <?php
1268 $signature = $GLOBALS["webserver_root"] . "/interface/forms/eye_mag/images/sign_" . attr($_SESSION['authUserID']) . ".jpg";
1269 if (file_exists($signature)) {
1271 <td class="center" style="margin:25px auto;">
1272 <span style="position:relative;padding-left:40px;">
1273 <img src='<?php echo $web_root; ?>/interface/forms/eye_mag/images/sign_<?php echo attr($_SESSION['authUserID']); ?>.jpg'
1274 style="width:240px;height:85px;border-block-end: 1pt solid black;margin:5px;"/>
1275 </span><br/>
1277 <?php
1278 } else {
1280 <td class="center">
1281 <hr style="border:solid 1px black;width:50%;margin:0.5in auto 0;" />
1282 <?php
1283 } ?>
1285 <?php echo xlt('Provider'); ?>
1286 : <?php echo text($prov_data['fname']); ?> <?php echo text($prov_data['lname']);
1287 if ($prov_data['suffix']) {
1288 echo ", " . $prov_data['suffix'];
1289 } ?><br/>
1290 <small><?php echo xlt('e-signed'); ?> <input type="checkbox" checked="checked"></small>
1291 </td>
1292 </tr>
1295 </table>
1296 </div>
1297 </form>
1299 </body>
1300 <script>
1301 $(function () {
1302 $('.header').click(function () {
1303 var $this = $(this);
1304 $(this).nextUntil('tr.header').slideToggle(100).promise().done(function () {
1305 $this.find('span').html(function (_, value) {
1306 return value == '<i class="fa fa-plus-square-o"></i>' ? '<i class="fa fa-minus-square-o"></i>' : '<i class="fa fa-plus-square-o"></i>';
1310 <?php
1311 if (!$detailed) {
1312 echo "$('.header').trigger('click');";
1313 } ?>
1315 $("input[name$='PD']").blur(function () {
1316 //make it all caps
1317 var str = $(this).val();
1318 str = str.toUpperCase();
1319 $(this).val(str);
1321 $('input[name$="SPH"]').blur(function () {
1322 var mid = $(this).val();
1323 if (mid.match(/PLANO/i)) {
1324 $(this).val('PLANO');
1325 return;
1327 if (mid.match(/^[\+\-]?\d{1}$/)) {
1328 mid = mid + ".00";
1330 if (mid.match(/\.[27]$/)) {
1331 mid = mid + '5';
1333 if (mid.match(/\.\d$/)) {
1334 mid = mid + '0';
1336 //if near is +2. make it +2.00
1337 if (mid.match(/\.$/)) {
1338 mid = mid + '00';
1340 if ((!mid.match(/\./)) && (mid.match(00 | 25 | 50 | 75))) {
1341 var front = mid.match(/(\d{0,2})(00|25|50|75)/)[1];
1342 var back = mid.match(/(\d{0,2})(00|25|50|75)/)[2];
1343 if (front == '') front = '0';
1344 mid = front + "." + back;
1346 if (!mid.match(/\./)) {
1347 var front = mid.match(/([\+\-]?\d{0,2})(\d{2})/)[1];
1348 var back = mid.match(/(\d{0,2})(\d{2})/)[2];
1349 if (front == '') front = '0';
1350 if (front == '-') front = '-0';
1351 mid = front + "." + back;
1353 if (!mid.match(/^(\+|\-){1}/)) {
1354 mid = "+" + mid;
1356 $(this).val(mid);
1359 $("input[name$='ADD'],input[name$='ADD2']").blur(function () {
1360 var add = $(this).val();
1361 add = add.replace(/=/g, "+");
1362 //if add is one digit, eg. 2, make it +2.00
1363 if (add.match(/^\d{1}$/)) {
1364 add = "+" + add + ".00";
1366 //if add is '+'one digit, eg. +2, make it +2.00
1367 if (add.match(/^\+\d{1}$/)) {
1368 add = add + ".00";
1370 //if add is 2.5 or 2.0 make it 2.50 or 2.00
1371 if (add.match(/\.[05]$/)) {
1372 add = add + '0';
1374 //if add is 2.2 or 2.7 make it 2.25 or 2.75
1375 if (add.match(/\.[27]$/)) {
1376 add = add + '5';
1378 //if add is +2. make it +2.00
1379 if (add.match(/\.$/)) {
1380 add = add + '00';
1382 if ((!add.match(/\./)) && (add.match(/(0|25|50|75)$/))) {
1383 var front = add.match(/([\+]?\d{0,1})(00|25|50|75)/)[1];
1384 var back = add.match(/([\+]?\d{0,1})(00|25|50|75)/)[2];
1385 if (front == '') front = '0';
1386 add = front + "." + back;
1388 if (!add.match(/^(\+)/) && (add.length > 0)) {
1389 add = "+" + add;
1391 $(this).val(add);
1392 if (this.id == "ODADD2") $('#OSADD2').val(add);
1393 if (this.id == "ODMIDADD") $('#OSMIDADD').val(add);
1394 if (this.id == "CTLODADD") $('#CTLOSADD').val(add);
1397 $("input[name$='AXIS']").blur(function () {
1398 // Make this a 3 digit leading zeros number.
1399 // we are not translating text to numbers, just numbers to
1400 // a 3 digit format with leading zeroes as needed.
1401 // assume the end user KNOWS there are only numbers presented and
1402 // more than 3 digits is a mistake...
1403 // (although this may change with topographic answer)
1404 var axis = $(this).val();
1405 var group = this.name.replace("AXIS", "CYL");
1407 var cyl = $("#" + group).val();
1408 if ((cyl > '') && (cyl != 'SPH')) {
1409 if (!axis.match(/\d\d\d/)) {
1410 if (!axis.match(/\d\d/)) {
1411 if (!axis.match(/\d/)) {
1412 axis = '0';
1414 axis = '0' + axis;
1416 axis = '0' + axis;
1418 } else {
1419 axis = '';
1421 $(this).val(axis);
1423 $("[name$='CYL']").blur(function () {
1424 var mid = $(this).val();
1425 var group = this.name.replace("CYL", "SPH");
1427 var sphere = $("#" + group).val();
1428 if (((mid.length == 0) && (sphere.length > 0)) || (mid.match(/sph/i))) {
1429 $(this).val('SPH');
1430 var axis = this.name.replace("CYL", "AXIS");
1431 $("#" + axis).val('');
1432 return;
1433 } else if (sphere.length > 0) {
1434 if (mid.match(/^[\+\-]?\d{1}$/)) {
1435 mid = mid + ".00";
1437 if (mid.match(/^(\d)(\d)$/)) {
1438 mid = mid[0] + '.' + mid[1];
1440 //if mid is 2.5 or 2.0 make it 2.50 or 2.00
1441 if (mid.match(/\.[05]$/)) {
1442 mid = mid + '0';
1444 //if mid is 2.2 or 2.7 make it 2.25 or 2.75
1445 if (mid.match(/\.[27]$/)) {
1446 mid = mid + '5';
1448 //if mid is +2. make it +2.00
1449 if (mid.match(/\.$/)) {
1450 mid = mid + '00';
1452 if (mid.match(/([\+\-]?\d{0,2})\.?(00|25|50|75)/)) {
1453 var front = mid.match(/([\+\-]?\d{0,2})\.?(00|25|50|75)/)[1];
1454 var back = mid.match(/([\+\-]?\d{0,2})\.?(00|25|50|75)/)[2];
1455 if (front == '') front = '0';
1456 mid = front + "." + back;
1458 if (!mid.match(/^(\+|\-){1}/) && (sphere.length > 0)) {
1459 //Since it doesn't start with + or - then give it '+'
1460 mid = "+" + mid;
1462 $(this).val(mid);
1465 $("input,textarea,text,checkbox").change(function () {
1466 submit_form($(this));
1468 $("#reverse").click(function () {
1469 //alert('Start');
1470 reverse_cylinder('');
1471 //alert('Finish');
1474 $("input[name$='SPH'],input[name$='CYL']").on('keyup', function (e) {
1475 if (e.keyCode == '61' || e.keyCode == '74') {
1476 now = $(this).val();
1477 now = now.replace(/=/g, "+").replace(/^j/g, "J");
1478 $(this).val(now);
1483 </script>
1484 </html>
1486 <?php
1487 $content = ob_get_clean();
1488 echo $content;
1489 exit;