From dc473feec5cfd3419b1b61f43f1cc98b5bdee6d3 Mon Sep 17 00:00:00 2001 From: Marty Pradere Date: Tue, 3 Jun 2025 05:35:33 -0700 Subject: [PATCH 1/2] encounters inherit from parent --- ehr/resources/web/ehr/data/EncounterStoreCollection.js | 8 ++++---- .../web/ehr/window/EncounterAddRecordWindow.js | 10 ++++++++-- 2 files changed, 12 insertions(+), 6 deletions(-) diff --git a/ehr/resources/web/ehr/data/EncounterStoreCollection.js b/ehr/resources/web/ehr/data/EncounterStoreCollection.js index 8239cbda5..9fe864020 100644 --- a/ehr/resources/web/ehr/data/EncounterStoreCollection.js +++ b/ehr/resources/web/ehr/data/EncounterStoreCollection.js @@ -60,19 +60,19 @@ Ext4.define('EHR.data.EncounterStoreCollection', { var parentRec = this.getEncountersRecord(model.get('parentid')); if (parentRec){ model.beginEdit(); - if (parentRec.get('Id') !== model.get('Id')){ + if (parentRec.get('Id') !== model.get('Id') && model.fields.get('Id')?.inheritFromParent){ model.set('Id', parentRec.get('Id')); } - if (model.fields.get('date') && !model.get('date') && parentRec.get('date')){ + if (model.fields.get('date')?.inheritDateFromParent && !model.get('date') && parentRec.get('date')){ model.set('date', parentRec.get('date')); } - if (model.fields.get('project') && !model.get('project') && parentRec.get('project')){ + if (model.fields.get('project')?.inheritFromParent && !model.get('project') && parentRec.get('project')){ model.set('project', parentRec.get('project')); } - if (model.fields.get('chargetype') && !model.get('chargetype') && parentRec.get('chargetype')){ + if (model.fields.get('chargetype')?.inheritFromParent && !model.get('chargetype') && parentRec.get('chargetype')){ model.set('chargetype', parentRec.get('chargetype')); } diff --git a/ehr/resources/web/ehr/window/EncounterAddRecordWindow.js b/ehr/resources/web/ehr/window/EncounterAddRecordWindow.js index c6c52090a..26b318345 100644 --- a/ehr/resources/web/ehr/window/EncounterAddRecordWindow.js +++ b/ehr/resources/web/ehr/window/EncounterAddRecordWindow.js @@ -96,8 +96,14 @@ Ext4.define('EHR.window.EncounterAddRecordWindow', { var model = this.targetGrid.store.createModel({}); var obj = {}; Ext4.Array.forEach(['Id', 'date', 'parentid', 'project'], function(field){ - if (this.targetGrid.store.getFields().get(field)){ - obj[field] = rec.get(field); + const fieldConfig = this.targetGrid.store.getFields().get(field); + if (fieldConfig){ + if (field === 'date' && fieldConfig.inheritDateFromParent) { + obj[field] = rec.get(field); + } + else if (fieldConfig.inheritFromParent) { + obj[field] = rec.get(field); + } } }, this); From e14298cbbca211da4212a9a1b6039aaf4f76b571 Mon Sep 17 00:00:00 2001 From: Marty Pradere Date: Tue, 3 Jun 2025 16:06:04 -0700 Subject: [PATCH 2/2] new property --- ehr/resources/web/ehr/data/EncounterStoreCollection.js | 8 ++++---- ehr/resources/web/ehr/model/sources/EncounterChild.js | 3 ++- ehr/resources/web/ehr/window/EncounterAddRecordWindow.js | 8 +++++--- 3 files changed, 11 insertions(+), 8 deletions(-) diff --git a/ehr/resources/web/ehr/data/EncounterStoreCollection.js b/ehr/resources/web/ehr/data/EncounterStoreCollection.js index 9fe864020..a669ecef2 100644 --- a/ehr/resources/web/ehr/data/EncounterStoreCollection.js +++ b/ehr/resources/web/ehr/data/EncounterStoreCollection.js @@ -60,19 +60,19 @@ Ext4.define('EHR.data.EncounterStoreCollection', { var parentRec = this.getEncountersRecord(model.get('parentid')); if (parentRec){ model.beginEdit(); - if (parentRec.get('Id') !== model.get('Id') && model.fields.get('Id')?.inheritFromParent){ + if (parentRec.get('Id') !== model.get('Id')){ model.set('Id', parentRec.get('Id')); } - if (model.fields.get('date')?.inheritDateFromParent && !model.get('date') && parentRec.get('date')){ + if (model.fields.get('date')?.inheritDefaultDateFromParent && !model.get('date') && parentRec.get('date')){ model.set('date', parentRec.get('date')); } - if (model.fields.get('project')?.inheritFromParent && !model.get('project') && parentRec.get('project')){ + if (model.fields.get('project') && !model.get('project') && parentRec.get('project')){ model.set('project', parentRec.get('project')); } - if (model.fields.get('chargetype')?.inheritFromParent && !model.get('chargetype') && parentRec.get('chargetype')){ + if (model.fields.get('chargetype') && !model.get('chargetype') && parentRec.get('chargetype')){ model.set('chargetype', parentRec.get('chargetype')); } diff --git a/ehr/resources/web/ehr/model/sources/EncounterChild.js b/ehr/resources/web/ehr/model/sources/EncounterChild.js index 68ea4e3e1..d27cdc046 100644 --- a/ehr/resources/web/ehr/model/sources/EncounterChild.js +++ b/ehr/resources/web/ehr/model/sources/EncounterChild.js @@ -12,7 +12,8 @@ EHR.model.DataModelManager.registerMetadata('EncounterChild', { } }, date: { - inheritDateFromParent: true + inheritDateFromParent: true, + inheritDefaultDateFromParent: true }, project: { inheritFromParent: true diff --git a/ehr/resources/web/ehr/window/EncounterAddRecordWindow.js b/ehr/resources/web/ehr/window/EncounterAddRecordWindow.js index 26b318345..4846e3deb 100644 --- a/ehr/resources/web/ehr/window/EncounterAddRecordWindow.js +++ b/ehr/resources/web/ehr/window/EncounterAddRecordWindow.js @@ -98,10 +98,12 @@ Ext4.define('EHR.window.EncounterAddRecordWindow', { Ext4.Array.forEach(['Id', 'date', 'parentid', 'project'], function(field){ const fieldConfig = this.targetGrid.store.getFields().get(field); if (fieldConfig){ - if (field === 'date' && fieldConfig.inheritDateFromParent) { - obj[field] = rec.get(field); + if (field === 'date') { + if (fieldConfig.inheritDefaultDateFromParent) { + obj[field] = rec.get(field); + } } - else if (fieldConfig.inheritFromParent) { + else { obj[field] = rec.get(field); } }