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

HibernateContextDAO.openSession/closeSession

TRUNK-221

Inconsistency between Encounter & Form Entry tabs on Patient Dashboard

TRUNK-224

Error when creating Patient Identifier with duplicate value

TRUNK-338

Validate patient name in create form with regular expression property

TRUNK-437

Add Required Class Element to Extension Points

TRUNK-220

When stopping/starting a module, its services are not added properly.

TRUNK-232

Module service onStartup and onShutdown methods never get called

TRUNK-235

User preferences for "show retired" and "include definitions" not being used to automatically check boxes

TRUNK-1611

Obs should not be allowed to have null values for all value fields (unless the obs has child obs)

TRUNK-1693

Drug Regimen portlet is slow to load

TRUNK-1803

Max size of serialized_object entry

TRUNK-1834

Cannot unretire a person attribute type

TRUNK-1848

Role.getName() does not work as you'd expect

TRUNK-1852

Install from Module Repository feature does not work under maven+jetty

TRUNK-1870

Exit Patient From Care does not work in vanilla installation

TRUNK-1883

the Obs method getValueAsString(Locale locale) needs improvement

TRUNK-2033

java.lang.ClassCastException: org.openmrs.Person cannot be cast to org.openmrs.Patient

TRUNK-2046

Error message produced when problem arises exiting a patient from care is not very helpful

TRUNK-2670

Encounter field tag should not display 'null' string for encounters with null location

TRUNK-2352

retiredReasonRow is null javascript error on concept drug form

TRUNK-2047

Fix issues with StartModule and context refresh

TRUNK-296

Openmrs constant PRIV_PURGE_PATIENT_PROGRAMS is set to Add Patient Programs

TRUNK-431

"Data Entry Statistics" visible to all users under Administration

TRUNK-31

IE Error: Can't move focus to the control

TRUNK-276

personField.tag breaks if pageContext contains a 'roles' variable

TRUNK-223

Viewing a concept as Anonymous user fails with Privilege required: View Forms

 

TRUNK-1620

Updated OpenMRS logo and colors in logo are not correct

TRUNK-1668

Module engine will execute sqldiff based on the String ordering

TRUNK-2005

Handle HttpSessionRequiredException in spring annotated controllers

TRUNK-1864

Make Concept required on concept drug form

TRUNK-1936

Please add more detail to Person::getPersonName() behavior

TRUNK-1946

Calling User.addName throws a NullPointerException if the user isn't attached to a Person yet

TRUNK-2020

NullPointerException when getting a concept name

TRUNK-2024

Relationship view portlet looks unlike Programs, Allergies and Problem List

TRUNK-2051

Chrome shows horizontal scrollbar on every page

TRUNK-2056

Add error message in ADTA28Handler if AssigningAuthority is missing

TRUNK-2199

Implement API method for retrieving PersonNames by PersonNameId

TRUNK-2430

User bar remains at top of screen and overlays content when scrolling on any page

TRUNK-2495

OpenmrsConstants.OPENMRS_VERSION is null when run with mvn jetty:run

TRUNK-2512

Default Cursor Placement on the Manage Users Screen

TRUNK-2568

You shouldn't be allowed to add an encounter to a visit if the encounter's datetime is not within the date range of the visit

TRUNK-335

Various problems with Dashboard Graphs

TRUNK-265

Complex obs images of type other than jpg aren't displayed right in the edit obs page

TRUNK-1638

When a concept is retired through the web interface, retired_by, date_retired and retire_reason are NULL in database concept table

TRUNK-1853

concept_answer.answer_drug does not have a foreign key to the drug table

TRUNK-1871

PatientServiceImpl.saveReasonForExit needs to provide a change message when updating the reason for exit obs

TRUNK-1989

Faulty ConceptNameTag.equals method

TRUNK-1912

Patient filter incompatibilities between OpenMRS 1.5 and 1.6

TRUNK-1923

PatientServiceImpl.saveCauseOfDeathObs needs to provide a change message when updating the cause of death obs

TRUNK-2018

Fix Initialization wizard redirects in case of ajax timeouts

TRUNK-1986

DataIntegrityViolationException when trying to delete a patient

TRUNK-1939

Default Cursor Placement on Find/Create Patient Screen

TRUNK-1971

Update pom to specify encoding for all plugins

TRUNK-1975

BinaryDataHandler leaves input stream open

TRUNK-1982

Update buildnumber Maven plugin in pom to non-modified released version

TRUNK-2001

Liquibase changeset preConditions missing "onFail" attribute

TRUNK-2043

Maven tests depend on machine locale

TRUNK-2066

Clean up favicon

TRUNK-2128

Retired locations should appear at the bottom of choice lists on the "Edit Patient" page

TRUNK-2156

Module tag files are copied into working copy of trunk when using jetty

TRUNK-2317

Logging Advice logs entire text of what is deserialized by serialization service

TRUNK-2293

Add All PropertyEditors to the global OpenmrsBindingInitializer

TRUNK-2313

nicer error handling when Patient Identifier Type regex too long

TRUNK-2315

search terms do not appear when viewing concept

TRUNK-2335

Javascript calendar picker not working on quick reports page

TRUNK-2353

Null pointer exception is occassionally thrown on concept drug form

TRUNK-2419

Default Button in Initialization Wizard is "Back" (again)

TRUNK-2458

Stop multiple users from running the installation wizard

TRUNK-2510

Pretty Error Message for: Patient is missing the following required identifier(s): HAS Dossier Number

TRUNK-2637

Source code rendering failed

TRUNK-2662

Logging level Global Property not used

TRUNK-1987

Make error more descriptive: ModuleException: A servlet mapping with name complexObsServlet already exists.

TRUNK-1985

DataIntegrityViolationException exception when trying to delete a form

TRUNK-2666

Table concept_map_type should have is_hidden column instead of isHidden

TRUNK-2795

InvalidPropertyException 'activeAttributes' when saving a visit

New Features

TRUNK-334

Consistent, well-document support for web service access to OpenMRS API

TRUNK-409

Improved mobile data collection

TRUNK-2297

Add privilege checks around retire and unretire inline forms on the concept form

TRUNK-2314

Add retire method for concept datatypes to concept service

TRUNK-2461

Fix DWRVisitService.findVisitsByPatient

TRUNK-2488

Add ability to specify changelog files when checking for unrun database changes

TRUNK-48

Add 'Visit' to data model

TRUNK-406

We need good data quality tools bundled and with similar workflow

TRUNK-2044

Add Provider Object

TRUNK-436

Add more information to System Information page

TRUNK-427

Change Patient Identifier Location to be optional

TRUNK-440

Enhance the management of stop words for concept name indexing

TRUNK-18

Add more @shoulds and junit test cases

TRUNK-26

Initialization / install wizard should have a default simple mode

TRUNK-1587

Allow modules to be aware of other modules without requiring them

TRUNK-47

Implementer not notified when modules don't restart alongside system restart

TRUNK-389

improve patient search support for multiple names

TRUNK-1798

Create a standalone all-in-one package with embedded server and db

TRUNK-2067

Improve location hierarchy "simple" widget

TRUNK-2138

Add Location Attributes

TRUNK-2320

Simple installer should let you choose whether or not to add demo data

TRUNK-2329

Add outcome as a property of Patient Program

TRUNK-2394

Can we use the search widget to "list all items" too?

TRUNK-2444

Port Arden changes from custom CHICA 1.5.x build to main codebase

TRUNK-2590

alert pop up required when removing relationship

TRUNK-2440

Add method for getting HL7InQueue by its uuid

TRUNK-2502

Add extension point to option.jsp page

TRUNK-262

Add type to global properties table

TRUNK-2008

Add a basic OpenmrsSerializer to core

TRUNK-2152

Add upgrade script to set a preferred identifier for patients without one

TRUNK-19

Require start and discontinue dates for orders

TRUNK-1654

getGroupMembers() returns voided obs

TRUNK-1878

When managing a user, display Created By and Changed By user and datetime

TRUNK-1956

Fix tests with @Ignore in ConceptServiceTest

TRUNK-2052

Add Missing help tool tips on the concept form when datatype is changed

TRUNK-2053

Hide preferred concept name radio button and label when a concept has only one name on the concept form

TRUNK-2211

Add voidPersonAddress method in PersonService

TRUNK-2294

Add uuid search to all PropertyEditors

TRUNK-2295

Voiding a visit should ask for confirmation, and show how many dependent object will be deleted

TRUNK-2471

Generic mechanism for validating field lengths

TRUNK-2485

The fieldGen for String should support an options the displays a textarea instead of a text field

TRUNK-2655

Register BinaryDataHandler and BinaryStream handler with ObsDAO

TRUNK-368

Define Address Formats Outside of Openmrs-Servlet

TRUNK-2447

Add Show Verbose to the new jquery search widgets

TRUNK-2141

Make the number of results to display per page and total hits returned in the jquery search widget to be configurable

TRUNK-2706

Cleanup code in the new search widgets

TRUNK-35

Add mergePatients method that takes in multiple patients

TRUNK-1602

Add checkstyle check for "new Date().getTime()"

TRUNK-1643

add ability to administer hl7_source table to administration page

TRUNK-1919

Add two-way hash method

TRUNK-1922

Allow database driver to be specified in a runtime property

TRUNK-1997

Create global property patientSearch.matchMode during install

TRUNK-2009

Implement TextHandler for Complex Obs

TRUNK-2109

use a global property for the app name in the welcome page

TRUNK-2131

Add 'Visit Attribute' to data model

TRUNK-2220

Date fields should also display the date picker when they receive focus

TRUNK-2283

Location.isInHierarchy is inefficient

TRUNK-2514

Contribution to messages_fr.properties for reporting

TRUNK-52

Need date_ changed and changed_by in person_address table

TRUNK-2585

When creating a new patient , the identifier row can be removed even if it is the only identifier row

TRUNK-2817

Set a default EncounterVisitHandler when upgrading to 1.9

TRUNK-2441

New Extension Point in headerfull.jsp for Feedback Module

TRUNK-1846

Support History of Person Addresses

TRUNK-1877

forEachRecord tag does not support reportObject

TRUNK-1909

Create new getConceptsByMapping API method that returned retired concept

TRUNK-1929

Adding Delete Field functionality

TRUNK-1943

Add a text attribute discontinuedReasonNonCoded (varchar 255) to Order object

TRUNK-2017

Add new objects and attributes to current order and drug order objects to support the Order Entry API

TRUNK-2035

Add hibernate mappings and liquibase changesets to support the Order Entry API

TRUNK-2142

Grouping encounters in dashboard by date

TRUNK-2201

Remove concept name rows for removed names on the concept form

TRUNK-2292

Add web.xml mapping for web services

TRUNK-1952

Add placeholder attribute to search boxes

TRUNK-1937

Add date_changed and changed_by to the person_relationship and patient_identifier tables