R6 Ballot (1st Draft)

This page is part of the FHIR Specification v6.0.0-ballot1: Release 6 Ballot (1st Draft) (see Ballot Notes). The current version is 5.0.0. For a full list of available versions, see the Directory of published versions

12.3 Pattern Definition - Content

FHIR Infrastructure iconMaturity Level: 1Informative

A pattern to be followed by resources that represent a specific proposal, plan and/or order for some sort of action or service.

This is NOT a resource. It is not part of the FHIR schema and cannot appear directly in FHIR instances. It is a logical model that defines a pattern adhered to by other resources. This pattern serves two purposes:

  • It offers guidance to work groups designing resources and helps ensure consistency of content created by different work groups
  • It provides a standard "view" that might be useful for implementers in processing and manipulating all resources that adhere to the same pattern. (Tooling that supports this may become available in a future release.)

This pattern describes common properties typically found on "definition" resources. "Definition" resources are resources that describe clinical, administrative or other events that can potentially occur. They do so in a manner that is independent of a particular patient or subject and independent of any particular timeframe. Examples include protocols, order sets, questionnaires, etc. Definitions are intended to be instantiated by Requests (orders, plans and proposals) and Events. For example a PlanDefinition might represent an order set that is subsequently instantiated by a combination of MedicationRequests and ServiceRequests and results in the execution of various MedicationAdministration, Procedure and Observation events. This pattern only applies to definitions of activities, not of objects or roles.

This logical model is one of three common workflow patterns. The other two patterns are Event and Request. This pattern is followed by (or is intended to be followed by a number of other FHIR resources/

Both definitions and requests deal with activities that "can" occur, but requests represent a specific intention for something to occur and are bound to a specific context of subject and time, while definitions represent mere "possibility" rather than intention and are independent of a specific subject or timeframe.

This model represents a pattern. It provides a standard list of data elements with cardinalities, data types, definitions, rationale and usage notes that will ideally be adhered to by resources that fall into the "definition" workflow category. However, adherence to this pattern is not mandatory. Not all healthcare domains are the same. Concepts that may be generally applicable (and thus are included in this standard pattern) might still not be relevant everywhere or may be sufficiently uncommon that they are more appropriate to include as extensions than as core properties of the resource. Work groups are encouraged to adjust descriptions, usage notes and rationale to be specific to their resource (e.g. use the term "protocol" or "questionnaire" rather than "definition"). As well, design notes in the comments column marked with [square brackets] identifies areas where domain variation is expected and encouraged. Other variation, including differences in names, cardinalities, data types and the decision to omit an element outright are also possible, but should be discussed with the FHIR Infrastructure work group's Workflow project to ensure the rationale for non-alignment is understood, to confirm that the deviation is necessary and to identify whether any adjustments to the pattern are appropriate.

This pattern provides a linkage to the W5 list of standard data elements. Resources that adhere to this pattern should ensure their w5 mappings are consistent, as is their data element ordering.

Structure

NameFlagsCard.TypeDescription & Constraintsdoco
.. Definition ILogicalDefinition Pattern
... url Σ0..1uriCanonical identifier for this {{title}}, represented as an absolute URI (globally unique)
... identifier Σ0..*IdentifierBusiness identifier for {{title}}

... version Σ0..1stringBusiness version of the {{title}}
... versionAlgorithm[x] Σ0..1How to compare versions
Binding: Version Algorithm (Extensible)
.... versionAlgorithmStringstring
.... versionAlgorithmCodingCoding
... name Σ0..1stringName for this {{title}} (computer friendly)
... title Σ0..1stringName for this {{title}} (human friendly)
... derivedFromCanonical Σ0..*canonical(Definition)Based on FHIR protocol or definition

... derivedFromUri Σ0..*uriBased on external protocol or definition

... partOf Σ0..*canonical(Definition)Part of referenced definition

... status ?!Σ1..1codedraft | active | retired | unknown
Binding: PublicationStatus (Required)
... experimental Σ0..1booleanFor testing purposes, not real usage
... subject Σ0..*CodeableReference(Group)Type of individual the defined service is for

... date Σ0..1dateTimeDate last changed
... publisher Σ0..1stringName of the publisher/steward (organization or individual)
... contact Σ0..*ContactDetailContact details for the publisher

... description Σ0..1markdownNatural language description of the {{title}}
... useContext Σ0..*UsageContextThe context that the content is intended to support

... jurisdiction Σ0..*CodeableConceptIntended jurisdiction for {{title}} (if applicable)
Binding: Jurisdiction ValueSet (Extensible)

... purpose 0..1markdownWhy this {{title}} is defined
... copyright 0..1markdownUse and/or publishing restrictions
... copyrightLabel 0..1stringCopyright holder and year(s)
... approvalDate 0..1dateWhen the {{title}} was approved by publisher
... lastReviewDate 0..1dateWhen the {{title}} was last reviewed
... effectivePeriod Σ0..1PeriodWhen the {{title}} is expected to be used
... topic Σ0..*CodeableConceptDescriptive topics related to the content of the {{title}}. Topics provide a high-level categorization as well as keywords for the {{title}} that can be useful for filtering and searching

... performerType Σ0..1CodeableConceptDesired kind of service performer
... code Σ0..1CodeableConceptService to be done
... product Σ0..1CodeableReference(BiologicallyDerivedProduct | DeviceDefinition | Medication | NutritionProduct | Substance)Product to use/manipulate

doco Documentation for this format icon

UML Diagram (Legend)

Definition (Base) «Pattern»An absolute URI that is used to identify this {{title}} when it is referenced in a specification, model, design or an instance; also called its canonical identifier. This SHOULD be globally unique and SHOULD be a literal address at which an authoritative instance of this {{title}} is (or will be) published. This URL can be the target of a canonical reference. It SHALL remain the same when the {{title}} is stored on different serversurl : uri [0..1]A formal identifier that is used to identify this {{title}} when it is represented in other formats, or referenced in a specification, model, design or an instanceidentifier : Identifier [0..*]The identifier that is used to identify this version of the {{title}} when it is referenced in a specification, model, design or instance. This is an arbitrary value managed by the {{title}} author and is not expected to be globally unique. For example, it might be a timestamp (e.g. yyyymmdd) if a managed version is not available. There is also no expectation that versions can be placed in a lexicographical sequenceversion : string [0..1]Indicates the mechanism used to compare versions to determine which is more currentversionAlgorithm[x] : DataType [0..1] « string|Coding; (Strength=Extensible) VersionAlgorithm+ »A natural language name identifying the {{title}}. This name should be usable as an identifier for the module by machine processing applications such as code generationname : string [0..1]A short, descriptive, user-friendly title for the {{title}}title : string [0..1]The canonical URL pointing to another FHIR-defined protocol, guideline, orderset or other definition that is adhered to in whole or in part by this definitionderivedFromCanonical : canonical [0..*] « Definition »The URL pointing to an externally-defined protocol, guideline, orderset or other definition that is adhered to in whole or in part by this definitionderivedFromUri : uri [0..*]A larger definition of which this particular definition is a component or steppartOf : canonical [0..*] « Definition »The current state of this {{title}} (this element modifies the meaning of other elements)status : code [1..1] « The lifecycle status of an artifact. (Strength=Required)PublicationStatus! »A Boolean value to indicate that this {{title}} is authored for testing purposes (or education/evaluation/marketing) and is not intended for genuine usageexperimental : boolean [0..1]A code or group definition that describes the intended subject of instantiations of this definitionsubject : CodeableReference [0..*] « Group »The date (and optionally time) when the {{title}} was last significantly changed. The date must change when the business version changes and it must change if the status code changes. In addition, it should change when the substantive content of the {{title}} changesdate : dateTime [0..1]The name of the organization or individual responsible for the release and ongoing maintenance of the {{title}}publisher : string [0..1]Contact details to assist a user in finding and communicating with the publishercontact : ContactDetail [0..*]A free text natural language description of the {{title}} from a consumer's perspectivedescription : markdown [0..1]The content was developed with a focus and intent of supporting the contexts that are listed. These contexts may be general categories (gender, age, ...) or may be references to specific programs (insurance plans, studies, ...) and may be used to assist with indexing and searching for appropriate {{title}}suseContext : UsageContext [0..*]A legal or geographic region in which the {{title}} is intended to be usedjurisdiction : CodeableConcept [0..*] « Countries and regions within which this artifact is targeted for use. (Strength=Extensible)JurisdictionValueSet+ »Explanation of why this {{title}} is needed and why it has been designed as it haspurpose : markdown [0..1]A copyright statement relating to the {{title}} and/or its contents. Copyright statements are generally legal restrictions on the use and publishing of the {{title}}copyright : markdown [0..1]A short string (<50 characters), suitable for inclusion in a page footer that identifies the copyright holder, effective period, and optionally whether rights are resctricted. (e.g. 'All rights reserved', 'Some rights reserved')copyrightLabel : string [0..1]The date on which the resource content was approved by the publisher. Approval happens once when the content is officially approved for usageapprovalDate : date [0..1]The date on which the resource content was last reviewed. Review happens periodically after approval but does not change the original approval datelastReviewDate : date [0..1]The period during which the {{title}} content was or is planned to be in active useeffectivePeriod : Period [0..1]Repositories must be able to determine how to categorize the {{title}} so that it can be found by topical and keyword searchestopic : CodeableConcept [0..*]The type of individual that is expected to act upon instances of this definitionperformerType : CodeableConcept [0..1]A code that identifies the specific service or action that was or is being performedcode : CodeableConcept [0..1]Indicates the product supplied or manipulated by this {{title}}product : CodeableReference [0..1] « BiologicallyDerivedProduct| DeviceDefinition|Medication|NutritionProduct|Substance »

Structure

NameFlagsCard.TypeDescription & Constraintsdoco
.. Definition ILogicalDefinition Pattern
... url Σ0..1uriCanonical identifier for this {{title}}, represented as an absolute URI (globally unique)
... identifier Σ0..*IdentifierBusiness identifier for {{title}}

... version Σ0..1stringBusiness version of the {{title}}
... versionAlgorithm[x] Σ0..1How to compare versions
Binding: Version Algorithm (Extensible)
.... versionAlgorithmStringstring
.... versionAlgorithmCodingCoding
... name Σ0..1stringName for this {{title}} (computer friendly)
... title Σ0..1stringName for this {{title}} (human friendly)
... derivedFromCanonical Σ0..*canonical(Definition)Based on FHIR protocol or definition

... derivedFromUri Σ0..*uriBased on external protocol or definition

... partOf Σ0..*canonical(Definition)Part of referenced definition

... status ?!Σ1..1codedraft | active | retired | unknown
Binding: PublicationStatus (Required)
... experimental Σ0..1booleanFor testing purposes, not real usage
... subject Σ0..*CodeableReference(Group)Type of individual the defined service is for

... date Σ0..1dateTimeDate last changed
... publisher Σ0..1stringName of the publisher/steward (organization or individual)
... contact Σ0..*ContactDetailContact details for the publisher

... description Σ0..1markdownNatural language description of the {{title}}
... useContext Σ0..*UsageContextThe context that the content is intended to support

... jurisdiction Σ0..*CodeableConceptIntended jurisdiction for {{title}} (if applicable)
Binding: Jurisdiction ValueSet (Extensible)

... purpose 0..1markdownWhy this {{title}} is defined
... copyright 0..1markdownUse and/or publishing restrictions
... copyrightLabel 0..1stringCopyright holder and year(s)
... approvalDate 0..1dateWhen the {{title}} was approved by publisher
... lastReviewDate 0..1dateWhen the {{title}} was last reviewed
... effectivePeriod Σ0..1PeriodWhen the {{title}} is expected to be used
... topic Σ0..*CodeableConceptDescriptive topics related to the content of the {{title}}. Topics provide a high-level categorization as well as keywords for the {{title}} that can be useful for filtering and searching

... performerType Σ0..1CodeableConceptDesired kind of service performer
... code Σ0..1CodeableConceptService to be done
... product Σ0..1CodeableReference(BiologicallyDerivedProduct | DeviceDefinition | Medication | NutritionProduct | Substance)Product to use/manipulate

doco Documentation for this format icon

UML Diagram (Legend)

Definition (Base) «Pattern»An absolute URI that is used to identify this {{title}} when it is referenced in a specification, model, design or an instance; also called its canonical identifier. This SHOULD be globally unique and SHOULD be a literal address at which an authoritative instance of this {{title}} is (or will be) published. This URL can be the target of a canonical reference. It SHALL remain the same when the {{title}} is stored on different serversurl : uri [0..1]A formal identifier that is used to identify this {{title}} when it is represented in other formats, or referenced in a specification, model, design or an instanceidentifier : Identifier [0..*]The identifier that is used to identify this version of the {{title}} when it is referenced in a specification, model, design or instance. This is an arbitrary value managed by the {{title}} author and is not expected to be globally unique. For example, it might be a timestamp (e.g. yyyymmdd) if a managed version is not available. There is also no expectation that versions can be placed in a lexicographical sequenceversion : string [0..1]Indicates the mechanism used to compare versions to determine which is more currentversionAlgorithm[x] : DataType [0..1] « string|Coding; (Strength=Extensible) VersionAlgorithm+ »A natural language name identifying the {{title}}. This name should be usable as an identifier for the module by machine processing applications such as code generationname : string [0..1]A short, descriptive, user-friendly title for the {{title}}title : string [0..1]The canonical URL pointing to another FHIR-defined protocol, guideline, orderset or other definition that is adhered to in whole or in part by this definitionderivedFromCanonical : canonical [0..*] « Definition »The URL pointing to an externally-defined protocol, guideline, orderset or other definition that is adhered to in whole or in part by this definitionderivedFromUri : uri [0..*]A larger definition of which this particular definition is a component or steppartOf : canonical [0..*] « Definition »The current state of this {{title}} (this element modifies the meaning of other elements)status : code [1..1] « The lifecycle status of an artifact. (Strength=Required)PublicationStatus! »A Boolean value to indicate that this {{title}} is authored for testing purposes (or education/evaluation/marketing) and is not intended for genuine usageexperimental : boolean [0..1]A code or group definition that describes the intended subject of instantiations of this definitionsubject : CodeableReference [0..*] « Group »The date (and optionally time) when the {{title}} was last significantly changed. The date must change when the business version changes and it must change if the status code changes. In addition, it should change when the substantive content of the {{title}} changesdate : dateTime [0..1]The name of the organization or individual responsible for the release and ongoing maintenance of the {{title}}publisher : string [0..1]Contact details to assist a user in finding and communicating with the publishercontact : ContactDetail [0..*]A free text natural language description of the {{title}} from a consumer's perspectivedescription : markdown [0..1]The content was developed with a focus and intent of supporting the contexts that are listed. These contexts may be general categories (gender, age, ...) or may be references to specific programs (insurance plans, studies, ...) and may be used to assist with indexing and searching for appropriate {{title}}suseContext : UsageContext [0..*]A legal or geographic region in which the {{title}} is intended to be usedjurisdiction : CodeableConcept [0..*] « Countries and regions within which this artifact is targeted for use. (Strength=Extensible)JurisdictionValueSet+ »Explanation of why this {{title}} is needed and why it has been designed as it haspurpose : markdown [0..1]A copyright statement relating to the {{title}} and/or its contents. Copyright statements are generally legal restrictions on the use and publishing of the {{title}}copyright : markdown [0..1]A short string (<50 characters), suitable for inclusion in a page footer that identifies the copyright holder, effective period, and optionally whether rights are resctricted. (e.g. 'All rights reserved', 'Some rights reserved')copyrightLabel : string [0..1]The date on which the resource content was approved by the publisher. Approval happens once when the content is officially approved for usageapprovalDate : date [0..1]The date on which the resource content was last reviewed. Review happens periodically after approval but does not change the original approval datelastReviewDate : date [0..1]The period during which the {{title}} content was or is planned to be in active useeffectivePeriod : Period [0..1]Repositories must be able to determine how to categorize the {{title}} so that it can be found by topical and keyword searchestopic : CodeableConcept [0..*]The type of individual that is expected to act upon instances of this definitionperformerType : CodeableConcept [0..1]A code that identifies the specific service or action that was or is being performedcode : CodeableConcept [0..1]Indicates the product supplied or manipulated by this {{title}}product : CodeableReference [0..1] « BiologicallyDerivedProduct| DeviceDefinition|Medication|NutritionProduct|Substance »

 

Alternate definitions: Master Definition XML + JSON.

PathValueSetTypeDocumentation
Definition.versionAlgorithm[x] VersionAlgorithm Extensible

Indicates the mechanism used to compare versions to determine which is more current.

Definition.status PublicationStatus Required

The lifecycle status of an artifact.

Definition.subject UnknownNo details provided yetExampleCodes identifying the type of subject intended to be the recpient or focus of the defined action. These should ideally be consistent across definition resources.
Definition.jurisdiction JurisdictionValueSet Extensible

This value set defines a base set of codes for country, country subdivision and region for indicating where a resource is intended to be used.

Note: The codes for countries and country subdivisions are taken from ISO 3166 icon while the codes for "supra-national" regions are from UN Standard country or area codes for statistical use (M49) icon.

Definition.performerType UnknownNo details provided yetExampleIdentifies types of practitioners, devices or other agents that are intended to perform a defined action. While the detailed constraints of relevant agents will vary by resource, some degree of consistency around recommended codes across request and definition resources would be desirable.

Not all resources that adhere to the Definition pattern will necessarily include all pattern elements as 'core' elements. This guide defines extensions for certain pattern elements that may be relevant but are not supported widely enough for direct inclusion in some resources. The extensions relevant for 'definition' resources can be found in the Workflow pattern extensions section of this specification.

The following diagram shows the "typical" state machine diagram for resources following the Definition pattern. Note that not all resources will support all states, some resources may choose different names for certain states and some resources may introduce sub-states to the listed states. As well, additional transitions may be supported, including from terminal nodes (e.g. from "withdrawn" back to "active"). That said, most resources should align with this state machine fairly well.

Typical state machine diagram for resources following 
  the Definition pattern
url identifier version versionAlgorithm[x] name title derivedFromCanonical derivedFromUri partOf status experimental subject date publisher contact description useContext jurisdiction purpose copyright copyrightLabel approvalDate lastReviewDate effectivePeriod topic performerType code product
ActivityDefinition 1 1 1 1 1 1 1 1 1 NTC 1 1 1 1 1 1 1 1 1 1 1 1
ChargeItemDefinition 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1
ClinicalUseDefinition 1 1 TC 1 T
EventDefinition 1 1 1 1 1 1 1 1 1 NTC 1 1 1 1 1 1 1 1 1 1 1 1
Measure 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1
MessageDefinition 1 1 1 1 1 1 1 1 C 1 1 1 1 1 1 1
ObservationDefinition 1 1 C 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1
OperationDefinition 1 1 1 1 C 1 1 NTC 1 1 1 1 1 1 1 1 1 1 1 1 TC
PlanDefinition 1 1 1 1 1 2 1 1 3 NTC 1 1 1 3 N 1 1 1 1 1 1 1 1
Questionnaire 1 1 1 1 1 1 1 NT 1 1 1 NT 1 1 1 1 1 1 1 1 1 1 1 1 1 TC
Requirements 1 1 1 1 1 1 1 NT 1 1 1 1 1 1 1 1 1 1 1
SubscriptionTopic 1 C 1 1 1 1 1 1 NT 1 1 1 1 1 1 1 1 1 1 1 1 1
TestPlan 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1
TestScript 1 1 1 1 C 1 1 1 1 1 1 1 1 1 1 1

Each non-grey cell contains a number, the number of elements and extensions (if > 0) mapped in the resource that are mapped to the pattern element in the column. If there are 0 elements and extensions, the number is not shown. In addition, the cell has a color and some character flags.

Colors:

  • Grey: the resource has no element or extension for the pattern element
  • White: the resource has an element that implements the pattern element with the same name
  • Yellow: the resource has a documented extension that implements the pattern element with the same name
  • Blue: the resource has an element that implements the pattern element with a different name
  • Red: the resource has an element that implements that pattern element, but the type or cardinality does not match

Flags:

  • E: pattern element implemented by an extension
  • N: pattern element implemented by an element with a different name
  • T: pattern element implemented by an element with a different type
  • C: pattern element implemented by an element with a different cardinality