@unite-us/app-create-referral 0.15.166 → 0.15.168
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/AppReferrals.js +3 -4
- package/dist/AppReferrals.js.map +1 -1
- package/dist/AppReferrals.test.js +27 -20
- package/dist/AppReferrals.test.js.map +1 -1
- package/dist/__testUtils__/mockData/utils.js +13 -19
- package/dist/__testUtils__/mockData/utils.js.map +1 -1
- package/dist/__testUtils__/mockServer/handlers.js +7 -13
- package/dist/__testUtils__/mockServer/handlers.js.map +1 -1
- package/dist/__testUtils__/test-utils.js +10 -15
- package/dist/__testUtils__/test-utils.js.map +1 -1
- package/dist/actions/Document/Contact/Group/fileUploadUtils.js +1 -1
- package/dist/actions/Document/Contact/Group/fileUploadUtils.js.map +1 -1
- package/dist/actions/Group/fetchCoreGroupForms.js +1 -1
- package/dist/actions/Group/fetchCoreGroupForms.js.map +1 -1
- package/dist/actions/Referral/cannotMoveToReferralReasons.js +10 -11
- package/dist/actions/Referral/cannotMoveToReferralReasons.js.map +1 -1
- package/dist/actions/Referral/fetchCoreServices.js +19 -25
- package/dist/actions/Referral/fetchCoreServices.js.map +1 -1
- package/dist/actions/Referral/removeReferralProgram.js +3 -5
- package/dist/actions/Referral/removeReferralProgram.js.map +1 -1
- package/dist/api/ApiHooks.js +39 -36
- package/dist/api/ApiHooks.js.map +1 -1
- package/dist/api/config.js +9 -8
- package/dist/api/config.js.map +1 -1
- package/dist/common/form/CurrencyField/index.js +3 -5
- package/dist/common/form/CurrencyField/index.js.map +1 -1
- package/dist/common/form/DocumentUploader/components/ContactDocumentsSelector.js +3 -3
- package/dist/common/form/DocumentUploader/components/ContactDocumentsSelector.js.map +1 -1
- package/dist/common/form/DocumentUploader/components/DocumentsListView.js +1 -1
- package/dist/common/form/DocumentUploader/components/DocumentsListView.js.map +1 -1
- package/dist/common/form/FileUploadV2/FileUpload.js +27 -15
- package/dist/common/form/FileUploadV2/FileUpload.js.map +1 -1
- package/dist/common/form/FileUploadV2/FileUpload.test.js +6 -10
- package/dist/common/form/FileUploadV2/FileUpload.test.js.map +1 -1
- package/dist/common/form/FileUploadV2/components/FilePreviewWrapper.js +6 -7
- package/dist/common/form/FileUploadV2/components/FilePreviewWrapper.js.map +1 -1
- package/dist/common/form/FormForm/index.js +10 -10
- package/dist/common/form/FormForm/index.js.map +1 -1
- package/dist/components/DollarAmount.js +2 -2
- package/dist/components/DollarAmount.js.map +1 -1
- package/dist/components/LineItem.js +1 -1
- package/dist/components/LineItem.js.map +1 -1
- package/dist/components/ReferralStepper.js +4 -5
- package/dist/components/ReferralStepper.js.map +1 -1
- package/dist/components/SearchableField.js +3 -4
- package/dist/components/SearchableField.js.map +1 -1
- package/dist/components/Stepper.js +7 -7
- package/dist/components/Stepper.js.map +1 -1
- package/dist/components/modal/Dialog.js +15 -10
- package/dist/components/modal/Dialog.js.map +1 -1
- package/dist/components/service_authorization/AuthorizationSpendCard.js +5 -5
- package/dist/components/service_authorization/AuthorizationSpendCard.js.map +1 -1
- package/dist/components/service_authorization/CapsInfo.js +10 -10
- package/dist/components/service_authorization/CapsInfo.js.map +1 -1
- package/dist/components/service_authorization/CaseStatus.js +2 -2
- package/dist/components/service_authorization/CaseStatus.js.map +1 -1
- package/dist/components/service_authorization/PreviousAuthorizationRequestsDetails.js +1 -2
- package/dist/components/service_authorization/PreviousAuthorizationRequestsDetails.js.map +1 -1
- package/dist/components/service_authorization/ReferralAuthSpendExpandable.js +2 -2
- package/dist/components/service_authorization/ReferralAuthSpendExpandable.js.map +1 -1
- package/dist/components/service_authorization/ReferralAuthorizationRequestSummary.js +4 -4
- package/dist/components/service_authorization/ReferralAuthorizationRequestSummary.js.map +1 -1
- package/dist/components/service_authorization/formatShortDate.js +1 -1
- package/dist/components/service_authorization/formatShortDate.js.map +1 -1
- package/dist/components/spinners/Spinner/Spinner.js +1 -1
- package/dist/components/spinners/Spinner/Spinner.js.map +1 -1
- package/dist/context/AppCreateReferralProvider.js +4 -4
- package/dist/context/AppCreateReferralProvider.js.map +1 -1
- package/dist/context/state.js +14 -6
- package/dist/context/state.js.map +1 -1
- package/dist/context/withAppCreateReferralContext.js +3 -5
- package/dist/context/withAppCreateReferralContext.js.map +1 -1
- package/dist/hooks/__tests__/useCreateReferrals.test.js +19 -17
- package/dist/hooks/__tests__/useCreateReferrals.test.js.map +1 -1
- package/dist/hooks/sendReferral.js +38 -35
- package/dist/hooks/sendReferral.js.map +1 -1
- package/dist/hooks/useClinicalModificationOptions.js +1 -2
- package/dist/hooks/useClinicalModificationOptions.js.map +1 -1
- package/dist/hooks/useCreateReferrals.js +107 -90
- package/dist/hooks/useCreateReferrals.js.map +1 -1
- package/dist/hooks/useCreateResourceList.js +11 -12
- package/dist/hooks/useCreateResourceList.js.map +1 -1
- package/dist/hooks/useCreateShareEvent.js +2 -2
- package/dist/hooks/useCreateShareEvent.js.map +1 -1
- package/dist/hooks/useForwardReferral.js +36 -36
- package/dist/hooks/useForwardReferral.js.map +1 -1
- package/dist/hooks/useUpdateResourceList.js +16 -17
- package/dist/hooks/useUpdateResourceList.js.map +1 -1
- package/dist/pages/builder/ReferralBuilder.js +32 -31
- package/dist/pages/builder/ReferralBuilder.js.map +1 -1
- package/dist/pages/builder/ReferralBuilderForm.js +7 -10
- package/dist/pages/builder/ReferralBuilderForm.js.map +1 -1
- package/dist/pages/builder/ReferralBuilderFormContent.js +43 -36
- package/dist/pages/builder/ReferralBuilderFormContent.js.map +1 -1
- package/dist/pages/builder/__tests__/AuthorizationRequiredPrograms.test.js +1 -1
- package/dist/pages/builder/__tests__/AuthorizationRequiredPrograms.test.js.map +1 -1
- package/dist/pages/builder/__tests__/NonSensitiveGroupedPrograms.test.js +16 -16
- package/dist/pages/builder/__tests__/NonSensitiveGroupedPrograms.test.js.map +1 -1
- package/dist/pages/builder/__tests__/NonSensitiveSingleProgram.test.js +12 -12
- package/dist/pages/builder/__tests__/NonSensitiveSingleProgram.test.js.map +1 -1
- package/dist/pages/builder/__tests__/ReferralBuilderForm.attachments.test.js +19 -14
- package/dist/pages/builder/__tests__/ReferralBuilderForm.attachments.test.js.map +1 -1
- package/dist/pages/builder/__tests__/SensitiveProviderGroupedPrograms.test.js +12 -12
- package/dist/pages/builder/__tests__/SensitiveProviderGroupedPrograms.test.js.map +1 -1
- package/dist/pages/builder/__tests__/SensitiveServiceGroupedPrograms.test.js +1 -1
- package/dist/pages/builder/__tests__/SensitiveServiceGroupedPrograms.test.js.map +1 -1
- package/dist/pages/builder/__tests__/SensitiveServiceSensitiveProviderGroupedPrograms.test.js +7 -7
- package/dist/pages/builder/__tests__/SensitiveServiceSensitiveProviderGroupedPrograms.test.js.map +1 -1
- package/dist/pages/builder/__tests__/SensitiveSingleProgram.test.js +15 -17
- package/dist/pages/builder/__tests__/SensitiveSingleProgram.test.js.map +1 -1
- package/dist/pages/builder/__tests__/buildDraftState.test.js +4 -6
- package/dist/pages/builder/__tests__/buildDraftState.test.js.map +1 -1
- package/dist/pages/builder/__tests__/buildGroupedReferrals.networkBug.test.js +4 -10
- package/dist/pages/builder/__tests__/buildGroupedReferrals.networkBug.test.js.map +1 -1
- package/dist/pages/builder/buildDraftState.js +2 -2
- package/dist/pages/builder/buildDraftState.js.map +1 -1
- package/dist/pages/builder/components/AuthorizationSubform.js +19 -19
- package/dist/pages/builder/components/AuthorizationSubform.js.map +1 -1
- package/dist/pages/builder/components/ChooseOneServiceTypeModal.js +5 -6
- package/dist/pages/builder/components/ChooseOneServiceTypeModal.js.map +1 -1
- package/dist/pages/builder/components/ProgramHeader.js +1 -1
- package/dist/pages/builder/components/ProgramHeader.js.map +1 -1
- package/dist/pages/builder/components/ProgramMenu.js +1 -1
- package/dist/pages/builder/components/ProgramMenu.js.map +1 -1
- package/dist/pages/builder/components/ReferralBuilderContent.js +5 -4
- package/dist/pages/builder/components/ReferralBuilderContent.js.map +1 -1
- package/dist/pages/builder/components/ReferralCard.js +11 -11
- package/dist/pages/builder/components/ReferralCard.js.map +1 -1
- package/dist/pages/builder/components/ReferralClientNeedsField.js +4 -6
- package/dist/pages/builder/components/ReferralClientNeedsField.js.map +1 -1
- package/dist/pages/builder/components/ReferralProgramCard.js +2 -2
- package/dist/pages/builder/components/ReferralProgramCard.js.map +1 -1
- package/dist/pages/builder/components/ReferralProgramMenu.js +3 -3
- package/dist/pages/builder/components/ReferralProgramMenu.js.map +1 -1
- package/dist/pages/builder/constants.js +18 -7
- package/dist/pages/builder/constants.js.map +1 -1
- package/dist/pages/builder/hooks/useBuildReferrals.js +6 -13
- package/dist/pages/builder/hooks/useBuildReferrals.js.map +1 -1
- package/dist/pages/builder/hooks/useReferralMutations.js +22 -15
- package/dist/pages/builder/hooks/useReferralMutations.js.map +1 -1
- package/dist/pages/builder/utils/buildGroupedReferrals.js +14 -25
- package/dist/pages/builder/utils/buildGroupedReferrals.js.map +1 -1
- package/dist/pages/builder/utils/buildGroupedReferralsHelpers.js +20 -40
- package/dist/pages/builder/utils/buildGroupedReferralsHelpers.js.map +1 -1
- package/dist/pages/builder/utils/formatProgramDetail.js +16 -18
- package/dist/pages/builder/utils/formatProgramDetail.js.map +1 -1
- package/dist/pages/builder/utils/referralBuilderFormDraftAuth.js +26 -26
- package/dist/pages/builder/utils/referralBuilderFormDraftAuth.js.map +1 -1
- package/dist/pages/builder/utils/referralBuilderFormUtils.js +15 -24
- package/dist/pages/builder/utils/referralBuilderFormUtils.js.map +1 -1
- package/dist/pages/builder/utils/referralBuilderFormValidation.js +20 -24
- package/dist/pages/builder/utils/referralBuilderFormValidation.js.map +1 -1
- package/dist/pages/builder/utils/referralBuilderUtils.js +20 -34
- package/dist/pages/builder/utils/referralBuilderUtils.js.map +1 -1
- package/dist/pages/builder/utils.js +45 -64
- package/dist/pages/builder/utils.js.map +1 -1
- package/dist/pages/review/DropdownMultiplesReferrals.js +12 -14
- package/dist/pages/review/DropdownMultiplesReferrals.js.map +1 -1
- package/dist/pages/review/ReferralsSent.js +19 -26
- package/dist/pages/review/ReferralsSent.js.map +1 -1
- package/dist/pages/review/Review.js +69 -88
- package/dist/pages/review/Review.js.map +1 -1
- package/dist/pages/review/SuccessReferralRedesign.js +2 -2
- package/dist/pages/review/SuccessReferralRedesign.js.map +1 -1
- package/dist/pages/review/__tests__/ReferralsSent.test.js +16 -16
- package/dist/pages/review/__tests__/ReferralsSent.test.js.map +1 -1
- package/dist/pages/review/__tests__/Review.test.js +30 -22
- package/dist/pages/review/__tests__/Review.test.js.map +1 -1
- package/dist/pages/review/constants.js +3 -3
- package/dist/pages/review/constants.js.map +1 -1
- package/dist/pages/review/referralStatusRedesign.js +5 -6
- package/dist/pages/review/referralStatusRedesign.js.map +1 -1
- package/dist/pages/supporting-info/SupportingInfo.js +14 -21
- package/dist/pages/supporting-info/SupportingInfo.js.map +1 -1
- package/dist/utils/attachmentUtils.js +1 -1
- package/dist/utils/attachmentUtils.js.map +1 -1
- package/dist/utils/handleDraftSaveResponse.js +1 -1
- package/dist/utils/handleDraftSaveResponse.js.map +1 -1
- package/dist/utils/referralToConsent.js +5 -8
- package/dist/utils/referralToConsent.js.map +1 -1
- package/dist/utils/validateCostAmount.js +1 -1
- package/dist/utils/validateCostAmount.js.map +1 -1
- package/dist/utils/validateUnitAmount.js +1 -1
- package/dist/utils/validateUnitAmount.js.map +1 -1
- package/package.json +1 -1
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"buildGroupedReferrals.js","names":["every","head","flatMap","isUnlistedReferral","filterNetworks","programIsOffPlatform","programIsOnPlatform","separateSensitiveAndNonSensitiveAuthPrograms","createSameFeeReferrals","createSensitiveProgramReferrals","createNonAuthReferrals","assignSingleNetworkIfAvailable","attachUnlistedProgramToMatchingReferral","buildMultipleNetworkReferrals","buildNoNetworkReferrals","buildSameNetworkReferrals","createReferralSplitter","keepReferralsWithPrograms","splitProgramsByNetworkAvailability","splitReferralsByListingStatus","withPreventUngroup","fn","referral","prevent_ungroup","groupByNetworkImpl","networks","length","network","singleNetworkPrograms","multipleNetworkPrograms","noNetworkPrograms","programs","sameNetworkReferrals","multipleNetworkReferrals","noNetworkReferrals","groupByNetwork","groupByNetworkStatus","map","p","inNetworkPrograms","filter","OONPrograms","_objectSpread","isSensitiveProgram","program","_program$provider","provider","sensitive","groupBySensitivityImpl","groupBySensitivity","isCoordinationCenterProgram","_program$provider2","provider_type","groupByCCImpl","groupByCC","preventGroupingForSensitiveProvider","cloneReferralsWithPrograms","referrals","groupByFunded","fundedWithAuthorizationPrograms","_p$fee_schedule_progr","fee_schedule_program","authorization_required","fundedWithoutAuthorizationPrograms","_p$fee_schedule_progr2","sensitiveAuthPrograms","nonSensitive","nonSensitiveAuthPrograms","sameFeeReferrals","sensitiveProgramReferrals","nonAuthReferrals","groupUnlistedProgramsToReferrals","unlistedReferrals","listedReferrals","listedReferralCopies","unlistedReferralCopies","updatedUnlistedReferrals","unlistedReferral","updatedUnlistedReferralAfterListedMatch","updatedUnlistedReferral","Object","assign","GROUP_OPERATIONS","buildGroupedReferrals","newReferrals","currentProvider","groupedReferrals","reduce","operation"],"sources":["../../../../src/pages/builder/utils/buildGroupedReferrals.js"],"sourcesContent":["import { every, head, flatMap } from 'lodash';\nimport {\n isUnlistedReferral,\n filterNetworks,\n programIsOffPlatform,\n programIsOnPlatform,\n separateSensitiveAndNonSensitiveAuthPrograms,\n createSameFeeReferrals,\n createSensitiveProgramReferrals,\n createNonAuthReferrals,\n} from '../utils';\nimport {\n assignSingleNetworkIfAvailable,\n attachUnlistedProgramToMatchingReferral,\n buildMultipleNetworkReferrals,\n buildNoNetworkReferrals,\n buildSameNetworkReferrals,\n createReferralSplitter,\n keepReferralsWithPrograms,\n splitProgramsByNetworkAvailability,\n splitReferralsByListingStatus,\n} from './buildGroupedReferralsHelpers';\n\n// Grouping Rules:\n// - On- and off-platform programs cannot be grouped\n// - Service must be the same\n// - Programs in coordination centers cannot be grouped\n// - Programs must be in the same network\n// - Programs in sensitive providers cannot be grouped\n// - Programs at the same provider cannot be grouped\n// - Users at sensitive providers cannot group programs\n// - Funded programs that require authroization with the same fee schedule program can be grouped\n// - Unlisted programs can only be grouped with programs in the same service and with off platform referrals\n\nconst withPreventUngroup = (fn) => (referral) => (\n referral.prevent_ungroup ? [referral] : fn(referral)\n);\n\nconst groupByNetworkImpl = (referral) => {\n const networks = filterNetworks(referral);\n // if there is only one possible network, set the referral's network and return the referral\n if (networks.length === 1 || isUnlistedReferral(referral)) {\n referral.network = head(networks);\n return [referral];\n }\n\n const {\n singleNetworkPrograms,\n multipleNetworkPrograms,\n noNetworkPrograms,\n } = splitProgramsByNetworkAvailability(referral.programs);\n\n const sameNetworkReferrals = buildSameNetworkReferrals(referral, singleNetworkPrograms);\n const multipleNetworkReferrals = buildMultipleNetworkReferrals(referral, multipleNetworkPrograms);\n const noNetworkReferrals = buildNoNetworkReferrals(referral, noNetworkPrograms);\n\n return [...multipleNetworkReferrals, ...sameNetworkReferrals, ...noNetworkReferrals];\n}\n\nconst groupByNetwork = withPreventUngroup(groupByNetworkImpl);\n\nconst groupByNetworkStatus = (referral) => {\n if (referral.prevent_ungroup) {\n return [referral];\n }\n // if every program is on-platform or every programs is off-platform, return the referral\n if (every(referral.programs.map(p => programIsOnPlatform(p))) ||\n every(referral.programs.map(p => programIsOffPlatform(p)))) {\n return [referral];\n }\n // divide programs into on- and off-platform referrals\n const inNetworkPrograms = referral.programs.filter(p => programIsOnPlatform(p));\n const OONPrograms = referral.programs.filter(p => programIsOffPlatform(p));\n\n return [\n ...inNetworkPrograms.length ? [{ ...referral, programs: inNetworkPrograms }] : [],\n ...OONPrograms.length ? [{ ...referral, programs: OONPrograms }] : []\n ];\n}\n\nconst isSensitiveProgram = (program) => !!program?.provider?.sensitive;\nconst groupBySensitivityImpl = createReferralSplitter(isSensitiveProgram);\n\nconst groupBySensitivity = withPreventUngroup(groupBySensitivityImpl);\n\nconst isCoordinationCenterProgram = (program) => (\n program?.provider?.provider_type === 'coordination_center'\n);\nconst groupByCCImpl = createReferralSplitter(isCoordinationCenterProgram);\n\nconst groupByCC = withPreventUngroup(groupByCCImpl);\n\nconst preventGroupingForSensitiveProvider = (referral) => {\n assignSingleNetworkIfAvailable(referral);\n const { programs } = referral;\n return programs.length > 1 ?\n programs.map(program => ({ ...referral, programs: [program] })) :\n [referral];\n};\n\nconst cloneReferralsWithPrograms = (referrals) => (\n referrals.map((referral) => ({\n ...referral,\n programs: [...referral.programs],\n }))\n);\n\nconst groupByFunded = (referral) => {\n assignSingleNetworkIfAvailable(referral);\n\n const fundedWithAuthorizationPrograms = referral.programs.filter(p => p.fee_schedule_program?.authorization_required);\n const fundedWithoutAuthorizationPrograms = referral.programs.filter(p => !p.fee_schedule_program?.authorization_required);\n\n const {\n sensitive: sensitiveAuthPrograms,\n nonSensitive: nonSensitiveAuthPrograms,\n } = separateSensitiveAndNonSensitiveAuthPrograms(fundedWithAuthorizationPrograms);\n\n const sameFeeReferrals = createSameFeeReferrals(referral, nonSensitiveAuthPrograms);\n const sensitiveProgramReferrals = createSensitiveProgramReferrals(referral, sensitiveAuthPrograms);\n const nonAuthReferrals = createNonAuthReferrals(referral, fundedWithoutAuthorizationPrograms);\n\n return [...nonAuthReferrals, ...sameFeeReferrals, ...sensitiveProgramReferrals];\n};\n\nconst groupUnlistedProgramsToReferrals = (referrals) => {\n const { unlistedReferrals, listedReferrals } = splitReferralsByListingStatus(referrals);\n\n if (unlistedReferrals.length === 0) {\n return listedReferrals;\n }\n\n const listedReferralCopies = cloneReferralsWithPrograms(listedReferrals);\n const unlistedReferralCopies = cloneReferralsWithPrograms(unlistedReferrals);\n\n const updatedUnlistedReferrals = keepReferralsWithPrograms(\n unlistedReferralCopies.map((unlistedReferral) => {\n const updatedUnlistedReferralAfterListedMatch = attachUnlistedProgramToMatchingReferral(\n unlistedReferral,\n listedReferralCopies,\n );\n\n const updatedUnlistedReferral = attachUnlistedProgramToMatchingReferral(\n updatedUnlistedReferralAfterListedMatch,\n unlistedReferralCopies.filter((referral) => referral !== unlistedReferral),\n );\n\n Object.assign(unlistedReferral, updatedUnlistedReferral);\n\n return unlistedReferral;\n }),\n );\n\n return [...listedReferralCopies, ...updatedUnlistedReferrals];\n}\n\nconst GROUP_OPERATIONS = [\n groupByFunded,\n groupByNetwork,\n groupByNetworkStatus,\n groupBySensitivity,\n groupByCC,\n];\n\nexport const buildGroupedReferrals = (newReferrals, currentProvider) => {\n // if the current provider is sensitive, prevent grouping\n if (currentProvider?.sensitive) {\n return flatMap(newReferrals, preventGroupingForSensitiveProvider);\n }\n\n const groupedReferrals = GROUP_OPERATIONS.reduce(\n (referrals, operation) => flatMap(referrals, operation),\n newReferrals,\n );\n\n return groupUnlistedProgramsToReferrals(groupedReferrals);\n}\n"],"mappings":";;;AAAA,SAASA,KAAK,EAAEC,IAAI,EAAEC,OAAO,QAAQ,QAAQ;AAC7C,SACEC,kBAAkB,EAClBC,cAAc,EACdC,oBAAoB,EACpBC,mBAAmB,EACnBC,4CAA4C,EAC5CC,sBAAsB,EACtBC,+BAA+B,EAC/BC,sBAAsB,QACjB,UAAU;AACjB,SACEC,8BAA8B,EAC9BC,uCAAuC,EACvCC,6BAA6B,EAC7BC,uBAAuB,EACvBC,yBAAyB,EACzBC,sBAAsB,EACtBC,yBAAyB,EACzBC,kCAAkC,EAClCC,6BAA6B,QACxB,gCAAgC;;AAEvC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA,MAAMC,kBAAkB,GAAIC,EAAE,IAAMC,QAAQ,IAC1CA,QAAQ,CAACC,eAAe,GAAG,CAACD,QAAQ,CAAC,GAAGD,EAAE,CAACC,QAAQ,CACpD;AAED,MAAME,kBAAkB,GAAIF,QAAQ,IAAK;EACvC,MAAMG,QAAQ,GAAGrB,cAAc,CAACkB,QAAQ,CAAC;EACzC;EACA,IAAIG,QAAQ,CAACC,MAAM,KAAK,CAAC,IAAIvB,kBAAkB,CAACmB,QAAQ,CAAC,EAAE;IACzDA,QAAQ,CAACK,OAAO,GAAG1B,IAAI,CAACwB,QAAQ,CAAC;IACjC,OAAO,CAACH,QAAQ,CAAC;EACnB;EAEA,MAAM;IACJM,qBAAqB;IACrBC,uBAAuB;IACvBC;EACF,CAAC,GAAGZ,kCAAkC,CAACI,QAAQ,CAACS,QAAQ,CAAC;EAEzD,MAAMC,oBAAoB,GAAGjB,yBAAyB,CAACO,QAAQ,EAAEM,qBAAqB,CAAC;EACvF,MAAMK,wBAAwB,GAAGpB,6BAA6B,CAACS,QAAQ,EAAEO,uBAAuB,CAAC;EACjG,MAAMK,kBAAkB,GAAGpB,uBAAuB,CAACQ,QAAQ,EAAEQ,iBAAiB,CAAC;EAE/E,OAAO,CAAC,GAAGG,wBAAwB,EAAE,GAAGD,oBAAoB,EAAE,GAAGE,kBAAkB,CAAC;AACtF,CAAC;AAED,MAAMC,cAAc,GAAGf,kBAAkB,CAACI,kBAAkB,CAAC;AAE7D,MAAMY,oBAAoB,GAAId,QAAQ,IAAK;EACzC,IAAIA,QAAQ,CAACC,eAAe,EAAE;IAC5B,OAAO,CAACD,QAAQ,CAAC;EACnB;EACA;EACA,IAAItB,KAAK,CAACsB,QAAQ,CAACS,QAAQ,CAACM,GAAG,CAACC,CAAC,IAAIhC,mBAAmB,CAACgC,CAAC,CAAC,CAAC,CAAC,IAC3DtC,KAAK,CAACsB,QAAQ,CAACS,QAAQ,CAACM,GAAG,CAACC,CAAC,IAAIjC,oBAAoB,CAACiC,CAAC,CAAC,CAAC,CAAC,EAAE;IAC5D,OAAO,CAAChB,QAAQ,CAAC;EACnB;EACA;EACA,MAAMiB,iBAAiB,GAAGjB,QAAQ,CAACS,QAAQ,CAACS,MAAM,CAACF,CAAC,IAAIhC,mBAAmB,CAACgC,CAAC,CAAC,CAAC;EAC/E,MAAMG,WAAW,GAAGnB,QAAQ,CAACS,QAAQ,CAACS,MAAM,CAACF,CAAC,IAAIjC,oBAAoB,CAACiC,CAAC,CAAC,CAAC;EAE1E,OAAO,CACL,IAAGC,iBAAiB,CAACb,MAAM,GAAG,CAAAgB,aAAA,CAAAA,aAAA,KAAMpB,QAAQ;IAAES,QAAQ,EAAEQ;EAAiB,GAAG,GAAG,EAAE,GACjF,IAAGE,WAAW,CAACf,MAAM,GAAG,CAAAgB,aAAA,CAAAA,aAAA,KAAMpB,QAAQ;IAAES,QAAQ,EAAEU;EAAW,GAAG,GAAG,EAAE,EACtE;AACH,CAAC;AAED,MAAME,kBAAkB,GAAIC,OAAO;EAAA,IAAAC,iBAAA;EAAA,OAAK,CAAC,EAACD,OAAO,aAAPA,OAAO,gBAAAC,iBAAA,GAAPD,OAAO,CAAEE,QAAQ,cAAAD,iBAAA,eAAjBA,iBAAA,CAAmBE,SAAS;AAAA;AACtE,MAAMC,sBAAsB,GAAGhC,sBAAsB,CAAC2B,kBAAkB,CAAC;AAEzE,MAAMM,kBAAkB,GAAG7B,kBAAkB,CAAC4B,sBAAsB,CAAC;AAErE,MAAME,2BAA2B,GAAIN,OAAO;EAAA,IAAAO,kBAAA;EAAA,OAC1C,CAAAP,OAAO,aAAPA,OAAO,gBAAAO,kBAAA,GAAPP,OAAO,CAAEE,QAAQ,cAAAK,kBAAA,uBAAjBA,kBAAA,CAAmBC,aAAa,MAAK,qBAAqB;AAAA,CAC3D;AACD,MAAMC,aAAa,GAAGrC,sBAAsB,CAACkC,2BAA2B,CAAC;AAEzE,MAAMI,SAAS,GAAGlC,kBAAkB,CAACiC,aAAa,CAAC;AAEnD,MAAME,mCAAmC,GAAIjC,QAAQ,IAAK;EACxDX,8BAA8B,CAACW,QAAQ,CAAC;EACxC,MAAM;IAAES;EAAS,CAAC,GAAGT,QAAQ;EAC7B,OAAOS,QAAQ,CAACL,MAAM,GAAG,CAAC,GACxBK,QAAQ,CAACM,GAAG,CAACO,OAAO,IAAAF,aAAA,CAAAA,aAAA,KAAUpB,QAAQ;IAAES,QAAQ,EAAE,CAACa,OAAO;EAAC,EAAG,CAAC,GAC/D,CAACtB,QAAQ,CAAC;AACd,CAAC;AAED,MAAMkC,0BAA0B,GAAIC,SAAS,IAC3CA,SAAS,CAACpB,GAAG,CAAEf,QAAQ,IAAAoB,aAAA,CAAAA,aAAA,KAClBpB,QAAQ;EACXS,QAAQ,EAAE,CAAC,GAAGT,QAAQ,CAACS,QAAQ;AAAC,EAChC,CACH;AAED,MAAM2B,aAAa,GAAIpC,QAAQ,IAAK;EAClCX,8BAA8B,CAACW,QAAQ,CAAC;EAExC,MAAMqC,+BAA+B,GAAGrC,QAAQ,CAACS,QAAQ,CAACS,MAAM,CAACF,CAAC;IAAA,IAAAsB,qBAAA;IAAA,QAAAA,qBAAA,GAAItB,CAAC,CAACuB,oBAAoB,cAAAD,qBAAA,uBAAtBA,qBAAA,CAAwBE,sBAAsB;EAAA,EAAC;EACrH,MAAMC,kCAAkC,GAAGzC,QAAQ,CAACS,QAAQ,CAACS,MAAM,CAACF,CAAC;IAAA,IAAA0B,sBAAA;IAAA,OAAI,GAAAA,sBAAA,GAAC1B,CAAC,CAACuB,oBAAoB,cAAAG,sBAAA,eAAtBA,sBAAA,CAAwBF,sBAAsB;EAAA,EAAC;EAEzH,MAAM;IACJf,SAAS,EAAEkB,qBAAqB;IAChCC,YAAY,EAAEC;EAChB,CAAC,GAAG5D,4CAA4C,CAACoD,+BAA+B,CAAC;EAEjF,MAAMS,gBAAgB,GAAG5D,sBAAsB,CAACc,QAAQ,EAAE6C,wBAAwB,CAAC;EACnF,MAAME,yBAAyB,GAAG5D,+BAA+B,CAACa,QAAQ,EAAE2C,qBAAqB,CAAC;EAClG,MAAMK,gBAAgB,GAAG5D,sBAAsB,CAACY,QAAQ,EAAEyC,kCAAkC,CAAC;EAE7F,OAAO,CAAC,GAAGO,gBAAgB,EAAE,GAAGF,gBAAgB,EAAE,GAAGC,yBAAyB,CAAC;AACjF,CAAC;AAED,MAAME,gCAAgC,GAAId,SAAS,IAAK;EACtD,MAAM;IAAEe,iBAAiB;IAAEC;EAAgB,CAAC,GAAGtD,6BAA6B,CAACsC,SAAS,CAAC;EAEvF,IAAIe,iBAAiB,CAAC9C,MAAM,KAAK,CAAC,EAAE;IAClC,OAAO+C,eAAe;EACxB;EAEA,MAAMC,oBAAoB,GAAGlB,0BAA0B,CAACiB,eAAe,CAAC;EACxE,MAAME,sBAAsB,GAAGnB,0BAA0B,CAACgB,iBAAiB,CAAC;EAE5E,MAAMI,wBAAwB,GAAG3D,yBAAyB,CACxD0D,sBAAsB,CAACtC,GAAG,CAAEwC,gBAAgB,IAAK;IAC/C,MAAMC,uCAAuC,GAAGlE,uCAAuC,CACrFiE,gBAAgB,EAChBH,oBACF,CAAC;IAED,MAAMK,uBAAuB,GAAGnE,uCAAuC,CACrEkE,uCAAuC,EACvCH,sBAAsB,CAACnC,MAAM,CAAElB,QAAQ,IAAKA,QAAQ,KAAKuD,gBAAgB,CAC3E,CAAC;IAEDG,MAAM,CAACC,MAAM,CAACJ,gBAAgB,EAAEE,uBAAuB,CAAC;IAExD,OAAOF,gBAAgB;EACzB,CAAC,CACH,CAAC;EAED,OAAO,CAAC,GAAGH,oBAAoB,EAAE,GAAGE,wBAAwB,CAAC;AAC/D,CAAC;AAED,MAAMM,gBAAgB,GAAG,CACvBxB,aAAa,EACbvB,cAAc,EACdC,oBAAoB,EACpBa,kBAAkB,EAClBK,SAAS,CACV;AAED,OAAO,MAAM6B,qBAAqB,GAAGA,CAACC,YAAY,EAAEC,eAAe,KAAK;EACtE;EACA,IAAIA,eAAe,aAAfA,eAAe,eAAfA,eAAe,CAAEtC,SAAS,EAAE;IAC9B,OAAO7C,OAAO,CAACkF,YAAY,EAAE7B,mCAAmC,CAAC;EACnE;EAEA,MAAM+B,gBAAgB,GAAGJ,gBAAgB,CAACK,MAAM,CAC9C,CAAC9B,SAAS,EAAE+B,SAAS,KAAKtF,OAAO,CAACuD,SAAS,EAAE+B,SAAS,CAAC,EACvDJ,YACF,CAAC;EAED,OAAOb,gCAAgC,CAACe,gBAAgB,CAAC;AAC3D,CAAC","ignoreList":[]}
|
|
1
|
+
{"version":3,"file":"buildGroupedReferrals.js","names":["every","head","flatMap","isUnlistedReferral","filterNetworks","programIsOffPlatform","programIsOnPlatform","separateSensitiveAndNonSensitiveAuthPrograms","createSameFeeReferrals","createSensitiveProgramReferrals","createNonAuthReferrals","assignSingleNetworkIfAvailable","attachUnlistedProgramToMatchingReferral","buildMultipleNetworkReferrals","buildNoNetworkReferrals","buildSameNetworkReferrals","createReferralSplitter","keepReferralsWithPrograms","splitProgramsByNetworkAvailability","splitReferralsByListingStatus","withPreventUngroup","fn","referral","prevent_ungroup","groupByNetworkImpl","networks","length","network","singleNetworkPrograms","multipleNetworkPrograms","noNetworkPrograms","programs","sameNetworkReferrals","multipleNetworkReferrals","noNetworkReferrals","groupByNetwork","groupByNetworkStatus","map","p","inNetworkPrograms","filter","OONPrograms","isSensitiveProgram","program","provider","sensitive","groupBySensitivityImpl","groupBySensitivity","isCoordinationCenterProgram","provider_type","groupByCCImpl","groupByCC","preventGroupingForSensitiveProvider","cloneReferralsWithPrograms","referrals","groupByFunded","fundedWithAuthorizationPrograms","fee_schedule_program","authorization_required","fundedWithoutAuthorizationPrograms","sensitiveAuthPrograms","nonSensitive","nonSensitiveAuthPrograms","sameFeeReferrals","sensitiveProgramReferrals","nonAuthReferrals","groupUnlistedProgramsToReferrals","unlistedReferrals","listedReferrals","listedReferralCopies","unlistedReferralCopies","updatedUnlistedReferrals","unlistedReferral","updatedUnlistedReferralAfterListedMatch","updatedUnlistedReferral","Object","assign","GROUP_OPERATIONS","buildGroupedReferrals","newReferrals","currentProvider","groupedReferrals","reduce","operation"],"sources":["../../../../src/pages/builder/utils/buildGroupedReferrals.js"],"sourcesContent":["import { every, head, flatMap } from 'lodash';\nimport {\n isUnlistedReferral,\n filterNetworks,\n programIsOffPlatform,\n programIsOnPlatform,\n separateSensitiveAndNonSensitiveAuthPrograms,\n createSameFeeReferrals,\n createSensitiveProgramReferrals,\n createNonAuthReferrals,\n} from '../utils';\nimport {\n assignSingleNetworkIfAvailable,\n attachUnlistedProgramToMatchingReferral,\n buildMultipleNetworkReferrals,\n buildNoNetworkReferrals,\n buildSameNetworkReferrals,\n createReferralSplitter,\n keepReferralsWithPrograms,\n splitProgramsByNetworkAvailability,\n splitReferralsByListingStatus,\n} from './buildGroupedReferralsHelpers';\n\n// Grouping Rules:\n// - On- and off-platform programs cannot be grouped\n// - Service must be the same\n// - Programs in coordination centers cannot be grouped\n// - Programs must be in the same network\n// - Programs in sensitive providers cannot be grouped\n// - Programs at the same provider cannot be grouped\n// - Users at sensitive providers cannot group programs\n// - Funded programs that require authroization with the same fee schedule program can be grouped\n// - Unlisted programs can only be grouped with programs in the same service and with off platform referrals\n\nconst withPreventUngroup = (fn) => (referral) => (\n referral.prevent_ungroup ? [referral] : fn(referral)\n);\n\nconst groupByNetworkImpl = (referral) => {\n const networks = filterNetworks(referral);\n // if there is only one possible network, set the referral's network and return the referral\n if (networks.length === 1 || isUnlistedReferral(referral)) {\n referral.network = head(networks);\n return [referral];\n }\n\n const {\n singleNetworkPrograms,\n multipleNetworkPrograms,\n noNetworkPrograms,\n } = splitProgramsByNetworkAvailability(referral.programs);\n\n const sameNetworkReferrals = buildSameNetworkReferrals(referral, singleNetworkPrograms);\n const multipleNetworkReferrals = buildMultipleNetworkReferrals(referral, multipleNetworkPrograms);\n const noNetworkReferrals = buildNoNetworkReferrals(referral, noNetworkPrograms);\n\n return [...multipleNetworkReferrals, ...sameNetworkReferrals, ...noNetworkReferrals];\n}\n\nconst groupByNetwork = withPreventUngroup(groupByNetworkImpl);\n\nconst groupByNetworkStatus = (referral) => {\n if (referral.prevent_ungroup) {\n return [referral];\n }\n // if every program is on-platform or every programs is off-platform, return the referral\n if (every(referral.programs.map(p => programIsOnPlatform(p))) ||\n every(referral.programs.map(p => programIsOffPlatform(p)))) {\n return [referral];\n }\n // divide programs into on- and off-platform referrals\n const inNetworkPrograms = referral.programs.filter(p => programIsOnPlatform(p));\n const OONPrograms = referral.programs.filter(p => programIsOffPlatform(p));\n\n return [\n ...inNetworkPrograms.length ? [{ ...referral, programs: inNetworkPrograms }] : [],\n ...OONPrograms.length ? [{ ...referral, programs: OONPrograms }] : []\n ];\n}\n\nconst isSensitiveProgram = (program) => !!program?.provider?.sensitive;\nconst groupBySensitivityImpl = createReferralSplitter(isSensitiveProgram);\n\nconst groupBySensitivity = withPreventUngroup(groupBySensitivityImpl);\n\nconst isCoordinationCenterProgram = (program) => (\n program?.provider?.provider_type === 'coordination_center'\n);\nconst groupByCCImpl = createReferralSplitter(isCoordinationCenterProgram);\n\nconst groupByCC = withPreventUngroup(groupByCCImpl);\n\nconst preventGroupingForSensitiveProvider = (referral) => {\n assignSingleNetworkIfAvailable(referral);\n const { programs } = referral;\n return programs.length > 1 ?\n programs.map(program => ({ ...referral, programs: [program] })) :\n [referral];\n};\n\nconst cloneReferralsWithPrograms = (referrals) => (\n referrals.map((referral) => ({\n ...referral,\n programs: [...referral.programs],\n }))\n);\n\nconst groupByFunded = (referral) => {\n assignSingleNetworkIfAvailable(referral);\n\n const fundedWithAuthorizationPrograms = referral.programs.filter(p => p.fee_schedule_program?.authorization_required);\n const fundedWithoutAuthorizationPrograms = referral.programs.filter(p => !p.fee_schedule_program?.authorization_required);\n\n const {\n sensitive: sensitiveAuthPrograms,\n nonSensitive: nonSensitiveAuthPrograms,\n } = separateSensitiveAndNonSensitiveAuthPrograms(fundedWithAuthorizationPrograms);\n\n const sameFeeReferrals = createSameFeeReferrals(referral, nonSensitiveAuthPrograms);\n const sensitiveProgramReferrals = createSensitiveProgramReferrals(referral, sensitiveAuthPrograms);\n const nonAuthReferrals = createNonAuthReferrals(referral, fundedWithoutAuthorizationPrograms);\n\n return [...nonAuthReferrals, ...sameFeeReferrals, ...sensitiveProgramReferrals];\n};\n\nconst groupUnlistedProgramsToReferrals = (referrals) => {\n const { unlistedReferrals, listedReferrals } = splitReferralsByListingStatus(referrals);\n\n if (unlistedReferrals.length === 0) {\n return listedReferrals;\n }\n\n const listedReferralCopies = cloneReferralsWithPrograms(listedReferrals);\n const unlistedReferralCopies = cloneReferralsWithPrograms(unlistedReferrals);\n\n const updatedUnlistedReferrals = keepReferralsWithPrograms(\n unlistedReferralCopies.map((unlistedReferral) => {\n const updatedUnlistedReferralAfterListedMatch = attachUnlistedProgramToMatchingReferral(\n unlistedReferral,\n listedReferralCopies,\n );\n\n const updatedUnlistedReferral = attachUnlistedProgramToMatchingReferral(\n updatedUnlistedReferralAfterListedMatch,\n unlistedReferralCopies.filter((referral) => referral !== unlistedReferral),\n );\n\n Object.assign(unlistedReferral, updatedUnlistedReferral);\n\n return unlistedReferral;\n }),\n );\n\n return [...listedReferralCopies, ...updatedUnlistedReferrals];\n}\n\nconst GROUP_OPERATIONS = [\n groupByFunded,\n groupByNetwork,\n groupByNetworkStatus,\n groupBySensitivity,\n groupByCC,\n];\n\nexport const buildGroupedReferrals = (newReferrals, currentProvider) => {\n // if the current provider is sensitive, prevent grouping\n if (currentProvider?.sensitive) {\n return flatMap(newReferrals, preventGroupingForSensitiveProvider);\n }\n\n const groupedReferrals = GROUP_OPERATIONS.reduce(\n (referrals, operation) => flatMap(referrals, operation),\n newReferrals,\n );\n\n return groupUnlistedProgramsToReferrals(groupedReferrals);\n}\n"],"mappings":"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","ignoreList":[]}
|
|
@@ -1,14 +1,13 @@
|
|
|
1
|
-
import _defineProperty from "@babel/runtime/helpers/defineProperty";
|
|
2
|
-
function ownKeys(e, r) { var t = Object.keys(e); if (Object.getOwnPropertySymbols) { var o = Object.getOwnPropertySymbols(e); r && (o = o.filter(function (r) { return Object.getOwnPropertyDescriptor(e, r).enumerable; })), t.push.apply(t, o); } return t; }
|
|
3
|
-
function _objectSpread(e) { for (var r = 1; r < arguments.length; r++) { var t = null != arguments[r] ? arguments[r] : {}; r % 2 ? ownKeys(Object(t), !0).forEach(function (r) { _defineProperty(e, r, t[r]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(e, Object.getOwnPropertyDescriptors(t)) : ownKeys(Object(t)).forEach(function (r) { Object.defineProperty(e, r, Object.getOwnPropertyDescriptor(t, r)); }); } return e; }
|
|
4
1
|
import { every, groupBy, head } from 'lodash';
|
|
5
2
|
import { OFF_PLATFORM_REFERRALS_ONLY } from '../constants';
|
|
6
3
|
import { filterNetworks, isUnlistedProgram } from '../utils';
|
|
7
4
|
export const createReferralWithPrograms = function (referral, programs) {
|
|
8
5
|
let extraFields = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : {};
|
|
9
|
-
return
|
|
10
|
-
|
|
11
|
-
|
|
6
|
+
return {
|
|
7
|
+
...referral,
|
|
8
|
+
programs,
|
|
9
|
+
...extraFields
|
|
10
|
+
};
|
|
12
11
|
};
|
|
13
12
|
export const createSingleProgramReferral = function (referral, program) {
|
|
14
13
|
let extraFields = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : {};
|
|
@@ -21,40 +20,26 @@ export const assignSingleNetworkIfAvailable = referral => {
|
|
|
21
20
|
}
|
|
22
21
|
};
|
|
23
22
|
export const getReferralNetworkForProgram = (referral, program) => {
|
|
24
|
-
const networkOptions = filterNetworks(
|
|
23
|
+
const networkOptions = filterNetworks({
|
|
24
|
+
...referral,
|
|
25
25
|
programs: [program]
|
|
26
|
-
})
|
|
26
|
+
});
|
|
27
27
|
if (networkOptions.length === 1) {
|
|
28
28
|
return head(networkOptions);
|
|
29
29
|
}
|
|
30
|
-
return networkOptions.find(network =>
|
|
31
|
-
var _referral$network;
|
|
32
|
-
return network.id === ((_referral$network = referral.network) === null || _referral$network === void 0 ? void 0 : _referral$network.id);
|
|
33
|
-
}) || null;
|
|
34
|
-
};
|
|
35
|
-
const hasSingleNetwork = program => {
|
|
36
|
-
var _program$provider;
|
|
37
|
-
return ((_program$provider = program.provider) === null || _program$provider === void 0 || (_program$provider = _program$provider.networks) === null || _program$provider === void 0 ? void 0 : _program$provider.length) === 1;
|
|
38
|
-
};
|
|
39
|
-
const hasMultipleNetworks = program => {
|
|
40
|
-
var _program$provider2;
|
|
41
|
-
return ((_program$provider2 = program.provider) === null || _program$provider2 === void 0 || (_program$provider2 = _program$provider2.networks) === null || _program$provider2 === void 0 ? void 0 : _program$provider2.length) > 1;
|
|
42
|
-
};
|
|
43
|
-
const hasNoNetworks = program => {
|
|
44
|
-
var _program$provider3;
|
|
45
|
-
return !((_program$provider3 = program.provider) !== null && _program$provider3 !== void 0 && (_program$provider3 = _program$provider3.networks) !== null && _program$provider3 !== void 0 && _program$provider3.length);
|
|
30
|
+
return networkOptions.find(network => network.id === referral.network?.id) || null;
|
|
46
31
|
};
|
|
32
|
+
const hasSingleNetwork = program => program.provider?.networks?.length === 1;
|
|
33
|
+
const hasMultipleNetworks = program => program.provider?.networks?.length > 1;
|
|
34
|
+
const hasNoNetworks = program => !program.provider?.networks?.length;
|
|
47
35
|
export const splitProgramsByNetworkAvailability = programs => ({
|
|
48
36
|
singleNetworkPrograms: programs.filter(hasSingleNetwork),
|
|
49
37
|
multipleNetworkPrograms: programs.filter(hasMultipleNetworks),
|
|
50
38
|
noNetworkPrograms: programs.filter(hasNoNetworks)
|
|
51
39
|
});
|
|
52
|
-
export const buildSameNetworkReferrals = (referral, programs) => Object.values(groupBy(programs, 'provider.networks[0].id')).map(groupedPrograms => {
|
|
53
|
-
|
|
54
|
-
|
|
55
|
-
network: head((_groupedPrograms$0$pr = groupedPrograms[0].provider) === null || _groupedPrograms$0$pr === void 0 ? void 0 : _groupedPrograms$0$pr.networks)
|
|
56
|
-
});
|
|
57
|
-
});
|
|
40
|
+
export const buildSameNetworkReferrals = (referral, programs) => Object.values(groupBy(programs, 'provider.networks[0].id')).map(groupedPrograms => createReferralWithPrograms(referral, groupedPrograms, {
|
|
41
|
+
network: head(groupedPrograms[0].provider?.networks)
|
|
42
|
+
}));
|
|
58
43
|
export const buildMultipleNetworkReferrals = (referral, programs) => programs.map(program => createSingleProgramReferral(referral, program, {
|
|
59
44
|
network: getReferralNetworkForProgram(referral, program)
|
|
60
45
|
}));
|
|
@@ -90,10 +75,7 @@ export const splitReferralsByListingStatus = referrals => {
|
|
|
90
75
|
unlistedReferrals
|
|
91
76
|
};
|
|
92
77
|
};
|
|
93
|
-
const matchesOffPlatformService = (unlistedReferral, referral) =>
|
|
94
|
-
var _unlistedReferral$pro, _referral$programs$;
|
|
95
|
-
return ((_unlistedReferral$pro = unlistedReferral.programs[0]) === null || _unlistedReferral$pro === void 0 ? void 0 : _unlistedReferral$pro.services[0]) === referral.service.id && ((_referral$programs$ = referral.programs[0]) === null || _referral$programs$ === void 0 || (_referral$programs$ = _referral$programs$.status) === null || _referral$programs$ === void 0 ? void 0 : _referral$programs$.toLowerCase()) === OFF_PLATFORM_REFERRALS_ONLY;
|
|
96
|
-
};
|
|
78
|
+
const matchesOffPlatformService = (unlistedReferral, referral) => unlistedReferral.programs[0]?.services[0] === referral.service.id && referral.programs[0]?.status?.toLowerCase() === OFF_PLATFORM_REFERRALS_ONLY;
|
|
97
79
|
export const attachUnlistedProgramToMatchingReferral = (unlistedReferral, referrals) => {
|
|
98
80
|
const unlistedProgram = unlistedReferral.programs[0];
|
|
99
81
|
const matchingReferral = referrals.find(referral => matchesOffPlatformService(unlistedReferral, referral));
|
|
@@ -101,12 +83,10 @@ export const attachUnlistedProgramToMatchingReferral = (unlistedReferral, referr
|
|
|
101
83
|
return unlistedReferral;
|
|
102
84
|
}
|
|
103
85
|
matchingReferral.programs.push(unlistedProgram);
|
|
104
|
-
return
|
|
86
|
+
return {
|
|
87
|
+
...unlistedReferral,
|
|
105
88
|
programs: unlistedReferral.programs.slice(1)
|
|
106
|
-
}
|
|
89
|
+
};
|
|
107
90
|
};
|
|
108
|
-
export const keepReferralsWithPrograms = referrals => referrals.filter(referral =>
|
|
109
|
-
var _referral$programs;
|
|
110
|
-
return (referral === null || referral === void 0 || (_referral$programs = referral.programs) === null || _referral$programs === void 0 ? void 0 : _referral$programs.length) > 0;
|
|
111
|
-
});
|
|
91
|
+
export const keepReferralsWithPrograms = referrals => referrals.filter(referral => referral?.programs?.length > 0);
|
|
112
92
|
//# sourceMappingURL=buildGroupedReferralsHelpers.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"buildGroupedReferralsHelpers.js","names":["every","groupBy","head","OFF_PLATFORM_REFERRALS_ONLY","filterNetworks","isUnlistedProgram","createReferralWithPrograms","referral","programs","extraFields","arguments","length","undefined","_objectSpread","createSingleProgramReferral","program","assignSingleNetworkIfAvailable","networks","network","getReferralNetworkForProgram","networkOptions","find","_referral$network","id","hasSingleNetwork","_program$provider","provider","hasMultipleNetworks","_program$provider2","hasNoNetworks","_program$provider3","splitProgramsByNetworkAvailability","singleNetworkPrograms","filter","multipleNetworkPrograms","noNetworkPrograms","buildSameNetworkReferrals","Object","values","map","groupedPrograms","_groupedPrograms$0$pr","buildMultipleNetworkReferrals","buildNoNetworkReferrals","shouldReturnReferralAsIs","predicate","splitReferralByProgramPredicate","matchingPrograms","remainingPrograms","createSplitReferrals","createReferralSplitter","splitReferralsByListingStatus","referrals","listedReferrals","unlistedReferrals","forEach","push","matchesOffPlatformService","unlistedReferral","_unlistedReferral$pro","_referral$programs$","services","service","status","toLowerCase","attachUnlistedProgramToMatchingReferral","unlistedProgram","matchingReferral","slice","keepReferralsWithPrograms","_referral$programs"],"sources":["../../../../src/pages/builder/utils/buildGroupedReferralsHelpers.js"],"sourcesContent":["import { every, groupBy, head } from 'lodash';\nimport { OFF_PLATFORM_REFERRALS_ONLY } from '../constants';\nimport { filterNetworks, isUnlistedProgram } from '../utils';\n\nexport const createReferralWithPrograms = (referral, programs, extraFields = {}) => ({\n ...referral,\n programs,\n ...extraFields,\n});\n\nexport const createSingleProgramReferral = (referral, program, extraFields = {}) => (\n createReferralWithPrograms(referral, [program], extraFields)\n);\n\nexport const assignSingleNetworkIfAvailable = (referral) => {\n const networks = filterNetworks(referral);\n\n if (networks.length === 1) {\n referral.network = head(networks);\n }\n};\n\nexport const getReferralNetworkForProgram = (referral, program) => {\n const networkOptions = filterNetworks({ ...referral, programs: [program] });\n\n if (networkOptions.length === 1) {\n return head(networkOptions);\n }\n\n return networkOptions.find((network) => network.id === referral.network?.id) || null;\n};\n\nconst hasSingleNetwork = (program) => program.provider?.networks?.length === 1;\nconst hasMultipleNetworks = (program) => program.provider?.networks?.length > 1;\nconst hasNoNetworks = (program) => !program.provider?.networks?.length;\n\nexport const splitProgramsByNetworkAvailability = (programs) => ({\n singleNetworkPrograms: programs.filter(hasSingleNetwork),\n multipleNetworkPrograms: programs.filter(hasMultipleNetworks),\n noNetworkPrograms: programs.filter(hasNoNetworks),\n});\n\nexport const buildSameNetworkReferrals = (referral, programs) => (\n Object.values(groupBy(programs, 'provider.networks[0].id')).map((groupedPrograms) => (\n createReferralWithPrograms(referral, groupedPrograms, {\n network: head(groupedPrograms[0].provider?.networks),\n })\n ))\n);\n\nexport const buildMultipleNetworkReferrals = (referral, programs) => (\n programs.map((program) => (\n createSingleProgramReferral(referral, program, {\n network: getReferralNetworkForProgram(referral, program),\n })\n ))\n);\n\nexport const buildNoNetworkReferrals = (referral, programs) => (\n programs.map((program) => createSingleProgramReferral(referral, program))\n);\n\nexport const shouldReturnReferralAsIs = (referral, predicate) => (\n every(referral.programs, (program) => !predicate(program)) ||\n (referral.programs.length === 1 && predicate(head(referral.programs)))\n);\n\nexport const splitReferralByProgramPredicate = (referral, predicate) => ({\n matchingPrograms: referral.programs.filter(predicate),\n remainingPrograms: referral.programs.filter((program) => !predicate(program)),\n});\n\nexport const createSplitReferrals = (referral, matchingPrograms, remainingPrograms) => (\n [\n ...matchingPrograms.map((program) => createSingleProgramReferral(referral, program)),\n ...(remainingPrograms.length > 0 ? [createReferralWithPrograms(referral, remainingPrograms)] : []),\n ]\n);\n\nexport const createReferralSplitter = (predicate) => (referral) => {\n if (shouldReturnReferralAsIs(referral, predicate)) {\n return [referral];\n }\n\n const { matchingPrograms, remainingPrograms } = splitReferralByProgramPredicate(\n referral,\n predicate,\n );\n\n return createSplitReferrals(referral, matchingPrograms, remainingPrograms);\n};\n\nexport const splitReferralsByListingStatus = (referrals) => {\n const listedReferrals = [];\n const unlistedReferrals = [];\n\n referrals.forEach((referral) => {\n if (every(referral.programs, isUnlistedProgram)) {\n unlistedReferrals.push(referral);\n return;\n }\n\n listedReferrals.push(referral);\n });\n\n return { listedReferrals, unlistedReferrals };\n};\n\nconst matchesOffPlatformService = (unlistedReferral, referral) => (\n unlistedReferral.programs[0]?.services[0] === referral.service.id &&\n referral.programs[0]?.status?.toLowerCase() === OFF_PLATFORM_REFERRALS_ONLY\n);\n\nexport const attachUnlistedProgramToMatchingReferral = (unlistedReferral, referrals) => {\n const unlistedProgram = unlistedReferral.programs[0];\n const matchingReferral = referrals.find((referral) => (\n matchesOffPlatformService(unlistedReferral, referral)\n ));\n\n if (!unlistedProgram || !matchingReferral) {\n return unlistedReferral;\n }\n\n matchingReferral.programs.push(unlistedProgram);\n\n return {\n ...unlistedReferral,\n programs: unlistedReferral.programs.slice(1),\n };\n};\n\nexport const keepReferralsWithPrograms = (referrals) => (\n referrals.filter((referral) => referral?.programs?.length > 0)\n);\n"],"mappings":";;;AAAA,SAASA,KAAK,EAAEC,OAAO,EAAEC,IAAI,QAAQ,QAAQ;AAC7C,SAASC,2BAA2B,QAAQ,cAAc;AAC1D,SAASC,cAAc,EAAEC,iBAAiB,QAAQ,UAAU;AAE5D,OAAO,MAAMC,0BAA0B,GAAG,SAAAA,CAACC,QAAQ,EAAEC,QAAQ;EAAA,IAAEC,WAAW,GAAAC,SAAA,CAAAC,MAAA,QAAAD,SAAA,QAAAE,SAAA,GAAAF,SAAA,MAAG,CAAC,CAAC;EAAA,OAAAG,aAAA,CAAAA,aAAA,KAC1EN,QAAQ;IACXC;EAAQ,GACLC,WAAW;AAAA,CACd;AAEF,OAAO,MAAMK,2BAA2B,GAAG,SAAAA,CAACP,QAAQ,EAAEQ,OAAO;EAAA,IAAEN,WAAW,GAAAC,SAAA,CAAAC,MAAA,QAAAD,SAAA,QAAAE,SAAA,GAAAF,SAAA,MAAG,CAAC,CAAC;EAAA,OAC7EJ,0BAA0B,CAACC,QAAQ,EAAE,CAACQ,OAAO,CAAC,EAAEN,WAAW,CAAC;AAAA,CAC7D;AAED,OAAO,MAAMO,8BAA8B,GAAIT,QAAQ,IAAK;EAC1D,MAAMU,QAAQ,GAAGb,cAAc,CAACG,QAAQ,CAAC;EAEzC,IAAIU,QAAQ,CAACN,MAAM,KAAK,CAAC,EAAE;IACzBJ,QAAQ,CAACW,OAAO,GAAGhB,IAAI,CAACe,QAAQ,CAAC;EACnC;AACF,CAAC;AAED,OAAO,MAAME,4BAA4B,GAAGA,CAACZ,QAAQ,EAAEQ,OAAO,KAAK;EACjE,MAAMK,cAAc,GAAGhB,cAAc,CAAAS,aAAA,CAAAA,aAAA,KAAMN,QAAQ;IAAEC,QAAQ,EAAE,CAACO,OAAO;EAAC,EAAE,CAAC;EAE3E,IAAIK,cAAc,CAACT,MAAM,KAAK,CAAC,EAAE;IAC/B,OAAOT,IAAI,CAACkB,cAAc,CAAC;EAC7B;EAEA,OAAOA,cAAc,CAACC,IAAI,CAAEH,OAAO;IAAA,IAAAI,iBAAA;IAAA,OAAKJ,OAAO,CAACK,EAAE,OAAAD,iBAAA,GAAKf,QAAQ,CAACW,OAAO,cAAAI,iBAAA,uBAAhBA,iBAAA,CAAkBC,EAAE;EAAA,EAAC,IAAI,IAAI;AACtF,CAAC;AAED,MAAMC,gBAAgB,GAAIT,OAAO;EAAA,IAAAU,iBAAA;EAAA,OAAK,EAAAA,iBAAA,GAAAV,OAAO,CAACW,QAAQ,cAAAD,iBAAA,gBAAAA,iBAAA,GAAhBA,iBAAA,CAAkBR,QAAQ,cAAAQ,iBAAA,uBAA1BA,iBAAA,CAA4Bd,MAAM,MAAK,CAAC;AAAA;AAC9E,MAAMgB,mBAAmB,GAAIZ,OAAO;EAAA,IAAAa,kBAAA;EAAA,OAAK,EAAAA,kBAAA,GAAAb,OAAO,CAACW,QAAQ,cAAAE,kBAAA,gBAAAA,kBAAA,GAAhBA,kBAAA,CAAkBX,QAAQ,cAAAW,kBAAA,uBAA1BA,kBAAA,CAA4BjB,MAAM,IAAG,CAAC;AAAA;AAC/E,MAAMkB,aAAa,GAAId,OAAO;EAAA,IAAAe,kBAAA;EAAA,OAAK,GAAAA,kBAAA,GAACf,OAAO,CAACW,QAAQ,cAAAI,kBAAA,gBAAAA,kBAAA,GAAhBA,kBAAA,CAAkBb,QAAQ,cAAAa,kBAAA,eAA1BA,kBAAA,CAA4BnB,MAAM;AAAA;AAEtE,OAAO,MAAMoB,kCAAkC,GAAIvB,QAAQ,KAAM;EAC/DwB,qBAAqB,EAAExB,QAAQ,CAACyB,MAAM,CAACT,gBAAgB,CAAC;EACxDU,uBAAuB,EAAE1B,QAAQ,CAACyB,MAAM,CAACN,mBAAmB,CAAC;EAC7DQ,iBAAiB,EAAE3B,QAAQ,CAACyB,MAAM,CAACJ,aAAa;AAClD,CAAC,CAAC;AAEF,OAAO,MAAMO,yBAAyB,GAAGA,CAAC7B,QAAQ,EAAEC,QAAQ,KAC1D6B,MAAM,CAACC,MAAM,CAACrC,OAAO,CAACO,QAAQ,EAAE,yBAAyB,CAAC,CAAC,CAAC+B,GAAG,CAAEC,eAAe;EAAA,IAAAC,qBAAA;EAAA,OAC9EnC,0BAA0B,CAACC,QAAQ,EAAEiC,eAAe,EAAE;IACpDtB,OAAO,EAAEhB,IAAI,EAAAuC,qBAAA,GAACD,eAAe,CAAC,CAAC,CAAC,CAACd,QAAQ,cAAAe,qBAAA,uBAA3BA,qBAAA,CAA6BxB,QAAQ;EACrD,CAAC,CAAC;AAAA,CACH,CACF;AAED,OAAO,MAAMyB,6BAA6B,GAAGA,CAACnC,QAAQ,EAAEC,QAAQ,KAC9DA,QAAQ,CAAC+B,GAAG,CAAExB,OAAO,IACnBD,2BAA2B,CAACP,QAAQ,EAAEQ,OAAO,EAAE;EAC7CG,OAAO,EAAEC,4BAA4B,CAACZ,QAAQ,EAAEQ,OAAO;AACzD,CAAC,CACF,CACF;AAED,OAAO,MAAM4B,uBAAuB,GAAGA,CAACpC,QAAQ,EAAEC,QAAQ,KACxDA,QAAQ,CAAC+B,GAAG,CAAExB,OAAO,IAAKD,2BAA2B,CAACP,QAAQ,EAAEQ,OAAO,CAAC,CACzE;AAED,OAAO,MAAM6B,wBAAwB,GAAGA,CAACrC,QAAQ,EAAEsC,SAAS,KAC1D7C,KAAK,CAACO,QAAQ,CAACC,QAAQ,EAAGO,OAAO,IAAK,CAAC8B,SAAS,CAAC9B,OAAO,CAAC,CAAC,IACzDR,QAAQ,CAACC,QAAQ,CAACG,MAAM,KAAK,CAAC,IAAIkC,SAAS,CAAC3C,IAAI,CAACK,QAAQ,CAACC,QAAQ,CAAC,CACrE;AAED,OAAO,MAAMsC,+BAA+B,GAAGA,CAACvC,QAAQ,EAAEsC,SAAS,MAAM;EACvEE,gBAAgB,EAAExC,QAAQ,CAACC,QAAQ,CAACyB,MAAM,CAACY,SAAS,CAAC;EACrDG,iBAAiB,EAAEzC,QAAQ,CAACC,QAAQ,CAACyB,MAAM,CAAElB,OAAO,IAAK,CAAC8B,SAAS,CAAC9B,OAAO,CAAC;AAC9E,CAAC,CAAC;AAEF,OAAO,MAAMkC,oBAAoB,GAAGA,CAAC1C,QAAQ,EAAEwC,gBAAgB,EAAEC,iBAAiB,KAChF,CACE,GAAGD,gBAAgB,CAACR,GAAG,CAAExB,OAAO,IAAKD,2BAA2B,CAACP,QAAQ,EAAEQ,OAAO,CAAC,CAAC,EACpF,IAAIiC,iBAAiB,CAACrC,MAAM,GAAG,CAAC,GAAG,CAACL,0BAA0B,CAACC,QAAQ,EAAEyC,iBAAiB,CAAC,CAAC,GAAG,EAAE,CAAC,CAErG;AAED,OAAO,MAAME,sBAAsB,GAAIL,SAAS,IAAMtC,QAAQ,IAAK;EACjE,IAAIqC,wBAAwB,CAACrC,QAAQ,EAAEsC,SAAS,CAAC,EAAE;IACjD,OAAO,CAACtC,QAAQ,CAAC;EACnB;EAEA,MAAM;IAAEwC,gBAAgB;IAAEC;EAAkB,CAAC,GAAGF,+BAA+B,CAC7EvC,QAAQ,EACRsC,SACF,CAAC;EAED,OAAOI,oBAAoB,CAAC1C,QAAQ,EAAEwC,gBAAgB,EAAEC,iBAAiB,CAAC;AAC5E,CAAC;AAED,OAAO,MAAMG,6BAA6B,GAAIC,SAAS,IAAK;EAC1D,MAAMC,eAAe,GAAG,EAAE;EAC1B,MAAMC,iBAAiB,GAAG,EAAE;EAE5BF,SAAS,CAACG,OAAO,CAAEhD,QAAQ,IAAK;IAC9B,IAAIP,KAAK,CAACO,QAAQ,CAACC,QAAQ,EAAEH,iBAAiB,CAAC,EAAE;MAC/CiD,iBAAiB,CAACE,IAAI,CAACjD,QAAQ,CAAC;MAChC;IACF;IAEA8C,eAAe,CAACG,IAAI,CAACjD,QAAQ,CAAC;EAChC,CAAC,CAAC;EAEF,OAAO;IAAE8C,eAAe;IAAEC;EAAkB,CAAC;AAC/C,CAAC;AAED,MAAMG,yBAAyB,GAAGA,CAACC,gBAAgB,EAAEnD,QAAQ;EAAA,IAAAoD,qBAAA,EAAAC,mBAAA;EAAA,OAC3D,EAAAD,qBAAA,GAAAD,gBAAgB,CAAClD,QAAQ,CAAC,CAAC,CAAC,cAAAmD,qBAAA,uBAA5BA,qBAAA,CAA8BE,QAAQ,CAAC,CAAC,CAAC,MAAKtD,QAAQ,CAACuD,OAAO,CAACvC,EAAE,IACjE,EAAAqC,mBAAA,GAAArD,QAAQ,CAACC,QAAQ,CAAC,CAAC,CAAC,cAAAoD,mBAAA,gBAAAA,mBAAA,GAApBA,mBAAA,CAAsBG,MAAM,cAAAH,mBAAA,uBAA5BA,mBAAA,CAA8BI,WAAW,CAAC,CAAC,MAAK7D,2BAA2B;AAAA,CAC5E;AAED,OAAO,MAAM8D,uCAAuC,GAAGA,CAACP,gBAAgB,EAAEN,SAAS,KAAK;EACtF,MAAMc,eAAe,GAAGR,gBAAgB,CAAClD,QAAQ,CAAC,CAAC,CAAC;EACpD,MAAM2D,gBAAgB,GAAGf,SAAS,CAAC/B,IAAI,CAAEd,QAAQ,IAC/CkD,yBAAyB,CAACC,gBAAgB,EAAEnD,QAAQ,CACrD,CAAC;EAEF,IAAI,CAAC2D,eAAe,IAAI,CAACC,gBAAgB,EAAE;IACzC,OAAOT,gBAAgB;EACzB;EAEAS,gBAAgB,CAAC3D,QAAQ,CAACgD,IAAI,CAACU,eAAe,CAAC;EAE/C,OAAArD,aAAA,CAAAA,aAAA,KACK6C,gBAAgB;IACnBlD,QAAQ,EAAEkD,gBAAgB,CAAClD,QAAQ,CAAC4D,KAAK,CAAC,CAAC;EAAC;AAEhD,CAAC;AAED,OAAO,MAAMC,yBAAyB,GAAIjB,SAAS,IACjDA,SAAS,CAACnB,MAAM,CAAE1B,QAAQ;EAAA,IAAA+D,kBAAA;EAAA,OAAK,CAAA/D,QAAQ,aAARA,QAAQ,gBAAA+D,kBAAA,GAAR/D,QAAQ,CAAEC,QAAQ,cAAA8D,kBAAA,uBAAlBA,kBAAA,CAAoB3D,MAAM,IAAG,CAAC;AAAA,EAC9D","ignoreList":[]}
|
|
1
|
+
{"version":3,"file":"buildGroupedReferralsHelpers.js","names":["every","groupBy","head","OFF_PLATFORM_REFERRALS_ONLY","filterNetworks","isUnlistedProgram","createReferralWithPrograms","referral","programs","extraFields","arguments","length","undefined","createSingleProgramReferral","program","assignSingleNetworkIfAvailable","networks","network","getReferralNetworkForProgram","networkOptions","find","id","hasSingleNetwork","provider","hasMultipleNetworks","hasNoNetworks","splitProgramsByNetworkAvailability","singleNetworkPrograms","filter","multipleNetworkPrograms","noNetworkPrograms","buildSameNetworkReferrals","Object","values","map","groupedPrograms","buildMultipleNetworkReferrals","buildNoNetworkReferrals","shouldReturnReferralAsIs","predicate","splitReferralByProgramPredicate","matchingPrograms","remainingPrograms","createSplitReferrals","createReferralSplitter","splitReferralsByListingStatus","referrals","listedReferrals","unlistedReferrals","forEach","push","matchesOffPlatformService","unlistedReferral","services","service","status","toLowerCase","attachUnlistedProgramToMatchingReferral","unlistedProgram","matchingReferral","slice","keepReferralsWithPrograms"],"sources":["../../../../src/pages/builder/utils/buildGroupedReferralsHelpers.js"],"sourcesContent":["import { every, groupBy, head } from 'lodash';\nimport { OFF_PLATFORM_REFERRALS_ONLY } from '../constants';\nimport { filterNetworks, isUnlistedProgram } from '../utils';\n\nexport const createReferralWithPrograms = (referral, programs, extraFields = {}) => ({\n ...referral,\n programs,\n ...extraFields,\n});\n\nexport const createSingleProgramReferral = (referral, program, extraFields = {}) => (\n createReferralWithPrograms(referral, [program], extraFields)\n);\n\nexport const assignSingleNetworkIfAvailable = (referral) => {\n const networks = filterNetworks(referral);\n\n if (networks.length === 1) {\n referral.network = head(networks);\n }\n};\n\nexport const getReferralNetworkForProgram = (referral, program) => {\n const networkOptions = filterNetworks({ ...referral, programs: [program] });\n\n if (networkOptions.length === 1) {\n return head(networkOptions);\n }\n\n return networkOptions.find((network) => network.id === referral.network?.id) || null;\n};\n\nconst hasSingleNetwork = (program) => program.provider?.networks?.length === 1;\nconst hasMultipleNetworks = (program) => program.provider?.networks?.length > 1;\nconst hasNoNetworks = (program) => !program.provider?.networks?.length;\n\nexport const splitProgramsByNetworkAvailability = (programs) => ({\n singleNetworkPrograms: programs.filter(hasSingleNetwork),\n multipleNetworkPrograms: programs.filter(hasMultipleNetworks),\n noNetworkPrograms: programs.filter(hasNoNetworks),\n});\n\nexport const buildSameNetworkReferrals = (referral, programs) => (\n Object.values(groupBy(programs, 'provider.networks[0].id')).map((groupedPrograms) => (\n createReferralWithPrograms(referral, groupedPrograms, {\n network: head(groupedPrograms[0].provider?.networks),\n })\n ))\n);\n\nexport const buildMultipleNetworkReferrals = (referral, programs) => (\n programs.map((program) => (\n createSingleProgramReferral(referral, program, {\n network: getReferralNetworkForProgram(referral, program),\n })\n ))\n);\n\nexport const buildNoNetworkReferrals = (referral, programs) => (\n programs.map((program) => createSingleProgramReferral(referral, program))\n);\n\nexport const shouldReturnReferralAsIs = (referral, predicate) => (\n every(referral.programs, (program) => !predicate(program)) ||\n (referral.programs.length === 1 && predicate(head(referral.programs)))\n);\n\nexport const splitReferralByProgramPredicate = (referral, predicate) => ({\n matchingPrograms: referral.programs.filter(predicate),\n remainingPrograms: referral.programs.filter((program) => !predicate(program)),\n});\n\nexport const createSplitReferrals = (referral, matchingPrograms, remainingPrograms) => (\n [\n ...matchingPrograms.map((program) => createSingleProgramReferral(referral, program)),\n ...(remainingPrograms.length > 0 ? [createReferralWithPrograms(referral, remainingPrograms)] : []),\n ]\n);\n\nexport const createReferralSplitter = (predicate) => (referral) => {\n if (shouldReturnReferralAsIs(referral, predicate)) {\n return [referral];\n }\n\n const { matchingPrograms, remainingPrograms } = splitReferralByProgramPredicate(\n referral,\n predicate,\n );\n\n return createSplitReferrals(referral, matchingPrograms, remainingPrograms);\n};\n\nexport const splitReferralsByListingStatus = (referrals) => {\n const listedReferrals = [];\n const unlistedReferrals = [];\n\n referrals.forEach((referral) => {\n if (every(referral.programs, isUnlistedProgram)) {\n unlistedReferrals.push(referral);\n return;\n }\n\n listedReferrals.push(referral);\n });\n\n return { listedReferrals, unlistedReferrals };\n};\n\nconst matchesOffPlatformService = (unlistedReferral, referral) => (\n unlistedReferral.programs[0]?.services[0] === referral.service.id &&\n referral.programs[0]?.status?.toLowerCase() === OFF_PLATFORM_REFERRALS_ONLY\n);\n\nexport const attachUnlistedProgramToMatchingReferral = (unlistedReferral, referrals) => {\n const unlistedProgram = unlistedReferral.programs[0];\n const matchingReferral = referrals.find((referral) => (\n matchesOffPlatformService(unlistedReferral, referral)\n ));\n\n if (!unlistedProgram || !matchingReferral) {\n return unlistedReferral;\n }\n\n matchingReferral.programs.push(unlistedProgram);\n\n return {\n ...unlistedReferral,\n programs: unlistedReferral.programs.slice(1),\n };\n};\n\nexport const keepReferralsWithPrograms = (referrals) => (\n referrals.filter((referral) => referral?.programs?.length > 0)\n);\n"],"mappings":"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","ignoreList":[]}
|
|
@@ -1,6 +1,3 @@
|
|
|
1
|
-
import _defineProperty from "@babel/runtime/helpers/defineProperty";
|
|
2
|
-
function ownKeys(e, r) { var t = Object.keys(e); if (Object.getOwnPropertySymbols) { var o = Object.getOwnPropertySymbols(e); r && (o = o.filter(function (r) { return Object.getOwnPropertyDescriptor(e, r).enumerable; })), t.push.apply(t, o); } return t; }
|
|
3
|
-
function _objectSpread(e) { for (var r = 1; r < arguments.length; r++) { var t = null != arguments[r] ? arguments[r] : {}; r % 2 ? ownKeys(Object(t), !0).forEach(function (r) { _defineProperty(e, r, t[r]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(e, Object.getOwnPropertyDescriptors(t)) : ownKeys(Object(t)).forEach(function (r) { Object.defineProperty(e, r, Object.getOwnPropertyDescriptor(t, r)); }); } return e; }
|
|
4
1
|
import { isEmpty } from 'lodash';
|
|
5
2
|
import { ageRangeConverters } from '@unite-us/app-components';
|
|
6
3
|
import { SEARCH_ROLES, SERVICE_AREA_TYPES, STATIC_FILTER_OPTIONS } from '../../../constants';
|
|
@@ -25,7 +22,7 @@ const parseAge = _ref => {
|
|
|
25
22
|
max_months
|
|
26
23
|
} = _ref;
|
|
27
24
|
if (!min_months && !max_months) return '';
|
|
28
|
-
return processAgeText(...convertApiAgeRangeToUnits(
|
|
25
|
+
return processAgeText(...convertApiAgeRangeToUnits(`${min_months}...${max_months}`));
|
|
29
26
|
};
|
|
30
27
|
const mapValuesToLabels = (values, options) => {
|
|
31
28
|
return values.map(value => {
|
|
@@ -64,12 +61,12 @@ const getProgramProps = async _ref2 => {
|
|
|
64
61
|
suggest_edit_enabled,
|
|
65
62
|
id
|
|
66
63
|
} = _ref2;
|
|
67
|
-
const hasRequirements = !!
|
|
68
|
-
const hasAccessibility = !!delivery_options.length || !!languages.length || !!population_specializations.length || !!
|
|
64
|
+
const hasRequirements = !!age_requirements?.min_months || !!age_requirements?.max_months || !!city_requirements.length || !!county_requirements.length || !!gender_requirements.length || !!population_restrictions.length || !!postal_code_requirements.length || !!state_requirements.length;
|
|
65
|
+
const hasAccessibility = !!delivery_options.length || !!languages.length || !!population_specializations.length || !!age_specializations?.min_months || !!age_specializations?.max_months || !!accessibility_options.length || !!transportation_options.length || !!payment_options.length;
|
|
69
66
|
const hasOtherEligibility = !!eligibility_text;
|
|
70
67
|
const hasEligibility = hasRequirements || hasAccessibility || hasOtherEligibility;
|
|
71
68
|
const hasContactInfo = !!phone_numbers.length || !!email_addresses.length || !!website_url || !!locations.length;
|
|
72
|
-
const hours = selectHours(locations, provider
|
|
69
|
+
const hours = selectHours(locations, provider?.hours);
|
|
73
70
|
const accessibilityLabels = mapValuesToLabels(accessibility_options, ACCESSIBILITY_OPTIONS);
|
|
74
71
|
const languageLabels = mapValuesToLabels(languages, LANGUAGE_OPTIONS);
|
|
75
72
|
const transportationLabels = mapValuesToLabels(transportation_options, TRANSPORTATION_OPTIONS);
|
|
@@ -77,7 +74,7 @@ const getProgramProps = async _ref2 => {
|
|
|
77
74
|
const populationRestrictionLabels = mapValuesToLabels(population_restrictions, POPULATIONS);
|
|
78
75
|
const populationSpecializationLabels = mapValuesToLabels(population_specializations, POPULATIONS);
|
|
79
76
|
const deliveryOptionLabels = mapValuesToLabels(delivery_options, PROGRAM_DELIVERY_OPTIONS);
|
|
80
|
-
const providersWithServices = await fetchProviderPrograms(provider
|
|
77
|
+
const providersWithServices = await fetchProviderPrograms(provider?.id, id);
|
|
81
78
|
const appRoles = [SEARCH_ROLES.PAYMENTS];
|
|
82
79
|
return {
|
|
83
80
|
name,
|
|
@@ -167,22 +164,20 @@ const generateServesThisAreaOption = area => {
|
|
|
167
164
|
return US_STATES.find(state => state.value === area.state_abbreviation.toUpperCase()).display_name;
|
|
168
165
|
};
|
|
169
166
|
const getMapProps = _ref4 => {
|
|
170
|
-
var _locations$find;
|
|
171
167
|
let {
|
|
172
168
|
locations = [],
|
|
173
169
|
service_areas = []
|
|
174
170
|
} = _ref4;
|
|
175
|
-
const closestOrFirstLocation =
|
|
171
|
+
const closestOrFirstLocation = locations?.find(loc => loc.is_closest) ?? locations[0];
|
|
176
172
|
let servingArea = '';
|
|
177
|
-
if (
|
|
178
|
-
|
|
179
|
-
const area = (_service_areas$find = service_areas.find(a => a.service_area_type !== SERVICE_AREA_TYPES.NATIONAL)) !== null && _service_areas$find !== void 0 ? _service_areas$find : service_areas[0];
|
|
173
|
+
if (service_areas?.length > 0) {
|
|
174
|
+
const area = service_areas.find(a => a.service_area_type !== SERVICE_AREA_TYPES.NATIONAL) ?? service_areas[0];
|
|
180
175
|
servingArea = generateServesThisAreaOption(area);
|
|
181
176
|
}
|
|
182
177
|
const {
|
|
183
178
|
latitude,
|
|
184
179
|
longitude
|
|
185
|
-
} = closestOrFirstLocation
|
|
180
|
+
} = closestOrFirstLocation ?? {};
|
|
186
181
|
return {
|
|
187
182
|
latitude,
|
|
188
183
|
longitude,
|
|
@@ -195,10 +190,13 @@ const getMapProps = _ref4 => {
|
|
|
195
190
|
// eslint-disable-next-line import/prefer-default-export
|
|
196
191
|
export const formatForProgramDetail = async program => {
|
|
197
192
|
const programProps = await getProgramProps(program);
|
|
198
|
-
const providerProps = program
|
|
193
|
+
const providerProps = program?.provider ? getProviderProps(program.provider) : {};
|
|
199
194
|
const mapProps = getMapProps(program);
|
|
200
|
-
return
|
|
201
|
-
id: program.id
|
|
202
|
-
|
|
195
|
+
return {
|
|
196
|
+
id: program.id,
|
|
197
|
+
...programProps,
|
|
198
|
+
...providerProps,
|
|
199
|
+
...mapProps
|
|
200
|
+
};
|
|
203
201
|
};
|
|
204
202
|
//# sourceMappingURL=formatProgramDetail.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"formatProgramDetail.js","names":["isEmpty","ageRangeConverters","SEARCH_ROLES","SERVICE_AREA_TYPES","STATIC_FILTER_OPTIONS","selectHours","fetchProviderPrograms","US_STATES","ACCESSIBILITY_OPTIONS","LANGUAGE_OPTIONS","TRANSPORTATION_OPTIONS","PAYMENT_OPTIONS","POPULATIONS","PROGRAM_DELIVERY_OPTIONS","convertApiAgeRangeToUnits","processAgeText","parseAge","_ref","min_months","max_months","concat","mapValuesToLabels","values","options","map","value","option","find","opt","label","join","getProgramProps","_ref2","name","description","eligibility_text","population_restrictions","accessibility_options","delivery_options","payment_options","population_specializations","languages","services","transportation_options","city_requirements","county_requirements","postal_code_requirements","state_requirements","age_specializations","gender_requirements","age_requirements","phone_numbers","email_addresses","website_url","locations","receiving_referrals","provider","offers_specialized_screening","fee_schedule_screenings","suggest_edit_enabled","id","hasRequirements","length","hasAccessibility","hasOtherEligibility","hasEligibility","hasContactInfo","hours","accessibilityLabels","languageLabels","transportationLabels","paymentLabels","populationRestrictionLabels","populationSpecializationLabels","deliveryOptionLabels","providersWithServices","appRoles","PAYMENTS","residency","hasEligibilityText","sort","_a","_b","is_primary","offersSpecializedScreening","feeScheduleScreenings","providerPrograms","favorPrimaryEmail","emailA","emailB","getProviderProps","_ref3","licensed","addresses","sensitive","emailsSortedByPriority","addr","email_address","provider_id","provider_name","provider_description","provider_phone_numbers","provider_email_addresses","provider_website_url","provider_hours","provider_licensed","provider_locations","provider_sensitive","hasOrgInfo","generateServesThisAreaOption","area","service_area_type","NATIONAL","state","state_abbreviation","toUpperCase","display_name","getMapProps","_ref4","_locations$find","service_areas","closestOrFirstLocation","loc","is_closest","servingArea","_service_areas$find","a","latitude","longitude","zoom","hasMap","formatForProgramDetail","program","programProps","providerProps","mapProps","_objectSpread"],"sources":["../../../../src/pages/builder/utils/formatProgramDetail.js"],"sourcesContent":["import { isEmpty } from 'lodash';\nimport { ageRangeConverters } from '@unite-us/app-components';\nimport { SEARCH_ROLES, SERVICE_AREA_TYPES, STATIC_FILTER_OPTIONS } from '../../../constants';\nimport selectHours from '../utils';\nimport fetchProviderPrograms from '../../../actions/Referral/fetchCoreServices';\n\nconst { US_STATES, ACCESSIBILITY_OPTIONS, LANGUAGE_OPTIONS, TRANSPORTATION_OPTIONS, PAYMENT_OPTIONS, POPULATIONS, PROGRAM_DELIVERY_OPTIONS } = STATIC_FILTER_OPTIONS;\nconst { convertApiAgeRangeToUnits, processAgeText } = ageRangeConverters;\nconst parseAge = ({ min_months, max_months }) => {\n if (!min_months && !max_months) return '';\n\n return processAgeText(...convertApiAgeRangeToUnits(`${min_months}...${max_months}`));\n};\n\nconst mapValuesToLabels = (values, options) => {\n return values\n .map((value) => {\n const option = options.find((opt) => opt.value === value);\n return option ? option.label : value;\n })\n .join(', ');\n}\n\nconst getProgramProps = async ({\n name,\n description,\n eligibility_text,\n population_restrictions = [],\n accessibility_options = [],\n delivery_options = [],\n payment_options = [],\n population_specializations = [],\n languages = [],\n services = [],\n transportation_options = [],\n city_requirements = [],\n county_requirements = [],\n postal_code_requirements = [],\n state_requirements = [],\n age_specializations = {},\n gender_requirements = [],\n age_requirements = {},\n phone_numbers = [],\n email_addresses = [],\n website_url,\n locations = [],\n receiving_referrals,\n provider,\n offers_specialized_screening,\n fee_schedule_screenings,\n suggest_edit_enabled,\n id,\n}) => {\n const hasRequirements = !!age_requirements?.min_months\n || !!age_requirements?.max_months\n || !!city_requirements.length\n || !!county_requirements.length\n || !!gender_requirements.length\n || !!population_restrictions.length\n || !!postal_code_requirements.length\n || !!state_requirements.length;\n const hasAccessibility = !!delivery_options.length\n || !!languages.length\n || !!population_specializations.length\n || !!age_specializations?.min_months\n || !!age_specializations?.max_months\n || !!accessibility_options.length\n || !!transportation_options.length\n || !!payment_options.length;\n const hasOtherEligibility = !!eligibility_text;\n const hasEligibility = hasRequirements || hasAccessibility || hasOtherEligibility;\n const hasContactInfo = !!phone_numbers.length\n || !!email_addresses.length\n || !!website_url\n || !!locations.length;\n const hours = selectHours(locations, provider?.hours);\n const accessibilityLabels = mapValuesToLabels(accessibility_options, ACCESSIBILITY_OPTIONS);\n const languageLabels = mapValuesToLabels(languages, LANGUAGE_OPTIONS);\n const transportationLabels = mapValuesToLabels(transportation_options, TRANSPORTATION_OPTIONS);\n const paymentLabels = mapValuesToLabels(payment_options, PAYMENT_OPTIONS);\n const populationRestrictionLabels = mapValuesToLabels(population_restrictions, POPULATIONS);\n const populationSpecializationLabels = mapValuesToLabels(population_specializations, POPULATIONS);\n const deliveryOptionLabels = mapValuesToLabels(delivery_options, PROGRAM_DELIVERY_OPTIONS);\n \n const providersWithServices = await fetchProviderPrograms(provider?.id, id);\n const appRoles = [SEARCH_ROLES.PAYMENTS]\n\n return {\n name,\n description,\n eligibility_text,\n hasRequirements,\n hasAccessibility,\n hasOtherEligibility,\n hasEligibility,\n hasContactInfo,\n postal_code_requirements: postal_code_requirements.join(', '),\n city_requirements: city_requirements.join('; '),\n county_requirements: county_requirements.join('; '),\n state_requirements: state_requirements.join(', '),\n age_requirements: parseAge(age_requirements),\n age_specializations: parseAge(age_specializations),\n gender_requirements: gender_requirements.join(', '),\n delivery_options: deliveryOptionLabels,\n population_restrictions: populationRestrictionLabels,\n languages: languageLabels,\n population_specializations: populationSpecializationLabels,\n accessibility_options: accessibilityLabels,\n residency: {\n state_requirements: state_requirements.join(', '),\n city_requirements: city_requirements.join('; '),\n county_requirements: county_requirements.join('; '),\n postal_code_requirements: postal_code_requirements.join(', '),\n },\n hasEligibilityText: !isEmpty(eligibility_text),\n transportation_options: transportationLabels,\n payment_options: paymentLabels,\n services: providersWithServices.services,\n phone_numbers,\n email_addresses: email_addresses.sort((_a, _b) => (_b.is_primary === null ? -1 : 1)),\n website_url,\n locations,\n hours,\n receiving_referrals,\n offersSpecializedScreening: offers_specialized_screening,\n feeScheduleScreenings: fee_schedule_screenings,\n suggest_edit_enabled,\n providerPrograms: providersWithServices.providerPrograms,\n appRoles,\n };\n}\n\nconst favorPrimaryEmail = (emailA, emailB) => {\n if (emailB.is_primary) {\n return 1;\n }\n if (emailA.is_primary) {\n return -1;\n }\n return 0;\n}\n\nconst getProviderProps = ({\n name,\n description,\n phone_numbers,\n email_addresses,\n website_url,\n hours,\n licensed,\n addresses,\n id,\n sensitive,\n}) => {\n const emailsSortedByPriority = email_addresses.length > 0\n ? email_addresses\n .sort(favorPrimaryEmail)\n .map((addr) => addr.email_address)\n : [];\n\n return {\n provider_id: id,\n provider_name: name,\n provider_description: description,\n provider_phone_numbers: phone_numbers,\n provider_email_addresses: emailsSortedByPriority,\n provider_website_url: website_url,\n provider_hours: hours,\n provider_licensed: licensed,\n provider_locations: addresses,\n provider_sensitive: sensitive,\n hasOrgInfo:\n !isEmpty(description)\n || !isEmpty(phone_numbers)\n || !isEmpty(email_addresses)\n || !isEmpty(website_url)\n || !isEmpty(hours)\n || !isEmpty(locations),\n };\n}\n\nconst generateServesThisAreaOption = (area) => {\n if (area.service_area_type === SERVICE_AREA_TYPES.NATIONAL) {\n return SERVICE_AREA_TYPES.NATIONAL;\n }\n return US_STATES.find(\n (state) => state.value === area.state_abbreviation.toUpperCase(),\n ).display_name;\n}\n\nconst getMapProps = ({ locations = [], service_areas = [] }) => {\n const closestOrFirstLocation = locations?.find((loc) => loc.is_closest) ?? locations[0];\n let servingArea = '';\n if (service_areas?.length > 0) {\n const area = service_areas.find(\n (a) => a.service_area_type !== SERVICE_AREA_TYPES.NATIONAL,\n ) ?? service_areas[0];\n servingArea = generateServesThisAreaOption(area);\n }\n const { latitude, longitude } = closestOrFirstLocation ?? {};\n\n return {\n latitude,\n longitude,\n zoom: '15',\n servingArea,\n hasMap: !!latitude && !!longitude,\n };\n}\n\n// eslint-disable-next-line import/prefer-default-export\nexport const formatForProgramDetail = async (program) => {\n const programProps = await getProgramProps(program);\n const providerProps = program?.provider \n ? getProviderProps(program.provider)\n : {};\n\n const mapProps = getMapProps(program);\n\n return {\n id: program.id,\n ...programProps,\n ...providerProps,\n ...mapProps,\n };\n}\n"],"mappings":"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","ignoreList":[]}
|
|
1
|
+
{"version":3,"file":"formatProgramDetail.js","names":["isEmpty","ageRangeConverters","SEARCH_ROLES","SERVICE_AREA_TYPES","STATIC_FILTER_OPTIONS","selectHours","fetchProviderPrograms","US_STATES","ACCESSIBILITY_OPTIONS","LANGUAGE_OPTIONS","TRANSPORTATION_OPTIONS","PAYMENT_OPTIONS","POPULATIONS","PROGRAM_DELIVERY_OPTIONS","convertApiAgeRangeToUnits","processAgeText","parseAge","_ref","min_months","max_months","mapValuesToLabels","values","options","map","value","option","find","opt","label","join","getProgramProps","_ref2","name","description","eligibility_text","population_restrictions","accessibility_options","delivery_options","payment_options","population_specializations","languages","services","transportation_options","city_requirements","county_requirements","postal_code_requirements","state_requirements","age_specializations","gender_requirements","age_requirements","phone_numbers","email_addresses","website_url","locations","receiving_referrals","provider","offers_specialized_screening","fee_schedule_screenings","suggest_edit_enabled","id","hasRequirements","length","hasAccessibility","hasOtherEligibility","hasEligibility","hasContactInfo","hours","accessibilityLabels","languageLabels","transportationLabels","paymentLabels","populationRestrictionLabels","populationSpecializationLabels","deliveryOptionLabels","providersWithServices","appRoles","PAYMENTS","residency","hasEligibilityText","sort","_a","_b","is_primary","offersSpecializedScreening","feeScheduleScreenings","providerPrograms","favorPrimaryEmail","emailA","emailB","getProviderProps","_ref3","licensed","addresses","sensitive","emailsSortedByPriority","addr","email_address","provider_id","provider_name","provider_description","provider_phone_numbers","provider_email_addresses","provider_website_url","provider_hours","provider_licensed","provider_locations","provider_sensitive","hasOrgInfo","generateServesThisAreaOption","area","service_area_type","NATIONAL","state","state_abbreviation","toUpperCase","display_name","getMapProps","_ref4","service_areas","closestOrFirstLocation","loc","is_closest","servingArea","a","latitude","longitude","zoom","hasMap","formatForProgramDetail","program","programProps","providerProps","mapProps"],"sources":["../../../../src/pages/builder/utils/formatProgramDetail.js"],"sourcesContent":["import { isEmpty } from 'lodash';\nimport { ageRangeConverters } from '@unite-us/app-components';\nimport { SEARCH_ROLES, SERVICE_AREA_TYPES, STATIC_FILTER_OPTIONS } from '../../../constants';\nimport selectHours from '../utils';\nimport fetchProviderPrograms from '../../../actions/Referral/fetchCoreServices';\n\nconst { US_STATES, ACCESSIBILITY_OPTIONS, LANGUAGE_OPTIONS, TRANSPORTATION_OPTIONS, PAYMENT_OPTIONS, POPULATIONS, PROGRAM_DELIVERY_OPTIONS } = STATIC_FILTER_OPTIONS;\nconst { convertApiAgeRangeToUnits, processAgeText } = ageRangeConverters;\nconst parseAge = ({ min_months, max_months }) => {\n if (!min_months && !max_months) return '';\n\n return processAgeText(...convertApiAgeRangeToUnits(`${min_months}...${max_months}`));\n};\n\nconst mapValuesToLabels = (values, options) => {\n return values\n .map((value) => {\n const option = options.find((opt) => opt.value === value);\n return option ? option.label : value;\n })\n .join(', ');\n}\n\nconst getProgramProps = async ({\n name,\n description,\n eligibility_text,\n population_restrictions = [],\n accessibility_options = [],\n delivery_options = [],\n payment_options = [],\n population_specializations = [],\n languages = [],\n services = [],\n transportation_options = [],\n city_requirements = [],\n county_requirements = [],\n postal_code_requirements = [],\n state_requirements = [],\n age_specializations = {},\n gender_requirements = [],\n age_requirements = {},\n phone_numbers = [],\n email_addresses = [],\n website_url,\n locations = [],\n receiving_referrals,\n provider,\n offers_specialized_screening,\n fee_schedule_screenings,\n suggest_edit_enabled,\n id,\n}) => {\n const hasRequirements = !!age_requirements?.min_months\n || !!age_requirements?.max_months\n || !!city_requirements.length\n || !!county_requirements.length\n || !!gender_requirements.length\n || !!population_restrictions.length\n || !!postal_code_requirements.length\n || !!state_requirements.length;\n const hasAccessibility = !!delivery_options.length\n || !!languages.length\n || !!population_specializations.length\n || !!age_specializations?.min_months\n || !!age_specializations?.max_months\n || !!accessibility_options.length\n || !!transportation_options.length\n || !!payment_options.length;\n const hasOtherEligibility = !!eligibility_text;\n const hasEligibility = hasRequirements || hasAccessibility || hasOtherEligibility;\n const hasContactInfo = !!phone_numbers.length\n || !!email_addresses.length\n || !!website_url\n || !!locations.length;\n const hours = selectHours(locations, provider?.hours);\n const accessibilityLabels = mapValuesToLabels(accessibility_options, ACCESSIBILITY_OPTIONS);\n const languageLabels = mapValuesToLabels(languages, LANGUAGE_OPTIONS);\n const transportationLabels = mapValuesToLabels(transportation_options, TRANSPORTATION_OPTIONS);\n const paymentLabels = mapValuesToLabels(payment_options, PAYMENT_OPTIONS);\n const populationRestrictionLabels = mapValuesToLabels(population_restrictions, POPULATIONS);\n const populationSpecializationLabels = mapValuesToLabels(population_specializations, POPULATIONS);\n const deliveryOptionLabels = mapValuesToLabels(delivery_options, PROGRAM_DELIVERY_OPTIONS);\n \n const providersWithServices = await fetchProviderPrograms(provider?.id, id);\n const appRoles = [SEARCH_ROLES.PAYMENTS]\n\n return {\n name,\n description,\n eligibility_text,\n hasRequirements,\n hasAccessibility,\n hasOtherEligibility,\n hasEligibility,\n hasContactInfo,\n postal_code_requirements: postal_code_requirements.join(', '),\n city_requirements: city_requirements.join('; '),\n county_requirements: county_requirements.join('; '),\n state_requirements: state_requirements.join(', '),\n age_requirements: parseAge(age_requirements),\n age_specializations: parseAge(age_specializations),\n gender_requirements: gender_requirements.join(', '),\n delivery_options: deliveryOptionLabels,\n population_restrictions: populationRestrictionLabels,\n languages: languageLabels,\n population_specializations: populationSpecializationLabels,\n accessibility_options: accessibilityLabels,\n residency: {\n state_requirements: state_requirements.join(', '),\n city_requirements: city_requirements.join('; '),\n county_requirements: county_requirements.join('; '),\n postal_code_requirements: postal_code_requirements.join(', '),\n },\n hasEligibilityText: !isEmpty(eligibility_text),\n transportation_options: transportationLabels,\n payment_options: paymentLabels,\n services: providersWithServices.services,\n phone_numbers,\n email_addresses: email_addresses.sort((_a, _b) => (_b.is_primary === null ? -1 : 1)),\n website_url,\n locations,\n hours,\n receiving_referrals,\n offersSpecializedScreening: offers_specialized_screening,\n feeScheduleScreenings: fee_schedule_screenings,\n suggest_edit_enabled,\n providerPrograms: providersWithServices.providerPrograms,\n appRoles,\n };\n}\n\nconst favorPrimaryEmail = (emailA, emailB) => {\n if (emailB.is_primary) {\n return 1;\n }\n if (emailA.is_primary) {\n return -1;\n }\n return 0;\n}\n\nconst getProviderProps = ({\n name,\n description,\n phone_numbers,\n email_addresses,\n website_url,\n hours,\n licensed,\n addresses,\n id,\n sensitive,\n}) => {\n const emailsSortedByPriority = email_addresses.length > 0\n ? email_addresses\n .sort(favorPrimaryEmail)\n .map((addr) => addr.email_address)\n : [];\n\n return {\n provider_id: id,\n provider_name: name,\n provider_description: description,\n provider_phone_numbers: phone_numbers,\n provider_email_addresses: emailsSortedByPriority,\n provider_website_url: website_url,\n provider_hours: hours,\n provider_licensed: licensed,\n provider_locations: addresses,\n provider_sensitive: sensitive,\n hasOrgInfo:\n !isEmpty(description)\n || !isEmpty(phone_numbers)\n || !isEmpty(email_addresses)\n || !isEmpty(website_url)\n || !isEmpty(hours)\n || !isEmpty(locations),\n };\n}\n\nconst generateServesThisAreaOption = (area) => {\n if (area.service_area_type === SERVICE_AREA_TYPES.NATIONAL) {\n return SERVICE_AREA_TYPES.NATIONAL;\n }\n return US_STATES.find(\n (state) => state.value === area.state_abbreviation.toUpperCase(),\n ).display_name;\n}\n\nconst getMapProps = ({ locations = [], service_areas = [] }) => {\n const closestOrFirstLocation = locations?.find((loc) => loc.is_closest) ?? locations[0];\n let servingArea = '';\n if (service_areas?.length > 0) {\n const area = service_areas.find(\n (a) => a.service_area_type !== SERVICE_AREA_TYPES.NATIONAL,\n ) ?? service_areas[0];\n servingArea = generateServesThisAreaOption(area);\n }\n const { latitude, longitude } = closestOrFirstLocation ?? {};\n\n return {\n latitude,\n longitude,\n zoom: '15',\n servingArea,\n hasMap: !!latitude && !!longitude,\n };\n}\n\n// eslint-disable-next-line import/prefer-default-export\nexport const formatForProgramDetail = async (program) => {\n const programProps = await getProgramProps(program);\n const providerProps = program?.provider \n ? getProviderProps(program.provider)\n : {};\n\n const mapProps = getMapProps(program);\n\n return {\n id: program.id,\n ...programProps,\n ...providerProps,\n ...mapProps,\n };\n}\n"],"mappings":"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","ignoreList":[]}
|
|
@@ -1,36 +1,30 @@
|
|
|
1
|
-
import _defineProperty from "@babel/runtime/helpers/defineProperty";
|
|
2
|
-
function ownKeys(e, r) { var t = Object.keys(e); if (Object.getOwnPropertySymbols) { var o = Object.getOwnPropertySymbols(e); r && (o = o.filter(function (r) { return Object.getOwnPropertyDescriptor(e, r).enumerable; })), t.push.apply(t, o); } return t; }
|
|
3
|
-
function _objectSpread(e) { for (var r = 1; r < arguments.length; r++) { var t = null != arguments[r] ? arguments[r] : {}; r % 2 ? ownKeys(Object(t), !0).forEach(function (r) { _defineProperty(e, r, t[r]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(e, Object.getOwnPropertyDescriptors(t)) : ownKeys(Object(t)).forEach(function (r) { Object.defineProperty(e, r, Object.getOwnPropertyDescriptor(t, r)); }); } return e; }
|
|
4
1
|
import { feeScheduleProgramUtils } from '@unite-us/app-components';
|
|
5
2
|
import { isEmpty } from 'lodash';
|
|
6
3
|
import moment from 'moment';
|
|
7
4
|
import { coreApi } from '../../../api/config';
|
|
8
|
-
const shouldLoadDraftPaymentAuthorization = (referral, feeScheduleProgram) => referral.state === 'draft' &&
|
|
5
|
+
const shouldLoadDraftPaymentAuthorization = (referral, feeScheduleProgram) => referral.state === 'draft' && feeScheduleProgram?.authorization_required;
|
|
9
6
|
const fetchCaseData = async caseId => {
|
|
10
|
-
var _caseResponse$data;
|
|
11
7
|
const caseResponse = await coreApi.findRecord('case', caseId);
|
|
12
|
-
return caseResponse
|
|
8
|
+
return caseResponse?.data?.data;
|
|
13
9
|
};
|
|
14
10
|
const fetchServiceAuthorizationData = async serviceAuthorizationId => {
|
|
15
|
-
var _serviceAuthorization;
|
|
16
11
|
const serviceAuthorizationResponse = await coreApi.findRecord('service_authorization', serviceAuthorizationId);
|
|
17
|
-
return serviceAuthorizationResponse
|
|
12
|
+
return serviceAuthorizationResponse?.data?.data;
|
|
18
13
|
};
|
|
19
14
|
const fetchClinicalModificationData = async clinicalModifications => {
|
|
20
|
-
|
|
21
|
-
const firstClinicalModification = clinicalModifications === null || clinicalModifications === void 0 ? void 0 : clinicalModifications[0];
|
|
15
|
+
const firstClinicalModification = clinicalModifications?.[0];
|
|
22
16
|
if (!firstClinicalModification) {
|
|
23
17
|
return null;
|
|
24
18
|
}
|
|
25
19
|
const clinicalModificationResponse = await coreApi.findRecord('clinical_modifications', firstClinicalModification.id);
|
|
26
|
-
return clinicalModificationResponse
|
|
20
|
+
return clinicalModificationResponse?.data?.data;
|
|
27
21
|
};
|
|
28
22
|
const buildAmountRequestedInitialValue = (serviceAuthorizationData, feeScheduleProgram) => {
|
|
29
|
-
const isUnitBased = !feeScheduleProgramUtils.isCostPaymentType(feeScheduleProgram
|
|
23
|
+
const isUnitBased = !feeScheduleProgramUtils.isCostPaymentType(feeScheduleProgram?.payment_type);
|
|
30
24
|
if (isUnitBased) {
|
|
31
|
-
return serviceAuthorizationData
|
|
25
|
+
return serviceAuthorizationData?.requested_unit_amount;
|
|
32
26
|
}
|
|
33
|
-
return serviceAuthorizationData
|
|
27
|
+
return serviceAuthorizationData?.requested_cents;
|
|
34
28
|
};
|
|
35
29
|
const buildClinicalModificationValue = clinicalModificationData => {
|
|
36
30
|
if (isEmpty(clinicalModificationData)) {
|
|
@@ -49,13 +43,12 @@ const buildPaymentAuthFormValues = _ref => {
|
|
|
49
43
|
} = _ref;
|
|
50
44
|
return {
|
|
51
45
|
amount_requested: buildAmountRequestedInitialValue(serviceAuthorizationData, feeScheduleProgram),
|
|
52
|
-
service_end: moment(serviceAuthorizationData
|
|
53
|
-
service_start: moment(serviceAuthorizationData
|
|
46
|
+
service_end: moment(serviceAuthorizationData?.requested_ends_at).unix(),
|
|
47
|
+
service_start: moment(serviceAuthorizationData?.requested_starts_at).unix(),
|
|
54
48
|
icd10_code: buildClinicalModificationValue(clinicalModificationData)
|
|
55
49
|
};
|
|
56
50
|
};
|
|
57
51
|
export const fetchDraftPaymentAuthorizationValues = async _ref2 => {
|
|
58
|
-
var _caseData$service_aut;
|
|
59
52
|
let {
|
|
60
53
|
caseId,
|
|
61
54
|
referralState,
|
|
@@ -70,8 +63,8 @@ export const fetchDraftPaymentAuthorizationValues = async _ref2 => {
|
|
|
70
63
|
return null;
|
|
71
64
|
}
|
|
72
65
|
const caseData = await fetchCaseData(caseId);
|
|
73
|
-
const serviceAuthorizationData = await fetchServiceAuthorizationData(caseData
|
|
74
|
-
const clinicalModificationData = await fetchClinicalModificationData(serviceAuthorizationData
|
|
66
|
+
const serviceAuthorizationData = await fetchServiceAuthorizationData(caseData?.service_authorization?.id);
|
|
67
|
+
const clinicalModificationData = await fetchClinicalModificationData(serviceAuthorizationData?.clinical_modifications);
|
|
75
68
|
return {
|
|
76
69
|
paymentAuthFormValues: buildPaymentAuthFormValues({
|
|
77
70
|
serviceAuthorizationData,
|
|
@@ -84,7 +77,6 @@ export const fetchDraftPaymentAuthorizationValues = async _ref2 => {
|
|
|
84
77
|
};
|
|
85
78
|
};
|
|
86
79
|
export const mergeDraftPaymentAuthorizationInitialValues = _ref3 => {
|
|
87
|
-
var _previousValues$case;
|
|
88
80
|
let {
|
|
89
81
|
previousValues,
|
|
90
82
|
paymentAuthFormValues,
|
|
@@ -92,12 +84,20 @@ export const mergeDraftPaymentAuthorizationInitialValues = _ref3 => {
|
|
|
92
84
|
crtb854ForwardingSuperset,
|
|
93
85
|
referralDescription
|
|
94
86
|
} = _ref3;
|
|
95
|
-
const initialValues =
|
|
96
|
-
|
|
97
|
-
|
|
98
|
-
|
|
99
|
-
|
|
100
|
-
|
|
87
|
+
const initialValues = {
|
|
88
|
+
...previousValues,
|
|
89
|
+
case: {
|
|
90
|
+
...previousValues.case,
|
|
91
|
+
service_authorization: {
|
|
92
|
+
...previousValues.case?.service_authorization,
|
|
93
|
+
...serviceAuthorizationData
|
|
94
|
+
}
|
|
95
|
+
},
|
|
96
|
+
paymentAuthForm: {
|
|
97
|
+
...previousValues.paymentAuthForm,
|
|
98
|
+
...paymentAuthFormValues
|
|
99
|
+
}
|
|
100
|
+
};
|
|
101
101
|
if (crtb854ForwardingSuperset && referralDescription) {
|
|
102
102
|
initialValues.description = referralDescription;
|
|
103
103
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"referralBuilderFormDraftAuth.js","names":["feeScheduleProgramUtils","isEmpty","moment","coreApi","shouldLoadDraftPaymentAuthorization","referral","feeScheduleProgram","state","authorization_required","fetchCaseData","caseId","
|
|
1
|
+
{"version":3,"file":"referralBuilderFormDraftAuth.js","names":["feeScheduleProgramUtils","isEmpty","moment","coreApi","shouldLoadDraftPaymentAuthorization","referral","feeScheduleProgram","state","authorization_required","fetchCaseData","caseId","caseResponse","findRecord","data","fetchServiceAuthorizationData","serviceAuthorizationId","serviceAuthorizationResponse","fetchClinicalModificationData","clinicalModifications","firstClinicalModification","clinicalModificationResponse","id","buildAmountRequestedInitialValue","serviceAuthorizationData","isUnitBased","isCostPaymentType","payment_type","requested_unit_amount","requested_cents","buildClinicalModificationValue","clinicalModificationData","value","code","buildPaymentAuthFormValues","_ref","amount_requested","service_end","requested_ends_at","unix","service_start","requested_starts_at","icd10_code","fetchDraftPaymentAuthorizationValues","_ref2","referralState","paymentType","authorizationRequired","caseData","service_authorization","clinical_modifications","paymentAuthFormValues","mergeDraftPaymentAuthorizationInitialValues","_ref3","previousValues","crtb854ForwardingSuperset","referralDescription","initialValues","case","paymentAuthForm","description"],"sources":["../../../../src/pages/builder/utils/referralBuilderFormDraftAuth.js"],"sourcesContent":["import { feeScheduleProgramUtils } from '@unite-us/app-components';\nimport { isEmpty } from 'lodash';\nimport moment from 'moment';\nimport { coreApi } from '../../../api/config';\n\nconst shouldLoadDraftPaymentAuthorization = (referral, feeScheduleProgram) => (\n referral.state === 'draft' && feeScheduleProgram?.authorization_required\n);\n\nconst fetchCaseData = async (caseId) => {\n const caseResponse = await coreApi.findRecord('case', caseId);\n\n return caseResponse?.data?.data;\n};\n\nconst fetchServiceAuthorizationData = async (serviceAuthorizationId) => {\n const serviceAuthorizationResponse = await coreApi.findRecord(\n 'service_authorization',\n serviceAuthorizationId,\n );\n\n return serviceAuthorizationResponse?.data?.data;\n};\n\nconst fetchClinicalModificationData = async (clinicalModifications) => {\n const firstClinicalModification = clinicalModifications?.[0];\n\n if (!firstClinicalModification) {\n return null;\n }\n\n const clinicalModificationResponse = await coreApi.findRecord(\n 'clinical_modifications',\n firstClinicalModification.id,\n );\n\n return clinicalModificationResponse?.data?.data;\n};\n\nconst buildAmountRequestedInitialValue = (\n serviceAuthorizationData,\n feeScheduleProgram,\n) => {\n const isUnitBased = !feeScheduleProgramUtils.isCostPaymentType(\n feeScheduleProgram?.payment_type,\n );\n\n if (isUnitBased) {\n return serviceAuthorizationData?.requested_unit_amount;\n }\n\n return serviceAuthorizationData?.requested_cents;\n};\n\nconst buildClinicalModificationValue = (clinicalModificationData) => {\n if (isEmpty(clinicalModificationData)) {\n return {};\n }\n\n return {\n value: clinicalModificationData.code,\n id: clinicalModificationData.id,\n };\n};\n\nconst buildPaymentAuthFormValues = ({\n serviceAuthorizationData,\n clinicalModificationData,\n feeScheduleProgram,\n}) => ({\n amount_requested: buildAmountRequestedInitialValue(\n serviceAuthorizationData,\n feeScheduleProgram,\n ),\n service_end: moment(serviceAuthorizationData?.requested_ends_at).unix(),\n service_start: moment(serviceAuthorizationData?.requested_starts_at).unix(),\n icd10_code: buildClinicalModificationValue(clinicalModificationData),\n});\n\nexport const fetchDraftPaymentAuthorizationValues = async ({\n caseId,\n referralState,\n paymentType,\n authorizationRequired,\n}) => {\n if (!shouldLoadDraftPaymentAuthorization(\n { state: referralState },\n { authorization_required: authorizationRequired },\n )) {\n return null;\n }\n\n const caseData = await fetchCaseData(caseId);\n const serviceAuthorizationData = await fetchServiceAuthorizationData(\n caseData?.service_authorization?.id,\n );\n const clinicalModificationData = await fetchClinicalModificationData(\n serviceAuthorizationData?.clinical_modifications,\n );\n\n return {\n paymentAuthFormValues: buildPaymentAuthFormValues({\n serviceAuthorizationData,\n clinicalModificationData,\n feeScheduleProgram: { payment_type: paymentType },\n }),\n serviceAuthorizationData,\n };\n};\n\nexport const mergeDraftPaymentAuthorizationInitialValues = ({\n previousValues,\n paymentAuthFormValues,\n serviceAuthorizationData,\n crtb854ForwardingSuperset,\n referralDescription,\n}) => {\n const initialValues = {\n ...previousValues,\n case: {\n ...previousValues.case,\n service_authorization: {\n ...previousValues.case?.service_authorization,\n ...serviceAuthorizationData,\n },\n },\n paymentAuthForm: {\n ...previousValues.paymentAuthForm,\n ...paymentAuthFormValues,\n },\n };\n\n if (crtb854ForwardingSuperset && referralDescription) {\n initialValues.description = referralDescription;\n }\n\n return initialValues;\n};\n"],"mappings":"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","ignoreList":[]}
|