This wiki has undergone a migration to Confluence found Here

Difference between revisions of "FHIR Connectathon Brisbane"

From HL7Wiki
Jump to navigation Jump to search
(Created page with "Category:FHIR Connectathons == Introduction == This page describes the ninth FHIR Connectathon that will be held on Thursday ===Location=== The meeting will be held at ...")
 
 
(9 intermediate revisions by 2 users not shown)
Line 1: Line 1:
 
[[Category:FHIR Connectathons]]
 
[[Category:FHIR Connectathons]]
 +
 
== Introduction ==
 
== Introduction ==
This page describes the ninth FHIR Connectathon that will be held on Thursday  
+
 
 +
This page describes the FHIR Connectathon that will be held on Thursday June 18 Brisbane. Australia
  
 
===Location===
 
===Location===
  
The meeting will be held at the host hotel, Hyatt Regency Paris Charles De Gaulle, Paris, France.
+
The meeting will be held at Australian e-Health Research Centre, Level 5, UQ Health Sciences Building 901/16, Royal Brisbane and Women's Hospital, Brisbane, Australia
  
 
== Important notes:==
 
== Important notes:==
  
 
* To be added to the skype Implementers chat, skype david hay (david.hay25) or anyone who is already on the chat
 
* To be added to the skype Implementers chat, skype david hay (david.hay25) or anyone who is already on the chat
* The tracking spreadsheet is at: https://docs.google.com/spreadsheets/d/1ND77VvLVMHONGphKHSx10cK3abdU_Hcuwsd5Fe-X3gY/edit#gid=1
+
* This connectathon is based on this FHIR version: [[http://hl7.org/fhir/2015May/index.html]]
 
+
* Google results spreadhseet:[https://docs.google.com/spreadsheets/d/18KR8TKi9zRwhE7SCXLmiEBj7_IRXxSli-smgKIcP7c4/edit?usp=sharing here]
 
 
=== Sunday===
 
The connection itself will be in different rooms - LABO 02 & LABO 03 in the "Le campus North" on the mezzanine floor just past the bar. Breakfast and lunch will be in the Oxygene room, which is in the same  part of the hotel, but on the lower floor. These rooms are marked in the Hotel map that is on the back page of the on-sit emeeting guide.
 
  
 
== Themes ==
 
== Themes ==
  
This connectathon will have 4 separate themes
+
This connectathon will have 3 separate themes
  
 
* Basic patient management
 
* Basic patient management
Line 27: Line 26:
 
** extensions
 
** extensions
 
* Version 2 mapping to FHIR Messages
 
* Version 2 mapping to FHIR Messages
* Financial Resources
 
 
* Terminology Services
 
* Terminology Services
  
Line 33: Line 31:
 
Note: at every connectathon, participants attend and test functionality other than that described in the scenarios.
 
Note: at every connectathon, participants attend and test functionality other than that described in the scenarios.
  
'''Note also that the connectathon will be based on the DSTU-2 Candidate version of FHIR which will be posted at [http://hl7.org/fhir/2015May/]'''
+
'''Note also that the connectathon will be based on the DSTU-2 Candidate version of FHIR which is posted at [http://hl7.org/fhir/2015May/]'''
  
 
== Connectathon Organization ==
 
== Connectathon Organization ==
  
The connectathon will be held over 2 days - the Saturday and Sunday prior to the HL7 Working Group Meeting.
+
The connectathon will be held over a single day, with most of the day intended for participants to test and develop software in an informal way. Test servers will be available (actually, they are already - '''[http://wiki.hl7.org/index.php?title=Publicly_Available_FHIR_Servers_for_testing FHIR Test Servers]''' ), but some participants may bring other servers along depending on the actors they are fulfilling.
  
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 - '''[http://wiki.hl7.org/index.php?title=Publicly_Available_FHIR_Servers_for_testing FHIR Test Servers]'''  ), but some participants may bring other servers along depending on the actors they are fulfilling.
+
The latter part of the day - likely around 3.30 - will be a 'show and tell' for participants to demonstrate their progress to the group.
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
 
  
Each stream has a coordinator. The nominated coordinator's responsibilities:
 
* In the lead up to the connectathon: track participants, respond to queries about scenarios, connect participants to each other
 
* During the connectathon act as a test mediator / progress tracker
 
* track emergent issues that should be fed back to the committees
 
  
 
= Enrollment =
 
= Enrollment =
Line 55: Line 46:
 
*Read the '''[http://hl7.org/fhir FHIR Specification]''' and the '''[[ FHIR | FHIR wiki ]]''' if you haven't already done so, to become familiar with the concepts.
 
*Read the '''[http://hl7.org/fhir FHIR Specification]''' and the '''[[ FHIR | FHIR wiki ]]''' if you haven't already done so, to become familiar with the concepts.
 
*Read the '''scenario descriptions''' below.   
 
*Read the '''scenario descriptions''' below.   
*[http://www.hl7.org/events/wgm092014/ Register to attend the WGM], and make sure to select the Connectathon option when you do
+
email: [mailto:admin@HL7.org.au admin@HL7.org.au] to register
 +
 
 
*Optionally add your details below (in the 'Registered Participants' section) to indicate the scenarios you intend to participate in
 
*Optionally add your details below (in the 'Registered Participants' section) to indicate the scenarios you intend to participate in
 
   
 
   
Line 64: Line 56:
 
== Registered Participants ==
 
== Registered Participants ==
  
 
* Furore / Ewout Kramer.
 
** server, all scenarios
 
* Gevity / Lloyd McKenzie.
 
** client scenario 2
 
* SMART Platforms / Nikolai Schwertner
 
** SMART on FHIR server and apps
 
 
* Orion Health / David Hay
 
* Orion Health / David Hay
* AEGIS.net, Inc. / Richard Ettema
+
** HL7 v2 integration
** WildFHIR client - http://wildfhir.aegis.net/fhir2gui and server - http://wildfhir.aegis.net/fhir2; scenario 1 and all resources
 
* Crucible / Jason Walonoski
 
** FHIR testing tool, testing all servers for scenario 1
 
 
* Grahame Grieve
 
* Grahame Grieve
 
** Server - http://fhir-dev.healthintersections.com.au + a bunch of utilities from the build tools as clients
 
** Server - http://fhir-dev.healthintersections.com.au + a bunch of utilities from the build tools as clients
* Ken Salyards, Ioana Singureanu
 
** Substance Abuse and Mental Health Services Administration (SAMHSA)
 
* Oliver Egger, ahdis gmbh, http://ahdis.ch
 
** client track 1
 
* Apelon, Inc./ Carol Macumber, John Gresh
 
** Terminology Services
 
* HealthConnex / Brian Postlethwaite
 
** server, track 1
 
** client track 1
 
*Almerys / Benoit Schoeffler, Medhi Luneau, Guillaume Rossignol, Yvan Stern, Fahmi Boussetta, Simon Sol, Guillaume Corgnet
 
** client track 3
 
** server track 3 and translation V2/V3 <-> FHIR
 
*Knapp Consulting Inc. / Paul Knapp
 
** client track 3
 
** server track 3
 
*YouCentric / Andy Stechishin, Lorraine Constable
 
** server track 1
 
** server track 3
 
* Kainos Evolve / Alastair Allen, Marcin Wasilczyk, Filip Owczarzak
 
* HL7NZ / Peter Jordan
 
** client track 1
 
* Cerner / Jenni Syed & Kevin Shekleton
 
* Nortal / Igor Bossenko, Jan Jasinski
 
** server track 1
 
** client track 4
 
* DIPS ASA / Christer Brinchmann
 
** Track 2
 
 
  
 
= Connectathon Planning Team =
 
= Connectathon Planning Team =
 
*[mailto:david.hay25@gmail.com David Hay], Orion Health
 
*[mailto:david.hay25@gmail.com David Hay], Orion Health
*[mailto:brian.pech@kg.org Brian Pech], Kaiser Permanente
 
 
*[mailto:grahame@healthintersections.com.au Grahame Grieve], Health Intersections Pty Ltd
 
*[mailto:grahame@healthintersections.com.au Grahame Grieve], Health Intersections Pty Ltd
  
Line 119: Line 72:
  
 
== Connectathon tracks ==
 
== Connectathon tracks ==
This section lists the scenarios that are proposed for this connectathon. More detail will be added when approved.  The scenarios are grouped into 3 tracks.  Track 1 is for those new to FHIR and requires minimal preparation in advance of the connectathon (at least for client applications).  Tracks 2 and 3 are focused on particular implementation activities with FHIR and exercise a more complete set of behavior designed to reflect a full production experience - preparation in advance will be required.
+
This section lists the scenarios that are proposed for this connectathon. The scenarios are grouped into 3 tracks.  Track 1 is for those new to FHIR and requires minimal preparation in advance of the connectathon (at least for client applications).  Tracks 2 and 3 are focused on particular implementation activities with FHIR and exercise a more complete set of behavior designed to reflect a full production experience - preparation in advance will be required.
  
'''Note that this track - as with all tracks - will use the candidate 'DSTU-2' version of FHIR as described [http://hl7.org/implement/standards/FHIR-Develop/ here].''' If you've been to a connectathon before and done this track, then you may need to change your code, as [http://hl7.org/implement/standards/FHIR-Develop/history.html#history there have been many important changes to the specification].
+
'''Note that this track - as with all tracks - will use the candidate 'DSTU-2' version of FHIR as described [http://hl7.org/fhir/2015May/index.html here].''' If you've been to a connectathon before and done this track, then you may need to change your code, as [http://hl7.org/fhir/2015May/history.html there have been many important changes to the specification].
  
 
=== Track 1 - Patient ===
 
=== Track 1 - Patient ===
Line 129: Line 82:
 
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 playing 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  
 +
 
 +
FHIR Interactions: search, read, create, update, history
 +
 
 +
==== 1. Search for a patient on name ====
  
 +
* Action: (Patient Demographics consumer) searches the patient Service for patients with a given name
 +
* Success Criteria: patients displayed in interface, or a message that no patients exist. (use browser query to confirm)
  
==== 1. Register a new patient ====
+
==== 2. Register a new patient ====
  
* Action: (Patient Demographics consumer) creates a new patient and save to Patient Service. The client can assign the Id.
+
* Action: (Patient Demographics consumer) creates a new patient and save to Patient Service. The client can assign the Id (or not - leave it to the server)
 
* Precondition: Patient does not exist in service prior to action
 
* Precondition: Patient does not exist in service prior to action
* Success Criteria: Patient created correctly on server (use browser to inspect Patient)
+
* Success Criteria: Patient created correctly on server (use browser to inspect Patient, or find Patient by search from #1)
 
* Bonus point: The Patient resource has an extension
 
* 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.
+
>> Note: if the server assigns the Id, then the client will need to be able to retrieve the Id from the server response
  
==== 2. Update a patient ====
+
==== 3. 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.
+
* Action: (Patient Demographics consumer) updates the patient created in scenario #2 and updates to Patient Service. The patient is retrieved by Id.
 
* Precondition: Patient has been created
 
* Precondition: Patient has been created
 
* Success Criteria: Patient updated on server (use browser to inspect Patient)
 
* Success Criteria: Patient updated on server (use browser to inspect Patient)
Line 149: Line 108:
 
* Bonus Point #2: Update a patient that has extensions, and update the extension also.
 
* Bonus Point #2: Update a patient that has extensions, and update the extension also.
  
==== 3. Retrieve Patient history ====
+
==== 4. Retrieve Patient history ====
  
 
* Action: (Patient Demographics consumer) searches the patient Service for the history of a Patient
 
* 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
 
* Precondition:  There is a patient that has at least one update
 
* Success Criteria: Patient's history displayed in interface. (use browser query Patient Service)
 
* Success Criteria: Patient's history displayed in interface. (use browser query Patient Service)
* Bonus point: The UI allows the user to display previous versions of the Patient
+
* Bonus point: The UI allows the user to display previous versions of the Patient Resource
 
 
==== 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:
 
Some help links:
 
* [http://fhirblog.com/2014/07/31/fhir-connectathon-7-for-java-dummies/ Java client sample].
 
* [http://fhirblog.com/2014/07/31/fhir-connectathon-7-for-java-dummies/ Java client sample].
 
* [http://fhirblog.com/2014/06/29/c-fhir-client/ .net client sample].
 
* [http://fhirblog.com/2014/06/29/c-fhir-client/ .net client sample].
 +
  
  
 
=== Track 2 - v2 Message conversion ===
 
=== Track 2 - v2 Message conversion ===
Coordinator: [mailto:rene.spronk@ringholm.com René Spronk]
 
  
The details of this track can be found here: [[Version 2 - FHIR Mapping Scenarios]].
+
This message involves writing some software (in a programming or scripting language of your choice) that converts a v2 message into a series of FHIR resource operations and submitting them directly, or as a single transaction (preferred) to http://fhir-dev.healthintersections.com.au/open. The definition of 'success' is that the content of the message is successfully transferred to the server - use the web interface on the FHIR server to confirm successful delivery.
 +
 
 +
Notes:
 +
* Most of the v2 identifiers do not have namespaces. You should make up your own as you do the conversion
 +
* In order to avoid identifier clashes with other connectathon participants, you should append your initials to the message & segment identifiers
 +
* All resources have a mapping page with v2 & v3 mappings (This connectathon is to test them!)
 +
* There are 2 sample messages below that you can use as the basis for your work, or you can choose any v2 message of your own (that doesn't involve real patient data!)
 +
* Whitepaper about v2 -> FHIR: [http://fhirblog.com/2015/03/18/more-fhir-messaging-adt-messages/ Blog post], [http://www.ringholm.com/docs/04350_mapping_HL7v2_FHIR.htm whitepaper]
 +
* Further details of a similar track can be found here: [[Version 2 - FHIR Mapping Scenarios]].
  
In summary the tracks are:
+
Example Message 1 (ADT)
# ADT Query - mapping a v2 query and its response
 
# ADT - mapping a sequence of ADT events
 
# ORU - mapping a sequence of laboratory results messages
 
  
Some other resources:
+
    MSH|^~\&|SomeSystem||TransformationAgent||20150502090000||ADT^A01|controlID|P|2.5
* [http://fhirblog.com/2015/03/18/more-fhir-messaging-adt-messages/ Blog post], [http://www.ringholm.com/docs/04350_mapping_HL7v2_FHIR.htm whitepaper]
+
    EVN|A01|20150502090000|
* all resources have a mapping page with v2 & v3 mappings (This connectathon is to test them!)
+
    PID|1||NHS_Number^10^^NHS^NH~LocalPatId^^^TCPAS^MR||Kennedy^Ann^F^^Ms^^L||19280524^Y|F|||22 Stable Road^^Whitstable^Kent^^CR5 1EL^^^^P||277543^PRN|||U||
 +
    NK1|1|Kennedy^Joe|FTH|||+44 201 12345678||
 +
    PV1||I|INT^0001^02^GENHOS||||0100^ANDERSON,CARL|0148^ADDISON,JAMES||SUR|||||||0148^ANDERSON,CARL|S|VisitNumber^^^GENHOS|A|||||||||||||||||||GENHOS|||||20150502090000|
 +
    AL1|1|DA|1605^acetaminophen^L|MO|Muscle Pain~hair loss
 +
    AL1|2|DA|1558^Oxycodone^L|MO|Muscle Pain~hair loss
 +
    AL1|3|MA|2221^Peanuts^L|SV|Anaphylactic Shock
  
=== Track 3 - Financial Management ===
+
Example Message 2 (Lab)
  
Coordinator: [mailto:pknapp@pknapp.com Paul Knapp]
+
    MSH|^~\&|SUPER-LIS^2.16.840.1.113883.19.1^GUID|ACMEPATH^4321^AUSNATA|PCEHR^2.16.840.1.113883.19.2^GUID|DOHA^2.16.840.1.113883.19.3^GUID|20150410083015+1000||ORU^R01^ORU_R01|P4560801311070004069|P|2.4|||AL|NE|AUS|8859/1
 +
    PID|1||2142363^^^ACMEHOSP^MR~61405230941^^^AUSHIC^MC~WA123456B^^^AUSDVA^PEN||PatientSurnameOne^FirstnameOne^MiddleNameOne^SufixOne^PrefixOne^^L~PatientSurnameTwo^FirstnameTwo^MiddleNameTwo^SufixTwo^PrefixTwo^^M||194506241031|M|||Unit 1^111 ACME Street^Brisbane^^4000^AUS^H~Unit 2^222 ACMETwo Street^Brisbane^^4000^AUS^B||^^^^^^93235615|^WPN^CP^^^^0414778341
 +
    PV1|1|O|Ward1^RoomE8^Bed10^ACMEHOSP&2.16.840.1.113883.19.5&GUID||||ABCB^DrASurname^DrAttending^^^^Dr^^SUPER-LIS~123456^DrASurname^DrAttending^^^^Dr^^ACMEHOSP~2304227F^DrASurname^DrAttending^^^^Dr^^AUSHICPR|HIJK^DrASurname^DrReferring^^^^Dr^^SUPER-LIS~858595^DrASurname^DrReferring^^^^Dr^^ACMEHOSP~2929016F^DrASurname^DrReferring^^^^Dr^^AUSHICPR
 +
    ORC|RE|112233^RhubarbOrders^2.16.840.1.113883.19.4.1^GUID|15P456080-123456^SUPER-LIS^2.16.840.1.113883.19.1^GUID|44556677^RhubarbOrdersGroupID^2.16.840.1.113883.19.4.2^GUID|CM||||201504100800+1000|||DFTR^DrBSurname^DrOrdering^^^^Dr^^SUPER-LIS~958678^DrASurname^DrOrdering^^^^Dr^^ACMEHOSP~4322581B^DrBSurname^DrOrdering^^^^Dr^^AUSHICPR||^WPN^PH^^^^0893412041|201504100730+1000
 +
    OBR|1|112233^RhubarbOrders^2.16.840.1.113883.19.4.1^GUID|15P456080-123456^SUPER-LIS^2.16.840.1.113883.19.1^GUID|FBE^Full Blood Count^SUPER-LIS^26604007^Complete blood count^SCT|||20131107000024+0800|20131106233000+0800||||""|Patient has a history of severe gout caused by rhubarb.|20131106235200+0800||DFTR^DrBSurname^DrOrdering^^^^Dr^^SUPER-LIS~958678^DrASurname^DrOrdering^^^^Dr^^ACMEHOSP~4322581B^DrBSurname^DrOrdering^^^^Dr^^AUSHICPR|^WPN^PH^^^^0893412041|ARMC|8E|CP=N,DR=4322581B|13P456080|20131107000200+0800||HM|F||^^^201504100800+1000^^RT|2304227F^DrCopyASurname^DrCopyToA^^^^Dr^^AUSHICPR~0813266H^DrCopyBSurname^DrCopyToB^^^^Dr^^AUSHICPR~4628361B^DrCopyCSurname^DrCopyToC^^^^Dr^^AUSHICPR
 +
    OBX|1|NM|718-7^Hemoglobin^LN^HB^Haemoglobin^ACMEPATH||145|g/L^^ISO+|130-180||||F|||20131107000024+0800|""|RO56^SurnameResponsibleObserver^Givenname^^^^^^SUPER-LIS
 +
    OBX|2|NM|789-8^Erythrocytes^LN^RCC^Red Cell Count^ACMEPATH||5.30|x10\S\12/L^^ISO+|4.50-6.50||||F|||20131107000024+0800|""|RO56^SurnameResponsibleObserver^Givenname^^^^^^SUPER-LIS
 +
    OBX|3|NM|4544-3^Hematocrit^LN^HCT^HCT^ACMEPATH||0.43|L/L^^ISO+|0.40-0.54||||F|||20131107000024+0800|""|RO56^SurnameResponsibleObserver^Givenname^^^^^^SUPER-LIS
 +
    OBX|4|NM|MCV^MCV^ACMEPATH||81|fL^^ISO+|80-96||||F|||20131107000024+0800|""|RO56^SurnameResponsibleObserver^Givenname^^^^^^SUPER-LIS
 +
    OBX|5|NM|MCH^MCH^ACMEPATH||27.4|pg^^ISO+|24.0-32.0||||F|||20131107000024+0800|""|RO56^SurnameResponsibleObserver^Givenname^^^^^^SUPER-LIS
 +
    OBX|6|NM|MCHC^MCHC^ACMEPATH||338|g/L^^ISO+|320-360||||F|||20131107000024+0800|""|RO56^SurnameResponsibleObserver^Givenname^^^^^^SUPER-LIS
 +
    OBX|7|NM|PLAT^Platelet^ACMEPATH||198|x10\S\9/L^^ISO+|150-400||||F|||20131107000024+0800|""|RO56^SurnameResponsibleObserver^Givenname^^^^^^SUPER-LIS
 +
    OBX|8|NM|WCC^White Cell Count^ACMEPATH||12.1|x10\S\9/L^^ISO+|4.0-11.0|H|||F|||20131107000024+0800|""|RO56^SurnameResponsibleObserver^Givenname^^^^^^SUPER-LIS
 +
    OBX|9|NM|NEUTS^Neutrophils^ACMEPATH||9.3|x10\S\9/L^^ISO+|2.0-7.5|H|||F|||20131107000024+0800|""|RO56^SurnameResponsibleObserver^Givenname^^^^^^SUPER-LIS
 +
    OBX|10|NM|LYMPHOS^Lymphocytes^ACMEPATH||2.1|x10\S\9/L^^ISO+|1.0-4.0||||F|||20131107000024+0800|""|RO56^SurnameResponsibleObserver^Givenname^^^^^^SUPER-LIS
 +
    OBX|11|NM|MONOS^Monocytes^ACMEPATH||0.7|x10\S\9/L^^ISO+|0.1-0.8||||F|||20131107000024+0800|""|RO56^SurnameResponsibleObserver^Givenname^^^^^^SUPER-LIS
 +
    OBX|12|NM|EOS^Eosinophils^ACMEPATH||0.0|x10\S\9/L^^ISO+|0.0-0.4||||F|||20131107000024+0800|""|RO56^SurnameResponsibleObserver^Givenname^^^^^^SUPER-LIS
 +
    OBX|13|NM|BASOS^Basophils^ACMEPATH||0.0|x10\S\9/L^^ISO+|0.0-0.2||||F|||20131107000024+0800|""|RO56^SurnameResponsibleObserver^Givenname^^^^^^SUPER-LIS
 +
    OBX|14|TX|TXT^TXT^AUSPDI^HFBC^HFBC Image^ACMEPATH||CUMULATIVE REPORT~Req No:    P261477  P262309  P263409  P287303  P456080~  Date:  29/06/13  30/06/13  01/07/13  16/07/13  06/11/13~  Time:     07:37    08:23    08:20    19:20    23:30  Units    Ref Range~------------------------------------------------------------------------------~BLOOD COUNT~Hb            138      141      139      135      145  g/L      130-180~WCC          7.9      7.5      7.5      9.5      12.1H  x10\S\9/L  4.0-11.0~Plat          280      299      272      186      198  x10\S\9/L  150-400~MCV            87        88        86        86        81  fL      80-96~RCC          4.87      5.02      4.97      4.79      5.30  x10\S\12/L 4.50-6.50~HCT          0.42      0.44      0.43      0.41      0.43  L/L      0.40-0.54~MCH          28.3      28.1      28.0      28.2      27.4  pg      24.0-32.0~MCHC          327      320      326      328      338  g/L      320-360~RDW          13.8      13.9      14.0      14.3H    15.5H  %        11.0-14.0~MPV          10.7      10.8H    10.7      11.0H    11.2H  fL      6.4-10.7~Differential~Neut          3.9      3.6      3.7      4.6      9.3H x10\S\9/L  2.0-7.5~Lymph          2.9      2.9      2.7      3.6      2.1  x10\S\9/L  1.0-4.0~Mono          0.7      0.5      0.6      0.7      0.7  x10\S\9/L  0.1-0.8~Eos            0.5H      0.4      0.4      0.6H      0.0  x10\S\9/L  0.0-0.4~Baso          0.0      0.0      0.0      0.0      0.0  x10\S\9/L  0.0-0.2|||A|||F|||20131107000024+0800|""|RO56^SurnameResponsibleObserver^Givenname^^^^^^SUPER-LIS
  
The details of this track can be found here: [[Connectathon9_Financial]].
+
Extra scenarios for the high achievers:
  
In summary the test scenarios are:
+
http://wiki.hl7.org/index.php?title=Version_2_-_FHIR_Mapping_Scenarios (Supporting the messaging interoperability paradigm)
# Submit a Claim via REST (Create), Retrieve a ClaimResponse (Get)
 
# Submit a Claim via WSI Web Services and Receive a ClaimResponse
 
# Retrieve deferred ClaimResponse via ProcessRequest
 
  
=== Track 4 - Terminology Services ===
 
  
Coordinator: [mailto:rrhausam@gmail.com Rob Hausam]
+
=== Track 3 - Terminology Services ===
  
 
==== Service Providers ====
 
==== Service Providers ====
Line 206: Line 183:
 
Service providers are not required to implement all this functionality - it's a lot to do. For new implementers, start at the top and work down (generally)
 
Service providers are not required to implement all this functionality - it's a lot to do. For new implementers, start at the top and work down (generally)
  
(note for participants in the first terminology services connectathon: this stream builds on the previous connectathon by adding $lookup and $translate)
+
There's a fairly specific test script with detail descriptions of scenarios at http://gforge.hl7.org/svn/fhir/trunk/connectathons/Paris2015/tx_test_script.xml (for anonymous access, use 'anonymous' with our email as a password). Implementers are not required to implement the full script and pass those particular tests, though it is encouraged to be able to do so. Note about the test script: you need a version of Sprinkler to execute it (you can get it from Grahame). It looks like a resource, and will be defined as a resource
 
 
There's a fairly specific test script with detail descriptions of scenarios at http://gforge.hl7.org/svn/fhir/trunk/connectathons/Paris2015/tx_test_script.xml (for anonymous access, use 'anonymous' with our email as a password). Implementers are not required to implement the full script and pass those particular tests, though it is encouraged to be able to do so
 
 
 
note about the test script: you need a version of Sprinkler to execute it (details to be provided). It looks like a resource, and there is a proposal to actually add it as a resource. On the other hand, we'll be considering alternative proposals in Paris as well as that format. Or you can use any other kind of http based test service; there's nothing magic there.
 
  
 
==== Client Consumers ====
 
==== Client Consumers ====
Line 218: Line 191:
 
* validate a code using the spec against a FHIR value set, a v2 value set, or LOINC or snomed CT
 
* validate a code using the spec against a FHIR value set, a v2 value set, or LOINC or snomed CT
 
* look up a display for a code (most appropriate for v2/FHIR conversion)
 
* look up a display for a code (most appropriate for v2/FHIR conversion)
 +
* translate a code from a custom code system to SNOMED CT.
 +
 +
Note: you can use [[http://aehrc.com/research/health-data-management-and-semantics/clinical-terminology-tools/snapper-platform Snapper]] to create value set and concept maps to upload to the http://fhir-dev.healthintersections.com.au server
  
 
At least one server supports all these operations (http://fhir-dev.healthintersections.com.au). Other servers, including the Apelon server (http://dtsonfhirdemo.apelon.com:8081/_DTS_ON_FHIR_DEMO_02) will support some of those operations
 
At least one server supports all these operations (http://fhir-dev.healthintersections.com.au). Other servers, including the Apelon server (http://dtsonfhirdemo.apelon.com:8081/_DTS_ON_FHIR_DEMO_02) will support some of those operations
Line 223: Line 199:
 
== Servers ==
 
== Servers ==
  
http://wiki.hl7.org/index.php?title=Version_2_-_FHIR_Mapping_Scenarios (Supporting the messaging interoperability paradigm)
 
  
 
[[Publicly Available FHIR Servers for testing]]
 
[[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 (see the list of tutorials at the bottom of this page)
 
 
== FHIR User Group ==
 
Subsequent to the actual connectathon (i.e. Sunday PM) the "[[AID|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 201505 Meeting in Paris|AID Sunday PM Agenda]] for details.
 
*Please contact [mailto:rene.spronk@ringholm.com 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 pm - FHIR for Architects
 
* Wed am - FHIR Profiling
 
* Wed pm - Intro to FHIR Development
 
Detailed descriptions are available in the [http://www.hl7.org/documentcenter/public_temp_FCE637F6-1C23-BA17-0C21CFE320D7681D/brochures/wgm/HL7_WGM_20141118.pdf 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 [[http://wiki.hl7.org/index.php?title=FHIR_Agenda_201405_WGM|agenda]] 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 =
 
 
* Other FHIR Connectathons:
 
** 1st [[FHIR Connectathon]] (8 Sept. 2012 - Baltimore MD, USA)
 
** [[FHIR Connectathon 2]] (12/13 Jan. 2013 - Phoenix AZ, USA)
 
** [[FHIR Connectathon 3]] (4/5 May 2013 - Atlanta GA, USA)
 
** [[FHIR Connectathon 4]] (21/22 Sept. 2013 - Cambridge MA, USA)
 
** FHIR Mini Connectathon (Oct. 2013 - Sydney, Australia)
 
** [[FHIR Connectathon 5]] (18/19 Jan. 2014 - San Antonio TX, USA)
 
** [[FHIR Connectathon 6]] (3/4 Jan. 2014 - Phoenix, Arizona, USA)
 
** [[FHIR Connectathon 7]] (September. 2014 - Chicago, IL, USA)
 
** [[FHIR Connectathon 8]] (January 2015 - San Antonio, USA)
 
[[Category:FHIR Connectathons]]
 

Latest revision as of 22:41, 17 June 2015


Introduction

This page describes the FHIR Connectathon that will be held on Thursday June 18 Brisbane. Australia

Location

The meeting will be held at Australian e-Health Research Centre, Level 5, UQ Health Sciences Building 901/16, Royal Brisbane and Women's Hospital, Brisbane, Australia

Important notes:

  • To be added to the skype Implementers chat, skype david hay (david.hay25) or anyone who is already on the chat
  • This connectathon is based on this FHIR version: [[1]]
  • Google results spreadhseet:here

Themes

This connectathon will have 3 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
  • Version 2 mapping to FHIR Messages
  • Terminology Services


Note: at every connectathon, participants attend and test functionality other than that described in the scenarios.

Note also that the connectathon will be based on the DSTU-2 Candidate version of FHIR which is posted at [2]

Connectathon Organization

The connectathon will be held over a single day, with most of the day 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.

The latter part of the day - likely around 3.30 - will be a 'show and tell' for participants to demonstrate their progress to the group.


Enrollment

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.

email: admin@HL7.org.au to register

  • 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

Connectathon Planning Team


Test servers

Grahame's server Brett's server Hapi DSTU2

Connectathon tracks

This section lists the scenarios that are proposed for this connectathon. The scenarios are grouped into 3 tracks. Track 1 is for those new to FHIR and requires minimal preparation in advance of the connectathon (at least for client applications). Tracks 2 and 3 are focused on particular implementation activities with FHIR and exercise a more complete set of behavior designed to reflect a full production experience - preparation in advance will be required.

Note that this track - as with all tracks - will use the candidate 'DSTU-2' version of FHIR as described here. If you've been to a connectathon before and done this track, then you may need to change your code, as there have been many important changes to the specification.

Track 1 - Patient

Coordinator: David Hay

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

FHIR Interactions: search, read, create, update, history

1. Search for a patient on name

  • Action: (Patient Demographics consumer) searches the patient Service for patients with a given name
  • Success Criteria: patients displayed in interface, or a message that no patients exist. (use browser query to confirm)

2. Register a new patient

  • Action: (Patient Demographics consumer) creates a new patient and save to Patient Service. The client can assign the Id (or not - leave it to the server)
  • Precondition: Patient does not exist in service prior to action
  • Success Criteria: Patient created correctly on server (use browser to inspect Patient, or find Patient by search from #1)
  • Bonus point: The Patient resource has an extension

>> Note: if the server assigns the Id, then the client will need to be able to retrieve the Id from the server response

3. Update a patient

  • Action: (Patient Demographics consumer) updates the patient created in scenario #2 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.

4. 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: Patient's history displayed in interface. (use browser query Patient Service)
  • Bonus point: The UI allows the user to display previous versions of the Patient Resource

Some help links:


Track 2 - v2 Message conversion

This message involves writing some software (in a programming or scripting language of your choice) that converts a v2 message into a series of FHIR resource operations and submitting them directly, or as a single transaction (preferred) to http://fhir-dev.healthintersections.com.au/open. The definition of 'success' is that the content of the message is successfully transferred to the server - use the web interface on the FHIR server to confirm successful delivery.

Notes:

  • Most of the v2 identifiers do not have namespaces. You should make up your own as you do the conversion
  • In order to avoid identifier clashes with other connectathon participants, you should append your initials to the message & segment identifiers
  • All resources have a mapping page with v2 & v3 mappings (This connectathon is to test them!)
  • There are 2 sample messages below that you can use as the basis for your work, or you can choose any v2 message of your own (that doesn't involve real patient data!)
  • Whitepaper about v2 -> FHIR: Blog post, whitepaper
  • Further details of a similar track can be found here: Version 2 - FHIR Mapping Scenarios.

Example Message 1 (ADT)

   MSH|^~\&|SomeSystem||TransformationAgent||20150502090000||ADT^A01|controlID|P|2.5
   EVN|A01|20150502090000|
   PID|1||NHS_Number^10^^NHS^NH~LocalPatId^^^TCPAS^MR||Kennedy^Ann^F^^Ms^^L||19280524^Y|F|||22 Stable Road^^Whitstable^Kent^^CR5 1EL^^^^P||277543^PRN|||U||
   NK1|1|Kennedy^Joe|FTH|||+44 201 12345678||
   PV1||I|INT^0001^02^GENHOS||||0100^ANDERSON,CARL|0148^ADDISON,JAMES||SUR|||||||0148^ANDERSON,CARL|S|VisitNumber^^^GENHOS|A|||||||||||||||||||GENHOS|||||20150502090000|
   AL1|1|DA|1605^acetaminophen^L|MO|Muscle Pain~hair loss
   AL1|2|DA|1558^Oxycodone^L|MO|Muscle Pain~hair loss
   AL1|3|MA|2221^Peanuts^L|SV|Anaphylactic Shock 

Example Message 2 (Lab)

   MSH|^~\&|SUPER-LIS^2.16.840.1.113883.19.1^GUID|ACMEPATH^4321^AUSNATA|PCEHR^2.16.840.1.113883.19.2^GUID|DOHA^2.16.840.1.113883.19.3^GUID|20150410083015+1000||ORU^R01^ORU_R01|P4560801311070004069|P|2.4|||AL|NE|AUS|8859/1
   PID|1||2142363^^^ACMEHOSP^MR~61405230941^^^AUSHIC^MC~WA123456B^^^AUSDVA^PEN||PatientSurnameOne^FirstnameOne^MiddleNameOne^SufixOne^PrefixOne^^L~PatientSurnameTwo^FirstnameTwo^MiddleNameTwo^SufixTwo^PrefixTwo^^M||194506241031|M|||Unit 1^111 ACME Street^Brisbane^^4000^AUS^H~Unit 2^222 ACMETwo Street^Brisbane^^4000^AUS^B||^^^^^^93235615|^WPN^CP^^^^0414778341
   PV1|1|O|Ward1^RoomE8^Bed10^ACMEHOSP&2.16.840.1.113883.19.5&GUID||||ABCB^DrASurname^DrAttending^^^^Dr^^SUPER-LIS~123456^DrASurname^DrAttending^^^^Dr^^ACMEHOSP~2304227F^DrASurname^DrAttending^^^^Dr^^AUSHICPR|HIJK^DrASurname^DrReferring^^^^Dr^^SUPER-LIS~858595^DrASurname^DrReferring^^^^Dr^^ACMEHOSP~2929016F^DrASurname^DrReferring^^^^Dr^^AUSHICPR
   ORC|RE|112233^RhubarbOrders^2.16.840.1.113883.19.4.1^GUID|15P456080-123456^SUPER-LIS^2.16.840.1.113883.19.1^GUID|44556677^RhubarbOrdersGroupID^2.16.840.1.113883.19.4.2^GUID|CM||||201504100800+1000|||DFTR^DrBSurname^DrOrdering^^^^Dr^^SUPER-LIS~958678^DrASurname^DrOrdering^^^^Dr^^ACMEHOSP~4322581B^DrBSurname^DrOrdering^^^^Dr^^AUSHICPR||^WPN^PH^^^^0893412041|201504100730+1000
   OBR|1|112233^RhubarbOrders^2.16.840.1.113883.19.4.1^GUID|15P456080-123456^SUPER-LIS^2.16.840.1.113883.19.1^GUID|FBE^Full Blood Count^SUPER-LIS^26604007^Complete blood count^SCT|||20131107000024+0800|20131106233000+0800||||""|Patient has a history of severe gout caused by rhubarb.|20131106235200+0800||DFTR^DrBSurname^DrOrdering^^^^Dr^^SUPER-LIS~958678^DrASurname^DrOrdering^^^^Dr^^ACMEHOSP~4322581B^DrBSurname^DrOrdering^^^^Dr^^AUSHICPR|^WPN^PH^^^^0893412041|ARMC|8E|CP=N,DR=4322581B|13P456080|20131107000200+0800||HM|F||^^^201504100800+1000^^RT|2304227F^DrCopyASurname^DrCopyToA^^^^Dr^^AUSHICPR~0813266H^DrCopyBSurname^DrCopyToB^^^^Dr^^AUSHICPR~4628361B^DrCopyCSurname^DrCopyToC^^^^Dr^^AUSHICPR
   OBX|1|NM|718-7^Hemoglobin^LN^HB^Haemoglobin^ACMEPATH||145|g/L^^ISO+|130-180||||F|||20131107000024+0800|""|RO56^SurnameResponsibleObserver^Givenname^^^^^^SUPER-LIS
   OBX|2|NM|789-8^Erythrocytes^LN^RCC^Red Cell Count^ACMEPATH||5.30|x10\S\12/L^^ISO+|4.50-6.50||||F|||20131107000024+0800|""|RO56^SurnameResponsibleObserver^Givenname^^^^^^SUPER-LIS
   OBX|3|NM|4544-3^Hematocrit^LN^HCT^HCT^ACMEPATH||0.43|L/L^^ISO+|0.40-0.54||||F|||20131107000024+0800|""|RO56^SurnameResponsibleObserver^Givenname^^^^^^SUPER-LIS
   OBX|4|NM|MCV^MCV^ACMEPATH||81|fL^^ISO+|80-96||||F|||20131107000024+0800|""|RO56^SurnameResponsibleObserver^Givenname^^^^^^SUPER-LIS
   OBX|5|NM|MCH^MCH^ACMEPATH||27.4|pg^^ISO+|24.0-32.0||||F|||20131107000024+0800|""|RO56^SurnameResponsibleObserver^Givenname^^^^^^SUPER-LIS
   OBX|6|NM|MCHC^MCHC^ACMEPATH||338|g/L^^ISO+|320-360||||F|||20131107000024+0800|""|RO56^SurnameResponsibleObserver^Givenname^^^^^^SUPER-LIS
   OBX|7|NM|PLAT^Platelet^ACMEPATH||198|x10\S\9/L^^ISO+|150-400||||F|||20131107000024+0800|""|RO56^SurnameResponsibleObserver^Givenname^^^^^^SUPER-LIS
   OBX|8|NM|WCC^White Cell Count^ACMEPATH||12.1|x10\S\9/L^^ISO+|4.0-11.0|H|||F|||20131107000024+0800|""|RO56^SurnameResponsibleObserver^Givenname^^^^^^SUPER-LIS
   OBX|9|NM|NEUTS^Neutrophils^ACMEPATH||9.3|x10\S\9/L^^ISO+|2.0-7.5|H|||F|||20131107000024+0800|""|RO56^SurnameResponsibleObserver^Givenname^^^^^^SUPER-LIS
   OBX|10|NM|LYMPHOS^Lymphocytes^ACMEPATH||2.1|x10\S\9/L^^ISO+|1.0-4.0||||F|||20131107000024+0800|""|RO56^SurnameResponsibleObserver^Givenname^^^^^^SUPER-LIS
   OBX|11|NM|MONOS^Monocytes^ACMEPATH||0.7|x10\S\9/L^^ISO+|0.1-0.8||||F|||20131107000024+0800|""|RO56^SurnameResponsibleObserver^Givenname^^^^^^SUPER-LIS
   OBX|12|NM|EOS^Eosinophils^ACMEPATH||0.0|x10\S\9/L^^ISO+|0.0-0.4||||F|||20131107000024+0800|""|RO56^SurnameResponsibleObserver^Givenname^^^^^^SUPER-LIS
   OBX|13|NM|BASOS^Basophils^ACMEPATH||0.0|x10\S\9/L^^ISO+|0.0-0.2||||F|||20131107000024+0800|""|RO56^SurnameResponsibleObserver^Givenname^^^^^^SUPER-LIS
   OBX|14|TX|TXT^TXT^AUSPDI^HFBC^HFBC Image^ACMEPATH||CUMULATIVE REPORT~Req No:    P261477   P262309   P263409   P287303   P456080~  Date:   29/06/13  30/06/13  01/07/13  16/07/13  06/11/13~  Time:      07:37     08:23     08:20     19:20     23:30  Units    Ref Range~------------------------------------------------------------------------------~BLOOD COUNT~Hb            138       141       139       135       145   g/L      130-180~WCC           7.9       7.5       7.5       9.5      12.1H  x10\S\9/L  4.0-11.0~Plat          280       299       272       186       198   x10\S\9/L  150-400~MCV            87        88        86        86        81   fL       80-96~RCC          4.87      5.02      4.97      4.79      5.30   x10\S\12/L 4.50-6.50~HCT          0.42      0.44      0.43      0.41      0.43   L/L      0.40-0.54~MCH          28.3      28.1      28.0      28.2      27.4   pg       24.0-32.0~MCHC          327       320       326       328       338   g/L      320-360~RDW          13.8      13.9      14.0      14.3H     15.5H  %        11.0-14.0~MPV          10.7      10.8H     10.7      11.0H     11.2H  fL       6.4-10.7~Differential~Neut           3.9       3.6       3.7       4.6       9.3H x10\S\9/L  2.0-7.5~Lymph          2.9       2.9       2.7       3.6       2.1  x10\S\9/L  1.0-4.0~Mono           0.7       0.5       0.6       0.7       0.7  x10\S\9/L  0.1-0.8~Eos            0.5H      0.4       0.4       0.6H      0.0  x10\S\9/L  0.0-0.4~Baso           0.0       0.0       0.0       0.0       0.0  x10\S\9/L  0.0-0.2|||A|||F|||20131107000024+0800|""|RO56^SurnameResponsibleObserver^Givenname^^^^^^SUPER-LIS

Extra scenarios for the high achievers:

http://wiki.hl7.org/index.php?title=Version_2_-_FHIR_Mapping_Scenarios (Supporting the messaging interoperability paradigm)


Track 3 - Terminology Services

Service Providers

For service providers, implement the following operations from http://hl7.org/fhir/2015May/terminology-service.html:

  • $expand
  • $validate-code (note: there's a set of typos on the terminology service page where this operation is called "validate" but its actually "validate-code" - editorial oversight)
  • $lookup
  • $translate (note: there's a typo on the terminology service page where the example has '$validate' not '$translate')

Service providers are not required to implement all this functionality - it's a lot to do. For new implementers, start at the top and work down (generally)

There's a fairly specific test script with detail descriptions of scenarios at http://gforge.hl7.org/svn/fhir/trunk/connectathons/Paris2015/tx_test_script.xml (for anonymous access, use 'anonymous' with our email as a password). Implementers are not required to implement the full script and pass those particular tests, though it is encouraged to be able to do so. Note about the test script: you need a version of Sprinkler to execute it (you can get it from Grahame). It looks like a resource, and will be defined as a resource

Client Consumers

Any one of

  • do a value set expansion of one of the value sets in the spec
  • validate a code using the spec against a FHIR value set, a v2 value set, or LOINC or snomed CT
  • look up a display for a code (most appropriate for v2/FHIR conversion)
  • translate a code from a custom code system to SNOMED CT.

Note: you can use [Snapper] to create value set and concept maps to upload to the http://fhir-dev.healthintersections.com.au server

At least one server supports all these operations (http://fhir-dev.healthintersections.com.au). Other servers, including the Apelon server (http://dtsonfhirdemo.apelon.com:8081/_DTS_ON_FHIR_DEMO_02) will support some of those operations

Servers

Publicly Available FHIR Servers for testing