Finnish Base Profiles
1.0.0 - trial-use
This page is part of the Finnish Base Profiles (v1.0.0: STU 1) based on FHIR R4. This is the current published version in its permanent home (it will always be available at this URL). For a full list of available versions, see the Directory of published versions
Official URL: https://hl7.fi/fhir/finnish-base-profiles/StructureDefinition/fi-base-reason-for-care | Version: 1.0.0 | |||
Active as of 2023-11-10 | Computable Name: FiBaseReasonForCare |
This is the Finnish base profile for the encounter-diagnosis and (nurse asserted) reason for visit Conditions.
This Finnish base profile for the Reason for Care Condition resource is still very early in development, and implementer feedback is appreciated in many aspects. There are many TODO parts intentionally left in this draft version. See also the foreseen further development needs below.
This profile describes Diagnosis based conditions and Finnish kayntisyy.
These are Condition
resources that are asserted by a healthcare professional and directly related
to encounters. This profile does not describe how to communicate problem-list-item
level conditions.
THL has a data model for Finnish diagnosis (including käyntisyy) in code server: THL/Tietosisältö - Diagnoosit (“THL specification”).
For high level documentation, see Tiedonhallintapalvelun periaatteet ja toiminnallinen määrittely 2021, versio 1.2.
This profile SHOULD NOT be used to describe reason given by patient for requesting/acquiring healthcare service. Finnish tulosyy.
Reason for care may be a diagnosis asserted by a clinician / medical doctor or some other reason for visit that is asserted by an nurse or some other healthcare professional.
A reason for care condition needs to be categorized to make the distinction between
clinician asserted diagnosis and other käyntisyy conditions. When reason for care is a clinician
asserted diagnosis it MUST contain another category
code encounter-diagnosis
. When condition
is not asserted by a clincian it MUST NOT contain encounter-diagnosis
category code.
Categories match to THL specification in following way:
encounter-diagnosis
is present –> This is a diagnosis and is not a käyntisyy
encounter-diagnosis
is not present –> This is a käyntisyy
When using Finnish ICD-10 it’s usage has special rules. These are described below. For reference and detailed specifications, see Potilastiedon arkiston Kertomus ja lomakkeet version 5.11 or later.
code
SHALL only contain the reason code.
When using Finnish ICD-10, the code MUST NOT contain special characters (+
,&
,#
after the code
indicate reason). Pre-built pairs (like E85.9+I68.0) SHALL be broken down to constituent parts and the
code part indicating reason (in case of E85.9+I68.0, Koodi1
field) used here.
In THL specification, this data is codeId 1: Diagnoosi.
In THL specification, there is another codeId 6: “ICD-10 -vastaavuuskoodi ICPC-koodille”. This MAY be
in code
(it’s the same code, but coded in another code system, so repetition of code
is ok).
Other codes, like symptom and accident type SHOULD NOT be repetitions of code
.
More than one code may be used in code
(in code
’s repetitions of coding
). code
itself cannot
be repeated. Currently ICD-10, ICPC2 are supported by THL, in near future ICD-11, SNOMED and ORPHA
will become supported too. Additional codes may be expressed by repeating coding. Other codes like
a symptom SHOULD NOT be communicated via code
, repetitions should represent the same concept (see
CodeableConcept datatype specification).
Here’s a valid example of repeating code.coding
(code
is not repeating, but coding
has
repetitions expressing the same information in two code systems):
"code" : {
"coding" : [
{
"system" : "urn:oid:1.2.246.537.6.1",
"version" : "1999",
"code" : "H36.03",
"display" : "Proliferatiivinen diabeettinen retinopatia"
},
{
"system" : "urn:oid:1.2.246.537.6.31",
"version" : "2007",
"code" : "F83",
"display" : "Retinopatia, verkkokalvon rappeuma"
}
],
"text" : "..."
}
In THL specification, this data is codeId 26
: Diagnoosin tai käyntisyyn oirekoodi.
Symptom code SHOULD be communicated via evidence
.
When using the Finnish ICD-10 version, the code MUST NOT contain special characters (+
after the
code and *
before code indicating the symptom). Pre-built pairs (like E85.9+I68.0) SHALL be
broken down to constituent parts and the code part indicating symptom (in case of E85.9+I68.0,
Koodi2
field).
For example:
"evidence" : [
{
"code" : [
{
"coding" : [
{
"system" : "urn:oid:1.2.246.537.6.1",
"version" : "1999",
"code" : "E11.3",
"display" : "Aikuistyypin diabetes diabeteksen silmäkomplikaatiot"
}
]
}
]
}
]
In THL specification, this data is codeId 21
: Diagnoosin tai käyntisyyn nimi.
A practitioner may make some adjustments to the name of the diagnosis. code.coding.display
SHALL
still be the original name from the codesystem and code.text
MAY contain an adjusted name for the
diagnosis.
In THL specification, this data is codeId 2
: Diagnoosin tai käyntisyyn ensisijaisuus.
Extension primaryCondition
is used to express whether this diagnosis is the primary condition for
why the encounter takes place.
The extension SHALL have a code from “AR/YDIN - Diagnoosin /toimenpiteen ensisijaisuus” (oid
1.2.246.537.5.40005
).
In THL specification, this data is codeId 8
: Diagnoosin pysyvyys.
Extension permanence
is used to express whether the condition is permanent or not.
The extension SHALL have a code from “AR/YDIN - Pysyvyys” (oid 1.2.246.537.5.40003
).
This information has some relation to clinicalStatus
, but “AR/YDIN - Pysyvyys” cannot be mapped
to clinicalStatus codes (doing so would redefine clinicalStatus).
In THL specification, this data is codeId 12
: Diagnoosin tai käyntisyyn toteamispäivä.
Standard onset
SHOULD be used.
In THL specification, this data is codeId 16
: Diagnoosin päättymispäivä.
Standard abatement
MAY be used.
Standard asserter
MAY be used.
When asserter
references a Practitioner, it can provide information for codeId 11
:
Toteajan nimi in THL specification. When asserter
references a PractitionerRole, it can provide
information for both codeId 11
: Toteajan nimi and codeId 19
: Toteajan palveluyksikkö.
In THL specification, this data is codeId 24
: Tapaturman liikuntalaji.
Extension physicalExcercise
is used.
In THL specification, this data is codeId 27
: Endokrinologisen häiriön koodi.
Extension endocrinologicalDisorder
is used.
In THL specification, this data is codeId 28
: Aiheuttajan ATC-koodi.
Extension conditionCausedByMedication
is used.
In THL specification, this data is codeId 3
: Diagnoosin ulkoinen syy.
Extension conditionExternalCause
is used.
In THL specification, this data is codeId 4
: Diagnoosin tapaturmatyyppi.
Extension conditionCategorizationOfAccident
is used.
In THL specification, this data is codeId 5
: Haittavaikutuksen aiheuttaja.
Extension causeOfAdverseEffect
is used.
Finnish diagnosis has some data that is not yet modeled in this profile. There is more modeling and mapping work to be done. Following list contains most relevant parts that need work:
Feedback on all of the above is most welcome for further development of this profile. </div> #### Links * [*Suomalainen tautien kirjaamisen ohjekirja*](https://thl.fi/documents/10531/124365/Opas%202012%2017.pdf), the national guide for the use of ICD-10.
Usage:
Description of Profiles, Differentials, Snapshots and how the different presentations work.
This structure is derived from FiBaseCondition
Path | Conformance | ValueSet |
Condition.clinicalStatus | required | ConditionClinicalStatusCodes |
Condition.verificationStatus | required | ConditionVerificationStatus |
Condition.category | extensible | ConditionCategoryCodes |
Condition.code | example | Condition/Problem/DiagnosisCodes |
Id | Grade | Path(s) | Details | Requirements |
con-3 | best practice | Condition | Condition.clinicalStatus SHALL be present if verificationStatus is not entered-in-error and category is problem-list-item : clinicalStatus.exists() or verificationStatus.coding.where(system='http://terminology.hl7.org/CodeSystem/condition-ver-status' and code = 'entered-in-error').exists() or category.select($this='problem-list-item').empty() | |
con-4 | error | Condition | If condition is abated, then clinicalStatus must be either inactive, resolved, or remission : abatement.empty() or clinicalStatus.coding.where(system='http://terminology.hl7.org/CodeSystem/condition-clinical' and (code='resolved' or code='remission' or code='inactive')).exists() | |
con-5 | error | Condition | Condition.clinicalStatus SHALL NOT be present if verification Status is entered-in-error : verificationStatus.coding.where(system='http://terminology.hl7.org/CodeSystem/condition-ver-status' and code='entered-in-error').empty() or clinicalStatus.empty() | |
dom-2 | error | Condition | If the resource is contained in another resource, it SHALL NOT contain nested Resources : contained.contained.empty() | |
dom-3 | error | Condition | 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 | Condition | 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 | Condition | If a resource is contained in another resource, it SHALL NOT have a security label : contained.meta.security.empty() | |
dom-6 | best practice | Condition | 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() |
Name | Flags | Card. | Type | Description & Constraints | ||||
---|---|---|---|---|---|---|---|---|
Condition | C | 0..* | FiBaseCondition | Detailed information about conditions, problems or diagnoses | ||||
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.
| |||||
text | 0..1 | Narrative | Text summary of the resource, for human interpretation | |||||
contained | 0..* | Resource | Contained, inline Resources | |||||
Slices for extension | 0..* | Extension | Extension Slice: Unordered, Open by value:url | |||||
primaryCondition | 0..1 | Coding | Primary condition for encounter URL: https://hl7.fi/fhir/finnish-base-profiles/StructureDefinition/condition-primary | |||||
permanence | 0..1 | Coding | Permanence of condition URL: https://hl7.fi/fhir/finnish-base-profiles/StructureDefinition/condition-permanence | |||||
physicalExcercise | 0..1 | Coding | Type of physical exercise during which injury occurred. URL: https://hl7.fi/fhir/finnish-base-profiles/StructureDefinition/condition-physical-excercise | |||||
endocrinologicalDisorder | 0..1 | Coding | Endocrinological disorder URL: https://hl7.fi/fhir/finnish-base-profiles/StructureDefinition/condition-endocrinological-disorder | |||||
conditionCausedByMedication | 0..1 | Coding | Medication that caused this condition URL: https://hl7.fi/fhir/finnish-base-profiles/StructureDefinition/condition-caused-by-medication | |||||
conditionExternalCause | 0..1 | Coding | External cause for diagnosis URL: https://hl7.fi/fhir/finnish-base-profiles/StructureDefinition/condition-external-cause | |||||
conditionCategorizationOfAccident | 0..1 | Coding | Categorization of the type of accident URL: https://hl7.fi/fhir/finnish-base-profiles/StructureDefinition/condition-categorization-of-accident | |||||
causeOfAdverseEffect | 0..1 | Coding | Cause of an adverse effect URL: https://hl7.fi/fhir/finnish-base-profiles/StructureDefinition/condition-cause-of-adverse-effect | |||||
modifierExtension | ?! | 0..* | Extension | Extensions that cannot be ignored | ||||
identifier | Σ | 0..* | Identifier | External Ids for this condition | ||||
clinicalStatus | ?!SΣC | 0..1 | CodeableConcept | active | recurrence | relapse | inactive | remission | resolved Binding: ConditionClinicalStatusCodes (required): The clinical status of the condition or diagnosis. | ||||
verificationStatus | ?!SΣC | 0..1 | CodeableConcept | unconfirmed | provisional | differential | confirmed | refuted | entered-in-error Binding: ConditionVerificationStatus (required): The verification status to support or decline the clinical status of the condition or diagnosis. | ||||
category | S | 0..* | CodeableConcept | problem-list-item | encounter-diagnosis Binding: ConditionCategoryCodes (extensible): A category assigned to the condition. | ||||
severity | 0..1 | CodeableConcept | Subjective severity of condition Binding: Condition/DiagnosisSeverity (preferred): A subjective assessment of the severity of the condition as evaluated by the clinician. | |||||
code | SΣ | 1..1 | CodeableConcept | Identification of the condition, problem or diagnosis Binding: Condition/Problem/DiagnosisCodes (example): Identification of the condition or diagnosis. | ||||
bodySite | Σ | 0..* | CodeableConcept | Anatomical location, if relevant Binding: SNOMEDCTBodyStructures (example): Codes describing anatomical locations. May include laterality. | ||||
subject | SΣ | 1..1 | Reference(FI Base Patient) | Who has the condition? | ||||
encounter | Σ | 0..1 | Reference(Encounter) | Encounter created as part of | ||||
onset[x] | Σ | 0..1 | Estimated or actual date, date-time, or age | |||||
onsetDateTime | dateTime | |||||||
onsetAge | Age | |||||||
onsetPeriod | Period | |||||||
onsetRange | Range | |||||||
onsetString | string | |||||||
abatement[x] | C | 0..1 | When in resolution/remission | |||||
abatementDateTime | dateTime | |||||||
abatementAge | Age | |||||||
abatementPeriod | Period | |||||||
abatementRange | Range | |||||||
abatementString | string | |||||||
recordedDate | Σ | 0..1 | dateTime | Date record was first recorded | ||||
recorder | Σ | 0..1 | Reference(Practitioner | PractitionerRole | Patient | RelatedPerson) | Who recorded the condition | ||||
asserter | Σ | 0..1 | Reference(Practitioner | PractitionerRole | Patient | RelatedPerson) | Person who asserts this condition | ||||
stage | C | 0..* | BackboneElement | Stage/grade, usually assessed formally | ||||
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 | ||||
summary | C | 0..1 | CodeableConcept | Simple summary (disease specific) Binding: ConditionStage (example): Codes describing condition stages (e.g. Cancer stages). | ||||
assessment | C | 0..* | Reference(ClinicalImpression | DiagnosticReport | Observation) | Formal record of assessment | ||||
type | 0..1 | CodeableConcept | Kind of staging Binding: ConditionStageType (example): Codes describing the kind of condition staging (e.g. clinical or pathological). | |||||
evidence | C | 0..* | BackboneElement | Supporting evidence | ||||
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 | ||||
code | ΣC | 0..* | CodeableConcept | Manifestation/symptom Binding: ManifestationAndSymptomCodes (example): Codes that describe the manifestation or symptoms of a condition. | ||||
detail | ΣC | 0..* | Reference(Resource) | Supporting information found elsewhere | ||||
note | 0..* | Annotation | Additional information about the Condition | |||||
Documentation for this format |
Path | Conformance | ValueSet | ||||
Condition.language | preferred | CommonLanguages
| ||||
Condition.clinicalStatus | required | ConditionClinicalStatusCodes | ||||
Condition.verificationStatus | required | ConditionVerificationStatus | ||||
Condition.category | extensible | ConditionCategoryCodes | ||||
Condition.severity | preferred | Condition/DiagnosisSeverity | ||||
Condition.code | example | Condition/Problem/DiagnosisCodes | ||||
Condition.bodySite | example | SNOMEDCTBodyStructures | ||||
Condition.stage.summary | example | ConditionStage | ||||
Condition.stage.type | example | ConditionStageType | ||||
Condition.evidence.code | example | ManifestationAndSymptomCodes |
Id | Grade | Path(s) | Details | Requirements |
con-1 | error | Condition.stage | Stage SHALL have summary or assessment : summary.exists() or assessment.exists() | |
con-2 | error | Condition.evidence | evidence SHALL have code or details : code.exists() or detail.exists() | |
con-3 | best practice | Condition | Condition.clinicalStatus SHALL be present if verificationStatus is not entered-in-error and category is problem-list-item : clinicalStatus.exists() or verificationStatus.coding.where(system='http://terminology.hl7.org/CodeSystem/condition-ver-status' and code = 'entered-in-error').exists() or category.select($this='problem-list-item').empty() | |
con-4 | error | Condition | If condition is abated, then clinicalStatus must be either inactive, resolved, or remission : abatement.empty() or clinicalStatus.coding.where(system='http://terminology.hl7.org/CodeSystem/condition-clinical' and (code='resolved' or code='remission' or code='inactive')).exists() | |
con-5 | error | Condition | Condition.clinicalStatus SHALL NOT be present if verification Status is entered-in-error : verificationStatus.coding.where(system='http://terminology.hl7.org/CodeSystem/condition-ver-status' and code='entered-in-error').empty() or clinicalStatus.empty() | |
dom-2 | error | Condition | If the resource is contained in another resource, it SHALL NOT contain nested Resources : contained.contained.empty() | |
dom-3 | error | Condition | 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 | Condition | 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 | Condition | If a resource is contained in another resource, it SHALL NOT have a security label : contained.meta.security.empty() | |
dom-6 | best practice | Condition | 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() |
This structure is derived from FiBaseCondition
Summary
Extensions
This structure refers to these extensions:
Differential View
This structure is derived from FiBaseCondition
Key Elements View
Path | Conformance | ValueSet |
Condition.clinicalStatus | required | ConditionClinicalStatusCodes |
Condition.verificationStatus | required | ConditionVerificationStatus |
Condition.category | extensible | ConditionCategoryCodes |
Condition.code | example | Condition/Problem/DiagnosisCodes |
Id | Grade | Path(s) | Details | Requirements |
con-3 | best practice | Condition | Condition.clinicalStatus SHALL be present if verificationStatus is not entered-in-error and category is problem-list-item : clinicalStatus.exists() or verificationStatus.coding.where(system='http://terminology.hl7.org/CodeSystem/condition-ver-status' and code = 'entered-in-error').exists() or category.select($this='problem-list-item').empty() | |
con-4 | error | Condition | If condition is abated, then clinicalStatus must be either inactive, resolved, or remission : abatement.empty() or clinicalStatus.coding.where(system='http://terminology.hl7.org/CodeSystem/condition-clinical' and (code='resolved' or code='remission' or code='inactive')).exists() | |
con-5 | error | Condition | Condition.clinicalStatus SHALL NOT be present if verification Status is entered-in-error : verificationStatus.coding.where(system='http://terminology.hl7.org/CodeSystem/condition-ver-status' and code='entered-in-error').empty() or clinicalStatus.empty() | |
dom-2 | error | Condition | If the resource is contained in another resource, it SHALL NOT contain nested Resources : contained.contained.empty() | |
dom-3 | error | Condition | 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 | Condition | 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 | Condition | If a resource is contained in another resource, it SHALL NOT have a security label : contained.meta.security.empty() | |
dom-6 | best practice | Condition | 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() |
Snapshot View
Name | Flags | Card. | Type | Description & Constraints | ||||
---|---|---|---|---|---|---|---|---|
Condition | C | 0..* | FiBaseCondition | Detailed information about conditions, problems or diagnoses | ||||
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.
| |||||
text | 0..1 | Narrative | Text summary of the resource, for human interpretation | |||||
contained | 0..* | Resource | Contained, inline Resources | |||||
Slices for extension | 0..* | Extension | Extension Slice: Unordered, Open by value:url | |||||
primaryCondition | 0..1 | Coding | Primary condition for encounter URL: https://hl7.fi/fhir/finnish-base-profiles/StructureDefinition/condition-primary | |||||
permanence | 0..1 | Coding | Permanence of condition URL: https://hl7.fi/fhir/finnish-base-profiles/StructureDefinition/condition-permanence | |||||
physicalExcercise | 0..1 | Coding | Type of physical exercise during which injury occurred. URL: https://hl7.fi/fhir/finnish-base-profiles/StructureDefinition/condition-physical-excercise | |||||
endocrinologicalDisorder | 0..1 | Coding | Endocrinological disorder URL: https://hl7.fi/fhir/finnish-base-profiles/StructureDefinition/condition-endocrinological-disorder | |||||
conditionCausedByMedication | 0..1 | Coding | Medication that caused this condition URL: https://hl7.fi/fhir/finnish-base-profiles/StructureDefinition/condition-caused-by-medication | |||||
conditionExternalCause | 0..1 | Coding | External cause for diagnosis URL: https://hl7.fi/fhir/finnish-base-profiles/StructureDefinition/condition-external-cause | |||||
conditionCategorizationOfAccident | 0..1 | Coding | Categorization of the type of accident URL: https://hl7.fi/fhir/finnish-base-profiles/StructureDefinition/condition-categorization-of-accident | |||||
causeOfAdverseEffect | 0..1 | Coding | Cause of an adverse effect URL: https://hl7.fi/fhir/finnish-base-profiles/StructureDefinition/condition-cause-of-adverse-effect | |||||
modifierExtension | ?! | 0..* | Extension | Extensions that cannot be ignored | ||||
identifier | Σ | 0..* | Identifier | External Ids for this condition | ||||
clinicalStatus | ?!SΣC | 0..1 | CodeableConcept | active | recurrence | relapse | inactive | remission | resolved Binding: ConditionClinicalStatusCodes (required): The clinical status of the condition or diagnosis. | ||||
verificationStatus | ?!SΣC | 0..1 | CodeableConcept | unconfirmed | provisional | differential | confirmed | refuted | entered-in-error Binding: ConditionVerificationStatus (required): The verification status to support or decline the clinical status of the condition or diagnosis. | ||||
category | S | 0..* | CodeableConcept | problem-list-item | encounter-diagnosis Binding: ConditionCategoryCodes (extensible): A category assigned to the condition. | ||||
severity | 0..1 | CodeableConcept | Subjective severity of condition Binding: Condition/DiagnosisSeverity (preferred): A subjective assessment of the severity of the condition as evaluated by the clinician. | |||||
code | SΣ | 1..1 | CodeableConcept | Identification of the condition, problem or diagnosis Binding: Condition/Problem/DiagnosisCodes (example): Identification of the condition or diagnosis. | ||||
bodySite | Σ | 0..* | CodeableConcept | Anatomical location, if relevant Binding: SNOMEDCTBodyStructures (example): Codes describing anatomical locations. May include laterality. | ||||
subject | SΣ | 1..1 | Reference(FI Base Patient) | Who has the condition? | ||||
encounter | Σ | 0..1 | Reference(Encounter) | Encounter created as part of | ||||
onset[x] | Σ | 0..1 | Estimated or actual date, date-time, or age | |||||
onsetDateTime | dateTime | |||||||
onsetAge | Age | |||||||
onsetPeriod | Period | |||||||
onsetRange | Range | |||||||
onsetString | string | |||||||
abatement[x] | C | 0..1 | When in resolution/remission | |||||
abatementDateTime | dateTime | |||||||
abatementAge | Age | |||||||
abatementPeriod | Period | |||||||
abatementRange | Range | |||||||
abatementString | string | |||||||
recordedDate | Σ | 0..1 | dateTime | Date record was first recorded | ||||
recorder | Σ | 0..1 | Reference(Practitioner | PractitionerRole | Patient | RelatedPerson) | Who recorded the condition | ||||
asserter | Σ | 0..1 | Reference(Practitioner | PractitionerRole | Patient | RelatedPerson) | Person who asserts this condition | ||||
stage | C | 0..* | BackboneElement | Stage/grade, usually assessed formally | ||||
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 | ||||
summary | C | 0..1 | CodeableConcept | Simple summary (disease specific) Binding: ConditionStage (example): Codes describing condition stages (e.g. Cancer stages). | ||||
assessment | C | 0..* | Reference(ClinicalImpression | DiagnosticReport | Observation) | Formal record of assessment | ||||
type | 0..1 | CodeableConcept | Kind of staging Binding: ConditionStageType (example): Codes describing the kind of condition staging (e.g. clinical or pathological). | |||||
evidence | C | 0..* | BackboneElement | Supporting evidence | ||||
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 | ||||
code | ΣC | 0..* | CodeableConcept | Manifestation/symptom Binding: ManifestationAndSymptomCodes (example): Codes that describe the manifestation or symptoms of a condition. | ||||
detail | ΣC | 0..* | Reference(Resource) | Supporting information found elsewhere | ||||
note | 0..* | Annotation | Additional information about the Condition | |||||
Documentation for this format |
Path | Conformance | ValueSet | ||||
Condition.language | preferred | CommonLanguages
| ||||
Condition.clinicalStatus | required | ConditionClinicalStatusCodes | ||||
Condition.verificationStatus | required | ConditionVerificationStatus | ||||
Condition.category | extensible | ConditionCategoryCodes | ||||
Condition.severity | preferred | Condition/DiagnosisSeverity | ||||
Condition.code | example | Condition/Problem/DiagnosisCodes | ||||
Condition.bodySite | example | SNOMEDCTBodyStructures | ||||
Condition.stage.summary | example | ConditionStage | ||||
Condition.stage.type | example | ConditionStageType | ||||
Condition.evidence.code | example | ManifestationAndSymptomCodes |
Id | Grade | Path(s) | Details | Requirements |
con-1 | error | Condition.stage | Stage SHALL have summary or assessment : summary.exists() or assessment.exists() | |
con-2 | error | Condition.evidence | evidence SHALL have code or details : code.exists() or detail.exists() | |
con-3 | best practice | Condition | Condition.clinicalStatus SHALL be present if verificationStatus is not entered-in-error and category is problem-list-item : clinicalStatus.exists() or verificationStatus.coding.where(system='http://terminology.hl7.org/CodeSystem/condition-ver-status' and code = 'entered-in-error').exists() or category.select($this='problem-list-item').empty() | |
con-4 | error | Condition | If condition is abated, then clinicalStatus must be either inactive, resolved, or remission : abatement.empty() or clinicalStatus.coding.where(system='http://terminology.hl7.org/CodeSystem/condition-clinical' and (code='resolved' or code='remission' or code='inactive')).exists() | |
con-5 | error | Condition | Condition.clinicalStatus SHALL NOT be present if verification Status is entered-in-error : verificationStatus.coding.where(system='http://terminology.hl7.org/CodeSystem/condition-ver-status' and code='entered-in-error').empty() or clinicalStatus.empty() | |
dom-2 | error | Condition | If the resource is contained in another resource, it SHALL NOT contain nested Resources : contained.contained.empty() | |
dom-3 | error | Condition | 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 | Condition | 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 | Condition | If a resource is contained in another resource, it SHALL NOT have a security label : contained.meta.security.empty() | |
dom-6 | best practice | Condition | 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() |
This structure is derived from FiBaseCondition
Summary
Extensions
This structure refers to these extensions:
Other representations of profile: CSV, Excel, Schematron