diff --git a/examples/uf-einzelempfehlung/klinik_anamnese-getEcogStatus.js b/examples/uf-einzelempfehlung/klinik_anamnese-getEcogStatus.js index 02a2fea..763b683 100644 --- a/examples/uf-einzelempfehlung/klinik_anamnese-getEcogStatus.js +++ b/examples/uf-einzelempfehlung/klinik_anamnese-getEcogStatus.js @@ -13,15 +13,18 @@ executePluginMethod('DNPMHelper', 'getEcogStatus', {PatientId: getPatient().id}, return; } - let uf = resp.result.map(item => { - let date = new Date(item.date).toISOString().split('T')[0]; - let ecog = []; - ecog.val = item.status; - ecog.version = version; - return { - Datum: [date, 'exact'], ECOG: ecog - }; - }); + let uf = resp.result + .map(item => { + let date = item.date.match(/^\d{4}-\d{2}-\d{2}/); + let ecog = []; + ecog.val = item.status; + ecog.version = version; + return { + Datum: [date ? date[0] : null, 'exact'], ECOG: ecog + }; + }) + // Ignore items without valid values + .filter(item => item.Datum[0] && (item.ECOG >= 0 && item.ECOG <= 5)); setFieldValue('ECOGVerlauf', uf); } }, false); \ No newline at end of file diff --git a/forms/dnpm-formulare.osc b/forms/dnpm-formulare.osc index 0181101..11fbcdd 100644 --- a/forms/dnpm-formulare.osc +++ b/forms/dnpm-formulare.osc @@ -1,7 +1,7 @@ - 2023-09-01Z + 2023-09-25Z OnkoStar 2.11.1.6 @@ -10035,7 +10035,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.map(item => {&#10; let date = new Date(item.date).toISOString().split('T')[0];&#10; let ecog = [];&#10; ecog.val = item.status;&#10; ecog.version = version;&#10; return {&#10; Datum: [date, 'exact'], ECOG: ecog&#10; };&#10; });&#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;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 date = item.date.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 @@ -10044,7 +10044,7 @@ 20119 d2689561-8119-4907-b2e3-ce63e5fafef0 - 222 + 223 true @@ -18977,4 +18977,4 @@ - \ No newline at end of file +