Overview
The Form Entry module is currently the main mode of data entry for OpenMRS.
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
- Administering Forms
- Administering FormEntry
- FormEntry Technical Overview
- FormEntry Module Taskpane Widgets
- InfoPath Notes
- Sample FormEntry XSLT
- InfoPath Intro
- DirectFileOpener Firefox Plugin - A Firefox Addon to directly open forms in InfoPath without any nags
Example Usage
- Screencast of creating a simple Infopath form
- Demo XSNs
- For someone to do: throw up some screen shots of creating a form
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 Global Properties 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)
- Fixed FORM-127
- 5.0.4 (Unreleased)
- Fixed FORM-120
- 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 global properties in the velocity context for infopath default value usage
- 4.5.9.4
- Fixed FORM-127
- 4.5.9.1
- Fixed FORM-120
- 4.5.9
- Reverted new search widgets in infopath taskpane to old-style searches
- 4.5.8
- 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
- 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
- Fixed a remoteformentry incompatibility with xforms bug archive:TRAC-1934@ticket
- 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@ticket
- 4.1.1
- Fixed taskpane js to load the DWRUserService property correctly. See archive:TRAC-1689@ticket
- 4.1
- Reverted infopath files to just use triplets. See archive:TRAC-1404@ticket
- 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
- Fixed a remoteformentry incompatibility with xforms bug archive:TRAC-1934@ticket
- 3.6.9
- Fixed InfoPath schema incorrectly storing the selected name in both sides of the HL7 sextuplet archive:TRAC-1594@ticket
- 3.6.8
- Fixed taskpane js to load the DWRUserService property correctly. See archive:TRAC-1689@ticket
- 3.6.7
- Reverted infopath files to just use triplets. See archive:TRAC-1404@ticket
- 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 global property 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 global properties before warning about their deprecation
- 3.3
- Added taskpane widget to select past encounters - How to use the encounter widget
- Added taskpane widget to add relationships to patients - How to use the relationship widget
- 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
- When using FormEntry Module in a non-Windows environment (one that uses cabextract), do not adjust Tomcat memory usage to greater than 4GB. See Ticket # FORM-14.
- See also ?Troubleshooting Formentry Module