@unite-us/app-create-referral 0.15.63 → 0.15.64-CL-2024.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.
@@ -1,3 +1,6 @@
1
+ import _defineProperty from "@babel/runtime/helpers/defineProperty";
2
+ function ownKeys(e, r) { var t = Object.keys(e); if (Object.getOwnPropertySymbols) { var o = Object.getOwnPropertySymbols(e); r && (o = o.filter(function (r) { return Object.getOwnPropertyDescriptor(e, r).enumerable; })), t.push.apply(t, o); } return t; }
3
+ function _objectSpread(e) { for (var r = 1; r < arguments.length; r++) { var t = null != arguments[r] ? arguments[r] : {}; r % 2 ? ownKeys(Object(t), !0).forEach(function (r) { _defineProperty(e, r, t[r]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(e, Object.getOwnPropertyDescriptors(t)) : ownKeys(Object(t)).forEach(function (r) { Object.defineProperty(e, r, Object.getOwnPropertyDescriptor(t, r)); }); } return e; }
1
4
  import { renderHook, act } from '@testing-library/react-hooks';
2
5
  import useCreateReferrals from '../useCreateReferrals';
3
6
  import { useAppCreateReferralContext } from '../../context/AppCreateReferralProvider';
@@ -9,6 +12,15 @@ jest.mock('../../api/ApiHooks', () => ({
9
12
  useCreateRecord: jest.fn(),
10
13
  useUpdateRecord: jest.fn()
11
14
  }));
15
+ jest.mock('../../api/config', () => ({
16
+ coreApi: {
17
+ populateRelationship: jest.fn(),
18
+ setRelationship: jest.fn(),
19
+ query: jest.fn(),
20
+ uploadFile: jest.fn()
21
+ },
22
+ CALLBACKS: {}
23
+ }));
12
24
  const referrals = [{
13
25
  attachments: null,
14
26
  case: undefined,
@@ -31,7 +43,10 @@ const referrals = [{
31
43
  id: 'provider2'
32
44
  },
33
45
  network: {
34
- id: 'network1'
46
+ id: 'network1',
47
+ features: {
48
+ nh_consent: true
49
+ }
35
50
  },
36
51
  service: {
37
52
  id: 'service1'
@@ -41,6 +56,73 @@ const referrals = [{
41
56
  }
42
57
  }];
43
58
  describe('useCreateReferrals', () => {
59
+ const createBaseReferral = function () {
60
+ let overrides = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};
61
+ return _objectSpread({
62
+ attachments: null,
63
+ case: undefined,
64
+ id: undefined,
65
+ state: undefined,
66
+ paymentAuthForm: {
67
+ amount_requested: null,
68
+ service_start: null,
69
+ service_end: null
70
+ },
71
+ programs: [{
72
+ id: 'program1',
73
+ provider: {
74
+ id: 'provider1',
75
+ licensed: true
76
+ }
77
+ }],
78
+ sendingProvider: {
79
+ id: 'provider2'
80
+ },
81
+ network: {
82
+ id: 'network1',
83
+ features: {
84
+ nh_consent: true
85
+ }
86
+ },
87
+ service: {
88
+ id: 'service1'
89
+ },
90
+ primaryWorker: {
91
+ id: "primary-worker-id"
92
+ }
93
+ }, overrides);
94
+ };
95
+ const setupMocks = referrals => {
96
+ useAppCreateReferralContext.mockReturnValue({
97
+ state: {
98
+ currentEmployee: {
99
+ id: 'employee1'
100
+ },
101
+ formResponses: [],
102
+ person: {
103
+ id: 'person1'
104
+ },
105
+ referrals,
106
+ formSubmissionId: null,
107
+ assistanceRequestId: null,
108
+ screeningId: null
109
+ }
110
+ });
111
+ useCreateRecord.mockReturnValue({
112
+ createRecord: jest.fn().mockResolvedValue({
113
+ data: {
114
+ data: {}
115
+ }
116
+ })
117
+ });
118
+ useUpdateRecord.mockReturnValue({
119
+ updateRecord: jest.fn().mockResolvedValue({
120
+ data: {
121
+ data: {}
122
+ }
123
+ })
124
+ });
125
+ };
44
126
  it('should validate response structure no matters the result', async () => {
45
127
  useAppCreateReferralContext.mockReturnValue({
46
128
  state: {
@@ -175,7 +257,6 @@ describe('useCreateReferrals', () => {
175
257
  error: null
176
258
  }],
177
259
  referralsToConsent: [{
178
- receivingProviderNames: ['Unknown Program'],
179
260
  programNames: ['Unknown Program'],
180
261
  referrals: ['referral1'],
181
262
  serviceName: 'Unknown Service'
@@ -183,97 +264,7 @@ describe('useCreateReferrals', () => {
183
264
  });
184
265
  });
185
266
  });
186
- it('should create SOME referrals', async () => {
187
- const someReferrals = [{
188
- attachments: null,
189
- case: undefined,
190
- id: undefined,
191
- state: undefined,
192
- paymentAuthForm: {
193
- amount_requested: null,
194
- service_start: null,
195
- service_end: null
196
- },
197
- description: 'Test Referral',
198
- programs: [{
199
- id: 'program1',
200
- provider: {
201
- id: 'provider1',
202
- licensed: true
203
- }
204
- }],
205
- sendingProvider: {
206
- id: 'provider2'
207
- },
208
- network: {
209
- id: 'network1'
210
- },
211
- service: {
212
- id: 'service1'
213
- },
214
- primaryWorker: {
215
- id: "primary-worker-id"
216
- }
217
- }, {
218
- attachments: null,
219
- case: undefined,
220
- id: undefined,
221
- state: undefined,
222
- paymentAuthForm: {
223
- amount_requested: null,
224
- service_start: null,
225
- service_end: null
226
- },
227
- description: null,
228
- programs: [{
229
- id: 'program2',
230
- provider: {
231
- id: 'provider1',
232
- licensed: true
233
- }
234
- }],
235
- sendingProvider: {
236
- id: 'provider2'
237
- },
238
- network: {
239
- id: 'network1'
240
- },
241
- service: {
242
- id: 'service2'
243
- },
244
- primaryWorker: {
245
- id: "primary-worker-id"
246
- }
247
- }];
248
- useAppCreateReferralContext.mockReturnValue({
249
- state: {
250
- currentEmployee: {
251
- id: 'employee1'
252
- },
253
- formResponses: [],
254
- person: {
255
- id: 'person1'
256
- },
257
- referrals: someReferrals,
258
- formSubmissionId: null,
259
- assistanceRequestId: null,
260
- screeningId: null
261
- }
262
- });
263
- useCreateRecord.mockReturnValue({
264
- createRecord: jest.fn().mockResolvedValue({
265
- data: {
266
- data: {}
267
- }
268
- })
269
- });
270
- useUpdateRecord.mockReturnValue({
271
- updateRecord: jest.fn().mockResolvedValue({
272
- data: {
273
- data: {}
274
- }
275
- })
276
- });
267
+ const setupCreateRecordMocks = () => {
277
268
  const mockCreateCase = jest.fn().mockResolvedValue({
278
269
  data: {
279
270
  data: {
@@ -304,6 +295,25 @@ describe('useCreateReferrals', () => {
304
295
  createRecord: jest.fn()
305
296
  };
306
297
  });
298
+ };
299
+ it('should create SOME referrals', async () => {
300
+ const someReferrals = [createBaseReferral({
301
+ description: 'Test Referral'
302
+ }), createBaseReferral({
303
+ description: null,
304
+ programs: [{
305
+ id: 'program2',
306
+ provider: {
307
+ id: 'provider1',
308
+ licensed: true
309
+ }
310
+ }],
311
+ service: {
312
+ id: 'service2'
313
+ }
314
+ })];
315
+ setupMocks(someReferrals);
316
+ setupCreateRecordMocks();
307
317
  const {
308
318
  result
309
319
  } = renderHook(() => useCreateReferrals());
@@ -335,7 +345,6 @@ describe('useCreateReferrals', () => {
335
345
  error: 'Unexpected error: The following fields for the case are required: description'
336
346
  }],
337
347
  referralsToConsent: [{
338
- receivingProviderNames: ['Unknown Program'],
339
348
  programNames: ['Unknown Program'],
340
349
  referrals: ['referral1'],
341
350
  serviceName: 'Unknown Service'
@@ -344,46 +353,9 @@ describe('useCreateReferrals', () => {
344
353
  });
345
354
  });
346
355
  it('should FAIL all referrals', async () => {
347
- const referralsFailed = [{
348
- attachments: null,
349
- case: undefined,
350
- id: undefined,
351
- state: undefined,
352
- paymentAuthForm: {
353
- amount_requested: null,
354
- service_start: null,
355
- service_end: null
356
- },
357
- description: null,
358
- programs: [{
359
- id: 'program1',
360
- provider: {
361
- id: 'provider1',
362
- licensed: true
363
- }
364
- }],
365
- sendingProvider: {
366
- id: 'provider2'
367
- },
368
- network: {
369
- id: 'network1'
370
- },
371
- service: {
372
- id: 'service1'
373
- },
374
- primaryWorker: {
375
- id: "primary-worker-id"
376
- }
377
- }, {
378
- attachments: null,
379
- case: undefined,
380
- id: undefined,
381
- state: undefined,
382
- paymentAuthForm: {
383
- amount_requested: null,
384
- service_start: null,
385
- service_end: null
386
- },
356
+ const referralsFailed = [createBaseReferral({
357
+ description: null
358
+ }), createBaseReferral({
387
359
  description: null,
388
360
  programs: [{
389
361
  id: 'program2',
@@ -392,78 +364,12 @@ describe('useCreateReferrals', () => {
392
364
  licensed: true
393
365
  }
394
366
  }],
395
- sendingProvider: {
396
- id: 'provider2'
397
- },
398
- network: {
399
- id: 'network1'
400
- },
401
367
  service: {
402
368
  id: 'service2'
403
- },
404
- primaryWorker: {
405
- id: "primary-worker-id"
406
- }
407
- }];
408
- useAppCreateReferralContext.mockReturnValue({
409
- state: {
410
- currentEmployee: {
411
- id: 'employee1'
412
- },
413
- formResponses: [],
414
- person: {
415
- id: 'person1'
416
- },
417
- referrals: referralsFailed,
418
- formSubmissionId: null,
419
- assistanceRequestId: null,
420
- screeningId: null
421
- }
422
- });
423
- useCreateRecord.mockReturnValue({
424
- createRecord: jest.fn().mockResolvedValue({
425
- data: {
426
- data: {}
427
- }
428
- })
429
- });
430
- useUpdateRecord.mockReturnValue({
431
- updateRecord: jest.fn().mockResolvedValue({
432
- data: {
433
- data: {}
434
- }
435
- })
436
- });
437
- const mockCreateCase = jest.fn().mockResolvedValue({
438
- data: {
439
- data: {
440
- id: 'case1',
441
- description: 'Test Case'
442
- }
443
369
  }
444
- });
445
- const mockCreateReferral = jest.fn().mockResolvedValue({
446
- data: {
447
- data: {
448
- id: 'referral1',
449
- state: 'sent'
450
- }
451
- }
452
- });
453
- useCreateRecord.mockImplementation(type => {
454
- if (type === 'case') {
455
- return {
456
- createRecord: mockCreateCase
457
- };
458
- } else if (type === 'referral') {
459
- return {
460
- createRecord: mockCreateReferral
461
- };
462
- }
463
- return {
464
- createRecord: jest.fn()
465
- };
466
- });
370
+ })];
371
+ setupMocks(referralsFailed);
372
+ setupCreateRecordMocks();
467
373
  const {
468
374
  result
469
375
  } = renderHook(() => useCreateReferrals());
@@ -492,5 +398,47 @@ describe('useCreateReferrals', () => {
492
398
  });
493
399
  });
494
400
  });
401
+ it('should not create referrals to consent when nh_consent is false', async () => {
402
+ const referrals = [createBaseReferral({
403
+ description: 'Test Referral',
404
+ network: {
405
+ id: 'network1',
406
+ features: {
407
+ nh_consent: false
408
+ }
409
+ }
410
+ })];
411
+ setupMocks(referrals);
412
+ setupCreateRecordMocks();
413
+ const {
414
+ result
415
+ } = renderHook(() => useCreateReferrals());
416
+ await act(async () => {
417
+ const createReferrals = result.current;
418
+ const response = await createReferrals({
419
+ referrals,
420
+ person: {
421
+ id: 'person1'
422
+ },
423
+ draft: false
424
+ });
425
+ expect(response).toEqual({
426
+ cases: [{
427
+ id: 'case1',
428
+ description: 'Test Case'
429
+ }],
430
+ referrals: [{
431
+ id: 'referral1',
432
+ state: 'sent'
433
+ }],
434
+ shippingDetail: [{
435
+ index: 0,
436
+ sent: true,
437
+ error: null
438
+ }],
439
+ referralsToConsent: []
440
+ });
441
+ });
442
+ });
495
443
  });
496
444
  //# sourceMappingURL=useCreateReferrals.test.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"useCreateReferrals.test.js","names":["renderHook","act","useCreateReferrals","useAppCreateReferralContext","useCreateRecord","useUpdateRecord","jest","mock","fn","referrals","attachments","case","undefined","id","state","paymentAuthForm","amount_requested","service_start","service_end","description","programs","provider","licensed","sendingProvider","network","service","primaryWorker","describe","it","mockReturnValue","currentEmployee","formResponses","person","formSubmissionId","assistanceRequestId","screeningId","createRecord","mockResolvedValue","data","updateRecord","result","createReferrals","current","response","draft","expect","toHaveProperty","mockCreateCase","mockCreateReferral","mockImplementation","type","toEqual","cases","shippingDetail","index","sent","error","referralsToConsent","receivingProviderNames","programNames","serviceName","someReferrals","referralsFailed"],"sources":["../../../src/hooks/__tests__/useCreateReferrals.test.js"],"sourcesContent":["import { renderHook, act } from '@testing-library/react-hooks';\nimport useCreateReferrals from '../useCreateReferrals';\nimport { useAppCreateReferralContext } from '../../context/AppCreateReferralProvider';\nimport { useCreateRecord, useUpdateRecord } from '../../api/ApiHooks';\n\njest.mock('../../context/AppCreateReferralProvider', () => ({\n useAppCreateReferralContext: jest.fn(),\n}));\n\njest.mock('../../api/ApiHooks', () => ({\n useCreateRecord: jest.fn(),\n useUpdateRecord: jest.fn(),\n}));\n\nconst referrals = [\n {\n attachments: null,\n case: undefined,\n id: undefined,\n state: undefined,\n paymentAuthForm: { amount_requested: null, service_start: null, service_end: null },\n description: 'Test Referral',\n programs: [{ id: 'program1', provider: { id: 'provider1', licensed: true } }],\n sendingProvider: { id: 'provider2' },\n network: { id: 'network1' },\n service: { id: 'service1' },\n primaryWorker: { id: \"primary-worker-id\" },\n },\n];\n\ndescribe('useCreateReferrals', () => {\n it('should validate response structure no matters the result', async () => {\n useAppCreateReferralContext.mockReturnValue({\n state: {\n currentEmployee: { id: 'employee1' },\n formResponses: [],\n person: { id: 'person1' },\n referrals,\n formSubmissionId: null,\n assistanceRequestId: null,\n screeningId: null,\n },\n });\n\n useCreateRecord.mockReturnValue({\n createRecord: jest.fn().mockResolvedValue({ data: { data: {} } }),\n });\n\n useUpdateRecord.mockReturnValue({\n updateRecord: jest.fn().mockResolvedValue({ data: { data: {} } }),\n });\n\n const { result } = renderHook(() => useCreateReferrals());\n\n await act(async () => {\n const createReferrals = result.current;\n const response = await createReferrals({ referrals, person: { id: 'person1' }, draft: false });\n expect(response).toHaveProperty('cases');\n expect(response).toHaveProperty('referrals');\n expect(response).toHaveProperty('shippingDetail');\n });\n });\n\n\n it('should create all referrals successfully', async () => {\n useAppCreateReferralContext.mockReturnValue({\n state: {\n currentEmployee: { id: 'employee1' },\n formResponses: [],\n person: { id: 'person1' },\n referrals,\n formSubmissionId: null,\n assistanceRequestId: null,\n screeningId: null,\n },\n });\n\n useCreateRecord.mockReturnValue({\n createRecord: jest.fn().mockResolvedValue({ data: { data: {} } }),\n });\n\n useUpdateRecord.mockReturnValue({\n updateRecord: jest.fn().mockResolvedValue({ data: { data: {} } }),\n });\n\n const mockCreateCase = jest.fn().mockResolvedValue({\n data: {\n data: { id: 'case1', description: 'Test Case' },\n },\n });\n\n const mockCreateReferral = jest.fn().mockResolvedValue({\n data: {\n data: { id: 'referral1', state: 'sent' },\n },\n });\n\n useCreateRecord.mockImplementation((type) => {\n if (type === 'case') {\n return { createRecord: mockCreateCase };\n } else if (type === 'referral') {\n return { createRecord: mockCreateReferral };\n }\n return { createRecord: jest.fn() };\n });\n\n const { result } = renderHook(() => useCreateReferrals());\n\n await act(async () => {\n const createReferrals = result.current;\n const response = await createReferrals({ referrals, person: { id: 'person1' }, draft: false });\n expect(response).toEqual({\n cases: [{ id: 'case1', description: 'Test Case' }],\n referrals: [{ id: 'referral1', state: 'sent' }],\n shippingDetail: [{ index: 0, sent: true, error: null }],\n referralsToConsent: [{\n receivingProviderNames: ['Unknown Program'],\n programNames:['Unknown Program'],\n referrals: ['referral1'],\n serviceName: 'Unknown Service',\n }],\n });\n });\n });\n\n it('should create SOME referrals', async () => {\n const someReferrals = [\n {\n attachments: null,\n case: undefined,\n id: undefined,\n state: undefined,\n paymentAuthForm: { amount_requested: null, service_start: null, service_end: null },\n description: 'Test Referral',\n programs: [{ id: 'program1', provider: { id: 'provider1', licensed: true } }],\n sendingProvider: { id: 'provider2' },\n network: { id: 'network1' },\n service: { id: 'service1' },\n primaryWorker: { id: \"primary-worker-id\" },\n },\n {\n attachments: null,\n case: undefined,\n id: undefined,\n state: undefined,\n paymentAuthForm: { amount_requested: null, service_start: null, service_end: null },\n description: null,\n programs: [{ id: 'program2', provider: { id: 'provider1', licensed: true } }],\n sendingProvider: { id: 'provider2' },\n network: { id: 'network1' },\n service: { id: 'service2' },\n primaryWorker: { id: \"primary-worker-id\" },\n },\n ];\n\n useAppCreateReferralContext.mockReturnValue({\n state: {\n currentEmployee: { id: 'employee1' },\n formResponses: [],\n person: { id: 'person1' },\n referrals: someReferrals,\n formSubmissionId: null,\n assistanceRequestId: null,\n screeningId: null,\n },\n });\n\n useCreateRecord.mockReturnValue({\n createRecord: jest.fn().mockResolvedValue({ data: { data: {} } }),\n });\n\n useUpdateRecord.mockReturnValue({\n updateRecord: jest.fn().mockResolvedValue({ data: { data: {} } }),\n });\n\n const mockCreateCase = jest.fn().mockResolvedValue({\n data: {\n data: { id: 'case1', description: 'Test Case' },\n },\n });\n\n const mockCreateReferral = jest.fn().mockResolvedValue({\n data: {\n data: { id: 'referral1', state: 'sent' },\n },\n });\n\n useCreateRecord.mockImplementation((type) => {\n if (type === 'case') {\n return { createRecord: mockCreateCase };\n } else if (type === 'referral') {\n return { createRecord: mockCreateReferral };\n }\n return { createRecord: jest.fn() };\n });\n\n const { result } = renderHook(() => useCreateReferrals());\n\n await act(async () => {\n const createReferrals = result.current;\n const response = await createReferrals({ referrals: someReferrals, person: { id: 'person1' }, draft: false });\n expect(response).toEqual(\n {\n cases: [\n { id: 'case1', description: 'Test Case' }\n ],\n referrals: [\n { id: 'referral1', state: 'sent' }\n ],\n shippingDetail: [\n { index: 0, sent: true, error: null },\n {\n index: 1,\n sent: false,\n error: 'Unexpected error: The following fields for the case are required: description'\n }\n ],\n referralsToConsent: [{\n receivingProviderNames: ['Unknown Program'],\n programNames:['Unknown Program'],\n referrals: ['referral1'],\n serviceName: 'Unknown Service',\n }],\n });\n });\n });\n\n it('should FAIL all referrals', async () => {\n const referralsFailed = [\n {\n attachments: null,\n case: undefined,\n id: undefined,\n state: undefined,\n paymentAuthForm: { amount_requested: null, service_start: null, service_end: null },\n description: null,\n programs: [{ id: 'program1', provider: { id: 'provider1', licensed: true } }],\n sendingProvider: { id: 'provider2' },\n network: { id: 'network1' },\n service: { id: 'service1' },\n primaryWorker: { id: \"primary-worker-id\" },\n },\n {\n attachments: null,\n case: undefined,\n id: undefined,\n state: undefined,\n paymentAuthForm: { amount_requested: null, service_start: null, service_end: null },\n description: null,\n programs: [{ id: 'program2', provider: { id: 'provider1', licensed: true } }],\n sendingProvider: { id: 'provider2' },\n network: { id: 'network1' },\n service: { id: 'service2' },\n primaryWorker: { id: \"primary-worker-id\" },\n },\n ];\n\n useAppCreateReferralContext.mockReturnValue({\n state: {\n currentEmployee: { id: 'employee1' },\n formResponses: [],\n person: { id: 'person1' },\n referrals: referralsFailed,\n formSubmissionId: null,\n assistanceRequestId: null,\n screeningId: null,\n },\n });\n\n useCreateRecord.mockReturnValue({\n createRecord: jest.fn().mockResolvedValue({ data: { data: {} } }),\n });\n\n useUpdateRecord.mockReturnValue({\n updateRecord: jest.fn().mockResolvedValue({ data: { data: {} } }),\n });\n\n const mockCreateCase = jest.fn().mockResolvedValue({\n data: {\n data: { id: 'case1', description: 'Test Case' },\n },\n });\n\n const mockCreateReferral = jest.fn().mockResolvedValue({\n data: {\n data: { id: 'referral1', state: 'sent' },\n },\n });\n\n useCreateRecord.mockImplementation((type) => {\n if (type === 'case') {\n return { createRecord: mockCreateCase };\n } else if (type === 'referral') {\n return { createRecord: mockCreateReferral };\n }\n return { createRecord: jest.fn() };\n });\n\n const { result } = renderHook(() => useCreateReferrals());\n\n await act(async () => {\n const createReferrals = result.current;\n const response = await createReferrals({ referrals: referralsFailed, person: { id: 'person1' }, draft: false });\n expect(response).toEqual(\n {\n cases: [],\n referrals: [],\n shippingDetail: [\n {\n index: 0,\n sent: false,\n error: 'Unexpected error: The following fields for the case are required: description'\n },\n {\n index: 1,\n sent: false,\n error: 'Unexpected error: The following fields for the case are required: description'\n }\n ],\n referralsToConsent: [],\n });\n });\n });\n});\n"],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"file":"useCreateReferrals.test.js","names":["renderHook","act","useCreateReferrals","useAppCreateReferralContext","useCreateRecord","useUpdateRecord","jest","mock","fn","coreApi","populateRelationship","setRelationship","query","uploadFile","CALLBACKS","referrals","attachments","case","undefined","id","state","paymentAuthForm","amount_requested","service_start","service_end","description","programs","provider","licensed","sendingProvider","network","features","nh_consent","service","primaryWorker","describe","createBaseReferral","overrides","arguments","length","_objectSpread","setupMocks","mockReturnValue","currentEmployee","formResponses","person","formSubmissionId","assistanceRequestId","screeningId","createRecord","mockResolvedValue","data","updateRecord","it","result","createReferrals","current","response","draft","expect","toHaveProperty","mockCreateCase","mockCreateReferral","mockImplementation","type","toEqual","cases","shippingDetail","index","sent","error","referralsToConsent","programNames","serviceName","setupCreateRecordMocks","someReferrals","referralsFailed"],"sources":["../../../src/hooks/__tests__/useCreateReferrals.test.js"],"sourcesContent":["import { renderHook, act } from '@testing-library/react-hooks';\nimport useCreateReferrals from '../useCreateReferrals';\nimport { useAppCreateReferralContext } from '../../context/AppCreateReferralProvider';\nimport { useCreateRecord, useUpdateRecord } from '../../api/ApiHooks';\n\njest.mock('../../context/AppCreateReferralProvider', () => ({\n useAppCreateReferralContext: jest.fn(),\n}));\n\njest.mock('../../api/ApiHooks', () => ({\n useCreateRecord: jest.fn(),\n useUpdateRecord: jest.fn(),\n}));\n\njest.mock('../../api/config', () => ({\n coreApi: {\n populateRelationship: jest.fn(),\n setRelationship: jest.fn(),\n query: jest.fn(),\n uploadFile: jest.fn(),\n },\n CALLBACKS: {},\n}));\n\nconst referrals = [\n {\n attachments: null,\n case: undefined,\n id: undefined,\n state: undefined,\n paymentAuthForm: { amount_requested: null, service_start: null, service_end: null },\n description: 'Test Referral',\n programs: [{ id: 'program1', provider: { id: 'provider1', licensed: true } }],\n sendingProvider: { id: 'provider2' },\n network: { id: 'network1', features: { nh_consent: true } },\n service: { id: 'service1' },\n primaryWorker: { id: \"primary-worker-id\" },\n },\n];\n\ndescribe('useCreateReferrals', () => {\n const createBaseReferral = (overrides = {}) => ({\n attachments: null,\n case: undefined,\n id: undefined,\n state: undefined,\n paymentAuthForm: { amount_requested: null, service_start: null, service_end: null },\n programs: [{ id: 'program1', provider: { id: 'provider1', licensed: true } }],\n sendingProvider: { id: 'provider2' },\n network: { id: 'network1', features: { nh_consent: true } },\n service: { id: 'service1' },\n primaryWorker: { id: \"primary-worker-id\" },\n ...overrides,\n });\n\n const setupMocks = (referrals) => {\n useAppCreateReferralContext.mockReturnValue({\n state: {\n currentEmployee: { id: 'employee1' },\n formResponses: [],\n person: { id: 'person1' },\n referrals,\n formSubmissionId: null,\n assistanceRequestId: null,\n screeningId: null,\n },\n });\n\n useCreateRecord.mockReturnValue({\n createRecord: jest.fn().mockResolvedValue({ data: { data: {} } }),\n });\n\n useUpdateRecord.mockReturnValue({\n updateRecord: jest.fn().mockResolvedValue({ data: { data: {} } }),\n });\n };\n\n it('should validate response structure no matters the result', async () => {\n useAppCreateReferralContext.mockReturnValue({\n state: {\n currentEmployee: { id: 'employee1' },\n formResponses: [],\n person: { id: 'person1' },\n referrals,\n formSubmissionId: null,\n assistanceRequestId: null,\n screeningId: null,\n },\n });\n\n useCreateRecord.mockReturnValue({\n createRecord: jest.fn().mockResolvedValue({ data: { data: {} } }),\n });\n\n useUpdateRecord.mockReturnValue({\n updateRecord: jest.fn().mockResolvedValue({ data: { data: {} } }),\n });\n\n const { result } = renderHook(() => useCreateReferrals());\n\n await act(async () => {\n const createReferrals = result.current;\n const response = await createReferrals({ referrals, person: { id: 'person1' }, draft: false });\n expect(response).toHaveProperty('cases');\n expect(response).toHaveProperty('referrals');\n expect(response).toHaveProperty('shippingDetail');\n });\n });\n\n\n it('should create all referrals successfully', async () => {\n useAppCreateReferralContext.mockReturnValue({\n state: {\n currentEmployee: { id: 'employee1' },\n formResponses: [],\n person: { id: 'person1' },\n referrals,\n formSubmissionId: null,\n assistanceRequestId: null,\n screeningId: null,\n },\n });\n\n useCreateRecord.mockReturnValue({\n createRecord: jest.fn().mockResolvedValue({ data: { data: {} } }),\n });\n\n useUpdateRecord.mockReturnValue({\n updateRecord: jest.fn().mockResolvedValue({ data: { data: {} } }),\n });\n\n const mockCreateCase = jest.fn().mockResolvedValue({\n data: {\n data: { id: 'case1', description: 'Test Case' },\n },\n });\n\n const mockCreateReferral = jest.fn().mockResolvedValue({\n data: {\n data: { id: 'referral1', state: 'sent' },\n },\n });\n\n useCreateRecord.mockImplementation((type) => {\n if (type === 'case') {\n return { createRecord: mockCreateCase };\n } else if (type === 'referral') {\n return { createRecord: mockCreateReferral };\n }\n return { createRecord: jest.fn() };\n });\n\n const { result } = renderHook(() => useCreateReferrals());\n\n await act(async () => {\n const createReferrals = result.current;\n const response = await createReferrals({ referrals, person: { id: 'person1' }, draft: false });\n expect(response).toEqual({\n cases: [{ id: 'case1', description: 'Test Case' }],\n referrals: [{ id: 'referral1', state: 'sent' }],\n shippingDetail: [{ index: 0, sent: true, error: null }],\n referralsToConsent: [{\n programNames: ['Unknown Program'],\n referrals: ['referral1'],\n serviceName: 'Unknown Service',\n }],\n });\n });\n });\n\n const setupCreateRecordMocks = () => {\n const mockCreateCase = jest.fn().mockResolvedValue({\n data: {\n data: { id: 'case1', description: 'Test Case' },\n },\n });\n\n const mockCreateReferral = jest.fn().mockResolvedValue({\n data: {\n data: { id: 'referral1', state: 'sent' },\n },\n });\n\n useCreateRecord.mockImplementation((type) => {\n if (type === 'case') {\n return { createRecord: mockCreateCase };\n } else if (type === 'referral') {\n return { createRecord: mockCreateReferral };\n }\n return { createRecord: jest.fn() };\n });\n };\n\n it('should create SOME referrals', async () => {\n const someReferrals = [\n createBaseReferral({ description: 'Test Referral' }),\n createBaseReferral({\n description: null,\n programs: [{ id: 'program2', provider: { id: 'provider1', licensed: true } }],\n service: { id: 'service2' }\n }),\n ];\n\n setupMocks(someReferrals);\n setupCreateRecordMocks();\n\n const { result } = renderHook(() => useCreateReferrals());\n\n await act(async () => {\n const createReferrals = result.current;\n const response = await createReferrals({ referrals: someReferrals, person: { id: 'person1' }, draft: false });\n expect(response).toEqual(\n {\n cases: [\n { id: 'case1', description: 'Test Case' }\n ],\n referrals: [\n { id: 'referral1', state: 'sent' }\n ],\n shippingDetail: [\n { index: 0, sent: true, error: null },\n {\n index: 1,\n sent: false,\n error: 'Unexpected error: The following fields for the case are required: description'\n }\n ],\n referralsToConsent: [{\n programNames: ['Unknown Program'],\n referrals: ['referral1'],\n serviceName: 'Unknown Service',\n }],\n });\n });\n });\n\n it('should FAIL all referrals', async () => {\n const referralsFailed = [\n createBaseReferral({ description: null }),\n createBaseReferral({\n description: null,\n programs: [{ id: 'program2', provider: { id: 'provider1', licensed: true } }],\n service: { id: 'service2' }\n }),\n ];\n\n setupMocks(referralsFailed);\n setupCreateRecordMocks();\n\n const { result } = renderHook(() => useCreateReferrals());\n\n await act(async () => {\n const createReferrals = result.current;\n const response = await createReferrals({ referrals: referralsFailed, person: { id: 'person1' }, draft: false });\n expect(response).toEqual(\n {\n cases: [],\n referrals: [],\n shippingDetail: [\n {\n index: 0,\n sent: false,\n error: 'Unexpected error: The following fields for the case are required: description'\n },\n {\n index: 1,\n sent: false,\n error: 'Unexpected error: The following fields for the case are required: description'\n }\n ],\n referralsToConsent: [],\n });\n });\n });\n\n it('should not create referrals to consent when nh_consent is false', async () => {\n const referrals = [\n createBaseReferral({\n description: 'Test Referral',\n network: { id: 'network1', features: { nh_consent: false } }\n }),\n ];\n\n setupMocks(referrals);\n setupCreateRecordMocks();\n\n const { result } = renderHook(() => useCreateReferrals());\n\n await act(async () => {\n const createReferrals = result.current;\n const response = await createReferrals({ referrals, person: { id: 'person1' }, draft: false });\n expect(response).toEqual({\n cases: [{ id: 'case1', description: 'Test Case' }],\n referrals: [{ id: 'referral1', state: 'sent' }],\n shippingDetail: [{ index: 0, sent: true, error: null }],\n referralsToConsent: [],\n });\n });\n });\n});\n"],"mappings":"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","ignoreList":[]}
@@ -149,7 +149,7 @@ export default function useCreateReferrals() {
149
149
  result.referrals.push(...resultDraft.referrals);
150
150
 
151
151
  // From one draft multiple referrals could be created (grouped referrals)
152
- const referralData = referralToConsent({
152
+ const referralData = await referralToConsent({
153
153
  originalReferral: referrals[i],
154
154
  createdReferrals: resultDraft.referrals
155
155
  });
@@ -335,7 +335,7 @@ export default function useCreateReferrals() {
335
335
  }
336
336
  }
337
337
  // From one referral multiple referrals could be created (grouped referrals)
338
- const referralData = referralToConsent({
338
+ const referralData = await referralToConsent({
339
339
  originalReferral: referral,
340
340
  createdReferrals
341
341
  });
@@ -495,7 +495,7 @@ export default function useCreateReferrals() {
495
495
  } else {
496
496
  if (referrals.length === 1 && referrals[0].id && referrals[0].state === "draft") {
497
497
  response = await updateDraftReferral(referrals[0], draft);
498
- const referralData = referralToConsent({
498
+ const referralData = await referralToConsent({
499
499
  originalReferral: referrals[0],
500
500
  createdReferrals: response.referrals
501
501
  });
@@ -1 +1 @@
1
- {"version":3,"file":"useCreateReferrals.js","names":["get","map","isEmpty","moment","fspUtils","isUnlistedProgram","referralIsOON","referralIsGrouped","useCreateRecord","useUpdateRecord","CALLBACKS","coreApi","useAppCreateReferralContext","useFeatureFlag","referralToConsent","formatShortDate2FromTimestamp","validateRequiredValues","type","values","requiredFields","filter","field","useCreateReferrals","state","currentEmployee","formResponses","person","referrals","formSubmissionId","assistanceRequestId","screeningId","crtb1239AdaptDraftReferralFlow","hint542SupersetUnlistedPrograms","pays5590RefactorInsuranceFilters","showClientNeed","createRecord","createReferral","createCase","createServiceAuthorization","createFormSubmission","createNote","updateRecord","updateReferral","updateCase","updateServiceAuthorization","createErrorMessage","error","response","data","errors","title","join","uploadDocuments","referral","caseToUploadDoc","attachableDocuments","filteredDocuments","doc","attached","attachedDocuments","ad","document","id","attachDocumentsToResource","setRelationship","relationshipModel","value","a","uploadPromises","Promise","all","uploadedDocuments","uploadDocumentsToResource","d","uploadFile","file","submitAssessments","_ref","cases","latestResponses","promises","serviceCase","assessment","_assessment$form","form","service_type_ids","includes","service","push","context","contextType","provider","responses","submitter","then","catch","err","notify","createReferrals","_ref2","draft","result","shippingDetail","referralsToConsent","groupedReferrals","some","r","length","i","index","sent","_referrals$i$case","resultDraft","undefined","case","service_authorization","updateDraftReferralCrtb1239","updateDraftReferral","item","find","referralData","originalReferral","createdReferrals","referredToPrograms","isGrouped","isOON","createdCaseOrExistingAR","authorizationCreated","j","programData","_referral$primaryWork","_referral$client_need","caseValues","_objectSpread","description","sendingProvider","network","primaryWorker","primary_worker","originating_form_submission","screening2_id","missingCaseValues","Error","concat","opened_date","client_need","client_need_id","caseResponse","_referral$client_need2","arCase","payload","feeScheduleProgram","programs","fee_schedule_program","authorization_required","_referral$paymentAuth","_referral$paymentAuth2","_responseInsurances$d","serviceStart","paymentAuthForm","service_start","requestedStartDate","unix","toISOString","serviceEnd","service_end","requestedEndDate","add","subtract","amountRequested","amount_requested","icd10Codes","icd10_code","queryInsuranceParams","enrolled_before","expired_after","fee_schedule","sort","responseInsurances","query","insurances","requested_starts_at","requested_ends_at","isCostPaymentType","payment_type","requested_cents","requested_unit_amount","parseInt","requester","insurance","clinical_modifications","createNoteForUnlistedProgramValues","subjectType","subject","employee","visibility","category","text","name","missingNoteValues","noteReferral","referralValues","is_grouped","receiving_program","receiving_provider","receiving_network","sending_provider","sending_network","missingReferralValues","responseReferral","message","_caseResponse$data","_caseResponse$data2","caseRequestResponse","referralsRequestResponse","findRecord","oldCase","oldReferrals","serviceTypeChanged","service_type","descriptionChanged","serviceCasePayload","referralsToDelete","forEach","deleteRecord","formRecipientsIds","provider_id","program_id","createReferralPromises","newReferral","referralsResponse","referralResponse","_referralResponse$dat","updateServiceAuthorizationHandler","_referral$paymentAuth3","_referral$paymentAuth4","_responseInsurances$d2","options","arguments","isAuthRequired","newState"],"sources":["../../src/hooks/useCreateReferrals.js"],"sourcesContent":["import { get, map, isEmpty } from 'lodash';\nimport moment from 'moment';\nimport fspUtils from '@unite-us/client-utils/dist/utils/feeSchedulePrograms';\nimport { isUnlistedProgram, referralIsOON, referralIsGrouped } from '../pages/builder/utils';\nimport { useCreateRecord, useUpdateRecord } from '../api/ApiHooks';\nimport { CALLBACKS, coreApi } from '../api/config';\nimport { useAppCreateReferralContext } from '../context/AppCreateReferralProvider';\nimport { useFeatureFlag } from '../utils/useFeatureFlag';\nimport referralToConsent from '../utils/referralToConsent';\nimport { formatShortDate2FromTimestamp } from '../components/service_authorization/formatShortDate';\n\nconst validateRequiredValues = (type, values) => {\n let requiredFields = [];\n if (type === 'case') {\n requiredFields = ['description', 'service', 'provider', 'network', 'person'];\n } else if (type === 'note') {\n requiredFields = ['subjectType', 'subject', 'visibility', 'text'];\n } else if (type === 'referral') {\n requiredFields = ['case', 'receiving_program', 'receiving_provider', 'receiving_network', 'sending_provider', 'sending_network'];\n }\n\n return requiredFields.filter(field => !values[field]);\n};\n\nexport default function useCreateReferrals() {\n const {\n state: {\n currentEmployee,\n formResponses,\n person,\n referrals,\n formSubmissionId,\n assistanceRequestId,\n screeningId,\n }\n } = useAppCreateReferralContext();\n\n const crtb1239AdaptDraftReferralFlow = useFeatureFlag('crtb1239AdaptDraftReferralFlow', false);\n const hint542SupersetUnlistedPrograms = useFeatureFlag('hint542SupersetUnlistedPrograms', false);\n const pays5590RefactorInsuranceFilters = useFeatureFlag('pays5590RefactorInsuranceFilters', false);\n const showClientNeed = useFeatureFlag('crtb1788ClientNeeds', false);\n\n const { createRecord: createReferral } = useCreateRecord('referral');\n const { createRecord: createCase } = useCreateRecord('case');\n const { createRecord: createServiceAuthorization } = useCreateRecord('service_authorization');\n const { createRecord: createFormSubmission } = useCreateRecord('form_submission');\n const { createRecord: createNote } = useCreateRecord('note');\n const { updateRecord: updateReferral } = useUpdateRecord('referral');\n const { updateRecord: updateCase } = useUpdateRecord('case');\n const { updateRecord: updateServiceAuthorization } = useUpdateRecord('service_authorization');\n\n const createErrorMessage = (error) => {\n return error.response.data.errors.map((error) => error.title).join(', ');\n }\n\n const uploadDocuments = ((referral, caseToUploadDoc) => {\n const attachableDocuments = get(referral, 'attachableDocuments', []);\n const filteredDocuments = attachableDocuments.filter((doc) => doc.attached === true);\n const attachedDocuments = filteredDocuments.map((ad) => ({\n title: ad.document.title,\n id: ad.document.id,\n }));\n\n if(!isEmpty(attachedDocuments)) {\n const attachDocumentsToResource = () => (\n coreApi.setRelationship(\n 'case',\n caseToUploadDoc.id,\n { relationshipModel: 'file_upload', value: attachedDocuments.map((a) => a.id) },\n )\n );\n\n const uploadPromises = !isEmpty(attachedDocuments) && attachDocumentsToResource();\n\n Promise.all([uploadPromises]);\n }\n\n const uploadedDocuments = get(referral, 'attachments', []);\n\n if (!isEmpty(uploadedDocuments)) {\n const uploadDocumentsToResource = () => (\n uploadedDocuments.map((d) => coreApi.uploadFile('case', caseToUploadDoc.id, d.file))\n );\n\n const uploadPromises = uploadDocumentsToResource();\n Promise.all([\n ...(uploadPromises || []),\n ]);\n }\n });\n\n const submitAssessments = ({ cases, latestResponses }) => {\n let promises = [];\n map(cases, (serviceCase) => {\n map((latestResponses || formResponses), (assessment) => {\n if (!isEmpty(assessment) && assessment.form?.service_type_ids?.includes(serviceCase.service.id)) {\n promises.push(createFormSubmission({\n context: serviceCase.id,\n contextType: 'case',\n form: assessment.form.id,\n provider: serviceCase.provider.id,\n responses: assessment.responses,\n submitter: currentEmployee.id,\n }));\n }\n });\n });\n\n return Promise.all(promises).then((responses) => {\n return responses;\n }).catch(err => {\n CALLBACKS.notify.error(\"Error submitting Assessments\");\n throw err;\n });\n };\n\n const createReferrals = async ({ referrals, person, draft }) => {\n const result = {\n referrals: [],\n cases: [],\n shippingDetail: [],\n referralsToConsent: [],\n };\n\n let groupedReferrals = referrals.some(r => get(r, 'programs', []).length > 1);\n\n for (let i = 0; i < referrals.length; i += 1) {\n result.shippingDetail.push({ index: i, sent: false, error: null });\n try {\n if (crtb1239AdaptDraftReferralFlow && referrals[i].state === \"draft\") {\n let resultDraft = undefined;\n if (isEmpty(referrals[i].case?.service_authorization)) {\n resultDraft = await updateDraftReferralCrtb1239(referrals[i]);\n } else {\n resultDraft = await updateDraftReferral(referrals[i], draft);\n }\n\n let item = result.shippingDetail.find(item => item.index === i);\n if (item) item.sent = true;\n result.cases.push(resultDraft.cases[0]);\n result.referrals.push(...resultDraft.referrals);\n\n // From one draft multiple referrals could be created (grouped referrals)\n const referralData = referralToConsent({\n originalReferral: referrals[i],\n createdReferrals: resultDraft.referrals,\n });\n if (referralData) result.referralsToConsent.push(referralData);\n } else {\n const referral = referrals[i];\n const referredToPrograms = get(referral, 'programs', []);\n const isGrouped = referralIsGrouped(referral);\n const isOON = referralIsOON(referral);\n\n let createdCaseOrExistingAR = null;\n let authorizationCreated = false;\n\n const createdReferrals = [];\n for (let j = 0; j < referredToPrograms.length; j += 1) {\n const programData = referredToPrograms[j];\n\n if ((groupedReferrals && !createdCaseOrExistingAR) || !groupedReferrals) {\n let caseValues = {\n description: referral.description,\n state: referralIsOON(referral) ? 'off_platform' : 'draft',\n person: person.id,\n provider: referral.sendingProvider.id,\n network: referral.network.id,\n service: referral.service.id,\n ...(referral.primaryWorker?.id ? { primary_worker: referral.primaryWorker.id } : null),\n ...(formSubmissionId ? { originating_form_submission: formSubmissionId } : null),\n ...(screeningId ? { screening2_id: screeningId } : null),\n };\n\n const missingCaseValues = validateRequiredValues('case', caseValues);\n if (missingCaseValues.length) {\n throw new Error(`The following fields for the case are required: ${missingCaseValues.join(', ')}`);\n }\n\n if (isOON) {\n caseValues = { ...caseValues, opened_date: formatShortDate2FromTimestamp(referral.opened_date) };\n }\n\n if (showClientNeed && referral.client_need?.id) {\n caseValues.client_need_id = referral.client_need.id;\n }\n\n try {\n let caseResponse;\n if (assistanceRequestId && i === 0) {\n const arCase = get(assistanceRequestId, 'case', null);\n let payload = {\n description: referral.description,\n network: referral.network.id,\n };\n\n if (referral.service.id && (get(arCase, 'service.id') !== referral.service.id)) {\n payload = { ...payload, service: referral.service.id };\n }\n\n if (isOON) {\n payload = {\n ...payload,\n primary_worker: referral.primaryWorker.id,\n state: 'off_platform',\n opened_date: formatShortDate2FromTimestamp(referral.opened_date),\n };\n }\n\n if (showClientNeed && referral.client_need?.id) {\n payload.client_need_id = referral.client_need.id;\n }\n\n caseResponse = await updateCase(arCase.id, payload);\n } else {\n caseResponse = await createCase(caseValues);\n }\n createdCaseOrExistingAR = get(caseResponse, 'data.data', {});\n\n const feeScheduleProgram = referral.programs[0].fee_schedule_program;\n\n if (feeScheduleProgram?.authorization_required) {\n const serviceStart = referral?.paymentAuthForm?.service_start;\n let requestedStartDate = serviceStart && moment.unix(serviceStart).toISOString();\n const serviceEnd = referral?.paymentAuthForm?.service_end;\n let requestedEndDate = serviceEnd && moment.unix(serviceEnd).toISOString();\n\n if (pays5590RefactorInsuranceFilters) {\n requestedStartDate = serviceStart && moment(requestedStartDate).add(1, 'day').toISOString();\n requestedEndDate = serviceEnd && moment(requestedEndDate).subtract(1, 'day').toISOString();\n }\n\n const amountRequested = referral.paymentAuthForm.amount_requested;\n const icd10Codes = referral.paymentAuthForm.icd10_code.id ?\n [referral.paymentAuthForm.icd10_code.id] : [];\n\n const queryInsuranceParams = {\n person: person.id,\n state: 'active',\n enrolled_before: requestedStartDate,\n expired_after: requestedEndDate,\n 'plan.fee_schedules': feeScheduleProgram.fee_schedule.id,\n sort: '-enrolled_at',\n }\n\n const responseInsurances = await coreApi.query('insurance', queryInsuranceParams);\n const insurances = responseInsurances?.data?.data;\n\n await createServiceAuthorization({\n state: draft ? 'draft' : 'requested',\n requested_starts_at: requestedStartDate,\n requested_ends_at: requestedEndDate,\n ...(\n fspUtils.isCostPaymentType(feeScheduleProgram.payment_type) ?\n { requested_cents: amountRequested } : { requested_unit_amount: parseInt(amountRequested) }\n ),\n case: createdCaseOrExistingAR.id,\n fee_schedule_program: feeScheduleProgram.id,\n requester: currentEmployee.id,\n insurance: insurances[0].id,\n person: person.id,\n clinical_modifications: icd10Codes,\n });\n authorizationCreated = true;\n }\n\n result.cases.push(createdCaseOrExistingAR);\n } catch (err) {\n result.shippingDetail[i].error = `Error creating the Case: ${createErrorMessage(err)}`;\n continue;\n }\n }\n\n uploadDocuments(referral, createdCaseOrExistingAR);\n\n let state;\n if (draft) {\n state = 'draft';\n } else if (referralIsOON(referral)) {\n state = 'off_platform';\n } else if (authorizationCreated) {\n state = 'pending_authorization';\n } else {\n state = 'sent';\n }\n\n if (hint542SupersetUnlistedPrograms && isUnlistedProgram(programData)) {\n const createNoteForUnlistedProgramValues = {\n subjectType: 'case',\n subject: createdCaseOrExistingAR.id,\n employee: currentEmployee.id,\n visibility: 'public',\n category: 'external_provider',\n text: `Referred off platform to ${programData.name}`,\n };\n\n const missingNoteValues = validateRequiredValues('note', createNoteForUnlistedProgramValues);\n if (missingNoteValues.length) {\n result.shippingDetail[i].error = `The following fields for the unlisted program are required: ${missingNoteValues.join(', ')}`;\n continue;\n }\n\n try {\n createNote(createNoteForUnlistedProgramValues);\n const noteReferral = {index: i, sent: true};\n result.referrals.push(noteReferral);\n let item = result.shippingDetail.find(item => item.index === i);\n if (item) item.sent = true;\n } catch (err) {\n result.shippingDetail[i].error = \"Error creating the note on the case for the unlisted program\";\n continue;\n }\n } else {\n const referralValues = {\n state,\n case: createdCaseOrExistingAR.id,\n is_grouped: isGrouped,\n receiving_program: programData.id,\n receiving_provider: programData.provider.id,\n receiving_network: referral.network.id,\n sending_provider: referral.sendingProvider.id,\n sending_network: referral.network.id,\n };\n\n const missingReferralValues = validateRequiredValues('referral', referralValues);\n if (missingReferralValues.length) {\n result.shippingDetail[i].error = `The following fields for the referral are required: ${missingReferralValues.join(', ')}`;\n continue;\n }\n\n try {\n const responseReferral = await createReferral(referralValues);\n result.referrals.push(responseReferral.data.data);\n let item = result.shippingDetail.find(item => item.index === i);\n if (item) item.sent = true;\n createdReferrals.push(responseReferral.data.data);\n } catch (err) {\n result.shippingDetail[i].error = `Error creating the Referral: ${createErrorMessage(err)}`;\n continue;\n }\n }\n }\n // From one referral multiple referrals could be created (grouped referrals)\n const referralData = referralToConsent({\n originalReferral: referral,\n createdReferrals,\n });\n if (referralData) result.referralsToConsent.push(referralData);\n }\n } catch (err) {\n result.shippingDetail[i].error = `Unexpected error: ${err.message}`;\n }\n }\n return result;\n };\n\n const updateDraftReferralCrtb1239 = async (referral) => {\n try {\n const [caseRequestResponse, referralsRequestResponse] = await Promise.all([\n coreApi.findRecord('case', referral.case.id),\n coreApi.query('referral', { case: referral.case.id }),\n ]);\n\n const oldCase = get(caseRequestResponse, 'data.data', null);\n const oldReferrals = get(referralsRequestResponse, 'data.data', null);\n\n const serviceTypeChanged = referral.service.id !== oldCase.service_type.id;\n const descriptionChanged = referral.description && referral.description !== oldCase.description;\n\n const serviceCasePayload = {\n ...(serviceTypeChanged && { service: { id: referral.service.id } }),\n ...(descriptionChanged && { description: referral.description }),\n };\n\n const caseResponse = isEmpty(serviceCasePayload) ? oldCase : await updateCase(referral.case.id, serviceCasePayload);\n\n uploadDocuments(referral, oldCase);\n\n const referralsToDelete = [];\n oldReferrals.forEach((r) => {\n referralsToDelete.push(coreApi.deleteRecord('referral', r.id));\n });\n\n if (referralsToDelete.length) {\n await Promise.all(referralsToDelete);\n }\n\n const formRecipientsIds = map(referral.programs, (r) => ({\n provider_id: r.provider.id,\n network: referral.network,\n program_id: r.id,\n }));\n\n const createReferralPromises = [];\n formRecipientsIds.forEach((r) => {\n const newReferral = createReferral({\n state: 'sent',\n case: oldCase.id,\n receiving_program: r.program_id,\n receiving_provider: r.provider_id,\n receiving_network: r.network.id,\n sending_provider: oldCase.provider.id,\n sending_network: oldCase.network.id,\n });\n\n createReferralPromises.push(newReferral);\n });\n\n const referralsResponse = await Promise.all(createReferralPromises);\n\n return {\n cases: [(caseResponse?.data?.data) ? caseResponse?.data?.data : oldCase],\n referrals: referralsResponse.map((referralResponse) => referralResponse?.data?.data),\n };\n } catch (err) {\n CALLBACKS.notify.error(\"Error updating the Draft Referral\");\n throw err;\n }\n }\n\n const updateServiceAuthorizationHandler = async (referral, options = { draft: false }) => {\n const feeScheduleProgram = referral.programs[0].fee_schedule_program;\n\n const serviceStart = referral?.paymentAuthForm?.service_start;\n let requestedStartDate = serviceStart && moment.unix(serviceStart).toISOString();\n const serviceEnd = referral?.paymentAuthForm?.service_end;\n let requestedEndDate = serviceEnd && moment.unix(serviceEnd).toISOString();\n\n if (pays5590RefactorInsuranceFilters) {\n requestedStartDate = serviceStart && moment(requestedStartDate).add(1, 'day').toISOString();\n requestedEndDate = serviceEnd && moment(requestedEndDate).subtract(1, 'day').toISOString();\n }\n\n const amountRequested = referral.paymentAuthForm.amount_requested;\n\n const queryInsuranceParams = {\n person: person.id,\n state: 'active',\n enrolled_before: requestedStartDate,\n expired_after: requestedEndDate,\n 'plan.fee_schedules': feeScheduleProgram.fee_schedule.id,\n sort: '-enrolled_at',\n }\n\n const responseInsurances = await coreApi.query('insurance', queryInsuranceParams);\n const insurances = responseInsurances?.data?.data;\n\n await updateServiceAuthorization(referral.case.service_authorization.id, {\n ...(options.draft ? {} : { state: 'requested' }),\n requested_starts_at: requestedStartDate,\n requested_ends_at: requestedEndDate,\n ...(\n fspUtils.isCostPaymentType(feeScheduleProgram.payment_type) ?\n { requested_cents: amountRequested } : { requested_unit_amount: parseInt(amountRequested) }\n ),\n requester: currentEmployee.id,\n insurance: insurances[0].id,\n person: person.id,\n });\n }\n\n const updateDraftReferral = async (referral, draft) => {\n try {\n const promises = [\n updateCase(referral.case.id, {\n description: referral.description,\n })\n ];\n\n const isAuthRequired = get(referral, 'programs[0].fee_schedule_program.authorization_required', false);\n\n if(!draft) {\n let newState;\n if (referralIsOON(referral)) {\n newState = 'off_platform';\n } else if (isAuthRequired) {\n newState = 'pending_authorization';\n } else {\n newState = 'sent';\n }\n promises.push(updateReferral(referral.id, {\n state: newState,\n }));\n }\n\n if(isAuthRequired) {\n promises.push(updateServiceAuthorizationHandler(referral, { draft }));\n }\n\n const responses = await Promise.all(\n promises\n );\n\n return {\n referrals: draft ? [] : [responses[1].data.data],\n cases: [responses[0].data.data],\n }\n } catch (err) {\n CALLBACKS.notify.error(\"Error updating the Draft Referral\");\n throw err;\n }\n }\n\n return async ({ draft = false, latestResponses } = {}) => {\n let response = {\n referralsToConsent: [],\n };\n\n if (crtb1239AdaptDraftReferralFlow) {\n response = await createReferrals({ referrals, person, draft });\n } else {\n if (referrals.length === 1 && referrals[0].id && referrals[0].state === \"draft\") {\n response = await updateDraftReferral(referrals[0], draft);\n const referralData = referralToConsent({\n originalReferral: referrals[0],\n createdReferrals: response.referrals,\n });\n if (referralData) response.referralsToConsent.push(referralData);\n } else {\n // Create or Save the Referral as a Draft\n response = await createReferrals({ referrals, person, draft });\n }\n }\n\n if (formResponses || latestResponses) {\n await submitAssessments({ cases: response.cases, latestResponses });\n }\n\n return {\n cases: response.cases,\n referrals: response.referrals,\n shippingDetail: response.shippingDetail,\n referralsToConsent: response.referralsToConsent,\n };\n };\n};\n"],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"file":"useCreateReferrals.js","names":["get","map","isEmpty","moment","fspUtils","isUnlistedProgram","referralIsOON","referralIsGrouped","useCreateRecord","useUpdateRecord","CALLBACKS","coreApi","useAppCreateReferralContext","useFeatureFlag","referralToConsent","formatShortDate2FromTimestamp","validateRequiredValues","type","values","requiredFields","filter","field","useCreateReferrals","state","currentEmployee","formResponses","person","referrals","formSubmissionId","assistanceRequestId","screeningId","crtb1239AdaptDraftReferralFlow","hint542SupersetUnlistedPrograms","pays5590RefactorInsuranceFilters","showClientNeed","createRecord","createReferral","createCase","createServiceAuthorization","createFormSubmission","createNote","updateRecord","updateReferral","updateCase","updateServiceAuthorization","createErrorMessage","error","response","data","errors","title","join","uploadDocuments","referral","caseToUploadDoc","attachableDocuments","filteredDocuments","doc","attached","attachedDocuments","ad","document","id","attachDocumentsToResource","setRelationship","relationshipModel","value","a","uploadPromises","Promise","all","uploadedDocuments","uploadDocumentsToResource","d","uploadFile","file","submitAssessments","_ref","cases","latestResponses","promises","serviceCase","assessment","_assessment$form","form","service_type_ids","includes","service","push","context","contextType","provider","responses","submitter","then","catch","err","notify","createReferrals","_ref2","draft","result","shippingDetail","referralsToConsent","groupedReferrals","some","r","length","i","index","sent","_referrals$i$case","resultDraft","undefined","case","service_authorization","updateDraftReferralCrtb1239","updateDraftReferral","item","find","referralData","originalReferral","createdReferrals","referredToPrograms","isGrouped","isOON","createdCaseOrExistingAR","authorizationCreated","j","programData","_referral$primaryWork","_referral$client_need","caseValues","_objectSpread","description","sendingProvider","network","primaryWorker","primary_worker","originating_form_submission","screening2_id","missingCaseValues","Error","concat","opened_date","client_need","client_need_id","caseResponse","_referral$client_need2","arCase","payload","feeScheduleProgram","programs","fee_schedule_program","authorization_required","_referral$paymentAuth","_referral$paymentAuth2","_responseInsurances$d","serviceStart","paymentAuthForm","service_start","requestedStartDate","unix","toISOString","serviceEnd","service_end","requestedEndDate","add","subtract","amountRequested","amount_requested","icd10Codes","icd10_code","queryInsuranceParams","enrolled_before","expired_after","fee_schedule","sort","responseInsurances","query","insurances","requested_starts_at","requested_ends_at","isCostPaymentType","payment_type","requested_cents","requested_unit_amount","parseInt","requester","insurance","clinical_modifications","createNoteForUnlistedProgramValues","subjectType","subject","employee","visibility","category","text","name","missingNoteValues","noteReferral","referralValues","is_grouped","receiving_program","receiving_provider","receiving_network","sending_provider","sending_network","missingReferralValues","responseReferral","message","_caseResponse$data","_caseResponse$data2","caseRequestResponse","referralsRequestResponse","findRecord","oldCase","oldReferrals","serviceTypeChanged","service_type","descriptionChanged","serviceCasePayload","referralsToDelete","forEach","deleteRecord","formRecipientsIds","provider_id","program_id","createReferralPromises","newReferral","referralsResponse","referralResponse","_referralResponse$dat","updateServiceAuthorizationHandler","_referral$paymentAuth3","_referral$paymentAuth4","_responseInsurances$d2","options","arguments","isAuthRequired","newState"],"sources":["../../src/hooks/useCreateReferrals.js"],"sourcesContent":["import { get, map, isEmpty } from 'lodash';\nimport moment from 'moment';\nimport fspUtils from '@unite-us/client-utils/dist/utils/feeSchedulePrograms';\nimport { isUnlistedProgram, referralIsOON, referralIsGrouped } from '../pages/builder/utils';\nimport { useCreateRecord, useUpdateRecord } from '../api/ApiHooks';\nimport { CALLBACKS, coreApi } from '../api/config';\nimport { useAppCreateReferralContext } from '../context/AppCreateReferralProvider';\nimport { useFeatureFlag } from '../utils/useFeatureFlag';\nimport referralToConsent from '../utils/referralToConsent';\nimport { formatShortDate2FromTimestamp } from '../components/service_authorization/formatShortDate';\n\nconst validateRequiredValues = (type, values) => {\n let requiredFields = [];\n if (type === 'case') {\n requiredFields = ['description', 'service', 'provider', 'network', 'person'];\n } else if (type === 'note') {\n requiredFields = ['subjectType', 'subject', 'visibility', 'text'];\n } else if (type === 'referral') {\n requiredFields = ['case', 'receiving_program', 'receiving_provider', 'receiving_network', 'sending_provider', 'sending_network'];\n }\n\n return requiredFields.filter(field => !values[field]);\n};\n\nexport default function useCreateReferrals() {\n const {\n state: {\n currentEmployee,\n formResponses,\n person,\n referrals,\n formSubmissionId,\n assistanceRequestId,\n screeningId,\n }\n } = useAppCreateReferralContext();\n\n const crtb1239AdaptDraftReferralFlow = useFeatureFlag('crtb1239AdaptDraftReferralFlow', false);\n const hint542SupersetUnlistedPrograms = useFeatureFlag('hint542SupersetUnlistedPrograms', false);\n const pays5590RefactorInsuranceFilters = useFeatureFlag('pays5590RefactorInsuranceFilters', false);\n const showClientNeed = useFeatureFlag('crtb1788ClientNeeds', false);\n\n const { createRecord: createReferral } = useCreateRecord('referral');\n const { createRecord: createCase } = useCreateRecord('case');\n const { createRecord: createServiceAuthorization } = useCreateRecord('service_authorization');\n const { createRecord: createFormSubmission } = useCreateRecord('form_submission');\n const { createRecord: createNote } = useCreateRecord('note');\n const { updateRecord: updateReferral } = useUpdateRecord('referral');\n const { updateRecord: updateCase } = useUpdateRecord('case');\n const { updateRecord: updateServiceAuthorization } = useUpdateRecord('service_authorization');\n\n const createErrorMessage = (error) => {\n return error.response.data.errors.map((error) => error.title).join(', ');\n }\n\n const uploadDocuments = ((referral, caseToUploadDoc) => {\n const attachableDocuments = get(referral, 'attachableDocuments', []);\n const filteredDocuments = attachableDocuments.filter((doc) => doc.attached === true);\n const attachedDocuments = filteredDocuments.map((ad) => ({\n title: ad.document.title,\n id: ad.document.id,\n }));\n\n if(!isEmpty(attachedDocuments)) {\n const attachDocumentsToResource = () => (\n coreApi.setRelationship(\n 'case',\n caseToUploadDoc.id,\n { relationshipModel: 'file_upload', value: attachedDocuments.map((a) => a.id) },\n )\n );\n\n const uploadPromises = !isEmpty(attachedDocuments) && attachDocumentsToResource();\n\n Promise.all([uploadPromises]);\n }\n\n const uploadedDocuments = get(referral, 'attachments', []);\n\n if (!isEmpty(uploadedDocuments)) {\n const uploadDocumentsToResource = () => (\n uploadedDocuments.map((d) => coreApi.uploadFile('case', caseToUploadDoc.id, d.file))\n );\n\n const uploadPromises = uploadDocumentsToResource();\n Promise.all([\n ...(uploadPromises || []),\n ]);\n }\n });\n\n const submitAssessments = ({ cases, latestResponses }) => {\n let promises = [];\n map(cases, (serviceCase) => {\n map((latestResponses || formResponses), (assessment) => {\n if (!isEmpty(assessment) && assessment.form?.service_type_ids?.includes(serviceCase.service.id)) {\n promises.push(createFormSubmission({\n context: serviceCase.id,\n contextType: 'case',\n form: assessment.form.id,\n provider: serviceCase.provider.id,\n responses: assessment.responses,\n submitter: currentEmployee.id,\n }));\n }\n });\n });\n\n return Promise.all(promises).then((responses) => {\n return responses;\n }).catch(err => {\n CALLBACKS.notify.error(\"Error submitting Assessments\");\n throw err;\n });\n };\n\n const createReferrals = async ({ referrals, person, draft }) => {\n const result = {\n referrals: [],\n cases: [],\n shippingDetail: [],\n referralsToConsent: [],\n };\n\n let groupedReferrals = referrals.some(r => get(r, 'programs', []).length > 1);\n\n for (let i = 0; i < referrals.length; i += 1) {\n result.shippingDetail.push({ index: i, sent: false, error: null });\n try {\n if (crtb1239AdaptDraftReferralFlow && referrals[i].state === \"draft\") {\n let resultDraft = undefined;\n if (isEmpty(referrals[i].case?.service_authorization)) {\n resultDraft = await updateDraftReferralCrtb1239(referrals[i]);\n } else {\n resultDraft = await updateDraftReferral(referrals[i], draft);\n }\n\n let item = result.shippingDetail.find(item => item.index === i);\n if (item) item.sent = true;\n result.cases.push(resultDraft.cases[0]);\n result.referrals.push(...resultDraft.referrals);\n\n // From one draft multiple referrals could be created (grouped referrals)\n const referralData = await referralToConsent({\n originalReferral: referrals[i],\n createdReferrals: resultDraft.referrals,\n });\n if (referralData) result.referralsToConsent.push(referralData);\n } else {\n const referral = referrals[i];\n const referredToPrograms = get(referral, 'programs', []);\n const isGrouped = referralIsGrouped(referral);\n const isOON = referralIsOON(referral);\n\n let createdCaseOrExistingAR = null;\n let authorizationCreated = false;\n\n const createdReferrals = [];\n for (let j = 0; j < referredToPrograms.length; j += 1) {\n const programData = referredToPrograms[j];\n\n if ((groupedReferrals && !createdCaseOrExistingAR) || !groupedReferrals) {\n let caseValues = {\n description: referral.description,\n state: referralIsOON(referral) ? 'off_platform' : 'draft',\n person: person.id,\n provider: referral.sendingProvider.id,\n network: referral.network.id,\n service: referral.service.id,\n ...(referral.primaryWorker?.id ? { primary_worker: referral.primaryWorker.id } : null),\n ...(formSubmissionId ? { originating_form_submission: formSubmissionId } : null),\n ...(screeningId ? { screening2_id: screeningId } : null),\n };\n\n const missingCaseValues = validateRequiredValues('case', caseValues);\n if (missingCaseValues.length) {\n throw new Error(`The following fields for the case are required: ${missingCaseValues.join(', ')}`);\n }\n\n if (isOON) {\n caseValues = { ...caseValues, opened_date: formatShortDate2FromTimestamp(referral.opened_date) };\n }\n\n if (showClientNeed && referral.client_need?.id) {\n caseValues.client_need_id = referral.client_need.id;\n }\n\n try {\n let caseResponse;\n if (assistanceRequestId && i === 0) {\n const arCase = get(assistanceRequestId, 'case', null);\n let payload = {\n description: referral.description,\n network: referral.network.id,\n };\n\n if (referral.service.id && (get(arCase, 'service.id') !== referral.service.id)) {\n payload = { ...payload, service: referral.service.id };\n }\n\n if (isOON) {\n payload = {\n ...payload,\n primary_worker: referral.primaryWorker.id,\n state: 'off_platform',\n opened_date: formatShortDate2FromTimestamp(referral.opened_date),\n };\n }\n\n if (showClientNeed && referral.client_need?.id) {\n payload.client_need_id = referral.client_need.id;\n }\n\n caseResponse = await updateCase(arCase.id, payload);\n } else {\n caseResponse = await createCase(caseValues);\n }\n createdCaseOrExistingAR = get(caseResponse, 'data.data', {});\n\n const feeScheduleProgram = referral.programs[0].fee_schedule_program;\n\n if (feeScheduleProgram?.authorization_required) {\n const serviceStart = referral?.paymentAuthForm?.service_start;\n let requestedStartDate = serviceStart && moment.unix(serviceStart).toISOString();\n const serviceEnd = referral?.paymentAuthForm?.service_end;\n let requestedEndDate = serviceEnd && moment.unix(serviceEnd).toISOString();\n\n if (pays5590RefactorInsuranceFilters) {\n requestedStartDate = serviceStart && moment(requestedStartDate).add(1, 'day').toISOString();\n requestedEndDate = serviceEnd && moment(requestedEndDate).subtract(1, 'day').toISOString();\n }\n\n const amountRequested = referral.paymentAuthForm.amount_requested;\n const icd10Codes = referral.paymentAuthForm.icd10_code.id ?\n [referral.paymentAuthForm.icd10_code.id] : [];\n\n const queryInsuranceParams = {\n person: person.id,\n state: 'active',\n enrolled_before: requestedStartDate,\n expired_after: requestedEndDate,\n 'plan.fee_schedules': feeScheduleProgram.fee_schedule.id,\n sort: '-enrolled_at',\n }\n\n const responseInsurances = await coreApi.query('insurance', queryInsuranceParams);\n const insurances = responseInsurances?.data?.data;\n\n await createServiceAuthorization({\n state: draft ? 'draft' : 'requested',\n requested_starts_at: requestedStartDate,\n requested_ends_at: requestedEndDate,\n ...(\n fspUtils.isCostPaymentType(feeScheduleProgram.payment_type) ?\n { requested_cents: amountRequested } : { requested_unit_amount: parseInt(amountRequested) }\n ),\n case: createdCaseOrExistingAR.id,\n fee_schedule_program: feeScheduleProgram.id,\n requester: currentEmployee.id,\n insurance: insurances[0].id,\n person: person.id,\n clinical_modifications: icd10Codes,\n });\n authorizationCreated = true;\n }\n\n result.cases.push(createdCaseOrExistingAR);\n } catch (err) {\n result.shippingDetail[i].error = `Error creating the Case: ${createErrorMessage(err)}`;\n continue;\n }\n }\n\n uploadDocuments(referral, createdCaseOrExistingAR);\n\n let state;\n if (draft) {\n state = 'draft';\n } else if (referralIsOON(referral)) {\n state = 'off_platform';\n } else if (authorizationCreated) {\n state = 'pending_authorization';\n } else {\n state = 'sent';\n }\n\n if (hint542SupersetUnlistedPrograms && isUnlistedProgram(programData)) {\n const createNoteForUnlistedProgramValues = {\n subjectType: 'case',\n subject: createdCaseOrExistingAR.id,\n employee: currentEmployee.id,\n visibility: 'public',\n category: 'external_provider',\n text: `Referred off platform to ${programData.name}`,\n };\n\n const missingNoteValues = validateRequiredValues('note', createNoteForUnlistedProgramValues);\n if (missingNoteValues.length) {\n result.shippingDetail[i].error = `The following fields for the unlisted program are required: ${missingNoteValues.join(', ')}`;\n continue;\n }\n\n try {\n createNote(createNoteForUnlistedProgramValues);\n const noteReferral = {index: i, sent: true};\n result.referrals.push(noteReferral);\n let item = result.shippingDetail.find(item => item.index === i);\n if (item) item.sent = true;\n } catch (err) {\n result.shippingDetail[i].error = \"Error creating the note on the case for the unlisted program\";\n continue;\n }\n } else {\n const referralValues = {\n state,\n case: createdCaseOrExistingAR.id,\n is_grouped: isGrouped,\n receiving_program: programData.id,\n receiving_provider: programData.provider.id,\n receiving_network: referral.network.id,\n sending_provider: referral.sendingProvider.id,\n sending_network: referral.network.id,\n };\n\n const missingReferralValues = validateRequiredValues('referral', referralValues);\n if (missingReferralValues.length) {\n result.shippingDetail[i].error = `The following fields for the referral are required: ${missingReferralValues.join(', ')}`;\n continue;\n }\n\n try {\n const responseReferral = await createReferral(referralValues);\n\n result.referrals.push(responseReferral.data.data);\n let item = result.shippingDetail.find(item => item.index === i);\n if (item) item.sent = true;\n createdReferrals.push(responseReferral.data.data);\n } catch (err) {\n result.shippingDetail[i].error = `Error creating the Referral: ${createErrorMessage(err)}`;\n continue;\n }\n }\n }\n // From one referral multiple referrals could be created (grouped referrals)\n const referralData = await referralToConsent({\n originalReferral: referral,\n createdReferrals,\n });\n if (referralData) result.referralsToConsent.push(referralData);\n }\n } catch (err) {\n result.shippingDetail[i].error = `Unexpected error: ${err.message}`;\n }\n }\n return result;\n };\n\n const updateDraftReferralCrtb1239 = async (referral) => {\n try {\n const [caseRequestResponse, referralsRequestResponse] = await Promise.all([\n coreApi.findRecord('case', referral.case.id),\n coreApi.query('referral', { case: referral.case.id }),\n ]);\n\n const oldCase = get(caseRequestResponse, 'data.data', null);\n const oldReferrals = get(referralsRequestResponse, 'data.data', null);\n\n const serviceTypeChanged = referral.service.id !== oldCase.service_type.id;\n const descriptionChanged = referral.description && referral.description !== oldCase.description;\n\n const serviceCasePayload = {\n ...(serviceTypeChanged && { service: { id: referral.service.id } }),\n ...(descriptionChanged && { description: referral.description }),\n };\n\n const caseResponse = isEmpty(serviceCasePayload) ? oldCase : await updateCase(referral.case.id, serviceCasePayload);\n\n uploadDocuments(referral, oldCase);\n\n const referralsToDelete = [];\n oldReferrals.forEach((r) => {\n referralsToDelete.push(coreApi.deleteRecord('referral', r.id));\n });\n\n if (referralsToDelete.length) {\n await Promise.all(referralsToDelete);\n }\n\n const formRecipientsIds = map(referral.programs, (r) => ({\n provider_id: r.provider.id,\n network: referral.network,\n program_id: r.id,\n }));\n\n const createReferralPromises = [];\n formRecipientsIds.forEach((r) => {\n const newReferral = createReferral({\n state: 'sent',\n case: oldCase.id,\n receiving_program: r.program_id,\n receiving_provider: r.provider_id,\n receiving_network: r.network.id,\n sending_provider: oldCase.provider.id,\n sending_network: oldCase.network.id,\n });\n\n createReferralPromises.push(newReferral);\n });\n\n const referralsResponse = await Promise.all(createReferralPromises);\n\n return {\n cases: [(caseResponse?.data?.data) ? caseResponse?.data?.data : oldCase],\n referrals: referralsResponse.map((referralResponse) => referralResponse?.data?.data),\n };\n } catch (err) {\n CALLBACKS.notify.error(\"Error updating the Draft Referral\");\n throw err;\n }\n }\n\n const updateServiceAuthorizationHandler = async (referral, options = { draft: false }) => {\n const feeScheduleProgram = referral.programs[0].fee_schedule_program;\n\n const serviceStart = referral?.paymentAuthForm?.service_start;\n let requestedStartDate = serviceStart && moment.unix(serviceStart).toISOString();\n const serviceEnd = referral?.paymentAuthForm?.service_end;\n let requestedEndDate = serviceEnd && moment.unix(serviceEnd).toISOString();\n\n if (pays5590RefactorInsuranceFilters) {\n requestedStartDate = serviceStart && moment(requestedStartDate).add(1, 'day').toISOString();\n requestedEndDate = serviceEnd && moment(requestedEndDate).subtract(1, 'day').toISOString();\n }\n\n const amountRequested = referral.paymentAuthForm.amount_requested;\n\n const queryInsuranceParams = {\n person: person.id,\n state: 'active',\n enrolled_before: requestedStartDate,\n expired_after: requestedEndDate,\n 'plan.fee_schedules': feeScheduleProgram.fee_schedule.id,\n sort: '-enrolled_at',\n }\n\n const responseInsurances = await coreApi.query('insurance', queryInsuranceParams);\n const insurances = responseInsurances?.data?.data;\n\n await updateServiceAuthorization(referral.case.service_authorization.id, {\n ...(options.draft ? {} : { state: 'requested' }),\n requested_starts_at: requestedStartDate,\n requested_ends_at: requestedEndDate,\n ...(\n fspUtils.isCostPaymentType(feeScheduleProgram.payment_type) ?\n { requested_cents: amountRequested } : { requested_unit_amount: parseInt(amountRequested) }\n ),\n requester: currentEmployee.id,\n insurance: insurances[0].id,\n person: person.id,\n });\n }\n\n const updateDraftReferral = async (referral, draft) => {\n try {\n const promises = [\n updateCase(referral.case.id, {\n description: referral.description,\n })\n ];\n\n const isAuthRequired = get(referral, 'programs[0].fee_schedule_program.authorization_required', false);\n\n if(!draft) {\n let newState;\n if (referralIsOON(referral)) {\n newState = 'off_platform';\n } else if (isAuthRequired) {\n newState = 'pending_authorization';\n } else {\n newState = 'sent';\n }\n promises.push(updateReferral(referral.id, {\n state: newState,\n }));\n }\n\n if(isAuthRequired) {\n promises.push(updateServiceAuthorizationHandler(referral, { draft }));\n }\n\n const responses = await Promise.all(\n promises\n );\n\n return {\n referrals: draft ? [] : [responses[1].data.data],\n cases: [responses[0].data.data],\n }\n } catch (err) {\n CALLBACKS.notify.error(\"Error updating the Draft Referral\");\n throw err;\n }\n }\n\n return async ({ draft = false, latestResponses } = {}) => {\n let response = {\n referralsToConsent: [],\n };\n\n if (crtb1239AdaptDraftReferralFlow) {\n response = await createReferrals({ referrals, person, draft });\n } else {\n if (referrals.length === 1 && referrals[0].id && referrals[0].state === \"draft\") {\n response = await updateDraftReferral(referrals[0], draft);\n const referralData = await referralToConsent({\n originalReferral: referrals[0],\n createdReferrals: response.referrals,\n });\n if (referralData) response.referralsToConsent.push(referralData);\n } else {\n // Create or Save the Referral as a Draft\n response = await createReferrals({ referrals, person, draft });\n }\n }\n\n if (formResponses || latestResponses) {\n await submitAssessments({ cases: response.cases, latestResponses });\n }\n\n return {\n cases: response.cases,\n referrals: response.referrals,\n shippingDetail: response.shippingDetail,\n referralsToConsent: response.referralsToConsent,\n };\n };\n};\n"],"mappings":"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","ignoreList":[]}
@@ -28,7 +28,7 @@ import useForwardReferral from '../../hooks/useForwardReferral';
28
28
  import DropdownMultiplesReferrals from './DropdownMultiplesReferrals';
29
29
  import { jsx as _jsx, jsxs as _jsxs, Fragment as _Fragment } from "react/jsx-runtime";
30
30
  export default function Review() {
31
- var _currentProvider$nh_c;
31
+ var _currentProvider$nh_c, _features$nh_consent2, _features$nh_consent3;
32
32
  const navigate = useNavigate();
33
33
  const {
34
34
  dispatch,
@@ -64,11 +64,20 @@ export default function Review() {
64
64
  const formRefs = useRef({});
65
65
  const [referralsResultDetail, setReferralsResultDetail] = useState([]);
66
66
  const [hasBeenSubmitted, setHasBeenSubmitted] = useState(false);
67
- const [sentReferrals, setSentReferrals] = useState([]);
67
+ const [referralsToConsent, setReferralsToConsent] = useState([]);
68
68
  const nh_consent = (_currentProvider$nh_c = currentProvider === null || currentProvider === void 0 ? void 0 : currentProvider.nh_consent) !== null && _currentProvider$nh_c !== void 0 ? _currentProvider$nh_c : false;
69
69
  const showNHConsent = useMemo(() => {
70
70
  return cl1511NHConsentMvp && nh_consent;
71
71
  }, [cl1511NHConsentMvp, nh_consent]);
72
+ const features = useMemo(() => {
73
+ const nhConsentEnabled = showNHConsent && referralsToConsent.length > 0;
74
+ return {
75
+ nh_consent: {
76
+ enabled: nhConsentEnabled,
77
+ referrals: nhConsentEnabled ? referralsToConsent : []
78
+ }
79
+ };
80
+ }, [showNHConsent, referralsToConsent]);
72
81
  const createShareEvent = useCreateShareEvent();
73
82
  const isForwardReferralPath = !!referralId && !!referralType;
74
83
  const referralSentSuccessfully = sent || isSuccessfullyForwarded;
@@ -251,7 +260,7 @@ export default function Review() {
251
260
  if (newReferrals) response.referralsToConsent.push(newReferrals);
252
261
  }
253
262
  setIsSuccessfullyForwarded(fullyForwaded);
254
- setSentReferrals(response.referralsToConsent);
263
+ setReferralsToConsent(response.referralsToConsent);
255
264
  setReferralsResultDetail(detail);
256
265
  showReferralsNotifications(detail);
257
266
  } else {
@@ -264,7 +273,7 @@ export default function Review() {
264
273
  index: item.index,
265
274
  sent: item.sent
266
275
  }));
267
- setSentReferrals(response.referralsToConsent);
276
+ setReferralsToConsent(response.referralsToConsent);
268
277
  setReferralsResultDetail(detail);
269
278
  showReferralsNotifications(detail);
270
279
  setConsented(((_person$consent = person.consent) === null || _person$consent === void 0 ? void 0 : _person$consent.state) === 'accepted');
@@ -311,7 +320,8 @@ export default function Review() {
311
320
  };
312
321
  }, []);
313
322
  useEffect(() => {
314
- const showingConsent = referralSentSuccessfully && (!consented || showNHConsent && !consentCompleted && sentReferrals.length > 0);
323
+ var _features$nh_consent;
324
+ const showingConsent = referralSentSuccessfully && (!consented || ((_features$nh_consent = features.nh_consent) === null || _features$nh_consent === void 0 ? void 0 : _features$nh_consent.enabled) && !consentCompleted);
315
325
  if (showingConsent) {
316
326
  window.history.pushState(null, null, window.location.href);
317
327
  const handlePopState = event => {
@@ -323,8 +333,8 @@ export default function Review() {
323
333
  window.removeEventListener('popstate', handlePopState);
324
334
  };
325
335
  }
326
- }, [referralSentSuccessfully, consented, showNHConsent, consentCompleted, sentReferrals.length]);
327
- if (referralSentSuccessfully && (!consented || showNHConsent && !consentCompleted && sentReferrals.length > 0)) {
336
+ }, [referralSentSuccessfully, consented, (_features$nh_consent2 = features.nh_consent) === null || _features$nh_consent2 === void 0 ? void 0 : _features$nh_consent2.enabled, consentCompleted]);
337
+ if (referralSentSuccessfully && (!consented || (_features$nh_consent3 = features.nh_consent) !== null && _features$nh_consent3 !== void 0 && _features$nh_consent3.enabled && !consentCompleted)) {
328
338
  var _CALLBACKS$consent;
329
339
  const {
330
340
  Consent
@@ -343,7 +353,7 @@ export default function Review() {
343
353
  updateGlobalState: CALLBACKS === null || CALLBACKS === void 0 || (_CALLBACKS$consent = CALLBACKS.consent) === null || _CALLBACKS$consent === void 0 ? void 0 : _CALLBACKS$consent.updateGlobalState,
344
354
  dialogContentStyles: 'text-validation-red',
345
355
  onNavigateAway: onNavigateAway,
346
- sentReferrals: sentReferrals
356
+ features: features
347
357
  })]
348
358
  })
349
359
  });
@@ -1 +1 @@
1
- {"version":3,"file":"Review.js","names":["Icon","React","useState","useEffect","useRef","useMemo","Skeleton","get","isEmpty","includes","isEqual","some","values","useNavigate","StepHeader","READY_TO_SUMBIT_INFO_TEXT","REVIEW_REFERRAL_DESCRIPTION","CONSENT_DESCRIPTION","CONSENT_COMPLETED","REVIEW_LOADING_SCREEN_DESCRIPTION","ReferralsSent","NoReferralsDisplay","setData","useAppCreateReferralContext","DeleteReferralModal","NavButtons","CreateReferralContainer","ReferralAuthorizationRequestSummary","useCreateReferrals","CALLBACKS","COMPONENTS","APP_ENVIRONMENT","FilePreviewWrapper","useCreateShareEvent","DocumentsListView","hasOffPlatformReferrals","isEmptyErrors","useFeatureFlag","referralToConsent","formatShortDate2FromTimestamp","useForwardReferral","DropdownMultiplesReferrals","jsx","_jsx","jsxs","_jsxs","Fragment","_Fragment","Review","_currentProvider$nh_c","navigate","dispatch","state","fieldsConfig","referrals","person","resourceListId","currentEmployee","currentProvider","caseId","referralId","referralType","serviceTypeName","crtb854ForwardingSuperset","featureFlagClientNeeds","cl1511NHConsentMvp","sent","updateSent","isSuccessfullyForwarded","setIsSuccessfullyForwarded","fieldErrors","setFieldErrors","expandedReferrals","setExpandedReferrals","deleteReferralModalIsOpen","setDeleteReferralModalIsOpen","selectedReferralToDelete","setSelectedReferralToDelete","selectedReferralToLink","setSelectedReferralToLink","consented","setConsented","consentCompleted","setConsentCompleted","disableSubmit","setDisableSubmit","loading","setLoading","formRefs","referralsResultDetail","setReferralsResultDetail","hasBeenSubmitted","setHasBeenSubmitted","sentReferrals","setSentReferrals","nh_consent","showNHConsent","createShareEvent","isForwardReferralPath","referralSentSuccessfully","errors","Object","keys","reduce","acc","index","fieldError","referralSelected","hasMultipleReferrals","length","setReferralErrors","referralIndex","newErrors","prevFieldErrors","currentErrors","updatedErrors","_objectSpread","onChevronClick","expanded","map","ref","onDeleteReferralClick","onCloseDeleteReferralModal","r","i","attachedDocuments","attachableDocuments","filter","doc","attached","deleteModal","current","openDialog","closeDialog","sessionStorage","setItem","window","performance","navEntries","getEntriesByType","isRefresh","type","referralsWereSubmitted","getItem","removeItem","onReferralReload","error","console","deleteSelectedReferral","updatedReferrals","createReferrals","forwardReferral","handleSaveDraftReferral","draft","onSaveDraftReferral","err","setFocus","setTimeout","_errors$index","_formRefs$current","mutators","setFieldTouched","referralSelectedField","document","getElementById","focus","focusErrors","firstIndexWithErrors","find","idx","Boolean","parseInt","showReferralsNotifications","referralResponses","amountOfReferralsSent","_ref","totalReferrals","notify","success","warn","handleSubmit","_referrals$selectedRe","_forwardReferrals$err","referralToForward","forwardReferrals","fullyForwaded","detail","response","referralsToConsent","errorMessage","every","status","referralForwardedDeleted","splice","shippingDetail","item","newReferrals","originalReferral","createdReferrals","referral","_referral$data","data","push","_person$consent","consent","onConsentComplete","event","_event$data","consentAppUrl","consentUrl","eventOrigin","originIsConsentApp","onNavigateAway","onSubmitConsent","addEventListener","removeEventListener","showingConsent","history","pushState","location","href","handlePopState","preventDefault","onReferralCompleted","_CALLBACKS$consent","Consent","isStepReferralSent","children","className","header","contact","initializedValue","updateGlobalState","dialogContentStyles","height","width","style","marginTop","icon","onBackClick","onForwardClick","primaryLabel","hideForwardButtons","hideSaveDraftLink","disabled","onClick","onNavigateBack","programs","isAuthRequired","concat","color","selectedReferral","ariaLabel","refModal","el","onCloseModal","onDeleteSelectedReferral","program","authorizationRequest","feeScheduleProgram","documents","uploadedFiles"],"sources":["../../../src/pages/review/Review.js"],"sourcesContent":["import { Icon } from '@unite-us/ui';\nimport React, { useState, useEffect, useRef, useMemo } from 'react';\nimport Skeleton from 'react-loading-skeleton';\nimport { get, isEmpty, includes, isEqual, some, values } from 'lodash';\nimport { useNavigate } from 'react-router-dom';\nimport StepHeader from '../../components/StepHeader';\nimport {\n READY_TO_SUMBIT_INFO_TEXT,\n REVIEW_REFERRAL_DESCRIPTION,\n CONSENT_DESCRIPTION,\n CONSENT_COMPLETED,\n REVIEW_LOADING_SCREEN_DESCRIPTION,\n} from './constants';\nimport ReferralsSent from './ReferralsSent';\nimport NoReferralsDisplay from '../builder/NoReferralsDisplay';\nimport { setData, useAppCreateReferralContext } from '../../context/AppCreateReferralProvider';\nimport DeleteReferralModal from './DeleteReferralModal';\nimport NavButtons from '../../components/NavButtons';\nimport CreateReferralContainer from '../../components/CreateReferralContainer';\nimport ReferralAuthorizationRequestSummary from '../../components/service_authorization/ReferralAuthorizationRequestSummary';\nimport useCreateReferrals from '../../hooks/useCreateReferrals';\nimport { CALLBACKS, COMPONENTS, APP_ENVIRONMENT } from '../../api/config';\nimport FilePreviewWrapper from '../../common/form/FileUploadV2/components/FilePreviewWrapper';\nimport useCreateShareEvent from '../../hooks/useCreateShareEvent';\nimport DocumentsListView from '../../common/form/DocumentUploader/components/DocumentsListView'\nimport { hasOffPlatformReferrals, isEmptyErrors } from '../builder/utils';\nimport { useFeatureFlag } from '../../utils/useFeatureFlag';\nimport referralToConsent from '../../utils/referralToConsent';\nimport { formatShortDate2FromTimestamp } from '../../components/service_authorization/formatShortDate';\nimport useForwardReferral from '../../hooks/useForwardReferral';\nimport DropdownMultiplesReferrals from './DropdownMultiplesReferrals';\n\nexport default function Review() {\n const navigate = useNavigate();\n\n const {\n dispatch,\n state: {\n fieldsConfig,\n referrals,\n person,\n resourceListId,\n currentEmployee,\n currentProvider,\n caseId,\n referralId,\n referralType,\n serviceTypeName,\n }\n } = useAppCreateReferralContext();\n\n const crtb854ForwardingSuperset = useFeatureFlag('crtb854ForwardingSuperset', false);\n const featureFlagClientNeeds = useFeatureFlag('crtb1788ClientNeeds', false);\n const cl1511NHConsentMvp = useFeatureFlag('cl1511NHConsentMvp', false);\n const [sent, updateSent] = useState(false);\n const [isSuccessfullyForwarded, setIsSuccessfullyForwarded] = useState(false);\n const [fieldErrors, setFieldErrors] = useState({})\n const [expandedReferrals, setExpandedReferrals] = useState([]);\n const [deleteReferralModalIsOpen, setDeleteReferralModalIsOpen] = useState(false);\n const [selectedReferralToDelete, setSelectedReferralToDelete] = useState(-1);\n const [selectedReferralToLink, setSelectedReferralToLink] = useState(0);\n // initialize with consent=true to permit ability to send referrals,\n // then redefine on submit to person's actual consent value to (possibly) show consent form.\n const [consented, setConsented] = useState(true);\n const [consentCompleted, setConsentCompleted] = useState(false);\n const [disableSubmit, setDisableSubmit] = useState(false);\n const [loading, setLoading] = useState(false);\n const formRefs = useRef({});\n const [referralsResultDetail, setReferralsResultDetail] = useState([]);\n const [hasBeenSubmitted, setHasBeenSubmitted] = useState(false);\n const [sentReferrals, setSentReferrals] = useState([]);\n const nh_consent = currentProvider?.nh_consent ?? false;\n const showNHConsent = useMemo(() => {\n return cl1511NHConsentMvp && nh_consent\n }, [cl1511NHConsentMvp, nh_consent]);\n\n const createShareEvent = useCreateShareEvent();\n const isForwardReferralPath = !!referralId && !!referralType;\n const referralSentSuccessfully = sent || isSuccessfullyForwarded;\n\n const errors = Object.keys(fieldErrors).reduce((acc, index) => {\n const fieldError = fieldErrors[index];\n acc[index] = {\n referralSelected: fieldError?.referralSelected,\n }\n return acc;\n }, {});\n\n const hasMultipleReferrals = () => referrals.length > 1;\n\n const setReferralErrors = (referralIndex, newErrors) => {\n setFieldErrors((prevFieldErrors) => {\n const currentErrors = prevFieldErrors[referralIndex];\n const updatedErrors = { ...currentErrors, ...newErrors };\n\n if (isEqual(updatedErrors, currentErrors)) {\n return prevFieldErrors;\n }\n\n return {\n ...prevFieldErrors,\n [referralIndex]: updatedErrors,\n };\n });\n };\n\n const onChevronClick = (index) => {\n const expanded = expandedReferrals?.map((ref) => {\n if (ref.index === index) {\n ref.expanded = !ref.expanded\n }\n return ref;\n })\n setExpandedReferrals(expanded);\n }\n\n const onDeleteReferralClick = (index) => {\n setSelectedReferralToDelete(index);\n setDeleteReferralModalIsOpen(true);\n }\n\n const onCloseDeleteReferralModal = () => {\n setDeleteReferralModalIsOpen(false);\n }\n\n useEffect(() => {\n const expanded = referrals?.map((r, i) => ({\n ...r,\n attachedDocuments: r.attachableDocuments ? r.attachableDocuments.filter((doc) => doc.attached) : [],\n expanded: true,\n index: i,\n }));\n setExpandedReferrals(expanded)\n }, [referrals]);\n\n const deleteModal = useRef([]);\n\n useEffect(() => {\n if (!isEmpty(referrals)) {\n if (deleteReferralModalIsOpen) {\n deleteModal.current[selectedReferralToDelete].openDialog();\n } else if (selectedReferralToDelete >= 0) {\n deleteModal.current[selectedReferralToDelete].closeDialog();\n setSelectedReferralToDelete(-1);\n }\n }\n }, [deleteReferralModalIsOpen, selectedReferralToDelete, referrals]);\n\nuseEffect(() => {\n if (referralsResultDetail?.length > 0) {\n sessionStorage.setItem('referralsSubmitted', 'true');\n }\n\n if (window.performance) {\n try {\n const navEntries = (performance.getEntriesByType && performance.getEntriesByType('navigation')) || [];\n const isRefresh = navEntries.length > 0 && navEntries[0].type === 'reload';\n const referralsWereSubmitted = sessionStorage.getItem('referralsSubmitted') === 'true';\n\n if (isRefresh && referralsWereSubmitted) {\n sessionStorage.removeItem('referralsSubmitted');\n CALLBACKS.onReferralReload();\n }\n } catch (error) {\n console.error(error);\n }\n }\n}, [referralsResultDetail]);\n\n const deleteSelectedReferral = () => {\n const updatedReferrals = referrals.filter((r, i) => i !== selectedReferralToDelete);\n dispatch(setData({\n referrals: [...updatedReferrals]\n }));\n onCloseDeleteReferralModal();\n }\n\n const createReferrals = useCreateReferrals();\n const forwardReferral = useForwardReferral();\n\n const handleSaveDraftReferral = async () => {\n try {\n await createReferrals({ draft: true });\n const { onSaveDraftReferral } = CALLBACKS;\n onSaveDraftReferral && onSaveDraftReferral();\n } catch (err) {\n console.error(err)\n }\n };\n\n const setFocus = (index) => {\n setTimeout(() => {\n if (errors[index]?.referralSelected) {\n formRefs.current?.mutators?.setFieldTouched('referralSelected', true);\n const referralSelectedField = document.getElementById(\"referralSelected\");\n return referralSelectedField.focus();\n }\n }, 100);\n }\n\n const focusErrors = () => {\n let index = 0;\n const firstIndexWithErrors = Object.keys(errors).find(idx =>\n some(values(errors[idx]), Boolean)\n );\n\n if (!some(values(errors[index]), Boolean) && firstIndexWithErrors) {\n index = parseInt(firstIndexWithErrors);\n }\n setFocus(index);\n };\n\n const showReferralsNotifications = (referralResponses) => {\n const amountOfReferralsSent = referralResponses.filter(({ sent }) => sent).length;\n const totalReferrals = referralResponses.length;\n\n if (amountOfReferralsSent === totalReferrals) {\n CALLBACKS.notify.success('Referrals created');\n } else if (amountOfReferralsSent > 0) {\n CALLBACKS.notify.warn('Some referrals created');\n } else {\n CALLBACKS.notify.error('No referrals created');\n }\n };\n\n\n const handleSubmit = async () => {\n if (isEmptyErrors(errors)) {\n setLoading(true);\n setDisableSubmit(true);\n\n try {\n if (isForwardReferralPath) {\n const referralToForward = referrals[selectedReferralToLink] ?? null;\n const forwardReferrals = await forwardReferral({\n caseId,\n referralToForward,\n });\n\n let fullyForwaded = false;\n let detail = [];\n let response = {\n referralsToConsent: [],\n };\n\n if (forwardReferrals !== false && !forwardReferrals?.errorMessage && forwardReferrals.every(response => response !== false)) {\n fullyForwaded = forwardReferrals.every(response => response?.status >= 200 && response?.status < 300);\n };\n\n if (referrals.length >= 2) {\n const referralForwardedDeleted = referrals.splice(selectedReferralToLink, 1);\n response = await createReferrals();\n detail = response.shippingDetail.map(item => ({\n index: item.index >= selectedReferralToLink ? item.index + 1 : item.index,\n sent: item.sent\n }));\n referrals.splice(selectedReferralToLink, 0, referralForwardedDeleted[0]);\n }\n\n const errorMessage = forwardReferrals?.errorMessage ?? (fullyForwaded ? null : \"Unexpected error\");\n detail.splice(selectedReferralToLink, 0, {\n index: selectedReferralToLink,\n sent: fullyForwaded,\n error: errorMessage\n });\n\n // Add forwarded referrals to the response.referralToConsent\n if (forwardReferrals && fullyForwaded && forwardReferrals !== false && !forwardReferrals?.errorMessage) {\n const newReferrals = referralToConsent({\n originalReferral: referralToForward,\n createdReferrals: forwardReferrals.map(referral => referral.data?.data),\n });\n\n if (newReferrals) response.referralsToConsent.push(newReferrals);\n }\n\n setIsSuccessfullyForwarded(fullyForwaded);\n setSentReferrals(response.referralsToConsent);\n setReferralsResultDetail(detail);\n showReferralsNotifications(detail);\n } else {\n const response = await createReferrals({ caseId });\n updateSent(true);\n const detail = response.shippingDetail.map(item => ({\n index: item.index,\n sent: item.sent\n }));\n\n setSentReferrals(response.referralsToConsent);\n setReferralsResultDetail(detail);\n showReferralsNotifications(detail);\n setConsented(person.consent?.state === 'accepted');\n // Create the share event for each referral only if the resource list id is present\n // This is being set from the resource list page or search page before navigating to the create referrals\n if (resourceListId) {\n response.referrals.map((referral) => createShareEvent(referral));\n }\n }\n } catch (err) {\n console.error(err);\n setDisableSubmit(false);\n } finally {\n setLoading(false);\n setHasBeenSubmitted(true)\n }\n } else {\n focusErrors();\n }\n };\n\n // When submitting consent through Consent App\n const onConsentComplete = async (event) => {\n const consentAppUrl = APP_ENVIRONMENT.consentUrl;\n const eventOrigin = get(event, 'origin');\n const originIsConsentApp = includes(consentAppUrl, eventOrigin);\n\n if (event?.data?.status === CONSENT_COMPLETED && originIsConsentApp) {\n CALLBACKS.notify.success('Your consent has been recorded.');\n onNavigateAway();\n }\n }\n\n // When not submitting consent through Consent App\n const onNavigateAway = () => {\n CALLBACKS.onSubmitConsent();\n setConsented(true);\n setConsentCompleted(true);\n }\n\n useEffect(() => {\n window.addEventListener('message', onConsentComplete);\n\n return () => {\n window.removeEventListener('message', onConsentComplete);\n };\n }, []);\n\n useEffect(() => {\n const showingConsent = referralSentSuccessfully && (!consented || (showNHConsent && !consentCompleted && sentReferrals.length > 0));\n \n if (showingConsent) {\n window.history.pushState(null, null, window.location.href);\n const handlePopState = (event) => {\n event.preventDefault();\n CALLBACKS.onReferralCompleted();\n };\n window.addEventListener('popstate', handlePopState);\n return () => {\n window.removeEventListener('popstate', handlePopState);\n };\n }\n }, [referralSentSuccessfully, consented, showNHConsent, consentCompleted, sentReferrals.length]);\n\n if (referralSentSuccessfully && (!consented || (showNHConsent && !consentCompleted && sentReferrals.length > 0))) {\n const { Consent } = COMPONENTS;\n\n return (\n <CreateReferralContainer isStepReferralSent={true}>\n <div className=\"px-12 pb-12\">\n <StepHeader header={'Complete Consent'}>\n {CONSENT_DESCRIPTION}\n </StepHeader>\n <Consent\n contact={person}\n currentEmployee={currentEmployee}\n initializedValue=\"user_attestation\"\n updateGlobalState={CALLBACKS?.consent?.updateGlobalState}\n dialogContentStyles={'text-validation-red'}\n onNavigateAway={onNavigateAway}\n sentReferrals={sentReferrals}\n />\n </div>\n </CreateReferralContainer>\n );\n }\n\n return (\n <>\n {loading ? (\n <CreateReferralContainer>\n <div className=\"px-12\">\n <h2 className=\"text-base font-proxima font-semibold text-[18px] leading-[28px] text-center mt-5\">\n {REVIEW_LOADING_SCREEN_DESCRIPTION}\n </h2>\n <div className=\"flex justify-center items-center mt-6\">\n <div className=\"py-20 bg-white w-full max-w-4xl px-4 md:px-8 lg:px-16\">\n <div className=\"flex flex-col justify-center items-center\">\n <Skeleton height={50} width={0.9 * 800} style={{ marginTop: 12 }} />\n <Skeleton height={20} width={0.9 * 800} style={{ marginTop: 12 }} />\n <Skeleton height={80} width={0.9 * 800} style={{ marginTop: 12 }} />\n </div>\n <div className=\"flex flex-row justify-center items-center flex-wrap gap-4 mt-4\">\n <Skeleton height={50} width={0.9 * 394} style={{ marginTop: 12 }} />\n <Skeleton height={50} width={0.9 * 394} style={{ marginTop: 12 }} />\n </div>\n </div>\n </div>\n </div>\n </CreateReferralContainer>\n ) : (hasBeenSubmitted) ?\n <ReferralsSent\n referrals={referrals}\n referralsResultDetail={referralsResultDetail}\n isSuccessfullyForwarded={isSuccessfullyForwarded}\n isForwardReferralPath={isForwardReferralPath}\n />\n : (\n <CreateReferralContainer>\n <div className=\"px-12\">\n <StepHeader icon header={'Review Referrals'}>\n {REVIEW_REFERRAL_DESCRIPTION}\n </StepHeader>\n\n <NavButtons\n onBackClick={() => navigate(-1)}\n onForwardClick={handleSubmit}\n onSaveDraftReferral={handleSaveDraftReferral}\n primaryLabel=\"Confirm & Submit\"\n hideForwardButtons={isEmpty(referrals)}\n hideSaveDraftLink={get(fieldsConfig, 'hideSaveDraftLink')}\n hasOffPlatformReferrals={hasOffPlatformReferrals(referrals)}\n disabled={disableSubmit}\n isForwardReferralPath={isForwardReferralPath}\n />\n\n {hasMultipleReferrals() && crtb854ForwardingSuperset && isForwardReferralPath && <DropdownMultiplesReferrals referrals={referrals} setReferralErrors={setReferralErrors} formRefs={formRefs} setSelectedReferralToLink={setSelectedReferralToLink} serviceTypeName={serviceTypeName} />}\n\n {isEmpty(referrals) ? (\n <NoReferralsDisplay onClick={() => CALLBACKS.onNavigateBack()} />\n ) : (\n expandedReferrals?.map((referral, index) => {\n const { programs } = referral;\n const isAuthRequired = get(referral, 'programs[0].fee_schedule_program.authorization_required');\n\n return (\n <div className=\"mb-6 mx-auto responsive-max-width\" key={`referral-review-card-${index}`} data-testid={`referral-review-card-${index}`}>\n <div className={`bg-white border border-solid border-blue-border ${referral?.expanded ? \"rounded-t-lg\" : \"rounded\"}`}>\n <div className=\"py-6 px-8 flex justify-between\">\n <h2 className=\"uppercase font-black text-grey text-base\">Referral {index + 1}: {get(referral, 'service.name')}</h2>\n <div>\n <Icon\n icon=\"IconPencil\"\n color=\"#182A44\"\n className=\"mr-3\"\n onClick={() => navigate('/create/builder', { state: { selectedReferral: index } })}\n data-testid={`referral-review-pencil-${index}`}\n ariaLabel=\"edit\"\n />\n <Icon icon=\"IconTrash\" color=\"#182A44\" className=\"mr-3\" onClick={() => onDeleteReferralClick(index)} data-testid={`referral-review-card-trash-${index}`} ariaLabel=\"delete\" />\n <Icon\n icon={referral?.expanded ? \"IconChevronDown\" : \"IconChevronRight\"}\n color=\"#182A44\"\n onClick={() => onChevronClick(index)}\n data-testid={`referral-review-card-chevron-${index}`}\n ariaLabel=\"expand\"\n />\n </div>\n </div>\n </div>\n\n <DeleteReferralModal\n refModal={el => deleteModal.current[index] = el}\n onCloseModal={onCloseDeleteReferralModal}\n referral={referral}\n onDeleteSelectedReferral={deleteSelectedReferral}\n />\n\n {\n get(referral, 'expanded', true) ? (\n <div className=\"bg-white border border-solid border-blue-border rounded-b-lg\">\n <div className=\"pt-6 px-8 pb-16\">\n <div className=\"grid grid-cols-3\">\n <div className=\"col-span-2 p-2\">\n <h2 className=\"uppercase font-semibold mb-1 text-sm text-text-blue\">Referral Programs</h2>\n {\n programs.map((program, i) => (\n <p key={i}>\n {get(program, 'name')} {get(program, 'provider.name') ? '(' + get(program, 'provider.name') + ')' : ''}\n </p>\n ))\n }\n </div>\n <div className=\"col-span-1 p-2\">\n <h2 className=\"uppercase font-semibold mb-1 text-sm text-text-blue\">Referral Network</h2>\n <p>{get(referral, 'network.name')}</p>\n </div>\n {get(referral, 'paymentAuthForm') && isAuthRequired && (\n <div className=\"col-span-3 p-2\">\n <h2 className=\"uppercase font-semibold mb-1 text-sm text-text-blue\">Authorization Request</h2>\n <ReferralAuthorizationRequestSummary\n authorizationRequest={get(referral, 'paymentAuthForm')}\n feeScheduleProgram={get(referral, 'programs[0].fee_schedule_program')}\n />\n </div>\n )}\n <div className=\"col-span-2 mt-10 p-2\">\n <h2 className=\"uppercase font-semibold mb-1 text-sm text-text-blue\">Referral Description</h2>\n <p>{get(referral, 'description')}</p>\n </div>\n {get(referral, 'opened_date') && (\n <div className=\"col-span-1 mt-10 p-2\">\n <h2 className=\"uppercase font-semibold mb-1 text-sm text-text-blue\">Open Date</h2>\n <p>{formatShortDate2FromTimestamp(get(referral, 'opened_date'), true)}</p>\n </div>\n )}\n {featureFlagClientNeeds && get(referral, 'client_need.name') && (\n <div className=\"col-span-1 mt-10 p-2\">\n <h2 className=\"uppercase font-semibold mb-1 text-sm text-text-blue\">Associated Need</h2>\n <p>{get(referral, 'client_need.name')}</p>\n </div>\n )}\n {get(referral, 'primaryWorker.full_name') && (\n <div className=\"col-span-3 mt-10 p-2\">\n <h2 className=\"uppercase font-semibold mb-1 text-sm text-text-blue\">Primary Worker</h2>\n <p>{get(referral, 'primaryWorker.full_name')}</p>\n </div>\n )}\n <div className=\"col-span-3 mt-16 p-2\">\n <h2 className=\"uppercase font-semibold mb-1 text-sm text-text-blue\">Attached Documents</h2>\n {!isEmpty(get(referral, 'attachedDocuments')) && (\n <DocumentsListView documents={get(referral, 'attachedDocuments')} />\n )}\n {!isEmpty(get(referral, 'attachments')) && (\n <div className=\"file-upload-dropzone mb-3 mt-5\">\n <FilePreviewWrapper uploadedFiles={get(referral, 'attachments')} />\n </div>\n )}\n {isEmpty(get(referral, 'attachments')) && isEmpty(get(referral, 'attachedDocuments')) && (\n <p>No documents attached</p>\n )}\n </div>\n <div className=\"col-span-3 bg-light-pale-blue rounded mt-6 p-6 flex\">\n <Icon icon=\"IconExclamationCircle\" color=\"#182A44\" className=\"mt-px mr-4\" />\n <p>{READY_TO_SUMBIT_INFO_TEXT}</p>\n </div>\n </div>\n </div>\n </div>\n ) : null\n }\n </div>\n )\n })\n )}\n\n {!isEmpty(referrals) && (\n <div className=\"pb-6\">\n <NavButtons\n onBackClick={() => navigate(-1)}\n onForwardClick={handleSubmit}\n onSaveDraftReferral={handleSaveDraftReferral}\n primaryLabel=\"Confirm & Submit\"\n hideSaveDraftLink={get(fieldsConfig, 'hideSaveDraftLink')}\n hasOffPlatformReferrals={hasOffPlatformReferrals(referrals)}\n disabled={disableSubmit}\n isForwardReferralPath={isForwardReferralPath}\n />\n </div>\n )}\n </div>\n </CreateReferralContainer>\n )}\n </>\n )\n}\n"],"mappings":";;;AAAA,SAASA,IAAI,QAAQ,cAAc;AACnC,OAAOC,KAAK,IAAIC,QAAQ,EAAEC,SAAS,EAAEC,MAAM,EAAEC,OAAO,QAAQ,OAAO;AACnE,OAAOC,QAAQ,MAAM,wBAAwB;AAC7C,SAASC,GAAG,EAAEC,OAAO,EAAEC,QAAQ,EAAEC,OAAO,EAAEC,IAAI,EAAEC,MAAM,QAAQ,QAAQ;AACtE,SAASC,WAAW,QAAQ,kBAAkB;AAC9C,OAAOC,UAAU,MAAM,6BAA6B;AACpD,SACEC,yBAAyB,EACzBC,2BAA2B,EAC3BC,mBAAmB,EACnBC,iBAAiB,EACjBC,iCAAiC,QAC5B,aAAa;AACpB,OAAOC,aAAa,MAAM,iBAAiB;AAC3C,OAAOC,kBAAkB,MAAM,+BAA+B;AAC9D,SAASC,OAAO,EAAEC,2BAA2B,QAAQ,yCAAyC;AAC9F,OAAOC,mBAAmB,MAAM,uBAAuB;AACvD,OAAOC,UAAU,MAAM,6BAA6B;AACpD,OAAOC,uBAAuB,MAAM,0CAA0C;AAC9E,OAAOC,mCAAmC,MAAM,4EAA4E;AAC5H,OAAOC,kBAAkB,MAAM,gCAAgC;AAC/D,SAASC,SAAS,EAAEC,UAAU,EAAEC,eAAe,QAAQ,kBAAkB;AACzE,OAAOC,kBAAkB,MAAM,8DAA8D;AAC7F,OAAOC,mBAAmB,MAAM,iCAAiC;AACjE,OAAOC,iBAAiB,MAAM,iEAAiE;AAC/F,SAASC,uBAAuB,EAAEC,aAAa,QAAQ,kBAAkB;AACzE,SAASC,cAAc,QAAQ,4BAA4B;AAC3D,OAAOC,iBAAiB,MAAM,+BAA+B;AAC7D,SAASC,6BAA6B,QAAQ,wDAAwD;AACtG,OAAOC,kBAAkB,MAAM,gCAAgC;AAC/D,OAAOC,0BAA0B,MAAM,8BAA8B;AAAC,SAAAC,GAAA,IAAAC,IAAA,EAAAC,IAAA,IAAAC,KAAA,EAAAC,QAAA,IAAAC,SAAA;AAEtE,eAAe,SAASC,MAAMA,CAAA,EAAG;EAAA,IAAAC,qBAAA;EAC/B,MAAMC,QAAQ,GAAGrC,WAAW,CAAC,CAAC;EAE9B,MAAM;IACJsC,QAAQ;IACRC,KAAK,EAAE;MACLC,YAAY;MACZC,SAAS;MACTC,MAAM;MACNC,cAAc;MACdC,eAAe;MACfC,eAAe;MACfC,MAAM;MACNC,UAAU;MACVC,YAAY;MACZC;IACF;EACF,CAAC,GAAGvC,2BAA2B,CAAC,CAAC;EAEjC,MAAMwC,yBAAyB,GAAG1B,cAAc,CAAC,2BAA2B,EAAE,KAAK,CAAC;EACpF,MAAM2B,sBAAsB,GAAG3B,cAAc,CAAC,qBAAqB,EAAE,KAAK,CAAC;EAC3E,MAAM4B,kBAAkB,GAAG5B,cAAc,CAAC,oBAAoB,EAAE,KAAK,CAAC;EACtE,MAAM,CAAC6B,IAAI,EAAEC,UAAU,CAAC,GAAGjE,QAAQ,CAAC,KAAK,CAAC;EAC1C,MAAM,CAACkE,uBAAuB,EAAEC,0BAA0B,CAAC,GAAGnE,QAAQ,CAAC,KAAK,CAAC;EAC7E,MAAM,CAACoE,WAAW,EAAEC,cAAc,CAAC,GAAGrE,QAAQ,CAAC,CAAC,CAAC,CAAC;EAClD,MAAM,CAACsE,iBAAiB,EAAEC,oBAAoB,CAAC,GAAGvE,QAAQ,CAAC,EAAE,CAAC;EAC9D,MAAM,CAACwE,yBAAyB,EAAEC,4BAA4B,CAAC,GAAGzE,QAAQ,CAAC,KAAK,CAAC;EACjF,MAAM,CAAC0E,wBAAwB,EAAEC,2BAA2B,CAAC,GAAG3E,QAAQ,CAAC,CAAC,CAAC,CAAC;EAC5E,MAAM,CAAC4E,sBAAsB,EAAEC,yBAAyB,CAAC,GAAG7E,QAAQ,CAAC,CAAC,CAAC;EACvE;EACA;EACA,MAAM,CAAC8E,SAAS,EAAEC,YAAY,CAAC,GAAG/E,QAAQ,CAAC,IAAI,CAAC;EAChD,MAAM,CAACgF,gBAAgB,EAAEC,mBAAmB,CAAC,GAAGjF,QAAQ,CAAC,KAAK,CAAC;EAC/D,MAAM,CAACkF,aAAa,EAAEC,gBAAgB,CAAC,GAAGnF,QAAQ,CAAC,KAAK,CAAC;EACzD,MAAM,CAACoF,OAAO,EAAEC,UAAU,CAAC,GAAGrF,QAAQ,CAAC,KAAK,CAAC;EAC7C,MAAMsF,QAAQ,GAAGpF,MAAM,CAAC,CAAC,CAAC,CAAC;EAC3B,MAAM,CAACqF,qBAAqB,EAAEC,wBAAwB,CAAC,GAAGxF,QAAQ,CAAC,EAAE,CAAC;EACtE,MAAM,CAACyF,gBAAgB,EAAEC,mBAAmB,CAAC,GAAG1F,QAAQ,CAAC,KAAK,CAAC;EAC/D,MAAM,CAAC2F,aAAa,EAAEC,gBAAgB,CAAC,GAAG5F,QAAQ,CAAC,EAAE,CAAC;EACtD,MAAM6F,UAAU,IAAA9C,qBAAA,GAAGS,eAAe,aAAfA,eAAe,uBAAfA,eAAe,CAAEqC,UAAU,cAAA9C,qBAAA,cAAAA,qBAAA,GAAI,KAAK;EACvD,MAAM+C,aAAa,GAAG3F,OAAO,CAAC,MAAM;IAClC,OAAO4D,kBAAkB,IAAI8B,UAAU;EACzC,CAAC,EAAE,CAAC9B,kBAAkB,EAAE8B,UAAU,CAAC,CAAC;EAEpC,MAAME,gBAAgB,GAAGhE,mBAAmB,CAAC,CAAC;EAC9C,MAAMiE,qBAAqB,GAAG,CAAC,CAACtC,UAAU,IAAI,CAAC,CAACC,YAAY;EAC5D,MAAMsC,wBAAwB,GAAGjC,IAAI,IAAIE,uBAAuB;EAEhE,MAAMgC,MAAM,GAAGC,MAAM,CAACC,IAAI,CAAChC,WAAW,CAAC,CAACiC,MAAM,CAAC,CAACC,GAAG,EAAEC,KAAK,KAAK;IAC7D,MAAMC,UAAU,GAAGpC,WAAW,CAACmC,KAAK,CAAC;IACrCD,GAAG,CAACC,KAAK,CAAC,GAAG;MACXE,gBAAgB,EAAED,UAAU,aAAVA,UAAU,uBAAVA,UAAU,CAAEC;IAChC,CAAC;IACD,OAAOH,GAAG;EACZ,CAAC,EAAE,CAAC,CAAC,CAAC;EAEN,MAAMI,oBAAoB,GAAGA,CAAA,KAAMtD,SAAS,CAACuD,MAAM,GAAG,CAAC;EAEvD,MAAMC,iBAAiB,GAAGA,CAACC,aAAa,EAAEC,SAAS,KAAK;IACtDzC,cAAc,CAAE0C,eAAe,IAAK;MAClC,MAAMC,aAAa,GAAGD,eAAe,CAACF,aAAa,CAAC;MACpD,MAAMI,aAAa,GAAAC,aAAA,CAAAA,aAAA,KAAQF,aAAa,GAAKF,SAAS,CAAE;MAExD,IAAItG,OAAO,CAACyG,aAAa,EAAED,aAAa,CAAC,EAAE;QACzC,OAAOD,eAAe;MACxB;MAEA,OAAAG,aAAA,CAAAA,aAAA,KACKH,eAAe;QAClB,CAACF,aAAa,GAAGI;MAAa;IAElC,CAAC,CAAC;EACJ,CAAC;EAED,MAAME,cAAc,GAAIZ,KAAK,IAAK;IAChC,MAAMa,QAAQ,GAAG9C,iBAAiB,aAAjBA,iBAAiB,uBAAjBA,iBAAiB,CAAE+C,GAAG,CAAEC,GAAG,IAAK;MAC/C,IAAIA,GAAG,CAACf,KAAK,KAAKA,KAAK,EAAE;QACvBe,GAAG,CAACF,QAAQ,GAAG,CAACE,GAAG,CAACF,QAAQ;MAC9B;MACA,OAAOE,GAAG;IACZ,CAAC,CAAC;IACF/C,oBAAoB,CAAC6C,QAAQ,CAAC;EAChC,CAAC;EAED,MAAMG,qBAAqB,GAAIhB,KAAK,IAAK;IACvC5B,2BAA2B,CAAC4B,KAAK,CAAC;IAClC9B,4BAA4B,CAAC,IAAI,CAAC;EACpC,CAAC;EAED,MAAM+C,0BAA0B,GAAGA,CAAA,KAAM;IACvC/C,4BAA4B,CAAC,KAAK,CAAC;EACrC,CAAC;EAEDxE,SAAS,CAAC,MAAM;IACd,MAAMmH,QAAQ,GAAGhE,SAAS,aAATA,SAAS,uBAATA,SAAS,CAAEiE,GAAG,CAAC,CAACI,CAAC,EAAEC,CAAC,KAAAR,aAAA,CAAAA,aAAA,KAChCO,CAAC;MACJE,iBAAiB,EAAEF,CAAC,CAACG,mBAAmB,GAAGH,CAAC,CAACG,mBAAmB,CAACC,MAAM,CAAEC,GAAG,IAAKA,GAAG,CAACC,QAAQ,CAAC,GAAG,EAAE;MACnGX,QAAQ,EAAE,IAAI;MACdb,KAAK,EAAEmB;IAAC,EACR,CAAC;IACHnD,oBAAoB,CAAC6C,QAAQ,CAAC;EAChC,CAAC,EAAE,CAAChE,SAAS,CAAC,CAAC;EAEf,MAAM4E,WAAW,GAAG9H,MAAM,CAAC,EAAE,CAAC;EAE9BD,SAAS,CAAC,MAAM;IACd,IAAI,CAACK,OAAO,CAAC8C,SAAS,CAAC,EAAE;MACvB,IAAIoB,yBAAyB,EAAE;QAC7BwD,WAAW,CAACC,OAAO,CAACvD,wBAAwB,CAAC,CAACwD,UAAU,CAAC,CAAC;MAC5D,CAAC,MAAM,IAAIxD,wBAAwB,IAAI,CAAC,EAAE;QACxCsD,WAAW,CAACC,OAAO,CAACvD,wBAAwB,CAAC,CAACyD,WAAW,CAAC,CAAC;QAC3DxD,2BAA2B,CAAC,CAAC,CAAC,CAAC;MACjC;IACF;EACF,CAAC,EAAE,CAACH,yBAAyB,EAAEE,wBAAwB,EAAEtB,SAAS,CAAC,CAAC;EAEtEnD,SAAS,CAAC,MAAM;IACd,IAAI,CAAAsF,qBAAqB,aAArBA,qBAAqB,uBAArBA,qBAAqB,CAAEoB,MAAM,IAAG,CAAC,EAAE;MACrCyB,cAAc,CAACC,OAAO,CAAC,oBAAoB,EAAE,MAAM,CAAC;IACtD;IAEA,IAAIC,MAAM,CAACC,WAAW,EAAE;MACtB,IAAI;QACF,MAAMC,UAAU,GAAID,WAAW,CAACE,gBAAgB,IAAIF,WAAW,CAACE,gBAAgB,CAAC,YAAY,CAAC,IAAK,EAAE;QACrG,MAAMC,SAAS,GAAGF,UAAU,CAAC7B,MAAM,GAAG,CAAC,IAAI6B,UAAU,CAAC,CAAC,CAAC,CAACG,IAAI,KAAK,QAAQ;QAC1E,MAAMC,sBAAsB,GAAGR,cAAc,CAACS,OAAO,CAAC,oBAAoB,CAAC,KAAK,MAAM;QAEtF,IAAIH,SAAS,IAAIE,sBAAsB,EAAE;UACvCR,cAAc,CAACU,UAAU,CAAC,oBAAoB,CAAC;UAC/CnH,SAAS,CAACoH,gBAAgB,CAAC,CAAC;QAC9B;MACF,CAAC,CAAC,OAAOC,KAAK,EAAE;QACdC,OAAO,CAACD,KAAK,CAACA,KAAK,CAAC;MACtB;IACF;EACF,CAAC,EAAE,CAACzD,qBAAqB,CAAC,CAAC;EAEzB,MAAM2D,sBAAsB,GAAGA,CAAA,KAAM;IACnC,MAAMC,gBAAgB,GAAG/F,SAAS,CAACyE,MAAM,CAAC,CAACJ,CAAC,EAAEC,CAAC,KAAKA,CAAC,KAAKhD,wBAAwB,CAAC;IACnFzB,QAAQ,CAAC7B,OAAO,CAAC;MACfgC,SAAS,EAAE,CAAC,GAAG+F,gBAAgB;IACjC,CAAC,CAAC,CAAC;IACH3B,0BAA0B,CAAC,CAAC;EAC9B,CAAC;EAED,MAAM4B,eAAe,GAAG1H,kBAAkB,CAAC,CAAC;EAC5C,MAAM2H,eAAe,GAAG/G,kBAAkB,CAAC,CAAC;EAE5C,MAAMgH,uBAAuB,GAAG,MAAAA,CAAA,KAAY;IAC1C,IAAI;MACF,MAAMF,eAAe,CAAC;QAAEG,KAAK,EAAE;MAAK,CAAC,CAAC;MACtC,MAAM;QAAEC;MAAoB,CAAC,GAAG7H,SAAS;MACzC6H,mBAAmB,IAAIA,mBAAmB,CAAC,CAAC;IAC9C,CAAC,CAAC,OAAOC,GAAG,EAAE;MACZR,OAAO,CAACD,KAAK,CAACS,GAAG,CAAC;IACpB;EACF,CAAC;EAED,MAAMC,QAAQ,GAAInD,KAAK,IAAK;IAC1BoD,UAAU,CAAC,MAAM;MAAA,IAAAC,aAAA;MACf,KAAAA,aAAA,GAAI1D,MAAM,CAACK,KAAK,CAAC,cAAAqD,aAAA,eAAbA,aAAA,CAAenD,gBAAgB,EAAE;QAAA,IAAAoD,iBAAA;QACnC,CAAAA,iBAAA,GAAAvE,QAAQ,CAAC2C,OAAO,cAAA4B,iBAAA,gBAAAA,iBAAA,GAAhBA,iBAAA,CAAkBC,QAAQ,cAAAD,iBAAA,eAA1BA,iBAAA,CAA4BE,eAAe,CAAC,kBAAkB,EAAE,IAAI,CAAC;QACrE,MAAMC,qBAAqB,GAAGC,QAAQ,CAACC,cAAc,CAAC,kBAAkB,CAAC;QACzE,OAAOF,qBAAqB,CAACG,KAAK,CAAC,CAAC;MACtC;IACF,CAAC,EAAE,GAAG,CAAC;EACT,CAAC;EAED,MAAMC,WAAW,GAAGA,CAAA,KAAM;IACxB,IAAI7D,KAAK,GAAG,CAAC;IACb,MAAM8D,oBAAoB,GAAGlE,MAAM,CAACC,IAAI,CAACF,MAAM,CAAC,CAACoE,IAAI,CAACC,GAAG,IACvD9J,IAAI,CAACC,MAAM,CAACwF,MAAM,CAACqE,GAAG,CAAC,CAAC,EAAEC,OAAO,CACnC,CAAC;IAED,IAAI,CAAC/J,IAAI,CAACC,MAAM,CAACwF,MAAM,CAACK,KAAK,CAAC,CAAC,EAAEiE,OAAO,CAAC,IAAIH,oBAAoB,EAAE;MACjE9D,KAAK,GAAGkE,QAAQ,CAACJ,oBAAoB,CAAC;IACxC;IACAX,QAAQ,CAACnD,KAAK,CAAC;EACjB,CAAC;EAED,MAAMmE,0BAA0B,GAAIC,iBAAiB,IAAK;IACxD,MAAMC,qBAAqB,GAAGD,iBAAiB,CAAC9C,MAAM,CAACgD,IAAA;MAAA,IAAC;QAAE7G;MAAK,CAAC,GAAA6G,IAAA;MAAA,OAAK7G,IAAI;IAAA,EAAC,CAAC2C,MAAM;IACjF,MAAMmE,cAAc,GAAGH,iBAAiB,CAAChE,MAAM;IAE/C,IAAIiE,qBAAqB,KAAKE,cAAc,EAAE;MAC5CnJ,SAAS,CAACoJ,MAAM,CAACC,OAAO,CAAC,mBAAmB,CAAC;IAC/C,CAAC,MAAM,IAAIJ,qBAAqB,GAAG,CAAC,EAAE;MACpCjJ,SAAS,CAACoJ,MAAM,CAACE,IAAI,CAAC,wBAAwB,CAAC;IACjD,CAAC,MAAM;MACLtJ,SAAS,CAACoJ,MAAM,CAAC/B,KAAK,CAAC,sBAAsB,CAAC;IAChD;EACF,CAAC;EAGD,MAAMkC,YAAY,GAAG,MAAAA,CAAA,KAAY;IAC/B,IAAIhJ,aAAa,CAACgE,MAAM,CAAC,EAAE;MACzBb,UAAU,CAAC,IAAI,CAAC;MAChBF,gBAAgB,CAAC,IAAI,CAAC;MAEtB,IAAI;QACF,IAAIa,qBAAqB,EAAE;UAAA,IAAAmF,qBAAA,EAAAC,qBAAA;UACzB,MAAMC,iBAAiB,IAAAF,qBAAA,GAAG/H,SAAS,CAACwB,sBAAsB,CAAC,cAAAuG,qBAAA,cAAAA,qBAAA,GAAI,IAAI;UACnE,MAAMG,gBAAgB,GAAG,MAAMjC,eAAe,CAAC;YAC7C5F,MAAM;YACN4H;UACF,CAAC,CAAC;UAEF,IAAIE,aAAa,GAAG,KAAK;UACzB,IAAIC,MAAM,GAAG,EAAE;UACf,IAAIC,QAAQ,GAAG;YACbC,kBAAkB,EAAE;UACtB,CAAC;UAED,IAAIJ,gBAAgB,KAAK,KAAK,IAAI,EAACA,gBAAgB,aAAhBA,gBAAgB,eAAhBA,gBAAgB,CAAEK,YAAY,KAAIL,gBAAgB,CAACM,KAAK,CAACH,QAAQ,IAAIA,QAAQ,KAAK,KAAK,CAAC,EAAE;YAC3HF,aAAa,GAAGD,gBAAgB,CAACM,KAAK,CAACH,QAAQ,IAAI,CAAAA,QAAQ,aAARA,QAAQ,uBAARA,QAAQ,CAAEI,MAAM,KAAI,GAAG,IAAI,CAAAJ,QAAQ,aAARA,QAAQ,uBAARA,QAAQ,CAAEI,MAAM,IAAG,GAAG,CAAC;UACvG;UAAC;UAED,IAAIzI,SAAS,CAACuD,MAAM,IAAI,CAAC,EAAE;YACzB,MAAMmF,wBAAwB,GAAG1I,SAAS,CAAC2I,MAAM,CAACnH,sBAAsB,EAAE,CAAC,CAAC;YAC5E6G,QAAQ,GAAG,MAAMrC,eAAe,CAAC,CAAC;YAClCoC,MAAM,GAAGC,QAAQ,CAACO,cAAc,CAAC3E,GAAG,CAAC4E,IAAI,KAAK;cAC5C1F,KAAK,EAAE0F,IAAI,CAAC1F,KAAK,IAAI3B,sBAAsB,GAAGqH,IAAI,CAAC1F,KAAK,GAAG,CAAC,GAAG0F,IAAI,CAAC1F,KAAK;cACzEvC,IAAI,EAAEiI,IAAI,CAACjI;YACb,CAAC,CAAC,CAAC;YACHZ,SAAS,CAAC2I,MAAM,CAACnH,sBAAsB,EAAE,CAAC,EAAEkH,wBAAwB,CAAC,CAAC,CAAC,CAAC;UAC1E;UAEA,MAAMH,YAAY,IAAAP,qBAAA,GAAGE,gBAAgB,aAAhBA,gBAAgB,uBAAhBA,gBAAgB,CAAEK,YAAY,cAAAP,qBAAA,cAAAA,qBAAA,GAAKG,aAAa,GAAG,IAAI,GAAG,kBAAmB;UAClGC,MAAM,CAACO,MAAM,CAACnH,sBAAsB,EAAE,CAAC,EAAE;YACvC2B,KAAK,EAAE3B,sBAAsB;YAC7BZ,IAAI,EAAEuH,aAAa;YACnBvC,KAAK,EAAE2C;UACT,CAAC,CAAC;;UAEF;UACA,IAAIL,gBAAgB,IAAIC,aAAa,IAAID,gBAAgB,KAAK,KAAK,IAAI,EAACA,gBAAgB,aAAhBA,gBAAgB,eAAhBA,gBAAgB,CAAEK,YAAY,GAAE;YACtG,MAAMO,YAAY,GAAG9J,iBAAiB,CAAC;cACnC+J,gBAAgB,EAAEd,iBAAiB;cACnCe,gBAAgB,EAAEd,gBAAgB,CAACjE,GAAG,CAACgF,QAAQ;gBAAA,IAAAC,cAAA;gBAAA,QAAAA,cAAA,GAAID,QAAQ,CAACE,IAAI,cAAAD,cAAA,uBAAbA,cAAA,CAAeC,IAAI;cAAA;YACxE,CAAC,CAAC;YAEJ,IAAIL,YAAY,EAAET,QAAQ,CAACC,kBAAkB,CAACc,IAAI,CAACN,YAAY,CAAC;UAClE;UAEA/H,0BAA0B,CAACoH,aAAa,CAAC;UACzC3F,gBAAgB,CAAC6F,QAAQ,CAACC,kBAAkB,CAAC;UAC7ClG,wBAAwB,CAACgG,MAAM,CAAC;UAChCd,0BAA0B,CAACc,MAAM,CAAC;QACpC,CAAC,MAAM;UAAA,IAAAiB,eAAA;UACL,MAAMhB,QAAQ,GAAG,MAAMrC,eAAe,CAAC;YAAE3F;UAAO,CAAC,CAAC;UAClDQ,UAAU,CAAC,IAAI,CAAC;UAChB,MAAMuH,MAAM,GAAGC,QAAQ,CAACO,cAAc,CAAC3E,GAAG,CAAC4E,IAAI,KAAK;YAClD1F,KAAK,EAAE0F,IAAI,CAAC1F,KAAK;YACjBvC,IAAI,EAAEiI,IAAI,CAACjI;UACb,CAAC,CAAC,CAAC;UAEH4B,gBAAgB,CAAC6F,QAAQ,CAACC,kBAAkB,CAAC;UAC7ClG,wBAAwB,CAACgG,MAAM,CAAC;UAChCd,0BAA0B,CAACc,MAAM,CAAC;UAClCzG,YAAY,CAAC,EAAA0H,eAAA,GAAApJ,MAAM,CAACqJ,OAAO,cAAAD,eAAA,uBAAdA,eAAA,CAAgBvJ,KAAK,MAAK,UAAU,CAAC;UAClD;UACA;UACA,IAAII,cAAc,EAAE;YAClBmI,QAAQ,CAACrI,SAAS,CAACiE,GAAG,CAAEgF,QAAQ,IAAKtG,gBAAgB,CAACsG,QAAQ,CAAC,CAAC;UAClE;QACF;MACF,CAAC,CAAC,OAAO5C,GAAG,EAAE;QACZR,OAAO,CAACD,KAAK,CAACS,GAAG,CAAC;QAClBtE,gBAAgB,CAAC,KAAK,CAAC;MACzB,CAAC,SAAS;QACRE,UAAU,CAAC,KAAK,CAAC;QACjBK,mBAAmB,CAAC,IAAI,CAAC;MAC3B;IACF,CAAC,MAAM;MACL0E,WAAW,CAAC,CAAC;IACf;EACF,CAAC;;EAED;EACA,MAAMuC,iBAAiB,GAAG,MAAOC,KAAK,IAAK;IAAA,IAAAC,WAAA;IACzC,MAAMC,aAAa,GAAGjL,eAAe,CAACkL,UAAU;IAChD,MAAMC,WAAW,GAAG3M,GAAG,CAACuM,KAAK,EAAE,QAAQ,CAAC;IACxC,MAAMK,kBAAkB,GAAG1M,QAAQ,CAACuM,aAAa,EAAEE,WAAW,CAAC;IAE/D,IAAI,CAAAJ,KAAK,aAALA,KAAK,gBAAAC,WAAA,GAALD,KAAK,CAAEL,IAAI,cAAAM,WAAA,uBAAXA,WAAA,CAAahB,MAAM,MAAK7K,iBAAiB,IAAIiM,kBAAkB,EAAE;MACnEtL,SAAS,CAACoJ,MAAM,CAACC,OAAO,CAAC,iCAAiC,CAAC;MAC3DkC,cAAc,CAAC,CAAC;IAClB;EACF,CAAC;;EAED;EACA,MAAMA,cAAc,GAAGA,CAAA,KAAM;IAC3BvL,SAAS,CAACwL,eAAe,CAAC,CAAC;IAC3BpI,YAAY,CAAC,IAAI,CAAC;IAClBE,mBAAmB,CAAC,IAAI,CAAC;EAC3B,CAAC;EAEDhF,SAAS,CAAC,MAAM;IACdqI,MAAM,CAAC8E,gBAAgB,CAAC,SAAS,EAAET,iBAAiB,CAAC;IAErD,OAAO,MAAM;MACXrE,MAAM,CAAC+E,mBAAmB,CAAC,SAAS,EAAEV,iBAAiB,CAAC;IAC1D,CAAC;EACH,CAAC,EAAE,EAAE,CAAC;EAEN1M,SAAS,CAAC,MAAM;IACd,MAAMqN,cAAc,GAAGrH,wBAAwB,KAAK,CAACnB,SAAS,IAAKgB,aAAa,IAAI,CAACd,gBAAgB,IAAIW,aAAa,CAACgB,MAAM,GAAG,CAAE,CAAC;IAEnI,IAAI2G,cAAc,EAAE;MAClBhF,MAAM,CAACiF,OAAO,CAACC,SAAS,CAAC,IAAI,EAAE,IAAI,EAAElF,MAAM,CAACmF,QAAQ,CAACC,IAAI,CAAC;MAC1D,MAAMC,cAAc,GAAIf,KAAK,IAAK;QAChCA,KAAK,CAACgB,cAAc,CAAC,CAAC;QACtBjM,SAAS,CAACkM,mBAAmB,CAAC,CAAC;MACjC,CAAC;MACDvF,MAAM,CAAC8E,gBAAgB,CAAC,UAAU,EAAEO,cAAc,CAAC;MACnD,OAAO,MAAM;QACXrF,MAAM,CAAC+E,mBAAmB,CAAC,UAAU,EAAEM,cAAc,CAAC;MACxD,CAAC;IACH;EACF,CAAC,EAAE,CAAC1H,wBAAwB,EAAEnB,SAAS,EAAEgB,aAAa,EAAEd,gBAAgB,EAAEW,aAAa,CAACgB,MAAM,CAAC,CAAC;EAEhG,IAAIV,wBAAwB,KAAK,CAACnB,SAAS,IAAKgB,aAAa,IAAI,CAACd,gBAAgB,IAAIW,aAAa,CAACgB,MAAM,GAAG,CAAE,CAAC,EAAE;IAAA,IAAAmH,kBAAA;IAChH,MAAM;MAAEC;IAAQ,CAAC,GAAGnM,UAAU;IAE9B,oBACEa,IAAA,CAACjB,uBAAuB;MAACwM,kBAAkB,EAAE,IAAK;MAAAC,QAAA,eAChDtL,KAAA;QAAKuL,SAAS,EAAC,aAAa;QAAAD,QAAA,gBAC1BxL,IAAA,CAAC7B,UAAU;UAACuN,MAAM,EAAE,kBAAmB;UAAAF,QAAA,EACpClN;QAAmB,CACV,CAAC,eACb0B,IAAA,CAACsL,OAAO;UACNK,OAAO,EAAE/K,MAAO;UAChBE,eAAe,EAAEA,eAAgB;UACjC8K,gBAAgB,EAAC,kBAAkB;UACnCC,iBAAiB,EAAE3M,SAAS,aAATA,SAAS,gBAAAmM,kBAAA,GAATnM,SAAS,CAAE+K,OAAO,cAAAoB,kBAAA,uBAAlBA,kBAAA,CAAoBQ,iBAAkB;UACzDC,mBAAmB,EAAE,qBAAsB;UAC3CrB,cAAc,EAAEA,cAAe;UAC/BvH,aAAa,EAAEA;QAAc,CAC9B,CAAC;MAAA,CACC;IAAC,CACiB,CAAC;EAE9B;EAEA,oBACElD,IAAA,CAAAI,SAAA;IAAAoL,QAAA,EACG7I,OAAO,gBACN3C,IAAA,CAACjB,uBAAuB;MAAAyM,QAAA,eACtBtL,KAAA;QAAKuL,SAAS,EAAC,OAAO;QAAAD,QAAA,gBACpBxL,IAAA;UAAIyL,SAAS,EAAC,kFAAkF;UAAAD,QAAA,EAC7FhN;QAAiC,CAChC,CAAC,eACLwB,IAAA;UAAKyL,SAAS,EAAC,uCAAuC;UAAAD,QAAA,eACpDtL,KAAA;YAAKuL,SAAS,EAAC,uDAAuD;YAAAD,QAAA,gBACpEtL,KAAA;cAAKuL,SAAS,EAAC,2CAA2C;cAAAD,QAAA,gBACxDxL,IAAA,CAACrC,QAAQ;gBAACoO,MAAM,EAAE,EAAG;gBAACC,KAAK,EAAE,GAAG,GAAG,GAAI;gBAACC,KAAK,EAAE;kBAAEC,SAAS,EAAE;gBAAG;cAAE,CAAE,CAAC,eACpElM,IAAA,CAACrC,QAAQ;gBAACoO,MAAM,EAAE,EAAG;gBAACC,KAAK,EAAE,GAAG,GAAG,GAAI;gBAACC,KAAK,EAAE;kBAAEC,SAAS,EAAE;gBAAG;cAAE,CAAE,CAAC,eACpElM,IAAA,CAACrC,QAAQ;gBAACoO,MAAM,EAAE,EAAG;gBAACC,KAAK,EAAE,GAAG,GAAG,GAAI;gBAACC,KAAK,EAAE;kBAAEC,SAAS,EAAE;gBAAG;cAAE,CAAE,CAAC;YAAA,CACjE,CAAC,eACNhM,KAAA;cAAKuL,SAAS,EAAC,gEAAgE;cAAAD,QAAA,gBAC7ExL,IAAA,CAACrC,QAAQ;gBAACoO,MAAM,EAAE,EAAG;gBAACC,KAAK,EAAE,GAAG,GAAG,GAAI;gBAACC,KAAK,EAAE;kBAAEC,SAAS,EAAE;gBAAG;cAAE,CAAE,CAAC,eACpElM,IAAA,CAACrC,QAAQ;gBAACoO,MAAM,EAAE,EAAG;gBAACC,KAAK,EAAE,GAAG,GAAG,GAAI;gBAACC,KAAK,EAAE;kBAAEC,SAAS,EAAE;gBAAG;cAAE,CAAE,CAAC;YAAA,CACjE,CAAC;UAAA,CACH;QAAC,CACH,CAAC;MAAA,CACH;IAAC,CACiB,CAAC,GACnBlJ,gBAAgB,gBACnBhD,IAAA,CAACvB,aAAa;MACZkC,SAAS,EAAEA,SAAU;MACrBmC,qBAAqB,EAAEA,qBAAsB;MAC7CrB,uBAAuB,EAAEA,uBAAwB;MACjD8B,qBAAqB,EAAEA;IAAsB,CAC9C,CAAC,gBAENvD,IAAA,CAACjB,uBAAuB;MAAAyM,QAAA,eACtBtL,KAAA;QAAKuL,SAAS,EAAC,OAAO;QAAAD,QAAA,gBACpBxL,IAAA,CAAC7B,UAAU;UAACgO,IAAI;UAACT,MAAM,EAAE,kBAAmB;UAAAF,QAAA,EACzCnN;QAA2B,CAClB,CAAC,eAEb2B,IAAA,CAAClB,UAAU;UACTsN,WAAW,EAAEA,CAAA,KAAM7L,QAAQ,CAAC,CAAC,CAAC,CAAE;UAChC8L,cAAc,EAAE5D,YAAa;UAC7B1B,mBAAmB,EAAEF,uBAAwB;UAC7CyF,YAAY,EAAC,kBAAkB;UAC/BC,kBAAkB,EAAE1O,OAAO,CAAC8C,SAAS,CAAE;UACvC6L,iBAAiB,EAAE5O,GAAG,CAAC8C,YAAY,EAAE,mBAAmB,CAAE;UAC1DlB,uBAAuB,EAAEA,uBAAuB,CAACmB,SAAS,CAAE;UAC5D8L,QAAQ,EAAEhK,aAAc;UACxBc,qBAAqB,EAAEA;QAAsB,CAC9C,CAAC,EAEDU,oBAAoB,CAAC,CAAC,IAAI7C,yBAAyB,IAAImC,qBAAqB,iBAAIvD,IAAA,CAACF,0BAA0B;UAACa,SAAS,EAAEA,SAAU;UAACwD,iBAAiB,EAAEA,iBAAkB;UAACtB,QAAQ,EAAEA,QAAS;UAACT,yBAAyB,EAAEA,yBAA0B;UAACjB,eAAe,EAAEA;QAAgB,CAAE,CAAC,EAEtRtD,OAAO,CAAC8C,SAAS,CAAC,gBACjBX,IAAA,CAACtB,kBAAkB;UAACgO,OAAO,EAAEA,CAAA,KAAMxN,SAAS,CAACyN,cAAc,CAAC;QAAE,CAAE,CAAC,GAEjE9K,iBAAiB,aAAjBA,iBAAiB,uBAAjBA,iBAAiB,CAAE+C,GAAG,CAAC,CAACgF,QAAQ,EAAE9F,KAAK,KAAK;UAC1C,MAAM;YAAE8I;UAAS,CAAC,GAAGhD,QAAQ;UAC7B,MAAMiD,cAAc,GAAGjP,GAAG,CAACgM,QAAQ,EAAE,yDAAyD,CAAC;UAE/F,oBACE1J,KAAA;YAAKuL,SAAS,EAAC,mCAAmC;YAAuC,uCAAAqB,MAAA,CAAqChJ,KAAK,CAAG;YAAA0H,QAAA,gBACpIxL,IAAA;cAAKyL,SAAS,qDAAAqB,MAAA,CAAqDlD,QAAQ,aAARA,QAAQ,eAARA,QAAQ,CAAEjF,QAAQ,GAAG,cAAc,GAAG,SAAS,CAAG;cAAA6G,QAAA,eACnHtL,KAAA;gBAAKuL,SAAS,EAAC,gCAAgC;gBAAAD,QAAA,gBAC7CtL,KAAA;kBAAIuL,SAAS,EAAC,0CAA0C;kBAAAD,QAAA,GAAC,WAAS,EAAC1H,KAAK,GAAG,CAAC,EAAC,IAAE,EAAClG,GAAG,CAACgM,QAAQ,EAAE,cAAc,CAAC;gBAAA,CAAK,CAAC,eACnH1J,KAAA;kBAAAsL,QAAA,gBACExL,IAAA,CAAC3C,IAAI;oBACH8O,IAAI,EAAC,YAAY;oBACjBY,KAAK,EAAC,SAAS;oBACftB,SAAS,EAAC,MAAM;oBAChBiB,OAAO,EAAEA,CAAA,KAAMnM,QAAQ,CAAC,iBAAiB,EAAE;sBAAEE,KAAK,EAAE;wBAAEuM,gBAAgB,EAAElJ;sBAAM;oBAAE,CAAC,CAAE;oBACnF,yCAAAgJ,MAAA,CAAuChJ,KAAK,CAAG;oBAC/CmJ,SAAS,EAAC;kBAAM,CACjB,CAAC,eACFjN,IAAA,CAAC3C,IAAI;oBAAC8O,IAAI,EAAC,WAAW;oBAACY,KAAK,EAAC,SAAS;oBAACtB,SAAS,EAAC,MAAM;oBAACiB,OAAO,EAAEA,CAAA,KAAM5H,qBAAqB,CAAChB,KAAK,CAAE;oBAAC,6CAAAgJ,MAAA,CAA2ChJ,KAAK,CAAG;oBAACmJ,SAAS,EAAC;kBAAQ,CAAE,CAAC,eAC9KjN,IAAA,CAAC3C,IAAI;oBACH8O,IAAI,EAAEvC,QAAQ,aAARA,QAAQ,eAARA,QAAQ,CAAEjF,QAAQ,GAAG,iBAAiB,GAAG,kBAAmB;oBAClEoI,KAAK,EAAC,SAAS;oBACfL,OAAO,EAAEA,CAAA,KAAMhI,cAAc,CAACZ,KAAK,CAAE;oBACrC,+CAAAgJ,MAAA,CAA6ChJ,KAAK,CAAG;oBACrDmJ,SAAS,EAAC;kBAAQ,CACnB,CAAC;gBAAA,CACC,CAAC;cAAA,CACH;YAAC,CACH,CAAC,eAENjN,IAAA,CAACnB,mBAAmB;cAClBqO,QAAQ,EAAEC,EAAE,IAAI5H,WAAW,CAACC,OAAO,CAAC1B,KAAK,CAAC,GAAGqJ,EAAG;cAChDC,YAAY,EAAErI,0BAA2B;cACzC6E,QAAQ,EAAEA,QAAS;cACnByD,wBAAwB,EAAE5G;YAAuB,CAClD,CAAC,EAGA7I,GAAG,CAACgM,QAAQ,EAAE,UAAU,EAAE,IAAI,CAAC,gBAC7B5J,IAAA;cAAKyL,SAAS,EAAC,8DAA8D;cAAAD,QAAA,eAC3ExL,IAAA;gBAAKyL,SAAS,EAAC,iBAAiB;gBAAAD,QAAA,eAC9BtL,KAAA;kBAAKuL,SAAS,EAAC,kBAAkB;kBAAAD,QAAA,gBAC/BtL,KAAA;oBAAKuL,SAAS,EAAC,gBAAgB;oBAAAD,QAAA,gBAC7BxL,IAAA;sBAAIyL,SAAS,EAAC,qDAAqD;sBAAAD,QAAA,EAAC;oBAAiB,CAAI,CAAC,EAExFoB,QAAQ,CAAChI,GAAG,CAAC,CAAC0I,OAAO,EAAErI,CAAC,kBACtB/E,KAAA;sBAAAsL,QAAA,GACG5N,GAAG,CAAC0P,OAAO,EAAE,MAAM,CAAC,EAAC,GAAC,EAAC1P,GAAG,CAAC0P,OAAO,EAAE,eAAe,CAAC,GAAG,GAAG,GAAG1P,GAAG,CAAC0P,OAAO,EAAE,eAAe,CAAC,GAAG,GAAG,GAAG,EAAE;oBAAA,GADhGrI,CAEL,CACJ,CAAC;kBAAA,CAED,CAAC,eACN/E,KAAA;oBAAKuL,SAAS,EAAC,gBAAgB;oBAAAD,QAAA,gBAC7BxL,IAAA;sBAAIyL,SAAS,EAAC,qDAAqD;sBAAAD,QAAA,EAAC;oBAAgB,CAAI,CAAC,eACzFxL,IAAA;sBAAAwL,QAAA,EAAI5N,GAAG,CAACgM,QAAQ,EAAE,cAAc;oBAAC,CAAI,CAAC;kBAAA,CACnC,CAAC,EACLhM,GAAG,CAACgM,QAAQ,EAAE,iBAAiB,CAAC,IAAIiD,cAAc,iBACjD3M,KAAA;oBAAKuL,SAAS,EAAC,gBAAgB;oBAAAD,QAAA,gBAC7BxL,IAAA;sBAAIyL,SAAS,EAAC,qDAAqD;sBAAAD,QAAA,EAAC;oBAAqB,CAAI,CAAC,eAC9FxL,IAAA,CAAChB,mCAAmC;sBAClCuO,oBAAoB,EAAE3P,GAAG,CAACgM,QAAQ,EAAE,iBAAiB,CAAE;sBACvD4D,kBAAkB,EAAE5P,GAAG,CAACgM,QAAQ,EAAE,kCAAkC;oBAAE,CACvE,CAAC;kBAAA,CACC,CACN,eACD1J,KAAA;oBAAKuL,SAAS,EAAC,sBAAsB;oBAAAD,QAAA,gBACnCxL,IAAA;sBAAIyL,SAAS,EAAC,qDAAqD;sBAAAD,QAAA,EAAC;oBAAoB,CAAI,CAAC,eAC7FxL,IAAA;sBAAAwL,QAAA,EAAI5N,GAAG,CAACgM,QAAQ,EAAE,aAAa;oBAAC,CAAI,CAAC;kBAAA,CAClC,CAAC,EACLhM,GAAG,CAACgM,QAAQ,EAAE,aAAa,CAAC,iBAC3B1J,KAAA;oBAAKuL,SAAS,EAAC,sBAAsB;oBAAAD,QAAA,gBACnCxL,IAAA;sBAAIyL,SAAS,EAAC,qDAAqD;sBAAAD,QAAA,EAAC;oBAAS,CAAI,CAAC,eAClFxL,IAAA;sBAAAwL,QAAA,EAAI5L,6BAA6B,CAAChC,GAAG,CAACgM,QAAQ,EAAE,aAAa,CAAC,EAAE,IAAI;oBAAC,CAAI,CAAC;kBAAA,CACvE,CACN,EACAvI,sBAAsB,IAAIzD,GAAG,CAACgM,QAAQ,EAAE,kBAAkB,CAAC,iBAC1D1J,KAAA;oBAAKuL,SAAS,EAAC,sBAAsB;oBAAAD,QAAA,gBACnCxL,IAAA;sBAAIyL,SAAS,EAAC,qDAAqD;sBAAAD,QAAA,EAAC;oBAAe,CAAI,CAAC,eACxFxL,IAAA;sBAAAwL,QAAA,EAAI5N,GAAG,CAACgM,QAAQ,EAAE,kBAAkB;oBAAC,CAAI,CAAC;kBAAA,CACvC,CACN,EACAhM,GAAG,CAACgM,QAAQ,EAAE,yBAAyB,CAAC,iBACvC1J,KAAA;oBAAKuL,SAAS,EAAC,sBAAsB;oBAAAD,QAAA,gBACnCxL,IAAA;sBAAIyL,SAAS,EAAC,qDAAqD;sBAAAD,QAAA,EAAC;oBAAc,CAAI,CAAC,eACvFxL,IAAA;sBAAAwL,QAAA,EAAI5N,GAAG,CAACgM,QAAQ,EAAE,yBAAyB;oBAAC,CAAI,CAAC;kBAAA,CAC9C,CACN,eACD1J,KAAA;oBAAKuL,SAAS,EAAC,sBAAsB;oBAAAD,QAAA,gBACnCxL,IAAA;sBAAIyL,SAAS,EAAC,qDAAqD;sBAAAD,QAAA,EAAC;oBAAkB,CAAI,CAAC,EAC1F,CAAC3N,OAAO,CAACD,GAAG,CAACgM,QAAQ,EAAE,mBAAmB,CAAC,CAAC,iBAC3C5J,IAAA,CAACT,iBAAiB;sBAACkO,SAAS,EAAE7P,GAAG,CAACgM,QAAQ,EAAE,mBAAmB;oBAAE,CAAE,CACpE,EACA,CAAC/L,OAAO,CAACD,GAAG,CAACgM,QAAQ,EAAE,aAAa,CAAC,CAAC,iBACrC5J,IAAA;sBAAKyL,SAAS,EAAC,gCAAgC;sBAAAD,QAAA,eAC7CxL,IAAA,CAACX,kBAAkB;wBAACqO,aAAa,EAAE9P,GAAG,CAACgM,QAAQ,EAAE,aAAa;sBAAE,CAAE;oBAAC,CAChE,CACN,EACA/L,OAAO,CAACD,GAAG,CAACgM,QAAQ,EAAE,aAAa,CAAC,CAAC,IAAI/L,OAAO,CAACD,GAAG,CAACgM,QAAQ,EAAE,mBAAmB,CAAC,CAAC,iBACnF5J,IAAA;sBAAAwL,QAAA,EAAG;oBAAqB,CAAG,CAC5B;kBAAA,CACE,CAAC,eACNtL,KAAA;oBAAKuL,SAAS,EAAC,qDAAqD;oBAAAD,QAAA,gBAClExL,IAAA,CAAC3C,IAAI;sBAAC8O,IAAI,EAAC,uBAAuB;sBAACY,KAAK,EAAC,SAAS;sBAACtB,SAAS,EAAC;oBAAY,CAAE,CAAC,eAC5EzL,IAAA;sBAAAwL,QAAA,EAAIpN;oBAAyB,CAAI,CAAC;kBAAA,CAC/B,CAAC;gBAAA,CACH;cAAC,CACH;YAAC,CACH,CAAC,GACJ,IAAI;UAAA,2BAAA0O,MAAA,CAvGoEhJ,KAAK,CAyGhF,CAAC;QAEV,CAAC,CACF,EAEA,CAACjG,OAAO,CAAC8C,SAAS,CAAC,iBAClBX,IAAA;UAAKyL,SAAS,EAAC,MAAM;UAAAD,QAAA,eACnBxL,IAAA,CAAClB,UAAU;YACTsN,WAAW,EAAEA,CAAA,KAAM7L,QAAQ,CAAC,CAAC,CAAC,CAAE;YAChC8L,cAAc,EAAE5D,YAAa;YAC7B1B,mBAAmB,EAAEF,uBAAwB;YAC7CyF,YAAY,EAAC,kBAAkB;YAC/BE,iBAAiB,EAAE5O,GAAG,CAAC8C,YAAY,EAAE,mBAAmB,CAAE;YAC1DlB,uBAAuB,EAAEA,uBAAuB,CAACmB,SAAS,CAAE;YAC5D8L,QAAQ,EAAEhK,aAAc;YACxBc,qBAAqB,EAAEA;UAAsB,CAC9C;QAAC,CACC,CACN;MAAA,CACE;IAAC,CACiB;EAC1B,CACD,CAAC;AAEP","ignoreList":[]}
1
+ {"version":3,"file":"Review.js","names":["Icon","React","useState","useEffect","useRef","useMemo","Skeleton","get","isEmpty","includes","isEqual","some","values","useNavigate","StepHeader","READY_TO_SUMBIT_INFO_TEXT","REVIEW_REFERRAL_DESCRIPTION","CONSENT_DESCRIPTION","CONSENT_COMPLETED","REVIEW_LOADING_SCREEN_DESCRIPTION","ReferralsSent","NoReferralsDisplay","setData","useAppCreateReferralContext","DeleteReferralModal","NavButtons","CreateReferralContainer","ReferralAuthorizationRequestSummary","useCreateReferrals","CALLBACKS","COMPONENTS","APP_ENVIRONMENT","FilePreviewWrapper","useCreateShareEvent","DocumentsListView","hasOffPlatformReferrals","isEmptyErrors","useFeatureFlag","referralToConsent","formatShortDate2FromTimestamp","useForwardReferral","DropdownMultiplesReferrals","jsx","_jsx","jsxs","_jsxs","Fragment","_Fragment","Review","_currentProvider$nh_c","_features$nh_consent2","_features$nh_consent3","navigate","dispatch","state","fieldsConfig","referrals","person","resourceListId","currentEmployee","currentProvider","caseId","referralId","referralType","serviceTypeName","crtb854ForwardingSuperset","featureFlagClientNeeds","cl1511NHConsentMvp","sent","updateSent","isSuccessfullyForwarded","setIsSuccessfullyForwarded","fieldErrors","setFieldErrors","expandedReferrals","setExpandedReferrals","deleteReferralModalIsOpen","setDeleteReferralModalIsOpen","selectedReferralToDelete","setSelectedReferralToDelete","selectedReferralToLink","setSelectedReferralToLink","consented","setConsented","consentCompleted","setConsentCompleted","disableSubmit","setDisableSubmit","loading","setLoading","formRefs","referralsResultDetail","setReferralsResultDetail","hasBeenSubmitted","setHasBeenSubmitted","referralsToConsent","setReferralsToConsent","nh_consent","showNHConsent","features","nhConsentEnabled","length","enabled","createShareEvent","isForwardReferralPath","referralSentSuccessfully","errors","Object","keys","reduce","acc","index","fieldError","referralSelected","hasMultipleReferrals","setReferralErrors","referralIndex","newErrors","prevFieldErrors","currentErrors","updatedErrors","_objectSpread","onChevronClick","expanded","map","ref","onDeleteReferralClick","onCloseDeleteReferralModal","r","i","attachedDocuments","attachableDocuments","filter","doc","attached","deleteModal","current","openDialog","closeDialog","sessionStorage","setItem","window","performance","navEntries","getEntriesByType","isRefresh","type","referralsWereSubmitted","getItem","removeItem","onReferralReload","error","console","deleteSelectedReferral","updatedReferrals","createReferrals","forwardReferral","handleSaveDraftReferral","draft","onSaveDraftReferral","err","setFocus","setTimeout","_errors$index","_formRefs$current","mutators","setFieldTouched","referralSelectedField","document","getElementById","focus","focusErrors","firstIndexWithErrors","find","idx","Boolean","parseInt","showReferralsNotifications","referralResponses","amountOfReferralsSent","_ref","totalReferrals","notify","success","warn","handleSubmit","_referrals$selectedRe","_forwardReferrals$err","referralToForward","forwardReferrals","fullyForwaded","detail","response","errorMessage","every","status","referralForwardedDeleted","splice","shippingDetail","item","newReferrals","originalReferral","createdReferrals","referral","_referral$data","data","push","_person$consent","consent","onConsentComplete","event","_event$data","consentAppUrl","consentUrl","eventOrigin","originIsConsentApp","onNavigateAway","onSubmitConsent","addEventListener","removeEventListener","_features$nh_consent","showingConsent","history","pushState","location","href","handlePopState","preventDefault","onReferralCompleted","_CALLBACKS$consent","Consent","isStepReferralSent","children","className","header","contact","initializedValue","updateGlobalState","dialogContentStyles","height","width","style","marginTop","icon","onBackClick","onForwardClick","primaryLabel","hideForwardButtons","hideSaveDraftLink","disabled","onClick","onNavigateBack","programs","isAuthRequired","concat","color","selectedReferral","ariaLabel","refModal","el","onCloseModal","onDeleteSelectedReferral","program","authorizationRequest","feeScheduleProgram","documents","uploadedFiles"],"sources":["../../../src/pages/review/Review.js"],"sourcesContent":["import { Icon } from '@unite-us/ui';\nimport React, { useState, useEffect, useRef, useMemo } from 'react';\nimport Skeleton from 'react-loading-skeleton';\nimport { get, isEmpty, includes, isEqual, some, values } from 'lodash';\nimport { useNavigate } from 'react-router-dom';\nimport StepHeader from '../../components/StepHeader';\nimport {\n READY_TO_SUMBIT_INFO_TEXT,\n REVIEW_REFERRAL_DESCRIPTION,\n CONSENT_DESCRIPTION,\n CONSENT_COMPLETED,\n REVIEW_LOADING_SCREEN_DESCRIPTION,\n} from './constants';\nimport ReferralsSent from './ReferralsSent';\nimport NoReferralsDisplay from '../builder/NoReferralsDisplay';\nimport { setData, useAppCreateReferralContext } from '../../context/AppCreateReferralProvider';\nimport DeleteReferralModal from './DeleteReferralModal';\nimport NavButtons from '../../components/NavButtons';\nimport CreateReferralContainer from '../../components/CreateReferralContainer';\nimport ReferralAuthorizationRequestSummary from '../../components/service_authorization/ReferralAuthorizationRequestSummary';\nimport useCreateReferrals from '../../hooks/useCreateReferrals';\nimport { CALLBACKS, COMPONENTS, APP_ENVIRONMENT } from '../../api/config';\nimport FilePreviewWrapper from '../../common/form/FileUploadV2/components/FilePreviewWrapper';\nimport useCreateShareEvent from '../../hooks/useCreateShareEvent';\nimport DocumentsListView from '../../common/form/DocumentUploader/components/DocumentsListView'\nimport { hasOffPlatformReferrals, isEmptyErrors } from '../builder/utils';\nimport { useFeatureFlag } from '../../utils/useFeatureFlag';\nimport referralToConsent from '../../utils/referralToConsent';\nimport { formatShortDate2FromTimestamp } from '../../components/service_authorization/formatShortDate';\nimport useForwardReferral from '../../hooks/useForwardReferral';\nimport DropdownMultiplesReferrals from './DropdownMultiplesReferrals';\n\nexport default function Review() {\n const navigate = useNavigate();\n\n const {\n dispatch,\n state: {\n fieldsConfig,\n referrals,\n person,\n resourceListId,\n currentEmployee,\n currentProvider,\n caseId,\n referralId,\n referralType,\n serviceTypeName,\n }\n } = useAppCreateReferralContext();\n\n const crtb854ForwardingSuperset = useFeatureFlag('crtb854ForwardingSuperset', false);\n const featureFlagClientNeeds = useFeatureFlag('crtb1788ClientNeeds', false);\n const cl1511NHConsentMvp = useFeatureFlag('cl1511NHConsentMvp', false);\n const [sent, updateSent] = useState(false);\n const [isSuccessfullyForwarded, setIsSuccessfullyForwarded] = useState(false);\n const [fieldErrors, setFieldErrors] = useState({})\n const [expandedReferrals, setExpandedReferrals] = useState([]);\n const [deleteReferralModalIsOpen, setDeleteReferralModalIsOpen] = useState(false);\n const [selectedReferralToDelete, setSelectedReferralToDelete] = useState(-1);\n const [selectedReferralToLink, setSelectedReferralToLink] = useState(0);\n // initialize with consent=true to permit ability to send referrals,\n // then redefine on submit to person's actual consent value to (possibly) show consent form.\n const [consented, setConsented] = useState(true);\n const [consentCompleted, setConsentCompleted] = useState(false);\n const [disableSubmit, setDisableSubmit] = useState(false);\n const [loading, setLoading] = useState(false);\n const formRefs = useRef({});\n const [referralsResultDetail, setReferralsResultDetail] = useState([]);\n const [hasBeenSubmitted, setHasBeenSubmitted] = useState(false);\n const [referralsToConsent, setReferralsToConsent] = useState([]);\n const nh_consent = currentProvider?.nh_consent ?? false;\n const showNHConsent = useMemo(() => {\n return cl1511NHConsentMvp && nh_consent\n }, [cl1511NHConsentMvp, nh_consent]);\n\n const features = useMemo(() => {\n const nhConsentEnabled = showNHConsent && referralsToConsent.length > 0;\n return {\n nh_consent: {\n enabled: nhConsentEnabled,\n referrals: nhConsentEnabled ? referralsToConsent : [],\n }\n };\n }, [showNHConsent, referralsToConsent]);\n\n const createShareEvent = useCreateShareEvent();\n const isForwardReferralPath = !!referralId && !!referralType;\n const referralSentSuccessfully = sent || isSuccessfullyForwarded;\n\n const errors = Object.keys(fieldErrors).reduce((acc, index) => {\n const fieldError = fieldErrors[index];\n acc[index] = {\n referralSelected: fieldError?.referralSelected,\n }\n return acc;\n }, {});\n\n const hasMultipleReferrals = () => referrals.length > 1;\n\n const setReferralErrors = (referralIndex, newErrors) => {\n setFieldErrors((prevFieldErrors) => {\n const currentErrors = prevFieldErrors[referralIndex];\n const updatedErrors = { ...currentErrors, ...newErrors };\n\n if (isEqual(updatedErrors, currentErrors)) {\n return prevFieldErrors;\n }\n\n return {\n ...prevFieldErrors,\n [referralIndex]: updatedErrors,\n };\n });\n };\n\n const onChevronClick = (index) => {\n const expanded = expandedReferrals?.map((ref) => {\n if (ref.index === index) {\n ref.expanded = !ref.expanded\n }\n return ref;\n })\n setExpandedReferrals(expanded);\n }\n\n const onDeleteReferralClick = (index) => {\n setSelectedReferralToDelete(index);\n setDeleteReferralModalIsOpen(true);\n }\n\n const onCloseDeleteReferralModal = () => {\n setDeleteReferralModalIsOpen(false);\n }\n\n useEffect(() => {\n const expanded = referrals?.map((r, i) => ({\n ...r,\n attachedDocuments: r.attachableDocuments ? r.attachableDocuments.filter((doc) => doc.attached) : [],\n expanded: true,\n index: i,\n }));\n setExpandedReferrals(expanded)\n }, [referrals]);\n\n const deleteModal = useRef([]);\n\n useEffect(() => {\n if (!isEmpty(referrals)) {\n if (deleteReferralModalIsOpen) {\n deleteModal.current[selectedReferralToDelete].openDialog();\n } else if (selectedReferralToDelete >= 0) {\n deleteModal.current[selectedReferralToDelete].closeDialog();\n setSelectedReferralToDelete(-1);\n }\n }\n }, [deleteReferralModalIsOpen, selectedReferralToDelete, referrals]);\n\nuseEffect(() => {\n if (referralsResultDetail?.length > 0) {\n sessionStorage.setItem('referralsSubmitted', 'true');\n }\n\n if (window.performance) {\n try {\n const navEntries = (performance.getEntriesByType && performance.getEntriesByType('navigation')) || [];\n const isRefresh = navEntries.length > 0 && navEntries[0].type === 'reload';\n const referralsWereSubmitted = sessionStorage.getItem('referralsSubmitted') === 'true';\n\n if (isRefresh && referralsWereSubmitted) {\n sessionStorage.removeItem('referralsSubmitted');\n CALLBACKS.onReferralReload();\n }\n } catch (error) {\n console.error(error);\n }\n }\n}, [referralsResultDetail]);\n\n const deleteSelectedReferral = () => {\n const updatedReferrals = referrals.filter((r, i) => i !== selectedReferralToDelete);\n dispatch(setData({\n referrals: [...updatedReferrals]\n }));\n onCloseDeleteReferralModal();\n }\n\n const createReferrals = useCreateReferrals();\n const forwardReferral = useForwardReferral();\n\n const handleSaveDraftReferral = async () => {\n try {\n await createReferrals({ draft: true });\n const { onSaveDraftReferral } = CALLBACKS;\n onSaveDraftReferral && onSaveDraftReferral();\n } catch (err) {\n console.error(err)\n }\n };\n\n const setFocus = (index) => {\n setTimeout(() => {\n if (errors[index]?.referralSelected) {\n formRefs.current?.mutators?.setFieldTouched('referralSelected', true);\n const referralSelectedField = document.getElementById(\"referralSelected\");\n return referralSelectedField.focus();\n }\n }, 100);\n }\n\n const focusErrors = () => {\n let index = 0;\n const firstIndexWithErrors = Object.keys(errors).find(idx =>\n some(values(errors[idx]), Boolean)\n );\n\n if (!some(values(errors[index]), Boolean) && firstIndexWithErrors) {\n index = parseInt(firstIndexWithErrors);\n }\n setFocus(index);\n };\n\n const showReferralsNotifications = (referralResponses) => {\n const amountOfReferralsSent = referralResponses.filter(({ sent }) => sent).length;\n const totalReferrals = referralResponses.length;\n\n if (amountOfReferralsSent === totalReferrals) {\n CALLBACKS.notify.success('Referrals created');\n } else if (amountOfReferralsSent > 0) {\n CALLBACKS.notify.warn('Some referrals created');\n } else {\n CALLBACKS.notify.error('No referrals created');\n }\n };\n\n const handleSubmit = async () => {\n if (isEmptyErrors(errors)) {\n setLoading(true);\n setDisableSubmit(true);\n\n try {\n if (isForwardReferralPath) {\n const referralToForward = referrals[selectedReferralToLink] ?? null;\n const forwardReferrals = await forwardReferral({\n caseId,\n referralToForward,\n });\n\n let fullyForwaded = false;\n let detail = [];\n let response = {\n referralsToConsent: [],\n };\n\n if (forwardReferrals !== false && !forwardReferrals?.errorMessage && forwardReferrals.every(response => response !== false)) {\n fullyForwaded = forwardReferrals.every(response => response?.status >= 200 && response?.status < 300);\n };\n\n if (referrals.length >= 2) {\n const referralForwardedDeleted = referrals.splice(selectedReferralToLink, 1);\n response = await createReferrals();\n detail = response.shippingDetail.map(item => ({\n index: item.index >= selectedReferralToLink ? item.index + 1 : item.index,\n sent: item.sent\n }));\n referrals.splice(selectedReferralToLink, 0, referralForwardedDeleted[0]);\n }\n\n const errorMessage = forwardReferrals?.errorMessage ?? (fullyForwaded ? null : \"Unexpected error\");\n detail.splice(selectedReferralToLink, 0, {\n index: selectedReferralToLink,\n sent: fullyForwaded,\n error: errorMessage\n });\n\n // Add forwarded referrals to the response.referralToConsent\n if (forwardReferrals && fullyForwaded && forwardReferrals !== false && !forwardReferrals?.errorMessage) {\n const newReferrals = referralToConsent({\n originalReferral: referralToForward,\n createdReferrals: forwardReferrals.map(referral => referral.data?.data),\n });\n\n if (newReferrals) response.referralsToConsent.push(newReferrals);\n }\n\n setIsSuccessfullyForwarded(fullyForwaded);\n setReferralsToConsent(response.referralsToConsent);\n setReferralsResultDetail(detail);\n showReferralsNotifications(detail);\n } else {\n const response = await createReferrals({ caseId });\n updateSent(true);\n const detail = response.shippingDetail.map(item => ({\n index: item.index,\n sent: item.sent\n }));\n\n setReferralsToConsent(response.referralsToConsent);\n setReferralsResultDetail(detail);\n showReferralsNotifications(detail);\n setConsented(person.consent?.state === 'accepted');\n // Create the share event for each referral only if the resource list id is present\n // This is being set from the resource list page or search page before navigating to the create referrals\n if (resourceListId) {\n response.referrals.map((referral) => createShareEvent(referral));\n }\n }\n } catch (err) {\n console.error(err);\n setDisableSubmit(false);\n } finally {\n setLoading(false);\n setHasBeenSubmitted(true)\n }\n } else {\n focusErrors();\n }\n };\n\n // When submitting consent through Consent App\n const onConsentComplete = async (event) => {\n const consentAppUrl = APP_ENVIRONMENT.consentUrl;\n const eventOrigin = get(event, 'origin');\n const originIsConsentApp = includes(consentAppUrl, eventOrigin);\n\n if (event?.data?.status === CONSENT_COMPLETED && originIsConsentApp) {\n CALLBACKS.notify.success('Your consent has been recorded.');\n onNavigateAway();\n }\n }\n\n // When not submitting consent through Consent App\n const onNavigateAway = () => {\n CALLBACKS.onSubmitConsent();\n setConsented(true);\n setConsentCompleted(true);\n }\n\n useEffect(() => {\n window.addEventListener('message', onConsentComplete);\n\n return () => {\n window.removeEventListener('message', onConsentComplete);\n };\n }, []);\n\n useEffect(() => {\n const showingConsent = referralSentSuccessfully && (!consented || (features.nh_consent?.enabled && !consentCompleted));\n\n if (showingConsent) {\n window.history.pushState(null, null, window.location.href);\n const handlePopState = (event) => {\n event.preventDefault();\n CALLBACKS.onReferralCompleted();\n };\n window.addEventListener('popstate', handlePopState);\n return () => {\n window.removeEventListener('popstate', handlePopState);\n };\n }\n }, [referralSentSuccessfully, consented, features.nh_consent?.enabled, consentCompleted]);\n\n if (referralSentSuccessfully && (!consented || (features.nh_consent?.enabled && !consentCompleted))) {\n const { Consent } = COMPONENTS;\n\n return (\n <CreateReferralContainer isStepReferralSent={true}>\n <div className=\"px-12 pb-12\">\n <StepHeader header={'Complete Consent'}>\n {CONSENT_DESCRIPTION}\n </StepHeader>\n <Consent\n contact={person}\n currentEmployee={currentEmployee}\n initializedValue=\"user_attestation\"\n updateGlobalState={CALLBACKS?.consent?.updateGlobalState}\n dialogContentStyles={'text-validation-red'}\n onNavigateAway={onNavigateAway}\n features={features}\n />\n </div>\n </CreateReferralContainer>\n );\n }\n\n return (\n <>\n {loading ? (\n <CreateReferralContainer>\n <div className=\"px-12\">\n <h2 className=\"text-base font-proxima font-semibold text-[18px] leading-[28px] text-center mt-5\">\n {REVIEW_LOADING_SCREEN_DESCRIPTION}\n </h2>\n <div className=\"flex justify-center items-center mt-6\">\n <div className=\"py-20 bg-white w-full max-w-4xl px-4 md:px-8 lg:px-16\">\n <div className=\"flex flex-col justify-center items-center\">\n <Skeleton height={50} width={0.9 * 800} style={{ marginTop: 12 }} />\n <Skeleton height={20} width={0.9 * 800} style={{ marginTop: 12 }} />\n <Skeleton height={80} width={0.9 * 800} style={{ marginTop: 12 }} />\n </div>\n <div className=\"flex flex-row justify-center items-center flex-wrap gap-4 mt-4\">\n <Skeleton height={50} width={0.9 * 394} style={{ marginTop: 12 }} />\n <Skeleton height={50} width={0.9 * 394} style={{ marginTop: 12 }} />\n </div>\n </div>\n </div>\n </div>\n </CreateReferralContainer>\n ) : (hasBeenSubmitted) ?\n <ReferralsSent\n referrals={referrals}\n referralsResultDetail={referralsResultDetail}\n isSuccessfullyForwarded={isSuccessfullyForwarded}\n isForwardReferralPath={isForwardReferralPath}\n />\n : (\n <CreateReferralContainer>\n <div className=\"px-12\">\n <StepHeader icon header={'Review Referrals'}>\n {REVIEW_REFERRAL_DESCRIPTION}\n </StepHeader>\n\n <NavButtons\n onBackClick={() => navigate(-1)}\n onForwardClick={handleSubmit}\n onSaveDraftReferral={handleSaveDraftReferral}\n primaryLabel=\"Confirm & Submit\"\n hideForwardButtons={isEmpty(referrals)}\n hideSaveDraftLink={get(fieldsConfig, 'hideSaveDraftLink')}\n hasOffPlatformReferrals={hasOffPlatformReferrals(referrals)}\n disabled={disableSubmit}\n isForwardReferralPath={isForwardReferralPath}\n />\n\n {hasMultipleReferrals() && crtb854ForwardingSuperset && isForwardReferralPath && <DropdownMultiplesReferrals referrals={referrals} setReferralErrors={setReferralErrors} formRefs={formRefs} setSelectedReferralToLink={setSelectedReferralToLink} serviceTypeName={serviceTypeName} />}\n\n {isEmpty(referrals) ? (\n <NoReferralsDisplay onClick={() => CALLBACKS.onNavigateBack()} />\n ) : (\n expandedReferrals?.map((referral, index) => {\n const { programs } = referral;\n const isAuthRequired = get(referral, 'programs[0].fee_schedule_program.authorization_required');\n\n return (\n <div className=\"mb-6 mx-auto responsive-max-width\" key={`referral-review-card-${index}`} data-testid={`referral-review-card-${index}`}>\n <div className={`bg-white border border-solid border-blue-border ${referral?.expanded ? \"rounded-t-lg\" : \"rounded\"}`}>\n <div className=\"py-6 px-8 flex justify-between\">\n <h2 className=\"uppercase font-black text-grey text-base\">Referral {index + 1}: {get(referral, 'service.name')}</h2>\n <div>\n <Icon\n icon=\"IconPencil\"\n color=\"#182A44\"\n className=\"mr-3\"\n onClick={() => navigate('/create/builder', { state: { selectedReferral: index } })}\n data-testid={`referral-review-pencil-${index}`}\n ariaLabel=\"edit\"\n />\n <Icon icon=\"IconTrash\" color=\"#182A44\" className=\"mr-3\" onClick={() => onDeleteReferralClick(index)} data-testid={`referral-review-card-trash-${index}`} ariaLabel=\"delete\" />\n <Icon\n icon={referral?.expanded ? \"IconChevronDown\" : \"IconChevronRight\"}\n color=\"#182A44\"\n onClick={() => onChevronClick(index)}\n data-testid={`referral-review-card-chevron-${index}`}\n ariaLabel=\"expand\"\n />\n </div>\n </div>\n </div>\n\n <DeleteReferralModal\n refModal={el => deleteModal.current[index] = el}\n onCloseModal={onCloseDeleteReferralModal}\n referral={referral}\n onDeleteSelectedReferral={deleteSelectedReferral}\n />\n\n {\n get(referral, 'expanded', true) ? (\n <div className=\"bg-white border border-solid border-blue-border rounded-b-lg\">\n <div className=\"pt-6 px-8 pb-16\">\n <div className=\"grid grid-cols-3\">\n <div className=\"col-span-2 p-2\">\n <h2 className=\"uppercase font-semibold mb-1 text-sm text-text-blue\">Referral Programs</h2>\n {\n programs.map((program, i) => (\n <p key={i}>\n {get(program, 'name')} {get(program, 'provider.name') ? '(' + get(program, 'provider.name') + ')' : ''}\n </p>\n ))\n }\n </div>\n <div className=\"col-span-1 p-2\">\n <h2 className=\"uppercase font-semibold mb-1 text-sm text-text-blue\">Referral Network</h2>\n <p>{get(referral, 'network.name')}</p>\n </div>\n {get(referral, 'paymentAuthForm') && isAuthRequired && (\n <div className=\"col-span-3 p-2\">\n <h2 className=\"uppercase font-semibold mb-1 text-sm text-text-blue\">Authorization Request</h2>\n <ReferralAuthorizationRequestSummary\n authorizationRequest={get(referral, 'paymentAuthForm')}\n feeScheduleProgram={get(referral, 'programs[0].fee_schedule_program')}\n />\n </div>\n )}\n <div className=\"col-span-2 mt-10 p-2\">\n <h2 className=\"uppercase font-semibold mb-1 text-sm text-text-blue\">Referral Description</h2>\n <p>{get(referral, 'description')}</p>\n </div>\n {get(referral, 'opened_date') && (\n <div className=\"col-span-1 mt-10 p-2\">\n <h2 className=\"uppercase font-semibold mb-1 text-sm text-text-blue\">Open Date</h2>\n <p>{formatShortDate2FromTimestamp(get(referral, 'opened_date'), true)}</p>\n </div>\n )}\n {featureFlagClientNeeds && get(referral, 'client_need.name') && (\n <div className=\"col-span-1 mt-10 p-2\">\n <h2 className=\"uppercase font-semibold mb-1 text-sm text-text-blue\">Associated Need</h2>\n <p>{get(referral, 'client_need.name')}</p>\n </div>\n )}\n {get(referral, 'primaryWorker.full_name') && (\n <div className=\"col-span-3 mt-10 p-2\">\n <h2 className=\"uppercase font-semibold mb-1 text-sm text-text-blue\">Primary Worker</h2>\n <p>{get(referral, 'primaryWorker.full_name')}</p>\n </div>\n )}\n <div className=\"col-span-3 mt-16 p-2\">\n <h2 className=\"uppercase font-semibold mb-1 text-sm text-text-blue\">Attached Documents</h2>\n {!isEmpty(get(referral, 'attachedDocuments')) && (\n <DocumentsListView documents={get(referral, 'attachedDocuments')} />\n )}\n {!isEmpty(get(referral, 'attachments')) && (\n <div className=\"file-upload-dropzone mb-3 mt-5\">\n <FilePreviewWrapper uploadedFiles={get(referral, 'attachments')} />\n </div>\n )}\n {isEmpty(get(referral, 'attachments')) && isEmpty(get(referral, 'attachedDocuments')) && (\n <p>No documents attached</p>\n )}\n </div>\n <div className=\"col-span-3 bg-light-pale-blue rounded mt-6 p-6 flex\">\n <Icon icon=\"IconExclamationCircle\" color=\"#182A44\" className=\"mt-px mr-4\" />\n <p>{READY_TO_SUMBIT_INFO_TEXT}</p>\n </div>\n </div>\n </div>\n </div>\n ) : null\n }\n </div>\n )\n })\n )}\n\n {!isEmpty(referrals) && (\n <div className=\"pb-6\">\n <NavButtons\n onBackClick={() => navigate(-1)}\n onForwardClick={handleSubmit}\n onSaveDraftReferral={handleSaveDraftReferral}\n primaryLabel=\"Confirm & Submit\"\n hideSaveDraftLink={get(fieldsConfig, 'hideSaveDraftLink')}\n hasOffPlatformReferrals={hasOffPlatformReferrals(referrals)}\n disabled={disableSubmit}\n isForwardReferralPath={isForwardReferralPath}\n />\n </div>\n )}\n </div>\n </CreateReferralContainer>\n )}\n </>\n )\n}\n"],"mappings":"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","ignoreList":[]}
@@ -1,32 +1,39 @@
1
+ import { coreApi } from '../api/config';
1
2
  const hasOffPlatformReferrals = referrals => {
2
3
  return referrals.some(referral => referral.state === 'off_platform');
3
4
  };
4
- const referralToConsent = _ref => {
5
+ const shouldSkipConsent = (originalReferral, createdReferrals) => {
6
+ return !originalReferral || createdReferrals.length === 0 || hasOffPlatformReferrals(createdReferrals);
7
+ };
8
+ const hasConsentFeature = originalReferral => {
9
+ var _originalReferral$net;
10
+ return (_originalReferral$net = originalReferral.network) === null || _originalReferral$net === void 0 || (_originalReferral$net = _originalReferral$net.features) === null || _originalReferral$net === void 0 ? void 0 : _originalReferral$net.nh_consent;
11
+ };
12
+ const getProgramName = (referral, originalReferral) => {
13
+ var _referral$receiving_p, _originalReferral$pro;
14
+ if ((referral === null || referral === void 0 ? void 0 : referral.category) === "external_provider") {
15
+ return referral.text;
16
+ }
17
+ const receivingProviderId = (_referral$receiving_p = referral.receiving_provider) === null || _referral$receiving_p === void 0 ? void 0 : _referral$receiving_p.id;
18
+ return ((_originalReferral$pro = originalReferral.programs) === null || _originalReferral$pro === void 0 || (_originalReferral$pro = _originalReferral$pro.find(program => program.provider.id === receivingProviderId)) === null || _originalReferral$pro === void 0 ? void 0 : _originalReferral$pro.name) || 'Unknown Program';
19
+ };
20
+ const referralToConsent = async _ref => {
5
21
  var _originalReferral$ser;
6
22
  let {
7
23
  originalReferral,
8
24
  createdReferrals = []
9
25
  } = _ref;
10
- if (!originalReferral || createdReferrals.length === 0) {
26
+ if (shouldSkipConsent(originalReferral, createdReferrals)) {
11
27
  return null;
12
28
  }
13
- if (hasOffPlatformReferrals(createdReferrals)) {
29
+ await coreApi.populateRelationship('network', 'network', originalReferral);
30
+ if (!hasConsentFeature(originalReferral)) {
14
31
  return null;
15
32
  }
16
33
  const serviceName = ((_originalReferral$ser = originalReferral.service) === null || _originalReferral$ser === void 0 ? void 0 : _originalReferral$ser.name) || 'Unknown Service';
17
- const programNames = createdReferrals.map(referral => {
18
- var _referral$receiving_p, _originalReferral$pro;
19
- if ((referral === null || referral === void 0 ? void 0 : referral.category) === "external_provider") {
20
- return referral.text;
21
- }
22
- ;
23
- const receivingProviderId = (_referral$receiving_p = referral.receiving_provider) === null || _referral$receiving_p === void 0 ? void 0 : _referral$receiving_p.id;
24
- return ((_originalReferral$pro = originalReferral.programs) === null || _originalReferral$pro === void 0 || (_originalReferral$pro = _originalReferral$pro.find(program => program.provider.id === receivingProviderId)) === null || _originalReferral$pro === void 0 ? void 0 : _originalReferral$pro.name) || 'Unknown Program';
25
- });
34
+ const programNames = createdReferrals.map(referral => getProgramName(referral, originalReferral));
26
35
  return {
27
36
  serviceName,
28
- receivingProviderNames: programNames,
29
- // this is temporary because consent-app expects receivingProviderNames instead
30
37
  programNames,
31
38
  referrals: createdReferrals.map(createdReferral => createdReferral.id)
32
39
  };
@@ -1 +1 @@
1
- {"version":3,"file":"referralToConsent.js","names":["hasOffPlatformReferrals","referrals","some","referral","state","referralToConsent","_ref","_originalReferral$ser","originalReferral","createdReferrals","length","serviceName","service","name","programNames","map","_referral$receiving_p","_originalReferral$pro","category","text","receivingProviderId","receiving_provider","id","programs","find","program","provider","receivingProviderNames","createdReferral"],"sources":["../../src/utils/referralToConsent.js"],"sourcesContent":["const hasOffPlatformReferrals = (referrals) => {\n return referrals.some(referral => referral.state === 'off_platform');\n};\n\nconst referralToConsent = ({ originalReferral, createdReferrals = [] }) => {\n if (!originalReferral || createdReferrals.length === 0) {\n return null;\n }\n\n if (hasOffPlatformReferrals(createdReferrals)) {\n return null;\n }\n\n const serviceName = originalReferral.service?.name || 'Unknown Service';\n const programNames = createdReferrals\n .map((referral) => {\n if (referral?.category === \"external_provider\") {\n return referral.text;\n };\n const receivingProviderId = referral.receiving_provider?.id;\n return originalReferral.programs?.find(\n (program) => program.provider.id === receivingProviderId\n )?.name || 'Unknown Program';\n });\n\n return {\n serviceName,\n receivingProviderNames: programNames, // this is temporary because consent-app expects receivingProviderNames instead\n programNames,\n referrals: createdReferrals.map((createdReferral) => createdReferral.id),\n };\n}\n\nexport default referralToConsent;\n"],"mappings":"AAAA,MAAMA,uBAAuB,GAAIC,SAAS,IAAK;EAC7C,OAAOA,SAAS,CAACC,IAAI,CAACC,QAAQ,IAAIA,QAAQ,CAACC,KAAK,KAAK,cAAc,CAAC;AACtE,CAAC;AAED,MAAMC,iBAAiB,GAAGC,IAAA,IAAiD;EAAA,IAAAC,qBAAA;EAAA,IAAhD;IAAEC,gBAAgB;IAAEC,gBAAgB,GAAG;EAAG,CAAC,GAAAH,IAAA;EACpE,IAAI,CAACE,gBAAgB,IAAIC,gBAAgB,CAACC,MAAM,KAAK,CAAC,EAAE;IACtD,OAAO,IAAI;EACb;EAEA,IAAIV,uBAAuB,CAACS,gBAAgB,CAAC,EAAE;IAC7C,OAAO,IAAI;EACb;EAEA,MAAME,WAAW,GAAG,EAAAJ,qBAAA,GAAAC,gBAAgB,CAACI,OAAO,cAAAL,qBAAA,uBAAxBA,qBAAA,CAA0BM,IAAI,KAAI,iBAAiB;EACvE,MAAMC,YAAY,GAAGL,gBAAgB,CAClCM,GAAG,CAAEZ,QAAQ,IAAK;IAAA,IAAAa,qBAAA,EAAAC,qBAAA;IACjB,IAAI,CAAAd,QAAQ,aAARA,QAAQ,uBAARA,QAAQ,CAAEe,QAAQ,MAAK,mBAAmB,EAAE;MAC9C,OAAOf,QAAQ,CAACgB,IAAI;IACtB;IAAC;IACD,MAAMC,mBAAmB,IAAAJ,qBAAA,GAAGb,QAAQ,CAACkB,kBAAkB,cAAAL,qBAAA,uBAA3BA,qBAAA,CAA6BM,EAAE;IAC3D,OAAO,EAAAL,qBAAA,GAAAT,gBAAgB,CAACe,QAAQ,cAAAN,qBAAA,gBAAAA,qBAAA,GAAzBA,qBAAA,CAA2BO,IAAI,CACnCC,OAAO,IAAKA,OAAO,CAACC,QAAQ,CAACJ,EAAE,KAAKF,mBACvC,CAAC,cAAAH,qBAAA,uBAFMA,qBAAA,CAEJJ,IAAI,KAAI,iBAAiB;EAC9B,CAAC,CAAC;EAEJ,OAAO;IACLF,WAAW;IACXgB,sBAAsB,EAAEb,YAAY;IAAE;IACtCA,YAAY;IACZb,SAAS,EAAEQ,gBAAgB,CAACM,GAAG,CAAEa,eAAe,IAAKA,eAAe,CAACN,EAAE;EACzE,CAAC;AACH,CAAC;AAED,eAAejB,iBAAiB","ignoreList":[]}
1
+ {"version":3,"file":"referralToConsent.js","names":["coreApi","hasOffPlatformReferrals","referrals","some","referral","state","shouldSkipConsent","originalReferral","createdReferrals","length","hasConsentFeature","_originalReferral$net","network","features","nh_consent","getProgramName","_referral$receiving_p","_originalReferral$pro","category","text","receivingProviderId","receiving_provider","id","programs","find","program","provider","name","referralToConsent","_ref","_originalReferral$ser","populateRelationship","serviceName","service","programNames","map","createdReferral"],"sources":["../../src/utils/referralToConsent.js"],"sourcesContent":["import { coreApi } from '../api/config';\n\nconst hasOffPlatformReferrals = (referrals) => {\n return referrals.some(referral => referral.state === 'off_platform');\n};\n\nconst shouldSkipConsent = (originalReferral, createdReferrals) => {\n return !originalReferral ||\n createdReferrals.length === 0 ||\n hasOffPlatformReferrals(createdReferrals);\n};\n\nconst hasConsentFeature = (originalReferral) => {\n return originalReferral.network?.features?.nh_consent;\n};\n\nconst getProgramName = (referral, originalReferral) => {\n if (referral?.category === \"external_provider\") {\n return referral.text;\n }\n\n const receivingProviderId = referral.receiving_provider?.id;\n return originalReferral.programs?.find(\n (program) => program.provider.id === receivingProviderId\n )?.name || 'Unknown Program';\n};\n\nconst referralToConsent = async ({ originalReferral, createdReferrals = [] }) => {\n if (shouldSkipConsent(originalReferral, createdReferrals)) {\n return null;\n }\n\n await coreApi.populateRelationship('network', 'network', originalReferral);\n\n if (!hasConsentFeature(originalReferral)) {\n return null;\n }\n\n const serviceName = originalReferral.service?.name || 'Unknown Service';\n const programNames = createdReferrals.map((referral) =>\n getProgramName(referral, originalReferral)\n );\n\n return {\n serviceName,\n programNames,\n referrals: createdReferrals.map((createdReferral) => createdReferral.id),\n };\n}\n\nexport default referralToConsent;\n"],"mappings":"AAAA,SAASA,OAAO,QAAQ,eAAe;AAEvC,MAAMC,uBAAuB,GAAIC,SAAS,IAAK;EAC7C,OAAOA,SAAS,CAACC,IAAI,CAACC,QAAQ,IAAIA,QAAQ,CAACC,KAAK,KAAK,cAAc,CAAC;AACtE,CAAC;AAED,MAAMC,iBAAiB,GAAGA,CAACC,gBAAgB,EAAEC,gBAAgB,KAAK;EAChE,OAAO,CAACD,gBAAgB,IACjBC,gBAAgB,CAACC,MAAM,KAAK,CAAC,IAC7BR,uBAAuB,CAACO,gBAAgB,CAAC;AAClD,CAAC;AAED,MAAME,iBAAiB,GAAIH,gBAAgB,IAAK;EAAA,IAAAI,qBAAA;EAC9C,QAAAA,qBAAA,GAAOJ,gBAAgB,CAACK,OAAO,cAAAD,qBAAA,gBAAAA,qBAAA,GAAxBA,qBAAA,CAA0BE,QAAQ,cAAAF,qBAAA,uBAAlCA,qBAAA,CAAoCG,UAAU;AACvD,CAAC;AAED,MAAMC,cAAc,GAAGA,CAACX,QAAQ,EAAEG,gBAAgB,KAAK;EAAA,IAAAS,qBAAA,EAAAC,qBAAA;EACrD,IAAI,CAAAb,QAAQ,aAARA,QAAQ,uBAARA,QAAQ,CAAEc,QAAQ,MAAK,mBAAmB,EAAE;IAC9C,OAAOd,QAAQ,CAACe,IAAI;EACtB;EAEA,MAAMC,mBAAmB,IAAAJ,qBAAA,GAAGZ,QAAQ,CAACiB,kBAAkB,cAAAL,qBAAA,uBAA3BA,qBAAA,CAA6BM,EAAE;EAC3D,OAAO,EAAAL,qBAAA,GAAAV,gBAAgB,CAACgB,QAAQ,cAAAN,qBAAA,gBAAAA,qBAAA,GAAzBA,qBAAA,CAA2BO,IAAI,CACnCC,OAAO,IAAKA,OAAO,CAACC,QAAQ,CAACJ,EAAE,KAAKF,mBACvC,CAAC,cAAAH,qBAAA,uBAFMA,qBAAA,CAEJU,IAAI,KAAI,iBAAiB;AAC9B,CAAC;AAED,MAAMC,iBAAiB,GAAG,MAAAC,IAAA,IAAuD;EAAA,IAAAC,qBAAA;EAAA,IAAhD;IAAEvB,gBAAgB;IAAEC,gBAAgB,GAAG;EAAG,CAAC,GAAAqB,IAAA;EAC1E,IAAIvB,iBAAiB,CAACC,gBAAgB,EAAEC,gBAAgB,CAAC,EAAE;IACzD,OAAO,IAAI;EACb;EAEA,MAAMR,OAAO,CAAC+B,oBAAoB,CAAC,SAAS,EAAE,SAAS,EAAExB,gBAAgB,CAAC;EAE1E,IAAI,CAACG,iBAAiB,CAACH,gBAAgB,CAAC,EAAE;IACxC,OAAO,IAAI;EACb;EAEA,MAAMyB,WAAW,GAAG,EAAAF,qBAAA,GAAAvB,gBAAgB,CAAC0B,OAAO,cAAAH,qBAAA,uBAAxBA,qBAAA,CAA0BH,IAAI,KAAI,iBAAiB;EACvE,MAAMO,YAAY,GAAG1B,gBAAgB,CAAC2B,GAAG,CAAE/B,QAAQ,IACjDW,cAAc,CAACX,QAAQ,EAAEG,gBAAgB,CAC3C,CAAC;EAED,OAAO;IACLyB,WAAW;IACXE,YAAY;IACZhC,SAAS,EAAEM,gBAAgB,CAAC2B,GAAG,CAAEC,eAAe,IAAKA,eAAe,CAACd,EAAE;EACzE,CAAC;AACH,CAAC;AAED,eAAeM,iBAAiB","ignoreList":[]}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@unite-us/app-create-referral",
3
- "version": "0.15.63",
3
+ "version": "0.15.64-CL-2024.1",
4
4
  "main": "./dist/index.js",
5
5
  "files": [
6
6
  "dist/**"