FHIR Artifacts > Structure Definition: QuestionnaireResponse Profile

Structure Definition: QuestionnaireResponse Profile

Canonical URL:http://ehealthontario.ca/fhir/StructureDefinition/ca-on-eReferral-profile-QuestionnaireResponse

Simplifier project page: QuestionnaireResponse

Derived from: QuestionnaireResponse (R4)

Formal Views of Profile Content

Description of Profiles, Differentials, Snapshots and how the different presentations work

Differential View

versionIdΣ0..1id
lastUpdatedΣ0..1instant
sourceΣ0..1uri
profileS Σ1..*canonical(StructureDefinition)
securityΣ0..*CodingBinding
tagΣ0..*Coding
useΣ ?!0..1codeBinding
typeΣ0..1CodeableConceptBinding
systemS Σ0..1uri
valueS Σ0..1string
periodΣ I0..1Period
assignerΣ I0..1Reference(Organization)
referenceS Σ I0..1string
typeΣ0..1uriBinding
useΣ ?!0..1codeBinding
typeΣ0..1CodeableConceptBinding
systemS Σ0..1uri
valueS Σ0..1string
periodΣ I0..1Period
assignerΣ I0..1Reference(Organization)
displayΣ0..1string
partOfΣ I0..1Reference(Observation | Procedure)
questionnaireΣ0..1canonical(Questionnaire)
statusS Σ ?!1..1codeBindingFixed Value
referenceS Σ I0..1string
typeΣ0..1uriBinding
useΣ ?!0..1codeBinding
typeΣ0..1CodeableConceptBinding
systemS Σ0..1uri
valueS Σ0..1string
periodΣ I0..1Period
assignerΣ I0..1Reference(Organization)
displayΣ0..1string
encounterΣ I0..1Reference(Encounter)
authoredS Σ0..1dateTime
referenceS Σ I0..1string
typeΣ0..1uriBinding
useΣ ?!0..1codeBinding
typeΣ0..1CodeableConceptBinding
systemS Σ0..1uri
valueS Σ0..1string
periodΣ I0..1Period
assignerΣ I0..1Reference(Organization)
displayΣ0..1string
sourceΣ I0..1Reference(Patient | Practitioner | PractitionerRole | RelatedPerson)
linkIdS1..1string
definition0..1uri
textS1..1string
valueBooleanboolean
valueDecimaldecimal
valueIntegerinteger
valueDatedate
valueDateTimedateTime
valueTimetime
valueStringstring
valueUriuri
valueAttachmentAttachment
valueCodingCoding
valueQuantityQuantity
valueReferenceReference(Resource)
item0..*see (item)
linkIdS1..1string
definition0..1uri
textS0..1string
valueBooleanboolean
valueDecimaldecimal
valueIntegerinteger
valueDatedate
valueDateTimedateTime
valueTimetime
valueStringstring
valueUriuri
valueAttachmentAttachment
valueCodingCoding
valueQuantityQuantity
valueReferenceReference(Resource)
item0..*see (item)
item0..*see (item)

Hybrid View

versionIdΣ0..1id
lastUpdatedΣ0..1instant
sourceΣ0..1uri
profileS Σ1..*canonical(StructureDefinition)
securityΣ0..*CodingBinding
tagΣ0..*Coding
useΣ ?!0..1codeBinding
typeΣ0..1CodeableConceptBinding
systemS Σ0..1uri
valueS Σ0..1string
periodΣ I0..1Period
assignerΣ I0..1Reference(Organization)
referenceS Σ I0..1string
typeΣ0..1uriBinding
useΣ ?!0..1codeBinding
typeΣ0..1CodeableConceptBinding
systemS Σ0..1uri
valueS Σ0..1string
periodΣ I0..1Period
assignerΣ I0..1Reference(Organization)
displayΣ0..1string
partOfΣ I0..1Reference(Observation | Procedure)
questionnaireΣ0..1canonical(Questionnaire)
statusS Σ ?!1..1codeBindingFixed Value
referenceS Σ I0..1string
typeΣ0..1uriBinding
useΣ ?!0..1codeBinding
typeΣ0..1CodeableConceptBinding
systemS Σ0..1uri
valueS Σ0..1string
periodΣ I0..1Period
assignerΣ I0..1Reference(Organization)
displayΣ0..1string
encounterΣ I0..1Reference(Encounter)
authoredS Σ0..1dateTime
referenceS Σ I0..1string
typeΣ0..1uriBinding
useΣ ?!0..1codeBinding
typeΣ0..1CodeableConceptBinding
systemS Σ0..1uri
valueS Σ0..1string
periodΣ I0..1Period
assignerΣ I0..1Reference(Organization)
displayΣ0..1string
sourceΣ I0..1Reference(Patient | Practitioner | PractitionerRole | RelatedPerson)
linkIdS1..1string
definition0..1uri
textS1..1string
valueBooleanboolean
valueDecimaldecimal
valueIntegerinteger
valueDatedate
valueDateTimedateTime
valueTimetime
valueStringstring
valueUriuri
valueAttachmentAttachment
valueCodingCoding
valueQuantityQuantity
valueReferenceReference(Resource)
item0..*see (item)
linkIdS1..1string
definition0..1uri
textS0..1string
valueBooleanboolean
valueDecimaldecimal
valueIntegerinteger
valueDatedate
valueDateTimedateTime
valueTimetime
valueStringstring
valueUriuri
valueAttachmentAttachment
valueCodingCoding
valueQuantityQuantity
valueReferenceReference(Resource)
item0..*see (item)
item0..*see (item)

Snapshot View

versionIdΣ0..1id
lastUpdatedΣ0..1instant
sourceΣ0..1uri
profileS Σ1..*canonical(StructureDefinition)
securityΣ0..*CodingBinding
tagΣ0..*Coding
useΣ ?!0..1codeBinding
typeΣ0..1CodeableConceptBinding
systemS Σ0..1uri
valueS Σ0..1string
periodΣ I0..1Period
assignerΣ I0..1Reference(Organization)
referenceS Σ I0..1string
typeΣ0..1uriBinding
useΣ ?!0..1codeBinding
typeΣ0..1CodeableConceptBinding
systemS Σ0..1uri
valueS Σ0..1string
periodΣ I0..1Period
assignerΣ I0..1Reference(Organization)
displayΣ0..1string
partOfΣ I0..1Reference(Observation | Procedure)
questionnaireΣ0..1canonical(Questionnaire)
statusS Σ ?!1..1codeBindingFixed Value
referenceS Σ I0..1string
typeΣ0..1uriBinding
useΣ ?!0..1codeBinding
typeΣ0..1CodeableConceptBinding
systemS Σ0..1uri
valueS Σ0..1string
periodΣ I0..1Period
assignerΣ I0..1Reference(Organization)
displayΣ0..1string
encounterΣ I0..1Reference(Encounter)
authoredS Σ0..1dateTime
referenceS Σ I0..1string
typeΣ0..1uriBinding
useΣ ?!0..1codeBinding
typeΣ0..1CodeableConceptBinding
systemS Σ0..1uri
valueS Σ0..1string
periodΣ I0..1Period
assignerΣ I0..1Reference(Organization)
displayΣ0..1string
sourceΣ I0..1Reference(Patient | Practitioner | PractitionerRole | RelatedPerson)
linkIdS1..1string
definition0..1uri
textS1..1string
valueBooleanboolean
valueDecimaldecimal
valueIntegerinteger
valueDatedate
valueDateTimedateTime
valueTimetime
valueStringstring
valueUriuri
valueAttachmentAttachment
valueCodingCoding
valueQuantityQuantity
valueReferenceReference(Resource)
item0..*see (item)
linkIdS1..1string
definition0..1uri
textS0..1string
valueBooleanboolean
valueDecimaldecimal
valueIntegerinteger
valueDatedate
valueDateTimedateTime
valueTimetime
valueStringstring
valueUriuri
valueAttachmentAttachment
valueCodingCoding
valueQuantityQuantity
valueReferenceReference(Resource)
item0..*see (item)
item0..*see (item)

Table View

QuestionnaireResponse..
QuestionnaireResponse.meta1..
QuestionnaireResponse.meta.profile1..
QuestionnaireResponse.identifier..
QuestionnaireResponse.identifier.system..
QuestionnaireResponse.identifier.value..
QuestionnaireResponse.basedOnReference(ServiceRequest)..
QuestionnaireResponse.basedOn.reference..
QuestionnaireResponse.basedOn.identifier..
QuestionnaireResponse.basedOn.identifier.system..
QuestionnaireResponse.basedOn.identifier.value..
QuestionnaireResponse.partOf..1
QuestionnaireResponse.status..
QuestionnaireResponse.subjectReference(Patient)..
QuestionnaireResponse.subject.reference..
QuestionnaireResponse.subject.identifier..
QuestionnaireResponse.subject.identifier.system..
QuestionnaireResponse.subject.identifier.value..
QuestionnaireResponse.authored..
QuestionnaireResponse.authorReference(PractitionerRole)..
QuestionnaireResponse.author.reference..
QuestionnaireResponse.author.identifier..
QuestionnaireResponse.author.identifier.system..
QuestionnaireResponse.author.identifier.value..
QuestionnaireResponse.item..
QuestionnaireResponse.item.linkId..
QuestionnaireResponse.item.text1..
QuestionnaireResponse.item.answer..
QuestionnaireResponse.item.answer.value[x]..
QuestionnaireResponse.item.item..
QuestionnaireResponse.item.item.linkId..
QuestionnaireResponse.item.item.text..
QuestionnaireResponse.item.item.answer..
QuestionnaireResponse.item.item.answer.value[x]..


JSON View

{
    "resourceType": "StructureDefinition",
    "id": "ca-on-eReferral-profile-QuestionnaireResponse",
    "url": "http://ehealthontario.ca/fhir/StructureDefinition/ca-on-eReferral-profile-QuestionnaireResponse",
    "version": "1.0.0",
    "name": "EReferralQuestionnaireResponse",
    "title": "QuestionnaireResponse",
    "status": "draft",
    "description": "QuestionnaireResponse resource is used to capture additional information, notes, record question/answers, etc. about the referral. This resource will be referrenced via ServiceRequest resource.",
    "fhirVersion": "4.0.1",
    "kind": "resource",
    "abstract": false,
    "type": "QuestionnaireResponse",
    "baseDefinition": "http://hl7.org/fhir/StructureDefinition/QuestionnaireResponse",
    "derivation": "constraint",
    "differential": {
        "element":  [
            {
                "id": "QuestionnaireResponse.meta",
                "path": "QuestionnaireResponse.meta",
                "min": 1,
                "mustSupport": true
            },
            {
                "id": "QuestionnaireResponse.meta.profile",
                "path": "QuestionnaireResponse.meta.profile",
                "comment": "#### **_` FOR eREFERRAL USAGE: The meta.profile = http://ehealthontario.ca/fhir/StructureDefinition/ca-on-eReferral-profile-QuestionnaireResponse|1.0.0 `_**\n\nIt is up to the server and/or other infrastructure of policy to determine whether/how these claims are verified and/or updated over time.  The list of profile URLs is a set.",
                "min": 1,
                "mustSupport": true
            },
            {
                "id": "QuestionnaireResponse.identifier",
                "path": "QuestionnaireResponse.identifier",
                "mustSupport": true
            },
            {
                "id": "QuestionnaireResponse.identifier.system",
                "path": "QuestionnaireResponse.identifier.system",
                "mustSupport": true
            },
            {
                "id": "QuestionnaireResponse.identifier.value",
                "path": "QuestionnaireResponse.identifier.value",
                "mustSupport": true
            },
            {
                "id": "QuestionnaireResponse.basedOn",
                "path": "QuestionnaireResponse.basedOn",
                "type":  [
                    {
                        "code": "Reference",
                        "targetProfile":  [
                            "http://ehealthontario.ca/fhir/StructureDefinition/ca-on-eReferral-profile-ServiceRequest"
                        ],
                        "aggregation":  [
                            "referenced"
                        ]
                    }
                ],
                "mustSupport": true
            },
            {
                "id": "QuestionnaireResponse.basedOn.reference",
                "path": "QuestionnaireResponse.basedOn.reference",
                "mustSupport": true
            },
            {
                "id": "QuestionnaireResponse.basedOn.identifier",
                "path": "QuestionnaireResponse.basedOn.identifier",
                "mustSupport": true
            },
            {
                "id": "QuestionnaireResponse.basedOn.identifier.system",
                "path": "QuestionnaireResponse.basedOn.identifier.system",
                "mustSupport": true
            },
            {
                "id": "QuestionnaireResponse.basedOn.identifier.value",
                "path": "QuestionnaireResponse.basedOn.identifier.value",
                "mustSupport": true
            },
            {
                "id": "QuestionnaireResponse.partOf",
                "path": "QuestionnaireResponse.partOf",
                "max": "1"
            },
            {
                "id": "QuestionnaireResponse.status",
                "path": "QuestionnaireResponse.status",
                "fixedCode": "completed",
                "mustSupport": true
            },
            {
                "id": "QuestionnaireResponse.subject",
                "path": "QuestionnaireResponse.subject",
                "comment": "#### **_`FOR EREFERRAL USAGE: The subject of QuestionnaireResponse MUST be same as the subject in the ServiceRequest. `_**\n\nIf the Questionnaire declared a subjectType, the resource pointed to by this element must be an instance of one of the listed types.",
                "type":  [
                    {
                        "code": "Reference",
                        "targetProfile":  [
                            "http://ehealthontario.ca/fhir/StructureDefinition/ca-on-eReferral-profile-Patient"
                        ],
                        "aggregation":  [
                            "referenced"
                        ]
                    }
                ],
                "mustSupport": true
            },
            {
                "id": "QuestionnaireResponse.subject.reference",
                "path": "QuestionnaireResponse.subject.reference",
                "mustSupport": true
            },
            {
                "id": "QuestionnaireResponse.subject.identifier",
                "path": "QuestionnaireResponse.subject.identifier",
                "mustSupport": true
            },
            {
                "id": "QuestionnaireResponse.subject.identifier.system",
                "path": "QuestionnaireResponse.subject.identifier.system",
                "mustSupport": true
            },
            {
                "id": "QuestionnaireResponse.subject.identifier.value",
                "path": "QuestionnaireResponse.subject.identifier.value",
                "mustSupport": true
            },
            {
                "id": "QuestionnaireResponse.authored",
                "path": "QuestionnaireResponse.authored",
                "mustSupport": true
            },
            {
                "id": "QuestionnaireResponse.author",
                "path": "QuestionnaireResponse.author",
                "definition": "**Person who received the answers to the questions in the QuestionnaireResponse and recorded them in the system.**",
                "comment": "#### **_`FOR EREFERRAL USAGE: If blank, can assume that the author = ServiceRequest.requester. Note questionnaireResponse has a few uses: 1) for supplimentary information added when submitting a referral 2) for additional data sets (such as assessments) added AFTER the initial referral submission (e.g., by the provider). For case 1, if blank it can safely be assumed that the author = ServiceRequest.requester.`_**\n\nMapping a subject's answers to multiple choice options and determining what to put in the textual answer is a matter of interpretation.  Authoring by device would indicate that some portion of the questionnaire had been auto-populated.\n\nIf blank, can assume that the author = ServiceRequest.requester. Note questionnaireResponse has a few uses: 1) for supplimentary information added when submitting a referral 2) for additional data sets (such as assessments) added AFTER the initial referral submission (e.g., by the provider). For case 1, if blank it can safely be assumed that the author = ServiceRequest.requester.",
                "type":  [
                    {
                        "code": "Reference",
                        "targetProfile":  [
                            "http://ehealthontario.ca/fhir/StructureDefinition/ca-on-eReferral-profile-PractitionerRole"
                        ],
                        "aggregation":  [
                            "referenced"
                        ]
                    }
                ],
                "mustSupport": true
            },
            {
                "id": "QuestionnaireResponse.author.reference",
                "path": "QuestionnaireResponse.author.reference",
                "mustSupport": true
            },
            {
                "id": "QuestionnaireResponse.author.identifier",
                "path": "QuestionnaireResponse.author.identifier",
                "mustSupport": true
            },
            {
                "id": "QuestionnaireResponse.author.identifier.system",
                "path": "QuestionnaireResponse.author.identifier.system",
                "mustSupport": true
            },
            {
                "id": "QuestionnaireResponse.author.identifier.value",
                "path": "QuestionnaireResponse.author.identifier.value",
                "mustSupport": true
            },
            {
                "id": "QuestionnaireResponse.item",
                "path": "QuestionnaireResponse.item",
                "mustSupport": true
            },
            {
                "id": "QuestionnaireResponse.item.linkId",
                "path": "QuestionnaireResponse.item.linkId",
                "mustSupport": true
            },
            {
                "id": "QuestionnaireResponse.item.text",
                "path": "QuestionnaireResponse.item.text",
                "min": 1,
                "mustSupport": true
            },
            {
                "id": "QuestionnaireResponse.item.answer",
                "path": "QuestionnaireResponse.item.answer",
                "mustSupport": true
            },
            {
                "id": "QuestionnaireResponse.item.answer.value[x]",
                "path": "QuestionnaireResponse.item.answer.value[x]",
                "mustSupport": true
            },
            {
                "id": "QuestionnaireResponse.item.item",
                "path": "QuestionnaireResponse.item.item",
                "mustSupport": true
            },
            {
                "id": "QuestionnaireResponse.item.item.linkId",
                "path": "QuestionnaireResponse.item.item.linkId",
                "mustSupport": true
            },
            {
                "id": "QuestionnaireResponse.item.item.text",
                "path": "QuestionnaireResponse.item.item.text",
                "mustSupport": true
            },
            {
                "id": "QuestionnaireResponse.item.item.answer",
                "path": "QuestionnaireResponse.item.item.answer",
                "mustSupport": true
            },
            {
                "id": "QuestionnaireResponse.item.item.answer.value[x]",
                "path": "QuestionnaireResponse.item.item.answer.value[x]",
                "mustSupport": true
            }
        ]
    }
}

Usage

For eReferral, the QuestionnaireResponse resource is used in DirectMessaging integrations WITHOUT a corresponding Questionnaire resource to provide structured form data captured in a RMS Source as a list of questions and responses.

For eConsult, the QuestionnaireResponse resource is used WITH the Questionnaire resource to provide structured data (e.g. provider survey responses) as a list of questions and responses.

Notes

.id

  • used to uniquely identify the resource
  • if a persistent identity for the resource is not available to use when constructing a message Bundle for transmission via Direct Messaging, a UUID SHOULD be used in this element (with a corresponding value in Bundle.entry.fullUrl)

.meta.profile

  • used to declare conformance to this profile
  • populate with a fixed value: http://ehealthontario.ca/fhir/StructureDefinition/ca-on-eReferral-profile-QuestionnaireResponse|1.0.0

.subject

  • used to associate the QuestionnaireResponse with the Patient it is about
  • where .subject is populated, it SHALL reference the same Patient resource as ServiceRequest.subject
  • for DirectMessaging integrations, the Patient resource SHALL be included in the message as a Bundle.entry and, if a persistent resource is available, MAY also be resolvable at a RESTful FHIR endpoint

.author

  • SHOULD be populated with a reference to the PractitionerRole resource or, for self-referrals, a Patient resource who completed the form
  • if the ServiceRequest is being transmitted via messaging, the referenced resource SHALL be included in the message as a Bundle.entry
  • if this element is not populated, recipients MAY assume that the author = ServiceRequest.requester but this has limitations if supplimentary information added by a different author when submitting a referral or if additional data (such as assessments) are added AFTER the initial referral submission

.item

  • if a form question is displayed to the user but no answer is provided, then item.text should be used and exclude item.answer (null or blank values for elements are not FHIR)