Skip to content

Commit

Permalink
2.1.0 (#77)
Browse files Browse the repository at this point in the history
* first version of Condition

* changed version number to 1.2.0 and status to draft

* nyt eksempel condition

* added new condition instances and a new GP organization instance

* Condition documentation added

* Update StructureDefinition-dk-core-condition-intro.md

* Added NotFollowedAnymore, and asserter. More detailed documentation

* Updated Organization and Patient profiles and removed LPR3-identifier

#74 - removed LPR3-identifier
#73 - added description of 'NNDNK' as identifier.type to DKCorePatient
#72 - added description of selection of SOR and ydernummer to DkCoreOrganization
#69 - removed '(GP's)' from DkCoreOrganization

* Changes made to resolve issue #66 Danish/English names and #67 shorts added to slices and extension

* target audience added to index.md, and scope and usage sections in patient and practioner strengthend to resolve issue #68

* Added section about connection between dk-core and common Danish architectures and standard to resolve issue #71

* Changes applied based on review comments

* Changes to Condition following review, added pregancy example and a female patient

* itemization and display for SCT code corrected

* Added legal text

* Re-fsh'ed

* index description of approvals specified

* Released v2.1.0

Co-authored-by: kirstinerosenbeck <[email protected]>
Co-authored-by: tmsMedcom <[email protected]>
  • Loading branch information
3 people authored Nov 8, 2022
1 parent e93d0bd commit 9bbca7d
Show file tree
Hide file tree
Showing 61 changed files with 1,738 additions and 2,657 deletions.
20 changes: 0 additions & 20 deletions input/fsh/AuthorizationIdentifier-Profile.fsh

This file was deleted.

18 changes: 18 additions & 0 deletions input/fsh/AuthorizationIdentifier.fsh
Original file line number Diff line number Diff line change
@@ -0,0 +1,18 @@
Profile: AuthorizationIdentifier
Parent: Identifier
Id: dk-core-authorization-identifier
Title: "Danish Health Professionals Authorization Identifier"
Description: "Identifier holding the official [authorization identifier](https://en.stps.dk/en/health-professionals-and-authorities/online-register-registered-health-professionals/) for a practitioner."
* system 1..
* system = "https://autregweb.sst.dk" (exactly)
* value 1..
* obeys authorization-id-format
* ^maxLength = 5
// WARNING: The constraint index in the following rule (e.g., constraint[0]) may be incorrect.
// Please compare with the constraint array in the original definition's snapshot and adjust as necessary.
* ^constraint.source = "https://stps.dk/da/autorisation/om-autorisationer/autorisations-id/"

Invariant: authorization-id-format
Description: "Authorization ID consists of exactly 5 consonants and Y and or numbers in any order"
Severity: #error
Expression: "matches('^([b-df-hj-np-tv-zB-DF-HJ-NP-TV-Z0-9]){5}$')"
22 changes: 7 additions & 15 deletions input/fsh/CVRIdentifier.fsh
Original file line number Diff line number Diff line change
Expand Up @@ -8,22 +8,14 @@ Description: "Identifier holding a danish [CVR](https://datacvr.virk.dk/data/) n
* system 1..
* system = "http://cvr.dk" (exactly)
* value 1..
* value obeys CVR-length and CVR-modulus-11
* obeys CVR-length and CVR-modulus-11

Invariant: CVR-length
Invariant: CVR-length
Description: "CVR must be exactly 8 numeric characters long"
Expression: "value.matches('^[0-9]{8}$')"
Severity: #error
Severity: #error
Expression: "value.matches('^[0-9]{8}$')"

Invariant: CVR-modulus-11
Invariant: CVR-modulus-11
Description: "CVR must pass the modulus 11 check"
Expression: "((
(value.substring(0,1).toInteger()*2)+
(value.substring(1,1).toInteger()*7)+
(value.substring(2,1).toInteger()*6)+
(value.substring(3,1).toInteger()*5)+
(value.substring(4,1).toInteger()*4)+
(value.substring(5,1).toInteger()*3)+
(value.substring(6,1).toInteger()*2)+
(value.substring(7,1).toInteger()*1)) mod(11)=0)"
Severity: #error
Severity: #error
Expression: "((\n (value.substring(0,1).toInteger()*2)+\n (value.substring(1,1).toInteger()*7)+\n (value.substring(2,1).toInteger()*6)+\n (value.substring(3,1).toInteger()*5)+\n (value.substring(4,1).toInteger()*4)+\n (value.substring(5,1).toInteger()*3)+\n (value.substring(6,1).toInteger()*2)+\n (value.substring(7,1).toInteger()*1)) mod(11)=0)"
16 changes: 0 additions & 16 deletions input/fsh/DK_Valid_Identifier-ValueSet.fsh

This file was deleted.

112 changes: 112 additions & 0 deletions input/fsh/DkCoreCondition.fsh
Original file line number Diff line number Diff line change
@@ -0,0 +1,112 @@
Profile: DkCoreCondition
Parent: Condition
Id: dk-core-condition
Title: "Danish Core Condition Profile"
Description: "HL7 Denmark core profile for professionally asserted conditions, as specified by danish health and social care organizations"
* ^status = #active
* extension contains
$condition-dueTo named dueTo 0..1 and
ConditionLastAssertedDate named conditionLastAssertedDate 0..1 and
NotFollowedAnymore named notFollowedAnymore 0..1
* extension[conditionLastAssertedDate] ^short = "Last date a condition was confirmed valid in its current state"
* extension[notFollowedAnymore] ^short = "Date where a condition lost focus in a specific clinical context"
* code.coding ^slicing.discriminator.type = #value
* ^slicing.discriminator.path = "system"
* ^slicing.rules = #open
* ^slicing.ordered = false
* ^slicing.description = "Slice based on the code.system value which allow different code-systems to represent a condition"
* ^short = "Condition code, [DA] tilstandskode"
* code.coding contains
FSIIIConditionCode 0..1 and
SCTConditionCode 0..1 and
FFBConditionCode 0..1 and
SKS-D 0..1 and
ICPC2code 0..1
* code.coding[FSIIIConditionCode] ^short = "[DA] FSIII tilstandskode"
* system 1..
* system = "urn:oid:1.2.208.176.2.21"
* code.coding[SCTConditionCode] from $condition-code (required)
* ^short = "SNOMED CT condition code"
* system 1..
* system = "http://snomed.info/sct"
* code.coding[FFBConditionCode] ^short = "[DA] FFB undertemakode"
* system 1..
* system = "urn:oid:1.2.208.176.2.22"
* code.coding[SKS-D] ^short = "[DA] Kode fra D-hierarkiet i SKS"
* system 1..
* system = "urn:oid:1.2.208.176.2.4.12"
* code.coding[ICPC2code] ^short = "ICPC2 code"
* system 1..
* system = "urn:oid:1.2.208.176.2.31"
* subject only Reference(DkCorePatient)
* recorder only Reference(DkCorePractitioner or PractitionerRole or DkCorePatient or RelatedPerson)
* asserter only Reference(DkCorePractitioner or PractitionerRole)

Instance: ConditionPressureUlcer
InstanceOf: DkCoreCondition
Title: "John tryksår"
Description: "John, tryksår, kommunal tilstand"
Usage: #example
* code.coding[0] = urn:oid:1.2.208.176.2.21#I4.4 "Problemer med tryksår"
* code.coding[+] = $sct#1163220007 "Pressure injury stage II"
* code.text = "Tryksår i stadium 2, siddende på venstre lår. 4cmx5cm, dybde 3mm, ingen infektion."
* extension.url = "http://hl7.dk/fhir/core/StructureDefinition/ConditionLastAssertedDate"
* extension.valueDateTime = "2020-12-12"
* clinicalStatus = $condition-clinical#active
* category = $condition-category#problem-list-item
* subject.reference = "Patient/john"
* recordedDate = "2020-06-05"

Instance: ElseGraviditet
InstanceOf: DkCoreCondition
Title: "Else Graviditet"
Description: "Else Graviditet, tilstandskode som indberettes ifm Elses ambulante forløb (fx jordemoder), og ved eventuel indlæggelse i graviditeten"
Usage: #example
* code = urn:oid:1.2.208.176.2.4.12#DZ340 "Graviditet, førstegangsfødende"
* subject.reference = "Patient/else"
* category = $condition-category#encounter-diagnosis
* recordedDate = "2021-07-03"
* clinicalStatus = $condition-clinical#active
* verificationStatus = $condition-ver-status#confirmed

Instance: JohnDiabetes
InstanceOf: DkCoreCondition
Title: "John diabetes"
Description: "Johns diabetes-diagnose, udskrivningsdiagnose fra hospitalet fx til brug i indberetning og epikrise"
Usage: #example
* code = urn:oid:1.2.208.176.2.4.12#DE11 "Type 2-diabetes"
* subject.reference = "Patient/john"
* asserter.reference = "Practitioner/AbrahamLaege"
* recorder.reference = "Practitioner/AbrahamLaege"
* category = $condition-category#encounter-diagnosis
* onsetDateTime = "2020-02-20"
* recordedDate = "2020-03-15"
* clinicalStatus = $condition-clinical#active
* verificationStatus = $condition-ver-status#confirmed

Instance: JohnMelanoma
InstanceOf: DkCoreCondition
Title: "John mistanke om Modermærkekræft"
Description: "Johns mistanke om modermærkekræft i huden, kan fx bruges som henvisningsdiagnosese"
Usage: #example
* code = urn:oid:1.2.208.176.2.4.12#DC43 "Modermærkekræft i huden"
* subject.reference = "Patient/john"
* asserter.reference = "Practitioner/AbrahamLaege"
* recorder.reference = "Practitioner/AbrahamLaege"
* category = $condition-category#encounter-diagnosis
* recordedDate = "2021-05-01"
* clinicalStatus = $condition-clinical#active
* verificationStatus = $condition-ver-status#unconfirmed

Instance: JohnPacemaker
InstanceOf: DkCoreCondition
Title: "John pacemaker"
Description: "Johns status efter pacemakeroperation, udtrykt semantisk korrekt med fund frem for operationskode"
Usage: #example
* code = $sct#441509002 "Cardiac pacemaker in situ"
* subject.reference = "Patient/john"
* recorder.reference = "Practitioner/AbrahamLaege"
* category = $condition-category#problem-list-item
* recordedDate = "2021-05-01"
* clinicalStatus = $condition-clinical#active
* verificationStatus = $condition-ver-status#confirmed
24 changes: 0 additions & 24 deletions input/fsh/DkCoreCprIdentifier-Profile.fsh

This file was deleted.

24 changes: 24 additions & 0 deletions input/fsh/DkCoreCprIdentifier.fsh
Original file line number Diff line number Diff line change
@@ -0,0 +1,24 @@
Profile: DkCoreCprIdentifier
Parent: Identifier
Id: dk-core-cpr-identifier
Title: "Danish Central Person Register (CPR) Identifier"
Description: "This structure holds the danish [CPR](https://cpr.dk/) identifier"
* ^status = #draft
* use = #official (exactly)
* system 1..
* system = "urn:oid:1.2.208.176.1.2" (exactly)
* value 1..
* obeys cpr
* ^maxLength = 10
// WARNING: The constraint index in the following rule (e.g., constraint[0]) may be incorrect.
// Please compare with the constraint array in the original definition's snapshot and adjust as necessary.
* ^constraint.source = "https://cpr.dk/cpr-systemet/opbygning-af-cpr-nummeret/#:~:text=5%20%2D%206%20position%20angiver%20personens,i%20personnummeret%20angiver%20personens%20k%C3%B8n."
// WARNING: The constraint index in the following rule (e.g., constraint[0]) may be incorrect.
// Please compare with the constraint array in the original definition's snapshot and adjust as necessary.
* ^constraint.requirements = "Requirement of danish civil registration numbers"
* ^mustSupport = false

Invariant: cpr
Description: "Requirement of danish civil registration numbers"
Severity: #error
Expression: "value.matches('^(?:(?:31(?:0[13578]|1[02])|(?:30|29)(?:0[13-9]|1[0-2])|(?:0[1-9]|1[0-9]|2[0-8])(?:0[1-9]|1[0-2]))[0-9]{2}[0-9]|290200[4-9]|2902(?:(?!00)[02468][048]|[13579][26])[0-3])[0-9]{3}$')"
16 changes: 0 additions & 16 deletions input/fsh/DkCoreCprIdentifierSystem-CodeSystem.fsh

This file was deleted.

Loading

0 comments on commit 9bbca7d

Please sign in to comment.