Releases: openEHR/archie
0.12.1
0.12.0-2
0.12.0
Many small bug fixes and improvements in the ADL 1.4 converter, archetype validation, the AOM and the ADL serialization:
- Fix a bug in converting C_CODE_PHRASE constraints in the ADL 1.4 converter
- fix the base class of CDefinedObject.defaultValue to OpenEHRBase, so it can actually contain RM objects
- C_BOOLEAN.cConformsTo can now be constrained to exactly the same constrained as the parent without errors
- C_STRING with a regexp can now be specialized to a matching fixed value, this validates
- The ADL serializer can be provided with the flat parent of the archetype, adding comments for specialized nodes, improving readability of specialized archetypes dramatically
- The AOM JSON bindings can now also parse MultiplicityIntervals as a string in the form
<number>..<number>
or<number>..*
- The ADL 1.4 converter can now be given a repository of ADL 2 archetypes to use as part of the conversion and validation
- The Node ID uniqeness Validation WOUC failed in some cases in specialized archetypes, and has been made slightly less strict, now only checking newly added node ids at the specialization level of the archetype
- regular C_ATTRIBUTEs can now be specialized by C_ATTRIBUTE_TUPLEs. The validation checks if every constraint in the tuple validates against the parent
- unconstrainted intervals ('*') are now removed in the ADL 1.4 converter
- preparations for parsing the internal Better care template format in the ADL14 parser and flattener
Breaking changes
- The ErrorType for a template overlay validation has been changed to ErrorType.OVERLAY_VALIDATION_FAILED from ErrorType.OTHER
- create specialized value set ids in the ADL 1.4 converter when possible
Bug fixes and function implementations
Feature
- added implementations for the sum, mean, floor and ceil functions in the expression language
Bugfixes
- a path query for an archetype path with a numerical index that does not exist threw an IndexOutOfBoundsException instead of returning null
- converting an ADL 1.4 archetype with a conversion log resulted in value set without term code for the value set itself
- function evaluation sometimes accepted unequal length lists in arguments
- a fix in the Dutch translation of the RM validation.
Jackson 2.10, configurable flattener
Functional changes
The flattener and operational template creator have been changed so that it can now be configured - each step can be enabled or disabled.
Breaking changes
- Jackson has been upgraded to 2.10.0. This may cause compatibility problems with your applications, but they should be relatively easy to fix. Be sure to test your JSON parsing and generating. Archie version 0.11.0 will NOT work with jackson 2.9.x and below!
Minor improvements
- Performance improvements for parsing archetype ids by precompiling the regexp
- A debug System.out.println-statement in the RMPathQuery has been removed
This release also contains a (minor) change in the API:
- An IOException in ADLParser and ADL14Parser that never was thrown has been removed
Versioning support in repository, better validation, bugfixes, dependencies
The in memory archetype repository in Archie now has versioning support. This allows for retrieving the latest version of an archetype with only a major version, a major + a minor version or no version at all. Just supply the partial archetype id.
Validations have been added so that intervals now have basic validations, mainly regarding upper >= lower. This includes cardinality intervals.
Intervals of Periods can now correctly compare intervals expressed in months or years. Note that when comparing different time units in Intervals, there may be some trouble, since not every month is the same duration, so be cautious here.
Lastly, many of the dependencies have been updated to more recent versions.
ADL 1.4 to 2 conversion improvements and more
With the help of Sebastian Garde, the conversion from ADL 1.4 to ADL 2 has been integrated into the Ocean Informatics Clinical Knowledge manager. As part of that, the converter was tested with many more archetypes. This resulted in a number of fixes to the conversion process. They are released in this version, 0.9.0.
In addition, some smaller changes have been applied.
Breaking changes
- The DefaultMultiplicityRemover has been renamed to DefaultRmStructureRemover. It's constructor now has a second parameter, which indicated whether to remove empty attributes or not
Bug fixes
- The ADL 1.4 to ADL 2 converter has had many bug fixes applied
- The ADL 2 and ODIN parser now parses more types URIs, including URNs and more terminology constraints
- Archetype ids with a '_' at the end of the concept id are now parsed
- The rules flattener for operational templates now adds a
for all
statement for all included archetype slots instead of just prefixing the paths
Other changes
- The date and time parsing and serialization code has been simplified
Rerelease of 0.8.1 due to error in sonatype
Due to problems with sonatype/maven central, 0.8.1 is now a failed release. Version 0.8.2 fixes this, without any code changes.
Bug in timezone serialization
The timezone for a DV_DATE_TIME was serialized three times instead of just once, in three different formats. This has been fixed.
The URL in the pom.xml in maven now points to the correct openehr repository, instead of the nedap one.