International Patient Summary Implementation Guide (Release 0.3.0 STU1 Ballot)

This page is part of the International Patient Summary Implementation Guide (v0.3.0: STU 1 (FHIR R4) Ballot 1) based on FHIR R4. The current version which supercedes this version is 1.1.0. For a full list of available versions, see the Directory of published versions

XML Format: StructureDefinition-Ratio-uv-ips

Download Raw xml


<StructureDefinition xmlns="http://hl7.org/fhir">
  <id value="Ratio-uv-ips"/>
  <text>
    <status value="generated"/>
    <div xmlns="http://www.w3.org/1999/xhtml">Ratio data type, constrained to use UCUM as a codesystem.</div>
  </text>
  <url value="http://hl7.org/fhir/uv/ips/StructureDefinition/Ratio-uv-ips"/>
  <version value="0.3.0"/>
  <name value="RatioUvIps"/>
  <title value="Ratio"/>
  <status value="draft"/>
  <date value="2018-03-21T09:49:16-04:00"/>
  <description value="Ratio data type, constrained to use UCUM as a codesystem."/>
  <jurisdiction>
    <coding>
      <system value="http://unstats.un.org/unsd/methods/m49/m49.htm"/>
      <code value="001"/>
      <display value="World"/>
    </coding>
  </jurisdiction>
  <purpose value="allow only UCUM as a codesystem."/>
  <fhirVersion value="4.0.0"/>
  <mapping>
    <identity value="v2"/>
    <uri value="http://hl7.org/v2"/>
    <name value="HL7 v2 Mapping"/>
  </mapping>
  <mapping>
    <identity value="rim"/>
    <uri value="http://hl7.org/v3"/>
    <name value="RIM Mapping"/>
  </mapping>
  <kind value="complex-type"/>
  <abstract value="false"/>
  <type value="Ratio"/>
  <baseDefinition value="http://hl7.org/fhir/StructureDefinition/Ratio"/>
  <derivation value="constraint"/>
  <snapshot>
    <element id="Ratio">
      <path value="Ratio"/>
      <short
             value="A ratio of two Quantity values - a numerator and a denominator"/>
      <definition
                  value="A relationship of two Quantity values - expressed as a numerator and a denominator."/>
      <comment
               value="The Ratio datatype should only be used to express a relationship of two numbers if the relationship cannot be suitably expressed using a Quantity and a common unit.  Where the denominator value is known to be fixed to &quot;1&quot;, Quantity should be used instead of Ratio."/>
      <min value="0"/>
      <max value="*"/>
      <base>
        <path value="Ratio"/>
        <min value="0"/>
        <max value="*"/>
      </base>
      <condition value="ele-1"/>
      <constraint>
        <key value="ele-1"/>
        <severity value="error"/>
        <human value="All FHIR elements must have a @value or children"/>
        <expression value="hasValue() or (children().count() &gt; id.count())"/>
        <xpath value="@value|f:*|h:div"/>
        <source value="Element"/>
      </constraint>
      <constraint>
        <key value="rat-1"/>
        <severity value="error"/>
        <human
               value="Numerator and denominator SHALL both be present, or both are absent. If both are absent, there SHALL be some extension present"/>
        <expression
                    value="(numerator.empty() xor denominator.exists()) and (numerator.exists() or extension.exists())"/>
        <xpath
               value="(count(f:numerator) = count(f:denominator)) and ((count(f:numerator) &gt; 0) or (count(f:extension) &gt; 0))"/>
        <source value="Ratio"/>
      </constraint>
      <mustSupport value="true"/>
      <isModifier value="false"/>
      <mapping>
        <identity value="rim"/>
        <map value="n/a"/>
      </mapping>
      <mapping>
        <identity value="v2"/>
        <map value="N/A"/>
      </mapping>
      <mapping>
        <identity value="rim"/>
        <map value="RTO"/>
      </mapping>
    </element>
    <element id="Ratio.id">
      <path value="Ratio.id"/>
      <representation value="xmlAttr"/>
      <short value="Unique id for inter-element referencing"/>
      <definition
                  value="Unique id for the element within a resource (for internal references). This may be any string value that does not contain spaces."/>
      <min value="0"/>
      <max value="1"/>
      <base>
        <path value="Element.id"/>
        <min value="0"/>
        <max value="1"/>
      </base>
      <type>
        <code value="string"/>
      </type>
      <isModifier value="false"/>
      <isSummary value="false"/>
      <mapping>
        <identity value="rim"/>
        <map value="n/a"/>
      </mapping>
    </element>
    <element id="Ratio.extension">
      <path value="Ratio.extension"/>
      <slicing>
        <discriminator>
          <type value="value"/>
          <path value="url"/>
        </discriminator>
        <description value="Extensions are always sliced by (at least) url"/>
        <rules value="open"/>
      </slicing>
      <short value="Additional content defined by implementations"/>
      <definition
                  value="May be used to represent additional information that is not part of the basic definition of the element. To make the use of extensions safe and manageable, there is a strict set of governance  applied to the definition and use of extensions. Though any implementer can define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension."/>
      <comment
               value="There can be no stigma associated with the use of extensions by any application, project, or standard - regardless of the institution or jurisdiction that uses or defines the extensions.  The use of extensions is what allows the FHIR specification to retain a core level of simplicity for everyone."/>
      <alias value="extensions"/>
      <alias value="user content"/>
      <min value="0"/>
      <max value="*"/>
      <base>
        <path value="Element.extension"/>
        <min value="0"/>
        <max value="*"/>
      </base>
      <type>
        <code value="Extension"/>
      </type>
      <isModifier value="false"/>
      <isSummary value="false"/>
      <mapping>
        <identity value="rim"/>
        <map value="n/a"/>
      </mapping>
    </element>
    <element id="Ratio.numerator">
      <path value="Ratio.numerator"/>
      <short value="Numerator value"/>
      <definition value="The value of the numerator."/>
      <min value="0"/>
      <max value="1"/>
      <base>
        <path value="Ratio.numerator"/>
        <min value="0"/>
        <max value="1"/>
      </base>
      <type>
        <code value="Quantity"/>
      </type>
      <mustSupport value="true"/>
      <isModifier value="false"/>
      <isSummary value="true"/>
      <mapping>
        <identity value="rim"/>
        <map value=".numerator"/>
      </mapping>
    </element>
    <element id="Ratio.numerator.id">
      <path value="Ratio.numerator.id"/>
      <representation value="xmlAttr"/>
      <short value="Unique id for inter-element referencing"/>
      <definition
                  value="Unique id for the element within a resource (for internal references). This may be any string value that does not contain spaces."/>
      <min value="0"/>
      <max value="1"/>
      <base>
        <path value="Element.id"/>
        <min value="0"/>
        <max value="1"/>
      </base>
      <type>
        <code value="string"/>
      </type>
      <isModifier value="false"/>
      <isSummary value="false"/>
      <mapping>
        <identity value="rim"/>
        <map value="n/a"/>
      </mapping>
    </element>
    <element id="Ratio.numerator.extension">
      <path value="Ratio.numerator.extension"/>
      <slicing>
        <discriminator>
          <type value="value"/>
          <path value="url"/>
        </discriminator>
        <description value="Extensions are always sliced by (at least) url"/>
        <rules value="open"/>
      </slicing>
      <short value="Additional content defined by implementations"/>
      <definition
                  value="May be used to represent additional information that is not part of the basic definition of the element. To make the use of extensions safe and manageable, there is a strict set of governance  applied to the definition and use of extensions. Though any implementer can define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension."/>
      <comment
               value="There can be no stigma associated with the use of extensions by any application, project, or standard - regardless of the institution or jurisdiction that uses or defines the extensions.  The use of extensions is what allows the FHIR specification to retain a core level of simplicity for everyone."/>
      <alias value="extensions"/>
      <alias value="user content"/>
      <min value="0"/>
      <max value="*"/>
      <base>
        <path value="Element.extension"/>
        <min value="0"/>
        <max value="*"/>
      </base>
      <type>
        <code value="Extension"/>
      </type>
      <isModifier value="false"/>
      <isSummary value="false"/>
      <mapping>
        <identity value="rim"/>
        <map value="n/a"/>
      </mapping>
    </element>
    <element id="Ratio.numerator.value">
      <path value="Ratio.numerator.value"/>
      <short value="Numerical value (with implicit precision)"/>
      <definition
                  value="The value of the measured amount. The value includes an implicit precision in the presentation of the value."/>
      <comment
               value="The implicit precision in the value should always be honored. Monetary values have their own rules for handling precision (refer to standard accounting text books)."/>
      <requirements
                    value="Precision is handled implicitly in almost all cases of measurement."/>
      <min value="0"/>
      <max value="1"/>
      <base>
        <path value="Quantity.value"/>
        <min value="0"/>
        <max value="1"/>
      </base>
      <type>
        <code value="decimal"/>
      </type>
      <isModifier value="false"/>
      <isSummary value="true"/>
      <mapping>
        <identity value="v2"/>
        <map value="SN.2  / CQ - N/A"/>
      </mapping>
      <mapping>
        <identity value="rim"/>
        <map
             value="PQ.value, CO.value, MO.value, IVL.high or IVL.low depending on the value"/>
      </mapping>
    </element>
    <element id="Ratio.numerator.comparator">
      <path value="Ratio.numerator.comparator"/>
      <short value="&lt; | &lt;= | &gt;= | &gt; - how to understand the value"/>
      <definition
                  value="How the value should be understood and represented - whether the actual value is greater or less than the stated value due to measurement issues; e.g. if the comparator is &quot;&lt;&quot; , then the real value is &lt; stated value."/>
      <requirements
                    value="Need a framework for handling measures where the value is &lt;5ug/L or &gt;400mg/L due to the limitations of measuring methodology."/>
      <min value="0"/>
      <max value="1"/>
      <base>
        <path value="Quantity.comparator"/>
        <min value="0"/>
        <max value="1"/>
      </base>
      <type>
        <code value="code"/>
      </type>
      <meaningWhenMissing
                          value="If there is no comparator, then there is no modification of the value"/>
      <isModifier value="true"/>
      <isModifierReason
                        value="This is labeled as &quot;Is Modifier&quot; because the comparator modifies the interpretation of the value significantly. If there is no comparator, then there is no modification of the value"/>
      <isSummary value="true"/>
      <binding>
        <extension
                   url="http://hl7.org/fhir/StructureDefinition/elementdefinition-bindingName">
          <valueString value="QuantityComparator"/>
        </extension>
        <strength value="required"/>
        <description
                     value="How the Quantity should be understood and represented."/>
        <valueSet value="http://hl7.org/fhir/ValueSet/quantity-comparator|4.0.0"/>
      </binding>
      <mapping>
        <identity value="v2"/>
        <map value="SN.1  / CQ.1"/>
      </mapping>
      <mapping>
        <identity value="rim"/>
        <map value="IVL properties"/>
      </mapping>
    </element>
    <element id="Ratio.numerator.unit">
      <extension
                 url="http://hl7.org/fhir/StructureDefinition/elementdefinition-translatable">
        <valueBoolean value="true"/>
      </extension>
      <path value="Ratio.numerator.unit"/>
      <short value="Unit representation"/>
      <definition value="A human-readable form of the unit."/>
      <requirements
                    value="There are many representations for units of measure and in many contexts, particular representations are fixed and required. I.e. mcg for micrograms."/>
      <min value="0"/>
      <max value="1"/>
      <base>
        <path value="Quantity.unit"/>
        <min value="0"/>
        <max value="1"/>
      </base>
      <type>
        <code value="string"/>
      </type>
      <isModifier value="false"/>
      <isSummary value="true"/>
      <mapping>
        <identity value="v2"/>
        <map value="(see OBX.6 etc.) / CQ.2"/>
      </mapping>
      <mapping>
        <identity value="rim"/>
        <map value="PQ.unit"/>
      </mapping>
    </element>
    <element id="Ratio.numerator.system">
      <path value="Ratio.numerator.system"/>
      <short value="System that defines coded unit form"/>
      <definition
                  value="The identification of the system that provides the coded form of the unit."/>
      <requirements
                    value="Need to know the system that defines the coded form of the unit."/>
      <min value="1"/>
      <max value="1"/>
      <base>
        <path value="Quantity.system"/>
        <min value="0"/>
        <max value="1"/>
      </base>
      <type>
        <code value="uri"/>
      </type>
      <fixedUri value="http://unitsofmeasure.org"/>
      <condition value="qty-3"/>
      <mustSupport value="true"/>
      <isModifier value="false"/>
      <isSummary value="true"/>
      <mapping>
        <identity value="v2"/>
        <map value="(see OBX.6 etc.) / CQ.2"/>
      </mapping>
      <mapping>
        <identity value="rim"/>
        <map value="CO.codeSystem, PQ.translation.codeSystem"/>
      </mapping>
    </element>
    <element id="Ratio.numerator.code">
      <path value="Ratio.numerator.code"/>
      <short value="Coded form of the unit"/>
      <definition
                  value="A computer processable form of the unit in some unit representation system."/>
      <comment
               value="The preferred system is UCUM, but SNOMED CT can also be used (for customary units) or ISO 4217 for currency.  The context of use may additionally require a code from a particular system."/>
      <requirements
                    value="Need a computable form of the unit that is fixed across all forms. UCUM provides this for quantities, but SNOMED CT provides many units of interest."/>
      <min value="1"/>
      <max value="1"/>
      <base>
        <path value="Quantity.code"/>
        <min value="0"/>
        <max value="1"/>
      </base>
      <type>
        <code value="code"/>
      </type>
      <mustSupport value="true"/>
      <isModifier value="false"/>
      <isSummary value="true"/>
      <mapping>
        <identity value="v2"/>
        <map value="(see OBX.6 etc.) / CQ.2"/>
      </mapping>
      <mapping>
        <identity value="rim"/>
        <map value="PQ.code, MO.currency, PQ.translation.code"/>
      </mapping>
    </element>
    <element id="Ratio.denominator">
      <path value="Ratio.denominator"/>
      <short value="Denominator value"/>
      <definition value="The value of the denominator."/>
      <min value="0"/>
      <max value="1"/>
      <base>
        <path value="Ratio.denominator"/>
        <min value="0"/>
        <max value="1"/>
      </base>
      <type>
        <code value="Quantity"/>
      </type>
      <mustSupport value="true"/>
      <isModifier value="false"/>
      <isSummary value="true"/>
      <mapping>
        <identity value="rim"/>
        <map value=".denominator"/>
      </mapping>
    </element>
    <element id="Ratio.denominator.id">
      <path value="Ratio.denominator.id"/>
      <representation value="xmlAttr"/>
      <short value="Unique id for inter-element referencing"/>
      <definition
                  value="Unique id for the element within a resource (for internal references). This may be any string value that does not contain spaces."/>
      <min value="0"/>
      <max value="1"/>
      <base>
        <path value="Element.id"/>
        <min value="0"/>
        <max value="1"/>
      </base>
      <type>
        <code value="string"/>
      </type>
      <isModifier value="false"/>
      <isSummary value="false"/>
      <mapping>
        <identity value="rim"/>
        <map value="n/a"/>
      </mapping>
    </element>
    <element id="Ratio.denominator.extension">
      <path value="Ratio.denominator.extension"/>
      <slicing>
        <discriminator>
          <type value="value"/>
          <path value="url"/>
        </discriminator>
        <description value="Extensions are always sliced by (at least) url"/>
        <rules value="open"/>
      </slicing>
      <short value="Additional content defined by implementations"/>
      <definition
                  value="May be used to represent additional information that is not part of the basic definition of the element. To make the use of extensions safe and manageable, there is a strict set of governance  applied to the definition and use of extensions. Though any implementer can define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension."/>
      <comment
               value="There can be no stigma associated with the use of extensions by any application, project, or standard - regardless of the institution or jurisdiction that uses or defines the extensions.  The use of extensions is what allows the FHIR specification to retain a core level of simplicity for everyone."/>
      <alias value="extensions"/>
      <alias value="user content"/>
      <min value="0"/>
      <max value="*"/>
      <base>
        <path value="Element.extension"/>
        <min value="0"/>
        <max value="*"/>
      </base>
      <type>
        <code value="Extension"/>
      </type>
      <isModifier value="false"/>
      <isSummary value="false"/>
      <mapping>
        <identity value="rim"/>
        <map value="n/a"/>
      </mapping>
    </element>
    <element id="Ratio.denominator.value">
      <path value="Ratio.denominator.value"/>
      <short value="Numerical value (with implicit precision)"/>
      <definition
                  value="The value of the measured amount. The value includes an implicit precision in the presentation of the value."/>
      <comment
               value="The implicit precision in the value should always be honored. Monetary values have their own rules for handling precision (refer to standard accounting text books)."/>
      <requirements
                    value="Precision is handled implicitly in almost all cases of measurement."/>
      <min value="0"/>
      <max value="1"/>
      <base>
        <path value="Quantity.value"/>
        <min value="0"/>
        <max value="1"/>
      </base>
      <type>
        <code value="decimal"/>
      </type>
      <isModifier value="false"/>
      <isSummary value="true"/>
      <mapping>
        <identity value="v2"/>
        <map value="SN.2  / CQ - N/A"/>
      </mapping>
      <mapping>
        <identity value="rim"/>
        <map
             value="PQ.value, CO.value, MO.value, IVL.high or IVL.low depending on the value"/>
      </mapping>
    </element>
    <element id="Ratio.denominator.comparator">
      <path value="Ratio.denominator.comparator"/>
      <short value="&lt; | &lt;= | &gt;= | &gt; - how to understand the value"/>
      <definition
                  value="How the value should be understood and represented - whether the actual value is greater or less than the stated value due to measurement issues; e.g. if the comparator is &quot;&lt;&quot; , then the real value is &lt; stated value."/>
      <requirements
                    value="Need a framework for handling measures where the value is &lt;5ug/L or &gt;400mg/L due to the limitations of measuring methodology."/>
      <min value="0"/>
      <max value="1"/>
      <base>
        <path value="Quantity.comparator"/>
        <min value="0"/>
        <max value="1"/>
      </base>
      <type>
        <code value="code"/>
      </type>
      <meaningWhenMissing
                          value="If there is no comparator, then there is no modification of the value"/>
      <isModifier value="true"/>
      <isModifierReason
                        value="This is labeled as &quot;Is Modifier&quot; because the comparator modifies the interpretation of the value significantly. If there is no comparator, then there is no modification of the value"/>
      <isSummary value="true"/>
      <binding>
        <extension
                   url="http://hl7.org/fhir/StructureDefinition/elementdefinition-bindingName">
          <valueString value="QuantityComparator"/>
        </extension>
        <strength value="required"/>
        <description
                     value="How the Quantity should be understood and represented."/>
        <valueSet value="http://hl7.org/fhir/ValueSet/quantity-comparator|4.0.0"/>
      </binding>
      <mapping>
        <identity value="v2"/>
        <map value="SN.1  / CQ.1"/>
      </mapping>
      <mapping>
        <identity value="rim"/>
        <map value="IVL properties"/>
      </mapping>
    </element>
    <element id="Ratio.denominator.unit">
      <extension
                 url="http://hl7.org/fhir/StructureDefinition/elementdefinition-translatable">
        <valueBoolean value="true"/>
      </extension>
      <path value="Ratio.denominator.unit"/>
      <short value="Unit representation"/>
      <definition value="A human-readable form of the unit."/>
      <requirements
                    value="There are many representations for units of measure and in many contexts, particular representations are fixed and required. I.e. mcg for micrograms."/>
      <min value="0"/>
      <max value="1"/>
      <base>
        <path value="Quantity.unit"/>
        <min value="0"/>
        <max value="1"/>
      </base>
      <type>
        <code value="string"/>
      </type>
      <isModifier value="false"/>
      <isSummary value="true"/>
      <mapping>
        <identity value="v2"/>
        <map value="(see OBX.6 etc.) / CQ.2"/>
      </mapping>
      <mapping>
        <identity value="rim"/>
        <map value="PQ.unit"/>
      </mapping>
    </element>
    <element id="Ratio.denominator.system">
      <path value="Ratio.denominator.system"/>
      <short value="System that defines coded unit form"/>
      <definition
                  value="The identification of the system that provides the coded form of the unit."/>
      <requirements
                    value="Need to know the system that defines the coded form of the unit."/>
      <min value="1"/>
      <max value="1"/>
      <base>
        <path value="Quantity.system"/>
        <min value="0"/>
        <max value="1"/>
      </base>
      <type>
        <code value="uri"/>
      </type>
      <fixedUri value="http://unitsofmeasure.org"/>
      <condition value="qty-3"/>
      <mustSupport value="true"/>
      <isModifier value="false"/>
      <isSummary value="true"/>
      <mapping>
        <identity value="v2"/>
        <map value="(see OBX.6 etc.) / CQ.2"/>
      </mapping>
      <mapping>
        <identity value="rim"/>
        <map value="CO.codeSystem, PQ.translation.codeSystem"/>
      </mapping>
    </element>
    <element id="Ratio.denominator.code">
      <path value="Ratio.denominator.code"/>
      <short value="Coded form of the unit"/>
      <definition
                  value="A computer processable form of the unit in some unit representation system."/>
      <comment
               value="The preferred system is UCUM, but SNOMED CT can also be used (for customary units) or ISO 4217 for currency.  The context of use may additionally require a code from a particular system."/>
      <requirements
                    value="Need a computable form of the unit that is fixed across all forms. UCUM provides this for quantities, but SNOMED CT provides many units of interest."/>
      <min value="1"/>
      <max value="1"/>
      <base>
        <path value="Quantity.code"/>
        <min value="0"/>
        <max value="1"/>
      </base>
      <type>
        <code value="code"/>
      </type>
      <mustSupport value="true"/>
      <isModifier value="false"/>
      <isSummary value="true"/>
      <mapping>
        <identity value="v2"/>
        <map value="(see OBX.6 etc.) / CQ.2"/>
      </mapping>
      <mapping>
        <identity value="rim"/>
        <map value="PQ.code, MO.currency, PQ.translation.code"/>
      </mapping>
    </element>
  </snapshot>
  <differential>
    <element id="Ratio">
      <path value="Ratio"/>
      <mustSupport value="true"/>
    </element>
    <element id="Ratio.numerator">
      <path value="Ratio.numerator"/>
      <mustSupport value="true"/>
    </element>
    <element id="Ratio.numerator.system">
      <path value="Ratio.numerator.system"/>
      <min value="1"/>
      <fixedUri value="http://unitsofmeasure.org"/>
      <mustSupport value="true"/>
    </element>
    <element id="Ratio.numerator.code">
      <path value="Ratio.numerator.code"/>
      <min value="1"/>
      <mustSupport value="true"/>
    </element>
    <element id="Ratio.denominator">
      <path value="Ratio.denominator"/>
      <mustSupport value="true"/>
    </element>
    <element id="Ratio.denominator.system">
      <path value="Ratio.denominator.system"/>
      <min value="1"/>
      <fixedUri value="http://unitsofmeasure.org"/>
      <mustSupport value="true"/>
    </element>
    <element id="Ratio.denominator.code">
      <path value="Ratio.denominator.code"/>
      <min value="1"/>
      <mustSupport value="true"/>
    </element>
  </differential>
</StructureDefinition>