Publish-box (todo)
Modeling and Methodology Work Group | Maturity Level: 4 | Standards Status: Partially Normative |
Types Framework Cross Reference: Base Types | Datatypes | Resources | Patterns
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 | DataRequirement | ParameterDefinition | RelatedArtifact |
TriggerDefinition | Expression | UsageContext | ExtendedContactDetail |
VirtualServiceDetail | Availability | MonetaryComponent |
For an index of all datatypes, see the Datatypes page.
FHIR Infrastructure Work Group | Maturity Level: 5 | Standards Status: Normative |
See also Examples, Detailed Descriptions, Mappings, Profiles, Extensions and R4 Conversions
The ContactDetail structure defines general contact details.
Structure
Name | Flags | Card. | Type | Description & Constraints |
---|---|---|---|---|
ContactDetail | ΣN | Element | Contact information Elements defined in Ancestors: id, extension | |
name | Σ | 0..1 | string | Name of an individual to contact |
telecom | Σ | 0..* | ContactPoint | Contact details for individual or organization |
Documentation for this format |
UML Diagram (Legend)
XML Template
<ContactDetail 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>
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.extension fhir:name [ string ] ; # 0..1 Name of an individual to contact fhir:telecom ( [ ContactPoint ] ... ) ; # 0..* Contact details for individual or organization ]
Changes since Release 3
Changes from both R4 and R4B
ContactDetail |
|
See the Full Difference for further information
Structure
Name | Flags | Card. | Type | Description & Constraints |
---|---|---|---|---|
ContactDetail | ΣN | Element | Contact information Elements defined in Ancestors: id, extension | |
name | Σ | 0..1 | string | Name of an individual to contact |
telecom | Σ | 0..* | ContactPoint | Contact details for individual or organization |
Documentation for this format |
XML Template
<ContactDetail 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>
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.extension fhir:name [ string ] ; # 0..1 Name of an individual to contact fhir:telecom ( [ ContactPoint ] ... ) ; # 0..* Contact details for individual or organization ]
Changes since Release 3
Changes from both R4 and R4B
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, EventDefinition, Evidence, EvidenceReport, EvidenceVariable, ExampleScenario, GraphDefinition, Group, ImplementationGuide, Library, Measure, MedicationKnowledge, MessageDefinition, MetadataResource, NamingSystem, ObservationDefinition, OperationDefinition, PlanDefinition, Questionnaire, Requirements, SearchParameter, SpecimenDefinition, StructureDefinition, StructureMap, SubscriptionTopic, TerminologyCapabilities, TestPlan, TestScript and ValueSet
FHIR Infrastructure Work Group | Maturity Level: 5 | Standards Status: Trial Use |
See also Examples, Detailed Descriptions, Mappings, Profiles, Extensions and R4 Conversions
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 |
---|---|---|---|---|
DataRequirement | ΣTU | Element | Describes a required data item Elements defined in Ancestors: id, extension | |
type | Σ | 1..1 | code | The type of the required data Binding: All FHIR Types (Required) |
profile | Σ | 0..* | canonical(StructureDefinition) | The profile of the required data |
subject[x] | Σ | 0..1 | E.g. Patient, Practitioner, RelatedPerson, Organization, Location, Device Binding: Participant Resource Types (Extensible) | |
subjectCodeableConcept | CodeableConcept | |||
subjectReference | Reference(Group) | |||
mustSupport | Σ | 0..* | string | Indicates specific structure elements that are referenced by the knowledge module |
codeFilter | ΣC | 0..* | Element | What codes are expected + Rule: Either a path or a searchParam must be provided, but not both |
path | ΣC | 0..1 | string | A code-valued attribute to filter on |
searchParam | ΣC | 0..1 | string | A coded (token) parameter to search on |
valueSet | Σ | 0..1 | canonical(ValueSet) | ValueSet for the filter |
code | Σ | 0..* | Coding | What code is expected |
dateFilter | ΣC | 0..* | Element | What dates/date ranges are expected + Rule: Either a path or a searchParam must be provided, but not both |
path | ΣC | 0..1 | string | A date-valued attribute to filter on |
searchParam | ΣC | 0..1 | string | A date valued parameter to search on |
value[x] | Σ | 0..1 | The value of the filter, as a Period, DateTime, or Duration value | |
valueDateTime | dateTime | |||
valuePeriod | Period | |||
valueDuration | Duration | |||
valueFilter | Σ | 0..* | Element | What values are expected |
path | Σ | 0..1 | string | An attribute to filter on |
searchParam | Σ | 0..1 | string | A parameter to search on |
comparator | Σ | 0..1 | code | eq | gt | lt | ge | le | sa | eb Binding: Value Filter Comparator (Required) |
value[x] | Σ | 0..1 | The value of the filter, as a Period, DateTime, or Duration value | |
valueDateTime | dateTime | |||
valuePeriod | Period | |||
valueDuration | Duration | |||
limit | Σ | 0..1 | positiveInt | Number of results |
sort | Σ | 0..* | Element | Order of the results |
path | Σ | 1..1 | string | The name of the attribute to perform the sort |
direction | Σ | 1..1 | code | ascending | descending Binding: SortDirection (Required) |
Documentation for this format |
UML Diagram (Legend)
XML Template
<DataRequirement 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]><!-- 0..1 CodeableConcept|Reference(Group) E.g. Patient, Practitioner, RelatedPerson, Organization, Location, Device --></subject[x]> <mustSupport value="[string]"/><!-- 0..* Indicates specific structure elements that are referenced by the knowledge module --> <codeFilter> <!-- 0..* What codes are expected --> <path value="[string]"/><!-- I 0..1 A code-valued attribute to filter on --> <searchParam value="[string]"/><!-- I 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]"/><!-- I 0..1 A date-valued attribute to filter on --> <searchParam value="[string]"/><!-- I 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> <valueFilter> <!-- 0..* What values are expected --> <path value="[string]"/><!-- 0..1 An attribute to filter on --> <searchParam value="[string]"/><!-- 0..1 A parameter to search on --> <comparator value="[code]"/><!-- 0..1 eq | gt | lt | ge | le | sa | eb --> <value[x]><!-- 0..1 dateTime|Period|Duration The value of the filter, as a Period, DateTime, or Duration value --></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>
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) }, "mustSupport" : ["<string>"], // Indicates specific structure elements that are referenced by the knowledge module "codeFilter" : [{ // What codes are expected "path" : "<string>", // I A code-valued attribute to filter on "searchParam" : "<string>", // I 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>", // I A date-valued attribute to filter on "searchParam" : "<string>", // I 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 } }], "valueFilter" : [{ // What values are expected "path" : "<string>", // An attribute to filter on "searchParam" : "<string>", // A parameter to search on "comparator" : "<code>", // eq | gt | lt | ge | le | sa | eb // 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.extension fhir:type [ code ] ; # 1..1 The type of the required data fhir:profile ( [ canonical(StructureDefinition) ] ... ) ; # 0..* The profile of the required data # subject[x] : 0..1 E.g. Patient, Practitioner, RelatedPerson, Organization, Location, Device. One of these 2 fhir:subject [ a fhir:CodeableConcept ; CodeableConcept ] fhir:subject [ a fhir:Reference ; Reference(Group) ] fhir:mustSupport ( [ string ] ... ) ; # 0..* Indicates specific structure elements that are referenced by the knowledge module fhir:codeFilter ( [ # 0..* What codes are expected fhir:path [ string ] ; # 0..1 I A code-valued attribute to filter on fhir:searchParam [ string ] ; # 0..1 I A coded (token) parameter to search on fhir:valueSet [ canonical(ValueSet) ] ; # 0..1 ValueSet for the filter fhir:code ( [ Coding ] ... ) ; # 0..* What code is expected ] ... ) ; fhir:dateFilter ( [ # 0..* What dates/date ranges are expected fhir:path [ string ] ; # 0..1 I A date-valued attribute to filter on fhir:searchParam [ string ] ; # 0..1 I A date valued parameter to search on # value[x] : 0..1 The value of the filter, as a Period, DateTime, or Duration value. One of these 3 fhir:value [ a fhir:dateTime ; dateTime ] fhir:value [ a fhir:Period ; Period ] fhir:value [ a fhir:Duration ; Duration ] ] ... ) ; fhir:valueFilter ( [ # 0..* What values are expected fhir:path [ string ] ; # 0..1 An attribute to filter on fhir:searchParam [ string ] ; # 0..1 A parameter to search on fhir:comparator [ code ] ; # 0..1 eq | gt | lt | ge | le | sa | eb # value[x] : 0..1 The value of the filter, as a Period, DateTime, or Duration value. One of these 3 fhir:value [ a fhir:dateTime ; dateTime ] fhir:value [ a fhir:Period ; Period ] fhir:value [ a fhir:Duration ; Duration ] ] ... ) ; fhir:limit [ positiveInt ] ; # 0..1 Number of results fhir:sort ( [ # 0..* Order of the results fhir:path [ string ] ; # 1..1 The name of the attribute to perform the sort fhir:direction [ code ] ; # 1..1 ascending | descending ] ... ) ; ]
Changes since Release 3
Changes from both R4 and R4B
DataRequirement | |
DataRequirement.type |
|
DataRequirement.subject[x] |
|
DataRequirement.valueFilter |
|
DataRequirement.valueFilter.path |
|
DataRequirement.valueFilter.searchParam |
|
DataRequirement.valueFilter.comparator |
|
DataRequirement.valueFilter.value[x] |
|
See the Full Difference for further information
Structure
Name | Flags | Card. | Type | Description & Constraints |
---|---|---|---|---|
DataRequirement | ΣTU | Element | Describes a required data item Elements defined in Ancestors: id, extension | |
type | Σ | 1..1 | code | The type of the required data Binding: All FHIR Types (Required) |
profile | Σ | 0..* | canonical(StructureDefinition) | The profile of the required data |
subject[x] | Σ | 0..1 | E.g. Patient, Practitioner, RelatedPerson, Organization, Location, Device Binding: Participant Resource Types (Extensible) | |
subjectCodeableConcept | CodeableConcept | |||
subjectReference | Reference(Group) | |||
mustSupport | Σ | 0..* | string | Indicates specific structure elements that are referenced by the knowledge module |
codeFilter | ΣC | 0..* | Element | What codes are expected + Rule: Either a path or a searchParam must be provided, but not both |
path | ΣC | 0..1 | string | A code-valued attribute to filter on |
searchParam | ΣC | 0..1 | string | A coded (token) parameter to search on |
valueSet | Σ | 0..1 | canonical(ValueSet) | ValueSet for the filter |
code | Σ | 0..* | Coding | What code is expected |
dateFilter | ΣC | 0..* | Element | What dates/date ranges are expected + Rule: Either a path or a searchParam must be provided, but not both |
path | ΣC | 0..1 | string | A date-valued attribute to filter on |
searchParam | ΣC | 0..1 | string | A date valued parameter to search on |
value[x] | Σ | 0..1 | The value of the filter, as a Period, DateTime, or Duration value | |
valueDateTime | dateTime | |||
valuePeriod | Period | |||
valueDuration | Duration | |||
valueFilter | Σ | 0..* | Element | What values are expected |
path | Σ | 0..1 | string | An attribute to filter on |
searchParam | Σ | 0..1 | string | A parameter to search on |
comparator | Σ | 0..1 | code | eq | gt | lt | ge | le | sa | eb Binding: Value Filter Comparator (Required) |
value[x] | Σ | 0..1 | The value of the filter, as a Period, DateTime, or Duration value | |
valueDateTime | dateTime | |||
valuePeriod | Period | |||
valueDuration | Duration | |||
limit | Σ | 0..1 | positiveInt | Number of results |
sort | Σ | 0..* | Element | Order of the results |
path | Σ | 1..1 | string | The name of the attribute to perform the sort |
direction | Σ | 1..1 | code | ascending | descending Binding: SortDirection (Required) |
Documentation for this format |
XML Template
<DataRequirement 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]><!-- 0..1 CodeableConcept|Reference(Group) E.g. Patient, Practitioner, RelatedPerson, Organization, Location, Device --></subject[x]> <mustSupport value="[string]"/><!-- 0..* Indicates specific structure elements that are referenced by the knowledge module --> <codeFilter> <!-- 0..* What codes are expected --> <path value="[string]"/><!-- I 0..1 A code-valued attribute to filter on --> <searchParam value="[string]"/><!-- I 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]"/><!-- I 0..1 A date-valued attribute to filter on --> <searchParam value="[string]"/><!-- I 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> <valueFilter> <!-- 0..* What values are expected --> <path value="[string]"/><!-- 0..1 An attribute to filter on --> <searchParam value="[string]"/><!-- 0..1 A parameter to search on --> <comparator value="[code]"/><!-- 0..1 eq | gt | lt | ge | le | sa | eb --> <value[x]><!-- 0..1 dateTime|Period|Duration The value of the filter, as a Period, DateTime, or Duration value --></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>
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) }, "mustSupport" : ["<string>"], // Indicates specific structure elements that are referenced by the knowledge module "codeFilter" : [{ // What codes are expected "path" : "<string>", // I A code-valued attribute to filter on "searchParam" : "<string>", // I 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>", // I A date-valued attribute to filter on "searchParam" : "<string>", // I 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 } }], "valueFilter" : [{ // What values are expected "path" : "<string>", // An attribute to filter on "searchParam" : "<string>", // A parameter to search on "comparator" : "<code>", // eq | gt | lt | ge | le | sa | eb // 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.extension fhir:type [ code ] ; # 1..1 The type of the required data fhir:profile ( [ canonical(StructureDefinition) ] ... ) ; # 0..* The profile of the required data # subject[x] : 0..1 E.g. Patient, Practitioner, RelatedPerson, Organization, Location, Device. One of these 2 fhir:subject [ a fhir:CodeableConcept ; CodeableConcept ] fhir:subject [ a fhir:Reference ; Reference(Group) ] fhir:mustSupport ( [ string ] ... ) ; # 0..* Indicates specific structure elements that are referenced by the knowledge module fhir:codeFilter ( [ # 0..* What codes are expected fhir:path [ string ] ; # 0..1 I A code-valued attribute to filter on fhir:searchParam [ string ] ; # 0..1 I A coded (token) parameter to search on fhir:valueSet [ canonical(ValueSet) ] ; # 0..1 ValueSet for the filter fhir:code ( [ Coding ] ... ) ; # 0..* What code is expected ] ... ) ; fhir:dateFilter ( [ # 0..* What dates/date ranges are expected fhir:path [ string ] ; # 0..1 I A date-valued attribute to filter on fhir:searchParam [ string ] ; # 0..1 I A date valued parameter to search on # value[x] : 0..1 The value of the filter, as a Period, DateTime, or Duration value. One of these 3 fhir:value [ a fhir:dateTime ; dateTime ] fhir:value [ a fhir:Period ; Period ] fhir:value [ a fhir:Duration ; Duration ] ] ... ) ; fhir:valueFilter ( [ # 0..* What values are expected fhir:path [ string ] ; # 0..1 An attribute to filter on fhir:searchParam [ string ] ; # 0..1 A parameter to search on fhir:comparator [ code ] ; # 0..1 eq | gt | lt | ge | le | sa | eb # value[x] : 0..1 The value of the filter, as a Period, DateTime, or Duration value. One of these 3 fhir:value [ a fhir:dateTime ; dateTime ] fhir:value [ a fhir:Period ; Period ] fhir:value [ a fhir:Duration ; Duration ] ] ... ) ; fhir:limit [ positiveInt ] ; # 0..1 Number of results fhir:sort ( [ # 0..* Order of the results fhir:path [ string ] ; # 1..1 The name of the attribute to perform the sort fhir:direction [ code ] ; # 1..1 ascending | descending ] ... ) ; ]
Changes since Release 3
Changes from both R4 and R4B
DataRequirement | |
DataRequirement.type |
|
DataRequirement.subject[x] |
|
DataRequirement.valueFilter |
|
DataRequirement.valueFilter.path |
|
DataRequirement.valueFilter.searchParam |
|
DataRequirement.valueFilter.comparator |
|
DataRequirement.valueFilter.value[x] |
|
See the Full Difference for further information
Constraints
id | Level | Location | Description | Expression |
drq-1 | Rule | DataRequirement.codeFilter | Either a path or a searchParam must be provided, but not both | path.exists() xor searchParam.exists() |
drq-2 | Rule | DataRequirement.dateFilter | Either a path or a searchParam must be provided, but not both | path.exists() xor searchParam.exists() |
Terminology Bindings
Path | ValueSet | Type | Documentation |
---|---|---|---|
DataRequirement.type | FHIRTypes (a valid code from All FHIR Types) | Required | All FHIR types |
DataRequirement.subject[x] | ParticipantResourceTypes | Extensible | All Resource Types that represent participant resources |
DataRequirement.valueFilter.comparator | ValueFilterComparator | Required | The type of comparator operator to use |
DataRequirement.sort.direction | SortDirection | Required | The possible sort directions, ascending or descending. |
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"/>
<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"/>
</dateFilter>
</dataRequirement>
DataRequirement is used in the following places: TriggerDefinition, GuidanceResponse, Library, PlanDefinition and RequestOrchestration
FHIR Infrastructure Work Group | Maturity Level: 5 | Standards Status: Trial Use |
See also Examples, Detailed Descriptions, Mappings, Profiles, Extensions and R4 Conversions
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 |
---|---|---|---|---|
ParameterDefinition | ΣTU | Element | Definition of a parameter to a module Elements defined in Ancestors: id, extension | |
name | Σ | 0..1 | code | Name used to access the parameter value |
use | Σ | 1..1 | code | in | out Binding: Operation Parameter Use (Required) |
min | Σ | 0..1 | integer | Minimum cardinality |
max | Σ | 0..1 | string | Maximum cardinality (a number of *) |
documentation | Σ | 0..1 | string | A brief description of the parameter |
type | Σ | 1..1 | code | What type of value Binding: All FHIR Types (Required) |
profile | Σ | 0..1 | canonical(StructureDefinition) | What profile the value is expected to be |
Documentation for this format |
UML Diagram (Legend)
XML Template
<ParameterDefinition 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>
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.extension fhir:name [ code ] ; # 0..1 Name used to access the parameter value fhir:use [ code ] ; # 1..1 in | out fhir:min [ integer ] ; # 0..1 Minimum cardinality fhir:max [ string ] ; # 0..1 Maximum cardinality (a number of *) fhir:documentation [ string ] ; # 0..1 A brief description of the parameter fhir:type [ code ] ; # 1..1 What type of value fhir:profile [ canonical(StructureDefinition) ] ; # 0..1 What profile the value is expected to be ]
Changes since Release 3
Changes from both R4 and R4B
ParameterDefinition | |
ParameterDefinition.type |
|
See the Full Difference for further information
Structure
Name | Flags | Card. | Type | Description & Constraints |
---|---|---|---|---|
ParameterDefinition | ΣTU | Element | Definition of a parameter to a module Elements defined in Ancestors: id, extension | |
name | Σ | 0..1 | code | Name used to access the parameter value |
use | Σ | 1..1 | code | in | out Binding: Operation Parameter Use (Required) |
min | Σ | 0..1 | integer | Minimum cardinality |
max | Σ | 0..1 | string | Maximum cardinality (a number of *) |
documentation | Σ | 0..1 | string | A brief description of the parameter |
type | Σ | 1..1 | code | What type of value Binding: All FHIR Types (Required) |
profile | Σ | 0..1 | canonical(StructureDefinition) | What profile the value is expected to be |
Documentation for this format |
XML Template
<ParameterDefinition 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>
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.extension fhir:name [ code ] ; # 0..1 Name used to access the parameter value fhir:use [ code ] ; # 1..1 in | out fhir:min [ integer ] ; # 0..1 Minimum cardinality fhir:max [ string ] ; # 0..1 Maximum cardinality (a number of *) fhir:documentation [ string ] ; # 0..1 A brief description of the parameter fhir:type [ code ] ; # 1..1 What type of value fhir:profile [ canonical(StructureDefinition) ] ; # 0..1 What profile the value is expected to be ]
Changes since Release 3
Changes from both R4 and R4B
ParameterDefinition | |
ParameterDefinition.type |
|
See the Full Difference for further information
Constraints
Terminology Bindings
Path | ValueSet | Type | Documentation |
---|---|---|---|
ParameterDefinition.use | OperationParameterUse | Required | Whether an operation parameter is an input or an output parameter. |
ParameterDefinition.type | FHIRTypes (a valid code from All FHIR Types) | Required | All FHIR types |
FHIR Infrastructure Work Group | Maturity Level: 5 | Standards Status: Trial Use |
See also Examples, Detailed Descriptions, Mappings, Profiles, Extensions and R4 Conversions
The RelatedArtifact structure defines resources related to an artifact such as previous and next versions of documents, documentation, citations, etc. Note that the name artifact here is being used in a general sense; The related artifact may be a FHIR resource, or it may be another type of resource, represented using the Attachment datatype.
Structure
Name | Flags | Card. | Type | Description & Constraints |
---|---|---|---|---|
RelatedArtifact | ΣTU | Element | Related artifacts for a knowledge resource Elements defined in Ancestors: id, extension | |
type | Σ | 1..1 | code | documentation | justification | citation | predecessor | successor | derived-from | depends-on | composed-of | part-of | amends | amended-with | appends | appended-with | cites | cited-by | comments-on | comment-in | contains | contained-in | corrects | correction-in | replaces | replaced-with | retracts | retracted-by | signs | similar-to | supports | supported-with | transforms | transformed-into | transformed-with | documents | specification-of | created-with | cite-as Binding: RelatedArtifactType (Required) |
classifier | Σ | 0..* | CodeableConcept | Additional classifiers Binding: Citation Artifact Classifier (Example) |
label | Σ | 0..1 | string | Short label |
display | Σ | 0..1 | string | Brief description of the related artifact |
citation | Σ | 0..1 | markdown | Bibliographic citation for the artifact |
document | Σ | 0..1 | Attachment | What document is being referenced |
resource | Σ | 0..1 | canonical(Any) | What artifact is being referenced |
resourceReference | Σ | 0..1 | Reference(Any) | What artifact, if not a conformance resource |
publicationStatus | Σ | 0..1 | code | draft | active | retired | unknown Binding: PublicationStatus (Required) |
publicationDate | Σ | 0..1 | date | Date of publication of the artifact being referred to |
Documentation for this format |
UML Diagram (Legend)
XML Template
<RelatedArtifact xmlns="http://hl7.org/fhir"> <!-- from Element: extension --> <type value="[code]"/><!-- 1..1 documentation | justification | citation | predecessor | successor | derived-from | depends-on | composed-of | part-of | amends | amended-with | appends | appended-with | cites | cited-by | comments-on | comment-in | contains | contained-in | corrects | correction-in | replaces | replaced-with | retracts | retracted-by | signs | similar-to | supports | supported-with | transforms | transformed-into | transformed-with | documents | specification-of | created-with | cite-as --> <classifier><!-- 0..* CodeableConcept Additional classifiers --></classifier> <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 --> <document><!-- 0..1 Attachment What document is being referenced --></document> <resource><!-- 0..1 canonical(Any) What artifact is being referenced --></resource> <resourceReference><!-- 0..1 Reference(Any) What artifact, if not a conformance resource --></resourceReference> <publicationStatus value="[code]"/><!-- 0..1 draft | active | retired | unknown --> <publicationDate value="[date]"/><!-- 0..1 Date of publication of the artifact being referred to --> </RelatedArtifact>
JSON Template
{ // from Element: extension "type" : "<code>", // R! documentation | justification | citation | predecessor | successor | derived-from | depends-on | composed-of | part-of | amends | amended-with | appends | appended-with | cites | cited-by | comments-on | comment-in | contains | contained-in | corrects | correction-in | replaces | replaced-with | retracts | retracted-by | signs | similar-to | supports | supported-with | transforms | transformed-into | transformed-with | documents | specification-of | created-with | cite-as "classifier" : [{ CodeableConcept }], // Additional classifiers "label" : "<string>", // Short label "display" : "<string>", // Brief description of the related artifact "citation" : "<markdown>", // Bibliographic citation for the artifact "document" : { Attachment }, // What document is being referenced "resource" : "<canonical(Any)>", // What artifact is being referenced "resourceReference" : { Reference(Any) }, // What artifact, if not a conformance resource "publicationStatus" : "<code>", // draft | active | retired | unknown "publicationDate" : "<date>" // Date of publication of the artifact being referred to }
Turtle Template
@prefix fhir: <http://hl7.org/fhir/> . [ # from Element: Element.extension fhir:type [ code ] ; # 1..1 documentation | justification | citation | predecessor | successor | derived-from | depends-on | composed-of | part-of | amends | amended-with | appends | appended-with | cites | cited-by | comments-on | comment-in | contains | contained-in | corrects | correction-in | replaces | replaced-with | retracts | retracted-by | signs | similar-to | supports | supported-with | transforms | transformed-into | transformed-with | documents | specification-of | created-with | cite-as fhir:classifier ( [ CodeableConcept ] ... ) ; # 0..* Additional classifiers fhir:label [ string ] ; # 0..1 Short label fhir:display [ string ] ; # 0..1 Brief description of the related artifact fhir:citation [ markdown ] ; # 0..1 Bibliographic citation for the artifact fhir:document [ Attachment ] ; # 0..1 What document is being referenced fhir:resource [ canonical(Any) ] ; # 0..1 What artifact is being referenced fhir:resourceReference [ Reference(Any) ] ; # 0..1 What artifact, if not a conformance resource fhir:publicationStatus [ code ] ; # 0..1 draft | active | retired | unknown fhir:publicationDate [ date ] ; # 0..1 Date of publication of the artifact being referred to ]
Changes since Release 3
Changes from both R4 and R4B
RelatedArtifact | |
RelatedArtifact.type |
|
RelatedArtifact.classifier |
|
RelatedArtifact.resourceReference |
|
RelatedArtifact.publicationStatus |
|
RelatedArtifact.publicationDate |
|
RelatedArtifact.url |
|
See the Full Difference for further information
Structure
Name | Flags | Card. | Type | Description & Constraints |
---|---|---|---|---|
RelatedArtifact | ΣTU | Element | Related artifacts for a knowledge resource Elements defined in Ancestors: id, extension | |
type | Σ | 1..1 | code | documentation | justification | citation | predecessor | successor | derived-from | depends-on | composed-of | part-of | amends | amended-with | appends | appended-with | cites | cited-by | comments-on | comment-in | contains | contained-in | corrects | correction-in | replaces | replaced-with | retracts | retracted-by | signs | similar-to | supports | supported-with | transforms | transformed-into | transformed-with | documents | specification-of | created-with | cite-as Binding: RelatedArtifactType (Required) |
classifier | Σ | 0..* | CodeableConcept | Additional classifiers Binding: Citation Artifact Classifier (Example) |
label | Σ | 0..1 | string | Short label |
display | Σ | 0..1 | string | Brief description of the related artifact |
citation | Σ | 0..1 | markdown | Bibliographic citation for the artifact |
document | Σ | 0..1 | Attachment | What document is being referenced |
resource | Σ | 0..1 | canonical(Any) | What artifact is being referenced |
resourceReference | Σ | 0..1 | Reference(Any) | What artifact, if not a conformance resource |
publicationStatus | Σ | 0..1 | code | draft | active | retired | unknown Binding: PublicationStatus (Required) |
publicationDate | Σ | 0..1 | date | Date of publication of the artifact being referred to |
Documentation for this format |
XML Template
<RelatedArtifact xmlns="http://hl7.org/fhir"> <!-- from Element: extension --> <type value="[code]"/><!-- 1..1 documentation | justification | citation | predecessor | successor | derived-from | depends-on | composed-of | part-of | amends | amended-with | appends | appended-with | cites | cited-by | comments-on | comment-in | contains | contained-in | corrects | correction-in | replaces | replaced-with | retracts | retracted-by | signs | similar-to | supports | supported-with | transforms | transformed-into | transformed-with | documents | specification-of | created-with | cite-as --> <classifier><!-- 0..* CodeableConcept Additional classifiers --></classifier> <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 --> <document><!-- 0..1 Attachment What document is being referenced --></document> <resource><!-- 0..1 canonical(Any) What artifact is being referenced --></resource> <resourceReference><!-- 0..1 Reference(Any) What artifact, if not a conformance resource --></resourceReference> <publicationStatus value="[code]"/><!-- 0..1 draft | active | retired | unknown --> <publicationDate value="[date]"/><!-- 0..1 Date of publication of the artifact being referred to --> </RelatedArtifact>
JSON Template
{ // from Element: extension "type" : "<code>", // R! documentation | justification | citation | predecessor | successor | derived-from | depends-on | composed-of | part-of | amends | amended-with | appends | appended-with | cites | cited-by | comments-on | comment-in | contains | contained-in | corrects | correction-in | replaces | replaced-with | retracts | retracted-by | signs | similar-to | supports | supported-with | transforms | transformed-into | transformed-with | documents | specification-of | created-with | cite-as "classifier" : [{ CodeableConcept }], // Additional classifiers "label" : "<string>", // Short label "display" : "<string>", // Brief description of the related artifact "citation" : "<markdown>", // Bibliographic citation for the artifact "document" : { Attachment }, // What document is being referenced "resource" : "<canonical(Any)>", // What artifact is being referenced "resourceReference" : { Reference(Any) }, // What artifact, if not a conformance resource "publicationStatus" : "<code>", // draft | active | retired | unknown "publicationDate" : "<date>" // Date of publication of the artifact being referred to }
Turtle Template
@prefix fhir: <http://hl7.org/fhir/> . [ # from Element: Element.extension fhir:type [ code ] ; # 1..1 documentation | justification | citation | predecessor | successor | derived-from | depends-on | composed-of | part-of | amends | amended-with | appends | appended-with | cites | cited-by | comments-on | comment-in | contains | contained-in | corrects | correction-in | replaces | replaced-with | retracts | retracted-by | signs | similar-to | supports | supported-with | transforms | transformed-into | transformed-with | documents | specification-of | created-with | cite-as fhir:classifier ( [ CodeableConcept ] ... ) ; # 0..* Additional classifiers fhir:label [ string ] ; # 0..1 Short label fhir:display [ string ] ; # 0..1 Brief description of the related artifact fhir:citation [ markdown ] ; # 0..1 Bibliographic citation for the artifact fhir:document [ Attachment ] ; # 0..1 What document is being referenced fhir:resource [ canonical(Any) ] ; # 0..1 What artifact is being referenced fhir:resourceReference [ Reference(Any) ] ; # 0..1 What artifact, if not a conformance resource fhir:publicationStatus [ code ] ; # 0..1 draft | active | retired | unknown fhir:publicationDate [ date ] ; # 0..1 Date of publication of the artifact being referred to ]
Changes since Release 3
Changes from both R4 and R4B
RelatedArtifact | |
RelatedArtifact.type |
|
RelatedArtifact.classifier |
|
RelatedArtifact.resourceReference |
|
RelatedArtifact.publicationStatus |
|
RelatedArtifact.publicationDate |
|
RelatedArtifact.url |
|
See the Full Difference for further information
Constraints
Terminology Bindings
Path | ValueSet | Type | Documentation |
---|---|---|---|
RelatedArtifact.type | RelatedArtifactType | Required | The type of relationship to the related artifact. |
RelatedArtifact.classifier | CitationArtifactClassifier | Example | Citation artifact classifier |
RelatedArtifact.publicationStatus | PublicationStatus | Required | The lifecycle status of an artifact. |
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, EventDefinition, Evidence, EvidenceReport, EvidenceVariable, Library, Measure, MetadataResource, NamingSystem, PlanDefinition, RequestOrchestration, ResearchStudy and ValueSet
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.
FHIR Infrastructure Work Group | Maturity Level: 5 | Standards Status: Trial Use |
See also Examples, Detailed Descriptions, Mappings, Profiles, Extensions and R4 Conversions
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 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 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 |
---|---|---|---|---|
TriggerDefinition | Σ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 | |
type | ΣC | 1..1 | code | named-event | periodic | data-changed | data-added | data-modified | data-removed | data-accessed | data-access-ended Binding: TriggerType (Required) |
name | ΣC | 0..1 | string | Name or URI that identifies the event |
code | Σ | 0..1 | CodeableConcept | Coded definition of the event |
subscriptionTopic | Σ | 0..1 | canonical(SubscriptionTopic) | What event |
timing[x] | ΣC | 0..1 | Timing of the event | |
timingTiming | Timing | |||
timingReference | Reference(Schedule) | |||
timingDate | date | |||
timingDateTime | dateTime | |||
data | ΣC | 0..* | DataRequirement | Triggering data of the event (multiple = 'and') |
condition | ΣC | 0..1 | Expression | Whether the event triggers (boolean expression) |
Documentation for this format |
UML Diagram (Legend)
XML Template
<TriggerDefinition xmlns="http://hl7.org/fhir"> <!-- from Element: extension --> <type value="[code]"/><!-- I 1..1 named-event | periodic | data-changed | data-added | data-modified | data-removed | data-accessed | data-access-ended --> <name value="[string]"/><!-- I 0..1 Name or URI that identifies the event --> <code><!-- 0..1 CodeableConcept Coded definition of the event --></code> <subscriptionTopic><!-- 0..1 canonical(SubscriptionTopic) What event --></subscriptionTopic> <timing[x]><!-- I 0..1 Timing|Reference(Schedule)|date|dateTime Timing of the event --></timing[x]> <data><!-- I 0..* DataRequirement Triggering data of the event (multiple = 'and') --></data> <condition><!-- I 0..1 Expression Whether the event triggers (boolean expression) --></condition> </TriggerDefinition>
JSON Template
{ // from Element: extension "type" : "<code>", // I R! named-event | periodic | data-changed | data-added | data-modified | data-removed | data-accessed | data-access-ended "name" : "<string>", // I Name or URI that identifies the event "code" : { CodeableConcept }, // Coded definition of the event "subscriptionTopic" : "<canonical(SubscriptionTopic)>", // What event // timing[x]: Timing of the event. One of these 4: "timingTiming" : { Timing }, "timingReference" : { Reference(Schedule) }, "timingDate" : "<date>", "timingDateTime" : "<dateTime>", "data" : [{ DataRequirement }], // I Triggering data of the event (multiple = 'and') "condition" : { Expression } // I Whether the event triggers (boolean expression) }
Turtle Template
@prefix fhir: <http://hl7.org/fhir/> . [ # from Element: Element.extension fhir:type [ code ] ; # 1..1 I named-event | periodic | data-changed | data-added | data-modified | data-removed | data-accessed | data-access-ended fhir:name [ string ] ; # 0..1 I Name or URI that identifies the event fhir:code [ CodeableConcept ] ; # 0..1 Coded definition of the event fhir:subscriptionTopic [ canonical(SubscriptionTopic) ] ; # 0..1 What event # timing[x] : 0..1 I Timing of the event. One of these 4 fhir:timing [ a fhir:Timing ; Timing ] fhir:timing [ a fhir:Reference ; Reference(Schedule) ] fhir:timing [ a fhir:date ; date ] fhir:timing [ a fhir:dateTime ; dateTime ] fhir:data ( [ DataRequirement ] ... ) ; # 0..* I Triggering data of the event (multiple = 'and') fhir:condition [ Expression ] ; # 0..1 I Whether the event triggers (boolean expression) ]
Changes since Release 3
Changes from both R4 and R4B
TriggerDefinition | |
TriggerDefinition.code |
|
TriggerDefinition.subscriptionTopic |
|
See the Full Difference for further information
Structure
Name | Flags | Card. | Type | Description & Constraints |
---|---|---|---|---|
TriggerDefinition | Σ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 | |
type | ΣC | 1..1 | code | named-event | periodic | data-changed | data-added | data-modified | data-removed | data-accessed | data-access-ended Binding: TriggerType (Required) |
name | ΣC | 0..1 | string | Name or URI that identifies the event |
code | Σ | 0..1 | CodeableConcept | Coded definition of the event |
subscriptionTopic | Σ | 0..1 | canonical(SubscriptionTopic) | What event |
timing[x] | ΣC | 0..1 | Timing of the event | |
timingTiming | Timing | |||
timingReference | Reference(Schedule) | |||
timingDate | date | |||
timingDateTime | dateTime | |||
data | ΣC | 0..* | DataRequirement | Triggering data of the event (multiple = 'and') |
condition | ΣC | 0..1 | Expression | Whether the event triggers (boolean expression) |
Documentation for this format |
XML Template
<TriggerDefinition xmlns="http://hl7.org/fhir"> <!-- from Element: extension --> <type value="[code]"/><!-- I 1..1 named-event | periodic | data-changed | data-added | data-modified | data-removed | data-accessed | data-access-ended --> <name value="[string]"/><!-- I 0..1 Name or URI that identifies the event --> <code><!-- 0..1 CodeableConcept Coded definition of the event --></code> <subscriptionTopic><!-- 0..1 canonical(SubscriptionTopic) What event --></subscriptionTopic> <timing[x]><!-- I 0..1 Timing|Reference(Schedule)|date|dateTime Timing of the event --></timing[x]> <data><!-- I 0..* DataRequirement Triggering data of the event (multiple = 'and') --></data> <condition><!-- I 0..1 Expression Whether the event triggers (boolean expression) --></condition> </TriggerDefinition>
JSON Template
{ // from Element: extension "type" : "<code>", // I R! named-event | periodic | data-changed | data-added | data-modified | data-removed | data-accessed | data-access-ended "name" : "<string>", // I Name or URI that identifies the event "code" : { CodeableConcept }, // Coded definition of the event "subscriptionTopic" : "<canonical(SubscriptionTopic)>", // What event // timing[x]: Timing of the event. One of these 4: "timingTiming" : { Timing }, "timingReference" : { Reference(Schedule) }, "timingDate" : "<date>", "timingDateTime" : "<dateTime>", "data" : [{ DataRequirement }], // I Triggering data of the event (multiple = 'and') "condition" : { Expression } // I Whether the event triggers (boolean expression) }
Turtle Template
@prefix fhir: <http://hl7.org/fhir/> . [ # from Element: Element.extension fhir:type [ code ] ; # 1..1 I named-event | periodic | data-changed | data-added | data-modified | data-removed | data-accessed | data-access-ended fhir:name [ string ] ; # 0..1 I Name or URI that identifies the event fhir:code [ CodeableConcept ] ; # 0..1 Coded definition of the event fhir:subscriptionTopic [ canonical(SubscriptionTopic) ] ; # 0..1 What event # timing[x] : 0..1 I Timing of the event. One of these 4 fhir:timing [ a fhir:Timing ; Timing ] fhir:timing [ a fhir:Reference ; Reference(Schedule) ] fhir:timing [ a fhir:date ; date ] fhir:timing [ a fhir:dateTime ; dateTime ] fhir:data ( [ DataRequirement ] ... ) ; # 0..* I Triggering data of the event (multiple = 'and') fhir:condition [ Expression ] ; # 0..1 I Whether the event triggers (boolean expression) ]
Changes since Release 3
Changes from both R4 and R4B
TriggerDefinition | |
TriggerDefinition.code |
|
TriggerDefinition.subscriptionTopic |
|
See the Full Difference for further information
Constraints
id | Level | Location | Description | Expression |
trd-1 | Rule | (base) | Either timing, or a data requirement, but not both | data.empty() or timing.empty() |
trd-2 | Rule | (base) | A condition only if there is a data requirement | condition.exists() implies data.exists() |
trd-3 | 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 | ValueSet | Type | Documentation |
---|---|---|---|
TriggerDefinition.type | TriggerType | Required | The type of trigger. |
TriggerDefinition is used in the following places: EventDefinition and PlanDefinition
FHIR Infrastructure Work Group | Maturity Level: 5 | Standards Status: Trial Use |
See also Examples, Detailed Descriptions, Mappings, Profiles, Extensions and R4 Conversions
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 | ||||
---|---|---|---|---|---|---|---|---|
Expression | ΣTU | Element | An expression that can be used to generate a value + Rule: An expression or a reference must be provided + Rule: The name must be a valid variable name in most computer languages Elements defined in Ancestors: id, extension | |||||
description | Σ | 0..1 | string | Natural language description of the condition | ||||
name | ΣC | 0..1 | code | Short name assigned to expression for reuse | ||||
language | Σ | 0..1 | code | text/cql | text/fhirpath | application/x-fhir-query | etc. Binding: Expression Language (Extensible)
| ||||
expression | ΣC | 0..1 | string | Expression in specified language | ||||
reference | ΣC | 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="[code]"/><!-- I 0..1 Short name assigned to expression for reuse --> <language value="[code]"/><!-- 0..1 text/cql | text/fhirpath | application/x-fhir-query | etc. --> <expression value="[string]"/><!-- I 0..1 Expression in specified language --> <reference value="[uri]"/><!-- I 0..1 Where the expression is found --> </Expression>
JSON Template
{ // from Element: extension "description" : "<string>", // Natural language description of the condition "name" : "<code>", // I Short name assigned to expression for reuse "language" : "<code>", // text/cql | text/fhirpath | application/x-fhir-query | etc. "expression" : "<string>", // I Expression in specified language "reference" : "<uri>" // I Where the expression is found }
Turtle Template
@prefix fhir: <http://hl7.org/fhir/> . [ # from Element: Element.extension fhir:description [ string ] ; # 0..1 Natural language description of the condition fhir:name [ code ] ; # 0..1 I Short name assigned to expression for reuse fhir:language [ code ] ; # 0..1 text/cql | text/fhirpath | application/x-fhir-query | etc. fhir:expression [ string ] ; # 0..1 I Expression in specified language fhir:reference [ uri ] ; # 0..1 I Where the expression is found ]
Changes since Release 3
Changes from both R4 and R4B
Expression | |
Expression.name |
|
Expression.language |
|
See the Full Difference for further information
Structure
Name | Flags | Card. | Type | Description & Constraints | ||||
---|---|---|---|---|---|---|---|---|
Expression | ΣTU | Element | An expression that can be used to generate a value + Rule: An expression or a reference must be provided + Rule: The name must be a valid variable name in most computer languages Elements defined in Ancestors: id, extension | |||||
description | Σ | 0..1 | string | Natural language description of the condition | ||||
name | ΣC | 0..1 | code | Short name assigned to expression for reuse | ||||
language | Σ | 0..1 | code | text/cql | text/fhirpath | application/x-fhir-query | etc. Binding: Expression Language (Extensible)
| ||||
expression | ΣC | 0..1 | string | Expression in specified language | ||||
reference | ΣC | 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="[code]"/><!-- I 0..1 Short name assigned to expression for reuse --> <language value="[code]"/><!-- 0..1 text/cql | text/fhirpath | application/x-fhir-query | etc. --> <expression value="[string]"/><!-- I 0..1 Expression in specified language --> <reference value="[uri]"/><!-- I 0..1 Where the expression is found --> </Expression>
JSON Template
{ // from Element: extension "description" : "<string>", // Natural language description of the condition "name" : "<code>", // I Short name assigned to expression for reuse "language" : "<code>", // text/cql | text/fhirpath | application/x-fhir-query | etc. "expression" : "<string>", // I Expression in specified language "reference" : "<uri>" // I Where the expression is found }
Turtle Template
@prefix fhir: <http://hl7.org/fhir/> . [ # from Element: Element.extension fhir:description [ string ] ; # 0..1 Natural language description of the condition fhir:name [ code ] ; # 0..1 I Short name assigned to expression for reuse fhir:language [ code ] ; # 0..1 text/cql | text/fhirpath | application/x-fhir-query | etc. fhir:expression [ string ] ; # 0..1 I Expression in specified language fhir:reference [ uri ] ; # 0..1 I Where the expression is found ]
Changes since Release 3
Changes from both R4 and R4B
Expression | |
Expression.name |
|
Expression.language |
|
See the Full Difference for further information
Constraints
id | Level | Location | Description | Expression |
exp-1 | Rule | (base) | An expression or a reference must be provided | expression.exists() or reference.exists() |
exp-2 | Rule | (base) | The name must be a valid variable name in most computer languages | name.hasValue() implies name.matches('[A-Za-z][A-Za-z0-9\\_]{0,63}') |
Terminology Bindings
Path | ValueSet | Type | Documentation |
---|---|---|---|
Expression.language | ExpressionLanguage | Extensible | The media type of the expression language. |
http://hl7.org/fhir/ValueSet/mimetypes |
maximum |
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:
Expression is used in the following places: TriggerDefinition, ActivityDefinition, ChargeItemDefinition, ClinicalUseDefinition, Consent, Group, Measure, Permission, PlanDefinition and RequestOrchestration
FHIR Infrastructure Work Group | Maturity Level: 5 | Standards Status: Trial Use |
See also Examples, Detailed Descriptions, Mappings, Profiles, Extensions and R4 Conversions
The UsageContext structure defines the context of use for a module.
Structure
Name | Flags | Card. | Type | Description & Constraints |
---|---|---|---|---|
UsageContext | ΣTU | Element | Describes the context of use for a conformance or knowledge resource Elements defined in Ancestors: id, extension | |
code | Σ | 1..1 | Coding | Type of context being specified Binding: UsageContextType (Extensible) |
value[x] | Σ | 1..1 | Value that defines the context Binding: Context of Use ValueSet (Example) | |
valueCodeableConcept | CodeableConcept | |||
valueQuantity | Quantity | |||
valueRange | Range | |||
valueReference | Reference(PlanDefinition | ResearchStudy | InsurancePlan | HealthcareService | Group | Location | Organization) | |||
Documentation for this format |
UML Diagram (Legend)
XML Template
<UsageContext xmlns="http://hl7.org/fhir"> <!-- from Element: extension --> <code><!-- 1..1 Coding Type of context being specified --></code> <value[x]><!-- 1..1 CodeableConcept|Quantity|Range|Reference(Group| HealthcareService|InsurancePlan|Location|Organization|PlanDefinition| ResearchStudy) Value that defines the context --></value[x]> </UsageContext>
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(Group|HealthcareService|InsurancePlan|Location| Organization|PlanDefinition|ResearchStudy) } }
Turtle Template
@prefix fhir: <http://hl7.org/fhir/> . [ # from Element: Element.extension fhir:code [ Coding ] ; # 1..1 Type of context being specified # value[x] : 1..1 Value that defines the context. One of these 4 fhir:value [ a fhir:CodeableConcept ; CodeableConcept ] fhir:value [ a fhir:Quantity ; Quantity ] fhir:value [ a fhir:Range ; Range ] fhir:value [ a fhir:Reference ; Reference(Group|HealthcareService|InsurancePlan|Location|Organization|PlanDefinition| ResearchStudy) ] ]
Changes since Release 3
Changes from both R4 and R4B
UsageContext | |
UsageContext.code |
|
See the Full Difference for further information
Structure
Name | Flags | Card. | Type | Description & Constraints |
---|---|---|---|---|
UsageContext | ΣTU | Element | Describes the context of use for a conformance or knowledge resource Elements defined in Ancestors: id, extension | |
code | Σ | 1..1 | Coding | Type of context being specified Binding: UsageContextType (Extensible) |
value[x] | Σ | 1..1 | Value that defines the context Binding: Context of Use ValueSet (Example) | |
valueCodeableConcept | CodeableConcept | |||
valueQuantity | Quantity | |||
valueRange | Range | |||
valueReference | Reference(PlanDefinition | ResearchStudy | InsurancePlan | HealthcareService | Group | Location | Organization) | |||
Documentation for this format |
XML Template
<UsageContext xmlns="http://hl7.org/fhir"> <!-- from Element: extension --> <code><!-- 1..1 Coding Type of context being specified --></code> <value[x]><!-- 1..1 CodeableConcept|Quantity|Range|Reference(Group| HealthcareService|InsurancePlan|Location|Organization|PlanDefinition| ResearchStudy) Value that defines the context --></value[x]> </UsageContext>
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(Group|HealthcareService|InsurancePlan|Location| Organization|PlanDefinition|ResearchStudy) } }
Turtle Template
@prefix fhir: <http://hl7.org/fhir/> . [ # from Element: Element.extension fhir:code [ Coding ] ; # 1..1 Type of context being specified # value[x] : 1..1 Value that defines the context. One of these 4 fhir:value [ a fhir:CodeableConcept ; CodeableConcept ] fhir:value [ a fhir:Quantity ; Quantity ] fhir:value [ a fhir:Range ; Range ] fhir:value [ a fhir:Reference ; Reference(Group|HealthcareService|InsurancePlan|Location|Organization|PlanDefinition| ResearchStudy) ] ]
Changes since Release 3
Changes from both R4 and R4B
UsageContext | |
UsageContext.code |
|
See the Full Difference for further information
Constraints
Terminology Bindings
Path | ValueSet | Type | Documentation |
---|---|---|---|
UsageContext.code | UsageContextType | Extensible | A code that specifies a type of context being specified by a usage context. |
UsageContext.value[x] | ContextOfUseValueSet | Example | This value set defines a base set of codes that can be used to indicate that the content in a resource was developed with a focus and intent of supporting use within particular contexts. |
UsageContext is used in the following places: ElementDefinition, ActivityDefinition, ActorDefinition, CanonicalResource, CapabilityStatement, ChargeItemDefinition, Citation, CodeSystem, CompartmentDefinition, Composition, ConceptMap, ConditionDefinition, DeviceDefinition, EventDefinition, Evidence, EvidenceReport, EvidenceVariable, ExampleScenario, GraphDefinition, Group, ImplementationGuide, Library, Measure, MessageDefinition, NamingSystem, ObservationDefinition, OperationDefinition, PlanDefinition, Questionnaire, Requirements, SearchParameter, SpecimenDefinition, StructureDefinition, StructureMap, SubscriptionTopic, TerminologyCapabilities, TestPlan, TestScript and ValueSet
FHIR Infrastructure Work Group | Maturity Level: 5 | Standards Status: Trial Use |
See also Examples, Detailed Descriptions, Mappings, Profiles, Extensions and R4 Conversions
The ExtendedContactDetail structure defines extended contact details for a named, or unnamed individual/purpose.
These are extensively used in provider directory resources where contact information is
often very rich in nature, and requires additional metadata around their usage.
This datatype permits the context of the contact informations use to be provided, and
groups them together with other important metadata.
Not all properties are expected to be present in all instances, and only the ones that apply.
e.g. A website contact will only have the telecom included, but might also include a purpose
and possibly a period if required. Whereas an accounts contact detail could include their name,
postal address and telephone number (and possibly Organization if it was an outsourced capability)
The period provides the general start and end of the contact's applicability for usage.
This is not intended to store a history of usages over time, but a convenient way to
record upcoming relevant changes to the content when it is being published.
This permits a contact to be marked as becoming available from X, or is expected
to no longer be available from Y. An extension may be used to mark a contact's general
availability times (9am - 5pm) and also exceptions where the contact is not available
(e.g. Public holidays)
Structure
Name | Flags | Card. | Type | Description & Constraints |
---|---|---|---|---|
ExtendedContactDetail | ΣTU | Element | Contact information Elements defined in Ancestors: id, extension | |
purpose | Σ | 0..1 | CodeableConcept | The type of contact Binding: Contact entity type (Preferred) |
name | Σ | 0..* | HumanName | Name of an individual to contact |
telecom | Σ | 0..* | ContactPoint | Contact details (e.g.phone/fax/url) |
address | Σ | 0..1 | Address | Address for the contact |
organization | Σ | 0..1 | Reference(Organization) | This contact detail is handled/monitored by a specific organization |
period | Σ | 0..1 | Period | Period that this contact was valid for usage |
Documentation for this format |
UML Diagram (Legend)
XML Template
<ExtendedContactDetail xmlns="http://hl7.org/fhir"> <!-- from Element: extension --> <purpose><!-- 0..1 CodeableConcept The type of contact --></purpose> <name><!-- 0..* HumanName Name of an individual to contact --></name> <telecom><!-- 0..* ContactPoint Contact details (e.g.phone/fax/url) --></telecom> <address><!-- 0..1 Address Address for the contact --></address> <organization><!-- 0..1 Reference(Organization) This contact detail is handled/monitored by a specific organization --></organization> <period><!-- 0..1 Period Period that this contact was valid for usage --></period> </ExtendedContactDetail>
JSON Template
{ // from Element: extension "purpose" : { CodeableConcept }, // The type of contact "name" : [{ HumanName }], // Name of an individual to contact "telecom" : [{ ContactPoint }], // Contact details (e.g.phone/fax/url) "address" : { Address }, // Address for the contact "organization" : { Reference(Organization) }, // This contact detail is handled/monitored by a specific organization "period" : { Period } // Period that this contact was valid for usage }
Turtle Template
@prefix fhir: <http://hl7.org/fhir/> . [ # from Element: Element.extension fhir:purpose [ CodeableConcept ] ; # 0..1 The type of contact fhir:name ( [ HumanName ] ... ) ; # 0..* Name of an individual to contact fhir:telecom ( [ ContactPoint ] ... ) ; # 0..* Contact details (e.g.phone/fax/url) fhir:address [ Address ] ; # 0..1 Address for the contact fhir:organization [ Reference(Organization) ] ; # 0..1 This contact detail is handled/monitored by a specific organization fhir:period [ Period ] ; # 0..1 Period that this contact was valid for usage ]
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 |
---|---|---|---|---|
ExtendedContactDetail | ΣTU | Element | Contact information Elements defined in Ancestors: id, extension | |
purpose | Σ | 0..1 | CodeableConcept | The type of contact Binding: Contact entity type (Preferred) |
name | Σ | 0..* | HumanName | Name of an individual to contact |
telecom | Σ | 0..* | ContactPoint | Contact details (e.g.phone/fax/url) |
address | Σ | 0..1 | Address | Address for the contact |
organization | Σ | 0..1 | Reference(Organization) | This contact detail is handled/monitored by a specific organization |
period | Σ | 0..1 | Period | Period that this contact was valid for usage |
Documentation for this format |
XML Template
<ExtendedContactDetail xmlns="http://hl7.org/fhir"> <!-- from Element: extension --> <purpose><!-- 0..1 CodeableConcept The type of contact --></purpose> <name><!-- 0..* HumanName Name of an individual to contact --></name> <telecom><!-- 0..* ContactPoint Contact details (e.g.phone/fax/url) --></telecom> <address><!-- 0..1 Address Address for the contact --></address> <organization><!-- 0..1 Reference(Organization) This contact detail is handled/monitored by a specific organization --></organization> <period><!-- 0..1 Period Period that this contact was valid for usage --></period> </ExtendedContactDetail>
JSON Template
{ // from Element: extension "purpose" : { CodeableConcept }, // The type of contact "name" : [{ HumanName }], // Name of an individual to contact "telecom" : [{ ContactPoint }], // Contact details (e.g.phone/fax/url) "address" : { Address }, // Address for the contact "organization" : { Reference(Organization) }, // This contact detail is handled/monitored by a specific organization "period" : { Period } // Period that this contact was valid for usage }
Turtle Template
@prefix fhir: <http://hl7.org/fhir/> . [ # from Element: Element.extension fhir:purpose [ CodeableConcept ] ; # 0..1 The type of contact fhir:name ( [ HumanName ] ... ) ; # 0..* Name of an individual to contact fhir:telecom ( [ ContactPoint ] ... ) ; # 0..* Contact details (e.g.phone/fax/url) fhir:address [ Address ] ; # 0..1 Address for the contact fhir:organization [ Reference(Organization) ] ; # 0..1 This contact detail is handled/monitored by a specific organization fhir:period [ Period ] ; # 0..1 Period that this contact was valid for usage ]
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 |
---|---|---|---|
ExtendedContactDetail.purpose | ContactEntityType | Preferred | This example value set defines a set of codes that can be used to indicate the purpose for which you would contact a contact party. |
ExtendedContactDetail is used in the following places: VirtualServiceDetail, HealthcareService, InsuranceProduct, Location, Organization, OrganizationAffiliation and PractitionerRole
FHIR Infrastructure Work Group | Maturity Level: 5 | Standards Status: Trial Use |
See also Examples, Detailed Descriptions, Mappings, Profiles, Extensions and R4 Conversions
The VirtualServiceDetail structure defines details of a virtual communication capability, such as a web conference call.
Structure
Name | Flags | Card. | Type | Description & Constraints |
---|---|---|---|---|
VirtualServiceDetail | ΣTU | Element | Virtual Service Contact Details Elements defined in Ancestors: id, extension | |
channelType | Σ | 0..1 | Coding | Channel Type Binding: Virtual Service Type (Example) |
address[x] | Σ | 0..1 | Contact address/number | |
addressUrl | url | |||
addressString | string | |||
addressContactPoint | ContactPoint | |||
addressExtendedContactDetail | ExtendedContactDetail | |||
additionalInfo | Σ | 0..* | url | Web address to see alternative connection details |
maxParticipants | Σ | 0..1 | positiveInt | Maximum number of participants supported by the virtual service |
sessionKey | Σ | 0..1 | string | Session Key required by the virtual service |
Documentation for this format |
UML Diagram (Legend)
XML Template
<VirtualServiceDetail xmlns="http://hl7.org/fhir"> <!-- from Element: extension --> <channelType><!-- 0..1 Coding Channel Type --></channelType> <address[x]><!-- 0..1 url|string|ContactPoint|ExtendedContactDetail Contact address/number --></address[x]> <additionalInfo value="[url]"/><!-- 0..* Web address to see alternative connection details --> <maxParticipants value="[positiveInt]"/><!-- 0..1 Maximum number of participants supported by the virtual service --> <sessionKey value="[string]"/><!-- 0..1 Session Key required by the virtual service --> </VirtualServiceDetail>
JSON Template
{ // from Element: extension "channelType" : { Coding }, // Channel Type // address[x]: Contact address/number. One of these 4: "addressUrl" : "<url>", "addressString" : "<string>", "addressContactPoint" : { ContactPoint }, "addressExtendedContactDetail" : { ExtendedContactDetail }, "additionalInfo" : ["<url>"], // Web address to see alternative connection details "maxParticipants" : "<positiveInt>", // Maximum number of participants supported by the virtual service "sessionKey" : "<string>" // Session Key required by the virtual service }
Turtle Template
@prefix fhir: <http://hl7.org/fhir/> . [ # from Element: Element.extension fhir:channelType [ Coding ] ; # 0..1 Channel Type # address[x] : 0..1 Contact address/number. One of these 4 fhir:address [ a fhir:url ; url ] fhir:address [ a fhir:string ; string ] fhir:address [ a fhir:ContactPoint ; ContactPoint ] fhir:address [ a fhir:ExtendedContactDetail ; ExtendedContactDetail ] fhir:additionalInfo ( [ url ] ... ) ; # 0..* Web address to see alternative connection details fhir:maxParticipants [ positiveInt ] ; # 0..1 Maximum number of participants supported by the virtual service fhir:sessionKey [ string ] ; # 0..1 Session Key required by the virtual service ]
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 |
---|---|---|---|---|
VirtualServiceDetail | ΣTU | Element | Virtual Service Contact Details Elements defined in Ancestors: id, extension | |
channelType | Σ | 0..1 | Coding | Channel Type Binding: Virtual Service Type (Example) |
address[x] | Σ | 0..1 | Contact address/number | |
addressUrl | url | |||
addressString | string | |||
addressContactPoint | ContactPoint | |||
addressExtendedContactDetail | ExtendedContactDetail | |||
additionalInfo | Σ | 0..* | url | Web address to see alternative connection details |
maxParticipants | Σ | 0..1 | positiveInt | Maximum number of participants supported by the virtual service |
sessionKey | Σ | 0..1 | string | Session Key required by the virtual service |
Documentation for this format |
XML Template
<VirtualServiceDetail xmlns="http://hl7.org/fhir"> <!-- from Element: extension --> <channelType><!-- 0..1 Coding Channel Type --></channelType> <address[x]><!-- 0..1 url|string|ContactPoint|ExtendedContactDetail Contact address/number --></address[x]> <additionalInfo value="[url]"/><!-- 0..* Web address to see alternative connection details --> <maxParticipants value="[positiveInt]"/><!-- 0..1 Maximum number of participants supported by the virtual service --> <sessionKey value="[string]"/><!-- 0..1 Session Key required by the virtual service --> </VirtualServiceDetail>
JSON Template
{ // from Element: extension "channelType" : { Coding }, // Channel Type // address[x]: Contact address/number. One of these 4: "addressUrl" : "<url>", "addressString" : "<string>", "addressContactPoint" : { ContactPoint }, "addressExtendedContactDetail" : { ExtendedContactDetail }, "additionalInfo" : ["<url>"], // Web address to see alternative connection details "maxParticipants" : "<positiveInt>", // Maximum number of participants supported by the virtual service "sessionKey" : "<string>" // Session Key required by the virtual service }
Turtle Template
@prefix fhir: <http://hl7.org/fhir/> . [ # from Element: Element.extension fhir:channelType [ Coding ] ; # 0..1 Channel Type # address[x] : 0..1 Contact address/number. One of these 4 fhir:address [ a fhir:url ; url ] fhir:address [ a fhir:string ; string ] fhir:address [ a fhir:ContactPoint ; ContactPoint ] fhir:address [ a fhir:ExtendedContactDetail ; ExtendedContactDetail ] fhir:additionalInfo ( [ url ] ... ) ; # 0..* Web address to see alternative connection details fhir:maxParticipants [ positiveInt ] ; # 0..1 Maximum number of participants supported by the virtual service fhir:sessionKey [ string ] ; # 0..1 Session Key required by the virtual service ]
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 |
---|---|---|---|
VirtualServiceDetail.channelType | VirtualServiceType | Example | Example codes for possible virtual service connection types. |
VirtualServiceDetail is used in the following places: Appointment, Encounter and Location
FHIR Infrastructure Work Group | Maturity Level: 5 | Standards Status: Trial Use |
See also Examples, Detailed Descriptions, Mappings, Profiles, Extensions and R4 Conversions
The Availability structure defines a pattern of availability data typically used in directory resources.
Structure
Name | Flags | Card. | Type | Description & Constraints |
---|---|---|---|---|
Availability | ΣTU | Element | Availability data for an {item} Elements defined in Ancestors: id, extension | |
period | Σ | 0..1 | Period | When the availability applies |
availableTime | ΣC | 0..* | Element | Times the {item} is available + Rule: Cannot include start/end times when selecting all day availability. |
daysOfWeek | Σ | 0..* | code | mon | tue | wed | thu | fri | sat | sun Binding: Days Of Week (Required) |
allDay | ΣC | 0..1 | boolean | Always available? i.e. 24 hour service |
availableStartTime | ΣC | 0..1 | time | Opening time of day (ignored if allDay = true) |
availableEndTime | ΣC | 0..1 | time | Closing time of day (ignored if allDay = true) |
notAvailableTime | Σ | 0..* | Element | Not available during this time due to provided reason |
description | Σ | 0..1 | string | Reason presented to the user explaining why time not available |
during | Σ | 0..1 | Period | Service not available during this period |
Documentation for this format |
UML Diagram (Legend)
XML Template
<Availability xmlns="http://hl7.org/fhir"> <!-- from Element: extension --> <period><!-- 0..1 Period When the availability applies --></period> <availableTime> <!-- 0..* Times the {item} is available --> <daysOfWeek value="[code]"/><!-- 0..* mon | tue | wed | thu | fri | sat | sun --> <allDay value="[boolean]"/><!-- I 0..1 Always available? i.e. 24 hour service --> <availableStartTime value="[time]"/><!-- I 0..1 Opening time of day (ignored if allDay = true) --> <availableEndTime value="[time]"/><!-- I 0..1 Closing time of day (ignored if allDay = true) --> </availableTime> <notAvailableTime> <!-- 0..* Not available during this time due to provided reason --> <description value="[string]"/><!-- 0..1 Reason presented to the user explaining why time not available --> <during><!-- 0..1 Period Service not available during this period --></during> </notAvailableTime> </Availability>
JSON Template
{ // from Element: extension "period" : { Period }, // When the availability applies "availableTime" : [{ // Times the {item} is available "daysOfWeek" : ["<code>"], // mon | tue | wed | thu | fri | sat | sun "allDay" : <boolean>, // I Always available? i.e. 24 hour service "availableStartTime" : "<time>", // I Opening time of day (ignored if allDay = true) "availableEndTime" : "<time>" // I Closing time of day (ignored if allDay = true) }], "notAvailableTime" : [{ // Not available during this time due to provided reason "description" : "<string>", // Reason presented to the user explaining why time not available "during" : { Period } // Service not available during this period }] }
Turtle Template
@prefix fhir: <http://hl7.org/fhir/> . [ # from Element: Element.extension fhir:period [ Period ] ; # 0..1 When the availability applies fhir:availableTime ( [ # 0..* Times the {item} is available fhir:daysOfWeek ( [ code ] ... ) ; # 0..* mon | tue | wed | thu | fri | sat | sun fhir:allDay [ boolean ] ; # 0..1 I Always available? i.e. 24 hour service fhir:availableStartTime [ time ] ; # 0..1 I Opening time of day (ignored if allDay = true) fhir:availableEndTime [ time ] ; # 0..1 I Closing time of day (ignored if allDay = true) ] ... ) ; fhir:notAvailableTime ( [ # 0..* Not available during this time due to provided reason fhir:description [ string ] ; # 0..1 Reason presented to the user explaining why time not available fhir:during [ Period ] ; # 0..1 Service not available during this period ] ... ) ; ]
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 |
---|---|---|---|---|
Availability | ΣTU | Element | Availability data for an {item} Elements defined in Ancestors: id, extension | |
period | Σ | 0..1 | Period | When the availability applies |
availableTime | ΣC | 0..* | Element | Times the {item} is available + Rule: Cannot include start/end times when selecting all day availability. |
daysOfWeek | Σ | 0..* | code | mon | tue | wed | thu | fri | sat | sun Binding: Days Of Week (Required) |
allDay | ΣC | 0..1 | boolean | Always available? i.e. 24 hour service |
availableStartTime | ΣC | 0..1 | time | Opening time of day (ignored if allDay = true) |
availableEndTime | ΣC | 0..1 | time | Closing time of day (ignored if allDay = true) |
notAvailableTime | Σ | 0..* | Element | Not available during this time due to provided reason |
description | Σ | 0..1 | string | Reason presented to the user explaining why time not available |
during | Σ | 0..1 | Period | Service not available during this period |
Documentation for this format |
XML Template
<Availability xmlns="http://hl7.org/fhir"> <!-- from Element: extension --> <period><!-- 0..1 Period When the availability applies --></period> <availableTime> <!-- 0..* Times the {item} is available --> <daysOfWeek value="[code]"/><!-- 0..* mon | tue | wed | thu | fri | sat | sun --> <allDay value="[boolean]"/><!-- I 0..1 Always available? i.e. 24 hour service --> <availableStartTime value="[time]"/><!-- I 0..1 Opening time of day (ignored if allDay = true) --> <availableEndTime value="[time]"/><!-- I 0..1 Closing time of day (ignored if allDay = true) --> </availableTime> <notAvailableTime> <!-- 0..* Not available during this time due to provided reason --> <description value="[string]"/><!-- 0..1 Reason presented to the user explaining why time not available --> <during><!-- 0..1 Period Service not available during this period --></during> </notAvailableTime> </Availability>
JSON Template
{ // from Element: extension "period" : { Period }, // When the availability applies "availableTime" : [{ // Times the {item} is available "daysOfWeek" : ["<code>"], // mon | tue | wed | thu | fri | sat | sun "allDay" : <boolean>, // I Always available? i.e. 24 hour service "availableStartTime" : "<time>", // I Opening time of day (ignored if allDay = true) "availableEndTime" : "<time>" // I Closing time of day (ignored if allDay = true) }], "notAvailableTime" : [{ // Not available during this time due to provided reason "description" : "<string>", // Reason presented to the user explaining why time not available "during" : { Period } // Service not available during this period }] }
Turtle Template
@prefix fhir: <http://hl7.org/fhir/> . [ # from Element: Element.extension fhir:period [ Period ] ; # 0..1 When the availability applies fhir:availableTime ( [ # 0..* Times the {item} is available fhir:daysOfWeek ( [ code ] ... ) ; # 0..* mon | tue | wed | thu | fri | sat | sun fhir:allDay [ boolean ] ; # 0..1 I Always available? i.e. 24 hour service fhir:availableStartTime [ time ] ; # 0..1 I Opening time of day (ignored if allDay = true) fhir:availableEndTime [ time ] ; # 0..1 I Closing time of day (ignored if allDay = true) ] ... ) ; fhir:notAvailableTime ( [ # 0..* Not available during this time due to provided reason fhir:description [ string ] ; # 0..1 Reason presented to the user explaining why time not available fhir:during [ Period ] ; # 0..1 Service not available during this period ] ... ) ; ]
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
id | Level | Location | Description | Expression |
av-1 | Rule | Availability.availableTime | Cannot include start/end times when selecting all day availability. | allDay.exists().not() or (allDay implies availableStartTime.exists().not() and availableEndTime.exists().not()) |
Terminology Bindings
Path | ValueSet | Type | Documentation |
---|---|---|---|
Availability.availableTime.daysOfWeek | DaysOfWeek | Required | The days of the week. |
Availability is used in the following places: Endpoint, HealthcareService, Location and PractitionerRole
FHIR Infrastructure Work Group | Maturity Level: 5 | Standards Status: Trial Use |
See also Examples, Detailed Descriptions, Mappings, Profiles, Extensions and R4 Conversions
The MonetaryComponent structure defines a the set of properties across the financial resources.
This component is typically used in a list where each value provides a different type of value
contributing to the final value used in line items on a financial transaction.
For example, a line item for a product might include the net price, the tax amount, and the
surcharge amount as separate components.
Structure
Name | Flags | Card. | Type | Description & Constraints |
---|---|---|---|---|
MonetaryComponent | ΣTU | Element | Types and value of financial information that apply to line item(s) Elements defined in Ancestors: id, extension | |
type | Σ | 1..1 | code | base | surcharge | 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)
XML Template
<MonetaryComponent xmlns="http://hl7.org/fhir"> <!-- from Element: extension --> <type value="[code]"/><!-- 1..1 base | surcharge | discount | tax | informational --> <code><!-- 0..1 CodeableConcept Codes may be used to differentiate between kinds of taxes, surcharges, discounts etc. --></code> <factor value="[decimal]"/><!-- 0..1 Factor used for calculating this component --> <amount><!-- 0..1 Money Explicit value amount to be used --></amount> </MonetaryComponent>
JSON Template
{ // from Element: extension "type" : "<code>", // R! base | surcharge | discount | tax | informational "code" : { CodeableConcept }, // Codes may be used to differentiate between kinds of taxes, surcharges, discounts etc. "factor" : <decimal>, // Factor used for calculating this component "amount" : { Money } // Explicit value amount to be used }
Turtle Template
@prefix fhir: <http://hl7.org/fhir/> . [ # from Element: Element.extension fhir:type [ code ] ; # 1..1 base | surcharge | discount | tax | informational fhir:code [ CodeableConcept ] ; # 0..1 Codes may be used to differentiate between kinds of taxes, surcharges, discounts etc. fhir:factor [ decimal ] ; # 0..1 Factor used for calculating this component fhir:amount [ Money ] ; # 0..1 Explicit value amount to be used ]
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 | Types and value of financial information that apply to line item(s) Elements defined in Ancestors: id, extension | |
type | Σ | 1..1 | code | base | surcharge | 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 |
XML Template
<MonetaryComponent xmlns="http://hl7.org/fhir"> <!-- from Element: extension --> <type value="[code]"/><!-- 1..1 base | surcharge | discount | tax | informational --> <code><!-- 0..1 CodeableConcept Codes may be used to differentiate between kinds of taxes, surcharges, discounts etc. --></code> <factor value="[decimal]"/><!-- 0..1 Factor used for calculating this component --> <amount><!-- 0..1 Money Explicit value amount to be used --></amount> </MonetaryComponent>
JSON Template
{ // from Element: extension "type" : "<code>", // R! base | surcharge | discount | tax | informational "code" : { CodeableConcept }, // Codes may be used to differentiate between kinds of taxes, surcharges, discounts etc. "factor" : <decimal>, // Factor used for calculating this component "amount" : { Money } // Explicit value amount to be used }
Turtle Template
@prefix fhir: <http://hl7.org/fhir/> . [ # from Element: Element.extension fhir:type [ code ] ; # 1..1 base | surcharge | discount | tax | informational fhir:code [ CodeableConcept ] ; # 0..1 Codes may be used to differentiate between kinds of taxes, surcharges, discounts etc. fhir:factor [ decimal ] ; # 0..1 Factor used for calculating this component fhir:amount [ Money ] ; # 0..1 Explicit value amount to be used ]
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