Page tree
Skip to end of metadata
Go to start of metadata

Submitting WG/Project/Implementer Group

This track is for testing of The Situation Awareness for Novel Epidemic Response (SANER) Implementation Guide, a project of the Public Health (PH) workgroup with support from Orders & Observations (OO) and Patient Administration (PA).

Underlined material in the sections below mark content that is new since Connectathon 24 testing.

Justification and Objectives

The SANER IG enables transmission of high level situational awareness information from inpatient facilities to centralized data repositories to support the treatment of COVID-19.

Objectives for this HL7 FHIR Connectathon:

  • Testing
    • An application can automate computation of a Measure into a Measure Report via FHIR APIs and use of CQL and/or FHIRPath
    • A FHIR Server implementing the guide can convert CSV data to a Measure Report and record it
    • A FHIR Server implementing the guide can convert a Measure Report to CSV data
    • A Measure Definition Source responds to a Query for a Measure
    • A Measure Definition Consumer queries for a Measure
    • A Measure Source creates a MeasureReport resource
    • A Measure Consumer consumes a MeasureReport resource
    • A Measure Source pushes a MeasureReport resource to a Measure Consumer
    • A Measure Consumer pulls a MeasureReport from a Measure Source
  • Identify gaps in the IG

This track will use what version of FHIR.

The SANER draft implementation guide is based on FHIR version R4 

Clinical input requested (if any)

N/A

Related tracks

FHIR Shorthand: The content for the SANER implementation guide is defined using FHIR Shorthand. 

2020-09 Clinical Reasoning: SANER will use Clinical Reasoning technologies to evaluate Situational Awareness Measures

2020-09 Public Health Track: SANER is in support of both Public Health and Emergency Response

Proposed Track Lead

Dan Pollock, CDC, dap1@cdc.gov 

Keith W. Boone

Austin Kreisler

Expected participants

EHR Vendors, Interface Engine Vendors, Emergency Preparedness and Response Vendors, Government Agencies (e.g., CDC)


Microsoft: https://prototype-erp-fhir.azurewebsites.net/ is the base for their server which has Patient test data for measure computing.



Track Orientation

A webinar will be hosted on August 28 at Noon Eastern to share further participation information about this track.

Communication during the connectathon will be done via https://chat.fhir.org/#narrow/stream/254944-SANER-Connectathon

A recording of the track introduction is available here.

System Roles

Measure Source

The Measure Source reports results for a single facility, results for a collection of facilities, or aggregated data for a region.

Preparation
  • Be able to produce a MeasureReport resource for the CDC Measure.
  • Load realistic sample data into your system to populate the MeasureReport.
    • These data should be sufficiently distinctive that you can recognize them in a MeasureReport or in someone else's system.  
  • If you're doing the publication scenario, have a client that can do a MeasureReport create.
  • If you're doing the retrieval scenario, have a server that can respond to a MeasureReport search.
Measure Consumer

The Measure Consumer provides access to aggregated or fine-grained data gathered from one or more Measure Sources.

Preparation
  • Be able to parse a MeasureReport resource for the CDC Measure and store it in your system. 
  • If you're doing the publication scenario, have a server that can accept a MeasureReport create.
  • If you're doing the retrieval scenario, have a client that can initiate a MeasureReport search.

Measure Computer

The Measure Computer is a Measure Source that can evaluate a Computable Measure against a FHIR Server

Measure Definition Source

Measure Definition Source providing (create/update) Measure resources to a Measure Definition Consumer.

Measure Definition Consumer

Measure Definition Consumer accepting new/updated Measure resources to act upon.

Preparation
  • Be able to read a Measure definition
  • Be able to connect to a FHIR Server containing test patient data
  • Compute the measure from the data in the FHIR Server and report it acting as a Measure Source (see above).
CSV Measure Source

The CSV Measure Source reports results for a single facility, or a collection of facilities using files in Comma Separated Value format.

Preparation
  • Be able to produce a MeasureReport resource for the CDC Measure.
  • Load realistic sample data into your system to populate a CSV file.
    • These data should be sufficiently distinctive that you can recognize them in a MeasureReport or in someone else's system.  
  • If you're doing the publication scenario, have a client that can call the MeasureReport/$report and optionally MeasureReport/$convert operations.
    • Call the MeasureReport/$report Operation to submit a CSV file to create one or more MeasureReport resources from the CSV format.
  • If you're doing the retrieval scenario, have a server that can respond to a MeasureReport/$search-csv and MeasureReport/$read-csv operations.
    • Respond to the MeasureReport/$search-csv Operation to retrieve one or more MeasureReport resources in CSV format.
    • Respond to the MeasureReport/$read-csv Operation to read a MeasureReport resource in CSV format.
CSV Measure Consumer

The CSV Measure Consumer provides access to aggregated or fine-grained data gathered from one or more Measure Sources using files in Comma Separated Value format.

Preparation
  • Be able to parse a MeasureReport resource for the CDC Measure and store it in your system. 
  • If you're doing the publication scenario, have a server that supports the MeasureReport/$report and MeasureReport/$convert operations.
    • Respond to the the MeasureReport/$convert Operation to convert a CSV file to convert from the CSV format to one or more MeasureReport resources .
    • Respond to the the MeasureReport/$report Operation to submit a CSV file to create from the CSV format one or more MeasureReport resources.
  • If you're doing the retrieval scenario, have a client that can initiate a MeasureReport/$search-csv and optionally the MeasureReport/$read-csv operations.
    • Send a MeasureReport/$search-csv Operation to retrieve one or more MeasureReport resources in CSV format.
    • Respond to the MeasureReport/$read-csv Operation to read a MeasureReport resource in CSV format.


Scenarios

The SANER Connectathon on September 9-11, 2020 will test capabilities of electronic health record (EHR) query and measure computation for infectious disease outbreaks using COVID-19 as a use case.  Specific goals are: 

Workflows:

Starting from the April, 2020 version of the National Healthcare Safety Network’s Patient Impact and Hospital Capacity Measure Pathway of the COVID-19 Module, with modifications to support the connectathon, test the following:

Automated Measure Computation and Reporting

Action: A provider organization application executes the following actions in appropriate roles in the scenario. 

  1. Application in the role of Measure Definition Consumer retrieves (PULL) a Computable Measure (definition) from a Measure Definition Source
  2. Application in the role of Measure Computer uses the Computable Measure to compute against a FHIR Server
  3. Application in the role of Measure Source creates a Measure Report based on the Computable Measure, and sends (PUSH) the Measure Report to  Measure Consumer

A public health organization application acts as both a Measure Definition Source and a Measure Consumer

  1. Measure Definition Source supports queries for a Computable Measure
  2. Measure Consumer accepts Measure Reports based on a Computable Measure

Precondition:

  • Measure Definition Source prepopulated with a Computable Measure
  • FHIR Server prepopulated with test data for computing measures

Success Criteria:

  • Measure Report pushed to the Measure Consumer
  • Computed measurements match known results for the Computable Measure applied to the provided test data

Bonus point:

  • Provide evidence of FHIR Path/CQL calculations
    • For example, identify the FHIR Patient resources in the measure report that were used to calculate the data.

Exchanging Updated Measure Definition

Action: This scenario is planned for Day 2 of the Connectathon and involves the Measure Definition Source making a new Computable Measure Definition available for use. The new Computable Measure Definition will result in at least one different calculated result in a Measure Report based on the provided test data.  This scenario otherwise follows the Automated Measure Computation and Reporting scenario

Test Data

The test data for the Connectathon were developed with the following questions in mind.  Using data gathered electronically from an EHR:

  1. Can it accurately and consistently be discerned that an inpatient with COVID-19 was admitted on the previous day?
  2. Can it accurately and consistently be discerned that an inpatient had a positive viral laboratory result for SARS-Co-V-2, the organisms causing COVID-19? Likewise can it accurately and consistently be discerned when they did not?
  3. Can it accurately and consistently be discerned if a patient is suspected of COVID-19 by ICD-10-CM / SNOMED CT diagnosis or problem list codes in the absence of a positive laboratory test for SARS-Co-V-2, the organisms causing COVID-19? Likewise can it accurately and consistently be discerned when they did not?
  4. Can it accurately and consistently be determined that a patient has had a specimen collected in the previous 14 days that was positive for SARS-Co-V-2, the organisms causing COVID-19? The scenarios tested will include those where specimens were collected prior to admission. Likewise can it accurately and consistently be discerned when they did not?
  5. Can it accurately and consistently be determined that the only prior positive viral laboratory result for SARS-Co-V-2, the organisms causing COVID-19 was collected on the day of Connectathon?
  6. Can it be identified accurately and consistently that an inpatient’s location is or is not an intensive care unit?
  7. Can it accurately and consistently be determined that a patient is located in the Emergency Department at the time of Connectathon, or that patient is not?
  8. Can it accurately and consistently be determined that a patient was on a mechanical ventilator on the day of Connectathon, or that he was not?

A spreadsheet document the various Test Cases supported by the set of test data can be found here:

<Insert Link>

Convert CSV Data to a Measure Report and Report It

Action:

Precondition:

Success Criteria:

Bonus point:

Convert a Measure Report to CSV Data

Action:

Precondition:

Success Criteria:

Bonus point:


Scenario's From Previous Connectathon

Generate and Consume a MeasureReport

Action: A Measure Source generates a MeasureReport for the CDC Measure resource (available as part of a ZIP with multiple example resources) using realistic sample data from its system.  Participants manually transmit this MeasureReport by whatever means are expedient.  A Measure Consumer consumes the MeasureReport and stores the measure data. 

Precondition: The Measure Source system is preloaded with whatever data it needs to populate the MeasureReport.

Success Criteria: The Measure Consumer has the Measure Source's data stored in its system.

Produce Measure 

Action: The Measure Source POSTs a MeasureReport to a Measure Consumer using the Produce Measure Transaction

Preconditions:

  • The Measure Source system is preloaded with whatever data it needs to populate the MeasureReport.
  • The Measure Consumer's server exposes an endpoint for the MeasureReport create interaction.

Success Criteria: The Measure Consumer has the Measure Source's data stored in its system.

Bonus Point: The Measure Consumer performs the Communicate Results transaction: "This can be demonstrated by generation of a report, summary, or other artifact, or by transmission of resource availability data or some computation over it to another system."

Query Measure

Action: The Measure Consumer searches for MeasureReport resources on the Measure Source's system using the Query Measure Transaction.

Preconditions:

  • The Measure Source system is preloaded with whatever data it needs to populate the MeasureReport.
  • The Measure Source and Measure Consumer agree
  • The Measure Consumer's server exposes an endpoint for the MeasureReport create interaction.

Success Criteria: The Measure Source returns the correct results.

Bonus Point: The Measure Consumer performs the Communicate Results transaction: "This can be demonstrated by generation of a report, summary, or other artifact, or by transmission of resource availability data or some computation over it to another system."



TestScript(s)

Indicate any test scripts that will be used to help verify system behavior

Security and Privacy Considerations

Testing will be performed without TLS.

Track Report Out 

This track is for testing of The Situation Awareness for Novel Epidemic Response (SANER) Implementation Guide, a project of the Public Health (PH) workgroup with support from Orders & Observations (OO) and Patient Administration (PA).

Underlined material in the sections below mark content that is new since Connectathon 24 testing.

Justification and Objectives

The SANER IG enables transmission of high level situational awareness information from inpatient facilities to centralized data repositories to support the treatment of COVID-19.

Objectives for this HL7 FHIR Connectathon:

  • Testing
    • An application can automate computation of a Measure into a Measure Report via FHIR APIs and use of CQL and/or FHIRPath
    • A FHIR Server implementing the guide can convert CSV data to a Measure Report and record it
    • A FHIR Server implementing the guide can convert a Measure Report to CSV data
    • A Measure Source creates a MeasureReport resource
    • A Measure Consumer consumes a MeasureReport resource
    • A Measure Source pushes a MeasureReport resource to a Measure Consumer
    • A Measure Consumer pulls a MeasureReport from a Measure Source
  • Identify gaps in the IG

List of Participants

Systems which have implemented the IG, Profile, or Resource, and approximate percentage covered

  • CDC/National Healthcare Safety Network - Measure Consumer (Push), Measure Source (Pull), Measure Definition Source (Pull), Testing Support
  • Audacious Inquiry - Measure Consumer (Push), Measure Source (Pull), Measure Definition Source (Pull), Measure Definition Consumer, Measure Computer (50%)
  • Cerner - Measure Source (Push)
  • Ready Computing - Testing Support
  • Mitre - Testing Support
  • Lantana - Measure Consumer (Pull), Measure Source (Push CSV), Intermediary
  • Symptomatic - Measure Consumer (Push), Measure Source (Push), Intermediary
  • Microsoft - Measure Consumer (Push, Pull), Measure Source (Pull), Measure Definition Source (Pull)
  • NextGen Connect - Measure Definition Source (Pull), Measure Source (Pull)

Notable Achievements

  • Measure Reports submitted to NHSN have been processed all the way through the NHSN application and displayed on a dashboard
  • At least four systems that worked unattended out of the box supporting SANER measures
  • Lexically verified all the FHIRPaths in the MNeasure definition are correct.

Screenshots if relevant and interesting and/or links to further information about implementations/achievements

Screenshots of Demo of Measure Reports submitted to NHSN and processed into the NHSN application

Nandina: Successfully queried 3 participating FHIR servers, parsed the SANER MeasureReport data and displayed aggregate numbers/counts to users, allowing them to change the values auto-calculated from the FHIR server, and send the report via DIRECT (to CDC, for example).

,

Discovered issues / questions

  • Test Data validation and correction
  • Added three resource requirements to the Measure Definition Source and Consumer roles
  • Identified 3 defects in the profiles and sample measures
  • Swatted a bunch of bugs in code
  • Discovered an issue with HAPI. Lantana figured out a work around to bypass the issue for now.
  • Identified an issue to take to FHIR-I, Question about how to handle field level validation edits done by a receiver.
  • Question on how Metadata.source should be handled in relay mode

Now what?

  • Continue work on automation
  • Finish the SANER IG
  • Ballot the SANER IG
  • Get ready for the January 2021 Connectathon
  • No labels