FHIR🔥 API Extensions
This page describes both Ontoserver-specific extensions to the FHIR APIs, and useful specific behaviours that Ontoserver supports and that may not be provided by other, general purpose, FHIR terminology services.
Algorithmic Concept Maps
Ontoserver supports several implicit algorithmic concept maps - details.
Boosting
The Extension URI http://ontoserver.csiro.au/profiles/boost
can be added to the ValueSet.compose.include
element to adjust the ranking up (value > 1.0) or down (value < 1.0) of codes when performing an $expand
with filter
.
The following example demonstrates usage:
{ "resourceType" : "ValueSet", "url" : "http://csiro.au/example/ValueSet/boost1", "compose" : { "include" : [ { "system" : "http://snomed.info/sct", "filter" : [ { "property" : "concept", "op" : "is-a", "value" : "30560011000036108" } ], // This extension reduces the significance of codes matching this filter "extension" : [ { "url" : "http://ontoserver.csiro.au/profiles/boost", "valueDecimal" : 0.01 } ] }, { "system" : "http://snomed.info/sct", "filter" : [ { "property" : "concept", "op" : "is-a", "value" : "30404011000036106" } ], "extension" : [ { // This extension increases the significance of codes matching this filter "url" : "http://ontoserver.csiro.au/profiles/boost", "valueDecimal" : 10.01 } ] }, { "valueSet": [ "http://snomed.info/sct?fhir_vs=refset/30513011000036104" ], "extension" : [ { // This extension increases the significance of codes in the imported ValueSet "url" : "http://ontoserver.csiro.au/profiles/boost", "valueDecimal" : 5.0 } ] } ] } }
AuditEvents
The logs that Ontoserver produces allows an Ontoserver operator to track the searches, lookups, translations, etc, that are conducted. However, it does not allow the operator to track the selection of a code.
To facilitate this, Ontoserver provides an endpoint for the creation of FHIR AuditEvent resources, by posting them as JSON/XML resources to /fhir/AuditEvent
. These are not persisted, but are logged in order to allow capture and analysis.
An example of an AuditEvent (in JSON) follows. This event indicates the selection of a code (in this case the SNOMED code for ‘Elbow Region Structure’, following a search (i.e. ValueSet
$expand
with a filter
) of the SNOMED Body Structure implicit ValueSet. More detail about AuditEvent can be found in its definition in the FHIR® Specification
{ "resourceType": "AuditEvent", "type": { "system": "http://ontoserver.csiro.au/CodeSystem/ontoserver-reporting", "code": "code-selected", "display": "Code Selected" }, "action": "E", "recorded": "2017-06-02T22:04:27+11:00", "outcome": "0", "agent": [{ "requestor": false }], "source": { "site": "IT Department", "observer": { "display": "John's Laptop" } }, "entity": [{ "what": { "identifier": { "system": "http://snomed.info/sct", "value": "127949000" } }, "name": "selected code", "detail": [{ "type": "valueSetExpansionUrl", "valueString": "http://snomed.info/sct?fhir_vs=refset/32570061000036105" }, { "type": "valueSetExpansionFilter", "valueString": "elbow" }, { "type": "indexInSearchResult", "valueString": "2" } ] }] }