description: The US Core Smoking Status Observation Profile is based upon the core FHIR Observation Resource and implements the U.S. Core Data for Interoperability (USCDI) v2 Smoking status' requirements. This profile sets minimum expectations for the Observation resource to record, search, and fetch smoking status data associated with a patient to promote interoperability and adoption through common implementation. It identifies which core elements, extensions, vocabularies, and value sets **SHALL** be present in the resource when using this profile. It provides the floor for standards development for specific use cases. package_name: hl7.fhir.us.core derivation: constraint name: USCoreSmokingStatusProfile type: Observation elements: category: mustSupport: true index: 1 slicing: rules: open discriminator: - {path: $this, type: pattern} min: 1 slices: SocialHistory: match: coding: - {code: social-history, system: 'http://terminology.hl7.org/CodeSystem/observation-category'} schema: mustSupport: true pattern: type: CodeableConcept value: coding: - {code: social-history, system: 'http://terminology.hl7.org/CodeSystem/observation-category'} _required: true index: 2 min: 1 max: 1 valueTime: constraint: us-core-3: {human: SHALL use UCUM for coded quantity units., severity: error, expression: 'valueQuantity.system.empty() or valueQuantity.system = ''http://unitsofmeasure.org'''} short: Typically Coded Responses from Smoking Status Value Set type: time mustSupport: true choiceOf: value index: 16 valueQuantity: constraint: us-core-3: {human: SHALL use UCUM for coded quantity units., severity: error, expression: 'valueQuantity.system.empty() or valueQuantity.system = ''http://unitsofmeasure.org'''} short: Typically Coded Responses from Smoking Status Value Set type: Quantity mustSupport: true choiceOf: value index: 9 value: constraint: us-core-3: {human: SHALL use UCUM for coded quantity units., severity: error, expression: 'valueQuantity.system.empty() or valueQuantity.system = ''http://unitsofmeasure.org'''} short: Typically Coded Responses from Smoking Status Value Set mustSupport: true choices: [valueCodeableConcept, valueQuantity, valueString, valueBoolean, valueInteger, valueRange, valueRatio, valueSampledData, valueTime, valueDateTime, valuePeriod] index: 7 valueString: constraint: us-core-3: {human: SHALL use UCUM for coded quantity units., severity: error, expression: 'valueQuantity.system.empty() or valueQuantity.system = ''http://unitsofmeasure.org'''} short: Typically Coded Responses from Smoking Status Value Set type: string mustSupport: true choiceOf: value index: 10 valueRatio: constraint: us-core-3: {human: SHALL use UCUM for coded quantity units., severity: error, expression: 'valueQuantity.system.empty() or valueQuantity.system = ''http://unitsofmeasure.org'''} short: Typically Coded Responses from Smoking Status Value Set type: Ratio mustSupport: true choiceOf: value index: 14 valueBoolean: constraint: us-core-3: {human: SHALL use UCUM for coded quantity units., severity: error, expression: 'valueQuantity.system.empty() or valueQuantity.system = ''http://unitsofmeasure.org'''} short: Typically Coded Responses from Smoking Status Value Set type: boolean mustSupport: true choiceOf: value index: 11 valueDateTime: constraint: us-core-3: {human: SHALL use UCUM for coded quantity units., severity: error, expression: 'valueQuantity.system.empty() or valueQuantity.system = ''http://unitsofmeasure.org'''} short: Typically Coded Responses from Smoking Status Value Set type: dateTime mustSupport: true choiceOf: value index: 17 valueSampledData: constraint: us-core-3: {human: SHALL use UCUM for coded quantity units., severity: error, expression: 'valueQuantity.system.empty() or valueQuantity.system = ''http://unitsofmeasure.org'''} short: Typically Coded Responses from Smoking Status Value Set type: SampledData mustSupport: true choiceOf: value index: 15 effectiveDateTime: {mustSupport: true, index: 5} status: binding: {strength: required, valueSet: 'http://hl7.org/fhir/us/core/ValueSet/us-core-observation-smoking-status-status'} mustSupport: true index: 0 code: short: Smoking Status binding: {strength: extensible, valueSet: 'http://hl7.org/fhir/us/core/ValueSet/us-core-smoking-status-observation-codes'} mustSupport: true index: 3 valueCodeableConcept: constraint: us-core-3: {human: SHALL use UCUM for coded quantity units., severity: error, expression: 'valueQuantity.system.empty() or valueQuantity.system = ''http://unitsofmeasure.org'''} short: Typically Coded Responses from Smoking Status Value Set type: CodeableConcept mustSupport: true choiceOf: value index: 8 valuePeriod: constraint: us-core-3: {human: SHALL use UCUM for coded quantity units., severity: error, expression: 'valueQuantity.system.empty() or valueQuantity.system = ''http://unitsofmeasure.org'''} short: Typically Coded Responses from Smoking Status Value Set type: Period mustSupport: true choiceOf: value index: 18 valueRange: constraint: us-core-3: {human: SHALL use UCUM for coded quantity units., severity: error, expression: 'valueQuantity.system.empty() or valueQuantity.system = ''http://unitsofmeasure.org'''} short: Typically Coded Responses from Smoking Status Value Set type: Range mustSupport: true choiceOf: value index: 13 valueInteger: constraint: us-core-3: {human: SHALL use UCUM for coded quantity units., severity: error, expression: 'valueQuantity.system.empty() or valueQuantity.system = ''http://unitsofmeasure.org'''} short: Typically Coded Responses from Smoking Status Value Set type: integer mustSupport: true choiceOf: value index: 12 subject: type: Reference mustSupport: true refers: ['http://hl7.org/fhir/us/core/StructureDefinition/us-core-patient'] index: 4 package_version: 6.0.0-ballot class: profile kind: resource url: http://hl7.org/fhir/us/core/StructureDefinition/us-core-smokingstatus base: http://hl7.org/fhir/StructureDefinition/Observation version: 6.0.0-ballot required: [valuePeriod, valueSampledData, effectiveDateTime, valueString, valueRatio, valueRange, valueDateTime, value, valueBoolean, subject, valueCodeableConcept, valueTime, category, valueQuantity, valueInteger]