Release 5 Ballot

This page is part of the FHIR Specification (v5.0.0-ballot: FHIR R5 Ballot Preview). The current version which supercedes this version is 5.0.0. For a full list of available versions, see the Directory of published versions . Page versions: R5 R4B R4 R3

12.3 Pattern Definition - Content

FHIR Infrastructure Maturity 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..1uriLogical canonical URL to reference this {{title}} (globally unique)
... identifier Σ0..*IdentifierBusiness Identifier for {{title}}

... version Σ0..1stringBusiness version of the {{title}}
... 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
PublicationStatus (Required)
... experimental ?!Σ0..1booleanIf for testing purposes, not real usage
... subject[x] Σ0..1Type of individual the defined service is for
.... subjectCodeableConceptCodeableConcept
.... subjectReferenceReference(Group)
... date Σ0..1dateTimeDate status first applied
... publisher Σ0..1Reference(Practitioner | PractitionerRole | Organization)The name of the individual or organization that published the {{title}}
... contact Σ0..*ContactDetailContact details for the publisher

... description 0..1markdownNatural language description of the {{title}}
... useContext Σ0..*UsageContextContent intends to support these contexts

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

... category Σ0..*CodeableConceptPartitions the {{title}} into one or more categories that can be used to filter searching, to govern access control and/or to guide system behavior.

... purpose 0..1markdownWhy this {{title}} is defined
... copyright 0..1markdownUse and/or publishing restrictions
... approvalDate 0..1dateWhen {{title}} approved by publisher
... lastReviewDate 0..1dateLast review date for the {{title}}
... effectivePeriod Σ0..1PeriodThe effective date range for the {{title}}
... 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

UML Diagram (Legend)

Definition (Base) «Pattern»An absolute URL that is used to identify this {{title}} when it is referenced in a specification, model, design or an instance. This SHALL be a URL, SHOULD be globally unique, and SHOULD be an address at which this {{title}} is (or will be) published. The URL SHOULD include the major version of the {{title}}. For more information see [Technical and Business Versions](resource.html#versions)url : uri [0..1]Business identifiers assigned to this {{title}} by the performer and/or other systems. These identifiers remain constant as the resource is updated and propagates from server to serveridentifier : 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 are orderableversion : string [0..1]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 the {{title}} (this element modifies the meaning of other elements)status : code [1..1] « The lifecycle status of an artifact. (Strength=Required)PublicationStatus! »A flag to indicate that this {{title}} is authored for testing purposes (or education/evaluation/marketing), and is not intended to be used for genuine usage (this element modifies the meaning of other elements)experimental : boolean [0..1]A code or group definition that describes the intended subject of instantiations of this definitionsubject[x] : DataType [0..1] « CodeableConcept|Reference(Group) »For draft definitions, indicates the date of initial creation. For active definitions, represents the date of activation. For withdrawn definitions, indicates the date of withdrawaldate : dateTime [0..1]Helps establish the "authority/credibility" of the {{title}}. May also allow for contactpublisher : Reference [0..1] « Practitioner|PractitionerRole| Organization »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 the consumer's perspectivedescription : markdown [0..1]The content was developed with a focus and intent of supporting the contexts that are listed. These terms may be used to assist with indexing and searching of code system definitionsuseContext : UsageContext [0..*]A jurisdiction in which the {{title}} is intended to be usedjurisdiction : CodeableConcept [0..*] « Countries and regions within which this artifact is targeted for use. (Strength=Extensible)Jurisdiction ValueSet+ »Partitions the {{title}} into one or more categories that can be used to filter searching, to govern access control and/or to guide system behaviorcategory : CodeableConcept [0..*]Explains 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]The date on which the asset 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 asset content was last reviewed. Review happens periodically after that, but doesn't change the original approval datelastReviewDate : date [0..1]The period during which the {{title}} content was or is planned to be effectiveeffectivePeriod : Period [0..1]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..1uriLogical canonical URL to reference this {{title}} (globally unique)
... identifier Σ0..*IdentifierBusiness Identifier for {{title}}

... version Σ0..1stringBusiness version of the {{title}}
... 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
PublicationStatus (Required)
... experimental ?!Σ0..1booleanIf for testing purposes, not real usage
... subject[x] Σ0..1Type of individual the defined service is for
.... subjectCodeableConceptCodeableConcept
.... subjectReferenceReference(Group)
... date Σ0..1dateTimeDate status first applied
... publisher Σ0..1Reference(Practitioner | PractitionerRole | Organization)The name of the individual or organization that published the {{title}}
... contact Σ0..*ContactDetailContact details for the publisher

... description 0..1markdownNatural language description of the {{title}}
... useContext Σ0..*UsageContextContent intends to support these contexts

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

... category Σ0..*CodeableConceptPartitions the {{title}} into one or more categories that can be used to filter searching, to govern access control and/or to guide system behavior.

... purpose 0..1markdownWhy this {{title}} is defined
... copyright 0..1markdownUse and/or publishing restrictions
... approvalDate 0..1dateWhen {{title}} approved by publisher
... lastReviewDate 0..1dateLast review date for the {{title}}
... effectivePeriod Σ0..1PeriodThe effective date range for the {{title}}
... 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

UML Diagram (Legend)

Definition (Base) «Pattern»An absolute URL that is used to identify this {{title}} when it is referenced in a specification, model, design or an instance. This SHALL be a URL, SHOULD be globally unique, and SHOULD be an address at which this {{title}} is (or will be) published. The URL SHOULD include the major version of the {{title}}. For more information see [Technical and Business Versions](resource.html#versions)url : uri [0..1]Business identifiers assigned to this {{title}} by the performer and/or other systems. These identifiers remain constant as the resource is updated and propagates from server to serveridentifier : 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 are orderableversion : string [0..1]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 the {{title}} (this element modifies the meaning of other elements)status : code [1..1] « The lifecycle status of an artifact. (Strength=Required)PublicationStatus! »A flag to indicate that this {{title}} is authored for testing purposes (or education/evaluation/marketing), and is not intended to be used for genuine usage (this element modifies the meaning of other elements)experimental : boolean [0..1]A code or group definition that describes the intended subject of instantiations of this definitionsubject[x] : DataType [0..1] « CodeableConcept|Reference(Group) »For draft definitions, indicates the date of initial creation. For active definitions, represents the date of activation. For withdrawn definitions, indicates the date of withdrawaldate : dateTime [0..1]Helps establish the "authority/credibility" of the {{title}}. May also allow for contactpublisher : Reference [0..1] « Practitioner|PractitionerRole| Organization »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 the consumer's perspectivedescription : markdown [0..1]The content was developed with a focus and intent of supporting the contexts that are listed. These terms may be used to assist with indexing and searching of code system definitionsuseContext : UsageContext [0..*]A jurisdiction in which the {{title}} is intended to be usedjurisdiction : CodeableConcept [0..*] « Countries and regions within which this artifact is targeted for use. (Strength=Extensible)Jurisdiction ValueSet+ »Partitions the {{title}} into one or more categories that can be used to filter searching, to govern access control and/or to guide system behaviorcategory : CodeableConcept [0..*]Explains 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]The date on which the asset 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 asset content was last reviewed. Review happens periodically after that, but doesn't change the original approval datelastReviewDate : date [0..1]The period during which the {{title}} content was or is planned to be effectiveeffectivePeriod : Period [0..1]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.

PathDefinitionTypeReference
Definition.status

The lifecycle status of an artifact.

RequiredPublicationStatus
Definition.subject[x] Codes identifying the type of subject intended to be the recpient or focus of the defined action. These should ideally be consistent across definition resources.UnknownNo details provided yet
Definition.jurisdiction

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 while the codes for "supra-national" regions are from UN Standard country or area codes for statistical use (M49) .

ExtensibleJurisdiction ValueSet
Definition.performerType Identifies 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.UnknownNo details provided yet

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 name title derivedFromCanonical derivedFromUri partOf status experimental subject[x] date publisher contact description useContext jurisdiction category purpose copyright approvalDate lastReviewDate effectivePeriod performerType code product
ActivityDefinition 1 1 1 1 1 1 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
EventDefinition 1 1 1 1 1 1 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
MessageDefinition 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1
ObservationDefinition 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1
OperationDefinition 1 1 1 1 1 1 1 NC 1 1 1 1 1 1 1 1
PlanDefinition 1 1 1 1 2 1 1 1 NC 1 1 1 3 N 1 1 1 1 1 1 1
Questionnaire 1 1 1 1 1 1 1 1 NC 1 1 1 1 1 1 1 1 1 1 1
SubscriptionTopic 1 1 1 1 1 N 1 1 1 1 1 1 1 1 1 1 1 1 1
TestScript 1 1 1 1 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