Risk Assessment Profile¶
| Canonical | ../StructureDefinition/nexus-emr-core-riskassessment |
|---|---|
| Status | draft (experimental) · 1.26.0 |
| Base | RiskAssessment (constraint) |
| Source | FSH · JSON |
Nexus EMR profile for RiskAssessment -- computed clinical risk scores. First pass: status, method, predictions (outcome + probability + qualitative band), basis. Closed to SMART apps pending an exposure decision.
TypedFhir API / Pydantic schema
The typed accessor surface RiskAssessment exposes for RiskAssessment — 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 RiskAssessmentSchema — model_json_schema() is a structured-output / tool definition; instantiating validates an extraction. Generated source.
class RiskAssessmentSchema(BaseModel):
"""AI-facing shape of the RiskAssessment 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[
"amended",
"cancelled",
"corrected",
"entered-in-error",
"final",
"preliminary",
"registered",
"unknown",
] | None = Field(
None,
description=(
"registered | preliminary | final | amended | ... | entered-in-error. The status of "
"the RiskAssessment, using the same statuses as an Observation. RiskAssessment.status "
"— 1..1"
),
)
method: Concept | None = Field(
None,
description=(
"Which score was computed (text-first until a method vocabulary settles). The "
"algorithm, process or mechanism used to evaluate the risk. RiskAssessment.method — "
"0..1"
),
)
subject: Reference | None = Field(
None,
description=(
"The patient. The patient or group the risk assessment applies to. "
"RiskAssessment.subject — 1..1"
),
)
condition: Reference | None = Field(
None,
description=(
"The condition the assessment is about, when there is one. For assessments or "
"prognosis specific to a particular condition, indicates the condition being "
"assessed. RiskAssessment.condition — 0..1"
),
)
basis: Reference | None = Field(
None,
description=(
"What went into the calculation (the Observations/Conditions used). Indicates the "
"source data considered as part of the assessment (for example, FamilyHistory, "
"Observations, Procedures, Conditions, etc.). RiskAssessment.basis — 0..*"
),
)
prediction: dict | None = Field(
None,
description=(
"The score itself: outcome + probability + qualitative band. Describes the expected "
"outcome for the subject. Note: Multiple repetitions can be used to identify the same "
"type of outcome in different timeframes as well as different types of outcomes. "
"RiskAssessment.prediction — 0..*"
),
)