This page is part of the FHIR Specification (v1.4.0:
STU
3 Ballot 3). The current version which supercedes this version is
5.0.0
.
For
a
full
list
of
available
versions,
see
the
Directory
of
published
versions
. For a full list of available versions, see the
Directory of published versions
.
Page
versions:
. Page versions:
R5
R4B
R4
R3
R2
|
|
Compartments
|
A structured set of questions and their answers. The questions are ordered and grouped into coherent subsets, corresponding to the structure of the grouping of the underlying questions.
QuestionnaireResponse
provides
a
complete
or
partial
list
of
answers
to
a
set
of
questions
filled
when
responding
to
a
questionnaire.
The
questions
may
be
included
directly
or
by
reference
to
a
provides a complete or partial list of answers to a set of questions filled when responding to a questionnaire. The questions may be included directly or by reference to a
Questionnaire
resource
that
defines
the
questions
as
well
as
the
constraints
on
the
allowed
answers.
In
some
cases,
both
formal
rules
for
editing
the
questionnaire
(via
link
to
resource that defines the questions as well as the constraints on the allowed answers. In some cases, both formal rules for editing the questionnaire (via link to
Questionnaire
)
as
well
as
sufficient
local
information
to
allow
rendering
of
the
questionnaire
may
be
provided.
Each
time
a
questionnaire
is
completed
for
a
different
subject
or
at
a
different
time,
a
distinct
QuestionnaireResponse
is
generated,
though
it
may
be
possible
for
a
previously
entered
set
of
answers
to
be
edited
or
updated.
Questionnaires
cover
the
need
to
communicate
data
originating
from
forms
used
in
medical
history
examinations,
research
questionnaires
and
sometimes
full
clinical
specialty
records.
In
many
systems
this
data
is
collected
using
user-defined
screens
and
forms.
Questionnaires
record
specifics
about
data
capture
-
exactly
what
questions
were
asked,
in
what
order,
what
choices
for
answers
were,
etc.
Each
of
these
questions
is
part
of
the
Questionnaire,
and
as
such
the
Questionnaire
is
a
separately
identifiable
Resource,
whereas
the
individual
questions
are
not.
Examples
of
Questionnaires
include:
Past
medical
history
(PMH)
Family
diseases
Social
history
Research
questionnaires
and
Case
report
forms
(CRFs)
Quality
and
evaluation
forms
Patient
intake
form
(e.g.
clipboard)
Insurance
claim
form
) as well as sufficient local information to allow rendering of the questionnaire may be provided.
Each time a questionnaire is completed for a different subject or at a different time, a distinct QuestionnaireResponse is generated, though it may be possible for a previously entered set of answers to be edited or updated.
Questionnaires cover the need to communicate data originating from forms used in medical history examinations, research questionnaires and sometimes full clinical specialty records. In many systems this data is collected using user-defined screens and forms. Questionnaires record specifics about data capture - exactly what questions were asked, in what order, what choices for answers were, etc. Each of these questions is part of the Questionnaire, and as such the Questionnaire is a separately identifiable Resource, whereas the individual questions are not.
Examples of Questionnaires include:
QuestionnaireResponse
resources
can
be
validated
against
their
corresponding
resources can be validated against their corresponding
Questionnaire
to
verify
that
required
groups
and
questions
are
answered
and
that
answers
fit
constraints
in
terms
of
cardinality,
data
type,
etc.
to verify that required groups and questions are answered and that answers fit constraints in terms of cardinality, data type, etc.
The
QuestionnaireResponse
resource
captures
the
responses
to
a
questionnaire,
while
resource captures the responses to a questionnaire, while
Questionnaire
represents
the
definition
of
the
questionnaire
form,
including
what
questions
are
asked,
how
they're
organized
and
the
constraints
on
the
allowed
answers.
While
represents the definition of the questionnaire form, including what questions are asked, how they're organized and the constraints on the allowed answers.
While
Observation
,
with
its
nested
, with its nested
relatedObservation
structure, can create complex hierarchies of questions and answers, the focus is different. First,
Observation
structure,
can
create
complex
hierarchies
of
questions
and
answers,
the
focus
is
different.
First,
is
used
primarily
for
capturing
data
elements
that
are
"true"
observations
-
lab
measurements,
vital
signs,
social
assessments,
etc.
On
the
other
hand,
is used primarily for capturing data elements that are "true" observations - lab measurements, vital signs, social assessments, etc. On the other hand,
QuestionnaireResponse
can
be
used
to
capture
any
types
of
data,
including
data
that
would
typically
map
to
other
resources
(
can be used to capture any types of data, including data that would typically map to other resources (
Procedure
,
,
Patient
,
,
MedicationStatement
,
etc.)
In
addition,
the
focus
of
, etc.) In addition, the focus of
QuestionnaireResponse
includes
the
specific
phrasing
and
organization
of
the
questions.
All
data
must
be
explicitly
captured
as
a
question.
With
includes the specific phrasing and organization of the questions. All data must be explicitly captured as a question. With
Observation
,
the
focus
is
only
on
the
meaning
of
the
answer,
not
what
question
was
asked
(assuming
a
question
was
even
asked
at
all).
Additional
information
such
as
normal
ranges,
interpretation,
date,
etc.
may
also
be
captured.
This
resource
is
referenced
by
, the focus is only on the meaning of the answer, not what question was asked (assuming a question was even asked at all). Additional information such as normal ranges, interpretation, date, etc. may also be captured.
This resource is referenced by
ClinicalImpression
,
,
Contract
and
and
Observation
Structure
| Name | Flags | Card. | Type |
|
|---|---|---|---|---|
|
DomainResource |
|
||
|
Σ | 0..1 | Identifier |
|
|
Σ | 0..1 | Reference ( Questionnaire ) |
|
|
|
1..1 | code |
QuestionnaireResponseStatus |
|
Σ | 0..1 | Reference ( Any ) |
|
|
Σ | 0..1 |
Reference
(
Device
|
|
|
Σ | 0..1 | dateTime |
|
|
Σ | 0..1 |
Reference
(
Patient
|
|
|
Σ | 0..1 | Reference ( Encounter ) |
|
|
|
BackboneElement |
|
|
|
0..1 | string |
|
|
|
0..1 | string |
|
|
|
0..1 | Reference ( Any ) |
|
|
|
0..* | BackboneElement |
|
|
|
0..1 |
|
||
|
boolean | |||
|
decimal | |||
|
integer | |||
|
date | |||
|
dateTime | |||
|
instant | |||
|
time | |||
|
string | |||
|
uri | |||
|
Attachment | |||
|
Coding | |||
|
Quantity | |||
|
Reference ( Any ) | |||
| 0..* | see item | Nested groups and questions | |
|
0..* |
|
|
|
Documentation for this format
|
||||
UML
Diagram
UML Diagram
XML
Template
XML Template
<QuestionnaireResponse xmlns="http://hl7.org/fhir"><!-- from Resource: id, meta, implicitRules, and language --> <!-- from DomainResource: text, contained, extension, and modifierExtension --> <identifier><!-- 0..1 Identifier Unique id for this set of answers --></identifier> <questionnaire><!-- 0..1 Reference(Questionnaire) Form being answered --></questionnaire> <status value="[code]"/><!-- 1..1 in-progress | completed | amended --> <subject><!-- 0..1 Reference(Any) The subject of the questions --></subject> <author><!-- 0..1 Reference(Device|Practitioner|Patient|RelatedPerson) Person who received and recorded the answers --></author> <authored value="[dateTime]"/><!-- 0..1 Date this version was authored --> <source><!-- 0..1 Reference(Patient|Practitioner|RelatedPerson) The person who answered the questions --></source> <encounter><!-- 0..1 Reference(Encounter) Primary encounter during which the answers were collected --></encounter>
< < < < <</subject> <</group> < < < < <| </value[x]> <</group> </answer> </question> </group><item> <!-- 0..* Groups and questions --> <linkId value="[string]"/><!-- 0..1 Corresponding item within Questionnaire --> <text value="[string]"/><!-- 0..1 Name for group or question text --> <subject><!-- 0..1 Reference(Any) The subject this group's answers are about --></subject> <answer> <!-- 0..* The response(s) to the question --> <value[x]><!-- 0..1 boolean|decimal|integer|date|dateTime|instant|time|string| uri|Attachment|Coding|Quantity|Reference(Any) Single-valued answer to the question --></value[x]> <item><!-- 0..* Content as for QuestionnaireResponse.item Nested groups and questions --></item> </answer> <item><!-- 0..* Content as for QuestionnaireResponse.item Nested questionnaire response items --></item> </item> </QuestionnaireResponse>
JSON
Template
JSON Template
{
"resourceType" : "QuestionnaireResponse",
// from Resource: id, meta, implicitRules, and language
// from DomainResource: text, contained, extension, and modifierExtension
"identifier" : { Identifier }, // Unique id for this set of answers
"questionnaire" : { Reference(Questionnaire) }, // Form being answered
"status" : "<code>", // R! in-progress | completed | amended
"subject" : { Reference(Any) }, // The subject of the questions
"author" : { Reference(Device|Practitioner|Patient|RelatedPerson) }, // Person who received and recorded the answers
"authored" : "<dateTime>", // Date this version was authored
"source" : { Reference(Patient|Practitioner|RelatedPerson) }, // The person who answered the questions
"encounter" : { Reference(Encounter) }, // Primary encounter during which the answers were collected
"
"
"
"
"
"
"
"
"
"
">,
">,
">,
">",
">",
">",
">",
">",
">",
" },
" },
" },
" },
"
}]
}]
}
"item" : [{ // Groups and questions
"linkId" : "<string>", // Corresponding item within Questionnaire
"text" : "<string>", // Name for group or question text
"subject" : { Reference(Any) }, // The subject this group's answers are about
"answer" : [{ // The response(s) to the question
// value[x]: Single-valued answer to the question. One of these 13:
"valueBoolean" : <boolean>,
"valueDecimal" : <decimal>,
"valueInteger" : <integer>,
"valueDate" : "<date>",
"valueDateTime" : "<dateTime>",
"valueInstant" : "<instant>",
"valueTime" : "<time>",
"valueString" : "<string>",
"valueUri" : "<uri>",
"valueAttachment" : { Attachment },
"valueCoding" : { Coding },
"valueQuantity" : { Quantity },
"valueReference" : { Reference(Any) },
"item" : [{ Content as for QuestionnaireResponse.item }] // Nested groups and questions
}],
"item" : [{ Content as for QuestionnaireResponse.item }] // Nested questionnaire response items
}]
}
Structure
| Name | Flags | Card. | Type |
|
|---|---|---|---|---|
|
DomainResource |
|
||
|
Σ | 0..1 | Identifier |
|
|
Σ | 0..1 | Reference ( Questionnaire ) |
|
|
|
1..1 | code |
QuestionnaireResponseStatus |
|
Σ | 0..1 | Reference ( Any ) |
|
|
Σ | 0..1 |
Reference
(
Device
|
|
|
Σ | 0..1 | dateTime |
|
|
Σ | 0..1 |
Reference
(
Patient
|
|
|
Σ | 0..1 | Reference ( Encounter ) |
|
|
|
BackboneElement |
|
|
|
0..1 | string |
|
|
|
0..1 | string |
|
|
|
0..1 | Reference ( Any ) |
|
|
|
0..* | BackboneElement |
|
|
|
0..1 |
|
||
|
boolean | |||
|
decimal | |||
|
integer | |||
|
date | |||
|
dateTime | |||
|
instant | |||
|
time | |||
|
string | |||
|
uri | |||
|
Attachment | |||
|
Coding | |||
|
Quantity | |||
|
Reference ( Any ) | |||
| 0..* | see item | Nested groups and questions | |
|
0..* |
|
|
|
Documentation for this format
|
||||
XML
Template
XML Template
<QuestionnaireResponse xmlns="http://hl7.org/fhir"><!-- from Resource: id, meta, implicitRules, and language --> <!-- from DomainResource: text, contained, extension, and modifierExtension --> <identifier><!-- 0..1 Identifier Unique id for this set of answers --></identifier> <questionnaire><!-- 0..1 Reference(Questionnaire) Form being answered --></questionnaire> <status value="[code]"/><!-- 1..1 in-progress | completed | amended --> <subject><!-- 0..1 Reference(Any) The subject of the questions --></subject> <author><!-- 0..1 Reference(Device|Practitioner|Patient|RelatedPerson) Person who received and recorded the answers --></author> <authored value="[dateTime]"/><!-- 0..1 Date this version was authored --> <source><!-- 0..1 Reference(Patient|Practitioner|RelatedPerson) The person who answered the questions --></source> <encounter><!-- 0..1 Reference(Encounter) Primary encounter during which the answers were collected --></encounter>
< < < < <</subject> <</group> < < < < <| </value[x]> <</group> </answer> </question> </group><item> <!-- 0..* Groups and questions --> <linkId value="[string]"/><!-- 0..1 Corresponding item within Questionnaire --> <text value="[string]"/><!-- 0..1 Name for group or question text --> <subject><!-- 0..1 Reference(Any) The subject this group's answers are about --></subject> <answer> <!-- 0..* The response(s) to the question --> <value[x]><!-- 0..1 boolean|decimal|integer|date|dateTime|instant|time|string| uri|Attachment|Coding|Quantity|Reference(Any) Single-valued answer to the question --></value[x]> <item><!-- 0..* Content as for QuestionnaireResponse.item Nested groups and questions --></item> </answer> <item><!-- 0..* Content as for QuestionnaireResponse.item Nested questionnaire response items --></item> </item> </QuestionnaireResponse>
JSON
Template
JSON Template
{
"resourceType" : "QuestionnaireResponse",
// from Resource: id, meta, implicitRules, and language
// from DomainResource: text, contained, extension, and modifierExtension
"identifier" : { Identifier }, // Unique id for this set of answers
"questionnaire" : { Reference(Questionnaire) }, // Form being answered
"status" : "<code>", // R! in-progress | completed | amended
"subject" : { Reference(Any) }, // The subject of the questions
"author" : { Reference(Device|Practitioner|Patient|RelatedPerson) }, // Person who received and recorded the answers
"authored" : "<dateTime>", // Date this version was authored
"source" : { Reference(Patient|Practitioner|RelatedPerson) }, // The person who answered the questions
"encounter" : { Reference(Encounter) }, // Primary encounter during which the answers were collected
"
"
"
"
"
"
"
"
"
"
">,
">,
">,
">",
">",
">",
">",
">",
">",
" },
" },
" },
" },
"
}]
}]
}
"item" : [{ // Groups and questions
"linkId" : "<string>", // Corresponding item within Questionnaire
"text" : "<string>", // Name for group or question text
"subject" : { Reference(Any) }, // The subject this group's answers are about
"answer" : [{ // The response(s) to the question
// value[x]: Single-valued answer to the question. One of these 13:
"valueBoolean" : <boolean>,
"valueDecimal" : <decimal>,
"valueInteger" : <integer>,
"valueDate" : "<date>",
"valueDateTime" : "<dateTime>",
"valueInstant" : "<instant>",
"valueTime" : "<time>",
"valueString" : "<string>",
"valueUri" : "<uri>",
"valueAttachment" : { Attachment },
"valueCoding" : { Coding },
"valueQuantity" : { Quantity },
"valueReference" : { Reference(Any) },
"item" : [{ Content as for QuestionnaireResponse.item }] // Nested groups and questions
}],
"item" : [{ Content as for QuestionnaireResponse.item }] // Nested questionnaire response items
}]
}
Alternate
definitions:
Alternate definitions:
Schema
/
Schematron
,
Resource
Profile
(
, Resource Profile (
XML
,
,
JSON
),
),
Questionnaire
| Path | Definition | Type | Reference |
|---|---|---|---|
|
|
|
Required | QuestionnaireResponseStatus |
|
|
|
Unknown |
|
linkId
element.
Because
of
the
lack
of
explicit
support
for
Questionnaires
in
HL7
v3
element.
Refer to additional guidance provided in the
Questionnaire
resource
dealing
with
designs
of
questionnaires.
resource dealing with the design of questionnaires.
QuestionnaireResponse resources can have answers with values of type Attachment. These attachments will typically be selected by the user answering the questionnaire and this selection may be done in an uncontrolled environment. Systems should ensure that the attachment is of the desired type and should take precautions before rendering or executing any attached content.
For most resources, the type of information that can be conveyed in the resource is determined by the resource, and the key attributes that determine the sensitivity level of the information are also known; e.g., drug, observation type, clinical trial randomization status, etc. However, for QuestionnaireResponse, the sensitivity of an instance is dependent on what type of Questionnaire it is associated with. And the data elements that determine that sensitivity could be the answers to any of the questions. This makes automatically enforcing access control rules more challenging. Designers should take these challenges into account and may need to place stricter access controls around QuestionnaireResponse to ensure that access to information is not granted improperly.
Search parameters for this resource. The
common parameters
also apply. See
Searching
for
more
information
about
searching
in
REST,
messaging,
and
services.
for more information about searching in REST, messaging, and services.
| Name | Type | Description | Paths |
| author | reference |
|
QuestionnaireResponse.author
( Device |
| authored | date |
|
QuestionnaireResponse.authored |
| encounter | reference |
|
QuestionnaireResponse.encounter
( Encounter ) |
| patient | reference |
|
QuestionnaireResponse.subject
( Patient ) |
| questionnaire | reference |
|
QuestionnaireResponse.questionnaire
( Questionnaire ) |
| source | reference |
|
QuestionnaireResponse.source
( Patient |
| status | token |
|
QuestionnaireResponse.status |
| subject | reference |
|
QuestionnaireResponse.subject
(Any) |