HEARTLAND Protocol FHIR Implementation Guide
0.3.0 -
HEARTLAND FHIR candidate 0.3.0 — draft, experimental R4 4.0.1 reference. Prepared for technical review; not evidence of clinical validation or vendor interoperability.
| Official URL: https://fhir.heartlandprotocol.org/StructureDefinition/heartland-risk-assessment | Version: 0.3.0 | |||
| Draft as of 2026-09-29 | Computable Name: HeartlandRiskAssessment | |||
Heart failure risk stratification per the HEARTLAND Protocol v3.2 risk score. The score sums up to 18 points across ten weighted criteria and maps to three qualitative tiers: low (0-4), moderate (5-8), high (>=9). It is a non-validated implementation heuristic that assigns monitoring intensity; it does not predict an outcome and has not been validated against outcome data. For the complete Boolean capture contract use HeartlandRiskInputResponse. Legacy Observation and generic QuestionnaireResponse basis references remain allowed for compatibility; this profile alone does not validate their content or recompute the total. The tier travels in prediction.qualitativeRisk and the point total in the heartland-risk-score-total extension; probability[x] is prohibited, because a point count is not a likelihood of an outcome.
Usages:
You can also check for usages in the FHIR IG Statistics
Description of Profiles, Differentials, Snapshots, and their representations.
| Name | Flags | Card. | Type | Description & Constraints Filter: ![]() ![]() |
|---|---|---|---|---|
![]() |
0..* | RiskAssessment | Potential outcomes for a subject with likelihood | |
![]() ![]() |
?!Σ | 0..1 | uri | A set of rules under which this content was created |
![]() ![]() |
?! | 0..* | Extension | Extensions that cannot be ignored |
![]() ![]() |
SΣ | 1..1 | code | registered | preliminary | final | amended + Binding: ObservationStatus (required): The status of the risk assessment; e.g. preliminary, final, amended, etc. |
![]() ![]() |
SΣ | 1..1 | CodeableConcept | Evaluation mechanism Binding Description: (example): The mechanism or algorithm used to make the assessment; e.g. TIMI, PRISM, Cardiff Type 2 diabetes, etc. |
![]() ![]() ![]() |
Σ | 1..1 | string | Plain text representation of the concept Required Pattern: HEARTLAND Protocol v3.2 Risk Score |
![]() ![]() |
SΣ | 1..1 | Reference(HEARTLAND Patient | Patient) | Who/what does assessment apply to? |
![]() ![]() |
S | 1..* | Reference(QuestionnaireResponse | Observation) | Information used in assessment |
![]() ![]() |
SC | 1..1 | BackboneElement | Outcome predicted Constraints: ras-2 |
![]() ![]() ![]() |
0..* | Extension | Extension Slice: Unordered, Open by value:url | |
![]() ![]() ![]() ![]() |
S | 0..1 | integer | Total HEARTLAND risk score (0-18 heuristic points, not a probability) URL: https://fhir.heartlandprotocol.org/StructureDefinition/heartland-risk-score-total |
![]() ![]() ![]() |
?!Σ | 0..* | Extension | Extensions that cannot be ignored even if unrecognized |
![]() ![]() ![]() |
S | 1..1 | CodeableConcept | Likelihood of specified outcome as a qualitative value Binding: HEARTLAND Risk Tier Value Set (required) |
Documentation for this format | ||||
| Path | Status | Usage | ValueSet | Version | Source |
| RiskAssessment.status | Base | required | ObservationStatus | 📍4.0.1 | FHIR Std. |
| RiskAssessment.method | Base | example | Not State | Unknown | |
| RiskAssessment.prediction.qualitativeRisk | Base | required | HEARTLAND Risk Tier Value Set | 📦0.3.0 | This IG |
| Id | Grade | Path(s) | Description | Expression |
| Name | Flags | Card. | Type | Description & Constraints Filter: ![]() ![]() |
|---|---|---|---|---|
![]() |
0..* | RiskAssessment | Potential outcomes for a subject with likelihood | |
![]() ![]() |
S | 1..1 | code | registered | preliminary | final | amended + |
![]() ![]() |
S | 1..1 | CodeableConcept | Evaluation mechanism |
![]() ![]() ![]() |
1..1 | string | Plain text representation of the concept Required Pattern: HEARTLAND Protocol v3.2 Risk Score | |
![]() ![]() |
S | 1..1 | Reference(HEARTLAND Patient | Patient) | Who/what does assessment apply to? |
![]() ![]() |
S | 1..* | Reference(QuestionnaireResponse | Observation) | Information used in assessment |
![]() ![]() |
S | 1..1 | BackboneElement | Outcome predicted |
![]() ![]() ![]() |
0..* | Extension | Extension Slice: Unordered, Open by value:url | |
![]() ![]() ![]() ![]() |
S | 0..1 | integer | Total HEARTLAND risk score (0-18 heuristic points, not a probability) URL: https://fhir.heartlandprotocol.org/StructureDefinition/heartland-risk-score-total |
![]() ![]() ![]() |
0..0 | Likelihood of specified outcome | ||
![]() ![]() ![]() |
S | 1..1 | CodeableConcept | Likelihood of specified outcome as a qualitative value Binding: HEARTLAND Risk Tier Value Set (required) |
Documentation for this format | ||||
| Path | Status | Usage | ValueSet | Version | Source |
| RiskAssessment.prediction.qualitativeRisk | Base | required | HEARTLAND Risk Tier Value Set | 📦0.3.0 | This IG |
| Name | Flags | Card. | Type | Description & Constraints Filter: ![]() ![]() | ||||
|---|---|---|---|---|---|---|---|---|
![]() |
0..* | RiskAssessment | Potential outcomes for a subject with likelihood | |||||
![]() ![]() |
Σ | 0..1 | id | Logical id of this artifact | ||||
![]() ![]() |
Σ | 0..1 | Meta | Metadata about the resource | ||||
![]() ![]() |
?!Σ | 0..1 | uri | A set of rules under which this content was created | ||||
![]() ![]() |
0..1 | code | Language of the resource content Binding: CommonLanguages (preferred): A human language.
| |||||
![]() ![]() |
0..1 | Narrative | Text summary of the resource, for human interpretation This profile does not constrain the narrative in regard to content, language, or traceability to data elements | |||||
![]() ![]() |
0..* | Resource | Contained, inline Resources | |||||
![]() ![]() |
0..* | Extension | Additional content defined by implementations | |||||
![]() ![]() |
?! | 0..* | Extension | Extensions that cannot be ignored | ||||
![]() ![]() |
Σ | 0..* | Identifier | Unique identifier for the assessment | ||||
![]() ![]() |
0..1 | Reference(Resource) | Request fulfilled by this assessment | |||||
![]() ![]() |
0..1 | Reference(Resource) | Part of this occurrence | |||||
![]() ![]() |
SΣ | 1..1 | code | registered | preliminary | final | amended + Binding: ObservationStatus (required): The status of the risk assessment; e.g. preliminary, final, amended, etc. | ||||
![]() ![]() |
SΣ | 1..1 | CodeableConcept | Evaluation mechanism Binding Description: (example): The mechanism or algorithm used to make the assessment; e.g. TIMI, PRISM, Cardiff Type 2 diabetes, etc. | ||||
![]() ![]() ![]() |
0..1 | string | Unique id for inter-element referencing | |||||
![]() ![]() ![]() |
0..* | Extension | Additional content defined by implementations Slice: Unordered, Open by value:url | |||||
![]() ![]() ![]() |
Σ | 0..* | Coding | Code defined by a terminology system | ||||
![]() ![]() ![]() |
Σ | 1..1 | string | Plain text representation of the concept Required Pattern: HEARTLAND Protocol v3.2 Risk Score | ||||
![]() ![]() |
Σ | 0..1 | CodeableConcept | Type of assessment | ||||
![]() ![]() |
SΣ | 1..1 | Reference(HEARTLAND Patient | Patient) | Who/what does assessment apply to? | ||||
![]() ![]() |
Σ | 0..1 | Reference(Encounter) | Where was assessment performed? | ||||
![]() ![]() |
Σ | 0..1 | When was assessment made? | |||||
![]() ![]() ![]() |
dateTime | |||||||
![]() ![]() ![]() |
Period | |||||||
![]() ![]() |
Σ | 0..1 | Reference(Condition) | Condition assessed | ||||
![]() ![]() |
Σ | 0..1 | Reference(Practitioner | PractitionerRole | Device) | Who did assessment? | ||||
![]() ![]() |
0..* | CodeableConcept | Why the assessment was necessary? | |||||
![]() ![]() |
0..* | Reference(Condition | Observation | DiagnosticReport | DocumentReference) | Why the assessment was necessary? | |||||
![]() ![]() |
S | 1..* | Reference(QuestionnaireResponse | Observation) | Information used in assessment | ||||
![]() ![]() |
SC | 1..1 | BackboneElement | Outcome predicted Constraints: ras-2 | ||||
![]() ![]() ![]() |
0..1 | string | Unique id for inter-element referencing | |||||
![]() ![]() ![]() |
0..* | Extension | Extension Slice: Unordered, Open by value:url | |||||
![]() ![]() ![]() ![]() |
S | 0..1 | integer | Total HEARTLAND risk score (0-18 heuristic points, not a probability) URL: https://fhir.heartlandprotocol.org/StructureDefinition/heartland-risk-score-total | ||||
![]() ![]() ![]() |
?!Σ | 0..* | Extension | Extensions that cannot be ignored even if unrecognized | ||||
![]() ![]() ![]() |
0..1 | CodeableConcept | Possible outcome for the subject Binding Description: (example): The condition or other outcome; e.g. death, remission, amputation, infection, etc. | |||||
![]() ![]() ![]() |
S | 1..1 | CodeableConcept | Likelihood of specified outcome as a qualitative value Binding: HEARTLAND Risk Tier Value Set (required) | ||||
![]() ![]() ![]() |
0..1 | decimal | Relative likelihood | |||||
![]() ![]() ![]() |
0..1 | Timeframe or age range | ||||||
![]() ![]() ![]() ![]() |
Period | |||||||
![]() ![]() ![]() ![]() |
Range | |||||||
![]() ![]() ![]() |
0..1 | string | Explanation of prediction | |||||
![]() ![]() |
0..1 | string | How to reduce risk | |||||
![]() ![]() |
0..* | Annotation | Comments on the risk assessment | |||||
Documentation for this format | ||||||||
| Path | Status | Usage | ValueSet | Version | Source |
| RiskAssessment.language | Base | preferred | Common Languages | 📍4.0.1 | FHIR Std. |
| RiskAssessment.status | Base | required | ObservationStatus | 📍4.0.1 | FHIR Std. |
| RiskAssessment.method | Base | example | Not State | Unknown | |
| RiskAssessment.prediction.outcome | Base | example | Not State | Unknown | |
| RiskAssessment.prediction.qualitativeRisk | Base | required | HEARTLAND Risk Tier Value Set | 📦0.3.0 | This IG |
| Id | Grade | Path(s) | Description | Expression |
Key Elements View
| Name | Flags | Card. | Type | Description & Constraints Filter: ![]() ![]() |
|---|---|---|---|---|
![]() |
0..* | RiskAssessment | Potential outcomes for a subject with likelihood | |
![]() ![]() |
?!Σ | 0..1 | uri | A set of rules under which this content was created |
![]() ![]() |
?! | 0..* | Extension | Extensions that cannot be ignored |
![]() ![]() |
SΣ | 1..1 | code | registered | preliminary | final | amended + Binding: ObservationStatus (required): The status of the risk assessment; e.g. preliminary, final, amended, etc. |
![]() ![]() |
SΣ | 1..1 | CodeableConcept | Evaluation mechanism Binding Description: (example): The mechanism or algorithm used to make the assessment; e.g. TIMI, PRISM, Cardiff Type 2 diabetes, etc. |
![]() ![]() ![]() |
Σ | 1..1 | string | Plain text representation of the concept Required Pattern: HEARTLAND Protocol v3.2 Risk Score |
![]() ![]() |
SΣ | 1..1 | Reference(HEARTLAND Patient | Patient) | Who/what does assessment apply to? |
![]() ![]() |
S | 1..* | Reference(QuestionnaireResponse | Observation) | Information used in assessment |
![]() ![]() |
SC | 1..1 | BackboneElement | Outcome predicted Constraints: ras-2 |
![]() ![]() ![]() |
0..* | Extension | Extension Slice: Unordered, Open by value:url | |
![]() ![]() ![]() ![]() |
S | 0..1 | integer | Total HEARTLAND risk score (0-18 heuristic points, not a probability) URL: https://fhir.heartlandprotocol.org/StructureDefinition/heartland-risk-score-total |
![]() ![]() ![]() |
?!Σ | 0..* | Extension | Extensions that cannot be ignored even if unrecognized |
![]() ![]() ![]() |
S | 1..1 | CodeableConcept | Likelihood of specified outcome as a qualitative value Binding: HEARTLAND Risk Tier Value Set (required) |
Documentation for this format | ||||
| Path | Status | Usage | ValueSet | Version | Source |
| RiskAssessment.status | Base | required | ObservationStatus | 📍4.0.1 | FHIR Std. |
| RiskAssessment.method | Base | example | Not State | Unknown | |
| RiskAssessment.prediction.qualitativeRisk | Base | required | HEARTLAND Risk Tier Value Set | 📦0.3.0 | This IG |
| Id | Grade | Path(s) | Description | Expression |
Differential View
| Name | Flags | Card. | Type | Description & Constraints Filter: ![]() ![]() |
|---|---|---|---|---|
![]() |
0..* | RiskAssessment | Potential outcomes for a subject with likelihood | |
![]() ![]() |
S | 1..1 | code | registered | preliminary | final | amended + |
![]() ![]() |
S | 1..1 | CodeableConcept | Evaluation mechanism |
![]() ![]() ![]() |
1..1 | string | Plain text representation of the concept Required Pattern: HEARTLAND Protocol v3.2 Risk Score | |
![]() ![]() |
S | 1..1 | Reference(HEARTLAND Patient | Patient) | Who/what does assessment apply to? |
![]() ![]() |
S | 1..* | Reference(QuestionnaireResponse | Observation) | Information used in assessment |
![]() ![]() |
S | 1..1 | BackboneElement | Outcome predicted |
![]() ![]() ![]() |
0..* | Extension | Extension Slice: Unordered, Open by value:url | |
![]() ![]() ![]() ![]() |
S | 0..1 | integer | Total HEARTLAND risk score (0-18 heuristic points, not a probability) URL: https://fhir.heartlandprotocol.org/StructureDefinition/heartland-risk-score-total |
![]() ![]() ![]() |
0..0 | Likelihood of specified outcome | ||
![]() ![]() ![]() |
S | 1..1 | CodeableConcept | Likelihood of specified outcome as a qualitative value Binding: HEARTLAND Risk Tier Value Set (required) |
Documentation for this format | ||||
| Path | Status | Usage | ValueSet | Version | Source |
| RiskAssessment.prediction.qualitativeRisk | Base | required | HEARTLAND Risk Tier Value Set | 📦0.3.0 | This IG |
Snapshot ViewView
| Name | Flags | Card. | Type | Description & Constraints Filter: ![]() ![]() | ||||
|---|---|---|---|---|---|---|---|---|
![]() |
0..* | RiskAssessment | Potential outcomes for a subject with likelihood | |||||
![]() ![]() |
Σ | 0..1 | id | Logical id of this artifact | ||||
![]() ![]() |
Σ | 0..1 | Meta | Metadata about the resource | ||||
![]() ![]() |
?!Σ | 0..1 | uri | A set of rules under which this content was created | ||||
![]() ![]() |
0..1 | code | Language of the resource content Binding: CommonLanguages (preferred): A human language.
| |||||
![]() ![]() |
0..1 | Narrative | Text summary of the resource, for human interpretation This profile does not constrain the narrative in regard to content, language, or traceability to data elements | |||||
![]() ![]() |
0..* | Resource | Contained, inline Resources | |||||
![]() ![]() |
0..* | Extension | Additional content defined by implementations | |||||
![]() ![]() |
?! | 0..* | Extension | Extensions that cannot be ignored | ||||
![]() ![]() |
Σ | 0..* | Identifier | Unique identifier for the assessment | ||||
![]() ![]() |
0..1 | Reference(Resource) | Request fulfilled by this assessment | |||||
![]() ![]() |
0..1 | Reference(Resource) | Part of this occurrence | |||||
![]() ![]() |
SΣ | 1..1 | code | registered | preliminary | final | amended + Binding: ObservationStatus (required): The status of the risk assessment; e.g. preliminary, final, amended, etc. | ||||
![]() ![]() |
SΣ | 1..1 | CodeableConcept | Evaluation mechanism Binding Description: (example): The mechanism or algorithm used to make the assessment; e.g. TIMI, PRISM, Cardiff Type 2 diabetes, etc. | ||||
![]() ![]() ![]() |
0..1 | string | Unique id for inter-element referencing | |||||
![]() ![]() ![]() |
0..* | Extension | Additional content defined by implementations Slice: Unordered, Open by value:url | |||||
![]() ![]() ![]() |
Σ | 0..* | Coding | Code defined by a terminology system | ||||
![]() ![]() ![]() |
Σ | 1..1 | string | Plain text representation of the concept Required Pattern: HEARTLAND Protocol v3.2 Risk Score | ||||
![]() ![]() |
Σ | 0..1 | CodeableConcept | Type of assessment | ||||
![]() ![]() |
SΣ | 1..1 | Reference(HEARTLAND Patient | Patient) | Who/what does assessment apply to? | ||||
![]() ![]() |
Σ | 0..1 | Reference(Encounter) | Where was assessment performed? | ||||
![]() ![]() |
Σ | 0..1 | When was assessment made? | |||||
![]() ![]() ![]() |
dateTime | |||||||
![]() ![]() ![]() |
Period | |||||||
![]() ![]() |
Σ | 0..1 | Reference(Condition) | Condition assessed | ||||
![]() ![]() |
Σ | 0..1 | Reference(Practitioner | PractitionerRole | Device) | Who did assessment? | ||||
![]() ![]() |
0..* | CodeableConcept | Why the assessment was necessary? | |||||
![]() ![]() |
0..* | Reference(Condition | Observation | DiagnosticReport | DocumentReference) | Why the assessment was necessary? | |||||
![]() ![]() |
S | 1..* | Reference(QuestionnaireResponse | Observation) | Information used in assessment | ||||
![]() ![]() |
SC | 1..1 | BackboneElement | Outcome predicted Constraints: ras-2 | ||||
![]() ![]() ![]() |
0..1 | string | Unique id for inter-element referencing | |||||
![]() ![]() ![]() |
0..* | Extension | Extension Slice: Unordered, Open by value:url | |||||
![]() ![]() ![]() ![]() |
S | 0..1 | integer | Total HEARTLAND risk score (0-18 heuristic points, not a probability) URL: https://fhir.heartlandprotocol.org/StructureDefinition/heartland-risk-score-total | ||||
![]() ![]() ![]() |
?!Σ | 0..* | Extension | Extensions that cannot be ignored even if unrecognized | ||||
![]() ![]() ![]() |
0..1 | CodeableConcept | Possible outcome for the subject Binding Description: (example): The condition or other outcome; e.g. death, remission, amputation, infection, etc. | |||||
![]() ![]() ![]() |
S | 1..1 | CodeableConcept | Likelihood of specified outcome as a qualitative value Binding: HEARTLAND Risk Tier Value Set (required) | ||||
![]() ![]() ![]() |
0..1 | decimal | Relative likelihood | |||||
![]() ![]() ![]() |
0..1 | Timeframe or age range | ||||||
![]() ![]() ![]() ![]() |
Period | |||||||
![]() ![]() ![]() ![]() |
Range | |||||||
![]() ![]() ![]() |
0..1 | string | Explanation of prediction | |||||
![]() ![]() |
0..1 | string | How to reduce risk | |||||
![]() ![]() |
0..* | Annotation | Comments on the risk assessment | |||||
Documentation for this format | ||||||||
| Path | Status | Usage | ValueSet | Version | Source |
| RiskAssessment.language | Base | preferred | Common Languages | 📍4.0.1 | FHIR Std. |
| RiskAssessment.status | Base | required | ObservationStatus | 📍4.0.1 | FHIR Std. |
| RiskAssessment.method | Base | example | Not State | Unknown | |
| RiskAssessment.prediction.outcome | Base | example | Not State | Unknown | |
| RiskAssessment.prediction.qualitativeRisk | Base | required | HEARTLAND Risk Tier Value Set | 📦0.3.0 | This IG |
| Id | Grade | Path(s) | Description | Expression |
Other representations of profile: CSV, Excel, Schematron