This
is
Snapshot
#3
for
groups
and
questions
must
be
unique
within
the
questionnaire
Elements
defined
in
Ancestors:
id
,
meta
,
implicitRules
,
language
,
text
,
contained
,
extension
FHIR
R5
,
modifierExtension
url
Σ
0..1
uri
Canonical
identifier
for
this
questionnaire,
represented
as
a
URI
(globally
unique)
identifier
Σ
0..*
Identifier
Additional
identifier
for
the
questionnaire
version
Σ
0..1
string
Business
version
of
the
questionnaire
name
Σ
I
0..1
string
Name
for
this
questionnaire
(computer
friendly)
title
Σ
0..1
string
Name
for
this
questionnaire
(human
friendly)
derivedFrom
0..*
canonical
(
Questionnaire
)
Instantiates
protocol
or
definition
status
?!
Σ
1..1
code
draft
|
active
|
retired
|
unknown
PublicationStatus
(
Required
)
experimental
Σ
0..1
boolean
For
testing
purposes,
not
real
usage
subjectType
Σ
0..*
code
Resource
that
can
be
subject
of
QuestionnaireResponse
ResourceType
(
Required
)
date
Σ
0..1
dateTime
Date
last
changed
publisher
Σ
0..1
string
Name
of
the
publisher
(organization
or
individual)
contact
Σ
0..*
ContactDetail
Contact
details
for
the
publisher
description
0..1
markdown
Natural
language
description
of
the
questionnaire
useContext
Σ
0..*
UsageContext
The
context
that
the
content
is
intended
released
to
support
jurisdiction
Σ
0..*
CodeableConcept
Intended
jurisdiction
for
questionnaire
(if
applicable)
Jurisdiction
(
Extensible
)
purpose
0..1
markdown
Why
this
questionnaire
is
defined
copyright
0..1
markdown
Use
and/or
publishing
restrictions
approvalDate
0..1
date
When
the
questionnaire
was
approved
by
publisher
lastReviewDate
0..1
date
When
the
questionnaire
was
last
reviewed
effectivePeriod
Σ
0..1
Period
When
the
questionnaire
is
expected
to
be
used
code
Σ
0..*
Coding
Concept
that
represents
the
overall
questionnaire
Questionnaire
Question
Codes
(
Example
)
item
I
0..*
BackboneElement
Questions
and
sections
within
the
Questionnaire
+
Rule:
Group
items
must
have
nested
items,
display
items
cannot
have
nested
items
+
Rule:
Display
items
cannot
have
a
"code"
asserted
+
Rule:
A
question
cannot
have
both
answerOption
and
answerValueSet
+
Rule:
Only
'choice'
and
'open-choice'
items
can
have
answerValueSet
+
Rule:
Required
and
repeat
aren't
permitted
for
display
items
+
Rule:
Initial
values
can't
be
specified
for
groups
or
display
items
+
Rule:
Read-only
can't
be
specified
for
"display"
items
+
Rule:
Maximum
length
can
only
be
declared
for
simple
question
types
+
Rule:
If
one
or
more
answerOption
is
present,
initial[x]
must
be
missing
+
Rule:
If
there
are
more
than
one
enableWhen,
enableBehavior
must
be
specified
+
Rule:
Can
only
have
multiple
initial
values
for
repeating
items
linkId
1..1
string
Unique
id
for
item
in
questionnaire
definition
0..1
uri
ElementDefinition
-
details
for
the
item
code
I
0..*
Coding
Corresponding
concept
for
this
item
in
a
terminology
Questionnaire
Question
Codes
(
Example
)
prefix
0..1
string
E.g.
"1(a)",
"2.5.3"
text
0..1
string
Primary
text
for
the
item
type
1..1
code
group
|
display
|
boolean
|
decimal
|
integer
|
date
|
dateTime
+
QuestionnaireItemType
(
Required
)
enableWhen
?!
I
0..*
BackboneElement
Only
allow
data
when
+
Rule:
If
the
operator
is
'exists',
the
value
must
be
a
boolean
question
1..1
string
Question
that
determines
whether
item
is
enabled
operator
1..1
code
exists
|
=
|
!=
|
>
|
<
|
>=
|
<=
QuestionnaireItemOperator
(
Required
)
answer[x]
I
1..1
Value
for
question
comparison
based
on
operator
Questionnaire
Answer
Codes
(
Example
)
answerBoolean
boolean
answerDecimal
decimal
answerInteger
integer
answerDate
date
answerDateTime
dateTime
answerTime
time
answerString
string
answerCoding
Coding
answerQuantity
Quantity
answerReference
Reference
(
Any
)
enableBehavior
I
0..1
code
all
|
any
EnableWhenBehavior
(
Required
)
required
I
0..1
boolean
Whether
the
item
must
be
included
in
data
results
repeats
I
0..1
boolean
Whether
the
item
may
repeat
readOnly
I
0..1
boolean
Don't
allow
human
editing
maxLength
I
0..1
integer
No
more
than
this
many
characters
answerValueSet
I
0..1
canonical
(
ValueSet
)
Valueset
containing
permitted
answers
answerOption
I
0..*
BackboneElement
Permitted
answer
value[x]
1..1
Answer
value
Questionnaire
Answer
Codes
(
Example
)
valueInteger
integer
valueDate
date
valueTime
time
valueString
string
valueCoding
Coding
valueReference
Reference
(
Any
)
initialSelected
0..1
boolean
Whether
option
is
selected
by
default
initial
I
0..*
BackboneElement
Initial
value(s)
when
item
is
first
rendered
value[x]
1..1
Actual
value
for
initializing
the
question
Questionnaire
Answer
Codes
(
Example
)
valueBoolean
boolean
valueDecimal
decimal
valueInteger
integer
valueDate
date
valueDateTime
dateTime
valueTime
time
valueString
string
valueUri
uri
valueAttachment
Attachment
valueCoding
Coding
valueQuantity
Quantity
valueReference
Reference
(
Any
)
item
I
0..*
see
item
Nested
questionnaire
items
Documentation
for
this
format
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.
Connectathon
32
.
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
full
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
Release
3
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
XML
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).
)
See
the
Profiles
&
Extensions
and
the
alternate
definitions:
Master
Definition
XML
+
JSON
,
XML
Schema
/
Schematron
+
JSON
Schema
,
ShEx
(for
Turtle
)
+
versions,
see
the
extensions
&
the
dependency
analysis
2.37.4.1
Terminology
Bindings
Path
Definition
Type
Reference
Questionnaire.status
The
lifecycle
status
of
an
artifact.
Required
PublicationStatus
Questionnaire.subjectType
One
of
the
resource
types
defined
as
part
of
this
version
Directory
of
FHIR.
Required
Resource
Types
Questionnaire.jurisdiction
Countries
and
regions
within
which
this
artifact
is
targeted
for
use.
Extensible
Jurisdiction
ValueSet
Questionnaire.code
Questionnaire.item.code
Codes
for
questionnaires,
groups
and
individual
questions.
Example
QuestionnaireQuestionCodes
Questionnaire.item.type
Distinguishes
groups
from
questions
and
display
text
and
indicates
data
type
for
questions.
Required
QuestionnaireItemType
Questionnaire.item.enableWhen.operator
The
criteria
by
which
a
question
is
enabled.
Required
QuestionnaireItemOperator
Questionnaire.item.enableWhen.answer[x]
Allowed
values
to
answer
questions.
Example
QuestionnaireAnswerCodes
Questionnaire.item.enableBehavior
Controls
how
multiple
enableWhen
values
are
interpreted
-
whether
all
or
any
must
be
true.
Required
EnableWhenBehavior
Questionnaire.item.answerOption.value[x]
Allowed
values
to
answer
questions.
Example
QuestionnaireAnswerCodes
Questionnaire.item.initial.value[x]
Allowed
values
to
answer
questions.
Example
QuestionnaireAnswerCodes
published
versions
.
|
|
|
|
|
Any
information
provided
in
these
elements
overrides
the
information
from
the
definition,
and
some
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
Raw
XML
(
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
form
"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
see
XML
Format
Specification
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
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:
AELifecycle
The
"answerValueSet"
mechanism
is
more
sophisticated.
Rather
than
listing
the
possible
answers
directly,
the
item.answerValueSet
element
refers
Usage
note:
every
effort
has
been
made
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,
including:
Questionnaires
ensure
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
examples
are
listed
together
correct
and
then
useful,
but
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.