@metriport/shared 0.13.3 → 0.14.0-alpha.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/common/__tests__/npi.d.ts +7 -0
- package/dist/common/__tests__/npi.d.ts.map +1 -0
- package/dist/common/__tests__/npi.js +32 -0
- package/dist/common/__tests__/npi.js.map +1 -0
- package/dist/common/__tests__/number.test.d.ts +2 -0
- package/dist/common/__tests__/number.test.d.ts.map +1 -0
- package/dist/common/__tests__/number.test.js +10 -0
- package/dist/common/__tests__/number.test.js.map +1 -0
- package/dist/common/__tests__/string.test copy.d.ts +2 -0
- package/dist/common/__tests__/string.test copy.d.ts.map +1 -0
- package/dist/common/__tests__/string.test copy.js +10 -0
- package/dist/common/__tests__/string.test copy.js.map +1 -0
- package/dist/common/__tests__/validate-npi.d.ts +10 -0
- package/dist/common/__tests__/validate-npi.d.ts.map +1 -0
- package/dist/common/__tests__/validate-npi.js +35 -0
- package/dist/common/__tests__/validate-npi.js.map +1 -0
- package/dist/common/__tests__/validate-npi.test.d.ts +2 -0
- package/dist/common/__tests__/validate-npi.test.d.ts.map +1 -0
- package/dist/common/__tests__/validate-npi.test.js +24 -0
- package/dist/common/__tests__/validate-npi.test.js.map +1 -0
- package/dist/common/date.d.ts +6 -2
- package/dist/common/date.d.ts.map +1 -1
- package/dist/common/date.js +38 -6
- package/dist/common/date.js.map +1 -1
- package/dist/common/error.d.ts +3 -3
- package/dist/common/error.js +3 -3
- package/dist/common/filter-map.d.ts +11 -0
- package/dist/common/filter-map.d.ts.map +1 -0
- package/dist/common/filter-map.js +17 -0
- package/dist/common/filter-map.js.map +1 -0
- package/dist/common/xml-parser.d.ts +3 -0
- package/dist/common/xml-parser.d.ts.map +1 -0
- package/dist/common/xml-parser.js +17 -0
- package/dist/common/xml-parser.js.map +1 -0
- package/dist/core/src/command/patient-import/patient-import-shared.d.ts +18 -0
- package/dist/core/src/command/patient-import/patient-import-shared.d.ts.map +1 -0
- package/dist/core/src/command/patient-import/patient-import-shared.js +137 -0
- package/dist/core/src/command/patient-import/patient-import-shared.js.map +1 -0
- package/dist/core/src/command/patient-import/patient-import.d.ts +60 -0
- package/dist/core/src/command/patient-import/patient-import.d.ts.map +1 -0
- package/dist/core/src/command/patient-import/patient-import.js +3 -0
- package/dist/core/src/command/patient-import/patient-import.js.map +1 -0
- package/dist/core/src/domain/address.d.ts +17 -0
- package/dist/core/src/domain/address.d.ts.map +1 -0
- package/dist/core/src/domain/address.js +20 -0
- package/dist/core/src/domain/address.js.map +1 -0
- package/dist/core/src/domain/base-domain.d.ts +14 -0
- package/dist/core/src/domain/base-domain.d.ts.map +1 -0
- package/dist/core/src/domain/base-domain.js +3 -0
- package/dist/core/src/domain/base-domain.js.map +1 -0
- package/dist/core/src/domain/bulk-get-document-url.d.ts +8 -0
- package/dist/core/src/domain/bulk-get-document-url.d.ts.map +1 -0
- package/dist/core/src/domain/bulk-get-document-url.js +9 -0
- package/dist/core/src/domain/bulk-get-document-url.js.map +1 -0
- package/dist/core/src/domain/contact.d.ts +3 -0
- package/dist/core/src/domain/contact.d.ts.map +1 -0
- package/dist/core/src/domain/contact.js +3 -0
- package/dist/core/src/domain/contact.js.map +1 -0
- package/dist/core/src/domain/document-query.d.ts +24 -0
- package/dist/core/src/domain/document-query.d.ts.map +1 -0
- package/dist/core/src/domain/document-query.js +27 -0
- package/dist/core/src/domain/document-query.js.map +1 -0
- package/dist/core/src/domain/patient-demographics.d.ts +33 -0
- package/dist/core/src/domain/patient-demographics.d.ts.map +1 -0
- package/dist/core/src/domain/patient-demographics.js +3 -0
- package/dist/core/src/domain/patient-demographics.js.map +1 -0
- package/dist/core/src/domain/patient-discovery.d.ts +15 -0
- package/dist/core/src/domain/patient-discovery.d.ts.map +1 -0
- package/dist/core/src/domain/patient-discovery.js +3 -0
- package/dist/core/src/domain/patient-discovery.js.map +1 -0
- package/dist/core/src/domain/patient.d.ts +78 -0
- package/dist/core/src/domain/patient.d.ts.map +1 -0
- package/dist/core/src/domain/patient.js +38 -0
- package/dist/core/src/domain/patient.js.map +1 -0
- package/dist/core/src/external/index.d.ts +14 -0
- package/dist/core/src/external/index.d.ts.map +1 -0
- package/dist/core/src/external/index.js +24 -0
- package/dist/core/src/external/index.js.map +1 -0
- package/dist/domain/address/USStateForAddress.d.ts +3 -0
- package/dist/domain/address/USStateForAddress.d.ts.map +1 -0
- package/dist/domain/address/USStateForAddress.js +3 -0
- package/dist/domain/address/USStateForAddress.js.map +1 -0
- package/dist/domain/address/__tests__/normalize-zip.test copy.d.ts +2 -0
- package/dist/domain/address/__tests__/normalize-zip.test copy.d.ts.map +1 -0
- package/dist/domain/address/__tests__/normalize-zip.test copy.js +117 -0
- package/dist/domain/address/__tests__/normalize-zip.test copy.js.map +1 -0
- package/dist/domain/address/__tests__/normalize-zip.test.js +109 -30
- package/dist/domain/address/__tests__/normalize-zip.test.js.map +1 -1
- package/dist/domain/address/__tests__/state.test copy.d.ts +2 -0
- package/dist/domain/address/__tests__/state.test copy.d.ts.map +1 -0
- package/dist/domain/address/__tests__/state.test copy.js +33 -0
- package/dist/domain/address/__tests__/state.test copy.js.map +1 -0
- package/dist/domain/address/__tests__/state.test.d.ts +2 -0
- package/dist/domain/address/__tests__/state.test.d.ts.map +1 -0
- package/dist/domain/address/__tests__/state.test.js +40 -0
- package/dist/domain/address/__tests__/state.test.js.map +1 -0
- package/dist/domain/address/__tests__/territory.test.d.ts +2 -0
- package/dist/domain/address/__tests__/territory.test.d.ts.map +1 -0
- package/dist/domain/address/__tests__/territory.test.js +35 -0
- package/dist/domain/address/__tests__/territory.test.js.map +1 -0
- package/dist/domain/address/index.d.ts +6 -0
- package/dist/domain/address/index.d.ts.map +1 -0
- package/dist/domain/address/index.js +21 -0
- package/dist/domain/address/index.js.map +1 -0
- package/dist/domain/address/state copy.d.ts +62 -0
- package/dist/domain/address/state copy.d.ts.map +1 -0
- package/dist/domain/address/state copy.js +136 -0
- package/dist/domain/address/state copy.js.map +1 -0
- package/dist/domain/address/state-for-address.d.ts +4 -0
- package/dist/domain/address/state-for-address.d.ts.map +1 -0
- package/dist/domain/address/state-for-address.js +17 -0
- package/dist/domain/address/state-for-address.js.map +1 -0
- package/dist/domain/address/state.d.ts +1 -3
- package/dist/domain/address/state.d.ts.map +1 -1
- package/dist/domain/address/state.js +57 -61
- package/dist/domain/address/state.js.map +1 -1
- package/dist/domain/address/territory.d.ts +10 -0
- package/dist/domain/address/territory.d.ts.map +1 -0
- package/dist/domain/address/territory.js +32 -0
- package/dist/domain/address/territory.js.map +1 -0
- package/dist/domain/address/zip.d.ts +5 -2
- package/dist/domain/address/zip.d.ts.map +1 -1
- package/dist/domain/address/zip.js +45 -5
- package/dist/domain/address/zip.js.map +1 -1
- package/dist/domain/contact/__tests__/email.test.d.ts +2 -0
- package/dist/domain/contact/__tests__/email.test.d.ts.map +1 -0
- package/dist/domain/contact/__tests__/email.test.js +39 -0
- package/dist/domain/contact/__tests__/email.test.js.map +1 -0
- package/dist/domain/contact/__tests__/phone.test.js +28 -0
- package/dist/domain/contact/__tests__/phone.test.js.map +1 -1
- package/dist/domain/contact/email.d.ts +1 -0
- package/dist/domain/contact/email.d.ts.map +1 -1
- package/dist/domain/contact/email.js +5 -1
- package/dist/domain/contact/email.js.map +1 -1
- package/dist/domain/contact/phone.d.ts +2 -0
- package/dist/domain/contact/phone.d.ts.map +1 -1
- package/dist/domain/contact/phone.js +13 -1
- package/dist/domain/contact/phone.js.map +1 -1
- package/dist/domain/patient/__tests__/normalize-zip.test.d.ts +1 -0
- package/dist/domain/patient/__tests__/normalize-zip.test.d.ts.map +1 -0
- package/dist/domain/patient/__tests__/normalize-zip.test.js +2 -0
- package/dist/domain/patient/__tests__/normalize-zip.test.js.map +1 -0
- package/dist/domain/patient/patient-import.d.ts +131 -0
- package/dist/domain/patient/patient-import.d.ts.map +1 -0
- package/dist/domain/patient/patient-import.js +32 -0
- package/dist/domain/patient/patient-import.js.map +1 -0
- package/dist/domain/patient/patient.d.ts +23 -0
- package/dist/domain/patient/patient.d.ts.map +1 -0
- package/dist/domain/patient/patient.js +14 -0
- package/dist/domain/patient/patient.js.map +1 -0
- package/dist/error/metriport-error.d.ts +1 -1
- package/dist/error/metriport-error.d.ts.map +1 -1
- package/dist/index.d.ts +11 -7
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +16 -12
- package/dist/index.js.map +1 -1
- package/dist/interface/external/athenahealth/appointment.d.ts +50 -0
- package/dist/interface/external/athenahealth/appointment.d.ts.map +1 -0
- package/dist/interface/external/athenahealth/appointment.js +18 -0
- package/dist/interface/external/athenahealth/appointment.js.map +1 -0
- package/dist/interface/external/athenahealth/cx-mapping.d.ts +10 -0
- package/dist/interface/external/athenahealth/cx-mapping.d.ts.map +1 -0
- package/dist/interface/external/athenahealth/cx-mapping.js +8 -0
- package/dist/interface/external/athenahealth/cx-mapping.js.map +1 -0
- package/dist/interface/external/athenahealth/department.d.ts +27 -0
- package/dist/interface/external/athenahealth/department.d.ts.map +1 -0
- package/dist/interface/external/athenahealth/department.js +11 -0
- package/dist/interface/external/athenahealth/department.js.map +1 -0
- package/dist/interface/external/athenahealth/index.d.ts +6 -0
- package/dist/interface/external/athenahealth/index.d.ts.map +1 -1
- package/dist/interface/external/athenahealth/index.js +6 -0
- package/dist/interface/external/athenahealth/index.js.map +1 -1
- package/dist/interface/external/athenahealth/jwt-token.d.ts +5 -0
- package/dist/interface/external/athenahealth/jwt-token.d.ts.map +1 -0
- package/dist/interface/external/athenahealth/jwt-token.js +3 -0
- package/dist/interface/external/athenahealth/jwt-token.js.map +1 -0
- package/dist/interface/external/athenahealth/medication.d.ts +38 -0
- package/dist/interface/external/athenahealth/medication.d.ts.map +1 -0
- package/dist/interface/external/athenahealth/medication.js +15 -0
- package/dist/interface/external/athenahealth/medication.js.map +1 -0
- package/dist/interface/external/athenahealth/patient.d.ts +277 -8
- package/dist/interface/external/athenahealth/patient.d.ts.map +1 -1
- package/dist/interface/external/athenahealth/patient.js +8 -1
- package/dist/interface/external/athenahealth/patient.js.map +1 -1
- package/dist/interface/external/athenahealth/subscription.d.ts +10 -0
- package/dist/interface/external/athenahealth/subscription.d.ts.map +1 -0
- package/dist/interface/external/athenahealth/subscription.js +8 -0
- package/dist/interface/external/athenahealth/subscription.js.map +1 -0
- package/dist/interface/internal/consolidated.d.ts +2 -2
- package/dist/medical/fhir/bundle.d.ts +3 -0
- package/dist/medical/fhir/bundle.d.ts.map +1 -1
- package/dist/medical/fhir/bundle.js +21 -0
- package/dist/medical/fhir/bundle.js.map +1 -1
- package/dist/medical/webhook/webhook-request.d.ts +25 -25
- package/dist/net/error.d.ts.map +1 -1
- package/dist/net/error.js +1 -0
- package/dist/net/error.js.map +1 -1
- package/dist/net/retry.d.ts.map +1 -1
- package/dist/net/retry.js +3 -1
- package/dist/net/retry.js.map +1 -1
- package/dist/shared/src/domain/patient/__tests__/normalize-zip.test.d.ts.map +1 -0
- package/dist/shared/src/domain/patient/__tests__/normalize-zip.test.js +81 -0
- package/dist/shared/src/domain/patient/__tests__/normalize-zip.test.js.map +1 -0
- package/package.json +2 -2
- package/dist/common/__tests__/normalize-zip.test.d.ts.map +0 -1
- package/dist/common/__tests__/normalize-zip.test.js +0 -38
- package/dist/common/__tests__/normalize-zip.test.js.map +0 -1
- package/dist/common/normalize-zip.d.ts +0 -10
- package/dist/common/normalize-zip.d.ts.map +0 -1
- package/dist/common/normalize-zip.js +0 -30
- package/dist/common/normalize-zip.js.map +0 -1
- package/dist/net/__tests__/file-downloader.d.ts +0 -2
- package/dist/net/__tests__/file-downloader.d.ts.map +0 -1
- package/dist/net/__tests__/file-downloader.js +0 -66
- package/dist/net/__tests__/file-downloader.js.map +0 -1
- package/dist/net/file-downloader.d.ts +0 -22
- package/dist/net/file-downloader.d.ts.map +0 -1
- package/dist/net/file-downloader.js +0 -67
- package/dist/net/file-downloader.js.map +0 -1
- /package/dist/{common → shared/src/domain/patient}/__tests__/normalize-zip.test.d.ts +0 -0
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"npi.d.ts","sourceRoot":"","sources":["../../../src/common/__tests__/npi.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AACH,wBAAgB,OAAO,IAAI,MAAM,CAyBhC"}
|
|
@@ -0,0 +1,32 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.makeNPI = void 0;
|
|
4
|
+
/**
|
|
5
|
+
* Generates a valid NPI number that passes the validateNPI() function.
|
|
6
|
+
*
|
|
7
|
+
* @returns A valid 10-digit NPI number as a string.
|
|
8
|
+
*/
|
|
9
|
+
function makeNPI() {
|
|
10
|
+
const digits = [];
|
|
11
|
+
// Generate the first 9 digits
|
|
12
|
+
digits.push(Math.random() < 0.5 ? 1 : 2); // First digit is either 1 or 2
|
|
13
|
+
for (let i = 1; i < 9; i++) {
|
|
14
|
+
digits.push(Math.floor(Math.random() * 10));
|
|
15
|
+
}
|
|
16
|
+
let sum = 24; // Account for NPI prefix (80840)
|
|
17
|
+
let shouldDouble = true;
|
|
18
|
+
digits.forEach(digit => {
|
|
19
|
+
if (shouldDouble) {
|
|
20
|
+
digit *= 2;
|
|
21
|
+
if (digit > 9)
|
|
22
|
+
digit -= 9;
|
|
23
|
+
}
|
|
24
|
+
sum += digit;
|
|
25
|
+
shouldDouble = !shouldDouble;
|
|
26
|
+
});
|
|
27
|
+
const checkDigit = (10 - (sum % 10)) % 10;
|
|
28
|
+
digits.push(checkDigit);
|
|
29
|
+
return digits.join("");
|
|
30
|
+
}
|
|
31
|
+
exports.makeNPI = makeNPI;
|
|
32
|
+
//# sourceMappingURL=npi.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"npi.js","sourceRoot":"","sources":["../../../src/common/__tests__/npi.ts"],"names":[],"mappings":";;;AAAA;;;;GAIG;AACH,SAAgB,OAAO;IACrB,MAAM,MAAM,GAAa,EAAE,CAAC;IAE5B,8BAA8B;IAC9B,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,MAAM,EAAE,GAAG,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,+BAA+B;IACzE,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,CAAC,EAAE,CAAC,EAAE,EAAE;QAC1B,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,MAAM,EAAE,GAAG,EAAE,CAAC,CAAC,CAAC;KAC7C;IAED,IAAI,GAAG,GAAG,EAAE,CAAC,CAAC,iCAAiC;IAC/C,IAAI,YAAY,GAAG,IAAI,CAAC;IAExB,MAAM,CAAC,OAAO,CAAC,KAAK,CAAC,EAAE;QACrB,IAAI,YAAY,EAAE;YAChB,KAAK,IAAI,CAAC,CAAC;YACX,IAAI,KAAK,GAAG,CAAC;gBAAE,KAAK,IAAI,CAAC,CAAC;SAC3B;QACD,GAAG,IAAI,KAAK,CAAC;QACb,YAAY,GAAG,CAAC,YAAY,CAAC;IAC/B,CAAC,CAAC,CAAC;IAEH,MAAM,UAAU,GAAG,CAAC,EAAE,GAAG,CAAC,GAAG,GAAG,EAAE,CAAC,CAAC,GAAG,EAAE,CAAC;IAC1C,MAAM,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC;IAExB,OAAO,MAAM,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;AACzB,CAAC;AAzBD,0BAyBC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"number.test.d.ts","sourceRoot":"","sources":["../../../src/common/__tests__/number.test.ts"],"names":[],"mappings":""}
|
|
@@ -0,0 +1,10 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
const numbers_1 = require("../numbers");
|
|
4
|
+
describe("numbers", () => {
|
|
5
|
+
it("returns undefined when it gets undefined", async () => {
|
|
6
|
+
const resp = (0, numbers_1.formatNumber)(12.23454616);
|
|
7
|
+
console.log(resp);
|
|
8
|
+
});
|
|
9
|
+
});
|
|
10
|
+
//# sourceMappingURL=number.test.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"number.test.js","sourceRoot":"","sources":["../../../src/common/__tests__/number.test.ts"],"names":[],"mappings":";;AAAA,wCAA0C;AAE1C,QAAQ,CAAC,SAAS,EAAE,GAAG,EAAE;IACvB,EAAE,CAAC,0CAA0C,EAAE,KAAK,IAAI,EAAE;QACxD,MAAM,IAAI,GAAG,IAAA,sBAAY,EAAC,WAAW,CAAC,CAAC;QACvC,OAAO,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC;IACpB,CAAC,CAAC,CAAC;AACL,CAAC,CAAC,CAAC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"string.test copy.d.ts","sourceRoot":"","sources":["../../../src/common/__tests__/string.test copy.ts"],"names":[],"mappings":""}
|
|
@@ -0,0 +1,10 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
const numbers_1 = require("../numbers");
|
|
4
|
+
describe("numbers", () => {
|
|
5
|
+
it("returns undefined when it gets undefined", async () => {
|
|
6
|
+
const resp = (0, numbers_1.formatNumber)(12.23454616);
|
|
7
|
+
console.log(resp);
|
|
8
|
+
});
|
|
9
|
+
});
|
|
10
|
+
//# sourceMappingURL=string.test%20copy.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"string.test copy.js","sourceRoot":"","sources":["../../../src/common/__tests__/string.test copy.ts"],"names":[],"mappings":";;AAAA,wCAA0C;AAE1C,QAAQ,CAAC,SAAS,EAAE,GAAG,EAAE;IACvB,EAAE,CAAC,0CAA0C,EAAE,KAAK,IAAI,EAAE;QACxD,MAAM,IAAI,GAAG,IAAA,sBAAY,EAAC,WAAW,CAAC,CAAC;QACvC,OAAO,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC;IACpB,CAAC,CAAC,CAAC;AACL,CAAC,CAAC,CAAC"}
|
|
@@ -0,0 +1,10 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Generates a valid NPI number that passes the validateNPI() function.
|
|
3
|
+
*
|
|
4
|
+
* Generated with by Anthropic's Claude 3.5.
|
|
5
|
+
* Slightly updated by human.
|
|
6
|
+
*
|
|
7
|
+
* @returns A valid 10-digit NPI number as a string.
|
|
8
|
+
*/
|
|
9
|
+
export declare function makeNPI(): string;
|
|
10
|
+
//# sourceMappingURL=validate-npi.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"validate-npi.d.ts","sourceRoot":"","sources":["../../../src/common/__tests__/validate-npi.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AACH,wBAAgB,OAAO,IAAI,MAAM,CAyBhC"}
|
|
@@ -0,0 +1,35 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.makeNPI = void 0;
|
|
4
|
+
/**
|
|
5
|
+
* Generates a valid NPI number that passes the validateNPI() function.
|
|
6
|
+
*
|
|
7
|
+
* Generated with by Anthropic's Claude 3.5.
|
|
8
|
+
* Slightly updated by human.
|
|
9
|
+
*
|
|
10
|
+
* @returns A valid 10-digit NPI number as a string.
|
|
11
|
+
*/
|
|
12
|
+
function makeNPI() {
|
|
13
|
+
const digits = [];
|
|
14
|
+
// Generate the first 9 digits
|
|
15
|
+
digits.push(Math.random() < 0.5 ? 1 : 2); // First digit is either 1 or 2
|
|
16
|
+
for (let i = 1; i < 9; i++) {
|
|
17
|
+
digits.push(Math.floor(Math.random() * 10));
|
|
18
|
+
}
|
|
19
|
+
let sum = 24; // Account for NPI prefix (80840)
|
|
20
|
+
let shouldDouble = true;
|
|
21
|
+
digits.forEach(digit => {
|
|
22
|
+
if (shouldDouble) {
|
|
23
|
+
digit *= 2;
|
|
24
|
+
if (digit > 9)
|
|
25
|
+
digit -= 9;
|
|
26
|
+
}
|
|
27
|
+
sum += digit;
|
|
28
|
+
shouldDouble = !shouldDouble;
|
|
29
|
+
});
|
|
30
|
+
const checkDigit = (10 - (sum % 10)) % 10;
|
|
31
|
+
digits.push(checkDigit);
|
|
32
|
+
return digits.join("");
|
|
33
|
+
}
|
|
34
|
+
exports.makeNPI = makeNPI;
|
|
35
|
+
//# sourceMappingURL=validate-npi.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"validate-npi.js","sourceRoot":"","sources":["../../../src/common/__tests__/validate-npi.ts"],"names":[],"mappings":";;;AAAA;;;;;;;GAOG;AACH,SAAgB,OAAO;IACrB,MAAM,MAAM,GAAa,EAAE,CAAC;IAE5B,8BAA8B;IAC9B,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,MAAM,EAAE,GAAG,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,+BAA+B;IACzE,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,CAAC,EAAE,CAAC,EAAE,EAAE;QAC1B,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,MAAM,EAAE,GAAG,EAAE,CAAC,CAAC,CAAC;KAC7C;IAED,IAAI,GAAG,GAAG,EAAE,CAAC,CAAC,iCAAiC;IAC/C,IAAI,YAAY,GAAG,IAAI,CAAC;IAExB,MAAM,CAAC,OAAO,CAAC,KAAK,CAAC,EAAE;QACrB,IAAI,YAAY,EAAE;YAChB,KAAK,IAAI,CAAC,CAAC;YACX,IAAI,KAAK,GAAG,CAAC;gBAAE,KAAK,IAAI,CAAC,CAAC;SAC3B;QACD,GAAG,IAAI,KAAK,CAAC;QACb,YAAY,GAAG,CAAC,YAAY,CAAC;IAC/B,CAAC,CAAC,CAAC;IAEH,MAAM,UAAU,GAAG,CAAC,EAAE,GAAG,CAAC,GAAG,GAAG,EAAE,CAAC,CAAC,GAAG,EAAE,CAAC;IAC1C,MAAM,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC;IAExB,OAAO,MAAM,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;AACzB,CAAC;AAzBD,0BAyBC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"validate-npi.test.d.ts","sourceRoot":"","sources":["../../../src/common/__tests__/validate-npi.test.ts"],"names":[],"mappings":""}
|
|
@@ -0,0 +1,24 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
const validate_npi_1 = require("../validate-npi");
|
|
4
|
+
const npi_1 = require("./npi");
|
|
5
|
+
describe("validate-npi", () => {
|
|
6
|
+
describe("returns true when it gets valid NPI number", () => {
|
|
7
|
+
for (let i = 0; i < 10; i++) {
|
|
8
|
+
const npi = (0, npi_1.makeNPI)();
|
|
9
|
+
it(npi, async () => {
|
|
10
|
+
expect((0, validate_npi_1.validateNPI)(npi)).toBeTruthy();
|
|
11
|
+
});
|
|
12
|
+
}
|
|
13
|
+
});
|
|
14
|
+
it("returns false when it gets empty string", async () => {
|
|
15
|
+
expect((0, validate_npi_1.validateNPI)("")).toBeFalsy();
|
|
16
|
+
});
|
|
17
|
+
it("returns false when it gets undefined", async () => {
|
|
18
|
+
expect((0, validate_npi_1.validateNPI)(undefined)).toBeFalsy();
|
|
19
|
+
});
|
|
20
|
+
it("returns false when it gets invalid 10 digit string", async () => {
|
|
21
|
+
expect((0, validate_npi_1.validateNPI)(String(1123123123))).toBeFalsy();
|
|
22
|
+
});
|
|
23
|
+
});
|
|
24
|
+
//# sourceMappingURL=validate-npi.test.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"validate-npi.test.js","sourceRoot":"","sources":["../../../src/common/__tests__/validate-npi.test.ts"],"names":[],"mappings":";;AAAA,kDAA8C;AAC9C,+BAAgC;AAEhC,QAAQ,CAAC,cAAc,EAAE,GAAG,EAAE;IAC5B,QAAQ,CAAC,4CAA4C,EAAE,GAAG,EAAE;QAC1D,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,EAAE,EAAE,CAAC,EAAE,EAAE;YAC3B,MAAM,GAAG,GAAG,IAAA,aAAO,GAAE,CAAC;YACtB,EAAE,CAAC,GAAG,EAAE,KAAK,IAAI,EAAE;gBACjB,MAAM,CAAC,IAAA,0BAAW,EAAC,GAAG,CAAC,CAAC,CAAC,UAAU,EAAE,CAAC;YACxC,CAAC,CAAC,CAAC;SACJ;IACH,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,yCAAyC,EAAE,KAAK,IAAI,EAAE;QACvD,MAAM,CAAC,IAAA,0BAAW,EAAC,EAAE,CAAC,CAAC,CAAC,SAAS,EAAE,CAAC;IACtC,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,sCAAsC,EAAE,KAAK,IAAI,EAAE;QACpD,MAAM,CAAC,IAAA,0BAAW,EAAC,SAA8B,CAAC,CAAC,CAAC,SAAS,EAAE,CAAC;IAClE,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,oDAAoD,EAAE,KAAK,IAAI,EAAE;QAClE,MAAM,CAAC,IAAA,0BAAW,EAAC,MAAM,CAAC,UAAa,CAAC,CAAC,CAAC,CAAC,SAAS,EAAE,CAAC;IACzD,CAAC,CAAC,CAAC;AACL,CAAC,CAAC,CAAC"}
|
package/dist/common/date.d.ts
CHANGED
|
@@ -1,8 +1,12 @@
|
|
|
1
|
-
import dayjs from "dayjs";
|
|
1
|
+
import dayjs, { ConfigType } from "dayjs";
|
|
2
2
|
import { z } from "zod";
|
|
3
3
|
export declare const ISO_DATE = "YYYY-MM-DD";
|
|
4
4
|
export declare function isValidISODate(date: string): boolean;
|
|
5
|
+
export declare function validateIsPast(date: string): boolean;
|
|
6
|
+
export declare function validateIsPastSafe(date: string): boolean;
|
|
7
|
+
export declare function validateDateRange(start: string, end: string): boolean;
|
|
5
8
|
export declare const optionalDateSchema: z.ZodEffects<z.ZodOptional<z.ZodNullable<z.ZodString>>, string | null | undefined, string | null | undefined>;
|
|
6
9
|
export declare const dateSchema: z.ZodEffects<z.ZodString, string, string>;
|
|
7
|
-
export declare
|
|
10
|
+
export declare function elapsedTimeFromNow(date?: Date, format?: dayjs.UnitTypeLong): number;
|
|
11
|
+
export declare function buildDayjs(date?: ConfigType, format?: string, strict?: boolean): dayjs.Dayjs;
|
|
8
12
|
//# sourceMappingURL=date.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"date.d.ts","sourceRoot":"","sources":["../../src/common/date.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,MAAM,OAAO,CAAC;
|
|
1
|
+
{"version":3,"file":"date.d.ts","sourceRoot":"","sources":["../../src/common/date.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,EAAE,UAAU,EAAE,MAAM,OAAO,CAAC;AAG1C,OAAO,EAAqB,CAAC,EAAE,MAAM,KAAK,CAAC;AAK3C,eAAO,MAAM,QAAQ,eAAe,CAAC;AAErC,wBAAgB,cAAc,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO,CAEpD;AAMD,wBAAgB,cAAc,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO,CAKpD;AACD,wBAAgB,kBAAkB,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO,CAGxD;AAED,wBAAgB,iBAAiB,CAAC,KAAK,EAAE,MAAM,EAAE,GAAG,EAAE,MAAM,GAAG,OAAO,CAQrE;AAID,eAAO,MAAM,kBAAkB,+GAIiB,CAAC;AAEjD,eAAO,MAAM,UAAU,2CAA0D,CAAC;AAElF,wBAAgB,kBAAkB,CAChC,IAAI,CAAC,EAAE,IAAI,EACX,MAAM,GAAE,KAAK,CAAC,YAA4B,GACzC,MAAM,CAER;AAED,wBAAgB,UAAU,CAAC,IAAI,CAAC,EAAE,UAAU,EAAE,MAAM,CAAC,EAAE,MAAM,EAAE,MAAM,CAAC,EAAE,OAAO,GAAG,KAAK,CAAC,KAAK,CAE5F"}
|
package/dist/common/date.js
CHANGED
|
@@ -3,15 +3,43 @@ var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
|
3
3
|
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
4
4
|
};
|
|
5
5
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
6
|
-
exports.elapsedTimeFromNow = exports.dateSchema = exports.optionalDateSchema = exports.isValidISODate = exports.ISO_DATE = void 0;
|
|
6
|
+
exports.buildDayjs = exports.elapsedTimeFromNow = exports.dateSchema = exports.optionalDateSchema = exports.validateDateRange = exports.validateIsPastSafe = exports.validateIsPast = exports.isValidISODate = exports.ISO_DATE = void 0;
|
|
7
7
|
const dayjs_1 = __importDefault(require("dayjs"));
|
|
8
|
+
const utc_1 = __importDefault(require("dayjs/plugin/utc"));
|
|
8
9
|
const zod_1 = require("zod");
|
|
10
|
+
const bad_request_1 = require("../error/bad-request");
|
|
11
|
+
dayjs_1.default.extend(utc_1.default);
|
|
9
12
|
exports.ISO_DATE = "YYYY-MM-DD";
|
|
10
13
|
function isValidISODate(date) {
|
|
11
|
-
return (
|
|
14
|
+
return buildDayjs(date, exports.ISO_DATE, true).isValid();
|
|
12
15
|
}
|
|
13
16
|
exports.isValidISODate = isValidISODate;
|
|
14
|
-
|
|
17
|
+
function isValidISODateOptional(date) {
|
|
18
|
+
return date ? isValidISODate(date) : true;
|
|
19
|
+
}
|
|
20
|
+
function validateIsPast(date) {
|
|
21
|
+
if ((0, dayjs_1.default)(date).isAfter((0, dayjs_1.default)())) {
|
|
22
|
+
throw new bad_request_1.BadRequestError(`Date must be in the past`, undefined, { date });
|
|
23
|
+
}
|
|
24
|
+
return true;
|
|
25
|
+
}
|
|
26
|
+
exports.validateIsPast = validateIsPast;
|
|
27
|
+
function validateIsPastSafe(date) {
|
|
28
|
+
if ((0, dayjs_1.default)(date).isAfter((0, dayjs_1.default)()))
|
|
29
|
+
return false;
|
|
30
|
+
return true;
|
|
31
|
+
}
|
|
32
|
+
exports.validateIsPastSafe = validateIsPastSafe;
|
|
33
|
+
function validateDateRange(start, end) {
|
|
34
|
+
if ((0, dayjs_1.default)(start).isAfter(end)) {
|
|
35
|
+
throw new bad_request_1.BadRequestError(`Invalid date range: 'start' must be before 'end'`, undefined, {
|
|
36
|
+
start,
|
|
37
|
+
end,
|
|
38
|
+
});
|
|
39
|
+
}
|
|
40
|
+
return true;
|
|
41
|
+
}
|
|
42
|
+
exports.validateDateRange = validateDateRange;
|
|
15
43
|
const invalidIsoMsg = { message: "Invalid ISO date" };
|
|
16
44
|
exports.optionalDateSchema = zod_1.z
|
|
17
45
|
.string()
|
|
@@ -19,8 +47,12 @@ exports.optionalDateSchema = zod_1.z
|
|
|
19
47
|
.nullish()
|
|
20
48
|
.refine(isValidISODateOptional, invalidIsoMsg);
|
|
21
49
|
exports.dateSchema = zod_1.z.string().trim().refine(isValidISODate, invalidIsoMsg);
|
|
22
|
-
|
|
23
|
-
return (
|
|
24
|
-
}
|
|
50
|
+
function elapsedTimeFromNow(date, format = "millisecond") {
|
|
51
|
+
return buildDayjs().diff(buildDayjs(date), format);
|
|
52
|
+
}
|
|
25
53
|
exports.elapsedTimeFromNow = elapsedTimeFromNow;
|
|
54
|
+
function buildDayjs(date, format, strict) {
|
|
55
|
+
return dayjs_1.default.utc(date, format, strict);
|
|
56
|
+
}
|
|
57
|
+
exports.buildDayjs = buildDayjs;
|
|
26
58
|
//# sourceMappingURL=date.js.map
|
package/dist/common/date.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"date.js","sourceRoot":"","sources":["../../src/common/date.ts"],"names":[],"mappings":";;;;;;AAAA,
|
|
1
|
+
{"version":3,"file":"date.js","sourceRoot":"","sources":["../../src/common/date.ts"],"names":[],"mappings":";;;;;;AAAA,kDAA0C;AAC1C,2DAAmC;AAEnC,6BAA2C;AAC3C,sDAAuD;AAEvD,eAAK,CAAC,MAAM,CAAC,aAAG,CAAC,CAAC;AAEL,QAAA,QAAQ,GAAG,YAAY,CAAC;AAErC,SAAgB,cAAc,CAAC,IAAY;IACzC,OAAO,UAAU,CAAC,IAAI,EAAE,gBAAQ,EAAE,IAAI,CAAC,CAAC,OAAO,EAAE,CAAC;AACpD,CAAC;AAFD,wCAEC;AAED,SAAS,sBAAsB,CAAC,IAA+B;IAC7D,OAAO,IAAI,CAAC,CAAC,CAAC,cAAc,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC;AAC5C,CAAC;AAED,SAAgB,cAAc,CAAC,IAAY;IACzC,IAAI,IAAA,eAAK,EAAC,IAAI,CAAC,CAAC,OAAO,CAAC,IAAA,eAAK,GAAE,CAAC,EAAE;QAChC,MAAM,IAAI,6BAAe,CAAC,0BAA0B,EAAE,SAAS,EAAE,EAAE,IAAI,EAAE,CAAC,CAAC;KAC5E;IACD,OAAO,IAAI,CAAC;AACd,CAAC;AALD,wCAKC;AACD,SAAgB,kBAAkB,CAAC,IAAY;IAC7C,IAAI,IAAA,eAAK,EAAC,IAAI,CAAC,CAAC,OAAO,CAAC,IAAA,eAAK,GAAE,CAAC;QAAE,OAAO,KAAK,CAAC;IAC/C,OAAO,IAAI,CAAC;AACd,CAAC;AAHD,gDAGC;AAED,SAAgB,iBAAiB,CAAC,KAAa,EAAE,GAAW;IAC1D,IAAI,IAAA,eAAK,EAAC,KAAK,CAAC,CAAC,OAAO,CAAC,GAAG,CAAC,EAAE;QAC7B,MAAM,IAAI,6BAAe,CAAC,kDAAkD,EAAE,SAAS,EAAE;YACvF,KAAK;YACL,GAAG;SACJ,CAAC,CAAC;KACJ;IACD,OAAO,IAAI,CAAC;AACd,CAAC;AARD,8CAQC;AAED,MAAM,aAAa,GAAsB,EAAE,OAAO,EAAE,kBAAkB,EAAE,CAAC;AAE5D,QAAA,kBAAkB,GAAG,OAAC;KAChC,MAAM,EAAE;KACR,IAAI,EAAE;KACN,OAAO,EAAE;KACT,MAAM,CAAC,sBAAsB,EAAE,aAAa,CAAC,CAAC;AAEpC,QAAA,UAAU,GAAG,OAAC,CAAC,MAAM,EAAE,CAAC,IAAI,EAAE,CAAC,MAAM,CAAC,cAAc,EAAE,aAAa,CAAC,CAAC;AAElF,SAAgB,kBAAkB,CAChC,IAAW,EACX,SAA6B,aAAa;IAE1C,OAAO,UAAU,EAAE,CAAC,IAAI,CAAC,UAAU,CAAC,IAAI,CAAC,EAAE,MAAM,CAAC,CAAC;AACrD,CAAC;AALD,gDAKC;AAED,SAAgB,UAAU,CAAC,IAAiB,EAAE,MAAe,EAAE,MAAgB;IAC7E,OAAO,eAAK,CAAC,GAAG,CAAC,IAAI,EAAE,MAAM,EAAE,MAAM,CAAC,CAAC;AACzC,CAAC;AAFD,gCAEC"}
|
package/dist/common/error.d.ts
CHANGED
|
@@ -2,15 +2,15 @@ export type ErrorToStringOptions = {
|
|
|
2
2
|
detailed: boolean;
|
|
3
3
|
};
|
|
4
4
|
/**
|
|
5
|
-
* @deprecated
|
|
5
|
+
* @deprecated Use `@metriport/shared/error/shared` instead
|
|
6
6
|
*/
|
|
7
7
|
export declare function errorToString(err: unknown, options?: ErrorToStringOptions): string;
|
|
8
8
|
/**
|
|
9
|
-
* @deprecated
|
|
9
|
+
* @deprecated Use `@metriport/shared/error/shared` instead
|
|
10
10
|
*/
|
|
11
11
|
export declare function genericErrorToString(err: unknown): string;
|
|
12
12
|
/**
|
|
13
|
-
* @deprecated
|
|
13
|
+
* @deprecated Use `@metriport/shared/error/shared` instead
|
|
14
14
|
*/
|
|
15
15
|
export declare function detailedErrorToString(error: any): string;
|
|
16
16
|
//# sourceMappingURL=error.d.ts.map
|
package/dist/common/error.js
CHANGED
|
@@ -2,7 +2,7 @@
|
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
3
|
exports.detailedErrorToString = exports.genericErrorToString = exports.errorToString = void 0;
|
|
4
4
|
/**
|
|
5
|
-
* @deprecated
|
|
5
|
+
* @deprecated Use `@metriport/shared/error/shared` instead
|
|
6
6
|
*/
|
|
7
7
|
function errorToString(err, options = { detailed: true }) {
|
|
8
8
|
if (options.detailed) {
|
|
@@ -12,14 +12,14 @@ function errorToString(err, options = { detailed: true }) {
|
|
|
12
12
|
}
|
|
13
13
|
exports.errorToString = errorToString;
|
|
14
14
|
/**
|
|
15
|
-
* @deprecated
|
|
15
|
+
* @deprecated Use `@metriport/shared/error/shared` instead
|
|
16
16
|
*/
|
|
17
17
|
function genericErrorToString(err) {
|
|
18
18
|
return err["message"] ?? String(err); // eslint-disable-line @typescript-eslint/no-explicit-any
|
|
19
19
|
}
|
|
20
20
|
exports.genericErrorToString = genericErrorToString;
|
|
21
21
|
/**
|
|
22
|
-
* @deprecated
|
|
22
|
+
* @deprecated Use `@metriport/shared/error/shared` instead
|
|
23
23
|
*/
|
|
24
24
|
// eslint-disable-next-line @typescript-eslint/no-explicit-any
|
|
25
25
|
function detailedErrorToString(error) {
|
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Used in .flatMap() to filter out undefined values.
|
|
3
|
+
*
|
|
4
|
+
* Example:
|
|
5
|
+
*
|
|
6
|
+
* const arr = [1, null, 3, undefined, 5];
|
|
7
|
+
* const filtered = arr.flatMap(filterTruthy);
|
|
8
|
+
* // filtered = [1, 3, 5]
|
|
9
|
+
*/
|
|
10
|
+
export declare function filterTruthy<T>(o: T | undefined | null): T | [];
|
|
11
|
+
//# sourceMappingURL=filter-map.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"filter-map.d.ts","sourceRoot":"","sources":["../../src/common/filter-map.ts"],"names":[],"mappings":"AAAA;;;;;;;;GAQG;AACH,wBAAgB,YAAY,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,GAAG,SAAS,GAAG,IAAI,GAAG,CAAC,GAAG,EAAE,CAE/D"}
|
|
@@ -0,0 +1,17 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.filterTruthy = void 0;
|
|
4
|
+
/**
|
|
5
|
+
* Used in .flatMap() to filter out undefined values.
|
|
6
|
+
*
|
|
7
|
+
* Example:
|
|
8
|
+
*
|
|
9
|
+
* const arr = [1, null, 3, undefined, 5];
|
|
10
|
+
* const filtered = arr.flatMap(filterTruthy);
|
|
11
|
+
* // filtered = [1, 3, 5]
|
|
12
|
+
*/
|
|
13
|
+
function filterTruthy(o) {
|
|
14
|
+
return o ? o : [];
|
|
15
|
+
}
|
|
16
|
+
exports.filterTruthy = filterTruthy;
|
|
17
|
+
//# sourceMappingURL=filter-map.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"filter-map.js","sourceRoot":"","sources":["../../src/common/filter-map.ts"],"names":[],"mappings":";;;AAAA;;;;;;;;GAQG;AACH,SAAgB,YAAY,CAAI,CAAuB;IACrD,OAAO,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC;AACpB,CAAC;AAFD,oCAEC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"xml-parser.d.ts","sourceRoot":"","sources":["../../src/common/xml-parser.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,kBAAkB,EAAE,MAAM,iBAAiB,CAAC;AAEhE,wBAAgB,eAAe,CAAC,OAAO,GAAE,kBAAuB,GAAG,SAAS,CAY3E"}
|
|
@@ -0,0 +1,17 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.createXMLParser = void 0;
|
|
4
|
+
const fast_xml_parser_1 = require("fast-xml-parser");
|
|
5
|
+
function createXMLParser(options = {}) {
|
|
6
|
+
const defaultOptions = {
|
|
7
|
+
numberParseOptions: {
|
|
8
|
+
hex: false,
|
|
9
|
+
leadingZeros: false,
|
|
10
|
+
},
|
|
11
|
+
};
|
|
12
|
+
// Merge the default options with the provided options
|
|
13
|
+
const mergedOptions = { ...defaultOptions, ...options };
|
|
14
|
+
return new fast_xml_parser_1.XMLParser(mergedOptions);
|
|
15
|
+
}
|
|
16
|
+
exports.createXMLParser = createXMLParser;
|
|
17
|
+
//# sourceMappingURL=xml-parser.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"xml-parser.js","sourceRoot":"","sources":["../../src/common/xml-parser.ts"],"names":[],"mappings":";;;AAAA,qDAAgE;AAEhE,SAAgB,eAAe,CAAC,UAA8B,EAAE;IAC9D,MAAM,cAAc,GAAuB;QACzC,kBAAkB,EAAE;YAClB,GAAG,EAAE,KAAK;YACV,YAAY,EAAE,KAAK;SACpB;KACF,CAAC;IAEF,sDAAsD;IACtD,MAAM,aAAa,GAAG,EAAE,GAAG,cAAc,EAAE,GAAG,OAAO,EAAE,CAAC;IAExD,OAAO,IAAI,2BAAS,CAAC,aAAa,CAAC,CAAC;AACtC,CAAC;AAZD,0CAYC"}
|
|
@@ -0,0 +1,18 @@
|
|
|
1
|
+
import { PatientImportPatient } from "@metriport/shared";
|
|
2
|
+
import { PatientPayload } from "./patient-import";
|
|
3
|
+
export type FileStages = "raw" | "valid" | "invalid";
|
|
4
|
+
export declare function createFileKeyJob(cxId: string, jobId: string): string;
|
|
5
|
+
export declare function createFileKeyPatient(cxId: string, jobId: string, patientId: string): string;
|
|
6
|
+
export declare function createFileKeyFiles(cxId: string, jobId: string, stage: FileStages): string;
|
|
7
|
+
export declare const patientImportCsvHeaders: string[];
|
|
8
|
+
export declare function normalizeHeaders(headers: string[]): string[];
|
|
9
|
+
export declare function compareCsvHeaders(headers: string[], input: string[], exact?: boolean): boolean;
|
|
10
|
+
export type GenericObject = {
|
|
11
|
+
[key: string]: string | undefined;
|
|
12
|
+
};
|
|
13
|
+
export declare function createObjectFromCsv({ rowColumns, headers, }: {
|
|
14
|
+
rowColumns: string[];
|
|
15
|
+
headers: string[];
|
|
16
|
+
}): GenericObject;
|
|
17
|
+
export declare function createPatientPayload(patient: PatientImportPatient): PatientPayload;
|
|
18
|
+
//# sourceMappingURL=patient-import-shared.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"patient-import-shared.d.ts","sourceRoot":"","sources":["../../../../../../core/src/command/patient-import/patient-import-shared.ts"],"names":[],"mappings":"AAAA,OAAO,EAQL,oBAAoB,EAErB,MAAM,mBAAmB,CAAC;AAC3B,OAAO,EAAE,cAAc,EAAE,MAAM,kBAAkB,CAAC;AAIlD,MAAM,MAAM,UAAU,GAAG,KAAK,GAAG,OAAO,GAAG,SAAS,CAAC;AAcrD,wBAAgB,gBAAgB,CAAC,IAAI,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,GAAG,MAAM,CAEpE;AAED,wBAAgB,oBAAoB,CAAC,IAAI,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,EAAE,SAAS,EAAE,MAAM,GAAG,MAAM,CAI3F;AAED,wBAAgB,kBAAkB,CAAC,IAAI,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,EAAE,KAAK,EAAE,UAAU,GAAG,MAAM,CAIzF;AAED,eAAO,MAAM,uBAAuB,UAenC,CAAC;AAKF,wBAAgB,gBAAgB,CAAC,OAAO,EAAE,MAAM,EAAE,GAAG,MAAM,EAAE,CAM5D;AAED,wBAAgB,iBAAiB,CAAC,OAAO,EAAE,MAAM,EAAE,EAAE,KAAK,EAAE,MAAM,EAAE,EAAE,KAAK,UAAQ,GAAG,OAAO,CAM5F;AAED,MAAM,MAAM,aAAa,GAAG;IAAE,CAAC,GAAG,EAAE,MAAM,GAAG,MAAM,GAAG,SAAS,CAAA;CAAE,CAAC;AAElE,wBAAgB,mBAAmB,CAAC,EAClC,UAAU,EACV,OAAO,GACR,EAAE;IACD,UAAU,EAAE,MAAM,EAAE,CAAC;IACrB,OAAO,EAAE,MAAM,EAAE,CAAC;CACnB,GAAG,aAAa,CAQhB;AAED,wBAAgB,oBAAoB,CAAC,OAAO,EAAE,oBAAoB,GAAG,cAAc,CA2BlF"}
|
|
@@ -0,0 +1,137 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.createPatientPayload = exports.createObjectFromCsv = exports.compareCsvHeaders = exports.normalizeHeaders = exports.patientImportCsvHeaders = exports.createFileKeyFiles = exports.createFileKeyPatient = exports.createFileKeyJob = void 0;
|
|
4
|
+
const shared_1 = require("@metriport/shared");
|
|
5
|
+
const globalPrefix = "patient-import";
|
|
6
|
+
function createCxJobPrefix(cxId, jobId) {
|
|
7
|
+
return `cxid=${cxId}/jobid=${jobId}`;
|
|
8
|
+
}
|
|
9
|
+
function createFilePathPatients(cxId, jobId, patientId) {
|
|
10
|
+
return `${createCxJobPrefix(cxId, jobId)}/patients/patientid=${patientId}/status.json`;
|
|
11
|
+
}
|
|
12
|
+
function createFilePathFiles(cxId, jobId, stage) {
|
|
13
|
+
return `${createCxJobPrefix(cxId, jobId)}/files/${stage}.csv`;
|
|
14
|
+
}
|
|
15
|
+
function createFileKeyJob(cxId, jobId) {
|
|
16
|
+
return `${globalPrefix}/${createCxJobPrefix(cxId, jobId)}/status.json`;
|
|
17
|
+
}
|
|
18
|
+
exports.createFileKeyJob = createFileKeyJob;
|
|
19
|
+
function createFileKeyPatient(cxId, jobId, patientId) {
|
|
20
|
+
const fileName = createFilePathPatients(cxId, jobId, patientId);
|
|
21
|
+
const key = `${globalPrefix}/${fileName}`;
|
|
22
|
+
return key;
|
|
23
|
+
}
|
|
24
|
+
exports.createFileKeyPatient = createFileKeyPatient;
|
|
25
|
+
function createFileKeyFiles(cxId, jobId, stage) {
|
|
26
|
+
const fileName = createFilePathFiles(cxId, jobId, stage);
|
|
27
|
+
const key = `${globalPrefix}/${fileName}`;
|
|
28
|
+
return key;
|
|
29
|
+
}
|
|
30
|
+
exports.createFileKeyFiles = createFileKeyFiles;
|
|
31
|
+
exports.patientImportCsvHeaders = [
|
|
32
|
+
"externalid",
|
|
33
|
+
"firstname",
|
|
34
|
+
"lastname",
|
|
35
|
+
"dob",
|
|
36
|
+
"gender",
|
|
37
|
+
"zip",
|
|
38
|
+
"city",
|
|
39
|
+
"state",
|
|
40
|
+
"addressline1",
|
|
41
|
+
"addressline2",
|
|
42
|
+
"phone1",
|
|
43
|
+
"email1",
|
|
44
|
+
// "phone2",
|
|
45
|
+
// "email2",
|
|
46
|
+
];
|
|
47
|
+
const replaceCharacters = ["*"];
|
|
48
|
+
// TODO gotta accept email, email1, phone, phone1, etc
|
|
49
|
+
function normalizeHeaders(headers) {
|
|
50
|
+
let newHeaders = headers;
|
|
51
|
+
replaceCharacters.map(char => {
|
|
52
|
+
newHeaders = newHeaders.map(h => h.replace(char, "").toLowerCase());
|
|
53
|
+
});
|
|
54
|
+
return newHeaders;
|
|
55
|
+
}
|
|
56
|
+
exports.normalizeHeaders = normalizeHeaders;
|
|
57
|
+
function compareCsvHeaders(headers, input, exact = false) {
|
|
58
|
+
let newInput = input;
|
|
59
|
+
if (!exact) {
|
|
60
|
+
newInput = newInput.slice(0, headers.length);
|
|
61
|
+
}
|
|
62
|
+
return headers.toString() === newInput.toString();
|
|
63
|
+
}
|
|
64
|
+
exports.compareCsvHeaders = compareCsvHeaders;
|
|
65
|
+
function createObjectFromCsv({ rowColumns, headers, }) {
|
|
66
|
+
const object = {};
|
|
67
|
+
headers.forEach((header, columnIndex) => {
|
|
68
|
+
const value = rowColumns[columnIndex];
|
|
69
|
+
if (value === undefined)
|
|
70
|
+
throw Error("rowColumns and headers have different sizes");
|
|
71
|
+
object[header] = value.trim() === "" ? undefined : value;
|
|
72
|
+
});
|
|
73
|
+
return object;
|
|
74
|
+
}
|
|
75
|
+
exports.createObjectFromCsv = createObjectFromCsv;
|
|
76
|
+
function createPatientPayload(patient) {
|
|
77
|
+
const phone1 = patient.phone1 ? (0, shared_1.normalizePhoneNumberStrict)(patient.phone1) : undefined;
|
|
78
|
+
const email1 = patient.email1 ? (0, shared_1.normalizeEmailStrict)(patient.email1) : undefined;
|
|
79
|
+
const phone2 = patient.phone2 ? (0, shared_1.normalizePhoneNumberStrict)(patient.phone2) : undefined;
|
|
80
|
+
const email2 = patient.email2 ? (0, shared_1.normalizeEmailStrict)(patient.email2) : undefined;
|
|
81
|
+
const contact1 = phone1 || email1 ? { phone: phone1, email: email1 } : undefined;
|
|
82
|
+
const contact2 = phone2 || email2 ? { phone: phone2, email: email2 } : undefined;
|
|
83
|
+
const contact = [contact1, contact2].flatMap(c => c ?? []);
|
|
84
|
+
const externalId = patient.externalid ? (0, shared_1.normalizeExternalId)(patient.externalid) : undefined;
|
|
85
|
+
return {
|
|
86
|
+
externalId,
|
|
87
|
+
firstName: (0, shared_1.toTitleCase)(patient.firstname),
|
|
88
|
+
lastName: (0, shared_1.toTitleCase)(patient.lastname),
|
|
89
|
+
dob: (0, shared_1.normalizeDate)(patient.dob),
|
|
90
|
+
genderAtBirth: (0, shared_1.normalizeGender)(patient.gender),
|
|
91
|
+
address: [
|
|
92
|
+
{
|
|
93
|
+
addressLine1: (0, shared_1.toTitleCase)(patient.addressline1),
|
|
94
|
+
...(patient.addressline2 ? { addressLine2: (0, shared_1.toTitleCase)(patient.addressline2) } : undefined),
|
|
95
|
+
city: (0, shared_1.toTitleCase)(patient.city),
|
|
96
|
+
state: (0, shared_1.normalizeState)(patient.state),
|
|
97
|
+
zip: (0, shared_1.normalizeZipCode)(patient.zip),
|
|
98
|
+
country: "USA",
|
|
99
|
+
},
|
|
100
|
+
],
|
|
101
|
+
contact,
|
|
102
|
+
};
|
|
103
|
+
}
|
|
104
|
+
exports.createPatientPayload = createPatientPayload;
|
|
105
|
+
// // TODO 2330 Move/merge this to shared's zip.ts
|
|
106
|
+
// export function normalizeZipCode(
|
|
107
|
+
// zipCode: string,
|
|
108
|
+
// // strict = false,
|
|
109
|
+
// normalizeFn = normalizeZipCodeSafe
|
|
110
|
+
// ): string {
|
|
111
|
+
// const zipOrUndefined = normalizeFn(zipCode);
|
|
112
|
+
// if (!zipOrUndefined) {
|
|
113
|
+
// throw new Error("Invalid Zip.");
|
|
114
|
+
// }
|
|
115
|
+
// return zipOrUndefined;
|
|
116
|
+
// }
|
|
117
|
+
// // TODO 2330 Move/merge this to shared's zip.ts
|
|
118
|
+
// // export function normalizeZipCodeSafe(zipCode: string, strict = false): string | undefined {
|
|
119
|
+
// export function normalizeZipCodeSafe(zipCode: string): string | undefined {
|
|
120
|
+
// // trim
|
|
121
|
+
// const trimmedZip = zipCode.trim();
|
|
122
|
+
// // if its empty, return undefined
|
|
123
|
+
// if (trimmedZip === "") return undefined;
|
|
124
|
+
// // validate zipCode has only numbers and dashes
|
|
125
|
+
// if (!trimmedZip.match(/^[0-9-]+$/)) return undefined;
|
|
126
|
+
// // if it has a dash, it should only have one dash
|
|
127
|
+
// if (trimmedZip.includes("-") && trimmedZip.split("-").length !== 2) return undefined;
|
|
128
|
+
// const mainPart = trimmedZip.split("-")[0];
|
|
129
|
+
// if (!mainPart) return trimmedZip;
|
|
130
|
+
// // if it has 5 digits, return
|
|
131
|
+
// if (mainPart.length === 5) return mainPart;
|
|
132
|
+
// // if it has less than 5 digits, left pad with 0s
|
|
133
|
+
// if (mainPart.length < 5) return mainPart.padStart(5, "0");
|
|
134
|
+
// // if it has more than 5 digits, return the first 5
|
|
135
|
+
// return mainPart.slice(0, 5);
|
|
136
|
+
// }
|
|
137
|
+
//# sourceMappingURL=patient-import-shared.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"patient-import-shared.js","sourceRoot":"","sources":["../../../../../../core/src/command/patient-import/patient-import-shared.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,60 @@
|
|
|
1
|
+
import { PatientDemoData } from "../../domain/patient";
|
|
2
|
+
export type PhaseStatus = "processing" | "completed" | "failed";
|
|
3
|
+
export type PatientRecord = {
|
|
4
|
+
patientId: string;
|
|
5
|
+
patientQueryStatus?: PhaseStatus;
|
|
6
|
+
documentQueryStatus?: PhaseStatus;
|
|
7
|
+
documentRetrevialStatus?: PhaseStatus;
|
|
8
|
+
documentConversionStatus?: PhaseStatus;
|
|
9
|
+
cleanUpStatus?: PhaseStatus;
|
|
10
|
+
};
|
|
11
|
+
export type PatientRecordUpdate = Omit<PatientRecord, "patientId">;
|
|
12
|
+
export type JobRecord = {
|
|
13
|
+
jobStartedAt: string;
|
|
14
|
+
};
|
|
15
|
+
export type JobRecordUpdate = JobRecord;
|
|
16
|
+
export type StartPatientImportRequest = {
|
|
17
|
+
cxId: string;
|
|
18
|
+
facilityId: string;
|
|
19
|
+
jobId: string;
|
|
20
|
+
processPatientImportLambda: string;
|
|
21
|
+
rerunPdOnNewDemographics?: boolean;
|
|
22
|
+
dryrun?: boolean;
|
|
23
|
+
};
|
|
24
|
+
export type ProcessPatientImportRequest = {
|
|
25
|
+
cxId: string;
|
|
26
|
+
facilityId: string;
|
|
27
|
+
jobId: string;
|
|
28
|
+
jobStartedAt: string;
|
|
29
|
+
s3BucketName: string;
|
|
30
|
+
processPatientCreateQueue: string;
|
|
31
|
+
rerunPdOnNewDemographics: boolean;
|
|
32
|
+
dryrun: boolean;
|
|
33
|
+
};
|
|
34
|
+
export type PatientPayload = PatientDemoData & {
|
|
35
|
+
externalId: string | undefined;
|
|
36
|
+
};
|
|
37
|
+
export type ProcessPatientCreateRequest = {
|
|
38
|
+
cxId: string;
|
|
39
|
+
facilityId: string;
|
|
40
|
+
jobId: string;
|
|
41
|
+
patientPayload: PatientPayload;
|
|
42
|
+
s3BucketName: string;
|
|
43
|
+
processPatientQueryQueue: string;
|
|
44
|
+
rerunPdOnNewDemographics: boolean;
|
|
45
|
+
};
|
|
46
|
+
export type ProcessPatientQueryRequest = {
|
|
47
|
+
cxId: string;
|
|
48
|
+
jobId: string;
|
|
49
|
+
patientId: string;
|
|
50
|
+
s3BucketName: string;
|
|
51
|
+
rerunPdOnNewDemographics: boolean;
|
|
52
|
+
waitTimeInMillis: number;
|
|
53
|
+
};
|
|
54
|
+
export interface PatientImportHandler {
|
|
55
|
+
startPatientImport(request: StartPatientImportRequest): Promise<void>;
|
|
56
|
+
processPatientImport(request: ProcessPatientImportRequest): Promise<void>;
|
|
57
|
+
processPatientCreate(request: ProcessPatientCreateRequest): Promise<void>;
|
|
58
|
+
processPatientQuery(request: ProcessPatientQueryRequest): Promise<void>;
|
|
59
|
+
}
|
|
60
|
+
//# sourceMappingURL=patient-import.d.ts.map
|