...
To get translations for at ValueSet, use $expand
as follows:
Call
$expand
on the ValueSetGET <base-url>/fhir/ValueSet/$expand?url=<ValueSet url>&property=designation
Determine best translation:
Choose designation with “da” (for Danish) if available, otherwise
Choose display (as best alternative - this will be in whatever language the concept is defined with)
In the example below, this is the case for code assessment
Info |
---|
Example request and response on $expand on topic-type Request:
Response: { "resourceType": "ValueSet", "status": "active", … { "system": "http://hl7.org/fhir/definition-topic", "code": "assessment", "display": "Assessment" }, … { "system": "http://ehealth.sundhed.dk/cs/topic-type", "code": "self-treatment", "display": "Self-treatment", "designation": [ { "language": "da", "value": "Selvbehandling" } ] } … |
...
For supported operations on concept lookups and decomposition, please see the supported operations on CodeSystem at httphttps://www.hl7.org/fhir/STU3R4/codesystem-operations.html . Designations targeted consumers/citizens will eg. contain the following data in the designation:
...
Given an observation code
and corresponding system
from the ValueSet "http://ehealth.sundhed.dk/vs/observation-codes"
(see https://docs.ehealth.sundhed.dk/latest-released/ig/ValueSet-ehealth-observation-codes.html), how does one then determine how to specify an observed quantity or reference range? The following describes how to obtain values to set in Quantity.code
, .system
and .unit
.
To get values forQuantity.code
and Quantity.system
use the ConceptMap "http://ehealth.sundhed.dk/ConceptMap/conceptmap-obs-code-to-ucum"
(See https://docs.ehealth.sundhed.dk/latest-released/ig/ConceptMap-conceptmap-obs-code-to-ucum.html) as follows:
Call
$translate
on the givencode
andsystem
:GET <base-url>/fhir/ConceptMap/$translate?system=<system>&code=<code>
On match found, the values to use in
Quantity.code
andQuantity.system
are the matching concept’scode
andsystem
, respectively, where the source ConceptMap is
...
"http://ehealth.sundhed.dk/ConceptMap/conceptmap-obs-code-to-ucum
...
"
(see example response below):
Info |
---|
Example request and response on $translate on Request:
Response: { "resourceType": "Parameters", "parameter": [ { "name": "result", "valueBoolean": true }, { "name": "message", "valueString": "Matches found!" }, { "name": "match", "part": [ { "name": "equivalence", "valueCode": "specializes" }, { "name": "concept", "valueCoding": { "system": "http://unitsofmeasure.org", "code": "kg", "display": "kilogram" } }, { "name": "source", "valueUri": "http://ehealth.sundhed.dk/ConceptMap/conceptmap-obs-code-to-ucum" } ] } ] } |
...
To get the corresponding and printable value for Quantity.unit
, use the ConceptMap "http://ehealth.sundhed.dk/ConceptMap/conceptmap-ucum-to-printsymbol"
(see https://docs.ehealth.sundhed.dk/latest-released/ig/ConceptMap-conceptmap-ucum-to-printsymbol.html) as follows:
Call
$translate
on the givensystem
andcode
determined in the response above:GET <base-url>/fhir/ConceptMap/$translate?target=http://ehealth.sundhed.dk/vs/ehealth-ucum-printsymbol-supplement&code=<code>&system=<system>
On match found, extract the matching concept (see example response below).
Call
$lookup
on the matching (CodeSystem)system
andcode
:GET <base-url>/fhir/CodeSystem/$lookup?system=http://ehealth.sundhed.dk/cs/ehealth-ucum-printsymbol-supplement&code=<code>
On match found, the value to use in
Quantity.unit
is the matching concept’sdesignation.value
where thedesignation.language=da
(see example response below). If there is no such designation, the printable value inQuantity.unit
shall be left empty.
Note |
---|
The $lookup does not return designation on eHealth Infrastructure Release 4 and other releases prior to Release 5. |
Info |
---|
Example request and response on $translate on Request (Note that URL-encoding of percent as code is used):
Response: { "resourceType": "Parameters", "parameter": [ { "name": "result", "valueBoolean": true }, { "name": "message", "valueString": "Matches found!" }, { "name": "match", "part": [ { "name": "equivalence", "valueCode": "specializes" }, { "name": "concept", "valueCoding": { "system": "http://ehealth.sundhed.dk/cs/ehealth-ucum-printsymbol-supplement", "code": "%", "display": "percent" } }, { "name": "source", "valueUri": "http://ehealth.sundhed.dk/ConceptMap/conceptmap-ucum-to-printsymbol" } ] } ] } |
Info |
---|
Example request and response on $lookup on Request (Note that URL-encoding of percent as code is used):
Response: { "resourceType": "Parameters", "parameter": [ { "name": "name", "valueString": "UCUMPrintSymbolSupplement" }, { "name": "version", "valueString": "0.6.0" }, { "name": "display", "valueString": "percent" }, { "name": "abstract", "valueBoolean": false }, { "name": "designation", "part": [ { "name": "language", "valueCode": "da" }, { "name": "use" }, { "name": "value", "valueString": "%" } ] } ] } |
...
Given an observation code
and corresponding system
from the ValueSet "http://ehealth.sundhed.dk/vs/observation-codes"
(see https://docs.ehealth.sundhed.dk/latest-released/ig/ValueSet-ehealth-observation-codes.html), how does one determine whether an observed quantity or reference range shall be stated as an integer or decimal? While a particular device might produce a decimal with a given precision for a measure, it is up to the client/solution to convert to the form expected by the infrastructure. Whether integer or decimal, the value is set inQuantity.value
.
To determine whether to use integer or decimal, use the ConceptMap "http://ehealth.sundhed.dk/ConceptMap/conceptmap-obs-code-to-value-type"
(see https://docs.ehealth.sundhed.dk/latest-released/ig/ConceptMap-conceptmap-obs-code-to-value-type.html) as follows:
Call
$translate
on the givencode
andsystem
:GET <base-url>/fhir/ConceptMap/$translate?system=<system>&code=<code>&target=http://hl7.org/fhir/ValueSet/data-types
On match found, indication of whether to use integer or decimal are the matching concept’s
code
andsystem
, respectively, where the source ConceptMap is
...
"http://ehealth.sundhed.dk/ConceptMap/conceptmap-obs-code-to-value-type
...
"
(see example response below).The codes
integer
anddecimal
insystem http://hl7.org/fhir/data-types
signify that the observed value or reference range shall be given as integer and decimal, respectively.
Info |
---|
Example request and response on $translate on Request:
Response: { |
...