@unite-us/app-create-referral 0.15.62 → 0.15.63
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 +45 -45
- package/dist/AppReferrals.js.map +1 -1
- package/dist/AppReferrals.test.js +34 -60
- package/dist/AppReferrals.test.js.map +1 -1
- package/dist/__testUtils__/mockData/components/mockAppReferrals.js +13 -12
- package/dist/__testUtils__/mockData/components/mockAppReferrals.js.map +1 -1
- package/dist/__testUtils__/mockData/mockCases.js +1 -1
- package/dist/__testUtils__/mockData/mockCases.js.map +1 -1
- package/dist/__testUtils__/mockData/mockClinicalModifications.js +3 -3
- package/dist/__testUtils__/mockData/mockClinicalModifications.js.map +1 -1
- package/dist/__testUtils__/mockData/mockEmployees.js +1 -1
- package/dist/__testUtils__/mockData/mockEmployees.js.map +1 -1
- package/dist/__testUtils__/mockData/mockEnums.js +1 -1
- package/dist/__testUtils__/mockData/mockEnums.js.map +1 -1
- package/dist/__testUtils__/mockData/mockFeeSchedulePrograms.js +1 -1
- package/dist/__testUtils__/mockData/mockFeeSchedulePrograms.js.map +1 -1
- package/dist/__testUtils__/mockData/mockFiles.js +1 -1
- package/dist/__testUtils__/mockData/mockFiles.js.map +1 -1
- package/dist/__testUtils__/mockData/mockFormSubmissions.js +1 -1
- package/dist/__testUtils__/mockData/mockFormSubmissions.js.map +1 -1
- package/dist/__testUtils__/mockData/mockFormUsages.js +1 -1
- package/dist/__testUtils__/mockData/mockFormUsages.js.map +1 -1
- package/dist/__testUtils__/mockData/mockForms.js +1 -1
- package/dist/__testUtils__/mockData/mockForms.js.map +1 -1
- package/dist/__testUtils__/mockData/mockInsurances.js +1 -1
- package/dist/__testUtils__/mockData/mockInsurances.js.map +1 -1
- package/dist/__testUtils__/mockData/mockNetworks.js +1 -1
- package/dist/__testUtils__/mockData/mockNetworks.js.map +1 -1
- package/dist/__testUtils__/mockData/mockPeople.js +1 -1
- package/dist/__testUtils__/mockData/mockPeople.js.map +1 -1
- package/dist/__testUtils__/mockData/mockPrograms.js +31 -31
- package/dist/__testUtils__/mockData/mockPrograms.js.map +1 -1
- package/dist/__testUtils__/mockData/mockProviders.js +21 -21
- package/dist/__testUtils__/mockData/mockProviders.js.map +1 -1
- package/dist/__testUtils__/mockData/mockReferrals.js +1 -1
- package/dist/__testUtils__/mockData/mockReferrals.js.map +1 -1
- package/dist/__testUtils__/mockData/mockServiceAuthorizations.js +1 -1
- package/dist/__testUtils__/mockData/mockServiceAuthorizations.js.map +1 -1
- package/dist/__testUtils__/mockData/mockServices.js +1 -1
- package/dist/__testUtils__/mockData/mockServices.js.map +1 -1
- package/dist/__testUtils__/mockData/mockUnlistedPrograms.js +1 -1
- package/dist/__testUtils__/mockData/mockUnlistedPrograms.js.map +1 -1
- package/dist/__testUtils__/mockData/utils.js +218 -282
- package/dist/__testUtils__/mockData/utils.js.map +1 -1
- package/dist/__testUtils__/mockServer/handlers.js +80 -82
- package/dist/__testUtils__/mockServer/handlers.js.map +1 -1
- package/dist/__testUtils__/mockServer/server.js +7 -13
- package/dist/__testUtils__/mockServer/server.js.map +1 -1
- package/dist/__testUtils__/test-utils.js +22 -18
- package/dist/__testUtils__/test-utils.js.map +1 -1
- package/dist/actions/Document/Contact/Group/fetchCaseDocuments.js +10 -32
- package/dist/actions/Document/Contact/Group/fetchCaseDocuments.js.map +1 -1
- package/dist/actions/Document/Contact/Group/fetchContactDocuments.js +10 -32
- package/dist/actions/Document/Contact/Group/fetchContactDocuments.js.map +1 -1
- package/dist/actions/Document/Contact/Group/fileUploadUtils.js +8 -10
- package/dist/actions/Document/Contact/Group/fileUploadUtils.js.map +1 -1
- package/dist/actions/Group/fetchCoreGroupForms.js +46 -88
- package/dist/actions/Group/fetchCoreGroupForms.js.map +1 -1
- package/dist/actions/Referral/cannotMoveToReferralReasons.js +23 -21
- package/dist/actions/Referral/cannotMoveToReferralReasons.js.map +1 -1
- package/dist/actions/Referral/fetchCoreServices.js +70 -152
- package/dist/actions/Referral/fetchCoreServices.js.map +1 -1
- package/dist/actions/Referral/fetchNetworks.js +11 -35
- package/dist/actions/Referral/fetchNetworks.js.map +1 -1
- package/dist/actions/Referral/fetchPrimaryWorkers.js +51 -75
- package/dist/actions/Referral/fetchPrimaryWorkers.js.map +1 -1
- package/dist/actions/Referral/removeReferralProgram.js +10 -15
- package/dist/actions/Referral/removeReferralProgram.js.map +1 -1
- package/dist/api/ApiHooks.js +40 -39
- package/dist/api/ApiHooks.js.map +1 -1
- package/dist/api/config.js +20 -23
- package/dist/api/config.js.map +1 -1
- package/dist/common/form/CurrencyField/index.js +22 -21
- package/dist/common/form/CurrencyField/index.js.map +1 -1
- package/dist/common/form/DocumentUploader/components/ContactDocumentsSelector.js +51 -48
- package/dist/common/form/DocumentUploader/components/ContactDocumentsSelector.js.map +1 -1
- package/dist/common/form/DocumentUploader/components/DocumentsListView.js +14 -12
- package/dist/common/form/DocumentUploader/components/DocumentsListView.js.map +1 -1
- package/dist/common/form/DocumentUploader/components/ListViewDocument.js +21 -17
- package/dist/common/form/DocumentUploader/components/ListViewDocument.js.map +1 -1
- package/dist/common/form/ErrorMessage/index.js +17 -9
- package/dist/common/form/ErrorMessage/index.js.map +1 -1
- package/dist/common/form/FileUploadV2/FileUpload.js +159 -137
- package/dist/common/form/FileUploadV2/FileUpload.js.map +1 -1
- package/dist/common/form/FileUploadV2/components/FilePreview.js +8 -5
- package/dist/common/form/FileUploadV2/components/FilePreview.js.map +1 -1
- package/dist/common/form/FileUploadV2/components/FilePreviewWrapper.js +26 -21
- package/dist/common/form/FileUploadV2/components/FilePreviewWrapper.js.map +1 -1
- package/dist/common/form/FormForm/index.js +143 -186
- package/dist/common/form/FormForm/index.js.map +1 -1
- package/dist/common/utils/utils.js +3 -3
- package/dist/common/utils/utils.js.map +1 -1
- package/dist/components/Card.js +12 -8
- package/dist/components/Card.js.map +1 -1
- package/dist/components/CreateReferralContainer.js +21 -13
- package/dist/components/CreateReferralContainer.js.map +1 -1
- package/dist/components/DollarAmount.js +18 -14
- package/dist/components/DollarAmount.js.map +1 -1
- package/dist/components/ExpandableButton.js +21 -16
- package/dist/components/ExpandableButton.js.map +1 -1
- package/dist/components/NavButtons.js +57 -51
- package/dist/components/NavButtons.js.map +1 -1
- package/dist/components/ReferralStepper.js +44 -41
- package/dist/components/ReferralStepper.js.map +1 -1
- package/dist/components/SearchableField.js +121 -125
- package/dist/components/SearchableField.js.map +1 -1
- package/dist/components/StepHeader.js +25 -16
- package/dist/components/StepHeader.js.map +1 -1
- package/dist/components/Stepper.js +55 -51
- package/dist/components/Stepper.js.map +1 -1
- package/dist/components/modal/Dialog.js +141 -170
- package/dist/components/modal/Dialog.js.map +1 -1
- package/dist/components/modal/Overlay.js +2 -1
- package/dist/components/modal/Overlay.js.map +1 -1
- package/dist/components/service_authorization/AuthorizationSpendCard.js +72 -60
- package/dist/components/service_authorization/AuthorizationSpendCard.js.map +1 -1
- package/dist/components/service_authorization/CapsInfo.js +143 -120
- package/dist/components/service_authorization/CapsInfo.js.map +1 -1
- package/dist/components/service_authorization/CaseStatus.js +18 -14
- package/dist/components/service_authorization/CaseStatus.js.map +1 -1
- package/dist/components/service_authorization/PreviousAuthorizationRequestsDetails.js +121 -96
- package/dist/components/service_authorization/PreviousAuthorizationRequestsDetails.js.map +1 -1
- package/dist/components/service_authorization/ReferralAuthSpendExpandable.js +43 -43
- package/dist/components/service_authorization/ReferralAuthSpendExpandable.js.map +1 -1
- package/dist/components/service_authorization/ReferralAuthorizationRequestSummary.js +82 -65
- package/dist/components/service_authorization/ReferralAuthorizationRequestSummary.js.map +1 -1
- package/dist/components/service_authorization/Spend.js +10 -5
- package/dist/components/service_authorization/Spend.js.map +1 -1
- package/dist/components/service_authorization/formatShortDate.js +6 -6
- package/dist/components/service_authorization/formatShortDate.js.map +1 -1
- package/dist/components/service_authorization/messageConstants.js +2 -2
- package/dist/components/service_authorization/messageConstants.js.map +1 -1
- package/dist/components/spinners/OverlaySpinner/OverlaySpinner.js +34 -23
- package/dist/components/spinners/OverlaySpinner/OverlaySpinner.js.map +1 -1
- package/dist/components/spinners/Spinner/Spinner.js +33 -27
- package/dist/components/spinners/Spinner/Spinner.js.map +1 -1
- package/dist/constants/enums.js +1 -1
- package/dist/constants/enums.js.map +1 -1
- package/dist/constants/eventConstants.js +48 -48
- package/dist/constants/eventConstants.js.map +1 -1
- package/dist/constants/findEnumDisplayName.js +3 -3
- package/dist/constants/findEnumDisplayName.js.map +1 -1
- package/dist/constants.js +6 -6
- package/dist/constants.js.map +1 -1
- package/dist/context/AppCreateReferralProvider.js +25 -36
- package/dist/context/AppCreateReferralProvider.js.map +1 -1
- package/dist/context/state.js +2 -5
- package/dist/context/state.js.map +1 -1
- package/dist/context/withAppCreateReferralContext.js +9 -5
- package/dist/context/withAppCreateReferralContext.js.map +1 -1
- package/dist/hooks/__tests__/useCreateReferrals.test.js +456 -544
- package/dist/hooks/__tests__/useCreateReferrals.test.js.map +1 -1
- package/dist/hooks/sendReferral.js +155 -318
- package/dist/hooks/sendReferral.js.map +1 -1
- package/dist/hooks/useClinicalModificationOptions.js +24 -34
- package/dist/hooks/useClinicalModificationOptions.js.map +1 -1
- package/dist/hooks/useCreateReferrals.js +463 -706
- package/dist/hooks/useCreateReferrals.js.map +1 -1
- package/dist/hooks/useCreateResourceList.js +56 -66
- package/dist/hooks/useCreateResourceList.js.map +1 -1
- package/dist/hooks/useCreateShareEvent.js +18 -33
- package/dist/hooks/useCreateShareEvent.js.map +1 -1
- package/dist/hooks/useForwardReferral.js +78 -105
- package/dist/hooks/useForwardReferral.js.map +1 -1
- package/dist/hooks/usePerson.js +21 -40
- package/dist/hooks/usePerson.js.map +1 -1
- package/dist/hooks/useUpdateResourceList.js +34 -28
- package/dist/hooks/useUpdateResourceList.js.map +1 -1
- package/dist/pages/builder/AboutGroupedReferralsModal.js +48 -27
- package/dist/pages/builder/AboutGroupedReferralsModal.js.map +1 -1
- package/dist/pages/builder/AuthorizationSubform.js +143 -131
- package/dist/pages/builder/AuthorizationSubform.js.map +1 -1
- package/dist/pages/builder/ChooseOneServiceTypeModal.js +56 -53
- package/dist/pages/builder/ChooseOneServiceTypeModal.js.map +1 -1
- package/dist/pages/builder/DetailsDrawer.js +74 -72
- package/dist/pages/builder/DetailsDrawer.js.map +1 -1
- package/dist/pages/builder/LineItem.js +28 -25
- package/dist/pages/builder/LineItem.js.map +1 -1
- package/dist/pages/builder/NoReferralsDisplay.js +41 -29
- package/dist/pages/builder/NoReferralsDisplay.js.map +1 -1
- package/dist/pages/builder/ProgramHeader.js +33 -20
- package/dist/pages/builder/ProgramHeader.js.map +1 -1
- package/dist/pages/builder/ProgramMenu.js +19 -18
- package/dist/pages/builder/ProgramMenu.js.map +1 -1
- package/dist/pages/builder/ReferralBuilder.js +341 -435
- package/dist/pages/builder/ReferralBuilder.js.map +1 -1
- package/dist/pages/builder/ReferralBuilderForm.js +323 -383
- package/dist/pages/builder/ReferralBuilderForm.js.map +1 -1
- package/dist/pages/builder/ReferralCard.js +125 -99
- package/dist/pages/builder/ReferralCard.js.map +1 -1
- package/dist/pages/builder/ReferralProgramCard.js +109 -148
- package/dist/pages/builder/ReferralProgramCard.js.map +1 -1
- package/dist/pages/builder/ReferralProgramMenu.js +102 -116
- package/dist/pages/builder/ReferralProgramMenu.js.map +1 -1
- package/dist/pages/builder/__tests__/AuthRequiredClinicalCodes.test.js +99 -220
- package/dist/pages/builder/__tests__/AuthRequiredClinicalCodes.test.js.map +1 -1
- package/dist/pages/builder/__tests__/AuthRequiredNonFundedPrograms.test.js +48 -74
- package/dist/pages/builder/__tests__/AuthRequiredNonFundedPrograms.test.js.map +1 -1
- package/dist/pages/builder/__tests__/AuthorizationRequiredPrograms.test.js +74 -117
- package/dist/pages/builder/__tests__/AuthorizationRequiredPrograms.test.js.map +1 -1
- package/dist/pages/builder/__tests__/NonSensitiveGroupedPrograms.test.js +674 -1151
- package/dist/pages/builder/__tests__/NonSensitiveGroupedPrograms.test.js.map +1 -1
- package/dist/pages/builder/__tests__/NonSensitiveSingleProgram.test.js +305 -519
- package/dist/pages/builder/__tests__/NonSensitiveSingleProgram.test.js.map +1 -1
- package/dist/pages/builder/__tests__/ReferralBuilder.test.js +14 -33
- package/dist/pages/builder/__tests__/ReferralBuilder.test.js.map +1 -1
- package/dist/pages/builder/__tests__/SensitiveProviderGroupedPrograms.test.js +407 -727
- package/dist/pages/builder/__tests__/SensitiveProviderGroupedPrograms.test.js.map +1 -1
- package/dist/pages/builder/__tests__/SensitiveServiceGroupedPrograms.test.js +139 -227
- package/dist/pages/builder/__tests__/SensitiveServiceGroupedPrograms.test.js.map +1 -1
- package/dist/pages/builder/__tests__/SensitiveServiceSensitiveProviderGroupedPrograms.test.js +262 -461
- package/dist/pages/builder/__tests__/SensitiveServiceSensitiveProviderGroupedPrograms.test.js.map +1 -1
- package/dist/pages/builder/__tests__/SensitiveSingleProgram.test.js +273 -455
- package/dist/pages/builder/__tests__/SensitiveSingleProgram.test.js.map +1 -1
- package/dist/pages/builder/buildDraftState.js +21 -21
- package/dist/pages/builder/buildDraftState.js.map +1 -1
- package/dist/pages/builder/buildGroupedReferrals.js +80 -113
- package/dist/pages/builder/buildGroupedReferrals.js.map +1 -1
- package/dist/pages/builder/constants.js +12 -12
- package/dist/pages/builder/constants.js.map +1 -1
- package/dist/pages/builder/formatProgramDetail.js +152 -167
- package/dist/pages/builder/formatProgramDetail.js.map +1 -1
- package/dist/pages/builder/useBuildReferrals.js +95 -153
- package/dist/pages/builder/useBuildReferrals.js.map +1 -1
- package/dist/pages/builder/utils.js +84 -133
- package/dist/pages/builder/utils.js.map +1 -1
- package/dist/pages/review/DeleteReferralModal.js +45 -31
- package/dist/pages/review/DeleteReferralModal.js.map +1 -1
- package/dist/pages/review/DropdownMultiplesReferrals.js +75 -92
- package/dist/pages/review/DropdownMultiplesReferrals.js.map +1 -1
- package/dist/pages/review/ReferralsSent.js +200 -231
- package/dist/pages/review/ReferralsSent.js.map +1 -1
- package/dist/pages/review/Review.js +451 -544
- package/dist/pages/review/Review.js.map +1 -1
- package/dist/pages/review/__tests__/CallbackNotifications.test.js +46 -57
- package/dist/pages/review/__tests__/CallbackNotifications.test.js.map +1 -1
- package/dist/pages/review/__tests__/ReferralsSent.test.js +189 -333
- package/dist/pages/review/__tests__/ReferralsSent.test.js.map +1 -1
- package/dist/pages/review/__tests__/Review.test.js +380 -572
- package/dist/pages/review/__tests__/Review.test.js.map +1 -1
- package/dist/pages/review/__tests__/data.js +5 -5
- package/dist/pages/review/__tests__/data.js.map +1 -1
- package/dist/pages/review/constants.js +5 -5
- package/dist/pages/review/constants.js.map +1 -1
- package/dist/pages/supporting-info/SupportingInfo.js +123 -160
- package/dist/pages/supporting-info/SupportingInfo.js.map +1 -1
- package/dist/pages/supporting-info/__tests__/SupportingInfo.test.js +85 -146
- package/dist/pages/supporting-info/__tests__/SupportingInfo.test.js.map +1 -1
- package/dist/pages/supporting-info/__tests__/data.js +1 -1
- package/dist/pages/supporting-info/__tests__/data.js.map +1 -1
- package/dist/reportWebVitals.js +9 -7
- package/dist/reportWebVitals.js.map +1 -1
- package/dist/setupTests.js +8 -30
- package/dist/setupTests.js.map +1 -1
- package/dist/utils/__tests__/canChangeHoldReason.test.js +23 -23
- package/dist/utils/__tests__/canChangeHoldReason.test.js.map +1 -1
- package/dist/utils/__tests__/checkRoles.test.js +10 -10
- package/dist/utils/__tests__/checkRoles.test.js.map +1 -1
- package/dist/utils/canAccept.js +14 -9
- package/dist/utils/canAccept.js.map +1 -1
- package/dist/utils/canChangeHoldReason.js +16 -11
- package/dist/utils/canChangeHoldReason.js.map +1 -1
- package/dist/utils/canHoldForReview.js +13 -8
- package/dist/utils/canHoldForReview.js.map +1 -1
- package/dist/utils/canReject.js +21 -14
- package/dist/utils/canReject.js.map +1 -1
- package/dist/utils/checkRoles.js +10 -10
- package/dist/utils/checkRoles.js.map +1 -1
- package/dist/utils/getProgramServicesPayload.js +20 -20
- package/dist/utils/getProgramServicesPayload.js.map +1 -1
- package/dist/utils/hasUserRole.js +8 -8
- package/dist/utils/hasUserRole.js.map +1 -1
- package/dist/utils/isReferralForwarded.js +4 -2
- package/dist/utils/isReferralForwarded.js.map +1 -1
- package/dist/utils/referralToConsent.js +14 -19
- package/dist/utils/referralToConsent.js.map +1 -1
- package/dist/utils/useDebounce.js +7 -18
- package/dist/utils/useDebounce.js.map +1 -1
- package/dist/utils/useFeatureFlag.js +1 -1
- package/dist/utils/useFeatureFlag.js.map +1 -1
- package/dist/utils/validateCostAmount.js +4 -4
- package/dist/utils/validateCostAmount.js.map +1 -1
- package/dist/utils/validateUnitAmount.js +4 -4
- package/dist/utils/validateUnitAmount.js.map +1 -1
- package/package.json +63 -37
- package/.github/CODEOWNERS +0 -3
- package/.github/pull_request_template.md +0 -25
- package/.github/workflows/quality.yml +0 -44
- package/.github/workflows/semantic-release.yml +0 -26
- package/.nvmrc +0 -1
- package/babel.config.js +0 -11
- package/config-overrides.js +0 -8
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"buildGroupedReferrals.js","names":["isEmpty","every","head","groupBy","flatMap","isUnlistedReferral","filterNetworks","programIsOffPlatform","programIsOnPlatform","OFF_PLATFORM_REFERRALS_ONLY","withPreventUngroup","fn","referral","prevent_ungroup","groupByNetworkImpl","networks","length","network","singleNetworkPrograms","programs","filter","program","_program$provider","provider","multipleNetworkPrograms","_program$provider2","noNetworkPrograms","_program$provider3","programsGroupedByNetworkId","sameNetworkReferrals","Object","values","map","_programs$0$provider","_objectSpread","multipleNetworkReferrals","noNetworkReferrals","concat","_toConsumableArray","groupByNetwork","groupByNetworkStatus","p","inNetworkPrograms","OONPrograms","groupBySensitivityImpl","_head","_p$provider","sensitive","sensitivePrograms","_p$provider2","nonSensitivePrograms","_p$provider3","nonSensitiveReferrals","groupBySensitivity","groupByCCImpl","_head2","_p$provider4","provider_type","ccPrograms","_p$provider5","nonCCPrograms","_p$provider6","nonCCReferrals","groupByCC","preventGroupingForSensitiveProvider","groupByFunded","fundedWithAuthorizationPrograms","_p$fee_schedule_progr","fee_schedule_program","authorization_required","fundedWithoutAuthorizationPrograms","_p$fee_schedule_progr2","programsGroupedByFeeSchedule","sameFeePrograms","sameFeeReferrals","nonAuthReferrals","ungroup","groupUnlistedProgramsToReferrals","referrals","unlistedReferrals","listedReferrals","forEach","id","includes","push","unlistedReferral","processReferral","foundReferral","find","_unlistedReferral$pro","_referral$programs$","services","service","status","toLowerCase","splice","updatedUnlistedReferrals","_unlistedReferral$pro2","buildGroupedReferrals","newReferrals","currentProvider","groupedReferrals","groupOperations","operation"],"sources":["../../../src/pages/builder/buildGroupedReferrals.js"],"sourcesContent":["import { isEmpty, every, head, groupBy, flatMap } from 'lodash';\nimport { isUnlistedReferral, filterNetworks, programIsOffPlatform, programIsOnPlatform } from './utils';\nimport { OFF_PLATFORM_REFERRALS_ONLY } from './constants';\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 // if there is more than one possible network, divide the programs into multiple referrals:\n // referrals with programs in providers in a single network and\n // referrals with programs in providers in multiple networks\n // referrals with unlisted programs, don't have network\n const singleNetworkPrograms = referral.programs.filter(program => program.provider?.networks?.length === 1);\n const multipleNetworkPrograms = referral.programs.filter(program => program.provider?.networks?.length > 1);\n const noNetworkPrograms = referral.programs.filter(program => !program.provider?.networks?.length);\n // group single network programs by network id\n const programsGroupedByNetworkId = groupBy(singleNetworkPrograms, 'provider.networks[0].id');\n // create a grouped referral for programs with the same single network\n const sameNetworkReferrals = Object.values(programsGroupedByNetworkId).map(programs => ({\n ...referral,\n programs,\n network: head(programs[0].provider?.networks),\n }))\n // create separate referrals for each program with multiple networks\n const multipleNetworkReferrals = multipleNetworkPrograms.map(program => ({\n ...referral,\n programs: [program],\n network: head(networks),\n }))\n // create separate referrals for each program with no network\n const noNetworkReferrals = noNetworkPrograms.map(program => ({\n ...referral,\n programs: [program],\n }))\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 groupBySensitivityImpl = (referral) => {\n // if every program is non-sensitive or the referral contains only one sensitive program, return referral\n if (every(referral.programs.map(p => !p?.provider?.sensitive)) ||\n (referral.programs.length === 1 && head(referral.programs)?.provider?.sensitive)) {\n return [referral];\n }\n // create a new referral for each sensitive program\n const sensitivePrograms = referral.programs.filter(p => p?.provider?.sensitive).map(program => ({\n ...referral, programs: [program]\n }));\n // create a new referral for non-sensitive programs\n const nonSensitivePrograms = referral.programs.filter(p => !p?.provider?.sensitive);\n const nonSensitiveReferrals = !isEmpty(nonSensitivePrograms) ? [{ ...referral, programs: nonSensitivePrograms }] : [];\n\n return [...sensitivePrograms, ...nonSensitiveReferrals];\n}\n\nconst groupBySensitivity = withPreventUngroup(groupBySensitivityImpl);\n\nconst groupByCCImpl = (referral) => {\n // if no programs are in a coordination center or the referral contains only one program in a cc, return referral\n if (every(referral.programs.map(p => p?.provider?.provider_type !== 'coordination_center')) ||\n (referral.programs.length === 1 && head(referral.programs)?.provider?.provider_type === 'coordination_center')) {\n return [referral];\n }\n // create a new referral for each program in a cc\n const ccPrograms = referral.programs.filter(p => p?.provider?.provider_type === 'coordination_center')\n .map(program => ({\n ...referral, programs: [program]\n }));\n // create a new referral for programs not in a cc\n const nonCCPrograms = referral.programs.filter(p => p?.provider?.provider_type !== 'coordination_center');\n const nonCCReferrals = !isEmpty(nonCCPrograms) ? [{ ...referral, programs: nonCCPrograms }] : [];\n\n return [...ccPrograms, ...nonCCReferrals];\n}\n\nconst groupByCC = withPreventUngroup(groupByCCImpl);\n\nconst preventGroupingForSensitiveProvider = (referral) => {\n const networks = filterNetworks(referral);\n // if there is only one possible network, set the referral's network\n if (networks.length === 1) {\n referral.network = head(networks);\n }\n const { programs } = referral;\n return programs.length > 1 ?\n programs.map(program => ({ ...referral, programs: [program] })) :\n [referral];\n};\n\nconst groupByFunded = (referral) => {\n const networks = filterNetworks(referral);\n // if there is only one possible network, set the referral's network\n if (networks.length === 1) {\n referral.network = head(networks);\n }\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 programsGroupedByFeeSchedule = groupBy(fundedWithAuthorizationPrograms, 'fee_schedule_program.id');\n const sameFeePrograms = Object.values(programsGroupedByFeeSchedule);\n\n // Create a new referral for each program with a shared fee schedule program\n const sameFeeReferrals = sameFeePrograms.map(program => ({\n ...referral,\n programs: program,\n ...(program.length >= 2 ? { prevent_ungroup: true } : {}) // A referral with two or more programs with the same fee schedule cannot be ungrouped\n }));\n\n // Create a new referral for programs without fee authorization required\n const nonAuthReferrals = !isEmpty(fundedWithoutAuthorizationPrograms) ? [{ ...referral, programs: fundedWithoutAuthorizationPrograms, ungroup: true }] : [];\n\n return [...nonAuthReferrals, ...sameFeeReferrals];\n};\n\nconst groupUnlistedProgramsToReferrals = (referrals) => {\n const unlistedReferrals = [], listedReferrals = [];\n\n referrals.forEach(referral => {\n if (every(referral.programs, p => p.id.includes('unlisted')))\n unlistedReferrals.push(referral);\n else\n listedReferrals.push(referral);\n });\n\n if (unlistedReferrals.length === 0) {\n return listedReferrals;\n }\n\n // Loop over the unlisted referrals, in case of a match, add the unlisted program to the referral \n // and remove it from the unlisted referral\n unlistedReferrals.forEach(unlistedReferral => {\n const processReferral = (referrals) => {\n // Find a referral with the same service and off-platform status\n const foundReferral = referrals.find(referral =>\n unlistedReferral.programs[0]?.services[0] === referral.service.id &&\n referral.programs[0]?.status?.toLowerCase() === OFF_PLATFORM_REFERRALS_ONLY\n );\n \n if (foundReferral) {\n // Add the unlisted program to the referral\n foundReferral.programs.push(unlistedReferral.programs[0]);\n // Remove the unlisted program from the referral, otherwise, it will be added to referrals multiple times\n unlistedReferral.programs.splice(0, 1);\n }\n };\n \n processReferral(listedReferrals);\n processReferral(unlistedReferrals);\n });\n\n // Remove referrals with no programs\n const updatedUnlistedReferrals = unlistedReferrals.filter(unlistedReferral => {\n if (unlistedReferral?.programs?.length > 0)\n return unlistedReferral;\n });\n\n return [...listedReferrals, ...updatedUnlistedReferrals];\n}\n\nexport const buildGroupedReferrals = (newReferrals, currentProvider) => {\n let groupedReferrals = newReferrals;\n // if the current provider is sensitive, prevent grouping\n if (currentProvider?.sensitive) {\n groupedReferrals = flatMap(groupedReferrals, preventGroupingForSensitiveProvider);\n } else {\n const groupOperations = [];\n\n groupOperations.push(groupByFunded, groupByNetwork, groupByNetworkStatus, groupBySensitivity, groupByCC);\n\n groupOperations.forEach(operation => {\n groupedReferrals = flatMap(groupedReferrals, operation);\n });\n\n groupedReferrals = groupUnlistedProgramsToReferrals(groupedReferrals);\n }\n\n return groupedReferrals;\n}\n"],"mappings":"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","ignoreList":[]}
|
|
1
|
+
{"version":3,"file":"buildGroupedReferrals.js","names":["isEmpty","every","head","groupBy","flatMap","isUnlistedReferral","filterNetworks","programIsOffPlatform","programIsOnPlatform","OFF_PLATFORM_REFERRALS_ONLY","withPreventUngroup","fn","referral","prevent_ungroup","groupByNetworkImpl","networks","length","network","singleNetworkPrograms","programs","filter","program","_program$provider","provider","multipleNetworkPrograms","_program$provider2","noNetworkPrograms","_program$provider3","programsGroupedByNetworkId","sameNetworkReferrals","Object","values","map","_programs$0$provider","_objectSpread","multipleNetworkReferrals","noNetworkReferrals","groupByNetwork","groupByNetworkStatus","p","inNetworkPrograms","OONPrograms","groupBySensitivityImpl","_head","_p$provider","sensitive","sensitivePrograms","_p$provider2","nonSensitivePrograms","_p$provider3","nonSensitiveReferrals","groupBySensitivity","groupByCCImpl","_head2","_p$provider4","provider_type","ccPrograms","_p$provider5","nonCCPrograms","_p$provider6","nonCCReferrals","groupByCC","preventGroupingForSensitiveProvider","groupByFunded","fundedWithAuthorizationPrograms","_p$fee_schedule_progr","fee_schedule_program","authorization_required","fundedWithoutAuthorizationPrograms","_p$fee_schedule_progr2","programsGroupedByFeeSchedule","sameFeePrograms","sameFeeReferrals","nonAuthReferrals","ungroup","groupUnlistedProgramsToReferrals","referrals","unlistedReferrals","listedReferrals","forEach","id","includes","push","unlistedReferral","processReferral","foundReferral","find","_unlistedReferral$pro","_referral$programs$","services","service","status","toLowerCase","splice","updatedUnlistedReferrals","_unlistedReferral$pro2","buildGroupedReferrals","newReferrals","currentProvider","groupedReferrals","groupOperations","operation"],"sources":["../../../src/pages/builder/buildGroupedReferrals.js"],"sourcesContent":["import { isEmpty, every, head, groupBy, flatMap } from 'lodash';\nimport { isUnlistedReferral, filterNetworks, programIsOffPlatform, programIsOnPlatform } from './utils';\nimport { OFF_PLATFORM_REFERRALS_ONLY } from './constants';\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 // if there is more than one possible network, divide the programs into multiple referrals:\n // referrals with programs in providers in a single network and\n // referrals with programs in providers in multiple networks\n // referrals with unlisted programs, don't have network\n const singleNetworkPrograms = referral.programs.filter(program => program.provider?.networks?.length === 1);\n const multipleNetworkPrograms = referral.programs.filter(program => program.provider?.networks?.length > 1);\n const noNetworkPrograms = referral.programs.filter(program => !program.provider?.networks?.length);\n // group single network programs by network id\n const programsGroupedByNetworkId = groupBy(singleNetworkPrograms, 'provider.networks[0].id');\n // create a grouped referral for programs with the same single network\n const sameNetworkReferrals = Object.values(programsGroupedByNetworkId).map(programs => ({\n ...referral,\n programs,\n network: head(programs[0].provider?.networks),\n }))\n // create separate referrals for each program with multiple networks\n const multipleNetworkReferrals = multipleNetworkPrograms.map(program => ({\n ...referral,\n programs: [program],\n network: head(networks),\n }))\n // create separate referrals for each program with no network\n const noNetworkReferrals = noNetworkPrograms.map(program => ({\n ...referral,\n programs: [program],\n }))\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 groupBySensitivityImpl = (referral) => {\n // if every program is non-sensitive or the referral contains only one sensitive program, return referral\n if (every(referral.programs.map(p => !p?.provider?.sensitive)) ||\n (referral.programs.length === 1 && head(referral.programs)?.provider?.sensitive)) {\n return [referral];\n }\n // create a new referral for each sensitive program\n const sensitivePrograms = referral.programs.filter(p => p?.provider?.sensitive).map(program => ({\n ...referral, programs: [program]\n }));\n // create a new referral for non-sensitive programs\n const nonSensitivePrograms = referral.programs.filter(p => !p?.provider?.sensitive);\n const nonSensitiveReferrals = !isEmpty(nonSensitivePrograms) ? [{ ...referral, programs: nonSensitivePrograms }] : [];\n\n return [...sensitivePrograms, ...nonSensitiveReferrals];\n}\n\nconst groupBySensitivity = withPreventUngroup(groupBySensitivityImpl);\n\nconst groupByCCImpl = (referral) => {\n // if no programs are in a coordination center or the referral contains only one program in a cc, return referral\n if (every(referral.programs.map(p => p?.provider?.provider_type !== 'coordination_center')) ||\n (referral.programs.length === 1 && head(referral.programs)?.provider?.provider_type === 'coordination_center')) {\n return [referral];\n }\n // create a new referral for each program in a cc\n const ccPrograms = referral.programs.filter(p => p?.provider?.provider_type === 'coordination_center')\n .map(program => ({\n ...referral, programs: [program]\n }));\n // create a new referral for programs not in a cc\n const nonCCPrograms = referral.programs.filter(p => p?.provider?.provider_type !== 'coordination_center');\n const nonCCReferrals = !isEmpty(nonCCPrograms) ? [{ ...referral, programs: nonCCPrograms }] : [];\n\n return [...ccPrograms, ...nonCCReferrals];\n}\n\nconst groupByCC = withPreventUngroup(groupByCCImpl);\n\nconst preventGroupingForSensitiveProvider = (referral) => {\n const networks = filterNetworks(referral);\n // if there is only one possible network, set the referral's network\n if (networks.length === 1) {\n referral.network = head(networks);\n }\n const { programs } = referral;\n return programs.length > 1 ?\n programs.map(program => ({ ...referral, programs: [program] })) :\n [referral];\n};\n\nconst groupByFunded = (referral) => {\n const networks = filterNetworks(referral);\n // if there is only one possible network, set the referral's network\n if (networks.length === 1) {\n referral.network = head(networks);\n }\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 programsGroupedByFeeSchedule = groupBy(fundedWithAuthorizationPrograms, 'fee_schedule_program.id');\n const sameFeePrograms = Object.values(programsGroupedByFeeSchedule);\n\n // Create a new referral for each program with a shared fee schedule program\n const sameFeeReferrals = sameFeePrograms.map(program => ({\n ...referral,\n programs: program,\n ...(program.length >= 2 ? { prevent_ungroup: true } : {}) // A referral with two or more programs with the same fee schedule cannot be ungrouped\n }));\n\n // Create a new referral for programs without fee authorization required\n const nonAuthReferrals = !isEmpty(fundedWithoutAuthorizationPrograms) ? [{ ...referral, programs: fundedWithoutAuthorizationPrograms, ungroup: true }] : [];\n\n return [...nonAuthReferrals, ...sameFeeReferrals];\n};\n\nconst groupUnlistedProgramsToReferrals = (referrals) => {\n const unlistedReferrals = [], listedReferrals = [];\n\n referrals.forEach(referral => {\n if (every(referral.programs, p => p.id.includes('unlisted')))\n unlistedReferrals.push(referral);\n else\n listedReferrals.push(referral);\n });\n\n if (unlistedReferrals.length === 0) {\n return listedReferrals;\n }\n\n // Loop over the unlisted referrals, in case of a match, add the unlisted program to the referral \n // and remove it from the unlisted referral\n unlistedReferrals.forEach(unlistedReferral => {\n const processReferral = (referrals) => {\n // Find a referral with the same service and off-platform status\n const foundReferral = referrals.find(referral =>\n unlistedReferral.programs[0]?.services[0] === referral.service.id &&\n referral.programs[0]?.status?.toLowerCase() === OFF_PLATFORM_REFERRALS_ONLY\n );\n \n if (foundReferral) {\n // Add the unlisted program to the referral\n foundReferral.programs.push(unlistedReferral.programs[0]);\n // Remove the unlisted program from the referral, otherwise, it will be added to referrals multiple times\n unlistedReferral.programs.splice(0, 1);\n }\n };\n \n processReferral(listedReferrals);\n processReferral(unlistedReferrals);\n });\n\n // Remove referrals with no programs\n const updatedUnlistedReferrals = unlistedReferrals.filter(unlistedReferral => {\n if (unlistedReferral?.programs?.length > 0)\n return unlistedReferral;\n });\n\n return [...listedReferrals, ...updatedUnlistedReferrals];\n}\n\nexport const buildGroupedReferrals = (newReferrals, currentProvider) => {\n let groupedReferrals = newReferrals;\n // if the current provider is sensitive, prevent grouping\n if (currentProvider?.sensitive) {\n groupedReferrals = flatMap(groupedReferrals, preventGroupingForSensitiveProvider);\n } else {\n const groupOperations = [];\n\n groupOperations.push(groupByFunded, groupByNetwork, groupByNetworkStatus, groupBySensitivity, groupByCC);\n\n groupOperations.forEach(operation => {\n groupedReferrals = flatMap(groupedReferrals, operation);\n });\n\n groupedReferrals = groupUnlistedProgramsToReferrals(groupedReferrals);\n }\n\n return groupedReferrals;\n}\n"],"mappings":"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","ignoreList":[]}
|
|
@@ -1,13 +1,13 @@
|
|
|
1
|
-
export
|
|
2
|
-
export
|
|
3
|
-
export
|
|
4
|
-
export
|
|
5
|
-
export
|
|
6
|
-
export
|
|
7
|
-
export
|
|
8
|
-
export
|
|
9
|
-
export
|
|
10
|
-
export
|
|
11
|
-
export
|
|
12
|
-
export
|
|
1
|
+
export const REFERRAL_BUILDER_DESCRIPTION = "We automatically group compatible referrals.\n Reorganize referrals based on your client's needs, \n add referral descriptions, and upload any attachments. ";
|
|
2
|
+
export const SUPPORTING_INFO = "Provide supporting information to help\n quickly connect your client with services.";
|
|
3
|
+
export const ON_PLATFORM_REFERRALS = "An on-platform program uses Unite Us, just like you. \n If you send them a referral, then can accept, reject, or forward it using Unite Us.";
|
|
4
|
+
export const OFF_PLATFORM_REFERRALS = "An off-platform program doesn't use Unite Us yet. \n If you send them a referral, you must contact them directly to request services, share\n their information with your client, and document the outcome in Unite Us.";
|
|
5
|
+
export const GROUPED_REFERRALS_EXPLANATION = "With grouped referrals, you can send referrals\n to multiple, on-platform programs at once. Whoever accepts the referral first works with\n the client and the rest of the referrals are recalled. To be grouped, referrals must\n have the same: ";
|
|
6
|
+
export const UNGROUP_REFERRAL_EXPLANATION = "We automatically group compatible referrals for \n you. You can ungroup referrals by clicking the three-dot icon next to any program and move\n it to a new referral.";
|
|
7
|
+
export const GROUPED_REFERRAL_MUST_HAVE_SAME = ['Service type', 'Program status (on- or off-platform)', 'Authorization (required or not)'];
|
|
8
|
+
export const REFERRAL_PII_PHI_DESCRIPTION = "Include personally identifiable information (PII), protected health information (PHI), or other sensitive information only if it's necessary to provide services.";
|
|
9
|
+
export const REFERRAL_SENT_SUCCESS = "We've saved these referred programs to the Resources tab on the client's profile.";
|
|
10
|
+
export const OFF_PLATFORM_REFERRALS_ONLY = 'off-platform referrals only';
|
|
11
|
+
export const ROLE_KEYS = ['case_manager', 'referrals_user', 'referrals_admin', 'oversight', 'org_admin'];
|
|
12
|
+
export const NEXT_STEPS = ['Share these resources with the client by text, email, or print.', 'Confirm whether any on-platform referrals have been accepted by any organizations.', 'Contact any off-platform programs directly, follow up with your client, and update the case.'];
|
|
13
13
|
//# sourceMappingURL=constants.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"constants.js","names":["REFERRAL_BUILDER_DESCRIPTION","SUPPORTING_INFO","ON_PLATFORM_REFERRALS","OFF_PLATFORM_REFERRALS","GROUPED_REFERRALS_EXPLANATION","UNGROUP_REFERRAL_EXPLANATION","GROUPED_REFERRAL_MUST_HAVE_SAME","REFERRAL_PII_PHI_DESCRIPTION","REFERRAL_SENT_SUCCESS","OFF_PLATFORM_REFERRALS_ONLY","ROLE_KEYS","NEXT_STEPS"],"sources":["../../../src/pages/builder/constants.js"],"sourcesContent":["export const REFERRAL_BUILDER_DESCRIPTION = `We automatically group compatible referrals.\n Reorganize referrals based on your client's needs, \n add referral descriptions, and upload any attachments. `;\n\nexport const SUPPORTING_INFO = `Provide supporting information to help\n quickly connect your client with services.`;\n\nexport const ON_PLATFORM_REFERRALS = `An on-platform program uses Unite Us, just like you. \n If you send them a referral, then can accept, reject, or forward it using Unite Us.`;\n\nexport const OFF_PLATFORM_REFERRALS = `An off-platform program doesn't use Unite Us yet. \n If you send them a referral, you must contact them directly to request services, share\n their information with your client, and document the outcome in Unite Us.`;\n\nexport const GROUPED_REFERRALS_EXPLANATION = `With grouped referrals, you can send referrals\n to multiple, on-platform programs at once. Whoever accepts the referral first works with\n the client and the rest of the referrals are recalled. To be grouped, referrals must\n have the same: `;\n\nexport const UNGROUP_REFERRAL_EXPLANATION = `We automatically group compatible referrals for \n you. You can ungroup referrals by clicking the three-dot icon next to any program and move\n it to a new referral.`;\n\nexport const GROUPED_REFERRAL_MUST_HAVE_SAME = ['Service type', 'Program status (on- or off-platform)', 'Authorization (required or not)'];\n\nexport const REFERRAL_PII_PHI_DESCRIPTION = \"Include personally identifiable information (PII), protected health information (PHI), or other sensitive information only if it's necessary to provide services.\";\n\nexport const REFERRAL_SENT_SUCCESS = `We've saved these referred programs to the Resources tab on the client's profile.`;\n\nexport const OFF_PLATFORM_REFERRALS_ONLY = 'off-platform referrals only';\n\nexport const ROLE_KEYS = ['case_manager', 'referrals_user', 'referrals_admin', 'oversight', 'org_admin'];\n\nexport const NEXT_STEPS = ['Share these resources with the client by text, email, or print.',\n 'Confirm whether any on-platform referrals have been accepted by any organizations.',\n 'Contact any off-platform programs directly, follow up with your client, and update the case.'];\n"],"mappings":"AAAA,OAAO,
|
|
1
|
+
{"version":3,"file":"constants.js","names":["REFERRAL_BUILDER_DESCRIPTION","SUPPORTING_INFO","ON_PLATFORM_REFERRALS","OFF_PLATFORM_REFERRALS","GROUPED_REFERRALS_EXPLANATION","UNGROUP_REFERRAL_EXPLANATION","GROUPED_REFERRAL_MUST_HAVE_SAME","REFERRAL_PII_PHI_DESCRIPTION","REFERRAL_SENT_SUCCESS","OFF_PLATFORM_REFERRALS_ONLY","ROLE_KEYS","NEXT_STEPS"],"sources":["../../../src/pages/builder/constants.js"],"sourcesContent":["export const REFERRAL_BUILDER_DESCRIPTION = `We automatically group compatible referrals.\n Reorganize referrals based on your client's needs, \n add referral descriptions, and upload any attachments. `;\n\nexport const SUPPORTING_INFO = `Provide supporting information to help\n quickly connect your client with services.`;\n\nexport const ON_PLATFORM_REFERRALS = `An on-platform program uses Unite Us, just like you. \n If you send them a referral, then can accept, reject, or forward it using Unite Us.`;\n\nexport const OFF_PLATFORM_REFERRALS = `An off-platform program doesn't use Unite Us yet. \n If you send them a referral, you must contact them directly to request services, share\n their information with your client, and document the outcome in Unite Us.`;\n\nexport const GROUPED_REFERRALS_EXPLANATION = `With grouped referrals, you can send referrals\n to multiple, on-platform programs at once. Whoever accepts the referral first works with\n the client and the rest of the referrals are recalled. To be grouped, referrals must\n have the same: `;\n\nexport const UNGROUP_REFERRAL_EXPLANATION = `We automatically group compatible referrals for \n you. You can ungroup referrals by clicking the three-dot icon next to any program and move\n it to a new referral.`;\n\nexport const GROUPED_REFERRAL_MUST_HAVE_SAME = ['Service type', 'Program status (on- or off-platform)', 'Authorization (required or not)'];\n\nexport const REFERRAL_PII_PHI_DESCRIPTION = \"Include personally identifiable information (PII), protected health information (PHI), or other sensitive information only if it's necessary to provide services.\";\n\nexport const REFERRAL_SENT_SUCCESS = `We've saved these referred programs to the Resources tab on the client's profile.`;\n\nexport const OFF_PLATFORM_REFERRALS_ONLY = 'off-platform referrals only';\n\nexport const ROLE_KEYS = ['case_manager', 'referrals_user', 'referrals_admin', 'oversight', 'org_admin'];\n\nexport const NEXT_STEPS = ['Share these resources with the client by text, email, or print.',\n 'Confirm whether any on-platform referrals have been accepted by any organizations.',\n 'Contact any off-platform programs directly, follow up with your client, and update the case.'];\n"],"mappings":"AAAA,OAAO,MAAMA,4BAA4B,mKAEiB;AAE1D,OAAO,MAAMC,eAAe,yFACiB;AAE7C,OAAO,MAAMC,qBAAqB,iJACoD;AAEtF,OAAO,MAAMC,sBAAsB,8NAEyC;AAE5E,OAAO,MAAMC,6BAA6B,0PAGxB;AAElB,OAAO,MAAMC,4BAA4B,4KAEjB;AAExB,OAAO,MAAMC,+BAA+B,GAAG,CAAC,cAAc,EAAE,sCAAsC,EAAE,iCAAiC,CAAC;AAE1I,OAAO,MAAMC,4BAA4B,GAAG,mKAAmK;AAE/M,OAAO,MAAMC,qBAAqB,sFAAsF;AAExH,OAAO,MAAMC,2BAA2B,GAAG,6BAA6B;AAExE,OAAO,MAAMC,SAAS,GAAG,CAAC,cAAc,EAAE,gBAAgB,EAAE,iBAAiB,EAAE,WAAW,EAAE,WAAW,CAAC;AAExG,OAAO,MAAMC,UAAU,GAAG,CAAC,iEAAiE,EAC1F,oFAAoF,EACpF,8FAA8F,CAAC","ignoreList":[]}
|
|
@@ -1,125 +1,129 @@
|
|
|
1
|
-
|
|
1
|
+
import _defineProperty from "@babel/runtime/helpers/defineProperty";
|
|
2
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
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
|
-
function _defineProperty(e, r, t) { return (r = _toPropertyKey(r)) in e ? Object.defineProperty(e, r, { value: t, enumerable: !0, configurable: !0, writable: !0 }) : e[r] = t, e; }
|
|
5
|
-
function _toPropertyKey(t) { var i = _toPrimitive(t, "string"); return "symbol" == _typeof(i) ? i : i + ""; }
|
|
6
|
-
function _toPrimitive(t, r) { if ("object" != _typeof(t) || !t) return t; var e = t[Symbol.toPrimitive]; if (void 0 !== e) { var i = e.call(t, r || "default"); if ("object" != _typeof(i)) return i; throw new TypeError("@@toPrimitive must return a primitive value."); } return ("string" === r ? String : Number)(t); }
|
|
7
|
-
function _regenerator() { /*! regenerator-runtime -- Copyright (c) 2014-present, Facebook, Inc. -- license (MIT): https://github.com/babel/babel/blob/main/packages/babel-helpers/LICENSE */ var e, t, r = "function" == typeof Symbol ? Symbol : {}, n = r.iterator || "@@iterator", o = r.toStringTag || "@@toStringTag"; function i(r, n, o, i) { var c = n && n.prototype instanceof Generator ? n : Generator, u = Object.create(c.prototype); return _regeneratorDefine2(u, "_invoke", function (r, n, o) { var i, c, u, f = 0, p = o || [], y = !1, G = { p: 0, n: 0, v: e, a: d, f: d.bind(e, 4), d: function d(t, r) { return i = t, c = 0, u = e, G.n = r, a; } }; function d(r, n) { for (c = r, u = n, t = 0; !y && f && !o && t < p.length; t++) { var o, i = p[t], d = G.p, l = i[2]; r > 3 ? (o = l === n) && (u = i[(c = i[4]) ? 5 : (c = 3, 3)], i[4] = i[5] = e) : i[0] <= d && ((o = r < 2 && d < i[1]) ? (c = 0, G.v = n, G.n = i[1]) : d < l && (o = r < 3 || i[0] > n || n > l) && (i[4] = r, i[5] = n, G.n = l, c = 0)); } if (o || r > 1) return a; throw y = !0, n; } return function (o, p, l) { if (f > 1) throw TypeError("Generator is already running"); for (y && 1 === p && d(p, l), c = p, u = l; (t = c < 2 ? e : u) || !y;) { i || (c ? c < 3 ? (c > 1 && (G.n = -1), d(c, u)) : G.n = u : G.v = u); try { if (f = 2, i) { if (c || (o = "next"), t = i[o]) { if (!(t = t.call(i, u))) throw TypeError("iterator result is not an object"); if (!t.done) return t; u = t.value, c < 2 && (c = 0); } else 1 === c && (t = i.return) && t.call(i), c < 2 && (u = TypeError("The iterator does not provide a '" + o + "' method"), c = 1); i = e; } else if ((t = (y = G.n < 0) ? u : r.call(n, G)) !== a) break; } catch (t) { i = e, c = 1, u = t; } finally { f = 1; } } return { value: t, done: y }; }; }(r, o, i), !0), u; } var a = {}; function Generator() {} function GeneratorFunction() {} function GeneratorFunctionPrototype() {} t = Object.getPrototypeOf; var c = [][n] ? t(t([][n]())) : (_regeneratorDefine2(t = {}, n, function () { return this; }), t), u = GeneratorFunctionPrototype.prototype = Generator.prototype = Object.create(c); function f(e) { return Object.setPrototypeOf ? Object.setPrototypeOf(e, GeneratorFunctionPrototype) : (e.__proto__ = GeneratorFunctionPrototype, _regeneratorDefine2(e, o, "GeneratorFunction")), e.prototype = Object.create(u), e; } return GeneratorFunction.prototype = GeneratorFunctionPrototype, _regeneratorDefine2(u, "constructor", GeneratorFunctionPrototype), _regeneratorDefine2(GeneratorFunctionPrototype, "constructor", GeneratorFunction), GeneratorFunction.displayName = "GeneratorFunction", _regeneratorDefine2(GeneratorFunctionPrototype, o, "GeneratorFunction"), _regeneratorDefine2(u), _regeneratorDefine2(u, o, "Generator"), _regeneratorDefine2(u, n, function () { return this; }), _regeneratorDefine2(u, "toString", function () { return "[object Generator]"; }), (_regenerator = function _regenerator() { return { w: i, m: f }; })(); }
|
|
8
|
-
function _regeneratorDefine2(e, r, n, t) { var i = Object.defineProperty; try { i({}, "", {}); } catch (e) { i = 0; } _regeneratorDefine2 = function _regeneratorDefine(e, r, n, t) { function o(r, n) { _regeneratorDefine2(e, r, function (e) { return this._invoke(r, n, e); }); } r ? i ? i(e, r, { value: n, enumerable: !t, configurable: !t, writable: !t }) : e[r] = n : (o("next", 0), o("throw", 1), o("return", 2)); }, _regeneratorDefine2(e, r, n, t); }
|
|
9
|
-
function asyncGeneratorStep(n, t, e, r, o, a, c) { try { var i = n[a](c), u = i.value; } catch (n) { return void e(n); } i.done ? t(u) : Promise.resolve(u).then(r, o); }
|
|
10
|
-
function _asyncToGenerator(n) { return function () { var t = this, e = arguments; return new Promise(function (r, o) { var a = n.apply(t, e); function _next(n) { asyncGeneratorStep(a, r, o, _next, _throw, "next", n); } function _throw(n) { asyncGeneratorStep(a, r, o, _next, _throw, "throw", n); } _next(void 0); }); }; }
|
|
11
|
-
function _toConsumableArray(r) { return _arrayWithoutHoles(r) || _iterableToArray(r) || _unsupportedIterableToArray(r) || _nonIterableSpread(); }
|
|
12
|
-
function _nonIterableSpread() { throw new TypeError("Invalid attempt to spread non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method."); }
|
|
13
|
-
function _unsupportedIterableToArray(r, a) { if (r) { if ("string" == typeof r) return _arrayLikeToArray(r, a); var t = {}.toString.call(r).slice(8, -1); return "Object" === t && r.constructor && (t = r.constructor.name), "Map" === t || "Set" === t ? Array.from(r) : "Arguments" === t || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(t) ? _arrayLikeToArray(r, a) : void 0; } }
|
|
14
|
-
function _iterableToArray(r) { if ("undefined" != typeof Symbol && null != r[Symbol.iterator] || null != r["@@iterator"]) return Array.from(r); }
|
|
15
|
-
function _arrayWithoutHoles(r) { if (Array.isArray(r)) return _arrayLikeToArray(r); }
|
|
16
|
-
function _arrayLikeToArray(r, a) { (null == a || a > r.length) && (a = r.length); for (var e = 0, n = Array(a); e < a; e++) n[e] = r[e]; return n; }
|
|
17
4
|
import { isEmpty } from 'lodash';
|
|
18
5
|
import { ageRangeConverters } from '@unite-us/client-utils';
|
|
19
6
|
import { SEARCH_ROLES, SERVICE_AREA_TYPES, STATIC_FILTER_OPTIONS } from '../../constants';
|
|
20
7
|
import selectHours from './utils';
|
|
21
8
|
import fetchProviderPrograms from '../../actions/Referral/fetchCoreServices';
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
|
|
9
|
+
const {
|
|
10
|
+
US_STATES,
|
|
11
|
+
ACCESSIBILITY_OPTIONS,
|
|
12
|
+
LANGUAGE_OPTIONS,
|
|
13
|
+
TRANSPORTATION_OPTIONS,
|
|
14
|
+
PAYMENT_OPTIONS,
|
|
15
|
+
POPULATIONS,
|
|
16
|
+
PROGRAM_DELIVERY_OPTIONS
|
|
17
|
+
} = STATIC_FILTER_OPTIONS;
|
|
18
|
+
const {
|
|
19
|
+
convertApiAgeRangeToUnits,
|
|
20
|
+
processAgeText
|
|
21
|
+
} = ageRangeConverters;
|
|
22
|
+
const parseAge = _ref => {
|
|
23
|
+
let {
|
|
24
|
+
min_months,
|
|
25
|
+
max_months
|
|
26
|
+
} = _ref;
|
|
34
27
|
if (!min_months && !max_months) return '';
|
|
35
|
-
return processAgeText
|
|
28
|
+
return processAgeText(...convertApiAgeRangeToUnits("".concat(min_months, "...").concat(max_months)));
|
|
36
29
|
};
|
|
37
|
-
|
|
38
|
-
return values.map(
|
|
39
|
-
|
|
40
|
-
return opt.value === value;
|
|
41
|
-
});
|
|
30
|
+
const mapValuesToLabels = (values, options) => {
|
|
31
|
+
return values.map(value => {
|
|
32
|
+
const option = options.find(opt => opt.value === value);
|
|
42
33
|
return option ? option.label : value;
|
|
43
34
|
}).join(', ');
|
|
44
35
|
};
|
|
45
|
-
|
|
46
|
-
|
|
47
|
-
|
|
48
|
-
|
|
49
|
-
|
|
50
|
-
|
|
51
|
-
|
|
52
|
-
|
|
53
|
-
|
|
54
|
-
|
|
55
|
-
|
|
56
|
-
|
|
57
|
-
|
|
58
|
-
|
|
59
|
-
|
|
60
|
-
|
|
61
|
-
|
|
62
|
-
|
|
63
|
-
|
|
64
|
-
|
|
65
|
-
|
|
66
|
-
|
|
67
|
-
|
|
68
|
-
|
|
69
|
-
|
|
70
|
-
|
|
71
|
-
|
|
72
|
-
|
|
73
|
-
|
|
74
|
-
|
|
75
|
-
|
|
76
|
-
|
|
77
|
-
|
|
78
|
-
|
|
79
|
-
|
|
80
|
-
|
|
81
|
-
|
|
82
|
-
|
|
83
|
-
|
|
84
|
-
|
|
85
|
-
|
|
86
|
-
|
|
87
|
-
|
|
88
|
-
|
|
89
|
-
|
|
90
|
-
|
|
91
|
-
|
|
92
|
-
|
|
93
|
-
|
|
94
|
-
|
|
95
|
-
|
|
96
|
-
|
|
97
|
-
|
|
98
|
-
|
|
99
|
-
|
|
100
|
-
|
|
101
|
-
|
|
102
|
-
|
|
103
|
-
|
|
104
|
-
|
|
105
|
-
|
|
106
|
-
|
|
107
|
-
|
|
108
|
-
|
|
109
|
-
|
|
110
|
-
|
|
111
|
-
|
|
112
|
-
|
|
113
|
-
|
|
114
|
-
|
|
115
|
-
|
|
116
|
-
|
|
117
|
-
|
|
118
|
-
|
|
119
|
-
|
|
36
|
+
const getProgramProps = async _ref2 => {
|
|
37
|
+
let {
|
|
38
|
+
name,
|
|
39
|
+
description,
|
|
40
|
+
eligibility_text,
|
|
41
|
+
population_restrictions = [],
|
|
42
|
+
accessibility_options = [],
|
|
43
|
+
delivery_options = [],
|
|
44
|
+
payment_options = [],
|
|
45
|
+
population_specializations = [],
|
|
46
|
+
languages = [],
|
|
47
|
+
services = [],
|
|
48
|
+
transportation_options = [],
|
|
49
|
+
city_requirements = [],
|
|
50
|
+
county_requirements = [],
|
|
51
|
+
postal_code_requirements = [],
|
|
52
|
+
state_requirements = [],
|
|
53
|
+
age_specializations = {},
|
|
54
|
+
gender_requirements = [],
|
|
55
|
+
age_requirements = {},
|
|
56
|
+
phone_numbers = [],
|
|
57
|
+
email_addresses = [],
|
|
58
|
+
website_url,
|
|
59
|
+
locations = [],
|
|
60
|
+
receiving_referrals,
|
|
61
|
+
provider,
|
|
62
|
+
offers_specialized_screening,
|
|
63
|
+
fee_schedule_screenings,
|
|
64
|
+
suggest_edit_enabled,
|
|
65
|
+
id
|
|
66
|
+
} = _ref2;
|
|
67
|
+
const hasRequirements = !!(age_requirements !== null && age_requirements !== void 0 && age_requirements.min_months) || !!(age_requirements !== null && age_requirements !== void 0 && age_requirements.max_months) || !!city_requirements.length || !!county_requirements.length || !!gender_requirements.length || !!population_restrictions.length || !!postal_code_requirements.length || !!state_requirements.length;
|
|
68
|
+
const hasAccessibility = !!delivery_options.length || !!languages.length || !!population_specializations.length || !!(age_specializations !== null && age_specializations !== void 0 && age_specializations.min_months) || !!(age_specializations !== null && age_specializations !== void 0 && age_specializations.max_months) || !!accessibility_options.length || !!transportation_options.length || !!payment_options.length;
|
|
69
|
+
const hasOtherEligibility = !!eligibility_text;
|
|
70
|
+
const hasEligibility = hasRequirements || hasAccessibility || hasOtherEligibility;
|
|
71
|
+
const hasContactInfo = !!phone_numbers.length || !!email_addresses.length || !!website_url || !!locations.length;
|
|
72
|
+
const hours = selectHours(locations, provider === null || provider === void 0 ? void 0 : provider.hours);
|
|
73
|
+
const accessibilityLabels = mapValuesToLabels(accessibility_options, ACCESSIBILITY_OPTIONS);
|
|
74
|
+
const languageLabels = mapValuesToLabels(languages, LANGUAGE_OPTIONS);
|
|
75
|
+
const transportationLabels = mapValuesToLabels(transportation_options, TRANSPORTATION_OPTIONS);
|
|
76
|
+
const paymentLabels = mapValuesToLabels(payment_options, PAYMENT_OPTIONS);
|
|
77
|
+
const populationRestrictionLabels = mapValuesToLabels(population_restrictions, POPULATIONS);
|
|
78
|
+
const populationSpecializationLabels = mapValuesToLabels(population_specializations, POPULATIONS);
|
|
79
|
+
const deliveryOptionLabels = mapValuesToLabels(delivery_options, PROGRAM_DELIVERY_OPTIONS);
|
|
80
|
+
const providersWithServices = await fetchProviderPrograms(provider === null || provider === void 0 ? void 0 : provider.id, id);
|
|
81
|
+
const appRoles = [SEARCH_ROLES.PAYMENTS];
|
|
82
|
+
return {
|
|
83
|
+
name,
|
|
84
|
+
description,
|
|
85
|
+
eligibility_text,
|
|
86
|
+
hasRequirements,
|
|
87
|
+
hasAccessibility,
|
|
88
|
+
hasOtherEligibility,
|
|
89
|
+
hasEligibility,
|
|
90
|
+
hasContactInfo,
|
|
91
|
+
postal_code_requirements: postal_code_requirements.join(', '),
|
|
92
|
+
city_requirements: city_requirements.join('; '),
|
|
93
|
+
county_requirements: county_requirements.join('; '),
|
|
94
|
+
state_requirements: state_requirements.join(', '),
|
|
95
|
+
age_requirements: parseAge(age_requirements),
|
|
96
|
+
age_specializations: parseAge(age_specializations),
|
|
97
|
+
gender_requirements: gender_requirements.join(', '),
|
|
98
|
+
delivery_options: deliveryOptionLabels,
|
|
99
|
+
population_restrictions: populationRestrictionLabels,
|
|
100
|
+
languages: languageLabels,
|
|
101
|
+
population_specializations: populationSpecializationLabels,
|
|
102
|
+
accessibility_options: accessibilityLabels,
|
|
103
|
+
residency: {
|
|
104
|
+
state_requirements: state_requirements.join(', '),
|
|
105
|
+
city_requirements: city_requirements.join('; '),
|
|
106
|
+
county_requirements: county_requirements.join('; '),
|
|
107
|
+
postal_code_requirements: postal_code_requirements.join(', ')
|
|
108
|
+
},
|
|
109
|
+
hasEligibilityText: !isEmpty(eligibility_text),
|
|
110
|
+
transportation_options: transportationLabels,
|
|
111
|
+
payment_options: paymentLabels,
|
|
112
|
+
services: providersWithServices.services,
|
|
113
|
+
phone_numbers,
|
|
114
|
+
email_addresses: email_addresses.sort((_a, _b) => _b.is_primary === null ? -1 : 1),
|
|
115
|
+
website_url,
|
|
116
|
+
locations,
|
|
117
|
+
hours,
|
|
118
|
+
receiving_referrals,
|
|
119
|
+
offersSpecializedScreening: offers_specialized_screening,
|
|
120
|
+
feeScheduleScreenings: fee_schedule_screenings,
|
|
121
|
+
suggest_edit_enabled,
|
|
122
|
+
providerPrograms: providersWithServices.providerPrograms,
|
|
123
|
+
appRoles
|
|
120
124
|
};
|
|
121
|
-
}
|
|
122
|
-
|
|
125
|
+
};
|
|
126
|
+
const favorPrimaryEmail = (emailA, emailB) => {
|
|
123
127
|
if (emailB.is_primary) {
|
|
124
128
|
return 1;
|
|
125
129
|
}
|
|
@@ -128,20 +132,20 @@ var favorPrimaryEmail = function favorPrimaryEmail(emailA, emailB) {
|
|
|
128
132
|
}
|
|
129
133
|
return 0;
|
|
130
134
|
};
|
|
131
|
-
|
|
132
|
-
|
|
133
|
-
|
|
134
|
-
|
|
135
|
-
|
|
136
|
-
|
|
137
|
-
|
|
138
|
-
|
|
139
|
-
|
|
140
|
-
|
|
141
|
-
|
|
142
|
-
|
|
143
|
-
|
|
144
|
-
|
|
135
|
+
const getProviderProps = _ref3 => {
|
|
136
|
+
let {
|
|
137
|
+
name,
|
|
138
|
+
description,
|
|
139
|
+
phone_numbers,
|
|
140
|
+
email_addresses,
|
|
141
|
+
website_url,
|
|
142
|
+
hours,
|
|
143
|
+
licensed,
|
|
144
|
+
addresses,
|
|
145
|
+
id,
|
|
146
|
+
sensitive
|
|
147
|
+
} = _ref3;
|
|
148
|
+
const emailsSortedByPriority = email_addresses.length > 0 ? email_addresses.sort(favorPrimaryEmail).map(addr => addr.email_address) : [];
|
|
145
149
|
return {
|
|
146
150
|
provider_id: id,
|
|
147
151
|
provider_name: name,
|
|
@@ -156,64 +160,45 @@ var getProviderProps = function getProviderProps(_ref4) {
|
|
|
156
160
|
hasOrgInfo: !isEmpty(description) || !isEmpty(phone_numbers) || !isEmpty(email_addresses) || !isEmpty(website_url) || !isEmpty(hours) || !isEmpty(locations)
|
|
157
161
|
};
|
|
158
162
|
};
|
|
159
|
-
|
|
163
|
+
const generateServesThisAreaOption = area => {
|
|
160
164
|
if (area.service_area_type === SERVICE_AREA_TYPES.NATIONAL) {
|
|
161
165
|
return SERVICE_AREA_TYPES.NATIONAL;
|
|
162
166
|
}
|
|
163
|
-
return US_STATES.find(
|
|
164
|
-
return state.value === area.state_abbreviation.toUpperCase();
|
|
165
|
-
}).display_name;
|
|
167
|
+
return US_STATES.find(state => state.value === area.state_abbreviation.toUpperCase()).display_name;
|
|
166
168
|
};
|
|
167
|
-
|
|
169
|
+
const getMapProps = _ref4 => {
|
|
168
170
|
var _locations$find;
|
|
169
|
-
|
|
170
|
-
locations =
|
|
171
|
-
|
|
172
|
-
|
|
173
|
-
|
|
174
|
-
|
|
175
|
-
})) !== null && _locations$find !== void 0 ? _locations$find : locations[0];
|
|
176
|
-
var servingArea = '';
|
|
171
|
+
let {
|
|
172
|
+
locations = [],
|
|
173
|
+
service_areas = []
|
|
174
|
+
} = _ref4;
|
|
175
|
+
const closestOrFirstLocation = (_locations$find = locations === null || locations === void 0 ? void 0 : locations.find(loc => loc.is_closest)) !== null && _locations$find !== void 0 ? _locations$find : locations[0];
|
|
176
|
+
let servingArea = '';
|
|
177
177
|
if ((service_areas === null || service_areas === void 0 ? void 0 : service_areas.length) > 0) {
|
|
178
178
|
var _service_areas$find;
|
|
179
|
-
|
|
180
|
-
return a.service_area_type !== SERVICE_AREA_TYPES.NATIONAL;
|
|
181
|
-
})) !== null && _service_areas$find !== void 0 ? _service_areas$find : service_areas[0];
|
|
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];
|
|
182
180
|
servingArea = generateServesThisAreaOption(area);
|
|
183
181
|
}
|
|
184
|
-
|
|
185
|
-
latitude
|
|
186
|
-
longitude
|
|
182
|
+
const {
|
|
183
|
+
latitude,
|
|
184
|
+
longitude
|
|
185
|
+
} = closestOrFirstLocation !== null && closestOrFirstLocation !== void 0 ? closestOrFirstLocation : {};
|
|
187
186
|
return {
|
|
188
|
-
latitude
|
|
189
|
-
longitude
|
|
187
|
+
latitude,
|
|
188
|
+
longitude,
|
|
190
189
|
zoom: '15',
|
|
191
|
-
servingArea
|
|
190
|
+
servingArea,
|
|
192
191
|
hasMap: !!latitude && !!longitude
|
|
193
192
|
};
|
|
194
193
|
};
|
|
195
194
|
|
|
196
195
|
// eslint-disable-next-line import/prefer-default-export
|
|
197
|
-
export
|
|
198
|
-
|
|
199
|
-
|
|
200
|
-
|
|
201
|
-
|
|
202
|
-
|
|
203
|
-
|
|
204
|
-
|
|
205
|
-
case 1:
|
|
206
|
-
programProps = _context2.v;
|
|
207
|
-
providerProps = program !== null && program !== void 0 && program.provider ? getProviderProps(program.provider) : {};
|
|
208
|
-
mapProps = getMapProps(program);
|
|
209
|
-
return _context2.a(2, _objectSpread(_objectSpread(_objectSpread({
|
|
210
|
-
id: program.id
|
|
211
|
-
}, programProps), providerProps), mapProps));
|
|
212
|
-
}
|
|
213
|
-
}, _callee2);
|
|
214
|
-
}));
|
|
215
|
-
return function formatForProgramDetail(_x2) {
|
|
216
|
-
return _ref7.apply(this, arguments);
|
|
217
|
-
};
|
|
218
|
-
}();
|
|
196
|
+
export const formatForProgramDetail = async program => {
|
|
197
|
+
const programProps = await getProgramProps(program);
|
|
198
|
+
const providerProps = program !== null && program !== void 0 && program.provider ? getProviderProps(program.provider) : {};
|
|
199
|
+
const mapProps = getMapProps(program);
|
|
200
|
+
return _objectSpread(_objectSpread(_objectSpread({
|
|
201
|
+
id: program.id
|
|
202
|
+
}, programProps), providerProps), mapProps);
|
|
203
|
+
};
|
|
219
204
|
//# sourceMappingURL=formatProgramDetail.js.map
|