@unite-us/app-create-referral 0.15.56 → 0.15.58-alpha.1
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 -71
- 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 -41
- package/dist/actions/Document/Contact/Group/fetchCaseDocuments.js.map +1 -1
- package/dist/actions/Document/Contact/Group/fetchContactDocuments.js +10 -41
- 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 -97
- 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 -169
- package/dist/actions/Referral/fetchCoreServices.js.map +1 -1
- package/dist/actions/Referral/fetchNetworks.js +11 -44
- package/dist/actions/Referral/fetchNetworks.js.map +1 -1
- package/dist/actions/Referral/fetchPrimaryWorkers.js +51 -84
- 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 -139
- 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 -194
- 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 -560
- package/dist/hooks/__tests__/useCreateReferrals.test.js.map +1 -1
- package/dist/hooks/sendReferral.js +155 -339
- 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 -722
- package/dist/hooks/useCreateReferrals.js.map +1 -1
- package/dist/hooks/useCreateResourceList.js +56 -76
- package/dist/hooks/useCreateResourceList.js.map +1 -1
- package/dist/hooks/useCreateShareEvent.js +18 -42
- package/dist/hooks/useCreateShareEvent.js.map +1 -1
- package/dist/hooks/useForwardReferral.js +78 -118
- package/dist/hooks/useForwardReferral.js.map +1 -1
- package/dist/hooks/usePerson.js +21 -49
- 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 -443
- package/dist/pages/builder/ReferralBuilder.js.map +1 -1
- package/dist/pages/builder/ReferralBuilderForm.js +323 -392
- 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 -160
- 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 -246
- package/dist/pages/builder/__tests__/AuthRequiredClinicalCodes.test.js.map +1 -1
- package/dist/pages/builder/__tests__/AuthRequiredNonFundedPrograms.test.js +48 -86
- package/dist/pages/builder/__tests__/AuthRequiredNonFundedPrograms.test.js.map +1 -1
- package/dist/pages/builder/__tests__/AuthorizationRequiredPrograms.test.js +74 -133
- package/dist/pages/builder/__tests__/AuthorizationRequiredPrograms.test.js.map +1 -1
- package/dist/pages/builder/__tests__/NonSensitiveGroupedPrograms.test.js +674 -1269
- package/dist/pages/builder/__tests__/NonSensitiveGroupedPrograms.test.js.map +1 -1
- package/dist/pages/builder/__tests__/NonSensitiveSingleProgram.test.js +305 -575
- package/dist/pages/builder/__tests__/NonSensitiveSingleProgram.test.js.map +1 -1
- package/dist/pages/builder/__tests__/ReferralBuilder.test.js +14 -45
- package/dist/pages/builder/__tests__/ReferralBuilder.test.js.map +1 -1
- package/dist/pages/builder/__tests__/SensitiveProviderGroupedPrograms.test.js +407 -815
- package/dist/pages/builder/__tests__/SensitiveProviderGroupedPrograms.test.js.map +1 -1
- package/dist/pages/builder/__tests__/SensitiveServiceGroupedPrograms.test.js +139 -254
- package/dist/pages/builder/__tests__/SensitiveServiceGroupedPrograms.test.js.map +1 -1
- package/dist/pages/builder/__tests__/SensitiveServiceSensitiveProviderGroupedPrograms.test.js +262 -518
- package/dist/pages/builder/__tests__/SensitiveServiceSensitiveProviderGroupedPrograms.test.js.map +1 -1
- package/dist/pages/builder/__tests__/SensitiveSingleProgram.test.js +273 -504
- 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 -180
- package/dist/pages/builder/formatProgramDetail.js.map +1 -1
- package/dist/pages/builder/useBuildReferrals.js +95 -163
- 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 -239
- package/dist/pages/review/ReferralsSent.js.map +1 -1
- package/dist/pages/review/Review.js +451 -554
- package/dist/pages/review/Review.js.map +1 -1
- package/dist/pages/review/__tests__/CallbackNotifications.test.js +46 -66
- package/dist/pages/review/__tests__/CallbackNotifications.test.js.map +1 -1
- package/dist/pages/review/__tests__/ReferralsSent.test.js +189 -349
- package/dist/pages/review/__tests__/ReferralsSent.test.js.map +1 -1
- package/dist/pages/review/__tests__/Review.test.js +380 -599
- 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 -168
- package/dist/pages/supporting-info/SupportingInfo.js.map +1 -1
- package/dist/pages/supporting-info/__tests__/SupportingInfo.test.js +85 -164
- 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 +64 -34
- 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,30 +1,6 @@
|
|
|
1
|
-
|
|
2
|
-
function _slicedToArray(r, e) { return _arrayWithHoles(r) || _iterableToArrayLimit(r, e) || _unsupportedIterableToArray(r, e) || _nonIterableRest(); }
|
|
3
|
-
function _nonIterableRest() { throw new TypeError("Invalid attempt to destructure non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method."); }
|
|
4
|
-
function _iterableToArrayLimit(r, l) { var t = null == r ? null : "undefined" != typeof Symbol && r[Symbol.iterator] || r["@@iterator"]; if (null != t) { var e, n, i, u, a = [], f = !0, o = !1; try { if (i = (t = t.call(r)).next, 0 === l) { if (Object(t) !== t) return; f = !1; } else for (; !(f = (e = i.call(t)).done) && (a.push(e.value), a.length !== l); f = !0); } catch (r) { o = !0, n = r; } finally { try { if (!f && null != t.return && (u = t.return(), Object(u) !== u)) return; } finally { if (o) throw n; } } return a; } }
|
|
5
|
-
function _arrayWithHoles(r) { if (Array.isArray(r)) return r; }
|
|
6
|
-
function _regeneratorRuntime() { "use strict"; var r = _regenerator(), e = r.m(_regeneratorRuntime), t = (Object.getPrototypeOf ? Object.getPrototypeOf(e) : e.__proto__).constructor; function n(r) { var e = "function" == typeof r && r.constructor; return !!e && (e === t || "GeneratorFunction" === (e.displayName || e.name)); } var o = { throw: 1, return: 2, break: 3, continue: 3 }; function a(r) { var e, t; return function (n) { e || (e = { stop: function stop() { return t(n.a, 2); }, catch: function _catch() { return n.v; }, abrupt: function abrupt(r, e) { return t(n.a, o[r], e); }, delegateYield: function delegateYield(r, o, a) { return e.resultName = o, t(n.d, _regeneratorValues(r), a); }, finish: function finish(r) { return t(n.f, r); } }, t = function t(r, _t, o) { n.p = e.prev, n.n = e.next; try { return r(_t, o); } finally { e.next = n.n; } }), e.resultName && (e[e.resultName] = n.v, e.resultName = void 0), e.sent = n.v, e.next = n.n; try { return r.call(this, e); } finally { n.p = e.prev, n.n = e.next; } }; } return (_regeneratorRuntime = function _regeneratorRuntime() { return { wrap: function wrap(e, t, n, o) { return r.w(a(e), t, n, o && o.reverse()); }, isGeneratorFunction: n, mark: r.m, awrap: function awrap(r, e) { return new _OverloadYield(r, e); }, AsyncIterator: _regeneratorAsyncIterator, async: function async(r, e, t, o, u) { return (n(e) ? _regeneratorAsyncGen : _regeneratorAsync)(a(r), e, t, o, u); }, keys: _regeneratorKeys, values: _regeneratorValues }; })(); }
|
|
7
|
-
function _regeneratorValues(e) { if (null != e) { var t = e["function" == typeof Symbol && Symbol.iterator || "@@iterator"], r = 0; if (t) return t.call(e); if ("function" == typeof e.next) return e; if (!isNaN(e.length)) return { next: function next() { return e && r >= e.length && (e = void 0), { value: e && e[r++], done: !e }; } }; } throw new TypeError(_typeof(e) + " is not iterable"); }
|
|
8
|
-
function _regeneratorKeys(e) { var n = Object(e), r = []; for (var t in n) r.unshift(t); return function e() { for (; r.length;) if ((t = r.pop()) in n) return e.value = t, e.done = !1, e; return e.done = !0, e; }; }
|
|
9
|
-
function _regeneratorAsync(n, e, r, t, o) { var a = _regeneratorAsyncGen(n, e, r, t, o); return a.next().then(function (n) { return n.done ? n.value : a.next(); }); }
|
|
10
|
-
function _regeneratorAsyncGen(r, e, t, o, n) { return new _regeneratorAsyncIterator(_regenerator().w(r, e, t, o), n || Promise); }
|
|
11
|
-
function _regeneratorAsyncIterator(t, e) { function n(r, o, i, f) { try { var c = t[r](o), u = c.value; return u instanceof _OverloadYield ? e.resolve(u.v).then(function (t) { n("next", t, i, f); }, function (t) { n("throw", t, i, f); }) : e.resolve(u).then(function (t) { c.value = t, i(c); }, function (t) { return n("throw", t, i, f); }); } catch (t) { f(t); } } var r; this.next || (_regeneratorDefine2(_regeneratorAsyncIterator.prototype), _regeneratorDefine2(_regeneratorAsyncIterator.prototype, "function" == typeof Symbol && Symbol.asyncIterator || "@asyncIterator", function () { return this; })), _regeneratorDefine2(this, "_invoke", function (t, o, i) { function f() { return new e(function (e, r) { n(t, i, e, r); }); } return r = r ? r.then(f, f) : f(); }, !0); }
|
|
12
|
-
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) && (c = i[4] || 3, u = i[5] === e ? i[3] : i[5], i[4] = 3, 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 }; })(); }
|
|
13
|
-
function _regeneratorDefine2(e, r, n, t) { var i = Object.defineProperty; try { i({}, "", {}); } catch (e) { i = 0; } _regeneratorDefine2 = function _regeneratorDefine(e, r, n, t) { if (r) i ? i(e, r, { value: n, enumerable: !t, configurable: !t, writable: !t }) : e[r] = n;else { var o = function o(r, n) { _regeneratorDefine2(e, r, function (e) { return this._invoke(r, n, e); }); }; o("next", 0), o("throw", 1), o("return", 2); } }, _regeneratorDefine2(e, r, n, t); }
|
|
14
|
-
function _OverloadYield(e, d) { this.v = e, this.k = d; }
|
|
1
|
+
import _defineProperty from "@babel/runtime/helpers/defineProperty";
|
|
15
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; }
|
|
16
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; }
|
|
17
|
-
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; }
|
|
18
|
-
function _toPropertyKey(t) { var i = _toPrimitive(t, "string"); return "symbol" == _typeof(i) ? i : i + ""; }
|
|
19
|
-
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); }
|
|
20
|
-
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); }
|
|
21
|
-
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); }); }; }
|
|
22
|
-
function _toConsumableArray(r) { return _arrayWithoutHoles(r) || _iterableToArray(r) || _unsupportedIterableToArray(r) || _nonIterableSpread(); }
|
|
23
|
-
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."); }
|
|
24
|
-
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; } }
|
|
25
|
-
function _iterableToArray(r) { if ("undefined" != typeof Symbol && null != r[Symbol.iterator] || null != r["@@iterator"]) return Array.from(r); }
|
|
26
|
-
function _arrayWithoutHoles(r) { if (Array.isArray(r)) return _arrayLikeToArray(r); }
|
|
27
|
-
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; }
|
|
28
4
|
import { get, map, isEmpty } from 'lodash';
|
|
29
5
|
import moment from 'moment';
|
|
30
6
|
import fspUtils from '@unite-us/client-utils/dist/utils/feeSchedulePrograms';
|
|
@@ -35,8 +11,8 @@ import { useAppCreateReferralContext } from '../context/AppCreateReferralProvide
|
|
|
35
11
|
import { useFeatureFlag } from '../utils/useFeatureFlag';
|
|
36
12
|
import referralToConsent from '../utils/referralToConsent';
|
|
37
13
|
import { formatShortDate2FromTimestamp } from '../components/service_authorization/formatShortDate';
|
|
38
|
-
|
|
39
|
-
|
|
14
|
+
const validateRequiredValues = (type, values) => {
|
|
15
|
+
let requiredFields = [];
|
|
40
16
|
if (type === 'case') {
|
|
41
17
|
requiredFields = ['description', 'service', 'provider', 'network', 'person'];
|
|
42
18
|
} else if (type === 'note') {
|
|
@@ -44,85 +20,81 @@ var validateRequiredValues = function validateRequiredValues(type, values) {
|
|
|
44
20
|
} else if (type === 'referral') {
|
|
45
21
|
requiredFields = ['case', 'receiving_program', 'receiving_provider', 'receiving_network', 'sending_provider', 'sending_network'];
|
|
46
22
|
}
|
|
47
|
-
return requiredFields.filter(
|
|
48
|
-
return !values[field];
|
|
49
|
-
});
|
|
23
|
+
return requiredFields.filter(field => !values[field]);
|
|
50
24
|
};
|
|
51
25
|
export default function useCreateReferrals() {
|
|
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
|
-
|
|
26
|
+
const {
|
|
27
|
+
state: {
|
|
28
|
+
currentEmployee,
|
|
29
|
+
formResponses,
|
|
30
|
+
person,
|
|
31
|
+
referrals,
|
|
32
|
+
formSubmissionId,
|
|
33
|
+
assistanceRequestId,
|
|
34
|
+
screeningId
|
|
35
|
+
}
|
|
36
|
+
} = useAppCreateReferralContext();
|
|
37
|
+
const crtb1239AdaptDraftReferralFlow = useFeatureFlag('crtb1239AdaptDraftReferralFlow', false);
|
|
38
|
+
const hint542SupersetUnlistedPrograms = useFeatureFlag('hint542SupersetUnlistedPrograms', false);
|
|
39
|
+
const pays5590RefactorInsuranceFilters = useFeatureFlag('pays5590RefactorInsuranceFilters', false);
|
|
40
|
+
const showClientNeed = useFeatureFlag('crtb1788ClientNeeds', false);
|
|
41
|
+
const {
|
|
42
|
+
createRecord: createReferral
|
|
43
|
+
} = useCreateRecord('referral');
|
|
44
|
+
const {
|
|
45
|
+
createRecord: createCase
|
|
46
|
+
} = useCreateRecord('case');
|
|
47
|
+
const {
|
|
48
|
+
createRecord: createServiceAuthorization
|
|
49
|
+
} = useCreateRecord('service_authorization');
|
|
50
|
+
const {
|
|
51
|
+
createRecord: createFormSubmission
|
|
52
|
+
} = useCreateRecord('form_submission');
|
|
53
|
+
const {
|
|
54
|
+
createRecord: createNote
|
|
55
|
+
} = useCreateRecord('note');
|
|
56
|
+
const {
|
|
57
|
+
updateRecord: updateReferral
|
|
58
|
+
} = useUpdateRecord('referral');
|
|
59
|
+
const {
|
|
60
|
+
updateRecord: updateCase
|
|
61
|
+
} = useUpdateRecord('case');
|
|
62
|
+
const {
|
|
63
|
+
updateRecord: updateServiceAuthorization
|
|
64
|
+
} = useUpdateRecord('service_authorization');
|
|
65
|
+
const createErrorMessage = error => {
|
|
66
|
+
return error.response.data.errors.map(error => error.title).join(', ');
|
|
85
67
|
};
|
|
86
|
-
|
|
87
|
-
|
|
88
|
-
|
|
89
|
-
|
|
90
|
-
|
|
91
|
-
|
|
92
|
-
|
|
93
|
-
title: ad.document.title,
|
|
94
|
-
id: ad.document.id
|
|
95
|
-
};
|
|
96
|
-
});
|
|
68
|
+
const uploadDocuments = (referral, caseToUploadDoc) => {
|
|
69
|
+
const attachableDocuments = get(referral, 'attachableDocuments', []);
|
|
70
|
+
const filteredDocuments = attachableDocuments.filter(doc => doc.attached === true);
|
|
71
|
+
const attachedDocuments = filteredDocuments.map(ad => ({
|
|
72
|
+
title: ad.document.title,
|
|
73
|
+
id: ad.document.id
|
|
74
|
+
}));
|
|
97
75
|
if (!isEmpty(attachedDocuments)) {
|
|
98
|
-
|
|
99
|
-
|
|
100
|
-
|
|
101
|
-
|
|
102
|
-
|
|
103
|
-
})
|
|
104
|
-
});
|
|
105
|
-
};
|
|
106
|
-
var uploadPromises = !isEmpty(attachedDocuments) && attachDocumentsToResource();
|
|
76
|
+
const attachDocumentsToResource = () => coreApi.setRelationship('case', caseToUploadDoc.id, {
|
|
77
|
+
relationshipModel: 'file_upload',
|
|
78
|
+
value: attachedDocuments.map(a => a.id)
|
|
79
|
+
});
|
|
80
|
+
const uploadPromises = !isEmpty(attachedDocuments) && attachDocumentsToResource();
|
|
107
81
|
Promise.all([uploadPromises]);
|
|
108
82
|
}
|
|
109
|
-
|
|
83
|
+
const uploadedDocuments = get(referral, 'attachments', []);
|
|
110
84
|
if (!isEmpty(uploadedDocuments)) {
|
|
111
|
-
|
|
112
|
-
|
|
113
|
-
|
|
114
|
-
});
|
|
115
|
-
};
|
|
116
|
-
var _uploadPromises = uploadDocumentsToResource();
|
|
117
|
-
Promise.all(_toConsumableArray(_uploadPromises || []));
|
|
85
|
+
const uploadDocumentsToResource = () => uploadedDocuments.map(d => coreApi.uploadFile('case', caseToUploadDoc.id, d.file));
|
|
86
|
+
const uploadPromises = uploadDocumentsToResource();
|
|
87
|
+
Promise.all([...(uploadPromises || [])]);
|
|
118
88
|
}
|
|
119
89
|
};
|
|
120
|
-
|
|
121
|
-
|
|
122
|
-
|
|
123
|
-
|
|
124
|
-
|
|
125
|
-
|
|
90
|
+
const submitAssessments = _ref => {
|
|
91
|
+
let {
|
|
92
|
+
cases,
|
|
93
|
+
latestResponses
|
|
94
|
+
} = _ref;
|
|
95
|
+
let promises = [];
|
|
96
|
+
map(cases, serviceCase => {
|
|
97
|
+
map(latestResponses || formResponses, assessment => {
|
|
126
98
|
var _assessment$form;
|
|
127
99
|
if (!isEmpty(assessment) && (_assessment$form = assessment.form) !== null && _assessment$form !== void 0 && (_assessment$form = _assessment$form.service_type_ids) !== null && _assessment$form !== void 0 && _assessment$form.includes(serviceCase.service.id)) {
|
|
128
100
|
promises.push(createFormSubmission({
|
|
@@ -136,651 +108,420 @@ export default function useCreateReferrals() {
|
|
|
136
108
|
}
|
|
137
109
|
});
|
|
138
110
|
});
|
|
139
|
-
return Promise.all(promises).then(
|
|
111
|
+
return Promise.all(promises).then(responses => {
|
|
140
112
|
return responses;
|
|
141
|
-
}).catch(
|
|
113
|
+
}).catch(err => {
|
|
142
114
|
CALLBACKS.notify.error("Error submitting Assessments");
|
|
143
115
|
throw err;
|
|
144
116
|
});
|
|
145
117
|
};
|
|
146
|
-
|
|
147
|
-
|
|
148
|
-
|
|
149
|
-
|
|
150
|
-
|
|
151
|
-
|
|
152
|
-
|
|
153
|
-
|
|
154
|
-
|
|
155
|
-
|
|
156
|
-
|
|
157
|
-
|
|
158
|
-
|
|
159
|
-
|
|
160
|
-
|
|
161
|
-
|
|
162
|
-
|
|
163
|
-
|
|
164
|
-
|
|
165
|
-
|
|
166
|
-
|
|
167
|
-
|
|
168
|
-
|
|
169
|
-
|
|
170
|
-
|
|
171
|
-
|
|
172
|
-
|
|
173
|
-
|
|
174
|
-
|
|
175
|
-
|
|
176
|
-
|
|
177
|
-
|
|
178
|
-
if (!isEmpty((_referrals$i$case = referrals[i].case) === null || _referrals$i$case === void 0 ? void 0 : _referrals$i$case.service_authorization)) {
|
|
179
|
-
_context.next = 10;
|
|
180
|
-
break;
|
|
181
|
-
}
|
|
182
|
-
_context.next = 7;
|
|
183
|
-
return updateDraftReferralCrtb1239(referrals[i]);
|
|
184
|
-
case 7:
|
|
185
|
-
resultDraft = _context.sent;
|
|
186
|
-
_context.next = 13;
|
|
187
|
-
break;
|
|
188
|
-
case 10:
|
|
189
|
-
_context.next = 12;
|
|
190
|
-
return updateDraftReferral(referrals[i], draft);
|
|
191
|
-
case 12:
|
|
192
|
-
resultDraft = _context.sent;
|
|
193
|
-
case 13:
|
|
194
|
-
item = result.shippingDetail.find(function (item) {
|
|
195
|
-
return item.index === i;
|
|
196
|
-
});
|
|
197
|
-
if (item) item.sent = true;
|
|
198
|
-
result.cases.push(resultDraft.cases[0]);
|
|
199
|
-
(_result$referrals = result.referrals).push.apply(_result$referrals, _toConsumableArray(resultDraft.referrals));
|
|
118
|
+
const createReferrals = async _ref2 => {
|
|
119
|
+
let {
|
|
120
|
+
referrals,
|
|
121
|
+
person,
|
|
122
|
+
draft
|
|
123
|
+
} = _ref2;
|
|
124
|
+
const result = {
|
|
125
|
+
referrals: [],
|
|
126
|
+
cases: [],
|
|
127
|
+
shippingDetail: [],
|
|
128
|
+
referralsToConsent: []
|
|
129
|
+
};
|
|
130
|
+
let groupedReferrals = referrals.some(r => get(r, 'programs', []).length > 1);
|
|
131
|
+
for (let i = 0; i < referrals.length; i += 1) {
|
|
132
|
+
result.shippingDetail.push({
|
|
133
|
+
index: i,
|
|
134
|
+
sent: false,
|
|
135
|
+
error: null
|
|
136
|
+
});
|
|
137
|
+
try {
|
|
138
|
+
if (crtb1239AdaptDraftReferralFlow && referrals[i].state === "draft") {
|
|
139
|
+
var _referrals$i$case;
|
|
140
|
+
let resultDraft = undefined;
|
|
141
|
+
if (isEmpty((_referrals$i$case = referrals[i].case) === null || _referrals$i$case === void 0 ? void 0 : _referrals$i$case.service_authorization)) {
|
|
142
|
+
resultDraft = await updateDraftReferralCrtb1239(referrals[i]);
|
|
143
|
+
} else {
|
|
144
|
+
resultDraft = await updateDraftReferral(referrals[i], draft);
|
|
145
|
+
}
|
|
146
|
+
let item = result.shippingDetail.find(item => item.index === i);
|
|
147
|
+
if (item) item.sent = true;
|
|
148
|
+
result.cases.push(resultDraft.cases[0]);
|
|
149
|
+
result.referrals.push(...resultDraft.referrals);
|
|
200
150
|
|
|
201
|
-
|
|
202
|
-
|
|
203
|
-
|
|
204
|
-
|
|
205
|
-
|
|
206
|
-
|
|
207
|
-
|
|
208
|
-
|
|
209
|
-
|
|
210
|
-
|
|
211
|
-
|
|
212
|
-
|
|
213
|
-
|
|
214
|
-
|
|
215
|
-
|
|
216
|
-
|
|
217
|
-
|
|
218
|
-
|
|
219
|
-
|
|
220
|
-
|
|
221
|
-
|
|
222
|
-
|
|
223
|
-
|
|
224
|
-
|
|
225
|
-
|
|
226
|
-
|
|
227
|
-
|
|
228
|
-
|
|
229
|
-
|
|
230
|
-
|
|
231
|
-
|
|
232
|
-
|
|
233
|
-
|
|
151
|
+
// From one draft multiple referrals could be created (grouped referrals)
|
|
152
|
+
const referralData = referralToConsent({
|
|
153
|
+
originalReferral: referrals[i],
|
|
154
|
+
createdReferrals: resultDraft.referrals
|
|
155
|
+
});
|
|
156
|
+
if (referralData) result.referralsToConsent.push(referralData);
|
|
157
|
+
} else {
|
|
158
|
+
const referral = referrals[i];
|
|
159
|
+
const referredToPrograms = get(referral, 'programs', []);
|
|
160
|
+
const isGrouped = referralIsGrouped(referral);
|
|
161
|
+
const isOON = referralIsOON(referral);
|
|
162
|
+
let createdCaseOrExistingAR = null;
|
|
163
|
+
let authorizationCreated = false;
|
|
164
|
+
const createdReferrals = [];
|
|
165
|
+
for (let j = 0; j < referredToPrograms.length; j += 1) {
|
|
166
|
+
const programData = referredToPrograms[j];
|
|
167
|
+
if (groupedReferrals && !createdCaseOrExistingAR || !groupedReferrals) {
|
|
168
|
+
var _referral$primaryWork, _referral$client_need;
|
|
169
|
+
let caseValues = _objectSpread(_objectSpread(_objectSpread({
|
|
170
|
+
description: referral.description,
|
|
171
|
+
state: referralIsOON(referral) ? 'off_platform' : 'draft',
|
|
172
|
+
person: person.id,
|
|
173
|
+
provider: referral.sendingProvider.id,
|
|
174
|
+
network: referral.network.id,
|
|
175
|
+
service: referral.service.id
|
|
176
|
+
}, (_referral$primaryWork = referral.primaryWorker) !== null && _referral$primaryWork !== void 0 && _referral$primaryWork.id ? {
|
|
177
|
+
primary_worker: referral.primaryWorker.id
|
|
178
|
+
} : null), formSubmissionId ? {
|
|
179
|
+
originating_form_submission: formSubmissionId
|
|
180
|
+
} : null), screeningId ? {
|
|
181
|
+
screening2_id: screeningId
|
|
182
|
+
} : null);
|
|
183
|
+
const missingCaseValues = validateRequiredValues('case', caseValues);
|
|
184
|
+
if (missingCaseValues.length) {
|
|
185
|
+
throw new Error("The following fields for the case are required: ".concat(missingCaseValues.join(', ')));
|
|
186
|
+
}
|
|
187
|
+
if (isOON) {
|
|
188
|
+
caseValues = _objectSpread(_objectSpread({}, caseValues), {}, {
|
|
189
|
+
opened_date: formatShortDate2FromTimestamp(referral.opened_date)
|
|
190
|
+
});
|
|
191
|
+
}
|
|
192
|
+
if (showClientNeed && (_referral$client_need = referral.client_need) !== null && _referral$client_need !== void 0 && _referral$client_need.id) {
|
|
193
|
+
caseValues.client_need_id = referral.client_need.id;
|
|
194
|
+
}
|
|
195
|
+
try {
|
|
196
|
+
let caseResponse;
|
|
197
|
+
if (assistanceRequestId && i === 0) {
|
|
198
|
+
var _referral$client_need2;
|
|
199
|
+
const arCase = get(assistanceRequestId, 'case', null);
|
|
200
|
+
let payload = {
|
|
201
|
+
description: referral.description,
|
|
202
|
+
network: referral.network.id
|
|
203
|
+
};
|
|
204
|
+
if (referral.service.id && get(arCase, 'service.id') !== referral.service.id) {
|
|
205
|
+
payload = _objectSpread(_objectSpread({}, payload), {}, {
|
|
234
206
|
service: referral.service.id
|
|
235
|
-
}, (_referral$primaryWork = referral.primaryWorker) !== null && _referral$primaryWork !== void 0 && _referral$primaryWork.id ? {
|
|
236
|
-
primary_worker: referral.primaryWorker.id
|
|
237
|
-
} : null), formSubmissionId ? {
|
|
238
|
-
originating_form_submission: formSubmissionId
|
|
239
|
-
} : null), screeningId ? {
|
|
240
|
-
screening2_id: screeningId
|
|
241
|
-
} : null);
|
|
242
|
-
missingCaseValues = validateRequiredValues('case', caseValues);
|
|
243
|
-
if (!missingCaseValues.length) {
|
|
244
|
-
_context.next = 36;
|
|
245
|
-
break;
|
|
246
|
-
}
|
|
247
|
-
throw new Error("The following fields for the case are required: ".concat(missingCaseValues.join(', ')));
|
|
248
|
-
case 36:
|
|
249
|
-
if (isOON) {
|
|
250
|
-
caseValues = _objectSpread(_objectSpread({}, caseValues), {}, {
|
|
251
|
-
opened_date: formatShortDate2FromTimestamp(referral.opened_date)
|
|
252
|
-
});
|
|
253
|
-
}
|
|
254
|
-
if (showClientNeed && (_referral$client_need = referral.client_need) !== null && _referral$client_need !== void 0 && _referral$client_need.id) {
|
|
255
|
-
caseValues.client_need_id = referral.client_need.id;
|
|
256
|
-
}
|
|
257
|
-
_context.prev = 38;
|
|
258
|
-
caseResponse = void 0;
|
|
259
|
-
if (!(assistanceRequestId && i === 0)) {
|
|
260
|
-
_context.next = 51;
|
|
261
|
-
break;
|
|
262
|
-
}
|
|
263
|
-
arCase = get(assistanceRequestId, 'case', null);
|
|
264
|
-
payload = {
|
|
265
|
-
description: referral.description,
|
|
266
|
-
network: referral.network.id
|
|
267
|
-
};
|
|
268
|
-
if (referral.service.id && get(arCase, 'service.id') !== referral.service.id) {
|
|
269
|
-
payload = _objectSpread(_objectSpread({}, payload), {}, {
|
|
270
|
-
service: referral.service.id
|
|
271
|
-
});
|
|
272
|
-
}
|
|
273
|
-
if (isOON) {
|
|
274
|
-
payload = _objectSpread(_objectSpread({}, payload), {}, {
|
|
275
|
-
primary_worker: referral.primaryWorker.id,
|
|
276
|
-
state: 'off_platform',
|
|
277
|
-
opened_date: formatShortDate2FromTimestamp(referral.opened_date)
|
|
278
|
-
});
|
|
279
|
-
}
|
|
280
|
-
if (showClientNeed && (_referral$client_need2 = referral.client_need) !== null && _referral$client_need2 !== void 0 && _referral$client_need2.id) {
|
|
281
|
-
payload.client_need_id = referral.client_need.id;
|
|
282
|
-
}
|
|
283
|
-
_context.next = 48;
|
|
284
|
-
return updateCase(arCase.id, payload);
|
|
285
|
-
case 48:
|
|
286
|
-
caseResponse = _context.sent;
|
|
287
|
-
_context.next = 54;
|
|
288
|
-
break;
|
|
289
|
-
case 51:
|
|
290
|
-
_context.next = 53;
|
|
291
|
-
return createCase(caseValues);
|
|
292
|
-
case 53:
|
|
293
|
-
caseResponse = _context.sent;
|
|
294
|
-
case 54:
|
|
295
|
-
createdCaseOrExistingAR = get(caseResponse, 'data.data', {});
|
|
296
|
-
feeScheduleProgram = referral.programs[0].fee_schedule_program;
|
|
297
|
-
if (!(feeScheduleProgram !== null && feeScheduleProgram !== void 0 && feeScheduleProgram.authorization_required)) {
|
|
298
|
-
_context.next = 72;
|
|
299
|
-
break;
|
|
300
|
-
}
|
|
301
|
-
serviceStart = referral === null || referral === void 0 || (_referral$paymentAuth = referral.paymentAuthForm) === null || _referral$paymentAuth === void 0 ? void 0 : _referral$paymentAuth.service_start;
|
|
302
|
-
requestedStartDate = serviceStart && moment.unix(serviceStart).toISOString();
|
|
303
|
-
serviceEnd = referral === null || referral === void 0 || (_referral$paymentAuth2 = referral.paymentAuthForm) === null || _referral$paymentAuth2 === void 0 ? void 0 : _referral$paymentAuth2.service_end;
|
|
304
|
-
requestedEndDate = serviceEnd && moment.unix(serviceEnd).toISOString();
|
|
305
|
-
if (pays5590RefactorInsuranceFilters) {
|
|
306
|
-
requestedStartDate = serviceStart && moment(requestedStartDate).add(1, 'day').toISOString();
|
|
307
|
-
requestedEndDate = serviceEnd && moment(requestedEndDate).subtract(1, 'day').toISOString();
|
|
308
|
-
}
|
|
309
|
-
amountRequested = referral.paymentAuthForm.amount_requested;
|
|
310
|
-
icd10Codes = referral.paymentAuthForm.icd10_code.id ? [referral.paymentAuthForm.icd10_code.id] : [];
|
|
311
|
-
queryInsuranceParams = {
|
|
312
|
-
person: person.id,
|
|
313
|
-
state: 'active',
|
|
314
|
-
enrolled_before: requestedStartDate,
|
|
315
|
-
expired_after: requestedEndDate,
|
|
316
|
-
'plan.fee_schedules': feeScheduleProgram.fee_schedule.id,
|
|
317
|
-
sort: '-enrolled_at'
|
|
318
|
-
};
|
|
319
|
-
_context.next = 67;
|
|
320
|
-
return coreApi.query('insurance', queryInsuranceParams);
|
|
321
|
-
case 67:
|
|
322
|
-
responseInsurances = _context.sent;
|
|
323
|
-
insurances = responseInsurances === null || responseInsurances === void 0 || (_responseInsurances$d = responseInsurances.data) === null || _responseInsurances$d === void 0 ? void 0 : _responseInsurances$d.data;
|
|
324
|
-
_context.next = 71;
|
|
325
|
-
return createServiceAuthorization(_objectSpread(_objectSpread({
|
|
326
|
-
state: draft ? 'draft' : 'requested',
|
|
327
|
-
requested_starts_at: requestedStartDate,
|
|
328
|
-
requested_ends_at: requestedEndDate
|
|
329
|
-
}, fspUtils.isCostPaymentType(feeScheduleProgram.payment_type) ? {
|
|
330
|
-
requested_cents: amountRequested
|
|
331
|
-
} : {
|
|
332
|
-
requested_unit_amount: parseInt(amountRequested)
|
|
333
|
-
}), {}, {
|
|
334
|
-
case: createdCaseOrExistingAR.id,
|
|
335
|
-
fee_schedule_program: feeScheduleProgram.id,
|
|
336
|
-
requester: currentEmployee.id,
|
|
337
|
-
insurance: insurances[0].id,
|
|
338
|
-
person: person.id,
|
|
339
|
-
clinical_modifications: icd10Codes
|
|
340
|
-
}));
|
|
341
|
-
case 71:
|
|
342
|
-
authorizationCreated = true;
|
|
343
|
-
case 72:
|
|
344
|
-
result.cases.push(createdCaseOrExistingAR);
|
|
345
|
-
_context.next = 79;
|
|
346
|
-
break;
|
|
347
|
-
case 75:
|
|
348
|
-
_context.prev = 75;
|
|
349
|
-
_context.t0 = _context["catch"](38);
|
|
350
|
-
result.shippingDetail[i].error = "Error creating the Case: ".concat(createErrorMessage(_context.t0));
|
|
351
|
-
return _context.abrupt("continue", 121);
|
|
352
|
-
case 79:
|
|
353
|
-
uploadDocuments(referral, createdCaseOrExistingAR);
|
|
354
|
-
state = void 0;
|
|
355
|
-
if (draft) {
|
|
356
|
-
state = 'draft';
|
|
357
|
-
} else if (referralIsOON(referral)) {
|
|
358
|
-
state = 'off_platform';
|
|
359
|
-
} else if (authorizationCreated) {
|
|
360
|
-
state = 'pending_authorization';
|
|
361
|
-
} else {
|
|
362
|
-
state = 'sent';
|
|
363
|
-
}
|
|
364
|
-
if (!(hint542SupersetUnlistedPrograms && isUnlistedProgram(programData))) {
|
|
365
|
-
_context.next = 102;
|
|
366
|
-
break;
|
|
367
|
-
}
|
|
368
|
-
createNoteForUnlistedProgramValues = {
|
|
369
|
-
subjectType: 'case',
|
|
370
|
-
subject: createdCaseOrExistingAR.id,
|
|
371
|
-
employee: currentEmployee.id,
|
|
372
|
-
visibility: 'public',
|
|
373
|
-
category: 'external_provider',
|
|
374
|
-
text: "Referred off platform to ".concat(programData.name)
|
|
375
|
-
};
|
|
376
|
-
missingNoteValues = validateRequiredValues('note', createNoteForUnlistedProgramValues);
|
|
377
|
-
if (!missingNoteValues.length) {
|
|
378
|
-
_context.next = 88;
|
|
379
|
-
break;
|
|
380
|
-
}
|
|
381
|
-
result.shippingDetail[i].error = "The following fields for the unlisted program are required: ".concat(missingNoteValues.join(', '));
|
|
382
|
-
return _context.abrupt("continue", 121);
|
|
383
|
-
case 88:
|
|
384
|
-
_context.prev = 88;
|
|
385
|
-
createNote(createNoteForUnlistedProgramValues);
|
|
386
|
-
noteReferral = {
|
|
387
|
-
index: i,
|
|
388
|
-
sent: true
|
|
389
|
-
};
|
|
390
|
-
result.referrals.push(noteReferral);
|
|
391
|
-
_item = result.shippingDetail.find(function (item) {
|
|
392
|
-
return item.index === i;
|
|
393
207
|
});
|
|
394
|
-
|
|
395
|
-
|
|
396
|
-
|
|
397
|
-
|
|
398
|
-
|
|
399
|
-
|
|
400
|
-
result.shippingDetail[i].error = "Error creating the note on the case for the unlisted program";
|
|
401
|
-
return _context.abrupt("continue", 121);
|
|
402
|
-
case 100:
|
|
403
|
-
_context.next = 121;
|
|
404
|
-
break;
|
|
405
|
-
case 102:
|
|
406
|
-
referralValues = {
|
|
407
|
-
state: state,
|
|
408
|
-
case: createdCaseOrExistingAR.id,
|
|
409
|
-
is_grouped: isGrouped,
|
|
410
|
-
receiving_program: programData.id,
|
|
411
|
-
receiving_provider: programData.provider.id,
|
|
412
|
-
receiving_network: referral.network.id,
|
|
413
|
-
sending_provider: referral.sendingProvider.id,
|
|
414
|
-
sending_network: referral.network.id
|
|
415
|
-
};
|
|
416
|
-
missingReferralValues = validateRequiredValues('referral', referralValues);
|
|
417
|
-
if (!missingReferralValues.length) {
|
|
418
|
-
_context.next = 107;
|
|
419
|
-
break;
|
|
420
|
-
}
|
|
421
|
-
result.shippingDetail[i].error = "The following fields for the referral are required: ".concat(missingReferralValues.join(', '));
|
|
422
|
-
return _context.abrupt("continue", 121);
|
|
423
|
-
case 107:
|
|
424
|
-
_context.prev = 107;
|
|
425
|
-
_context.next = 110;
|
|
426
|
-
return createReferral(referralValues);
|
|
427
|
-
case 110:
|
|
428
|
-
responseReferral = _context.sent;
|
|
429
|
-
result.referrals.push(responseReferral.data.data);
|
|
430
|
-
_item2 = result.shippingDetail.find(function (item) {
|
|
431
|
-
return item.index === i;
|
|
208
|
+
}
|
|
209
|
+
if (isOON) {
|
|
210
|
+
payload = _objectSpread(_objectSpread({}, payload), {}, {
|
|
211
|
+
primary_worker: referral.primaryWorker.id,
|
|
212
|
+
state: 'off_platform',
|
|
213
|
+
opened_date: formatShortDate2FromTimestamp(referral.opened_date)
|
|
432
214
|
});
|
|
433
|
-
|
|
434
|
-
|
|
435
|
-
|
|
436
|
-
|
|
437
|
-
|
|
438
|
-
|
|
439
|
-
|
|
440
|
-
result.shippingDetail[i].error = "Error creating the Referral: ".concat(createErrorMessage(_context.t2));
|
|
441
|
-
return _context.abrupt("continue", 121);
|
|
442
|
-
case 121:
|
|
443
|
-
j += 1;
|
|
444
|
-
_context.next = 29;
|
|
445
|
-
break;
|
|
446
|
-
case 124:
|
|
447
|
-
// From one referral multiple referrals could be created (grouped referrals)
|
|
448
|
-
_referralData = referralToConsent({
|
|
449
|
-
originalReferral: referral,
|
|
450
|
-
createdReferrals: createdReferrals
|
|
451
|
-
});
|
|
452
|
-
if (_referralData) result.referralsToConsent.push(_referralData);
|
|
453
|
-
case 126:
|
|
454
|
-
_context.next = 131;
|
|
455
|
-
break;
|
|
456
|
-
case 128:
|
|
457
|
-
_context.prev = 128;
|
|
458
|
-
_context.t3 = _context["catch"](1);
|
|
459
|
-
result.shippingDetail[i].error = "Unexpected error: ".concat(_context.t3.message);
|
|
460
|
-
case 131:
|
|
461
|
-
case "end":
|
|
462
|
-
return _context.stop();
|
|
215
|
+
}
|
|
216
|
+
if (showClientNeed && (_referral$client_need2 = referral.client_need) !== null && _referral$client_need2 !== void 0 && _referral$client_need2.id) {
|
|
217
|
+
payload.client_need_id = referral.client_need.id;
|
|
218
|
+
}
|
|
219
|
+
caseResponse = await updateCase(arCase.id, payload);
|
|
220
|
+
} else {
|
|
221
|
+
caseResponse = await createCase(caseValues);
|
|
463
222
|
}
|
|
464
|
-
|
|
465
|
-
|
|
466
|
-
|
|
467
|
-
|
|
468
|
-
|
|
469
|
-
|
|
470
|
-
|
|
471
|
-
|
|
472
|
-
|
|
473
|
-
|
|
474
|
-
|
|
475
|
-
|
|
476
|
-
|
|
477
|
-
|
|
478
|
-
|
|
479
|
-
|
|
480
|
-
|
|
481
|
-
|
|
482
|
-
|
|
483
|
-
|
|
484
|
-
|
|
485
|
-
|
|
486
|
-
|
|
487
|
-
|
|
488
|
-
|
|
489
|
-
|
|
490
|
-
|
|
491
|
-
|
|
492
|
-
|
|
493
|
-
|
|
494
|
-
|
|
495
|
-
|
|
496
|
-
|
|
497
|
-
|
|
498
|
-
|
|
499
|
-
|
|
500
|
-
|
|
501
|
-
|
|
502
|
-
|
|
503
|
-
|
|
504
|
-
|
|
505
|
-
|
|
506
|
-
|
|
507
|
-
|
|
508
|
-
|
|
509
|
-
|
|
510
|
-
service: {
|
|
511
|
-
id: referral.service.id
|
|
223
|
+
createdCaseOrExistingAR = get(caseResponse, 'data.data', {});
|
|
224
|
+
const feeScheduleProgram = referral.programs[0].fee_schedule_program;
|
|
225
|
+
if (feeScheduleProgram !== null && feeScheduleProgram !== void 0 && feeScheduleProgram.authorization_required) {
|
|
226
|
+
var _referral$paymentAuth, _referral$paymentAuth2, _responseInsurances$d;
|
|
227
|
+
const serviceStart = referral === null || referral === void 0 || (_referral$paymentAuth = referral.paymentAuthForm) === null || _referral$paymentAuth === void 0 ? void 0 : _referral$paymentAuth.service_start;
|
|
228
|
+
let requestedStartDate = serviceStart && moment.unix(serviceStart).toISOString();
|
|
229
|
+
const serviceEnd = referral === null || referral === void 0 || (_referral$paymentAuth2 = referral.paymentAuthForm) === null || _referral$paymentAuth2 === void 0 ? void 0 : _referral$paymentAuth2.service_end;
|
|
230
|
+
let requestedEndDate = serviceEnd && moment.unix(serviceEnd).toISOString();
|
|
231
|
+
if (pays5590RefactorInsuranceFilters) {
|
|
232
|
+
requestedStartDate = serviceStart && moment(requestedStartDate).add(1, 'day').toISOString();
|
|
233
|
+
requestedEndDate = serviceEnd && moment(requestedEndDate).subtract(1, 'day').toISOString();
|
|
234
|
+
}
|
|
235
|
+
const amountRequested = referral.paymentAuthForm.amount_requested;
|
|
236
|
+
const icd10Codes = referral.paymentAuthForm.icd10_code.id ? [referral.paymentAuthForm.icd10_code.id] : [];
|
|
237
|
+
const queryInsuranceParams = {
|
|
238
|
+
person: person.id,
|
|
239
|
+
state: 'active',
|
|
240
|
+
enrolled_before: requestedStartDate,
|
|
241
|
+
expired_after: requestedEndDate,
|
|
242
|
+
'plan.fee_schedules': feeScheduleProgram.fee_schedule.id,
|
|
243
|
+
sort: '-enrolled_at'
|
|
244
|
+
};
|
|
245
|
+
const responseInsurances = await coreApi.query('insurance', queryInsuranceParams);
|
|
246
|
+
const insurances = responseInsurances === null || responseInsurances === void 0 || (_responseInsurances$d = responseInsurances.data) === null || _responseInsurances$d === void 0 ? void 0 : _responseInsurances$d.data;
|
|
247
|
+
await createServiceAuthorization(_objectSpread(_objectSpread({
|
|
248
|
+
state: draft ? 'draft' : 'requested',
|
|
249
|
+
requested_starts_at: requestedStartDate,
|
|
250
|
+
requested_ends_at: requestedEndDate
|
|
251
|
+
}, fspUtils.isCostPaymentType(feeScheduleProgram.payment_type) ? {
|
|
252
|
+
requested_cents: amountRequested
|
|
253
|
+
} : {
|
|
254
|
+
requested_unit_amount: parseInt(amountRequested)
|
|
255
|
+
}), {}, {
|
|
256
|
+
case: createdCaseOrExistingAR.id,
|
|
257
|
+
fee_schedule_program: feeScheduleProgram.id,
|
|
258
|
+
requester: currentEmployee.id,
|
|
259
|
+
insurance: insurances[0].id,
|
|
260
|
+
person: person.id,
|
|
261
|
+
clinical_modifications: icd10Codes
|
|
262
|
+
}));
|
|
263
|
+
authorizationCreated = true;
|
|
264
|
+
}
|
|
265
|
+
result.cases.push(createdCaseOrExistingAR);
|
|
266
|
+
} catch (err) {
|
|
267
|
+
result.shippingDetail[i].error = "Error creating the Case: ".concat(createErrorMessage(err));
|
|
268
|
+
continue;
|
|
512
269
|
}
|
|
513
|
-
}), descriptionChanged && {
|
|
514
|
-
description: referral.description
|
|
515
|
-
});
|
|
516
|
-
if (!isEmpty(serviceCasePayload)) {
|
|
517
|
-
_context3.next = 16;
|
|
518
|
-
break;
|
|
519
270
|
}
|
|
520
|
-
|
|
521
|
-
|
|
522
|
-
|
|
523
|
-
|
|
524
|
-
|
|
525
|
-
|
|
526
|
-
|
|
527
|
-
|
|
528
|
-
|
|
529
|
-
|
|
530
|
-
uploadDocuments(referral, oldCase);
|
|
531
|
-
referralsToDelete = [];
|
|
532
|
-
oldReferrals.forEach(function (r) {
|
|
533
|
-
referralsToDelete.push(coreApi.deleteRecord('referral', r.id));
|
|
534
|
-
});
|
|
535
|
-
if (!referralsToDelete.length) {
|
|
536
|
-
_context3.next = 26;
|
|
537
|
-
break;
|
|
271
|
+
uploadDocuments(referral, createdCaseOrExistingAR);
|
|
272
|
+
let state;
|
|
273
|
+
if (draft) {
|
|
274
|
+
state = 'draft';
|
|
275
|
+
} else if (referralIsOON(referral)) {
|
|
276
|
+
state = 'off_platform';
|
|
277
|
+
} else if (authorizationCreated) {
|
|
278
|
+
state = 'pending_authorization';
|
|
279
|
+
} else {
|
|
280
|
+
state = 'sent';
|
|
538
281
|
}
|
|
539
|
-
|
|
540
|
-
|
|
541
|
-
|
|
542
|
-
|
|
543
|
-
|
|
544
|
-
|
|
545
|
-
|
|
546
|
-
|
|
282
|
+
if (hint542SupersetUnlistedPrograms && isUnlistedProgram(programData)) {
|
|
283
|
+
const createNoteForUnlistedProgramValues = {
|
|
284
|
+
subjectType: 'case',
|
|
285
|
+
subject: createdCaseOrExistingAR.id,
|
|
286
|
+
employee: currentEmployee.id,
|
|
287
|
+
visibility: 'public',
|
|
288
|
+
category: 'external_provider',
|
|
289
|
+
text: "Referred off platform to ".concat(programData.name)
|
|
547
290
|
};
|
|
548
|
-
|
|
549
|
-
|
|
550
|
-
|
|
551
|
-
|
|
552
|
-
|
|
553
|
-
|
|
554
|
-
|
|
555
|
-
|
|
556
|
-
|
|
557
|
-
|
|
558
|
-
|
|
559
|
-
|
|
560
|
-
|
|
561
|
-
|
|
562
|
-
|
|
563
|
-
|
|
564
|
-
|
|
565
|
-
|
|
566
|
-
|
|
567
|
-
|
|
568
|
-
|
|
569
|
-
|
|
570
|
-
|
|
571
|
-
|
|
572
|
-
|
|
573
|
-
|
|
574
|
-
|
|
575
|
-
|
|
576
|
-
|
|
577
|
-
|
|
578
|
-
|
|
579
|
-
|
|
580
|
-
|
|
581
|
-
|
|
582
|
-
|
|
583
|
-
|
|
584
|
-
|
|
585
|
-
|
|
586
|
-
|
|
587
|
-
|
|
588
|
-
|
|
589
|
-
|
|
590
|
-
|
|
591
|
-
var options,
|
|
592
|
-
feeScheduleProgram,
|
|
593
|
-
serviceStart,
|
|
594
|
-
requestedStartDate,
|
|
595
|
-
serviceEnd,
|
|
596
|
-
requestedEndDate,
|
|
597
|
-
amountRequested,
|
|
598
|
-
queryInsuranceParams,
|
|
599
|
-
responseInsurances,
|
|
600
|
-
insurances,
|
|
601
|
-
_args4 = arguments;
|
|
602
|
-
return _regeneratorRuntime().wrap(function _callee3$(_context4) {
|
|
603
|
-
while (1) switch (_context4.prev = _context4.next) {
|
|
604
|
-
case 0:
|
|
605
|
-
options = _args4.length > 1 && _args4[1] !== undefined ? _args4[1] : {
|
|
606
|
-
draft: false
|
|
607
|
-
};
|
|
608
|
-
feeScheduleProgram = referral.programs[0].fee_schedule_program;
|
|
609
|
-
serviceStart = referral === null || referral === void 0 || (_referral$paymentAuth3 = referral.paymentAuthForm) === null || _referral$paymentAuth3 === void 0 ? void 0 : _referral$paymentAuth3.service_start;
|
|
610
|
-
requestedStartDate = serviceStart && moment.unix(serviceStart).toISOString();
|
|
611
|
-
serviceEnd = referral === null || referral === void 0 || (_referral$paymentAuth4 = referral.paymentAuthForm) === null || _referral$paymentAuth4 === void 0 ? void 0 : _referral$paymentAuth4.service_end;
|
|
612
|
-
requestedEndDate = serviceEnd && moment.unix(serviceEnd).toISOString();
|
|
613
|
-
if (pays5590RefactorInsuranceFilters) {
|
|
614
|
-
requestedStartDate = serviceStart && moment(requestedStartDate).add(1, 'day').toISOString();
|
|
615
|
-
requestedEndDate = serviceEnd && moment(requestedEndDate).subtract(1, 'day').toISOString();
|
|
616
|
-
}
|
|
617
|
-
amountRequested = referral.paymentAuthForm.amount_requested;
|
|
618
|
-
queryInsuranceParams = {
|
|
619
|
-
person: person.id,
|
|
620
|
-
state: 'active',
|
|
621
|
-
enrolled_before: requestedStartDate,
|
|
622
|
-
expired_after: requestedEndDate,
|
|
623
|
-
'plan.fee_schedules': feeScheduleProgram.fee_schedule.id,
|
|
624
|
-
sort: '-enrolled_at'
|
|
625
|
-
};
|
|
626
|
-
_context4.next = 11;
|
|
627
|
-
return coreApi.query('insurance', queryInsuranceParams);
|
|
628
|
-
case 11:
|
|
629
|
-
responseInsurances = _context4.sent;
|
|
630
|
-
insurances = responseInsurances === null || responseInsurances === void 0 || (_responseInsurances$d2 = responseInsurances.data) === null || _responseInsurances$d2 === void 0 ? void 0 : _responseInsurances$d2.data;
|
|
631
|
-
_context4.next = 15;
|
|
632
|
-
return updateServiceAuthorization(referral.case.service_authorization.id, _objectSpread(_objectSpread(_objectSpread({}, options.draft ? {} : {
|
|
633
|
-
state: 'requested'
|
|
634
|
-
}), {}, {
|
|
635
|
-
requested_starts_at: requestedStartDate,
|
|
636
|
-
requested_ends_at: requestedEndDate
|
|
637
|
-
}, fspUtils.isCostPaymentType(feeScheduleProgram.payment_type) ? {
|
|
638
|
-
requested_cents: amountRequested
|
|
639
|
-
} : {
|
|
640
|
-
requested_unit_amount: parseInt(amountRequested)
|
|
641
|
-
}), {}, {
|
|
642
|
-
requester: currentEmployee.id,
|
|
643
|
-
insurance: insurances[0].id,
|
|
644
|
-
person: person.id
|
|
645
|
-
}));
|
|
646
|
-
case 15:
|
|
647
|
-
case "end":
|
|
648
|
-
return _context4.stop();
|
|
649
|
-
}
|
|
650
|
-
}, _callee3);
|
|
651
|
-
}));
|
|
652
|
-
return function updateServiceAuthorizationHandler(_x3) {
|
|
653
|
-
return _ref5.apply(this, arguments);
|
|
654
|
-
};
|
|
655
|
-
}();
|
|
656
|
-
var updateDraftReferral = /*#__PURE__*/function () {
|
|
657
|
-
var _ref6 = _asyncToGenerator(/*#__PURE__*/_regeneratorRuntime().mark(function _callee4(referral, draft) {
|
|
658
|
-
var promises, isAuthRequired, newState, responses;
|
|
659
|
-
return _regeneratorRuntime().wrap(function _callee4$(_context5) {
|
|
660
|
-
while (1) switch (_context5.prev = _context5.next) {
|
|
661
|
-
case 0:
|
|
662
|
-
_context5.prev = 0;
|
|
663
|
-
promises = [updateCase(referral.case.id, {
|
|
664
|
-
description: referral.description
|
|
665
|
-
})];
|
|
666
|
-
isAuthRequired = get(referral, 'programs[0].fee_schedule_program.authorization_required', false);
|
|
667
|
-
if (!draft) {
|
|
668
|
-
if (referralIsOON(referral)) {
|
|
669
|
-
newState = 'off_platform';
|
|
670
|
-
} else if (isAuthRequired) {
|
|
671
|
-
newState = 'pending_authorization';
|
|
672
|
-
} else {
|
|
673
|
-
newState = 'sent';
|
|
291
|
+
const missingNoteValues = validateRequiredValues('note', createNoteForUnlistedProgramValues);
|
|
292
|
+
if (missingNoteValues.length) {
|
|
293
|
+
result.shippingDetail[i].error = "The following fields for the unlisted program are required: ".concat(missingNoteValues.join(', '));
|
|
294
|
+
continue;
|
|
295
|
+
}
|
|
296
|
+
try {
|
|
297
|
+
createNote(createNoteForUnlistedProgramValues);
|
|
298
|
+
const noteReferral = {
|
|
299
|
+
index: i,
|
|
300
|
+
sent: true
|
|
301
|
+
};
|
|
302
|
+
result.referrals.push(noteReferral);
|
|
303
|
+
let item = result.shippingDetail.find(item => item.index === i);
|
|
304
|
+
if (item) item.sent = true;
|
|
305
|
+
} catch (err) {
|
|
306
|
+
result.shippingDetail[i].error = "Error creating the note on the case for the unlisted program";
|
|
307
|
+
continue;
|
|
308
|
+
}
|
|
309
|
+
} else {
|
|
310
|
+
const referralValues = {
|
|
311
|
+
state,
|
|
312
|
+
case: createdCaseOrExistingAR.id,
|
|
313
|
+
is_grouped: isGrouped,
|
|
314
|
+
receiving_program: programData.id,
|
|
315
|
+
receiving_provider: programData.provider.id,
|
|
316
|
+
receiving_network: referral.network.id,
|
|
317
|
+
sending_provider: referral.sendingProvider.id,
|
|
318
|
+
sending_network: referral.network.id
|
|
319
|
+
};
|
|
320
|
+
const missingReferralValues = validateRequiredValues('referral', referralValues);
|
|
321
|
+
if (missingReferralValues.length) {
|
|
322
|
+
result.shippingDetail[i].error = "The following fields for the referral are required: ".concat(missingReferralValues.join(', '));
|
|
323
|
+
continue;
|
|
324
|
+
}
|
|
325
|
+
try {
|
|
326
|
+
const responseReferral = await createReferral(referralValues);
|
|
327
|
+
result.referrals.push(responseReferral.data.data);
|
|
328
|
+
let item = result.shippingDetail.find(item => item.index === i);
|
|
329
|
+
if (item) item.sent = true;
|
|
330
|
+
createdReferrals.push(responseReferral.data.data);
|
|
331
|
+
} catch (err) {
|
|
332
|
+
result.shippingDetail[i].error = "Error creating the Referral: ".concat(createErrorMessage(err));
|
|
333
|
+
continue;
|
|
674
334
|
}
|
|
675
|
-
promises.push(updateReferral(referral.id, {
|
|
676
|
-
state: newState
|
|
677
|
-
}));
|
|
678
|
-
}
|
|
679
|
-
if (isAuthRequired) {
|
|
680
|
-
promises.push(updateServiceAuthorizationHandler(referral, {
|
|
681
|
-
draft: draft
|
|
682
|
-
}));
|
|
683
335
|
}
|
|
684
|
-
|
|
685
|
-
|
|
686
|
-
|
|
687
|
-
|
|
688
|
-
|
|
689
|
-
|
|
690
|
-
|
|
691
|
-
});
|
|
692
|
-
case 11:
|
|
693
|
-
_context5.prev = 11;
|
|
694
|
-
_context5.t0 = _context5["catch"](0);
|
|
695
|
-
CALLBACKS.notify.error("Error updating the Draft Referral");
|
|
696
|
-
throw _context5.t0;
|
|
697
|
-
case 15:
|
|
698
|
-
case "end":
|
|
699
|
-
return _context5.stop();
|
|
336
|
+
}
|
|
337
|
+
// From one referral multiple referrals could be created (grouped referrals)
|
|
338
|
+
const referralData = referralToConsent({
|
|
339
|
+
originalReferral: referral,
|
|
340
|
+
createdReferrals
|
|
341
|
+
});
|
|
342
|
+
if (referralData) result.referralsToConsent.push(referralData);
|
|
700
343
|
}
|
|
701
|
-
}
|
|
344
|
+
} catch (err) {
|
|
345
|
+
result.shippingDetail[i].error = "Unexpected error: ".concat(err.message);
|
|
346
|
+
}
|
|
347
|
+
}
|
|
348
|
+
return result;
|
|
349
|
+
};
|
|
350
|
+
const updateDraftReferralCrtb1239 = async referral => {
|
|
351
|
+
try {
|
|
352
|
+
var _caseResponse$data, _caseResponse$data2;
|
|
353
|
+
const [caseRequestResponse, referralsRequestResponse] = await Promise.all([coreApi.findRecord('case', referral.case.id), coreApi.query('referral', {
|
|
354
|
+
case: referral.case.id
|
|
355
|
+
})]);
|
|
356
|
+
const oldCase = get(caseRequestResponse, 'data.data', null);
|
|
357
|
+
const oldReferrals = get(referralsRequestResponse, 'data.data', null);
|
|
358
|
+
const serviceTypeChanged = referral.service.id !== oldCase.service_type.id;
|
|
359
|
+
const descriptionChanged = referral.description && referral.description !== oldCase.description;
|
|
360
|
+
const serviceCasePayload = _objectSpread(_objectSpread({}, serviceTypeChanged && {
|
|
361
|
+
service: {
|
|
362
|
+
id: referral.service.id
|
|
363
|
+
}
|
|
364
|
+
}), descriptionChanged && {
|
|
365
|
+
description: referral.description
|
|
366
|
+
});
|
|
367
|
+
const caseResponse = isEmpty(serviceCasePayload) ? oldCase : await updateCase(referral.case.id, serviceCasePayload);
|
|
368
|
+
uploadDocuments(referral, oldCase);
|
|
369
|
+
const referralsToDelete = [];
|
|
370
|
+
oldReferrals.forEach(r => {
|
|
371
|
+
referralsToDelete.push(coreApi.deleteRecord('referral', r.id));
|
|
372
|
+
});
|
|
373
|
+
if (referralsToDelete.length) {
|
|
374
|
+
await Promise.all(referralsToDelete);
|
|
375
|
+
}
|
|
376
|
+
const formRecipientsIds = map(referral.programs, r => ({
|
|
377
|
+
provider_id: r.provider.id,
|
|
378
|
+
network: referral.network,
|
|
379
|
+
program_id: r.id
|
|
380
|
+
}));
|
|
381
|
+
const createReferralPromises = [];
|
|
382
|
+
formRecipientsIds.forEach(r => {
|
|
383
|
+
const newReferral = createReferral({
|
|
384
|
+
state: 'sent',
|
|
385
|
+
case: oldCase.id,
|
|
386
|
+
receiving_program: r.program_id,
|
|
387
|
+
receiving_provider: r.provider_id,
|
|
388
|
+
receiving_network: r.network.id,
|
|
389
|
+
sending_provider: oldCase.provider.id,
|
|
390
|
+
sending_network: oldCase.network.id
|
|
391
|
+
});
|
|
392
|
+
createReferralPromises.push(newReferral);
|
|
393
|
+
});
|
|
394
|
+
const referralsResponse = await Promise.all(createReferralPromises);
|
|
395
|
+
return {
|
|
396
|
+
cases: [caseResponse !== null && caseResponse !== void 0 && (_caseResponse$data = caseResponse.data) !== null && _caseResponse$data !== void 0 && _caseResponse$data.data ? caseResponse === null || caseResponse === void 0 || (_caseResponse$data2 = caseResponse.data) === null || _caseResponse$data2 === void 0 ? void 0 : _caseResponse$data2.data : oldCase],
|
|
397
|
+
referrals: referralsResponse.map(referralResponse => {
|
|
398
|
+
var _referralResponse$dat;
|
|
399
|
+
return referralResponse === null || referralResponse === void 0 || (_referralResponse$dat = referralResponse.data) === null || _referralResponse$dat === void 0 ? void 0 : _referralResponse$dat.data;
|
|
400
|
+
})
|
|
401
|
+
};
|
|
402
|
+
} catch (err) {
|
|
403
|
+
CALLBACKS.notify.error("Error updating the Draft Referral");
|
|
404
|
+
throw err;
|
|
405
|
+
}
|
|
406
|
+
};
|
|
407
|
+
const updateServiceAuthorizationHandler = async function (referral) {
|
|
408
|
+
var _referral$paymentAuth3, _referral$paymentAuth4, _responseInsurances$d2;
|
|
409
|
+
let options = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {
|
|
410
|
+
draft: false
|
|
411
|
+
};
|
|
412
|
+
const feeScheduleProgram = referral.programs[0].fee_schedule_program;
|
|
413
|
+
const serviceStart = referral === null || referral === void 0 || (_referral$paymentAuth3 = referral.paymentAuthForm) === null || _referral$paymentAuth3 === void 0 ? void 0 : _referral$paymentAuth3.service_start;
|
|
414
|
+
let requestedStartDate = serviceStart && moment.unix(serviceStart).toISOString();
|
|
415
|
+
const serviceEnd = referral === null || referral === void 0 || (_referral$paymentAuth4 = referral.paymentAuthForm) === null || _referral$paymentAuth4 === void 0 ? void 0 : _referral$paymentAuth4.service_end;
|
|
416
|
+
let requestedEndDate = serviceEnd && moment.unix(serviceEnd).toISOString();
|
|
417
|
+
if (pays5590RefactorInsuranceFilters) {
|
|
418
|
+
requestedStartDate = serviceStart && moment(requestedStartDate).add(1, 'day').toISOString();
|
|
419
|
+
requestedEndDate = serviceEnd && moment(requestedEndDate).subtract(1, 'day').toISOString();
|
|
420
|
+
}
|
|
421
|
+
const amountRequested = referral.paymentAuthForm.amount_requested;
|
|
422
|
+
const queryInsuranceParams = {
|
|
423
|
+
person: person.id,
|
|
424
|
+
state: 'active',
|
|
425
|
+
enrolled_before: requestedStartDate,
|
|
426
|
+
expired_after: requestedEndDate,
|
|
427
|
+
'plan.fee_schedules': feeScheduleProgram.fee_schedule.id,
|
|
428
|
+
sort: '-enrolled_at'
|
|
429
|
+
};
|
|
430
|
+
const responseInsurances = await coreApi.query('insurance', queryInsuranceParams);
|
|
431
|
+
const insurances = responseInsurances === null || responseInsurances === void 0 || (_responseInsurances$d2 = responseInsurances.data) === null || _responseInsurances$d2 === void 0 ? void 0 : _responseInsurances$d2.data;
|
|
432
|
+
await updateServiceAuthorization(referral.case.service_authorization.id, _objectSpread(_objectSpread(_objectSpread({}, options.draft ? {} : {
|
|
433
|
+
state: 'requested'
|
|
434
|
+
}), {}, {
|
|
435
|
+
requested_starts_at: requestedStartDate,
|
|
436
|
+
requested_ends_at: requestedEndDate
|
|
437
|
+
}, fspUtils.isCostPaymentType(feeScheduleProgram.payment_type) ? {
|
|
438
|
+
requested_cents: amountRequested
|
|
439
|
+
} : {
|
|
440
|
+
requested_unit_amount: parseInt(amountRequested)
|
|
441
|
+
}), {}, {
|
|
442
|
+
requester: currentEmployee.id,
|
|
443
|
+
insurance: insurances[0].id,
|
|
444
|
+
person: person.id
|
|
702
445
|
}));
|
|
703
|
-
|
|
704
|
-
|
|
446
|
+
};
|
|
447
|
+
const updateDraftReferral = async (referral, draft) => {
|
|
448
|
+
try {
|
|
449
|
+
const promises = [updateCase(referral.case.id, {
|
|
450
|
+
description: referral.description
|
|
451
|
+
})];
|
|
452
|
+
const isAuthRequired = get(referral, 'programs[0].fee_schedule_program.authorization_required', false);
|
|
453
|
+
if (!draft) {
|
|
454
|
+
let newState;
|
|
455
|
+
if (referralIsOON(referral)) {
|
|
456
|
+
newState = 'off_platform';
|
|
457
|
+
} else if (isAuthRequired) {
|
|
458
|
+
newState = 'pending_authorization';
|
|
459
|
+
} else {
|
|
460
|
+
newState = 'sent';
|
|
461
|
+
}
|
|
462
|
+
promises.push(updateReferral(referral.id, {
|
|
463
|
+
state: newState
|
|
464
|
+
}));
|
|
465
|
+
}
|
|
466
|
+
if (isAuthRequired) {
|
|
467
|
+
promises.push(updateServiceAuthorizationHandler(referral, {
|
|
468
|
+
draft
|
|
469
|
+
}));
|
|
470
|
+
}
|
|
471
|
+
const responses = await Promise.all(promises);
|
|
472
|
+
return {
|
|
473
|
+
referrals: draft ? [] : [responses[1].data.data],
|
|
474
|
+
cases: [responses[0].data.data]
|
|
475
|
+
};
|
|
476
|
+
} catch (err) {
|
|
477
|
+
CALLBACKS.notify.error("Error updating the Draft Referral");
|
|
478
|
+
throw err;
|
|
479
|
+
}
|
|
480
|
+
};
|
|
481
|
+
return async function () {
|
|
482
|
+
let {
|
|
483
|
+
draft = false,
|
|
484
|
+
latestResponses
|
|
485
|
+
} = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};
|
|
486
|
+
let response = {
|
|
487
|
+
referralsToConsent: []
|
|
705
488
|
};
|
|
706
|
-
|
|
707
|
-
|
|
708
|
-
|
|
709
|
-
|
|
710
|
-
|
|
711
|
-
|
|
712
|
-
|
|
713
|
-
|
|
714
|
-
|
|
715
|
-
|
|
716
|
-
|
|
717
|
-
|
|
718
|
-
|
|
719
|
-
|
|
720
|
-
|
|
721
|
-
|
|
722
|
-
|
|
723
|
-
|
|
724
|
-
|
|
725
|
-
|
|
726
|
-
|
|
727
|
-
return createReferrals({
|
|
728
|
-
referrals: referrals,
|
|
729
|
-
person: person,
|
|
730
|
-
draft: draft
|
|
731
|
-
});
|
|
732
|
-
case 5:
|
|
733
|
-
response = _context6.sent;
|
|
734
|
-
_context6.next = 19;
|
|
735
|
-
break;
|
|
736
|
-
case 8:
|
|
737
|
-
if (!(referrals.length === 1 && referrals[0].id && referrals[0].state === "draft")) {
|
|
738
|
-
_context6.next = 16;
|
|
739
|
-
break;
|
|
740
|
-
}
|
|
741
|
-
_context6.next = 11;
|
|
742
|
-
return updateDraftReferral(referrals[0], draft);
|
|
743
|
-
case 11:
|
|
744
|
-
response = _context6.sent;
|
|
745
|
-
referralData = referralToConsent({
|
|
746
|
-
originalReferral: referrals[0],
|
|
747
|
-
createdReferrals: response.referrals
|
|
748
|
-
});
|
|
749
|
-
if (referralData) response.referralsToConsent.push(referralData);
|
|
750
|
-
_context6.next = 19;
|
|
751
|
-
break;
|
|
752
|
-
case 16:
|
|
753
|
-
_context6.next = 18;
|
|
754
|
-
return createReferrals({
|
|
755
|
-
referrals: referrals,
|
|
756
|
-
person: person,
|
|
757
|
-
draft: draft
|
|
758
|
-
});
|
|
759
|
-
case 18:
|
|
760
|
-
response = _context6.sent;
|
|
761
|
-
case 19:
|
|
762
|
-
if (!(formResponses || latestResponses)) {
|
|
763
|
-
_context6.next = 22;
|
|
764
|
-
break;
|
|
765
|
-
}
|
|
766
|
-
_context6.next = 22;
|
|
767
|
-
return submitAssessments({
|
|
768
|
-
cases: response.cases,
|
|
769
|
-
latestResponses: latestResponses
|
|
770
|
-
});
|
|
771
|
-
case 22:
|
|
772
|
-
return _context6.abrupt("return", {
|
|
773
|
-
cases: response.cases,
|
|
774
|
-
referrals: response.referrals,
|
|
775
|
-
shippingDetail: response.shippingDetail,
|
|
776
|
-
referralsToConsent: response.referralsToConsent
|
|
777
|
-
});
|
|
778
|
-
case 23:
|
|
779
|
-
case "end":
|
|
780
|
-
return _context6.stop();
|
|
489
|
+
if (crtb1239AdaptDraftReferralFlow) {
|
|
490
|
+
response = await createReferrals({
|
|
491
|
+
referrals,
|
|
492
|
+
person,
|
|
493
|
+
draft
|
|
494
|
+
});
|
|
495
|
+
} else {
|
|
496
|
+
if (referrals.length === 1 && referrals[0].id && referrals[0].state === "draft") {
|
|
497
|
+
response = await updateDraftReferral(referrals[0], draft);
|
|
498
|
+
const referralData = referralToConsent({
|
|
499
|
+
originalReferral: referrals[0],
|
|
500
|
+
createdReferrals: response.referrals
|
|
501
|
+
});
|
|
502
|
+
if (referralData) response.referralsToConsent.push(referralData);
|
|
503
|
+
} else {
|
|
504
|
+
// Create or Save the Referral as a Draft
|
|
505
|
+
response = await createReferrals({
|
|
506
|
+
referrals,
|
|
507
|
+
person,
|
|
508
|
+
draft
|
|
509
|
+
});
|
|
781
510
|
}
|
|
782
|
-
}
|
|
783
|
-
|
|
511
|
+
}
|
|
512
|
+
if (formResponses || latestResponses) {
|
|
513
|
+
await submitAssessments({
|
|
514
|
+
cases: response.cases,
|
|
515
|
+
latestResponses
|
|
516
|
+
});
|
|
517
|
+
}
|
|
518
|
+
return {
|
|
519
|
+
cases: response.cases,
|
|
520
|
+
referrals: response.referrals,
|
|
521
|
+
shippingDetail: response.shippingDetail,
|
|
522
|
+
referralsToConsent: response.referralsToConsent
|
|
523
|
+
};
|
|
524
|
+
};
|
|
784
525
|
}
|
|
785
526
|
;
|
|
786
527
|
//# sourceMappingURL=useCreateReferrals.js.map
|