
FHIR ActivityDefinition is the resource for representing reusable clinical activities in care pathways. Understanding when it applies avoids force-fitting.
Where ActivityDefinition fits
1. Reusable clinical actions. Standard order sets, protocol steps. 2. **PlanDefinition references. PlanDefinition composed of ActivityDefinitions. 3. CDS Hooks recommendations. ActivityDefinition as suggested action. 4. Care pathway automation.** Reusable steps in multi-step protocols.
Structure
1. code — coded description of the activity. 2. intent — proposal, plan, order. 3. priority — routine, urgent, stat. 4. timing — when to perform. 5. participant — who performs. 6. productReference — what product/service.
Execution model
ActivityDefinition instantiated into concrete requests (ServiceRequest, MedicationRequest, Task) at runtime. $apply operation on ActivityDefinition creates the instance.
Common use cases
1. Diabetic management protocol. ActivityDefinitions for HbA1c screening, foot exam, eye exam. 2. Immunization schedule. ActivityDefinitions per vaccine and age. 3. Post-op follow-up. ActivityDefinitions per follow-up visit type. 4. Chronic disease monitoring. Regular monitoring activities.
Related resources
1. PlanDefinition — care pathway composed of ActivityDefinitions. 2. ServiceRequest — instantiated activity. 3. Task — work item tracking. 4. CarePlan — patient-specific care plan.
Vendor state (mid-2026)
| Server | ActivityDefinition | $apply |
|---|---|---|
| HAPI FHIR | Full | Full |
| Aidbox | Full | Full |
| Medplum | Basic | External |
| MITRE cqf-ruler | Full | Full |
Common mistakes
1. Overloading base resources instead of using ActivityDefinition. 2. Missing $apply execution. 3. No PlanDefinition linkage. 4. Not versioning definitions. 5. Manual activity instantiation.
ActivityDefinition is useful for reusable, declarative clinical activities. Sites using it for care pathways ship maintainable protocols.
