@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.
@@ -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,4 @@
1
+ import { z } from "zod";
2
+ export declare const ISO_DATE_REGEX: RegExp;
3
+ export declare const isoDateSchema: z.ZodString;
4
+ //# sourceMappingURL=iso-date.d.ts.map
@@ -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,4 @@
1
+ import { z } from "zod";
2
+ export declare const ISO_DATETIME_REGEX: RegExp;
3
+ export declare const isoDateTimeSchema: z.ZodString;
4
+ //# sourceMappingURL=iso-datetime.d.ts.map
@@ -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"}