This
page
is
part
of
the
FHIR
Specification
(v0.0.82:
(v1.0.2:
DSTU
1).
2).
The
current
version
which
supercedes
this
version
is
5.0.0
.
For
a
full
list
of
available
versions,
see
the
Directory
of
published
versions
.
Page
versions:
R5
R4B
R4
R3
R2
Patient
Care
Work
Group
| Maturity Level : 2 | Compartments : Not linked to any defined compartments |
A
structured
set
of
questions
and
their
intended
to
guide
the
collection
of
answers.
The
Questionnaire
may
contain
questions,
answers
or
both.
The
questions
are
ordered
and
grouped
into
coherent
subsets,
corresponding
to
the
structure
of
the
grouping
of
the
underlying
questions.
The
A
Questionnaire
is
an
organized
collection
of
questions
intended
to
solicit
information
from
patients,
providers
or
other
individuals
involved
in
the
healthcare
domain.
They
may
be
a
single
list
simple
flat
lists
of
questions,
questions
or
can
be
hierarchically
organized
in
groups
and
sub-groups,
each
containing
questions.
Questions
may
contain
The
Questionnaire
defines
the
questions
to
be
asked,
how
they
are
ordered
and
single
answer,
which
can
take
grouped
and
what
the
form
constraints
are
on
the
allowed
answers.
The
results
of
simple
text,
numbers,
dates
or
a
set
of
coded
choices.
Questionnaire
can
be
communicated
using
the
QuestionnaireResponse
resource.
Questionnaires
cover
the
need
to
communicate
data
originating
from
forms
used
in
medical
history
examinations,
research
questionnaires
and
sometimes
full
clinical
speciality
specialty
records.
In
many
systems
this
data
is
collected
using
user-defined
screens
and
forms.
Questionnaires
record
define
specifics
about
data
capture
-
exactly
what
questions
were
asked,
in
what
order,
what
choices
for
answers
were,
etc.
Each
of
these
questions
are
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:
Support
for
validation
This
resource
is
outside
the
limited
in
scope
to
support
the
characteristics
of
this
Resource,
although
basic
structural
features
can
be
simple
questionnaires.
However,
common
extensions
have
been
defined
using
the
to
allow
more
sophisticated
behavior.
This
includes:
Additional profiles such as the Structured Data Capture Questionnaire profile may provide additional capabilities for defining more sophisticated questionnaires and forms.
Questionnaires
differ
from
Lists
because
Lists
regroup
or
summarize
group
existing
information,
resources,
while
Questionnaires
contain
original,
clinician
collected
data.
Questionnaires
are
similar
to
Documents.
However,
the
purpose
of
group
arbitrary
questions.
In
theory,
a
Questionnaire
is
could
be
expressed
as
a
List
or
Composition
containing
DataElement
resources.
However,
the
capture
former
would
disregard
the
"wholeness"
associated
with
a
questionnaire
where
questions
must
generally
be
maintained
as
a
single
structure.
The
latter
would
focus
on
rendering
of
raw
the
data
as
opposed
to
elements
rather
than
organizing
the
composition
and
assertion
capture
of
information
intended
for
long
term
persistence
and
use
in
a
Document.
information.
Groups
and
questions
that
make
up
a
Questionnaire
can
be
explicitly
named
coded
to
refer
to
externally
defined
numbering
or
identification
of
questions
and
sections
on
formally
defined
questionnaires.
This
allows
extraction
of
the
data
on
a
form
and
post-processing
of
the
data
contained
in
a
Questionnaire.
Such
naming
coding
is
not
required
however
and
Questionnaires
may
be
quite
loosely
defined.
The
section
Questionnaire
versus
Resources
below
discusses
the
issues
of
collecting
data
in
such
loosely
defined
Questionnaires
versus
collecting
data
as
well-defined
separate
Resources.
This resource is referenced by questionnaireresponse
Structure
| Name | Flags | Card. | Type |
Description
&
Constraints
![]() |
|---|---|---|---|---|
![]() | I | DomainResource |
A
structured
set
of
questions
If root group must be "required" The link ids for groups and questions must be unique within the questionnaire | |
![]() ![]() | Σ | 0..* | Identifier | External identifiers for this questionnaire |
![]() ![]() | Σ | 0..1 | string | Logical identifier for this version of Questionnaire |
![]() ![]() | ?! Σ | 1..1 | code |
draft
|
published
|
retired
QuestionnaireStatus ( Required ) |
![]() ![]() | Σ | 0..1 | dateTime | Date this version was authored |
![]() ![]() | Σ | 0..1 | string | Organization/individual who designed the questionnaire |
![]() ![]() | Σ | 0..* | ContactPoint | Contact information of the publisher |
![]() ![]() | Σ | 0..* | code |
Resource
that
can
be
subject
of
QuestionnaireResponse
ResourceType ( Required ) |
![]() ![]() | Σ I | 1..1 | BackboneElement |
Grouped
questions
Groups may either contain questions or groups but not both |
![]() ![]() ![]() | 0..1 | string | To link questionnaire with questionnaire response | |
![]() ![]() ![]() | Σ | 0..1 | string | Name to be displayed for group |
![]() ![]() ![]() | Σ | 0..* | Coding |
Concept
that
represents
this
section
in
a
questionnaire
Questionnaire Question Codes ( Example ) |
![]() ![]() ![]() | 0..1 | string | Additional text for the group | |
![]() ![]() ![]() | 0..1 | boolean | Whether the group must be included in data results | |
![]() ![]() ![]() | 0..1 | boolean | Whether the group may repeat | |
![]() ![]() ![]() | I | 0..* | see group | Nested questionnaire group |
![]() ![]() ![]() | I | 0..* | BackboneElement |
Questions
in
this
group
A question must use either option or options, not both |
![]() ![]() ![]() ![]() | 0..1 | string | To link questionnaire with questionnaire response | |
![]() ![]() ![]() ![]() | 0..* | Coding |
Concept
that
represents
this
question
on
a
questionnaire
Questionnaire Question Codes ( Example ) | |
![]() ![]() ![]() ![]() | 0..1 | string | Text of the question as it is shown to the user | |
![]() ![]() ![]() ![]() | 0..1 | code |
boolean
|
decimal
|
integer
|
date
|
dateTime
+
AnswerFormat ( Required ) | |
![]() ![]() ![]() ![]() | 0..1 | boolean | Whether the question must be answered in data results | |
![]() ![]() ![]() ![]() | 0..1 | boolean | Whether the question can have multiple answers | |
![]() ![]() ![]() ![]() | I | 0..1 | Reference ( ValueSet ) | Valueset containing permitted answers |
![]() ![]() ![]() ![]() | I | 0..* | Coding |
Permitted
answer
Questionnaire Answer Codes ( Example ) |
![]() ![]() ![]() ![]() | 0..* | see group | Nested questionnaire group | |
Documentation
for
this
format
| ||||
UML Diagram
XML Template
<Questionnaire xmlns="http://hl7.org/fhir"><!-- from Resource: id, meta, implicitRules, and language --> <!-- from DomainResource: text, contained, extension, and modifierExtension --> <identifier><!-- 0..* Identifier External identifiers for this questionnaire --></identifier> <version value="[string]"/><!-- 0..1 Logical identifier for this version of Questionnaire --> <status value="[code]"/><!-- 1..1 draft | published | retired --> <date value="[dateTime]"/><!-- 0..1 Date this version was authored --> <publisher value="[string]"/><!-- 0..1 Organization/individual who designed the questionnaire --> <telecom><!-- 0..* ContactPoint Contact information of the publisher --></telecom> <subjectType value="[code]"/><!-- 0..* Resource that can be subject of QuestionnaireResponse --> <group> <!--
1..1 Grouped questions --> <linkId value="[string]"/><!-- 0..1 To link questionnaire with questionnaire response --> <title value="[string]"/><!-- 0..1 Name to be displayed for group --> <concept><!-- 0..* Coding Concept that represents this section in a questionnaire --></concept> <text value="[string]"/><!-- 0..1 Additional text for the group --> <required value="[boolean]"/><!-- 0..1 Whether the group must be included in data results --> <repeats value="[boolean]"/><!-- 0..1 Whether the group may repeat --> <group><!--
0..* Content as for Questionnaire.group Nested questionnaire group --></group> <question> <!--
0..* Questions in this group --> <linkId value="[string]"/><!-- 0..1 To link questionnaire with questionnaire response --> <concept><!-- 0..* Coding Concept that represents this question on a questionnaire --></concept> <text value="[string]"/><!-- 0..1 Text of the question as it is shown to the user --> <type value="[code]"/><!-- 0..1 boolean | decimal | integer | date | dateTime + --> <required value="[boolean]"/><!-- 0..1 Whether the question must be answered in data results --> <repeats value="[boolean]"/><!-- 0..1 Whether the question can have multiple answers --> <options><!--
0..1 Reference(ValueSet) Valueset containing permitted answers --></options> <option><!--
0..* Coding Permitted answer --></option> <group><!-- 0..* Content as for Questionnaire.group Nested questionnaire group --></group> </question> </group> </Questionnaire>
JSON Template
{
"resourceType" : "Questionnaire",
// from Resource: id, meta, implicitRules, and language
// from DomainResource: text, contained, extension, and modifierExtension
"identifier" : [{ Identifier }], // External identifiers for this questionnaire
"version" : "<string>", // Logical identifier for this version of Questionnaire
"status" : "<code>", // R! draft | published | retired
"date" : "<dateTime>", // Date this version was authored
"publisher" : "<string>", // Organization/individual who designed the questionnaire
"telecom" : [{ ContactPoint }], // Contact information of the publisher
"subjectType" : ["<code>"], // Resource that can be subject of QuestionnaireResponse
"group" : { // C? R! Grouped questions
"linkId" : "<string>", // To link questionnaire with questionnaire response
"title" : "<string>", // Name to be displayed for group
"concept" : [{ Coding }], // Concept that represents this section in a questionnaire
"text" : "<string>", // Additional text for the group
"required" : <boolean>, // Whether the group must be included in data results
"repeats" : <boolean>, // Whether the group may repeat
"group" : [{ Content as for Questionnaire.group }], // C? Nested questionnaire group
"question" : [{ // C? Questions in this group
"linkId" : "<string>", // To link questionnaire with questionnaire response
"concept" : [{ Coding }], // Concept that represents this question on a questionnaire
"text" : "<string>", // Text of the question as it is shown to the user
"type" : "<code>", // boolean | decimal | integer | date | dateTime +
"required" : <boolean>, // Whether the question must be answered in data results
"repeats" : <boolean>, // Whether the question can have multiple answers
"options" : { Reference(ValueSet) }, // C? Valueset containing permitted answers
"option" : [{ Coding }], // C? Permitted answer
"group" : [{ Content as for Questionnaire.group }] // Nested questionnaire group
}]
}
}
Structure
| Name | Flags | Card. | Type |
Description
&
Constraints
![]() |
|---|---|---|---|---|
![]() | I | DomainResource |
A
structured
set
of
questions
If root group must be "required" The link ids for groups and questions must be unique within the | |
![]() ![]() | Σ | 0..* | Identifier |
External
identifiers
for
this
|
![]() ![]() | Σ | 0..1 | string | Logical identifier for this version of Questionnaire |
![]() ![]() | ?! Σ | 1..1 | code |
draft
|
published
|
retired
QuestionnaireStatus ( Required ) |
![]() ![]() | Σ | 0..1 | dateTime | Date this version was authored |
![]() ![]() | Σ | 0..1 | string |
Organization/individual
who
designed
the
|
![]() ![]() |
Σ | 0..* | ContactPoint | Contact information of the publisher |
![]() ![]() | Σ | 0..* | code |
Resource
that
can
be
subject
of
QuestionnaireResponse
ResourceType ( |
![]() ![]() |
Σ I | 1..1 | BackboneElement |
Grouped
questions
Groups may either contain questions or groups but not both |
![]() ![]() ![]() | 0..1 |
string
|
To link questionnaire with questionnaire response | |
![]() ![]() ![]() | Σ | 0..1 | string | Name to be displayed for group |
![]() ![]() ![]() | Σ | 0..* | Coding |
Concept
that
represents
this
section
in
a
Questionnaire Question Codes ( Example ) |
![]() ![]() ![]() | 0..1 | string | Additional text for the group | |
![]() ![]() ![]() | 0..1 | boolean | Whether the group must be included in data results | |
![]() ![]() ![]() | 0..1 | boolean | Whether the group may repeat | |
![]() ![]() ![]() | I | 0..* | see group | Nested questionnaire group |
![]() ![]() ![]() | I | 0..* | BackboneElement |
Questions
in
this
group
A question must use either option or options, not both |
![]() ![]() ![]() ![]() | 0..1 | string | To link questionnaire with questionnaire response | |
![]() ![]() ![]() ![]() | 0..* | Coding |
Concept
that
represents
this
question
on
a
questionnaire
Questionnaire Question Codes ( Example ) | |
![]() ![]() ![]() ![]() | 0..1 | string |
Text
of
the
question
as
it
is
| |
![]() ![]() ![]() ![]() |
0..1
|
code |
boolean
|
decimal
|
integer
|
date
|
dateTime
+
AnswerFormat ( Required ) | |
![]() ![]() ![]() ![]() | 0..1 | boolean | Whether the question must be answered in data results | |
![]() ![]() ![]() ![]() | 0..1 | boolean | Whether the question can have multiple answers | |
![]() ![]() ![]() ![]() | I | 0..1 | Reference ( ValueSet ) | Valueset containing permitted answers |
![]() ![]() ![]() ![]() | I | 0..* | Coding |
Permitted
answer
Questionnaire Answer Codes ( Example ) |
![]() ![]() ![]() ![]() | 0..* | see group | Nested questionnaire group | |
Documentation
for
|
||||
XML Template
<Questionnaire xmlns="http://hl7.org/fhir"><!-- from Resource: id, meta, implicitRules, and language --> <!-- from DomainResource: text, contained, extension, and modifierExtension --> <identifier><!-- 0..* Identifier External identifiers for this questionnaire --></identifier> <version value="[string]"/><!-- 0..1 Logical identifier for this version of Questionnaire --> <status value="[code]"/><!-- 1..1 draft | published | retired --> <date value="[dateTime]"/><!-- 0..1 Date this version was authored --> <publisher value="[string]"/><!-- 0..1 Organization/individual who designed the questionnaire --> <telecom><!-- 0..* ContactPoint Contact information of the publisher --></telecom> <subjectType value="[code]"/><!-- 0..* Resource that can be subject of QuestionnaireResponse --> <group> <!--
1..1 Grouped questions --> <linkId value="[string]"/><!-- 0..1 To link questionnaire with questionnaire response --> <title value="[string]"/><!-- 0..1 Name to be displayed for group --> <concept><!-- 0..* Coding Concept that represents this section in a questionnaire --></concept> <text value="[string]"/><!-- 0..1 Additional text for the group --> <required value="[boolean]"/><!-- 0..1 Whether the group must be included in data results --> <repeats value="[boolean]"/><!-- 0..1 Whether the group may repeat --> <group><!--
0..* Content as for Questionnaire.group Nested questionnaire group --></group> <question> <!--
0..* Questions in this group --> <linkId value="[string]"/><!-- 0..1 To link questionnaire with questionnaire response --> <concept><!-- 0..* Coding Concept that represents this question on a questionnaire --></concept> <text value="[string]"/><!-- 0..1 Text of the question as it is shown to the user --> <type value="[code]"/><!-- 0..1 boolean | decimal | integer | date | dateTime + --> <required value="[boolean]"/><!-- 0..1 Whether the question must be answered in data results --> <repeats value="[boolean]"/><!-- 0..1 Whether the question can have multiple answers --> <options><!--
0..1 Reference(ValueSet) Valueset containing permitted answers --></options> <option><!--
0..* Coding Permitted answer --></option> <group><!-- 0..* Content as for Questionnaire.group Nested questionnaire group --></group> </question> </group> </Questionnaire>
JSON Template
{
"resourceType" : "Questionnaire",
// from Resource: id, meta, implicitRules, and language
// from DomainResource: text, contained, extension, and modifierExtension
"identifier" : [{ Identifier }], // External identifiers for this questionnaire
"version" : "<string>", // Logical identifier for this version of Questionnaire
"status" : "<code>", // R! draft | published | retired
"date" : "<dateTime>", // Date this version was authored
"publisher" : "<string>", // Organization/individual who designed the questionnaire
"telecom" : [{ ContactPoint }], // Contact information of the publisher
"subjectType" : ["<code>"], // Resource that can be subject of QuestionnaireResponse
"group" : { // C? R! Grouped questions
"linkId" : "<string>", // To link questionnaire with questionnaire response
"title" : "<string>", // Name to be displayed for group
"concept" : [{ Coding }], // Concept that represents this section in a questionnaire
"text" : "<string>", // Additional text for the group
"required" : <boolean>, // Whether the group must be included in data results
"repeats" : <boolean>, // Whether the group may repeat
"group" : [{ Content as for Questionnaire.group }], // C? Nested questionnaire group
"question" : [{ // C? Questions in this group
"linkId" : "<string>", // To link questionnaire with questionnaire response
"concept" : [{ Coding }], // Concept that represents this question on a questionnaire
"text" : "<string>", // Text of the question as it is shown to the user
"type" : "<code>", // boolean | decimal | integer | date | dateTime +
"required" : <boolean>, // Whether the question must be answered in data results
"repeats" : <boolean>, // Whether the question can have multiple answers
"options" : { Reference(ValueSet) }, // C? Valueset containing permitted answers
"option" : [{ Coding }], // C? Permitted answer
"group" : [{ Content as for Questionnaire.group }] // Nested questionnaire group
}]
}
}
Alternate definitions: Schema / Schematron , Resource Profile ( XML , JSON ), Questionnaire
| Path | Definition | Type | Reference |
|---|---|---|---|
| Questionnaire.status |
Lifecycle
status
of
the
|
|
|
| Questionnaire.subjectType | One of the resource types defined as part of FHIR. | Required | http://hl7.org/fhir/valueset/resource-types ResourceType |
| Questionnaire.group.concept |
|
Example |
|
| Questionnaire.group.question.concept |
|
Example |
|
| Questionnaire.group.question.type | The expected format of an answer. | Required | AnswerFormat |
| Questionnaire.group.question.option |
|
Example |
|
,
CDA
Documents
frequently
used
named
sections
with
Observations
to
model
Questionnaires.
Such
use
cases
should
now
utilize
the
Questionnaire
Resource
instead.
There
is
considerable
overlap
between
the
information
covered
by
Questionnaires
and
other
Resources
(especially
FamilyHistory,
MedicationStatement,
Observation,
Procedure,
FamilyMemberHistory
,
MedicationStatement
,
Observation
,
Procedure
,
etc.):
Questionnaire's
flexible
structure
can
easily
be
misused
to
capture
any
data,
even
data
that
should
be
captured
as
separate
Resources.
The
choice
between
using
Questionnaires
or
separate
Resources
may
be
dictated
by
the
procedure
of
collection
and
recording.
E.g.
recording;
e.g.
if
the
data
is
captured
as
a
physician-agreed
(electronic)
form,
it
might
be
impossible
or
undesirable
to
distill
separate
resources
from
it,
it
and
capturing
the
data
in
a
Questionnaire
SHALL
would
be
stored
and
communicated
as
a
whole.
most
appropriate.
However,
data
captured
only
in
Questionnaires
can
be
difficult
to
query
after-the-fact:
queries
after-the-fact.
Queries
against
other
Resources
will
not
return
data
captured
only
in
Questionnaires,
Questionnaires
,
and
querying
against
Questionnaires
directly
may
not
find
all
desired
data,
depending
on
how
the
questions
may
have
been
phrased
or
encoded
over
time
or
by
different
clinicians.
Moreover,
interoperability
of
such
Questionnaires
is
limited
as
interpretation
of
its
contents
is
only
known
to
the
circle
of
parties
that
were
involved
in
its
definition:
encoding
data
from
such
Questionnaires
using
other,
more
specific,
Resources
increases
the
ability
and
consistency
with
which
it
can
be
understood
and
queried.
To
facilitate
better
standardization
of
the
information
on
a
form,
Questionnaire
has
the
capacity
(Using
a
Question's
It
is
entirely
possible
for
data
element)
to
allow
systems
to
communicate
(part
of)
the
answers
exist
in
the
form
both
QuestionnaireResponse
and
in
other
resources.
For
example,
data
may
be
captured
in
QuestionnaireResponse
as
part
of
structured
FHIR
data.
This
provides
an
upgrade
path
to
intake
questionnaire.
That
data
may
then
be
propagated
into
the
questionnaire
designer
Patient
resource
(demographics),
FamilyMemberHistory
,
AllergyIntolerance
,
MedicationStatement
and
communicating
systems,
where
capable
systems
may
use
FHIR
data
to
answer
(sets
of)
questions,
whereas
other
systems
can
simply
continue
Observation
resources
to
supply
the
direct
answers
as
input
by
allow
the
user.
4.7.5.2
Providing
Questions
and/or
Answers
The
Questionnaire
has
been
specifically
designed
data
to
be
able
to
contain
both
a
form's
questions
queried
and
answers.
analyzed.
The
Group
and
Question
construct
has
elements
to
carry
textual
data
of
the
form
like
headings,
explanatory
text,
actual
question
text
and
the
text
of
(multiple)choice
options.
As
such,
the
Questionnaire
original
QuestionnaireResponse
instance
can
be
used
to:
only
contain
answers
(in
which
case
the
actual
layout
and
questions
of
the
form
is
defined
in
some
external
way,
and
the
name
elements
are
used
to
relate
the
answers
to
the
questions)
contain
retained
for
traceability
purposes.
For
example,
if
a
combination
of
questions
and
answers
(e.g.
when
it
is
deemed
important
to
keep
the
actual
questionnaire
question
text
with
the
answer)
or
only
contain
the
Questions,
asks
"what
is
your
weight",
that
can
then
result
in
which
case
the
Questionnaire
represents
an
empty,
predefined
form
This
third
case
can
be
useful
to
make
Questionnaire
serve
as
a
kind
creation
of
form
"template",
where
FHIR
clients
receive
the
empty
form,
display
it
to
the
user,
get
answers
from
the
users
and
then
return
an
Observation
with
the
combined
questions
appropriate
Observation.code
and
answers
to
the
server.
The
questionnaire
core
extensions
provide
additional
means
for
control
over
repeating
sections
and
expected
specified
answer
format.
as
the
Observation.valueQuantity
.
A Questionnaire is built out of three components:
title
for
the
questionnaire,
the
concept
that
represents
the
meaning
of
the
overall
questionnaire
(e.g.
a
code
for
"family
history"),
the
text
to
display
at
the
top
of
the
questionnaire,
etc.
(In
most
cases,
required
would
be
'true'
and
repeats
would
be
false
for
the
root
group

There
are
three
different
"identifying"
elements
within
Questionnaire:
identifier
,
id
and
linkId
.
Each
serves
very
distinct
purposes:

Questionnaires can be crafted using any questions the author can conceive phrased in whatever manner is appropriate or convenient. However, standardization of questions and the constraints enforced on the accompanying answers increases the ability to compare data gathered across questionnaires. There are two mechanisms defined in the specification for linking a Question (or Group) to a standardized definition:
concept
element
on
both
Group
and
Question
allows
an
individual
question,
a
group
of
questions
or
even
the
questionnaire
as
a
whole
to
be
associated
with
a
pre-defined
terminology
of
questions
and
question
groups
such
as
LOINC
Linking to formal definitions of a question allows data captured by distinct questionnaires to be compared. If systems have the necessary mappings to the formal definition, linkages to formal definitions may also be used to automatically pre-populate or extract data from a corresponding QuestionnaireResponse resource.
NOTE:
Even
if
standard
question
definitions
are
referenced
using
concept
or
the
deReference
extension,
information
such
as
the
question
text,
data
type
and
value
set
SHOULD
still
be
declared
for
the
question.
Systems
processing
the
questionnaire
may
not
have
access
to
or
support
the
ability
to
look
up
the
question
definitions
from
external
sources.
If
the
information
is
not
included
in-line
within
the
questionnaire,
other
systems
may
not
be
able
to
to
render
or
use
the
Questionnaire.
If
an
external
reference
(
concept
or
deReference
extension)
is
included
along
with
question
information
such
as
question
text,
data
type
or
value
set,
it
is
expected
that
the
content
for
the
question
and
the
referenced
definition
would
be
in
alignment.
However,
FHIR
does
not
dictate
what
degree
of
alignment
is
required;
e.g.
Does
the
question
text
need
to
match
exactly?
Is
it
legitimate
for
a
question
to
constrain
the
allowed
value
set
of
possible
answers?
These
rules
will
need
to
be
established
within
implementation
environments.

The codes for the data type for each question are slightly different than the data types allowed in the QuestionnaireResponse resource. Where the names are the same (ignoring case), the "answer" must use the specified type. Where the names are different, the mappings are as follows:
| Questionnaire AnswerFormat code | QuestionnaireResponse data type |
|---|---|
| text | string |
| url | uri |
| choice | Coding |
| open-choice | Coding |

Many
questionnaires
place
constraints
on
the
allowed
list
of
values
for
a
given
question.
FHIR
supports
this
notion
through
the
...question.choices
element.
However,
rather
than
listing
the
choices
directly,
the
choices
element
points
to
a
ValueSet
resource.
This
approach
adds
complexity
for
questionnaires
having
a
simple
list
of
strings
as
choices
for
a
question,
but
provides
several
benefits:
In many cases, the set of code choices will be specific to a given questionnaire and should be maintained as part of the questionnaire. In this case, the referenced ValueSet can be included as a contained resource. All contained ValueSets are listed together and then are referenced by the individual questions as necessary.

Many questions have a set of possible codes for their answer. These value sets may be useful to help, and when referenced by full URL, do not need to be provided as part of the questionnaire:

In some questionnaires, it may be possible to respond to a question with multiple types of answers. For example, capturing a coded answer plus free text, capturing a coded value plus a numeric priority, etc. In FHIR, this is handled through nested questions. Each question has a single data type. However, each question can have nested child questions. These nested child questions can have text (e.g. "Please specify") or can have no text at all if the appropriate guidance is provided by the parent question or group.

While not defined (yet) at the international level, extensions may be defined to perform mathematical functions on questionnaire responses. For example, tabulating scores. One extension that is defined that may be useful in this process is the Ordinal extension. This allows a numeric value to be associated with a coded data element. There are two extensions defined - one for defining the numeric weighting of a code defined in a value set - valueset-ordinalValue and the other is a code that can appear within a Coding itself - iso21090-CO-value .

The core elements defined in the questionnaire resource are sufficient for simple questionnaires. For more sophisticated capabilities, a number of "common" extensions are defined in the Questionnaire Core extensions and the Element extensions profiles. For example, strict control over allowed number of conditions, conditional display of questionnaire content, etc. The conditional display extension [enable-when] can be used to enable groups nested beneath a question based on the selection of a specific answer, giving the behavior of "questions under answers" where this sort of more sophisticated behavior is needed.
Search
parameters
for
this
resource.
The
standard
common
parameters
also
apply.
See
Searching
for
more
information
about
searching
in
REST,
messaging,
and
services.
| Name | Type | Description | Paths |
|
|
token |
|
|
|
|
date |
When
the
questionnaire
was
|
|
|
|
|
|
|
|
|
|
|
|
|
|
token |
|
|
|
|
|
|
|
|
|
|
The
|
|