This
page
is
part
of
the
FHIR
Specification
(v3.0.2:
STU
3).
The
current
version
which
supercedes
this
version
is
5.0.0
.
For
a
full
list
Continuous
Integration
Build
of
available
versions,
see
FHIR
(will
be
incorrect/inconsistent
at
times).
See
the
Directory
of
published
versions
.
Page
versions:
R5
R4B
R4
R3
R2
Compartments
:
Not
linked
to
any
No
defined
compartments
Detailed
Descriptions
for
the
elements
in
the
Questionnaire
resource.
Questionnaire
Definition
Element
Id
Questionnaire
Definition
A
structured
set
of
questions
intended
to
guide
the
collection
of
answers
from
end-users.
Questionnaires
provide
detailed
control
over
order,
presentation,
phraseology
and
grouping
to
allow
coherent,
consistent
data
collection.
To
support
structured,
hierarchical
registration
of
data
gathered
using
digital
forms
and
other
questionnaires.
Questionnaires
provide
greater
control
over
presentation
and
allow
capture
of
data
in
a
domain-independent
way
(i.e.
capturing
information
that
would
otherwise
require
multiple
distinct
types
of
resources).
An
absolute
URI
that
is
used
to
identify
this
questionnaire
when
it
is
referenced
in
a
specification,
model,
design
or
an
instance.
instance;
also
called
its
canonical
identifier.
This
SHALL
be
a
URL,
SHOULD
be
globally
unique,
unique
and
SHOULD
be
an
a
literal
address
at
which
an
authoritative
instance
of
this
questionnaire
is
(or
will
be)
published.
The
This
URL
SHOULD
include
can
be
the
major
version
target
of
a
canonical
reference.
It
SHALL
remain
the
questionnaire.
For
more
information
see
Technical
and
Business
Versions
.
same
when
the
questionnaire
is
stored
on
different
servers.
Short
Display
Canonical
identifier
for
this
questionnaire,
represented
as
an
absolute
URI
(globally
unique)
Can
be
a
urn:uuid:
or
a
urn:oid:,
urn:oid:
but
real
http:
addresses
are
preferred.
Multiple
instances
may
share
the
same
url
URL
if
they
have
a
distinct
version.
The
determination
of
when
to
create
a
new
version
of
a
resource
(same
url,
new
version)
vs.
defining
a
new
artifact
is
up
to
the
author.
Considerations
for
making
this
decision
are
found
in
Technical
and
Business
Versions
.
In
some
cases,
the
resource
can
no
longer
be
found
at
the
stated
url,
but
the
url
itself
cannot
change.
Implementations
can
use
the
meta.source
element
to
indicate
where
the
current
master
source
of
the
resource
can
be
found.
The
name
of
the
referenced
questionnaire
can
be
conveyed
using
the
http://hl7.org/fhir/StructureDefinition/display
extension.
Questionnaire.url
SHOULD
always
be
populated
unless
the
Questionnaire
is
a
contained
resource
(in
which
case
it
will
be
pointed
to
by
the
containing
resource
using
id,
not
url.
E.g.
QuestionnaireResponse.questionnaire
using
'#[ContainedQuestionnaire.id]')
URL
should
not
contain
|
or
#
-
these
characters
make
processing
canonical
references
problematic
exists()
implies
matches('^[^|#
]+$')
Questionnaire.identifier
Definition
Element
Id
Questionnaire.identifier
Definition
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.
Note
Short
Display
Business
identifier
for
questionnaire
Note
This
is
a
business
identifer,
identifier,
not
a
resource
identifier
(see
discussion
)
Comments
Typically,
this
is
used
for
identifiers
that
can
go
in
an
HL7
V3
II
(instance
identifier)
data
type,
e.g.,
to
identify
this
questionnaire
outside
of
FHIR,
where
it
is
not
possible
to
use
the
logical
URI.
Questionnaire.version
Definition
Element
Id
Questionnaire.version
Definition
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.
Note
Short
Display
Business
version
of
the
questionnaire
Note
This
is
a
business
versionId,
not
a
resource
version
id
(see
discussion
)
There
may
be
different
questionnaire
instances
questionnaires
that
have
the
same
identifier
url
but
different
versions.
The
version
can
be
appended
to
the
url
in
a
reference
to
allow
a
refrence
reference
to
a
particular
business
version
of
the
questionnaire
with
the
format
[url]|[version].
format.
The
version
SHOULD
NOT
contain
a
'#'
-
see
Business
Version
.
Questionnaire.versionAlgorithm[x]
Element
Id
Questionnaire.versionAlgorithm[x]
Definition
Indicates
the
mechanism
used
to
compare
versions
to
determine
which
is
more
current.
If
set
as
a
string,
this
is
a
FHIRPath
expression
that
has
two
additional
context
variables
passed
in
-
%version1
and
%version2
and
will
return
a
negative
number
if
version1
is
newer,
a
positive
number
if
version2
and
a
0
if
the
version
ordering
can't
be
successfully
be
determined.
Questionnaire.name
Definition
Element
Id
Questionnaire.name
Definition
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.
The
name
is
not
expected
to
be
globally
unique.
The
name
should
be
a
simple
alpha-numeric
alphanumeric
type
no-whitespace
name
to
ensure
that
it
is
computable
machine-processing
friendly.
This
element
covers
a
broad
range
of
relationships,
from
'somewhat
inspired
by'
to
'fully
compliant
with'.
There
is
a
standard
extensionthat
allows
clearer
differentiation
between
the
life-cycle
specifics
of
the
content.
derivation
relationship
where
this
is
needed
-
e.g.
to
determine
substitutability
and
validation
expectations
-
http://hl7.org/fhir/StructureDefinition/questionnaire-derivationType
.
Allows
filtering
A
nominal
state-transition
diagram
can
be
found
in
the]
documentation
Unknown
does
not
represent
'other'
-
one
of
questionnaires
that
are
appropriate
for
use
vs.
not.
This
the
defined
statuses
must
apply.
Unknown
is
used
when
the
authoring
system
is
labeled
as
"Is
Modifier"
because
applications
should
not
use
a
retired
questionnaire
without
due
consideration.
sure
what
the
current
status
is.
See
guidance
around
(not)
making
local
changes
to
elements
here
.
Group
items
must
have
nested
items
when
Questionanire
is
active
(type='group'
and
%resource.status='active')
implies
item.empty().not()
Questionnaire.experimental
Definition
Element
Id
Questionnaire.experimental
Definition
A
boolean
Boolean
value
to
indicate
that
this
questionnaire
is
authored
for
testing
purposes
(or
education/evaluation/marketing),
education/evaluation/marketing)
and
is
not
intended
to
no
version
of
this
resource
will
ever
be
used
intended
for
genuine
usage.
Allows
filtering
of
questionnaire
questionnaires
that
are
appropriate
for
use
vs.
not.
This
is
labeled
as
"Is
Modifier"
because
applications
should
not
use
an
experimental
questionnaire
versus
not..
Experimental
resources
might
include
example
instances
in
production.
implementation
guides,
instances
created
solely
for
testing
purposes,
etc
Questionnaire.subjectType
Element
Id
Questionnaire.subjectType
Definition
The
types
of
subjects
that
can
be
the
subject
of
responses
created
for
the
questionnaire.
Short
Display
Resource
that
can
be
subject
of
QuestionnaireResponse
If
none
are
specified,
then
the
subject
is
unlimited.
Questionnaire.date
Definition
Element
Id
Questionnaire.date
Definition
The
date
(and
optionally
time)
when
the
questionnaire
was
published.
last
significantly
changed.
The
date
must
change
if
and
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.
The
date
is
often
not
tracked
until
the
resource
is
published,
but
may
be
present
on
draft
content.
Note
that
this
is
not
the
same
as
the
resource
last-modified-date,
since
the
resource
may
be
a
secondary
representation
of
the
questionnaire.
Additional
specific
dates
may
be
added
as
extensions
or
be
found
by
consulting
Provenances
associated
with
past
versions
of
the
resource.
See
guidance
around
(not)
making
local
changes
to
elements
here
.
Questionnaire.publisher
Definition
Element
Id
Questionnaire.publisher
Definition
The
name
of
the
individual
or
organization
that
published
or
individual
responsible
for
the
release
and
ongoing
maintenance
of
the
questionnaire.
Short
Display
Name
of
the
publisher/steward
(organization
or
individual)
Usually
an
organization,
organization
but
may
be
an
individual.
The
publisher
(or
steward)
of
the
questionnaire
is
the
organization
or
individual
primarily
responsible
for
the
maintenance
and
upkeep
of
the
questionnaire.
This
is
not
necessarily
the
same
individual
or
organization
that
developed
and
initially
authored
the
content.
The
publisher
is
the
primary
point
of
contact
for
questions
or
issues
with
the
questionnaire.
This
item
SHOULD
be
populated
unless
the
information
is
available
from
context.
Questionnaire.contact
Element
Id
Questionnaire.contact
Definition
Contact
details
to
assist
a
user
in
finding
and
communicating
with
the
publisher.
This
description
can
be
used
to
capture
details
such
as
why
the
questionnaire
was
built,
comments
about
misuse,
instructions
for
clinical
use
and
interpretation,
literature
references,
examples
from
the
paper
world,
etc.
It
is
not
a
rendering
of
the
questionnaire
as
conveyed
in
the
'text'
field
of
the
resource
itself.
This
item
SHOULD
be
populated
unless
the
information
is
available
from
context
(e.g.
context.
(E.g.
the
language
of
the
profile
questionnaire
is
presumed
to
be
the
predominant
language
in
the
place
the
profile
questionnaire
was
created).
Questionnaire.useContext
Element
Id
Questionnaire.useContext
Definition
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
questionnaires.
Short
Display
The
context
that
the
content
is
intended
to
support
When
multiple
useContexts
are
specified,
there
is
no
expectation
that
all
or
even
any
of
the
contexts
apply.
Questionnaire.jurisdiction
Element
Id
Questionnaire.jurisdiction
Definition
A
legal
or
geographic
region
in
which
the
authority
that
maintains
the
resource
is
operating.
In
general,
the
jurisdiction
is
also
found
in
the
useContext.
The
useContext
may
reference
additional
jurisdictions
because
the
defining
jurisdiction
does
not
necessarily
limit
the
jurisdictions
of
use.
Short
Display
Jurisdiction
of
the
authority
that
maintains
the
questionnaire
(if
applicable)
It
may
be
possible
for
the
questionnaire
to
be
used
in
jurisdictions
other
than
those
for
which
it
was
originally
designed
or
intended.
DEPRECATION
NOTE:
For
consistency,
implementations
are
encouraged
to
migrate
to
using
the
new
'jurisdiction'
code
in
the
useContext
element.
(I.e.
useContext.code
indicating
http://terminology.hl7.org/CodeSystem/usage-context-type#jurisdiction
and
useContext.valueCodeableConcept
indicating
the
jurisdiction.)
Questionnaire.purpose
Definition
Element
Id
Questionnaire.purpose
Definition
Explaination
Explanation
of
why
this
questionnaire
is
needed
and
why
it
has
been
designed
as
it
has.
This
element
does
not
describe
the
usage
of
the
questionnaire
Instead
questionnaire.
Instead,
it
provides
traceability
of
''why''
the
resource
is
either
needed
or
''why''
it
is
defined
as
it
is.
This
may
be
used
to
point
to
source
materials
or
specifications
that
drove
the
structure
of
this
questionnaire.
Questionnaire.copyright
Element
Id
Questionnaire.copyright
Definition
A
copyright
statement
relating
to
the
questionnaire
and/or
its
contents.
Copyright
statements
are
notices
of
intellectual
property
ownership
and
can
include
restrictions
on
the
use
and
publishing
of
the
questionnaire.
Short
Display
Notice
about
intellectual
property
ownership,
can
include
restrictions
on
use
A
short
string
(<50
characters),
suitable
for
inclusion
in
a
page
footer
that
identifies
the
copyright
holder,
effective
period,
and
optionally
whether
rights
are
restricted.
(e.g.
'All
rights
reserved',
'Some
rights
reserved').
The
copyright
symbol
and
the
'(c)'
textual
representation
SHOULD
NOT
be
included
in
this
string.
It
will
be
added
by
software
when
rendering
the
notation.
Full
details
about
licensing,
restrictions,
warrantees,
etc.
goes
in
the
more
general
'copyright'
element.
Questionnaire.approvalDate
Definition
Element
Id
Questionnaire.approvalDate
Definition
The
date
on
which
the
resource
content
was
approved
by
the
publisher.
Approval
happens
once
when
the
content
is
officially
approved
for
usage.
The
'date'
element
may
be
more
recent
than
the
approval
date
because
of
minor
changes
/
or
editorial
corrections.
See
guidance
around
(not)
making
local
changes
to
elements
here
.
Questionnaire.lastReviewDate
Definition
Element
Id
Questionnaire.lastReviewDate
Definition
The
date
on
which
the
resource
content
was
last
reviewed.
Review
happens
periodically
after
approval,
approval
but
doesn't
does
not
change
the
original
approval
date.
Short
Display
When
the
questionnaire
was
last
reviewed
by
the
publisher
Gives
a
sense
of
how
"current"
"current"
the
content
is.
Resources
that
have
not
been
reviewed
in
a
long
time
may
have
a
risk
of
being
less
appropriate/relevant.
Allows
establishing
a
transition
before
a
resource
comes
into
effect
and
also
allows
for
a
sunsetting
process
when
new
versions
of
a
the
questionnaire
are
or
are
expected
to
be
used
instead.
The
effective
period
for
a
questionnaire
determines
when
the
content
is
applicable
for
usage
and
is
independent
of
publication
and
review
dates.
For
example,
a
measure
questionnaire
intended
to
be
used
for
the
year
2016
might
be
published
in
2015.
Questionnaire.useContext
Definition
The
content
was
developed
with
a
focus
and
intent
of
supporting
the
contexts
that
are
listed.
These
terms
may
be
used
See
guidance
around
(not)
making
local
changes
to
assist
with
indexing
and
searching
for
appropriate
questionnaire
instances.
elements
here
.
Requirements
Assist
in
searching
for
appropriate
content.
Summary
Element
Id
true
Questionnaire.code
Comments
Definition
When
multiple
useContexts
are
specified,
there
is
no
expectation
whether
all
or
any
An
identifier
for
this
collection
of
the
contexts
apply.
questions
in
a
particular
terminology
such
as
LOINC.
Questionnaire.jurisdiction
Definition
Short
Display
A
legal
or
geographic
region
in
which
Concept
that
represents
the
overall
questionnaire
is
intended
to
be
used.
Allows
linking
of
the
complete
Questionnaire
resources
to
formal
terminologies.
It's
common
for
"panels"
of
questions
to
be
identified
by
a
code.
Comments
Summary
It
may
be
possible
for
the
questionnaire
to
be
used
in
jurisdictions
other
than
those
for
which
it
was
originally
designed
or
intended.
true
Questionnaire.contact
Questionnaire.item
Definition
Element
Id
Questionnaire.item
Definition
Contact
details
to
assist
a
user
in
finding
and
communicating
with
A
particular
question,
question
grouping
or
display
text
that
is
part
of
the
publisher.
questionnaire.
Control
Short
Display
0..*
Questions
and
sections
within
the
Questionnaire
May
be
a
web
site,
The
content
of
the
questionnaire
is
constructed
from
an
email
address,
a
telephone
number,
etc.
ordered,
hierarchical
collection
of
items.
Constraints
Questionnaire.copyright
Defined
on
this
element
Definition
que-11
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.
Consumers
must
be
able
to
determine
any
legal
restrictions
on
the
use
The
types
of
any
specified
answerOptions
must
align
with
the
questionnaire
and/or
its
content.
item
type
Alternate
Names
answerOption.value.exists()
implies
defineVariable('type',
type).trace('type',
%type).answerOption.value.type().name.distinct().select(iif($this='simplequantity',
'quantity',
$this.lower())).where(%type!=$this
and
(%type='text'
and
$this='string').not()
and
(%type='url'
and
$this='uri').not()).trace('Unmatched
answerOption
type(s)').empty()
License;
Restrictions
An
identifier
for
this
question
or
group
The
types
of
questions
in
a
particular
terminology
such
as
LOINC.
any
specified
initial
values
must
align
with
the
item
type
Control
initial.value.exists()
implies
defineVariable('type',
type).trace('type',
%type).initial.value.type().name.distinct().select(iif($this='simplequantity',
'quantity',
$this.lower())).where(%type!=$this
and
(%type='text'
and
$this='string').not()
and
(%type='url'
and
$this='uri').not()).trace('Unmatched
initial
value
type(s)').empty()
0..*
Allows
linking
of
the
complete
Questionnaire
resources
to
formal
terminologies.
It's
common
for
"panels"
of
questions
to
be
identified
by
a
code.
type='group'
implies
item.empty().not()
Comments
Read-only
can't
be
specified
for
"display"
items
The
content
of
the
questionnaire
is
constructed
from
an
ordered,
hierarchical
collection
of
items.
type!='display'
or
readOnly.empty()
Invariants
Defined
on
this
element
que-10
que-1
:
Group
items
must
have
nested
items,
display
items
cannot
have
nested
items
(
expression
:
(type='group'
implies
item.empty().not())
and
(type.trace('type')='display'
implies
item.trace('item').empty()),
xpath:
not((f:type/@value='group'
and
not(f:item))
or
(f:type/@value='display'
and
f:item)))
Maximum
length
can
only
be
declared
for
simple
question
types
(
expression
:
(type
in
('boolean'
('string'
|
'decimal'
|
'integer'
|
'string'
|
'text'
|
'date'
|
'dateTime'
|
'time'
|
'url'))
or
maxLength.empty(),
xpath:
f:type/@value=('boolean',
'decimal',
'integer',
'open-choice',
'string',
'text',
'url')
answerConstraint='optionOrString'
or
not(f:maxLength))
maxLength.empty()
que-3
:
Display
items
cannot
have
a
"code"
asserted
(
expression
:
type!='display'
or
code.empty(),
xpath:
not(f:type/@value='display'
and
f:code))
que-4
:
A
question
cannot
have
both
option
and
options
(
expression
:
option.empty()
or
options.empty(),
xpath:
not(f:options
and
f:option))
que-5
:
Only
'choice'
items
can
have
options
(
expression
que-12
:
(type
='choice'
or
type
=
'open-choice')
or
(options.empty()
and
option.empty()),
xpath:
f:type/@value=('choice','open-choice')
or
not(f:option
or
f:options))
que-6
:
Required
and
repeat
aren't
permitted
for
display
items
(
expression
:
type!='display'
or
(required.empty()
and
repeats.empty()),
xpath:
not(f:type/@value='display'
and
(f:required
or
f:repeats)))
Rule
que-8
:
Default
values
can't
If
there
are
more
than
one
enableWhen,
enableBehavior
must
be
specified
Can
only
have
answerConstraint
if
answerOption
or
readOnly.empty(),
xpath:
not(f:type/@value='display'
and
f:readOnly))
answerValueSet
are
present.
(This
is
a
warning
because
extensions
may
serve
the
same
purpose)
Affect
this
element
answerConstraint.exists()
implies
answerOption.exists()
or
answerValueSet.exists()
QuestionnaireResponse
does
not
require
omitted
items
to
be
included
and
may
have
some
items
that
repeat,
so
linkage
based
on
position
alone
is
not
sufficient.
This
''can''
be
a
meaningful
identifier
(e.g.
a
LOINC
code)
but
is
not
intended
to
have
any
meaning.
GUIDs
or
sequential
numbers
are
appropriate
here.
LinkIds
can
have
whitespaces
and
slashes
by
design.
Tooling
should
not
rely
on
linkIds
being
valid
XHTML
element
IDs,
and
should
not
directly
embed
them
as
such
The
link
ids
for
groups
and
questions
must
be
unique
within
the
questionnaire
repeat(item).linkId.isDistinct()
Questionnaire.item.definition
Definition
Element
Id
Questionnaire.item.definition
Definition
A
reference
This
element
is
a
URI
that
refers
to
an
ElementDefinition
or
to
an
ObservationDefinition
that
provides
the
details
for
the
item.
If
a
definition
is
provided,
then
the
following
element
values
can
be
inferred
from
the
definition:
code
(ElementDefinition.code)
type
(ElementDefinition.type)
required
(ElementDefinition.min)
repeats
(ElementDefinition.max)
maxLength
(ElementDefinition.maxLength)
options
(ElementDefinition.binding)
Any
information
provided
about
this
item,
including
information
that
might
otherwise
be
included
in
these
elements
on
a
the
instance
of
the
Questionnaire
Item
overrides
resource.
A
detailed
description
of
the
information
from
construction
of
the
definition.
URI
is
shown
in
Comments
,
below.
A
common
pattern
is
to
define
a
set
of
data
elements
and
then
build
multiple
questionnaires
for
different
circumstances
to
gather
the
data.
This
element
provides
traceability
to
the
common
definition
and
allows
the
content
for
the
question
to
come
from
the
underlying
definition.
the
URI
The
uri
refers
to
an
ElementDefinition
in
either
a
StructureDefinition
or
a
DataElement
,
to
an
ObservationDefinition
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.
Note
that
LOINC
codes
implicitly
define
DataElement
resources.
Questionnaire.item.code
Definition
Element
Id
Questionnaire.item.code
Definition
A
terminology
code
that
corresponds
to
this
group
or
question
(e.g.
a
code
from
LOINC,
which
defines
many
questions
and
answers).
Short
Display
Corresponding
concept
for
this
item
in
a
terminology
Display
items
cannot
have
a
"code"
"code"
asserted
(
expression
:
type!='display'
or
code.empty(),
xpath:
not(f:type/@value='display'
and
f:code))
code.empty()
Questionnaire.item.prefix
Definition
Element
Id
Questionnaire.item.prefix
Definition
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.
Separating
the
label
from
the
question
text
allows
improved
rendering.
Also,
instructions
will
often
refer
to
specific
prefixes,
so
there's
a
need
for
the
questionnaire
design
to
have
control
over
what
labels
are
used.
These
are
generally
unique
within
a
questionnaire,
though
this
is
not
guaranteed.
Some
questionnaires
may
have
multiple
questions
with
the
same
label
with
logic
to
control
which
gets
exposed.
Typically
Typically,
these
won't
be
used
for
"display"
"display"
items,
though
such
use
is
not
prohibited.
Systems
SHOULD
NOT
generate
their
own
prefixes
if
prefixes
are
defined
for
any
items
within
a
Questionnaire.
Questionnaire.item.text
Definition
Element
Id
Questionnaire.item.text
Definition
The
name
of
a
section,
the
text
of
a
question
or
text
content
for
a
display
item.
When
using
this
element
to
represent
the
name
of
a
section,
use
group
type
item
and
also
make
sure
to
limit
the
text
element
to
a
short
string
suitable
for
display
as
a
section
heading.
Group
item
instructions
should
be
included
as
a
display
type
item
within
the
group.
Questionnaire.item.type
Definition
Element
Id
Questionnaire.item.type
Definition
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,
Coding,
etc.).
Short
Display
group
|
display
|
boolean
|
decimal
|
integer
|
date
|
dateTime
+
true
(Reason:
If
enableWhen
is
present
and
the
condition
evaluates
to
false,
then
the
Questionnaire
behaves
as
though
the
elements
weren't
actually
present)
Requirements
Allows
questionnaires
to
adapt
based
on
answers
to
other
questions.
E.g.
If
physical
gender
is
specified
as
a
male,
no
need
to
capture
pregnancy
history.
Also
allows
conditional
display
of
instructions
or
groups
of
questions.
If
multiple
repetitions
of
this
extension
are
present,
the
interpretation
is
driven
by
enableBehavior
(either
all
repetitions
must
evaluate
to
true
for
this
item
should
to
be
enabled
when
enabled,
or
only
one
must
evaluate
to
true
for
the
item
to
be
enabled).
If
the
enableWhen.question
has
multiple
answers,
the
condition
for
evaluates
to
true
if
any
of
the
repetitions
is
true.
I.e.
treat
"enableWhen"s
as
being
joined
by
an
"or"
clause.
answers
for
the
referenced
item
match
the
enableWhen
condition.
This
element
is
a
modifier
because
if
enableWhen
is
present
for
an
item,
"required"
"required"
is
ignored
unless
one
of
the
enableWhen
conditions
is
met.
When
an
item
is
disabled,
all
of
its
descendants
are
disabled,
regardless
of
what
their
own
enableWhen
logic
might
evaluate
to.
If
enableWhen
logic
depends
on
an
item
that
is
disabled,
the
logic
should
proceed
as
though
the
item
is
not
valued
-
even
if
a
default
value
or
other
value
might
be
retained
in
memory
in
the
event
of
the
item
being
re-enabled.
In
some
cases,
the
comparison
between
the
indicated
answer
and
the
specified
value
may
differ
only
by
precision.
For
example,
the
enableWhen
might
be
Q1
>
1970,
but
the
answer
to
Q1
is
1970-10-15.
There
is
not
a
clear
answer
as
to
whether
1970-10-15
should
be
considered
'greater'
than
1970,
given
that
it
is
an
imprecise
value.
In
these
indeterminate
situations,
the
form
filler
has
the
option
of
refusing
to
render
the
form.
If
the
form
is
displayed,
items
where
enableWhen
is
indeterminate
SHOULD
be
treated
as
enabled
with
a
warning
indicating
that
the
questionnaire
logic
was
faulty
and
it
is
possible
that
the
item
should
not
be
enabled.
Questionnaires
SHOULD
be
designed
to
take
into
account
challenges
around
varying
precision
to
minimize
non-deterministic
situations
by
setting
constraints
around
expected
precision,
etc.
If
multiple
question
occurrences
are
present
for
the
same
question
(same
linkId),
then
this
refers
to
the
nearest
question
occurrence
reachable
by
tracing
first
the
"ancestor"
"ancestor"
axis
and
then
the
"preceding"
"preceding"
axis
and
then
the
"following"
"following"
axis.
If
there
are
multiple
items
with
the
same
linkId
and
all
are
equadistant
(e.g.
a
question
references
a
question
that
appears
in
a
separate
repeating
group),
that
is
an
error.
(Consider
using
the
enableWhenExpression
extension
to
define
logic
to
handle
such
a
situation.)
An
indication
that
this
item
should
be
enabled
only
if
Specifies
the
criteria
by
which
the
specified
question
is
answered
(hasAnswer=true)
or
not
answered
(hasAnswer=false).
enabled.
Comments
Summary
If
answered=false
and
answer
values
are
also
provided,
then
they
are
treated
as
"or".
I.e.
"Enable
if
the
question
is
unanswered
or
the
answer
is
one
of
the
specified
values".
If
answered=true
and
answers
are
present,
one
of
the
specified
answers
must
be
met.
(So
there's
little
reason
to
specify
answered=true
if
answers
are
present.).
operator
=
1)
'exists'
implies
(answer
is
boolean)
Questionnaire.item.enableWhen.answer[x]
Definition
Element
Id
Questionnaire.item.enableWhen.answer[x]
Definition
An
answer
A
value
that
the
referenced
question
must
match
is
tested
using
the
specified
operator
in
order
for
the
item
to
be
enabled.
If
there
are
multiple
answers,
a
match
on
any
of
the
answers
suffices.
If
different
behavior
is
desired
(all
must
match,
at
least
2
must
match,
etc.),
consider
using
the
enableWhenExpression
extension.
Multiple
answers
are
treated
as
"or".
E.g.
Enable
if
question
1
=
A,
C
or
E.
Rule
Components
not
specified
in
If
the
answer
do
not
need
to
match.
For
example,
if
enableWhen
specifies
code
+
system
for
a
Coding,
it
operator
is
ok
if
the
answer
has
a
"display"
element.
I.e.
treat
'exists',
the
answer
as
value
must
be
a
'pattern'.
boolean
operator
=
'exists'
implies
(answer
is
boolean)
Questionnaire.item.enableBehavior
Element
Id
Questionnaire.item.enableBehavior
Definition
Controls
how
multiple
enableWhen
values
are
interpreted
-
whether
all
or
any
must
be
true.
The
dataType
of
this
This
element
must
be
the
same
as
the
data
type
of
the
question
being
referenced.
specified
if
more
than
one
enableWhen
value
is
provided.
If
not
specified,
rendering
behavior
is
up
to
the
client.
This
element
is
only
meaningful
if
enableWhen
or
an
equivalent
extension
is
present
Questionnaire.item.required
Definition
Element
Id
Questionnaire.item.required
Definition
An
indication,
if
true,
that
the
item
must
be
present
in
a
"completed"
"completed"
QuestionnaireResponse.
If
false,
the
item
may
be
skipped
when
answering
the
questionnaire.
If
the
required
item
is
a
question,
it
must
have
a
direct
answer
(i.e.
an
answer
to
the
question
itself,
not
merely
answers
to
child
questions)
in
order
for
the
QuestionnaireResponse
to
be
complete.
If
the
required
item
is
a
group,
it
must
have
at
least
one
descendant
question
which
has
an
answer
Questionnaire.item.required
only
has
meaning
for
elements
that
are
conditionally
enabled
with
enableWhen
if
the
condition
evaluates
to
true.
It
also
only
has
meaning
if
the
parent
element
is
present.
If
a
non-required
'group'
item
contains
a
'required'
question
item,
it's
completely
fine
to
omit
the
group
(because
it's
not
required)
despite
it
having
a
required
child.
Similarly,
if
an
item
that
contains
other
items
is
marked
as
required,
that
does
not
automatically
make
the
contained
elements
required
(though
required
groups
must
contain
at
least
one
child
element).
descendant
item
with
a
populated
answer).
The
value
for
'required'
may
come
from
the
ElementDefinition
referred
to
by
.definition.
Required
and
repeat
aren't
permitted
for
display
items
(
expression
:
type!='display'
or
(required.empty()
and
repeats.empty()),
xpath:
not(f:type/@value='display'
and
(f:required
or
f:repeats)))
repeats.empty())
Questionnaire.item.repeats
Definition
Element
Id
Questionnaire.item.repeats
Definition
An
indication,
if
true,
that
the
a
QuestionnaireResponse
for
this
item
may
occur
multiple
times
in
the
response,
collecting
include
multiple
answers
answers
for
questions
associated
with
a
single
instance
of
this
item
(for
question-type
items)
or
multiple
sets
repetitions
of
answers
for
groups.
the
item
(for
group-type
items).
If
a
question
is
marked
as
repeats=true,
then
multiple
answers
can
be
provided
for
the
question
in
the
corresponding
QuestionnaireResponse.
When
rendering
the
questionnaire,
it
is
up
to
the
rendering
software
whether
to
render
the
question
text
for
each
answer
repetition
(i.e.
"repeat
the
question")
or
to
simply
list
each
allow
entry/selection
of
the
multiple
answers
beneath
for
the
question.
(Which
question
(repeat
the
answers).
Which
is
most
appropriate
visually
may
depend
on
the
type
of
answer
as
well
as
whether
there
are
nested
items.).
items.
The
resulting
QuestionnaireResponse
will
be
populated
the
same
way
regardless
of
rendering
-
one
'question'
item
with
multiple
answer
values.
The
value
may
come
from
the
ElementDefinition
referred
to
by
.definition.
When
repeats=true
for
a
group,
it'll
be
represented
with
multiple
items
with
the
same
linkId
in
the
QuestionnaireResponse.
For
a
question,
it'll
be
represented
by
a
single
item
with
that
linkId
with
multiple
answers.
Allows
certain
information
to
be
phrased
(and
rendered)
as
a
question
and
an
answer,
while
keeping
users
from
changing
it.
May
also
be
useful
for
preventing
changes
to
pre-populated
portions
of
a
questionnaire,
for
calculated
values,
etc.
If
specified
on
a
'group',
then
all
items
beneath
the
specified
group
are
read
only.
For
questions,
this
only
marks
the
answer
associated
with
the
specific
item
read
only.
Descendant
questions
are
not
impacted.
The
value
of
readOnly
elements
can
be
established
by
asserting
extensions
for
defaultValues,
linkages
that
support
pre-population
and/or
extensions
that
support
calculation
based
on
other
answers.
For
base64binary,
reflects
the
number
of
characters
representing
the
encoded
data,
not
the
number
of
bytes
of
the
binary
data.
The
value
may
come
from
the
ElementDefinition
referred
to
by
.definition.
For
items
that
have
a
defined
set
of
allowed
answers
(via
answerOption
or
answerValueSet),
indicates
whether
values
other
than
those
specified
can
be
selected.
LOINC
defines
many
useful
value
sets
for
questionnaire
responses.
See
LOINC
Answer
Lists
.
The
value
may
come
from
the
ElementDefinition
referred
to
by
.definition.
For
items
of
type
Coding,
the
value
set
indicates
the
allowed
code
+
system
matches.
For
items
of
type
'string'
the
display
values
in
the
value
set
expansion
are
taken
as
the
allowed
values
for
the
item.
For
items
of
type
'uri',
the
code
values
in
the
value
set
expansion
are
taken
as
the
allowed
values
for
the
item.
If
the
ValueSet
requires
a
terminology
server
to
provide
an
expansion,
a
preferred
terminology
server
can
be
provided
with
an
extension
on
the
Questionnaire
item,
an
ancestor
item,
or
the
Questionnaire
root.
A
question
cannot
have
both
option
answerOption
and
options
(
expression
answerValueSet
:
option.empty()
answerOption.empty()
or
options.empty(),
xpath:
not(f:options
and
f:option))
answerValueSet.empty()
que-5
:
Only
'choice'
items
can
have
options
(
expression
que-14
:
(type
='choice'
or
type
=
'open-choice')
or
(options.empty()
and
option.empty()),
xpath:
f:type/@value=('choice','open-choice')
Can
only
have
answerConstraint
if
answerOption
or
not(f:option
answerValueSet
are
present.
(This
is
a
warning
because
extensions
may
serve
the
same
purpose)
answerConstraint.exists()
implies
answerOption.exists()
or
f:options))
answerValueSet.exists()
This
element
can
be
used
when
the
value
set
machinery
of
options
answerValueSet
is
deemed
too
cumbersome
or
when
there's
a
need
to
capture
options
possible
answers
that
are
not
codes.
Can
only
have
answerConstraint
if
answerOption
or
not(f:option
answerValueSet
are
present.
(This
is
a
warning
because
extensions
may
serve
the
same
purpose)
answerConstraint.exists()
implies
answerOption.exists()
or
f:options))
answerValueSet.exists()
The
types
of
any
specified
answerOptions
must
align
with
the
item
type
answerOption.value.exists()
implies
defineVariable('type',
type).trace('type',
%type).answerOption.value.type().name.distinct().select(iif($this='simplequantity',
'quantity',
$this.lower())).where(%type!=$this
and
(%type='text'
and
$this='string').not()
and
(%type='url'
and
$this='uri').not()).trace('Unmatched
answerOption
type(s)').empty()
The
user
is
allowed
to
change
the
value
and
override
the
default
(unless
marked
as
read-only).
If
the
user
doesn't
change
the
value,
then
this
initial
value
will
be
persisted
when
the
QuestionnaireResponse
is
initially
created.
Note
that
initial
values
can
influence
results.
The
data
type
of
initial.answer[x]
must
agree
with
the
item.type,
and
only
repeating
items
can
have
more
then
one
initial
value.
Requirements
Summary
In
some
workflows,
having
defaults
saves
time.
false
Comments
The
user
is
allowed
to
change
the
value
and
override
the
default
(unless
marked
as
read-only).
If
the
user
doesn't
change
type
of
the
value,
then
this
initial
value
will
must
be
persisted
when
consistent
with
the
QuestionnaireResponse
is
initially
created.
Note
that
default
values
can
influence
results.
The
data
type
of
initial[x]
must
agree
with
the
item.type.
item.
The
types
of
any
specified
for
groups
or
display
items
(
expression
initial
values
must
align
with
the
item
type
:
(type!='group'
initial.value.exists()
implies
defineVariable('type',
type).trace('type',
%type).initial.value.type().name.distinct().select(iif($this='simplequantity',
'quantity',
$this.lower())).where(%type!=$this
and
type!='display')
or
initial.empty(),
xpath:
not(f:type/@value=('group',
'display')
(%type='text'
and
f:*[starts-with(local-name(.),
'initial')]))
$this='string').not()
and
(%type='url'
and
$this='uri').not()).trace('Unmatched
initial
value
type(s)').empty()
Questionnaire.item.item
Definition
Element
Id
Questionnaire.item.item
Definition
Text,
questions
and
other
groups
to
be
nested
beneath
a
question
or
group.
There
is
no
specified
limit
to
the
depth
of
nesting.
However,
Questionnaire
authors
are
encouraged
to
consider
the
impact
on
the
user
and
user
interface
of
overly
deep
nesting.
Invariants
Affect
this
element
que-1
:
Group
items
must
have
nested
items,
display
items
cannot
have
nested
items
(
expression
:
(type='group'
implies
item.empty().not())
and
(type.trace('type')='display'
implies
item.trace('item').empty()),
xpath:
not((f:type/@value='group'
and
not(f:item))
or
(f:type/@value='display'
and
f:item)))