{
  "resourceType": "StructureDefinition",
  "meta": {
    "lastUpdated": "2017-12-14T09:43:57.173+00:00"
  },
  "extension": [
    {
      "url": "http://hl7.org/fhir/StructureDefinition/structuredefinition-wg",
      "valueCode": "oo"
    }
  ],
  "url": "http://pchalliance.org/phdfhir/StructureDefinition/PhdNumericObservation",
  "name": "PhdNumericObservation",
  "status": "draft",
  "date": "2017-06-02T18:29:52.39367+00:00",
  "description": "Base StructureDefinition for Observation Resource representing measurement data coming from a medical device where the measurement is number.",
  "fhirVersion": "3.0.0",
  "kind": "resource",
  "abstract": false,
  "type": "Observation",
  "baseDefinition": "http://pchalliance.org/phdfhir/StructureDefinition/PhdBaseObservation",
  "derivation": "constraint",
  "differential": {
    "element": [
      {
        "id": "Observation",
        "path": "Observation",
        "short": "Simple Numeric measurement",
        "definition": "The PhdNumericObservation reports PHD measurements that contain one of either a Basic-Nu-Observed-Value, Simple-Nu_observed-Value, or Nu_observed-Value attribute.",
        "comment": "Used for non-compound numeric observations from Personal Health Devices"
      },
      {
        "id": "Observation.meta",
        "path": "Observation.meta",
        "min": 1
      },
      {
        "id": "Observation.meta.profile",
        "path": "Observation.meta.profile",
        "slicing": {
          "discriminator": [
            {
              "type": "value",
              "path": "PhdNumericObservation"
            }
          ],
          "rules": "open"
        },
        "min": 1
      },
      {
        "id": "Observation.meta.profile:phdProfile",
        "path": "Observation.meta.profile",
        "sliceName": "phdProfile",
        "min": 1,
        "max": "1",
        "fixedUri": "PhdNumericObservation"
      },
      {
        "id": "Observation.identifier",
        "path": "Observation.identifier",
        "slicing": {
          "discriminator": [
            {
              "type": "value",
              "path": "value"
            }
          ],
          "ordered": true,
          "rules": "open"
        }
      },
      {
        "id": "Observation.identifier:conditionalCreateIdentifier",
        "path": "Observation.identifier",
        "sliceName": "conditionalCreateIdentifier",
        "short": "Unique identifier of this measurment for a given patient and device",
        "definition": "An identifier created from a combination of the measurement parameters like sensor time stamp, type code, value, units code, patient and device identifiers, and selected elements of any component elements.",
        "comment": "This value is used in the conditional create to prevent data duplication. PHDs will often re-send already sent data for a variety of reasons. This element is required unless the metric measurement contains no time stamp or is a measurement containing a time stamp that is real time. By real time the time stamp reported by the PHD must be later than the current time reported by the PHD before any measurements are received. Temporarily stored data from IEEE 11073 20601 devices, which are required to delete the data after sending, can also be considered real time. Temporarily stored data from Bluetooth Low Energy Health devices may be resent so these cannot be considered as real time.",
        "requirements": "Allows observations to be distinguished in a selective enough manner to prevent resource duplication.",
        "max": "1"
      },
      {
        "id": "Observation.identifier:conditionalCreateIdentifier.value",
        "path": "Observation.identifier.value",
        "min": 1
      },
      {
        "id": "Observation.code.coding:11073Type",
        "path": "Observation.code.coding",
        "sliceName": "11073Type",
        "comment": "For non-compound 11073-20601 metric numeric measurements, this code is obtained from one or more of the Type, Metric-Id, Nu-Observed-Value, and Metric-Id-Partition attributes. The algorithm to get the 16-bit partition and 16-bit term code is as follows:\r\n\r\n1. The partition and term code are obtained from the Type attribute.\r\n2. If there is a Metric-Id attribute the term code comes from this attribute.\r\n3. If there is a Nu-Observed-Value attribute the term code comes from this attribute.\r\n4. If the term code is NOT from the Type attribute, and there is a Metric-Id-Partition attribute, the partition comes from this attribute.\r\n5. The 32-bit 11073-10101 code value is given by partition * 2 **16 + term code.\r\n\r\nIt is this value that is placed in the code.coding.code element for this 11073Type slice"
      },
      {
        "id": "Observation.value[x]",
        "path": "Observation.valueQuantity",
        "type": [
          {
            "code": "Quantity"
          }
        ]
      },
      {
        "id": "Observation.value[x]:valueQuantity.value",
        "path": "Observation.valueQuantity.value",
        "definition": "The decoded Mder FLOAT or SFLOAT value from a PHD measurement containing either a\r\nBasic-Nu_observed-Value\r\nSimple-Nu-Observed-Value or\r\nNu_observed-Value attribute.",
        "comment": "The implicit precision in the value shall be honored. The Mder encoding used in the above attributes provides this precision. The translating software shall honor that precision when generating this value.\r\nThis element shall be present unless there is an error reported in the Measurement-Status attribute or the Nu-Observed-Value.status field or the Mder encoding represents one of the special values. In that case there is a dataAbsentValue element and the valueQuantity element is not present. Note that not all measurement status values are errors resulting in no measurement being reported here; for example the preliminary or verified status.",
        "min": 1
      },
      {
        "id": "Observation.value[x]:valueQuantity.unit",
        "extension": [
          {
            "url": "http://hl7.org/fhir/StructureDefinition/elementdefinition-translatable",
            "valueBoolean": true
          }
        ],
        "path": "Observation.valueQuantity.unit",
        "definition": "A human-readable form of the unit. In this profile it is strongly recommended to put in the UCUM code for this unit. UCUM codes are typcially familar human-readable strings. It is not required in this profile as it may not be known and organizations may have their own requirements."
      },
      {
        "id": "Observation.value[x]:valueQuantity.system",
        "path": "Observation.valueQuantity.system",
        "min": 1,
        "fixedUri": "urn:iso:std:iso:11073:10101"
      },
      {
        "id": "Observation.value[x]:valueQuantity.code",
        "path": "Observation.valueQuantity.code",
        "definition": "The 32-bit 11073 10101 code for the units of this measurement.",
        "comment": "The 11073-10101 code is used as this comes from the device. This usage allows gateways responsible for translating device measurements to FHIR to handle future specializations they may introduce new codes. If a translation to another coding system is done instead, that gateway would not be able to process the measurement.",
        "min": 1
      },
      {
        "id": "Observation.dataAbsentReason",
        "path": "Observation.dataAbsentReason",
        "definition": "Provides a reason why the expected value in the element Observation.valueQuantity is missing. This could be a NaN (Not a Number), PINF (Positive infinity), NINF (Negative infinity)  or an error condition indicated by the Measurement-Status attribute.",
        "comment": "The current values in the http://hl7.org/fhir/data-absent-reason system do not provide the same detailed set of options reported in the numeric attributes. For example, the PINF, NINF, and not at this resolution special values have no matching codes. In those cases one uses the generic 'error' code."
      },
      {
        "id": "Observation.dataAbsentReason.coding",
        "path": "Observation.dataAbsentReason.coding",
        "min": 1,
        "max": "1"
      },
      {
        "id": "Observation.dataAbsentReason.coding.system",
        "path": "Observation.dataAbsentReason.coding.system",
        "min": 1
      },
      {
        "id": "Observation.dataAbsentReason.coding.code",
        "path": "Observation.dataAbsentReason.coding.code",
        "min": 1
      },
      {
        "id": "Observation.component:accuracyComponent",
        "path": "Observation.component",
        "sliceName": "accuracyComponent",
        "definition": "This component shall be present if the accuracy attribute is present.",
        "max": "1"
      },
      {
        "id": "Observation.component:accuracyComponent.code.coding",
        "path": "Observation.component.code.coding",
        "slicing": {
          "discriminator": [
            {
              "type": "value",
              "path": "code"
            }
          ],
          "ordered": true,
          "rules": "open"
        },
        "min": 1
      },
      {
        "id": "Observation.component:accuracyComponent.code.coding:11073Type",
        "path": "Observation.component.code.coding",
        "sliceName": "11073Type",
        "min": 1,
        "max": "1"
      },
      {
        "id": "Observation.component:accuracyComponent.code.coding:11073Type.system",
        "path": "Observation.component.code.coding.system",
        "min": 1,
        "fixedUri": "urn:iso:std:iso:11073:10101"
      },
      {
        "id": "Observation.component:accuracyComponent.code.coding:11073Type.code",
        "path": "Observation.component.code.coding.code",
        "definition": "The code for the accuracy attribute is 67914",
        "min": 1,
        "fixedCode": "67914"
      },
      {
        "id": "Observation.component:accuracyComponent.code.coding:11073Type.display",
        "extension": [
          {
            "url": "http://hl7.org/fhir/StructureDefinition/elementdefinition-translatable",
            "valueBoolean": true
          }
        ],
        "path": "Observation.component.code.coding.display",
        "definition": "Should include the reference identifier for the Accuracy-Attribute MDC_ATTR_NU_ACCUR_MSMT"
      },
      {
        "id": "Observation.component:accuracyComponent.value[x]:valueQuantity",
        "path": "Observation.component.valueQuantity",
        "sliceName": "valueQuantity",
        "min": 1,
        "type": [
          {
            "code": "Quantity"
          }
        ]
      },
      {
        "id": "Observation.component:accuracyComponent.value[x]:valueQuantity.value",
        "path": "Observation.component.valueQuantity.value",
        "definition": "This is the value of the accuracy attribute. The value is Mder FLOAT encoded and shall be expressed to the precision indicated by the Mder FLOAT.",
        "min": 1
      },
      {
        "id": "Observation.component:accuracyComponent.value[x]:valueQuantity.unit",
        "extension": [
          {
            "url": "http://hl7.org/fhir/StructureDefinition/elementdefinition-translatable",
            "valueBoolean": true
          }
        ],
        "path": "Observation.component.valueQuantity.unit",
        "definition": "A human-readable form of the unit. One should put the UCUM code for the units in this display string. It shall match the UCUM code in Observation.valueQuantity.unit if UCUM is used there."
      },
      {
        "id": "Observation.component:accuracyComponent.value[x]:valueQuantity.system",
        "path": "Observation.component.valueQuantity.system",
        "definition": "The unit code shall use the MDC system",
        "min": 1,
        "fixedUri": "urn:iso:std:iso:11073:10101"
      },
      {
        "id": "Observation.component:accuracyComponent.value[x]:valueQuantity.code",
        "path": "Observation.component.valueQuantity.code",
        "definition": "The units are given by the units of the measurement so this shall have the code as in Observation.valueQuantity.code",
        "min": 1
      },
      {
        "id": "Observation.component:accuracyComponent.dataAbsentReason",
        "path": "Observation.component.dataAbsentReason",
        "max": "0"
      },
      {
        "id": "Observation.component:alertOpStateComponent",
        "path": "Observation.component",
        "sliceName": "alertOpStateComponent",
        "definition": "This component gives one of the settings reported in the Alert-Op-State attribute. This attribute is used only by the Pulse Oximeter specialization.\r\nThe Alert-Op-State attribute is used in conjunction with the Current-Limits and Measurement-Status attributes. The Current-Limits defines upper and lower limit thresholds for a reported measurement value. When the reported measurement value goes below or above these limits, a bit is set in the Measurement-Status attribute is set if the Alert-Op-State attribute indicates that the alert is active for the given threshold. Since it is considered important that if a Current-Limits attribute is present an alert shall be sent went the thresholds are crossed, the Alert-Op-State Bits are only set when the alert is, for some reason, turned OFF for a given threshold.\r\nThere shall be one such alertOpStateComponent entry for every bit set in the Alert-Op-State attribute. There may be an entry for the defined cleared components as well.",
        "comment": "Recall that when creating the code for this entry that the code uses the MDER-Bit setting to be reported along with the Alert-Op-State attribute's MDC code. MDER-Bit 0 is the most significant bit of the attribute value. Since the Alert-Op-State attribute is a BITS-16 value, MDER-Bit 0 would have value 0x8000 and MDER-Bit 1 would have value 0x4000. Only bits 0, 1, and 2 are defined for this attribute.",
        "requirements": "This component indicates if a given alert condition is turned off."
      },
      {
        "id": "Observation.component:alertOpStateComponent.code.coding",
        "path": "Observation.component.code.coding",
        "comment": "Normally alternative coding systems are allowed but in this case the value is intimately tied to the code. The code represents the feature indicated by a bit settin in the attribute value. which is either cleared (0) or set (1). Thus the value for this entry is itself a binary 'Y' or 'N' code from http://hl7.org/fhir/v2/0136",
        "min": 1,
        "max": "1"
      },
      {
        "id": "Observation.component:alertOpStateComponent.code.coding.system",
        "path": "Observation.component.code.coding.system",
        "min": 1,
        "fixedUri": "http://hl7.org/fhir/IEEE.ASN1"
      },
      {
        "id": "Observation.component:alertOpStateComponent.code.coding.code",
        "path": "Observation.component.code.coding.code",
        "definition": "This code, which is an alpha-numeric string, is generated by the attribute MDC code, which is 68746 for the Alert-Op-State, followed by a dot (.) followed by the MDER-bit that was set. Given that only three bits are defined in the Pulse Ox specialization that uses this attribute, the code will be one of 68746.0, 68746.1. or 68746.2",
        "comment": "Note that this code is an alpha-numeric string and not a decimal number. Think of it like a very-limited OID.",
        "min": 1
      },
      {
        "id": "Observation.component:alertOpStateComponent.value[x]",
        "path": "Observation.component.valueCodeableConcept",
        "min": 1,
        "type": [
          {
            "code": "CodeableConcept"
          }
        ]
      },
      {
        "id": "Observation.component:alertOpStateComponent.value[x]:valueCodeableConcept.coding",
        "path": "Observation.component.valueCodeableConcept.coding",
        "min": 1,
        "max": "1"
      },
      {
        "id": "Observation.component:alertOpStateComponent.value[x]:valueCodeableConcept.coding.system",
        "path": "Observation.component.valueCodeableConcept.coding.system",
        "definition": "This coding system contains only two entries, 'Y' (yes) and 'N' (no)",
        "min": 1,
        "fixedUri": "http://hl7.org/fhir/v2/0136"
      },
      {
        "id": "Observation.component:alertOpStateComponent.value[x]:valueCodeableConcept.coding.code",
        "path": "Observation.component.valueCodeableConcept.coding.code",
        "definition": "If the MDER-Bit is set, the code value is 'Y' otherwise it is 'N'",
        "comment": "Recall that when the value is 'Y' the alarm or alert is turned off",
        "min": 1
      },
      {
        "id": "Observation.component:alertOpStateComponent.dataAbsentReason",
        "path": "Observation.component.dataAbsentReason",
        "max": "0"
      },
      {
        "id": "Observation.component:currentLimitsComponent",
        "path": "Observation.component",
        "sliceName": "currentLimitsComponent",
        "definition": "The Current-Limits attribute gives upper and lower threshhold values for the triggering of an alert for the measured value being reported in this Observation resource. This attribute is currently used only in the Pulse Oximeter specialization. If the alerting is not turned off, a Measurement-Status attribute bit is set when either threshold is crossed. The Current-Limits attribute value shall be reported if it is present in the measurement.",
        "comment": "The value is expressed as a range. The lower and upper values of the range represent the thresholds.",
        "requirements": "Allows the downstream signaling of an alert and/or warning situation.",
        "max": "1"
      },
      {
        "id": "Observation.component:currentLimitsComponent.component.code.coding",
        "path": "Observation.component.code.coding",
        "slicing": {
          "discriminator": [
            {
              "type": "value",
              "path": "system"
            }
          ],
          "ordered": true,
          "rules": "open"
        },
        "min": 1
      },
      {
        "id": "Observation.component:currentLimitsComponent.code.coding:11073Type",
        "path": "Observation.component.code.coding",
        "sliceName": "11073Type",
        "min": 1,
        "max": "1"
      },
      {
        "id": "Observation.component:currentLimitsComponent.code.coding:11073Type.system",
        "path": "Observation.component.code.coding.system",
        "definition": "Indicates the MDC coding system",
        "comment": "The code is that of the Current-Limits attribute",
        "min": 1,
        "fixedUri": "urn:iso:std:iso:11073:10101"
      },
      {
        "id": "Observation.component:currentLimitsComponent.code.coding:11073Type.code",
        "path": "Observation.component.code.coding.code",
        "definition": "Shall be the code of the Current-Limits attribute.",
        "min": 1,
        "fixedCode": "67892"
      },
      {
        "id": "Observation.component:currentLimitsComponent.code.coding:11073Type.display",
        "extension": [
          {
            "url": "http://hl7.org/fhir/StructureDefinition/elementdefinition-translatable",
            "valueBoolean": true
          }
        ],
        "path": "Observation.component.code.coding.display",
        "definition": "Should include the reference id for the Current-Limits attribute which is MDC_ATTR_LIMIT_CURR"
      },
      {
        "id": "Observation.component:currentLimitsComponent.value[x]",
        "path": "Observation.component.valueRange",
        "min": 1,
        "type": [
          {
            "code": "Range"
          }
        ]
      },
      {
        "id": "Observation.component:currentLimitsComponent:value[x].valueRange.low",
        "path": "Observation.component.valueRange.low",
        "sliceName": "SimpleQuantity",
        "min": 1
      },
      {
        "id": "Observation.component:currentLimitsComponent:value[x].valueRange.low.value",
        "path": "Observation.component.valueRange.low.value",
        "definition": "Thsi value is given by Current-Limits.lower as an MDER-FLOAT and shall be expressed in the precsion indcated by the MDER-FLOAT construct.",
        "comment": "This gives the lower threshold. If the measurement falls below this value, the Measurement-Status attribute is sent with a bit stating the alert is present (if the alerts are not turned off for the lower limits).",
        "min": 1
      },
      {
        "id": "Observation.component:currentLimitsComponent:value[x].valueRange.low.unit",
        "extension": [
          {
            "url": "http://hl7.org/fhir/StructureDefinition/elementdefinition-translatable",
            "valueBoolean": true
          }
        ],
        "path": "Observation.component.valueRange.low.unit",
        "definition": "A human-readable form of the unit. It is suggested that the UCUM code is used in this string with the {} filled should they be present."
      },
      {
        "id": "Observation.component:currentLimitsComponent:value[x].valueRange.low.system",
        "path": "Observation.component.valueRange.low.system",
        "definition": "Indicates the MDC coding system.",
        "min": 1,
        "fixedUri": "urn:iso:std:iso:11073:10101"
      },
      {
        "id": "Observation.component:currentLimitsComponent:value[x].valueRange.low.value.code",
        "path": "Observation.component.valueRange.low.code",
        "definition": "This code (which is the code for the units) shall be the same as Observation.valueQuantity.code",
        "comment": "The MDC units are required to assure no ambiguity in translation. UCUM is optionally placed in the unit element if it is known by the uploader.",
        "min": 1
      },
      {
        "id": "Observation.component:currentLimitsComponent:value[x].valueRange.high",
        "path": "Observation.component.valueRange.high",
        "sliceName": "SimpleQuantity",
        "comment": "The high limit shall be present",
        "min": 1
      },
      {
        "id": "Observation.component:currentLimitsComponent:value[x].valueRange.high.value",
        "path": "Observation.component.valueRange.high.value",
        "definition": "Thsi value is given by Current-Limits.upper as an MDER-FLOAT and shall be expressed in the precsion indcated by the MDER-FLOAT construct.",
        "comment": "This gives the upper threshold. If the measurement goes above this value, the Measurement-Status attribute is sent with a bit stating the alert is present (if the alerts are not turned off for the upper limits).",
        "min": 1
      },
      {
        "id": "Observation.component:currentLimitsComponent:value[x].valueRange.high.unit",
        "extension": [
          {
            "url": "http://hl7.org/fhir/StructureDefinition/elementdefinition-translatable",
            "valueBoolean": true
          }
        ],
        "path": "Observation.component.valueRange.high.unit",
        "definition": "A human-readable form of the unit. It is suggested that the UCUM code is used in this string with the {} filled should they be present."
      },
      {
        "id": "Observation.component:currentLimitsComponent:value[x].valueRange.high.system",
        "path": "Observation.component.valueRange.high.system",
        "definition": "Indicates the MDC coding system.",
        "min": 1,
        "fixedUri": "urn:iso:std:iso:11073:10101"
      },
      {
        "id": "Observation.component:currentLimitsComponent:value[x].valueRange.high.code",
        "path": "Observation.component.valueRange.high.code",
        "definition": "This code (which is the code for the units) shall be the same as Observation.valueQuantity.code",
        "comment": "The MDC units are required to assure no ambiguity in translation. UCUM is optionally placed in the unit element if it is known by the uploader.",
        "min": 1
      },
      {
        "id": "Observation.component:currentLimitsComponent.dataAbsentReason",
        "path": "Observation.component.dataAbsentReason",
        "max": "0"
      },
      {
        "id": "Observation.component:alertOpTextStringComponent",
        "path": "Observation.component",
        "sliceName": "alertOpTextStringComponent",
        "definition": "This component reports the values in the Alert-Op-Text-String attribute. Reporting the this attribute information is optional.",
        "comment": "This attribute consists of human readable strings giving further information about the upper and lower limits",
        "max": "1"
      },
      {
        "id": "Observation.component:alertOpTextStringComponent.code.coding",
        "path": "Observation.component.code.coding",
        "slicing": {
          "discriminator": [
            {
              "type": "value",
              "path": "code"
            }
          ],
          "ordered": true,
          "rules": "open"
        },
        "min": 1
      },
      {
        "id": "Observation.component:alertOpTextStringComponent.code.coding:11073Type",
        "path": "Observation.component.code.coding",
        "sliceName": "11073Type",
        "min": 1,
        "max": "1"
      },
      {
        "id": "Observation.component:alertOpTextStringComponent.code.coding:11073Type.system",
        "path": "Observation.component.code.coding.system",
        "min": 1,
        "fixedUri": "urn:iso:std:iso:11073:10101"
      },
      {
        "id": "Observation.component:alertOpTextStringComponent.code.coding:11073Type.code",
        "path": "Observation.component.code.coding.code",
        "definition": "The MDC code for the Alert-Op-Text-String attribute",
        "min": 1,
        "fixedCode": "68104"
      },
      {
        "id": "Observation.component:alertOpTextStringComponent.code.coding:11073Type.display",
        "extension": [
          {
            "url": "http://hl7.org/fhir/StructureDefinition/elementdefinition-translatable",
            "valueBoolean": true
          }
        ],
        "path": "Observation.component.code.coding.display",
        "definition": "The reference identifier for the attribute should be included. The Alert-Op-Text-String attribute ref id is MDC_ATTR_AL_OP_TEXT_STRING"
      },
      {
        "id": "Observation.component:alertOpTextStringComponent.value[x]:valueString",
        "path": "Observation.component.valueString",
        "sliceName": "valueString",
        "min": 1,
        "type": [
          {
            "code": "string"
          }
        ]
      },
      {
        "id": "Observation.component:alertOpTextStringComponent.value[x]:valueString.value",
        "path": "Observation.component.valueString.value",
        "definition": "This is the value of the lower and upper text strings presented in an application specific manner.",
        "min": 1
      },
      {
        "id": "Observation.component:alertOpTextStringComponent.dataAbsentReason",
        "path": "Observation.component.dataAbsentReason",
        "max": "0"
      },
      {
        "id": "Observation.component:measurementConfidence95Component",
        "path": "Observation.component",
        "sliceName": "measurementConfidence95Component",
        "definition": "The Measurement-Confidence-95 attribute defines the lower and upper bounds for a range within which the manufacture is 95% confident that the actual value resides. The unit for the lower bound and upper bound is the same as the measurement.",
        "requirements": "Provides a level of confidence for the reported measurement.",
        "max": "1"
      },
      {
        "id": "Observation.component:measurementConfidence95Component.code.coding",
        "path": "Observation.component.code.coding",
        "slicing": {
          "discriminator": [
            {
              "type": "value",
              "path": "system"
            }
          ],
          "ordered": true,
          "rules": "open"
        },
        "min": 1
      },
      {
        "id": "Observation.component:measurementConfidence95Component.coding:11073Type",
        "path": "Observation.component.code.coding",
        "sliceName": "11073Type",
        "min": 1,
        "max": "1"
      },
      {
        "id": "Observation.component:measurementConfidence95Component.coding:11073Type.system",
        "path": "Observation.component.code.coding.system",
        "definition": "Indicates the MDC coding system",
        "comment": "The code is that of the Current-Limits attribute",
        "min": 1,
        "fixedUri": "urn:iso:std:iso:11073:10101"
      },
      {
        "id": "Observation.component:measurementConfidence95Component.coding:11073Type.code",
        "path": "Observation.component.code.coding.code",
        "definition": "Shall be the code of the Current-Limits attribute.",
        "min": 1,
        "fixedCode": "526998"
      },
      {
        "id": "Observation.component:measurementConfidence95Component.coding:11073Type.display",
        "extension": [
          {
            "url": "http://hl7.org/fhir/StructureDefinition/elementdefinition-translatable",
            "valueBoolean": true
          }
        ],
        "path": "Observation.component.code.coding.display",
        "definition": "Should include the reference id for the Current-Limits attribute which is MDC_ATTR_MSMT_CONFIDENCE_95"
      },
      {
        "id": "Observation.component:measurementConfidence95Component.value[x]",
        "path": "Observation.component.valueRange",
        "min": 1,
        "type": [
          {
            "code": "Range"
          }
        ]
      },
      {
        "id": "Observation.component:measurementConfidence95Component:value[x].valueRange.low",
        "path": "Observation.component.valueRange.low",
        "sliceName": "SimpleQuantity",
        "min": 1
      },
      {
        "id": "Observation.component:measurementConfidence95Component:value[x].valueRange.low.value",
        "path": "Observation.component.valueRange.low.value",
        "definition": "Thsi value is given by Measurement-Confidence-95.lower-bound as an MDER-FLOAT and shall be expressed in the precsion indcated by the MDER-FLOAT construct.",
        "comment": "This gives the lower value for the manufacturer is 95% confident that the measurement reported is that of the real value.",
        "min": 1
      },
      {
        "id": "Observation.component:measurementConfidence95Component:value[x].valueRange.low.unit",
        "extension": [
          {
            "url": "http://hl7.org/fhir/StructureDefinition/elementdefinition-translatable",
            "valueBoolean": true
          }
        ],
        "path": "Observation.component.valueRange.low.unit",
        "definition": "A human-readable form of the unit. It is suggested that the UCUM code is used in this string with the {} filled should they be present."
      },
      {
        "id": "Observation.component:measurementConfidence95Component:value[x].valueRange.low.system",
        "path": "Observation.component.valueRange.low.system",
        "definition": "Indicates the MDC coding system.",
        "min": 1,
        "fixedUri": "urn:iso:std:iso:11073:10101"
      },
      {
        "id": "Observation.component:measurementConfidence95Component:value[x].valueRange.low.value.code",
        "path": "Observation.component.valueRange.low.code",
        "definition": "This code (which is the code for the units) shall be the same as Observation.valueQuantity.code",
        "comment": "The MDC units are required to assure no ambiguity in translation. UCUM is optionally placed in the unit element if it is known by the uploader.",
        "min": 1
      },
      {
        "id": "Observation.component:measurementConfidence95Component:value[x].valueRange.high",
        "path": "Observation.component.valueRange.high",
        "sliceName": "SimpleQuantity",
        "comment": "The high limit shall be present",
        "min": 1
      },
      {
        "id": "Observation.component:measurementConfidence95Component:value[x].valueRange.high.value",
        "path": "Observation.component.valueRange.high.value",
        "definition": "Thsi value is given by Measurement-Confidence-95.upper-bound as an MDER-FLOAT and shall be expressed in the precsion indcated by the MDER-FLOAT construct.",
        "comment": "This gives the upper value for the manufacturer is 95% confident that the measurement reported is that of the real value.",
        "min": 1
      },
      {
        "id": "Observation.component:measurementConfidence95Component:value[x].valueRange.high.unit",
        "extension": [
          {
            "url": "http://hl7.org/fhir/StructureDefinition/elementdefinition-translatable",
            "valueBoolean": true
          }
        ],
        "path": "Observation.component.valueRange.high.unit",
        "definition": "A human-readable form of the unit. It is suggested that the UCUM code is used in this string with the {} filled should they be present."
      },
      {
        "id": "Observation.component:measurementConfidence95Component:value[x].valueRange.high.system",
        "path": "Observation.component.valueRange.high.system",
        "definition": "Indicates the MDC coding system.",
        "min": 1,
        "fixedUri": "urn:iso:std:iso:11073:10101"
      },
      {
        "id": "Observation.component:measurementConfidence95Component:value[x].valueRange.high.code",
        "path": "Observation.component.valueRange.high.code",
        "definition": "This code (which is the code for the units) shall be the same as Observation.valueQuantity.code",
        "comment": "The MDC units are required to assure no ambiguity in translation. UCUM is optionally placed in the unit element if it is known by the uploader.",
        "min": 1
      },
      {
        "id": "Observation.component:measurementConfidence95Component.dataAbsentReason",
        "path": "Observation.component.dataAbsentReason",
        "max": "0"
      },
      {
        "id": "Observation.component:thresholdNotificationTextStringComponent",
        "path": "Observation.component",
        "sliceName": "thresholdNotificationTextStringComponent",
        "definition": "This component reports the values in the Threshold-Notification-Text-String attribute. Reporting the this attribute information is optional.",
        "comment": "This attribute consists of human readable strings giving further information threshold notification(s)",
        "max": "1"
      },
      {
        "id": "Observation.component:thresholdNotificationTextStringComponent.code.coding",
        "path": "Observation.component.code.coding",
        "slicing": {
          "discriminator": [
            {
              "type": "value",
              "path": "code"
            }
          ],
          "ordered": true,
          "rules": "open"
        },
        "min": 1
      },
      {
        "id": "Observation.component:thresholdNotificationTextStringComponent.code.coding:11073Type",
        "path": "Observation.component.code.coding",
        "sliceName": "11073Type",
        "min": 1,
        "max": "1"
      },
      {
        "id": "Observation.component:thresholdNotificationTextStringComponent.code.coding:11073Type.system",
        "path": "Observation.component.code.coding.system",
        "min": 1,
        "fixedUri": "urn:iso:std:iso:11073:10101"
      },
      {
        "id": "Observation.component:thresholdNotificationTextStringComponent.code.coding:11073Type.code",
        "path": "Observation.component.code.coding.code",
        "definition": "The MDC code for the Threshold-Notification-Text-String attribute",
        "min": 1,
        "fixedCode": "68232"
      },
      {
        "id": "Observation.component:thresholdNotificationTextStringComponent.code.coding:11073Type.display",
        "extension": [
          {
            "url": "http://hl7.org/fhir/StructureDefinition/elementdefinition-translatable",
            "valueBoolean": true
          }
        ],
        "path": "Observation.component.code.coding.display",
        "definition": "The reference identifier for the attribute should be included. The Threshold-Notification-Text-String attribute ref id is MDC_ATTR_THRES_NOTIF_TEXT_STRING"
      },
      {
        "id": "Observation.component:thresholdNotificationTextStringComponent.value[x]:valueString",
        "path": "Observation.component.valueString",
        "sliceName": "valueString",
        "min": 1,
        "type": [
          {
            "code": "string"
          }
        ]
      },
      {
        "id": "Observation.component:thresholdNotificationTextStringComponent.value[x]:valueString.value",
        "path": "Observation.component.valueString.value",
        "definition": "This is the value of the text string.",
        "min": 1
      },
      {
        "id": "Observation.component:thresholdNotificationTextStringComponent.dataAbsentReason",
        "path": "Observation.component.dataAbsentReason",
        "max": "0"
      }
    ]
  }
}