Da Vinci Clinical Data Exchange (CDex)
2.1.0-preview - CI Build United States of America flag

Da Vinci Clinical Data Exchange (CDex), published by HL7 International / Payer/Provider Information Exchange Work Group. This guide is not an authorized publication; it is the continuous build for version 2.1.0-preview built by the FHIR (HL7® FHIR® Standard) CI Build. This version is based on the current content of https://github.com/HL7/davinci-ecdx/ and changes regularly. See the Directory of published versions

Direct Query

Page standards status: Informative

Introduction

For Direct Query, the Data Consumer directly queries the Data Source for specific data using the standard FHIR RESTful search. The base FHIR specification and the Da Vinci HRex Implementation Guide document this interaction. Refer to the US Core 3.1.1 or US Core 6.1.0 Implementation guide for accessing the set of health data classes and data elements defined by the ONC United States Core Data for Interoperability (USCDI).

Benefits

  • “Out of the Box” FHIR transaction
  • Widely implemented
  • Simplest workflow
  • Authorization/Authentication protocols established
  • No human intervention is needed

Sequence Diagram

The sequence diagram in Figure 6 below outlines a successful interaction between the Data Consumer and Data Source to query and retrieve the requested data using a direct query:

Figure 6
search-sequencediagram.svg

Discovery of Patient FHIR IDs

In addition to using a patient business identifier such as an MRN or Member ID, the FHIR Patient.id is often a prerequisite to performing FHIR RESTful Direct Queries and other transactions described in this guide. However, there is no requirement that the requester knows the FHIR Patient.id in advance of the exchange. This section describes the recommended methods to determine the FHIR Patient.id on the server.

  1. Performing the Patient Match operation by providing sufficient demographic information to match a single patient. CDex Data Source servers SHOULD support the patient match operation and declare it in their CapabilityStatement.

  2. Search the Patient resource using a combination of identifiers known by the Data Consumer. For example, a Payer may use a member_id and patient demographics.

    `Get /Patient?identifier=[member_id]&birthdate=[date]&name=[name]&gender=[gender]`
    

    CDex Data Source servers SHALL support resolving logical identifiers for the Patient resource.

Direct Query Transaction Scenarios

The following example transactions show scenarios of using direct query to get clinical data from a Data Source(HIT).

Scenario 1

Payer A Seeks Insured Person/Patient B’s Active Conditions from Provider C to support a claims audit.

Preconditions and Assumptions:

  • Payer A is authorized and has the appropriate scopes to access the health records of Patient B from Provider C using FHIR RESTful queries
  • Payer A knows the FHIR id of the Patient resource for Patient B
  • Payer A knows the appropriate codes for searching for active conditions

Following the guidance in US Core, a search for all active conditions uses the combination of the patient and clinical-status search parameters:

GET [base]/Condition?patient=[FHIR id]&clinical-status=active,recurrance,remission

Request

GET [base]/Condition?patient=06e1f0dd-5fbe-4480-9bb4-6b54ec02d31b&clinical-status=active,recurrance,remission

Request Headers

Accept: application/fhir+json
Content-Type: application/fhir+json
...(other headers)

Response Headers

HTTP/1.1 200 OK
Server: nginx/1.14.0 (Ubuntu)
Date: Fri, 23 Oct 2020 04:54:56 GMT
Content-Type: application/fhir+json;charset=utf-8
...(other headers)

Response Body

{
  "resourceType" : "Bundle",
  "id" : "cdex-searchbundle-scenario1-example",
  "meta" : {
    "extension" : [{
      "url" : "http://hl7.org/fhir/StructureDefinition/instance-name",
      "valueString" : "Direct Query for Patient's Active Conditions"
    },
    {
      "url" : "http://hl7.org/fhir/StructureDefinition/instance-description",
      "valueMarkdown" : "Bundle example used in direct query transactions [scenario 1](direct-query.html#scenario-1) and in task based transactions - for example, [scenario 1a](task-based-approach.html#scenario-1)."
    }],
    "lastUpdated" : "2020-10-23T04:54:56.048+00:00"
  },
  "type" : "searchset",
  "total" : 1,
  "link" : [{
    "relation" : "self",
    "url" : "http://hapi.fhir.org/baseR4/Condition?patient=06e1f0dd-5fbe-4480-9bb4-6b54ec02d31b&clinical-status=active,recurrance,remission"
  }],
  "entry" : [{
    "fullUrl" : "http://hapi.fhir.org/baseR4/Condition/4ac41715-fcbd-421c-8796-9b2c9706dd3f",
    "resource" : {
      "resourceType" : "Condition",
      "id" : "4ac41715-fcbd-421c-8796-9b2c9706dd3f",
      "meta" : {
        "versionId" : "10",
        "lastUpdated" : "2020-04-28T20:28:00.008+00:00",
        "source" : "#cabiJIK51sD2iz4N",
        "profile" : ["http://hl7.org/fhir/us/core/StructureDefinition/us-core-condition|3.1.1",
        "http://hl7.org/fhir/us/core/StructureDefinition/us-core-condition-encounter-diagnosis|6.1.0"]
      },
      "text" : {
        "status" : "generated",
        "div" : "<div xmlns=\"http://www.w3.org/1999/xhtml\"><a name=\"Condition_4ac41715-fcbd-421c-8796-9b2c9706dd3f\"> </a><p><b>Generated Narrative: Condition</b><a name=\"4ac41715-fcbd-421c-8796-9b2c9706dd3f\"> </a><a name=\"hc4ac41715-fcbd-421c-8796-9b2c9706dd3f\"> </a></p><div style=\"display: inline-block; background-color: #d9e0e7; padding: 6px; margin: 4px; border: 1px solid #8da1b4; border-radius: 5px; line-height: 60%\"><p style=\"margin-bottom: 0px\">ResourceCondition &quot;4ac41715-fcbd-421c-8796-9b2c9706dd3f&quot; Version &quot;10&quot; Updated &quot;2020-04-28 20:28:00+0000&quot; </p><p style=\"margin-bottom: 0px\">Information Source: #cabiJIK51sD2iz4N!</p><p style=\"margin-bottom: 0px\">Profiles: <a href=\"http://hl7.org/fhir/us/core/STU3.1.1/StructureDefinition-us-core-condition.html\">US Core Condition Profile (version 3.1.1)</a>, <a href=\"http://hl7.org/fhir/us/core/STU6.1/StructureDefinition-us-core-condition-encounter-diagnosis.html\">US Core Condition Encounter Diagnosis Profile (version 6.1.0)</a></p></div><p><b>clinicalStatus</b>: Active <span style=\"background: LightGoldenRodYellow; margin: 4px; border: 1px solid khaki\"> (<a href=\"http://terminology.hl7.org/5.5.0/CodeSystem-condition-clinical.html\">Condition Clinical Status Codes</a>#active)</span></p><p><b>verificationStatus</b>: Confirmed <span style=\"background: LightGoldenRodYellow; margin: 4px; border: 1px solid khaki\"> (<a href=\"http://terminology.hl7.org/5.5.0/CodeSystem-condition-ver-status.html\">ConditionVerificationStatus</a>#confirmed)</span></p><p><b>category</b>: Encounter Diagnosis <span style=\"background: LightGoldenRodYellow; margin: 4px; border: 1px solid khaki\"> (<a href=\"http://terminology.hl7.org/5.5.0/CodeSystem-condition-category.html\">Condition Category Codes</a>#encounter-diagnosis)</span></p><p><b>code</b>: Hammer Toe <span style=\"background: LightGoldenRodYellow; margin: 4px; border: 1px solid khaki\"> (<a href=\"https://browser.ihtsdotools.org/\">SNOWMED CT</a>#122481008 &quot;Hammer toe (disorder)&quot;)</span></p><p><b>subject</b>: <a href=\"https://simplifier.net/resolve?scope=hl7.fhir.us.core.3.1.1@3.1.1&amp;canonical=http://hl7.org/fhir/us/core/Patient/06e1f0dd-5fbe-4480-9bb4-6b54ec02d31b\">Patient/06e1f0dd-5fbe-4480-9bb4-6b54ec02d31b</a></p><p><b>encounter</b>: <a href=\"https://simplifier.net/resolve?scope=hl7.fhir.us.core.3.1.1@3.1.1&amp;canonical=http://hl7.org/fhir/us/core/Encounter/5fe62cd5-bfcf-4d3b-a1e9-80d6f75d6f82\">Encounter/5fe62cd5-bfcf-4d3b-a1e9-80d6f75d6f82</a></p><p><b>onset</b>: 2018-10-21 21:22:15-0700</p><p><b>recordedDate</b>: 2018-10-21 21:22:15-0700</p></div>"
      },
      "clinicalStatus" : {
        "coding" : [{
          "system" : "http://terminology.hl7.org/CodeSystem/condition-clinical",
          "code" : "active"
        }]
      },
      "verificationStatus" : {
        "coding" : [{
          "system" : "http://terminology.hl7.org/CodeSystem/condition-ver-status",
          "code" : "confirmed"
        }]
      },
      "category" : [{
        "coding" : [{
          "system" : "http://terminology.hl7.org/CodeSystem/condition-category",
          "code" : "encounter-diagnosis",
          "display" : "Encounter Diagnosis"
        }]
      }],
      "code" : {
        "coding" : [{
          "system" : "http://snomed.info/sct",
          "code" : "122481008",
          "display" : "Hammer toe (disorder)"
        }],
        "text" : "Hammer Toe"
      },
      "subject" : {
        "reference" : "Patient/06e1f0dd-5fbe-4480-9bb4-6b54ec02d31b"
      },
      "encounter" : {
        "reference" : "Encounter/5fe62cd5-bfcf-4d3b-a1e9-80d6f75d6f82"
      },
      "onsetDateTime" : "2018-10-21T21:22:15-07:00",
      "recordedDate" : "2018-10-21T21:22:15-07:00"
    },
    "search" : {
      "mode" : "match"
    }
  }]
}



Scenario 2

Payer A Seeks Insured Person/Patient B’s glycated hemoglobin (HbA1c) test results after 2020-01-01 from Provider C for Quality reporting requirements and quality care scoring.

Preconditions and Assumptions:

  • Payer A is authorized and has the appropriate scopes to access the health records of Patient B from Provider C using FHIR RESTful Queries
  • Payer A knows the FHIR id of the Patient resource for Patient B
  • Payer A knows the appropriate LOINC codes for searching for HbA1c test results (e.g., 4548-5 Hemoglobin A1c/Hemoglobin.total in Blood)

Following the guidance in US Core searches for all HbA1c test results by a date range using the combination of the patient and code and date search parameters:

GET [base]/Observation?patient=[FHIR id]&code=[code]&date=gt[date]

Request

GET [base]/Observation?patient=06e1f0dd-5fbe-4480-9bb4-6b54ec02d31b&code=4548-4&date=gt2020-01-01

Request Headers

Accept: application/fhir+json
Content-Type: application/fhir+json
...(other headers)

Response Headers

HTTP/1.1 200 OK
Server: nginx/1.14.0 (Ubuntu)
Date: Fri, 23 Oct 2020 18:22:45 GMT
Content-Type: application/fhir+json;charset=utf-8
...(other headers)

Response Body

{
  "resourceType" : "Bundle",
  "id" : "cdex-searchbundle-scenario2-example",
  "meta" : {
    "extension" : [{
      "url" : "http://hl7.org/fhir/StructureDefinition/instance-name",
      "valueString" : "Direct Query for Patient's HbA1c Test Results"
    },
    {
      "url" : "http://hl7.org/fhir/StructureDefinition/instance-description",
      "valueMarkdown" : "Bundle example used in direct query [scenario 2](direct-query.html#scenario-2). Payer Seeks Insured Person/Patient HbA1c Test Results from Provider for quality reporting requirements and quality care scoring."
    }],
    "lastUpdated" : "2020-10-23T18:22:45.274+00:00"
  },
  "type" : "searchset",
  "total" : 4,
  "link" : [{
    "relation" : "self",
    "url" : "http://hapi.fhir.org/baseR4/Observation?code=4548-4&date=gt2020-01-01&patient=06e1f0dd-5fbe-4480-9bb4-6b54ec02d31b"
  }],
  "entry" : [{
    "fullUrl" : "http://hapi.fhir.org/baseR4/Observation/cdex-2020-01-23-hba1c-example",
    "resource" : {
      "resourceType" : "Observation",
      "id" : "cdex-2020-01-23-hba1c-example",
      "meta" : {
        "versionId" : "1",
        "lastUpdated" : "2020-10-23T18:18:25.154+00:00",
        "source" : "#ObC36PK40pQM6y5M",
        "profile" : ["http://hl7.org/fhir/us/core/StructureDefinition/us-core-observation-lab|3.1.1",
        "http://hl7.org/fhir/us/core/StructureDefinition/us-core-observation-lab|6.1.0"]
      },
      "text" : {
        "status" : "generated",
        "div" : "<div xmlns=\"http://www.w3.org/1999/xhtml\"><a name=\"Observation_cdex-2020-01-23-hba1c-example\"> </a><p><b>Generated Narrative: Observation</b><a name=\"cdex-2020-01-23-hba1c-example\"> </a><a name=\"hccdex-2020-01-23-hba1c-example\"> </a></p><div style=\"display: inline-block; background-color: #d9e0e7; padding: 6px; margin: 4px; border: 1px solid #8da1b4; border-radius: 5px; line-height: 60%\"><p style=\"margin-bottom: 0px\">ResourceObservation &quot;cdex-2020-01-23-hba1c-example&quot; Version &quot;1&quot; Updated &quot;2020-10-23 18:18:25+0000&quot; </p><p style=\"margin-bottom: 0px\">Information Source: #ObC36PK40pQM6y5M!</p><p style=\"margin-bottom: 0px\">Profiles: <a href=\"http://hl7.org/fhir/us/core/STU3.1.1/StructureDefinition-us-core-observation-lab.html\">US Core Laboratory Result Observation Profile (version 3.1.1)</a>, <a href=\"http://hl7.org/fhir/us/core/STU6.1/StructureDefinition-us-core-observation-lab.html\">US Core Laboratory Result Observation Profile (version 6.1.0)</a></p></div><p><b>status</b>: final</p><p><b>category</b>: Laboratory <span style=\"background: LightGoldenRodYellow; margin: 4px; border: 1px solid khaki\"> (<a href=\"http://terminology.hl7.org/5.5.0/CodeSystem-observation-category.html\">Observation Category Codes</a>#laboratory)</span></p><p><b>code</b>: glycated hemoglobin (HbA1c) <span style=\"background: LightGoldenRodYellow; margin: 4px; border: 1px solid khaki\"> (<a href=\"https://loinc.org/\">LOINC</a>#4548-4 &quot;Hemoglobin A1c/Hemoglobin.total in Blood&quot;; <a href=\"http://terminology.hl7.org/5.3.0/CodeSystem-CPT.html\">Current Procedural Terminology (CPT®)</a>#83036 &quot;Hemoglobin; glycosylated (A1c)&quot;; lab-results#HBA1C &quot;Glycated hemoglobin (HbA1c)&quot;)</span></p><p><b>subject</b>: <a href=\"https://simplifier.net/resolve?scope=hl7.fhir.us.core.3.1.1@3.1.1&amp;canonical=http://hl7.org/fhir/us/core/Patient/06e1f0dd-5fbe-4480-9bb4-6b54ec02d31b\">Patient/06e1f0dd-5fbe-4480-9bb4-6b54ec02d31b: Elden718 Halvorson124</a></p><p><b>effective</b>: 2020-01-23 10:21:08-0700</p><p><b>performer</b>: <a href=\"https://simplifier.net/resolve?scope=hl7.fhir.us.core.3.1.1@3.1.1&amp;canonical=http://hl7.org/fhir/us/core/Practitioner/min\">Practitioner/min: Dr. John Doe</a></p><p><b>value</b>: 6 %<span style=\"background: LightGoldenRodYellow\"> (Details: UCUM code % = '%')</span></p></div>"
      },
      "status" : "final",
      "category" : [{
        "coding" : [{
          "system" : "http://terminology.hl7.org/CodeSystem/observation-category",
          "code" : "laboratory",
          "display" : "Laboratory"
        }],
        "text" : "Laboratory"
      }],
      "code" : {
        "coding" : [{
          "system" : "http://loinc.org",
          "code" : "4548-4",
          "display" : "Hemoglobin A1c/Hemoglobin.total in Blood"
        },
        {
          "system" : "http://www.ama-assn.org/go/cpt",
          "code" : "83036",
          "display" : "Hemoglobin; glycosylated (A1c)"
        },
        {
          "system" : "http://example.org/lab-results",
          "code" : "HBA1C",
          "display" : "Glycated hemoglobin (HbA1c)"
        }],
        "text" : "glycated hemoglobin (HbA1c)"
      },
      "subject" : {
        "reference" : "Patient/06e1f0dd-5fbe-4480-9bb4-6b54ec02d31b",
        "display" : "Elden718 Halvorson124"
      },
      "effectiveDateTime" : "2020-01-23T10:21:08-07:00",
      "performer" : [{
        "reference" : "Practitioner/min",
        "display" : "Dr. John Doe"
      }],
      "valueQuantity" : {
        "value" : 6,
        "unit" : "%",
        "system" : "http://unitsofmeasure.org",
        "code" : "%"
      }
    },
    "search" : {
      "mode" : "match"
    }
  },
  {
    "fullUrl" : "http://hapi.fhir.org/baseR4/Observation/cdex-2020-04-23-hba1c-example",
    "resource" : {
      "resourceType" : "Observation",
      "id" : "cdex-2020-04-23-hba1c-example",
      "meta" : {
        "versionId" : "1",
        "lastUpdated" : "2020-10-23T18:17:49.885+00:00",
        "source" : "#n7aoEe76sAQUBlns",
        "profile" : ["http://hl7.org/fhir/us/core/StructureDefinition/us-core-observation-lab|3.1.1",
        "http://hl7.org/fhir/us/core/StructureDefinition/us-core-observation-lab|6.1.0"]
      },
      "text" : {
        "status" : "generated",
        "div" : "<div xmlns=\"http://www.w3.org/1999/xhtml\"><a name=\"Observation_cdex-2020-04-23-hba1c-example\"> </a><p><b>Generated Narrative: Observation</b><a name=\"cdex-2020-04-23-hba1c-example\"> </a><a name=\"hccdex-2020-04-23-hba1c-example\"> </a></p><div style=\"display: inline-block; background-color: #d9e0e7; padding: 6px; margin: 4px; border: 1px solid #8da1b4; border-radius: 5px; line-height: 60%\"><p style=\"margin-bottom: 0px\">ResourceObservation &quot;cdex-2020-04-23-hba1c-example&quot; Version &quot;1&quot; Updated &quot;2020-10-23 18:17:49+0000&quot; </p><p style=\"margin-bottom: 0px\">Information Source: #n7aoEe76sAQUBlns!</p><p style=\"margin-bottom: 0px\">Profiles: <a href=\"http://hl7.org/fhir/us/core/STU3.1.1/StructureDefinition-us-core-observation-lab.html\">US Core Laboratory Result Observation Profile (version 3.1.1)</a>, <a href=\"http://hl7.org/fhir/us/core/STU6.1/StructureDefinition-us-core-observation-lab.html\">US Core Laboratory Result Observation Profile (version 6.1.0)</a></p></div><p><b>status</b>: final</p><p><b>category</b>: Laboratory <span style=\"background: LightGoldenRodYellow; margin: 4px; border: 1px solid khaki\"> (<a href=\"http://terminology.hl7.org/5.5.0/CodeSystem-observation-category.html\">Observation Category Codes</a>#laboratory)</span></p><p><b>code</b>: glycated hemoglobin (HbA1c) <span style=\"background: LightGoldenRodYellow; margin: 4px; border: 1px solid khaki\"> (<a href=\"https://loinc.org/\">LOINC</a>#4548-4 &quot;Hemoglobin A1c/Hemoglobin.total in Blood&quot;; <a href=\"http://terminology.hl7.org/5.3.0/CodeSystem-CPT.html\">Current Procedural Terminology (CPT®)</a>#83036 &quot;Hemoglobin; glycosylated (A1c)&quot;; lab-results#HBA1C &quot;Glycated hemoglobin (HbA1c)&quot;)</span></p><p><b>subject</b>: <a href=\"https://simplifier.net/resolve?scope=hl7.fhir.us.core.3.1.1@3.1.1&amp;canonical=http://hl7.org/fhir/us/core/Patient/06e1f0dd-5fbe-4480-9bb4-6b54ec02d31b\">Patient/06e1f0dd-5fbe-4480-9bb4-6b54ec02d31b: Elden718 Halvorson124</a></p><p><b>effective</b>: 2020-04-23 10:21:08-0700</p><p><b>performer</b>: <a href=\"https://simplifier.net/resolve?scope=hl7.fhir.us.core.3.1.1@3.1.1&amp;canonical=http://hl7.org/fhir/us/core/Practitioner/min\">Practitioner/min: Dr. John Doe</a></p><p><b>value</b>: 7.2 %<span style=\"background: LightGoldenRodYellow\"> (Details: UCUM code % = '%')</span></p></div>"
      },
      "status" : "final",
      "category" : [{
        "coding" : [{
          "system" : "http://terminology.hl7.org/CodeSystem/observation-category",
          "code" : "laboratory",
          "display" : "Laboratory"
        }],
        "text" : "Laboratory"
      }],
      "code" : {
        "coding" : [{
          "system" : "http://loinc.org",
          "code" : "4548-4",
          "display" : "Hemoglobin A1c/Hemoglobin.total in Blood"
        },
        {
          "system" : "http://www.ama-assn.org/go/cpt",
          "code" : "83036",
          "display" : "Hemoglobin; glycosylated (A1c)"
        },
        {
          "system" : "http://example.org/lab-results",
          "code" : "HBA1C",
          "display" : "Glycated hemoglobin (HbA1c)"
        }],
        "text" : "glycated hemoglobin (HbA1c)"
      },
      "subject" : {
        "reference" : "Patient/06e1f0dd-5fbe-4480-9bb4-6b54ec02d31b",
        "display" : "Elden718 Halvorson124"
      },
      "effectiveDateTime" : "2020-04-23T10:21:08-07:00",
      "performer" : [{
        "reference" : "Practitioner/min",
        "display" : "Dr. John Doe"
      }],
      "valueQuantity" : {
        "value" : 7.2,
        "unit" : "%",
        "system" : "http://unitsofmeasure.org",
        "code" : "%"
      }
    },
    "search" : {
      "mode" : "match"
    }
  },
  {
    "fullUrl" : "http://hapi.fhir.org/baseR4/Observation/cdex-2020-10-23-hba1c-example",
    "resource" : {
      "resourceType" : "Observation",
      "id" : "cdex-2020-10-23-hba1c-example",
      "meta" : {
        "versionId" : "1",
        "lastUpdated" : "2020-10-23T18:16:54.549+00:00",
        "source" : "#fuIEQP7SJ9NfAlPN",
        "profile" : ["http://hl7.org/fhir/us/core/StructureDefinition/us-core-observation-lab|3.1.1",
        "http://hl7.org/fhir/us/core/StructureDefinition/us-core-observation-lab|6.1.0"]
      },
      "text" : {
        "status" : "generated",
        "div" : "<div xmlns=\"http://www.w3.org/1999/xhtml\"><a name=\"Observation_cdex-2020-10-23-hba1c-example\"> </a><p><b>Generated Narrative: Observation</b><a name=\"cdex-2020-10-23-hba1c-example\"> </a><a name=\"hccdex-2020-10-23-hba1c-example\"> </a></p><div style=\"display: inline-block; background-color: #d9e0e7; padding: 6px; margin: 4px; border: 1px solid #8da1b4; border-radius: 5px; line-height: 60%\"><p style=\"margin-bottom: 0px\">ResourceObservation &quot;cdex-2020-10-23-hba1c-example&quot; Version &quot;1&quot; Updated &quot;2020-10-23 18:16:54+0000&quot; </p><p style=\"margin-bottom: 0px\">Information Source: #fuIEQP7SJ9NfAlPN!</p><p style=\"margin-bottom: 0px\">Profiles: <a href=\"http://hl7.org/fhir/us/core/STU3.1.1/StructureDefinition-us-core-observation-lab.html\">US Core Laboratory Result Observation Profile (version 3.1.1)</a>, <a href=\"http://hl7.org/fhir/us/core/STU6.1/StructureDefinition-us-core-observation-lab.html\">US Core Laboratory Result Observation Profile (version 6.1.0)</a></p></div><p><b>status</b>: final</p><p><b>category</b>: Laboratory <span style=\"background: LightGoldenRodYellow; margin: 4px; border: 1px solid khaki\"> (<a href=\"http://terminology.hl7.org/5.5.0/CodeSystem-observation-category.html\">Observation Category Codes</a>#laboratory)</span></p><p><b>code</b>: glycated hemoglobin (HbA1c) <span style=\"background: LightGoldenRodYellow; margin: 4px; border: 1px solid khaki\"> (<a href=\"https://loinc.org/\">LOINC</a>#4548-4 &quot;Hemoglobin A1c/Hemoglobin.total in Blood&quot;; <a href=\"http://terminology.hl7.org/5.3.0/CodeSystem-CPT.html\">Current Procedural Terminology (CPT®)</a>#83036 &quot;Hemoglobin; glycosylated (A1c)&quot;; lab-results#HBA1C &quot;Glycated hemoglobin (HbA1c)&quot;)</span></p><p><b>subject</b>: <a href=\"https://simplifier.net/resolve?scope=hl7.fhir.us.core.3.1.1@3.1.1&amp;canonical=http://hl7.org/fhir/us/core/Patient/06e1f0dd-5fbe-4480-9bb4-6b54ec02d31b\">Patient/06e1f0dd-5fbe-4480-9bb4-6b54ec02d31b: Elden718 Halvorson124</a></p><p><b>effective</b>: 2020-10-23 10:21:08-0700</p><p><b>performer</b>: <a href=\"https://simplifier.net/resolve?scope=hl7.fhir.us.core.3.1.1@3.1.1&amp;canonical=http://hl7.org/fhir/us/core/Practitioner/min\">Practitioner/min: Dr. John Doe</a></p><p><b>value</b>: 7 %<span style=\"background: LightGoldenRodYellow\"> (Details: UCUM code % = '%')</span></p></div>"
      },
      "status" : "final",
      "category" : [{
        "coding" : [{
          "system" : "http://terminology.hl7.org/CodeSystem/observation-category",
          "code" : "laboratory",
          "display" : "Laboratory"
        }],
        "text" : "Laboratory"
      }],
      "code" : {
        "coding" : [{
          "system" : "http://loinc.org",
          "code" : "4548-4",
          "display" : "Hemoglobin A1c/Hemoglobin.total in Blood"
        },
        {
          "system" : "http://www.ama-assn.org/go/cpt",
          "code" : "83036",
          "display" : "Hemoglobin; glycosylated (A1c)"
        },
        {
          "system" : "http://example.org/lab-results",
          "code" : "HBA1C",
          "display" : "Glycated hemoglobin (HbA1c)"
        }],
        "text" : "glycated hemoglobin (HbA1c)"
      },
      "subject" : {
        "reference" : "Patient/06e1f0dd-5fbe-4480-9bb4-6b54ec02d31b",
        "display" : "Elden718 Halvorson124"
      },
      "effectiveDateTime" : "2020-10-23T10:21:08-07:00",
      "performer" : [{
        "reference" : "Practitioner/min",
        "display" : "Dr. John Doe"
      }],
      "valueQuantity" : {
        "value" : 7,
        "unit" : "%",
        "system" : "http://unitsofmeasure.org",
        "code" : "%"
      }
    },
    "search" : {
      "mode" : "match"
    }
  },
  {
    "fullUrl" : "http://hapi.fhir.org/baseR4/Observation/cdex-2020-07-23-hba1c-example",
    "resource" : {
      "resourceType" : "Observation",
      "id" : "cdex-2020-07-23-hba1c-example",
      "meta" : {
        "versionId" : "1",
        "lastUpdated" : "2020-10-23T18:16:17.687+00:00",
        "source" : "#X2hXINwPYymTmEJc",
        "profile" : ["http://hl7.org/fhir/us/core/StructureDefinition/us-core-observation-lab|3.1.1",
        "http://hl7.org/fhir/us/core/StructureDefinition/us-core-observation-lab|6.1.0"]
      },
      "text" : {
        "status" : "generated",
        "div" : "<div xmlns=\"http://www.w3.org/1999/xhtml\"><a name=\"Observation_cdex-2020-07-23-hba1c-example\"> </a><p><b>Generated Narrative: Observation</b><a name=\"cdex-2020-07-23-hba1c-example\"> </a><a name=\"hccdex-2020-07-23-hba1c-example\"> </a></p><div style=\"display: inline-block; background-color: #d9e0e7; padding: 6px; margin: 4px; border: 1px solid #8da1b4; border-radius: 5px; line-height: 60%\"><p style=\"margin-bottom: 0px\">ResourceObservation &quot;cdex-2020-07-23-hba1c-example&quot; Version &quot;1&quot; Updated &quot;2020-10-23 18:16:17+0000&quot; </p><p style=\"margin-bottom: 0px\">Information Source: #X2hXINwPYymTmEJc!</p><p style=\"margin-bottom: 0px\">Profiles: <a href=\"http://hl7.org/fhir/us/core/STU3.1.1/StructureDefinition-us-core-observation-lab.html\">US Core Laboratory Result Observation Profile (version 3.1.1)</a>, <a href=\"http://hl7.org/fhir/us/core/STU6.1/StructureDefinition-us-core-observation-lab.html\">US Core Laboratory Result Observation Profile (version 6.1.0)</a></p></div><p><b>status</b>: final</p><p><b>category</b>: Laboratory <span style=\"background: LightGoldenRodYellow; margin: 4px; border: 1px solid khaki\"> (<a href=\"http://terminology.hl7.org/5.5.0/CodeSystem-observation-category.html\">Observation Category Codes</a>#laboratory)</span></p><p><b>code</b>: glycated hemoglobin (HbA1c) <span style=\"background: LightGoldenRodYellow; margin: 4px; border: 1px solid khaki\"> (<a href=\"https://loinc.org/\">LOINC</a>#4548-4 &quot;Hemoglobin A1c/Hemoglobin.total in Blood&quot;; <a href=\"http://terminology.hl7.org/5.3.0/CodeSystem-CPT.html\">Current Procedural Terminology (CPT®)</a>#83036 &quot;Hemoglobin; glycosylated (A1c)&quot;; lab-results#HBA1C &quot;Glycated hemoglobin (HbA1c)&quot;)</span></p><p><b>subject</b>: <a href=\"https://simplifier.net/resolve?scope=hl7.fhir.us.core.3.1.1@3.1.1&amp;canonical=http://hl7.org/fhir/us/core/Patient/06e1f0dd-5fbe-4480-9bb4-6b54ec02d31b\">Patient/06e1f0dd-5fbe-4480-9bb4-6b54ec02d31b: Elden718 Halvorson124</a></p><p><b>effective</b>: 2020-07-23 10:21:08-0700</p><p><b>performer</b>: <a href=\"https://simplifier.net/resolve?scope=hl7.fhir.us.core.3.1.1@3.1.1&amp;canonical=http://hl7.org/fhir/us/core/Practitioner/min\">Practitioner/min: Dr. John Doe</a></p><p><b>value</b>: 7 %<span style=\"background: LightGoldenRodYellow\"> (Details: UCUM code % = '%')</span></p></div>"
      },
      "status" : "final",
      "category" : [{
        "coding" : [{
          "system" : "http://terminology.hl7.org/CodeSystem/observation-category",
          "code" : "laboratory",
          "display" : "Laboratory"
        }],
        "text" : "Laboratory"
      }],
      "code" : {
        "coding" : [{
          "system" : "http://loinc.org",
          "code" : "4548-4",
          "display" : "Hemoglobin A1c/Hemoglobin.total in Blood"
        },
        {
          "system" : "http://www.ama-assn.org/go/cpt",
          "code" : "83036",
          "display" : "Hemoglobin; glycosylated (A1c)"
        },
        {
          "system" : "http://example.org/lab-results",
          "code" : "HBA1C",
          "display" : "Glycated hemoglobin (HbA1c)"
        }],
        "text" : "glycated hemoglobin (HbA1c)"
      },
      "subject" : {
        "reference" : "Patient/06e1f0dd-5fbe-4480-9bb4-6b54ec02d31b",
        "display" : "Elden718 Halvorson124"
      },
      "effectiveDateTime" : "2020-07-23T10:21:08-07:00",
      "performer" : [{
        "reference" : "Practitioner/min",
        "display" : "Dr. John Doe"
      }],
      "valueQuantity" : {
        "value" : 7,
        "unit" : "%",
        "system" : "http://unitsofmeasure.org",
        "code" : "%"
      }
    },
    "search" : {
      "mode" : "match"
    }
  }]
}



Scenario 3

Payer A Seeks Insured Person/Patient B’s latest Progress notes from Provider C to support a claim submission.

Preconditions and Assumptions:

  • Payer A is authorized and has the appropriate scopes to access the health records of Patient B from Provider C using FHIR RESTful Queries
  • Payer A knows the FHIR id of the Patient resource for Patient B
  • Payer A knows the appropriate LOINC codes for searching for Progress note CCDA documents (11506-3 History & Physical Note)
  • Provider C supports the standard FHIR search parameters, _search and _count (if this is not the case, then the Payer can search using the date parameter and select the most recent Progress notes for the query results.)

Getting the latest Progress note is typically a two-step process:

  1. Query DocumentReference, which references the actual notes file
  2. Fetch the notes file

Following the US Core Clinical Notes Guidance section, the Payer searches for the Progress note C-CDA documents using the combination of the patient and type search parameters. In addition, the combination of _sort and _count is used to return only the latest resource that meets particular criteria. For example, with _sort=-period (sort by the date parameter in descending order) and _count=1, the query returns the most current matching resource.

GET [base]/DocumentReference?patient=[FHIR id]&type=[type-code]&_sort=-period&_count=1

The DocumentReference.content.attachment.url element references the actual CCDA document, and the Payer fetches it using a RESTful GET.

GET [base]/[url]

Step 1 - Search for DocumentReference

Request

GET [base]/DocumentReference?patient=06e1f0dd-5fbe-4480-9bb4-6b54ec02d31b&type=34117-2&_sort=-period&_count=1`

Request Headers

Accept: application/fhir+json
Content-Type: application/fhir+json
...(other headers)

Response Headers

HTTP/1.1 200 OK
Server: nginx/1.14.0 (Ubuntu)
Date: Fri, 23 Oct 2020 18:22:45 GMT
Content-Type: application/fhir+json;charset=utf-8
...(other headers)

Response Body

{
  "resourceType" : "Bundle",
  "id" : "cdex-searchbundle-scenario3-example",
  "meta" : {
    "extension" : [{
      "url" : "http://hl7.org/fhir/StructureDefinition/instance-name",
      "valueString" : "Direct Query for Patient's Progress Notes"
    },
    {
      "url" : "http://hl7.org/fhir/StructureDefinition/instance-description",
      "valueMarkdown" : "Bundle example used in direct query [scenario 3](direct-query.html#scenario-3). Payer Seeks Insured Person/Patient Progress Notes from Provider to support a claim submission."
    }],
    "lastUpdated" : "2020-10-23T20:29:25.663+00:00"
  },
  "type" : "searchset",
  "total" : 1,
  "link" : [{
    "relation" : "self",
    "url" : "http://hapi.fhir.org/baseR4/DocumentReference?_count=1&_sort=-period&patient=06e1f0dd-5fbe-4480-9bb4-6b54ec02d31b&type=34117-2"
  }],
  "entry" : [{
    "fullUrl" : "http://hapi.fhir.org/baseR4/DocumentReference/cdex-HP-example1",
    "resource" : {
      "resourceType" : "DocumentReference",
      "id" : "cdex-HP-example1",
      "meta" : {
        "versionId" : "1",
        "lastUpdated" : "2020-10-23T20:27:18.976+00:00",
        "source" : "#XOrE2IwfLwl5C1RV",
        "profile" : ["http://hl7.org/fhir/us/core/StructureDefinition/us-core-documentreference"]
      },
      "text" : {
        "status" : "generated",
        "div" : "<div xmlns=\"http://www.w3.org/1999/xhtml\"><a name=\"DocumentReference_cdex-HP-example1\"> </a><p><b>Generated Narrative: DocumentReference</b><a name=\"cdex-HP-example1\"> </a><a name=\"hccdex-HP-example1\"> </a></p><div style=\"display: inline-block; background-color: #d9e0e7; padding: 6px; margin: 4px; border: 1px solid #8da1b4; border-radius: 5px; line-height: 60%\"><p style=\"margin-bottom: 0px\">ResourceDocumentReference &quot;cdex-HP-example1&quot; Version &quot;1&quot; Updated &quot;2020-10-23 20:27:18+0000&quot; </p><p style=\"margin-bottom: 0px\">Information Source: #XOrE2IwfLwl5C1RV!</p><p style=\"margin-bottom: 0px\">Profile: <a href=\"http://hl7.org/fhir/us/core/STU6.1/StructureDefinition-us-core-documentreference.html\">US Core DocumentReference Profile</a></p></div><p><b>identifier</b>: <a href=\"http://terminology.hl7.org/5.3.0/NamingSystem-uri.html\" title=\"As defined by RFC 3986 (http://www.ietf.org/rfc/rfc3986.txt)(with many schemes defined in many RFCs). For OIDs and UUIDs, use the URN form (urn:oid:(note: lowercase) and urn:uuid:). See http://www.ietf.org/rfc/rfc3001.txt and http://www.ietf.org/rfc/rfc4122.txt \r\n\r\nThis oid is used as an identifier II.root to indicate the the extension is an absolute URI (technically, an IRI). Typically, this is used for OIDs and GUIDs. Note that when this OID is used with OIDs and GUIDs, the II.extension should start with urn:oid or urn:uuid: \r\n\r\nNote that this OID is created to aid with interconversion between CDA and FHIR - FHIR uses urn:ietf:rfc:3986 as equivalent to this OID. URIs as identifiers appear more commonly in FHIR.\r\n\r\nThis OID may also be used in CD.codeSystem.\">Uniform Resource Identifier (URI)</a>/urn:oid:2.16.840.1.113883.19.5.99999.2</p><p><b>status</b>: current</p><p><b>type</b>: History and physical note <span style=\"background: LightGoldenRodYellow; margin: 4px; border: 1px solid khaki\"> (<a href=\"https://loinc.org/\">LOINC</a>#34117-2)</span></p><p><b>category</b>: Clinical Note <span style=\"background: LightGoldenRodYellow; margin: 4px; border: 1px solid khaki\"> (<a href=\"http://hl7.org/fhir/us/core/STU6.1/CodeSystem-us-core-documentreference-category.html\">US Core DocumentReferences Category Codes</a>#clinical-note)</span></p><p><b>subject</b>: <a href=\"https://simplifier.net/resolve?scope=hl7.fhir.us.core.3.1.1@3.1.1&amp;canonical=http://hl7.org/fhir/us/core/Patient/06e1f0dd-5fbe-4480-9bb4-6b54ec02d31b\">Patient/06e1f0dd-5fbe-4480-9bb4-6b54ec02d31b: Elden718 Halvorson124</a></p><p><b>date</b>: Oct 23, 2020, 5:21:08\u202fPM</p><p><b>author</b>: <a href=\"https://simplifier.net/resolve?scope=hl7.fhir.us.core.3.1.1@3.1.1&amp;canonical=http://hl7.org/fhir/us/core/Practitioner/0000016f-57cb-cdac-0000-00000000014a\">Practitioner/0000016f-57cb-cdac-0000-00000000014a: Janeth814 Jakubowski832, MD</a></p><p><b>description</b>: Pulmonology clinic acute visit</p><blockquote><p><b>content</b></p><h3>Attachments</h3><table class=\"grid\"><tr><td style=\"display: none\">-</td><td><b>ContentType</b></td><td><b>Url</b></td><td><b>Title</b></td></tr><tr><td style=\"display: none\">*</td><td>text/plain</td><td><code>/Binary/cdex-example-hpnote</code></td><td>Uri where the data can be found: [base]/Binary/1-note</td></tr></table><p><b>format</b>: Documents following C-CDA constraints using a structured body (Details: unknown code urn:hl7-org:sdwg:ccda-structuredBody:2.1 = 'urn:hl7-org:sdwg:ccda-structuredBody:2.1', stated as 'Documents following C-CDA constraints using a structured body')</p></blockquote><h3>Contexts</h3><table class=\"grid\"><tr><td style=\"display: none\">-</td><td><b>Period</b></td></tr><tr><td style=\"display: none\">*</td><td>2020-10-23 10:21:06-0700 --&gt; 2020-10-23 10:21:08-0700</td></tr></table></div>"
      },
      "identifier" : [{
        "system" : "urn:ietf:rfc:3986",
        "value" : "urn:oid:2.16.840.1.113883.19.5.99999.2"
      }],
      "status" : "current",
      "type" : {
        "coding" : [{
          "system" : "http://loinc.org",
          "code" : "34117-2",
          "display" : "History and physical note"
        }],
        "text" : "History and physical note"
      },
      "category" : [{
        "coding" : [{
          "system" : "http://hl7.org/fhir/us/core/CodeSystem/us-core-documentreference-category",
          "code" : "clinical-note",
          "display" : "Clinical Note"
        }],
        "text" : "Clinical Note"
      }],
      "subject" : {
        "reference" : "Patient/06e1f0dd-5fbe-4480-9bb4-6b54ec02d31b",
        "display" : "Elden718 Halvorson124"
      },
      "date" : "2020-10-23T10:21:08-07:00",
      "author" : [{
        "reference" : "Practitioner/0000016f-57cb-cdac-0000-00000000014a",
        "display" : "Janeth814 Jakubowski832, MD"
      }],
      "description" : "Pulmonology clinic acute visit",
      "content" : [{
        "attachment" : {
          "contentType" : "text/plain",
          "url" : "/Binary/cdex-example-hpnote",
          "title" : "Uri where the data can be found: [base]/Binary/1-note"
        },
        "format" : {
          "system" : "urn:oid:1.3.6.1.4.1.19376.1.2.3",
          "code" : "urn:hl7-org:sdwg:ccda-structuredBody:2.1",
          "display" : "Documents following C-CDA constraints using a structured body"
        }
      }],
      "context" : {
        "period" : {
          "start" : "2020-10-23T10:21:06-07:00",
          "end" : "2020-10-23T10:21:08-07:00"
        }
      }
    },
    "search" : {
      "mode" : "match"
    }
  }]
}

Step 2 - Fetch Document

Request

GET [base]/Binary/cdex-example-hpnote`

Request Headers

...(other headers)

Response Headers

HTTP/1.1 200 OK
Server: nginx/1.14.0 (Ubuntu)
Date: Fri, 23 Oct 2020 22:02:15 GMT
Content-Type: application/pdf
...(other headers)

Response Body = PDF


Provenance

To the extent that the Data Source keeps a record of the provenance of the data, the FHIR Provenance Resource can be requested as documented on US Core’s Basic Provenance page. When returning provenance, they should use the HRex Provenance Profile. The following example illustrates this transaction.

Example of Direct Query Response Including Provenance

This example is the same as Scenario 1 above, except that it includes the corresponding Provenance records.

GET [base]/Condition?patient=[FHIR id]&clinical-status=active,recurrance,remission&_revinclude=Provenance:target

Request

GET [base]/Condition?patient=06e1f0dd-5fbe-4480-9bb4-6b54ec02d31b&clinical-status=active,recurrance,remission&_revinclude=Provenance:target

Request Headers

Accept: application/fhir+json
Content-Type: application/fhir+json
...(other headers)

Response Headers

HTTP/1.1 200 OK
Server: nginx/1.14.0 (Ubuntu)
Date: Fri, 23 Oct 2020 04:54:56 GMT
Content-Type: application/fhir+json;charset=utf-8
...(other headers)

Response Body

{
  "resourceType" : "Bundle",
  "id" : "cdex-searchbundle-provenance-example",
  "meta" : {
    "extension" : [{
      "url" : "http://hl7.org/fhir/StructureDefinition/instance-name",
      "valueString" : "Direct Query Response Including Provenance"
    },
    {
      "url" : "http://hl7.org/fhir/StructureDefinition/instance-description",
      "valueMarkdown" : "Bundle example used in the [direct query scenario](direct-query.html#provenance) that includes the corresponding Provenance records. Payer Seeks Insured Person/Patient Active Conditions from Provider to support a claims audit."
    }],
    "lastUpdated" : "2020-10-23T04:54:56.048+00:00"
  },
  "type" : "searchset",
  "total" : 1,
  "link" : [{
    "relation" : "self",
    "url" : "http://hapi.fhir.org/baseR4/Condition?patient=06e1f0dd-5fbe-4480-9bb4-6b54ec02d31b&clinical-status=active,recurrance,remission&_revinclude=Provenance:target"
  }],
  "entry" : [{
    "fullUrl" : "http://hapi.fhir.org/baseR4/Condition/4ac41715-fcbd-421c-8796-9b2c9706dd3f",
    "resource" : {
      "resourceType" : "Condition",
      "id" : "4ac41715-fcbd-421c-8796-9b2c9706dd3f",
      "meta" : {
        "versionId" : "10",
        "lastUpdated" : "2020-04-28T20:28:00.008+00:00",
        "source" : "#cabiJIK51sD2iz4N",
        "profile" : ["http://hl7.org/fhir/us/core/StructureDefinition/us-core-condition|3.1.1",
        "http://hl7.org/fhir/us/core/StructureDefinition/us-core-condition-encounter-diagnosis|6.1.0"]
      },
      "text" : {
        "status" : "generated",
        "div" : "<div xmlns=\"http://www.w3.org/1999/xhtml\"><a name=\"Condition_4ac41715-fcbd-421c-8796-9b2c9706dd3f\"> </a><p><b>Generated Narrative: Condition</b><a name=\"4ac41715-fcbd-421c-8796-9b2c9706dd3f\"> </a><a name=\"hc4ac41715-fcbd-421c-8796-9b2c9706dd3f\"> </a></p><div style=\"display: inline-block; background-color: #d9e0e7; padding: 6px; margin: 4px; border: 1px solid #8da1b4; border-radius: 5px; line-height: 60%\"><p style=\"margin-bottom: 0px\">ResourceCondition &quot;4ac41715-fcbd-421c-8796-9b2c9706dd3f&quot; Version &quot;10&quot; Updated &quot;2020-04-28 20:28:00+0000&quot; </p><p style=\"margin-bottom: 0px\">Information Source: #cabiJIK51sD2iz4N!</p><p style=\"margin-bottom: 0px\">Profiles: <a href=\"http://hl7.org/fhir/us/core/STU3.1.1/StructureDefinition-us-core-condition.html\">US Core Condition Profile (version 3.1.1)</a>, <a href=\"http://hl7.org/fhir/us/core/STU6.1/StructureDefinition-us-core-condition-encounter-diagnosis.html\">US Core Condition Encounter Diagnosis Profile (version 6.1.0)</a></p></div><p><b>clinicalStatus</b>: Active <span style=\"background: LightGoldenRodYellow; margin: 4px; border: 1px solid khaki\"> (<a href=\"http://terminology.hl7.org/5.5.0/CodeSystem-condition-clinical.html\">Condition Clinical Status Codes</a>#active)</span></p><p><b>verificationStatus</b>: Confirmed <span style=\"background: LightGoldenRodYellow; margin: 4px; border: 1px solid khaki\"> (<a href=\"http://terminology.hl7.org/5.5.0/CodeSystem-condition-ver-status.html\">ConditionVerificationStatus</a>#confirmed)</span></p><p><b>category</b>: Encounter Diagnosis <span style=\"background: LightGoldenRodYellow; margin: 4px; border: 1px solid khaki\"> (<a href=\"http://terminology.hl7.org/5.5.0/CodeSystem-condition-category.html\">Condition Category Codes</a>#encounter-diagnosis)</span></p><p><b>code</b>: Hammer Toe <span style=\"background: LightGoldenRodYellow; margin: 4px; border: 1px solid khaki\"> (<a href=\"https://browser.ihtsdotools.org/\">SNOWMED CT</a>#122481008 &quot;Hammer toe (disorder)&quot;)</span></p><p><b>subject</b>: <a href=\"https://simplifier.net/resolve?scope=hl7.fhir.us.core.3.1.1@3.1.1&amp;canonical=http://hl7.org/fhir/us/core/Patient/06e1f0dd-5fbe-4480-9bb4-6b54ec02d31b\">Patient/06e1f0dd-5fbe-4480-9bb4-6b54ec02d31b</a></p><p><b>encounter</b>: <a href=\"https://simplifier.net/resolve?scope=hl7.fhir.us.core.3.1.1@3.1.1&amp;canonical=http://hl7.org/fhir/us/core/Encounter/5fe62cd5-bfcf-4d3b-a1e9-80d6f75d6f82\">Encounter/5fe62cd5-bfcf-4d3b-a1e9-80d6f75d6f82</a></p><p><b>onset</b>: 2018-10-21 21:22:15-0700</p><p><b>recordedDate</b>: 2018-10-21 21:22:15-0700</p></div>"
      },
      "clinicalStatus" : {
        "coding" : [{
          "system" : "http://terminology.hl7.org/CodeSystem/condition-clinical",
          "code" : "active"
        }]
      },
      "verificationStatus" : {
        "coding" : [{
          "system" : "http://terminology.hl7.org/CodeSystem/condition-ver-status",
          "code" : "confirmed"
        }]
      },
      "category" : [{
        "coding" : [{
          "system" : "http://terminology.hl7.org/CodeSystem/condition-category",
          "code" : "encounter-diagnosis",
          "display" : "Encounter Diagnosis"
        }]
      }],
      "code" : {
        "coding" : [{
          "system" : "http://snomed.info/sct",
          "code" : "122481008",
          "display" : "Hammer toe (disorder)"
        }],
        "text" : "Hammer Toe"
      },
      "subject" : {
        "reference" : "Patient/06e1f0dd-5fbe-4480-9bb4-6b54ec02d31b"
      },
      "encounter" : {
        "reference" : "Encounter/5fe62cd5-bfcf-4d3b-a1e9-80d6f75d6f82"
      },
      "onsetDateTime" : "2018-10-21T21:22:15-07:00",
      "recordedDate" : "2018-10-21T21:22:15-07:00"
    },
    "search" : {
      "mode" : "match"
    }
  },
  {
    "fullUrl" : "http://hapi.fhir.org/baseR4/Provenance/b2ce4584-b213-411b-bdc9-d515dc92eadf",
    "resource" : {
      "resourceType" : "Provenance",
      "id" : "b2ce4584-b213-411b-bdc9-d515dc92eadf",
      "meta" : {
        "profile" : ["http://hl7.org/fhir/us/core/StructureDefinition/us-core-provenance|3.1.1",
        "http://hl7.org/fhir/us/core/StructureDefinition/us-core-provenance|6.1.0"]
      },
      "text" : {
        "status" : "generated",
        "div" : "<div xmlns=\"http://www.w3.org/1999/xhtml\"><a name=\"Provenance_b2ce4584-b213-411b-bdc9-d515dc92eadf\"> </a><p><b>Generated Narrative: Provenance</b><a name=\"b2ce4584-b213-411b-bdc9-d515dc92eadf\"> </a><a name=\"hcb2ce4584-b213-411b-bdc9-d515dc92eadf\"> </a></p><div style=\"display: inline-block; background-color: #d9e0e7; padding: 6px; margin: 4px; border: 1px solid #8da1b4; border-radius: 5px; line-height: 60%\"><p style=\"margin-bottom: 0px\">ResourceProvenance &quot;b2ce4584-b213-411b-bdc9-d515dc92eadf&quot; </p><p style=\"margin-bottom: 0px\">Profiles: <a href=\"http://hl7.org/fhir/us/core/STU3.1.1/StructureDefinition-us-core-provenance.html\">US Core Provenance Profile (version 3.1.1)</a>, <a href=\"http://hl7.org/fhir/us/core/STU6.1/StructureDefinition-us-core-provenance.html\">US Core Provenance Profile (version 6.1.0)</a></p></div><p><b>target</b>: See on this page: Condition/4ac41715-fcbd-421c-8796-9b2c9706dd3f</p><p><b>recorded</b>: Oct 22, 2018, 4:22:15\u202fAM</p><h3>Agents</h3><table class=\"grid\"><tr><td style=\"display: none\">-</td><td><b>Type</b></td><td><b>Who</b></td><td><b>OnBehalfOf</b></td></tr><tr><td style=\"display: none\">*</td><td>Author <span style=\"background: LightGoldenRodYellow; margin: 4px; border: 1px solid khaki\"> (<a href=\"http://terminology.hl7.org/5.5.0/CodeSystem-provenance-participant-type.html\">Provenance participant type</a>#author)</span></td><td><a href=\"https://simplifier.net/resolve?scope=hl7.fhir.us.core.3.1.1@3.1.1&amp;canonical=http://hl7.org/fhir/us/core/Practitioner/min\">Practitioner/min</a></td><td><a href=\"https://simplifier.net/resolve?scope=hl7.fhir.us.core.3.1.1@3.1.1&amp;canonical=http://hl7.org/fhir/us/core/Organization/min\">Organization/min</a></td></tr></table></div>"
      },
      "target" : [{
        "reference" : "Condition/4ac41715-fcbd-421c-8796-9b2c9706dd3f"
      }],
      "recorded" : "2018-10-21T21:22:15-07:00",
      "agent" : [{
        "type" : {
          "coding" : [{
            "system" : "http://terminology.hl7.org/CodeSystem/provenance-participant-type",
            "code" : "author",
            "display" : "Author"
          }]
        },
        "who" : {
          "reference" : "Practitioner/min"
        },
        "onBehalfOf" : {
          "reference" : "Organization/min"
        }
      }]
    },
    "search" : {
      "mode" : "include"
    }
  }]
}



Signatures

This specification does not require signatures but supports the transmission of signatures if business agreements require them.

Some data consumers may require that the data they receive are signed. When signatures are required, the following general rules apply:

  • The signature representing the sending system is a system-level attestation by the sending organization that they supplied the information. It is a complete and accurate representation of the shareable information from that system, meeting the requested criteria. This signature does NOT attest that the information is accurate because the system can’t make that determination.*
  • The Bundle.signature element on the FHIR search set Bundle is used to exchange the signature.

* Consult with your Payer and your legal team for questions regarding legal liability associated with sharing and signing data.

The Data Consumer/Requester Requirements

  • The Data Consumer/Requester pre-negotiates with the Data Source/Responder whether electronic or digital signatures are required. If signatures are required, all search query response data will be signed by the sending organization.
  • The Data Consumer/Requester follows the documentation on the Signatures page for validating signatures.
    • If the signatures fail verification, the Data Consumer/Requester notifies the Data Source that the signature is invalid or absent. Currently, there is no standard way to communicate this, and it needs to be done “out of band”.

Data Source/Responder Requirements

  • If signatures are required, the Data Source/Responder returns a signed FHIR search set Bundle using the Bundle.signature element for the signature signed by the organization responding to the query.
  • The Data Source/Responder follows the documentation on the Signatures page for producing signatures.
  • As discussed in the What is Signed section, a signed search bundle could have entries within it that are individually signed as well. Therefore, if the Data Consumer incorrectly assumed there would be a signature (wet, electronic, or digital) on an individual returned object within the search set Bundle (e.g., CCDA, PDF, Image, CDA on FHIR ), they can re-request it using a Task-based request and specify that it be signed (see Signatures for Task Based Requests).

When signatures are required, the Data Consumer must use a FHIR RESTful search instead of FHIR RESTful read. There is no CDex support for signatures on a FHIR RESTful read because it fetches a single instance of a resource instead of a Bundle. If the Data Consumer attempts to fetch a resource with a read and a signature is required, the Data Source/Responder SHALL return an HTTP 400 Bad Request and an OperationOutcome describing the business rule error. The following HTTP response and OperationOutcome illustrate this.

  HTTP/1.1 400 Bad Request
  [other headers]
  {
    "resourceType": "OperationOutcome",
    "id": "cdex-signed-read-response",
    "issue": [
  {
    "severity": "error",
    "code": "business-rule",
    "details": {
      "text": "signed FHIR RESTful read response is not supported."
    },
    "diagnostics": "Resubmit the request as a FHIR RESTful search'"
  }
    ]
  }

Example of Signed Direct Query Response

This example is the same as Scenario 1 above, except that it includes a digital signature. See the Signatures page for a detailed explanation of how the signature was created and verified.

Preconditions and Assumptions:

  • In addition to the Scenario 1 assumptions above, Payer A pre-negotiated with Provider B that direct query responses require digital signatures.

GET [base]/Condition?patient=[FHIR id]&clinical-status=active,recurrance,remission

Request

GET [base]/Condition?patient=06e1f0dd-5fbe-4480-9bb4-6b54ec02d31b&clinical-status=active,recurrance,remission

Request Headers

Accept: application/fhir+json
Content-Type: application/fhir+json
...(other headers)

Response Headers

HTTP/1.1 200 OK
Server: nginx/1.14.0 (Ubuntu)
Date: Fri, 23 Oct 2020 04:54:56 GMT
Content-Type: application/fhir+json;charset=utf-8
...(other headers)

Response Body

{
  "resourceType" : "Bundle",
  "id" : "cdex-searchbundle-digital-sig-example",
  "meta" : {
    "extension" : [{
      "url" : "http://hl7.org/fhir/StructureDefinition/instance-name",
      "valueString" : "CDEX SearchSet Bundle with Digital Signature Example"
    },
    {
      "url" : "http://hl7.org/fhir/StructureDefinition/instance-description",
      "valueMarkdown" : "Digital signature example showing how it is used to sign a [search set Bundle](direct-query.html#signatures).  The CDEX use case would be a response to a Direct Query where a digital signature was required."
    }],
    "profile" : ["http://hl7.org/fhir/us/davinci-cdex/StructureDefinition/cdex-signature-bundle"]
  },
  "type" : "searchset",
  "total" : 1,
  "link" : [{
    "relation" : "self",
    "url" : "http://hapi.fhir.org/baseR4/Condition?patient=06e1f0dd-5fbe-4480-9bb4-6b54ec02d31b"
  }],
  "entry" : [{
    "fullUrl" : "http://hapi.fhir.org/baseR4/Condition/4ac41715-fcbd-421c-8796-9b2c9706dd3f",
    "resource" : {
      "resourceType" : "Condition",
      "id" : "4ac41715-fcbd-421c-8796-9b2c9706dd3f",
      "meta" : {
        "versionId" : "10",
        "lastUpdated" : "2020-04-28T20:28:00.008+00:00",
        "source" : "#cabiJIK51sD2iz4N",
        "profile" : ["http://hl7.org/fhir/us/core/StructureDefinition/us-core-condition|3.1.1",
        "http://hl7.org/fhir/us/core/StructureDefinition/us-core-condition-encounter-diagnosis|6.1.0"]
      },
      "text" : {
        "status" : "generated",
        "div" : "<div xmlns=\"http://www.w3.org/1999/xhtml\"><a name=\"Condition_4ac41715-fcbd-421c-8796-9b2c9706dd3f\"> </a><p><b>Generated Narrative: Condition</b><a name=\"4ac41715-fcbd-421c-8796-9b2c9706dd3f\"> </a><a name=\"hc4ac41715-fcbd-421c-8796-9b2c9706dd3f\"> </a></p><div style=\"display: inline-block; background-color: #d9e0e7; padding: 6px; margin: 4px; border: 1px solid #8da1b4; border-radius: 5px; line-height: 60%\"><p style=\"margin-bottom: 0px\">ResourceCondition &quot;4ac41715-fcbd-421c-8796-9b2c9706dd3f&quot; Version &quot;10&quot; Updated &quot;2020-04-28 20:28:00+0000&quot; </p><p style=\"margin-bottom: 0px\">Information Source: #cabiJIK51sD2iz4N!</p><p style=\"margin-bottom: 0px\">Profiles: <a href=\"http://hl7.org/fhir/us/core/STU3.1.1/StructureDefinition-us-core-condition.html\">US Core Condition Profile (version 3.1.1)</a>, <a href=\"http://hl7.org/fhir/us/core/STU6.1/StructureDefinition-us-core-condition-encounter-diagnosis.html\">US Core Condition Encounter Diagnosis Profile (version 6.1.0)</a></p></div><p><b>clinicalStatus</b>: Active <span style=\"background: LightGoldenRodYellow; margin: 4px; border: 1px solid khaki\"> (<a href=\"http://terminology.hl7.org/5.5.0/CodeSystem-condition-clinical.html\">Condition Clinical Status Codes</a>#active)</span></p><p><b>verificationStatus</b>: Confirmed <span style=\"background: LightGoldenRodYellow; margin: 4px; border: 1px solid khaki\"> (<a href=\"http://terminology.hl7.org/5.5.0/CodeSystem-condition-ver-status.html\">ConditionVerificationStatus</a>#confirmed)</span></p><p><b>category</b>: Encounter Diagnosis <span style=\"background: LightGoldenRodYellow; margin: 4px; border: 1px solid khaki\"> (<a href=\"http://terminology.hl7.org/5.5.0/CodeSystem-condition-category.html\">Condition Category Codes</a>#encounter-diagnosis)</span></p><p><b>code</b>: Hammer Toe <span style=\"background: LightGoldenRodYellow; margin: 4px; border: 1px solid khaki\"> (<a href=\"https://browser.ihtsdotools.org/\">SNOWMED CT</a>#122481008 &quot;Hammer toe (disorder)&quot;)</span></p><p><b>subject</b>: <a href=\"https://simplifier.net/resolve?scope=hl7.fhir.us.core.3.1.1@3.1.1&amp;canonical=http://hl7.org/fhir/us/core/Patient/06e1f0dd-5fbe-4480-9bb4-6b54ec02d31b\">Patient/06e1f0dd-5fbe-4480-9bb4-6b54ec02d31b</a></p><p><b>encounter</b>: <a href=\"https://simplifier.net/resolve?scope=hl7.fhir.us.core.3.1.1@3.1.1&amp;canonical=http://hl7.org/fhir/us/core/Encounter/5fe62cd5-bfcf-4d3b-a1e9-80d6f75d6f82\">Encounter/5fe62cd5-bfcf-4d3b-a1e9-80d6f75d6f82</a></p><p><b>onset</b>: 2018-10-21 21:22:15-0700</p><p><b>recordedDate</b>: 2018-10-21 21:22:15-0700</p></div>"
      },
      "clinicalStatus" : {
        "coding" : [{
          "system" : "http://terminology.hl7.org/CodeSystem/condition-clinical",
          "code" : "active"
        }]
      },
      "verificationStatus" : {
        "coding" : [{
          "system" : "http://terminology.hl7.org/CodeSystem/condition-ver-status",
          "code" : "confirmed"
        }]
      },
      "category" : [{
        "coding" : [{
          "system" : "http://terminology.hl7.org/CodeSystem/condition-category",
          "code" : "encounter-diagnosis",
          "display" : "Encounter Diagnosis"
        }]
      }],
      "code" : {
        "coding" : [{
          "system" : "http://snomed.info/sct",
          "code" : "122481008",
          "display" : "Hammer toe (disorder)"
        }],
        "text" : "Hammer Toe"
      },
      "subject" : {
        "reference" : "Patient/06e1f0dd-5fbe-4480-9bb4-6b54ec02d31b"
      },
      "encounter" : {
        "reference" : "Encounter/5fe62cd5-bfcf-4d3b-a1e9-80d6f75d6f82"
      },
      "onsetDateTime" : "2018-10-21T21:22:15-07:00",
      "recordedDate" : "2018-10-21T21:22:15-07:00"
    },
    "search" : {
      "mode" : "match"
    }
  }],
  "signature" : {
    "type" : [{
      "system" : "urn:iso-astm:E1762-95:2013",
      "code" : "1.2.840.10065.1.12.1.5",
      "display" : "Verification Signature"
    }],
    "when" : "2020-10-23T04:54:56.048+00:00",
    "who" : {
      "reference" : "Organization/min"
    },
    "data" : "ZXlKaGJHY2lPaUpTVXpJMU5pSXNJbXQwZVNJNklsSlRJaXdpZEhsd0lqb2lTbGRVSWl3aWRYTmxJam9pYzJsbklpd2llRFZqSWpwYklrMUpTVVV6ZWtORFFUQmxaMEYzU1VKQlowbEtRVTlMUmxsMlRYZFNLM2xSVFVFd1IwTlRjVWRUU1dJelJGRkZRa04zVlVGTlNVZE9UVkZ6ZDBOUldVUldVVkZIUlhkS1ZsVjZSVlJOUWtWSFFURlZSVU5CZDB0Uk1rWnpZVmRhZG1OdE5YQlpWRVZUVFVKQlIwRXhWVVZDZDNkS1ZUSkdNV015Um5OaFdGSjJUVkpWZDBWM1dVUldVVkZMUkVGNFNWcFhSbk5rUjJoc1VrZEdNRmxVUlhoR2VrRldRbWRPVmtKQlRVMUVhMVo1WVZkTloxTkhSbWhqZVhkblVrWmFUazFUVlhkSmQxbEtTMjlhU1doMlkwNUJVV3RDUm1oYWJHRkhSbWhqTUVKdldsZEdjMlJIYUd4YVIwWXdXVlJGZFdJelNtNU5RalJZUkZSSmVFMVVRWGxPZWtVelRrUkpkMDVHYjFoRVZFbDVUVlJCZVUxcVJUTk9SRWwzVGtadmQyZFpNSGhEZWtGS1FtZE9Wa0pCV1ZSQmJGWlVUVkpOZDBWUldVUldVVkZKUkVGd1JGbFhlSEJhYlRsNVltMXNhRTFTU1hkRlFWbEVWbEZSU0VSQmJGUlpXRlo2V1ZkNGNHUkhPSGhHVkVGVVFtZE9Wa0pCYjAxRVJXaHNXVmQ0TUdGSFZrVlpXRkpvVFZSRldFMUNWVWRCTVZWRlFYZDNUMUpZU25CWmVVSkpXVmRHZWt4RFFrVldhekI0U2xSQmFrSm5hM0ZvYTJsSE9YY3dRa05SUlZkR2JWWnZXVmRHZWxGSGFHeFpWM2d3WVVkV2ExbFlVbWhOVXpWMlkyMWpkMmRuUjJsTlFUQkhRMU54UjFOSllqTkVVVVZDUVZGVlFVRTBTVUpxZDBGM1oyZEhTMEZ2U1VKblVVUndTMk5UYTI5QlRUWnpWekl4SzNaWFZHVkpWazlIZURFd1RWZGhjMUY1TjFaSWFXUTJlbmx4V0VGQ1RTdDZibVpDYmxobGJubFZNR294UmxSMlVHMVNaazlFYjA5RVdGWjFVRlYzUkc5dGFFTklhQ3RpWTJ4WE9VdE5NbTgxTmpOamVGSkxSWFpDYm1GSWNuTnFkelY1VG0xNFR6Vlpha1ZTWW1oMFNHUlJaWEZyZEdSM00xWlpSVkpTT1VodmVFeFBNMFpyYzNwU01qa3lTRlJDTkhoWE0zbFhiRll6WjFSclRWRnZlbEJUWTBwTFNETmlSemhRY1hFMlFWbFFTamRETkZsQ1NXeFZVMlJDVFZac00zRnVaVVZtWnpkbWRYaHBSbVpZYjJaa1ZGWnROM0pOYVdsSE4xZzVlalF6VUdacGJIRmhaV2x6Wm0xMFVuaEJiRkozUlU1WWNrZ3pUM1pQUkZCNVREQnlWRzVIT0VOellrRllXVlpKVFcxa1pFaGxORnBHT1hCc2FEazFjMm8wY0UxVWFFeDBZMHBZTDI4NVdFaE1hbWczUlcxYWVXZEtTRmRGVVhFMFVIZEdkMXBrYldKalptaERiVTl5T0RoSU9FSmlWWEoxTHpkV05ucGljMGN4VGpGRFYyeHVaR3hpVm5wdVRDc3pTVTFQY2pocldHRklZMkZ1Y1daamEyZEdWalJGY201bWFrWktjVEZQU1dGQmJYTk5hamcxZUUxcmFubFlUSGxqVEV3dmRUVnVNbTgyUW1jNU15OVZVbVp4ZFU5dlUwbEhUME5TTWpWRVlWcDZjSGN5YXpOek4yOUZPV1JOZDBWWFdIUm1XR2RaZEdneVlteHFlVFYwUmtnd1IycHdUMnQ0TURkcU4xcFVOVWh1ZUc1c2MwTkJkMFZCUVdGT1FVMUVOSGRFUVZsRVZsSXdWRUpCVlhkQmQwVkNMM3BCVEVKblRsWklVVGhGUWtGTlEwSmxRWGRKVVZsRVZsSXdVa0pDYjNkSFNVbFhaRE5rTTB4dGFHeFpWM2d3WVVkV2ExbFlVbWhoVnpWcVRHMU9kbUpVUVU1Q1oydHhhR3RwUnpsM01FSkJVWE5HUVVGUFEwRlpSVUZEZFUxVlRuRTVZWGtySzJVMVdVTTNVVVpQT1RSeVpucDRSMUZ1UmpOSGEyeGFUa0ZZYlVseU4xQldSMlJwUjFreVIxUjRMemxTZEVoRGQxUkxlbXRNSzNsMlMyOXFaVm81WkZaTE9IZHlSMVpwVW10UEwycFZlVm9yUzJOWFVtOXJWV3B6TlRsdVkwcEhVazFUVTFKNGRHVkRVWFZxZERSb1pqSXJMM0ZXSzJZeWMwMVJkRVZ5ZDFCRk16QjJZbkZTV1ZWT1RrNUNWa1ZSY0dGUmVDOWhZMHBFVlhZNWRqZHpha2hwU2tSeFdIZFJLM0o2YWprMWFVaEJTV0ZsUlVoeFJpOU5jekl5Y0RKaVpWcDFjWFpKVVV0bFRXd3JjM1pXY1VoMGFYVjZWMjVHTkZVMlZrbHRjR3R5TkdKSWJEZGxaMVk1U0Rac05sUXlVMDFyYWpaeFJGVTFaVGxPWnpCYWJFeFVkRzl6YzJoQ1RHMXZjRVkzWlRkSWVYSlVSVUZ0Wms5UVMxRmxNRVZuT1VVeWRYSjZlSEZDZFVjMU5HczFNRWN5U2pCR2FWQnpVVXBCYUVacFRrZDNVMmMwVXpOSWVWWkVSemQxWlV0a01FdzVNM2RMVDA1UFdVZDJUVXRwZWtOSVFpdHdTM1pGVFVwdldqaDVPWFZwUWl0SVJsaGpjRGxTWVVweFNqazNTSEJhVkVWMksyeHBRM0F5VUZOWWVtTkxNSEl5TlZOamVXcEdObVJNYjNWTE1sTkNNekI0UVhaS09IUkZOVGcwSzJweFVUWkRSMlZqVlRsWWFuWnNRV3AxU21SRGNrUmxWbEJ6YW10dU4wOVFXRWNyT0ZoYVZUZDZjVWhhVG0xWVdERlpXVFJJTlhKblJVbzBPR3h5VlhKUU0wazRVaUpkZlEuLlN4eW5HX25kcFRaT09TeHJnWXo4YWpPQlZnYmd4dmIwMjJBaUdqenA3dEVWdWVvZ3A5R18yY3FKZEtYSDQ4bzdVUGJNSVhvQk56UWtkRnRhX1ZRamh5V1paS2t4djBCVG5Ra0xpUElvcTYxYkYybEFvXzJZbzFCd3AtSFF0Z0dud3JNckdaaWNqMVZpajBpMG82YlZOT1RKamo4WWlhR0Z2RUZrbEMxazRIcTVYbHlwb2NrNjBjREV5Qll6cDdva2tER0RYV0dsZ1FCRFdZR0hjeHphR0Z3T0ZRNnhaWjRVeU5FeUN3M3RSLVVIcEJfNnJBNGhZWERVVkpPdU96TEJmaW9HRU55Q09OMEV5QVZUVlZselE2V1JJM1M2OS01WkVNSjFxLUk2aUUxd29YQUNHaVY3M2FJdVNKb2hXUnNlUEpHUXgwQlZ1eFlTVk5Yejh0bnJoU3NDa24xNk5ZbXJDN19zV1dZSTE2dGlLZ1d5d0ZyaThfeExycENfTGc0LVpMVTQwYml1cFhZVXE1STRIdzZQNkZVSzVabXp6aVRQNXdyQ09MdkVCWTlLT29NTE12d08ySW93M0pQcTFTUmFlRFdKMWxvYkdxaEZPcVRWbVRvWDNwZzYzTWktMFBrZnRGN0F0dVVSMTUwYUhjWjJaSE1SQl9WczN0MVllbHAz"
  }
}