@unite-us/app-create-referral 0.15.166 → 0.15.168
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/AppReferrals.js +3 -4
- package/dist/AppReferrals.js.map +1 -1
- package/dist/AppReferrals.test.js +27 -20
- package/dist/AppReferrals.test.js.map +1 -1
- package/dist/__testUtils__/mockData/utils.js +13 -19
- package/dist/__testUtils__/mockData/utils.js.map +1 -1
- package/dist/__testUtils__/mockServer/handlers.js +7 -13
- package/dist/__testUtils__/mockServer/handlers.js.map +1 -1
- package/dist/__testUtils__/test-utils.js +10 -15
- package/dist/__testUtils__/test-utils.js.map +1 -1
- package/dist/actions/Document/Contact/Group/fileUploadUtils.js +1 -1
- package/dist/actions/Document/Contact/Group/fileUploadUtils.js.map +1 -1
- package/dist/actions/Group/fetchCoreGroupForms.js +1 -1
- package/dist/actions/Group/fetchCoreGroupForms.js.map +1 -1
- package/dist/actions/Referral/cannotMoveToReferralReasons.js +10 -11
- package/dist/actions/Referral/cannotMoveToReferralReasons.js.map +1 -1
- package/dist/actions/Referral/fetchCoreServices.js +19 -25
- package/dist/actions/Referral/fetchCoreServices.js.map +1 -1
- package/dist/actions/Referral/removeReferralProgram.js +3 -5
- package/dist/actions/Referral/removeReferralProgram.js.map +1 -1
- package/dist/api/ApiHooks.js +39 -36
- package/dist/api/ApiHooks.js.map +1 -1
- package/dist/api/config.js +9 -8
- package/dist/api/config.js.map +1 -1
- package/dist/common/form/CurrencyField/index.js +3 -5
- package/dist/common/form/CurrencyField/index.js.map +1 -1
- package/dist/common/form/DocumentUploader/components/ContactDocumentsSelector.js +3 -3
- package/dist/common/form/DocumentUploader/components/ContactDocumentsSelector.js.map +1 -1
- package/dist/common/form/DocumentUploader/components/DocumentsListView.js +1 -1
- package/dist/common/form/DocumentUploader/components/DocumentsListView.js.map +1 -1
- package/dist/common/form/FileUploadV2/FileUpload.js +27 -15
- package/dist/common/form/FileUploadV2/FileUpload.js.map +1 -1
- package/dist/common/form/FileUploadV2/FileUpload.test.js +6 -10
- package/dist/common/form/FileUploadV2/FileUpload.test.js.map +1 -1
- package/dist/common/form/FileUploadV2/components/FilePreviewWrapper.js +6 -7
- package/dist/common/form/FileUploadV2/components/FilePreviewWrapper.js.map +1 -1
- package/dist/common/form/FormForm/index.js +10 -10
- package/dist/common/form/FormForm/index.js.map +1 -1
- package/dist/components/DollarAmount.js +2 -2
- package/dist/components/DollarAmount.js.map +1 -1
- package/dist/components/LineItem.js +1 -1
- package/dist/components/LineItem.js.map +1 -1
- package/dist/components/ReferralStepper.js +4 -5
- package/dist/components/ReferralStepper.js.map +1 -1
- package/dist/components/SearchableField.js +3 -4
- package/dist/components/SearchableField.js.map +1 -1
- package/dist/components/Stepper.js +7 -7
- package/dist/components/Stepper.js.map +1 -1
- package/dist/components/modal/Dialog.js +15 -10
- package/dist/components/modal/Dialog.js.map +1 -1
- package/dist/components/service_authorization/AuthorizationSpendCard.js +5 -5
- package/dist/components/service_authorization/AuthorizationSpendCard.js.map +1 -1
- package/dist/components/service_authorization/CapsInfo.js +10 -10
- package/dist/components/service_authorization/CapsInfo.js.map +1 -1
- package/dist/components/service_authorization/CaseStatus.js +2 -2
- package/dist/components/service_authorization/CaseStatus.js.map +1 -1
- package/dist/components/service_authorization/PreviousAuthorizationRequestsDetails.js +1 -2
- package/dist/components/service_authorization/PreviousAuthorizationRequestsDetails.js.map +1 -1
- package/dist/components/service_authorization/ReferralAuthSpendExpandable.js +2 -2
- package/dist/components/service_authorization/ReferralAuthSpendExpandable.js.map +1 -1
- package/dist/components/service_authorization/ReferralAuthorizationRequestSummary.js +4 -4
- package/dist/components/service_authorization/ReferralAuthorizationRequestSummary.js.map +1 -1
- package/dist/components/service_authorization/formatShortDate.js +1 -1
- package/dist/components/service_authorization/formatShortDate.js.map +1 -1
- package/dist/components/spinners/Spinner/Spinner.js +1 -1
- package/dist/components/spinners/Spinner/Spinner.js.map +1 -1
- package/dist/context/AppCreateReferralProvider.js +4 -4
- package/dist/context/AppCreateReferralProvider.js.map +1 -1
- package/dist/context/state.js +14 -6
- package/dist/context/state.js.map +1 -1
- package/dist/context/withAppCreateReferralContext.js +3 -5
- package/dist/context/withAppCreateReferralContext.js.map +1 -1
- package/dist/hooks/__tests__/useCreateReferrals.test.js +19 -17
- package/dist/hooks/__tests__/useCreateReferrals.test.js.map +1 -1
- package/dist/hooks/sendReferral.js +38 -35
- package/dist/hooks/sendReferral.js.map +1 -1
- package/dist/hooks/useClinicalModificationOptions.js +1 -2
- package/dist/hooks/useClinicalModificationOptions.js.map +1 -1
- package/dist/hooks/useCreateReferrals.js +107 -90
- package/dist/hooks/useCreateReferrals.js.map +1 -1
- package/dist/hooks/useCreateResourceList.js +11 -12
- package/dist/hooks/useCreateResourceList.js.map +1 -1
- package/dist/hooks/useCreateShareEvent.js +2 -2
- package/dist/hooks/useCreateShareEvent.js.map +1 -1
- package/dist/hooks/useForwardReferral.js +36 -36
- package/dist/hooks/useForwardReferral.js.map +1 -1
- package/dist/hooks/useUpdateResourceList.js +16 -17
- package/dist/hooks/useUpdateResourceList.js.map +1 -1
- package/dist/pages/builder/ReferralBuilder.js +32 -31
- package/dist/pages/builder/ReferralBuilder.js.map +1 -1
- package/dist/pages/builder/ReferralBuilderForm.js +7 -10
- package/dist/pages/builder/ReferralBuilderForm.js.map +1 -1
- package/dist/pages/builder/ReferralBuilderFormContent.js +43 -36
- package/dist/pages/builder/ReferralBuilderFormContent.js.map +1 -1
- package/dist/pages/builder/__tests__/AuthorizationRequiredPrograms.test.js +1 -1
- package/dist/pages/builder/__tests__/AuthorizationRequiredPrograms.test.js.map +1 -1
- package/dist/pages/builder/__tests__/NonSensitiveGroupedPrograms.test.js +16 -16
- package/dist/pages/builder/__tests__/NonSensitiveGroupedPrograms.test.js.map +1 -1
- package/dist/pages/builder/__tests__/NonSensitiveSingleProgram.test.js +12 -12
- package/dist/pages/builder/__tests__/NonSensitiveSingleProgram.test.js.map +1 -1
- package/dist/pages/builder/__tests__/ReferralBuilderForm.attachments.test.js +19 -14
- package/dist/pages/builder/__tests__/ReferralBuilderForm.attachments.test.js.map +1 -1
- package/dist/pages/builder/__tests__/SensitiveProviderGroupedPrograms.test.js +12 -12
- package/dist/pages/builder/__tests__/SensitiveProviderGroupedPrograms.test.js.map +1 -1
- package/dist/pages/builder/__tests__/SensitiveServiceGroupedPrograms.test.js +1 -1
- package/dist/pages/builder/__tests__/SensitiveServiceGroupedPrograms.test.js.map +1 -1
- package/dist/pages/builder/__tests__/SensitiveServiceSensitiveProviderGroupedPrograms.test.js +7 -7
- package/dist/pages/builder/__tests__/SensitiveServiceSensitiveProviderGroupedPrograms.test.js.map +1 -1
- package/dist/pages/builder/__tests__/SensitiveSingleProgram.test.js +15 -17
- package/dist/pages/builder/__tests__/SensitiveSingleProgram.test.js.map +1 -1
- package/dist/pages/builder/__tests__/buildDraftState.test.js +4 -6
- package/dist/pages/builder/__tests__/buildDraftState.test.js.map +1 -1
- package/dist/pages/builder/__tests__/buildGroupedReferrals.networkBug.test.js +4 -10
- package/dist/pages/builder/__tests__/buildGroupedReferrals.networkBug.test.js.map +1 -1
- package/dist/pages/builder/buildDraftState.js +2 -2
- package/dist/pages/builder/buildDraftState.js.map +1 -1
- package/dist/pages/builder/components/AuthorizationSubform.js +19 -19
- package/dist/pages/builder/components/AuthorizationSubform.js.map +1 -1
- package/dist/pages/builder/components/ChooseOneServiceTypeModal.js +5 -6
- package/dist/pages/builder/components/ChooseOneServiceTypeModal.js.map +1 -1
- package/dist/pages/builder/components/ProgramHeader.js +1 -1
- package/dist/pages/builder/components/ProgramHeader.js.map +1 -1
- package/dist/pages/builder/components/ProgramMenu.js +1 -1
- package/dist/pages/builder/components/ProgramMenu.js.map +1 -1
- package/dist/pages/builder/components/ReferralBuilderContent.js +5 -4
- package/dist/pages/builder/components/ReferralBuilderContent.js.map +1 -1
- package/dist/pages/builder/components/ReferralCard.js +11 -11
- package/dist/pages/builder/components/ReferralCard.js.map +1 -1
- package/dist/pages/builder/components/ReferralClientNeedsField.js +4 -6
- package/dist/pages/builder/components/ReferralClientNeedsField.js.map +1 -1
- package/dist/pages/builder/components/ReferralProgramCard.js +2 -2
- package/dist/pages/builder/components/ReferralProgramCard.js.map +1 -1
- package/dist/pages/builder/components/ReferralProgramMenu.js +3 -3
- package/dist/pages/builder/components/ReferralProgramMenu.js.map +1 -1
- package/dist/pages/builder/constants.js +18 -7
- package/dist/pages/builder/constants.js.map +1 -1
- package/dist/pages/builder/hooks/useBuildReferrals.js +6 -13
- package/dist/pages/builder/hooks/useBuildReferrals.js.map +1 -1
- package/dist/pages/builder/hooks/useReferralMutations.js +22 -15
- package/dist/pages/builder/hooks/useReferralMutations.js.map +1 -1
- package/dist/pages/builder/utils/buildGroupedReferrals.js +14 -25
- package/dist/pages/builder/utils/buildGroupedReferrals.js.map +1 -1
- package/dist/pages/builder/utils/buildGroupedReferralsHelpers.js +20 -40
- package/dist/pages/builder/utils/buildGroupedReferralsHelpers.js.map +1 -1
- package/dist/pages/builder/utils/formatProgramDetail.js +16 -18
- package/dist/pages/builder/utils/formatProgramDetail.js.map +1 -1
- package/dist/pages/builder/utils/referralBuilderFormDraftAuth.js +26 -26
- package/dist/pages/builder/utils/referralBuilderFormDraftAuth.js.map +1 -1
- package/dist/pages/builder/utils/referralBuilderFormUtils.js +15 -24
- package/dist/pages/builder/utils/referralBuilderFormUtils.js.map +1 -1
- package/dist/pages/builder/utils/referralBuilderFormValidation.js +20 -24
- package/dist/pages/builder/utils/referralBuilderFormValidation.js.map +1 -1
- package/dist/pages/builder/utils/referralBuilderUtils.js +20 -34
- package/dist/pages/builder/utils/referralBuilderUtils.js.map +1 -1
- package/dist/pages/builder/utils.js +45 -64
- package/dist/pages/builder/utils.js.map +1 -1
- package/dist/pages/review/DropdownMultiplesReferrals.js +12 -14
- package/dist/pages/review/DropdownMultiplesReferrals.js.map +1 -1
- package/dist/pages/review/ReferralsSent.js +19 -26
- package/dist/pages/review/ReferralsSent.js.map +1 -1
- package/dist/pages/review/Review.js +69 -88
- package/dist/pages/review/Review.js.map +1 -1
- package/dist/pages/review/SuccessReferralRedesign.js +2 -2
- package/dist/pages/review/SuccessReferralRedesign.js.map +1 -1
- package/dist/pages/review/__tests__/ReferralsSent.test.js +16 -16
- package/dist/pages/review/__tests__/ReferralsSent.test.js.map +1 -1
- package/dist/pages/review/__tests__/Review.test.js +30 -22
- package/dist/pages/review/__tests__/Review.test.js.map +1 -1
- package/dist/pages/review/constants.js +3 -3
- package/dist/pages/review/constants.js.map +1 -1
- package/dist/pages/review/referralStatusRedesign.js +5 -6
- package/dist/pages/review/referralStatusRedesign.js.map +1 -1
- package/dist/pages/supporting-info/SupportingInfo.js +14 -21
- package/dist/pages/supporting-info/SupportingInfo.js.map +1 -1
- package/dist/utils/attachmentUtils.js +1 -1
- package/dist/utils/attachmentUtils.js.map +1 -1
- package/dist/utils/handleDraftSaveResponse.js +1 -1
- package/dist/utils/handleDraftSaveResponse.js.map +1 -1
- package/dist/utils/referralToConsent.js +5 -8
- package/dist/utils/referralToConsent.js.map +1 -1
- package/dist/utils/validateCostAmount.js +1 -1
- package/dist/utils/validateCostAmount.js.map +1 -1
- package/dist/utils/validateUnitAmount.js +1 -1
- package/dist/utils/validateUnitAmount.js.map +1 -1
- package/package.json +1 -1
|
@@ -1,6 +1,3 @@
|
|
|
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; }
|
|
4
1
|
import { compact, some, get, head, flatMap, intersectionBy, uniqBy, groupBy, isEmpty } from 'lodash';
|
|
5
2
|
import { OFF_PLATFORM_REFERRALS_ONLY } from './constants';
|
|
6
3
|
import { resolveAttachmentFields } from '../../utils/attachmentUtils';
|
|
@@ -24,7 +21,6 @@ const mapProgramsPerService = programs => {
|
|
|
24
21
|
return result;
|
|
25
22
|
};
|
|
26
23
|
const buildReferral = (programIds, service, currentProvider, draftState) => {
|
|
27
|
-
var _draftState$descripti, _draftState$client_ne, _draftState$network;
|
|
28
24
|
const {
|
|
29
25
|
persistedAttachments,
|
|
30
26
|
pendingAttachments,
|
|
@@ -37,7 +33,7 @@ const buildReferral = (programIds, service, currentProvider, draftState) => {
|
|
|
37
33
|
service: {
|
|
38
34
|
id: service
|
|
39
35
|
},
|
|
40
|
-
description:
|
|
36
|
+
description: draftState?.description ?? '',
|
|
41
37
|
primaryWorker: null,
|
|
42
38
|
persistedAttachments,
|
|
43
39
|
removablePersistedAttachments,
|
|
@@ -48,12 +44,12 @@ const buildReferral = (programIds, service, currentProvider, draftState) => {
|
|
|
48
44
|
service_end: null,
|
|
49
45
|
icd10_code: {}
|
|
50
46
|
},
|
|
51
|
-
client_need:
|
|
52
|
-
network:
|
|
47
|
+
client_need: draftState?.client_need ?? null,
|
|
48
|
+
network: draftState?.network ?? null,
|
|
53
49
|
sendingProvider: currentProvider,
|
|
54
|
-
id: draftState
|
|
55
|
-
state: draftState
|
|
56
|
-
case: draftState
|
|
50
|
+
id: draftState?.id,
|
|
51
|
+
state: draftState?.state,
|
|
52
|
+
case: draftState?.case
|
|
57
53
|
};
|
|
58
54
|
};
|
|
59
55
|
export const buildReferralsFromPrograms = (programs, currentProvider, draftState) => {
|
|
@@ -68,25 +64,17 @@ export const buildReferralsFromPrograms = (programs, currentProvider, draftState
|
|
|
68
64
|
}
|
|
69
65
|
return referrals;
|
|
70
66
|
};
|
|
71
|
-
export const filterProgramsReceivingReferrals = referrals => referrals.map(ref =>
|
|
72
|
-
|
|
73
|
-
|
|
74
|
-
return program.receiving_referrals || (program === null || program === void 0 || (_program$status = program.status) === null || _program$status === void 0 ? void 0 : _program$status.toLowerCase()) === OFF_PLATFORM_REFERRALS_ONLY;
|
|
75
|
-
})
|
|
67
|
+
export const filterProgramsReceivingReferrals = referrals => referrals.map(ref => ({
|
|
68
|
+
...ref,
|
|
69
|
+
programs: ref.programs.filter(program => program.receiving_referrals || program?.status?.toLowerCase() === OFF_PLATFORM_REFERRALS_ONLY)
|
|
76
70
|
})).filter(ref => ref.programs.length > 0);
|
|
77
71
|
export const referralIsGrouped = referral => referral.programs.length > 1;
|
|
78
72
|
export const programIsFunded = program => program.fee_schedule_program != null;
|
|
79
73
|
export const referralIsFunded = referral => {
|
|
80
74
|
return referral.programs.every(programIsFunded);
|
|
81
75
|
};
|
|
82
|
-
export const programIsOffPlatform = program =>
|
|
83
|
-
|
|
84
|
-
return !(program !== null && program !== void 0 && (_program$provider = program.provider) !== null && _program$provider !== void 0 && _program$provider.licensed) || (program === null || program === void 0 || (_program$provider2 = program.provider) === null || _program$provider2 === void 0 ? void 0 : _program$provider2.licensed) && (program === null || program === void 0 || (_program$status2 = program.status) === null || _program$status2 === void 0 ? void 0 : _program$status2.toLowerCase()) === OFF_PLATFORM_REFERRALS_ONLY;
|
|
85
|
-
};
|
|
86
|
-
export const programIsOnPlatform = program => {
|
|
87
|
-
var _program$provider3, _program$status3;
|
|
88
|
-
return (program === null || program === void 0 || (_program$provider3 = program.provider) === null || _program$provider3 === void 0 ? void 0 : _program$provider3.licensed) && (program === null || program === void 0 || (_program$status3 = program.status) === null || _program$status3 === void 0 ? void 0 : _program$status3.toLowerCase()) !== OFF_PLATFORM_REFERRALS_ONLY;
|
|
89
|
-
};
|
|
76
|
+
export const programIsOffPlatform = program => !program?.provider?.licensed || program?.provider?.licensed && program?.status?.toLowerCase() === OFF_PLATFORM_REFERRALS_ONLY;
|
|
77
|
+
export const programIsOnPlatform = program => program?.provider?.licensed && program?.status?.toLowerCase() !== OFF_PLATFORM_REFERRALS_ONLY;
|
|
90
78
|
export const referralIsOON = referral => some(referral.programs.map(program => programIsOffPlatform(program)));
|
|
91
79
|
export const getReferralStatus = referral => {
|
|
92
80
|
const grouped = referralIsGrouped(referral) ? 'Grouped' : '';
|
|
@@ -135,13 +123,12 @@ export const initializeReferralErrors = (referrals, showClientNeeds) => {
|
|
|
135
123
|
const errors = {};
|
|
136
124
|
referrals.map((referral, index) => {
|
|
137
125
|
if (referral) {
|
|
138
|
-
var _programs$;
|
|
139
126
|
const {
|
|
140
127
|
programs
|
|
141
128
|
} = referral;
|
|
142
129
|
const networks = filterNetworks(referral);
|
|
143
130
|
let authErrors = {};
|
|
144
|
-
if (
|
|
131
|
+
if (programs[0]?.fee_schedule_program?.authorization_required) {
|
|
145
132
|
authErrors = {
|
|
146
133
|
amount_requested: !referral.paymentAuthForm.amount_requested,
|
|
147
134
|
service_end: !referral.paymentAuthForm.service_end,
|
|
@@ -153,10 +140,13 @@ export const initializeReferralErrors = (referrals, showClientNeeds) => {
|
|
|
153
140
|
description: !referral.description || referral.description.trim() === '',
|
|
154
141
|
primary_worker: referralIsOON(referral) && !referral.primaryWorker,
|
|
155
142
|
network: shouldShowNetworkSelect(networks, programs) && !referral.network,
|
|
156
|
-
opened_date: referralIsOON(referral) && !
|
|
143
|
+
opened_date: referralIsOON(referral) && !referral?.opened_date,
|
|
157
144
|
client_need: !referral.client_need && showClientNeeds
|
|
158
145
|
};
|
|
159
|
-
const combinedErrors =
|
|
146
|
+
const combinedErrors = {
|
|
147
|
+
...authErrors,
|
|
148
|
+
...missingRequiredFields
|
|
149
|
+
};
|
|
160
150
|
errors[index] = combinedErrors;
|
|
161
151
|
}
|
|
162
152
|
return null;
|
|
@@ -170,8 +160,8 @@ export const shouldShowNetworkSelect = function () {
|
|
|
170
160
|
};
|
|
171
161
|
export const generateErrorMessage = errors => {
|
|
172
162
|
const errorCount = Object.values(errors).flatMap(Object.values).filter(Boolean).length;
|
|
173
|
-
const prefix = errorCount === 1 ? '1 action item needs' :
|
|
174
|
-
return errorCount > 0 ?
|
|
163
|
+
const prefix = errorCount === 1 ? '1 action item needs' : `${errorCount} action items need`;
|
|
164
|
+
return errorCount > 0 ? `${prefix} your attention before you can submit your referral(s).` : null;
|
|
175
165
|
};
|
|
176
166
|
export const filterNetworks = referral => {
|
|
177
167
|
const {
|
|
@@ -191,7 +181,7 @@ export const filterNetworks = referral => {
|
|
|
191
181
|
return receivingNetworks;
|
|
192
182
|
}
|
|
193
183
|
};
|
|
194
|
-
export const hasOffPlatformReferrals = referrals => some(referrals
|
|
184
|
+
export const hasOffPlatformReferrals = referrals => some(referrals?.map(r => referralIsOON(r)));
|
|
195
185
|
export const handleKeyPress = (e, action) => {
|
|
196
186
|
if (['Enter', ' '].includes(e.key)) {
|
|
197
187
|
action();
|
|
@@ -200,7 +190,7 @@ export const handleKeyPress = (e, action) => {
|
|
|
200
190
|
export const addIdToUnlistedPrograms = programs => {
|
|
201
191
|
return programs.map(obj => {
|
|
202
192
|
if (!obj.id) {
|
|
203
|
-
obj.id =
|
|
193
|
+
obj.id = `unlisted_${obj.name.replace(/\s+/g, '').toLowerCase()}_${obj.services}`;
|
|
204
194
|
obj.status = OFF_PLATFORM_REFERRALS_ONLY;
|
|
205
195
|
}
|
|
206
196
|
return obj;
|
|
@@ -217,44 +207,34 @@ export const addProgramToReferral = (referrals, programs, condition) => {
|
|
|
217
207
|
});
|
|
218
208
|
});
|
|
219
209
|
};
|
|
220
|
-
export const isUnlistedReferral = referral =>
|
|
221
|
-
|
|
222
|
-
return referral === null || referral === void 0 || (_referral$programs = referral.programs) === null || _referral$programs === void 0 ? void 0 : _referral$programs.every(p => {
|
|
223
|
-
var _p$id;
|
|
224
|
-
return (_p$id = p.id) === null || _p$id === void 0 ? void 0 : _p$id.startsWith('unlisted');
|
|
225
|
-
});
|
|
226
|
-
};
|
|
227
|
-
export const isUnlistedProgram = program => {
|
|
228
|
-
var _program$id;
|
|
229
|
-
return program === null || program === void 0 || (_program$id = program.id) === null || _program$id === void 0 ? void 0 : _program$id.startsWith('unlisted');
|
|
230
|
-
};
|
|
210
|
+
export const isUnlistedReferral = referral => referral?.programs?.every(p => p.id?.startsWith('unlisted'));
|
|
211
|
+
export const isUnlistedProgram = program => program?.id?.startsWith('unlisted');
|
|
231
212
|
export const separateSensitiveAndNonSensitiveAuthPrograms = fundedWithAuthorizationPrograms => ({
|
|
232
|
-
sensitive: fundedWithAuthorizationPrograms.filter(p =>
|
|
233
|
-
|
|
234
|
-
return p === null || p === void 0 || (_p$provider = p.provider) === null || _p$provider === void 0 ? void 0 : _p$provider.sensitive;
|
|
235
|
-
}),
|
|
236
|
-
nonSensitive: fundedWithAuthorizationPrograms.filter(p => {
|
|
237
|
-
var _p$provider2;
|
|
238
|
-
return !(p !== null && p !== void 0 && (_p$provider2 = p.provider) !== null && _p$provider2 !== void 0 && _p$provider2.sensitive);
|
|
239
|
-
})
|
|
213
|
+
sensitive: fundedWithAuthorizationPrograms.filter(p => p?.provider?.sensitive),
|
|
214
|
+
nonSensitive: fundedWithAuthorizationPrograms.filter(p => !p?.provider?.sensitive)
|
|
240
215
|
});
|
|
241
216
|
export const createSameFeeReferrals = (referral, nonSensitiveAuthPrograms) => {
|
|
242
217
|
const programsGroupedByFeeSchedule = groupBy(nonSensitiveAuthPrograms, 'fee_schedule_program.id');
|
|
243
218
|
const sameFeePrograms = Object.values(programsGroupedByFeeSchedule);
|
|
244
|
-
return sameFeePrograms.map(program =>
|
|
245
|
-
|
|
246
|
-
|
|
247
|
-
|
|
248
|
-
|
|
219
|
+
return sameFeePrograms.map(program => ({
|
|
220
|
+
...referral,
|
|
221
|
+
programs: program,
|
|
222
|
+
...(program.length >= 2 ? {
|
|
223
|
+
prevent_ungroup: true
|
|
224
|
+
} : {})
|
|
225
|
+
}));
|
|
249
226
|
};
|
|
250
|
-
export const createSensitiveProgramReferrals = (referral, sensitiveAuthPrograms) => sensitiveAuthPrograms.map(program =>
|
|
227
|
+
export const createSensitiveProgramReferrals = (referral, sensitiveAuthPrograms) => sensitiveAuthPrograms.map(program => ({
|
|
228
|
+
...referral,
|
|
251
229
|
programs: [program]
|
|
252
230
|
}));
|
|
253
|
-
export const createNonAuthReferrals = (referral, fundedWithoutAuthorizationPrograms) => !isEmpty(fundedWithoutAuthorizationPrograms) ? [
|
|
231
|
+
export const createNonAuthReferrals = (referral, fundedWithoutAuthorizationPrograms) => !isEmpty(fundedWithoutAuthorizationPrograms) ? [{
|
|
232
|
+
...referral,
|
|
254
233
|
programs: fundedWithoutAuthorizationPrograms,
|
|
255
234
|
ungroup: true
|
|
256
|
-
}
|
|
257
|
-
export const filterProgramsUnlisted = referrals => referrals.map(ref =>
|
|
235
|
+
}] : [];
|
|
236
|
+
export const filterProgramsUnlisted = referrals => referrals.map(ref => ({
|
|
237
|
+
...ref,
|
|
258
238
|
programs: ref.programs.filter(program => !isUnlistedProgram(program))
|
|
259
239
|
})).filter(ref => ref.programs.length > 0);
|
|
260
240
|
export const isEmptyErrors = errors => !Object.values(errors).flatMap(Object.values).some(Boolean);
|
|
@@ -266,9 +246,9 @@ export const removeErrorByIndex = (errors, index) => {
|
|
|
266
246
|
};
|
|
267
247
|
export default function selectHours(locations, providerHours) {
|
|
268
248
|
const getClosestLocation = locations.find(loc => loc.is_closest);
|
|
269
|
-
const closestLocationHours = getClosestLocation
|
|
270
|
-
const organizationHours = providerHours
|
|
271
|
-
return closestLocationHours
|
|
249
|
+
const closestLocationHours = getClosestLocation?.hours;
|
|
250
|
+
const organizationHours = providerHours ?? {};
|
|
251
|
+
return closestLocationHours ?? organizationHours;
|
|
272
252
|
}
|
|
273
253
|
export const updatedReferralsBySelectedServices = (referrals, selectedServices) => {
|
|
274
254
|
const referralsBySelectedServices = referrals.filter(referral => {
|
|
@@ -278,9 +258,10 @@ export const updatedReferralsBySelectedServices = (referrals, selectedServices)
|
|
|
278
258
|
const programsBySelectedServices = referral.programs.filter(program => {
|
|
279
259
|
return selectedServices.some(service => service.programId === program.id && service.serviceId === referral.service.id);
|
|
280
260
|
});
|
|
281
|
-
return
|
|
261
|
+
return {
|
|
262
|
+
...referral,
|
|
282
263
|
programs: programsBySelectedServices
|
|
283
|
-
}
|
|
264
|
+
};
|
|
284
265
|
});
|
|
285
266
|
const referralsWithPrograms = updatedReferrals.filter(referral => referral.programs.length > 0);
|
|
286
267
|
return referralsWithPrograms;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"utils.js","names":["compact","some","get","head","flatMap","intersectionBy","uniqBy","groupBy","isEmpty","OFF_PLATFORM_REFERRALS_ONLY","resolveAttachmentFields","mapProgramsPerService","programs","result","reduce","out","program","services","forEach","serviceId","existingService","find","item","service","push","id","buildReferral","programIds","currentProvider","draftState","_draftState$descripti","_draftState$client_ne","_draftState$network","persistedAttachments","pendingAttachments","removablePersistedAttachments","concat","map","description","primaryWorker","paymentAuthForm","amount_requested","service_start","service_end","icd10_code","client_need","network","sendingProvider","state","case","buildReferralsFromPrograms","programsByService","referrals","idx","firstReferral","filterProgramsReceivingReferrals","ref","_objectSpread","filter","_program$status","receiving_referrals","status","toLowerCase","length","referralIsGrouped","referral","programIsFunded","fee_schedule_program","referralIsFunded","every","programIsOffPlatform","_program$provider","_program$provider2","_program$status2","provider","licensed","programIsOnPlatform","_program$provider3","_program$status3","referralIsOON","getReferralStatus","grouped","funded","oon","join","getProgramStatusDisplay","isReceivingReferrals","isOON","title","icon","color","getReferralSubtitle","selected","initializeReferralErrors","showClientNeeds","errors","index","_programs$","networks","filterNetworks","authErrors","authorization_required","missingRequiredFields","trim","primary_worker","shouldShowNetworkSelect","opened_date","combinedErrors","arguments","undefined","isUnlistedProgram","generateErrorMessage","errorCount","Object","values","Boolean","prefix","sendingNetworks","receivingNetworks","hasOffPlatformReferrals","r","handleKeyPress","e","action","includes","key","addIdToUnlistedPrograms","obj","name","replace","addProgramToReferral","condition","p","programIndex","findIndex","isUnlistedReferral","_referral$programs","_p$id","startsWith","_program$id","separateSensitiveAndNonSensitiveAuthPrograms","fundedWithAuthorizationPrograms","sensitive","_p$provider","nonSensitive","_p$provider2","createSameFeeReferrals","nonSensitiveAuthPrograms","programsGroupedByFeeSchedule","sameFeePrograms","prevent_ungroup","createSensitiveProgramReferrals","sensitiveAuthPrograms","createNonAuthReferrals","fundedWithoutAuthorizationPrograms","ungroup","filterProgramsUnlisted","isEmptyErrors","removeErrorByIndex","keys","Number","acc","newIndex","selectHours","locations","providerHours","getClosestLocation","loc","is_closest","closestLocationHours","hours","organizationHours","updatedReferralsBySelectedServices","selectedServices","referralsBySelectedServices","updatedReferrals","programsBySelectedServices","programId","referralsWithPrograms"],"sources":["../../../src/pages/builder/utils.js"],"sourcesContent":["import {\n compact,\n some,\n get,\n head,\n flatMap,\n intersectionBy,\n uniqBy,\n groupBy,\n isEmpty,\n} from 'lodash';\nimport { OFF_PLATFORM_REFERRALS_ONLY } from './constants';\nimport { resolveAttachmentFields } from '../../utils/attachmentUtils';\n\nconst mapProgramsPerService = (programs) => {\n const result = programs.reduce((out, program) => {\n if (program.services) {\n program.services.forEach((serviceId) => {\n const existingService = out.find(item => item.service === serviceId)\n if (!existingService) {\n out.push({\n service: serviceId,\n programs: [program.id]\n })\n } else {\n existingService.programs.push(program.id)\n }\n })\n }\n return out;\n }, [])\n\n return result;\n}\n\nconst buildReferral = (programIds, service, currentProvider, draftState) => {\n const {\n persistedAttachments,\n pendingAttachments,\n removablePersistedAttachments,\n } = resolveAttachmentFields(draftState);\n\n return {\n programs: [].concat(programIds).map(id => ({ id })),\n service: {\n id: service\n },\n description: draftState?.description ?? '',\n primaryWorker: null,\n persistedAttachments,\n removablePersistedAttachments,\n pendingAttachments,\n paymentAuthForm: {\n amount_requested: null,\n service_start: null,\n service_end: null,\n icd10_code: {},\n },\n client_need: draftState?.client_need ?? null,\n network: draftState?.network ?? null,\n sendingProvider: currentProvider,\n id: draftState?.id,\n state: draftState?.state,\n case: draftState?.case,\n }\n}\n\nexport const buildReferralsFromPrograms = (programs, currentProvider, draftState) => {\n const programsByService = mapProgramsPerService(programs);\n let referrals = [];\n\n if (programsByService) {\n referrals = programsByService.map((item, idx) => {\n // Draft state for only the first referral\n const firstReferral = idx === 0 ? draftState : null;\n return buildReferral(item.programs, item.service, currentProvider, firstReferral);\n })\n }\n\n return referrals;\n}\n\nexport const filterProgramsReceivingReferrals = (referrals) => referrals.map((ref) => ({\n ...ref,\n programs: ref.programs.filter((program) =>\n program.receiving_referrals ||\n program?.status?.toLowerCase() === OFF_PLATFORM_REFERRALS_ONLY\n ),\n})).filter((ref) => ref.programs.length > 0);\n\nexport const referralIsGrouped = (referral) => referral.programs.length > 1;\n\nexport const programIsFunded = (program) => program.fee_schedule_program != null;\n\nexport const referralIsFunded = (referral) => {\n return referral.programs.every(programIsFunded);\n}\n\nexport const programIsOffPlatform = (program) => (\n !program?.provider?.licensed ||\n (program?.provider?.licensed && program?.status?.toLowerCase() === OFF_PLATFORM_REFERRALS_ONLY)\n);\n\nexport const programIsOnPlatform = (program) => (\n program?.provider?.licensed && program?.status?.toLowerCase() !== OFF_PLATFORM_REFERRALS_ONLY\n)\n\nexport const referralIsOON = (referral) => some(referral.programs.map((program) => programIsOffPlatform(program)));\n\nexport const getReferralStatus = (referral) => {\n const grouped = referralIsGrouped(referral) ? 'Grouped' : '';\n const funded = referralIsFunded(referral) ? 'Funded' : '';\n const oon = referralIsOON(referral) ? 'Off-Platform' : 'On-Platform';\n\n return compact([grouped, oon, funded]).join(', ');\n};\n\nexport const getProgramStatusDisplay = (isReceivingReferrals, isOON) => {\n if (isOON) { return { title: 'Receiving Off-Platform Referrals', icon: 'OutOfNetwork', color: '' }; }\n if (isReceivingReferrals) { return { title: 'Accepting Referrals', icon: 'CheckCircle', color: '#1CCA21' }; }\n if (!isReceivingReferrals) { return { title: 'Not Accepting Referrals', icon: 'CrossCircle', color: '#E53E3E' }; }\n\n return { title: '', icon: '', color: '' }\n};\n\nexport const getReferralSubtitle = (referrals, selected) => {\n if (selected && referralIsOON(selected)) { return 'The case manager is responsible for following up with the client.'; }\n if (referrals && referrals.length > 1 && referralIsGrouped(selected)) { return 'The first recipient to accept the referral will become the case manager.'; }\n\n return 'The recipient can accept, reject, or forward this referral.';\n};\n\nexport const initializeReferralErrors = (referrals, showClientNeeds) => {\n const errors = {};\n referrals.map((referral, index) => {\n if (referral) {\n const { programs } = referral;\n const networks = filterNetworks(referral);\n\n let authErrors = {};\n if (programs[0]?.fee_schedule_program?.authorization_required) {\n authErrors = { \n amount_requested: !referral.paymentAuthForm.amount_requested,\n service_end: !referral.paymentAuthForm.service_end, \n icd10_code: !referral.paymentAuthForm.icd10_code,\n };\n };\n\n \n const missingRequiredFields = {\n description: !referral.description || referral.description.trim() === '',\n primary_worker: referralIsOON(referral) && !referral.primaryWorker,\n network: shouldShowNetworkSelect(networks, programs) && !referral.network,\n opened_date: referralIsOON(referral) && !referral?.opened_date,\n client_need: !referral.client_need && showClientNeeds,\n }\n \n const combinedErrors = {\n ...authErrors,\n ...missingRequiredFields,\n };\n \n errors[index] = combinedErrors;\n }\n return null;\n });\n\n return errors;\n};\n\nexport const shouldShowNetworkSelect = (networks = [], programs) => (networks.length > 1 && programs.length === 1) || isUnlistedProgram(programs[0]);\n\nexport const generateErrorMessage = (errors) => {\n const errorCount = Object.values(errors).flatMap(Object.values).filter(Boolean).length;\n const prefix = errorCount === 1 ? '1 action item needs' : `${errorCount} action items need`;\n return errorCount > 0 ? `${prefix} your attention before you can submit your referral(s).` : null;\n}\n\nexport const filterNetworks = (referral) => {\n const { sendingProvider, programs } = referral;\n const sendingNetworks = get(sendingProvider, 'networks');\n const receivingNetworks = flatMap(programs, (program) => get(program, 'provider.networks'))\n .filter(Boolean)\n .filter((network) => network.state === 'active');\n\n if (sendingNetworks.length === 1) { // 1 sending network and 1+ receiving networks, return sending network\n return uniqBy(receivingNetworks.filter((network) => network.id === head(sendingNetworks).id), 'id');\n } else if (receivingNetworks.length > 1) { // 2+ sending networks and 2+ receiving network, return common networks\n return intersectionBy(receivingNetworks, sendingNetworks, 'id');\n } else { // 2+ sending networks and 1 receiving network, return receiving network\n return receivingNetworks;\n }\n}\n\nexport const hasOffPlatformReferrals = (referrals) => some(referrals?.map((r) => referralIsOON(r)));\n\nexport const handleKeyPress = (e, action) => {\n if (['Enter', ' '].includes(e.key)) {\n action();\n }\n}\n\nexport const addIdToUnlistedPrograms = (programs) => {\n return programs.map((obj) => {\n if (!obj.id) {\n obj.id = `unlisted_${obj.name.replace(/\\s+/g, '').toLowerCase()}_${obj.services}`;\n obj.status = OFF_PLATFORM_REFERRALS_ONLY;\n }\n\n return obj;\n });\n};\n\nexport const addProgramToReferral = (referrals, programs, condition) => {\n referrals.forEach((referral) => {\n referral.programs = referral.programs.map((p) => {\n if (condition(p)) {\n const programIndex = programs.findIndex((program) => p.id === program.id);\n return programs[programIndex];\n }\n\n return p;\n })\n })\n};\n\nexport const isUnlistedReferral = (referral) => (\n referral?.programs?.every((p) => p.id?.startsWith('unlisted'))\n);\n\nexport const isUnlistedProgram = (program) => (\n program?.id?.startsWith('unlisted')\n);\n\nexport const separateSensitiveAndNonSensitiveAuthPrograms = (fundedWithAuthorizationPrograms) => ({\n sensitive: fundedWithAuthorizationPrograms.filter(p => p?.provider?.sensitive),\n nonSensitive: fundedWithAuthorizationPrograms.filter(p => !p?.provider?.sensitive),\n});\n\nexport const createSameFeeReferrals = (referral, nonSensitiveAuthPrograms) => {\n const programsGroupedByFeeSchedule = groupBy(nonSensitiveAuthPrograms, 'fee_schedule_program.id');\n const sameFeePrograms = Object.values(programsGroupedByFeeSchedule);\n\n return sameFeePrograms.map(program => ({\n ...referral,\n programs: program,\n ...(program.length >= 2 ? { prevent_ungroup: true } : {})\n }));\n};\n\nexport const createSensitiveProgramReferrals = (referral, sensitiveAuthPrograms) => (\n sensitiveAuthPrograms.map(program => ({\n ...referral,\n programs: [program]\n }))\n);\n\nexport const createNonAuthReferrals = (referral, fundedWithoutAuthorizationPrograms) => (\n !isEmpty(fundedWithoutAuthorizationPrograms) ? [{ ...referral, programs: fundedWithoutAuthorizationPrograms, ungroup: true }] : []\n);\n\nexport const filterProgramsUnlisted = (referrals) => referrals.map((ref) => ({\n ...ref,\n programs: ref.programs.filter((program) => !isUnlistedProgram(program)),\n})).filter((ref) => ref.programs.length > 0);\n\nexport const isEmptyErrors = (errors) => (\n !Object.values(errors).flatMap(Object.values).some(Boolean)\n)\n\nexport const removeErrorByIndex = (errors, index) => {\n return Object.keys(errors)\n .filter(key => Number(key) !== index)\n .reduce((acc, key, newIndex) => {\n acc[newIndex] = errors[key];\n return acc;\n }, {});\n};\n\nexport default function selectHours(locations, providerHours) {\n const getClosestLocation = locations.find((loc) => loc.is_closest);\n const closestLocationHours = getClosestLocation?.hours;\n const organizationHours = providerHours ?? {};\n return closestLocationHours ?? organizationHours;\n}\n\nexport const updatedReferralsBySelectedServices = (referrals, selectedServices) => {\n const referralsBySelectedServices = referrals.filter((referral) => {\n return selectedServices.some((service) => service.serviceId === referral.service.id);\n });\n\n const updatedReferrals = referralsBySelectedServices.map((referral) => {\n const programsBySelectedServices = referral.programs.filter((program) => {\n return selectedServices.some((service) => service.programId === program.id && service.serviceId === referral.service.id);\n });\n\n return {\n ...referral,\n programs: programsBySelectedServices,\n }\n });\n\n const referralsWithPrograms = updatedReferrals.filter((referral) => referral.programs.length > 0);\n\n return referralsWithPrograms;\n};\n"],"mappings":"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","ignoreList":[]}
|
|
1
|
+
{"version":3,"file":"utils.js","names":["compact","some","get","head","flatMap","intersectionBy","uniqBy","groupBy","isEmpty","OFF_PLATFORM_REFERRALS_ONLY","resolveAttachmentFields","mapProgramsPerService","programs","result","reduce","out","program","services","forEach","serviceId","existingService","find","item","service","push","id","buildReferral","programIds","currentProvider","draftState","persistedAttachments","pendingAttachments","removablePersistedAttachments","concat","map","description","primaryWorker","paymentAuthForm","amount_requested","service_start","service_end","icd10_code","client_need","network","sendingProvider","state","case","buildReferralsFromPrograms","programsByService","referrals","idx","firstReferral","filterProgramsReceivingReferrals","ref","filter","receiving_referrals","status","toLowerCase","length","referralIsGrouped","referral","programIsFunded","fee_schedule_program","referralIsFunded","every","programIsOffPlatform","provider","licensed","programIsOnPlatform","referralIsOON","getReferralStatus","grouped","funded","oon","join","getProgramStatusDisplay","isReceivingReferrals","isOON","title","icon","color","getReferralSubtitle","selected","initializeReferralErrors","showClientNeeds","errors","index","networks","filterNetworks","authErrors","authorization_required","missingRequiredFields","trim","primary_worker","shouldShowNetworkSelect","opened_date","combinedErrors","arguments","undefined","isUnlistedProgram","generateErrorMessage","errorCount","Object","values","Boolean","prefix","sendingNetworks","receivingNetworks","hasOffPlatformReferrals","r","handleKeyPress","e","action","includes","key","addIdToUnlistedPrograms","obj","name","replace","addProgramToReferral","condition","p","programIndex","findIndex","isUnlistedReferral","startsWith","separateSensitiveAndNonSensitiveAuthPrograms","fundedWithAuthorizationPrograms","sensitive","nonSensitive","createSameFeeReferrals","nonSensitiveAuthPrograms","programsGroupedByFeeSchedule","sameFeePrograms","prevent_ungroup","createSensitiveProgramReferrals","sensitiveAuthPrograms","createNonAuthReferrals","fundedWithoutAuthorizationPrograms","ungroup","filterProgramsUnlisted","isEmptyErrors","removeErrorByIndex","keys","Number","acc","newIndex","selectHours","locations","providerHours","getClosestLocation","loc","is_closest","closestLocationHours","hours","organizationHours","updatedReferralsBySelectedServices","selectedServices","referralsBySelectedServices","updatedReferrals","programsBySelectedServices","programId","referralsWithPrograms"],"sources":["../../../src/pages/builder/utils.js"],"sourcesContent":["import {\n compact,\n some,\n get,\n head,\n flatMap,\n intersectionBy,\n uniqBy,\n groupBy,\n isEmpty,\n} from 'lodash';\nimport { OFF_PLATFORM_REFERRALS_ONLY } from './constants';\nimport { resolveAttachmentFields } from '../../utils/attachmentUtils';\n\nconst mapProgramsPerService = (programs) => {\n const result = programs.reduce((out, program) => {\n if (program.services) {\n program.services.forEach((serviceId) => {\n const existingService = out.find(item => item.service === serviceId)\n if (!existingService) {\n out.push({\n service: serviceId,\n programs: [program.id]\n })\n } else {\n existingService.programs.push(program.id)\n }\n })\n }\n return out;\n }, [])\n\n return result;\n}\n\nconst buildReferral = (programIds, service, currentProvider, draftState) => {\n const {\n persistedAttachments,\n pendingAttachments,\n removablePersistedAttachments,\n } = resolveAttachmentFields(draftState);\n\n return {\n programs: [].concat(programIds).map(id => ({ id })),\n service: {\n id: service\n },\n description: draftState?.description ?? '',\n primaryWorker: null,\n persistedAttachments,\n removablePersistedAttachments,\n pendingAttachments,\n paymentAuthForm: {\n amount_requested: null,\n service_start: null,\n service_end: null,\n icd10_code: {},\n },\n client_need: draftState?.client_need ?? null,\n network: draftState?.network ?? null,\n sendingProvider: currentProvider,\n id: draftState?.id,\n state: draftState?.state,\n case: draftState?.case,\n }\n}\n\nexport const buildReferralsFromPrograms = (programs, currentProvider, draftState) => {\n const programsByService = mapProgramsPerService(programs);\n let referrals = [];\n\n if (programsByService) {\n referrals = programsByService.map((item, idx) => {\n // Draft state for only the first referral\n const firstReferral = idx === 0 ? draftState : null;\n return buildReferral(item.programs, item.service, currentProvider, firstReferral);\n })\n }\n\n return referrals;\n}\n\nexport const filterProgramsReceivingReferrals = (referrals) => referrals.map((ref) => ({\n ...ref,\n programs: ref.programs.filter((program) =>\n program.receiving_referrals ||\n program?.status?.toLowerCase() === OFF_PLATFORM_REFERRALS_ONLY\n ),\n})).filter((ref) => ref.programs.length > 0);\n\nexport const referralIsGrouped = (referral) => referral.programs.length > 1;\n\nexport const programIsFunded = (program) => program.fee_schedule_program != null;\n\nexport const referralIsFunded = (referral) => {\n return referral.programs.every(programIsFunded);\n}\n\nexport const programIsOffPlatform = (program) => (\n !program?.provider?.licensed ||\n (program?.provider?.licensed && program?.status?.toLowerCase() === OFF_PLATFORM_REFERRALS_ONLY)\n);\n\nexport const programIsOnPlatform = (program) => (\n program?.provider?.licensed && program?.status?.toLowerCase() !== OFF_PLATFORM_REFERRALS_ONLY\n)\n\nexport const referralIsOON = (referral) => some(referral.programs.map((program) => programIsOffPlatform(program)));\n\nexport const getReferralStatus = (referral) => {\n const grouped = referralIsGrouped(referral) ? 'Grouped' : '';\n const funded = referralIsFunded(referral) ? 'Funded' : '';\n const oon = referralIsOON(referral) ? 'Off-Platform' : 'On-Platform';\n\n return compact([grouped, oon, funded]).join(', ');\n};\n\nexport const getProgramStatusDisplay = (isReceivingReferrals, isOON) => {\n if (isOON) { return { title: 'Receiving Off-Platform Referrals', icon: 'OutOfNetwork', color: '' }; }\n if (isReceivingReferrals) { return { title: 'Accepting Referrals', icon: 'CheckCircle', color: '#1CCA21' }; }\n if (!isReceivingReferrals) { return { title: 'Not Accepting Referrals', icon: 'CrossCircle', color: '#E53E3E' }; }\n\n return { title: '', icon: '', color: '' }\n};\n\nexport const getReferralSubtitle = (referrals, selected) => {\n if (selected && referralIsOON(selected)) { return 'The case manager is responsible for following up with the client.'; }\n if (referrals && referrals.length > 1 && referralIsGrouped(selected)) { return 'The first recipient to accept the referral will become the case manager.'; }\n\n return 'The recipient can accept, reject, or forward this referral.';\n};\n\nexport const initializeReferralErrors = (referrals, showClientNeeds) => {\n const errors = {};\n referrals.map((referral, index) => {\n if (referral) {\n const { programs } = referral;\n const networks = filterNetworks(referral);\n\n let authErrors = {};\n if (programs[0]?.fee_schedule_program?.authorization_required) {\n authErrors = { \n amount_requested: !referral.paymentAuthForm.amount_requested,\n service_end: !referral.paymentAuthForm.service_end, \n icd10_code: !referral.paymentAuthForm.icd10_code,\n };\n };\n\n \n const missingRequiredFields = {\n description: !referral.description || referral.description.trim() === '',\n primary_worker: referralIsOON(referral) && !referral.primaryWorker,\n network: shouldShowNetworkSelect(networks, programs) && !referral.network,\n opened_date: referralIsOON(referral) && !referral?.opened_date,\n client_need: !referral.client_need && showClientNeeds,\n }\n \n const combinedErrors = {\n ...authErrors,\n ...missingRequiredFields,\n };\n \n errors[index] = combinedErrors;\n }\n return null;\n });\n\n return errors;\n};\n\nexport const shouldShowNetworkSelect = (networks = [], programs) => (networks.length > 1 && programs.length === 1) || isUnlistedProgram(programs[0]);\n\nexport const generateErrorMessage = (errors) => {\n const errorCount = Object.values(errors).flatMap(Object.values).filter(Boolean).length;\n const prefix = errorCount === 1 ? '1 action item needs' : `${errorCount} action items need`;\n return errorCount > 0 ? `${prefix} your attention before you can submit your referral(s).` : null;\n}\n\nexport const filterNetworks = (referral) => {\n const { sendingProvider, programs } = referral;\n const sendingNetworks = get(sendingProvider, 'networks');\n const receivingNetworks = flatMap(programs, (program) => get(program, 'provider.networks'))\n .filter(Boolean)\n .filter((network) => network.state === 'active');\n\n if (sendingNetworks.length === 1) { // 1 sending network and 1+ receiving networks, return sending network\n return uniqBy(receivingNetworks.filter((network) => network.id === head(sendingNetworks).id), 'id');\n } else if (receivingNetworks.length > 1) { // 2+ sending networks and 2+ receiving network, return common networks\n return intersectionBy(receivingNetworks, sendingNetworks, 'id');\n } else { // 2+ sending networks and 1 receiving network, return receiving network\n return receivingNetworks;\n }\n}\n\nexport const hasOffPlatformReferrals = (referrals) => some(referrals?.map((r) => referralIsOON(r)));\n\nexport const handleKeyPress = (e, action) => {\n if (['Enter', ' '].includes(e.key)) {\n action();\n }\n}\n\nexport const addIdToUnlistedPrograms = (programs) => {\n return programs.map((obj) => {\n if (!obj.id) {\n obj.id = `unlisted_${obj.name.replace(/\\s+/g, '').toLowerCase()}_${obj.services}`;\n obj.status = OFF_PLATFORM_REFERRALS_ONLY;\n }\n\n return obj;\n });\n};\n\nexport const addProgramToReferral = (referrals, programs, condition) => {\n referrals.forEach((referral) => {\n referral.programs = referral.programs.map((p) => {\n if (condition(p)) {\n const programIndex = programs.findIndex((program) => p.id === program.id);\n return programs[programIndex];\n }\n\n return p;\n })\n })\n};\n\nexport const isUnlistedReferral = (referral) => (\n referral?.programs?.every((p) => p.id?.startsWith('unlisted'))\n);\n\nexport const isUnlistedProgram = (program) => (\n program?.id?.startsWith('unlisted')\n);\n\nexport const separateSensitiveAndNonSensitiveAuthPrograms = (fundedWithAuthorizationPrograms) => ({\n sensitive: fundedWithAuthorizationPrograms.filter(p => p?.provider?.sensitive),\n nonSensitive: fundedWithAuthorizationPrograms.filter(p => !p?.provider?.sensitive),\n});\n\nexport const createSameFeeReferrals = (referral, nonSensitiveAuthPrograms) => {\n const programsGroupedByFeeSchedule = groupBy(nonSensitiveAuthPrograms, 'fee_schedule_program.id');\n const sameFeePrograms = Object.values(programsGroupedByFeeSchedule);\n\n return sameFeePrograms.map(program => ({\n ...referral,\n programs: program,\n ...(program.length >= 2 ? { prevent_ungroup: true } : {})\n }));\n};\n\nexport const createSensitiveProgramReferrals = (referral, sensitiveAuthPrograms) => (\n sensitiveAuthPrograms.map(program => ({\n ...referral,\n programs: [program]\n }))\n);\n\nexport const createNonAuthReferrals = (referral, fundedWithoutAuthorizationPrograms) => (\n !isEmpty(fundedWithoutAuthorizationPrograms) ? [{ ...referral, programs: fundedWithoutAuthorizationPrograms, ungroup: true }] : []\n);\n\nexport const filterProgramsUnlisted = (referrals) => referrals.map((ref) => ({\n ...ref,\n programs: ref.programs.filter((program) => !isUnlistedProgram(program)),\n})).filter((ref) => ref.programs.length > 0);\n\nexport const isEmptyErrors = (errors) => (\n !Object.values(errors).flatMap(Object.values).some(Boolean)\n)\n\nexport const removeErrorByIndex = (errors, index) => {\n return Object.keys(errors)\n .filter(key => Number(key) !== index)\n .reduce((acc, key, newIndex) => {\n acc[newIndex] = errors[key];\n return acc;\n }, {});\n};\n\nexport default function selectHours(locations, providerHours) {\n const getClosestLocation = locations.find((loc) => loc.is_closest);\n const closestLocationHours = getClosestLocation?.hours;\n const organizationHours = providerHours ?? {};\n return closestLocationHours ?? organizationHours;\n}\n\nexport const updatedReferralsBySelectedServices = (referrals, selectedServices) => {\n const referralsBySelectedServices = referrals.filter((referral) => {\n return selectedServices.some((service) => service.serviceId === referral.service.id);\n });\n\n const updatedReferrals = referralsBySelectedServices.map((referral) => {\n const programsBySelectedServices = referral.programs.filter((program) => {\n return selectedServices.some((service) => service.programId === program.id && service.serviceId === referral.service.id);\n });\n\n return {\n ...referral,\n programs: programsBySelectedServices,\n }\n });\n\n const referralsWithPrograms = updatedReferrals.filter((referral) => referral.programs.length > 0);\n\n return referralsWithPrograms;\n};\n"],"mappings":"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","ignoreList":[]}
|
|
@@ -1,6 +1,3 @@
|
|
|
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; }
|
|
4
1
|
import React, { useState, useEffect, useRef, useCallback } from 'react';
|
|
5
2
|
import PropTypes from 'prop-types';
|
|
6
3
|
import { Form, Field, FormSpy } from 'react-final-form';
|
|
@@ -23,12 +20,11 @@ const DropdownMultiplesReferrals = _ref => {
|
|
|
23
20
|
};
|
|
24
21
|
const generateReferralList = referrals => {
|
|
25
22
|
return referrals.map((referral, index) => {
|
|
26
|
-
|
|
27
|
-
const
|
|
28
|
-
const programName = (_referral$programs = referral.programs) === null || _referral$programs === void 0 || (_referral$programs = _referral$programs.find(program => program === null || program === void 0 ? void 0 : program.name)) === null || _referral$programs === void 0 ? void 0 : _referral$programs.name;
|
|
23
|
+
const serviceName = referral.service?.name;
|
|
24
|
+
const programName = referral.programs?.find(program => program?.name)?.name;
|
|
29
25
|
return {
|
|
30
|
-
label:
|
|
31
|
-
value:
|
|
26
|
+
label: `Referral ${index + 1}: ${serviceName} referral to: ${programName}`,
|
|
27
|
+
value: `${index}`
|
|
32
28
|
};
|
|
33
29
|
});
|
|
34
30
|
};
|
|
@@ -41,7 +37,8 @@ const DropdownMultiplesReferrals = _ref => {
|
|
|
41
37
|
}, [referrals]);
|
|
42
38
|
const handleSelectChange = (field, value) => {
|
|
43
39
|
if (value) {
|
|
44
|
-
setFormData(prev =>
|
|
40
|
+
setFormData(prev => ({
|
|
41
|
+
...prev,
|
|
45
42
|
[field]: value
|
|
46
43
|
}));
|
|
47
44
|
setSelectedReferralToLink(Number(value));
|
|
@@ -87,7 +84,7 @@ const DropdownMultiplesReferrals = _ref => {
|
|
|
87
84
|
children: "Connect original referral"
|
|
88
85
|
}), /*#__PURE__*/_jsx("p", {
|
|
89
86
|
className: "font-normal text-[14px] leading-[20px] text-left mt-1",
|
|
90
|
-
children:
|
|
87
|
+
children: `The original referral you received was a ${serviceTypeName} referral. Choose one of the referrals you are sending to connect to the original, to ensure that the sender can view the outcome of their referral.`
|
|
91
88
|
}), /*#__PURE__*/_jsx(FormSpy, {
|
|
92
89
|
subscription: {
|
|
93
90
|
values: true
|
|
@@ -96,7 +93,7 @@ const DropdownMultiplesReferrals = _ref => {
|
|
|
96
93
|
}), /*#__PURE__*/_jsx(Field, {
|
|
97
94
|
name: "referralSelected",
|
|
98
95
|
required: true,
|
|
99
|
-
children: params => /*#__PURE__*/_jsx(SelectField,
|
|
96
|
+
children: params => /*#__PURE__*/_jsx(SelectField, {
|
|
100
97
|
className: "custom-select-field mb-3 mt-3",
|
|
101
98
|
ref: ref => registerField('referralSelected', ref),
|
|
102
99
|
id: "referralSelected",
|
|
@@ -110,9 +107,10 @@ const DropdownMultiplesReferrals = _ref => {
|
|
|
110
107
|
searchEnabled: false,
|
|
111
108
|
inline: false,
|
|
112
109
|
onChange: value => handleSelectChange('referralSelected', value),
|
|
113
|
-
value: formData.referralSelected
|
|
114
|
-
|
|
115
|
-
|
|
110
|
+
value: formData.referralSelected,
|
|
111
|
+
...params
|
|
112
|
+
})
|
|
113
|
+
}, `referralSelected`)]
|
|
116
114
|
})
|
|
117
115
|
});
|
|
118
116
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"DropdownMultiplesReferrals.js","names":["React","useState","useEffect","useRef","useCallback","PropTypes","Form","Field","FormSpy","SelectField","validations","jsx","_jsx","jsxs","_jsxs","Fragment","_Fragment","DropdownMultiplesReferrals","_ref","referrals","setReferralErrors","formRefs","setSelectedReferralToLink","serviceTypeName","formData","setFormData","referralSelected","referralList","setReferralList","registerField","fieldId","ref","current","generateReferralList","map","referral","index","
|
|
1
|
+
{"version":3,"file":"DropdownMultiplesReferrals.js","names":["React","useState","useEffect","useRef","useCallback","PropTypes","Form","Field","FormSpy","SelectField","validations","jsx","_jsx","jsxs","_jsxs","Fragment","_Fragment","DropdownMultiplesReferrals","_ref","referrals","setReferralErrors","formRefs","setSelectedReferralToLink","serviceTypeName","formData","setFormData","referralSelected","referralList","setReferralList","registerField","fieldId","ref","current","generateReferralList","map","referral","index","serviceName","service","name","programName","programs","find","program","label","value","onSetForm","formInstance","list","handleSelectChange","field","prev","Number","initialValues","onSubmit","validate","values","errors","fieldErrors","mutators","setFieldTouched","args","state","touched","fields","render","_ref2","form","children","className","subscription","onChange","required","params","id","options","labelKey","valueKey","isRequired","placeholder","searchEnabled","inline","propTypes","arrayOf","shape","string","func","defaultProps"],"sources":["../../../src/pages/review/DropdownMultiplesReferrals.js"],"sourcesContent":["import React, { useState, useEffect, useRef, useCallback } from 'react';\nimport PropTypes from 'prop-types';\nimport { Form, Field, FormSpy } from 'react-final-form';\nimport { SelectField, validations } from '@unite-us/app-components';\n\nconst DropdownMultiplesReferrals = ({ referrals = [], setReferralErrors, formRefs, setSelectedReferralToLink, serviceTypeName }) => {\n const [formData, setFormData] = useState({\n referralSelected: '',\n });\n\n const [referralList, setReferralList] = useState([]);\n\n const registerField = (fieldId, ref) => {\n formRefs.current[fieldId] = ref;\n };\n\n const generateReferralList = (referrals) => {\n return referrals.map((referral, index) => {\n const serviceName = referral.service?.name;\n\t\t\tconst programName = referral.programs?.find((program) => program?.name)?.name;\n\n return {\n label: `Referral ${index + 1}: ${serviceName} referral to: ${programName}`,\n value: `${index}`,\n };\n });\n };\n\n const onSetForm = useCallback((formInstance) => {\n formRefs.current = formInstance;\n }, []);\n\n useEffect(() => {\n const list = generateReferralList(referrals);\n setReferralList(list);\n }, [referrals]);\n\n const handleSelectChange = (field, value) => {\n if (value) {\n setFormData((prev) => ({ ...prev, [field]: value }));\n setSelectedReferralToLink(Number(value));\n }\n };\n\n return (\n <Form\n initialValues={{ referralSelected: formData.referralSelected }}\n onSubmit={() => { }}\n validate={(values) => {\n const errors = {};\n if (!values.referralSelected) { errors.referralSelected = \"You must select a referral\" };\n\n const fieldErrors = {\n referralSelected: !!errors.referralSelected\n }\n\n setReferralErrors(0, fieldErrors);\n return errors;\n }}\n mutators={{\n setFieldTouched: (args, state) => {\n const [name, touched] = args;\n const field = state.fields[name];\n if (field) {\n field.touched = !!touched;\n }\n }\n }}\n render={({ form, values }) => {\n onSetForm && onSetForm(form);\n return (\n <>\n <div className=\"relative mx-auto responsive-max-width\">\n <h1 className=\"font-semibold text-[18px] leading-[28px] text-left mt-4\">\n Connect original referral\n </h1>\n <p className=\"font-normal text-[14px] leading-[20px] text-left mt-1\">\n {`The original referral you received was a ${serviceTypeName} referral. Choose one of the referrals you are sending to connect to the original, to ensure that the sender can view the outcome of their referral.`}\n </p>\n <FormSpy\n subscription={{ values: true }}\n onChange={handleSelectChange}\n />\n <Field\n name=\"referralSelected\"\n required\n key={`referralSelected`}\n >\n {(params) => (\n <SelectField\n className=\"custom-select-field mb-3 mt-3\"\n ref={(ref) => registerField('referralSelected', ref)}\n id=\"referralSelected\"\n label=\"Choose referral\"\n options={referralList}\n labelKey=\"label\"\n valueKey=\"value\"\n validations={validations.isRequired}\n placeholder=\"Pick one\"\n required\n searchEnabled={false}\n inline={false}\n onChange={(value) => handleSelectChange('referralSelected', value)}\n value={formData.referralSelected}\n {...params}\n />\n )}\n </Field>\n </div>\n\n </>\n )}}\n />\n );\n};\n\nDropdownMultiplesReferrals.propTypes = {\n referrals: PropTypes.arrayOf(\n PropTypes.shape({\n service: PropTypes.shape({\n name: PropTypes.string,\n }),\n })\n ),\n onSubmit: PropTypes.func.isRequired,\n};\n\nDropdownMultiplesReferrals.defaultProps = {\n referrals: [],\n};\n\nexport default DropdownMultiplesReferrals;\n"],"mappings":"AAAA,OAAOA,KAAK,IAAIC,QAAQ,EAAEC,SAAS,EAAEC,MAAM,EAAEC,WAAW,QAAQ,OAAO;AACvE,OAAOC,SAAS,MAAM,YAAY;AAClC,SAASC,IAAI,EAAEC,KAAK,EAAEC,OAAO,QAAQ,kBAAkB;AACvD,SAASC,WAAW,EAAEC,WAAW,QAAQ,0BAA0B;AAAC,SAAAC,GAAA,IAAAC,IAAA,EAAAC,IAAA,IAAAC,KAAA,EAAAC,QAAA,IAAAC,SAAA;AAEpE,MAAMC,0BAA0B,GAAGC,IAAA,IAAiG;EAAA,IAAhG;IAAEC,SAAS,GAAG,EAAE;IAAEC,iBAAiB;IAAEC,QAAQ;IAAEC,yBAAyB;IAAEC;EAAgB,CAAC,GAAAL,IAAA;EAC7H,MAAM,CAACM,QAAQ,EAAEC,WAAW,CAAC,GAAGxB,QAAQ,CAAC;IACzCyB,gBAAgB,EAAE;EAClB,CAAC,CAAC;EAEF,MAAM,CAACC,YAAY,EAAEC,eAAe,CAAC,GAAG3B,QAAQ,CAAC,EAAE,CAAC;EAEpD,MAAM4B,aAAa,GAAGA,CAACC,OAAO,EAAEC,GAAG,KAAK;IACtCV,QAAQ,CAACW,OAAO,CAACF,OAAO,CAAC,GAAGC,GAAG;EACjC,CAAC;EAED,MAAME,oBAAoB,GAAId,SAAS,IAAK;IAC1C,OAAOA,SAAS,CAACe,GAAG,CAAC,CAACC,QAAQ,EAAEC,KAAK,KAAK;MACxC,MAAMC,WAAW,GAAGF,QAAQ,CAACG,OAAO,EAAEC,IAAI;MAC7C,MAAMC,WAAW,GAAGL,QAAQ,CAACM,QAAQ,EAAEC,IAAI,CAAEC,OAAO,IAAKA,OAAO,EAAEJ,IAAI,CAAC,EAAEA,IAAI;MAE1E,OAAO;QACLK,KAAK,EAAE,YAAYR,KAAK,GAAG,CAAC,KAAKC,WAAW,iBAAiBG,WAAW,EAAE;QAC1EK,KAAK,EAAE,GAAGT,KAAK;MACjB,CAAC;IACH,CAAC,CAAC;EACJ,CAAC;EAED,MAAMU,SAAS,GAAG1C,WAAW,CAAE2C,YAAY,IAAK;IAC9C1B,QAAQ,CAACW,OAAO,GAAGe,YAAY;EACjC,CAAC,EAAE,EAAE,CAAC;EAEN7C,SAAS,CAAC,MAAM;IACd,MAAM8C,IAAI,GAAGf,oBAAoB,CAACd,SAAS,CAAC;IAC5CS,eAAe,CAACoB,IAAI,CAAC;EACvB,CAAC,EAAE,CAAC7B,SAAS,CAAC,CAAC;EAEf,MAAM8B,kBAAkB,GAAGA,CAACC,KAAK,EAAEL,KAAK,KAAK;IAC3C,IAAIA,KAAK,EAAE;MACTpB,WAAW,CAAE0B,IAAI,KAAM;QAAE,GAAGA,IAAI;QAAE,CAACD,KAAK,GAAGL;MAAM,CAAC,CAAC,CAAC;MACpDvB,yBAAyB,CAAC8B,MAAM,CAACP,KAAK,CAAC,CAAC;IAC1C;EACF,CAAC;EAED,oBACEjC,IAAA,CAACN,IAAI;IACH+C,aAAa,EAAE;MAAE3B,gBAAgB,EAAEF,QAAQ,CAACE;IAAiB,CAAE;IAC/D4B,QAAQ,EAAEA,CAAA,KAAM,CAAE,CAAE;IACpBC,QAAQ,EAAGC,MAAM,IAAK;MACpB,MAAMC,MAAM,GAAG,CAAC,CAAC;MACjB,IAAI,CAACD,MAAM,CAAC9B,gBAAgB,EAAE;QAAE+B,MAAM,CAAC/B,gBAAgB,GAAG,4BAA4B;MAAC;MAAC;MAExF,MAAMgC,WAAW,GAAG;QAClBhC,gBAAgB,EAAE,CAAC,CAAC+B,MAAM,CAAC/B;MAC7B,CAAC;MAEDN,iBAAiB,CAAC,CAAC,EAAEsC,WAAW,CAAC;MACjC,OAAOD,MAAM;IACf,CAAE;IACFE,QAAQ,EAAE;MACRC,eAAe,EAAEA,CAACC,IAAI,EAAEC,KAAK,KAAK;QAChC,MAAM,CAACvB,IAAI,EAAEwB,OAAO,CAAC,GAAGF,IAAI;QAC5B,MAAMX,KAAK,GAAGY,KAAK,CAACE,MAAM,CAACzB,IAAI,CAAC;QAChC,IAAIW,KAAK,EAAE;UACTA,KAAK,CAACa,OAAO,GAAG,CAAC,CAACA,OAAO;QAC3B;MACF;IACF,CAAE;IACFE,MAAM,EAAEC,KAAA,IAAsB;MAAA,IAArB;QAAEC,IAAI;QAAEX;MAAO,CAAC,GAAAU,KAAA;MACvBpB,SAAS,IAAIA,SAAS,CAACqB,IAAI,CAAC;MAC5B,oBACEvD,IAAA,CAAAI,SAAA;QAAAoD,QAAA,eACEtD,KAAA;UAAKuD,SAAS,EAAC,uCAAuC;UAAAD,QAAA,gBACpDxD,IAAA;YAAIyD,SAAS,EAAC,yDAAyD;YAAAD,QAAA,EAAC;UAExE,CAAI,CAAC,eACLxD,IAAA;YAAGyD,SAAS,EAAC,uDAAuD;YAAAD,QAAA,EACjE,4CAA4C7C,eAAe;UAAsJ,CACjN,CAAC,eACJX,IAAA,CAACJ,OAAO;YACN8D,YAAY,EAAE;cAAEd,MAAM,EAAE;YAAK,CAAE;YAC/Be,QAAQ,EAAEtB;UAAmB,CAC9B,CAAC,eACFrC,IAAA,CAACL,KAAK;YACJgC,IAAI,EAAC,kBAAkB;YACvBiC,QAAQ;YAAAJ,QAAA,EAGNK,MAAM,iBACR7D,IAAA,CAACH,WAAW;cACV4D,SAAS,EAAC,+BAA+B;cACzCtC,GAAG,EAAGA,GAAG,IAAKF,aAAa,CAAC,kBAAkB,EAAEE,GAAG,CAAE;cACrD2C,EAAE,EAAC,kBAAkB;cACrB9B,KAAK,EAAC,iBAAiB;cACvB+B,OAAO,EAAEhD,YAAa;cACtBiD,QAAQ,EAAC,OAAO;cAChBC,QAAQ,EAAC,OAAO;cAChBnE,WAAW,EAAEA,WAAW,CAACoE,UAAW;cACpCC,WAAW,EAAC,UAAU;cACtBP,QAAQ;cACRQ,aAAa,EAAE,KAAM;cACrBC,MAAM,EAAE,KAAM;cACdV,QAAQ,EAAG1B,KAAK,IAAKI,kBAAkB,CAAC,kBAAkB,EAAEJ,KAAK,CAAE;cACnEA,KAAK,EAAErB,QAAQ,CAACE,gBAAiB;cAAA,GAC7B+C;YAAM,CACX;UACA,GApBI,kBAqBA,CAAC;QAAA,CACL;MAAC,CAEN,CAAC;IACN;EAAE,CACJ,CAAC;AAEN,CAAC;AAEDxD,0BAA0B,CAACiE,SAAS,GAAG;EACrC/D,SAAS,EAAEd,SAAS,CAAC8E,OAAO,CAC1B9E,SAAS,CAAC+E,KAAK,CAAC;IACd9C,OAAO,EAAEjC,SAAS,CAAC+E,KAAK,CAAC;MACvB7C,IAAI,EAAElC,SAAS,CAACgF;IAClB,CAAC;EACH,CAAC,CACH,CAAC;EACD/B,QAAQ,EAAEjD,SAAS,CAACiF,IAAI,CAACR;AAC3B,CAAC;AAED7D,0BAA0B,CAACsE,YAAY,GAAG;EACxCpE,SAAS,EAAE;AACb,CAAC;AAED,eAAeF,0BAA0B","ignoreList":[]}
|
|
@@ -47,17 +47,11 @@ export default function ReferralsSent(_ref) {
|
|
|
47
47
|
const newReferrals = compact(referrals);
|
|
48
48
|
const referralsWithPrograms = [...new Set(newReferrals.flatMap(r => r.programs))];
|
|
49
49
|
const referralServices = [...new Set(newReferrals.flatMap(r => r.service))];
|
|
50
|
-
const programsWithName = referralsWithPrograms.filter(program => !isUnlistedProgram(program)).map(program => {
|
|
51
|
-
|
|
52
|
-
|
|
53
|
-
|
|
54
|
-
|
|
55
|
-
isSensitive: ((_program$provider = program.provider) === null || _program$provider === void 0 ? void 0 : _program$provider.sensitive) || ((_program$services = program.services) === null || _program$services === void 0 ? void 0 : _program$services.some(s => {
|
|
56
|
-
var _referralServices$fin;
|
|
57
|
-
return referralServices === null || referralServices === void 0 || (_referralServices$fin = referralServices.find(rs => rs.id === s.id)) === null || _referralServices$fin === void 0 ? void 0 : _referralServices$fin.sensitive;
|
|
58
|
-
}))
|
|
59
|
-
};
|
|
60
|
-
});
|
|
50
|
+
const programsWithName = referralsWithPrograms.filter(program => !isUnlistedProgram(program)).map(program => ({
|
|
51
|
+
id: program.id,
|
|
52
|
+
name: program.name,
|
|
53
|
+
isSensitive: program.provider?.sensitive || program.services?.some(s => referralServices?.find(rs => rs.id === s.id)?.sensitive)
|
|
54
|
+
}));
|
|
61
55
|
setSelectedProgramsWithName(programsWithName);
|
|
62
56
|
}, [referrals]);
|
|
63
57
|
useEffect(() => {
|
|
@@ -70,7 +64,6 @@ export default function ReferralsSent(_ref) {
|
|
|
70
64
|
return () => window.removeEventListener('popstate', handlePopState);
|
|
71
65
|
}, []);
|
|
72
66
|
async function saveShareEvent(shareMethod, language) {
|
|
73
|
-
var _referralsResultDetai;
|
|
74
67
|
const programServicesPayload = getProgramServicesPayload(filterProgramsUnlisted(referrals));
|
|
75
68
|
let currentResourceListId = resourceListId;
|
|
76
69
|
if (!currentResourceListId) {
|
|
@@ -98,13 +91,13 @@ export default function ReferralsSent(_ref) {
|
|
|
98
91
|
programServicesPayload
|
|
99
92
|
});
|
|
100
93
|
}
|
|
101
|
-
const sentReferrals =
|
|
94
|
+
const sentReferrals = referralsResultDetail?.filter(_ref2 => {
|
|
102
95
|
let {
|
|
103
96
|
sent,
|
|
104
97
|
referralId
|
|
105
98
|
} = _ref2;
|
|
106
99
|
return sent && referralId;
|
|
107
|
-
})
|
|
100
|
+
}) ?? [];
|
|
108
101
|
sentReferrals.forEach(_ref3 => {
|
|
109
102
|
let {
|
|
110
103
|
referralId
|
|
@@ -114,7 +107,7 @@ export default function ReferralsSent(_ref) {
|
|
|
114
107
|
}
|
|
115
108
|
const windowMessage = () => {
|
|
116
109
|
if (!referrals.status && !successfullySentStatus) {
|
|
117
|
-
return
|
|
110
|
+
return `Referrals Successfully ${isSuccessfullyForwarded ? 'Forwarded' : 'Created'}!`;
|
|
118
111
|
}
|
|
119
112
|
const messageType = isForwardReferralPath ? 'FORWARD' : 'CREATE';
|
|
120
113
|
return MESSAGES[messageType][successfullySentStatus] || MESSAGES[messageType].DEFAULT;
|
|
@@ -136,7 +129,6 @@ export default function ReferralsSent(_ref) {
|
|
|
136
129
|
}, [referralsResultDetail]);
|
|
137
130
|
const referralStatus = () => {
|
|
138
131
|
return referralsResultDetail && referralsResultDetail.map(_ref4 => {
|
|
139
|
-
var _error$includes;
|
|
140
132
|
let {
|
|
141
133
|
id,
|
|
142
134
|
sent,
|
|
@@ -144,8 +136,8 @@ export default function ReferralsSent(_ref) {
|
|
|
144
136
|
index,
|
|
145
137
|
attachmentStatus
|
|
146
138
|
} = _ref4;
|
|
147
|
-
const referralName =
|
|
148
|
-
const isNetworkError =
|
|
139
|
+
const referralName = `Referral ${index + 1}: ${get(referrals[index], 'service.name')}`;
|
|
140
|
+
const isNetworkError = error?.includes?.('network') || false;
|
|
149
141
|
return /*#__PURE__*/_jsxs("div", {
|
|
150
142
|
className: "flex flex-col p-4 pb-4 mx-auto border border-solid border-table-border-color",
|
|
151
143
|
children: [/*#__PURE__*/_jsx("h1", {
|
|
@@ -160,7 +152,7 @@ export default function ReferralsSent(_ref) {
|
|
|
160
152
|
size: 10
|
|
161
153
|
}), /*#__PURE__*/_jsxs("h2", {
|
|
162
154
|
className: "text-base font-black text-red",
|
|
163
|
-
children: [
|
|
155
|
+
children: [`${isNetworkError ? error : "Error: Referral creation failed. Get help resolving the issue by reaching out to "}`, !isNetworkError && /*#__PURE__*/_jsx("button", {
|
|
164
156
|
id: "website-link",
|
|
165
157
|
className: "text-base ui-contact-information__icon-text--website pl-quarter underline text-blue-600",
|
|
166
158
|
onClick: () => {
|
|
@@ -229,27 +221,28 @@ export default function ReferralsSent(_ref) {
|
|
|
229
221
|
children: /*#__PURE__*/_jsx("div", {
|
|
230
222
|
className: "flex justify-around",
|
|
231
223
|
children: /*#__PURE__*/_jsxs("div", {
|
|
232
|
-
className:
|
|
224
|
+
className: `p-10 bg-white ${successfullySentStatus === REFERRAL_STATUS.SUCCESS ? "w-3/6" : "w-4/6"} my-10`,
|
|
233
225
|
children: [/*#__PURE__*/_jsx("h1", {
|
|
234
|
-
className:
|
|
226
|
+
className: `text-4xl ${isEmrSource ? 'mb-10' : 'mb-15'} text-center font-proxima-nova font-semibold`,
|
|
235
227
|
children: windowMessage()
|
|
236
228
|
}), /*#__PURE__*/_jsx("div", {
|
|
237
229
|
className: "space-y-2",
|
|
238
230
|
children: referralStatus()
|
|
239
231
|
}), successfullySentStatus !== REFERRAL_STATUS.FAILED && /*#__PURE__*/_jsxs("div", {
|
|
240
|
-
className:
|
|
232
|
+
className: `${successfullySentStatus === REFERRAL_STATUS.SUCCESS ? "space-y-2" : "w-6/12"} p-4 mt-6 text-center mx-auto bg-white-grey border border-solid
|
|
233
|
+
border-table-border-color rounded`,
|
|
241
234
|
children: [/*#__PURE__*/_jsx("h1", {
|
|
242
|
-
className:
|
|
235
|
+
className: `font-black text-center text-lg pb-2 ${isEmrSource && 'pt-5'}`,
|
|
243
236
|
children: "Next Steps"
|
|
244
237
|
}), /*#__PURE__*/_jsx("div", {
|
|
245
|
-
className:
|
|
238
|
+
className: `text-left p-2 ${isEmrSource && 'pb-5'}`,
|
|
246
239
|
children: nextSteps.map(item => /*#__PURE__*/_jsxs("li", {
|
|
247
240
|
className: "list-none mb-1",
|
|
248
241
|
children: ["- ", item]
|
|
249
242
|
}, item))
|
|
250
243
|
})]
|
|
251
244
|
}), /*#__PURE__*/_jsxs("div", {
|
|
252
|
-
className:
|
|
245
|
+
className: `flex justify-center gap-4 ${isEmrSource ? 'pt-10' : 'mt-6'}`,
|
|
253
246
|
children: [clientProfile, !isUnlistedReferral && /*#__PURE__*/_jsx(Button, {
|
|
254
247
|
id: "share",
|
|
255
248
|
icon: {
|
|
@@ -266,7 +259,7 @@ export default function ReferralsSent(_ref) {
|
|
|
266
259
|
disabled: successfullySentStatus === REFERRAL_STATUS.FAILED
|
|
267
260
|
})]
|
|
268
261
|
}), /*#__PURE__*/_jsx(ShareDrawer, {
|
|
269
|
-
employeeId: currentEmployee
|
|
262
|
+
employeeId: currentEmployee?.id,
|
|
270
263
|
coreApi: coreApi,
|
|
271
264
|
SHARES_URL: APP_ENVIRONMENT.sharesUrl,
|
|
272
265
|
show: shareDrawerOpen,
|