Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
4 changes: 2 additions & 2 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -189,11 +189,11 @@ This framework consists of three key components: Extractors, Modules and Templat

### Glossary

![Image detailing exact definitions of what is meant by Client, Extractor, Module and Template](./docs/diagrams/20_11_23_steam-terminology-breakdown.png)
![Image detailing exact definitions of what is meant by Client, Extractor, Module and Template](./docs/diagrams/steam-terminology-breakdown.png)

### High Level Diagram

![High-level architecture diagram, detailing exactly how Clients, Extractors, Modules, Templates and various web services communicate with one another](./docs/diagrams/20_11_23_steam-high-level-arch.png)
![High-level architecture diagram, detailing exactly how Clients, Extractors, Modules, Templates and various web services communicate with one another](./docs/diagrams/steam-high-level-arch.png)

These diagrams can be modified by updating the XML files in the `/docs/diagrams/` directory using draw.io or a company licensed equivalent.

Expand Down
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
1 change: 1 addition & 0 deletions docs/diagrams/archive/21_06_11_steam-high-level-arch.xml
Original file line number Diff line number Diff line change
@@ -0,0 +1 @@
<mxfile userAgent="Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/91.0.4472.101 Safari/537.36" version="7.5.6" editor="www.draw.io" type="device"><diagram id="866f9370-945e-b958-1e14-63ab040b194e" name="Page-1">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</diagram></mxfile>
Binary file added docs/diagrams/steam-high-level-arch.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
1 change: 1 addition & 0 deletions docs/diagrams/steam-high-level-arch.xml
Original file line number Diff line number Diff line change
@@ -0,0 +1 @@
<mxfile userAgent="Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/91.0.4472.101 Safari/537.36" version="7.5.6" editor="www.draw.io" type="device"><diagram id="866f9370-945e-b958-1e14-63ab040b194e" name="Page-1">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</diagram></mxfile>
Binary file added docs/diagrams/steam-terminology-breakdown.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
1 change: 1 addition & 0 deletions docs/diagrams/steam-terminology-breakdown.xml
Original file line number Diff line number Diff line change
@@ -0,0 +1 @@
<mxfile userAgent="Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/86.0.4240.198 Safari/537.36" version="7.5.6" editor="www.draw.io" type="device"><diagram id="85c8b475-6ce0-8bdd-5570-6e3425adb106" name="Page-1">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</diagram></mxfile>
6 changes: 3 additions & 3 deletions src/cli/app.js → src/application/app.js
Original file line number Diff line number Diff line change
Expand Up @@ -2,9 +2,9 @@ const fs = require('fs');
const path = require('path');
const moment = require('moment');
const logger = require('../helpers/logger');
const { RunInstanceLogger } = require('./RunInstanceLogger');
const { sendEmailNotification, zipErrors } = require('./emailNotifications');
const { extractDataForPatients } = require('./mcodeExtraction');
const { RunInstanceLogger } = require('./tools/RunInstanceLogger');
const { sendEmailNotification, zipErrors } = require('./tools/emailNotifications');
const { extractDataForPatients } = require('./tools/mcodeExtraction');
const { maskMRN } = require('../helpers/patientUtils');
const { parsePatientIds } = require('../helpers/appUtils');

Expand Down
12 changes: 12 additions & 0 deletions src/application/index.js
Original file line number Diff line number Diff line change
@@ -0,0 +1,12 @@
const { mcodeApp } = require('./app');
const { RunInstanceLogger } = require('./tools/RunInstanceLogger');
const { sendEmailNotification, zipErrors } = require('./tools/emailNotifications');
const { extractDataForPatients } = require('./tools/mcodeExtraction');

module.exports = {
mcodeApp,
RunInstanceLogger,
extractDataForPatients,
sendEmailNotification,
zipErrors,
};
Original file line number Diff line number Diff line change
@@ -1,7 +1,7 @@
const path = require('path');
const moment = require('moment');
const fs = require('fs');
const logger = require('../helpers/logger');
const logger = require('../../helpers/logger');

// Sort Log records by `dateRun`, more recent (larger) dates to least recent (smaller)
function logSorter(a, b) {
Expand Down
Original file line number Diff line number Diff line change
@@ -1,5 +1,5 @@
const nodemailer = require('nodemailer');
const logger = require('../helpers/logger');
const logger = require('../../helpers/logger');

function zipErrors(...allErrorSources) {
// NOTE: assumes each error object is a k-v pair: k is the MRN-id CSV row of the patient, v is an [errors] for that patient at some pipeline step
Expand Down
Original file line number Diff line number Diff line change
@@ -1,5 +1,5 @@
const logger = require('../helpers/logger');
const { getResourceCountInBundle } = require('../helpers/fhirUtils');
const logger = require('../../helpers/logger');
const { getResourceCountInBundle } = require('../../helpers/fhirUtils');

async function extractDataForPatients(patientIds, mcodeClient, fromDate, toDate) {
// Using an initialized mcodeClient, extract data for patient ids in the appropriate toDate-fromDate range
Expand Down
2 changes: 1 addition & 1 deletion src/cli/cli.js
Original file line number Diff line number Diff line change
Expand Up @@ -3,7 +3,7 @@ const path = require('path');
const program = require('commander');
const { MCODEClient } = require('../client/MCODEClient');
const logger = require('../helpers/logger');
const { mcodeApp } = require('./app');
const { mcodeApp } = require('../application');

const defaultPathToConfig = path.join('config', 'csv.config.json');
const defaultPathToRunLogs = path.join('logs', 'run-logs.json');
Expand Down
12 changes: 0 additions & 12 deletions src/cli/index.js

This file was deleted.

2 changes: 1 addition & 1 deletion src/index.js
Original file line number Diff line number Diff line change
Expand Up @@ -7,7 +7,7 @@ const {
extractDataForPatients,
sendEmailNotification,
zipErrors,
} = require('./cli');
} = require('./application');
const {
BaseFHIRExtractor,
CSVAdverseEventExtractor,
Expand Down
4 changes: 2 additions & 2 deletions test/cli/app.test.js → test/application/app.test.js
Original file line number Diff line number Diff line change
Expand Up @@ -2,15 +2,15 @@ const fs = require('fs');
const rewire = require('rewire');
const testConfig = require('./fixtures/test-config.json');

const app = rewire('../../src/cli/app.js');
const app = rewire('../../src/application/app.js');
const getConfig = app.__get__('getConfig');
const checkInputAndConfig = app.__get__('checkInputAndConfig');
const checkLogFile = app.__get__('checkLogFile');
const getEffectiveFromDate = app.__get__('getEffectiveFromDate');

describe('App Tests', () => {
describe('getConfig', () => {
const pathToConfig = 'test/cli/fixtures/test-config.json';
const pathToConfig = 'test/application/fixtures/test-config.json';

it('should throw error when pathToConfig does not point to valid JSON file.', () => {
expect(() => getConfig()).toThrowError();
Expand Down
Original file line number Diff line number Diff line change
@@ -1,5 +1,5 @@
const nodemailer = require('nodemailer');
const { sendEmailNotification } = require('../../src/cli/emailNotifications');
const { sendEmailNotification } = require('../../src/application/tools/emailNotifications');

const createTransportSpy = jest.spyOn(nodemailer, 'createTransport');

Expand Down
Loading