diff --git a/src/components/pme/ApeReportViewer.vue b/src/components/pme/ApeReportViewer.vue index 7b9b33a..a5cc38b 100644 --- a/src/components/pme/ApeReportViewer.vue +++ b/src/components/pme/ApeReportViewer.vue @@ -416,6 +416,8 @@ export default { // NOTE: What's the priority? The value from the encounter or the value from the data source? let answer = value.answer; if (matchedToken.dataSource === 'medical-records') { + // TODO: remove this. Replace with an inital logic to prefill the + // values from the medical records. answer = value.answer || matchedToken.format(dataSource?.value); } // to force the value to be capitalized @@ -438,26 +440,22 @@ export default { const tokens = selectedApeReportTemplate.value?.match(regex) || []; const values = encounterApeReport.value?.values || tokens.map(token => ({ id: token, answer: '' })); - const data = tokens.map(token => { - const id = token; - const found = values.find(value => { - // console.warn('token', token); - // console.warn('value.id', value.id); - return value.id === token; - }); - console.warn('found', found); - const element = document.getElementById(found?.id); - const answer = element?.value || found?.answer || ''; - return { - id, - answer, - }; - }); + const data = tokens + .map(token => { + const id = token; + const element = document.getElementById(id); + const answer = element?.value; + return { + id, + answer, + }; + }) + .filter(item => item.answer); // Filter out objects with falsy answers return { values: data, template: apeFormTemplate?.value?.id, - report: apeFormTemplate.value?.template, + report: apeFormTemplate?.value?.template, }; } diff --git a/src/pages/pme/EncounterPage.vue b/src/pages/pme/EncounterPage.vue index 251ff2a..610367c 100644 --- a/src/pages/pme/EncounterPage.vue +++ b/src/pages/pme/EncounterPage.vue @@ -497,12 +497,13 @@ export default { console.warn('existing', existing?.apeReport); if (existing?.apeReport?.id) { - console.warn('payload: update', payload); if (status === 'done') payload.done = true; if (status === 'classified') payload.classify = true; if (status === 'completed') payload.finalize = true; await sdk.service('medical-records').update(encounterApeReport.value?.id, payload); } else { + // TODO: Perform copying of value from medical records to + // encounter ape report values console.warn('payload: create', payload); payload.type = 'ape-report'; payload.encounter = encounter.value?.id;