@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,53 +1,39 @@
|
|
|
1
|
-
function _toConsumableArray(r) { return _arrayWithoutHoles(r) || _iterableToArray(r) || _unsupportedIterableToArray(r) || _nonIterableSpread(); }
|
|
2
|
-
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."); }
|
|
3
|
-
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; } }
|
|
4
|
-
function _iterableToArray(r) { if ("undefined" != typeof Symbol && null != r[Symbol.iterator] || null != r["@@iterator"]) return Array.from(r); }
|
|
5
|
-
function _arrayWithoutHoles(r) { if (Array.isArray(r)) return _arrayLikeToArray(r); }
|
|
6
|
-
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; }
|
|
7
1
|
import { programsMap } from './mockPrograms';
|
|
8
2
|
import { unlistedProgramsMap } from './mockUnlistedPrograms';
|
|
9
3
|
import { providersMap } from './mockProviders';
|
|
10
4
|
import { servicesMap } from './mockServices';
|
|
11
5
|
import { feeScheduleProgramsMap } from './mockFeeSchedulePrograms';
|
|
12
6
|
import { all, groupBy, compact, uniqBy } from 'lodash';
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
7
|
+
const providers = Array.from(providersMap.values());
|
|
8
|
+
const programs = Array.from(programsMap.values());
|
|
9
|
+
const unlistedPrograms = Array.from(unlistedProgramsMap.values());
|
|
10
|
+
const services = Array.from(servicesMap.values());
|
|
11
|
+
const feeSchedulePrograms = Array.from(feeScheduleProgramsMap.values());
|
|
18
12
|
|
|
19
13
|
// Function to separate programs into those with shared and non-shared networks
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
|
|
14
|
+
const separateProgramsByNetwork = _ref => {
|
|
15
|
+
let {
|
|
16
|
+
singleNetwork
|
|
17
|
+
} = _ref;
|
|
18
|
+
const programsWithSharedNetwork = [];
|
|
19
|
+
const programsWithSingleSharedNetwork = [];
|
|
20
|
+
programs.forEach(program => {
|
|
21
|
+
const providerId = program.relationships.provider.data.id;
|
|
22
|
+
const provider = providers.find(provider => provider.id === providerId);
|
|
29
23
|
if (provider) {
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
});
|
|
33
|
-
var hasSharedNetwork = programs.some(function (otherProgram) {
|
|
24
|
+
const networkIds = provider.relationships.networks.data.map(network => network.id);
|
|
25
|
+
const hasSharedNetwork = programs.some(otherProgram => {
|
|
34
26
|
if (otherProgram.id !== program.id) {
|
|
35
|
-
|
|
36
|
-
|
|
37
|
-
return otherProvider.id === otherProviderId;
|
|
38
|
-
});
|
|
27
|
+
const otherProviderId = otherProgram.relationships.provider.data.id;
|
|
28
|
+
const otherProvider = providers.find(otherProvider => otherProvider.id === otherProviderId);
|
|
39
29
|
if (otherProvider) {
|
|
40
|
-
|
|
41
|
-
|
|
42
|
-
});
|
|
43
|
-
return networkIds.some(function (networkId) {
|
|
44
|
-
return otherNetworkIds.includes(networkId);
|
|
45
|
-
});
|
|
30
|
+
const otherNetworkIds = otherProvider.relationships.networks.data.map(network => network.id);
|
|
31
|
+
return networkIds.some(networkId => otherNetworkIds.includes(networkId));
|
|
46
32
|
}
|
|
47
33
|
}
|
|
48
34
|
return false;
|
|
49
35
|
});
|
|
50
|
-
|
|
36
|
+
const hasSingleSharedNetwork = hasSharedNetwork && provider.relationships.networks.data.length === 1;
|
|
51
37
|
if (singleNetwork && hasSingleSharedNetwork) {
|
|
52
38
|
programsWithSingleSharedNetwork.push(program);
|
|
53
39
|
} else if (hasSharedNetwork) {
|
|
@@ -56,126 +42,115 @@ var separateProgramsByNetwork = function separateProgramsByNetwork(_ref) {
|
|
|
56
42
|
}
|
|
57
43
|
});
|
|
58
44
|
return {
|
|
59
|
-
programsWithSharedNetwork
|
|
60
|
-
programsWithSingleSharedNetwork
|
|
45
|
+
programsWithSharedNetwork,
|
|
46
|
+
programsWithSingleSharedNetwork
|
|
61
47
|
};
|
|
62
48
|
};
|
|
63
|
-
|
|
64
|
-
|
|
65
|
-
receivingProviderIsCC =
|
|
66
|
-
|
|
67
|
-
|
|
68
|
-
|
|
69
|
-
|
|
70
|
-
|
|
71
|
-
|
|
72
|
-
|
|
73
|
-
|
|
74
|
-
|
|
75
|
-
|
|
76
|
-
|
|
77
|
-
|
|
78
|
-
|
|
79
|
-
requiresAuthorization = _ref2$requiresAuthori === void 0 ? false : _ref2$requiresAuthori,
|
|
80
|
-
_ref2$cmCodeRequiredO = _ref2.cmCodeRequiredOnAuthorization,
|
|
81
|
-
cmCodeRequiredOnAuthorization = _ref2$cmCodeRequiredO === void 0 ? false : _ref2$cmCodeRequiredO;
|
|
82
|
-
var sendingProviderType = sendingProviderIsCC ? 'coordination_center' : 'provider';
|
|
83
|
-
var sendingProvider = providers.find(function (provider) {
|
|
84
|
-
return provider.attributes.licensed && provider.attributes.provider_type === sendingProviderType && provider.attributes.sensitive === sendingProviderSensitive;
|
|
85
|
-
});
|
|
86
|
-
return programs.filter(function (program) {
|
|
49
|
+
const filterSingleProgram = _ref2 => {
|
|
50
|
+
let {
|
|
51
|
+
receivingProviderIsCC = false,
|
|
52
|
+
sendingProviderIsCC = false,
|
|
53
|
+
programInCurrentProvider = false,
|
|
54
|
+
sendingProviderSensitive,
|
|
55
|
+
receivingProviderLicensed,
|
|
56
|
+
receivingProviderSensitive = false,
|
|
57
|
+
receivingReferrals = true,
|
|
58
|
+
isFunded = false,
|
|
59
|
+
requiresAuthorization = false,
|
|
60
|
+
cmCodeRequiredOnAuthorization = false
|
|
61
|
+
} = _ref2;
|
|
62
|
+
const sendingProviderType = sendingProviderIsCC ? 'coordination_center' : 'provider';
|
|
63
|
+
const sendingProvider = providers.find(provider => provider.attributes.licensed && provider.attributes.provider_type === sendingProviderType && provider.attributes.sensitive === sendingProviderSensitive);
|
|
64
|
+
return programs.filter(program => {
|
|
87
65
|
var _relationships$fee_sc, _feeSchedulePrograms$, _feeSchedulePrograms$2;
|
|
88
|
-
|
|
89
|
-
|
|
90
|
-
|
|
91
|
-
|
|
92
|
-
|
|
93
|
-
|
|
94
|
-
|
|
95
|
-
|
|
96
|
-
|
|
97
|
-
|
|
98
|
-
|
|
99
|
-
|
|
100
|
-
|
|
101
|
-
|
|
102
|
-
})) === null || _feeSchedulePrograms$ === void 0 || (_feeSchedulePrograms$ = _feeSchedulePrograms$.attributes) === null || _feeSchedulePrograms$ === void 0 ? void 0 : _feeSchedulePrograms$.authorization_required)) === requiresAuthorization;
|
|
103
|
-
var cmCodeRequiredOnAuthorizationMatch = (!!fspId && ((_feeSchedulePrograms$2 = feeSchedulePrograms.find(function (fsp) {
|
|
104
|
-
return fsp.id === fspId;
|
|
105
|
-
})) === null || _feeSchedulePrograms$2 === void 0 || (_feeSchedulePrograms$2 = _feeSchedulePrograms$2.attributes) === null || _feeSchedulePrograms$2 === void 0 ? void 0 : _feeSchedulePrograms$2.cm_code_required_on_authorization)) === cmCodeRequiredOnAuthorization;
|
|
66
|
+
const {
|
|
67
|
+
attributes,
|
|
68
|
+
relationships
|
|
69
|
+
} = program;
|
|
70
|
+
const receivingProvider = providers.find(provider => provider.id === relationships.provider.data.id);
|
|
71
|
+
const inCurrentProviderMatch = programInCurrentProvider ? relationships.provider.data.id === sendingProvider.id : relationships.provider.data.id !== sendingProvider.id;
|
|
72
|
+
const receivingProviderSensitiveMatch = (receivingProvider === null || receivingProvider === void 0 ? void 0 : receivingProvider.attributes.sensitive) === receivingProviderSensitive;
|
|
73
|
+
const receivingProviderInNetworkMatch = (receivingProvider === null || receivingProvider === void 0 ? void 0 : receivingProvider.attributes.licensed) === receivingProviderLicensed;
|
|
74
|
+
const providerIsCCMatch = receivingProviderIsCC ? (receivingProvider === null || receivingProvider === void 0 ? void 0 : receivingProvider.attributes.provider_type) === 'coordination_center' : (receivingProvider === null || receivingProvider === void 0 ? void 0 : receivingProvider.attributes.provider_type) === 'provider';
|
|
75
|
+
const programReceivingReferralsMatch = attributes.receiving_referrals === receivingReferrals;
|
|
76
|
+
const fspId = (_relationships$fee_sc = relationships.fee_schedule_program) === null || _relationships$fee_sc === void 0 || (_relationships$fee_sc = _relationships$fee_sc.data) === null || _relationships$fee_sc === void 0 ? void 0 : _relationships$fee_sc.id;
|
|
77
|
+
const isFundedMatch = !!fspId === isFunded;
|
|
78
|
+
const requiresAuthorizationMatch = (!!fspId && ((_feeSchedulePrograms$ = feeSchedulePrograms.find(fsp => fsp.id === fspId)) === null || _feeSchedulePrograms$ === void 0 || (_feeSchedulePrograms$ = _feeSchedulePrograms$.attributes) === null || _feeSchedulePrograms$ === void 0 ? void 0 : _feeSchedulePrograms$.authorization_required)) === requiresAuthorization;
|
|
79
|
+
const cmCodeRequiredOnAuthorizationMatch = (!!fspId && ((_feeSchedulePrograms$2 = feeSchedulePrograms.find(fsp => fsp.id === fspId)) === null || _feeSchedulePrograms$2 === void 0 || (_feeSchedulePrograms$2 = _feeSchedulePrograms$2.attributes) === null || _feeSchedulePrograms$2 === void 0 ? void 0 : _feeSchedulePrograms$2.cm_code_required_on_authorization)) === cmCodeRequiredOnAuthorization;
|
|
106
80
|
return inCurrentProviderMatch && programReceivingReferralsMatch && receivingProviderInNetworkMatch && receivingProviderSensitiveMatch && providerIsCCMatch && isFundedMatch && requiresAuthorizationMatch && cmCodeRequiredOnAuthorizationMatch;
|
|
107
81
|
});
|
|
108
82
|
};
|
|
109
|
-
|
|
110
|
-
|
|
111
|
-
|
|
112
|
-
|
|
113
|
-
|
|
114
|
-
|
|
115
|
-
|
|
116
|
-
|
|
83
|
+
const getCCOrNonCCPrograms = _ref3 => {
|
|
84
|
+
let {
|
|
85
|
+
filteredPrograms,
|
|
86
|
+
providerType
|
|
87
|
+
} = _ref3;
|
|
88
|
+
return filteredPrograms.filter(program => {
|
|
89
|
+
const providerId = program.relationships.provider.data.id;
|
|
90
|
+
const provider = providers.find(provider => provider.id === providerId);
|
|
117
91
|
return provider.attributes.provider_type === providerType;
|
|
118
92
|
});
|
|
119
93
|
};
|
|
120
|
-
|
|
121
|
-
|
|
122
|
-
|
|
123
|
-
|
|
124
|
-
|
|
125
|
-
|
|
126
|
-
|
|
127
|
-
|
|
128
|
-
|
|
94
|
+
const getLicensedOrUnlicensedPrograms = _ref4 => {
|
|
95
|
+
let {
|
|
96
|
+
filteredPrograms,
|
|
97
|
+
isLicensed,
|
|
98
|
+
licensedProviderIsCC
|
|
99
|
+
} = _ref4;
|
|
100
|
+
return filteredPrograms.filter(program => {
|
|
101
|
+
const providerId = program.relationships.provider.data.id;
|
|
102
|
+
const provider = providers.find(provider => provider.id === providerId);
|
|
129
103
|
return provider.attributes.licensed === isLicensed && (licensedProviderIsCC ? provider.attributes.provider_type === 'coordination_center' : true);
|
|
130
104
|
});
|
|
131
105
|
};
|
|
132
|
-
|
|
133
|
-
|
|
134
|
-
|
|
135
|
-
|
|
136
|
-
|
|
137
|
-
|
|
138
|
-
|
|
139
|
-
|
|
140
|
-
|
|
141
|
-
|
|
106
|
+
const getSensitiveAndNonSensitivePrograms = _ref5 => {
|
|
107
|
+
let {
|
|
108
|
+
filteredPrograms,
|
|
109
|
+
sensitiveProviderCount,
|
|
110
|
+
programCount,
|
|
111
|
+
sensitiveReceivingReferrals
|
|
112
|
+
} = _ref5;
|
|
113
|
+
const sensitivePrograms = filteredPrograms.filter(program => {
|
|
114
|
+
const providerId = program.relationships.provider.data.id;
|
|
115
|
+
const provider = providers.find(provider => provider.id === providerId);
|
|
142
116
|
return provider.attributes.sensitive && (sensitiveReceivingReferrals ? program.attributes.receiving_referrals === sensitiveReceivingReferrals : true);
|
|
143
117
|
}).slice(0, sensitiveProviderCount);
|
|
144
|
-
|
|
145
|
-
|
|
146
|
-
|
|
147
|
-
return provider.id === providerId;
|
|
148
|
-
});
|
|
118
|
+
const nonSensitivePrograms = filteredPrograms.filter(program => {
|
|
119
|
+
const providerId = program.relationships.provider.data.id;
|
|
120
|
+
const provider = providers.find(provider => provider.id === providerId);
|
|
149
121
|
return !provider.attributes.sensitive;
|
|
150
122
|
}).slice(0, programCount - sensitiveProviderCount);
|
|
151
|
-
return [
|
|
123
|
+
return [...nonSensitivePrograms, ...sensitivePrograms];
|
|
152
124
|
};
|
|
153
|
-
|
|
154
|
-
|
|
155
|
-
|
|
156
|
-
|
|
157
|
-
|
|
158
|
-
|
|
159
|
-
|
|
160
|
-
|
|
161
|
-
|
|
162
|
-
|
|
163
|
-
|
|
164
|
-
|
|
165
|
-
|
|
166
|
-
|
|
167
|
-
|
|
168
|
-
|
|
169
|
-
|
|
170
|
-
|
|
171
|
-
|
|
172
|
-
|
|
173
|
-
|
|
174
|
-
programsWithSharedNetwork
|
|
175
|
-
programsWithSingleSharedNetwork
|
|
125
|
+
const filterGroupedPrograms = _ref6 => {
|
|
126
|
+
let {
|
|
127
|
+
receivingProviderIsCC,
|
|
128
|
+
licensedProviderIsCC,
|
|
129
|
+
receivingProviderLicensed,
|
|
130
|
+
licensedAndUnlicensedReceivingProviders,
|
|
131
|
+
sensitiveAndNonSensitiveReceivingProvider,
|
|
132
|
+
sensitiveProviderCount,
|
|
133
|
+
programCount,
|
|
134
|
+
receivingProviderSensitive,
|
|
135
|
+
receivingReferrals,
|
|
136
|
+
sensitiveReceivingReferrals,
|
|
137
|
+
onAndOffPlatformPrograms,
|
|
138
|
+
ccAndNonCCPrograms,
|
|
139
|
+
programsInSameNetwork,
|
|
140
|
+
singleNetwork,
|
|
141
|
+
programsInSameProvider,
|
|
142
|
+
isFunded,
|
|
143
|
+
requiresAuthorization
|
|
144
|
+
} = _ref6;
|
|
145
|
+
const {
|
|
146
|
+
programsWithSharedNetwork,
|
|
147
|
+
programsWithSingleSharedNetwork
|
|
148
|
+
} = separateProgramsByNetwork({
|
|
149
|
+
singleNetwork
|
|
150
|
+
});
|
|
176
151
|
|
|
177
152
|
// Filter programs based on whether they match the criteria
|
|
178
|
-
|
|
153
|
+
let networkMatch = [];
|
|
179
154
|
if (programsInSameNetwork && singleNetwork) {
|
|
180
155
|
networkMatch = programsWithSingleSharedNetwork;
|
|
181
156
|
} else if (programsInSameNetwork) {
|
|
@@ -183,84 +158,72 @@ var filterGroupedPrograms = function filterGroupedPrograms(_ref6) {
|
|
|
183
158
|
} else {
|
|
184
159
|
networkMatch = programs;
|
|
185
160
|
}
|
|
186
|
-
|
|
187
|
-
|
|
188
|
-
return programs.length > 1;
|
|
189
|
-
}).flat() : programsGroupedByProviderId.flat();
|
|
161
|
+
const programsGroupedByProviderId = Object.values(groupBy(networkMatch, 'relationships.provider.data.id'));
|
|
162
|
+
const providerMatch = programsInSameProvider ? programsGroupedByProviderId.filter(programs => programs.length > 1).flat() : programsGroupedByProviderId.flat();
|
|
190
163
|
|
|
191
164
|
// Filter programs based on receiving provider criteria
|
|
192
|
-
|
|
193
|
-
|
|
194
|
-
|
|
195
|
-
|
|
196
|
-
|
|
197
|
-
|
|
198
|
-
var providerIsCCMatch = receivingProviderIsCC ? provider.attributes.provider_type === 'coordination_center' : provider.attributes.provider_type === 'provider';
|
|
199
|
-
var providerIsSensitiveMatch = provider.attributes.sensitive === receivingProviderSensitive;
|
|
165
|
+
const receivingProviderMatch = providerMatch.filter(program => {
|
|
166
|
+
const providerId = program.relationships.provider.data.id;
|
|
167
|
+
const provider = providers.find(provider => provider.id === providerId);
|
|
168
|
+
const providerInNetworkMatch = receivingProviderLicensed ? provider.attributes.licensed : !provider.attributes.licensed;
|
|
169
|
+
const providerIsCCMatch = receivingProviderIsCC ? provider.attributes.provider_type === 'coordination_center' : provider.attributes.provider_type === 'provider';
|
|
170
|
+
const providerIsSensitiveMatch = provider.attributes.sensitive === receivingProviderSensitive;
|
|
200
171
|
return (licensedAndUnlicensedReceivingProviders ? true : providerInNetworkMatch) && (sensitiveAndNonSensitiveReceivingProvider ? true : providerIsSensitiveMatch) && (ccAndNonCCPrograms ? true : providerIsCCMatch);
|
|
201
172
|
});
|
|
202
|
-
|
|
173
|
+
let filteredPrograms = receivingProviderMatch;
|
|
203
174
|
|
|
204
175
|
// Filter programs based on criteria
|
|
205
176
|
if (!onAndOffPlatformPrograms) {
|
|
206
|
-
filteredPrograms = filteredPrograms.filter(
|
|
207
|
-
return program.attributes.receiving_referrals === receivingReferrals;
|
|
208
|
-
});
|
|
177
|
+
filteredPrograms = filteredPrograms.filter(program => program.attributes.receiving_referrals === receivingReferrals);
|
|
209
178
|
}
|
|
210
179
|
if (!programsInSameProvider) {
|
|
211
180
|
filteredPrograms = uniqBy(filteredPrograms, 'relationships.provider.data.id');
|
|
212
181
|
}
|
|
213
|
-
filteredPrograms = filteredPrograms.filter(
|
|
182
|
+
filteredPrograms = filteredPrograms.filter(program => {
|
|
214
183
|
var _program$relationship;
|
|
215
|
-
|
|
184
|
+
const fspId = (_program$relationship = program.relationships.fee_schedule_program) === null || _program$relationship === void 0 || (_program$relationship = _program$relationship.data) === null || _program$relationship === void 0 ? void 0 : _program$relationship.id;
|
|
216
185
|
return isFunded ? !!fspId : !fspId;
|
|
217
186
|
});
|
|
218
|
-
filteredPrograms = filteredPrograms.filter(
|
|
187
|
+
filteredPrograms = filteredPrograms.filter(program => {
|
|
219
188
|
var _program$relationship2, _fsp$attributes;
|
|
220
|
-
|
|
221
|
-
|
|
222
|
-
return fsp.id === fspId;
|
|
223
|
-
});
|
|
189
|
+
const fspId = (_program$relationship2 = program.relationships.fee_schedule_program) === null || _program$relationship2 === void 0 || (_program$relationship2 = _program$relationship2.data) === null || _program$relationship2 === void 0 ? void 0 : _program$relationship2.id;
|
|
190
|
+
const fsp = feeSchedulePrograms.find(fsp => fsp.id === fspId);
|
|
224
191
|
return requiresAuthorization === !!(fsp !== null && fsp !== void 0 && (_fsp$attributes = fsp.attributes) !== null && _fsp$attributes !== void 0 && _fsp$attributes.authorization_required);
|
|
225
192
|
});
|
|
226
193
|
if (onAndOffPlatformPrograms) {
|
|
227
|
-
|
|
228
|
-
|
|
229
|
-
|
|
230
|
-
var offPlatform = filteredPrograms.filter(function (program) {
|
|
231
|
-
return !program.attributes.receiving_referrals;
|
|
232
|
-
});
|
|
233
|
-
filteredPrograms = compact([].concat(_toConsumableArray(onPlatform), _toConsumableArray(offPlatform)));
|
|
194
|
+
const onPlatform = filteredPrograms.filter(program => program.attributes.receiving_referrals);
|
|
195
|
+
const offPlatform = filteredPrograms.filter(program => !program.attributes.receiving_referrals);
|
|
196
|
+
filteredPrograms = compact([...onPlatform, ...offPlatform]);
|
|
234
197
|
}
|
|
235
198
|
if (ccAndNonCCPrograms) {
|
|
236
|
-
|
|
237
|
-
filteredPrograms
|
|
199
|
+
const ccPrograms = getCCOrNonCCPrograms({
|
|
200
|
+
filteredPrograms,
|
|
238
201
|
providerType: 'coordination_center'
|
|
239
202
|
});
|
|
240
|
-
|
|
241
|
-
filteredPrograms
|
|
203
|
+
const nonCCPrograms = getCCOrNonCCPrograms({
|
|
204
|
+
filteredPrograms,
|
|
242
205
|
providerType: 'provider'
|
|
243
206
|
});
|
|
244
|
-
filteredPrograms = compact([
|
|
207
|
+
filteredPrograms = compact([...ccPrograms, ...nonCCPrograms]);
|
|
245
208
|
}
|
|
246
209
|
if (licensedAndUnlicensedReceivingProviders) {
|
|
247
|
-
|
|
248
|
-
filteredPrograms
|
|
210
|
+
const licensedPrograms = getLicensedOrUnlicensedPrograms({
|
|
211
|
+
filteredPrograms,
|
|
249
212
|
isLicensed: true,
|
|
250
|
-
licensedProviderIsCC
|
|
213
|
+
licensedProviderIsCC
|
|
251
214
|
});
|
|
252
|
-
|
|
253
|
-
filteredPrograms
|
|
215
|
+
const unlicensedPrograms = getLicensedOrUnlicensedPrograms({
|
|
216
|
+
filteredPrograms,
|
|
254
217
|
isLicensed: false
|
|
255
218
|
});
|
|
256
|
-
filteredPrograms = compact([
|
|
219
|
+
filteredPrograms = compact([...licensedPrograms, ...unlicensedPrograms]);
|
|
257
220
|
}
|
|
258
221
|
if (sensitiveAndNonSensitiveReceivingProvider) {
|
|
259
|
-
|
|
260
|
-
filteredPrograms
|
|
261
|
-
sensitiveReceivingReferrals
|
|
262
|
-
sensitiveProviderCount
|
|
263
|
-
programCount
|
|
222
|
+
const sensitiveAndNonSensitivePrograms = getSensitiveAndNonSensitivePrograms({
|
|
223
|
+
filteredPrograms,
|
|
224
|
+
sensitiveReceivingReferrals,
|
|
225
|
+
sensitiveProviderCount,
|
|
226
|
+
programCount
|
|
264
227
|
});
|
|
265
228
|
filteredPrograms = sensitiveAndNonSensitivePrograms;
|
|
266
229
|
}
|
|
@@ -268,88 +231,67 @@ var filterGroupedPrograms = function filterGroupedPrograms(_ref6) {
|
|
|
268
231
|
};
|
|
269
232
|
|
|
270
233
|
// Function to filter and select programs based on criteria
|
|
271
|
-
|
|
272
|
-
|
|
273
|
-
sendingProviderIsCC =
|
|
274
|
-
|
|
275
|
-
|
|
276
|
-
|
|
277
|
-
|
|
278
|
-
|
|
279
|
-
|
|
280
|
-
|
|
281
|
-
|
|
282
|
-
|
|
283
|
-
|
|
284
|
-
|
|
285
|
-
|
|
286
|
-
|
|
287
|
-
|
|
288
|
-
|
|
289
|
-
|
|
290
|
-
|
|
291
|
-
|
|
292
|
-
|
|
293
|
-
|
|
294
|
-
|
|
295
|
-
|
|
296
|
-
|
|
297
|
-
|
|
298
|
-
programsInSameNetwork = _ref7$programsInSameN === void 0 ? false : _ref7$programsInSameN,
|
|
299
|
-
_ref7$singleNetwork = _ref7.singleNetwork,
|
|
300
|
-
singleNetwork = _ref7$singleNetwork === void 0 ? false : _ref7$singleNetwork,
|
|
301
|
-
_ref7$programsInSameP = _ref7.programsInSameProvider,
|
|
302
|
-
programsInSameProvider = _ref7$programsInSameP === void 0 ? false : _ref7$programsInSameP,
|
|
303
|
-
_ref7$isGrouped = _ref7.isGrouped,
|
|
304
|
-
isGrouped = _ref7$isGrouped === void 0 ? false : _ref7$isGrouped,
|
|
305
|
-
_ref7$isFunded = _ref7.isFunded,
|
|
306
|
-
isFunded = _ref7$isFunded === void 0 ? false : _ref7$isFunded,
|
|
307
|
-
_ref7$requiresAuthori = _ref7.requiresAuthorization,
|
|
308
|
-
requiresAuthorization = _ref7$requiresAuthori === void 0 ? false : _ref7$requiresAuthori,
|
|
309
|
-
_ref7$sensitiveProvid = _ref7.sensitiveProviderCount,
|
|
310
|
-
sensitiveProviderCount = _ref7$sensitiveProvid === void 0 ? 1 : _ref7$sensitiveProvid,
|
|
311
|
-
_ref7$programCount = _ref7.programCount,
|
|
312
|
-
programCount = _ref7$programCount === void 0 ? isGrouped ? 2 : 1 : _ref7$programCount,
|
|
313
|
-
_ref7$sensitiveServic = _ref7.sensitiveService,
|
|
314
|
-
sensitiveService = _ref7$sensitiveServic === void 0 ? false : _ref7$sensitiveServic,
|
|
315
|
-
_ref7$serviceCount = _ref7.serviceCount,
|
|
316
|
-
serviceCount = _ref7$serviceCount === void 0 ? 1 : _ref7$serviceCount,
|
|
317
|
-
_ref7$cmCodeRequiredO = _ref7.cmCodeRequiredOnAuthorization,
|
|
318
|
-
cmCodeRequiredOnAuthorization = _ref7$cmCodeRequiredO === void 0 ? false : _ref7$cmCodeRequiredO;
|
|
234
|
+
const filterAndSelectPrograms = _ref7 => {
|
|
235
|
+
let {
|
|
236
|
+
sendingProviderIsCC = false,
|
|
237
|
+
sendingProviderSensitive = false,
|
|
238
|
+
receivingProviderIsCC = false,
|
|
239
|
+
licensedProviderIsCC = false,
|
|
240
|
+
programInCurrentProvider = false,
|
|
241
|
+
receivingProviderLicensed = true,
|
|
242
|
+
licensedAndUnlicensedReceivingProviders = false,
|
|
243
|
+
receivingProviderSensitive = false,
|
|
244
|
+
sensitiveAndNonSensitiveReceivingProvider = false,
|
|
245
|
+
receivingReferrals = true,
|
|
246
|
+
sensitiveReceivingReferrals,
|
|
247
|
+
onAndOffPlatformPrograms = false,
|
|
248
|
+
ccAndNonCCPrograms = false,
|
|
249
|
+
programsInSameNetwork = false,
|
|
250
|
+
singleNetwork = false,
|
|
251
|
+
programsInSameProvider = false,
|
|
252
|
+
isGrouped = false,
|
|
253
|
+
isFunded = false,
|
|
254
|
+
requiresAuthorization = false,
|
|
255
|
+
sensitiveProviderCount = 1,
|
|
256
|
+
programCount = isGrouped ? 2 : 1,
|
|
257
|
+
sensitiveService = false,
|
|
258
|
+
serviceCount = 1,
|
|
259
|
+
cmCodeRequiredOnAuthorization = false
|
|
260
|
+
} = _ref7;
|
|
319
261
|
// Get the current provider based on criteria
|
|
320
|
-
|
|
262
|
+
let filteredPrograms;
|
|
321
263
|
if (isGrouped) {
|
|
322
264
|
filteredPrograms = filterGroupedPrograms({
|
|
323
|
-
receivingProviderIsCC
|
|
324
|
-
receivingProviderLicensed
|
|
325
|
-
licensedProviderIsCC
|
|
326
|
-
licensedAndUnlicensedReceivingProviders
|
|
327
|
-
sensitiveAndNonSensitiveReceivingProvider
|
|
328
|
-
sensitiveProviderCount
|
|
329
|
-
programCount
|
|
330
|
-
receivingProviderSensitive
|
|
331
|
-
receivingReferrals
|
|
332
|
-
sensitiveReceivingReferrals
|
|
333
|
-
onAndOffPlatformPrograms
|
|
334
|
-
ccAndNonCCPrograms
|
|
335
|
-
programsInSameNetwork
|
|
336
|
-
singleNetwork
|
|
337
|
-
programsInSameProvider
|
|
338
|
-
isFunded
|
|
339
|
-
requiresAuthorization
|
|
265
|
+
receivingProviderIsCC,
|
|
266
|
+
receivingProviderLicensed,
|
|
267
|
+
licensedProviderIsCC,
|
|
268
|
+
licensedAndUnlicensedReceivingProviders,
|
|
269
|
+
sensitiveAndNonSensitiveReceivingProvider,
|
|
270
|
+
sensitiveProviderCount,
|
|
271
|
+
programCount,
|
|
272
|
+
receivingProviderSensitive,
|
|
273
|
+
receivingReferrals,
|
|
274
|
+
sensitiveReceivingReferrals,
|
|
275
|
+
onAndOffPlatformPrograms,
|
|
276
|
+
ccAndNonCCPrograms,
|
|
277
|
+
programsInSameNetwork,
|
|
278
|
+
singleNetwork,
|
|
279
|
+
programsInSameProvider,
|
|
280
|
+
isFunded,
|
|
281
|
+
requiresAuthorization
|
|
340
282
|
});
|
|
341
283
|
} else {
|
|
342
284
|
filteredPrograms = filterSingleProgram({
|
|
343
|
-
receivingProviderIsCC
|
|
344
|
-
sendingProviderIsCC
|
|
345
|
-
sendingProviderSensitive
|
|
346
|
-
programInCurrentProvider
|
|
347
|
-
receivingProviderLicensed
|
|
348
|
-
receivingProviderSensitive
|
|
349
|
-
receivingReferrals
|
|
350
|
-
isFunded
|
|
351
|
-
requiresAuthorization
|
|
352
|
-
cmCodeRequiredOnAuthorization
|
|
285
|
+
receivingProviderIsCC,
|
|
286
|
+
sendingProviderIsCC,
|
|
287
|
+
sendingProviderSensitive,
|
|
288
|
+
programInCurrentProvider,
|
|
289
|
+
receivingProviderLicensed,
|
|
290
|
+
receivingProviderSensitive,
|
|
291
|
+
receivingReferrals,
|
|
292
|
+
isFunded,
|
|
293
|
+
requiresAuthorization,
|
|
294
|
+
cmCodeRequiredOnAuthorization
|
|
353
295
|
});
|
|
354
296
|
}
|
|
355
297
|
// Select programs and services
|
|
@@ -357,33 +299,27 @@ var filterAndSelectPrograms = function filterAndSelectPrograms(_ref7) {
|
|
|
357
299
|
};
|
|
358
300
|
|
|
359
301
|
// Group all unlisted programs by service, filter by program count and filter by results amount
|
|
360
|
-
|
|
302
|
+
const filterAndSelectUnlistedPrograms = _ref8 => {
|
|
361
303
|
var _groupedUnlistedProgr;
|
|
362
|
-
|
|
363
|
-
programCount =
|
|
364
|
-
|
|
365
|
-
|
|
366
|
-
|
|
367
|
-
|
|
368
|
-
return group.length === programCount;
|
|
369
|
-
})) === null || _groupedUnlistedProgr === void 0 || (_groupedUnlistedProgr = _groupedUnlistedProgr.slice(0, results)) === null || _groupedUnlistedProgr === void 0 ? void 0 : _groupedUnlistedProgr.flat();
|
|
304
|
+
let {
|
|
305
|
+
programCount = 1,
|
|
306
|
+
results = 1
|
|
307
|
+
} = _ref8;
|
|
308
|
+
const groupedUnlistedProgramsByService = Object.values(groupBy(unlistedPrograms, 'services[0]'));
|
|
309
|
+
let selectedUnlistedPrograms = (_groupedUnlistedProgr = groupedUnlistedProgramsByService.filter(group => group.length === programCount)) === null || _groupedUnlistedProgr === void 0 || (_groupedUnlistedProgr = _groupedUnlistedProgr.slice(0, results)) === null || _groupedUnlistedProgr === void 0 ? void 0 : _groupedUnlistedProgr.flat();
|
|
370
310
|
return selectedUnlistedPrograms;
|
|
371
311
|
};
|
|
372
312
|
|
|
373
313
|
// Function to select programs and services
|
|
374
|
-
|
|
375
|
-
|
|
376
|
-
|
|
377
|
-
|
|
378
|
-
|
|
379
|
-
|
|
380
|
-
|
|
381
|
-
|
|
382
|
-
|
|
383
|
-
}).includes(s.id);
|
|
384
|
-
}).slice(0, serviceCount).map(function (s) {
|
|
385
|
-
return s.id;
|
|
386
|
-
});
|
|
314
|
+
const selectPrograms = (filteredPrograms, serviceCount, programCount, sensitiveService) => {
|
|
315
|
+
const filteredServices = services.filter(s => s.attributes.sensitive === sensitiveService);
|
|
316
|
+
const selectedPrograms = filteredPrograms.slice(0, programCount).map(program => {
|
|
317
|
+
const programServices = filteredServices.filter(s => program.relationships.services.data.map(_ref9 => {
|
|
318
|
+
let {
|
|
319
|
+
id
|
|
320
|
+
} = _ref9;
|
|
321
|
+
return id;
|
|
322
|
+
}).includes(s.id)).slice(0, serviceCount).map(s => s.id);
|
|
387
323
|
return {
|
|
388
324
|
id: program.id,
|
|
389
325
|
services: programServices
|
|
@@ -391,10 +327,10 @@ var selectPrograms = function selectPrograms(filteredPrograms, serviceCount, pro
|
|
|
391
327
|
});
|
|
392
328
|
return selectedPrograms;
|
|
393
329
|
};
|
|
394
|
-
export
|
|
330
|
+
export const getSelectedPrograms = options => {
|
|
395
331
|
return filterAndSelectPrograms(options);
|
|
396
332
|
};
|
|
397
|
-
export
|
|
333
|
+
export const getSelectedUnlistedPrograms = options => {
|
|
398
334
|
return filterAndSelectUnlistedPrograms(options);
|
|
399
335
|
};
|
|
400
336
|
//# sourceMappingURL=utils.js.map
|