@metriport/shared 0.35.0 → 0.36.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.
Files changed (55) hide show
  1. package/dist/domain/__tests__/cohort-purpose-of-use-hies.test.d.ts +2 -0
  2. package/dist/domain/__tests__/cohort-purpose-of-use-hies.test.d.ts.map +1 -0
  3. package/dist/domain/__tests__/cohort-purpose-of-use-hies.test.js +10 -0
  4. package/dist/domain/__tests__/cohort-purpose-of-use-hies.test.js.map +1 -0
  5. package/dist/domain/__tests__/cohort-response-dto.test.d.ts +2 -0
  6. package/dist/domain/__tests__/cohort-response-dto.test.d.ts.map +1 -0
  7. package/dist/domain/__tests__/cohort-response-dto.test.js +48 -0
  8. package/dist/domain/__tests__/cohort-response-dto.test.js.map +1 -0
  9. package/dist/domain/cohort-purpose-of-use-hies.d.ts +4 -0
  10. package/dist/domain/cohort-purpose-of-use-hies.d.ts.map +1 -0
  11. package/dist/domain/cohort-purpose-of-use-hies.js +15 -0
  12. package/dist/domain/cohort-purpose-of-use-hies.js.map +1 -0
  13. package/dist/domain/message/__tests__/message.test.js +22 -0
  14. package/dist/domain/message/__tests__/message.test.js.map +1 -1
  15. package/dist/domain/message/index.d.ts +1 -0
  16. package/dist/domain/message/index.d.ts.map +1 -1
  17. package/dist/domain/message/index.js +1 -0
  18. package/dist/domain/message/index.js.map +1 -1
  19. package/dist/domain/message/internal-message-xdr.d.ts +323 -54
  20. package/dist/domain/message/internal-message-xdr.d.ts.map +1 -1
  21. package/dist/domain/message/internal-message-xdr.js +22 -2
  22. package/dist/domain/message/internal-message-xdr.js.map +1 -1
  23. package/dist/domain/message/message.d.ts +86 -0
  24. package/dist/domain/message/message.d.ts.map +1 -1
  25. package/dist/domain/message/message.js +37 -8
  26. package/dist/domain/message/message.js.map +1 -1
  27. package/dist/interface/internal/adt.d.ts +1 -0
  28. package/dist/interface/internal/adt.d.ts.map +1 -0
  29. package/dist/interface/internal/adt.js +2 -0
  30. package/dist/interface/internal/adt.js.map +1 -0
  31. package/dist/medical/webhook/webhook-request.d.ts +186 -2
  32. package/dist/medical/webhook/webhook-request.d.ts.map +1 -1
  33. package/dist/medical/webhook/webhook-request.js +21 -1
  34. package/dist/medical/webhook/webhook-request.js.map +1 -1
  35. package/package.json +2 -2
  36. package/dist/common/__tests__/uuid.test.d.ts +0 -2
  37. package/dist/common/__tests__/uuid.test.d.ts.map +0 -1
  38. package/dist/common/__tests__/uuid.test.js +0 -51
  39. package/dist/common/__tests__/uuid.test.js.map +0 -1
  40. package/dist/domain/message/internal-message-for-sender.d.ts +0 -29
  41. package/dist/domain/message/internal-message-for-sender.d.ts.map +0 -1
  42. package/dist/domain/message/internal-message-for-sender.js +0 -26
  43. package/dist/domain/message/internal-message-for-sender.js.map +0 -1
  44. package/dist/error/conflict.d.ts +0 -5
  45. package/dist/error/conflict.d.ts.map +0 -1
  46. package/dist/error/conflict.js +0 -17
  47. package/dist/error/conflict.js.map +0 -1
  48. package/dist/net/axios.d.ts +0 -3
  49. package/dist/net/axios.d.ts.map +0 -1
  50. package/dist/net/axios.js +0 -21
  51. package/dist/net/axios.js.map +0 -1
  52. package/dist/util/sqs-delay-from-uuid.d.ts +0 -11
  53. package/dist/util/sqs-delay-from-uuid.d.ts.map +0 -1
  54. package/dist/util/sqs-delay-from-uuid.js +0 -21
  55. package/dist/util/sqs-delay-from-uuid.js.map +0 -1
@@ -16,24 +16,159 @@ export declare const messageSenderAttachmentSchema: z.ZodObject<{
16
16
  title?: string | undefined;
17
17
  }>;
18
18
  export type MessageSenderAttachment = z.infer<typeof messageSenderAttachmentSchema>;
19
+ /** Demographics used to build XDS sourcePatientInfo PID lines on the sender. */
20
+ export declare const sourcePatientDemographicsSchema: z.ZodObject<{
21
+ firstName: z.ZodString;
22
+ lastName: z.ZodString;
23
+ dob: z.ZodString;
24
+ genderAtBirth: z.ZodEnum<["M", "F", "O", "U"]>;
25
+ address: z.ZodArray<z.ZodObject<{
26
+ addressLine1: z.ZodString;
27
+ addressLine2: z.ZodOptional<z.ZodString>;
28
+ city: z.ZodString;
29
+ state: z.ZodString;
30
+ zip: z.ZodString;
31
+ country: z.ZodOptional<z.ZodString>;
32
+ }, "strict", z.ZodTypeAny, {
33
+ addressLine1: string;
34
+ addressLine2?: string | undefined;
35
+ city: string;
36
+ state: string;
37
+ zip: string;
38
+ country?: string | undefined;
39
+ }, {
40
+ addressLine1: string;
41
+ addressLine2?: string | undefined;
42
+ city: string;
43
+ state: string;
44
+ zip: string;
45
+ country?: string | undefined;
46
+ }>, "many">;
47
+ }, "strict", z.ZodTypeAny, {
48
+ firstName: string;
49
+ lastName: string;
50
+ dob: string;
51
+ genderAtBirth: "F" | "M" | "O" | "U";
52
+ address: {
53
+ addressLine1: string;
54
+ addressLine2?: string | undefined;
55
+ city: string;
56
+ state: string;
57
+ zip: string;
58
+ country?: string | undefined;
59
+ }[];
60
+ }, {
61
+ firstName: string;
62
+ lastName: string;
63
+ dob: string;
64
+ genderAtBirth: "F" | "M" | "O" | "U";
65
+ address: {
66
+ addressLine1: string;
67
+ addressLine2?: string | undefined;
68
+ city: string;
69
+ state: string;
70
+ zip: string;
71
+ country?: string | undefined;
72
+ }[];
73
+ }>;
74
+ export type SourcePatientDemographics = z.infer<typeof sourcePatientDemographicsSchema>;
19
75
  export declare const xdrPatientSchema: z.ZodObject<{
20
76
  sourcePatientId: z.ZodString;
21
77
  sourcePatientSystem: z.ZodString;
22
78
  patientId: z.ZodString;
23
79
  patientSystem: z.ZodString;
24
- sourcePatientInfo: z.ZodArray<z.ZodString, "many">;
80
+ sourcePatientDemographics: z.ZodObject<{
81
+ firstName: z.ZodString;
82
+ lastName: z.ZodString;
83
+ dob: z.ZodString;
84
+ genderAtBirth: z.ZodEnum<["M", "F", "O", "U"]>;
85
+ address: z.ZodArray<z.ZodObject<{
86
+ addressLine1: z.ZodString;
87
+ addressLine2: z.ZodOptional<z.ZodString>;
88
+ city: z.ZodString;
89
+ state: z.ZodString;
90
+ zip: z.ZodString;
91
+ country: z.ZodOptional<z.ZodString>;
92
+ }, "strict", z.ZodTypeAny, {
93
+ addressLine1: string;
94
+ addressLine2?: string | undefined;
95
+ city: string;
96
+ state: string;
97
+ zip: string;
98
+ country?: string | undefined;
99
+ }, {
100
+ addressLine1: string;
101
+ addressLine2?: string | undefined;
102
+ city: string;
103
+ state: string;
104
+ zip: string;
105
+ country?: string | undefined;
106
+ }>, "many">;
107
+ }, "strict", z.ZodTypeAny, {
108
+ firstName: string;
109
+ lastName: string;
110
+ dob: string;
111
+ genderAtBirth: "F" | "M" | "O" | "U";
112
+ address: {
113
+ addressLine1: string;
114
+ addressLine2?: string | undefined;
115
+ city: string;
116
+ state: string;
117
+ zip: string;
118
+ country?: string | undefined;
119
+ }[];
120
+ }, {
121
+ firstName: string;
122
+ lastName: string;
123
+ dob: string;
124
+ genderAtBirth: "F" | "M" | "O" | "U";
125
+ address: {
126
+ addressLine1: string;
127
+ addressLine2?: string | undefined;
128
+ city: string;
129
+ state: string;
130
+ zip: string;
131
+ country?: string | undefined;
132
+ }[];
133
+ }>;
25
134
  }, "strict", z.ZodTypeAny, {
26
- patientId: string;
27
135
  sourcePatientId: string;
28
136
  sourcePatientSystem: string;
137
+ patientId: string;
29
138
  patientSystem: string;
30
- sourcePatientInfo: string[];
139
+ sourcePatientDemographics: {
140
+ firstName: string;
141
+ lastName: string;
142
+ dob: string;
143
+ genderAtBirth: "F" | "M" | "O" | "U";
144
+ address: {
145
+ addressLine1: string;
146
+ addressLine2?: string | undefined;
147
+ city: string;
148
+ state: string;
149
+ zip: string;
150
+ country?: string | undefined;
151
+ }[];
152
+ };
31
153
  }, {
32
- patientId: string;
33
154
  sourcePatientId: string;
34
155
  sourcePatientSystem: string;
156
+ patientId: string;
35
157
  patientSystem: string;
36
- sourcePatientInfo: string[];
158
+ sourcePatientDemographics: {
159
+ firstName: string;
160
+ lastName: string;
161
+ dob: string;
162
+ genderAtBirth: "F" | "M" | "O" | "U";
163
+ address: {
164
+ addressLine1: string;
165
+ addressLine2?: string | undefined;
166
+ city: string;
167
+ state: string;
168
+ zip: string;
169
+ country?: string | undefined;
170
+ }[];
171
+ };
37
172
  }>;
38
173
  export type XdrPatient = z.infer<typeof xdrPatientSchema>;
39
174
  /**
@@ -79,33 +214,117 @@ export declare const internalMessageXdrSchema: z.ZodEffects<z.ZodObject<z.object
79
214
  sourcePatientSystem: z.ZodString;
80
215
  patientId: z.ZodString;
81
216
  patientSystem: z.ZodString;
82
- sourcePatientInfo: z.ZodArray<z.ZodString, "many">;
217
+ sourcePatientDemographics: z.ZodObject<{
218
+ firstName: z.ZodString;
219
+ lastName: z.ZodString;
220
+ dob: z.ZodString;
221
+ genderAtBirth: z.ZodEnum<["M", "F", "O", "U"]>;
222
+ address: z.ZodArray<z.ZodObject<{
223
+ addressLine1: z.ZodString;
224
+ addressLine2: z.ZodOptional<z.ZodString>;
225
+ city: z.ZodString;
226
+ state: z.ZodString;
227
+ zip: z.ZodString;
228
+ country: z.ZodOptional<z.ZodString>;
229
+ }, "strict", z.ZodTypeAny, {
230
+ addressLine1: string;
231
+ addressLine2?: string | undefined;
232
+ city: string;
233
+ state: string;
234
+ zip: string;
235
+ country?: string | undefined;
236
+ }, {
237
+ addressLine1: string;
238
+ addressLine2?: string | undefined;
239
+ city: string;
240
+ state: string;
241
+ zip: string;
242
+ country?: string | undefined;
243
+ }>, "many">;
244
+ }, "strict", z.ZodTypeAny, {
245
+ firstName: string;
246
+ lastName: string;
247
+ dob: string;
248
+ genderAtBirth: "F" | "M" | "O" | "U";
249
+ address: {
250
+ addressLine1: string;
251
+ addressLine2?: string | undefined;
252
+ city: string;
253
+ state: string;
254
+ zip: string;
255
+ country?: string | undefined;
256
+ }[];
257
+ }, {
258
+ firstName: string;
259
+ lastName: string;
260
+ dob: string;
261
+ genderAtBirth: "F" | "M" | "O" | "U";
262
+ address: {
263
+ addressLine1: string;
264
+ addressLine2?: string | undefined;
265
+ city: string;
266
+ state: string;
267
+ zip: string;
268
+ country?: string | undefined;
269
+ }[];
270
+ }>;
83
271
  }, "strict", z.ZodTypeAny, {
84
- patientId: string;
85
272
  sourcePatientId: string;
86
273
  sourcePatientSystem: string;
274
+ patientId: string;
87
275
  patientSystem: string;
88
- sourcePatientInfo: string[];
276
+ sourcePatientDemographics: {
277
+ firstName: string;
278
+ lastName: string;
279
+ dob: string;
280
+ genderAtBirth: "F" | "M" | "O" | "U";
281
+ address: {
282
+ addressLine1: string;
283
+ addressLine2?: string | undefined;
284
+ city: string;
285
+ state: string;
286
+ zip: string;
287
+ country?: string | undefined;
288
+ }[];
289
+ };
89
290
  }, {
90
- patientId: string;
91
291
  sourcePatientId: string;
92
292
  sourcePatientSystem: string;
293
+ patientId: string;
93
294
  patientSystem: string;
94
- sourcePatientInfo: string[];
295
+ sourcePatientDemographics: {
296
+ firstName: string;
297
+ lastName: string;
298
+ dob: string;
299
+ genderAtBirth: "F" | "M" | "O" | "U";
300
+ address: {
301
+ addressLine1: string;
302
+ addressLine2?: string | undefined;
303
+ city: string;
304
+ state: string;
305
+ zip: string;
306
+ country?: string | undefined;
307
+ }[];
308
+ };
95
309
  }>;
96
310
  /** Cx facility/org OID — SAML organization-id (home community stays Metriport). */
97
311
  initiatorOid: z.ZodString;
98
312
  initiatorName: z.ZodString;
99
313
  }>, "strict", z.ZodTypeAny, {
100
314
  id: string;
101
- status: "processing" | "completed" | "failed";
102
- updatedAt: string;
103
315
  patientId: string;
104
- direction: "outbound" | "inbound";
105
- transportMethod: "xdr" | "direct";
316
+ direction: "inbound" | "outbound";
317
+ status: "completed" | "failed" | "processing";
318
+ transportMethod: "direct" | "xdr";
319
+ network?: "CAREQUALITY" | "COMMONWELL" | "EHEX" | undefined;
106
320
  destination: string;
107
321
  subject: string;
322
+ body?: string | undefined;
323
+ attachments?: string[] | undefined;
324
+ intendedRecipientNpi?: string[] | undefined;
108
325
  sentAt: string;
326
+ updatedAt: string;
327
+ reason?: string | undefined;
109
328
  urlXdr: string;
110
329
  destinationName: string;
111
330
  attachmentsForSender: {
@@ -115,29 +334,42 @@ export declare const internalMessageXdrSchema: z.ZodEffects<z.ZodObject<z.object
115
334
  title?: string | undefined;
116
335
  }[];
117
336
  xdrPatient: {
118
- patientId: string;
119
337
  sourcePatientId: string;
120
338
  sourcePatientSystem: string;
339
+ patientId: string;
121
340
  patientSystem: string;
122
- sourcePatientInfo: string[];
341
+ sourcePatientDemographics: {
342
+ firstName: string;
343
+ lastName: string;
344
+ dob: string;
345
+ genderAtBirth: "F" | "M" | "O" | "U";
346
+ address: {
347
+ addressLine1: string;
348
+ addressLine2?: string | undefined;
349
+ city: string;
350
+ state: string;
351
+ zip: string;
352
+ country?: string | undefined;
353
+ }[];
354
+ };
123
355
  };
124
356
  initiatorOid: string;
125
357
  initiatorName: string;
126
- reason?: string | undefined;
127
- network?: "EHEX" | "CAREQUALITY" | "COMMONWELL" | undefined;
128
- body?: string | undefined;
129
- attachments?: string[] | undefined;
130
- intendedRecipientNpi?: string[] | undefined;
131
358
  }, {
132
359
  id: string;
133
- status: "processing" | "completed" | "failed";
134
- updatedAt: string;
135
360
  patientId: string;
136
- direction: "outbound" | "inbound";
137
- transportMethod: "xdr" | "direct";
361
+ direction: "inbound" | "outbound";
362
+ status: "completed" | "failed" | "processing";
363
+ transportMethod: "direct" | "xdr";
364
+ network?: "CAREQUALITY" | "COMMONWELL" | "EHEX" | undefined;
138
365
  destination: string;
139
366
  subject: string;
367
+ body?: string | undefined;
368
+ attachments?: string[] | undefined;
369
+ intendedRecipientNpi?: string[] | undefined;
140
370
  sentAt: string;
371
+ updatedAt: string;
372
+ reason?: string | undefined;
141
373
  urlXdr: string;
142
374
  destinationName: string;
143
375
  attachmentsForSender: {
@@ -147,29 +379,42 @@ export declare const internalMessageXdrSchema: z.ZodEffects<z.ZodObject<z.object
147
379
  title?: string | undefined;
148
380
  }[];
149
381
  xdrPatient: {
150
- patientId: string;
151
382
  sourcePatientId: string;
152
383
  sourcePatientSystem: string;
384
+ patientId: string;
153
385
  patientSystem: string;
154
- sourcePatientInfo: string[];
386
+ sourcePatientDemographics: {
387
+ firstName: string;
388
+ lastName: string;
389
+ dob: string;
390
+ genderAtBirth: "F" | "M" | "O" | "U";
391
+ address: {
392
+ addressLine1: string;
393
+ addressLine2?: string | undefined;
394
+ city: string;
395
+ state: string;
396
+ zip: string;
397
+ country?: string | undefined;
398
+ }[];
399
+ };
155
400
  };
156
401
  initiatorOid: string;
157
402
  initiatorName: string;
158
- reason?: string | undefined;
159
- network?: "EHEX" | "CAREQUALITY" | "COMMONWELL" | undefined;
160
- body?: string | undefined;
161
- attachments?: string[] | undefined;
162
- intendedRecipientNpi?: string[] | undefined;
163
403
  }>, {
164
404
  id: string;
165
- status: "processing" | "completed" | "failed";
166
- updatedAt: string;
167
405
  patientId: string;
168
- direction: "outbound" | "inbound";
169
- transportMethod: "xdr" | "direct";
406
+ direction: "inbound" | "outbound";
407
+ status: "completed" | "failed" | "processing";
408
+ transportMethod: "direct" | "xdr";
409
+ network?: "CAREQUALITY" | "COMMONWELL" | "EHEX" | undefined;
170
410
  destination: string;
171
411
  subject: string;
412
+ body?: string | undefined;
413
+ attachments?: string[] | undefined;
414
+ intendedRecipientNpi?: string[] | undefined;
172
415
  sentAt: string;
416
+ updatedAt: string;
417
+ reason?: string | undefined;
173
418
  urlXdr: string;
174
419
  destinationName: string;
175
420
  attachmentsForSender: {
@@ -179,29 +424,42 @@ export declare const internalMessageXdrSchema: z.ZodEffects<z.ZodObject<z.object
179
424
  title?: string | undefined;
180
425
  }[];
181
426
  xdrPatient: {
182
- patientId: string;
183
427
  sourcePatientId: string;
184
428
  sourcePatientSystem: string;
429
+ patientId: string;
185
430
  patientSystem: string;
186
- sourcePatientInfo: string[];
431
+ sourcePatientDemographics: {
432
+ firstName: string;
433
+ lastName: string;
434
+ dob: string;
435
+ genderAtBirth: "F" | "M" | "O" | "U";
436
+ address: {
437
+ addressLine1: string;
438
+ addressLine2?: string | undefined;
439
+ city: string;
440
+ state: string;
441
+ zip: string;
442
+ country?: string | undefined;
443
+ }[];
444
+ };
187
445
  };
188
446
  initiatorOid: string;
189
447
  initiatorName: string;
190
- reason?: string | undefined;
191
- network?: "EHEX" | "CAREQUALITY" | "COMMONWELL" | undefined;
192
- body?: string | undefined;
193
- attachments?: string[] | undefined;
194
- intendedRecipientNpi?: string[] | undefined;
195
448
  }, {
196
449
  id: string;
197
- status: "processing" | "completed" | "failed";
198
- updatedAt: string;
199
450
  patientId: string;
200
- direction: "outbound" | "inbound";
201
- transportMethod: "xdr" | "direct";
451
+ direction: "inbound" | "outbound";
452
+ status: "completed" | "failed" | "processing";
453
+ transportMethod: "direct" | "xdr";
454
+ network?: "CAREQUALITY" | "COMMONWELL" | "EHEX" | undefined;
202
455
  destination: string;
203
456
  subject: string;
457
+ body?: string | undefined;
458
+ attachments?: string[] | undefined;
459
+ intendedRecipientNpi?: string[] | undefined;
204
460
  sentAt: string;
461
+ updatedAt: string;
462
+ reason?: string | undefined;
205
463
  urlXdr: string;
206
464
  destinationName: string;
207
465
  attachmentsForSender: {
@@ -211,27 +469,38 @@ export declare const internalMessageXdrSchema: z.ZodEffects<z.ZodObject<z.object
211
469
  title?: string | undefined;
212
470
  }[];
213
471
  xdrPatient: {
214
- patientId: string;
215
472
  sourcePatientId: string;
216
473
  sourcePatientSystem: string;
474
+ patientId: string;
217
475
  patientSystem: string;
218
- sourcePatientInfo: string[];
476
+ sourcePatientDemographics: {
477
+ firstName: string;
478
+ lastName: string;
479
+ dob: string;
480
+ genderAtBirth: "F" | "M" | "O" | "U";
481
+ address: {
482
+ addressLine1: string;
483
+ addressLine2?: string | undefined;
484
+ city: string;
485
+ state: string;
486
+ zip: string;
487
+ country?: string | undefined;
488
+ }[];
489
+ };
219
490
  };
220
491
  initiatorOid: string;
221
492
  initiatorName: string;
222
- reason?: string | undefined;
223
- network?: "EHEX" | "CAREQUALITY" | "COMMONWELL" | undefined;
224
- body?: string | undefined;
225
- attachments?: string[] | undefined;
226
- intendedRecipientNpi?: string[] | undefined;
227
493
  }>;
228
494
  export type InternalMessageXdr = z.infer<typeof internalMessageXdrSchema>;
229
495
  export declare const internalMessageXdrQuerySchema: z.ZodObject<{
230
496
  cxId: z.ZodString;
497
+ patientId: z.ZodString;
231
498
  }, "strict", z.ZodTypeAny, {
232
499
  cxId: string;
500
+ patientId: string;
233
501
  }, {
234
502
  cxId: string;
503
+ patientId: string;
235
504
  }>;
236
505
  export type InternalMessageXdrQuery = z.infer<typeof internalMessageXdrQuerySchema>;
237
506
  //# sourceMappingURL=internal-message-xdr.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"internal-message-xdr.d.ts","sourceRoot":"","sources":["../../../src/domain/message/internal-message-xdr.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAOxB,eAAO,MAAM,6BAA6B;;;;;;;;;;;;;;;EAO/B,CAAC;AACZ,MAAM,MAAM,uBAAuB,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,6BAA6B,CAAC,CAAC;AAEpF,eAAO,MAAM,gBAAgB;;;;;;;;;;;;;;;;;;EAQlB,CAAC;AACZ,MAAM,MAAM,UAAU,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,gBAAgB,CAAC,CAAC;AAE1D;;;GAGG;AACH,eAAO,MAAM,wBAAwB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;IAMjC,mFAAmF;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EAKxB,CAAC;AAChE,MAAM,MAAM,kBAAkB,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,wBAAwB,CAAC,CAAC;AAE1E,eAAO,MAAM,6BAA6B;;;;;;EAI/B,CAAC;AACZ,MAAM,MAAM,uBAAuB,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,6BAA6B,CAAC,CAAC"}
1
+ {"version":3,"file":"internal-message-xdr.d.ts","sourceRoot":"","sources":["../../../src/domain/message/internal-message-xdr.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAOxB,eAAO,MAAM,6BAA6B;;;;;;;;;;;;;;;EAO/B,CAAC;AACZ,MAAM,MAAM,uBAAuB,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,6BAA6B,CAAC,CAAC;AAEpF,gFAAgF;AAChF,eAAO,MAAM,+BAA+B;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EAmBjC,CAAC;AACZ,MAAM,MAAM,yBAAyB,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,+BAA+B,CAAC,CAAC;AAExF,eAAO,MAAM,gBAAgB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EAQlB,CAAC;AACZ,MAAM,MAAM,UAAU,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,gBAAgB,CAAC,CAAC;AAE1D;;;GAGG;AACH,eAAO,MAAM,wBAAwB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;IAMjC,mFAAmF;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EAKxB,CAAC;AAChE,MAAM,MAAM,kBAAkB,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,wBAAwB,CAAC,CAAC;AAE1E,eAAO,MAAM,6BAA6B;;;;;;;;;EAK/B,CAAC;AACZ,MAAM,MAAM,uBAAuB,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,6BAA6B,CAAC,CAAC"}
@@ -1,6 +1,6 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.internalMessageXdrQuerySchema = exports.internalMessageXdrSchema = exports.xdrPatientSchema = exports.messageSenderAttachmentSchema = void 0;
3
+ exports.internalMessageXdrQuerySchema = exports.internalMessageXdrSchema = exports.xdrPatientSchema = exports.sourcePatientDemographicsSchema = exports.messageSenderAttachmentSchema = void 0;
4
4
  const zod_1 = require("zod");
5
5
  const message_1 = require("./message");
6
6
  exports.messageSenderAttachmentSchema = zod_1.z
@@ -11,13 +11,32 @@ exports.messageSenderAttachmentSchema = zod_1.z
11
11
  title: zod_1.z.string().min(1).optional(),
12
12
  })
13
13
  .strict();
14
+ /** Demographics used to build XDS sourcePatientInfo PID lines on the sender. */
15
+ exports.sourcePatientDemographicsSchema = zod_1.z
16
+ .object({
17
+ firstName: zod_1.z.string().min(1),
18
+ lastName: zod_1.z.string().min(1),
19
+ dob: zod_1.z.string().min(1),
20
+ genderAtBirth: zod_1.z.enum(["M", "F", "O", "U"]),
21
+ address: zod_1.z.array(zod_1.z
22
+ .object({
23
+ addressLine1: zod_1.z.string().min(1),
24
+ addressLine2: zod_1.z.string().optional(),
25
+ city: zod_1.z.string().min(1),
26
+ state: zod_1.z.string().min(1),
27
+ zip: zod_1.z.string().min(1),
28
+ country: zod_1.z.string().optional(),
29
+ })
30
+ .strict()),
31
+ })
32
+ .strict();
14
33
  exports.xdrPatientSchema = zod_1.z
15
34
  .object({
16
35
  sourcePatientId: zod_1.z.string().min(1),
17
36
  sourcePatientSystem: zod_1.z.string().min(1),
18
37
  patientId: zod_1.z.string().min(1),
19
38
  patientSystem: zod_1.z.string().min(1),
20
- sourcePatientInfo: zod_1.z.array(zod_1.z.string().min(1)).min(1),
39
+ sourcePatientDemographics: exports.sourcePatientDemographicsSchema,
21
40
  })
22
41
  .strict();
23
42
  /**
@@ -39,6 +58,7 @@ exports.internalMessageXdrSchema = message_1.messageObjectSchema
39
58
  exports.internalMessageXdrQuerySchema = zod_1.z
40
59
  .object({
41
60
  cxId: zod_1.z.string().uuid(),
61
+ patientId: zod_1.z.string().uuid(),
42
62
  })
43
63
  .strict();
44
64
  //# sourceMappingURL=internal-message-xdr.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"internal-message-xdr.js","sourceRoot":"","sources":["../../../src/domain/message/internal-message-xdr.ts"],"names":[],"mappings":";;;AAAA,6BAAwB;AACxB,uCAImB;AAEN,QAAA,6BAA6B,GAAG,OAAC;KAC3C,MAAM,CAAC;IACN,UAAU,EAAE,OAAC,CAAC,MAAM,EAAE,CAAC,IAAI,EAAE;IAC7B,KAAK,EAAE,OAAC,CAAC,MAAM,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC;IACxB,QAAQ,EAAE,OAAC,CAAC,MAAM,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC;IAC3B,KAAK,EAAE,OAAC,CAAC,MAAM,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,QAAQ,EAAE;CACpC,CAAC;KACD,MAAM,EAAE,CAAC;AAGC,QAAA,gBAAgB,GAAG,OAAC;KAC9B,MAAM,CAAC;IACN,eAAe,EAAE,OAAC,CAAC,MAAM,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC;IAClC,mBAAmB,EAAE,OAAC,CAAC,MAAM,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC;IACtC,SAAS,EAAE,OAAC,CAAC,MAAM,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC;IAC5B,aAAa,EAAE,OAAC,CAAC,MAAM,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC;IAChC,iBAAiB,EAAE,OAAC,CAAC,KAAK,CAAC,OAAC,CAAC,MAAM,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC;CACrD,CAAC;KACD,MAAM,EAAE,CAAC;AAGZ;;;GAGG;AACU,QAAA,wBAAwB,GAAG,6BAAmB;KACxD,MAAM,CAAC;IACN,MAAM,EAAE,OAAC,CAAC,MAAM,EAAE,CAAC,GAAG,EAAE;IACxB,eAAe,EAAE,OAAC,CAAC,MAAM,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC;IAClC,oBAAoB,EAAE,OAAC,CAAC,KAAK,CAAC,qCAA6B,CAAC;IAC5D,UAAU,EAAE,wBAAgB;IAC5B,mFAAmF;IACnF,YAAY,EAAE,OAAC,CAAC,MAAM,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC;IAC/B,aAAa,EAAE,OAAC,CAAC,MAAM,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC;CACjC,CAAC;KACD,MAAM,EAAE;KACR,MAAM,CAAC,iCAAuB,EAAE,qCAA2B,CAAC,CAAC;AAGnD,QAAA,6BAA6B,GAAG,OAAC;KAC3C,MAAM,CAAC;IACN,IAAI,EAAE,OAAC,CAAC,MAAM,EAAE,CAAC,IAAI,EAAE;CACxB,CAAC;KACD,MAAM,EAAE,CAAC"}
1
+ {"version":3,"file":"internal-message-xdr.js","sourceRoot":"","sources":["../../../src/domain/message/internal-message-xdr.ts"],"names":[],"mappings":"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"}
@@ -15,6 +15,62 @@ export type MessageTransportMethod = z.infer<typeof messageTransportMethodSchema
15
15
  export declare const messageNetworks: readonly ["EHEX", "CAREQUALITY", "COMMONWELL"];
16
16
  export declare const messageNetworkSchema: z.ZodEnum<["EHEX", "CAREQUALITY", "COMMONWELL"]>;
17
17
  export type MessageNetwork = z.infer<typeof messageNetworkSchema>;
18
+ /** Base object shape — extend this when composing schemas that add fields (strict rejects extras). */
19
+ export declare const messageObjectSchema: z.ZodObject<{
20
+ id: z.ZodString;
21
+ patientId: z.ZodString;
22
+ direction: z.ZodEnum<["outbound", "inbound"]>;
23
+ status: z.ZodEnum<["processing", "completed", "failed"]>;
24
+ transportMethod: z.ZodEnum<["xdr", "direct"]>;
25
+ network: z.ZodOptional<z.ZodEnum<["EHEX", "CAREQUALITY", "COMMONWELL"]>>;
26
+ destination: z.ZodString;
27
+ subject: z.ZodString;
28
+ body: z.ZodOptional<z.ZodString>;
29
+ attachments: z.ZodOptional<z.ZodArray<z.ZodString, "many">>;
30
+ intendedRecipientNpi: z.ZodOptional<z.ZodArray<z.ZodString, "many">>;
31
+ sentAt: z.ZodString;
32
+ updatedAt: z.ZodString;
33
+ reason: z.ZodOptional<z.ZodString>;
34
+ }, "strip", z.ZodTypeAny, {
35
+ id: string;
36
+ patientId: string;
37
+ direction: "inbound" | "outbound";
38
+ status: "completed" | "failed" | "processing";
39
+ transportMethod: "direct" | "xdr";
40
+ network?: "CAREQUALITY" | "COMMONWELL" | "EHEX" | undefined;
41
+ destination: string;
42
+ subject: string;
43
+ body?: string | undefined;
44
+ attachments?: string[] | undefined;
45
+ intendedRecipientNpi?: string[] | undefined;
46
+ sentAt: string;
47
+ updatedAt: string;
48
+ reason?: string | undefined;
49
+ }, {
50
+ id: string;
51
+ patientId: string;
52
+ direction: "inbound" | "outbound";
53
+ status: "completed" | "failed" | "processing";
54
+ transportMethod: "direct" | "xdr";
55
+ network?: "CAREQUALITY" | "COMMONWELL" | "EHEX" | undefined;
56
+ destination: string;
57
+ subject: string;
58
+ body?: string | undefined;
59
+ attachments?: string[] | undefined;
60
+ intendedRecipientNpi?: string[] | undefined;
61
+ sentAt: string;
62
+ updatedAt: string;
63
+ reason?: string | undefined;
64
+ }>;
65
+ /** Matches DB CHECK: xdr requires non-null network in (EHEX, CAREQUALITY, COMMONWELL). */
66
+ export declare function isNetworkPresentWhenXdr(message: {
67
+ transportMethod: string;
68
+ network?: unknown;
69
+ }): boolean;
70
+ export declare const networkRequiredForXdrRefine: {
71
+ message: string;
72
+ path: ["network"];
73
+ };
18
74
  export declare const messageSchema: z.ZodEffects<z.ZodObject<{
19
75
  id: z.ZodString;
20
76
  patientId: z.ZodString;
@@ -160,6 +216,36 @@ export declare const messageListQuerySchema: z.ZodObject<{
160
216
  status?: "completed" | "failed" | "processing" | undefined;
161
217
  }>;
162
218
  export type MessageListQuery = z.infer<typeof messageListQuerySchema>;
219
+ export declare const messageDeliveryTerminalStatuses: readonly ["completed", "failed"];
220
+ export declare const messageDeliveryTerminalStatusSchema: z.ZodEnum<["completed", "failed"]>;
221
+ export type MessageDeliveryTerminalStatus = z.infer<typeof messageDeliveryTerminalStatusSchema>;
222
+ export declare function isMessageDeliveryTerminalStatus(status: MessageStatus): status is MessageDeliveryTerminalStatus;
223
+ /**
224
+ * Body for POST /internal/message/delivery/complete — called by the completion lambda.
225
+ */
226
+ export declare const messageDeliveryCompleteRequestSchema: z.ZodObject<{
227
+ messageId: z.ZodString;
228
+ cxId: z.ZodString;
229
+ patientId: z.ZodString;
230
+ network: z.ZodEnum<["EHEX", "CAREQUALITY", "COMMONWELL"]>;
231
+ status: z.ZodEnum<["completed", "failed"]>;
232
+ reason: z.ZodOptional<z.ZodPipeline<z.ZodEffects<z.ZodString, string, string>, z.ZodString>>;
233
+ }, "strict", z.ZodTypeAny, {
234
+ messageId: string;
235
+ cxId: string;
236
+ patientId: string;
237
+ network: "CAREQUALITY" | "COMMONWELL" | "EHEX";
238
+ status: "completed" | "failed";
239
+ reason?: string | undefined;
240
+ }, {
241
+ messageId: string;
242
+ cxId: string;
243
+ patientId: string;
244
+ network: "CAREQUALITY" | "COMMONWELL" | "EHEX";
245
+ status: "completed" | "failed";
246
+ reason?: string | undefined;
247
+ }>;
248
+ export type MessageDeliveryCompleteRequest = z.infer<typeof messageDeliveryCompleteRequestSchema>;
163
249
  /**
164
250
  * Plain-text ingest: trim and strip C0 control chars (keep tab/LF/CR).
165
251
  */
@@ -1 +1 @@
1
- {"version":3,"file":"message.d.ts","sourceRoot":"","sources":["../../../src/domain/message/message.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAExB,eAAO,MAAM,uBAAuB,MAAM,CAAC;AAC3C,eAAO,MAAM,oBAAoB,OAAQ,CAAC;AAC1C,eAAO,MAAM,0BAA0B,IAAI,CAAC;AAC5C,eAAO,MAAM,oCAAoC,KAAK,CAAC;AAEvD,eAAO,MAAM,eAAe,YAAI,YAAY,EAAE,WAAW,EAAE,QAAQ,CAAU,CAAC;AAC9E,eAAO,MAAM,mBAAmB,kDAA0B,CAAC;AAC3D,MAAM,MAAM,aAAa,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,mBAAmB,CAAC,CAAC;AAEhE,eAAO,MAAM,iBAAiB,YAAI,UAAU,EAAE,SAAS,CAAU,CAAC;AAClE,eAAO,MAAM,sBAAsB,oCAA4B,CAAC;AAChE,MAAM,MAAM,gBAAgB,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,sBAAsB,CAAC,CAAC;AAEtE,eAAO,MAAM,uBAAuB,YAAI,KAAK,EAAE,QAAQ,CAAU,CAAC;AAClE,eAAO,MAAM,4BAA4B,8BAAkC,CAAC;AAC5E,MAAM,MAAM,sBAAsB,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,4BAA4B,CAAC,CAAC;AAElF,eAAO,MAAM,eAAe,YAAI,MAAM,EAAE,aAAa,EAAE,YAAY,CAAU,CAAC;AAC9E,eAAO,MAAM,oBAAoB,kDAA0B,CAAC;AAC5D,MAAM,MAAM,cAAc,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,oBAAoB,CAAC,CAAC;AAQlE,eAAO,MAAM,aAAa;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EAuBtB,CAAC;AACL,MAAM,MAAM,OAAO,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,aAAa,CAAC,CAAC;AACpD,gFAAgF;AAChF,MAAM,MAAM,UAAU,GAAG,OAAO,CAAC;AAEjC,MAAM,MAAM,aAAa,GAAG;IAC1B,EAAE,EAAE,MAAM,CAAC;IACX,SAAS,EAAE,MAAM,CAAC;IAClB,SAAS,EAAE,gBAAgB,CAAC;IAC5B,MAAM,EAAE,aAAa,CAAC;IACtB,eAAe,EAAE,sBAAsB,CAAC;IACxC,OAAO,CAAC,EAAE,cAAc,GAAG,IAAI,CAAC;IAChC,WAAW,EAAE,MAAM,CAAC;IACpB,cAAc,EAAE,MAAM,CAAC;IACvB,IAAI,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IACrB,aAAa,CAAC,EAAE,MAAM,EAAE,GAAG,IAAI,CAAC;IAChC,qBAAqB,CAAC,EAAE,MAAM,EAAE,GAAG,IAAI,CAAC;IACxC,SAAS,EAAE,IAAI,CAAC;IAChB,SAAS,EAAE,IAAI,CAAC;IAChB,aAAa,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;CAC/B,CAAC;AAaF,wBAAgB,YAAY,CAAC,MAAM,EAAE,aAAa,GAAG,UAAU,CAiB9D;AAED,eAAO,MAAM,qBAAqB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EAW9B,CAAC;AACL,MAAM,MAAM,eAAe,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,qBAAqB,CAAC,CAAC;AAEpE,eAAO,MAAM,sBAAsB;;;;;;;;;;;;;;;EAKjC,CAAC;AACH,MAAM,MAAM,gBAAgB,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,sBAAsB,CAAC,CAAC;AAEtE;;GAEG;AACH,wBAAgB,yBAAyB,CAAC,KAAK,EAAE,MAAM,GAAG,MAAM,CAU/D"}
1
+ {"version":3,"file":"message.d.ts","sourceRoot":"","sources":["../../../src/domain/message/message.ts"],"names":[],"mappings":"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"}