Wednesday May 28th 2014
This version of the OpenMRS Platform is a pre-release and not considered worthy for production use. Its function is to give users an idea of what to expect in the upcoming major release (1.10.0) and help discover any possible obscure new bugs.
The order entry API in prior versions is not well designed and not quite useful in handling the relatively complex ordering workflows in a typical clinical setting. Therefore, the main focus for this version was to refactor the order entry API and make it better. The release has 2 major changes.
- Re-designed Order Entry API in a backwards incompatible way, there isn't yet a user interface for managing orders and order types, see below for user interface changes
- Conditional resource loading to support multiple OpenMRS versions in a module
A huge thanks to the 20 people that contributed code to this release: Ak, Alexis Cartier, Andras Szell, Damian Szafranek, Daniel Kayiwa, Darius Jazayeri, Harsha Kumara, Gitahi Ng'ang'a, Jakub Kondrat, Kaweesi Joseph, Krzysztof Kaczmarczyk, Lech Rozanski, Mark Goodrich, Mujir Shaikh, Nicholas Ingosi Magaja, Rafal Korytkowski, Shruthi Dipali, Vinay Venu, Vinkesh Banka, Wyclif Luyima.
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: Burke Mamlin, Paul Biondich, Ryan Yates, Michael Downey, Elliot Williams, Anushya Prasad, Mike Seaton, Andy Kanter, Shasha Lui, Chris Power, Jonathan Teich, Roger Friedman.
We welcome any user to download OpenMRS 1.10.0 Alpha 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.10.0 alpha, 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.10.0 data model, and report on any errors than may occur in the upgrade script.
We do not recommend using this in a production environment!
OpenMRS Platform 1.10.0 Alpha represents revision: a7295479d104057669a8636c1d337d047ed2d5cf
There are no bundled modules in the release.
User Interface Changes
- All UI components for managing order and order types have been removed.
- The regimens tab on the patient dashboard has been removed.
- You can no longer merge patient where any of the losing patients has active orders
Non-Backwards-Compatible Changes for Developers
Developers take note: unfortunately 1.10 includes several non-backwards-compatible changes from prior versions for the following classes.
But as mentioned earlier, with the introduction of conditional resource loading, you should be able to work with different versions in your modules.
- Adding unique key constraint to order_type.name column
- Adding java_class_name column to order_type table
- Adding parent column to order_type table
- Setting java_class_name column for drug order type row
- Add not-null constraint on order_type.java_class_name column
- Insert order type for test orders
- Making orders.start_date not nullable
- Making order.encounter required
- Make orders.orderer not NULLable
- Renaming drug_order.prn column to drug_order.as_needed
- Adding as_needed_condition column to drug_order table
- Adding order_number column to orders table
- Setting order numbers for existing orders
- Making orders.order_number not nullable
- Adding previous_order_id to orders
- Adding order_action to orders and setting order_actions as NEW for existing orders
- Renaming drug_order.complex to dosing_type
- Making drug_order.dosing_type nullable
- Converting values in drug_order.dosing_type column
- Adding num_refills column to drug_order table
- Create the order_frequency table
- Adding dosing_instructions column to drug_order table
- Adding comment_to_fulfiller column to orders table
- Adding duration column to drug_order table
- Adding duration_units column to drug_order table
- Adding quantity_units column to drug_order table
- Changing quantity column of drug_order to double
- Adding route column to drug_order table
- Dropping equivalent_daily_dose column from drug_order table
- Adding dose_units column to drug_order table
- Adding foreignKey constraint on dose_units
- Migrating old text units to coded dose_units in drug_order
- Deleting units column
- Adding frequency column to test_order table
- Adding number_of_repeats column to test_order table
- Rename orders.discontinued_date to date_stopped
- Creating Discontinue Order for discontinued orders
- Setting order.discontinued_reason to null for stopped orders
- Setting orders.discontinued_reason_non_coded to null for stopped orders
- Removing discontinued from orders
- Dropping fk constraint on orders.discontinued_by column to users.user_id column
- Removing discontinued_by from orders
- Temporarily renaming drug_order.frequency column to frequency_text
- Adding the frequency column to the drug_order table
- Creating coded order frequencies for drug order frequencies
- Migrating drug order frequencies to coded order frequencies
- Dropping temporary column drug_order.frequency_text
- Adding care_setting table
- Adding OUTPATIENT care setting
- Adding INPATIENT care setting
- Add care_setting column to orders table
- Set default value for orders.care_setting column for existing rows
- Make care_setting column non-nullable
- Add foreign key constraint
- Add drug_reference_map table
- Temporary dropping foreign key on orders.discontinued_reason column
- Renaming orders.discontinued_reason column to order_reason
- Adding back foreign key on orders.discontinued_reason column
- Renaming orders.discontinued_reason_non_coded column to order_reason_non_coded
- Creating provider accounts for all users who have placed orders for patients and have no associated provider accounts
- Temporarily removing foreign key constraint from orders.orderer column
- Converting orders.orderer to reference provider.provider_id
- Adding foreign key constraint to orders.orderer column
- Inserting Frequency concept class
- Adding scheduled_date column to orders table
- Add order_type_class_map table
- Concatenate dose_strength and units to form the value for the new strength field
- Add changed_by column to order_type table
- Add date_changed column to order_type table
- TRUNK-4336 - Disable Hibernate cascading for Encounter.orders and Obs.order Closed
- TRUNK-4335 - Validate liquibase against hbm Closed
- TRUNK-3303 - Middle name a required field on Person by default Closed
- TRUNK-3142 - Unit tests failing with JDK 1.7 Closed
- TRUNK-2157 - Legacy theme: Improper OpenMRS logo link Closed
- TRUNK-3974 - ConceptNumeric(concept) incorrectly copies collections Closed
- TRUNK-3909 - Liquibase fails to change column with foreign key in MySQL 5.6 Closed
- TRUNK-4164 - Obs.getValueAsString(Locale locale) should localize name if Obs is valueCoded Closed
- TRUNK-2694 - Fix Performance hog: Maps and sets of URLs Closed
- TRUNK-4210 - mysql-connector-java v5.1.8 with mysql server v5.6 causes MySQLSyntaxErrorException Closed
- TRUNK-4361 - When merging patients, addresses from Non-Preferred Patients should not be set to preferrred Closed
- TRUNK-4325 - Randomly failing tests in ShortPatientFormControllerTest Closed
- TRUNK-4300 - In some scenario the uncaughtException page can throw an exception instead of rendering properly Closed
- TRUNK-4199 - Sonar blocker: obj could be null and is guaranteed to be dereferenced in org.openmrs.validator.UserValidator.validate Closed
- TRUNK-4121 - Create foundation of Order Entry API for 1.10+ Closed - Create foundation of Order Entry API for 1.10+
Upcoming End of Release notice
OpenMRS 1.7 will reach end of life when 1.10.0 is released.
As of described in Unsupported Releases (EOL), OpenMRS can only support up to three released versions at a time (the current release and then two versions back). With the release of OpenMRS 1.10.0, support for 1.7 will no longer be provided by the core Development Team for OpenMRS 1.7.x and earlier. This announcement also serves as advance notice that support will end for OpenMRS 1.8.x, concurrent with the release of OpenMRS 1.11.