DSTU2 Ballot Source

This page is part of the FHIR Specification (v0.5.0: DSTU 2 Ballot 2). The current version which supercedes this version is 5.0.0. For a full list of available versions, see the Directory of published versions . Page versions: R5 R4B R4 R3 R2

Identifier.profile.xml

Raw XML (canonical form)

StructureDefinition for Identifier

Raw XML

<StructureDefinition xmlns="http://hl7.org/fhir">
  <id value="Identifier"/>
  <text>
    <status value="generated"/>
    <div xmlns="http://www.w3.org/1999/xhtml"><!-- Snipped for brevity --></div>
  </text>
  <url value="http://hl7.org/fhir/StructureDefinition/Identifier"/>
  <name value="Identifier"/>
  <publisher value="HL7 FHIR Standard"/>
  <contact>
    <telecom>
      <system value="url"/>
      <value value="http://hl7.org/fhir"/>
    </telecom>
  </contact>
  <description value="Base StructureDefinition for Identifier Resource"/>
  <requirements value="Need to be able to identify things with confidence and be sure that the identification
   is not subject to misinterpretation."/>
  <status value="draft"/>
  <date value="2015-04-03T14:24:32+11:00"/>
  <mapping>
    <identity value="v2"/>
    <uri value="http://hl7.org/v2"/>
    <name value="HL7 v2"/>
  </mapping>
  <mapping>
    <identity value="rim"/>
    <uri value="http://hl7.org/v3"/>
    <name value="RIM"/>
  </mapping>
  <mapping>
    <identity value="servd"/>
    <uri value="http://www.omg.org/spec/ServD/1.0/"/>
    <name value="ServD"/>
  </mapping>
  <type value="type"/>
  <abstract value="false"/>
  <base value="http://hl7.org/fhir/StructureDefinition/Element"/>
  <snapshot>
    <element>
      <path value="Identifier"/>
      <short value="An identifier intended for computation"/>
      <definition value="A technical identifier - identifies some entity uniquely and unambiguously."/>
      <requirements value="Need to be able to identify things with confidence and be sure that the identification
       is not subject to misinterpretation."/>
      <min value="1"/>
      <max value="1"/>
      <type>
        <code value="Element"/>
      </type>
      <mapping>
        <identity value="v2"/>
        <map value="CX / EI (occasionally, more often EI maps to a resource id or a URL)"/>
      </mapping>
      <mapping>
        <identity value="rim"/>
        <map value="II - see see identifier pattern at http://wiki.hl7.org/index.php?title=Common_Design_Patterns#Identi
        fier_Pattern for relevant discussion. The Identifier class is a little looser than the
         v3 type II because it allows URIs as well as registered OIDs or GUIDs.  Also maps to Role[classCode=
        IDENT]"/>
      </mapping>
      <mapping>
        <identity value="servd"/>
        <map value="Identifier"/>
      </mapping>
    </element>
    <element>
      <path value="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"/>
      <type>
        <code value="id"/>
      </type>
      <mapping>
        <identity value="rim"/>
        <map value="n/a"/>
      </mapping>
    </element>
    <element>
      <path value="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."/>
      <comments 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="*"/>
      <type>
        <code value="Extension"/>
      </type>
      <mapping>
        <identity value="rim"/>
        <map value="n/a"/>
      </mapping>
    </element>
    <element>
      <path value="Identifier.use"/>
      <short value="usual | official | temp | secondary (If known)"/>
      <definition value="The purpose of this identifier."/>
      <comments value="This is labeled as &quot;Is Modifier&quot; because applications should not mistake a temporary
       id for a permanent one. Applications can assume that an identifier is permanent unless
       it explicitly says that it is temporary."/>
      <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"/>
      <type>
        <code value="code"/>
      </type>
      <isModifier value="true"/>
      <binding>
        <name value="IdentifierUse"/>
        <strength value="required"/>
        <description value="Identifies the purpose for this identifier, if known"/>
        <valueSetReference>
          <reference value="http://hl7.org/fhir/vs/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="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."/>
      <comments value="Where the system is known, a type is unnecessary because the type is always part of the
       system definition. However systems often need to handle identifiers where the system is
       not known. There is not a 1:1 relationship between type and system, since many different
       systems have the same type."/>
      <requirements value="Allows users to make use of identifiers when the identifier system is not known."/>
      <min value="0"/>
      <max value="1"/>
      <type>
        <code value="CodeableConcept"/>
      </type>
      <binding>
        <name value="IdentifierType"/>
        <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/vs/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="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="0"/>
      <max value="1"/>
      <type>
        <code value="uri"/>
      </type>
      <exampleUri value="http://www.acme.com/identifiers/patient or urn:ietf:rfc:3986 if the id itself is a full
       uri"/>
      <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="Identifier.value"/>
      <short value="The value that is unique"/>
      <definition value="The portion of the identifier typically displayed to the user and which is unique within
       the context of the system."/>
      <comments value="If the value is a full URI, then the system SHALL be urn:ietf:rfc:3986."/>
      <min value="0"/>
      <max value="1"/>
      <type>
        <code value="string"/>
      </type>
      <exampleString value="123456"/>
      <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="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"/>
      <type>
        <code value="Period"/>
      </type>
      <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="Identifier.assigner"/>
      <short value="Organization that issued id (may be just text)"/>
      <definition value="Organization that issued/manages the identifier."/>
      <comments value="The reference may be just a text description of the assigner."/>
      <min value="0"/>
      <max value="1"/>
      <type>
        <code value="Reference"/>
        <profile value="http://hl7.org/fhir/StructureDefinition/Organization"/>
      </type>
      <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>
  </snapshot>
  <differential>
    <element>
      <path value="Identifier"/>
      <short value="An identifier intended for computation"/>
      <definition value="A technical identifier - identifies some entity uniquely and unambiguously."/>
      <requirements value="Need to be able to identify things with confidence and be sure that the identification
       is not subject to misinterpretation."/>
      <min value="1"/>
      <max value="1"/>
      <type>
        <code value="Element"/>
      </type>
      <mapping>
        <identity value="v2"/>
        <map value="CX / EI (occasionally, more often EI maps to a resource id or a URL)"/>
      </mapping>
      <mapping>
        <identity value="rim"/>
        <map value="II - see see identifier pattern at http://wiki.hl7.org/index.php?title=Common_Design_Patterns#Identi
        fier_Pattern for relevant discussion. The Identifier class is a little looser than the
         v3 type II because it allows URIs as well as registered OIDs or GUIDs.  Also maps to Role[classCode=
        IDENT]"/>
      </mapping>
      <mapping>
        <identity value="servd"/>
        <map value="Identifier"/>
      </mapping>
    </element>
    <element>
      <path value="Identifier.use"/>
      <short value="usual | official | temp | secondary (If known)"/>
      <definition value="The purpose of this identifier."/>
      <comments value="This is labeled as &quot;Is Modifier&quot; because applications should not mistake a temporary
       id for a permanent one. Applications can assume that an identifier is permanent unless
       it explicitly says that it is temporary."/>
      <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"/>
      <type>
        <code value="code"/>
      </type>
      <isModifier value="true"/>
      <binding>
        <name value="IdentifierUse"/>
        <strength value="required"/>
        <description value="Identifies the purpose for this identifier, if known"/>
        <valueSetReference>
          <reference value="http://hl7.org/fhir/vs/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="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."/>
      <comments value="Where the system is known, a type is unnecessary because the type is always part of the
       system definition. However systems often need to handle identifiers where the system is
       not known. There is not a 1:1 relationship between type and system, since many different
       systems have the same type."/>
      <requirements value="Allows users to make use of identifiers when the identifier system is not known."/>
      <min value="0"/>
      <max value="1"/>
      <type>
        <code value="CodeableConcept"/>
      </type>
      <binding>
        <name value="IdentifierType"/>
        <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/vs/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="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="0"/>
      <max value="1"/>
      <type>
        <code value="uri"/>
      </type>
      <exampleUri value="http://www.acme.com/identifiers/patient or urn:ietf:rfc:3986 if the id itself is a full
       uri"/>
      <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="Identifier.value"/>
      <short value="The value that is unique"/>
      <definition value="The portion of the identifier typically displayed to the user and which is unique within
       the context of the system."/>
      <comments value="If the value is a full URI, then the system SHALL be urn:ietf:rfc:3986."/>
      <min value="0"/>
      <max value="1"/>
      <type>
        <code value="string"/>
      </type>
      <exampleString value="123456"/>
      <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="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"/>
      <type>
        <code value="Period"/>
      </type>
      <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="Identifier.assigner"/>
      <short value="Organization that issued id (may be just text)"/>
      <definition value="Organization that issued/manages the identifier."/>
      <comments value="The reference may be just a text description of the assigner."/>
      <min value="0"/>
      <max value="1"/>
      <type>
        <code value="Reference"/>
        <profile value="http://hl7.org/fhir/StructureDefinition/Organization"/>
      </type>
      <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>
  </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.