Release 5 Ballot

This page is part of the FHIR Specification (v5.0.0-ballot: FHIR R5 Ballot Preview). 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

Example StructureDefinition/RatioRange (XML)

Modeling and Methodology Work GroupMaturity Level: N/AStandards Status: Informative

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

StructureDefinition for RatioRange

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

<StructureDefinition xmlns="http://hl7.org/fhir">
  <id value="RatioRange"/> 
  <text> 
    <status value="generated"/> 
    <div xmlns="http://www.w3.org/1999/xhtml">
      <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 class="hierarchy" style="vertical-align: top; text-align : left; background-color: white; border: 0px #F0F0F0 solid;
           padding:0px 4px 0px 4px">
            <a href="formats.html#table" title="The logical name of the element">Name</a> 
          </th> 
          <th class="hierarchy" style="vertical-align: top; text-align : left; background-color: white; border: 0px #F0F0F0 solid;
           padding:0px 4px 0px 4px">
            <a href="formats.html#table" title="Information about the use of the element">Flags</a> 
          </th> 
          <th class="hierarchy" style="vertical-align: top; text-align : left; background-color: white; border: 0px #F0F0F0 solid;
           padding:0px 4px 0px 4px">
            <a href="formats.html#table" title="Minimum and Maximum # of times the the element can appear in the instance">Card.</a> 
          </th> 
          <th class="hierarchy" style="width: 100px">
            <a href="formats.html#table" title="Reference to the type of the element">Type</a> 
          </th> 
          <th class="hierarchy" style="vertical-align: top; text-align : left; background-color: white; border: 0px #F0F0F0 solid;
           padding:0px 4px 0px 4px">
            <a href="formats.html#table" title="Additional information about the element">Description &amp; Constraints</a> 
            <span style="float: right">
              <a href="formats.html#table" title="Legend for this format">
                <img alt="doco" src="help16.png" style="background-color: inherit"/> 
              </a> 
            </span> 
          </th> 
        </tr> 
        <tr style="border: 0px #F0F0F0 solid; padding:0px; vertical-align: top; background-color: white">
          <td class="hierarchy" style="vertical-align: top; text-align : left; background-color: white; border: 0px #F0F0F0 solid;
           padding:0px 4px 0px 4px; white-space: nowrap; background-image: url(data:image/png;base64,iVBORw0KGg
          oAAAANSUhEUgAAAyAAAAACCAYAAACg/LjIAAAAI0lEQVR42u3QIQEAAAACIL/6/4MvTAQOkLYBAAB4kAAAANwMad9AqkRjgNAAAAA
          ASUVORK5CYII=)">
            <img alt="." class="hierarchy" src="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAEAAAAWCAYAAAABxvaqAAAACXBIWXMAAAsTAAALEwEAmpwYAAAAB3
            RJTUUH3wYeFzIs1vtcMQAAAB1pVFh0Q29tbWVudAAAAAAAQ3JlYXRlZCB3aXRoIEdJTVBkLmUHAAAAE0lEQVQI12P4//8/AxMDAwN
            dCABMPwMo2ctnoQAAAABJRU5ErkJggg==" style="background-color: inherit"/> 
            <img alt="." class="hierarchy" src="data:image/png;base64,R0lGODlhEAAQAPQfAOvGUf7ztuvPMf/78/fkl/Pbg+u8Rvjqteu2Pf3zxPz36Pz0z+vTmPzurPvuw/
            npofbjquvNefHVduuyN+uuMu3Oafbgjfnqvf/3zv/3xevPi+vRjP/20/bmsP///wD/ACH5BAEKAB8ALAAAAAAQABAAAAVl4CeOZGm
            e5qCqqDg8jyVJaz1876DsmAQAgqDgltspMEhMJoMZ4iy6I1AooFCIv+wKybziALVAoAEjYLwDgGIpJhMslgxaLR4/3rMAWoBp32V5
            exg8Shl1ckRUQVaMVkQ2kCstKCEAOw==" style="background-color: white; background-color: inherit" title="Element"/>  
            <a href="datatypes-definitions.html#RatioRange" title="RatioRange : A range of ratios expressed as a low and high numerator and a denominator.">RatioRange</a> 
          </td> 
          <td class="hierarchy" style="vertical-align: top; text-align : left; background-color: white; border: 0px #F0F0F0 solid;
           padding:0px 4px 0px 4px">
            <a href="elementdefinition-definitions.html#ElementDefinition.isSummary" style="padding-left: 3px; padding-right: 3px; color: black; null" title="This element is included in summaries">Σ</a> 
            <a href="versions.html#std-process" style="padding-left: 3px; padding-right: 3px; border: 1px grey solid; font-weight: bold; color:
             black; background-color: #fff5e6" title="Standards Status = Trial Use">TU</a> 
          </td> 
          <td class="hierarchy" style="vertical-align: top; text-align : left; background-color: white; border: 0px #F0F0F0 solid;
           padding:0px 4px 0px 4px"/> 
          <td class="hierarchy" style="vertical-align: top; text-align : left; background-color: white; border: 0px #F0F0F0 solid;
           padding:0px 4px 0px 4px">
            <a href="types.html#Element">Element</a> 
          </td> 
          <td class="hierarchy" style="vertical-align: top; text-align : left; background-color: white; border: 0px #F0F0F0 solid;
           padding:0px 4px 0px 4px">Range of ratio values
            <br/>  
            <span style="font-style: italic" title="inv-1">+ Rule: One of lowNumerator or highNumerator and denominator SHALL be present, or all
               are absent. If all are absent, there SHALL be some extension present</span> 
            <br/>  
            <span style="font-style: italic" title="inv-2">+ Rule: If present, lowNumerator SHALL have a lower value than highNumerator</span> 
            <br/>  
            <br/>  Elements defined in Ancestors: 
            <a href="types.html#Element" title="Unique id for the element within a resource (for internal references). This may be any
             string value that does not contain spaces.">id</a> , 
            <a href="types.html#Element" title="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.">extension</a> 
          </td> 
        </tr> 

        <tr style="border: 0px #F0F0F0 solid; padding:0px; vertical-align: top; background-color: #F7F7F7">
          <td class="hierarchy" style="vertical-align: top; text-align : left; background-color: #F7F7F7; border: 0px #F0F0F0
           solid; padding:0px 4px 0px 4px; white-space: nowrap; background-image: url(data:image/png;base64,iVB
          ORw0KGgoAAAANSUhEUgAAAyAAAAACCAYAAACg/LjIAAAAL0lEQVR42u3XsQ0AQAgCQHdl/xn8jxvYWB3JlTR0VJLa+OltBwAAYP6E
          EQAAgCsPVYVAgIJrA/sAAAAASUVORK5CYII=)">
            <img alt="." class="hierarchy" src="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAEAAAAWCAYAAAABxvaqAAAACXBIWXMAAAsTAAALEwEAmpwYAAAAB3
            RJTUUH3wYeFzIs1vtcMQAAAB1pVFh0Q29tbWVudAAAAAAAQ3JlYXRlZCB3aXRoIEdJTVBkLmUHAAAAE0lEQVQI12P4//8/AxMDAwN
            dCABMPwMo2ctnoQAAAABJRU5ErkJggg==" style="background-color: inherit"/> 
            <img alt="." class="hierarchy" src="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABAAAAAWCAYAAADJqhx8AAAACXBIWXMAAAsTAAALEwEAmpwYAAAAB3
            RJTUUH3wYeFzI3XJ6V3QAAAB1pVFh0Q29tbWVudAAAAAAAQ3JlYXRlZCB3aXRoIEdJTVBkLmUHAAAANklEQVQ4y+2RsQ0AIAzDav7
            /2VzQwoCY4iWbZSmo1QGoUgNMghvWaIejPQW/CrrNCylIwcOCDYfLNRcNer4SAAAAAElFTkSuQmCC" style="background-color: inherit"/> 
            <img alt="." class="hierarchy" src="data:image/png;base64,R0lGODlhEAAQAPZ/APrkusOiYvvfqbiXWaV2G+jGhdq1b8GgYf3v1frw3vTUlsWkZNewbcSjY/DQka
            d4Hb6dXv3u0f3v1ObEgfPTlerJiP3w1v79+e7OkPrfrfnjuNOtZPrpydaxa+/YrvvdpP779ZxvFPvnwKKBQaFyF/369M2vdaqHRPz
            58/HNh/vowufFhfroxO3OkPrluv779tK0e6JzGProwvrow9m4eOnIifPTlPDPkP78+Naxaf3v0/zowfXRi+bFhLWUVv379/rnwPvs
            zv3rye3LiPvnv+3MjPDasKiIS/789/3x2f747eXDg+7Mifvu0tu7f+/QkfDTnPXWmPrjsvrjtPbPgrqZW+/QlPz48K2EMv36866OU
            Pvowat8Ivvgq/Pbrvzgq/PguvrgrqN0Gda2evfYm9+7d/rpw9q6e/LSku/Rl/XVl/LSlfrkt+zVqe7Wqv3x1/bNffbOf59wFdS6if
            3u0vrqyP3owPvepfXQivDQkO/PkKh9K7STVf779P///wD/ACH5BAEKAH8ALAAAAAAQABAAAAemgH+CgxeFF4OIhBdKGwFChYl/hYw
            bdkoBPnaQkosbG3d3VEpSUlonUoY1Gzo6QkI8SrGxWBOFG4uySgY5ZWR3PFy2hnaWZXC/PHcPwkpJk1ShoHcxhQEXSUmtFy6+0iSF
            VResrjoTPDzdcoU+F65CduVU6KAhhQa3F8Tx8nchBoYuqoTLZoAKFRIhqGwqJAULFx0GYpBQeChRIR4TJm6KJMhQRUSBAAA7" style="background-color: #F7F7F7; background-color: inherit" title="Data Type"/>  
            <a href="datatypes-definitions.html#RatioRange.lowNumerator" title="RatioRange.lowNumerator : The value of the low limit numerator.">lowNumerator</a> 
          </td> 
          <td class="hierarchy" style="vertical-align: top; text-align : left; background-color: #F7F7F7; border: 0px #F0F0F0
           solid; padding:0px 4px 0px 4px">
            <a href="elementdefinition-definitions.html#ElementDefinition.isSummary" style="padding-left: 3px; padding-right: 3px; color: black; null" title="This element is included in summaries">Σ</a> 
          </td> 
          <td class="hierarchy" style="vertical-align: top; text-align : left; background-color: #F7F7F7; border: 0px #F0F0F0
           solid; padding:0px 4px 0px 4px">0..1</td> 
          <td class="hierarchy" style="vertical-align: top; text-align : left; background-color: #F7F7F7; border: 0px #F0F0F0
           solid; padding:0px 4px 0px 4px">
            <a href="datatypes.html#SimpleQuantity">SimpleQuantity</a> 
          </td> 
          <td class="hierarchy" style="vertical-align: top; text-align : left; background-color: #F7F7F7; border: 0px #F0F0F0
           solid; padding:0px 4px 0px 4px">Low Numerator limit
            <br/>  
          </td> 
        </tr> 

        <tr style="border: 0px #F0F0F0 solid; padding:0px; vertical-align: top; background-color: white">
          <td class="hierarchy" style="vertical-align: top; text-align : left; background-color: white; border: 0px #F0F0F0 solid;
           padding:0px 4px 0px 4px; white-space: nowrap; background-image: url(data:image/png;base64,iVBORw0KGg
          oAAAANSUhEUgAAAyAAAAACCAYAAACg/LjIAAAAL0lEQVR42u3XsQ0AQAgCQHdl/xn8jxvYWB3JlTR0VJLa+OltBwAAYP6EEQAAgCs
          PVYVAgIJrA/sAAAAASUVORK5CYII=)">
            <img alt="." class="hierarchy" src="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAEAAAAWCAYAAAABxvaqAAAACXBIWXMAAAsTAAALEwEAmpwYAAAAB3
            RJTUUH3wYeFzIs1vtcMQAAAB1pVFh0Q29tbWVudAAAAAAAQ3JlYXRlZCB3aXRoIEdJTVBkLmUHAAAAE0lEQVQI12P4//8/AxMDAwN
            dCABMPwMo2ctnoQAAAABJRU5ErkJggg==" style="background-color: inherit"/> 
            <img alt="." class="hierarchy" src="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABAAAAAWCAYAAADJqhx8AAAACXBIWXMAAAsTAAALEwEAmpwYAAAAB3
            RJTUUH3wYeFzI3XJ6V3QAAAB1pVFh0Q29tbWVudAAAAAAAQ3JlYXRlZCB3aXRoIEdJTVBkLmUHAAAANklEQVQ4y+2RsQ0AIAzDav7
            /2VzQwoCY4iWbZSmo1QGoUgNMghvWaIejPQW/CrrNCylIwcOCDYfLNRcNer4SAAAAAElFTkSuQmCC" style="background-color: inherit"/> 
            <img alt="." class="hierarchy" src="data:image/png;base64,R0lGODlhEAAQAPZ/APrkusOiYvvfqbiXWaV2G+jGhdq1b8GgYf3v1frw3vTUlsWkZNewbcSjY/DQka
            d4Hb6dXv3u0f3v1ObEgfPTlerJiP3w1v79+e7OkPrfrfnjuNOtZPrpydaxa+/YrvvdpP779ZxvFPvnwKKBQaFyF/369M2vdaqHRPz
            58/HNh/vowufFhfroxO3OkPrluv779tK0e6JzGProwvrow9m4eOnIifPTlPDPkP78+Naxaf3v0/zowfXRi+bFhLWUVv379/rnwPvs
            zv3rye3LiPvnv+3MjPDasKiIS/789/3x2f747eXDg+7Mifvu0tu7f+/QkfDTnPXWmPrjsvrjtPbPgrqZW+/QlPz48K2EMv36866OU
            Pvowat8Ivvgq/Pbrvzgq/PguvrgrqN0Gda2evfYm9+7d/rpw9q6e/LSku/Rl/XVl/LSlfrkt+zVqe7Wqv3x1/bNffbOf59wFdS6if
            3u0vrqyP3owPvepfXQivDQkO/PkKh9K7STVf779P///wD/ACH5BAEKAH8ALAAAAAAQABAAAAemgH+CgxeFF4OIhBdKGwFChYl/hYw
            bdkoBPnaQkosbG3d3VEpSUlonUoY1Gzo6QkI8SrGxWBOFG4uySgY5ZWR3PFy2hnaWZXC/PHcPwkpJk1ShoHcxhQEXSUmtFy6+0iSF
            VResrjoTPDzdcoU+F65CduVU6KAhhQa3F8Tx8nchBoYuqoTLZoAKFRIhqGwqJAULFx0GYpBQeChRIR4TJm6KJMhQRUSBAAA7" style="background-color: white; background-color: inherit" title="Data Type"/>  
            <a href="datatypes-definitions.html#RatioRange.highNumerator" title="RatioRange.highNumerator : The value of the high limit numerator.">highNumerator</a> 
          </td> 
          <td class="hierarchy" style="vertical-align: top; text-align : left; background-color: white; border: 0px #F0F0F0 solid;
           padding:0px 4px 0px 4px">
            <a href="elementdefinition-definitions.html#ElementDefinition.isSummary" style="padding-left: 3px; padding-right: 3px; color: black; null" title="This element is included in summaries">Σ</a> 
          </td> 
          <td class="hierarchy" style="vertical-align: top; text-align : left; background-color: white; border: 0px #F0F0F0 solid;
           padding:0px 4px 0px 4px">0..1</td> 
          <td class="hierarchy" style="vertical-align: top; text-align : left; background-color: white; border: 0px #F0F0F0 solid;
           padding:0px 4px 0px 4px">
            <a href="datatypes.html#SimpleQuantity">SimpleQuantity</a> 
          </td> 
          <td class="hierarchy" style="vertical-align: top; text-align : left; background-color: white; border: 0px #F0F0F0 solid;
           padding:0px 4px 0px 4px">High Numerator limit
            <br/>  
          </td> 
        </tr> 

        <tr style="border: 0px #F0F0F0 solid; padding:0px; vertical-align: top; background-color: #F7F7F7">
          <td class="hierarchy" style="vertical-align: top; text-align : left; background-color: #F7F7F7; border: 0px #F0F0F0
           solid; padding:0px 4px 0px 4px; white-space: nowrap; background-image: url(data:image/png;base64,iVB
          ORw0KGgoAAAANSUhEUgAAAyAAAAACCAYAAACg/LjIAAAAI0lEQVR42u3QIQEAAAACIL/6/4MvTAQOkLYBAAB4kAAAANwMad9AqkRj
          gNAAAAAASUVORK5CYII=)">
            <img alt="." class="hierarchy" src="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAEAAAAWCAYAAAABxvaqAAAACXBIWXMAAAsTAAALEwEAmpwYAAAAB3
            RJTUUH3wYeFzIs1vtcMQAAAB1pVFh0Q29tbWVudAAAAAAAQ3JlYXRlZCB3aXRoIEdJTVBkLmUHAAAAE0lEQVQI12P4//8/AxMDAwN
            dCABMPwMo2ctnoQAAAABJRU5ErkJggg==" style="background-color: inherit"/> 
            <img alt="." class="hierarchy" src="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABAAAAAWCAYAAADJqhx8AAAACXBIWXMAAAsTAAALEwEAmpwYAAAAB3
            RJTUUH3wYeFzME+lXFigAAAB1pVFh0Q29tbWVudAAAAAAAQ3JlYXRlZCB3aXRoIEdJTVBkLmUHAAAANklEQVQ4y+3OsRUAIAjEUOL
            +O8cJABttJM11/x1qZAGqRBEVcNIqdWj1efDqQbb3HwwwwEfABmQUHSPM9dtDAAAAAElFTkSuQmCC" style="background-color: inherit"/> 
            <img alt="." class="hierarchy" src="data:image/png;base64,R0lGODlhEAAQAPZ/APrkusOiYvvfqbiXWaV2G+jGhdq1b8GgYf3v1frw3vTUlsWkZNewbcSjY/DQka
            d4Hb6dXv3u0f3v1ObEgfPTlerJiP3w1v79+e7OkPrfrfnjuNOtZPrpydaxa+/YrvvdpP779ZxvFPvnwKKBQaFyF/369M2vdaqHRPz
            58/HNh/vowufFhfroxO3OkPrluv779tK0e6JzGProwvrow9m4eOnIifPTlPDPkP78+Naxaf3v0/zowfXRi+bFhLWUVv379/rnwPvs
            zv3rye3LiPvnv+3MjPDasKiIS/789/3x2f747eXDg+7Mifvu0tu7f+/QkfDTnPXWmPrjsvrjtPbPgrqZW+/QlPz48K2EMv36866OU
            Pvowat8Ivvgq/Pbrvzgq/PguvrgrqN0Gda2evfYm9+7d/rpw9q6e/LSku/Rl/XVl/LSlfrkt+zVqe7Wqv3x1/bNffbOf59wFdS6if
            3u0vrqyP3owPvepfXQivDQkO/PkKh9K7STVf779P///wD/ACH5BAEKAH8ALAAAAAAQABAAAAemgH+CgxeFF4OIhBdKGwFChYl/hYw
            bdkoBPnaQkosbG3d3VEpSUlonUoY1Gzo6QkI8SrGxWBOFG4uySgY5ZWR3PFy2hnaWZXC/PHcPwkpJk1ShoHcxhQEXSUmtFy6+0iSF
            VResrjoTPDzdcoU+F65CduVU6KAhhQa3F8Tx8nchBoYuqoTLZoAKFRIhqGwqJAULFx0GYpBQeChRIR4TJm6KJMhQRUSBAAA7" style="background-color: #F7F7F7; background-color: inherit" title="Data Type"/>  
            <a href="datatypes-definitions.html#RatioRange.denominator" title="RatioRange.denominator : The value of the denominator.">denominator</a> 
          </td> 
          <td class="hierarchy" style="vertical-align: top; text-align : left; background-color: #F7F7F7; border: 0px #F0F0F0
           solid; padding:0px 4px 0px 4px">
            <a href="elementdefinition-definitions.html#ElementDefinition.isSummary" style="padding-left: 3px; padding-right: 3px; color: black; null" title="This element is included in summaries">Σ</a> 
          </td> 
          <td class="hierarchy" style="vertical-align: top; text-align : left; background-color: #F7F7F7; border: 0px #F0F0F0
           solid; padding:0px 4px 0px 4px">0..1</td> 
          <td class="hierarchy" style="vertical-align: top; text-align : left; background-color: #F7F7F7; border: 0px #F0F0F0
           solid; padding:0px 4px 0px 4px">
            <a href="datatypes.html#SimpleQuantity">SimpleQuantity</a> 
          </td> 
          <td class="hierarchy" style="vertical-align: top; text-align : left; background-color: #F7F7F7; border: 0px #F0F0F0
           solid; padding:0px 4px 0px 4px">Denominator value
            <br/>  
          </td> 
        </tr> 

        <tr> 
          <td class="hierarchy" colspan="5">
            <br/>  
            <a href="formats.html#table" title="Legend for this format">
              <img alt="doco" src="help16.png" style="background-color: inherit"/>  Documentation for this format
            </a> 
          </td> 
        </tr> 
      </table> 
    </div> 
  </text> 
  <extension url="http://hl7.org/fhir/StructureDefinition/structuredefinition-standards-status">
    <valueCode value="trial-use"/> 
  </extension> 
  <url value="http://hl7.org/fhir/StructureDefinition/RatioRange"/> 
  <version value="5.0.0-ballot"/> 
  <name value="RatioRange"/> 
  <status value="draft"/> 
  <experimental value="false"/> 
  <date value="2022-09-07T10:58:29+10:00"/> 
  <publisher value="HL7 FHIR Standard"/> 
  <contact> 
    <telecom> 
      <system value="url"/> 
      <value value="http://hl7.org/fhir"/> 
    </telecom> 
  </contact> 
  <description value="RatioRange Type: A range of ratios expressed as a low and high numerator and a denominator."/> 
  <purpose value="Need to be able to specify ranges of ratios."/> 
  <fhirVersion value="5.0.0-ballot"/> 
  <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="RatioRange"/> 
  <baseDefinition value="http://hl7.org/fhir/StructureDefinition/DataType"/> 
  <derivation value="specialization"/> 
  <snapshot> 
    <element id="RatioRange">
      <extension url="http://hl7.org/fhir/StructureDefinition/structuredefinition-standards-status">
        <valueCode value="trial-use"/> 
      </extension> 
      <path value="RatioRange"/> 
      <short value="Range of ratio values"/> 
      <definition value="A range of ratios expressed as a low and high numerator and a denominator."/> 
      <comment value="The stated low and high value are assumed to have arbitrarily high precision when it comes
       to determining which values are in the range. I.e. 1.99 is not in the range 2 -&gt; 3."/> 
      <min value="0"/> 
      <max value="*"/> 
      <base> 
        <path value="RatioRange"/> 
        <min value="0"/> 
        <max value="*"/> 
      </base> 
      <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="http://hl7.org/fhir/StructureDefinition/Element"/> 
      </constraint> 
      <constraint> 
        <key value="inv-1"/> 
        <severity value="error"/> 
        <human value="One of lowNumerator or highNumerator and denominator SHALL be present, or all are absent.
         If all are absent, there SHALL be some extension present"/> 
        <expression value="((lowNumerator.empty() and highNumerator.empty()) xor denominator.exists()) and (lowNumerator.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="http://hl7.org/fhir/StructureDefinition/RatioRange"/> 
      </constraint> 
      <constraint> 
        <key value="inv-2"/> 
        <severity value="error"/> 
        <human value="If present, lowNumerator SHALL have a lower value than highNumerator"/> 
        <expression value="lowNumerator.empty() or highNumerator.empty() or (lowNumerator &lt;= highNumerator)"/> 
        <xpath value="not(exists(f:lowNumerator/f:value/@value)) or not(exists(f:highNumerator/f:value/@value))
         or (number(f:lowNumerator/f:value/@value) &lt;= number(f:highNumerator/f:value/@value))"/> 
        <source value="http://hl7.org/fhir/StructureDefinition/RatioRange"/> 
      </constraint> 
      <isModifier value="false"/> 
      <mapping> 
        <identity value="rim"/> 
        <map value="n/a"/> 
      </mapping> 
      <mapping> 
        <identity value="v2"/> 
        <map value="NR and also possibly SN (but see also quantity)"/> 
      </mapping> 
      <mapping> 
        <identity value="rim"/> 
        <map value="IVL&lt;RTO&lt;QTY[not(type=&quot;TS&quot;)]&gt;&gt; [lowClosed=&quot;true&quot; and highClosed=&quot
        ;true&quot;]or URG&lt;&lt;RTO&lt;QTY[not(type=&quot;TS&quot;)]&gt;&gt;"/> 
      </mapping> 
    </element> 
    <element id="RatioRange.id">
      <path value="RatioRange.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> 
    <!--  Note: special primitive values have a FHIRPath system type. e.g. this is compiler magic
       (j)  -->
      <type> 
        <extension url="http://hl7.org/fhir/StructureDefinition/structuredefinition-fhir-type">
          <valueUrl value="id"/> 
        </extension> 
        <code value="http://hl7.org/fhirpath/System.String"/> 
      </type> 
      <isModifier value="false"/> 
      <isSummary value="false"/> 
      <mapping> 
        <identity value="rim"/> 
        <map value="n/a"/> 
      </mapping> 
    </element> 
    <element id="RatioRange.extension">
      <path value="RatioRange.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> 
      <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="http://hl7.org/fhir/StructureDefinition/Element"/> 
      </constraint> 
      <constraint> 
        <key value="ext-1"/> 
        <severity value="error"/> 
        <human value="Must have either extensions or value[x], not both"/> 
        <expression value="extension.exists() != value.exists()"/> 
        <xpath value="exists(f:extension)!=exists(f:*[starts-with(local-name(.), &quot;value&quot;)])"/> 
        <source value="http://hl7.org/fhir/StructureDefinition/Extension"/> 
      </constraint> 
      <isModifier value="false"/> 
      <isSummary value="false"/> 
      <mapping> 
        <identity value="rim"/> 
        <map value="n/a"/> 
      </mapping> 
    </element> 
    <element id="RatioRange.lowNumerator">
      <path value="RatioRange.lowNumerator"/> 
      <short value="Low Numerator limit"/> 
      <definition value="The value of the low limit numerator."/> 
      <comment value="If the low element is missing, the low boundary is not known."/> 
      <min value="0"/> 
      <max value="1"/> 
      <base> 
        <path value="RatioRange.lowNumerator"/> 
        <min value="0"/> 
        <max value="1"/> 
      </base> 
      <type> 
        <code value="Quantity"/> 
        <profile value="http://hl7.org/fhir/StructureDefinition/SimpleQuantity"/> 
      </type> 
      <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="http://hl7.org/fhir/StructureDefinition/Element"/> 
      </constraint> 
      <isModifier value="false"/> 
      <isSummary value="true"/> 
      <mapping> 
        <identity value="v2"/> 
        <map value="NR.1"/> 
      </mapping> 
      <mapping> 
        <identity value="rim"/> 
        <map value="./low"/> 
      </mapping> 
    </element> 
    <element id="RatioRange.highNumerator">
      <path value="RatioRange.highNumerator"/> 
      <short value="High Numerator limit"/> 
      <definition value="The value of the high limit numerator."/> 
      <comment value="If the high element is missing, the high boundary is not known."/> 
      <min value="0"/> 
      <max value="1"/> 
      <base> 
        <path value="RatioRange.highNumerator"/> 
        <min value="0"/> 
        <max value="1"/> 
      </base> 
      <type> 
        <code value="Quantity"/> 
        <profile value="http://hl7.org/fhir/StructureDefinition/SimpleQuantity"/> 
      </type> 
      <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="http://hl7.org/fhir/StructureDefinition/Element"/> 
      </constraint> 
      <isModifier value="false"/> 
      <isSummary value="true"/> 
      <mapping> 
        <identity value="v2"/> 
        <map value="NR.2"/> 
      </mapping> 
      <mapping> 
        <identity value="rim"/> 
        <map value="./high"/> 
      </mapping> 
    </element> 
    <element id="RatioRange.denominator">
      <path value="RatioRange.denominator"/> 
      <short value="Denominator value"/> 
      <definition value="The value of the denominator."/> 
      <min value="0"/> 
      <max value="1"/> 
      <base> 
        <path value="RatioRange.denominator"/> 
        <min value="0"/> 
        <max value="1"/> 
      </base> 
      <type> 
        <code value="Quantity"/> 
        <profile value="http://hl7.org/fhir/StructureDefinition/SimpleQuantity"/> 
      </type> 
      <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="http://hl7.org/fhir/StructureDefinition/Element"/> 
      </constraint> 
      <isModifier value="false"/> 
      <isSummary value="true"/> 
    </element> 
  </snapshot> 
  <differential> 
    <element id="RatioRange">
      <extension url="http://hl7.org/fhir/StructureDefinition/structuredefinition-standards-status">
        <valueCode value="trial-use"/> 
      </extension> 
      <path value="RatioRange"/> 
      <short value="Range of ratio values"/> 
      <definition value="A range of ratios expressed as a low and high numerator and a denominator."/> 
      <comment value="The stated low and high value are assumed to have arbitrarily high precision when it comes
       to determining which values are in the range. I.e. 1.99 is not in the range 2 -&gt; 3."/> 
      <min value="0"/> 
      <max value="*"/> 
      <constraint> 
        <key value="inv-2"/> 
        <severity value="error"/> 
        <human value="If present, lowNumerator SHALL have a lower value than highNumerator"/> 
        <expression value="lowNumerator.empty() or highNumerator.empty() or (lowNumerator &lt;= highNumerator)"/> 
        <xpath value="not(exists(f:lowNumerator/f:value/@value)) or not(exists(f:highNumerator/f:value/@value))
         or (number(f:lowNumerator/f:value/@value) &lt;= number(f:highNumerator/f:value/@value))"/> 
        <source value="http://hl7.org/fhir/StructureDefinition/RatioRange"/> 
      </constraint> 
      <constraint> 
        <key value="inv-1"/> 
        <severity value="error"/> 
        <human value="One of lowNumerator or highNumerator and denominator SHALL be present, or all are absent.
         If all are absent, there SHALL be some extension present"/> 
        <expression value="((lowNumerator.empty() and highNumerator.empty()) xor denominator.exists()) and (lowNumerator.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="http://hl7.org/fhir/StructureDefinition/RatioRange"/> 
      </constraint> 
      <mapping> 
        <identity value="v2"/> 
        <map value="NR and also possibly SN (but see also quantity)"/> 
      </mapping> 
      <mapping> 
        <identity value="rim"/> 
        <map value="IVL&lt;RTO&lt;QTY[not(type=&quot;TS&quot;)]&gt;&gt; [lowClosed=&quot;true&quot; and highClosed=&quot
        ;true&quot;]or URG&lt;&lt;RTO&lt;QTY[not(type=&quot;TS&quot;)]&gt;&gt;"/> 
      </mapping> 
    </element> 
    <element id="RatioRange.lowNumerator">
      <path value="RatioRange.lowNumerator"/> 
      <short value="Low Numerator limit"/> 
      <definition value="The value of the low limit numerator."/> 
      <comment value="If the low element is missing, the low boundary is not known."/> 
      <min value="0"/> 
      <max value="1"/> 
      <type> 
        <code value="Quantity"/> 
        <profile value="http://hl7.org/fhir/StructureDefinition/SimpleQuantity"/> 
      </type> 
      <isSummary value="true"/> 
      <mapping> 
        <identity value="v2"/> 
        <map value="NR.1"/> 
      </mapping> 
      <mapping> 
        <identity value="rim"/> 
        <map value="./low"/> 
      </mapping> 
    </element> 
    <element id="RatioRange.highNumerator">
      <path value="RatioRange.highNumerator"/> 
      <short value="High Numerator limit"/> 
      <definition value="The value of the high limit numerator."/> 
      <comment value="If the high element is missing, the high boundary is not known."/> 
      <min value="0"/> 
      <max value="1"/> 
      <type> 
        <code value="Quantity"/> 
        <profile value="http://hl7.org/fhir/StructureDefinition/SimpleQuantity"/> 
      </type> 
      <isSummary value="true"/> 
      <mapping> 
        <identity value="v2"/> 
        <map value="NR.2"/> 
      </mapping> 
      <mapping> 
        <identity value="rim"/> 
        <map value="./high"/> 
      </mapping> 
    </element> 
    <element id="RatioRange.denominator">
      <path value="RatioRange.denominator"/> 
      <short value="Denominator value"/> 
      <definition value="The value of the denominator."/> 
      <min value="0"/> 
      <max value="1"/> 
      <type> 
        <code value="Quantity"/> 
        <profile value="http://hl7.org/fhir/StructureDefinition/SimpleQuantity"/> 
      </type> 
      <isSummary value="true"/> 
    </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.