Skip to content

Releases: openEHR/archie

0.5.5

18 Jan 12:55
Compare
Choose a tag to compare
  • When flattening an archetype, also set some fields of the child (such as description) that were previously missing

Bug and security fixes

13 Nov 08:22
Compare
Choose a tag to compare

This release has a security update and two bug fixes:

  • Upgrade jackson to fix security issue.
  • Fix a NullPointerException when rendering a validation message for a null value.
  • Allow null_flavour to be set from rules without validation errors.

0.5.3

21 Sep 06:55
Compare
Choose a tag to compare

In this release several features are added:

  • Add Dutch translations related to the RM Object Validator (#51)
  • Fixed DV_PROPORTION attribute types (#52)
  • Improved validation messages for CPrimitiveObject and CAttributeTuple (#53)
  • Windows build (#54)
  • Updated BmmGenericClass to support the removal of generic parameters (#56)

Some new @XmlRootElements in jaxb annotations

10 Sep 13:57
a9b0cb2
Compare
Choose a tag to compare

Very minor patch that adds @XmlRootElement for Element, ItemList and ItemTable, so they can be used with RMQueryContext.

New getUniquePath function

05 Sep 09:58
Compare
Choose a tag to compare

This release adds the utility functions getUniquePath, getUniquePathSegments and getAttributeValueFromRMObject.

These functions can be used to determine the unique path of any OpenEHR RM Pathable object, similar to the UniqueNodePathBuilder but without constructing a DOM.

Archetype diffing, RM Object validation

30 Aug 11:08
0638715
Compare
Choose a tag to compare

This release contains two major new features, one for use as an archetype modelling tool, and one for use in EHRs:

Archetype diffing

Archie already had a toolset for archetype modelling tools, including flattening and validation of archetypes, several serialisation options and a BMM implementation. The differentiator completes the set of archetype modelling tools, allowing for easy editing of specialised archetypes. This includes sibling order markers, adding the possibility to reorder nodes in specialised archetypes. This means Archie now contains all the major tools to develop a fully featured archetype editor, or any other kind of modelling tool.

RM Object validation

The new RMObjectValidator validates RM Objects against archetypes. This is a useful addition for implementing an EHR, to check user input against clinical models.

Bug fix update

24 Jul 12:41
d85d1d9
Compare
Choose a tag to compare

Small bug fixes:

  • Non functioning old pom.xml removed
  • dependencies updated to newer versions
  • bug in URI parsing in Odin/ADL fixed
  • licence field in resource_description should not be there, was removed
  • Fix NullpointerException in AuthoredArchetypeMetadataChecks
  • differential attribute and generated flag now set more correctly during parsing and flattening

The differential attribute of parsed ADL files is always set to true. This is perhaps not correct, but it's impossible to detect based on the content of ADL whether the archetype is differential or flat. A discussion about changing this in the OpenEHR spec has been started. You'll have to do this yourself for now if you ever parse flat ADL archetypes.
When parsing operational templates, the flag is correctly set to false, as well as when flattening

Many bug fixes related to archetype authoring

11 Jun 09:08
6bd78a8
Compare
Choose a tag to compare

#Note: due to sonatype/maven central having problems, it will take a while before this is available

This release contains many bug fixes and some new features. Both the bug fixes and the features are based on better support for archetype authoring tools.

This release contains some JSON serialization fixes that can cause backwards compatibility issues. If so, you can add the removed fields back with Jackson Mixins relatively easily.

Features:

  • adl terminology fixer, that adds missing term codes from the comments in ADL source. Useful for manual archetype authoring or editing
  • add methods to remove a CAttribute from CComplexObject
  • add methods to add and update CAttributeTuple from/to CComplexObject
  • add id/value/valueset generating methods
  • add basic validation for tuples: number of members and number of primitive tuples must be equal, tuple attributes must exist
  • implement a BMM-based Constraint Imposer
  • implement path lookup that optionally also matches specialized nodes

Improvements

  • easier to read ADLChecker output
  • remove json properties that should not have been serialized (Review this!! at least allUsedCodes and CInteger.getConstraintValues have to go, rest is a bit optional. Implementations can add these properties in their own implementations again with Jackson Mixins and @JsonIgnore(false) or @JsonProperty
    • Archetype:
      • specializationDepth()
      • allUsedCodes()
    • ArchetypeConstraint:
      • isRoot, isLeaf
    • CAttribute
      • isSecondOrderConstrained, getAggregateOccurrencesLowerSum, getMinimumChildCount
    • CObject
      • isRequired, isProhibited
  • CInteger
    • getConstraintValues
  • Cardinality
    -isBag, isList, isSet
  • MultiplicityInterval
    • isOpen, isOptional, isMandatory, isProhibited, upperIsOne
  • refactored ReferenceModelAccess to be slightly more readable
  • when flattening a template, also flatten the template overlays
  • allow to invalidate a single archetype in the InMemoryFullArchetypeRepository
  • upgrades ANTLR to 4.7.1, input now UTF8 by default on all platforms including windows
  • store line numbers in the ANTLR parser errors.

Bug fixes

  • fixes for json (de)serialization errors
  • populate the descendants field of the BmmClass - it was empty before
  • implement findAllDescendants in BmmClass
  • if phase 0 archetype validation fail, stop running other validations because otherwise exceptions will be thrown by the next validations
  • do not serialize empty constraints as matches {*}. This is deprecated and the parser does not accept it. IOnstead just do not output anything
  • fix parsing of escaped " and -characters in ODIN/ADL.
  • fix serializing empty rules to ADL
  • don't output rules in ADL for template overlays
  • fix CComplexObjectProxy replacement to correctly work with specialized nodes

0.4.4

25 Apr 07:30
Compare
Choose a tag to compare
  • The archetype validator Incorrectly did not flatten or continue validating when warnings were present. This has been corrected.
  • ModelInfoLookup.pathHasBeenUpdated now must return a Map which contains instructions on how to update the reference model object - for each path it must contain which object must be set.
    This is used in Rule Evaluation in the OpenEHR RM to set both the symbol and the value if a rule specified the symbol should match a specific symbol. This makes it easier to correctly implement rule evaluation in a user interface.

0.4.3

09 Mar 13:23
80d57fe
Compare
Choose a tag to compare

This version contains a bug fix for showing the correct text/description for c_archetype_roots in operational templates