Post on 08-Jun-2020
HL7reg FHIRreg and the flame Design mark are the registered trademarks of Health Level Seven International and are used with per mission
Redmond June 10 ndash 12 | HL7 FirelyTeam | fhirdevdays | wwwdevdayscomus
Questionnaires (and Structured Data Capture)
Eric Haas and Brian Postlethwaite
What is going to be covered
bull Uses
bull FHIR Resource Definitions changes
bull Workflows
bull Creating Questionnaires
bull Rendering
bull Adaptive Questionnaires
bull ConversionMapping data to other resources
bull Pre-population
bull Validation
Uses of FHIR Questionnaires
bull Assessments (Primary Care)
bull Assessments (consumer)
bull Surveys
bull GovtStatutory forms
bull Referrals template
bull Admission form
bull Care Plans
bull Research
bull Oncology
bull Pathology
bull Public Health Reporting
bull InsurancePayments
bull General data entry
FHIR Questionnaire Artifacts
bull Questionnaire Resource
bull Definitional Resource
bull Similar to StructureDefinition
bull May include ValueSet Terminologies
bull QuestionnaireResponse Resource
bull Record of responses
bull Structure mirrors Questionnaire items
bull Other
bull Extensions Operations Profiles Implementation Guides (incl SDC)
Form Definitions
Questionnaire
bull Metadata
bull Items (nested)
bull LinkId
bull Text
bull Item Type
bull repeats
bull Data rules (validation)
bull Formatting hints
QuestionnaireResponse
bull Context
bull Items (nested)
bull LinkId (must match)
bull Answer value
LinkId joins answer to definition
MUST MATCH
(including the nesting depth)
Item-Type Response Type Definition
group item(Group) An item with children may be repeating Could be a section table or other layout (eg tabs)
display (none) Just a label to be displayed (no answer to be collected)
boolean valueBoolean Yesno answer (checkbox radio group or similar)
decimal valueDecimal Real number answer (restricted textbox slider hellip) integer valueInteger Integer answer (restricted textbox slider hellip) date valueDate Date answer (restricted textbox date picker hellip) dateTime valueDateTime Date and time answer (restricted textbox date picker hellip) time valueTime Time only answer (hourminutesecond) answer independent of date (restricted textbox hellip) 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 hellip) 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 hellip) reference valueReference A reference to another resource eg practitioner organization etc (resource finder)
quantity valueQuantity Question with a combination of a numeric value and unit ()
httphl7orgfhirvalueset-item-typehtml
Interaction with terminologies
Questionnaire structure
bull Item types
bull Choice open-choice
bull Valueset reference (canonical)
bull ItemanswerValueSet
bull Answer options
bull valueCoding
bull Control selection
bull Consider the number of potential entries in the list
bull Checkboxes radio buttons comboboxes autocomplete
Extensions
bull questionnaire-optionExclusive
bull preferredTerminologyServer
bull questionnaire-unitValueSet
bull 11179-permitted-value-valueset
bull 11179-permitted-value-conceptmap
Operations
Use the ValueSet $expand operation to either pre-load the values or use the filter parameter for the auto-complete style usage
Difference between DSTU2 and STU3
DSTU2
bull GroupQuestion
bull Group 01 at root
bull enableWhen readonly maxLength intialValue (extension)
bull Concept
bull Label (extension)
bull Groupquestion child collection ordering ambiguous
STU3
bull Item (with type=group)
bull Item 0 at root
bull Moved to core
bull Code (and definition)
bull Use Item (type=display)
bull More metadata at root
httphl7orgfhirstu3questionnairehtml (check the R2 Diff tab ndash not a complete mapping)
Difference between STU3 and R4
bull New mandatory properties
bull enableWhenoperator
bull Initialvalue
bull options named answerValueSet
bull changed from reference to canonical
bull option renamed answerOption
bull Also includes valueReference support
bull And initial selection flag
bull enableWhen allany flag
bull enableWhenhasAnswer removed
bull Use operator value ldquoexistsrdquo
bull enableWhen no longer supports
bull Uri
bull Attachment
bull $populate operation moved into SDC
Note Additional functionality now defined int the SDC functionality rather than the core
httphl7orgfhirr4questionnairehtml (check the R3 Diff tab ndash not a complete mapping)
Structured Data Capture (SDC) Implementation Guide
bullExtensions to the core HL7 definitions bull Advanced Rendering
bull Advanced Form Behaviour
bull Importing Data into Forms
bull Extraction of Data from Forms
httpbuildfhirorgigHL7sdc
Workflow
bull Locate questionnaire to use (for given context)
bull Loadrender questionnaire (and referenced content)
bull Pre-populate questionnaire with other data (eg patient demographics observations etc)
bull User enters data
bull Local validations may occur during data entry
bull QuestionnaireResponse is validated by server bull ErrorsWarningsissues reported to the user
bull QuestionnaireResponse is saved to the target server
bull Data extracted into other resources
Argonaut Questionnaire Implementation Guide (Based on FHIR STU3) STATIC FORM WorkFlow
bull 1 An EHR system retrieves a standardized assessment represented by the Questionnaire resource from an assessment bank
bull 2 The Questionnaire is rendereddisplayed to the end user - either the subject or provider administrator
bull 3 The end user enters responses to the assessment questions and these responses are stored in the Answer Bank by POSTing a QuestionnaireResponse
bull 4 An EHR system requests answers to an assessment for a particular subject
bull 5 The QuestionnaireResponse is processed by the end user
httpwwwfhirorgguidesargonautquestionnaireindexhtml
Argonaut Questionnaire Implementation Guide (FHIR STU3) Adaptive Questionaire WorkFlow
bull 1 A Provider EHR may need to discover and review available Adaptive Questionnaires (not shown)
bull 2 The Form Filler initiates the Adaptive Questionnaire by posting to the Adaptive Questionnaire Services endpoint
bull 3 Treated as a Black Box the Adaptive Questionnaire Services returns the first question to the Form Filler
bull 4 The Questionnaire is rendereddisplayed to the end user - either the subject or provider administrator
bull 5 The Form Filler returns the question and answer pair to the Adaptive Questionnaire Services endpoint
bull 6 Based on the prior question and answer pair(s) the Adaptive Questionnaire Service returns the next question to the Form Filler
bull 7 Steps 5 and 6 are repeated until the questionnaire is done
bull 8 The Provider EHR may process the questions and answers
Creating Questionnaires
bull Converting existing non FHIR definitions
bull US National Library of Medicines Form Builder for LHC-FormsFHIR Questionnaire (STU3 R4)
bull Grahamersquos editor bull SmartQ editor (DSTU2 only)
httpsmartqeditazurewebsitesnet
bull Using text editor
bull Others
(or combination of the above)
Fetching Questionnaires
bull Standard FHIR Search API
bull eg by id title publisher
context etc
bull Through references in a
directory
Rendering Questionnaires and Recording Responses in QuestionnaireResponse
bull LinkId joins answer in
QuestionaireReponse to definitions
in Questionnaire bull MUST MATCH(including the nesting
depth)
bull May be validated
bull SDC Provides Advanced
Rendering Guidance and Definitions
Scoring Argonaut Questionnaire Implementation Guide
bull The responses to the assessment are captured by the Client Application
bull MAY calculate a scored based on the associated values associated with each item
bull Defined via the Questionnaire Ordinal Value Extension
bull How the score is calculated may be described within the Questionnaire often as a hidden display item
bull The actual logic and calculation is an implementation detail outside of scope of this Implementation Guide
item [
extension [
url httphl7orgfhirStructureDefinitionquestionnaire-
ordinalValue
valueDecimal 17
Time Limits Argonaut Questionnaire Implementation Guide
bull Time limits for completion of a questionnaire or individual question can be defined using the Argonaut Questionnaire Time Limit Extension
bull The Client Application may record the start and stop date-times in the Argonaut QuestionnaireResponse Response Period Extension
bull which can be used to determine whether the questionnaire or items were answered within the prescribed time limit
bull How this information modifies the behaviour of the Form-filler or interpretation of results is an implementation detail outside of scope of this Implementation Guide
Posting Answers and Subsequently Fetching
bull Note that individual
responses are not directly
searchable using the FHIR
RESTful API
bull Standard FHIR Search API
bull eg by id questionnaire
patient demographics
etc
Demo creatingfilling Questionnaires
ConversionMapping to other resources
bull Observation based extraction bull Itemcode for LOINCSNOMEDother codings for the values to be extracted
bull groups can create components in the observation too
bull Definition based extraction (httphl7orgfhirquestionnairehtml23854)
bull itemdefinition directly links to an element in a structure definition eg httphl7orgfhirStructureDefinitionObservationObservationcomment
bull Can link each item supporting repeating items
bull Caveat canrsquot do complex splitjoincalculations and shape of questionnaire must closely match StructureDefinition
bull StructureMap based extraction
bull Explicit mappings for every property
bull Uses the FHIR mapping language can be very complex but flexible it is a transform language
bull Use the questionnaire-targetStructureMap extension on the questionnaire
httpbuildfhirorgigHL7sdcextractionhtml
Pre-population
bull Requires
bull contextsource
bull mapping
bull processing engine
bull Knowledge of source structures (particularly profiled scope)
bull Current $populate Options bull Observation based
bull FHIRPath based
bull StructureMap based
Pre-population ndash Observation based
bull Low flexibility of Questionnaire structure in mapping
bull Source
bull Context may be provided in parameter or SMART
bull Itemcode for LOINCSNOMEDother to search
bull Extension questionnaire-observationLinkPeriod to define range to check for last observation to read
bull Mapping
bull Itemcode for LOINCSNOMEDother for the values to be extracted from the observation
bull Groups can be used for extracting observation components
bull If the system understands that codings like LOINC 21112-8 is patientbirthDate then it may extract data like this also
During the pre-population stage this is the query that could be produced to extract the data
(assuming that the date of 3 months ago was 2018-06-02)
[base]Observationsubject=[questionnaire response subject id]
ampcode=http3Aloincorg|29463-7http3Aloincorg|3141-9 http3Aloincorg|8341-0
ampstatus=completed
ampdate=ge2018-06-02
amp_sort=-date
amp_count=1
Pre-population ndash FHIRPath based
bull Source
bull Context may be provided in parameter or SMART bull extension questionnaire-launchContext
bull Produces a bundle for processing
bull Mapping
bull FHIR Path expressions for each property to map bull extension ldquoquestionnaire-itemContextrdquo
bull Extension ldquosdc-questionnaire-initialExpressionrdquo
bull Leverage variables to assist in calculations bull Extension ldquovariablerdquo uses Expression datatype
More Flexible requires knowledge of FHIRPath and FHIR Queries to create the mappings
Validation
bull FHIR jsonxml valid (serialization)
bull Core FHIR profile validation (maybe local profiles too)
bull QuestionnaireResponse validation
bull Item Types (using linkId to match)
bull ExtensionsExtended Validation
bull Base Questionnaires through derivedFrom reference
bull Custom validation
bull OperationOutcome bull Contentmessages appropriate to display to users
Advanced Validation bull Core resources can be profiled with invariants
bull Extension adds this capability to Questionnaires
httphl7orgfhirextension-questionnaire-constrainthtml
Advanced Validation Examples
bull Checking cross field validation
bull Checking conditional rules
bull Checking complex calculations
bull Error messages
httpssqlonfhir-r4azurewebsitesnetfhirQuestionnairesa-rtw-r4
Summary bull Create a form definition
bull with validation rules
bull with resource mappings
bull Create form data
bull Perform Validation
bull Map to a new resource from form data
bull Terminology interactions
bull Where will you use Questionnaires
Questions
Thank you
Keep FHIR-ing on all cylinders
What is going to be covered
bull Uses
bull FHIR Resource Definitions changes
bull Workflows
bull Creating Questionnaires
bull Rendering
bull Adaptive Questionnaires
bull ConversionMapping data to other resources
bull Pre-population
bull Validation
Uses of FHIR Questionnaires
bull Assessments (Primary Care)
bull Assessments (consumer)
bull Surveys
bull GovtStatutory forms
bull Referrals template
bull Admission form
bull Care Plans
bull Research
bull Oncology
bull Pathology
bull Public Health Reporting
bull InsurancePayments
bull General data entry
FHIR Questionnaire Artifacts
bull Questionnaire Resource
bull Definitional Resource
bull Similar to StructureDefinition
bull May include ValueSet Terminologies
bull QuestionnaireResponse Resource
bull Record of responses
bull Structure mirrors Questionnaire items
bull Other
bull Extensions Operations Profiles Implementation Guides (incl SDC)
Form Definitions
Questionnaire
bull Metadata
bull Items (nested)
bull LinkId
bull Text
bull Item Type
bull repeats
bull Data rules (validation)
bull Formatting hints
QuestionnaireResponse
bull Context
bull Items (nested)
bull LinkId (must match)
bull Answer value
LinkId joins answer to definition
MUST MATCH
(including the nesting depth)
Item-Type Response Type Definition
group item(Group) An item with children may be repeating Could be a section table or other layout (eg tabs)
display (none) Just a label to be displayed (no answer to be collected)
boolean valueBoolean Yesno answer (checkbox radio group or similar)
decimal valueDecimal Real number answer (restricted textbox slider hellip) integer valueInteger Integer answer (restricted textbox slider hellip) date valueDate Date answer (restricted textbox date picker hellip) dateTime valueDateTime Date and time answer (restricted textbox date picker hellip) time valueTime Time only answer (hourminutesecond) answer independent of date (restricted textbox hellip) 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 hellip) 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 hellip) reference valueReference A reference to another resource eg practitioner organization etc (resource finder)
quantity valueQuantity Question with a combination of a numeric value and unit ()
httphl7orgfhirvalueset-item-typehtml
Interaction with terminologies
Questionnaire structure
bull Item types
bull Choice open-choice
bull Valueset reference (canonical)
bull ItemanswerValueSet
bull Answer options
bull valueCoding
bull Control selection
bull Consider the number of potential entries in the list
bull Checkboxes radio buttons comboboxes autocomplete
Extensions
bull questionnaire-optionExclusive
bull preferredTerminologyServer
bull questionnaire-unitValueSet
bull 11179-permitted-value-valueset
bull 11179-permitted-value-conceptmap
Operations
Use the ValueSet $expand operation to either pre-load the values or use the filter parameter for the auto-complete style usage
Difference between DSTU2 and STU3
DSTU2
bull GroupQuestion
bull Group 01 at root
bull enableWhen readonly maxLength intialValue (extension)
bull Concept
bull Label (extension)
bull Groupquestion child collection ordering ambiguous
STU3
bull Item (with type=group)
bull Item 0 at root
bull Moved to core
bull Code (and definition)
bull Use Item (type=display)
bull More metadata at root
httphl7orgfhirstu3questionnairehtml (check the R2 Diff tab ndash not a complete mapping)
Difference between STU3 and R4
bull New mandatory properties
bull enableWhenoperator
bull Initialvalue
bull options named answerValueSet
bull changed from reference to canonical
bull option renamed answerOption
bull Also includes valueReference support
bull And initial selection flag
bull enableWhen allany flag
bull enableWhenhasAnswer removed
bull Use operator value ldquoexistsrdquo
bull enableWhen no longer supports
bull Uri
bull Attachment
bull $populate operation moved into SDC
Note Additional functionality now defined int the SDC functionality rather than the core
httphl7orgfhirr4questionnairehtml (check the R3 Diff tab ndash not a complete mapping)
Structured Data Capture (SDC) Implementation Guide
bullExtensions to the core HL7 definitions bull Advanced Rendering
bull Advanced Form Behaviour
bull Importing Data into Forms
bull Extraction of Data from Forms
httpbuildfhirorgigHL7sdc
Workflow
bull Locate questionnaire to use (for given context)
bull Loadrender questionnaire (and referenced content)
bull Pre-populate questionnaire with other data (eg patient demographics observations etc)
bull User enters data
bull Local validations may occur during data entry
bull QuestionnaireResponse is validated by server bull ErrorsWarningsissues reported to the user
bull QuestionnaireResponse is saved to the target server
bull Data extracted into other resources
Argonaut Questionnaire Implementation Guide (Based on FHIR STU3) STATIC FORM WorkFlow
bull 1 An EHR system retrieves a standardized assessment represented by the Questionnaire resource from an assessment bank
bull 2 The Questionnaire is rendereddisplayed to the end user - either the subject or provider administrator
bull 3 The end user enters responses to the assessment questions and these responses are stored in the Answer Bank by POSTing a QuestionnaireResponse
bull 4 An EHR system requests answers to an assessment for a particular subject
bull 5 The QuestionnaireResponse is processed by the end user
httpwwwfhirorgguidesargonautquestionnaireindexhtml
Argonaut Questionnaire Implementation Guide (FHIR STU3) Adaptive Questionaire WorkFlow
bull 1 A Provider EHR may need to discover and review available Adaptive Questionnaires (not shown)
bull 2 The Form Filler initiates the Adaptive Questionnaire by posting to the Adaptive Questionnaire Services endpoint
bull 3 Treated as a Black Box the Adaptive Questionnaire Services returns the first question to the Form Filler
bull 4 The Questionnaire is rendereddisplayed to the end user - either the subject or provider administrator
bull 5 The Form Filler returns the question and answer pair to the Adaptive Questionnaire Services endpoint
bull 6 Based on the prior question and answer pair(s) the Adaptive Questionnaire Service returns the next question to the Form Filler
bull 7 Steps 5 and 6 are repeated until the questionnaire is done
bull 8 The Provider EHR may process the questions and answers
Creating Questionnaires
bull Converting existing non FHIR definitions
bull US National Library of Medicines Form Builder for LHC-FormsFHIR Questionnaire (STU3 R4)
bull Grahamersquos editor bull SmartQ editor (DSTU2 only)
httpsmartqeditazurewebsitesnet
bull Using text editor
bull Others
(or combination of the above)
Fetching Questionnaires
bull Standard FHIR Search API
bull eg by id title publisher
context etc
bull Through references in a
directory
Rendering Questionnaires and Recording Responses in QuestionnaireResponse
bull LinkId joins answer in
QuestionaireReponse to definitions
in Questionnaire bull MUST MATCH(including the nesting
depth)
bull May be validated
bull SDC Provides Advanced
Rendering Guidance and Definitions
Scoring Argonaut Questionnaire Implementation Guide
bull The responses to the assessment are captured by the Client Application
bull MAY calculate a scored based on the associated values associated with each item
bull Defined via the Questionnaire Ordinal Value Extension
bull How the score is calculated may be described within the Questionnaire often as a hidden display item
bull The actual logic and calculation is an implementation detail outside of scope of this Implementation Guide
item [
extension [
url httphl7orgfhirStructureDefinitionquestionnaire-
ordinalValue
valueDecimal 17
Time Limits Argonaut Questionnaire Implementation Guide
bull Time limits for completion of a questionnaire or individual question can be defined using the Argonaut Questionnaire Time Limit Extension
bull The Client Application may record the start and stop date-times in the Argonaut QuestionnaireResponse Response Period Extension
bull which can be used to determine whether the questionnaire or items were answered within the prescribed time limit
bull How this information modifies the behaviour of the Form-filler or interpretation of results is an implementation detail outside of scope of this Implementation Guide
Posting Answers and Subsequently Fetching
bull Note that individual
responses are not directly
searchable using the FHIR
RESTful API
bull Standard FHIR Search API
bull eg by id questionnaire
patient demographics
etc
Demo creatingfilling Questionnaires
ConversionMapping to other resources
bull Observation based extraction bull Itemcode for LOINCSNOMEDother codings for the values to be extracted
bull groups can create components in the observation too
bull Definition based extraction (httphl7orgfhirquestionnairehtml23854)
bull itemdefinition directly links to an element in a structure definition eg httphl7orgfhirStructureDefinitionObservationObservationcomment
bull Can link each item supporting repeating items
bull Caveat canrsquot do complex splitjoincalculations and shape of questionnaire must closely match StructureDefinition
bull StructureMap based extraction
bull Explicit mappings for every property
bull Uses the FHIR mapping language can be very complex but flexible it is a transform language
bull Use the questionnaire-targetStructureMap extension on the questionnaire
httpbuildfhirorgigHL7sdcextractionhtml
Pre-population
bull Requires
bull contextsource
bull mapping
bull processing engine
bull Knowledge of source structures (particularly profiled scope)
bull Current $populate Options bull Observation based
bull FHIRPath based
bull StructureMap based
Pre-population ndash Observation based
bull Low flexibility of Questionnaire structure in mapping
bull Source
bull Context may be provided in parameter or SMART
bull Itemcode for LOINCSNOMEDother to search
bull Extension questionnaire-observationLinkPeriod to define range to check for last observation to read
bull Mapping
bull Itemcode for LOINCSNOMEDother for the values to be extracted from the observation
bull Groups can be used for extracting observation components
bull If the system understands that codings like LOINC 21112-8 is patientbirthDate then it may extract data like this also
During the pre-population stage this is the query that could be produced to extract the data
(assuming that the date of 3 months ago was 2018-06-02)
[base]Observationsubject=[questionnaire response subject id]
ampcode=http3Aloincorg|29463-7http3Aloincorg|3141-9 http3Aloincorg|8341-0
ampstatus=completed
ampdate=ge2018-06-02
amp_sort=-date
amp_count=1
Pre-population ndash FHIRPath based
bull Source
bull Context may be provided in parameter or SMART bull extension questionnaire-launchContext
bull Produces a bundle for processing
bull Mapping
bull FHIR Path expressions for each property to map bull extension ldquoquestionnaire-itemContextrdquo
bull Extension ldquosdc-questionnaire-initialExpressionrdquo
bull Leverage variables to assist in calculations bull Extension ldquovariablerdquo uses Expression datatype
More Flexible requires knowledge of FHIRPath and FHIR Queries to create the mappings
Validation
bull FHIR jsonxml valid (serialization)
bull Core FHIR profile validation (maybe local profiles too)
bull QuestionnaireResponse validation
bull Item Types (using linkId to match)
bull ExtensionsExtended Validation
bull Base Questionnaires through derivedFrom reference
bull Custom validation
bull OperationOutcome bull Contentmessages appropriate to display to users
Advanced Validation bull Core resources can be profiled with invariants
bull Extension adds this capability to Questionnaires
httphl7orgfhirextension-questionnaire-constrainthtml
Advanced Validation Examples
bull Checking cross field validation
bull Checking conditional rules
bull Checking complex calculations
bull Error messages
httpssqlonfhir-r4azurewebsitesnetfhirQuestionnairesa-rtw-r4
Summary bull Create a form definition
bull with validation rules
bull with resource mappings
bull Create form data
bull Perform Validation
bull Map to a new resource from form data
bull Terminology interactions
bull Where will you use Questionnaires
Questions
Thank you
Keep FHIR-ing on all cylinders
Uses of FHIR Questionnaires
bull Assessments (Primary Care)
bull Assessments (consumer)
bull Surveys
bull GovtStatutory forms
bull Referrals template
bull Admission form
bull Care Plans
bull Research
bull Oncology
bull Pathology
bull Public Health Reporting
bull InsurancePayments
bull General data entry
FHIR Questionnaire Artifacts
bull Questionnaire Resource
bull Definitional Resource
bull Similar to StructureDefinition
bull May include ValueSet Terminologies
bull QuestionnaireResponse Resource
bull Record of responses
bull Structure mirrors Questionnaire items
bull Other
bull Extensions Operations Profiles Implementation Guides (incl SDC)
Form Definitions
Questionnaire
bull Metadata
bull Items (nested)
bull LinkId
bull Text
bull Item Type
bull repeats
bull Data rules (validation)
bull Formatting hints
QuestionnaireResponse
bull Context
bull Items (nested)
bull LinkId (must match)
bull Answer value
LinkId joins answer to definition
MUST MATCH
(including the nesting depth)
Item-Type Response Type Definition
group item(Group) An item with children may be repeating Could be a section table or other layout (eg tabs)
display (none) Just a label to be displayed (no answer to be collected)
boolean valueBoolean Yesno answer (checkbox radio group or similar)
decimal valueDecimal Real number answer (restricted textbox slider hellip) integer valueInteger Integer answer (restricted textbox slider hellip) date valueDate Date answer (restricted textbox date picker hellip) dateTime valueDateTime Date and time answer (restricted textbox date picker hellip) time valueTime Time only answer (hourminutesecond) answer independent of date (restricted textbox hellip) 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 hellip) 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 hellip) reference valueReference A reference to another resource eg practitioner organization etc (resource finder)
quantity valueQuantity Question with a combination of a numeric value and unit ()
httphl7orgfhirvalueset-item-typehtml
Interaction with terminologies
Questionnaire structure
bull Item types
bull Choice open-choice
bull Valueset reference (canonical)
bull ItemanswerValueSet
bull Answer options
bull valueCoding
bull Control selection
bull Consider the number of potential entries in the list
bull Checkboxes radio buttons comboboxes autocomplete
Extensions
bull questionnaire-optionExclusive
bull preferredTerminologyServer
bull questionnaire-unitValueSet
bull 11179-permitted-value-valueset
bull 11179-permitted-value-conceptmap
Operations
Use the ValueSet $expand operation to either pre-load the values or use the filter parameter for the auto-complete style usage
Difference between DSTU2 and STU3
DSTU2
bull GroupQuestion
bull Group 01 at root
bull enableWhen readonly maxLength intialValue (extension)
bull Concept
bull Label (extension)
bull Groupquestion child collection ordering ambiguous
STU3
bull Item (with type=group)
bull Item 0 at root
bull Moved to core
bull Code (and definition)
bull Use Item (type=display)
bull More metadata at root
httphl7orgfhirstu3questionnairehtml (check the R2 Diff tab ndash not a complete mapping)
Difference between STU3 and R4
bull New mandatory properties
bull enableWhenoperator
bull Initialvalue
bull options named answerValueSet
bull changed from reference to canonical
bull option renamed answerOption
bull Also includes valueReference support
bull And initial selection flag
bull enableWhen allany flag
bull enableWhenhasAnswer removed
bull Use operator value ldquoexistsrdquo
bull enableWhen no longer supports
bull Uri
bull Attachment
bull $populate operation moved into SDC
Note Additional functionality now defined int the SDC functionality rather than the core
httphl7orgfhirr4questionnairehtml (check the R3 Diff tab ndash not a complete mapping)
Structured Data Capture (SDC) Implementation Guide
bullExtensions to the core HL7 definitions bull Advanced Rendering
bull Advanced Form Behaviour
bull Importing Data into Forms
bull Extraction of Data from Forms
httpbuildfhirorgigHL7sdc
Workflow
bull Locate questionnaire to use (for given context)
bull Loadrender questionnaire (and referenced content)
bull Pre-populate questionnaire with other data (eg patient demographics observations etc)
bull User enters data
bull Local validations may occur during data entry
bull QuestionnaireResponse is validated by server bull ErrorsWarningsissues reported to the user
bull QuestionnaireResponse is saved to the target server
bull Data extracted into other resources
Argonaut Questionnaire Implementation Guide (Based on FHIR STU3) STATIC FORM WorkFlow
bull 1 An EHR system retrieves a standardized assessment represented by the Questionnaire resource from an assessment bank
bull 2 The Questionnaire is rendereddisplayed to the end user - either the subject or provider administrator
bull 3 The end user enters responses to the assessment questions and these responses are stored in the Answer Bank by POSTing a QuestionnaireResponse
bull 4 An EHR system requests answers to an assessment for a particular subject
bull 5 The QuestionnaireResponse is processed by the end user
httpwwwfhirorgguidesargonautquestionnaireindexhtml
Argonaut Questionnaire Implementation Guide (FHIR STU3) Adaptive Questionaire WorkFlow
bull 1 A Provider EHR may need to discover and review available Adaptive Questionnaires (not shown)
bull 2 The Form Filler initiates the Adaptive Questionnaire by posting to the Adaptive Questionnaire Services endpoint
bull 3 Treated as a Black Box the Adaptive Questionnaire Services returns the first question to the Form Filler
bull 4 The Questionnaire is rendereddisplayed to the end user - either the subject or provider administrator
bull 5 The Form Filler returns the question and answer pair to the Adaptive Questionnaire Services endpoint
bull 6 Based on the prior question and answer pair(s) the Adaptive Questionnaire Service returns the next question to the Form Filler
bull 7 Steps 5 and 6 are repeated until the questionnaire is done
bull 8 The Provider EHR may process the questions and answers
Creating Questionnaires
bull Converting existing non FHIR definitions
bull US National Library of Medicines Form Builder for LHC-FormsFHIR Questionnaire (STU3 R4)
bull Grahamersquos editor bull SmartQ editor (DSTU2 only)
httpsmartqeditazurewebsitesnet
bull Using text editor
bull Others
(or combination of the above)
Fetching Questionnaires
bull Standard FHIR Search API
bull eg by id title publisher
context etc
bull Through references in a
directory
Rendering Questionnaires and Recording Responses in QuestionnaireResponse
bull LinkId joins answer in
QuestionaireReponse to definitions
in Questionnaire bull MUST MATCH(including the nesting
depth)
bull May be validated
bull SDC Provides Advanced
Rendering Guidance and Definitions
Scoring Argonaut Questionnaire Implementation Guide
bull The responses to the assessment are captured by the Client Application
bull MAY calculate a scored based on the associated values associated with each item
bull Defined via the Questionnaire Ordinal Value Extension
bull How the score is calculated may be described within the Questionnaire often as a hidden display item
bull The actual logic and calculation is an implementation detail outside of scope of this Implementation Guide
item [
extension [
url httphl7orgfhirStructureDefinitionquestionnaire-
ordinalValue
valueDecimal 17
Time Limits Argonaut Questionnaire Implementation Guide
bull Time limits for completion of a questionnaire or individual question can be defined using the Argonaut Questionnaire Time Limit Extension
bull The Client Application may record the start and stop date-times in the Argonaut QuestionnaireResponse Response Period Extension
bull which can be used to determine whether the questionnaire or items were answered within the prescribed time limit
bull How this information modifies the behaviour of the Form-filler or interpretation of results is an implementation detail outside of scope of this Implementation Guide
Posting Answers and Subsequently Fetching
bull Note that individual
responses are not directly
searchable using the FHIR
RESTful API
bull Standard FHIR Search API
bull eg by id questionnaire
patient demographics
etc
Demo creatingfilling Questionnaires
ConversionMapping to other resources
bull Observation based extraction bull Itemcode for LOINCSNOMEDother codings for the values to be extracted
bull groups can create components in the observation too
bull Definition based extraction (httphl7orgfhirquestionnairehtml23854)
bull itemdefinition directly links to an element in a structure definition eg httphl7orgfhirStructureDefinitionObservationObservationcomment
bull Can link each item supporting repeating items
bull Caveat canrsquot do complex splitjoincalculations and shape of questionnaire must closely match StructureDefinition
bull StructureMap based extraction
bull Explicit mappings for every property
bull Uses the FHIR mapping language can be very complex but flexible it is a transform language
bull Use the questionnaire-targetStructureMap extension on the questionnaire
httpbuildfhirorgigHL7sdcextractionhtml
Pre-population
bull Requires
bull contextsource
bull mapping
bull processing engine
bull Knowledge of source structures (particularly profiled scope)
bull Current $populate Options bull Observation based
bull FHIRPath based
bull StructureMap based
Pre-population ndash Observation based
bull Low flexibility of Questionnaire structure in mapping
bull Source
bull Context may be provided in parameter or SMART
bull Itemcode for LOINCSNOMEDother to search
bull Extension questionnaire-observationLinkPeriod to define range to check for last observation to read
bull Mapping
bull Itemcode for LOINCSNOMEDother for the values to be extracted from the observation
bull Groups can be used for extracting observation components
bull If the system understands that codings like LOINC 21112-8 is patientbirthDate then it may extract data like this also
During the pre-population stage this is the query that could be produced to extract the data
(assuming that the date of 3 months ago was 2018-06-02)
[base]Observationsubject=[questionnaire response subject id]
ampcode=http3Aloincorg|29463-7http3Aloincorg|3141-9 http3Aloincorg|8341-0
ampstatus=completed
ampdate=ge2018-06-02
amp_sort=-date
amp_count=1
Pre-population ndash FHIRPath based
bull Source
bull Context may be provided in parameter or SMART bull extension questionnaire-launchContext
bull Produces a bundle for processing
bull Mapping
bull FHIR Path expressions for each property to map bull extension ldquoquestionnaire-itemContextrdquo
bull Extension ldquosdc-questionnaire-initialExpressionrdquo
bull Leverage variables to assist in calculations bull Extension ldquovariablerdquo uses Expression datatype
More Flexible requires knowledge of FHIRPath and FHIR Queries to create the mappings
Validation
bull FHIR jsonxml valid (serialization)
bull Core FHIR profile validation (maybe local profiles too)
bull QuestionnaireResponse validation
bull Item Types (using linkId to match)
bull ExtensionsExtended Validation
bull Base Questionnaires through derivedFrom reference
bull Custom validation
bull OperationOutcome bull Contentmessages appropriate to display to users
Advanced Validation bull Core resources can be profiled with invariants
bull Extension adds this capability to Questionnaires
httphl7orgfhirextension-questionnaire-constrainthtml
Advanced Validation Examples
bull Checking cross field validation
bull Checking conditional rules
bull Checking complex calculations
bull Error messages
httpssqlonfhir-r4azurewebsitesnetfhirQuestionnairesa-rtw-r4
Summary bull Create a form definition
bull with validation rules
bull with resource mappings
bull Create form data
bull Perform Validation
bull Map to a new resource from form data
bull Terminology interactions
bull Where will you use Questionnaires
Questions
Thank you
Keep FHIR-ing on all cylinders
FHIR Questionnaire Artifacts
bull Questionnaire Resource
bull Definitional Resource
bull Similar to StructureDefinition
bull May include ValueSet Terminologies
bull QuestionnaireResponse Resource
bull Record of responses
bull Structure mirrors Questionnaire items
bull Other
bull Extensions Operations Profiles Implementation Guides (incl SDC)
Form Definitions
Questionnaire
bull Metadata
bull Items (nested)
bull LinkId
bull Text
bull Item Type
bull repeats
bull Data rules (validation)
bull Formatting hints
QuestionnaireResponse
bull Context
bull Items (nested)
bull LinkId (must match)
bull Answer value
LinkId joins answer to definition
MUST MATCH
(including the nesting depth)
Item-Type Response Type Definition
group item(Group) An item with children may be repeating Could be a section table or other layout (eg tabs)
display (none) Just a label to be displayed (no answer to be collected)
boolean valueBoolean Yesno answer (checkbox radio group or similar)
decimal valueDecimal Real number answer (restricted textbox slider hellip) integer valueInteger Integer answer (restricted textbox slider hellip) date valueDate Date answer (restricted textbox date picker hellip) dateTime valueDateTime Date and time answer (restricted textbox date picker hellip) time valueTime Time only answer (hourminutesecond) answer independent of date (restricted textbox hellip) 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 hellip) 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 hellip) reference valueReference A reference to another resource eg practitioner organization etc (resource finder)
quantity valueQuantity Question with a combination of a numeric value and unit ()
httphl7orgfhirvalueset-item-typehtml
Interaction with terminologies
Questionnaire structure
bull Item types
bull Choice open-choice
bull Valueset reference (canonical)
bull ItemanswerValueSet
bull Answer options
bull valueCoding
bull Control selection
bull Consider the number of potential entries in the list
bull Checkboxes radio buttons comboboxes autocomplete
Extensions
bull questionnaire-optionExclusive
bull preferredTerminologyServer
bull questionnaire-unitValueSet
bull 11179-permitted-value-valueset
bull 11179-permitted-value-conceptmap
Operations
Use the ValueSet $expand operation to either pre-load the values or use the filter parameter for the auto-complete style usage
Difference between DSTU2 and STU3
DSTU2
bull GroupQuestion
bull Group 01 at root
bull enableWhen readonly maxLength intialValue (extension)
bull Concept
bull Label (extension)
bull Groupquestion child collection ordering ambiguous
STU3
bull Item (with type=group)
bull Item 0 at root
bull Moved to core
bull Code (and definition)
bull Use Item (type=display)
bull More metadata at root
httphl7orgfhirstu3questionnairehtml (check the R2 Diff tab ndash not a complete mapping)
Difference between STU3 and R4
bull New mandatory properties
bull enableWhenoperator
bull Initialvalue
bull options named answerValueSet
bull changed from reference to canonical
bull option renamed answerOption
bull Also includes valueReference support
bull And initial selection flag
bull enableWhen allany flag
bull enableWhenhasAnswer removed
bull Use operator value ldquoexistsrdquo
bull enableWhen no longer supports
bull Uri
bull Attachment
bull $populate operation moved into SDC
Note Additional functionality now defined int the SDC functionality rather than the core
httphl7orgfhirr4questionnairehtml (check the R3 Diff tab ndash not a complete mapping)
Structured Data Capture (SDC) Implementation Guide
bullExtensions to the core HL7 definitions bull Advanced Rendering
bull Advanced Form Behaviour
bull Importing Data into Forms
bull Extraction of Data from Forms
httpbuildfhirorgigHL7sdc
Workflow
bull Locate questionnaire to use (for given context)
bull Loadrender questionnaire (and referenced content)
bull Pre-populate questionnaire with other data (eg patient demographics observations etc)
bull User enters data
bull Local validations may occur during data entry
bull QuestionnaireResponse is validated by server bull ErrorsWarningsissues reported to the user
bull QuestionnaireResponse is saved to the target server
bull Data extracted into other resources
Argonaut Questionnaire Implementation Guide (Based on FHIR STU3) STATIC FORM WorkFlow
bull 1 An EHR system retrieves a standardized assessment represented by the Questionnaire resource from an assessment bank
bull 2 The Questionnaire is rendereddisplayed to the end user - either the subject or provider administrator
bull 3 The end user enters responses to the assessment questions and these responses are stored in the Answer Bank by POSTing a QuestionnaireResponse
bull 4 An EHR system requests answers to an assessment for a particular subject
bull 5 The QuestionnaireResponse is processed by the end user
httpwwwfhirorgguidesargonautquestionnaireindexhtml
Argonaut Questionnaire Implementation Guide (FHIR STU3) Adaptive Questionaire WorkFlow
bull 1 A Provider EHR may need to discover and review available Adaptive Questionnaires (not shown)
bull 2 The Form Filler initiates the Adaptive Questionnaire by posting to the Adaptive Questionnaire Services endpoint
bull 3 Treated as a Black Box the Adaptive Questionnaire Services returns the first question to the Form Filler
bull 4 The Questionnaire is rendereddisplayed to the end user - either the subject or provider administrator
bull 5 The Form Filler returns the question and answer pair to the Adaptive Questionnaire Services endpoint
bull 6 Based on the prior question and answer pair(s) the Adaptive Questionnaire Service returns the next question to the Form Filler
bull 7 Steps 5 and 6 are repeated until the questionnaire is done
bull 8 The Provider EHR may process the questions and answers
Creating Questionnaires
bull Converting existing non FHIR definitions
bull US National Library of Medicines Form Builder for LHC-FormsFHIR Questionnaire (STU3 R4)
bull Grahamersquos editor bull SmartQ editor (DSTU2 only)
httpsmartqeditazurewebsitesnet
bull Using text editor
bull Others
(or combination of the above)
Fetching Questionnaires
bull Standard FHIR Search API
bull eg by id title publisher
context etc
bull Through references in a
directory
Rendering Questionnaires and Recording Responses in QuestionnaireResponse
bull LinkId joins answer in
QuestionaireReponse to definitions
in Questionnaire bull MUST MATCH(including the nesting
depth)
bull May be validated
bull SDC Provides Advanced
Rendering Guidance and Definitions
Scoring Argonaut Questionnaire Implementation Guide
bull The responses to the assessment are captured by the Client Application
bull MAY calculate a scored based on the associated values associated with each item
bull Defined via the Questionnaire Ordinal Value Extension
bull How the score is calculated may be described within the Questionnaire often as a hidden display item
bull The actual logic and calculation is an implementation detail outside of scope of this Implementation Guide
item [
extension [
url httphl7orgfhirStructureDefinitionquestionnaire-
ordinalValue
valueDecimal 17
Time Limits Argonaut Questionnaire Implementation Guide
bull Time limits for completion of a questionnaire or individual question can be defined using the Argonaut Questionnaire Time Limit Extension
bull The Client Application may record the start and stop date-times in the Argonaut QuestionnaireResponse Response Period Extension
bull which can be used to determine whether the questionnaire or items were answered within the prescribed time limit
bull How this information modifies the behaviour of the Form-filler or interpretation of results is an implementation detail outside of scope of this Implementation Guide
Posting Answers and Subsequently Fetching
bull Note that individual
responses are not directly
searchable using the FHIR
RESTful API
bull Standard FHIR Search API
bull eg by id questionnaire
patient demographics
etc
Demo creatingfilling Questionnaires
ConversionMapping to other resources
bull Observation based extraction bull Itemcode for LOINCSNOMEDother codings for the values to be extracted
bull groups can create components in the observation too
bull Definition based extraction (httphl7orgfhirquestionnairehtml23854)
bull itemdefinition directly links to an element in a structure definition eg httphl7orgfhirStructureDefinitionObservationObservationcomment
bull Can link each item supporting repeating items
bull Caveat canrsquot do complex splitjoincalculations and shape of questionnaire must closely match StructureDefinition
bull StructureMap based extraction
bull Explicit mappings for every property
bull Uses the FHIR mapping language can be very complex but flexible it is a transform language
bull Use the questionnaire-targetStructureMap extension on the questionnaire
httpbuildfhirorgigHL7sdcextractionhtml
Pre-population
bull Requires
bull contextsource
bull mapping
bull processing engine
bull Knowledge of source structures (particularly profiled scope)
bull Current $populate Options bull Observation based
bull FHIRPath based
bull StructureMap based
Pre-population ndash Observation based
bull Low flexibility of Questionnaire structure in mapping
bull Source
bull Context may be provided in parameter or SMART
bull Itemcode for LOINCSNOMEDother to search
bull Extension questionnaire-observationLinkPeriod to define range to check for last observation to read
bull Mapping
bull Itemcode for LOINCSNOMEDother for the values to be extracted from the observation
bull Groups can be used for extracting observation components
bull If the system understands that codings like LOINC 21112-8 is patientbirthDate then it may extract data like this also
During the pre-population stage this is the query that could be produced to extract the data
(assuming that the date of 3 months ago was 2018-06-02)
[base]Observationsubject=[questionnaire response subject id]
ampcode=http3Aloincorg|29463-7http3Aloincorg|3141-9 http3Aloincorg|8341-0
ampstatus=completed
ampdate=ge2018-06-02
amp_sort=-date
amp_count=1
Pre-population ndash FHIRPath based
bull Source
bull Context may be provided in parameter or SMART bull extension questionnaire-launchContext
bull Produces a bundle for processing
bull Mapping
bull FHIR Path expressions for each property to map bull extension ldquoquestionnaire-itemContextrdquo
bull Extension ldquosdc-questionnaire-initialExpressionrdquo
bull Leverage variables to assist in calculations bull Extension ldquovariablerdquo uses Expression datatype
More Flexible requires knowledge of FHIRPath and FHIR Queries to create the mappings
Validation
bull FHIR jsonxml valid (serialization)
bull Core FHIR profile validation (maybe local profiles too)
bull QuestionnaireResponse validation
bull Item Types (using linkId to match)
bull ExtensionsExtended Validation
bull Base Questionnaires through derivedFrom reference
bull Custom validation
bull OperationOutcome bull Contentmessages appropriate to display to users
Advanced Validation bull Core resources can be profiled with invariants
bull Extension adds this capability to Questionnaires
httphl7orgfhirextension-questionnaire-constrainthtml
Advanced Validation Examples
bull Checking cross field validation
bull Checking conditional rules
bull Checking complex calculations
bull Error messages
httpssqlonfhir-r4azurewebsitesnetfhirQuestionnairesa-rtw-r4
Summary bull Create a form definition
bull with validation rules
bull with resource mappings
bull Create form data
bull Perform Validation
bull Map to a new resource from form data
bull Terminology interactions
bull Where will you use Questionnaires
Questions
Thank you
Keep FHIR-ing on all cylinders
Form Definitions
Questionnaire
bull Metadata
bull Items (nested)
bull LinkId
bull Text
bull Item Type
bull repeats
bull Data rules (validation)
bull Formatting hints
QuestionnaireResponse
bull Context
bull Items (nested)
bull LinkId (must match)
bull Answer value
LinkId joins answer to definition
MUST MATCH
(including the nesting depth)
Item-Type Response Type Definition
group item(Group) An item with children may be repeating Could be a section table or other layout (eg tabs)
display (none) Just a label to be displayed (no answer to be collected)
boolean valueBoolean Yesno answer (checkbox radio group or similar)
decimal valueDecimal Real number answer (restricted textbox slider hellip) integer valueInteger Integer answer (restricted textbox slider hellip) date valueDate Date answer (restricted textbox date picker hellip) dateTime valueDateTime Date and time answer (restricted textbox date picker hellip) time valueTime Time only answer (hourminutesecond) answer independent of date (restricted textbox hellip) 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 hellip) 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 hellip) reference valueReference A reference to another resource eg practitioner organization etc (resource finder)
quantity valueQuantity Question with a combination of a numeric value and unit ()
httphl7orgfhirvalueset-item-typehtml
Interaction with terminologies
Questionnaire structure
bull Item types
bull Choice open-choice
bull Valueset reference (canonical)
bull ItemanswerValueSet
bull Answer options
bull valueCoding
bull Control selection
bull Consider the number of potential entries in the list
bull Checkboxes radio buttons comboboxes autocomplete
Extensions
bull questionnaire-optionExclusive
bull preferredTerminologyServer
bull questionnaire-unitValueSet
bull 11179-permitted-value-valueset
bull 11179-permitted-value-conceptmap
Operations
Use the ValueSet $expand operation to either pre-load the values or use the filter parameter for the auto-complete style usage
Difference between DSTU2 and STU3
DSTU2
bull GroupQuestion
bull Group 01 at root
bull enableWhen readonly maxLength intialValue (extension)
bull Concept
bull Label (extension)
bull Groupquestion child collection ordering ambiguous
STU3
bull Item (with type=group)
bull Item 0 at root
bull Moved to core
bull Code (and definition)
bull Use Item (type=display)
bull More metadata at root
httphl7orgfhirstu3questionnairehtml (check the R2 Diff tab ndash not a complete mapping)
Difference between STU3 and R4
bull New mandatory properties
bull enableWhenoperator
bull Initialvalue
bull options named answerValueSet
bull changed from reference to canonical
bull option renamed answerOption
bull Also includes valueReference support
bull And initial selection flag
bull enableWhen allany flag
bull enableWhenhasAnswer removed
bull Use operator value ldquoexistsrdquo
bull enableWhen no longer supports
bull Uri
bull Attachment
bull $populate operation moved into SDC
Note Additional functionality now defined int the SDC functionality rather than the core
httphl7orgfhirr4questionnairehtml (check the R3 Diff tab ndash not a complete mapping)
Structured Data Capture (SDC) Implementation Guide
bullExtensions to the core HL7 definitions bull Advanced Rendering
bull Advanced Form Behaviour
bull Importing Data into Forms
bull Extraction of Data from Forms
httpbuildfhirorgigHL7sdc
Workflow
bull Locate questionnaire to use (for given context)
bull Loadrender questionnaire (and referenced content)
bull Pre-populate questionnaire with other data (eg patient demographics observations etc)
bull User enters data
bull Local validations may occur during data entry
bull QuestionnaireResponse is validated by server bull ErrorsWarningsissues reported to the user
bull QuestionnaireResponse is saved to the target server
bull Data extracted into other resources
Argonaut Questionnaire Implementation Guide (Based on FHIR STU3) STATIC FORM WorkFlow
bull 1 An EHR system retrieves a standardized assessment represented by the Questionnaire resource from an assessment bank
bull 2 The Questionnaire is rendereddisplayed to the end user - either the subject or provider administrator
bull 3 The end user enters responses to the assessment questions and these responses are stored in the Answer Bank by POSTing a QuestionnaireResponse
bull 4 An EHR system requests answers to an assessment for a particular subject
bull 5 The QuestionnaireResponse is processed by the end user
httpwwwfhirorgguidesargonautquestionnaireindexhtml
Argonaut Questionnaire Implementation Guide (FHIR STU3) Adaptive Questionaire WorkFlow
bull 1 A Provider EHR may need to discover and review available Adaptive Questionnaires (not shown)
bull 2 The Form Filler initiates the Adaptive Questionnaire by posting to the Adaptive Questionnaire Services endpoint
bull 3 Treated as a Black Box the Adaptive Questionnaire Services returns the first question to the Form Filler
bull 4 The Questionnaire is rendereddisplayed to the end user - either the subject or provider administrator
bull 5 The Form Filler returns the question and answer pair to the Adaptive Questionnaire Services endpoint
bull 6 Based on the prior question and answer pair(s) the Adaptive Questionnaire Service returns the next question to the Form Filler
bull 7 Steps 5 and 6 are repeated until the questionnaire is done
bull 8 The Provider EHR may process the questions and answers
Creating Questionnaires
bull Converting existing non FHIR definitions
bull US National Library of Medicines Form Builder for LHC-FormsFHIR Questionnaire (STU3 R4)
bull Grahamersquos editor bull SmartQ editor (DSTU2 only)
httpsmartqeditazurewebsitesnet
bull Using text editor
bull Others
(or combination of the above)
Fetching Questionnaires
bull Standard FHIR Search API
bull eg by id title publisher
context etc
bull Through references in a
directory
Rendering Questionnaires and Recording Responses in QuestionnaireResponse
bull LinkId joins answer in
QuestionaireReponse to definitions
in Questionnaire bull MUST MATCH(including the nesting
depth)
bull May be validated
bull SDC Provides Advanced
Rendering Guidance and Definitions
Scoring Argonaut Questionnaire Implementation Guide
bull The responses to the assessment are captured by the Client Application
bull MAY calculate a scored based on the associated values associated with each item
bull Defined via the Questionnaire Ordinal Value Extension
bull How the score is calculated may be described within the Questionnaire often as a hidden display item
bull The actual logic and calculation is an implementation detail outside of scope of this Implementation Guide
item [
extension [
url httphl7orgfhirStructureDefinitionquestionnaire-
ordinalValue
valueDecimal 17
Time Limits Argonaut Questionnaire Implementation Guide
bull Time limits for completion of a questionnaire or individual question can be defined using the Argonaut Questionnaire Time Limit Extension
bull The Client Application may record the start and stop date-times in the Argonaut QuestionnaireResponse Response Period Extension
bull which can be used to determine whether the questionnaire or items were answered within the prescribed time limit
bull How this information modifies the behaviour of the Form-filler or interpretation of results is an implementation detail outside of scope of this Implementation Guide
Posting Answers and Subsequently Fetching
bull Note that individual
responses are not directly
searchable using the FHIR
RESTful API
bull Standard FHIR Search API
bull eg by id questionnaire
patient demographics
etc
Demo creatingfilling Questionnaires
ConversionMapping to other resources
bull Observation based extraction bull Itemcode for LOINCSNOMEDother codings for the values to be extracted
bull groups can create components in the observation too
bull Definition based extraction (httphl7orgfhirquestionnairehtml23854)
bull itemdefinition directly links to an element in a structure definition eg httphl7orgfhirStructureDefinitionObservationObservationcomment
bull Can link each item supporting repeating items
bull Caveat canrsquot do complex splitjoincalculations and shape of questionnaire must closely match StructureDefinition
bull StructureMap based extraction
bull Explicit mappings for every property
bull Uses the FHIR mapping language can be very complex but flexible it is a transform language
bull Use the questionnaire-targetStructureMap extension on the questionnaire
httpbuildfhirorgigHL7sdcextractionhtml
Pre-population
bull Requires
bull contextsource
bull mapping
bull processing engine
bull Knowledge of source structures (particularly profiled scope)
bull Current $populate Options bull Observation based
bull FHIRPath based
bull StructureMap based
Pre-population ndash Observation based
bull Low flexibility of Questionnaire structure in mapping
bull Source
bull Context may be provided in parameter or SMART
bull Itemcode for LOINCSNOMEDother to search
bull Extension questionnaire-observationLinkPeriod to define range to check for last observation to read
bull Mapping
bull Itemcode for LOINCSNOMEDother for the values to be extracted from the observation
bull Groups can be used for extracting observation components
bull If the system understands that codings like LOINC 21112-8 is patientbirthDate then it may extract data like this also
During the pre-population stage this is the query that could be produced to extract the data
(assuming that the date of 3 months ago was 2018-06-02)
[base]Observationsubject=[questionnaire response subject id]
ampcode=http3Aloincorg|29463-7http3Aloincorg|3141-9 http3Aloincorg|8341-0
ampstatus=completed
ampdate=ge2018-06-02
amp_sort=-date
amp_count=1
Pre-population ndash FHIRPath based
bull Source
bull Context may be provided in parameter or SMART bull extension questionnaire-launchContext
bull Produces a bundle for processing
bull Mapping
bull FHIR Path expressions for each property to map bull extension ldquoquestionnaire-itemContextrdquo
bull Extension ldquosdc-questionnaire-initialExpressionrdquo
bull Leverage variables to assist in calculations bull Extension ldquovariablerdquo uses Expression datatype
More Flexible requires knowledge of FHIRPath and FHIR Queries to create the mappings
Validation
bull FHIR jsonxml valid (serialization)
bull Core FHIR profile validation (maybe local profiles too)
bull QuestionnaireResponse validation
bull Item Types (using linkId to match)
bull ExtensionsExtended Validation
bull Base Questionnaires through derivedFrom reference
bull Custom validation
bull OperationOutcome bull Contentmessages appropriate to display to users
Advanced Validation bull Core resources can be profiled with invariants
bull Extension adds this capability to Questionnaires
httphl7orgfhirextension-questionnaire-constrainthtml
Advanced Validation Examples
bull Checking cross field validation
bull Checking conditional rules
bull Checking complex calculations
bull Error messages
httpssqlonfhir-r4azurewebsitesnetfhirQuestionnairesa-rtw-r4
Summary bull Create a form definition
bull with validation rules
bull with resource mappings
bull Create form data
bull Perform Validation
bull Map to a new resource from form data
bull Terminology interactions
bull Where will you use Questionnaires
Questions
Thank you
Keep FHIR-ing on all cylinders
Item-Type Response Type Definition
group item(Group) An item with children may be repeating Could be a section table or other layout (eg tabs)
display (none) Just a label to be displayed (no answer to be collected)
boolean valueBoolean Yesno answer (checkbox radio group or similar)
decimal valueDecimal Real number answer (restricted textbox slider hellip) integer valueInteger Integer answer (restricted textbox slider hellip) date valueDate Date answer (restricted textbox date picker hellip) dateTime valueDateTime Date and time answer (restricted textbox date picker hellip) time valueTime Time only answer (hourminutesecond) answer independent of date (restricted textbox hellip) 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 hellip) 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 hellip) reference valueReference A reference to another resource eg practitioner organization etc (resource finder)
quantity valueQuantity Question with a combination of a numeric value and unit ()
httphl7orgfhirvalueset-item-typehtml
Interaction with terminologies
Questionnaire structure
bull Item types
bull Choice open-choice
bull Valueset reference (canonical)
bull ItemanswerValueSet
bull Answer options
bull valueCoding
bull Control selection
bull Consider the number of potential entries in the list
bull Checkboxes radio buttons comboboxes autocomplete
Extensions
bull questionnaire-optionExclusive
bull preferredTerminologyServer
bull questionnaire-unitValueSet
bull 11179-permitted-value-valueset
bull 11179-permitted-value-conceptmap
Operations
Use the ValueSet $expand operation to either pre-load the values or use the filter parameter for the auto-complete style usage
Difference between DSTU2 and STU3
DSTU2
bull GroupQuestion
bull Group 01 at root
bull enableWhen readonly maxLength intialValue (extension)
bull Concept
bull Label (extension)
bull Groupquestion child collection ordering ambiguous
STU3
bull Item (with type=group)
bull Item 0 at root
bull Moved to core
bull Code (and definition)
bull Use Item (type=display)
bull More metadata at root
httphl7orgfhirstu3questionnairehtml (check the R2 Diff tab ndash not a complete mapping)
Difference between STU3 and R4
bull New mandatory properties
bull enableWhenoperator
bull Initialvalue
bull options named answerValueSet
bull changed from reference to canonical
bull option renamed answerOption
bull Also includes valueReference support
bull And initial selection flag
bull enableWhen allany flag
bull enableWhenhasAnswer removed
bull Use operator value ldquoexistsrdquo
bull enableWhen no longer supports
bull Uri
bull Attachment
bull $populate operation moved into SDC
Note Additional functionality now defined int the SDC functionality rather than the core
httphl7orgfhirr4questionnairehtml (check the R3 Diff tab ndash not a complete mapping)
Structured Data Capture (SDC) Implementation Guide
bullExtensions to the core HL7 definitions bull Advanced Rendering
bull Advanced Form Behaviour
bull Importing Data into Forms
bull Extraction of Data from Forms
httpbuildfhirorgigHL7sdc
Workflow
bull Locate questionnaire to use (for given context)
bull Loadrender questionnaire (and referenced content)
bull Pre-populate questionnaire with other data (eg patient demographics observations etc)
bull User enters data
bull Local validations may occur during data entry
bull QuestionnaireResponse is validated by server bull ErrorsWarningsissues reported to the user
bull QuestionnaireResponse is saved to the target server
bull Data extracted into other resources
Argonaut Questionnaire Implementation Guide (Based on FHIR STU3) STATIC FORM WorkFlow
bull 1 An EHR system retrieves a standardized assessment represented by the Questionnaire resource from an assessment bank
bull 2 The Questionnaire is rendereddisplayed to the end user - either the subject or provider administrator
bull 3 The end user enters responses to the assessment questions and these responses are stored in the Answer Bank by POSTing a QuestionnaireResponse
bull 4 An EHR system requests answers to an assessment for a particular subject
bull 5 The QuestionnaireResponse is processed by the end user
httpwwwfhirorgguidesargonautquestionnaireindexhtml
Argonaut Questionnaire Implementation Guide (FHIR STU3) Adaptive Questionaire WorkFlow
bull 1 A Provider EHR may need to discover and review available Adaptive Questionnaires (not shown)
bull 2 The Form Filler initiates the Adaptive Questionnaire by posting to the Adaptive Questionnaire Services endpoint
bull 3 Treated as a Black Box the Adaptive Questionnaire Services returns the first question to the Form Filler
bull 4 The Questionnaire is rendereddisplayed to the end user - either the subject or provider administrator
bull 5 The Form Filler returns the question and answer pair to the Adaptive Questionnaire Services endpoint
bull 6 Based on the prior question and answer pair(s) the Adaptive Questionnaire Service returns the next question to the Form Filler
bull 7 Steps 5 and 6 are repeated until the questionnaire is done
bull 8 The Provider EHR may process the questions and answers
Creating Questionnaires
bull Converting existing non FHIR definitions
bull US National Library of Medicines Form Builder for LHC-FormsFHIR Questionnaire (STU3 R4)
bull Grahamersquos editor bull SmartQ editor (DSTU2 only)
httpsmartqeditazurewebsitesnet
bull Using text editor
bull Others
(or combination of the above)
Fetching Questionnaires
bull Standard FHIR Search API
bull eg by id title publisher
context etc
bull Through references in a
directory
Rendering Questionnaires and Recording Responses in QuestionnaireResponse
bull LinkId joins answer in
QuestionaireReponse to definitions
in Questionnaire bull MUST MATCH(including the nesting
depth)
bull May be validated
bull SDC Provides Advanced
Rendering Guidance and Definitions
Scoring Argonaut Questionnaire Implementation Guide
bull The responses to the assessment are captured by the Client Application
bull MAY calculate a scored based on the associated values associated with each item
bull Defined via the Questionnaire Ordinal Value Extension
bull How the score is calculated may be described within the Questionnaire often as a hidden display item
bull The actual logic and calculation is an implementation detail outside of scope of this Implementation Guide
item [
extension [
url httphl7orgfhirStructureDefinitionquestionnaire-
ordinalValue
valueDecimal 17
Time Limits Argonaut Questionnaire Implementation Guide
bull Time limits for completion of a questionnaire or individual question can be defined using the Argonaut Questionnaire Time Limit Extension
bull The Client Application may record the start and stop date-times in the Argonaut QuestionnaireResponse Response Period Extension
bull which can be used to determine whether the questionnaire or items were answered within the prescribed time limit
bull How this information modifies the behaviour of the Form-filler or interpretation of results is an implementation detail outside of scope of this Implementation Guide
Posting Answers and Subsequently Fetching
bull Note that individual
responses are not directly
searchable using the FHIR
RESTful API
bull Standard FHIR Search API
bull eg by id questionnaire
patient demographics
etc
Demo creatingfilling Questionnaires
ConversionMapping to other resources
bull Observation based extraction bull Itemcode for LOINCSNOMEDother codings for the values to be extracted
bull groups can create components in the observation too
bull Definition based extraction (httphl7orgfhirquestionnairehtml23854)
bull itemdefinition directly links to an element in a structure definition eg httphl7orgfhirStructureDefinitionObservationObservationcomment
bull Can link each item supporting repeating items
bull Caveat canrsquot do complex splitjoincalculations and shape of questionnaire must closely match StructureDefinition
bull StructureMap based extraction
bull Explicit mappings for every property
bull Uses the FHIR mapping language can be very complex but flexible it is a transform language
bull Use the questionnaire-targetStructureMap extension on the questionnaire
httpbuildfhirorgigHL7sdcextractionhtml
Pre-population
bull Requires
bull contextsource
bull mapping
bull processing engine
bull Knowledge of source structures (particularly profiled scope)
bull Current $populate Options bull Observation based
bull FHIRPath based
bull StructureMap based
Pre-population ndash Observation based
bull Low flexibility of Questionnaire structure in mapping
bull Source
bull Context may be provided in parameter or SMART
bull Itemcode for LOINCSNOMEDother to search
bull Extension questionnaire-observationLinkPeriod to define range to check for last observation to read
bull Mapping
bull Itemcode for LOINCSNOMEDother for the values to be extracted from the observation
bull Groups can be used for extracting observation components
bull If the system understands that codings like LOINC 21112-8 is patientbirthDate then it may extract data like this also
During the pre-population stage this is the query that could be produced to extract the data
(assuming that the date of 3 months ago was 2018-06-02)
[base]Observationsubject=[questionnaire response subject id]
ampcode=http3Aloincorg|29463-7http3Aloincorg|3141-9 http3Aloincorg|8341-0
ampstatus=completed
ampdate=ge2018-06-02
amp_sort=-date
amp_count=1
Pre-population ndash FHIRPath based
bull Source
bull Context may be provided in parameter or SMART bull extension questionnaire-launchContext
bull Produces a bundle for processing
bull Mapping
bull FHIR Path expressions for each property to map bull extension ldquoquestionnaire-itemContextrdquo
bull Extension ldquosdc-questionnaire-initialExpressionrdquo
bull Leverage variables to assist in calculations bull Extension ldquovariablerdquo uses Expression datatype
More Flexible requires knowledge of FHIRPath and FHIR Queries to create the mappings
Validation
bull FHIR jsonxml valid (serialization)
bull Core FHIR profile validation (maybe local profiles too)
bull QuestionnaireResponse validation
bull Item Types (using linkId to match)
bull ExtensionsExtended Validation
bull Base Questionnaires through derivedFrom reference
bull Custom validation
bull OperationOutcome bull Contentmessages appropriate to display to users
Advanced Validation bull Core resources can be profiled with invariants
bull Extension adds this capability to Questionnaires
httphl7orgfhirextension-questionnaire-constrainthtml
Advanced Validation Examples
bull Checking cross field validation
bull Checking conditional rules
bull Checking complex calculations
bull Error messages
httpssqlonfhir-r4azurewebsitesnetfhirQuestionnairesa-rtw-r4
Summary bull Create a form definition
bull with validation rules
bull with resource mappings
bull Create form data
bull Perform Validation
bull Map to a new resource from form data
bull Terminology interactions
bull Where will you use Questionnaires
Questions
Thank you
Keep FHIR-ing on all cylinders
Interaction with terminologies
Questionnaire structure
bull Item types
bull Choice open-choice
bull Valueset reference (canonical)
bull ItemanswerValueSet
bull Answer options
bull valueCoding
bull Control selection
bull Consider the number of potential entries in the list
bull Checkboxes radio buttons comboboxes autocomplete
Extensions
bull questionnaire-optionExclusive
bull preferredTerminologyServer
bull questionnaire-unitValueSet
bull 11179-permitted-value-valueset
bull 11179-permitted-value-conceptmap
Operations
Use the ValueSet $expand operation to either pre-load the values or use the filter parameter for the auto-complete style usage
Difference between DSTU2 and STU3
DSTU2
bull GroupQuestion
bull Group 01 at root
bull enableWhen readonly maxLength intialValue (extension)
bull Concept
bull Label (extension)
bull Groupquestion child collection ordering ambiguous
STU3
bull Item (with type=group)
bull Item 0 at root
bull Moved to core
bull Code (and definition)
bull Use Item (type=display)
bull More metadata at root
httphl7orgfhirstu3questionnairehtml (check the R2 Diff tab ndash not a complete mapping)
Difference between STU3 and R4
bull New mandatory properties
bull enableWhenoperator
bull Initialvalue
bull options named answerValueSet
bull changed from reference to canonical
bull option renamed answerOption
bull Also includes valueReference support
bull And initial selection flag
bull enableWhen allany flag
bull enableWhenhasAnswer removed
bull Use operator value ldquoexistsrdquo
bull enableWhen no longer supports
bull Uri
bull Attachment
bull $populate operation moved into SDC
Note Additional functionality now defined int the SDC functionality rather than the core
httphl7orgfhirr4questionnairehtml (check the R3 Diff tab ndash not a complete mapping)
Structured Data Capture (SDC) Implementation Guide
bullExtensions to the core HL7 definitions bull Advanced Rendering
bull Advanced Form Behaviour
bull Importing Data into Forms
bull Extraction of Data from Forms
httpbuildfhirorgigHL7sdc
Workflow
bull Locate questionnaire to use (for given context)
bull Loadrender questionnaire (and referenced content)
bull Pre-populate questionnaire with other data (eg patient demographics observations etc)
bull User enters data
bull Local validations may occur during data entry
bull QuestionnaireResponse is validated by server bull ErrorsWarningsissues reported to the user
bull QuestionnaireResponse is saved to the target server
bull Data extracted into other resources
Argonaut Questionnaire Implementation Guide (Based on FHIR STU3) STATIC FORM WorkFlow
bull 1 An EHR system retrieves a standardized assessment represented by the Questionnaire resource from an assessment bank
bull 2 The Questionnaire is rendereddisplayed to the end user - either the subject or provider administrator
bull 3 The end user enters responses to the assessment questions and these responses are stored in the Answer Bank by POSTing a QuestionnaireResponse
bull 4 An EHR system requests answers to an assessment for a particular subject
bull 5 The QuestionnaireResponse is processed by the end user
httpwwwfhirorgguidesargonautquestionnaireindexhtml
Argonaut Questionnaire Implementation Guide (FHIR STU3) Adaptive Questionaire WorkFlow
bull 1 A Provider EHR may need to discover and review available Adaptive Questionnaires (not shown)
bull 2 The Form Filler initiates the Adaptive Questionnaire by posting to the Adaptive Questionnaire Services endpoint
bull 3 Treated as a Black Box the Adaptive Questionnaire Services returns the first question to the Form Filler
bull 4 The Questionnaire is rendereddisplayed to the end user - either the subject or provider administrator
bull 5 The Form Filler returns the question and answer pair to the Adaptive Questionnaire Services endpoint
bull 6 Based on the prior question and answer pair(s) the Adaptive Questionnaire Service returns the next question to the Form Filler
bull 7 Steps 5 and 6 are repeated until the questionnaire is done
bull 8 The Provider EHR may process the questions and answers
Creating Questionnaires
bull Converting existing non FHIR definitions
bull US National Library of Medicines Form Builder for LHC-FormsFHIR Questionnaire (STU3 R4)
bull Grahamersquos editor bull SmartQ editor (DSTU2 only)
httpsmartqeditazurewebsitesnet
bull Using text editor
bull Others
(or combination of the above)
Fetching Questionnaires
bull Standard FHIR Search API
bull eg by id title publisher
context etc
bull Through references in a
directory
Rendering Questionnaires and Recording Responses in QuestionnaireResponse
bull LinkId joins answer in
QuestionaireReponse to definitions
in Questionnaire bull MUST MATCH(including the nesting
depth)
bull May be validated
bull SDC Provides Advanced
Rendering Guidance and Definitions
Scoring Argonaut Questionnaire Implementation Guide
bull The responses to the assessment are captured by the Client Application
bull MAY calculate a scored based on the associated values associated with each item
bull Defined via the Questionnaire Ordinal Value Extension
bull How the score is calculated may be described within the Questionnaire often as a hidden display item
bull The actual logic and calculation is an implementation detail outside of scope of this Implementation Guide
item [
extension [
url httphl7orgfhirStructureDefinitionquestionnaire-
ordinalValue
valueDecimal 17
Time Limits Argonaut Questionnaire Implementation Guide
bull Time limits for completion of a questionnaire or individual question can be defined using the Argonaut Questionnaire Time Limit Extension
bull The Client Application may record the start and stop date-times in the Argonaut QuestionnaireResponse Response Period Extension
bull which can be used to determine whether the questionnaire or items were answered within the prescribed time limit
bull How this information modifies the behaviour of the Form-filler or interpretation of results is an implementation detail outside of scope of this Implementation Guide
Posting Answers and Subsequently Fetching
bull Note that individual
responses are not directly
searchable using the FHIR
RESTful API
bull Standard FHIR Search API
bull eg by id questionnaire
patient demographics
etc
Demo creatingfilling Questionnaires
ConversionMapping to other resources
bull Observation based extraction bull Itemcode for LOINCSNOMEDother codings for the values to be extracted
bull groups can create components in the observation too
bull Definition based extraction (httphl7orgfhirquestionnairehtml23854)
bull itemdefinition directly links to an element in a structure definition eg httphl7orgfhirStructureDefinitionObservationObservationcomment
bull Can link each item supporting repeating items
bull Caveat canrsquot do complex splitjoincalculations and shape of questionnaire must closely match StructureDefinition
bull StructureMap based extraction
bull Explicit mappings for every property
bull Uses the FHIR mapping language can be very complex but flexible it is a transform language
bull Use the questionnaire-targetStructureMap extension on the questionnaire
httpbuildfhirorgigHL7sdcextractionhtml
Pre-population
bull Requires
bull contextsource
bull mapping
bull processing engine
bull Knowledge of source structures (particularly profiled scope)
bull Current $populate Options bull Observation based
bull FHIRPath based
bull StructureMap based
Pre-population ndash Observation based
bull Low flexibility of Questionnaire structure in mapping
bull Source
bull Context may be provided in parameter or SMART
bull Itemcode for LOINCSNOMEDother to search
bull Extension questionnaire-observationLinkPeriod to define range to check for last observation to read
bull Mapping
bull Itemcode for LOINCSNOMEDother for the values to be extracted from the observation
bull Groups can be used for extracting observation components
bull If the system understands that codings like LOINC 21112-8 is patientbirthDate then it may extract data like this also
During the pre-population stage this is the query that could be produced to extract the data
(assuming that the date of 3 months ago was 2018-06-02)
[base]Observationsubject=[questionnaire response subject id]
ampcode=http3Aloincorg|29463-7http3Aloincorg|3141-9 http3Aloincorg|8341-0
ampstatus=completed
ampdate=ge2018-06-02
amp_sort=-date
amp_count=1
Pre-population ndash FHIRPath based
bull Source
bull Context may be provided in parameter or SMART bull extension questionnaire-launchContext
bull Produces a bundle for processing
bull Mapping
bull FHIR Path expressions for each property to map bull extension ldquoquestionnaire-itemContextrdquo
bull Extension ldquosdc-questionnaire-initialExpressionrdquo
bull Leverage variables to assist in calculations bull Extension ldquovariablerdquo uses Expression datatype
More Flexible requires knowledge of FHIRPath and FHIR Queries to create the mappings
Validation
bull FHIR jsonxml valid (serialization)
bull Core FHIR profile validation (maybe local profiles too)
bull QuestionnaireResponse validation
bull Item Types (using linkId to match)
bull ExtensionsExtended Validation
bull Base Questionnaires through derivedFrom reference
bull Custom validation
bull OperationOutcome bull Contentmessages appropriate to display to users
Advanced Validation bull Core resources can be profiled with invariants
bull Extension adds this capability to Questionnaires
httphl7orgfhirextension-questionnaire-constrainthtml
Advanced Validation Examples
bull Checking cross field validation
bull Checking conditional rules
bull Checking complex calculations
bull Error messages
httpssqlonfhir-r4azurewebsitesnetfhirQuestionnairesa-rtw-r4
Summary bull Create a form definition
bull with validation rules
bull with resource mappings
bull Create form data
bull Perform Validation
bull Map to a new resource from form data
bull Terminology interactions
bull Where will you use Questionnaires
Questions
Thank you
Keep FHIR-ing on all cylinders
Difference between DSTU2 and STU3
DSTU2
bull GroupQuestion
bull Group 01 at root
bull enableWhen readonly maxLength intialValue (extension)
bull Concept
bull Label (extension)
bull Groupquestion child collection ordering ambiguous
STU3
bull Item (with type=group)
bull Item 0 at root
bull Moved to core
bull Code (and definition)
bull Use Item (type=display)
bull More metadata at root
httphl7orgfhirstu3questionnairehtml (check the R2 Diff tab ndash not a complete mapping)
Difference between STU3 and R4
bull New mandatory properties
bull enableWhenoperator
bull Initialvalue
bull options named answerValueSet
bull changed from reference to canonical
bull option renamed answerOption
bull Also includes valueReference support
bull And initial selection flag
bull enableWhen allany flag
bull enableWhenhasAnswer removed
bull Use operator value ldquoexistsrdquo
bull enableWhen no longer supports
bull Uri
bull Attachment
bull $populate operation moved into SDC
Note Additional functionality now defined int the SDC functionality rather than the core
httphl7orgfhirr4questionnairehtml (check the R3 Diff tab ndash not a complete mapping)
Structured Data Capture (SDC) Implementation Guide
bullExtensions to the core HL7 definitions bull Advanced Rendering
bull Advanced Form Behaviour
bull Importing Data into Forms
bull Extraction of Data from Forms
httpbuildfhirorgigHL7sdc
Workflow
bull Locate questionnaire to use (for given context)
bull Loadrender questionnaire (and referenced content)
bull Pre-populate questionnaire with other data (eg patient demographics observations etc)
bull User enters data
bull Local validations may occur during data entry
bull QuestionnaireResponse is validated by server bull ErrorsWarningsissues reported to the user
bull QuestionnaireResponse is saved to the target server
bull Data extracted into other resources
Argonaut Questionnaire Implementation Guide (Based on FHIR STU3) STATIC FORM WorkFlow
bull 1 An EHR system retrieves a standardized assessment represented by the Questionnaire resource from an assessment bank
bull 2 The Questionnaire is rendereddisplayed to the end user - either the subject or provider administrator
bull 3 The end user enters responses to the assessment questions and these responses are stored in the Answer Bank by POSTing a QuestionnaireResponse
bull 4 An EHR system requests answers to an assessment for a particular subject
bull 5 The QuestionnaireResponse is processed by the end user
httpwwwfhirorgguidesargonautquestionnaireindexhtml
Argonaut Questionnaire Implementation Guide (FHIR STU3) Adaptive Questionaire WorkFlow
bull 1 A Provider EHR may need to discover and review available Adaptive Questionnaires (not shown)
bull 2 The Form Filler initiates the Adaptive Questionnaire by posting to the Adaptive Questionnaire Services endpoint
bull 3 Treated as a Black Box the Adaptive Questionnaire Services returns the first question to the Form Filler
bull 4 The Questionnaire is rendereddisplayed to the end user - either the subject or provider administrator
bull 5 The Form Filler returns the question and answer pair to the Adaptive Questionnaire Services endpoint
bull 6 Based on the prior question and answer pair(s) the Adaptive Questionnaire Service returns the next question to the Form Filler
bull 7 Steps 5 and 6 are repeated until the questionnaire is done
bull 8 The Provider EHR may process the questions and answers
Creating Questionnaires
bull Converting existing non FHIR definitions
bull US National Library of Medicines Form Builder for LHC-FormsFHIR Questionnaire (STU3 R4)
bull Grahamersquos editor bull SmartQ editor (DSTU2 only)
httpsmartqeditazurewebsitesnet
bull Using text editor
bull Others
(or combination of the above)
Fetching Questionnaires
bull Standard FHIR Search API
bull eg by id title publisher
context etc
bull Through references in a
directory
Rendering Questionnaires and Recording Responses in QuestionnaireResponse
bull LinkId joins answer in
QuestionaireReponse to definitions
in Questionnaire bull MUST MATCH(including the nesting
depth)
bull May be validated
bull SDC Provides Advanced
Rendering Guidance and Definitions
Scoring Argonaut Questionnaire Implementation Guide
bull The responses to the assessment are captured by the Client Application
bull MAY calculate a scored based on the associated values associated with each item
bull Defined via the Questionnaire Ordinal Value Extension
bull How the score is calculated may be described within the Questionnaire often as a hidden display item
bull The actual logic and calculation is an implementation detail outside of scope of this Implementation Guide
item [
extension [
url httphl7orgfhirStructureDefinitionquestionnaire-
ordinalValue
valueDecimal 17
Time Limits Argonaut Questionnaire Implementation Guide
bull Time limits for completion of a questionnaire or individual question can be defined using the Argonaut Questionnaire Time Limit Extension
bull The Client Application may record the start and stop date-times in the Argonaut QuestionnaireResponse Response Period Extension
bull which can be used to determine whether the questionnaire or items were answered within the prescribed time limit
bull How this information modifies the behaviour of the Form-filler or interpretation of results is an implementation detail outside of scope of this Implementation Guide
Posting Answers and Subsequently Fetching
bull Note that individual
responses are not directly
searchable using the FHIR
RESTful API
bull Standard FHIR Search API
bull eg by id questionnaire
patient demographics
etc
Demo creatingfilling Questionnaires
ConversionMapping to other resources
bull Observation based extraction bull Itemcode for LOINCSNOMEDother codings for the values to be extracted
bull groups can create components in the observation too
bull Definition based extraction (httphl7orgfhirquestionnairehtml23854)
bull itemdefinition directly links to an element in a structure definition eg httphl7orgfhirStructureDefinitionObservationObservationcomment
bull Can link each item supporting repeating items
bull Caveat canrsquot do complex splitjoincalculations and shape of questionnaire must closely match StructureDefinition
bull StructureMap based extraction
bull Explicit mappings for every property
bull Uses the FHIR mapping language can be very complex but flexible it is a transform language
bull Use the questionnaire-targetStructureMap extension on the questionnaire
httpbuildfhirorgigHL7sdcextractionhtml
Pre-population
bull Requires
bull contextsource
bull mapping
bull processing engine
bull Knowledge of source structures (particularly profiled scope)
bull Current $populate Options bull Observation based
bull FHIRPath based
bull StructureMap based
Pre-population ndash Observation based
bull Low flexibility of Questionnaire structure in mapping
bull Source
bull Context may be provided in parameter or SMART
bull Itemcode for LOINCSNOMEDother to search
bull Extension questionnaire-observationLinkPeriod to define range to check for last observation to read
bull Mapping
bull Itemcode for LOINCSNOMEDother for the values to be extracted from the observation
bull Groups can be used for extracting observation components
bull If the system understands that codings like LOINC 21112-8 is patientbirthDate then it may extract data like this also
During the pre-population stage this is the query that could be produced to extract the data
(assuming that the date of 3 months ago was 2018-06-02)
[base]Observationsubject=[questionnaire response subject id]
ampcode=http3Aloincorg|29463-7http3Aloincorg|3141-9 http3Aloincorg|8341-0
ampstatus=completed
ampdate=ge2018-06-02
amp_sort=-date
amp_count=1
Pre-population ndash FHIRPath based
bull Source
bull Context may be provided in parameter or SMART bull extension questionnaire-launchContext
bull Produces a bundle for processing
bull Mapping
bull FHIR Path expressions for each property to map bull extension ldquoquestionnaire-itemContextrdquo
bull Extension ldquosdc-questionnaire-initialExpressionrdquo
bull Leverage variables to assist in calculations bull Extension ldquovariablerdquo uses Expression datatype
More Flexible requires knowledge of FHIRPath and FHIR Queries to create the mappings
Validation
bull FHIR jsonxml valid (serialization)
bull Core FHIR profile validation (maybe local profiles too)
bull QuestionnaireResponse validation
bull Item Types (using linkId to match)
bull ExtensionsExtended Validation
bull Base Questionnaires through derivedFrom reference
bull Custom validation
bull OperationOutcome bull Contentmessages appropriate to display to users
Advanced Validation bull Core resources can be profiled with invariants
bull Extension adds this capability to Questionnaires
httphl7orgfhirextension-questionnaire-constrainthtml
Advanced Validation Examples
bull Checking cross field validation
bull Checking conditional rules
bull Checking complex calculations
bull Error messages
httpssqlonfhir-r4azurewebsitesnetfhirQuestionnairesa-rtw-r4
Summary bull Create a form definition
bull with validation rules
bull with resource mappings
bull Create form data
bull Perform Validation
bull Map to a new resource from form data
bull Terminology interactions
bull Where will you use Questionnaires
Questions
Thank you
Keep FHIR-ing on all cylinders
Difference between STU3 and R4
bull New mandatory properties
bull enableWhenoperator
bull Initialvalue
bull options named answerValueSet
bull changed from reference to canonical
bull option renamed answerOption
bull Also includes valueReference support
bull And initial selection flag
bull enableWhen allany flag
bull enableWhenhasAnswer removed
bull Use operator value ldquoexistsrdquo
bull enableWhen no longer supports
bull Uri
bull Attachment
bull $populate operation moved into SDC
Note Additional functionality now defined int the SDC functionality rather than the core
httphl7orgfhirr4questionnairehtml (check the R3 Diff tab ndash not a complete mapping)
Structured Data Capture (SDC) Implementation Guide
bullExtensions to the core HL7 definitions bull Advanced Rendering
bull Advanced Form Behaviour
bull Importing Data into Forms
bull Extraction of Data from Forms
httpbuildfhirorgigHL7sdc
Workflow
bull Locate questionnaire to use (for given context)
bull Loadrender questionnaire (and referenced content)
bull Pre-populate questionnaire with other data (eg patient demographics observations etc)
bull User enters data
bull Local validations may occur during data entry
bull QuestionnaireResponse is validated by server bull ErrorsWarningsissues reported to the user
bull QuestionnaireResponse is saved to the target server
bull Data extracted into other resources
Argonaut Questionnaire Implementation Guide (Based on FHIR STU3) STATIC FORM WorkFlow
bull 1 An EHR system retrieves a standardized assessment represented by the Questionnaire resource from an assessment bank
bull 2 The Questionnaire is rendereddisplayed to the end user - either the subject or provider administrator
bull 3 The end user enters responses to the assessment questions and these responses are stored in the Answer Bank by POSTing a QuestionnaireResponse
bull 4 An EHR system requests answers to an assessment for a particular subject
bull 5 The QuestionnaireResponse is processed by the end user
httpwwwfhirorgguidesargonautquestionnaireindexhtml
Argonaut Questionnaire Implementation Guide (FHIR STU3) Adaptive Questionaire WorkFlow
bull 1 A Provider EHR may need to discover and review available Adaptive Questionnaires (not shown)
bull 2 The Form Filler initiates the Adaptive Questionnaire by posting to the Adaptive Questionnaire Services endpoint
bull 3 Treated as a Black Box the Adaptive Questionnaire Services returns the first question to the Form Filler
bull 4 The Questionnaire is rendereddisplayed to the end user - either the subject or provider administrator
bull 5 The Form Filler returns the question and answer pair to the Adaptive Questionnaire Services endpoint
bull 6 Based on the prior question and answer pair(s) the Adaptive Questionnaire Service returns the next question to the Form Filler
bull 7 Steps 5 and 6 are repeated until the questionnaire is done
bull 8 The Provider EHR may process the questions and answers
Creating Questionnaires
bull Converting existing non FHIR definitions
bull US National Library of Medicines Form Builder for LHC-FormsFHIR Questionnaire (STU3 R4)
bull Grahamersquos editor bull SmartQ editor (DSTU2 only)
httpsmartqeditazurewebsitesnet
bull Using text editor
bull Others
(or combination of the above)
Fetching Questionnaires
bull Standard FHIR Search API
bull eg by id title publisher
context etc
bull Through references in a
directory
Rendering Questionnaires and Recording Responses in QuestionnaireResponse
bull LinkId joins answer in
QuestionaireReponse to definitions
in Questionnaire bull MUST MATCH(including the nesting
depth)
bull May be validated
bull SDC Provides Advanced
Rendering Guidance and Definitions
Scoring Argonaut Questionnaire Implementation Guide
bull The responses to the assessment are captured by the Client Application
bull MAY calculate a scored based on the associated values associated with each item
bull Defined via the Questionnaire Ordinal Value Extension
bull How the score is calculated may be described within the Questionnaire often as a hidden display item
bull The actual logic and calculation is an implementation detail outside of scope of this Implementation Guide
item [
extension [
url httphl7orgfhirStructureDefinitionquestionnaire-
ordinalValue
valueDecimal 17
Time Limits Argonaut Questionnaire Implementation Guide
bull Time limits for completion of a questionnaire or individual question can be defined using the Argonaut Questionnaire Time Limit Extension
bull The Client Application may record the start and stop date-times in the Argonaut QuestionnaireResponse Response Period Extension
bull which can be used to determine whether the questionnaire or items were answered within the prescribed time limit
bull How this information modifies the behaviour of the Form-filler or interpretation of results is an implementation detail outside of scope of this Implementation Guide
Posting Answers and Subsequently Fetching
bull Note that individual
responses are not directly
searchable using the FHIR
RESTful API
bull Standard FHIR Search API
bull eg by id questionnaire
patient demographics
etc
Demo creatingfilling Questionnaires
ConversionMapping to other resources
bull Observation based extraction bull Itemcode for LOINCSNOMEDother codings for the values to be extracted
bull groups can create components in the observation too
bull Definition based extraction (httphl7orgfhirquestionnairehtml23854)
bull itemdefinition directly links to an element in a structure definition eg httphl7orgfhirStructureDefinitionObservationObservationcomment
bull Can link each item supporting repeating items
bull Caveat canrsquot do complex splitjoincalculations and shape of questionnaire must closely match StructureDefinition
bull StructureMap based extraction
bull Explicit mappings for every property
bull Uses the FHIR mapping language can be very complex but flexible it is a transform language
bull Use the questionnaire-targetStructureMap extension on the questionnaire
httpbuildfhirorgigHL7sdcextractionhtml
Pre-population
bull Requires
bull contextsource
bull mapping
bull processing engine
bull Knowledge of source structures (particularly profiled scope)
bull Current $populate Options bull Observation based
bull FHIRPath based
bull StructureMap based
Pre-population ndash Observation based
bull Low flexibility of Questionnaire structure in mapping
bull Source
bull Context may be provided in parameter or SMART
bull Itemcode for LOINCSNOMEDother to search
bull Extension questionnaire-observationLinkPeriod to define range to check for last observation to read
bull Mapping
bull Itemcode for LOINCSNOMEDother for the values to be extracted from the observation
bull Groups can be used for extracting observation components
bull If the system understands that codings like LOINC 21112-8 is patientbirthDate then it may extract data like this also
During the pre-population stage this is the query that could be produced to extract the data
(assuming that the date of 3 months ago was 2018-06-02)
[base]Observationsubject=[questionnaire response subject id]
ampcode=http3Aloincorg|29463-7http3Aloincorg|3141-9 http3Aloincorg|8341-0
ampstatus=completed
ampdate=ge2018-06-02
amp_sort=-date
amp_count=1
Pre-population ndash FHIRPath based
bull Source
bull Context may be provided in parameter or SMART bull extension questionnaire-launchContext
bull Produces a bundle for processing
bull Mapping
bull FHIR Path expressions for each property to map bull extension ldquoquestionnaire-itemContextrdquo
bull Extension ldquosdc-questionnaire-initialExpressionrdquo
bull Leverage variables to assist in calculations bull Extension ldquovariablerdquo uses Expression datatype
More Flexible requires knowledge of FHIRPath and FHIR Queries to create the mappings
Validation
bull FHIR jsonxml valid (serialization)
bull Core FHIR profile validation (maybe local profiles too)
bull QuestionnaireResponse validation
bull Item Types (using linkId to match)
bull ExtensionsExtended Validation
bull Base Questionnaires through derivedFrom reference
bull Custom validation
bull OperationOutcome bull Contentmessages appropriate to display to users
Advanced Validation bull Core resources can be profiled with invariants
bull Extension adds this capability to Questionnaires
httphl7orgfhirextension-questionnaire-constrainthtml
Advanced Validation Examples
bull Checking cross field validation
bull Checking conditional rules
bull Checking complex calculations
bull Error messages
httpssqlonfhir-r4azurewebsitesnetfhirQuestionnairesa-rtw-r4
Summary bull Create a form definition
bull with validation rules
bull with resource mappings
bull Create form data
bull Perform Validation
bull Map to a new resource from form data
bull Terminology interactions
bull Where will you use Questionnaires
Questions
Thank you
Keep FHIR-ing on all cylinders
Structured Data Capture (SDC) Implementation Guide
bullExtensions to the core HL7 definitions bull Advanced Rendering
bull Advanced Form Behaviour
bull Importing Data into Forms
bull Extraction of Data from Forms
httpbuildfhirorgigHL7sdc
Workflow
bull Locate questionnaire to use (for given context)
bull Loadrender questionnaire (and referenced content)
bull Pre-populate questionnaire with other data (eg patient demographics observations etc)
bull User enters data
bull Local validations may occur during data entry
bull QuestionnaireResponse is validated by server bull ErrorsWarningsissues reported to the user
bull QuestionnaireResponse is saved to the target server
bull Data extracted into other resources
Argonaut Questionnaire Implementation Guide (Based on FHIR STU3) STATIC FORM WorkFlow
bull 1 An EHR system retrieves a standardized assessment represented by the Questionnaire resource from an assessment bank
bull 2 The Questionnaire is rendereddisplayed to the end user - either the subject or provider administrator
bull 3 The end user enters responses to the assessment questions and these responses are stored in the Answer Bank by POSTing a QuestionnaireResponse
bull 4 An EHR system requests answers to an assessment for a particular subject
bull 5 The QuestionnaireResponse is processed by the end user
httpwwwfhirorgguidesargonautquestionnaireindexhtml
Argonaut Questionnaire Implementation Guide (FHIR STU3) Adaptive Questionaire WorkFlow
bull 1 A Provider EHR may need to discover and review available Adaptive Questionnaires (not shown)
bull 2 The Form Filler initiates the Adaptive Questionnaire by posting to the Adaptive Questionnaire Services endpoint
bull 3 Treated as a Black Box the Adaptive Questionnaire Services returns the first question to the Form Filler
bull 4 The Questionnaire is rendereddisplayed to the end user - either the subject or provider administrator
bull 5 The Form Filler returns the question and answer pair to the Adaptive Questionnaire Services endpoint
bull 6 Based on the prior question and answer pair(s) the Adaptive Questionnaire Service returns the next question to the Form Filler
bull 7 Steps 5 and 6 are repeated until the questionnaire is done
bull 8 The Provider EHR may process the questions and answers
Creating Questionnaires
bull Converting existing non FHIR definitions
bull US National Library of Medicines Form Builder for LHC-FormsFHIR Questionnaire (STU3 R4)
bull Grahamersquos editor bull SmartQ editor (DSTU2 only)
httpsmartqeditazurewebsitesnet
bull Using text editor
bull Others
(or combination of the above)
Fetching Questionnaires
bull Standard FHIR Search API
bull eg by id title publisher
context etc
bull Through references in a
directory
Rendering Questionnaires and Recording Responses in QuestionnaireResponse
bull LinkId joins answer in
QuestionaireReponse to definitions
in Questionnaire bull MUST MATCH(including the nesting
depth)
bull May be validated
bull SDC Provides Advanced
Rendering Guidance and Definitions
Scoring Argonaut Questionnaire Implementation Guide
bull The responses to the assessment are captured by the Client Application
bull MAY calculate a scored based on the associated values associated with each item
bull Defined via the Questionnaire Ordinal Value Extension
bull How the score is calculated may be described within the Questionnaire often as a hidden display item
bull The actual logic and calculation is an implementation detail outside of scope of this Implementation Guide
item [
extension [
url httphl7orgfhirStructureDefinitionquestionnaire-
ordinalValue
valueDecimal 17
Time Limits Argonaut Questionnaire Implementation Guide
bull Time limits for completion of a questionnaire or individual question can be defined using the Argonaut Questionnaire Time Limit Extension
bull The Client Application may record the start and stop date-times in the Argonaut QuestionnaireResponse Response Period Extension
bull which can be used to determine whether the questionnaire or items were answered within the prescribed time limit
bull How this information modifies the behaviour of the Form-filler or interpretation of results is an implementation detail outside of scope of this Implementation Guide
Posting Answers and Subsequently Fetching
bull Note that individual
responses are not directly
searchable using the FHIR
RESTful API
bull Standard FHIR Search API
bull eg by id questionnaire
patient demographics
etc
Demo creatingfilling Questionnaires
ConversionMapping to other resources
bull Observation based extraction bull Itemcode for LOINCSNOMEDother codings for the values to be extracted
bull groups can create components in the observation too
bull Definition based extraction (httphl7orgfhirquestionnairehtml23854)
bull itemdefinition directly links to an element in a structure definition eg httphl7orgfhirStructureDefinitionObservationObservationcomment
bull Can link each item supporting repeating items
bull Caveat canrsquot do complex splitjoincalculations and shape of questionnaire must closely match StructureDefinition
bull StructureMap based extraction
bull Explicit mappings for every property
bull Uses the FHIR mapping language can be very complex but flexible it is a transform language
bull Use the questionnaire-targetStructureMap extension on the questionnaire
httpbuildfhirorgigHL7sdcextractionhtml
Pre-population
bull Requires
bull contextsource
bull mapping
bull processing engine
bull Knowledge of source structures (particularly profiled scope)
bull Current $populate Options bull Observation based
bull FHIRPath based
bull StructureMap based
Pre-population ndash Observation based
bull Low flexibility of Questionnaire structure in mapping
bull Source
bull Context may be provided in parameter or SMART
bull Itemcode for LOINCSNOMEDother to search
bull Extension questionnaire-observationLinkPeriod to define range to check for last observation to read
bull Mapping
bull Itemcode for LOINCSNOMEDother for the values to be extracted from the observation
bull Groups can be used for extracting observation components
bull If the system understands that codings like LOINC 21112-8 is patientbirthDate then it may extract data like this also
During the pre-population stage this is the query that could be produced to extract the data
(assuming that the date of 3 months ago was 2018-06-02)
[base]Observationsubject=[questionnaire response subject id]
ampcode=http3Aloincorg|29463-7http3Aloincorg|3141-9 http3Aloincorg|8341-0
ampstatus=completed
ampdate=ge2018-06-02
amp_sort=-date
amp_count=1
Pre-population ndash FHIRPath based
bull Source
bull Context may be provided in parameter or SMART bull extension questionnaire-launchContext
bull Produces a bundle for processing
bull Mapping
bull FHIR Path expressions for each property to map bull extension ldquoquestionnaire-itemContextrdquo
bull Extension ldquosdc-questionnaire-initialExpressionrdquo
bull Leverage variables to assist in calculations bull Extension ldquovariablerdquo uses Expression datatype
More Flexible requires knowledge of FHIRPath and FHIR Queries to create the mappings
Validation
bull FHIR jsonxml valid (serialization)
bull Core FHIR profile validation (maybe local profiles too)
bull QuestionnaireResponse validation
bull Item Types (using linkId to match)
bull ExtensionsExtended Validation
bull Base Questionnaires through derivedFrom reference
bull Custom validation
bull OperationOutcome bull Contentmessages appropriate to display to users
Advanced Validation bull Core resources can be profiled with invariants
bull Extension adds this capability to Questionnaires
httphl7orgfhirextension-questionnaire-constrainthtml
Advanced Validation Examples
bull Checking cross field validation
bull Checking conditional rules
bull Checking complex calculations
bull Error messages
httpssqlonfhir-r4azurewebsitesnetfhirQuestionnairesa-rtw-r4
Summary bull Create a form definition
bull with validation rules
bull with resource mappings
bull Create form data
bull Perform Validation
bull Map to a new resource from form data
bull Terminology interactions
bull Where will you use Questionnaires
Questions
Thank you
Keep FHIR-ing on all cylinders
Workflow
bull Locate questionnaire to use (for given context)
bull Loadrender questionnaire (and referenced content)
bull Pre-populate questionnaire with other data (eg patient demographics observations etc)
bull User enters data
bull Local validations may occur during data entry
bull QuestionnaireResponse is validated by server bull ErrorsWarningsissues reported to the user
bull QuestionnaireResponse is saved to the target server
bull Data extracted into other resources
Argonaut Questionnaire Implementation Guide (Based on FHIR STU3) STATIC FORM WorkFlow
bull 1 An EHR system retrieves a standardized assessment represented by the Questionnaire resource from an assessment bank
bull 2 The Questionnaire is rendereddisplayed to the end user - either the subject or provider administrator
bull 3 The end user enters responses to the assessment questions and these responses are stored in the Answer Bank by POSTing a QuestionnaireResponse
bull 4 An EHR system requests answers to an assessment for a particular subject
bull 5 The QuestionnaireResponse is processed by the end user
httpwwwfhirorgguidesargonautquestionnaireindexhtml
Argonaut Questionnaire Implementation Guide (FHIR STU3) Adaptive Questionaire WorkFlow
bull 1 A Provider EHR may need to discover and review available Adaptive Questionnaires (not shown)
bull 2 The Form Filler initiates the Adaptive Questionnaire by posting to the Adaptive Questionnaire Services endpoint
bull 3 Treated as a Black Box the Adaptive Questionnaire Services returns the first question to the Form Filler
bull 4 The Questionnaire is rendereddisplayed to the end user - either the subject or provider administrator
bull 5 The Form Filler returns the question and answer pair to the Adaptive Questionnaire Services endpoint
bull 6 Based on the prior question and answer pair(s) the Adaptive Questionnaire Service returns the next question to the Form Filler
bull 7 Steps 5 and 6 are repeated until the questionnaire is done
bull 8 The Provider EHR may process the questions and answers
Creating Questionnaires
bull Converting existing non FHIR definitions
bull US National Library of Medicines Form Builder for LHC-FormsFHIR Questionnaire (STU3 R4)
bull Grahamersquos editor bull SmartQ editor (DSTU2 only)
httpsmartqeditazurewebsitesnet
bull Using text editor
bull Others
(or combination of the above)
Fetching Questionnaires
bull Standard FHIR Search API
bull eg by id title publisher
context etc
bull Through references in a
directory
Rendering Questionnaires and Recording Responses in QuestionnaireResponse
bull LinkId joins answer in
QuestionaireReponse to definitions
in Questionnaire bull MUST MATCH(including the nesting
depth)
bull May be validated
bull SDC Provides Advanced
Rendering Guidance and Definitions
Scoring Argonaut Questionnaire Implementation Guide
bull The responses to the assessment are captured by the Client Application
bull MAY calculate a scored based on the associated values associated with each item
bull Defined via the Questionnaire Ordinal Value Extension
bull How the score is calculated may be described within the Questionnaire often as a hidden display item
bull The actual logic and calculation is an implementation detail outside of scope of this Implementation Guide
item [
extension [
url httphl7orgfhirStructureDefinitionquestionnaire-
ordinalValue
valueDecimal 17
Time Limits Argonaut Questionnaire Implementation Guide
bull Time limits for completion of a questionnaire or individual question can be defined using the Argonaut Questionnaire Time Limit Extension
bull The Client Application may record the start and stop date-times in the Argonaut QuestionnaireResponse Response Period Extension
bull which can be used to determine whether the questionnaire or items were answered within the prescribed time limit
bull How this information modifies the behaviour of the Form-filler or interpretation of results is an implementation detail outside of scope of this Implementation Guide
Posting Answers and Subsequently Fetching
bull Note that individual
responses are not directly
searchable using the FHIR
RESTful API
bull Standard FHIR Search API
bull eg by id questionnaire
patient demographics
etc
Demo creatingfilling Questionnaires
ConversionMapping to other resources
bull Observation based extraction bull Itemcode for LOINCSNOMEDother codings for the values to be extracted
bull groups can create components in the observation too
bull Definition based extraction (httphl7orgfhirquestionnairehtml23854)
bull itemdefinition directly links to an element in a structure definition eg httphl7orgfhirStructureDefinitionObservationObservationcomment
bull Can link each item supporting repeating items
bull Caveat canrsquot do complex splitjoincalculations and shape of questionnaire must closely match StructureDefinition
bull StructureMap based extraction
bull Explicit mappings for every property
bull Uses the FHIR mapping language can be very complex but flexible it is a transform language
bull Use the questionnaire-targetStructureMap extension on the questionnaire
httpbuildfhirorgigHL7sdcextractionhtml
Pre-population
bull Requires
bull contextsource
bull mapping
bull processing engine
bull Knowledge of source structures (particularly profiled scope)
bull Current $populate Options bull Observation based
bull FHIRPath based
bull StructureMap based
Pre-population ndash Observation based
bull Low flexibility of Questionnaire structure in mapping
bull Source
bull Context may be provided in parameter or SMART
bull Itemcode for LOINCSNOMEDother to search
bull Extension questionnaire-observationLinkPeriod to define range to check for last observation to read
bull Mapping
bull Itemcode for LOINCSNOMEDother for the values to be extracted from the observation
bull Groups can be used for extracting observation components
bull If the system understands that codings like LOINC 21112-8 is patientbirthDate then it may extract data like this also
During the pre-population stage this is the query that could be produced to extract the data
(assuming that the date of 3 months ago was 2018-06-02)
[base]Observationsubject=[questionnaire response subject id]
ampcode=http3Aloincorg|29463-7http3Aloincorg|3141-9 http3Aloincorg|8341-0
ampstatus=completed
ampdate=ge2018-06-02
amp_sort=-date
amp_count=1
Pre-population ndash FHIRPath based
bull Source
bull Context may be provided in parameter or SMART bull extension questionnaire-launchContext
bull Produces a bundle for processing
bull Mapping
bull FHIR Path expressions for each property to map bull extension ldquoquestionnaire-itemContextrdquo
bull Extension ldquosdc-questionnaire-initialExpressionrdquo
bull Leverage variables to assist in calculations bull Extension ldquovariablerdquo uses Expression datatype
More Flexible requires knowledge of FHIRPath and FHIR Queries to create the mappings
Validation
bull FHIR jsonxml valid (serialization)
bull Core FHIR profile validation (maybe local profiles too)
bull QuestionnaireResponse validation
bull Item Types (using linkId to match)
bull ExtensionsExtended Validation
bull Base Questionnaires through derivedFrom reference
bull Custom validation
bull OperationOutcome bull Contentmessages appropriate to display to users
Advanced Validation bull Core resources can be profiled with invariants
bull Extension adds this capability to Questionnaires
httphl7orgfhirextension-questionnaire-constrainthtml
Advanced Validation Examples
bull Checking cross field validation
bull Checking conditional rules
bull Checking complex calculations
bull Error messages
httpssqlonfhir-r4azurewebsitesnetfhirQuestionnairesa-rtw-r4
Summary bull Create a form definition
bull with validation rules
bull with resource mappings
bull Create form data
bull Perform Validation
bull Map to a new resource from form data
bull Terminology interactions
bull Where will you use Questionnaires
Questions
Thank you
Keep FHIR-ing on all cylinders
Argonaut Questionnaire Implementation Guide (Based on FHIR STU3) STATIC FORM WorkFlow
bull 1 An EHR system retrieves a standardized assessment represented by the Questionnaire resource from an assessment bank
bull 2 The Questionnaire is rendereddisplayed to the end user - either the subject or provider administrator
bull 3 The end user enters responses to the assessment questions and these responses are stored in the Answer Bank by POSTing a QuestionnaireResponse
bull 4 An EHR system requests answers to an assessment for a particular subject
bull 5 The QuestionnaireResponse is processed by the end user
httpwwwfhirorgguidesargonautquestionnaireindexhtml
Argonaut Questionnaire Implementation Guide (FHIR STU3) Adaptive Questionaire WorkFlow
bull 1 A Provider EHR may need to discover and review available Adaptive Questionnaires (not shown)
bull 2 The Form Filler initiates the Adaptive Questionnaire by posting to the Adaptive Questionnaire Services endpoint
bull 3 Treated as a Black Box the Adaptive Questionnaire Services returns the first question to the Form Filler
bull 4 The Questionnaire is rendereddisplayed to the end user - either the subject or provider administrator
bull 5 The Form Filler returns the question and answer pair to the Adaptive Questionnaire Services endpoint
bull 6 Based on the prior question and answer pair(s) the Adaptive Questionnaire Service returns the next question to the Form Filler
bull 7 Steps 5 and 6 are repeated until the questionnaire is done
bull 8 The Provider EHR may process the questions and answers
Creating Questionnaires
bull Converting existing non FHIR definitions
bull US National Library of Medicines Form Builder for LHC-FormsFHIR Questionnaire (STU3 R4)
bull Grahamersquos editor bull SmartQ editor (DSTU2 only)
httpsmartqeditazurewebsitesnet
bull Using text editor
bull Others
(or combination of the above)
Fetching Questionnaires
bull Standard FHIR Search API
bull eg by id title publisher
context etc
bull Through references in a
directory
Rendering Questionnaires and Recording Responses in QuestionnaireResponse
bull LinkId joins answer in
QuestionaireReponse to definitions
in Questionnaire bull MUST MATCH(including the nesting
depth)
bull May be validated
bull SDC Provides Advanced
Rendering Guidance and Definitions
Scoring Argonaut Questionnaire Implementation Guide
bull The responses to the assessment are captured by the Client Application
bull MAY calculate a scored based on the associated values associated with each item
bull Defined via the Questionnaire Ordinal Value Extension
bull How the score is calculated may be described within the Questionnaire often as a hidden display item
bull The actual logic and calculation is an implementation detail outside of scope of this Implementation Guide
item [
extension [
url httphl7orgfhirStructureDefinitionquestionnaire-
ordinalValue
valueDecimal 17
Time Limits Argonaut Questionnaire Implementation Guide
bull Time limits for completion of a questionnaire or individual question can be defined using the Argonaut Questionnaire Time Limit Extension
bull The Client Application may record the start and stop date-times in the Argonaut QuestionnaireResponse Response Period Extension
bull which can be used to determine whether the questionnaire or items were answered within the prescribed time limit
bull How this information modifies the behaviour of the Form-filler or interpretation of results is an implementation detail outside of scope of this Implementation Guide
Posting Answers and Subsequently Fetching
bull Note that individual
responses are not directly
searchable using the FHIR
RESTful API
bull Standard FHIR Search API
bull eg by id questionnaire
patient demographics
etc
Demo creatingfilling Questionnaires
ConversionMapping to other resources
bull Observation based extraction bull Itemcode for LOINCSNOMEDother codings for the values to be extracted
bull groups can create components in the observation too
bull Definition based extraction (httphl7orgfhirquestionnairehtml23854)
bull itemdefinition directly links to an element in a structure definition eg httphl7orgfhirStructureDefinitionObservationObservationcomment
bull Can link each item supporting repeating items
bull Caveat canrsquot do complex splitjoincalculations and shape of questionnaire must closely match StructureDefinition
bull StructureMap based extraction
bull Explicit mappings for every property
bull Uses the FHIR mapping language can be very complex but flexible it is a transform language
bull Use the questionnaire-targetStructureMap extension on the questionnaire
httpbuildfhirorgigHL7sdcextractionhtml
Pre-population
bull Requires
bull contextsource
bull mapping
bull processing engine
bull Knowledge of source structures (particularly profiled scope)
bull Current $populate Options bull Observation based
bull FHIRPath based
bull StructureMap based
Pre-population ndash Observation based
bull Low flexibility of Questionnaire structure in mapping
bull Source
bull Context may be provided in parameter or SMART
bull Itemcode for LOINCSNOMEDother to search
bull Extension questionnaire-observationLinkPeriod to define range to check for last observation to read
bull Mapping
bull Itemcode for LOINCSNOMEDother for the values to be extracted from the observation
bull Groups can be used for extracting observation components
bull If the system understands that codings like LOINC 21112-8 is patientbirthDate then it may extract data like this also
During the pre-population stage this is the query that could be produced to extract the data
(assuming that the date of 3 months ago was 2018-06-02)
[base]Observationsubject=[questionnaire response subject id]
ampcode=http3Aloincorg|29463-7http3Aloincorg|3141-9 http3Aloincorg|8341-0
ampstatus=completed
ampdate=ge2018-06-02
amp_sort=-date
amp_count=1
Pre-population ndash FHIRPath based
bull Source
bull Context may be provided in parameter or SMART bull extension questionnaire-launchContext
bull Produces a bundle for processing
bull Mapping
bull FHIR Path expressions for each property to map bull extension ldquoquestionnaire-itemContextrdquo
bull Extension ldquosdc-questionnaire-initialExpressionrdquo
bull Leverage variables to assist in calculations bull Extension ldquovariablerdquo uses Expression datatype
More Flexible requires knowledge of FHIRPath and FHIR Queries to create the mappings
Validation
bull FHIR jsonxml valid (serialization)
bull Core FHIR profile validation (maybe local profiles too)
bull QuestionnaireResponse validation
bull Item Types (using linkId to match)
bull ExtensionsExtended Validation
bull Base Questionnaires through derivedFrom reference
bull Custom validation
bull OperationOutcome bull Contentmessages appropriate to display to users
Advanced Validation bull Core resources can be profiled with invariants
bull Extension adds this capability to Questionnaires
httphl7orgfhirextension-questionnaire-constrainthtml
Advanced Validation Examples
bull Checking cross field validation
bull Checking conditional rules
bull Checking complex calculations
bull Error messages
httpssqlonfhir-r4azurewebsitesnetfhirQuestionnairesa-rtw-r4
Summary bull Create a form definition
bull with validation rules
bull with resource mappings
bull Create form data
bull Perform Validation
bull Map to a new resource from form data
bull Terminology interactions
bull Where will you use Questionnaires
Questions
Thank you
Keep FHIR-ing on all cylinders
Argonaut Questionnaire Implementation Guide (FHIR STU3) Adaptive Questionaire WorkFlow
bull 1 A Provider EHR may need to discover and review available Adaptive Questionnaires (not shown)
bull 2 The Form Filler initiates the Adaptive Questionnaire by posting to the Adaptive Questionnaire Services endpoint
bull 3 Treated as a Black Box the Adaptive Questionnaire Services returns the first question to the Form Filler
bull 4 The Questionnaire is rendereddisplayed to the end user - either the subject or provider administrator
bull 5 The Form Filler returns the question and answer pair to the Adaptive Questionnaire Services endpoint
bull 6 Based on the prior question and answer pair(s) the Adaptive Questionnaire Service returns the next question to the Form Filler
bull 7 Steps 5 and 6 are repeated until the questionnaire is done
bull 8 The Provider EHR may process the questions and answers
Creating Questionnaires
bull Converting existing non FHIR definitions
bull US National Library of Medicines Form Builder for LHC-FormsFHIR Questionnaire (STU3 R4)
bull Grahamersquos editor bull SmartQ editor (DSTU2 only)
httpsmartqeditazurewebsitesnet
bull Using text editor
bull Others
(or combination of the above)
Fetching Questionnaires
bull Standard FHIR Search API
bull eg by id title publisher
context etc
bull Through references in a
directory
Rendering Questionnaires and Recording Responses in QuestionnaireResponse
bull LinkId joins answer in
QuestionaireReponse to definitions
in Questionnaire bull MUST MATCH(including the nesting
depth)
bull May be validated
bull SDC Provides Advanced
Rendering Guidance and Definitions
Scoring Argonaut Questionnaire Implementation Guide
bull The responses to the assessment are captured by the Client Application
bull MAY calculate a scored based on the associated values associated with each item
bull Defined via the Questionnaire Ordinal Value Extension
bull How the score is calculated may be described within the Questionnaire often as a hidden display item
bull The actual logic and calculation is an implementation detail outside of scope of this Implementation Guide
item [
extension [
url httphl7orgfhirStructureDefinitionquestionnaire-
ordinalValue
valueDecimal 17
Time Limits Argonaut Questionnaire Implementation Guide
bull Time limits for completion of a questionnaire or individual question can be defined using the Argonaut Questionnaire Time Limit Extension
bull The Client Application may record the start and stop date-times in the Argonaut QuestionnaireResponse Response Period Extension
bull which can be used to determine whether the questionnaire or items were answered within the prescribed time limit
bull How this information modifies the behaviour of the Form-filler or interpretation of results is an implementation detail outside of scope of this Implementation Guide
Posting Answers and Subsequently Fetching
bull Note that individual
responses are not directly
searchable using the FHIR
RESTful API
bull Standard FHIR Search API
bull eg by id questionnaire
patient demographics
etc
Demo creatingfilling Questionnaires
ConversionMapping to other resources
bull Observation based extraction bull Itemcode for LOINCSNOMEDother codings for the values to be extracted
bull groups can create components in the observation too
bull Definition based extraction (httphl7orgfhirquestionnairehtml23854)
bull itemdefinition directly links to an element in a structure definition eg httphl7orgfhirStructureDefinitionObservationObservationcomment
bull Can link each item supporting repeating items
bull Caveat canrsquot do complex splitjoincalculations and shape of questionnaire must closely match StructureDefinition
bull StructureMap based extraction
bull Explicit mappings for every property
bull Uses the FHIR mapping language can be very complex but flexible it is a transform language
bull Use the questionnaire-targetStructureMap extension on the questionnaire
httpbuildfhirorgigHL7sdcextractionhtml
Pre-population
bull Requires
bull contextsource
bull mapping
bull processing engine
bull Knowledge of source structures (particularly profiled scope)
bull Current $populate Options bull Observation based
bull FHIRPath based
bull StructureMap based
Pre-population ndash Observation based
bull Low flexibility of Questionnaire structure in mapping
bull Source
bull Context may be provided in parameter or SMART
bull Itemcode for LOINCSNOMEDother to search
bull Extension questionnaire-observationLinkPeriod to define range to check for last observation to read
bull Mapping
bull Itemcode for LOINCSNOMEDother for the values to be extracted from the observation
bull Groups can be used for extracting observation components
bull If the system understands that codings like LOINC 21112-8 is patientbirthDate then it may extract data like this also
During the pre-population stage this is the query that could be produced to extract the data
(assuming that the date of 3 months ago was 2018-06-02)
[base]Observationsubject=[questionnaire response subject id]
ampcode=http3Aloincorg|29463-7http3Aloincorg|3141-9 http3Aloincorg|8341-0
ampstatus=completed
ampdate=ge2018-06-02
amp_sort=-date
amp_count=1
Pre-population ndash FHIRPath based
bull Source
bull Context may be provided in parameter or SMART bull extension questionnaire-launchContext
bull Produces a bundle for processing
bull Mapping
bull FHIR Path expressions for each property to map bull extension ldquoquestionnaire-itemContextrdquo
bull Extension ldquosdc-questionnaire-initialExpressionrdquo
bull Leverage variables to assist in calculations bull Extension ldquovariablerdquo uses Expression datatype
More Flexible requires knowledge of FHIRPath and FHIR Queries to create the mappings
Validation
bull FHIR jsonxml valid (serialization)
bull Core FHIR profile validation (maybe local profiles too)
bull QuestionnaireResponse validation
bull Item Types (using linkId to match)
bull ExtensionsExtended Validation
bull Base Questionnaires through derivedFrom reference
bull Custom validation
bull OperationOutcome bull Contentmessages appropriate to display to users
Advanced Validation bull Core resources can be profiled with invariants
bull Extension adds this capability to Questionnaires
httphl7orgfhirextension-questionnaire-constrainthtml
Advanced Validation Examples
bull Checking cross field validation
bull Checking conditional rules
bull Checking complex calculations
bull Error messages
httpssqlonfhir-r4azurewebsitesnetfhirQuestionnairesa-rtw-r4
Summary bull Create a form definition
bull with validation rules
bull with resource mappings
bull Create form data
bull Perform Validation
bull Map to a new resource from form data
bull Terminology interactions
bull Where will you use Questionnaires
Questions
Thank you
Keep FHIR-ing on all cylinders
Creating Questionnaires
bull Converting existing non FHIR definitions
bull US National Library of Medicines Form Builder for LHC-FormsFHIR Questionnaire (STU3 R4)
bull Grahamersquos editor bull SmartQ editor (DSTU2 only)
httpsmartqeditazurewebsitesnet
bull Using text editor
bull Others
(or combination of the above)
Fetching Questionnaires
bull Standard FHIR Search API
bull eg by id title publisher
context etc
bull Through references in a
directory
Rendering Questionnaires and Recording Responses in QuestionnaireResponse
bull LinkId joins answer in
QuestionaireReponse to definitions
in Questionnaire bull MUST MATCH(including the nesting
depth)
bull May be validated
bull SDC Provides Advanced
Rendering Guidance and Definitions
Scoring Argonaut Questionnaire Implementation Guide
bull The responses to the assessment are captured by the Client Application
bull MAY calculate a scored based on the associated values associated with each item
bull Defined via the Questionnaire Ordinal Value Extension
bull How the score is calculated may be described within the Questionnaire often as a hidden display item
bull The actual logic and calculation is an implementation detail outside of scope of this Implementation Guide
item [
extension [
url httphl7orgfhirStructureDefinitionquestionnaire-
ordinalValue
valueDecimal 17
Time Limits Argonaut Questionnaire Implementation Guide
bull Time limits for completion of a questionnaire or individual question can be defined using the Argonaut Questionnaire Time Limit Extension
bull The Client Application may record the start and stop date-times in the Argonaut QuestionnaireResponse Response Period Extension
bull which can be used to determine whether the questionnaire or items were answered within the prescribed time limit
bull How this information modifies the behaviour of the Form-filler or interpretation of results is an implementation detail outside of scope of this Implementation Guide
Posting Answers and Subsequently Fetching
bull Note that individual
responses are not directly
searchable using the FHIR
RESTful API
bull Standard FHIR Search API
bull eg by id questionnaire
patient demographics
etc
Demo creatingfilling Questionnaires
ConversionMapping to other resources
bull Observation based extraction bull Itemcode for LOINCSNOMEDother codings for the values to be extracted
bull groups can create components in the observation too
bull Definition based extraction (httphl7orgfhirquestionnairehtml23854)
bull itemdefinition directly links to an element in a structure definition eg httphl7orgfhirStructureDefinitionObservationObservationcomment
bull Can link each item supporting repeating items
bull Caveat canrsquot do complex splitjoincalculations and shape of questionnaire must closely match StructureDefinition
bull StructureMap based extraction
bull Explicit mappings for every property
bull Uses the FHIR mapping language can be very complex but flexible it is a transform language
bull Use the questionnaire-targetStructureMap extension on the questionnaire
httpbuildfhirorgigHL7sdcextractionhtml
Pre-population
bull Requires
bull contextsource
bull mapping
bull processing engine
bull Knowledge of source structures (particularly profiled scope)
bull Current $populate Options bull Observation based
bull FHIRPath based
bull StructureMap based
Pre-population ndash Observation based
bull Low flexibility of Questionnaire structure in mapping
bull Source
bull Context may be provided in parameter or SMART
bull Itemcode for LOINCSNOMEDother to search
bull Extension questionnaire-observationLinkPeriod to define range to check for last observation to read
bull Mapping
bull Itemcode for LOINCSNOMEDother for the values to be extracted from the observation
bull Groups can be used for extracting observation components
bull If the system understands that codings like LOINC 21112-8 is patientbirthDate then it may extract data like this also
During the pre-population stage this is the query that could be produced to extract the data
(assuming that the date of 3 months ago was 2018-06-02)
[base]Observationsubject=[questionnaire response subject id]
ampcode=http3Aloincorg|29463-7http3Aloincorg|3141-9 http3Aloincorg|8341-0
ampstatus=completed
ampdate=ge2018-06-02
amp_sort=-date
amp_count=1
Pre-population ndash FHIRPath based
bull Source
bull Context may be provided in parameter or SMART bull extension questionnaire-launchContext
bull Produces a bundle for processing
bull Mapping
bull FHIR Path expressions for each property to map bull extension ldquoquestionnaire-itemContextrdquo
bull Extension ldquosdc-questionnaire-initialExpressionrdquo
bull Leverage variables to assist in calculations bull Extension ldquovariablerdquo uses Expression datatype
More Flexible requires knowledge of FHIRPath and FHIR Queries to create the mappings
Validation
bull FHIR jsonxml valid (serialization)
bull Core FHIR profile validation (maybe local profiles too)
bull QuestionnaireResponse validation
bull Item Types (using linkId to match)
bull ExtensionsExtended Validation
bull Base Questionnaires through derivedFrom reference
bull Custom validation
bull OperationOutcome bull Contentmessages appropriate to display to users
Advanced Validation bull Core resources can be profiled with invariants
bull Extension adds this capability to Questionnaires
httphl7orgfhirextension-questionnaire-constrainthtml
Advanced Validation Examples
bull Checking cross field validation
bull Checking conditional rules
bull Checking complex calculations
bull Error messages
httpssqlonfhir-r4azurewebsitesnetfhirQuestionnairesa-rtw-r4
Summary bull Create a form definition
bull with validation rules
bull with resource mappings
bull Create form data
bull Perform Validation
bull Map to a new resource from form data
bull Terminology interactions
bull Where will you use Questionnaires
Questions
Thank you
Keep FHIR-ing on all cylinders
Fetching Questionnaires
bull Standard FHIR Search API
bull eg by id title publisher
context etc
bull Through references in a
directory
Rendering Questionnaires and Recording Responses in QuestionnaireResponse
bull LinkId joins answer in
QuestionaireReponse to definitions
in Questionnaire bull MUST MATCH(including the nesting
depth)
bull May be validated
bull SDC Provides Advanced
Rendering Guidance and Definitions
Scoring Argonaut Questionnaire Implementation Guide
bull The responses to the assessment are captured by the Client Application
bull MAY calculate a scored based on the associated values associated with each item
bull Defined via the Questionnaire Ordinal Value Extension
bull How the score is calculated may be described within the Questionnaire often as a hidden display item
bull The actual logic and calculation is an implementation detail outside of scope of this Implementation Guide
item [
extension [
url httphl7orgfhirStructureDefinitionquestionnaire-
ordinalValue
valueDecimal 17
Time Limits Argonaut Questionnaire Implementation Guide
bull Time limits for completion of a questionnaire or individual question can be defined using the Argonaut Questionnaire Time Limit Extension
bull The Client Application may record the start and stop date-times in the Argonaut QuestionnaireResponse Response Period Extension
bull which can be used to determine whether the questionnaire or items were answered within the prescribed time limit
bull How this information modifies the behaviour of the Form-filler or interpretation of results is an implementation detail outside of scope of this Implementation Guide
Posting Answers and Subsequently Fetching
bull Note that individual
responses are not directly
searchable using the FHIR
RESTful API
bull Standard FHIR Search API
bull eg by id questionnaire
patient demographics
etc
Demo creatingfilling Questionnaires
ConversionMapping to other resources
bull Observation based extraction bull Itemcode for LOINCSNOMEDother codings for the values to be extracted
bull groups can create components in the observation too
bull Definition based extraction (httphl7orgfhirquestionnairehtml23854)
bull itemdefinition directly links to an element in a structure definition eg httphl7orgfhirStructureDefinitionObservationObservationcomment
bull Can link each item supporting repeating items
bull Caveat canrsquot do complex splitjoincalculations and shape of questionnaire must closely match StructureDefinition
bull StructureMap based extraction
bull Explicit mappings for every property
bull Uses the FHIR mapping language can be very complex but flexible it is a transform language
bull Use the questionnaire-targetStructureMap extension on the questionnaire
httpbuildfhirorgigHL7sdcextractionhtml
Pre-population
bull Requires
bull contextsource
bull mapping
bull processing engine
bull Knowledge of source structures (particularly profiled scope)
bull Current $populate Options bull Observation based
bull FHIRPath based
bull StructureMap based
Pre-population ndash Observation based
bull Low flexibility of Questionnaire structure in mapping
bull Source
bull Context may be provided in parameter or SMART
bull Itemcode for LOINCSNOMEDother to search
bull Extension questionnaire-observationLinkPeriod to define range to check for last observation to read
bull Mapping
bull Itemcode for LOINCSNOMEDother for the values to be extracted from the observation
bull Groups can be used for extracting observation components
bull If the system understands that codings like LOINC 21112-8 is patientbirthDate then it may extract data like this also
During the pre-population stage this is the query that could be produced to extract the data
(assuming that the date of 3 months ago was 2018-06-02)
[base]Observationsubject=[questionnaire response subject id]
ampcode=http3Aloincorg|29463-7http3Aloincorg|3141-9 http3Aloincorg|8341-0
ampstatus=completed
ampdate=ge2018-06-02
amp_sort=-date
amp_count=1
Pre-population ndash FHIRPath based
bull Source
bull Context may be provided in parameter or SMART bull extension questionnaire-launchContext
bull Produces a bundle for processing
bull Mapping
bull FHIR Path expressions for each property to map bull extension ldquoquestionnaire-itemContextrdquo
bull Extension ldquosdc-questionnaire-initialExpressionrdquo
bull Leverage variables to assist in calculations bull Extension ldquovariablerdquo uses Expression datatype
More Flexible requires knowledge of FHIRPath and FHIR Queries to create the mappings
Validation
bull FHIR jsonxml valid (serialization)
bull Core FHIR profile validation (maybe local profiles too)
bull QuestionnaireResponse validation
bull Item Types (using linkId to match)
bull ExtensionsExtended Validation
bull Base Questionnaires through derivedFrom reference
bull Custom validation
bull OperationOutcome bull Contentmessages appropriate to display to users
Advanced Validation bull Core resources can be profiled with invariants
bull Extension adds this capability to Questionnaires
httphl7orgfhirextension-questionnaire-constrainthtml
Advanced Validation Examples
bull Checking cross field validation
bull Checking conditional rules
bull Checking complex calculations
bull Error messages
httpssqlonfhir-r4azurewebsitesnetfhirQuestionnairesa-rtw-r4
Summary bull Create a form definition
bull with validation rules
bull with resource mappings
bull Create form data
bull Perform Validation
bull Map to a new resource from form data
bull Terminology interactions
bull Where will you use Questionnaires
Questions
Thank you
Keep FHIR-ing on all cylinders
Rendering Questionnaires and Recording Responses in QuestionnaireResponse
bull LinkId joins answer in
QuestionaireReponse to definitions
in Questionnaire bull MUST MATCH(including the nesting
depth)
bull May be validated
bull SDC Provides Advanced
Rendering Guidance and Definitions
Scoring Argonaut Questionnaire Implementation Guide
bull The responses to the assessment are captured by the Client Application
bull MAY calculate a scored based on the associated values associated with each item
bull Defined via the Questionnaire Ordinal Value Extension
bull How the score is calculated may be described within the Questionnaire often as a hidden display item
bull The actual logic and calculation is an implementation detail outside of scope of this Implementation Guide
item [
extension [
url httphl7orgfhirStructureDefinitionquestionnaire-
ordinalValue
valueDecimal 17
Time Limits Argonaut Questionnaire Implementation Guide
bull Time limits for completion of a questionnaire or individual question can be defined using the Argonaut Questionnaire Time Limit Extension
bull The Client Application may record the start and stop date-times in the Argonaut QuestionnaireResponse Response Period Extension
bull which can be used to determine whether the questionnaire or items were answered within the prescribed time limit
bull How this information modifies the behaviour of the Form-filler or interpretation of results is an implementation detail outside of scope of this Implementation Guide
Posting Answers and Subsequently Fetching
bull Note that individual
responses are not directly
searchable using the FHIR
RESTful API
bull Standard FHIR Search API
bull eg by id questionnaire
patient demographics
etc
Demo creatingfilling Questionnaires
ConversionMapping to other resources
bull Observation based extraction bull Itemcode for LOINCSNOMEDother codings for the values to be extracted
bull groups can create components in the observation too
bull Definition based extraction (httphl7orgfhirquestionnairehtml23854)
bull itemdefinition directly links to an element in a structure definition eg httphl7orgfhirStructureDefinitionObservationObservationcomment
bull Can link each item supporting repeating items
bull Caveat canrsquot do complex splitjoincalculations and shape of questionnaire must closely match StructureDefinition
bull StructureMap based extraction
bull Explicit mappings for every property
bull Uses the FHIR mapping language can be very complex but flexible it is a transform language
bull Use the questionnaire-targetStructureMap extension on the questionnaire
httpbuildfhirorgigHL7sdcextractionhtml
Pre-population
bull Requires
bull contextsource
bull mapping
bull processing engine
bull Knowledge of source structures (particularly profiled scope)
bull Current $populate Options bull Observation based
bull FHIRPath based
bull StructureMap based
Pre-population ndash Observation based
bull Low flexibility of Questionnaire structure in mapping
bull Source
bull Context may be provided in parameter or SMART
bull Itemcode for LOINCSNOMEDother to search
bull Extension questionnaire-observationLinkPeriod to define range to check for last observation to read
bull Mapping
bull Itemcode for LOINCSNOMEDother for the values to be extracted from the observation
bull Groups can be used for extracting observation components
bull If the system understands that codings like LOINC 21112-8 is patientbirthDate then it may extract data like this also
During the pre-population stage this is the query that could be produced to extract the data
(assuming that the date of 3 months ago was 2018-06-02)
[base]Observationsubject=[questionnaire response subject id]
ampcode=http3Aloincorg|29463-7http3Aloincorg|3141-9 http3Aloincorg|8341-0
ampstatus=completed
ampdate=ge2018-06-02
amp_sort=-date
amp_count=1
Pre-population ndash FHIRPath based
bull Source
bull Context may be provided in parameter or SMART bull extension questionnaire-launchContext
bull Produces a bundle for processing
bull Mapping
bull FHIR Path expressions for each property to map bull extension ldquoquestionnaire-itemContextrdquo
bull Extension ldquosdc-questionnaire-initialExpressionrdquo
bull Leverage variables to assist in calculations bull Extension ldquovariablerdquo uses Expression datatype
More Flexible requires knowledge of FHIRPath and FHIR Queries to create the mappings
Validation
bull FHIR jsonxml valid (serialization)
bull Core FHIR profile validation (maybe local profiles too)
bull QuestionnaireResponse validation
bull Item Types (using linkId to match)
bull ExtensionsExtended Validation
bull Base Questionnaires through derivedFrom reference
bull Custom validation
bull OperationOutcome bull Contentmessages appropriate to display to users
Advanced Validation bull Core resources can be profiled with invariants
bull Extension adds this capability to Questionnaires
httphl7orgfhirextension-questionnaire-constrainthtml
Advanced Validation Examples
bull Checking cross field validation
bull Checking conditional rules
bull Checking complex calculations
bull Error messages
httpssqlonfhir-r4azurewebsitesnetfhirQuestionnairesa-rtw-r4
Summary bull Create a form definition
bull with validation rules
bull with resource mappings
bull Create form data
bull Perform Validation
bull Map to a new resource from form data
bull Terminology interactions
bull Where will you use Questionnaires
Questions
Thank you
Keep FHIR-ing on all cylinders
Scoring Argonaut Questionnaire Implementation Guide
bull The responses to the assessment are captured by the Client Application
bull MAY calculate a scored based on the associated values associated with each item
bull Defined via the Questionnaire Ordinal Value Extension
bull How the score is calculated may be described within the Questionnaire often as a hidden display item
bull The actual logic and calculation is an implementation detail outside of scope of this Implementation Guide
item [
extension [
url httphl7orgfhirStructureDefinitionquestionnaire-
ordinalValue
valueDecimal 17
Time Limits Argonaut Questionnaire Implementation Guide
bull Time limits for completion of a questionnaire or individual question can be defined using the Argonaut Questionnaire Time Limit Extension
bull The Client Application may record the start and stop date-times in the Argonaut QuestionnaireResponse Response Period Extension
bull which can be used to determine whether the questionnaire or items were answered within the prescribed time limit
bull How this information modifies the behaviour of the Form-filler or interpretation of results is an implementation detail outside of scope of this Implementation Guide
Posting Answers and Subsequently Fetching
bull Note that individual
responses are not directly
searchable using the FHIR
RESTful API
bull Standard FHIR Search API
bull eg by id questionnaire
patient demographics
etc
Demo creatingfilling Questionnaires
ConversionMapping to other resources
bull Observation based extraction bull Itemcode for LOINCSNOMEDother codings for the values to be extracted
bull groups can create components in the observation too
bull Definition based extraction (httphl7orgfhirquestionnairehtml23854)
bull itemdefinition directly links to an element in a structure definition eg httphl7orgfhirStructureDefinitionObservationObservationcomment
bull Can link each item supporting repeating items
bull Caveat canrsquot do complex splitjoincalculations and shape of questionnaire must closely match StructureDefinition
bull StructureMap based extraction
bull Explicit mappings for every property
bull Uses the FHIR mapping language can be very complex but flexible it is a transform language
bull Use the questionnaire-targetStructureMap extension on the questionnaire
httpbuildfhirorgigHL7sdcextractionhtml
Pre-population
bull Requires
bull contextsource
bull mapping
bull processing engine
bull Knowledge of source structures (particularly profiled scope)
bull Current $populate Options bull Observation based
bull FHIRPath based
bull StructureMap based
Pre-population ndash Observation based
bull Low flexibility of Questionnaire structure in mapping
bull Source
bull Context may be provided in parameter or SMART
bull Itemcode for LOINCSNOMEDother to search
bull Extension questionnaire-observationLinkPeriod to define range to check for last observation to read
bull Mapping
bull Itemcode for LOINCSNOMEDother for the values to be extracted from the observation
bull Groups can be used for extracting observation components
bull If the system understands that codings like LOINC 21112-8 is patientbirthDate then it may extract data like this also
During the pre-population stage this is the query that could be produced to extract the data
(assuming that the date of 3 months ago was 2018-06-02)
[base]Observationsubject=[questionnaire response subject id]
ampcode=http3Aloincorg|29463-7http3Aloincorg|3141-9 http3Aloincorg|8341-0
ampstatus=completed
ampdate=ge2018-06-02
amp_sort=-date
amp_count=1
Pre-population ndash FHIRPath based
bull Source
bull Context may be provided in parameter or SMART bull extension questionnaire-launchContext
bull Produces a bundle for processing
bull Mapping
bull FHIR Path expressions for each property to map bull extension ldquoquestionnaire-itemContextrdquo
bull Extension ldquosdc-questionnaire-initialExpressionrdquo
bull Leverage variables to assist in calculations bull Extension ldquovariablerdquo uses Expression datatype
More Flexible requires knowledge of FHIRPath and FHIR Queries to create the mappings
Validation
bull FHIR jsonxml valid (serialization)
bull Core FHIR profile validation (maybe local profiles too)
bull QuestionnaireResponse validation
bull Item Types (using linkId to match)
bull ExtensionsExtended Validation
bull Base Questionnaires through derivedFrom reference
bull Custom validation
bull OperationOutcome bull Contentmessages appropriate to display to users
Advanced Validation bull Core resources can be profiled with invariants
bull Extension adds this capability to Questionnaires
httphl7orgfhirextension-questionnaire-constrainthtml
Advanced Validation Examples
bull Checking cross field validation
bull Checking conditional rules
bull Checking complex calculations
bull Error messages
httpssqlonfhir-r4azurewebsitesnetfhirQuestionnairesa-rtw-r4
Summary bull Create a form definition
bull with validation rules
bull with resource mappings
bull Create form data
bull Perform Validation
bull Map to a new resource from form data
bull Terminology interactions
bull Where will you use Questionnaires
Questions
Thank you
Keep FHIR-ing on all cylinders
Time Limits Argonaut Questionnaire Implementation Guide
bull Time limits for completion of a questionnaire or individual question can be defined using the Argonaut Questionnaire Time Limit Extension
bull The Client Application may record the start and stop date-times in the Argonaut QuestionnaireResponse Response Period Extension
bull which can be used to determine whether the questionnaire or items were answered within the prescribed time limit
bull How this information modifies the behaviour of the Form-filler or interpretation of results is an implementation detail outside of scope of this Implementation Guide
Posting Answers and Subsequently Fetching
bull Note that individual
responses are not directly
searchable using the FHIR
RESTful API
bull Standard FHIR Search API
bull eg by id questionnaire
patient demographics
etc
Demo creatingfilling Questionnaires
ConversionMapping to other resources
bull Observation based extraction bull Itemcode for LOINCSNOMEDother codings for the values to be extracted
bull groups can create components in the observation too
bull Definition based extraction (httphl7orgfhirquestionnairehtml23854)
bull itemdefinition directly links to an element in a structure definition eg httphl7orgfhirStructureDefinitionObservationObservationcomment
bull Can link each item supporting repeating items
bull Caveat canrsquot do complex splitjoincalculations and shape of questionnaire must closely match StructureDefinition
bull StructureMap based extraction
bull Explicit mappings for every property
bull Uses the FHIR mapping language can be very complex but flexible it is a transform language
bull Use the questionnaire-targetStructureMap extension on the questionnaire
httpbuildfhirorgigHL7sdcextractionhtml
Pre-population
bull Requires
bull contextsource
bull mapping
bull processing engine
bull Knowledge of source structures (particularly profiled scope)
bull Current $populate Options bull Observation based
bull FHIRPath based
bull StructureMap based
Pre-population ndash Observation based
bull Low flexibility of Questionnaire structure in mapping
bull Source
bull Context may be provided in parameter or SMART
bull Itemcode for LOINCSNOMEDother to search
bull Extension questionnaire-observationLinkPeriod to define range to check for last observation to read
bull Mapping
bull Itemcode for LOINCSNOMEDother for the values to be extracted from the observation
bull Groups can be used for extracting observation components
bull If the system understands that codings like LOINC 21112-8 is patientbirthDate then it may extract data like this also
During the pre-population stage this is the query that could be produced to extract the data
(assuming that the date of 3 months ago was 2018-06-02)
[base]Observationsubject=[questionnaire response subject id]
ampcode=http3Aloincorg|29463-7http3Aloincorg|3141-9 http3Aloincorg|8341-0
ampstatus=completed
ampdate=ge2018-06-02
amp_sort=-date
amp_count=1
Pre-population ndash FHIRPath based
bull Source
bull Context may be provided in parameter or SMART bull extension questionnaire-launchContext
bull Produces a bundle for processing
bull Mapping
bull FHIR Path expressions for each property to map bull extension ldquoquestionnaire-itemContextrdquo
bull Extension ldquosdc-questionnaire-initialExpressionrdquo
bull Leverage variables to assist in calculations bull Extension ldquovariablerdquo uses Expression datatype
More Flexible requires knowledge of FHIRPath and FHIR Queries to create the mappings
Validation
bull FHIR jsonxml valid (serialization)
bull Core FHIR profile validation (maybe local profiles too)
bull QuestionnaireResponse validation
bull Item Types (using linkId to match)
bull ExtensionsExtended Validation
bull Base Questionnaires through derivedFrom reference
bull Custom validation
bull OperationOutcome bull Contentmessages appropriate to display to users
Advanced Validation bull Core resources can be profiled with invariants
bull Extension adds this capability to Questionnaires
httphl7orgfhirextension-questionnaire-constrainthtml
Advanced Validation Examples
bull Checking cross field validation
bull Checking conditional rules
bull Checking complex calculations
bull Error messages
httpssqlonfhir-r4azurewebsitesnetfhirQuestionnairesa-rtw-r4
Summary bull Create a form definition
bull with validation rules
bull with resource mappings
bull Create form data
bull Perform Validation
bull Map to a new resource from form data
bull Terminology interactions
bull Where will you use Questionnaires
Questions
Thank you
Keep FHIR-ing on all cylinders
Posting Answers and Subsequently Fetching
bull Note that individual
responses are not directly
searchable using the FHIR
RESTful API
bull Standard FHIR Search API
bull eg by id questionnaire
patient demographics
etc
Demo creatingfilling Questionnaires
ConversionMapping to other resources
bull Observation based extraction bull Itemcode for LOINCSNOMEDother codings for the values to be extracted
bull groups can create components in the observation too
bull Definition based extraction (httphl7orgfhirquestionnairehtml23854)
bull itemdefinition directly links to an element in a structure definition eg httphl7orgfhirStructureDefinitionObservationObservationcomment
bull Can link each item supporting repeating items
bull Caveat canrsquot do complex splitjoincalculations and shape of questionnaire must closely match StructureDefinition
bull StructureMap based extraction
bull Explicit mappings for every property
bull Uses the FHIR mapping language can be very complex but flexible it is a transform language
bull Use the questionnaire-targetStructureMap extension on the questionnaire
httpbuildfhirorgigHL7sdcextractionhtml
Pre-population
bull Requires
bull contextsource
bull mapping
bull processing engine
bull Knowledge of source structures (particularly profiled scope)
bull Current $populate Options bull Observation based
bull FHIRPath based
bull StructureMap based
Pre-population ndash Observation based
bull Low flexibility of Questionnaire structure in mapping
bull Source
bull Context may be provided in parameter or SMART
bull Itemcode for LOINCSNOMEDother to search
bull Extension questionnaire-observationLinkPeriod to define range to check for last observation to read
bull Mapping
bull Itemcode for LOINCSNOMEDother for the values to be extracted from the observation
bull Groups can be used for extracting observation components
bull If the system understands that codings like LOINC 21112-8 is patientbirthDate then it may extract data like this also
During the pre-population stage this is the query that could be produced to extract the data
(assuming that the date of 3 months ago was 2018-06-02)
[base]Observationsubject=[questionnaire response subject id]
ampcode=http3Aloincorg|29463-7http3Aloincorg|3141-9 http3Aloincorg|8341-0
ampstatus=completed
ampdate=ge2018-06-02
amp_sort=-date
amp_count=1
Pre-population ndash FHIRPath based
bull Source
bull Context may be provided in parameter or SMART bull extension questionnaire-launchContext
bull Produces a bundle for processing
bull Mapping
bull FHIR Path expressions for each property to map bull extension ldquoquestionnaire-itemContextrdquo
bull Extension ldquosdc-questionnaire-initialExpressionrdquo
bull Leverage variables to assist in calculations bull Extension ldquovariablerdquo uses Expression datatype
More Flexible requires knowledge of FHIRPath and FHIR Queries to create the mappings
Validation
bull FHIR jsonxml valid (serialization)
bull Core FHIR profile validation (maybe local profiles too)
bull QuestionnaireResponse validation
bull Item Types (using linkId to match)
bull ExtensionsExtended Validation
bull Base Questionnaires through derivedFrom reference
bull Custom validation
bull OperationOutcome bull Contentmessages appropriate to display to users
Advanced Validation bull Core resources can be profiled with invariants
bull Extension adds this capability to Questionnaires
httphl7orgfhirextension-questionnaire-constrainthtml
Advanced Validation Examples
bull Checking cross field validation
bull Checking conditional rules
bull Checking complex calculations
bull Error messages
httpssqlonfhir-r4azurewebsitesnetfhirQuestionnairesa-rtw-r4
Summary bull Create a form definition
bull with validation rules
bull with resource mappings
bull Create form data
bull Perform Validation
bull Map to a new resource from form data
bull Terminology interactions
bull Where will you use Questionnaires
Questions
Thank you
Keep FHIR-ing on all cylinders
Demo creatingfilling Questionnaires
ConversionMapping to other resources
bull Observation based extraction bull Itemcode for LOINCSNOMEDother codings for the values to be extracted
bull groups can create components in the observation too
bull Definition based extraction (httphl7orgfhirquestionnairehtml23854)
bull itemdefinition directly links to an element in a structure definition eg httphl7orgfhirStructureDefinitionObservationObservationcomment
bull Can link each item supporting repeating items
bull Caveat canrsquot do complex splitjoincalculations and shape of questionnaire must closely match StructureDefinition
bull StructureMap based extraction
bull Explicit mappings for every property
bull Uses the FHIR mapping language can be very complex but flexible it is a transform language
bull Use the questionnaire-targetStructureMap extension on the questionnaire
httpbuildfhirorgigHL7sdcextractionhtml
Pre-population
bull Requires
bull contextsource
bull mapping
bull processing engine
bull Knowledge of source structures (particularly profiled scope)
bull Current $populate Options bull Observation based
bull FHIRPath based
bull StructureMap based
Pre-population ndash Observation based
bull Low flexibility of Questionnaire structure in mapping
bull Source
bull Context may be provided in parameter or SMART
bull Itemcode for LOINCSNOMEDother to search
bull Extension questionnaire-observationLinkPeriod to define range to check for last observation to read
bull Mapping
bull Itemcode for LOINCSNOMEDother for the values to be extracted from the observation
bull Groups can be used for extracting observation components
bull If the system understands that codings like LOINC 21112-8 is patientbirthDate then it may extract data like this also
During the pre-population stage this is the query that could be produced to extract the data
(assuming that the date of 3 months ago was 2018-06-02)
[base]Observationsubject=[questionnaire response subject id]
ampcode=http3Aloincorg|29463-7http3Aloincorg|3141-9 http3Aloincorg|8341-0
ampstatus=completed
ampdate=ge2018-06-02
amp_sort=-date
amp_count=1
Pre-population ndash FHIRPath based
bull Source
bull Context may be provided in parameter or SMART bull extension questionnaire-launchContext
bull Produces a bundle for processing
bull Mapping
bull FHIR Path expressions for each property to map bull extension ldquoquestionnaire-itemContextrdquo
bull Extension ldquosdc-questionnaire-initialExpressionrdquo
bull Leverage variables to assist in calculations bull Extension ldquovariablerdquo uses Expression datatype
More Flexible requires knowledge of FHIRPath and FHIR Queries to create the mappings
Validation
bull FHIR jsonxml valid (serialization)
bull Core FHIR profile validation (maybe local profiles too)
bull QuestionnaireResponse validation
bull Item Types (using linkId to match)
bull ExtensionsExtended Validation
bull Base Questionnaires through derivedFrom reference
bull Custom validation
bull OperationOutcome bull Contentmessages appropriate to display to users
Advanced Validation bull Core resources can be profiled with invariants
bull Extension adds this capability to Questionnaires
httphl7orgfhirextension-questionnaire-constrainthtml
Advanced Validation Examples
bull Checking cross field validation
bull Checking conditional rules
bull Checking complex calculations
bull Error messages
httpssqlonfhir-r4azurewebsitesnetfhirQuestionnairesa-rtw-r4
Summary bull Create a form definition
bull with validation rules
bull with resource mappings
bull Create form data
bull Perform Validation
bull Map to a new resource from form data
bull Terminology interactions
bull Where will you use Questionnaires
Questions
Thank you
Keep FHIR-ing on all cylinders
ConversionMapping to other resources
bull Observation based extraction bull Itemcode for LOINCSNOMEDother codings for the values to be extracted
bull groups can create components in the observation too
bull Definition based extraction (httphl7orgfhirquestionnairehtml23854)
bull itemdefinition directly links to an element in a structure definition eg httphl7orgfhirStructureDefinitionObservationObservationcomment
bull Can link each item supporting repeating items
bull Caveat canrsquot do complex splitjoincalculations and shape of questionnaire must closely match StructureDefinition
bull StructureMap based extraction
bull Explicit mappings for every property
bull Uses the FHIR mapping language can be very complex but flexible it is a transform language
bull Use the questionnaire-targetStructureMap extension on the questionnaire
httpbuildfhirorgigHL7sdcextractionhtml
Pre-population
bull Requires
bull contextsource
bull mapping
bull processing engine
bull Knowledge of source structures (particularly profiled scope)
bull Current $populate Options bull Observation based
bull FHIRPath based
bull StructureMap based
Pre-population ndash Observation based
bull Low flexibility of Questionnaire structure in mapping
bull Source
bull Context may be provided in parameter or SMART
bull Itemcode for LOINCSNOMEDother to search
bull Extension questionnaire-observationLinkPeriod to define range to check for last observation to read
bull Mapping
bull Itemcode for LOINCSNOMEDother for the values to be extracted from the observation
bull Groups can be used for extracting observation components
bull If the system understands that codings like LOINC 21112-8 is patientbirthDate then it may extract data like this also
During the pre-population stage this is the query that could be produced to extract the data
(assuming that the date of 3 months ago was 2018-06-02)
[base]Observationsubject=[questionnaire response subject id]
ampcode=http3Aloincorg|29463-7http3Aloincorg|3141-9 http3Aloincorg|8341-0
ampstatus=completed
ampdate=ge2018-06-02
amp_sort=-date
amp_count=1
Pre-population ndash FHIRPath based
bull Source
bull Context may be provided in parameter or SMART bull extension questionnaire-launchContext
bull Produces a bundle for processing
bull Mapping
bull FHIR Path expressions for each property to map bull extension ldquoquestionnaire-itemContextrdquo
bull Extension ldquosdc-questionnaire-initialExpressionrdquo
bull Leverage variables to assist in calculations bull Extension ldquovariablerdquo uses Expression datatype
More Flexible requires knowledge of FHIRPath and FHIR Queries to create the mappings
Validation
bull FHIR jsonxml valid (serialization)
bull Core FHIR profile validation (maybe local profiles too)
bull QuestionnaireResponse validation
bull Item Types (using linkId to match)
bull ExtensionsExtended Validation
bull Base Questionnaires through derivedFrom reference
bull Custom validation
bull OperationOutcome bull Contentmessages appropriate to display to users
Advanced Validation bull Core resources can be profiled with invariants
bull Extension adds this capability to Questionnaires
httphl7orgfhirextension-questionnaire-constrainthtml
Advanced Validation Examples
bull Checking cross field validation
bull Checking conditional rules
bull Checking complex calculations
bull Error messages
httpssqlonfhir-r4azurewebsitesnetfhirQuestionnairesa-rtw-r4
Summary bull Create a form definition
bull with validation rules
bull with resource mappings
bull Create form data
bull Perform Validation
bull Map to a new resource from form data
bull Terminology interactions
bull Where will you use Questionnaires
Questions
Thank you
Keep FHIR-ing on all cylinders
Pre-population
bull Requires
bull contextsource
bull mapping
bull processing engine
bull Knowledge of source structures (particularly profiled scope)
bull Current $populate Options bull Observation based
bull FHIRPath based
bull StructureMap based
Pre-population ndash Observation based
bull Low flexibility of Questionnaire structure in mapping
bull Source
bull Context may be provided in parameter or SMART
bull Itemcode for LOINCSNOMEDother to search
bull Extension questionnaire-observationLinkPeriod to define range to check for last observation to read
bull Mapping
bull Itemcode for LOINCSNOMEDother for the values to be extracted from the observation
bull Groups can be used for extracting observation components
bull If the system understands that codings like LOINC 21112-8 is patientbirthDate then it may extract data like this also
During the pre-population stage this is the query that could be produced to extract the data
(assuming that the date of 3 months ago was 2018-06-02)
[base]Observationsubject=[questionnaire response subject id]
ampcode=http3Aloincorg|29463-7http3Aloincorg|3141-9 http3Aloincorg|8341-0
ampstatus=completed
ampdate=ge2018-06-02
amp_sort=-date
amp_count=1
Pre-population ndash FHIRPath based
bull Source
bull Context may be provided in parameter or SMART bull extension questionnaire-launchContext
bull Produces a bundle for processing
bull Mapping
bull FHIR Path expressions for each property to map bull extension ldquoquestionnaire-itemContextrdquo
bull Extension ldquosdc-questionnaire-initialExpressionrdquo
bull Leverage variables to assist in calculations bull Extension ldquovariablerdquo uses Expression datatype
More Flexible requires knowledge of FHIRPath and FHIR Queries to create the mappings
Validation
bull FHIR jsonxml valid (serialization)
bull Core FHIR profile validation (maybe local profiles too)
bull QuestionnaireResponse validation
bull Item Types (using linkId to match)
bull ExtensionsExtended Validation
bull Base Questionnaires through derivedFrom reference
bull Custom validation
bull OperationOutcome bull Contentmessages appropriate to display to users
Advanced Validation bull Core resources can be profiled with invariants
bull Extension adds this capability to Questionnaires
httphl7orgfhirextension-questionnaire-constrainthtml
Advanced Validation Examples
bull Checking cross field validation
bull Checking conditional rules
bull Checking complex calculations
bull Error messages
httpssqlonfhir-r4azurewebsitesnetfhirQuestionnairesa-rtw-r4
Summary bull Create a form definition
bull with validation rules
bull with resource mappings
bull Create form data
bull Perform Validation
bull Map to a new resource from form data
bull Terminology interactions
bull Where will you use Questionnaires
Questions
Thank you
Keep FHIR-ing on all cylinders
Pre-population ndash Observation based
bull Low flexibility of Questionnaire structure in mapping
bull Source
bull Context may be provided in parameter or SMART
bull Itemcode for LOINCSNOMEDother to search
bull Extension questionnaire-observationLinkPeriod to define range to check for last observation to read
bull Mapping
bull Itemcode for LOINCSNOMEDother for the values to be extracted from the observation
bull Groups can be used for extracting observation components
bull If the system understands that codings like LOINC 21112-8 is patientbirthDate then it may extract data like this also
During the pre-population stage this is the query that could be produced to extract the data
(assuming that the date of 3 months ago was 2018-06-02)
[base]Observationsubject=[questionnaire response subject id]
ampcode=http3Aloincorg|29463-7http3Aloincorg|3141-9 http3Aloincorg|8341-0
ampstatus=completed
ampdate=ge2018-06-02
amp_sort=-date
amp_count=1
Pre-population ndash FHIRPath based
bull Source
bull Context may be provided in parameter or SMART bull extension questionnaire-launchContext
bull Produces a bundle for processing
bull Mapping
bull FHIR Path expressions for each property to map bull extension ldquoquestionnaire-itemContextrdquo
bull Extension ldquosdc-questionnaire-initialExpressionrdquo
bull Leverage variables to assist in calculations bull Extension ldquovariablerdquo uses Expression datatype
More Flexible requires knowledge of FHIRPath and FHIR Queries to create the mappings
Validation
bull FHIR jsonxml valid (serialization)
bull Core FHIR profile validation (maybe local profiles too)
bull QuestionnaireResponse validation
bull Item Types (using linkId to match)
bull ExtensionsExtended Validation
bull Base Questionnaires through derivedFrom reference
bull Custom validation
bull OperationOutcome bull Contentmessages appropriate to display to users
Advanced Validation bull Core resources can be profiled with invariants
bull Extension adds this capability to Questionnaires
httphl7orgfhirextension-questionnaire-constrainthtml
Advanced Validation Examples
bull Checking cross field validation
bull Checking conditional rules
bull Checking complex calculations
bull Error messages
httpssqlonfhir-r4azurewebsitesnetfhirQuestionnairesa-rtw-r4
Summary bull Create a form definition
bull with validation rules
bull with resource mappings
bull Create form data
bull Perform Validation
bull Map to a new resource from form data
bull Terminology interactions
bull Where will you use Questionnaires
Questions
Thank you
Keep FHIR-ing on all cylinders
During the pre-population stage this is the query that could be produced to extract the data
(assuming that the date of 3 months ago was 2018-06-02)
[base]Observationsubject=[questionnaire response subject id]
ampcode=http3Aloincorg|29463-7http3Aloincorg|3141-9 http3Aloincorg|8341-0
ampstatus=completed
ampdate=ge2018-06-02
amp_sort=-date
amp_count=1
Pre-population ndash FHIRPath based
bull Source
bull Context may be provided in parameter or SMART bull extension questionnaire-launchContext
bull Produces a bundle for processing
bull Mapping
bull FHIR Path expressions for each property to map bull extension ldquoquestionnaire-itemContextrdquo
bull Extension ldquosdc-questionnaire-initialExpressionrdquo
bull Leverage variables to assist in calculations bull Extension ldquovariablerdquo uses Expression datatype
More Flexible requires knowledge of FHIRPath and FHIR Queries to create the mappings
Validation
bull FHIR jsonxml valid (serialization)
bull Core FHIR profile validation (maybe local profiles too)
bull QuestionnaireResponse validation
bull Item Types (using linkId to match)
bull ExtensionsExtended Validation
bull Base Questionnaires through derivedFrom reference
bull Custom validation
bull OperationOutcome bull Contentmessages appropriate to display to users
Advanced Validation bull Core resources can be profiled with invariants
bull Extension adds this capability to Questionnaires
httphl7orgfhirextension-questionnaire-constrainthtml
Advanced Validation Examples
bull Checking cross field validation
bull Checking conditional rules
bull Checking complex calculations
bull Error messages
httpssqlonfhir-r4azurewebsitesnetfhirQuestionnairesa-rtw-r4
Summary bull Create a form definition
bull with validation rules
bull with resource mappings
bull Create form data
bull Perform Validation
bull Map to a new resource from form data
bull Terminology interactions
bull Where will you use Questionnaires
Questions
Thank you
Keep FHIR-ing on all cylinders
Pre-population ndash FHIRPath based
bull Source
bull Context may be provided in parameter or SMART bull extension questionnaire-launchContext
bull Produces a bundle for processing
bull Mapping
bull FHIR Path expressions for each property to map bull extension ldquoquestionnaire-itemContextrdquo
bull Extension ldquosdc-questionnaire-initialExpressionrdquo
bull Leverage variables to assist in calculations bull Extension ldquovariablerdquo uses Expression datatype
More Flexible requires knowledge of FHIRPath and FHIR Queries to create the mappings
Validation
bull FHIR jsonxml valid (serialization)
bull Core FHIR profile validation (maybe local profiles too)
bull QuestionnaireResponse validation
bull Item Types (using linkId to match)
bull ExtensionsExtended Validation
bull Base Questionnaires through derivedFrom reference
bull Custom validation
bull OperationOutcome bull Contentmessages appropriate to display to users
Advanced Validation bull Core resources can be profiled with invariants
bull Extension adds this capability to Questionnaires
httphl7orgfhirextension-questionnaire-constrainthtml
Advanced Validation Examples
bull Checking cross field validation
bull Checking conditional rules
bull Checking complex calculations
bull Error messages
httpssqlonfhir-r4azurewebsitesnetfhirQuestionnairesa-rtw-r4
Summary bull Create a form definition
bull with validation rules
bull with resource mappings
bull Create form data
bull Perform Validation
bull Map to a new resource from form data
bull Terminology interactions
bull Where will you use Questionnaires
Questions
Thank you
Keep FHIR-ing on all cylinders
Validation
bull FHIR jsonxml valid (serialization)
bull Core FHIR profile validation (maybe local profiles too)
bull QuestionnaireResponse validation
bull Item Types (using linkId to match)
bull ExtensionsExtended Validation
bull Base Questionnaires through derivedFrom reference
bull Custom validation
bull OperationOutcome bull Contentmessages appropriate to display to users
Advanced Validation bull Core resources can be profiled with invariants
bull Extension adds this capability to Questionnaires
httphl7orgfhirextension-questionnaire-constrainthtml
Advanced Validation Examples
bull Checking cross field validation
bull Checking conditional rules
bull Checking complex calculations
bull Error messages
httpssqlonfhir-r4azurewebsitesnetfhirQuestionnairesa-rtw-r4
Summary bull Create a form definition
bull with validation rules
bull with resource mappings
bull Create form data
bull Perform Validation
bull Map to a new resource from form data
bull Terminology interactions
bull Where will you use Questionnaires
Questions
Thank you
Keep FHIR-ing on all cylinders
Advanced Validation bull Core resources can be profiled with invariants
bull Extension adds this capability to Questionnaires
httphl7orgfhirextension-questionnaire-constrainthtml
Advanced Validation Examples
bull Checking cross field validation
bull Checking conditional rules
bull Checking complex calculations
bull Error messages
httpssqlonfhir-r4azurewebsitesnetfhirQuestionnairesa-rtw-r4
Summary bull Create a form definition
bull with validation rules
bull with resource mappings
bull Create form data
bull Perform Validation
bull Map to a new resource from form data
bull Terminology interactions
bull Where will you use Questionnaires
Questions
Thank you
Keep FHIR-ing on all cylinders
Advanced Validation Examples
bull Checking cross field validation
bull Checking conditional rules
bull Checking complex calculations
bull Error messages
httpssqlonfhir-r4azurewebsitesnetfhirQuestionnairesa-rtw-r4
Summary bull Create a form definition
bull with validation rules
bull with resource mappings
bull Create form data
bull Perform Validation
bull Map to a new resource from form data
bull Terminology interactions
bull Where will you use Questionnaires
Questions
Thank you
Keep FHIR-ing on all cylinders
Summary bull Create a form definition
bull with validation rules
bull with resource mappings
bull Create form data
bull Perform Validation
bull Map to a new resource from form data
bull Terminology interactions
bull Where will you use Questionnaires
Questions
Thank you
Keep FHIR-ing on all cylinders
Questions
Thank you
Keep FHIR-ing on all cylinders
Thank you
Keep FHIR-ing on all cylinders