US-Core CI Build

This page is part of the US Core (v0.0.0: STU1 Ballot 1) based on FHIR v1.8.0. The current version which supercedes this version is 5.0.1. For a full list of available versions, see the Directory of published versions

D.4.1 StructureDefinition-us-core-smokingstatus

This profile sets minimum expectations for the Observation resource to record, search and fetch smoking status data associated with a patient. It identifies which core elements, extensions, vocabularies and value sets SHALL be present in the resource when using this profile.

Example Usage Scenarios:

The following are example usage scenarios for the US Core-SmokingStatus profile:

  • Query for Smoking Status of a particular patient
  • Record Smoking Status of a particular patient
Mandatory Data Elements and Terminology

The following data-elements are mandatory (i.e data MUST be present). These are presented below in a simple human-readable explanation. Profile specific guidance and examples are provided as well. The Formal Profile Definition below provides the formal summary, definitions, and terminology requirements.

Each Observation must have:

  1. a status
  2. a fixed code for smoking observation
  3. a patient
  4. a date representing when the smoking status was recorded
  5. a result value code for smoking status

Profile specific implementation guidance:

#### Examples

  • [observation-some-day-smoker]Observation-some-day-smoker.html)

D.4.1.1 Formal Views of Profile Content

The official URL for this profile is:

http://hl7.org/fhir/us/core/StructureDefinition/us-core-smokingstatus

This profile builds on Observation.

This profile was published on Mon Aug 01 00:00:00 AEST 2016 as a draft by Health Level Seven International (FHIR-Infrastructure).

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

Complete Summary of the Mandatory Requirements

  1. One status in Observation.statuswhich has an required binding to:
  2. One code in Observation.code
    • a fixed Observation.code.coding.system= http://loinc.org
    • a fixed Observation.code.coding.code=72166-2
  3. One reference to a Patient in Observation.subject
  4. One DateTime (instant) in Observation.issued
  5. One Observation.valueCodeableConceptwhich has an required binding to:
NameFlagsCard.TypeDescription & Constraintsdoco
.. Observation 0..*US Core Smoking Status Observation Profile
... status S1..1codeBinding: ObservationStatus (required)
... code S1..1CodeableConceptSmoking Status: LOINC 72166-2 = Tobacco smoking status NHIS
Required Pattern: {"coding":[{"system":"http://loinc.org","code":"72166-2"}]}
... subject S1..1Reference(US Core Patient Profile)
... issued S1..1instant
... valueCodeableConcept S1..1CodeableConceptCoded Responses from Smoking Status Value Set
Binding: Smoking Status (required)

doco Documentation for this format
NameFlagsCard.TypeDescription & Constraintsdoco
.. Observation I0..*US Core Smoking Status Observation Profile
... id ∑0..1idLogical id of this artifact
... meta ∑0..1MetaMetadata about the resource
... implicitRules ?!∑0..1uriA set of rules under which this content was created
... language 0..1codeLanguage of the resource content
Binding: Common Languages (extensible)
... text I0..1NarrativeText summary of the resource, for human interpretation
... contained 0..*ResourceContained, inline Resources
... extension 0..*ExtensionAdditional Content defined by implementations
... modifierExtension ?!0..*ExtensionExtensions that cannot be ignored
... identifier 0..*IdentifierUnique Id for this particular observation
... status ?!S1..1coderegistered | preliminary | final | amended +
Binding: ObservationStatus (required)
... category 0..*CodeableConceptClassification of type of observation
Binding: Observation Category Codes (example)
... code S1..1CodeableConceptSmoking Status: LOINC 72166-2 = Tobacco smoking status NHIS
Binding: LOINC Codes (example)
Required Pattern: {"coding":[{"system":"http://loinc.org","code":"72166-2"}]}
... subject S1..1Reference(US Core Patient Profile)Who and/or what this is about
... encounter 0..1Reference(Encounter)Healthcare event during which this observation is made
... effective[x] ∑0..1dateTime, PeriodClinically relevant time/time-period for observation
... issued S1..1instantDate/Time this was made available
... performer ∑0..*Reference(Practitioner), Reference(Organization), Reference(Patient), Reference(RelatedPerson)Who is responsible for the observation
... valueCodeableConcept SI1..1CodeableConceptCoded Responses from Smoking Status Value Set
Binding: Smoking Status (required)
... dataAbsentReason I0..1CodeableConceptWhy the result is missing
Binding: Observation Value Absent Reason (extensible)
... interpretation 0..1CodeableConceptHigh, low, normal, etc.
Binding: Observation Interpretation Codes (extensible)
... comment 0..1stringComments about result
... bodySite 0..1CodeableConceptObserved body part
Binding: SNOMED CT Body Structures (example)
... method 0..1CodeableConceptHow it was done
Binding: Observation Methods (example)
... specimen 0..1Reference(Specimen)Specimen used for this observation
... device 0..1Reference(Device), Reference(DeviceMetric)(Measurement) Device
... referenceRange I0..*BackboneElementProvides guide for interpretation
obs-3: Must have at least a low or a high or text
.... id 0..1stringxml:id (or equivalent in JSON)
.... extension 0..*ExtensionAdditional Content defined by implementations
.... modifierExtension ?!∑0..*ExtensionExtensions that cannot be ignored
.... low I0..1SimpleQuantityLow Range, if relevant
.... high I0..1SimpleQuantityHigh Range, if relevant
.... meaning 0..*CodeableConceptReference range qualifier
Binding: Observation Reference Range Meaning Codes (example)
.... age 0..1RangeApplicable age range, if relevant
.... text 0..1stringText based reference range in an observation
... related ∑I0..*BackboneElementResource related to this observation
.... id 0..1stringxml:id (or equivalent in JSON)
.... extension 0..*ExtensionAdditional Content defined by implementations
.... modifierExtension ?!∑0..*ExtensionExtensions that cannot be ignored
.... type 0..1codehas-member | derived-from | sequel-to | replaces | qualified-by | interfered-by
Binding: ObservationRelationshipType (required)
.... target 1..1Reference(Observation), Reference(QuestionnaireResponse), Reference(Sequence)Resource that is related to this one
... component ∑I0..*BackboneElementComponent results
.... id 0..1stringxml:id (or equivalent in JSON)
.... extension 0..*ExtensionAdditional Content defined by implementations
.... modifierExtension ?!∑0..*ExtensionExtensions that cannot be ignored
.... code ∑1..1CodeableConceptType of component observation (code / type)
Binding: LOINC Codes (example)
.... value[x] ∑0..1Quantity, CodeableConcept, string, Range, Ratio, SampledData, Attachment, time, dateTime, PeriodActual component result
.... dataAbsentReason I0..1CodeableConceptWhy the component result is missing
Binding: Observation Value Absent Reason (extensible)
.... interpretation 0..1CodeableConceptHigh, low, normal, etc.
Binding: Observation Interpretation Codes (extensible)
.... referenceRange 0..*Unknown reference to #Observation:uscoresmookingstatus.referenceRange
Provides guide for interpretation of component result

doco Documentation for this format

Complete Summary of the Mandatory Requirements

  1. One status in Observation.statuswhich has an required binding to:
  2. One code in Observation.code
    • a fixed Observation.code.coding.system= http://loinc.org
    • a fixed Observation.code.coding.code=72166-2
  3. One reference to a Patient in Observation.subject
  4. One DateTime (instant) in Observation.issued
  5. One Observation.valueCodeableConceptwhich has an required binding to:

Differential View

NameFlagsCard.TypeDescription & Constraintsdoco
.. Observation 0..*US Core Smoking Status Observation Profile
... status S1..1codeBinding: ObservationStatus (required)
... code S1..1CodeableConceptSmoking Status: LOINC 72166-2 = Tobacco smoking status NHIS
Required Pattern: {"coding":[{"system":"http://loinc.org","code":"72166-2"}]}
... subject S1..1Reference(US Core Patient Profile)
... issued S1..1instant
... valueCodeableConcept S1..1CodeableConceptCoded Responses from Smoking Status Value Set
Binding: Smoking Status (required)

doco Documentation for this format

Snapshot View

NameFlagsCard.TypeDescription & Constraintsdoco
.. Observation I0..*US Core Smoking Status Observation Profile
... id ∑0..1idLogical id of this artifact
... meta ∑0..1MetaMetadata about the resource
... implicitRules ?!∑0..1uriA set of rules under which this content was created
... language 0..1codeLanguage of the resource content
Binding: Common Languages (extensible)
... text I0..1NarrativeText summary of the resource, for human interpretation
... contained 0..*ResourceContained, inline Resources
... extension 0..*ExtensionAdditional Content defined by implementations
... modifierExtension ?!0..*ExtensionExtensions that cannot be ignored
... identifier 0..*IdentifierUnique Id for this particular observation
... status ?!S1..1coderegistered | preliminary | final | amended +
Binding: ObservationStatus (required)
... category 0..*CodeableConceptClassification of type of observation
Binding: Observation Category Codes (example)
... code S1..1CodeableConceptSmoking Status: LOINC 72166-2 = Tobacco smoking status NHIS
Binding: LOINC Codes (example)
Required Pattern: {"coding":[{"system":"http://loinc.org","code":"72166-2"}]}
... subject S1..1Reference(US Core Patient Profile)Who and/or what this is about
... encounter 0..1Reference(Encounter)Healthcare event during which this observation is made
... effective[x] ∑0..1dateTime, PeriodClinically relevant time/time-period for observation
... issued S1..1instantDate/Time this was made available
... performer ∑0..*Reference(Practitioner), Reference(Organization), Reference(Patient), Reference(RelatedPerson)Who is responsible for the observation
... valueCodeableConcept SI1..1CodeableConceptCoded Responses from Smoking Status Value Set
Binding: Smoking Status (required)
... dataAbsentReason I0..1CodeableConceptWhy the result is missing
Binding: Observation Value Absent Reason (extensible)
... interpretation 0..1CodeableConceptHigh, low, normal, etc.
Binding: Observation Interpretation Codes (extensible)
... comment 0..1stringComments about result
... bodySite 0..1CodeableConceptObserved body part
Binding: SNOMED CT Body Structures (example)
... method 0..1CodeableConceptHow it was done
Binding: Observation Methods (example)
... specimen 0..1Reference(Specimen)Specimen used for this observation
... device 0..1Reference(Device), Reference(DeviceMetric)(Measurement) Device
... referenceRange I0..*BackboneElementProvides guide for interpretation
obs-3: Must have at least a low or a high or text
.... id 0..1stringxml:id (or equivalent in JSON)
.... extension 0..*ExtensionAdditional Content defined by implementations
.... modifierExtension ?!∑0..*ExtensionExtensions that cannot be ignored
.... low I0..1SimpleQuantityLow Range, if relevant
.... high I0..1SimpleQuantityHigh Range, if relevant
.... meaning 0..*CodeableConceptReference range qualifier
Binding: Observation Reference Range Meaning Codes (example)
.... age 0..1RangeApplicable age range, if relevant
.... text 0..1stringText based reference range in an observation
... related ∑I0..*BackboneElementResource related to this observation
.... id 0..1stringxml:id (or equivalent in JSON)
.... extension 0..*ExtensionAdditional Content defined by implementations
.... modifierExtension ?!∑0..*ExtensionExtensions that cannot be ignored
.... type 0..1codehas-member | derived-from | sequel-to | replaces | qualified-by | interfered-by
Binding: ObservationRelationshipType (required)
.... target 1..1Reference(Observation), Reference(QuestionnaireResponse), Reference(Sequence)Resource that is related to this one
... component ∑I0..*BackboneElementComponent results
.... id 0..1stringxml:id (or equivalent in JSON)
.... extension 0..*ExtensionAdditional Content defined by implementations
.... modifierExtension ?!∑0..*ExtensionExtensions that cannot be ignored
.... code ∑1..1CodeableConceptType of component observation (code / type)
Binding: LOINC Codes (example)
.... value[x] ∑0..1Quantity, CodeableConcept, string, Range, Ratio, SampledData, Attachment, time, dateTime, PeriodActual component result
.... dataAbsentReason I0..1CodeableConceptWhy the component result is missing
Binding: Observation Value Absent Reason (extensible)
.... interpretation 0..1CodeableConceptHigh, low, normal, etc.
Binding: Observation Interpretation Codes (extensible)
.... referenceRange 0..*Unknown reference to #Observation:uscoresmookingstatus.referenceRange
Provides guide for interpretation of component result

doco Documentation for this format

Downloads: StructureDefinition: (XML, JSON, CSV), Schema: XML Schematron

 

D.4.1.2 Quick Start

Below is an overview of the required search and read operations.

Summary of Argonaut Search Criteria for StructureDefinition-us-core-smokingstatus


Clients

  • A client has connected to a server and fetched a patient’s smoking status using GET [base]/Observation?patient=[id]&code=72166-2.

Servers

  • A server is capable of returning a a patient’s smoking status using GET [base]/Observation?patient=[id]&code=72166-2.

  • A server has ensured that every API request includes a valid Authorization token, supplied via:Authorization: Bearer {server-specific-token-here}
  • A server has rejected any unauthorized requests by returning an HTTP 401 Unauthorized response code.

GET [base]/Observation?patient=[id]&code=72166-2[edit]

Support: Mandatory to support search by patient and LOINC = ‘72166-2’.

Implementation Notes: Search based on smoking status LOINC code. Fetches a bundle of all Observation resources with Observation.code of Tobacco Smoking Status for the specified patient (how to search by reference) and (how to search by token).

Response Class:

  • (Status 200): successful operation
  • (Status 400): invalid parameter
  • (Status 401/4xx): unauthorized request
  • (Status 403): insufficient scope

Example:

GET https://fhir-open-api-dstu2.smarthealthit.org/Observation?patient=1032702&code=72166-2