{
  "resourceType": "StructureDefinition",
  "id": "biobankcy-sd-bloodpressure",
  "url": "http://ig.biobank.cy/fhir/StructureDefinition/biobankcy-sd-bloodpressure",
  "name": "BIOBANKCYSDBloodPressure",
  "title": "Profile: Body Blood Pressure (biobank.cy)",
  "status": "draft",
  "publisher": "biobank.cy",
  "contact": [
    {
      "name": "Molecular Medicine Research Center (MMRC)",
      "telecom": [
        {
          "system": "email",
          "value": "biobank@ucy.ac.cy",
          "use": "work"
        }
      ]
    }
  ],
  "description": "Represents the blood pressure of a donor (research subject) or citizen (patient) of the biobank.cy. The observation is analysed in two components: one for the systolic blood pressure and one for the diastolic blood pressure.",
  "fhirVersion": "4.0.1",
  "kind": "resource",
  "abstract": false,
  "type": "Observation",
  "baseDefinition": "http://ig.biobank.cy/fhir/StructureDefinition/biobankcy-sd-vitalsigns",
  "derivation": "constraint",
  "differential": {
    "element": [
      {
        "id": "Observation.code",
        "path": "Observation.code",
        "short": "Blood Pressure",
        "definition": "Blood Pressure.",
        "comment": "Not all terminology uses fit this general pattern. In some cases, models should not use CodeableConcept and use Coding directly and provide their own structure for managing text, codings, translations and the relationship between elements and pre- and post-coordination.\r\n\r\nbiobank.cy: display: \"Blood pressure panel with all children optional\"",
        "patternCodeableConcept": {
          "coding": [
            {
              "system": "http://loinc.org",
              "code": "85354-9"
            }
          ]
        }
      },
      {
        "id": "Observation.code.coding",
        "path": "Observation.code.coding",
        "comment": "Codes may be defined very casually in enumerations or code lists, up to very formal definitions such as SNOMED CT - see the HL7 v3 Core Principles for more information.\r\n\r\ndisplay: \"Blood pressure panel with all children optional\"",
        "min": 1,
        "max": "1"
      },
      {
        "id": "Observation.focus",
        "path": "Observation.focus",
        "comment": "Typically, an observation is made about the subject - a patient, or group of patients, location, or device - and the distinction between the subject and what is directly measured for an observation is specified in the observation code itself ( e.g., \"Blood Glucose\") and does not need to be represented separately using this element.  Use `specimen` if a reference to a specimen is required.  If a code is required instead of a resource use either  `bodysite` for bodysites or the standard extension [focusCode](extension-observation-focuscode.html).\r\n\r\nNot to be used for biobank.cy"
      },
      {
        "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.\r\n\r\nNot to be used for biobank.cy"
      },
      {
        "id": "Observation.value[x]",
        "path": "Observation.value[x]",
        "comment": "An observation may have; 1)  a single value here, 2)  both a value and a set of related or component values,  or 3)  only a set of related or component values. If a value is present, the datatype for this element should be determined by Observation.code.  A CodeableConcept with just a text would be used instead of a string if the field was usually coded, or if the type associated with the Observation.code defines a coded value.  For additional guidance, see the [Notes section](observation.html#notes) below.\r\n\r\nNot to be used for biobank.cy"
      },
      {
        "id": "Observation.dataAbsentReason",
        "path": "Observation.dataAbsentReason",
        "comment": "Null or exceptional values can be represented two ways in FHIR Observations.  One way is to simply include them in the value set and represent the exceptions in the value.  For example, measurement values for a serology test could be  \"detected\", \"not detected\", \"inconclusive\", or  \"specimen unsatisfactory\".   \n\nThe alternate way is to use the value element for actual observations and use the explicit dataAbsentReason element to record exceptional values.  For example, the dataAbsentReason code \"error\" could be used when the measurement was not completed. Note that an observation may only be reported if there are values to report. For example differential cell counts values may be reported only when > 0.  Because of these options, use-case agreements are required to interpret general observations for null or exceptional values.\r\n\r\nNot to be used for biobank.cy"
      },
      {
        "id": "Observation.interpretation",
        "path": "Observation.interpretation",
        "comment": "Historically used for laboratory results (known as 'abnormal flag' ),  its use extends to other use cases where coded interpretations  are relevant.  Often reported as one or more simple compact codes this element is often placed adjacent to the result value in reports and flow sheets to signal the meaning/normalcy status of the result.\r\n\r\nNot to be used for biobank.cy"
      },
      {
        "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.\r\n\r\nNot to be used for biobank.cy"
      },
      {
        "id": "Observation.bodySite",
        "path": "Observation.bodySite",
        "comment": "Only used if not implicit in code found in Observation.code.  In many systems, this may be represented as a related observation instead of an inline component.   \n\nIf the use case requires BodySite to be handled as a separate resource (e.g. to identify and track separately) then use the standard extension[ bodySite](extension-bodysite.html).\r\n\r\nNot to be used for biobank.cy"
      },
      {
        "id": "Observation.method",
        "path": "Observation.method",
        "comment": "Only used if not implicit in code for Observation.code.\r\n\r\nNot to be used for biobank.cy"
      },
      {
        "id": "Observation.specimen",
        "path": "Observation.specimen",
        "comment": "Should only be used if not implicit in code found in `Observation.code`.  Observations are not made on specimens themselves; they are made on a subject, but in many cases by the means of a specimen. Note that although specimens are often involved, they are not always tracked and reported explicitly. Also note that observation resources may be used in contexts that track the specimen explicitly (e.g. Diagnostic Report).\r\n\r\nNot to be used for biobank.cy"
      },
      {
        "id": "Observation.device",
        "path": "Observation.device",
        "comment": "Note that this is not meant to represent a device involved in the transmission of the result, e.g., a gateway.  Such devices may be documented using the Provenance resource where relevant.\r\n\r\nNot to be used for biobank.cy"
      },
      {
        "id": "Observation.referenceRange",
        "path": "Observation.referenceRange",
        "comment": "Most observations only have one generic reference range. Systems MAY choose to restrict to only supplying the relevant reference range based on knowledge about the patient (e.g., specific to the patient's age, gender, weight and other factors), but this might not be possible or appropriate. Whenever more than one reference range is supplied, the differences between them SHOULD be provided in the reference range and/or age properties.\r\n\r\nNot to be used for biobank.cy"
      },
      {
        "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.  Note that a system may calculate results from [QuestionnaireResponse](questionnaireresponse.html)  into a final score and represent the score as an Observation.\r\n\r\nNot to be used for biobank.cy"
      },
      {
        "id": "Observation.derivedFrom",
        "path": "Observation.derivedFrom",
        "comment": "All the reference choices that are listed in this element can represent clinical observations and other measurements that may be the source for a derived value.  The most common reference will be another Observation.  For a discussion on the ways Observations can assembled in groups together, see [Notes](observation.html#obsgrouping) below.\r\n\r\nbiobank.cy: might be needed at a later stage (organize vital signs observations per panel)."
      },
      {
        "id": "Observation.component",
        "path": "Observation.component",
        "slicing": {
          "discriminator": [
            {
              "type": "pattern",
              "path": "code"
            }
          ],
          "description": "There are two components: one for the systolic blood pressure and one for the diastolic blood pressure.",
          "rules": "open"
        },
        "min": 2
      },
      {
        "id": "Observation.component:SystolicBP",
        "path": "Observation.component",
        "sliceName": "SystolicBP",
        "comment": "additional codes that translate or map to this code are allowed.  For example a more granular LOINC code or code that is used locally in a system.",
        "alias": [
          "Component Test",
          "Component Name"
        ],
        "min": 1,
        "max": "1"
      },
      {
        "id": "Observation.component:SystolicBP.code",
        "path": "Observation.component.code",
        "comment": "Not all terminology uses fit this general pattern. In some cases, models should not use CodeableConcept and use Coding directly and provide their own structure for managing text, codings, translations and the relationship between elements and pre- and post-coordination.",
        "patternCodeableConcept": {
          "coding": [
            {
              "system": "http://loinc.org",
              "code": "8480-6",
              "display": "Systolic blood pressure"
            }
          ]
        }
      },
      {
        "id": "Observation.component:SystolicBP.code.coding",
        "path": "Observation.component.code.coding",
        "short": "Systolic Blood Pressure",
        "definition": "Systolic Blood Pressure."
      },
      {
        "id": "Observation.component:SystolicBP.value[x]",
        "path": "Observation.component.value[x]",
        "min": 1,
        "type": [
          {
            "code": "Quantity"
          }
        ],
        "patternQuantity": {
          "unit": "mm[Hg]",
          "system": "http://unitsofmeasure.org",
          "code": "mm[Hg]"
        }
      },
      {
        "id": "Observation.component:DiastolicBP",
        "path": "Observation.component",
        "sliceName": "DiastolicBP",
        "min": 1,
        "max": "1"
      },
      {
        "id": "Observation.component:DiastolicBP.code",
        "path": "Observation.component.code",
        "comment": "additional codes that translate or map to this code are allowed.  For example a more granular LOINC code or code that is used locally in a system.",
        "patternCodeableConcept": {
          "coding": [
            {
              "system": "http://loinc.org",
              "code": "8462-4",
              "display": "Diastolic blood pressure"
            }
          ]
        }
      },
      {
        "id": "Observation.component:DiastolicBP.code.coding",
        "path": "Observation.component.code.coding",
        "short": "Diastolic Blood Pressure",
        "definition": "Diastolic Blood Pressure."
      },
      {
        "id": "Observation.component:DiastolicBP.value[x]",
        "path": "Observation.component.value[x]",
        "min": 1,
        "type": [
          {
            "code": "Quantity"
          }
        ],
        "patternQuantity": {
          "unit": "mm[Hg]",
          "system": "http://unitsofmeasure.org",
          "code": "mm[Hg]"
        }
      },
      {
        "id": "Observation.component:DiastolicBP.dataAbsentReason",
        "path": "Observation.component.dataAbsentReason",
        "comment": "\"Null\" or exceptional values can be represented two ways in FHIR Observations.  One way is to simply include them in the value set and represent the exceptions in the value.  For example, measurement values for a serology test could be  \"detected\", \"not detected\", \"inconclusive\", or  \"test not done\". \n\nThe alternate way is to use the value element for actual observations and use the explicit dataAbsentReason element to record exceptional values.  For example, the dataAbsentReason code \"error\" could be used when the measurement was not completed.  Because of these options, use-case agreements are required to interpret general observations for exceptional values.\r\n\r\nNot to be used for biobank.cy"
      },
      {
        "id": "Observation.component:DiastolicBP.interpretation",
        "path": "Observation.component.interpretation",
        "comment": "Historically used for laboratory results (known as 'abnormal flag' ),  its use extends to other use cases where coded interpretations  are relevant.  Often reported as one or more simple compact codes this element is often placed adjacent to the result value in reports and flow sheets to signal the meaning/normalcy status of the result.\r\n\r\nNot to be used for biobank.cy"
      },
      {
        "id": "Observation.component:DiastolicBP.referenceRange",
        "path": "Observation.component.referenceRange",
        "comment": "Most observations only have one generic reference range. Systems MAY choose to restrict to only supplying the relevant reference range based on knowledge about the patient (e.g., specific to the patient's age, gender, weight and other factors), but this might not be possible or appropriate. Whenever more than one reference range is supplied, the differences between them SHOULD be provided in the reference range and/or age properties.\r\n\r\nNot to be used for biobank.cy"
      }
    ]
  }
}