This page is part of the FHIR Specification (v3.3.0: R4 Ballot 2). 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
Clinical Decision Support Work Group | Maturity Level: 2 | Trial Use | Compartments: Not linked to any defined compartments |
This resource allows for the definition of some activity to be performed, independent of a particular patient, practitioner, or other performance context.
This resource is a definition resource from a FHIR workflow perspective - see Workflow, specifically Definition.
An ActivityDefinition is a shareable, consumable description of some activity to be performed. It may be used to specify actions to be taken as part of a workflow, order set, or protocol, or it may be used independently as part of a catalog of activities such as orderables.
For more information on how activity definitions can be used to construct request resources, see the Realizing an ActivityDefinition topic below.
In general, an activity definition is simply a conceptual description of some specific action that should be taken. An instance of an ActivityDefinition does not indicate that any action has been performed (as an event resource does), nor does it indicate the actual intent to carry out any particular action (as a request resource does). Instead, an activity definition provides a reusable template that can be used to construct specific request resources such as ServiceRequest and MedicationRequest.
Note that this is conceptually similar to the Task resource as well, with the distinction being that ActivityDefinition represents the description of a task in the abstract, while the Task resource is used to track a specific instance of a task as it moves through the steps of a workflow.
This resource is referenced by EntryDefinition, MessageDefinition, PlanDefinition and Task
Structure
Name | Flags | Card. | Type | Description & Constraints |
---|---|---|---|---|
ActivityDefinition | TU | DomainResource | The definition of a specific activity to be taken, independent of any particular patient or context Elements defined in Ancestors: id, meta, implicitRules, language, text, contained, extension, modifierExtension | |
url | Σ | 0..1 | uri | Canonical identifier for this activity definition, represented as a URI (globally unique) |
identifier | Σ | 0..* | Identifier | Additional identifier for the activity definition |
version | Σ | 0..1 | string | Business version of the activity definition |
name | Σ | 0..1 | string | Name for this activity definition (computer friendly) |
title | Σ | 0..1 | string | Name for this activity definition (human friendly) |
subtitle | 0..1 | string | Subordinate title of the activity definition | |
status | ?!Σ | 1..1 | code | draft | active | retired | unknown PublicationStatus (Required) |
experimental | ?!Σ | 0..1 | boolean | For testing purposes, not real usage |
subject[x] | 0..1 | Type of individual the activity definition is intended for SubjectType (Extensible) | ||
subjectCodeableConcept | CodeableConcept | |||
subjectReference | Reference(Group) | |||
date | Σ | 0..1 | dateTime | Date last changed |
publisher | Σ | 0..1 | string | Name of the publisher (organization or individual) |
contact | Σ | 0..* | ContactDetail | Contact details for the publisher |
description | Σ | 0..1 | markdown | Natural language description of the activity definition |
useContext | Σ | 0..* | UsageContext | The context that the content is intended to support |
jurisdiction | Σ | 0..* | CodeableConcept | Intended jurisdiction for activity definition (if applicable) Jurisdiction ValueSet (Extensible) |
purpose | 0..1 | markdown | Why this activity definition is defined | |
usage | 0..1 | string | Describes the clinical usage of the activity definition | |
copyright | 0..1 | markdown | Use and/or publishing restrictions | |
approvalDate | 0..1 | date | When the activity definition was approved by publisher | |
lastReviewDate | 0..1 | date | When the activity definition was last reviewed | |
effectivePeriod | Σ | 0..1 | Period | When the activity definition is expected to be used |
topic | 0..* | CodeableConcept | E.g. Education, Treatment, Assessment, etc. DefinitionTopic (Example) | |
contributor | 0..* | Contributor | A content contributor | |
relatedArtifact | 0..* | RelatedArtifact | Additional documentation, citations, etc. | |
library | 0..* | canonical | Logic used by the activity definition | |
kind | Σ | 0..1 | code | Kind of resource ResourceType (Required) |
code | Σ | 0..1 | CodeableConcept | Detail type of activity Procedure Codes (SNOMED CT) (Example) |
doNotPerform | ?!Σ | 0..1 | boolean | True if the activity should not be performed |
timing[x] | 0..1 | When activity is to occur | ||
timingTiming | Timing | |||
timingDateTime | dateTime | |||
timingAge | Age | |||
timingPeriod | Period | |||
timingRange | Range | |||
timingDuration | Duration | |||
location | 0..1 | Reference(Location) | Where it should happen | |
participant | 0..* | BackboneElement | Who should participate in the action | |
type | 1..1 | code | patient | practitioner | related-person ActionParticipantType (Required) | |
role | 0..1 | CodeableConcept | E.g. Nurse, Surgeon, Parent, etc. ActionParticipantRole (Example) | |
product[x] | 0..1 | What's administered/supplied SNOMED CT Medication Codes (Example) | ||
productReference | Reference(Medication | Substance) | |||
productCodeableConcept | CodeableConcept | |||
quantity | 0..1 | SimpleQuantity | How much is administered/consumed/supplied | |
dosage | 0..* | Dosage | Detailed dosage instructions | |
bodySite | 0..* | CodeableConcept | What part of body to perform on SNOMED CT Body Structures (Example) | |
specimenRequirement | 0..* | Reference(SpecimenDefinition) | What specimens are required to perform this action | |
transform | 0..1 | canonical | Transform to apply the template | |
dynamicValue | 0..* | BackboneElement | Dynamic aspects of the definition | |
description | 0..1 | string | Natural language description of the dynamic value | |
path | 0..1 | string | The path to the element to be set dynamically | |
language | 0..1 | string | Language of the expression | |
expression | 0..1 | string | An expression that provides the dynamic value for the customization | |
Documentation for this format |
UML Diagram (Legend)
XML Template
<ActivityDefinition xmlns="http://hl7.org/fhir"> <!-- from Resource: id, meta, implicitRules, and language --> <!-- from DomainResource: text, contained, extension, and modifierExtension --> <url value="[uri]"/><!-- 0..1 Canonical identifier for this activity definition, represented as a URI (globally unique) --> <identifier><!-- 0..* Identifier Additional identifier for the activity definition --></identifier> <version value="[string]"/><!-- 0..1 Business version of the activity definition --> <name value="[string]"/><!-- 0..1 Name for this activity definition (computer friendly) --> <title value="[string]"/><!-- 0..1 Name for this activity definition (human friendly) --> <subtitle value="[string]"/><!-- 0..1 Subordinate title of the activity definition --> <status value="[code]"/><!-- 1..1 draft | active | retired | unknown --> <experimental value="[boolean]"/><!-- 0..1 For testing purposes, not real usage --> <subject[x]><!-- 0..1 CodeableConcept|Reference(Group) Type of individual the activity definition is intended for --></subject[x]> <date value="[dateTime]"/><!-- 0..1 Date last changed --> <publisher value="[string]"/><!-- 0..1 Name of the publisher (organization or individual) --> <contact><!-- 0..* ContactDetail Contact details for the publisher --></contact> <description value="[markdown]"/><!-- 0..1 Natural language description of the activity definition --> <useContext><!-- 0..* UsageContext The context that the content is intended to support --></useContext> <jurisdiction><!-- 0..* CodeableConcept Intended jurisdiction for activity definition (if applicable) --></jurisdiction> <purpose value="[markdown]"/><!-- 0..1 Why this activity definition is defined --> <usage value="[string]"/><!-- 0..1 Describes the clinical usage of the activity definition --> <copyright value="[markdown]"/><!-- 0..1 Use and/or publishing restrictions --> <approvalDate value="[date]"/><!-- 0..1 When the activity definition was approved by publisher --> <lastReviewDate value="[date]"/><!-- 0..1 When the activity definition was last reviewed --> <effectivePeriod><!-- 0..1 Period When the activity definition is expected to be used --></effectivePeriod> <topic><!-- 0..* CodeableConcept E.g. Education, Treatment, Assessment, etc. --></topic> <contributor><!-- 0..* Contributor A content contributor --></contributor> <relatedArtifact><!-- 0..* RelatedArtifact Additional documentation, citations, etc. --></relatedArtifact> <library><!-- 0..* canonical(Library) Logic used by the activity definition --></library> <kind value="[code]"/><!-- 0..1 Kind of resource --> <code><!-- 0..1 CodeableConcept Detail type of activity --></code> <doNotPerform value="[boolean]"/><!-- 0..1 True if the activity should not be performed --> <timing[x]><!-- 0..1 Timing|dateTime|Age|Period|Range|Duration When activity is to occur --></timing[x]> <location><!-- 0..1 Reference(Location) Where it should happen --></location> <participant> <!-- 0..* Who should participate in the action --> <type value="[code]"/><!-- 1..1 patient | practitioner | related-person --> <role><!-- 0..1 CodeableConcept E.g. Nurse, Surgeon, Parent, etc. --></role> </participant> <product[x]><!-- 0..1 Reference(Medication|Substance)|CodeableConcept What's administered/supplied --></product[x]> <quantity><!-- 0..1 Quantity(SimpleQuantity) How much is administered/consumed/supplied --></quantity> <dosage><!-- 0..* Dosage Detailed dosage instructions --></dosage> <bodySite><!-- 0..* CodeableConcept What part of body to perform on --></bodySite> <specimenRequirement><!-- 0..* Reference(SpecimenDefinition) What specimens are required to perform this action --></specimenRequirement> <transform><!-- 0..1 canonical(StructureMap) Transform to apply the template --></transform> <dynamicValue> <!-- 0..* Dynamic aspects of the definition --> <description value="[string]"/><!-- 0..1 Natural language description of the dynamic value --> <path value="[string]"/><!-- 0..1 The path to the element to be set dynamically --> <language value="[string]"/><!-- 0..1 Language of the expression --> <expression value="[string]"/><!-- 0..1 An expression that provides the dynamic value for the customization --> </dynamicValue> </ActivityDefinition>
JSON Template
{ "resourceType" : "ActivityDefinition", // from Resource: id, meta, implicitRules, and language // from DomainResource: text, contained, extension, and modifierExtension "url" : "<uri>", // Canonical identifier for this activity definition, represented as a URI (globally unique) "identifier" : [{ Identifier }], // Additional identifier for the activity definition "version" : "<string>", // Business version of the activity definition "name" : "<string>", // Name for this activity definition (computer friendly) "title" : "<string>", // Name for this activity definition (human friendly) "subtitle" : "<string>", // Subordinate title of the activity definition "status" : "<code>", // R! draft | active | retired | unknown "experimental" : <boolean>, // For testing purposes, not real usage // subject[x]: Type of individual the activity definition is intended for. One of these 2: "subjectCodeableConcept" : { CodeableConcept }, "subjectReference" : { Reference(Group) }, "date" : "<dateTime>", // Date last changed "publisher" : "<string>", // Name of the publisher (organization or individual) "contact" : [{ ContactDetail }], // Contact details for the publisher "description" : "<markdown>", // Natural language description of the activity definition "useContext" : [{ UsageContext }], // The context that the content is intended to support "jurisdiction" : [{ CodeableConcept }], // Intended jurisdiction for activity definition (if applicable) "purpose" : "<markdown>", // Why this activity definition is defined "usage" : "<string>", // Describes the clinical usage of the activity definition "copyright" : "<markdown>", // Use and/or publishing restrictions "approvalDate" : "<date>", // When the activity definition was approved by publisher "lastReviewDate" : "<date>", // When the activity definition was last reviewed "effectivePeriod" : { Period }, // When the activity definition is expected to be used "topic" : [{ CodeableConcept }], // E.g. Education, Treatment, Assessment, etc. "contributor" : [{ Contributor }], // A content contributor "relatedArtifact" : [{ RelatedArtifact }], // Additional documentation, citations, etc. "library" : ["<canonical>"], // Logic used by the activity definition "kind" : "<code>", // Kind of resource "code" : { CodeableConcept }, // Detail type of activity "doNotPerform" : <boolean>, // True if the activity should not be performed // timing[x]: When activity is to occur. One of these 6: "timingTiming" : { Timing }, "timingDateTime" : "<dateTime>", "timingAge" : { Age }, "timingPeriod" : { Period }, "timingRange" : { Range }, "timingDuration" : { Duration }, "location" : { Reference(Location) }, // Where it should happen "participant" : [{ // Who should participate in the action "type" : "<code>", // R! patient | practitioner | related-person "role" : { CodeableConcept } // E.g. Nurse, Surgeon, Parent, etc. }], // product[x]: What's administered/supplied. One of these 2: "productReference" : { Reference(Medication|Substance) }, "productCodeableConcept" : { CodeableConcept }, "quantity" : { Quantity(SimpleQuantity) }, // How much is administered/consumed/supplied "dosage" : [{ Dosage }], // Detailed dosage instructions "bodySite" : [{ CodeableConcept }], // What part of body to perform on "specimenRequirement" : [{ Reference(SpecimenDefinition) }], // What specimens are required to perform this action "transform" : "<canonical>", // Transform to apply the template "dynamicValue" : [{ // Dynamic aspects of the definition "description" : "<string>", // Natural language description of the dynamic value "path" : "<string>", // The path to the element to be set dynamically "language" : "<string>", // Language of the expression "expression" : "<string>" // An expression that provides the dynamic value for the customization }] }
Turtle Template
@prefix fhir: <http://hl7.org/fhir/> . [ a fhir:ActivityDefinition; fhir:nodeRole fhir:treeRoot; # if this is the parser root # from Resource: .id, .meta, .implicitRules, and .language # from DomainResource: .text, .contained, .extension, and .modifierExtension fhir:ActivityDefinition.url [ uri ]; # 0..1 Canonical identifier for this activity definition, represented as a URI (globally unique) fhir:ActivityDefinition.identifier [ Identifier ], ... ; # 0..* Additional identifier for the activity definition fhir:ActivityDefinition.version [ string ]; # 0..1 Business version of the activity definition fhir:ActivityDefinition.name [ string ]; # 0..1 Name for this activity definition (computer friendly) fhir:ActivityDefinition.title [ string ]; # 0..1 Name for this activity definition (human friendly) fhir:ActivityDefinition.subtitle [ string ]; # 0..1 Subordinate title of the activity definition fhir:ActivityDefinition.status [ code ]; # 1..1 draft | active | retired | unknown fhir:ActivityDefinition.experimental [ boolean ]; # 0..1 For testing purposes, not real usage # ActivityDefinition.subject[x] : 0..1 Type of individual the activity definition is intended for. One of these 2 fhir:ActivityDefinition.subjectCodeableConcept [ CodeableConcept ] fhir:ActivityDefinition.subjectReference [ Reference(Group) ] fhir:ActivityDefinition.date [ dateTime ]; # 0..1 Date last changed fhir:ActivityDefinition.publisher [ string ]; # 0..1 Name of the publisher (organization or individual) fhir:ActivityDefinition.contact [ ContactDetail ], ... ; # 0..* Contact details for the publisher fhir:ActivityDefinition.description [ markdown ]; # 0..1 Natural language description of the activity definition fhir:ActivityDefinition.useContext [ UsageContext ], ... ; # 0..* The context that the content is intended to support fhir:ActivityDefinition.jurisdiction [ CodeableConcept ], ... ; # 0..* Intended jurisdiction for activity definition (if applicable) fhir:ActivityDefinition.purpose [ markdown ]; # 0..1 Why this activity definition is defined fhir:ActivityDefinition.usage [ string ]; # 0..1 Describes the clinical usage of the activity definition fhir:ActivityDefinition.copyright [ markdown ]; # 0..1 Use and/or publishing restrictions fhir:ActivityDefinition.approvalDate [ date ]; # 0..1 When the activity definition was approved by publisher fhir:ActivityDefinition.lastReviewDate [ date ]; # 0..1 When the activity definition was last reviewed fhir:ActivityDefinition.effectivePeriod [ Period ]; # 0..1 When the activity definition is expected to be used fhir:ActivityDefinition.topic [ CodeableConcept ], ... ; # 0..* E.g. Education, Treatment, Assessment, etc. fhir:ActivityDefinition.contributor [ Contributor ], ... ; # 0..* A content contributor fhir:ActivityDefinition.relatedArtifact [ RelatedArtifact ], ... ; # 0..* Additional documentation, citations, etc. fhir:ActivityDefinition.library [ canonical(Library) ], ... ; # 0..* Logic used by the activity definition fhir:ActivityDefinition.kind [ code ]; # 0..1 Kind of resource fhir:ActivityDefinition.code [ CodeableConcept ]; # 0..1 Detail type of activity fhir:ActivityDefinition.doNotPerform [ boolean ]; # 0..1 True if the activity should not be performed # ActivityDefinition.timing[x] : 0..1 When activity is to occur. One of these 6 fhir:ActivityDefinition.timingTiming [ Timing ] fhir:ActivityDefinition.timingDateTime [ dateTime ] fhir:ActivityDefinition.timingAge [ Age ] fhir:ActivityDefinition.timingPeriod [ Period ] fhir:ActivityDefinition.timingRange [ Range ] fhir:ActivityDefinition.timingDuration [ Duration ] fhir:ActivityDefinition.location [ Reference(Location) ]; # 0..1 Where it should happen fhir:ActivityDefinition.participant [ # 0..* Who should participate in the action fhir:ActivityDefinition.participant.type [ code ]; # 1..1 patient | practitioner | related-person fhir:ActivityDefinition.participant.role [ CodeableConcept ]; # 0..1 E.g. Nurse, Surgeon, Parent, etc. ], ...; # ActivityDefinition.product[x] : 0..1 What's administered/supplied. One of these 2 fhir:ActivityDefinition.productReference [ Reference(Medication|Substance) ] fhir:ActivityDefinition.productCodeableConcept [ CodeableConcept ] fhir:ActivityDefinition.quantity [ Quantity(SimpleQuantity) ]; # 0..1 How much is administered/consumed/supplied fhir:ActivityDefinition.dosage [ Dosage ], ... ; # 0..* Detailed dosage instructions fhir:ActivityDefinition.bodySite [ CodeableConcept ], ... ; # 0..* What part of body to perform on fhir:ActivityDefinition.specimenRequirement [ Reference(SpecimenDefinition) ], ... ; # 0..* What specimens are required to perform this action fhir:ActivityDefinition.transform [ canonical(StructureMap) ]; # 0..1 Transform to apply the template fhir:ActivityDefinition.dynamicValue [ # 0..* Dynamic aspects of the definition fhir:ActivityDefinition.dynamicValue.description [ string ]; # 0..1 Natural language description of the dynamic value fhir:ActivityDefinition.dynamicValue.path [ string ]; # 0..1 The path to the element to be set dynamically fhir:ActivityDefinition.dynamicValue.language [ string ]; # 0..1 Language of the expression fhir:ActivityDefinition.dynamicValue.expression [ string ]; # 0..1 An expression that provides the dynamic value for the customization ], ...; ]
Changes since R3
ActivityDefinition | |
ActivityDefinition.subtitle |
|
ActivityDefinition.subject[x] |
|
ActivityDefinition.library |
|
ActivityDefinition.doNotPerform |
|
ActivityDefinition.timing[x] |
|
ActivityDefinition.product[x] |
|
ActivityDefinition.specimenRequirement |
|
ActivityDefinition.transform |
|
See the Full Difference for further information
Structure
Name | Flags | Card. | Type | Description & Constraints |
---|---|---|---|---|
ActivityDefinition | TU | DomainResource | The definition of a specific activity to be taken, independent of any particular patient or context Elements defined in Ancestors: id, meta, implicitRules, language, text, contained, extension, modifierExtension | |
url | Σ | 0..1 | uri | Canonical identifier for this activity definition, represented as a URI (globally unique) |
identifier | Σ | 0..* | Identifier | Additional identifier for the activity definition |
version | Σ | 0..1 | string | Business version of the activity definition |
name | Σ | 0..1 | string | Name for this activity definition (computer friendly) |
title | Σ | 0..1 | string | Name for this activity definition (human friendly) |
subtitle | 0..1 | string | Subordinate title of the activity definition | |
status | ?!Σ | 1..1 | code | draft | active | retired | unknown PublicationStatus (Required) |
experimental | ?!Σ | 0..1 | boolean | For testing purposes, not real usage |
subject[x] | 0..1 | Type of individual the activity definition is intended for SubjectType (Extensible) | ||
subjectCodeableConcept | CodeableConcept | |||
subjectReference | Reference(Group) | |||
date | Σ | 0..1 | dateTime | Date last changed |
publisher | Σ | 0..1 | string | Name of the publisher (organization or individual) |
contact | Σ | 0..* | ContactDetail | Contact details for the publisher |
description | Σ | 0..1 | markdown | Natural language description of the activity definition |
useContext | Σ | 0..* | UsageContext | The context that the content is intended to support |
jurisdiction | Σ | 0..* | CodeableConcept | Intended jurisdiction for activity definition (if applicable) Jurisdiction ValueSet (Extensible) |
purpose | 0..1 | markdown | Why this activity definition is defined | |
usage | 0..1 | string | Describes the clinical usage of the activity definition | |
copyright | 0..1 | markdown | Use and/or publishing restrictions | |
approvalDate | 0..1 | date | When the activity definition was approved by publisher | |
lastReviewDate | 0..1 | date | When the activity definition was last reviewed | |
effectivePeriod | Σ | 0..1 | Period | When the activity definition is expected to be used |
topic | 0..* | CodeableConcept | E.g. Education, Treatment, Assessment, etc. DefinitionTopic (Example) | |
contributor | 0..* | Contributor | A content contributor | |
relatedArtifact | 0..* | RelatedArtifact | Additional documentation, citations, etc. | |
library | 0..* | canonical | Logic used by the activity definition | |
kind | Σ | 0..1 | code | Kind of resource ResourceType (Required) |
code | Σ | 0..1 | CodeableConcept | Detail type of activity Procedure Codes (SNOMED CT) (Example) |
doNotPerform | ?!Σ | 0..1 | boolean | True if the activity should not be performed |
timing[x] | 0..1 | When activity is to occur | ||
timingTiming | Timing | |||
timingDateTime | dateTime | |||
timingAge | Age | |||
timingPeriod | Period | |||
timingRange | Range | |||
timingDuration | Duration | |||
location | 0..1 | Reference(Location) | Where it should happen | |
participant | 0..* | BackboneElement | Who should participate in the action | |
type | 1..1 | code | patient | practitioner | related-person ActionParticipantType (Required) | |
role | 0..1 | CodeableConcept | E.g. Nurse, Surgeon, Parent, etc. ActionParticipantRole (Example) | |
product[x] | 0..1 | What's administered/supplied SNOMED CT Medication Codes (Example) | ||
productReference | Reference(Medication | Substance) | |||
productCodeableConcept | CodeableConcept | |||
quantity | 0..1 | SimpleQuantity | How much is administered/consumed/supplied | |
dosage | 0..* | Dosage | Detailed dosage instructions | |
bodySite | 0..* | CodeableConcept | What part of body to perform on SNOMED CT Body Structures (Example) | |
specimenRequirement | 0..* | Reference(SpecimenDefinition) | What specimens are required to perform this action | |
transform | 0..1 | canonical | Transform to apply the template | |
dynamicValue | 0..* | BackboneElement | Dynamic aspects of the definition | |
description | 0..1 | string | Natural language description of the dynamic value | |
path | 0..1 | string | The path to the element to be set dynamically | |
language | 0..1 | string | Language of the expression | |
expression | 0..1 | string | An expression that provides the dynamic value for the customization | |
Documentation for this format |
XML Template
<ActivityDefinition xmlns="http://hl7.org/fhir"> <!-- from Resource: id, meta, implicitRules, and language --> <!-- from DomainResource: text, contained, extension, and modifierExtension --> <url value="[uri]"/><!-- 0..1 Canonical identifier for this activity definition, represented as a URI (globally unique) --> <identifier><!-- 0..* Identifier Additional identifier for the activity definition --></identifier> <version value="[string]"/><!-- 0..1 Business version of the activity definition --> <name value="[string]"/><!-- 0..1 Name for this activity definition (computer friendly) --> <title value="[string]"/><!-- 0..1 Name for this activity definition (human friendly) --> <subtitle value="[string]"/><!-- 0..1 Subordinate title of the activity definition --> <status value="[code]"/><!-- 1..1 draft | active | retired | unknown --> <experimental value="[boolean]"/><!-- 0..1 For testing purposes, not real usage --> <subject[x]><!-- 0..1 CodeableConcept|Reference(Group) Type of individual the activity definition is intended for --></subject[x]> <date value="[dateTime]"/><!-- 0..1 Date last changed --> <publisher value="[string]"/><!-- 0..1 Name of the publisher (organization or individual) --> <contact><!-- 0..* ContactDetail Contact details for the publisher --></contact> <description value="[markdown]"/><!-- 0..1 Natural language description of the activity definition --> <useContext><!-- 0..* UsageContext The context that the content is intended to support --></useContext> <jurisdiction><!-- 0..* CodeableConcept Intended jurisdiction for activity definition (if applicable) --></jurisdiction> <purpose value="[markdown]"/><!-- 0..1 Why this activity definition is defined --> <usage value="[string]"/><!-- 0..1 Describes the clinical usage of the activity definition --> <copyright value="[markdown]"/><!-- 0..1 Use and/or publishing restrictions --> <approvalDate value="[date]"/><!-- 0..1 When the activity definition was approved by publisher --> <lastReviewDate value="[date]"/><!-- 0..1 When the activity definition was last reviewed --> <effectivePeriod><!-- 0..1 Period When the activity definition is expected to be used --></effectivePeriod> <topic><!-- 0..* CodeableConcept E.g. Education, Treatment, Assessment, etc. --></topic> <contributor><!-- 0..* Contributor A content contributor --></contributor> <relatedArtifact><!-- 0..* RelatedArtifact Additional documentation, citations, etc. --></relatedArtifact> <library><!-- 0..* canonical(Library) Logic used by the activity definition --></library> <kind value="[code]"/><!-- 0..1 Kind of resource --> <code><!-- 0..1 CodeableConcept Detail type of activity --></code> <doNotPerform value="[boolean]"/><!-- 0..1 True if the activity should not be performed --> <timing[x]><!-- 0..1 Timing|dateTime|Age|Period|Range|Duration When activity is to occur --></timing[x]> <location><!-- 0..1 Reference(Location) Where it should happen --></location> <participant> <!-- 0..* Who should participate in the action --> <type value="[code]"/><!-- 1..1 patient | practitioner | related-person --> <role><!-- 0..1 CodeableConcept E.g. Nurse, Surgeon, Parent, etc. --></role> </participant> <product[x]><!-- 0..1 Reference(Medication|Substance)|CodeableConcept What's administered/supplied --></product[x]> <quantity><!-- 0..1 Quantity(SimpleQuantity) How much is administered/consumed/supplied --></quantity> <dosage><!-- 0..* Dosage Detailed dosage instructions --></dosage> <bodySite><!-- 0..* CodeableConcept What part of body to perform on --></bodySite> <specimenRequirement><!-- 0..* Reference(SpecimenDefinition) What specimens are required to perform this action --></specimenRequirement> <transform><!-- 0..1 canonical(StructureMap) Transform to apply the template --></transform> <dynamicValue> <!-- 0..* Dynamic aspects of the definition --> <description value="[string]"/><!-- 0..1 Natural language description of the dynamic value --> <path value="[string]"/><!-- 0..1 The path to the element to be set dynamically --> <language value="[string]"/><!-- 0..1 Language of the expression --> <expression value="[string]"/><!-- 0..1 An expression that provides the dynamic value for the customization --> </dynamicValue> </ActivityDefinition>
JSON Template
{ "resourceType" : "ActivityDefinition", // from Resource: id, meta, implicitRules, and language // from DomainResource: text, contained, extension, and modifierExtension "url" : "<uri>", // Canonical identifier for this activity definition, represented as a URI (globally unique) "identifier" : [{ Identifier }], // Additional identifier for the activity definition "version" : "<string>", // Business version of the activity definition "name" : "<string>", // Name for this activity definition (computer friendly) "title" : "<string>", // Name for this activity definition (human friendly) "subtitle" : "<string>", // Subordinate title of the activity definition "status" : "<code>", // R! draft | active | retired | unknown "experimental" : <boolean>, // For testing purposes, not real usage // subject[x]: Type of individual the activity definition is intended for. One of these 2: "subjectCodeableConcept" : { CodeableConcept }, "subjectReference" : { Reference(Group) }, "date" : "<dateTime>", // Date last changed "publisher" : "<string>", // Name of the publisher (organization or individual) "contact" : [{ ContactDetail }], // Contact details for the publisher "description" : "<markdown>", // Natural language description of the activity definition "useContext" : [{ UsageContext }], // The context that the content is intended to support "jurisdiction" : [{ CodeableConcept }], // Intended jurisdiction for activity definition (if applicable) "purpose" : "<markdown>", // Why this activity definition is defined "usage" : "<string>", // Describes the clinical usage of the activity definition "copyright" : "<markdown>", // Use and/or publishing restrictions "approvalDate" : "<date>", // When the activity definition was approved by publisher "lastReviewDate" : "<date>", // When the activity definition was last reviewed "effectivePeriod" : { Period }, // When the activity definition is expected to be used "topic" : [{ CodeableConcept }], // E.g. Education, Treatment, Assessment, etc. "contributor" : [{ Contributor }], // A content contributor "relatedArtifact" : [{ RelatedArtifact }], // Additional documentation, citations, etc. "library" : ["<canonical>"], // Logic used by the activity definition "kind" : "<code>", // Kind of resource "code" : { CodeableConcept }, // Detail type of activity "doNotPerform" : <boolean>, // True if the activity should not be performed // timing[x]: When activity is to occur. One of these 6: "timingTiming" : { Timing }, "timingDateTime" : "<dateTime>", "timingAge" : { Age }, "timingPeriod" : { Period }, "timingRange" : { Range }, "timingDuration" : { Duration }, "location" : { Reference(Location) }, // Where it should happen "participant" : [{ // Who should participate in the action "type" : "<code>", // R! patient | practitioner | related-person "role" : { CodeableConcept } // E.g. Nurse, Surgeon, Parent, etc. }], // product[x]: What's administered/supplied. One of these 2: "productReference" : { Reference(Medication|Substance) }, "productCodeableConcept" : { CodeableConcept }, "quantity" : { Quantity(SimpleQuantity) }, // How much is administered/consumed/supplied "dosage" : [{ Dosage }], // Detailed dosage instructions "bodySite" : [{ CodeableConcept }], // What part of body to perform on "specimenRequirement" : [{ Reference(SpecimenDefinition) }], // What specimens are required to perform this action "transform" : "<canonical>", // Transform to apply the template "dynamicValue" : [{ // Dynamic aspects of the definition "description" : "<string>", // Natural language description of the dynamic value "path" : "<string>", // The path to the element to be set dynamically "language" : "<string>", // Language of the expression "expression" : "<string>" // An expression that provides the dynamic value for the customization }] }
Turtle Template
@prefix fhir: <http://hl7.org/fhir/> . [ a fhir:ActivityDefinition; fhir:nodeRole fhir:treeRoot; # if this is the parser root # from Resource: .id, .meta, .implicitRules, and .language # from DomainResource: .text, .contained, .extension, and .modifierExtension fhir:ActivityDefinition.url [ uri ]; # 0..1 Canonical identifier for this activity definition, represented as a URI (globally unique) fhir:ActivityDefinition.identifier [ Identifier ], ... ; # 0..* Additional identifier for the activity definition fhir:ActivityDefinition.version [ string ]; # 0..1 Business version of the activity definition fhir:ActivityDefinition.name [ string ]; # 0..1 Name for this activity definition (computer friendly) fhir:ActivityDefinition.title [ string ]; # 0..1 Name for this activity definition (human friendly) fhir:ActivityDefinition.subtitle [ string ]; # 0..1 Subordinate title of the activity definition fhir:ActivityDefinition.status [ code ]; # 1..1 draft | active | retired | unknown fhir:ActivityDefinition.experimental [ boolean ]; # 0..1 For testing purposes, not real usage # ActivityDefinition.subject[x] : 0..1 Type of individual the activity definition is intended for. One of these 2 fhir:ActivityDefinition.subjectCodeableConcept [ CodeableConcept ] fhir:ActivityDefinition.subjectReference [ Reference(Group) ] fhir:ActivityDefinition.date [ dateTime ]; # 0..1 Date last changed fhir:ActivityDefinition.publisher [ string ]; # 0..1 Name of the publisher (organization or individual) fhir:ActivityDefinition.contact [ ContactDetail ], ... ; # 0..* Contact details for the publisher fhir:ActivityDefinition.description [ markdown ]; # 0..1 Natural language description of the activity definition fhir:ActivityDefinition.useContext [ UsageContext ], ... ; # 0..* The context that the content is intended to support fhir:ActivityDefinition.jurisdiction [ CodeableConcept ], ... ; # 0..* Intended jurisdiction for activity definition (if applicable) fhir:ActivityDefinition.purpose [ markdown ]; # 0..1 Why this activity definition is defined fhir:ActivityDefinition.usage [ string ]; # 0..1 Describes the clinical usage of the activity definition fhir:ActivityDefinition.copyright [ markdown ]; # 0..1 Use and/or publishing restrictions fhir:ActivityDefinition.approvalDate [ date ]; # 0..1 When the activity definition was approved by publisher fhir:ActivityDefinition.lastReviewDate [ date ]; # 0..1 When the activity definition was last reviewed fhir:ActivityDefinition.effectivePeriod [ Period ]; # 0..1 When the activity definition is expected to be used fhir:ActivityDefinition.topic [ CodeableConcept ], ... ; # 0..* E.g. Education, Treatment, Assessment, etc. fhir:ActivityDefinition.contributor [ Contributor ], ... ; # 0..* A content contributor fhir:ActivityDefinition.relatedArtifact [ RelatedArtifact ], ... ; # 0..* Additional documentation, citations, etc. fhir:ActivityDefinition.library [ canonical(Library) ], ... ; # 0..* Logic used by the activity definition fhir:ActivityDefinition.kind [ code ]; # 0..1 Kind of resource fhir:ActivityDefinition.code [ CodeableConcept ]; # 0..1 Detail type of activity fhir:ActivityDefinition.doNotPerform [ boolean ]; # 0..1 True if the activity should not be performed # ActivityDefinition.timing[x] : 0..1 When activity is to occur. One of these 6 fhir:ActivityDefinition.timingTiming [ Timing ] fhir:ActivityDefinition.timingDateTime [ dateTime ] fhir:ActivityDefinition.timingAge [ Age ] fhir:ActivityDefinition.timingPeriod [ Period ] fhir:ActivityDefinition.timingRange [ Range ] fhir:ActivityDefinition.timingDuration [ Duration ] fhir:ActivityDefinition.location [ Reference(Location) ]; # 0..1 Where it should happen fhir:ActivityDefinition.participant [ # 0..* Who should participate in the action fhir:ActivityDefinition.participant.type [ code ]; # 1..1 patient | practitioner | related-person fhir:ActivityDefinition.participant.role [ CodeableConcept ]; # 0..1 E.g. Nurse, Surgeon, Parent, etc. ], ...; # ActivityDefinition.product[x] : 0..1 What's administered/supplied. One of these 2 fhir:ActivityDefinition.productReference [ Reference(Medication|Substance) ] fhir:ActivityDefinition.productCodeableConcept [ CodeableConcept ] fhir:ActivityDefinition.quantity [ Quantity(SimpleQuantity) ]; # 0..1 How much is administered/consumed/supplied fhir:ActivityDefinition.dosage [ Dosage ], ... ; # 0..* Detailed dosage instructions fhir:ActivityDefinition.bodySite [ CodeableConcept ], ... ; # 0..* What part of body to perform on fhir:ActivityDefinition.specimenRequirement [ Reference(SpecimenDefinition) ], ... ; # 0..* What specimens are required to perform this action fhir:ActivityDefinition.transform [ canonical(StructureMap) ]; # 0..1 Transform to apply the template fhir:ActivityDefinition.dynamicValue [ # 0..* Dynamic aspects of the definition fhir:ActivityDefinition.dynamicValue.description [ string ]; # 0..1 Natural language description of the dynamic value fhir:ActivityDefinition.dynamicValue.path [ string ]; # 0..1 The path to the element to be set dynamically fhir:ActivityDefinition.dynamicValue.language [ string ]; # 0..1 Language of the expression fhir:ActivityDefinition.dynamicValue.expression [ string ]; # 0..1 An expression that provides the dynamic value for the customization ], ...; ]
Changes since DSTU2
ActivityDefinition | |
ActivityDefinition.subtitle |
|
ActivityDefinition.subject[x] |
|
ActivityDefinition.library |
|
ActivityDefinition.doNotPerform |
|
ActivityDefinition.timing[x] |
|
ActivityDefinition.product[x] |
|
ActivityDefinition.specimenRequirement |
|
ActivityDefinition.transform |
|
See the Full Difference for further information
Alternate definitions: Master Definition XML + JSON, XML Schema/Schematron + JSON Schema, ShEx (for Turtle) + see the extensions & the dependency analysis
Path | Definition | Type | Reference |
---|---|---|---|
ActivityDefinition.status | The lifecycle status of an artifact. | Required | PublicationStatus |
ActivityDefinition.subject[x] | The possible types of subjects for an activity (E.g. Patient, Practitioner, Organization, Location, etc.) | Extensible | SubjectType |
ActivityDefinition.jurisdiction | Countries and regions within which this artifact is targeted for use | Extensible | Jurisdiction ValueSet |
ActivityDefinition.topic | High-level categorization of the definition, used for searching, sorting, and filtering | Example | DefinitionTopic |
ActivityDefinition.kind | The kind of activity the definition is describing | Required | ResourceType |
ActivityDefinition.code | Detailed type of the activity; e.g. CBC | Example | Procedure Codes (SNOMED CT) |
ActivityDefinition.participant.type | The type of participant in the activity | Required | ActionParticipantType |
ActivityDefinition.participant.role | Defines roles played by participants for the action | Example | ActionParticipantRole |
ActivityDefinition.product[x] | Code describing the type of substance or medication | Example | SNOMED CT Medication Codes |
ActivityDefinition.bodySite | A code that identifies the anatomical location | Example | SNOMED CT Body Structures |
An ActivityDefinition resource provides a description, or template, of an action to performed. These actions can be purely text-based descriptions of the action to be performed, only interpretable by a human user, or they can be structured definitions with enough information to construct a resource to represent the request or activity directly. This process of converting the ActivityDefinition into a specific resource in a particular context is performed with the $apply
operation.
In the simplest case, the process maps the elements specified in the ActivityDefinition to the corresponding elements on a resource of the appropriate type, using the kind
element of the definition to determine the type of resource to be created.
More dynamic scenarios can be achieved in one of two ways, either by providing dynamicValue
expressions, or by specifying a StructureMap that transforms the definition into the appropriate request resource.
Note that systems will likely vary widely in the degree of support they provide for the $apply
operation. In particular, the fact that a system supports applying definitions of one category, does not imply that it supports applying definitions for all categories. For example, a service focused on medication order sets may have sophisticated support for MedicationRequest activities, but no support at all for the ServiceRequest activities.
The following diagram illustrates the relationship between the PlanDefinition and ActivityDefinition resources, as well as a typical application to CarePlan, RequestGroup, and Request resources:
To accommodate the variability in systems and use cases, this specification is not prescriptive about exactly how an ActivityDefinition is applied to produce target request or event resources. However, the approach depicted above provides a general framework for the process, and the following steps provide more detail on the potential approach:
kind
element and focused on the Patient in contextstatus
of the target resource to draftcode
, timing
, doNotPerform
, product
, quantity
, dosage
, and so onparticipant
element based on the user in contextlocation
element based on the location in contexttransform
element is specified, apply the transform to the resource. Note that the referenced StructureMap may actually construct the resource, rather than taking an instance. See the StructureMap for more informationdynamicValue
elements (in the order in which they appear in the ActivityDefinition resource) by evaluating the expression and setting the value of the appropriate element of the target resource (as specified by the dynamicValue.path
element)Because the ActivityDefinition resource can be used to describe many different types of request resources, profiles of the resource will be useful in communicating additional constraints and expectations about how the resource should be used in a particular context. For example, a profile of ActivityDefinition may specify that it is intended to describe medication orders within an order set. Such a profile would indicate that the quantity
element should not be used, but the dosage
element must be.
Search parameters for this resource. The common parameters also apply. See Searching for more information about searching in REST, messaging, and services.
Name | Type | Description | Expression | In Common |
composed-of | reference | What resource is being referenced | ActivityDefinition.relatedArtifact.where(type='composed-of').resource | |
context-type | token | A type of use context assigned to the activity definition | ActivityDefinition.useContext.code | |
date | date | The activity definition publication date | ActivityDefinition.date | |
depends-on | reference | What resource is being referenced | ActivityDefinition.relatedArtifact.where(type='depends-on').resource | ActivityDefinition.library (Library) | |
derived-from | reference | What resource is being referenced | ActivityDefinition.relatedArtifact.where(type='derived-from').resource | |
description | string | The description of the activity definition | ActivityDefinition.description | |
effective | date | The time during which the activity definition is intended to be in use | ActivityDefinition.effectivePeriod | |
identifier | token | External identifier for the activity definition | ActivityDefinition.identifier | |
jurisdiction | token | Intended jurisdiction for the activity definition | ActivityDefinition.jurisdiction | |
name | string | Computationally friendly name of the activity definition | ActivityDefinition.name | |
predecessor | reference | What resource is being referenced | ActivityDefinition.relatedArtifact.where(type='predecessor').resource | |
publisher | string | Name of the publisher of the activity definition | ActivityDefinition.publisher | |
status | token | The current status of the activity definition | ActivityDefinition.status | |
successor | reference | What resource is being referenced | ActivityDefinition.relatedArtifact.where(type='successor').resource | |
title | string | The human-friendly name of the activity definition | ActivityDefinition.title | |
topic | token | Topics associated with the module | ActivityDefinition.topic | |
url | uri | The uri that identifies the activity definition | ActivityDefinition.url | |
version | token | The business version of the activity definition | ActivityDefinition.version |