Release 5 Draft Ballot

This page is part of the FHIR Specification (v4.6.0: R5 Draft Ballot - see ballot notes). The current version which supercedes this version is 5.0.0. For a full list of available versions, see the Directory of published versions . Page versions: R5 R4B R4

Vocabulary Work Group Maturity Level: 1Trial Use Compartments: N/A

Translate a code from one value set to another, based on the existing value set and concept maps resources, and/or other additional knowledge available to the server.

One (and only one) of the in parameters (code, coding, codeableConcept) must be provided, to identify the code that is to be translated.

The operation returns a set of parameters including a 'result' for whether there is an acceptable match, and a list of possible matches. Note that the list of matches may include notes of codes for which mapping is specifically excluded (i.e. 'not-related-to'), so implementers have to check the target.relationship for each match.

The official URL for this operation definition is

 http://hl7.org/fhir/OperationDefinition/ConceptMap-translate

Formal Definition (as a OperationDefinition).

URL: [base]/ConceptMap/$translate

URL: [base]/ConceptMap/[id]/$translate

This is an idempotent operation

In Parameters:
NameCardinalityTypeBindingProfileDocumentation
url0..1uri

A canonical URL for a concept map. The server must know the concept map (e.g. it is defined explicitly in the server's concept maps, or it is defined implicitly by some code system known to the server.

conceptMap0..1ConceptMap

The concept map is provided directly as part of the request. Servers may choose not to accept concept maps in this fashion.

conceptMapVersion0..1string

The identifier that is used to identify a specific version of the concept map to be used for the translation. This is an arbitrary value managed by the concept map author and is not expected to be globally unique. For example, it might be a timestamp (e.g. yyyymmdd) if a managed version is not available.

code0..1code

The code that is to be translated. If a code is provided, a system must be provided

system0..1uri

The system for the code that is to be translated

version0..1string

The version of the system, if one was provided in the source data

sourceScope0..1uri

Limits the scope of the $translate operation to source codes (ConceptMap.group.element.code) that are members of this value set.

coding0..1Coding

A coding to translate

codeableConcept0..1CodeableConcept

A full codeableConcept to validate. The server can translate any of the coding values (e.g. existing translations) as it chooses

targetScope0..1uri

Limits the scope of the $translate operation to target codes (ConceptMap.group.element.target.code) that are members of this value set.

targetSystem0..1uri

identifies a target code system in which a mapping is sought. This parameter is an alternative to the target parameter - only one is required. Searching for any translation to a target code system irrespective of the context (e.g. target valueset) may lead to unsafe results, and it is at the discretion of the server to decide when to support this operation

dependency0..*

Another element that may help produce the correct mapping

dependency.element0..1uri

The element for this dependency

dependency.concept0..1CodeableConcept

The value for this dependency

reverse0..1boolean

If true, then the operation should return all the codes that are mapped to the 'code'/'coding'/'codeableConcept' input parameter. In this case:

The input code or coding(s) must belong to the target{{Scope}} ValueSet (rather than the source{{Scope}} ValueSet)

Any provided dependency parameters are matched against ConceptMap.group.element.target.product (rather than ConceptMap.group.element.target.dependsOn)

Out Parameters:
NameCardinalityTypeBindingProfileDocumentation
result1..1boolean

True if the concept could be translated successfully. The value can only be true if at least one returned match has a relationship other than 'not-related-to'.

message0..1string

Error details, for display to a human. If this is provided when result = true, the message carries hints and warnings (e.g. a note that the matches could be improved by providing additional detail)

match0..*

A concept in the target value set with a relationship. Note that there may be multiple matches of equal or differing relationships, and the matches may include the 'not-related-to' relationship value which means that there is no translation

match.relationship0..1code

A code indicating the relationship (e.g., equivalent) of the translation, using values from ConceptMapRelationship

match.concept0..1Coding

The translation outcome. Note that this would never have userSelected = true, since the process of translations implies that the user is not selecting the code (and only the client could know differently)

match.product0..*

Another element that is the product of this mapping

match.product.property1..1uri

The element for this product

match.product.value1..1uri

The value for this product

match.dependsOn0..*

An element that this mapping depends on

match.dependsOn.property1..1uri

The element for this product

match.dependsOn.value1..1uri

The value for this product

match.originalMap0..1uri

The canonical reference to the concept map from which this mapping comes from

Request:

GET [base]/ConceptMap/$translate?system=http://hl7.org/fhir/composition-status
  &code=preliminary&sourceScope=http://hl7.org/fhir/ValueSet/composition-status
  &targetScope=http://hl7.org/fhir/ValueSet/v3-ActStatus

Response:

HTTP/1.1 200 OK
[other headers]

{
  "resourceType": "Parameters",
  "parameter": [
    {
      "name": "result",
      "valueBoolean": true
    },
    {
      "name": "match",
      "part": [
        {
          "name": "relationship",
          "valueCode": "equivalent"
        },
        {
          "name": "concept",
          "valueCoding": {
            "system": "http://hl7.org/fhir/v3/ActStatus",
            "code": "active",
            "userSelected": false
          }
        }
      ]
    }
  ]
}

 

For more information about operations, including how they are invoked, see Operations.