SlideShare a Scribd company logo
FHIR® is the registered trademark of HL7 and is used with the permission of HL7. The Flame Design mark is the registered trademark of HL7 and is used with the permission of HL7.
Amsterdam, 15-17 November | @fhir_furore | #fhirdevdays17 | www.fhirdevdays.com
FHIR Questionnaires
Brian Postlethwaite, Telstra Health
Brian Postlethwaite
Senior Solutions Architect
FHIR core team member
FHIR Management Group member
Co-chair HL7 International Patient Administration Workgroup
fhir-net-api contributor
FhirPathTester author
sqlonfhir server
Harley Rider
What is going to be covered?
• Overview
• Uses
• Workflows
• FHIR resource definitions
• Creating Questionnaires
• Pre-population
• Conversion/Mapping data to other resources
• Advanced validation
Overview
• Surveys, assessments, forms
• Schema
• Layout
• Validation
• Mappings
• Data
• Questionnaire
• QuestionnaireResponse
• ValueSet / Terminologies
• Similar to StructureDefinition
Uses of FHIR Questionnaires
• Assessments (GP)
• Assessments (consumer)
• Surveys
• Gov't/Statutory forms
• Referrals template?
• Admission form?
• General data entry?
• Care Plans
• Research
• Oncology
• Pathology
• Public Health Reporting
• Insurance/Payments
Workflow
• Locate questionnaire to use (for given context)
• Load/render questionnaire (and referenced content)
• Pre-populate questionnaire with other data
• E.g. patient demographics, observations etc
• User enters data
• Local validations may occur during data entry
• QuestionnaireResponse is validated by server
• Errors/Warnings/issues reported to the user
• QuestionnaireResponse is saved to the target server
• Data extracted into other resources
Form Definitions
Questionnaire
• Metadata
• Items (nested)
• LinkId
• Text
• Item Type
• repeats
• Data rules (validation)
• Formatting hints
QuestionnaireResponse
• Context
• Items (nested)
• LinkId (must match)
• Answer value
LinkId joins answer to definition
MUST MATCH
(including the nesting depth)
Item-Type Response Type Definition
group Group An item with children, may be repeating. Could be a section, table or other layout (e.g. tabs)
display (none) Just a label to be displayed (no answer to be collected)
Boolean valueBoolean Yes/no answer (checkbox, radio group or similar)
decimal valueDecimal Real number answer (restricted textbox, slider, …)
integer valueInteger Integer answer (restricted textbox, slider, …)
date valueDate Date answer (restricted textbox, date picker …)
dateTime valueDateTime Date and time answer (restricted textbox, date picker …)
time valueTime Time only answer (hour:minute:second) answer independent of date (restricted textbox, …)
string valueString Short free-text answer (single line textbox)
text valueString Longer free-text answer, potentially multi-paragraph (multi-line textbox)
url valueUri URL (website, FTP site, etc.) answer (restricted textbox)
choice valueCoding Coding drawn from a list of options (specified in either the option property, or via the ValueSet
referenced in the options property) as an answer (radio buttons, checkboxes, combobox,
autocomplete …)
open-choice valueCoding or
valueString
Coding drawn from a list of options (as with the choice type) or a free-text entry in a string
(similar controls to choice, except with ability to include textbox)
attachment valueAttachment Binary content such as a image, PDF, etc. as an answer (file selector …)
reference valueReference A reference to another resource, e.g. practitioner, organization, etc. (resource finder?)
quantity valueQuantity Question with a combination of a numeric value and unit. ()
Difference between DSTU2 and STU3
DSTU2
• Group/Question
• Group 0..1 at root
• enableWhen, readonly, maxLength,
intialValue (extension)
• Concept
• Label (extension)
• Group/question child collection
ordering ambiguous
STU3
• Item (with type=group)
• Item 0..* at root
• Moved to core
• Code (and definition)
• Use Item (type=display)
• More metadata at root
http://hl7.org/fhir/questionnaire.html (check the R2 Diff tab – not a complete mapping)
Structured Data Capture (SDC) Implementation Guide
• Data Element Registries
• Form Manager
http://hl7.org/fhir/us/sdc/index.html
http://hl7.org/fhir/us/sdc/sdc-questionnaire.html
Creating Questionnaires
• Converting existing non FHIR
definitions
• SmartQ editor (DSTU2 only)
http://smartqedit.azurewebsites.net
• Grahame’s editor
• Using text editor
• Others?
(or combination of the above)
Demo creating/filling Questionnaires
Pre-population
• $populate operation
• XML content, with paths for
extract
• Questionnaire.item.definition
http://hl7.org/fhir/questionnaire.html#2.38.5.4
• ConceptMap
• Currently no standard defining
the data selection
• SDC extends this
• Telstra Health $populate
• Extension for FHIR query to
execute
• Uses Smart on FHIR context in
query syntax
• Extension for fhirpath statement
to extract content from results of
above extension
• Works with repeating groups
Conversion/Mapping to other resources
• Questionnaire.item.definition
http://hl7.org/fhir/questionnaire.html#2.38.5.4
• Directly link to an element in a structure definition
• Can link each item
• Supports repeating items!
• Perfect for extraction
• Map to a specific StructureDefinition
• Caveat: can’t do complex split/join/calculations
• Custom Operations
• $convert-to-resources
• $save-atomic-data
Validation
• FHIR json/xml valid (serialization)
• Core FHIR profile validation
(maybe local profiles too)
• QuestionnaireResponse validation
• Item Types
• Extensions
• Custom validation?
• OperationOutcome
• Content/messages appropriate to display to users?
Validation code walkthrough and demo
Advanced Validation (non standard)
• Core resources can be profiled with invariants
• Extension to add this to Questionnaires
https://simplifier.net/sqlonfhir-stu3/Questionnaire-validation-expression
Scoring (non standard)
• http://sqlonfhir-dstu2.azurewebsites.net/fhir/Questionnaire/demo-scoring2
• Concepts in options have a weighting
Summary • Create a form definition
• with validation rules
• with resource mappings
• Create form data
• Perform Validation
• Map to a new resource from form data
• Terminology interactions
• Advanced Validations
• Where will you use Questionnaires?
Questions?
Thank you
Keep FHIR-ing on all cylinders

More Related Content

PPTX
Furore devdays 2017-sdc (lloyd)
PPTX
Beginners .net api dev days2017
PPTX
Furore devdays 2017- rdf2(solbrig)
PPTX
Furore devdays 2017- rdf1(solbrig)
PPTX
Fhir foundation (grahame)
PPTX
Fhir dev days_basic_fhir_terminology_services
PPTX
Fhir dev days 2017 fhir profiling - overview and introduction v07
PPTX
2017 11-ccda-on-fhir
Furore devdays 2017-sdc (lloyd)
Beginners .net api dev days2017
Furore devdays 2017- rdf2(solbrig)
Furore devdays 2017- rdf1(solbrig)
Fhir foundation (grahame)
Fhir dev days_basic_fhir_terminology_services
Fhir dev days 2017 fhir profiling - overview and introduction v07
2017 11-ccda-on-fhir

What's hot (20)

PPTX
Furore devdays2017 general-introtofhir
PPTX
Advanced .net api (ewout)
PPTX
Devdays 2017 implementation guide authoring - ardon toonstra
PPTX
Furore devdays 2017 - workflow
PPTX
Furore devdays 2017- profiling academy - profiling guidelines v1
PPTX
Furore devdays2017 tdd-1-intro
PPTX
Profiling with clin fhir
PPTX
fhir-documents
PPTX
Security overview (grahame)
PPTX
Furore devdays2017 tdd-2-advanced
PPTX
Mohannad hussain dicom and imaging tools
PPTX
Building bridges devdays 2017- powerpoint template
PPTX
Building a Scenario using clinFHIR
PPTX
Whats new (grahame)
PPTX
Fhir dev days_advanced_fhir_terminology_services
PDF
A simple web-based interface for advanced SNOMED CT queries
PPTX
final Keynote (grahame)
PPTX
Fhir tooling (grahame)
PPTX
Dev days 2017 advanced directories (brian postlethwaite)
PPTX
Fhir path (ewout)
Furore devdays2017 general-introtofhir
Advanced .net api (ewout)
Devdays 2017 implementation guide authoring - ardon toonstra
Furore devdays 2017 - workflow
Furore devdays 2017- profiling academy - profiling guidelines v1
Furore devdays2017 tdd-1-intro
Profiling with clin fhir
fhir-documents
Security overview (grahame)
Furore devdays2017 tdd-2-advanced
Mohannad hussain dicom and imaging tools
Building bridges devdays 2017- powerpoint template
Building a Scenario using clinFHIR
Whats new (grahame)
Fhir dev days_advanced_fhir_terminology_services
A simple web-based interface for advanced SNOMED CT queries
final Keynote (grahame)
Fhir tooling (grahame)
Dev days 2017 advanced directories (brian postlethwaite)
Fhir path (ewout)
Ad

Similar to Dev days 2017 questionnaires (brian postlethwaite) (20)

PPTX
FHIR Client Development with .NET
PDF
Up-front Design Considerations in FHIR Data Modeling
PDF
FDMEE Scripting - Cloud and On-Premises - It Ain't Groovy, But It's My Bread ...
PPTX
Testing Big Data: Automated ETL Testing of Hadoop
PPTX
Data Governance Initiative
PPT
Using metadata repositories with search
PDF
4Science Submission Module Preview
PPTX
HDP Next: Governance
PDF
Biehl (2012) implementing a healthcare data warehouse
PPTX
WaterlooHiveTalk
PPTX
Apache Tajo: Query Optimization Techniques and JIT-based Vectorized Engine
PPT
DataFinder: A Python Application for Scientific Data Management
PPTX
Ordering the chaos: Creating websites with imperfect data
PDF
Big Data Day LA 2015 - What's New Tajo 0.10 and Beyond by Hyunsik Choi of Gruter
PPTX
Domain Driven Design
PPTX
Hadoop Summit 2014: Query Optimization and JIT-based Vectorized Execution in ...
PDF
Data Discovery at Databricks with Amundsen
PPTX
SP Saturday Presentation - Migrating to SharePoint 2010
PPT
Hive Training -- Motivations and Real World Use Cases
PPT
Scripting User Contributed Interlinking
FHIR Client Development with .NET
Up-front Design Considerations in FHIR Data Modeling
FDMEE Scripting - Cloud and On-Premises - It Ain't Groovy, But It's My Bread ...
Testing Big Data: Automated ETL Testing of Hadoop
Data Governance Initiative
Using metadata repositories with search
4Science Submission Module Preview
HDP Next: Governance
Biehl (2012) implementing a healthcare data warehouse
WaterlooHiveTalk
Apache Tajo: Query Optimization Techniques and JIT-based Vectorized Engine
DataFinder: A Python Application for Scientific Data Management
Ordering the chaos: Creating websites with imperfect data
Big Data Day LA 2015 - What's New Tajo 0.10 and Beyond by Hyunsik Choi of Gruter
Domain Driven Design
Hadoop Summit 2014: Query Optimization and JIT-based Vectorized Execution in ...
Data Discovery at Databricks with Amundsen
SP Saturday Presentation - Migrating to SharePoint 2010
Hive Training -- Motivations and Real World Use Cases
Scripting User Contributed Interlinking
Ad

More from DevDays (15)

PPTX
Consent dev days
PDF
Integrating with the epic platform fhir dev days 17
PPTX
Mohannad hussain community track - siim dataset & dico mweb proxy
PPTX
Validation in net and java (ewout james)
PPTX
Transforming other content (grahame)
PPTX
Structure definition 101 (ewout)
PPTX
Quality improvement dev days-2017
PPTX
Furore devdays 2017- oai
PPTX
Furore devdays 2017 - implementation guides (lloyd)
PPTX
Connectathon opening 2017
PPTX
20171127 rene spronk_messaging_the_unloved_paradigm
PPTX
Vonk fhir facade (christiaan)
PPTX
Opening student track
PPTX
Furore devdays 2017- continua implementing fhir
PPTX
Distributing cds dev days-2017
Consent dev days
Integrating with the epic platform fhir dev days 17
Mohannad hussain community track - siim dataset & dico mweb proxy
Validation in net and java (ewout james)
Transforming other content (grahame)
Structure definition 101 (ewout)
Quality improvement dev days-2017
Furore devdays 2017- oai
Furore devdays 2017 - implementation guides (lloyd)
Connectathon opening 2017
20171127 rene spronk_messaging_the_unloved_paradigm
Vonk fhir facade (christiaan)
Opening student track
Furore devdays 2017- continua implementing fhir
Distributing cds dev days-2017

Recently uploaded (20)

PDF
Paper A Mock Exam 9_ Attempt review.pdf.
PDF
FORM 1 BIOLOGY MIND MAPS and their schemes
PDF
medical_surgical_nursing_10th_edition_ignatavicius_TEST_BANK_pdf.pdf
PPTX
A powerpoint presentation on the Revised K-10 Science Shaping Paper
DOC
Soft-furnishing-By-Architect-A.F.M.Mohiuddin-Akhand.doc
PDF
Chinmaya Tiranga quiz Grand Finale.pdf
PPTX
Onco Emergencies - Spinal cord compression Superior vena cava syndrome Febr...
PDF
David L Page_DCI Research Study Journey_how Methodology can inform one's prac...
PPTX
20th Century Theater, Methods, History.pptx
PDF
A GUIDE TO GENETICS FOR UNDERGRADUATE MEDICAL STUDENTS
PDF
Hazard Identification & Risk Assessment .pdf
PDF
HVAC Specification 2024 according to central public works department
PDF
1.3 FINAL REVISED K-10 PE and Health CG 2023 Grades 4-10 (1).pdf
PPTX
TNA_Presentation-1-Final(SAVE)) (1).pptx
PDF
ChatGPT for Dummies - Pam Baker Ccesa007.pdf
PDF
IGGE1 Understanding the Self1234567891011
PPTX
B.Sc. DS Unit 2 Software Engineering.pptx
PDF
Indian roads congress 037 - 2012 Flexible pavement
PPTX
Virtual and Augmented Reality in Current Scenario
PPTX
Chinmaya Tiranga Azadi Quiz (Class 7-8 )
Paper A Mock Exam 9_ Attempt review.pdf.
FORM 1 BIOLOGY MIND MAPS and their schemes
medical_surgical_nursing_10th_edition_ignatavicius_TEST_BANK_pdf.pdf
A powerpoint presentation on the Revised K-10 Science Shaping Paper
Soft-furnishing-By-Architect-A.F.M.Mohiuddin-Akhand.doc
Chinmaya Tiranga quiz Grand Finale.pdf
Onco Emergencies - Spinal cord compression Superior vena cava syndrome Febr...
David L Page_DCI Research Study Journey_how Methodology can inform one's prac...
20th Century Theater, Methods, History.pptx
A GUIDE TO GENETICS FOR UNDERGRADUATE MEDICAL STUDENTS
Hazard Identification & Risk Assessment .pdf
HVAC Specification 2024 according to central public works department
1.3 FINAL REVISED K-10 PE and Health CG 2023 Grades 4-10 (1).pdf
TNA_Presentation-1-Final(SAVE)) (1).pptx
ChatGPT for Dummies - Pam Baker Ccesa007.pdf
IGGE1 Understanding the Self1234567891011
B.Sc. DS Unit 2 Software Engineering.pptx
Indian roads congress 037 - 2012 Flexible pavement
Virtual and Augmented Reality in Current Scenario
Chinmaya Tiranga Azadi Quiz (Class 7-8 )

Dev days 2017 questionnaires (brian postlethwaite)

  • 1. FHIR® is the registered trademark of HL7 and is used with the permission of HL7. The Flame Design mark is the registered trademark of HL7 and is used with the permission of HL7. Amsterdam, 15-17 November | @fhir_furore | #fhirdevdays17 | www.fhirdevdays.com FHIR Questionnaires Brian Postlethwaite, Telstra Health
  • 2. Brian Postlethwaite Senior Solutions Architect FHIR core team member FHIR Management Group member Co-chair HL7 International Patient Administration Workgroup fhir-net-api contributor FhirPathTester author sqlonfhir server Harley Rider
  • 3. What is going to be covered? • Overview • Uses • Workflows • FHIR resource definitions • Creating Questionnaires • Pre-population • Conversion/Mapping data to other resources • Advanced validation
  • 4. Overview • Surveys, assessments, forms • Schema • Layout • Validation • Mappings • Data • Questionnaire • QuestionnaireResponse • ValueSet / Terminologies • Similar to StructureDefinition
  • 5. Uses of FHIR Questionnaires • Assessments (GP) • Assessments (consumer) • Surveys • Gov't/Statutory forms • Referrals template? • Admission form? • General data entry? • Care Plans • Research • Oncology • Pathology • Public Health Reporting • Insurance/Payments
  • 6. Workflow • Locate questionnaire to use (for given context) • Load/render questionnaire (and referenced content) • Pre-populate questionnaire with other data • E.g. patient demographics, observations etc • User enters data • Local validations may occur during data entry • QuestionnaireResponse is validated by server • Errors/Warnings/issues reported to the user • QuestionnaireResponse is saved to the target server • Data extracted into other resources
  • 7. Form Definitions Questionnaire • Metadata • Items (nested) • LinkId • Text • Item Type • repeats • Data rules (validation) • Formatting hints QuestionnaireResponse • Context • Items (nested) • LinkId (must match) • Answer value LinkId joins answer to definition MUST MATCH (including the nesting depth)
  • 8. Item-Type Response Type Definition group Group An item with children, may be repeating. Could be a section, table or other layout (e.g. tabs) display (none) Just a label to be displayed (no answer to be collected) Boolean valueBoolean Yes/no answer (checkbox, radio group or similar) decimal valueDecimal Real number answer (restricted textbox, slider, …) integer valueInteger Integer answer (restricted textbox, slider, …) date valueDate Date answer (restricted textbox, date picker …) dateTime valueDateTime Date and time answer (restricted textbox, date picker …) time valueTime Time only answer (hour:minute:second) answer independent of date (restricted textbox, …) string valueString Short free-text answer (single line textbox) text valueString Longer free-text answer, potentially multi-paragraph (multi-line textbox) url valueUri URL (website, FTP site, etc.) answer (restricted textbox) choice valueCoding Coding drawn from a list of options (specified in either the option property, or via the ValueSet referenced in the options property) as an answer (radio buttons, checkboxes, combobox, autocomplete …) open-choice valueCoding or valueString Coding drawn from a list of options (as with the choice type) or a free-text entry in a string (similar controls to choice, except with ability to include textbox) attachment valueAttachment Binary content such as a image, PDF, etc. as an answer (file selector …) reference valueReference A reference to another resource, e.g. practitioner, organization, etc. (resource finder?) quantity valueQuantity Question with a combination of a numeric value and unit. ()
  • 9. Difference between DSTU2 and STU3 DSTU2 • Group/Question • Group 0..1 at root • enableWhen, readonly, maxLength, intialValue (extension) • Concept • Label (extension) • Group/question child collection ordering ambiguous STU3 • Item (with type=group) • Item 0..* at root • Moved to core • Code (and definition) • Use Item (type=display) • More metadata at root http://hl7.org/fhir/questionnaire.html (check the R2 Diff tab – not a complete mapping)
  • 10. Structured Data Capture (SDC) Implementation Guide • Data Element Registries • Form Manager http://hl7.org/fhir/us/sdc/index.html http://hl7.org/fhir/us/sdc/sdc-questionnaire.html
  • 11. Creating Questionnaires • Converting existing non FHIR definitions • SmartQ editor (DSTU2 only) http://smartqedit.azurewebsites.net • Grahame’s editor • Using text editor • Others? (or combination of the above)
  • 13. Pre-population • $populate operation • XML content, with paths for extract • Questionnaire.item.definition http://hl7.org/fhir/questionnaire.html#2.38.5.4 • ConceptMap • Currently no standard defining the data selection • SDC extends this • Telstra Health $populate • Extension for FHIR query to execute • Uses Smart on FHIR context in query syntax • Extension for fhirpath statement to extract content from results of above extension • Works with repeating groups
  • 14. Conversion/Mapping to other resources • Questionnaire.item.definition http://hl7.org/fhir/questionnaire.html#2.38.5.4 • Directly link to an element in a structure definition • Can link each item • Supports repeating items! • Perfect for extraction • Map to a specific StructureDefinition • Caveat: can’t do complex split/join/calculations • Custom Operations • $convert-to-resources • $save-atomic-data
  • 15. Validation • FHIR json/xml valid (serialization) • Core FHIR profile validation (maybe local profiles too) • QuestionnaireResponse validation • Item Types • Extensions • Custom validation? • OperationOutcome • Content/messages appropriate to display to users?
  • 17. Advanced Validation (non standard) • Core resources can be profiled with invariants • Extension to add this to Questionnaires https://simplifier.net/sqlonfhir-stu3/Questionnaire-validation-expression
  • 18. Scoring (non standard) • http://sqlonfhir-dstu2.azurewebsites.net/fhir/Questionnaire/demo-scoring2 • Concepts in options have a weighting
  • 19. Summary • Create a form definition • with validation rules • with resource mappings • Create form data • Perform Validation • Map to a new resource from form data • Terminology interactions • Advanced Validations • Where will you use Questionnaires?
  • 21. Thank you Keep FHIR-ing on all cylinders

Editor's Notes

  • #8: Metadata includes the URL which may be used in the same way as the Structure Definition Canonical URLs
  • #9: The relationship between the answer types, user interface control hints, validation properties, and the data that you should expect coming back Note that some server’s might accept string values coming back, and chose to convert these. There is an extension 'http://hl7.org/fhir/StructureDefinition/questionnaire-unit' that can be used to define what unit would be captured (or the a unit that has a UCUM conversion from the provided unit)
  • #11: Although this was defined by a US group, it isn’t a US specific spec, and is possibly coming back to HL7 international
  • #13: Demo both the TCM export trick, SmartQedit and SmartQ stuff http://smartqedit.azurewebsites.net/Questionnaire/Editor?QuestionnaireId=https://sqlonfhir-ci2.azurewebsites.net/fhir/Questionnaire/vitals&fhirServiceUrl=http://sqlonfhir-ci2.azurewebsites.net/fhir smartq.azurewebsites.net/Home/Survey?questionnaireId=https://sqlonfhir-ci2.azurewebsites.net/fhir/Questionnaire/581a63a90ca74e76a69df452f77270dc/_history/3&fhirServiceUrl=https://sqlonfhir-ci2.azurewebsites.net/fhir/ http://sqlonfhir-ci2.azurewebsites.net/fhir/QuestionnaireResponse
  • #14: Need to take care with DataElements as this is changing in R4
  • #15: https://sqlonfhir-ci2.azurewebsites.net/fhir/Questionnaire/edit-org/_history/9?_format=html
  • #16: Show the demo admission form (using the SmartQ editor) Then save the content to the server Then show the $convert-to-resources operation in action! (on the QuestionnaireResponse)
  • #18: Show the sqlonfhir server validation code, demonstrate the fhirpath validator Unit tests? Contrast with Questionnaire Validation
  • #19: Of course these invariants would be great if you could validate these when you’re saving these too into the questionnaire
  • #20: http://smartq.azurewebsites.net/Home/Survey?questionnaireId=https%3A%2F%2Fsqlonfhir-dstu2.azurewebsites.net%2Ffhir%2FQuestionnaire%2Fdemo-scoring2&fhirServiceUrl=https%3A%2F%2Fsqlonfhir-dstu2.azurewebsites.net%2Ffhir%2F