Release 5 4

This page is part of the FHIR Specification (v5.0.0: R5 (v4.0.1: R4 - Mixed Normative and STU ). This is the ) in it's permanent home (it will always be available at this URL). The current published version. version which supercedes this version is 5.0.0 . For a full list of available versions, see the Directory of published versions . Page versions: R5 R4B R4 R3

2.1.28.6.0 2.25.0 MetaDatatypes MetaData Types

Modeling and Methodology FHIR Infrastructure Work Group Maturity Level : 4 Standards Status : Partially Normative
Types Framework Cross Reference: Base Types | Datatypes | Resources
This page has been approved as part of an ANSI | Patterns standard. See the Infrastructure Package for further details.

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

ExtendedContactDetail VirtualServiceDetail Availability MonetaryComponent
ContactDetail Contributor DataRequirement ParameterDefinition
RelatedArtifact TriggerDefinition Expression UsageContext

For an index of all datatypes, data types, see the Datatypes Data types page .

FHIR Infrastructure Work Group Maturity Level : 5 This DataType has been approved as part of an ANSI Standards Status : Normative standard. See the Infrastructure Package for further details.

See also Examples , Detailed Descriptions , Mappings , Profiles , Extensions and R4 Conversions Mappings .

The ContactDetail structure defines general contact details.

Structure

Name Flags Card. Type Description & Constraints doco
. . 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

doco Documentation for this format
Definition: XML | JSON

XML Template

< xmlns="http://hl7.org/fhir">

<[name] xmlns="http://hl7.org/fhir">

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

</[name]>

Turtle Template

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

[
 # from Element: Element.extension
  fhir:
  fhir:

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

]

Changes since Release 3

Changes from both R4 and R4B
ContactDetail
  • No Changes

See the Full Difference for further information

Structure

Name Flags Card. Type Description & Constraints doco
. . 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

doco Documentation for this format

XML Template

< xmlns="http://hl7.org/fhir">

<[name] xmlns="http://hl7.org/fhir">

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

</[name]>

Turtle Template

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

[
 # from Element: Element.extension
  fhir:
  fhir:

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

]

Changes since Release 3

Changes from both R4 and R4B
ContactDetail
  • No Changes

See the Full Difference for further information

Constraints

ContactDetail is used in the following places: Contributor , ActivityDefinition , ActorDefinition , CanonicalResource , CapabilityStatement , ChargeItemDefinition , Citation , CodeSystem , CompartmentDefinition , ConceptMap , ConditionDefinition EffectEvidenceSynthesis , EventDefinition , Evidence , EvidenceReport , EvidenceVariable , ExampleScenario , GraphDefinition , ImplementationGuide , Library , Measure , MessageDefinition , MetadataResource , NamingSystem , ObservationDefinition , OperationDefinition , PlanDefinition , Questionnaire , Requirements ResearchDefinition , ResearchElementDefinition , ResearchStudy , RiskEvidenceSynthesis , SearchParameter , SpecimenDefinition , StructureDefinition , StructureMap , SubscriptionTopic , TerminologyCapabilities , TestPlan , TestScript and ValueSet

 

Normative Candidate Note: This DataType (and the rest on this page) is not normative - it is still undergoing Trial Use while more experience is gathered.

See also Examples , Detailed Descriptions and Mappings .

Structure

Maturity Level : 5
Name Flags Card. Type Description & Constraints doco
. . Contributor Σ TU Element Contributor information
Elements defined in Ancestors: id , extension
... type Σ 1..1 code author | editor | reviewer | endorser
ContributorType ( Required )
... name Σ 1..1 string Who contributed the content
... contact Σ 0..* ContactDetail Contact details of the contributor
FHIR Infrastructure
doco Documentation for this format Work Group

XML Template


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

Turtle Template


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

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

Changes since Release 3

Contributor
Contributor.type
  • Change value set from http://hl7.org/fhir/ValueSet/contributor-type to http://hl7.org/fhir/ValueSet/contributor-type|4.0.1

See the Full Difference for further information

Standards Status : Trial Use Structure

Name Flags Card. Type Description & Constraints doco
.. Contributor Σ TU Element Contributor information
Elements defined in Ancestors: id , extension
... type Σ 1..1 code author | editor | reviewer | endorser
ContributorType ( Required )
... name Σ 1..1 string Who contributed the content
... contact Σ 0..* ContactDetail Contact details of the contributor

doco Documentation for this format

XML Template


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

Turtle Template


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

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

Changes since Release 3

Contributor
Contributor.type
  • Change value set from http://hl7.org/fhir/ValueSet/contributor-type to http://hl7.org/fhir/ValueSet/contributor-type|4.0.1

See the Full Difference for further information

Constraints

Terminology Bindings

Path Definition Type Reference
Contributor.type The type of contributor. Required ContributorType

Contributor is used in the following places: (not used as yet)

 

See also Examples , Detailed Descriptions , Mappings , Profiles , Extensions and R4 Conversions Mappings .

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

Structure

dateTime valuePeriod Period valueDuration valuePeriod
Name Flags Card. Type Description & Constraints doco
. . 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 FHIRAllTypes ( 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 Subject type ( Extensible )
. . . . subjectCodeableConcept CodeableConcept
. . . . subjectReference Reference ( Group )
. . . mustSupport Σ 0..* string Indicates specific structure elements that are referenced by the knowledge module
. . . codeFilter Σ C I 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 Valueset for the filter
. . . . code Σ 0..* Coding What code is expected
. . . dateFilter Σ C I 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 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 dateTime 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 . valuePeriod dateTime 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 )

doco Documentation for this format
Definition: XML | JSON

UML Diagram ( Legend )

Element Extensions - as described for all elements: additional information that is not part of the basic definition of the resource / type extension : Extension 0..* DataRequirement The 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 profile type : code [1..1] « List A list of FHIR all the concrete types (resources, data types). defined in this version of the FHIR specification - Abstract Types, Data Types and Resource Types. (Strength=Required) FHIRTypes FHIRAllTypes ! » The profile of the required data, specified as the uri of the profile definition profile : canonical [0..*] « StructureDefinition » The intended subjects of the data requirement. If this element is not provided, a Patient subject is assumed subject[x] : DataType Type [0..1] « CodeableConcept | Reference ( Group ); The possible types of subjects for a data requirement (E.g., Patient, Practitioner, Organization, Location, etc.). (Strength=Extensible) ParticipantResourceTypes SubjectType + » 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. The value of mustSupport SHALL be a FHIRPath resolvable resolveable on the type of the DataRequirement. The path SHALL consist only of identifiers, constant indexers, and .resolve() (see the [Simple FHIRPath Profile](fhirpath.html#simple) for full details) mustSupport : string [0..*] Specifies a maximum number of results that are required (uses the _count search parameter) limit : positiveInt [0..1] CodeFilter The code-valued attribute of the filter. The specified path SHALL be a FHIRPath resolvable resolveable on the specified type of the DataRequirement, and SHALL consist only of identifiers, constant indexers, and .resolve(). The path is allowed to contain qualifiers (.) to traverse sub-elements, as well as indexers ([x]) to traverse multiple-cardinality sub-elements (see the [Simple FHIRPath Profile](fhirpath.html#simple) for full details). Note that the index must be an integer constant. The path must resolve to an element of type code, Coding, or CodeableConcept path : string [0..1] « This element has or is affected by some invariants C » A token parameter that refers to a search parameter defined on the specified type of the DataRequirement, and which searches on elements of type code, Coding, or CodeableConcept searchParam : string [0..1] « This element has or is affected by some invariants C » The valueset for the code filter. The valueSet and code elements are additive. 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 valueset valueSet : canonical [0..1] « ValueSet » The codes for the code filter. 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 codes. If codes are specified in addition to a value set, the filter returns items matching a code in the value set or one of the specified codes code : Coding [0..*] DateFilter The date-valued attribute of the filter. The specified path SHALL be a FHIRPath resolvable resolveable on the specified type of the DataRequirement, and SHALL consist only of identifiers, constant indexers, and .resolve(). The path is allowed to contain qualifiers (.) to traverse sub-elements, as well as indexers ([x]) to traverse multiple-cardinality sub-elements (see the [Simple FHIRPath Profile](fhirpath.html#simple) for full details). Note that the index must be an integer constant. The path must resolve to an element of type date, dateTime, Period, Schedule, or Timing path : string [0..1] « This element has or is affected by some invariants C » A date parameter that refers to a search parameter defined on the specified type of the DataRequirement, and which searches on elements of type date, dateTime, Period, Schedule, or Timing searchParam : string [0..1] « This element has or is affected by some invariants C » 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 before now value[x] : DataType Type [0..1] « dateTime | Period | Duration » ValueFilter The attribute of the filter. The specified path SHALL be a FHIRPath resolvable on the specified type of the DataRequirement, and SHALL consist only of identifiers, constant indexers, and .resolve(). The path is allowed to contain qualifiers (.) to traverse sub-elements, as well as indexers ([x]) to traverse multiple-cardinality sub-elements (see the [Simple FHIRPath Profile](fhirpath.html#simple) for full details). Note that the index must be an integer constant. The path must resolve to an element of a type that is comparable to the valueFilter.value[x] element for the filter path : string [0..1] A search parameter defined on the specified type of the DataRequirement, and which searches on elements of a type compatible with the type of the valueFilter.value[x] for the filter searchParam : string [0..1] The comparator to be used to determine whether the value is matching comparator : code [0..1] « Possible comparators for the valueFilter element. (Strength=Required) ValueFilterComparator ! » The value of the filter value[x] : DataType [0..1] « dateTime | Period | Duration » Sort The attribute of the sort. 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 path : string [1..1] The direction of the sort, ascending or descending direction : code [1..1] « The possible sort directions, ascending or descending. (Strength=Required) SortDirection ! » DataType Code filters specify additional constraints on the data, specifying the value set of interest for a particular element of the data. Each code filter defines an additional constraint on the data, i.e. code filters are AND'ed, not OR'ed codeFilter [0..*] Date filters specify additional constraints on the data in terms of the applicable date range for specific elements. Each date filter specifies an additional constraint on the data, i.e. date filters are AND'ed, not OR'ed dateFilter [0..*] Value filters specify additional constraints on the data for elements other than code-valued or date-valued. Each value filter specifies an additional constraint on the data (i.e. valueFilters are AND'ed, not OR'ed) valueFilter [0..*] Specifies the order of the results to be returned sort [0..*]

XML Template

< xmlns="http://hl7.org/fhir">

<[name] xmlns="http://hl7.org/fhir">

 <!-- from Element: extension -->
 <

 <type value="[code]"/><!-- 1..1 The type of the required data -->

 <profile><!-- 0..* canonical(StructureDefinition) The profile of the required data --></profile>
 <</subject[x]>

 <subject[x]><!-- 0..1 CodeableConcept|Reference(Group) E.g. Patient, Practitioner, RelatedPerson, Organization, Location, Device --></subject[x]>

 <The value of mustSupport SHALL be a FHIRPath resolvable on the type of the DataRequirement. The path SHALL consist only of identifiers, constant indexers, and .resolve() (see the [Simple FHIRPath Profile](fhirpath.html#simple) for full details)." class="dict">

The value of mustSupport SHALL be a FHIRPath resolveable on the type of the DataRequirement. The path SHALL consist only of identifiers, constant indexers, and .resolve() (see the [Simple FHIRPath Profile](fhirpath.html#simple) for full details)." class="dict">mustSupport value="[string]"/><!-- 0..* Indicates specific structure elements that are referenced by the knowledge module -->

 <codeFilter>  <!-- 0..* What codes are expected -->
  <
  <
  <</valueSet>

  <path value="[string]"/><!-- 0..1 A code-valued attribute to filter on -->
  <searchParam value="[string]"/><!-- 0..1 A coded (token) parameter to search on -->
  <valueSet><!-- 0..1 canonical(ValueSet) Valueset for the filter --></valueSet>

  <code><!-- 0..* Coding What code is expected --></code>
 </codeFilter>
 <dateFilter>  <!-- 0..* What dates/date ranges are expected -->
  <
  <

  <path value="[string]"/><!-- 0..1 A date-valued attribute to filter on -->
  <searchParam value="[string]"/><!-- 0..1 A date valued parameter to search on -->

  <value[x]><!-- 0..1 dateTime|Period|Duration The value of the filter, as a Period, DateTime, or Duration value --></value[x]>
 </dateFilter>
 <
  <
  <
  <
  <</value[x]>
 </valueFilter>

 <limit value="[positiveInt]"/><!-- 0..1 Number of results -->
 <sort>  <!-- 0..* Order of the results -->
  <path value="[string]"/><!-- 1..1 The name of the attribute to perform the sort -->
  <direction value="[code]"/><!-- 1..1 ascending | descending -->
 </sort>
</DataRequirement>

</[name]>

JSON Template

{doco
  // from Element: extension
  "
  "

  "type" : "<code>", // R!  The type of the required data
  "profile" : [{ canonical(StructureDefinition) }], // The profile of the required data

  // subject[x]: E.g. Patient, Practitioner, RelatedPerson, Organization, Location, Device. One of these 2:
  "subjectCodeableConcept" : { CodeableConcept },
  "subjectReference" : { Reference(Group) },
  "The value of mustSupport SHALL be a FHIRPath resolvable on the type of the DataRequirement. The path SHALL consist only of identifiers, constant indexers, and .resolve() (see the [Simple FHIRPath Profile](fhirpath.html#simple) for full details)." class="dict">mustSupport

The value of mustSupport SHALL be a FHIRPath resolveable on the type of the DataRequirement. The path SHALL consist only of identifiers, constant indexers, and .resolve() (see the [Simple FHIRPath Profile](fhirpath.html#simple) for full details)." class="dict">mustSupport" : ["<string>"], // Indicates specific structure elements that are referenced by the knowledge module

  "codeFilter" : [{ // What codes are expected
    "
    "
    "

    "path" : "<string>", // A code-valued attribute to filter on
    "searchParam" : "<string>", // A coded (token) parameter to search on
    "valueSet" : { canonical(ValueSet) }, // Valueset for the filter

    "code" : [{ Coding }] // What code is expected
  }],
  "dateFilter" : [{ // What dates/date ranges are expected
    "
    "

    "path" : "<string>", // A date-valued attribute to filter on
    "searchParam" : "<string>", // A date valued parameter to search on

    // value[x]: The value of the filter, as a Period, DateTime, or Duration value. One of these 3:
    ">",
    " },

    "valueDateTime" : "<dateTime>"
    "valuePeriod" : { Period }

    "valueDuration" : { Duration }
  }],
  "
    "
    "
    "
    
    ">",
    " },
    " }
  }],

  "limit" : "<positiveInt>", // Number of results
  "sort" : [{ // Order of the results
    "path" : "<string>", // R!  The name of the attribute to perform the sort
    "direction" : "<code>" // R!  ascending | descending
  }]
}

Turtle Template

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

[
 # from Element: Element.extension
  fhir:
  fhir:
  # . One of these 2
    fhir: ]
    fhir:) ]

  fhir:DataRequirement.type [ code ]; # 1..1 The type of the required data
  fhir:DataRequirement.profile [ canonical(StructureDefinition) ], ... ; # 0..* The profile of the required data
  # DataRequirement.subject[x] : 0..1 E.g. Patient, Practitioner, RelatedPerson, Organization, Location, Device. One of these 2
    fhir:DataRequirement.subjectCodeableConcept [ CodeableConcept ]
    fhir:DataRequirement.subjectReference [ Reference(Group) ]

  fhir:The value of mustSupport SHALL be a FHIRPath resolvable on the type of the DataRequirement. The path SHALL consist only of identifiers, constant indexers, and .resolve() (see the [Simple FHIRPath Profile](fhirpath.html#simple) for full details)." class="dict">mustSupport
  fhir:
    fhir:
    fhir:
    fhir:
    fhir:
  ] ... ) ;
  fhir:
    fhir:
    fhir:
    # . One of these 3
      fhir: ]
      fhir: ]
      fhir: ]
  ] ... ) ;
  fhir:
    fhir:
    fhir:
    fhir:
    # . One of these 3
      fhir: ]
      fhir: ]
      fhir: ]
  ] ... ) ;
  fhir:
  fhir:
    fhir:
    fhir:
  ] ... ) ;

The value of mustSupport SHALL be a FHIRPath resolveable on the type of the DataRequirement. The path SHALL consist only of identifiers, constant indexers, and .resolve() (see the [Simple FHIRPath Profile](fhirpath.html#simple) for full details)." class="dict">DataRequirement.mustSupport [ string ], ... ; # 0..* Indicates specific structure elements that are referenced by the knowledge module
  fhir:DataRequirement.codeFilter [ # 0..* What codes are expected
    fhir:DataRequirement.codeFilter.path [ string ]; # 0..1 A code-valued attribute to filter on
    fhir:DataRequirement.codeFilter.searchParam [ string ]; # 0..1 A coded (token) parameter to search on
    fhir:DataRequirement.codeFilter.valueSet [ canonical(ValueSet) ]; # 0..1 Valueset for the filter
    fhir:DataRequirement.codeFilter.code [ Coding ], ... ; # 0..* What code is expected
  ], ...;
  fhir:DataRequirement.dateFilter [ # 0..* What dates/date ranges are expected
    fhir:DataRequirement.dateFilter.path [ string ]; # 0..1 A date-valued attribute to filter on
    fhir:DataRequirement.dateFilter.searchParam [ string ]; # 0..1 A date valued parameter to search on
    # DataRequirement.dateFilter.value[x] : 0..1 The value of the filter, as a Period, DateTime, or Duration value. One of these 3
      fhir:DataRequirement.dateFilter.valueDateTime [ dateTime ]
      fhir:DataRequirement.dateFilter.valuePeriod [ Period ]
      fhir:DataRequirement.dateFilter.valueDuration [ Duration ]
  ], ...;
  fhir:DataRequirement.limit [ positiveInt ]; # 0..1 Number of results
  fhir:DataRequirement.sort [ # 0..* Order of the results
    fhir:DataRequirement.sort.path [ string ]; # 1..1 The name of the attribute to perform the sort
    fhir:DataRequirement.sort.direction [ code ]; # 1..1 ascending | descending
  ], ...;

]

Changes since Release 3

Changes from both R4 and R4B
DataRequirement
DataRequirement.type
  • Change value set from http://hl7.org/fhir/ValueSet/all-types|4.0.0 http://hl7.org/fhir/ValueSet/all-types to All FHIR Types http://hl7.org/fhir/ValueSet/all-types|4.0.1
DataRequirement.profile
  • Remove codes MoneyQuantity , Population , ProdCharacteristic , SimpleQuantity , SubstanceAmount , CatalogEntry , DeviceUseStatement , DocumentManifest , EffectEvidenceSynthesis , Media , MedicinalProduct , MedicinalProductAuthorization , MedicinalProductContraindication , MedicinalProductIndication , MedicinalProductIngredient , MedicinalProductInteraction , MedicinalProductManufactured , MedicinalProductPackaged , MedicinalProductPharmaceutical , MedicinalProductUndesirableEffect , RequestGroup , ResearchDefinition , ResearchElementDefinition , RiskEvidenceSynthesis , SubstanceSpecification , Type , Any changed from uri to canonical(StructureDefinition)
DataRequirement.subject[x]
  • Add codes Base , DataType , Availability , BackboneType , CodeableReference , ExtendedContactDetail , MonetaryComponent , PrimitiveType , integer64 , RatioRange , VirtualServiceDetail , ActorDefinition , AdministrableProductDefinition , ArtifactAssessment , BiologicallyDerivedProductDispense , CanonicalResource , Citation , ClinicalUseDefinition , ConditionDefinition , DeviceAssociation , DeviceDispense , DeviceUsage , EncounterHistory , EvidenceReport , FormularyItem , GenomicStudy , ImagingSelection , Ingredient , InventoryItem , InventoryReport , ManufacturedItemDefinition , MedicinalProductDefinition , MetadataResource , NutritionIntake , NutritionProduct , PackagedProductDefinition , Permission , RegulatedAuthorization , RequestOrchestration , Requirements , SubscriptionStatus , SubscriptionTopic , SubstanceDefinition , TestPlan , Transport Added Element
DataRequirement.subject[x] DataRequirement.codeFilter.path
  • Change value set Min Cardinality changed from http://hl7.org/fhir/ValueSet/subject-type 1 to Participant Resource 0
DataRequirement.codeFilter.searchParam
  • Added Element
DataRequirement.codeFilter.valueSet
  • Renamed from valueSet[x] to valueSet
  • Add Type canonical(ValueSet)
  • Remove Types string, Reference(ValueSet)
DataRequirement.codeFilter.code
  • Change code system for extensibly bound codes Added Element
DataRequirement.dateFilter.path
  • Min Cardinality changed from "http://hl7.org/fhir/resource-types" 1 to "http://hl7.org/fhir/fhir-types" 0
DataRequirement.valueFilter DataRequirement.dateFilter.searchParam
  • Added Element
DataRequirement.valueFilter.path DataRequirement.limit
  • Added Element
DataRequirement.valueFilter.searchParam DataRequirement.sort
  • Added Element
DataRequirement.valueFilter.comparator DataRequirement.sort.path
  • Added Mandatory Element
DataRequirement.valueFilter.value[x] DataRequirement.sort.direction
  • Added Mandatory Element
DataRequirement.codeFilter.valueCode
  • deleted
DataRequirement.codeFilter.valueCoding
  • deleted
DataRequirement.codeFilter.valueCodeableConcept
  • deleted

See the Full Difference for further information

Structure

valueDuration value[x] Σ 0..1 The value of the filter, as a Period, DateTime, or Duration value
Name Flags Card. Type Description & Constraints doco
. . 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 FHIRAllTypes ( 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 Subject type ( Extensible )
. . . . subjectCodeableConcept CodeableConcept
. . . . subjectReference Reference ( Group )
. . . mustSupport Σ 0..* string Indicates specific structure elements that are referenced by the knowledge module
. . . codeFilter Σ C I 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 Valueset for the filter
. . . . code Σ 0..* Coding What code is expected
. . . dateFilter Σ C I 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 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 dateTime Σ 0..1 code eq | gt | lt | ge | le | sa | eb Binding: Value Filter Comparator ( Required )
. . . . valueDateTime . valuePeriod 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 )

doco Documentation for this format

UML Diagram ( Legend )

Element Extensions - as described for all elements: additional information that is not part of the basic definition of the resource / type extension : Extension 0..* DataRequirement The 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 profile type : code [1..1] « List A list of FHIR all the concrete types (resources, data types). defined in this version of the FHIR specification - Abstract Types, Data Types and Resource Types. (Strength=Required) FHIRTypes FHIRAllTypes ! » The profile of the required data, specified as the uri of the profile definition profile : canonical [0..*] « StructureDefinition » The intended subjects of the data requirement. If this element is not provided, a Patient subject is assumed subject[x] : DataType Type [0..1] « CodeableConcept | Reference ( Group ); The possible types of subjects for a data requirement (E.g., Patient, Practitioner, Organization, Location, etc.). (Strength=Extensible) ParticipantResourceTypes SubjectType + » 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. The value of mustSupport SHALL be a FHIRPath resolvable resolveable on the type of the DataRequirement. The path SHALL consist only of identifiers, constant indexers, and .resolve() (see the [Simple FHIRPath Profile](fhirpath.html#simple) for full details) mustSupport : string [0..*] Specifies a maximum number of results that are required (uses the _count search parameter) limit : positiveInt [0..1] CodeFilter The code-valued attribute of the filter. The specified path SHALL be a FHIRPath resolvable resolveable on the specified type of the DataRequirement, and SHALL consist only of identifiers, constant indexers, and .resolve(). The path is allowed to contain qualifiers (.) to traverse sub-elements, as well as indexers ([x]) to traverse multiple-cardinality sub-elements (see the [Simple FHIRPath Profile](fhirpath.html#simple) for full details). Note that the index must be an integer constant. The path must resolve to an element of type code, Coding, or CodeableConcept path : string [0..1] « This element has or is affected by some invariants C » A token parameter that refers to a search parameter defined on the specified type of the DataRequirement, and which searches on elements of type code, Coding, or CodeableConcept searchParam : string [0..1] « This element has or is affected by some invariants C » The valueset for the code filter. The valueSet and code elements are additive. 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 valueset valueSet : canonical [0..1] « ValueSet » The codes for the code filter. 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 codes. If codes are specified in addition to a value set, the filter returns items matching a code in the value set or one of the specified codes code : Coding [0..*] DateFilter The date-valued attribute of the filter. The specified path SHALL be a FHIRPath resolvable resolveable on the specified type of the DataRequirement, and SHALL consist only of identifiers, constant indexers, and .resolve(). The path is allowed to contain qualifiers (.) to traverse sub-elements, as well as indexers ([x]) to traverse multiple-cardinality sub-elements (see the [Simple FHIRPath Profile](fhirpath.html#simple) for full details). Note that the index must be an integer constant. The path must resolve to an element of type date, dateTime, Period, Schedule, or Timing path : string [0..1] « This element has or is affected by some invariants C » A date parameter that refers to a search parameter defined on the specified type of the DataRequirement, and which searches on elements of type date, dateTime, Period, Schedule, or Timing searchParam : string [0..1] « This element has or is affected by some invariants C » 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 before now value[x] : DataType Type [0..1] « dateTime | Period | Duration » ValueFilter The attribute of the filter. The specified path SHALL be a FHIRPath resolvable on the specified type of the DataRequirement, and SHALL consist only of identifiers, constant indexers, and .resolve(). The path is allowed to contain qualifiers (.) to traverse sub-elements, as well as indexers ([x]) to traverse multiple-cardinality sub-elements (see the [Simple FHIRPath Profile](fhirpath.html#simple) for full details). Note that the index must be an integer constant. The path must resolve to an element of a type that is comparable to the valueFilter.value[x] element for the filter path : string [0..1] A search parameter defined on the specified type of the DataRequirement, and which searches on elements of a type compatible with the type of the valueFilter.value[x] for the filter searchParam : string [0..1] The comparator to be used to determine whether the value is matching comparator : code [0..1] « Possible comparators for the valueFilter element. (Strength=Required) ValueFilterComparator ! » The value of the filter value[x] : DataType [0..1] « dateTime | Period | Duration » Sort The attribute of the sort. 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 path : string [1..1] The direction of the sort, ascending or descending direction : code [1..1] « The possible sort directions, ascending or descending. (Strength=Required) SortDirection ! » DataType Code filters specify additional constraints on the data, specifying the value set of interest for a particular element of the data. Each code filter defines an additional constraint on the data, i.e. code filters are AND'ed, not OR'ed codeFilter [0..*] Date filters specify additional constraints on the data in terms of the applicable date range for specific elements. Each date filter specifies an additional constraint on the data, i.e. date filters are AND'ed, not OR'ed dateFilter [0..*] Value filters specify additional constraints on the data for elements other than code-valued or date-valued. Each value filter specifies an additional constraint on the data (i.e. valueFilters are AND'ed, not OR'ed) valueFilter [0..*] Specifies the order of the results to be returned sort [0..*]

XML Template

< xmlns="http://hl7.org/fhir">

<[name] xmlns="http://hl7.org/fhir">

 <!-- from Element: extension -->
 <

 <type value="[code]"/><!-- 1..1 The type of the required data -->

 <profile><!-- 0..* canonical(StructureDefinition) The profile of the required data --></profile>
 <</subject[x]>

 <subject[x]><!-- 0..1 CodeableConcept|Reference(Group) E.g. Patient, Practitioner, RelatedPerson, Organization, Location, Device --></subject[x]>

 <The value of mustSupport SHALL be a FHIRPath resolvable on the type of the DataRequirement. The path SHALL consist only of identifiers, constant indexers, and .resolve() (see the [Simple FHIRPath Profile](fhirpath.html#simple) for full details)." class="dict">

The value of mustSupport SHALL be a FHIRPath resolveable on the type of the DataRequirement. The path SHALL consist only of identifiers, constant indexers, and .resolve() (see the [Simple FHIRPath Profile](fhirpath.html#simple) for full details)." class="dict">mustSupport value="[string]"/><!-- 0..* Indicates specific structure elements that are referenced by the knowledge module -->

 <codeFilter>  <!-- 0..* What codes are expected -->
  <
  <
  <</valueSet>

  <path value="[string]"/><!-- 0..1 A code-valued attribute to filter on -->
  <searchParam value="[string]"/><!-- 0..1 A coded (token) parameter to search on -->
  <valueSet><!-- 0..1 canonical(ValueSet) Valueset for the filter --></valueSet>

  <code><!-- 0..* Coding What code is expected --></code>
 </codeFilter>
 <dateFilter>  <!-- 0..* What dates/date ranges are expected -->
  <
  <

  <path value="[string]"/><!-- 0..1 A date-valued attribute to filter on -->
  <searchParam value="[string]"/><!-- 0..1 A date valued parameter to search on -->

  <value[x]><!-- 0..1 dateTime|Period|Duration The value of the filter, as a Period, DateTime, or Duration value --></value[x]>
 </dateFilter>
 <
  <
  <
  <
  <</value[x]>
 </valueFilter>

 <limit value="[positiveInt]"/><!-- 0..1 Number of results -->
 <sort>  <!-- 0..* Order of the results -->
  <path value="[string]"/><!-- 1..1 The name of the attribute to perform the sort -->
  <direction value="[code]"/><!-- 1..1 ascending | descending -->
 </sort>
</DataRequirement>

</[name]>

JSON Template

{doco
  // from Element: extension
  "
  "

  "type" : "<code>", // R!  The type of the required data
  "profile" : [{ canonical(StructureDefinition) }], // The profile of the required data

  // subject[x]: E.g. Patient, Practitioner, RelatedPerson, Organization, Location, Device. One of these 2:
  "subjectCodeableConcept" : { CodeableConcept },
  "subjectReference" : { Reference(Group) },
  "The value of mustSupport SHALL be a FHIRPath resolvable on the type of the DataRequirement. The path SHALL consist only of identifiers, constant indexers, and .resolve() (see the [Simple FHIRPath Profile](fhirpath.html#simple) for full details)." class="dict">mustSupport

The value of mustSupport SHALL be a FHIRPath resolveable on the type of the DataRequirement. The path SHALL consist only of identifiers, constant indexers, and .resolve() (see the [Simple FHIRPath Profile](fhirpath.html#simple) for full details)." class="dict">mustSupport" : ["<string>"], // Indicates specific structure elements that are referenced by the knowledge module

  "codeFilter" : [{ // What codes are expected
    "
    "
    "

    "path" : "<string>", // A code-valued attribute to filter on
    "searchParam" : "<string>", // A coded (token) parameter to search on
    "valueSet" : { canonical(ValueSet) }, // Valueset for the filter

    "code" : [{ Coding }] // What code is expected
  }],
  "dateFilter" : [{ // What dates/date ranges are expected
    "
    "

    "path" : "<string>", // A date-valued attribute to filter on
    "searchParam" : "<string>", // A date valued parameter to search on

    // value[x]: The value of the filter, as a Period, DateTime, or Duration value. One of these 3:
    ">",
    " },

    "valueDateTime" : "<dateTime>"
    "valuePeriod" : { Period }

    "valueDuration" : { Duration }
  }],
  "
    "
    "
    "
    
    ">",
    " },
    " }
  }],

  "limit" : "<positiveInt>", // Number of results
  "sort" : [{ // Order of the results
    "path" : "<string>", // R!  The name of the attribute to perform the sort
    "direction" : "<code>" // R!  ascending | descending
  }]
}

Turtle Template

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

[
 # from Element: Element.extension
  fhir:
  fhir:
  # . One of these 2
    fhir: ]
    fhir:) ]

  fhir:DataRequirement.type [ code ]; # 1..1 The type of the required data
  fhir:DataRequirement.profile [ canonical(StructureDefinition) ], ... ; # 0..* The profile of the required data
  # DataRequirement.subject[x] : 0..1 E.g. Patient, Practitioner, RelatedPerson, Organization, Location, Device. One of these 2
    fhir:DataRequirement.subjectCodeableConcept [ CodeableConcept ]
    fhir:DataRequirement.subjectReference [ Reference(Group) ]

  fhir:The value of mustSupport SHALL be a FHIRPath resolvable on the type of the DataRequirement. The path SHALL consist only of identifiers, constant indexers, and .resolve() (see the [Simple FHIRPath Profile](fhirpath.html#simple) for full details)." class="dict">mustSupport
  fhir:
    fhir:
    fhir:
    fhir:
    fhir:
  ] ... ) ;
  fhir:
    fhir:
    fhir:
    # . One of these 3
      fhir: ]
      fhir: ]
      fhir: ]
  ] ... ) ;
  fhir:
    fhir:
    fhir:
    fhir:
    # . One of these 3
      fhir: ]
      fhir: ]
      fhir: ]
  ] ... ) ;
  fhir:
  fhir:
    fhir:
    fhir:
  ] ... ) ;

The value of mustSupport SHALL be a FHIRPath resolveable on the type of the DataRequirement. The path SHALL consist only of identifiers, constant indexers, and .resolve() (see the [Simple FHIRPath Profile](fhirpath.html#simple) for full details)." class="dict">DataRequirement.mustSupport [ string ], ... ; # 0..* Indicates specific structure elements that are referenced by the knowledge module
  fhir:DataRequirement.codeFilter [ # 0..* What codes are expected
    fhir:DataRequirement.codeFilter.path [ string ]; # 0..1 A code-valued attribute to filter on
    fhir:DataRequirement.codeFilter.searchParam [ string ]; # 0..1 A coded (token) parameter to search on
    fhir:DataRequirement.codeFilter.valueSet [ canonical(ValueSet) ]; # 0..1 Valueset for the filter
    fhir:DataRequirement.codeFilter.code [ Coding ], ... ; # 0..* What code is expected
  ], ...;
  fhir:DataRequirement.dateFilter [ # 0..* What dates/date ranges are expected
    fhir:DataRequirement.dateFilter.path [ string ]; # 0..1 A date-valued attribute to filter on
    fhir:DataRequirement.dateFilter.searchParam [ string ]; # 0..1 A date valued parameter to search on
    # DataRequirement.dateFilter.value[x] : 0..1 The value of the filter, as a Period, DateTime, or Duration value. One of these 3
      fhir:DataRequirement.dateFilter.valueDateTime [ dateTime ]
      fhir:DataRequirement.dateFilter.valuePeriod [ Period ]
      fhir:DataRequirement.dateFilter.valueDuration [ Duration ]
  ], ...;
  fhir:DataRequirement.limit [ positiveInt ]; # 0..1 Number of results
  fhir:DataRequirement.sort [ # 0..* Order of the results
    fhir:DataRequirement.sort.path [ string ]; # 1..1 The name of the attribute to perform the sort
    fhir:DataRequirement.sort.direction [ code ]; # 1..1 ascending | descending
  ], ...;

]

Changes since Release 3

Changes from both R4 and R4B
DataRequirement
DataRequirement.type
  • Change value set from http://hl7.org/fhir/ValueSet/all-types|4.0.0 http://hl7.org/fhir/ValueSet/all-types to All FHIR Types http://hl7.org/fhir/ValueSet/all-types|4.0.1
DataRequirement.profile
  • Remove codes MoneyQuantity , Population , ProdCharacteristic , SimpleQuantity , SubstanceAmount , CatalogEntry , DeviceUseStatement , DocumentManifest , EffectEvidenceSynthesis , Media , MedicinalProduct , MedicinalProductAuthorization , MedicinalProductContraindication , MedicinalProductIndication , MedicinalProductIngredient , MedicinalProductInteraction , MedicinalProductManufactured , MedicinalProductPackaged , MedicinalProductPharmaceutical , MedicinalProductUndesirableEffect , RequestGroup , ResearchDefinition , ResearchElementDefinition , RiskEvidenceSynthesis , SubstanceSpecification , Type , Any changed from uri to canonical(StructureDefinition)
DataRequirement.subject[x]
  • Add codes Base , DataType , Availability , BackboneType , CodeableReference , ExtendedContactDetail , MonetaryComponent , PrimitiveType , integer64 , RatioRange , VirtualServiceDetail , ActorDefinition , AdministrableProductDefinition , ArtifactAssessment , BiologicallyDerivedProductDispense , CanonicalResource , Citation , ClinicalUseDefinition , ConditionDefinition , DeviceAssociation , DeviceDispense , DeviceUsage , EncounterHistory , EvidenceReport , FormularyItem , GenomicStudy , ImagingSelection , Ingredient , InventoryItem , InventoryReport , ManufacturedItemDefinition , MedicinalProductDefinition , MetadataResource , NutritionIntake , NutritionProduct , PackagedProductDefinition , Permission , RegulatedAuthorization , RequestOrchestration , Requirements , SubscriptionStatus , SubscriptionTopic , SubstanceDefinition , TestPlan , Transport Added Element
DataRequirement.subject[x] DataRequirement.codeFilter.path
  • Change value set Min Cardinality changed from http://hl7.org/fhir/ValueSet/subject-type 1 to Participant Resource 0
DataRequirement.codeFilter.searchParam
  • Added Element
DataRequirement.codeFilter.valueSet
  • Renamed from valueSet[x] to valueSet
  • Add Type canonical(ValueSet)
  • Remove Types string, Reference(ValueSet)
DataRequirement.codeFilter.code
  • Change code system for extensibly bound codes Added Element
DataRequirement.dateFilter.path
  • Min Cardinality changed from "http://hl7.org/fhir/resource-types" 1 to "http://hl7.org/fhir/fhir-types" 0
DataRequirement.valueFilter DataRequirement.dateFilter.searchParam
  • Added Element
DataRequirement.valueFilter.path DataRequirement.limit
  • Added Element
DataRequirement.valueFilter.searchParam DataRequirement.sort
  • Added Element
DataRequirement.valueFilter.comparator DataRequirement.sort.path
  • Added Mandatory Element
DataRequirement.valueFilter.value[x] DataRequirement.sort.direction
  • Added Mandatory Element
DataRequirement.codeFilter.valueCode
  • deleted
DataRequirement.codeFilter.valueCoding
  • deleted
DataRequirement.codeFilter.valueCodeableConcept
  • deleted

See the Full Difference for further information

Constraints

id Level Location Description Expression
 drq-1 drq-1 Rule DataRequirement.codeFilter Either a path or a searchParam must be provided, but not both path.exists() xor searchParam.exists()
 drq-2 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 Definition Type Documentation Reference
DataRequirement.type FHIRTypes (a valid code from All A list of all the concrete types defined in this version of the FHIR specification - Abstract Types, Data Types ) and Resource Types. Required All FHIR types Types
DataRequirement.subject[x] ParticipantResourceTypes The possible types of subjects for a data requirement (E.g., Patient, Practitioner, Organization, Location, etc.). Extensible All Resource Types that represent participant resources DataRequirement.valueFilter.comparator ValueFilterComparator Required SubjectType The type of comparator operator to use
DataRequirement.sort.direction SortDirection The possible sort directions, ascending or descending. Required The possible sort directions, ascending or descending. SortDirection

A DataRequirement differs from a parameter in that it specifies the data to be provided in terms of the type of data, and specific filters on code-valued and/or date-valued attributes. Data requirements are not named because they are referenced by type within the evaluation context.

DataRequirements are used by knowledge modules to communicate the set of required data to a consumer in a way that is computable (as opposed to a set of named parameters which must be integrated by hand based on the meaning of the parameter as communicated through the documentation).

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

For example, consider the following CQL expression:

define "Total Colectomy Procedures":
  [Procedure: "Total Colectomy Value Set"] P
    where P.performedPeriod during "Measurement Period"

The criteria is looking for procedures matching the "Total Colectomy Value Set" that were performed during the "Measurement Period". In this case, "Measurement Period" is a parameter, referenced by name, whereas the reference to Procedure uses the name of the resource type, and so constitutes a data requirement of the criteria:

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

		<path value="performedPeriod"/>

		<valuePeriod>
			<start value="2016-01-01"/>
			<end value="2016-12-31"/>
		</valuePeriod>
	</dateFilter>
</dataRequirement>

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

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

The data requirement for the expanded criteria:

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

		<path value="performedPeriod"/>
		<path value="performedDateTime"/>

	</dateFilter>
</dataRequirement>

DataRequirement is used in the following places: TriggerDefinition , EvidenceVariable , GuidanceResponse , Library , PlanDefinition and RequestOrchestration ResearchElementDefinition

 

See also Examples , Detailed Descriptions , Mappings , Profiles , Extensions and R4 Conversions Mappings .

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

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

Structure

Name Flags Card. Type Description & Constraints doco
. . 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 OperationParameterUse ( 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 FHIRAllTypes ( Required )
. . . profile Σ 0..1 canonical ( StructureDefinition ) What profile the value is expected to be

doco Documentation for this format
Definition: XML | JSON

XML Template

< xmlns="http://hl7.org/fhir">

<[name] xmlns="http://hl7.org/fhir">

 <!-- from Element: extension -->
 <name value="[code]"/><!-- 0..1 Name used to access the parameter value -->
 <use value="[code]"/><!-- 1..1 in | out -->
 <min value="[integer]"/><!-- 0..1 Minimum cardinality -->
 <max value="[string]"/><!-- 0..1 Maximum cardinality (a number of *) -->
 <documentation value="[string]"/><!-- 0..1 A brief description of the parameter -->
 <

 <type value="[code]"/><!-- 1..1 What type of value -->

 <profile><!-- 0..1 canonical(StructureDefinition) What profile the value is expected to be --></profile>
</ParameterDefinition>

</[name]>

Turtle Template

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

[
 # from Element: Element.extension
  fhir:
  fhir:
  fhir:
  fhir:
  fhir:
  fhir:
  fhir:

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

]

Changes since Release 3

Changes from both R4 and R4B
ParameterDefinition
ParameterDefinition.type ParameterDefinition.use
  • Change value set from http://hl7.org/fhir/ValueSet/all-types|4.0.0 http://hl7.org/fhir/ValueSet/operation-parameter-use to All FHIR Types http://hl7.org/fhir/ValueSet/operation-parameter-use|4.0.1
ParameterDefinition.type
  • Remove codes MoneyQuantity , Population , ProdCharacteristic , SimpleQuantity , SubstanceAmount , CatalogEntry , DeviceUseStatement , DocumentManifest , EffectEvidenceSynthesis , Media , MedicinalProduct , MedicinalProductAuthorization , MedicinalProductContraindication , MedicinalProductIndication , MedicinalProductIngredient , MedicinalProductInteraction , MedicinalProductManufactured , MedicinalProductPackaged , MedicinalProductPharmaceutical , MedicinalProductUndesirableEffect , RequestGroup , ResearchDefinition , ResearchElementDefinition , RiskEvidenceSynthesis , SubstanceSpecification , Type , Any Change value set from http://hl7.org/fhir/ValueSet/all-types to http://hl7.org/fhir/ValueSet/all-types|4.0.1
ParameterDefinition.profile
  • Add codes Base , DataType , Availability , BackboneType , CodeableReference , ExtendedContactDetail , MonetaryComponent , PrimitiveType , integer64 , RatioRange , VirtualServiceDetail , ActorDefinition , AdministrableProductDefinition , ArtifactAssessment , BiologicallyDerivedProductDispense , CanonicalResource , Citation , ClinicalUseDefinition , ConditionDefinition , DeviceAssociation , DeviceDispense , DeviceUsage , EncounterHistory , EvidenceReport , FormularyItem , GenomicStudy , ImagingSelection , Ingredient , InventoryItem , InventoryReport , ManufacturedItemDefinition , MedicinalProductDefinition , MetadataResource , NutritionIntake , NutritionProduct , PackagedProductDefinition , Permission , RegulatedAuthorization , RequestOrchestration , Requirements , SubscriptionStatus , SubscriptionTopic , SubstanceDefinition , TestPlan , Transport Type changed from Reference(StructureDefinition) to canonical(StructureDefinition)

See the Full Difference for further information

Structure

Name Flags Card. Type Description & Constraints doco
. . 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 OperationParameterUse ( 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 FHIRAllTypes ( Required )
. . . profile Σ 0..1 canonical ( StructureDefinition ) What profile the value is expected to be

doco Documentation for this format

XML Template

< xmlns="http://hl7.org/fhir">

<[name] xmlns="http://hl7.org/fhir">

 <!-- from Element: extension -->
 <name value="[code]"/><!-- 0..1 Name used to access the parameter value -->
 <use value="[code]"/><!-- 1..1 in | out -->
 <min value="[integer]"/><!-- 0..1 Minimum cardinality -->
 <max value="[string]"/><!-- 0..1 Maximum cardinality (a number of *) -->
 <documentation value="[string]"/><!-- 0..1 A brief description of the parameter -->
 <

 <type value="[code]"/><!-- 1..1 What type of value -->

 <profile><!-- 0..1 canonical(StructureDefinition) What profile the value is expected to be --></profile>
</ParameterDefinition>

</[name]>

Turtle Template

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

[
 # from Element: Element.extension
  fhir:
  fhir:
  fhir:
  fhir:
  fhir:
  fhir:
  fhir:

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

]

Changes since Release 3

Changes from both R4 and R4B
ParameterDefinition
ParameterDefinition.type ParameterDefinition.use
  • Change value set from http://hl7.org/fhir/ValueSet/all-types|4.0.0 http://hl7.org/fhir/ValueSet/operation-parameter-use to All FHIR Types http://hl7.org/fhir/ValueSet/operation-parameter-use|4.0.1
ParameterDefinition.type
  • Remove codes MoneyQuantity , Population , ProdCharacteristic , SimpleQuantity , SubstanceAmount , CatalogEntry , DeviceUseStatement , DocumentManifest , EffectEvidenceSynthesis , Media , MedicinalProduct , MedicinalProductAuthorization , MedicinalProductContraindication , MedicinalProductIndication , MedicinalProductIngredient , MedicinalProductInteraction , MedicinalProductManufactured , MedicinalProductPackaged , MedicinalProductPharmaceutical , MedicinalProductUndesirableEffect , RequestGroup , ResearchDefinition , ResearchElementDefinition , RiskEvidenceSynthesis , SubstanceSpecification , Type , Any Change value set from http://hl7.org/fhir/ValueSet/all-types to http://hl7.org/fhir/ValueSet/all-types|4.0.1
ParameterDefinition.profile
  • Add codes Base , DataType , Availability , BackboneType , CodeableReference , ExtendedContactDetail , MonetaryComponent , PrimitiveType , integer64 , RatioRange , VirtualServiceDetail , ActorDefinition , AdministrableProductDefinition , ArtifactAssessment , BiologicallyDerivedProductDispense , CanonicalResource , Citation , ClinicalUseDefinition , ConditionDefinition , DeviceAssociation , DeviceDispense , DeviceUsage , EncounterHistory , EvidenceReport , FormularyItem , GenomicStudy , ImagingSelection , Ingredient , InventoryItem , InventoryReport , ManufacturedItemDefinition , MedicinalProductDefinition , MetadataResource , NutritionIntake , NutritionProduct , PackagedProductDefinition , Permission , RegulatedAuthorization , RequestOrchestration , Requirements , SubscriptionStatus , SubscriptionTopic , SubstanceDefinition , TestPlan , Transport Type changed from Reference(StructureDefinition) to canonical(StructureDefinition)

See the Full Difference for further information

Constraints

Terminology Bindings

Path ValueSet Definition Type Documentation Reference
ParameterDefinition.use OperationParameterUse Whether the parameter is input or output. Required Whether an operation parameter is an input or an output parameter. OperationParameterUse
ParameterDefinition.type FHIRTypes (a valid code from All A list of all the concrete types defined in this version of the FHIR specification - Abstract Types, Data Types ) and Resource Types. Required All FHIR types Types

 

See also Examples , Detailed Descriptions , Mappings , Profiles , Extensions and R4 Conversions Mappings .

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

Structure

Name Flags Card. Type Description & Constraints doco
. . 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 . label Σ 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 . url Σ 0..1 Attachment url What document is being referenced Where the artifact can be accessed
. . resource . document Σ 0..1 canonical ( Any Attachment ) What artifact document is being referenced
. . . resourceReference resource Σ 0..1 Reference canonical ( 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 is being referred to referenced

doco Documentation for this format
Definition: XML | JSON

UML Diagram ( Legend )

Element Extensions - as described for all elements: additional information that is not part of the basic definition of the resource / type extension : Extension 0..* RelatedArtifact The type of relationship to the related artifact type : code [1..1] « The type of relationship to the related artifact. (Strength=Required) RelatedArtifactType ! » Provides additional classifiers of the related artifact classifier : CodeableConcept [0..*] « Additional classifiers for the related artifact. (Strength=Example) CitationArtifactClassifier ?? » A short label that can be used to reference the citation from elsewhere in the containing artifact, such as a footnote index label : string [0..1] A brief description of the document or knowledge resource being referenced, suitable for display to a consumer display : string [0..1] A bibliographic citation for the related artifact. This text SHOULD be formatted according to an accepted citation format citation : markdown [0..1] A url for the artifact that can be followed to access the actual content url : url [0..1] The document being referenced, represented as an attachment. This is exclusive with the resource element document : Attachment [0..1] The related artifact, resource, such as a library, value set, profile, or other knowledge resource resource : canonical [0..1] « Any » The related artifact, if the artifact is not a canonical resource, or a resource reference to a canonical resource resourceReference : Reference [0..1] « Any » The publication status of the artifact being referred to publicationStatus : code [0..1] « Publication status of an artifact being referred to. (Strength=Required) PublicationStatus ! » The date of publication of the artifact being referred to publicationDate : date [0..1] DataType

XML Template

< xmlns="http://hl7.org/fhir">

<[name] xmlns="http://hl7.org/fhir">

 <!-- from Element: extension -->
 <
 <</classifier>

 <type value="[code]"/><!-- 1..1 documentation | justification | citation | predecessor | successor | derived-from | depends-on | composed-of -->

 <label value="[string]"/><!-- 0..1 Short label -->
 <display value="[string]"/><!-- 0..1 Brief description of the related artifact -->
 <citation value="[markdown]"/><!-- 0..1 Bibliographic citation for the artifact -->
 <url value="[url]"/><!-- 0..1 Where the artifact can be accessed -->

 <document><!-- 0..1 Attachment What document is being referenced --></document>
 <</resource>
 <</resourceReference>
 <
 <
</RelatedArtifact>

 <resource><!-- 0..1 canonical(Any) What resource is being referenced --></resource>
</[name]>

Turtle Template

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

[
 # from Element: Element.extension
  fhir:
  fhir:
  fhir:
  fhir:
  fhir:
  fhir:
  fhir:
  fhir:
  fhir:
  fhir:

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

]

Changes since Release 3

Changes from both R4 and R4B
RelatedArtifact RelatedArtifact.type Add codes 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
RelatedArtifact.classifier RelatedArtifact.type
  • Added Element Change value set from http://hl7.org/fhir/ValueSet/related-artifact-type to http://hl7.org/fhir/ValueSet/related-artifact-type|4.0.1
RelatedArtifact.resourceReference RelatedArtifact.label
  • Added Element
RelatedArtifact.publicationStatus RelatedArtifact.citation
  • Added Element Type changed from string to markdown
RelatedArtifact.publicationDate RelatedArtifact.url
  • Added Element Type changed from uri to url
RelatedArtifact.url RelatedArtifact.resource
  • Deleted (-> document) Type changed from Reference(Resource) to canonical(Resource)

See the Full Difference for further information

Structure

Name Flags Card. Type Description & Constraints doco
. . 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 . label Σ 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 . url Σ 0..1 Attachment url What document is being referenced Where the artifact can be accessed
. . resource . document Σ 0..1 canonical ( Any Attachment ) What artifact document is being referenced
. . . resourceReference resource Σ 0..1 Reference canonical ( 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 is being referred to referenced

doco Documentation for this format

UML Diagram ( Legend )

Element Extensions - as described for all elements: additional information that is not part of the basic definition of the resource / type extension : Extension 0..* RelatedArtifact The type of relationship to the related artifact type : code [1..1] « The type of relationship to the related artifact. (Strength=Required) RelatedArtifactType ! » Provides additional classifiers of the related artifact classifier : CodeableConcept [0..*] « Additional classifiers for the related artifact. (Strength=Example) CitationArtifactClassifier ?? » A short label that can be used to reference the citation from elsewhere in the containing artifact, such as a footnote index label : string [0..1] A brief description of the document or knowledge resource being referenced, suitable for display to a consumer display : string [0..1] A bibliographic citation for the related artifact. This text SHOULD be formatted according to an accepted citation format citation : markdown [0..1] A url for the artifact that can be followed to access the actual content url : url [0..1] The document being referenced, represented as an attachment. This is exclusive with the resource element document : Attachment [0..1] The related artifact, resource, such as a library, value set, profile, or other knowledge resource resource : canonical [0..1] « Any » The related artifact, if the artifact is not a canonical resource, or a resource reference to a canonical resource resourceReference : Reference [0..1] « Any » The publication status of the artifact being referred to publicationStatus : code [0..1] « Publication status of an artifact being referred to. (Strength=Required) PublicationStatus ! » The date of publication of the artifact being referred to publicationDate : date [0..1] DataType

XML Template

< xmlns="http://hl7.org/fhir">

<[name] xmlns="http://hl7.org/fhir">

 <!-- from Element: extension -->
 <
 <</classifier>

 <type value="[code]"/><!-- 1..1 documentation | justification | citation | predecessor | successor | derived-from | depends-on | composed-of -->

 <label value="[string]"/><!-- 0..1 Short label -->
 <display value="[string]"/><!-- 0..1 Brief description of the related artifact -->
 <citation value="[markdown]"/><!-- 0..1 Bibliographic citation for the artifact -->
 <url value="[url]"/><!-- 0..1 Where the artifact can be accessed -->

 <document><!-- 0..1 Attachment What document is being referenced --></document>
 <</resource>
 <</resourceReference>
 <
 <
</RelatedArtifact>

 <resource><!-- 0..1 canonical(Any) What resource is being referenced --></resource>
</[name]>

Turtle Template

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

[
 # from Element: Element.extension
  fhir:
  fhir:
  fhir:
  fhir:
  fhir:
  fhir:
  fhir:
  fhir:
  fhir:
  fhir:

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

]

Changes since Release 3

Changes from both R4 and R4B
RelatedArtifact RelatedArtifact.type Add codes 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
RelatedArtifact.classifier RelatedArtifact.type
  • Added Element Change value set from http://hl7.org/fhir/ValueSet/related-artifact-type to http://hl7.org/fhir/ValueSet/related-artifact-type|4.0.1
RelatedArtifact.resourceReference RelatedArtifact.label
  • Added Element
RelatedArtifact.publicationStatus RelatedArtifact.citation
  • Added Element Type changed from string to markdown
RelatedArtifact.publicationDate RelatedArtifact.url
  • Added Element Type changed from uri to url
RelatedArtifact.url RelatedArtifact.resource
  • Deleted (-> document) Type changed from Reference(Resource) to canonical(Resource)

See the Full Difference for further information

Constraints

Terminology Bindings

Path ValueSet Definition Type Documentation Reference
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. RelatedArtifactType

The following examples illustrate the use of relatedArtifact elements to provide citations:

<relatedArtifact>
    <label value="1"/>
    <type value="citation"/>
    <citation value="Linder, J.A., D.W. Bates, G.M. Lee, J.A. Finkelstein. 2005. _Antibiotic treatment of children with sore throat_ JAMA 294(18):2315-2322. "/>
  </relatedArtifact>
  <relatedArtifact>
    <type value="citation"/>
    <label value="2"/>
    <citation value="Infectious Diseases Society of America. 2012. _Clinical Practice Guideline for the Diagnosis and Management of Group A Streptococcal Pharyngitis: 2012 Update._ "/>
  </relatedArtifact>
  <relatedArtifact>
    <type value="citation"/>
    <label value="3"/>
    <citation value="Roberts, R.R., B. Hota, I. Ahmad, et al. _Hospital and Societal Costs of Antimicrobial-Resistant Infections in a Chicago Teaching Hospital: Implications for Antibiotic Stewardship._ Clin Infect Dis. Oct 2009; 49(8):1175-84."/>
</relatedArtifact>

RelatedArtifact is used in the following places: ActivityDefinition , ArtifactAssessment , ChargeItemDefinition , Citation , CodeSystem , Composition , ConceptMap , DeviceDefinition EffectEvidenceSynthesis , EventDefinition , Evidence , EvidenceReport , EvidenceVariable , Library , Measure , MetadataResource , NamingSystem , PlanDefinition , RequestOrchestration RequestGroup , ResearchDefinition , ResearchElementDefinition , ResearchStudy and ValueSet RiskEvidenceSynthesis

The RelatedArtifact type is used in a variety of contexts, and supports flexible description of relationships between artifacts. For example, the type can be used to describe both successor and predecessor relationships. This flexibility is needed to support use cases where only one side or other of the relationship is represented in FHIR. In practice, this datatype SHALL NOT be used to create bi-directional linking between FHIR resources.  

See also Examples , Detailed Descriptions , Mappings , Profiles , Extensions and R4 Conversions Mappings .

The TriggerDefinition structure defines when a knowledge artifact is expected to be evaluated. The structure can represent three main kinds of triggering events, depending on the value of type :

  • 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. HL7 V2 v2 events are assigned the URI http://terminology.hl7.org/CodeSystem/v2-0003#[code] e.g. http://terminology.hl7.org/CodeSystem/v2-0003/A01, and reference any data change that would trigger the sending of the matching HL7 V2 v2 version, if the application providing the FHIR API supports v2 events internally.

A scheduled event occurs on a fixed or periodic schedule.

And finally, a data event occurs in response to some data-related event in the integrated environment such as a record being added or updated. The data-of-interest for a data event is described using a DataRequirement . This allows for systems to automatically invoke based on data activity occurring within the system. A condition may also be specified to further refine the trigger

Structure

Name Flags Card. Type Description & Constraints doco
. . TriggerDefinition Σ I TU Element Defines an expected trigger for a module
+ Rule: Either timing, or a data requirement, but not both
+ Rule: A condition only if there is a data requirement
+ Rule: A named event requires a name, a periodic event requires timing, and a data event requires data
Elements defined in Ancestors: id , extension
. . . 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 . timing[x] Σ 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)

doco Documentation for this format
Definition: XML | JSON

UML Diagram ( Legend )

Element Extensions - as described for all elements: additional information that is not part of the basic definition of the resource / type extension : Extension 0..* TriggerDefinition The type of triggering event type : code [1..1] « The type of trigger. (Strength=Required) TriggerType ! » « This element has or is affected by some invariants C » A formal name for the event. This may be an absolute URI that identifies the event formally (e.g. from a trigger registry), or a simple relative URI that identifies the event in a local context name : string [0..1] « This element has or is affected by some invariants C » A code that identifies the event code : CodeableConcept [0..1] A reference to a SubscriptionTopic resource that defines the event. If this element is provided, no other information about the trigger definition may be supplied subscriptionTopic : canonical [0..1] « SubscriptionTopic » The timing of the event (if this is a periodic trigger) timing[x] : DataType Type [0..1] « Timing | Reference ( Schedule )| date | dateTime » « This element has or is affected by some invariants C » The triggering data of the event (if this is a data trigger). If more than one data is requirement is specified, then all the data requirements must be true data : DataRequirement [0..*] « This element has or is affected by some invariants C » A boolean-valued expression that is evaluated in the context of the container of the trigger definition and returns whether or not the trigger fires condition : Expression [0..1] « This element has or is affected by some invariants C » DataType

XML Template

< xmlns="http://hl7.org/fhir">

<[name] xmlns="http://hl7.org/fhir">

 <!-- from Element: extension -->
 <
 <
 <</code>
 <</subscriptionTopic>
 <</timing[x]>
 <</data>
 <</condition>
</TriggerDefinition>

 <type value="[code]"/><!-- 1..1 named-event | periodic | data-changed | data-added | data-modified | data-removed | data-accessed | data-access-ended -->
 <name value="[string]"/><!-- 0..1 Name or URI that identifies the event -->
 <timing[x]><!-- 0..1 Timing|Reference(Schedule)|date|dateTime Timing of the event --></timing[x]>
 <data><!-- 0..* DataRequirement Triggering data of the event (multiple = 'and') --></data>
 <condition><!-- 0..1 Expression Whether the event triggers (boolean expression) --></condition>
</[name]>

Turtle Template

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

[
 # from Element: Element.extension
  fhir:
  fhir:
  fhir:
  fhir:
  # . One of these 4
    fhir: ]
    fhir:) ]
    fhir: ]
    fhir: ]
  fhir:
  fhir:

  fhir:TriggerDefinition.type [ code ]; # 1..1 named-event | periodic | data-changed | data-added | data-modified | data-removed | data-accessed | data-access-ended
  fhir:TriggerDefinition.name [ string ]; # 0..1 Name or URI that identifies the event
  # TriggerDefinition.timing[x] : 0..1 Timing of the event. One of these 4
    fhir:TriggerDefinition.timingTiming [ Timing ]
    fhir:TriggerDefinition.timingReference [ Reference(Schedule) ]
    fhir:TriggerDefinition.timingDate [ date ]
    fhir:TriggerDefinition.timingDateTime [ dateTime ]
  fhir:TriggerDefinition.data [ DataRequirement ], ... ; # 0..* Triggering data of the event (multiple = 'and')
  fhir:TriggerDefinition.condition [ Expression ]; # 0..1 Whether the event triggers (boolean expression)

]

Changes since Release 3

Changes from both R4 and R4B
TriggerDefinition
TriggerDefinition.code TriggerDefinition.type
  • Added Element Change value set from http://hl7.org/fhir/ValueSet/trigger-type to http://hl7.org/fhir/ValueSet/trigger-type|4.0.1
TriggerDefinition.name
  • Renamed from eventName to name
TriggerDefinition.timing[x]
  • Renamed from eventTiming[x] to timing[x]
TriggerDefinition.data
  • Renamed from eventData to data
  • Max Cardinality changed from 1 to *
TriggerDefinition.subscriptionTopic TriggerDefinition.condition
  • Added Element

See the Full Difference for further information

Structure

code Σ 0..1 CodeableConcept Coded definition of the event
Name Flags Card. Type Description & Constraints doco
. . TriggerDefinition Σ I TU Element Defines an expected trigger for a module
+ Rule: Either timing, or a data requirement, but not both
+ Rule: A condition only if there is a data requirement
+ Rule: A named event requires a name, a periodic event requires timing, and a data event requires data
Elements defined in Ancestors: id , extension
. . . 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
. . subscriptionTopic . timing[x] Σ 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)

doco Documentation for this format

UML Diagram ( Legend )

Element Extensions - as described for all elements: additional information that is not part of the basic definition of the resource / type extension : Extension 0..* TriggerDefinition The type of triggering event type : code [1..1] « The type of trigger. (Strength=Required) TriggerType ! » « This element has or is affected by some invariants C » A formal name for the event. This may be an absolute URI that identifies the event formally (e.g. from a trigger registry), or a simple relative URI that identifies the event in a local context name : string [0..1] « This element has or is affected by some invariants C » A code that identifies the event code : CodeableConcept [0..1] A reference to a SubscriptionTopic resource that defines the event. If this element is provided, no other information about the trigger definition may be supplied subscriptionTopic : canonical [0..1] « SubscriptionTopic » The timing of the event (if this is a periodic trigger) timing[x] : DataType Type [0..1] « Timing | Reference ( Schedule )| date | dateTime » « This element has or is affected by some invariants C » The triggering data of the event (if this is a data trigger). If more than one data is requirement is specified, then all the data requirements must be true data : DataRequirement [0..*] « This element has or is affected by some invariants C » A boolean-valued expression that is evaluated in the context of the container of the trigger definition and returns whether or not the trigger fires condition : Expression [0..1] « This element has or is affected by some invariants C » DataType

XML Template

< xmlns="http://hl7.org/fhir">

<[name] xmlns="http://hl7.org/fhir">

 <!-- from Element: extension -->
 <
 <
 <</code>
 <</subscriptionTopic>
 <</timing[x]>
 <</data>
 <</condition>
</TriggerDefinition>

 <type value="[code]"/><!-- 1..1 named-event | periodic | data-changed | data-added | data-modified | data-removed | data-accessed | data-access-ended -->
 <name value="[string]"/><!-- 0..1 Name or URI that identifies the event -->
 <timing[x]><!-- 0..1 Timing|Reference(Schedule)|date|dateTime Timing of the event --></timing[x]>
 <data><!-- 0..* DataRequirement Triggering data of the event (multiple = 'and') --></data>
 <condition><!-- 0..1 Expression Whether the event triggers (boolean expression) --></condition>
</[name]>

Turtle Template

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

[
 # from Element: Element.extension
  fhir:
  fhir:
  fhir:
  fhir:
  # . One of these 4
    fhir: ]
    fhir:) ]
    fhir: ]
    fhir: ]
  fhir:
  fhir:

  fhir:TriggerDefinition.type [ code ]; # 1..1 named-event | periodic | data-changed | data-added | data-modified | data-removed | data-accessed | data-access-ended
  fhir:TriggerDefinition.name [ string ]; # 0..1 Name or URI that identifies the event
  # TriggerDefinition.timing[x] : 0..1 Timing of the event. One of these 4
    fhir:TriggerDefinition.timingTiming [ Timing ]
    fhir:TriggerDefinition.timingReference [ Reference(Schedule) ]
    fhir:TriggerDefinition.timingDate [ date ]
    fhir:TriggerDefinition.timingDateTime [ dateTime ]
  fhir:TriggerDefinition.data [ DataRequirement ], ... ; # 0..* Triggering data of the event (multiple = 'and')
  fhir:TriggerDefinition.condition [ Expression ]; # 0..1 Whether the event triggers (boolean expression)

]

Changes since Release 3

Changes from both R4 and R4B
TriggerDefinition
TriggerDefinition.code TriggerDefinition.type
  • Added Element Change value set from http://hl7.org/fhir/ValueSet/trigger-type to http://hl7.org/fhir/ValueSet/trigger-type|4.0.1
TriggerDefinition.name
  • Renamed from eventName to name
TriggerDefinition.timing[x]
  • Renamed from eventTiming[x] to timing[x]
TriggerDefinition.data
  • Renamed from eventData to data
  • Max Cardinality changed from 1 to *
TriggerDefinition.subscriptionTopic TriggerDefinition.condition
  • Added Element

See the Full Difference for further information

Constraints

id Level Location Description Expression
 trd-1 trd-1 Rule (base) Either timing, or a data requirement, but not both data.empty() or timing.empty()
 trd-2 trd-2 Rule (base) A condition only if there is a data requirement condition.exists() implies data.exists()
 trd-3 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 Definition Type Documentation Reference
TriggerDefinition.type TriggerType The type of trigger. Required The type of trigger. TriggerType

TriggerDefinition is used in the following places: EventDefinition , EvidenceVariable and PlanDefinition

 

See also Examples , Detailed Descriptions , Mappings , Profiles , Extensions and R4 Conversions Mappings .

The Expression structure defines an expression that generates a value. The expression is provided in a specifed language (by mime type)

The context of use of the expression must specify the context in which the expression is evaluated, and how the result of the expression is used.

Structure

0..1
Name Flags Card. Type Description & Constraints doco
. . Expression Σ I 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 id Short name assigned to expression for reuse
. . . language Σ 1..1 code text/cql | text/fhirpath | application/x-fhir-query | etc.
Binding: Expression Language ExpressionLanguage ( Extensible ) Additional Bindings Purpose but limited to http://www.rfc-editor.org/bcp/bcp13.txt Mime Types Max Binding )
. . . expression Σ C 0..1 string Expression in specified language
. . . reference Σ C 0..1 uri Where the expression is found

doco Documentation for this format
Definition: XML | JSON

XML Template

<Expression xmlns="http://hl7.org/fhir">
 <!-- from Element: extension -->
 <description value="[string]"/><!-- 0..1 Natural language description of the condition -->
 <
 <
 <
 <

 <name value="[id]"/><!-- 0..1 Short name assigned to expression for reuse -->
 <language value="[code]"/><!-- 1..1 text/cql | text/fhirpath | application/x-fhir-query | etc. -->
 <expression value="[string]"/><!-- 0..1 Expression in specified language -->
 <reference value="[uri]"/><!-- 0..1 Where the expression is found -->

</Expression>

Turtle Template

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

[
 # from Element: Element.extension
  fhir:
  fhir:
  fhir:
  fhir:
  fhir:

  fhir:Expression.description [ string ]; # 0..1 Natural language description of the condition
  fhir:Expression.name [ id ]; # 0..1 Short name assigned to expression for reuse
  fhir:Expression.language [ code ]; # 1..1 text/cql | text/fhirpath | application/x-fhir-query | etc.
  fhir:Expression.expression [ string ]; # 0..1 Expression in specified language
  fhir:Expression.reference [ uri ]; # 0..1 Where the expression is found

]

Changes since Release 3

Changes from both R4 and R4B Expression Expression.name Type changed from id to code Expression.language Min Cardinality changed from 1 to 0 Change max value set from http://www.rfc-editor.org/bcp/bcp13.txt to none Change code system for extensibly bound codes from "http://hl7.org/fhir/expression-language" to "urn:ietf:bcp:13" See the Full Difference for further information This complex-type did not exist in Release 2

Structure

0..1
Name Flags Card. Type Description & Constraints doco
. . Expression Σ I 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 id Short name assigned to expression for reuse
. . . language Σ 1..1 code text/cql | text/fhirpath | application/x-fhir-query | etc.
Binding: Expression Language ExpressionLanguage ( Extensible ) Additional Bindings Purpose Mime Types but limited to http://www.rfc-editor.org/bcp/bcp13.txt Max Binding )
. . . expression Σ C 0..1 string Expression in specified language
. . . reference Σ C 0..1 uri Where the expression is found

doco Documentation for this format

XML Template

<Expression xmlns="http://hl7.org/fhir">
 <!-- from Element: extension -->
 <description value="[string]"/><!-- 0..1 Natural language description of the condition -->
 <
 <
 <
 <

 <name value="[id]"/><!-- 0..1 Short name assigned to expression for reuse -->
 <language value="[code]"/><!-- 1..1 text/cql | text/fhirpath | application/x-fhir-query | etc. -->
 <expression value="[string]"/><!-- 0..1 Expression in specified language -->
 <reference value="[uri]"/><!-- 0..1 Where the expression is found -->

</Expression>

Turtle Template

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

[
 # from Element: Element.extension
  fhir:
  fhir:
  fhir:
  fhir:
  fhir:

  fhir:Expression.description [ string ]; # 0..1 Natural language description of the condition
  fhir:Expression.name [ id ]; # 0..1 Short name assigned to expression for reuse
  fhir:Expression.language [ code ]; # 1..1 text/cql | text/fhirpath | application/x-fhir-query | etc.
  fhir:Expression.expression [ string ]; # 0..1 Expression in specified language
  fhir:Expression.reference [ uri ]; # 0..1 Where the expression is found

]

Changes since Release 3

Changes from both R4 and R4B Expression Expression.name Type changed from id to code Expression.language Min Cardinality changed from 1 to 0 Change max value set from http://www.rfc-editor.org/bcp/bcp13.txt to none Change code system for extensibly bound codes from "http://hl7.org/fhir/expression-language" to "urn:ietf:bcp:13" See the Full Difference for further information This complex-type did not exist in Release 2

Constraints

 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}')
id Level Location Description Expression
 exp-1 exp-1 Rule (base) An expression or a reference must be provided expression.exists() or reference.exists()

Terminology Bindings

ExpressionLanguage Extensible http://hl7.org/fhir/ValueSet/mimetypes
Path ValueSet Definition Type Documentation Reference
Expression.language The media type of the expression language.   Extensible , but limited to http://www.rfc-editor.org/bcp/bcp13.txt maximum ExpressionLanguage

Language support While the expression data type supports any language, a few specific languages defined by HL7 at particularly of interest for the purposes of this specification: text/fhirpath : See FHIRPath Documentation text/x-fhir-query : See FHIR X-Query Documentation text/cql : See CQL (Clinical Quality Language) Documentation . There are also 2 CQL variants: text/cql-identifier : See CQL Identifier text/cql-expression : See CQL Expression Expression is used in the following places: TriggerDefinition , ActivityDefinition , ChargeItemDefinition , ClinicalUseDefinition , Consent , EvidenceVariable , Measure , Permission , PlanDefinition , RequestGroup and RequestOrchestration ResearchElementDefinition

 

See also Examples , Detailed Descriptions , Mappings , Profiles , Extensions and R4 Conversions Mappings .

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

Structure

Name Flags Card. Type Description & Constraints doco
. . 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 UsageContextType ( Extensible )
. . . value[x] Σ 1..1 Value that defines the context
Binding: Context of Use ValueSet ConformanceUseContext ( Example )
. . . . valueCodeableConcept CodeableConcept
. . . . valueQuantity Quantity
. . . . valueRange Range
. . . . valueReference Reference ( PlanDefinition | ResearchStudy | InsurancePlan | HealthcareService | Group | Location | Organization )

doco Documentation for this format
Definition: XML | JSON

XML Template

< xmlns="http://hl7.org/fhir">

<[name] xmlns="http://hl7.org/fhir">

 <!-- from Element: extension -->
 <</code>
 <|
   |
   </value[x]>
</UsageContext>

 <code><!-- 1..1 Coding Type of context being specified --></code>
 <value[x]><!-- 1..1 CodeableConcept|Quantity|Range|Reference(PlanDefinition|
   ResearchStudy|InsurancePlan|HealthcareService|Group|Location|Organization) Value that defines the context --></value[x]>

</[name]>

JSON Template

{doco
  // from Element: extension
  "

  "code" : { Coding }, // R!  Type of context being specified

  // value[x]: Value that defines the context. One of these 4:
  " },
  " },
  " },
  "|
    }

  "valueCodeableConcept" : { CodeableConcept }
  "valueQuantity" : { Quantity }
  "valueRange" : { Range }
  "valueReference" : { Reference(PlanDefinition|ResearchStudy|InsurancePlan|
   HealthcareService|Group|Location|Organization) }
}

Turtle Template

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

[
 # from Element: Element.extension
  fhir:
  # . One of these 4
    fhir: ]
    fhir: ]
    fhir: ]
    fhir:|
  ) ]

  fhir:UsageContext.code [ Coding ]; # 1..1 Type of context being specified
  # UsageContext.value[x] : 1..1 Value that defines the context. One of these 4
    fhir:UsageContext.valueCodeableConcept [ CodeableConcept ]
    fhir:UsageContext.valueQuantity [ Quantity ]
    fhir:UsageContext.valueRange [ Range ]
    fhir:UsageContext.valueReference [ Reference(PlanDefinition|ResearchStudy|InsurancePlan|HealthcareService|Group|Location|
  Organization) ]
]

Changes since Release 3

Changes from both R4 and R4B
UsageContext
UsageContext.code
  • Change value set code system for extensibly bound codes from http://hl7.org/fhir/ValueSet/usage-context-type "http://hl7.org/fhir/usage-context-type" to UsageContextType "http://terminology.hl7.org/CodeSystem/usage-context-type"
UsageContext.value[x]
  • Add Type Reference(PlanDefinition | ResearchStudy | InsurancePlan | HealthcareService | Group | Location | Organization)

See the Full Difference for further information

Structure

Name Flags Card. Type Description & Constraints doco
. . 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 UsageContextType ( Extensible )
. . . value[x] Σ 1..1 Value that defines the context
Binding: Context of Use ValueSet ConformanceUseContext ( Example )
. . . . valueCodeableConcept CodeableConcept
. . . . valueQuantity Quantity
. . . . valueRange Range
. . . . valueReference Reference ( PlanDefinition | ResearchStudy | InsurancePlan | HealthcareService | Group | Location | Organization )

doco Documentation for this format

XML Template

< xmlns="http://hl7.org/fhir">

<[name] xmlns="http://hl7.org/fhir">

 <!-- from Element: extension -->
 <</code>
 <|
   |
   </value[x]>
</UsageContext>

 <code><!-- 1..1 Coding Type of context being specified --></code>
 <value[x]><!-- 1..1 CodeableConcept|Quantity|Range|Reference(PlanDefinition|
   ResearchStudy|InsurancePlan|HealthcareService|Group|Location|Organization) Value that defines the context --></value[x]>

</[name]>

JSON Template

{doco
  // from Element: extension
  "

  "code" : { Coding }, // R!  Type of context being specified

  // value[x]: Value that defines the context. One of these 4:
  " },
  " },
  " },
  "|
    }

  "valueCodeableConcept" : { CodeableConcept }
  "valueQuantity" : { Quantity }
  "valueRange" : { Range }
  "valueReference" : { Reference(PlanDefinition|ResearchStudy|InsurancePlan|
   HealthcareService|Group|Location|Organization) }
}

Turtle Template

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

[
 # from Element: Element.extension
  fhir:
  # . One of these 4
    fhir: ]
    fhir: ]
    fhir: ]
    fhir:|
  ) ]

  fhir:UsageContext.code [ Coding ]; # 1..1 Type of context being specified
  # UsageContext.value[x] : 1..1 Value that defines the context. One of these 4
    fhir:UsageContext.valueCodeableConcept [ CodeableConcept ]
    fhir:UsageContext.valueQuantity [ Quantity ]
    fhir:UsageContext.valueRange [ Range ]
    fhir:UsageContext.valueReference [ Reference(PlanDefinition|ResearchStudy|InsurancePlan|HealthcareService|Group|Location|
  Organization) ]
]

Changes since Release 3

Changes from both R4 and R4B
UsageContext
UsageContext.code
  • Change value set code system for extensibly bound codes from http://hl7.org/fhir/ValueSet/usage-context-type "http://hl7.org/fhir/usage-context-type" to UsageContextType "http://terminology.hl7.org/CodeSystem/usage-context-type"
UsageContext.value[x]
  • Add Type Reference(PlanDefinition | ResearchStudy | InsurancePlan | HealthcareService | Group | Location | Organization)

See the Full Difference for further information

Constraints

Terminology Bindings

Path ValueSet Definition Type Documentation Reference
UsageContext.code UsageContextType Extensible A code that specifies a type of context being specified by a usage context. Extensible UsageContextType
UsageContext.value[x] ContextOfUseValueSet A code that defines the specific value for the context being specified. 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 Context of supporting use within particular contexts. Use ValueSet

UsageContext is used in the following places: ElementDefinition , ActivityDefinition , ActorDefinition , CanonicalResource , CapabilityStatement , ChargeItemDefinition , Citation , CodeSystem , CompartmentDefinition , Composition , ConceptMap , ConditionDefinition , DeviceDefinition EffectEvidenceSynthesis , EventDefinition , Evidence , EvidenceReport , EvidenceVariable , ExampleScenario , GraphDefinition , ImplementationGuide , Library , Measure , MessageDefinition , NamingSystem , ObservationDefinition , OperationDefinition , PlanDefinition , Questionnaire , Requirements ResearchDefinition , ResearchElementDefinition , RiskEvidenceSynthesis , SearchParameter , SpecimenDefinition , StructureDefinition , StructureMap , SubscriptionTopic , TerminologyCapabilities , TestPlan , TestScript and ValueSet

2.1.28.6.0.8 ExtendedContactDetail 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 UML XML JSON Turtle R4 Diff All 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 Definition: XML | JSON UML Diagram ( Legend ) ExtendedContactDetail The purpose/type of contact purpose : CodeableConcept [0..1] « The purpose for which an extended contact detail should be used. (Strength=Preferred) ContactEntityType ? » The name of an individual to contact, some types of contact detail are usually blank name : HumanName [0..*] The contact details application for the purpose defined telecom : ContactPoint [0..*] Address for the contact address : Address [0..1] This contact detail is handled/monitored by a specific organization. If the name is provided in the contact, then it is referring to the named individual within this organization organization : Reference [0..1] « Organization » Period that this contact was valid for usage period : Period [0..1] DataType XML Template < xmlns="http://hl7.org/fhir"> <!-- from Element: --> <</purpose> <</name> <</telecom> <</address> <</organization> <</period> </ExtendedContactDetail> JSON Template { // from Element: " " " " " " } Turtle Template @prefix fhir: <http://hl7.org/fhir/> . [ # from Element: fhir: fhir: fhir: fhir: fhir: fhir: ] Changes since Release 3 Changes from both R4 and R4B This complex-type did not exist in Release R4 See the Full Difference for further information Structure Name Flags Card. Type Description & Constraints 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 ) ExtendedContactDetail The purpose/type of contact purpose : CodeableConcept [0..1] « The purpose for which an extended contact detail should be used. (Strength=Preferred) ContactEntityType ? » The name of an individual to contact, some types of contact detail are usually blank name : HumanName [0..*] The contact details application for the purpose defined telecom : ContactPoint [0..*] Address for the contact address : Address [0..1] This contact detail is handled/monitored by a specific organization. If the name is provided in the contact, then it is referring to the named individual within this organization organization : Reference [0..1] « Organization » Period that this contact was valid for usage period : Period [0..1] DataType XML Template < xmlns="http://hl7.org/fhir"> <!-- from Element: --> <</purpose> <</name> <</telecom> <</address> <</organization> <</period> </ExtendedContactDetail> JSON Template { // from Element: " " " " " " } Turtle Template @prefix fhir: <http://hl7.org/fhir/> . [ # from Element: fhir: fhir: fhir: fhir: fhir: fhir: ] Changes since Release 3 Changes from both R4 and R4B This complex-type did not exist in Release R4 See the Full Difference for further information Constraints Terminology Bindings Path ValueSet Type Documentation 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 , InsurancePlan , 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 MonetaryComponent structure defines a the set of properties across the financial resources. Structure UML XML JSON Turtle R4 Diff All

Structure Name Flags Card. Type Description & Constraints MonetaryComponent Σ TU Element Availability data for an {item} Elements defined in Ancestors: id , extension type Σ 1..1 code base | surcharge | deduction | discount | tax | informational Binding: Price Component Type ( Required ) code Σ 0..1 CodeableConcept Codes may be used to differentiate between kinds of taxes, surcharges, discounts etc. factor Σ 0..1 decimal Factor used for calculating this component amount Σ 0..1 Money Explicit value amount to be used Documentation for this format Definition: XML | JSON UML Diagram ( Legend ) MonetaryComponent base | surcharge | deduction | discount | tax | informational type : code [1..1] « The purpose for which an extended contact detail should be used. (Strength=Required) PriceComponentType ! » Codes may be used to differentiate between kinds of taxes, surcharges, discounts etc code : CodeableConcept [0..1] Factor used for calculating this component factor : decimal [0..1] Explicit value amount to be used amount : Money [0..1] DataType XML Template < xmlns="http://hl7.org/fhir"> <!-- from Element: --> < <</code> < <</amount> </MonetaryComponent> JSON Template { // from Element: " " " " } Turtle Template @prefix fhir: <http://hl7.org/fhir/> . [ # from Element: fhir: fhir: fhir: fhir: ] Changes since Release 3 Changes from both R4 and R4B This complex-type did not exist in Release R4 See the Full Difference for further information Structure Name Flags Card. Type Description & Constraints MonetaryComponent Σ TU Element Availability data for an {item} Elements defined in Ancestors: id , extension type Σ 1..1 code base | surcharge | deduction | discount | tax | informational Binding: Price Component Type ( Required ) code Σ 0..1 CodeableConcept Codes may be used to differentiate between kinds of taxes, surcharges, discounts etc. factor Σ 0..1 decimal Factor used for calculating this component amount Σ 0..1 Money Explicit value amount to be used Documentation for this format UML Diagram ( Legend ) MonetaryComponent base | surcharge | deduction | discount | tax | informational type : code [1..1] « The purpose for which an extended contact detail should be used. (Strength=Required) PriceComponentType ! » Codes may be used to differentiate between kinds of taxes, surcharges, discounts etc code : CodeableConcept [0..1] Factor used for calculating this component factor : decimal [0..1] Explicit value amount to be used amount : Money [0..1] DataType XML Template < xmlns="http://hl7.org/fhir"> <!-- from Element: --> < <</code> < <</amount> </MonetaryComponent> JSON Template { // from Element: " " " " } Turtle Template @prefix fhir: <http://hl7.org/fhir/> . [ # from Element: fhir: fhir: fhir: fhir: ] Changes since Release 3 Changes from both R4 and R4B This complex-type did not exist in Release R4 See the Full Difference for further information Constraints Terminology Bindings Path ValueSet Type Documentation MonetaryComponent.type PriceComponentType Required Codes indicating the kind of the price component. MonetaryComponent.code Unknown No details provided yet Example Codes may be used to differentiate between kinds of taxes, surcharges, discounts etc. MonetaryComponent is used in the following places: ChargeItem , ChargeItemDefinition and Invoice