Created
February 12, 2024 11:03
-
-
Save rbuisson/7f3a87697997ae6fbb6a219c3a5b96a0 to your computer and use it in GitHub Desktop.
OpenMRS HTML Form entry example form to handle drug dispensing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
<htmlform formUuid="6021b82a-8f19-4308-a248-bc603ffaa880" formName="Dispense medication" formEncounterType="ef469ea5-8b79-4a64-a1c8-ce3e09b4e703" formVersion="0.6" | |
formAddMetadata="yes" | |
formUILocation="patientDashboard.visitActions" | |
formOrder="19" | |
formIcon="icon-plus-sign-alt" | |
formShowIf="" | |
formDisplayStyle="Standard" | |
> | |
<ifMode mode="VIEW" include="false"> | |
<script type="text/javascript"> | |
jQuery(function () { | |
jQuery('#order-title').hide(); | |
jQuery("#select-order-1, #select-order-2, #select-order-3, #select-order-4, #select-order-5, #select-order-6, #select-order-7, #select-order-8, #select-order-9, #select-order-10").click(function() { | |
setValue('drug-dispensed.value', this.getAttribute("drugOrderedName")); | |
setValue('dose-dispensed.value', this.getAttribute("Dose")); | |
setValue('dose-unit.value', this.getAttribute("Unit")); | |
}); | |
}); | |
</script> | |
</ifMode> | |
<ifMode mode="VIEW"> | |
<script type="text/javascript" > | |
// JavaScript for VIEW mode | |
jQuery(document).ready(function(){ | |
handleViewMode("6021b82a-8f19-4308-a248-bc603ffaa880"); | |
}); | |
</script> | |
</ifMode> | |
<ifMode mode="enter"> | |
<uiInclude provider="lfhcforms" javascript="changeEncounterDate.js"/> | |
<lookup complexExpression=" | |
#set($alertMessage = $fn.message('lfhcforms.pastencounter.alert')) | |
#set($successMessage = $fn.message('lfhcforms.pastencounter.success')) | |
<script type="text/javascript"> | |
var alertMessage = '${alertMessage}'; | |
var successMessage = '${successMessage}'; | |
jQuery(document).ready(function(){ | |
var visitEndDate = new Date('${visit.stopDatetime}'); | |
if ( Object.prototype.toString.call(visitEndDate) === '[object Date]' ) { | |
if (!( isNaN( visitEndDate.getTime() ) )) { | |
changeEncounterDate(visitEndDate); | |
} | |
} | |
}); | |
</script>" /> | |
</ifMode> | |
<div class="hidden" id="who-when-where"> | |
<p id="who"> | |
<label> | |
<uimessage code="coreapps.patientDashBoard.provider" /> | |
</label> | |
<span> | |
<encounterProvider default="currentUser" required="true" /> | |
</span> | |
</p> | |
<p id="when"> | |
<label> | |
<uimessage code="coreapps.patientDashBoard.location" /> | |
</label> | |
<span> | |
<encounterLocation default="SessionAttribute:emrContext.sessionLocationId" /> | |
</span> | |
</p> | |
<p id="where"> | |
<label> | |
<uimessage code="coreapps.patientDashBoard.date" /> | |
</label> | |
<span> | |
<!-- Mandatory showTime="true" to set encounter date and time --> | |
<encounterDate id="encounterDate" default="now" showTime="true"/> | |
</span> | |
</p> | |
</div> | |
<obsgroup groupingConceptId="1442"> | |
<ifMode mode="VIEW" include="false"> | |
<section> | |
<!-- Display a list of all previous Drug orders--> | |
<lookup complexExpression=" | |
<ul class="select"> | |
#set ($encounterMedList = $fn.allEncounters('3c462397-7840-4890-ae78-d123d9fd138b')) | |
#set ($x = 1) | |
#foreach ($encounterMed in $encounterMedList) | |
#if ($fn.getObs($encounterMed,"1282")) | |
#set ($startTag = "<li") | |
$startTag | |
id="select-order-$x" medicationEncounterId="$encounterMed.encounterId" medicationEncounterDatetime="$encounterMed.encounterDatetime" " | |
#set ($obsList = $fn.allObs($encounterMed,"1282")) | |
#foreach ($obs in $obsList) | |
drugOrderedId="$obs.valueCoded" | |
drugOrderedName="$obs.valueCoded.getName()" | |
#set ($innerHtml = "Date of order: <strong>$encounterMed.encounterDatetime</strong><br>") | |
#set ($innerHtml = $innerHtml + "Drug orderd: $obs.valueCoded.getName()<br>") | |
#if($velocityHasNext), #end | |
#end | |
#set ($obsList = $fn.allObs($encounterMed,"5219")) | |
#foreach ($obs in $obsList) | |
#set ($innerHtml= $innerHtml + "Route: $obs.valueCoded.getName()<br>") | |
#if($velocityHasNext), #end | |
#end | |
#set ($obsList = $fn.allObs($encounterMed,"160856")) | |
#foreach ($obs in $obsList) | |
dose="$obs.valueNumeric" | |
#set ($innerHtml= $innerHtml + "Dose: $obs.valueNumeric<br>") | |
#if($velocityHasNext), #end | |
#end | |
#set ($obsList = $fn.allObs($encounterMed,"161563")) | |
#foreach ($obs in $obsList) | |
unit="$obs.valueCoded.getName()" | |
#set ($innerHtml= $innerHtml + "Unit: $obs.valueCoded.getName()<br>") | |
#if($velocityHasNext), #end | |
#end | |
#set ($obsList = $fn.allObs($encounterMed,"160855")) | |
#foreach ($obs in $obsList) | |
#set ($innerHtml= $innerHtml + "Frequency: $obs.valueCoded.getName()<br>") | |
#if($velocityHasNext), #end | |
#end | |
#set ($obsList = $fn.allObs($encounterMed,"159368")) | |
#foreach ($obs in $obsList) | |
#set ($innerHtml= $innerHtml + "Duration: $obs.valueNumeric<br>") | |
#if($velocityHasNext), #end | |
#end | |
#set ($obsList = $fn.allObs($encounterMed,"160742")) | |
#foreach ($obs in $obsList) | |
#set ($innerHtml= $innerHtml + "Indication: $obs.valueCoded.getName()<br>") | |
#if($velocityHasNext), #end | |
#end | |
#set ($x = $x +1) | |
>$innerHtml | |
</li> | |
#end | |
#end | |
</ul | |
" | |
/> | |
</section> | |
<section> | |
<span id="order-title"> | |
<h3>Order Selected</h3> | |
<p id="order-details"></p> | |
</span> | |
</section> | |
<style type="text/css"> | |
.tg { | |
table-layout: fixed; | |
width: 50%; | |
margin-left:0px; | |
} | |
</style> | |
</ifMode> | |
<br/> | |
<section headerStyle="title" headerCode="Dispense Medication"> | |
<obsgroup groupingConceptId="1442"> | |
<table class="tg"> | |
<tbody> | |
<tr> | |
<td> | |
<h3>Drug dispensed:</h3> | |
<p> | |
<obs id="drug-dispensed" conceptId="1282" answerClasses="Drug" style="autocomplete" required="true"/> | |
</p> | |
</td> | |
</tr> | |
<tr> | |
<td> | |
<h3>Dose dispensed: </h3> | |
<p> | |
<obs id="dose-dispensed" conceptId="160856"/> | |
<ifMode mode="VIEW" include="false"> | |
<span>Unit: </span> | |
</ifMode> | |
<obs id="dose-unit" conceptId="161563" answerConceptIds="161554,161553,162263, 162366" required="true"/> | |
</p> | |
</td> | |
</tr> | |
<tr> | |
<td> | |
<h3>Number of pills dispensed</h3> | |
<p> | |
<obs conceptId="1443" size="6" showUnits="unit(s)" required="true"/> | |
</p> | |
</td> | |
</tr> | |
</tbody> | |
</table> | |
</obsgroup> | |
<ifMode mode="VIEW" include="false"> | |
<br/> | |
<font color="red">* required</font> | |
<br/> | |
</ifMode> | |
</section> | |
</obsgroup> | |
<submit/> | |
</htmlform> |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment