4 * Patient disclosures main screen.
6 * Copyright (C) Visolve <vicareplus_engg@visolve.com>
8 * LICENSE: This program is free software; you can redistribute it and/or
9 * modify it under the terms of the GNU General Public License
10 * as published by the Free Software Foundation; either version 2
11 * of the License, or (at your option) any later version.
12 * This program is distributed in the hope that it will be useful,
13 * but WITHOUT ANY WARRANTY; without even the implied warranty of
14 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
15 * GNU General Public License for more details.
16 * You should have received a copy of the GNU General Public License
17 * along with this program. If not, see <http://opensource.org/licenses/gpl-license.php>;.
20 * @author Visolve <vicareplus_engg@visolve.com>
21 * @author Brady Miller <brady@sparmy.com>
22 * @link http://www.open-emr.org
25 //SANITIZE ALL ESCAPES
26 $sanitize_all_escapes=true;
29 //STOP FAKE REGISTER GLOBALS
30 $fake_register_globals=false;
33 require_once("../../globals.php");
34 require_once("$srcdir/sql.inc");
35 require_once("$srcdir/log.inc");
37 //retrieve the user name
38 $res = sqlQuery("select username from users where username=?", array($_SESSION{"authUser"}) );
39 $uname=$res{"username"};
40 //if the mode variable is set to disclosure, retrieve the values from 'disclosure_form ' in record_disclosure.php to store it in database.
41 if (isset($_POST["mode"]) and $_POST["mode"] == "disclosure"){
42 $dates=trim($_POST['dates']);
43 $event=trim($_POST['form_disclosure_type']);
44 $recipient_name=trim($_POST['recipient_name']);
45 $disclosure_desc=trim($_POST['desc_disc']);
46 $disclosure_id=trim($_POST['disclosure_id']);
47 if (isset($_POST["updatemode"]) AND $_POST["updatemode"] == "disclosure_update")
49 //update the recorded disclosure in the extended_log table.
50 updateRecordedDisclosure($dates,$event,$recipient_name,$disclosure_desc,$disclosure_id);
54 //insert the disclosure records in the extended_log table.
55 recordDisclosure($dates,$event,$pid,$recipient_name,$disclosure_desc,$uname);
58 if (isset($_GET['deletelid']))
60 $deletelid=$_GET['deletelid'];
61 //function to delete the recorded disclosures
62 deleteDisclosure($deletelid);
67 <link rel
='stylesheet' href
="<?php echo $css_header;?>" type
="text/css">
68 <!-- supporting javascript code
-->
69 <script type
="text/javascript" src
="<?php echo $GLOBALS['webroot'] ?>/library/js/jquery.js"></script
>
70 <link rel
="stylesheet" type
="text/css" href
="../../../library/js/fancybox/jquery.fancybox-1.2.6.css" media
="screen" />
71 <script type
="text/javascript" src
="../../../library/dialog.js"></script
>
72 <script type
="text/javascript" src
="../../../library/js/jquery.1.3.2.js"></script
>
73 <script type
="text/javascript" src
="../../../library/js/common.js"></script
>
74 <script type
="text/javascript" src
="../../../library/js/fancybox/jquery.fancybox-1.2.6.js"></script
>
76 <body
class="body_top">
78 <span
class="title"><?php
echo htmlspecialchars(xl('Disclosures'),ENT_NOQUOTES
); ?
></span
>
80 <div style
='float: left; margin-right: 10px'><?php
echo htmlspecialchars(xl('for'),ENT_NOQUOTES
); ?
> 
;
81 <span
class="title"><a href
="../summary/demographics.php" onclick
="top.restoreSession()"><?php
echo htmlspecialchars(getPatientName($pid),ENT_NOQUOTES
); ?
></a
></span
>
84 <a href
="record_disclosure.php" class="css_button iframe" onclick
="top.restoreSession()"><span
><?php
echo htmlspecialchars(xl('Record'),ENT_NOQUOTES
); ?
></span
></a
>
87 <a href
="demographics.php" <?php
if (!$GLOBALS['concurrent_layout']) echo "target='Main'"; ?
>
88 class="css_button" onclick
="top.restoreSession()"> <span
><?php
echo htmlspecialchars(xl('View Patient'),ENT_NOQUOTES
); ?
></span
></a
>
94 $offset = $_REQUEST['offset'];
95 if (!isset($offset)) $offset = 0;
98 $r2= sqlStatement("select id,event,recipient,description,date from extended_log where patient_id=? AND event in (select option_id from list_options where list_id='disclosure_type') order by date desc ", array($pid) );
99 $totalRecords=sqlNumRows($r2);
101 //echo "select id,event,recipient,description,date from extended_log where patient_id=$pid AND event in (select option_id from list_options where list_id='disclosure_type') order by date desc limit $offset ,$N";
102 //display all of the disclosures for the day, as well as others that are active from previous dates, up to a certain number, $N
103 $r1= sqlStatement("select id,event,recipient,description,date from extended_log where patient_id=? AND event in (select option_id from list_options where list_id='disclosure_type') order by date desc limit $offset,$N", array($pid) );
105 $noOfRecordsLeft=($totalRecords - $offset);
107 <table border
='0' class="text">
109 <td colspan
='5' style
="padding: 5px;"><a href
="disclosure_full.php" class="" id
='Submit' onclick
="top.restoreSession()"><span
><?php
echo htmlspecialchars(xl('Refresh'),ENT_NOQUOTES
); ?
></span
></a
></td
>
113 <table border
='0' cellpadding
="1" width
='80%'>
114 <tr
class="showborder_head" align
='left' height
="22">
115 <th style
='width: 120px';> 
;</th
>
116 <th style
="border-style: 1px solid #000" width
="140px"><?php
echo htmlspecialchars(xl('Recipient Name'),ENT_NOQUOTES
); ?
></th
>
117 <th style
="border-style: 1px solid #000" width
="140px"><?php
echo htmlspecialchars(xl('Disclosure Type'),ENT_NOQUOTES
); ?
></th
>
118 <th style
="border-style: 1px solid #000"><?php
echo htmlspecialchars(xl('Description'),ENT_NOQUOTES
); ?
></th
>
122 for ($iter = 0;$frow = sqlFetchArray($r1);$iter++
)
123 $result2[$iter] = $frow;
124 foreach($result2 as $iter)
126 $app_event=$iter{event
};
127 $event=split("-",$app_event);
128 $description =nl2br(htmlspecialchars($iter{description
},ENT_NOQUOTES
)); //for line break if there is any new lines in the input text area field.
130 <!-- List the recipient name
, description
, date
and edit
and delete options
-->
131 <tr
class="noterow" height
='25'>
132 <!--buttons
for edit
and delete
.-->
133 <td valign
='top'><a href
='record_disclosure.php?editlid=<?php echo htmlspecialchars($iter{id},ENT_QUOTES); ?>'
134 class='css_button_small iframe' onclick
='top.restoreSession()'><span
><?php
echo htmlspecialchars(xl('Edit'),ENT_NOQUOTES
);?
></span
></a
>
135 <a href
='#' class='deletenote css_button_small'
136 id
='<?php echo htmlspecialchars($iter{id},ENT_QUOTES); ?>' onclick
='top.restoreSession()'><span
><?php
echo htmlspecialchars(xl('Delete'),ENT_NOQUOTES
);?
></span
></a
></td
>
137 <td
class="text" valign
='top'><?php
echo htmlspecialchars($iter{recipient
},ENT_NOQUOTES
);?
> 
;</td
>
138 <td
class='text' valign
='top'><?php
if($event[1]=='healthcareoperations'){ echo htmlspecialchars(xl('health care operations'),ENT_NOQUOTES
); } else echo htmlspecialchars($event[1],ENT_NOQUOTES
); ?
> 
;</td
>
139 <td
class='text'><?php
echo htmlspecialchars($iter{date
},ENT_NOQUOTES
)." ".$description;?
> 
;</td
>
147 <!-- Display None
, if there is no disclosure
-->
148 <span
class='text' colspan
='3'><?php
echo htmlspecialchars(xl('None'),ENT_NOQUOTES
) ;?
></span
>
153 <table width
='400' border
='0' cellpadding
='0' cellspacing
='0'>
157 if ($offset > ($N-1) && $n!=0) {
158 echo " <a class='link' href='disclosure_full.php?active=" . $active .
159 "&offset=" . ($offset-$N) . "' onclick='top.restoreSession()'>[" .
160 xl('Previous') . "]</a>\n";
166 if ($n >= $N && $noOfRecordsLeft!=$N) {
167 echo " <a class='link' href='disclosure_full.php?active=" . $active.
168 "&offset=" . ($offset+
$N) ."&leftrecords=".$noOfRecordsLeft."' onclick='top.restoreSession()'>[" .
169 xl('Next') . "]</a>\n";
178 <script type
="text/javascript">
179 $
(document
).ready(function()
181 /// todo, move this to a common library
183 $
(".noterow").mouseover(function() { $
(this
).toggleClass("highlight"); });
184 $
(".noterow").mouseout(function() { $
(this
).toggleClass("highlight"); });
187 //for deleting the disclosures
188 $
(".deletenote").click(function() { DeleteNote(this
); });
190 var DeleteNote
= function(logevent
)
192 if (confirm("<?php echo htmlspecialchars(xl('Are you sure you want to delete this disclosure?','','','\n ') . xl('This action CANNOT be undone.'),ENT_QUOTES); ?>"))
194 top
.restoreSession();
195 window
.location
.replace("disclosure_full.php?deletelid="+logevent
.id
)