Uzbekistan Digital Health Platform
0.5.0 - ci-build
Uzbekistan Digital Health Platform, published by Ministry of Health of the Republic of Uzbekistan. This guide is not an authorized publication; it is the continuous build for version 0.5.0 built by the FHIR (HL7® FHIR® Standard) CI Build. This version is based on the current content of https://github.com/uzinfocom-org/digital-health-ig/ and changes regularly. See the Directory of published versions
| Official URL: https://dhp.uz/fhir/core/StructureDefinition/uz-core-questionnaire-response | Version: 0.5.0 | ||||
| Active as of 2025-12-16 | Computable Name: UZCoreQuestionnaireResponse | ||||
Uzbekistan Core QuestionnaireResponse profile for capturing responses with digital signature support
UZ Core QuestionnaireResponse is a completed instance of a Questionnaire on the Digital Health Platform - for example a patient health-status declaration or feedback captured in the patient portal. It carries the answers given against the questions of the referenced template.
The elements below must always be present (mandatory) or must be supported when the data is available (Must Support) - not all are required, but your system must populate each Must Support element when it has the data and process it on receipt. This is the human-readable summary; the formal views below give the exact cardinalities, types, and terminology bindings.
Every QuestionnaireResponse must carry a questionnaire reference to the UZ Core Questionnaire being answered (1..1) and a status (in-progress, completed, amended, entered-in-error, stopped) inherited as mandatory from the base resource.
value[x] and nested item), and nested items.Patient-entered QuestionnaireResponse data is informational. It is not automatically converted into a Condition or Observation; that happens only through a clinician's action within an Encounter, recorded via Provenance. On submission a response is validated for structure and terminology only, not for clinical correctness.
These resources are mostly system-generated as a form is filled in, so the example below is just one representative completed response. Copy it and adapt it - every value shown validates against this profile. The full reference instance is the patient satisfaction response.
A response must name the questionnaire it answers (a canonical URL, 1..1) and carry a status (in-progress / completed / amended / entered-in-error / stopped). In practice you also send the subject it is about and the authored time, then one item per question. Each item has the linkId of the question it answers and an answer whose value[x] holds the response - a coded choice is a valueCoding, free text is a valueString:
{
"resourceType": "QuestionnaireResponse",
"language": "uz",
"meta": { "profile": ["https://dhp.uz/fhir/core/StructureDefinition/uz-core-questionnaire-response"] },
"questionnaire": "https://dhp.uz/fhir/core/Questionnaire/PatientSatisfactionQuestionnaire",
"status": "completed",
"subject": { "reference": "Patient/example-salim" },
"authored": "2025-01-15T14:30:00+05:00",
"item": [
{
"linkId": "appointment-method",
"text": "Как вы записались на приём?",
"answer": [
{
"valueCoding": {
"system": "https://terminology.dhp.uz/fhir/core/CodeSystem/patient-satisfaction-cs",
"code": "remote",
"display": "Masofadan yozildim («Портал Пациента» orqali)"
}
}
]
},
{
"linkId": "wait-time",
"text": "Сколько времени вы ожидали приём?",
"answer": [
{
"valueCoding": {
"system": "https://terminology.dhp.uz/fhir/core/CodeSystem/patient-satisfaction-cs",
"code": "10-15min",
"display": "10-15 daqiqa"
}
}
]
},
{
"linkId": "doctor-competence-satisfaction",
"text": "Насколько Вы удовлетворены компетентностью врача?",
"answer": [
{
"valueCoding": {
"system": "https://terminology.dhp.uz/fhir/core/CodeSystem/patient-satisfaction-cs",
"code": "fully-satisfied",
"display": "To'liq mamnunman"
}
}
]
},
{
"linkId": "health-info-completeness",
"text": "Была ли предоставлена информация о Вашем состоянии здоровья в полном объёме и понятной форме?",
"answer": [
{
"valueCoding": {
"system": "https://terminology.dhp.uz/fhir/core/CodeSystem/patient-satisfaction-cs",
"code": "yes-complete",
"display": "Ha, to'liq"
}
}
]
},
{
"linkId": "questions-answered",
"text": "Получили ли вы ответы на все интересующие вас вопросы?",
"answer": [
{
"valueCoding": {
"system": "https://terminology.dhp.uz/fhir/core/CodeSystem/patient-satisfaction-cs",
"code": "yes-complete",
"display": "Ha, to'liq"
}
}
]
},
{
"linkId": "improvement-suggestions",
"text": "Есть ли у Вас предложения по улучшению качества обслуживания?",
"answer": [
{ "valueString": "Было бы удобно иметь возможность получать напоминания о приёме через SMS." }
]
}
]
}
questionnaire is a plain canonical string (not a Reference), and subject is a plain Reference ({ "reference": "Patient/example-salim" }). Pick the value[x] type that matches the question: valueCoding for a coded choice, valueString for free text, and likewise valueBoolean, valueInteger, valueDate, and so on for other question types. Every item the referenced Questionnaire marks as required must be answered - this response answers all five required questions; omitting one is a validation error.
For example API calls and a sample payload, see the Quick Start at the bottom of this page.
Usages:
You can also check for usages in the FHIR IG Statistics
Description Differentials, Snapshots, and other representations.
| Name | Flags | Card. | Type | Description & Constraints Filter: ![]() ![]() |
|---|---|---|---|---|
![]() |
0..* | QuestionnaireResponse(5.0.0) | A structured set of questions and their answers | |
![]() ![]() |
?!Σ | 0..1 | uri | A set of rules under which this content was created |
![]() ![]() |
0..* | Resource | Contained, inline Resources | |
![]() ![]() |
?!Σ | 0..* | Extension | Extensions that cannot be ignored Constraints: ext-1 |
![]() ![]() |
SΣ | 0..* | Identifier | Business identifier for this set of answers |
![]() ![]() |
SΣ | 0..* | Reference(CarePlan | ServiceRequest) | Request fulfilled by this QuestionnaireResponse |
![]() ![]() |
SΣ | 0..* | Reference(Observation | Procedure) | Part of referenced event |
![]() ![]() |
SΣ | 1..1 | canonical(Questionnaire) | Reference to the UZCoreQuestionnaire being answered |
![]() ![]() |
?!SΣ | 1..1 | code | in-progress | completed | amended | entered-in-error | stopped Binding: QuestionnaireResponseStatus (required): Lifecycle status of the questionnaire response. |
![]() ![]() |
SΣ | 0..1 | Reference(Resource) | The subject of the questions |
![]() ![]() |
SΣ | 0..1 | Reference(UZ Core Encounter(0.5.0)) | Encounter the questionnaire response is part of |
![]() ![]() |
SΣ | 0..1 | dateTime | Date the answers were gathered |
![]() ![]() |
SΣ | 0..1 | Reference(UZ Core Practitioner(0.5.0) | UZ Core PractitionerRole(0.5.0) | UZ Core Patient(0.5.0) | UZ Core RelatedPerson(0.5.0) | Device | UZ Core Organization(0.5.0)) | The individual or device that received and recorded the answers |
![]() ![]() |
SΣ | 0..1 | Reference(UZ Core Practitioner(0.5.0) | UZ Core PractitionerRole(0.5.0) | UZ Core Patient(0.5.0) | UZ Core RelatedPerson(0.5.0)) | The individual or device that answered the questions |
![]() ![]() |
SC | 0..* | BackboneElement | Groups and questions Constraints: qrs-1, qrs-2 |
![]() ![]() ![]() |
?!Σ | 0..* | Extension | Extensions that cannot be ignored even if unrecognized Constraints: ext-1 |
![]() ![]() ![]() |
SC | 1..1 | string | Pointer to specific item from Questionnaire |
![]() ![]() ![]() |
S | 0..1 | uri | ElementDefinition - details for the item |
![]() ![]() ![]() |
S | 0..1 | string | Name for group or question text |
![]() ![]() ![]() |
SC | 0..* | BackboneElement | The response(s) to the question |
![]() ![]() ![]() ![]() |
?!Σ | 0..* | Extension | Extensions that cannot be ignored even if unrecognized Constraints: ext-1 |
![]() ![]() ![]() ![]() |
SC | 1..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. | |
![]() ![]() ![]() ![]() ![]() |
boolean | |||
![]() ![]() ![]() ![]() ![]() |
decimal | |||
![]() ![]() ![]() ![]() ![]() |
integer | |||
![]() ![]() ![]() ![]() ![]() |
date | |||
![]() ![]() ![]() ![]() ![]() |
dateTime | |||
![]() ![]() ![]() ![]() ![]() |
time | |||
![]() ![]() ![]() ![]() ![]() |
string | |||
![]() ![]() ![]() ![]() ![]() |
uri | |||
![]() ![]() ![]() ![]() ![]() |
Attachment | |||
![]() ![]() ![]() ![]() ![]() |
Coding | |||
![]() ![]() ![]() ![]() ![]() |
Quantity(SimpleQuantity) | |||
![]() ![]() ![]() ![]() ![]() |
Reference(Resource) | |||
![]() ![]() ![]() ![]() |
S | 0..* | See item (QuestionnaireResponse) | Child items of question |
![]() ![]() ![]() |
S | 0..* | See item (QuestionnaireResponse) | Child items of group item |
Documentation for this format | ||||
| Path | Status | Usage | ValueSet | Version | Source |
| QuestionnaireResponse.status | Base | required | Questionnaire Response Status | 📍5.0.0 | FHIR Std. |
| QuestionnaireResponse.item.answer.value[x] | Base | example | Questionnaire Answer Codes | 📍5.0.0 | FHIR Std. |
| Id | Grade | Path(s) | Description | Expression |
| 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 in (%resource.descendants().reference | %resource.descendants().ofType(canonical) | %resource.descendants().ofType(uri) | %resource.descendants().ofType(url))) or descendants().where(reference = '#').exists() or descendants().where(ofType(canonical) = '#').exists() or descendants().where(ofType(canonical) = '#').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 | QuestionnaireResponse.implicitRules, QuestionnaireResponse.modifierExtension, QuestionnaireResponse.identifier, QuestionnaireResponse.basedOn, QuestionnaireResponse.partOf, QuestionnaireResponse.questionnaire, QuestionnaireResponse.status, QuestionnaireResponse.subject, QuestionnaireResponse.encounter, QuestionnaireResponse.authored, QuestionnaireResponse.author, QuestionnaireResponse.source, QuestionnaireResponse.item, QuestionnaireResponse.item.modifierExtension, QuestionnaireResponse.item.linkId, QuestionnaireResponse.item.definition, QuestionnaireResponse.item.text, QuestionnaireResponse.item.answer, QuestionnaireResponse.item.answer.modifierExtension, QuestionnaireResponse.item.answer.value[x], QuestionnaireResponse.item.answer.item, QuestionnaireResponse.item.item | All FHIR elements must have a @value or children |
hasValue() or (children().count() > id.count())
|
| ext-1 | error | QuestionnaireResponse.modifierExtension, QuestionnaireResponse.item.modifierExtension, QuestionnaireResponse.item.answer.modifierExtension | Must have either extensions or value[x], not both |
extension.exists() != value.exists()
|
| qrs-1 | error | QuestionnaireResponse.item | Item cannot contain both item and answer |
(answer.exists() and item.exists()).not()
|
| qrs-2 | error | QuestionnaireResponse.item | Repeated answers are combined in the answers array of a single item |
repeat(answer|item).select(item.where(answer.value.exists()).linkId.isDistinct()).allTrue()
|
| Name | Flags | Card. | Type | Description & Constraints Filter: ![]() ![]() |
|---|---|---|---|---|
![]() |
0..* | QuestionnaireResponse(5.0.0) | A structured set of questions and their answers | |
![]() ![]() |
S | 0..* | Identifier | Business identifier for this set of answers |
![]() ![]() |
S | 0..* | Reference(CarePlan | ServiceRequest) | Request fulfilled by this QuestionnaireResponse |
![]() ![]() |
S | 0..* | Reference(Observation | Procedure) | Part of referenced event |
![]() ![]() |
S | 1..1 | canonical(Questionnaire) | Reference to the UZCoreQuestionnaire being answered |
![]() ![]() |
S | 1..1 | code | in-progress | completed | amended | entered-in-error | stopped |
![]() ![]() |
S | 0..1 | Reference(Resource) | The subject of the questions |
![]() ![]() |
S | 0..1 | Reference(UZ Core Encounter(0.5.0)) | Encounter the questionnaire response is part of |
![]() ![]() |
S | 0..1 | dateTime | Date the answers were gathered |
![]() ![]() |
S | 0..1 | Reference(UZ Core Practitioner(0.5.0) | UZ Core PractitionerRole(0.5.0) | UZ Core Patient(0.5.0) | UZ Core RelatedPerson(0.5.0) | Device | UZ Core Organization(0.5.0)) | The individual or device that received and recorded the answers |
![]() ![]() |
S | 0..1 | Reference(UZ Core Practitioner(0.5.0) | UZ Core PractitionerRole(0.5.0) | UZ Core Patient(0.5.0) | UZ Core RelatedPerson(0.5.0)) | The individual or device that answered the questions |
![]() ![]() |
S | 0..* | BackboneElement | Groups and questions |
![]() ![]() ![]() |
S | 1..1 | string | Pointer to specific item from Questionnaire |
![]() ![]() ![]() |
S | 0..1 | uri | ElementDefinition - details for the item |
![]() ![]() ![]() |
S | 0..1 | string | Name for group or question text |
![]() ![]() ![]() |
S | 0..* | BackboneElement | The response(s) to the question |
![]() ![]() ![]() ![]() |
S | 1..1 | boolean, decimal, integer, date, dateTime, time, string, uri, Attachment, Coding, SimpleQuantity(5.0.0), Reference(Resource) | Single-valued answer to the question |
![]() ![]() ![]() ![]() |
S | 0..* | Child items of question | |
![]() ![]() ![]() |
S | 0..* | Child items of group item | |
Documentation for this format | ||||
| Name | Flags | Card. | Type | Description & Constraints Filter: ![]() ![]() | ||||
|---|---|---|---|---|---|---|---|---|
![]() |
0..* | QuestionnaireResponse(5.0.0) | A structured set of questions and their answers | |||||
![]() ![]() |
Σ | 0..1 | id | Logical id of this artifact | ||||
![]() ![]() |
Σ | 0..1 | Meta | Metadata about the resource | ||||
![]() ![]() |
?!Σ | 0..1 | uri | A set of rules under which this content was created | ||||
![]() ![]() |
0..1 | code | Language of the resource content Binding: AllLanguages (required): IETF language tag for a human language
| |||||
![]() ![]() |
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 | |||||
![]() ![]() |
0..* | Resource | Contained, inline Resources | |||||
![]() ![]() |
0..* | Extension | Additional content defined by implementations Constraints: ext-1 | |||||
![]() ![]() |
?!Σ | 0..* | Extension | Extensions that cannot be ignored Constraints: ext-1 | ||||
![]() ![]() |
SΣ | 0..* | Identifier | Business identifier for this set of answers | ||||
![]() ![]() |
SΣ | 0..* | Reference(CarePlan | ServiceRequest) | Request fulfilled by this QuestionnaireResponse | ||||
![]() ![]() |
SΣ | 0..* | Reference(Observation | Procedure) | Part of referenced event | ||||
![]() ![]() |
SΣ | 1..1 | canonical(Questionnaire) | Reference to the UZCoreQuestionnaire being answered | ||||
![]() ![]() |
?!SΣ | 1..1 | code | in-progress | completed | amended | entered-in-error | stopped Binding: QuestionnaireResponseStatus (required): Lifecycle status of the questionnaire response. | ||||
![]() ![]() |
SΣ | 0..1 | Reference(Resource) | The subject of the questions | ||||
![]() ![]() |
SΣ | 0..1 | Reference(UZ Core Encounter(0.5.0)) | Encounter the questionnaire response is part of | ||||
![]() ![]() |
SΣ | 0..1 | dateTime | Date the answers were gathered | ||||
![]() ![]() |
SΣ | 0..1 | Reference(UZ Core Practitioner(0.5.0) | UZ Core PractitionerRole(0.5.0) | UZ Core Patient(0.5.0) | UZ Core RelatedPerson(0.5.0) | Device | UZ Core Organization(0.5.0)) | The individual or device that received and recorded the answers | ||||
![]() ![]() |
SΣ | 0..1 | Reference(UZ Core Practitioner(0.5.0) | UZ Core PractitionerRole(0.5.0) | UZ Core Patient(0.5.0) | UZ Core RelatedPerson(0.5.0)) | The individual or device that answered the questions | ||||
![]() ![]() |
SC | 0..* | BackboneElement | Groups and questions Constraints: qrs-1, qrs-2 | ||||
![]() ![]() ![]() |
0..1 | string | Unique id for inter-element referencing | |||||
![]() ![]() ![]() |
0..* | Extension | Additional content defined by implementations Constraints: ext-1 | |||||
![]() ![]() ![]() |
?!Σ | 0..* | Extension | Extensions that cannot be ignored even if unrecognized Constraints: ext-1 | ||||
![]() ![]() ![]() |
SC | 1..1 | string | Pointer to specific item from Questionnaire | ||||
![]() ![]() ![]() |
S | 0..1 | uri | ElementDefinition - details for the item | ||||
![]() ![]() ![]() |
S | 0..1 | string | Name for group or question text | ||||
![]() ![]() ![]() |
SC | 0..* | BackboneElement | The response(s) to the question | ||||
![]() ![]() ![]() ![]() |
0..1 | string | Unique id for inter-element referencing | |||||
![]() ![]() ![]() ![]() |
0..* | Extension | Additional content defined by implementations Constraints: ext-1 | |||||
![]() ![]() ![]() ![]() |
?!Σ | 0..* | Extension | Extensions that cannot be ignored even if unrecognized Constraints: ext-1 | ||||
![]() ![]() ![]() ![]() |
SC | 1..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. | |||||
![]() ![]() ![]() ![]() ![]() |
boolean | |||||||
![]() ![]() ![]() ![]() ![]() |
decimal | |||||||
![]() ![]() ![]() ![]() ![]() |
integer | |||||||
![]() ![]() ![]() ![]() ![]() |
date | |||||||
![]() ![]() ![]() ![]() ![]() |
dateTime | |||||||
![]() ![]() ![]() ![]() ![]() |
time | |||||||
![]() ![]() ![]() ![]() ![]() |
string | |||||||
![]() ![]() ![]() ![]() ![]() |
uri | |||||||
![]() ![]() ![]() ![]() ![]() |
Attachment | |||||||
![]() ![]() ![]() ![]() ![]() |
Coding | |||||||
![]() ![]() ![]() ![]() ![]() |
Quantity(SimpleQuantity) | |||||||
![]() ![]() ![]() ![]() ![]() |
Reference(Resource) | |||||||
![]() ![]() ![]() ![]() |
S | 0..* | See item (QuestionnaireResponse) | Child items of question | ||||
![]() ![]() ![]() |
S | 0..* | See item (QuestionnaireResponse) | Child items of group item | ||||
Documentation for this format | ||||||||
| Path | Status | Usage | ValueSet | Version | Source |
| QuestionnaireResponse.language | Base | required | All Languages | 📍5.0.0 | FHIR Std. |
| QuestionnaireResponse.status | Base | required | Questionnaire Response Status | 📍5.0.0 | FHIR Std. |
| QuestionnaireResponse.item.answer.value[x] | Base | example | Questionnaire Answer Codes | 📍5.0.0 | FHIR Std. |
| Id | Grade | Path(s) | Description | Expression |
| 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 in (%resource.descendants().reference | %resource.descendants().ofType(canonical) | %resource.descendants().ofType(uri) | %resource.descendants().ofType(url))) or descendants().where(reference = '#').exists() or descendants().where(ofType(canonical) = '#').exists() or descendants().where(ofType(canonical) = '#').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 | QuestionnaireResponse.meta, QuestionnaireResponse.implicitRules, QuestionnaireResponse.language, QuestionnaireResponse.text, QuestionnaireResponse.extension, QuestionnaireResponse.modifierExtension, QuestionnaireResponse.identifier, QuestionnaireResponse.basedOn, QuestionnaireResponse.partOf, QuestionnaireResponse.questionnaire, QuestionnaireResponse.status, QuestionnaireResponse.subject, QuestionnaireResponse.encounter, QuestionnaireResponse.authored, QuestionnaireResponse.author, QuestionnaireResponse.source, QuestionnaireResponse.item, QuestionnaireResponse.item.extension, QuestionnaireResponse.item.modifierExtension, QuestionnaireResponse.item.linkId, QuestionnaireResponse.item.definition, QuestionnaireResponse.item.text, QuestionnaireResponse.item.answer, QuestionnaireResponse.item.answer.extension, QuestionnaireResponse.item.answer.modifierExtension, QuestionnaireResponse.item.answer.value[x], QuestionnaireResponse.item.answer.item, QuestionnaireResponse.item.item | All FHIR elements must have a @value or children |
hasValue() or (children().count() > id.count())
|
| ext-1 | error | QuestionnaireResponse.extension, QuestionnaireResponse.modifierExtension, QuestionnaireResponse.item.extension, QuestionnaireResponse.item.modifierExtension, QuestionnaireResponse.item.answer.extension, QuestionnaireResponse.item.answer.modifierExtension | Must have either extensions or value[x], not both |
extension.exists() != value.exists()
|
| qrs-1 | error | QuestionnaireResponse.item | Item cannot contain both item and answer |
(answer.exists() and item.exists()).not()
|
| qrs-2 | error | QuestionnaireResponse.item | Repeated answers are combined in the answers array of a single item |
repeat(answer|item).select(item.where(answer.value.exists()).linkId.isDistinct()).allTrue()
|
Summary
Must-Support: 18 elements
Structures
This structure refers to these other structures:
Key Elements View
| Name | Flags | Card. | Type | Description & Constraints Filter: ![]() ![]() |
|---|---|---|---|---|
![]() |
0..* | QuestionnaireResponse(5.0.0) | A structured set of questions and their answers | |
![]() ![]() |
?!Σ | 0..1 | uri | A set of rules under which this content was created |
![]() ![]() |
0..* | Resource | Contained, inline Resources | |
![]() ![]() |
?!Σ | 0..* | Extension | Extensions that cannot be ignored Constraints: ext-1 |
![]() ![]() |
SΣ | 0..* | Identifier | Business identifier for this set of answers |
![]() ![]() |
SΣ | 0..* | Reference(CarePlan | ServiceRequest) | Request fulfilled by this QuestionnaireResponse |
![]() ![]() |
SΣ | 0..* | Reference(Observation | Procedure) | Part of referenced event |
![]() ![]() |
SΣ | 1..1 | canonical(Questionnaire) | Reference to the UZCoreQuestionnaire being answered |
![]() ![]() |
?!SΣ | 1..1 | code | in-progress | completed | amended | entered-in-error | stopped Binding: QuestionnaireResponseStatus (required): Lifecycle status of the questionnaire response. |
![]() ![]() |
SΣ | 0..1 | Reference(Resource) | The subject of the questions |
![]() ![]() |
SΣ | 0..1 | Reference(UZ Core Encounter(0.5.0)) | Encounter the questionnaire response is part of |
![]() ![]() |
SΣ | 0..1 | dateTime | Date the answers were gathered |
![]() ![]() |
SΣ | 0..1 | Reference(UZ Core Practitioner(0.5.0) | UZ Core PractitionerRole(0.5.0) | UZ Core Patient(0.5.0) | UZ Core RelatedPerson(0.5.0) | Device | UZ Core Organization(0.5.0)) | The individual or device that received and recorded the answers |
![]() ![]() |
SΣ | 0..1 | Reference(UZ Core Practitioner(0.5.0) | UZ Core PractitionerRole(0.5.0) | UZ Core Patient(0.5.0) | UZ Core RelatedPerson(0.5.0)) | The individual or device that answered the questions |
![]() ![]() |
SC | 0..* | BackboneElement | Groups and questions Constraints: qrs-1, qrs-2 |
![]() ![]() ![]() |
?!Σ | 0..* | Extension | Extensions that cannot be ignored even if unrecognized Constraints: ext-1 |
![]() ![]() ![]() |
SC | 1..1 | string | Pointer to specific item from Questionnaire |
![]() ![]() ![]() |
S | 0..1 | uri | ElementDefinition - details for the item |
![]() ![]() ![]() |
S | 0..1 | string | Name for group or question text |
![]() ![]() ![]() |
SC | 0..* | BackboneElement | The response(s) to the question |
![]() ![]() ![]() ![]() |
?!Σ | 0..* | Extension | Extensions that cannot be ignored even if unrecognized Constraints: ext-1 |
![]() ![]() ![]() ![]() |
SC | 1..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. | |
![]() ![]() ![]() ![]() ![]() |
boolean | |||
![]() ![]() ![]() ![]() ![]() |
decimal | |||
![]() ![]() ![]() ![]() ![]() |
integer | |||
![]() ![]() ![]() ![]() ![]() |
date | |||
![]() ![]() ![]() ![]() ![]() |
dateTime | |||
![]() ![]() ![]() ![]() ![]() |
time | |||
![]() ![]() ![]() ![]() ![]() |
string | |||
![]() ![]() ![]() ![]() ![]() |
uri | |||
![]() ![]() ![]() ![]() ![]() |
Attachment | |||
![]() ![]() ![]() ![]() ![]() |
Coding | |||
![]() ![]() ![]() ![]() ![]() |
Quantity(SimpleQuantity) | |||
![]() ![]() ![]() ![]() ![]() |
Reference(Resource) | |||
![]() ![]() ![]() ![]() |
S | 0..* | See item (QuestionnaireResponse) | Child items of question |
![]() ![]() ![]() |
S | 0..* | See item (QuestionnaireResponse) | Child items of group item |
Documentation for this format | ||||
| Path | Status | Usage | ValueSet | Version | Source |
| QuestionnaireResponse.status | Base | required | Questionnaire Response Status | 📍5.0.0 | FHIR Std. |
| QuestionnaireResponse.item.answer.value[x] | Base | example | Questionnaire Answer Codes | 📍5.0.0 | FHIR Std. |
| Id | Grade | Path(s) | Description | Expression |
| 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 in (%resource.descendants().reference | %resource.descendants().ofType(canonical) | %resource.descendants().ofType(uri) | %resource.descendants().ofType(url))) or descendants().where(reference = '#').exists() or descendants().where(ofType(canonical) = '#').exists() or descendants().where(ofType(canonical) = '#').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 | QuestionnaireResponse.implicitRules, QuestionnaireResponse.modifierExtension, QuestionnaireResponse.identifier, QuestionnaireResponse.basedOn, QuestionnaireResponse.partOf, QuestionnaireResponse.questionnaire, QuestionnaireResponse.status, QuestionnaireResponse.subject, QuestionnaireResponse.encounter, QuestionnaireResponse.authored, QuestionnaireResponse.author, QuestionnaireResponse.source, QuestionnaireResponse.item, QuestionnaireResponse.item.modifierExtension, QuestionnaireResponse.item.linkId, QuestionnaireResponse.item.definition, QuestionnaireResponse.item.text, QuestionnaireResponse.item.answer, QuestionnaireResponse.item.answer.modifierExtension, QuestionnaireResponse.item.answer.value[x], QuestionnaireResponse.item.answer.item, QuestionnaireResponse.item.item | All FHIR elements must have a @value or children |
hasValue() or (children().count() > id.count())
|
| ext-1 | error | QuestionnaireResponse.modifierExtension, QuestionnaireResponse.item.modifierExtension, QuestionnaireResponse.item.answer.modifierExtension | Must have either extensions or value[x], not both |
extension.exists() != value.exists()
|
| qrs-1 | error | QuestionnaireResponse.item | Item cannot contain both item and answer |
(answer.exists() and item.exists()).not()
|
| qrs-2 | error | QuestionnaireResponse.item | Repeated answers are combined in the answers array of a single item |
repeat(answer|item).select(item.where(answer.value.exists()).linkId.isDistinct()).allTrue()
|
Differential View
| Name | Flags | Card. | Type | Description & Constraints Filter: ![]() ![]() |
|---|---|---|---|---|
![]() |
0..* | QuestionnaireResponse(5.0.0) | A structured set of questions and their answers | |
![]() ![]() |
S | 0..* | Identifier | Business identifier for this set of answers |
![]() ![]() |
S | 0..* | Reference(CarePlan | ServiceRequest) | Request fulfilled by this QuestionnaireResponse |
![]() ![]() |
S | 0..* | Reference(Observation | Procedure) | Part of referenced event |
![]() ![]() |
S | 1..1 | canonical(Questionnaire) | Reference to the UZCoreQuestionnaire being answered |
![]() ![]() |
S | 1..1 | code | in-progress | completed | amended | entered-in-error | stopped |
![]() ![]() |
S | 0..1 | Reference(Resource) | The subject of the questions |
![]() ![]() |
S | 0..1 | Reference(UZ Core Encounter(0.5.0)) | Encounter the questionnaire response is part of |
![]() ![]() |
S | 0..1 | dateTime | Date the answers were gathered |
![]() ![]() |
S | 0..1 | Reference(UZ Core Practitioner(0.5.0) | UZ Core PractitionerRole(0.5.0) | UZ Core Patient(0.5.0) | UZ Core RelatedPerson(0.5.0) | Device | UZ Core Organization(0.5.0)) | The individual or device that received and recorded the answers |
![]() ![]() |
S | 0..1 | Reference(UZ Core Practitioner(0.5.0) | UZ Core PractitionerRole(0.5.0) | UZ Core Patient(0.5.0) | UZ Core RelatedPerson(0.5.0)) | The individual or device that answered the questions |
![]() ![]() |
S | 0..* | BackboneElement | Groups and questions |
![]() ![]() ![]() |
S | 1..1 | string | Pointer to specific item from Questionnaire |
![]() ![]() ![]() |
S | 0..1 | uri | ElementDefinition - details for the item |
![]() ![]() ![]() |
S | 0..1 | string | Name for group or question text |
![]() ![]() ![]() |
S | 0..* | BackboneElement | The response(s) to the question |
![]() ![]() ![]() ![]() |
S | 1..1 | boolean, decimal, integer, date, dateTime, time, string, uri, Attachment, Coding, SimpleQuantity(5.0.0), Reference(Resource) | Single-valued answer to the question |
![]() ![]() ![]() ![]() |
S | 0..* | Child items of question | |
![]() ![]() ![]() |
S | 0..* | Child items of group item | |
Documentation for this format | ||||
Snapshot ViewView
| Name | Flags | Card. | Type | Description & Constraints Filter: ![]() ![]() | ||||
|---|---|---|---|---|---|---|---|---|
![]() |
0..* | QuestionnaireResponse(5.0.0) | A structured set of questions and their answers | |||||
![]() ![]() |
Σ | 0..1 | id | Logical id of this artifact | ||||
![]() ![]() |
Σ | 0..1 | Meta | Metadata about the resource | ||||
![]() ![]() |
?!Σ | 0..1 | uri | A set of rules under which this content was created | ||||
![]() ![]() |
0..1 | code | Language of the resource content Binding: AllLanguages (required): IETF language tag for a human language
| |||||
![]() ![]() |
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 | |||||
![]() ![]() |
0..* | Resource | Contained, inline Resources | |||||
![]() ![]() |
0..* | Extension | Additional content defined by implementations Constraints: ext-1 | |||||
![]() ![]() |
?!Σ | 0..* | Extension | Extensions that cannot be ignored Constraints: ext-1 | ||||
![]() ![]() |
SΣ | 0..* | Identifier | Business identifier for this set of answers | ||||
![]() ![]() |
SΣ | 0..* | Reference(CarePlan | ServiceRequest) | Request fulfilled by this QuestionnaireResponse | ||||
![]() ![]() |
SΣ | 0..* | Reference(Observation | Procedure) | Part of referenced event | ||||
![]() ![]() |
SΣ | 1..1 | canonical(Questionnaire) | Reference to the UZCoreQuestionnaire being answered | ||||
![]() ![]() |
?!SΣ | 1..1 | code | in-progress | completed | amended | entered-in-error | stopped Binding: QuestionnaireResponseStatus (required): Lifecycle status of the questionnaire response. | ||||
![]() ![]() |
SΣ | 0..1 | Reference(Resource) | The subject of the questions | ||||
![]() ![]() |
SΣ | 0..1 | Reference(UZ Core Encounter(0.5.0)) | Encounter the questionnaire response is part of | ||||
![]() ![]() |
SΣ | 0..1 | dateTime | Date the answers were gathered | ||||
![]() ![]() |
SΣ | 0..1 | Reference(UZ Core Practitioner(0.5.0) | UZ Core PractitionerRole(0.5.0) | UZ Core Patient(0.5.0) | UZ Core RelatedPerson(0.5.0) | Device | UZ Core Organization(0.5.0)) | The individual or device that received and recorded the answers | ||||
![]() ![]() |
SΣ | 0..1 | Reference(UZ Core Practitioner(0.5.0) | UZ Core PractitionerRole(0.5.0) | UZ Core Patient(0.5.0) | UZ Core RelatedPerson(0.5.0)) | The individual or device that answered the questions | ||||
![]() ![]() |
SC | 0..* | BackboneElement | Groups and questions Constraints: qrs-1, qrs-2 | ||||
![]() ![]() ![]() |
0..1 | string | Unique id for inter-element referencing | |||||
![]() ![]() ![]() |
0..* | Extension | Additional content defined by implementations Constraints: ext-1 | |||||
![]() ![]() ![]() |
?!Σ | 0..* | Extension | Extensions that cannot be ignored even if unrecognized Constraints: ext-1 | ||||
![]() ![]() ![]() |
SC | 1..1 | string | Pointer to specific item from Questionnaire | ||||
![]() ![]() ![]() |
S | 0..1 | uri | ElementDefinition - details for the item | ||||
![]() ![]() ![]() |
S | 0..1 | string | Name for group or question text | ||||
![]() ![]() ![]() |
SC | 0..* | BackboneElement | The response(s) to the question | ||||
![]() ![]() ![]() ![]() |
0..1 | string | Unique id for inter-element referencing | |||||
![]() ![]() ![]() ![]() |
0..* | Extension | Additional content defined by implementations Constraints: ext-1 | |||||
![]() ![]() ![]() ![]() |
?!Σ | 0..* | Extension | Extensions that cannot be ignored even if unrecognized Constraints: ext-1 | ||||
![]() ![]() ![]() ![]() |
SC | 1..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. | |||||
![]() ![]() ![]() ![]() ![]() |
boolean | |||||||
![]() ![]() ![]() ![]() ![]() |
decimal | |||||||
![]() ![]() ![]() ![]() ![]() |
integer | |||||||
![]() ![]() ![]() ![]() ![]() |
date | |||||||
![]() ![]() ![]() ![]() ![]() |
dateTime | |||||||
![]() ![]() ![]() ![]() ![]() |
time | |||||||
![]() ![]() ![]() ![]() ![]() |
string | |||||||
![]() ![]() ![]() ![]() ![]() |
uri | |||||||
![]() ![]() ![]() ![]() ![]() |
Attachment | |||||||
![]() ![]() ![]() ![]() ![]() |
Coding | |||||||
![]() ![]() ![]() ![]() ![]() |
Quantity(SimpleQuantity) | |||||||
![]() ![]() ![]() ![]() ![]() |
Reference(Resource) | |||||||
![]() ![]() ![]() ![]() |
S | 0..* | See item (QuestionnaireResponse) | Child items of question | ||||
![]() ![]() ![]() |
S | 0..* | See item (QuestionnaireResponse) | Child items of group item | ||||
Documentation for this format | ||||||||
| Path | Status | Usage | ValueSet | Version | Source |
| QuestionnaireResponse.language | Base | required | All Languages | 📍5.0.0 | FHIR Std. |
| QuestionnaireResponse.status | Base | required | Questionnaire Response Status | 📍5.0.0 | FHIR Std. |
| QuestionnaireResponse.item.answer.value[x] | Base | example | Questionnaire Answer Codes | 📍5.0.0 | FHIR Std. |
| Id | Grade | Path(s) | Description | Expression |
| 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 in (%resource.descendants().reference | %resource.descendants().ofType(canonical) | %resource.descendants().ofType(uri) | %resource.descendants().ofType(url))) or descendants().where(reference = '#').exists() or descendants().where(ofType(canonical) = '#').exists() or descendants().where(ofType(canonical) = '#').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 | QuestionnaireResponse.meta, QuestionnaireResponse.implicitRules, QuestionnaireResponse.language, QuestionnaireResponse.text, QuestionnaireResponse.extension, QuestionnaireResponse.modifierExtension, QuestionnaireResponse.identifier, QuestionnaireResponse.basedOn, QuestionnaireResponse.partOf, QuestionnaireResponse.questionnaire, QuestionnaireResponse.status, QuestionnaireResponse.subject, QuestionnaireResponse.encounter, QuestionnaireResponse.authored, QuestionnaireResponse.author, QuestionnaireResponse.source, QuestionnaireResponse.item, QuestionnaireResponse.item.extension, QuestionnaireResponse.item.modifierExtension, QuestionnaireResponse.item.linkId, QuestionnaireResponse.item.definition, QuestionnaireResponse.item.text, QuestionnaireResponse.item.answer, QuestionnaireResponse.item.answer.extension, QuestionnaireResponse.item.answer.modifierExtension, QuestionnaireResponse.item.answer.value[x], QuestionnaireResponse.item.answer.item, QuestionnaireResponse.item.item | All FHIR elements must have a @value or children |
hasValue() or (children().count() > id.count())
|
| ext-1 | error | QuestionnaireResponse.extension, QuestionnaireResponse.modifierExtension, QuestionnaireResponse.item.extension, QuestionnaireResponse.item.modifierExtension, QuestionnaireResponse.item.answer.extension, QuestionnaireResponse.item.answer.modifierExtension | Must have either extensions or value[x], not both |
extension.exists() != value.exists()
|
| qrs-1 | error | QuestionnaireResponse.item | Item cannot contain both item and answer |
(answer.exists() and item.exists()).not()
|
| qrs-2 | error | QuestionnaireResponse.item | Repeated answers are combined in the answers array of a single item |
repeat(answer|item).select(item.where(answer.value.exists()).linkId.isDistinct()).allTrue()
|
Summary
Must-Support: 18 elements
Structures
This structure refers to these other structures:
Other representations of profile: CSV, Excel, Schematron
Common API interactions for this profile. Requests require a JWT access token - see Security and authentication. [base] is the FHIR server base URL; | separates system from value and must be URL-encoded as %7C.
Read by server id
GET [base]/QuestionnaireResponse/[id]
Find responses
GET [base]/QuestionnaireResponse?patient=Patient/[id]
GET [base]/QuestionnaireResponse?patient=Patient/[id]&status=completed
GET [base]/QuestionnaireResponse?questionnaire=https://dhp.uz/fhir/core/Questionnaire/health-declaration
GET [base]/QuestionnaireResponse?patient=Patient/[id]&authored=ge2025-01-01
GET [base]/QuestionnaireResponse?author=Practitioner/[id]
GET [base]/QuestionnaireResponse?encounter=Encounter/[id]
GET [base]/QuestionnaireResponse?based-on=ServiceRequest/[id]
Create
POST [base]/QuestionnaireResponse
{
"resourceType": "QuestionnaireResponse",
"meta": {
"profile": [ "https://dhp.uz/fhir/core/StructureDefinition/uz-core-questionnaire-response" ]
},
"questionnaire": "https://dhp.uz/fhir/core/Questionnaire/health-declaration",
"status": "completed",
"subject": { "reference": "Patient/[id]" },
"item": [ ... ],
...
}
Update (e.g. amend a submitted response, or complete a partially-saved one) - PUT the full resource back with the new status and answers:
PUT [base]/QuestionnaireResponse/[id]
If-Match: W/"3" # the ETag from your last read; 412 if it changed since
See the CapabilityStatement for all supported search parameters.