This wiki has undergone a migration to Confluence found Here

Smoking Status

From HL7 Argonaut Project Wiki
Jump to navigation Jump to search

Back to Argonaut Implementation Guide

**********************PLEASE NOTE********************************
This guide is no longer being actively maintained and updated.
On January 1st 2017, This guide is being superseded by the online 
version of the Argonaut-DSTU2 Implemenation Guide.
hosted at:
The working CI build is avaible now at :  


The Argonaut Smoking Status guide provides the API documentation for searching and fetching Smoking Status. It is based on the Data Access Framework (DAF) Smoking Status. The search criteria provided in the Quick Start are intended to support the 2015 Edition ONC Certification criterion Data Category Request 170.315(g)(8).

Argonaut Success Criteria



  • 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.

Mandatory Data Elements

The following data-elements are mandatory (i.e data MUST be present). These are presented below in simple human-readable explanation and a more thorough summary of the requirements. Sample data is provided to demonstrate the requirements.

Each Smoking status observation must have:

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

Complete Summary of the Mandatory Requirements

  1. One status in Observation.status
    • Observation.status is bound to Status Value set (Code set)
  2. One code in Observation.code
    • a fixed Observation.code.coding.system=
    • a fixed Observation.code.coding.code=72166-2
  3. One reference to a Patient in Observation.subject
  4. One instant in Observation.issued
  5. One Observation.valueCodeableConcept

2015 DAF Smoking Status Value Set:

Code Code System display
449868002 Current every day smoker
428041000124106 Current some day smoker
8517006 Former smoker
266919005 Never smoker
77176002 Smoker, current status unknown
266927001 Unknown if ever smoked
428071000124103 Current Heavy tobacco smoker
428061000124105 Current Light tobacco smoker

Additional elements from DAF Smoking Status Profile may be present.

SmokingStatus Example

Quick Start

Below is a quick overview of the required search and read operations.

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

Support: Mandatory to support search by reference.

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



Open Issues

Issues for this IG have been identified and tracked HERE


Formalized testing with test scripts and objective results reporting is available through the participation of AEGIS and MITRE (Crucible). The testscript provided can be used to test servers: [todo]


Back to Argonaut Implementation Guide