This
page
is
part
of
the
FHIR
Specification
(v1.0.2:
DSTU
(v3.0.2:
STU
2).
3).
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
R3
R2
R3
R2
| Vocabulary Work Group | Maturity Level : N/A | Ballot Status : Informative | Compartments : Not linked to any defined compartments |
Operation Definition
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, so implementers have to check the match.equivalence for each match<OperationDefinition xmlns="http://hl7.org/fhir"> <id value="ConceptMap-translate"/> <text> <status value="generated"/> <div xmlns="http://www.w3.org/1999/xhtml"> <h2> Concept Translation</h2> <p> OPERATION: Concept Translation</p> <p> The official URL for this operation definition is: </p> <pre> http://hl7.org/fhir/OperationDefinition/ConceptMap-translate</pre> <div> <p> 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.</p><p> One (and only one) of the in parameters (code, coding, codeableConcept) must be provided, to identify the code that is to be translated. <br/> </p><p> 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, so implementers have to check the match.equivalence for each match</p></div> <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> code</td> <td> 0..1</td> <td> code</td> <td/> <td> <div> <p> The code that is to be translated. If a code is provided, a system must be provided</p>Identifies the value set used when the concept (system/code pair) was chosen. May be a logical id, or an absolute or relative location</div> </td> </tr> <tr> <td> IN</td> <td> system</td> <td> 0..1</td> <td> uri</td> <td/> <td> <div> <p> The system for the code that is to be translated</p></div> </td> </tr> <tr> <td> IN</td> <td> version</td> <td> 0..1</td> <td> string</td> <td/> <td> <div> <p> The version of the system, if one was provided in the source data</p>A full codeableConcept to validate. The server can translate any of the coding values (e.g. existing translations) as it chooses</div> </td> </tr> <tr> <td> IN</td> <td> source</td> <td> 0..1</td> <td> uri</td> <td/> <td> <div> <p> Identifies the value set used when the concept (system/code pair) was chosen. May be a logical id, or an absolute or relative location. 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</p>Identifies the value set in which a translation is sought. May be a logical id, or an absolute or relative location</div> </td> </tr> <tr> <td> IN</td> <td> coding</td> <td> 0..1</td> <td> Coding</td> <td/> <td> <div> <p> A coding to translate</p></div> </td> </tr> <tr> <td> IN</td> <td> codeableConcept</td> <td> 0..1</td> <td> CodeableConcept</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></div> </td> </tr> <tr> <td> IN</td> <td> target</td> <td> 0..1</td> <td> uri</td> <td/> <td> <div> <p> Identifies the value set in which a translation is sought. May be a logical id, or an absolute or relative location. If there's no target specified, the server should return all known translations, along with their source</p></div> </td> </tr> <tr> <td> IN</td> <td> targetsystem</td> <td> 0..1</td> <td> uri</td> <td/> <td> <div> <p> 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</p>True if the concept could be translated successfully. The value can only be true if at least one returned match has an equivalence which is not unmatched or disjoint</div> </td> </tr> <tr> <td> IN</td> <td> dependency</td> <td> 0..*</td> <td/> <td/> <td> <div> <p> Another element that may help produce the correct mapping</p>Error details, for display to a human. If this is provided when result = true, the message</div> </td> </tr> <tr> <td> IN</td> <td> dependency.element</td> <td> 0..1</td> <td> uri</td> <td/> <td> <div> <p> The element for this dependency</p> </div> </td> </tr> <tr> <td> IN</td> <td> dependency.concept</td> <td> 0..1</td> <td> CodeableConcept</td> <td/> <td> <div> <p> The value for this dependency</p> </div> </td> </tr> <tr> <td> IN</td> <td> reverse</td> <td> 0..1</td> <td> boolean</td> <td/> <td> <div> <p> if this is true, then the operation should return all the codes that might be mapped to this code. This parameter reverses the meaning of the source and target parameters</p> </div> </td> </tr> <tr> <td> OUT</td> <td> result</td> <td> 1..1</td> <td> boolean</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 an equivalence which is not unmatched or disjoint</p> </div> </td> </tr> <tr> <td> OUT</td> <td> message</td> <td> 0..1</td> <td> string</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 providingadditional detail)additional detail)</p>A concept in the target value set with an equivalence. Note that there may be multiple</div> </td> </tr> <tr> <td> OUT</td> <td> match</td> <td> 0..*</td> <td/> <td/> <td> <div> <p> A concept in the target value set with an equivalence. Note that there may be multiple matches of equal or differing equivalence, and the matches may include equivalence valuesthat mean that there is no matchthat mean that there is no match</p>A code indicating the equivalence of the translation, using values from [ConceptMapEquivalence]{conc ept-map-equivalence.html}</div> </td> </tr> <tr> <td> OUT</td> <td> match.equivalence</td> <td> 0..1</td> <td> code</td> <td/> <td> <div> <p> A code indicating the equivalence of the translation, using values from [ConceptMapEquivalence]{conc ept-map-equivalence.html}</p>The translation outcome. Note that this would never have userSelected = true, since the</div> </td> </tr> <tr> <td> OUT</td> <td> match.concept</td> <td> 0..1</td> <td> Coding</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 theclient could know differently)client could know differently)</p></div> </td> </tr> <tr> <td> OUT</td> <td> match.product</td> <td> 0..*</td> <td/> <td/> <td> <div> <p> Another element that is the product of this mapping</p></div> </td> </tr> <tr> <td> OUT</td> <td> match.product.element</td> <td> 0..1</td> <td> uri</td> <td/> <td> <div> <p> The element for this product</p></div> </td> </tr> <tr> <td> OUT</td> <td> match.product.concept</td> <td> 0..1</td> <td> Coding</td> <td/> <td> <div> <p> The value for this product</p>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, so implementers have to check the match.equivalence for each match Identifies the value set used when the concept (system/code pair) was chosen. May be a logical id, or an absolute or relative location A full codeableConcept to validate. The server can translate any of the coding values (e.g. existing translations) as it chooses Identifies the value set in which a translation is sought. May be a logical id, or an absolute or relative location True if the concept could be translated successfully. The value can only be true if at least one returned match has an equivalence which is not unmatched or disjoint Error details, for display to a human. If this is provided when result = true, the message</div> </td> </tr> <tr> <td> OUT</td> <td> match.source</td> <td> 0..1</td> <td> uri</td> <td/> <td> <div> <p> The canonical URI for the concept map from which this mapping comes from</p> </div> </td> </tr> </table> </div> </text> <url value="http://hl7.org/fhir/OperationDefinition/ConceptMap-translate"/> <name value="Concept Translation"/> <status value="draft"/> <kind value="operation"/> <date value="2019-10-24T11:53:00+11:00"/> <publisher value="HL7 (FHIR Project)"/> <contact> <telecom> <system value="url"/> <value value="http://hl7.org/fhir"/> </telecom> <telecom> <system value="email"/> <value value="fhir@lists.hl7.org"/> </telecom> </contact> <description value="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, so implementers have to check the match.equivalence for each match"/> <code value="translate"/> <resource value="ConceptMap"/> <system value="false"/> <type value="true"/> <instance value="true"/> <parameter> <name value="code"/> <use value="in"/> <min value="0"/> <max value="1"/> <documentation value="The code that is to be translated. If a code is provided, a system must be provided"/> <type value="code"/> </parameter> <parameter> <name value="system"/> <use value="in"/> <min value="0"/> <max value="1"/> <documentation value="The system for the code that is to be translated"/> <type value="uri"/> </parameter> <parameter> <name value="version"/> <use value="in"/> <min value="0"/> <max value="1"/> <documentation value="The version of the system, if one was provided in the source data"/> <type value="string"/> </parameter> <parameter> <name value="source"/> <use value="in"/> <min value="0"/> <max value="1"/> <documentation value="Identifies the value set used when the concept (system/code pair) was chosen. May be a logical id, or an absolute or relative location. 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"/> <type value="uri"/> </parameter> <parameter> <name value="coding"/> <use value="in"/> <min value="0"/> <max value="1"/> <documentation value="A coding to translate"/> <type value="Coding"/> </parameter> <parameter> <name value="codeableConcept"/> <use value="in"/> <min value="0"/> <max value="1"/> <documentation value="A full codeableConcept to validate. The server can translate any of the coding values (e.g. existing translations) as it chooses"/> <type value="CodeableConcept"/> </parameter> <parameter> <name value="target"/> <use value="in"/> <min value="0"/> <max value="1"/> <documentation value="Identifies the value set in which a translation is sought. May be a logical id, or an absolute or relative location. If there's no target specified, the server should return all known translations, along with their source"/> <type value="uri"/> </parameter> <parameter> <name value="targetsystem"/> <use value="in"/> <min value="0"/> <max value="1"/> <documentation value="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"/> <type value="uri"/> </parameter> <parameter> <name value="dependency"/> <use value="in"/> <min value="0"/> <max value="*"/> <documentation value="Another element that may help produce the correct mapping"/> <part> <name value="element"/> <use value="in"/> <min value="0"/> <max value="1"/> <documentation value="The element for this dependency"/> <type value="uri"/> </part> <part> <name value="concept"/> <use value="in"/> <min value="0"/> <max value="1"/> <documentation value="The value for this dependency"/> <type value="CodeableConcept"/> </part> </parameter> <parameter> <name value="reverse"/> <use value="in"/> <min value="0"/> <max value="1"/> <documentation value="if this is true, then the operation should return all the codes that might be mapped to this code. This parameter reverses the meaning of the source and target parameters"/> <type value="boolean"/> </parameter> <parameter> <name value="result"/> <use value="out"/> <min value="1"/> <max value="1"/> <documentation value="True if the concept could be translated successfully. The value can only be true if at least one returned match has an equivalence which is not unmatched or disjoint"/> <type value="boolean"/> </parameter> <parameter> <name value="message"/> <use value="out"/> <min value="0"/> <max value="1"/> <documentation value="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 providingadditional detail) A concept in the target value set with an equivalence. Note that there may be multipleadditional detail)"/> <type value="string"/> </parameter> <parameter> <name value="match"/> <use value="out"/> <min value="0"/> <max value="*"/> <documentation value="A concept in the target value set with an equivalence. Note that there may be multiple matches of equal or differing equivalence, and the matches may include equivalence valuesthat mean that there is no match A code indicating the equivalence of the translation, using values from [ConceptMapEquivalence]{conc ept-map-equivalence.html} The translation outcome. Note that this would never have userSelected = true, since thethat mean that there is no match"/> <part> <name value="equivalence"/> <use value="out"/> <min value="0"/> <max value="1"/> <documentation value="A code indicating the equivalence of the translation, using values from [ConceptMapEquivalence]{conc ept-map-equivalence.html}"/> <type value="code"/> </part> <part> <name value="concept"/> <use value="out"/> <min value="0"/> <max value="1"/> <documentation value="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 theclient could know differently)client could know differently)"/> <type value="Coding"/> </part> <part> <name value="product"/> <use value="out"/> <min value="0"/> <max value="*"/> <documentation value="Another element that is the product of this mapping"/> <part> <name value="element"/> <use value="out"/> <min value="0"/> <max value="1"/> <documentation value="The element for this product"/> <type value="uri"/> </part> <part> <name value="concept"/> <use value="out"/> <min value="0"/> <max value="1"/> <documentation value="The value for this product"/> <type value="Coding"/> </part> </part> <part> <name value="source"/> <use value="out"/> <min value="0"/> <max value="1"/> <documentation value="The canonical URI for the concept map from which this mapping comes from"/> <type value="uri"/> </part> </parameter> </ OperationDefinition >
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.