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

<StructureDefinition xmlns="http://hl7.org/fhir">
  <id value="INT-POS"/>
  <text>
    <status value="generated"/><div xmlns="http://www.w3.org/1999/xhtml">
      <p>Positive integer numbers.</p>
    </div>
  </text>
  <extension url="http://hl7.org/fhir/tools/StructureDefinition/logical-target">
    <valueBoolean>
      <extension url="http://hl7.org/fhir/StructureDefinition/data-absent-reason">
        <valueCode value="not-applicable"/>
      </extension>
    </valueBoolean>
  </extension>
  <extension url="http://hl7.org/fhir/tools/StructureDefinition/xml-namespace">
    <valueUri value="urn:hl7-org:sdtc"/>
  </extension>
  <extension url="http://hl7.org/fhir/tools/StructureDefinition/logical-container">
    <valueUri value="http://hl7.org/cda/stds/core/StructureDefinition/ClinicalDocument"/>
  </extension>
  <url value="http://hl7.org/cda/stds/core/StructureDefinition/INT-POS"/>
  <version value="2.0.2-sd"/>
  <name value="INT_POS"/>
  <title value="INT_POS: Positive integer numbers (V3 Data Type)"/>
  <status value="active"/>
  <experimental value="false"/>
  <date value="2025-12-12T15:29:54+11:00"/>
  <publisher value="Health Level 7"/>
  <contact>
    <name value="HL7 International - Structured Documents"/>
    <telecom>
      <system value="url"/>
      <value value="http://www.hl7.org/Special/committees/structure"/>
    </telecom>
    <telecom>
      <system value="email"/>
      <value value="structdog@lists.HL7.org"/>
    </telecom>
  </contact>
  <description value="Positive integer numbers."/>
  <fhirVersion value="5.0.0"/>
  <mapping>
    <identity value="rim"/>
    <uri value="http://hl7.org/v3"/>
    <name value="RIM Mapping"/>
  </mapping>
  <kind value="logical"/>
  <abstract value="false"/>
  <type value="http://hl7.org/cda/stds/core/StructureDefinition/INT_POS"/>
  <baseDefinition value="http://hl7.org/cda/stds/core/StructureDefinition/INT"/>
  <derivation value="specialization"/>
  <snapshot>
    <extension url="http://hl7.org/fhir/tools/StructureDefinition/snapshot-base-version">
      <valueString value="2.0.2-sd"/>
    </extension>
    <element id="INT_POS">
      <path value="INT_POS"/>
      <short value="Base for all types and resources"/>
      <definition value="Integer numbers (-1,0,1,2, 100, 3398129, etc.) are precise numbers that are results of counting and enumerating. Integer numbers are discrete, the set of integers is infinite but countable. No arbitrary limit is imposed on the range of integer numbers. Two NULL flavors are defined for the positive and negative infinity."/>
      <min value="1"/>
      <max value="*"/>
      <base>
        <path value="Base"/>
        <min value="0"/>
        <max value="*"/>
      </base>
      <constraint>
        <key value="value-null"/>
        <severity value="error"/>
        <human value="value and nullFlavor are mutually exclusive (one must be present)"/>
        <expression value="(value | nullFlavor).count() = 1"/>
        <source value="http://hl7.org/cda/stds/core/StructureDefinition/INT"/>
      </constraint>
      <isModifier value="false"/>
      <mapping>
        <identity value="rim"/>
        <map value="n/a"/>
      </mapping>
    </element>
    <element id="INT_POS.nullFlavor">
      <path value="INT_POS.nullFlavor"/>
      <representation value="xmlAttr"/>
      <label value="Exceptional Value Detail"/>
      <definition value="If a value is an exceptional value (NULL-value), this specifies in what way and why proper information is missing."/>
      <min value="0"/>
      <max value="1"/>
      <base>
        <path value="ANY.nullFlavor"/>
        <min value="0"/>
        <max value="1"/>
      </base>
      <type>
        <code value="code"/>
        <profile value="http://hl7.org/cda/stds/core/StructureDefinition/cs-simple"/>
      </type>
      <binding>
        <strength value="required"/>
        <valueSet value="http://hl7.org/cda/stds/core/ValueSet/CDANullFlavor"/>
      </binding>
    </element>
    <element id="INT_POS.value">
      <path value="INT_POS.value"/>
      <representation value="xmlAttr"/>
      <min value="0"/>
      <max value="1"/>
      <base>
        <path value="INT.value"/>
        <min value="0"/>
        <max value="1"/>
      </base>
      <type>
        <code value="integer"/>
        <profile value="http://hl7.org/cda/stds/core/StructureDefinition/int-simple"/>
      </type>
      <minValueInteger value="1"/>
    </element>
  </snapshot>
  <differential>
    <element id="INT_POS">
      <path value="INT_POS"/>
      <min value="1"/>
      <max value="*"/>
    </element>
    <element id="INT_POS.value">
      <path value="INT_POS.value"/>
      <representation value="xmlAttr"/>
      <min value="0"/>
      <max value="1"/>
      <type>
        <code value="integer"/>
        <profile value="http://hl7.org/cda/stds/core/StructureDefinition/int-simple"/>
      </type>
      <minValueInteger value="1"/>
    </element>
  </differential>
</StructureDefinition>