STU 3 Candidate

This page is part of the FHIR Specification (v1.4.0: STU 3 Ballot 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

Operation-conceptmap-translate.xml

Raw XML (canonical form)

Operation Definition

<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>
      <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. || 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</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>

            </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>

            </div>
          </td>
        </tr>
        <tr>
          <td>IN</td>
          <td>valueSet</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</p>

            </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>1..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</p>

            </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>

            </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>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 providing
                 additional detail)</p>

            </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 values
                 that mean that there is no match</p>

            </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>

            </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 the
                 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>

            </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="2016-03-31T08:01:25+11:00"/>
  <publisher value="HL7 (FHIR Project)"/>
  <contact>
    <telecom>
      <system value="other"/>
      <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"/>
  <system value="false"/>
  <type value="ConceptMap"/>
  <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="valueSet"/>
    <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"/>
    <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="1"/>
    <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"/>
    <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="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 providing
     additional 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 values
     that 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 the
       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>
  </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.