Form Conditions / Form Events

Form Conditions / Form Events

Purpose and Benefits

Form conditions allows users to enable/disable, Show/Hide and change values of observation fields on specific conditions or inputs on the form. Some sections of the form are only filled when a particular set of information is needed. So, if we disable such fields, it simplifies the form. Implementers have to define the form conditions by writing small scripts in JS based on their requirement.

Form conditions can be written for

  1. On Form Initialization / Load (Form Event)

    1. To add conditions on form load, click on the Form Event icon shown below

                 b. Write the conditions in editor window and save

Sample Form Event:

  • This example hides the 'Number of Packs' control on load of form if  'Smoking History' value is not set. 

Sample Control Event
function(form) { if (form.get('Smoking History').getValue() === undefined) { form.get('Number of Packs').setHidden(true); } else { form.get('Number of Packs').setHidden(false); } }

 

        2. On Change of Values (Control Event)
              a. To show/hide, enable/disable or change values of controls, then click on Control Event and write the conditions in editor window and save.

 

Sample Control Event:

Sample Control Event
function(form) { if (form.get('Smoking History').getValue() === 'No') { form.get('Number of Packs').setValue(0); } }

APIs

Following APIs are exposed on the form Object to get a particular control

API

Description

API

Description

get(conceptName) 

Get a control object using concept name.

get(conceptName, position) 

Get a control object using conceptname and position. Position is used only when there are multiple concepts in the same form

getById(ControlID)

Get a control object using control ID

getPatient()

Get a patient object

 

Following APIs are exposed on the control object 

API

Description

API

Description

getValue()

Returns value of a particular control

setValue(value)

Set a value to a particular control

getHidden()

Returns whether the control is hidden or not

setHidden(hidden)

Hide/Show a particular control

getEnabled()

Returns whether the control is enabled or not

setEnabled(enabled)

Enable/Disabled a particular control

         

 

The Bahmni documentation is licensed under Creative Commons Attribution-ShareAlike 4.0 International (CC BY-SA 4.0)