FHIR CI-Build

This is the Continuous Integration Build of FHIR (will be incorrect/inconsistent at times).
See the Directory of published versions icon

12.3 Pattern Definition - Content

FHIR Infrastructure icon Maturity Level: 1 Informative

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.

Note that not all resources that contain Definition in their name are considered to be definition resources from a workflow perspective. For example, ActorDefinition, SpecimenDefinition, etc. are defining entities, not activities.

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 I Logical Definition Pattern
... url Σ 0..1 uri Canonical identifier for this {{title}}, represented as an absolute URI (globally unique)
... identifier Σ 0..* Identifier Business identifier for {{title}}

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

... derivedFromUri Σ 0..* uri Based on external protocol or definition

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

... status ?!Σ 1..1 code draft | active | retired | unknown
Binding: PublicationStatus (Required)
... experimental Σ 0..1 boolean For testing only - never for real usage
... subject Σ 0..* CodeableReference(Group) Type of individual the defined service is for

... date Σ 0..1 dateTime Date last changed
... publisher Σ 0..1 string Name of the publisher/steward (organization or individual)
... contact Σ 0..* ContactDetail Contact details for the publisher

... description Σ 0..1 markdown Natural language description of the {{title}}
... useContext Σ 0..* UsageContext The context that the content is intended to support

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

... purpose 0..1 markdown Why this {{title}} is defined
... copyright 0..1 markdown Use and/or publishing restrictions
... copyrightLabel 0..1 string Copyright holder and year(s)
... approvalDate 0..1 date When the {{title}} was approved by publisher
... lastReviewDate 0..1 date When the {{title}} was last reviewed
... effectivePeriod Σ 0..1 Period When the {{title}} is expected to be used
... topic Σ 0..* CodeableConcept Descriptive 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..1 CodeableConcept Desired kind of service performer
... code Σ 0..1 CodeableConcept Service to be done
... product Σ 0..1 CodeableReference(BiologicallyDerivedProduct | DeviceDefinition | Medication | NutritionProduct | Substance) Product to use/manipulate

doco Documentation for this format icon

 

Alternate definitions: Master Definition XML + JSON.

Path ValueSet Type Documentation
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 Unknown No details provided yet Example 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.
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 Unknown No details provided yet Example 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.

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