This is the basic information you need to create a simple form using the the Html Form Entry Module.
...
Your entire form must be wrapped in an htmlform tag
Code Block | ||||
---|---|---|---|---|
| ||||
<htmlform>
...stuff goes here...
</htmlform>
|
...
A form is required to ask for the datetime, location, and provider, and it must have a submit button. For a complete reference on these tags see Tag Reference Page
Code Block | ||||
---|---|---|---|---|
| ||||
<htmlform>
Date: <encounterDate default="today"/> <br/>
Location: <encounterLocation/> <br/>
Provider: <encounterProvider role="Provider"/> <br/>
...stuff goes here...
<submit/>
</htmlform>
|
...
The <section> tag lets you break your form, and corresponding form schema, into sections. For a complete reference on this tag see Tag Reference Page
Code Block | ||||
---|---|---|---|---|
| ||||
<section headerLabel="section1">
...
</section>
<section headerLabel="section2">
...
</section>
|
...
The form wouldn't be much without being able to enter observations. For a complete reference on this tag see Tag Reference Page
Code Block | ||||
---|---|---|---|---|
| ||||
<obs conceptId="5089" labelText="Weight" />
<obs conceptId="5090" labelText="Height" />
|
...
The lookup tag allows you to evaluate velocity expressions. For a complete reference on these tags see Tag Reference Page
Code Block | ||||
---|---|---|---|---|
| ||||
<lookup expression="patient.personName"/> to display the patient's name
<lookup expression="patient.gender"/> to display the patient's gender
<lookup expression="patient.age"/> to display the patient's age
<lookup expression="patient.getPatientIdentifier(5)"/> to display the patient's identifier of the type with id=5
<lookup complexExpression="#foreach( $addr in $patient.addresses ) $\!addr.cityVillage <br/> #end"/> to display the city/village of each of the patient's addresses
|
...
A very basic form to enter height and weight observations could look like:
Code Block | ||||
---|---|---|---|---|
| ||||
<htmlform>
<section headerLabel="1. Encounter Details">
Date: <encounterDate default="today"/> <br/>
Location: <encounterLocation/> <br/>
Physician: <encounterProvider role="Provider"/> <br/>
<br/>
</section>
<section headerLabel="2. Demographic Info">
<span>Nom du patient: <lookup expression="patient.personName"/></span>
<span>No. Dossier: <lookup complexExpression="#foreach( $patId in $patientIdentifiers.get("PIH ID") ) $\!patId #end"/></span><br/>
<span>Sexe: <lookup expression="patient.gender" codePrefix="gender_"/></span>
<span>(a) Date de naissance: <lookup expression="patient.birthdate"/></span>
<span>(b) Age: <lookup expression="patient.age"/></span>
</section>
<section headerLabel="3. Vital Signs">
<obs conceptId="5089" labelText="Weight" /> (kg)
<obs conceptId="5090" labelText="Height" /> (cm)
</section>
<br/><br/>
<submit/>
</htmlform>
|
...
See HTML_Form_Entry_Module_HTML_Reference for complete documentation on the tags listed above, additional information on the <obs> tag and the related <obsGroup>, and details on more advanced features like macros, repeating templates, and enrolling patients in programs.
See the Training/wiki/spaces/RES/pages/26262844 page for more explanations and examples. Ellen Ball presented a class for HTMLForm Implementers /wiki/spaces/RES/pages/26312479. The other training courses include sections on forms as well.
...