Platform Release Notes 1.10.0 Alpha

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.

What's New

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

You will certainly need to read Prepare for Upgrading From a Pre-1.10 to 1.10 or Later Version

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.

Community Input

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.

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!

Download

OpenMRS Platform 1.10.0 Alpha represents revision: a7295479d104057669a8636c1d337d047ed2d5cf

Download OpenMRS Platform 1.10 Alpha

Bundled Modules

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.

  • OrderService

  • Order

  • DrugOrder

But as mentioned earlier, with the introduction of conditional resource loading, you should be able to work with different versions in your modules.

Changelog

Database

- 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

# Checks that all existing free text drug order dose units and frequencies have been mapped to concepts, this will fail the upgrade process if any unmapped text is found # Checking that all orders have start_date, encounter_id and orderer columns set # Checking if there are any drugs with the dose_strength specified but no units # Checking if order_type table is already up to date or can be updated automatically # 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

Bug Fixes

  • Error rendering macro 'jira' : Unable to locate Jira server for this macro. It may be due to Application Link configuration.

  • Error rendering macro 'jira' : Unable to locate Jira server for this macro. It may be due to Application Link configuration.

  • Error rendering macro 'jira' : Unable to locate Jira server for this macro. It may be due to Application Link configuration.

  • Error rendering macro 'jira' : Unable to locate Jira server for this macro. It may be due to Application Link configuration.

  • Error rendering macro 'jira' : Unable to locate Jira server for this macro. It may be due to Application Link configuration.

  • Error rendering macro 'jira' : Unable to locate Jira server for this macro. It may be due to Application Link configuration.

  • Error rendering macro 'jira' : Unable to locate Jira server for this macro. It may be due to Application Link configuration.

  • Error rendering macro 'jira' : Unable to locate Jira server for this macro. It may be due to Application Link configuration.

New Feature

  •  - 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.

 

Â