FHIR CI-Build

This is the Continuous Integration Build of FHIR (will be incorrect/inconsistent at times).
See the Directory of published versions

Example OperationDefinition/ConceptMap-translate (JSON)

Vocabulary Work GroupMaturity Level: N/AStandards Status: Informative

Raw JSON (canonical form + also see JSON Format Specification)

Operation Definition

{
  "resourceType" : "OperationDefinition",
  "id" : "ConceptMap-translate",
  "text" : {
    "status" : "extensions",
    "div" : "<div xmlns=\"http://www.w3.org/1999/xhtml\"><p>URL: [base]/ConceptMap/$translate</p><p>URL: [base]/ConceptMap/[id]/$translate</p><p>Parameters</p><table class=\"grid\"><tr><td><b>Use</b></td><td><b>Name</b></td><td><b>Cardinality</b></td><td><b>Type</b></td><td><b>Binding</b></td><td><b>Documentation</b></td></tr><tr><td>IN</td><td>url</td><td>0..1</td><td><a href=\"datatypes.html#uri\">uri</a></td><td/><td><div><p>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.</p>\n</div></td></tr><tr><td>IN</td><td>conceptMap</td><td>0..1</td><td><a href=\"conceptmap.html\">ConceptMap</a></td><td/><td><div><p>The concept map is provided directly as part of the request. Servers may choose not to accept concept maps in this fashion.</p>\n</div></td></tr><tr><td>IN</td><td>conceptMapVersion</td><td>0..1</td><td><a href=\"datatypes.html#string\">string</a></td><td/><td><div><p>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.</p>\n</div></td></tr><tr><td>IN</td><td>sourceCode</td><td>0..1</td><td><a href=\"datatypes.html#code\">code</a></td><td/><td><div><p>The code that is to be translated. If a code is provided, a system must be provided</p>\n</div></td></tr><tr><td>IN</td><td>system</td><td>0..1</td><td><a href=\"datatypes.html#uri\">uri</a></td><td/><td><div><p>The system for the code that is to be translated</p>\n</div></td></tr><tr><td>IN</td><td>version</td><td>0..1</td><td><a href=\"datatypes.html#string\">string</a></td><td/><td><div><p>The version of the system, if one was provided in the source data</p>\n</div></td></tr><tr><td>IN</td><td>sourceScope</td><td>0..1</td><td><a href=\"datatypes.html#uri\">uri</a></td><td/><td><div><p>Limits the scope of the $translate operation to source codes (ConceptMap.group.element.code) that are members of this value set.</p>\n</div></td></tr><tr><td>IN</td><td>sourceCoding</td><td>0..1</td><td><a href=\"datatypes.html#Coding\">Coding</a></td><td/><td><div><p>A coding to translate</p>\n</div></td></tr><tr><td>IN</td><td>sourceCodeableConcept</td><td>0..1</td><td><a href=\"datatypes.html#CodeableConcept\">CodeableConcept</a></td><td/><td><div><p>A full codeableConcept to validate. The server can translate any of the coding values (e.g. existing translations) as it chooses</p>\n</div></td></tr><tr><td>IN</td><td>targetCode</td><td>0..1</td><td><a href=\"datatypes.html#uri\">uri</a></td><td/><td><div><p>The target code that is to be translated to. If a code is provided, a system must be provided</p>\n</div></td></tr><tr><td>IN</td><td>targetCoding</td><td>0..1</td><td><a href=\"datatypes.html#uri\">uri</a></td><td/><td><div><p>A target coding to translate to</p>\n</div></td></tr><tr><td>IN</td><td>targetCodeableConcept</td><td>0..1</td><td><a href=\"datatypes.html#uri\">uri</a></td><td/><td><div><p>A full codeableConcept to validate. The server can translate any of the coding values (e.g. existing translations) as it chooses</p>\n</div></td></tr><tr><td>IN</td><td>targetScope</td><td>0..1</td><td><a href=\"datatypes.html#uri\">uri</a></td><td/><td><div><p>Limits the scope of the $translate operation to target codes (ConceptMap.group.element.target.code) that are members of this value set.</p>\n</div></td></tr><tr><td>IN</td><td>targetSystem</td><td>0..1</td><td><a href=\"datatypes.html#uri\">uri</a></td><td/><td><div><p>identifies a target code system in which a mapping is sought. This parameter is an alternative to the targetScope 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</p>\n</div></td></tr><tr><td>IN</td><td>dependency</td><td>0..*</td><td></td><td/><td><div><p>Another element that may help produce the correct mapping</p>\n</div></td></tr><tr><td>IN</td><td>dependency.element</td><td>0..1</td><td><a href=\"datatypes.html#uri\">uri</a></td><td/><td><div><p>The element for this dependency</p>\n</div></td></tr><tr><td>IN</td><td>dependency.value</td><td>0..1</td><td><a href=\"datatypes.html#code\">code</a> | <a href=\"datatypes.html#Coding\">Coding</a> | <a href=\"datatypes.html#string\">string</a> | <a href=\"datatypes.html#integer\">integer</a> | <a href=\"datatypes.html#boolean\">boolean</a> | <a href=\"datatypes.html#dateTime\">dateTime</a> | <a href=\"datatypes.html#decimal\">decimal</a> | <a href=\"datatypes.html#uri\">uri</a> | <a href=\"datatypes.html#id\">id</a></td><td/><td><div><p>The value for this dependency</p>\n</div></td></tr><tr><td>OUT</td><td>result</td><td>1..1</td><td><a href=\"datatypes.html#boolean\">boolean</a></td><td/><td><div><p>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'.</p>\n</div></td></tr><tr><td>OUT</td><td>message</td><td>0..1</td><td><a href=\"datatypes.html#string\">string</a></td><td/><td><div><p>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)</p>\n</div></td></tr><tr><td>OUT</td><td>match</td><td>0..*</td><td></td><td/><td><div><p>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</p>\n</div></td></tr><tr><td>OUT</td><td>match.relationship</td><td>0..1</td><td><a href=\"datatypes.html#code\">code</a></td><td/><td><div><p>A code indicating the relationship (e.g., equivalent) of the translation, using values from <a href=\"valueset-concept-map-relationship.html\">ConceptMapRelationship</a></p>\n</div></td></tr><tr><td>OUT</td><td>match.concept</td><td>0..1</td><td><a href=\"datatypes.html#Coding\">Coding</a></td><td/><td><div><p>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)</p>\n</div></td></tr><tr><td>OUT</td><td>match.product</td><td>0..*</td><td></td><td/><td><div><p>An element that is the product of this mapping</p>\n</div></td></tr><tr><td>OUT</td><td>match.product.property</td><td>1..1</td><td><a href=\"datatypes.html#uri\">uri</a></td><td/><td><div><p>The element for this product</p>\n</div></td></tr><tr><td>OUT</td><td>match.product.value</td><td>1..1</td><td><a href=\"datatypes.html#code\">code</a> | <a href=\"datatypes.html#Coding\">Coding</a> | <a href=\"datatypes.html#string\">string</a> | <a href=\"datatypes.html#integer\">integer</a> | <a href=\"datatypes.html#boolean\">boolean</a> | <a href=\"datatypes.html#dateTime\">dateTime</a> | <a href=\"datatypes.html#decimal\">decimal</a> | <a href=\"datatypes.html#uri\">uri</a> | <a href=\"datatypes.html#id\">id</a></td><td/><td><div><p>The value for this product</p>\n</div></td></tr><tr><td>OUT</td><td>match.dependsOn</td><td>0..*</td><td></td><td/><td><div><p>An element that this mapping depends on</p>\n</div></td></tr><tr><td>OUT</td><td>match.dependsOn.property</td><td>1..1</td><td><a href=\"datatypes.html#uri\">uri</a></td><td/><td><div><p>The element for this product</p>\n</div></td></tr><tr><td>OUT</td><td>match.dependsOn.value</td><td>1..1</td><td><a href=\"datatypes.html#code\">code</a> | <a href=\"datatypes.html#Coding\">Coding</a> | <a href=\"datatypes.html#string\">string</a> | <a href=\"datatypes.html#integer\">integer</a> | <a href=\"datatypes.html#boolean\">boolean</a> | <a href=\"datatypes.html#dateTime\">dateTime</a> | <a href=\"datatypes.html#decimal\">decimal</a> | <a href=\"datatypes.html#uri\">uri</a> | <a href=\"datatypes.html#id\">id</a></td><td/><td><div><p>The value for this product</p>\n</div></td></tr><tr><td>OUT</td><td>match.originMap</td><td>0..1</td><td><a href=\"datatypes.html#uri\">uri</a></td><td/><td><div><p>The canonical reference to the concept map from which this mapping comes from</p>\n</div></td></tr></table><div/></div>"
  },
  "extension" : [{
    "url" : "http://hl7.org/fhir/StructureDefinition/structuredefinition-fmm",
    "valueInteger" : 1
  },
  {
    "url" : "http://hl7.org/fhir/StructureDefinition/structuredefinition-standards-status",
    "valueCode" : "trial-use"
  }],
  "url" : "http://hl7.org/fhir/OperationDefinition/ConceptMap-translate",
  "version" : "5.0.0-cibuild",
  "name" : "Translate",
  "title" : "Concept Translation",
  "status" : "draft",
  "kind" : "operation",
  "experimental" : false,
  "date" : "2022-09-28T21:45:00+00:00",
  "publisher" : "HL7 (FHIR Project)",
  "contact" : [{
    "telecom" : [{
      "system" : "url",
      "value" : "http://hl7.org/fhir"
    },
    {
      "system" : "email",
      "value" : "fhir@lists.hl7.org"
    }]
  }],
  "description" : "Translate a code from one value set to another, based on the specified ConceptMap resource. If no ConceptMap resource is specified, then other additional knowledge available to the server may be used. \r\n\r\n One (and only one) of the in parameters (sourceCode, sourceCoding, sourceCodeableConcept, targetCode, targetCoding, or targetCodeableConcept) SHALL be provided, to identify the code that is to be translated.  \r\n\r\n 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. If a source* parameter is provided, the $translate operation will return all matches whereby the provided source concept is the source of a mapping relationship (in a specified ConceptMap or otherwise known to the server). If a target* parameter is provided, the $translate operation will return all matches whereby the provided target concept is the target of a mapping relationship (in a specified ConceptMap or otherwise known to the server). Note: The source value set is an optional parameter because in some cases, the client cannot know what the source value set is. However, without a source value set, the server may be unable to safely identify an applicable concept map, and would return an error. For this reason, a source value set SHOULD always be provided. Note that servers may be able to identify an appropriate concept map without a source value set if there is a full mapping for the entire code system in the concept map, or by manual intervention.",
  "affectsState" : false,
  "code" : "translate",
  "resource" : ["ConceptMap"],
  "system" : false,
  "type" : true,
  "instance" : true,
  "parameter" : [{
    "name" : "url",
    "use" : "in",
    "min" : 0,
    "max" : "1",
    "documentation" : "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.",
    "type" : "uri"
  },
  {
    "name" : "conceptMap",
    "use" : "in",
    "min" : 0,
    "max" : "1",
    "documentation" : "The concept map is provided directly as part of the request. Servers may choose not to accept concept maps in this fashion.",
    "type" : "ConceptMap"
  },
  {
    "name" : "conceptMapVersion",
    "use" : "in",
    "min" : 0,
    "max" : "1",
    "documentation" : "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.",
    "type" : "string"
  },
  {
    "name" : "sourceCode",
    "use" : "in",
    "min" : 0,
    "max" : "1",
    "documentation" : "The code that is to be translated. If a code is provided, a system must be provided",
    "type" : "code"
  },
  {
    "name" : "system",
    "use" : "in",
    "min" : 0,
    "max" : "1",
    "documentation" : "The system for the code that is to be translated",
    "type" : "uri"
  },
  {
    "name" : "version",
    "use" : "in",
    "min" : 0,
    "max" : "1",
    "documentation" : "The version of the system, if one was provided in the source data",
    "type" : "string"
  },
  {
    "name" : "sourceScope",
    "use" : "in",
    "min" : 0,
    "max" : "1",
    "documentation" : "Limits the scope of the $translate operation to source codes (ConceptMap.group.element.code) that are members of this value set.",
    "type" : "uri"
  },
  {
    "name" : "sourceCoding",
    "use" : "in",
    "min" : 0,
    "max" : "1",
    "documentation" : "A coding to translate",
    "type" : "Coding"
  },
  {
    "name" : "sourceCodeableConcept",
    "use" : "in",
    "min" : 0,
    "max" : "1",
    "documentation" : "A full codeableConcept to validate. The server can translate any of the coding values (e.g. existing translations) as it chooses",
    "type" : "CodeableConcept"
  },
  {
    "name" : "targetCode",
    "use" : "in",
    "min" : 0,
    "max" : "1",
    "documentation" : "The target code that is to be translated to. If a code is provided, a system must be provided",
    "type" : "uri"
  },
  {
    "name" : "targetCoding",
    "use" : "in",
    "min" : 0,
    "max" : "1",
    "documentation" : "A target coding to translate to",
    "type" : "uri"
  },
  {
    "name" : "targetCodeableConcept",
    "use" : "in",
    "min" : 0,
    "max" : "1",
    "documentation" : "A full codeableConcept to validate. The server can translate any of the coding values (e.g. existing translations) as it chooses",
    "type" : "uri"
  },
  {
    "name" : "targetScope",
    "use" : "in",
    "min" : 0,
    "max" : "1",
    "documentation" : "Limits the scope of the $translate operation to target codes (ConceptMap.group.element.target.code) that are members of this value set.",
    "type" : "uri"
  },
  {
    "name" : "targetSystem",
    "use" : "in",
    "min" : 0,
    "max" : "1",
    "documentation" : "identifies a target code system in which a mapping is sought. This parameter is an alternative to the targetScope 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",
    "type" : "uri"
  },
  {
    "name" : "dependency",
    "use" : "in",
    "min" : 0,
    "max" : "*",
    "documentation" : "Another element that may help produce the correct mapping",
    "part" : [{
      "name" : "element",
      "use" : "in",
      "min" : 0,
      "max" : "1",
      "documentation" : "The element for this dependency",
      "type" : "uri"
    },
    {
      "extension" : [{
        "url" : "http://hl7.org/fhir/StructureDefinition/operationdefinition-allowed-type",
        "valueUri" : "code"
      },
      {
        "url" : "http://hl7.org/fhir/StructureDefinition/operationdefinition-allowed-type",
        "valueUri" : "Coding"
      },
      {
        "url" : "http://hl7.org/fhir/StructureDefinition/operationdefinition-allowed-type",
        "valueUri" : "string"
      },
      {
        "url" : "http://hl7.org/fhir/StructureDefinition/operationdefinition-allowed-type",
        "valueUri" : "integer"
      },
      {
        "url" : "http://hl7.org/fhir/StructureDefinition/operationdefinition-allowed-type",
        "valueUri" : "boolean"
      },
      {
        "url" : "http://hl7.org/fhir/StructureDefinition/operationdefinition-allowed-type",
        "valueUri" : "dateTime"
      },
      {
        "url" : "http://hl7.org/fhir/StructureDefinition/operationdefinition-allowed-type",
        "valueUri" : "decimal"
      },
      {
        "url" : "http://hl7.org/fhir/StructureDefinition/operationdefinition-allowed-type",
        "valueUri" : "uri"
      },
      {
        "url" : "http://hl7.org/fhir/StructureDefinition/operationdefinition-allowed-type",
        "valueUri" : "id"
      }],
      "name" : "value",
      "use" : "in",
      "min" : 0,
      "max" : "1",
      "documentation" : "The value for this dependency",
      "type" : "Element"
    }]
  },
  {
    "name" : "result",
    "use" : "out",
    "min" : 1,
    "max" : "1",
    "documentation" : "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'.",
    "type" : "boolean"
  },
  {
    "name" : "message",
    "use" : "out",
    "min" : 0,
    "max" : "1",
    "documentation" : "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)",
    "type" : "string"
  },
  {
    "name" : "match",
    "use" : "out",
    "min" : 0,
    "max" : "*",
    "documentation" : "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",
    "part" : [{
      "name" : "relationship",
      "use" : "out",
      "min" : 0,
      "max" : "1",
      "documentation" : "A code indicating the relationship (e.g., equivalent) of the translation, using values from [ConceptMapRelationship](valueset-concept-map-relationship.html)",
      "type" : "code"
    },
    {
      "name" : "concept",
      "use" : "out",
      "min" : 0,
      "max" : "1",
      "documentation" : "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)",
      "type" : "Coding"
    },
    {
      "name" : "product",
      "use" : "out",
      "min" : 0,
      "max" : "*",
      "documentation" : "An element that is the product of this mapping",
      "part" : [{
        "name" : "property",
        "use" : "out",
        "min" : 1,
        "max" : "1",
        "documentation" : "The element for this product",
        "type" : "uri"
      },
      {
        "extension" : [{
          "url" : "http://hl7.org/fhir/StructureDefinition/operationdefinition-allowed-type",
          "valueUri" : "code"
        },
        {
          "url" : "http://hl7.org/fhir/StructureDefinition/operationdefinition-allowed-type",
          "valueUri" : "Coding"
        },
        {
          "url" : "http://hl7.org/fhir/StructureDefinition/operationdefinition-allowed-type",
          "valueUri" : "string"
        },
        {
          "url" : "http://hl7.org/fhir/StructureDefinition/operationdefinition-allowed-type",
          "valueUri" : "integer"
        },
        {
          "url" : "http://hl7.org/fhir/StructureDefinition/operationdefinition-allowed-type",
          "valueUri" : "boolean"
        },
        {
          "url" : "http://hl7.org/fhir/StructureDefinition/operationdefinition-allowed-type",
          "valueUri" : "dateTime"
        },
        {
          "url" : "http://hl7.org/fhir/StructureDefinition/operationdefinition-allowed-type",
          "valueUri" : "decimal"
        },
        {
          "url" : "http://hl7.org/fhir/StructureDefinition/operationdefinition-allowed-type",
          "valueUri" : "uri"
        },
        {
          "url" : "http://hl7.org/fhir/StructureDefinition/operationdefinition-allowed-type",
          "valueUri" : "id"
        }],
        "name" : "value",
        "use" : "out",
        "min" : 1,
        "max" : "1",
        "documentation" : "The value for this product",
        "type" : "Element"
      }]
    },
    {
      "name" : "dependsOn",
      "use" : "out",
      "min" : 0,
      "max" : "*",
      "documentation" : "An element that this mapping depends on",
      "part" : [{
        "name" : "property",
        "use" : "out",
        "min" : 1,
        "max" : "1",
        "documentation" : "The element for this product",
        "type" : "uri"
      },
      {
        "extension" : [{
          "url" : "http://hl7.org/fhir/StructureDefinition/operationdefinition-allowed-type",
          "valueUri" : "code"
        },
        {
          "url" : "http://hl7.org/fhir/StructureDefinition/operationdefinition-allowed-type",
          "valueUri" : "Coding"
        },
        {
          "url" : "http://hl7.org/fhir/StructureDefinition/operationdefinition-allowed-type",
          "valueUri" : "string"
        },
        {
          "url" : "http://hl7.org/fhir/StructureDefinition/operationdefinition-allowed-type",
          "valueUri" : "integer"
        },
        {
          "url" : "http://hl7.org/fhir/StructureDefinition/operationdefinition-allowed-type",
          "valueUri" : "boolean"
        },
        {
          "url" : "http://hl7.org/fhir/StructureDefinition/operationdefinition-allowed-type",
          "valueUri" : "dateTime"
        },
        {
          "url" : "http://hl7.org/fhir/StructureDefinition/operationdefinition-allowed-type",
          "valueUri" : "decimal"
        },
        {
          "url" : "http://hl7.org/fhir/StructureDefinition/operationdefinition-allowed-type",
          "valueUri" : "uri"
        },
        {
          "url" : "http://hl7.org/fhir/StructureDefinition/operationdefinition-allowed-type",
          "valueUri" : "id"
        }],
        "name" : "value",
        "use" : "out",
        "min" : 1,
        "max" : "1",
        "documentation" : "The value for this product",
        "type" : "Element"
      }]
    },
    {
      "name" : "originMap",
      "use" : "out",
      "min" : 0,
      "max" : "1",
      "documentation" : "The canonical reference to the concept map from which this mapping comes from",
      "type" : "uri"
    }]
  }]
}

Usage note: every effort has been made to ensure that the examples are correct and useful, but they are not a normative part of the specification.