SIL HIE Implementation Guide
0.1.0 - sil-hie-active

SIL HIE Implementation Guide, published by Kathurima Kimathi. This guide is not an authorized publication; it is the continuous build for version 0.1.0 built by the FHIR (HL7® FHIR® Standard) CI Build. This version is based on the current content of https://github.com/savannahghi/hie-fhir-ig-profile/ and changes regularly. See the Directory of published versions

Resource Profile: HIE QuestionnaireResponse

Official URL: https://nshr.dha.go.ke/fhir/StructureDefinition/questionnaireresponse Version: 0.1.0
Active as of 2026-10-20 Computable Name: HIEQuestionnaireResponse

R4B QuestionnaireResponse profiled for HIE capture. Emphasizes linkage to Questionnaire, subject and encounter context, authorship, and structured item answers.

Usages:

You can also check for usages in the FHIR IG Statistics

Formal Views of Profile Content

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

NameFlagsCard.TypeDescription & Constraints    Filter: doco
QuestionnaireResponse C 0..* QuestionnaireResponse A structured set of questions and their answers
Constraints: qr-item-has-answer-or-children, qr-answer-has-value-or-children
QuestionnaireResponse.implicitRules This element is a modifier element. This element is included in summaries. 0..1 uri A set of rules under which this content was created
QuestionnaireResponse.modifierExtension This element is a modifier element. 0..* Extension Extensions that cannot be ignored
QuestionnaireResponse.identifier This element is included in summaries. 0..1 Identifier Unique id for this set of answers
QuestionnaireResponse.identifier.use This element is a modifier element. This element is included in summaries. 1..1 code usual | official | temp | secondary | old (If known)
Binding: IdentifierUse (required)
QuestionnaireResponse.identifier.type This element is included in summaries. C 1..1 HIECodeableConcept Description of identifier
Binding: Identifier Type Codes (extensible)
Constraints: cc-text-or-code
QuestionnaireResponse.identifier.system This element is included in summaries. 1..1 uri The namespace for the identifier value
Example General: http://www.acme.com/identifiers/patient
QuestionnaireResponse.identifier.value This element must be supported. This element is included in summaries. 1..1 string The value that is unique
Example General: 123456
QuestionnaireResponse.identifier.assigner This element must be supported. This element is included in summaries. 0..1 HIEReference(HIE Organization) Organization that issued id (may be just text)
QuestionnaireResponse.basedOn This element is included in summaries. 0..* HIEReference(ServiceRequest) Request fulfilled by this QuestionnaireResponse
QuestionnaireResponse.partOf This element is included in summaries. 0..* HIEReference(HIE Observation | Procedure) Part of this action
QuestionnaireResponse.questionnaire This element must be supported. This element is included in summaries. 1..1 canonical(Questionnaire) Form being answered
QuestionnaireResponse.status This element is a modifier element. This element must be supported. This element is included in summaries. 1..1 code in-progress | completed | amended | entered-in-error | stopped
Binding: QuestionnaireResponseStatus (required): Lifecycle status of the questionnaire response.
QuestionnaireResponse.subject This element must be supported. This element is included in summaries. 1..1 HIEReference(HIE Patient) The subject of the questions
QuestionnaireResponse.encounter This element must be supported. This element is included in summaries. 0..1 HIEReference(HIE Encounter) Encounter created as part of
QuestionnaireResponse.authored This element must be supported. This element is included in summaries. 1..1 dateTime Date the answers were gathered
QuestionnaireResponse.author This element is included in summaries. 0..1 HIEReference(HIE Practitioner | HIE PractitionerRole | HIE Patient | RelatedPerson) Person who received and recorded the answers
QuestionnaireResponse.source This element is included in summaries. 0..1 HIEReference(HIE Practitioner | HIE PractitionerRole | HIE Patient | RelatedPerson) The person who answered the questions
QuestionnaireResponse.item This element must be supported. C 1..* BackboneElement Groups and questions
Constraints: qrs-1
QuestionnaireResponse.item.modifierExtension This element is a modifier element. This element is included in summaries. 0..* Extension Extensions that cannot be ignored even if unrecognized
QuestionnaireResponse.item.linkId This element must be supported. 1..1 string Pointer to specific item from Questionnaire
QuestionnaireResponse.item.text This element must be supported. 0..1 string Name for group or question text
QuestionnaireResponse.item.answer This element must be supported. 0..* BackboneElement The response(s) to the question
QuestionnaireResponse.item.answer.modifierExtension This element is a modifier element. This element is included in summaries. 0..* Extension Extensions that cannot be ignored even if unrecognized

doco Documentation for this format

Terminology Bindings

Path Status Usage ValueSet Version Source
QuestionnaireResponse.​identifier.use Base required IdentifierUse 📦4.3.0 FHIR Std.
QuestionnaireResponse.​identifier.type Base extensible IdentifierType 📦4.3.0 FHIR Std.
QuestionnaireResponse.​status Base required QuestionnaireResponseStatus 📍4.3.0 FHIR Std.

Constraints

Id Grade Path(s) Description Expression
cc-text-or-code warning QuestionnaireResponse.identifier.type Text is optional, coding is required coding.exists()
dom-2 error QuestionnaireResponse If the resource is contained in another resource, it SHALL NOT contain nested Resources contained.contained.empty()
dom-3 error QuestionnaireResponse If the resource is contained in another resource, it SHALL be referred to from elsewhere in the resource or SHALL refer to the containing resource contained.where(((id.exists() and ('#'+id in (%resource.descendants().reference | %resource.descendants().as(canonical) | %resource.descendants().as(uri) | %resource.descendants().as(url)))) or descendants().where(reference = '#').exists() or descendants().where(as(canonical) = '#').exists() or descendants().where(as(uri) = '#').exists()).not()).trace('unmatched', id).empty()
dom-4 error QuestionnaireResponse If a resource is contained in another resource, it SHALL NOT have a meta.versionId or a meta.lastUpdated contained.meta.versionId.empty() and contained.meta.lastUpdated.empty()
dom-5 error QuestionnaireResponse If a resource is contained in another resource, it SHALL NOT have a security label contained.meta.security.empty()
dom-6 best practice QuestionnaireResponse A resource should have narrative for robust management text.`div`.exists()
ele-1 error **ALL** elements All FHIR elements must have a @value or children hasValue() or (children().count() > id.count())
ext-1 error **ALL** extensions Must have either extensions or value[x], not both extension.exists() != value.exists()
qr-answer-has-value-or-children error QuestionnaireResponse Each answer must have a value or nested items answer.exists() implies answer.all(value.exists() or item.exists())
qr-item-has-answer-or-children warning QuestionnaireResponse Each item must contain an answer or nested items item.exists() implies (item.answer.exists() or item.item.exists())
qrs-1 error QuestionnaireResponse.item Nested item can't be beneath both item and answer (answer.exists() and item.exists()).not()

This structure is derived from QuestionnaireResponse

NameFlagsCard.TypeDescription & Constraints    Filter: doco
QuestionnaireResponse C 0..* QuestionnaireResponse A structured set of questions and their answers
Constraints: qr-item-has-answer-or-children, qr-answer-has-value-or-children
QuestionnaireResponse.identifier
QuestionnaireResponse.identifier.use 1..1 code usual | official | temp | secondary | old (If known)
Binding: IdentifierUse (required)
QuestionnaireResponse.identifier.type 1..1 HIECodeableConcept Description of identifier
Binding: Identifier Type Codes (extensible)
QuestionnaireResponse.identifier.system 1..1 uri The namespace for the identifier value
QuestionnaireResponse.identifier.value This element must be supported. 1..1 string The value that is unique
QuestionnaireResponse.identifier.assigner This element must be supported. 0..1 HIEReference(HIE Organization) Organization that issued id (may be just text)
QuestionnaireResponse.basedOn 0..* HIEReference(ServiceRequest) Request fulfilled by this QuestionnaireResponse
QuestionnaireResponse.partOf 0..* HIEReference(HIE Observation | Procedure) Part of this action
QuestionnaireResponse.status This element must be supported. 1..1 code in-progress | completed | amended | entered-in-error | stopped
QuestionnaireResponse.subject This element must be supported. 1..1 HIEReference(HIE Patient) The subject of the questions
QuestionnaireResponse.encounter This element must be supported. 0..1 HIEReference(HIE Encounter) Encounter created as part of
QuestionnaireResponse.authored This element must be supported. 1..1 dateTime Date the answers were gathered
QuestionnaireResponse.author 0..1 HIEReference(HIE Practitioner | HIE PractitionerRole | HIE Patient | RelatedPerson) Person who received and recorded the answers
QuestionnaireResponse.source 0..1 HIEReference(HIE Practitioner | HIE PractitionerRole | HIE Patient | RelatedPerson) The person who answered the questions
QuestionnaireResponse.item This element must be supported. 1..* BackboneElement Groups and questions
QuestionnaireResponse.item.linkId This element must be supported. 1..1 string Pointer to specific item from Questionnaire
QuestionnaireResponse.item.text This element must be supported. 0..1 string Name for group or question text
QuestionnaireResponse.item.answer This element must be supported. 0..* BackboneElement The response(s) to the question

doco Documentation for this format

Terminology Bindings (Differential)

Path Status Usage ValueSet Version Source
QuestionnaireResponse.​identifier.use Base required IdentifierUse 📦4.3.0 FHIR Std.
QuestionnaireResponse.​identifier.type Base extensible IdentifierType 📦4.3.0 FHIR Std.

Constraints

Id Grade Path(s) Description Expression
qr-answer-has-value-or-children error QuestionnaireResponse Each answer must have a value or nested items answer.exists() implies answer.all(value.exists() or item.exists())
qr-item-has-answer-or-children warning QuestionnaireResponse Each item must contain an answer or nested items item.exists() implies (item.answer.exists() or item.item.exists())
NameFlagsCard.TypeDescription & Constraints    Filter: doco
QuestionnaireResponse C 0..* QuestionnaireResponse A structured set of questions and their answers
Constraints: qr-item-has-answer-or-children, qr-answer-has-value-or-children
QuestionnaireResponse.id This element is included in summaries. 0..1 id Logical id of this artifact
QuestionnaireResponse.meta This element is included in summaries. 0..1 Meta Metadata about the resource
QuestionnaireResponse.implicitRules This element is a modifier element. This element is included in summaries. 0..1 uri A set of rules under which this content was created
QuestionnaireResponse.language 0..1 code Language of the resource content
Binding: CommonLanguages (preferred): IETF language tag
Additional BindingsPurpose
AllLanguages Max Binding
QuestionnaireResponse.text 0..1 Narrative Text summary of the resource, for human interpretation
This profile does not constrain the narrative in regard to content, language, or traceability to data elements
QuestionnaireResponse.contained 0..* Resource Contained, inline Resources
Constraints: dom-r4b
QuestionnaireResponse.extension 0..* Extension Additional content defined by implementations
QuestionnaireResponse.modifierExtension This element is a modifier element. 0..* Extension Extensions that cannot be ignored
QuestionnaireResponse.identifier This element is included in summaries. 0..1 Identifier Unique id for this set of answers
QuestionnaireResponse.identifier.id 0..1 id Unique id for inter-element referencing
QuestionnaireResponse.identifier.extension 0..* Extension Additional content defined by implementations
Slice: Unordered, Open by value:url
QuestionnaireResponse.identifier.use This element is a modifier element. This element is included in summaries. 1..1 code usual | official | temp | secondary | old (If known)
Binding: IdentifierUse (required)
QuestionnaireResponse.identifier.type This element is included in summaries. C 1..1 HIECodeableConcept Description of identifier
Binding: Identifier Type Codes (extensible)
Constraints: cc-text-or-code
QuestionnaireResponse.identifier.system This element is included in summaries. 1..1 uri The namespace for the identifier value
Example General: http://www.acme.com/identifiers/patient
QuestionnaireResponse.identifier.value This element must be supported. This element is included in summaries. 1..1 string The value that is unique
Example General: 123456
QuestionnaireResponse.identifier.period This element is included in summaries. 0..1 Period Time period when id is/was valid for use
QuestionnaireResponse.identifier.assigner This element must be supported. This element is included in summaries. 0..1 HIEReference(HIE Organization) Organization that issued id (may be just text)
QuestionnaireResponse.basedOn This element is included in summaries. 0..* HIEReference(ServiceRequest) Request fulfilled by this QuestionnaireResponse
QuestionnaireResponse.partOf This element is included in summaries. 0..* HIEReference(HIE Observation | Procedure) Part of this action
QuestionnaireResponse.questionnaire This element must be supported. This element is included in summaries. 1..1 canonical(Questionnaire) Form being answered
QuestionnaireResponse.status This element is a modifier element. This element must be supported. This element is included in summaries. 1..1 code in-progress | completed | amended | entered-in-error | stopped
Binding: QuestionnaireResponseStatus (required): Lifecycle status of the questionnaire response.
QuestionnaireResponse.subject This element must be supported. This element is included in summaries. 1..1 HIEReference(HIE Patient) The subject of the questions
QuestionnaireResponse.encounter This element must be supported. This element is included in summaries. 0..1 HIEReference(HIE Encounter) Encounter created as part of
QuestionnaireResponse.authored This element must be supported. This element is included in summaries. 1..1 dateTime Date the answers were gathered
QuestionnaireResponse.author This element is included in summaries. 0..1 HIEReference(HIE Practitioner | HIE PractitionerRole | HIE Patient | RelatedPerson) Person who received and recorded the answers
QuestionnaireResponse.source This element is included in summaries. 0..1 HIEReference(HIE Practitioner | HIE PractitionerRole | HIE Patient | RelatedPerson) The person who answered the questions
QuestionnaireResponse.item This element must be supported. C 1..* BackboneElement Groups and questions
Constraints: qrs-1
QuestionnaireResponse.item.id 0..1 string Unique id for inter-element referencing
QuestionnaireResponse.item.extension 0..* Extension Additional content defined by implementations
QuestionnaireResponse.item.modifierExtension This element is a modifier element. This element is included in summaries. 0..* Extension Extensions that cannot be ignored even if unrecognized
QuestionnaireResponse.item.linkId This element must be supported. 1..1 string Pointer to specific item from Questionnaire
QuestionnaireResponse.item.definition 0..1 uri ElementDefinition - details for the item
QuestionnaireResponse.item.text This element must be supported. 0..1 string Name for group or question text
QuestionnaireResponse.item.answer This element must be supported. 0..* BackboneElement The response(s) to the question
QuestionnaireResponse.item.answer.id 0..1 string Unique id for inter-element referencing
QuestionnaireResponse.item.answer.extension 0..* Extension Additional content defined by implementations
QuestionnaireResponse.item.answer.modifierExtension This element is a modifier element. This element is included in summaries. 0..* Extension Extensions that cannot be ignored even if unrecognized
QuestionnaireResponse.item.answer.value[x] 0..1 Single-valued answer to the question
Binding: QuestionnaireAnswerCodes (example): Binding this is problematic because one value set can't apply to both codes and quantities.
QuestionnaireResponse.item.answer.value[x].valueBoolean boolean
QuestionnaireResponse.item.answer.value[x].valueDecimal decimal
QuestionnaireResponse.item.answer.value[x].valueInteger integer
QuestionnaireResponse.item.answer.value[x].valueDate date
QuestionnaireResponse.item.answer.value[x].valueDateTime dateTime
QuestionnaireResponse.item.answer.value[x].valueTime time
QuestionnaireResponse.item.answer.value[x].valueString string
QuestionnaireResponse.item.answer.value[x].valueUri uri
QuestionnaireResponse.item.answer.value[x].valueAttachment Attachment
QuestionnaireResponse.item.answer.value[x].valueCoding Coding
QuestionnaireResponse.item.answer.value[x].valueQuantity Quantity
QuestionnaireResponse.item.answer.value[x].valueReference Reference(Resource)
QuestionnaireResponse.item.answer.item 0..* See item (QuestionnaireResponse) Nested groups and questions
QuestionnaireResponse.item.item 0..* See item (QuestionnaireResponse) Nested questionnaire response items

doco Documentation for this format

Terminology Bindings

Path Status Usage ValueSet Version Source
QuestionnaireResponse.​language Base preferred Common Languages 📍4.3.0 FHIR Std.
QuestionnaireResponse.​identifier.use Base required IdentifierUse 📦4.3.0 FHIR Std.
QuestionnaireResponse.​identifier.type Base extensible IdentifierType 📦4.3.0 FHIR Std.
QuestionnaireResponse.​status Base required QuestionnaireResponseStatus 📍4.3.0 FHIR Std.
QuestionnaireResponse.​item.answer.value[x] Base example Questionnaire Answer Codes 📍4.3.0 FHIR Std.

Constraints

Id Grade Path(s) Description Expression
cc-text-or-code warning QuestionnaireResponse.identifier.type Text is optional, coding is required coding.exists()
dom-2 error QuestionnaireResponse If the resource is contained in another resource, it SHALL NOT contain nested Resources contained.contained.empty()
dom-3 error QuestionnaireResponse If the resource is contained in another resource, it SHALL be referred to from elsewhere in the resource or SHALL refer to the containing resource contained.where(((id.exists() and ('#'+id in (%resource.descendants().reference | %resource.descendants().as(canonical) | %resource.descendants().as(uri) | %resource.descendants().as(url)))) or descendants().where(reference = '#').exists() or descendants().where(as(canonical) = '#').exists() or descendants().where(as(uri) = '#').exists()).not()).trace('unmatched', id).empty()
dom-4 error QuestionnaireResponse If a resource is contained in another resource, it SHALL NOT have a meta.versionId or a meta.lastUpdated contained.meta.versionId.empty() and contained.meta.lastUpdated.empty()
dom-5 error QuestionnaireResponse If a resource is contained in another resource, it SHALL NOT have a security label contained.meta.security.empty()
dom-6 best practice QuestionnaireResponse A resource should have narrative for robust management text.`div`.exists()
dom-r4b warning QuestionnaireResponse.contained Containing new R4B resources within R4 resources may cause interoperability issues if instances are shared with R4 systems ($this is Citation or $this is Evidence or $this is EvidenceReport or $this is EvidenceVariable or $this is MedicinalProductDefinition or $this is PackagedProductDefinition or $this is AdministrableProductDefinition or $this is Ingredient or $this is ClinicalUseDefinition or $this is RegulatedAuthorization or $this is SubstanceDefinition or $this is SubscriptionStatus or $this is SubscriptionTopic) implies (%resource is Citation or %resource is Evidence or %resource is EvidenceReport or %resource is EvidenceVariable or %resource is MedicinalProductDefinition or %resource is PackagedProductDefinition or %resource is AdministrableProductDefinition or %resource is Ingredient or %resource is ClinicalUseDefinition or %resource is RegulatedAuthorization or %resource is SubstanceDefinition or %resource is SubscriptionStatus or %resource is SubscriptionTopic)
ele-1 error **ALL** elements All FHIR elements must have a @value or children hasValue() or (children().count() > id.count())
ext-1 error **ALL** extensions Must have either extensions or value[x], not both extension.exists() != value.exists()
qr-answer-has-value-or-children error QuestionnaireResponse Each answer must have a value or nested items answer.exists() implies answer.all(value.exists() or item.exists())
qr-item-has-answer-or-children warning QuestionnaireResponse Each item must contain an answer or nested items item.exists() implies (item.answer.exists() or item.item.exists())
qrs-1 error QuestionnaireResponse.item Nested item can't be beneath both item and answer (answer.exists() and item.exists()).not()

Key Elements View

NameFlagsCard.TypeDescription & Constraints    Filter: doco
QuestionnaireResponse C 0..* QuestionnaireResponse A structured set of questions and their answers
Constraints: qr-item-has-answer-or-children, qr-answer-has-value-or-children
QuestionnaireResponse.implicitRules This element is a modifier element. This element is included in summaries. 0..1 uri A set of rules under which this content was created
QuestionnaireResponse.modifierExtension This element is a modifier element. 0..* Extension Extensions that cannot be ignored
QuestionnaireResponse.identifier This element is included in summaries. 0..1 Identifier Unique id for this set of answers
QuestionnaireResponse.identifier.use This element is a modifier element. This element is included in summaries. 1..1 code usual | official | temp | secondary | old (If known)
Binding: IdentifierUse (required)
QuestionnaireResponse.identifier.type This element is included in summaries. C 1..1 HIECodeableConcept Description of identifier
Binding: Identifier Type Codes (extensible)
Constraints: cc-text-or-code
QuestionnaireResponse.identifier.system This element is included in summaries. 1..1 uri The namespace for the identifier value
Example General: http://www.acme.com/identifiers/patient
QuestionnaireResponse.identifier.value This element must be supported. This element is included in summaries. 1..1 string The value that is unique
Example General: 123456
QuestionnaireResponse.identifier.assigner This element must be supported. This element is included in summaries. 0..1 HIEReference(HIE Organization) Organization that issued id (may be just text)
QuestionnaireResponse.basedOn This element is included in summaries. 0..* HIEReference(ServiceRequest) Request fulfilled by this QuestionnaireResponse
QuestionnaireResponse.partOf This element is included in summaries. 0..* HIEReference(HIE Observation | Procedure) Part of this action
QuestionnaireResponse.questionnaire This element must be supported. This element is included in summaries. 1..1 canonical(Questionnaire) Form being answered
QuestionnaireResponse.status This element is a modifier element. This element must be supported. This element is included in summaries. 1..1 code in-progress | completed | amended | entered-in-error | stopped
Binding: QuestionnaireResponseStatus (required): Lifecycle status of the questionnaire response.
QuestionnaireResponse.subject This element must be supported. This element is included in summaries. 1..1 HIEReference(HIE Patient) The subject of the questions
QuestionnaireResponse.encounter This element must be supported. This element is included in summaries. 0..1 HIEReference(HIE Encounter) Encounter created as part of
QuestionnaireResponse.authored This element must be supported. This element is included in summaries. 1..1 dateTime Date the answers were gathered
QuestionnaireResponse.author This element is included in summaries. 0..1 HIEReference(HIE Practitioner | HIE PractitionerRole | HIE Patient | RelatedPerson) Person who received and recorded the answers
QuestionnaireResponse.source This element is included in summaries. 0..1 HIEReference(HIE Practitioner | HIE PractitionerRole | HIE Patient | RelatedPerson) The person who answered the questions
QuestionnaireResponse.item This element must be supported. C 1..* BackboneElement Groups and questions
Constraints: qrs-1
QuestionnaireResponse.item.modifierExtension This element is a modifier element. This element is included in summaries. 0..* Extension Extensions that cannot be ignored even if unrecognized
QuestionnaireResponse.item.linkId This element must be supported. 1..1 string Pointer to specific item from Questionnaire
QuestionnaireResponse.item.text This element must be supported. 0..1 string Name for group or question text
QuestionnaireResponse.item.answer This element must be supported. 0..* BackboneElement The response(s) to the question
QuestionnaireResponse.item.answer.modifierExtension This element is a modifier element. This element is included in summaries. 0..* Extension Extensions that cannot be ignored even if unrecognized

doco Documentation for this format

Terminology Bindings

Path Status Usage ValueSet Version Source
QuestionnaireResponse.​identifier.use Base required IdentifierUse 📦4.3.0 FHIR Std.
QuestionnaireResponse.​identifier.type Base extensible IdentifierType 📦4.3.0 FHIR Std.
QuestionnaireResponse.​status Base required QuestionnaireResponseStatus 📍4.3.0 FHIR Std.

Constraints

Id Grade Path(s) Description Expression
cc-text-or-code warning QuestionnaireResponse.identifier.type Text is optional, coding is required coding.exists()
dom-2 error QuestionnaireResponse If the resource is contained in another resource, it SHALL NOT contain nested Resources contained.contained.empty()
dom-3 error QuestionnaireResponse If the resource is contained in another resource, it SHALL be referred to from elsewhere in the resource or SHALL refer to the containing resource contained.where(((id.exists() and ('#'+id in (%resource.descendants().reference | %resource.descendants().as(canonical) | %resource.descendants().as(uri) | %resource.descendants().as(url)))) or descendants().where(reference = '#').exists() or descendants().where(as(canonical) = '#').exists() or descendants().where(as(uri) = '#').exists()).not()).trace('unmatched', id).empty()
dom-4 error QuestionnaireResponse If a resource is contained in another resource, it SHALL NOT have a meta.versionId or a meta.lastUpdated contained.meta.versionId.empty() and contained.meta.lastUpdated.empty()
dom-5 error QuestionnaireResponse If a resource is contained in another resource, it SHALL NOT have a security label contained.meta.security.empty()
dom-6 best practice QuestionnaireResponse A resource should have narrative for robust management text.`div`.exists()
ele-1 error **ALL** elements All FHIR elements must have a @value or children hasValue() or (children().count() > id.count())
ext-1 error **ALL** extensions Must have either extensions or value[x], not both extension.exists() != value.exists()
qr-answer-has-value-or-children error QuestionnaireResponse Each answer must have a value or nested items answer.exists() implies answer.all(value.exists() or item.exists())
qr-item-has-answer-or-children warning QuestionnaireResponse Each item must contain an answer or nested items item.exists() implies (item.answer.exists() or item.item.exists())
qrs-1 error QuestionnaireResponse.item Nested item can't be beneath both item and answer (answer.exists() and item.exists()).not()

Differential View

This structure is derived from QuestionnaireResponse

NameFlagsCard.TypeDescription & Constraints    Filter: doco
QuestionnaireResponse C 0..* QuestionnaireResponse A structured set of questions and their answers
Constraints: qr-item-has-answer-or-children, qr-answer-has-value-or-children
QuestionnaireResponse.identifier
QuestionnaireResponse.identifier.use 1..1 code usual | official | temp | secondary | old (If known)
Binding: IdentifierUse (required)
QuestionnaireResponse.identifier.type 1..1 HIECodeableConcept Description of identifier
Binding: Identifier Type Codes (extensible)
QuestionnaireResponse.identifier.system 1..1 uri The namespace for the identifier value
QuestionnaireResponse.identifier.value This element must be supported. 1..1 string The value that is unique
QuestionnaireResponse.identifier.assigner This element must be supported. 0..1 HIEReference(HIE Organization) Organization that issued id (may be just text)
QuestionnaireResponse.basedOn 0..* HIEReference(ServiceRequest) Request fulfilled by this QuestionnaireResponse
QuestionnaireResponse.partOf 0..* HIEReference(HIE Observation | Procedure) Part of this action
QuestionnaireResponse.questionnaire This element must be supported. 1..1 canonical(Questionnaire) Form being answered
QuestionnaireResponse.status This element must be supported. 1..1 code in-progress | completed | amended | entered-in-error | stopped
QuestionnaireResponse.subject This element must be supported. 1..1 HIEReference(HIE Patient) The subject of the questions
QuestionnaireResponse.encounter This element must be supported. 0..1 HIEReference(HIE Encounter) Encounter created as part of
QuestionnaireResponse.authored This element must be supported. 1..1 dateTime Date the answers were gathered
QuestionnaireResponse.author 0..1 HIEReference(HIE Practitioner | HIE PractitionerRole | HIE Patient | RelatedPerson) Person who received and recorded the answers
QuestionnaireResponse.source 0..1 HIEReference(HIE Practitioner | HIE PractitionerRole | HIE Patient | RelatedPerson) The person who answered the questions
QuestionnaireResponse.item This element must be supported. 1..* BackboneElement Groups and questions
QuestionnaireResponse.item.linkId This element must be supported. 1..1 string Pointer to specific item from Questionnaire
QuestionnaireResponse.item.text This element must be supported. 0..1 string Name for group or question text
QuestionnaireResponse.item.answer This element must be supported. 0..* BackboneElement The response(s) to the question

doco Documentation for this format

Terminology Bindings (Differential)

Path Status Usage ValueSet Version Source
QuestionnaireResponse.​identifier.use Base required IdentifierUse 📦4.3.0 FHIR Std.
QuestionnaireResponse.​identifier.type Base extensible IdentifierType 📦4.3.0 FHIR Std.

Constraints

Id Grade Path(s) Description Expression
qr-answer-has-value-or-children error QuestionnaireResponse Each answer must have a value or nested items answer.exists() implies answer.all(value.exists() or item.exists())
qr-item-has-answer-or-children warning QuestionnaireResponse Each item must contain an answer or nested items item.exists() implies (item.answer.exists() or item.item.exists())

Snapshot View

NameFlagsCard.TypeDescription & Constraints    Filter: doco
QuestionnaireResponse C 0..* QuestionnaireResponse A structured set of questions and their answers
Constraints: qr-item-has-answer-or-children, qr-answer-has-value-or-children
QuestionnaireResponse.id This element is included in summaries. 0..1 id Logical id of this artifact
QuestionnaireResponse.meta This element is included in summaries. 0..1 Meta Metadata about the resource
QuestionnaireResponse.implicitRules This element is a modifier element. This element is included in summaries. 0..1 uri A set of rules under which this content was created
QuestionnaireResponse.language 0..1 code Language of the resource content
Binding: CommonLanguages (preferred): IETF language tag
Additional BindingsPurpose
AllLanguages Max Binding
QuestionnaireResponse.text 0..1 Narrative Text summary of the resource, for human interpretation
This profile does not constrain the narrative in regard to content, language, or traceability to data elements
QuestionnaireResponse.contained 0..* Resource Contained, inline Resources
Constraints: dom-r4b
QuestionnaireResponse.extension 0..* Extension Additional content defined by implementations
QuestionnaireResponse.modifierExtension This element is a modifier element. 0..* Extension Extensions that cannot be ignored
QuestionnaireResponse.identifier This element is included in summaries. 0..1 Identifier Unique id for this set of answers
QuestionnaireResponse.identifier.id 0..1 id Unique id for inter-element referencing
QuestionnaireResponse.identifier.extension 0..* Extension Additional content defined by implementations
Slice: Unordered, Open by value:url
QuestionnaireResponse.identifier.use This element is a modifier element. This element is included in summaries. 1..1 code usual | official | temp | secondary | old (If known)
Binding: IdentifierUse (required)
QuestionnaireResponse.identifier.type This element is included in summaries. C 1..1 HIECodeableConcept Description of identifier
Binding: Identifier Type Codes (extensible)
Constraints: cc-text-or-code
QuestionnaireResponse.identifier.system This element is included in summaries. 1..1 uri The namespace for the identifier value
Example General: http://www.acme.com/identifiers/patient
QuestionnaireResponse.identifier.value This element must be supported. This element is included in summaries. 1..1 string The value that is unique
Example General: 123456
QuestionnaireResponse.identifier.period This element is included in summaries. 0..1 Period Time period when id is/was valid for use
QuestionnaireResponse.identifier.assigner This element must be supported. This element is included in summaries. 0..1 HIEReference(HIE Organization) Organization that issued id (may be just text)
QuestionnaireResponse.basedOn This element is included in summaries. 0..* HIEReference(ServiceRequest) Request fulfilled by this QuestionnaireResponse
QuestionnaireResponse.partOf This element is included in summaries. 0..* HIEReference(HIE Observation | Procedure) Part of this action
QuestionnaireResponse.questionnaire This element must be supported. This element is included in summaries. 1..1 canonical(Questionnaire) Form being answered
QuestionnaireResponse.status This element is a modifier element. This element must be supported. This element is included in summaries. 1..1 code in-progress | completed | amended | entered-in-error | stopped
Binding: QuestionnaireResponseStatus (required): Lifecycle status of the questionnaire response.
QuestionnaireResponse.subject This element must be supported. This element is included in summaries. 1..1 HIEReference(HIE Patient) The subject of the questions
QuestionnaireResponse.encounter This element must be supported. This element is included in summaries. 0..1 HIEReference(HIE Encounter) Encounter created as part of
QuestionnaireResponse.authored This element must be supported. This element is included in summaries. 1..1 dateTime Date the answers were gathered
QuestionnaireResponse.author This element is included in summaries. 0..1 HIEReference(HIE Practitioner | HIE PractitionerRole | HIE Patient | RelatedPerson) Person who received and recorded the answers
QuestionnaireResponse.source This element is included in summaries. 0..1 HIEReference(HIE Practitioner | HIE PractitionerRole | HIE Patient | RelatedPerson) The person who answered the questions
QuestionnaireResponse.item This element must be supported. C 1..* BackboneElement Groups and questions
Constraints: qrs-1
QuestionnaireResponse.item.id 0..1 string Unique id for inter-element referencing
QuestionnaireResponse.item.extension 0..* Extension Additional content defined by implementations
QuestionnaireResponse.item.modifierExtension This element is a modifier element. This element is included in summaries. 0..* Extension Extensions that cannot be ignored even if unrecognized
QuestionnaireResponse.item.linkId This element must be supported. 1..1 string Pointer to specific item from Questionnaire
QuestionnaireResponse.item.definition 0..1 uri ElementDefinition - details for the item
QuestionnaireResponse.item.text This element must be supported. 0..1 string Name for group or question text
QuestionnaireResponse.item.answer This element must be supported. 0..* BackboneElement The response(s) to the question
QuestionnaireResponse.item.answer.id 0..1 string Unique id for inter-element referencing
QuestionnaireResponse.item.answer.extension 0..* Extension Additional content defined by implementations
QuestionnaireResponse.item.answer.modifierExtension This element is a modifier element. This element is included in summaries. 0..* Extension Extensions that cannot be ignored even if unrecognized
QuestionnaireResponse.item.answer.value[x] 0..1 Single-valued answer to the question
Binding: QuestionnaireAnswerCodes (example): Binding this is problematic because one value set can't apply to both codes and quantities.
QuestionnaireResponse.item.answer.value[x].valueBoolean boolean
QuestionnaireResponse.item.answer.value[x].valueDecimal decimal
QuestionnaireResponse.item.answer.value[x].valueInteger integer
QuestionnaireResponse.item.answer.value[x].valueDate date
QuestionnaireResponse.item.answer.value[x].valueDateTime dateTime
QuestionnaireResponse.item.answer.value[x].valueTime time
QuestionnaireResponse.item.answer.value[x].valueString string
QuestionnaireResponse.item.answer.value[x].valueUri uri
QuestionnaireResponse.item.answer.value[x].valueAttachment Attachment
QuestionnaireResponse.item.answer.value[x].valueCoding Coding
QuestionnaireResponse.item.answer.value[x].valueQuantity Quantity
QuestionnaireResponse.item.answer.value[x].valueReference Reference(Resource)
QuestionnaireResponse.item.answer.item 0..* See item (QuestionnaireResponse) Nested groups and questions
QuestionnaireResponse.item.item 0..* See item (QuestionnaireResponse) Nested questionnaire response items

doco Documentation for this format

Terminology Bindings

Path Status Usage ValueSet Version Source
QuestionnaireResponse.​language Base preferred Common Languages 📍4.3.0 FHIR Std.
QuestionnaireResponse.​identifier.use Base required IdentifierUse 📦4.3.0 FHIR Std.
QuestionnaireResponse.​identifier.type Base extensible IdentifierType 📦4.3.0 FHIR Std.
QuestionnaireResponse.​status Base required QuestionnaireResponseStatus 📍4.3.0 FHIR Std.
QuestionnaireResponse.​item.answer.value[x] Base example Questionnaire Answer Codes 📍4.3.0 FHIR Std.

Constraints

Id Grade Path(s) Description Expression
cc-text-or-code warning QuestionnaireResponse.identifier.type Text is optional, coding is required coding.exists()
dom-2 error QuestionnaireResponse If the resource is contained in another resource, it SHALL NOT contain nested Resources contained.contained.empty()
dom-3 error QuestionnaireResponse If the resource is contained in another resource, it SHALL be referred to from elsewhere in the resource or SHALL refer to the containing resource contained.where(((id.exists() and ('#'+id in (%resource.descendants().reference | %resource.descendants().as(canonical) | %resource.descendants().as(uri) | %resource.descendants().as(url)))) or descendants().where(reference = '#').exists() or descendants().where(as(canonical) = '#').exists() or descendants().where(as(uri) = '#').exists()).not()).trace('unmatched', id).empty()
dom-4 error QuestionnaireResponse If a resource is contained in another resource, it SHALL NOT have a meta.versionId or a meta.lastUpdated contained.meta.versionId.empty() and contained.meta.lastUpdated.empty()
dom-5 error QuestionnaireResponse If a resource is contained in another resource, it SHALL NOT have a security label contained.meta.security.empty()
dom-6 best practice QuestionnaireResponse A resource should have narrative for robust management text.`div`.exists()
dom-r4b warning QuestionnaireResponse.contained Containing new R4B resources within R4 resources may cause interoperability issues if instances are shared with R4 systems ($this is Citation or $this is Evidence or $this is EvidenceReport or $this is EvidenceVariable or $this is MedicinalProductDefinition or $this is PackagedProductDefinition or $this is AdministrableProductDefinition or $this is Ingredient or $this is ClinicalUseDefinition or $this is RegulatedAuthorization or $this is SubstanceDefinition or $this is SubscriptionStatus or $this is SubscriptionTopic) implies (%resource is Citation or %resource is Evidence or %resource is EvidenceReport or %resource is EvidenceVariable or %resource is MedicinalProductDefinition or %resource is PackagedProductDefinition or %resource is AdministrableProductDefinition or %resource is Ingredient or %resource is ClinicalUseDefinition or %resource is RegulatedAuthorization or %resource is SubstanceDefinition or %resource is SubscriptionStatus or %resource is SubscriptionTopic)
ele-1 error **ALL** elements All FHIR elements must have a @value or children hasValue() or (children().count() > id.count())
ext-1 error **ALL** extensions Must have either extensions or value[x], not both extension.exists() != value.exists()
qr-answer-has-value-or-children error QuestionnaireResponse Each answer must have a value or nested items answer.exists() implies answer.all(value.exists() or item.exists())
qr-item-has-answer-or-children warning QuestionnaireResponse Each item must contain an answer or nested items item.exists() implies (item.answer.exists() or item.item.exists())
qrs-1 error QuestionnaireResponse.item Nested item can't be beneath both item and answer (answer.exists() and item.exists()).not()

 

Other representations of profile: CSV, Excel, Schematron