US Core Implementation Guide
10.0.0-ballot - STU 10 Ballot United States of America flag

US Core Implementation Guide, published by HL7 International / Cross-Group Projects. This guide is not an authorized publication; it is the continuous build for version 10.0.0-ballot built by the FHIR (HL7® FHIR® Standard) CI Build. This version is based on the current content of https://github.com/HL7/US-Core/ and changes regularly. See the Directory of published versions

Resource Profile: US Core Tobacco And Nicotine Use Observation Profile

Official URL: http://hl7.org/fhir/us/core/StructureDefinition/us-core-smokingstatus Version: 10.0.0-ballot
Standards status: Trial-use Maturity Level: 4 Computable Name: USCoreTobaccoAndNicotineUseObservationProfile
Other Identifiers: OID:2.16.840.1.113883.4.642.40.2.42.63

The US Core Tobacco And Nicotine Use Observation Profile inherits from the FHIR Observation resource; refer to it for scope and usage definitions. This profile meets the requirements of the U.S. Core Data for Interoperability (USCDI) Tobacco and Nicotine Product Use Data Element. This profile sets minimum expectations for the Observation resource to record, search, and fetch a patient's tobacco and nicotine product use, which can include smokeless tobacco, cigarettes, cigars, pipe tobacco, waterpipes, nicotine pouches, heated tobacco products, e-cigarettes, and other electronic nicotine delivery systems, and excludes prescribed nicotine replacement therapies. It specifies which core elements, extensions, vocabularies, and value sets SHALL be present in the resource and constrains how the elements are used. Providing the floor for standards development for specific use cases promotes interoperability and adoption.

Example Usage Scenarios:

The following are example usage scenarios for the US Core Tobacco And Nicotine Use Observation profile:

  • Query for a patient's tobacco and nicotine product use
  • Record or update a patient's tobacco and nicotine product use

Mandatory and Must Support Data Elements

The following data elements must always be present (Mandatory definition) or must be supported if the data is present in the sending system (Must Support definition). They are presented below in a simple human-readable explanation. Profile-specific guidance and examples are provided as well. The Formal Views below provides the formal summary, definitions, and terminology requirements.

Each Observation Must Have:

  1. a status
  2. a category code of "social-history"
  3. a code for the tobacco or nicotine use observation1
  4. a patient
  5. when the observation occurred
  6. a performer2
  7. a result value1

1,2 see guidance below

Profile Specific Implementation Guidance

This section provides detailed implementation guidance for the US Core Profile to support implementation and certification.

  • 1The Tobacco And Nicotine Use Status Value Set on Observation.code is a "starter" set of concepts to capture tobacco and nicotine product use, and the Tobacco And Nicotine Use Value Set for Observation.valueCodeableConcept contains terms representing nicotine, smoking, vaping, chew, and snuff use to encourage the use of this profile for other tobacco and nicotine questions.
  • 2The profile elements Observation.performer and Observation.device communicate the individual level provenance author data corresponding to the U.S. Core Data for Interoperability (USCDI) Provenance Author Data Elements.

Usages:

You can also check for usages in the FHIR IG Statistics

Changes since version 9.0.0:

  • The resource metadata has changed (name, title)
  • One or more text definitions, invariants or bindings have changed (description, Observation.code, Observation.value[x]:valueCodeableConcept)
  • Formal Views of Profile Content

    Description of Profiles, Differentials, Snapshots and how the different presentations work.

    NameFlagsCard.TypeDescription & Constraints    Filter: doco
    Observation C 0..* Observation Measurements and simple assertions
    Constraints: obs-6, obs-7, us-core-24, us-core-25
    Observation.implicitRules This element is a modifier element. This element is included in summaries. 0..1 uri A set of rules under which this content was created
    Observation.modifierExtension This element is a modifier element. 0..* Extension Extensions that cannot be ignored
    Observation.status This element is a modifier element. This element must be supported. This element is included in summaries. 1..1 code final | entered-in-error
    Binding: US Core Tobacco And Nicotine Observation Status (required)
    Observation.Slices for category This element must be supported. 1..* CodeableConcept Classification of type of observation
    Slice: Unordered, Open by value:$this
    Binding: ObservationCategoryCodes (preferred): Codes for high level observation categories.

    Slicing Note: The rules on this element (including its children) apply to all the slices, but are not repeated in them
    Observation.Slices for category.category:SocialHistory This element must be supported. 1..1 CodeableConcept Classification of type of observation
    Binding: ObservationCategoryCodes (preferred): Codes for high level observation categories.

    Required Pattern:
    {
      "coding" : [
        {
          "system" : "http://terminology.hl7.org/CodeSystem/observation-category",
          "code" : "social-history"
        }
      ]
    }
    Observation.code This element must be supported. This element is included in summaries. C 1..1 CodeableConcept Tobacco And Nicotine Use
    Binding: Smoking Status Type (extensible): Tobacco And Nicotine Use Status
    Observation.subject This element must be supported. This element is included in summaries. 1..1 Reference(US Core Patient Profile) Who and/or what the observation is about
    Observation.effective[x] This element must be supported. This element is included in summaries. 1..1 Clinically relevant time/time-period for observation
    Observation.effective[x].effectiveDateTime dateTime
    Observation.effective[x].effectivePeriod Period
    Observation.performer This element must be supported. This element is included in summaries. 0..* Reference(US Core Practitioner Profile This type must be supported. | US Core Organization Profile | US Core Patient Profile | PractitionerRole | US Core CareTeam Profile | US Core RelatedPerson Profile) Who is responsible for the observation
    Observation.Slices for value[x] This element must be supported. This element is included in summaries. C 1..1 Actual result
    Slice: Unordered, Closed by type:$this
    Slicing Note: The rules on this element (including its children) apply to all the slices, but are not repeated in them Other type slices that contain no new information are not shown in this view
    Observation.Slices for value[x].valueQuantity Quantity
    Observation.Slices for value[x].valueCodeableConcept CodeableConcept
    Observation.Slices for value[x].valueString string
    Observation.Slices for value[x].valueBoolean boolean
    Observation.Slices for value[x].valueInteger integer
    Observation.Slices for value[x].valueRange Range
    Observation.Slices for value[x].valueRatio Ratio
    Observation.Slices for value[x].valueSampledData SampledData
    Observation.Slices for value[x].valueTime time
    Observation.Slices for value[x].valueDateTime dateTime
    Observation.Slices for value[x].valuePeriod Period
    Observation.Slices for value[x].value[x]:valueQuantity This element must be supported. This element is included in summaries. C 0..1 Quantity Quantitative Response
    Binding: UnitsOfMeasureCaseSensitive (required)
    Observation.Slices for value[x].value[x]:valueCodeableConcept This element must be supported. This element is included in summaries. C 0..1 CodeableConcept Coded Response
    Binding: Smoking status comprehensive (extensible): Tobacco And Nicotine Use

    doco Documentation for this format

    Terminology Bindings

    Path Status Usage ValueSet Version Source
    Observation.status Base required US Core Tobacco And Nicotine Observation Status 📦10.0.0-ballot This IG
    Observation.category Base preferred Observation Category Codes 📍4.0.1 FHIR Std.
    Observation.category:SocialHistory Base preferred Observation Category Codes 📍4.0.1 FHIR Std.
    Observation.code Base extensible Smoking Status Type ⏿20240222 tx.fhir.org
    Observation.value[x]:valueQuantity Base required UnitsOfMeasureCaseSensitive 📦3.0.0 THO v7.4
    Observation.value[x]:valueCodeableConcept Base extensible Smoking status comprehensive ⏿20240217 tx.fhir.org

    Constraints

    Id Grade Path(s) Description Expression
    us-core-24 error Observation Observation.code 72166-2|Tobacco smoking status or 11367-0|History of Tobacco use SHALL use valueCodeableConcept code.coding.where(code in '72166-2'|'11367-0').exists() implies value.is(CodeableConcept)
    us-core-25 warning Observation For Observation.code 401201003|Cigarette pack-years or 782516008|Number of calculated smoking pack years SHOULD use valueQuantity code.coding.where(code in '401201003'|'782516008').exists() implies value.is(Quantity)

    This structure is derived from Observation

    NameFlagsCard.TypeDescription & Constraints    Filter: doco
    Observation C 0..* Observation Measurements and simple assertions
    Constraints: us-core-24, us-core-25
    Observation.status This element must be supported. 1..1 code final | entered-in-error
    Binding: US Core Tobacco And Nicotine Observation Status (required)
    Observation.Slices for category This element must be supported. 1..* CodeableConcept Classification of type of observation
    Slice: Unordered, Open by value:$this
    Slicing Note: The rules on this element (including its children) apply to all the slices, but are not repeated in them
    Observation.Slices for category.category:SocialHistory This element must be supported. 1..1 CodeableConcept Classification of type of observation
    Required Pattern:
    {
      "coding" : [
        {
          "system" : "http://terminology.hl7.org/CodeSystem/observation-category",
          "code" : "social-history"
        }
      ]
    }
    Observation.code This element must be supported. C 1..1 CodeableConcept Tobacco And Nicotine Use
    Binding: Smoking Status Type (extensible): Tobacco And Nicotine Use Status
    Observation.subject This element must be supported. 1..1 Reference(US Core Patient Profile) Who and/or what the observation is about
    Observation.effective[x] This element must be supported. 1..1 Clinically relevant time/time-period for observation
    Observation.effective[x].effectiveDateTime dateTime
    Observation.effective[x].effectivePeriod Period
    Observation.performer This element must be supported. 0..* Reference(US Core Practitioner Profile This type must be supported. | US Core Organization Profile | US Core Patient Profile | PractitionerRole | US Core CareTeam Profile | US Core RelatedPerson Profile) Who is responsible for the observation
    Observation.Slices for value[x] This element must be supported. C 1..1 Quantity, CodeableConcept, string, boolean, integer, Range, Ratio, SampledData, time, dateTime, Period Actual result
    Slice: Unordered, Open by type:$this
    Slicing Note: The rules on this element (including its children) apply to all the slices, but are not repeated in them Other type slices that contain no new information are not shown in this view
    Observation.Slices for value[x].value[x]:valueQuantity This element must be supported. 0..1 Quantity Quantitative Response
    Binding: UnitsOfMeasureCaseSensitive (required)
    Observation.Slices for value[x].value[x]:valueCodeableConcept This element must be supported. 0..1 CodeableConcept Coded Response
    Binding: Smoking status comprehensive (extensible): Tobacco And Nicotine Use

    doco Documentation for this format

    Terminology Bindings (Differential)

    Path Status Usage ValueSet Version Source
    Observation.status Base required US Core Tobacco And Nicotine Observation Status 📦10.0.0-ballot This IG
    Observation.code Base extensible Smoking Status Type ⏿20240222 tx.fhir.org
    Observation.value[x]:valueQuantity Base required UnitsOfMeasureCaseSensitive 📦3.0.0 THO v7.4
    Observation.value[x]:valueCodeableConcept Base extensible Smoking status comprehensive ⏿20240217 tx.fhir.org

    Constraints

    Id Grade Path(s) Description Expression
    us-core-24 error Observation Observation.code 72166-2|Tobacco smoking status or 11367-0|History of Tobacco use SHALL use valueCodeableConcept code.coding.where(code in '72166-2'|'11367-0').exists() implies value.is(CodeableConcept)
    us-core-25 warning Observation For Observation.code 401201003|Cigarette pack-years or 782516008|Number of calculated smoking pack years SHOULD use valueQuantity code.coding.where(code in '401201003'|'782516008').exists() implies value.is(Quantity)
    NameFlagsCard.TypeDescription & Constraints    Filter: doco
    Observation C 0..* Observation Measurements and simple assertions
    Constraints: obs-6, obs-7, us-core-24, us-core-25
    Observation.id This element is included in summaries. 0..1 id Logical id of this artifact
    Observation.meta This element is included in summaries. 0..1 Meta Metadata about the resource
    Observation.implicitRules This element is a modifier element. This element is included in summaries. 0..1 uri A set of rules under which this content was created
    Observation.language 0..1 code Language of the resource content
    Binding: CommonLanguages (preferred): A human language.
    Additional BindingsPurpose
    AllLanguages Max Binding
    Observation.text 0..1 Narrative Text summary of the resource, for human interpretation
    This profile does not constrain the narrative in regard to content, language, or traceability to data elements
    Observation.contained 0..* Resource Contained, inline Resources
    Observation.extension 0..* Extension Additional content defined by implementations
    Observation.modifierExtension This element is a modifier element. 0..* Extension Extensions that cannot be ignored
    Observation.identifier This element is included in summaries. 0..* Identifier Business Identifier for observation
    Observation.basedOn This element is included in summaries. 0..* Reference(CarePlan | DeviceRequest | ImmunizationRecommendation | MedicationRequest | NutritionOrder | ServiceRequest) Fulfills plan, proposal or order
    Observation.partOf This element is included in summaries. 0..* Reference(MedicationAdministration | MedicationDispense | MedicationStatement | Procedure | Immunization | ImagingStudy) Part of referenced event
    Observation.status This element is a modifier element. This element must be supported. This element is included in summaries. 1..1 code final | entered-in-error
    Binding: US Core Tobacco And Nicotine Observation Status (required)
    Observation.Slices for category This element must be supported. 1..* CodeableConcept Classification of type of observation
    Slice: Unordered, Open by value:$this
    Binding: ObservationCategoryCodes (preferred): Codes for high level observation categories.

    Slicing Note: The rules on this element (including its children) apply to all the slices, but are not repeated in them
    Observation.Slices for category.category:SocialHistory This element must be supported. 1..1 CodeableConcept Classification of type of observation
    Binding: ObservationCategoryCodes (preferred): Codes for high level observation categories.

    Required Pattern:
    {
      "coding" : [
        {
          "system" : "http://terminology.hl7.org/CodeSystem/observation-category",
          "code" : "social-history"
        }
      ]
    }
    Observation.code This element must be supported. This element is included in summaries. C 1..1 CodeableConcept Tobacco And Nicotine Use
    Binding: Smoking Status Type (extensible): Tobacco And Nicotine Use Status
    Observation.subject This element must be supported. This element is included in summaries. 1..1 Reference(US Core Patient Profile) Who and/or what the observation is about
    Observation.focus This element is included in summaries. 0..* Reference(Resource) What the observation is about, when it is not about the subject of record
    Observation.encounter This element is included in summaries. 0..1 Reference(Encounter) Healthcare event during which this observation is made
    Observation.effective[x] This element must be supported. This element is included in summaries. 1..1 Clinically relevant time/time-period for observation
    Observation.effective[x].effectiveDateTime dateTime
    Observation.effective[x].effectivePeriod Period
    Observation.issued This element is included in summaries. 0..1 instant Date/Time this version was made available
    Observation.performer This element must be supported. This element is included in summaries. 0..* Reference(US Core Practitioner Profile This type must be supported. | US Core Organization Profile | US Core Patient Profile | PractitionerRole | US Core CareTeam Profile | US Core RelatedPerson Profile) Who is responsible for the observation
    Observation.Slices for value[x] This element must be supported. This element is included in summaries. C 1..1 Actual result
    Slice: Unordered, Closed by type:$this
    Slicing Note: The rules on this element (including its children) apply to all the slices, but are not repeated in them Other type slices that contain no new information are not shown in this view
    Observation.Slices for value[x].valueQuantity Quantity
    Observation.Slices for value[x].valueCodeableConcept CodeableConcept
    Observation.Slices for value[x].valueString string
    Observation.Slices for value[x].valueBoolean boolean
    Observation.Slices for value[x].valueInteger integer
    Observation.Slices for value[x].valueRange Range
    Observation.Slices for value[x].valueRatio Ratio
    Observation.Slices for value[x].valueSampledData SampledData
    Observation.Slices for value[x].valueTime time
    Observation.Slices for value[x].valueDateTime dateTime
    Observation.Slices for value[x].valuePeriod Period
    Observation.Slices for value[x].value[x]:valueQuantity This element must be supported. This element is included in summaries. C 0..1 Quantity Quantitative Response
    Binding: UnitsOfMeasureCaseSensitive (required)
    Observation.Slices for value[x].value[x]:valueCodeableConcept This element must be supported. This element is included in summaries. C 0..1 CodeableConcept Coded Response
    Binding: Smoking status comprehensive (extensible): Tobacco And Nicotine Use
    Observation.dataAbsentReason C 0..1 CodeableConcept Why the result is missing
    Binding: DataAbsentReason (extensible): Codes specifying why the result (Observation.value[x]) is missing.
    Observation.interpretation 0..* CodeableConcept High, low, normal, etc.
    Binding: ObservationInterpretationCodes (extensible): Codes identifying interpretations of observations.
    Observation.note 0..* Annotation Comments about the observation
    Observation.bodySite 0..1 CodeableConcept Observed body part
    Binding: SNOMEDCTBodyStructures (example): Codes describing anatomical locations. May include laterality.
    Observation.method 0..1 CodeableConcept How it was done
    Binding: ObservationMethods (example): Methods for simple observations.
    Observation.specimen 0..1 Reference(Specimen) Specimen used for this observation
    Observation.device 0..1 Reference(Device | DeviceMetric) (Measurement) Device
    Observation.referenceRange C 0..* BackboneElement Provides guide for interpretation
    Constraints: obs-3
    Observation.referenceRange.id 0..1 string Unique id for inter-element referencing
    Observation.referenceRange.extension 0..* Extension Additional content defined by implementations
    Observation.referenceRange.modifierExtension This element is a modifier element. This element is included in summaries. 0..* Extension Extensions that cannot be ignored even if unrecognized
    Observation.referenceRange.low C 0..1 SimpleQuantity(4.0.1) Low Range, if relevant
    Constraints: sqty-1
    Observation.referenceRange.high C 0..1 SimpleQuantity(4.0.1) High Range, if relevant
    Constraints: sqty-1
    Observation.referenceRange.type 0..1 CodeableConcept Reference range qualifier
    Binding: ObservationReferenceRangeMeaningCodes (preferred): Code for the meaning of a reference range.
    Observation.referenceRange.appliesTo 0..* CodeableConcept Reference range population
    Binding: ObservationReferenceRangeAppliesToCodes (example): Codes identifying the population the reference range applies to.
    Observation.referenceRange.age 0..1 Range Applicable age range, if relevant
    Observation.referenceRange.text 0..1 string Text based reference range in an observation
    Observation.hasMember This element is included in summaries. 0..* Reference(Observation | QuestionnaireResponse | MolecularSequence) Related resource that belongs to the Observation group
    Observation.derivedFrom This element is included in summaries. 0..* Reference(DocumentReference | ImagingStudy | Media | QuestionnaireResponse | Observation | MolecularSequence) Related measurements the observation is made from
    Observation.component This element is included in summaries. 0..* BackboneElement Component results
    Observation.component.id 0..1 string Unique id for inter-element referencing
    Observation.component.extension 0..* Extension Additional content defined by implementations
    Observation.component.modifierExtension This element is a modifier element. This element is included in summaries. 0..* Extension Extensions that cannot be ignored even if unrecognized
    Observation.component.code This element is included in summaries. 1..1 CodeableConcept Type of component observation (code / type)
    Binding: LOINCCodes (example): Codes identifying names of simple observations.
    Observation.component.value[x] This element is included in summaries. 0..1 Actual component result
    Observation.component.value[x].valueQuantity Quantity
    Observation.component.value[x].valueCodeableConcept CodeableConcept
    Observation.component.value[x].valueString string
    Observation.component.value[x].valueBoolean boolean
    Observation.component.value[x].valueInteger integer
    Observation.component.value[x].valueRange Range
    Observation.component.value[x].valueRatio Ratio
    Observation.component.value[x].valueSampledData SampledData
    Observation.component.value[x].valueTime time
    Observation.component.value[x].valueDateTime dateTime
    Observation.component.value[x].valuePeriod Period
    Observation.component.dataAbsentReason C 0..1 CodeableConcept Why the component result is missing
    Binding: DataAbsentReason (extensible): Codes specifying why the result (Observation.value[x]) is missing.
    Observation.component.interpretation 0..* CodeableConcept High, low, normal, etc.
    Binding: ObservationInterpretationCodes (extensible): Codes identifying interpretations of observations.
    Observation.component.referenceRange 0..* See referenceRange (Observation) Provides guide for interpretation of component result

    doco Documentation for this format

    Terminology Bindings

    Path Status Usage ValueSet Version Source
    Observation.language Base preferred Common Languages 📍4.0.1 FHIR Std.
    Observation.status Base required US Core Tobacco And Nicotine Observation Status 📦10.0.0-ballot This IG
    Observation.category Base preferred Observation Category Codes 📍4.0.1 FHIR Std.
    Observation.category:SocialHistory Base preferred Observation Category Codes 📍4.0.1 FHIR Std.
    Observation.code Base extensible Smoking Status Type ⏿20240222 tx.fhir.org
    Observation.value[x]:valueQuantity Base required UnitsOfMeasureCaseSensitive 📦3.0.0 THO v7.4
    Observation.value[x]:valueCodeableConcept Base extensible Smoking status comprehensive ⏿20240217 tx.fhir.org
    Observation.dataAbsentReason Base extensible DataAbsentReason 📍4.0.1 FHIR Std.
    Observation.interpretation Base extensible Observation Interpretation Codes 📍4.0.1 FHIR Std.
    Observation.bodySite Base example SNOMED CT Body Structures 📍4.0.1 FHIR Std.
    Observation.method Base example Observation Methods 📍4.0.1 FHIR Std.
    Observation.referenceRange.​type Base preferred Observation Reference Range Meaning Codes 📍4.0.1 FHIR Std.
    Observation.referenceRange.​appliesTo Base example Observation Reference Range Applies To Codes 📍4.0.1 FHIR Std.
    Observation.component.​code Base example LOINC Codes 📍4.0.1 FHIR Std.
    Observation.component.​dataAbsentReason Base extensible DataAbsentReason 📍4.0.1 FHIR Std.
    Observation.component.​interpretation Base extensible Observation Interpretation Codes 📍4.0.1 FHIR Std.

    Constraints

    Id Grade Path(s) Description Expression
    us-core-24 error Observation Observation.code 72166-2|Tobacco smoking status or 11367-0|History of Tobacco use SHALL use valueCodeableConcept code.coding.where(code in '72166-2'|'11367-0').exists() implies value.is(CodeableConcept)
    us-core-25 warning Observation For Observation.code 401201003|Cigarette pack-years or 782516008|Number of calculated smoking pack years SHOULD use valueQuantity code.coding.where(code in '401201003'|'782516008').exists() implies value.is(Quantity)

    Key Elements View

    NameFlagsCard.TypeDescription & Constraints    Filter: doco
    Observation C 0..* Observation Measurements and simple assertions
    Constraints: obs-6, obs-7, us-core-24, us-core-25
    Observation.implicitRules This element is a modifier element. This element is included in summaries. 0..1 uri A set of rules under which this content was created
    Observation.modifierExtension This element is a modifier element. 0..* Extension Extensions that cannot be ignored
    Observation.status This element is a modifier element. This element must be supported. This element is included in summaries. 1..1 code final | entered-in-error
    Binding: US Core Tobacco And Nicotine Observation Status (required)
    Observation.Slices for category This element must be supported. 1..* CodeableConcept Classification of type of observation
    Slice: Unordered, Open by value:$this
    Binding: ObservationCategoryCodes (preferred): Codes for high level observation categories.

    Slicing Note: The rules on this element (including its children) apply to all the slices, but are not repeated in them
    Observation.Slices for category.category:SocialHistory This element must be supported. 1..1 CodeableConcept Classification of type of observation
    Binding: ObservationCategoryCodes (preferred): Codes for high level observation categories.

    Required Pattern:
    {
      "coding" : [
        {
          "system" : "http://terminology.hl7.org/CodeSystem/observation-category",
          "code" : "social-history"
        }
      ]
    }
    Observation.code This element must be supported. This element is included in summaries. C 1..1 CodeableConcept Tobacco And Nicotine Use
    Binding: Smoking Status Type (extensible): Tobacco And Nicotine Use Status
    Observation.subject This element must be supported. This element is included in summaries. 1..1 Reference(US Core Patient Profile) Who and/or what the observation is about
    Observation.effective[x] This element must be supported. This element is included in summaries. 1..1 Clinically relevant time/time-period for observation
    Observation.effective[x].effectiveDateTime dateTime
    Observation.effective[x].effectivePeriod Period
    Observation.performer This element must be supported. This element is included in summaries. 0..* Reference(US Core Practitioner Profile This type must be supported. | US Core Organization Profile | US Core Patient Profile | PractitionerRole | US Core CareTeam Profile | US Core RelatedPerson Profile) Who is responsible for the observation
    Observation.Slices for value[x] This element must be supported. This element is included in summaries. C 1..1 Actual result
    Slice: Unordered, Closed by type:$this
    Slicing Note: The rules on this element (including its children) apply to all the slices, but are not repeated in them Other type slices that contain no new information are not shown in this view
    Observation.Slices for value[x].valueQuantity Quantity
    Observation.Slices for value[x].valueCodeableConcept CodeableConcept
    Observation.Slices for value[x].valueString string
    Observation.Slices for value[x].valueBoolean boolean
    Observation.Slices for value[x].valueInteger integer
    Observation.Slices for value[x].valueRange Range
    Observation.Slices for value[x].valueRatio Ratio
    Observation.Slices for value[x].valueSampledData SampledData
    Observation.Slices for value[x].valueTime time
    Observation.Slices for value[x].valueDateTime dateTime
    Observation.Slices for value[x].valuePeriod Period
    Observation.Slices for value[x].value[x]:valueQuantity This element must be supported. This element is included in summaries. C 0..1 Quantity Quantitative Response
    Binding: UnitsOfMeasureCaseSensitive (required)
    Observation.Slices for value[x].value[x]:valueCodeableConcept This element must be supported. This element is included in summaries. C 0..1 CodeableConcept Coded Response
    Binding: Smoking status comprehensive (extensible): Tobacco And Nicotine Use

    doco Documentation for this format

    Terminology Bindings

    Path Status Usage ValueSet Version Source
    Observation.status Base required US Core Tobacco And Nicotine Observation Status 📦10.0.0-ballot This IG
    Observation.category Base preferred Observation Category Codes 📍4.0.1 FHIR Std.
    Observation.category:SocialHistory Base preferred Observation Category Codes 📍4.0.1 FHIR Std.
    Observation.code Base extensible Smoking Status Type ⏿20240222 tx.fhir.org
    Observation.value[x]:valueQuantity Base required UnitsOfMeasureCaseSensitive 📦3.0.0 THO v7.4
    Observation.value[x]:valueCodeableConcept Base extensible Smoking status comprehensive ⏿20240217 tx.fhir.org

    Constraints

    Id Grade Path(s) Description Expression
    us-core-24 error Observation Observation.code 72166-2|Tobacco smoking status or 11367-0|History of Tobacco use SHALL use valueCodeableConcept code.coding.where(code in '72166-2'|'11367-0').exists() implies value.is(CodeableConcept)
    us-core-25 warning Observation For Observation.code 401201003|Cigarette pack-years or 782516008|Number of calculated smoking pack years SHOULD use valueQuantity code.coding.where(code in '401201003'|'782516008').exists() implies value.is(Quantity)

    Differential View

    This structure is derived from Observation

    NameFlagsCard.TypeDescription & Constraints    Filter: doco
    Observation C 0..* Observation Measurements and simple assertions
    Constraints: us-core-24, us-core-25
    Observation.status This element must be supported. 1..1 code final | entered-in-error
    Binding: US Core Tobacco And Nicotine Observation Status (required)
    Observation.Slices for category This element must be supported. 1..* CodeableConcept Classification of type of observation
    Slice: Unordered, Open by value:$this
    Slicing Note: The rules on this element (including its children) apply to all the slices, but are not repeated in them
    Observation.Slices for category.category:SocialHistory This element must be supported. 1..1 CodeableConcept Classification of type of observation
    Required Pattern:
    {
      "coding" : [
        {
          "system" : "http://terminology.hl7.org/CodeSystem/observation-category",
          "code" : "social-history"
        }
      ]
    }
    Observation.code This element must be supported. C 1..1 CodeableConcept Tobacco And Nicotine Use
    Binding: Smoking Status Type (extensible): Tobacco And Nicotine Use Status
    Observation.subject This element must be supported. 1..1 Reference(US Core Patient Profile) Who and/or what the observation is about
    Observation.effective[x] This element must be supported. 1..1 Clinically relevant time/time-period for observation
    Observation.effective[x].effectiveDateTime dateTime
    Observation.effective[x].effectivePeriod Period
    Observation.performer This element must be supported. 0..* Reference(US Core Practitioner Profile This type must be supported. | US Core Organization Profile | US Core Patient Profile | PractitionerRole | US Core CareTeam Profile | US Core RelatedPerson Profile) Who is responsible for the observation
    Observation.Slices for value[x] This element must be supported. C 1..1 Quantity, CodeableConcept, string, boolean, integer, Range, Ratio, SampledData, time, dateTime, Period Actual result
    Slice: Unordered, Open by type:$this
    Slicing Note: The rules on this element (including its children) apply to all the slices, but are not repeated in them Other type slices that contain no new information are not shown in this view
    Observation.Slices for value[x].value[x]:valueQuantity This element must be supported. 0..1 Quantity Quantitative Response
    Binding: UnitsOfMeasureCaseSensitive (required)
    Observation.Slices for value[x].value[x]:valueCodeableConcept This element must be supported. 0..1 CodeableConcept Coded Response
    Binding: Smoking status comprehensive (extensible): Tobacco And Nicotine Use

    doco Documentation for this format

    Terminology Bindings (Differential)

    Path Status Usage ValueSet Version Source
    Observation.status Base required US Core Tobacco And Nicotine Observation Status 📦10.0.0-ballot This IG
    Observation.code Base extensible Smoking Status Type ⏿20240222 tx.fhir.org
    Observation.value[x]:valueQuantity Base required UnitsOfMeasureCaseSensitive 📦3.0.0 THO v7.4
    Observation.value[x]:valueCodeableConcept Base extensible Smoking status comprehensive ⏿20240217 tx.fhir.org

    Constraints

    Id Grade Path(s) Description Expression
    us-core-24 error Observation Observation.code 72166-2|Tobacco smoking status or 11367-0|History of Tobacco use SHALL use valueCodeableConcept code.coding.where(code in '72166-2'|'11367-0').exists() implies value.is(CodeableConcept)
    us-core-25 warning Observation For Observation.code 401201003|Cigarette pack-years or 782516008|Number of calculated smoking pack years SHOULD use valueQuantity code.coding.where(code in '401201003'|'782516008').exists() implies value.is(Quantity)

    Snapshot View

    NameFlagsCard.TypeDescription & Constraints    Filter: doco
    Observation C 0..* Observation Measurements and simple assertions
    Constraints: obs-6, obs-7, us-core-24, us-core-25
    Observation.id This element is included in summaries. 0..1 id Logical id of this artifact
    Observation.meta This element is included in summaries. 0..1 Meta Metadata about the resource
    Observation.implicitRules This element is a modifier element. This element is included in summaries. 0..1 uri A set of rules under which this content was created
    Observation.language 0..1 code Language of the resource content
    Binding: CommonLanguages (preferred): A human language.
    Additional BindingsPurpose
    AllLanguages Max Binding
    Observation.text 0..1 Narrative Text summary of the resource, for human interpretation
    This profile does not constrain the narrative in regard to content, language, or traceability to data elements
    Observation.contained 0..* Resource Contained, inline Resources
    Observation.extension 0..* Extension Additional content defined by implementations
    Observation.modifierExtension This element is a modifier element. 0..* Extension Extensions that cannot be ignored
    Observation.identifier This element is included in summaries. 0..* Identifier Business Identifier for observation
    Observation.basedOn This element is included in summaries. 0..* Reference(CarePlan | DeviceRequest | ImmunizationRecommendation | MedicationRequest | NutritionOrder | ServiceRequest) Fulfills plan, proposal or order
    Observation.partOf This element is included in summaries. 0..* Reference(MedicationAdministration | MedicationDispense | MedicationStatement | Procedure | Immunization | ImagingStudy) Part of referenced event
    Observation.status This element is a modifier element. This element must be supported. This element is included in summaries. 1..1 code final | entered-in-error
    Binding: US Core Tobacco And Nicotine Observation Status (required)
    Observation.Slices for category This element must be supported. 1..* CodeableConcept Classification of type of observation
    Slice: Unordered, Open by value:$this
    Binding: ObservationCategoryCodes (preferred): Codes for high level observation categories.

    Slicing Note: The rules on this element (including its children) apply to all the slices, but are not repeated in them
    Observation.Slices for category.category:SocialHistory This element must be supported. 1..1 CodeableConcept Classification of type of observation
    Binding: ObservationCategoryCodes (preferred): Codes for high level observation categories.

    Required Pattern:
    {
      "coding" : [
        {
          "system" : "http://terminology.hl7.org/CodeSystem/observation-category",
          "code" : "social-history"
        }
      ]
    }
    Observation.code This element must be supported. This element is included in summaries. C 1..1 CodeableConcept Tobacco And Nicotine Use
    Binding: Smoking Status Type (extensible): Tobacco And Nicotine Use Status
    Observation.subject This element must be supported. This element is included in summaries. 1..1 Reference(US Core Patient Profile) Who and/or what the observation is about
    Observation.focus This element is included in summaries. 0..* Reference(Resource) What the observation is about, when it is not about the subject of record
    Observation.encounter This element is included in summaries. 0..1 Reference(Encounter) Healthcare event during which this observation is made
    Observation.effective[x] This element must be supported. This element is included in summaries. 1..1 Clinically relevant time/time-period for observation
    Observation.effective[x].effectiveDateTime dateTime
    Observation.effective[x].effectivePeriod Period
    Observation.issued This element is included in summaries. 0..1 instant Date/Time this version was made available
    Observation.performer This element must be supported. This element is included in summaries. 0..* Reference(US Core Practitioner Profile This type must be supported. | US Core Organization Profile | US Core Patient Profile | PractitionerRole | US Core CareTeam Profile | US Core RelatedPerson Profile) Who is responsible for the observation
    Observation.Slices for value[x] This element must be supported. This element is included in summaries. C 1..1 Actual result
    Slice: Unordered, Closed by type:$this
    Slicing Note: The rules on this element (including its children) apply to all the slices, but are not repeated in them Other type slices that contain no new information are not shown in this view
    Observation.Slices for value[x].valueQuantity Quantity
    Observation.Slices for value[x].valueCodeableConcept CodeableConcept
    Observation.Slices for value[x].valueString string
    Observation.Slices for value[x].valueBoolean boolean
    Observation.Slices for value[x].valueInteger integer
    Observation.Slices for value[x].valueRange Range
    Observation.Slices for value[x].valueRatio Ratio
    Observation.Slices for value[x].valueSampledData SampledData
    Observation.Slices for value[x].valueTime time
    Observation.Slices for value[x].valueDateTime dateTime
    Observation.Slices for value[x].valuePeriod Period
    Observation.Slices for value[x].value[x]:valueQuantity This element must be supported. This element is included in summaries. C 0..1 Quantity Quantitative Response
    Binding: UnitsOfMeasureCaseSensitive (required)
    Observation.Slices for value[x].value[x]:valueCodeableConcept This element must be supported. This element is included in summaries. C 0..1 CodeableConcept Coded Response
    Binding: Smoking status comprehensive (extensible): Tobacco And Nicotine Use
    Observation.dataAbsentReason C 0..1 CodeableConcept Why the result is missing
    Binding: DataAbsentReason (extensible): Codes specifying why the result (Observation.value[x]) is missing.
    Observation.interpretation 0..* CodeableConcept High, low, normal, etc.
    Binding: ObservationInterpretationCodes (extensible): Codes identifying interpretations of observations.
    Observation.note 0..* Annotation Comments about the observation
    Observation.bodySite 0..1 CodeableConcept Observed body part
    Binding: SNOMEDCTBodyStructures (example): Codes describing anatomical locations. May include laterality.
    Observation.method 0..1 CodeableConcept How it was done
    Binding: ObservationMethods (example): Methods for simple observations.
    Observation.specimen 0..1 Reference(Specimen) Specimen used for this observation
    Observation.device 0..1 Reference(Device | DeviceMetric) (Measurement) Device
    Observation.referenceRange C 0..* BackboneElement Provides guide for interpretation
    Constraints: obs-3
    Observation.referenceRange.id 0..1 string Unique id for inter-element referencing
    Observation.referenceRange.extension 0..* Extension Additional content defined by implementations
    Observation.referenceRange.modifierExtension This element is a modifier element. This element is included in summaries. 0..* Extension Extensions that cannot be ignored even if unrecognized
    Observation.referenceRange.low C 0..1 SimpleQuantity(4.0.1) Low Range, if relevant
    Constraints: sqty-1
    Observation.referenceRange.high C 0..1 SimpleQuantity(4.0.1) High Range, if relevant
    Constraints: sqty-1
    Observation.referenceRange.type 0..1 CodeableConcept Reference range qualifier
    Binding: ObservationReferenceRangeMeaningCodes (preferred): Code for the meaning of a reference range.
    Observation.referenceRange.appliesTo 0..* CodeableConcept Reference range population
    Binding: ObservationReferenceRangeAppliesToCodes (example): Codes identifying the population the reference range applies to.
    Observation.referenceRange.age 0..1 Range Applicable age range, if relevant
    Observation.referenceRange.text 0..1 string Text based reference range in an observation
    Observation.hasMember This element is included in summaries. 0..* Reference(Observation | QuestionnaireResponse | MolecularSequence) Related resource that belongs to the Observation group
    Observation.derivedFrom This element is included in summaries. 0..* Reference(DocumentReference | ImagingStudy | Media | QuestionnaireResponse | Observation | MolecularSequence) Related measurements the observation is made from
    Observation.component This element is included in summaries. 0..* BackboneElement Component results
    Observation.component.id 0..1 string Unique id for inter-element referencing
    Observation.component.extension 0..* Extension Additional content defined by implementations
    Observation.component.modifierExtension This element is a modifier element. This element is included in summaries. 0..* Extension Extensions that cannot be ignored even if unrecognized
    Observation.component.code This element is included in summaries. 1..1 CodeableConcept Type of component observation (code / type)
    Binding: LOINCCodes (example): Codes identifying names of simple observations.
    Observation.component.value[x] This element is included in summaries. 0..1 Actual component result
    Observation.component.value[x].valueQuantity Quantity
    Observation.component.value[x].valueCodeableConcept CodeableConcept
    Observation.component.value[x].valueString string
    Observation.component.value[x].valueBoolean boolean
    Observation.component.value[x].valueInteger integer
    Observation.component.value[x].valueRange Range
    Observation.component.value[x].valueRatio Ratio
    Observation.component.value[x].valueSampledData SampledData
    Observation.component.value[x].valueTime time
    Observation.component.value[x].valueDateTime dateTime
    Observation.component.value[x].valuePeriod Period
    Observation.component.dataAbsentReason C 0..1 CodeableConcept Why the component result is missing
    Binding: DataAbsentReason (extensible): Codes specifying why the result (Observation.value[x]) is missing.
    Observation.component.interpretation 0..* CodeableConcept High, low, normal, etc.
    Binding: ObservationInterpretationCodes (extensible): Codes identifying interpretations of observations.
    Observation.component.referenceRange 0..* See referenceRange (Observation) Provides guide for interpretation of component result

    doco Documentation for this format

    Terminology Bindings

    Path Status Usage ValueSet Version Source
    Observation.language Base preferred Common Languages 📍4.0.1 FHIR Std.
    Observation.status Base required US Core Tobacco And Nicotine Observation Status 📦10.0.0-ballot This IG
    Observation.category Base preferred Observation Category Codes 📍4.0.1 FHIR Std.
    Observation.category:SocialHistory Base preferred Observation Category Codes 📍4.0.1 FHIR Std.
    Observation.code Base extensible Smoking Status Type ⏿20240222 tx.fhir.org
    Observation.value[x]:valueQuantity Base required UnitsOfMeasureCaseSensitive 📦3.0.0 THO v7.4
    Observation.value[x]:valueCodeableConcept Base extensible Smoking status comprehensive ⏿20240217 tx.fhir.org
    Observation.dataAbsentReason Base extensible DataAbsentReason 📍4.0.1 FHIR Std.
    Observation.interpretation Base extensible Observation Interpretation Codes 📍4.0.1 FHIR Std.
    Observation.bodySite Base example SNOMED CT Body Structures 📍4.0.1 FHIR Std.
    Observation.method Base example Observation Methods 📍4.0.1 FHIR Std.
    Observation.referenceRange.​type Base preferred Observation Reference Range Meaning Codes 📍4.0.1 FHIR Std.
    Observation.referenceRange.​appliesTo Base example Observation Reference Range Applies To Codes 📍4.0.1 FHIR Std.
    Observation.component.​code Base example LOINC Codes 📍4.0.1 FHIR Std.
    Observation.component.​dataAbsentReason Base extensible DataAbsentReason 📍4.0.1 FHIR Std.
    Observation.component.​interpretation Base extensible Observation Interpretation Codes 📍4.0.1 FHIR Std.

    Constraints

    Id Grade Path(s) Description Expression
    us-core-24 error Observation Observation.code 72166-2|Tobacco smoking status or 11367-0|History of Tobacco use SHALL use valueCodeableConcept code.coding.where(code in '72166-2'|'11367-0').exists() implies value.is(CodeableConcept)
    us-core-25 warning Observation For Observation.code 401201003|Cigarette pack-years or 782516008|Number of calculated smoking pack years SHOULD use valueQuantity code.coding.where(code in '401201003'|'782516008').exists() implies value.is(Quantity)

     

    Other representations of profile: CSV, Excel, Schematron

    Notes:


    Quick Start


    Below is an overview of the required Server RESTful FHIR interactions for this profile - for example, search and read operations - when supporting the US Core interactions to access this profile's information (Profile Support + Interaction Support). Note that systems that support only US Core Profiles (Profile Only Support) are not required to support these interactions. See the US Core Server CapabilityStatement for a complete list of supported RESTful interactions for this IG.

    • See the Scopes Format section for a description of the SMART scopes syntax.
    • See the Search Syntax section for a description of the US Core search syntax.
    • See the General Requirements section for additional rules and expectations when a Server requires status parameters.
    • See the General Guidance section for additional guidance on searching for multiple patients.

    US Core Scopes

    Servers providing access to social history data SHALL support these US Core SMART Scopes:

    • resource level scopes: <patient|user|system>/Observation.rs §

    • granular scopes: <patient|user|system>/Observation.rs?category=http://terminology.hl7.org//CodeSystem-observation-category|social-history §


    Mandatory Search Parameters:

    The following search parameters and search parameter combinations SHALL be supported:

    1. SHALL support searching for all Observations using the combination of the patient and category search parameters

      GET [base]/Observation?patient={Patient/}[id]&category={system|}[search_code]

      Example:

      1. GET [base]/Observation?patient=Patient/1137192&category=http://terminology.hl7.org/CodeSystem/observation-category|social-history

      Implementation Notes: Fetches a bundle of all US Core Tobacco And Nicotine Use Observation Profile resources for the specified patient and a category code = "social-history" ( see how to search by reference and how to search by token).

    2. SHALL support searching for all Observations by code using the combination of the patient and code search parameters

      • Including optional support OR search on code (e.g.code={system|}[code],{system|}[code],...)

      GET [base]/Observation?patient={Patient/}[id]&code={system|}[search_code]{,{system|}[code],...}

      Example:

      1. GET [base]/Observation?patient=Patient/1137192&code=http://loinc.org|76690-7

      Implementation Notes: Fetches a bundle of all US Core Tobacco And Nicotine Use Observation Profile resources for the specified patient and observation code(s). SHOULD support search by multiple codes. The US Core Tobacco And Nicotine Use Observation Profile "code" parameter searches only .code and not component.code. ( see how to search by reference and how to search by token).

    3. SHALL support searching for all Observations by date (for example, results after 2018) using the combination of the patient and category and date search parameters

      • Including optional support for AND search on date (e.g.date=[date]&date=[date]&...)

      • Including support for these date comparators: "gt", "lt", "ge", "le"

      GET [base]/Observation?patient={Patient/}[id]&category={system|}[search_code]&date={gt|lt|ge|le}[dateTime]{&date={gt|lt|ge|le}[dateTime]&...}

      Example:

      1. GET [base]/Observation?patient=Patient/1137192&category=http://terminology.hl7.org/CodeSystem/observation-category|social-history&date=ge2018-03-14T00:00:00Z

      Implementation Notes: Fetches a bundle of all US Core Tobacco And Nicotine Use Observation Profile resources for the specified patient and date and a category code = "social-history" ( see how to search by reference and how to search by token and how to search by date).

    Optional Search Parameters:

    The following search parameters and search parameter combinations SHOULD be supported

    1. SHOULD support searching for all Observations for a patient for a given status (for example all observations marked as final) using the combination of the patient and category and status search parameters

      • Including support OR search on status (e.g.status={system|}[code],{system|}[code],...)

      GET [base]/Observation?patient={Patient/}[id]&category={system|}[search_code]&status={system|}[search_code]{,{system|}[code],...}

      Example:

      1. GET [base]/Observation?patient=Patient/1137192&category=http://terminology.hl7.org/CodeSystem/observation-category|social-history&status=final

      Implementation Notes: Fetches a bundle of all US Core Tobacco And Nicotine Use Observation Profile resources for the specified patient and category = "social-history" and status ( see how to search by reference and how to search by token).

    2. SHOULD support searching using the combination of the patient and category and _lastUpdated search parameters

      • Including optional support for AND search on _lastUpdated (e.g._lastUpdated=[date]&_lastUpdated=[date]&...)

      • Including support for these _lastUpdated comparators: "gt", "lt", "ge", "le"

      GET [base]/Observation?patient={Patient/}[id]&category={system|}[search_code]&_lastUpdated=[dateTime]

      Example:

      1. GET [base]/Observation?patient=Patient/1137192&category=http://terminology.hl7.org/CodeSystem/observation-category|social-history&_lastUpdated=ge2024-01-01T00:00:00Z

      Implementation Notes: Fetches a bundle of all US Core Tobacco And Nicotine Use Observation Profile resources for the specified patient and category code = "social-history" and _lastUpdated. See the US Core General Guidance page for Searching Using lastUpdated. ( see how to search by reference and how to search by token and how to search by date).

    3. SHOULD support searching Observations by code and date using the combination of the patient and code and date search parameters

      • Including optional support OR search on code (e.g.code={system|}[code],{system|}[code],...)

      • Including optional support for AND search on date (e.g.date=[date]&date=[date]&...)

      • Including support for these date comparators: "gt", "lt", "ge", "le"

      GET [base]/Observation?patient={Patient/}[id]&code={system|}[search_code]{,{system|}[code],...}&date={gt|lt|ge|le}[dateTime]{&date={gt|lt|ge|le}[dateTime]&...}

      Example:

      1. GET [base]/Observation?patient=Patient/1137192&code=http://loinc.org|76690-7&date=ge2019-01-01T00:00:00Z

      Implementation Notes: Fetches a bundle of all US Core Tobacco And Nicotine Use Observation Profile resources for the specified patient and date and code(s). SHOULD support search by multiple codes. ( see how to search by reference and how to search by token and how to search by date).