@metriport/commonwell-sdk 0.30.0-alpha.1

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.
Files changed (135) hide show
  1. package/LICENSE +21 -0
  2. package/README.md +64 -0
  3. package/dist/__tests__/env-setup.d.ts +2 -0
  4. package/dist/__tests__/env-setup.d.ts.map +1 -0
  5. package/dist/__tests__/env-setup.js +35 -0
  6. package/dist/__tests__/env-setup.js.map +1 -0
  7. package/dist/client/common.d.ts +39 -0
  8. package/dist/client/common.d.ts.map +1 -0
  9. package/dist/client/common.js +15 -0
  10. package/dist/client/common.js.map +1 -0
  11. package/dist/client/commonwell-api.d.ts +103 -0
  12. package/dist/client/commonwell-api.d.ts.map +1 -0
  13. package/dist/client/commonwell-api.js +3 -0
  14. package/dist/client/commonwell-api.js.map +1 -0
  15. package/dist/client/commonwell-base.d.ts +47 -0
  16. package/dist/client/commonwell-base.d.ts.map +1 -0
  17. package/dist/client/commonwell-base.js +105 -0
  18. package/dist/client/commonwell-base.js.map +1 -0
  19. package/dist/client/commonwell-member-api.d.ts +29 -0
  20. package/dist/client/commonwell-member-api.d.ts.map +1 -0
  21. package/dist/client/commonwell-member-api.js +3 -0
  22. package/dist/client/commonwell-member-api.js.map +1 -0
  23. package/dist/client/commonwell-member.d.ts +168 -0
  24. package/dist/client/commonwell-member.d.ts.map +1 -0
  25. package/dist/client/commonwell-member.js +349 -0
  26. package/dist/client/commonwell-member.js.map +1 -0
  27. package/dist/client/commonwell.d.ts +245 -0
  28. package/dist/client/commonwell.d.ts.map +1 -0
  29. package/dist/client/commonwell.js +502 -0
  30. package/dist/client/commonwell.js.map +1 -0
  31. package/dist/common/__tests__/util.test.d.ts +2 -0
  32. package/dist/common/__tests__/util.test.d.ts.map +1 -0
  33. package/dist/common/__tests__/util.test.js +51 -0
  34. package/dist/common/__tests__/util.test.js.map +1 -0
  35. package/dist/common/__tests__/validate-npi.test.d.ts +2 -0
  36. package/dist/common/__tests__/validate-npi.test.d.ts.map +1 -0
  37. package/dist/common/__tests__/validate-npi.test.js +44 -0
  38. package/dist/common/__tests__/validate-npi.test.js.map +1 -0
  39. package/dist/common/certificate.d.ts +3 -0
  40. package/dist/common/certificate.d.ts.map +1 -0
  41. package/dist/common/certificate.js +11 -0
  42. package/dist/common/certificate.js.map +1 -0
  43. package/dist/common/commonwell-error.d.ts +23 -0
  44. package/dist/common/commonwell-error.d.ts.map +1 -0
  45. package/dist/common/commonwell-error.js +33 -0
  46. package/dist/common/commonwell-error.js.map +1 -0
  47. package/dist/common/fileDownload.d.ts +37 -0
  48. package/dist/common/fileDownload.d.ts.map +1 -0
  49. package/dist/common/fileDownload.js +53 -0
  50. package/dist/common/fileDownload.js.map +1 -0
  51. package/dist/common/make-jwt.d.ts +60 -0
  52. package/dist/common/make-jwt.d.ts.map +1 -0
  53. package/dist/common/make-jwt.js +124 -0
  54. package/dist/common/make-jwt.js.map +1 -0
  55. package/dist/common/util.d.ts +78 -0
  56. package/dist/common/util.d.ts.map +1 -0
  57. package/dist/common/util.js +104 -0
  58. package/dist/common/util.js.map +1 -0
  59. package/dist/common/validate-npi.d.ts +2 -0
  60. package/dist/common/validate-npi.d.ts.map +1 -0
  61. package/dist/common/validate-npi.js +6 -0
  62. package/dist/common/validate-npi.js.map +1 -0
  63. package/dist/common/zod.d.ts +13 -0
  64. package/dist/common/zod.d.ts.map +1 -0
  65. package/dist/common/zod.js +38 -0
  66. package/dist/common/zod.js.map +1 -0
  67. package/dist/index.d.ts +20 -0
  68. package/dist/index.d.ts.map +1 -0
  69. package/dist/index.js +45 -0
  70. package/dist/index.js.map +1 -0
  71. package/dist/models/__tests__/address.test.d.ts +2 -0
  72. package/dist/models/__tests__/address.test.d.ts.map +1 -0
  73. package/dist/models/__tests__/address.test.js +348 -0
  74. package/dist/models/__tests__/address.test.js.map +1 -0
  75. package/dist/models/__tests__/demographics.test.d.ts +2 -0
  76. package/dist/models/__tests__/demographics.test.d.ts.map +1 -0
  77. package/dist/models/__tests__/demographics.test.js +96 -0
  78. package/dist/models/__tests__/demographics.test.js.map +1 -0
  79. package/dist/models/address.d.ts +177 -0
  80. package/dist/models/address.d.ts.map +1 -0
  81. package/dist/models/address.js +94 -0
  82. package/dist/models/address.js.map +1 -0
  83. package/dist/models/certificates.d.ts +77 -0
  84. package/dist/models/certificates.d.ts.map +1 -0
  85. package/dist/models/certificates.js +27 -0
  86. package/dist/models/certificates.js.map +1 -0
  87. package/dist/models/contact.d.ts +47 -0
  88. package/dist/models/contact.d.ts.map +1 -0
  89. package/dist/models/contact.js +30 -0
  90. package/dist/models/contact.js.map +1 -0
  91. package/dist/models/date.d.ts +4 -0
  92. package/dist/models/date.d.ts.map +1 -0
  93. package/dist/models/date.js +10 -0
  94. package/dist/models/date.js.map +1 -0
  95. package/dist/models/demographics.d.ts +290 -0
  96. package/dist/models/demographics.d.ts.map +1 -0
  97. package/dist/models/demographics.js +57 -0
  98. package/dist/models/demographics.js.map +1 -0
  99. package/dist/models/document.d.ts +7823 -0
  100. package/dist/models/document.d.ts.map +1 -0
  101. package/dist/models/document.js +106 -0
  102. package/dist/models/document.js.map +1 -0
  103. package/dist/models/facility.d.ts +82 -0
  104. package/dist/models/facility.d.ts.map +1 -0
  105. package/dist/models/facility.js +11 -0
  106. package/dist/models/facility.js.map +1 -0
  107. package/dist/models/human-name.d.ts +56 -0
  108. package/dist/models/human-name.d.ts.map +1 -0
  109. package/dist/models/human-name.js +39 -0
  110. package/dist/models/human-name.js.map +1 -0
  111. package/dist/models/identifier.d.ts +110 -0
  112. package/dist/models/identifier.d.ts.map +1 -0
  113. package/dist/models/identifier.js +37 -0
  114. package/dist/models/identifier.js.map +1 -0
  115. package/dist/models/organization.d.ts +2390 -0
  116. package/dist/models/organization.d.ts.map +1 -0
  117. package/dist/models/organization.js +139 -0
  118. package/dist/models/organization.js.map +1 -0
  119. package/dist/models/patient-organization.d.ts +36 -0
  120. package/dist/models/patient-organization.d.ts.map +1 -0
  121. package/dist/models/patient-organization.js +10 -0
  122. package/dist/models/patient-organization.js.map +1 -0
  123. package/dist/models/patient.d.ts +5350 -0
  124. package/dist/models/patient.d.ts.map +1 -0
  125. package/dist/models/patient.js +94 -0
  126. package/dist/models/patient.js.map +1 -0
  127. package/dist/models/period.d.ts +13 -0
  128. package/dist/models/period.d.ts.map +1 -0
  129. package/dist/models/period.js +13 -0
  130. package/dist/models/period.js.map +1 -0
  131. package/dist/models/reference.d.ts +109 -0
  132. package/dist/models/reference.d.ts.map +1 -0
  133. package/dist/models/reference.js +12 -0
  134. package/dist/models/reference.js.map +1 -0
  135. package/package.json +82 -0
@@ -0,0 +1,290 @@
1
+ import { z } from "zod";
2
+ /** @see https://hl7.org/fhir/R4/valueset-administrative-gender.html */
3
+ export declare enum GenderCodes {
4
+ F = "F",
5
+ M = "M",
6
+ O = "O",
7
+ U = "U"
8
+ }
9
+ export declare const genderCodesSchema: z.ZodEffects<z.ZodOptional<z.ZodNativeEnum<typeof GenderCodes>>, GenderCodes | undefined, unknown>;
10
+ export type Gender = z.infer<typeof genderCodesSchema>;
11
+ export declare const birthDateSchema: z.ZodEffects<z.ZodUnion<[z.ZodString, z.ZodString]>, string, string>;
12
+ export declare const demographicsSchema: z.ZodObject<{
13
+ identifier: z.ZodArray<z.ZodObject<{
14
+ value: z.ZodString;
15
+ system: z.ZodString;
16
+ use: z.ZodPipeline<z.ZodEffects<z.ZodOptional<z.ZodNullable<z.ZodString>>, string | null | undefined, unknown>, z.ZodOptional<z.ZodNullable<z.ZodString>>>;
17
+ type: z.ZodPipeline<z.ZodEffects<z.ZodOptional<z.ZodNullable<z.ZodString>>, string | null | undefined, unknown>, z.ZodOptional<z.ZodNullable<z.ZodString>>>;
18
+ assigner: z.ZodEffects<z.ZodOptional<z.ZodNullable<z.ZodString>>, string | null | undefined, unknown>;
19
+ period: z.ZodOptional<z.ZodNullable<z.ZodObject<{
20
+ start: z.ZodPipeline<z.ZodEffects<z.ZodOptional<z.ZodNullable<z.ZodString>>, string | null | undefined, unknown>, z.ZodOptional<z.ZodNullable<z.ZodUnion<[z.ZodString, z.ZodString]>>>>;
21
+ end: z.ZodPipeline<z.ZodEffects<z.ZodOptional<z.ZodNullable<z.ZodString>>, string | null | undefined, unknown>, z.ZodOptional<z.ZodNullable<z.ZodUnion<[z.ZodString, z.ZodString]>>>>;
22
+ }, "strip", z.ZodTypeAny, {
23
+ start?: string | null | undefined;
24
+ end?: string | null | undefined;
25
+ }, {
26
+ start?: unknown;
27
+ end?: unknown;
28
+ }>>>;
29
+ }, "strip", z.ZodTypeAny, {
30
+ value: string;
31
+ system: string;
32
+ type?: string | null | undefined;
33
+ use?: string | null | undefined;
34
+ period?: {
35
+ start?: string | null | undefined;
36
+ end?: string | null | undefined;
37
+ } | null | undefined;
38
+ assigner?: string | null | undefined;
39
+ }, {
40
+ value: string;
41
+ system: string;
42
+ type?: unknown;
43
+ use?: unknown;
44
+ period?: {
45
+ start?: unknown;
46
+ end?: unknown;
47
+ } | null | undefined;
48
+ assigner?: unknown;
49
+ }>, "many">;
50
+ name: z.ZodArray<z.ZodObject<{
51
+ given: z.ZodArray<z.ZodString, "many">;
52
+ family: z.ZodArray<z.ZodString, "many">;
53
+ prefix: z.ZodEffects<z.ZodOptional<z.ZodNullable<z.ZodUnion<[z.ZodString, z.ZodArray<z.ZodOptional<z.ZodNullable<z.ZodString>>, "many">]>>>, string | (string | null | undefined)[] | null | undefined, unknown>;
54
+ suffix: z.ZodEffects<z.ZodOptional<z.ZodNullable<z.ZodUnion<[z.ZodString, z.ZodArray<z.ZodOptional<z.ZodNullable<z.ZodString>>, "many">]>>>, string | (string | null | undefined)[] | null | undefined, unknown>;
55
+ use: z.ZodPipeline<z.ZodEffects<z.ZodOptional<z.ZodNullable<z.ZodString>>, string | null | undefined, unknown>, z.ZodOptional<z.ZodNullable<z.ZodString>>>;
56
+ period: z.ZodOptional<z.ZodNullable<z.ZodObject<{
57
+ start: z.ZodPipeline<z.ZodEffects<z.ZodOptional<z.ZodNullable<z.ZodString>>, string | null | undefined, unknown>, z.ZodOptional<z.ZodNullable<z.ZodUnion<[z.ZodString, z.ZodString]>>>>;
58
+ end: z.ZodPipeline<z.ZodEffects<z.ZodOptional<z.ZodNullable<z.ZodString>>, string | null | undefined, unknown>, z.ZodOptional<z.ZodNullable<z.ZodUnion<[z.ZodString, z.ZodString]>>>>;
59
+ }, "strip", z.ZodTypeAny, {
60
+ start?: string | null | undefined;
61
+ end?: string | null | undefined;
62
+ }, {
63
+ start?: unknown;
64
+ end?: unknown;
65
+ }>>>;
66
+ text: z.ZodOptional<z.ZodNullable<z.ZodString>>;
67
+ }, "strip", z.ZodTypeAny, {
68
+ family: string[];
69
+ given: string[];
70
+ text?: string | null | undefined;
71
+ use?: string | null | undefined;
72
+ period?: {
73
+ start?: string | null | undefined;
74
+ end?: string | null | undefined;
75
+ } | null | undefined;
76
+ prefix?: string | (string | null | undefined)[] | null | undefined;
77
+ suffix?: string | (string | null | undefined)[] | null | undefined;
78
+ }, {
79
+ family: string[];
80
+ given: string[];
81
+ text?: string | null | undefined;
82
+ use?: unknown;
83
+ period?: {
84
+ start?: unknown;
85
+ end?: unknown;
86
+ } | null | undefined;
87
+ prefix?: unknown;
88
+ suffix?: unknown;
89
+ }>, "many">;
90
+ gender: z.ZodOptional<z.ZodNullable<z.ZodEffects<z.ZodOptional<z.ZodNativeEnum<typeof GenderCodes>>, GenderCodes | undefined, unknown>>>;
91
+ birthDate: z.ZodEffects<z.ZodUnion<[z.ZodString, z.ZodString]>, string, string>;
92
+ address: z.ZodEffects<z.ZodArray<z.ZodObject<z.objectUtil.extendShape<{
93
+ line: z.ZodOptional<z.ZodNullable<z.ZodArray<z.ZodEffects<z.ZodString, string, string>, "many">>>;
94
+ city: z.ZodEffects<z.ZodOptional<z.ZodNullable<z.ZodString>>, string | null | undefined, unknown>;
95
+ country: z.ZodEffects<z.ZodOptional<z.ZodNullable<z.ZodString>>, string | null | undefined, unknown>;
96
+ postalCode: z.ZodPipeline<z.ZodEffects<z.ZodOptional<z.ZodNullable<z.ZodString>>, string | null | undefined, unknown>, z.ZodOptional<z.ZodNullable<z.ZodString>>>;
97
+ use: z.ZodPipeline<z.ZodEffects<z.ZodOptional<z.ZodNullable<z.ZodString>>, string | null | undefined, unknown>, z.ZodOptional<z.ZodNullable<z.ZodString>>>;
98
+ type: z.ZodPipeline<z.ZodEffects<z.ZodOptional<z.ZodNullable<z.ZodString>>, string | null | undefined, unknown>, z.ZodOptional<z.ZodNullable<z.ZodString>>>;
99
+ period: z.ZodOptional<z.ZodNullable<z.ZodObject<{
100
+ start: z.ZodPipeline<z.ZodEffects<z.ZodOptional<z.ZodNullable<z.ZodString>>, string | null | undefined, unknown>, z.ZodOptional<z.ZodNullable<z.ZodUnion<[z.ZodString, z.ZodString]>>>>;
101
+ end: z.ZodPipeline<z.ZodEffects<z.ZodOptional<z.ZodNullable<z.ZodString>>, string | null | undefined, unknown>, z.ZodOptional<z.ZodNullable<z.ZodUnion<[z.ZodString, z.ZodString]>>>>;
102
+ }, "strip", z.ZodTypeAny, {
103
+ start?: string | null | undefined;
104
+ end?: string | null | undefined;
105
+ }, {
106
+ start?: unknown;
107
+ end?: unknown;
108
+ }>>>;
109
+ }, {
110
+ state: z.ZodEffects<z.ZodEffects<z.ZodOptional<z.ZodNullable<z.ZodString>>, string | null | undefined, unknown>, string | null | undefined, unknown>;
111
+ }>, "strip", z.ZodTypeAny, {
112
+ type?: string | null | undefined;
113
+ line?: string[] | null | undefined;
114
+ city?: string | null | undefined;
115
+ country?: string | null | undefined;
116
+ postalCode?: string | null | undefined;
117
+ use?: string | null | undefined;
118
+ period?: {
119
+ start?: string | null | undefined;
120
+ end?: string | null | undefined;
121
+ } | null | undefined;
122
+ state?: string | null | undefined;
123
+ }, {
124
+ type?: unknown;
125
+ line?: string[] | null | undefined;
126
+ city?: unknown;
127
+ country?: unknown;
128
+ postalCode?: unknown;
129
+ use?: unknown;
130
+ period?: {
131
+ start?: unknown;
132
+ end?: unknown;
133
+ } | null | undefined;
134
+ state?: unknown;
135
+ }>, "many">, {
136
+ type?: string | null | undefined;
137
+ line?: string[] | null | undefined;
138
+ city?: string | null | undefined;
139
+ country?: string | null | undefined;
140
+ postalCode?: string | null | undefined;
141
+ use?: string | null | undefined;
142
+ period?: {
143
+ start?: string | null | undefined;
144
+ end?: string | null | undefined;
145
+ } | null | undefined;
146
+ state?: string | null | undefined;
147
+ }[], {
148
+ type?: unknown;
149
+ line?: string[] | null | undefined;
150
+ city?: unknown;
151
+ country?: unknown;
152
+ postalCode?: unknown;
153
+ use?: unknown;
154
+ period?: {
155
+ start?: unknown;
156
+ end?: unknown;
157
+ } | null | undefined;
158
+ state?: unknown;
159
+ }[]>;
160
+ telecom: z.ZodOptional<z.ZodNullable<z.ZodArray<z.ZodObject<{
161
+ value: z.ZodOptional<z.ZodNullable<z.ZodString>>;
162
+ system: z.ZodPipeline<z.ZodEffects<z.ZodOptional<z.ZodNullable<z.ZodString>>, string | null | undefined, unknown>, z.ZodOptional<z.ZodNullable<z.ZodString>>>;
163
+ use: z.ZodPipeline<z.ZodEffects<z.ZodOptional<z.ZodNullable<z.ZodString>>, string | null | undefined, unknown>, z.ZodOptional<z.ZodNullable<z.ZodString>>>;
164
+ period: z.ZodOptional<z.ZodNullable<z.ZodObject<{
165
+ start: z.ZodPipeline<z.ZodEffects<z.ZodOptional<z.ZodNullable<z.ZodString>>, string | null | undefined, unknown>, z.ZodOptional<z.ZodNullable<z.ZodUnion<[z.ZodString, z.ZodString]>>>>;
166
+ end: z.ZodPipeline<z.ZodEffects<z.ZodOptional<z.ZodNullable<z.ZodString>>, string | null | undefined, unknown>, z.ZodOptional<z.ZodNullable<z.ZodUnion<[z.ZodString, z.ZodString]>>>>;
167
+ }, "strip", z.ZodTypeAny, {
168
+ start?: string | null | undefined;
169
+ end?: string | null | undefined;
170
+ }, {
171
+ start?: unknown;
172
+ end?: unknown;
173
+ }>>>;
174
+ }, "strip", z.ZodTypeAny, {
175
+ value?: string | null | undefined;
176
+ use?: string | null | undefined;
177
+ period?: {
178
+ start?: string | null | undefined;
179
+ end?: string | null | undefined;
180
+ } | null | undefined;
181
+ system?: string | null | undefined;
182
+ }, {
183
+ value?: string | null | undefined;
184
+ use?: unknown;
185
+ period?: {
186
+ start?: unknown;
187
+ end?: unknown;
188
+ } | null | undefined;
189
+ system?: unknown;
190
+ }>, "many">>>;
191
+ }, "strip", z.ZodTypeAny, {
192
+ identifier: {
193
+ value: string;
194
+ system: string;
195
+ type?: string | null | undefined;
196
+ use?: string | null | undefined;
197
+ period?: {
198
+ start?: string | null | undefined;
199
+ end?: string | null | undefined;
200
+ } | null | undefined;
201
+ assigner?: string | null | undefined;
202
+ }[];
203
+ name: {
204
+ family: string[];
205
+ given: string[];
206
+ text?: string | null | undefined;
207
+ use?: string | null | undefined;
208
+ period?: {
209
+ start?: string | null | undefined;
210
+ end?: string | null | undefined;
211
+ } | null | undefined;
212
+ prefix?: string | (string | null | undefined)[] | null | undefined;
213
+ suffix?: string | (string | null | undefined)[] | null | undefined;
214
+ }[];
215
+ birthDate: string;
216
+ address: {
217
+ type?: string | null | undefined;
218
+ line?: string[] | null | undefined;
219
+ city?: string | null | undefined;
220
+ country?: string | null | undefined;
221
+ postalCode?: string | null | undefined;
222
+ use?: string | null | undefined;
223
+ period?: {
224
+ start?: string | null | undefined;
225
+ end?: string | null | undefined;
226
+ } | null | undefined;
227
+ state?: string | null | undefined;
228
+ }[];
229
+ gender?: GenderCodes | null | undefined;
230
+ telecom?: {
231
+ value?: string | null | undefined;
232
+ use?: string | null | undefined;
233
+ period?: {
234
+ start?: string | null | undefined;
235
+ end?: string | null | undefined;
236
+ } | null | undefined;
237
+ system?: string | null | undefined;
238
+ }[] | null | undefined;
239
+ }, {
240
+ identifier: {
241
+ value: string;
242
+ system: string;
243
+ type?: unknown;
244
+ use?: unknown;
245
+ period?: {
246
+ start?: unknown;
247
+ end?: unknown;
248
+ } | null | undefined;
249
+ assigner?: unknown;
250
+ }[];
251
+ name: {
252
+ family: string[];
253
+ given: string[];
254
+ text?: string | null | undefined;
255
+ use?: unknown;
256
+ period?: {
257
+ start?: unknown;
258
+ end?: unknown;
259
+ } | null | undefined;
260
+ prefix?: unknown;
261
+ suffix?: unknown;
262
+ }[];
263
+ birthDate: string;
264
+ address: {
265
+ type?: unknown;
266
+ line?: string[] | null | undefined;
267
+ city?: unknown;
268
+ country?: unknown;
269
+ postalCode?: unknown;
270
+ use?: unknown;
271
+ period?: {
272
+ start?: unknown;
273
+ end?: unknown;
274
+ } | null | undefined;
275
+ state?: unknown;
276
+ }[];
277
+ gender?: unknown;
278
+ telecom?: {
279
+ value?: string | null | undefined;
280
+ use?: unknown;
281
+ period?: {
282
+ start?: unknown;
283
+ end?: unknown;
284
+ } | null | undefined;
285
+ system?: unknown;
286
+ }[] | null | undefined;
287
+ }>;
288
+ export type Demographics = z.infer<typeof demographicsSchema>;
289
+ export declare function coerceGender(value: unknown): GenderCodes;
290
+ //# sourceMappingURL=demographics.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"demographics.d.ts","sourceRoot":"","sources":["../../src/models/demographics.ts"],"names":[],"mappings":"AAMA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAMxB,uEAAuE;AACvE,oBAAY,WAAW;IACrB,CAAC,MAAM;IACP,CAAC,MAAM;IACP,CAAC,MAAM;IACP,CAAC,MAAM;CACR;AAGD,eAAO,MAAM,iBAAiB,oGAG7B,CAAC;AAEF,MAAM,MAAM,MAAM,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,iBAAiB,CAAC,CAAC;AAEvD,eAAO,MAAM,eAAe,sEAAsE,CAAC;AAInG,eAAO,MAAM,kBAAkB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EAO7B,CAAC;AACH,MAAM,MAAM,YAAY,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,kBAAkB,CAAC,CAAC;AAE9D,wBAAgB,YAAY,CAAC,KAAK,EAAE,OAAO,GAAG,WAAW,CAyBxD"}
@@ -0,0 +1,57 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.coerceGender = exports.demographicsSchema = exports.birthDateSchema = exports.genderCodesSchema = exports.GenderCodes = void 0;
4
+ const shared_1 = require("@metriport/shared");
5
+ const zod_1 = require("zod");
6
+ const address_1 = require("./address");
7
+ const contact_1 = require("./contact");
8
+ const human_name_1 = require("./human-name");
9
+ const identifier_1 = require("./identifier");
10
+ /** @see https://hl7.org/fhir/R4/valueset-administrative-gender.html */
11
+ var GenderCodes;
12
+ (function (GenderCodes) {
13
+ GenderCodes["F"] = "F";
14
+ GenderCodes["M"] = "M";
15
+ GenderCodes["O"] = "O";
16
+ GenderCodes["U"] = "U";
17
+ })(GenderCodes = exports.GenderCodes || (exports.GenderCodes = {}));
18
+ const preprocessGender = (v) => (v == null || v === "" ? undefined : coerceGender(v));
19
+ exports.genderCodesSchema = zod_1.z.preprocess(preprocessGender, zod_1.z.nativeEnum(GenderCodes).optional());
20
+ exports.birthDateSchema = shared_1.isoDateSchema.or(shared_1.usDateSchema).transform(shared_1.dateStringToIsoDateString);
21
+ // The demographic details for a Person.
22
+ // See: https://specification.commonwellalliance.org/services/rest-api-reference (8.4.8 Demographics)
23
+ exports.demographicsSchema = zod_1.z.object({
24
+ identifier: zod_1.z.array(identifier_1.patientIdentifierSchema).min(1),
25
+ name: zod_1.z.array(human_name_1.humanNameSchema).min(1),
26
+ gender: exports.genderCodesSchema.nullish(),
27
+ birthDate: exports.birthDateSchema,
28
+ address: address_1.addressArraySchemaSafe,
29
+ telecom: zod_1.z.array(contact_1.contactSchema).nullish(),
30
+ });
31
+ function coerceGender(value) {
32
+ if (typeof value !== "string") {
33
+ throw new shared_1.MetriportError(`Invalid gender`, undefined, { value: String(value) });
34
+ }
35
+ const v = value.toLowerCase().trim();
36
+ switch (v) {
37
+ case "f":
38
+ case "female":
39
+ return GenderCodes.F;
40
+ case "m":
41
+ case "male":
42
+ return GenderCodes.M;
43
+ case "o":
44
+ case "other":
45
+ case "un":
46
+ case "undifferentiated":
47
+ return GenderCodes.O;
48
+ case "u":
49
+ case "unk":
50
+ case "unknown":
51
+ return GenderCodes.U;
52
+ default:
53
+ throw new shared_1.MetriportError(`Invalid gender`, undefined, { value });
54
+ }
55
+ }
56
+ exports.coerceGender = coerceGender;
57
+ //# sourceMappingURL=demographics.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"demographics.js","sourceRoot":"","sources":["../../src/models/demographics.ts"],"names":[],"mappings":";;;AAAA,8CAK2B;AAC3B,6BAAwB;AACxB,uCAAmD;AACnD,uCAA0C;AAC1C,6CAA+C;AAC/C,6CAAuD;AAEvD,uEAAuE;AACvE,IAAY,WAKX;AALD,WAAY,WAAW;IACrB,sBAAO,CAAA;IACP,sBAAO,CAAA;IACP,sBAAO,CAAA;IACP,sBAAO,CAAA;AACT,CAAC,EALW,WAAW,GAAX,mBAAW,KAAX,mBAAW,QAKtB;AAED,MAAM,gBAAgB,GAAG,CAAC,CAAU,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,IAAI,IAAI,CAAC,KAAK,EAAE,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,YAAY,CAAC,CAAC,CAAC,CAAC,CAAC;AAClF,QAAA,iBAAiB,GAAG,OAAC,CAAC,UAAU,CAC3C,gBAAgB,EAChB,OAAC,CAAC,UAAU,CAAC,WAAW,CAAC,CAAC,QAAQ,EAAE,CACrC,CAAC;AAIW,QAAA,eAAe,GAAG,sBAAa,CAAC,EAAE,CAAC,qBAAY,CAAC,CAAC,SAAS,CAAC,kCAAyB,CAAC,CAAC;AAEnG,wCAAwC;AACxC,qGAAqG;AACxF,QAAA,kBAAkB,GAAG,OAAC,CAAC,MAAM,CAAC;IACzC,UAAU,EAAE,OAAC,CAAC,KAAK,CAAC,oCAAuB,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC;IACnD,IAAI,EAAE,OAAC,CAAC,KAAK,CAAC,4BAAe,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC;IACrC,MAAM,EAAE,yBAAiB,CAAC,OAAO,EAAE;IACnC,SAAS,EAAE,uBAAe;IAC1B,OAAO,EAAE,gCAAsB;IAC/B,OAAO,EAAE,OAAC,CAAC,KAAK,CAAC,uBAAa,CAAC,CAAC,OAAO,EAAE;CAC1C,CAAC,CAAC;AAGH,SAAgB,YAAY,CAAC,KAAc;IACzC,IAAI,OAAO,KAAK,KAAK,QAAQ,EAAE;QAC7B,MAAM,IAAI,uBAAc,CAAC,gBAAgB,EAAE,SAAS,EAAE,EAAE,KAAK,EAAE,MAAM,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC;KACjF;IACD,MAAM,CAAC,GAAG,KAAK,CAAC,WAAW,EAAE,CAAC,IAAI,EAAE,CAAC;IAErC,QAAQ,CAAC,EAAE;QACT,KAAK,GAAG,CAAC;QACT,KAAK,QAAQ;YACX,OAAO,WAAW,CAAC,CAAC,CAAC;QACvB,KAAK,GAAG,CAAC;QACT,KAAK,MAAM;YACT,OAAO,WAAW,CAAC,CAAC,CAAC;QACvB,KAAK,GAAG,CAAC;QACT,KAAK,OAAO,CAAC;QACb,KAAK,IAAI,CAAC;QACV,KAAK,kBAAkB;YACrB,OAAO,WAAW,CAAC,CAAC,CAAC;QACvB,KAAK,GAAG,CAAC;QACT,KAAK,KAAK,CAAC;QACX,KAAK,SAAS;YACZ,OAAO,WAAW,CAAC,CAAC,CAAC;QACvB;YACE,MAAM,IAAI,uBAAc,CAAC,gBAAgB,EAAE,SAAS,EAAE,EAAE,KAAK,EAAE,CAAC,CAAC;KACpE;AACH,CAAC;AAzBD,oCAyBC"}