This wiki has undergone a migration to Confluence found Here
<meta name="googlebot" content="noindex">

Difference between revisions of "201601 Data Access Framework (DAF)"

From HL7Wiki
Jump to navigation Jump to search
 
(6 intermediate revisions by 2 users not shown)
Line 1: Line 1:
 
+
[http://wiki.hl7.org/index.php?title=Category:201601_FHIR_Connectathon_Track_Proposals Return to Jan 2016 Proposals]
 
[[Category:201601_FHIR_Connectathon_Track_Proposals|Jan 2016 Proposals]]
 
[[Category:201601_FHIR_Connectathon_Track_Proposals|Jan 2016 Proposals]]
 
__NOTOC__
 
__NOTOC__
=DAF Patient, DAF Condition, and DAF Allergies=
+
=DAF Patient, DAF Condition, DAF MedicationStatement and DAF Allergies=
If creating a client, this track should require minimal work in advance of the connectathon, though at least a bit of playing is recommended.  If creating a server, advanced preparation will be required, but this scenario should somewhat limit the effort involved.
+
If creating a client, this track should require minimal work in advance of the connectathon, though at least a bit of preparation/reading on FHIR is recommended.  If creating a server, advanced preparation will be required, but this scenario should somewhat limit the effort involved.
  
 
Pre-requisites: none
 
Pre-requisites: none
Line 16: Line 16:
 
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.
 
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 had some testing in outside organizations (e.g. Argonaut) and this is another opprotunity to progress the profile up the Maturity Model.
+
The Data Access Framework (DAF) profiles have had some testing in outside organizations (e.g. Argonaut) and this is another opportunity to progress the profile up the Maturity Model.
  
 
==Proposed Track Lead==
 
==Proposed Track Lead==
Line 30: Line 30:
 
===FHIR Client===
 
===FHIR Client===
 
<!-- Provide a description of the capabilities this role will have within the connectathon -->
 
<!-- Provide a description of the capabilities this role will have within the connectathon -->
Enable the creation and retrieval of the DAF Patient, DAF Condition, and DAF Allergy resource operations using the defined basic CRUD operations: create, history, read, search, update and delete.
+
Enable the retrieval of the DAF Patient, DAF Condition, DAF MedicationStatement and DAF Allergy resources using the defined basic FHIR operations: READ and SEARCH following the conformance requirements http://hl7.org/fhir/dstu2/daf/conformance-daf-query-requestor.html for clients.
  
 
===FHIR Server===
 
===FHIR Server===
 
<!-- Provide a description of the capabilities this role will have within the connectathon -->
 
<!-- Provide a description of the capabilities this role will have within the connectathon -->
Enable the retrieval of the various resources using the following Operations: READ, vREAD, SEARCH
+
Enable the retrieval of the DAF Patient, DAF Condition, DAF MedicationStatement and DAF Allergy resources using FHIR READ and SEARCH operations following the conformance requirements at http://hl7.org/fhir/dstu2/daf/conformance-daf-query-responder.html for servers.
 +
Servers are expected to have some data populated for each of the resources specified with appropriate linking between resources.
  
==Steps==
 
<!-- What will be the actions performed by participants? -->
 
=== 1. Register a new patient ===
 
:Action: (Patient Demographics consumer) creates a new patient and save to Patient Service. The client can assign the Id.
 
:Precondition: Patient does not exist in service prior to action
 
:Success Criteria: Patient created correctly on server (use browser to inspect Patient)
 
:Bonus point: The Patient resource has an extension
 
  
>>Note: the resource Id can either be created by the client or the server (depending on the capability of the server). However, if the server assigns the Id, then the client will need to be able to retrieve the Id from the server response or by a patient query.
+
'''''Please add your system information here:''''' [https://docs.google.com/spreadsheets/d/1qcVeTdBHWteCc_c-Y0aHbsMSREz-Szs0YW604Lvj04U/edit#gid=0&vpid=A1 DAF Participant Tracker]
  
=== 2. Update a patient ===
+
==Scenarios==
:Action: (Patient Demographics consumer) updates the patient created in scenario #1 and updates to Patient Service. The patient is retrieved by Id.
+
<!-- What will be the actions performed by participants? -->
:Precondition: Patient has been created
+
=== 1. Retrieve Patient record ===
:Success Criteria: Patient updated on server (use browser to inspect Patient)
+
:Action: DAF Requestor (client) queries the patient Service for a Patient record.
:Bonus Point #1: Update a patient that has extensions, but leaving the extension untouched.
+
:Precondition: There is a patient that has been created in the system.
:Bonus Point #2: Update a patient that has extensions, and update the extension also.
+
:Success Criteria: Patient's data is displayed in interface.  
 +
:Bonus point: The Server supports multiple versions and Clients can query and display previous versions of the Patient
  
=== 3. Retrieve Patient history ===
+
=== 2. Search for a patient based on one or more parameters specified by DAF Responder conformance statement ===
:Action: (Patient Demographics consumer) searches the patient Service for the history of a Patient
+
:Action: DAF Requestor (client) searches the patient Service for patients with one or more search parameters.
:Precondition:  There is a patient that has at least one update
+
:Precondition: Patients with the search criteria have been created
:Success Criteria: Patient's history displayed in interface. (use browser query Patient Service)
+
:Success Criteria: patients displayed in interface. (use browser query to confirm)
:Bonus point: The UI allows the user to display previous versions of the Patient
 
  
=== 4. Search for a patient on name ===
+
=== 3. Retreive DAF Condition or DAF MedicationStatement or DAF Allergy resources  ===
:Action: (Patient Demographics consumer) searches the patient Service for patients with a given name
+
:Action: DAF Requestor (client) queries the Server for a DAF condition or DAF MedicationStatement or DAF Allergy resources
:Precondition: Patients with that name have  been created
+
:Precondition: There is a DAF Condition or DAF MedicationStatement or DAF Allergy resources that has been created in the system.
:Success Criteria: patients displayed in interface. (use browser query to confirm)
+
:Success Criteria: DAF Condition or DAF MedicationStatement or DAF Allergy resource data is displayed in interface.  
 +
:Bonus point: The Server supports multiple versions and Clients can query and display previous versions of DAF Condition or DAF MedicationStatement or DAF Allergy resources
  
=== 5. Delete a patient  ===
+
=== 4. Search for a DAF Condition or DAF MedicationStatement or DAF Allergy based on one or more parameters specified by DAF Responder conformance statement ===
:Action: (Patient Demographics consumer) deletes the patient with a given id
+
:Action: DAF Requestor (client) searches the Server for a DAF Condition or DAF Medication or DAF Allergy with one or more search parameters.
:Precondition: a Patients with that Id has been created
+
:Precondition: There is a DAF Condition or DAF MedicationStatement or DAF Allergy resourcesthat has been created in the system.
:Success Criteria: Subsequently querying for the patient - either searching by name or by Id - fails.
+
:Success Criteria: DAF Condition or DAF MedicationStatement or DAF Allergy resource data is displayed in interface.
 +
:Bonus point: Server supports querying of DAF Condition, DAF MedicationStatement or DAF Allergy resources based on patient.id and Clients can query based on the Patient.id parameter.
  
 
==Help Links==
 
==Help Links==
Line 77: Line 73:
 
* [http://fhirblog.com/2014/06/29/c-fhir-client/ .net client sample].
 
* [http://fhirblog.com/2014/06/29/c-fhir-client/ .net client sample].
 
* [http://wiki.hl7.org/index.php?title=Publicly_Available_FHIR_Servers_for_testing Publicly Available FHIR Servers for testing].
 
* [http://wiki.hl7.org/index.php?title=Publicly_Available_FHIR_Servers_for_testing Publicly Available FHIR Servers for testing].
 
==TestScript(s)==
 
<!-- Optional (for initial proposal): Provide links to the TestScript instance(s) that define the behavior to be tested-->
 
The supporting TestScripts and corresponding fixtures have been committed to the FHIR SVN repository at:
 
http://gforge.hl7.org/svn/fhir/trunk/connectathons/OrlandoJan2016/Connectathon11/Track1-Patient
 
 
===TestScript Definitions===
 
The TestScript resources in this folder represent all of the possible variations** within the tests; i.e. JSON vs. XML content, client vs. server resource id assignment, and bonus vs. no bonus features.
 
 
''**This representation of the Track 1 - Patient tests is not meant to be definitive and complete. This is one example of how these tests can be defined in the current DSTU2 format of the TestScript resource. Constructive feedback, suggestions and criticisms are welcome.''
 
 
Based on these testing variations, the following TestScript definitions are available - one for each variation:
 
 
====FHIR Resource ID Assigned by the Client====
 
* '''track1-patient-base-client-id-json''' -- JSON Format - Baseline tests to create, update, retrieve history and search a patient, no extensions with client assigned resource id.
 
* '''track1-patient-base-client-id-xml''' -- XML Format - Baseline tests to create, update, retrieve history and search a patient, no extensions with client assigned resource id.
 
* '''track1-patient-bonus-client-id-json''' -- JSON Format - Baseline (Bonus) tests to create, update, retrieve history and search a patient, with extensions and client assigned resource id.
 
* '''track1-patient-bonus-client-id-xml''' -- XML Format - Baseline (Bonus) tests to create, update, retrieve history and search a patient, with extensions and client assigned resource id.
 
 
====FHIR Resource ID Assigned by the Server====
 
* '''track1-patient-base-server-id-json''' -- JSON Format - Baseline tests to create, update, retrieve history and search a patient, no extensions with server assigned resource id.
 
* '''track1-patient-base-server-id-xml''' -- XML Format - Baseline tests to create, update, retrieve history and search a patient, no extensions with server assigned resource id.
 
* '''track1-patient-bonus-server-id-json''' -- JSON Format - Baseline (Bonus) tests to create, update, retrieve history and search a patient, with extensions and server assigned resource id.
 
* '''track1-patient-bonus-server-id-xml''' -- XML Format - Baseline (Bonus) tests to create, update, retrieve history and search a patient, with extensions and server assigned resource id.
 
 
===Conventions Used===
 
The execution of the TestScript resources contained in this folder are constrained by the following conventions:
 
 
'''Fixtures''' - All resource reference values can be either url paths or local local file system paths. The convention for these TestScript resources use local file system paths where the execution engine is expected to resolve this path based on the following:
 
* Leading '/' character - this is resolved as an absolute path based on a known root path.
 
* No leading '/' character - this is resolved as a relative path based on the location of the TestScript resource file.
 

Latest revision as of 20:19, 24 November 2015

Return to Jan 2016 Proposals

DAF Patient, DAF Condition, DAF MedicationStatement and DAF Allergies

If creating a client, this track should require minimal work in advance of the connectathon, though at least a bit of preparation/reading on FHIR is recommended. If creating a server, advanced preparation will be required, but this scenario should somewhat limit the effort involved.

Pre-requisites: none

Submitting WG/Project/Implementer Group

Infrastructure and Messaging (I&M)

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 had some testing in outside organizations (e.g. Argonaut) and this is another opportunity to progress the profile up the Maturity Model.

Proposed Track Lead

Coordinator: 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, vendors who are attending a Connectathon for the first time and want to participate, and folks that participated in the Argonaut Sprints in the fall of 2015.

Roles

FHIR Client

Enable the retrieval of the DAF Patient, DAF Condition, DAF MedicationStatement and DAF Allergy resources using the defined basic FHIR operations: READ and SEARCH following the conformance requirements http://hl7.org/fhir/dstu2/daf/conformance-daf-query-requestor.html for clients.

FHIR Server

Enable the retrieval of the DAF Patient, DAF Condition, DAF MedicationStatement and DAF Allergy resources using FHIR READ and SEARCH operations following the conformance requirements at http://hl7.org/fhir/dstu2/daf/conformance-daf-query-responder.html for servers. Servers are expected to have some data populated for each of the resources specified with appropriate linking between resources.


Please add your system information here: DAF Participant Tracker

Scenarios

1. Retrieve Patient record

Action: DAF Requestor (client) queries the patient Service for a Patient record.
Precondition: There is a patient that has been created in the system.
Success Criteria: Patient's data is displayed in interface.
Bonus point: The Server supports multiple versions and Clients can query and display previous versions of the Patient

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 one or more search parameters.
Precondition: Patients with the search criteria have been created
Success Criteria: patients displayed in interface. (use browser query to confirm)

3. Retreive DAF Condition or DAF MedicationStatement or DAF Allergy resources

Action: DAF Requestor (client) queries the Server for a DAF condition or DAF MedicationStatement or DAF Allergy resources
Precondition: There is a DAF Condition or DAF MedicationStatement or DAF Allergy resources that has been created in the system.
Success Criteria: DAF Condition or DAF MedicationStatement or DAF Allergy resource data is displayed in interface.
Bonus point: The Server supports multiple versions and Clients can query and display previous versions of DAF Condition or DAF MedicationStatement or DAF Allergy resources

4. Search for a DAF Condition or DAF MedicationStatement or DAF Allergy based on one or more parameters specified by DAF Responder conformance statement

Action: DAF Requestor (client) searches the Server for a DAF Condition or DAF Medication or DAF Allergy with one or more search parameters.
Precondition: There is a DAF Condition or DAF MedicationStatement or DAF Allergy resourcesthat has been created in the system.
Success Criteria: DAF Condition or DAF MedicationStatement or DAF Allergy resource data is displayed in interface.
Bonus point: Server supports querying of DAF Condition, DAF MedicationStatement or DAF Allergy resources based on patient.id and Clients can query based on the Patient.id parameter.

Help Links

Here are some links to assist implementers: