3 // Copyright (C) 2011 by following authors:
4 // - Cassian LUP <cassi.lup@gmail.com>
6 // This program is free software; you can redistribute it and/or
7 // modify it under the terms of the GNU General Public License
8 // as published by the Free Software Foundation; either version 2
9 // of the License, or (at your option) any later version.
11 //SANITIZE ALL ESCAPES
12 // (note this is already completed by the script that includes this
13 // get_patient_info.php )
15 //STOP FAKE REGISTER GLOBALS
16 // (note this is already completed by the script that includes this
17 // get_patient_info.php )
22 //landing page definition -- where to go if something goes wrong
23 $landingpage = "index.php?site=".$_SESSION['site_id'];
26 // kick out if patient not authenticated
27 if ( isset($_SESSION['pid']) && isset($_SESSION['patient_portal_onsite']) ) {
28 $pid = $_SESSION['pid'];
32 header('Location: '.$landingpage.'&w');
40 require_once("../interface/globals.php");
41 require_once("$srcdir/patient.inc");
42 require_once("$srcdir/acl.inc");
43 require_once("$srcdir/options.inc.php");
44 require_once("../interface/patient_file/history/history.inc.php");
45 require_once("$srcdir/formatting.inc.php");
46 require_once("$srcdir/edi.inc");
47 include_once("$srcdir/lists.inc");
52 <title
><?php
echo xlt('Patient Information'); ?
></title
>
53 <?php
html_header_show(); ?
>
54 <link rel
="stylesheet" href
="<?php echo $css_header;?>" type
="text/css">
55 <link rel
="stylesheet" type
="text/css" href
="<?php echo $web_root; ?>/library/js/fancybox/jquery.fancybox-1.2.6.css" media
="screen" />
56 <link rel
="stylesheet" type
="text/css" href
="<?php echo $web_root; ?>/library/dynarch_calendar.css">
57 <script type
="text/javascript" src
="<?php echo $web_root; ?>/library/textformat.js"></script
>
58 <script type
="text/javascript" src
="<?php echo $web_root; ?>/library/dynarch_calendar.js"></script
>
59 <?php
include_once("{$GLOBALS['srcdir']}/dynarch_calendar_en.inc.php"); ?
>
60 <script type
="text/javascript" src
="<?php echo $web_root; ?>/library/dynarch_calendar_setup.js"></script
>
61 <script type
="text/javascript" src
="<?php echo $web_root; ?>/library/dialog.js?v=<?php echo $v_js_includes; ?>"></script
>
62 <script type
="text/javascript" src
="<?php echo $GLOBALS['assets_static_relative']; ?>/jquery-min-1-3-2/index.js"></script
>
63 <script type
="text/javascript" src
="<?php echo $web_root; ?>/library/js/common.js"></script
>
64 <script type
="text/javascript" src
="<?php echo $web_root; ?>/library/js/fancybox/jquery.fancybox-1.2.6.js"></script
>
65 <link rel
="stylesheet" href
="css/base.css" type
="text/css"/>
66 <link rel
="stylesheet" href
="css/tables.css" type
="text/css"/>
67 <script type
="text/javascript" language
="JavaScript">
69 function refreshme() {
73 function toggleIndicator(target
,div
) {
75 $mode = $
(target
).find(".indicator").text();
76 if ( $mode == "<?php echo xla('collapse'); ?>" ) {
77 $
(target
).find(".indicator").text( "<?php echo xla('expand'); ?>" );
80 $
(target
).find(".indicator").text( "<?php echo xla('collapse'); ?>" );
85 function refreshAppointments() {
86 $
("#appointments_ps_expand").load("get_appointments.php", { 'embeddedScreen' : true }, function() {
87 $
(".edit_event").fancybox({
88 'overlayOpacity' : 0.0,
89 'showCloseButton' : true,
90 'centerOnScroll' : false,
92 'hihdeOnContentClick' : false,
93 'callbackOnClose' : function() {
94 refreshAppointments();
100 function show_date_fun(){
101 if(document
.getElementById('show_date').checked
== true){
102 document
.getElementById('date_div').style
.display
= '';
104 document
.getElementById('date_div').style
.display
= 'none';
109 $
(document
).ready(function(){
112 $
("#labtestresults_ps_expand").load("get_lab_results.php", { 'embeddedScreen' : true }, function() {
113 // (note need to place javascript code here also to get the dynamic link to work)
114 $
(".medium_modal").fancybox( {
115 'overlayOpacity' : 0.0,
116 'showCloseButton' : true,
119 'centerOnScroll' : false,
120 'callbackOnClose' : function() {
125 $
("#problemlist_ps_expand").load("get_problems.php", { 'embeddedScreen' : true }, function() {
126 // (note need to place javascript code here also to get the dynamic link to work)
127 $
(".medium_modal").fancybox( {
128 'overlayOpacity' : 0.0,
129 'showCloseButton' : true,
132 'centerOnScroll' : false,
133 'callbackOnClose' : function() {
138 $
("#medicationlist_ps_expand").load("get_medications.php", { 'embeddedScreen' : true }, function() {
139 // (note need to place javascript code here also to get the dynamic link to work)
140 $
(".medium_modal").fancybox( {
141 'overlayOpacity' : 0.0,
142 'showCloseButton' : true,
145 'centerOnScroll' : false,
146 'callbackOnClose' : function() {
151 $
("#medicationallergylist_ps_expand").load("get_allergies.php", { 'embeddedScreen' : true }, function() {
152 // (note need to place javascript code here also to get the dynamic link to work)
153 $
(".medium_modal").fancybox( {
154 'overlayOpacity' : 0.0,
155 'showCloseButton' : true,
158 'centerOnScroll' : false,
159 'callbackOnClose' : function() {
164 $
("#amendments_ps_expand").load("get_amendments.php", { 'embeddedScreen' : true }, function() {
165 // (note need to place javascript code here also to get the dynamic link to work)
166 $
(".medium_modal").fancybox( {
167 'overlayOpacity' : 0.0,
168 'showCloseButton' : true,
171 'centerOnScroll' : false,
172 'callbackOnClose' : function() {
179 refreshAppointments();
184 // modal for dialog boxes
185 $
(".large_modal").fancybox( {
186 'overlayOpacity' : 0.0,
187 'showCloseButton' : true,
190 'centerOnScroll' : false
193 // modal for image viewer
194 $
(".image_modal").fancybox( {
195 'overlayOpacity' : 0.0,
196 'showCloseButton' : true,
197 'centerOnScroll' : false,
201 $
(".add_event").fancybox( {
202 'overlayOpacity' : 0.0,
203 'showCloseButton' : true,
204 'centerOnScroll' : false,
206 'hideOnContentClick' : false,
207 'onClose' : function() {
212 $
(".generateCCR").click(
214 if(document
.getElementById('show_date').checked
== true){
215 if(document
.getElementById('Start').value
== '' || document
.getElementById('End').value
== ''){
216 alert('<?php echo xls('Please select a start date
and end date
') ?>');
220 var ccrAction
= document
.getElementsByName('ccrAction');
221 ccrAction
[0].value
= 'generate';
222 var raw
= document
.getElementsByName('raw');
224 ccr_form
.setAttribute("target", "_blank");
225 $
("#ccr_form").submit();
226 ccr_form
.setAttribute("target", "");
228 $
(".generateCCR_raw").click(
230 var ccrAction
= document
.getElementsByName('ccrAction');
231 ccrAction
[0].value
= 'generate';
232 var raw
= document
.getElementsByName('raw');
233 raw
[0].value
= 'yes';
234 ccr_form
.setAttribute("target", "_blank");
235 $
("#ccr_form").submit();
236 ccr_form
.setAttribute("target", "");
238 $
(".generateCCR_download_h").click(
240 var ccrAction
= document
.getElementsByName('ccrAction');
241 ccrAction
[0].value
= 'generate';
242 var raw
= document
.getElementsByName('raw');
243 raw
[0].value
= 'hybrid';
244 $
("#ccr_form").submit();
246 $
(".generateCCR_download_p").click(
248 if(document
.getElementById('show_date').checked
== true){
249 if(document
.getElementById('Start').value
== '' || document
.getElementById('End').value
== ''){
250 alert('<?php echo xls('Please select a start date
and end date
') ?>');
254 var ccrAction
= document
.getElementsByName('ccrAction');
255 ccrAction
[0].value
= 'generate';
256 var raw
= document
.getElementsByName('raw');
257 raw
[0].value
= 'pure';
258 $
("#ccr_form").submit();
262 var ccrAction
= document
.getElementsByName('ccrAction');
263 ccrAction
[0].value
= 'viewccd';
264 var raw
= document
.getElementsByName('raw');
266 ccr_form
.setAttribute("target", "_blank");
267 $
("#ccr_form").submit();
268 ccr_form
.setAttribute("target", "");
270 $
(".viewCCD_raw").click(
272 var ccrAction
= document
.getElementsByName('ccrAction');
273 ccrAction
[0].value
= 'viewccd';
274 var raw
= document
.getElementsByName('raw');
275 raw
[0].value
= 'yes';
276 ccr_form
.setAttribute("target", "_blank");
277 $
("#ccr_form").submit();
278 ccr_form
.setAttribute("target", "");
280 $
(".viewCCD_download").click(
282 var ccrAction
= document
.getElementsByName('ccrAction');
283 ccrAction
[0].value
= 'viewccd';
284 var raw
= document
.getElementsByName('raw');
285 raw
[0].value
= 'pure';
286 $
("#ccr_form").submit();
288 $
(".generateDoc_download").click(
290 $
("#doc_form").submit();
292 <?php
if ($GLOBALS['phimail_enable']==true && $GLOBALS['phimail_ccr_enable']==true) { ?
>
293 $
(".viewCCR_send_dialog").click(
295 $
("#ccr_send_dialog").toggle();
297 $
(".viewCCR_transmit").click(
299 $
(".viewCCR_transmit").attr('disabled','disabled');
300 var ccrAction
= document
.getElementsByName('ccrAction');
301 ccrAction
[0].value
= 'generate';
302 var ccrRecipient
= $
("#ccr_send_to").val();
303 var raw
= document
.getElementsByName('raw');
304 raw
[0].value
= 'send '+ccrRecipient
;
305 if(ccrRecipient
=="") {
306 $
("#ccr_send_message").html("<?php
307 echo xla('Please enter a valid Direct Address above.');?>");
308 $
("#ccr_send_result").show();
310 $
(".viewCCR_transmit").attr('disabled','disabled');
311 $
("#ccr_send_message").html("<?php
312 echo xla('Working... this may take a minute.');?>");
313 $
("#ccr_send_result").show();
314 var action
=$
("#ccr_form").attr('action');
315 $
.post(action
, {ccrAction
:'generate',raw
:'send '+ccrRecipient
,requested_by
:'patient'},
317 if(data
=="SUCCESS") {
318 $
("#ccr_send_message").html("<?php
319 echo xla('Your message was submitted for delivery to');
321 $
("#ccr_send_to").val("");
323 $
("#ccr_send_message").html(data
);
325 $
(".viewCCR_transmit").removeAttr('disabled');
330 if ($GLOBALS['phimail_enable']==true && $GLOBALS['phimail_ccd_enable']==true) { ?
>
331 $
(".viewCCD_send_dialog").click(
333 $
("#ccd_send_dialog").toggle();
335 $
(".viewCCD_transmit").click(
337 $
(".viewCCD_transmit").attr('disabled','disabled');
338 var ccrAction
= document
.getElementsByName('ccrAction');
339 ccrAction
[0].value
= 'viewccd';
340 var ccdRecipient
= $
("#ccd_send_to").val();
341 var raw
= document
.getElementsByName('raw');
342 raw
[0].value
= 'send '+ccdRecipient
;
343 if(ccdRecipient
=="") {
344 $
("#ccd_send_message").html("<?php
345 echo xla('Please enter a valid Direct Address above.');?>");
346 $
("#ccd_send_result").show();
348 $
(".viewCCD_transmit").attr('disabled','disabled');
349 $
("#ccd_send_message").html("<?php
350 echo xla('Working... this may take a minute.');?>");
351 $
("#ccd_send_result").show();
352 var action
=$
("#ccr_form").attr('action');
353 $
.post(action
, {ccrAction
:'viewccd',raw
:'send '+ccdRecipient
,requested_by
:'patient'},
355 if(data
=="SUCCESS") {
356 $
("#ccd_send_message").html("<?php
357 echo xla('Your message was submitted for delivery to');
359 $
("#ccd_send_to").val("");
361 $
("#ccd_send_message").html(data
);
363 $
(".viewCCD_transmit").removeAttr('disabled');
375 <body
class="body_top">
377 <div id
="wrapper" class="lefttop" style
="width: 700px;">
378 <h2
class="heading"><?php
echo xlt("Patient Portal"); ?
></h2
>
381 $result = getPatientData($pid);
383 <?php
echo xlt('Welcome'); ?
> <b
><?php
echo text($result['fname']." ".$result['lname']); ?
></b
>
385 <div style
='margin-top:10px'> <!-- start main content div
-->
386 <table border
="0" cellspacing
="0" cellpadding
="0" width
="100%">
388 <td align
="left" valign
="top">
389 <!-- start left column div
-->
390 <div style
='float:left; margin-right:20px'>
391 <table cellspacing
=0 cellpadding
=0>
392 <?php
if ( $GLOBALS['activate_ccr_ccd_report'] ) { // show CCR/CCD reporting options ?>
397 $widgetTitle = xl("Reports");
398 $widgetLabel = "reports";
399 $widgetButtonLabel = xl("");
400 $widgetButtonClass = "hidden";
401 $linkMethod = "html";
402 $bodyClass = "notab";
405 expand_collapse_widget($widgetTitle, $widgetLabel, $widgetButtonLabel,
406 $widgetButtonLink, $widgetButtonClass, $linkMethod, $bodyClass,
407 $widgetAuth, $fixedWidth);
410 <div style
='margin-left:3em; margin-right:3em; padding:1em; border:1px solid blue;' class='text'>
411 <div id
="ccr_report">
412 <form name
='ccr_form' id
='ccr_form' method
='post' action
='../ccr/createCCR.php?portal_auth=1'>
413 <span
class='text'><b
><?php
echo xlt('Continuity of Care Record (CCR)'); ?
></b
></span
> 
; 
;
415 <span
class='text'>(<?php
echo xlt('Pop ups need to be enabled to see these reports'); ?
>)</span
>
418 <input type
='hidden' name
='ccrAction'>
419 <input type
='hidden' name
='raw'>
420 <input type
="checkbox" name
="show_date" id
="show_date" onchange
="show_date_fun();" ><span
class='text'><?php
echo xlt('Use Date Range'); ?
>
422 <div id
="date_div" style
="display:none" >
424 <table border
="0" cellpadding
="0" cellspacing
="0" >
427 <span
class='bold'><?php
echo xlt('Start Date');?
>: </span
>
430 <input type
='text' size
='10' name
='Start' id
='Start'
431 onkeyup
='datekeyup(this,mypcc)' onblur
='dateblur(this,mypcc)'
432 title
='<?php echo xla('yyyy
-mm
-dd
'); ?>' />
433 <img src
='../interface/pic/show_calendar.gif' align
='absbottom' width
='24' height
='22'
434 id
='img_start' border
='0' alt
='[?]' style
='cursor:pointer'
435 title
='<?php echo xla('Click here to choose a date
'); ?>' >
436 <script LANGUAGE
="JavaScript">
437 Calendar
.setup({inputField
:"Start", ifFormat
:"%Y-%m-%d", button
:"img_start"});
442 <span
class='bold'><?php
echo xlt('End Date');?
>: </span
>
445 <input type
='text' size
='10' name
='End' id
='End'
446 onkeyup
='datekeyup(this,mypcc)' onblur
='dateblur(this,mypcc)'
447 title
='<?php echo xla('yyyy
-mm
-dd
'); ?>' />
448 <img src
='../interface/pic/show_calendar.gif' align
='absbottom' width
='24' height
='22'
449 id
='img_end' border
='0' alt
='[?]' style
='cursor:pointer'
450 title
='<?php echo xla('Click here to choose a date
'); ?>' >
451 <script LANGUAGE
="JavaScript">
452 Calendar
.setup({inputField
:"End", ifFormat
:"%Y-%m-%d", button
:"img_end"});
459 <input type
="button" class="generateCCR" value
="<?php echo xla('View/Print'); ?>" />
460 <!-- <input type
="button" class="generateCCR_download_h" value
="<?php echo xla('Download'); ?>" /> -->
461 <input type
="button" class="generateCCR_download_p" value
="<?php echo xla('Download'); ?>" />
462 <!-- <input type
="button" class="generateCCR_raw" value
="<?php echo xla('Raw Report'); ?>" /> -->
463 <?php
if ($GLOBALS['phimail_enable']==true && $GLOBALS['phimail_ccr_enable']==true) { ?
>
464 <input type
="button" class="viewCCR_send_dialog" value
="<?php echo xla('Transmit'); ?>" />
466 <div id
="ccr_send_dialog" style
="display:none" >
468 <table border
="0" cellpadding
="0" cellspacing
="0" >
471 <span
class='bold'><?php
echo xlt('Enter Recipient\'s Direct Address');?
>: </span
>
472 <input type
="text" size
="64" name
="ccr_send_to" id
="ccr_send_to" value
="">
473 <input type
="button" class="viewCCR_transmit" value
="<?php echo xla('Send'); ?>" />
474 <div id
="ccr_send_result" style
="display:none" >
475 <span
class="text" id
="ccr_send_message"></span
>
483 <span
class='text'><b
><?php
echo xlt('Continuity of Care Document (CCD)'); ?
></b
></span
> 
; 
;
485 <span
class='text'>(<?php
echo xlt('Pop ups need to be enabled to see these reports'); ?
>)</span
>
488 <input type
="button" class="viewCCD" value
="<?php echo xla('View/Print'); ?>" />
489 <input type
="button" class="viewCCD_download" value
="<?php echo xla('Download'); ?>" />
490 <!-- <input type
="button" class="viewCCD_raw" value
="<?php echo xla('Raw Report'); ?>" /> -->
491 <?php
if ($GLOBALS['phimail_enable']==true && $GLOBALS['phimail_ccd_enable']==true) { ?
>
492 <input type
="button" class="viewCCD_send_dialog" value
="<?php echo xla('Transmit'); ?>" />
494 <div id
="ccd_send_dialog" style
="display:none" >
496 <table border
="0" cellpadding
="0" cellspacing
="0" >
499 <span
class='bold'><?php
echo xlt('Enter Recipient\'s Direct Address');?
>: </span
>
500 <input type
="text" size
="64" name
="ccd_send_to" id
="ccd_send_to" value
="">
501 <input type
="button" class="viewCCD_transmit" value
="<?php echo xla('Send'); ?>" />
502 <div id
="ccd_send_result" style
="display:none" >
503 <span
class="text" id
="ccd_send_message"></span
>
518 <?php
} // end CCR/CCD reporting options ?>
519 <?php
if ( $GLOBALS['portal_onsite_document_download'] ) { ?
>
520 <?php
echo "<tr><td width='650px'>";
521 $widgetTitle = xl('Documents');
522 $widgetLabel = "documents";
523 $widgetButtonLabel = xl('Download');
524 $widgetButtonClass = "hidden";
525 $linkMethod = "html";
526 $bodyClass = "notab";
529 expand_collapse_widget($widgetTitle, $widgetLabel, $widgetButtonLabel,
530 $widgetButtonLink, $widgetButtonClass, $linkMethod, $bodyClass,
531 $widgetAuth, $fixedWidth);
533 <span
class="text"><?php
echo xlt('Download all patient documents');?
></span
>
535 <form name
='doc_form' id
='doc_form' action
='get_patient_documents.php' method
='post'>
536 <input type
="button" class="generateDoc_download" value
="<?php echo xla('Download'); ?>" />
542 <?php
echo "<tr><td width='650px'>";
543 // Lab tests results expand collapse widget
544 $widgetTitle = xl("Lab Test Results");
545 $widgetLabel = "labtestresults";
546 $widgetButtonLabel = xl("");
547 $widgetButtonClass = "hidden";
548 $linkMethod = "html";
549 $bodyClass = "notab";
552 expand_collapse_widget($widgetTitle, $widgetLabel, $widgetButtonLabel,
553 $widgetButtonLink, $widgetButtonClass, $linkMethod, $bodyClass,
554 $widgetAuth, $fixedWidth);
558 <div style
='margin-left:10px' class='text'><img src
='images/ajax-loader.gif'/></div
><br
/>
563 <?php
echo "<tr><td width='650px'>";
564 // problem list collapse widget
565 $widgetTitle = xl("Problem List");
566 $widgetLabel = "problemlist";
567 $widgetButtonLabel = xl("");
568 $widgetButtonClass = "hidden";
569 $linkMethod = "html";
570 $bodyClass = "notab";
573 expand_collapse_widget($widgetTitle, $widgetLabel, $widgetButtonLabel , $widgetButtonLink, $widgetButtonClass, $linkMethod, $bodyClass, $widgetAuth, $fixedWidth); ?
>
584 // medication list expand collapse widget
585 $widgetTitle = xl("Medication List");
586 $widgetLabel = "medicationlist";
587 $widgetButtonLabel = xl("");
588 $widgetButtonClass = "hidden";
589 $linkMethod = "html";
590 $bodyClass = "notab";
593 expand_collapse_widget($widgetTitle, $widgetLabel, $widgetButtonLabel,
594 $widgetButtonLink, $widgetButtonClass, $linkMethod, $bodyClass,
595 $widgetAuth, $fixedWidth);
598 <div style
='margin-left:10px' class='text'><img src
='images/ajax-loader.gif'/></div
><br
/>
606 <?php
// medication allergy expand collapse widget
607 $widgetTitle = xl("Medication Allergy List");
608 $widgetLabel = "medicationallergylist";
609 $widgetButtonLabel = xl("");
610 $widgetButtonClass = "";
611 $linkMethod = "html";
612 $bodyClass = "notab";
615 expand_collapse_widget($widgetTitle, $widgetLabel, $widgetButtonLabel,
616 $widgetButtonLink, $widgetButtonClass, $linkMethod, $bodyClass,
617 $widgetAuth, $fixedWidth);
620 <div style
='margin-left:10px' class='text'><img src
='images/ajax-loader.gif'/></div
><br
/>
627 <?php
if ( $GLOBALS['amendments'] ) { ?
>
631 $widgetTitle = xl("Amendments");
632 $widgetLabel = "amendments";
633 $widgetButtonLabel = xl("");
634 $widgetButtonClass = "hidden";
635 $linkMethod = "html";
636 $bodyClass = "notab";
639 expand_collapse_widget($widgetTitle, $widgetLabel, $widgetButtonLabel,
640 $widgetButtonLink, $widgetButtonClass, $linkMethod, $bodyClass,
641 $widgetAuth, $fixedWidth);
645 <div style
='margin-left:10px' class='text'><img src
='images/ajax-loader.gif'/></div
><br
/>
652 // Show current and upcoming appointments.
653 $query = "SELECT e.pc_eid, e.pc_aid, e.pc_title, e.pc_eventDate, " .
654 "e.pc_startTime, e.pc_hometext, u.fname, u.lname, u.mname, " .
656 "FROM openemr_postcalendar_events AS e, users AS u, " .
657 "openemr_postcalendar_categories AS c WHERE " .
658 "e.pc_pid = ? AND e.pc_eventDate >= CURRENT_DATE AND " .
659 "u.id = e.pc_aid AND e.pc_catid = c.pc_catid " .
660 "ORDER BY e.pc_eventDate, e.pc_startTime";
662 $res = sqlStatement($query, array($pid) );
664 // appointments expand collapse widget
665 $widgetTitle = xl("Appointments");
666 $widgetLabel = "appointments";
667 $widgetButtonLabel = xl("Add");
668 $widgetButtonLink = "add_edit_event_user.php?pid=".htmlspecialchars($pid, ENT_QUOTES
);
669 $widgetButtonClass = "edit_event iframe";
671 $bodyClass = "summary_item small";
672 if ($GLOBALS['portal_onsite_appt_modify'])
681 expand_collapse_widget($widgetTitle, $widgetLabel, $widgetButtonLabel , $widgetButtonLink, $widgetButtonClass, $linkMethod, $bodyClass, $widgetAuth, $fixedWidth);
684 <div id
='stats_div' style
="display:none">
685 <div style
='margin-left:10px' class='text'><img src
='images/ajax-loader.gif'/></div
>
699 </div
> <!-- end main content div
-->
701 <div id
="portal-buttons-bottom"> <!-- buttons bottom div
-->
702 <input type
="button" style
="text-align: right;" value
="<?php echo xla('Log Out'); ?>" onclick
="window.location = 'logout.php'"/>
704 <input type
="button" style
="text-align: right;" value
="<?php echo xla('Change Password'); ?>" onclick
="window.location = '<?php echo $landingpage."&password_update
=1";?>'"/>
705 </div
><!-- end buttons bottom div
-->