Wiki Spaces


Get Help from Others

Q&A: Ask OpenMRS
Discussion: OpenMRS Talk
Real-Time: IRC Chat | Slack


Page tree

Versions Compared


  • This line was added.
  • This line was removed.
  • Formatting was changed.


Get it at

Feedback Welcome!

As always, we look forward to getting your feedback about this release. Share your thoughts on

For example there are a couple of significant features that still need significant work before making it into the final release, such as:

serverOpenMRS JIRA

serverOpenMRS JIRA

Data Model Changes since 2.0.0


Issue Type Key Summary Status
New FeatureTRUNK-425Use Hibernate Search with Apache Lucene for Patient SearchesClosed
New FeatureTRUNK-1682Add maven module for checkstyleClosed
New FeatureTRUNK-1916Code coverage and Test report for OpenMRSClosed
New FeatureTRUNK-2004Ignore blank person addresses on the patient formsClosed
New FeatureTRUNK-3675Cache results from getSearchLocales()Closed
New FeatureTRUNK-4668When a module is started, all its dependent modules should be startedClosed
New FeatureTRUNK-4696SaveOrder method should throw more meaningful exceptionsIn Progress
New FeatureTRUNK-4928Remove code TODO about interface OpenmrsMetadata should support localized names and descriptionsClosed
New FeatureTRUNK-4930Remove a TODO in the code about AdministrationService.getPresentationLocales() return typeClosed
New FeatureTRUNK-4931Remove a TODO in code about notifying on global property name changesClosed
New FeatureTRUNK-4933Create pull request to remove TODO comments from core codeClosed
New FeatureTRUNK-4935Remove a TODO in code about refactoring ProgramWorkflowService.getPatientPrograms()Closed
New FeatureTRUNK-4936Add ConceptSource.uniqueIdClosed
New FeatureTRUNK-4941Add ModuleUtil.isOpenmrsVersionInVersions()Closed
New FeatureTRUNK-4947Add ConceptService.getConceptSourceByHL7CodeClosed
New FeatureTRUNK-4971Add caches programmaticallyClosed
New FeatureTRUNK-4975Making Family name as OptionalClosed
New FeatureTRUNK-4976Support obs.interpretation and obs.status, aligned with FHIRDesign
New FeatureTRUNK-4980Enable hibernate second level cache for org.openmrs.PrivilegeClosed
New FeatureTRUNK-5008Speed up and simplify Lucene concept searchIn Progress
New FeatureTRUNK-5012Ability to limit lucene patient search by identifier to a particular identifier typeClosed
New FeatureTRUNK-5077AbstractHandler#purgeComplexData(Obs) should return true when file is missing from diskCode Review (Post-Commit)
New FeatureTRUNK-4906Expanded cohort detailsIn Progress
StoryTRUNK-4943Failing to start the server due to CacheManager issueIn Progress
StoryTRUNK-5010In some cases it should be possible to merge patients even if both have active ordersClosed
BugTRUNK-2877Don't set password values in the UI in the installation wizardClosed
BugTRUNK-4018Initial Setup (installer) sits at 100% too long before actually finishingClosed
BugTRUNK-4093Forms should not be required in HL7 ORU^R01 messagesClosed
BugTRUNK-4539Object validation should enforce maximum length based on column length constraints in the DBClosed
BugTRUNK-4678ModuleActivatorTest shouldStopDependantModulesOnStopModule fails randomlyClosed
BugTRUNK-4720Encounter search will not match on id unless it contains digitsClosed
BugTRUNK-4776Incorrect Global Properties for CIELClosed
BugTRUNK-4813SQLException during the initial setup on MySQL 5.7Closed
BugTRUNK-4848NullPointerException at org.openmrs.web.WebUtil#normalizeLocale()Closed
BugTRUNK-4849NullPointerException at org.openmrs.util.Format#format(Date, Locale, Format.FORMAT_TYPE)Closed
BugTRUNK-4850Module.getExtensions() does not call Module.expandExtensionNames() appropriatelyClosed
BugTRUNK-4851Error in unit test of PatientServiceTest classClosed
BugTRUNK-4865Fix TODO in HL7ServiceImpl#resolveUserIdReopened
BugTRUNK-4867Do not allow person/patient to have death date before birth dateClosed
BugTRUNK-4869Should not be able to set birth or death dates later than present dateClosed
BugTRUNK-4875Add unit test for findPossibleValues method of Concept ClassClosed
BugTRUNK-4879NullPointerException at org.openmrs.api.customdatatype.datatype.ConceptDatatype#doGetTextSummaryClosed
BugTRUNK-4902HibernateOrderDAO exception uses wrong message codeClosed
BugTRUNK-4912BaseOpenmrsData creator, dateCreated, uuid should be not updatableClosed
BugTRUNK-4913Concept.hbm.xml not-null on optional changedByClosed
BugTRUNK-4915Concept validator should require datatype and conceptClass fieldsClosed
BugTRUNK-4918Remove unused classes and filesClosed
BugTRUNK-4922ConceptDAO filters concepts only if results were found by fullTextQueryClosed
BugTRUNK-4923Remove TODOs from code about addAttribute() needs validationClosed
BugTRUNK-4925Copy patient specific attributes on Patient() constructorClosed
BugTRUNK-4926Remove a TODO in code about PatientIdentifierType.toString() returning a more "debug-worth" stringClosed
BugTRUNK-4927Remove a TODO in code about config parameter from DatatypeService.getDatatypeClosed
BugTRUNK-4937Saving a visit should not cascade to encounters associated to itClosed
BugTRUNK-4938ConceptService.getConceptSourceByName privilege annotation wrongClosed
BugTRUNK-4939VisitValidator should ensure that the visit start date can't be before the birth date of the patientIn Progress
BugTRUNK-4940Obs validator validates for empty value in parent obs which is to be voidedClosed
BugTRUNK-4945Adding setmember to concept with retired set members either does not get added up or gets added in the wrong positionClosed
BugTRUNK-4949Patient Merge - HibernatePatientDAO - getDuplicatePatientsByAttributes - Not performing on large databaseClosed
BugTRUNK-4957Code cleanup: remove duplication in getApplicationDataDirectoryClosed
BugTRUNK-4959Clean Hibernate session after applying liquibase changesetsClosed
BugTRUNK-4965Encounter with complex obs throws NullPointerException on saveClosed
BugTRUNK-4967NPE in HibernateConceptDAO.isConceptNameDuplicateClosed
BugTRUNK-4968Non empty database should not fail when finishing database setupClosed
BugTRUNK-4970Obs retrieval from the encounter should maintain the same order in which it is addedClosed
BugTRUNK-4973Saving Existing Obs will not update formNamespaceAndPathClosed
BugTRUNK-4977ImageHandler.saveObs(Obs) to close outfileClosed
BugTRUNK-4978Another CacheManager with same name 'apiCache' already exists in the same VMClosed
BugTRUNK-4984TextHandler does not workClosed
BugTRUNK-5005ModuleFactoryTest ErrorClosed
BugTRUNK-5009Set HttpOnly for JSESSIONID cookieClosed
BugTRUNK-5016Weak password message is not translated while the exception is raisedClosed
BugTRUNK-5017Encounter.removeProvider fails if same provider has already been removed once beforeCode Review (Post-Commit)
BugTRUNK-5018defaultLocale property of User is not updated to Context when the user is logged inClosed
BugTRUNK-5019Error Scenario in Obs Save : New child Obs not saving when entire Obs group is updatedClosed
BugTRUNK-5021AllergenType includes some invalid optionsClosed
BugTRUNK-5024Accepting more characters for observation value of type TextClosed
BugTRUNK-5030Collection.isEmpty() should be used to test for emptinessClosed
BugTRUNK-5035Use Boolean.valueOf to test stringsClosed
BugTRUNK-5036HibernateConceptDAO.getConceptByName() method logs incorrect warning messageClosed
BugTRUNK-5038Replace StringBuffer with StringBuilderClosed
BugTRUNK-5044Use platform agnostic newlines in string formattingClosed
BugTRUNK-5056Use apache StringUtils in OrderSetServiceImplCode Review (Initial)
BugTRUNK-5058Extract private method in ObsServiceImpl.saveExistingObsClosed
BugTRUNK-5071Fix performance of get concepts by mappingNeeds Assessment
BugTRUNK-5075EncounterTest random failuresClosed
BugTRUNK-5078Remove velocity.log filesClosed
BugTRUNK-5079Fix HL7UtilTest failure on OpenJDK 7Closed
TaskTRUNK-3638Separate liquibase file into separate files per versionClosed
TaskTRUNK-4730Verify that all relevant domain objects have changed_by and date_changed fieldsClosed
TaskTRUNK-4855Adding more unit test for Person.javaClosed
TaskTRUNK-4856Adding more unit test for ConceptTest and PatientServiceTestClosed
TaskTRUNK-4863Add github pull request templateClosed
TaskTRUNK-4870Add Unit tests for ModuleUtil.expandJar(File, File, String, boolean)Closed
TaskTRUNK-4904Incorrect message code in Order ValidatorClosed
TaskTRUNK-4958Refactor OpenmrsUtil.copyFileClosed
TaskTRUNK-4962Remove outdated UI test codeClosed
TaskTRUNK-4974Create platform for SDKClosed
TaskTRUNK-5070Convert xml spaces into tabs for indentsClosed
TaskTRUNK-5080Reorganize checkstyleCode Review (Post-Commit)
TaskTRUNK-5081Update checkstyle maven pluginClosed
TaskTRUNK-5085Merge checkstyle rules with google'sCode Review (Post-Commit)
Sub-taskTRUNK-4989TRUNK-324 Remove commented code about Throw an exception if there is no location to fall back onClosed
Sub-taskTRUNK-4991TRUNK-324 Remove TODO comments about Check patient has at least one "sufficient" identifierClosed
Sub-taskTRUNK-4992TRUNK-324 Remove code comment about Add changedBy and DateChanged columns to table patient_identifier_typeClosed
Sub-taskTRUNK-4994TRUNK-324 Remove TODO comment and deprecate methodClosed
Sub-taskTRUNK-4997TRUNK-324 Remove code comment about Add a global property that enables different behavior hereClosed
Sub-taskTRUNK-4998TRUNK-324 Remove code comments about Fail if minOccurs is greater than 1Closed
Sub-taskTRUNK-4999TRUNK-324 Remove code TODO about Should take care of the case where the user is using removable mediaClosed
Sub-taskTRUNK-5001TRUNK-324 Remove code comment about Eliminate unnecessary methodsClosed
Sub-taskTRUNK-5002TRUNK-324 Remove commented code about Re-write the hashcode() methodClosed