Submitting WG/Project/Implementer Group
FHIR Infrastructure
Justification and Objectives
The purpose of this connectathon track is to test the latest version of the rendering, advanced pre-population and extraction features of the SDC Implementation Guide. There will be a particular focus on using these capabilities for intake and screening forms related to Covid 19
This track will use FHIR R4, and the latest SDC Implementation Guide (almost ready for publishing)
Clinical input requested (if any)
Clinical use-cases are always welcome
Track Leads
Zoom channel
Our face-to-face sessions will happen on this Zoom stream: https://zoom.us/j/6192821589
Chat.fhir.org stream
Connectathon discussion and coordination will happen here: https://chat.fhir.org/#narrow/stream/179255-questionnaire/topic/Connectathon.20Track
Sign-up sheet:
Breakout sessions
Wed: 17:30-18:30 | Compositional Questionnaires |
Thur: 10:30-12:00 | Intro to SDC |
Thur: 17:00-18:00 | Regular SDC call |
Fri: 10:30-12:00 | Overview of various form builders & renderers |
Fri: 17:30-18:00 | Final discussion |
Intro/prep video
Kick-off video
Track Results
System Roles
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)
Scenarios
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
Example form: https://sqlonfhir-r4.azurewebsites.net/fhir/Questionnaire/pre-pop-test
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)
Precondition: (none)
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
TestScript(s)
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.