All notable changes to this project will be documented in this file.
The format is based on Keep a Changelog, and this project adheres to Semantic Versioning.
- Add Flyway callback to check
IntervalStyle
configuration parameter (#720). - Validate RM types used in OPT template (#739).
- Upgrade to Archie 1.0.4 (#719).
- Improve errors and exceptions logging (#745).
- Upgrade openEHR_SDK to version 1.17.0 see https://github.com/ehrbase/openEHR_SDK/blob/develop/CHANGELOG.md
- Fixed SQL encoding whenever template is unresolved (#723)
- Modified handling of conflicting identified parties (#710)
- Fixes wrong status code returned by EHRbase while creating FLAT composition (#726)
- Fix NullPointerException while deleting unknown (or already deleted) composition parameter (#722).
- Fix querying other_participations (#707)
- removed log4j (see ehrbase#711)
- updated log4j from 1.15.0 to 1.60.0
- Fix deployment issue with Flyway migration V62__add_entry_history_missing_columns.sql
- Migrated to Archie openEHR library version > 1.0.0, incl. its new strict invariant checks ( see: ehrbase#570)
- Support Structured format on ecis composition endpoints ( see ehrbase#648)
- Add new configuration options to customise user/admin role names when using OAuth authentication (see ehrbase#667)
- Add configuration properties to customize CORS configuration ( see ehrbase#697)
- Missing details in response returned by Directory REST API ( see: ehrbase#605)
- Add foreign key between
folder
andehr
tables ( see: ehrbase#616) - Improves 'Admin Delete EHR' performance (see ehrbase#626)
- many fixes to the flat support (see ehrbase#627)
- Fix conversion between
DvDateTime
andTimestamp
( see ehrbase#634) - Fix FLAT format does not return the archetype data if the archetype_id contains the letters "and"
- Datetime inconsistent handling (see ehrbase#649)
- Fix issue using DV_DATE_TIME without time-zone (see ehrbase#658)
- update lg4j version (see ehrbase#702)
- Github Action worklows to deploy multiarch images (
latest
,next
,version-tag
) to Docker Hub ( see: ehrbase#578)
- Removes SELECT statement when PartyProxy object is empty ( see: ehrbase#581)
- Provide configuration properties for configuring context paths of openEHR REST API and Admin API ( see: ehrbase#585)
Accept
header with multiple MIME types causes an IllegalArgumentException ( see: ehrbase#583)- Composition version Uid schema in EhrScape API (see: ehrbase#520)
- Terminology Service calls from within AQL queries does not work ( see: ehrbase#572)
0.17.1 (beta)
- Default handling for audit metadata (see: ehrbase#552)
- Updated the SDK dependency to the latest version ( see: ehrbase#565)
- Refactored versioned object (interfaces) on service and access layer ( see: ehrbase#552)
- Assigner in DV_IDENTIFIER not selected in aql (see: ehrbase#561)
- ehr_status.uuid not selects via aql (see: ehrbase#561)
- DB migration file conflict (see: ehrbase#564)
- Ddmin delete of multiple status versions (see: ehrbase#552)
0.17.0 (beta)
- Implement validation of compositions using external FHIR TS ( see: ehrbase#493)
- Support for Attribute-based Access Control (see: ehrbase#499)
- Support AQL array resolution in EHR_STATUS::other_details
- Update paths for Admin API, Management API and
/status
endpoint ( see: ehrbase#541)
- Folder handling (update, delete and missing audits) ( see: ehrbase#529)
- Fixed and refactored handling of audits and versioned objects ( see: ehrbase#552)
0.16.0 (beta)
- Endpoints and integration tests for VERSIONED_COMPOSITION ( see: ehrbase#448)
- ATNA Logging for composition endpoints, querying and operations on the EHR object ( see: ehrbase#452)
- EHRbase Release Checklist (see: ehrbase#451)
- CACHE_ENABLED ENV to Dockerfile (see: ehrbase#467)
- Updated the SDK dependency to the latest version ( see: ehrbase#463)
- Force retrieval of operational template from DB (see: ehrbase#468)
- WHERE field construct (see: ehrbase#439)
- Inconsistent behavior in SMICS Virology Query (see: ehrbase#456)
- Bunch of AQL issues (see: ehrbase#461)
- AQL: Error in processing OR in Contains clause (see: ehrbase#462)
- Cache issue on Startup (see: ehrbase#465)
0.15.0 (beta)
- Adds Admin API endpoints: Del EHR, Del Composition and Del Contribution ( see: ehrbase#344)
- Add ATNA logging configuration capabilities (see ehrbase#355)
- Support for EHR_STATUS and (partial) FOLDER version objects in contributions ( see: ehrbase#372)
- Add status endpoint to retrieve version information on running EHRbase instance and for heartbeat checks. ( see: ehrbase#393)
- Add /status/info endpoint using actuator for basic info on running app ( see: ehrbase#400)
- Add /status/health endpoint for kubernetes liveness and readiness probes ( see: ehrbase#400)
- Add /status/env endpoint for environment information ( see: ehrbase#400)
- Add /status/metrics endpoint for detailed metrics on specific topics (db connection, http requests, etc.) ( see: ehrbase#400)
- Add /status/prometheus endpoint for prometheus metrics ( see: ehrbase#400)
- Endpoints and integration tests for VERISONED_EHR_STATUS ( see: ehrbase#415)
- support AQL querying on full EHR (f.e. SELECT e) (see )
- Update Dockerfile for usage with metrics and status ( see ehrbase#408)
- Refactored DB handling of contributions, removed misleading
CONTIRUBITON_HISTORY
table ( see ehrbase#416)
0.14.0 (beta)
- Add admin API endpoint stubs (see: ehrbase#280)
- Add support for FeederAudit in Locatable. Refactored Composition Serializer for DB encoding ( see https://github.com/ehrbase/ehrbase/tree/feature/311_feeder_audit , https://github.com/ehrbase/openEHR_SDK/tree/feature/311_feeder_audit)
- Change the strategy to resolve CONTAINS in AQL (ehrbase#276)
- Add admin template API functionality (see: ehrbase#301)
- Persist caches to java.io.tmpdir (see: ehrbase#308)
- Precalculate containment tree from OPT template (see ehrbase#312)
- Detection of duplicate directories on EHR on POST
- Using ObjectVersionId for DIRECTORY Controller and Service Layers ( see: ehrbase#297)
- Added Junit5 support via spring-boot-starter-test (ehrbase#298)
- Enable cartesian products on embedded arrays in JSONB ( see ehrbase#309)
- Use new OPT-Parser from sdk (see ehrbase#314)
- Add CORS config to enable clients to detect auth method ( see ehrbase#354).
- Detect duplicates on POST Directory (see: ehrbase#281)
- Support context-less composition (see: ehrbase#288)
- Fixed missing AQL level of parenthesis when using NOT in WHERE clause ( see ehrbase#293)
- Allow duplicated paths in AQL resultsets (see: ehrbase#263)
- Transaction timestamps are now truncated to ms (see: ehrbase#299)
- Change response code on not found directory to 412 if not found ( see: ehrbase#304)
0.13.0 (beta)
- Added support for various functions in AQL (aggregation, statistical, string etc.) ( see: ehrbase#223)
- PreconditionFailed error response contains proper ETag and Location headers ( see: ehrbase#183)
- Update of AQL-Query test suite (see: ehrbase#179)
- force a default timezone if not present for context/start_time and context/end_time if specified (ehrbase#215)
- Representation of version uid of EHR_STATUS (see: ehrbase#180)
- Refactored support of PartyProxy and ObjectId in both CRUD and AQL operations ( see ehrbase#248)
- fix support of mandatory attributes in ENTRY specialization including rm_version ( see ehrbase#247)
- Directory IDs from input path or If-Match header must now be in version_uid format ( see ehrbase#183)
- Folder IDs inside body are now parsed correctly (see: ehrbase#183)
- PreconditionFailed error response contains proper ETag and Location headers ( see: ehrbase#183)
- Added validation checking for other_details and ehr_status. ( see: ehrbase#207)
- Supports archetype_node_id and name for EHR_STATUS ( see: ehrbase#207)
- fixes bad canonical encoding for observation/data/origin ( see: ehrbase#213)
- POST without accept header for ehr, composition and contribution endpoints ( see: ehrbase#199)
0.12.0 (alpha)
- Basic Authentication as opt-in (see: ehrbase#200)
- Allow Templates can now be overwritten via spring configuration ( see: ehrbase#194)
- Contribution endpoint checks for some invalid input combinations ( see: ehrbase#202)
- Fixes response code on /ehr PUT with invalid ID ( see: https://github.com/ehrbase/project_management/issues/163)
- Fixes STATUS w/ empty subject bug (see: ehrbase#196)
- Now querying on composition category returns the correct result (composition/category...)
- Fixes storage of party self inside compositions (see: ehrbase#195)
- Added support of AQL query in the form of c/composer ( see: ehrbase#184)
- Java error with UTF-8 encoding resolved (see: ehrbase#173)
- AQL refactoring and fixes to support correct canonical json representation ( see: ehrbase#201)
- fix terminal value test for non DataValue 'value' attribute ( see: ehrbase#189)
0.11.0 (alpha)
Note: Due to the transition to this changelog the following list is not complete. Starting with the next release this file will provide a proper overview.
- Docker and docker-compose support for both application and database
- Get folder with version_at_time parameter
- Get Folder with path parameter
- FasterXML Jackson version raised to 2.10.2
- Java version raised from 8 to 11
- Jooq version raised to 3.12.3
- Spring Boot raised to version 2
- Response code when composition is logically deleted ( see: ehrbase#144)
- Response and
PREFER
header handling of/ehr
endpoints ( see: ehrbase#165) - Deserialization of EhrStatus attributes is_modifiable and is_queryable are defaulting to
true
now ( see: ehrbase#158) - Updating of composition with invalid template (e.g. completely different template than the previous version) ( see: ehrbase#166)
- Folder names are checked for duplicates (see: ehrbase#168)
- AQL parser threw an unspecific exception when an alias was used in a WHERE clause (ehrbase#149)
- Improved exception handling in composition validation ( see: ehrbase#147)
- Improved Reference Model validation (see: ehrbase#147)
- Error when reading a composition that has a provider name set( see: ehrbase#143)
- Allow content to be null inside a composition (see: ehrbase#129)
- Fixed deletion of compositions through a contribution ( see: ehrbase#128)
- Start time of a composition was not properly updated ( see: ehrbase#137)
- Fixed validation of null values on participations ( see: ehrbase#132)
- Order by in AQL did not work properly (see: ehrbase#112)
- Order of variables in AQL result was not preserved ( see: ehrbase#103)
- Validation of compositions for unsupported language( see: ehrbase#107)
- Duplicated ehr attributes in query due to cartesian product ( see: ehrbase#106)
- Retrieve of EHR_STATUS gave Null Pointer Exception for non-existing EHRs ( see: ehrbase#136)
- Correct resolution of ehr/system_id in AQL (see: ehrbase#102)
- Detection of duplicate aliases in aql select (see: ehrbase#98)
0.10.0 (alpha)
- openEHR REST API DIRECTORY Endpoints
- openEHR REST API EHR_STATUS Endpoints (including other_details)
- Spring Transactions: EHRbase now ensures complete rollback if part of a transaction fails.
- Improved Template storage: openEHR Templates are stored inside the postgres database instead of the file system ( including handling of duplicates)
- AQL queries with partial paths return data in canonical json format (including full compositions)
- Multimedia data can be correctly stored and retrieved
- Spring configuration allows setting the System ID
- Validation of openEHR Terminology (openEHR terminology codes are tested against an internal terminology service)
- Order of columns in AQL result sets are now reliably preserved (ehrbase#37)
- Some projection issues for EHR attributes have been resolved in AQL
- Fixed error regarding DISTINCT operator in AQL (ehrbase#50)
- Fixed null pointer exceptions that could occur in persistent compositions
0.9.0 (pre-alpha)
- openEHR REST API DIRECTORY Endpoints
- openEHR REST API EHR_STATUS Endpoints (including other_details)
- Spring Transactions: EHRbase now ensures complete rollback if part of a transaction fails.
- Improved Template storage: openEHR Templates are stored inside the postgres database instead of the file system ( including handling of duplicates)
- AQL queries with partial paths return data in canonical json format (including full compositions)
- Multimedia data can be correctly stored and retrieved
- Spring configuration allows setting the System ID
- Validation of openEHR Terminology (openEHR terminology codes are tested against an internal terminology service)
- Order of columns in AQL result sets are now reliably preserved (ehrbase#37)
- Some projection issues for EHR attributes have been resolved in AQL
- Fixed error regarding DISTINCT operator in AQL (ehrbase#50)
- Fixed null pointer exceptions that could occur in persistent compositions