Change Log
Notable changes in each release are documented below.
The format is based on Keep a Changelog, and this project adheres to Semantic Versioning.
- Security - in case of vulnerabilities.
- Changed - for changes in existing functionality.
- Deprecated - for soon-to-be removed features.
- Removed - for now removed features.
- Fixed - for any bug fixes.
6.6.3 - 2021-12-20
Fixed
- Fix transaction boundary error in validation leading to spurious rollback errors
6.6.2 - 2021-12-09
Fixed
- Fix error handling fully declared status property when adding a CodeSystem
- Fix bug in $find-matches for SNOMED CT where some valid properties would be rejected
- When logging, treat
clientId
in token as alternative toclient_id
6.6.1 - 2021-10-07
Fixed
- Fix regression in calculation of length and sha256 values for syndication feed entries.
6.6.0 [YANKED]
Changed
- Add simple support for
/CodeSystem/$find-matches
. - Optimise Syndication feed generation for large Resources.
- New config (
atom.syndication.excludeLength
andatom.syndication.excludeXml
, both defaulting tofalse
) to further speed Syndication feed generation.
Fixed
- Fix bug in
$expand
where a search string involving repeated units could return additional concepts.
6.5.0 - 2021-09-23
Changed
- SNOMED Binary Index format changed to 2.0.6; RF2 Concrete Domains and improved Language Reference Set support
- Designation use of
preferredForLanguage
can now be used to select preferred terms in languages other than the primary one, analogous todisplay
. CodeSystem/$lookup
now respects the Accept-Language header- SNOMED CT Language Reference Sets are now handled through a BCP-47 language tag extension. This provides the capability for preferring a code’s display on both language AND reference-set dimensions.
- Faster
_search
performance when large resources are involved. - Generalised version sorting; relaxes the constraints around version strings for selecting the “latest version” of resources.
- Health status now checks for database connectivity.
Fixed
- Fix bug in
$subsumes
for post-coordinated expressions where order mattered checking for equivalence. - Fix bug in
$expand
where R5 pre-adopted property support did not respect the type of property values. - Fix bug in
/synd/setSyndicationStatus
where calling it for SNOMED or LOINC would fail to properly manage the binary index file. - Fix bug where Ontoserver was performing too many URIdecode operations on URI-typed request parameters.
6.4.3 - 2021-07-19
Fixed
- Fix bug where Indexer mode did not handle duplicates when processing multiple RF2 Zip files
6.4.2 - 2021-07-16
Security
- Fix bug where security tag of
*.read
effectively disabled Resource-level protections for that Resource.
Changed
- Support
:not
modifier for theurl
search parameter. - Ignore duplicates when processing multiple RF2 Zip files
Fixed
- Fix handling of uri-typed search parameters with modifiers.
6.4.1 - 2021-06-14
Fixed
- Fix issue when TextDefinitions do not have language referenceset entries; SNOMED Binary Index format changed to 2.0.5
6.4.0 - 2021-06-11
Changed
- The results of the $translate operation will now include any dependencies or products of the matches
- The Text Definition for a SNOMED CT concept is now used as its
concept.definition
; SNOMED Binary Index format changed to 2.0.4 - Updated to HAPI 5.4.0
Fixed
- Fix bug where string properties without a value can cause
$expand?property=...
to fail. - Fix bug where codes with colons can be confused with SNOMED post coordinated expressions.
- Fix bug where ValueSet filter on property of Coding type failed for most values.
- Fix bug where ECL expressions containing only optional grouped relationships would fail.
- Fix potential concurrency bug when downloading binary indexes.
- Fix concurrency issue when repairing multiple SNOMED CT indexes.
- Fix bug where system-version or force-system-version were being ignored for implicit ValueSets.
- Fix syntax error in necessaryNormalForm property of SNOMED CT concepts (expressions contained extraneous + symbols)
- Fix bug where automap failed for CodeSystems other than SNOMED CT and LOINC
6.3.1 - 2021-04-22
Fixed
- Fix bug in handling
_summary=false
parameter
6.3.0 - 2021-03-16
Changed
- Add support for decimal-typed CodeSystem properties
- Add support for
$expand?property=...
pre-adopted from FHIR R5 - ValueSet regex filter has implied anchors; also allow for explicit ones (at start and end only).
- Ensure that searches for codes that look like quantities (e.g., 50L) still match the code.
- Properly support multiple CodeSystems in
$closure
. - When
$closure
is called with codes not known to belong to the specified CodeSystem, include in result as “unmapped” (previously these were silently ignored). - Added a parameter
-s
to Ontoserver’shealthcheck.sh
script so an Ontoserver container can report as unhealthy unless and until it has successfully loaded all the content of a preload feed. - Add support for
atom.syndication.client.connectTimeout
,atom.syndication.client.requestTimeout
, andatom.syndication.client.socketTimeout
configuration to allow overriding the 10 second default
Fixed
- Fix bug where passing both parameters
_elements=*&_summary=true
triggers 5xx instead of 4xx error. - Fix bug where codes without display text can cause
$expand
to fail. - Fix bug where last set of codes in ValueSet.expansion with same score were not alpha-sorted.
6.2.3 - 2021-02-01
Changed
- Add extra validation of LOINC codes when indexing and handling implicit ValueSets.
Fixed
- Fix issue where concept.display has a translation. Results in additional designation for every concept corresponding to it’s display(s).
Both FHIR and Loinc patch-level index versions have been incremented due to this fix. - Fix issue where ValueSet supplement extension references a non-supplement CodeSystem.
- Fix issue where a CodeSystem supplement specifies an implicit “all codes” ValueSet.
6.2.2 - 2021-01-27
Fixed
- Fix issue preventing LOINC index creation using Ontoserver in start/finish “indexer mode”.
6.2.1 - 2021-01-13
Fixed
- Fix enabling overriding security labels on FHIR resources imported from a syndication/preload feed using the feed entry’s permissions extension.
6.2.0 - 2020-12-18
Changed
- Support the Syndication Feed content-type
FHIR_Package
. - Significantly enhanced validation support due to upgrade to HAPI 5 (5.2.0).
6.1.4 [YANKED]
Changed
- Speed improvements for various operations, including translate with SNOMED implicit ConceptMaps
- Adjust the order of preload such that FHIR resources are scheduled first, then all SNOMED and LOINC indexes from newest to oldest.
6.1.3 - 2020-12-16
Changed
- SNOMED Index version patch change to fix issue with preferredTerm selection and multiple languages.
- Updated directory layout for Lucene indexes to avoid possible location contention.
- Improved robustness of indexRepair.
- Added work-around for bug in FHIR Validator code.
- Now include logs for rejected FHIR requests following refactored request handling layer.
- More robust handling of errors during preload.
6.1.2 - 2020-11-24
Changed
- Improved error messages relating to language reference sets when indexing SNOMED CT.
- Minor docker-packaging updates.
Fixed
- Fixed bug where fhirVersion was not being checked in syndication feed entries.
- Fixed bug when attempting to return history of Bundle resource.
6.1.1 [YANKED]
Fixed
- Fixed typo in default configuration that would lead to a healthy ontoserver being reported as unhealthy when running in secure mode.
6.1.0 - 2020-10-13
Changed
- Support SNOMED CT post-coordinated expressions with
$subsumes
,$closure
, and$lookup
- Support SNOMED CT CodeSystem supplements referencing post-coordinated expressions
- Add support for
$meta-add
and$meta-delete
- meta.tag and meta.label are now associated with a resource instance, and not the resource instance version. This provides a better experience and more flexible model for managing per-resource permissions
- Surface Ontoserver resource permissions in syndication feed
- Support
;fhirVersion=3.0
inContent-Type
header auto-convert STU3 inputs to R4 - Optionally redirect a request to the base to the Administration UI
- Expanded the list of parameters that can be used for sorting resource searches. These are now listed in the documentation.
- Individual FHIR resources can now be selected for publication in the downstream syndication feed by setting
atom.syndication.publish.fhir.enabled=selected
and calling/synd/setSyndicationStatus
for the individual resources. - Added the parameter
atom.syndication.publish.index.enabled
(default=selected
) allowing 3 values for publication of binary indexes in the syndication feed - all, selected, or none - Added
ontoserver.well-known.openid-configuration
config as redirect target for[base]/fhir/.well-known/smart-configuration
to simplify OAuth2 config for SMART on FHIR. - Support POST of
multipart/form-data
to$x-upload-external
to allow for releases split over multiple RF2 zips. - Support for adding a set of resources to the server by POSTing a Collection-typed Bundle to the FHIR base URL. This is conditionally enabled with the parameter
ontoserver.fhir.batch.addBundle
(default is false). - Support additional hierarchy-based concept filter operators for LOINC.
- Add support for ‘title’ as a search/sort parameter for CodeSystem, ConceptMap, ValueSet and StructureDefinition
- The downstream syndication feed title can now be configured using atom.syndication.publish.feedTitle
- Search requests can now sort (but not yet search) using the
_lastUpdated
search parameter. - Syndication status on a FHIR resource can now be used in search and sort criteria using the ‘x-syndication-status’ parameter.
- FHIR resources explicitly marked for syndication using
setSyndicationStatus
can be protected from modification using theatom.syndication.publish.fhir.secureSyndication
config option.
Removed
- Remove support for internal RF2 caching including the (deprecated) APIs
/api/sct/addRf2
and/api/sct/modules
. Note, this also includes removal of support for RF2 in the/synd/fetchSyndicatedContentEntry
API.
Fixed
- Fix potential issue with HTTP caching - added Authorization to the Vary header.
- Fix bug where old ConceptMap data would interfere with url-less type-level
$translate
- Fix for FHIR syndication entry length calculation where resources contain multibyte UTF-8 characters, Atom specification is based on data length (octets) not characters https://tools.ietf.org/html/rfc4287#section-4.2.7.6
- Fixed syndication feed to contain a “self” rel type link and remove incorrect “alternate” type links for upstream feeds.
6.0.4
Changed
- Improved error messages when indexes on disk are missing and cannot be retrieved from upstream Atom feed(s).
Fixed
- Fix for SHA256 and length calculation for FHIR resources in the syndication feed, including accounting for multi-byte UTF8 characters in FHIR resource length.
- Fixed duplicated CodeSystem resource entries in the syndication feed.
6.0.3
Changed
- Updated NCTS profiles
- Added an API call to re-execute preload on a running server (see
/synd/redoPreload
), and a parameter to enabled scheduled re-execution of preload using cron expressions (see atom.preload.schedule.cron)
Fixed
- Some
$validate
requests were failing because of outdated snapshots in built-in profiles. These have been fixed.
6.0.2
Changed
- Syndication and preload feeds can now be filtered by category, content identifier, content version or FHIR version. More information on how to do this is provided in the Syndication Configuration page of the online documentation.
- Implement support for ConceptMap.group.unmapped
- Performance improvements for searches with
_elements
parameter(s)
Fixed
- Fix performance bug with internal caching of search results
- Fixed default syndication endpoints
6.0.1
Changed
- Update docker-compose examples to cater for Postgres image changes
- Add support for the ‘definition’ property in
$lookup
- Add support for ‘display’ as a filter, including regex support (does not include designations)
- Ensure required properties ‘name’ and ‘display’ are returned by
$lookup
- Initial support for Coding-typed properties in FHIR CodeSystem resources
Fixed
- Fix bug when passing ValueSet URI containing | as parameter to
$expand
6.0.0
Changed
- Support FHIR R4. This brings major index version changes, across all index-types, which are not compatible with FHIR STU3 and Ontoserver 5.x
- Support CodeSystem.supplements
- Support
/$versions
operation - Support for NamingSystem and
$preferred-id
- Allow an RF2 SNAPSHOT .zip to be POSTed to
[base]/CodeSystem/$x-upload-external
to create a SNOMED CT index. - FHIR Search requests now default to
_summary=true
for significant performance improvements - Support
reference
parameter in ValueSet search - More detailed validation of ValueSets; implicits and ECL filters are parsed for correctness
- A FHIR CodeSystem claiming to be http://snomed.info/sct (or http://loinc.org) can now be created directly as long as
CodeSystem.content
!=complete
. This is primarily to support the SNOMED CT GPS for users that are not SNOMED-licensed and therefore unable to load an RF2-backed instance. - Tidy up JSON logging format - blank fields are omitted rather than the empty string
- Refactored indexing to reduce memory footprint
- Refactored index filesystem layout to support dynamic healing
- Migrate from Java 8 to Java 11
- Migrate from Lucene 6 to Lucene 8
Removed
- Remove support for FHIR STU3
- Remove support for legacy ‘identifier’ parameter to the
ValueSet/$expand
operation
5.8.0
Changed
- Add support for alternate negation syntax and childOrSelf (
<<!
) etc in ECL - Less noisy (in logs) healthcheck mechanism using Spring Boot health endpoint on private port
- Update security model to use
scope
values in JWT token in preference toauthorities
. This also includes changes to the values - see documentation for details. - SNOMED CT Long normal forms that get really long will now be shortened somewhat (but still conformantly)
5.7.3
Changed
- Work-arounds for changes in HAPI 4.1.0
5.7.2
Fixed
- Fix error where preload would attempt to import incompatible binary index versions
5.7.1
Fixed
- Fix bug regarding handling of preload and syndicated indexes
5.7.0
Changed
- Add support for validating using “remote” profiles
- Added support for “publisher” and “status” search parameters on ValueSet, CodeSystem, ConceptMap and StructureDefinition resources
Fixed
- Fix normalForm syntax to use RF2 syntax for numbers rather than scientific notation, correct grouping for concrete domain info, and nested relationships
- Fix bug in MML automap strategy where low-ranked matches were returned
5.6.2
Changed
- Adjusted ranking scores where synonyms are best matches
- Badly formatted count and offset parameters for
$expand
will now result in a 400 instead of a 500
Fixed
- Fixed bug in recorded index version of SNOMED CT binary indexes
- Fixed bug where some CodeSystem
$validate-code
requests would produce a 500 instead of a 400 - Fixed bug in syndication feed; ids must be absolute URIs
5.6.1
Changed
- Designations added to ValueSets should not be available using
$expand
with includeDesignations=true
Fixed
- Fixed bug in Ontoserver initialization that would cause problematic repair of CodeSystem indexes on startup
- Fixed bug where unrecognized syndication entry categories would break the ability to fetch upstream syndicated content
- Bug fixes related to fetching Bundle resources from syndication
5.6.0
Changed
- Support for preloading content into Ontoserver on startup using a Bundle resource or ATOM syndication feed/s.
- Support for indexing SNOMED CT releases based on the July 2019 international release
- The /synd/fetchSyndicatedContentEntry endpoint now supports ‘resourceType’, ‘url’ and ‘version’ parameters, as an alternative to fetching using the ATOM entry ID
Fixed
- Fix bug when generating syndication feed of FHIR resources; exclude SCT and LOINC
5.5.2
Changed
- Documentation improvements, especially for Authorization configuration to support RBAC
Fixed
- Fix bug where HTTP 500 rather than 404 would be returned when asking to index a non-existant code system
5.5.1
Fixed
- Fix syndication bug resulting in excessive redundant downloading of resources
5.5.0
Changed
- Add support for
[base]/$convert
- Produce much more compact OperationOutcome Issue lists from
$validate
Fixed
- Fix bug with paged
_search
results and ETags - Fix bugs with support for authorization using RS256 keys
5.4.0
Changed
- Add support for experimental versions of SNOMED CT with special-case version URIs
- Support SNOMED Edition URIs in version parameters (for
$lookup
etc) - Include Provenance resource for SNOMED CT CodeSystems
- Support default filters parent EQUALS and child EQUALS for SNOMED CT
- X-Correlation-Id and X-Request-Id support
- Support version:text in
_search
for terminology resources - Support distribution format changes for Loinc 2.65
- Improve robustness of syndication client when encountering unrecognized categories
Fixed
- Fix bug where ECL cardinality constraints of
[0..*]
were incorrectly applied - Fix bug where CodeSystem.system was usable as an implicit ValueSet.url under certain circumstances
- Fix bug with automap and stemmed words that are not also prefixes
- Fix bug with ValueSet filter on the ‘inactive’ property for FHIR CodeSystems
- Fix syndication bug whereby StructureDefinition syndication entries would have the wrong category
Deprecated
- Deprecate
/api/sct/addRf2
and/api/sct/getModules
5.3.1
Changed
- Support human-friendly HTML rendering of FHIR responses
- Exception stack traces are now logged on a single line as a JSON array
- Add support for kind as a search parameter on StructureDefinition
- Add support for the
_tag:not
modifier - Add support for .well-known and .well-known/logo.png in particular
Fixed
- Fix bug with
$validate-code
and multiple versions of the same CodeSystem
5.3.0
Fixed
- Fix index error to support ValueSets with cross-version CodeSystems This includes an index minor-version update and will trigger re-indexing of all (LOINC, SNOMED, and FHIR) CodeSystems
- Fix bug in ECL that allowed never-grouped attributes (eg laterality) to match inside groups
- Fix bug in language detection for designations without language
5.2.3
Fixed
- Fix bug where displayLanguage / Accept-Language support was ignoring the default display text
5.2.2
Changed
- Enable support for
HTTP(S)_PROXY_HOST
,HTTP(S)_PROXY_PORT
andHTTP_NON_PROXY_HOSTS
- Support * as a property name in
$lookup
to represent all known properties - Add support for language ranges (eg en-*) with displayLanguage parameter
Fixed
- Fix bug with overly permissive parsing of RF2 syndication feed entries
- Fix bug related to
$translate
using implicit ConceptMaps in reverse - Fix bug where ECL expressions with certain unicode characters were incorrectly escaped
- Fix bug that would block ConceptMap create/update when source or target ValueSets were ambiguous
5.2.1
Fixed
- Fix bug where caching of ECL constraints with multiple relationship clauses could return incorrect results
5.2.0
Changed
- Upgrade LOINC importer and indexer to support more recent LOINC releases (2.59-2.64). Note: Because of this, the Binary Index Format for LOINC is now 1.6.0.
- The LOINC property/filter DOCUMENT_SECTION is no longer supported, as it has been removed from the LOINC distribution
- Greatly expanded the set of available LOINC Answer List and Part codes
- LOINC implicit ValueSet URIs now allow versions (e.g. http://loinc.org/2.64/vs), reflecting a likely upcoming normative change. Unversioned LOINC URIs are still valid, too
- The following additional code-typed LOINC CodeSystem properties are now available on LOINC Terms: CHALLENGE, COUNT, TIME MODIFIER, SUPER SYSTEM, DIVISORS, ADJUSTMENT
- Support context parameter for
ValueSet/$expand
andValueSet/$validate-code
- Support displayLanguage parameter for
$expand
$validate-code
now returns display text when code is valid- Support
CodeSystem/$validate-code
andCodeSystem/[id]/$validate-code
, pre-adopted from R4 - Support default = and in filters for all defined CodeSystem properties
- Type-level
$translate
with no url parameter no longer uses available ConceptMap instances rather than a term-based string matching algorithm $translate
now includes match.source in most cases$translate
now includes match.concept.display when the CodeSystem of the concept is available- Add support for latest-version semantics when only a single Edition of SNOMED CT is available
- Return ETag on DELETE
- Support returning alternate display text in top-level ValueSet.compose.include
- Support instance-level and type-level
_history
operations with both_since
and_at
parameters - Support type-level
$validate
for all Resource types - Switch to using validator reference implementation
- Significantly reduce heap usage when obtaining syndicated content. Minimum required heap now documented as only 2GB
Fixed
- LOINC axis properties and filters (PROPERTY, COMPONENT, SYSTEM, TIME_ASPCT, METHOD_TYP and SCALE_TYP) now correctly use codes instead of display strings
- Fixed bug in
$expand
of ValueSets using LOINC and ‘exists’ filters - Fixed bug triggered by empty property parameter to
$lookup
operations on SNOMED-CT
5.1.1
Changed
- Very slightly reduce scores for inactive concepts
- Allow (encoded) newlines in ECL Implicit ValueSet URIs
- Include request protocol in logs
- SNOMED Concept Inactivation Indicators are now available as an implicit concept map
- Support direct POST of Bundle to addBundle in addition to POST of multipart/form-data
- Add support for bundleInterpretation=collection in /synd/fetchSyndicatedContentEntry
- Relax constraints around acceptable display text when validating SNOMED codes; now also allows any acceptable synonym
- Report http://hl7.org/fhir/StructureDefinition/valueset-unclosed for expansion of certain SNOMED ValueSets
- Support additional FHIR code properties in LOINC: EXAMPLE_UCUM_UNITS and STATUS
Fixed
- Fix rare bug when automapping unversioned codes and other complex conditions satisfied
- Fix bug where CodeSystems with corrupt/missing index data could sometimes appear in search results
- Fix bug in addBundle where reported resource Identities were of the supplied Resources rather than the updated Resources
- Fix race condition loading default and built-in profiles on startup
5.1.0
Changed
- Pre-adopt the new SNOMED CT Implicit ValueSet URI pattern for the Expression Constraint Language, as defined for FHIR R4
- Support consumption of FHIR_Bundle artifact type in the syndication feed.
- Ontoserver now supports SCRUD operations on Bundle resources.
- Ontoserver now supports SCRUD operations on StructureDefinition resources. Stored StructureDefinitions can be used for validation of terminology resources
$validate
methods now support the profile parameter
5.0.10
Changed
- Stricter parsing checks for JSON and XML Resources
- Support CTV3 implicit map
- Improve handling of inactive rows in the MDRS when building SNOMED indexes
- Certain resource validation errors that were not previously being reported are now being reported
Fixed
- Fix problem where, in rare cases, inactive concepts would have missing display text
- Fix bug where deleted ValueSets could cause
$expand
to fail in rare cases
5.0.9
Changed
- Add support for Edition-specific language-reference-sets in config
- Add explicit handling of OutOfMemory exceptions to allow Ontoserver to shutdown
- Add optimisations for ECL-based ValueSets with expensive match criteria
- Check codes are valid during
$subsumes
Fixed
- Fix bug handling malformed ValueSets with incompletely specified filters
- Fix recall performance in “automap” algorithms associated with automated spelling correction
- Fix bug in scoring algorithm that was failing to weight the score of preferred terms properly
5.0.8
Changed
- Document minimum Java heap size and likely need to set it explicitly in docker-compose configuration.
Fixed
- Fix bug where ValueSet.compose.inactive=false was being ignored.
5.0.7
Changed
- 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.
- 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
Deprecated
- Ontoserver-specific extension was used to indicate inactive concepts is now deprecated and is scheduled for removal in the 5.1.0 release.
5.0.6
Changed
- Improve error reporting for malformed ValueSet filters
- Improve metadata for LOINC CodeSystem and implicit ValueSets
Fixed
- Fix bug where inactive map entries were appearing in SNOMED implicit concept maps
5.0.5
Changed
- 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)
- Improve cleanup of files when an index is deleted
Fixed
- Fix 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.
5.0.4
Changed
- Support Concrete Domains in ECL and use flatter DL representation of AMT Concrete Domains information ready for integration with SNOMED International drug model changes.
- Minor improvements to error reporting for
$subsumes
requests, and LOINC implicit ValueSets - Improve performance of batch requests.
5.0.3
Changed
- Add 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
Fixed
- Fix syndication bug when local binary index exists as well as an upstream binary index of the same version
5.0.2
Changed
- Improve performance of batch operations by allowing concurrent execution
- Adde JSON-style logging for api/syndication methods
- Update NCTS profiles for ValueSet, CodeSystem and ConceptMap
$validate
requests using the unsupported profile parameter will now result in 400-code responses.
Fixed
- Fix bug with batch operations when Ontoserver RBAC security is enabled
- Fix bug for
$subsumes
requests that use codings rather than codes
5.0.1
Changed
- 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
- AuditEvent reporting is now turned off by default. Consult config documentation to enable and configure endpoint/s.
- Some improvements to robustness of syndication.
Fixed
- Fix bug in SNOMED CT indexer that affected some ECL cardinality constraints inside role groups
- Fix bug in ECL compiler that affected cardinality constraints on grouped relationships
- Fix problems arising when publishing older binary indexes for syndication
- Fix bug related to indexing extra columns in RF2 refsets, which affected the SNOMED International release
5.0.0
Changed
- Migrate to STU3 version of FHIR
- Support inactive = true/false filter for SNOMED CT
- HTTP/2 support added
- Add support for explicit properties and filters on FHIR code systems
- Add support for implicit filters on FHIR code systems: concept =/is-a/is-not-a/in/not-in, parent =/in/not-in
- CodeSystems created/updated with content=not-present will now not list concepts in a read (concepts are still accessible through expand, lookup, etc)
- Add support for lang.X values in the property parameter of
$lookup
requests - Update properties and filters for LOINC CodeSystems including support for CLASS, CONSUMER_NAME, CLASSTYPE, ORDER_OBS and DOCUMENT_SECTION
- Add 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
- Add 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
- Update 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
Removed
- Remove support for DSTU2.1
Fixed
- Fixed a bug where filters longer than 20 characters would return no matches
4.1.18
Fixed
- Fix problem with syndicating newer binary indexes (from Ontoserver >= 5.0.0)
4.1.17
Fixed
- Fix long standing bug related to OWL generation from RF2 (SNOMED Binary Index version incremented to 1.3.4)
4.1.16
Fixed
- Fix bug related to SNOMED codes without descriptions
4.1.15
Fixed
- 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
Changed
- Bump SNOMED Binary Index version to 1.3.2 for following five fixes/improvements
- Make description IDs searchable terms
- Ensure that FSNs are always acceptable synonyms
Fixed
- Fix bug where | symbols in RF2 files would confuse the CSV parser during an addRf2 call
- Fix bug where multiple language reference sets referring to the same description id would result in multiple designations
- 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.1.13
Fixed
- Fix bug where Vary response header was incorrect when Accept-Encoding did not include gzip
4.1.12
Fixed
- Revert flyway change that broke database migration
4.1.11 [YANKED]
Changed
$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 - Change syndication OAuth2 endpoint in line with NCTS change
Fixed
- Fix bug related to incorrect formats reported in Conformance resource
- Fix bug related to international RF2 release package structure
4.1.10
Fixed
- Fix (benign) bug where LOINC and FHIR index versions were not incremented with change to support index version compatibility
- Fix bug where some existing compatible indexes were not being detected in the file system, which triggered unnecessary updating of SNOMED indexes
4.1.9
Changed
- Improve automap precision
- Update SNOMED CT binary index file format to 1.3.1 and implemented support for semantic versioning of binary indexes with forward and backward compatibility
- ValueSets that come back from
$expand
requests will now include the identifier and version elements (if any) of the originating ValueSet
Fixed
- Fix limitation that prevented support for type-level
$translate
without a source CodeSystem / value set and only display text in a Coding/CodeableConcept - Fix bug that prevented expansion of multi-version ValueSets with exclude criteria from working
- Fix bug related to empty codes in batch validate-code requests
- Fix bug that prevented including all of a LOINC code system in a ValueSet
4.1.8
Changed
- Improve 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
- Improve log format to facilitate automated log processing
- Improve transactional behaviour to avoid race conditions during creates/updates/deletes
- Update HL7 Sharable ValueSet Profile from 1.0.2 to 1.4.0
- Add support for the Prefer: return=representation Header
Fixed
- Fix bug in
$closure
where incorrect subsumptions could be computed - Fix bug in
$expand
that made it impossible to use count/offset to retrieve concepts beyond the maxResults threshold
4.1.7
Changed
- Update IHTSDO ECL implementation to match v1.1.1
- Significant speed increase for the ‘automap’ flavour of
$translate
- Performance improvement for loading RF2 data of SNOMED CT
Fixed
- Fix implementation of cardinality constraints in SNOMED CT ‘expression’ filters
- Fix bug where republished entries would not all have source links
- Fix bug regarding incorrect diagnosis of snomed/loinc index version mismatch on startup
4.1.6
Changed
- Batch requests now permit String values for Code-typed parameters
- Make
$validate-code
less dogmatic about matching the version parameter - Allow the parameters ‘valueSet’ and ‘source’ to be used as alternatives on
$translate
- Allow CORS requests from Origin file://
Fixed
- Fix handling of valueSet parameter on
$validate-code
- Fix handling of type-level
$validate
requests that do not provide a resource parameter - Fix bug in
$closure
where #additional edges > maxResults limit (default 10,000)
4.1.5
Changed
- Include Vary and HTML Content-Type headers for exception responses
- Improve handling of batch/transaction requests, especially regarding error handling
- Add /api/mode endpoint for querying security mode
- Support “property” parameter in batch GET
$lookup
4.1.4
Changed
- Include Vary header with Accept and Accept-Encoding to avoid caching problems
- Include comment in Conformance to indicate which operations are supported in batch
- Customise CodeSystem.publisher for known editions of SNOMED (SCT-AU, AMT)
Fixed
- Fix error code for unsupported conditional deletes
4.1.3
Changed
- Return a 422 error when invoking operations with ambiguous resource references (URLs)
- Include the HTTP ‘Prefer’ header as an acceptable CORS header
- Add version search parameter for ValueSet, CodeSystem and ConceptMap
- Add system search parameter for CodeSystem
Fixed
- Fix incorrect behaviour of id:present and id:missing search modifiers
- Fix bug with validation of multi-typed properties, e.g. ConceptMap.sourceUri
4.1.2
Changed
- Issue a 400 Bad Request for
$translate
requests that do not specify a target value set
Fixed
- Fix bug that was causing Ontoserver to not log to file.
4.1.1
Changed
- Ontoserver no longer includes headers to disable caching
$closure
operation now supports arbitrary CodeSystems (with hierarchy), not just SNOMED CT- Updated to Spring-Boot 1.3.6
Fixed
- Fix
$closure
table bug relating to the order of the added codes - 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