Concept Map
Ontoserver supports the $translate
and $closure
operations for ConceptMaps.
Concept Maps support SCRUD (Search, Create, Read, Update and Delete) operations as per the FHIR Specification rules for REST and ConceptMaps.
Search for concept maps is limited to the following parameters:
-
the
name
,_id
,description
andpublisher
parameters (these 3 additionally support the:exact
,:contains
and:missing
modifiers) -
the
url
,source-system
,target-system
,source-uri
andtarget-uri
parameters, including the:missing
,:above
and:below
modifiers, and -
the
identifier
,version
,source-code
,target-code
,status
,_tag
,context
andcontext-type
parameters, includingcode
,|code
,system|
andsystem|code
formats, and the:missing
modifier -
the
_lastUpdated
parameter, including thelt
,gt
,ge
,le
andeq
prefixes, and the:missing
modifier. This parameter can be provided multiple times for AND semantics, to support use cases such as searching between 2 times -
the
context-type-value
parameter -
the extension
x-syndication-status
parameter with valuestrue
andfalse
Composite search parameters are supported, so all parameters can be used multiple times, for AND semantics, or with comma-separated values for OR semantics.
Of these, name
, _id
, description
, publisher
, url
, source-uri
, target-uri
, version
and status
can be used to sort search results. _lastUpdated
may also be used to sort results, but not as a search parameter.
Translate
The translate operation shows how a code in one value set relates to codes in another according to known concept maps. It can be invoked using a GET or POST request to
http://ontoserver.base.url/fhir/ConceptMap/[id]/$translate
(instance level)
http://ontoserver.base.url/fhir/ConceptMap/$translate
(type level)
The code
, system
and optional version
(or alternatively a coding
in a POST request) of the concept to be translated, as well the source
& target
value sets, are specified either as parameters to a GET request, or within a Parameters resource in the body of a POST request. The translation can be run in reverse by setting the optional reverse
parameter to true
.
Instance-level invocations work using the explicit ConceptMap with the given id
. Type-level invocations that specify the url
parameter work using the explicit or implicit ConceptMap corresponding to that url
.
Type-level invocations can provide a url
to reference an explicit ConceptMap, an implicit ConceptMap, or an algorithmic ConceptMap.
The conceptMapVersion
parameter can be used to either specify or confirm the version of the ConceptMap to be used.
Type-level invocations that do not provide a url
invoke a default mapping feature, which makes a best attempt to match the code, coding or CodeableConcept, based on whatever text is available (codes, descriptions, synonyms, etc).
More details about the translate operation can be found in the FHIR Specification.
In addition to the standard output parameters defined in the FHIR Specification,
Ontoserver will also produce dependsOn
parameters for matches that have a dependsOn
element in the underlying ConceptMap.
Closure
The closure operation allows for ongoing maintenance of client-side closure tables for a set of codes, represented as a ConceptMap.
The operation can be accessed by sending a GET or POST request to
http://ontoserver.base.url/fhir/$closure
The name
of the client's closure table is provided as a parameter to a GET request, or in the body of a POST request.
The first call to $closure with a given name will create an empty closure table.
Subsequent requests may specify one or more concepts to add to the table as codings using the concept
parameter; the result of such a request will be a ConceptMap including the list of new subsumption relationships that result from the addition of the concepts. Requests may see the complete list of subsumption relationships in the closure table by passing a version
parameter with value 0
(inspecting intermediate versions of the closure table is not currently supported).
More details on the closure operation can be found in the FHIR Specification, and its section on Closure Table maintenance.
Implicit Concept Maps
Ontoserver supports implicit concept maps for the following SNOMED historical association reference sets, with the corresponding URLs, as per the FHIR Specification.
-
Possibly Equivalent To :
http://snomed.info/sct[/edition[/version]]?fhir_cm=900000000000523009
(target ValueSet ishttp://snomed.info/sct?fhir_vs
) -
Replaced By :
http://snomed.info/sct[/edition[/version]]?fhir_cm=900000000000526001
(target ValueSet ishttp://snomed.info/sct?fhir_vs
) -
Same As :
http://snomed.info/sct[/edition[/version]]?fhir_cm=900000000000527005
(target ValueSet ishttp://snomed.info/sct?fhir_vs
) -
Alternative :
http://snomed.info/sct[/edition[/version]]?fhir_cm=900000000000530003
(target ValueSet ishttp://snomed.info/sct?fhir_vs
)
In addition to these, we also support the following implicit concept maps for SNOMED CT that are not included in the FHIR spec:
-
SNOMED Concept Inactivation Indicators :
http://snomed.info/sct[/edition[/version]]?fhir_cm=900000000000489007
(target ValueSet ishttp://snomed.info/sct?fhir_vs
) -
SNOMED to ICD-O :
http://snomed.info/sct[/edition[/version]]?fhir_cm=446608001
(target ValueSet ishttp://hl7.org/fhir/sid/icd-o-3
) -
SNOMED to READ CTV-3 :
http://snomed.info/sct[/edition[/version]]?fhir_cm=900000000000497000
(target ValueSet ishttp://read.info/ctv3
) -
AMT to ARTG Id (SNOMED CT AU only) :
http://snomed.info/sct[/edition[/version]]?fhir_cm=11000168105
(target ValueSet ishttps://www.tga.gov.au/australian-register-therapeutic-goods
) -
Australian Substance to International Substance map (SNOMED CT AU only) :
http://snomed.info/sct[/edition[/version]]?fhir_cm==281000036105
(target ValueSet ishttp://snomed.info/sct?fhir_vs
)
These concept maps can be used by providing the implicit ConceptMap URLs as the URL parameter to a type-level invocation of the $translate
operation.
Algorithmic Concept Maps
Ontoserver supports the algorithmic concept maps listed below.
These all extract the display text from a supplied Coding
and CodeableConcept
items (no code or system required) and attempt to find the best match in the target ValueSet.
Additionally, these strategies understand a special CodeSystem with URI http://ontoserver.csiro.au/fhir/CodeSystem/codesystem-terms
which represents the code system of all strings (without leading/trailing whitespace).
Hence, simple (cacheable) GET request style invocation is possible. For example, to automap “heart attack” to codes in SNOMED CT:
GET /ConceptMap/$translate
?url=http://ontoserver.csiro.au/fhir/ConceptMap/automapstrategy-default
&system=http://ontoserver.csiro.au/fhir/CodeSystem/codesystem-terms
&code=heart%20attack
&target=http://snomed.info/sct?fhir_vs
-
http://ontoserver.csiro.au/fhir/ConceptMap/automapstrategy-default
Ontoserver's default automapping strategy. It does not require all words to match, and also attempts simple spelling correction. It is designed for reasonably well-formed textual input, and is not suitable for arbitrary free text. -
http://ontoserver.csiro.au/fhir/ConceptMap/automapstrategy-strict
A matching strategy much closer to that used by Ontoserver for thefilter
parameter to$expand
. It is designed for reasonably well-formed textual input, and is not suitable for arbitrary free text. -
http://ontoserver.csiro.au/fhir/ConceptMap/automapstrategy-MML
A re-implementation approximation of the MetaMapLite strategy. It is designed for reasonably well-formed textual input, and is somewhat suitable for short spans of arbitrary free text. -
http://ontoserver.csiro.au/fhir/ConceptMap/automapstrategy-seq(;name)+
This is a sequenced-strategy. The semi-colon separated sequence ofnames
may include any ofautomapstrategy-default
,automapstrategy-strict
, andautomapstrategy-MML
. Each strategy will be attempted in turn until a match is found. Once a strategy has syccessfully found a match, the evaluation terminates (i.e., short-circuit evaluation).
For example,http://ontoserver.csiro.au/fhir/ConceptMap/automapstrategy-seq;automapstrategy-default;automapstrategy-MML
-
(deprecated)
http://ontoserver.csiro.au/profiles/automapstrategy/default
The same ashttp://ontoserver.csiro.au/fhir/ConceptMap/automapstrategy-default
.