{
  "resourceType": "StructureDefinition",
  "id": "hspc-smokingStatus",
  "url": "http://fhir.org/guides/hspc/StructureDefinition/hspc-smokingStatus",
  "version": "1.0.0",
  "name": "HSPC SmokingStatus",
  "status": "draft",
  "date": "2017-05-01",
  "publisher": "HSPC",
  "contact": [
    {
      "telecom": [
        {
          "system": "url",
          "value": "http://healthcaresoa.org"
        }
      ]
    }
  ],
  "fhirVersion": "3.0.0",
  "mapping": [
    {
      "identity": "argonaut-dq-dstu2",
      "uri": "http://unknown.org/Argonaut DQ DSTU2",
      "name": "Argonaut DQ DSTU2"
    },
    {
      "identity": "workflow",
      "uri": "http://hl7.org/fhir/workflow",
      "name": "Workflow Mapping"
    },
    {
      "identity": "sct-concept",
      "uri": "http://snomed.info/conceptdomain",
      "name": "SNOMED CT Concept Domain Binding"
    },
    {
      "identity": "v2",
      "uri": "http://hl7.org/v2",
      "name": "HL7 v2 Mapping"
    },
    {
      "identity": "rim",
      "uri": "http://hl7.org/v3",
      "name": "RIM Mapping"
    },
    {
      "identity": "w5",
      "uri": "http://hl7.org/fhir/w5",
      "name": "W5 Mapping"
    },
    {
      "identity": "sct-attr",
      "uri": "http://snomed.info/sct",
      "name": "SNOMED CT Attribute Binding"
    }
  ],
  "kind": "resource",
  "abstract": false,
  "type": "Observation",
  "baseDefinition": "http://hl7.org/fhir/us/core/StructureDefinition/us-core-observationresults",
  "derivation": "constraint",
  "differential": {
    "element": [
      {
        "id": "Observation:hspcsmokingstatus",
        "path": "Observation",
        "sliceName": "hspcsmokingstatus",
        "short": "HSPC Smoking Status",
        "definition": "The HSPC Smoking Status profile is based on the US Core Result Observation profile.",
        "comment": "Used specifically to capture the level of an individual's tobacco use.",
        "alias": [
          "Obs"
        ],
        "constraint": [
          {
            "key": "us-core-2",
            "severity": "error",
            "human": "If there is no component or related element then either a value[x] or a data absent reason must be present",
            "expression": "(component.empty() and related.empty()) implies (dataAbsentReason or value)",
            "xpath": "exists(f:component) or exists(f:related) or exists(f:*[starts-with(local-name(.), 'value)]) or exists(f:dataAbsentReason)"
          }
        ],
        "mustSupport": false,
        "isModifier": false,
        "mapping": [
          {
            "identity": "argonaut-dq-dstu2",
            "map": "Observation"
          }
        ]
      },
      {
        "id": "Observation:hspcsmokingstatus.code",
        "path": "Observation.code",
        "short": "Laboratory Test Name",
        "definition": "The test that was performed.  A LOINC **SHALL** be used if the concept is present in LOINC.",
        "comment": "The typical patterns for codes are:  1)  a LOINC code either as a  translation from a \"local\" code or as a primary code, or 2)  a local code only if no suitable LOINC exists,  or 3)  both the local and the LOINC translation.   Systems SHALL be capable of sending the local code if one exists.  When using LOINC , Use either the SHORTNAME or LONG_COMMON_NAME field for the display.",
        "alias": [
          "Test Name",
          "Observation Identifer"
        ],
        "min": 1,
        "max": "1",
        "type": [
          {
            "code": "CodeableConcept"
          }
        ],
        "fixedCodeableConcept": {
          "coding": [
            {
              "system": "http://loinc.org",
              "code": "72166-2",
              "display": "Tobacco smoking status"
            }
          ]
        },
        "mustSupport": true,
        "isModifier": false,
        "isSummary": false
      },
      {
        "id": "Observation:hspcsmokingstatus.subject",
        "path": "Observation.subject",
        "min": 1,
        "max": "1",
        "base": {
          "path": "Observation.subject",
          "min": 0,
          "max": "1"
        },
        "type": [
          {
            "code": "Reference",
            "targetProfile": "http://fhir.org/guides/hspc/StructureDefinition/hspc-patient"
          }
        ],
        "mustSupport": true,
        "isSummary": true
      },
      {
        "id": "Observation:hspcsmokingstatus.effectivePeriod",
        "path": "Observation.effective[x]",
        "min": 0,
        "max": "1",
        "base": {
          "path": "Observation.effective[x]",
          "min": 0,
          "max": "1"
        },
        "type": [
          {
            "code": "Period"
          }
        ],
        "mustSupport": true,
        "isSummary": true
      },
      {
        "id": "Observation:hspcsmokingstatus.performer",
        "path": "Observation.performer",
        "min": 0,
        "max": "1",
        "type": [
          {
            "code": "Reference",
            "profile": "http://fhir.org/guides/hspc/StructureDefinition/hspc-provpract"
          },
          {
            "code": "Reference",
            "profile": "http://fhir.org/guides/hspc/StructureDefinition/hspc-organization"
          },
          {
            "code": "Reference",
            "profile": "http://fhir.org/guides/hspc/StructureDefinition/hspc-patient"
          },
          {
            "code": "Reference",
            "profile": "http://hl7.org/fhir/StructureDefinition/RelatedPerson"
          }
        ],
        "mustSupport": false,
        "isModifier": false,
        "isSummary": false
      },
      {
        "id": "Observation:hspcsmokingstatus.valueCodeableConcept",
        "path": "Observation.valueCodeableConcept",
        "short": "A coded result",
        "definition": "A coded value that represents the result of an observation, assessment, or evaluation.",
        "min": 1,
        "max": "1",
        "base": {
          "path": "Observation.value[x]",
          "min": 0,
          "max": "1"
        },
        "type": [
          {
            "code": "CodeableConcept"
          }
        ],
        "mustSupport": true,
        "isSummary": true,
        "binding": {
          "strength": "preferred",
          "description": "A VSAC value set that describes an individual's current smoking state.",
          "valueSetReference": {
            "reference": "https://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113883.11.20.9.38"
          }
        }
      },
      {
        "id": "Observation:hspcsmokingstatus.bodySite",
        "path": "Observation.bodySite",
        "min": 0,
        "max": "0",
        "mustSupport": false,
        "isModifier": false,
        "isSummary": false
      },
      {
        "id": "Observation:hspcsmokingstatus.method",
        "path": "Observation.method",
        "mustSupport": false,
        "isModifier": false,
        "isSummary": false
      },
      {
        "id": "Observation:hspcsmokingstatus.specimen",
        "path": "Observation.specimen",
        "min": 0,
        "max": "0",
        "mustSupport": false,
        "isModifier": false,
        "isSummary": false
      },
      {
        "id": "Observation:hspcsmokingstatus.device",
        "path": "Observation.device",
        "min": 0,
        "max": "0",
        "mustSupport": false,
        "isModifier": false,
        "isSummary": false
      },
      {
        "id": "Observation:hspcsmokingstatus.related",
        "path": "Observation.related",
        "min": 0,
        "max": "0",
        "isSummary": true
      },
      {
        "id": "Observation:hspcsmokingstatus.component",
        "path": "Observation.component",
        "min": 0,
        "max": "0",
        "isSummary": true
      },
      {
        "id": "Observation:hspcsmokingstatus.referenceRange",
        "path": "Observation.referenceRange",
        "min": 0,
        "max": "0",
        "isSummary": true
      },
      {
        "id": "Observation:hspcsmokingstatus.interpretation",
        "path": "Observation.interpretation",
        "min": 0,
        "max": "0"
      }
    ]
  }
}