201605 Data Access Framework (DAF)
Data Access FrameWork Background
- Still need to be updated for the 2015 CCDS - STU3 update
DAF Use case
Patient, Provider, Research
Argonaut
Argonaut use case:
- Patient uses provider-approved web application to access health data
- Patient uses provider-approved mobile app to access health data
- Clinician uses provider-approved web application to access health data
- Clinician uses provider-approved mobile app to access health data
Argonaut further constrains DAF for core interoperability between Servers and Clients.
DAF Observation, DAF DiagnosticReport
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.
DAF Patient, DAF Condition, DAF MedicationStatement and DAF Allergies
This is a continuation of the first DAF connectathon in January.
Chat Channel for DAF Connectathon Tract
On Zulip (How to sign up for Zulip for FHIR)
Pre-Requisites
This track should require minimal work in advance of the connectathon. If creating a server, advanced preparation will be required, but the scenarios listed below should limit the effort.
Review the FHIR Search API including:
Review U.S. Data Access Framework (DAF) FHIR Implementation Guide (IG)
Including:
- DAF Patient Profile
- DAF Condition(Problem) Profile
- DAF MedicationStatment Profile
- DAF Allergies Profile
- DAF Results Profile
- DAF DiagnosticReport Profile
Submitting WG/Project/Implementer Group
Infrastructure and Messaging (I&M)
Orders and Observations (OO)
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) profiles have been by the the Argonaut project as a basis for their work. This is another opportunity to use test the profiles, identify issues, and help progress the standard and profile to maturity.
- The subsequent step is extending to accessing patient lab data and investigating how whether the DAF DiagnaosticReport Resource is needed for secondary access of lab data.
Proposed Track Lead
Coordinator: Nagesth Bahsyam (Dragon)
Track Lead: Eric Haas
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 Sprints in the fall of 2015. This includes LIS Vendors, Large Labs, 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 http://hl7.org/fhir/dstu2/daf/conformance-daf-query-responder.html 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
2. 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 |
3. 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 |
4. 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:
- REST API in the Specification.
- Patient resource in the Specification.
- Java client sample.
- .net client sample.
- Publicly Available FHIR Servers for testing.
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/MontrealMay2016/Connectathon12/Track-06-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:
- AllergyIntolerance\resources\dafallerg-1001.xml
- Condition\resources\dafcond-1001.xml
- Condition\resources\dafcond-1002.xml
- Condition\resources\dafcond-1003.xml
- MedicationStatement\resources\dafmed-1001.xml
- MedicationStatement\resources\dafmed-1002.xml
- MedicationStatement\resources\dafmed-1003.xml
- Observation\resources\daflab-1001.xml
- Observation\resources\daflab-1002.xml
- Observation\resources\daflab-1003.xml
- Observation\resources\daflab-1004.xml
- Observation\resources\daflab-1005.xml
- Observation\resources\daflab-1006.xml
- Observation\resources\daflab-1007.xml
- Observation\resources\daflab-1008.xml
- Observation\resources\daflab-1009.xml
- Observation\resources\daflab-1010.xml
- Observation\resources\daflab-1011.xml
- Observation\resources\daflab-1012.xml
- Observation\resources\daflab-1013.xml
- Observation\resources\daflab-1014.xml
- Observation\resources\daflab-1015.xml
- Observation\resources\daflab-1016.xml
- Observation\resources\daflab-1017.xml
- Observation\resources\daflab-1018.xml
- Observation\resources\daflab-1019.xml
- Observation\resources\daflab-1020.xml
- Observation\resources\daflab-1021.xml
- Observation\resources\daflab-1022.xml
- Observation\resources\daflab-1023.xml
- Observation\resources\daflab-1024.xml
- Observation\resources\daflab-1025.xml
- Observation\resources\daflab-1026.xml
- Observation\resources\daflab-1027.xml
- Observation\resources\daflab-1028.xml
- Observation\resources\daflab-1029.xml
- Observation\resources\daflab-1030.xml
- Observation\resources\daflab-1031.xml
- Observation\resources\dafpanel-1001.xml
- Observation\resources\dafpanel-1002.xml
- Observation\resources\dafpanel-1003.xml
- Patient\resources\dafpid-1001.xml
- Patient\resources\dafpid-1002.xml
- Patient\resources\dafpid-1003.xml