Care Plan Profile¶
| Canonical | ../StructureDefinition/nexus-emr-core-careplan |
|---|---|
| Status | draft (experimental) · 1.26.0 |
| Base | CarePlan (constraint) |
| Source | FSH · JSON |
Nexus EMR profile for CarePlan -- the management plan tying goals, conditions and activities together (CDM flowsheets, care gaps). First pass: status/intent, category, goal/addresses linkage, minimal activity. Closed to SMART apps pending an exposure decision.
FSH
The authored source of truth: resources/StructureDefinition-nexus-emr-core-careplan.fsh (edit on GitHub). One FSH file may define several related artifacts.
// NexusEmrCoreCarePlan.fsh
// FIRST PASS (FHIR-29). The plan tying goals, conditions and activities together.
//
// CONSUMER + THE INVERSE GAP: the seed corpus has been emitting CarePlans (the Synthea GMF
// progression expresses ongoing management as care plans) with NO profile behind them -- the
// exact no-model-but-generated gap the bidirectional coverage check now catches; this profile
// resolves it by PROFILING rather than un-emitting (the 2026-08-10 ruling). The CDM
// flowsheet/care-gap work (SD-242) is the forward consumer: a flowsheet is Goal targets +
// CarePlan structure over the chronic Conditions. CarePlan also already holds granted SMART
// scopes with no profile (the Appendix-A mismatch class) -- the profile closes that hole from
// the IG side without opening exposure.
//
// FIRST-PASS SCOPE: status/intent, category, subject, goal + addresses linkage, minimal
// activity (reference OR detail with code/status). Deliberately NOT settled: care-team
// linkage, activity scheduling richness, and the protocol (instantiates*) surface.
//
// SMART EXPOSURE: deliberately NOT declared -- closed to apps pending a decision (FHIR-28
// policy; note the gateway's scope map currently grants CarePlan scopes, which is the
// Appendix-A cleanup's problem, not this profile's).
Alias: $NexusEmrCoreCarePlan = ../StructureDefinition/nexus-emr-core-careplan
Profile: NexusEmrCoreCarePlan
Parent: CarePlan
Id: nexus-emr-core-careplan
Title: "Care Plan Profile"
Description: "Nexus EMR profile for CarePlan -- the management plan tying goals, conditions and activities together (CDM flowsheets, care gaps). First pass: status/intent, category, goal/addresses linkage, minimal activity. Closed to SMART apps pending an exposure decision."
* ^url = $NexusEmrCoreCarePlan
* ^status = #draft
* insert NoResourceNoteExtension
* ^experimental = true
* insert EffectiveDate([[period.start | created]])
* . ^short = "Nexus EMR Care Plan Core"
* status 1..1 MS
* status ^short = "draft | active | on-hold | revoked | completed | entered-in-error | unknown"
* status ^comment = "This is a modifier element. A draft plan that is being SUGGESTED rides in the transaction Bundle contained in its review Task, like every other suggested resource."
* intent 1..1 MS
* intent ^short = "proposal | plan | order | option -- normally `plan`"
* category 0..* MS
* category ^short = "What kind of plan (e.g. the managed condition's domain)"
* subject 1..1 MS
* subject only Reference(NexusEmrCorePatient)
* subject ^short = "The patient"
* period 0..1 MS
* period ^short = "When the plan is/was in effect"
* addresses 0..* MS
* addresses only Reference(NexusEmrCoreCondition)
* addresses ^short = "The condition(s) being managed"
* goal 0..* MS
* goal only Reference(NexusEmrCoreGoal)
* goal ^short = "The measurable targets (flowsheet rows) of this plan"
* activity 0..* MS
* activity ^short = "Planned activities: a reference to a request resource, or an inline detail"
* activity.reference 0..1 MS
* activity.reference ^short = "The planned action as its own resource (ServiceRequest, MedicationRequest, Appointment, Task)"
* activity.detail 0..1 MS
* activity.detail ^short = "Inline activity when no request resource exists"
* activity.detail.code 0..1 MS
* activity.detail.status 1..1 MS
* activity.detail.status ^short = "not-started | scheduled | in-progress | on-hold | completed | cancelled | stopped | unknown | entered-in-error"