@metriport/commonwell-sdk 6.1.0 → 6.2.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/client/document.d.ts +8 -0
- package/dist/client/document.d.ts.map +1 -0
- package/dist/client/document.js +60 -0
- package/dist/client/document.js.map +1 -0
- package/dist/models/__tests__/document.d.ts +29 -0
- package/dist/models/__tests__/document.d.ts.map +1 -0
- package/dist/models/__tests__/document.js +131 -0
- package/dist/models/__tests__/document.js.map +1 -0
- package/dist/models/enrollment-summary.d.ts +19 -0
- package/dist/models/enrollment-summary.d.ts.map +1 -0
- package/dist/models/enrollment-summary.js +15 -0
- package/dist/models/enrollment-summary.js.map +1 -0
- package/dist/models/iso-date.d.ts +4 -0
- package/dist/models/iso-date.d.ts.map +1 -0
- package/dist/models/iso-date.js +7 -0
- package/dist/models/iso-date.js.map +1 -0
- package/dist/models/iso-datetime.d.ts +4 -0
- package/dist/models/iso-datetime.d.ts.map +1 -0
- package/dist/models/iso-datetime.js +9 -0
- package/dist/models/iso-datetime.js.map +1 -0
- package/dist/models/link.d.ts +1219 -0
- package/dist/models/link.d.ts.map +1 -0
- package/dist/models/link.js +53 -0
- package/dist/models/link.js.map +1 -0
- package/dist/models/organization.d.ts +81 -17
- package/dist/models/organization.d.ts.map +1 -1
- package/dist/models/organization.js +1 -5
- package/dist/models/organization.js.map +1 -1
- package/dist/models/person.d.ts +2443 -0
- package/dist/models/person.d.ts.map +1 -0
- package/dist/models/person.js +44 -0
- package/dist/models/person.js.map +1 -0
- package/package.json +3 -3
|
@@ -0,0 +1,8 @@
|
|
|
1
|
+
/// <reference types="node" />
|
|
2
|
+
import { AxiosInstance } from "axios";
|
|
3
|
+
import * as stream from "stream";
|
|
4
|
+
import { DocumentQueryFullResponse, DocumentQueryResponse } from "../models/document";
|
|
5
|
+
export declare function query(api: AxiosInstance, headers: Record<string, string>, patientId: string): Promise<DocumentQueryResponse>;
|
|
6
|
+
export declare function queryFull(api: AxiosInstance, headers: Record<string, string>, patientId: string): Promise<DocumentQueryFullResponse>;
|
|
7
|
+
export declare function retrieve(api: AxiosInstance, headers: Record<string, string>, inputUrl: string, outputStream: stream.Writable): Promise<void>;
|
|
8
|
+
//# sourceMappingURL=document.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"document.d.ts","sourceRoot":"","sources":["../../src/client/document.ts"],"names":[],"mappings":";AAAA,OAAO,EAAE,aAAa,EAAE,MAAM,OAAO,CAAC;AACtC,OAAO,KAAK,MAAM,MAAM,QAAQ,CAAC;AAIjC,OAAO,EACL,yBAAyB,EAEzB,qBAAqB,EAEtB,MAAM,oBAAoB,CAAC;AAuB5B,wBAAsB,KAAK,CACzB,GAAG,EAAE,aAAa,EAClB,OAAO,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,EAC/B,SAAS,EAAE,MAAM,GAChB,OAAO,CAAC,qBAAqB,CAAC,CAOhC;AAED,wBAAsB,SAAS,CAC7B,GAAG,EAAE,aAAa,EAClB,OAAO,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,EAC/B,SAAS,EAAE,MAAM,GAChB,OAAO,CAAC,yBAAyB,CAAC,CAOpC;AAED,wBAAsB,QAAQ,CAC5B,GAAG,EAAE,aAAa,EAClB,OAAO,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,EAC/B,QAAQ,EAAE,MAAM,EAChB,YAAY,EAAE,MAAM,CAAC,QAAQ,GAC5B,OAAO,CAAC,IAAI,CAAC,CAWf"}
|
|
@@ -0,0 +1,60 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.retrieve = exports.queryFull = exports.query = void 0;
|
|
4
|
+
const commonwell_error_1 = require("../common/commonwell-error");
|
|
5
|
+
const fileDownload_1 = require("../common/fileDownload");
|
|
6
|
+
const util_1 = require("../common/util");
|
|
7
|
+
const document_1 = require("../models/document");
|
|
8
|
+
const commonwell_1 = require("./commonwell");
|
|
9
|
+
async function initQuery(api, headers, patientId
|
|
10
|
+
//eslint-disable-next-line @typescript-eslint/no-explicit-any
|
|
11
|
+
) {
|
|
12
|
+
const subjectId = (0, util_1.convertPatientIdToSubjectId)(patientId);
|
|
13
|
+
if (!subjectId) {
|
|
14
|
+
throw new Error(`Could not determine subject ID for document query`);
|
|
15
|
+
}
|
|
16
|
+
const url = `${commonwell_1.CommonWell.DOCUMENT_QUERY_ENDPOINT}?subject.id=${subjectId}`;
|
|
17
|
+
const additionalInfo = { patientId, url };
|
|
18
|
+
try {
|
|
19
|
+
const response = await api.get(url, { headers });
|
|
20
|
+
return response;
|
|
21
|
+
}
|
|
22
|
+
catch (err) {
|
|
23
|
+
throw new commonwell_error_1.CommonwellError(`Error querying documents`, err, additionalInfo);
|
|
24
|
+
}
|
|
25
|
+
}
|
|
26
|
+
async function query(api, headers, patientId) {
|
|
27
|
+
const response = await initQuery(api, headers, patientId);
|
|
28
|
+
try {
|
|
29
|
+
return document_1.documentQueryResponseSchema.parse(response.data);
|
|
30
|
+
}
|
|
31
|
+
catch (err) {
|
|
32
|
+
throw new commonwell_error_1.CommonwellError(`Error parsing document query response`, err, { patientId });
|
|
33
|
+
}
|
|
34
|
+
}
|
|
35
|
+
exports.query = query;
|
|
36
|
+
async function queryFull(api, headers, patientId) {
|
|
37
|
+
const response = await initQuery(api, headers, patientId);
|
|
38
|
+
try {
|
|
39
|
+
return document_1.documentQueryFullResponseSchema.parse(response.data);
|
|
40
|
+
}
|
|
41
|
+
catch (err) {
|
|
42
|
+
throw new commonwell_error_1.CommonwellError(`Error parsing document query full response`, err, { patientId });
|
|
43
|
+
}
|
|
44
|
+
}
|
|
45
|
+
exports.queryFull = queryFull;
|
|
46
|
+
async function retrieve(api, headers, inputUrl, outputStream) {
|
|
47
|
+
try {
|
|
48
|
+
await (0, fileDownload_1.downloadFile)({
|
|
49
|
+
url: inputUrl,
|
|
50
|
+
outputStream,
|
|
51
|
+
client: api,
|
|
52
|
+
headers,
|
|
53
|
+
});
|
|
54
|
+
}
|
|
55
|
+
catch (err) {
|
|
56
|
+
throw new commonwell_error_1.CommonwellError(`Error retrieve document`, err, { inputUrl });
|
|
57
|
+
}
|
|
58
|
+
}
|
|
59
|
+
exports.retrieve = retrieve;
|
|
60
|
+
//# sourceMappingURL=document.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"document.js","sourceRoot":"","sources":["../../src/client/document.ts"],"names":[],"mappings":";;;AAEA,iEAA6D;AAC7D,yDAAsD;AACtD,yCAA6D;AAC7D,iDAK4B;AAC5B,6CAA0C;AAE1C,KAAK,UAAU,SAAS,CACtB,GAAkB,EAClB,OAA+B,EAC/B,SAAiB;AACjB,6DAA6D;;IAE7D,MAAM,SAAS,GAAG,IAAA,kCAA2B,EAAC,SAAS,CAAC,CAAC;IACzD,IAAI,CAAC,SAAS,EAAE;QACd,MAAM,IAAI,KAAK,CAAC,mDAAmD,CAAC,CAAC;KACtE;IACD,MAAM,GAAG,GAAG,GAAG,uBAAU,CAAC,uBAAuB,eAAe,SAAS,EAAE,CAAC;IAC5E,MAAM,cAAc,GAAG,EAAE,SAAS,EAAE,GAAG,EAAE,CAAC;IAC1C,IAAI;QACF,MAAM,QAAQ,GAAG,MAAM,GAAG,CAAC,GAAG,CAAC,GAAG,EAAE,EAAE,OAAO,EAAE,CAAC,CAAC;QACjD,OAAO,QAAQ,CAAC;KACjB;IAAC,OAAO,GAAG,EAAE;QACZ,MAAM,IAAI,kCAAe,CAAC,0BAA0B,EAAE,GAAG,EAAE,cAAc,CAAC,CAAC;KAC5E;AACH,CAAC;AAEM,KAAK,UAAU,KAAK,CACzB,GAAkB,EAClB,OAA+B,EAC/B,SAAiB;IAEjB,MAAM,QAAQ,GAAG,MAAM,SAAS,CAAC,GAAG,EAAE,OAAO,EAAE,SAAS,CAAC,CAAC;IAC1D,IAAI;QACF,OAAO,sCAA2B,CAAC,KAAK,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC;KACzD;IAAC,OAAO,GAAG,EAAE;QACZ,MAAM,IAAI,kCAAe,CAAC,uCAAuC,EAAE,GAAG,EAAE,EAAE,SAAS,EAAE,CAAC,CAAC;KACxF;AACH,CAAC;AAXD,sBAWC;AAEM,KAAK,UAAU,SAAS,CAC7B,GAAkB,EAClB,OAA+B,EAC/B,SAAiB;IAEjB,MAAM,QAAQ,GAAG,MAAM,SAAS,CAAC,GAAG,EAAE,OAAO,EAAE,SAAS,CAAC,CAAC;IAC1D,IAAI;QACF,OAAO,0CAA+B,CAAC,KAAK,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC;KAC7D;IAAC,OAAO,GAAG,EAAE;QACZ,MAAM,IAAI,kCAAe,CAAC,4CAA4C,EAAE,GAAG,EAAE,EAAE,SAAS,EAAE,CAAC,CAAC;KAC7F;AACH,CAAC;AAXD,8BAWC;AAEM,KAAK,UAAU,QAAQ,CAC5B,GAAkB,EAClB,OAA+B,EAC/B,QAAgB,EAChB,YAA6B;IAE7B,IAAI;QACF,MAAM,IAAA,2BAAY,EAAC;YACjB,GAAG,EAAE,QAAQ;YACb,YAAY;YACZ,MAAM,EAAE,GAAG;YACX,OAAO;SACR,CAAC,CAAC;KACJ;IAAC,OAAO,GAAG,EAAE;QACZ,MAAM,IAAI,kCAAe,CAAC,yBAAyB,EAAE,GAAG,EAAE,EAAE,QAAQ,EAAE,CAAC,CAAC;KACzE;AACH,CAAC;AAhBD,4BAgBC"}
|
|
@@ -0,0 +1,29 @@
|
|
|
1
|
+
import { DeepPartial } from "ts-essentials";
|
|
2
|
+
import { CodeableConcept, Contained, Document, DocumentContent, DocumentIdentifier } from "../document";
|
|
3
|
+
import { Period } from "../period";
|
|
4
|
+
export declare function makeDocument(params?: Partial<Pick<Document, "id">> & {
|
|
5
|
+
content?: MakeDocumentContent;
|
|
6
|
+
}): Document;
|
|
7
|
+
type MakeDocumentContent = DeepPartial<DocumentContent> & Partial<{
|
|
8
|
+
contained: {
|
|
9
|
+
identifier?: DocumentIdentifier[];
|
|
10
|
+
}[];
|
|
11
|
+
masterIdentifier: DocumentIdentifier;
|
|
12
|
+
identifier: DocumentIdentifier[];
|
|
13
|
+
type: CodeableConcept;
|
|
14
|
+
author: {
|
|
15
|
+
reference: string;
|
|
16
|
+
}[];
|
|
17
|
+
context: {
|
|
18
|
+
event?: CodeableConcept[];
|
|
19
|
+
period?: Period;
|
|
20
|
+
facilityType?: CodeableConcept;
|
|
21
|
+
};
|
|
22
|
+
}>;
|
|
23
|
+
export declare function makeDocumentContent(params?: MakeDocumentContent): DocumentContent;
|
|
24
|
+
export declare function makeContained(params?: Partial<Contained>): Contained;
|
|
25
|
+
export declare function makeContainedOrg(params?: Partial<Contained>): Contained;
|
|
26
|
+
export declare function makeContainedPractitioner(params?: Partial<Contained>): Contained;
|
|
27
|
+
export declare function makeContainedPatient(params?: Partial<Contained>): Contained;
|
|
28
|
+
export {};
|
|
29
|
+
//# sourceMappingURL=document.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"document.d.ts","sourceRoot":"","sources":["../../../src/models/__tests__/document.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,WAAW,EAAE,MAAM,eAAe,CAAC;AAE5C,OAAO,EACL,eAAe,EACf,SAAS,EACT,QAAQ,EACR,eAAe,EACf,kBAAkB,EACnB,MAAM,aAAa,CAAC;AACrB,OAAO,EAAE,MAAM,EAAE,MAAM,WAAW,CAAC;AAEnC,wBAAgB,YAAY,CAC1B,MAAM,CAAC,EAAE,OAAO,CAAC,IAAI,CAAC,QAAQ,EAAE,IAAI,CAAC,CAAC,GAAG;IACvC,OAAO,CAAC,EAAE,mBAAmB,CAAC;CAC/B,GACA,QAAQ,CAMV;AAED,KAAK,mBAAmB,GAAG,WAAW,CAAC,eAAe,CAAC,GACrD,OAAO,CAAC;IACN,SAAS,EAAE;QACT,UAAU,CAAC,EAAE,kBAAkB,EAAE,CAAC;KACnC,EAAE,CAAC;IACJ,gBAAgB,EAAE,kBAAkB,CAAC;IACrC,UAAU,EAAE,kBAAkB,EAAE,CAAC;IACjC,IAAI,EAAE,eAAe,CAAC;IACtB,MAAM,EAAE;QAAE,SAAS,EAAE,MAAM,CAAA;KAAE,EAAE,CAAC;IAChC,OAAO,EAAE;QACP,KAAK,CAAC,EAAE,eAAe,EAAE,CAAC;QAC1B,MAAM,CAAC,EAAE,MAAM,CAAC;QAChB,YAAY,CAAC,EAAE,eAAe,CAAC;KAChC,CAAC;CACH,CAAC,CAAC;AAEL,wBAAgB,mBAAmB,CAAC,MAAM,CAAC,EAAE,mBAAmB,GAAG,eAAe,CA4DjF;AAED,wBAAgB,aAAa,CAAC,MAAM,CAAC,EAAE,OAAO,CAAC,SAAS,CAAC,GAAG,SAAS,CAKpE;AAcD,wBAAgB,gBAAgB,CAAC,MAAM,CAAC,EAAE,OAAO,CAAC,SAAS,CAAC,GAAG,SAAS,CAMvE;AAED,wBAAgB,yBAAyB,CAAC,MAAM,CAAC,EAAE,OAAO,CAAC,SAAS,CAAC,GAAG,SAAS,CAahF;AAED,wBAAgB,oBAAoB,CAAC,MAAM,CAAC,EAAE,OAAO,CAAC,SAAS,CAAC,GAAG,SAAS,CAU3E"}
|
|
@@ -0,0 +1,131 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.makeContainedPatient = exports.makeContainedPractitioner = exports.makeContainedOrg = exports.makeContained = exports.makeDocumentContent = exports.makeDocument = void 0;
|
|
4
|
+
const faker_1 = require("@faker-js/faker");
|
|
5
|
+
const uuid_1 = require("uuid");
|
|
6
|
+
function makeDocument(params) {
|
|
7
|
+
const id = params?.id ?? faker_1.faker.string.uuid();
|
|
8
|
+
return {
|
|
9
|
+
id,
|
|
10
|
+
content: makeDocumentContent(params?.content),
|
|
11
|
+
};
|
|
12
|
+
}
|
|
13
|
+
exports.makeDocument = makeDocument;
|
|
14
|
+
function makeDocumentContent(params) {
|
|
15
|
+
const containedOrgId = faker_1.faker.string.nanoid();
|
|
16
|
+
const containedPractitionerId = faker_1.faker.string.nanoid();
|
|
17
|
+
const to = faker_1.faker.date.recent();
|
|
18
|
+
const from = faker_1.faker.date.past({ years: 5, refDate: to });
|
|
19
|
+
return {
|
|
20
|
+
resourceType: "DocumentReference",
|
|
21
|
+
contained: params?.contained ?? [
|
|
22
|
+
makeContainedOrg({ id: containedOrgId }),
|
|
23
|
+
makeContainedPractitioner({
|
|
24
|
+
id: containedPractitionerId,
|
|
25
|
+
organization: { reference: `#${containedOrgId}` },
|
|
26
|
+
}),
|
|
27
|
+
],
|
|
28
|
+
masterIdentifier: params?.masterIdentifier ?? {
|
|
29
|
+
system: "urn:ietf:rfc:3986",
|
|
30
|
+
value: faker_1.faker.string.uuid(),
|
|
31
|
+
},
|
|
32
|
+
identifier: params?.identifier ?? [
|
|
33
|
+
{
|
|
34
|
+
use: "official",
|
|
35
|
+
system: "urn:ietf:rfc:3986",
|
|
36
|
+
value: `urn:uuid:${faker_1.faker.string.uuid()}`,
|
|
37
|
+
},
|
|
38
|
+
],
|
|
39
|
+
status: params?.status ?? "current",
|
|
40
|
+
type: params?.type ?? {
|
|
41
|
+
coding: [
|
|
42
|
+
{
|
|
43
|
+
system: "http://loinc.org",
|
|
44
|
+
code: "34133-9",
|
|
45
|
+
display: "Summary of episode note",
|
|
46
|
+
},
|
|
47
|
+
],
|
|
48
|
+
text: "Summary of episode note",
|
|
49
|
+
},
|
|
50
|
+
subject: {
|
|
51
|
+
reference: params?.subject?.reference ?? `Patient/${faker_1.faker.string.uuid()}`,
|
|
52
|
+
},
|
|
53
|
+
author: params?.author ?? [
|
|
54
|
+
{
|
|
55
|
+
reference: `Practitioner/${containedPractitionerId}`,
|
|
56
|
+
},
|
|
57
|
+
],
|
|
58
|
+
indexed: params?.indexed ?? faker_1.faker.date.past().toISOString(),
|
|
59
|
+
context: params?.context ?? {
|
|
60
|
+
event: [
|
|
61
|
+
{
|
|
62
|
+
text: "Ambulatory",
|
|
63
|
+
},
|
|
64
|
+
],
|
|
65
|
+
period: {
|
|
66
|
+
start: from.toISOString(),
|
|
67
|
+
end: to.toISOString(),
|
|
68
|
+
},
|
|
69
|
+
facilityType: {
|
|
70
|
+
text: faker_1.faker.company.name(),
|
|
71
|
+
},
|
|
72
|
+
},
|
|
73
|
+
};
|
|
74
|
+
}
|
|
75
|
+
exports.makeDocumentContent = makeDocumentContent;
|
|
76
|
+
function makeContained(params) {
|
|
77
|
+
const resourceType = faker_1.faker.helpers.arrayElement(["Organization", "Practitioner", "Patinet"]);
|
|
78
|
+
if (resourceType === "Organization")
|
|
79
|
+
return makeContainedOrg(params);
|
|
80
|
+
if (resourceType === "Practitioner")
|
|
81
|
+
return makeContainedPractitioner(params);
|
|
82
|
+
return makeContainedPatient(params);
|
|
83
|
+
}
|
|
84
|
+
exports.makeContained = makeContained;
|
|
85
|
+
function makeContainedBase(params) {
|
|
86
|
+
const containedId = faker_1.faker.string.nanoid();
|
|
87
|
+
return {
|
|
88
|
+
id: params?.id ?? containedId,
|
|
89
|
+
identifier: params?.identifier ?? [
|
|
90
|
+
{
|
|
91
|
+
value: faker_1.faker.number.int({ min: 1000, max: 99999 }).toString(),
|
|
92
|
+
},
|
|
93
|
+
],
|
|
94
|
+
};
|
|
95
|
+
}
|
|
96
|
+
function makeContainedOrg(params) {
|
|
97
|
+
return {
|
|
98
|
+
...makeContainedBase(params),
|
|
99
|
+
resourceType: params?.resourceType ?? "Organization",
|
|
100
|
+
name: params?.name ?? faker_1.faker.company.name(),
|
|
101
|
+
};
|
|
102
|
+
}
|
|
103
|
+
exports.makeContainedOrg = makeContainedOrg;
|
|
104
|
+
function makeContainedPractitioner(params) {
|
|
105
|
+
return {
|
|
106
|
+
...makeContainedBase(params),
|
|
107
|
+
resourceType: params?.resourceType ?? "Practitioner",
|
|
108
|
+
name: params?.name ?? {
|
|
109
|
+
family: [faker_1.faker.person.lastName()],
|
|
110
|
+
given: [faker_1.faker.person.firstName()],
|
|
111
|
+
prefix: [""],
|
|
112
|
+
},
|
|
113
|
+
organization: params?.organization ?? {
|
|
114
|
+
reference: `#${(0, uuid_1.v4)()}`,
|
|
115
|
+
},
|
|
116
|
+
};
|
|
117
|
+
}
|
|
118
|
+
exports.makeContainedPractitioner = makeContainedPractitioner;
|
|
119
|
+
function makeContainedPatient(params) {
|
|
120
|
+
return {
|
|
121
|
+
...makeContainedBase(params),
|
|
122
|
+
resourceType: params?.resourceType ?? "Patient",
|
|
123
|
+
name: params?.name ?? {
|
|
124
|
+
family: [faker_1.faker.person.lastName()],
|
|
125
|
+
given: [faker_1.faker.person.firstName()],
|
|
126
|
+
prefix: [""],
|
|
127
|
+
},
|
|
128
|
+
};
|
|
129
|
+
}
|
|
130
|
+
exports.makeContainedPatient = makeContainedPatient;
|
|
131
|
+
//# sourceMappingURL=document.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"document.js","sourceRoot":"","sources":["../../../src/models/__tests__/document.ts"],"names":[],"mappings":";;;AAAA,2CAAwC;AAExC,+BAAoC;AAUpC,SAAgB,YAAY,CAC1B,MAEC;IAED,MAAM,EAAE,GAAG,MAAM,EAAE,EAAE,IAAI,aAAK,CAAC,MAAM,CAAC,IAAI,EAAE,CAAC;IAC7C,OAAO;QACL,EAAE;QACF,OAAO,EAAE,mBAAmB,CAAC,MAAM,EAAE,OAAO,CAAC;KAC9C,CAAC;AACJ,CAAC;AAVD,oCAUC;AAkBD,SAAgB,mBAAmB,CAAC,MAA4B;IAC9D,MAAM,cAAc,GAAG,aAAK,CAAC,MAAM,CAAC,MAAM,EAAE,CAAC;IAC7C,MAAM,uBAAuB,GAAG,aAAK,CAAC,MAAM,CAAC,MAAM,EAAE,CAAC;IACtD,MAAM,EAAE,GAAG,aAAK,CAAC,IAAI,CAAC,MAAM,EAAE,CAAC;IAC/B,MAAM,IAAI,GAAG,aAAK,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,KAAK,EAAE,CAAC,EAAE,OAAO,EAAE,EAAE,EAAE,CAAC,CAAC;IACxD,OAAO;QACL,YAAY,EAAE,mBAAmB;QACjC,SAAS,EAAE,MAAM,EAAE,SAAS,IAAI;YAC9B,gBAAgB,CAAC,EAAE,EAAE,EAAE,cAAc,EAAE,CAAC;YACxC,yBAAyB,CAAC;gBACxB,EAAE,EAAE,uBAAuB;gBAC3B,YAAY,EAAE,EAAE,SAAS,EAAE,IAAI,cAAc,EAAE,EAAE;aAClD,CAAC;SACH;QACD,gBAAgB,EAAE,MAAM,EAAE,gBAAgB,IAAI;YAC5C,MAAM,EAAE,mBAAmB;YAC3B,KAAK,EAAE,aAAK,CAAC,MAAM,CAAC,IAAI,EAAE;SAC3B;QACD,UAAU,EAAE,MAAM,EAAE,UAAU,IAAI;YAChC;gBACE,GAAG,EAAE,UAAU;gBACf,MAAM,EAAE,mBAAmB;gBAC3B,KAAK,EAAE,YAAY,aAAK,CAAC,MAAM,CAAC,IAAI,EAAE,EAAE;aACzC;SACF;QACD,MAAM,EAAE,MAAM,EAAE,MAAM,IAAI,SAAS;QACnC,IAAI,EAAE,MAAM,EAAE,IAAI,IAAI;YACpB,MAAM,EAAE;gBACN;oBACE,MAAM,EAAE,kBAAkB;oBAC1B,IAAI,EAAE,SAAS;oBACf,OAAO,EAAE,yBAAyB;iBACnC;aACF;YACD,IAAI,EAAE,yBAAyB;SAChC;QACD,OAAO,EAAE;YACP,SAAS,EAAE,MAAM,EAAE,OAAO,EAAE,SAAS,IAAI,WAAW,aAAK,CAAC,MAAM,CAAC,IAAI,EAAE,EAAE;SAC1E;QACD,MAAM,EAAE,MAAM,EAAE,MAAM,IAAI;YACxB;gBACE,SAAS,EAAE,gBAAgB,uBAAuB,EAAE;aACrD;SACF;QACD,OAAO,EAAE,MAAM,EAAE,OAAO,IAAI,aAAK,CAAC,IAAI,CAAC,IAAI,EAAE,CAAC,WAAW,EAAE;QAC3D,OAAO,EAAE,MAAM,EAAE,OAAO,IAAI;YAC1B,KAAK,EAAE;gBACL;oBACE,IAAI,EAAE,YAAY;iBACnB;aACF;YACD,MAAM,EAAE;gBACN,KAAK,EAAE,IAAI,CAAC,WAAW,EAAE;gBACzB,GAAG,EAAE,EAAE,CAAC,WAAW,EAAE;aACtB;YACD,YAAY,EAAE;gBACZ,IAAI,EAAE,aAAK,CAAC,OAAO,CAAC,IAAI,EAAE;aAC3B;SACF;KACF,CAAC;AACJ,CAAC;AA5DD,kDA4DC;AAED,SAAgB,aAAa,CAAC,MAA2B;IACvD,MAAM,YAAY,GAAG,aAAK,CAAC,OAAO,CAAC,YAAY,CAAC,CAAC,cAAc,EAAE,cAAc,EAAE,SAAS,CAAC,CAAC,CAAC;IAC7F,IAAI,YAAY,KAAK,cAAc;QAAE,OAAO,gBAAgB,CAAC,MAAM,CAAC,CAAC;IACrE,IAAI,YAAY,KAAK,cAAc;QAAE,OAAO,yBAAyB,CAAC,MAAM,CAAC,CAAC;IAC9E,OAAO,oBAAoB,CAAC,MAAM,CAAC,CAAC;AACtC,CAAC;AALD,sCAKC;AAED,SAAS,iBAAiB,CAAC,MAA2B;IACpD,MAAM,WAAW,GAAG,aAAK,CAAC,MAAM,CAAC,MAAM,EAAE,CAAC;IAC1C,OAAO;QACL,EAAE,EAAE,MAAM,EAAE,EAAE,IAAI,WAAW;QAC7B,UAAU,EAAE,MAAM,EAAE,UAAU,IAAI;YAChC;gBACE,KAAK,EAAE,aAAK,CAAC,MAAM,CAAC,GAAG,CAAC,EAAE,GAAG,EAAE,IAAI,EAAE,GAAG,EAAE,KAAK,EAAE,CAAC,CAAC,QAAQ,EAAE;aAC9D;SACF;KACF,CAAC;AACJ,CAAC;AAED,SAAgB,gBAAgB,CAAC,MAA2B;IAC1D,OAAO;QACL,GAAG,iBAAiB,CAAC,MAAM,CAAC;QAC5B,YAAY,EAAE,MAAM,EAAE,YAAY,IAAI,cAAc;QACpD,IAAI,EAAE,MAAM,EAAE,IAAI,IAAI,aAAK,CAAC,OAAO,CAAC,IAAI,EAAE;KAC3C,CAAC;AACJ,CAAC;AAND,4CAMC;AAED,SAAgB,yBAAyB,CAAC,MAA2B;IACnE,OAAO;QACL,GAAG,iBAAiB,CAAC,MAAM,CAAC;QAC5B,YAAY,EAAE,MAAM,EAAE,YAAY,IAAI,cAAc;QACpD,IAAI,EAAE,MAAM,EAAE,IAAI,IAAI;YACpB,MAAM,EAAE,CAAC,aAAK,CAAC,MAAM,CAAC,QAAQ,EAAE,CAAC;YACjC,KAAK,EAAE,CAAC,aAAK,CAAC,MAAM,CAAC,SAAS,EAAE,CAAC;YACjC,MAAM,EAAE,CAAC,EAAE,CAAC;SACb;QACD,YAAY,EAAE,MAAM,EAAE,YAAY,IAAI;YACpC,SAAS,EAAE,IAAI,IAAA,SAAM,GAAE,EAAE;SAC1B;KACF,CAAC;AACJ,CAAC;AAbD,8DAaC;AAED,SAAgB,oBAAoB,CAAC,MAA2B;IAC9D,OAAO;QACL,GAAG,iBAAiB,CAAC,MAAM,CAAC;QAC5B,YAAY,EAAE,MAAM,EAAE,YAAY,IAAI,SAAS;QAC/C,IAAI,EAAE,MAAM,EAAE,IAAI,IAAI;YACpB,MAAM,EAAE,CAAC,aAAK,CAAC,MAAM,CAAC,QAAQ,EAAE,CAAC;YACjC,KAAK,EAAE,CAAC,aAAK,CAAC,MAAM,CAAC,SAAS,EAAE,CAAC;YACjC,MAAM,EAAE,CAAC,EAAE,CAAC;SACb;KACF,CAAC;AACJ,CAAC;AAVD,oDAUC"}
|
|
@@ -0,0 +1,19 @@
|
|
|
1
|
+
import { z } from "zod";
|
|
2
|
+
export declare const enrollmentSummarySchema: z.ZodObject<{
|
|
3
|
+
dateEnrolled: z.ZodUnion<[z.ZodString, z.ZodString]>;
|
|
4
|
+
enroller: z.ZodString;
|
|
5
|
+
dateUnenrolled: z.ZodNullable<z.ZodOptional<z.ZodUnion<[z.ZodString, z.ZodString]>>>;
|
|
6
|
+
unenroller: z.ZodNullable<z.ZodOptional<z.ZodString>>;
|
|
7
|
+
}, "strip", z.ZodTypeAny, {
|
|
8
|
+
dateEnrolled: string;
|
|
9
|
+
enroller: string;
|
|
10
|
+
dateUnenrolled?: string | null | undefined;
|
|
11
|
+
unenroller?: string | null | undefined;
|
|
12
|
+
}, {
|
|
13
|
+
dateEnrolled: string;
|
|
14
|
+
enroller: string;
|
|
15
|
+
dateUnenrolled?: string | null | undefined;
|
|
16
|
+
unenroller?: string | null | undefined;
|
|
17
|
+
}>;
|
|
18
|
+
export type EnrollmentSummary = z.infer<typeof enrollmentSummarySchema>;
|
|
19
|
+
//# sourceMappingURL=enrollment-summary.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"enrollment-summary.d.ts","sourceRoot":"","sources":["../../src/models/enrollment-summary.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAMxB,eAAO,MAAM,uBAAuB;;;;;;;;;;;;;;;EAKlC,CAAC;AAEH,MAAM,MAAM,iBAAiB,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,uBAAuB,CAAC,CAAC"}
|
|
@@ -0,0 +1,15 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.enrollmentSummarySchema = void 0;
|
|
4
|
+
const zod_1 = require("zod");
|
|
5
|
+
const iso_date_1 = require("./iso-date");
|
|
6
|
+
const iso_datetime_1 = require("./iso-datetime");
|
|
7
|
+
// A summary of a Person’s enrollment status.
|
|
8
|
+
// See: https://specification.commonwellalliance.org/services/rest-api-reference (8.4.9 EnrollmentSummary)
|
|
9
|
+
exports.enrollmentSummarySchema = zod_1.z.object({
|
|
10
|
+
dateEnrolled: iso_datetime_1.isoDateTimeSchema.or(iso_date_1.isoDateSchema),
|
|
11
|
+
enroller: zod_1.z.string(),
|
|
12
|
+
dateUnenrolled: iso_datetime_1.isoDateTimeSchema.or(iso_date_1.isoDateSchema).optional().nullable(),
|
|
13
|
+
unenroller: zod_1.z.string().optional().nullable(),
|
|
14
|
+
});
|
|
15
|
+
//# sourceMappingURL=enrollment-summary.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"enrollment-summary.js","sourceRoot":"","sources":["../../src/models/enrollment-summary.ts"],"names":[],"mappings":";;;AAAA,6BAAwB;AACxB,yCAA2C;AAC3C,iDAAmD;AAEnD,6CAA6C;AAC7C,0GAA0G;AAC7F,QAAA,uBAAuB,GAAG,OAAC,CAAC,MAAM,CAAC;IAC9C,YAAY,EAAE,gCAAiB,CAAC,EAAE,CAAC,wBAAa,CAAC;IACjD,QAAQ,EAAE,OAAC,CAAC,MAAM,EAAE;IACpB,cAAc,EAAE,gCAAiB,CAAC,EAAE,CAAC,wBAAa,CAAC,CAAC,QAAQ,EAAE,CAAC,QAAQ,EAAE;IACzE,UAAU,EAAE,OAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE,CAAC,QAAQ,EAAE;CAC7C,CAAC,CAAC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"iso-date.d.ts","sourceRoot":"","sources":["../../src/models/iso-date.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAExB,eAAO,MAAM,cAAc,QAAyB,CAAC;AAErD,eAAO,MAAM,aAAa,aAAoE,CAAC"}
|
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.isoDateSchema = exports.ISO_DATE_REGEX = void 0;
|
|
4
|
+
const zod_1 = require("zod");
|
|
5
|
+
exports.ISO_DATE_REGEX = /\d{4}-[01]\d-[0-3]\d/;
|
|
6
|
+
exports.isoDateSchema = zod_1.z.string().regex(exports.ISO_DATE_REGEX, "date must be a valid ISO date");
|
|
7
|
+
//# sourceMappingURL=iso-date.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"iso-date.js","sourceRoot":"","sources":["../../src/models/iso-date.ts"],"names":[],"mappings":";;;AAAA,6BAAwB;AAEX,QAAA,cAAc,GAAG,sBAAsB,CAAC;AAExC,QAAA,aAAa,GAAG,OAAC,CAAC,MAAM,EAAE,CAAC,KAAK,CAAC,sBAAc,EAAE,+BAA+B,CAAC,CAAC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"iso-datetime.d.ts","sourceRoot":"","sources":["../../src/models/iso-datetime.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAExB,eAAO,MAAM,kBAAkB,QAC6N,CAAC;AAE7P,eAAO,MAAM,iBAAiB,aAEuC,CAAC"}
|
|
@@ -0,0 +1,9 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.isoDateTimeSchema = exports.ISO_DATETIME_REGEX = void 0;
|
|
4
|
+
const zod_1 = require("zod");
|
|
5
|
+
exports.ISO_DATETIME_REGEX = /(?:[1-9]\d{3}-(?:(?:0[1-9]|1[0-2])-(?:0[1-9]|1\d|2[0-8])|(?:0[13-9]|1[0-2])-(?:29|30)|(?:0[13578]|1[02])-31)|(?:[1-9]\d(?:0[48]|[2468][048]|[13579][26])|(?:[2468][048]|[13579][26])00)-02-29)T(?:[01]\d|2[0-3]):[0-5]\d:[0-5]\d(?:Z|[+-][01]\d:[0-5]\d)/;
|
|
6
|
+
exports.isoDateTimeSchema = zod_1.z
|
|
7
|
+
.string()
|
|
8
|
+
.regex(exports.ISO_DATETIME_REGEX, "dateTime must be a valid ISO dateTime");
|
|
9
|
+
//# sourceMappingURL=iso-datetime.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"iso-datetime.js","sourceRoot":"","sources":["../../src/models/iso-datetime.ts"],"names":[],"mappings":";;;AAAA,6BAAwB;AAEX,QAAA,kBAAkB,GAC7B,0PAA0P,CAAC;AAEhP,QAAA,iBAAiB,GAAG,OAAC;KAC/B,MAAM,EAAE;KACR,KAAK,CAAC,0BAAkB,EAAE,uCAAuC,CAAC,CAAC"}
|