@unite-us/app-create-referral 0.15.59-alpha.4 → 0.15.59
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/.github/CODEOWNERS +3 -0
- package/.github/pull_request_template.md +25 -0
- package/.github/workflows/quality.yml +44 -0
- package/.github/workflows/semantic-release.yml +26 -0
- package/.nvmrc +1 -0
- package/babel.config.js +11 -0
- package/config-overrides.js +8 -0
- package/dist/AppReferrals.js +45 -45
- package/dist/AppReferrals.js.map +1 -1
- package/dist/AppReferrals.test.js +71 -34
- package/dist/AppReferrals.test.js.map +1 -1
- package/dist/__testUtils__/mockData/components/mockAppReferrals.js +12 -13
- 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 +282 -218
- package/dist/__testUtils__/mockData/utils.js.map +1 -1
- package/dist/__testUtils__/mockServer/handlers.js +82 -80
- package/dist/__testUtils__/mockServer/handlers.js.map +1 -1
- package/dist/__testUtils__/mockServer/server.js +13 -7
- package/dist/__testUtils__/mockServer/server.js.map +1 -1
- package/dist/__testUtils__/test-utils.js +18 -22
- package/dist/__testUtils__/test-utils.js.map +1 -1
- package/dist/actions/Document/Contact/Group/fetchCaseDocuments.js +41 -10
- package/dist/actions/Document/Contact/Group/fetchCaseDocuments.js.map +1 -1
- package/dist/actions/Document/Contact/Group/fetchContactDocuments.js +41 -10
- package/dist/actions/Document/Contact/Group/fetchContactDocuments.js.map +1 -1
- package/dist/actions/Document/Contact/Group/fileUploadUtils.js +10 -8
- package/dist/actions/Document/Contact/Group/fileUploadUtils.js.map +1 -1
- package/dist/actions/Group/fetchCoreGroupForms.js +97 -46
- package/dist/actions/Group/fetchCoreGroupForms.js.map +1 -1
- package/dist/actions/Referral/cannotMoveToReferralReasons.js +21 -23
- package/dist/actions/Referral/cannotMoveToReferralReasons.js.map +1 -1
- package/dist/actions/Referral/fetchCoreServices.js +169 -70
- package/dist/actions/Referral/fetchCoreServices.js.map +1 -1
- package/dist/actions/Referral/fetchNetworks.js +44 -11
- package/dist/actions/Referral/fetchNetworks.js.map +1 -1
- package/dist/actions/Referral/fetchPrimaryWorkers.js +84 -51
- package/dist/actions/Referral/fetchPrimaryWorkers.js.map +1 -1
- package/dist/actions/Referral/removeReferralProgram.js +15 -10
- package/dist/actions/Referral/removeReferralProgram.js.map +1 -1
- package/dist/api/ApiHooks.js +39 -40
- package/dist/api/ApiHooks.js.map +1 -1
- package/dist/api/config.js +23 -20
- package/dist/api/config.js.map +1 -1
- package/dist/common/form/CurrencyField/index.js +21 -22
- package/dist/common/form/CurrencyField/index.js.map +1 -1
- package/dist/common/form/DocumentUploader/components/ContactDocumentsSelector.js +48 -51
- package/dist/common/form/DocumentUploader/components/ContactDocumentsSelector.js.map +1 -1
- package/dist/common/form/DocumentUploader/components/DocumentsListView.js +12 -14
- package/dist/common/form/DocumentUploader/components/DocumentsListView.js.map +1 -1
- package/dist/common/form/DocumentUploader/components/ListViewDocument.js +17 -21
- package/dist/common/form/DocumentUploader/components/ListViewDocument.js.map +1 -1
- package/dist/common/form/ErrorMessage/index.js +9 -17
- package/dist/common/form/ErrorMessage/index.js.map +1 -1
- package/dist/common/form/FileUploadV2/FileUpload.js +137 -159
- package/dist/common/form/FileUploadV2/FileUpload.js.map +1 -1
- package/dist/common/form/FileUploadV2/components/FilePreview.js +5 -8
- package/dist/common/form/FileUploadV2/components/FilePreview.js.map +1 -1
- package/dist/common/form/FileUploadV2/components/FilePreviewWrapper.js +21 -26
- package/dist/common/form/FileUploadV2/components/FilePreviewWrapper.js.map +1 -1
- package/dist/common/form/FormForm/index.js +194 -143
- 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 +8 -12
- package/dist/components/Card.js.map +1 -1
- package/dist/components/CreateReferralContainer.js +13 -21
- package/dist/components/CreateReferralContainer.js.map +1 -1
- package/dist/components/DollarAmount.js +14 -18
- package/dist/components/DollarAmount.js.map +1 -1
- package/dist/components/ExpandableButton.js +16 -21
- package/dist/components/ExpandableButton.js.map +1 -1
- package/dist/components/NavButtons.js +51 -57
- package/dist/components/NavButtons.js.map +1 -1
- package/dist/components/ReferralStepper.js +41 -44
- package/dist/components/ReferralStepper.js.map +1 -1
- package/dist/components/SearchableField.js +125 -121
- package/dist/components/SearchableField.js.map +1 -1
- package/dist/components/StepHeader.js +16 -25
- package/dist/components/StepHeader.js.map +1 -1
- package/dist/components/Stepper.js +51 -55
- package/dist/components/Stepper.js.map +1 -1
- package/dist/components/modal/Dialog.js +170 -141
- package/dist/components/modal/Dialog.js.map +1 -1
- package/dist/components/modal/Overlay.js +1 -2
- package/dist/components/modal/Overlay.js.map +1 -1
- package/dist/components/service_authorization/AuthorizationSpendCard.js +60 -72
- package/dist/components/service_authorization/AuthorizationSpendCard.js.map +1 -1
- package/dist/components/service_authorization/CapsInfo.js +120 -143
- package/dist/components/service_authorization/CapsInfo.js.map +1 -1
- package/dist/components/service_authorization/CaseStatus.js +14 -18
- package/dist/components/service_authorization/CaseStatus.js.map +1 -1
- package/dist/components/service_authorization/PreviousAuthorizationRequestsDetails.js +96 -121
- 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 +65 -82
- package/dist/components/service_authorization/ReferralAuthorizationRequestSummary.js.map +1 -1
- package/dist/components/service_authorization/Spend.js +5 -10
- 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 +23 -34
- package/dist/components/spinners/OverlaySpinner/OverlaySpinner.js.map +1 -1
- package/dist/components/spinners/Spinner/Spinner.js +27 -33
- 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 +36 -25
- package/dist/context/AppCreateReferralProvider.js.map +1 -1
- package/dist/context/state.js +5 -2
- package/dist/context/state.js.map +1 -1
- package/dist/context/withAppCreateReferralContext.js +5 -9
- package/dist/context/withAppCreateReferralContext.js.map +1 -1
- package/dist/hooks/__tests__/useCreateReferrals.test.js +560 -456
- package/dist/hooks/__tests__/useCreateReferrals.test.js.map +1 -1
- package/dist/hooks/sendReferral.js +339 -155
- package/dist/hooks/sendReferral.js.map +1 -1
- package/dist/hooks/useClinicalModificationOptions.js +34 -24
- package/dist/hooks/useClinicalModificationOptions.js.map +1 -1
- package/dist/hooks/useCreateReferrals.js +722 -463
- package/dist/hooks/useCreateReferrals.js.map +1 -1
- package/dist/hooks/useCreateResourceList.js +76 -56
- package/dist/hooks/useCreateResourceList.js.map +1 -1
- package/dist/hooks/useCreateShareEvent.js +42 -18
- package/dist/hooks/useCreateShareEvent.js.map +1 -1
- package/dist/hooks/useForwardReferral.js +118 -78
- package/dist/hooks/useForwardReferral.js.map +1 -1
- package/dist/hooks/usePerson.js +49 -21
- package/dist/hooks/usePerson.js.map +1 -1
- package/dist/hooks/useUpdateResourceList.js +28 -34
- package/dist/hooks/useUpdateResourceList.js.map +1 -1
- package/dist/pages/builder/AboutGroupedReferralsModal.js +27 -48
- package/dist/pages/builder/AboutGroupedReferralsModal.js.map +1 -1
- package/dist/pages/builder/AuthorizationSubform.js +131 -143
- package/dist/pages/builder/AuthorizationSubform.js.map +1 -1
- package/dist/pages/builder/ChooseOneServiceTypeModal.js +53 -56
- package/dist/pages/builder/ChooseOneServiceTypeModal.js.map +1 -1
- package/dist/pages/builder/DetailsDrawer.js +72 -74
- package/dist/pages/builder/DetailsDrawer.js.map +1 -1
- package/dist/pages/builder/LineItem.js +25 -28
- package/dist/pages/builder/LineItem.js.map +1 -1
- package/dist/pages/builder/NoReferralsDisplay.js +29 -41
- package/dist/pages/builder/NoReferralsDisplay.js.map +1 -1
- package/dist/pages/builder/ProgramHeader.js +20 -33
- package/dist/pages/builder/ProgramHeader.js.map +1 -1
- package/dist/pages/builder/ProgramMenu.js +18 -19
- package/dist/pages/builder/ProgramMenu.js.map +1 -1
- package/dist/pages/builder/ReferralBuilder.js +443 -341
- package/dist/pages/builder/ReferralBuilder.js.map +1 -1
- package/dist/pages/builder/ReferralBuilderForm.js +392 -323
- package/dist/pages/builder/ReferralBuilderForm.js.map +1 -1
- package/dist/pages/builder/ReferralCard.js +99 -125
- package/dist/pages/builder/ReferralCard.js.map +1 -1
- package/dist/pages/builder/ReferralProgramCard.js +160 -109
- package/dist/pages/builder/ReferralProgramCard.js.map +1 -1
- package/dist/pages/builder/ReferralProgramMenu.js +116 -102
- package/dist/pages/builder/ReferralProgramMenu.js.map +1 -1
- package/dist/pages/builder/__tests__/AuthRequiredClinicalCodes.test.js +246 -99
- package/dist/pages/builder/__tests__/AuthRequiredClinicalCodes.test.js.map +1 -1
- package/dist/pages/builder/__tests__/AuthRequiredNonFundedPrograms.test.js +86 -48
- package/dist/pages/builder/__tests__/AuthRequiredNonFundedPrograms.test.js.map +1 -1
- package/dist/pages/builder/__tests__/AuthorizationRequiredPrograms.test.js +133 -74
- package/dist/pages/builder/__tests__/AuthorizationRequiredPrograms.test.js.map +1 -1
- package/dist/pages/builder/__tests__/NonSensitiveGroupedPrograms.test.js +1269 -674
- package/dist/pages/builder/__tests__/NonSensitiveGroupedPrograms.test.js.map +1 -1
- package/dist/pages/builder/__tests__/NonSensitiveSingleProgram.test.js +575 -305
- package/dist/pages/builder/__tests__/NonSensitiveSingleProgram.test.js.map +1 -1
- package/dist/pages/builder/__tests__/ReferralBuilder.test.js +45 -14
- package/dist/pages/builder/__tests__/ReferralBuilder.test.js.map +1 -1
- package/dist/pages/builder/__tests__/SensitiveProviderGroupedPrograms.test.js +815 -407
- package/dist/pages/builder/__tests__/SensitiveProviderGroupedPrograms.test.js.map +1 -1
- package/dist/pages/builder/__tests__/SensitiveServiceGroupedPrograms.test.js +254 -139
- package/dist/pages/builder/__tests__/SensitiveServiceGroupedPrograms.test.js.map +1 -1
- package/dist/pages/builder/__tests__/SensitiveServiceSensitiveProviderGroupedPrograms.test.js +518 -262
- package/dist/pages/builder/__tests__/SensitiveServiceSensitiveProviderGroupedPrograms.test.js.map +1 -1
- package/dist/pages/builder/__tests__/SensitiveSingleProgram.test.js +504 -273
- 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 +113 -80
- 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 +180 -152
- package/dist/pages/builder/formatProgramDetail.js.map +1 -1
- package/dist/pages/builder/useBuildReferrals.js +163 -95
- package/dist/pages/builder/useBuildReferrals.js.map +1 -1
- package/dist/pages/builder/utils.js +133 -84
- package/dist/pages/builder/utils.js.map +1 -1
- package/dist/pages/review/DeleteReferralModal.js +31 -45
- package/dist/pages/review/DeleteReferralModal.js.map +1 -1
- package/dist/pages/review/DropdownMultiplesReferrals.js +92 -75
- package/dist/pages/review/DropdownMultiplesReferrals.js.map +1 -1
- package/dist/pages/review/ReferralsSent.js +239 -200
- package/dist/pages/review/ReferralsSent.js.map +1 -1
- package/dist/pages/review/Review.js +554 -451
- package/dist/pages/review/Review.js.map +1 -1
- package/dist/pages/review/__tests__/CallbackNotifications.test.js +66 -46
- package/dist/pages/review/__tests__/CallbackNotifications.test.js.map +1 -1
- package/dist/pages/review/__tests__/ReferralsSent.test.js +349 -189
- package/dist/pages/review/__tests__/ReferralsSent.test.js.map +1 -1
- package/dist/pages/review/__tests__/Review.test.js +599 -380
- 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 +168 -123
- package/dist/pages/supporting-info/SupportingInfo.js.map +1 -1
- package/dist/pages/supporting-info/__tests__/SupportingInfo.test.js +164 -85
- 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 +7 -9
- package/dist/reportWebVitals.js.map +1 -1
- package/dist/setupTests.js +30 -8
- 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 +9 -14
- package/dist/utils/canAccept.js.map +1 -1
- package/dist/utils/canChangeHoldReason.js +11 -16
- package/dist/utils/canChangeHoldReason.js.map +1 -1
- package/dist/utils/canHoldForReview.js +8 -13
- package/dist/utils/canHoldForReview.js.map +1 -1
- package/dist/utils/canReject.js +14 -21
- 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 +2 -4
- package/dist/utils/isReferralForwarded.js.map +1 -1
- package/dist/utils/referralToConsent.js +19 -14
- package/dist/utils/referralToConsent.js.map +1 -1
- package/dist/utils/useDebounce.js +18 -7
- 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 +35 -65
|
@@ -1,6 +1,30 @@
|
|
|
1
|
-
|
|
1
|
+
function _typeof(o) { "@babel/helpers - typeof"; return _typeof = "function" == typeof Symbol && "symbol" == typeof Symbol.iterator ? function (o) { return typeof o; } : function (o) { return o && "function" == typeof Symbol && o.constructor === Symbol && o !== Symbol.prototype ? "symbol" : typeof o; }, _typeof(o); }
|
|
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; }
|
|
2
15
|
function ownKeys(e, r) { var t = Object.keys(e); if (Object.getOwnPropertySymbols) { var o = Object.getOwnPropertySymbols(e); r && (o = o.filter(function (r) { return Object.getOwnPropertyDescriptor(e, r).enumerable; })), t.push.apply(t, o); } return t; }
|
|
3
16
|
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; }
|
|
4
28
|
import { get, map, isEmpty } from 'lodash';
|
|
5
29
|
import moment from 'moment';
|
|
6
30
|
import fspUtils from '@unite-us/client-utils/dist/utils/feeSchedulePrograms';
|
|
@@ -11,8 +35,8 @@ import { useAppCreateReferralContext } from '../context/AppCreateReferralProvide
|
|
|
11
35
|
import { useFeatureFlag } from '../utils/useFeatureFlag';
|
|
12
36
|
import referralToConsent from '../utils/referralToConsent';
|
|
13
37
|
import { formatShortDate2FromTimestamp } from '../components/service_authorization/formatShortDate';
|
|
14
|
-
|
|
15
|
-
|
|
38
|
+
var validateRequiredValues = function validateRequiredValues(type, values) {
|
|
39
|
+
var requiredFields = [];
|
|
16
40
|
if (type === 'case') {
|
|
17
41
|
requiredFields = ['description', 'service', 'provider', 'network', 'person'];
|
|
18
42
|
} else if (type === 'note') {
|
|
@@ -20,81 +44,85 @@ const validateRequiredValues = (type, values) => {
|
|
|
20
44
|
} else if (type === 'referral') {
|
|
21
45
|
requiredFields = ['case', 'receiving_program', 'receiving_provider', 'receiving_network', 'sending_provider', 'sending_network'];
|
|
22
46
|
}
|
|
23
|
-
return requiredFields.filter(
|
|
47
|
+
return requiredFields.filter(function (field) {
|
|
48
|
+
return !values[field];
|
|
49
|
+
});
|
|
24
50
|
};
|
|
25
51
|
export default function useCreateReferrals() {
|
|
26
|
-
|
|
27
|
-
state
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
|
|
37
|
-
|
|
38
|
-
|
|
39
|
-
|
|
40
|
-
|
|
41
|
-
|
|
42
|
-
createRecord
|
|
43
|
-
|
|
44
|
-
|
|
45
|
-
|
|
46
|
-
|
|
47
|
-
|
|
48
|
-
createRecord
|
|
49
|
-
|
|
50
|
-
|
|
51
|
-
|
|
52
|
-
|
|
53
|
-
|
|
54
|
-
|
|
55
|
-
|
|
56
|
-
|
|
57
|
-
|
|
58
|
-
|
|
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(', ');
|
|
52
|
+
var _useAppCreateReferral = useAppCreateReferralContext(),
|
|
53
|
+
_useAppCreateReferral2 = _useAppCreateReferral.state,
|
|
54
|
+
currentEmployee = _useAppCreateReferral2.currentEmployee,
|
|
55
|
+
formResponses = _useAppCreateReferral2.formResponses,
|
|
56
|
+
person = _useAppCreateReferral2.person,
|
|
57
|
+
referrals = _useAppCreateReferral2.referrals,
|
|
58
|
+
formSubmissionId = _useAppCreateReferral2.formSubmissionId,
|
|
59
|
+
assistanceRequestId = _useAppCreateReferral2.assistanceRequestId,
|
|
60
|
+
screeningId = _useAppCreateReferral2.screeningId;
|
|
61
|
+
var crtb1239AdaptDraftReferralFlow = useFeatureFlag('crtb1239AdaptDraftReferralFlow', false);
|
|
62
|
+
var hint542SupersetUnlistedPrograms = useFeatureFlag('hint542SupersetUnlistedPrograms', false);
|
|
63
|
+
var pays5590RefactorInsuranceFilters = useFeatureFlag('pays5590RefactorInsuranceFilters', false);
|
|
64
|
+
var showClientNeed = useFeatureFlag('crtb1788ClientNeeds', false);
|
|
65
|
+
var _useCreateRecord = useCreateRecord('referral'),
|
|
66
|
+
createReferral = _useCreateRecord.createRecord;
|
|
67
|
+
var _useCreateRecord2 = useCreateRecord('case'),
|
|
68
|
+
createCase = _useCreateRecord2.createRecord;
|
|
69
|
+
var _useCreateRecord3 = useCreateRecord('service_authorization'),
|
|
70
|
+
createServiceAuthorization = _useCreateRecord3.createRecord;
|
|
71
|
+
var _useCreateRecord4 = useCreateRecord('form_submission'),
|
|
72
|
+
createFormSubmission = _useCreateRecord4.createRecord;
|
|
73
|
+
var _useCreateRecord5 = useCreateRecord('note'),
|
|
74
|
+
createNote = _useCreateRecord5.createRecord;
|
|
75
|
+
var _useUpdateRecord = useUpdateRecord('referral'),
|
|
76
|
+
updateReferral = _useUpdateRecord.updateRecord;
|
|
77
|
+
var _useUpdateRecord2 = useUpdateRecord('case'),
|
|
78
|
+
updateCase = _useUpdateRecord2.updateRecord;
|
|
79
|
+
var _useUpdateRecord3 = useUpdateRecord('service_authorization'),
|
|
80
|
+
updateServiceAuthorization = _useUpdateRecord3.updateRecord;
|
|
81
|
+
var createErrorMessage = function createErrorMessage(error) {
|
|
82
|
+
return error.response.data.errors.map(function (error) {
|
|
83
|
+
return error.title;
|
|
84
|
+
}).join(', ');
|
|
67
85
|
};
|
|
68
|
-
|
|
69
|
-
|
|
70
|
-
|
|
71
|
-
|
|
72
|
-
|
|
73
|
-
|
|
74
|
-
|
|
86
|
+
var uploadDocuments = function uploadDocuments(referral, caseToUploadDoc) {
|
|
87
|
+
var attachableDocuments = get(referral, 'attachableDocuments', []);
|
|
88
|
+
var filteredDocuments = attachableDocuments.filter(function (doc) {
|
|
89
|
+
return doc.attached === true;
|
|
90
|
+
});
|
|
91
|
+
var attachedDocuments = filteredDocuments.map(function (ad) {
|
|
92
|
+
return {
|
|
93
|
+
title: ad.document.title,
|
|
94
|
+
id: ad.document.id
|
|
95
|
+
};
|
|
96
|
+
});
|
|
75
97
|
if (!isEmpty(attachedDocuments)) {
|
|
76
|
-
|
|
77
|
-
|
|
78
|
-
|
|
79
|
-
|
|
80
|
-
|
|
98
|
+
var attachDocumentsToResource = function attachDocumentsToResource() {
|
|
99
|
+
return coreApi.setRelationship('case', caseToUploadDoc.id, {
|
|
100
|
+
relationshipModel: 'file_upload',
|
|
101
|
+
value: attachedDocuments.map(function (a) {
|
|
102
|
+
return a.id;
|
|
103
|
+
})
|
|
104
|
+
});
|
|
105
|
+
};
|
|
106
|
+
var uploadPromises = !isEmpty(attachedDocuments) && attachDocumentsToResource();
|
|
81
107
|
Promise.all([uploadPromises]);
|
|
82
108
|
}
|
|
83
|
-
|
|
109
|
+
var uploadedDocuments = get(referral, 'attachments', []);
|
|
84
110
|
if (!isEmpty(uploadedDocuments)) {
|
|
85
|
-
|
|
86
|
-
|
|
87
|
-
|
|
111
|
+
var uploadDocumentsToResource = function uploadDocumentsToResource() {
|
|
112
|
+
return uploadedDocuments.map(function (d) {
|
|
113
|
+
return coreApi.uploadFile('case', caseToUploadDoc.id, d.file);
|
|
114
|
+
});
|
|
115
|
+
};
|
|
116
|
+
var _uploadPromises = uploadDocumentsToResource();
|
|
117
|
+
Promise.all(_toConsumableArray(_uploadPromises || []));
|
|
88
118
|
}
|
|
89
119
|
};
|
|
90
|
-
|
|
91
|
-
|
|
92
|
-
|
|
93
|
-
|
|
94
|
-
|
|
95
|
-
|
|
96
|
-
map(cases, serviceCase => {
|
|
97
|
-
map(latestResponses || formResponses, assessment => {
|
|
120
|
+
var submitAssessments = function submitAssessments(_ref) {
|
|
121
|
+
var cases = _ref.cases,
|
|
122
|
+
latestResponses = _ref.latestResponses;
|
|
123
|
+
var promises = [];
|
|
124
|
+
map(cases, function (serviceCase) {
|
|
125
|
+
map(latestResponses || formResponses, function (assessment) {
|
|
98
126
|
var _assessment$form;
|
|
99
127
|
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)) {
|
|
100
128
|
promises.push(createFormSubmission({
|
|
@@ -108,420 +136,651 @@ export default function useCreateReferrals() {
|
|
|
108
136
|
}
|
|
109
137
|
});
|
|
110
138
|
});
|
|
111
|
-
return Promise.all(promises).then(responses
|
|
139
|
+
return Promise.all(promises).then(function (responses) {
|
|
112
140
|
return responses;
|
|
113
|
-
}).catch(err
|
|
141
|
+
}).catch(function (err) {
|
|
114
142
|
CALLBACKS.notify.error("Error submitting Assessments");
|
|
115
143
|
throw err;
|
|
116
144
|
});
|
|
117
145
|
};
|
|
118
|
-
|
|
119
|
-
|
|
120
|
-
referrals,
|
|
121
|
-
|
|
122
|
-
|
|
123
|
-
|
|
124
|
-
|
|
125
|
-
|
|
126
|
-
|
|
127
|
-
|
|
128
|
-
|
|
129
|
-
|
|
130
|
-
|
|
131
|
-
|
|
132
|
-
|
|
133
|
-
|
|
134
|
-
|
|
135
|
-
|
|
136
|
-
|
|
137
|
-
|
|
138
|
-
|
|
139
|
-
|
|
140
|
-
|
|
141
|
-
|
|
142
|
-
|
|
143
|
-
|
|
144
|
-
|
|
145
|
-
|
|
146
|
-
|
|
147
|
-
|
|
148
|
-
|
|
149
|
-
|
|
146
|
+
var createReferrals = /*#__PURE__*/function () {
|
|
147
|
+
var _ref3 = _asyncToGenerator(/*#__PURE__*/_regeneratorRuntime().mark(function _callee(_ref2) {
|
|
148
|
+
var referrals, person, draft, result, groupedReferrals, _loop, i;
|
|
149
|
+
return _regeneratorRuntime().wrap(function _callee$(_context2) {
|
|
150
|
+
while (1) switch (_context2.prev = _context2.next) {
|
|
151
|
+
case 0:
|
|
152
|
+
referrals = _ref2.referrals, person = _ref2.person, draft = _ref2.draft;
|
|
153
|
+
result = {
|
|
154
|
+
referrals: [],
|
|
155
|
+
cases: [],
|
|
156
|
+
shippingDetail: [],
|
|
157
|
+
referralsToConsent: []
|
|
158
|
+
};
|
|
159
|
+
groupedReferrals = referrals.some(function (r) {
|
|
160
|
+
return get(r, 'programs', []).length > 1;
|
|
161
|
+
});
|
|
162
|
+
_loop = /*#__PURE__*/_regeneratorRuntime().mark(function _loop(i) {
|
|
163
|
+
var _referrals$i$case, _result$referrals, resultDraft, item, referralData, referral, referredToPrograms, isGrouped, isOON, createdCaseOrExistingAR, authorizationCreated, createdReferrals, j, programData, _referral$primaryWork, _referral$client_need, caseValues, missingCaseValues, caseResponse, _referral$client_need2, arCase, payload, feeScheduleProgram, _referral$paymentAuth, _referral$paymentAuth2, _responseInsurances$d, serviceStart, requestedStartDate, serviceEnd, requestedEndDate, amountRequested, icd10Codes, queryInsuranceParams, responseInsurances, insurances, state, createNoteForUnlistedProgramValues, missingNoteValues, noteReferral, _item, referralValues, missingReferralValues, responseReferral, _item2, _referralData;
|
|
164
|
+
return _regeneratorRuntime().wrap(function _loop$(_context) {
|
|
165
|
+
while (1) switch (_context.prev = _context.next) {
|
|
166
|
+
case 0:
|
|
167
|
+
result.shippingDetail.push({
|
|
168
|
+
index: i,
|
|
169
|
+
sent: false,
|
|
170
|
+
error: null
|
|
171
|
+
});
|
|
172
|
+
_context.prev = 1;
|
|
173
|
+
if (!(crtb1239AdaptDraftReferralFlow && referrals[i].state === "draft")) {
|
|
174
|
+
_context.next = 21;
|
|
175
|
+
break;
|
|
176
|
+
}
|
|
177
|
+
resultDraft = undefined;
|
|
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));
|
|
150
200
|
|
|
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
|
-
|
|
179
|
-
|
|
180
|
-
|
|
181
|
-
|
|
182
|
-
|
|
183
|
-
|
|
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), {}, {
|
|
201
|
+
// From one draft multiple referrals could be created (grouped referrals)
|
|
202
|
+
referralData = referralToConsent({
|
|
203
|
+
originalReferral: referrals[i],
|
|
204
|
+
createdReferrals: resultDraft.referrals
|
|
205
|
+
});
|
|
206
|
+
if (referralData) result.referralsToConsent.push(referralData);
|
|
207
|
+
_context.next = 126;
|
|
208
|
+
break;
|
|
209
|
+
case 21:
|
|
210
|
+
referral = referrals[i];
|
|
211
|
+
referredToPrograms = get(referral, 'programs', []);
|
|
212
|
+
isGrouped = referralIsGrouped(referral);
|
|
213
|
+
isOON = referralIsOON(referral);
|
|
214
|
+
createdCaseOrExistingAR = null;
|
|
215
|
+
authorizationCreated = false;
|
|
216
|
+
createdReferrals = [];
|
|
217
|
+
j = 0;
|
|
218
|
+
case 29:
|
|
219
|
+
if (!(j < referredToPrograms.length)) {
|
|
220
|
+
_context.next = 124;
|
|
221
|
+
break;
|
|
222
|
+
}
|
|
223
|
+
programData = referredToPrograms[j];
|
|
224
|
+
if (!(groupedReferrals && !createdCaseOrExistingAR || !groupedReferrals)) {
|
|
225
|
+
_context.next = 79;
|
|
226
|
+
break;
|
|
227
|
+
}
|
|
228
|
+
caseValues = _objectSpread(_objectSpread(_objectSpread({
|
|
229
|
+
description: referral.description,
|
|
230
|
+
state: referralIsOON(referral) ? 'off_platform' : 'draft',
|
|
231
|
+
person: person.id,
|
|
232
|
+
provider: referral.sendingProvider.id,
|
|
233
|
+
network: referral.network.id,
|
|
206
234
|
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;
|
|
207
393
|
});
|
|
208
|
-
|
|
209
|
-
|
|
210
|
-
|
|
211
|
-
|
|
212
|
-
|
|
213
|
-
|
|
394
|
+
if (_item) _item.sent = true;
|
|
395
|
+
_context.next = 100;
|
|
396
|
+
break;
|
|
397
|
+
case 96:
|
|
398
|
+
_context.prev = 96;
|
|
399
|
+
_context.t1 = _context["catch"](88);
|
|
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;
|
|
214
432
|
});
|
|
215
|
-
|
|
216
|
-
|
|
217
|
-
|
|
218
|
-
|
|
219
|
-
|
|
220
|
-
|
|
221
|
-
|
|
222
|
-
|
|
223
|
-
|
|
224
|
-
|
|
225
|
-
|
|
226
|
-
|
|
227
|
-
|
|
228
|
-
|
|
229
|
-
|
|
230
|
-
|
|
231
|
-
|
|
232
|
-
|
|
233
|
-
|
|
234
|
-
|
|
235
|
-
|
|
236
|
-
|
|
237
|
-
|
|
238
|
-
|
|
239
|
-
|
|
240
|
-
|
|
241
|
-
|
|
242
|
-
|
|
243
|
-
|
|
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;
|
|
433
|
+
if (_item2) _item2.sent = true;
|
|
434
|
+
createdReferrals.push(responseReferral.data.data);
|
|
435
|
+
_context.next = 121;
|
|
436
|
+
break;
|
|
437
|
+
case 117:
|
|
438
|
+
_context.prev = 117;
|
|
439
|
+
_context.t2 = _context["catch"](107);
|
|
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();
|
|
264
463
|
}
|
|
265
|
-
|
|
266
|
-
|
|
267
|
-
|
|
268
|
-
|
|
464
|
+
}, _loop, null, [[1, 128], [38, 75], [88, 96], [107, 117]]);
|
|
465
|
+
});
|
|
466
|
+
i = 0;
|
|
467
|
+
case 5:
|
|
468
|
+
if (!(i < referrals.length)) {
|
|
469
|
+
_context2.next = 10;
|
|
470
|
+
break;
|
|
471
|
+
}
|
|
472
|
+
return _context2.delegateYield(_loop(i), "t0", 7);
|
|
473
|
+
case 7:
|
|
474
|
+
i += 1;
|
|
475
|
+
_context2.next = 5;
|
|
476
|
+
break;
|
|
477
|
+
case 10:
|
|
478
|
+
return _context2.abrupt("return", result);
|
|
479
|
+
case 11:
|
|
480
|
+
case "end":
|
|
481
|
+
return _context2.stop();
|
|
482
|
+
}
|
|
483
|
+
}, _callee);
|
|
484
|
+
}));
|
|
485
|
+
return function createReferrals(_x) {
|
|
486
|
+
return _ref3.apply(this, arguments);
|
|
487
|
+
};
|
|
488
|
+
}();
|
|
489
|
+
var updateDraftReferralCrtb1239 = /*#__PURE__*/function () {
|
|
490
|
+
var _ref4 = _asyncToGenerator(/*#__PURE__*/_regeneratorRuntime().mark(function _callee2(referral) {
|
|
491
|
+
var _caseResponse$data, _caseResponse$data2, _yield$Promise$all, _yield$Promise$all2, caseRequestResponse, referralsRequestResponse, oldCase, oldReferrals, serviceTypeChanged, descriptionChanged, serviceCasePayload, caseResponse, referralsToDelete, formRecipientsIds, createReferralPromises, referralsResponse;
|
|
492
|
+
return _regeneratorRuntime().wrap(function _callee2$(_context3) {
|
|
493
|
+
while (1) switch (_context3.prev = _context3.next) {
|
|
494
|
+
case 0:
|
|
495
|
+
_context3.prev = 0;
|
|
496
|
+
_context3.next = 3;
|
|
497
|
+
return Promise.all([coreApi.findRecord('case', referral.case.id), coreApi.query('referral', {
|
|
498
|
+
case: referral.case.id
|
|
499
|
+
})]);
|
|
500
|
+
case 3:
|
|
501
|
+
_yield$Promise$all = _context3.sent;
|
|
502
|
+
_yield$Promise$all2 = _slicedToArray(_yield$Promise$all, 2);
|
|
503
|
+
caseRequestResponse = _yield$Promise$all2[0];
|
|
504
|
+
referralsRequestResponse = _yield$Promise$all2[1];
|
|
505
|
+
oldCase = get(caseRequestResponse, 'data.data', null);
|
|
506
|
+
oldReferrals = get(referralsRequestResponse, 'data.data', null);
|
|
507
|
+
serviceTypeChanged = referral.service.id !== oldCase.service_type.id;
|
|
508
|
+
descriptionChanged = referral.description && referral.description !== oldCase.description;
|
|
509
|
+
serviceCasePayload = _objectSpread(_objectSpread({}, serviceTypeChanged && {
|
|
510
|
+
service: {
|
|
511
|
+
id: referral.service.id
|
|
269
512
|
}
|
|
513
|
+
}), descriptionChanged && {
|
|
514
|
+
description: referral.description
|
|
515
|
+
});
|
|
516
|
+
if (!isEmpty(serviceCasePayload)) {
|
|
517
|
+
_context3.next = 16;
|
|
518
|
+
break;
|
|
270
519
|
}
|
|
271
|
-
|
|
272
|
-
|
|
273
|
-
|
|
274
|
-
|
|
275
|
-
|
|
276
|
-
|
|
277
|
-
|
|
278
|
-
|
|
279
|
-
|
|
280
|
-
|
|
520
|
+
_context3.t0 = oldCase;
|
|
521
|
+
_context3.next = 19;
|
|
522
|
+
break;
|
|
523
|
+
case 16:
|
|
524
|
+
_context3.next = 18;
|
|
525
|
+
return updateCase(referral.case.id, serviceCasePayload);
|
|
526
|
+
case 18:
|
|
527
|
+
_context3.t0 = _context3.sent;
|
|
528
|
+
case 19:
|
|
529
|
+
caseResponse = _context3.t0;
|
|
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;
|
|
281
538
|
}
|
|
282
|
-
|
|
283
|
-
|
|
284
|
-
|
|
285
|
-
|
|
286
|
-
|
|
287
|
-
|
|
288
|
-
|
|
289
|
-
|
|
539
|
+
_context3.next = 26;
|
|
540
|
+
return Promise.all(referralsToDelete);
|
|
541
|
+
case 26:
|
|
542
|
+
formRecipientsIds = map(referral.programs, function (r) {
|
|
543
|
+
return {
|
|
544
|
+
provider_id: r.provider.id,
|
|
545
|
+
network: referral.network,
|
|
546
|
+
program_id: r.id
|
|
290
547
|
};
|
|
291
|
-
|
|
292
|
-
|
|
293
|
-
|
|
294
|
-
|
|
295
|
-
|
|
296
|
-
|
|
297
|
-
|
|
298
|
-
|
|
299
|
-
|
|
300
|
-
|
|
301
|
-
|
|
302
|
-
|
|
303
|
-
|
|
304
|
-
|
|
305
|
-
|
|
306
|
-
|
|
307
|
-
|
|
308
|
-
|
|
309
|
-
|
|
310
|
-
|
|
311
|
-
|
|
312
|
-
|
|
313
|
-
|
|
314
|
-
|
|
315
|
-
|
|
316
|
-
|
|
317
|
-
|
|
318
|
-
|
|
319
|
-
|
|
320
|
-
|
|
321
|
-
|
|
322
|
-
|
|
323
|
-
|
|
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;
|
|
334
|
-
}
|
|
335
|
-
}
|
|
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);
|
|
343
|
-
}
|
|
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
|
|
548
|
+
});
|
|
549
|
+
createReferralPromises = [];
|
|
550
|
+
formRecipientsIds.forEach(function (r) {
|
|
551
|
+
var newReferral = createReferral({
|
|
552
|
+
state: 'sent',
|
|
553
|
+
case: oldCase.id,
|
|
554
|
+
receiving_program: r.program_id,
|
|
555
|
+
receiving_provider: r.provider_id,
|
|
556
|
+
receiving_network: r.network.id,
|
|
557
|
+
sending_provider: oldCase.provider.id,
|
|
558
|
+
sending_network: oldCase.network.id
|
|
559
|
+
});
|
|
560
|
+
createReferralPromises.push(newReferral);
|
|
561
|
+
});
|
|
562
|
+
_context3.next = 31;
|
|
563
|
+
return Promise.all(createReferralPromises);
|
|
564
|
+
case 31:
|
|
565
|
+
referralsResponse = _context3.sent;
|
|
566
|
+
return _context3.abrupt("return", {
|
|
567
|
+
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],
|
|
568
|
+
referrals: referralsResponse.map(function (referralResponse) {
|
|
569
|
+
var _referralResponse$dat;
|
|
570
|
+
return referralResponse === null || referralResponse === void 0 || (_referralResponse$dat = referralResponse.data) === null || _referralResponse$dat === void 0 ? void 0 : _referralResponse$dat.data;
|
|
571
|
+
})
|
|
572
|
+
});
|
|
573
|
+
case 35:
|
|
574
|
+
_context3.prev = 35;
|
|
575
|
+
_context3.t1 = _context3["catch"](0);
|
|
576
|
+
CALLBACKS.notify.error("Error updating the Draft Referral");
|
|
577
|
+
throw _context3.t1;
|
|
578
|
+
case 39:
|
|
579
|
+
case "end":
|
|
580
|
+
return _context3.stop();
|
|
363
581
|
}
|
|
364
|
-
}
|
|
365
|
-
|
|
366
|
-
|
|
367
|
-
|
|
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'
|
|
582
|
+
}, _callee2, null, [[0, 35]]);
|
|
583
|
+
}));
|
|
584
|
+
return function updateDraftReferralCrtb1239(_x2) {
|
|
585
|
+
return _ref4.apply(this, arguments);
|
|
429
586
|
};
|
|
430
|
-
|
|
431
|
-
|
|
432
|
-
|
|
433
|
-
|
|
434
|
-
|
|
435
|
-
|
|
436
|
-
|
|
437
|
-
|
|
438
|
-
|
|
439
|
-
|
|
440
|
-
|
|
441
|
-
|
|
442
|
-
|
|
443
|
-
|
|
444
|
-
|
|
587
|
+
}();
|
|
588
|
+
var updateServiceAuthorizationHandler = /*#__PURE__*/function () {
|
|
589
|
+
var _ref5 = _asyncToGenerator(/*#__PURE__*/_regeneratorRuntime().mark(function _callee3(referral) {
|
|
590
|
+
var _referral$paymentAuth3, _referral$paymentAuth4, _responseInsurances$d2;
|
|
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);
|
|
445
651
|
}));
|
|
446
|
-
|
|
447
|
-
|
|
448
|
-
|
|
449
|
-
|
|
450
|
-
|
|
451
|
-
|
|
452
|
-
|
|
453
|
-
|
|
454
|
-
|
|
455
|
-
|
|
456
|
-
|
|
457
|
-
|
|
458
|
-
|
|
459
|
-
|
|
460
|
-
|
|
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';
|
|
674
|
+
}
|
|
675
|
+
promises.push(updateReferral(referral.id, {
|
|
676
|
+
state: newState
|
|
677
|
+
}));
|
|
678
|
+
}
|
|
679
|
+
if (isAuthRequired) {
|
|
680
|
+
promises.push(updateServiceAuthorizationHandler(referral, {
|
|
681
|
+
draft: draft
|
|
682
|
+
}));
|
|
683
|
+
}
|
|
684
|
+
_context5.next = 7;
|
|
685
|
+
return Promise.all(promises);
|
|
686
|
+
case 7:
|
|
687
|
+
responses = _context5.sent;
|
|
688
|
+
return _context5.abrupt("return", {
|
|
689
|
+
referrals: draft ? [] : [responses[1].data.data],
|
|
690
|
+
cases: [responses[0].data.data]
|
|
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();
|
|
461
700
|
}
|
|
462
|
-
|
|
463
|
-
|
|
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: []
|
|
701
|
+
}, _callee4, null, [[0, 11]]);
|
|
702
|
+
}));
|
|
703
|
+
return function updateDraftReferral(_x4, _x5) {
|
|
704
|
+
return _ref6.apply(this, arguments);
|
|
488
705
|
};
|
|
489
|
-
|
|
490
|
-
|
|
491
|
-
|
|
492
|
-
|
|
493
|
-
|
|
494
|
-
|
|
495
|
-
|
|
496
|
-
|
|
497
|
-
|
|
498
|
-
|
|
499
|
-
|
|
500
|
-
|
|
501
|
-
|
|
502
|
-
|
|
503
|
-
|
|
504
|
-
|
|
505
|
-
|
|
506
|
-
|
|
507
|
-
|
|
508
|
-
|
|
509
|
-
|
|
706
|
+
}();
|
|
707
|
+
return /*#__PURE__*/_asyncToGenerator(/*#__PURE__*/_regeneratorRuntime().mark(function _callee5() {
|
|
708
|
+
var _ref8,
|
|
709
|
+
_ref8$draft,
|
|
710
|
+
draft,
|
|
711
|
+
latestResponses,
|
|
712
|
+
response,
|
|
713
|
+
referralData,
|
|
714
|
+
_args6 = arguments;
|
|
715
|
+
return _regeneratorRuntime().wrap(function _callee5$(_context6) {
|
|
716
|
+
while (1) switch (_context6.prev = _context6.next) {
|
|
717
|
+
case 0:
|
|
718
|
+
_ref8 = _args6.length > 0 && _args6[0] !== undefined ? _args6[0] : {}, _ref8$draft = _ref8.draft, draft = _ref8$draft === void 0 ? false : _ref8$draft, latestResponses = _ref8.latestResponses;
|
|
719
|
+
response = {
|
|
720
|
+
referralsToConsent: []
|
|
721
|
+
};
|
|
722
|
+
if (!crtb1239AdaptDraftReferralFlow) {
|
|
723
|
+
_context6.next = 8;
|
|
724
|
+
break;
|
|
725
|
+
}
|
|
726
|
+
_context6.next = 5;
|
|
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();
|
|
510
781
|
}
|
|
511
|
-
}
|
|
512
|
-
|
|
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
|
-
};
|
|
782
|
+
}, _callee5);
|
|
783
|
+
}));
|
|
525
784
|
}
|
|
526
785
|
;
|
|
527
786
|
//# sourceMappingURL=useCreateReferrals.js.map
|