R6 Ballot (1st Draft)

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

Example CodeSystem/discriminator-type (XML)

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

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

Definition for Code SystemDiscriminatorType

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

<CodeSystem xmlns="http://hl7.org/fhir">
  <id value="discriminator-type"/> 
  <meta> 
    <lastUpdated value="2023-12-18T15:12:07.602+11:00"/> 
  </meta> 
  <text> 
    <status value="extensions"/> 
    <div xmlns="http://www.w3.org/1999/xhtml">
      <p> 
        <b> Properties</b> 
      </p> 
      <p> 
        <b> This code system  defines the following properties for its concepts</b> 
      </p> 
      <table class="grid">
        <tr> 
          <td> 
            <b> Code</b> 
          </td> 
          <td> 
            <b> URI</b> 
          </td> 
          <td> 
            <b> Type</b> 
          </td> 
          <td> 
            <b> Description</b> 
          </td> 
        </tr> 
        <tr> 
          <td> status</td> 
          <td> http://hl7.org/fhir/concept-properties#status</td> 
          <td> code</td> 
          <td> A property that indicates the status of the concept. One of active, experimental,
             deprecated, retired</td> 
        </tr> 
        <tr> 
          <td> deprecationDate</td> 
          <td> http://hl7.org/fhir/concept-properties#deprecationDate</td> 
          <td> dateTime</td> 
          <td> The date at which a concept was deprecated. Concepts that are deprecated but not
             inactive can still be used, but their use is discouraged</td> 
        </tr> 
      </table> 
      <p> 
        <b> Concepts</b> 
      </p> 
      <p> This case-sensitive code system 
        <code> http://hl7.org/fhir/discriminator-type</code>  defines the following codes:
      </p> 
      <table class="codes">
        <tr> 
          <td style="white-space:nowrap">
            <b> Code</b> 
          </td> 
          <td> 
            <b> Display</b> 
          </td> 
          <td> 
            <b> Definition</b> 
          </td> 
          <td> 
            <b> Deprecated</b> 
          </td> 
          <td> 
            <b> Status</b> 
          </td> 
          <td> 
            <b> Deprecation Date</b> 
          </td> 
        </tr> 
        <tr> 
          <td style="white-space:nowrap">value
            <a name="discriminator-type-value"> </a> 
          </td> 
          <td> Value</td> 
          <td> The slices have different values in the nominated element, as determined by the
             applicable fixed value, pattern, or required ValueSet binding.</td> 
          <td/>  
          <td/>  
          <td/>  
        </tr> 
        <tr> 
          <td style="white-space:nowrap">exists
            <a name="discriminator-type-exists"> </a> 
          </td> 
          <td> Exists</td> 
          <td> The slices are differentiated by the presence or absence of the nominated element.
             There SHALL be no more than two slices. The slices are differentiated by the fact
             that one must have a max of 0 and the other must have a min of 1 (or more).  The
             order in which the slices are declared doesn't matter.</td> 
          <td/>  
          <td/>  
          <td/>  
        </tr> 
        <tr style="background-color: #ffeeee">
          <td style="white-space:nowrap">pattern
            <a name="discriminator-type-pattern"> </a> 
          </td> 
          <td> Pattern</td> 
          <td> The slices have different values in the nominated element, as determined by the
             applicable fixed value, pattern, or required ValueSet binding. This has the same
             meaning as 'value' and is deprecated.</td> 
          <td> Deprecated
            <div> 
              <p> Pattern' is deprecated - it works exactly the same as 'value'</p> 

            </div> 
          </td> 
          <td> deprecated</td> 
          <td> 2022-08-19</td> 
        </tr> 
        <tr> 
          <td style="white-space:nowrap">type
            <a name="discriminator-type-type"> </a> 
          </td> 
          <td> Type</td> 
          <td> The slices are differentiated by type of the nominated element.</td> 
          <td/>  
          <td/>  
          <td/>  
        </tr> 
        <tr> 
          <td style="white-space:nowrap">profile
            <a name="discriminator-type-profile"> </a> 
          </td> 
          <td> Profile</td> 
          <td> The slices are differentiated by conformance of the nominated element to a specified
             profile. Note that if the path specifies .resolve() then the profile is the target
             profile on the reference. In this case, validation by the possible profiles is
             required to differentiate the slices.</td> 
          <td/>  
          <td/>  
          <td/>  
        </tr> 
        <tr> 
          <td style="white-space:nowrap">position
            <a name="discriminator-type-position"> </a> 
          </td> 
          <td> Position</td> 
          <td> The slices are differentiated by their index. This is only possible if all but
             the last slice have min=max cardinality, and the (optional) last slice contains
             other undifferentiated elements.</td> 
          <td/>  
          <td/>  
          <td/>  
        </tr> 
      </table> 
    </div> 
  </text> 
  <extension url="http://hl7.org/fhir/StructureDefinition/structuredefinition-wg">
    <valueCode value="fhir"/> 
  </extension> 
  <extension url="http://hl7.org/fhir/StructureDefinition/structuredefinition-standards-status">
    <valueCode value="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-fmm">
    <valueInteger value="5"/> 
  </extension> 
  <url value="http://hl7.org/fhir/discriminator-type"/> 
  <identifier> 
    <system value="urn:ietf:rfc:3986"/> 
    <value value="urn:oid:2.16.840.1.113883.4.642.1.92"/> 
  </identifier> 
  <version value="6.0.0-ballot1"/> 
  <name value="DiscriminatorType"/> 
  <title value="DiscriminatorType"/> 
  <status value="active"/> 
  <experimental value="false"/> 
  <date value="2023-12-18T15:12:07+11:00"/> 
  <publisher value="HL7 International / FHIR Infrastructure"/> 
  <contact> 
    <telecom> 
      <system value="url"/> 
      <value value="http://hl7.org/fhir"/> 
    </telecom> 
    <telecom> 
      <system value="email"/> 
      <value value="fhir@lists.hl7.org"/> 
    </telecom> 
  </contact> 
  <contact> 
    <telecom> 
      <system value="url"/> 
      <value value="http://www.hl7.org/Special/committees/fiwg"/> 
    </telecom> 
  </contact> 
  <description value="How an element value is interpreted when discrimination is evaluated."/> 
  <jurisdiction> 
    <coding> 
      <system value="http://unstats.un.org/unsd/methods/m49/m49.htm"/> 
      <code value="001"/> 
      <display value="World"/> 
    </coding> 
  </jurisdiction> 
  <caseSensitive value="true"/> 
  <valueSet value="http://hl7.org/fhir/ValueSet/discriminator-type"/> 
  <content value="complete"/> 
  <property> 
    <code value="status"/> 
    <uri value="http://hl7.org/fhir/concept-properties#status"/> 
    <description value="A property that indicates the status of the concept. One of active, experimental,
     deprecated, retired"/> 
    <type value="code"/> 
  </property> 
  <property> 
    <code value="deprecationDate"/> 
    <uri value="http://hl7.org/fhir/concept-properties#deprecationDate"/> 
    <description value="The date at which a concept was deprecated. Concepts that are deprecated but not
     inactive can still be used, but their use is discouraged"/> 
    <type value="dateTime"/> 
  </property> 
  <concept> 
    <code value="value"/> 
    <display value="Value"/> 
    <definition value="The slices have different values in the nominated element, as determined by the
     applicable fixed value, pattern, or required ValueSet binding."/> 
  </concept> 
  <concept> 
    <code value="exists"/> 
    <display value="Exists"/> 
    <definition value="The slices are differentiated by the presence or absence of the nominated element.
     There SHALL be no more than two slices. The slices are differentiated by the fact
     that one must have a max of 0 and the other must have a min of 1 (or more).  The
     order in which the slices are declared doesn't matter."/> 
  </concept> 
  <concept> 
    <extension url="http://hl7.org/fhir/StructureDefinition/structuredefinition-standards-status">
      <valueCode value="deprecated">
        <extension url="http://hl7.org/fhir/StructureDefinition/structuredefinition-standards-status-reason">
          <valueMarkdown value="Pattern' is deprecated - it works exactly the same as 'value'"/> 
        </extension> 
      </valueCode> 
    </extension> 
    <code value="pattern"/> 
    <display value="Pattern"/> 
    <definition value="The slices have different values in the nominated element, as determined by the
     applicable fixed value, pattern, or required ValueSet binding. This has the same
     meaning as 'value' and is deprecated."/> 
    <property> 
      <code value="status"/> 
      <valueCode value="deprecated"/> 
    </property> 
    <property> 
      <code value="deprecationDate"/> 
      <valueDateTime value="2022-08-19"/> 
    </property> 
  </concept> 
  <concept> 
    <code value="type"/> 
    <display value="Type"/> 
    <definition value="The slices are differentiated by type of the nominated element."/> 
  </concept> 
  <concept> 
    <code value="profile"/> 
    <display value="Profile"/> 
    <definition value="The slices are differentiated by conformance of the nominated element to a specified
     profile. Note that if the path specifies .resolve() then the profile is the target
     profile on the reference. In this case, validation by the possible profiles is
     required to differentiate the slices."/> 
  </concept> 
  <concept> 
    <code value="position"/> 
    <display value="Position"/> 
    <definition value="The slices are differentiated by their index. This is only possible if all but
     the last slice have min=max cardinality, and the (optional) last slice contains
     other undifferentiated elements."/> 
  </concept> 
</CodeSystem> 

Usage note: every effort has been made to ensure that the examples are correct and useful, but they are not a normative part of the specification.