This wiki has undergone a migration to Confluence found Here

Difference between revisions of "201901 Questionnaire"

From HL7Wiki
Jump to navigation Jump to search
(Created page with "{{subst::Template for FHIR Connectathon Track Proposals}}")
 
 
Line 2: Line 2:
 
[[Category:201901_FHIR_Connectathon_Track_Proposals|Jan2019 Proposals]]
 
[[Category:201901_FHIR_Connectathon_Track_Proposals|Jan2019 Proposals]]
 
__NOTOC__
 
__NOTOC__
=Track Name=
+
=Questionnaire / Structured Data Capture=
  
 
==Submitting WG/Project/Implementer Group==
 
==Submitting WG/Project/Implementer Group==
<!-- Who is asking for this track? -->
+
FHIR Infrastructure - Structured Data Capture (SDC) project
  
 
==Justification==
 
==Justification==
<!--Why is this an important track to include in the connectathon - include implementer need, impact on ballot, FMM readiness of the resources, etc. -->
+
The new release of SDC has defined a number of additional capabilities around questionnaire that need to be exercised
 
 
  
 
==Clinical input requested==
 
==Clinical input requested==
<!--Please indicate here if you would like input from the the Clinical community please indicate so here. The  connectathon organizers will contact you to follow up. -->
+
This track will primarily be focused on technical testing, not clinical issues
  
 
==Related tracks==
 
==Related tracks==
<!--Other tracks in this event that share similar goals and could either be combined, or an attendee could reasonable do both -->
+
Argonaut (they will be executing some Questionnaire-related tests).  Clinical Research and CDS will have some affiliation
  
 
==Proposed Track Lead==
 
==Proposed Track Lead==
<!-- Name, email and Skype id of individual who will coordinate the track at the connectathon -->
+
Lloyd McKenzie
See [[Connectathon_Track_Lead_Responsibilities]]
+
:Skype ID: lmckenzi
 +
:Email: lmckenzie@gevityinc.com
 +
 
 +
==FHIR Version==
 +
This track will use the frozen version of the SDC IG included in the 2018Sep ballot, based on FHIR R4 draft
 +
 
 +
==Zulip Chat==
 +
 
 +
The Zulip Chat will be used to coordinate among participants during the connectathon:
 +
 
 +
[https://chat.fhir.org/#narrow/stream/102-questionnaire]
  
 
==Expected participants==
 
==Expected participants==
<!-- List of the individuals and/or organizations that have indicated a desire to attend the connectathon and implement this track -->
+
Grahame Grieve? Lloyd McKenzie, Brian Postlethwaite, 2-3 people from NLM, others?
  
 
==Roles==
 
==Roles==
Please include information here regarding how much advance preparation will be required if creating a client and/or server.
 
 
<!-- Roles are sets of functionality (generally defined by a Conformance resource) that a single system can take on -->
 
<!-- Roles are sets of functionality (generally defined by a Conformance resource) that a single system can take on -->
===Role 1 Name===
+
===Form Designer===
<!-- Provide a description of the capabilities this role will have within the connectathon -->
+
 
 +
Creates, submits, and revises Questionnaires
 +
 
 +
===Form Filler===
 +
Captures user form input
 +
 
 +
===Form Manager===
 +
Serves as the repository for form definitions and may also perform pre-population and data extraction
  
 
==Scenarios==
 
==Scenarios==
 
<!-- What will be the actions performed by participants? -->
 
<!-- What will be the actions performed by participants? -->
  
===Scenario Step 1 Name===
+
===Forms===
:Action: <!--Who does what?  (Use the role names listed above when referring to the participants -->
+
Objective: Test the form creation language defined by the SDC specification
:Precondition: <!-- What setup is required prior to executing this step? -->
+
 
:Success Criteria: <!-- How will the participants know if the test was successful? -->
+
1. Create an SDC-conformant form
:Bonus point: <!-- Any additional complexity to make the scenario more challenging -->
+
:Action: SDC Form Designer creates a new Questionnaire instance that is conformant with the SDC Questionnaire profile
 +
:Precondition: none
 +
:Success Criteria: Form passes validation against the Questionnaire schema and is identified as valid against the SDC Questionnaire profile by the FHIR profile validation tool
 +
:Bonus Point: Define a Questionnaire that makes use of all "must support" extensions
 +
:Bonus Point: Define a Questionnaire that makes use of all "optional" extensions
 +
:Bonus Point: Define contained or independently persisted value sets
 +
 
 +
2. Submit form
 +
:Action: SDC Form Designer submits Questionnaire to an SDC Form Manager for storage
 +
:Precondition: Questionnaire has been defined, Form Designer knows base URL for form manager
 +
:Success Criteria: Questionnaire is stored on Form Manager Server
 +
 
 +
3. Query forms
 +
:Action: SDC Form Filler or SDC Form Designer searches an SDC Form Manager for Questionnaires using one or more of the SDC-supported search criteria
 +
:Precondition: Questionnaires are available on the SDC Form Manager
 +
:Success Criteria: Set of matching Questionnaires is returned
 +
:Bonus Point: Make use of sorting and paging parameters
 +
 
 +
4. Update form
 +
:Action: the SDC Form Designer revises an existing Questionnaire previously stored in the SDC Form Manager and submits an update
 +
:Precondition: A version of the Questionnaire exists on the SDC Form Manager and the Form Designer
 +
:Success Criteria: A new version of the Questionnaire exists on the SDC Form Manager. The original version remains accessible via a history query
 +
:Bonus Point: Hand collision detection using e-tags
 +
 
 +
===Completed Forms===
 +
Objective: Test the ability to render, navigate, and capture data based on forms defined using SDC syntax
 +
 
 +
1. Render SDC form for input
 +
:Action: SDC Form Filler converts the definition of an SDC Questionnaire into a user interface that can solicit data from a human
 +
:Precondition: SDC Questionnaire has been retrieved
 +
:Success Criteria: Human can fill out the form populating the questions and groups within the Questionnaire
 +
:Bonus Point: Enforce conditional display while the user populates the Questionnaire
 +
:Bonus Point: Render the Questionnaire taking into account the must-support extensions defined in FHIR
 +
:Bonus Point: Render the Questionnaire taking into account the optional extensions defined in FHIR
 +
:Bonus Point: Provider appropriate interfaces to select from a referenced ValueSet
 +
 
 +
2. Record answers
 +
:Action: SDC Form Filler submits completed QuestionnaireResponse to an SDC Form Receiver
 +
:Precondition: SDC Questionnaire has been received and populated
 +
:Success Criteria: QuestionnaireAnswers instance is available for query on the SDC Form Filler
 +
:Bonus Point: Store a partially-completed QuestionnaireResponse
 +
:Bonus Point: Validate that the QuestionnaireResponse instance is valid against the Questionnaire and referenced ValueSets
 +
 
 +
3. Update answers
 +
:Action: SDC Form Filler retrieves QuestionnaireResponse instance and associated Questionnaire and displays the Questionnaire with data populated for update
 +
:Precondition: SDC Questionnaire and QuestionnaireResponse instances are available for query
 +
:Success Criteria: Revised QuestionnaireResponse instance is stored on SDC Form Receiver reflecting user's edits
 +
:Bonus Point: Ensure conditional display rules are enforced based on already populated data
 +
 
 +
===Form Population===
 +
Objective: Test ability to pre-populate/auto-populate forms
 +
 
 +
1. Pre-populate a form
 +
:Action: SDC Form Filler invokes the $populate operation on an SDC Form Manager passing a Questionnaire id and a FHIR instance
 +
:Precondition:SDC Form Filler has retrieved an SDC Form with queries and XPaths that define popualation expectations
 +
:Success Criteria: The SDC Form Filler receives a QuestionnaireResponse instance with the matching questions populated
 +
:Bonus Point: SDC Form Filler renders content appropriately following conditional display values - including hiding the populated elements that aren't allowed to be displayed
 +
 
 +
===Form Extraction===
 +
Objective: Test ability to extract information from a completed form into other FHIR resources
 +
 
 +
1. Pre-populate a form
 +
:Action: SDC Form Filler invokes the $extract operation on an SDC Form Manager passing a QuestionnaireResponse id
 +
:Precondition:QuestionnaireResponse references an accessible Questionnaire that includes mappings for extraction
 +
:Success Criteria: The SDC Form Filler receives a Bundle instance with data extracted from the QuestionnaireResponse
  
<!-- Provide a description of each task -->
 
  
 
==TestScript(s)==
 
==TestScript(s)==
 +
Not yet decided
 
<!-- Optional (for initial proposal): Provide links to the TestScript instance(s) that define the behavior to be tested.   
 
<!-- Optional (for initial proposal): Provide links to the TestScript instance(s) that define the behavior to be tested.   
 
These should be committed to SVN under trunk/connectathons/[connectathon]
 
These should be committed to SVN under trunk/connectathons/[connectathon]
Line 47: Line 126:
  
 
==Security and Privacy Considerations==
 
==Security and Privacy Considerations==
<!-- Optional (for initial proposal): Address the topic of Privacy and Security.
+
- No expectation of secure connection, authentication, audit, etc. as part of this track
* What Authentication/Authorization will be used (e.g. SMART on FHIR (OAuth), HEART (UMA/OAuth), IHE IUA (OAuth), generic OAuth, generic SAML, mutual-Auth-TLS), or explicitly indicate that it is out of scope and left to implementations.
 
* What Privacy Consent management will be used? When the Consent Resource is used, define how.
 
* What Audit Logging will be used? When the AuditEvent Resource is used, define expectations of what events will be logged and what each AuditEvent will contain.
 
* How will Provenance be used? Provenance use should be mandated when data is imported from other systems, so as to track that source of that data. Provenance should be used when data is authored by unusual sources, such as the Patient themselves or devices.
 
* How will security-labels be used? Security-labels are meta tags used to classify the data into various confidentiality, sensitivity, and integrity classifications. These security-labels are then available for use and available for access control decisions.
 
I am happy to help: JohnMoehrke@gmail.com -- security co-chair
 
-->
 

Latest revision as of 04:50, 25 October 2018


Questionnaire / Structured Data Capture

Submitting WG/Project/Implementer Group

FHIR Infrastructure - Structured Data Capture (SDC) project

Justification

The new release of SDC has defined a number of additional capabilities around questionnaire that need to be exercised

Clinical input requested

This track will primarily be focused on technical testing, not clinical issues

Related tracks

Argonaut (they will be executing some Questionnaire-related tests). Clinical Research and CDS will have some affiliation

Proposed Track Lead

Lloyd McKenzie

Skype ID: lmckenzi
Email: lmckenzie@gevityinc.com

FHIR Version

This track will use the frozen version of the SDC IG included in the 2018Sep ballot, based on FHIR R4 draft

Zulip Chat

The Zulip Chat will be used to coordinate among participants during the connectathon:

[1]

Expected participants

Grahame Grieve? Lloyd McKenzie, Brian Postlethwaite, 2-3 people from NLM, others?

Roles

Form Designer

Creates, submits, and revises Questionnaires

Form Filler

Captures user form input

Form Manager

Serves as the repository for form definitions and may also perform pre-population and data extraction

Scenarios

Forms

Objective: Test the form creation language defined by the SDC specification

1. Create an SDC-conformant form

Action: SDC Form Designer creates a new Questionnaire instance that is conformant with the SDC Questionnaire profile
Precondition: none
Success Criteria: Form passes validation against the Questionnaire schema and is identified as valid against the SDC Questionnaire profile by the FHIR profile validation tool
Bonus Point: Define a Questionnaire that makes use of all "must support" extensions
Bonus Point: Define a Questionnaire that makes use of all "optional" extensions
Bonus Point: Define contained or independently persisted value sets

2. Submit form

Action: SDC Form Designer submits Questionnaire to an SDC Form Manager for storage
Precondition: Questionnaire has been defined, Form Designer knows base URL for form manager
Success Criteria: Questionnaire is stored on Form Manager Server

3. Query forms

Action: SDC Form Filler or SDC Form Designer searches an SDC Form Manager for Questionnaires using one or more of the SDC-supported search criteria
Precondition: Questionnaires are available on the SDC Form Manager
Success Criteria: Set of matching Questionnaires is returned
Bonus Point: Make use of sorting and paging parameters

4. Update form

Action: the SDC Form Designer revises an existing Questionnaire previously stored in the SDC Form Manager and submits an update
Precondition: A version of the Questionnaire exists on the SDC Form Manager and the Form Designer
Success Criteria: A new version of the Questionnaire exists on the SDC Form Manager. The original version remains accessible via a history query
Bonus Point: Hand collision detection using e-tags

Completed Forms

Objective: Test the ability to render, navigate, and capture data based on forms defined using SDC syntax

1. Render SDC form for input

Action: SDC Form Filler converts the definition of an SDC Questionnaire into a user interface that can solicit data from a human
Precondition: SDC Questionnaire has been retrieved
Success Criteria: Human can fill out the form populating the questions and groups within the Questionnaire
Bonus Point: Enforce conditional display while the user populates the Questionnaire
Bonus Point: Render the Questionnaire taking into account the must-support extensions defined in FHIR
Bonus Point: Render the Questionnaire taking into account the optional extensions defined in FHIR
Bonus Point: Provider appropriate interfaces to select from a referenced ValueSet

2. Record answers

Action: SDC Form Filler submits completed QuestionnaireResponse to an SDC Form Receiver
Precondition: SDC Questionnaire has been received and populated
Success Criteria: QuestionnaireAnswers instance is available for query on the SDC Form Filler
Bonus Point: Store a partially-completed QuestionnaireResponse
Bonus Point: Validate that the QuestionnaireResponse instance is valid against the Questionnaire and referenced ValueSets

3. Update answers

Action: SDC Form Filler retrieves QuestionnaireResponse instance and associated Questionnaire and displays the Questionnaire with data populated for update
Precondition: SDC Questionnaire and QuestionnaireResponse instances are available for query
Success Criteria: Revised QuestionnaireResponse instance is stored on SDC Form Receiver reflecting user's edits
Bonus Point: Ensure conditional display rules are enforced based on already populated data

Form Population

Objective: Test ability to pre-populate/auto-populate forms

1. Pre-populate a form

Action: SDC Form Filler invokes the $populate operation on an SDC Form Manager passing a Questionnaire id and a FHIR instance
Precondition:SDC Form Filler has retrieved an SDC Form with queries and XPaths that define popualation expectations
Success Criteria: The SDC Form Filler receives a QuestionnaireResponse instance with the matching questions populated
Bonus Point: SDC Form Filler renders content appropriately following conditional display values - including hiding the populated elements that aren't allowed to be displayed

Form Extraction

Objective: Test ability to extract information from a completed form into other FHIR resources

1. Pre-populate a form

Action: SDC Form Filler invokes the $extract operation on an SDC Form Manager passing a QuestionnaireResponse id
Precondition:QuestionnaireResponse references an accessible Questionnaire that includes mappings for extraction
Success Criteria: The SDC Form Filler receives a Bundle instance with data extracted from the QuestionnaireResponse


TestScript(s)

Not yet decided

Security and Privacy Considerations

- No expectation of secure connection, authentication, audit, etc. as part of this track