Advertisement
Guest User

Untitled

a guest
Oct 16th, 2011
95
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 139.09 KB | None | 0 0
  1.  
  2.  
  3.  
  4.  
  5.  
  6.  
  7.  
  8.  
  9.  
  10.  
  11.  
  12.  
  13.  
  14.  
  15.  
  16.  
  17.  
  18.  
  19.  
  20.  
  21.  
  22.  
  23.  
  24.  
  25.  
  26.  
  27.  
  28.  
  29. <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
  30. "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
  31.  
  32.  
  33.  
  34.  
  35. <html xmlns="http://www.w3.org/1999/xhtml">
  36. <head>
  37. <script src="/openmrs/openmrs.js?v=1.8.2.21762" type="text/javascript" ></script>
  38. <script src="/openmrs/scripts/openmrsmessages.js?v=1.8.2.21762&locale=en_US" type="text/javascript" ></script>
  39. <link href="/openmrs/openmrs.css?v=1.8.2.21762" type="text/css" rel="stylesheet" />
  40. <link href="/openmrs/openmrs_legacy.css" type="text/css" rel="stylesheet" />
  41. <link href="/openmrs/style.css?v=1.8.2.21762" type="text/css" rel="stylesheet" />
  42. <script src="/openmrs/dwr/engine.js?v=1.8.2.21762" type="text/javascript" ></script>
  43. <script src="/openmrs/dwr/interface/DWRAlertService.js?v=1.8.2.21762" type="text/javascript" ></script>
  44.  
  45. <script src="/openmrs/scripts/jquery/jquery.min.js?v=1.8.2.21762" type="text/javascript" ></script>
  46. <script src="/openmrs/scripts/jquery-ui/js/jquery-ui.custom.min.js?v=1.8.2.21762" type="text/javascript" ></script>
  47. <script src="/openmrs/scripts/jquery-ui/js/jquery-ui-datepicker-i18n.js?v=1.8.2.21762" type="text/javascript" ></script>
  48. <link href="/openmrs/scripts/jquery-ui/css/redmond/jquery-ui.custom.css" type="text/css" rel="stylesheet" />
  49.  
  50. <link rel="icon" type="image/ico" href="/openmrs/images/openmrs-favicon.ico">
  51.  
  52.  
  53.  
  54. <title>OpenMRS - Patient Dashboard</title>
  55.  
  56.  
  57.  
  58.  
  59.  
  60. <script type="text/javascript">
  61.  
  62. var $j = jQuery.noConflict();
  63.  
  64. /* variable used in js to know the context path */
  65. var openmrsContextPath = '/openmrs';
  66. var dwrLoadingMessage = 'Loading...';
  67. var jsDateFormat = 'mm/dd/yyyy';
  68. var jsLocale = 'en_US';
  69.  
  70. /* prevents users getting false dwr errors msgs when leaving pages */
  71. var pageIsExiting = false;
  72. if (jQuery)
  73. jQuery(window).bind('beforeunload', function () { pageIsExiting = true; } );
  74.  
  75. var handler = function(msg, ex) {
  76. if (!pageIsExiting) {
  77. var div = document.getElementById("openmrs_dwr_error");
  78. div.style.display = ""; // show the error div
  79. var msgDiv = document.getElementById("openmrs_dwr_error_msg");
  80. msgDiv.innerHTML = 'A javascript error has occurred:' + " <b>" + msg + "</b>";
  81. }
  82.  
  83. };
  84. dwr.engine.setErrorHandler(handler);
  85. dwr.engine.setWarningHandler(handler);
  86. </script>
  87.  
  88.  
  89.  
  90. </head>
  91.  
  92. <body>
  93. <div id="pageBody">
  94.  
  95. <div id="userBar">
  96.  
  97.  
  98. <span id="userLoggedInAs" class="firstChild">
  99. Currently logged in as Michael Anthony Morris
  100. </span>
  101. <span id="userLogout">
  102. <a href='/openmrs/logout'>Log out</a>
  103. </span>
  104. <span>
  105. <a href="/openmrs/options.form">My Profile</a>
  106. </span>
  107.  
  108.  
  109.  
  110.  
  111. <span id="userHelp">
  112. <a href='/openmrs/help.htm'>Help</a>
  113. </span>
  114.  
  115. </div>
  116.  
  117. <div id="banner">
  118. <a href="http://openmrs.org">
  119. <div id="logosmall"><img src="/openmrs/images/openmrs_logo_short.gif" alt="OpenMRS Logo" border="0"/></div>
  120. </a>
  121. <table id="bannerbar">
  122. <tr>
  123. <td id="logocell"> <img src="/openmrs" alt="" class="logo-reduced61" />
  124. </td>
  125. <td id="barcell">
  126. <div class="barsmall">
  127. <img align="left" src="/openmrs" alt="" class="bar-round-reduced50"/>
  128.  
  129. <ul class="navList"> <li id="homeNavLink" class="firstChild">
  130. <a href="/openmrs/">Home</a>
  131. </li>
  132.  
  133. <li id="findPatientNavLink">
  134. <a href="/openmrs/findPatient.htm">
  135.  
  136. Find/Create Patient
  137.  
  138.  
  139. </a>
  140. </li>
  141.  
  142.  
  143. <li id="dictionaryNavLink">
  144. <a href="/openmrs/dictionary">Dictionary</a>
  145. </li>
  146.  
  147.  
  148.  
  149.  
  150. <li>
  151. <a href="/openmrs/module/hr/manager/findStaff.list">Manage Human Resources</a>
  152. </li>
  153.  
  154.  
  155.  
  156.  
  157. <li id="administrationNavLink">
  158. <a href="/openmrs/admin">Administration</a>
  159. </li>
  160.  
  161.  
  162.  
  163. </ul>
  164.  
  165. </div>
  166. </td>
  167. </tr>
  168. </table>
  169. </div>
  170.  
  171.  
  172.  
  173. <div id="content">
  174.  
  175.  
  176.  
  177.  
  178.  
  179. <div id="openmrs_dwr_error" style="display:none" class="error">
  180. <div id="openmrs_dwr_error_msg"></div>
  181. <div id="openmrs_dwr_error_close" class="smallMessage">
  182. <i>The full stacktrace for this error can usually be found in your server's error logs.</i>
  183. <a href="#" onclick="this.parentNode.parentNode.style.display='none'">Hide error</a>
  184. </div>
  185. </div>
  186.  
  187.  
  188.  
  189.  
  190.  
  191.  
  192.  
  193. <script src="/openmrs/scripts/easyAjax.js?v=1.8.2.21762" type="text/javascript" ></script>
  194.  
  195. <link href="/openmrs/scripts/jquery/dataTables/css/dataTables.css?v=1.8.2.21762" type="text/css" rel="stylesheet" />
  196. <script src="/openmrs/scripts/jquery/dataTables/js/jquery.dataTables.min.js?v=1.8.2.21762" type="text/javascript" ></script>
  197.  
  198.  
  199. <link href="/openmrs/scripts/jquery-ui/css/redmond/jquery-ui.custom.css" type="text/css" rel="stylesheet" />
  200.  
  201. <script src="/openmrs/scripts/flot/jquery.flot.js?v=1.8.2.21762" type="text/javascript" ></script>
  202. <script src="/openmrs/scripts/flot/jquery.flot.multiple.threshold.js?v=1.8.2.21762" type="text/javascript" ></script>
  203.  
  204.  
  205. <script type="text/javascript">
  206. var timeOut = null;
  207.  
  208. var userId = "2";
  209.  
  210. //initTabs
  211. $j(document).ready(function() {
  212. var c = getTabCookie();
  213. if (c == null) {
  214. var tabs = document.getElementById("patientTabs").getElementsByTagName("a");
  215. if (tabs.length && tabs[0].id)
  216. c = tabs[0].id;
  217. }
  218. changeTab(c);
  219. });
  220.  
  221. function setTabCookie(tabType) {
  222. document.cookie = "dashboardTab-" + userId + "="+escape(tabType);
  223. }
  224.  
  225. function getTabCookie() {
  226. var cookies = document.cookie.match('dashboardTab-' + userId + '=(.*?)(;|$)');
  227. if (cookies) {
  228. return unescape(cookies[1]);
  229. }
  230. return null;
  231. }
  232.  
  233. function changeTab(tabObj) {
  234. if (!document.getElementById || !document.createTextNode) {return;}
  235. if (typeof tabObj == "string")
  236. tabObj = document.getElementById(tabObj);
  237.  
  238. if (tabObj) {
  239. var tabs = tabObj.parentNode.parentNode.getElementsByTagName('a');
  240. for (var i=0; i<tabs.length; i++) {
  241. if (tabs[i].className.indexOf('current') != -1) {
  242. manipulateClass('remove', tabs[i], 'current');
  243. }
  244. var divId = tabs[i].id.substring(0, tabs[i].id.lastIndexOf("Tab"));
  245. var divObj = document.getElementById(divId);
  246. if (divObj) {
  247. if (tabs[i].id == tabObj.id)
  248. divObj.style.display = "";
  249. else
  250. divObj.style.display = "none";
  251. }
  252. }
  253. addClass(tabObj, 'current');
  254.  
  255. setTabCookie(tabObj.id);
  256. }
  257. return false;
  258. }
  259. </script>
  260.  
  261.  
  262.  
  263.  
  264.  
  265. <div class='portlet' id='patientDashboardHeader'>
  266.  
  267.  
  268.  
  269.  
  270.  
  271.  
  272.  
  273.  
  274.  
  275.  
  276.  
  277.  
  278.  
  279. <div id="patientHeader" class="boxHeader">
  280.  
  281.  
  282. <div id="patientHeaderPatientName">John Doe</div>
  283. <div id="patientHeaderPreferredIdentifier">
  284.  
  285.  
  286. <span class="patientHeaderPatientIdentifier"><span id="patientHeaderPatientIdentifierType">BRMC-EMRN:</span> 1-8</span>
  287.  
  288.  
  289. </div>
  290. <table id="patientHeaderGeneralInfo">
  291. <tr class="patientHeaderGeneralInfoRow">
  292. <td id="patientHeaderPatientGender">
  293. <img src="/openmrs/images/male.gif" alt='Male' id="maleGenderIcon"/>
  294.  
  295. </td>
  296. <td id="patientHeaderPatientAge">
  297.  
  298. 100 yrs
  299.  
  300. <span id="patientHeaderPatientBirthdate">(~Jan 1, 1911)</span>
  301. </td>
  302.  
  303.  
  304.  
  305.  
  306.  
  307. <td id="patientHeaderPatientTribe">
  308.  
  309. </td>
  310.  
  311.  
  312. <td id="patientDashboardHeaderExtension">
  313.  
  314. </td>
  315. <td style="width: 100%;" class="patientHeaderEmptyData">&nbsp;</td>
  316. <td id="patientHeaderOtherIdentifiers">
  317.  
  318.  
  319. </td>
  320.  
  321. </tr>
  322. </table>
  323. </div>
  324.  
  325. <div id="patientSubheader" class="box">
  326.  
  327.  
  328.  
  329.  
  330.  
  331.  
  332.  
  333.  
  334.  
  335.  
  336. <table id="patientHeaderObs">
  337.  
  338.  
  339.  
  340.  
  341. <tr class="patientObsRow">
  342. <th id="patientHeaderObsWeight">
  343. BMI: 100.0
  344. </th>
  345. <th class="patientHeaderObsWeightHeightHeader">
  346. <small>
  347. (
  348. Weight:
  349.  
  350.  
  351.  
  352.  
  353.  
  354.  
  355.  
  356.  
  357.  
  358.  
  359.  
  360.  
  361.  
  362.  
  363.  
  364.  
  365.  
  366.  
  367.  
  368.  
  369.  
  370. <span class="obsValue">
  371.  
  372. 100.0
  373.  
  374. </span>
  375.  
  376.  
  377.  
  378. <span class="obsUnits">kg</span>
  379.  
  380.  
  381.  
  382. <span class="obsDate"></span>
  383.  
  384.  
  385.  
  386.  
  387. ,
  388. Height:
  389.  
  390.  
  391.  
  392.  
  393.  
  394.  
  395.  
  396.  
  397.  
  398.  
  399.  
  400.  
  401.  
  402.  
  403.  
  404.  
  405.  
  406.  
  407.  
  408.  
  409.  
  410. <span class="obsValue">
  411.  
  412. 100.0
  413.  
  414. </span>
  415.  
  416.  
  417.  
  418. <span class="obsUnits">cm</span>
  419.  
  420.  
  421.  
  422. <span class="obsDate"></span>
  423.  
  424.  
  425.  
  426.  
  427. )
  428. </small>
  429. </th>
  430. <td id="patientHeaderObsCD4">
  431. CD4:
  432.  
  433.  
  434.  
  435.  
  436.  
  437.  
  438.  
  439.  
  440.  
  441.  
  442.  
  443.  
  444.  
  445.  
  446.  
  447.  
  448.  
  449.  
  450.  
  451.  
  452.  
  453.  
  454. </td>
  455. <td id="patientHeaderObsReturnVisit">
  456. Return Visit:
  457.  
  458.  
  459.  
  460.  
  461.  
  462.  
  463.  
  464.  
  465.  
  466.  
  467.  
  468.  
  469.  
  470.  
  471.  
  472.  
  473.  
  474.  
  475.  
  476.  
  477.  
  478.  
  479. </td>
  480. <td id="patientHeaderObsRegimen">
  481. Regimen:
  482. <span id="patientHeaderRegimen">
  483.  
  484. Hydrochlorothiazide (HCTZ)
  485.  
  486.  
  487. </span>
  488. </td>
  489. </tr>
  490. </table>
  491. <table class="patientLastEncounterTable"><tr class="patientLastEncounterRow">
  492. <td class="patientLastEncounterData">Last encounter:</td>
  493. <th>
  494.  
  495. ADULTRETURN @ BRMC, Oct 15, 2011
  496.  
  497.  
  498. </th>
  499. </tr></table>
  500.  
  501. </div>
  502.  
  503. <script type="text/javascript">
  504. function showMoreIdentifiers() {
  505. if (identifierElement.style.display == '') {
  506. linkElement.innerHTML = '-1 more';
  507. identifierElement.style.display = "none";
  508. }
  509. else {
  510. linkElement.innerHTML = '-1 less';
  511. identifierElement.style.display = "";
  512. }
  513. }
  514.  
  515. var identifierElement = document.getElementById("patientHeaderMoreIdentifiers");
  516. var linkElement = document.getElementById("patientHeaderShowMoreIdentifiers");
  517. if (identifierElement)
  518. identifierElement.style.display = "none";
  519.  
  520. </script>
  521. </div>
  522.  
  523.  
  524.  
  525. <div id="patientTabs">
  526. <ul>
  527.  
  528. <li><a id="patientOverviewTab" href="#" onclick="return changeTab(this);" hidefocus="hidefocus">Overview</a></li>
  529.  
  530.  
  531. <li><a id="patientRegimenTab" href="#" onclick="return changeTab(this);" hidefocus="hidefocus">Regimens</a></li>
  532.  
  533.  
  534. <li><a id="patientEncountersTab" href="#" onclick="return changeTab(this);" hidefocus="hidefocus">Encounters</a></li>
  535.  
  536.  
  537. <li><a id="patientDemographicsTab" href="#" onclick="return changeTab(this);" hidefocus="hidefocus">Demographics</a></li>
  538.  
  539.  
  540. <li><a id="patientGraphsTab" href="#" onclick="return changeTab(this);" hidefocus="hidefocus">Graphs</a></li>
  541.  
  542.  
  543.  
  544. <li><a id="formEntryTab" href="#" onclick="return changeTab(this);" hidefocus="hidefocus">Form Entry</a></li>
  545.  
  546.  
  547.  
  548.  
  549. <li>
  550. <a id="patientImageFormTab" href="#" onclick="return changeTab(this);" hidefocus="hidefocus">Patient Image</a>
  551. </li>
  552.  
  553.  
  554. </ul>
  555. </div>
  556.  
  557. <div id="patientSections">
  558.  
  559. <div id="patientOverview" style="display:none;">
  560.  
  561.  
  562. <div class='portlet' id='patientDashboardOverview'>
  563.  
  564.  
  565.  
  566.  
  567.  
  568.  
  569.  
  570.  
  571.  
  572. <script src="/openmrs/dwr/interface/DWRRelationshipService.js?v=1.8.2.21762" type="text/javascript" ></script>
  573. <script src="/openmrs/dwr/interface/DWRPatientService.js?v=1.8.2.21762" type="text/javascript" ></script>
  574. <script src="/openmrs/dwr/interface/DWRObsService.js?v=1.8.2.21762" type="text/javascript" ></script>
  575. <script src="/openmrs/dwr/interface/DWRConceptService.js?v=1.8.2.21762" type="text/javascript" ></script>
  576.  
  577. <script src="/openmrs/dwr/util.js?v=1.8.2.21762" type="text/javascript" ></script>
  578.  
  579.  
  580.  
  581.  
  582.  
  583.  
  584. <div id="patientActionsBoxHeader" class="boxHeader">Patient Actions</div>
  585. <div id="patientActionsBox" class="box">
  586. <table id="patientActions">
  587. <tr class="patientActionsRow">
  588. <td id="patientActionsPatientSummary">
  589.  
  590. <a href="javascript:window.open('module/patientsummary/patientsummary.form?patientId=3', 'summaryWindow', 'toolbar=no,width=660,height=600,resizable=yes,scrollbars=yes').focus()">Get Patient Summary</a>
  591.  
  592. </td>
  593. </tr>
  594. </table>
  595. <table id="patientActions">
  596.  
  597. <tr class="patientActionsRow">
  598.  
  599.  
  600. <td id="patientActionsOutcome">
  601. <div id="patientActionsOutcomeLink">
  602. <button id="cancelExitButton" onClick="return showExitForm();">Exit Patient from Care</button>
  603. </div>
  604. <div id="patientActionsOutcomeForm" style="display:none; padding: 3px; border: 1px black dashed">
  605. <form method="post" id="exitForm">
  606. <table id="outcomeFormTable">
  607. <tr class="patientOutcomeRow">
  608. <td id="patientActionsOutcomeReason">
  609. <span id="patientOutcomeTextReason">Type of exit</span>
  610.  
  611.  
  612.  
  613.  
  614.  
  615.  
  616.  
  617.  
  618.  
  619.  
  620.  
  621.  
  622.  
  623.  
  624.  
  625.  
  626.  
  627.  
  628.  
  629.  
  630.  
  631.  
  632.  
  633.  
  634.  
  635.  
  636.  
  637.  
  638.  
  639.  
  640.  
  641.  
  642.  
  643. <select name="reasonForExit" id="reasonForExit" onChange="updateCauseField()">
  644.  
  645.  
  646.  
  647.  
  648. <option value=""></option>
  649.  
  650.  
  651.  
  652.  
  653. </select>
  654.  
  655.  
  656.  
  657. </td>
  658. <td id="patientActionsCauseOfDeath" style="display:none;">
  659. <span id="patientOutcomeTextDeathCause">Cause of Death</span>
  660.  
  661.  
  662.  
  663.  
  664.  
  665.  
  666.  
  667.  
  668.  
  669.  
  670.  
  671.  
  672.  
  673.  
  674.  
  675.  
  676.  
  677.  
  678.  
  679.  
  680.  
  681.  
  682.  
  683.  
  684.  
  685.  
  686.  
  687.  
  688.  
  689.  
  690.  
  691.  
  692.  
  693.  
  694.  
  695.  
  696.  
  697.  
  698. <script src="/openmrs/scripts/jquery/autocomplete/OpenmrsAutoComplete.js?v=1.8.2.21762" type="text/javascript" ></script>
  699.  
  700.  
  701.  
  702.  
  703.  
  704.  
  705.  
  706.  
  707.  
  708.  
  709. <script type="text/javascript">
  710.  
  711. $j(document).ready( function() {
  712.  
  713. var includeC = "".split(",");
  714. var excludeC = "".split(",");
  715. var includeD = "".split(",");
  716. var excludeD = "".split(",");
  717.  
  718. // the typical callback
  719. var callback = new CreateCallback({includeClasses:includeC, excludeClasses:excludeC, includeDatatypes:includeD, excludeDatatypes:excludeD}).conceptCallback();
  720.  
  721.  
  722. //override the callback with one that actually goes to the answers
  723. callback = new CreateCallback({showAnswersFor: "5002"}).conceptAnswersCallback();
  724.  
  725.  
  726. // set up the autocomplete
  727. new AutoComplete("causeOfDeath_id_selection", callback, {
  728. select: function(event, ui) {
  729. funccauseOfDeathAutoCompleteOnSelect(ui.item.object, ui.item);
  730. }
  731. });
  732.  
  733.  
  734.  
  735.  
  736. // show the autocomplete and all answers on focus
  737. jquerySelectEscaped("causeOfDeath_id_selection").autocomplete("option", "minLength", 0);
  738. jquerySelectEscaped("causeOfDeath_id_selection").autocomplete().focus(function(event, ui) {
  739. if (event.target.value == "") {
  740. jquerySelectEscaped("causeOfDeath_id_selection").autocomplete("search", ""); //trigger('keydown.autocomplete');
  741. }
  742. }); // trigger the drop down on focus
  743.  
  744.  
  745. })
  746.  
  747. function funccauseOfDeathAutoCompleteOnSelect(concept, item) {
  748. jquerySelectEscaped('causeOfDeath_id').val(concept.conceptId);
  749.  
  750. // if called with initialValue, show the name ourselves
  751. if (!item)
  752. jquerySelectEscaped('causeOfDeath_id_selection').val(concept.name);
  753.  
  754.  
  755. // if showOther is the concept that is selected, show a text field so user can enter that "other" data
  756. if (concept && concept.conceptId == 5622) {
  757. jquerySelectEscaped("causeOfDeath_id_other").show();
  758. }
  759. else
  760. jquerySelectEscaped("causeOfDeath_id_other").hide();
  761.  
  762.  
  763.  
  764. }
  765. </script>
  766.  
  767. <input type="text" id="causeOfDeath_id_selection" />
  768. <input type="hidden" name="causeOfDeath" id="causeOfDeath_id" />
  769. <input type="text" name="causeOfDeath_other" id="causeOfDeath_id_other" style="display:none" value=""/>
  770.  
  771.  
  772.  
  773.  
  774.  
  775.  
  776.  
  777.  
  778. </td>
  779. </tr>
  780. <tr class="patientOutcomeRow">
  781. <td id="patientActionsOutcomeDate">
  782. <span id="patientOutcomeTextExitDate">Date of exit</span>
  783.  
  784.  
  785.  
  786.  
  787.  
  788.  
  789.  
  790.  
  791.  
  792.  
  793.  
  794.  
  795.  
  796.  
  797.  
  798.  
  799.  
  800.  
  801.  
  802.  
  803.  
  804. <script src="/openmrs/scripts/calendar/calendar.js?v=1.8.2.21762" type="text/javascript" ></script>
  805.  
  806.  
  807.  
  808.  
  809. <!--
  810.  
  811.  
  812.  
  813. -->
  814.  
  815.  
  816.  
  817.  
  818. <input type="text" id="dateOfExit" name="dateOfExit" size="10" value="" onFocus="showCalendar(this)" /><span class="datePatternHint"> (mm/dd/yyyy)</span>
  819.  
  820.  
  821.  
  822.  
  823. </td>
  824. <td id="patientActionsOutcomeSave">
  825. <input type="button" onClick="javascript:exitFormValidate();" value="Save" />
  826. <input type="button" onClick="javascript:hideExitForm();" value="Cancel" />
  827. </td>
  828. </tr>
  829. </table>
  830. </form>
  831. </div>
  832. <script>
  833. <!--
  834.  
  835. function updateCauseField() {
  836. var outcomeType = dwr.util.getValue("reasonForExit");
  837.  
  838.  
  839. if ( outcomeType == '1742' ) {
  840. showDiv("patientActionsCauseOfDeath");
  841. } else {
  842. hideDiv("patientActionsCauseOfDeath");
  843. }
  844. }
  845.  
  846. function showExitForm() {
  847. showDiv("patientActionsOutcomeForm");
  848. hideDiv("patientActionsOutcomeLink");
  849. }
  850.  
  851. function hideExitForm() {
  852. showDiv("patientActionsOutcomeLink");
  853. hideDiv("patientActionsOutcomeForm");
  854. }
  855.  
  856. function exitFormValidate() {
  857. var outcomeType = dwr.util.getValue("reasonForExit");
  858. var outcomeDate = dwr.util.getValue("dateOfExit");
  859. var outcomeCauseOfDeath = dwr.util.getValue("causeOfDeath");
  860. var outcomeCauseOther = dwr.util.getValue("causeOfDeath_other");
  861.  
  862. if ( outcomeType == '' ) {
  863. alert("You must supply a valid type of exit to proceed");
  864. return;
  865. }
  866.  
  867. if ( outcomeDate == '' ) {
  868. alert("You must supply a valid date of exit to proceed");
  869. return;
  870. }
  871.  
  872. if ( outcomeType == '1742' && outcomeCauseOfDeath == '' ) {
  873. alert("You must supply a valid cause of death if indicating that a patient has died");
  874. return
  875. }
  876.  
  877. if ( outcomeType && outcomeDate ) {
  878. var exitTypeSelect = document.getElementById("reasonForExit");
  879. var exitTypeText = exitTypeSelect[exitTypeSelect.selectedIndex].text;
  880. var answer = confirm("You have chosen to end patient care for this patient for the following reason and on the following date - are you sure you want to proceed?" + "\nType of exit: " + exitTypeText + "\nDate of exit: " + outcomeDate);
  881. if ( answer ) {
  882. DWRPatientService.exitPatientFromCare( 3, outcomeType, outcomeDate, outcomeCauseOfDeath, outcomeCauseOther, confirmExit );
  883. }
  884. }
  885. }
  886.  
  887. function confirmExit(message) {
  888. if ( message == '' ) {
  889. // patient has been exited, let's refresh the page
  890. window.location.reload();
  891. } else {
  892. alert(message);
  893. }
  894. }
  895. -->
  896. </script>
  897. </td>
  898.  
  899.  
  900. </tr>
  901. </table>
  902. </div>
  903. <br />
  904.  
  905.  
  906.  
  907.  
  908. <div id="patientProgramsBoxHeader" class="boxHeader">Programs</div>
  909. <div id="patientProgramsBox" class="box">
  910. <div class='portlet' id='patientPrograms'>
  911.  
  912.  
  913.  
  914.  
  915.  
  916.  
  917.  
  918.  
  919.  
  920.  
  921.  
  922. <script src="/openmrs/dwr/interface/DWRProgramWorkflowService.js?v=1.8.2.21762" type="text/javascript" ></script>
  923.  
  924.  
  925.  
  926. <script type="text/javascript">
  927. function getDateString(d) {
  928. var str = '';
  929. if (d != null) {
  930. var date = d.getDate();
  931. if (date < 10)
  932. str += "0";
  933. str += date;
  934. str += '-';
  935. var month = d.getMonth() + 1;
  936. if (month < 10)
  937. str += "0";
  938. str += month;
  939. str += '-';
  940. str += (d.getYear() + 1900);
  941. }
  942. return str;
  943. }
  944.  
  945. function isEmpty(o) {
  946. return o == null || o == '';
  947. }
  948.  
  949.  
  950. function formatDate(ymd) {
  951. if (ymd == null || ymd == '')
  952. return '';
  953.  
  954.  
  955.  
  956. return ymd.substring(5, 7) + '/' + ymd.substring(8, 10) + '/' + ymd.substring(0, 4);
  957.  
  958.  
  959. }
  960.  
  961. function parseDate(date) {
  962. if (date == null || date == '')
  963. return '';
  964.  
  965.  
  966.  
  967. // mm/dd/yyyy 01/34/6789
  968. return date.substring(6,10) + '-' + date.substring(0,2) + '-' + date.substring(3,5);
  969.  
  970.  
  971. }
  972.  
  973. var currentProgramBeingEdited = null;
  974. var currentWorkflowBeingEdited = null;
  975. var patientProgramForWorkflowEdited = null;
  976.  
  977. function handleSaveProgram() {
  978. if (currentProgramBeingEdited == null)
  979. return;
  980. var idToSave = currentProgramBeingEdited;
  981. var startDate = parseDate($('enrollmentDateElement').value);
  982. var endDate = parseDate($('completionDateElement').value);
  983. var locationId = $('programLocationElement').value;
  984. currentProgramBeingEdited = null;
  985. DWRProgramWorkflowService.updatePatientProgram(idToSave, startDate, endDate, locationId, function() {
  986. hideLayer('editPatientProgramPopup');
  987. refreshPage();
  988. });
  989. }
  990.  
  991. function handleDeleteProgram() {
  992. if (currentProgramBeingEdited == null)
  993. return;
  994. var idToDelete = currentProgramBeingEdited;
  995. var voidReason = document.getElementById("voidReason_PatientProgram").value;
  996. DWRProgramWorkflowService.deletePatientProgram(idToDelete, voidReason , function() {
  997. hideLayer('editPatientProgramPopup');
  998. refreshPage();
  999. });
  1000. }
  1001.  
  1002. function handleChangeWorkflowState() {
  1003. if (currentWorkflowBeingEdited == null)
  1004. return;
  1005.  
  1006. var ppId = patientProgramForWorkflowEdited;
  1007. var wfId = currentWorkflowBeingEdited;
  1008. var stateId = DWRUtil.getValue('changeToState');
  1009. var onDate = parseDate(DWRUtil.getValue('changeStateOnDate'));
  1010. DWRProgramWorkflowService.changeToState(ppId, wfId, stateId, onDate, function() {
  1011. currentWorkflowBeingEdited = null;
  1012. refreshPage();
  1013. });
  1014. }
  1015.  
  1016. function handleVoidLastState() {
  1017. var patientProgramId = patientProgramForWorkflowEdited;
  1018. var programWorkflowId = currentWorkflowBeingEdited;
  1019. DWRProgramWorkflowService.voidLastState(patientProgramId, programWorkflowId, '', function() {
  1020. currentWorkflowBeingEdited = null;
  1021. patientProgramForWorkflowEdited = null;
  1022. refreshPage();
  1023. });
  1024. }
  1025.  
  1026. function showEditWorkflowPopup(wfName, patientProgramId, programWorkflowId) {
  1027. hideLayer('editPatientProgramPopup');
  1028. currentWorkflowBeingEdited = programWorkflowId;
  1029. patientProgramForWorkflowEdited = patientProgramId;
  1030. showLayer('editWorkflowPopup');
  1031. $('workflowPopupTitle').innerHTML = wfName;
  1032. dwr.util.removeAllRows('workflowTable');
  1033. dwr.util.addRows('workflowTable', ['Loading...'], [ function(s) { return s; } ], { escapeHtml:false });
  1034. dwr.util.removeAllOptions('changeToState');
  1035. dwr.util.addOptions('changeToState', ['Loading...']);
  1036. $('changeStateOnDate').value = '';
  1037. DWRProgramWorkflowService.getPatientStates(patientProgramId, programWorkflowId, function(states) {
  1038. dwr.util.removeAllRows('workflowTable');
  1039. var count = 0;
  1040. var goUntil = states.length;
  1041. dwr.util.addRows('workflowTable', states, [
  1042. function(state) { return state.stateName; },
  1043. function(state) {
  1044. ++count;
  1045. var str = '';
  1046. if (!isEmpty(state.startDate)) str += ' from ' + getDateString(state.startDate);
  1047. if (!isEmpty(state.endDate)) str += ' until ' + getDateString(state.endDate);
  1048. if (count == goUntil)
  1049. str += ' <a href="javascript:handleVoidLastState()" style="color: red">[x]</a>';
  1050. return str;
  1051. },
  1052. function(state) {
  1053. var str = '';
  1054. str += '<small>&nbsp;&nbsp;';
  1055. str += 'Created By&nbsp;';
  1056. str += state.creator;
  1057. str += '&nbsp;on&nbsp;';
  1058. str += getDateString(state.dateCreated);
  1059. str += '</small>';
  1060. return str;
  1061. }
  1062. ], { escapeHtml:false });
  1063. });
  1064. DWRProgramWorkflowService.getPossibleNextStates(patientProgramId, programWorkflowId, function(items) {
  1065. dwr.util.removeAllOptions('changeToState');
  1066. dwr.util.addOptions('changeToState', {'': 'Select a state' });
  1067. dwr.util.addOptions('changeToState', items, 'id', 'name');
  1068. });
  1069. }
  1070.  
  1071. function setEditPatientProgramPopupSelectedLocation(locationId) {
  1072. locationSelect = document.getElementById("programLocationElement");
  1073.  
  1074. for (i=0;i<=locationSelect.length-1;i++) {
  1075. if (locationSelect.options[i].value == locationId) {
  1076. locationSelect.selectedIndex = i;
  1077. break;
  1078. }
  1079. }
  1080. }
  1081.  
  1082. function showEditPatientProgramPopup(patientProgramId) {
  1083. hideLayer('editWorkflowPopup');
  1084. hideLayer('changedByTR');
  1085. currentProgramBeingEdited = patientProgramId;
  1086. $('programNameElement').innerHTML = 'Loading...';
  1087. $('enrollmentDateElement').value = '';
  1088. $('completionDateElement').value = '';
  1089. showLayer('editPatientProgramPopup');
  1090. DWRProgramWorkflowService.getPatientProgram(patientProgramId, function(program) {
  1091. $('programNameElement').innerHTML = program.name;
  1092. $('enrollmentDateElement').value = formatDate(program.dateEnrolledAsYmd);
  1093. $('completionDateElement').value = formatDate(program.dateCompletedAsYmd);
  1094.  
  1095. setEditPatientProgramPopupSelectedLocation(program.location.locationId);
  1096.  
  1097. $('createdByElement').innerHTML = program.creator;//program.creator is just a String object, not User class
  1098. $('dateCreatedElement').innerHTML = getDateString(program.dateCreated);
  1099. //show changedBy and date_changed only if changedBy is not empty
  1100. if(!isEmpty(program.changedBy)){
  1101. $('changedByElement').innerHTML = program.changedBy;//program.creator is just a String object, not User class
  1102. $('dateChangedElement').innerHTML = getDateString(program.dateChanged);
  1103. showLayer('changedByTR');
  1104. }
  1105. });
  1106. }
  1107. </script>
  1108.  
  1109. <div id="editPatientProgramPopup" style="position: absolute; background-color: #e0e0e0; z-index: 5; padding: 10px; border: 1px black dashed; display: none">
  1110. <table>
  1111. <tr>
  1112. <td>Program:</td>
  1113. <td><b><span id="programNameElement"></span></b></td>
  1114. </tr>
  1115. <tr>
  1116. <td>Location:</td>
  1117. <td>
  1118. <select name="locationId" id="programLocationElement">
  1119. <option value="">Choose a location...</option>
  1120.  
  1121.  
  1122. <option value="1">BRMC</option>
  1123.  
  1124.  
  1125.  
  1126.  
  1127.  
  1128. </select>
  1129. </td>
  1130. </tr>
  1131. <tr>
  1132. <td>Enrollment Date:</td>
  1133. <td><input type="text" id="enrollmentDateElement" size="10" onClick="showCalendar(this)" /></td>
  1134. </tr>
  1135. <tr>
  1136. <td>Completion Date:</td>
  1137. <td><input type="text" id="completionDateElement" size="10" onClick="showCalendar(this)" /></td>
  1138. </tr>
  1139. <tr>
  1140. <td>Created By:</td><td><span id="createdByElement"></span>&nbsp;on&nbsp;<span id="dateCreatedElement"></span></td>
  1141. </tr>
  1142. <tr id="changedByTR" style="display:none;">
  1143. <td>Changed By:</td><td><span id="changedByElement"></span>&nbsp;on&nbsp;<span id="dateChangedElement"></span></td>
  1144. </tr>
  1145. </table>
  1146. <table width="400">
  1147. <tr>
  1148. <td align="center">
  1149. <input type="button" value="Save" onClick="handleSaveProgram()" />
  1150. </td>
  1151. <td align="center">
  1152. <input type="button" value="Cancel" onClick="currentProgramBeingEdited = null; hideLayer('editPatientProgramPopup')" />
  1153. </td>
  1154. <td align="center">
  1155. <!-- <input type="button" value="Delete" onClick="handleDeleteProgram()" /> -->
  1156. <span style="position: relative">
  1157. <input type="button" id="deletePatientProgramButton" value="Delete" onClick="showDiv('deletePatientProgramDiv')" />
  1158. <div id="deletePatientProgramDiv" style="position: absolute; padding: 1em; bottom: -5px; left: 0px; z-index: 9; width: 250px; border: 1px black solid; background-color: #E0E0F0; display: none">
  1159. Reason to Delete:&nbsp;&nbsp;<input type="text" id="voidReason_PatientProgram" size="15" />
  1160. <br/><br/>
  1161. <div align="center">
  1162. <input type="button" value="Delete" onclick="handleDeleteProgram()"/>
  1163. &nbsp; &nbsp; &nbsp;
  1164. <input type="button" value="Cancel" onClick="hideDiv('deletePatientProgramDiv')"/>
  1165. </div>
  1166. </div>
  1167. </span>
  1168. </td>
  1169. </tr>
  1170.  
  1171. </table>
  1172. </div>
  1173. <div id="editWorkflowPopup" style="position: absolute; background-color: #e0e0e0; z-index: 5; padding: 10px; border: 1px black dashed; display: none">
  1174. <b><u><span id="workflowPopupTitle"></span></u></b>
  1175. <table id="workflowTable">
  1176. </table>
  1177.  
  1178. Change to
  1179. <select id="changeToState"><option value="">Loading...</option></select>
  1180. on
  1181. <input type="text" id="changeStateOnDate" size="10" onClick="showCalendar(this)" />
  1182.  
  1183. <input type="button" value="Change" onClick="handleChangeWorkflowState()" />
  1184. <input type="button" value="Close" onClick="currentWorkflowBeingEdited = null; hideLayer('editWorkflowPopup')" />
  1185. </div>
  1186.  
  1187.  
  1188.  
  1189. Not enrolled in any programs<br/><br/>
  1190.  
  1191.  
  1192.  
  1193.  
  1194. </table>
  1195.  
  1196. <script type="text/javascript">
  1197. $j(document).ready(function() {
  1198.  
  1199. $j('#addProgramLink').click(function(event){
  1200. $j('#enrollInProgramDialog').dialog('open');
  1201. });
  1202.  
  1203. $j('#programSelector').change(function(event){
  1204. $j(".workflowSection").hide();
  1205. $j("#initialStateSection").hide();
  1206. var pId = $j(this).val();
  1207. if (pId && pId != null && pId != '') {
  1208. $j("#initialStateSection").show();
  1209. $j("#workflowSection"+pId).show();
  1210. }
  1211. });
  1212.  
  1213. $j('#enrollInProgramDialog').dialog({
  1214. position: 'top',
  1215. autoOpen: false,
  1216. modal: true,
  1217. title: 'Add a new program',
  1218. width: '90%',
  1219. zIndex: 100,
  1220. buttons: { 'Enroll': function() { handleEnrollInProgram(); },
  1221. 'Cancel': function() { $j(this).dialog("close"); }
  1222. }
  1223. });
  1224. });
  1225.  
  1226. function handleEnrollInProgram() {
  1227. $j('#enrollForm').submit();
  1228. }
  1229. </script>
  1230.  
  1231. <div id="enrollInProgramDialog" style="display:none;">
  1232. <br/>
  1233. <div id="enrollError" class="error" style="display:none;"></div>
  1234. <form id="enrollForm" name="enrollForm" method="post" action="/openmrs/admin/programs/patientProgram.form">
  1235. <input type="hidden" name="method" value="enroll"/>
  1236. <input type="hidden" name="patientId" value="3"/>
  1237. <input type="hidden" name="returnPage" value="/openmrs/patientDashboard.form?patientId=3"/>
  1238. <table style="margin: 0px 0px 1em 2em;">
  1239. <tr>
  1240. <td nowrap>Program:</td>
  1241. <td>
  1242. <select id="programSelector" name="programId">
  1243. <option value="">Choose a program...</option>
  1244.  
  1245.  
  1246. <option id="programOption1" value="1">Diabetes Mellitus Management</option>
  1247.  
  1248.  
  1249.  
  1250. <option id="programOption2" value="2">Hypertension Management</option>
  1251.  
  1252.  
  1253. </select>
  1254. </td>
  1255. </tr>
  1256. <tr>
  1257. <td nowrap>Enrollment Date:</td>
  1258. <td>
  1259.  
  1260.  
  1261.  
  1262.  
  1263.  
  1264.  
  1265.  
  1266.  
  1267.  
  1268.  
  1269.  
  1270.  
  1271.  
  1272.  
  1273.  
  1274. <!--
  1275.  
  1276.  
  1277.  
  1278. -->
  1279.  
  1280.  
  1281.  
  1282.  
  1283. <input type="text" id="dateEnrolled" name="dateEnrolled" size="10" value="" onFocus="showCalendar(this)" /><span class="datePatternHint"> (mm/dd/yyyy)</span>
  1284.  
  1285.  
  1286. </td>
  1287. </tr>
  1288. <tr>
  1289. <td nowrap>Location:</td>
  1290. <td>
  1291. <select name="locationId">
  1292. <option value="">Choose a location...</option>
  1293.  
  1294.  
  1295. <option value="1">BRMC</option>
  1296.  
  1297.  
  1298.  
  1299.  
  1300.  
  1301. </select>
  1302. </td>
  1303. </tr>
  1304. <tr><td colspan="2">&nbsp;</td></tr>
  1305. <tr id="initialStateSection" style="display:none;">
  1306. <td valign="top">Initial States<br/>(optional)</td>
  1307. <td>
  1308.  
  1309. <table id="workflowSection1" style="display:none;" class="workflowSection">
  1310.  
  1311. <tr>
  1312. <th align="left">Diabetic Retinopathy</th>
  1313. <td>
  1314. <select name="initialState.1">
  1315. <option value=""></option>
  1316.  
  1317. </select>
  1318. </td>
  1319. </tr>
  1320.  
  1321. <tr>
  1322. <th align="left">Diabetic Foot Ulcer</th>
  1323. <td>
  1324. <select name="initialState.2">
  1325. <option value=""></option>
  1326.  
  1327. </select>
  1328. </td>
  1329. </tr>
  1330.  
  1331. <tr>
  1332. <th align="left">DIASTOLIC BLOOD PRESSURE</th>
  1333. <td>
  1334. <select name="initialState.3">
  1335. <option value=""></option>
  1336.  
  1337. </select>
  1338. </td>
  1339. </tr>
  1340.  
  1341. <tr>
  1342. <th align="left">SERUM GLUCOSE</th>
  1343. <td>
  1344. <select name="initialState.4">
  1345. <option value=""></option>
  1346.  
  1347. </select>
  1348. </td>
  1349. </tr>
  1350.  
  1351. <tr>
  1352. <th align="left">SYSTOLIC BLOOD PRESSURE</th>
  1353. <td>
  1354. <select name="initialState.5">
  1355. <option value=""></option>
  1356.  
  1357. </select>
  1358. </td>
  1359. </tr>
  1360.  
  1361. </table>
  1362.  
  1363. <table id="workflowSection2" style="display:none;" class="workflowSection">
  1364.  
  1365. <tr>
  1366. <th align="left">URINE DIPSTICK</th>
  1367. <td>
  1368. <select name="initialState.6">
  1369. <option value=""></option>
  1370.  
  1371. </select>
  1372. </td>
  1373. </tr>
  1374.  
  1375. <tr>
  1376. <th align="left">HYDROCHLOROTHIAZIDE</th>
  1377. <td>
  1378. <select name="initialState.7">
  1379. <option value=""></option>
  1380.  
  1381. </select>
  1382. </td>
  1383. </tr>
  1384.  
  1385. <tr>
  1386. <th align="left">DIASTOLIC BLOOD PRESSURE</th>
  1387. <td>
  1388. <select name="initialState.8">
  1389. <option value=""></option>
  1390.  
  1391. </select>
  1392. </td>
  1393. </tr>
  1394.  
  1395. <tr>
  1396. <th align="left">SYSTOLIC BLOOD PRESSURE</th>
  1397. <td>
  1398. <select name="initialState.9">
  1399. <option value=""></option>
  1400.  
  1401. </select>
  1402. </td>
  1403. </tr>
  1404.  
  1405. </table>
  1406.  
  1407. </td>
  1408. </tr>
  1409. </table>
  1410. </form>
  1411. </div>
  1412.  
  1413.  
  1414.  
  1415. <a href="#" id="addProgramLink">Add a new program</a>
  1416.  
  1417. </div>
  1418. </div>
  1419. <br/>
  1420.  
  1421.  
  1422.  
  1423.  
  1424.  
  1425.  
  1426. <div id="patientRelationshipsBoxHeader" class="boxHeader">Relationships</div>
  1427. <div id="patientRelationshipsBox" class="box">
  1428. <div class='portlet' id=''>
  1429.  
  1430.  
  1431.  
  1432.  
  1433.  
  1434.  
  1435.  
  1436.  
  1437.  
  1438.  
  1439.  
  1440. <style type="text/css">
  1441. .relTable td {
  1442. padding-right: 10px;
  1443. padding-left: 10px;
  1444. }
  1445. </style>
  1446.  
  1447. <script type="text/javascript">
  1448.  
  1449. $j(document).ready(function() {
  1450. $j('#addRelationship').dialog({
  1451. autoOpen: false,
  1452. modal: true,
  1453. title: 'Add a new relationship',
  1454. width: '30%',
  1455. zIndex: 100,
  1456. buttons: {
  1457. 'Save': function() { handleAddRelationship(); },
  1458. 'Cancel': function() { $j(this).dialog("close"); }
  1459. }
  1460. });
  1461.  
  1462. $j("#addRelationshipLink").click(function(){
  1463. clearAddRelationship();
  1464. $j("#addRelationship").dialog("open");
  1465. return false;
  1466. });
  1467.  
  1468. $j('#voidRelationship').dialog({
  1469. autoOpen: false,
  1470. modal: true,
  1471. title: 'Remove Relationship',
  1472. width: '30%',
  1473. zIndex: 100,
  1474. buttons: {
  1475. 'Remove': function() { handleVoidRelationship(); },
  1476. 'Cancel': function() { $j(this).dialog("close"); }
  1477. }
  1478. });
  1479.  
  1480. refreshRelationshipsInitial();
  1481. });
  1482.  
  1483. function refreshRelationships() {
  1484. DWRRelationshipService.getRelationships(3, null, refreshRelationshipsCallback);
  1485. }
  1486.  
  1487. function refreshRelationshipsInitial() {
  1488. var rels = new Array();
  1489. var rel;
  1490.  
  1491. rel = new Object();
  1492. rel.relationshipId = 1;
  1493. rel.personA = 'Michael Anthony Morris';
  1494. rel.personB = 'John Doe';
  1495. rel.aIsToB = 'Doctor';
  1496. rel.bIsToA = 'Patient';
  1497. rel.personAId = 2;
  1498. rel.personBId = 3;
  1499. rel.personAIsPatient = false;
  1500. rel.personBIsPatient = true;
  1501. rels.push(rel);
  1502.  
  1503. rel = new Object();
  1504. rel.relationshipId = 2;
  1505. rel.personA = 'Michael Anthony Morris';
  1506. rel.personB = 'John Doe';
  1507. rel.aIsToB = 'Medical Student';
  1508. rel.bIsToA = 'Patient';
  1509. rel.personAId = 2;
  1510. rel.personBId = 3;
  1511. rel.personAIsPatient = false;
  1512. rel.personBIsPatient = true;
  1513. rels.push(rel);
  1514.  
  1515. refreshRelationshipsCallback(rels);
  1516. }
  1517.  
  1518. var relTableCellFuncs = [
  1519. function(data) { return data[1]; },
  1520. function(data) { return data[2]; },
  1521. function(data) {
  1522. return '<a href="javascript:voidRelationshipDialog(' + data[0] + ')" title="">' +
  1523. '<img src="images/delete.gif" border="0" title="Remove"/>' +
  1524. '</a>';
  1525. }
  1526. ];
  1527.  
  1528. var relationships = {};
  1529.  
  1530. function refreshRelationshipsCallback(rels) {
  1531. relationships = {};
  1532. dwr.util.removeAllRows("relationshipTableContent");
  1533. if (rels.length == 0) {
  1534. $j("#no_relationships").html('None<br /><br />');
  1535. hideDiv("relationshipTable");
  1536. showDiv("no_relationships");
  1537. } else {
  1538. for (var i = 0; i < rels.length; ++i) {
  1539. var rel = rels[i];
  1540. var relation = rel.personAId == 3 ? rel.bIsToA : rel.aIsToB;
  1541. var relative = '';
  1542.  
  1543. if (rel.personAId == 3) {
  1544. if (rel.personBIsPatient)
  1545. relative = '<a href="patientDashboard.form?patientId=' + rel.personBId + '">' + rel.personB + '</a>';
  1546. else
  1547. relative = '<a href="personDashboard.form?personId=' + rel.personBId + '">' + rel.personB + '</a>';
  1548. } else if (rel.personBId == 3) {
  1549. if (rel.personAIsPatient)
  1550. relative = '<a href="patientDashboard.form?patientId=' + rel.personAId + '">' + rel.personA + '</a>';
  1551. else
  1552. relative = '<a href="personDashboard.form?personId=' + rel.personAId + '">' + rel.personA + '</a>';
  1553. }
  1554.  
  1555. relationships[rel.relationshipId] = relative + " (" + relation + ")";
  1556. dwr.util.addRows('relationshipTableContent',
  1557. [ [rel.relationshipId, relative, relation] ],
  1558. relTableCellFuncs,
  1559. {escapeHtml: false});
  1560. }
  1561. hideDiv("no_relationships");
  1562. showDiv("relationshipTable");
  1563. }
  1564. }
  1565.  
  1566. function handleAddRelationship() {
  1567. var personIdB = 3;
  1568. var personIdA = $j("#add_rel_target_id").val();
  1569.  
  1570. if (personIdA == personIdB) {
  1571. window.alert('You can\'t create a relationship between a person and themself');
  1572. return;
  1573. }
  1574.  
  1575. var relType = dwr.util.getValue('add_relationship_type');
  1576. if (relType == null || relType == '' || personIdA == null || personIdA == '' || personIdB == null || personIdB == '') {
  1577. window.alert('You must specify a person and a relationship type');
  1578. return;
  1579. }
  1580.  
  1581. var reverseIndex = relType.indexOf('::reverse');
  1582. if (reverseIndex > 0) {
  1583. relType = relType.substring(0, reverseIndex);
  1584. var temp = personIdA;
  1585. personIdA = personIdB;
  1586. personIdB = temp;
  1587. }
  1588.  
  1589. $j("#addRelationship").dialog("close");
  1590. clearAddRelationship();
  1591. DWRRelationshipService.createRelationship(personIdA, personIdB, relType, refreshRelationships);
  1592. }
  1593.  
  1594. function clearAddRelationship() {
  1595. $j("#add_rel_target_id").val("");
  1596. $j("#add_rel_display_id").val("");
  1597. $j("#add_relationship_type").val("");
  1598. hideDiv('add_rel_details');
  1599. }
  1600.  
  1601. function voidRelationshipDialog(relId) {
  1602. $j("#voidRelationship #relationship_desc").html(relationships[relId]);
  1603. $j("#voidRelationship #relationship_id").val(relId);
  1604. $j("#voidRelationship #relationship_void_reason").val("");
  1605. $j("#voidRelationship").dialog("open");
  1606. $j("#voidRelationship #relationship_void_reason").focus();
  1607. }
  1608.  
  1609. function handleVoidRelationship() {
  1610. var relId = $j("#voidRelationship #relationship_id").val();
  1611. var reason = $j("#voidRelationship #relationship_void_reason").val();
  1612. $j("#voidRelationship").dialog("close");
  1613. if (reason != null && reason != '') {
  1614. DWRRelationshipService.voidRelationship(relId, reason, refreshRelationships);
  1615. }
  1616. }
  1617.  
  1618. function handlePickRelType(value, label) {
  1619. dwr.util.setValue('add_relationship_type', value);
  1620. document.getElementById('add_relationship_name').innerHTML = label;
  1621. showDiv('add_rel_details');
  1622. }
  1623.  
  1624. </script>
  1625.  
  1626. <div id="patientRelationshipPortlet">
  1627. <div id="no_relationships">
  1628. Loading...<br />
  1629. </div>
  1630.  
  1631. <table style="margin: 0px 0px 1em 2em;" cellpadding="3" cellspacing="0" id="relationshipTable" class="relTable">
  1632. <thead>
  1633. <tr bgcolor="whitesmoke">
  1634. <td>Relative</td>
  1635. <td>Relationship</td>
  1636. <td></td>
  1637. </tr>
  1638. </thead>
  1639. <tbody id="relationshipTableContent"></tbody>
  1640. </table>
  1641.  
  1642. <a id="addRelationshipLink" href="#">Add a new relationship</a>
  1643.  
  1644. <div id="addRelationship">
  1645. What type of relationship?
  1646. <table style="margin: 0px 0px 1em 2em;">
  1647.  
  1648. <tr>
  1649.  
  1650.  
  1651.  
  1652. <td style="text-align: right; white-space: nowrap; width: 49%">
  1653. <a onclick="handlePickRelType('5', 'Medical Student')">Medical Student</a>
  1654. </td>
  1655. <td width="2%">:</td>
  1656. <td style="text-align: left; white-space: nowrap; width: 49%">
  1657. <a onclick="handlePickRelType('5::reverse', 'Patient')">Patient</a>
  1658. </td>
  1659.  
  1660.  
  1661. </tr>
  1662.  
  1663. <tr>
  1664.  
  1665.  
  1666.  
  1667. <td style="text-align: right; white-space: nowrap; width: 49%">
  1668. <a onclick="handlePickRelType('6', 'Undergraduate Student')">Undergraduate Student</a>
  1669. </td>
  1670. <td width="2%">:</td>
  1671. <td style="text-align: left; white-space: nowrap; width: 49%">
  1672. <a onclick="handlePickRelType('6::reverse', 'Patient')">Patient</a>
  1673. </td>
  1674.  
  1675.  
  1676. </tr>
  1677.  
  1678. <tr>
  1679.  
  1680.  
  1681.  
  1682. <td style="text-align: right; white-space: nowrap; width: 49%">
  1683. <a onclick="handlePickRelType('7', 'Graduate Student')">Graduate Student</a>
  1684. </td>
  1685. <td width="2%">:</td>
  1686. <td style="text-align: left; white-space: nowrap; width: 49%">
  1687. <a onclick="handlePickRelType('7::reverse', 'Patient')">Patient</a>
  1688. </td>
  1689.  
  1690.  
  1691. </tr>
  1692.  
  1693. <tr>
  1694.  
  1695.  
  1696.  
  1697. <td style="text-align: right; white-space: nowrap; width: 49%">
  1698. <a onclick="handlePickRelType('1', 'Doctor')">Doctor</a>
  1699. </td>
  1700. <td width="2%">:</td>
  1701. <td style="text-align: left; white-space: nowrap; width: 49%">
  1702. <a onclick="handlePickRelType('1::reverse', 'Patient')">Patient</a>
  1703. </td>
  1704.  
  1705.  
  1706. </tr>
  1707.  
  1708. <tr>
  1709.  
  1710.  
  1711. <td style="text-align: center; white-space: nowrap" align="center" colspan="3">
  1712. <a href="javascript:handlePickRelType('2', 'Sibling')">Sibling</a>
  1713. </td>
  1714.  
  1715.  
  1716.  
  1717. </tr>
  1718.  
  1719. <tr>
  1720.  
  1721.  
  1722.  
  1723. <td style="text-align: right; white-space: nowrap; width: 49%">
  1724. <a onclick="handlePickRelType('3', 'Parent')">Parent</a>
  1725. </td>
  1726. <td width="2%">:</td>
  1727. <td style="text-align: left; white-space: nowrap; width: 49%">
  1728. <a onclick="handlePickRelType('3::reverse', 'Child')">Child</a>
  1729. </td>
  1730.  
  1731.  
  1732. </tr>
  1733.  
  1734. <tr>
  1735.  
  1736.  
  1737.  
  1738. <td style="text-align: right; white-space: nowrap; width: 49%">
  1739. <a onclick="handlePickRelType('4', 'Aunt/Uncle')">Aunt/Uncle</a>
  1740. </td>
  1741. <td width="2%">:</td>
  1742. <td style="text-align: left; white-space: nowrap; width: 49%">
  1743. <a onclick="handlePickRelType('4::reverse', 'Niece/Nephew')">Niece/Nephew</a>
  1744. </td>
  1745.  
  1746.  
  1747. </tr>
  1748.  
  1749. </table>
  1750.  
  1751. <span id="add_rel_details" style="display: none">
  1752. John Doe's
  1753. <i><span id="add_relationship_name">What type of relationship?</span></i>
  1754. <input type="hidden" id="add_relationship_type"/>
  1755. is:
  1756.  
  1757.  
  1758.  
  1759.  
  1760.  
  1761.  
  1762.  
  1763.  
  1764.  
  1765.  
  1766.  
  1767.  
  1768.  
  1769.  
  1770.  
  1771.  
  1772.  
  1773.  
  1774.  
  1775.  
  1776.  
  1777.  
  1778.  
  1779. <script src="/openmrs/dwr/interface/DWRPersonService.js?v=1.8.2.21762" type="text/javascript" ></script>
  1780.  
  1781.  
  1782.  
  1783.  
  1784.  
  1785. <script type="text/javascript">
  1786.  
  1787. $j(document).ready( function() {
  1788.  
  1789. // set up the autocomplete
  1790. new AutoComplete("add_rel_display_id", new CreateCallback({roles:""}).personCallback(), {
  1791. select: function(event, ui) {
  1792. jquerySelectEscaped("add_rel_target_id").val(ui.item.object.personId);
  1793.  
  1794.  
  1795. }
  1796. });
  1797.  
  1798. // get the name of the person that they passed in the id for
  1799.  
  1800.  
  1801. })
  1802. </script>
  1803.  
  1804. <input type="text" id="add_rel_display_id" />
  1805. <input type="hidden" name="add_rel_target" id="add_rel_target_id" />
  1806. </span>
  1807. </div>
  1808.  
  1809. <div id="voidRelationship">
  1810. <div>Relative: <span id="relationship_desc"></span></div>
  1811. <br />
  1812. <label for="relationship_void_reason">Reason: </label>
  1813. <input type="hidden" id="relationship_id"/>
  1814. <input type="text" id="relationship_void_reason"/>
  1815. </div>
  1816. </div>
  1817. </div>
  1818. </div>
  1819. <br/>
  1820.  
  1821.  
  1822.  
  1823. <div id="patientActiveListsAllergyBoxHeader" class="boxHeader">Allergies</div>
  1824. <div id="patientActiveListsAllergyBox" class="box">
  1825. <div class='portlet' id=''>
  1826.  
  1827.  
  1828.  
  1829.  
  1830.  
  1831.  
  1832.  
  1833.  
  1834.  
  1835.  
  1836.  
  1837.  
  1838.  
  1839. <style type="text/css">
  1840. .ui-datepicker { z-index:10100; }
  1841. .alTable td {
  1842. padding-right: 10px;
  1843. padding-left: 10px;
  1844. }
  1845. </style>
  1846.  
  1847. <script type="text/javascript">
  1848. var allergyStartDatePicker;
  1849.  
  1850. $j(document).ready(function() {
  1851. $j('#addActiveListAllergy').dialog({
  1852. autoOpen: false,
  1853. modal: true,
  1854. title: 'Add Allergy',
  1855. width: '30%',
  1856. zIndex: 100,
  1857. close: function() { $j("#allergy_concept").autocomplete("close"); $j("#allergy_reaction").autocomplete("close"); },
  1858. buttons: { 'Save': function() { handleAddAllergy(); },
  1859. 'Cancel': function() { $j(this).dialog("close"); }
  1860. }
  1861. });
  1862.  
  1863. $j('#resolveActiveListAllergy').dialog({
  1864. autoOpen: false,
  1865. modal: true,
  1866. title: 'Remove Allergy',
  1867. width: '30%',
  1868. zIndex: 100,
  1869. buttons: { 'Remove': function() { handleResolveAllergy(); },
  1870. 'Cancel': function() { $j(this).dialog("close"); }
  1871. }
  1872. });
  1873.  
  1874. allergyStartDatePicker = new DatePicker("mm/dd/yyyy", "allergy_startDate", { defaultDate: parseDateFromStringToJs("mm/dd/yyyy", "10/16/2011") });
  1875.  
  1876. var allergyCallback = new CreateCallback({onerror: showAllergyAddError, onsuccess: hideAllergyError});
  1877. var autoAllergyConcept = new AutoComplete("allergy_concept", allergyCallback.conceptCallback(), {
  1878. select: function(event, ui) {
  1879. $j('#allergy_concept_id').val(ui.item.object.conceptId);
  1880. }
  1881. });
  1882.  
  1883. var reactionCallback = new CreateCallback(
  1884. {onerror:showAllergyAddError,
  1885. onsuccess: hideAllergyError,
  1886. includedClasses: 'Symptom'
  1887. });
  1888. var autoReactionConcept = new AutoComplete("allergy_reaction", reactionCallback.conceptCallback(), {
  1889. select: function(event, ui) {
  1890. $j('#allergy_reaction_id').val(ui.item.object.conceptId);
  1891. }
  1892. });
  1893.  
  1894. });
  1895.  
  1896. function doAddAllergy() {
  1897.  
  1898. // in case someone started editing/resolving an allergy already
  1899. currentlyEditingAllergyId = null;
  1900.  
  1901. $j('#allergyError').hide();
  1902. $j('#allergy_concept').val("");
  1903. $j('#allergy_concept_id').val("");
  1904. $j('#allergy_reaction').val("");
  1905. $j('#allergy_reaction_id').val("");
  1906. $j('#allergy_type').val("");
  1907. allergyStartDatePicker.setDate("10/16/2011");
  1908.  
  1909. $j('#allergy_severity').val("");
  1910. $j('#allergy_reaction').val("");
  1911.  
  1912. $j('#addActiveListAllergy').dialog("option", "title", 'Add Allergy');
  1913. $j('#addActiveListAllergy').dialog('open');
  1914. $j('#allergy_concept').focus();
  1915. }
  1916.  
  1917. function handleAddAllergy() {
  1918. var allergen = $j('#allergy_concept_id').val();
  1919. var type = $j('#allergy_type').val();
  1920. var startDate = allergyStartDatePicker.getDateAsString();
  1921. var severity = $j('#allergy_severity').val();
  1922. var reaction = $j('#allergy_reaction_id').val();
  1923.  
  1924. if((allergen == null) || (allergen == '')) {
  1925. showAllergyAddError("Allergen required");
  1926. return;
  1927. }
  1928.  
  1929. var patientId = 3;
  1930.  
  1931. if(currentlyEditingAllergyId == null) {
  1932. DWRPatientService.createAllergy(patientId, allergen, type, startDate, severity, reaction, refreshPage);
  1933. }
  1934. else {
  1935. DWRPatientService.saveAllergy(currentlyEditingAllergyId, allergen, type, startDate, severity, reaction, refreshPage);
  1936. }
  1937. }
  1938.  
  1939. function doEditAllergy(activeListId) {
  1940. $j('#allergyError').hide();
  1941. var allergy = findAllergy(activeListId);
  1942. if(allergy == null) return;
  1943.  
  1944. currentlyEditingAllergyId = activeListId;
  1945. $j('#allergy_concept').val($j('#allergen_conceptName_' + activeListId).html().trim());
  1946. $j('#allergy_concept_id').val(allergy['allergenId']);
  1947. $j('#allergy_type').val(allergy['type']);
  1948. allergyStartDatePicker.setDate(allergy['startDate']);
  1949. $j('#allergy_severity').val(allergy['severity']);
  1950. $j('#allergy_reaction').val($j('#reaction_conceptName_' + activeListId).html().trim());
  1951. $j('#allergy_reaction_id').val(allergy['reactionId']);
  1952.  
  1953. $j('#addActiveListAllergy').dialog("option", "title", 'Edit Allergy');
  1954. $j('#addActiveListAllergy').dialog('open');
  1955. }
  1956.  
  1957. function findAllergy(activeListId) {
  1958. for(var i=0; i < allergies.length; i++) {
  1959. var a = allergies[i];
  1960. if(activeListId == a['activeListId']) return a;
  1961. }
  1962. return null;
  1963. }
  1964.  
  1965. function doResolveAllergy(activeListId) {
  1966. $j('input[name=allergy_resolved]').val(["Removed"]);
  1967. $j('#allergy_reason').val("");
  1968.  
  1969. currentlyEditingAllergyId = activeListId;
  1970.  
  1971. var name = $j('#allergen_conceptName_' + activeListId).html().trim();
  1972. $j('#resolveActiveListAllergy').dialog("option", "title", 'Remove Allergy: ' + name);
  1973. $j('#resolveActiveListAllergy').dialog('open');
  1974. }
  1975.  
  1976. function handleResolveAllergy() {
  1977. var resolved = $j('input[name=allergy_resolved]:checked').val();
  1978.  
  1979. if('Error' == resolved) {
  1980. DWRPatientService.voidAllergy(currentlyEditingAllergyId, resolved, refreshPage);
  1981. }
  1982. else {
  1983. DWRPatientService.removeAllergy(currentlyEditingAllergyId, resolved, refreshPage);
  1984. }
  1985. }
  1986.  
  1987. function doToggleShowingInactiveAllergies() {
  1988. $j('#removedAllergyTable').toggle();
  1989. var text = 'Hide Allergy History';
  1990. if(showingInactiveAllergies == true) {
  1991. text = 'Show Allergy History';
  1992. }
  1993. $j('#inactiveAllergyLink').html(text);
  1994. showingInactiveAllergies = !showingInactiveAllergies;
  1995. }
  1996.  
  1997. function showAllergyAddError(error) {
  1998. $j('#allergyError').html(error);
  1999. $j('#allergyError').show();
  2000. }
  2001.  
  2002. function hideAllergyError(results) {
  2003. $j('#allergyError').hide();
  2004. }
  2005.  
  2006. var allergies = new Array();
  2007. var currentlyEditingAllergyId = null;
  2008. var showingInactiveAllergies = false;
  2009. </script>
  2010.  
  2011. <div id="patientActiveListAllergyPortlet">
  2012.  
  2013.  
  2014. None<br/><br/>
  2015.  
  2016.  
  2017.  
  2018.  
  2019. <div style="width: 100%">
  2020. <a id="addActiveListAllergyLink" href="javascript:doAddAllergy();" title="">Add Allergy</a>
  2021.  
  2022. </div>
  2023.  
  2024.  
  2025.  
  2026.  
  2027.  
  2028. <div id="addActiveListAllergy" style="display: none">
  2029. <div id="allergyError" class="error"></div>
  2030. <table style="margin: 0px 0px 1em 2em;">
  2031. <tr>
  2032. <td nowrap>Allergen *</td>
  2033. <td>
  2034. <input type="text" id="allergy_concept" size="20"/>
  2035. <input type="hidden" id="allergy_concept_id"/>
  2036. </td>
  2037. </tr>
  2038. <tr>
  2039. <td style="white-space: nowrap">Start Date</td>
  2040. <td><input type="text" id="allergy_startDate" size="20"/></td>
  2041. </tr>
  2042. <tr>
  2043. <td>Reaction</td>
  2044. <td>
  2045. <input type="text" id="allergy_reaction" size="20"/>
  2046. <input type="hidden" id="allergy_reaction_id"/>
  2047. </td>
  2048. </tr>
  2049. <tr>
  2050. <td>Severity</td>
  2051. <td>
  2052. <select id="allergy_severity">
  2053. <option value=""></option>
  2054.  
  2055. <option value="UNKNOWN">UNKNOWN</option>
  2056.  
  2057. <option value="INTOLERANCE">INTOLERANCE</option>
  2058.  
  2059. <option value="MILD">MILD</option>
  2060.  
  2061. <option value="MODERATE">MODERATE</option>
  2062.  
  2063. <option value="SEVERE">SEVERE</option>
  2064.  
  2065. </select>
  2066. </td>
  2067. </tr>
  2068. </table>
  2069. </div>
  2070. <div id="resolveActiveListAllergy" style="display: none">
  2071. <table style="margin: 0px 0px 1em 2em;">
  2072. <tr>
  2073. <td><input type="radio" name="allergy_resolved" value="Removed" checked/>Remove from list (stays in history)</td>
  2074. </tr>
  2075. <tr>
  2076. <td><input type="radio" name="allergy_resolved" value="Error"/>Data entry error (deletes this entry)</td>
  2077. </tr>
  2078. </table>
  2079. </div>
  2080. </div></div>
  2081. </div>
  2082. <br/>
  2083.  
  2084.  
  2085.  
  2086. <div id="patientActiveListsProblemBoxHeader" class="boxHeader">Problem List</div>
  2087. <div id="patientActiveListsProblemBox" class="box">
  2088. <div class='portlet' id=''>
  2089.  
  2090.  
  2091.  
  2092.  
  2093.  
  2094.  
  2095.  
  2096.  
  2097.  
  2098.  
  2099.  
  2100.  
  2101.  
  2102. <style type="text/css">
  2103. .ui-datepicker { z-index:10100; }
  2104. </style>
  2105.  
  2106. <script type="text/javascript">
  2107. var problemStartDatePicker, problemEndDatePicker;
  2108.  
  2109. $j(document).ready(function() {
  2110. $j('#addActiveListProblem').dialog({
  2111. autoOpen: false,
  2112. modal: true,
  2113. title: 'Add Problem',
  2114. width: '30%',
  2115. zIndex: 100,
  2116. close: function() { $j("#problem_concept").autocomplete("close"); },
  2117. buttons: { 'Save': function() { handleAddProblem(); },
  2118. 'Cancel': function() { $j(this).dialog("close"); }
  2119. }
  2120. });
  2121.  
  2122. $j('#resolveActiveListProblem').dialog({
  2123. autoOpen: false,
  2124. modal: true,
  2125. title: 'Remove Problem',
  2126. width: '30%',
  2127. zIndex: 100,
  2128. buttons: { 'Remove': function() { handleResolveProblem(); },
  2129. 'Cancel': function() { $j(this).dialog("close"); }
  2130. }
  2131. });
  2132.  
  2133. problemStartDatePicker = new DatePicker("mm/dd/yyyy", "problem_startDate", { defaultDate: parseDateFromStringToJs("mm/dd/yyyy", "10/16/2011") });
  2134.  
  2135. problemEndDatePicker = new DatePicker("mm/dd/yyyy", "problem_endDate", { defaultDate: parseDateFromStringToJs("mm/dd/yyyy", "10/16/2011") });
  2136.  
  2137. var problemCallback = new CreateCallback({onerror: showProblemAddError, onsuccess: hideProblemError});
  2138. var autoProblemConcept = new AutoComplete("problem_concept", problemCallback.conceptCallback(), {
  2139. select: function(event, ui) {
  2140. $j('#problem_concept_id').val(ui.item.object.conceptId);
  2141. }
  2142. });
  2143.  
  2144. });
  2145.  
  2146. function doAddProblem() {
  2147. currentlyEditingProblemId = null;
  2148.  
  2149. $j('#problemError').hide();
  2150. $j('#problem_concept').val("");
  2151. $j('#problem_concept_id').val("");
  2152. $j('#problem_modifier').val("");
  2153. problemStartDatePicker.setDate("10/16/2011");
  2154. $j('#problem_comments').val("");
  2155.  
  2156. $j('#addActiveListProblem').dialog("option", "title", 'Add Problem');
  2157. $j('#addActiveListProblem').dialog('open');
  2158. $j('#problem_concept').focus();
  2159. }
  2160.  
  2161. function handleAddProblem() {
  2162. var problem = $j('#problem_concept_id').val();
  2163. var modifier = $j('#problem_modifier').val();
  2164. var startDate = problemStartDatePicker.getDateAsString();
  2165. var comments = $j('#problem_comments').val();
  2166.  
  2167. if((problem == null) || (problem == '')) {
  2168. showProblemAddError("Problem required");
  2169. return;
  2170. }
  2171.  
  2172. var patientId = 3;
  2173.  
  2174. if(currentlyEditingProblemId == null) {
  2175. DWRPatientService.createProblem(patientId, problem, modifier, startDate, comments, refreshPage);
  2176. }
  2177. else {
  2178. DWRPatientService.saveProblem(currentlyEditingProblemId, problem, modifier, startDate, comments, refreshPage);
  2179. }
  2180. }
  2181.  
  2182. function doEditProblem(activeListId) {
  2183. $j('#problemError').hide();
  2184. var problem = findProblem(activeListId);
  2185. if(problem == null) return;
  2186.  
  2187. currentlyEditingProblemId = activeListId;
  2188. $j('#problem_concept').val($j('#problem_conceptName_' + activeListId).html().trim());
  2189. $j('#problem_concept_id').val(problem['problemId']);
  2190. $j('#problem_modifier').val(problem['modifier']);
  2191. problemStartDatePicker.setDate(problem['startDate']);
  2192. $j('#problem_comments').val(problem['comments']);
  2193.  
  2194. $j('#addActiveListProblem').dialog("option", "title", 'Edit Problem');
  2195. $j('#addActiveListProblem').dialog('open');
  2196. }
  2197.  
  2198. function findProblem(activeListId) {
  2199. for(var i=0; i < problems.length; i++) {
  2200. var a = problems[i];
  2201. if(activeListId == a['activeListId']) return a;
  2202. }
  2203. return null;
  2204. }
  2205.  
  2206. function doResolveProblem(activeListId) {
  2207. var problem = findProblem(activeListId);
  2208. $j('input[name=problem_resolved]').val(["Removed"]);
  2209. $j('#problem_other').val("");
  2210. $j('#problem_reason').val(problem['comments']);
  2211. problemEndDatePicker.setDate("10/16/2011");
  2212.  
  2213. currentlyEditingProblemId = activeListId;
  2214.  
  2215. var name = $j('#problem_conceptName_' + activeListId).html().trim();
  2216. $j('#resolveActiveListAllergy').dialog("option", "title", 'Remove Problem: ' + name);
  2217. $j('#resolveActiveListProblem').dialog('open');
  2218. }
  2219.  
  2220. function handleResolveProblem() {
  2221. var resolved = $j('input[name=problem_resolved]:checked').val();
  2222. var reason = $j('#problem_reason').val();
  2223. var endDate = problemEndDatePicker.getDateAsString();
  2224.  
  2225. if('Error' == resolved) {
  2226. DWRPatientService.voidProblem(currentlyEditingProblemId, resolved, refreshPage);
  2227. }
  2228. else {
  2229. DWRPatientService.removeProblem(currentlyEditingProblemId, reason, endDate, refreshPage);
  2230. }
  2231. }
  2232.  
  2233. function doToggleShowingInactiveProblems() {
  2234. $j('#removedProblemTable').toggle();
  2235. var text = 'Hide Problem History';
  2236. if(showingInactiveProblems == true) {
  2237. text = 'Show Problem History';
  2238. }
  2239. $j('#inactiveProblemLink').html(text);
  2240. showingInactiveProblems = !showingInactiveProblems;
  2241. }
  2242.  
  2243. function showProblemAddError(error) {
  2244. $j('#problemError').html(error);
  2245. $j('#problemError').show();
  2246. }
  2247.  
  2248. function hideProblemError(results) {
  2249. $j('#problemError').hide();
  2250. }
  2251.  
  2252. var problems = new Array();
  2253. var currentlyEditingProblemId = null;
  2254. var showingInactiveProblems = false;
  2255. </script>
  2256.  
  2257. <div id="patientActiveListProblemPortlet">
  2258.  
  2259.  
  2260.  
  2261. <table style="margin: 0px 0px 1em 2em;" cellpadding="3" cellspacing="0" id="problemTable" class="alTable">
  2262. <tr bgcolor="whitesmoke">
  2263. <td>Problem</td>
  2264. <td>Date</td>
  2265. <td>Modifier</td>
  2266. <td>Comments</td>
  2267. <td></td>
  2268. </tr>
  2269.  
  2270.  
  2271.  
  2272.  
  2273.  
  2274. <tr bgcolor="white">
  2275. <script type="text/javascript">
  2276. problems.push({"activeListId": "5",
  2277. "problemId": "142474",
  2278. "modifier": "HISTORY_OF",
  2279. "startDate": parseDateFromStringToJs("mm/dd/yyyy", "09/25/2011"),
  2280. "comments": "",
  2281. "endDate": parseDateFromStringToJs("mm/dd/yyyy", ""),
  2282. "voidReason": ""});
  2283. </script>
  2284. <td>
  2285. <a href="javascript:doEditProblem(5);"><span id="problem_conceptName_5">
  2286.  
  2287.  
  2288.  
  2289.  
  2290.  
  2291.  
  2292.  
  2293.  
  2294.  
  2295.  
  2296. Diabetes Mellitus Type 1</span></a>
  2297. </td>
  2298. <td>09/25/2011</td>
  2299. <td>History of</td>
  2300. <td></td>
  2301. <td>
  2302. <a href="javascript:doResolveProblem(5)"><img src="images/delete.gif" border="0" title="Remove"/></a>
  2303. </td>
  2304. </tr>
  2305.  
  2306. </table>
  2307.  
  2308.  
  2309.  
  2310. <div style="width: 100%">
  2311. <a id="addActiveListProblemLink" href="javascript:doAddProblem();" title="">Add Problem</a>
  2312.  
  2313. <a href="javascript:doToggleShowingInactiveProblems();" id="inactiveProblemLink" style="width: 100%; text-align: right">Show Problem History</a>
  2314.  
  2315. </div>
  2316.  
  2317.  
  2318.  
  2319. <br/>
  2320. <div id="removedProblemTable" style="display: none">
  2321. Removed Problems<br/>
  2322. <table style="margin: 0px 0px 1em 2em;" cellpadding="3" cellspacing="0" class="alTable">
  2323. <tr bgcolor="whitesmoke">
  2324. <td>Problem</td>
  2325. <td>Date</td>
  2326. <td>Comments</td>
  2327. <td>Removed on</td>
  2328. </tr>
  2329.  
  2330.  
  2331.  
  2332.  
  2333.  
  2334. <tr bgcolor="white">
  2335. <td>History of
  2336.  
  2337.  
  2338.  
  2339.  
  2340.  
  2341.  
  2342.  
  2343.  
  2344.  
  2345.  
  2346. Migraine</td>
  2347. <td>09/25/2011</td>
  2348. <td>Cured</td>
  2349. <td>09/25/2011</td>
  2350. </tr>
  2351.  
  2352. </table>
  2353. </div>
  2354.  
  2355.  
  2356.  
  2357. <div id="addActiveListProblem" style="display: none">
  2358. <div id="problemError" class="error"></div>
  2359. <table style="margin: 0px 0px 1em 2em;">
  2360. <tr>
  2361. <td nowrap>Problem *</td>
  2362. <td>
  2363. <input type="text" id="problem_concept" size="20"/>
  2364. <input type="hidden" id="problem_concept_id"/>
  2365. </td>
  2366. </tr>
  2367. <tr>
  2368. <td>Modifier</td>
  2369. <td>
  2370. <select id="problem_modifier">
  2371. <option value=""></option>
  2372.  
  2373. <option value="RULE_OUT">Rule Out</option>
  2374.  
  2375. <option value="HISTORY_OF">History of</option>
  2376.  
  2377. </select>
  2378. </td>
  2379. </tr>
  2380. <tr>
  2381. <td>Start Date</td>
  2382. <td><input type="text" id="problem_startDate" size="20"/></td>
  2383. </tr>
  2384. <tr>
  2385. <td valign="top">Comments</td>
  2386. <td>
  2387. <textarea id="problem_comments" cols="18" rows="3" style="width: 100%"></textarea>
  2388. </td>
  2389. </tr>
  2390. </table>
  2391. </div>
  2392. <div id="resolveActiveListProblem" style="display: none">
  2393. <table style="margin: 0px 0px 1em 2em;">
  2394. <tr>
  2395. <td><input type="radio" name="problem_resolved" value="Removed" checked/>Remove as of</td>
  2396. <td><input type="text" id="problem_endDate" size="20"/></td>
  2397. </tr>
  2398. <tr>
  2399. <td colspan="2"><input type="radio" name="problem_resolved" value="Error"/>Data entry error (deletes this entry)</td>
  2400. </tr>
  2401. <tr>
  2402. <td colspan="2">
  2403. Comments<br/>
  2404. <textarea id="problem_reason" cols="18" rows="3" style="width: 100%"></textarea>
  2405. </td>
  2406. </tr>
  2407. </table>
  2408. </div>
  2409. </div></div>
  2410. </div>
  2411. <br/>
  2412.  
  2413. </div>
  2414.  
  2415. </div>
  2416.  
  2417.  
  2418. <div id="patientRegimen" style="display:none;">
  2419.  
  2420.  
  2421.  
  2422. <div class='portlet' id='patientDashboardRegimen'>
  2423.  
  2424.  
  2425.  
  2426.  
  2427.  
  2428.  
  2429.  
  2430.  
  2431.  
  2432.  
  2433.  
  2434. <div id="regimenPortlet">
  2435. <div id="regimenPortletCurrent">
  2436. <div class="boxHeader">Current and Future Regimens</div>
  2437. <div class="box">
  2438.  
  2439. <div class='portlet' id='patientRegimenCurrent'>
  2440.  
  2441.  
  2442.  
  2443.  
  2444.  
  2445.  
  2446.  
  2447.  
  2448.  
  2449.  
  2450.  
  2451. <script src="/openmrs/dwr/interface/DWROrderService.js?v=1.8.2.21762" type="text/javascript" ></script>
  2452. <script src="/openmrs/dwr/engine.js?v=1.8.2.21762" type="text/javascript" ></script>
  2453. <script src="/openmrs/dwr/util.js?v=1.8.2.21762" type="text/javascript" ></script>
  2454. <script src="/openmrs/scripts/drugOrder.js?v=1.8.2.21762" type="text/javascript" ></script>
  2455.  
  2456. <div id="regimenPortletCurrent">
  2457. <table class="regimenCurrentTable">
  2458. <thead>
  2459. <tr class="regimenCurrentHeaderRow">
  2460. <th style="nowrap: true;" class="regimenCurrentDrugOrderedHeader"> Item ordered </th>
  2461. <th class="regimenCurrentDrugDoseHeader"> Dose/Units </th>
  2462. <th class="regimenCurrentDrugFrequencyHeader"> Frequency </th>
  2463. <th class="regimenCurrentDrugDateStartHeader"> Start date </th>
  2464. <th class="regimenCurrentDrugScheduledStopDateHeader"> Scheduled Stop Date </th>
  2465. <th class="regimenCurrentDrugInstructionsHeader"> Instructions </th>
  2466.  
  2467. <th class="regimenCurrentEmptyHeader"> </th>
  2468. <th class="regimenCurrentEmptyHeader"> </th>
  2469.  
  2470. </tr>
  2471. </thead>
  2472.  
  2473.  
  2474.  
  2475.  
  2476. <tbody id="regimenTableCurrent_header___other__">
  2477. <tr class="regimenCurrentHeaderOtherRow">
  2478.  
  2479.  
  2480.  
  2481. <td colspan="8"><table><tr><td>OTHER REGIMENS</td></tr></table></td>
  2482.  
  2483.  
  2484. </tr>
  2485. </tbody>
  2486. <tbody id="regimenTableCurrent___other__">
  2487.  
  2488.  
  2489. <tr class="regimenCurrentDrugRow">
  2490. <td class="regimenCurrentDrugEmptyData">&nbsp;&nbsp;&nbsp;&nbsp;
  2491.  
  2492. <a class="patientRegimenDrugName" href="/openmrs/admin/orders/orderDrug.form?orderId=2">Hydrochlorothiazide (HCTZ)</a>
  2493.  
  2494.  
  2495. </td>
  2496. <td class="regimenCurrentDrugDoseData">20.0 mg</td>
  2497. <td class="regimenCurrentDrugFrequencyData">MWF</td>
  2498. <td class="regimenCurrentDrugStartDateData">Oct 13, 2011</td>
  2499. <td class="regimenCurrentDrugAutoExpireDateData">Oct 19, 2011</td>
  2500. <td class="regimenCurrentDrugInstructionsData">1 tablet by mouth MWF</td>
  2501.  
  2502. <td class="regimenCurrentDrugDiscontinuedData">
  2503. <input id="closebutton_2" type="button" value="Stop" onClick="showHideDiv('close_2');showHideDiv('closebutton_2')" />
  2504. <div id="close_2" style="display:none" class="dashedAndHighlighted">
  2505. <form class="discontinuedDrugForm">
  2506. Date Stopped:
  2507. <input type="text" id="close_2_date" size="10" value="" onFocus="showCalendar(this)" />
  2508. &nbsp;&nbsp;&nbsp;&nbsp;
  2509. Reason:
  2510.  
  2511.  
  2512.  
  2513.  
  2514.  
  2515.  
  2516.  
  2517.  
  2518.  
  2519.  
  2520.  
  2521.  
  2522.  
  2523.  
  2524.  
  2525.  
  2526.  
  2527.  
  2528.  
  2529.  
  2530.  
  2531.  
  2532.  
  2533.  
  2534.  
  2535.  
  2536.  
  2537.  
  2538.  
  2539.  
  2540.  
  2541.  
  2542.  
  2543.  
  2544. <select name="close_2_reason" id="close_2_reason">
  2545.  
  2546.  
  2547.  
  2548. <option value=""></option>
  2549.  
  2550.  
  2551.  
  2552.  
  2553. </select>
  2554.  
  2555.  
  2556.  
  2557. &nbsp;&nbsp;
  2558. <input type="button" value="Stop" onClick="handleDiscontinueDrugOrder('2', 'close_2_date', 'close_2_reason')" />
  2559. <input type="button" value="Cancel" onClick="showHideDiv('close_2');showHideDiv('closebutton_2')" />
  2560. </form>
  2561. </div>
  2562. </td>
  2563. <td class="regimenCurrentDrugVoidData">
  2564. <input id="voidbutton_2" type="button" value="Delete" onClick="showHideDiv('void_2');showHideDiv('voidbutton_2')" />
  2565. <div id="void_2" style="display:none" class="dashedAndHighlighted">
  2566. <form class="voidOrderDrugForm">
  2567. Reason:
  2568. <select name="void_2_reason" id="void_2_reason">
  2569. <option value=""></option>
  2570. <option value="DrugOrder.void.reason.dateError">Date error</option>
  2571. <option value="DrugOrder.void.reason.error">Error</option>
  2572. <option value="DrugOrder.void.reason.other">Other</option>
  2573. </select>
  2574. &nbsp;&nbsp;
  2575. <input type="button" value="Delete" onClick="handleVoidCurrentDrugOrder('2', 'void_2_reason')" />
  2576. <input type="button" value="Cancel" onClick="showHideDiv('void_2');showHideDiv('voidbutton_2')" />
  2577. </form>
  2578. </div>
  2579. </td>
  2580.  
  2581. </tr>
  2582.  
  2583.  
  2584.  
  2585. </tbody>
  2586.  
  2587.  
  2588.  
  2589.  
  2590.  
  2591.  
  2592. </table>
  2593. <script>
  2594. setPatientId("3");
  2595. setDisplayDrugSetIds(",*");
  2596. setRegimenMode("");
  2597. </script>
  2598. </div>
  2599.  
  2600. </div>
  2601.  
  2602. <span class="regimenPortletSpan"><input type="button" onclick="showHideDiv('regimenPortletAddForm');" value="(+) Add/Change Regimen"></span>
  2603. <div id="regimenPortletAddForm" style="display:none; border: 1px dashed black; padding: 10px;">
  2604. <table width="100%" class="patientRegimenTable">
  2605. <tr class="patientRegimenRow">
  2606.  
  2607.  
  2608.  
  2609. <td valign="top" align="right" class="patientRegimeDataFlexible">
  2610. <div id="regimenPortletAddFlexible">
  2611. <form method="post" id="orderForm" onSubmit="handleAddDrugOrder(3, 'drug', 'dose', 'units', 'frequencyDay', 'frequencyWeek', 'startDate')">
  2612. <table class="patientAddFlexibleTable">
  2613. <tr class="patientAddFlexibleRow">
  2614. <td colspan="2" class="patientAddFlexibleData"><strong>Add your own drug regimen</strong></td>
  2615. </tr>
  2616. <tr class="patientAddFlexibleRow">
  2617. <td class="patientAddFlexibleData">Drug</td>
  2618. <td class="patientAddFlexibleData">
  2619.  
  2620.  
  2621.  
  2622.  
  2623.  
  2624.  
  2625.  
  2626.  
  2627.  
  2628.  
  2629.  
  2630.  
  2631.  
  2632.  
  2633.  
  2634.  
  2635.  
  2636.  
  2637.  
  2638.  
  2639.  
  2640.  
  2641.  
  2642.  
  2643.  
  2644.  
  2645.  
  2646.  
  2647.  
  2648. <select name="drug" id="drug"onChange=updateAddFields('drug','units','frequency')>
  2649.  
  2650.  
  2651. <option value=""></option>
  2652.  
  2653.  
  2654.  
  2655.  
  2656.  
  2657. <option value="1"
  2658. >Hydrochlorothiazide (HCTZ)</option>
  2659.  
  2660.  
  2661.  
  2662. <option value="2"
  2663. >Amlodipine (Norvasc)</option>
  2664.  
  2665.  
  2666.  
  2667. <option value="3"
  2668. >Insulin Lispro (Humalog)</option>
  2669.  
  2670.  
  2671.  
  2672. <option value="4"
  2673. >Ciprofloxacin (Cipro)</option>
  2674.  
  2675.  
  2676.  
  2677. <option value="5"
  2678. >Trimethoprim Sulfamethoxazole (Bactrim) ADULT</option>
  2679.  
  2680.  
  2681.  
  2682. <option value="6"
  2683. >Amoxicillin (AMOX) ADULT</option>
  2684.  
  2685.  
  2686.  
  2687. <option value="7"
  2688. >Amoxicillin Clavulanate (Augmentin) ADULT</option>
  2689.  
  2690.  
  2691.  
  2692. <option value="8"
  2693. >Azithromycin (Zithromax) ADULT</option>
  2694.  
  2695.  
  2696.  
  2697. <option value="9"
  2698. >Ranitidine (Zantac)</option>
  2699.  
  2700.  
  2701.  
  2702. <option value="10"
  2703. >Omeprazole (Prilosec)</option>
  2704.  
  2705.  
  2706.  
  2707. <option value="11"
  2708. >Docusate (Colace)</option>
  2709.  
  2710.  
  2711.  
  2712. <option value="12"
  2713. >Glyburide</option>
  2714.  
  2715.  
  2716.  
  2717. <option value="13"
  2718. >Naproxen Sodium (Aleve)</option>
  2719.  
  2720.  
  2721.  
  2722. <option value="14"
  2723. >Diphenhydramine (Benadryl)</option>
  2724.  
  2725.  
  2726.  
  2727. <option value="15"
  2728. >Loratadine (Claritin)</option>
  2729.  
  2730.  
  2731.  
  2732. <option value="16"
  2733. >Citiridine (Zyrtec)</option>
  2734.  
  2735.  
  2736.  
  2737. <option value="17"
  2738. >Fluoxetine (Prozac)</option>
  2739.  
  2740.  
  2741.  
  2742. <option value="18"
  2743. >Citalopram (Celexa)</option>
  2744.  
  2745.  
  2746. </select>
  2747.  
  2748.  
  2749.  
  2750. </td>
  2751. </tr>
  2752. <tr class="patientAddFlexibleRow">
  2753. <td>Dose</td>
  2754. <td class="patientAddFlexibleData">
  2755. <input type="text" name="dose" id="dose" value="" size="8" /><!-- Default View for FieldGen module -->
  2756.  
  2757. <span id="unitsSpan"></span>
  2758. <input type="hidden" id="units" name="units" value="" />
  2759. </td>
  2760. </tr>
  2761. <tr class="patientAddFlexibleRow">
  2762. <td class="patientAddFlexibleData">Frequency</td>
  2763. <td class="patientAddFlexibleData">
  2764.  
  2765. <select name="frequencyDay" id="frequencyDay">
  2766.  
  2767. <option value="1/day">1/day</option>
  2768.  
  2769. <option value="2/day">2/day</option>
  2770.  
  2771. <option value="3/day">3/day</option>
  2772.  
  2773. <option value="4/day">4/day</option>
  2774.  
  2775. <option value="5/day">5/day</option>
  2776.  
  2777. <option value="6/day">6/day</option>
  2778.  
  2779. <option value="7/day">7/day</option>
  2780.  
  2781. <option value="8/day">8/day</option>
  2782.  
  2783. <option value="9/day">9/day</option>
  2784.  
  2785. <option value="10/day">10/day</option>
  2786.  
  2787. </select>
  2788. <span class="patientAddFlexibleDataSpan"> x </span>
  2789. <select name="frequencyWeek" id="frequencyWeek">
  2790.  
  2791.  
  2792.  
  2793.  
  2794. <option value="7 days/week">7 days/week</option>
  2795.  
  2796. <option value="6 days/week">6 days/week</option>
  2797.  
  2798. <option value="5 days/week">5 days/week</option>
  2799.  
  2800. <option value="4 days/week">4 days/week</option>
  2801.  
  2802. <option value="3 days/week">3 days/week</option>
  2803.  
  2804. <option value="2 days/week">2 days/week</option>
  2805.  
  2806. <option value=" 1days/week"> 1days/week</option>
  2807.  
  2808.  
  2809.  
  2810. </select>
  2811. </td>
  2812. </tr>
  2813. <tr class="patientAddFlexibleDateRow">
  2814. <td class="patientAddFlexibleDate">Start date</td>
  2815. <td class="patientAddFlexibleDate">
  2816.  
  2817.  
  2818.  
  2819.  
  2820.  
  2821.  
  2822.  
  2823.  
  2824.  
  2825.  
  2826.  
  2827.  
  2828.  
  2829.  
  2830.  
  2831.  
  2832.  
  2833.  
  2834.  
  2835.  
  2836.  
  2837. <script src="/openmrs/scripts/calendar/calendar.js?v=1.8.2.21762" type="text/javascript" ></script>
  2838.  
  2839.  
  2840.  
  2841.  
  2842. <!--
  2843.  
  2844.  
  2845.  
  2846. -->
  2847.  
  2848.  
  2849.  
  2850.  
  2851. <input type="text" id="startDate" name="startDate" size="10" value="" onFocus="showCalendar(this)" /><span class="datePatternHint"> (mm/dd/yyyy)</span>
  2852.  
  2853.  
  2854.  
  2855.  
  2856. </td>
  2857. </tr>
  2858. <tr class="patientAddFlexibleRow">
  2859. <td class="patientEmptyData"></td>
  2860. <td class="patientAddFlexibleActions">
  2861. <div id="actionNew" style="display:none;">
  2862. <select id="actionSelectNew" onChange="handleStandardActionChangeNew();">
  2863. <option value="">Choose an action...</option>
  2864. <option value="add">Add to current regimen</option>
  2865. <option value="discontinue">Add & Stop all current regimens</option>
  2866. <option value="void">Add & Delete all current regimens</option>
  2867. </select>
  2868. </div>
  2869. </td>
  2870. </tr>
  2871. <tr id="reasNew" style="display:none">
  2872. <td class="patientRegimenReasonMsg">
  2873. Reason:
  2874. </td>
  2875. <td class="patientRegimenReasonSelect">
  2876. <select name="reasonNew" id="reasonNew"></select>
  2877. </td>
  2878. </tr>
  2879. <tr class="patientAddFlexibleButtonRow">
  2880. <td colspan="2" align="center" class="patientAddFlexibleButtonData">
  2881. <span id="replaceNew" style="display:none"><input type="button" value="Add & Replace" onClick="addNewDrugOrder();"></span>
  2882. <span id="addNew" style="display:none"><input type="button" value="Add" onClick="addNewDrugOrder();"></span>
  2883. <span id="cancelNew" style="display:none"><input type="button" value="Cancel" onClick="cancelNewOrder();"></span>
  2884.  
  2885. </td>
  2886. </tr>
  2887. </table>
  2888. </form>
  2889. </div>
  2890. </td>
  2891. </tr>
  2892. </table>
  2893. </div>
  2894. </div>
  2895. </div>
  2896. <br />
  2897. <div id="regimenPortletCompleted">
  2898. <div class="boxHeader">Completed Regimens</div>
  2899. <div class="box">
  2900.  
  2901. <div class='portlet' id='patientRegimenCompleted'>
  2902.  
  2903.  
  2904.  
  2905.  
  2906.  
  2907.  
  2908.  
  2909.  
  2910.  
  2911.  
  2912.  
  2913.  
  2914.  
  2915.  
  2916.  
  2917.  
  2918. <div id="regimenPortletCompleted">
  2919. <table class="regimenCompletedTable">
  2920. <thead>
  2921. <tr class="regimenCompletedHeaderRow">
  2922. <th style="nowrap: true;" class="regimenCompletedDrugOrderedHeader"> Item ordered </th>
  2923. <th class="regimenCompletedDrugDoseHeader"> Dose/Units </th>
  2924. <th class="regimenCompletedDrugFrequencyHeader"> Frequency </th>
  2925. <th class="regimenCompletedDrugDateStartHeader"> Start date </th>
  2926. <th class="regimenCompletedDrugScheduledStopDateHeader"> Scheduled Stop Date </th>
  2927. <th class="regimenCompletedDrugActualStopDateHeader"> Actual Stop Date </th>
  2928. <th class="regimenCompletedDrugInstructionHeader"> Instructions </th>
  2929. <th class="regimenCompletedDrugDiscontinuedReasonHeader"> Reason discontinued </th>
  2930.  
  2931. <th> </th>
  2932.  
  2933. </tr>
  2934. </thead>
  2935.  
  2936.  
  2937.  
  2938.  
  2939. <tbody id="regimenTableCompleted_header___other__">
  2940. <tr class="regimenCompletedHeaderOtherRow">
  2941.  
  2942.  
  2943.  
  2944. <td colspan="8" class="regimenCompletedOtherModeData"><table class="regimenCompletedOtherModeInnerTable"><tr class="regimenCompletedOtherModeInnerRow"><td class="regimenCompletedOtherModeInnerData">OTHER REGIMENS</td></tr></table></td>
  2945.  
  2946.  
  2947. </tr>
  2948. </tbody>
  2949. <tbody id="regimenTableCompleted___other__">
  2950.  
  2951.  
  2952. <tr class="regimenCompletedOtherRow">
  2953. <td nowrap class="regimenCompletedOtherData">&nbsp;&nbsp;&nbsp;&nbsp;
  2954.  
  2955. <a class="patientRegimenDrugName" href="/openmrs/admin/orders/orderDrug.form?orderId=1">Hydrochlorothiazide (HCTZ)</a>
  2956.  
  2957.  
  2958. </td>
  2959. <td class="regimenCompletedOtherDrugOrder" >20.0 mg</td>
  2960. <td class="regimenCompletedOtherDrugFrequency">1/day x 7 days/week</td>
  2961. <td class="regimenCompletedOtherStartDate">Sep 21, 2011</td>
  2962. <td class="regimenCompletedOtherAutoExpireDate"></td>
  2963. <td class="regimenCompletedOtherDiscontinuedDate">Oct 13, 2011</td>
  2964. <td class="regimenCompletedOtherInstructions"></td>
  2965. <td class="regimenCompletedOtherDiscontinuedReason">
  2966.  
  2967.  
  2968.  
  2969.  
  2970.  
  2971.  
  2972.  
  2973.  
  2974.  
  2975.  
  2976.  
  2977.  
  2978. progestin only contraceptive pill
  2979.  
  2980. </td>
  2981.  
  2982. <td class="regimenCompletedOtherModeData">
  2983. <input id="voidbutton_1" type="button" value="Delete" onClick="showHideDiv('void_1');showHideDiv('voidbutton_1')" />
  2984. <div id="void_1" style="display:none" class="dashedAndHighlighted">
  2985. <form class="regimenCompletedReasonForm">
  2986. Reason:
  2987. <select name="void_1_reason" id="void_1_reason">
  2988. <option value=""></option>
  2989. <option value="DrugOrder.void.reason.dateError">Date error</option>
  2990. <option value="DrugOrder.void.reason.error">Error</option>
  2991. <option value="DrugOrder.void.reason.other">Other</option>
  2992. </select>
  2993. &nbsp;&nbsp;
  2994. <input type="button" value="Delete" onClick="handleVoidCompletedDrugOrder('1', 'void_1_reason')" />
  2995. <input type="button" value="Cancel" onClick="showHideDiv('void_1');showHideDiv('voidbutton_1')" />
  2996. </form>
  2997. </div>
  2998. </td>
  2999.  
  3000. </tr>
  3001.  
  3002.  
  3003.  
  3004. </tbody>
  3005.  
  3006.  
  3007.  
  3008.  
  3009.  
  3010.  
  3011. </table>
  3012. <script>
  3013. setPatientId("3");
  3014. setDisplayDrugSetIds(",*");
  3015. setRegimenMode("");
  3016. </script>
  3017. </div>
  3018.  
  3019. </div>
  3020.  
  3021. </div>
  3022. </div>
  3023.  
  3024.  
  3025.  
  3026. <script>
  3027. <!-- // begin
  3028.  
  3029. var hasOrders = 1;
  3030. //alert("hasOrders starting as " + hasOrders);
  3031.  
  3032. function updateAddFields(drugFieldId, unitsFieldId, frequencyDayFieldId, frequencyWeekFieldId) {
  3033. var drugId = dwr.util.getValue(drugFieldId);
  3034. gUnitsFieldId = unitsFieldId;
  3035. DWROrderService.getUnitsByDrugId(drugId, setUnitsField);
  3036. }
  3037.  
  3038. function setUnitsField(unitsText) {
  3039. dwr.util.setValue(gUnitsFieldId + "Span", unitsText);
  3040. dwr.util.setValue(gUnitsFieldId, unitsText);
  3041. hideOtherStandards("New");
  3042. showAppropriateActions("New");
  3043. }
  3044.  
  3045. function showAppropriateActions(codeName) {
  3046. //alert("hasOrders is " + hasOrders + " in showAppropriateActions");
  3047. if ( hasOrders > 0 ) {
  3048. hideDiv('add' + codeName);
  3049. showDiv('action' + codeName);
  3050. } else {
  3051. hideDiv('action' + codeName);
  3052. dwr.util.setValue('actionSelect' + codeName, 'add');
  3053. showDiv('add' + codeName);
  3054. }
  3055. showDiv('cancel' + codeName);
  3056. }
  3057.  
  3058. function cancelNewOrder() {
  3059. blankAddNewOrder('drug', 'dose', 'units', 'frequencyDay', 'frequencyWeek', 'startDate');
  3060. hideDiv("addNew");
  3061. hideDiv("actionNew");
  3062. hideDiv("reasNew");
  3063. hideDiv("replaceNew");
  3064. hideDiv("cancelNew");
  3065. showHideOtherStandards("New");
  3066. }
  3067.  
  3068.  
  3069.  
  3070. function handleStandardActionChangeNew() {
  3071. handleStandardActionChange("New");
  3072. }
  3073.  
  3074. function addNewDrugOrder() {
  3075. var action = dwr.util.getValue('actionSelectNew');
  3076. var reason = dwr.util.getValue('reasonNew');
  3077. var startDate = dwr.util.getValue('startDate');
  3078. var drugId = dwr.util.getValue('drug');
  3079. var dose = dwr.util.getValue('dose');
  3080. var units = dwr.util.getValue('units');
  3081. var freqDay = dwr.util.getValue('frequencyDay');
  3082. var freqWeek = dwr.util.getValue('frequencyWeek');
  3083. if ( validateNewOrder(drugId, dose, units, freqDay, freqWeek, startDate) ) {
  3084. dwr.util.setValue('actionSelectNew', '');
  3085. dwr.util.setValue('reasonNew', '');
  3086. if ( action == 'void' ) {
  3087. DWROrderService.voidCurrentDrugOrders(3, reason, addNewComponent);
  3088. showHideDiv('reasNew');
  3089. showHideDiv('replaceNew');
  3090. } else if ( action == 'discontinue' ) {
  3091. DWROrderService.discontinueCurrentDrugOrders(3, reason, startDate, addNewComponent);
  3092. showHideDiv('reasNew');
  3093. showHideDiv('replaceNew');
  3094. } else if ( action == 'add') {
  3095. showHideDiv('addNew');
  3096. addNewComponent();
  3097. }
  3098. hideDiv('cancelNew');
  3099. hideDiv('actionNew');
  3100. showHideOtherStandards("New");
  3101. } else {
  3102. if ( drugId == '' ) alert("You must choose a valid drug");
  3103. else if ( dose == '' ) alert("You must supply a valid dose");
  3104. else if ( units == '' ) alert("You must supply valid units");
  3105. else if ( freqDay == '' ) alert("You must supply a valid daily and/or weekly frequency");
  3106. else if ( freqWeek == '' ) alert("You must supply a valid daily and/or weekly frequency");
  3107. else if ( startDate == '' ) alert("You must supply a valid start date");
  3108. }
  3109. }
  3110.  
  3111. function validateNewOrder(drug, dose, units, freqDay, freqWeek, startDate) {
  3112. if ( drug == '' || dose == '' || units == '' || freqDay == '' || freqWeek == '' || startDate == '' ) {
  3113. return false;
  3114. } else {
  3115. return true;
  3116. }
  3117. }
  3118.  
  3119. function addNewComponent() {
  3120. handleAddDrugOrder(3, 'drug', 'dose', 'units', 'frequencyDay', 'frequencyWeek', 'startDate');
  3121. }
  3122.  
  3123. // end -->
  3124.  
  3125. </script>
  3126. </div>
  3127. </div>
  3128.  
  3129. </div>
  3130.  
  3131.  
  3132. <div id="patientEncounters" style="display:none;">
  3133.  
  3134.  
  3135. <div class='portlet' id='patientDashboardEncounters'>
  3136.  
  3137.  
  3138.  
  3139.  
  3140.  
  3141.  
  3142.  
  3143.  
  3144. <script src="/openmrs/scripts/easyAjax.js?v=1.8.2.21762" type="text/javascript" ></script>
  3145.  
  3146. <link href="/openmrs/scripts/jquery/dataTables/css/dataTables.css?v=1.8.2.21762" type="text/css" rel="stylesheet" />
  3147. <script src="/openmrs/scripts/jquery/dataTables/js/jquery.dataTables.min.js?v=1.8.2.21762" type="text/javascript" ></script>
  3148.  
  3149. <script src="/openmrs/scripts/jquery-ui/js/jquery-ui.custom.min.js?v=1.8.2.21762" type="text/javascript" ></script>
  3150. <link href="/openmrs/scripts/jquery-ui/css/redmond/jquery-ui.custom.css" type="text/css" rel="stylesheet" />
  3151.  
  3152.  
  3153.  
  3154.  
  3155. <div id="displayEncounterPopup">
  3156. <div id="displayEncounterPopupLoading">Loading...</div>
  3157. <iframe id="displayEncounterPopupIframe" width="100%" height="100%" marginWidth="0" marginHeight="0" frameBorder="0" scrolling="auto"></iframe>
  3158. </div>
  3159.  
  3160. <script type="text/javascript">
  3161. $j(document).ready(function() {
  3162. $j('#displayEncounterPopup').dialog({
  3163. title: 'dynamic',
  3164. autoOpen: false,
  3165. draggable: false,
  3166. resizable: false,
  3167. width: '95%',
  3168. modal: true,
  3169. open: function(a, b) { $j('#displayEncounterPopupLoading').show(); }
  3170. });
  3171. });
  3172.  
  3173. function loadUrlIntoEncounterPopup(title, urlToLoad) {
  3174. $j("#displayEncounterPopupIframe").attr("src", urlToLoad);
  3175. $j('#displayEncounterPopup')
  3176. .dialog('option', 'title', title)
  3177. .dialog('option', 'height', $j(window).height() - 50)
  3178. .dialog('open');
  3179. }
  3180. </script>
  3181.  
  3182.  
  3183. <script type="text/javascript">
  3184. $j(document).ready(function() {
  3185. $j('#portlete02628900d954adf85eb4ed8448a5d4b #patientEncountersTable').dataTable({
  3186. "sPaginationType": "two_button",
  3187. "bAutoWidth": false,
  3188. "bFilter": false,
  3189. "aaSorting": [[3,'desc']], // perform first pass sort on initialisation on encounter.encounterDatetime column
  3190. "iDisplayLength": 20,
  3191. "aoColumns": [
  3192. { "bVisible": false, "sType": "numeric" },
  3193. { "bVisible": true, "iDataSort": 0 }, // sort this column by using the previous invisible column for encounterIds,
  3194. { "bVisible": true, "iDataSort": 0 }, // sort this column by using the first invisible column for encounterIds,
  3195. { "iDataSort": 4 }, // sort the date in this column by using the next invisible column for time in milliseconds
  3196. { "bVisible": false, "sType": "numeric" },
  3197. null,
  3198. null,
  3199. null,
  3200. null,
  3201. null
  3202. ],
  3203. "oLanguage": {
  3204. "sLengthMenu": 'Show <select><option value="20">20</option><option value="50">50</option><option value="100">100</option></select> entries',
  3205. "sZeroRecords": 'No Previous Encounters'
  3206. }
  3207. } );
  3208. $j("#displayEncounterPopupIframe").load(function() { $j('#displayEncounterPopupLoading').hide(); });
  3209. } );
  3210. </script>
  3211.  
  3212.  
  3213.  
  3214.  
  3215. <div id="portlete02628900d954adf85eb4ed8448a5d4b">
  3216. <div id="encounterPortlet">
  3217.  
  3218.  
  3219.  
  3220.  
  3221.  
  3222.  
  3223. <div id="encounters">
  3224. <div class="boxHeader">Encounters</div>
  3225. <div class="box">
  3226. <div>
  3227. <table cellspacing="0" cellpadding="2" id="patientEncountersTable">
  3228. <thead>
  3229. <tr>
  3230. <th class="hidden"> hidden Encounter id </th>
  3231. <th class="encounterEdit" align="center">
  3232. Edit
  3233. </th>
  3234. <th class="encounterView" align="center">
  3235. View
  3236. </th>
  3237. <th class="encounterDatetimeHeader"> Encounter Date </th>
  3238. <th class="hidden"> hidden Encounter.datetime </th>
  3239. <th class="encounterTypeHeader"> Encounter Type </th>
  3240. <th class="encounterProviderHeader"> Provider </th>
  3241. <th class="encounterFormHeader"> Form </th>
  3242. <th class="encounterLocationHeader"> Location </th>
  3243. <th class="encounterEntererHeader"> Enterer </th>
  3244. </tr>
  3245. </thead>
  3246. <tbody>
  3247.  
  3248. <tr class='evenRow'>
  3249. <td class="hidden">
  3250.  
  3251. 18
  3252. </td>
  3253. <td class="encounterEdit" align="center">
  3254.  
  3255.  
  3256.  
  3257.  
  3258.  
  3259.  
  3260. <a href="module/htmlformentry/htmlFormEntry.form?encounterId=18&mode=EDIT">
  3261. <img src="/openmrs/images/edit.gif" title="Edit" border="0" />
  3262. </a>
  3263.  
  3264.  
  3265. </td>
  3266. <td class="encounterView" align="center">
  3267.  
  3268.  
  3269.  
  3270.  
  3271.  
  3272. <a href="javascript:void(0)" onClick="loadUrlIntoEncounterPopup('ADULTRETURN @BRMC | 10\/15\/2011 | Michael Anthony Morris', 'module/htmlformentry/htmlFormEntry.form?encounterId=18&inPopup=true'); return false;">
  3273. <img src="/openmrs/images/file.gif" title="View" border="0" />
  3274. </a>
  3275.  
  3276. </td>
  3277. <td class="encounterDatetime">
  3278. 10/15/2011
  3279. </td>
  3280. <td class="hidden">
  3281.  
  3282. 1318651200000
  3283. </td>
  3284. <td class="encounterType">ADULTRETURN</td>
  3285. <td class="encounterProvider">Michael Anthony Morris</td>
  3286. <td class="encounterForm">Student Adult Return Form</td>
  3287. <td class="encounterLocation">BRMC</td>
  3288. <td class="encounterEnterer">Michael Anthony Morris</td>
  3289. </tr>
  3290.  
  3291. <tr class='evenRow'>
  3292. <td class="hidden">
  3293.  
  3294. 19
  3295. </td>
  3296. <td class="encounterEdit" align="center">
  3297.  
  3298.  
  3299.  
  3300.  
  3301.  
  3302.  
  3303. <a href="module/htmlformentry/htmlFormEntry.form?encounterId=19&mode=EDIT">
  3304. <img src="/openmrs/images/edit.gif" title="Edit" border="0" />
  3305. </a>
  3306.  
  3307.  
  3308. </td>
  3309. <td class="encounterView" align="center">
  3310.  
  3311.  
  3312.  
  3313.  
  3314.  
  3315. <a href="javascript:void(0)" onClick="loadUrlIntoEncounterPopup('ADULTRETURN @BRMC | 10\/15\/2011 | Michael Anthony Morris', 'module/htmlformentry/htmlFormEntry.form?encounterId=19&inPopup=true'); return false;">
  3316. <img src="/openmrs/images/file.gif" title="View" border="0" />
  3317. </a>
  3318.  
  3319. </td>
  3320. <td class="encounterDatetime">
  3321. 10/15/2011
  3322. </td>
  3323. <td class="hidden">
  3324.  
  3325. 1318651200000
  3326. </td>
  3327. <td class="encounterType">ADULTRETURN</td>
  3328. <td class="encounterProvider">Michael Anthony Morris</td>
  3329. <td class="encounterForm">Student Adult Return Form</td>
  3330. <td class="encounterLocation">BRMC</td>
  3331. <td class="encounterEnterer">Michael Anthony Morris</td>
  3332. </tr>
  3333.  
  3334. <tr class='evenRow'>
  3335. <td class="hidden">
  3336.  
  3337. 20
  3338. </td>
  3339. <td class="encounterEdit" align="center">
  3340.  
  3341.  
  3342.  
  3343.  
  3344.  
  3345.  
  3346. <a href="module/htmlformentry/htmlFormEntry.form?encounterId=20&mode=EDIT">
  3347. <img src="/openmrs/images/edit.gif" title="Edit" border="0" />
  3348. </a>
  3349.  
  3350.  
  3351. </td>
  3352. <td class="encounterView" align="center">
  3353.  
  3354.  
  3355.  
  3356.  
  3357.  
  3358. <a href="javascript:void(0)" onClick="loadUrlIntoEncounterPopup('ADULTRETURN @BRMC | 10\/15\/2011 | Michael Anthony Morris', 'module/htmlformentry/htmlFormEntry.form?encounterId=20&inPopup=true'); return false;">
  3359. <img src="/openmrs/images/file.gif" title="View" border="0" />
  3360. </a>
  3361.  
  3362. </td>
  3363. <td class="encounterDatetime">
  3364. 10/15/2011
  3365. </td>
  3366. <td class="hidden">
  3367.  
  3368. 1318651200000
  3369. </td>
  3370. <td class="encounterType">ADULTRETURN</td>
  3371. <td class="encounterProvider">Michael Anthony Morris</td>
  3372. <td class="encounterForm">Student Adult Return Form</td>
  3373. <td class="encounterLocation">BRMC</td>
  3374. <td class="encounterEnterer">Michael Anthony Morris</td>
  3375. </tr>
  3376.  
  3377. <tr class='evenRow'>
  3378. <td class="hidden">
  3379.  
  3380. 21
  3381. </td>
  3382. <td class="encounterEdit" align="center">
  3383.  
  3384.  
  3385.  
  3386.  
  3387.  
  3388.  
  3389. <a href="module/htmlformentry/htmlFormEntry.form?encounterId=21&mode=EDIT">
  3390. <img src="/openmrs/images/edit.gif" title="Edit" border="0" />
  3391. </a>
  3392.  
  3393.  
  3394. </td>
  3395. <td class="encounterView" align="center">
  3396.  
  3397.  
  3398.  
  3399.  
  3400.  
  3401. <a href="javascript:void(0)" onClick="loadUrlIntoEncounterPopup('ADULTRETURN @BRMC | 10\/15\/2011 | Michael Anthony Morris', 'module/htmlformentry/htmlFormEntry.form?encounterId=21&inPopup=true'); return false;">
  3402. <img src="/openmrs/images/file.gif" title="View" border="0" />
  3403. </a>
  3404.  
  3405. </td>
  3406. <td class="encounterDatetime">
  3407. 10/15/2011
  3408. </td>
  3409. <td class="hidden">
  3410.  
  3411. 1318651200000
  3412. </td>
  3413. <td class="encounterType">ADULTRETURN</td>
  3414. <td class="encounterProvider">Michael Anthony Morris</td>
  3415. <td class="encounterForm">Student Adult Return Form</td>
  3416. <td class="encounterLocation">BRMC</td>
  3417. <td class="encounterEnterer">Michael Anthony Morris</td>
  3418. </tr>
  3419.  
  3420. <tr class='evenRow'>
  3421. <td class="hidden">
  3422.  
  3423. 17
  3424. </td>
  3425. <td class="encounterEdit" align="center">
  3426.  
  3427.  
  3428.  
  3429.  
  3430.  
  3431.  
  3432. <a href="module/htmlformentry/htmlFormEntry.form?encounterId=17&mode=EDIT">
  3433. <img src="/openmrs/images/edit.gif" title="Edit" border="0" />
  3434. </a>
  3435.  
  3436.  
  3437. </td>
  3438. <td class="encounterView" align="center">
  3439.  
  3440.  
  3441.  
  3442.  
  3443.  
  3444. <a href="javascript:void(0)" onClick="loadUrlIntoEncounterPopup('ADULTRETURN @BRMC | 10\/14\/2011 | Michael Anthony Morris', 'module/htmlformentry/htmlFormEntry.form?encounterId=17&inPopup=true'); return false;">
  3445. <img src="/openmrs/images/file.gif" title="View" border="0" />
  3446. </a>
  3447.  
  3448. </td>
  3449. <td class="encounterDatetime">
  3450. 10/14/2011
  3451. </td>
  3452. <td class="hidden">
  3453.  
  3454. 1318564800000
  3455. </td>
  3456. <td class="encounterType">ADULTRETURN</td>
  3457. <td class="encounterProvider">Michael Anthony Morris</td>
  3458. <td class="encounterForm">testform3</td>
  3459. <td class="encounterLocation">BRMC</td>
  3460. <td class="encounterEnterer">Michael Anthony Morris</td>
  3461. </tr>
  3462.  
  3463. <tr class='evenRow'>
  3464. <td class="hidden">
  3465.  
  3466. 16
  3467. </td>
  3468. <td class="encounterEdit" align="center">
  3469.  
  3470.  
  3471.  
  3472.  
  3473.  
  3474.  
  3475. <a href="module/htmlformentry/htmlFormEntry.form?encounterId=16&mode=EDIT">
  3476. <img src="/openmrs/images/edit.gif" title="Edit" border="0" />
  3477. </a>
  3478.  
  3479.  
  3480. </td>
  3481. <td class="encounterView" align="center">
  3482.  
  3483.  
  3484.  
  3485.  
  3486.  
  3487. <a href="javascript:void(0)" onClick="loadUrlIntoEncounterPopup('ADULTRETURN @BRMC | 10\/13\/2011 | Michael Anthony Morris', 'module/htmlformentry/htmlFormEntry.form?encounterId=16&inPopup=true'); return false;">
  3488. <img src="/openmrs/images/file.gif" title="View" border="0" />
  3489. </a>
  3490.  
  3491. </td>
  3492. <td class="encounterDatetime">
  3493. 10/13/2011
  3494. </td>
  3495. <td class="hidden">
  3496.  
  3497. 1318478400000
  3498. </td>
  3499. <td class="encounterType">ADULTRETURN</td>
  3500. <td class="encounterProvider">Michael Anthony Morris</td>
  3501. <td class="encounterForm">Student Adult Return Form</td>
  3502. <td class="encounterLocation">BRMC</td>
  3503. <td class="encounterEnterer">Michael Anthony Morris</td>
  3504. </tr>
  3505.  
  3506. <tr class='evenRow'>
  3507. <td class="hidden">
  3508.  
  3509. 15
  3510. </td>
  3511. <td class="encounterEdit" align="center">
  3512.  
  3513.  
  3514.  
  3515.  
  3516.  
  3517.  
  3518. <a href="module/htmlformentry/htmlFormEntry.form?encounterId=15&mode=EDIT">
  3519. <img src="/openmrs/images/edit.gif" title="Edit" border="0" />
  3520. </a>
  3521.  
  3522.  
  3523. </td>
  3524. <td class="encounterView" align="center">
  3525.  
  3526.  
  3527.  
  3528.  
  3529.  
  3530. <a href="javascript:void(0)" onClick="loadUrlIntoEncounterPopup('ADULTRETURN @BRMC | 10\/13\/2011 | Michael Anthony Morris', 'module/htmlformentry/htmlFormEntry.form?encounterId=15&inPopup=true'); return false;">
  3531. <img src="/openmrs/images/file.gif" title="View" border="0" />
  3532. </a>
  3533.  
  3534. </td>
  3535. <td class="encounterDatetime">
  3536. 10/13/2011
  3537. </td>
  3538. <td class="hidden">
  3539.  
  3540. 1318478400000
  3541. </td>
  3542. <td class="encounterType">ADULTRETURN</td>
  3543. <td class="encounterProvider">Michael Anthony Morris</td>
  3544. <td class="encounterForm">Student Adult Return Form</td>
  3545. <td class="encounterLocation">BRMC</td>
  3546. <td class="encounterEnterer">Michael Anthony Morris</td>
  3547. </tr>
  3548.  
  3549. <tr class='evenRow'>
  3550. <td class="hidden">
  3551.  
  3552. 14
  3553. </td>
  3554. <td class="encounterEdit" align="center">
  3555.  
  3556.  
  3557.  
  3558.  
  3559.  
  3560.  
  3561. <a href="module/htmlformentry/htmlFormEntry.form?encounterId=14&mode=EDIT">
  3562. <img src="/openmrs/images/edit.gif" title="Edit" border="0" />
  3563. </a>
  3564.  
  3565.  
  3566. </td>
  3567. <td class="encounterView" align="center">
  3568.  
  3569.  
  3570.  
  3571.  
  3572.  
  3573. <a href="javascript:void(0)" onClick="loadUrlIntoEncounterPopup('ADULTRETURN @BRMC | 10\/13\/2011 | Michael Anthony Morris', 'module/htmlformentry/htmlFormEntry.form?encounterId=14&inPopup=true'); return false;">
  3574. <img src="/openmrs/images/file.gif" title="View" border="0" />
  3575. </a>
  3576.  
  3577. </td>
  3578. <td class="encounterDatetime">
  3579. 10/13/2011
  3580. </td>
  3581. <td class="hidden">
  3582.  
  3583. 1318478400000
  3584. </td>
  3585. <td class="encounterType">ADULTRETURN</td>
  3586. <td class="encounterProvider">Michael Anthony Morris</td>
  3587. <td class="encounterForm">jquery test</td>
  3588. <td class="encounterLocation">BRMC</td>
  3589. <td class="encounterEnterer">Michael Anthony Morris</td>
  3590. </tr>
  3591.  
  3592. <tr class='evenRow'>
  3593. <td class="hidden">
  3594.  
  3595. 13
  3596. </td>
  3597. <td class="encounterEdit" align="center">
  3598.  
  3599.  
  3600.  
  3601.  
  3602.  
  3603.  
  3604. <a href="module/htmlformentry/htmlFormEntry.form?encounterId=13&mode=EDIT">
  3605. <img src="/openmrs/images/edit.gif" title="Edit" border="0" />
  3606. </a>
  3607.  
  3608.  
  3609. </td>
  3610. <td class="encounterView" align="center">
  3611.  
  3612.  
  3613.  
  3614.  
  3615.  
  3616. <a href="javascript:void(0)" onClick="loadUrlIntoEncounterPopup('ADULTRETURN @BRMC | 10\/13\/2011 | Michael Anthony Morris', 'module/htmlformentry/htmlFormEntry.form?encounterId=13&inPopup=true'); return false;">
  3617. <img src="/openmrs/images/file.gif" title="View" border="0" />
  3618. </a>
  3619.  
  3620. </td>
  3621. <td class="encounterDatetime">
  3622. 10/13/2011
  3623. </td>
  3624. <td class="hidden">
  3625.  
  3626. 1318478400000
  3627. </td>
  3628. <td class="encounterType">ADULTRETURN</td>
  3629. <td class="encounterProvider">Michael Anthony Morris</td>
  3630. <td class="encounterForm">jquery test</td>
  3631. <td class="encounterLocation">BRMC</td>
  3632. <td class="encounterEnterer">Michael Anthony Morris</td>
  3633. </tr>
  3634.  
  3635. <tr class='evenRow'>
  3636. <td class="hidden">
  3637.  
  3638. 12
  3639. </td>
  3640. <td class="encounterEdit" align="center">
  3641.  
  3642.  
  3643.  
  3644.  
  3645.  
  3646.  
  3647. <a href="module/htmlformentry/htmlFormEntry.form?encounterId=12&mode=EDIT">
  3648. <img src="/openmrs/images/edit.gif" title="Edit" border="0" />
  3649. </a>
  3650.  
  3651.  
  3652. </td>
  3653. <td class="encounterView" align="center">
  3654.  
  3655.  
  3656.  
  3657.  
  3658.  
  3659. <a href="javascript:void(0)" onClick="loadUrlIntoEncounterPopup('ADULTRETURN @BRMC | 10\/13\/2011 | Michael Anthony Morris', 'module/htmlformentry/htmlFormEntry.form?encounterId=12&inPopup=true'); return false;">
  3660. <img src="/openmrs/images/file.gif" title="View" border="0" />
  3661. </a>
  3662.  
  3663. </td>
  3664. <td class="encounterDatetime">
  3665. 10/13/2011
  3666. </td>
  3667. <td class="hidden">
  3668.  
  3669. 1318478400000
  3670. </td>
  3671. <td class="encounterType">ADULTRETURN</td>
  3672. <td class="encounterProvider">Michael Anthony Morris</td>
  3673. <td class="encounterForm">Student Adult Return Form</td>
  3674. <td class="encounterLocation">BRMC</td>
  3675. <td class="encounterEnterer">Michael Anthony Morris</td>
  3676. </tr>
  3677.  
  3678. <tr class='evenRow'>
  3679. <td class="hidden">
  3680.  
  3681. 6
  3682. </td>
  3683. <td class="encounterEdit" align="center">
  3684.  
  3685.  
  3686.  
  3687.  
  3688.  
  3689.  
  3690. <a href="module/htmlformentry/htmlFormEntry.form?encounterId=6&mode=EDIT">
  3691. <img src="/openmrs/images/edit.gif" title="Edit" border="0" />
  3692. </a>
  3693.  
  3694.  
  3695. </td>
  3696. <td class="encounterView" align="center">
  3697.  
  3698.  
  3699.  
  3700.  
  3701.  
  3702. <a href="javascript:void(0)" onClick="loadUrlIntoEncounterPopup('ADULTRETURN @BRMC | 09\/24\/2011 | Michael Anthony Morris', 'module/htmlformentry/htmlFormEntry.form?encounterId=6&inPopup=true'); return false;">
  3703. <img src="/openmrs/images/file.gif" title="View" border="0" />
  3704. </a>
  3705.  
  3706. </td>
  3707. <td class="encounterDatetime">
  3708. 09/24/2011
  3709. </td>
  3710. <td class="hidden">
  3711.  
  3712. 1316836800000
  3713. </td>
  3714. <td class="encounterType">ADULTRETURN</td>
  3715. <td class="encounterProvider">Michael Anthony Morris</td>
  3716. <td class="encounterForm">jquery test</td>
  3717. <td class="encounterLocation">BRMC</td>
  3718. <td class="encounterEnterer">Michael Anthony Morris</td>
  3719. </tr>
  3720.  
  3721. <tr class='evenRow'>
  3722. <td class="hidden">
  3723.  
  3724. 7
  3725. </td>
  3726. <td class="encounterEdit" align="center">
  3727.  
  3728.  
  3729.  
  3730.  
  3731.  
  3732.  
  3733. <a href="module/htmlformentry/htmlFormEntry.form?encounterId=7&mode=EDIT">
  3734. <img src="/openmrs/images/edit.gif" title="Edit" border="0" />
  3735. </a>
  3736.  
  3737.  
  3738. </td>
  3739. <td class="encounterView" align="center">
  3740.  
  3741.  
  3742.  
  3743.  
  3744.  
  3745. <a href="javascript:void(0)" onClick="loadUrlIntoEncounterPopup('ADULTRETURN @BRMC | 09\/24\/2011 | Michael Anthony Morris', 'module/htmlformentry/htmlFormEntry.form?encounterId=7&inPopup=true'); return false;">
  3746. <img src="/openmrs/images/file.gif" title="View" border="0" />
  3747. </a>
  3748.  
  3749. </td>
  3750. <td class="encounterDatetime">
  3751. 09/24/2011
  3752. </td>
  3753. <td class="hidden">
  3754.  
  3755. 1316836800000
  3756. </td>
  3757. <td class="encounterType">ADULTRETURN</td>
  3758. <td class="encounterProvider">Michael Anthony Morris</td>
  3759. <td class="encounterForm">jquery test</td>
  3760. <td class="encounterLocation">BRMC</td>
  3761. <td class="encounterEnterer">Michael Anthony Morris</td>
  3762. </tr>
  3763.  
  3764. <tr class='evenRow'>
  3765. <td class="hidden">
  3766.  
  3767. 10
  3768. </td>
  3769. <td class="encounterEdit" align="center">
  3770.  
  3771.  
  3772.  
  3773.  
  3774.  
  3775.  
  3776. <a href="module/htmlformentry/htmlFormEntry.form?encounterId=10&mode=EDIT">
  3777. <img src="/openmrs/images/edit.gif" title="Edit" border="0" />
  3778. </a>
  3779.  
  3780.  
  3781. </td>
  3782. <td class="encounterView" align="center">
  3783.  
  3784.  
  3785.  
  3786.  
  3787.  
  3788. <a href="javascript:void(0)" onClick="loadUrlIntoEncounterPopup('ADULTRETURN @BRMC | 09\/24\/2011 | Michael Anthony Morris', 'module/htmlformentry/htmlFormEntry.form?encounterId=10&inPopup=true'); return false;">
  3789. <img src="/openmrs/images/file.gif" title="View" border="0" />
  3790. </a>
  3791.  
  3792. </td>
  3793. <td class="encounterDatetime">
  3794. 09/24/2011
  3795. </td>
  3796. <td class="hidden">
  3797.  
  3798. 1316836800000
  3799. </td>
  3800. <td class="encounterType">ADULTRETURN</td>
  3801. <td class="encounterProvider">Michael Anthony Morris</td>
  3802. <td class="encounterForm">jquery test</td>
  3803. <td class="encounterLocation">BRMC</td>
  3804. <td class="encounterEnterer">Michael Anthony Morris</td>
  3805. </tr>
  3806.  
  3807. <tr class='evenRow'>
  3808. <td class="hidden">
  3809.  
  3810. 4
  3811. </td>
  3812. <td class="encounterEdit" align="center">
  3813.  
  3814.  
  3815.  
  3816.  
  3817.  
  3818.  
  3819. <a href="module/htmlformentry/htmlFormEntry.form?encounterId=4&mode=EDIT">
  3820. <img src="/openmrs/images/edit.gif" title="Edit" border="0" />
  3821. </a>
  3822.  
  3823.  
  3824. </td>
  3825. <td class="encounterView" align="center">
  3826.  
  3827.  
  3828.  
  3829.  
  3830.  
  3831. <a href="javascript:void(0)" onClick="loadUrlIntoEncounterPopup('ADULTRETURN @BRMC | 09\/18\/2011 | Michael Anthony Morris', 'module/htmlformentry/htmlFormEntry.form?encounterId=4&inPopup=true'); return false;">
  3832. <img src="/openmrs/images/file.gif" title="View" border="0" />
  3833. </a>
  3834.  
  3835. </td>
  3836. <td class="encounterDatetime">
  3837. 09/18/2011
  3838. </td>
  3839. <td class="hidden">
  3840.  
  3841. 1316318400000
  3842. </td>
  3843. <td class="encounterType">ADULTRETURN</td>
  3844. <td class="encounterProvider">Michael Anthony Morris</td>
  3845. <td class="encounterForm">jquery test</td>
  3846. <td class="encounterLocation">BRMC</td>
  3847. <td class="encounterEnterer">Michael Anthony Morris</td>
  3848. </tr>
  3849.  
  3850. <tr class='evenRow'>
  3851. <td class="hidden">
  3852.  
  3853. 3
  3854. </td>
  3855. <td class="encounterEdit" align="center">
  3856.  
  3857.  
  3858.  
  3859.  
  3860.  
  3861.  
  3862. <a href="module/htmlformentry/htmlFormEntry.form?encounterId=3&mode=EDIT">
  3863. <img src="/openmrs/images/edit.gif" title="Edit" border="0" />
  3864. </a>
  3865.  
  3866.  
  3867. </td>
  3868. <td class="encounterView" align="center">
  3869.  
  3870.  
  3871.  
  3872.  
  3873.  
  3874. <a href="javascript:void(0)" onClick="loadUrlIntoEncounterPopup('ADULTINITIAL @BRMC | 09\/14\/2011 | Michael Anthony Morris', 'module/htmlformentry/htmlFormEntry.form?encounterId=3&inPopup=true'); return false;">
  3875. <img src="/openmrs/images/file.gif" title="View" border="0" />
  3876. </a>
  3877.  
  3878. </td>
  3879. <td class="encounterDatetime">
  3880. 09/14/2011
  3881. </td>
  3882. <td class="hidden">
  3883.  
  3884. 1315972800000
  3885. </td>
  3886. <td class="encounterType">ADULTINITIAL</td>
  3887. <td class="encounterProvider">Michael Anthony Morris</td>
  3888. <td class="encounterForm">Advanced Adult Return</td>
  3889. <td class="encounterLocation">BRMC</td>
  3890. <td class="encounterEnterer">Michael Anthony Morris</td>
  3891. </tr>
  3892.  
  3893. </tbody>
  3894. </table>
  3895. </div>
  3896. </div>
  3897. </div>
  3898.  
  3899.  
  3900.  
  3901.  
  3902. <script src="/openmrs/dwr/interface/DWRObsService.js?v=1.8.2.21762" type="text/javascript" ></script>
  3903. <script src="/openmrs/dwr/interface/DWRPatientService.js?v=1.8.2.21762" type="text/javascript" ></script>
  3904.  
  3905.  
  3906. <script type="text/javascript">
  3907. <!-- // begin
  3908.  
  3909.  
  3910.  
  3911.  
  3912. function handleGetObservations(encounterId) {
  3913.  
  3914. loadUrlIntoEncounterPopup('Test title', '/openmrs/admin/encounters/encounterDisplay.list?encounterId=' + encounterId);
  3915. }
  3916.  
  3917.  
  3918.  
  3919. function handleRefreshTable(id, data, func) {
  3920. dwr.util.removeAllRows(id);
  3921. dwr.util.addRows(id, data, func, {
  3922. cellCreator:function(options) {
  3923. var td = document.createElement("td");
  3924. return td;
  3925. },
  3926. escapeHtml:false
  3927. });
  3928. }
  3929.  
  3930. function showHideDiv(divId) {
  3931. var div = document.getElementById(divId);
  3932. if ( div ) {
  3933. if (div.style.display != "") {
  3934. div.style.display = "";
  3935. } else {
  3936. div.style.display = "none";
  3937. }
  3938. }
  3939. }
  3940.  
  3941. function handleAddObs(encounterField, conceptField, valueTextField, obsDateField) {
  3942. var encounterId = dwr.util.getValue($(encounterField));
  3943. var conceptId = dwr.util.getValue($(conceptField));
  3944. var valueText = dwr.util.getValue($(valueTextField));
  3945. var obsDate = dwr.util.getValue($(obsDateField));
  3946. var patientId = 3;
  3947. //alert("Adding obs for encounter (" + encounterId + "): " + conceptId + " = " + valueText + " " + obsDate);
  3948. DWRObsService.createObs(patientId, encounterId, conceptId, valueText, obsDate);
  3949. handleGetObservations(encounterId);
  3950. }
  3951.  
  3952.  
  3953. //refreshObsTable();
  3954.  
  3955. // end -->
  3956.  
  3957. </script>
  3958. </div>
  3959. </div>
  3960. </div>
  3961.  
  3962. </div>
  3963.  
  3964.  
  3965. <div id="patientDemographics" style="display:none;">
  3966.  
  3967.  
  3968. <div class='portlet' id='patientDashboardDemographics'>
  3969.  
  3970.  
  3971.  
  3972.  
  3973.  
  3974.  
  3975.  
  3976.  
  3977.  
  3978. <div class="boxHeader">Patient</div>
  3979. <div class="box">
  3980. <table class="personName">
  3981. <thead>
  3982. <tr class="patientDemographicsHeaderRow">
  3983. <th class="patientDemographicsPersonNameHeader">Names</th>
  3984.  
  3985. </tr>
  3986. </thead>
  3987. <tbody>
  3988. <tr class="patientDemographicsRow">
  3989. <td valign="top" class="patientDemographicsData" >
  3990.  
  3991.  
  3992.  
  3993.  
  3994. <div class='portlet' id='namePortlet'>
  3995.  
  3996.  
  3997.  
  3998.  
  3999.  
  4000.  
  4001.  
  4002.  
  4003.  
  4004.  
  4005.  
  4006.  
  4007.  
  4008.  
  4009.  
  4010.  
  4011. *
  4012.  
  4013.  
  4014.  
  4015.  
  4016.  
  4017.  
  4018.  
  4019.  
  4020. John
  4021.  
  4022.  
  4023.  
  4024.  
  4025.  
  4026.  
  4027.  
  4028.  
  4029.  
  4030.  
  4031.  
  4032.  
  4033.  
  4034.  
  4035.  
  4036.  
  4037.  
  4038.  
  4039.  
  4040. Doe
  4041.  
  4042.  
  4043.  
  4044.  
  4045.  
  4046.  
  4047.  
  4048.  
  4049.  
  4050.  
  4051.  
  4052.  
  4053.  
  4054.  
  4055.  
  4056. </div>
  4057.  
  4058.  
  4059.  
  4060. </td>
  4061.  
  4062. </tr>
  4063. </tbody>
  4064. </table>
  4065. </div>
  4066.  
  4067. <br/>
  4068.  
  4069. <div class="boxHeader">Addresses</div>
  4070. <div class="box">
  4071. <table class="personAddress">
  4072. <thead>
  4073. <div class='portlet' id='addressPortlet'>
  4074.  
  4075.  
  4076.  
  4077.  
  4078.  
  4079.  
  4080.  
  4081.  
  4082.  
  4083. <script type="text/javascript">
  4084.  
  4085. // The originally defined onSubmit function
  4086. // We replace this with "return false;" until all errors are fixed
  4087. var origOnSubmit = null;
  4088.  
  4089. // to know if we have overwritten the onsubmit method already
  4090. var overwrittenOnSubmit = false;
  4091.  
  4092. /**
  4093. * Validate the input format according to the regular expression.
  4094. * If not valid, the background is highlighted and a formatting Hint is displayed.
  4095. *
  4096. * @param obj the input dom object
  4097. * @param regex regular expression defined in the localized AddressTemplate in openmrs-servlet.xml
  4098. * @param codeName the token.codeName (e.g.: "latitude")
  4099. */
  4100. function validateFormat(obj, regex, codeName) {
  4101. var formatMsg = "formatMsg_" + codeName;
  4102. var resultArray = obj.value.match(regex);
  4103. var tips = document.getElementsByName(formatMsg);
  4104. if (resultArray || obj.value == null || obj.value == "") {
  4105. obj.style.background="";
  4106. for (var i=0; i<tips.length; i++) {
  4107. tips[i].style.display = "none";
  4108. }
  4109. if (overwrittenOnSubmit) {
  4110. // replace the parent form's onsubmit with the one
  4111. // we saved because we put in a temporary "return false" in the onsubmit
  4112. obj.form.onsubmit = origOnSubmit;
  4113. origOnSubmit = null;
  4114. overwrittenOnSubmit = false;
  4115. }
  4116. }
  4117. else {
  4118. obj.style.background="yellow";
  4119. for (var i=0; i<tips.length; i++) {
  4120. tips[i].style.display = "";
  4121. }
  4122.  
  4123. if (!overwrittenOnSubmit) {
  4124. // this is the first time there was an error, save the current
  4125. // onSubmit for the form and replace it with a popup error msg
  4126. origOnSubmit = obj.form.onsubmit;
  4127. obj.form.onsubmit = function() { alert('Please fix all errors and try again.'); return false; };
  4128. overwrittenOnSubmit = true;
  4129. }
  4130. }
  4131.  
  4132. }
  4133.  
  4134. </script>
  4135.  
  4136.  
  4137.  
  4138.  
  4139.  
  4140. <th></th>
  4141.  
  4142.  
  4143.  
  4144.  
  4145.  
  4146.  
  4147.  
  4148. <th>Address</th>
  4149.  
  4150.  
  4151.  
  4152.  
  4153.  
  4154.  
  4155.  
  4156. <th>Address 2</th>
  4157.  
  4158.  
  4159.  
  4160.  
  4161.  
  4162.  
  4163.  
  4164. <th>City/Village</th>
  4165.  
  4166.  
  4167.  
  4168.  
  4169.  
  4170. <th>State/Province</th>
  4171.  
  4172.  
  4173.  
  4174.  
  4175.  
  4176. <th>Country</th>
  4177.  
  4178.  
  4179.  
  4180.  
  4181.  
  4182. <th>Postal Code</th>
  4183.  
  4184.  
  4185.  
  4186.  
  4187.  
  4188.  
  4189.  
  4190. <th>Latitude</th>
  4191.  
  4192.  
  4193.  
  4194.  
  4195.  
  4196. <th>Longitude</th>
  4197.  
  4198.  
  4199.  
  4200.  
  4201.  
  4202.  
  4203.  
  4204.  
  4205.  
  4206.  
  4207.  
  4208. </div>
  4209. </thead>
  4210. <tbody>
  4211.  
  4212.  
  4213.  
  4214.  
  4215. <div class='portlet' id='addressPortlet'>
  4216.  
  4217.  
  4218.  
  4219.  
  4220.  
  4221.  
  4222.  
  4223.  
  4224.  
  4225. <script type="text/javascript">
  4226.  
  4227. // The originally defined onSubmit function
  4228. // We replace this with "return false;" until all errors are fixed
  4229. var origOnSubmit = null;
  4230.  
  4231. // to know if we have overwritten the onsubmit method already
  4232. var overwrittenOnSubmit = false;
  4233.  
  4234. /**
  4235. * Validate the input format according to the regular expression.
  4236. * If not valid, the background is highlighted and a formatting Hint is displayed.
  4237. *
  4238. * @param obj the input dom object
  4239. * @param regex regular expression defined in the localized AddressTemplate in openmrs-servlet.xml
  4240. * @param codeName the token.codeName (e.g.: "latitude")
  4241. */
  4242. function validateFormat(obj, regex, codeName) {
  4243. var formatMsg = "formatMsg_" + codeName;
  4244. var resultArray = obj.value.match(regex);
  4245. var tips = document.getElementsByName(formatMsg);
  4246. if (resultArray || obj.value == null || obj.value == "") {
  4247. obj.style.background="";
  4248. for (var i=0; i<tips.length; i++) {
  4249. tips[i].style.display = "none";
  4250. }
  4251. if (overwrittenOnSubmit) {
  4252. // replace the parent form's onsubmit with the one
  4253. // we saved because we put in a temporary "return false" in the onsubmit
  4254. obj.form.onsubmit = origOnSubmit;
  4255. origOnSubmit = null;
  4256. overwrittenOnSubmit = false;
  4257. }
  4258. }
  4259. else {
  4260. obj.style.background="yellow";
  4261. for (var i=0; i<tips.length; i++) {
  4262. tips[i].style.display = "";
  4263. }
  4264.  
  4265. if (!overwrittenOnSubmit) {
  4266. // this is the first time there was an error, save the current
  4267. // onSubmit for the form and replace it with a popup error msg
  4268. origOnSubmit = obj.form.onsubmit;
  4269. obj.form.onsubmit = function() { alert('Please fix all errors and try again.'); return false; };
  4270. overwrittenOnSubmit = true;
  4271. }
  4272. }
  4273.  
  4274. }
  4275.  
  4276. </script>
  4277.  
  4278.  
  4279.  
  4280.  
  4281.  
  4282.  
  4283. <tr>
  4284.  
  4285. <td>
  4286.  
  4287. *
  4288.  
  4289. </td>
  4290.  
  4291.  
  4292.  
  4293.  
  4294.  
  4295.  
  4296. <td>
  4297.  
  4298.  
  4299.  
  4300. </td>
  4301.  
  4302.  
  4303.  
  4304.  
  4305.  
  4306.  
  4307.  
  4308. <td>
  4309.  
  4310.  
  4311.  
  4312. </td>
  4313.  
  4314.  
  4315.  
  4316.  
  4317.  
  4318.  
  4319.  
  4320. <td>
  4321.  
  4322.  
  4323.  
  4324. </td>
  4325.  
  4326.  
  4327.  
  4328.  
  4329.  
  4330. <td>
  4331.  
  4332.  
  4333.  
  4334. </td>
  4335.  
  4336.  
  4337.  
  4338.  
  4339.  
  4340. <td>
  4341.  
  4342.  
  4343.  
  4344. </td>
  4345.  
  4346.  
  4347.  
  4348.  
  4349.  
  4350. <td>
  4351.  
  4352.  
  4353.  
  4354. </td>
  4355.  
  4356.  
  4357.  
  4358.  
  4359.  
  4360.  
  4361.  
  4362. <td>
  4363.  
  4364.  
  4365.  
  4366. </td>
  4367.  
  4368.  
  4369.  
  4370.  
  4371.  
  4372. <td>
  4373.  
  4374.  
  4375.  
  4376. </td>
  4377.  
  4378.  
  4379.  
  4380. </tr>
  4381.  
  4382.  
  4383.  
  4384.  
  4385.  
  4386.  
  4387. </div>
  4388.  
  4389.  
  4390.  
  4391. </tbody>
  4392. </table>
  4393. </div>
  4394.  
  4395. <br/>
  4396. <br/>
  4397.  
  4398. <div id="patientDemographicsEdit">
  4399.  
  4400. <a href="/openmrs/admin/patients/patient.form?patientId=3">Edit this Patient</a> |
  4401. <a href="/openmrs/admin/patients/shortPatientForm.form?patientId=3">Edit this Patient (Short Form)</a><br /><br />
  4402.  
  4403.  
  4404. </div>
  4405. </div>
  4406.  
  4407. </div>
  4408.  
  4409.  
  4410. <div id="patientGraphs" style="display:none;">
  4411.  
  4412.  
  4413. <div class='portlet' id='patientGraphsPortlet'>
  4414.  
  4415.  
  4416.  
  4417.  
  4418.  
  4419.  
  4420.  
  4421.  
  4422. <script src="/openmrs/scripts/flot/jquery.flot.js?v=1.8.2.21762" type="text/javascript" ></script>
  4423. <script src="/openmrs/scripts/flot/jquery.flot.multiple.threshold.js?v=1.8.2.21762" type="text/javascript" ></script>
  4424.  
  4425. <style>
  4426. table#labTestTable {
  4427. border: 2px solid black;
  4428. border-spacing: 0px;
  4429. border-collapse: collapse;
  4430. margin: 2px;
  4431. }
  4432.  
  4433. table#labTestTable td {
  4434. border: 1px solid black;
  4435. padding: 3px;
  4436. }
  4437.  
  4438. table#labTestTable th {
  4439. border: 1px solid black;
  4440. padding: 3px;
  4441. }
  4442. </style>
  4443.  
  4444.  
  4445.  
  4446.  
  4447.  
  4448.  
  4449.  
  4450. <div class="boxHeader">Graphs</div>
  4451. <div class="box">
  4452. <table width="100%">
  4453. <tr>
  4454. <td align="center">
  4455.  
  4456. <div style="width: 750px; overflow: auto; border: 1px solid black;">
  4457. <table id="labTestTable"><tr><th></th><th>09/14/2011</th><th>09/18/2011</th><th>09/24/2011</th><th>10/15/2011</th><tr><th><a href="admin/observations/personObs.form?personId=3&conceptId=887">GLU</a></th><td align="center">130.0<br/></td><td align="center">140.0<br/></td><td align="center">80.0<br/></td><td align="center">111.0<br/></td></tr><tr><th><a href="admin/observations/personObs.form?personId=3&conceptId=5085">SBP</a></th><td align="center">90.0<br/></td><td align="center">85.0<br/></td><td align="center">80.0<br/></td><td align="center">150.0<br/></td></tr><tr><th><a href="admin/observations/personObs.form?personId=3&conceptId=5086">DBP</a></th><td align="center">135.0<br/></td><td align="center">138.0<br/></td><td align="center">120.0<br/></td><td align="center">90.0<br/></td></tr></table>
  4458.  
  4459. </div>
  4460.  
  4461. </td>
  4462. </tr>
  4463.  
  4464.  
  4465. <tr>
  4466. <td>
  4467. <div>
  4468. <div style="margin: 0pt auto; height: 300px; width: 600px; align: center" align="center" id="conceptBox-887">Loading...</div>
  4469. <div align="center">
  4470. <div style="width: 750px; overflow: auto; border: 1px solid black;">
  4471.  
  4472. <table id="labTestTable"><tr><th></th><th>09/14/2011</th><th>09/18/2011</th><th>09/24/2011</th><th>10/15/2011</th><tr><th><a href="admin/observations/personObs.form?personId=3&conceptId=887">GLU</a></th><td align="center">130.0<br/></td><td align="center">140.0<br/></td><td align="center">80.0<br/></td><td align="center">111.0<br/></td></tr></table>
  4473.  
  4474. </div>
  4475. <div align="center" valign="top" style="font-size: .9em"><a
  4476. href="?patientId=3&patientGraphConceptRemove=true&patientGraphConcept=887">Remove</a> <br />
  4477. <br />
  4478. </div>
  4479.  
  4480. </div>
  4481.  
  4482.  
  4483. </div>
  4484. </td>
  4485. </tr>
  4486. <tr>
  4487. <td><br />
  4488. <hr />
  4489. <br />
  4490. </td>
  4491. </tr>
  4492.  
  4493.  
  4494.  
  4495. <tr>
  4496. <td>
  4497. <div>
  4498. <div style="margin: 0pt auto; height: 300px; width: 600px; align: center" align="center" id="conceptBox-5085">Loading...</div>
  4499. <div align="center">
  4500. <div style="width: 750px; overflow: auto; border: 1px solid black;">
  4501.  
  4502. <table id="labTestTable"><tr><th></th><th>09/14/2011</th><th>09/18/2011</th><th>09/24/2011</th><th>10/15/2011</th><tr><th><a href="admin/observations/personObs.form?personId=3&conceptId=5085">SBP</a></th><td align="center">90.0<br/></td><td align="center">85.0<br/></td><td align="center">80.0<br/></td><td align="center">150.0<br/></td></tr></table>
  4503.  
  4504. </div>
  4505. <div align="center" valign="top" style="font-size: .9em"><a
  4506. href="?patientId=3&patientGraphConceptRemove=true&patientGraphConcept=5085">Remove</a> <br />
  4507. <br />
  4508. </div>
  4509.  
  4510. </div>
  4511.  
  4512.  
  4513. </div>
  4514. </td>
  4515. </tr>
  4516. <tr>
  4517. <td><br />
  4518. <hr />
  4519. <br />
  4520. </td>
  4521. </tr>
  4522.  
  4523.  
  4524.  
  4525. <tr>
  4526. <td>
  4527. <div>
  4528. <div style="margin: 0pt auto; height: 300px; width: 600px; align: center" align="center" id="conceptBox-5086">Loading...</div>
  4529. <div align="center">
  4530. <div style="width: 750px; overflow: auto; border: 1px solid black;">
  4531.  
  4532. <table id="labTestTable"><tr><th></th><th>09/14/2011</th><th>09/18/2011</th><th>09/24/2011</th><th>10/15/2011</th><tr><th><a href="admin/observations/personObs.form?personId=3&conceptId=5086">DBP</a></th><td align="center">135.0<br/></td><td align="center">138.0<br/></td><td align="center">120.0<br/></td><td align="center">90.0<br/></td></tr></table>
  4533.  
  4534. </div>
  4535. <div align="center" valign="top" style="font-size: .9em"><a
  4536. href="?patientId=3&patientGraphConceptRemove=true&patientGraphConcept=5086">Remove</a> <br />
  4537. <br />
  4538. </div>
  4539.  
  4540. </div>
  4541.  
  4542.  
  4543. </div>
  4544. </td>
  4545. </tr>
  4546. <tr>
  4547. <td><br />
  4548. <hr />
  4549. <br />
  4550. </td>
  4551. </tr>
  4552.  
  4553.  
  4554. <tr>
  4555. <td>
  4556. Add New Graph:<br />
  4557. Find Concept(s)
  4558.  
  4559.  
  4560.  
  4561.  
  4562.  
  4563.  
  4564.  
  4565.  
  4566.  
  4567.  
  4568.  
  4569.  
  4570.  
  4571.  
  4572.  
  4573.  
  4574.  
  4575.  
  4576.  
  4577.  
  4578.  
  4579.  
  4580.  
  4581. <script src="/openmrs/dwr/interface/DWRConceptService.js?v=1.8.2.21762" type="text/javascript" ></script>
  4582. <script src="/openmrs/scripts/jquery/autocomplete/OpenmrsAutoComplete.js?v=1.8.2.21762" type="text/javascript" ></script>
  4583.  
  4584.  
  4585.  
  4586.  
  4587.  
  4588.  
  4589.  
  4590.  
  4591. <script type="text/javascript">
  4592.  
  4593. $j(document).ready( function() {
  4594.  
  4595. var includeC = "".split(",");
  4596. var excludeC = "".split(",");
  4597. var includeD = "Numeric".split(",");
  4598. var excludeD = "N/A".split(",");
  4599.  
  4600. // the typical callback
  4601. var callback = new CreateCallback({includeClasses:includeC, excludeClasses:excludeC, includeDatatypes:includeD, excludeDatatypes:excludeD}).conceptCallback();
  4602.  
  4603.  
  4604.  
  4605. // set up the autocomplete
  4606. new AutoComplete("conceptId_selection", callback, {
  4607. select: function(event, ui) {
  4608. funcconceptAutoCompleteOnSelect(ui.item.object, ui.item);
  4609. }
  4610. });
  4611.  
  4612.  
  4613.  
  4614.  
  4615.  
  4616. })
  4617.  
  4618. function funcconceptAutoCompleteOnSelect(concept, item) {
  4619. jquerySelectEscaped('conceptId').val(concept.conceptId);
  4620.  
  4621. // if called with initialValue, show the name ourselves
  4622. if (!item)
  4623. jquerySelectEscaped('conceptId_selection').val(concept.name);
  4624.  
  4625.  
  4626.  
  4627.  
  4628. if (concept) {
  4629. // only call the onSelect if we got back a true object
  4630. onConceptSelect(concept);
  4631. }
  4632.  
  4633. }
  4634. </script>
  4635.  
  4636. <input type="text" id="conceptId_selection" />
  4637. <input type="hidden" name="concept" id="conceptId" />
  4638. <input type="text" name="concept_other" id="conceptId_other" style="display:none" value=""/>
  4639. <script type="text/javascript">
  4640. function onConceptSelect(concept) {
  4641. document.location="?patientId=3&patientGraphConcept=" + concept.conceptId;
  4642. }
  4643. </script>
  4644. </td>
  4645. </tr>
  4646. </table>
  4647. </div>
  4648.  
  4649. <script type="text/javascript">
  4650. function loadGraphs() {
  4651.  
  4652.  
  4653.  
  4654.  
  4655.  
  4656.  
  4657. $j.getJSON("patientGraphJson.form?patientId=3&conceptId=887", function(json){
  4658. $j.plot($j('#conceptBox-887'),
  4659. [
  4660. {
  4661. data:json.data,lines:{show:true},color:"rgb(0,0,0)",
  4662. constraints:
  4663. [
  4664. {
  4665. threshold: {above:json.normal.high},
  4666. color: "rgb(255,126,0)"
  4667. },
  4668. {
  4669. threshold: {below:json.normal.low},
  4670. color: "rgb(255,126,0)"
  4671. },
  4672. {
  4673. threshold: {above:json.absolute.high},
  4674. color: "rgb(20,20,20)"
  4675. },
  4676. {
  4677. threshold: {below:json.absolute.low},
  4678. color: "rgb(20,20,20)"
  4679. },
  4680. {
  4681. threshold: {above:json.critical.high},
  4682. color: "rgb(200,0,0)"
  4683. },
  4684. {
  4685. threshold: {below:json.critical.low},
  4686. color: "rgb(200,0,0)"
  4687. }
  4688. ]
  4689. }],
  4690. {
  4691. xaxis: {
  4692. mode: "time",minTickSize: [1, "month"]
  4693. },
  4694. yaxis: {
  4695. min: findMaxAndMin(json.data).min-10, max: findMaxAndMin(json.data).max+10
  4696. }
  4697. }
  4698. );
  4699.  
  4700. function findMaxAndMin(dataset) {
  4701. if(undefined == dataset)return undefined;
  4702. var arr = [];
  4703. for( var i=0;i<dataset.length;i++){
  4704. arr[i] = dataset[i][1];
  4705. }
  4706. arr.sort(function(p1,p2){return p1-p2});
  4707. return { min:arr[0],max:arr[arr.length-1]};
  4708. }
  4709. }
  4710. );
  4711.  
  4712.  
  4713.  
  4714.  
  4715.  
  4716.  
  4717.  
  4718. $j.getJSON("patientGraphJson.form?patientId=3&conceptId=5085", function(json){
  4719. $j.plot($j('#conceptBox-5085'),
  4720. [
  4721. {
  4722. data:json.data,lines:{show:true},color:"rgb(0,0,0)",
  4723. constraints:
  4724. [
  4725. {
  4726. threshold: {above:json.normal.high},
  4727. color: "rgb(255,126,0)"
  4728. },
  4729. {
  4730. threshold: {below:json.normal.low},
  4731. color: "rgb(255,126,0)"
  4732. },
  4733. {
  4734. threshold: {above:json.absolute.high},
  4735. color: "rgb(20,20,20)"
  4736. },
  4737. {
  4738. threshold: {below:json.absolute.low},
  4739. color: "rgb(20,20,20)"
  4740. },
  4741. {
  4742. threshold: {above:json.critical.high},
  4743. color: "rgb(200,0,0)"
  4744. },
  4745. {
  4746. threshold: {below:json.critical.low},
  4747. color: "rgb(200,0,0)"
  4748. }
  4749. ]
  4750. }],
  4751. {
  4752. xaxis: {
  4753. mode: "time",minTickSize: [1, "month"]
  4754. },
  4755. yaxis: {
  4756. min: findMaxAndMin(json.data).min-10, max: findMaxAndMin(json.data).max+10
  4757. }
  4758. }
  4759. );
  4760.  
  4761. function findMaxAndMin(dataset) {
  4762. if(undefined == dataset)return undefined;
  4763. var arr = [];
  4764. for( var i=0;i<dataset.length;i++){
  4765. arr[i] = dataset[i][1];
  4766. }
  4767. arr.sort(function(p1,p2){return p1-p2});
  4768. return { min:arr[0],max:arr[arr.length-1]};
  4769. }
  4770. }
  4771. );
  4772.  
  4773.  
  4774.  
  4775.  
  4776.  
  4777.  
  4778.  
  4779. $j.getJSON("patientGraphJson.form?patientId=3&conceptId=5086", function(json){
  4780. $j.plot($j('#conceptBox-5086'),
  4781. [
  4782. {
  4783. data:json.data,lines:{show:true},color:"rgb(0,0,0)",
  4784. constraints:
  4785. [
  4786. {
  4787. threshold: {above:json.normal.high},
  4788. color: "rgb(255,126,0)"
  4789. },
  4790. {
  4791. threshold: {below:json.normal.low},
  4792. color: "rgb(255,126,0)"
  4793. },
  4794. {
  4795. threshold: {above:json.absolute.high},
  4796. color: "rgb(20,20,20)"
  4797. },
  4798. {
  4799. threshold: {below:json.absolute.low},
  4800. color: "rgb(20,20,20)"
  4801. },
  4802. {
  4803. threshold: {above:json.critical.high},
  4804. color: "rgb(200,0,0)"
  4805. },
  4806. {
  4807. threshold: {below:json.critical.low},
  4808. color: "rgb(200,0,0)"
  4809. }
  4810. ]
  4811. }],
  4812. {
  4813. xaxis: {
  4814. mode: "time",minTickSize: [1, "month"]
  4815. },
  4816. yaxis: {
  4817. min: findMaxAndMin(json.data).min-10, max: findMaxAndMin(json.data).max+10
  4818. }
  4819. }
  4820. );
  4821.  
  4822. function findMaxAndMin(dataset) {
  4823. if(undefined == dataset)return undefined;
  4824. var arr = [];
  4825. for( var i=0;i<dataset.length;i++){
  4826. arr[i] = dataset[i][1];
  4827. }
  4828. arr.sort(function(p1,p2){return p1-p2});
  4829. return { min:arr[0],max:arr[arr.length-1]};
  4830. }
  4831. }
  4832. );
  4833.  
  4834.  
  4835. }
  4836. window.setTimeout(loadGraphs, 1000);
  4837. </script>
  4838. </div>
  4839.  
  4840. </div>
  4841.  
  4842.  
  4843.  
  4844. <div id="formEntry" style="display:none;">
  4845.  
  4846.  
  4847. <div class='portlet' id='formEntryPortlet'>
  4848.  
  4849.  
  4850.  
  4851.  
  4852.  
  4853.  
  4854.  
  4855.  
  4856.  
  4857.  
  4858. <style type="text/css">
  4859. .EncounterTypeClass {
  4860. color: lightgrey;
  4861. }
  4862. </style>
  4863.  
  4864.  
  4865.  
  4866.  
  4867.  
  4868.  
  4869.  
  4870.  
  4871.  
  4872. <div class='portlet' id='patientDashboardEncounters'>
  4873.  
  4874.  
  4875.  
  4876.  
  4877.  
  4878.  
  4879.  
  4880.  
  4881.  
  4882.  
  4883.  
  4884.  
  4885.  
  4886.  
  4887. <link href="/openmrs/scripts/jquery-ui/css/redmond/jquery-ui.custom.css" type="text/css" rel="stylesheet" />
  4888.  
  4889.  
  4890.  
  4891.  
  4892. <div id="displayEncounterPopup">
  4893. <div id="displayEncounterPopupLoading">Loading...</div>
  4894. <iframe id="displayEncounterPopupIframe" width="100%" height="100%" marginWidth="0" marginHeight="0" frameBorder="0" scrolling="auto"></iframe>
  4895. </div>
  4896.  
  4897. <script type="text/javascript">
  4898. $j(document).ready(function() {
  4899. $j('#displayEncounterPopup').dialog({
  4900. title: 'dynamic',
  4901. autoOpen: false,
  4902. draggable: false,
  4903. resizable: false,
  4904. width: '95%',
  4905. modal: true,
  4906. open: function(a, b) { $j('#displayEncounterPopupLoading').show(); }
  4907. });
  4908. });
  4909.  
  4910. function loadUrlIntoEncounterPopup(title, urlToLoad) {
  4911. $j("#displayEncounterPopupIframe").attr("src", urlToLoad);
  4912. $j('#displayEncounterPopup')
  4913. .dialog('option', 'title', title)
  4914. .dialog('option', 'height', $j(window).height() - 50)
  4915. .dialog('open');
  4916. }
  4917. </script>
  4918.  
  4919.  
  4920.  
  4921.  
  4922.  
  4923. <div id="portletd5d3b50a589c46e28b918acbcc3542e5">
  4924. <div id="encounterPortlet">
  4925.  
  4926.  
  4927.  
  4928.  
  4929.  
  4930.  
  4931. <div id="encounters">
  4932. <div class="boxHeader">Last Three Encounters</div>
  4933. <div class="box">
  4934. <div>
  4935. <table cellspacing="0" cellpadding="2" id="patientEncountersTable">
  4936. <thead>
  4937. <tr>
  4938. <th class="hidden"> hidden Encounter id </th>
  4939. <th class="encounterEdit" align="center">
  4940. Edit
  4941. </th>
  4942. <th class="encounterView" align="center">
  4943. View
  4944. </th>
  4945. <th class="encounterDatetimeHeader"> Encounter Date </th>
  4946. <th class="hidden"> hidden Encounter.datetime </th>
  4947. <th class="encounterTypeHeader"> Encounter Type </th>
  4948. <th class="encounterProviderHeader"> Provider </th>
  4949. <th class="encounterFormHeader"> Form </th>
  4950. <th class="encounterLocationHeader"> Location </th>
  4951. <th class="encounterEntererHeader"> Enterer </th>
  4952. </tr>
  4953. </thead>
  4954. <tbody>
  4955.  
  4956. <tr class='evenRow'>
  4957. <td class="hidden">
  4958.  
  4959. 18
  4960. </td>
  4961. <td class="encounterEdit" align="center">
  4962.  
  4963.  
  4964.  
  4965.  
  4966.  
  4967.  
  4968. <a href="module/htmlformentry/htmlFormEntry.form?encounterId=18&mode=EDIT">
  4969. <img src="/openmrs/images/edit.gif" title="Edit" border="0" />
  4970. </a>
  4971.  
  4972.  
  4973. </td>
  4974. <td class="encounterView" align="center">
  4975.  
  4976.  
  4977.  
  4978.  
  4979.  
  4980. <a href="javascript:void(0)" onClick="loadUrlIntoEncounterPopup('ADULTRETURN @BRMC | 10\/15\/2011 | Michael Anthony Morris', 'module/htmlformentry/htmlFormEntry.form?encounterId=18&inPopup=true'); return false;">
  4981. <img src="/openmrs/images/file.gif" title="View" border="0" />
  4982. </a>
  4983.  
  4984. </td>
  4985. <td class="encounterDatetime">
  4986. 10/15/2011
  4987. </td>
  4988. <td class="hidden">
  4989.  
  4990. 1318651200000
  4991. </td>
  4992. <td class="encounterType">ADULTRETURN</td>
  4993. <td class="encounterProvider">Michael Anthony Morris</td>
  4994. <td class="encounterForm">Student Adult Return Form</td>
  4995. <td class="encounterLocation">BRMC</td>
  4996. <td class="encounterEnterer">Michael Anthony Morris</td>
  4997. </tr>
  4998.  
  4999. <tr class='evenRow'>
  5000. <td class="hidden">
  5001.  
  5002. 19
  5003. </td>
  5004. <td class="encounterEdit" align="center">
  5005.  
  5006.  
  5007.  
  5008.  
  5009.  
  5010.  
  5011. <a href="module/htmlformentry/htmlFormEntry.form?encounterId=19&mode=EDIT">
  5012. <img src="/openmrs/images/edit.gif" title="Edit" border="0" />
  5013. </a>
  5014.  
  5015.  
  5016. </td>
  5017. <td class="encounterView" align="center">
  5018.  
  5019.  
  5020.  
  5021.  
  5022.  
  5023. <a href="javascript:void(0)" onClick="loadUrlIntoEncounterPopup('ADULTRETURN @BRMC | 10\/15\/2011 | Michael Anthony Morris', 'module/htmlformentry/htmlFormEntry.form?encounterId=19&inPopup=true'); return false;">
  5024. <img src="/openmrs/images/file.gif" title="View" border="0" />
  5025. </a>
  5026.  
  5027. </td>
  5028. <td class="encounterDatetime">
  5029. 10/15/2011
  5030. </td>
  5031. <td class="hidden">
  5032.  
  5033. 1318651200000
  5034. </td>
  5035. <td class="encounterType">ADULTRETURN</td>
  5036. <td class="encounterProvider">Michael Anthony Morris</td>
  5037. <td class="encounterForm">Student Adult Return Form</td>
  5038. <td class="encounterLocation">BRMC</td>
  5039. <td class="encounterEnterer">Michael Anthony Morris</td>
  5040. </tr>
  5041.  
  5042. <tr class='evenRow'>
  5043. <td class="hidden">
  5044.  
  5045. 20
  5046. </td>
  5047. <td class="encounterEdit" align="center">
  5048.  
  5049.  
  5050.  
  5051.  
  5052.  
  5053.  
  5054. <a href="module/htmlformentry/htmlFormEntry.form?encounterId=20&mode=EDIT">
  5055. <img src="/openmrs/images/edit.gif" title="Edit" border="0" />
  5056. </a>
  5057.  
  5058.  
  5059. </td>
  5060. <td class="encounterView" align="center">
  5061.  
  5062.  
  5063.  
  5064.  
  5065.  
  5066. <a href="javascript:void(0)" onClick="loadUrlIntoEncounterPopup('ADULTRETURN @BRMC | 10\/15\/2011 | Michael Anthony Morris', 'module/htmlformentry/htmlFormEntry.form?encounterId=20&inPopup=true'); return false;">
  5067. <img src="/openmrs/images/file.gif" title="View" border="0" />
  5068. </a>
  5069.  
  5070. </td>
  5071. <td class="encounterDatetime">
  5072. 10/15/2011
  5073. </td>
  5074. <td class="hidden">
  5075.  
  5076. 1318651200000
  5077. </td>
  5078. <td class="encounterType">ADULTRETURN</td>
  5079. <td class="encounterProvider">Michael Anthony Morris</td>
  5080. <td class="encounterForm">Student Adult Return Form</td>
  5081. <td class="encounterLocation">BRMC</td>
  5082. <td class="encounterEnterer">Michael Anthony Morris</td>
  5083. </tr>
  5084.  
  5085. </tbody>
  5086. </table>
  5087. </div>
  5088. </div>
  5089. </div>
  5090.  
  5091.  
  5092. <script type="text/javascript">
  5093. // hide the columns in the above table if datatable isn't doing it already
  5094. $j(".hidden").hide();
  5095. </script>
  5096.  
  5097.  
  5098.  
  5099.  
  5100.  
  5101.  
  5102.  
  5103. <script type="text/javascript">
  5104. <!-- // begin
  5105.  
  5106.  
  5107.  
  5108.  
  5109. function handleGetObservations(encounterId) {
  5110.  
  5111. loadUrlIntoEncounterPopup('Test title', '/openmrs/admin/encounters/encounterDisplay.list?encounterId=' + encounterId);
  5112. }
  5113.  
  5114.  
  5115.  
  5116. function handleRefreshTable(id, data, func) {
  5117. dwr.util.removeAllRows(id);
  5118. dwr.util.addRows(id, data, func, {
  5119. cellCreator:function(options) {
  5120. var td = document.createElement("td");
  5121. return td;
  5122. },
  5123. escapeHtml:false
  5124. });
  5125. }
  5126.  
  5127. function showHideDiv(divId) {
  5128. var div = document.getElementById(divId);
  5129. if ( div ) {
  5130. if (div.style.display != "") {
  5131. div.style.display = "";
  5132. } else {
  5133. div.style.display = "none";
  5134. }
  5135. }
  5136. }
  5137.  
  5138. function handleAddObs(encounterField, conceptField, valueTextField, obsDateField) {
  5139. var encounterId = dwr.util.getValue($(encounterField));
  5140. var conceptId = dwr.util.getValue($(conceptField));
  5141. var valueText = dwr.util.getValue($(valueTextField));
  5142. var obsDate = dwr.util.getValue($(obsDateField));
  5143. var patientId = 3;
  5144. //alert("Adding obs for encounter (" + encounterId + "): " + conceptId + " = " + valueText + " " + obsDate);
  5145. DWRObsService.createObs(patientId, encounterId, conceptId, valueText, obsDate);
  5146. handleGetObservations(encounterId);
  5147. }
  5148.  
  5149.  
  5150. //refreshObsTable();
  5151.  
  5152. // end -->
  5153.  
  5154. </script>
  5155. </div>
  5156. </div>
  5157. </div>
  5158. <br/>
  5159.  
  5160.  
  5161.  
  5162.  
  5163. <div class="boxHeader">Enter Form</div>
  5164. <div class="box">
  5165.  
  5166.  
  5167.  
  5168.  
  5169.  
  5170.  
  5171.  
  5172.  
  5173.  
  5174. <script type="text/javascript">
  5175.  
  5176. var showRetiredFormsForEntrypatientDashboardEncounters = false;
  5177. $j.fn.dataTableExt.afnFiltering.push(
  5178. function( oSettings, aData, iDataIndex ) {
  5179. if (oSettings.sTableId != 'formEntryTablepatientDashboardEncounters')
  5180. return true;
  5181. else
  5182. return showRetiredFormsForEntrypatientDashboardEncounters || aData[4] == 'false';
  5183. }
  5184. );
  5185.  
  5186. $j(document).ready(function() {
  5187. /* the parent selector here only only allows one datatable call per formEntryTable.
  5188. without that selector, the .dialog() call for the popup was calling this twice */
  5189. var oTablepatientDashboardEncounters = $j("#formEntryTableParentpatientDashboardEncounters > #formEntryTablepatientDashboardEncounters").dataTable({
  5190. "bPaginate": false,
  5191. "bAutoWidth": false,
  5192. "aaSorting": [[0, 'asc']],
  5193. "aoColumns":
  5194. [
  5195. { "iDataSort": 1 },
  5196. { "bVisible": false, "sType": "numeric" },
  5197. null,
  5198. { "sClass": "EncounterTypeClass" },
  5199. { "bVisible": false }
  5200. ]
  5201. });
  5202. oTablepatientDashboardEncounters.fnDraw();
  5203.  
  5204.  
  5205. $j('#showRetiredpatientDashboardEncounters').click(function() {
  5206. showRetiredFormsForEntrypatientDashboardEncounters = this.checked;
  5207. oTablepatientDashboardEncounters.fnDraw();
  5208. });
  5209.  
  5210.  
  5211. $j('#handleForShowRetiredpatientDashboardEncounters').appendTo($j('#formEntryTablepatientDashboardEncounters_filter'));
  5212. });
  5213.  
  5214. function startDownloading() {
  5215.  
  5216. }
  5217.  
  5218. function goBackToPatientSearch() {
  5219. document.location='findPatient.htm';
  5220. }
  5221. </script>
  5222. <div id="formEntryTableParentpatientDashboardEncounters">
  5223. <span id="handleForShowRetiredpatientDashboardEncounters">
  5224. &nbsp;&nbsp;&nbsp;&nbsp;
  5225. <input type="checkbox" id="showRetiredpatientDashboardEncounters"/> Include Retired
  5226. </span>
  5227. <table id="formEntryTablepatientDashboardEncounters" cellspacing="0" cellpadding="3">
  5228. <thead>
  5229. <tr>
  5230. <th>Name</th>
  5231. <th><!-- Hidden column for sorting previous column --></th>
  5232. <th>Version</th>
  5233. <th class="EncounterTypeClass">Encounter Type</th>
  5234. <th><!-- Hidden column for retired --></th>
  5235. </tr>
  5236. </thead>
  5237. <tbody>
  5238.  
  5239.  
  5240.  
  5241. <tr>
  5242. <td>
  5243. <a href="module/htmlformentry/htmlFormEntry.form?personId=3&patientId=3&returnUrl=&formId=2" onclick="startDownloading();">Advanced Adult Return</a>
  5244. </td>
  5245. <td>
  5246. 1
  5247. </td>
  5248. <td>
  5249. 1.5
  5250.  
  5251. </td>
  5252. <td>
  5253. ADULTINITIAL
  5254. </td>
  5255. <td>false</td>
  5256. </tr>
  5257.  
  5258.  
  5259.  
  5260.  
  5261. <tr>
  5262. <td>
  5263. <a href="module/htmlformentry/htmlFormEntry.form?personId=3&patientId=3&returnUrl=&formId=5" onclick="startDownloading();">jquery test</a>
  5264. </td>
  5265. <td>
  5266. 2
  5267. </td>
  5268. <td>
  5269. 1
  5270. <i>(Unpublished)</i>
  5271. </td>
  5272. <td>
  5273. ADULTRETURN
  5274. </td>
  5275. <td>false</td>
  5276. </tr>
  5277.  
  5278.  
  5279.  
  5280.  
  5281. <tr>
  5282. <td>
  5283. <a href="module/htmlformentry/htmlFormEntry.form?personId=3&patientId=3&returnUrl=&formId=6" onclick="startDownloading();">ROS Test</a>
  5284. </td>
  5285. <td>
  5286. 3
  5287. </td>
  5288. <td>
  5289. 1
  5290. <i>(Unpublished)</i>
  5291. </td>
  5292. <td>
  5293. ADULTRETURN
  5294. </td>
  5295. <td>false</td>
  5296. </tr>
  5297.  
  5298.  
  5299.  
  5300.  
  5301. <tr>
  5302. <td>
  5303. <a href="module/htmlformentry/htmlFormEntry.form?personId=3&patientId=3&returnUrl=&formId=10" onclick="startDownloading();">Student Adult Initial Form</a>
  5304. </td>
  5305. <td>
  5306. 4
  5307. </td>
  5308. <td>
  5309. 1.0
  5310.  
  5311. </td>
  5312. <td>
  5313. ADULTINITIAL
  5314. </td>
  5315. <td>false</td>
  5316. </tr>
  5317.  
  5318.  
  5319.  
  5320.  
  5321. <tr>
  5322. <td>
  5323. <a href="module/htmlformentry/htmlFormEntry.form?personId=3&patientId=3&returnUrl=&formId=8" onclick="startDownloading();">Student Adult Return Form</a>
  5324. </td>
  5325. <td>
  5326. 5
  5327. </td>
  5328. <td>
  5329. 1.2
  5330.  
  5331. </td>
  5332. <td>
  5333. ADULTRETURN
  5334. </td>
  5335. <td>false</td>
  5336. </tr>
  5337.  
  5338.  
  5339.  
  5340.  
  5341. <tr>
  5342. <td>
  5343. <a href="module/htmlformentry/htmlFormEntry.form?personId=3&patientId=3&returnUrl=&formId=7" onclick="startDownloading();">testform3</a>
  5344. </td>
  5345. <td>
  5346. 6
  5347. </td>
  5348. <td>
  5349. 1.0
  5350. <i>(Unpublished)</i>
  5351. </td>
  5352. <td>
  5353. ADULTRETURN
  5354. </td>
  5355. <td>false</td>
  5356. </tr>
  5357.  
  5358.  
  5359.  
  5360.  
  5361. <tr>
  5362. <td>
  5363. <a href="module/htmlformentry/htmlFormEntry.form?personId=3&patientId=3&returnUrl=&formId=9" onclick="startDownloading();">yangstest</a>
  5364. </td>
  5365. <td>
  5366. 7
  5367. </td>
  5368. <td>
  5369. 1
  5370. <i>(Unpublished)</i>
  5371. </td>
  5372. <td>
  5373. ADULTRETURN
  5374. </td>
  5375. <td>false</td>
  5376. </tr>
  5377.  
  5378.  
  5379. </tbody>
  5380. </table>
  5381. </div>
  5382.  
  5383.  
  5384.  
  5385. </div>
  5386. </div>
  5387.  
  5388. </div>
  5389.  
  5390.  
  5391.  
  5392.  
  5393. <div id="patientImageForm" style="display:none;">
  5394.  
  5395.  
  5396.  
  5397.  
  5398.  
  5399.  
  5400. <div class='portlet' id='patientimage.patientImageForm'>
  5401. <link type="text/css" media="screen" rel="stylesheet" href="/openmrs/moduleResources/patientimage/css/colorbox.css" />
  5402. <link type="text/css" rel="stylesheet" href="/openmrs/moduleResources/patientimage/css/patientimage.css" />
  5403.  
  5404. <script type="text/javascript" src="/openmrs/moduleResources/patientimage/scripts/jquery.colorbox-min.js"></script>
  5405. <script type="text/javascript" src="/openmrs/moduleResources/patientimage/scripts/patientimage.js"></script>
  5406.  
  5407. <h2><spring:message code="patientimage.link.name" /></h2>
  5408. <br/>
  5409. <div>
  5410. <table align="center">
  5411. <tr>
  5412. <td style="position: relative">
  5413. <b class="boxHeader imageHeader">Patient Image
  5414. <a href="javascript: showImagePopup()" id="editImage" style="float:right;"><img src="images/add.gif"/></a>
  5415. </b>
  5416. <div class="box imageBox" id="imageBox" style="cursor: pointer" onclick="showImagePopup()">
  5417.  
  5418.  
  5419. <img alt="" id="patientimg" src="/openmrs/moduleResources/patientimage/images/M.png" />
  5420. <div class="textOverlay">No Image Available</div>
  5421.  
  5422.  
  5423.  
  5424. </div>
  5425. </td>
  5426. <td style="position: fixed;" valign="top">
  5427. <table id="popup" style="border:1px solid #8FABC7; display: none">
  5428. <tr><td style="background: #8FABC7; color: white">Add/Edit Image</td></tr>
  5429. <tr><td><a class='addImage' href="/openmrs/module/patientimage/addImage.htm?identifier=3">Upload Patient Image</a></td></tr>
  5430. <tr><td><a class='takePhoto' href="/openmrs/module/patientimage/takePhoto.htm?identifier=3">Take Photo (requires Webcam)</a></td></tr>
  5431. </table>
  5432. </td>
  5433. </tr>
  5434. </table>
  5435. </div></div>
  5436.  
  5437.  
  5438.  
  5439.  
  5440.  
  5441. </div>
  5442.  
  5443.  
  5444.  
  5445. </div>
  5446.  
  5447.  
  5448.  
  5449.  
  5450.  
  5451.  
  5452.  
  5453. <br/>
  5454. </div>
  5455. </div>
  5456.  
  5457. <div id="footer">
  5458. <div id="footerInner">
  5459.  
  5460. <span id="localeOptions">
  5461.  
  5462.  
  5463.  
  5464.  
  5465.  
  5466.  
  5467. <a href="?patientId=3&amp;phrase=john&amp;lang=en_GB">English (United Kingdom)</a>
  5468.  
  5469.  
  5470. |
  5471. English (United States)
  5472.  
  5473.  
  5474.  
  5475. |
  5476.  
  5477. <a href="?patientId=3&amp;phrase=john&amp;lang=pt">português</a>
  5478.  
  5479.  
  5480. |
  5481.  
  5482. <a href="?patientId=3&amp;phrase=john&amp;lang=it">italiano</a>
  5483.  
  5484.  
  5485. |
  5486.  
  5487. <a href="?patientId=3&amp;phrase=john&amp;lang=fr">français</a>
  5488.  
  5489.  
  5490. |
  5491.  
  5492. <a href="?patientId=3&amp;phrase=john&amp;lang=es">español</a>
  5493.  
  5494. </span>
  5495.  
  5496. <span id="buildDate">Last Build: Jul 20 2011 05:21 PM</span>
  5497.  
  5498. <span id="codeVersion">Version: 1.8.2 Build 21762</span>
  5499.  
  5500. <span id="poweredBy"><a href="http://openmrs.org">Powered by OpenMRS <img border="0" align="top" src="/openmrs/images/openmrs_logo_tiny.png"/></a></span>
  5501. </div>
  5502. </div>
  5503.  
  5504. </body>
  5505. </html>
  5506.  
  5507.  
  5508.  
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement