Release Notes 1.9.0 Alpha

Release Notes 1.9.0 Alpha

November 8, 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 in the upcoming major release (1.9.0) and help discover any possible obscure new bugs.

What's New

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 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.9 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.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!

Download

OpenMRS 1.9.0 Alpha represents version 1.9.0.24245 http://openmrs.org

Download OpenMRS 1.9 Alpha

Bundled Modules

These modules are bundled with the 1.9 alpha openmrs.war download. They will be started automatically.

  • Logic 0.5

  • HTML Form Entry 1.7.3

  • Reporting 0.6.2

  • HTML Widgets 1.5.7.1

  • Reporting Compatibility 1.5.4.1

  • Serialization.xstream 0.2.5

  • Xforms 4.0.8

User Interface Changes

  • The Manage Settings (formerly Global Properties from platform 1.8 downwards)  link has been changed into Settings where the settings (formerly global properties from platform 1.8 downwards)  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.

Changelog

Database

* (Fixed)Modified edit_privilege to correct column size
* (Fixed)Add a table to enable generic storage of serialized objects
* (Fixed)users.retired to BOOLEAN
* (Fixed)Change active_list_type.retired to BOOLEAN
* (Fixed)Change active_list_type.retired to BOOLEAN
* (Fixed)Change concept_name.locale_preferred to BOOLEAN
* Adding index on notification_alert.date_to_expire column
* Adding "date_changed" column to person_address table
* Adding "changed_by" column to person_address table
* Add 'location_behavior' column to patient_identifier_type table
* Drop Not-Null constraint from location_id column in patient_identifier table
* Create table to store concept stop words to avoid in search key indexing
* Inserting the initial concept stop words
* Adding the discontinued_reason_non_coded column to orders.
* Adding 'start_date' column to person_address table
* Adding 'end_date' column to person_address table
* Adding "date_changed" column to patient_identifier table
* Adding "changed_by" column to patient_identifier table
* Adding "date_changed" column to relationship table
* Adding "changed_by" column to relationship table
* Increasing the serialized_data column of serialized_object to hold mediumtext
* Dropping unused date_started column from obs table
* Dropping unused date_stopped column from obs table
* Adding correct foreign key for concept_answer.answer_drug
* Create the person_merge_log table
* Create visit type table
* Create the visit table and add the foreign key for visit_type
* (Fixed)Changed visit.voided to BOOLEAN
* Adding visit_id column to encounter table
* Adding the start_date column to relationship.
* Adding the end_date column to relationship.
* Creating visit_attribute_type table
* (Fixed)Change visit_attribute_type.retired to BOOLEAN
* Refactoring visit_attribute_type table (devs only)
* Creating visit_attribute table
* (Fixed)Change visit_attribute.voided to BOOLEAN
* Increasing maximum length of patient identifier type regex format
* Change all empty concept_source.hl7_code to NULL
* Add unique constraint to the concept_source table
* Adding the outcomesConcept property to Program
* Adding the outcome property to PatientProgram
* Creating location_attribute_type table
* (Fixed)Change visit_attribute.retired to BOOLEAN
* Refactoring location_attribute_type table (devs only)
* Creating location_attribute table
* (Fixed)Change visit_attribute.retired to BOOLEAN
* Converting general address format (if applicable)
* Converting Spain address format (if applicable)
* Converting Rwanda address format (if applicable)
* Converting USA address format (if applicable)
* Converting Kenya address format (if applicable)
* Converting Lesotho address format (if applicable)
* Converting Malawi address format (if applicable)
* Converting Tanzania address format (if applicable)
* Renaming the concept_source table to concept_reference_source
* Adding concept_reference_term table
* (Fixed)Change concept_reference_term.retired to BOOLEAN
* Adding concept_map_type table
* (Fixed)Change concept_map_type.retired to BOOLEAN
* Renaming the concept_map table to concept_reference_map
* Adding concept_reference_term_id column to concept_reference_map table
* Renaming concept_map_type.isHidden to is_hidden
* Inserting core concept map types
* Adding concept_map_type_id column and a foreign key constraint to concept_reference_map table
* Adding changed_by column and a foreign key constraint to concept_reference_map table
* Adding date_changed column and a foreign key constraint to concept_reference_map table
* Adding concept_reference_term_map table
* Creating concept reference terms from existing rows in the concept_map table(For MySQL)
* Creating concept reference terms from existing rows in the concept_map table(For all databases except MySQL)
* Copying concept_map_id column to concept_reference_map.concept_reference_term_id column
* Adding foreign key constraint to concept_reference_map.concept_reference_term_id column
* Dropping foreign key constraint on concept_reference_map.source column
* Dropping concept_reference_map.source column
* Dropping concept_reference_map.source_code column
* Dropping concept_reference_map.comment column
* Remove ON DELETE CASCADE from relationship table for person_a
* Remove ON DELETE CASCADE from relationship table for person_b
* (Fixed)Changing from smallint to BOOLEAN type on BOOLEAN properties
* Updating logging level global property
* Void all attributes that have empty string values.
* Create provider table
* Creating provider_attribute_type table
* Refactoring provider_attribute_type table (devs only)
* Creating provider_attribute table
* Creating encounter_role table
* Creating encounter_provider table
* Inserting the unknown encounter role into the encounter_role table
* Creating providers for persons from the encounter table
* Migrating providers from the encounter table to the encounter_provider table
* Dropping the provider_id column from the encounter table
* Allow Global Properties to be typed
* Allow Global Properties to be typed
* Allow Global Properties to be typed
* Allow Global Properties to be typed
* Add xslt column back to the form table
* Add template column back to the form table
* Add obs.previous_version column (TRUNK-420)
* Fix all the old void_reason content and add in the new previous_version to the matching obs row (POTENTIALLY VERY SLOW FOR LARGE OBS TABLES)

Bugs

TRUNK-2390

Remove MigrationController

TRUNK-2620

TRUNK-1925 Id Generators for Hibernate Mapping require SEQUENCE name

TRUNK-2642

TRUNK-1925 Change Liquibase Schema to SQL Independent Types

TRUNK-2657

TRUNK-1925 ON UPDATE CASCADE in relationship table cannot be performed on SQL Server

TRUNK-2540

TRUNK-2539 Add missing version numbers to pom.xml

TRUNK-2542

TRUNK-2539 Warnings when running AttributeUtilTest

TRUNK-2631

TRUNK-1925 Allow IDENTITY_INSERT for SQL Server when making liquibase insert statements

TRUNK-2632

TRUNK-1925 Move Privileges and Roles to Core Data Liquibase XML

TRUNK-2633

TRUNK-1925 NEWSEQUENTIALID() can be only used in SQL Server DEFAULT expression for a column of type 'uniqueidentifier'

TRUNK-2667

TRUNK-1925 HibernateUtil should escape single quote character on all DBMS

TRUNK-2433

AdministrationService.saveGlobalProperties is dangerous, and should be changed

TRUNK-2465

Ordering of encounters on formentry tab incorrect

TRUNK-2729

Cannot save html form

TRUNK-2715

Cannot duplicate Basic Form

TRUNK-2712

Encounter form is broken

TRUNK-2764

Cannot view encounter

TRUNK-2647

In the Edit Visit page, startDatetime and stopDatetime need time pickers

TRUNK-2773

Editing encounters should not result into multiple openmrs headers

TRUNK-2782

Cannot save edited location

TRUNK-2006

Installation wizard should not automatically set connection.driver_class in the runtime properties file

TRUNK-1942

Unknown column error when a user enters multiple words in the concept search box

TRUNK-1958

In web layer, Spring CustomDateEditor initialization should be modified to better prevent against bad dates

TRUNK-2054

OpenMRS in-app Help is not helpful

TRUNK-2116

Address layout Portlet doesnot display locations

TRUNK-2117

Fix links above the banner

TRUNK-2225

headerMinimal does not include dwr js variable

TRUNK-2324

URL patterns for module servlet filter mappings should be relative to the context path

TRUNK-2298

Add includedVoided argument to EncounterService.getEncountersByVisit

TRUNK-2348

InvalidPropertyException: Invalid property 'xslt' of bean class org.openmrs.Form

 

TRUNK-2428

ConcurrentModificationException in ConceptNameSaveHandler

TRUNK-2432

ValidateUtil does not validate Concept

TRUNK-2675

View Concept page checks for an invalid privilege to display edit link

TRUNK-2702

The new search widgets spinner runs forever when input box gets cleared

TRUNK-2775

Should not create new runtime properties file if one was found

TRUNK-255

Change default logging levels of service methods.

TRUNK-203

Deleting Patients is possible without proper permissions

TRUNK-226

Voiding a patient should void patient's related data

TRUNK-292

Core should allow formentry modules to store view and resource metadata for a form

TRUNK-259

HL7 privileges should also be included under the Role Management screen

TRUNK-308

Concept Dictionary not saving properly

TRUNK-21

Changing workflow states on dashboard fails silently if date is blank or before date of start of current state

TRUNK-286

Add startDate and stopDate to Relationships

TRUNK-403

OrderService.getOrders does not correctly use ORDER_STATUS

TRUNK-275

Refactor standard drug regimens

TRUNK-219

changing task's schedule should reschedule the task

TRUNK-1627

Remove obs.dateStarted and obs.dateStopped

TRUNK-1687

Fix installer target in build.xml

TRUNK-1690

Add coding conventions to maven

TRUNK-1809

Module is not unloaded completely when dependent module is reloaded

TRUNK-1840

initialsetup: OpenMRS logo text is not correct

TRUNK-1874

CSRF Attack error occur during patient search with Tomcat 7

TRUNK-1938

The Civil Status field on the short patient form doesn't display or set the value

TRUNK-1963

Autocomplete option isn't chosen automatically unless clicked

TRUNK-1959

Hidden Identifier Fields When Creating a New Patient

TRUNK-1994

JUnit tests fail if run independent of maven

TRUNK-2011

Control character in cookie value, consider BASE64 encoding your value

TRUNK-2000

Admin page disappears if a bad module is uploaded

TRUNK-2108

User management page fails on searching with role and include disabled users

TRUNK-2026

save* and create* Before Advisor throws ClassCastException

TRUNK-2473

Javascript error on left and right arrow keys when creating new concept

TRUNK-2063

Fix fragile date comparison in ShortPatientFormValidatorTest

TRUNK-2129

When saving voided Person PersonSaveHandler should make sure the personVoidReason field is not empty, not the (patient) voidReason

TRUNK-2130

Add admin page for mapping concept reference terms and add a search widget

TRUNK-2132

Manage Observations privilege is missing from OpenMRS 1.6 Core Privileges

TRUNK-2323

Fix the logic in EventListeners.setGlobalPropertyListeners

TRUNK-2339

Tooltip on "Search Terms" on edit concept form is bad

TRUNK-2344

Upgrade Spring framework to latest stable release or atleast 3.0.3

TRUNK-2363

when try to add visit, it give me an error (tomcat-specific)

TRUNK-2392

ConceptService.getDrugs(String phrase) does not include retired results, but it should

TRUNK-2435

PatientSearch objects with filterClass belonging to a module aren't always properly decoded

TRUNK-2422

Look for runtime properties in current directory, environment variable, then home directory

TRUNK-2424

Unable to Save New Concept when OpenMRS is run in a JVM in Indonesia/French Locale

TRUNK-2446

Move Encounter types from core data to demo data

TRUNK-2459

getHydratedObject giving errors for person attributes that are char,int, and float options when put itrying to create a new Patient

TRUNK-2460

getHydratedObject giving class not found for person attributes that are org.openmrs.Patient.exitReason and org.openmrs.DrugOrder.discontinuedReason

TRUNK-2469

Conflicting ASM Library

TRUNK-2500

Synchronized Block in ModuleClassLoader Causing Dead Locks

TRUNK-2515

PersonService should extend OpenmrsService

TRUNK-2507

Tags use arbitrary build number

TRUNK-2508

Dojo references in openmrs.js cause javascript errors

TRUNK-2516

Add unique constraint to concept_source.hl7_code column

TRUNK-2521

Multiple Program Workflow States with same start date

TRUNK-2523

javascript error when trying to edit an existing program enrollment

TRUNK-2524

When you try to save changes to a program enrollment, they are saved, but the page appears stuck

TRUNK-2629

Voiding/unvoiding Person, Patient and User needs to be fixed

TRUNK-2673

ServiceContext.getRegisteredComponents has an unprotected log.debug

TRUNK-2713

Database with no demo data makes the first form readonly

TRUNK-2584

Fix purgeConcept and deleteConceptWord methods in HibernateConceptDao

TRUNK-285

Concept.getAnswers should include retired answers by default

TRUNK-2730

getConceptsByClass is broken

TRUNK-2561

Secret Question screen expects User to have a Person

TRUNK-2777

Database setup wizard should preserve contents of existing runtime properties file

TRUNK-2811

HL7 processor should not lose unbounded coded concepts answers in submitted forms

TRUNK-2816

Include Retired and Show Verbose labels should come after their checkboxes

TRUNK-12

Fix @Should tags in Generated Javadoc

TRUNK-32

ORUR01Handler.getLocation should accept name instead of just locationId

TRUNK-231