This
page
is
part
of
the
FHIR
Specification
(v5.0.0:
R5
(v4.0.1:
R4
-
Mixed
Normative
and
STU
).
This
is
the
)
in
it's
permanent
home
(it
will
always
be
available
at
this
URL).
The
current
published
version.
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
Work
Group
|
Maturity Level : 4 | Standards Status : Partially Normative |
|
|
This
page
has
been
approved
as
part
of
an
ANSI
|
This page describes a set of types used for conveying metadata about knowledge resources (mainly for Terminology , Conformance and Clinical Definition resources).
Table of Contents
| ContactDetail | Contributor | DataRequirement | ParameterDefinition |
| RelatedArtifact | TriggerDefinition | Expression | UsageContext |
For
an
index
of
all
datatypes,
data
types,
see
the
Datatypes
Data
types
page
.
|
|
This
DataType
has
been
approved
as
part
of
an
ANSI
|
See
also
Examples
,
Detailed
Descriptions
,
Mappings
,
Profiles
,
Extensions
and
R4
Conversions
Mappings
.
The ContactDetail structure defines general contact details.
Structure
| Name | Flags | Card. | Type |
Description
&
Constraints
|
|---|---|---|---|---|
|
Σ N | Element |
Contact
information
Elements defined in Ancestors: id , extension |
|
|
Σ | 0..1 | string | Name of an individual to contact |
|
Σ | 0..* | ContactPoint |
Contact
details
for
individual
or
organization
|
Documentation
for
this
format
|
||||
UML Diagram ( Legend )
XML Template
< xmlns="http://hl7.org/fhir"><[name] xmlns="http://hl7.org/fhir"> <!-- from Element: extension --> <name value="[string]"/><!-- 0..1 Name of an individual to contact --> <telecom><!-- 0..* ContactPoint Contact details for individual or organization --></telecom></ContactDetail></[name]>
JSON Template
{
// from Element: extension
"name" : "<string>", // Name of an individual to contact
"telecom" : [{ ContactPoint }] // Contact details for individual or organization
}
Turtle Template
@prefix fhir: <http://hl7.org/fhir/> . [ # from Element: Element.extensionfhir: fhir:fhir:ContactDetail.name [ string ]; # 0..1 Name of an individual to contact fhir:ContactDetail.telecom [ ContactPoint ], ... ; # 0..* Contact details for individual or organization ]
Changes since Release 3
| ContactDetail |
|
See the Full Difference for further information
Structure
| Name | Flags | Card. | Type |
Description
&
Constraints
|
|---|---|---|---|---|
|
Σ N | Element |
Contact
information
Elements defined in Ancestors: id , extension |
|
|
Σ | 0..1 | string | Name of an individual to contact |
|
Σ | 0..* | ContactPoint |
Contact
details
for
individual
or
organization
|
Documentation
for
this
format
|
||||
XML Template
< xmlns="http://hl7.org/fhir"><[name] xmlns="http://hl7.org/fhir"> <!-- from Element: extension --> <name value="[string]"/><!-- 0..1 Name of an individual to contact --> <telecom><!-- 0..* ContactPoint Contact details for individual or organization --></telecom></ContactDetail></[name]>
JSON Template
{
// from Element: extension
"name" : "<string>", // Name of an individual to contact
"telecom" : [{ ContactPoint }] // Contact details for individual or organization
}
Turtle Template
@prefix fhir: <http://hl7.org/fhir/> . [ # from Element: Element.extensionfhir: fhir:fhir:ContactDetail.name [ string ]; # 0..1 Name of an individual to contact fhir:ContactDetail.telecom [ ContactPoint ], ... ; # 0..* Contact details for individual or organization ]
Changes since Release 3
| ContactDetail |
|
See the Full Difference for further information
Constraints
ContactDetail
is
used
in
the
following
places:
Contributor
,
ActivityDefinition
,
ActorDefinition
,
CanonicalResource
,
CapabilityStatement
,
ChargeItemDefinition
,
Citation
,
CodeSystem
,
CompartmentDefinition
,
ConceptMap
,
ConditionDefinition
EffectEvidenceSynthesis
,
EventDefinition
,
Evidence
,
EvidenceReport
,
EvidenceVariable
,
ExampleScenario
,
GraphDefinition
,
ImplementationGuide
,
Library
,
Measure
,
MessageDefinition
,
MetadataResource
,
NamingSystem
,
ObservationDefinition
,
OperationDefinition
,
PlanDefinition
,
Questionnaire
,
Requirements
ResearchDefinition
,
ResearchElementDefinition
,
ResearchStudy
,
RiskEvidenceSynthesis
,
SearchParameter
,
SpecimenDefinition
,
StructureDefinition
,
StructureMap
,
SubscriptionTopic
,
TerminologyCapabilities
,
TestPlan
,
TestScript
and
ValueSet
Normative Candidate Note: This DataType (and the rest on this page) is not normative - it is still undergoing Trial Use while more experience is gathered.
See also Examples , Detailed Descriptions and Mappings .
Structure
| Name | Flags | Card. | Type |
Description
&
Constraints
![]() |
|---|---|---|---|---|
| Σ TU | Element |
Contributor
information
Elements defined in Ancestors: id , extension | |
![]() ![]() | Σ | 1..1 | code |
author
|
editor
|
reviewer
|
endorser
ContributorType ( Required ) |
![]() ![]() | Σ | 1..1 | string | Who contributed the content |
![]() ![]() | Σ | 0..* | ContactDetail |
Contact
details
of
the
contributor
|
Documentation
for
this
format
|
||||
UML Diagram ( Legend )
XML Template
<[name] xmlns="http://hl7.org/fhir"> <!-- from Element: extension --> <type value="[code]"/><!-- 1..1 author | editor | reviewer | endorser --> <name value="[string]"/><!-- 1..1 Who contributed the content --> <contact><!-- 0..* ContactDetail Contact details of the contributor --></contact> </[name]>
JSON Template
{
// from Element: extension
"type" : "<code>", // R! author | editor | reviewer | endorser
"name" : "<string>", // R! Who contributed the content
"contact" : [{ ContactDetail }] // Contact details of the contributor
}
Turtle Template
@prefix fhir: <http://hl7.org/fhir/> . [ # from Element: Element.extension fhir:Contributor.type [ code ]; # 1..1 author | editor | reviewer | endorser fhir:Contributor.name [ string ]; # 1..1 Who contributed the content fhir:Contributor.contact [ ContactDetail ], ... ; # 0..* Contact details of the contributor ]
Changes since Release 3
| Contributor | |
| Contributor.type |
|
See the Full Difference for further information
Standards
Status
:
Trial
Use
Structure
| Name | Flags | Card. | Type |
Description
&
Constraints
![]() |
|---|---|---|---|---|
![]() | Σ TU | Element |
Contributor
information
Elements defined in Ancestors: id , extension | |
![]() ![]() | Σ | 1..1 | code |
author
|
editor
|
reviewer
|
endorser
ContributorType ( Required ) |
![]() ![]() | Σ | 1..1 | string | Who contributed the content |
![]() ![]() | Σ | 0..* | ContactDetail |
Contact
details
of
the
contributor
|
Documentation
for
this
format
|
||||
UML Diagram ( Legend )
XML Template
<[name] xmlns="http://hl7.org/fhir"> <!-- from Element: extension --> <type value="[code]"/><!-- 1..1 author | editor | reviewer | endorser --> <name value="[string]"/><!-- 1..1 Who contributed the content --> <contact><!-- 0..* ContactDetail Contact details of the contributor --></contact> </[name]>
JSON Template
{
// from Element: extension
"type" : "<code>", // R! author | editor | reviewer | endorser
"name" : "<string>", // R! Who contributed the content
"contact" : [{ ContactDetail }] // Contact details of the contributor
}
Turtle Template
@prefix fhir: <http://hl7.org/fhir/> . [ # from Element: Element.extension fhir:Contributor.type [ code ]; # 1..1 author | editor | reviewer | endorser fhir:Contributor.name [ string ]; # 1..1 Who contributed the content fhir:Contributor.contact [ ContactDetail ], ... ; # 0..* Contact details of the contributor ]
Changes since Release 3
| Contributor | |
| Contributor.type |
|
See the Full Difference for further information
Constraints
Terminology Bindings
| Path | Definition | Type | Reference |
|---|---|---|---|
| Contributor.type | The type of contributor. | Required | ContributorType |
Contributor is used in the following places: (not used as yet)
See
also
Examples
,
Detailed
Descriptions
,
Mappings
,
Profiles
,
Extensions
and
R4
Conversions
Mappings
.
The DataRequirement structure defines a general data requirement for a knowledge asset such as a decision support rule or quality measure.
Structure
| Name | Flags | Card. | Type |
Description
&
Constraints
|
|---|---|---|---|---|
|
Σ TU | Element |
Describes
a
required
data
item
Elements defined in Ancestors: id , extension |
|
|
Σ | 1..1 | code |
The
type
of
the
required
data
|
|
Σ | 0..* | canonical ( StructureDefinition ) |
The
profile
of
the
required
data
|
|
Σ | 0..1 |
E.g.
Patient,
Practitioner,
RelatedPerson,
Organization,
Location,
Device
|
|
|
CodeableConcept | |||
|
Reference ( Group ) | |||
|
Σ | 0..* | string |
Indicates
specific
structure
elements
that
are
referenced
by
the
knowledge
module
|
|
Σ
|
0..* | Element |
What
codes
are
expected
+ Rule: Either a path or a searchParam must be provided, but not both |
|
Σ
|
0..1 | string | A code-valued attribute to filter on |
|
Σ
|
0..1 | string | A coded (token) parameter to search on |
|
Σ | 0..1 | canonical ( ValueSet ) |
|
|
Σ | 0..* | Coding |
What
code
is
expected
|
|
Σ
|
0..* | Element |
What
dates/date
ranges
are
expected
+ Rule: Either a path or a searchParam must be provided, but not both |
|
Σ
|
0..1 | string | A date-valued attribute to filter on |
|
Σ
|
0..1 | string | A date valued parameter to search on |
|
Σ | 0..1 | The value of the filter, as a Period, DateTime, or Duration value | |
|
|
|
|
|
|
|
Period | ||
|
Duration | |||
|
Σ | 0..1 | positiveInt | Number of results |
|
Σ | 0..* | Element |
Order
of
the
results
|
|
Σ | 1..1 | string | The name of the attribute to perform the sort |
|
Σ | 1..1 | code |
ascending
|
descending
|
Documentation
for
this
format
|
||||
UML Diagram ( Legend )
XML Template
< xmlns="http://hl7.org/fhir"><[name] xmlns="http://hl7.org/fhir"> <!-- from Element: extension --><<type value="[code]"/><!-- 1..1 The type of the required data --> <profile><!-- 0..* canonical(StructureDefinition) The profile of the required data --></profile><</subject[x]><subject[x]><!-- 0..1 CodeableConcept|Reference(Group) E.g. Patient, Practitioner, RelatedPerson, Organization, Location, Device --></subject[x]> <The value of mustSupport SHALL be a FHIRPath resolvable on the type of the DataRequirement. The path SHALL consist only of identifiers, constant indexers, and .resolve() (see the [Simple FHIRPath Profile](fhirpath.html#simple) for full details)." class="dict"> The value of mustSupport SHALL be a FHIRPath resolveable on the type of the DataRequirement. The path SHALL consist only of identifiers, constant indexers, and .resolve() (see the [Simple FHIRPath Profile](fhirpath.html#simple) for full details)." class="dict">mustSupport value="[string]"/><!-- 0..* Indicates specific structure elements that are referenced by the knowledge module --> <codeFilter> <!-- 0..* What codes are expected -->< < <</valueSet><path value="[string]"/><!-- 0..1 A code-valued attribute to filter on --> <searchParam value="[string]"/><!-- 0..1 A coded (token) parameter to search on --> <valueSet><!-- 0..1 canonical(ValueSet) Valueset for the filter --></valueSet> <code><!-- 0..* Coding What code is expected --></code> </codeFilter> <dateFilter> <!-- 0..* What dates/date ranges are expected -->< <<path value="[string]"/><!-- 0..1 A date-valued attribute to filter on --> <searchParam value="[string]"/><!-- 0..1 A date valued parameter to search on --> <value[x]><!-- 0..1 dateTime|Period|Duration The value of the filter, as a Period, DateTime, or Duration value --></value[x]> </dateFilter>< < < < <</value[x]> </valueFilter><limit value="[positiveInt]"/><!-- 0..1 Number of results --> <sort> <!-- 0..* Order of the results --> <path value="[string]"/><!-- 1..1 The name of the attribute to perform the sort --> <direction value="[code]"/><!-- 1..1 ascending | descending --> </sort></DataRequirement></[name]>
JSON Template
{
// from Element: extension
"
"
"type" : "<code>", // R! The type of the required data
"profile" : [{ canonical(StructureDefinition) }], // The profile of the required data
// subject[x]: E.g. Patient, Practitioner, RelatedPerson, Organization, Location, Device. One of these 2:
"subjectCodeableConcept" : { CodeableConcept },
"subjectReference" : { Reference(Group) },
"The value of mustSupport SHALL be a FHIRPath resolvable on the type of the DataRequirement. The path SHALL consist only of identifiers, constant indexers, and .resolve() (see the [Simple FHIRPath Profile](fhirpath.html#simple) for full details)." class="dict">mustSupport
The value of mustSupport SHALL be a FHIRPath resolveable on the type of the DataRequirement. The path SHALL consist only of identifiers, constant indexers, and .resolve() (see the [Simple FHIRPath Profile](fhirpath.html#simple) for full details)." class="dict">mustSupport" : ["<string>"], // Indicates specific structure elements that are referenced by the knowledge module
"codeFilter" : [{ // What codes are expected
"
"
"
"path" : "<string>", // A code-valued attribute to filter on
"searchParam" : "<string>", // A coded (token) parameter to search on
"valueSet" : { canonical(ValueSet) }, // Valueset for the filter
"code" : [{ Coding }] // What code is expected
}],
"dateFilter" : [{ // What dates/date ranges are expected
"
"
"path" : "<string>", // A date-valued attribute to filter on
"searchParam" : "<string>", // A date valued parameter to search on
// value[x]: The value of the filter, as a Period, DateTime, or Duration value. One of these 3:
">",
" },
"valueDateTime" : "<dateTime>"
"valuePeriod" : { Period }
"valueDuration" : { Duration }
}],
"
"
"
"
">",
" },
" }
}],
"limit" : "<positiveInt>", // Number of results
"sort" : [{ // Order of the results
"path" : "<string>", // R! The name of the attribute to perform the sort
"direction" : "<code>" // R! ascending | descending
}]
}
Turtle Template
@prefix fhir: <http://hl7.org/fhir/> . [ # from Element: Element.extensionfhir: fhir: # . One of these 2 fhir: ] fhir:) ]fhir:DataRequirement.type [ code ]; # 1..1 The type of the required data fhir:DataRequirement.profile [ canonical(StructureDefinition) ], ... ; # 0..* The profile of the required data # DataRequirement.subject[x] : 0..1 E.g. Patient, Practitioner, RelatedPerson, Organization, Location, Device. One of these 2 fhir:DataRequirement.subjectCodeableConcept [ CodeableConcept ] fhir:DataRequirement.subjectReference [ Reference(Group) ] fhir:The value of mustSupport SHALL be a FHIRPath resolvable on the type of the DataRequirement. The path SHALL consist only of identifiers, constant indexers, and .resolve() (see the [Simple FHIRPath Profile](fhirpath.html#simple) for full details)." class="dict">mustSupport fhir: fhir: fhir: fhir: fhir: ] ... ) ; fhir: fhir: fhir: # . One of these 3 fhir: ] fhir: ] fhir: ] ] ... ) ; fhir: fhir: fhir: fhir: # . One of these 3 fhir: ] fhir: ] fhir: ] ] ... ) ; fhir: fhir: fhir: fhir: ] ... ) ; The value of mustSupport SHALL be a FHIRPath resolveable on the type of the DataRequirement. The path SHALL consist only of identifiers, constant indexers, and .resolve() (see the [Simple FHIRPath Profile](fhirpath.html#simple) for full details)." class="dict">DataRequirement.mustSupport [ string ], ... ; # 0..* Indicates specific structure elements that are referenced by the knowledge module fhir:DataRequirement.codeFilter [ # 0..* What codes are expected fhir:DataRequirement.codeFilter.path [ string ]; # 0..1 A code-valued attribute to filter on fhir:DataRequirement.codeFilter.searchParam [ string ]; # 0..1 A coded (token) parameter to search on fhir:DataRequirement.codeFilter.valueSet [ canonical(ValueSet) ]; # 0..1 Valueset for the filter fhir:DataRequirement.codeFilter.code [ Coding ], ... ; # 0..* What code is expected ], ...; fhir:DataRequirement.dateFilter [ # 0..* What dates/date ranges are expected fhir:DataRequirement.dateFilter.path [ string ]; # 0..1 A date-valued attribute to filter on fhir:DataRequirement.dateFilter.searchParam [ string ]; # 0..1 A date valued parameter to search on # DataRequirement.dateFilter.value[x] : 0..1 The value of the filter, as a Period, DateTime, or Duration value. One of these 3 fhir:DataRequirement.dateFilter.valueDateTime [ dateTime ] fhir:DataRequirement.dateFilter.valuePeriod [ Period ] fhir:DataRequirement.dateFilter.valueDuration [ Duration ] ], ...; fhir:DataRequirement.limit [ positiveInt ]; # 0..1 Number of results fhir:DataRequirement.sort [ # 0..* Order of the results fhir:DataRequirement.sort.path [ string ]; # 1..1 The name of the attribute to perform the sort fhir:DataRequirement.sort.direction [ code ]; # 1..1 ascending | descending ], ...; ]
Changes since Release 3
| DataRequirement | |
| DataRequirement.type |
|
| DataRequirement.profile |
|
| DataRequirement.subject[x] |
|
|
|
|
| DataRequirement.codeFilter.searchParam |
|
| DataRequirement.codeFilter.valueSet |
|
| DataRequirement.codeFilter.code |
|
| DataRequirement.dateFilter.path |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| DataRequirement.codeFilter.valueCode |
|
| DataRequirement.codeFilter.valueCoding |
|
| DataRequirement.codeFilter.valueCodeableConcept |
|
See the Full Difference for further information
Structure
| Name | Flags | Card. | Type |
Description
&
Constraints
|
|---|---|---|---|---|
|
Σ TU | Element |
Describes
a
required
data
item
Elements defined in Ancestors: id , extension |
|
|
Σ | 1..1 | code |
The
type
of
the
required
data
|
|
Σ | 0..* | canonical ( StructureDefinition ) |
The
profile
of
the
required
data
|
|
Σ | 0..1 |
E.g.
Patient,
Practitioner,
RelatedPerson,
Organization,
Location,
Device
|
|
|
CodeableConcept | |||
|
Reference ( Group ) | |||
|
Σ | 0..* | string |
Indicates
specific
structure
elements
that
are
referenced
by
the
knowledge
module
|
|
Σ
|
0..* | Element |
What
codes
are
expected
+ Rule: Either a path or a searchParam must be provided, but not both |
|
Σ
|
0..1 | string | A code-valued attribute to filter on |
|
Σ
|
0..1 | string | A coded (token) parameter to search on |
|
Σ | 0..1 | canonical ( ValueSet ) |
|
|
Σ | 0..* | Coding |
What
code
is
expected
|
|
Σ
|
0..* | Element |
What
dates/date
ranges
are
expected
+ Rule: Either a path or a searchParam must be provided, but not both |
|
Σ
|
0..1 | string | A date-valued attribute to filter on |
|
Σ
|
0..1 | string | A date valued parameter to search on |
|
Σ | 0..1 | The value of the filter, as a Period, DateTime, or Duration value | |
|
|
|
|
|
|
|
Period | ||
|
Duration | |||
|
Σ | 0..1 | positiveInt | Number of results |
|
Σ | 0..* | Element |
Order
of
the
results
|
|
Σ | 1..1 | string | The name of the attribute to perform the sort |
|
Σ | 1..1 | code |
ascending
|
descending
|
Documentation
for
this
format
|
||||
XML Template
< xmlns="http://hl7.org/fhir"><[name] xmlns="http://hl7.org/fhir"> <!-- from Element: extension --><<type value="[code]"/><!-- 1..1 The type of the required data --> <profile><!-- 0..* canonical(StructureDefinition) The profile of the required data --></profile><</subject[x]><subject[x]><!-- 0..1 CodeableConcept|Reference(Group) E.g. Patient, Practitioner, RelatedPerson, Organization, Location, Device --></subject[x]> <The value of mustSupport SHALL be a FHIRPath resolvable on the type of the DataRequirement. The path SHALL consist only of identifiers, constant indexers, and .resolve() (see the [Simple FHIRPath Profile](fhirpath.html#simple) for full details)." class="dict"> The value of mustSupport SHALL be a FHIRPath resolveable on the type of the DataRequirement. The path SHALL consist only of identifiers, constant indexers, and .resolve() (see the [Simple FHIRPath Profile](fhirpath.html#simple) for full details)." class="dict">mustSupport value="[string]"/><!-- 0..* Indicates specific structure elements that are referenced by the knowledge module --> <codeFilter> <!-- 0..* What codes are expected -->< < <</valueSet><path value="[string]"/><!-- 0..1 A code-valued attribute to filter on --> <searchParam value="[string]"/><!-- 0..1 A coded (token) parameter to search on --> <valueSet><!-- 0..1 canonical(ValueSet) Valueset for the filter --></valueSet> <code><!-- 0..* Coding What code is expected --></code> </codeFilter> <dateFilter> <!-- 0..* What dates/date ranges are expected -->< <<path value="[string]"/><!-- 0..1 A date-valued attribute to filter on --> <searchParam value="[string]"/><!-- 0..1 A date valued parameter to search on --> <value[x]><!-- 0..1 dateTime|Period|Duration The value of the filter, as a Period, DateTime, or Duration value --></value[x]> </dateFilter>< < < < <</value[x]> </valueFilter><limit value="[positiveInt]"/><!-- 0..1 Number of results --> <sort> <!-- 0..* Order of the results --> <path value="[string]"/><!-- 1..1 The name of the attribute to perform the sort --> <direction value="[code]"/><!-- 1..1 ascending | descending --> </sort></DataRequirement></[name]>
JSON Template
{
// from Element: extension
"
"
"type" : "<code>", // R! The type of the required data
"profile" : [{ canonical(StructureDefinition) }], // The profile of the required data
// subject[x]: E.g. Patient, Practitioner, RelatedPerson, Organization, Location, Device. One of these 2:
"subjectCodeableConcept" : { CodeableConcept },
"subjectReference" : { Reference(Group) },
"The value of mustSupport SHALL be a FHIRPath resolvable on the type of the DataRequirement. The path SHALL consist only of identifiers, constant indexers, and .resolve() (see the [Simple FHIRPath Profile](fhirpath.html#simple) for full details)." class="dict">mustSupport
The value of mustSupport SHALL be a FHIRPath resolveable on the type of the DataRequirement. The path SHALL consist only of identifiers, constant indexers, and .resolve() (see the [Simple FHIRPath Profile](fhirpath.html#simple) for full details)." class="dict">mustSupport" : ["<string>"], // Indicates specific structure elements that are referenced by the knowledge module
"codeFilter" : [{ // What codes are expected
"
"
"
"path" : "<string>", // A code-valued attribute to filter on
"searchParam" : "<string>", // A coded (token) parameter to search on
"valueSet" : { canonical(ValueSet) }, // Valueset for the filter
"code" : [{ Coding }] // What code is expected
}],
"dateFilter" : [{ // What dates/date ranges are expected
"
"
"path" : "<string>", // A date-valued attribute to filter on
"searchParam" : "<string>", // A date valued parameter to search on
// value[x]: The value of the filter, as a Period, DateTime, or Duration value. One of these 3:
">",
" },
"valueDateTime" : "<dateTime>"
"valuePeriod" : { Period }
"valueDuration" : { Duration }
}],
"
"
"
"
">",
" },
" }
}],
"limit" : "<positiveInt>", // Number of results
"sort" : [{ // Order of the results
"path" : "<string>", // R! The name of the attribute to perform the sort
"direction" : "<code>" // R! ascending | descending
}]
}
Turtle Template
@prefix fhir: <http://hl7.org/fhir/> . [ # from Element: Element.extensionfhir: fhir: # . One of these 2 fhir: ] fhir:) ]fhir:DataRequirement.type [ code ]; # 1..1 The type of the required data fhir:DataRequirement.profile [ canonical(StructureDefinition) ], ... ; # 0..* The profile of the required data # DataRequirement.subject[x] : 0..1 E.g. Patient, Practitioner, RelatedPerson, Organization, Location, Device. One of these 2 fhir:DataRequirement.subjectCodeableConcept [ CodeableConcept ] fhir:DataRequirement.subjectReference [ Reference(Group) ] fhir:The value of mustSupport SHALL be a FHIRPath resolvable on the type of the DataRequirement. The path SHALL consist only of identifiers, constant indexers, and .resolve() (see the [Simple FHIRPath Profile](fhirpath.html#simple) for full details)." class="dict">mustSupport fhir: fhir: fhir: fhir: fhir: ] ... ) ; fhir: fhir: fhir: # . One of these 3 fhir: ] fhir: ] fhir: ] ] ... ) ; fhir: fhir: fhir: fhir: # . One of these 3 fhir: ] fhir: ] fhir: ] ] ... ) ; fhir: fhir: fhir: fhir: ] ... ) ; The value of mustSupport SHALL be a FHIRPath resolveable on the type of the DataRequirement. The path SHALL consist only of identifiers, constant indexers, and .resolve() (see the [Simple FHIRPath Profile](fhirpath.html#simple) for full details)." class="dict">DataRequirement.mustSupport [ string ], ... ; # 0..* Indicates specific structure elements that are referenced by the knowledge module fhir:DataRequirement.codeFilter [ # 0..* What codes are expected fhir:DataRequirement.codeFilter.path [ string ]; # 0..1 A code-valued attribute to filter on fhir:DataRequirement.codeFilter.searchParam [ string ]; # 0..1 A coded (token) parameter to search on fhir:DataRequirement.codeFilter.valueSet [ canonical(ValueSet) ]; # 0..1 Valueset for the filter fhir:DataRequirement.codeFilter.code [ Coding ], ... ; # 0..* What code is expected ], ...; fhir:DataRequirement.dateFilter [ # 0..* What dates/date ranges are expected fhir:DataRequirement.dateFilter.path [ string ]; # 0..1 A date-valued attribute to filter on fhir:DataRequirement.dateFilter.searchParam [ string ]; # 0..1 A date valued parameter to search on # DataRequirement.dateFilter.value[x] : 0..1 The value of the filter, as a Period, DateTime, or Duration value. One of these 3 fhir:DataRequirement.dateFilter.valueDateTime [ dateTime ] fhir:DataRequirement.dateFilter.valuePeriod [ Period ] fhir:DataRequirement.dateFilter.valueDuration [ Duration ] ], ...; fhir:DataRequirement.limit [ positiveInt ]; # 0..1 Number of results fhir:DataRequirement.sort [ # 0..* Order of the results fhir:DataRequirement.sort.path [ string ]; # 1..1 The name of the attribute to perform the sort fhir:DataRequirement.sort.direction [ code ]; # 1..1 ascending | descending ], ...; ]
Changes since Release 3
| DataRequirement | |
| DataRequirement.type |
|
| DataRequirement.profile |
|
| DataRequirement.subject[x] |
|
|
|
|
| DataRequirement.codeFilter.searchParam |
|
| DataRequirement.codeFilter.valueSet |
|
| DataRequirement.codeFilter.code |
|
| DataRequirement.dateFilter.path |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| DataRequirement.codeFilter.valueCode |
|
| DataRequirement.codeFilter.valueCoding |
|
| DataRequirement.codeFilter.valueCodeableConcept |
|
See the Full Difference for further information
Constraints
| id | Level | Location | Description | Expression |
|
|
Rule | DataRequirement.codeFilter | Either a path or a searchParam must be provided, but not both | path.exists() xor searchParam.exists() |
|
|
Rule | DataRequirement.dateFilter | Either a path or a searchParam must be provided, but not both | path.exists() xor searchParam.exists() |
Terminology Bindings
| Path |
|
Type |
|
|---|---|---|---|
| DataRequirement.type |
|
Required |
All
|
| DataRequirement.subject[x] |
|
Extensible |
|
| DataRequirement.sort.direction |
|
Required |
|
A DataRequirement differs from a parameter in that it specifies the data to be provided in terms of the type of data, and specific filters on code-valued and/or date-valued attributes. Data requirements are not named because they are referenced by type within the evaluation context.
DataRequirements are used by knowledge modules to communicate the set of required data to a consumer in a way that is computable (as opposed to a set of named parameters which must be integrated by hand based on the meaning of the parameter as communicated through the documentation).
DataRequirements are typically used to communicate patient-dependent information such as MedicationStatements and Encounters, whereas Parameters are typically used to communicate patient-independent information such as configuration values.
For example, consider the following CQL expression:
define "Total Colectomy Procedures":
[Procedure: "Total Colectomy Value Set"] P
where P.performedPeriod during "Measurement Period"
The criteria is looking for procedures matching the "Total Colectomy Value Set" that were performed during the "Measurement Period". In this case, "Measurement Period" is a parameter, referenced by name, whereas the reference to Procedure uses the name of the resource type, and so constitutes a data requirement of the criteria:
<dataRequirement>
<type value="Procedure"/>
<codeFilter>
<path value="code"/>
<valueSetString value="Total Colectomy Value Set"/>
</codeFilter>
<dateFilter>
<path value="performed"/>
<path value="performedPeriod"/>
<valuePeriod>
<start value="2016-01-01"/>
<end value="2016-12-31"/>
</valuePeriod>
</dateFilter>
</dataRequirement>
If a resource type has multiple date attributes, then it may be necessary to include multiple date criteria. For instance, in the example above the Procedure resource is using the performedPeriod date attribute. However, the Procedure resource also provides a performedDateTime (specific date and/or time when procedure was performed) attribute. Therefore, if the date criteria for the Procedure in the example was recorded using the performedDateTime attribute, the date criteria would be incomplete. To account for this additional date attribute, the example could be expanded as follows:
define "Total Colectomy Procedures":
[Procedure: "Total Colectomy Value Set"] P
where exists (P.performedPeriod during "Measurement Period")
or exists (P.performedDateTime during "Measurement Period")
The data requirement for the expanded criteria:
<dataRequirement>
<type value="Procedure"/>
<codeFilter>
<path value="code"/>
<valueSetString value="Total Colectomy Value Set"/>
</codeFilter>
<dateFilter>
<path value="performed"/>
<path value="performedPeriod"/>
<path value="performedDateTime"/>
</dateFilter>
</dataRequirement>
DataRequirement
is
used
in
the
following
places:
TriggerDefinition
,
EvidenceVariable
,
GuidanceResponse
,
Library
,
PlanDefinition
and
RequestOrchestration
ResearchElementDefinition
See
also
Examples
,
Detailed
Descriptions
,
Mappings
,
Profiles
,
Extensions
and
R4
Conversions
Mappings
.
The ParameterDefinition structure defines a parameter to a knowledge asset such as a decision support rule or quality measure.
Parameters are typically used to communicate patient-independent information such as configuration values, whereas DataRequirements are typically used to communicate patient-dependent information such as MedicationStatements and Encounters.
Structure
| Name | Flags | Card. | Type |
Description
&
Constraints
|
|---|---|---|---|---|
|
Σ TU | Element |
Definition
of
a
parameter
to
a
module
Elements defined in Ancestors: id , extension |
|
|
Σ | 0..1 | code | Name used to access the parameter value |
|
Σ | 1..1 | code |
in
|
out
|
|
Σ | 0..1 | integer | Minimum cardinality |
|
Σ | 0..1 | string | Maximum cardinality (a number of *) |
|
Σ | 0..1 | string | A brief description of the parameter |
|
Σ | 1..1 | code |
What
type
of
value
|
|
Σ | 0..1 | canonical ( StructureDefinition ) | What profile the value is expected to be |
Documentation
for
this
format
|
||||
UML Diagram ( Legend )
XML Template
< xmlns="http://hl7.org/fhir"><[name] xmlns="http://hl7.org/fhir"> <!-- from Element: extension --> <name value="[code]"/><!-- 0..1 Name used to access the parameter value --> <use value="[code]"/><!-- 1..1 in | out --> <min value="[integer]"/><!-- 0..1 Minimum cardinality --> <max value="[string]"/><!-- 0..1 Maximum cardinality (a number of *) --> <documentation value="[string]"/><!-- 0..1 A brief description of the parameter --><<type value="[code]"/><!-- 1..1 What type of value --> <profile><!-- 0..1 canonical(StructureDefinition) What profile the value is expected to be --></profile></ParameterDefinition></[name]>
JSON Template
{
// from Element: extension
"name" : "<code>", // Name used to access the parameter value
"use" : "<code>", // R! in | out
"min" : <integer>, // Minimum cardinality
"max" : "<string>", // Maximum cardinality (a number of *)
"documentation" : "<string>", // A brief description of the parameter
"
"
"type" : "<code>", // R! What type of value
"profile" : { canonical(StructureDefinition) } // What profile the value is expected to be
}
Turtle Template
@prefix fhir: <http://hl7.org/fhir/> . [ # from Element: Element.extensionfhir: fhir: fhir: fhir: fhir: fhir: fhir:fhir:ParameterDefinition.name [ code ]; # 0..1 Name used to access the parameter value fhir:ParameterDefinition.use [ code ]; # 1..1 in | out fhir:ParameterDefinition.min [ integer ]; # 0..1 Minimum cardinality fhir:ParameterDefinition.max [ string ]; # 0..1 Maximum cardinality (a number of *) fhir:ParameterDefinition.documentation [ string ]; # 0..1 A brief description of the parameter fhir:ParameterDefinition.type [ code ]; # 1..1 What type of value fhir:ParameterDefinition.profile [ canonical(StructureDefinition) ]; # 0..1 What profile the value is expected to be ]
Changes since Release 3
| ParameterDefinition | |
|
|
|
| ParameterDefinition.type |
|
| ParameterDefinition.profile |
|
See the Full Difference for further information
Structure
| Name | Flags | Card. | Type |
Description
&
Constraints
|
|---|---|---|---|---|
|
Σ TU | Element |
Definition
of
a
parameter
to
a
module
Elements defined in Ancestors: id , extension |
|
|
Σ | 0..1 | code | Name used to access the parameter value |
|
Σ | 1..1 | code |
in
|
out
|
|
Σ | 0..1 | integer | Minimum cardinality |
|
Σ | 0..1 | string | Maximum cardinality (a number of *) |
|
Σ | 0..1 | string | A brief description of the parameter |
|
Σ | 1..1 | code |
What
type
of
value
|
|
Σ | 0..1 | canonical ( StructureDefinition ) | What profile the value is expected to be |
Documentation
for
this
format
|
||||
XML Template
< xmlns="http://hl7.org/fhir"><[name] xmlns="http://hl7.org/fhir"> <!-- from Element: extension --> <name value="[code]"/><!-- 0..1 Name used to access the parameter value --> <use value="[code]"/><!-- 1..1 in | out --> <min value="[integer]"/><!-- 0..1 Minimum cardinality --> <max value="[string]"/><!-- 0..1 Maximum cardinality (a number of *) --> <documentation value="[string]"/><!-- 0..1 A brief description of the parameter --><<type value="[code]"/><!-- 1..1 What type of value --> <profile><!-- 0..1 canonical(StructureDefinition) What profile the value is expected to be --></profile></ParameterDefinition></[name]>
JSON Template
{
// from Element: extension
"name" : "<code>", // Name used to access the parameter value
"use" : "<code>", // R! in | out
"min" : <integer>, // Minimum cardinality
"max" : "<string>", // Maximum cardinality (a number of *)
"documentation" : "<string>", // A brief description of the parameter
"
"
"type" : "<code>", // R! What type of value
"profile" : { canonical(StructureDefinition) } // What profile the value is expected to be
}
Turtle Template
@prefix fhir: <http://hl7.org/fhir/> . [ # from Element: Element.extensionfhir: fhir: fhir: fhir: fhir: fhir: fhir:fhir:ParameterDefinition.name [ code ]; # 0..1 Name used to access the parameter value fhir:ParameterDefinition.use [ code ]; # 1..1 in | out fhir:ParameterDefinition.min [ integer ]; # 0..1 Minimum cardinality fhir:ParameterDefinition.max [ string ]; # 0..1 Maximum cardinality (a number of *) fhir:ParameterDefinition.documentation [ string ]; # 0..1 A brief description of the parameter fhir:ParameterDefinition.type [ code ]; # 1..1 What type of value fhir:ParameterDefinition.profile [ canonical(StructureDefinition) ]; # 0..1 What profile the value is expected to be ]
Changes since Release 3
| ParameterDefinition | |
|
|
|
| ParameterDefinition.type |
|
| ParameterDefinition.profile |
|
See the Full Difference for further information
Constraints
Terminology Bindings
| Path |
|
Type |
|
|---|---|---|---|
| ParameterDefinition.use |
|
Required |
|
| ParameterDefinition.type |
|
Required |
All
|
See
also
Examples
,
Detailed
Descriptions
,
Mappings
,
Profiles
,
Extensions
and
R4
Conversions
Mappings
.
The
RelatedArtifact
structure
defines
resources
related
to
an
artifact
a
module
such
as
previous
and
next
versions
of
documents,
documentation,
citations,
etc.
Note
that
the
name
artifact
resource
here
is
being
used
in
a
more
general
sense;
sense
than
the
FHIR-specific
Resource.
The
related
artifact
resource
may
be
a
FHIR
resource,
or
it
may
be
another
type
of
resource,
represented
using
the
Attachment
datatype.
data
type.
Structure
| Name | Flags | Card. | Type |
Description
&
Constraints
|
|---|---|---|---|---|
|
Σ TU | Element |
Related
artifacts
for
a
knowledge
resource
Elements defined in Ancestors: id , extension |
|
|
Σ | 1..1 | code |
documentation
|
justification
|
citation
|
predecessor
|
successor
|
derived-from
|
depends-on
|
composed-of
|
|
Σ |
|
string | Short label |
|
Σ | 0..1 | string | Brief description of the related artifact |
|
Σ | 0..1 | markdown | Bibliographic citation for the artifact |
|
Σ | 0..1 |
|
|
|
Σ | 0..1 |
|
What
|
|
Σ | 0..1 |
|
What
|
Documentation
for
this
format
|
||||
UML Diagram ( Legend )
XML Template
< xmlns="http://hl7.org/fhir"><[name] xmlns="http://hl7.org/fhir"> <!-- from Element: extension -->< <</classifier><type value="[code]"/><!-- 1..1 documentation | justification | citation | predecessor | successor | derived-from | depends-on | composed-of --> <label value="[string]"/><!-- 0..1 Short label --> <display value="[string]"/><!-- 0..1 Brief description of the related artifact --> <citation value="[markdown]"/><!-- 0..1 Bibliographic citation for the artifact --> <url value="[url]"/><!-- 0..1 Where the artifact can be accessed --> <document><!-- 0..1 Attachment What document is being referenced --></document><</resource> <</resourceReference> < < </RelatedArtifact><resource><!-- 0..1 canonical(Any) What resource is being referenced --></resource> </[name]>
JSON Template
{
// from Element: extension
"
"
"type" : "<code>", // R! documentation | justification | citation | predecessor | successor | derived-from | depends-on | composed-of
"label" : "<string>", // Short label
"display" : "<string>", // Brief description of the related artifact
"citation" : "<markdown>", // Bibliographic citation for the artifact
"url" : "<url>", // Where the artifact can be accessed
"document" : { Attachment }, // What document is being referenced
"
"
"
"
"resource" : { canonical(Any) } // What resource is being referenced
}
Turtle Template
@prefix fhir: <http://hl7.org/fhir/> . [ # from Element: Element.extensionfhir: fhir: fhir: fhir: fhir: fhir: fhir: fhir: fhir: fhir:fhir:RelatedArtifact.type [ code ]; # 1..1 documentation | justification | citation | predecessor | successor | derived-from | depends-on | composed-of fhir:RelatedArtifact.label [ string ]; # 0..1 Short label fhir:RelatedArtifact.display [ string ]; # 0..1 Brief description of the related artifact fhir:RelatedArtifact.citation [ markdown ]; # 0..1 Bibliographic citation for the artifact fhir:RelatedArtifact.url [ url ]; # 0..1 Where the artifact can be accessed fhir:RelatedArtifact.document [ Attachment ]; # 0..1 What document is being referenced fhir:RelatedArtifact.resource [ canonical(Any) ]; # 0..1 What resource is being referenced ]
Changes since Release 3
|
RelatedArtifact
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
See the Full Difference for further information
Structure
| Name | Flags | Card. | Type |
Description
&
Constraints
|
|---|---|---|---|---|
|
Σ TU | Element |
Related
artifacts
for
a
knowledge
resource
Elements defined in Ancestors: id , extension |
|
|
Σ | 1..1 | code |
documentation
|
justification
|
citation
|
predecessor
|
successor
|
derived-from
|
depends-on
|
composed-of
|
|
Σ |
|
string | Short label |
|
Σ | 0..1 | string | Brief description of the related artifact |
|
Σ | 0..1 | markdown | Bibliographic citation for the artifact |
|
Σ | 0..1 |
|
|
|
Σ | 0..1 |
|
What
|
|
Σ | 0..1 |
|
What
|
Documentation
for
this
format
|
||||
XML Template
< xmlns="http://hl7.org/fhir"><[name] xmlns="http://hl7.org/fhir"> <!-- from Element: extension -->< <</classifier><type value="[code]"/><!-- 1..1 documentation | justification | citation | predecessor | successor | derived-from | depends-on | composed-of --> <label value="[string]"/><!-- 0..1 Short label --> <display value="[string]"/><!-- 0..1 Brief description of the related artifact --> <citation value="[markdown]"/><!-- 0..1 Bibliographic citation for the artifact --> <url value="[url]"/><!-- 0..1 Where the artifact can be accessed --> <document><!-- 0..1 Attachment What document is being referenced --></document><</resource> <</resourceReference> < < </RelatedArtifact><resource><!-- 0..1 canonical(Any) What resource is being referenced --></resource> </[name]>
JSON Template
{
// from Element: extension
"
"
"type" : "<code>", // R! documentation | justification | citation | predecessor | successor | derived-from | depends-on | composed-of
"label" : "<string>", // Short label
"display" : "<string>", // Brief description of the related artifact
"citation" : "<markdown>", // Bibliographic citation for the artifact
"url" : "<url>", // Where the artifact can be accessed
"document" : { Attachment }, // What document is being referenced
"
"
"
"
"resource" : { canonical(Any) } // What resource is being referenced
}
Turtle Template
@prefix fhir: <http://hl7.org/fhir/> . [ # from Element: Element.extensionfhir: fhir: fhir: fhir: fhir: fhir: fhir: fhir: fhir: fhir:fhir:RelatedArtifact.type [ code ]; # 1..1 documentation | justification | citation | predecessor | successor | derived-from | depends-on | composed-of fhir:RelatedArtifact.label [ string ]; # 0..1 Short label fhir:RelatedArtifact.display [ string ]; # 0..1 Brief description of the related artifact fhir:RelatedArtifact.citation [ markdown ]; # 0..1 Bibliographic citation for the artifact fhir:RelatedArtifact.url [ url ]; # 0..1 Where the artifact can be accessed fhir:RelatedArtifact.document [ Attachment ]; # 0..1 What document is being referenced fhir:RelatedArtifact.resource [ canonical(Any) ]; # 0..1 What resource is being referenced ]
Changes since Release 3
|
RelatedArtifact
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
See the Full Difference for further information
Constraints
Terminology Bindings
| Path |
|
Type |
|
|---|---|---|---|
| RelatedArtifact.type |
|
Required |
|
The following examples illustrate the use of relatedArtifact elements to provide citations:
<relatedArtifact>
<label value="1"/>
<type value="citation"/>
<citation value="Linder, J.A., D.W. Bates, G.M. Lee, J.A. Finkelstein. 2005. _Antibiotic treatment of children with sore throat_ JAMA 294(18):2315-2322. "/>
</relatedArtifact>
<relatedArtifact>
<type value="citation"/>
<label value="2"/>
<citation value="Infectious Diseases Society of America. 2012. _Clinical Practice Guideline for the Diagnosis and Management of Group A Streptococcal Pharyngitis: 2012 Update._ "/>
</relatedArtifact>
<relatedArtifact>
<type value="citation"/>
<label value="3"/>
<citation value="Roberts, R.R., B. Hota, I. Ahmad, et al. _Hospital and Societal Costs of Antimicrobial-Resistant Infections in a Chicago Teaching Hospital: Implications for Antibiotic Stewardship._ Clin Infect Dis. Oct 2009; 49(8):1175-84."/>
</relatedArtifact>
RelatedArtifact
is
used
in
the
following
places:
ActivityDefinition
,
ArtifactAssessment
,
ChargeItemDefinition
,
Citation
,
CodeSystem
,
Composition
,
ConceptMap
,
DeviceDefinition
EffectEvidenceSynthesis
,
EventDefinition
,
Evidence
,
EvidenceReport
,
EvidenceVariable
,
Library
,
Measure
,
MetadataResource
,
NamingSystem
,
PlanDefinition
,
RequestOrchestration
RequestGroup
,
ResearchDefinition
,
ResearchElementDefinition
,
ResearchStudy
and
ValueSet
RiskEvidenceSynthesis
The
RelatedArtifact
type
is
used
in
a
variety
of
contexts,
and
supports
flexible
description
of
relationships
between
artifacts.
For
example,
the
type
can
be
used
to
describe
both
successor
and
predecessor
relationships.
This
flexibility
is
needed
to
support
use
cases
where
only
one
side
or
other
of
the
relationship
is
represented
in
FHIR.
In
practice,
this
datatype
SHALL
NOT
be
used
to
create
bi-directional
linking
between
FHIR
resources.
See
also
Examples
,
Detailed
Descriptions
,
Mappings
,
Profiles
,
Extensions
and
R4
Conversions
Mappings
.
The
TriggerDefinition
structure
defines
when
a
knowledge
artifact
is
expected
to
be
evaluated.
The
structure
can
represent
three
main
kinds
of
triggering
events,
depending
on
the
value
of
type
:
A
named
event
is
an
event
identified
by
the
implementation
environment.
This
allows
any
event
generated
within
the
implementation
environment
to
be
used
as
a
trigger,
but
it
requires
pre-coordination
of
the
names
involved
with
the
consuming
environments.
HL7
V2
v2
events
are
assigned
the
URI
http://terminology.hl7.org/CodeSystem/v2-0003#[code]
e.g.
http://terminology.hl7.org/CodeSystem/v2-0003/A01,
and
reference
any
data
change
that
would
trigger
the
sending
of
the
matching
HL7
V2
v2
version,
if
the
application
providing
the
FHIR
API
supports
v2
events
internally.
A scheduled event occurs on a fixed or periodic schedule.
And finally, a data event occurs in response to some data-related event in the integrated environment such as a record being added or updated. The data-of-interest for a data event is described using a DataRequirement . This allows for systems to automatically invoke based on data activity occurring within the system. A condition may also be specified to further refine the trigger
Structure
| Name | Flags | Card. | Type |
Description
&
Constraints
|
|---|---|---|---|---|
|
Σ I TU | Element |
Defines
an
expected
trigger
for
a
module
+ Rule: Either timing, or a data requirement, but not both + Rule: A condition only if there is a data requirement + Rule: A named event requires a name, a periodic event requires timing, and a data event requires data Elements defined in Ancestors: id , extension |
|
|
Σ
|
1..1 | code |
named-event
|
periodic
|
data-changed
|
data-added
|
data-modified
|
data-removed
|
data-accessed
|
data-access-ended
|
|
Σ
|
0..1 | string |
Name
or
URI
that
identifies
the
event
|
|
Σ | 0..1 |
|
|
|
Timing | |||
|
Reference ( Schedule ) | |||
|
date | |||
|
dateTime | |||
|
Σ
|
0..* | DataRequirement |
Triggering
data
of
the
event
(multiple
=
'and')
|
|
Σ
|
0..1 | Expression | Whether the event triggers (boolean expression) |
Documentation
for
this
format
|
||||
UML Diagram ( Legend )
XML Template
< xmlns="http://hl7.org/fhir"><[name] xmlns="http://hl7.org/fhir"> <!-- from Element: extension -->< < <</code> <</subscriptionTopic> <</timing[x]> <</data> <</condition> </TriggerDefinition><type value="[code]"/><!-- 1..1 named-event | periodic | data-changed | data-added | data-modified | data-removed | data-accessed | data-access-ended --> <name value="[string]"/><!-- 0..1 Name or URI that identifies the event --> <timing[x]><!-- 0..1 Timing|Reference(Schedule)|date|dateTime Timing of the event --></timing[x]> <data><!-- 0..* DataRequirement Triggering data of the event (multiple = 'and') --></data> <condition><!-- 0..1 Expression Whether the event triggers (boolean expression) --></condition> </[name]>
JSON Template
{
// from Element: extension
"
"
"
"
"type" : "<code>", // R! named-event | periodic | data-changed | data-added | data-modified | data-removed | data-accessed | data-access-ended
"name" : "<string>", // Name or URI that identifies the event
// timing[x]: Timing of the event. One of these 4:
"timingTiming" : { Timing },
"timingReference" : { Reference(Schedule) },
"timingDate" : "<date>",
"timingDateTime" : "<dateTime>",
"
"
"data" : [{ DataRequirement }], // Triggering data of the event (multiple = 'and')
"condition" : { Expression } // Whether the event triggers (boolean expression)
}
Turtle Template
@prefix fhir: <http://hl7.org/fhir/> . [ # from Element: Element.extensionfhir: fhir: fhir: fhir: # . One of these 4 fhir: ] fhir:) ] fhir: ] fhir: ] fhir: fhir:fhir:TriggerDefinition.type [ code ]; # 1..1 named-event | periodic | data-changed | data-added | data-modified | data-removed | data-accessed | data-access-ended fhir:TriggerDefinition.name [ string ]; # 0..1 Name or URI that identifies the event # TriggerDefinition.timing[x] : 0..1 Timing of the event. One of these 4 fhir:TriggerDefinition.timingTiming [ Timing ] fhir:TriggerDefinition.timingReference [ Reference(Schedule) ] fhir:TriggerDefinition.timingDate [ date ] fhir:TriggerDefinition.timingDateTime [ dateTime ] fhir:TriggerDefinition.data [ DataRequirement ], ... ; # 0..* Triggering data of the event (multiple = 'and') fhir:TriggerDefinition.condition [ Expression ]; # 0..1 Whether the event triggers (boolean expression) ]
Changes since Release 3
| TriggerDefinition | |
|
|
|
| TriggerDefinition.name |
|
| TriggerDefinition.timing[x] |
|
| TriggerDefinition.data |
|
|
|
|
See the Full Difference for further information
Structure
| Name | Flags | Card. | Type |
Description
&
Constraints
|
|---|---|---|---|---|
|
Σ I TU | Element |
Defines
an
expected
trigger
for
a
module
+ Rule: Either timing, or a data requirement, but not both + Rule: A condition only if there is a data requirement + Rule: A named event requires a name, a periodic event requires timing, and a data event requires data Elements defined in Ancestors: id , extension |
|
|
Σ
|
1..1 | code |
named-event
|
periodic
|
data-changed
|
data-added
|
data-modified
|
data-removed
|
data-accessed
|
data-access-ended
|
|
Σ
|
0..1 | string | Name or URI that identifies the event |
|
Σ | 0..1 |
|
|
|
Timing | |||
|
Reference ( Schedule ) | |||
|
date | |||
|
dateTime | |||
|
Σ
|
0..* | DataRequirement |
Triggering
data
of
the
event
(multiple
=
'and')
|
|
Σ
|
0..1 | Expression | Whether the event triggers (boolean expression) |
Documentation
for
this
format
|
||||
XML Template
< xmlns="http://hl7.org/fhir"><[name] xmlns="http://hl7.org/fhir"> <!-- from Element: extension -->< < <</code> <</subscriptionTopic> <</timing[x]> <</data> <</condition> </TriggerDefinition><type value="[code]"/><!-- 1..1 named-event | periodic | data-changed | data-added | data-modified | data-removed | data-accessed | data-access-ended --> <name value="[string]"/><!-- 0..1 Name or URI that identifies the event --> <timing[x]><!-- 0..1 Timing|Reference(Schedule)|date|dateTime Timing of the event --></timing[x]> <data><!-- 0..* DataRequirement Triggering data of the event (multiple = 'and') --></data> <condition><!-- 0..1 Expression Whether the event triggers (boolean expression) --></condition> </[name]>
JSON Template
{
// from Element: extension
"
"
"
"
"type" : "<code>", // R! named-event | periodic | data-changed | data-added | data-modified | data-removed | data-accessed | data-access-ended
"name" : "<string>", // Name or URI that identifies the event
// timing[x]: Timing of the event. One of these 4:
"timingTiming" : { Timing },
"timingReference" : { Reference(Schedule) },
"timingDate" : "<date>",
"timingDateTime" : "<dateTime>",
"
"
"data" : [{ DataRequirement }], // Triggering data of the event (multiple = 'and')
"condition" : { Expression } // Whether the event triggers (boolean expression)
}
Turtle Template
@prefix fhir: <http://hl7.org/fhir/> . [ # from Element: Element.extensionfhir: fhir: fhir: fhir: # . One of these 4 fhir: ] fhir:) ] fhir: ] fhir: ] fhir: fhir:fhir:TriggerDefinition.type [ code ]; # 1..1 named-event | periodic | data-changed | data-added | data-modified | data-removed | data-accessed | data-access-ended fhir:TriggerDefinition.name [ string ]; # 0..1 Name or URI that identifies the event # TriggerDefinition.timing[x] : 0..1 Timing of the event. One of these 4 fhir:TriggerDefinition.timingTiming [ Timing ] fhir:TriggerDefinition.timingReference [ Reference(Schedule) ] fhir:TriggerDefinition.timingDate [ date ] fhir:TriggerDefinition.timingDateTime [ dateTime ] fhir:TriggerDefinition.data [ DataRequirement ], ... ; # 0..* Triggering data of the event (multiple = 'and') fhir:TriggerDefinition.condition [ Expression ]; # 0..1 Whether the event triggers (boolean expression) ]
Changes since Release 3
| TriggerDefinition | |
|
|
|
| TriggerDefinition.name |
|
| TriggerDefinition.timing[x] |
|
| TriggerDefinition.data |
|
|
|
|
See the Full Difference for further information
Constraints
| id | Level | Location | Description | Expression |
|
|
Rule | (base) | Either timing, or a data requirement, but not both | data.empty() or timing.empty() |
|
|
Rule | (base) | A condition only if there is a data requirement | condition.exists() implies data.exists() |
|
|
Rule | (base) | A named event requires a name, a periodic event requires timing, and a data event requires data | (type = 'named-event' implies name.exists()) and (type = 'periodic' implies timing.exists()) and (type.startsWith('data-') implies data.exists()) |
Terminology Bindings
| Path |
|
Type |
|
|---|---|---|---|
| TriggerDefinition.type |
|
Required |
|
TriggerDefinition is used in the following places: EventDefinition , EvidenceVariable and PlanDefinition
See
also
Examples
,
Detailed
Descriptions
,
Mappings
,
Profiles
,
Extensions
and
R4
Conversions
Mappings
.
The Expression structure defines an expression that generates a value. The expression is provided in a specifed language (by mime type)
The context of use of the expression must specify the context in which the expression is evaluated, and how the result of the expression is used.
Structure
| Name | Flags | Card. | Type |
Description
&
Constraints
|
|---|---|---|---|---|
|
Σ I TU | Element |
An
expression
that
can
be
used
to
generate
a
value
+ Rule: An expression or a reference must be provided |
|
|
Σ | 0..1 | string | Natural language description of the condition |
|
Σ
|
0..1 |
|
Short name assigned to expression for reuse |
|
Σ | 1..1 | code |
text/cql
|
text/fhirpath
|
application/x-fhir-query
|
etc.
|
|
Σ
|
0..1 | string | Expression in specified language |
|
Σ
|
0..1 | uri | Where the expression is found |
Documentation
for
this
format
|
||||
UML Diagram ( Legend )
XML Template
<Expression xmlns="http://hl7.org/fhir"> <!-- from Element: extension --> <description value="[string]"/><!-- 0..1 Natural language description of the condition -->< < < <<name value="[id]"/><!-- 0..1 Short name assigned to expression for reuse --> <language value="[code]"/><!-- 1..1 text/cql | text/fhirpath | application/x-fhir-query | etc. --> <expression value="[string]"/><!-- 0..1 Expression in specified language --> <reference value="[uri]"/><!-- 0..1 Where the expression is found --> </Expression>
JSON Template
{
// from Element: extension
"description" : "<string>", // Natural language description of the condition
"
"
"
"
"name" : "<id>", // Short name assigned to expression for reuse
"language" : "<code>", // R! text/cql | text/fhirpath | application/x-fhir-query | etc.
"expression" : "<string>", // Expression in specified language
"reference" : "<uri>" // Where the expression is found
}
Turtle Template
@prefix fhir: <http://hl7.org/fhir/> . [ # from Element: Element.extensionfhir: fhir: fhir: fhir: fhir:fhir:Expression.description [ string ]; # 0..1 Natural language description of the condition fhir:Expression.name [ id ]; # 0..1 Short name assigned to expression for reuse fhir:Expression.language [ code ]; # 1..1 text/cql | text/fhirpath | application/x-fhir-query | etc. fhir:Expression.expression [ string ]; # 0..1 Expression in specified language fhir:Expression.reference [ uri ]; # 0..1 Where the expression is found ]
Changes since Release 3
Changes
from
both
R4
and
R4B
Expression
Expression.name
Type
changed
from
id
to
code
Expression.language
Min
Cardinality
changed
from
1
to
0
Change
max
value
set
from
http://www.rfc-editor.org/bcp/bcp13.txt
to
none
Change
code
system
for
extensibly
bound
codes
from
"http://hl7.org/fhir/expression-language"
to
"urn:ietf:bcp:13"
See
the
Full
Difference
for
further
information
This
complex-type
did
not
exist
in
Release
2
Structure
| Name | Flags | Card. | Type |
Description
&
Constraints
|
|---|---|---|---|---|
|
Σ I TU | Element |
An
expression
that
can
be
used
to
generate
a
value
+ Rule: An expression or a reference must be provided |
|
|
Σ | 0..1 | string | Natural language description of the condition |
|
Σ
|
0..1 |
|
Short name assigned to expression for reuse |
|
Σ | 1..1 | code |
text/cql
|
text/fhirpath
|
application/x-fhir-query
|
etc.
|
|
Σ
|
0..1 | string | Expression in specified language |
|
Σ
|
0..1 | uri | Where the expression is found |
Documentation
for
this
format
|
||||
XML Template
<Expression xmlns="http://hl7.org/fhir"> <!-- from Element: extension --> <description value="[string]"/><!-- 0..1 Natural language description of the condition -->< < < <<name value="[id]"/><!-- 0..1 Short name assigned to expression for reuse --> <language value="[code]"/><!-- 1..1 text/cql | text/fhirpath | application/x-fhir-query | etc. --> <expression value="[string]"/><!-- 0..1 Expression in specified language --> <reference value="[uri]"/><!-- 0..1 Where the expression is found --> </Expression>
JSON Template
{
// from Element: extension
"description" : "<string>", // Natural language description of the condition
"
"
"
"
"name" : "<id>", // Short name assigned to expression for reuse
"language" : "<code>", // R! text/cql | text/fhirpath | application/x-fhir-query | etc.
"expression" : "<string>", // Expression in specified language
"reference" : "<uri>" // Where the expression is found
}
Turtle Template
@prefix fhir: <http://hl7.org/fhir/> . [ # from Element: Element.extensionfhir: fhir: fhir: fhir: fhir:fhir:Expression.description [ string ]; # 0..1 Natural language description of the condition fhir:Expression.name [ id ]; # 0..1 Short name assigned to expression for reuse fhir:Expression.language [ code ]; # 1..1 text/cql | text/fhirpath | application/x-fhir-query | etc. fhir:Expression.expression [ string ]; # 0..1 Expression in specified language fhir:Expression.reference [ uri ]; # 0..1 Where the expression is found ]
Changes since Release 3
Changes
from
both
R4
and
R4B
Expression
Expression.name
Type
changed
from
id
to
code
Expression.language
Min
Cardinality
changed
from
1
to
0
Change
max
value
set
from
http://www.rfc-editor.org/bcp/bcp13.txt
to
none
Change
code
system
for
extensibly
bound
codes
from
"http://hl7.org/fhir/expression-language"
to
"urn:ietf:bcp:13"
See
the
Full
Difference
for
further
information
This
complex-type
did
not
exist
in
Release
2
Constraints
| id | Level | Location | Description | Expression |
|
|
Rule | (base) | An expression or a reference must be provided | expression.exists() or reference.exists() |
Terminology Bindings
| Path |
|
Type |
|
|---|---|---|---|
| Expression.language |
The
media
type
of
the
expression
language.
|
Extensible
,
but
limited
to
http://www.rfc-editor.org/bcp/bcp13.txt
|
ExpressionLanguage |
Language
support
While
the
expression
data
type
supports
any
language,
a
few
specific
languages
defined
by
HL7
at
particularly
of
interest
for
the
purposes
of
this
specification:
text/fhirpath
:
See
FHIRPath
Documentation
text/x-fhir-query
:
See
FHIR
X-Query
Documentation
text/cql
:
See
CQL
(Clinical
Quality
Language)
Documentation
.
There
are
also
2
CQL
variants:
text/cql-identifier
:
See
CQL
Identifier
text/cql-expression
:
See
CQL
Expression
Expression
is
used
in
the
following
places:
TriggerDefinition
,
ActivityDefinition
,
ChargeItemDefinition
,
ClinicalUseDefinition
,
Consent
,
EvidenceVariable
,
Measure
,
Permission
,
PlanDefinition
,
RequestGroup
and
RequestOrchestration
ResearchElementDefinition
See
also
Examples
,
Detailed
Descriptions
,
Mappings
,
Profiles
,
Extensions
and
R4
Conversions
Mappings
.
The UsageContext structure defines the context of use for a module.
Structure
| Name | Flags | Card. | Type |
Description
&
Constraints
|
|---|---|---|---|---|
|
Σ TU | Element |
Describes
the
context
of
use
for
a
conformance
or
knowledge
resource
Elements defined in Ancestors: id , extension |
|
|
Σ | 1..1 | Coding |
Type
of
context
being
specified
|
|
Σ | 1..1 |
Value
that
defines
the
context
|
|
|
CodeableConcept | |||
|
Quantity | |||
|
Range | |||
|
Reference ( PlanDefinition | ResearchStudy | InsurancePlan | HealthcareService | Group | Location | Organization ) | |||
Documentation
for
this
format
|
||||
UML Diagram ( Legend )
XML Template
< xmlns="http://hl7.org/fhir"><[name] xmlns="http://hl7.org/fhir"> <!-- from Element: extension --><</code> <| | </value[x]> </UsageContext><code><!-- 1..1 Coding Type of context being specified --></code> <value[x]><!-- 1..1 CodeableConcept|Quantity|Range|Reference(PlanDefinition| ResearchStudy|InsurancePlan|HealthcareService|Group|Location|Organization) Value that defines the context --></value[x]> </[name]>
JSON Template
{
// from Element: extension
"
"code" : { Coding }, // R! Type of context being specified
// value[x]: Value that defines the context. One of these 4:
" },
" },
" },
"|
}
"valueCodeableConcept" : { CodeableConcept }
"valueQuantity" : { Quantity }
"valueRange" : { Range }
"valueReference" : { Reference(PlanDefinition|ResearchStudy|InsurancePlan|
HealthcareService|Group|Location|Organization) }
}
Turtle Template
@prefix fhir: <http://hl7.org/fhir/> . [ # from Element: Element.extensionfhir: # . One of these 4 fhir: ] fhir: ] fhir: ] fhir:| ) ]fhir:UsageContext.code [ Coding ]; # 1..1 Type of context being specified # UsageContext.value[x] : 1..1 Value that defines the context. One of these 4 fhir:UsageContext.valueCodeableConcept [ CodeableConcept ] fhir:UsageContext.valueQuantity [ Quantity ] fhir:UsageContext.valueRange [ Range ] fhir:UsageContext.valueReference [ Reference(PlanDefinition|ResearchStudy|InsurancePlan|HealthcareService|Group|Location| Organization) ] ]
Changes since Release 3
| UsageContext | |
| UsageContext.code |
|
| UsageContext.value[x] |
|
See the Full Difference for further information
Structure
| Name | Flags | Card. | Type |
Description
&
Constraints
|
|---|---|---|---|---|
|
Σ TU | Element |
Describes
the
context
of
use
for
a
conformance
or
knowledge
resource
Elements defined in Ancestors: id , extension |
|
|
Σ | 1..1 | Coding |
Type
of
context
being
specified
|
|
Σ | 1..1 |
Value
that
defines
the
context
|
|
|
CodeableConcept | |||
|
Quantity | |||
|
Range | |||
|
Reference ( PlanDefinition | ResearchStudy | InsurancePlan | HealthcareService | Group | Location | Organization ) | |||
Documentation
for
this
format
|
||||
XML Template
< xmlns="http://hl7.org/fhir"><[name] xmlns="http://hl7.org/fhir"> <!-- from Element: extension --><</code> <| | </value[x]> </UsageContext><code><!-- 1..1 Coding Type of context being specified --></code> <value[x]><!-- 1..1 CodeableConcept|Quantity|Range|Reference(PlanDefinition| ResearchStudy|InsurancePlan|HealthcareService|Group|Location|Organization) Value that defines the context --></value[x]> </[name]>
JSON Template
{
// from Element: extension
"
"code" : { Coding }, // R! Type of context being specified
// value[x]: Value that defines the context. One of these 4:
" },
" },
" },
"|
}
"valueCodeableConcept" : { CodeableConcept }
"valueQuantity" : { Quantity }
"valueRange" : { Range }
"valueReference" : { Reference(PlanDefinition|ResearchStudy|InsurancePlan|
HealthcareService|Group|Location|Organization) }
}
Turtle Template
@prefix fhir: <http://hl7.org/fhir/> . [ # from Element: Element.extensionfhir: # . One of these 4 fhir: ] fhir: ] fhir: ] fhir:| ) ]fhir:UsageContext.code [ Coding ]; # 1..1 Type of context being specified # UsageContext.value[x] : 1..1 Value that defines the context. One of these 4 fhir:UsageContext.valueCodeableConcept [ CodeableConcept ] fhir:UsageContext.valueQuantity [ Quantity ] fhir:UsageContext.valueRange [ Range ] fhir:UsageContext.valueReference [ Reference(PlanDefinition|ResearchStudy|InsurancePlan|HealthcareService|Group|Location| Organization) ] ]
Changes since Release 3
| UsageContext | |
| UsageContext.code |
|
| UsageContext.value[x] |
|
See the Full Difference for further information
Constraints
Terminology Bindings
| Path |
|
Type |
|
|---|---|---|---|
| UsageContext.code |
|
Extensible | UsageContextType |
| UsageContext.value[x] |
|
Example |
|
UsageContext
is
used
in
the
following
places:
ElementDefinition
,
ActivityDefinition
,
ActorDefinition
,
CanonicalResource
,
CapabilityStatement
,
ChargeItemDefinition
,
Citation
,
CodeSystem
,
CompartmentDefinition
,
Composition
,
ConceptMap
,
ConditionDefinition
,
DeviceDefinition
EffectEvidenceSynthesis
,
EventDefinition
,
Evidence
,
EvidenceReport
,
EvidenceVariable
,
ExampleScenario
,
GraphDefinition
,
ImplementationGuide
,
Library
,
Measure
,
MessageDefinition
,
NamingSystem
,
ObservationDefinition
,
OperationDefinition
,
PlanDefinition
,
Questionnaire
,
Requirements
ResearchDefinition
,
ResearchElementDefinition
,
RiskEvidenceSynthesis
,
SearchParameter
,
SpecimenDefinition
,
StructureDefinition
,
StructureMap
,
SubscriptionTopic
,
TerminologyCapabilities
,
TestPlan
,
TestScript
and
ValueSet
Structure
Name
Flags
Card.
Type
Description
&
Constraints
MonetaryComponent
Σ
TU
Element
Availability
data
for
an
{item}
Elements
defined
in
Ancestors:
id
,
extension
type
Σ
1..1
code
base
|
surcharge
|
deduction
|
discount
|
tax
|
informational
Binding:
Price
Component
Type
(
Required
)
code
Σ
0..1
CodeableConcept
Codes
may
be
used
to
differentiate
between
kinds
of
taxes,
surcharges,
discounts
etc.
factor
Σ
0..1
decimal
Factor
used
for
calculating
this
component
amount
Σ
0..1
Money
Explicit
value
amount
to
be
used
Documentation
for
this
format
Definition:
XML
|
JSON
UML
Diagram
(
Legend
)
MonetaryComponent
base
|
surcharge
|
deduction
|
discount
|
tax
|
informational
type
:
code
[1..1]
«
The
purpose
for
which
an
extended
contact
detail
should
be
used.
(Strength=Required)
PriceComponentType
!
»
Codes
may
be
used
to
differentiate
between
kinds
of
taxes,
surcharges,
discounts
etc
code
:
CodeableConcept
[0..1]
Factor
used
for
calculating
this
component
factor
:
decimal
[0..1]
Explicit
value
amount
to
be
used
amount
:
Money
[0..1]
DataType
XML
Template
< xmlns="http://hl7.org/fhir">
<!-- from Element: -->
<
<</code>
<
<</amount>
</MonetaryComponent>
JSON
Template
{
// from Element:
"
"
"
"
}
Turtle
Template
@prefix fhir: <http://hl7.org/fhir/> .
[
# from Element:
fhir:
fhir:
fhir:
fhir:
]
Changes
since
Release
3
Changes
from
both
R4
and
R4B
This
complex-type
did
not
exist
in
Release
R4
See
the
Full
Difference
for
further
information
Structure
Name
Flags
Card.
Type
Description
&
Constraints
MonetaryComponent
Σ
TU
Element
Availability
data
for
an
{item}
Elements
defined
in
Ancestors:
id
,
extension
type
Σ
1..1
code
base
|
surcharge
|
deduction
|
discount
|
tax
|
informational
Binding:
Price
Component
Type
(
Required
)
code
Σ
0..1
CodeableConcept
Codes
may
be
used
to
differentiate
between
kinds
of
taxes,
surcharges,
discounts
etc.
factor
Σ
0..1
decimal
Factor
used
for
calculating
this
component
amount
Σ
0..1
Money
Explicit
value
amount
to
be
used
Documentation
for
this
format
UML
Diagram
(
Legend
)
MonetaryComponent
base
|
surcharge
|
deduction
|
discount
|
tax
|
informational
type
:
code
[1..1]
«
The
purpose
for
which
an
extended
contact
detail
should
be
used.
(Strength=Required)
PriceComponentType
!
»
Codes
may
be
used
to
differentiate
between
kinds
of
taxes,
surcharges,
discounts
etc
code
:
CodeableConcept
[0..1]
Factor
used
for
calculating
this
component
factor
:
decimal
[0..1]
Explicit
value
amount
to
be
used
amount
:
Money
[0..1]
DataType
XML
Template
< xmlns="http://hl7.org/fhir">
<!-- from Element: -->
<
<</code>
<
<</amount>
</MonetaryComponent>
JSON
Template
{
// from Element:
"
"
"
"
}
Turtle
Template
@prefix fhir: <http://hl7.org/fhir/> .
[
# from Element:
fhir:
fhir:
fhir:
fhir:
]
Changes
since
Release
3
Changes
from
both
R4
and
R4B
This
complex-type
did
not
exist
in
Release
R4
See
the
Full
Difference
for
further
information
Constraints
Terminology
Bindings
Path
ValueSet
Type
Documentation
MonetaryComponent.type
PriceComponentType
Required
Codes
indicating
the
kind
of
the
price
component.
MonetaryComponent.code
Unknown
No
details
provided
yet
Example
Codes
may
be
used
to
differentiate
between
kinds
of
taxes,
surcharges,
discounts
etc.
MonetaryComponent
is
used
in
the
following
places:
ChargeItem
,
ChargeItemDefinition
and
Invoice