CDCgov / trusted-intermediary

Bringing together healthcare providers by reducing the connection burden.
Apache License 2.0
11 stars 5 forks source link

Structural Validation of NBS Orders and Results #78

Closed JohnNKing closed 8 months ago

JohnNKing commented 2 years ago

Story

Sentence

As a hospital (or lab), to ensure my NBS order (or result) can be accepted and processed, I need ReportStream to perform structural validation on the incoming order (or result).

Pre-conditions

Acceptance Criteria

Tasks

Research

Engineering

Findings

Here's what we found RS validates for ORM and ORU. More details in this spreadsheet

There are 3 different stages in the flow where validation and errors happen:

  1. Sync/HTTP Response: this is where errors related to HL7 parsing (HapiFHIR?) happen. Fields required to parse the message are validated here
  2. Sender => RS/Hl7 => FHIR: this is where errors in the conversion from HL7 to FHIR happens. Field type validation happen here
  3. RS => Receiver/FHIR => HL7: errors in conversion from FHIR to HL7. Required segments in the HL7 are validated here

Definition of Done

Engineering

Research Questions

Decisions

Notes

JohnNKing commented 1 year ago

Might this leverage ReportStream quality filters? (Discussed today during standup)

JohnNKing commented 1 year ago

Use this story to ensure we verify existing RS ORM => FHIR conversion?

scleary1cs commented 1 year ago

This Story helps complete the requirement: MVP-REQ-04 - Each intermediary will create an MVP with the capability to support when the facility receives the entire order, and the intermediary is responsible for validating and transforming the order for PHL

scleary1cs commented 1 year ago

This Story helps complete the requirement: MVP-REQ-05 - Each intermediary will create an MVP wherein the system accepts all order-related information from the facility. The intermediary is responsible for receiving the order, performing validation, and carrying out transformations for PHL LIMS

scleary1cs commented 1 year ago

This Story helps complete the requirement: MVP-REQ-15 - Intermediaries will establish, utilize, and validate a common set of data elements

scleary1cs commented 1 year ago

This Story helps complete the requirement: MVP-REQ-36 - Each intermediary will have the same validations performed for all data exchange formats (e.g, NIST)

Adrian-Brewster commented 8 months ago

What validation is ReportStream doing currently? How can we leverage the message validator tool on Reportstream's website?

basiliskus commented 8 months ago

The AC were completed in other stories so there's no new work to do here. The Research tasks are related to integration with partners and not related to this story

scleary1cs commented 8 months ago

@Adrian-Brewster Can we convert your comment into it's own story?

scleary1cs commented 8 months ago

Above research tasks (new engineering stories need to be made):

-Can we reuse the NIST validator? Does that validate both structure and business values? Compare to HAPI FHIR Validator.

-Is there any way of supporting synchronous validation via a plugin/dependency to ReportStream that we provide?

-How would we prevent logging of PII/PHI?

scleary1cs commented 8 months ago

Above research tasks (new research stories need to be made):

Will be discussed at research collab session on 03/01

JohnNKing commented 8 months ago

Programmer's Guide has been updated: https://docs.google.com/document/d/19xii5OlERxziIRfHftVzz8o1u9AHIbDdJlOb3B3mVVw/edit