OpenEHR Base package
0.1.0 - First Draft International flag

OpenEHR Base package, published by openEHR + HL7. This guide is not an authorized publication; it is the continuous build for version 0.1.0 built by the FHIR (HL7® FHIR® Standard) CI Build. This version is based on the current content of https://github.com/openehr-fhir/base-spec/ and changes regularly. See the Directory of published versions

Logical Model: DV_AMOUNT - XML Profile

Page standards status: Informative Maturity Level: 3

XML representation of the DV-AMOUNT logical model.

Raw xml | Download


<StructureDefinition xmlns="http://hl7.org/fhir">
  <id value="DV-AMOUNT"/>
  <text>
    <status value="extensions"/>
    <div xmlns="http://www.w3.org/1999/xhtml"><p class="res-header-id"><b>Generated Narrative: StructureDefinition DV-AMOUNT</b></p><a name="DV-AMOUNT"> </a><a name="hcDV-AMOUNT"> </a><table border="0" cellpadding="0" cellspacing="0" style="border: 0px #F0F0F0 solid; font-size: 11px; font-family: verdana; vertical-align: top;"><tr style="border: 1px #F0F0F0 solid; font-size: 11px; font-family: verdana; vertical-align: top"><th style="vertical-align: top; text-align : var(--ig-left,left); background-color: white; border: 0px #F0F0F0 solid; padding:0px 4px 0px 4px; padding-top: 3px; padding-bottom: 3px" class="hierarchy"><a href="https://build.fhir.org/ig/FHIR/ig-guidance/readingIgs.html#table-views" title="The logical name of the element">Name</a></th><th style="vertical-align: top; text-align : var(--ig-left,left); background-color: white; border: 0px #F0F0F0 solid; padding:0px 4px 0px 4px; padding-top: 3px; padding-bottom: 3px" class="hierarchy"><a href="https://build.fhir.org/ig/FHIR/ig-guidance/readingIgs.html#table-views" title="Information about the use of the element">Flags</a></th><th style="vertical-align: top; text-align : var(--ig-left,left); background-color: white; border: 0px #F0F0F0 solid; padding:0px 4px 0px 4px; padding-top: 3px; padding-bottom: 3px" class="hierarchy"><a href="https://build.fhir.org/ig/FHIR/ig-guidance/readingIgs.html#table-views" title="Minimum and Maximum # of times the element can appear in the instance">Card.</a></th><th style="vertical-align: top; text-align : var(--ig-left,left); background-color: white; border: 0px #F0F0F0 solid; padding:0px 4px 0px 4px; padding-top: 3px; padding-bottom: 3px; width: 100px" class="hierarchy"><a href="https://build.fhir.org/ig/FHIR/ig-guidance/readingIgs.html#table-views" title="Reference to the type of the element">Type</a></th><th style="vertical-align: top; text-align : var(--ig-left,left); background-color: white; border: 0px #F0F0F0 solid; padding:0px 4px 0px 4px; padding-top: 3px; padding-bottom: 3px" class="hierarchy"><a href="https://build.fhir.org/ig/FHIR/ig-guidance/readingIgs.html#table-views" title="Additional information about the element">Description &amp; Constraints</a><span style="float: right"><a href="https://build.fhir.org/ig/FHIR/ig-guidance/readingIgs.html#table-views" title="Legend for this format"><img src="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAABmJLR0QA/wD/AP+gvaeTAAAACXBIWXMAAAsTAAALEwEAmpwYAAAAB3RJTUUH3goXBCwdPqAP0wAAAldJREFUOMuNk0tIlFEYhp9z/vE2jHkhxXA0zJCMitrUQlq4lnSltEqCFhFG2MJFhIvIFpkEWaTQqjaWZRkp0g26URZkTpbaaOJkDqk10szoODP//7XIMUe0elcfnPd9zsfLOYplGrpRwZaqTtw3K7PtGem7Q6FoidbGgqHVy/HRb669R+56zx7eRV1L31JGxYbBtjKK93cxeqfyQHbehkZbUkK20goELEuIzEd+dHS+qz/Y8PTSif0FnGkbiwcAjHaU1+QWOptFiyCLp/LnKptpqIuXHx6rbR26kJcBX3yLgBfnd7CxwJmflpP2wUg0HIAoUUpZBmKzELGWcN8nAr6Gpu7tLU/CkwAaoKTWRSQyt89Q8w6J+oVQkKnBoblH7V0PPvUOvDYXfopE/SJmALsxnVm6LbkotrUtNowMeIrVrBcBpaMmdS0j9df7abpSuy7HWehwJdt1lhVwi/J58U5beXGAF6c3UXLycw1wdFklArBn87xdh0ZsZtArghBdAA3+OEDVubG4UEzP6x1FOWneHh2VDAHBAt80IbdXDcesNoCvs3E5AFyNSU5nbrDPZpcUEQQTFZiEVx+51fxMhhyJEAgvlriadIJZZksRuwBYMOPBbO3hePVVqgEJhFeUuFLhIPkRP6BQLIBrmMenujm/3g4zc398awIe90Zb5A1vREALqneMcYgP/xVQWlG+Ncu5vgwwlaUNx+3799rfe96u9K0JSDXcOzOTJg4B6IgmXfsygc7/Bvg9g9E58/cDVmGIBOP/zT8Bz1zqWqpbXIsd0O9hajXfL6u4BaOS6SeWAAAAAElFTkSuQmCC" alt="doco" style="background-color: inherit"/></a></span></th></tr><tr style="border: 0px #F0F0F0 solid; padding:0px; vertical-align: top; background-color: white"><td style="vertical-align: top; text-align : var(--ig-left,left); background-color: white; border: 0px #F0F0F0 solid; padding:0px 4px 0px 4px; white-space: nowrap; background-image: url(tbl_bck1.png)" class="hierarchy"><img src="tbl_spacer.png" alt="." style="background-color: inherit" class="hierarchy"/><img src="icon_element.gif" alt="." style="background-color: white; background-color: inherit" title="Element" class="hierarchy"/> <a href="StructureDefinition-DV-AMOUNT-definitions.html#DV_AMOUNT" title="Abstract class defining the concept of relative quantified  'amounts'. For relative quantities, the  `+` and  `-` operators are defined (unlike descendants of `DV_ABSOLUTE_QUANTITY`, such as the date/time types). 
">DV_AMOUNT</a><a name="DV_AMOUNT"> </a></td><td style="vertical-align: top; text-align : var(--ig-left,left); background-color: white; border: 0px #F0F0F0 solid; padding:0px 4px 0px 4px" class="hierarchy"><a style="padding-left: 3px; padding-right: 3px; border: 1px maroon solid; font-weight: bold; color: #301212; background-color: #fdf4f4;; padding-left: 3px; padding-right: 3px; border: 1px maroon solid; font-weight: bold; color: #301212; background-color: #fdf4f4;" href="http://hl7.org/fhir/R5/conformance-rules.html#constraints" title="This element has or is affected by constraints ( Accuracy_is_percent_validity, Accuracy_validity )">C</a></td><td style="vertical-align: top; text-align : var(--ig-left,left); background-color: white; border: 0px #F0F0F0 solid; padding:0px 4px 0px 4px" class="hierarchy">0..*</td><td style="vertical-align: top; text-align : var(--ig-left,left); background-color: white; border: 0px #F0F0F0 solid; padding:0px 4px 0px 4px" class="hierarchy"><a href="StructureDefinition-DV-QUANTIFIED.html">DV_QUANTIFIED</a></td><td style="vertical-align: top; text-align : var(--ig-left,left); background-color: white; border: 0px #F0F0F0 solid; padding:0px 4px 0px 4px" class="hierarchy">This is an abstract type. Child types: <a href="StructureDefinition-DV-COUNT.html">DV_COUNT</a>, <a href="StructureDefinition-DV-DURATION.html">DV_DURATION</a>, <a href="StructureDefinition-DV-QUANTITY.html">DV_QUANTITY</a><br/>Abstract class defining the concept of relative quantified  'amounts'.<br/><br/>Elements defined in Ancestors:<a href="StructureDefinition-BASIC-DEFINITIONS.html" title="Carriage return character.">CR</a>, <a href="StructureDefinition-BASIC-DEFINITIONS.html" title="Line feed character.">LF</a>, <a href="StructureDefinition-OPENEHR-DEFINITIONS.html" title="Predefined terminology identifier to indicate it is local to the knowledge resource in which it occurs, e.g. an archetype">Local_terminology_id</a>, <a href="StructureDefinition-DV-ORDERED.html" title="Optional normal status indicator of value with respect to normal range for this value. Often included by lab, even if the normal range itself is not included. Coded by ordinals in series HHH, HH, H, (nothing), L, LL, LLL; see openEHR terminology group  `normal_status`. ">normal_status</a>, <a href="StructureDefinition-DV-ORDERED.html" title="Optional normal range. ">normal_range</a>, <a href="StructureDefinition-DV-ORDERED.html" title="Optional tagged other reference ranges for this value in its particular measurement context.">other_reference_ranges</a>, <a href="StructureDefinition-DV-QUANTIFIED.html" title="Optional status of magnitude with values: 

* `&quot;=&quot;`   :   magnitude is a point value 
* `&quot;&lt;&quot;`   :   value is &lt; magnitude 
* `&quot;&gt;&quot;`   :   value is &gt; magnitude 
* `&quot;&lt;=&quot;` : value is &lt;= magnitude 
* `&quot;&gt;=&quot;` : value is &gt;= magnitude 
* `&quot;~&quot;`   :   value is approximately magnitude 

If not present, assumed meaning is  `&quot;=&quot;` . 
">magnitude_status</a>, <a href="StructureDefinition-DV-QUANTIFIED.html" title="Accuracy of measurement. Exact form of expression determined in descendants.">accuracy</a><br class="constraint"/><span title="null" class="constraint">Constraints: </span><span style="font-weight:bold" title="Accuracy is percent validity must satisfy conditional constraints" class="constraint">Accuracy_is_percent_validity</span><span title="null" class="constraint">, </span><span style="font-weight:bold" title="Accuracy validity must satisfy conditional constraints" class="constraint">Accuracy_validity</span><br/></td></tr>
<tr style="border: 0px #F0F0F0 solid; padding:0px; vertical-align: top; background-color: #F7F7F7"><td style="vertical-align: top; text-align : var(--ig-left,left); background-color: #F7F7F7; border: 0px #F0F0F0 solid; padding:0px 4px 0px 4px; white-space: nowrap; background-image: url(tbl_bck10.png)" class="hierarchy"><img src="tbl_spacer.png" alt="." style="background-color: inherit" class="hierarchy"/><img src="tbl_vjoin.png" alt="." style="background-color: inherit" class="hierarchy"/><img src="icon_primitive.png" alt="." style="background-color: #F7F7F7; background-color: inherit" title="Primitive Data Type" class="hierarchy"/> <a href="StructureDefinition-DV-AMOUNT-definitions.html#DV_AMOUNT.accuracy-is-percent" title="If `True`, indicates that when this object was created, `_accuracy_` was recorded as a percent value; if `False`, as an absolute quantity value.">accuracy_is_percent</a><a name="DV_AMOUNT.accuracy_is_percent"> </a></td><td style="vertical-align: top; text-align : var(--ig-left,left); background-color: #F7F7F7; border: 0px #F0F0F0 solid; padding:0px 4px 0px 4px" class="hierarchy"/><td style="vertical-align: top; text-align : var(--ig-left,left); background-color: #F7F7F7; border: 0px #F0F0F0 solid; padding:0px 4px 0px 4px" class="hierarchy">0..1</td><td style="vertical-align: top; text-align : var(--ig-left,left); background-color: #F7F7F7; border: 0px #F0F0F0 solid; padding:0px 4px 0px 4px" class="hierarchy"><a href="http://hl7.org/fhir/R5/datatypes.html#boolean">boolean</a></td><td style="vertical-align: top; text-align : var(--ig-left,left); background-color: #F7F7F7; border: 0px #F0F0F0 solid; padding:0px 4px 0px 4px" class="hierarchy">If `True`, indicates that when this object was created, `_accuracy_` was recorded as a percent value; if `False`, as an absolute quantity value.</td></tr>
<tr style="border: 0px #F0F0F0 solid; padding:0px; vertical-align: top; background-color: white"><td style="vertical-align: top; text-align : var(--ig-left,left); background-color: white; border: 0px #F0F0F0 solid; padding:0px 4px 0px 4px; white-space: nowrap; background-image: url(tbl_bck00.png)" class="hierarchy"><img src="tbl_spacer.png" alt="." style="background-color: inherit" class="hierarchy"/><img src="tbl_vjoin_end.png" alt="." style="background-color: inherit" class="hierarchy"/><img src="icon_primitive.png" alt="." style="background-color: white; background-color: inherit" title="Primitive Data Type" class="hierarchy"/> <a href="StructureDefinition-DV-AMOUNT-definitions.html#DV_AMOUNT.accuracy" title="Accuracy of measurement, expressed either as a half-range percent value (`_accuracy_is_percent_` = `True`) or a half-range quantity. A value of `0` means that accuracy is 100%, i.e. no error.

A value of `_unknown_accuracy_value_` means that accuracy was not recorded.">accuracy</a><a name="DV_AMOUNT.accuracy"> </a></td><td style="vertical-align: top; text-align : var(--ig-left,left); background-color: white; border: 0px #F0F0F0 solid; padding:0px 4px 0px 4px" class="hierarchy"/><td style="vertical-align: top; text-align : var(--ig-left,left); background-color: white; border: 0px #F0F0F0 solid; padding:0px 4px 0px 4px" class="hierarchy">0..1</td><td style="vertical-align: top; text-align : var(--ig-left,left); background-color: white; border: 0px #F0F0F0 solid; padding:0px 4px 0px 4px" class="hierarchy"><a href="http://hl7.org/fhir/R5/datatypes.html#decimal">decimal</a></td><td style="vertical-align: top; text-align : var(--ig-left,left); background-color: white; border: 0px #F0F0F0 solid; padding:0px 4px 0px 4px" class="hierarchy">Accuracy of measurement, expressed either as a half-range percent value (`_accuracy_is_percent_` = `True`) or a half-range quantity.</td></tr>
<tr><td colspan="5" class="hierarchy"><br/><a href="https://build.fhir.org/ig/FHIR/ig-guidance/readingIgs.html#table-views" title="Legend for this format"><img src="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAABmJLR0QA/wD/AP+gvaeTAAAACXBIWXMAAAsTAAALEwEAmpwYAAAAB3RJTUUH3goXBCwdPqAP0wAAAldJREFUOMuNk0tIlFEYhp9z/vE2jHkhxXA0zJCMitrUQlq4lnSltEqCFhFG2MJFhIvIFpkEWaTQqjaWZRkp0g26URZkTpbaaOJkDqk10szoODP//7XIMUe0elcfnPd9zsfLOYplGrpRwZaqTtw3K7PtGem7Q6FoidbGgqHVy/HRb669R+56zx7eRV1L31JGxYbBtjKK93cxeqfyQHbehkZbUkK20goELEuIzEd+dHS+qz/Y8PTSif0FnGkbiwcAjHaU1+QWOptFiyCLp/LnKptpqIuXHx6rbR26kJcBX3yLgBfnd7CxwJmflpP2wUg0HIAoUUpZBmKzELGWcN8nAr6Gpu7tLU/CkwAaoKTWRSQyt89Q8w6J+oVQkKnBoblH7V0PPvUOvDYXfopE/SJmALsxnVm6LbkotrUtNowMeIrVrBcBpaMmdS0j9df7abpSuy7HWehwJdt1lhVwi/J58U5beXGAF6c3UXLycw1wdFklArBn87xdh0ZsZtArghBdAA3+OEDVubG4UEzP6x1FOWneHh2VDAHBAt80IbdXDcesNoCvs3E5AFyNSU5nbrDPZpcUEQQTFZiEVx+51fxMhhyJEAgvlriadIJZZksRuwBYMOPBbO3hePVVqgEJhFeUuFLhIPkRP6BQLIBrmMenujm/3g4zc398awIe90Zb5A1vREALqneMcYgP/xVQWlG+Ncu5vgwwlaUNx+3799rfe96u9K0JSDXcOzOTJg4B6IgmXfsygc7/Bvg9g9E58/cDVmGIBOP/zT8Bz1zqWqpbXIsd0O9hajXfL6u4BaOS6SeWAAAAAElFTkSuQmCC" alt="doco" style="background-color: inherit"/> Documentation for this format</a></td></tr></table></div>
  </text>
  <contained>
    <OperationDefinition>
      <id value="valid_percentage"/>
      <name value="valid_percentage"/>
      <title value="valid_percentage"/>
      <status value="active"/>
      <kind value="operation"/>
      <description
                   value="Test whether a number is a valid percentage, i.e. between 0 and 100. "/>
      <code value="valid_percentage"/>
      <system value="false"/>
      <instance value="true"/>
      <parameter>
        <name value="number"/>
        <use value="in"/>
        <min value="1"/>
        <max value="1"/>
        <type value="Parameters"/>
      </parameter>
      <parameter>
        <name value="return"/>
        <use value="out"/>
        <min value="1"/>
        <max value="1"/>
        <type value="boolean"/>
      </parameter>
    </OperationDefinition>
  </contained>
  <contained>
    <OperationDefinition>
      <id value="add"/>
      <name value="add"/>
      <title value="add"/>
      <status value="active"/>
      <kind value="operation"/>
      <description
                   value="Sum of this amount and another. The value of accuracy in the result is either:

* the sum of the accuracies of the operands, if both present, or;
* both operand accuracies are unknown_accuracy_value.

If the accuracy value is a percentage in one operand and not in the other, the form in the result is that of the larger operand."/>
      <code value="add"/>
      <system value="false"/>
      <instance value="true"/>
      <parameter>
        <name value="other"/>
        <use value="in"/>
        <min value="1"/>
        <max value="1"/>
        <type value="Parameters"/>
      </parameter>
      <parameter>
        <name value="return"/>
        <use value="out"/>
        <min value="1"/>
        <max value="1"/>
        <type value="Parameters"/>
      </parameter>
    </OperationDefinition>
  </contained>
  <contained>
    <OperationDefinition>
      <id value="subtract"/>
      <name value="subtract"/>
      <title value="subtract"/>
      <status value="active"/>
      <kind value="operation"/>
      <description
                   value="Difference of this amount and another. The value of `_accuracy_` in the result is either:

* the sum of the accuracies of the operands, if both present, or;
* unknown, if either or both operand accuracies are unknown.

If the `_accuracy_` value is a percentage in one operand and not in the other, the form in the result is that of the larger operand."/>
      <code value="subtract"/>
      <system value="false"/>
      <instance value="true"/>
      <parameter>
        <name value="other"/>
        <use value="in"/>
        <min value="1"/>
        <max value="1"/>
        <type value="Parameters"/>
      </parameter>
      <parameter>
        <name value="return"/>
        <use value="out"/>
        <min value="1"/>
        <max value="1"/>
        <type value="Parameters"/>
      </parameter>
    </OperationDefinition>
  </contained>
  <contained>
    <OperationDefinition>
      <id value="is_equal"/>
      <name value="is_equal"/>
      <title value="is_equal"/>
      <status value="active"/>
      <kind value="operation"/>
      <description
                   value="Return True if this `DV_AMOUNT` is considered equal to `_other_`."/>
      <code value="is_equal"/>
      <system value="false"/>
      <instance value="true"/>
      <parameter>
        <name value="other"/>
        <use value="in"/>
        <min value="1"/>
        <max value="1"/>
        <type value="Parameters"/>
      </parameter>
      <parameter>
        <name value="return"/>
        <use value="out"/>
        <min value="1"/>
        <max value="1"/>
        <type value="boolean"/>
      </parameter>
    </OperationDefinition>
  </contained>
  <contained>
    <OperationDefinition>
      <id value="multiply"/>
      <name value="multiply"/>
      <title value="multiply"/>
      <status value="active"/>
      <kind value="operation"/>
      <description value="Product of this Amount and `_factor_`."/>
      <code value="multiply"/>
      <system value="false"/>
      <instance value="true"/>
      <parameter>
        <name value="factor"/>
        <use value="in"/>
        <min value="1"/>
        <max value="1"/>
        <type value="decimal"/>
      </parameter>
      <parameter>
        <name value="return"/>
        <use value="out"/>
        <min value="1"/>
        <max value="1"/>
        <type value="Parameters"/>
      </parameter>
    </OperationDefinition>
  </contained>
  <contained>
    <OperationDefinition>
      <id value="negative"/>
      <name value="negative"/>
      <title value="negative"/>
      <status value="active"/>
      <kind value="operation"/>
      <description
                   value="Negated version of current object, such as used for representing a difference, e.g. a weight loss."/>
      <code value="negative"/>
      <system value="false"/>
      <instance value="true"/>
      <parameter>
        <name value="return"/>
        <use value="out"/>
        <min value="1"/>
        <max value="1"/>
        <type value="Parameters"/>
      </parameter>
    </OperationDefinition>
  </contained>
  <contained>
    <OperationDefinition>
      <id value="less_than"/>
      <name value="less_than"/>
      <title value="less_than"/>
      <status value="active"/>
      <kind value="operation"/>
      <description
                   value="True if this object is less than `_other_`. Based on comparison of `_magnitude_`."/>
      <code value="less_than"/>
      <system value="false"/>
      <instance value="true"/>
      <parameter>
        <name value="other"/>
        <use value="in"/>
        <min value="1"/>
        <max value="1"/>
        <type value="Parameters"/>
      </parameter>
      <parameter>
        <name value="return"/>
        <use value="out"/>
        <min value="1"/>
        <max value="1"/>
        <type value="boolean"/>
      </parameter>
    </OperationDefinition>
  </contained>
  <extension url="http://hl7.org/fhir/tools/StructureDefinition/web-source">
    <valueUrl
              value="https://specifications.openehr.org/releases/RM/Release-1.1.0/data_types.html#_dv_amount_class"/>
  </extension>
  <extension
             url="http://hl7.org/fhir/tools/StructureDefinition/type-operation">
    <valueCanonical value="#valid_percentage"/>
  </extension>
  <extension
             url="http://hl7.org/fhir/tools/StructureDefinition/type-operation">
    <valueCanonical value="#add"/>
  </extension>
  <extension
             url="http://hl7.org/fhir/tools/StructureDefinition/type-operation">
    <valueCanonical value="#subtract"/>
  </extension>
  <extension
             url="http://hl7.org/fhir/tools/StructureDefinition/type-operation">
    <valueCanonical value="#is_equal"/>
  </extension>
  <extension
             url="http://hl7.org/fhir/tools/StructureDefinition/type-operation">
    <valueCanonical value="#multiply"/>
  </extension>
  <extension
             url="http://hl7.org/fhir/tools/StructureDefinition/type-operation">
    <valueCanonical value="#negative"/>
  </extension>
  <extension
             url="http://hl7.org/fhir/tools/StructureDefinition/type-operation">
    <valueCanonical value="#less_than"/>
  </extension>
  <extension
             url="http://hl7.org/fhir/StructureDefinition/structuredefinition-wg">
    <valueCode value="fhir"/>
  </extension>
  <extension url="http://hl7.org/fhir/tools/StructureDefinition/view-hint">
    <valueCode value="element-view-as-leaf"/>
  </extension>
  <extension url="http://hl7.org/fhir/tools/StructureDefinition/view-hint">
    <valueCode value="element-view-defns-parent"/>
  </extension>
  <extension url="http://hl7.org/fhir/tools/StructureDefinition/view-hint">
    <valueCode value="element-view-replace-cardinality"/>
  </extension>
  <extension
             url="http://hl7.org/fhir/StructureDefinition/structuredefinition-fmm">
    <valueInteger value="3">
      <extension
                 url="http://hl7.org/fhir/StructureDefinition/structuredefinition-conformance-derivedFrom">
        <valueCanonical
                        value="http://openehr.org/fhir/ImplementationGuide/openehr.base"/>
      </extension>
    </valueInteger>
  </extension>
  <extension
             url="http://hl7.org/fhir/StructureDefinition/structuredefinition-standards-status">
    <valueCode value="informative">
      <extension
                 url="http://hl7.org/fhir/StructureDefinition/structuredefinition-conformance-derivedFrom">
        <valueCanonical
                        value="http://openehr.org/fhir/ImplementationGuide/openehr.base"/>
      </extension>
    </valueCode>
  </extension>
  <url value="http://openehr.org/fhir/StructureDefinition/DV-AMOUNT"/>
  <version value="0.1.0"/>
  <name value="DV_AMOUNT"/>
  <title value="DV_AMOUNT"/>
  <status value="active"/>
  <experimental value="false"/>
  <date value="2025-09-06T15:35:39+10:00"/>
  <publisher value="openEHR + HL7"/>
  <contact>
    <telecom>
      <system value="url"/>
      <value value="http://www.openehr.org"/>
    </telecom>
  </contact>
  <description
               value="Abstract class defining the concept of relative quantified  'amounts'. For relative quantities, the  `+` and  `-` operators are defined (unlike descendants of `DV_ABSOLUTE_QUANTITY`, such as the date/time types). 
"/>
  <jurisdiction>
    <coding>
      <system value="http://unstats.un.org/unsd/methods/m49/m49.htm"/>
      <code value="001"/>
    </coding>
  </jurisdiction>
  <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="true"/>
  <type value="http://openehr.org/fhir/StructureDefinition/DV_AMOUNT"/>
  <baseDefinition
                  value="http://openehr.org/fhir/StructureDefinition/DV-QUANTIFIED"/>
  <derivation value="specialization"/>
  <snapshot>
    <extension
               url="http://hl7.org/fhir/tools/StructureDefinition/snapshot-base-version">
      <valueString value="0.1.0"/>
    </extension>
    <element id="DV_AMOUNT">
      <path value="DV_AMOUNT"/>
      <short
             value="Abstract class defining the concept of relative quantified  'amounts'."/>
      <definition
                  value="Abstract class defining the concept of relative quantified  'amounts'. For relative quantities, the  `+` and  `-` operators are defined (unlike descendants of `DV_ABSOLUTE_QUANTITY`, such as the date/time types). 
"/>
      <min value="0"/>
      <max value="*"/>
      <base>
        <path value="Base"/>
        <min value="0"/>
        <max value="*"/>
      </base>
      <constraint>
        <key value="Other_reference_ranges_validity"/>
        <severity value="error"/>
        <human value="Other reference ranges validity must be present"/>
        <expression
                    value="other_reference_ranges.exists() implies other_reference_ranges.empty().not()"/>
        <source
                value="http://openehr.org/fhir/StructureDefinition/DV-ORDERED"/>
      </constraint>
      <constraint>
        <key value="Is_simple_validity"/>
        <severity value="error"/>
        <human
               value="Is simple validity must satisfy conditional constraints"/>
        <expression
                    value="(normal_range .empty() and other_reference_ranges .empty()) implies is_simple()"/>
        <source
                value="http://openehr.org/fhir/StructureDefinition/DV-ORDERED"/>
      </constraint>
      <constraint>
        <key value="Normal_range_and_status_consistency"/>
        <severity value="error"/>
        <human value="Normal range and status consistency must be present"/>
        <expression
                    value="(normal_range.exists() and normal_status.exists()) implies (normal_status.code_string.is_equal (ā€œNā€) xor normal_range.not().has (self))"/>
        <source
                value="http://openehr.org/fhir/StructureDefinition/DV-ORDERED"/>
      </constraint>
      <constraint>
        <key value="Magnitude_status_valid"/>
        <severity value="error"/>
        <human value="Magnitude status valid must be present"/>
        <expression
                    value="magnitude_status.exists() implies valid_magnitude_status() (magnitude_status)"/>
        <source
                value="http://openehr.org/fhir/StructureDefinition/DV-QUANTIFIED"/>
      </constraint>
      <constraint>
        <key value="Accuracy_is_percent_validity"/>
        <severity value="error"/>
        <human
               value="Accuracy is percent validity must satisfy conditional constraints"/>
        <expression value="accuracy = 0 implies accuracy_is_percent.not()"/>
      </constraint>
      <constraint>
        <key value="Accuracy_validity"/>
        <severity value="error"/>
        <human
               value="Accuracy validity must satisfy conditional constraints"/>
        <expression
                    value="accuracy_is_percent implies valid_percentage() (accuracy)"/>
      </constraint>
      <isModifier value="false"/>
      <mapping>
        <identity value="rim"/>
        <map value="n/a"/>
      </mapping>
    </element>
    <element id="DV_AMOUNT.CR">
      <path value="DV_AMOUNT.CR"/>
      <short value="Carriage return character."/>
      <definition value="Carriage return character."/>
      <min value="1"/>
      <max value="1"/>
      <base>
        <path value="BASIC_DEFINITIONS.CR"/>
        <min value="1"/>
        <max value="1"/>
      </base>
      <type>
        <code value="string"/>
      </type>
      <isModifier value="false"/>
    </element>
    <element id="DV_AMOUNT.LF">
      <path value="DV_AMOUNT.LF"/>
      <short value="Line feed character."/>
      <definition value="Line feed character."/>
      <min value="1"/>
      <max value="1"/>
      <base>
        <path value="BASIC_DEFINITIONS.LF"/>
        <min value="1"/>
        <max value="1"/>
      </base>
      <type>
        <code value="string"/>
      </type>
      <isModifier value="false"/>
    </element>
    <element id="DV_AMOUNT.Local-terminology-id">
      <path value="DV_AMOUNT.Local_terminology_id"/>
      <short value="Predefined terminology identifier"/>
      <definition
                  value="Predefined terminology identifier to indicate it is local to the knowledge resource in which it occurs, e.g. an archetype"/>
      <min value="1"/>
      <max value="1"/>
      <base>
        <path value="OPENEHR_DEFINITIONS.Local_terminology_id"/>
        <min value="1"/>
        <max value="1"/>
      </base>
      <type>
        <code value="string"/>
      </type>
      <isModifier value="false"/>
    </element>
    <element id="DV_AMOUNT.normal-status">
      <path value="DV_AMOUNT.normal_status"/>
      <short
             value="Optional normal status indicator of value with respect to normal range for this value."/>
      <definition
                  value="Optional normal status indicator of value with respect to normal range for this value. Often included by lab, even if the normal range itself is not included. Coded by ordinals in series HHH, HH, H, (nothing), L, LL, LLL; see openEHR terminology group  `normal_status`."/>
      <min value="0"/>
      <max value="1"/>
      <base>
        <path value="DV_ORDERED.normal_status"/>
        <min value="0"/>
        <max value="1"/>
      </base>
      <type>
        <code
              value="http://openehr.org/fhir/StructureDefinition/CODE-PHRASE"/>
      </type>
      <isModifier value="false"/>
    </element>
    <element id="DV_AMOUNT.normal-range">
      <path value="DV_AMOUNT.normal_range"/>
      <short value="Optional normal range."/>
      <definition value="Optional normal range."/>
      <min value="0"/>
      <max value="1"/>
      <base>
        <path value="DV_ORDERED.normal_range"/>
        <min value="0"/>
        <max value="1"/>
      </base>
      <type>
        <code
              value="http://openehr.org/fhir/StructureDefinition/DV-INTERVAL"/>
      </type>
      <isModifier value="false"/>
    </element>
    <element id="DV_AMOUNT.other-reference-ranges">
      <path value="DV_AMOUNT.other_reference_ranges"/>
      <short
             value="Optional tagged other reference ranges for this value in its particular measurement context."/>
      <definition
                  value="Optional tagged other reference ranges for this value in its particular measurement context."/>
      <min value="0"/>
      <max value="*"/>
      <base>
        <path value="DV_ORDERED.other_reference_ranges"/>
        <min value="0"/>
        <max value="*"/>
      </base>
      <type>
        <extension
                   url="http://hl7.org/fhir/tools/StructureDefinition/type-parameter">
          <extension url="name">
            <valueCode value="T"/>
          </extension>
          <extension url="type">
            <valueUri
                      value="http://openehr.org/fhir/StructureDefinition/DV-ORDERED"/>
          </extension>
        </extension>
        <code
              value="http://openehr.org/fhir/StructureDefinition/REFERENCE-RANGE"/>
      </type>
      <isModifier value="false"/>
    </element>
    <element id="DV_AMOUNT.magnitude-status">
      <path value="DV_AMOUNT.magnitude_status"/>
      <short
             value="Optional status of magnitude with values: 

* `&quot;=&quot;`   :   magnitude is a point value 
* `&quot;&lt;&quot;`   :   value is &lt; magnitude 
* `&quot;&gt;&quot;`   :   value is &gt; magnitude 
* `&quot;&lt;=&quot;` : value is &lt;= magnitude 
* `&quot;&gt;=&quot;` : value is &gt;= magnitude 
* `&quot;~&quot;`   :   value is approximately magnitude 

If not present, assumed meaning is  `&quot;=&quot;` ."/>
      <definition
                  value="Optional status of magnitude with values: 

* `&quot;=&quot;`   :   magnitude is a point value 
* `&quot;&lt;&quot;`   :   value is &lt; magnitude 
* `&quot;&gt;&quot;`   :   value is &gt; magnitude 
* `&quot;&lt;=&quot;` : value is &lt;= magnitude 
* `&quot;&gt;=&quot;` : value is &gt;= magnitude 
* `&quot;~&quot;`   :   value is approximately magnitude 

If not present, assumed meaning is  `&quot;=&quot;` ."/>
      <min value="0"/>
      <max value="1"/>
      <base>
        <path value="DV_QUANTIFIED.magnitude_status"/>
        <min value="0"/>
        <max value="1"/>
      </base>
      <type>
        <code value="string"/>
      </type>
      <isModifier value="false"/>
    </element>
    <element id="DV_AMOUNT.accuracy">
      <path value="DV_AMOUNT.accuracy"/>
      <short
             value="Accuracy of measurement, expressed either as a half-range percent value (`_accuracy_is_percent_` = `True`) or a half-range quantity."/>
      <definition
                  value="Accuracy of measurement, expressed either as a half-range percent value (`_accuracy_is_percent_` = `True`) or a half-range quantity. A value of `0` means that accuracy is 100%, i.e. no error.

A value of `_unknown_accuracy_value_` means that accuracy was not recorded."/>
      <min value="0"/>
      <max value="1"/>
      <base>
        <path value="DV_QUANTIFIED.accuracy"/>
        <min value="0"/>
        <max value="1"/>
      </base>
      <type>
        <code value="decimal"/>
      </type>
      <isModifier value="false"/>
    </element>
    <element id="DV_AMOUNT.accuracy-is-percent">
      <path value="DV_AMOUNT.accuracy_is_percent"/>
      <short
             value="If `True`, indicates that when this object was created, `_accuracy_` was recorded as a percent value; if `False`, as an absolute quantity value."/>
      <definition
                  value="If `True`, indicates that when this object was created, `_accuracy_` was recorded as a percent value; if `False`, as an absolute quantity value."/>
      <min value="0"/>
      <max value="1"/>
      <base>
        <path value="DV_AMOUNT.accuracy_is_percent"/>
        <min value="0"/>
        <max value="1"/>
      </base>
      <type>
        <code value="boolean"/>
      </type>
      <isModifier value="false"/>
    </element>
  </snapshot>
  <differential>
    <element id="DV_AMOUNT">
      <path value="DV_AMOUNT"/>
      <short
             value="Abstract class defining the concept of relative quantified  'amounts'."/>
      <definition
                  value="Abstract class defining the concept of relative quantified  'amounts'. For relative quantities, the  `+` and  `-` operators are defined (unlike descendants of `DV_ABSOLUTE_QUANTITY`, such as the date/time types). 
"/>
      <min value="0"/>
      <max value="*"/>
      <constraint>
        <key value="Accuracy_is_percent_validity"/>
        <severity value="error"/>
        <human
               value="Accuracy is percent validity must satisfy conditional constraints"/>
        <expression value="accuracy = 0 implies accuracy_is_percent.not()"/>
      </constraint>
      <constraint>
        <key value="Accuracy_validity"/>
        <severity value="error"/>
        <human
               value="Accuracy validity must satisfy conditional constraints"/>
        <expression
                    value="accuracy_is_percent implies valid_percentage() (accuracy)"/>
      </constraint>
      <isModifier value="false"/>
    </element>
    <element id="DV_AMOUNT.accuracy-is-percent">
      <path value="DV_AMOUNT.accuracy_is_percent"/>
      <short
             value="If `True`, indicates that when this object was created, `_accuracy_` was recorded as a percent value; if `False`, as an absolute quantity value."/>
      <definition
                  value="If `True`, indicates that when this object was created, `_accuracy_` was recorded as a percent value; if `False`, as an absolute quantity value."/>
      <min value="0"/>
      <max value="1"/>
      <type>
        <code value="boolean"/>
      </type>
      <isModifier value="false"/>
    </element>
    <element id="DV_AMOUNT.accuracy">
      <path value="DV_AMOUNT.accuracy"/>
      <short
             value="Accuracy of measurement, expressed either as a half-range percent value (`_accuracy_is_percent_` = `True`) or a half-range quantity."/>
      <definition
                  value="Accuracy of measurement, expressed either as a half-range percent value (`_accuracy_is_percent_` = `True`) or a half-range quantity. A value of `0` means that accuracy is 100%, i.e. no error.

A value of `_unknown_accuracy_value_` means that accuracy was not recorded."/>
      <min value="0"/>
      <max value="1"/>
      <type>
        <code value="decimal"/>
      </type>
      <isModifier value="false"/>
    </element>
  </differential>
</StructureDefinition>