<StructureDefinition xmlns="http://hl7.org/fhir">
  <text>
    <status value="generated" />
    <div xmlns="http://www.w3.org/1999/xhtml">
      <h1 xmlns="">NCTS General Concept Map v1.0.0</h1>
      <dl xmlns="">
        <dt>URL</dt>
        <dd>
          <a href="http://ns.electronichealth.net.au/fhir/StructureDefinition/ncts/profile/ConceptMap/general-concept-map/1.0.0">http://ns.electronichealth.net.au/fhir/StructureDefinition/ncts/profile/ConceptMap/general-concept-map/1.0.0</a>
        </dd>
        <dt>Base Definition</dt>
        <dd>
          <a href="http://hl7.org/fhir/StructureDefinition/ConceptMap">http://hl7.org/fhir/StructureDefinition/ConceptMap</a>
        </dd>
        <dt>Status</dt>
        <dd>ACTIVE</dd>
        <dt>Publisher</dt>
        <dd>Australian Digital Health Agency</dd>
        <dt>Description</dt>
        <dd>This StructureDefinition describes the NCTS General Concept Map, a profile of the FHIR® ConceptMap resource. The NCTS General Concept Map is designed to support the representation of mappings between different ValueSets.</dd>
      </dl>
      <h2 xmlns="">Elements (differential)</h2>
      <table xmlns="">
        <thead>
          <tr>
            <th>Path</th>
            <th>Cardinality</th>
            <th>Type</th>
          </tr>
        </thead>
        <tbody>
          <tr>
            <td>ConceptMap</td>
            <td>1..1</td>
            <td>
              <span>ConceptMap</span>
            </td>
          </tr>
          <tr>
            <td>ConceptMap.implicitRules</td>
            <td>0..0</td>
            <td>
              <span>uri</span>
            </td>
          </tr>
          <tr>
            <td>ConceptMap.text</td>
            <td>1..1</td>
            <td>
              <span>Narrative</span>
            </td>
          </tr>
          <tr>
            <td>ConceptMap.contained</td>
            <td>0..0</td>
            <td>
              <span>Resource</span>
            </td>
          </tr>
          <tr>
            <td>ConceptMap.modifierExtension</td>
            <td>0..0</td>
            <td>
              <span>Extension</span>
            </td>
          </tr>
          <tr>
            <td>ConceptMap.url</td>
            <td>1..1</td>
            <td>
              <span>uri</span>
            </td>
          </tr>
          <tr>
            <td>ConceptMap.identifier</td>
            <td>1..1</td>
            <td>
              <span>Identifier</span>
            </td>
          </tr>
          <tr>
            <td>ConceptMap.identifier.system</td>
            <td>1..1</td>
            <td>
              <span>uri</span>
            </td>
          </tr>
          <tr>
            <td>ConceptMap.identifier.value</td>
            <td>1..1</td>
            <td>
              <span>string</span>
            </td>
          </tr>
          <tr>
            <td>ConceptMap.version</td>
            <td>1..1</td>
            <td>
              <span>string</span>
            </td>
          </tr>
          <tr>
            <td>ConceptMap.name</td>
            <td>1..1</td>
            <td>
              <span>string</span>
            </td>
          </tr>
          <tr>
            <td>ConceptMap.experimental</td>
            <td>1..1</td>
            <td>
              <span>boolean</span>
            </td>
          </tr>
          <tr>
            <td>ConceptMap.publisher</td>
            <td>1..1</td>
            <td>
              <span>string</span>
            </td>
          </tr>
          <tr>
            <td>ConceptMap.contact</td>
            <td>0..*</td>
            <td>
              <span>BackboneElement</span>
            </td>
          </tr>
          <tr>
            <td>ConceptMap.contact.modifierExtension</td>
            <td>0..0</td>
            <td>
              <span>Extension</span>
            </td>
          </tr>
          <tr>
            <td>ConceptMap.contact.name</td>
            <td>1..1</td>
            <td>
              <span>string</span>
            </td>
          </tr>
          <tr>
            <td>ConceptMap.contact.telecom</td>
            <td>1..*</td>
            <td>
              <span>ContactPoint</span>
            </td>
          </tr>
          <tr>
            <td>ConceptMap.date</td>
            <td>1..1</td>
            <td>
              <span>dateTime</span>
            </td>
          </tr>
          <tr>
            <td>ConceptMap.description</td>
            <td>1..1</td>
            <td>
              <span>string</span>
            </td>
          </tr>
          <tr>
            <td>ConceptMap.requirements</td>
            <td>0..0</td>
            <td>
              <span>string</span>
            </td>
          </tr>
          <tr>
            <td>ConceptMap.copyright</td>
            <td>1..1</td>
            <td>
              <span>string</span>
            </td>
          </tr>
          <tr>
            <td>ConceptMap.source[x]</td>
            <td>1..1</td>
            <td>
              <span>uri</span>
            </td>
          </tr>
          <tr>
            <td>ConceptMap.target[x]</td>
            <td>1..1</td>
            <td>
              <span>uri</span>
            </td>
          </tr>
          <tr>
            <td>ConceptMap.element</td>
            <td>1..*</td>
            <td>
              <span>BackboneElement</span>
            </td>
          </tr>
          <tr>
            <td>ConceptMap.element.modifierExtension</td>
            <td>0..0</td>
            <td>
              <span>Extension</span>
            </td>
          </tr>
          <tr>
            <td>ConceptMap.element.system</td>
            <td>1..1</td>
            <td>
              <span>uri</span>
            </td>
          </tr>
          <tr>
            <td>ConceptMap.element.code</td>
            <td>1..1</td>
            <td>
              <span>code</span>
            </td>
          </tr>
          <tr>
            <td>ConceptMap.element.target</td>
            <td>1..*</td>
            <td>
              <span>BackboneElement</span>
            </td>
          </tr>
          <tr>
            <td>ConceptMap.element.target.modifierExtension</td>
            <td>0..0</td>
            <td>
              <span>Extension</span>
            </td>
          </tr>
          <tr>
            <td>ConceptMap.element.target.dependsOn</td>
            <td>0..0</td>
            <td>
              <span>BackboneElement</span>
            </td>
          </tr>
          <tr>
            <td>ConceptMap.element.target.product</td>
            <td>0..0</td>
            <td />
          </tr>
        </tbody>
      </table>
    </div>
  </text>
  <url value="http://ns.electronichealth.net.au/fhir/StructureDefinition/ncts/profile/ConceptMap/general-concept-map/1.0.0" />
  <name value="NCTS General Concept Map v1.0.0" />
  <status value="active" />
  <date value="2016-08-03" />
  <publisher value="Australian Digital Health Agency" />
  <description value="This StructureDefinition describes the NCTS General Concept Map, a profile of the FHIR® ConceptMap resource. The NCTS General Concept Map is designed to support the representation of mappings between different ValueSets." />
  <fhirVersion value="1.4.0" />
  <kind value="resource" />
  <abstract value="false" />
  <baseDefinition value="http://hl7.org/fhir/StructureDefinition/ConceptMap" />
  <derivation value="constraint" />
  <snapshot>
    <element>
      <path value="ConceptMap" />
      <short value="A map from one set of concepts to one or more other concepts" />
      <definition value="A statement of relationships from one set of concepts to one or more other concepts - either code systems or data elements, or classes in class models." />
      <min value="1" />
      <max value="1" />
      <base>
        <path value="ConceptMap" />
        <min value="0" />
        <max value="*" />
      </base>
      <type>
        <code value="ConceptMap" />
      </type>
      <mapping>
        <identity value="rim" />
        <map value="N/A" />
      </mapping>
      <mapping>
        <identity value="w5" />
        <map value="conformance.terminology" />
      </mapping>
    </element>
    <element>
      <path value="ConceptMap.id" />
      <short value="Logical id of this artifact" />
      <definition value="The logical id of the resource, as used in the URL for the resource. Once assigned, this value never changes." />
      <min value="0" />
      <max value="1" />
      <base>
        <path value="Resource.id" />
        <min value="0" />
        <max value="*" />
      </base>
      <type>
        <code value="id" />
      </type>
      <isSummary value="true" />
    </element>
    <element>
      <path value="ConceptMap.meta" />
      <short value="Metadata about the resource" />
      <definition value="The metadata about the resource. This is content that is maintained by the infrastructure. Changes to the content may not always be associated with version changes to the resource." />
      <min value="0" />
      <max value="1" />
      <base>
        <path value="Resource.meta" />
        <min value="0" />
        <max value="*" />
      </base>
      <type>
        <code value="Meta" />
      </type>
      <isSummary value="true" />
    </element>
    <element>
      <path value="ConceptMap.implicitRules" />
      <short value="A set of rules under which this content was created" />
      <definition value="A reference to a set of rules that were followed when the resource was constructed, and which must be understood when processing the content." />
      <min value="0" />
      <max value="0" />
      <base>
        <path value="Resource.implicitRules" />
        <min value="0" />
        <max value="*" />
      </base>
      <type>
        <code value="uri" />
      </type>
      <isModifier value="true" />
      <isSummary value="true" />
    </element>
    <element>
      <path value="ConceptMap.language" />
      <short value="Language of the resource content" />
      <definition value="The base language in which the resource is written." />
      <min value="0" />
      <max value="1" />
      <base>
        <path value="Resource.language" />
        <min value="0" />
        <max value="*" />
      </base>
      <type>
        <code value="code" />
      </type>
      <binding>
        <strength value="required" />
        <description value="A human language." />
        <valueSetUri value="http://tools.ietf.org/html/bcp47" />
      </binding>
    </element>
    <element>
      <path value="ConceptMap.text" />
      <short value="Text summary of the resource, for human interpretation" />
      <definition value="A human-readable narrative that contains a summary of the resource, and may be used to represent the content of the resource to a human. The narrative need not encode all the structured data, but is required to contain sufficient detail to make it &quot;clinically safe&quot; for a human to just read the narrative. Resource definitions may define what content should be represented in the narrative to ensure clinical safety." />
      <alias value="narrative" />
      <alias value="html" />
      <alias value="xhtml" />
      <alias value="display" />
      <min value="1" />
      <max value="1" />
      <base>
        <path value="DomainResource.text" />
        <min value="0" />
        <max value="*" />
      </base>
      <type>
        <code value="Narrative" />
      </type>
      <condition value="dom-1" />
      <mapping>
        <identity value="rim" />
        <map value="Act.text?" />
      </mapping>
    </element>
    <element>
      <path value="ConceptMap.contained" />
      <short value="Contained, inline Resources" />
      <definition value="These resources do not have an independent existence apart from the resource that contains them - they cannot be identified independently, and nor can they have their own independent transaction scope." />
      <alias value="inline resources" />
      <alias value="anonymous resources" />
      <alias value="contained resources" />
      <min value="0" />
      <max value="0" />
      <base>
        <path value="DomainResource.contained" />
        <min value="0" />
        <max value="*" />
      </base>
      <type>
        <code value="Resource" />
      </type>
      <mapping>
        <identity value="rim" />
        <map value="N/A" />
      </mapping>
    </element>
    <element>
      <path value="ConceptMap.extension" />
      <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 resource. In order to make the use of extensions safe and manageable, there is a strict set of governance  applied to the definition and use of extensions. Though any implementer is allowed to define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension." />
      <alias value="extensions" />
      <alias value="user content" />
      <min value="0" />
      <max value="*" />
      <base>
        <path value="DomainResource.extension" />
        <min value="0" />
        <max value="*" />
      </base>
      <type>
        <code value="Extension" />
      </type>
      <mapping>
        <identity value="rim" />
        <map value="N/A" />
      </mapping>
    </element>
    <element>
      <path value="ConceptMap.modifierExtension" />
      <slicing>
        <ordered value="false" />
        <rules value="open" />
      </slicing>
      <short value="Extension" />
      <definition value="An Extension" />
      <min value="0" />
      <max value="0" />
      <base>
        <path value="DomainResource.modifierExtension" />
        <min value="0" />
        <max value="*" />
      </base>
      <type>
        <code value="Extension" />
      </type>
      <isModifier value="true" />
    </element>
    <element>
      <path value="ConceptMap.url" />
      <short value="Globally unique logical id for concept map" />
      <definition value="An absolute URL that is used to identify this concept map when it is referenced in a specification, model, design or an instance. This SHALL be a URL, SHOULD be globally unique, and SHOULD be an address at which this concept map is (or will be) published." />
      <min value="1" />
      <max value="1" />
      <base>
        <path value="ConceptMap.url" />
        <min value="0" />
        <max value="1" />
      </base>
      <type>
        <code value="uri" />
      </type>
      <isSummary value="true" />
      <mapping>
        <identity value="rim" />
        <map value="N/A" />
      </mapping>
      <mapping>
        <identity value="w5" />
        <map value="id" />
      </mapping>
    </element>
    <element>
      <path value="ConceptMap.identifier" />
      <short value="Additional identifier for the concept map" />
      <definition value="Formal identifier that is used to identify this concept map when it is represented in other formats, or referenced in a specification, model, design or an instance." />
      <min value="1" />
      <max value="1" />
      <base>
        <path value="ConceptMap.identifier" />
        <min value="0" />
        <max value="1" />
      </base>
      <type>
        <code value="Identifier" />
      </type>
      <isSummary value="true" />
      <mapping>
        <identity value="w5" />
        <map value="id" />
      </mapping>
    </element>
    <element>
      <path value="ConceptMap.identifier.id" />
      <representation value="xmlAttr" />
      <short value="xml:id (or equivalent in JSON)" />
      <definition value="unique id for the element within a resource (for internal references)." />
      <min value="0" />
      <max value="1" />
      <base>
        <path value="Element.id" />
        <min value="0" />
        <max value="*" />
      </base>
      <type>
        <code value="id" />
      </type>
      <mapping>
        <identity value="rim" />
        <map value="n/a" />
      </mapping>
    </element>
    <element>
      <path value="ConceptMap.identifier.extension" />
      <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. In order to make the use of extensions safe and manageable, there is a strict set of governance  applied to the definition and use of extensions. Though any implementer is allowed to define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension." />
      <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>
      <mapping>
        <identity value="rim" />
        <map value="n/a" />
      </mapping>
    </element>
    <element>
      <path value="ConceptMap.identifier.use" />
      <short value="usual | official | temp | secondary (If known)" />
      <definition value="The purpose of this identifier." />
      <requirements value="Allows the appropriate identifier for a particular context of use to be selected from among a set of identifiers." />
      <min value="0" />
      <max value="1" />
      <base>
        <path value="Identifier.use" />
        <min value="0" />
        <max value="1" />
      </base>
      <type>
        <code value="code" />
      </type>
      <isModifier value="true" />
      <isSummary value="true" />
      <binding>
        <strength value="required" />
        <description value="Identifies the purpose for this identifier, if known ." />
        <valueSetReference>
          <reference value="http://hl7.org/fhir/ValueSet/identifier-use" />
        </valueSetReference>
      </binding>
      <mapping>
        <identity value="v2" />
        <map value="N/A" />
      </mapping>
      <mapping>
        <identity value="rim" />
        <map value="Role.code or implied by context" />
      </mapping>
    </element>
    <element>
      <path value="ConceptMap.identifier.type" />
      <short value="Description of identifier" />
      <definition value="A coded type for the identifier that can be used to determine which identifier to use for a specific purpose." />
      <requirements value="Allows users to make use of identifiers when the identifier system is not known." />
      <min value="0" />
      <max value="1" />
      <base>
        <path value="Identifier.type" />
        <min value="0" />
        <max value="1" />
      </base>
      <type>
        <code value="CodeableConcept" />
      </type>
      <isSummary value="true" />
      <binding>
        <strength value="extensible" />
        <description value="A coded type for an identifier that can be used to determine which identifier to use for a specific purpose." />
        <valueSetReference>
          <reference value="http://hl7.org/fhir/ValueSet/identifier-type" />
        </valueSetReference>
      </binding>
      <mapping>
        <identity value="v2" />
        <map value="CX.5" />
      </mapping>
      <mapping>
        <identity value="rim" />
        <map value="Role.code or implied by context" />
      </mapping>
    </element>
    <element>
      <path value="ConceptMap.identifier.system" />
      <short value="The namespace for the identifier" />
      <definition value="Establishes the namespace in which set of possible id values is unique." />
      <requirements value="There are many sequences of identifiers.  To perform matching, we need to know what sequence we're dealing with. The system identifies a particular sequence or set of unique identifiers." />
      <min value="1" />
      <max value="1" />
      <base>
        <path value="Identifier.system" />
        <min value="0" />
        <max value="1" />
      </base>
      <type>
        <code value="uri" />
      </type>
      <fixedUri value="urn:ietf:rfc:3986" />
      <isSummary value="true" />
      <mapping>
        <identity value="v2" />
        <map value="CX.4 / EI-2-4" />
      </mapping>
      <mapping>
        <identity value="rim" />
        <map value="II.root or Role.id.root" />
      </mapping>
      <mapping>
        <identity value="servd" />
        <map value="./IdentifierType" />
      </mapping>
    </element>
    <element>
      <path value="ConceptMap.identifier.value" />
      <short value="The value that is unique" />
      <definition value="The portion of the identifier typically relevant to the user and which is unique within the context of the system." />
      <min value="1" />
      <max value="1" />
      <base>
        <path value="Identifier.value" />
        <min value="0" />
        <max value="1" />
      </base>
      <type>
        <code value="string" />
      </type>
      <isSummary value="true" />
      <mapping>
        <identity value="v2" />
        <map value="CX.1 / EI.1" />
      </mapping>
      <mapping>
        <identity value="rim" />
        <map value="II.extension or II.root if system indicates OID or GUID (Or Role.id.extension or root)" />
      </mapping>
      <mapping>
        <identity value="servd" />
        <map value="./Value" />
      </mapping>
    </element>
    <element>
      <path value="ConceptMap.identifier.period" />
      <short value="Time period when id is/was valid for use" />
      <definition value="Time period during which identifier is/was valid for use." />
      <min value="0" />
      <max value="1" />
      <base>
        <path value="Identifier.period" />
        <min value="0" />
        <max value="1" />
      </base>
      <type>
        <code value="Period" />
      </type>
      <isSummary value="true" />
      <mapping>
        <identity value="v2" />
        <map value="CX.7 + CX.8" />
      </mapping>
      <mapping>
        <identity value="rim" />
        <map value="Role.effectiveTime or implied by context" />
      </mapping>
      <mapping>
        <identity value="servd" />
        <map value="./StartDate and ./EndDate" />
      </mapping>
    </element>
    <element>
      <path value="ConceptMap.identifier.assigner" />
      <short value="Organization that issued id (may be just text)" />
      <definition value="Organization that issued/manages the identifier." />
      <min value="0" />
      <max value="1" />
      <base>
        <path value="Identifier.assigner" />
        <min value="0" />
        <max value="1" />
      </base>
      <type>
        <code value="Reference" />
      </type>
      <isSummary value="true" />
      <mapping>
        <identity value="v2" />
        <map value="CX.4 / (CX.4,CX.9,CX.10)" />
      </mapping>
      <mapping>
        <identity value="rim" />
        <map value="II.assigningAuthorityName but note that this is an improper use by the definition of the field.  Also Role.scoper" />
      </mapping>
      <mapping>
        <identity value="servd" />
        <map value="./IdentifierIssuingAuthority" />
      </mapping>
    </element>
    <element>
      <path value="ConceptMap.version" />
      <short value="Logical id for this version of the concept map" />
      <definition value="The identifier that is used to identify this version of the concept map when it is referenced in a specification, model, design or instance. This is an arbitrary value managed by the profile author manually and the value should be a timestamp." />
      <min value="1" />
      <max value="1" />
      <base>
        <path value="ConceptMap.version" />
        <min value="0" />
        <max value="1" />
      </base>
      <type>
        <code value="string" />
      </type>
      <isSummary value="true" />
      <mapping>
        <identity value="rim" />
        <map value="N/A" />
      </mapping>
      <mapping>
        <identity value="w5" />
        <map value="id.version" />
      </mapping>
    </element>
    <element>
      <path value="ConceptMap.name" />
      <short value="Informal name for this concept map" />
      <definition value="A free text natural language name describing the concept map." />
      <requirements value="Support human navigation." />
      <min value="1" />
      <max value="1" />
      <base>
        <path value="ConceptMap.name" />
        <min value="0" />
        <max value="1" />
      </base>
      <type>
        <code value="string" />
      </type>
      <isSummary value="true" />
      <mapping>
        <identity value="rim" />
        <map value="N/A" />
      </mapping>
    </element>
    <element>
      <path value="ConceptMap.status" />
      <short value="draft | active | retired" />
      <definition value="The status of the concept map." />
      <requirements value="Identify when/if the concept map should be used." />
      <min value="1" />
      <max value="1" />
      <base>
        <path value="ConceptMap.status" />
        <min value="1" />
        <max value="1" />
      </base>
      <type>
        <code value="code" />
      </type>
      <isModifier value="true" />
      <isSummary value="true" />
      <binding>
        <strength value="required" />
        <description value="The lifecycle status of a Value Set or Concept Map." />
        <valueSetReference>
          <reference value="http://hl7.org/fhir/ValueSet/conformance-resource-status" />
        </valueSetReference>
      </binding>
      <mapping>
        <identity value="rim" />
        <map value="N/A" />
      </mapping>
      <mapping>
        <identity value="w5" />
        <map value="status" />
      </mapping>
    </element>
    <element>
      <path value="ConceptMap.experimental" />
      <short value="If for testing purposes, not real usage" />
      <definition value="This ConceptMap was authored for testing purposes (or education/evaluation/marketing), and is not intended to be used for genuine usage." />
      <min value="1" />
      <max value="1" />
      <base>
        <path value="ConceptMap.experimental" />
        <min value="0" />
        <max value="1" />
      </base>
      <type>
        <code value="boolean" />
      </type>
      <isSummary value="true" />
      <mapping>
        <identity value="w5" />
        <map value="class" />
      </mapping>
    </element>
    <element>
      <path value="ConceptMap.publisher" />
      <short value="Name of the publisher (organization or individual)" />
      <definition value="The name of the individual or organization that published the concept map." />
      <requirements value="Helps establish the &quot;authority/credibility&quot; of the concept map.  May also allow for contact." />
      <min value="1" />
      <max value="1" />
      <base>
        <path value="ConceptMap.publisher" />
        <min value="0" />
        <max value="1" />
      </base>
      <type>
        <code value="string" />
      </type>
      <isSummary value="true" />
      <mapping>
        <identity value="w5" />
        <map value="who.witness" />
      </mapping>
    </element>
    <element>
      <path value="ConceptMap.contact" />
      <short value="Contact details of the publisher" />
      <definition value="Contacts to assist a user in finding and communicating with the publisher." />
      <min value="0" />
      <max value="*" />
      <base>
        <path value="ConceptMap.contact" />
        <min value="0" />
        <max value="*" />
      </base>
      <type>
        <code value="BackboneElement" />
      </type>
      <isSummary value="true" />
    </element>
    <element>
      <path value="ConceptMap.contact.id" />
      <representation value="xmlAttr" />
      <short value="xml:id (or equivalent in JSON)" />
      <definition value="unique id for the element within a resource (for internal references)." />
      <min value="0" />
      <max value="1" />
      <base>
        <path value="Element.id" />
        <min value="0" />
        <max value="*" />
      </base>
      <type>
        <code value="id" />
      </type>
      <mapping>
        <identity value="rim" />
        <map value="n/a" />
      </mapping>
    </element>
    <element>
      <path value="ConceptMap.contact.extension" />
      <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. In order to make the use of extensions safe and manageable, there is a strict set of governance  applied to the definition and use of extensions. Though any implementer is allowed to define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension." />
      <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>
      <mapping>
        <identity value="rim" />
        <map value="n/a" />
      </mapping>
    </element>
    <element>
      <path value="ConceptMap.contact.modifierExtension" />
      <slicing>
        <ordered value="false" />
        <rules value="open" />
      </slicing>
      <short value="Extension" />
      <definition value="An Extension" />
      <min value="0" />
      <max value="0" />
      <base>
        <path value="BackboneElement.modifierExtension" />
        <min value="0" />
        <max value="*" />
      </base>
      <type>
        <code value="Extension" />
      </type>
      <isModifier value="true" />
      <isSummary value="true" />
    </element>
    <element>
      <path value="ConceptMap.contact.name" />
      <short value="Name of an individual to contact" />
      <definition value="The name of an individual to contact regarding the concept map." />
      <min value="1" />
      <max value="1" />
      <base>
        <path value="ConceptMap.contact.name" />
        <min value="0" />
        <max value="1" />
      </base>
      <type>
        <code value="string" />
      </type>
      <isSummary value="true" />
    </element>
    <element>
      <path value="ConceptMap.contact.telecom" />
      <short value="Contact details for individual or publisher" />
      <definition value="Contact details for individual (if a name was provided) or the publisher." />
      <min value="1" />
      <max value="*" />
      <base>
        <path value="ConceptMap.contact.telecom" />
        <min value="0" />
        <max value="*" />
      </base>
      <type>
        <code value="ContactPoint" />
      </type>
      <isSummary value="true" />
    </element>
    <element>
      <path value="ConceptMap.date" />
      <short value="Date for given status" />
      <definition value="The date this version of the concept map was published. The date must change when the business version changes, if it does, and it must change if the status code changes. In addition, it should change when the substantive content of the concept map changes." />
      <requirements value="Need to know when a concept map was first legal for use or became withdrawn or replaced." />
      <min value="1" />
      <max value="1" />
      <base>
        <path value="ConceptMap.date" />
        <min value="0" />
        <max value="1" />
      </base>
      <type>
        <code value="dateTime" />
      </type>
      <isSummary value="true" />
      <mapping>
        <identity value="rim" />
        <map value="N/A" />
      </mapping>
      <mapping>
        <identity value="w5" />
        <map value="when.recorded" />
      </mapping>
    </element>
    <element>
      <path value="ConceptMap.description" />
      <short value="Human language description of the concept map" />
      <definition value="A free text natural language description of the use of the concept map - reason for definition, conditions of use, etc." />
      <requirements value="Human understandability." />
      <min value="1" />
      <max value="1" />
      <base>
        <path value="ConceptMap.description" />
        <min value="0" />
        <max value="1" />
      </base>
      <type>
        <code value="string" />
      </type>
      <isSummary value="true" />
      <mapping>
        <identity value="rim" />
        <map value="N/A" />
      </mapping>
    </element>
    <element>
      <path value="ConceptMap.useContext" />
      <short value="Content intends to support these contexts" />
      <definition value="The content was developed with a focus and intent of supporting the contexts that are listed. These terms may be used to assist with indexing and searching of concept map instances." />
      <requirements value="Assist in searching for appropriate concept map instances." />
      <min value="0" />
      <max value="*" />
      <base>
        <path value="ConceptMap.useContext" />
        <min value="0" />
        <max value="*" />
      </base>
      <type>
        <code value="CodeableConcept" />
      </type>
      <isSummary value="true" />
      <binding>
        <strength value="extensible" />
        <description value="Indicates the countries, regions, disciplines and other aspects of use within which this artifact is targeted for use." />
        <valueSetReference>
          <reference value="http://hl7.org/fhir/ValueSet/use-context" />
        </valueSetReference>
      </binding>
      <mapping>
        <identity value="rim" />
        <map value="N/A" />
      </mapping>
    </element>
    <element>
      <path value="ConceptMap.requirements" />
      <short value="Why needed" />
      <definition value="Explains why this concept map is needed and why it has been constrained as it has." />
      <min value="0" />
      <max value="0" />
      <base>
        <path value="ConceptMap.requirements" />
        <min value="0" />
        <max value="1" />
      </base>
      <type>
        <code value="string" />
      </type>
    </element>
    <element>
      <path value="ConceptMap.copyright" />
      <short value="Use and/or publishing restrictions" />
      <definition value="A copyright statement relating to the concept map and/or its contents." />
      <min value="1" />
      <max value="1" />
      <base>
        <path value="ConceptMap.copyright" />
        <min value="0" />
        <max value="1" />
      </base>
      <type>
        <code value="string" />
      </type>
    </element>
    <element>
      <path value="ConceptMap.sourceUri" />
      <short value="Identifies the source of the concepts which are being mapped" />
      <definition value="The source value set that specifies the concepts that are being mapped." />
      <min value="1" />
      <max value="1" />
      <base>
        <path value="ConceptMap.source[x]" />
        <min value="1" />
        <max value="1" />
      </base>
      <type>
        <code value="uri" />
      </type>
      <isSummary value="true" />
    </element>
    <element>
      <path value="ConceptMap.targetUri" />
      <short value="Provides context to the mappings" />
      <definition value="The target value set provides context to the mappings. Note that the mapping is made between concepts, not between value sets, but the value set provides important context about how the concept mapping choices are made." />
      <min value="1" />
      <max value="1" />
      <base>
        <path value="ConceptMap.target[x]" />
        <min value="1" />
        <max value="1" />
      </base>
      <type>
        <code value="uri" />
      </type>
      <isSummary value="true" />
    </element>
    <element>
      <extension url="http://hl7.org/fhir/StructureDefinition/structuredefinition-explicit-type-name">
        <valueString value="SourceElement" />
      </extension>
      <path value="ConceptMap.element" />
      <short value="Mappings for a concept from the source set" />
      <definition value="Mappings for an individual concept in the source to one or more concepts in the target." />
      <alias value="code" />
      <alias value="concept" />
      <alias value="item" />
      <min value="1" />
      <max value="*" />
      <base>
        <path value="ConceptMap.element" />
        <min value="0" />
        <max value="*" />
      </base>
      <type>
        <code value="BackboneElement" />
      </type>
    </element>
    <element>
      <path value="ConceptMap.element.id" />
      <representation value="xmlAttr" />
      <short value="xml:id (or equivalent in JSON)" />
      <definition value="unique id for the element within a resource (for internal references)." />
      <min value="0" />
      <max value="1" />
      <base>
        <path value="Element.id" />
        <min value="0" />
        <max value="*" />
      </base>
      <type>
        <code value="id" />
      </type>
      <mapping>
        <identity value="rim" />
        <map value="n/a" />
      </mapping>
    </element>
    <element>
      <path value="ConceptMap.element.extension" />
      <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. In order to make the use of extensions safe and manageable, there is a strict set of governance  applied to the definition and use of extensions. Though any implementer is allowed to define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension." />
      <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>
      <mapping>
        <identity value="rim" />
        <map value="n/a" />
      </mapping>
    </element>
    <element>
      <path value="ConceptMap.element.modifierExtension" />
      <slicing>
        <ordered value="false" />
        <rules value="open" />
      </slicing>
      <short value="Extension" />
      <definition value="An Extension" />
      <min value="0" />
      <max value="0" />
      <base>
        <path value="BackboneElement.modifierExtension" />
        <min value="0" />
        <max value="*" />
      </base>
      <type>
        <code value="Extension" />
      </type>
      <isModifier value="true" />
      <isSummary value="true" />
    </element>
    <element>
      <path value="ConceptMap.element.system" />
      <short value="Code System (if value set crosses code systems)" />
      <definition value="An absolute URI that identifies the Code System (if the source is a value set that crosses more than one code system)." />
      <min value="1" />
      <max value="1" />
      <base>
        <path value="ConceptMap.element.system" />
        <min value="0" />
        <max value="1" />
      </base>
      <type>
        <code value="uri" />
      </type>
    </element>
    <element>
      <path value="ConceptMap.element.version" />
      <short value="Specific version of the  code system" />
      <definition value="The specific version of the code system, as determined by the code system authority." />
      <min value="0" />
      <max value="1" />
      <base>
        <path value="ConceptMap.element.version" />
        <min value="0" />
        <max value="1" />
      </base>
      <type>
        <code value="string" />
      </type>
    </element>
    <element>
      <path value="ConceptMap.element.code" />
      <short value="Identifies element being mapped" />
      <definition value="Identity (code or path) or the element/item being mapped." />
      <min value="1" />
      <max value="1" />
      <base>
        <path value="ConceptMap.element.code" />
        <min value="0" />
        <max value="1" />
      </base>
      <type>
        <code value="code" />
      </type>
    </element>
    <element>
      <extension url="http://hl7.org/fhir/StructureDefinition/structuredefinition-explicit-type-name">
        <valueString value="TargetElement" />
      </extension>
      <path value="ConceptMap.element.target" />
      <short value="Concept in target system for element" />
      <definition value="A concept from the target value set that this concept maps to." />
      <min value="1" />
      <max value="*" />
      <base>
        <path value="ConceptMap.element.target" />
        <min value="0" />
        <max value="*" />
      </base>
      <type>
        <code value="BackboneElement" />
      </type>
      <constraint>
        <key value="cmd-1" />
        <severity value="error" />
        <human value="If the map is narrower or inexact, there SHALL be some comments" />
        <expression value="comments or ((equivalence != 'narrower') and (equivalence != 'inexact'))" />
        <xpath value="exists(f:comments) or ((f:equivalence/@value != 'narrower') and (f:equivalence/@value != 'inexact'))" />
      </constraint>
    </element>
    <element>
      <path value="ConceptMap.element.target.id" />
      <representation value="xmlAttr" />
      <short value="xml:id (or equivalent in JSON)" />
      <definition value="unique id for the element within a resource (for internal references)." />
      <min value="0" />
      <max value="1" />
      <base>
        <path value="Element.id" />
        <min value="0" />
        <max value="*" />
      </base>
      <type>
        <code value="id" />
      </type>
      <mapping>
        <identity value="rim" />
        <map value="n/a" />
      </mapping>
    </element>
    <element>
      <path value="ConceptMap.element.target.extension" />
      <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. In order to make the use of extensions safe and manageable, there is a strict set of governance  applied to the definition and use of extensions. Though any implementer is allowed to define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension." />
      <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>
      <mapping>
        <identity value="rim" />
        <map value="n/a" />
      </mapping>
    </element>
    <element>
      <path value="ConceptMap.element.target.modifierExtension" />
      <slicing>
        <ordered value="false" />
        <rules value="open" />
      </slicing>
      <short value="Extension" />
      <definition value="An Extension" />
      <min value="0" />
      <max value="0" />
      <base>
        <path value="BackboneElement.modifierExtension" />
        <min value="0" />
        <max value="*" />
      </base>
      <type>
        <code value="Extension" />
      </type>
      <isModifier value="true" />
      <isSummary value="true" />
    </element>
    <element>
      <path value="ConceptMap.element.target.system" />
      <short value="System of the target (if necessary)" />
      <definition value="An absolute URI that identifies the code system of the target code (if the target is a value set that cross code systems)." />
      <min value="0" />
      <max value="1" />
      <base>
        <path value="ConceptMap.element.target.system" />
        <min value="0" />
        <max value="1" />
      </base>
      <type>
        <code value="uri" />
      </type>
    </element>
    <element>
      <path value="ConceptMap.element.target.version" />
      <short value="Specific version of the  code system" />
      <definition value="The specific version of the code system, as determined by the code system authority." />
      <min value="0" />
      <max value="1" />
      <base>
        <path value="ConceptMap.element.target.version" />
        <min value="0" />
        <max value="1" />
      </base>
      <type>
        <code value="string" />
      </type>
    </element>
    <element>
      <path value="ConceptMap.element.target.code" />
      <short value="Code that identifies the target element" />
      <definition value="Identity (code or path) or the element/item that the map refers to." />
      <min value="0" />
      <max value="1" />
      <base>
        <path value="ConceptMap.element.target.code" />
        <min value="0" />
        <max value="1" />
      </base>
      <type>
        <code value="code" />
      </type>
    </element>
    <element>
      <path value="ConceptMap.element.target.equivalence" />
      <short value="equivalent | equal | wider | subsumes | narrower | specializes | inexact | unmatched | disjoint" />
      <definition value="The equivalence between the source and target concepts (counting for the dependencies and products). The equivalence is read from target to source (e.g. the target is 'wider' than the source)." />
      <min value="1" />
      <max value="1" />
      <base>
        <path value="ConceptMap.element.target.equivalence" />
        <min value="1" />
        <max value="1" />
      </base>
      <type>
        <code value="code" />
      </type>
      <isModifier value="true" />
      <binding>
        <strength value="required" />
        <description value="The degree of equivalence between concepts." />
        <valueSetReference>
          <reference value="http://hl7.org/fhir/ValueSet/concept-map-equivalence" />
        </valueSetReference>
      </binding>
    </element>
    <element>
      <path value="ConceptMap.element.target.comments" />
      <short value="Description of status/issues in mapping" />
      <definition value="A description of status/issues in mapping that conveys additional information not represented in  the structured data." />
      <min value="0" />
      <max value="1" />
      <base>
        <path value="ConceptMap.element.target.comments" />
        <min value="0" />
        <max value="1" />
      </base>
      <type>
        <code value="string" />
      </type>
      <condition value="cmd-1" />
    </element>
    <element id="dependsOn">
      <extension url="http://hl7.org/fhir/StructureDefinition/structuredefinition-explicit-type-name">
        <valueString value="OtherElement" />
      </extension>
      <path value="ConceptMap.element.target.dependsOn" />
      <short value="Other elements required for this mapping (from context)" />
      <definition value="A set of additional dependencies for this mapping to hold. This mapping is only applicable if the specified element can be resolved, and it has the specified value." />
      <min value="0" />
      <max value="0" />
      <base>
        <path value="ConceptMap.element.target.dependsOn" />
        <min value="0" />
        <max value="*" />
      </base>
      <type>
        <code value="BackboneElement" />
      </type>
    </element>
    <element>
      <path value="ConceptMap.element.target.dependsOn.id" />
      <representation value="xmlAttr" />
      <short value="xml:id (or equivalent in JSON)" />
      <definition value="unique id for the element within a resource (for internal references)." />
      <min value="0" />
      <max value="1" />
      <base>
        <path value="Element.id" />
        <min value="0" />
        <max value="*" />
      </base>
      <type>
        <code value="id" />
      </type>
      <mapping>
        <identity value="rim" />
        <map value="n/a" />
      </mapping>
    </element>
    <element>
      <path value="ConceptMap.element.target.dependsOn.extension" />
      <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. In order to make the use of extensions safe and manageable, there is a strict set of governance  applied to the definition and use of extensions. Though any implementer is allowed to define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension." />
      <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>
      <mapping>
        <identity value="rim" />
        <map value="n/a" />
      </mapping>
    </element>
    <element>
      <path value="ConceptMap.element.target.dependsOn.modifierExtension" />
      <short value="Extensions that cannot be ignored" />
      <definition value="May be used to represent additional information that is not part of the basic definition of the element, and that modifies the understanding of the element that contains it. Usually modifier elements provide negation or qualification. In order to make the use of extensions safe and manageable, there is a strict set of governance applied to the definition and use of extensions. Though any implementer is allowed to define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension. Applications processing a resource are required to check for modifier extensions." />
      <alias value="extensions" />
      <alias value="user content" />
      <alias value="modifiers" />
      <min value="0" />
      <max value="*" />
      <base>
        <path value="BackboneElement.modifierExtension" />
        <min value="0" />
        <max value="*" />
      </base>
      <type>
        <code value="Extension" />
      </type>
      <isModifier value="true" />
      <isSummary value="true" />
      <mapping>
        <identity value="rim" />
        <map value="N/A" />
      </mapping>
    </element>
    <element>
      <path value="ConceptMap.element.target.dependsOn.element" />
      <short value="Reference to element/field/ValueSet mapping depends on" />
      <definition value="A reference to a specific concept that holds a coded value. This can be an element in a FHIR resource, or a specific reference to a data element in a different specification (e.g. HL7 v2) or a general reference to a kind of data field, or a reference to a value set with an appropriately narrow definition." />
      <min value="1" />
      <max value="1" />
      <base>
        <path value="ConceptMap.element.target.dependsOn.element" />
        <min value="1" />
        <max value="1" />
      </base>
      <type>
        <code value="uri" />
      </type>
    </element>
    <element>
      <path value="ConceptMap.element.target.dependsOn.system" />
      <short value="Code System (if necessary)" />
      <definition value="An absolute URI that identifies the code system of the dependency code (if the source/dependency is a value set that crosses code systems)." />
      <min value="1" />
      <max value="1" />
      <base>
        <path value="ConceptMap.element.target.dependsOn.system" />
        <min value="1" />
        <max value="1" />
      </base>
      <type>
        <code value="uri" />
      </type>
    </element>
    <element>
      <path value="ConceptMap.element.target.dependsOn.code" />
      <short value="Value of the referenced element" />
      <definition value="Identity (code or path) or the element/item/ValueSet that the map depends on / refers to." />
      <min value="1" />
      <max value="1" />
      <base>
        <path value="ConceptMap.element.target.dependsOn.code" />
        <min value="1" />
        <max value="1" />
      </base>
      <type>
        <code value="string" />
      </type>
    </element>
    <element>
      <path value="ConceptMap.element.target.product" />
      <short value="Other concepts that this mapping also produces" />
      <definition value="A set of additional outcomes from this mapping to other elements. To properly execute this mapping, the specified element must be mapped to some data element or source that is in context. The mapping may still be useful without a place for the additional data elements, but the equivalence cannot be relied on." />
      <min value="0" />
      <max value="0" />
      <base>
        <path value="ConceptMap.element.target.product" />
        <min value="0" />
        <max value="*" />
      </base>
      <contentReference value="#dependsOn" />
    </element>
  </snapshot>
  <differential>
    <element>
      <path value="ConceptMap" />
      <min value="1" />
      <max value="1" />
      <type>
        <code value="ConceptMap" />
      </type>
    </element>
    <element>
      <path value="ConceptMap.implicitRules" />
      <min value="0" />
      <max value="0" />
      <type>
        <code value="uri" />
      </type>
    </element>
    <element>
      <path value="ConceptMap.text" />
      <min value="1" />
      <max value="1" />
      <type>
        <code value="Narrative" />
      </type>
    </element>
    <element>
      <path value="ConceptMap.contained" />
      <min value="0" />
      <max value="0" />
      <type>
        <code value="Resource" />
      </type>
    </element>
    <element>
      <path value="ConceptMap.modifierExtension" />
      <min value="0" />
      <max value="0" />
      <type>
        <code value="Extension" />
      </type>
      <isModifier value="true" />
    </element>
    <element>
      <path value="ConceptMap.url" />
      <min value="1" />
      <max value="1" />
      <type>
        <code value="uri" />
      </type>
    </element>
    <element>
      <path value="ConceptMap.identifier" />
      <min value="1" />
      <max value="1" />
      <type>
        <code value="Identifier" />
      </type>
    </element>
    <element>
      <path value="ConceptMap.identifier.system" />
      <min value="1" />
      <max value="1" />
      <type>
        <code value="uri" />
      </type>
      <fixedUri value="urn:ietf:rfc:3986" />
    </element>
    <element>
      <path value="ConceptMap.identifier.value" />
      <min value="1" />
      <max value="1" />
      <type>
        <code value="string" />
      </type>
    </element>
    <element>
      <path value="ConceptMap.version" />
      <min value="1" />
      <max value="1" />
      <type>
        <code value="string" />
      </type>
    </element>
    <element>
      <path value="ConceptMap.name" />
      <min value="1" />
      <max value="1" />
      <type>
        <code value="string" />
      </type>
    </element>
    <element>
      <path value="ConceptMap.experimental" />
      <min value="1" />
      <max value="1" />
      <type>
        <code value="boolean" />
      </type>
    </element>
    <element>
      <path value="ConceptMap.publisher" />
      <min value="1" />
      <max value="1" />
      <type>
        <code value="string" />
      </type>
    </element>
    <element>
      <path value="ConceptMap.contact" />
      <min value="0" />
      <max value="*" />
      <type>
        <code value="BackboneElement" />
      </type>
    </element>
    <element>
      <path value="ConceptMap.contact.modifierExtension" />
      <min value="0" />
      <max value="0" />
      <type>
        <code value="Extension" />
      </type>
      <isModifier value="true" />
    </element>
    <element>
      <path value="ConceptMap.contact.name" />
      <min value="1" />
      <max value="1" />
      <type>
        <code value="string" />
      </type>
    </element>
    <element>
      <path value="ConceptMap.contact.telecom" />
      <min value="1" />
      <max value="*" />
      <type>
        <code value="ContactPoint" />
      </type>
    </element>
    <element>
      <path value="ConceptMap.date" />
      <min value="1" />
      <max value="1" />
      <type>
        <code value="dateTime" />
      </type>
    </element>
    <element>
      <path value="ConceptMap.description" />
      <min value="1" />
      <max value="1" />
      <type>
        <code value="string" />
      </type>
    </element>
    <element>
      <path value="ConceptMap.requirements" />
      <min value="0" />
      <max value="0" />
      <type>
        <code value="string" />
      </type>
    </element>
    <element>
      <path value="ConceptMap.copyright" />
      <min value="1" />
      <max value="1" />
      <type>
        <code value="string" />
      </type>
    </element>
    <element>
      <path value="ConceptMap.source[x]" />
      <min value="1" />
      <max value="1" />
      <type>
        <code value="uri" />
      </type>
    </element>
    <element>
      <path value="ConceptMap.target[x]" />
      <min value="1" />
      <max value="1" />
      <type>
        <code value="uri" />
      </type>
    </element>
    <element>
      <path value="ConceptMap.element" />
      <min value="1" />
      <max value="*" />
      <type>
        <code value="BackboneElement" />
      </type>
    </element>
    <element>
      <path value="ConceptMap.element.modifierExtension" />
      <min value="0" />
      <max value="0" />
      <type>
        <code value="Extension" />
      </type>
      <isModifier value="true" />
    </element>
    <element>
      <path value="ConceptMap.element.system" />
      <min value="1" />
      <max value="1" />
      <type>
        <code value="uri" />
      </type>
    </element>
    <element>
      <path value="ConceptMap.element.code" />
      <min value="1" />
      <max value="1" />
      <type>
        <code value="code" />
      </type>
    </element>
    <element>
      <path value="ConceptMap.element.target" />
      <min value="1" />
      <max value="*" />
      <type>
        <code value="BackboneElement" />
      </type>
    </element>
    <element>
      <path value="ConceptMap.element.target.modifierExtension" />
      <min value="0" />
      <max value="0" />
      <type>
        <code value="Extension" />
      </type>
      <isModifier value="true" />
    </element>
    <element>
      <path value="ConceptMap.element.target.dependsOn" />
      <min value="0" />
      <max value="0" />
      <type>
        <code value="BackboneElement" />
      </type>
    </element>
    <element>
      <path value="ConceptMap.element.target.product" />
      <min value="0" />
      <max value="0" />
    </element>
  </differential>
</StructureDefinition>