R4 Draft for Comment

This page is part of the FHIR Specification (v3.2.0: R4 Ballot 1). 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.2 Logical Model 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.)

A "definition" resource is a resource that describes a type of activity that *can* occur in a manner that is independent of a particular patient or subject. Examples include protocols, order sets, questionnaires, etc. It only includes 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.

Unlike the request and event patterns, this pattern has not yet been formally reviewed, nor applied to any of its candidate resources. It should therefore be treated as a draft for comment. Alignment with this pattern (and the content of the pattern) will be discussed by work groups as part of ballot reconciliation.

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 uri to reference this {{title}} (globally unique)
... identifier Σ0..1IdentifierBusiness Identifier for {{title}}
... version Σ0..1stringBusiness version of the {{title}}
... title Σ0..1stringName for this {{title}} (Human friendly)
... derivedFrom Σ0..*uriBased on protocol or definition
... partOf Σ0..*Reference(Definition)Part of referenced definition
... replaces Σ0..*Reference(Definition)Request(s) replaced by this request
... 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
... useContext Σ0..*UsageContextContent intends to support these contexts
... jurisdiction Σ0..*CodeableConceptIntended jurisdiction for {{title}} (if applicable)
Jurisdiction ValueSet (Extensible)
... description 0..1markdownNatural language description of the {{title}}
... 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

doco Documentation for this format

UML Diagram (Legend)

Definition (Logical)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]Identifier assigned to this {{title}} request by the requester, performer and other systemsidentifier : Identifier [0..1]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 short, descriptive, user-friendly title for the {{title}}title : string [0..1]The URL pointing to another protocol, guideline, orderset or other definition that is adhered to in whole or in part by this definitionderivedFrom : uri [0..*]A larger definition of which this particular definition is a component or steppartOf : Reference [0..*] « Definition »Completed or terminated request(s) whose function is taken by this new requestreplaces : Reference [0..*] « Definition »The current state of the {{title}} (this element modifies the meaning of other elements)status : code [1..1] « The lifecycle status of a Value Set or Concept Map. (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] : Type [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..*]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+ »A free text natural language description of the {{title}} from the consumer's perspectivedescription : markdown [0..1]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]

Structure

NameFlagsCard.TypeDescription & Constraintsdoco
.. Definition ILogicalDefinition Pattern
... url Σ0..1uriLogical uri to reference this {{title}} (globally unique)
... identifier Σ0..1IdentifierBusiness Identifier for {{title}}
... version Σ0..1stringBusiness version of the {{title}}
... title Σ0..1stringName for this {{title}} (Human friendly)
... derivedFrom Σ0..*uriBased on protocol or definition
... partOf Σ0..*Reference(Definition)Part of referenced definition
... replaces Σ0..*Reference(Definition)Request(s) replaced by this request
... 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
... useContext Σ0..*UsageContextContent intends to support these contexts
... jurisdiction Σ0..*CodeableConceptIntended jurisdiction for {{title}} (if applicable)
Jurisdiction ValueSet (Extensible)
... description 0..1markdownNatural language description of the {{title}}
... 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

doco Documentation for this format

UML Diagram (Legend)

Definition (Logical)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]Identifier assigned to this {{title}} request by the requester, performer and other systemsidentifier : Identifier [0..1]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 short, descriptive, user-friendly title for the {{title}}title : string [0..1]The URL pointing to another protocol, guideline, orderset or other definition that is adhered to in whole or in part by this definitionderivedFrom : uri [0..*]A larger definition of which this particular definition is a component or steppartOf : Reference [0..*] « Definition »Completed or terminated request(s) whose function is taken by this new requestreplaces : Reference [0..*] « Definition »The current state of the {{title}} (this element modifies the meaning of other elements)status : code [1..1] « The lifecycle status of a Value Set or Concept Map. (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] : Type [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..*]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+ »A free text natural language description of the {{title}} from the consumer's perspectivedescription : markdown [0..1]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]

 

PathDefinitionTypeReference
Definition.status The lifecycle status of a Value Set or Concept Map.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 Countries and regions within which this artifact is targeted for useExtensibleJurisdiction ValueSet
Definition.performerType Identifies types of practitioners, devices or others that are intended to perform a defined action. While the detailed constraints of relevant providers will vary by resource, some degree of consistency around recommended codes across request and definition resources would be desirableUnknownNo details provided yet

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