Uzbekistan Digital Health Platform
0.5.0 - ci-build Uzbekistan flag

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

Resource Profile: UZ Core QuestionnaireResponse ( Experimental )

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.

Mandatory and Must Support data elements

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.

Each UZ Core QuestionnaireResponse Must Have

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.

Each UZ Core QuestionnaireResponse Must Support

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.

Building the JSON, step by step

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 completed 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

Formal Views of Profile Content

Description Differentials, Snapshots, and other representations.

NameFlagsCard.TypeDescription & Constraints    Filter: Filtersdoco
.. QuestionnaireResponse 0..* QuestionnaireResponse(5.0.0) A structured set of questions and their answers
... implicitRules ?!Σ 0..1 uri A set of rules under which this content was created
... contained 0..* Resource Contained, inline Resources
... modifierExtension ?!Σ 0..* Extension Extensions that cannot be ignored
Constraints: ext-1
... basedOn SΣ 0..* Reference(CarePlan | ServiceRequest) Request fulfilled by this QuestionnaireResponse
... partOf SΣ 0..* Reference(Observation | Procedure) Part of referenced event
... questionnaire SΣ 1..1 canonical(Questionnaire) Reference to the UZCoreQuestionnaire being answered
... status ?!SΣ 1..1 code in-progress | completed | amended | entered-in-error | stopped
Binding: QuestionnaireResponseStatus (required): Lifecycle status of the questionnaire response.
... subject SΣ 0..1 Reference(Resource) The subject of the questions
... encounter SΣ 0..1 Reference(UZ Core Encounter(0.5.0)) Encounter the questionnaire response is part of
... authored SΣ 0..1 dateTime Date the answers were gathered
... author 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
... source 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
... item SC 0..* BackboneElement Groups and questions
Constraints: qrs-1, qrs-2
.... modifierExtension ?!Σ 0..* Extension Extensions that cannot be ignored even if unrecognized
Constraints: ext-1
.... linkId SC 1..1 string Pointer to specific item from Questionnaire
.... definition S 0..1 uri ElementDefinition - details for the item
.... text S 0..1 string Name for group or question text
.... answer SC 0..* BackboneElement The response(s) to the question
..... modifierExtension ?!Σ 0..* Extension Extensions that cannot be ignored even if unrecognized
Constraints: ext-1
..... value[x] 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.
...... valueBoolean boolean
...... valueDecimal decimal
...... valueInteger integer
...... valueDate date
...... valueDateTime dateTime
...... valueTime time
...... valueString string
...... valueUri uri
...... valueAttachment Attachment
...... valueCoding Coding
...... valueQuantity Quantity(SimpleQuantity)
...... valueReference Reference(Resource)
..... item S 0..* See item (QuestionnaireResponse) Child items of question
.... item S 0..* See item (QuestionnaireResponse) Child items of group item

doco Documentation for this format

Terminology Bindings

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.

Constraints

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()

NameFlagsCard.TypeDescription & Constraints    Filter: Filtersdoco
.. QuestionnaireResponse 0..* QuestionnaireResponse(5.0.0) A structured set of questions and their answers
... identifier S 0..* Identifier Business identifier for this set of answers
... basedOn S 0..* Reference(CarePlan | ServiceRequest) Request fulfilled by this QuestionnaireResponse
... partOf S 0..* Reference(Observation | Procedure) Part of referenced event
... status S 1..1 code in-progress | completed | amended | entered-in-error | stopped
... subject S 0..1 Reference(Resource) The subject of the questions
... encounter S 0..1 Reference(UZ Core Encounter(0.5.0)) Encounter the questionnaire response is part of
... authored S 0..1 dateTime Date the answers were gathered
... author 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
... source 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
... item S 0..* BackboneElement Groups and questions
.... linkId S 1..1 string Pointer to specific item from Questionnaire
.... definition S 0..1 uri ElementDefinition - details for the item
.... text S 0..1 string Name for group or question text
.... answer S 0..* BackboneElement The response(s) to the question
..... value[x] 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
..... item S 0..* Child items of question
.... item S 0..* Child items of group item

doco Documentation for this format
NameFlagsCard.TypeDescription & Constraints    Filter: Filtersdoco
.. QuestionnaireResponse 0..* QuestionnaireResponse(5.0.0) A structured set of questions and their answers
... id Σ 0..1 id Logical id of this artifact
... meta Σ 0..1 Meta Metadata about the resource
... implicitRules ?!Σ 0..1 uri A set of rules under which this content was created
... 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
... contained 0..* Resource Contained, inline Resources
... extension 0..* Extension Additional content defined by implementations
Constraints: ext-1
... modifierExtension ?!Σ 0..* Extension Extensions that cannot be ignored
Constraints: ext-1
... identifier SΣ 0..* Identifier Business identifier for this set of answers
... basedOn SΣ 0..* Reference(CarePlan | ServiceRequest) Request fulfilled by this QuestionnaireResponse
... partOf SΣ 0..* Reference(Observation | Procedure) Part of referenced event
... questionnaire SΣ 1..1 canonical(Questionnaire) Reference to the UZCoreQuestionnaire being answered
... status ?!SΣ 1..1 code in-progress | completed | amended | entered-in-error | stopped
Binding: QuestionnaireResponseStatus (required): Lifecycle status of the questionnaire response.
... subject SΣ 0..1 Reference(Resource) The subject of the questions
... encounter SΣ 0..1 Reference(UZ Core Encounter(0.5.0)) Encounter the questionnaire response is part of
... authored SΣ 0..1 dateTime Date the answers were gathered
... author 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
... source 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
... item SC 0..* BackboneElement Groups and questions
Constraints: qrs-1, qrs-2
.... id 0..1 string Unique id for inter-element referencing
.... extension 0..* Extension Additional content defined by implementations
Constraints: ext-1
.... modifierExtension ?!Σ 0..* Extension Extensions that cannot be ignored even if unrecognized
Constraints: ext-1
.... linkId SC 1..1 string Pointer to specific item from Questionnaire
.... definition S 0..1 uri ElementDefinition - details for the item
.... text S 0..1 string Name for group or question text
.... answer SC 0..* BackboneElement The response(s) to the question
..... id 0..1 string Unique id for inter-element referencing
..... extension 0..* Extension Additional content defined by implementations
Constraints: ext-1
..... modifierExtension ?!Σ 0..* Extension Extensions that cannot be ignored even if unrecognized
Constraints: ext-1
..... value[x] 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.
...... valueBoolean boolean
...... valueDecimal decimal
...... valueInteger integer
...... valueDate date
...... valueDateTime dateTime
...... valueTime time
...... valueString string
...... valueUri uri
...... valueAttachment Attachment
...... valueCoding Coding
...... valueQuantity Quantity(SimpleQuantity)
...... valueReference Reference(Resource)
..... item S 0..* See item (QuestionnaireResponse) Child items of question
.... item S 0..* See item (QuestionnaireResponse) Child items of group item

doco Documentation for this format

Terminology Bindings

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.

Constraints

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()

Key Elements View

NameFlagsCard.TypeDescription & Constraints    Filter: Filtersdoco
.. QuestionnaireResponse 0..* QuestionnaireResponse(5.0.0) A structured set of questions and their answers
... implicitRules ?!Σ 0..1 uri A set of rules under which this content was created
... contained 0..* Resource Contained, inline Resources
... modifierExtension ?!Σ 0..* Extension Extensions that cannot be ignored
Constraints: ext-1
... basedOn SΣ 0..* Reference(CarePlan | ServiceRequest) Request fulfilled by this QuestionnaireResponse
... partOf SΣ 0..* Reference(Observation | Procedure) Part of referenced event
... questionnaire SΣ 1..1 canonical(Questionnaire) Reference to the UZCoreQuestionnaire being answered
... status ?!SΣ 1..1 code in-progress | completed | amended | entered-in-error | stopped
Binding: QuestionnaireResponseStatus (required): Lifecycle status of the questionnaire response.
... subject SΣ 0..1 Reference(Resource) The subject of the questions
... encounter SΣ 0..1 Reference(UZ Core Encounter(0.5.0)) Encounter the questionnaire response is part of
... authored SΣ 0..1 dateTime Date the answers were gathered
... author 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
... source 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
... item SC 0..* BackboneElement Groups and questions
Constraints: qrs-1, qrs-2
.... modifierExtension ?!Σ 0..* Extension Extensions that cannot be ignored even if unrecognized
Constraints: ext-1
.... linkId SC 1..1 string Pointer to specific item from Questionnaire
.... definition S 0..1 uri ElementDefinition - details for the item
.... text S 0..1 string Name for group or question text
.... answer SC 0..* BackboneElement The response(s) to the question
..... modifierExtension ?!Σ 0..* Extension Extensions that cannot be ignored even if unrecognized
Constraints: ext-1
..... value[x] 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.
...... valueBoolean boolean
...... valueDecimal decimal
...... valueInteger integer
...... valueDate date
...... valueDateTime dateTime
...... valueTime time
...... valueString string
...... valueUri uri
...... valueAttachment Attachment
...... valueCoding Coding
...... valueQuantity Quantity(SimpleQuantity)
...... valueReference Reference(Resource)
..... item S 0..* See item (QuestionnaireResponse) Child items of question
.... item S 0..* See item (QuestionnaireResponse) Child items of group item

doco Documentation for this format

Terminology Bindings

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.

Constraints

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

NameFlagsCard.TypeDescription & Constraints    Filter: Filtersdoco
.. QuestionnaireResponse 0..* QuestionnaireResponse(5.0.0) A structured set of questions and their answers
... identifier S 0..* Identifier Business identifier for this set of answers
... basedOn S 0..* Reference(CarePlan | ServiceRequest) Request fulfilled by this QuestionnaireResponse
... partOf S 0..* Reference(Observation | Procedure) Part of referenced event
... status S 1..1 code in-progress | completed | amended | entered-in-error | stopped
... subject S 0..1 Reference(Resource) The subject of the questions
... encounter S 0..1 Reference(UZ Core Encounter(0.5.0)) Encounter the questionnaire response is part of
... authored S 0..1 dateTime Date the answers were gathered
... author 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
... source 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
... item S 0..* BackboneElement Groups and questions
.... linkId S 1..1 string Pointer to specific item from Questionnaire
.... definition S 0..1 uri ElementDefinition - details for the item
.... text S 0..1 string Name for group or question text
.... answer S 0..* BackboneElement The response(s) to the question
..... value[x] 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
..... item S 0..* Child items of question
.... item S 0..* Child items of group item

doco Documentation for this format

Snapshot ViewView

NameFlagsCard.TypeDescription & Constraints    Filter: Filtersdoco
.. QuestionnaireResponse 0..* QuestionnaireResponse(5.0.0) A structured set of questions and their answers
... id Σ 0..1 id Logical id of this artifact
... meta Σ 0..1 Meta Metadata about the resource
... implicitRules ?!Σ 0..1 uri A set of rules under which this content was created
... 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
... contained 0..* Resource Contained, inline Resources
... extension 0..* Extension Additional content defined by implementations
Constraints: ext-1
... modifierExtension ?!Σ 0..* Extension Extensions that cannot be ignored
Constraints: ext-1
... identifier SΣ 0..* Identifier Business identifier for this set of answers
... basedOn SΣ 0..* Reference(CarePlan | ServiceRequest) Request fulfilled by this QuestionnaireResponse
... partOf SΣ 0..* Reference(Observation | Procedure) Part of referenced event
... questionnaire SΣ 1..1 canonical(Questionnaire) Reference to the UZCoreQuestionnaire being answered
... status ?!SΣ 1..1 code in-progress | completed | amended | entered-in-error | stopped
Binding: QuestionnaireResponseStatus (required): Lifecycle status of the questionnaire response.
... subject SΣ 0..1 Reference(Resource) The subject of the questions
... encounter SΣ 0..1 Reference(UZ Core Encounter(0.5.0)) Encounter the questionnaire response is part of
... authored SΣ 0..1 dateTime Date the answers were gathered
... author 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
... source 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
... item SC 0..* BackboneElement Groups and questions
Constraints: qrs-1, qrs-2
.... id 0..1 string Unique id for inter-element referencing
.... extension 0..* Extension Additional content defined by implementations
Constraints: ext-1
.... modifierExtension ?!Σ 0..* Extension Extensions that cannot be ignored even if unrecognized
Constraints: ext-1
.... linkId SC 1..1 string Pointer to specific item from Questionnaire
.... definition S 0..1 uri ElementDefinition - details for the item
.... text S 0..1 string Name for group or question text
.... answer SC 0..* BackboneElement The response(s) to the question
..... id 0..1 string Unique id for inter-element referencing
..... extension 0..* Extension Additional content defined by implementations
Constraints: ext-1
..... modifierExtension ?!Σ 0..* Extension Extensions that cannot be ignored even if unrecognized
Constraints: ext-1
..... value[x] 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.
...... valueBoolean boolean
...... valueDecimal decimal
...... valueInteger integer
...... valueDate date
...... valueDateTime dateTime
...... valueTime time
...... valueString string
...... valueUri uri
...... valueAttachment Attachment
...... valueCoding Coding
...... valueQuantity Quantity(SimpleQuantity)
...... valueReference Reference(Resource)
..... item S 0..* See item (QuestionnaireResponse) Child items of question
.... item S 0..* See item (QuestionnaireResponse) Child items of group item

doco Documentation for this format

Terminology Bindings

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.

Constraints

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()

 

Other representations of profile: CSV, Excel, Schematron

Quick Start

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.