Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.
Comment: Added a missing word
  1. Getting Started
  2. Additional Information
  3. Tips for making new forms

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
html
html

<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
html
html

<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
html
html

<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
html
html

<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
html
html

<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
html
html

<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.  

...