{
  "resourceType": "StructureDefinition",
  "id": "structuredefinition-profile-observation-results",
  "meta": {
    "lastUpdated": "2021-01-18T23:39:35.676+00:00"
  },
  "url": "https://fhir.infoway-inforoute.ca/StructureDefinition/profile-observation-results",
  "version": "0.1",
  "name": "PHIAccessLabResultObservation",
  "title": "PHI Access Observation Profile - Lab Results",
  "status": "draft",
  "date": "2021-01-18T23:25:59.6018937Z",
  "publisher": "Canada Health Infoway",
  "jurisdiction": [
    {
      "coding": [
        {
          "system": "urn:iso:std:iso:3166",
          "code": "CA",
          "display": "Canada"
        }
      ]
    }
  ],
  "fhirVersion": "4.0.1",
  "kind": "resource",
  "abstract": false,
  "type": "Observation",
  "baseDefinition": "http://hl7.org/fhir/StructureDefinition/Observation",
  "derivation": "constraint",
  "differential": {
    "element": [
      {
        "id": "Observation",
        "path": "Observation",
        "short": "Observation Profile",
        "definition": "The Observation Profile is based upon the FHIR Observation Resource",
        "comment": "Used for simple observations such as laboratory atomic results. Other resources are used to provide context for observations such as laboratory reports, etc.",
        "constraint": [
          {
            "key": "access-1",
            "severity": "error",
            "human": "If there is no component or hasMember element then either a value[x] or a data absent reason must be present",
            "expression": "(component.empty() and hasMember.empty()) implies (dataAbsentReason.exists() or value.exists())",
            "xpath": "exists(f:component) or exists(f:hasMember) or exists(f:*[starts-with(local-name(.), 'value')]) or exists(f:dataAbsentReason)",
            "source": "http://hl7.org/fhir/ACCESS2020/StructureDefinition/profile-observation-results"
          }
        ]
      },
      {
        "id": "Observation.id",
        "path": "Observation.id",
        "requirements": "Necessary for preventing collisions and duplication of resources",
        "mustSupport": true
      },
      {
        "id": "Observation.meta",
        "path": "Observation.meta",
        "requirements": "Necessary for preventing collisions and duplication of resources",
        "min": 1,
        "mustSupport": true
      },
      {
        "id": "Observation.meta.id",
        "path": "Observation.meta.id",
        "mustSupport": false
      },
      {
        "id": "Observation.meta.versionId",
        "path": "Observation.meta.versionId",
        "min": 1,
        "mustSupport": true
      },
      {
        "id": "Observation.meta.lastUpdated",
        "path": "Observation.meta.lastUpdated",
        "min": 1,
        "mustSupport": true
      },
      {
        "id": "Observation.meta.source",
        "path": "Observation.meta.source",
        "min": 1,
        "mustSupport": true
      },
      {
        "id": "Observation.text",
        "path": "Observation.text",
        "requirements": "Cardinality constrained to 1..1 as this element provides a meaningful human narrative to the observation findings and is expected to be generated by the FHIR Service/Data Connector based on the structured elements in the resource.",
        "min": 1,
        "mustSupport": true
      },
      {
        "id": "Observation.text.status",
        "path": "Observation.text.status",
        "mustSupport": true
      },
      {
        "id": "Observation.text.div",
        "path": "Observation.text.div",
        "mustSupport": true
      },
      {
        "id": "Observation.identifier",
        "path": "Observation.identifier",
        "comment": "Usage Note: Given the cross-provinicial scope of the use cases, an observation identifier is considered critical to prevent a patient-facing application from unknowingly rendering duplicated results.",
        "min": 1,
        "mustSupport": true
      },
      {
        "id": "Observation.identifier.type",
        "path": "Observation.identifier.type",
        "mustSupport": true
      },
      {
        "id": "Observation.identifier.type.text",
        "path": "Observation.identifier.type.text",
        "min": 1,
        "mustSupport": true
      },
      {
        "id": "Observation.identifier.system",
        "path": "Observation.identifier.system",
        "min": 1,
        "mustSupport": true
      },
      {
        "id": "Observation.identifier.value",
        "path": "Observation.identifier.value",
        "min": 1,
        "mustSupport": true
      },
      {
        "id": "Observation.status",
        "path": "Observation.status",
        "short": "preliminary | final | amended | corrected",
        "comment": "This element is labeled as a modifier because the status contains codes that mark the resource as not currently valid.\n\nIn the first release, the focus will be observations communicated to the LIS that are preliminary, finalized, and corrected. A constrained value set will be used that does not include registered, cancelled, entered in error, and unknown.  Instead, implementors are encouragedto utilize the data absent reason element to communicate the reason why information is not available on a communicated result. \n\nDevelopers Note:  If the constraints on this value set are further relaxed to include registered, cancelled, and entered in error values - then the invariant requiring a value, component, or data absent reason will need to be re-visited to ensure it is properly updated to execute on a status dependent basis (ex: the invariant should not be triggered when the status is registered, entered in error, or cancelled.",
        "mustSupport": true,
        "binding": {
          "strength": "required",
          "valueSet": "https://fhir.infoway-inforoute.ca/ValueSet/PHI-access-observation-status"
        }
      },
      {
        "id": "Observation.category",
        "path": "Observation.category",
        "slicing": {
          "discriminator": [
            {
              "type": "pattern",
              "path": "$this"
            }
          ],
          "rules": "open"
        },
        "min": 1,
        "mustSupport": true
      },
      {
        "id": "Observation.category:laboratory",
        "path": "Observation.category",
        "sliceName": "laboratory",
        "min": 1,
        "max": "1",
        "patternCodeableConcept": {
          "coding": [
            {
              "system": "http://terminology.hl7.org/CodeSystem/observation-category",
              "code": "laboratory",
              "display": "Laboratory"
            }
          ]
        },
        "mustSupport": true
      },
      {
        "id": "Observation.category:laboratory.coding",
        "path": "Observation.category.coding",
        "min": 1,
        "max": "1",
        "mustSupport": true
      },
      {
        "id": "Observation.category:laboratory.text",
        "path": "Observation.category.text",
        "min": 1,
        "mustSupport": true
      },
      {
        "id": "Observation.category:OtherDetail",
        "path": "Observation.category",
        "sliceName": "OtherDetail",
        "patternCodeableConcept": {
          "coding": [
            {
              "system": "https://fhir.infoway-inforoute.ca/ValueSet/PHIaccess-observation-lab-category-detail"
            }
          ]
        },
        "mustSupport": true,
        "binding": {
          "strength": "preferred",
          "valueSet": "https://fhir.infoway-inforoute.ca/ValueSet/PHIaccess-observation-lab-category-detail"
        }
      },
      {
        "id": "Observation.category:OtherDetail.coding",
        "path": "Observation.category.coding",
        "min": 1
      },
      {
        "id": "Observation.category:OtherDetail.coding.system",
        "path": "Observation.category.coding.system",
        "min": 1,
        "mustSupport": true
      },
      {
        "id": "Observation.category:OtherDetail.coding.code",
        "path": "Observation.category.coding.code",
        "min": 1,
        "mustSupport": true
      },
      {
        "id": "Observation.category:OtherDetail.coding.display",
        "path": "Observation.category.coding.display",
        "min": 1,
        "mustSupport": true
      },
      {
        "id": "Observation.category:OtherDetail.text",
        "path": "Observation.category.text",
        "min": 1,
        "mustSupport": true
      },
      {
        "id": "Observation.code",
        "path": "Observation.code",
        "comment": "The binding strength of this element is [Preferred](https://www.hl7.org/fhir/terminologies.html#strength), meaning that codes are encouraged to draw from the LOINC or PCLOCD code system for interoperability purposes but are not required to do so to be considered conformant. *All* code-value and, if present, component.code-component.value pairs need to be taken into account to correctly understand the meaning of the observation.",
        "mustSupport": true,
        "binding": {
          "strength": "preferred",
          "description": "LOINC codes identifying names of simple observations.",
          "valueSet": "https://fhir.infoway-inforoute.ca/ValueSet/PHI-access-observation-codes"
        }
      },
      {
        "id": "Observation.code.coding",
        "path": "Observation.code.coding",
        "mustSupport": true
      },
      {
        "id": "Observation.code.coding.system",
        "path": "Observation.code.coding.system",
        "min": 1,
        "mustSupport": true
      },
      {
        "id": "Observation.code.coding.code",
        "path": "Observation.code.coding.code",
        "min": 1,
        "mustSupport": true
      },
      {
        "id": "Observation.code.coding.display",
        "path": "Observation.code.coding.display",
        "min": 1,
        "mustSupport": true
      },
      {
        "id": "Observation.code.text",
        "path": "Observation.code.text",
        "min": 1,
        "mustSupport": true
      },
      {
        "id": "Observation.subject",
        "path": "Observation.subject",
        "min": 1,
        "type": [
          {
            "code": "Reference",
            "targetProfile": [
              "https://fhir.infoway-inforoute.ca/StructureDefinition/profile-patient-DataConnector"
            ]
          }
        ],
        "mustSupport": true
      },
      {
        "id": "Observation.subject.reference",
        "path": "Observation.subject.reference",
        "min": 1,
        "mustSupport": true
      },
      {
        "id": "Observation.effective[x]",
        "path": "Observation.effective[x]",
        "comment": "At least a date should be present unless this observation is a historical report.  This element may be further constrained in future releases if other jurisdictions do not expect to utilize effective.Period in their data models.",
        "requirements": "Knowing when an observation was deemed true is important to its relevance as well as determining trends. objective. Timing and objective.instant are next expected to be used in the jurisdictions evaluated in the first release.",
        "min": 1,
        "type": [
          {
            "code": "dateTime"
          },
          {
            "code": "Period"
          }
        ],
        "constraint": [
          {
            "key": "ca-baseline-datetime",
            "severity": "error",
            "human": "Datetime SHALL be at least to day",
            "expression": "($this as dateTime).toString().length() >= 8",
            "source": "http://hl7.org/fhir/ca/baseline/StructureDefinition/profile-observation-results"
          }
        ],
        "mustSupport": true
      },
      {
        "id": "Observation.issued",
        "path": "Observation.issued",
        "comment": "For Observations that don’t require review and verification, it may be the same as the [`lastUpdated` ](resource-definitions.html#Meta.lastUpdated) time of the resource itself.  For Observations that do require review and verification for certain updates, it might not be the same as the `lastUpdated` time of the resource itself due to a non-clinically significant update that doesn’t require the new version to be reviewed and verified again.\n\nZero-fill to necessary precision.",
        "requirements": "In some use cases it may be important to know when the observation was made available to providers in addition to when the observation was mad.",
        "mustSupport": true
      },
      {
        "id": "Observation.performer",
        "path": "Observation.performer",
        "comment": "References SHALL be a reference to an actual FHIR resource, and SHALL be resolveable (allowing for access control, temporary unavailability, etc.). Resolution can be either by retrieval from the URL, or, where applicable by resource type, by treating an absolute reference as a canonical URL and looking it up in a local registry/repository.\n\nProviding information about the lab that performed the observation can be critical for patient-facing applications and clinicians to resolve discontinuity between lab results (e.g., when two labs report out on the same type of lab for the patient and the results differ substantially based on lab behaviors). This is of particular importance when plotting or graphing results over time. \n\nUsage Note: In future releases performer may be relaxed to include references to practictioner and patient to support additional use cases (e.g., patient reported glucometer readings).",
        "max": "1",
        "type": [
          {
            "code": "Reference",
            "targetProfile": [
              "http://hl7.org/fhir/ca/baseline/StructureDefinition/profile-organization"
            ]
          }
        ],
        "mustSupport": true
      },
      {
        "id": "Observation.performer.reference",
        "path": "Observation.performer.reference",
        "mustSupport": true
      },
      {
        "id": "Observation.performer.type",
        "path": "Observation.performer.type",
        "binding": {
          "strength": "extensible",
          "description": "A resource (or, for logical models, the URI of the logical model)."
        }
      },
      {
        "id": "Observation.value[x]",
        "path": "Observation.value[x]",
        "slicing": {
          "discriminator": [
            {
              "type": "type",
              "path": "$this"
            }
          ],
          "rules": "open"
        },
        "type": [
          {
            "code": "Quantity"
          },
          {
            "code": "CodeableConcept"
          },
          {
            "code": "string"
          },
          {
            "code": "boolean"
          },
          {
            "code": "integer"
          },
          {
            "code": "Range"
          },
          {
            "code": "Ratio"
          }
        ],
        "constraint": [
          {
            "key": "ca-baseline-2",
            "severity": "error",
            "human": "SHALL use UCUM for coded quantity units.",
            "expression": "valueQuantity.system.empty() or valueQuantity.system = 'http://unitsofmeasure.org'",
            "xpath": "not(exists(f:valueQuantity/f:system) ) or  f:valueQuantity/f:system[@value='http://unitsofmeasure.org']",
            "source": "https://fhir.infoway-inforoute.ca/StructureDefinition/profile-observation-results2"
          }
        ],
        "mustSupport": true
      },
      {
        "id": "Observation.value[x]:valueCodeableConcept",
        "path": "Observation.value[x]",
        "sliceName": "valueCodeableConcept",
        "type": [
          {
            "code": "CodeableConcept"
          }
        ]
      },
      {
        "id": "Observation.value[x]:valueCodeableConcept.coding",
        "path": "Observation.value[x].coding",
        "min": 1,
        "mustSupport": true
      },
      {
        "id": "Observation.value[x]:valueCodeableConcept.coding.system",
        "path": "Observation.value[x].coding.system",
        "min": 1,
        "mustSupport": true
      },
      {
        "id": "Observation.value[x]:valueCodeableConcept.coding.code",
        "path": "Observation.value[x].coding.code",
        "min": 1,
        "mustSupport": true
      },
      {
        "id": "Observation.value[x]:valueCodeableConcept.coding.display",
        "path": "Observation.value[x].coding.display",
        "mustSupport": true
      },
      {
        "id": "Observation.value[x]:valueCodeableConcept.text",
        "path": "Observation.value[x].text",
        "requirements": "The codes from the terminologies do not always capture the correct meaning with all the nuances of the human using them, or sometimes there is no appropriate code at all. In these cases, the text is used to capture the full meaning of the source.\n\nThis element was made mandatory to ensure simple patient rendering tools had the ability to display text without needing to perform a look-up against the code system.",
        "min": 1,
        "mustSupport": true
      },
      {
        "id": "Observation.value[x]:valueQuantity",
        "path": "Observation.value[x]",
        "sliceName": "valueQuantity",
        "type": [
          {
            "code": "Quantity"
          }
        ]
      },
      {
        "id": "Observation.value[x]:valueQuantity.value",
        "path": "Observation.value[x].value",
        "min": 1,
        "mustSupport": true
      },
      {
        "id": "Observation.value[x]:valueQuantity.unit",
        "path": "Observation.value[x].unit",
        "mustSupport": true
      },
      {
        "id": "Observation.value[x]:valueQuantity.system",
        "path": "Observation.value[x].system",
        "fixedUri": "http://unitsofmeasure.org"
      },
      {
        "id": "Observation.value[x]:valueString",
        "path": "Observation.value[x]",
        "sliceName": "valueString",
        "comment": "Note that FHIR strings SHALL NOT exceed 1MB in size",
        "type": [
          {
            "code": "string"
          }
        ],
        "mustSupport": true
      },
      {
        "id": "Observation.dataAbsentReason",
        "path": "Observation.dataAbsentReason",
        "constraint": [
          {
            "key": "ca-baseline-value",
            "severity": "error",
            "human": "Observation.value[x] or Observation.dataAbsentReason or Observation.component SHOULD be present",
            "expression": "value[x].exists() or dataAbsentReason.exists() or component.exists()",
            "xpath": "Observation.value[x] or Observation.dataAbsentReason or Observation.component",
            "source": "http://hl7.org/fhir/ca/baseline/StructureDefinition/profile-observation-results"
          }
        ],
        "mustSupport": true
      },
      {
        "id": "Observation.dataAbsentReason.coding",
        "path": "Observation.dataAbsentReason.coding",
        "mustSupport": true
      },
      {
        "id": "Observation.dataAbsentReason.coding.system",
        "path": "Observation.dataAbsentReason.coding.system",
        "min": 1,
        "mustSupport": true
      },
      {
        "id": "Observation.dataAbsentReason.coding.code",
        "path": "Observation.dataAbsentReason.coding.code",
        "min": 1,
        "mustSupport": true
      },
      {
        "id": "Observation.dataAbsentReason.text",
        "path": "Observation.dataAbsentReason.text",
        "mustSupport": true
      },
      {
        "id": "Observation.interpretation",
        "path": "Observation.interpretation",
        "requirements": "For some results, particularly numeric results, an interpretation is necessary to fully understand the significance of a result. Requirements from jurisidctional stakeholders outlined the importance returning responses that include information that aids in citizen interpretation of the results, including reference ranges and abnormal flags.",
        "mustSupport": true
      },
      {
        "id": "Observation.interpretation.coding",
        "path": "Observation.interpretation.coding",
        "mustSupport": true
      },
      {
        "id": "Observation.interpretation.coding.system",
        "path": "Observation.interpretation.coding.system",
        "min": 1,
        "mustSupport": true
      },
      {
        "id": "Observation.interpretation.coding.code",
        "path": "Observation.interpretation.coding.code",
        "min": 1,
        "mustSupport": true
      },
      {
        "id": "Observation.interpretation.text",
        "path": "Observation.interpretation.text",
        "mustSupport": true
      },
      {
        "id": "Observation.note",
        "path": "Observation.note",
        "comment": "May include general statements about the observation, or statements about significant, unexpected or unreliable results values, or information about its source when relevant to its interpretation.\n\nThis element should not be used to communicate information that is intended to be captured in result. Though some labs may send result information in the HL7 v2 NTE segment this element is typically mapped to, participating data sources and gateways should take care to ensure differentation between result information and supportive comments.\n\nImplementor Note: One consideration that needs to be explored with LIS sites is whether there is any risk of exposing data that is inappropriate for the patient in this field. Another consideration if expecting lossless 2-way conversion, is that there are two places where notes can occur in HL7 v2 ORU messages: linked to the OBR (observation) and the OBX (result). Once the note is in FHIR, it will be difficult to identify whether or not it is tied to observation or result using existing structured data. If lossless 2-way for notes is deemed critical, one method of approach would be extensions, but discussions with LIS & end-users recommended to determine feasibility.",
        "mustSupport": false
      },
      {
        "id": "Observation.referenceRange",
        "path": "Observation.referenceRange",
        "mustSupport": true
      },
      {
        "id": "Observation.referenceRange.low",
        "path": "Observation.referenceRange.low",
        "mustSupport": true
      },
      {
        "id": "Observation.referenceRange.high",
        "path": "Observation.referenceRange.high",
        "mustSupport": true
      },
      {
        "id": "Observation.referenceRange.type",
        "path": "Observation.referenceRange.type",
        "mustSupport": true
      },
      {
        "id": "Observation.referenceRange.text",
        "path": "Observation.referenceRange.text",
        "mustSupport": true
      },
      {
        "id": "Observation.hasMember",
        "path": "Observation.hasMember",
        "comment": "When using this element, an observation will typically have either a value or a set of related resources, although both may be present in some cases.  For a discussion on the ways Observations can assembled in groups together, see [Notes](observation.html#obsgrouping) below. \n\nThe information in the observation resources should be complete (self-contained) and the information in the resource should make sense by itself (if component is not used). Text-based reports (e.g., microbiology, pathology, etc.) that are generated from multiple OBX lines SHALL be communicated as either a single observation or through diagnosticReport.presentedForm.",
        "requirements": "Must be supported to support jurisdictional stakeholder requirements of recognizing linkages or relationships between observations (individual results & panels).",
        "type": [
          {
            "code": "Reference",
            "targetProfile": [
              "https://fhir.infoway-inforoute.ca/StructureDefinition/profile-observation-results"
            ]
          }
        ],
        "mustSupport": true
      },
      {
        "id": "Observation.hasMember.reference",
        "path": "Observation.hasMember.reference",
        "mustSupport": true
      },
      {
        "id": "Observation.component",
        "path": "Observation.component",
        "mustSupport": true
      },
      {
        "id": "Observation.component.code",
        "path": "Observation.component.code",
        "comment": "The binding strength of this element is [Preferred](https://www.hl7.org/fhir/terminologies.html#strength), meaning that codes are encouraged to draw from the LOINC code system for interoperability purposes but are not required to do so to be considered conformant. *All* code-value and, if present, component.code-component.value pairs need to be taken into account to correctly understand the meaning of the observation.",
        "mustSupport": true,
        "binding": {
          "strength": "preferred",
          "description": "LOINC codes identifying names of simple observations.",
          "valueSet": "https://fhir.infoway-inforoute.ca/ValueSet/PHI-access-observation-codes"
        }
      },
      {
        "id": "Observation.component.code.coding",
        "path": "Observation.component.code.coding",
        "mustSupport": true
      },
      {
        "id": "Observation.component.code.coding.system",
        "path": "Observation.component.code.coding.system",
        "min": 1,
        "mustSupport": true
      },
      {
        "id": "Observation.component.code.coding.code",
        "path": "Observation.component.code.coding.code",
        "min": 1,
        "mustSupport": true
      },
      {
        "id": "Observation.component.code.text",
        "path": "Observation.component.code.text",
        "min": 1,
        "mustSupport": true
      },
      {
        "id": "Observation.component.value[x]",
        "path": "Observation.component.value[x]",
        "slicing": {
          "discriminator": [
            {
              "type": "type",
              "path": "$this"
            }
          ],
          "rules": "open"
        },
        "type": [
          {
            "code": "Quantity"
          },
          {
            "code": "CodeableConcept"
          },
          {
            "code": "string"
          },
          {
            "code": "boolean"
          },
          {
            "code": "integer"
          },
          {
            "code": "Range"
          },
          {
            "code": "Ratio"
          }
        ],
        "constraint": [
          {
            "key": "ca-baseline-component-value",
            "severity": "error",
            "human": "Observation.component.value[x] or Observation.component.dataAbsentReason SHALL be present",
            "expression": "component.value[x].exists() or component.dataAbsentReason.exists()",
            "xpath": "Observation.component.value[x] or Observation.component.dataAbsentReason",
            "source": "http://hl7.org/fhir/ca/core/StructureDefinition/profile-observation-results"
          }
        ],
        "mustSupport": true
      },
      {
        "id": "Observation.component.value[x]:valueCodeableConcept",
        "path": "Observation.component.value[x]",
        "sliceName": "valueCodeableConcept",
        "type": [
          {
            "code": "CodeableConcept"
          }
        ],
        "constraint": [
          {
            "key": "ca-baseline-results-1",
            "severity": "warning",
            "human": "SHOULD use SNOMED CT for coded Results",
            "expression": "valueCodeableConcept.coding.system.empty() or valueCodeableConcept.coding.system = 'http://snomed.info/sct'",
            "xpath": "not(exists(f:valueCodeableConcept/f:coding/f:system) ) or  f:valueCodeableConcept/f:coding/f:system[@value='http://snomed.info/sct']",
            "source": "http://hl7.org/fhir/ca/core/StructureDefinition/profile-observation-results"
          }
        ]
      },
      {
        "id": "Observation.component.value[x]:valueCodeableConcept.coding",
        "path": "Observation.component.value[x].coding",
        "mustSupport": true
      },
      {
        "id": "Observation.component.value[x]:valueCodeableConcept.coding.system",
        "path": "Observation.component.value[x].coding.system",
        "min": 1,
        "mustSupport": true
      },
      {
        "id": "Observation.component.value[x]:valueCodeableConcept.coding.code",
        "path": "Observation.component.value[x].coding.code",
        "min": 1,
        "mustSupport": true
      },
      {
        "id": "Observation.component.value[x]:valueCodeableConcept.text",
        "path": "Observation.component.value[x].text",
        "min": 1,
        "mustSupport": true
      },
      {
        "id": "Observation.component.value[x]:valueQuantity",
        "path": "Observation.component.value[x]",
        "sliceName": "valueQuantity",
        "type": [
          {
            "code": "Quantity"
          }
        ]
      },
      {
        "id": "Observation.component.value[x]:valueQuantity.value",
        "path": "Observation.component.value[x].value",
        "min": 1
      },
      {
        "id": "Observation.component.value[x]:valueQuantity.system",
        "path": "Observation.component.value[x].system",
        "fixedUri": "http://unitsofmeasure.org",
        "constraint": [
          {
            "key": "ca-baseline-results-2",
            "severity": "error",
            "human": "SHALL use UCUM for coded quantity units",
            "expression": "where(valueQuantity.system='http://unitsofmeasure.org' and valueQuantity.value.exists()).exists()",
            "xpath": "exists(f:valueQuantity/value) and exists(f:valueQuantity/system[@value='http://unitsofmeasure.org'])",
            "source": "http://hl7.org/fhir/ca/baseline/StructureDefinition/profile-observation-results"
          }
        ]
      },
      {
        "id": "Observation.component.value[x]:valueString",
        "path": "Observation.component.value[x]",
        "sliceName": "valueString",
        "type": [
          {
            "code": "string"
          }
        ]
      },
      {
        "id": "Observation.component.dataAbsentReason",
        "path": "Observation.component.dataAbsentReason",
        "constraint": [
          {
            "key": "ca-baseline-component-value",
            "severity": "error",
            "human": "Observation.value[x] or Observation.dataAbsentReason SHALL be present",
            "expression": "value[x].exists() or dataAbsentReason.exists()",
            "xpath": "Observation.value[x] or Observation.dataAbsentReason",
            "source": "http://hl7.org/fhir/ca/baseline/StructureDefinition/profile-observation-results"
          }
        ],
        "mustSupport": true
      },
      {
        "id": "Observation.component.dataAbsentReason.coding",
        "path": "Observation.component.dataAbsentReason.coding",
        "mustSupport": true
      },
      {
        "id": "Observation.component.dataAbsentReason.coding.system",
        "path": "Observation.component.dataAbsentReason.coding.system",
        "min": 1,
        "mustSupport": true
      },
      {
        "id": "Observation.component.dataAbsentReason.coding.code",
        "path": "Observation.component.dataAbsentReason.coding.code",
        "min": 1,
        "mustSupport": true
      },
      {
        "id": "Observation.component.dataAbsentReason.text",
        "path": "Observation.component.dataAbsentReason.text",
        "mustSupport": true
      },
      {
        "id": "Observation.component.interpretation.coding",
        "path": "Observation.component.interpretation.coding",
        "mustSupport": true
      },
      {
        "id": "Observation.component.interpretation.coding.system",
        "path": "Observation.component.interpretation.coding.system",
        "min": 1,
        "mustSupport": true
      },
      {
        "id": "Observation.component.interpretation.coding.code",
        "path": "Observation.component.interpretation.coding.code",
        "min": 1,
        "mustSupport": true
      },
      {
        "id": "Observation.component.interpretation.text",
        "path": "Observation.component.interpretation.text",
        "mustSupport": true
      },
      {
        "id": "Observation.component.referenceRange.low",
        "path": "Observation.component.referenceRange.low",
        "mustSupport": true
      },
      {
        "id": "Observation.component.referenceRange.high",
        "path": "Observation.component.referenceRange.high",
        "mustSupport": true
      },
      {
        "id": "Observation.component.referenceRange.type",
        "path": "Observation.component.referenceRange.type",
        "mustSupport": true
      },
      {
        "id": "Observation.component.referenceRange.text",
        "path": "Observation.component.referenceRange.text",
        "mustSupport": true
      }
    ]
  }
}