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

FHIR Connectathon 7

From HL7Wiki
Revision as of 14:03, 13 September 2014 by David hay (talk | contribs)
(diff) ← Older revision | Latest revision (diff) | Newer revision → (diff)
Jump to navigation Jump to search


This page describes the seventh FHIR connectathon that will be held on Saturday September 13 and the morning (9am - 12.30pm) of Sunday September 14, 2014 in Chicago prior to the HL7 Working Group Meeting (see

NOTE: This is a placeholder page - further details will be added, particularly details of the scenarios closer to connectathon.


Exact room yet to be notified, but it will be in Chicago at the conference hotel

Google page:


This connectathon will have 4 separate themes

  • Basic patient management
    • The patient resource is well defined, and these scenarios are intended for a user new to FHIR to interact with it at a basic level. it covers:
    • search
    • 'CRUD'
    • history
    • extensions
  • Profile & Value sets
    • creating profiles and value sets
    • using them to perform validation
  • Experimental: SMART on FHIR
    • server playing the role of an EHR
    • clients playing the role of EHR plug-in
    • experimental themes involve ongoing change in the specifications in response to those preparing for the connectathon
    • Exposing FHIR ImageStudy using WADO-RS - and vice versa

Note: at every connectathon, participants attend and test functionality other than that described in the 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 where participants can demonstrate their work to the others


If you or your company are interested in participating in the connectathon, please do the following.

  • 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.
  • Register to attend the WGM, and make sure to select the Connectathon option when you do
  • Optionally add your details below (in the 'Registered Participants' section) to indicate the scenarios you intend to participate in

Space at the venue is limited, so please register as soon as possible. Preference will be given to those who are actually participating in the technical event, but observers are welcome if space permits.

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

Registered Participants

  • Health Intersections / Grahame Grieve.
    • server, all scenarios
  • Furore / Ewout Kramer.
    • server, all scenarios
  • Gordon Point Informatics / Lloyd McKenzie.
    • client scenario 2
  • SMART Platforms / Josh Mandel
    • SMART on FHIR server and apps
  • SMART Genomics on FHIR App / Jeremy Warner & Daniel Carbone & Ari Taylor (Vanderbilt University)
    • Track 3
  • Orion Health / David Hay.
    • client & server Track 2,
    • server for all scenarios
  • Edidin Group / Howard Edidin
    • server/client scenario 4
  • Lantana Consulting Group / Rick Geimer & Dale Nelson
    • Track 2 mostly; CDA on FHIR
  • University Health Network / James Agnew
  • National E-Health Transition Authority (NEHTA) / Reuben Daniels
  • Health Samurai/Choice Hospital Systems/Pavel Smirnov
    • server, client, track 1
  • J P Systems / Galen and Jackie Mulrooney
    • client, track 1
  • HEALTHCONNEX / Brian Postlethwaite
    • Track 1: Web based FHIR Client using javascript
    • Track 2: Profiling Service Directories, and ValueSets
    • Track 3: Try adding an implementation of SMART to the javascript client, along with the SPARK server
    • Others: Demonstrating the updated Questionnaire resources, Appointment Resources and HealthcareService Resources in action (well demo status anyway) Focus on cross server scenarios
  • DIPS ASA / Christer Brinchmann, Gaute Brakstad
    • Track 1: Server
    • Track 3
  •, Inc. / Richard Ettema
    • Track 1: Client/Server
    • Mailbox / Messaging
  • Intelligent Medical Object Inc. / Yunwei Wang
    • Track 1: Client
  • Agfa Healthcare / Paul Duncan
    • Track 4, as a DICOMWeb server
  • Oridashi / Brett Esler (remotely)

Connectathon Planning Team

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 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 requirement for the client to assign the Id has been relaxed. 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.

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: There is a patient that has at least one update
  • 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)

Some help links:

Track 2 - Profile

This track explores interoperability between conformance tooling. There is 3 parts to this track:

  • generating profiles and valuesets
  • getting a server to test conformance
  • implementing a process (server or client) that tests for conformance

The track also explores the use of profile tags.

1. Creating Profiles and Value Sets

This is for any process that produces Profiles and/or value sets

  • Create a profile and/or valuesets
    • the method of creation is not fixed - it can be by hand, by some conversion process from other formats, or by some tool to profile the content
  • The profile should have these properties:
    • Profile on Observation
    • fix to a limited set of LOINC codes
    • fix observation.value to a particular type
    • fix observation.value.units
    • fix one or more other attributes to max cardinality ..0
    • fix the value of reliability and status
  • upload (create/update) the created resources on a registry
    • must get profile/value set references correct on the registry
  • create pass and fail resources, and test them against the profile using the FHIR validation tool (from FHIR DSTU downloads)

For an example of the kind of profile that is intended, see ||link to be provided||

2. Getting a server to test conformance

  • Given a set of observation resources (zip file to be posted here)
  • and a profile (see below)
  • submit the resource for validation using the validation operation on a server
    • there are no rules about how the submission is prompted
    • the server is available, and should be the first system to test on, other servers from #3 below should be tested too
    • the validation operation requires that the profile be tagged with the full URL of the profile *on the server being tested*
    • the client must process the return response correctly (pass | fail, not be mislead by hints and warnings
  • the profile master is here (link to be provided). Consult the server administrator for the correct profile tag for the test profile

3. Server Validation

  • host a Profile and value set registry
  • provide an implementation of the validation operation (at the resource level, no need to implement it at the instance level)
  • correctly process profile tags on the validation operation
  • correctly validate the submitted resource against the identified profile
    • pass|fail outcome must match those produced by the FHIR validation tool (from FHIR DSTU downloads)

Track 3 - SMART on FHIR

This track is the experimental track, focusing on user-facing apps that launch from an EHR or PHR. SMART on FHIR uses open standards (FHIR, OAuth2, OpenID Connect) to provide a platform for health apps that integrate with existing Health IT systems.

1. Build a SMART Server

Demonstrate a SMART on FHIR server. A successful server will do the following:

1. Support /Patient and /Observation end points, so an app can retrieve demographics and vital signs.

2. Support the SMART on FHIR launch and authorization, so an app can request permissions and learn patient context via OAuth2.

We've created a quick-start guide for SMART servers with examples of URLs, parameters, LOINC codes, and data payloads you'll need to get started.

  • Other references

2. Build a SMART App

Demonstrate a SMART on FHIR client. A successful client will be a Web app or mobile app that can run against our SMART on FHIR testing server. It should:

  • Talk to SMART's sandbox server (and any other servers presented at the Connectathon)
  • Authorize to access patient data
  • Retrieve patient data including demographics, vitals, and labs
  • Present some useful view (can be just straight data table) of patient data

We've created a quick-start guide for SMART apps with code and examples to get you started.

You may also want to explore source code for our sample apps on GitHub.

You can get started developing from http://localhost without registering your app -- but when you want to get your app running on the Web, just follow our self-service app registration instructions.

Track 4 - DICOMweb (Joint with DICOM)

DICOMweb is the web standard for medical imaging. It is primarily a set of RESTful services, enabling web developers to unlock the power of healthcare images using industry-renowned toolsets.

Although DICOMweb's REST interface and serialization (of DICOM objects) differs from FHIR, FHIR's ImagingStudy has been developed in cooperation with DICOM to make it easy for DICOM servers to expose their data as FHIR ImagingStudy on the FHIR REST api, and conversely for natively FHIR servers to expose their ImagingStudy Resources using DICOMweb's REST api.

As both DICOMweb and the FHIR ImagingStudy are recent additions to the standards, the ultimate goal of this track is not just to showcase working implementations but rather to receive feedback on where FHIR and DICOMweb are misaligned based on these implementation efforts.

We propose to focus on WADO-RS to:

  • For FHIR servers: Expose the FHIR ImagingStudy using DICOMweb's REST interface, converting the ImagingStudy to the xml and/or json DICOM model
  • For DICOMweb servers: Combine a study with its series and instances as and expose it as a FHIR ImagingStudy resource, using FHIR's REST interface (basically, a read operation) and FHIR's xml and/or json serialization model.


Publicly Available FHIR Servers for testing

Should I come only for the Connectathon?

Coming for the connectathon alone has value - many implementers have attended just for the Saturday/Sunday and been happy. However, if you're already on-site, there's a lot of other FHIR-related activities to participate in that may further increase your return on investment

FHIR User Group

Subsequent to the actual connectathon (i.e. Sunday PM) the "Application Implementation and Design (AID)" HL7 User Group will meet to discuss FHIR implementation approaches and design patterns. You're invited to share your 'lessons learned' with others in the FHIR implementation community, or to listen to other FHIR implementers.

  • See AID Sunday PM Agenda for details.
  • Please contact Rene Spronk to get hold of a slot on the AID agenda - we do appreciate you sharing your ideas and experiences.

FHIR Tutorials

There are 4 tutorials scheduled through-out the week

  • Mon pm - Introduction to FHIR
  • Tue am - FHIR for Architects
  • Tue pm - FHIR Profiling
  • Wed am - Intro to FHIR Development

Detailed descriptions are available in the WGM brochure

Working Group session

HL7 WGMs are where a lot of the development work on FHIR happens. Numerous work groups will be considering FHIR change proposals, working on FHIR profiles and resources and debating other aspects of FHIR implementation. As well, there will be meetings of the FHIR Governance Board and FHIR Management Group discussing policies relating to FHIR. There are often ad-hoc meetings at breakfast, lunch and after-hours to discuss items of interest such as tooling, new domains, particular technical issues, etc.

The final agenda won't be determined until very close to the meeting (and will evolve somewhat throughout the course of the week), however you can take a look at the [[1]] from the May WGM to get a sense of the breadth of discussions that will be taking place. FHIR runs full bore from Monday to Friday (capping off with the clinical connectathon on Friday), so regardless of what days you're present, there will likely be something of interest.

Participating in the WGM is a good way to get a sense of the people involved in building the spec, to form relationships, to get more deeply involved in the FHIR community and to influence how the standard evolves.

Other References