This
page
is
part
of
the
FHIR
Specification
(v4.0.1:
R4
(v5.0.0-ballot:
R5
Ballot
-
Mixed
Normative
and
STU
see
ballot
notes
)
in
it's
permanent
home
(it
will
always
be
available
at
this
URL).
).
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
|
|
Maturity
Level
:
|
|
|
UML
Diagram
(
Legend
Raw
XML
)
Questionnaire
(
DomainResource
)
An
absolute
URI
that
is
used
to
identify
this
questionnaire
when
it
is
referenced
in
a
specification,
model,
design
or
an
instance;
also
called
its
canonical
identifier.
This
SHOULD
be
globally
unique
and
SHOULD
be
a
literal
address
at
which
at
which
an
authoritative
instance
of
this
questionnaire
is
(or
will
be)
published.
This
URL
can
be
the
target
of
a
canonical
reference.
It
SHALL
remain
the
same
when
the
questionnaire
is
stored
on
different
servers
url
:
uri
[0..1]
A
formal
identifier
that
is
used
to
identify
this
questionnaire
when
it
is
represented
in
other
formats,
or
referenced
in
a
specification,
model,
design
or
an
instance
identifier
:
Identifier
[0..*]
The
identifier
that
is
used
to
identify
this
version
of
the
questionnaire
when
it
is
referenced
in
a
specification,
model,
design
or
instance.
This
is
an
arbitrary
value
managed
by
the
questionnaire
author
and
is
not
expected
to
be
globally
unique.
For
example,
it
might
be
a
timestamp
(e.g.
yyyymmdd)
if
a
managed
version
is
not
available.
There
is
also
no
expectation
that
versions
can
be
placed
in
a
lexicographical
sequence
version
:
string
[0..1]
A
natural
language
name
identifying
the
questionnaire.
This
name
should
be
usable
as
an
identifier
for
the
module
by
machine
processing
applications
such
as
code
generation
name
:
string
[0..1]
A
short,
descriptive,
user-friendly
title
for
the
questionnaire
title
:
string
[0..1]
The
URL
of
a
Questionnaire
that
this
Questionnaire
is
based
on
derivedFrom
:
canonical
[0..*]
«
Questionnaire
»
The
status
of
this
questionnaire.
Enables
tracking
the
life-cycle
of
the
content
(this
element
modifies
the
meaning
of
other
elements)
status
:
code
[1..1]
«
The
lifecycle
status
of
an
artifact.
(Strength=Required)
PublicationStatus
!
»
A
Boolean
value
to
indicate
that
this
questionnaire
is
authored
for
testing
purposes
(or
education/evaluation/marketing)
and
is
not
intended
to
be
used
for
genuine
usage
experimental
:
boolean
[0..1]
The
types
of
subjects
that
can
be
the
subject
of
responses
created
for
the
questionnaire
subjectType
:
code
[0..*]
«
One
of
the
resource
types
defined
as
part
of
this
version
of
FHIR.
(Strength=Required)
ResourceType
!
»
The
date
(and
optionally
time)
when
the
questionnaire
was
published.
The
date
must
change
when
the
business
version
changes
and
it
must
change
if
the
status
code
changes.
In
addition,
it
should
change
when
the
substantive
content
of
the
questionnaire
changes
date
:
dateTime
[0..1]
The
name
of
the
organization
or
individual
that
published
the
questionnaire
publisher
:
string
[0..1]
Contact
details
to
assist
a
user
in
finding
and
communicating
with
the
publisher
contact
:
ContactDetail
[0..*]
A
free
text
natural
language
description
of
the
questionnaire
from
a
consumer's
perspective
description
:
markdown
[0..1]
The
content
was
developed
with
a
focus
and
intent
of
supporting
the
contexts
that
are
listed.
These
contexts
may
be
general
categories
(gender,
age,
...)
or
may
be
references
to
specific
programs
(insurance
plans,
studies,
...)
and
may
be
used
to
assist
with
indexing
and
searching
for
appropriate
questionnaire
instances
useContext
:
UsageContext
[0..*]
A
legal
or
geographic
region
in
which
the
questionnaire
is
intended
to
be
used
jurisdiction
:
CodeableConcept
[0..*]
«
Countries
and
regions
within
which
this
artifact
is
targeted
for
use.
(Strength=Extensible)
Jurisdiction
ValueSet
form
+
»
Explanation
of
why
this
questionnaire
is
needed
and
why
it
has
been
designed
as
it
has
purpose
:
markdown
[0..1]
A
copyright
statement
relating
to
the
questionnaire
and/or
its
contents.
Copyright
statements
are
generally
legal
restrictions
on
the
use
and
publishing
of
the
questionnaire
copyright
:
markdown
[0..1]
The
date
on
which
the
resource
content
was
approved
by
the
publisher.
Approval
happens
once
when
the
content
is
officially
approved
for
usage
approvalDate
:
date
[0..1]
The
date
on
which
the
resource
content
was
last
reviewed.
Review
happens
periodically
after
approval
but
does
not
change
the
original
approval
date
lastReviewDate
:
date
[0..1]
The
period
during
which
the
questionnaire
content
was
or
is
planned
to
be
in
active
use
effectivePeriod
:
Period
[0..1]
An
identifier
for
this
question
or
group
of
questions
in
a
particular
terminology
such
as
LOINC
code
:
Coding
[0..*]
«
Codes
for
questionnaires,
groups
and
individual
questions.
(Strength=Example)
QuestionnaireQuestionCodes
??
»
Item
An
identifier
that
is
unique
within
the
Questionnaire
allowing
linkage
to
the
equivalent
item
in
a
QuestionnaireResponse
resource
linkId
:
string
[1..1]
This
element
is
a
URI
that
refers
to
an
[[[ElementDefinition]]]
that
provides
information
about
this
item,
including
information
that
might
otherwise
be
included
in
the
instance
of
the
Questionnaire
resource.
A
detailed
description
of
the
construction
of
the
URI
is
shown
in
Comments,
below.
If
this
element
is
present
then
the
following
element
values
MAY
be
derived
from
the
Element
Definition
if
the
corresponding
elements
of
this
Questionnaire
resource
instance
have
no
value:
*
code
(ElementDefinition.code)
*
type
(ElementDefinition.type)
*
required
(ElementDefinition.min)
*
repeats
(ElementDefinition.max)
*
maxLength
(ElementDefinition.maxLength)
*
answerValueSet
(ElementDefinition.binding)
*
options
(ElementDefinition.binding)
definition
:
uri
[0..1]
A
terminology
code
that
corresponds
to
this
group
or
question
(e.g.
a
code
from
LOINC,
which
defines
many
questions
and
answers)
code
:
Coding
[0..*]
«
Codes
for
questionnaires,
groups
and
individual
questions.
(Strength=Example)
QuestionnaireQuestionCodes
??
»
A
short
label
for
a
particular
group,
question
or
set
of
display
text
within
the
questionnaire
used
for
reference
by
the
individual
completing
the
questionnaire
prefix
:
string
[0..1]
The
name
of
a
section,
the
text
of
a
question
or
text
content
for
a
display
item
text
:
string
[0..1]
The
type
of
questionnaire
item
this
is
-
whether
text
for
display,
a
grouping
of
other
items
or
a
particular
type
of
data
to
be
captured
(string,
integer,
coded
choice,
etc.)
type
:
code
[1..1]
«
Distinguishes
groups
from
questions
and
display
text
and
indicates
data
type
for
questions.
(Strength=Required)
QuestionnaireItemType
!
»
Controls
how
multiple
enableWhen
values
are
interpreted
-
whether
all
or
any
must
be
true
enableBehavior
:
code
[0..1]
«
Controls
how
multiple
enableWhen
values
are
interpreted
-
whether
all
or
any
must
be
true.
(Strength=Required)
EnableWhenBehavior
!
»
An
indication,
if
true,
that
the
item
must
be
present
in
a
"completed"
QuestionnaireResponse.
If
false,
the
item
may
be
skipped
when
answering
the
questionnaire
required
:
boolean
[0..1]
An
indication,
if
true,
that
the
item
may
occur
multiple
times
in
the
response,
collecting
multiple
answers
for
questions
or
multiple
sets
of
answers
for
groups
repeats
:
boolean
[0..1]
An
indication,
when
true,
that
the
value
cannot
be
changed
by
a
human
respondent
to
the
Questionnaire
readOnly
:
boolean
[0..1]
The
maximum
number
of
characters
that
are
permitted
in
the
answer
to
be
considered
a
"valid"
QuestionnaireResponse
maxLength
:
integer
[0..1]
A
reference
to
a
value
set
containing
a
list
of
codes
representing
permitted
answers
for
a
"choice"
or
"open-choice"
question
answerValueSet
:
canonical
[0..1]
«
ValueSet
»
EnableWhen
The
linkId
for
the
question
whose
answer
(or
lack
of
answer)
governs
whether
this
item
is
enabled
question
:
string
[1..1]
Specifies
the
criteria
by
which
the
question
is
enabled
operator
:
code
[1..1]
«
The
criteria
by
which
a
question
is
enabled.
(Strength=Required)
QuestionnaireItemOperator
!
»
A
value
that
the
referenced
question
is
tested
using
the
specified
operator
in
order
for
the
item
to
be
enabled
answer[x]
:
Type
[1..1]
«
boolean
|
decimal
|
integer
|
date
|
dateTime
|
time
|
string
|
Coding
|
Quantity
|
Reference
(
Any
);
Allowed
values
to
answer
questions.
(Strength=Example)
QuestionnaireAnswerCodes
??
»
AnswerOption
A
potential
answer
that's
allowed
as
the
answer
to
this
question
value[x]
:
Type
[1..1]
«
integer
|
date
|
time
|
string
|
Coding
|
Reference
(
Any
);
Allowed
values
to
answer
questions.
(Strength=Example)
QuestionnaireAnswerCodes
??
»
Indicates
whether
the
answer
value
is
selected
when
the
list
of
possible
answers
is
initially
shown
initialSelected
:
boolean
[0..1]
Initial
The
actual
value
to
for
an
initial
answer
value[x]
:
Type
[1..1]
«
boolean
|
decimal
|
integer
|
date
|
dateTime
|
time
|
string
|
uri
|
Attachment
|
Coding
|
Quantity
|
Reference
(
Any
);
Allowed
values
to
answer
questions.
(Strength=Example)
QuestionnaireAnswerCodes
??
»
A
constraint
indicating
that
this
item
should
only
be
enabled
(displayed/allow
answers
to
be
captured)
when
the
specified
condition
is
true
(this
element
modifies
the
meaning
of
other
elements)
enableWhen
[0..*]
One
of
the
permitted
answers
for
a
"choice"
or
"open-choice"
question
answerOption
[0..*]
One
or
more
values
that
should
be
pre-populated
in
the
answer
when
initially
rendering
the
questionnaire
for
user
input
initial
[0..*]
Text,
questions
and
other
groups
to
be
nested
beneath
a
question
or
group
item
[0..*]
A
particular
question,
question
grouping
or
display
text
that
is
part
of
the
questionnaire
item
[0..*]
XML
Template
<
<!-- from -->
<!-- from -->
<
<</identifier>
<
<
<
<</derivedFrom>
<
<
<
<
<
<</contact>
<
<</useContext>
<</jurisdiction>
<
<
<
<
<</effectivePeriod>
<</code>
<
<
<<a href="questionnaire-definitions.html#Questionnaire.item.definition" title="This element is a URI that refers to an [[[ElementDefinition]]] that provides information about this item, including information that might otherwise be included in the instance of the Questionnaire resource. A detailed description of the construction of the URI is shown in Comments, below. If this element is present then the following element values MAY be derived from the Element Definition if the corresponding elements of this Questionnaire resource instance have no value:
* code (ElementDefinition.code)
* type (ElementDefinition.type)
* required (ElementDefinition.min)
* repeats (ElementDefinition.max)
* maxLength (ElementDefinition.maxLength)
* answerValueSet (ElementDefinition.binding)
* options (ElementDefinition.binding)." class="dict">
<</code>
<
<
<
<
<
<
<|
</answer[x]>
</enableWhen>
<
<
<
<
<
<</answerValueSet>
<
<</value[x]>
<
</answerOption>
<
<|
</value[x]>
</initial>
<</item>
</item>
</Questionnaire>
JSON
Template
{
"resourceType" : "",
// from
// from
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"<a href="questionnaire-definitions.html#Questionnaire.item.definition" title="This element is a URI that refers to an [[[ElementDefinition]]] that provides information about this item, including information that might otherwise be included in the instance of the Questionnaire resource. A detailed description of the construction of the URI is shown in Comments, below. If this element is present then the following element values MAY be derived from the Element Definition if the corresponding elements of this Questionnaire resource instance have no value:
* code (ElementDefinition.code)
* type (ElementDefinition.type)
* required (ElementDefinition.min)
* repeats (ElementDefinition.max)
* maxLength (ElementDefinition.maxLength)
* answerValueSet (ElementDefinition.binding)
* options (ElementDefinition.binding)." class="dict">definition
"
"
"
"
"
"
"
">
">
">
">"
">"
">"
">"
" }
" }
" }
}],
"
"
"
"
"
"
"
">,
">",
">",
">",
" },
" },
"
}],
"
">
">
">
">"
">"
">"
">"
">"
" }
" }
" }
" }
}],
"
}]
}
Turtle
Template
@prefix fhir: <http://hl7.org/fhir/> .
[ a fhir:;
fhir:nodeRole fhir:treeRoot; # if this is the parser root
# from
# from
fhir:
fhir:
fhir:
fhir:
fhir:
fhir:
fhir:
fhir:
fhir:
fhir:
fhir:
fhir:
fhir:
fhir:
fhir:
fhir:
fhir:
fhir:
fhir:
fhir:
fhir:
fhir:
fhir:
fhir:<a href="questionnaire-definitions.html#Questionnaire.item.definition" title="This element is a URI that refers to an [[[ElementDefinition]]] that provides information about this item, including information that might otherwise be included in the instance of the Questionnaire resource. A detailed description of the construction of the URI is shown in Comments, below. If this element is present then the following element values MAY be derived from the Element Definition if the corresponding elements of this Questionnaire resource instance have no value:
* code (ElementDefinition.code)
* type (ElementDefinition.type)
* required (ElementDefinition.min)
* repeats (ElementDefinition.max)
* maxLength (ElementDefinition.maxLength)
* answerValueSet (ElementDefinition.binding)
* options (ElementDefinition.binding)." class="dict">Questionnaire.item.definition
fhir:
fhir:
fhir:
fhir:
fhir:
fhir:
fhir:
# . One of these 10
fhir: ]
fhir: ]
fhir: ]
fhir: ]
fhir: ]
fhir: ]
fhir: ]
fhir: ]
fhir: ]
fhir:) ]
], ...;
fhir:
fhir:
fhir:
fhir:
fhir:
fhir:
fhir:
# . One of these 6
fhir: ]
fhir: ]
fhir: ]
fhir: ]
fhir: ]
fhir:) ]
fhir:
], ...;
fhir:
# . One of these 12
fhir: ]
fhir: ]
fhir: ]
fhir: ]
fhir: ]
fhir: ]
fhir: ]
fhir: ]
fhir: ]
fhir: ]
fhir: ]
fhir:) ]
], ...;
fhir:
], ...;
]
Changes
since
R3
Questionnaire
Questionnaire.derivedFrom
Added
Element
Questionnaire.status
Change
value
set
from
http://hl7.org/fhir/ValueSet/publication-status
to
http://hl7.org/fhir/ValueSet/publication-status|4.0.1
Questionnaire.experimental
No
longer
marked
as
Modifier
Questionnaire.subjectType
Change
value
set
from
http://hl7.org/fhir/ValueSet/resource-types
to
http://hl7.org/fhir/ValueSet/resource-types|4.0.1
Questionnaire.item.type
Change
value
set
from
http://hl7.org/fhir/ValueSet/item-type
to
http://hl7.org/fhir/ValueSet/item-type|4.0.1
Questionnaire.item.enableWhen.operator
Added
Mandatory
Element
Questionnaire.item.enableWhen.answer[x]
Min
Cardinality
changed
from
0
to
1
Remove
Types
uri,
Attachment
Questionnaire.item.enableBehavior
Added
Element
Questionnaire.item.required
Default
Value
"false"
removed
Questionnaire.item.repeats
Default
Value
"false"
removed
Questionnaire.item.answerValueSet
Renamed
from
options
to
answerValueSet
Type
changed
from
Reference(ValueSet)
to
canonical(ValueSet)
Questionnaire.item.answerOption
Renamed
from
option
to
answerOption
Questionnaire.item.answerOption.value[x]
Moved
from
Questionnaire.item.option
to
Questionnaire.item.answerOption
Add
Type
Reference(Resource)
Questionnaire.item.answerOption.initialSelected
Added
Element
Questionnaire.item.initial
Renamed
from
initial[x]
to
initial
Max
Cardinality
changed
from
1
to
*
Remove
Types
boolean,
decimal,
integer,
date,
dateTime,
time,
string,
uri,
Attachment,
Coding,
Quantity,
Reference(Resource)
Questionnaire.item.initial.value[x]
Added
Mandatory
Element
Questionnaire.item.enableWhen.hasAnswer
deleted
See
the
Full
Difference
for
further
information
This
analysis
is
available
as
also
see
XML
Format
Specification
or
JSON
.
See
R3
<-->
R4
Conversion
Maps
(status
=
6
tests
that
all
execute
ok.
All
tests
pass
round-trip
testing
and
5
r3
resources
are
invalid
(0
errors).
)
UML
Diagram
(
Legend
)
Questionnaire
(
DomainResource
)
An
absolute
URI
that
is
used
to
identify
this
questionnaire
when
it
is
referenced
in
a
specification,
model,
design
or
an
instance;
also
called
its
canonical
identifier.
This
SHOULD
be
globally
unique
and
SHOULD
be
a
literal
address
at
which
at
which
an
authoritative
instance
of
this
questionnaire
is
(or
will
be)
published.
This
URL
can
be
the
target
of
a
canonical
reference.
It
SHALL
remain
the
same
when
the
questionnaire
is
stored
on
different
servers
url
:
uri
[0..1]
A
formal
identifier
that
is
used
to
identify
this
questionnaire
when
it
is
represented
in
other
formats,
or
referenced
in
a
specification,
model,
design
or
an
instance
identifier
:
Identifier
[0..*]
The
identifier
that
is
used
to
identify
this
version
of
the
questionnaire
when
it
is
referenced
in
a
specification,
model,
design
or
instance.
This
is
an
arbitrary
value
managed
by
the
questionnaire
author
and
is
not
expected
to
be
globally
unique.
For
example,
it
might
be
a
timestamp
(e.g.
yyyymmdd)
if
a
managed
version
is
not
available.
There
is
also
no
expectation
that
versions
can
be
placed
in
a
lexicographical
sequence
version
:
string
[0..1]
A
natural
language
name
identifying
the
questionnaire.
This
name
should
be
usable
as
an
identifier
for
the
module
by
machine
processing
applications
such
as
code
generation
name
:
string
[0..1]
A
short,
descriptive,
user-friendly
title
for
the
questionnaire
title
:
string
[0..1]
The
URL
of
a
Questionnaire
that
this
Questionnaire
is
based
on
derivedFrom
:
canonical
[0..*]
«
Questionnaire
»
The
status
of
this
questionnaire.
Enables
tracking
the
life-cycle
of
the
content
(this
element
modifies
the
meaning
of
other
elements)
status
:
code
[1..1]
«
The
lifecycle
status
of
an
artifact.
(Strength=Required)
PublicationStatus
!
»
A
Boolean
value
to
indicate
that
this
questionnaire
is
authored
for
testing
purposes
(or
education/evaluation/marketing)
and
is
not
intended
to
be
used
for
genuine
usage
experimental
:
boolean
[0..1]
The
types
of
subjects
that
can
be
the
subject
of
responses
created
for
the
questionnaire
subjectType
:
code
[0..*]
«
One
of
the
resource
types
defined
as
part
of
this
version
of
FHIR.
(Strength=Required)
ResourceType
!
»
The
date
(and
optionally
time)
when
the
questionnaire
was
published.
The
date
must
change
when
the
business
version
changes
and
it
must
change
if
the
status
code
changes.
In
addition,
it
should
change
when
the
substantive
content
of
the
questionnaire
changes
date
:
dateTime
[0..1]
The
name
of
the
organization
or
individual
that
published
the
questionnaire
publisher
:
string
[0..1]
Contact
details
to
assist
a
user
in
finding
and
communicating
with
the
publisher
contact
:
ContactDetail
[0..*]
A
free
text
natural
language
description
of
the
questionnaire
from
a
consumer's
perspective
description
:
markdown
[0..1]
The
content
was
developed
with
a
focus
and
intent
of
supporting
the
contexts
that
are
listed.
These
contexts
may
be
general
categories
(gender,
age,
...)
or
may
be
references
to
specific
programs
(insurance
plans,
studies,
...)
and
may
be
used
to
assist
with
indexing
and
searching
for
appropriate
questionnaire
instances
useContext
:
UsageContext
[0..*]
A
legal
or
geographic
region
in
which
the
questionnaire
is
intended
to
be
used
jurisdiction
:
CodeableConcept
[0..*]
«
Countries
and
regions
within
which
this
artifact
is
targeted
for
use.
(Strength=Extensible)
Jurisdiction
ValueSet
+
»
Explanation
of
why
this
questionnaire
is
needed
and
why
it
has
been
designed
as
it
has
purpose
:
markdown
[0..1]
A
copyright
statement
relating
to
the
questionnaire
and/or
its
contents.
Copyright
statements
are
generally
legal
restrictions
on
the
use
and
publishing
of
the
questionnaire
copyright
:
markdown
[0..1]
The
date
on
which
the
resource
content
was
approved
by
the
publisher.
Approval
happens
once
when
the
content
is
officially
approved
for
usage
approvalDate
:
date
[0..1]
The
date
on
which
the
resource
content
was
last
reviewed.
Review
happens
periodically
after
approval
but
does
not
change
the
original
approval
date
lastReviewDate
:
date
[0..1]
The
period
during
which
the
questionnaire
content
was
or
is
planned
to
be
in
active
use
effectivePeriod
:
Period
[0..1]
An
identifier
for
this
question
or
group
of
questions
in
a
particular
terminology
such
as
LOINC
code
:
Coding
[0..*]
«
Codes
for
questionnaires,
groups
and
individual
questions.
(Strength=Example)
QuestionnaireQuestionCodes
??
»
Item
An
identifier
that
is
unique
within
the
Questionnaire
allowing
linkage
to
the
equivalent
item
in
a
QuestionnaireResponse
resource
linkId
:
string
[1..1]
This
element
is
a
URI
that
refers
to
an
[[[ElementDefinition]]]
that
provides
information
about
this
item,
including
information
that
might
otherwise
be
included
in
the
instance
of
the
Questionnaire
resource.
A
detailed
description
of
the
construction
of
the
URI
is
shown
in
Comments,
below.
If
this
element
is
present
then
the
following
element
values
MAY
be
derived
from
the
Element
Definition
if
the
corresponding
elements
of
this
Questionnaire
resource
instance
have
no
value:
*
code
(ElementDefinition.code)
*
type
(ElementDefinition.type)
*
required
(ElementDefinition.min)
*
repeats
(ElementDefinition.max)
*
maxLength
(ElementDefinition.maxLength)
*
answerValueSet
(ElementDefinition.binding)
*
options
(ElementDefinition.binding)
definition
:
uri
[0..1]
A
terminology
code
that
corresponds
to
this
group
or
question
(e.g.
a
code
from
LOINC,
which
defines
many
questions
and
answers)
code
:
Coding
[0..*]
«
Codes
for
questionnaires,
groups
and
individual
questions.
(Strength=Example)
QuestionnaireQuestionCodes
??
»
A
short
label
for
a
particular
group,
question
or
set
of
display
text
within
the
questionnaire
used
for
reference
by
the
individual
completing
the
questionnaire
prefix
:
string
[0..1]
The
name
of
a
section,
the
text
of
a
question
or
text
content
for
a
display
item
text
:
string
[0..1]
The
type
of
questionnaire
item
this
is
-
whether
text
for
display,
a
grouping
of
other
items
or
a
particular
type
of
data
to
be
captured
(string,
integer,
coded
choice,
etc.)
type
:
code
[1..1]
«
Distinguishes
groups
from
questions
and
display
text
and
indicates
data
type
for
questions.
(Strength=Required)
QuestionnaireItemType
!
»
Controls
how
multiple
enableWhen
values
are
interpreted
-
whether
all
or
any
must
be
true
enableBehavior
:
code
[0..1]
«
Controls
how
multiple
enableWhen
values
are
interpreted
-
whether
all
or
any
must
be
true.
(Strength=Required)
EnableWhenBehavior
!
»
An
indication,
if
true,
that
the
item
must
be
present
in
a
"completed"
QuestionnaireResponse.
If
false,
the
item
may
be
skipped
when
answering
the
questionnaire
required
:
boolean
[0..1]
An
indication,
if
true,
that
the
item
may
occur
multiple
times
in
the
response,
collecting
multiple
answers
for
questions
or
multiple
sets
of
answers
for
groups
repeats
:
boolean
[0..1]
An
indication,
when
true,
that
the
value
cannot
be
changed
by
a
human
respondent
to
the
Questionnaire
readOnly
:
boolean
[0..1]
The
maximum
number
of
characters
that
are
permitted
in
the
answer
to
be
considered
a
"valid"
QuestionnaireResponse
maxLength
:
integer
[0..1]
A
reference
to
a
value
set
containing
a
list
of
codes
representing
permitted
answers
for
a
"choice"
or
"open-choice"
question
answerValueSet
:
canonical
[0..1]
«
ValueSet
»
EnableWhen
The
linkId
for
the
question
whose
answer
(or
lack
of
answer)
governs
whether
this
item
is
enabled
question
:
string
[1..1]
Specifies
the
criteria
by
which
the
question
is
enabled
operator
:
code
[1..1]
«
The
criteria
by
which
a
question
is
enabled.
(Strength=Required)
QuestionnaireItemOperator
!
»
A
value
that
the
referenced
question
is
tested
using
the
specified
operator
in
order
for
the
item
to
be
enabled
answer[x]
:
Type
[1..1]
«
boolean
|
decimal
|
integer
|
date
|
dateTime
|
time
|
string
|
Coding
|
Quantity
|
Reference
(
Any
);
Allowed
values
to
answer
questions.
(Strength=Example)
QuestionnaireAnswerCodes
??
»
AnswerOption
A
potential
answer
that's
allowed
as
the
answer
to
this
question
value[x]
:
Type
[1..1]
«
integer
|
date
|
time
|
string
|
Coding
|
Reference
(
Any
);
Allowed
values
to
answer
questions.
(Strength=Example)
QuestionnaireAnswerCodes
??
»
Indicates
whether
the
answer
value
is
selected
when
the
list
of
possible
answers
is
initially
shown
initialSelected
:
boolean
[0..1]
Initial
The
actual
value
to
for
an
initial
answer
value[x]
:
Type
[1..1]
«
boolean
|
decimal
|
integer
|
date
|
dateTime
|
time
|
string
|
uri
|
Attachment
|
Coding
|
Quantity
|
Reference
(
Any
);
Allowed
values
to
answer
questions.
(Strength=Example)
QuestionnaireAnswerCodes
??
»
A
constraint
indicating
that
this
item
should
only
be
enabled
(displayed/allow
answers
to
be
captured)
when
the
specified
condition
is
true
(this
element
modifies
the
meaning
of
other
elements)
enableWhen
[0..*]
One
of
the
permitted
answers
for
a
"choice"
or
"open-choice"
question
answerOption
[0..*]
One
or
more
values
that
should
be
pre-populated
in
the
answer
when
initially
rendering
the
questionnaire
for
user
input
initial
[0..*]
Text,
questions
and
other
groups
to
be
nested
beneath
a
question
or
group
item
[0..*]
A
particular
question,
question
grouping
or
display
text
that
is
part
of
the
questionnaire
item
[0..*]
XML
Template
<
<!-- from -->
<!-- from -->
<
<</identifier>
<
<
<
<</derivedFrom>
<
<
<
<
<
<</contact>
<
<</useContext>
<</jurisdiction>
<
<
<
<
<</effectivePeriod>
<</code>
<
<
<<a href="questionnaire-definitions.html#Questionnaire.item.definition" title="This element is a URI that refers to an [[[ElementDefinition]]] that provides information about this item, including information that might otherwise be included in the instance of the Questionnaire resource. A detailed description of the construction of the URI is shown in Comments, below. If this element is present then the following element values MAY be derived from the Element Definition if the corresponding elements of this Questionnaire resource instance have no value:
* code (ElementDefinition.code)
* type (ElementDefinition.type)
* required (ElementDefinition.min)
* repeats (ElementDefinition.max)
* maxLength (ElementDefinition.maxLength)
* answerValueSet (ElementDefinition.binding)
* options (ElementDefinition.binding)." class="dict">
<</code>
<
<
<
<
<
<
<|
</answer[x]>
</enableWhen>
<
<
<
<
<
<</answerValueSet>
<
<</value[x]>
<
</answerOption>
<
<|
</value[x]>
</initial>
<</item>
</item>
</Questionnaire>
JSON
Template
{
"resourceType" : "",
// from
// from
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"<a href="questionnaire-definitions.html#Questionnaire.item.definition" title="This element is a URI that refers to an [[[ElementDefinition]]] that provides information about this item, including information that might otherwise be included in the instance of the Questionnaire resource. A detailed description of the construction of the URI is shown in Comments, below. If this element is present then the following element values MAY be derived from the Element Definition if the corresponding elements of this Questionnaire resource instance have no value:
* code (ElementDefinition.code)
* type (ElementDefinition.type)
* required (ElementDefinition.min)
* repeats (ElementDefinition.max)
* maxLength (ElementDefinition.maxLength)
* answerValueSet (ElementDefinition.binding)
* options (ElementDefinition.binding)." class="dict">definition
"
"
"
"
"
"
"
">
">
">
">"
">"
">"
">"
" }
" }
" }
}],
"
"
"
"
"
"
"
">,
">",
">",
">",
" },
" },
"
}],
"
">
">
">
">"
">"
">"
">"
">"
" }
" }
" }
" }
}],
"
}]
}
Turtle
Template
Value
Setmedicationrequest
Status
However,
data
captured
only
in
Questionnaires
can
be
difficult
to
query
after-the-fact.
Queries
against
other
Resources
will
not
return
data
captured
only
in
Questionnaires
and
querying
against
Questionnaires
directly
might
not
find
all
desired
data,
depending
on
how
the
questions
may
have
Usage
note:
every
effort
has
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
more
specific
resources
increases
the
availability
of
the
information
they
contain.
It
is
entirely
possible
for
data
to
exist
in
both
QuestionnaireResponse
and
in
other
resources.
For
example,
data
may
be
captured
in
QuestionnaireResponse
as
part
of
an
intake
questionnaire.
That
data
may
then
be
propagated
into
the
Patient
resource
(demographics),
FamilyMemberHistory
,
AllergyIntolerance
,
MedicationStatement
and
Observation
resources
to
allow
the
data
to
be
queried
and
analyzed.
The
original
QuestionnaireResponse
instance
can
be
retained
for
traceability
purposes.
If
desired,
a
Provenance
resource
can
be
used
to
identify
the
Questionnaire
as
the
data
source
for
the
other
resources.
For
example,
if
a
questionnaire
question
asks
"what
is
your
weight",
an
Observation
with
the
appropriate
Observation.code
and
the
specified
answer
as
the
Observation.valueQuantity
can
be
created.
2.37.5.4
Structure
of
the
Questionnaire
A
Questionnaire
is
built
out
of
two
components,
Questionnaire
and
item:
The
main
component
is
Questionnaire,
which
holds
information
about
the
Questionnaire,
like
the
identifier,
publisher,
date
authored,
title,
etc.
The
Questionnaire
contains
zero
or
more
items
which
define
the
content
of
the
questionnaire
(zero
items
allows
for
the
possibility
of
narrative-only
questionnaires,
though
these
provide
little
computable
information).
Items
have
one
of
three
sub-types,
distinguished
by
the
type
element:
display
items
convey
text
to
be
rendered
on
the
form
that
won't
capture
data
and
which
won't
contain
nested
items.
This
might
include
copyright
or
authorship
information,
instructions
or
other
background
information.
group
items
organize
content
of
the
questionnaire
into
sections,
sub-sections,
etc.
Groups
don't
have
answers
associated
with
them
directly,
but
generally
contain
child
'question'
items
which
do.
question
items
ask
a
specific
question
to
which
an
answer
may
be
given.
There
isn't
a
single
type
for
question
items.
Instead,
the
type
conveys
the
data
type
of
the
answer
for
the
question.
If
an
item
isn't
a
'display'
or
a
'group',
then
it's
a
question
which
allows
a
particular
type
of
answer
to
be
gathered.
Questions
may
also
have
nested
content
-
groups
and/or
other
questions.
This
way,
one
can
model
"panels"
of
questions
which
would
only
be
relevant
(and
thus
would
only
be
displayed)
depending
on
the
answers
of
a
parent
question;
e.g.
a
question
"Did
the
patient
receive
treatment
in
the
past
six
months?"
would
contain
a
nested
group
of
questions
asking
for
further
details
about
the
treatment.
See
an
example
from
the
Australian
New
South
Wales
blue
book
Specific
controls
on
dynamic
display
of
groups,
questions,
etc.
based
on
the
answers
to
other
questions
is
outside
the
scope
of
the
base
resource
and
are
handled
using
extensions.
Group
text
is
intended
to
provide
a
"label"
for
a
collection
of
nested
items.
The
text
will
often
be
rendered
in
a
"heading"
style.
As
such,
it
should
be
kept
relatively
short.
Detailed
instructions
should
be
conveyed
by
a
nested
"display"
item.
It's
not
necessary
to
create
groups
in
order
to
relate
an
instruction
made
to
a
collection
of
questions
-
you
can
simply
intermix
display
items
and
questions
or
groups,
with
the
expectation
ensure
that
users
will
see
the
display
text
before
encountering
the
following
questions.
2.37.5.5
Identifiers
within
Questionnaire
There
are
three
different
"identifying"
elements
within
Questionnaire:
identifier
,
id
and
linkId
.
Each
serves
very
distinct
purposes:
The
identifier
element
is
used
to
reference
the
overall
questionnaire
in
business
terms.
It
is
the
number
printed
across
the
top
of
the
form
or
listed
beside
the
form
when
making
a
choice
between
alternate
forms.
The
id
attribute
supported
on
each
element
is
used
for
references
within
a
resource,
for
example
linking
narrative
to
discrete
elements.
Ids
are
not
generally
displayed
to
end
users
The
linkId
element
on
questions
and
groups
establishes
a
link
between
elements
in
a
QuestionnaireResponse
and
their
definition
inside
a
Questionnaire.
This
is
the
only
way
to
link
between
the
groups
and
questions
in
a
Questionnaire
and
QuestionnaireResponse.
These
are
also
not
displayed
to
end
users
2.37.5.6
Question
Definitions
Questionnaires
can
be
crafted
using
any
questions
the
author
can
conceive
and
can
be
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.
Items
can
be
directly
linked
to
an
ElementDefinition
using
Questionnaire.item.definition
which
provides
details
for
the
item.
If
a
definition
is
provided,
then
the
following
element
values
can
be
derived
from
the
definition:
concept
(from
ElementDefinition.code)
type
(from
ElementDefinition.type)
required
(from
ElementDefinition.min)
repeats
(from
ElementDefinition.max)
maxLength
(from
ElementDefinition.maxLength)
answerValueSet
(from
ElementDefinition.binding.valueSet)
Any
information
provided
in
these
elements
overrides
the
information
from
the
definition,
and
some
examples
are
always
required
to
be
populated
so
that
invariants
can
be
enforced,
etc.
The
url
refers
to
an
ElementDefinition
in
StructureDefinition
,
and
always
starts
with
the
canonical
URL
for
the
target
resource.
When
referring
to
a
StructureDefinition,
a
fragment
identifier
is
used
to
specify
the
element
definition
by
its
id
(Element.id).
E.g.
http://hl7.org/fhir/StructureDefinition/Observation#Observation.value[x].
In
the
absence
of
a
fragment
identifier,
the
first/root
element
definition
in
the
target
is
the
matching
element
definition.
Examples:
Value
of
definition
Explanation
http://hl7.org/fhir/StructureDefinition/Observation#Observation.comment
A
reference
to
the
standard
Observation
element
comment
http://example.org/definitions/xxx
A
reference
to
the
logical
model
"xxx"
that
represents
a
data
element
http://example.org/StructureDefinition/Oedema#Observation.category:XXX
A
reference
to
slice
XXX
on
the
Observation
category
element
on
an
Oedema
Scale
profile
http://example.org/StructureDefinition/Oedema|2.0#Observation.category:XXX
A
reference
to
slice
XXX
on
the
Observation
category
element
on
an
Oedema
Scale
profile,
specifying
version
2.0
The
definitions
may
also
be
used
to
automatically
pre-populate
answers,
or
extract
data
from
a
corresponding
pre-existing
QuestionnaireResponse
resource.
Note
that
LOINC
codes
implicitly
define
logical
models
whose
elements
can
be
considered
question
definitions.
NOTE:
Even
if
a
standard
question
definition
is
provided
,
information
such
as
the
question
text,
data
type
and
value
set
SHOULD
still
be
declared
for
the
question.
Systems
processing
the
questionnaire
might
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
might
not
be
able
to
render
or
use
the
Questionnaire.
If
an
external
definition
is
included
along
with
question
information
such
as
question
text,
data
type
or
value
set,
it
is
expected
that
the
content
for
the
question
correct
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.
2.37.5.7
Question
types
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
(if
choosing
from
one
of
the
listed
choices)
or
string
(if
a
different
value
is
provided)
2.37.5.8
Permitted
values
for
questions
Many
questionnaires
place
constraints
on
the
allowed
list
of
values
for
a
given
question.
FHIR
supports
this
notion
through
the
item.answerValueSet
or
the
item.answerOption
element.
The
"answerOption"
mechanism
is
simplest
-
all
possible
answers
are
listed
in-line
with
the
question
using
the
item.answerOption
element.
Maintenance
of
the
set
of
permitted
question
answers
involves
maintenance
of
the
questionnaire
itself.
The
"answerValueSet"
mechanism
is
more
sophisticated.
Rather
than
listing
the
possible
answers
directly,
the
item.answerValueSet
element
refers
to
a
ValueSet
resource.
This
approach
adds
complexity
for
questionnaires
having
a
simple
list
of
strings
as
choices
for
a
question,
useful,
but
provides
several
benefits,
including:
Questionnaires
that
reference
codes
from
externally
defined
code
systems
have
a
means
of
doing
so
Answer
sets
can
be
shared
across
questions
(and
there
are
many
questionnaires
where
this
capability
is
useful)
The
full
capability
of
value
sets
can
be
brought
into
play,
including
the
ability
to
use
ConceptMap
to
link
and
translate
from
questionnaire-specific
codes
to
other
codes,
the
use
of
multiple
display
names
(e.g.
different
languages),
the
ability
to
use
coded
ordinals,
and
the
ability
to
allow
choices
from
larger
value
sets
(e.g.
"all
SNOMED
CT
procedure
codes")
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
they
are
referenced
by
the
individual
questions
as
necessary.
Alternatively,
the
item.answerValueSet
element
can
reference
the
value
set
in
a
version-specific
manner.
This
ensures
that
the
Questionnaire
will
not
adopt
a
new
version
of
the
referenced
value
set
without
revising
the
Questionnaire
to
point
to
that
new
version
-
putting
the
author
of
the
Questionnaire
in
control
of
any
changes.
2.37.5.9
Useful
Value
Sets
Many
questions
have
a
common
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
normative
part
of
the
questionnaire:
Yes
|
No
|
Don't
Know
:
http://hl7.org/fhir/ValueSet/yesnodontknow
2.37.5.10
Questions
with
multiple
answer
types
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.
2.37.5.11
Questionnaires
with
Math
Many
questionnaires
involve
computations
on
questionnaire
answers,
e.g.
tabulating
scores.
To
help
with
associating
numeric
values
to
coded
answers,
the
ordinalValue
extension
can
be
used
to
define
the
numeric
weighting
of
a
code
defined
in
a
value
set
or
in
the
questionnaire
itself.
In
addition,
there
are
extensions
for
defining
the
dynamic
value
of
an
element
using
expressions.
For
more
information,
see
the
Using
Expressions
and
Documentation
Template
topics
in
the
Clinical
Reasoning
module.
2.37.5.12
More
advanced
questionnaires
The
capabilities
of
the
Questionnaire
resource
are
fairly
simple
and
try
to
adhere
to
what
most
systems
that
deal
with
questionnaires
would
be
capable
of.
However,
there
are
lots
of
systems
that
require
more
sophisticated
capabilities,
such
as:
Greater
control
over
rendering,
including
tables,
read-only
values,
hidden
answers,
multi-column
drop-downs
Greater
control
over
question
flow,
including
formula-based
rules
for
conditional
display
of
elements
Ability
to
pre-populate
forms
with
data
found
in
the
client
system
Ability
to
define
how
to
convert
a
completed
QuestionnaireResponse
for
a
Questionnaire
into
a
collection
of
Observations
and/or
other
resources
Extensions
have
been
defined
for
all
of
these
purposes
and
many
more.
(Questionnaire
has
the
most
'core'
extensions
of
any
resource
to-date.)
A
list
of
these
extensions
can
be
found
here
.
However,
some
of
the
extensions
are
complex
and
work
together
in
particular
ways.
To
support
more
advanced
questionnaire
implementation,
the
Structured
Data
Capture
(SDC)
implementation
guide
has
been
created
to
provide
non-country-specific
guidance
on
the
use
of
most
of
these
extensions
and
sets
expectations
for
systems
wishing
to
support
more
complex
forms.
2.37.6
Search
Parameters
Search
parameters
for
this
resource.
The
common
parameters
also
apply.
See
Searching
for
more
information
about
searching
in
REST,
messaging,
and
services.
specification.