@unite-us/app-create-referral 0.15.114 → 0.15.115
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/hooks/__tests__/useCreateReferrals.test.js +89 -3
- package/dist/hooks/__tests__/useCreateReferrals.test.js.map +1 -1
- package/dist/hooks/useCreateReferrals.js +3 -6
- package/dist/hooks/useCreateReferrals.js.map +1 -1
- package/dist/pages/builder/ReferralBuilder.js +2 -3
- package/dist/pages/builder/ReferralBuilder.js.map +1 -1
- package/dist/pages/builder/ReferralBuilderForm.js +1 -2
- package/dist/pages/builder/ReferralBuilderForm.js.map +1 -1
- package/dist/pages/builder/utils.js +2 -3
- package/dist/pages/builder/utils.js.map +1 -1
- package/dist/pages/review/Review.js +1 -2
- package/dist/pages/review/Review.js.map +1 -1
- package/package.json +1 -1
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"utils.js","names":["compact","some","get","head","flatMap","intersectionBy","uniqBy","groupBy","isEmpty","OFF_PLATFORM_REFERRALS_ONLY","mapProgramsPerService","programs","result","reduce","out","program","services","forEach","serviceId","existingService","find","item","service","push","id","buildReferral","programIds","currentProvider","draftState","_draftState$descripti","_draftState$attachmen","_draftState$client_ne","_draftState$network","concat","map","description","primaryWorker","attachments","paymentAuthForm","amount_requested","service_start","service_end","icd10_code","client_need","network","sendingProvider","state","case","buildReferralsFromPrograms","programsByService","referrals","idx","referral","firstReferral","filterProgramsReceivingReferrals","ref","_objectSpread","filter","_program$status","receiving_referrals","status","toLowerCase","length","referralIsGrouped","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';\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 return {\n programs: [].concat(programIds).map(id => ({ id })),\n service: {\n id: service\n },\n description: draftState?.description ?? '',\n primaryWorker: null,\n attachments: draftState?.attachments ?? null,\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 let referral = null;\n\n // Draft state for only the first referral\n const firstReferral = idx === 0 ? draftState : null;\n referral = buildReferral(item.programs, item.service, currentProvider, firstReferral);\n\n return referral;\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: 'IconElectronsArrow', color: '' }; }\n if (isReceivingReferrals) { return { title: 'Accepting Referrals', icon: 'IconCheckCircle', color: '#1CCA21' }; }\n if (!isReceivingReferrals) { return { title: 'Not Accepting Referrals', icon: 'IconCrossCircle', 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","mapProgramsPerService","programs","result","reduce","out","program","services","forEach","serviceId","existingService","find","item","service","push","id","buildReferral","programIds","currentProvider","draftState","_draftState$descripti","_draftState$attachmen","_draftState$client_ne","_draftState$network","concat","map","description","primaryWorker","attachments","paymentAuthForm","amount_requested","service_start","service_end","icd10_code","client_need","network","sendingProvider","state","case","buildReferralsFromPrograms","programsByService","referrals","idx","referral","firstReferral","filterProgramsReceivingReferrals","ref","_objectSpread","filter","_program$status","receiving_referrals","status","toLowerCase","length","referralIsGrouped","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","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';\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 return {\n programs: [].concat(programIds).map(id => ({ id })),\n service: {\n id: service\n },\n description: draftState?.description ?? '',\n primaryWorker: null,\n attachments: draftState?.attachments ?? null,\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 let referral = null;\n\n // Draft state for only the first referral\n const firstReferral = idx === 0 ? draftState : null;\n referral = buildReferral(item.programs, item.service, currentProvider, firstReferral);\n\n return referral;\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: 'IconElectronsArrow', color: '' }; }\n if (isReceivingReferrals) { return { title: 'Accepting Referrals', icon: 'IconCheckCircle', color: '#1CCA21' }; }\n if (!isReceivingReferrals) { return { title: 'Not Accepting Referrals', icon: 'IconCrossCircle', 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) => {\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 }\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":[]}
|
|
@@ -50,7 +50,6 @@ export default function Review() {
|
|
|
50
50
|
}
|
|
51
51
|
} = useAppCreateReferralContext();
|
|
52
52
|
const crtb854ForwardingSuperset = useFeatureFlag('crtb854ForwardingSuperset', false);
|
|
53
|
-
const featureFlagClientNeeds = useFeatureFlag('crtb2130MultipleClientNeeds', false);
|
|
54
53
|
const newLanguageDashboard = useFeatureFlag('crtb2182ClarifyReferralLanguage', false);
|
|
55
54
|
const [sent, updateSent] = useState(false);
|
|
56
55
|
const [isSuccessfullyForwarded, setIsSuccessfullyForwarded] = useState(false);
|
|
@@ -630,7 +629,7 @@ export default function Review() {
|
|
|
630
629
|
}), /*#__PURE__*/_jsx("p", {
|
|
631
630
|
children: formatShortDate2FromTimestamp(get(referral, 'opened_date'), true)
|
|
632
631
|
})]
|
|
633
|
-
}),
|
|
632
|
+
}), get(referral, 'client_need.length') && /*#__PURE__*/_jsxs("div", {
|
|
634
633
|
className: "col-span-1 mt-10 p-2",
|
|
635
634
|
children: [/*#__PURE__*/_jsxs("h2", {
|
|
636
635
|
className: "uppercase font-semibold mb-1 text-sm text-text-blue",
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Review.js","names":["Icon","React","useState","useEffect","useRef","useMemo","Skeleton","get","isEmpty","includes","isEqual","some","values","intersectionBy","upperFirst","useNavigate","StepHeader","READY_TO_SUMBIT_INFO_TEXT","REVIEW_REFERRAL_DESCRIPTION","CONSENT_DESCRIPTION","CONSENT_COMPLETED","REVIEW_LOADING_SCREEN_DESCRIPTION","referralIsGrouped","referralIsOON","ReferralsSent","NoReferralsDisplay","setData","useAppCreateReferralContext","DeleteReferralModal","NavButtons","CreateReferralContainer","ReferralAuthorizationRequestSummary","useCreateReferrals","CALLBACKS","COMPONENTS","APP_ENVIRONMENT","FilePreviewWrapper","useCreateShareEvent","DocumentsListView","hasOffPlatformReferrals","isEmptyErrors","useFeatureFlag","referralToConsent","formatShortDate2FromTimestamp","useForwardReferral","DropdownMultiplesReferrals","useFind","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","selectedPrograms","personId","crtb854ForwardingSuperset","featureFlagClientNeeds","newLanguageDashboard","sent","updateSent","isSuccessfullyForwarded","setIsSuccessfullyForwarded","fieldErrors","setFieldErrors","expandedReferrals","setExpandedReferrals","deleteReferralModalIsOpen","setDeleteReferralModalIsOpen","selectedReferralToDelete","setSelectedReferralToDelete","selectedReferralToLink","setSelectedReferralToLink","consented","setConsented","consentCompleted","setConsentCompleted","disableSubmit","setDisableSubmit","isSavingDraft","setIsSavingDraft","loading","setLoading","formRefs","referralsResultDetail","setReferralsResultDetail","hasBeenSubmitted","setHasBeenSubmitted","referralsToConsent","setReferralsToConsent","showNHConsent","nh_consent","features","nhConsentEnabled","length","enabled","data","clientNeedsData","concat","most_recent","queryConfig","placeholderData","undefined","clientNeedsMap","_clientNeedsData$data","needs","reduce","map","condition","id","name","getClientNeedName","needId","createShareEvent","isForwardReferralPath","referralSentSuccessfully","errors","Object","keys","acc","index","fieldError","referralSelected","hasMultipleReferrals","setReferralErrors","referralIndex","newErrors","prevFieldErrors","currentErrors","updatedErrors","_objectSpread","onChevronClick","expanded","ref","onDeleteReferralClick","onCloseDeleteReferralModal","r","i","attachedDocuments","attachableDocuments","filter","doc","attached","isOON","deleteModal","current","openDialog","closeDialog","sessionStorage","setItem","window","performance","navEntries","getEntriesByType","isRefresh","type","referralsWereSubmitted","getItem","removeItem","onReferralReload","error","console","deleteSelectedReferral","updatedReferrals","newReferralPrograms","flatMap","programs","newSelectedPrograms","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","addIsGrouped","detail","referralsList","item","referral","isGrouped","getReferralIdsByIndex","createdReferrals","arguments","referralIdByIndex","processSubmitResult","referralsToConsentData","detailWithGrouping","isValidForwardResponse","forwardReferrals","errorMessage","every","response","isSuccessfulForward","fullyForwaded","createRemainingReferrals","referralForwardedDeleted","splice","referralIdsByIndex","shippingDetail","_referralIdsByIndex$i","getForwardErrorMessage","_forwardReferrals$err","handleForwardReferralSubmit","_referrals$selectedRe","referralToForward","status","newReferrals","originalReferral","_referral$data","push","handleStandardSubmit","_person$consent","_referralIdsByIndex$i2","consent","handleSubmit","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","isAuthRequired","color","selectedReferral","ariaLabel","refModal","el","onCloseModal","onDeleteSelectedReferral","program","authorizationRequest","feeScheduleProgram","needIndex","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, intersectionBy, upperFirst } 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 {\n referralIsGrouped,\n referralIsOON,\n} from '../builder/utils.js';\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';\nimport { useFind } from '../../api/ApiHooks';\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 selectedPrograms,\n personId,\n }\n } = useAppCreateReferralContext();\n\n const crtb854ForwardingSuperset = useFeatureFlag('crtb854ForwardingSuperset', false);\n const featureFlagClientNeeds = useFeatureFlag('crtb2130MultipleClientNeeds', false);\n const newLanguageDashboard = useFeatureFlag('crtb2182ClarifyReferralLanguage', 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 [isSavingDraft, setIsSavingDraft] = 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 showNHConsent = currentProvider?.nh_consent ?? false;\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 { data: clientNeedsData } = useFind(\n `people/${personId}/person_condition`,\n {\n most_recent: true,\n },\n {\n queryConfig: {\n placeholderData: undefined,\n },\n },\n );\n\n const clientNeedsMap = useMemo(() => {\n const needs = clientNeedsData?.data?.data || [];\n return needs.reduce((map, condition) => {\n map[condition.id] = upperFirst(condition.name);\n return map;\n }, {});\n }, [clientNeedsData]);\n\n const getClientNeedName = (needId) => {\n return clientNeedsMap[needId] || needId;\n };\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 isOON: referralIsOON(r),\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 const newReferralPrograms = updatedReferrals.flatMap((r) => r.programs);\n const newSelectedPrograms = intersectionBy(selectedPrograms, newReferralPrograms, 'id');\n dispatch(setData({\n referrals: [...updatedReferrals],\n selectedPrograms: [...newSelectedPrograms],\n }));\n onCloseDeleteReferralModal();\n }\n\n const createReferrals = useCreateReferrals();\n const forwardReferral = useForwardReferral();\n\n const handleSaveDraftReferral = async () => {\n if (isSavingDraft) return;\n\n setIsSavingDraft(true);\n try {\n await createReferrals({ draft: true });\n const { onSaveDraftReferral } = CALLBACKS;\n onSaveDraftReferral && onSaveDraftReferral();\n } catch (err) {\n console.error(err)\n } finally {\n setIsSavingDraft(false);\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 addIsGrouped = (detail, referralsList) => {\n return (detail || []).map((item) => {\n const referral = referralsList?.[item.index];\n\n return {\n ...item,\n isGrouped: referral ? referralIsGrouped(referral) : false,\n };\n });\n };\n\n const getReferralIdsByIndex = (createdReferrals = []) => {\n return createdReferrals.reduce((referralIdByIndex, { referralIndex, id } = {}) => {\n if (referralIndex == null) {\n return referralIdByIndex;\n }\n\n referralIdByIndex[referralIndex] = id || '';\n\n return referralIdByIndex;\n }, {});\n };\n\n const processSubmitResult = (detail, referralsToConsentData) => {\n const detailWithGrouping = addIsGrouped(detail, referrals);\n setReferralsToConsent(referralsToConsentData);\n setReferralsResultDetail(detailWithGrouping);\n showReferralsNotifications(detailWithGrouping);\n };\n\n const isValidForwardResponse = (forwardReferrals) =>\n forwardReferrals !== false &&\n !forwardReferrals?.errorMessage &&\n forwardReferrals.every(response => response !== false);\n\n const isSuccessfulForward = (forwardReferrals, fullyForwaded) =>\n isValidForwardResponse(forwardReferrals) && fullyForwaded;\n\n const createRemainingReferrals = async () => {\n if (referrals.length < 2) return { detail: [], response: { referralsToConsent: [] } };\n\n const referralForwardedDeleted = referrals.splice(selectedReferralToLink, 1);\n const response = await createReferrals();\n const referralIdsByIndex = getReferralIdsByIndex(response.referrals);\n const detail = response.shippingDetail.map(item => ({\n index: item.index >= selectedReferralToLink ? item.index + 1 : item.index,\n sent: item.sent,\n caseId: item.caseId,\n error: item.error,\n referralId: referralIdsByIndex[item.index] ?? '',\n }));\n referrals.splice(selectedReferralToLink, 0, referralForwardedDeleted[0]);\n\n return { detail, response };\n };\n\n const getForwardErrorMessage = (forwardReferrals, fullyForwaded) =>\n forwardReferrals?.errorMessage ?? (fullyForwaded ? null : \"Unexpected error\");\n\n const handleForwardReferralSubmit = async () => {\n const referralToForward = referrals[selectedReferralToLink] ?? null;\n const forwardReferrals = await forwardReferral({\n caseId,\n referralToForward,\n });\n\n let fullyForwaded = false;\n\n if (isValidForwardResponse(forwardReferrals)) {\n fullyForwaded = forwardReferrals.every(response => response?.status >= 200 && response?.status < 300);\n };\n\n const { detail, response } = await createRemainingReferrals();\n\n const errorMessage = getForwardErrorMessage(forwardReferrals, fullyForwaded);\n detail.splice(selectedReferralToLink, 0, {\n index: selectedReferralToLink,\n sent: fullyForwaded,\n error: errorMessage,\n referralId: get(forwardReferrals, '[0].data.data.id', ''),\n caseId: caseId,\n });\n\n // Add forwarded referrals to the response.referralToConsent\n if (isSuccessfulForward(forwardReferrals, fullyForwaded)) {\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 processSubmitResult(detail, response.referralsToConsent);\n };\n\n const handleStandardSubmit = async () => {\n const response = await createReferrals({ caseId });\n updateSent(true);\n const referralIdsByIndex = getReferralIdsByIndex(response.referrals);\n const detail = response.shippingDetail.map(item => ({\n index: item.index,\n sent: item.sent,\n caseId: item.caseId,\n error: item.error,\n referralId: referralIdsByIndex[item.index] ?? '',\n }));\n\n processSubmitResult(detail, response.referralsToConsent);\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\n const handleSubmit = async () => {\n if (!isEmptyErrors(errors)) return focusErrors();\n\n setLoading(true);\n setDisableSubmit(true);\n\n try {\n if (isForwardReferralPath) {\n await handleForwardReferralSubmit();\n } else {\n await handleStandardSubmit();\n }\n } catch (err) {\n console.error(err);\n setDisableSubmit(false);\n } finally {\n setLoading(false);\n setHasBeenSubmitted(true);\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 || isSavingDraft}\n isForwardReferralPath={isForwardReferralPath}\n isSavingDraft={isSavingDraft}\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 {newLanguageDashboard && referral.isOON && (\n <div className=\"bg-alert-yellow border border-solid border-canary-yellow rounded p-3 ml-3 col-span-full mt-10\">\n <p className=\"text-brand-blue\">\n These programs aren't accepting referrals in Unite Us.\n We'll create an off-platform case where you can document communication with or services provided by the program.\n </p>\n </div>\n )}\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\">{newLanguageDashboard ? 'Description' : '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\">{newLanguageDashboard ? 'Case Open Date' : 'Open Date'}</h2>\n <p>{formatShortDate2FromTimestamp(get(referral, 'opened_date'), true)}</p>\n </div>\n )}\n {featureFlagClientNeeds && get(referral, 'client_need.length') && (\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{get(referral, 'client_need.length') > 1 ? 's' : ''}</h2>\n {get(referral, 'client_need', []).map((needId, needIndex) => (\n <p key={needIndex}>\n {getClientNeedName(needId)}\n </p>\n ))}\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 || isSavingDraft}\n isForwardReferralPath={isForwardReferralPath}\n isSavingDraft={isSavingDraft}\n />\n </div>\n )}\n </div>\n </CreateReferralContainer>\n )}\n </>\n )\n}\n"],"mappings":"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","ignoreList":[]}
|
|
1
|
+
{"version":3,"file":"Review.js","names":["Icon","React","useState","useEffect","useRef","useMemo","Skeleton","get","isEmpty","includes","isEqual","some","values","intersectionBy","upperFirst","useNavigate","StepHeader","READY_TO_SUMBIT_INFO_TEXT","REVIEW_REFERRAL_DESCRIPTION","CONSENT_DESCRIPTION","CONSENT_COMPLETED","REVIEW_LOADING_SCREEN_DESCRIPTION","referralIsGrouped","referralIsOON","ReferralsSent","NoReferralsDisplay","setData","useAppCreateReferralContext","DeleteReferralModal","NavButtons","CreateReferralContainer","ReferralAuthorizationRequestSummary","useCreateReferrals","CALLBACKS","COMPONENTS","APP_ENVIRONMENT","FilePreviewWrapper","useCreateShareEvent","DocumentsListView","hasOffPlatformReferrals","isEmptyErrors","useFeatureFlag","referralToConsent","formatShortDate2FromTimestamp","useForwardReferral","DropdownMultiplesReferrals","useFind","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","selectedPrograms","personId","crtb854ForwardingSuperset","newLanguageDashboard","sent","updateSent","isSuccessfullyForwarded","setIsSuccessfullyForwarded","fieldErrors","setFieldErrors","expandedReferrals","setExpandedReferrals","deleteReferralModalIsOpen","setDeleteReferralModalIsOpen","selectedReferralToDelete","setSelectedReferralToDelete","selectedReferralToLink","setSelectedReferralToLink","consented","setConsented","consentCompleted","setConsentCompleted","disableSubmit","setDisableSubmit","isSavingDraft","setIsSavingDraft","loading","setLoading","formRefs","referralsResultDetail","setReferralsResultDetail","hasBeenSubmitted","setHasBeenSubmitted","referralsToConsent","setReferralsToConsent","showNHConsent","nh_consent","features","nhConsentEnabled","length","enabled","data","clientNeedsData","concat","most_recent","queryConfig","placeholderData","undefined","clientNeedsMap","_clientNeedsData$data","needs","reduce","map","condition","id","name","getClientNeedName","needId","createShareEvent","isForwardReferralPath","referralSentSuccessfully","errors","Object","keys","acc","index","fieldError","referralSelected","hasMultipleReferrals","setReferralErrors","referralIndex","newErrors","prevFieldErrors","currentErrors","updatedErrors","_objectSpread","onChevronClick","expanded","ref","onDeleteReferralClick","onCloseDeleteReferralModal","r","i","attachedDocuments","attachableDocuments","filter","doc","attached","isOON","deleteModal","current","openDialog","closeDialog","sessionStorage","setItem","window","performance","navEntries","getEntriesByType","isRefresh","type","referralsWereSubmitted","getItem","removeItem","onReferralReload","error","console","deleteSelectedReferral","updatedReferrals","newReferralPrograms","flatMap","programs","newSelectedPrograms","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","addIsGrouped","detail","referralsList","item","referral","isGrouped","getReferralIdsByIndex","createdReferrals","arguments","referralIdByIndex","processSubmitResult","referralsToConsentData","detailWithGrouping","isValidForwardResponse","forwardReferrals","errorMessage","every","response","isSuccessfulForward","fullyForwaded","createRemainingReferrals","referralForwardedDeleted","splice","referralIdsByIndex","shippingDetail","_referralIdsByIndex$i","getForwardErrorMessage","_forwardReferrals$err","handleForwardReferralSubmit","_referrals$selectedRe","referralToForward","status","newReferrals","originalReferral","_referral$data","push","handleStandardSubmit","_person$consent","_referralIdsByIndex$i2","consent","handleSubmit","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","isAuthRequired","color","selectedReferral","ariaLabel","refModal","el","onCloseModal","onDeleteSelectedReferral","program","authorizationRequest","feeScheduleProgram","needIndex","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, intersectionBy, upperFirst } 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 {\n referralIsGrouped,\n referralIsOON,\n} from '../builder/utils.js';\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';\nimport { useFind } from '../../api/ApiHooks';\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 selectedPrograms,\n personId,\n }\n } = useAppCreateReferralContext();\n\n const crtb854ForwardingSuperset = useFeatureFlag('crtb854ForwardingSuperset', false);\n const newLanguageDashboard = useFeatureFlag('crtb2182ClarifyReferralLanguage', 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 [isSavingDraft, setIsSavingDraft] = 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 showNHConsent = currentProvider?.nh_consent ?? false;\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 { data: clientNeedsData } = useFind(\n `people/${personId}/person_condition`,\n {\n most_recent: true,\n },\n {\n queryConfig: {\n placeholderData: undefined,\n },\n },\n );\n\n const clientNeedsMap = useMemo(() => {\n const needs = clientNeedsData?.data?.data || [];\n return needs.reduce((map, condition) => {\n map[condition.id] = upperFirst(condition.name);\n return map;\n }, {});\n }, [clientNeedsData]);\n\n const getClientNeedName = (needId) => {\n return clientNeedsMap[needId] || needId;\n };\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 isOON: referralIsOON(r),\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 const newReferralPrograms = updatedReferrals.flatMap((r) => r.programs);\n const newSelectedPrograms = intersectionBy(selectedPrograms, newReferralPrograms, 'id');\n dispatch(setData({\n referrals: [...updatedReferrals],\n selectedPrograms: [...newSelectedPrograms],\n }));\n onCloseDeleteReferralModal();\n }\n\n const createReferrals = useCreateReferrals();\n const forwardReferral = useForwardReferral();\n\n const handleSaveDraftReferral = async () => {\n if (isSavingDraft) return;\n\n setIsSavingDraft(true);\n try {\n await createReferrals({ draft: true });\n const { onSaveDraftReferral } = CALLBACKS;\n onSaveDraftReferral && onSaveDraftReferral();\n } catch (err) {\n console.error(err)\n } finally {\n setIsSavingDraft(false);\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 addIsGrouped = (detail, referralsList) => {\n return (detail || []).map((item) => {\n const referral = referralsList?.[item.index];\n\n return {\n ...item,\n isGrouped: referral ? referralIsGrouped(referral) : false,\n };\n });\n };\n\n const getReferralIdsByIndex = (createdReferrals = []) => {\n return createdReferrals.reduce((referralIdByIndex, { referralIndex, id } = {}) => {\n if (referralIndex == null) {\n return referralIdByIndex;\n }\n\n referralIdByIndex[referralIndex] = id || '';\n\n return referralIdByIndex;\n }, {});\n };\n\n const processSubmitResult = (detail, referralsToConsentData) => {\n const detailWithGrouping = addIsGrouped(detail, referrals);\n setReferralsToConsent(referralsToConsentData);\n setReferralsResultDetail(detailWithGrouping);\n showReferralsNotifications(detailWithGrouping);\n };\n\n const isValidForwardResponse = (forwardReferrals) =>\n forwardReferrals !== false &&\n !forwardReferrals?.errorMessage &&\n forwardReferrals.every(response => response !== false);\n\n const isSuccessfulForward = (forwardReferrals, fullyForwaded) =>\n isValidForwardResponse(forwardReferrals) && fullyForwaded;\n\n const createRemainingReferrals = async () => {\n if (referrals.length < 2) return { detail: [], response: { referralsToConsent: [] } };\n\n const referralForwardedDeleted = referrals.splice(selectedReferralToLink, 1);\n const response = await createReferrals();\n const referralIdsByIndex = getReferralIdsByIndex(response.referrals);\n const detail = response.shippingDetail.map(item => ({\n index: item.index >= selectedReferralToLink ? item.index + 1 : item.index,\n sent: item.sent,\n caseId: item.caseId,\n error: item.error,\n referralId: referralIdsByIndex[item.index] ?? '',\n }));\n referrals.splice(selectedReferralToLink, 0, referralForwardedDeleted[0]);\n\n return { detail, response };\n };\n\n const getForwardErrorMessage = (forwardReferrals, fullyForwaded) =>\n forwardReferrals?.errorMessage ?? (fullyForwaded ? null : \"Unexpected error\");\n\n const handleForwardReferralSubmit = async () => {\n const referralToForward = referrals[selectedReferralToLink] ?? null;\n const forwardReferrals = await forwardReferral({\n caseId,\n referralToForward,\n });\n\n let fullyForwaded = false;\n\n if (isValidForwardResponse(forwardReferrals)) {\n fullyForwaded = forwardReferrals.every(response => response?.status >= 200 && response?.status < 300);\n };\n\n const { detail, response } = await createRemainingReferrals();\n\n const errorMessage = getForwardErrorMessage(forwardReferrals, fullyForwaded);\n detail.splice(selectedReferralToLink, 0, {\n index: selectedReferralToLink,\n sent: fullyForwaded,\n error: errorMessage,\n referralId: get(forwardReferrals, '[0].data.data.id', ''),\n caseId: caseId,\n });\n\n // Add forwarded referrals to the response.referralToConsent\n if (isSuccessfulForward(forwardReferrals, fullyForwaded)) {\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 processSubmitResult(detail, response.referralsToConsent);\n };\n\n const handleStandardSubmit = async () => {\n const response = await createReferrals({ caseId });\n updateSent(true);\n const referralIdsByIndex = getReferralIdsByIndex(response.referrals);\n const detail = response.shippingDetail.map(item => ({\n index: item.index,\n sent: item.sent,\n caseId: item.caseId,\n error: item.error,\n referralId: referralIdsByIndex[item.index] ?? '',\n }));\n\n processSubmitResult(detail, response.referralsToConsent);\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\n const handleSubmit = async () => {\n if (!isEmptyErrors(errors)) return focusErrors();\n\n setLoading(true);\n setDisableSubmit(true);\n\n try {\n if (isForwardReferralPath) {\n await handleForwardReferralSubmit();\n } else {\n await handleStandardSubmit();\n }\n } catch (err) {\n console.error(err);\n setDisableSubmit(false);\n } finally {\n setLoading(false);\n setHasBeenSubmitted(true);\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 || isSavingDraft}\n isForwardReferralPath={isForwardReferralPath}\n isSavingDraft={isSavingDraft}\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 {newLanguageDashboard && referral.isOON && (\n <div className=\"bg-alert-yellow border border-solid border-canary-yellow rounded p-3 ml-3 col-span-full mt-10\">\n <p className=\"text-brand-blue\">\n These programs aren't accepting referrals in Unite Us.\n We'll create an off-platform case where you can document communication with or services provided by the program.\n </p>\n </div>\n )}\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\">{newLanguageDashboard ? 'Description' : '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\">{newLanguageDashboard ? 'Case Open Date' : 'Open Date'}</h2>\n <p>{formatShortDate2FromTimestamp(get(referral, 'opened_date'), true)}</p>\n </div>\n )}\n {get(referral, 'client_need.length') && (\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{get(referral, 'client_need.length') > 1 ? 's' : ''}</h2>\n {get(referral, 'client_need', []).map((needId, needIndex) => (\n <p key={needIndex}>\n {getClientNeedName(needId)}\n </p>\n ))}\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 || isSavingDraft}\n isForwardReferralPath={isForwardReferralPath}\n isSavingDraft={isSavingDraft}\n />\n </div>\n )}\n </div>\n </CreateReferralContainer>\n )}\n </>\n )\n}\n"],"mappings":"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","ignoreList":[]}
|