Skip to content

Mergeable consolidated logical models EZA & AIOC #21

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

Open
wants to merge 25 commits into
base: main
Choose a base branch
from
Open
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
25 commits
Select commit Hold shift + click to select a range
11f9cad
json data model added for clinical and first try at fhir datamodel
yannick-vinkesteijn May 9, 2024
4e011f2
install fsh-sushi in node_modules
nathan-eza Jul 3, 2024
1f8efbf
initial logical models
nathan-eza Jul 3, 2024
36e958d
.index.db files ? in ig-template-plugin
nathan-eza Jul 3, 2024
f8c8e67
Merge https://github.com/plugin-healthcare/implementation-guide into …
nathan-eza Oct 30, 2024
56ef40a
New / adjusted EZA logical models
nathan-eza Oct 30, 2024
a108d17
Getting further ahead but running into issues still
nathan-eza Oct 30, 2024
db9f798
Build process werkend krijgen
nathan-eza Nov 4, 2024
9ca609b
Headings ezapredictive usecase
nathan-eza Nov 4, 2024
37b646a
Merge branch 'main' into dhd-resources
yannick-vinkesteijn Nov 12, 2024
6b665eb
checkpoint procedures and admissions
yannick-vinkesteijn Nov 12, 2024
67368d7
Merge remote-tracking branch 'origin/main' into eza-first-draft
nathan-eza Nov 13, 2024
a343371
added some more doc resources
yannick-vinkesteijn Nov 19, 2024
f69a113
logical models unremoved and updated
yannick-vinkesteijn Dec 11, 2024
b86be11
Merge remote-tracking branch 'origin/dhd-resources' into consolidate-…
nathan-eza Mar 19, 2025
0ecb578
Merge branch 'eza-first-draft' into consolidate-logical-models
nathan-eza Mar 19, 2025
8a023bb
0.11.0 in readme and gitignore node_modules
May 13, 2025
79e595b
Merge branch 'eza-first-draft' into consolidate-logical-models
May 15, 2025
6727b54
0 SUSHI errors but still broken
May 15, 2025
b75ddac
Runs again
May 15, 2025
56e7d94
Merge remote-tracking branch 'origin/main' into mergeable-consolidate…
nathan-eza May 28, 2025
be21745
plugin-pathologyreport -> plugin-PathologyReport
nathan-eza May 28, 2025
1f1fc25
Markdown and navigation changes for AIOC
nathan-eza May 28, 2025
1bbf942
Ordering aligned across dropdowns
nathan-eza May 28, 2025
110006c
vesion 0.0.3 ?
nathan-eza May 28, 2025
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
1 change: 1 addition & 0 deletions .gitignore
100755 → 100644
Original file line number Diff line number Diff line change
@@ -1,3 +1,4 @@
node_modules/*
.direnv/*
.venv/*
fsh-generated/*
Expand Down
8 changes: 6 additions & 2 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -54,9 +54,13 @@ chmod +x _genonce.sh
If sushi complains about snapshots (_"Structure Definition http://nictiz.nl/fhir/StructureDefinition/nl-core-Patient is missing a snapshot. Snapshot is required for import."_), please follow these steps:

1. Download the package [nictiz.fhir.nl.r4.nl-core](https://simplifier.net/packages/nictiz.fhir.nl.r4.nl-core) **with snapshots** from Simplifier.
2. Overwrite the contents of `~/.fhir/packages/nictiz.fhir.nl.r4.nl-core#0.10.0/package` with the contents of the downloaded `tgz`.
2. Overwrite the contents of `~/.fhir/packages/nictiz.fhir.nl.r4.nl-core#0.11.0/package` with the contents of the downloaded `tgz`.
3. Re-run `sushi`.


> [!warning]
> The above uses version 0.10.0 of the nl-core package. Please note that version numbers may have changed the meantime.
> The above uses version 0.11.0 of the nl-core package. Please note that version numbers may have changed the meantime.

### Case sensitive files

When you run into case-sensitivity issues in the IG compile process, run `make clean` and try again. This can be related to MacOS or Windows not using case-sensitive file paths and sushi reusing outdated renamed cached output files.
Binary file modified ig-template-plugin/content/.index.db
Binary file not shown.
Binary file modified ig-template-plugin/content/assets/.index.db
Binary file not shown.
Binary file modified ig-template-plugin/content/assets/css/.index.db
Binary file not shown.
Binary file modified ig-template-plugin/content/assets/ico/.index.db
Binary file not shown.
Binary file modified ig-template-plugin/content/assets/images/.index.db
Binary file not shown.
Binary file modified ig-template-plugin/includes/.index.db
Binary file not shown.
Binary file modified ig-template-plugin/package/.index.db
Binary file not shown.
2 changes: 2 additions & 0 deletions input/fsh/aliases.fsh
Original file line number Diff line number Diff line change
Expand Up @@ -13,3 +13,5 @@ Alias: $DHD_DX_TH = https://plugin.healthcare/fhir/CodeSystem/dhd-dx-thesaurus

// diagnosticServiceSectionId
Alias: $HL7_DX_SERVICE = http://terminology.hl7.org/CodeSystem/v2-0074

// Alias: $ZibProcedureevent = http://nictiz.nl/fhir/StructureDefinition/zib-Procedure-event
15 changes: 0 additions & 15 deletions input/fsh/models/AIOC/AIOCCommunication.fsh

This file was deleted.

18 changes: 0 additions & 18 deletions input/fsh/models/AIOC/AIOCCondition.fsh

This file was deleted.

19 changes: 0 additions & 19 deletions input/fsh/models/AIOC/AIOCProcedure.fsh

This file was deleted.

100 changes: 100 additions & 0 deletions input/fsh/models/AIOC/clinical/AIOCAdmission.fsh
Original file line number Diff line number Diff line change
@@ -0,0 +1,100 @@
// -------------------------------------------------------------------------------
// Logical Model
// -------------------------------------------------------------------------------
Logical: AIOCAdmission
Id: AIOCAdmission
Title: "AIOC opname"
Description: """Logisch model voor de tabel `opname` zoals gebruikt binnen de use-case AIOC.
Maturity Level: 0 Draft
"""
* patient_id 1..1 Identifier "id van de patiënt" ""
* admission_id 1..1 Identifier "id van de opname" ""
* admission_date 1..1 date "Datum van opname." ""
* admission_time 0..1 time "Tijd van opname." ""
* discharge_date 0..1 date "Datum van ontslag." ""
* discharge_time 0..1 time "Tijd van ontslag." ""
* age_dimension 1..1 CodeableConcept "Leeftijd dimensie "
* age_at_admission 1..1 integer "Leeftijd bij opname" ""
* gender 1..1 CodeableConcept "Geslacht" ""
* urgency 0..1 code "Urgentie van de opname. Gecodeerd als 0: geen urgentie; 1: urgent" ""
* source_of_admission 0..1 string "" ""
* destination_after_discharge 0..1 string "" ""
* clinical_specialty 1..1 CodeableConcept "First or main specialisme code of admission" ""

// -------------------------------------------------------------------------------
// CodeSystem AIOCAgeDimensionCS
// -------------------------------------------------------------------------------
CodeSystem: AIOCAgeDimensionCS
Id: AIOCAgeDimensionCS
Title: "AIOC Age Dimension Code System"
Description: "A code system for age dimension"
* ^status = #draft
* #1 "Jaren" "Age measured in years."
* #2 "Maanden" "Age measured in months."
* #3 "Dagen" "Age measured in days."

// -------------------------------------------------------------------------------
// CodeSystem AIOCGenderCS
// -------------------------------------------------------------------------------
CodeSystem: AIOCGenderCS
Id: AIOCGender
Title: "AIOC Gender Dimension Code System"
Description: "A code system for gender dimension of the patient"
* ^status = #draft
* #0 "Onbekend" "Gender of the patient is unknown"
* #1 "Mannelijk" "Gender of the patient is male"
* #2 "Vrouwelijk" "Gender of the patient is female"
* #3 "Overig" "Gender of the patient is other"
// -------------------------------------------------------------------------------
// CodeSystem AIOCUrgencyCS
// -------------------------------------------------------------------------------
CodeSystem: AIOCUrgencyCS
Id: AIOCUrgencyCS
Title: "AIOC Urgency Code System"
Description: "A code system for urgency of the admission"
* ^status = #draft
* #0 "Geen urgentie" "No urgency"
* #1 "Urgent" "Urgent"
// -------------------------------------------------------------------------------
// CodeSystem AIOCSourceOfAdmissionCS
// -------------------------------------------------------------------------------
CodeSystem: AIOCSourceOfAdmissionCS
Id: AIOCSourceOfAdmissionCS
Title: "AIOC Source of Admission Code System"
Description: "A code system for source of admission"
* ^status = #draft
* #0 "Eigen woonomgeving" "Own living environment."
* #1 "Instelling voor revalidatie" "Rehabilitation facility."
* #2 "Instelling voor verpleging/verzorging" "Nursing/care facility."
* #3 "Psychiatrisch ziekenhuis" "Psychiatric hospital."
* #4 "(Ander) academisch ziekenhuis" "Other academic hospital."
* #5 "(Ander) algemeen ziekenhuis" "Other general hospital."
* #6 "(Ander) categoraal ziekenhuis" "Other categorical hospital."
* #7 "(Ander) ZBC" "Other Independent Treatment Center (ZBC)."
* #8 "Geboren in dit ziekenhuis" "Born in this hospital."
* #9 "Overige instellingen" "Other institutions."
* #12 "Ziekenhuis in het buitenland" "Hospital abroad."
* #13 "Hospice" "Hospice."
// -------------------------------------------------------------------------------
// CodeSystem AIOCDestinationAfterDischargeCS
// -------------------------------------------------------------------------------
CodeSystem: AIOCDestinationAfterDischargeCS
Id: AIOCDestinationAfterDischargeCS
Title: "AIOC Destination After Discharge Code System"
Description: "A code system for destination after discharge"
* ^status = #draft
* #0 "Eigen woonomgeving" "Own living environment."
* #1 "Instelling voor revalidatie" "Rehabilitation facility."
* #2 "Instelling voor verpleging/verzorging" "Nursing/care facility."
* #3 "Psychiatrisch ziekenhuis" "Psychiatric hospital."
* #4 "(Ander) academisch ziekenhuis" "Other academic hospital."
* #5 "(Ander) algemeen ziekenhuis" "Other general hospital."
* #6 "(Ander) categoraal ziekenhuis" "Other categorical hospital."
* #7 "(Ander) ZBC" "Other Independent Treatment Center (ZBC)."
* #8 "Geboren in dit ziekenhuis" "Born in this hospital."
* #9 "Overige instellingen" "Other institutions."
* #12 "Ziekenhuis in het buitenland" "Hospital abroad."
* #13 "Hospice" "Hospice."
// -------------------------------------------------------------------------------


20 changes: 20 additions & 0 deletions input/fsh/models/AIOC/clinical/AIOCCondition.fsh
Original file line number Diff line number Diff line change
@@ -0,0 +1,20 @@
// -------------------------------------------------------------------------------
// Logical Model
// -------------------------------------------------------------------------------
Logical: AIOCCondition
Id: AIOCCondition
Title: "AIOC diagnoses"
Description: """Logisch model voor de tabel `diagnoses` zoals gebruikt binnen de use-case AIOC.
Maturity Level: 0 Draft
"""
* patient_id 1..1 Identifier "id van de patiënt" ""
* admission_id 1..1 Identifier "id van de opname" ""
* admission_date 1..1 date "Datum van opname." ""
* discharge_date 1..1 date "Datum van ontslag." ""
* icd10_diagnosis_code 0..1 CodeableConcept "ICD-code van diagnose" "mandatory for traindata"
* problemlist 0..1 CodeableConcept "Probleemlijst" ""
* diagnosing_clinical_specialty 1..1 CodeableConcept "Specialisme dat de diagnose stelde" ""
* main_diagnosis_indication 1..1 boolean "1: hoofddiagnose, 0: niet hoofddiagnose" ""
* primary_diagnosis_indication 1..1 boolean "1: primaire diagnose, 0: niet primaire diagnose" ""
* nas_indication 1..1 boolean "1: Niet aanwezig bij start opname, 2: wel aanwezig bij start opname" ""

80 changes: 80 additions & 0 deletions input/fsh/models/AIOC/clinical/AIOCDocument.fsh
Original file line number Diff line number Diff line change
@@ -0,0 +1,80 @@
// -------------------------------------------------------------------------------
// Logical Model
// -------------------------------------------------------------------------------
Logical: AIOCCommunication
Id: AIOCCommunication
Title: "AIOC brievenverslagen"
Description: """Logisch model voor de tabel `brievenverslagen` zoals gebruikt binnen de use-case AIOC.
Maturity Level: 0 Draft
"""
* patient_id 1..1 Identifier "id van de patiënt" ""
* admission_id 0..1 Identifier "id van de opname" ""
* document_type 1..1 CodeableConcept "?" ""
* clinical_speciality 1..1 CodeableConcept "Specialisme dat het document opstelde" ""
* publication_date 1..1 date "Datum van publicatie." ""
* text 1..1 string "Inhoud van het document" ""

// // -------------------------------------------------------------------------------
// // CodeableConcepts
// // -------------------------------------------------------------------------------
// Instance: AIOCDocumentTypeVS
// Id: AIOCDocumentTypeVS
// Title: "AIOC Document Type Value Set"
// Description: "Value set voor de verschillende types documenten die in de AIOC use-case voorkomen."
// * ontslag "Ontslagbrief"
// * ok "Operatieverslag"
// * poli "Poliklinische brief"
// * pa "Poliklinische brief"
// * scopie "Scopieverslag"
// * pci/cag "PCI/CAG verslag"
// * seh "SEH verslag"
// * radiology "Radiologie verslag"
// * mdo "MDO verslag"
// * unknown "Onbekend"
// // -------------------------------------------------------------------------------

// -------------------------------------------------------------------------------
// CodeSystem
// -------------------------------------------------------------------------------
Instance: AIOCDocumentTypeCS
InstanceOf: CodeSystem
Title: "AIOC Document Type CodeSystem"
Description: "CodeSystem voor de verschillende types documenten die in de AIOC use-case voorkomen."
Usage: #definition
* url = "https://plugin.healthcare/fhir/CodeSystem/aioc-document-type"
* name = "AIOCDocumentTypeCS"
* status = #active
* content = #complete
* concept[+].code = #ontslag
* concept[=].display = "Ontslagbrief"
* concept[+].code = #ok
* concept[=].display = "Operatieverslag"
* concept[+].code = #poli
* concept[=].display = "Poliklinische brief"
* concept[+].code = #pa
* concept[=].display = "Poliklinische brief"
* concept[+].code = #scopie
* concept[=].display = "Scopieverslag"
* concept[+].code = #pci-cag
* concept[=].display = "PCI/CAG verslag"
* concept[+].code = #seh
* concept[=].display = "SEH verslag"
* concept[+].code = #radiology
* concept[=].display = "Radiologie verslag"
* concept[+].code = #mdo
* concept[=].display = "MDO verslag"
* concept[+].code = #unknown
* concept[=].display = "Onbekend"

// -------------------------------------------------------------------------------
// ValueSet
// -------------------------------------------------------------------------------
Instance: AIOCDocumentTypeVS
InstanceOf: ValueSet
Title: "AIOC Document Type Value Set"
Description: "ValueSet voor de verschillende types documenten die in de AIOC use-case voorkomen."
Usage: #definition
* url = "https://plugin.healthcare/fhir/ValueSet/aioc-document-type"
* name = "AIOCDocumentTypeVS"
* status = #active
* compose.include.system = "https://plugin.healthcare/fhir/CodeSystem/aioc-document-type"
16 changes: 16 additions & 0 deletions input/fsh/models/AIOC/clinical/AIOCProcedure.fsh
Original file line number Diff line number Diff line change
@@ -0,0 +1,16 @@
// -------------------------------------------------------------------------------
// Logical Model
// -------------------------------------------------------------------------------
Logical: AIOCProcedure
Id: AIOCProcedure
Title: "AIOC verrichtingen"
Description: """Logisch model voor de tabel `verrichtingen` zoals gebruikt binnen de use-case AIOC.
Maturity Level: 0 Draft
"""
* patient_id 1..1 Identifier "id van de patiënt" ""
* admission_id 0..1 Identifier "id van de opname" ""
* procedure_date 1..1 date "Datum van verrichting." ""
* procedure_code 1..1 CodeableConcept "ZA of ZI code van de verrichting" ""
* requesting_clinical_specialty 1..1 CodeableConcept "Specialisme dat de verrichting aanvraagt" ""
* executing_clinical_specialty 1..1 CodeableConcept "Specialisme dat de verrichting uitvoert" ""
* subtraject_id 0..1 Identifier "id van het subtraject" ""
Original file line number Diff line number Diff line change
Expand Up @@ -10,7 +10,7 @@ Maturity Level: 0 Draft
* patient_id 1..1 Identifier "id van de patiënt" ""
* admission_id 1..1 Identifier "id van de opname" ""
* admission_date 1..1 date "Datum van opname." ""
* discharge_date 0..1 date "Datum van ontslag." ""
* discharge_date 1..1 date "Datum van ontslag." ""
* subtraject_id 1..1 Identifier "id van het (DBC) subtraject" ""
* dbc_specialitycode 1..1 CodeableConcept "Code van het specialisme dat eigenaar is van de DBC" ""
* dbc_diagnosecode 1..1 CodeableConcept "Code van de diagnose van de DBC" ""
* dbc_specialty_code 1..1 CodeableConcept "Code van het specialisme dat eigenaar is van de DBC" ""
* dbc_diagnosis_code 1..1 CodeableConcept "Code van de diagnose van de DBC" ""
Original file line number Diff line number Diff line change
@@ -1,20 +1,23 @@
// -------------------------------------------------------------------------------
// Logical Model
// -------------------------------------------------------------------------------
Logical: AIOCAdmission
Id: AIOCAdmission
Title: "AIOC opname"
Logical: AIOCDayAdmission
Id: AIOCDayAdmission
Title: "AIOC dagopname"
Description: """Logisch model voor de tabel `opname` zoals gebruikt binnen de use-case AIOC.
Maturity Level: 0 Draft
"""
* patient_id 1..1 Identifier "id van de patiënt" ""
* gender 1..1 CodeableConcept "Geslacht" ""
* admission_id 1..1 Identifier "id van de opname" ""
* subtraject_id 1..1 Identifier "id van het subtraject" ""
* admission_date 1..1 date "Datum van opname." ""
* admission_time 0..1 time "Tijd van opname." ""
* discharge_date 0..1 date "Datum van ontslag." ""
* discharge_time 0..1 time "Tijd van ontslag." ""
* age_at_admission 1..1 integer "Leeftijd bij opname" ""
* urgency 0..1 code "Urgentie van de opname. Gecodeerd als 0: geen urgentie; 1: urgent" ""
* source_of_admission 0..1 string "" ""
* destination_after_discharge 0..1 string "" ""
* age 1..1 integer "Leeftijd bij opname" ""
* gender 1..1 CodeableConcept "Gender" ""
* specialty_code 1..1 CodeableConcept "Specialisme code" ""
* dbc_diagnosis_code 1..1 CodeableConcept "DBC diagnose code" ""
* dbc_specialty_code 1..1 CodeableConcept "DBC specialisme code" ""
* icd10_subtraject_code 1..1 CodeableConcept "ICD10 subtraject code" ""
* icd10_main_code 0..1 CodeableConcept "ICD10 hoofddiagnose code alleen verplicht voor traindata" ""
31 changes: 31 additions & 0 deletions input/fsh/models/AIOC/day/AIOCDocument.fsh
Original file line number Diff line number Diff line change
@@ -0,0 +1,31 @@
// -------------------------------------------------------------------------------
// Logical Model
// -------------------------------------------------------------------------------
Logical: AIOCDayDocument
Id: AIOCDayDocument
Title: "AIOC dag brievenverslagen"
Description: """Logisch model voor de tabel `brievenverslagen` zoals gebruikt binnen de use-case AIOC.
Maturity Level: 0 Draft
"""
* patient_id 1..1 Identifier "id van de patiënt" ""
* admission_id 0..1 Identifier "id van de opname" ""
* document_type 1..1 CodeableConcept "pa, poli, ontslag, ok, scopie, pci/cag" ""
* publication_specialty 1..1 string "Specialisme dat het document opstelde" ""
* publication_date 1..1 date "Datum van publicatie." ""
* text 1..1 string "Inhoud van het document" ""

// // -------------------------------------------------------------------------------
// // CodeableConcepts
// // -------------------------------------------------------------------------------
// CodeableConcept: AIOCDocumentTypeVS
// Id: AIOCDayDocumentTypeVS
// Title: "AIOC Document Type Value Set"
// Description: "Value set voor de verschillende types documenten die in de AIOC use-case voorkomen. Can be merged with clinical doc types"
// * ontslag "Ontslagbrief"
// * ok "Operatieverslag"
// * poli "Poliklinische brief"
// * pa "Poliklinische brief"
// * scopie "Scopieverslag"
// * pci/cag "PCI/CAG verslag"
// * unknown "Onbekend"
// // -------------------------------------------------------------------------------
13 changes: 13 additions & 0 deletions input/fsh/models/AIOC/day/AIOCProcedure.fsh
Original file line number Diff line number Diff line change
@@ -0,0 +1,13 @@
// -------------------------------------------------------------------------------
// Logical Model
// -------------------------------------------------------------------------------
Logical: AIOCDayProcedure
Id: AIOCDayProcedure
Title: "AIOC dag verrichtingen"
Description: """Logisch model voor de tabel `verrichtingen` zoals gebruikt binnen de use-case AIOC.
Maturity Level: 0 Draft
"""
* patient_id 1..1 Identifier "id van de patiënt" ""
* admission_id 0..1 Identifier "id van de opname" ""
* procedure_date 1..1 date "Datum van verrichting." ""
* procedure_code 1..1 CodeableConcept "ZA of ZI code van de verrichting" ""
Loading