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.
TypedFhir API / Pydantic schema
The typed accessor surface CarePlan exposes for CarePlan — generated from this IG's compiled profile; each typed accessor has a validating raw-FHIR twin (xRaw) where marked. The three ports are parity-enforced.
The AI-facing shape: from typed_fhir.facade.generated.schemas import CarePlanSchema — model_json_schema() is a structured-output / tool definition; instantiating validates an extraction. Generated source.
class CarePlanSchema(BaseModel):
"""AI-facing shape of the CarePlan profile: the facade's typed accessor
surface (curated + salient fields) as a pydantic model. `model_json_schema()` is a
structured-output / tool schema; instantiating validates an extraction."""
model_config = ConfigDict(extra="forbid")
status: Literal[
"active",
"completed",
"draft",
"entered-in-error",
"on-hold",
"revoked",
"unknown",
] | None = Field(
None,
description=(
"draft | active | on-hold | revoked | completed | entered-in-error | unknown. "
"Indicates whether the plan is currently being acted upon, represents future "
"intentions or is now a historical record. Note: 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. CarePlan.status — 1..1"
),
)
intent: Literal["option", "order", "plan", "proposal"] | None = Field(
None,
description=(
"proposal | plan | order | option -- normally `plan`. Indicates the level of "
"authority/intentionality associated with the care plan and where the care plan fits "
"into the workflow chain. Note: This element is labeled as a modifier because the "
"intent alters when and how the resource is actually applicable. CarePlan.intent — "
"1..1"
),
)
category: Concept | None = Field(
None,
description=(
"What kind of plan (e.g. the managed condition's domain). Identifies what \"kind\" of "
"plan this is to support differentiation between multiple co-existing plans; e.g. "
"\"Home health\", \"psychiatric\", \"asthma\", \"disease management\", \"wellness plan\", etc. "
"Note: There may be multiple axes of categorization and one plan may serve multiple "
"purposes. In some cases, this may be redundant with references to CarePlan.concern. "
"CarePlan.category — 0..*"
),
)
subject: Reference | None = Field(
None,
description=(
"The patient. Identifies the patient or group whose intended care is described by the "
"plan. CarePlan.subject — 1..1"
),
)
period: dict | None = Field(
None,
description=(
"When the plan is/was in effect. Indicates when the plan did (or is intended to) come "
"into effect and end. Note: Any activities scheduled as part of the plan should be "
"constrained to the specified period regardless of whether the activities are planned "
"within a single encounter/episode or across multiple encounters/episodes (e.g. the "
"longitudinal management of a chronic condition). CarePlan.period — 0..1"
),
)
addresses: Reference | None = Field(
None,
description=(
"The condition(s) being managed. Identifies the "
"conditions/problems/concerns/diagnoses/etc. whose management and/or mitigation are "
"handled by this plan. Note: When the diagnosis is related to an allergy or "
"intolerance, the Condition and AllergyIntolerance resources can both be used. "
"However, to be actionable for decision support, using Condition alone is not "
"sufficient as the allergy or intolerance condition needs to be represented as an "
"AllergyIntolerance. CarePlan.addresses — 0..*"
),
)
goal: Reference | None = Field(
None,
description=(
"The measurable targets (flowsheet rows) of this plan. Describes the intended "
"objective(s) of carrying out the care plan. Note: Goal can be achieving a particular "
"change or merely maintaining a current state or even slowing a decline. "
"CarePlan.goal — 0..*"
),
)
activity: dict | None = Field(
None,
description=(
"Planned activities: a reference to a request resource, or an inline detail. "
"Identifies a planned action to occur as part of the plan. For example, a medication "
"to be used, lab tests to perform, self-monitoring, education, etc. CarePlan.activity "
"— 0..*"
),
)