Releases: nedap/archie
0.3.4
0.3.3
- JSON and XML datetime serialization fixes and improvements
- replacing archetype_slots and use node in the Flattener now maintains the order of the attribute correctly
- fix a ConcurrentModificationException in the Flattener
- fix in operational template with reference to the original archetype in case of overlay replacement
- many rule evaluation fixes:
- the grammar no longer needs ';' to separate assertions, and no longer needs 'satisfies' after the for_all keyword
- support for string literals
- support for
/path/to/boolean = "String value"
, also with boolean values - the < and <= operators were <= and < respectively, now work correctly
- = and != now have precedence over the other comparison operators
- better path parsing, less ambiguity warnings
0.3.2
Version 0.3.1
An update that fixes some bugs, and contains some refactoring.
Backwards incompatibilities:
- some now obsolete constructors of the ReflectionConstraintImposer have been deleted
ADL serialization fixes, with thanks to markopi64:
- terminology id can now be created without a version
- Fix NPE when serializing templates with no original language
- Always serialize an empty line after definition section.
- Fix serialization of CTemporal and CTerminologyCode assumed values
- Add leading space before COrdered assumed value
paths:
- some of the attribute names in the generated paths in the RM model were wrong
- generated uniquely identifying paths now only contain numeric indices (/items instead of /items[3]) when required
queries:
- apath queries starting with // now work in the full xpath query mode
- the old query methods have been deprecated in favor of the full xpath query mode
JSON/XML serialization
- some attributes correctly named and some attributes that should not be there removed
model info lookup:
- Refactoring and tests added for ModelInfoLookup and ConstraintImposers
Version 0.3.0
This version introduces improvements to serialization and parsing of archetypes to both JSON and XML. Also more of the reference model is implemented - all of the models are present except for the EHR extract package.
- fixes to JSON parsing and serialization of RM and AOM models
- fixes to XML parsing and serialization of RM models
- implemented XML parsing and serialization for AOM models
- added the type of items in collections to the RMAttributeInfo
- added JacksonUtil to retrieve a Jackson ObjectMapper that works well with Archie
- documented how to parse/generate XML and JSON in the readme.
Backwards incompatible changes:
- some packages for RM models have been updated to the correct value
- some data types in the RM models have been updated to the correct values
- moved the JAXBUtil to a different package.
Library updates:
- updated to kryo 4.0.0 and jackson 2.7.5
Bugfixes:
- ADL Serialization: if unordered/ordered and unique occur at the same time, they should be joined with a ';', not ','
- made RM models abstract that should be abstract according to spec
- removed the parent attributes from the contents of the RM Model Info
Version 0.2.1
This release adds tests and fixes to the XML (de)serialization. Some changes were done that might in some cases cause API incompatibility with earlier versions.
It also adds an ObjectMapper for JSON (de)serialization, including tests. See com.nedap.archie.json.JacksonUtil::getObjectMapper
for how to obtain an object mapper that works well with both the Archie RM and AOM models.
Backwards incompatible changes:
- com.nedap.archie.util.JAXBUtil has been moved to com.nedap.archie.xml.JAXBUtil
- setMagnitude removed from DvQuantified, but implemented in all models extending DvQuantified where setMagnitude is applicable
Version 0.2.0
Version 0.2.0 brings some relatively minor, but backwards incompatible changes. This is needed to correct some not so flexible design choices that prevented further development and to fix a spelling mistake in the API. Also it contains bugfixes in rules evaluation and XML serialization, and two new RM Models.
Backwards-incompatible changes:
- rename the misspelled occurences to the correct occurrences
- Locatable::setName(String) renamed to setNameAsString. setName(DvText) still is the same. Needed for JSON deserialization to work correctly
- ModelInfoLookup now has two extra methods convertToConstraintObject and convertConstrainedPrimitiveToRMObject. This is used to convert between RM Objects and Archetype model objects. the CPrimitiveObject::isValidValue(Object) methods automatically do this, or alternatively you can pass a ModelInfoLookup instance as second parameter.
This solves a hack where TerminologyCode inherits from CodePhrase, as well as some other problems. This no longer is the case and conversions happen where needed. This is documented under profiles in the openEHR specification. It may cause changes in object validation logic in applications using Archie. - AssertionResult now includes pathsThatMustExist, pathsThatMustNotExist and setPathValues even if the assertion result succeeded.
This can be used in UIs: when checking rules first, you change the model. When checking again, you would not get the same results back. While the 'exists ...' means that this item should not be deletable, and you would not know. Now you do know, and can make the field/item/whatever non-deletable in interfaces for user input. This can change - The Event RM Model is now abstract, like it is in the specs
backwards-compatible changes:
Refactor
- setThisAsParent now works with collection (saves some code and mistakes)
Bugfixes:
- Rules: null results from relop operator did not have Boolean type set
- ForAll operator threw exception on null-condition value
- bugfix in codephrase parsing
- CTerminologyCode did not use correct fallback translation language in some cases
- Date/DateTime/Time XML (de)serialization now works correctly
- RM Model additions
- Folder and GenericEntry added to RM
Version 0.1.2
Thanks to @markopi64 and Marand, this release features an ADL serializer!
ADL Serializer:
- ADL serializer, from AOM to ADL
Rules evaluation:
- Rules evaluation: Null values from arithmetic operation incorrectly had type Boolean
- EvaluationResult: pathsThatMustExist, pathsThatMustNotExist and setPathValues moved to AssertionResult instead of EvaluationResult. This change is backwards compatible due to convenience methods.
Other:
- The deprecated RMArchetypeTreeWalker is now removed
Version 0.1.1
This release brings small improvements and bug fixes, and a much improved rule evaluation and flattener
- improved Rule Evaluation - still experimental and API changes will occur:
- bug fixes
- implies support
- better exists/not exists
- more tests
- better pointing at specific paths that caused rule violations
- paths that should exist or should not exist are included in EvaluationResult
- Parser now parses closed slots
- Flattener bug fixes
- Operational template creation improvements
- fixed differential path matching
- closed archetype slots are now removed
- occurrences 0 items are now removed
- impliemented Link model
- handle Simple APath-queries with archetype ids instead of node ids better
Version 0.1.0
After a lot of development, the first official release of Archie!