FormEntry Module

Overview

The Form Entry module is one of main data entry for OpenMRS along with HTML Form Entry and Xforms.

Form Entry allows end user managers to design a form's content and look and then allows for end users to fill out the form and submit it to OpenMRS.

If using the formentry module 5.x and below with the Sync Module you must take care with how the concepts are developed. Formentry still depends on internal concept.concept_id values being the same on all servers. The sync module cannot guarantee that to be the case. So all concept/form development must happen on one and only one server in your sync network. This is also the case with Metadata Sharing Module. Work is underway to fix these problems.

It is strongly recommended that you don't depend on sync to propagate changes to your infopath forms. PIH never did this successfully in Rwinkwavu, and this is one of the reasons that they transitioned completely to htmlforms.

One problem is that infopath XSNs are .cab files that contain a whole bunch of files inside of them. Some of these files have the hard-coded paths of the server that you were working on when you modified the form. The problem is that these hard-coded strings then get propagated to the other servers through sync (when its working). In the past in Rwinkwavu, PIH ended up with forms from one site being submitted to another site, which caused all kinds of problems.

Block org.openmrs.module.formentry at the parent sending level, and do all XSN manipulation by hand on each server. In the long run, this is still easier.

Other Resources

Example Usage

Download

Configuration

  • formentry.infopath_server_url - The url compiled into the xsns so that they can speak to the right server (e.g http://192.168.1.1:8080/openmrs)

  • formentry.infopath_taskpane_refresh_sec - How often to refresh the taskpane page (in seconds) in order to keep the connection alive

  • formentry.infopath_taskpane_keepalive_min - Maximum number of minutes to keep refreshing the page in order to keep the connection alive

  • formentry.infopath_taskpane.relationship_sort_order - To be finished by Jeremy

  • formentry.queue_dir - Filesystem dir to store the submitted xml items (default formentry/queue)

  • formentry.queue_archive_dir - Filesystem dir to store the already processed queue items (default formentry/archive/%Y/%M)

  • formentry.xsn_archive_dir - filesystem to store xsns that are no longer needed. (active xsns are stored in the db)

  • formentry.default_hl7_source - name of hl7 source to attribute to incoming xml (default is local)

  • formentry.gp_prefix_for_forms - all Settings (formerly Global Properties from platform 1.8 downwards)that start with this string will be available in forms for use in default values. e.g. $!{globalProperties.mypropNameHere}. (Good for per-server configuration to get default locations into a sync network)

Release Notes

  • 5.0.7 (Unreleased)

  • 5.0.4 (Unreleased)

  • 5.0.3 (unreleased due to search bug)

    • Added new 1.8 style searches popups (WIP)

New line of releases for all OpenMRS 1.8+ versions

  • 4.5.9.5

    • Fixed FORM-141 - put settings (formerly Global Properties from 1.8 downwards) in the velocity context for infopath default value usage

  • 4.5.9.4

  • 4.5.9.1

  • 4.5.9

    • Reverted new search widgets in infopath taskpane to old-style searches

  • 4.5.8

    • Made compatible with OpenMRS 1.8+

    • Added index to formentry_xsn column for speed improvements

    • Fixed taskpane to work with Jetty servlet container

    • Fixed FORM-107 and FORM-108

  • 4.5.4

    • Fixed problem with duplicating forms - FORM-103

  • 4.5.3 (unreleased)

    • Improved speed for loading the patient dashboard - TRUNK-1615

  • 4.5.2

    • Added InfoPath taskpane widget for offline relationship selection - FORM-1

    • Enhanced InfoPath encounter taskpane widget to inject more data into the form - FORM-91

  • 4.5.1

    • Added ability to add relationships to form schemas - #1740

    • Added a way to insert InfoPath widgets into forms

  • 4.5

    • Made formentry Sync Module compliant. Xsns objects are now sync-able - #1983

    • Fixed duplicated form from being overwritten when using Sync module - #2351

  • 4.4.3

    • Changed to copy the standard openmrs-infopath javascript file into all XSNs upon publish - #270

  • 4.4.2

    • Fixed fix for formentry admin screen error - #2263

  • 4.4.1

    • Fixed formentry admin screen error - #2047

  • 4.4

    • Adding in fixes for formentry taskpane to point at user instead of person - #2033

New line of releases for all OpenMRS 1.6+ versions

  • 4.3.2

    • Fixed fix for formentry admin screen error - #2263

  • 4.3.1

    • Adding in fixes for formentry taskpane to point at user instead of person - #2033

  • 4.3

  • 4.2.1

    • Fixed relationships object to contain patient objects if they exist

  • 4.2

    • Added "relationships" velocity scripting option to form schema

  • 4.1.2

    • Fixed InfoPath schema incorrectly storing the selected name in both sides of the HL7 sextuplet archive:TRAC-1594

  • 4.1.1

    • Fixed taskpane js to load the DWRUserService property correctly. See archive:TRAC-1689

  • 4.1

  • 4.0

    • Added compatibility with the new FormEntryHandler extension point that combines the multiple form-entry type of modules forms into one place

New line of releases for all OpenMRS 1.5+ versions

  • 3.7

  • 3.6.9

    • Fixed InfoPath schema incorrectly storing the selected name in both sides of the HL7 sextuplet archive:TRAC-1594

  • 3.6.8

    • Fixed taskpane js to load the DWRUserService property correctly. See archive:TRAC-1689

  • 3.6.7

  • 3.6.6

    • Fixed utf-8 characters in basic form

  • 3.6.5

    • Fixed taskpane concept name error

  • 3.6.4

    • Fixed call to deprecated method so method works in 1.5

  • 3.6.3

    • Added settings (formerly Global Properties from 1.8 downwards) formentry.infopath_taskpane.showAllUsersOnLoad to turn on/off automatic user display in the infopath taskpane

  • 3.6.2

    • Fixed form searching on dashboard to not show garbled text when no forms are found

  • 3.6.1

    • Added a few helpful error messages if errors occur while rebuilding a form

  • 3.6

    • Added changes for concept name searching/saving to obs

    • Added fix velocity errors from forms

    • Fixed required text fields error in Infopath

  • 3.3.2

    • Added delay to Infopath taskpane user search page to fix a bug with the latest trunk code

  • 3.3.1

    • Fixed startup options to actually look at the settings (formerly Global Properties from 1.8 downwards) before warning about their deprecation

  • 3.3

  • 3.2

    • Adding option for extra information for question concepts being filled in by normal infopath form (non-taskpane)

  • 3.1

    • Upgraded formentry module to work with OpenMRS version 1.3

Troubleshooting

Developers

@Ben Wolfe, @Burke Mamlin