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

Lloyd McKenzie

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:30Compositional Questionnaires
Thur: 10:30-12:00Intro to SDC
Thur: 17:00-18:00Regular SDC call
Fri: 10:30-12:00Overview of various form builders & renderers
Fri: 17:30-18:00Final discussion

Intro/prep video

8285329595775719680.mp4

Kick-off video

https://zoom.us/rec/share/3PZqDrXWxzNLHtbMwl3vWKsGGa3mT6a823dN_fIJ3tU09rxCoADyPtb5C01F7g?startTime=1589402147000

Track Results

See report here: 

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.


  • No labels