Change Log * 5.0.10 Stricter parsing checks for JSON and XML Resources Support CTV3 implicit map Improve handling of inactive rows in the MDRS when building SNOMED indexes Fixed problem where, in rare cases, inactive concepts would have missing display text Certain resource validation errors that weren't previously being reported are now being reported Fixed bug where deleted ValueSets could cause $expand to fail in rare cases * 5.0.9 Added support for Edition-specific language-reference-sets in config Added explicit handling of OutOfMemory exceptions to allow Ontoserver to shutdown Added optimisations for ECL-based ValueSets with expensive match criteria Fixed bug handling malformed ValueSets with incompletely specified filters Fixed recall performance in "automap" algorithms associated with automated spelling correction Fixed bug in scoring algorithm that was failing to weight the score of preferred terms properly Check codes are valid during $subsumes * 5.0.8 Document minimum Java heap size and likely need to set it explicitly in docker-compose configuration. Fixed a bug where ValueSet.compose.inactive=false was being ignored. * 5.0.7 SNOMED Index version patch to 1.6.2 * Explicitly index SNOMED acronyms / abbreviations for better search behaviour Support "inactive" property for FHIR Code Systems (already supported for SNOMED CT) Use "inactive" property in ValueSet expansions to indicate whether an included code is inactive in the underlying code system. Previously an Ontoserver-specific extension was used for this. It is now deprecated and is scheduled for removal in the 5.1.0 release. Support SNOMED CT relationship properties as per http://hl7.org/fhir/snomedct.html#props New buildLocal parameter for indexCodeSystem to avoid syndicated binary indexes Binary index versions are now included in the Ontoserver CapabilityStatement Avoid file copy when syndicating local content Improved ranking of searches involving FSN semantic tag matches * 5.0.6 Fixed a bug where inactive map entries were appearing in SNOMED implicit concept maps Improved error reporting for malformed ValueSet filters Improved metadata for LOINC CodeSystem and implicit ValueSets * 5.0.5 Fixed a bug in syndication where downstream syndication entries were using an incorrectly named attribute for SHA256 checksums on download links ('sha256' instead of 'sha256Hash'). Links will now have the correct attribute. When syndicating from an upstream feed, Ontoserver will now be stricter about the presence of a SHA256 checksum attribute (either 'sha256Hash' or the deprecated 'sha256') on links. (If necessary, this can be disabled using the atom.syndication.disableChecksums configuration property) Improved cleanup of files when an index is deleted * 5.0.4 Support Concrete Domains in ECL and use flatter DL representation of AMT Concrete Domains information ready for integration with SNOMED International drug model changes. Fixed performance problem with batch requests. Minor improvements to error reporting for $subsumes requests, and LOINC implicit ValueSets * 5.0.3 Added support for version ordering. Resources whose versions are uniformly formatted using semantic versioning (x.y.z) or date versions (yyyymmdd) can now share a url, and will be resolved to the latest version if no specific version is provided. Certain ECL errors no longer result in a 500 series error, instead producing a 422 Fix syndication bug when local binary index exists as well as an upstream binary index of the same version * 5.0.2 Improved performance of batch operations by allowing concurrent execution Added JSON-style logging for api/syndication methods Fixed bug with batch operations when Ontoserver RBAC security is enabled Updated NCTS profiles for ValueSet, CodeSystem and ConceptMap Fixed bug for $subsumes requests that use codings rather than codes $validate requests using the unsupported profile parameter will now result in 400-code responses. * 5.0.1 Instance-level $translate no longer returns an empty 'source' parameter $expand on an ambiguous ValueSet url will now result in a 422 error, not a 500 error SNOMED CT ECL parser now correctly recognizes 'ChildrenOf' Fixed bug in SNOMED CT indexer that affected some ECL cardinality constraints inside role groups Fixed bug in ECL compiler that affected cardinality constraints on grouped relationships Fixed some problems arising when publishing older binary indexes for syndication Fixed a bug related to indexing extra columns in RF2 refsets, which affected the SNOMED International release AuditEvent reporting is now turned off by default. Consult config documentation to enable and configure endpoint/s. Some improvements to robustness of syndication. * 5.0.0 Migrate to STU3 version of FHIR Support inactive = true/false filter for SNOMED CT Http/2 support added Added support for explicit properties and filters on FHIR code systems Added support for implicit filters on FHIR code systems: concept =/is-a/is-not-a/in/not-in, parent =/in/not-in Fixed a bug where filters longer than 20 characters would return no matches CodeSystems created/updated with content=not-present will now not list concepts in a read (concepts are still accessible through expand, lookup, etc) Added support for lang.X values in the property parameter of $lookup requests Updated properties and filters for LOINC CodeSystems including support for CLASS, CONSUMER_NAME, CLASSTYPE, ORDER_OBS and DOCUMENT_SECTION Added support for the $subsumes operation (including within batch requests) for testing subsumption/equivalence between concepts within a code system The 'descendent-of' filter is now available for the 'concept' property in both SNOMED and FHIR CodeSystems Added support for the includeDesignations and includeDefinition parameters on ValueSet $expand Support boosting in ValueSets via http://ontoserver.csiro.au/profiles/boost extension on ValueSet.compose.include Updated properties and filters for SNOMED CT CodeSystems including support for sufficientlyDefined, effectiveTime, moduleId, normalForm, and normalFormTerse Support multiple Syndication feed sources Support implicit concept maps for SNOMED CT Historical Associations reference sets Support implicit concept maps URI http://ontoserver.csiro.au/profiles/automapstrategy/default as default Automap strategy Support the logging of code selection, through the creation of AuditEvent resources $validate-code requests for SNOMED codes now respect concept permanence Support for the _tag search parameter on all resources Support for the source-uri, target-uri, source-system, target-system, source-code and target-code search parameters on ConceptMap * 4.1.18 Fix problem with syndicating newer binary indexes (from Ontoserver >= 5.0.0) * 4.1.17 Fix long standing bug related to OWL generation from RF2 (SNOMED Binary Index version incremented to 1.3.4) * 4.1.16 Fix bug related to SNOMED codes without descriptions * 4.1.15 Fix bug in CodeSystem/$lookup Fix bug in SNOMED indexes where non-defining relationships were being treated as defining (SNOMED Binary Index version incremented to 1.3.3) * 4.1.14 Bumped SNOMED Binary Index version to 1.3.2 for following five fixes/improvements: 1. Fix bug where | symbols in RF2 files would confuse the CSV parser during an addRf2 call 2. Fix bug where multiple language reference sets referring to the same description id would result in multiple designations 3. Fix minor bug where "fall-through semantics" for language reference sets was not being applied. Note, these semantics are under-specified in the SNOMED CT TIG. 4. Make description IDs searchable terms 5. Ensure that FSNs are always acceptable synonyms * 4.1.13 Fix bug where Vary response header was incorrect when Accept-Encoding did not include gzip * 4.1.12 Revert flyway change that broke database migration * 4.1.11 $lookup now returns inactive status as a property (as per spec) rather than directly as an output parameter Adding RF2 content to the database has been significantly sped up (Postgres only) The If-None-Match request header (used to support caching) is now supported for read, vread and search operations on ValueSets, CodeSystems and ConceptMaps, as well as $lookup and instance-level $translate operations ETag headers (usable for caching) are now produced by GET-style $lookup and instance-level $translate operations, and by search requests on ValueSets, CodeSystems and ConceptMaps Changed syndication OAuth2 endpoint in line with NCTS change Fixed bug related to incorrect formats reported in Conformance resource Fixed bug related to international RF2 release package structure * 4.1.10 Fixed (benign) bug where LOINC and FHIR index versions were not incremented with change to support index version compatibility Fixed bug where some existing compatible indexes were not being detected in the file system, which triggered unnecessary updating of SNOMED indexes * 4.1.9 Fixed a limitation that prevented support for type-level $translate without a source CodeSystem / value set and only display text in a Coding/CodeableConcept Fixed a bug that prevented expansion of multi-version ValueSets with exclude criteria from working Improve $translate's automap precision Updated SNOMED CT binary index file format to 1.3.1 and implemented support for semantic versioning of binary indexes with forward and backward compatibility Fixed a bug related to empty codes in batch validate-code requests ValueSets that come back from $expand requests will now include the originating ValueSet's identifier and version elements (if any) Fixed a bug that prevented including all of a LOINC code system in a ValueSet * 4.1.8 Improved speed of SNOMED (RF2) indexing from source; if RF2 not in db then work directly from ZIP. To get RF2 in db, use /synd/fetchSyndicatedContentEntry or /api/sct/addRf2 Improved log format to facilitate automated log processing Improved transactional behaviour to avoid race conditions during creates/updates/deletes Updated HL7 Sharable ValueSet Profile from 1.0.2 to 1.4.0 Fixed bug in $closure where incorrect subsumptions could be computed Added support for the Prefer: return=representation Header Fixed bug in $expand that made it impossible to use count/offset to retrieve concepts beyond the maxResults threshold * 4.1.7 Updated IHTSDO ECL implementation to match v1.1.1 Fix implementation of cardinality constraints in SNOMED CT 'expression' filters Significant speed increase for the 'automap' flavour of $translate Performance improvement for loading SNOMED CT's RF2 data Fix a bug where republished entries wouldn't all have source links Fix a bug regarding incorrect diagnosis of snomed/loinc index version mismatch on startup * 4.1.6 Fixed handling of valueSet parameter on $validate-code Batch requests will now permit String values for Code-typed parameters Made $validate-code less dogmatic about matching the version parameter Fixed handling of type-level $validate requests that do not provide a resource parameter Allow the parameters 'valueSet' and 'source' to be used as alternatives on $translate Allow CORS requests from Origin file:// Fixed bug in $closure where #additional edges > maxResults limit (default 10,000) * 4.1.5 Include Vary and HTML Content-Type headers for exception responses Improve handling of batch/transaction requests, especially regarding error handling Added /api/mode endpoint for querying security mode Support "property" parameter in batch GET $lookup * 4.1.4 Include Vary header with Accept and Accept-Encoding to avoid caching problems Include comment in Conformance to indicate which operations are supported in batch Fix error code for unsupported conditional deletes Customise CodeSystem.publisher for known editions of SNOMED (SCT-AU, AMT) * 4.1.3 Return a 422 error when invoking operations with ambiguous resource references (URLs) Include the HTTP 'Prefer' header as an acceptable CORS header Fix incorrect behaviour of id:present and id:missing search modifiers Added version search parameter for ValueSet, CodeSystem and ConceptMap Added system search parameter for CodeSystem Fixed bug with validation of multi-typed properties, e.g. ConceptMap.sourceUri * 4.1.2 Issue a 400 Bad Request for $translate requests that do not specify a target value set Fixed bug that was causing Ontoserver to not log to file. * 4.1.1 Ontoserver no longer includes headers to disable caching $closure operation now supports arbitrary CodeSystems (with hierarchy), not just SNOMED CT Fixes for $closure table bug relating to the order of the added codes Updated to Spring-Boot 1.3.6 Fix incorrect response code 5xx rather than 4xx when source/target URIs are omitted from a $translate request Fix CodeSystem validation to report all duplicate codes at once, rather than just the first one found