Release 5 R6 Ballot (3rd Draft)
This page is part of the FHIR Specification (v5.0.0: R5 - STU ). This is the current published version in it's permanent home (it will always be available at this URL). For a full list of available versions, see the Directory of published versions

Publish-box (todo)

Example OperationDefinition/NamingSystem-translate-id (XML)

Terminology Infrastructure Work Group Maturity Level : N/A Standards Status : Informative

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

Operation Definition

<?xml version="1.0" encoding="UTF-8"?>
<?xml version="1.0" encoding="UTF-8"?>


<OperationDefinition xmlns="http://hl7.org/fhir">
  <id value="NamingSystem-translate-id"/> 
  <text> 
    

    <status value="generated"/> 
    <div xmlns="http://www.w3.org/1999/xhtml">
      <p class="res-header-id">
        <b> Generated Narrative: OperationDefinition NamingSystem-translate-id</b> 
      </p> 
      <a name="NamingSystem-translate-id"> </a> 
      <a name="hcNamingSystem-translate-id"> </a> 
      <a name="NamingSystem-translate-id-en-AU"> </a> 
      <p> URL: [base]/NamingSystem/$translate-id</p> 
      

      <h3> Parameters</h3> 
      <table class="grid">
        <tr> 
          <td> 
            <b> Use</b> 
          </td> 
          <td> 
            <b> Name</b> 
          </td> 
          <td> 
            <b> Scope</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> id</td> 
          <td/>  
          <td> 1..1</td> 
          <td> 
            <a href="datatypes.html#string">string</a> 
          </td> 
          <td/>  
          <td> 
            <div> 
              The server parses the provided identifier to see what type it is (e.g. a URI, an
                 OID as a URI, a plain OID, or a v2 table 0396 code). If the server can't tell what
                 type of identifier it is, it can try it as multiple types. It is an error if more

              <p> The server parses the provided identifier to see what type it is (e.g. a URI, an
                 OID as a URI, a plain OID, or a v2 table 0396 code). If the server can't tell what
                 type of identifier it is, it can try it as multiple types. It is an error if more

                 than one system matches the provided identifier</p> 
            </div> 
          </td> 
        </tr> 
        <tr> 
          <td> IN</td> 
          <td> sourceType</td> 
          <td/>  
          <td> 1..1</td> 
          <td> 
            <a href="datatypes.html#code">code</a> 
          </td> 
          <td> 
            <a href="valueset-namingsystem-identifier-type.html">Naming System Identifier Type</a>  (Required)
          </td> 
          <td/>  
        </tr> 
        <tr> 
          <td> IN</td> 
          <td> targetType</td> 
          <td/>  
          <td> 1..1</td> 
          <td> 
            <a href="datatypes.html#code">code</a> 
          </td> 
          <td> 
            <a href="valueset-namingsystem-identifier-type.html">Naming System Identifier Type</a>  (Required)
          </td> 
          <td/>  
        </tr> 
        <tr> 
          <td> IN</td> 
          <td> preferredOnly</td> 
          <td/>  
          <td> 0..1</td> 
          <td> 
            <a href="datatypes.html#boolean">boolean</a> 
          </td> 
          <td/>  
          <td> 
            <div> 
              If preferredOnly = true then return only the preferred identifier, or if preferredOnly

              <p> If preferredOnly = true then return only the preferred identifier, or if preferredOnly
                 = false then return all available ids.</p> 
            </div> 
          </td> 
        </tr> 
        <tr> 
          <td> IN</td> 
          <td> date</td> 
          <td/>  
          <td> 0..1</td> 
          <td> 
            <a href="datatypes.html#dateTime">dateTime</a> 
          </td> 
          <td/>  
          <td> 
            <div> 
              If 'date' is supplied return only ids that have a validity period that includes

              <p> If 'date' is supplied return only ids that have a validity period that includes
                 that date.</p> 
            </div> 
          </td> 
        </tr> 
        <tr> 
          <td> OUT</td> 
          <td> result</td> 
          <td/>  
          <td> 1..1</td> 
          <td> 
            <a href="datatypes.html#boolean">boolean</a> 
          </td> 
          <td/>  
          <td> 
            <div> 
              <p> True if the identifier could be translated successfully.</p> 
            </div> 
          </td> 
        </tr> 
        <tr> 
          <td> OUT</td> 
          <td> targetIdentifier</td> 
          <td/>  
          <td> 0..*</td> 
          <td> 
            <a href="datatypes.html#string">string</a> 
          </td> 
          <td/>  
          <td> 
            <div> 
              <p> The target identifer(s) of the requested type</p> 
            </div> 
          </td> 
        </tr> 
        <tr> 
          <td> OUT</td> 
          <td> targetIdentifer.preferred</td> 
          <td/>  
          <td> 0..1</td> 
          <td> 
            <a href="datatypes.html#boolean">boolean</a> 
          </td> 
          <td/>  
          <td> 
            <div> 
              <p> Whether the target identifier is preferred.</p> 
            </div> 
          </td> 
        </tr> 
        <tr> 
          <td> OUT</td> 
          <td> targetIdentifier.period</td> 
          <td/>  
          <td> 0..1</td> 
          <td> 
            <a href="datatypes.html#Period">Period</a> 
          </td> 
          <td/>  
          <td> 
            <div> 
              <p> The perioid when the target identifier is valid.</p> 
            </div> 
          </td> 
        </tr> 
      </table> 
      <div> 
        Servers handle this request by finding the provided identifier in their known naming

        <p> Servers handle this request by finding the provided identifier in their known naming
           systems, and returning the requested identifier type (
          <a href="namingsystem-definitions.html#NamingSystem.uniqueId.type">NamingSystem.uniqueId.type</a> ).
        </p> 
        If the server wishes, it can also look through all code systems and value sets

        <p> If the server wishes, it can also look through all code systems and value sets
           it knows about when attempting to find the requested identifier</p> 
      </div> 
    </div> 
  </text> 
  <extension url="http://hl7.org/fhir/StructureDefinition/structuredefinition-fmm">
    <valueInteger value="1"/> 
  </extension> 
  <extension url="http://hl7.org/fhir/StructureDefinition/structuredefinition-standards-status">
    <valueCode value="trial-use"/> 
  </extension> 
  <extension url="http://hl7.org/fhir/StructureDefinition/structuredefinition-wg">
    <valueCode value="vocab"/> 
  </extension> 
  <url value="http://hl7.org/fhir/OperationDefinition/NamingSystem-translate-id"/> 
  

  <version value="6.0.0-ballot3"/> 
  <name value="TranslateId"/> 
  <title value="Translate id"/> 
  <status value="draft"/> 
  <kind value="operation"/> 
  <experimental value="false"/> 
  
  

  <date value="2025-04-01T12:16:37+11:00"/> 
  <publisher value="HL7 International / Terminology Infrastructure"/> 
  <contact> 
    <telecom> 
      <system value="url"/> 
      <value value="http://hl7.org/fhir"/> 
    </telecom> 
    <telecom> 
      <system value="email"/> 
      <value value="fhir@lists.hl7.org"/> 
    </telecom> 
  </contact> 
  This operation returns an identifier of the target type. The operation takes 5

  <contact> 
    <telecom> 
      <system value="url"/> 
      <value value="http://www.hl7.org/Special/committees/Vocab"/> 
    </telecom> 
  </contact> 
  <description value="This operation returns an identifier of the target type. The operation takes 5
   parameters:     
* a source identifier value - either a URI, an OID, or a v2 table 0396 (other)

* a source identifier value - either a URI, an OID, or a v2 table 0396 (other)

   code  
*  a code for what type of identifier the source identifier is     
* a code for what kind of identifier is desired (URI, OID, v2 table 0396 identifier)

* a code for what kind of identifier is desired (URI, OID, v2 table 0396 identifier)

       
* an optional parameter preferredOnly for whether only the preferred identifier

* an optional parameter preferredOnly for whether only the preferred identifier

   is desired     
* an optional date to return only identifiers that have a validity period that

* an optional date to return only identifiers that have a validity period that

   includes that date   
and returns either the requested identifier(s), or an HTTP errors response with
   an OperationOutcome because either the provided identifier was not recognized,

and returns either the requested identifier(s), or an HTTP errors response with
   an OperationOutcome because either the provided identifier was not recognized,

   or the requested identiifer type is not known."/> 
  <jurisdiction> 
    <coding> 
      <system value="http://unstats.un.org/unsd/methods/m49/m49.htm"/> 
      <code value="001"/> 
      <display value="World"/> 
    </coding> 
  </jurisdiction> 
  <affectsState value="false"/> 
  <code value="translate-id"/> 
  Servers handle this request by finding the provided identifier in their known naming
   systems, and returning the requested identifier type ([NamingSystem.uniqueId.type](namingsyst

  <comment value="Servers handle this request by finding the provided identifier in their known naming
   systems, and returning the requested identifier type ([NamingSystem.uniqueId.type](namingsyst

  em-definitions.html#NamingSystem.uniqueId.type)).  
If the server wishes, it can also look through all code systems and value sets

If the server wishes, it can also look through all code systems and value sets

   it knows about when attempting to find the requested identifier"/> 
  <resource value="NamingSystem"/> 
  <system value="false"/> 
  <type value="true"/> 
  <instance value="false"/> 
  <parameter> 
    <name value="id"/> 
    <use value="in"/> 
    <min value="1"/> 
    <max value="1"/> 
    The server parses the provided identifier to see what type it is (e.g. a URI, an
     OID as a URI, a plain OID, or a v2 table 0396 code). If the server can't tell what
     type of identifier it is, it can try it as multiple types. It is an error if more

    <documentation value="The server parses the provided identifier to see what type it is (e.g. a URI, an
     OID as a URI, a plain OID, or a v2 table 0396 code). If the server can't tell what
     type of identifier it is, it can try it as multiple types. It is an error if more

     than one system matches the provided identifier"/> 
    <type value="string"/> 
  </parameter> 
  <parameter> 
    <name value="sourceType"/> 
    <use value="in"/> 
    <min value="1"/> 
    <max value="1"/> 
    <type value="code"/> 
    <binding> 
      <extension url="http://hl7.org/fhir/StructureDefinition/elementdefinition-bindingName">
        <valueString value="NamingSystemIdentifierType"/> 
      </extension> 
      <strength value="required"/> 
      

      <valueSet value="http://hl7.org/fhir/ValueSet/namingsystem-identifier-type|6.0.0-ballot3"/> 
    </binding> 
  </parameter> 
  <parameter> 
    <name value="targetType"/> 
    <use value="in"/> 
    <min value="1"/> 
    <max value="1"/> 
    <type value="code"/> 
    <binding> 
      <extension url="http://hl7.org/fhir/StructureDefinition/elementdefinition-bindingName">
        <valueString value="NamingSystemIdentifierType"/> 
      </extension> 
      <strength value="required"/> 
      

      <valueSet value="http://hl7.org/fhir/ValueSet/namingsystem-identifier-type|6.0.0-ballot3"/> 
    </binding> 
  </parameter> 
  <parameter> 
    <name value="preferredOnly"/> 
    <use value="in"/> 
    <min value="0"/> 
    <max value="1"/> 
    If preferredOnly = true then return only the preferred identifier, or if preferredOnly

    <documentation value="If preferredOnly = true then return only the preferred identifier, or if preferredOnly
     = false then return all available ids."/> 
    <type value="boolean"/> 
  </parameter> 
  <parameter> 
    <name value="date"/> 
    <use value="in"/> 
    <min value="0"/> 
    <max value="1"/> 
    If 'date' is supplied return only ids that have a validity period that includes

    <documentation value="If 'date' is supplied return only ids that have a validity period that includes
     that date."/> 
    <type value="dateTime"/> 
  </parameter> 
  <parameter> 
    <name value="result"/> 
    <use value="out"/> 
    <min value="1"/> 
    <max value="1"/> 
    <documentation value="True if the identifier could be translated successfully."/> 
    <type value="boolean"/> 
  </parameter> 
  <parameter> 
    <name value="targetIdentifier"/> 
    <use value="out"/> 
    <min value="0"/> 
    <max value="*"/> 
    <documentation value="The target identifer(s) of the requested type"/> 
    <type value="string"/> 
  </parameter> 
  <parameter> 
    <name value="targetIdentifer.preferred"/> 
    <use value="out"/> 
    <min value="0"/> 
    <max value="1"/> 
    <documentation value="Whether the target identifier is preferred."/> 
    <type value="boolean"/> 
  </parameter> 
  <parameter> 
    <name value="targetIdentifier.period"/> 
    <use value="out"/> 
    <min value="0"/> 
    <max value="1"/> 
    <documentation value="The perioid when the target identifier is valid."/> 
    <type value="Period"/> 
  </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.