US Core Implementation Guide
5.0.0 - STU5 Release US

This page is part of the US Core (v5.0.0: STU5) based on FHIR R4. The current version which supercedes this version is 6.1.0. For a full list of available versions, see the Directory of published versions. Page versions: STU5

Social Determinants of Health (SDOH)

This US Core Social Determinant of Health (SDOH) Guidance Page has been added in response to United States Core Data for Interoperability (USCDI) V2 updates that the Office of the National Coordinator (ONC) published by the Office of the National Coordinator (ONC) in July of 2021. SDOH data relate to conditions in which people live, learn, work, and play and their effects on health risks and outcomes.1 The new data elements include:

  • SDOH Assessments
  • SDOH Goals
  • SDOH Interventions
  • SDOH Problems/Health Concerns

This page documents how the US Core Profile can be use to represent these elements.

Purpose and Intent

The intent of adding these SDOH data elements to US Core is to be able to use US Core Profiles along with a defined set of FHIR RESTful interactions to represent and access SDOH patient data. This is in contrast to the SDOH Clinical Care HL7 Implementation Guide. This guide was developed by the Gravity Project and documents the orchestration of SDOH data capture and related interventions and how it is represented using FHIR. US Core Profile span across use cases and thus less constrained, but they form backbone for the SDOH Clinical Care Profiles. Many of the additions to US Core Profiles to meet the SDOH data element requirements are based on the efforts by the Gravity led project. In the following sections the interrelation between the SDOH elements and how US Core represents them is summarized.

Activities

The figure below shows how the SDOH elements are inter-related:

  • SDOH Assessment: SDOH Assessments represent the recording of SDOH assessment screening tools and other questionnaires as well as individual clinical observations. These assessments are represented by the US Core Observation Social History Profile and US Core Observation Survey Profile
  • SDOH Problems/Health Concerns: Identifying a Social Determinants of Health-related condition (for example, homelessness) is represented by the US Core Condition Problems and Health Concerns Profile.
  • SDOH Interventions: Services offered to a patient to address identified Social Determinants of Health problems/health concerns (for example, referral to transportation support programs) are represented by the US Core ServiceRequest Profile. In addition, the US Core Procedure Profile can be used to record a completed service or intervention.
  • SDOH Goals: Identifying and defining a future desired condition or change in condition related to an SDOH risk (for example, Has adequate quality meals and snacks) is represented by US Core Goal Profile
SDOH Activities
sdoh_assessment.svg

Assessment Screenings

Assessment Screenings can represent a structured evaluation of risk (e.g., PRAPARE, Hunger Vital Sign, AHC-HRSN screening tool) for any Social Determinants of Health domain such as food, housing, or transportation security. They are often captured using a screening tool such as a survey or questionnaire. US Core provides two ways to represent SDOH assessment screening results using:

  1. Observation*: US Core Observation SDOH Assessment Profile
  2. QuestionnaireResponse: US Core QuestionnaireResponse Profile

US Core Servers SHALL support US Core Observation SDOH Assessment Profile for SDOH Assessments and MAY support the US Core QuestionnaireResponse Profile for SDOH Assessments.

*Not all questions and answers in an assessment tool may or should be represented as FHIR Observations. For example, patient demographic information is best represented in the FHIR patient resource.

Additionally, the US Core Observation Social History Profile is for simple observations made by an individual during the course of care about a patient’s social history status. These Observation can contribute to the identification of SDOH Problems and can be the reason for SDOH Service Requests or Procedures.

Assessment Screenings Using Observations

To meets the USCDI v2 requirements for SDOH Assessments, US Core defines the US Core Observation Survey Profile and the US Core Observation SDOH Assessment Profile. The US Core Observation Survey Profile is defined to record responses from a survey or a questionnaire for any context including SDOH. The US Core Observation SDOH Assessment Profile is derived from the US Core Observation Survey Profile and constrains the category and terminology to SDOH. To keep related data together and preserve the survey structure, these profiles can be used to represent multi-question “panels” of responses, individual responses (including multi-select or “check all that apply” responses). The figure below illustrates the relationship between the Observation survey “panel” and the individual Observations survey responses. Each box represents an Observation using either profile:

Relationship Between Survey Response Observations
uscore-survey-structure.svg

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

The Observations may be extracted from QuestionnaireResponse. SDOH Clinical Care guides define how SDOH data captured in a QuestionnaireResponse can be extracted and used to create or update Observations or other FHIR resources.

Assessment Screenings Using QuestionnaireResponse

Survey instruments may be represented by a Questionnaire including a FHIR Questionnaire. A FHIR QuestionnaireResponse captures the responses to the survey and may be stand-alone or may point to the definition of the questions in a questionnaire (typically a FHIR Questionnaire). The US Core QuestionnaireResponse Profile which is based on the Structured Data Capture (SDC) Questionnaire Response Profile is used to capture, exchange and persist the response data. It represents the response data to the individual questions on the form and is ordered and grouped corresponding to the structure and grouping of the Questionnaire being responded to. Although QuestionnaireResponse can be searched using the standard FHIR RESTful API search parameters, individual responses are not directly searchable in QuestionnaireResponse. In order to search directly for and individual responses, they 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.

The basic workflow for the creation, discovery and retrieval and data-extraction of FHIR Questionnaire and QuestionnaireResponse is thoroughly documented in the Structured Data Capture (SDC) specification.

See the US Core QuestionnaireResponse Profile profile page for detailed documentation, examples and search requirements.

Searching for SDOH Patient Data

Below is a simple example of FHIR RESTful search transaction on Observation to access a patient’s SDOH assessment data

  • 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
      }
    }
  ]
}


Terminology

Category Codes

The US Core code “sdoh” is used to categorize SDOH for Assessments, Problems, Service Requests and QuestionnaireResponse. This concept enables API consumers to be able to separate out SDOH data when accessing patient information. Example searches are shown in each of the profile Quick Start sections.

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 useful to use queries based on a specific code or set of codes or to perform additional client side filtering of query results.

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

For the SDOH Clinical Care HL7 Implementation Guide, the Gravity project has defined the following value sets across specific social risk factor domains for problems/health concerns, goals, procedures, and service requests:

US Core uses broadly defined value sets that contain concepts that are used across many use cases including SDOH. 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 valueset is compatible with the US Core Problem code valueset. When recording SDOH data US Core Profiles, servers SHOULD use the SDOH value sets listed above.

Example of SDOH Grouping Value set in US Core Condition Codes Value Set
sdoh_condition.svg

Assessment Codes

US Core has created the US Core Common SDOH Assessments ValueSet - commonly asked social questions as identified by FindHelp.org, a social service assistance tool, and the PRAPARE, Hunger Vital Sign, AHC-HRSN screening tools referenced in USCDI v2. This is not intended to replicate the complexities and robustness of the FHIR Questionnaire and QuestionnaireResponse resources developed for SDOH assessment screening tools and other questionnaires. The Gravity Project is working on a more comprehensive set of codes to meet these challenges and this guide may leverage that work in the future.


  1. As documented in Future of US Core, US Core may add more detailed work information such as Occupational Data for Health (ODH) in future versions.