FHIR Release 3 (STU)

This page is part of the FHIR Specification (v3.0.2: STU 3). The current version which supercedes this version is 5.0.0. For a full list of available versions, see the Directory of published versions . Page versions: R5 R4B R4 R3

2.27.0 MetaData Types

FHIR Infrastructure Work GroupMaturity Level: 4Ballot Status: Trial Use

The FHIR specification defines a set of data types that are used for the resource elements. There are four categories of data types:

  1. simple / primitive types, which are single elements with a primitive value
  2. General purpose complex types, which are re-usable clusters of elements
  3. Complex data types for metadata
  4. Special purpose data types: Reference, Narrative, Extension, Meta, and Dosage

This page describes the metadata types.

Table of Contents

ContactDetail Contributor DataRequirement ParameterDefinition
RelatedArtifact TriggerDefinition UsageContext

See also Examples, Detailed Descriptions and Mappings.

The ContactDetail structure defines general contact details.

Structure

NameFlagsCard.TypeDescription & Constraintsdoco
.. ContactDetail ΣElementContact information
Elements defined in Ancestors: id, extension
... name Σ0..1stringName of an individual to contact
... telecom Σ0..*ContactPointContact details for individual or organization

doco Documentation for this format

XML Template

<[name] xmlns="http://hl7.org/fhir"> doco
 <!-- from Element: extension -->
 <name value="[string]"/><!-- 0..1 Name of an individual to contact -->
 <telecom><!-- 0..* ContactPoint Contact details for individual or organization --></telecom>
</[name]>

JSON Template



Turtle Template


@prefix fhir: <http://hl7.org/fhir/> .

[
 # from Element: Element.extension
  fhir:ContactDetail.name [ string ]; # 0..1 Name of an individual to contact
  fhir:ContactDetail.telecom [ ContactPoint ], ... ; # 0..* Contact details for individual or organization
]

Changes since DSTU2



This complex-type did not exist in Release 2

Structure

NameFlagsCard.TypeDescription & Constraintsdoco
.. ContactDetail ΣElementContact information
Elements defined in Ancestors: id, extension
... name Σ0..1stringName of an individual to contact
... telecom Σ0..*ContactPointContact details for individual or organization

doco Documentation for this format

XML Template

<[name] xmlns="http://hl7.org/fhir"> doco
 <!-- from Element: extension -->
 <name value="[string]"/><!-- 0..1 Name of an individual to contact -->
 <telecom><!-- 0..* ContactPoint Contact details for individual or organization --></telecom>
</[name]>

JSON Template

Turtle Template

@prefix fhir: <http://hl7.org/fhir/> .

[
 # from Element: Element.extension
  fhir:ContactDetail.name [ string ]; # 0..1 Name of an individual to contact
  fhir:ContactDetail.telecom [ ContactPoint ], ... ; # 0..* Contact details for individual or organization
]

Changes since DSTU2

This complex-type did not exist in Release 2

Constraints

ContactDetail is used in the following places: ActivityDefinition, CapabilityStatement, CodeSystem, CompartmentDefinition, ConceptMap, DataElement, ExpansionProfile, GraphDefinition, ImplementationGuide, Library, Measure, MessageDefinition, NamingSystem, OperationDefinition, PlanDefinition, Questionnaire, ResearchStudy, SearchParameter, ServiceDefinition, StructureDefinition, StructureMap, TestScript and ValueSet

 

See also Examples, Detailed Descriptions and Mappings.

Structure

NameFlagsCard.TypeDescription & Constraintsdoco
.. Contributor ΣElementContributor information
Elements defined in Ancestors: id, extension
... type Σ1..1codeauthor | editor | reviewer | endorser
ContributorType (Required)
... name Σ1..1stringWho contributed the content
... contact Σ0..*ContactDetailContact details of the contributor

doco Documentation for this format

XML Template

<[name] xmlns="http://hl7.org/fhir"> doco
 <!-- from Element: extension -->
 <type value="[code]"/><!-- 1..1 author | editor | reviewer | endorser -->
 <name value="[string]"/><!-- 1..1 Who contributed the content -->
 <contact><!-- 0..* ContactDetail Contact details of the contributor --></contact>
</[name]>

JSON Template



Turtle Template


@prefix fhir: <http://hl7.org/fhir/> .

[
 # from Element: Element.extension
  fhir:Contributor.type [ code ]; # 1..1 author | editor | reviewer | endorser
  fhir:Contributor.name [ string ]; # 1..1 Who contributed the content
  fhir:Contributor.contact [ ContactDetail ], ... ; # 0..* Contact details of the contributor
]

Changes since DSTU2



This complex-type did not exist in Release 2

Structure

NameFlagsCard.TypeDescription & Constraintsdoco
.. Contributor ΣElementContributor information
Elements defined in Ancestors: id, extension
... type Σ1..1codeauthor | editor | reviewer | endorser
ContributorType (Required)
... name Σ1..1stringWho contributed the content
... contact Σ0..*ContactDetailContact details of the contributor

doco Documentation for this format

XML Template

<[name] xmlns="http://hl7.org/fhir"> doco
 <!-- from Element: extension -->
 <type value="[code]"/><!-- 1..1 author | editor | reviewer | endorser -->
 <name value="[string]"/><!-- 1..1 Who contributed the content -->
 <contact><!-- 0..* ContactDetail Contact details of the contributor --></contact>
</[name]>

JSON Template

Turtle Template

@prefix fhir: <http://hl7.org/fhir/> .

[
 # from Element: Element.extension
  fhir:Contributor.type [ code ]; # 1..1 author | editor | reviewer | endorser
  fhir:Contributor.name [ string ]; # 1..1 Who contributed the content
  fhir:Contributor.contact [ ContactDetail ], ... ; # 0..* Contact details of the contributor
]

Changes since DSTU2

This complex-type did not exist in Release 2

Constraints

Contributor is used in the following places: ActivityDefinition, Library, Measure, PlanDefinition and ServiceDefinition

 

See also Examples, Detailed Descriptions and Mappings.

The DataRequirement structure defines a general data requirement for a knowledge asset such as a decision support rule or quality measure.

Structure

NameFlagsCard.TypeDescription & Constraintsdoco
.. DataRequirement ΣElementDescribes a required data item
Elements defined in Ancestors: id, extension
... type Σ1..1codeThe type of the required data
FHIRAllTypes (Required)
... profile Σ0..*uriThe profile of the required data
... mustSupport Σ0..*stringIndicates that specific structure elements are referenced by the knowledge module
... codeFilter Σ0..*ElementWhat codes are expected
.... path Σ1..1stringThe code-valued attribute of the filter
.... valueSet[x] Σ0..1Valueset for the filter
..... valueSetStringstring
..... valueSetReferenceReference(ValueSet)
.... valueCode Σ0..*codeWhat code is expected
.... valueCoding Σ0..*CodingWhat Coding is expected
.... valueCodeableConcept Σ0..*CodeableConceptWhat CodeableConcept is expected
... dateFilter Σ0..*ElementWhat dates/date ranges are expected
.... path Σ1..1stringThe date-valued attribute of the filter
.... value[x] Σ0..1The value of the filter, as a Period, DateTime, or Duration value
..... valueDateTimedateTime
..... valuePeriodPeriod
..... valueDurationDuration

doco Documentation for this format

UML Diagram (Legend)

ElementExtensions - as described for all elements: additional information that is not part of the basic definition of the resource / typeextension : Extension 0..*DataRequirementThe type of the required data, specified as the type name of a resource. For profiles, this value is set to the type of the base resource of the profiletype : code [1..1] Either an abstract type, a resource or a data type. (Strength=Required)FHIRAllTypes! The profile of the required data, specified as the uri of the profile definitionprofile : uri [0..*]Indicates that specific elements of the type are referenced by the knowledge module and must be supported by the consumer in order to obtain an effective evaluation. This does not mean that a value is required for this element, only that the consuming system must understand the element and be able to provide values for it if they are available. Note that the value for this element can be a path to allow references to nested elements. In that case, all the elements along the path must be supportedmustSupport : string [0..*]CodeFilterThe code-valued attribute of the filter. The specified path must be resolvable from the type of the required data. The path is allowed to contain qualifiers (.) to traverse sub-elements, as well as indexers ([x]) to traverse multiple-cardinality sub-elements. Note that the index must be an integer constant. The path must resolve to an element of type code, Coding, or CodeableConceptpath : string [1..1]The valueset for the code filter. The valueSet and value elements are exclusive. If valueSet is specified, the filter will return only those data items for which the value of the code-valued element specified in the path is a member of the specified valuesetvalueSet[x] : Type [0..1] string|Reference(ValueSet) The codes for the code filter. Only one of valueSet, valueCode, valueCoding, or valueCodeableConcept may be specified. If values are given, the filter will return only those data items for which the code-valued attribute specified by the path has a value that is one of the specified codesvalueCode : code [0..*]The Codings for the code filter. Only one of valueSet, valueCode, valueConding, or valueCodeableConcept may be specified. If values are given, the filter will return only those data items for which the code-valued attribute specified by the path has a value that is one of the specified CodingsvalueCoding : Coding [0..*]The CodeableConcepts for the code filter. Only one of valueSet, valueCode, valueConding, or valueCodeableConcept may be specified. If values are given, the filter will return only those data items for which the code-valued attribute specified by the path has a value that is one of the specified CodeableConceptsvalueCodeableConcept : CodeableConcept [0..*]DateFilterThe date-valued attribute of the filter. The specified path must be resolvable from the type of the required data. The path is allowed to contain qualifiers (.) to traverse sub-elements, as well as indexers ([x]) to traverse multiple-cardinality sub-elements. Note that the index must be an integer constant. The path must resolve to an element of type dateTime, Period, Schedule, or Timingpath : string [1..1]The value of the filter. If period is specified, the filter will return only those data items that fall within the bounds determined by the Period, inclusive of the period boundaries. If dateTime is specified, the filter will return only those data items that are equal to the specified dateTime. If a Duration is specified, the filter will return only those data items that fall within Duration from nowvalue[x] : Type [0..1] dateTime|Period|Duration Code filters specify additional constraints on the data, specifying the value set of interest for a particular element of the datacodeFilter[0..*]Date filters specify additional constraints on the data in terms of the applicable date range for specific elementsdateFilter[0..*]

XML Template

<[name] xmlns="http://hl7.org/fhir"> doco
 <!-- from Element: extension -->
 <type value="[code]"/><!-- 1..1 The type of the required data -->
 <profile value="[uri]"/><!-- 0..* The profile of the required data -->
 <mustSupport value="[string]"/><!-- 0..* Indicates that specific structure elements are referenced by the knowledge module -->
 <codeFilter>  <!-- 0..* What codes are expected -->
  <path value="[string]"/><!-- 1..1 The code-valued attribute of the filter -->
  <valueSet[x]><!-- 0..1 string|Reference(ValueSet) Valueset for the filter --></valueSet[x]>
  <valueCode value="[code]"/><!-- 0..* What code is expected -->
  <valueCoding><!-- 0..* Coding What Coding is expected --></valueCoding>
  <valueCodeableConcept><!-- 0..* CodeableConcept What CodeableConcept is expected --></valueCodeableConcept>
 </codeFilter>
 <dateFilter>  <!-- 0..* What dates/date ranges are expected -->
  <path value="[string]"/><!-- 1..1 The date-valued attribute of the filter -->
  <value[x]><!-- 0..1 dateTime|Period|Duration The value of the filter, as a Period, DateTime, or Duration value --></value[x]>
 </dateFilter>
</[name]>

JSON Template



Turtle Template


@prefix fhir: <http://hl7.org/fhir/> .

[
 # from Element: Element.extension
  fhir:DataRequirement.type [ code ]; # 1..1 The type of the required data
  fhir:DataRequirement.profile [ uri ], ... ; # 0..* The profile of the required data
  fhir:DataRequirement.mustSupport [ string ], ... ; # 0..* Indicates that specific structure elements are referenced by the knowledge module
  fhir:DataRequirement.codeFilter [ # 0..* What codes are expected
    fhir:DataRequirement.codeFilter.path [ string ]; # 1..1 The code-valued attribute of the filter
    # DataRequirement.codeFilter.valueSet[x] : 0..1 Valueset for the filter. One of these 2
      fhir:DataRequirement.codeFilter.valueSetString [ string ]
      fhir:DataRequirement.codeFilter.valueSetReference [ Reference(ValueSet) ]
    fhir:DataRequirement.codeFilter.valueCode [ code ], ... ; # 0..* What code is expected
    fhir:DataRequirement.codeFilter.valueCoding [ Coding ], ... ; # 0..* What Coding is expected
    fhir:DataRequirement.codeFilter.valueCodeableConcept [ CodeableConcept ], ... ; # 0..* What CodeableConcept is expected
  ], ...;
  fhir:DataRequirement.dateFilter [ # 0..* What dates/date ranges are expected
    fhir:DataRequirement.dateFilter.path [ string ]; # 1..1 The date-valued attribute of the filter
    # DataRequirement.dateFilter.value[x] : 0..1 The value of the filter, as a Period, DateTime, or Duration value. One of these 3
      fhir:DataRequirement.dateFilter.valueDateTime [ dateTime ]
      fhir:DataRequirement.dateFilter.valuePeriod [ Period ]
      fhir:DataRequirement.dateFilter.valueDuration [ Duration ]
  ], ...;
]

Changes since DSTU2



This complex-type did not exist in Release 2

Structure

NameFlagsCard.TypeDescription & Constraintsdoco
.. DataRequirement ΣElementDescribes a required data item
Elements defined in Ancestors: id, extension
... type Σ1..1codeThe type of the required data
FHIRAllTypes (Required)
... profile Σ0..*uriThe profile of the required data
... mustSupport Σ0..*stringIndicates that specific structure elements are referenced by the knowledge module
... codeFilter Σ0..*ElementWhat codes are expected
.... path Σ1..1stringThe code-valued attribute of the filter
.... valueSet[x] Σ0..1Valueset for the filter
..... valueSetStringstring
..... valueSetReferenceReference(ValueSet)
.... valueCode Σ0..*codeWhat code is expected
.... valueCoding Σ0..*CodingWhat Coding is expected
.... valueCodeableConcept Σ0..*CodeableConceptWhat CodeableConcept is expected
... dateFilter Σ0..*ElementWhat dates/date ranges are expected
.... path Σ1..1stringThe date-valued attribute of the filter
.... value[x] Σ0..1The value of the filter, as a Period, DateTime, or Duration value
..... valueDateTimedateTime
..... valuePeriodPeriod
..... valueDurationDuration

doco Documentation for this format

UML Diagram (Legend)

ElementExtensions - as described for all elements: additional information that is not part of the basic definition of the resource / typeextension : Extension 0..*DataRequirementThe type of the required data, specified as the type name of a resource. For profiles, this value is set to the type of the base resource of the profiletype : code [1..1] Either an abstract type, a resource or a data type. (Strength=Required)FHIRAllTypes! The profile of the required data, specified as the uri of the profile definitionprofile : uri [0..*]Indicates that specific elements of the type are referenced by the knowledge module and must be supported by the consumer in order to obtain an effective evaluation. This does not mean that a value is required for this element, only that the consuming system must understand the element and be able to provide values for it if they are available. Note that the value for this element can be a path to allow references to nested elements. In that case, all the elements along the path must be supportedmustSupport : string [0..*]CodeFilterThe code-valued attribute of the filter. The specified path must be resolvable from the type of the required data. The path is allowed to contain qualifiers (.) to traverse sub-elements, as well as indexers ([x]) to traverse multiple-cardinality sub-elements. Note that the index must be an integer constant. The path must resolve to an element of type code, Coding, or CodeableConceptpath : string [1..1]The valueset for the code filter. The valueSet and value elements are exclusive. If valueSet is specified, the filter will return only those data items for which the value of the code-valued element specified in the path is a member of the specified valuesetvalueSet[x] : Type [0..1] string|Reference(ValueSet) The codes for the code filter. Only one of valueSet, valueCode, valueCoding, or valueCodeableConcept may be specified. If values are given, the filter will return only those data items for which the code-valued attribute specified by the path has a value that is one of the specified codesvalueCode : code [0..*]The Codings for the code filter. Only one of valueSet, valueCode, valueConding, or valueCodeableConcept may be specified. If values are given, the filter will return only those data items for which the code-valued attribute specified by the path has a value that is one of the specified CodingsvalueCoding : Coding [0..*]The CodeableConcepts for the code filter. Only one of valueSet, valueCode, valueConding, or valueCodeableConcept may be specified. If values are given, the filter will return only those data items for which the code-valued attribute specified by the path has a value that is one of the specified CodeableConceptsvalueCodeableConcept : CodeableConcept [0..*]DateFilterThe date-valued attribute of the filter. The specified path must be resolvable from the type of the required data. The path is allowed to contain qualifiers (.) to traverse sub-elements, as well as indexers ([x]) to traverse multiple-cardinality sub-elements. Note that the index must be an integer constant. The path must resolve to an element of type dateTime, Period, Schedule, or Timingpath : string [1..1]The value of the filter. If period is specified, the filter will return only those data items that fall within the bounds determined by the Period, inclusive of the period boundaries. If dateTime is specified, the filter will return only those data items that are equal to the specified dateTime. If a Duration is specified, the filter will return only those data items that fall within Duration from nowvalue[x] : Type [0..1] dateTime|Period|Duration Code filters specify additional constraints on the data, specifying the value set of interest for a particular element of the datacodeFilter[0..*]Date filters specify additional constraints on the data in terms of the applicable date range for specific elementsdateFilter[0..*]

XML Template

<[name] xmlns="http://hl7.org/fhir"> doco
 <!-- from Element: extension -->
 <type value="[code]"/><!-- 1..1 The type of the required data -->
 <profile value="[uri]"/><!-- 0..* The profile of the required data -->
 <mustSupport value="[string]"/><!-- 0..* Indicates that specific structure elements are referenced by the knowledge module -->
 <codeFilter>  <!-- 0..* What codes are expected -->
  <path value="[string]"/><!-- 1..1 The code-valued attribute of the filter -->
  <valueSet[x]><!-- 0..1 string|Reference(ValueSet) Valueset for the filter --></valueSet[x]>
  <valueCode value="[code]"/><!-- 0..* What code is expected -->
  <valueCoding><!-- 0..* Coding What Coding is expected --></valueCoding>
  <valueCodeableConcept><!-- 0..* CodeableConcept What CodeableConcept is expected --></valueCodeableConcept>
 </codeFilter>
 <dateFilter>  <!-- 0..* What dates/date ranges are expected -->
  <path value="[string]"/><!-- 1..1 The date-valued attribute of the filter -->
  <value[x]><!-- 0..1 dateTime|Period|Duration The value of the filter, as a Period, DateTime, or Duration value --></value[x]>
 </dateFilter>
</[name]>

JSON Template

Turtle Template

@prefix fhir: <http://hl7.org/fhir/> .

[
 # from Element: Element.extension
  fhir:DataRequirement.type [ code ]; # 1..1 The type of the required data
  fhir:DataRequirement.profile [ uri ], ... ; # 0..* The profile of the required data
  fhir:DataRequirement.mustSupport [ string ], ... ; # 0..* Indicates that specific structure elements are referenced by the knowledge module
  fhir:DataRequirement.codeFilter [ # 0..* What codes are expected
    fhir:DataRequirement.codeFilter.path [ string ]; # 1..1 The code-valued attribute of the filter
    # DataRequirement.codeFilter.valueSet[x] : 0..1 Valueset for the filter. One of these 2
      fhir:DataRequirement.codeFilter.valueSetString [ string ]
      fhir:DataRequirement.codeFilter.valueSetReference [ Reference(ValueSet) ]
    fhir:DataRequirement.codeFilter.valueCode [ code ], ... ; # 0..* What code is expected
    fhir:DataRequirement.codeFilter.valueCoding [ Coding ], ... ; # 0..* What Coding is expected
    fhir:DataRequirement.codeFilter.valueCodeableConcept [ CodeableConcept ], ... ; # 0..* What CodeableConcept is expected
  ], ...;
  fhir:DataRequirement.dateFilter [ # 0..* What dates/date ranges are expected
    fhir:DataRequirement.dateFilter.path [ string ]; # 1..1 The date-valued attribute of the filter
    # DataRequirement.dateFilter.value[x] : 0..1 The value of the filter, as a Period, DateTime, or Duration value. One of these 3
      fhir:DataRequirement.dateFilter.valueDateTime [ dateTime ]
      fhir:DataRequirement.dateFilter.valuePeriod [ Period ]
      fhir:DataRequirement.dateFilter.valueDuration [ Duration ]
  ], ...;
]

Changes since DSTU2

This complex-type did not exist in Release 2

Constraints

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.

Data requirements 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="performedPeriod"/>
		<valuePeriod>
			<start value="2016-01-01"/>
			<end value="2016-12-31"/>
		</valuePeriod>
	</dateFilter>
</dataRequirement>

If a resource type has multiple date attributes, then it may be necessary to include multiple date criteria. For instance, in the example above the Procedure resource is using the performedPeriod date attribute. However, the Procedure resource also provides a performedDateTime (specific date and/or time when procedure was performed) attribute. Therefore, if the date criteria for the Procedure in the example was recorded using the performedDateTime attribute, the date criteria would be incomplete. To account for this additional date attribute, the example could be expanded as follows:

define "Total Colectomy Procedures":
  [Procedure: "Total Colectomy Value Set"] P
    where exists (P.performedPeriod during "Measurement Period")
	  or exists (P.performedDateTime during "Measurement Period")

The data requirement for the expanded criteria:

<dataRequirement>
	<type value="Procedure"/>
	<codeFilter>
		<path value="code"/>
		<valueSetString value="Total Colectomy Value Set"/>
	</codeFilter>
	<dateFilter>
		<path value="performedPeriod"/>
		<path value="performedDateTime"/>
	</dateFilter>
</dataRequirement>

DataRequirement is used in the following places: GuidanceResponse, Library, PlanDefinition and ServiceDefinition

 

See also Examples, Detailed Descriptions and Mappings.

The ParameterDefinition structure defines a parameter to a knowledge asset such as a decision support rule or quality measure.

Parameters are typically used to communicate patient-independent information such as configuration values, whereas DataRequirements are typically used to communicate patient-dependent information such as MedicationStatements and Encounters.

Structure

NameFlagsCard.TypeDescription & Constraintsdoco
.. ParameterDefinition ΣElementDefinition of a parameter to a module
Elements defined in Ancestors: id, extension
... name Σ0..1codeName used to access the parameter value
... use Σ1..1codein | out
OperationParameterUse (Required)
... min Σ0..1integerMinimum cardinality
... max Σ0..1stringMaximum cardinality (a number of *)
... documentation Σ0..1stringA brief description of the parameter
... type Σ1..1codeWhat type of value
FHIRAllTypes (Required)
... profile Σ0..1Reference(StructureDefinition)What profile the value is expected to be

doco Documentation for this format

XML Template

<[name] xmlns="http://hl7.org/fhir"> doco
 <!-- 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 Reference(StructureDefinition) What profile the value is expected to be --></profile>
</[name]>

Turtle Template


@prefix fhir: <http://hl7.org/fhir/> .

[
 # from Element: Element.extension
  fhir:ParameterDefinition.name [ code ]; # 0..1 Name used to access the parameter value
  fhir:ParameterDefinition.use [ code ]; # 1..1 in | out
  fhir:ParameterDefinition.min [ integer ]; # 0..1 Minimum cardinality
  fhir:ParameterDefinition.max [ string ]; # 0..1 Maximum cardinality (a number of *)
  fhir:ParameterDefinition.documentation [ string ]; # 0..1 A brief description of the parameter
  fhir:ParameterDefinition.type [ code ]; # 1..1 What type of value
  fhir:ParameterDefinition.profile [ Reference(StructureDefinition) ]; # 0..1 What profile the value is expected to be
]

Changes since DSTU2



This complex-type did not exist in Release 2

Structure

NameFlagsCard.TypeDescription & Constraintsdoco
.. ParameterDefinition ΣElementDefinition of a parameter to a module
Elements defined in Ancestors: id, extension
... name Σ0..1codeName used to access the parameter value
... use Σ1..1codein | out
OperationParameterUse (Required)
... min Σ0..1integerMinimum cardinality
... max Σ0..1stringMaximum cardinality (a number of *)
... documentation Σ0..1stringA brief description of the parameter
... type Σ1..1codeWhat type of value
FHIRAllTypes (Required)
... profile Σ0..1Reference(StructureDefinition)What profile the value is expected to be

doco Documentation for this format

XML Template

<[name] xmlns="http://hl7.org/fhir"> doco
 <!-- 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 Reference(StructureDefinition) What profile the value is expected to be --></profile>
</[name]>

Turtle Template

@prefix fhir: <http://hl7.org/fhir/> .

[
 # from Element: Element.extension
  fhir:ParameterDefinition.name [ code ]; # 0..1 Name used to access the parameter value
  fhir:ParameterDefinition.use [ code ]; # 1..1 in | out
  fhir:ParameterDefinition.min [ integer ]; # 0..1 Minimum cardinality
  fhir:ParameterDefinition.max [ string ]; # 0..1 Maximum cardinality (a number of *)
  fhir:ParameterDefinition.documentation [ string ]; # 0..1 A brief description of the parameter
  fhir:ParameterDefinition.type [ code ]; # 1..1 What type of value
  fhir:ParameterDefinition.profile [ Reference(StructureDefinition) ]; # 0..1 What profile the value is expected to be
]

Changes since DSTU2

This complex-type did not exist in Release 2

Constraints

 

See also Examples, Detailed Descriptions and Mappings.

The RelatedArtifact structure defines resources related to a module such as previous and next versions of documents, documentation, citations, etc. Note that the name resource here is being used in a more general sense than the FHIR-specific Resource. The related resource may be a FHIR resource, or it may be another type of resource, represented using the Attachment data type.

Structure

NameFlagsCard.TypeDescription & Constraintsdoco
.. RelatedArtifact ΣElementRelated artifacts for a knowledge resource
Elements defined in Ancestors: id, extension
... type Σ1..1codedocumentation | justification | citation | predecessor | successor | derived-from | depends-on | composed-of
RelatedArtifactType (Required)
... display Σ0..1stringBrief description of the related artifact
... citation Σ0..1stringBibliographic citation for the artifact
... url Σ0..1uriWhere the artifact can be accessed
... document Σ0..1AttachmentWhat document is being referenced
... resource Σ0..1Reference(Any)What resource is being referenced

doco Documentation for this format

XML Template

Turtle Template


@prefix fhir: <http://hl7.org/fhir/> .

[
 # from Element: Element.extension
  fhir:RelatedArtifact.type [ code ]; # 1..1 documentation | justification | citation | predecessor | successor | derived-from | depends-on | composed-of
  fhir:RelatedArtifact.display [ string ]; # 0..1 Brief description of the related artifact
  fhir:RelatedArtifact.citation [ string ]; # 0..1 Bibliographic citation for the artifact
  fhir:RelatedArtifact.url [ uri ]; # 0..1 Where the artifact can be accessed
  fhir:RelatedArtifact.document [ Attachment ]; # 0..1 What document is being referenced
  fhir:RelatedArtifact.resource [ Reference(Any) ]; # 0..1 What resource is being referenced
]

Changes since DSTU2



This complex-type did not exist in Release 2

Structure

NameFlagsCard.TypeDescription & Constraintsdoco
.. RelatedArtifact ΣElementRelated artifacts for a knowledge resource
Elements defined in Ancestors: id, extension
... type Σ1..1codedocumentation | justification | citation | predecessor | successor | derived-from | depends-on | composed-of
RelatedArtifactType (Required)
... display Σ0..1stringBrief description of the related artifact
... citation Σ0..1stringBibliographic citation for the artifact
... url Σ0..1uriWhere the artifact can be accessed
... document Σ0..1AttachmentWhat document is being referenced
... resource Σ0..1Reference(Any)What resource is being referenced

doco Documentation for this format

Turtle Template

@prefix fhir: <http://hl7.org/fhir/> .

[
 # from Element: Element.extension
  fhir:RelatedArtifact.type [ code ]; # 1..1 documentation | justification | citation | predecessor | successor | derived-from | depends-on | composed-of
  fhir:RelatedArtifact.display [ string ]; # 0..1 Brief description of the related artifact
  fhir:RelatedArtifact.citation [ string ]; # 0..1 Bibliographic citation for the artifact
  fhir:RelatedArtifact.url [ uri ]; # 0..1 Where the artifact can be accessed
  fhir:RelatedArtifact.document [ Attachment ]; # 0..1 What document is being referenced
  fhir:RelatedArtifact.resource [ Reference(Any) ]; # 0..1 What resource is being referenced
]

Changes since DSTU2

This complex-type did not exist in Release 2

Constraints

RelatedArtifact is used in the following places: ActivityDefinition, Library, Measure, PlanDefinition, RequestGroup, ResearchStudy and ServiceDefinition

 

See also Examples, Detailed Descriptions and Mappings.

The TriggerDefinition structure defines when a knowledge artifact is expected to be evaluated. The structure can represent three main kinds of triggering events:

  • Named Event
  • Scheduled Event
  • Data Event

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.

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.

Structure

NameFlagsCard.TypeDescription & Constraintsdoco
.. TriggerDefinition ΣElementDefines an expected trigger for a module
Elements defined in Ancestors: id, extension
... type Σ1..1codenamed-event | periodic | data-added | data-modified | data-removed | data-accessed | data-access-ended
TriggerType (Required)
... eventName Σ0..1stringTriggering event name
... eventTiming[x] Σ0..1Timing of the event
.... eventTimingTimingTiming
.... eventTimingReferenceReference(Schedule)
.... eventTimingDatedate
.... eventTimingDateTimedateTime
... eventData Σ0..1DataRequirementTriggering data of the event

doco Documentation for this format

XML Template

<[name] xmlns="http://hl7.org/fhir"> doco
 <!-- from Element: extension -->
 <type value="[code]"/><!-- 1..1 named-event | periodic | data-added | data-modified | data-removed | data-accessed | data-access-ended -->
 <eventName value="[string]"/><!-- 0..1 Triggering event name -->
 <eventTiming[x]><!-- 0..1 Timing|Reference(Schedule)|date|dateTime Timing of the event --></eventTiming[x]>
 <eventData><!-- 0..1 DataRequirement Triggering data of the event --></eventData>
</[name]>

Turtle Template


@prefix fhir: <http://hl7.org/fhir/> .

[
 # from Element: Element.extension
  fhir:TriggerDefinition.type [ code ]; # 1..1 named-event | periodic | data-added | data-modified | data-removed | data-accessed | data-access-ended
  fhir:TriggerDefinition.eventName [ string ]; # 0..1 Triggering event name
  # TriggerDefinition.eventTiming[x] : 0..1 Timing of the event. One of these 4
    fhir:TriggerDefinition.eventTimingTiming [ Timing ]
    fhir:TriggerDefinition.eventTimingReference [ Reference(Schedule) ]
    fhir:TriggerDefinition.eventTimingDate [ date ]
    fhir:TriggerDefinition.eventTimingDateTime [ dateTime ]
  fhir:TriggerDefinition.eventData [ DataRequirement ]; # 0..1 Triggering data of the event
]

Changes since DSTU2



This complex-type did not exist in Release 2

Structure

NameFlagsCard.TypeDescription & Constraintsdoco
.. TriggerDefinition ΣElementDefines an expected trigger for a module
Elements defined in Ancestors: id, extension
... type Σ1..1codenamed-event | periodic | data-added | data-modified | data-removed | data-accessed | data-access-ended
TriggerType (Required)
... eventName Σ0..1stringTriggering event name
... eventTiming[x] Σ0..1Timing of the event
.... eventTimingTimingTiming
.... eventTimingReferenceReference(Schedule)
.... eventTimingDatedate
.... eventTimingDateTimedateTime
... eventData Σ0..1DataRequirementTriggering data of the event

doco Documentation for this format

XML Template

<[name] xmlns="http://hl7.org/fhir"> doco
 <!-- from Element: extension -->
 <type value="[code]"/><!-- 1..1 named-event | periodic | data-added | data-modified | data-removed | data-accessed | data-access-ended -->
 <eventName value="[string]"/><!-- 0..1 Triggering event name -->
 <eventTiming[x]><!-- 0..1 Timing|Reference(Schedule)|date|dateTime Timing of the event --></eventTiming[x]>
 <eventData><!-- 0..1 DataRequirement Triggering data of the event --></eventData>
</[name]>

Turtle Template

@prefix fhir: <http://hl7.org/fhir/> .

[
 # from Element: Element.extension
  fhir:TriggerDefinition.type [ code ]; # 1..1 named-event | periodic | data-added | data-modified | data-removed | data-accessed | data-access-ended
  fhir:TriggerDefinition.eventName [ string ]; # 0..1 Triggering event name
  # TriggerDefinition.eventTiming[x] : 0..1 Timing of the event. One of these 4
    fhir:TriggerDefinition.eventTimingTiming [ Timing ]
    fhir:TriggerDefinition.eventTimingReference [ Reference(Schedule) ]
    fhir:TriggerDefinition.eventTimingDate [ date ]
    fhir:TriggerDefinition.eventTimingDateTime [ dateTime ]
  fhir:TriggerDefinition.eventData [ DataRequirement ]; # 0..1 Triggering data of the event
]

Changes since DSTU2

This complex-type did not exist in Release 2

Constraints

 

See also Examples, Detailed Descriptions and Mappings.

The UsageContext structure defines the context of use for a module.

Structure

NameFlagsCard.TypeDescription & Constraintsdoco
.. UsageContext ΣElementDescribes the context of use for a conformance or knowledge resource
Elements defined in Ancestors: id, extension
... code Σ1..1CodingType of context being specified
UsageContextType (Extensible)
... value[x] Σ1..1Value that defines the context
Context of Use ValueSet (Example)
.... valueCodeableConceptCodeableConcept
.... valueQuantityQuantity
.... valueRangeRange

doco Documentation for this format

XML Template

<[name] xmlns="http://hl7.org/fhir"> doco
 <!-- from Element: extension -->
 <code><!-- 1..1 Coding Type of context being specified --></code>
 <value[x]><!-- 1..1 CodeableConcept|Quantity|Range Value that defines the context --></value[x]>
</[name]>

JSON Template


{doco
  "resourceType" : "UsageContext",
  // from Element: extension
  "code" : { Coding }, // R!  Type of context being specified
  // value[x]: Value that defines the context. One of these 3:
  "valueCodeableConcept" : { CodeableConcept }
  "valueQuantity" : { Quantity }
  "valueRange" : { Range }
}

Turtle Template


@prefix fhir: <http://hl7.org/fhir/> .

[
 # from Element: Element.extension
  fhir:UsageContext.code [ Coding ]; # 1..1 Type of context being specified
  # UsageContext.value[x] : 1..1 Value that defines the context. One of these 3
    fhir:UsageContext.valueCodeableConcept [ CodeableConcept ]
    fhir:UsageContext.valueQuantity [ Quantity ]
    fhir:UsageContext.valueRange [ Range ]
]

Changes since DSTU2



This complex-type did not exist in Release 2

Structure

NameFlagsCard.TypeDescription & Constraintsdoco
.. UsageContext ΣElementDescribes the context of use for a conformance or knowledge resource
Elements defined in Ancestors: id, extension
... code Σ1..1CodingType of context being specified
UsageContextType (Extensible)
... value[x] Σ1..1Value that defines the context
Context of Use ValueSet (Example)
.... valueCodeableConceptCodeableConcept
.... valueQuantityQuantity
.... valueRangeRange

doco Documentation for this format

XML Template

<[name] xmlns="http://hl7.org/fhir"> doco
 <!-- from Element: extension -->
 <code><!-- 1..1 Coding Type of context being specified --></code>
 <value[x]><!-- 1..1 CodeableConcept|Quantity|Range Value that defines the context --></value[x]>
</[name]>

JSON Template

{doco
  "resourceType" : "UsageContext",
  // from Element: extension
  "code" : { Coding }, // R!  Type of context being specified
  // value[x]: Value that defines the context. One of these 3:
  "valueCodeableConcept" : { CodeableConcept }
  "valueQuantity" : { Quantity }
  "valueRange" : { Range }
}

Turtle Template

@prefix fhir: <http://hl7.org/fhir/> .

[
 # from Element: Element.extension
  fhir:UsageContext.code [ Coding ]; # 1..1 Type of context being specified
  # UsageContext.value[x] : 1..1 Value that defines the context. One of these 3
    fhir:UsageContext.valueCodeableConcept [ CodeableConcept ]
    fhir:UsageContext.valueQuantity [ Quantity ]
    fhir:UsageContext.valueRange [ Range ]
]

Changes since DSTU2

This complex-type did not exist in Release 2

Constraints

UsageContext is used in the following places: ActivityDefinition, CapabilityStatement, CodeSystem, CompartmentDefinition, ConceptMap, DataElement, ExpansionProfile, GraphDefinition, ImplementationGuide, Library, Measure, MessageDefinition, NamingSystem, OperationDefinition, PlanDefinition, Questionnaire, SearchParameter, ServiceDefinition, StructureDefinition, StructureMap, TestScript and ValueSet