This page is part of the FHIR Specification v4.1.0: R4B Ballot. About the R4B version of FHIR. The current version which supercedes this version is 5.0.0. For a full list of available versions, see the Directory of published versions . Page versions: R5 R4B R4 R3 R2
Clinical Decision Support Work Group | Maturity Level: 1 | Trial Use | Security Category: Patient | Compartments: Device, Patient, Practitioner |
An assessment of the likely outcome(s) for a patient or other subject as well as the likelihood of each outcome.
This resource is an event resource from a FHIR workflow perspective - see Workflow, specifically Event.
This resource captures predicted outcomes for a patient or population on the basis of source information. Examples include:
This resource can be used to represent the results of formal scoring/decision support tools that evaluate risk. It can also be used to capture a practitioner's subjective assessment of the patient's risk based on existing knowledge and previous experience.
Risk assessments are a specialized type of observation. A specialized resource is used to provide a simpler mechanism to capture of a series of risks and to associate those risks with time-ranges, probabilities, etc. All risk assertions are captured at one time based on a single set of source inputs. Capture of a single risk MAY be done using the Observation class, particularly in circumstances where it's treated as a generic observation, but for consistency, all risk assessments and prognosis SHOULD be captured using RiskAssessment.
Risk assessments may be based on a variety of factors, including:
Because so many resources can potentially be used, no limit is placed on what resources can be sent in RiskAssessment.basis
. However, some resources would be nonsensical for this use (e.g. MessageHeader).
AllergyIntolerance and RiskAssessment
AllergyIntolerance describes a specific type of risk - propensity to reaction to a substance while RiskAssessment describes general risks to a subject, not generally based on a reaction.
Risk Assessments can be determined manually by health-care providers based on their professional expertise, by using an algorithmic scoring system or through a combination. Risk assessments can also be computed by decision support systems. OperationDefinitions may be defined by servers to generate risk assessments based on particular combinations of source resources or other inputs.
This resource is referenced by ClinicalImpression and Goal.
This resource implements the Event pattern.
Structure
Name | Flags | Card. | Type | Description & Constraints |
---|---|---|---|---|
RiskAssessment | TU | DomainResource | Potential outcomes for a subject with likelihood Elements defined in Ancestors: id, meta, implicitRules, language, text, contained, extension, modifierExtension | |
identifier | Σ | 0..* | Identifier | Unique identifier for the assessment |
basedOn | 0..1 | Reference(Any) | Request fulfilled by this assessment | |
parent | 0..1 | Reference(Any) | Part of this occurrence | |
status | Σ | 1..1 | code | registered | preliminary | final | amended + ObservationStatus (Required) |
method | Σ | 0..1 | CodeableConcept | Evaluation mechanism RiskAssessmentMethod (Example) |
code | Σ | 0..1 | CodeableConcept | Type of assessment |
subject | Σ | 1..1 | Reference(Patient | Group) | Who/what does assessment apply to? |
encounter | Σ | 0..1 | Reference(Encounter) | Where was assessment performed? |
occurrence[x] | Σ | 0..1 | When was assessment made? | |
occurrenceDateTime | dateTime | |||
occurrencePeriod | Period | |||
condition | Σ | 0..1 | Reference(Condition) | Condition assessed |
performer | Σ | 0..1 | Reference(Practitioner | PractitionerRole | Device) | Who did assessment? |
reasonCode | 0..* | CodeableConcept | Why the assessment was necessary? | |
reasonReference | 0..* | Reference(Condition | Observation | DiagnosticReport | DocumentReference) | Why the assessment was necessary? | |
basis | 0..* | Reference(Any) | Information used in assessment | |
prediction | I | 0..* | BackboneElement | Outcome predicted + Rule: Must be <= 100 |
outcome | 0..1 | CodeableConcept | Possible outcome for the subject RiskAssessmentOutcome (Example) | |
probability[x] | I | 0..1 | Likelihood of specified outcome + Rule: low and high must be percentages, if present | |
probabilityDecimal | decimal | |||
probabilityRange | Range | |||
qualitativeRisk | 0..1 | CodeableConcept | Likelihood of specified outcome as a qualitative value Risk Probability (Example) | |
relativeRisk | 0..1 | decimal | Relative likelihood | |
when[x] | 0..1 | Timeframe or age range | ||
whenPeriod | Period | |||
whenRange | Range | |||
rationale | 0..1 | string | Explanation of prediction | |
mitigation | 0..1 | string | How to reduce risk | |
note | 0..* | Annotation | Comments on the risk assessment | |
Documentation for this format |
UML Diagram (Legend)
XML Template
<RiskAssessment xmlns="http://hl7.org/fhir"> <!-- from Resource: id, meta, implicitRules, and language --> <!-- from DomainResource: text, contained, extension, and modifierExtension --> <identifier><!-- 0..* Identifier Unique identifier for the assessment --></identifier> <basedOn><!-- 0..1 Reference(Any) Request fulfilled by this assessment --></basedOn> <parent><!-- 0..1 Reference(Any) Part of this occurrence --></parent> <status value="[code]"/><!-- 1..1 registered | preliminary | final | amended + --> <method><!-- 0..1 CodeableConcept Evaluation mechanism --></method> <code><!-- 0..1 CodeableConcept Type of assessment --></code> <subject><!-- 1..1 Reference(Group|Patient) Who/what does assessment apply to? --></subject> <encounter><!-- 0..1 Reference(Encounter) Where was assessment performed? --></encounter> <occurrence[x]><!-- 0..1 dateTime|Period When was assessment made? --></occurrence[x]> <condition><!-- 0..1 Reference(Condition) Condition assessed --></condition> <performer><!-- 0..1 Reference(Device|Practitioner|PractitionerRole) Who did assessment? --></performer> <reasonCode><!-- 0..* CodeableConcept Why the assessment was necessary? --></reasonCode> <reasonReference><!-- 0..* Reference(Condition|DiagnosticReport| DocumentReference|Observation) Why the assessment was necessary? --></reasonReference> <basis><!-- 0..* Reference(Any) Information used in assessment --></basis> <prediction> <!-- 0..* Outcome predicted --> <outcome><!-- 0..1 CodeableConcept Possible outcome for the subject --></outcome> <probability[x]><!-- 0..1 decimal|Range Likelihood of specified outcome --></probability[x]> <qualitativeRisk><!-- 0..1 CodeableConcept Likelihood of specified outcome as a qualitative value --></qualitativeRisk> <relativeRisk value="[decimal]"/><!-- 0..1 Relative likelihood --> <when[x]><!-- 0..1 Period|Range Timeframe or age range --></when[x]> <rationale value="[string]"/><!-- 0..1 Explanation of prediction --> </prediction> <mitigation value="[string]"/><!-- 0..1 How to reduce risk --> <note><!-- 0..* Annotation Comments on the risk assessment --></note> </RiskAssessment>
JSON Template
{ "resourceType" : "RiskAssessment", // from Resource: id, meta, implicitRules, and language // from DomainResource: text, contained, extension, and modifierExtension "identifier" : [{ Identifier }], // Unique identifier for the assessment "basedOn" : { Reference(Any) }, // Request fulfilled by this assessment "parent" : { Reference(Any) }, // Part of this occurrence "status" : "<code>", // R! registered | preliminary | final | amended + "method" : { CodeableConcept }, // Evaluation mechanism "code" : { CodeableConcept }, // Type of assessment "subject" : { Reference(Group|Patient) }, // R! Who/what does assessment apply to? "encounter" : { Reference(Encounter) }, // Where was assessment performed? // occurrence[x]: When was assessment made?. One of these 2: "occurrenceDateTime" : "<dateTime>", "occurrencePeriod" : { Period }, "condition" : { Reference(Condition) }, // Condition assessed "performer" : { Reference(Device|Practitioner|PractitionerRole) }, // Who did assessment? "reasonCode" : [{ CodeableConcept }], // Why the assessment was necessary? "reasonReference" : [{ Reference(Condition|DiagnosticReport| DocumentReference|Observation) }], // Why the assessment was necessary? "basis" : [{ Reference(Any) }], // Information used in assessment "prediction" : [{ // Outcome predicted "outcome" : { CodeableConcept }, // Possible outcome for the subject // probability[x]: Likelihood of specified outcome. One of these 2: "probabilityDecimal" : <decimal>, "probabilityRange" : { Range }, "qualitativeRisk" : { CodeableConcept }, // Likelihood of specified outcome as a qualitative value "relativeRisk" : <decimal>, // Relative likelihood // when[x]: Timeframe or age range. One of these 2: "whenPeriod" : { Period }, "whenRange" : { Range }, "rationale" : "<string>" // Explanation of prediction }], "mitigation" : "<string>", // How to reduce risk "note" : [{ Annotation }] // Comments on the risk assessment }
Turtle Template
@prefix fhir: <http://hl7.org/fhir/> . [ a fhir:RiskAssessment; fhir:nodeRole fhir:treeRoot; # if this is the parser root # from Resource: .id, .meta, .implicitRules, and .language # from DomainResource: .text, .contained, .extension, and .modifierExtension fhir:RiskAssessment.identifier [ Identifier ], ... ; # 0..* Unique identifier for the assessment fhir:RiskAssessment.basedOn [ Reference(Any) ]; # 0..1 Request fulfilled by this assessment fhir:RiskAssessment.parent [ Reference(Any) ]; # 0..1 Part of this occurrence fhir:RiskAssessment.status [ code ]; # 1..1 registered | preliminary | final | amended + fhir:RiskAssessment.method [ CodeableConcept ]; # 0..1 Evaluation mechanism fhir:RiskAssessment.code [ CodeableConcept ]; # 0..1 Type of assessment fhir:RiskAssessment.subject [ Reference(Group|Patient) ]; # 1..1 Who/what does assessment apply to? fhir:RiskAssessment.encounter [ Reference(Encounter) ]; # 0..1 Where was assessment performed? # RiskAssessment.occurrence[x] : 0..1 When was assessment made?. One of these 2 fhir:RiskAssessment.occurrenceDateTime [ dateTime ] fhir:RiskAssessment.occurrencePeriod [ Period ] fhir:RiskAssessment.condition [ Reference(Condition) ]; # 0..1 Condition assessed fhir:RiskAssessment.performer [ Reference(Device|Practitioner|PractitionerRole) ]; # 0..1 Who did assessment? fhir:RiskAssessment.reasonCode [ CodeableConcept ], ... ; # 0..* Why the assessment was necessary? fhir:RiskAssessment.reasonReference [ Reference(Condition|DiagnosticReport|DocumentReference|Observation) ], ... ; # 0..* Why the assessment was necessary? fhir:RiskAssessment.basis [ Reference(Any) ], ... ; # 0..* Information used in assessment fhir:RiskAssessment.prediction [ # 0..* Outcome predicted fhir:RiskAssessment.prediction.outcome [ CodeableConcept ]; # 0..1 Possible outcome for the subject # RiskAssessment.prediction.probability[x] : 0..1 Likelihood of specified outcome. One of these 2 fhir:RiskAssessment.prediction.probabilityDecimal [ decimal ] fhir:RiskAssessment.prediction.probabilityRange [ Range ] fhir:RiskAssessment.prediction.qualitativeRisk [ CodeableConcept ]; # 0..1 Likelihood of specified outcome as a qualitative value fhir:RiskAssessment.prediction.relativeRisk [ decimal ]; # 0..1 Relative likelihood # RiskAssessment.prediction.when[x] : 0..1 Timeframe or age range. One of these 2 fhir:RiskAssessment.prediction.whenPeriod [ Period ] fhir:RiskAssessment.prediction.whenRange [ Range ] fhir:RiskAssessment.prediction.rationale [ string ]; # 0..1 Explanation of prediction ], ...; fhir:RiskAssessment.mitigation [ string ]; # 0..1 How to reduce risk fhir:RiskAssessment.note [ Annotation ], ... ; # 0..* Comments on the risk assessment ]
Changes since R3
RiskAssessment | |
RiskAssessment.status |
|
See the Full Difference for further information
This analysis is available as XML or JSON.
See R3 <--> R4 Conversion Maps (status = 4 tests that all execute ok. All tests pass round-trip testing and 3 r3 resources are invalid (0 errors).)
Structure
Name | Flags | Card. | Type | Description & Constraints |
---|---|---|---|---|
RiskAssessment | TU | DomainResource | Potential outcomes for a subject with likelihood Elements defined in Ancestors: id, meta, implicitRules, language, text, contained, extension, modifierExtension | |
identifier | Σ | 0..* | Identifier | Unique identifier for the assessment |
basedOn | 0..1 | Reference(Any) | Request fulfilled by this assessment | |
parent | 0..1 | Reference(Any) | Part of this occurrence | |
status | Σ | 1..1 | code | registered | preliminary | final | amended + ObservationStatus (Required) |
method | Σ | 0..1 | CodeableConcept | Evaluation mechanism RiskAssessmentMethod (Example) |
code | Σ | 0..1 | CodeableConcept | Type of assessment |
subject | Σ | 1..1 | Reference(Patient | Group) | Who/what does assessment apply to? |
encounter | Σ | 0..1 | Reference(Encounter) | Where was assessment performed? |
occurrence[x] | Σ | 0..1 | When was assessment made? | |
occurrenceDateTime | dateTime | |||
occurrencePeriod | Period | |||
condition | Σ | 0..1 | Reference(Condition) | Condition assessed |
performer | Σ | 0..1 | Reference(Practitioner | PractitionerRole | Device) | Who did assessment? |
reasonCode | 0..* | CodeableConcept | Why the assessment was necessary? | |
reasonReference | 0..* | Reference(Condition | Observation | DiagnosticReport | DocumentReference) | Why the assessment was necessary? | |
basis | 0..* | Reference(Any) | Information used in assessment | |
prediction | I | 0..* | BackboneElement | Outcome predicted + Rule: Must be <= 100 |
outcome | 0..1 | CodeableConcept | Possible outcome for the subject RiskAssessmentOutcome (Example) | |
probability[x] | I | 0..1 | Likelihood of specified outcome + Rule: low and high must be percentages, if present | |
probabilityDecimal | decimal | |||
probabilityRange | Range | |||
qualitativeRisk | 0..1 | CodeableConcept | Likelihood of specified outcome as a qualitative value Risk Probability (Example) | |
relativeRisk | 0..1 | decimal | Relative likelihood | |
when[x] | 0..1 | Timeframe or age range | ||
whenPeriod | Period | |||
whenRange | Range | |||
rationale | 0..1 | string | Explanation of prediction | |
mitigation | 0..1 | string | How to reduce risk | |
note | 0..* | Annotation | Comments on the risk assessment | |
Documentation for this format |
XML Template
<RiskAssessment xmlns="http://hl7.org/fhir"> <!-- from Resource: id, meta, implicitRules, and language --> <!-- from DomainResource: text, contained, extension, and modifierExtension --> <identifier><!-- 0..* Identifier Unique identifier for the assessment --></identifier> <basedOn><!-- 0..1 Reference(Any) Request fulfilled by this assessment --></basedOn> <parent><!-- 0..1 Reference(Any) Part of this occurrence --></parent> <status value="[code]"/><!-- 1..1 registered | preliminary | final | amended + --> <method><!-- 0..1 CodeableConcept Evaluation mechanism --></method> <code><!-- 0..1 CodeableConcept Type of assessment --></code> <subject><!-- 1..1 Reference(Group|Patient) Who/what does assessment apply to? --></subject> <encounter><!-- 0..1 Reference(Encounter) Where was assessment performed? --></encounter> <occurrence[x]><!-- 0..1 dateTime|Period When was assessment made? --></occurrence[x]> <condition><!-- 0..1 Reference(Condition) Condition assessed --></condition> <performer><!-- 0..1 Reference(Device|Practitioner|PractitionerRole) Who did assessment? --></performer> <reasonCode><!-- 0..* CodeableConcept Why the assessment was necessary? --></reasonCode> <reasonReference><!-- 0..* Reference(Condition|DiagnosticReport| DocumentReference|Observation) Why the assessment was necessary? --></reasonReference> <basis><!-- 0..* Reference(Any) Information used in assessment --></basis> <prediction> <!-- 0..* Outcome predicted --> <outcome><!-- 0..1 CodeableConcept Possible outcome for the subject --></outcome> <probability[x]><!-- 0..1 decimal|Range Likelihood of specified outcome --></probability[x]> <qualitativeRisk><!-- 0..1 CodeableConcept Likelihood of specified outcome as a qualitative value --></qualitativeRisk> <relativeRisk value="[decimal]"/><!-- 0..1 Relative likelihood --> <when[x]><!-- 0..1 Period|Range Timeframe or age range --></when[x]> <rationale value="[string]"/><!-- 0..1 Explanation of prediction --> </prediction> <mitigation value="[string]"/><!-- 0..1 How to reduce risk --> <note><!-- 0..* Annotation Comments on the risk assessment --></note> </RiskAssessment>
JSON Template
{ "resourceType" : "RiskAssessment", // from Resource: id, meta, implicitRules, and language // from DomainResource: text, contained, extension, and modifierExtension "identifier" : [{ Identifier }], // Unique identifier for the assessment "basedOn" : { Reference(Any) }, // Request fulfilled by this assessment "parent" : { Reference(Any) }, // Part of this occurrence "status" : "<code>", // R! registered | preliminary | final | amended + "method" : { CodeableConcept }, // Evaluation mechanism "code" : { CodeableConcept }, // Type of assessment "subject" : { Reference(Group|Patient) }, // R! Who/what does assessment apply to? "encounter" : { Reference(Encounter) }, // Where was assessment performed? // occurrence[x]: When was assessment made?. One of these 2: "occurrenceDateTime" : "<dateTime>", "occurrencePeriod" : { Period }, "condition" : { Reference(Condition) }, // Condition assessed "performer" : { Reference(Device|Practitioner|PractitionerRole) }, // Who did assessment? "reasonCode" : [{ CodeableConcept }], // Why the assessment was necessary? "reasonReference" : [{ Reference(Condition|DiagnosticReport| DocumentReference|Observation) }], // Why the assessment was necessary? "basis" : [{ Reference(Any) }], // Information used in assessment "prediction" : [{ // Outcome predicted "outcome" : { CodeableConcept }, // Possible outcome for the subject // probability[x]: Likelihood of specified outcome. One of these 2: "probabilityDecimal" : <decimal>, "probabilityRange" : { Range }, "qualitativeRisk" : { CodeableConcept }, // Likelihood of specified outcome as a qualitative value "relativeRisk" : <decimal>, // Relative likelihood // when[x]: Timeframe or age range. One of these 2: "whenPeriod" : { Period }, "whenRange" : { Range }, "rationale" : "<string>" // Explanation of prediction }], "mitigation" : "<string>", // How to reduce risk "note" : [{ Annotation }] // Comments on the risk assessment }
Turtle Template
@prefix fhir: <http://hl7.org/fhir/> . [ a fhir:RiskAssessment; fhir:nodeRole fhir:treeRoot; # if this is the parser root # from Resource: .id, .meta, .implicitRules, and .language # from DomainResource: .text, .contained, .extension, and .modifierExtension fhir:RiskAssessment.identifier [ Identifier ], ... ; # 0..* Unique identifier for the assessment fhir:RiskAssessment.basedOn [ Reference(Any) ]; # 0..1 Request fulfilled by this assessment fhir:RiskAssessment.parent [ Reference(Any) ]; # 0..1 Part of this occurrence fhir:RiskAssessment.status [ code ]; # 1..1 registered | preliminary | final | amended + fhir:RiskAssessment.method [ CodeableConcept ]; # 0..1 Evaluation mechanism fhir:RiskAssessment.code [ CodeableConcept ]; # 0..1 Type of assessment fhir:RiskAssessment.subject [ Reference(Group|Patient) ]; # 1..1 Who/what does assessment apply to? fhir:RiskAssessment.encounter [ Reference(Encounter) ]; # 0..1 Where was assessment performed? # RiskAssessment.occurrence[x] : 0..1 When was assessment made?. One of these 2 fhir:RiskAssessment.occurrenceDateTime [ dateTime ] fhir:RiskAssessment.occurrencePeriod [ Period ] fhir:RiskAssessment.condition [ Reference(Condition) ]; # 0..1 Condition assessed fhir:RiskAssessment.performer [ Reference(Device|Practitioner|PractitionerRole) ]; # 0..1 Who did assessment? fhir:RiskAssessment.reasonCode [ CodeableConcept ], ... ; # 0..* Why the assessment was necessary? fhir:RiskAssessment.reasonReference [ Reference(Condition|DiagnosticReport|DocumentReference|Observation) ], ... ; # 0..* Why the assessment was necessary? fhir:RiskAssessment.basis [ Reference(Any) ], ... ; # 0..* Information used in assessment fhir:RiskAssessment.prediction [ # 0..* Outcome predicted fhir:RiskAssessment.prediction.outcome [ CodeableConcept ]; # 0..1 Possible outcome for the subject # RiskAssessment.prediction.probability[x] : 0..1 Likelihood of specified outcome. One of these 2 fhir:RiskAssessment.prediction.probabilityDecimal [ decimal ] fhir:RiskAssessment.prediction.probabilityRange [ Range ] fhir:RiskAssessment.prediction.qualitativeRisk [ CodeableConcept ]; # 0..1 Likelihood of specified outcome as a qualitative value fhir:RiskAssessment.prediction.relativeRisk [ decimal ]; # 0..1 Relative likelihood # RiskAssessment.prediction.when[x] : 0..1 Timeframe or age range. One of these 2 fhir:RiskAssessment.prediction.whenPeriod [ Period ] fhir:RiskAssessment.prediction.whenRange [ Range ] fhir:RiskAssessment.prediction.rationale [ string ]; # 0..1 Explanation of prediction ], ...; fhir:RiskAssessment.mitigation [ string ]; # 0..1 How to reduce risk fhir:RiskAssessment.note [ Annotation ], ... ; # 0..* Comments on the risk assessment ]
Changes since Release 3
RiskAssessment | |
RiskAssessment.status |
|
See the Full Difference for further information
This analysis is available as XML or JSON.
See R3 <--> R4 Conversion Maps (status = 4 tests that all execute ok. All tests pass round-trip testing and 3 r3 resources are invalid (0 errors).)
See the Profiles & Extensions and the alternate definitions: Master Definition XML + JSON, XML Schema/Schematron + JSON Schema, ShEx (for Turtle) + see the extensions & the dependency analysis
Path | Definition | Type | Reference |
---|---|---|---|
RiskAssessment.status | The status of the risk assessment; e.g. preliminary, final, amended, etc. | Required | ObservationStatus |
RiskAssessment.method | The mechanism or algorithm used to make the assessment; e.g. TIMI, PRISM, Cardiff Type 2 diabetes, etc. | Example | ?? |
RiskAssessment.prediction.outcome | The condition or other outcome; e.g. death, remission, amputation, infection, etc. | Example | ?? |
RiskAssessment.prediction.qualitativeRisk | The likelihood of the occurrence of a specified outcome. | Example | RiskProbability |
id | Level | Location | Description | Expression |
ras-1 | Rule | RiskAssessment.prediction.probability[x] | low and high must be percentages, if present | (low.empty() or ((low.code = '%') and (low.system = %ucum))) and (high.empty() or ((high.code = '%') and (high.system = %ucum))) |
ras-2 | Rule | RiskAssessment.prediction | Must be <= 100 | probability.exists($this is decimal) implies (probability as decimal) <= 100 |
Search parameters for this resource. The common parameters also apply. See Searching for more information about searching in REST, messaging, and services.
Name | Type | Description | Expression | In Common |
condition | reference | Condition assessed | RiskAssessment.condition (Condition) | |
date | date | When was assessment made? | (RiskAssessment.occurrence as dateTime) | |
encounter | reference | Where was assessment performed? | RiskAssessment.encounter (Encounter) | |
identifier | token | Unique identifier for the assessment | RiskAssessment.identifier | |
method | token | Evaluation mechanism | RiskAssessment.method | |
patient | reference | Who/what does assessment apply to? | RiskAssessment.subject.where(resolve() is Patient) (Group, Patient) | |
performer | reference | Who did assessment? | RiskAssessment.performer (Practitioner, Device, PractitionerRole) | |
probability | number | Likelihood of specified outcome | RiskAssessment.prediction.probability | |
risk | token | Likelihood of specified outcome as a qualitative value | RiskAssessment.prediction.qualitativeRisk | |
subject | reference | Who/what does assessment apply to? | RiskAssessment.subject (Group, Patient) |