{
  "resourceType": "StructureDefinition",
  "id": "biobankcy-sd-tobaccouse",
  "url": "http://ig.biobank.cy/fhir/StructureDefinition/biobankcy-sd-tobaccouse",
  "name": "BIOBANKCYSDTobaccoUse",
  "title": "Profile: Tobacco Use (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 use of tobacco of a donor (research subject) or citizen (patient) of the biobank.cy. The tobacco use can be self-reported by the patient or reported by a medical doctor or nurse.",
  "fhirVersion": "4.0.1",
  "kind": "resource",
  "abstract": false,
  "type": "Observation",
  "baseDefinition": "http://ig.biobank.cy/fhir/StructureDefinition/biobankcy-sd-socialhistory",
  "derivation": "constraint",
  "differential": {
    "element": [
      {
        "id": "Observation",
        "path": "Observation",
        "short": "biobank.cy profile for Tobacco Use",
        "constraint": [
          {
            "key": "biobank.cy-tobaccouse-1",
            "severity": "error",
            "human": "If the value defines that the patient is not currently smoking or it is unknown whether the patient is currently smoking then the \"tobaccoType\" and the \"packYears\" shall not be recorded.",
            "expression": "Observation.valueCodeableConcept.coding.where(code='LA15920-4' or code='LA18978-9' or code='LA18979-7' or 'LA18980-5').exists() implies Observation.component.exists().not()"
          }
        ]
      },
      {
        "id": "Observation.identifier.type.coding.display.extension:translation",
        "path": "Observation.identifier.type.coding.display.extension",
        "sliceName": "translation"
      },
      {
        "id": "Observation.identifier.type.coding.display.extension:translation.url",
        "path": "Observation.identifier.type.coding.display.extension.url",
        "fixedUri": "translation"
      },
      {
        "id": "Observation.identifier.assigner.identifier.type.coding.display.extension:translation",
        "path": "Observation.identifier.assigner.identifier.type.coding.display.extension",
        "sliceName": "translation"
      },
      {
        "id": "Observation.identifier.assigner.identifier.type.coding.display.extension:translation.url",
        "path": "Observation.identifier.assigner.identifier.type.coding.display.extension.url",
        "fixedUri": "translation"
      },
      {
        "id": "Observation.identifier.assigner.identifier.assigner.identifier.type.coding.display.extension:translation",
        "path": "Observation.identifier.assigner.identifier.assigner.identifier.type.coding.display.extension",
        "sliceName": "translation"
      },
      {
        "id": "Observation.identifier.assigner.identifier.assigner.identifier.type.coding.display.extension:translation.url",
        "path": "Observation.identifier.assigner.identifier.assigner.identifier.type.coding.display.extension.url",
        "fixedUri": "translation"
      },
      {
        "id": "Observation.basedOn.identifier.type.coding.display.extension:translation",
        "path": "Observation.basedOn.identifier.type.coding.display.extension",
        "sliceName": "translation"
      },
      {
        "id": "Observation.basedOn.identifier.type.coding.display.extension:translation.url",
        "path": "Observation.basedOn.identifier.type.coding.display.extension.url",
        "fixedUri": "translation"
      },
      {
        "id": "Observation.basedOn.identifier.assigner.identifier.type.coding.display.extension:translation",
        "path": "Observation.basedOn.identifier.assigner.identifier.type.coding.display.extension",
        "sliceName": "translation"
      },
      {
        "id": "Observation.basedOn.identifier.assigner.identifier.type.coding.display.extension:translation.url",
        "path": "Observation.basedOn.identifier.assigner.identifier.type.coding.display.extension.url",
        "fixedUri": "translation"
      },
      {
        "id": "Observation.partOf.identifier.type.coding.display.extension:translation",
        "path": "Observation.partOf.identifier.type.coding.display.extension",
        "sliceName": "translation"
      },
      {
        "id": "Observation.partOf.identifier.type.coding.display.extension:translation.url",
        "path": "Observation.partOf.identifier.type.coding.display.extension.url",
        "fixedUri": "translation"
      },
      {
        "id": "Observation.partOf.identifier.assigner.identifier.type.coding.display.extension:translation",
        "path": "Observation.partOf.identifier.assigner.identifier.type.coding.display.extension",
        "sliceName": "translation"
      },
      {
        "id": "Observation.partOf.identifier.assigner.identifier.type.coding.display.extension:translation.url",
        "path": "Observation.partOf.identifier.assigner.identifier.type.coding.display.extension.url",
        "fixedUri": "translation"
      },
      {
        "id": "Observation.status",
        "path": "Observation.status",
        "mustSupport": true
      },
      {
        "id": "Observation.category",
        "path": "Observation.category",
        "mustSupport": true
      },
      {
        "id": "Observation.category.coding.display.extension:translation",
        "path": "Observation.category.coding.display.extension",
        "sliceName": "translation"
      },
      {
        "id": "Observation.category.coding.display.extension:translation.url",
        "path": "Observation.category.coding.display.extension.url",
        "fixedUri": "translation"
      },
      {
        "id": "Observation.category:SHCat",
        "path": "Observation.category",
        "sliceName": "SHCat"
      },
      {
        "id": "Observation.category:SHCat.coding.display.extension:translation",
        "path": "Observation.category.coding.display.extension",
        "sliceName": "translation"
      },
      {
        "id": "Observation.category:SHCat.coding.display.extension:translation.url",
        "path": "Observation.category.coding.display.extension.url",
        "fixedUri": "translation"
      },
      {
        "id": "Observation.code",
        "path": "Observation.code",
        "short": "Code of Drug use",
        "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\nDisplay: \"Tobacco use and exposure\"",
        "patternCodeableConcept": {
          "coding": [
            {
              "system": "http://loinc.org",
              "code": "72166-2"
            }
          ]
        },
        "mustSupport": true
      },
      {
        "id": "Observation.code.coding",
        "path": "Observation.code.coding",
        "min": 1
      },
      {
        "id": "Observation.code.coding.code",
        "path": "Observation.code.coding.code",
        "short": "Loinc code of cigarettes smoked current (pack per day) - Reported"
      },
      {
        "id": "Observation.code.coding.display.extension:translation",
        "path": "Observation.code.coding.display.extension",
        "sliceName": "translation"
      },
      {
        "id": "Observation.code.coding.display.extension:translation.url",
        "path": "Observation.code.coding.display.extension.url",
        "fixedUri": "translation"
      },
      {
        "id": "Observation.subject.reference",
        "path": "Observation.subject.reference",
        "min": 1
      },
      {
        "id": "Observation.subject.identifier.type.coding.display.extension:translation",
        "path": "Observation.subject.identifier.type.coding.display.extension",
        "sliceName": "translation"
      },
      {
        "id": "Observation.subject.identifier.type.coding.display.extension:translation.url",
        "path": "Observation.subject.identifier.type.coding.display.extension.url",
        "fixedUri": "translation"
      },
      {
        "id": "Observation.subject.identifier.assigner.identifier.type.coding.display.extension:translation",
        "path": "Observation.subject.identifier.assigner.identifier.type.coding.display.extension",
        "sliceName": "translation"
      },
      {
        "id": "Observation.subject.identifier.assigner.identifier.type.coding.display.extension:translation.url",
        "path": "Observation.subject.identifier.assigner.identifier.type.coding.display.extension.url",
        "fixedUri": "translation"
      },
      {
        "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\n Not to be used for biobank.cy"
      },
      {
        "id": "Observation.focus.identifier.type.coding.display.extension:translation",
        "path": "Observation.focus.identifier.type.coding.display.extension",
        "sliceName": "translation"
      },
      {
        "id": "Observation.focus.identifier.type.coding.display.extension:translation.url",
        "path": "Observation.focus.identifier.type.coding.display.extension.url",
        "fixedUri": "translation"
      },
      {
        "id": "Observation.focus.identifier.assigner.identifier.type.coding.display.extension:translation",
        "path": "Observation.focus.identifier.assigner.identifier.type.coding.display.extension",
        "sliceName": "translation"
      },
      {
        "id": "Observation.focus.identifier.assigner.identifier.type.coding.display.extension:translation.url",
        "path": "Observation.focus.identifier.assigner.identifier.type.coding.display.extension.url",
        "fixedUri": "translation"
      },
      {
        "id": "Observation.encounter.reference",
        "path": "Observation.encounter.reference",
        "min": 1
      },
      {
        "id": "Observation.encounter.identifier.type.coding.display.extension:translation",
        "path": "Observation.encounter.identifier.type.coding.display.extension",
        "sliceName": "translation"
      },
      {
        "id": "Observation.encounter.identifier.type.coding.display.extension:translation.url",
        "path": "Observation.encounter.identifier.type.coding.display.extension.url",
        "fixedUri": "translation"
      },
      {
        "id": "Observation.encounter.identifier.assigner.identifier.type.coding.display.extension:translation",
        "path": "Observation.encounter.identifier.assigner.identifier.type.coding.display.extension",
        "sliceName": "translation"
      },
      {
        "id": "Observation.encounter.identifier.assigner.identifier.type.coding.display.extension:translation.url",
        "path": "Observation.encounter.identifier.assigner.identifier.type.coding.display.extension.url",
        "fixedUri": "translation"
      },
      {
        "id": "Observation.effective[x]",
        "path": "Observation.effective[x]",
        "slicing": {
          "discriminator": [
            {
              "type": "type",
              "path": "$this"
            }
          ],
          "rules": "open"
        },
        "comment": "At least a date should be present unless this observation is a historical report.  For recording imprecise or \"fuzzy\" times (For example, a blood glucose measurement taken \"after breakfast\") use the [Timing](datatypes.html#timing) datatype which allow the measurement to be tied to regular life events.\n\nbiobank.cy: effectivePeriod shall be used for biobank,cy data warehouse. However, IPS requires dateTime. When sending an IPS from the data warehouse of the biobank.cy registered donor/citizen, the effectivePeriod.start shall be used as effectiveDateTime. Accordingly, when receiving an IPS from a different organization, the effectivePeriod.start will be equal to the effectiveDateTime.",
        "type": [
          {
            "code": "dateTime"
          },
          {
            "code": "Period"
          }
        ]
      },
      {
        "id": "Observation.effective[x]:effectivePeriod",
        "path": "Observation.effective[x]",
        "sliceName": "effectivePeriod",
        "type": [
          {
            "code": "Period"
          }
        ]
      },
      {
        "id": "Observation.effective[x]:effectiveDateTime",
        "path": "Observation.effective[x]",
        "sliceName": "effectiveDateTime",
        "comment": "At least a date should be present unless this observation is a historical report.  For recording imprecise or \"fuzzy\" times (For example, a blood glucose measurement taken \"after breakfast\") use the [Timing](datatypes.html#timing) datatype which allow the measurement to be tied to regular life events.\n\nbiobank.cy: effectivePeriod shall be used for biobank,cy data warehouse. However, IPS requires dateTime. When sending an IPS from the data warehouse of the biobank.cy registered donor/citizen, the effectivePeriod.start shall be used as effectiveDateTime. Accordingly, when receiving an IPS from a different organization, the effectivePeriod.start will be equal to the effectiveDateTime.",
        "type": [
          {
            "code": "dateTime"
          }
        ]
      },
      {
        "id": "Observation.performer.reference",
        "path": "Observation.performer.reference",
        "min": 1
      },
      {
        "id": "Observation.performer.identifier.type.coding.display.extension:translation",
        "path": "Observation.performer.identifier.type.coding.display.extension",
        "sliceName": "translation"
      },
      {
        "id": "Observation.performer.identifier.type.coding.display.extension:translation.url",
        "path": "Observation.performer.identifier.type.coding.display.extension.url",
        "fixedUri": "translation"
      },
      {
        "id": "Observation.performer.identifier.assigner.identifier.type.coding.display.extension:translation",
        "path": "Observation.performer.identifier.assigner.identifier.type.coding.display.extension",
        "sliceName": "translation"
      },
      {
        "id": "Observation.performer.identifier.assigner.identifier.type.coding.display.extension:translation.url",
        "path": "Observation.performer.identifier.assigner.identifier.type.coding.display.extension.url",
        "fixedUri": "translation"
      },
      {
        "id": "Observation.value[x]",
        "path": "Observation.value[x]",
        "min": 1,
        "type": [
          {
            "code": "CodeableConcept",
            "profile": [
              "http://hl7.org/fhir/uv/ips/StructureDefinition/CodeableConcept-uv-ips"
            ]
          }
        ],
        "binding": {
          "strength": "required",
          "valueSet": "http://ig.ehealth4u.eu/fhir/ValueSet/cyehr-vs-tobaccostatus"
        }
      },
      {
        "id": "Observation.value[x].coding",
        "path": "Observation.value[x].coding",
        "min": 1
      },
      {
        "id": "Observation.value[x].coding.system",
        "path": "Observation.value[x].coding.system",
        "min": 1
      },
      {
        "id": "Observation.value[x].coding.code",
        "path": "Observation.value[x].coding.code",
        "min": 1
      },
      {
        "id": "Observation.value[x].coding.display",
        "path": "Observation.value[x].coding.display",
        "min": 1
      },
      {
        "id": "Observation.value[x].coding.display.extension:translation",
        "path": "Observation.value[x].coding.display.extension",
        "sliceName": "translation"
      },
      {
        "id": "Observation.value[x].coding.display.extension:translation.url",
        "path": "Observation.value[x].coding.display.extension.url",
        "fixedUri": "translation"
      },
      {
        "id": "Observation.dataAbsentReason",
        "path": "Observation.dataAbsentReason",
        "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\nNot to be used for biobank.cy."
      },
      {
        "id": "Observation.dataAbsentReason.coding.display.extension:translation",
        "path": "Observation.dataAbsentReason.coding.display.extension",
        "sliceName": "translation"
      },
      {
        "id": "Observation.dataAbsentReason.coding.display.extension:translation.url",
        "path": "Observation.dataAbsentReason.coding.display.extension.url",
        "fixedUri": "translation"
      },
      {
        "id": "Observation.interpretation",
        "path": "Observation.interpretation",
        "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\nNot to be used for biobank.cy"
      },
      {
        "id": "Observation.interpretation.coding.display.extension:translation",
        "path": "Observation.interpretation.coding.display.extension",
        "sliceName": "translation"
      },
      {
        "id": "Observation.interpretation.coding.display.extension:translation.url",
        "path": "Observation.interpretation.coding.display.extension.url",
        "fixedUri": "translation"
      },
      {
        "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": "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\nNot to be used for biobank.cy"
      },
      {
        "id": "Observation.bodySite.coding.display.extension:translation",
        "path": "Observation.bodySite.coding.display.extension",
        "sliceName": "translation"
      },
      {
        "id": "Observation.bodySite.coding.display.extension:translation.url",
        "path": "Observation.bodySite.coding.display.extension.url",
        "fixedUri": "translation"
      },
      {
        "id": "Observation.method",
        "path": "Observation.method",
        "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\nNot to be used for biobank.cy"
      },
      {
        "id": "Observation.method.coding.display.extension:translation",
        "path": "Observation.method.coding.display.extension",
        "sliceName": "translation"
      },
      {
        "id": "Observation.method.coding.display.extension:translation.url",
        "path": "Observation.method.coding.display.extension.url",
        "fixedUri": "translation"
      },
      {
        "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.specimen.identifier.type.coding.display.extension:translation",
        "path": "Observation.specimen.identifier.type.coding.display.extension",
        "sliceName": "translation"
      },
      {
        "id": "Observation.specimen.identifier.type.coding.display.extension:translation.url",
        "path": "Observation.specimen.identifier.type.coding.display.extension.url",
        "fixedUri": "translation"
      },
      {
        "id": "Observation.specimen.identifier.assigner.identifier.type.coding.display.extension:translation",
        "path": "Observation.specimen.identifier.assigner.identifier.type.coding.display.extension",
        "sliceName": "translation"
      },
      {
        "id": "Observation.specimen.identifier.assigner.identifier.type.coding.display.extension:translation.url",
        "path": "Observation.specimen.identifier.assigner.identifier.type.coding.display.extension.url",
        "fixedUri": "translation"
      },
      {
        "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.device.identifier.type.coding.display.extension:translation",
        "path": "Observation.device.identifier.type.coding.display.extension",
        "sliceName": "translation"
      },
      {
        "id": "Observation.device.identifier.type.coding.display.extension:translation.url",
        "path": "Observation.device.identifier.type.coding.display.extension.url",
        "fixedUri": "translation"
      },
      {
        "id": "Observation.device.identifier.assigner.identifier.type.coding.display.extension:translation",
        "path": "Observation.device.identifier.assigner.identifier.type.coding.display.extension",
        "sliceName": "translation"
      },
      {
        "id": "Observation.device.identifier.assigner.identifier.type.coding.display.extension:translation.url",
        "path": "Observation.device.identifier.assigner.identifier.type.coding.display.extension.url",
        "fixedUri": "translation"
      },
      {
        "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.referenceRange.appliesTo.coding.display.extension:translation",
        "path": "Observation.referenceRange.appliesTo.coding.display.extension",
        "sliceName": "translation"
      },
      {
        "id": "Observation.referenceRange.appliesTo.coding.display.extension:translation.url",
        "path": "Observation.referenceRange.appliesTo.coding.display.extension.url",
        "fixedUri": "translation"
      },
      {
        "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.hasMember.identifier.type.coding.display.extension:translation",
        "path": "Observation.hasMember.identifier.type.coding.display.extension",
        "sliceName": "translation"
      },
      {
        "id": "Observation.hasMember.identifier.type.coding.display.extension:translation.url",
        "path": "Observation.hasMember.identifier.type.coding.display.extension.url",
        "fixedUri": "translation"
      },
      {
        "id": "Observation.hasMember.identifier.assigner.identifier.type.coding.display.extension:translation",
        "path": "Observation.hasMember.identifier.assigner.identifier.type.coding.display.extension",
        "sliceName": "translation"
      },
      {
        "id": "Observation.hasMember.identifier.assigner.identifier.type.coding.display.extension:translation.url",
        "path": "Observation.hasMember.identifier.assigner.identifier.type.coding.display.extension.url",
        "fixedUri": "translation"
      },
      {
        "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\nNot to be used for biobank.cy."
      },
      {
        "id": "Observation.derivedFrom.identifier.type.coding.display.extension:translation",
        "path": "Observation.derivedFrom.identifier.type.coding.display.extension",
        "sliceName": "translation"
      },
      {
        "id": "Observation.derivedFrom.identifier.type.coding.display.extension:translation.url",
        "path": "Observation.derivedFrom.identifier.type.coding.display.extension.url",
        "fixedUri": "translation"
      },
      {
        "id": "Observation.derivedFrom.identifier.assigner.identifier.type.coding.display.extension:translation",
        "path": "Observation.derivedFrom.identifier.assigner.identifier.type.coding.display.extension",
        "sliceName": "translation"
      },
      {
        "id": "Observation.derivedFrom.identifier.assigner.identifier.type.coding.display.extension:translation.url",
        "path": "Observation.derivedFrom.identifier.assigner.identifier.type.coding.display.extension.url",
        "fixedUri": "translation"
      },
      {
        "id": "Observation.component",
        "path": "Observation.component",
        "slicing": {
          "discriminator": [
            {
              "type": "pattern",
              "path": "code"
            }
          ],
          "rules": "open"
        },
        "definition": "Some observations have multiple component observations.  These component observations are expressed as separate code value pairs that share the same attributes.  Examples include systolic and diastolic component observations for blood pressure measurement and multiple component observations for genetics observations.\r\n\r\nWhen generating an IPS document, exclude the component element from the TobaccoUse Observation resource."
      },
      {
        "id": "Observation.component.code.coding.display.extension:translation",
        "path": "Observation.component.code.coding.display.extension",
        "sliceName": "translation"
      },
      {
        "id": "Observation.component.code.coding.display.extension:translation.url",
        "path": "Observation.component.code.coding.display.extension.url",
        "fixedUri": "translation"
      },
      {
        "id": "Observation.component.dataAbsentReason",
        "path": "Observation.component.dataAbsentReason",
        "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\nNot to be used for biobank.cy."
      },
      {
        "id": "Observation.component.dataAbsentReason.coding.display.extension:translation",
        "path": "Observation.component.dataAbsentReason.coding.display.extension",
        "sliceName": "translation"
      },
      {
        "id": "Observation.component.dataAbsentReason.coding.display.extension:translation.url",
        "path": "Observation.component.dataAbsentReason.coding.display.extension.url",
        "fixedUri": "translation"
      },
      {
        "id": "Observation.component.interpretation",
        "path": "Observation.component.interpretation",
        "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\nNot to be used for biobank.cy."
      },
      {
        "id": "Observation.component.interpretation.coding.display.extension:translation",
        "path": "Observation.component.interpretation.coding.display.extension",
        "sliceName": "translation"
      },
      {
        "id": "Observation.component.interpretation.coding.display.extension:translation.url",
        "path": "Observation.component.interpretation.coding.display.extension.url",
        "fixedUri": "translation"
      },
      {
        "id": "Observation.component.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."
      },
      {
        "id": "Observation.component.referenceRange.appliesTo.coding.display.extension:translation",
        "path": "Observation.component.referenceRange.appliesTo.coding.display.extension",
        "sliceName": "translation"
      },
      {
        "id": "Observation.component.referenceRange.appliesTo.coding.display.extension:translation.url",
        "path": "Observation.component.referenceRange.appliesTo.coding.display.extension.url",
        "fixedUri": "translation"
      },
      {
        "id": "Observation.component:tobaccoType",
        "path": "Observation.component",
        "sliceName": "tobaccoType",
        "mustSupport": true
      },
      {
        "id": "Observation.component:tobaccoType.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.\r\n\r\nbiobank.cy display: \"Tobacco product\"",
        "patternCodeableConcept": {
          "coding": [
            {
              "system": "http://loinc.org",
              "code": "81228-9"
            }
          ]
        }
      },
      {
        "id": "Observation.component:tobaccoType.code.coding",
        "path": "Observation.component.code.coding",
        "min": 1
      },
      {
        "id": "Observation.component:tobaccoType.code.coding.display.extension:translation",
        "path": "Observation.component.code.coding.display.extension",
        "sliceName": "translation"
      },
      {
        "id": "Observation.component:tobaccoType.code.coding.display.extension:translation.url",
        "path": "Observation.component.code.coding.display.extension.url",
        "fixedUri": "translation"
      },
      {
        "id": "Observation.component:tobaccoType.value[x]",
        "path": "Observation.component.value[x]",
        "min": 1,
        "type": [
          {
            "code": "CodeableConcept",
            "profile": [
              "http://hl7.org/fhir/uv/ips/StructureDefinition/CodeableConcept-uv-ips"
            ]
          }
        ],
        "binding": {
          "strength": "required",
          "valueSet": "http://ig.ehealth4u.eu/fhir/ValueSet/cyehr-vs-tobaccotype"
        }
      },
      {
        "id": "Observation.component:tobaccoType.value[x].coding",
        "path": "Observation.component.value[x].coding",
        "min": 1
      },
      {
        "id": "Observation.component:tobaccoType.value[x].coding.system",
        "path": "Observation.component.value[x].coding.system",
        "min": 1
      },
      {
        "id": "Observation.component:tobaccoType.value[x].coding.code",
        "path": "Observation.component.value[x].coding.code",
        "min": 1
      },
      {
        "id": "Observation.component:tobaccoType.value[x].coding.display",
        "path": "Observation.component.value[x].coding.display",
        "min": 1
      },
      {
        "id": "Observation.component:tobaccoType.value[x].coding.display.extension:translation",
        "path": "Observation.component.value[x].coding.display.extension",
        "sliceName": "translation"
      },
      {
        "id": "Observation.component:tobaccoType.value[x].coding.display.extension:translation.url",
        "path": "Observation.component.value[x].coding.display.extension.url",
        "fixedUri": "translation"
      },
      {
        "id": "Observation.component:tobaccoType.dataAbsentReason.coding.display.extension:translation",
        "path": "Observation.component.dataAbsentReason.coding.display.extension",
        "sliceName": "translation"
      },
      {
        "id": "Observation.component:tobaccoType.dataAbsentReason.coding.display.extension:translation.url",
        "path": "Observation.component.dataAbsentReason.coding.display.extension.url",
        "fixedUri": "translation"
      },
      {
        "id": "Observation.component:tobaccoType.interpretation.coding.display.extension:translation",
        "path": "Observation.component.interpretation.coding.display.extension",
        "sliceName": "translation"
      },
      {
        "id": "Observation.component:tobaccoType.interpretation.coding.display.extension:translation.url",
        "path": "Observation.component.interpretation.coding.display.extension.url",
        "fixedUri": "translation"
      },
      {
        "id": "Observation.component:tobaccoType.referenceRange.appliesTo.coding.display.extension:translation",
        "path": "Observation.component.referenceRange.appliesTo.coding.display.extension",
        "sliceName": "translation"
      },
      {
        "id": "Observation.component:tobaccoType.referenceRange.appliesTo.coding.display.extension:translation.url",
        "path": "Observation.component.referenceRange.appliesTo.coding.display.extension.url",
        "fixedUri": "translation"
      },
      {
        "id": "Observation.component:packYears",
        "path": "Observation.component",
        "sliceName": "packYears",
        "mustSupport": true
      },
      {
        "id": "Observation.component:packYears.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.\r\n\r\biobank.cy: display: \"Cigarette pack-years\"",
        "patternCodeableConcept": {
          "coding": [
            {
              "system": "http://snomed.info/sct",
              "code": "401201003"
            }
          ]
        }
      },
      {
        "id": "Observation.component:packYears.code.coding",
        "path": "Observation.component.code.coding",
        "min": 1
      },
      {
        "id": "Observation.component:packYears.code.coding.display.extension:translation",
        "path": "Observation.component.code.coding.display.extension",
        "sliceName": "translation"
      },
      {
        "id": "Observation.component:packYears.code.coding.display.extension:translation.url",
        "path": "Observation.component.code.coding.display.extension.url",
        "fixedUri": "translation"
      },
      {
        "id": "Observation.component:packYears.value[x]",
        "path": "Observation.component.value[x]",
        "definition": "The information determined as a result of making the observation, if the information has a simple value.\r\n\r\n\r\biobank.cy: The unit indicating the smoker’s total exposure to tobacco smoke. For cigarettes, this is calculated using the number of smoked packs of cigarettes per day (one pack = 20 cigarettes) times the number of years of smoking. For other forms of tobacco, this is usually converted to an equivalent cigarette consumption. Often, only the number of pack years is estimated.",
        "min": 1,
        "type": [
          {
            "code": "integer"
          }
        ]
      },
      {
        "id": "Observation.component:packYears.dataAbsentReason.coding.display.extension:translation",
        "path": "Observation.component.dataAbsentReason.coding.display.extension",
        "sliceName": "translation"
      },
      {
        "id": "Observation.component:packYears.dataAbsentReason.coding.display.extension:translation.url",
        "path": "Observation.component.dataAbsentReason.coding.display.extension.url",
        "fixedUri": "translation"
      },
      {
        "id": "Observation.component:packYears.interpretation.coding.display.extension:translation",
        "path": "Observation.component.interpretation.coding.display.extension",
        "sliceName": "translation"
      },
      {
        "id": "Observation.component:packYears.interpretation.coding.display.extension:translation.url",
        "path": "Observation.component.interpretation.coding.display.extension.url",
        "fixedUri": "translation"
      },
      {
        "id": "Observation.component:packYears.referenceRange.appliesTo.coding.display.extension:translation",
        "path": "Observation.component.referenceRange.appliesTo.coding.display.extension",
        "sliceName": "translation"
      },
      {
        "id": "Observation.component:packYears.referenceRange.appliesTo.coding.display.extension:translation.url",
        "path": "Observation.component.referenceRange.appliesTo.coding.display.extension.url",
        "fixedUri": "translation"
      }
    ]
  }
}