HL7 FHIR Implementation Guide: Sri Lanka
0.1.0 - STU1

HL7 FHIR Implementation Guide: Sri Lanka, published by Jembi Health Systems. This is not an authorized publication; it is the continuous build for version 0.1.0. This version is based on the current content of https://github.com/jembi/Sri-Lanka and changes regularly. See the Directory of published versions

## Resource Profile: Cardiovascular Risk Assessment

Official URL: http://openhie.org/fhir/sri-lanka/StructureDefinition/cvd-risk-category | Version: 0.1.0
Active as of 2023-11-10 | Computable Name: CVDRiskCategory

Represents the patient’s CVD risk score.

Usage:

- Examples for this Resource Profile: RiskAssessment/CVDRiskCategoryExample

### Formal Views of Profile Content

Description of Profiles, Differentials, Snapshots and how the different presentations work.

- Differential Table
- Key Elements Table
- Snapshot Table
- Statistics/References
- All

This structure is derived from RiskAssessment

Name | Flags | Card. | Type | Description & Constraints
--- | --- | --- | --- | ---
RiskAssessment |  | 0..* | RiskAssessment | Potential outcomes for a subject with likelihood
code |  | 1..1 | CodeableConcept | Type of assessment Required Pattern: At least the following
coding |  | 1..* | Coding | Code defined by a terminology system Fixed Value: (complex)
system |  | 1..1 | uri | Identity of the terminology system Fixed Value: http://snomed.info/sct
code |  | 1..1 | code | Symbol in syntax defined by the system Fixed Value: 441829007
encounter |  | 1..1 | Reference(Encounter) | Where was assessment performed?
Slices for occurrence[x] |  | 1..1 | dateTime | When was assessment made? Slice: Unordered, Open by type:$this
occurrence[x]:occurrenceDateTime |  | 1..1 | dateTime | When was assessment made?
performer |  | 1..1 | Reference(Practitioner | PractitionerRole | Device) | Who did assessment?
basis |  | 1..* | Reference(Resource) | Information used in assessment
prediction |  | 1..* | BackboneElement | Outcome predicted
outcome |  | 1..1 | CodeableConcept | Possible outcome for the subject
Slices for probability[x] |  | 0..1 | decimal, Range | Likelihood of specified outcome Slice: Unordered, Open by type:$this
probability[x]:probabilityDecimal | S | 0..1 | decimal | Likelihood of specified outcome
qualitativeRisk |  | 1..1 | CodeableConcept | Likelihood of specified outcome as a qualitative value Binding: Cardiovascular Risk Categories (required)
Slices for when[x] |  | 1..1 | Range | Timeframe or age range Slice: Unordered, Open by type:$this
when[x]:whenRange |  | 1..1 | Range | Timeframe or age range
Documentation for this format

#### Terminology Bindings (Differential)

Path | Conformance | ValueSet
RiskAssessment.prediction.qualitativeRisk | required | VSCVDRiskCategory (a valid code from Cardiovascular Risk Categories)

Name | Flags | Card. | Type | Description & Constraints
--- | --- | --- | --- | ---
RiskAssessment |  | 0..* | RiskAssessment | Potential outcomes for a subject with likelihood
implicitRules | ?!Σ | 0..1 | uri | A set of rules under which this content was created
modifierExtension | ?! | 0..* | Extension | Extensions that cannot be ignored
status | Σ | 1..1 | code | registered | preliminary | final | amended + Binding: ObservationStatus (required): The status of the risk assessment; e.g. preliminary, final, amended, etc.
code | Σ | 1..1 | CodeableConcept | Type of assessment Required Pattern: At least the following
coding |  | 1..* | Coding | Code defined by a terminology system Fixed Value: (complex)
system |  | 1..1 | uri | Identity of the terminology system Fixed Value: http://snomed.info/sct
code |  | 1..1 | code | Symbol in syntax defined by the system Fixed Value: 441829007
subject | Σ | 1..1 | Reference(Patient | Group) | Who/what does assessment apply to?
encounter | Σ | 1..1 | Reference(Encounter) | Where was assessment performed?
Slices for occurrence[x] | Σ | 1..1 | dateTime | When was assessment made? Slice: Unordered, Closed by type:$this
occurrence[x]:occurrenceDateTime | Σ | 1..1 | dateTime | When was assessment made?
performer | Σ | 1..1 | Reference(Practitioner | PractitionerRole | Device) | Who did assessment?
basis |  | 1..* | Reference(Resource) | Information used in assessment
prediction | C | 1..* | BackboneElement | Outcome predicted
modifierExtension | ?!Σ | 0..* | Extension | Extensions that cannot be ignored even if unrecognized
outcome |  | 1..1 | CodeableConcept | Possible outcome for the subject Binding: (unbound) (example): The condition or other outcome; e.g. death, remission, amputation, infection, etc.
Slices for probability[x] | C | 0..1 |  | Likelihood of specified outcome Slice: Unordered, Open by type:$this
probabilityDecimal |  |  | decimal |
probabilityRange |  |  | Range |
probability[x]:probabilityDecimal | S C | 0..1 | decimal | Likelihood of specified outcome
qualitativeRisk |  | 1..1 | CodeableConcept | Likelihood of specified outcome as a qualitative value Binding: Cardiovascular Risk Categories (required)
Slices for when[x] |  | 1..1 | Range | Timeframe or age range Slice: Unordered, Closed by type:$this
when[x]:whenRange |  | 1..1 | Range | Timeframe or age range
Documentation for this format

#### Terminology Bindings

Path | Conformance | ValueSet
RiskAssessment.status | required | ObservationStatus
RiskAssessment.prediction.outcome | example |
RiskAssessment.prediction.qualitativeRisk | required | VSCVDRiskCategory (a valid code from Cardiovascular Risk Categories)

#### Constraints

Id | Grade | Path(s) | Details | Requirements
dom-2 | error | RiskAssessment | If the resource is contained in another resource, it SHALL NOT contain nested Resources : contained.contained.empty() |
dom-3 | error | RiskAssessment | If the resource is contained in another resource, it SHALL be referred to from elsewhere in the resource or SHALL refer to the containing resource : contained.where((('#'+id in (%resource.descendants().reference | %resource.descendants().as(canonical) | %resource.descendants().as(uri) | %resource.descendants().as(url))) or descendants().where(reference = '#').exists() or descendants().where(as(canonical) = '#').exists() or descendants().where(as(canonical) = '#').exists()).not()).trace('unmatched', id).empty() |
dom-4 | error | RiskAssessment | If a resource is contained in another resource, it SHALL NOT have a meta.versionId or a meta.lastUpdated : contained.meta.versionId.empty() and contained.meta.lastUpdated.empty() |
dom-5 | error | RiskAssessment | If a resource is contained in another resource, it SHALL NOT have a security label : contained.meta.security.empty() |
dom-6 | best practice | RiskAssessment | A resource should have narrative for robust management : text.`div`.exists() |
ele-1 | error | **ALL** elements | All FHIR elements must have a @value or children : hasValue() or (children().count() > id.count()) |
ext-1 | error | **ALL** extensions | Must have either extensions or value[x], not both : extension.exists() != value.exists() |
ras-1 | error | RiskAssessment.prediction.probability[x], RiskAssessment.prediction.probability[x]:probabilityDecimal | 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 | error | RiskAssessment.prediction | Must be <= 100 : probability is decimal implies (probability as decimal) <= 100 |

Name | Flags | Card. | Type | Description & Constraints
--- | --- | --- | --- | ---
RiskAssessment |  | 0..* | RiskAssessment | Potential outcomes for a subject with likelihood
id | Σ | 0..1 | id | Logical id of this artifact
meta | Σ | 0..1 | Meta | Metadata about the resource
implicitRules | ?!Σ | 0..1 | uri | A set of rules under which this content was created
language |  | 0..1 | code | Language of the resource content Binding: CommonLanguages (preferred): A human language.
Additional Bindings | Purpose
AllLanguages | Max Binding
text |  | 0..1 | Narrative | Text summary of the resource, for human interpretation
contained |  | 0..* | Resource | Contained, inline Resources
extension |  | 0..* | Extension | Additional content defined by implementations
modifierExtension | ?! | 0..* | Extension | Extensions that cannot be ignored
identifier | Σ | 0..* | Identifier | Unique identifier for the assessment
basedOn |  | 0..1 | Reference(Resource) | Request fulfilled by this assessment
parent |  | 0..1 | Reference(Resource) | Part of this occurrence
status | Σ | 1..1 | code | registered | preliminary | final | amended + Binding: ObservationStatus (required): The status of the risk assessment; e.g. preliminary, final, amended, etc.
method | Σ | 0..1 | CodeableConcept | Evaluation mechanism Binding: (unbound) (example): The mechanism or algorithm used to make the assessment; e.g. TIMI, PRISM, Cardiff Type 2 diabetes, etc.
code | Σ | 1..1 | CodeableConcept | Type of assessment Required Pattern: At least the following
id |  | 0..1 | string | Unique id for inter-element referencing
extension |  | 0..* | Extension | Additional content defined by implementations
coding |  | 1..* | Coding | Code defined by a terminology system Fixed Value: (complex)
id |  | 0..1 | string | Unique id for inter-element referencing
extension |  | 0..* | Extension | Additional content defined by implementations
system |  | 1..1 | uri | Identity of the terminology system Fixed Value: http://snomed.info/sct
version |  | 0..1 | string | Version of the system - if relevant
code |  | 1..1 | code | Symbol in syntax defined by the system Fixed Value: 441829007
display |  | 0..1 | string | Representation defined by the system
userSelected |  | 0..1 | boolean | If this coding was chosen directly by the user
text |  | 0..1 | string | Plain text representation of the concept
subject | Σ | 1..1 | Reference(Patient | Group) | Who/what does assessment apply to?
encounter | Σ | 1..1 | Reference(Encounter) | Where was assessment performed?
Slices for occurrence[x] | Σ | 1..1 | dateTime | When was assessment made? Slice: Unordered, Closed by type:$this
occurrence[x]:occurrenceDateTime | Σ | 1..1 | dateTime | When was assessment made?
condition | Σ | 0..1 | Reference(Condition) | Condition assessed
performer | Σ | 1..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 |  | 1..* | Reference(Resource) | Information used in assessment
prediction | C | 1..* | BackboneElement | Outcome predicted
id |  | 0..1 | string | Unique id for inter-element referencing
extension |  | 0..* | Extension | Additional content defined by implementations
modifierExtension | ?!Σ | 0..* | Extension | Extensions that cannot be ignored even if unrecognized
outcome |  | 1..1 | CodeableConcept | Possible outcome for the subject Binding: (unbound) (example): The condition or other outcome; e.g. death, remission, amputation, infection, etc.
Slices for probability[x] | C | 0..1 |  | Likelihood of specified outcome Slice: Unordered, Open by type:$this
probabilityDecimal |  |  | decimal |
probabilityRange |  |  | Range |
probability[x]:probabilityDecimal | S C | 0..1 | decimal | Likelihood of specified outcome
qualitativeRisk |  | 1..1 | CodeableConcept | Likelihood of specified outcome as a qualitative value Binding: Cardiovascular Risk Categories (required)
relativeRisk |  | 0..1 | decimal | Relative likelihood
Slices for when[x] |  | 1..1 | Range | Timeframe or age range Slice: Unordered, Closed by type:$this
when[x]:whenRange |  | 1..1 | Range | Timeframe or age 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

#### Terminology Bindings

Path | Conformance | ValueSet
RiskAssessment.language | preferred | CommonLanguages
Additional Bindings | Purpose
AllLanguages | Max Binding
RiskAssessment.status | required | ObservationStatus
RiskAssessment.method | example |
RiskAssessment.prediction.outcome | example |
RiskAssessment.prediction.qualitativeRisk | required | VSCVDRiskCategory (a valid code from Cardiovascular Risk Categories)

#### Constraints

Id | Grade | Path(s) | Details | Requirements
dom-2 | error | RiskAssessment | If the resource is contained in another resource, it SHALL NOT contain nested Resources : contained.contained.empty() |
dom-3 | error | RiskAssessment | If the resource is contained in another resource, it SHALL be referred to from elsewhere in the resource or SHALL refer to the containing resource : contained.where((('#'+id in (%resource.descendants().reference | %resource.descendants().as(canonical) | %resource.descendants().as(uri) | %resource.descendants().as(url))) or descendants().where(reference = '#').exists() or descendants().where(as(canonical) = '#').exists() or descendants().where(as(canonical) = '#').exists()).not()).trace('unmatched', id).empty() |
dom-4 | error | RiskAssessment | If a resource is contained in another resource, it SHALL NOT have a meta.versionId or a meta.lastUpdated : contained.meta.versionId.empty() and contained.meta.lastUpdated.empty() |
dom-5 | error | RiskAssessment | If a resource is contained in another resource, it SHALL NOT have a security label : contained.meta.security.empty() |
dom-6 | best practice | RiskAssessment | A resource should have narrative for robust management : text.`div`.exists() |
ele-1 | error | **ALL** elements | All FHIR elements must have a @value or children : hasValue() or (children().count() > id.count()) |
ext-1 | error | **ALL** extensions | Must have either extensions or value[x], not both : extension.exists() != value.exists() |
ras-1 | error | RiskAssessment.prediction.probability[x], RiskAssessment.prediction.probability[x]:probabilityDecimal | 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 | error | RiskAssessment.prediction | Must be <= 100 : probability is decimal implies (probability as decimal) <= 100 |

This structure is derived from RiskAssessment

Summary

Mandatory: 11 elements
Must-Support: 1 element

Slices

This structure defines the following Slices:

- The element RiskAssessment.occurrence[x] is sliced based on the value of type:$this
- The element RiskAssessment.prediction.probability[x] is sliced based on the value of type:$this
- The element RiskAssessment.prediction.when[x] is sliced based on the value of type:$this

Differential View

This structure is derived from RiskAssessment

Name | Flags | Card. | Type | Description & Constraints
--- | --- | --- | --- | ---
RiskAssessment |  | 0..* | RiskAssessment | Potential outcomes for a subject with likelihood
code |  | 1..1 | CodeableConcept | Type of assessment Required Pattern: At least the following
coding |  | 1..* | Coding | Code defined by a terminology system Fixed Value: (complex)
system |  | 1..1 | uri | Identity of the terminology system Fixed Value: http://snomed.info/sct
code |  | 1..1 | code | Symbol in syntax defined by the system Fixed Value: 441829007
encounter |  | 1..1 | Reference(Encounter) | Where was assessment performed?
Slices for occurrence[x] |  | 1..1 | dateTime | When was assessment made? Slice: Unordered, Open by type:$this
occurrence[x]:occurrenceDateTime |  | 1..1 | dateTime | When was assessment made?
performer |  | 1..1 | Reference(Practitioner | PractitionerRole | Device) | Who did assessment?
basis |  | 1..* | Reference(Resource) | Information used in assessment
prediction |  | 1..* | BackboneElement | Outcome predicted
outcome |  | 1..1 | CodeableConcept | Possible outcome for the subject
Slices for probability[x] |  | 0..1 | decimal, Range | Likelihood of specified outcome Slice: Unordered, Open by type:$this
probability[x]:probabilityDecimal | S | 0..1 | decimal | Likelihood of specified outcome
qualitativeRisk |  | 1..1 | CodeableConcept | Likelihood of specified outcome as a qualitative value Binding: Cardiovascular Risk Categories (required)
Slices for when[x] |  | 1..1 | Range | Timeframe or age range Slice: Unordered, Open by type:$this
when[x]:whenRange |  | 1..1 | Range | Timeframe or age range
Documentation for this format

#### Terminology Bindings (Differential)

Path | Conformance | ValueSet
RiskAssessment.prediction.qualitativeRisk | required | VSCVDRiskCategory (a valid code from Cardiovascular Risk Categories)

Key Elements View

Name | Flags | Card. | Type | Description & Constraints
--- | --- | --- | --- | ---
RiskAssessment |  | 0..* | RiskAssessment | Potential outcomes for a subject with likelihood
implicitRules | ?!Σ | 0..1 | uri | A set of rules under which this content was created
modifierExtension | ?! | 0..* | Extension | Extensions that cannot be ignored
status | Σ | 1..1 | code | registered | preliminary | final | amended + Binding: ObservationStatus (required): The status of the risk assessment; e.g. preliminary, final, amended, etc.
code | Σ | 1..1 | CodeableConcept | Type of assessment Required Pattern: At least the following
coding |  | 1..* | Coding | Code defined by a terminology system Fixed Value: (complex)
system |  | 1..1 | uri | Identity of the terminology system Fixed Value: http://snomed.info/sct
code |  | 1..1 | code | Symbol in syntax defined by the system Fixed Value: 441829007
subject | Σ | 1..1 | Reference(Patient | Group) | Who/what does assessment apply to?
encounter | Σ | 1..1 | Reference(Encounter) | Where was assessment performed?
Slices for occurrence[x] | Σ | 1..1 | dateTime | When was assessment made? Slice: Unordered, Closed by type:$this
occurrence[x]:occurrenceDateTime | Σ | 1..1 | dateTime | When was assessment made?
performer | Σ | 1..1 | Reference(Practitioner | PractitionerRole | Device) | Who did assessment?
basis |  | 1..* | Reference(Resource) | Information used in assessment
prediction | C | 1..* | BackboneElement | Outcome predicted
modifierExtension | ?!Σ | 0..* | Extension | Extensions that cannot be ignored even if unrecognized
outcome |  | 1..1 | CodeableConcept | Possible outcome for the subject Binding: (unbound) (example): The condition or other outcome; e.g. death, remission, amputation, infection, etc.
Slices for probability[x] | C | 0..1 |  | Likelihood of specified outcome Slice: Unordered, Open by type:$this
probabilityDecimal |  |  | decimal |
probabilityRange |  |  | Range |
probability[x]:probabilityDecimal | S C | 0..1 | decimal | Likelihood of specified outcome
qualitativeRisk |  | 1..1 | CodeableConcept | Likelihood of specified outcome as a qualitative value Binding: Cardiovascular Risk Categories (required)
Slices for when[x] |  | 1..1 | Range | Timeframe or age range Slice: Unordered, Closed by type:$this
when[x]:whenRange |  | 1..1 | Range | Timeframe or age range
Documentation for this format

#### Terminology Bindings

Path | Conformance | ValueSet
RiskAssessment.status | required | ObservationStatus
RiskAssessment.prediction.outcome | example |
RiskAssessment.prediction.qualitativeRisk | required | VSCVDRiskCategory (a valid code from Cardiovascular Risk Categories)

#### Constraints

Id | Grade | Path(s) | Details | Requirements
dom-2 | error | RiskAssessment | If the resource is contained in another resource, it SHALL NOT contain nested Resources : contained.contained.empty() |
dom-3 | error | RiskAssessment | If the resource is contained in another resource, it SHALL be referred to from elsewhere in the resource or SHALL refer to the containing resource : contained.where((('#'+id in (%resource.descendants().reference | %resource.descendants().as(canonical) | %resource.descendants().as(uri) | %resource.descendants().as(url))) or descendants().where(reference = '#').exists() or descendants().where(as(canonical) = '#').exists() or descendants().where(as(canonical) = '#').exists()).not()).trace('unmatched', id).empty() |
dom-4 | error | RiskAssessment | If a resource is contained in another resource, it SHALL NOT have a meta.versionId or a meta.lastUpdated : contained.meta.versionId.empty() and contained.meta.lastUpdated.empty() |
dom-5 | error | RiskAssessment | If a resource is contained in another resource, it SHALL NOT have a security label : contained.meta.security.empty() |
dom-6 | best practice | RiskAssessment | A resource should have narrative for robust management : text.`div`.exists() |
ele-1 | error | **ALL** elements | All FHIR elements must have a @value or children : hasValue() or (children().count() > id.count()) |
ext-1 | error | **ALL** extensions | Must have either extensions or value[x], not both : extension.exists() != value.exists() |
ras-1 | error | RiskAssessment.prediction.probability[x], RiskAssessment.prediction.probability[x]:probabilityDecimal | 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 | error | RiskAssessment.prediction | Must be <= 100 : probability is decimal implies (probability as decimal) <= 100 |

Snapshot View

Name | Flags | Card. | Type | Description & Constraints
--- | --- | --- | --- | ---
RiskAssessment |  | 0..* | RiskAssessment | Potential outcomes for a subject with likelihood
id | Σ | 0..1 | id | Logical id of this artifact
meta | Σ | 0..1 | Meta | Metadata about the resource
implicitRules | ?!Σ | 0..1 | uri | A set of rules under which this content was created
language |  | 0..1 | code | Language of the resource content Binding: CommonLanguages (preferred): A human language.
Additional Bindings | Purpose
AllLanguages | Max Binding
text |  | 0..1 | Narrative | Text summary of the resource, for human interpretation
contained |  | 0..* | Resource | Contained, inline Resources
extension |  | 0..* | Extension | Additional content defined by implementations
modifierExtension | ?! | 0..* | Extension | Extensions that cannot be ignored
identifier | Σ | 0..* | Identifier | Unique identifier for the assessment
basedOn |  | 0..1 | Reference(Resource) | Request fulfilled by this assessment
parent |  | 0..1 | Reference(Resource) | Part of this occurrence
status | Σ | 1..1 | code | registered | preliminary | final | amended + Binding: ObservationStatus (required): The status of the risk assessment; e.g. preliminary, final, amended, etc.
method | Σ | 0..1 | CodeableConcept | Evaluation mechanism Binding: (unbound) (example): The mechanism or algorithm used to make the assessment; e.g. TIMI, PRISM, Cardiff Type 2 diabetes, etc.
code | Σ | 1..1 | CodeableConcept | Type of assessment Required Pattern: At least the following
id |  | 0..1 | string | Unique id for inter-element referencing
extension |  | 0..* | Extension | Additional content defined by implementations
coding |  | 1..* | Coding | Code defined by a terminology system Fixed Value: (complex)
id |  | 0..1 | string | Unique id for inter-element referencing
extension |  | 0..* | Extension | Additional content defined by implementations
system |  | 1..1 | uri | Identity of the terminology system Fixed Value: http://snomed.info/sct
version |  | 0..1 | string | Version of the system - if relevant
code |  | 1..1 | code | Symbol in syntax defined by the system Fixed Value: 441829007
display |  | 0..1 | string | Representation defined by the system
userSelected |  | 0..1 | boolean | If this coding was chosen directly by the user
text |  | 0..1 | string | Plain text representation of the concept
subject | Σ | 1..1 | Reference(Patient | Group) | Who/what does assessment apply to?
encounter | Σ | 1..1 | Reference(Encounter) | Where was assessment performed?
Slices for occurrence[x] | Σ | 1..1 | dateTime | When was assessment made? Slice: Unordered, Closed by type:$this
occurrence[x]:occurrenceDateTime | Σ | 1..1 | dateTime | When was assessment made?
condition | Σ | 0..1 | Reference(Condition) | Condition assessed
performer | Σ | 1..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 |  | 1..* | Reference(Resource) | Information used in assessment
prediction | C | 1..* | BackboneElement | Outcome predicted
id |  | 0..1 | string | Unique id for inter-element referencing
extension |  | 0..* | Extension | Additional content defined by implementations
modifierExtension | ?!Σ | 0..* | Extension | Extensions that cannot be ignored even if unrecognized
outcome |  | 1..1 | CodeableConcept | Possible outcome for the subject Binding: (unbound) (example): The condition or other outcome; e.g. death, remission, amputation, infection, etc.
Slices for probability[x] | C | 0..1 |  | Likelihood of specified outcome Slice: Unordered, Open by type:$this
probabilityDecimal |  |  | decimal |
probabilityRange |  |  | Range |
probability[x]:probabilityDecimal | S C | 0..1 | decimal | Likelihood of specified outcome
qualitativeRisk |  | 1..1 | CodeableConcept | Likelihood of specified outcome as a qualitative value Binding: Cardiovascular Risk Categories (required)
relativeRisk |  | 0..1 | decimal | Relative likelihood
Slices for when[x] |  | 1..1 | Range | Timeframe or age range Slice: Unordered, Closed by type:$this
when[x]:whenRange |  | 1..1 | Range | Timeframe or age 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

#### Terminology Bindings

Path | Conformance | ValueSet
RiskAssessment.language | preferred | CommonLanguages
Additional Bindings | Purpose
AllLanguages | Max Binding
RiskAssessment.status | required | ObservationStatus
RiskAssessment.method | example |
RiskAssessment.prediction.outcome | example |
RiskAssessment.prediction.qualitativeRisk | required | VSCVDRiskCategory (a valid code from Cardiovascular Risk Categories)

#### Constraints

Id | Grade | Path(s) | Details | Requirements
dom-2 | error | RiskAssessment | If the resource is contained in another resource, it SHALL NOT contain nested Resources : contained.contained.empty() |
dom-3 | error | RiskAssessment | If the resource is contained in another resource, it SHALL be referred to from elsewhere in the resource or SHALL refer to the containing resource : contained.where((('#'+id in (%resource.descendants().reference | %resource.descendants().as(canonical) | %resource.descendants().as(uri) | %resource.descendants().as(url))) or descendants().where(reference = '#').exists() or descendants().where(as(canonical) = '#').exists() or descendants().where(as(canonical) = '#').exists()).not()).trace('unmatched', id).empty() |
dom-4 | error | RiskAssessment | If a resource is contained in another resource, it SHALL NOT have a meta.versionId or a meta.lastUpdated : contained.meta.versionId.empty() and contained.meta.lastUpdated.empty() |
dom-5 | error | RiskAssessment | If a resource is contained in another resource, it SHALL NOT have a security label : contained.meta.security.empty() |
dom-6 | best practice | RiskAssessment | A resource should have narrative for robust management : text.`div`.exists() |
ele-1 | error | **ALL** elements | All FHIR elements must have a @value or children : hasValue() or (children().count() > id.count()) |
ext-1 | error | **ALL** extensions | Must have either extensions or value[x], not both : extension.exists() != value.exists() |
ras-1 | error | RiskAssessment.prediction.probability[x], RiskAssessment.prediction.probability[x]:probabilityDecimal | 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 | error | RiskAssessment.prediction | Must be <= 100 : probability is decimal implies (probability as decimal) <= 100 |

This structure is derived from RiskAssessment

Summary

Mandatory: 11 elements
Must-Support: 1 element

Slices

This structure defines the following Slices:

- The element RiskAssessment.occurrence[x] is sliced based on the value of type:$this
- The element RiskAssessment.prediction.probability[x] is sliced based on the value of type:$this
- The element RiskAssessment.prediction.when[x] is sliced based on the value of type:$this

Other representations of profile: CSV, Excel, Schematron