From c8a223dfc828cc0417050cc1a8debe925f06e9cb Mon Sep 17 00:00:00 2001 From: Paul-Christian Volkmer Date: Fri, 18 Apr 2025 12:48:39 +0200 Subject: [PATCH 1/2] feat: add "Art der Krankenkasse" as propcat and field --- forms/dnpm-formulare.osc | 196 ++++++++++++++++++++++++++++++++++++++- 1 file changed, 193 insertions(+), 3 deletions(-) diff --git a/forms/dnpm-formulare.osc b/forms/dnpm-formulare.osc index 2940c0a..cc2df30 100644 --- a/forms/dnpm-formulare.osc +++ b/forms/dnpm-formulare.osc @@ -1315,6 +1315,102 @@ 1 + + DNPM.ArtDerKrankenkasse + Art der Krankenkasse + SIMPLE + false + Gemäß DNPM-Datenmodell 2.1 + 20119 + 1b533b2e-d0ef-4d38-a227-e0bc68dff04a + 2 + + + 1 + 2025-04-17Z + DNPM.ArtDerKrankenkasse.v1 + true + v1 + 20119 + 3fdbb38c-9c09-4fee-915a-ce976a8c3a9f + 2 + + + GKV + gesetzliche Krankenversicherung + gesetzliche Krankenversicherung + + + 1.0 + + + PKV + private Krankenversicherung + private Krankenversicherung + + + 2.0 + + + BG + Berufsgenossenschaft + Berufsgenossenschaft + + + 3.0 + + + SEL + Selbstzahler + Selbstzahler + + + 4.0 + + + SOZ + Sozialamt + Sozialamt + + + 5.0 + + + GPV + gesetzliche Pflegeversicherung + gesetzliche Pflegeversicherung + + + 6.0 + + + PPV + private Pflegeversicherung + private Pflegeversicherung + + + 7.0 + + + BEI + Beihilfe + Beihilfe + + + 8.0 + + + + + + + + BENUTZER Bibliothek + + DNPM + 1 + + DNPM.Verwandschaftsgrad DNPM.Verwandschaftsgrad @@ -3035,7 +3131,7 @@ false 20119 ab9d331c-8d95-49e5-adc2-73295c8fa1a3 - 49 + 50 OS.WeitereKlassifikationenWerte @@ -4068,6 +4164,31 @@ 77f4f034-b565-4ef5-b3b4-621b8b8ac8ff 16 + + DNPM.ArtDerKrankenkasse + ArtDerKrankenkasse + art_der_krankenkasse + Art der Krankenkasse + propertyCatalogue + + + 0 + + true + false + false + false + 0.0 + + false + false + 2 + false + + 20119 + f8072049-7943-447e-ada2-86c01180863a + 1 + @@ -14341,7 +14462,7 @@ 20119 3cb37cdf-ee10-4652-b426-531b07ee3d6b - 229 + 230 true @@ -14539,6 +14660,75 @@ false false + + combobox + ArtDerKrankenkasse + Art der Krankenkasse + true + false + true + 5.0 + + + + false + false + + 1 + 0 + ArtDerKrankenkasse + DNPM_KPA + Bereich2 + none + 0 + + 0 + false + BOTH + false + + + + 1 + true + false + 0 + 0 + false + + + true + false + false + code + code,kurz + + 0 + 0 + 0 + 0 + 0 + false + false + false + 1 + 0 + 0 + true + + false + false + 1 + 0 + true + false + 0 + 20119 + 72dae182-1f70-433c-b289-0c8ee1a286d0 + 1 + false + false + section Bereich1 @@ -18373,7 +18563,7 @@ false 20119 3cb37cdf-ee10-4652-b426-531b07ee3d6b - 229 + 230 From e9560f4938d937ade91bacea00c41088a42dac3d Mon Sep 17 00:00:00 2001 From: Paul-Christian Volkmer Date: Fri, 18 Apr 2025 13:17:13 +0200 Subject: [PATCH 2/2] feat: select value by Versichertennummer --- forms/dnpm-formulare.osc | 12 +++++------- 1 file changed, 5 insertions(+), 7 deletions(-) diff --git a/forms/dnpm-formulare.osc b/forms/dnpm-formulare.osc index cc2df30..7c4409b 100644 --- a/forms/dnpm-formulare.osc +++ b/forms/dnpm-formulare.osc @@ -11927,8 +11927,8 @@ AntragKostenuebernahme = '1'&#10;and&#10;GrundAblehnungKosten = 'w' true - AntragKostenuebernahme GrundAblehnungKosten + AntragKostenuebernahme false @@ -12902,8 +12902,8 @@ AntragKostenuebernahme = '1'&#10;and&#10;StatusKostenuebernahme = 'rejected' true - AntragKostenuebernahme StatusKostenuebernahme + AntragKostenuebernahme false @@ -14453,7 +14453,7 @@ true - patient = getPatient();&#10;setFieldValue('Geburtsdatum', patient.geburtsdatum);&#10;setFieldValue('Todesdatum', patient.sterbedatum);&#10;setFieldValue('Geschlecht', patient.geschlecht);&#10;setFieldValue('Krankenkasse', patient.krankenkassennummer);&#10;&#10;erkrankung = getCurrentDisease();&#10;setFieldValue('DatumErstdiagnose', erkrankung.diagnosisDate);&#10;setFieldVersion('ICDO3Lokalisation', erkrankung.diagnosisDate)&#10;setFieldValue('ICDO3Lokalisation', erkrankung.localisationCode);&#10;setFieldVersion('ICDO3Histologie', erkrankung.diagnosisDate)&#10;setFieldValue('ICDO3Histologie', erkrankung.histologyCode);&#10;setFieldVersion('ICD10', erkrankung.diagnosisDate)&#10;setFieldValue('ICD10', erkrankung.icd10Code);&#10;&#10;executePluginMethod('DNPMHelper', 'getSystemischeTherapienFromDiagnose', {'DiagnoseId': getCurrentDisease().id},&#10;function(result) {&#10; setFieldValue('DNPMTherapielinie', result.result);&#10; for (var i = 0; i <= result.result.length; i++) setSubformFieldValue('Nummer', i, i) &#10;}, true);&#10;&#10;executePluginMethod('DNPMHelper', 'getEcogStatus', {PatientId: getPatient().id}, (resp) => {&#10; if (resp.status.code === 1) {&#10; // Hack: Get version id of ECOG status as stored in Database&#10; // by using initial empty entry and its version.&#10; // Since OS always creates an initial empty entry for subforms&#10; // this can be used to get required version id from within a form script.&#10; let version = getFieldValue('ECOGVerlauf')[0].ECOG.version;&#10;&#10; // Abort if no version available.&#10; if (version == null) {&#10; return;&#10; }&#10;&#10; let uf = resp.result&#10; .map(item => {&#10; let dateOffset = new Date(item.date).getTimezoneOffset() * -60 * 1000;&#10; let date = new Date(new Date(item.date).getTime() + dateOffset).toISOString().match(/^\d{4}-\d{2}-\d{2}/);&#10; let ecog = [];&#10; ecog.val = item.status;&#10; ecog.version = version;&#10; return {&#10; Datum: [date ? date[0] : null, 'exact'], ECOG: ecog&#10; };&#10; })&#10; // Ignore items without valid values&#10; .filter(item => item.Datum[0] && (item.ECOG >= 0 && item.ECOG <= 5));&#10; setFieldValue('ECOGVerlauf', uf);&#10; }&#10;}, false); + patient = getPatient();&#10;setFieldValue('Geburtsdatum', patient.geburtsdatum);&#10;setFieldValue('Todesdatum', patient.sterbedatum);&#10;setFieldValue('Geschlecht', patient.geschlecht);&#10;setFieldValue('Krankenkasse', patient.krankenkassennummer);&#10;&#10;// Art der Krankenkasse&#10;if (new RegExp(/[A-Z]\d{9}/).test(patient.versicherungsnummer)) {&#10; setFieldValue('ArtDerKrankenkasse', 'GKV');&#10;}&#10;else if (new RegExp(/16\d{7}|950\d{6}/).test(patient.versicherungsnummer)) {&#10; setFieldValue('ArtDerKrankenkasse', 'PKV');&#10;}&#10;else if ('970000011' == patient.versicherungsnummer) {&#10; setFieldValue('ArtDerKrankenkasse', 'SEL');&#10;}&#10;&#10;erkrankung = getCurrentDisease();&#10;setFieldValue('DatumErstdiagnose', erkrankung.diagnosisDate);&#10;setFieldVersion('ICDO3Lokalisation', erkrankung.diagnosisDate)&#10;setFieldValue('ICDO3Lokalisation', erkrankung.localisationCode);&#10;setFieldVersion('ICDO3Histologie', erkrankung.diagnosisDate)&#10;setFieldValue('ICDO3Histologie', erkrankung.histologyCode);&#10;setFieldVersion('ICD10', erkrankung.diagnosisDate)&#10;setFieldValue('ICD10', erkrankung.icd10Code);&#10;&#10;executePluginMethod('DNPMHelper', 'getSystemischeTherapienFromDiagnose', {'DiagnoseId': getCurrentDisease().id},&#10;function(result) {&#10; setFieldValue('DNPMTherapielinie', result.result);&#10; for (var i = 0; i <= result.result.length; i++) setSubformFieldValue('Nummer', i, i) &#10;}, true);&#10;&#10;executePluginMethod('DNPMHelper', 'getEcogStatus', {PatientId: getPatient().id}, (resp) => {&#10; if (resp.status.code === 1) {&#10; // Hack: Get version id of ECOG status as stored in Database&#10; // by using initial empty entry and its version.&#10; // Since OS always creates an initial empty entry for subforms&#10; // this can be used to get required version id from within a form script.&#10; let version = getFieldValue('ECOGVerlauf')[0].ECOG.version;&#10;&#10; // Abort if no version available.&#10; if (version == null) {&#10; return;&#10; }&#10;&#10; let uf = resp.result&#10; .map(item => {&#10; let dateOffset = new Date(item.date).getTimezoneOffset() * -60 * 1000;&#10; let date = new Date(new Date(item.date).getTime() + dateOffset).toISOString().match(/^\d{4}-\d{2}-\d{2}/);&#10; let ecog = [];&#10; ecog.val = item.status;&#10; ecog.version = version;&#10; return {&#10; Datum: [date ? date[0] : null, 'exact'], ECOG: ecog&#10; };&#10; })&#10; // Ignore items without valid values&#10; .filter(item => item.Datum[0] && (item.ECOG >= 0 && item.ECOG <= 5));&#10; setFieldValue('ECOGVerlauf', uf);&#10; }&#10;}, false); true @@ -14462,7 +14462,7 @@ 20119 3cb37cdf-ee10-4652-b426-531b07ee3d6b - 230 + 231 true @@ -14681,7 +14681,6 @@ Bereich2 none 0 - 0 false BOTH @@ -14702,7 +14701,6 @@ false code code,kurz - 0 0 0 @@ -18563,7 +18561,7 @@ false 20119 3cb37cdf-ee10-4652-b426-531b07ee3d6b - 230 + 231