@unite-us/app-create-referral 0.15.70 → 0.15.72
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/__testUtils__/mockData/mockFeeSchedulePrograms.js +216 -0
- package/dist/__testUtils__/mockData/mockFeeSchedulePrograms.js.map +1 -1
- package/dist/__testUtils__/mockData/mockPrograms.js +112 -0
- package/dist/__testUtils__/mockData/mockPrograms.js.map +1 -1
- package/dist/__testUtils__/mockData/mockProviders.js +82 -0
- package/dist/__testUtils__/mockData/mockProviders.js.map +1 -1
- package/dist/__testUtils__/mockData/utils.js +29 -11
- package/dist/__testUtils__/mockData/utils.js.map +1 -1
- package/dist/pages/builder/__tests__/AuthorizationRequiredPrograms.test.js +83 -1
- package/dist/pages/builder/__tests__/AuthorizationRequiredPrograms.test.js.map +1 -1
- package/dist/pages/builder/buildGroupedReferrals.js +9 -17
- package/dist/pages/builder/buildGroupedReferrals.js.map +1 -1
- package/dist/pages/builder/utils.js +27 -1
- package/dist/pages/builder/utils.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","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$network","concat","map","description","primaryWorker","attachments","paymentAuthForm","amount_requested","service_start","service_end","icd10_code","network","sendingProvider","state","case","buildReferralsFromPrograms","crtb1239AdaptDraftReferralFlow","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","client_need","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","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} 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 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 = (crtb1239AdaptDraftReferralFlow, 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 if (crtb1239AdaptDraftReferralFlow) {\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 } else {\n referral = buildReferral(item.programs, item.service, currentProvider, draftState);\n }\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 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$network","concat","map","description","primaryWorker","attachments","paymentAuthForm","amount_requested","service_start","service_end","icd10_code","network","sendingProvider","state","case","buildReferralsFromPrograms","crtb1239AdaptDraftReferralFlow","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","client_need","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 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 = (crtb1239AdaptDraftReferralFlow, 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 if (crtb1239AdaptDraftReferralFlow) {\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 } else {\n referral = buildReferral(item.programs, item.service, currentProvider, draftState);\n }\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":[]}
|