Release 5

This page is part of the FHIR Specification (v5.0.0: R5 - STU). This is the current published version. For a full list of available versions, see the Directory of published versions . Page versions: R5 R4B R4 R3 R2

Example StructureDefinition/Coding (XML)

Modeling and Methodology Work GroupMaturity Level: N/AStandards Status: Informative

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

StructureDefinition for Coding

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

<StructureDefinition xmlns="http://hl7.org/fhir">
  <id value="Coding"/> 
  <text> 
    <status value="generated"/> 
    <div xmlns="http://www.w3.org/1999/xhtml">
      <table border="0" cellpadding="0" cellspacing="0" style="border: 0px #F0F0F0 solid; font-size: 11px; font-family: verdana; vertical-align:
       top;">
        <tr style="border: 1px #F0F0F0 solid; font-size: 11px; font-family: verdana; vertical-align:
         top">
          <th class="hierarchy" style="vertical-align: top; text-align : left; background-color: white; border: 0px #F0F0F0
           solid; padding:0px 4px 0px 4px">
            <a href="https://build.fhir.org/ig/FHIR/ig-guidance/readingIgs.html#table-views" title="The logical name of the element">Name</a> 
          </th> 
          <th class="hierarchy" style="vertical-align: top; text-align : left; background-color: white; border: 0px #F0F0F0
           solid; padding:0px 4px 0px 4px">
            <a href="https://build.fhir.org/ig/FHIR/ig-guidance/readingIgs.html#table-views" title="Information about the use of the element">Flags</a> 
          </th> 
          <th class="hierarchy" style="vertical-align: top; text-align : left; background-color: white; border: 0px #F0F0F0
           solid; padding:0px 4px 0px 4px">
            <a href="https://build.fhir.org/ig/FHIR/ig-guidance/readingIgs.html#table-views" title="Minimum and Maximum # of times the the element can appear in the instance">Card.</a> 
          </th> 
          <th class="hierarchy" style="width: 100px">
            <a href="https://build.fhir.org/ig/FHIR/ig-guidance/readingIgs.html#table-views" title="Reference to the type of the element">Type</a> 
          </th> 
          <th class="hierarchy" style="vertical-align: top; text-align : left; background-color: white; border: 0px #F0F0F0
           solid; padding:0px 4px 0px 4px">
            <a href="https://build.fhir.org/ig/FHIR/ig-guidance/readingIgs.html#table-views" title="Additional information about the element">Description &amp; Constraints</a> 
            <span style="float: right">
              <a href="https://build.fhir.org/ig/FHIR/ig-guidance/readingIgs.html#table-views" title="Legend for this format">
                <img alt="doco" src="data:(snipped in html view)" style="background-color: inherit"/> 
              </a> 
            </span> 
          </th> 
        </tr> 
        <tr style="border: 0px #F0F0F0 solid; padding:0px; vertical-align: top; background-color:
         white">
          <td class="hierarchy" style="vertical-align: top; text-align : left; background-color: white; border: 0px #F0F0F0
           solid; padding:0px 4px 0px 4px; white-space: nowrap; background-image: url(data:image/png;bas
          e64,iVBORw0KGgoAAAANSUhEUgAAAyAAAAACCAYAAACg/LjIAAAAJUlEQVR4Xu3IIQEAAAgDsHd9/w4EQIOamFnaBgAA4M
          MKAACAKwNp30CqZFfFmwAAAABJRU5ErkJggg==)">
            <img alt="." class="hierarchy" src="data:(snipped in html view)" style="background-color: inherit"/> 
            <img alt="." class="hierarchy" src="data:(snipped in html view)" style="background-color: white; background-color: inherit" title="Element"/>  
            <a href="datatypes-definitions.html#Coding" title="Coding : A reference to a code defined by a terminology system.">Coding</a> 
          </td> 
          <td class="hierarchy" style="vertical-align: top; text-align : left; background-color: white; border: 0px #F0F0F0
           solid; padding:0px 4px 0px 4px">
            <a href="elementdefinition-definitions.html#ElementDefinition.isSummary" style="padding-left: 3px; padding-right: 3px; color: black; null" title="This element is included in summaries">Σ</a> 
            <a href="versions.html#std-process" style="padding-left: 3px; padding-right: 3px; border: 1px grey solid; font-weight: bold;
             color: black; background-color: #e6ffe6" title="Standards Status = Normative">N</a> 
          </td> 
          <td class="hierarchy" style="vertical-align: top; text-align : left; background-color: white; border: 0px #F0F0F0
           solid; padding:0px 4px 0px 4px"/> 
          <td class="hierarchy" style="vertical-align: top; text-align : left; background-color: white; border: 0px #F0F0F0
           solid; padding:0px 4px 0px 4px">
            <a href="types.html#Element">Element</a> 
          </td> 
          <td class="hierarchy" style="vertical-align: top; text-align : left; background-color: white; border: 0px #F0F0F0
           solid; padding:0px 4px 0px 4px">A reference to a code defined by a terminology system
            <br/>  
            <span style="font-style: italic" title="cod-1">+ Warning: A Coding SHOULD NOT have a display unless a code is also present.  Computation
               on Coding.display alone is generally unsafe.  Consider using CodeableConcept.text</span> 
            <br/>  
            <br/>  Elements defined in Ancestors: 
            <a href="types.html#Element" title="Unique id for the element within a resource (for internal references). This may
             be any string value that does not contain spaces.">id</a> , 
            <a href="types.html#Element" title="May be used to represent additional information that is not part of the basic definition
             of the element. To make the use of extensions safe and managable, there is a strict
             set of governance applied to the definition and use of extensions. Though any implementer
             can define an extension, there is a set of requirements that SHALL be met as part
             of the definition of the extension.">extension</a> 
          </td> 
        </tr> 

        <tr style="border: 0px #F0F0F0 solid; padding:0px; vertical-align: top; background-color:
         #F7F7F7">
          <td class="hierarchy" style="vertical-align: top; text-align : left; background-color: #F7F7F7; border: 0px
           #F0F0F0 solid; padding:0px 4px 0px 4px; white-space: nowrap; background-image:
           url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAyAAAAACCAYAAACg/LjIAAAALUlEQVR4Xu3IoREAIAw
          EwfT6/ddA0GBAxO3NrLlKUj9263wAAAAvrgEAADClAVWFQIBRHMicAAAAAElFTkSuQmCC)">
            <img alt="." class="hierarchy" src="data:(snipped in html view)" style="background-color: inherit"/> 
            <img alt="." class="hierarchy" src="data:(snipped in html view)" style="background-color: inherit"/> 
            <img alt="." class="hierarchy" src="data:(snipped in html view)" style="background-color: #F7F7F7; background-color: inherit" title="Primitive Data Type"/>  
            <a href="datatypes-definitions.html#Coding.system" title="Coding.system : The identification of the code system that defines the meaning
             of the symbol in the code.">system</a> 
          </td> 
          <td class="hierarchy" style="vertical-align: top; text-align : left; background-color: #F7F7F7; border: 0px
           #F0F0F0 solid; padding:0px 4px 0px 4px">
            <a href="elementdefinition-definitions.html#ElementDefinition.isSummary" style="padding-left: 3px; padding-right: 3px; color: black; null" title="This element is included in summaries">Σ</a> 
          </td> 
          <td class="hierarchy" style="vertical-align: top; text-align : left; background-color: #F7F7F7; border: 0px
           #F0F0F0 solid; padding:0px 4px 0px 4px">0..1</td> 
          <td class="hierarchy" style="vertical-align: top; text-align : left; background-color: #F7F7F7; border: 0px
           #F0F0F0 solid; padding:0px 4px 0px 4px">
            <a href="datatypes.html#uri">uri</a> 
          </td> 
          <td class="hierarchy" style="vertical-align: top; text-align : left; background-color: #F7F7F7; border: 0px
           #F0F0F0 solid; padding:0px 4px 0px 4px">Identity of the terminology system
            <br/>  
          </td> 
        </tr> 

        <tr style="border: 0px #F0F0F0 solid; padding:0px; vertical-align: top; background-color:
         white">
          <td class="hierarchy" style="vertical-align: top; text-align : left; background-color: white; border: 0px #F0F0F0
           solid; padding:0px 4px 0px 4px; white-space: nowrap; background-image: url(data:image/png;bas
          e64,iVBORw0KGgoAAAANSUhEUgAAAyAAAAACCAYAAACg/LjIAAAALUlEQVR4Xu3IoREAIAwEwfT6/ddA0GBAxO3NrLlKUj
          9263wAAAAvrgEAADClAVWFQIBRHMicAAAAAElFTkSuQmCC)">
            <img alt="." class="hierarchy" src="data:(snipped in html view)" style="background-color: inherit"/> 
            <img alt="." class="hierarchy" src="data:(snipped in html view)" style="background-color: inherit"/> 
            <img alt="." class="hierarchy" src="data:(snipped in html view)" style="background-color: white; background-color: inherit" title="Primitive Data Type"/>  
            <a href="datatypes-definitions.html#Coding.version" title="Coding.version : The version of the code system which was used when choosing this
             code. Note that a well-maintained code system does not need the version reported,
             because the meaning of codes is consistent across versions. However this cannot
             consistently be assured, and when the meaning is not guaranteed to be consistent,
             the version SHOULD be exchanged.">version</a> 
          </td> 
          <td class="hierarchy" style="vertical-align: top; text-align : left; background-color: white; border: 0px #F0F0F0
           solid; padding:0px 4px 0px 4px">
            <a href="elementdefinition-definitions.html#ElementDefinition.isSummary" style="padding-left: 3px; padding-right: 3px; color: black; null" title="This element is included in summaries">Σ</a> 
          </td> 
          <td class="hierarchy" style="vertical-align: top; text-align : left; background-color: white; border: 0px #F0F0F0
           solid; padding:0px 4px 0px 4px">0..1</td> 
          <td class="hierarchy" style="vertical-align: top; text-align : left; background-color: white; border: 0px #F0F0F0
           solid; padding:0px 4px 0px 4px">
            <a href="datatypes.html#string">string</a> 
          </td> 
          <td class="hierarchy" style="vertical-align: top; text-align : left; background-color: white; border: 0px #F0F0F0
           solid; padding:0px 4px 0px 4px">Version of the system - if relevant
            <br/>  
          </td> 
        </tr> 

        <tr style="border: 0px #F0F0F0 solid; padding:0px; vertical-align: top; background-color:
         #F7F7F7">
          <td class="hierarchy" style="vertical-align: top; text-align : left; background-color: #F7F7F7; border: 0px
           #F0F0F0 solid; padding:0px 4px 0px 4px; white-space: nowrap; background-image:
           url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAyAAAAACCAYAAACg/LjIAAAALUlEQVR4Xu3IoREAIAw
          EwfT6/ddA0GBAxO3NrLlKUj9263wAAAAvrgEAADClAVWFQIBRHMicAAAAAElFTkSuQmCC)">
            <img alt="." class="hierarchy" src="data:(snipped in html view)" style="background-color: inherit"/> 
            <img alt="." class="hierarchy" src="data:(snipped in html view)" style="background-color: inherit"/> 
            <img alt="." class="hierarchy" src="data:(snipped in html view)" style="background-color: #F7F7F7; background-color: inherit" title="Primitive Data Type"/>  
            <a href="datatypes-definitions.html#Coding.code" title="Coding.code : A symbol in syntax defined by the system. The symbol may be a predefined
             code or an expression in a syntax defined by the coding system (e.g. post-coordination).">code</a> 
          </td> 
          <td class="hierarchy" style="vertical-align: top; text-align : left; background-color: #F7F7F7; border: 0px
           #F0F0F0 solid; padding:0px 4px 0px 4px">
            <a href="elementdefinition-definitions.html#ElementDefinition.isSummary" style="padding-left: 3px; padding-right: 3px; color: black; null" title="This element is included in summaries">Σ</a> 
            <a href="conformance-rules.html#constraints" style="padding-left: 3px; padding-right: 3px; border: 1px maroon solid; font-weight: bold;
             color: #301212; background-color: #fdf4f4;" title="This element has or is affected by some invariants">C</a> 
          </td> 
          <td class="hierarchy" style="vertical-align: top; text-align : left; background-color: #F7F7F7; border: 0px
           #F0F0F0 solid; padding:0px 4px 0px 4px">0..1</td> 
          <td class="hierarchy" style="vertical-align: top; text-align : left; background-color: #F7F7F7; border: 0px
           #F0F0F0 solid; padding:0px 4px 0px 4px">
            <a href="datatypes.html#code">code</a> 
          </td> 
          <td class="hierarchy" style="vertical-align: top; text-align : left; background-color: #F7F7F7; border: 0px
           #F0F0F0 solid; padding:0px 4px 0px 4px">Symbol in syntax defined by the system
            <br/>  
          </td> 
        </tr> 

        <tr style="border: 0px #F0F0F0 solid; padding:0px; vertical-align: top; background-color:
         white">
          <td class="hierarchy" style="vertical-align: top; text-align : left; background-color: white; border: 0px #F0F0F0
           solid; padding:0px 4px 0px 4px; white-space: nowrap; background-image: url(data:image/png;bas
          e64,iVBORw0KGgoAAAANSUhEUgAAAyAAAAACCAYAAACg/LjIAAAALUlEQVR4Xu3IoREAIAwEwfT6/ddA0GBAxO3NrLlKUj
          9263wAAAAvrgEAADClAVWFQIBRHMicAAAAAElFTkSuQmCC)">
            <img alt="." class="hierarchy" src="data:(snipped in html view)" style="background-color: inherit"/> 
            <img alt="." class="hierarchy" src="data:(snipped in html view)" style="background-color: inherit"/> 
            <img alt="." class="hierarchy" src="data:(snipped in html view)" style="background-color: white; background-color: inherit" title="Primitive Data Type"/>  
            <a href="datatypes-definitions.html#Coding.display" title="Coding.display : A representation of the meaning of the code in the system, following
             the rules of the system.">display</a> 
          </td> 
          <td class="hierarchy" style="vertical-align: top; text-align : left; background-color: white; border: 0px #F0F0F0
           solid; padding:0px 4px 0px 4px">
            <a href="elementdefinition-definitions.html#ElementDefinition.isSummary" style="padding-left: 3px; padding-right: 3px; color: black; null" title="This element is included in summaries">Σ</a> 
            <a href="languages.html#translatable" style="padding-left: 3px; padding-right: 3px; color: black; null" title="This element is a candidate for being translated">T</a> 
            <a href="conformance-rules.html#constraints" style="padding-left: 3px; padding-right: 3px; border: 1px maroon solid; font-weight: bold;
             color: #301212; background-color: #fdf4f4;" title="This element has or is affected by some invariants">C</a> 
          </td> 
          <td class="hierarchy" style="vertical-align: top; text-align : left; background-color: white; border: 0px #F0F0F0
           solid; padding:0px 4px 0px 4px">0..1</td> 
          <td class="hierarchy" style="vertical-align: top; text-align : left; background-color: white; border: 0px #F0F0F0
           solid; padding:0px 4px 0px 4px">
            <a href="datatypes.html#string">string</a> 
          </td> 
          <td class="hierarchy" style="vertical-align: top; text-align : left; background-color: white; border: 0px #F0F0F0
           solid; padding:0px 4px 0px 4px">Representation defined by the system
            <br/>  
          </td> 
        </tr> 

        <tr style="border: 0px #F0F0F0 solid; padding:0px; vertical-align: top; background-color:
         #F7F7F7">
          <td class="hierarchy" style="vertical-align: top; text-align : left; background-color: #F7F7F7; border: 0px
           #F0F0F0 solid; padding:0px 4px 0px 4px; white-space: nowrap; background-image:
           url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAyAAAAACCAYAAACg/LjIAAAAJUlEQVR4Xu3IIQEAAAg
          DsHd9/w4EQIOamFnaBgAA4MMKAACAKwNp30CqZFfFmwAAAABJRU5ErkJggg==)">
            <img alt="." class="hierarchy" src="data:(snipped in html view)" style="background-color: inherit"/> 
            <img alt="." class="hierarchy" src="data:(snipped in html view)" style="background-color: inherit"/> 
            <img alt="." class="hierarchy" src="data:(snipped in html view)" style="background-color: #F7F7F7; background-color: inherit" title="Primitive Data Type"/>  
            <a href="datatypes-definitions.html#Coding.userSelected" title="Coding.userSelected : Indicates that this coding was chosen by a user directly
             - e.g. off a pick list of available items (codes or displays).">userSelected</a> 
          </td> 
          <td class="hierarchy" style="vertical-align: top; text-align : left; background-color: #F7F7F7; border: 0px
           #F0F0F0 solid; padding:0px 4px 0px 4px">
            <a href="elementdefinition-definitions.html#ElementDefinition.isSummary" style="padding-left: 3px; padding-right: 3px; color: black; null" title="This element is included in summaries">Σ</a> 
          </td> 
          <td class="hierarchy" style="vertical-align: top; text-align : left; background-color: #F7F7F7; border: 0px
           #F0F0F0 solid; padding:0px 4px 0px 4px">0..1</td> 
          <td class="hierarchy" style="vertical-align: top; text-align : left; background-color: #F7F7F7; border: 0px
           #F0F0F0 solid; padding:0px 4px 0px 4px">
            <a href="datatypes.html#boolean">boolean</a> 
          </td> 
          <td class="hierarchy" style="vertical-align: top; text-align : left; background-color: #F7F7F7; border: 0px
           #F0F0F0 solid; padding:0px 4px 0px 4px">If this coding was chosen directly by the user
            <br/>  
          </td> 
        </tr> 

        <tr> 
          <td class="hierarchy" colspan="5">
            <br/>  
            <a href="https://build.fhir.org/ig/FHIR/ig-guidance/readingIgs.html#table-views" title="Legend for this format">
              <img alt="doco" src="data:(snipped in html view)" style="background-color: inherit"/>  Documentation for this format
            </a> 
          </td> 
        </tr> 
      </table> 
    </div> 
  </text> 
  <extension url="http://hl7.org/fhir/StructureDefinition/structuredefinition-standards-status">
    <valueCode value="normative"/> 
  </extension> 
  <extension url="http://hl7.org/fhir/StructureDefinition/structuredefinition-normative-version">
    <valueCode value="4.0.0"/> 
  </extension> 
  <extension url="http://hl7.org/fhir/StructureDefinition/structuredefinition-type-characteristics">
    <valueCode value="can-bind"/> 
  </extension> 
  <extension url="http://hl7.org/fhir/StructureDefinition/structuredefinition-type-characteristics">
    <valueCode value="do-translations"/> 
  </extension> 
  <url value="http://hl7.org/fhir/StructureDefinition/Coding"/> 
  <version value="5.0.0"/> 
  <name value="Coding"/> 
  <status value="active"/> 
  <experimental value="false"/> 
  <date value="2023-03-26T15:21:02+11:00"/> 
  <publisher value="HL7 FHIR Standard"/> 
  <contact> 
    <telecom> 
      <system value="url"/> 
      <value value="http://hl7.org/fhir"/> 
    </telecom> 
  </contact> 
  <description value="Coding Type: A reference to a code defined by a terminology system."/> 
  <jurisdiction> 
    <coding> 
      <system value="http://unstats.un.org/unsd/methods/m49/m49.htm"/> 
      <code value="001"/> 
      <display value="World"/> 
    </coding> 
  </jurisdiction> 
  <purpose value="References to codes are very common in healthcare models."/> 
  <fhirVersion value="5.0.0"/> 
  <mapping> 
    <identity value="v2"/> 
    <uri value="http://hl7.org/v2"/> 
    <name value="HL7 V2 Mapping"/> 
  </mapping> 
  <mapping> 
    <identity value="rim"/> 
    <uri value="http://hl7.org/v3"/> 
    <name value="RIM Mapping"/> 
  </mapping> 
  <mapping> 
    <identity value="orim"/> 
    <uri value="http://hl7.org/orim"/> 
    <name value="Ontological RIM Mapping"/> 
  </mapping> 
  <kind value="complex-type"/> 
  <abstract value="false"/> 
  <type value="Coding"/> 
  <baseDefinition value="http://hl7.org/fhir/StructureDefinition/DataType"/> 
  <derivation value="specialization"/> 
  <snapshot> 
    <element id="Coding">
      <extension url="http://hl7.org/fhir/StructureDefinition/structuredefinition-standards-status">
        <valueCode value="normative"/> 
      </extension> 
      <extension url="http://hl7.org/fhir/StructureDefinition/structuredefinition-normative-version">
        <valueCode value="4.0.0"/> 
      </extension> 
      <path value="Coding"/> 
      <short value="A reference to a code defined by a terminology system"/> 
      <definition value="A reference to a code defined by a terminology system."/> 
      <comment value="Codes may be defined very casually in enumerations or code lists, up to very formal
       definitions such as SNOMED CT - see the HL7 v3 Core Principles for more information."/> 
      <min value="0"/> 
      <max value="*"/> 
      <base> 
        <path value="Coding"/> 
        <min value="0"/> 
        <max value="*"/> 
      </base> 
      <constraint> 
        <key value="cod-1"/> 
        <severity value="warning"/> 
        <human value="A Coding SHOULD NOT have a display unless a code is also present.  Computation
         on Coding.display alone is generally unsafe.  Consider using CodeableConcept.text"/> 
        <expression value="code.exists().not() implies display.exists().not()"/> 
        <source value="http://hl7.org/fhir/StructureDefinition/Coding"/> 
      </constraint> 
      <constraint> 
        <key value="ele-1"/> 
        <severity value="error"/> 
        <human value="All FHIR elements must have a @value or children"/> 
        <expression value="hasValue() or (children().count() &gt; id.count())"/> 
        <source value="http://hl7.org/fhir/StructureDefinition/Element"/> 
      </constraint> 
      <isModifier value="false"/> 
      <mapping> 
        <identity value="rim"/> 
        <map value="n/a,CV"/> 
      </mapping> 
      <mapping> 
        <identity value="v2"/> 
        <map value="CE/CNE/CWE subset one of the sets of component 1-3 or 4-6"/> 
      </mapping> 
      <mapping> 
        <identity value="orim"/> 
        <map value="fhir:Coding rdfs:subClassOf dt:CDCoding"/> 
      </mapping> 
    </element> 
    <element id="Coding.id">
      <path value="Coding.id"/> 
      <representation value="xmlAttr"/> 
      <short value="Unique id for inter-element referencing"/> 
      <definition value="Unique id for the element within a resource (for internal references). This may
       be any string value that does not contain spaces."/> 
      <min value="0"/> 
      <max value="1"/> 
      <base> 
        <path value="Element.id"/> 
        <min value="0"/> 
        <max value="1"/> 
      </base> 
      <!--  Note: special primitive values have a FHIRPath system type. e.g. this is compiler
       magic (j)  -->
      <type> 
        <extension url="http://hl7.org/fhir/StructureDefinition/structuredefinition-fhir-type">
          <valueUrl value="id"/> 
        </extension> 
        <code value="http://hl7.org/fhirpath/System.String"/> 
      </type> 
      <condition value="ele-1"/> 
      <isModifier value="false"/> 
      <isSummary value="false"/> 
      <mapping> 
        <identity value="rim"/> 
        <map value="n/a"/> 
      </mapping> 
    </element> 
    <element id="Coding.extension">
      <path value="Coding.extension"/> 
      <slicing> 
        <discriminator> 
          <type value="value"/> 
          <path value="url"/> 
        </discriminator> 
        <description value="Extensions are always sliced by (at least) url"/> 
        <rules value="open"/> 
      </slicing> 
      <short value="Additional content defined by implementations"/> 
      <definition value="May be used to represent additional information that is not part of the basic definition
       of the element. To make the use of extensions safe and managable, there is a strict
       set of governance applied to the definition and use of extensions. Though any implementer
       can define an extension, there is a set of requirements that SHALL be met as part
       of the definition of the extension."/> 
      <comment value="There can be no stigma associated with the use of extensions by any application,
       project, or standard - regardless of the institution or jurisdiction that uses
       or defines the extensions.  The use of extensions is what allows the FHIR specification
       to retain a core level of simplicity for everyone."/> 
      <alias value="extensions"/> 
      <alias value="user content"/> 
      <min value="0"/> 
      <max value="*"/> 
      <base> 
        <path value="Element.extension"/> 
        <min value="0"/> 
        <max value="*"/> 
      </base> 
      <type> 
        <code value="Extension"/> 
      </type> 
      <constraint> 
        <key value="ele-1"/> 
        <severity value="error"/> 
        <human value="All FHIR elements must have a @value or children"/> 
        <expression value="hasValue() or (children().count() &gt; id.count())"/> 
        <source value="http://hl7.org/fhir/StructureDefinition/Element"/> 
      </constraint> 
      <constraint> 
        <key value="ext-1"/> 
        <severity value="error"/> 
        <human value="Must have either extensions or value[x], not both"/> 
        <expression value="extension.exists() != value.exists()"/> 
        <source value="http://hl7.org/fhir/StructureDefinition/Extension"/> 
      </constraint> 
      <isModifier value="false"/> 
      <isSummary value="false"/> 
      <mapping> 
        <identity value="rim"/> 
        <map value="n/a"/> 
      </mapping> 
    </element> 
    <element id="Coding.system">
      <path value="Coding.system"/> 
      <short value="Identity of the terminology system"/> 
      <definition value="The identification of the code system that defines the meaning of the symbol in
       the code."/> 
      <comment value="The URI may be an OID (urn:oid:...) or a UUID (urn:uuid:...).  OIDs and UUIDs SHALL
       be references to the HL7 OID registry. Otherwise, the URI should come from HL7's
       list of FHIR defined special URIs or it should be an absolute reference to some
       definition that establishes the system clearly and unambiguously."/> 
      <requirements value="Need to be unambiguous about the source of the definition of the symbol."/> 
      <min value="0"/> 
      <max value="1"/> 
      <base> 
        <path value="Coding.system"/> 
        <min value="0"/> 
        <max value="1"/> 
      </base> 
      <type> 
        <code value="uri"/> 
      </type> 
      <constraint> 
        <key value="ele-1"/> 
        <severity value="error"/> 
        <human value="All FHIR elements must have a @value or children"/> 
        <expression value="hasValue() or (children().count() &gt; id.count())"/> 
        <source value="http://hl7.org/fhir/StructureDefinition/Element"/> 
      </constraint> 
      <isModifier value="false"/> 
      <isSummary value="true"/> 
      <mapping> 
        <identity value="v2"/> 
        <map value="C*E.3"/> 
      </mapping> 
      <mapping> 
        <identity value="rim"/> 
        <map value="./codeSystem"/> 
      </mapping> 
      <mapping> 
        <identity value="orim"/> 
        <map value="fhir:Coding.system rdfs:subPropertyOf dt:CDCoding.codeSystem"/> 
      </mapping> 
    </element> 
    <element id="Coding.version">
      <path value="Coding.version"/> 
      <short value="Version of the system - if relevant"/> 
      <definition value="The version of the code system which was used when choosing this code. Note that
       a well-maintained code system does not need the version reported, because the meaning
       of codes is consistent across versions. However this cannot consistently be assured,
       and when the meaning is not guaranteed to be consistent, the version SHOULD be
       exchanged."/> 
      <comment value="Where the terminology does not clearly define what string should be used to identify
       code system versions, the recommendation is to use the date (expressed in FHIR
       date format) on which that version was officially published as the version date."/> 
      <min value="0"/> 
      <max value="1"/> 
      <base> 
        <path value="Coding.version"/> 
        <min value="0"/> 
        <max value="1"/> 
      </base> 
      <type> 
        <code value="string"/> 
      </type> 
      <constraint> 
        <key value="ele-1"/> 
        <severity value="error"/> 
        <human value="All FHIR elements must have a @value or children"/> 
        <expression value="hasValue() or (children().count() &gt; id.count())"/> 
        <source value="http://hl7.org/fhir/StructureDefinition/Element"/> 
      </constraint> 
      <isModifier value="false"/> 
      <isSummary value="true"/> 
      <mapping> 
        <identity value="v2"/> 
        <map value="C*E.7"/> 
      </mapping> 
      <mapping> 
        <identity value="rim"/> 
        <map value="./codeSystemVersion"/> 
      </mapping> 
      <mapping> 
        <identity value="orim"/> 
        <map value="fhir:Coding.version rdfs:subPropertyOf dt:CDCoding.codeSystemVersion"/> 
      </mapping> 
    </element> 
    <element id="Coding.code">
      <extension url="http://hl7.org/fhir/tools/StructureDefinition/no-binding">
        <valueBoolean value="true"/> 
      </extension> 
      <path value="Coding.code"/> 
      <short value="Symbol in syntax defined by the system"/> 
      <definition value="A symbol in syntax defined by the system. The symbol may be a predefined code or
       an expression in a syntax defined by the coding system (e.g. post-coordination)."/> 
      <requirements value="Need to refer to a particular code in the system."/> 
      <min value="0"/> 
      <max value="1"/> 
      <base> 
        <path value="Coding.code"/> 
        <min value="0"/> 
        <max value="1"/> 
      </base> 
      <type> 
        <code value="code"/> 
      </type> 
      <condition value="cod-1"/> 
      <constraint> 
        <key value="ele-1"/> 
        <severity value="error"/> 
        <human value="All FHIR elements must have a @value or children"/> 
        <expression value="hasValue() or (children().count() &gt; id.count())"/> 
        <source value="http://hl7.org/fhir/StructureDefinition/Element"/> 
      </constraint> 
      <isModifier value="false"/> 
      <isSummary value="true"/> 
      <mapping> 
        <identity value="v2"/> 
        <map value="C*E.1"/> 
      </mapping> 
      <mapping> 
        <identity value="rim"/> 
        <map value="./code"/> 
      </mapping> 
      <mapping> 
        <identity value="orim"/> 
        <map value="fhir:Coding.code rdfs:subPropertyOf dt:CDCoding.code"/> 
      </mapping> 
    </element> 
    <element id="Coding.display">
      <extension url="http://hl7.org/fhir/StructureDefinition/elementdefinition-translatable">
        <valueBoolean value="true"/> 
      </extension> 
      <extension url="http://hl7.org/fhir/StructureDefinition/elementdefinition-translatable">
        <valueBoolean value="true"/> 
      </extension> 
      <path value="Coding.display"/> 
      <short value="Representation defined by the system"/> 
      <definition value="A representation of the meaning of the code in the system, following the rules
       of the system."/> 
      <requirements value="Need to be able to carry a human-readable meaning of the code for readers that
       do not know  the system."/> 
      <min value="0"/> 
      <max value="1"/> 
      <base> 
        <path value="Coding.display"/> 
        <min value="0"/> 
        <max value="1"/> 
      </base> 
      <type> 
        <code value="string"/> 
      </type> 
      <condition value="cod-1"/> 
      <constraint> 
        <key value="ele-1"/> 
        <severity value="error"/> 
        <human value="All FHIR elements must have a @value or children"/> 
        <expression value="hasValue() or (children().count() &gt; id.count())"/> 
        <source value="http://hl7.org/fhir/StructureDefinition/Element"/> 
      </constraint> 
      <isModifier value="false"/> 
      <isSummary value="true"/> 
      <mapping> 
        <identity value="v2"/> 
        <map value="C*E.2 - but note this is not well followed"/> 
      </mapping> 
      <mapping> 
        <identity value="rim"/> 
        <map value="CV.displayName"/> 
      </mapping> 
      <mapping> 
        <identity value="orim"/> 
        <map value="fhir:Coding.display rdfs:subPropertyOf dt:CDCoding.displayName"/> 
      </mapping> 
    </element> 
    <element id="Coding.userSelected">
      <path value="Coding.userSelected"/> 
      <short value="If this coding was chosen directly by the user"/> 
      <definition value="Indicates that this coding was chosen by a user directly - e.g. off a pick list
       of available items (codes or displays)."/> 
      <comment value="Amongst a set of alternatives, a directly chosen code is the most appropriate starting
       point for new translations. There is some ambiguity about what exactly 'directly
       chosen' implies, and trading partner agreement may be needed to clarify the use
       of this element and its consequences more completely."/> 
      <requirements value="This has been identified as a clinical safety criterium - that this exact system/code
       pair was chosen explicitly, rather than inferred by the system based on some rules
       or language processing."/> 
      <min value="0"/> 
      <max value="1"/> 
      <base> 
        <path value="Coding.userSelected"/> 
        <min value="0"/> 
        <max value="1"/> 
      </base> 
      <type> 
        <code value="boolean"/> 
      </type> 
      <constraint> 
        <key value="ele-1"/> 
        <severity value="error"/> 
        <human value="All FHIR elements must have a @value or children"/> 
        <expression value="hasValue() or (children().count() &gt; id.count())"/> 
        <source value="http://hl7.org/fhir/StructureDefinition/Element"/> 
      </constraint> 
      <isModifier value="false"/> 
      <isSummary value="true"/> 
      <mapping> 
        <identity value="v2"/> 
        <map value="Sometimes implied by being first"/> 
      </mapping> 
      <mapping> 
        <identity value="rim"/> 
        <map value="CD.codingRationale"/> 
      </mapping> 
      <mapping> 
        <identity value="orim"/> 
        <map value="fhir:Coding.userSelected fhir:mapsTo dt:CDCoding.codingRationale. fhir:Coding.userSelected
         fhir:hasMap fhir:Coding.userSelected.map. fhir:Coding.userSelected.map a fhir:Map;
           fhir:target dt:CDCoding.codingRationale. fhir:Coding.userSelected\#true a [ 
            fhir:source &quot;true&quot;;     fhir:target dt:CDCoding.codingRationale\#O
           ]"/> 
      </mapping> 
    </element> 
  </snapshot> 
  <differential> 
    <element id="Coding">
      <extension url="http://hl7.org/fhir/StructureDefinition/structuredefinition-standards-status">
        <valueCode value="normative"/> 
      </extension> 
      <extension url="http://hl7.org/fhir/StructureDefinition/structuredefinition-normative-version">
        <valueCode value="4.0.0"/> 
      </extension> 
      <path value="Coding"/> 
      <short value="A reference to a code defined by a terminology system"/> 
      <definition value="A reference to a code defined by a terminology system."/> 
      <comment value="Codes may be defined very casually in enumerations or code lists, up to very formal
       definitions such as SNOMED CT - see the HL7 v3 Core Principles for more information."/> 
      <min value="0"/> 
      <max value="*"/> 
      <constraint> 
        <key value="cod-1"/> 
        <severity value="warning"/> 
        <human value="A Coding SHOULD NOT have a display unless a code is also present.  Computation
         on Coding.display alone is generally unsafe.  Consider using CodeableConcept.text"/> 
        <expression value="code.exists().not() implies display.exists().not()"/> 
        <source value="http://hl7.org/fhir/StructureDefinition/Coding"/> 
      </constraint> 
      <mapping> 
        <identity value="v2"/> 
        <map value="CE/CNE/CWE subset one of the sets of component 1-3 or 4-6"/> 
      </mapping> 
      <mapping> 
        <identity value="rim"/> 
        <map value="CV"/> 
      </mapping> 
      <mapping> 
        <identity value="orim"/> 
        <map value="fhir:Coding rdfs:subClassOf dt:CDCoding"/> 
      </mapping> 
    </element> 
    <element id="Coding.system">
      <path value="Coding.system"/> 
      <short value="Identity of the terminology system"/> 
      <definition value="The identification of the code system that defines the meaning of the symbol in
       the code."/> 
      <comment value="The URI may be an OID (urn:oid:...) or a UUID (urn:uuid:...).  OIDs and UUIDs SHALL
       be references to the HL7 OID registry. Otherwise, the URI should come from HL7's
       list of FHIR defined special URIs or it should be an absolute reference to some
       definition that establishes the system clearly and unambiguously."/> 
      <requirements value="Need to be unambiguous about the source of the definition of the symbol."/> 
      <min value="0"/> 
      <max value="1"/> 
      <type> 
        <code value="uri"/> 
      </type> 
      <isSummary value="true"/> 
      <mapping> 
        <identity value="v2"/> 
        <map value="C*E.3"/> 
      </mapping> 
      <mapping> 
        <identity value="rim"/> 
        <map value="./codeSystem"/> 
      </mapping> 
      <mapping> 
        <identity value="orim"/> 
        <map value="fhir:Coding.system rdfs:subPropertyOf dt:CDCoding.codeSystem"/> 
      </mapping> 
    </element> 
    <element id="Coding.version">
      <path value="Coding.version"/> 
      <short value="Version of the system - if relevant"/> 
      <definition value="The version of the code system which was used when choosing this code. Note that
       a well-maintained code system does not need the version reported, because the meaning
       of codes is consistent across versions. However this cannot consistently be assured,
       and when the meaning is not guaranteed to be consistent, the version SHOULD be
       exchanged."/> 
      <comment value="Where the terminology does not clearly define what string should be used to identify
       code system versions, the recommendation is to use the date (expressed in FHIR
       date format) on which that version was officially published as the version date."/> 
      <min value="0"/> 
      <max value="1"/> 
      <type> 
        <code value="string"/> 
      </type> 
      <isSummary value="true"/> 
      <mapping> 
        <identity value="v2"/> 
        <map value="C*E.7"/> 
      </mapping> 
      <mapping> 
        <identity value="rim"/> 
        <map value="./codeSystemVersion"/> 
      </mapping> 
      <mapping> 
        <identity value="orim"/> 
        <map value="fhir:Coding.version rdfs:subPropertyOf dt:CDCoding.codeSystemVersion"/> 
      </mapping> 
    </element> 
    <element id="Coding.code">
      <extension url="http://hl7.org/fhir/tools/StructureDefinition/no-binding">
        <valueBoolean value="true"/> 
      </extension> 
      <path value="Coding.code"/> 
      <short value="Symbol in syntax defined by the system"/> 
      <definition value="A symbol in syntax defined by the system. The symbol may be a predefined code or
       an expression in a syntax defined by the coding system (e.g. post-coordination)."/> 
      <requirements value="Need to refer to a particular code in the system."/> 
      <min value="0"/> 
      <max value="1"/> 
      <type> 
        <code value="code"/> 
      </type> 
      <condition value="cod-1"/> 
      <isSummary value="true"/> 
      <mapping> 
        <identity value="v2"/> 
        <map value="C*E.1"/> 
      </mapping> 
      <mapping> 
        <identity value="rim"/> 
        <map value="./code"/> 
      </mapping> 
      <mapping> 
        <identity value="orim"/> 
        <map value="fhir:Coding.code rdfs:subPropertyOf dt:CDCoding.code"/> 
      </mapping> 
    </element> 
    <element id="Coding.display">
      <extension url="http://hl7.org/fhir/StructureDefinition/elementdefinition-translatable">
        <valueBoolean value="true"/> 
      </extension> 
      <extension url="http://hl7.org/fhir/StructureDefinition/elementdefinition-translatable">
        <valueBoolean value="true"/> 
      </extension> 
      <path value="Coding.display"/> 
      <short value="Representation defined by the system"/> 
      <definition value="A representation of the meaning of the code in the system, following the rules
       of the system."/> 
      <requirements value="Need to be able to carry a human-readable meaning of the code for readers that
       do not know  the system."/> 
      <min value="0"/> 
      <max value="1"/> 
      <type> 
        <code value="string"/> 
      </type> 
      <condition value="cod-1"/> 
      <isSummary value="true"/> 
      <mapping> 
        <identity value="v2"/> 
        <map value="C*E.2 - but note this is not well followed"/> 
      </mapping> 
      <mapping> 
        <identity value="rim"/> 
        <map value="CV.displayName"/> 
      </mapping> 
      <mapping> 
        <identity value="orim"/> 
        <map value="fhir:Coding.display rdfs:subPropertyOf dt:CDCoding.displayName"/> 
      </mapping> 
    </element> 
    <element id="Coding.userSelected">
      <path value="Coding.userSelected"/> 
      <short value="If this coding was chosen directly by the user"/> 
      <definition value="Indicates that this coding was chosen by a user directly - e.g. off a pick list
       of available items (codes or displays)."/> 
      <comment value="Amongst a set of alternatives, a directly chosen code is the most appropriate starting
       point for new translations. There is some ambiguity about what exactly 'directly
       chosen' implies, and trading partner agreement may be needed to clarify the use
       of this element and its consequences more completely."/> 
      <requirements value="This has been identified as a clinical safety criterium - that this exact system/code
       pair was chosen explicitly, rather than inferred by the system based on some rules
       or language processing."/> 
      <min value="0"/> 
      <max value="1"/> 
      <type> 
        <code value="boolean"/> 
      </type> 
      <isSummary value="true"/> 
      <mapping> 
        <identity value="v2"/> 
        <map value="Sometimes implied by being first"/> 
      </mapping> 
      <mapping> 
        <identity value="rim"/> 
        <map value="CD.codingRationale"/> 
      </mapping> 
      <mapping> 
        <identity value="orim"/> 
        <map value="fhir:Coding.userSelected fhir:mapsTo dt:CDCoding.codingRationale. fhir:Coding.userSelected
         fhir:hasMap fhir:Coding.userSelected.map. fhir:Coding.userSelected.map a fhir:Map;
           fhir:target dt:CDCoding.codingRationale. fhir:Coding.userSelected\#true a [ 
            fhir:source &quot;true&quot;;     fhir:target dt:CDCoding.codingRationale\#O
           ]"/> 
      </mapping> 
    </element> 
  </differential> 
</StructureDefinition> 

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.