Skip to content

Commit

Permalink
[Closes #375] Filter out eHistory fields from ESO export for now (#377)
Browse files Browse the repository at this point in the history
  • Loading branch information
francisli authored Apr 19, 2024
1 parent 4cf2af3 commit b805e0f
Show file tree
Hide file tree
Showing 2 changed files with 17 additions and 1 deletion.
8 changes: 7 additions & 1 deletion lib/exports/eso.js
Original file line number Diff line number Diff line change
Expand Up @@ -43,7 +43,7 @@ class EsoClient {
}

static filterPayloadElement(payload, element) {
return payload.replace(new RegExp(`<${element}[^/>]*(/>|>[^<]*</${element}>)`), '');
return payload.replaceAll(new RegExp(`<${element}[^/>]*(/>|>[^<]*</${element}>)`, 'g'), '');
}

static filterPayload(payload) {
Expand All @@ -52,6 +52,12 @@ class EsoClient {
for (let i = 9; i <= 11; i += 1) {
newPayload = EsoClient.filterPayloadElement(newPayload, `eDisposition.${`${i}`.padStart(2, '0')}`);
}
// remove unsupported eHistory fields
for (let i = 6; i <= 8; i += 1) {
newPayload = EsoClient.filterPayloadElement(newPayload, `eHistory.${`${i}`.padStart(2, '0')}`);
}
// remove eHistory altogether
newPayload = EsoClient.filterPayloadElement(newPayload, `eHistory`);
// remove unsupported ePatient fields
newPayload = EsoClient.filterPayloadElement(newPayload, 'ePatient.01');
for (let i = 5; i <= 12; i += 1) {
Expand Down
10 changes: 10 additions & 0 deletions test/unit/lib/exports/eso.js
Original file line number Diff line number Diff line change
Expand Up @@ -48,6 +48,16 @@ describe('lib', () => {
await client.submitEmsDataSet(payload);
});
});

describe('.filterPayload()', () => {
it('removes unsupported attributes from the exported XML', async () => {
const epcrPath = path.resolve(__dirname, '../../../fixtures/files/eso.import.2.340.xml');
const payload = await fs.readFile(epcrPath, { encoding: 'utf8' });
const filteredPayload = EsoClient.filterPayload(payload);
assert.deepStrictEqual(filteredPayload.indexOf('<eHistory.08>'), -1);
assert.deepStrictEqual(filteredPayload.indexOf('<eHistory>'), -1);
});
});
});
});
});
Expand Down

0 comments on commit b805e0f

Please sign in to comment.