This wiki has undergone a migration to Confluence found Here

201609 Data Access Framework (DAF)

From HL7Wiki
Jump to navigation Jump to search

Return to Sept 2016 Proposals

Data Access Framework Background

Data Access Profiles (DAF) Core profiles support the ONC 2015 Common Clinical Data Set (CCDS) using the Argonaut provided constraints. This track is an extension of the Argonaut efforts to test and record progress against the formal DAF-Core profiles.

This track is based on FHIR STU3 ballot, DAF-Core STU2.

Justification

API access to the 2015 CCDS is required for EHR certification.

DAF-Core Connectathon Priority Profiles: Allergies, DiagnosticReport, MedicationStatement, Medication, Patient, Problems, Results

DAF formalized conformance:

Background on original Argonaut use cases:

DAF-Core Allergies, DAF-Core Patient, DAF-Core MedicationStatement

This is a continuation of the DAF connectathons in January 2015, and May 2016

DAF DiagnosticReport and DAF-Core Observation

Extend DAF connectathon to include retrieval of laboratory results supporting both provider and patient access. This connectathon will address the question whether accessing a patient's laboratory results using the DAF Observation resource the DAF DiagnosticReport resource as the 'entry' point to the information.

Chat Channel for DAF Connectathon Tract

On Zulip (How to sign up for Zulip for FHIR)

Prior: Connectathon Tract

September to be added.

Pre-Requisites

This track should require minimal client work in advance of the connectathon. If creating a server, advanced preparation will be required, but the scenarios listed below should limit the effort. The scenarios match, or build on, the existing Argonaut requirements.


Review the FHIR Search API including:


Review U.S. Data Access Framework (DAF) Core FHIR Implementation Guide (IG) Including:

Submitting WG/Project/Implementer Group

FHIR-I, Argonaut

Justification

  • This is a logical next step to FHIR connectathon Track 1 - Patient access that conforms to a specific profile.
  • Its purpose is to provide a the next step for folks creating the simple FHIR client for accessing a patient. It is quite feasible to complete the client side of the track within a day with only knowledge of a development environment - no previous FHIR knowledge.
  • The Data Access Framework (DAF) Core profiles are based on the Argonaut project. This is another opportunity to use test the profiles, identify issues, and help progress the standard and profile to maturity.

Proposed Track Lead

Coordinator: Nagesth Bahsyam (Dragon), Brett Marquard

Track Lead: Nagesth Bahsyam (Dragon)

Expected participants

The expected participants are those implementing DAF profiles, vendors planning to implement FHIR/DAF profiles for 2015 API certification criteria and participated in the Argonaut Sprint in Summer 2015. This includes EHR Vendors and Application developers.

Roles

FHIR Client

Refer to the 2015 Edition Common Clinical Data Set for more information.

These requirements are intended to meet the 2015 Edition ONC Certification criterion Patient Selection 170.315(g)(7) and 170.315(g)(8).

  • Enable the retrieval of the DAF Patient
  • Enable the retrieval of all of a patient's Problems
  • Enable the retrieval of all of a patient's Allergies
  • Enable the retrieval of all of a patient's Medications
  • Enable the retrieval of all of a patient's Lab Results

FHIR Server

The server is capable of returning all the search requests listed above following the conformance requirements at DAF-core responder for servers.

Servers are expected to have some prepopulated for each of the resources specified with appropriate linking between resources. See Testscript Section below for source files for each of the scenarios listed below: This is a starting point and should be supported by each server.

Please add your system information here: DAF Participant Tracker

Scenarios

1. Search for a patient based on one or more parameters specified by DAF Responder conformance statement

Action: DAF Requestor (client) searches the patient Service for patients with at least 2 patient elements - for example last name and gender GET [base]/Patient?family=[string]&gender=[code]
Precondition: Patients with the search criteria have been created
Success Criteria: patients displayed in interface. (use browser query to confirm)

To get started sample patient data for a patient is provided here and as example resource files in the TestScripts Section below. This patient is used in other example resource listed below. The use of this data is not required for successfully completing this track. Participants can use their own data.

id name.last name.given[1] name.given[2] gender birthdate race ethnicity
dafpid-1001 Shaw Amy V. female 2007-03-20 White Non-Hipanic


2. Search for all Conditions or Medications or Allergies for a patient

Action: Client and Server support querying of:
  • DAF Condition for all of a patient's Problems including current as well as historical problems using GET /Condition?patient=[id].
  • DAF Allergy for all of a patient's Allergies using using GET /AllergyIntolerance?patient=[id].
  • DAF MedicationStatement for all of a patient's Medications: using GET /MedicationStatement?patient=[id]..
Precondition: There is a DAF Condition or DAF MedicationStatement or DAF Allergy resourcesthat has been created in the system.
Success Criteria: All DAF Condition or DAF MedicationStatement or DAF Allergy resource data for a patient are displayed in an interface.
Bonus point:
  • Client Server supports querying of DAF MedicationStatement based on patient.id and date period using GET [base]/MedicationStatement?patient=[id]&[eq|lt|gt|geyyyy-mm-dd{&eq|lt|gt|geyyyy-mm-dd}]
  • Client Server supports querying of DAF Condition, on patient.id and category="problems" using GET /Condition?patient=[id]&category=problem.


To get started sample data for the patient listed above is provided here and as example resource files in the TestScripts Section below. The use of this data is not required for successfully completing this track. Participants can use their own data.

Conditions SNOMED-condition Allergies SNOMED-allergies Medications RxNorm
Hypertensive disorder 38341003 none 160244002 lisinopril oral 206765
Hyperlipidemia 55822004 simvastatin oral 312961
Depressive disorder 35489007 sertraline (Zoloft) 208149

3. Search for all Laboratory Results for a patient

NOTE: This scenario is testing the assertion that laboratory tests and panels can be accessed using only the Observation resource instead of the DiagnosticReport resource. It will test whether the workflow based elements ( .request ) and report and display elements ( .codedDiagnosis, and .presentedForm ) in DiagnosticReport are needed for the DAF use cases.

Action: Server and Client support query of DAF-Results (Observation Resource) based on patient.id and category = "laboratory" using GET [base]/Observation?patient=[id]&category=laboratory
Precondition: DAF-Results have been created in the system.
Success Criteria: all lab results resource data is displayed in interface.
Bonus point:
  • Client and Server support date/period based querying of DAF-Results using GET [base]/Observation?patient=[id]&category=laboratory&[eq|lt|gt|geyyyy-mm-dd{&eq|lt|gt|geyyyy-mm-dd}]
  • Client and Server support for retrieving imaging data and anatomic pathology data. (one option would be to use the .valueAttachment element for images or formatted reports)

To get started sample data for the patient is provided below. The use of this data is not required for successfully completing this track. Participants can use their own data.

LOINC # Long Common Name UCUM Comment
58410-2 Complete blood count (hemogram) panel - Blood by Automated count Panel of Common Hematology Tests
718-7 Hemoglobin [Mass/volume] in Blood g/dL Quantitative Test, This is the the code included in the CBC auto. It is NOT obtained via the automated counting but uses a chemistry method just like most other hemoglobins
789-8 Erythrocytes [#/volume] in Blood by Automated count 10*6/uL Quantitative Test
786-4 Erythrocyte mean corpuscular hemoglobin concentration [Mass/volume] by Automated count g/dL Quantitative Test
785-6 Erythrocyte mean corpuscular hemoglobin [Entitic mass] by Automated count pg Quantitative Test
770-8 Neutrophils/100 leukocytes in Blood by Automated count % Quantitative Test, This cell type is counted by all modern automated differential machines; so most results will be reported under the LOINC code with method of automated count.
LOINC # Long Common Name UCUM Comment
24323-8 Comprehensive metabolic 2000 panel - Serum or Plasma Panel of Common Blood Chemistries
2160-0 Creatinine [Mass/volume] in Serum or Plasma mg/dL Quantitative Test
2823-3 Potassium [Moles/volume] in Serum or Plasma mmol/L Quantitative Test
2951-2 Sodium [Moles/volume] in Serum or Plasma mmol/L Quantitative Test
3094-0 Urea nitrogen [Mass/volume] in Serum or Plasma mg/dL Quantitative Test, Usually called BUN
2028-9 Carbon dioxide, total [Moles/volume] in Serum or Plasma mmol/L Quantitative Test
2075-0 Chloride [Moles/volume] in Serum or Plasma mmol/L Quantitative Test
17861-6 Calcium [Mass/volume] in Serum or Plasma mg/dL Quantitative Test
2339-0 Glucose [Mass/volume] in Blood mg/dL Quantitative Test
1975-2 Bilirubin.total [Mass/volume] in Serum or Plasma mg/dL Quantitative Test, Total bilirubin = direct + indirect.
LOINC # Long Common Name UCUM Comment
24356-8 Urinalysis complete panel - Urine Panel of Common Urine Tests
5778-6 Color of Urine Qualitative Test (Nominal)
32167-9 Clarity of Urine Qualitative Test (Nominal)
25428-4 Glucose [Presence] in Urine by Test strip Qualitative Test (Ordinal)
5770-3 Bilirubin.total [Presence] in Urine by Test strip Qualitative Test (Ordinal)
2514-8 Ketones [Presence] in Urine by Test strip Qualitative Test (Ordinal)
5811-5 Specific gravity of Urine by Test strip Quantitative Test
5803-2 pH of Urine by Test strip [pH] Quantitative Test
20454-5 Protein [Presence] in Urine by Test strip Qualitative Test (Ordinal)
20405-7 Urobilinogen [Mass/volume] in Urine by Test strip mg/dL Quantitative Test
5802-4 Nitrite [Presence] in Urine by Test strip Qualitative Test (Ordinal)
5794-3 Hemoglobin [Presence] in Urine by Test strip Qualitative Test (Ordinal)
5799-2 Leukocyte esterase [Presence] in Urine by Test strip Qualitative Test (Ordinal)
11279-7 Urine sediment comments by Light microscopy Narrative Narrative Test
25145-4 Bacteria [Presence] in Urine sediment by Light microscopy Qualitative Test (Ordinal)
5787-7 Epithelial cells [#/area] in Urine sediment by Microscopy high power field /[HPF] Semi-Quantitative Test. Although reported as a range this is probably an ordinal list ( e.g. 1-10, 10-40, 40+)
5821-4 Leukocytes [#/area] in Urine sediment by Microscopy high power field /[HPF] Semi-Quantitative Test Although reported as a range this is probably an ordinal list ( e.g. 1-10, 10-40, 40+)
13945-1 Erythrocytes [#/area] in Urine sediment by Microscopy high power field /[HPF] Semi-Quantitative Test Although reported as a range this is probably an ordinal list ( e.g. 1-10, 10-40, 40+)

Results

Servers

Epic

Cerner

CareEvolution

Helios

Test Servers


Clients

VA

CareEvolution

Qvera

Web Client tools

Testing

Aegis

Crucible

Discussion

  • Basic Search and Fetching demonstrated including resources beyond the cases in the track
  • Discussion on Observations v Diagnostic Report - no resolution
  • Looking at fetching the last n Observations
  • Clarity on server behavior when omitting the search parameter



Help Links

Here are some links to assist implementers:

TestScripts

The supporting TestScripts resources, corresponding test-case examples resources files, and test plan documents have been committed to the FHIR SVN repository at:

http://gforge.hl7.org/svn/fhir/trunk/connectathons/BaltimoreSep2016/Connectathon13/DAF

>> Use an SVN browser such as Tortoise to view files

There are XML and SON TestScripts definitions for each of the tracks listed above:

  • Patient (Patient Resource)
  • Allergies (AllergyIntolerance Resource)
  • Condition (Condition(Problem Resource)
  • Medications (MedicationStatement Resource)
  • Lab Reslts (Observation Resource)

A list of the example resource files:

  1. AllergyIntolerance\resources\dafallerg-1001.xml
  2. Condition\resources\dafcond-1001.xml
  3. Condition\resources\dafcond-1002.xml
  4. Condition\resources\dafcond-1003.xml
  5. MedicationStatement\resources\dafmed-1001.xml
  6. MedicationStatement\resources\dafmed-1002.xml
  7. MedicationStatement\resources\dafmed-1003.xml
  8. Observation\resources\daflab-1001.xml
  9. Observation\resources\daflab-1002.xml
  10. Observation\resources\daflab-1003.xml
  11. Observation\resources\daflab-1004.xml
  12. Observation\resources\daflab-1005.xml
  13. Observation\resources\daflab-1006.xml
  14. Observation\resources\daflab-1007.xml
  15. Observation\resources\daflab-1008.xml
  16. Observation\resources\daflab-1009.xml
  17. Observation\resources\daflab-1010.xml
  18. Observation\resources\daflab-1011.xml
  19. Observation\resources\daflab-1012.xml
  20. Observation\resources\daflab-1013.xml
  21. Observation\resources\daflab-1014.xml
  22. Observation\resources\daflab-1015.xml
  23. Observation\resources\daflab-1016.xml
  24. Observation\resources\daflab-1017.xml
  25. Observation\resources\daflab-1018.xml
  26. Observation\resources\daflab-1019.xml
  27. Observation\resources\daflab-1020.xml
  28. Observation\resources\daflab-1021.xml
  29. Observation\resources\daflab-1022.xml
  30. Observation\resources\daflab-1023.xml
  31. Observation\resources\daflab-1024.xml
  32. Observation\resources\daflab-1025.xml
  33. Observation\resources\daflab-1026.xml
  34. Observation\resources\daflab-1027.xml
  35. Observation\resources\daflab-1028.xml
  36. Observation\resources\daflab-1029.xml
  37. Observation\resources\daflab-1030.xml
  38. Observation\resources\daflab-1031.xml
  39. Observation\resources\dafpanel-1001.xml
  40. Observation\resources\dafpanel-1002.xml
  41. Observation\resources\dafpanel-1003.xml
  42. Patient\resources\dafpid-1001.xml
  43. Patient\resources\dafpid-1002.xml
  44. Patient\resources\dafpid-1003.xml