US Core Implementation Guide
8.0.0-ballot - STU8 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 8.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

Screening and Assessments

Page standards status: Trial-use

Introduction

Clinicians use various terms such as assessments, scales, surveys, and screenings to describe the tools and processes to collect health-related information for assessing a patient's health-related matter. US Cores uses the term Screening and Assessments for recording responses and capturing assertions/determinations resulting from this process and these tools. This page documents how Screening and Assessments are used to identify various problems or health concerns and how US Core Profiles record Screenings and Assessments ranging from simple observations to complex structured evaluations.

With the addition of the USCDI Health Status Assessments data elements, US Core expanded the guidance from Social Determinant of Health (SDOH)-only focus to a general framework of Screenings and Assessments for all domains, including the USCDI Data Elements:

  • Social Determinant of Health (SDOH)
  • Functional Status
  • Disability Status
  • Mental/Cognitive Status
  • Physical Activity
  • Alcohol Use
  • Substance Use

However, implementers SHOULD consider more constrained, domain-specific profiles derived from the US Core Profiles to meet the needs of their respective use cases.

The Gravity Project and its SDOH Clinical Care HL7 Implementation Guide address the screening process and related interventions to address Social Determinant of Health (SDOH). Those efforts helped guide US Core 5.0.1 updates to meet the USCDI SDOH data elements for Assessments, Goals, Interventions, and Problems/Health Concerns.

The figure below shows how screening and assessments lead to providing services for a patient.

Screening and Assessment Activities
screening_and_assessments.svg

Screening and Assessments

Screening and Assessments are used to identify various problems or health concerns. Their complexity ranges from simple observations to complex structured evaluations:

The following guidance was developed after reviewing several functional status, disability status, mental/cognitive status, and SDOH screening and assessment tools.

Clinical Judgments

Whether based on simple observations or detailed assessments, clinicians may record clinical judgments as either:

  • a problem or health concern
  • as observation

Local policies guide what is appropriate for the problem list and what is appropriate for an observation. For example, some clinics may consider social needs sensitive information inappropriate for the problem list. Observations can contribute to the identification of future problems or health concerns and support service requests and procedures.

Every Server that supports the USDCI Data Class "Health Status/Assessments":

  • SHALL support representing clinical judgments using US Core Condition Problems and Health Concerns Profile or US Core Simple Observation Profile.
  • When a Simple Observation or Problem or Health Concern is recorded based on a structured screening and assessment (see below), the US Core Simple Observation Profile SHOULD reference it using the derivedFrom element and the US Core Condition Problems and Health Concerns Profile using the evidence.detail element,

Structured Screening and Assessments

Screening and Assessments can be structured survey instruments consisting of questions with various responses, including true/false, coded, textual, and multiple choice. Examples include PRAPARE, Apgar score, and PHQ-9. US Core defines two ways to represent the questions and responses to these screening and assessment instruments:

Servers that support the USCDI Health Status/Assessments Data Class SHALL support the US Core Observation Screening Assessment Profile and SHOULD support the SDC Base Questionnaire and the US Core QuestionnaireResponse Profile.

The sections below provide additional guidance on when Observations and Questionnaire/QuestionnaireResponse can be used to represent the structured screenings and assessments.

US Core Observation Screening Assessment Profile

US Core Observation Screening Assessment Profile is defined to record observations from responses to screening tools and assessments used for any context (e.g., SDOH, functional status, etc.). Although systems can represent most questions and answers in healthcare assessments as FHIR Observations, it is only sometimes necessary and appropriate to represent all of them as Observations. Only relevant responses should be extracted as Observations. For example, depending on the use case and focus of the Assessment or Survey, patient demographic information may be recorded in the Patient resource instead of Observations. The observations can be grouped and nested to preserve the structure of screening or assessment instruments. The figure below illustrates the relationship between the Observation screening and assessments "panel" and the individual screening and assessment "item" Observations. Each box represents an Observation:

Relationship Between Screening Assessment Observations
uscore-observation-assessment-structure.svg

Note that the panels can be nested to create additional groupings of responses. See the US Core Observation Screening Assessment Profile page for detailed documentation on how the observations are linked, examples, and search requirements.

Searching for Screening and Assessment Data

Unlike QuestionnaireResponse, When Observations are used to record a set of Screening and Assessments responses, Clients can query individual responses using the standard FHIR RESTful API search parameters. The example below is a FHIR RESTful search transaction on Observation to access a patient's SDOH assessment:

  • Patient's FHIR_id = "example"
  • Observation category = "sdoh"

Request

Request url using GET

GET http://wildfhir4.aegis.net/fhir4-0-1/Observation?patient=Patient/example&category=sdoh

Request Headers

User-Agent: python-requests/2.25.1
Accept-Encoding: gzip, deflate
Accept: application/fhir+json
Connection: keep-alive
Content-Type: application/fhir+json

Response

200 OK

Response Headers

Connection: keep-alive
Content-Location: http://wildfhir4.aegis.net/fhir4-0-1/Observation?patient=Patient%2Fexample&category=sdoh
Content-Type: application/fhir+json;charset=utf-8
Content-Length: 4112
Date: Sun, 21 Nov 2021 03:15:18 GMT

Response Body

{
  "resourceType": "Bundle",
  "id": "158f4b97-5b3a-4363-81da-19d454a6df30",
  "meta": {
    "versionId": "1",
    "lastUpdated": "2021-11-20T22:15:18.726-05:00"
  },
  "type": "searchset",
  "total": 1,
  "link": [
    {
      "relation": "self",
      "url": "http://wildfhir4.aegis.net/fhir4-0-1/Observation?patient=Patient%2Fexample&category=sdoh"
    }
  ],
  "entry": [
    {
      "fullUrl": "http://wildfhir4.aegis.net/fhir4-0-1/Observation/hunger-question-example",
      "resource": {
        "resourceType": "Observation",
        "id": "hunger-question-example",
        "meta": {
          "extension": [
            {
              "url": "http://hl7.org/fhir/StructureDefinition/instance-name",
              "valueString": "Hunger Question Example"
            },
            {
              "url": "http://hl7.org/fhir/StructureDefinition/instance-description",
              "valueMarkdown": "This is a Hunger Question Example for the *US Core Screening Response Observation Profile*."
            }
          ],
          "versionId": "1",
          "lastUpdated": "2021-11-20T22:13:54.070-05:00",
          "profile": [
            "http://hl7.org/fhir/us/core/StructureDefinition/us-core-observation-screening-response"
          ]
        },
        "text": {
          "status": "generated",
          "div": "<div xmlns=\"http://www.w3.org/1999/xhtml\"><p><b>Generated Narrative with Details</b></p><p><b>meta</b>:       \n      </p><p><b>status</b>: FINAL      \n      </p><p><b>category</b>: SDOH         \n        <span style=\"background: LightGoldenRodYellow\">(Details : {LOINC code 'sdoh' = 'sdoh', given as 'SDOH'})</span>, Survey         \n        <span style=\"background: LightGoldenRodYellow\">(Details : {http://terminology.hl7.org/CodeSystem/observation-category code 'survey' = 'Survey', given as 'Survey'})</span></p><p><b>code</b>: Within the past 12 months we worried whether our food would run out before we got money to buy more [U.S. FSS]         \n        <span style=\"background: LightGoldenRodYellow\">(Details : {LOINC code '88122-7' = 'Within the past 12 months we worried whether our food would run out before we got money to buy more [U.S. FSS]', given as 'Within the past 12 months we worried whether our food would run out before we got money to buy more [U.S. FSS]'})</span></p><p><b>subject</b>:         \n        <a href=\"Patient/example\">Patient/example</a></p><p><b>effective</b>: Nov 12, 2021 8:59:15 PM      \n      </p><p><b>performer</b>:         \n        <a href=\"Patient/example\">Patient/example</a></p><p><b>value</b>: Often true         \n        <span style=\"background: LightGoldenRodYellow\">(Details : {LOINC code 'LA28397-0' = 'Often true', given as 'Often true'})</span></p><p><b>derivedFrom</b>: Hunger Vital Signs Questionnaire      \n      </p></div>"
        },
        "status": "final",
        "category": [
          {
            "coding": [
              {
                "system": "http://loinc.org",
                "code": "sdoh",
                "display": "SDOH"
              }
            ]
          },
          {
            "coding": [
              {
                "system": "http://terminology.hl7.org/CodeSystem/observation-category",
                "code": "survey",
                "display": "Survey"
              }
            ]
          }
        ],
        "code": {
          "coding": [
            {
              "system": "http://loinc.org",
              "code": "88122-7",
              "display": "Within the past 12 months we worried whether our food would run out before we got money to buy more [U.S. FSS]"
            }
          ]
        },
        "subject": {
          "reference": "Patient/example"
        },
        "effectiveDateTime": "2021-11-12T17:59:15-08:00",
        "performer": [
          {
            "reference": "Patient/example"
          }
        ],
        "valueCodeableConcept": {
          "coding": [
            {
              "system": "http://loinc.org",
              "code": "LA28397-0",
              "display": "Often true"
            }
          ]
        },
        "derivedFrom": [
          {
            "display": "Hunger Vital Signs Questionnaire"
          }
        ]
      },
      "search": {
        "mode": "match",
        "score": 1
      }
    }
  ]
}


SDC Base Questionnaire/US Core QuestionnaireResponse Profile

Screening and assessment instruments may be represented as questionnaires, including FHIR Questionnaires. The Structured Data Capture (SDC) specification documents the workflow for the creation, discovery, retrieval, and data extraction of FHIR Questionnaire and QuestionnaireResponse. The US Core QuestionnaireResponse Profile is based on the Structured Data Capture (SDC) Questionnaire Response Profile) and is used to capture, exchange, and persist the response data. QuestionnaireResponse can be considered a snapshot of the filled-out answer forms to the screening and assessment questions in the SDC Base Questionnaire. It is ordered and grouped according to the FHIR Questionnaire and can be consulted when a complete and accurate record of the responses is required. Refer to the US Core QuestionnaireResponse Profile page for detailed documentation, examples, and search requirements.

Extracting US Core Observation Screening Assessment from US Core QuestionnaireResponse

US Core Observation Screening Assessment can be extracted from US Core QuestionnaireResponse. Although QuestionnaireResponse can be searched using the standard FHIR RESTful API search parameters, individual responses are not directly searchable in QuestionnaireResponse. To search directly for individual responses, the QuestionnaireResponse must be "parsed" into a searchable form - i.e., to a local FHIR or non-FHIR data store such as a database or FHIR Observations. Both SDC and the SDOH Clinical Care implementation guide define how data captured in a QuestionnaireResponse can be extracted and used to create or update Observations or other FHIR resources.

Choosing Between QuestionnaireResponse and Observation

For API developers using US Core, it's important to understand when to use the QuestionnaireResponse versus Observation to represent structured assessments and surveys. Here are some guidelines to help choose the appropriate profile:

  • Observations represent specific point-in-time facts that need to be searched, trended, the subject of statistical analysis, and directly referenced in support of other actions. Not all answers in a form will necessarily be appropriate to surface as an Observation. However, anything that meets one of the preceding criteria must be surfaced as an Observation.
  • QuestionnaireResponses represent the source-of-truth of a completed form. QuestionnaireResponse shows how the question was phrased, what answer text was seen or typed, the order in which the survey or assessment was completed, etc. For FHIR implementers, it is important to note that QuestionnaireResponse references a specific version of a form, whether it was represented as a FHIR Questionnaire or not. (however, it may be challenging to determine canonical URLs and linkIds consistently across systems without using a FHIR Questionnaire.) This reference provides the context of exactly what options were available, what logic was used to calculate answers, and what questions were asked. It is important to note that QuestionnaireResponse cannot be used for searching based on individual responses but to capture higher-level information such as what form was filled out, by whom, and when.

In many cases, data might be represented using both mechanisms - the initial raw assessment retained for audit or detailed review stored as a QuestionnaireResponse, and the detailed key answers surfaced as Observations for easy search and analysis.

Terminology

Category Codes

API consumers can query by category when accessing patient information. Each profile's Quick Start section shows searches by category if the category element is defined in the profile. US Core defined these USCDI Health Assessments Data Elements category codes:

USCDI Data Element Category Code
SDOH "sdoh"
Functional Status "functional-status"
Mental/Cognitive Status "cognitive-status"
Disability Status "disability-status"
Physical Activity "activity"
Alcohol Use "social-history"
Substance Use "social-history"

For the US Core Simple Observation Profile and US Core Observation Screening Assessment Profiles, Servers SHALL support all the category codes listed above.

For the US Core Condition Problems and Health Concerns Profile, Servers SHALL support the code ,"sdoh", and SHOULD support the other category codes listed above.

For the US Core ServiceRequest Profile, Servers SHOULD support all the above category codes.

The category element is optional in US Core Procedure and US Core Goal, but implementers can categorize them using one of the above category codes or infer the context by inspecting the referenced ServiceRequest if available. Similarly, they can review the Questionnaire resource's metadata to determine the context of the US Core QuestionnaireResponse.

Clients need to understand that data categorization is somewhat subjective. The categorization applied by the source may not align with the Client's expectations. Clients may find it more beneficial to use queries based on a specific code or set of codes or to perform additional Client-side filtering of query results.

Screening and Assessment Codes

The US Core Observation Screening Assessment Profile, SDC Base Questionnaire, and US Core Simple Observation Profiles have preferred or example bindings to broadly defined LOINC value sets. These value sets contain concepts that span many use cases and are not bound to any USCDI Health Assessments Data Element.

USCDI Health Assessments Data Element Value Sets

The following sections and table below identify the associated value sets for each USCDI Health Status Assessments Data Element. This guidance intends to promote interoperability by introducing "starter" value sets where available for the USCDI Data Elements covered by Screenings and Assessments. These value sets are divided into clinical judgment codes, structured screening and assessment panel codes, and structured screening and assessment panel item codes. Note that a suitable value set has yet to be identified in several instances. Implementers SHOULD treat these value sets as having an extensible binding. In other words, the Clinical Judgement Codes code sets are extensibly bound to the US Core Condition Problems and Health Concerns Profile and the US Core Simple Observation Profile when representing clinical judgments. Similarly, Panel Codes and Panel Item Codes are extensibly bound to the US Core Observation Screening Assessment Profile and SDC Base Questionnaire/US Core QuestionnaireResponse Profile when representing structured screening and assessments. Because the value sets in this table are not formally bound to a US Core Profile in the StructureDefinitions, "automatic" validation (confirmation) that a code is a member of a value set will not occur using the standard validation tools.

SDOH value sets
Functional Status
Mental and Cognitive Health
  • The Cognitive Health Related Questionnaire Panel Codes contains LOINC panel codes that represent Mental or Cognitive health screening assessments, such as FACIT, PROMIS, and MoCA.

  • The Cognitive Function Clinician Interpretation represents clinical judgment codes such as "Cognitive Function Interpretation".

  • The Mental Status Observation value set contains SNOMED CT clinical judgment codes related to mental status observations that can come from a broad range of subjective and objective information such as Assessment and Screening tools. In many cases, the value (answer) at Observation.value may be boolean true | false.

Disability Status
  • The Disability Status Assessment contains LOINC panel item codes that represent detailed patient questions about functional status, such as difficulty dressing or bathing.
Physical Activity
Substance Use (Including Alcohol Use)
  • The Substance Use contain LOINC panel item codes such as, "How often do you have a drink containing alcohol" or "How often have you used any prescription medications just for the feeling, more than prescribed or that were not prescribed for you in past 12 months (TAPS)"

  • The Alcohol Use Related Questionnaire Panel Codes contains the LOINC Panel Codes for Alcohol Use Disorder Identification Test - Consumption AUDIT-C and PROMIS short form - alcohol use 7a - version 1.0.

  • The Drug Misuse values set contains SNOMED CT clinical judgment codes to represent conclusions or diagnoses about drug misuse or abuse. In many cases, the value (answer) at Observation.value may be boolean true | false.

USCDI Data Element ValueSet (VSAC link) Clinical Judgement Codes Panel Codes Panel Item Codes
SDOH Social Determinants of Health Screening Assessments and Questions
Functional Status Functional Status Clinician Interpretation
Functional Status Functional Status Related Questionnaire Panel Codes
Mental/Cognitive Status Cognitive Function Clinician Interpretation
Mental/Cognitive Status Mental Status Observation
Mental/Cognitive Status Cognitive Health Related Questionnaire Panel Codes
Disability Status Disability Status Assessment
Physical Activity Physical Activity Observation Questions
Alcohol Use Alcohol Use Related Questionnaire Panel Codes
Alcohol Use Substance Use
Substance Use Drug Misuse
Substance Use Substance Use

This information is also available as a csv or excel file:

Codes for Problems/HealthConcerns, Goals, Service Requests, and Procedures

US Core uses broadly defined value sets that contain concepts used across use cases, including SDOH. For the SDOH Clinical Care HL7 Implementation Guide, the Gravity Project has defined "Grouped Value Sets" across specific social risk factor domains for problems/health concerns, goals, procedures, and service requests. Value sets for each SDOH domain are bundled together to create the groupings. The links below are to these Gravity Project-managed value sets in the Value Set Authority Center (VSAC). In VSAC, clicking "Grouping Members" within the Value Set Details tab will present the many individual value sets in the group representing the various SDOH domains. These grouped value sets are narrower subsets of the value sets allowed in the respective US Core Profiles. However, when recording SDOH data US Core Profiles, Servers SHOULD use them.

The figure below illustrates how the Gravity value sets are grouped for use in the US Core Condition Problems and Health Concerns Profile and how the grouped value set is compatible with the broader US Core Problem code value set.

SDOH Grouped Value Set Reuse in US Core
sdoh_condition.svg

Examples

These examples show what Screening and Assessments data produced and consumed by systems conforming with this implementation guide might look like.

Social Determinant of Health (SDOH) Examples