Use this skill when configuring care plan templates, care plan problems, goals, and tasks in Salesforce Health Cloud — covering both the Integrated Care Management (ICM) model (Spring '23+, FHIR R4-aligned, recommended) and the legacy managed-package model (CarePlanTemplate__c + Case Tasks). Trigger keywords: care plan template, ICM care plan, PGI library, action plan template, problem definition, goal definition, care plan setup. NOT for general case management configuration, non-Health-Cloud task management, or clinical program enrollment (see admin/care-program-management).
This skill activates when a practitioner needs to configure care plan templates, problems, goals, or tasks in Salesforce Health Cloud. It covers both the Integrated Care Management (ICM) model — the FHIR R4-aligned, platform-native architecture introduced in Spring '23 and the target of all future Salesforce investment — and the legacy managed-package model based on CarePlanTemplate__c and Case Tasks. The skill provides decision guidance on which model to use, prerequisite setup steps (including PGI library), and template configuration procedures. It is NOT for general case management, clinical program enrollment, or non-Health-Cloud task frameworks.
Gather this context before working on anything in this domain:
CarePlanTemplate__c records (legacy) or ActionPlanTemplate + ProblemDefinition records (ICM).Health Cloud has two architecturally distinct care plan models that cannot be used interchangeably.
Legacy Managed-Package Model uses CarePlanTemplate__c (a custom object in the HealthCloudGA namespace), with care plan tasks modeled as Case Tasks linked to the patient's case record. Configuration happens through Health Cloud Setup in the managed-package admin UI. Salesforce has explicitly stated this model receives no future investment and exists only for backward compatibility.
Integrated Care Management (ICM) Model was introduced in Spring '23. It is FHIR R4-aligned, uses platform-native standard objects (ActionPlanTemplate, ProblemDefinition, GoalDefinition, CareDiagnosis, CareObservation), and is the target of all new feature development. ICM care plans are not backed by cases — they are independent records linked directly to patient/member records. The ICM model supports interoperability with external clinical systems through the FHIR R4 data model.
The objects, setup steps, admin UI screens, and permission sets for these two models are entirely separate. Always confirm the architecture before giving configuration guidance.
The PGI (Problem/Goal/Intervention) library is a repository of standardized ProblemDefinition and GoalDefinition records that care plan templates reference. In ICM, an ActionPlanTemplate is a reusable care plan blueprint. For the template to attach standardized clinical problems and goals — rather than ad hoc free-text entries — those problems and goals must first exist as records in the PGI library.
PGI library setup involves:
ProblemDefinition records for each clinical condition the org manages (e.g., Type 2 Diabetes, Hypertension, COPD).GoalDefinition records for each clinical goal (e.g., HbA1c below 7%, Blood pressure below 130/80).ProblemGoalDefinition junction records.Without PGI library records, ActionPlanTemplate configurations cannot reference standardized clinical content — care coordinators will see empty problem and goal pickers.
An ActionPlanTemplate is the ICM equivalent of a care plan template. It defines the reusable structure: which problems, goals, and interventions (tasks) apply to a patient cohort with a given condition. ActionPlanTemplate is a standard Salesforce object (not a managed-package object), which means it follows standard object permissions, sharing rules, and Metadata API deployment patterns.
Key behaviors:
ActionPlanTemplate can reference multiple ProblemDefinition and GoalDefinition records from the PGI library.CarePlan record with associated CarePlanProblem, CarePlanGoal, and CarePlanActivity records.In the legacy model, CarePlanTemplate__c is a custom object in the HealthCloudGA managed package. Care plan tasks are modeled as Task records of type CarePlanTask, associated with the patient's Case record. Configuration is done through the Health Cloud Setup managed-package UI under "Care Plan Templates." This model does not support FHIR alignment, has no PGI library concept, and cannot reference standardized clinical terminology records.
When to use: Org is on Spring '23 or later, is either new to Health Cloud or ready to adopt ICM, and wants care plans aligned to FHIR R4 with future-proof architecture.
How it works:
HealthCloudICM permission set to care coordinator and care manager profiles.ProblemDefinition records for each clinical condition, GoalDefinition records for each clinical goal, and ProblemGoalDefinition junction records linking goals to problems.ActionPlanTemplate records for each care plan type (e.g., Diabetes Management, Post-Discharge). Set the template status to Draft while configuring.ActionPlanTemplateItem records to each template to define the intervention tasks (activities) with assignee roles and target durations.ProblemDefinition and GoalDefinition records from the PGI library to the template through the template's problem and goal association records.CarePlan.Why not the alternative: The legacy model requires Case-based care plans, which adds case management overhead, cannot align to FHIR R4, and will not receive new feature investment. New ICM implementations avoid inheriting that architectural debt.
When to use: Org already has production care plans running on the legacy model and cannot migrate immediately. A new care plan type is needed.
How it works:
CarePlanTemplate__c record with the template name and description.CarePlanTemplateTask__c records to define the tasks associated with the template, including task subject, due date offset (days from plan creation), and assignee role.Why not the alternative: Introducing ICM objects into an org still running the legacy model without a full migration plan creates a split architecture that care coordinators cannot navigate and that the standard Health Cloud UI does not reconcile.
| Situation | Recommended Approach | Reason |
|---|---|---|
| New Health Cloud implementation, Spring '23 or later | Use ICM model (ActionPlanTemplate + PGI library) | All future Salesforce investment targets ICM; FHIR R4 alignment enables interoperability |
| Existing legacy implementation, no immediate migration budget | Continue legacy model, plan ICM migration | Abruptly mixing models without migration creates split architecture and UX confusion |
| Org on Health Cloud package older than Spring '23 | Upgrade package, then implement ICM | ICM objects are not available on older package versions |
| Org needs FHIR R4 interoperability for care plans | ICM model only | Legacy model has no FHIR alignment; CarePlanTemplate__c is not exposed through the FHIR API |
| Temporary new care plan type during migration period | Add to legacy model with migration note | Avoids split architecture mid-migration; document for cutover |
Step-by-step instructions for an AI agent or practitioner working on this task:
CarePlanTemplate__c records (legacy indicator) and ActionPlanTemplate records (ICM indicator). Determine which model is active. Do not proceed with configuration guidance until the architecture is confirmed.HealthCloudICM permission set is assigned to relevant profiles. For legacy: confirm the HealthCloudGA package is installed and Care Plan Template admin UI is accessible.ActionPlanTemplate, populate ProblemDefinition, GoalDefinition, and ProblemGoalDefinition records. This is the most frequently skipped step and the most common cause of empty problem/goal pickers in ICM care plan templates.ActionPlanTemplate records in Draft status, add ActionPlanTemplateItem task records, and link PGI library entries. For legacy: create CarePlanTemplate__c and associated CarePlanTemplateTask__c records through the managed-package UI.CarePlanProblem, CarePlanGoal, and CarePlanActivity records are created. For legacy, confirm Case Tasks appear on the patient's case.ActionPlanTemplate status to Active. Document the template version and confirm template versioning behavior is understood before putting live care plans into production.Run through these before marking work in this area complete:
Non-obvious platform behaviors that cause real production problems:
PGI library omission breaks ICM template pickers silently — Creating an ActionPlanTemplate without first populating the PGI library does not produce an error. The template saves successfully, but when a care coordinator tries to add problems or goals, the picker is empty. There is no validation warning. Administrators frequently mistake this for a permission issue and spend time debugging the wrong thing.
Legacy CarePlanTemplate__c fields do not exist in ICM orgs — In orgs that have migrated to ICM or were provisioned for ICM from the start, CarePlanTemplate__c may not be present or may be an empty legacy table. Any SOQL queries, workflow rules, or formula fields referencing CarePlanTemplate__c fields — such as CarePlanTemplate__c.Description__c or CarePlanTemplate__c.TemplateName__c — will throw "No such column" errors. This is the most common breakage when applying legacy guidance to an ICM org.
ActionPlanTemplate versioning does not update in-flight CarePlans — Publishing a new version of an ActionPlanTemplate does not retroactively update CarePlan records that were instantiated from previous versions. In-flight care plans continue to use the task structure from the version that was active at the time of instantiation. Administrators expecting a template update to cascade to open care plans are surprised when nothing changes for existing patients.
ICM requires Health Cloud package version upgrade for Spring '23 features — Orgs that installed Health Cloud before Spring '23 must explicitly upgrade the managed package before ICM objects become available. The feature flag in Health Cloud Setup will not appear on older package versions. Upgrading the managed package in production requires a sandbox test cycle and a Salesforce support-coordinated upgrade window for some editions.
Care plan permission sets are model-specific and not interchangeable — The HealthCloudICM permission set (ICM model) and the HealthCloudCarePlan permission set (legacy model) grant different object access. Assigning the wrong permission set results in care coordinators who can see the care plan UI but cannot create, edit, or view records. Both sets may need to coexist temporarily in orgs mid-migration.
| Artifact | Description |
|---|---|
| PGI library records | ProblemDefinition, GoalDefinition, and ProblemGoalDefinition records in the ICM org that serve as the standardized clinical content library for all care plan templates |
| ActionPlanTemplate configuration | Active ICM care plan template with linked task items and PGI library associations, ready to instantiate CarePlan records against patient records |
| CarePlanTemplate__c configuration | Legacy care plan template with associated CarePlanTemplateTask__c records, configured through the HealthCloudGA managed-package admin UI |
| Permission set assignment matrix | Documentation of which permission sets (HealthCloudICM vs. HealthCloudCarePlan vs. HealthCloudFoundation) are required for each user profile in the org |
admin/health-cloud-patient-setup — Required prerequisite: Person Accounts, patient record types, and Health Cloud managed package must be in place before care plan configurationadmin/care-program-management — Care programs (clinical program enrollment) are distinct from care plans; this skill covers care plans only