IE (Ireland) Core Implementation Guide
1.0.0-ballot - Ballot Ireland flag

Publication Build: This will be filled in by the publication tooling

Screening and Assessments

Page standards status: Informative

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. IE 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 IE Core Profiles record Screenings and Assessments ranging from simple observations to complex structured evaluations.

With the addition of the IECDI Health Status Assessments data elements, IE 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 IECDI 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 IE 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 IE Core 0.1.0 updates to meet the IECDI 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 IE Core Condition Problems and Health Concerns Profile or IE 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 IE Core Simple Observation Profile SHOULD reference it using the derivedFrom element and the IE 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. IE Core defines two ways to represent the questions and responses to these screening and assessment instruments:

Systems SHOULD support all three profiles for USDCI Data Class Health Status/Assessments. The table below summarizes the differences in conformance requirements for these profiles between version 0.1.0 and 1.0.0 of IE Core.

IE Core Profile 0.1.0 1.0.0
The IE Core Observation Screening Assessment Profile SHALL(IE Core Observation SDOH Assessment Profile) SHALL
SDC Base Questionnaire undefined SHOULD
IE Core QuestionnaireResponse Profile MAY SHOULD

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

IE Core Observation Screening Assessment Profile

IE 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
iecore-observation-assessment-structure.svg

Note that the panels can be nested to create additional groupings of responses. See the IE 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 *IE Core Screening Response Observation Profile*."
            }
          ],
          "versionId": "1",
          "lastUpdated": "2021-11-20T22:13:54.070-05:00",
          "profile": [
            "http://iehr.ai/fhir/ie/core/StructureDefinition/ie-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>: (I/We) worried whether (my/our) food would run out before (I/we) got money to buy more.         \n        <span style=\"background: LightGoldenRodYellow\">(Details : {LOINC code '88122-7' = '(I/We) worried whether (my/our) food would run out before (I/we) got money to buy more.', given as '(I/We) worried whether (my/our) food would run out before (I/we) got money to buy more.'})</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": "(I/We) worried whether (my/our) food would run out before (I/we) got money to buy more."
            }
          ]
        },
        "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/IE 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 IE 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 IE Core QuestionnaireResponse Profile page for detailed documentation, examples, and search requirements.

Extracting IE Core Observation Screening Assessment from IE Core QuestionnaireResponse

IE Core Observation Screening Assessment can be extracted from IE 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 IE 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 (for example, sdoh) when accessing patient information. The IECDI Health Assessments Data Elements category codes are listed below. They SHOULD be used when generating resources that conform to these profiles:

  • IE Core Simple Observation Profile
  • IE Core Observation Screening Assessment Profile
  • IE Core Condition Problems and Health Concerns Profile
  • IE Core ServiceRequest Profile
IECDI Health Assessments Data Element Category
IECDI 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"

Each profile's Quick Start section shows searches by category if the category element is defined in the profile. The category element is optional in IE Core Procedure and IE Core Goal, but implementers can categorize them using a value from the IE Core Category code system or infer the context by inspecting the referenced ServiceRequest if available. Similarly, they can review the Questionnaire's metadata to determine the IE Core QuestionnaireResponse's context. Although not defined in IE Core Procedure, implementers can categorize procedures using IE Core Category codes or infer the context by inspecting the referenced ServiceRequest. Similarly, they can review the Questionnaire's metadata to determine the IE Core QuestionnaireResponse's context.

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 IE Core Observation Screening Assessment Profile, SDC Base Questionnaire, and IE 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 IECDI Health Assessments Data Element.

IECDI Health Assessments Data Element Value Sets

The following sections and table below identify the associated value sets for each IECDI Health Status Assessments Data Element. This guidance intends to promote interoperability by introducing "starter" value sets where available for the IECDI 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 IE Core Condition Problems and Health Concerns Profile and the IE Core Simple Observation Profile when representing clinical judgments. Similarly, Panel Codes and Panel Item Codes are extensibly bound to the IE Core Observation Screening Assessment Profile and SDC Base Questionnaire/IE Core QuestionnaireResponse Profile when representing structured screening and assessments. Because the value sets in this table are not formally bound to a IE 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.

IECDI Data Element ValueSet (IE Core Vaccines 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

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

IE 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 (IE Core Vaccines)]. In IE Core Vaccines, 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 IE Core Profiles. However, when recording SDOH data IE Core Profiles, servers SHOULD use them.

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

SDOH Grouped Value Set Reuse in IE 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