Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Introduce reason-for-visit condition category #90

Merged
merged 2 commits into from
Mar 23, 2023
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
17 changes: 9 additions & 8 deletions input/fsh/condition.fsh
Original file line number Diff line number Diff line change
@@ -1,20 +1,14 @@

Profile: FiBaseCondition
Parent: http://hl7.org/fhir/uv/ipa/StructureDefinition/ipa-condition
Id: fi-base-condition
Title: "FI Base Condition"
Description: "This is the Finnish base profile for the Condition resource."
* ^status = #draft

* extension contains IsNotAuthoredByMedicalDoctor named isNotAuthoredByMedicalDoctor 0..1
* extension contains Sport named sport 0..1
* extension contains EndocrinologicalDisorder named endocrinologicalDisorder 0..1

Extension: IsNotAuthoredByMedicalDoctor
Id: condition-is-not-authored-by-medical-doctor
Title: "Is not authored by medical doctor"
Description: "Information on whether the reason for the visit or treatment period is recorded by a healthcare professional other than a doctor."
* value[x] only boolean

Extension: Sport
Id: condition-sport
Title: "Type of sport in injury"
Expand Down Expand Up @@ -55,4 +49,11 @@ Title: "Haittavaikutuksen aiheuttaja"
Description: "koodilla ilmaistu tieto haittavaikutuksen ulkoisesta syystä silloin, kun syynä on toimenpide tai lääke"
* value[x] only Coding

*/
*/

CodeSystem: FiBaseConditionCategory
Id: fi-base-condition-category
Title: "Finnish Condition categories"
Description: "Additional categories for the Finnish Base Condition profile"
* #reason-for-visit "Reason for visit"
"Indicates that this Condition is reason for visit (or treatment period). Reason for visit may be a diagnosis asserted by a clinician (a Diagnosis or Diagnoosi in finnish) or other healthcare professional (Käyntisyy in finnish)."
15 changes: 6 additions & 9 deletions input/fsh/examples/diagnosisSimple.fsh
Original file line number Diff line number Diff line change
@@ -1,12 +1,11 @@
Instance: DiagnosisSimple
InstanceOf: FiBaseCondition
Title: "Condition - an example diagnosis"
Description: "An example of a diagnosis using the FiBaseCondition pofile."
Description: "An example of a diagnosis using the FiBaseCondition pofile. This diagnosis is asserted by a clinician."
Usage: #example
* id = "id-for-diagnosis-1"
* category[0].coding.system = #urn:oid:1.2.246.537.6.12.2002
* category[0].coding.code = #166
* category[0].coding.display = "Diagnoosit"
* category[0].coding.system = #https://hl7.fi/fhir/finnish-base-profiles/CodeSystem/fi-base-condition-category
Copy link
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I'm not entirely sure we want to start hosting code systems here, but also not against it. Perhaps requires some discussion?

Copy link
Collaborator Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Most certainly needs discussion :)

* category[0].coding.code = #reason-for-visit

* category[1].coding.system = #http://terminology.hl7.org/CodeSystem/condition-category
* category[1].coding.code = #encounter-diagnosis
Expand All @@ -15,9 +14,9 @@ Usage: #example
* category[2].coding.code = #PAA
* category[2].coding.display = "Päädiagnoosi tai päätoimenpide"

* category[2].coding.system = #urn:1.2.246.537.5.40003.2003
* category[2].coding.code = #PYS
* category[2].coding.display = "Pysyväisluonteinen"
* category[3].coding.system = #urn:1.2.246.537.5.40003.2003
* category[3].coding.code = #PYS
* category[3].coding.display = "Pysyväisluonteinen"

* subject = Reference(PatientOfMunicipality)
* code.coding.system = #1.2.246.537.6.1.1999
Expand All @@ -31,5 +30,3 @@ Usage: #example

* onsetDateTime = "2023-01-05T02:06:24+03:00"
* clinicalStatus = #active

* extension[IsNotAuthoredByMedicalDoctor].valueBoolean = false
47 changes: 32 additions & 15 deletions input/pagecontent/StructureDefinition-fi-base-condition-intro.md
Original file line number Diff line number Diff line change
Expand Up @@ -10,20 +10,32 @@ Use cases:
* Diagnosis -based conditions and Finnish Kayntisyy
* Other usages?

### Diagnosis -based conditions and Finnish *käyntisyy*
### Reasons for visit (Diagnosis -based conditions and Finnish *käyntisyy*)

A condition isn't always a diagnosis. `category` is used to identify that a condition is a diagnosis.
To identify that a condition is a diagnosis or Finnish *käyntisyy*, the `category` -field MUST
contain code `166` from Finnish [AR/YDIN - Näkymät](https://koodistopalvelu.kanta.fi/codeserver/pages/classification-view-page.xhtml?classificationKey=226&versionKey=301)
-code system.
Reason for visit 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.

TODO is ok to use `166` for Finnish *käyntisyy* also? Having a category code would clean up this
profile. We would not need an extension.
To identify that a condition resource is a reason for visit, it MUST contain `category` code
`reason-for-visit`.

THL has a data model for Finnish diagnosis in code server:
A reason for visit condition needs to be further categorized to make the distinction between
clinician asserted diagnosis and other *käyntisyy* conditions. When condition 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.

THL has a data model for Finnish diagnosis (including *käyntisyy*) in code server:
[THL/Tietosisältö - Diagnoosit](https://koodistopalvelu.kanta.fi/codeserver/pages/classification-view-page.xhtml?classificationKey=543&versionKey=1543)
("THL specification").

Categories match to THL specification in following way:

* when `reason-for-visit` is present --> This is a diagnosis or *käyntisyy* as identifed by THL specification
* (There are many other kind of conditions in FHIR that don't have this category)
* when additionally `encounter-diagnosis` is present --> This is a diagnosis and is not a *käyntisyy*
* In THL specification, codeId 23: Käyntisyy has value False
* when `encounter-diagnosis` is not present --> This is a *käyntisyy*
* In THL specification, codeId 23: Käyntisyy has value True

#### Diagnosis Code Systems

When using [Finnish ICD-10](https://koodistopalvelu.kanta.fi/codeserver/pages/classification-view-page.xhtml?classificationKey=23&versionKey=58)
Expand Down Expand Up @@ -103,7 +115,7 @@ Extension `isNotAuthoredByMedicalDoctor` with value `true` MUST be used when con
It MAY be used with value `false` on medical doctor asserted diagnosis, but absence of this extension
SHALL be interpreted as not being a *käyntisyy*.

In THL specification, this data is codeId 23: Käyntisyy.


#### Type of sport in injury cases

Expand All @@ -121,15 +133,20 @@ TODO add example.

In THL specification, this data is codeId: 27 Endokrinologisen häiriön koodi.

#### 28 Aiheuttajan ATC-koodi
#### 28 Aiheuttajan ATC-koodi

TODO define extension and example

#### 3 Diagnoosin ulkoinen syy
#### 3 Diagnoosin ulkoinen syy

TODO define extension and example

#### 4 Diagnoosin tapaturmatyyppi
#### 4 Diagnoosin tapaturmatyyppi

TODO define extension and example
#### 5 Haittavaikutuksen aiheuttaja

#### 5 Haittavaikutuksen aiheuttaja

TODO define extension and example

#### Other category usages
Expand All @@ -143,7 +160,7 @@ mapping work to be done. Following list contains most relevant parts that need w

* Use of `problem-list-item` for long term diagnosis ("Pitkäaikaisdiagnoosi" or "Pysyvä diagnoosi" in finnish)? The conceptual mapping is not staightforward.
* THL Tietosisältö 10 Tiedon lähde
* extension?
* extension?
* THL Tietosisältö 15 Diagnoosin päättymisen toteajan nimi
* THL Tietosisältö 17 Diagnoosin päättymisen syy
* THL Tietosisältö 18 Diagnoosin päättymisen syyn tarkenne
Expand All @@ -155,4 +172,4 @@ mapping work to be done. Following list contains most relevant parts that need w
#### Links

* [Suomalainen tautien kirjaamisen ohjekirja](https://thl.fi/documents/10531/124365/Opas%202012%2017.pdf)
national guide for the use if ICD-10.
national guide for the use if ICD-10.