Wiki cleanup in progress: If you're having trouble finding something, read these tips.

XForms Module

Overview

This module serves as one of the alternatives to Microsoft InfoPath for OpenMRS data entry.
The module converts an OpenMRS form to an XForm.
Data entry can be done using any browser that supports JavaScript. The browser which has been tested most frequently with this module is Mozilla Firefox and hence is the recommended.

This module also consumes and serves OpenMRS forms as XForms from and to applications that use the XForms standard.
An example of such applications are the XForms Mobile Data Collection tools for OpenMRS.
The communication between the mobile device and this module can take places via HTTP, Bluetooth or SMS.
The Bluetooth and SMS communication is implemented by the OpenMRS Bluetooth and SMS scheduled tasks respectively.
Applications that work in offline mode will normally start by downloading a set of patients to collect data for. So these patient sets are supplied by this module.
To ensure that only authorized users will access these applications, the module also serves the users to be downloaded and used for such purposes.

What This Module Does Do

  • Allows data entry to be done directly from any JavaScript enabled browser.
  • Supports both filling of new encounters and editing of existing ones using the same form.
  • Enables you replace the default patient registration form with a custom one without any programing.
  • Supports uploading of picture, sound, and video files together with displaying and playing them.
  • Serves OpenMRS forms as XForms to external applications.
  • Serves users and patient sets, including medical history, to external applications.
  • Accepts form data submitted from external XForms applications.
  • Supports creation of patients and entry of observations for both new and existing patients using basic text SMS from all mobile devices including the cheapest non programmable ones.
  • Lets you design Xforms using a browser based form designer.

What This Module Does Not Do

  • The form designer does not yet support undo/redo.

Download

To download the XForms Module, please go to the OpenMRS module repository here:

Resources

Release Notes

  • 3.9.2
  • Fixed bug where skip logic was allowing questions of only the same type.
  • Removed Page tabs from forms that have only the default Page1, when running a form for data entry.
  • 3.9.1
  • Fixed bug where some set fields were duplicated as problem lists in the form designer.
  • 3.9.0
  • Fixed index out of bounds exception when getting a concept id from a string during form data edit submission.
  • Fixed bug where set values were not loaded correctly on editing form data.
  • Fixed problem where refreshing a form resulted into loss of question options that were added from the designer instead of form schema.
  • Improved problem lists implementation.
  • Added proper display of answers for concept search fields instead of displaying the ugly HL7 string during form data edit.
  • Added ability to turn on and off editing of field bindings in the form designer using a global property.
  • 3.8.9
  • Fixed errors when saving form in Safari and Chrome.
  • Fixed null pointer exception when trying to create new patient without a saved new patient xform.
  • Added default time for DateTime widget such that one does not need to enter both date and time.
  • 3.8.8
  • Added ability to capture time for encounter date time.
  • Added bar code question type.
  • Fixed bug where retired providers were being shown.
  • Fixed bug during xsl transformation of xforms that are requested with a content type parameter.
  • Fixed bug where datetime widget was not shown during data entry.
  • 3.8.7
  • Added support for starts with, does not start with, contains and does not contain operators in the form designer validations.
  • Added support for doing custom xslt transformations when downloading xforms.
  • Added ability to fetch filtered single select dynamic values from the database instead of hard coding them in the xforms.
  • Fixed null pointer exception when downloading patients for a cohort which does not exist.
  • Fixed null pointer exception when saving some single select dynamic question types in the form designer.
  • Fixed bug in the today() function created in the xpath expression for encounter date time in xforms.
  • 3.8.6
  • Added support for filtering concept searches based on concept classes.
  • Fixed tab navigation problems for repeat widgets.
  • 3.8.5
  • Added user account validation servlet for external clients.
  • Fixed Same Origin Policy violation error caused by improper handling of urls with no port numbers.
  • 3.8.4
  • Fixed the java.lang.NoClassDefFoundError exception for org.openmrs.hl7.HL7Receiver in openmrs versions from 1.6 and above.
  • Fixed the java.lang.NoSuchMethodError exception for org.openmrs.Encounter.getProvider()Lorg/openmrs/User
  • Fixed problem where question ordering was not preserved after refresh.
  • Added taking one to the patient dashboard after creating a new patient using the patient xform.
  • 3.8.3
  • Added immediate notification of the user when form submission processing fails.
  • Fixed form submission bug caused by invalid submission xml generated by the form viewer.
  • 3.8.2
  • Added title to xforms documents embedded in xhtml.
  • Added support for specifying a custom serializer when downloading patient cohorts.
  • Added saving of birth date estimated value for patients.
  • Fixed bug where refreshing a form leads to loss of calculations attached to questions.
  • Removed "Xforms Properties" link, which is buggy, from the admin screen.
  • 3.8.1
  • Fixed problem of messing up form JavaScript when doing File Save As.
  • Fixed problem of showing retired forms under the xforms tab.
  • Fixed problem of clicking the add new and remove repeating row widget which at times moves some widgets which are not to be moved.
  • Added support for using patient_identifier_type_id in addition to the existing patient_identifier_type as the node name of patient identifier types used when creating new patients for an encounter form.
  • Added ability to specify a url parameter to transform an xform to xhtml.
  • 3.8.0
  • Fixed null pointer exception when deleting form fields.
  • Fixed xml parsing error when displaying a form which has non ascii characters.
  • Added support for using the default encounter editor whenever there is not xforms widget layout attached to a form.
  • 3.7.9
  • Added automatic filling of encounter provider to the currently logged on user, if they have the provider role.
  • Added automatic filling of encounter location to that of the currently logged on user, as set in the user profile.
  • 3.7.8
  • Added support for provider and location search.
  • Added ability to select and unselect radio buttons using the keyboard SPACE BAR.
  • Added ability to tab through widgets including radio buttons and check boxes using the keyboard ENTER key.
  • Fixed issue where values from external database tables were not loaded in widgets in both preview and runtime modes.
  • Fixed issue where the JavaScript tab was not preserving the formatting of JavaScript on being loaded again after saving the form.
  • 3.7.7
  • Added support for attaching custom JavaScript to forms.
  • Fixed problem of rubber band widget selection happening together with browser selection of text.
  • Fixed issue of radio button and check box in line editing of label text which does dot allow you click anywhere in the text to change the cursor position during the course of editing
  • 3.7.6
  • Added ability to create forms in different languages.
  • Fixed skip logic problem with multiple questions sharing the same skip logic and having no way of removing one from this group, and also in some cases where the xform did not have the relevancy attribute removed after removing conditions and saving.
  • 3.7.5
  • Added support for concept search when in preview mode of the form designer.
  • Fixed problem of concept search widget not displaying properly when in a group box or at the edges of the browser.
  • Fixed problem of conditionally required questions still displaying error messages even after being answered.
  • Added support for automatic loading of widgets when one selects the preview tab before the design surface tab.
  • Fixed null pointer exception when one clicks the browse button for multimedia (picture,audio and video) widgets.
  • Added support for immediate automatic filling of bindings for Single Select Dynamic question types.
  • Changed widget resize keyboard shortcut from Shift and Arrow keys to Ctrl and Arrow keys.
  • 3.7.4
  • Added ability to resize widgets using keyboard Shift and Arrow keys.
  • Fixed forms panel scrollbar problem with long question text.
  • Fixed problem of boolean, some single and multiple select values not displaying properly when defining skip and validation logic.

Developers

  • [Daniel Kayiwa]

Labels

moduledocumentation moduledocumentation Delete
Enter labels to add to this page:
Please wait 
Looking for a label? Just start typing.