OpenMRS 1.4 Released

The first official release OpenMRS 1.4 is now available for download at This is our new stable release, replacing 1.3.4.

Important note: Upgrading to 1.4 will update your database in a way that cannot be undone, so you cannot go back to 1.3 after upgrading. Please be sure to backup your database before doing the upgrade so you have a way out.

Thanks to everyone who contributed code to this release, as well as to everyone who found and reported bugs. The following are lists of the new features and bugfixes that have happened since 1.3.0, along with their ticket numbers. (This is approximate–I may have missed some, and several of these have been backported to 1.3.x maintenance releases.)

I’ve highlighted a few new features that people may find interesting, as well as some improved compatibility (IE as a browser, Solaris as a server OS, and 4-component names for Latin American installations).

User and Implementer-visible improvements and bugfixes
1316 Cohort Builder does not handle questions whose datatype is Boolean
1396 Patient dashboard header shows program enrollments in a hacky PIH-specific way
480 One-row-per-Obs Data Exports
1166 Cohort Column broken in data exports
1183 sometimes graphs on the patient dashboard don’t show up
1259 Adding a concept to the patient graphs tab doesn’t work right
1260 Duplicate values in lab results table in graphs portlet on patient dashboard
465 Error when trying to set a patient relationship through the patient dashboard using Internet Explorer
951 Add Solaris operating system
1050 Add Relationship Feature on Create a New Patient Page
1098 Cannot create a patient with 4 names
1023 Error when editing voided patients
1094 Order Drug Form: Unable to find a value for “userId” in object of class “java.lang.String” using operator “.”
1127 Enroll in program for new patients does not work
1139 Merge patients: encounter.obs.person not updated_ will fail on obs without encounter
1163 List of search results does not present item #1 as first item in list
1309 Broken numeric normal high range for concept dictionary
1035 Add support for sending scheduler errors to system admin
1210 Admin Order Drug links incorrect
714 PersonAttributeType with a format of java.Util.Date
1242 Patient can be created from user or person without required fields (eg_ DOB_ names_ etc.)
1261 Find similar patient names needs to handle names with more than 3 components
1291 Fix Person/Patient/User Name searches to include other columns
1322 Found Similar People yields excessive results when adding a new person
435 Cleanup module startup errors: Error parsing dwr-modules.xml file
971 FormEntry Processing Error
527 Add new regimen problem…
689 Enable Search by Identifier or Name when adding relationships
712 Problem with updating Edit FormField
719 Encounter Obs don’t match in Edit and View screens
832 Spring does not refresh if an error occurs during module upload
873 Deleting a concept which in use should give a more user friendly error message
1008 Drug order: Error when adding drug order with future start date
978 Identifiers portlet on patient dashboard should use a smarter default location
1025 Multiple concepts within an ObsGroup do not show up correctly on Encounter Viewer
1026 Add Sort Obs By Number option to Encounter form
1034 Attribute date_voided stays NULL
1042 Incorrect Link to Encounter Form When Searching for Observations
1028 Data Export fails for “first obs” with no additional properties set_ if a patient has no obs for that concept
1058 Login Redirect not working after APIAuthentication error is thrown
1109 Error Checking for Role Name Needed
1118 Add Concept Source should have some documentation
1290 Change description of global property in next openmrs liquibase update
1345 Patient Viewing Attributes – Concept ID instead of concept name
823 Patient Search Timeout Error Handling
869 Adding task with no details of task allows you to save and get an exception
898 Patient Search Result
899 Edit FormField XSN
982 Authenticating using systemId without a hyphen fails on short systemIds
992 Person Attribute Type Changed By date doesn’t change when Person Attribute Types are changed
1051 Global Property use_patient_attribute.healthCenter isn’t fully observed

There are also improvements that will only be visible to those who develop on the API

Developer-visible improvements and bugfixes
1024 Add ability to append data to an encounter vi hl7
1184 Person.getAge doesn’t always return the correct age sometimes
944 Add accessionNumber to Order
943 Module support for tag files
941 Set a person’s birthdate from their age on a date
942 Setting Encounter on Obs or Order should set Patient
902 Absolute paths don’t work on the admin page for modules
945 Field to enter the value of an obs_ given a concept
954 CohortService – getCohort(‘nameofcohort’)
985 identical forms with null form ids throw an exception in .equals method
987 sqldiff throws error when running rename table statement
1092 Refactor common default location code
1117 Module Factory bypasses service layer
1131 ConceptService.saveConcept should allow you to create a concept with a specified concept id
1375 org.hibernate.NonUniqueObjectException caused by PatientIdentifierValidator
948 Convert test framework to juni4
885 Logic Unit Tests
966 ModuleUtil.getModuleRepository() can create bad paths for module directory
1036 Add server hostname to system variable map
894 ModuleClassLoader.setProbeParentLoaderLast() should be public
907 Demo data has concepts without concept names
1041 Valid XML required for META-INF/context.xml
976 Create test dataset
1053 sqldiff incorrectly handles Manage vs Add/Edit/Delete Encounter Types in
963 CD4 Count Concept Contains Non-Alphanumeric Characters in the Units


PS- In case you downloaded a pre-release version of 1.4 or did a nightly build yourself, you may have seen one of the following transient bugs. They’re all fixed now as well.

Errors that were both introduced and fixed in 1.4. You may have seen these if you used a beta version or release candidate
1173 FormEntry module 3.3.4 fails to start in OpenMRS 1.4
1301 1.4 Synonym Migration Fails
934 Editing encounterDateime on an existing encounter that has obs attached_ and calling ‘EncounterService.saveEncounter’ doesn’t work
1022 Cannot edit encounter datetime
972 Cannot edit drug order
1055 Concept editing broken after concept name branch merge
1164 upgrading 1.3.2 -> 1.4.x breaks forms
973 Patient matching module not up-to-date
986 Error in HibernateConceptDAO in getAllConcepts_ getConcepts_ and getNextAvailableId
988 Void obs fails when using the admininistrative edit obs page
1054 Adding a new Observation using the webapp is broken
1115 Update Concept Word Table via sql
1120 HIV Consult sheets broken in 1.4.x/sync
1125 encounter view BROKEN in 1.4.x
1122 ConceptService is missing a few methods related to ConceptNameTag
1123 Obs form broken: cannot select concept
1165 can’t download form because of velocity error
1167 Concept mappings are no longer editable
1286 Add all locales to “allowed_locales” global property
1323 Edit this Patient gives error when changing the tribe
1384 Error converting parameters for call to DWRProgramWorkflowService.getStatesByWorkflow in Cohort Builder (in 1.4.x but not in trunk)
437 Calendar object does not appear: concept_name_tag branch
448 Verbose mode on concept search should show locale-specific definitions: concept_name_tag branch
1170 Different behavior while searching for concepts by name in 1.4.

No comments yet.

Leave a Reply