Submitting WG/Project/Implementer Group
FHIR Infrastructure / CSIRO Clinical Data Standards Workgroup
Justification and Objectives
The purpose of this connectathon track is to test the latest version of the advanced pre-population features of the SDC Implementation Guide, and suitability for use in extracting data from Australian Primary Care Systems for sharing with other systems.
This track will use FHIR R4, and the latest SDC Implementation Guide (almost ready for publishing)
Clinical input requested (if any)
Does your track have a need for input from the clinical community? If so, what are the needs?
(used to help guide seating arrangements and possibly drive track consolidation)
Proposed Track Lead
Who do you expect to be present? How many do you expect to attend?
Telstra Health (Brian Postlethwaite, possibly others) - all Roles
Oridashi (Brett Esler) - Data/Context provider
Best Practice - Data provider
Brian Postlethwaite (Telstra Health - Australia)
Michele Mottoni (Care Evolution - USA)
Paul Lynch (SU National Library of Medicine NLM - USA)
Buminda Nawagamuwa (Telstra Health - Australia)
Steven Edge (Genie Solutions - Australia)
Yana Beda (Beda Software - Russia)
Ilya Beda (Beda Software - Russia)
Alexander Bartschke (BIH - Germany)
Lloyd MacKenzie (Gevity - Canada)
Vladimir Smirnov (Medlinx, Russia)
The example populate demonstration was shown and tested by several attendees
Michele is attempting to import a FHIR Questionnaire definition into his internal structures
Yana/Ilya are attempting to export their internal form structure to the FHIR Questionnaire definition, and produced a demo app: http://ui.hl7.beda.software/
Managed to use the Populate demo page to use a questionnaire definition from TelstraHealth, populate code from Beda software, data extracted from Oridashi, and rendered by Telstra Health! (now that's some interoperability)
Brian discussed with the Primary Care track getting their questionnaire definitions going, also spoke with Lisa Nelson regarding using the Telstra Health populate demonstration for their Social Determinants of Health guide and how to leverage existing content.
Alexander was able to create some new questionnaires with the LHC Forms editor, and render them with the Telstra Health Renderer
Thomas Clarke from Best Practice was able to Substitute his data server for the Oridashi one and successfully provide Practitioner and Patient data, and is hoping to be able to provide DocumentReference data tomorrow.
Testing the pre-populate with alternate data providers: Oridashi (works), Health Intersections (works), Pyro (get works, however no batch search support), DXC (get works, batch support CORS preflight issue in browser)
TBD - Still in progress!
TBD - Still in progress!
TBD - Still in progress!
Sun 2:30 - 3:30 NLM FHIR Tools Overview (https://lhcforms.nlm.nih.gov/) (Paul Lynch)
Telstra Health Tech Overview (Brian Postlethwaite)
General SDC discussions
Sun 3:30 - 4:30 Querying answer lists as a property of a selected answer
(Paul Lynch) http://rxterms.nlm.nih.gov
How to select content to be available as answers (e.g. read the list of conditions from the patient and permit the user to select them) - Brian Postlethwaite - using this extension?
Monday - we should do a breakout session to discuss the gaps that have been identified in the spec from the days experimentation
A webinar was held on 29 Jan 2020 at 9am sharing further participation information about this track.
(a recoding of the session will be linked soon for those that missed it)
Role 1 - Forms Repository Server
A server that holds the FHIR Questionnaires to be used for rendering and pre-population (forms should have the SDC pre-population information in them)
https://sqlonfhir-r4.azurewebsites.net/fhir/Questionnaire (demonstration forms are here pre-pop-test)
Role 2 - Data Provider
A FHIR Server that provides data for use in the pre-population of a form, and also clinical context (preferably through smart on fhir app launch)
For best results the server should also support the search batch processing, reducing the number of calls to the server to retrieve data to populate with.
http://demo.oridashi.com.au:8304/ (demonstration Oridashi test Cloud MD Server)
Role 3 - Populate Server
A server that implements the SDC $populate operation, with FHIRPath or Observation based data extraction processing
https://sqlonfhir-r4.azurewebsites.net/fhir/Questionnaire/$populate (this server implements at the type and instance levels)
Role 4 - Forms Receiver
A server that will receive a FHIR Questionnaire that has been submitted by a user, and subsequently validated.
https://sqlonfhir-r4.azurewebsites.net/fhir/Questionnaire (Telstra Health test server)
Role 5 - Form Renderer
A user interface for displaying a Questionnaire/Questionnaire response, permitting a user to complete the form and submit the answers.
http://smartqedit4.azurewebsites.net/Questionnaire (Testra Health test form renderer)
Describe the different scenarios participating systems can engage in during the connectathon. Each scenario should provide sufficient description that participants can appropriately construct their software in advance to prepare to inter-operate during the connectathon.
Scenario 1 - Create a new Form with fhirpath based pre-population fields inside
This will be used to get experience creating forms, including data extraction information, and fhirpath expressions
The FHIRPathTester tool on windows can be used to test fhirpath expressions
Action: Create a new form and save it to a FHIR Server (Such as the Telstra Health Test Server - which will validate the definition)
Success Criteria: Form was able to validate and be used by a populate server, retrieving data from several FHIR Servers (PMS)
Bonus point: Search bundle was external to the form
Bonus point: Data extraction includes multiple launch contexts
Bonus point: Multiple queries in the search bundle
Bonus point: Multiple groups with complex fhirpath extract expressions
Scenario 2 - Provide data for pre-population based on a Search Bundle
Action: Return the results a search for data as defined by a form pre-population definition
Precondition: A Form with pre-populate rules, a context to perform the searching
Success Criteria: able to return the results of the search
Bonus point: able to handle a bundle as well as individual search interactions
Scenario 3 - Perform a pre-population of provided form
Action: Implement the fhirpath based $populate operation
Precondition: A form definition with fhirpath based data extraction rules in it, and the set of required resources to complete the population (data context)
Success Criteria: A draft QuestionnaireResponse resource is created with all the answers as completed
Bonus point: pre-populate a definition with repeating sections
Bonus point: pre-populate a definition with multiple search bundle queries
Scenario 4 - Validate a form provided by a user that has been pre-populated
Action: perform QuestionnaireResponse validation against a defined Questionnaire definition, including SDC extenions.
Precondition: A form that has SDC validation extensions in it
Success Criteria: The basic FHIR validations, and Questionnaire Type validations are performed
Bonus point: SDC extensions are reported
Bonus point: SDC complex validation extensions are reported
Scenario 5 - Render a form with data that has been been pre-populated
Action: Ability to render the QuestionnaireResponse, and then submit it to a designated location (for validation etc)
Precondition: A QuestionnaireResponse with completed answers in it.
Success Criteria: Each completed answer should display with the data as extracted, and SDC extensions should also be honored, specifically enable when.
Bonus point: Fhirpath based enable when logic
None at this point, however will have a test service available for all roles, that you can switch various roles for testing, or provide your own questionnaires too.
Security and Privacy Considerations
Identify any expectations around security (e.g. will TLS, mutual-TLS, OAuth, etc. be required to participate)
For the purpose of this initial connectathon will assume that security will open for all to test the pre-population functionality only.