R6 Ballot (1st Draft)

This page is part of the FHIR Specification v6.0.0-ballot1: Release 6 Ballot (1st Draft) (see Ballot Notes). The current version is 5.0.0. For a full list of available versions, see the Directory of published versions

Example CodeSystem/map-transform (XML)

FHIR Infrastructure Work GroupMaturity Level: N/AStandards Status: Informative

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

Definition for Code SystemStructureMapTransform

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

<CodeSystem xmlns="http://hl7.org/fhir">
  <id value="map-transform"/> 
  <meta> 
    <lastUpdated value="2023-12-18T15:12:07.602+11:00"/> 
    <profile value="http://hl7.org/fhir/StructureDefinition/shareablecodesystem"/> 
  </meta> 
  <text> 
    <status value="generated"/> 
    <div xmlns="http://www.w3.org/1999/xhtml">
      <p> 
        <b> Properties</b> 
      </p> 
      <p> 
        <b> This code system  defines the following properties for its concepts</b> 
      </p> 
      <table class="grid">
        <tr> 
          <td> 
            <b> Name</b> 
          </td> 
          <td> 
            <b> Code</b> 
          </td> 
          <td> 
            <b> Type</b> 
          </td> 
          <td> 
            <b> Description</b> 
          </td> 
        </tr> 
        <tr> 
          <td> FHIRPath Equivalent</td> 
          <td> fhirpath</td> 
          <td> string</td> 
          <td> FHIRPath equivalent for transform function</td> 
        </tr> 
      </table> 
      <p> 
        <b> Concepts</b> 
      </p> 
      <p> This case-sensitive code system 
        <code> http://hl7.org/fhir/map-transform</code>  defines the following codes:
      </p> 
      <table class="codes">
        <tr> 
          <td style="white-space:nowrap">
            <b> Code</b> 
          </td> 
          <td> 
            <b> Definition</b> 
          </td> 
          <td> 
            <b> FHIRPath Equivalent</b> 
          </td> 
        </tr> 
        <tr> 
          <td style="white-space:nowrap">create
            <a name="map-transform-create"> </a> 
          </td> 
          <td> 
            <div> 
              <p> create(type : string) - type is passed through to the application on the standard
                 API, and must be known by it.</p> 

            </div> 
          </td> 
          <td> n/a</td> 
        </tr> 
        <tr> 
          <td style="white-space:nowrap">copy
            <a name="map-transform-copy"> </a> 
          </td> 
          <td> 
            <div> 
              <p> copy(source).</p> 

            </div> 
          </td> 
          <td> n/a</td> 
        </tr> 
        <tr> 
          <td style="white-space:nowrap">truncate
            <a name="map-transform-truncate"> </a> 
          </td> 
          <td> 
            <div> 
              <p> truncate(source, length) - source must be stringy type.</p> 

            </div> 
          </td> 
          <td> substring</td> 
        </tr> 
        <tr> 
          <td style="white-space:nowrap">escape
            <a name="map-transform-escape"> </a> 
          </td> 
          <td> 
            <div> 
              <p> escape(source, fmt1, fmt2) - change source from one kind of escaping to another
                 (plain, java, xml, json). note that this is for when the string itself is escaped.</p> 

            </div> 
          </td> 
          <td> n/a</td> 
        </tr> 
        <tr> 
          <td style="white-space:nowrap">cast
            <a name="map-transform-cast"> </a> 
          </td> 
          <td> 
            <div> 
              <p> cast(source, type?) - cast (convert) source from one type to another. Target type
                 can be left as implicit if there is one and only one target type known. The default
                 namespace for the type is 'FHIR' (see 
                <a href="http://hl7.org/fhirpath/N1/#is-type-specifier">FHIRPath type specifiers</a> )
              </p> 

            </div> 
          </td> 
          <td> n/a</td> 
        </tr> 
        <tr> 
          <td style="white-space:nowrap">append
            <a name="map-transform-append"> </a> 
          </td> 
          <td> 
            <div> 
              <p> append(source...) - source is element or string.</p> 

            </div> 
          </td> 
          <td> &amp; (String concatenation)</td> 
        </tr> 
        <tr> 
          <td style="white-space:nowrap">translate
            <a name="map-transform-translate"> </a> 
          </td> 
          <td> 
            <div> 
              <p> translate(source, uri_of_map) - use the translate operation.</p> 

            </div> 
          </td> 
          <td> %terminologies.translate()</td> 
        </tr> 
        <tr> 
          <td style="white-space:nowrap">reference
            <a name="map-transform-reference"> </a> 
          </td> 
          <td> 
            <div> 
              <p> reference(source : object) - return a string that references the provided tree
                 properly.</p> 

            </div> 
          </td> 
          <td> related to resolve() but returns the string pointer</td> 
        </tr> 
        <tr> 
          <td style="white-space:nowrap">dateOp
            <a name="map-transform-dateOp"> </a> 
          </td> 
          <td> 
            <div> 
              <p> Perform a date operation. 
                <em> Parameters to be documented</em> .
              </p> 

            </div> 
          </td> 
          <td> n/a</td> 
        </tr> 
        <tr> 
          <td style="white-space:nowrap">uuid
            <a name="map-transform-uuid"> </a> 
          </td> 
          <td> 
            <div> 
              <p> Generate a random UUID (in lowercase). No Parameters.</p> 

            </div> 
          </td> 
          <td> n/a</td> 
        </tr> 
        <tr> 
          <td style="white-space:nowrap">pointer
            <a name="map-transform-pointer"> </a> 
          </td> 
          <td> 
            <div> 
              <p> Return the appropriate string to put in a reference that refers to the resource
                 provided as a parameter.</p> 

            </div> 
          </td> 
          <td> n/a</td> 
        </tr> 
        <tr> 
          <td style="white-space:nowrap">evaluate
            <a name="map-transform-evaluate"> </a> 
          </td> 
          <td> 
            <div> 
              <p> Execute the supplied FHIRPath expression and use the value returned by that.</p> 

            </div> 
          </td> 
          <td> n/a</td> 
        </tr> 
        <tr> 
          <td style="white-space:nowrap">cc
            <a name="map-transform-cc"> </a> 
          </td> 
          <td> 
            <div> 
              <p> Create a CodeableConcept. Parameters = (text) or (system. Code[, display]).</p> 

            </div> 
          </td> 
          <td> n/a</td> 
        </tr> 
        <tr> 
          <td style="white-space:nowrap">c
            <a name="map-transform-c"> </a> 
          </td> 
          <td> 
            <div> 
              <p> Create a Coding. Parameters = (system. Code[, display]).</p> 

            </div> 
          </td> 
          <td> n/a</td> 
        </tr> 
        <tr> 
          <td style="white-space:nowrap">qty
            <a name="map-transform-qty"> </a> 
          </td> 
          <td> 
            <div> 
              <p> Create a quantity. Parameters = (text) or (value, unit, [system, code]) where text
                 is the natural representation e.g. [comparator]value[space]unit.</p> 

            </div> 
          </td> 
          <td> n/a</td> 
        </tr> 
        <tr> 
          <td style="white-space:nowrap">id
            <a name="map-transform-id"> </a> 
          </td> 
          <td> 
            <div> 
              <p> Create an identifier. Parameters = (system, value[, type]) where type is a code
                 from the identifier type value set.</p> 

            </div> 
          </td> 
          <td> n/a</td> 
        </tr> 
        <tr> 
          <td style="white-space:nowrap">cp
            <a name="map-transform-cp"> </a> 
          </td> 
          <td> 
            <div> 
              <p> Create a contact details. Parameters = (value) or (system, value). If no system
                 is provided, the system should be inferred from the content of the value.</p> 

            </div> 
          </td> 
          <td> n/a</td> 
        </tr> 
      </table> 
    </div> 
  </text> 
  <extension url="http://hl7.org/fhir/StructureDefinition/structuredefinition-wg">
    <valueCode value="fhir"/> 
  </extension> 
  <extension url="http://hl7.org/fhir/StructureDefinition/structuredefinition-standards-status">
    <valueCode value="trial-use"/> 
  </extension> 
  <extension url="http://hl7.org/fhir/StructureDefinition/structuredefinition-fmm">
    <valueInteger value="2"/> 
  </extension> 
  <url value="http://hl7.org/fhir/map-transform"/> 
  <identifier> 
    <system value="urn:ietf:rfc:3986"/> 
    <value value="urn:oid:2.16.840.1.113883.4.642.4.682"/> 
  </identifier> 
  <identifier> 
    <use value="old"/> 
    <system value="urn:ietf:rfc:3986"/> 
    <value value="urn:oid:2.16.840.1.113883.4.642.1.668"/> 
  </identifier> 
  <version value="6.0.0-ballot1"/> 
  <name value="StructureMapTransform"/> 
  <title value="Structure Map Transform"/> 
  <status value="active"/> 
  <experimental value="false"/> 
  <date value="2021-01-05T10:01:24+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="How data is copied/created."/> 
  <jurisdiction> 
    <coding> 
      <system value="http://unstats.un.org/unsd/methods/m49/m49.htm"/> 
      <code value="001"/> 
      <display value="World"/> 
    </coding> 
  </jurisdiction> 
  <caseSensitive value="true"/> 
  <valueSet value="http://hl7.org/fhir/ValueSet/map-transform"/> 
  <content value="complete"/> 
  <property> 
    <code value="fhirpath">
      <extension url="http://hl7.org/fhir/StructureDefinition/rendered-value">
        <valueString value="FHIRPath Equivalent"/> 
      </extension> 
    </code> 
    <description value="FHIRPath equivalent for transform function"/> 
    <type value="string"/> 
  </property> 
  <concept> 
    <code value="create"/> 
    <display value="create"/> 
    <definition value="create(type : string) - type is passed through to the application on the standard
     API, and must be known by it."/> 
    <property> 
      <code value="fhirpath"/> 
      <valueString value="n/a"/> 
    </property> 
  </concept> 
  <concept> 
    <code value="copy"/> 
    <display value="copy"/> 
    <definition value="copy(source)."/> 
    <property> 
      <code value="fhirpath"/> 
      <valueString value="n/a"/> 
    </property> 
  </concept> 
  <concept> 
    <code value="truncate"/> 
    <display value="truncate"/> 
    <definition value="truncate(source, length) - source must be stringy type."/> 
    <property> 
      <code value="fhirpath"/> 
      <valueString value="substring"/> 
    </property> 
  </concept> 
  <concept> 
    <code value="escape"/> 
    <display value="escape"/> 
    <definition value="escape(source, fmt1, fmt2) - change source from one kind of escaping to another
     (plain, java, xml, json). note that this is for when the string itself is escaped."/> 
    <property> 
      <code value="fhirpath"/> 
      <valueString value="n/a"/> 
    </property> 
  </concept> 
  <concept> 
    <code value="cast"/> 
    <display value="cast"/> 
    <definition value="cast(source, type?) - cast (convert) source from one type to another. Target type
     can be left as implicit if there is one and only one target type known. The default
     namespace for the type is 'FHIR' (see [FHIRPath type specifiers](http://hl7.org/fhirpath/N1/#
    is-type-specifier))"/> 
    <property> 
      <code value="fhirpath"/> 
      <valueString value="n/a"/> 
    </property> 
  </concept> 
  <concept> 
    <code value="append"/> 
    <display value="append"/> 
    <definition value="append(source...) - source is element or string."/> 
    <property> 
      <code value="fhirpath"/> 
      <valueString value="&amp; (String concatenation)"/> 
    </property> 
  </concept> 
  <concept> 
    <code value="translate"/> 
    <display value="translate"/> 
    <definition value="translate(source, uri_of_map) - use the translate operation."/> 
    <property> 
      <code value="fhirpath"/> 
      <valueString value="%terminologies.translate()"/> 
    </property> 
  </concept> 
  <concept> 
    <code value="reference"/> 
    <display value="reference"/> 
    <definition value="reference(source : object) - return a string that references the provided tree
     properly."/> 
    <property> 
      <code value="fhirpath"/> 
      <valueString value="related to resolve() but returns the string pointer"/> 
    </property> 
  </concept> 
  <concept> 
    <code value="dateOp"/> 
    <display value="dateOp"/> 
    <definition value="Perform a date operation. *Parameters to be documented*."/> 
    <property> 
      <code value="fhirpath"/> 
      <valueString value="n/a"/> 
    </property> 
  </concept> 
  <concept> 
    <code value="uuid"/> 
    <display value="uuid"/> 
    <definition value="Generate a random UUID (in lowercase). No Parameters."/> 
    <property> 
      <code value="fhirpath"/> 
      <valueString value="n/a"/> 
    </property> 
  </concept> 
  <concept> 
    <code value="pointer"/> 
    <display value="pointer"/> 
    <definition value="Return the appropriate string to put in a reference that refers to the resource
     provided as a parameter."/> 
    <property> 
      <code value="fhirpath"/> 
      <valueString value="n/a"/> 
    </property> 
  </concept> 
  <concept> 
    <code value="evaluate"/> 
    <display value="evaluate"/> 
    <definition value="Execute the supplied FHIRPath expression and use the value returned by that."/> 
    <property> 
      <code value="fhirpath"/> 
      <valueString value="n/a"/> 
    </property> 
  </concept> 
  <concept> 
    <code value="cc"/> 
    <display value="cc"/> 
    <definition value="Create a CodeableConcept. Parameters = (text) or (system. Code[, display])."/> 
    <property> 
      <code value="fhirpath"/> 
      <valueString value="n/a"/> 
    </property> 
  </concept> 
  <concept> 
    <code value="c"/> 
    <display value="c"/> 
    <definition value="Create a Coding. Parameters = (system. Code[, display])."/> 
    <property> 
      <code value="fhirpath"/> 
      <valueString value="n/a"/> 
    </property> 
  </concept> 
  <concept> 
    <code value="qty"/> 
    <display value="qty"/> 
    <definition value="Create a quantity. Parameters = (text) or (value, unit, [system, code]) where text
     is the natural representation e.g. [comparator]value[space]unit."/> 
    <property> 
      <code value="fhirpath"/> 
      <valueString value="n/a"/> 
    </property> 
  </concept> 
  <concept> 
    <code value="id"/> 
    <display value="id"/> 
    <definition value="Create an identifier. Parameters = (system, value[, type]) where type is a code
     from the identifier type value set."/> 
    <property> 
      <code value="fhirpath"/> 
      <valueString value="n/a"/> 
    </property> 
  </concept> 
  <concept> 
    <code value="cp"/> 
    <display value="cp"/> 
    <definition value="Create a contact details. Parameters = (value) or (system, value). If no system
     is provided, the system should be inferred from the content of the value."/> 
    <property> 
      <code value="fhirpath"/> 
      <valueString value="n/a"/> 
    </property> 
  </concept> 
</CodeSystem> 

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.