December 22, 2011
This version of OpenMRS is a prerelease and not considered worthy for production use. Its function is to give users an idea of what to expect and help discover any possible obscure new bugs.
See release notes for 1.9.0 for the final production-ready release.
Whats New Since 1.8
Version 1.9.0 of OpenMRS has three (3) major changes. (A larger list can be found below.)
Grouping encounters into visits
Multiple providers per encounter
Additional attributes to concept mapping
A huge thanks to the 55 people that contributed code to this release: abbas, amala, asgoyal, ashishmittal, rubailly, ajanthan, gbalaji, bwolfe, bcstrick, duality72, cliff.mcintosh, corey.sobel, dkayiwa, djazayeri, bisanthe, gbathla, gauravpaliwal, gobi, goutham, grwarren, deuts20h, harsha, arbaughj, jeffrey.leegon, jkeiper, jwmajors81, jportela, jtellez, lara.kellett, gmario, mogoodrich, mblanchette, mseaton, nribeka, peichenauer, raff, arahulkmit, r.friedman, sapna, sunbiz, scottmuc, shanakaf, sneha, suho, sjmckee, stuartgunter, suneeth, surangak, tmdugan, cta, tabdelmaguid, upul, wyclif, zabilcm, zubair
Not to mention all the people that contributed in countless other ways to support this release and be a great part of the shaping of this release: pbiondich, mdowney
Community Input
We welcome any user to download OpenMRS 1.9 Beta and try it out, give us feedback, and potentially bug reports on this release. We especially ask current users to try this version out on their own database and with their custom modules.
If you are the lead developer of a module, then you should test out your module against this 1.9 beta, so if you need to make any changes, you can do so well before the final release.
Even if you don't have time to do any thorough testing, we'd really appreciate it if you can upgrade a copy of your database to the 1.9 data model, and report on any errors than may occur in the upgrade script.
If a new bug is found, send an email to one of the mailing lists or create a new JIRA ticket (click upper right icon).
We do not recommend using this in a production environment!
Release Testing Helper Module
We have also released this module to help you test 1.9 beta using your existing data.
You can get more information about this module from: Release Testing Helper Module
Download
Download OpenMRS 1.9 Beta
Download Release Testing Helper Module
Bundled Modules
These modules are bundled with the 1.9 beta openmrs.war download. They will be started automatically and can be removed if they are not wanted.
User Interface Changes
The Manage Global Properties link has been changed into Settings where the global properties are grouped according to category. The old style of listing all without grouping can be accessed from the Advanced Settings link.
The Encounters tab on the patient dashboard is replaced with Visits unless you set the visits.enabled setting to false.
Non-Backwards-Compatible Changes for Developers
Developers take note: unfortunately 1.9 includes a few non-backwards-compatible changes from 1.8.
Form no longer has the xslt and template properties. Use the new FormResource API.
Encounter provider is no longer a mere person but has to be in the new provider tables. So a provider may not be a person. And each encounter provider has to be associated with an encounter role.
The module developer migration guide can be found at: Module Developer Migration Guide
Changelog since 1.9 alpha
Database
Changing global_property.property from varbinary to varchar
Creating concept reference terms from existing rows in the concept_map table
Inserting Auto Close Visits Task into 'schedule_task_config' table
Deleting non-existing roles from the role_role table
Associating daemon user with a person
Setting super user gender
Fix empty descriptions on relationship types
Bugs
TRUNK-2913 | Simplify display of visit on Visits tab |
TRUNK-1637 | Clarify what the startup error "Waiting for changelog lock...." means |
TRUNK-2961 | Saving user options for the default super user should not throw error message on second and subsequent times |
TRUNK-2917 | AuditableInterceptor throws an NPE at startup, preventing OpenMRS from running |
TRUNK-2792 | Starting a task whose class cannot be found should display a user friendly error message |
TRUNK-2785 | Saving person attribute type with missing description should give a user friendly error message |
TRUNK-2783 | Limit of maximum encounters to show on patient dashboard should be optional and configurable |
TRUNK-2786 | Saving relationship type with missing description should give a user friendly error message |
TRUNK-2503 | Include inherited roles when searching for users |
TRUNK-412 | Additional Attributes on Concept Mapping |
TRUNK-2686 | Provider Identifiers should be unique |
TRUNK-2956 | Search widget row highlight fails on verbose row when home/end/pageup/pagedown keys are used |
TRUNK-2664 | Change the priority when setting a preferred name for a concept |
TRUNK-2791 | Pressing start, stop, delete button without selecting any task should tell the user to first select at least one task |
TRUNK-2023 | Allow second user to see progress of update wizard |
TRUNK-2586 | Include a mock library in the core |
TRUNK-2855 | ERROR - RequestContextAwareTag.doStartTag(82) Theme 'theme': No message found under code 'jqueryui.theme.name' for locale 'en_US' |
TRUNK-2922 | Daemon user has no associated person |
TRUNK-2948 | 1.9 Demo dataset sql file with the 5k patients needs a few more pieces of data |
TRUNK-2055 | Localize messages in the initialization and update wizard |
TRUNK-2954 | Rename visit configuration URL, jsp, controller and related files |
TRUNK-2928 | fix breaking test ConceptServiceImplTest.saveConcept_shouldSetDefaultPreferredNameToASynonymThird |
TRUNK-2926 | Add changeset to delete incorrect entries in role_role table |
TRUNK-2914 | Incorrect error message when trying to create an encounter and put it in a visit with incompatible start/end date |
TRUNK-2796 | Cannot save new visit and encounters at the same time |
TRUNK-2909 | 1.9 Demo dataset needs a few more pieces of data |
TRUNK-2923 | Fix concept reference term to use random generated UUIDs |
TRUNK-2821 | Merge Patients page should be displayed on a separate pop-up screen |
TRUNK-422 | Edit / View of previous forms should merge into a single interface paradigm |
TRUNK-2915 | Manage Encounter should show date+time widget for encounterDatetime |
TRUNK-2921 | ConceptValidator should not compare names of a retired concept against the names of other concepts |
TRUNK-2910 | Add/Edit visit page needs to look like other OpenMRS pages |
TRUNK-2152 | Add upgrade script to set a preferred identifier for patients without one |
TRUNK-2639 | Drugs are not showing up in the concept search in the concept dictionary |
TRUNK-2911 | When you create a visit, it should take you back to the patient dashboard |
TRUNK-2907 | HibernateEnumType not finding module methods |
TRUNK-2680 | Automatically convert empty string properties on OpenmrsObjects to null before persisting in the database |
TRUNK-2887 | Add a label for encounters not assigned to any visit on the visit tab on the patient dashboard |
TRUNK-2901 | Obs.newInstance() method should include both voided and non-voided group member obs |
TRUNK-2332 | Fix EncounterService.getCountOfEncounters() and getEncounters(String, Integer, Integer, Boolean) |
TRUNK-2900 | Cannot parse address layout (fresh installation) |
TRUNK-2644 | Convert Global Property column to varchar |
TRUNK-1677 | Concept Proposal Management- Synonym function failed |
TRUNK-2711 | TRUNK-2696 Change active visits in header |
TRUNK-2784 | Add Encounter for Visit Extension |
TRUNK-2889 | Autocomplete widgets should not lose initial value on losing focus |
TRUNK-222 | Unable to find patients if their name is less than 3 characters |
TRUNK-1993 | UUID used by equals and hashCode in OpenmrsObject |
TRUNK-2623 | Concept::getAnswers(true) (for include retired ) should behave identically to Concept::getAnswers() |
TRUNK-256 | Preferred Patient Identifier should be required |
TRUNK-2870 | Field widgets that use autocomplete should show a visual indication of invalid entry |
TRUNK-2793 | Creating location tag without a name should display error message adjacent to the empty name textbox |
TRUNK-2318 | Do not allow creating, modifying, or deleting ConceptDatatype from the API |
TRUNK-363 | The web interface needs to support time obs when adding a new observation |
TRUNK-2787 | Cannot unretire relationship type |
TRUNK-2766 | Cannot upgrade from 1.8 to 1.9 |
TRUNK-2810 | Adding ConvSet form field having a member concept without a description should not throw a NullPointerException |
TRUNK-2814 | Encounters should not be assigned to visits which stopped before the encounter date |
TRUNK-2807 | Unbounded coded concepts should not throw a NullPointerException when trying to answer them |
TRUNK-299 | WebModuleUtil should handle DWR <init> tags in dwr section of config.xml |
TRUNK-420 | Add obs.previous_version column |
TRUNK-2780 | Advanced setup install method should use default values in existing runtime properties file |
TRUNK-2842 | Fix spelling of Identifer Location on Add new Patient / Short Form |
TRUNK-2849 | Aware of module feature causes OpenMRS to crash |
TRUNK-1668 | Module engine will execute sqldiff based on the String ordering |
TRUNK-2428 | ConcurrentModificationException in ConceptNameSaveHandler |
TRUNK-2697 | Fix concept validator to allow duplicate concept names that are voided |
TRUNK-2799 | Missing description when saving program should give user friendly error message |