Have you implemented OpenMRS? Please participate in the Implementation Site Survey. If you already have, thank you!
Child pages
  • OpenMRS-core 2.1.0-beta Release Notes
Skip to end of metadata
Go to start of metadata

Release Date: Friday, April 7, 2017

This version of OpenMRS Core is a pre-release and is not ready for production use. Its purpose is to give users an idea of what to expect in the upcoming release and help discover any possible obscure new bugs.

What's New

Some interesting features in the 2.1 line will be:

  • Support for status (e.g. for recording preliminary lab results) and interpretation (e.g. for marking a test result as abnormal)
  • Enhancements to the data model for Cohorts, to add a start date and end date
  • Faster patient searches (using Lucene under the hood)
  • Loosening restrictions on merging patients who have orders
  • Simple approach for developers to add caches programmatically

We expect that 2.1.x will be the first non-LTS release, where we only release openmrs-core to maven for developers, and don't do a full OpenMRS Platform release. Read more about this means in the (future) release notes final release.

Download

Get it at https://sourceforge.net/projects/openmrs/files/prereleases/OpenMRS_Core_2.1.0_Beta/

Feedback Welcome!

As always, we look forward to getting your feedback about this release. Share your thoughts on http://talk.openmrs.org.

We would especially like review of these features:

TRUNK-4906 - Getting issue details... STATUS

TRUNK-4976 - Getting issue details... STATUS

TRUNK-4696 - Getting issue details... STATUS

Data Model Changes since 2.0.0

  • Add unique_id column to concept_reference_source
  • Dropping foreign key constraint member_patient
  • Dropping foreign key constraint parent_cohort
  • Dropping primary key for cohort_member
  • Adding column cohort_member.cohort_member_id
  • Updating cohort member ids
  • Adding primary key to cohort_member.cohort_member_id
  • Adding auto increment property to cohort_member.cohort_member_id
  • Adding column cohort_member.start_date
  • Updating cohort_start_date with value cohort.date_created
  • Adding column cohort_member.end_date
  • Adding column cohort_member.creator
  • Updating cohort_member.creator value
  • Adding foreign key constraint to cohort_member.creator
  • Adding column cohort_member.date_created
  • Updating cohort_member.date_created with value cohort.date_created
  • Adding column cohort_member.voided
  • Adding defaultValue for cohort_member.voided
  • Adding column cohort_member.voided_by
  • Adding column cohort_member.date_voided
  • Adding column cohort_member.void_reason
  • Adding column cohort_member.uuid
  • Generating UUIDs for all rows in cohort_member table via built in uuid function.
  • Adding unique constraint to cohort_member.uuid
  • Adding foreign key constraint to cohort_member.cohort_id
  • Adding foreign key constraint to cohort_member.patient_id
  • Dropping defaultValue for cohort_member.cohort_id
  • Dropping defaultValue for cohort_member.patient_id
  • Adding "date_changed" column to concept_class table
  • Adding "changed_by" column to concept_class table
  • Adding "date_changed" column to concept_reference_source table
  • Adding "changed_by" column to concept_reference_source table
  • Adding "date_changed" column to concept_name table
  • Adding "changed_by" column to concept_name table
  • Adding "date_changed" column to concept_name_tag table
  • Adding "changed_by" column to concept_name_tag table
  • Adding "date_changed" column to form_resource table
  • Adding "changed_by" column to form_resource table
  • Adding "date_changed" column to global_property table
  • Adding "changed_by" column to global_property table
  • Adding "date_changed" column to patient_identifier_type table
  • Adding "changed_by" column to patient_identifier_type table
  • Adding "date_changed" column to relationship_type table
  • Adding "changed_by" column to relationship_type table
  • Adding "status" column to obs table

  • Adding "interpretation" column to obs table

  • Modify column length of obs.value_complex to 1000 from 255

Ticket Statuses at the time of the Beta release

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