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

Difference between revisions of "FHIR Connectathon 4"

From HL7Wiki
Jump to navigation Jump to search
Line 68: Line 68:
 
* Ringholm / Rene Spronk (ad hoc testing, using Tcl script language)
 
* Ringholm / Rene Spronk (ad hoc testing, using Tcl script language)
 
* NProgram / Rik Smithies (server, client (as test harness), .net, xslt, hacking) / www.nprogram.co.uk/fhir
 
* NProgram / Rik Smithies (server, client (as test harness), .net, xslt, hacking) / www.nprogram.co.uk/fhir
 +
* GE Healthcare / John Moehrke & Keith Boone -- Scenario C: Accounting of Disclosures
  
 
== Actors ==
 
== Actors ==

Revision as of 21:50, 14 August 2013

Introduction

This page describes the fourth FHIR connectathon that will be held on Saturday September 21st and the morning (9am - 12.30pm) of Sunday September 22nd 2013 in Cambridge, Massachusetts prior to the HL7 Working Group Meeting (see http://www.hl7.org/events/wgm092013/).

IMPORTANT: Registration

Unlike previous sessions, this connectathon requires pre-registration and the payment of a small fee. In theory, you could show up and do your registration on-site, but that'll make life complicated for the connectathon organizers, so pre-registration would be much appreciated. (Pre-registration typically shuts down roughly one week prior to the start of the WGM.) Non-registered participants will not be permitted in the room. This means that you must register even if you only wish to observe. Observing isn't nearly as much fun though and connecting to FHIR is easy, so why not dust off those old coding skills and play a little?

The WGM registration site can be found [[1]]

To register for the 2-day connectathon, you only need to pay for the Saturday attendance ($50 USD). That will cover breakfast & breaks on Saturday and breakfast on Sunday. If you want the Sunday lunch, then you'll need to register for Sunday as well (also $50).

In addition to the formal registration process, please follow the instructions section below titled "enrollment"


Location

To be announced

Themes

This connectathon will have 2 separate themes

Basic scenarios that will be tested

The patient resource is reasonably well defined, and these scenarios are intended for a user new to FHIR to interact with it at a basic level. It will include scenarios that cover:

  • search
  • 'CRUD'
  • history
  • extensions

Specification evolution

These are scenarios that are used by the core team to test assumptions made when developing the specification itself. They are intended for those with a good understanding of FHIR, and who don't mind the constant change that occurs during these scenarios.

Connectathon Organization

The connectathon will be held over 2 days - the Saturday and Sunday prior to the HL7 Working Group Meeting.

Saturday is a full day, and is intended for participants to test and develop software in an informal way. Test servers will be available (actually, they are already - FHIR Test Servers ), but some participants may bring other servers along depending on the actors they are fulfilling. Sunday is the morning only, and has 2 parts:

  • the formal testing part
  • a 'mini-showcase' session where participants can demonstrate their work to the group, if they choose.

Enrollment

If you or your company are interested in participating in the connectathon, please do the following (in addition to the mandatory registration step above).

  • Read the FHIR Specification and the FHIR wiki if you haven't already done so, to become familiar with the concepts.
  • Read the scenario descriptions below.
  • Either update the "Registered Participant" section below or send an email expressing interest containing the same sort of information to any of the Connectathon Planning team below and we'll put it on the wiki for you. While none of the information need be written in stone, having an idea of who's coming and what they're doing is quite helpful in planning how to organize the sessions, lay out the room, etc.

Space at the venue is limited to about 30 attendees, and preference will be given to those who are actually participating in the technical event, but observers are welcome if space permits. Note that the $50 charge still applies to observers, so given how easy it is to consume FHIR resources, why not give it a try?

For any queries, either contact a member of the planning team, or post your question in the FHIR list server

Connectathon Planning Team

Registered Participants

Please indicate: Organization, number of participants and, if possible what tracks and scenarios you'll be pursuing, whether building client, server or both, and what platform/language you'll be developing with. If you've got a website, feel free to include that too.

  • Health Intersections / Grahame Grieve. 1 participant. All tracks, scenarios as server. Platform: Delphi / MSSQL / AWS + Java CCDA
  • Furore / Ewout Kramer.
  • Gordon Point Informatics / Lloyd McKenzie.
  • Orion Health / David Hay.
  • Blue Wave / Hugh Glover
  • Healthwise / Tom St Clair & Brian Scheller
  • West Health / Todd cooper
  • YouCentric / Andy Stechishin, Dennis Rodriguez, Lorraine Constable
  • Ringholm / Rene Spronk (ad hoc testing, using Tcl script language)
  • NProgram / Rik Smithies (server, client (as test harness), .net, xslt, hacking) / www.nprogram.co.uk/fhir
  • GE Healthcare / John Moehrke & Keith Boone -- Scenario C: Accounting of Disclosures

Actors

  • Patient Consumer
    • this actor uses the patient/person information in a document registry to provide patient search/context
  • Patient provider
    • a server that stores patient resources
  • Document Creator
    • an actor that can create a FHIR document
  • Document Consumer
    • this actor extends Patient Consumer to search, retrieve and display patient-related documents


Connectathon tracks

This section lists the scenarios that are proposed for this connectathon. More detail will be added when approved. The scenarios are grouped according to two tracks. Track 1 is for those new to FHIR and requires minimal preparation in advance of the connectathon (at least for client applications). Track 2 is for those with some experience with the use of FHIR (or willing to devote up-front time to connectathon preparation) and exercises a more complete set of behavior designed to reflect a full production experience.

Track 1 - Patient

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.

Pre-requisites: none

1. Register a new patient

  • Action: (Patient Demographics consumer) creates a new patient and save to Patient Service. The client assigns 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

2. Update a patient

  • Action: (Patient Demographics consumer) updates the patient created in scenario #1 and updates to Patient Service. The patient is retrieved by Id.
  • Precondition: Patient has been created
  • Success Criteria: Patient updated on server (use browser to inspect Patient)
  • Bonus Point #1: Update a patient that has extensions, but leaving the extension untouched.
  • Bonus Point #2: Update a patient that has extensions, and update the extension also.

3. Retrieve Patient history

  • Action: (Patient Demographics consumer) searches the patient Service for the history of a Patient
  • Precondition: Patients with that name have been created
  • Success Criteria: patients history displayed in interface. (use browser query Patient Service)
  • Bonus point: the UI allows the user to display previous versions of the Patient

4. Search for a patient on name

  • Action: (Patient Demographics consumer) searches the patient Service for patients with a given name
  • Precondition: Patients with that name have been created
  • Success Criteria: patients displayed in interface. (use browser query to confirm)

Track 2 - Personal Health Record

Pre-requisites:

  1. RESTful servers must return a valid, accurate conformance resource instance in response to a metadata or options request. Clients must provide a valid and accurate conformance resource instance to the connectathon organizers no later than day 1 of the connectathon. Note that the conformance resource is used bith by clients and servers - Servers use it to say what their capabilities are, and Clients use it as a statement of what their expectations (or requirements) are.


Background

Using FHIR interfaces to support the basic functionality of a Personal Health Record is an important milestone for FHIR, as it indicates that there are sufficient resources to be able to do something 'useful! This scenario shows how this functionality can be supported using FHIR interfaces and resources. It is documented here: http://hl7.org/implement/standards/fhir/usecases.htm#phr

All of the scenarios below assume that you have retrieved the patient resource from the server you are querying, as you will need the patient id in most of them. And just a hint: when retrieving a separate resource for a patient, you are actually performing a query against that resource (usually) against the 'subject' or 'patient' property. so, to get patient conditions (or problems) you would use a search like GET [fhirServer]/condition/search?subject._id=sample

5. Search for a patient on name

  • Action: (Patient Demographics consumer) searches the patient Service for patients with a given name
  • Precondition: Patients with that name have been created
  • Success Criteria: patients displayed in interface. (use browser query to confirm)

Note: This is a duplicate of the scenario in Track 1, as the patient id is required for all subsequent scenarios

6. Retrieve Patient Condition list

  • Action: Retrieve all the condition resources for a given patient
  • Precondition: The patient identifier is known
  • Success Criteria: Conditions are retrieved and and displayed in a UI
  • Bonus point: the UI indicates whether the condition has been modified since it was first created

7. Create Patient Condition

  • Action: Create a new condition for a patient
  • Precondition: The patient identifier is known. The Condition you are adding does not already exist. (Hint: you will need to do a query of some sort first)
  • Success Criteria: After adding the Condition, a subsequent query for that patients conditions will return it
  • Bonus point: Save the condition using both JSON and XML formats

8. Submit CDA document and document reference

  • Action: Save a CDA document (will be supplied) as a binary resource, and also save a DocumentReference resource that refers to it. The server will assign the id of the binary resource.
  • Precondition: The patient identifier is known.
  • Success Criteria: Both binary and DocumentReference resources can be retrieved using direct GET queries
  • Bonus point 1: Use both a bundle and separate calls to save the resource
  • Bonus point 2: Update the document with a new version

9. Display simple patient summary

  • Action: Retrieve the core clinical resources for a patient and display in a summary page that would be suitable for a clincian overview. Resources to be retrieved and displayed (The display is at the discretion of the developer, with the simplest option being to use the narrative against each resource):
    • Condition
    • MedicationPrescription
    • Alert
    • AllergyIntolerance
    • Encounters
    • Known Documents
    • Known CarePlans
  • Precondition: The patient identifier is known.
  • Success Criteria: Both binary and DocumentReference resources can be retrieved using direct GET queries
  • Bonus point 1: Allow the user to retrieve and display a document from the document list
  • Bonus point 2: Allow any of the resources to be updated or added to

10. Upload Device data

  • Action: submit a DeviceObservation resource to a server
  • Precondition: The patient identifier is known.
  • Success Criteria: The DeviceObservations can be retrieved from the server
  • Bonus point 1: retrieve DeviceObservations for a patient

Track 3 - Basic PHR with Security

This track is a duplicate of Track 2. with the proviso that all connections use SSL, and the user has been authenticated using oauth. (see http://www.hl7.org/implement/standards/fhir/security.htm). Currently, only Grahames server supports this.

Servers

Publicly Available FHIR Servers for testing

Other References