@unite-us/app-create-referral 0.15.99 → 0.15.100
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/api/config.js +1 -0
- package/dist/api/config.js.map +1 -1
- package/dist/components/NavButtons.js +2 -3
- package/dist/components/NavButtons.js.map +1 -1
- package/dist/hooks/useCreateReferrals.js +134 -103
- package/dist/hooks/useCreateReferrals.js.map +1 -1
- package/dist/pages/builder/ReferralBuilder.js +4 -1
- package/dist/pages/builder/ReferralBuilder.js.map +1 -1
- package/package.json +1 -1
package/dist/api/config.js
CHANGED
|
@@ -74,6 +74,7 @@ const initApp = (appSettings, callbacks, components) => {
|
|
|
74
74
|
onSubmitConsent: callbacks.onSubmitConsent,
|
|
75
75
|
// Functions called in ConsentDialog
|
|
76
76
|
consent: callbacks.consent,
|
|
77
|
+
redirectToDraftReferral: callbacks.redirectToDraftReferral,
|
|
77
78
|
redirectToOffPlatformCaseDetails: callbacks.redirectToOffPlatformCaseDetails,
|
|
78
79
|
redirectToReferralDetails: callbacks.redirectToReferralDetails,
|
|
79
80
|
redirectToOutboundReferralsAll: callbacks.redirectToOutboundReferralsAll
|
package/dist/api/config.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"config.js","names":["axios","buildSerializer","buildJSONAPIDeserializerInterceptor","JSONAPIAdapter","APP_ENVIRONMENT","CALLBACKS","COMPONENTS","FEATURE_FLAGS","INITIAL_ADDRESSES","coreAxiosInstance","coreApi","setupAxiosInstanceDefaults","url","instance","create","baseURL","applicationSource","source","defaults","headers","employeeId","providerId","interceptors","request","use","config","Authorization","concat","getAuthToken","error","Promise","reject","initApp","appSettings","callbacks","components","env","feature_flags","initialAddresses","_objectSpread","trackEventCallback","Error","notify","trackEvent","onReferralCompleted","onReferralReload","onNavigateBack","onNavigateToAddResources","onClearDraftReferral","onSaveDraftReferral","onDeselectProgram","onSubmitConsent","consent","redirectToOffPlatformCaseDetails","redirectToReferralDetails","redirectToOutboundReferralsAll","Consent","ShareDrawer","coreUrl","serializer","JSONAPIDeserializerInterceptor","response"],"sources":["../../src/api/config.js"],"sourcesContent":["/* eslint-disable import/no-mutable-exports */\n/* eslint-disable no-param-reassign */\n// eslint-disable import/no-mutable-exports\nimport axios from 'axios';\nimport {\n buildSerializer,\n buildJSONAPIDeserializerInterceptor,\n JSONAPIAdapter,\n} from '@unite-us/json-api-resources';\n\nlet APP_ENVIRONMENT = {};\nlet CALLBACKS = {};\nlet COMPONENTS = {};\nlet FEATURE_FLAGS = {};\nlet INITIAL_ADDRESSES = {};\nlet coreAxiosInstance;\nlet coreApi;\n\nfunction setupAxiosInstanceDefaults(url) {\n const instance = axios.create({ baseURL: url });\n const applicationSource = APP_ENVIRONMENT.source === 'emr' ? 'smart_app' : 'web';\n\n instance.defaults.headers['X-EMPLOYEE-ID'] = APP_ENVIRONMENT.employeeId;\n instance.defaults.headers['X-PROVIDER-ID'] = APP_ENVIRONMENT.providerId;\n instance.defaults.headers['X-Application-Source'] = applicationSource;\n\n instance.interceptors.request.use(\n (config) => {\n config.headers.Authorization = `Bearer ${APP_ENVIRONMENT.getAuthToken()}`;\n return config;\n },\n (error) => Promise.reject(error),\n );\n\n return instance;\n}\n\nconst initApp = (appSettings, callbacks, components) => {\n const {\n env,\n feature_flags,\n initialAddresses\n } = appSettings;\n // SETTING UP APP ENVIRONMENT\n // {\n // getAuthToken: function, used for setting the Authorization header on requests\n // employeeId: string, used for setting the X-EMPLOYEE-ID header on requests\n // providerId: string, used for setting the X-PROVIDER-ID header on requests\n // isEmr: boolean: used for determining if the app is running is EMR\n // },\n APP_ENVIRONMENT = { ...env };\n\n if (!callbacks.trackEventCallback) {\n throw new Error('trackEventCallback is required in order to run APP-CREATE-REFERRAL');\n }\n CALLBACKS = {\n // notify callback is used to display notifications to the user,\n // usually toasts\n // expect the following shape for the 'notify' object:\n // {\n // success: PropTypes.func,\n // error: PropTypes.func,\n // warn: PropTypes.func,\n // }\n notify: callbacks.notify,\n // TrackEvent to send analytics event\n trackEvent: callbacks.trackEvent,\n // Function called after the referral is created (Review step)\n onReferralCompleted: callbacks.onReferralCompleted,\n // Function called after the referral is created and the user reload the page\n onReferralReload: callbacks.onReferralReload,\n // Called on Add Resources step and back button to navigate back to Search\n onNavigateBack: callbacks.onNavigateBack,\n // Called on Referral Builder step to navigate to Add Resources\n onNavigateToAddResources: callbacks.onNavigateToAddResources,\n // Function called to redirect after saving a draft referral\n onClearDraftReferral: callbacks.onClearDraftReferral,\n // Function called to redirect after saving a draft referral\n onSaveDraftReferral: callbacks.onSaveDraftReferral,\n // Update Search shopping cart when removing a program.\n onDeselectProgram: callbacks.onDeselectProgram,\n // Function called after the consent form is submitted (Review step)\n onSubmitConsent: callbacks.onSubmitConsent,\n // Functions called in ConsentDialog\n consent: callbacks.consent,\n redirectToOffPlatformCaseDetails: callbacks.redirectToOffPlatformCaseDetails,\n redirectToReferralDetails: callbacks.redirectToReferralDetails,\n redirectToOutboundReferralsAll: callbacks.redirectToOutboundReferralsAll,\n };\n\n COMPONENTS = {\n Consent: components?.consent,\n ShareDrawer: components?.ShareDrawer,\n };\n\n FEATURE_FLAGS = { ...feature_flags };\n\n coreAxiosInstance = setupAxiosInstanceDefaults(env.coreUrl);\n\n // SETTING UP CORE ENDPOINT\n // creates a new serializer object using the buildSerializer() function.\n // Serializers are used to convert JavaScript objects into JSON API format and vice versa\n const serializer = buildSerializer();\n // creates a new interceptor object that deserializes JSON API responses.\n // Interceptors are used to modify HTTP requests and responses.\n const JSONAPIDeserializerInterceptor = buildJSONAPIDeserializerInterceptor(serializer);\n // adds the interceptor to the Axios instance's response interceptors.\n // This means that the JSONAPIDeserializerInterceptor\n // will be applied to all responses received by the instance.\n coreAxiosInstance.interceptors.response.use(JSONAPIDeserializerInterceptor);\n // This line creates a new JSONAPIAdapter object using the Axios instance and serializer objects.\n // The JSONAPIAdapter object is used to make HTTP requests\n // and handle the serialization/deserialization of data in the JSON API format.\n coreApi = new JSONAPIAdapter(coreAxiosInstance, serializer);\n\n INITIAL_ADDRESSES = initialAddresses;\n\n return true;\n};\n\nexport {\n initApp,\n coreAxiosInstance,\n coreApi,\n APP_ENVIRONMENT,\n CALLBACKS,\n COMPONENTS,\n FEATURE_FLAGS,\n INITIAL_ADDRESSES\n};\n"],"mappings":";;;AAAA;AACA;AACA;AACA,OAAOA,KAAK,MAAM,OAAO;AACzB,SACEC,eAAe,EACfC,mCAAmC,EACnCC,cAAc,QACT,8BAA8B;AAErC,IAAIC,eAAe,GAAG,CAAC,CAAC;AACxB,IAAIC,SAAS,GAAG,CAAC,CAAC;AAClB,IAAIC,UAAU,GAAG,CAAC,CAAC;AACnB,IAAIC,aAAa,GAAG,CAAC,CAAC;AACtB,IAAIC,iBAAiB,GAAG,CAAC,CAAC;AAC1B,IAAIC,iBAAiB;AACrB,IAAIC,OAAO;AAEX,SAASC,0BAA0BA,CAACC,GAAG,EAAE;EACvC,MAAMC,QAAQ,GAAGb,KAAK,CAACc,MAAM,CAAC;IAAEC,OAAO,EAAEH;EAAI,CAAC,CAAC;EAC/C,MAAMI,iBAAiB,GAAGZ,eAAe,CAACa,MAAM,KAAK,KAAK,GAAG,WAAW,GAAG,KAAK;EAEhFJ,QAAQ,CAACK,QAAQ,CAACC,OAAO,CAAC,eAAe,CAAC,GAAGf,eAAe,CAACgB,UAAU;EACvEP,QAAQ,CAACK,QAAQ,CAACC,OAAO,CAAC,eAAe,CAAC,GAAGf,eAAe,CAACiB,UAAU;EACvER,QAAQ,CAACK,QAAQ,CAACC,OAAO,CAAC,sBAAsB,CAAC,GAAGH,iBAAiB;EAErEH,QAAQ,CAACS,YAAY,CAACC,OAAO,CAACC,GAAG,CAC9BC,MAAM,IAAK;IACVA,MAAM,CAACN,OAAO,CAACO,aAAa,aAAAC,MAAA,CAAavB,eAAe,CAACwB,YAAY,CAAC,CAAC,CAAE;IACzE,OAAOH,MAAM;EACf,CAAC,EACAI,KAAK,IAAKC,OAAO,CAACC,MAAM,CAACF,KAAK,CACjC,CAAC;EAED,OAAOhB,QAAQ;AACjB;AAEA,MAAMmB,OAAO,GAAGA,CAACC,WAAW,EAAEC,SAAS,EAAEC,UAAU,KAAK;EACtD,MAAM;IACJC,GAAG;IACHC,aAAa;IACbC;EACF,CAAC,GAAGL,WAAW;EACf;EACA;EACA;EACA;EACA;EACA;EACA;EACA7B,eAAe,GAAAmC,aAAA,KAAQH,GAAG,CAAE;EAE5B,IAAI,CAACF,SAAS,CAACM,kBAAkB,EAAE;IACjC,MAAM,IAAIC,KAAK,CAAC,oEAAoE,CAAC;EACvF;EACApC,SAAS,GAAG;IACV;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACAqC,MAAM,EAAER,SAAS,CAACQ,MAAM;IACxB;IACAC,UAAU,EAAET,SAAS,CAACS,UAAU;IAChC;IACAC,mBAAmB,EAAEV,SAAS,CAACU,mBAAmB;IAClD;IACAC,gBAAgB,EAAEX,SAAS,CAACW,gBAAgB;IAC5C;IACAC,cAAc,EAAEZ,SAAS,CAACY,cAAc;IACxC;IACAC,wBAAwB,EAAEb,SAAS,CAACa,wBAAwB;IAC5D;IACAC,oBAAoB,EAAEd,SAAS,CAACc,oBAAoB;IACpD;IACAC,mBAAmB,EAAEf,SAAS,CAACe,mBAAmB;IAClD;IACAC,iBAAiB,EAAEhB,SAAS,CAACgB,iBAAiB;IAC9C;IACAC,eAAe,EAAEjB,SAAS,CAACiB,eAAe;IAC1C;IACAC,OAAO,EAAElB,SAAS,CAACkB,OAAO;IAC1BC,
|
|
1
|
+
{"version":3,"file":"config.js","names":["axios","buildSerializer","buildJSONAPIDeserializerInterceptor","JSONAPIAdapter","APP_ENVIRONMENT","CALLBACKS","COMPONENTS","FEATURE_FLAGS","INITIAL_ADDRESSES","coreAxiosInstance","coreApi","setupAxiosInstanceDefaults","url","instance","create","baseURL","applicationSource","source","defaults","headers","employeeId","providerId","interceptors","request","use","config","Authorization","concat","getAuthToken","error","Promise","reject","initApp","appSettings","callbacks","components","env","feature_flags","initialAddresses","_objectSpread","trackEventCallback","Error","notify","trackEvent","onReferralCompleted","onReferralReload","onNavigateBack","onNavigateToAddResources","onClearDraftReferral","onSaveDraftReferral","onDeselectProgram","onSubmitConsent","consent","redirectToDraftReferral","redirectToOffPlatformCaseDetails","redirectToReferralDetails","redirectToOutboundReferralsAll","Consent","ShareDrawer","coreUrl","serializer","JSONAPIDeserializerInterceptor","response"],"sources":["../../src/api/config.js"],"sourcesContent":["/* eslint-disable import/no-mutable-exports */\n/* eslint-disable no-param-reassign */\n// eslint-disable import/no-mutable-exports\nimport axios from 'axios';\nimport {\n buildSerializer,\n buildJSONAPIDeserializerInterceptor,\n JSONAPIAdapter,\n} from '@unite-us/json-api-resources';\n\nlet APP_ENVIRONMENT = {};\nlet CALLBACKS = {};\nlet COMPONENTS = {};\nlet FEATURE_FLAGS = {};\nlet INITIAL_ADDRESSES = {};\nlet coreAxiosInstance;\nlet coreApi;\n\nfunction setupAxiosInstanceDefaults(url) {\n const instance = axios.create({ baseURL: url });\n const applicationSource = APP_ENVIRONMENT.source === 'emr' ? 'smart_app' : 'web';\n\n instance.defaults.headers['X-EMPLOYEE-ID'] = APP_ENVIRONMENT.employeeId;\n instance.defaults.headers['X-PROVIDER-ID'] = APP_ENVIRONMENT.providerId;\n instance.defaults.headers['X-Application-Source'] = applicationSource;\n\n instance.interceptors.request.use(\n (config) => {\n config.headers.Authorization = `Bearer ${APP_ENVIRONMENT.getAuthToken()}`;\n return config;\n },\n (error) => Promise.reject(error),\n );\n\n return instance;\n}\n\nconst initApp = (appSettings, callbacks, components) => {\n const {\n env,\n feature_flags,\n initialAddresses\n } = appSettings;\n // SETTING UP APP ENVIRONMENT\n // {\n // getAuthToken: function, used for setting the Authorization header on requests\n // employeeId: string, used for setting the X-EMPLOYEE-ID header on requests\n // providerId: string, used for setting the X-PROVIDER-ID header on requests\n // isEmr: boolean: used for determining if the app is running is EMR\n // },\n APP_ENVIRONMENT = { ...env };\n\n if (!callbacks.trackEventCallback) {\n throw new Error('trackEventCallback is required in order to run APP-CREATE-REFERRAL');\n }\n CALLBACKS = {\n // notify callback is used to display notifications to the user,\n // usually toasts\n // expect the following shape for the 'notify' object:\n // {\n // success: PropTypes.func,\n // error: PropTypes.func,\n // warn: PropTypes.func,\n // }\n notify: callbacks.notify,\n // TrackEvent to send analytics event\n trackEvent: callbacks.trackEvent,\n // Function called after the referral is created (Review step)\n onReferralCompleted: callbacks.onReferralCompleted,\n // Function called after the referral is created and the user reload the page\n onReferralReload: callbacks.onReferralReload,\n // Called on Add Resources step and back button to navigate back to Search\n onNavigateBack: callbacks.onNavigateBack,\n // Called on Referral Builder step to navigate to Add Resources\n onNavigateToAddResources: callbacks.onNavigateToAddResources,\n // Function called to redirect after saving a draft referral\n onClearDraftReferral: callbacks.onClearDraftReferral,\n // Function called to redirect after saving a draft referral\n onSaveDraftReferral: callbacks.onSaveDraftReferral,\n // Update Search shopping cart when removing a program.\n onDeselectProgram: callbacks.onDeselectProgram,\n // Function called after the consent form is submitted (Review step)\n onSubmitConsent: callbacks.onSubmitConsent,\n // Functions called in ConsentDialog\n consent: callbacks.consent,\n redirectToDraftReferral: callbacks.redirectToDraftReferral,\n redirectToOffPlatformCaseDetails: callbacks.redirectToOffPlatformCaseDetails,\n redirectToReferralDetails: callbacks.redirectToReferralDetails,\n redirectToOutboundReferralsAll: callbacks.redirectToOutboundReferralsAll,\n };\n\n COMPONENTS = {\n Consent: components?.consent,\n ShareDrawer: components?.ShareDrawer,\n };\n\n FEATURE_FLAGS = { ...feature_flags };\n\n coreAxiosInstance = setupAxiosInstanceDefaults(env.coreUrl);\n\n // SETTING UP CORE ENDPOINT\n // creates a new serializer object using the buildSerializer() function.\n // Serializers are used to convert JavaScript objects into JSON API format and vice versa\n const serializer = buildSerializer();\n // creates a new interceptor object that deserializes JSON API responses.\n // Interceptors are used to modify HTTP requests and responses.\n const JSONAPIDeserializerInterceptor = buildJSONAPIDeserializerInterceptor(serializer);\n // adds the interceptor to the Axios instance's response interceptors.\n // This means that the JSONAPIDeserializerInterceptor\n // will be applied to all responses received by the instance.\n coreAxiosInstance.interceptors.response.use(JSONAPIDeserializerInterceptor);\n // This line creates a new JSONAPIAdapter object using the Axios instance and serializer objects.\n // The JSONAPIAdapter object is used to make HTTP requests\n // and handle the serialization/deserialization of data in the JSON API format.\n coreApi = new JSONAPIAdapter(coreAxiosInstance, serializer);\n\n INITIAL_ADDRESSES = initialAddresses;\n\n return true;\n};\n\nexport {\n initApp,\n coreAxiosInstance,\n coreApi,\n APP_ENVIRONMENT,\n CALLBACKS,\n COMPONENTS,\n FEATURE_FLAGS,\n INITIAL_ADDRESSES\n};\n"],"mappings":"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","ignoreList":[]}
|
|
@@ -12,7 +12,7 @@ const NavButtons = _ref => {
|
|
|
12
12
|
hideSaveDraftLink,
|
|
13
13
|
hasOffPlatformReferrals,
|
|
14
14
|
disabled,
|
|
15
|
-
hasDraftReferral,
|
|
15
|
+
hasDraftReferral = false,
|
|
16
16
|
isForwardReferralPath = false
|
|
17
17
|
} = _ref;
|
|
18
18
|
return /*#__PURE__*/_jsx("div", {
|
|
@@ -73,8 +73,7 @@ NavButtons.defaultProps = {
|
|
|
73
73
|
hideForwardButtons: false,
|
|
74
74
|
hideSaveDraftLink: false,
|
|
75
75
|
hasOffPlatformReferrals: false,
|
|
76
|
-
disabled: false
|
|
77
|
-
hasDraftReferral: false
|
|
76
|
+
disabled: false
|
|
78
77
|
};
|
|
79
78
|
export default NavButtons;
|
|
80
79
|
//# sourceMappingURL=NavButtons.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"NavButtons.js","names":["React","PropTypes","Button","Icon","jsx","_jsx","jsxs","_jsxs","NavButtons","_ref","onBackClick","onForwardClick","onSaveDraftReferral","primaryLabel","hideForwardButtons","hideSaveDraftLink","hasOffPlatformReferrals","disabled","hasDraftReferral","isForwardReferralPath","className","children","id","onClick","label","icon","name","direction","color","position","secondary","primary","propTypes","func","isRequired","string","bool","defaultProps"],"sources":["../../src/components/NavButtons.js"],"sourcesContent":["import React from 'react';\nimport { PropTypes } from 'prop-types';\nimport { Button, Icon } from '@unite-us/app-components';\n\nconst NavButtons = ({\n onBackClick,\n onForwardClick,\n onSaveDraftReferral,\n primaryLabel,\n hideForwardButtons,\n hideSaveDraftLink,\n hasOffPlatformReferrals,\n disabled,\n hasDraftReferral,\n isForwardReferralPath = false,\n}) => (\n <div className=\"flex justify-center responsive-max-width flex-col mx-auto mb-6\">\n <div className=\"flex justify-between\">\n <Button\n id=\"back\"\n onClick={onBackClick}\n label={hasDraftReferral ? \"Draft Referral\" : \"Back\"}\n icon={\n {\n name: \"ChevronArrow\",\n direction: \"left\",\n color: \"text-blue\",\n position: \"left\"\n }\n }\n className=\"md:h-12 normal-case\"\n secondary={true}\n />\n\n {\n !hideForwardButtons ? (\n <div className=\"flex\">\n {!hideSaveDraftLink && !hasOffPlatformReferrals && !isForwardReferralPath && (\n <button className=\"mr-10 text-current-blue font-bold\" onClick={onSaveDraftReferral}>\n <Icon icon=\"Save\" color=\"action-blue\" className=\"mr-2 mb-1\" />\n Save Draft Referral(s)\n </button>\n )}\n <Button\n id=\"submit\"\n disabled={disabled}\n onClick={onForwardClick}\n className='md:w-64 md:h-12 w-64 normal-case'\n label={primaryLabel}\n icon={\n {\n name: \"Referral\",\n color: \"white\",\n position: \"left\"\n }\n }\n primary\n />\n </div>\n ) : null\n }\n </div>\n </div>\n);\n\nNavButtons.propTypes = {\n onBackClick: PropTypes.func.isRequired,\n onForwardClick: PropTypes.func.isRequired,\n onSaveDraftReferral:PropTypes.func.isRequired,\n primaryLabel: PropTypes.string.isRequired,\n hideForwardButtons: PropTypes.bool,\n hideSaveDraftLink: PropTypes.bool,\n hasOffPlatformReferrals: PropTypes.bool,\n hasDraftReferral: PropTypes.bool,\n disabled: PropTypes.bool,\n}\n\nNavButtons.defaultProps = {\n hideForwardButtons: false,\n hideSaveDraftLink: false,\n hasOffPlatformReferrals: false,\n disabled: false,\n
|
|
1
|
+
{"version":3,"file":"NavButtons.js","names":["React","PropTypes","Button","Icon","jsx","_jsx","jsxs","_jsxs","NavButtons","_ref","onBackClick","onForwardClick","onSaveDraftReferral","primaryLabel","hideForwardButtons","hideSaveDraftLink","hasOffPlatformReferrals","disabled","hasDraftReferral","isForwardReferralPath","className","children","id","onClick","label","icon","name","direction","color","position","secondary","primary","propTypes","func","isRequired","string","bool","defaultProps"],"sources":["../../src/components/NavButtons.js"],"sourcesContent":["import React from 'react';\nimport { PropTypes } from 'prop-types';\nimport { Button, Icon } from '@unite-us/app-components';\n\nconst NavButtons = ({\n onBackClick,\n onForwardClick,\n onSaveDraftReferral,\n primaryLabel,\n hideForwardButtons,\n hideSaveDraftLink,\n hasOffPlatformReferrals,\n disabled,\n hasDraftReferral = false,\n isForwardReferralPath = false,\n}) => (\n <div className=\"flex justify-center responsive-max-width flex-col mx-auto mb-6\">\n <div className=\"flex justify-between\">\n <Button\n id=\"back\"\n onClick={onBackClick}\n label={hasDraftReferral ? \"Draft Referral\" : \"Back\"}\n icon={\n {\n name: \"ChevronArrow\",\n direction: \"left\",\n color: \"text-blue\",\n position: \"left\"\n }\n }\n className=\"md:h-12 normal-case\"\n secondary={true}\n />\n\n {\n !hideForwardButtons ? (\n <div className=\"flex\">\n {!hideSaveDraftLink && !hasOffPlatformReferrals && !isForwardReferralPath && (\n <button className=\"mr-10 text-current-blue font-bold\" onClick={onSaveDraftReferral}>\n <Icon icon=\"Save\" color=\"action-blue\" className=\"mr-2 mb-1\" />\n Save Draft Referral(s)\n </button>\n )}\n <Button\n id=\"submit\"\n disabled={disabled}\n onClick={onForwardClick}\n className='md:w-64 md:h-12 w-64 normal-case'\n label={primaryLabel}\n icon={\n {\n name: \"Referral\",\n color: \"white\",\n position: \"left\"\n }\n }\n primary\n />\n </div>\n ) : null\n }\n </div>\n </div>\n);\n\nNavButtons.propTypes = {\n onBackClick: PropTypes.func.isRequired,\n onForwardClick: PropTypes.func.isRequired,\n onSaveDraftReferral:PropTypes.func.isRequired,\n primaryLabel: PropTypes.string.isRequired,\n hideForwardButtons: PropTypes.bool,\n hideSaveDraftLink: PropTypes.bool,\n hasOffPlatformReferrals: PropTypes.bool,\n hasDraftReferral: PropTypes.bool,\n disabled: PropTypes.bool,\n}\n\nNavButtons.defaultProps = {\n hideForwardButtons: false,\n hideSaveDraftLink: false,\n hasOffPlatformReferrals: false,\n disabled: false,\n}\n\nexport default NavButtons;\n"],"mappings":"AAAA,OAAOA,KAAK,MAAM,OAAO;AACzB,SAASC,SAAS,QAAQ,YAAY;AACtC,SAASC,MAAM,EAAEC,IAAI,QAAQ,0BAA0B;AAAC,SAAAC,GAAA,IAAAC,IAAA,EAAAC,IAAA,IAAAC,KAAA;AAExD,MAAMC,UAAU,GAAGC,IAAA;EAAA,IAAC;IAClBC,WAAW;IACXC,cAAc;IACdC,mBAAmB;IACnBC,YAAY;IACZC,kBAAkB;IAClBC,iBAAiB;IACjBC,uBAAuB;IACvBC,QAAQ;IACRC,gBAAgB,GAAG,KAAK;IACxBC,qBAAqB,GAAG;EAC1B,CAAC,GAAAV,IAAA;EAAA,oBACCJ,IAAA;IAAKe,SAAS,EAAC,gEAAgE;IAAAC,QAAA,eAC7Ed,KAAA;MAAKa,SAAS,EAAC,sBAAsB;MAAAC,QAAA,gBACnChB,IAAA,CAACH,MAAM;QACLoB,EAAE,EAAC,MAAM;QACTC,OAAO,EAAEb,WAAY;QACrBc,KAAK,EAAEN,gBAAgB,GAAG,gBAAgB,GAAG,MAAO;QACpDO,IAAI,EACF;UACEC,IAAI,EAAE,cAAc;UACpBC,SAAS,EAAE,MAAM;UACjBC,KAAK,EAAE,WAAW;UAClBC,QAAQ,EAAE;QACZ,CACD;QACDT,SAAS,EAAC,qBAAqB;QAC/BU,SAAS,EAAE;MAAK,CACjB,CAAC,EAGA,CAAChB,kBAAkB,gBACjBP,KAAA;QAAKa,SAAS,EAAC,MAAM;QAAAC,QAAA,GAClB,CAACN,iBAAiB,IAAI,CAACC,uBAAuB,IAAI,CAACG,qBAAqB,iBACvEZ,KAAA;UAAQa,SAAS,EAAC,mCAAmC;UAACG,OAAO,EAAEX,mBAAoB;UAAAS,QAAA,gBACjFhB,IAAA,CAACF,IAAI;YAACsB,IAAI,EAAC,MAAM;YAACG,KAAK,EAAC,aAAa;YAACR,SAAS,EAAC;UAAW,CAAE,CAAC,0BAEhE;QAAA,CAAQ,CACT,eACDf,IAAA,CAACH,MAAM;UACLoB,EAAE,EAAC,QAAQ;UACXL,QAAQ,EAAEA,QAAS;UACnBM,OAAO,EAAEZ,cAAe;UACxBS,SAAS,EAAC,kCAAkC;UAC5CI,KAAK,EAAEX,YAAa;UACpBY,IAAI,EACF;YACEC,IAAI,EAAE,UAAU;YAChBE,KAAK,EAAE,OAAO;YACdC,QAAQ,EAAE;UACZ,CACD;UACDE,OAAO;QAAA,CACR,CAAC;MAAA,CACC,CAAC,GACJ,IAAI;IAAA,CAEP;EAAC,CACH,CAAC;AAAA,CACP;AAEDvB,UAAU,CAACwB,SAAS,GAAG;EACrBtB,WAAW,EAAET,SAAS,CAACgC,IAAI,CAACC,UAAU;EACtCvB,cAAc,EAAEV,SAAS,CAACgC,IAAI,CAACC,UAAU;EACzCtB,mBAAmB,EAACX,SAAS,CAACgC,IAAI,CAACC,UAAU;EAC7CrB,YAAY,EAAEZ,SAAS,CAACkC,MAAM,CAACD,UAAU;EACzCpB,kBAAkB,EAAEb,SAAS,CAACmC,IAAI;EAClCrB,iBAAiB,EAAEd,SAAS,CAACmC,IAAI;EACjCpB,uBAAuB,EAAEf,SAAS,CAACmC,IAAI;EACvClB,gBAAgB,EAAEjB,SAAS,CAACmC,IAAI;EAChCnB,QAAQ,EAAEhB,SAAS,CAACmC;AACtB,CAAC;AAED5B,UAAU,CAAC6B,YAAY,GAAG;EACxBvB,kBAAkB,EAAE,KAAK;EACzBC,iBAAiB,EAAE,KAAK;EACxBC,uBAAuB,EAAE,KAAK;EAC9BC,QAAQ,EAAE;AACZ,CAAC;AAED,eAAeT,UAAU","ignoreList":[]}
|
|
@@ -138,61 +138,6 @@ const getReferralState = _ref3 => {
|
|
|
138
138
|
}
|
|
139
139
|
return 'sent';
|
|
140
140
|
};
|
|
141
|
-
const getDraftCasePayload = _ref4 => {
|
|
142
|
-
let {
|
|
143
|
-
referral,
|
|
144
|
-
oldCase
|
|
145
|
-
} = _ref4;
|
|
146
|
-
const payload = {};
|
|
147
|
-
if (referral.service.id !== oldCase.service_type.id) {
|
|
148
|
-
payload.service = {
|
|
149
|
-
id: referral.service.id
|
|
150
|
-
};
|
|
151
|
-
}
|
|
152
|
-
if (referral.description && referral.description !== oldCase.description) {
|
|
153
|
-
payload.description = referral.description;
|
|
154
|
-
}
|
|
155
|
-
return payload;
|
|
156
|
-
};
|
|
157
|
-
const getUpdatedCaseFromResponse = _ref5 => {
|
|
158
|
-
var _caseResponse$data;
|
|
159
|
-
let {
|
|
160
|
-
caseResponse,
|
|
161
|
-
oldCase
|
|
162
|
-
} = _ref5;
|
|
163
|
-
if (caseResponse !== null && caseResponse !== void 0 && (_caseResponse$data = caseResponse.data) !== null && _caseResponse$data !== void 0 && _caseResponse$data.data) {
|
|
164
|
-
return caseResponse.data.data;
|
|
165
|
-
}
|
|
166
|
-
return oldCase;
|
|
167
|
-
};
|
|
168
|
-
const deleteOldCaseReferrals = async _ref6 => {
|
|
169
|
-
let {
|
|
170
|
-
oldReferrals,
|
|
171
|
-
deleteReferral
|
|
172
|
-
} = _ref6;
|
|
173
|
-
if (!(oldReferrals !== null && oldReferrals !== void 0 && oldReferrals.length)) {
|
|
174
|
-
return;
|
|
175
|
-
}
|
|
176
|
-
const referralsToDelete = oldReferrals.map(referral => deleteReferral(referral.id));
|
|
177
|
-
await Promise.all(referralsToDelete);
|
|
178
|
-
};
|
|
179
|
-
const createCaseReferrals = _ref7 => {
|
|
180
|
-
let {
|
|
181
|
-
referral,
|
|
182
|
-
oldCase,
|
|
183
|
-
createReferral
|
|
184
|
-
} = _ref7;
|
|
185
|
-
const createReferralPromises = referral.programs.map(program => createReferral({
|
|
186
|
-
state: 'sent',
|
|
187
|
-
case: oldCase.id,
|
|
188
|
-
receiving_program: program.id,
|
|
189
|
-
receiving_provider: program.provider.id,
|
|
190
|
-
receiving_network: referral.network.id,
|
|
191
|
-
sending_provider: oldCase.provider.id,
|
|
192
|
-
sending_network: oldCase.network.id
|
|
193
|
-
}));
|
|
194
|
-
return Promise.all(createReferralPromises);
|
|
195
|
-
};
|
|
196
141
|
export default function useCreateReferrals() {
|
|
197
142
|
const {
|
|
198
143
|
state: {
|
|
@@ -257,11 +202,11 @@ export default function useCreateReferrals() {
|
|
|
257
202
|
Promise.all([...(uploadPromises || [])]);
|
|
258
203
|
}
|
|
259
204
|
};
|
|
260
|
-
const submitAssessments =
|
|
205
|
+
const submitAssessments = _ref4 => {
|
|
261
206
|
let {
|
|
262
207
|
cases,
|
|
263
208
|
latestResponses
|
|
264
|
-
} =
|
|
209
|
+
} = _ref4;
|
|
265
210
|
let promises = [];
|
|
266
211
|
map(cases, serviceCase => {
|
|
267
212
|
map(latestResponses || formResponses, assessment => {
|
|
@@ -285,14 +230,14 @@ export default function useCreateReferrals() {
|
|
|
285
230
|
throw err;
|
|
286
231
|
});
|
|
287
232
|
};
|
|
288
|
-
const fetchActiveInsurance = async
|
|
233
|
+
const fetchActiveInsurance = async _ref5 => {
|
|
289
234
|
var _responseInsurances$d;
|
|
290
235
|
let {
|
|
291
236
|
personId,
|
|
292
237
|
feeScheduleId,
|
|
293
238
|
requestedStartDate,
|
|
294
239
|
requestedEndDate
|
|
295
|
-
} =
|
|
240
|
+
} = _ref5;
|
|
296
241
|
const queryInsuranceParams = {
|
|
297
242
|
person: personId,
|
|
298
243
|
state: 'active',
|
|
@@ -304,13 +249,13 @@ export default function useCreateReferrals() {
|
|
|
304
249
|
const responseInsurances = await coreApi.query('insurance', queryInsuranceParams);
|
|
305
250
|
return responseInsurances === null || responseInsurances === void 0 || (_responseInsurances$d = responseInsurances.data) === null || _responseInsurances$d === void 0 || (_responseInsurances$d = _responseInsurances$d.data) === null || _responseInsurances$d === void 0 ? void 0 : _responseInsurances$d[0];
|
|
306
251
|
};
|
|
307
|
-
const createAuthorizationIfNeeded = async
|
|
252
|
+
const createAuthorizationIfNeeded = async _ref6 => {
|
|
308
253
|
let {
|
|
309
254
|
referral,
|
|
310
255
|
caseId,
|
|
311
256
|
personId,
|
|
312
257
|
draft
|
|
313
|
-
} =
|
|
258
|
+
} = _ref6;
|
|
314
259
|
const feeScheduleProgram = referral.programs[0].fee_schedule_program;
|
|
315
260
|
if (!(feeScheduleProgram !== null && feeScheduleProgram !== void 0 && feeScheduleProgram.authorization_required)) {
|
|
316
261
|
return false;
|
|
@@ -345,7 +290,7 @@ export default function useCreateReferrals() {
|
|
|
345
290
|
}));
|
|
346
291
|
return true;
|
|
347
292
|
};
|
|
348
|
-
const createCaseForReferral = async
|
|
293
|
+
const createCaseForReferral = async _ref7 => {
|
|
349
294
|
let {
|
|
350
295
|
referral,
|
|
351
296
|
index,
|
|
@@ -353,7 +298,7 @@ export default function useCreateReferrals() {
|
|
|
353
298
|
isOON,
|
|
354
299
|
draft,
|
|
355
300
|
result
|
|
356
|
-
} =
|
|
301
|
+
} = _ref7;
|
|
357
302
|
const caseValues = getCaseValues({
|
|
358
303
|
referral,
|
|
359
304
|
personId,
|
|
@@ -399,13 +344,13 @@ export default function useCreateReferrals() {
|
|
|
399
344
|
return null;
|
|
400
345
|
}
|
|
401
346
|
};
|
|
402
|
-
const createUnlistedProgramNote =
|
|
347
|
+
const createUnlistedProgramNote = _ref8 => {
|
|
403
348
|
let {
|
|
404
349
|
programData,
|
|
405
350
|
caseId,
|
|
406
351
|
index,
|
|
407
352
|
result
|
|
408
|
-
} =
|
|
353
|
+
} = _ref8;
|
|
409
354
|
const createNoteForUnlistedProgramValues = {
|
|
410
355
|
subjectType: 'case',
|
|
411
356
|
subject: caseId,
|
|
@@ -433,7 +378,7 @@ export default function useCreateReferrals() {
|
|
|
433
378
|
result.shippingDetail[index].error = "Error creating the note on the case for the unlisted program";
|
|
434
379
|
}
|
|
435
380
|
};
|
|
436
|
-
const createProgramReferral = async
|
|
381
|
+
const createProgramReferral = async _ref9 => {
|
|
437
382
|
let {
|
|
438
383
|
referral,
|
|
439
384
|
programData,
|
|
@@ -443,7 +388,7 @@ export default function useCreateReferrals() {
|
|
|
443
388
|
index,
|
|
444
389
|
result,
|
|
445
390
|
createdReferrals
|
|
446
|
-
} =
|
|
391
|
+
} = _ref9;
|
|
447
392
|
const referralValues = {
|
|
448
393
|
state,
|
|
449
394
|
case: caseId,
|
|
@@ -473,7 +418,7 @@ export default function useCreateReferrals() {
|
|
|
473
418
|
result.shippingDetail[index].error = "Error creating the Referral: ".concat(createErrorMessage(err));
|
|
474
419
|
}
|
|
475
420
|
};
|
|
476
|
-
const processProgramForReferral = async
|
|
421
|
+
const processProgramForReferral = async _ref0 => {
|
|
477
422
|
let {
|
|
478
423
|
referral,
|
|
479
424
|
programData,
|
|
@@ -485,7 +430,7 @@ export default function useCreateReferrals() {
|
|
|
485
430
|
index,
|
|
486
431
|
result,
|
|
487
432
|
createdReferrals
|
|
488
|
-
} =
|
|
433
|
+
} = _ref0;
|
|
489
434
|
uploadDocuments(referral, createdCaseOrExistingAR);
|
|
490
435
|
const state = getReferralState({
|
|
491
436
|
draft,
|
|
@@ -512,15 +457,15 @@ export default function useCreateReferrals() {
|
|
|
512
457
|
createdReferrals
|
|
513
458
|
});
|
|
514
459
|
};
|
|
515
|
-
const processDraftReferral = async
|
|
460
|
+
const processDraftReferral = async _ref1 => {
|
|
516
461
|
var _referral$case, _resultDraft$cases$;
|
|
517
462
|
let {
|
|
518
463
|
referral,
|
|
519
464
|
index,
|
|
520
465
|
draft,
|
|
521
466
|
result
|
|
522
|
-
} =
|
|
523
|
-
const resultDraft = isEmpty((_referral$case = referral.case) === null || _referral$case === void 0 ? void 0 : _referral$case.service_authorization) ? await updateDraftReferralCrtb1239(referral) : await updateDraftReferral(referral, draft);
|
|
467
|
+
} = _ref1;
|
|
468
|
+
const resultDraft = isEmpty((_referral$case = referral.case) === null || _referral$case === void 0 ? void 0 : _referral$case.service_authorization) ? await updateDraftReferralCrtb1239(referral, draft) : await updateDraftReferral(referral, draft);
|
|
524
469
|
updateShippingDetail(result.shippingDetail, index, {
|
|
525
470
|
sent: true,
|
|
526
471
|
caseId: (_resultDraft$cases$ = resultDraft.cases[0]) === null || _resultDraft$cases$ === void 0 ? void 0 : _resultDraft$cases$.id
|
|
@@ -538,7 +483,7 @@ export default function useCreateReferrals() {
|
|
|
538
483
|
result.referralsToConsent.push(referralData);
|
|
539
484
|
}
|
|
540
485
|
};
|
|
541
|
-
const processNonDraftReferral = async
|
|
486
|
+
const processNonDraftReferral = async _ref10 => {
|
|
542
487
|
let {
|
|
543
488
|
referral,
|
|
544
489
|
index,
|
|
@@ -546,7 +491,7 @@ export default function useCreateReferrals() {
|
|
|
546
491
|
groupedReferrals,
|
|
547
492
|
personId,
|
|
548
493
|
result
|
|
549
|
-
} =
|
|
494
|
+
} = _ref10;
|
|
550
495
|
const referredToPrograms = get(referral, 'programs', []);
|
|
551
496
|
const isGrouped = referralIsGrouped(referral);
|
|
552
497
|
const isOON = referralIsOON(referral);
|
|
@@ -592,12 +537,12 @@ export default function useCreateReferrals() {
|
|
|
592
537
|
result.referralsToConsent.push(referralData);
|
|
593
538
|
}
|
|
594
539
|
};
|
|
595
|
-
const createReferrals = async
|
|
540
|
+
const createReferrals = async _ref11 => {
|
|
596
541
|
let {
|
|
597
542
|
referrals,
|
|
598
543
|
person,
|
|
599
544
|
draft
|
|
600
|
-
} =
|
|
545
|
+
} = _ref11;
|
|
601
546
|
const result = {
|
|
602
547
|
referrals: [],
|
|
603
548
|
cases: [],
|
|
@@ -637,38 +582,124 @@ export default function useCreateReferrals() {
|
|
|
637
582
|
}
|
|
638
583
|
return result;
|
|
639
584
|
};
|
|
640
|
-
const
|
|
585
|
+
const buildCaseUpdatePayload = (referral, oldCase) => {
|
|
586
|
+
const serviceTypeChanged = referral.service.id !== oldCase.service_type.id;
|
|
587
|
+
const descriptionChanged = referral.description && referral.description !== oldCase.description;
|
|
588
|
+
return _objectSpread(_objectSpread({}, serviceTypeChanged && {
|
|
589
|
+
service: {
|
|
590
|
+
id: referral.service.id
|
|
591
|
+
}
|
|
592
|
+
}), descriptionChanged && {
|
|
593
|
+
description: referral.description
|
|
594
|
+
});
|
|
595
|
+
};
|
|
596
|
+
const getTargetState = (draft, referral) => {
|
|
597
|
+
if (draft) return 'draft';
|
|
598
|
+
return referralIsOON(referral) ? 'off_platform' : 'sent';
|
|
599
|
+
};
|
|
600
|
+
const buildReferralUpdatePayload = (referral, targetState, isGrouped) => {
|
|
601
|
+
const payload = {};
|
|
602
|
+
if (referral.state !== targetState) payload.state = targetState;
|
|
603
|
+
if (referral.is_grouped !== isGrouped) payload.is_grouped = isGrouped;
|
|
604
|
+
return payload;
|
|
605
|
+
};
|
|
606
|
+
const processReferralUpdates = (toUpdate, targetState, isGrouped) => {
|
|
607
|
+
return toUpdate.map(r => {
|
|
608
|
+
const updatePayload = buildReferralUpdatePayload(r, targetState, isGrouped);
|
|
609
|
+
return Object.keys(updatePayload).length > 0 ? coreApi.updateRecord('referral', r.id, updatePayload) : null;
|
|
610
|
+
}).filter(Boolean);
|
|
611
|
+
};
|
|
612
|
+
const processReferralCreations = (toCreate, _ref12) => {
|
|
613
|
+
let {
|
|
614
|
+
targetState,
|
|
615
|
+
isGrouped,
|
|
616
|
+
oldCase,
|
|
617
|
+
referral
|
|
618
|
+
} = _ref12;
|
|
619
|
+
return toCreate.map(program => createReferral({
|
|
620
|
+
state: targetState,
|
|
621
|
+
case: oldCase.id,
|
|
622
|
+
is_grouped: isGrouped,
|
|
623
|
+
receiving_program: program.id,
|
|
624
|
+
receiving_provider: program.provider.id,
|
|
625
|
+
receiving_network: referral.network.id,
|
|
626
|
+
sending_provider: oldCase.provider.id,
|
|
627
|
+
sending_network: oldCase.network.id
|
|
628
|
+
}));
|
|
629
|
+
};
|
|
630
|
+
const parseReferralResponses = (responses, deleteCount, updateCount) => {
|
|
631
|
+
const updateResponses = responses.slice(deleteCount, deleteCount + updateCount);
|
|
632
|
+
const updatedReferrals = updateResponses.map(r => {
|
|
633
|
+
var _r$data;
|
|
634
|
+
return r === null || r === void 0 || (_r$data = r.data) === null || _r$data === void 0 ? void 0 : _r$data.data;
|
|
635
|
+
}).filter(Boolean);
|
|
636
|
+
const createdReferrals = responses.slice(deleteCount + updateCount).map(r => {
|
|
637
|
+
var _r$data2;
|
|
638
|
+
return r === null || r === void 0 || (_r$data2 = r.data) === null || _r$data2 === void 0 ? void 0 : _r$data2.data;
|
|
639
|
+
}).filter(Boolean);
|
|
640
|
+
return {
|
|
641
|
+
updatedReferrals,
|
|
642
|
+
createdReferrals
|
|
643
|
+
};
|
|
644
|
+
};
|
|
645
|
+
const getDeleteUpdateCreateReferrals = (referral, oldReferrals) => {
|
|
646
|
+
const newProgramIds = map(referral.programs, 'id');
|
|
647
|
+
const oldProgramIds = map(oldReferrals, 'receiving_program.id');
|
|
648
|
+
const isGrouped = referral.programs.length > 1;
|
|
649
|
+
return {
|
|
650
|
+
toDelete: oldReferrals.filter(r => !newProgramIds.includes(r.receiving_program.id)),
|
|
651
|
+
toUpdate: oldReferrals.filter(r => newProgramIds.includes(r.receiving_program.id)),
|
|
652
|
+
toCreate: referral.programs.filter(p => !oldProgramIds.includes(p.id)),
|
|
653
|
+
isGrouped
|
|
654
|
+
};
|
|
655
|
+
};
|
|
656
|
+
const fetchAndUpdateCase = async referral => {
|
|
657
|
+
const [caseRequestResponse, referralsRequestResponse] = await Promise.all([coreApi.findRecord('case', referral.case.id), coreApi.query('referral', {
|
|
658
|
+
case: referral.case.id
|
|
659
|
+
})]);
|
|
660
|
+
const oldCase = get(caseRequestResponse, 'data.data', null);
|
|
661
|
+
const oldReferrals = get(referralsRequestResponse, 'data.data', null);
|
|
662
|
+
const serviceCasePayload = buildCaseUpdatePayload(referral, oldCase);
|
|
663
|
+
const caseResponse = isEmpty(serviceCasePayload) ? oldCase : await updateCase(referral.case.id, serviceCasePayload);
|
|
664
|
+
uploadDocuments(referral, oldCase);
|
|
665
|
+
return {
|
|
666
|
+
oldCase,
|
|
667
|
+
oldReferrals,
|
|
668
|
+
caseResponse
|
|
669
|
+
};
|
|
670
|
+
};
|
|
671
|
+
const updateDraftReferralCrtb1239 = async function (referral) {
|
|
672
|
+
let draft = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : false;
|
|
641
673
|
try {
|
|
642
|
-
|
|
643
|
-
|
|
644
|
-
|
|
645
|
-
const oldCase = get(caseRequestResponse, 'data.data', null);
|
|
646
|
-
const oldReferrals = get(referralsRequestResponse, 'data.data', null);
|
|
647
|
-
const serviceCasePayload = getDraftCasePayload({
|
|
648
|
-
referral,
|
|
649
|
-
oldCase
|
|
650
|
-
});
|
|
651
|
-
const caseResponse = isEmpty(serviceCasePayload) ? oldCase : await updateCase(referral.case.id, serviceCasePayload);
|
|
652
|
-
uploadDocuments(referral, oldCase);
|
|
653
|
-
await deleteOldCaseReferrals({
|
|
674
|
+
var _caseResponse$data$da, _caseResponse$data;
|
|
675
|
+
const {
|
|
676
|
+
oldCase,
|
|
654
677
|
oldReferrals,
|
|
655
|
-
|
|
656
|
-
});
|
|
657
|
-
const
|
|
658
|
-
|
|
678
|
+
caseResponse
|
|
679
|
+
} = await fetchAndUpdateCase(referral);
|
|
680
|
+
const {
|
|
681
|
+
toDelete,
|
|
682
|
+
toUpdate,
|
|
683
|
+
toCreate,
|
|
684
|
+
isGrouped
|
|
685
|
+
} = getDeleteUpdateCreateReferrals(referral, oldReferrals);
|
|
686
|
+
const targetState = getTargetState(draft, referral);
|
|
687
|
+
const deletePromises = toDelete.map(r => coreApi.deleteRecord('referral', r.id));
|
|
688
|
+
const updatePromises = processReferralUpdates(toUpdate, targetState, isGrouped);
|
|
689
|
+
const createPromises = processReferralCreations(toCreate, {
|
|
690
|
+
targetState,
|
|
691
|
+
isGrouped,
|
|
659
692
|
oldCase,
|
|
660
|
-
|
|
661
|
-
});
|
|
662
|
-
const updatedCase = getUpdatedCaseFromResponse({
|
|
663
|
-
caseResponse,
|
|
664
|
-
oldCase
|
|
693
|
+
referral
|
|
665
694
|
});
|
|
695
|
+
const responses = await Promise.all([...deletePromises, ...updatePromises, ...createPromises]);
|
|
696
|
+
const {
|
|
697
|
+
updatedReferrals,
|
|
698
|
+
createdReferrals
|
|
699
|
+
} = parseReferralResponses(responses, toDelete.length, updatePromises.length);
|
|
666
700
|
return {
|
|
667
|
-
cases: [
|
|
668
|
-
referrals:
|
|
669
|
-
var _referralResponse$dat;
|
|
670
|
-
return referralResponse === null || referralResponse === void 0 || (_referralResponse$dat = referralResponse.data) === null || _referralResponse$dat === void 0 ? void 0 : _referralResponse$dat.data;
|
|
671
|
-
})
|
|
701
|
+
cases: [(_caseResponse$data$da = caseResponse === null || caseResponse === void 0 || (_caseResponse$data = caseResponse.data) === null || _caseResponse$data === void 0 ? void 0 : _caseResponse$data.data) !== null && _caseResponse$data$da !== void 0 ? _caseResponse$data$da : oldCase],
|
|
702
|
+
referrals: [...updatedReferrals, ...createdReferrals]
|
|
672
703
|
};
|
|
673
704
|
} catch (err) {
|
|
674
705
|
CALLBACKS.notify.error("Error updating the Draft Referral");
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"useCreateReferrals.js","names":["get","map","isEmpty","moment","fspUtils","isUnlistedProgram","referralIsOON","referralIsGrouped","useCreateRecord","useUpdateRecord","CALLBACKS","coreApi","useAppCreateReferralContext","useFeatureFlag","referralToConsent","formatShortDate2FromTimestamp","REQUIRED_FIELDS_BY_TYPE","case","note","referral","validateRequiredValues","type","values","requiredFields","filter","field","updateShippingDetail","shippingDetail","index","updates","item","find","detail","Object","assign","getRequestedDateRange","pays5590RefactorInsuranceFilters","serviceStart","serviceEnd","requestedStartDate","requestedEndDate","unix","toISOString","add","subtract","getCaseValues","_ref","_referral$client_need","_referral$primaryWork","personId","isOON","formSubmissionId","screeningId","caseValues","description","state","person_conditions","person","provider","sendingProvider","id","network","service","client_need","length","primaryWorker","primary_worker","originating_form_submission","screening2_id","opened_date","getAssistanceRequestCasePayload","_ref2","_referral$client_need2","arCase","showClientNeed","payload","_objectSpread","getReferralState","_ref3","draft","authorizationCreated","getDraftCasePayload","_ref4","oldCase","service_type","getUpdatedCaseFromResponse","_ref5","_caseResponse$data","caseResponse","data","deleteOldCaseReferrals","_ref6","oldReferrals","deleteReferral","referralsToDelete","Promise","all","createCaseReferrals","_ref7","createReferral","createReferralPromises","programs","program","receiving_program","receiving_provider","receiving_network","sending_provider","sending_network","useCreateReferrals","currentEmployee","formResponses","referrals","assistanceRequestId","hint542SupersetUnlistedPrograms","createRecord","createCase","createServiceAuthorization","createFormSubmission","createNote","updateRecord","updateReferral","updateCase","updateServiceAuthorization","createErrorMessage","error","response","errors","title","join","uploadDocuments","caseToUploadDoc","attachableDocuments","filteredDocuments","doc","attached","attachedDocuments","ad","document","attachDocumentsToResource","setRelationship","relationshipModel","value","a","uploadPromises","uploadedDocuments","uploadDocumentsToResource","d","uploadFile","file","submitAssessments","_ref8","cases","latestResponses","promises","serviceCase","assessment","_assessment$form","form","service_type_ids","includes","push","context","contextType","responses","submitter","then","catch","err","notify","fetchActiveInsurance","_ref9","_responseInsurances$d","feeScheduleId","queryInsuranceParams","enrolled_before","expired_after","sort","responseInsurances","query","createAuthorizationIfNeeded","_ref0","caseId","feeScheduleProgram","fee_schedule_program","authorization_required","insurance","fee_schedule","amountRequested","paymentAuthForm","amount_requested","icd10Codes","icd10_code","requested_starts_at","requested_ends_at","isCostPaymentType","payment_type","requested_cents","requested_unit_amount","parseInt","requester","clinical_modifications","createCaseForReferral","_ref1","result","missingCaseValues","Error","concat","createdCase","createUnlistedProgramNote","_ref10","programData","createNoteForUnlistedProgramValues","subjectType","subject","employee","visibility","category","text","name","missingNoteValues","sent","referralIndex","_unused","createProgramReferral","_ref11","isGrouped","createdReferrals","referralValues","is_grouped","missingReferralValues","responseReferral","createdReferral","processProgramForReferral","_ref12","createdCaseOrExistingAR","processDraftReferral","_ref13","_referral$case","_resultDraft$cases$","resultDraft","service_authorization","updateDraftReferralCrtb1239","updateDraftReferral","referralsWithIndex","referralData","originalReferral","referralsToConsent","processNonDraftReferral","_ref14","groupedReferrals","referredToPrograms","j","shouldCreateCase","caseResult","createReferrals","_ref15","some","i","message","caseRequestResponse","referralsRequestResponse","findRecord","serviceCasePayload","referralId","deleteRecord","referralsResponse","updatedCase","referralResponse","_referralResponse$dat","updateServiceAuthorizationHandler","options","arguments","undefined","isAuthRequired","newState"],"sources":["../../src/hooks/useCreateReferrals.js"],"sourcesContent":["import { get, map, isEmpty } from 'lodash';\nimport moment from 'moment';\nimport fspUtils from '@unite-us/client-utils/dist/utils/feeSchedulePrograms';\nimport { isUnlistedProgram, referralIsOON, referralIsGrouped } from '../pages/builder/utils';\nimport { useCreateRecord, useUpdateRecord } from '../api/ApiHooks';\nimport { CALLBACKS, coreApi } from '../api/config';\nimport { useAppCreateReferralContext } from '../context/AppCreateReferralProvider';\nimport { useFeatureFlag } from '../utils/useFeatureFlag';\nimport referralToConsent from '../utils/referralToConsent';\nimport { formatShortDate2FromTimestamp } from '../components/service_authorization/formatShortDate';\n\nconst REQUIRED_FIELDS_BY_TYPE = {\n case: ['description', 'service', 'provider', 'network', 'person'],\n note: ['subjectType', 'subject', 'visibility', 'text'],\n referral: ['case', 'receiving_program', 'receiving_provider', 'receiving_network', 'sending_provider', 'sending_network'],\n};\n\nconst validateRequiredValues = (type, values) => {\n const requiredFields = REQUIRED_FIELDS_BY_TYPE[type] || [];\n return requiredFields.filter((field) => !values[field]);\n};\n\nconst updateShippingDetail = (shippingDetail, index, updates) => {\n const item = shippingDetail.find((detail) => detail.index === index);\n if (item) {\n Object.assign(item, updates);\n }\n};\n\nconst getRequestedDateRange = (referral, pays5590RefactorInsuranceFilters) => {\n const serviceStart = get(referral, 'paymentAuthForm.service_start');\n const serviceEnd = get(referral, 'paymentAuthForm.service_end');\n let requestedStartDate;\n let requestedEndDate;\n\n if (serviceStart) {\n requestedStartDate = moment.unix(serviceStart).toISOString();\n }\n if (serviceEnd) {\n requestedEndDate = moment.unix(serviceEnd).toISOString();\n }\n\n if (pays5590RefactorInsuranceFilters) {\n if (requestedStartDate) {\n requestedStartDate = moment(requestedStartDate).add(1, 'day').toISOString();\n }\n if (requestedEndDate) {\n requestedEndDate = moment(requestedEndDate).subtract(1, 'day').toISOString();\n }\n }\n\n return { requestedStartDate, requestedEndDate };\n};\n\nconst getCaseValues = ({\n referral,\n personId,\n isOON,\n formSubmissionId,\n screeningId,\n}) => {\n const caseValues = {\n description: referral.description,\n state: 'draft',\n person_conditions: [],\n person: personId,\n provider: referral.sendingProvider.id,\n network: referral.network.id,\n service: referral.service.id,\n };\n\n if (referral.client_need?.length) {\n caseValues.person_conditions = referral.client_need.map((id) => ({ id, type: 'person_condition' }));\n }\n if (referral.primaryWorker?.id) {\n caseValues.primary_worker = referral.primaryWorker.id;\n }\n if (formSubmissionId) {\n caseValues.originating_form_submission = formSubmissionId;\n }\n if (screeningId) {\n caseValues.screening2_id = screeningId;\n }\n if (isOON) {\n caseValues.state = 'off_platform';\n caseValues.opened_date = formatShortDate2FromTimestamp(referral.opened_date);\n }\n\n return caseValues;\n};\n\nconst getAssistanceRequestCasePayload = ({\n referral,\n arCase,\n isOON,\n showClientNeed,\n}) => {\n let payload = {\n description: referral.description,\n network: referral.network.id,\n };\n\n if (referral.service.id && (get(arCase, 'service.id') !== referral.service.id)) {\n payload = { ...payload, service: referral.service.id };\n }\n\n if (isOON) {\n payload = {\n ...payload,\n primary_worker: referral.primaryWorker.id,\n state: 'off_platform',\n opened_date: formatShortDate2FromTimestamp(referral.opened_date),\n };\n }\n\n if (showClientNeed && referral.client_need?.length > 0) {\n payload.person_conditions = referral.client_need.map((id) => ({ id, type: 'person_condition' }));\n }\n\n return payload;\n};\n\nconst getReferralState = ({ draft, isOON, authorizationCreated }) => {\n if (draft) {\n return 'draft';\n }\n if (isOON) {\n return 'off_platform';\n }\n if (authorizationCreated) {\n return 'pending_authorization';\n }\n return 'sent';\n};\n\nconst getDraftCasePayload = ({ referral, oldCase }) => {\n const payload = {};\n if (referral.service.id !== oldCase.service_type.id) {\n payload.service = { id: referral.service.id };\n }\n if (referral.description && referral.description !== oldCase.description) {\n payload.description = referral.description;\n }\n return payload;\n};\n\nconst getUpdatedCaseFromResponse = ({ caseResponse, oldCase }) => {\n if (caseResponse?.data?.data) {\n return caseResponse.data.data;\n }\n return oldCase;\n};\n\nconst deleteOldCaseReferrals = async ({ oldReferrals, deleteReferral }) => {\n if (!oldReferrals?.length) {\n return;\n }\n const referralsToDelete = oldReferrals.map((referral) => deleteReferral(referral.id));\n await Promise.all(referralsToDelete);\n};\n\nconst createCaseReferrals = ({ referral, oldCase, createReferral }) => {\n const createReferralPromises = referral.programs.map((program) => createReferral({\n state: 'sent',\n case: oldCase.id,\n receiving_program: program.id,\n receiving_provider: program.provider.id,\n receiving_network: referral.network.id,\n sending_provider: oldCase.provider.id,\n sending_network: oldCase.network.id,\n }));\n return Promise.all(createReferralPromises);\n};\n\nexport default function useCreateReferrals() {\n const {\n state: {\n currentEmployee,\n formResponses,\n person,\n referrals,\n formSubmissionId,\n assistanceRequestId,\n screeningId,\n }\n } = useAppCreateReferralContext();\n\n const hint542SupersetUnlistedPrograms = useFeatureFlag('hint542SupersetUnlistedPrograms', false);\n const pays5590RefactorInsuranceFilters = useFeatureFlag('pays5590RefactorInsuranceFilters', false);\n const showClientNeed = useFeatureFlag('crtb2130MultipleClientNeeds', false);\n\n const { createRecord: createReferral } = useCreateRecord('referral');\n const { createRecord: createCase } = useCreateRecord('case');\n const { createRecord: createServiceAuthorization } = useCreateRecord('service_authorization');\n const { createRecord: createFormSubmission } = useCreateRecord('form_submission');\n const { createRecord: createNote } = useCreateRecord('note');\n const { updateRecord: updateReferral } = useUpdateRecord('referral');\n const { updateRecord: updateCase } = useUpdateRecord('case');\n const { updateRecord: updateServiceAuthorization } = useUpdateRecord('service_authorization');\n\n const createErrorMessage = (error) => {\n return error.response.data.errors.map((error) => error.title).join(', ');\n }\n\n const uploadDocuments = ((referral, caseToUploadDoc) => {\n const attachableDocuments = get(referral, 'attachableDocuments', []);\n const filteredDocuments = attachableDocuments.filter((doc) => doc.attached === true);\n const attachedDocuments = filteredDocuments.map((ad) => ({\n title: ad.document.title,\n id: ad.document.id,\n }));\n\n if(!isEmpty(attachedDocuments)) {\n const attachDocumentsToResource = () => (\n coreApi.setRelationship(\n 'case',\n caseToUploadDoc.id,\n { relationshipModel: 'file_upload', value: attachedDocuments.map((a) => a.id) },\n )\n );\n\n const uploadPromises = !isEmpty(attachedDocuments) && attachDocumentsToResource();\n\n Promise.all([uploadPromises]);\n }\n\n const uploadedDocuments = get(referral, 'attachments', []);\n\n if (!isEmpty(uploadedDocuments)) {\n const uploadDocumentsToResource = () => (\n uploadedDocuments.map((d) => coreApi.uploadFile('case', caseToUploadDoc.id, d.file))\n );\n\n const uploadPromises = uploadDocumentsToResource();\n Promise.all([\n ...(uploadPromises || []),\n ]);\n }\n });\n\n const submitAssessments = ({ cases, latestResponses }) => {\n let promises = [];\n map(cases, (serviceCase) => {\n map((latestResponses || formResponses), (assessment) => {\n if (!isEmpty(assessment) && assessment.form?.service_type_ids?.includes(serviceCase.service.id)) {\n promises.push(createFormSubmission({\n context: serviceCase.id,\n contextType: 'case',\n form: assessment.form.id,\n provider: serviceCase.provider.id,\n responses: assessment.responses,\n submitter: currentEmployee.id,\n }));\n }\n });\n });\n\n return Promise.all(promises).then((responses) => {\n return responses;\n }).catch(err => {\n CALLBACKS.notify.error(\"Error submitting Assessments\");\n throw err;\n });\n };\n\n const fetchActiveInsurance = async ({ personId, feeScheduleId, requestedStartDate, requestedEndDate }) => {\n const queryInsuranceParams = {\n person: personId,\n state: 'active',\n enrolled_before: requestedStartDate,\n expired_after: requestedEndDate,\n 'plan.fee_schedules': feeScheduleId,\n sort: '-enrolled_at',\n };\n\n const responseInsurances = await coreApi.query('insurance', queryInsuranceParams);\n return responseInsurances?.data?.data?.[0];\n };\n\n const createAuthorizationIfNeeded = async ({ referral, caseId, personId, draft }) => {\n const feeScheduleProgram = referral.programs[0].fee_schedule_program;\n if (!feeScheduleProgram?.authorization_required) {\n return false;\n }\n\n const { requestedStartDate, requestedEndDate } = getRequestedDateRange(\n referral,\n pays5590RefactorInsuranceFilters,\n );\n const insurance = await fetchActiveInsurance({\n personId,\n feeScheduleId: feeScheduleProgram.fee_schedule.id,\n requestedStartDate,\n requestedEndDate,\n });\n\n const amountRequested = referral.paymentAuthForm.amount_requested;\n const icd10Codes = referral.paymentAuthForm.icd10_code.id ? [referral.paymentAuthForm.icd10_code.id] : [];\n\n await createServiceAuthorization({\n state: draft ? 'draft' : 'requested',\n requested_starts_at: requestedStartDate,\n requested_ends_at: requestedEndDate,\n ...(fspUtils.isCostPaymentType(feeScheduleProgram.payment_type)\n ? { requested_cents: amountRequested }\n : { requested_unit_amount: parseInt(amountRequested) }),\n case: caseId,\n fee_schedule_program: feeScheduleProgram.id,\n requester: currentEmployee.id,\n insurance: insurance.id,\n person: personId,\n clinical_modifications: icd10Codes,\n });\n\n return true;\n };\n\n const createCaseForReferral = async ({ referral, index, personId, isOON, draft, result }) => {\n const caseValues = getCaseValues({\n referral,\n personId,\n isOON,\n formSubmissionId,\n screeningId,\n });\n const missingCaseValues = validateRequiredValues('case', caseValues);\n if (missingCaseValues.length) {\n throw new Error(`The following fields for the case are required: ${missingCaseValues.join(', ')}`);\n }\n\n try {\n let caseResponse;\n if (assistanceRequestId && index === 0) {\n const arCase = get(assistanceRequestId, 'case', null);\n const payload = getAssistanceRequestCasePayload({\n referral,\n arCase,\n isOON,\n showClientNeed,\n });\n caseResponse = await updateCase(arCase.id, payload);\n } else {\n caseResponse = await createCase(caseValues);\n }\n\n const createdCase = get(caseResponse, 'data.data', {});\n updateShippingDetail(result.shippingDetail, index, { caseId: createdCase.id });\n\n const authorizationCreated = await createAuthorizationIfNeeded({\n referral,\n caseId: createdCase.id,\n personId,\n draft,\n });\n\n result.cases.push(createdCase);\n return { createdCase, authorizationCreated };\n } catch (err) {\n result.shippingDetail[index].error = `Error creating the Case: ${createErrorMessage(err)}`;\n return null;\n }\n };\n\n const createUnlistedProgramNote = ({ programData, caseId, index, result }) => {\n const createNoteForUnlistedProgramValues = {\n subjectType: 'case',\n subject: caseId,\n employee: currentEmployee.id,\n visibility: 'public',\n category: 'external_provider',\n text: `Referred off platform to ${programData.name}`,\n };\n\n const missingNoteValues = validateRequiredValues('note', createNoteForUnlistedProgramValues);\n if (missingNoteValues.length) {\n result.shippingDetail[index].error = `The following fields for the unlisted program are required: ${missingNoteValues.join(', ')}`;\n return;\n }\n\n try {\n createNote(createNoteForUnlistedProgramValues);\n result.referrals.push({ index, sent: true, referralIndex: index });\n updateShippingDetail(result.shippingDetail, index, { sent: true });\n } catch {\n result.shippingDetail[index].error = \"Error creating the note on the case for the unlisted program\";\n }\n };\n\n const createProgramReferral = async ({\n referral,\n programData,\n state,\n isGrouped,\n caseId,\n index,\n result,\n createdReferrals,\n }) => {\n const referralValues = {\n state,\n case: caseId,\n is_grouped: isGrouped,\n receiving_program: programData.id,\n receiving_provider: programData.provider.id,\n receiving_network: referral.network.id,\n sending_provider: referral.sendingProvider.id,\n sending_network: referral.network.id,\n };\n\n const missingReferralValues = validateRequiredValues('referral', referralValues);\n if (missingReferralValues.length) {\n result.shippingDetail[index].error = `The following fields for the referral are required: ${missingReferralValues.join(', ')}`;\n return;\n }\n\n try {\n const responseReferral = await createReferral(referralValues);\n const createdReferral = responseReferral.data.data;\n result.referrals.push({\n ...createdReferral,\n referralIndex: index,\n });\n updateShippingDetail(result.shippingDetail, index, { sent: true });\n createdReferrals.push(createdReferral);\n } catch (err) {\n result.shippingDetail[index].error = `Error creating the Referral: ${createErrorMessage(err)}`;\n }\n };\n\n const processProgramForReferral = async ({\n referral,\n programData,\n isGrouped,\n isOON,\n authorizationCreated,\n draft,\n createdCaseOrExistingAR,\n index,\n result,\n createdReferrals,\n }) => {\n uploadDocuments(referral, createdCaseOrExistingAR);\n\n const state = getReferralState({ draft, isOON, authorizationCreated });\n if (hint542SupersetUnlistedPrograms && isUnlistedProgram(programData)) {\n createUnlistedProgramNote({\n programData,\n caseId: createdCaseOrExistingAR.id,\n index,\n result,\n });\n return;\n }\n\n await createProgramReferral({\n referral,\n programData,\n state,\n isGrouped,\n caseId: createdCaseOrExistingAR.id,\n index,\n result,\n createdReferrals,\n });\n };\n\n const processDraftReferral = async ({ referral, index, draft, result }) => {\n const resultDraft = isEmpty(referral.case?.service_authorization)\n ? await updateDraftReferralCrtb1239(referral)\n : await updateDraftReferral(referral, draft);\n\n updateShippingDetail(result.shippingDetail, index, { sent: true, caseId: resultDraft.cases[0]?.id });\n result.cases.push(resultDraft.cases[0]);\n \n const referralsWithIndex = resultDraft.referrals.map(referral => ({\n ...referral,\n referralIndex: index,\n }));\n result.referrals.push(...referralsWithIndex);\n\n const referralData = await referralToConsent({\n originalReferral: referral,\n createdReferrals: resultDraft.referrals,\n });\n if (referralData) {\n result.referralsToConsent.push(referralData);\n }\n };\n\n const processNonDraftReferral = async ({ referral, index, draft, groupedReferrals, personId, result }) => {\n const referredToPrograms = get(referral, 'programs', []);\n const isGrouped = referralIsGrouped(referral);\n const isOON = referralIsOON(referral);\n const createdReferrals = [];\n\n let createdCaseOrExistingAR = null;\n let authorizationCreated = false;\n\n for (let j = 0; j < referredToPrograms.length; j += 1) {\n const programData = referredToPrograms[j];\n const shouldCreateCase = (groupedReferrals && !createdCaseOrExistingAR) || !groupedReferrals;\n\n if (shouldCreateCase) {\n const caseResult = await createCaseForReferral({\n referral,\n index,\n personId,\n isOON,\n draft,\n result,\n });\n if (!caseResult) {\n continue;\n }\n createdCaseOrExistingAR = caseResult.createdCase;\n authorizationCreated = caseResult.authorizationCreated;\n }\n\n await processProgramForReferral({\n referral,\n programData,\n isGrouped,\n isOON,\n authorizationCreated,\n draft,\n createdCaseOrExistingAR,\n index,\n result,\n createdReferrals,\n });\n }\n\n const referralData = await referralToConsent({\n originalReferral: referral,\n createdReferrals,\n });\n if (referralData) {\n result.referralsToConsent.push(referralData);\n }\n };\n\n const createReferrals = async ({ referrals, person, draft }) => {\n const result = {\n referrals: [],\n cases: [],\n shippingDetail: [],\n referralsToConsent: [],\n };\n\n const groupedReferrals = referrals.some((referral) => get(referral, 'programs', []).length > 1);\n\n for (let i = 0; i < referrals.length; i += 1) {\n result.shippingDetail.push({ index: i, sent: false, error: null, caseId: null });\n\n try {\n const referral = referrals[i];\n if (referral.state === 'draft') {\n await processDraftReferral({ referral, index: i, draft, result });\n } else {\n await processNonDraftReferral({\n referral,\n index: i,\n draft,\n groupedReferrals,\n personId: person.id,\n result,\n });\n }\n } catch (err) {\n result.shippingDetail[i].error = `Unexpected error: ${err.message}`;\n }\n }\n\n return result;\n };\n\n const updateDraftReferralCrtb1239 = async (referral) => {\n try {\n const [caseRequestResponse, referralsRequestResponse] = await Promise.all([\n coreApi.findRecord('case', referral.case.id),\n coreApi.query('referral', { case: referral.case.id }),\n ]);\n\n const oldCase = get(caseRequestResponse, 'data.data', null);\n const oldReferrals = get(referralsRequestResponse, 'data.data', null);\n\n const serviceCasePayload = getDraftCasePayload({ referral, oldCase });\n const caseResponse = isEmpty(serviceCasePayload) ? oldCase : await updateCase(referral.case.id, serviceCasePayload);\n\n uploadDocuments(referral, oldCase);\n\n await deleteOldCaseReferrals({\n oldReferrals,\n deleteReferral: (referralId) => coreApi.deleteRecord('referral', referralId),\n });\n const referralsResponse = await createCaseReferrals({\n referral,\n oldCase,\n createReferral,\n });\n const updatedCase = getUpdatedCaseFromResponse({ caseResponse, oldCase });\n\n return {\n cases: [updatedCase],\n referrals: referralsResponse.map((referralResponse) => referralResponse?.data?.data),\n };\n } catch (err) {\n CALLBACKS.notify.error(\"Error updating the Draft Referral\");\n throw err;\n }\n }\n\n const updateServiceAuthorizationHandler = async (referral, options = { draft: false }) => {\n const feeScheduleProgram = referral.programs[0].fee_schedule_program;\n const { requestedStartDate, requestedEndDate } = getRequestedDateRange(\n referral,\n pays5590RefactorInsuranceFilters,\n );\n\n const amountRequested = referral.paymentAuthForm.amount_requested;\n const insurance = await fetchActiveInsurance({\n personId: person.id,\n feeScheduleId: feeScheduleProgram.fee_schedule.id,\n requestedStartDate,\n requestedEndDate,\n });\n\n await updateServiceAuthorization(referral.case.service_authorization.id, {\n ...(options.draft ? {} : { state: 'requested' }),\n requested_starts_at: requestedStartDate,\n requested_ends_at: requestedEndDate,\n ...(\n fspUtils.isCostPaymentType(feeScheduleProgram.payment_type) ?\n { requested_cents: amountRequested } : { requested_unit_amount: parseInt(amountRequested) }\n ),\n requester: currentEmployee.id,\n insurance: insurance.id,\n person: person.id,\n });\n }\n\n const updateDraftReferral = async (referral, draft) => {\n try {\n const promises = [\n updateCase(referral.case.id, {\n description: referral.description,\n })\n ];\n\n const isAuthRequired = get(referral, 'programs[0].fee_schedule_program.authorization_required', false);\n\n if(!draft) {\n let newState;\n if (referralIsOON(referral)) {\n newState = 'off_platform';\n } else if (isAuthRequired) {\n newState = 'pending_authorization';\n } else {\n newState = 'sent';\n }\n promises.push(updateReferral(referral.id, {\n state: newState,\n }));\n }\n\n if(isAuthRequired) {\n promises.push(updateServiceAuthorizationHandler(referral, { draft }));\n }\n\n const responses = await Promise.all(\n promises\n );\n\n return {\n referrals: draft ? [] : [responses[1].data.data],\n cases: [responses[0].data.data],\n }\n } catch (err) {\n CALLBACKS.notify.error(\"Error updating the Draft Referral\");\n throw err;\n }\n }\n\n return async ({ draft = false, latestResponses } = {}) => {\n let response = {\n referralsToConsent: [],\n };\n\n response = await createReferrals({ referrals, person, draft });\n\n if (formResponses || latestResponses) {\n await submitAssessments({ cases: response.cases, latestResponses });\n }\n\n return {\n cases: response.cases,\n referrals: response.referrals,\n shippingDetail: response.shippingDetail,\n referralsToConsent: response.referralsToConsent,\n };\n };\n};\n"],"mappings":"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","ignoreList":[]}
|
|
1
|
+
{"version":3,"file":"useCreateReferrals.js","names":["get","map","isEmpty","moment","fspUtils","isUnlistedProgram","referralIsOON","referralIsGrouped","useCreateRecord","useUpdateRecord","CALLBACKS","coreApi","useAppCreateReferralContext","useFeatureFlag","referralToConsent","formatShortDate2FromTimestamp","REQUIRED_FIELDS_BY_TYPE","case","note","referral","validateRequiredValues","type","values","requiredFields","filter","field","updateShippingDetail","shippingDetail","index","updates","item","find","detail","Object","assign","getRequestedDateRange","pays5590RefactorInsuranceFilters","serviceStart","serviceEnd","requestedStartDate","requestedEndDate","unix","toISOString","add","subtract","getCaseValues","_ref","_referral$client_need","_referral$primaryWork","personId","isOON","formSubmissionId","screeningId","caseValues","description","state","person_conditions","person","provider","sendingProvider","id","network","service","client_need","length","primaryWorker","primary_worker","originating_form_submission","screening2_id","opened_date","getAssistanceRequestCasePayload","_ref2","_referral$client_need2","arCase","showClientNeed","payload","_objectSpread","getReferralState","_ref3","draft","authorizationCreated","useCreateReferrals","currentEmployee","formResponses","referrals","assistanceRequestId","hint542SupersetUnlistedPrograms","createRecord","createReferral","createCase","createServiceAuthorization","createFormSubmission","createNote","updateRecord","updateReferral","updateCase","updateServiceAuthorization","createErrorMessage","error","response","data","errors","title","join","uploadDocuments","caseToUploadDoc","attachableDocuments","filteredDocuments","doc","attached","attachedDocuments","ad","document","attachDocumentsToResource","setRelationship","relationshipModel","value","a","uploadPromises","Promise","all","uploadedDocuments","uploadDocumentsToResource","d","uploadFile","file","submitAssessments","_ref4","cases","latestResponses","promises","serviceCase","assessment","_assessment$form","form","service_type_ids","includes","push","context","contextType","responses","submitter","then","catch","err","notify","fetchActiveInsurance","_ref5","_responseInsurances$d","feeScheduleId","queryInsuranceParams","enrolled_before","expired_after","sort","responseInsurances","query","createAuthorizationIfNeeded","_ref6","caseId","feeScheduleProgram","programs","fee_schedule_program","authorization_required","insurance","fee_schedule","amountRequested","paymentAuthForm","amount_requested","icd10Codes","icd10_code","requested_starts_at","requested_ends_at","isCostPaymentType","payment_type","requested_cents","requested_unit_amount","parseInt","requester","clinical_modifications","createCaseForReferral","_ref7","result","missingCaseValues","Error","concat","caseResponse","createdCase","createUnlistedProgramNote","_ref8","programData","createNoteForUnlistedProgramValues","subjectType","subject","employee","visibility","category","text","name","missingNoteValues","sent","referralIndex","_unused","createProgramReferral","_ref9","isGrouped","createdReferrals","referralValues","is_grouped","receiving_program","receiving_provider","receiving_network","sending_provider","sending_network","missingReferralValues","responseReferral","createdReferral","processProgramForReferral","_ref0","createdCaseOrExistingAR","processDraftReferral","_ref1","_referral$case","_resultDraft$cases$","resultDraft","service_authorization","updateDraftReferralCrtb1239","updateDraftReferral","referralsWithIndex","referralData","originalReferral","referralsToConsent","processNonDraftReferral","_ref10","groupedReferrals","referredToPrograms","j","shouldCreateCase","caseResult","createReferrals","_ref11","some","i","message","buildCaseUpdatePayload","oldCase","serviceTypeChanged","service_type","descriptionChanged","getTargetState","buildReferralUpdatePayload","targetState","processReferralUpdates","toUpdate","r","updatePayload","keys","Boolean","processReferralCreations","toCreate","_ref12","program","parseReferralResponses","deleteCount","updateCount","updateResponses","slice","updatedReferrals","_r$data","_r$data2","getDeleteUpdateCreateReferrals","oldReferrals","newProgramIds","oldProgramIds","toDelete","p","fetchAndUpdateCase","caseRequestResponse","referralsRequestResponse","findRecord","serviceCasePayload","arguments","undefined","_caseResponse$data$da","_caseResponse$data","deletePromises","deleteRecord","updatePromises","createPromises","updateServiceAuthorizationHandler","options","isAuthRequired","newState"],"sources":["../../src/hooks/useCreateReferrals.js"],"sourcesContent":["import { get, map, isEmpty } from 'lodash';\nimport moment from 'moment';\nimport fspUtils from '@unite-us/client-utils/dist/utils/feeSchedulePrograms';\nimport { isUnlistedProgram, referralIsOON, referralIsGrouped } from '../pages/builder/utils';\nimport { useCreateRecord, useUpdateRecord } from '../api/ApiHooks';\nimport { CALLBACKS, coreApi } from '../api/config';\nimport { useAppCreateReferralContext } from '../context/AppCreateReferralProvider';\nimport { useFeatureFlag } from '../utils/useFeatureFlag';\nimport referralToConsent from '../utils/referralToConsent';\nimport { formatShortDate2FromTimestamp } from '../components/service_authorization/formatShortDate';\n\nconst REQUIRED_FIELDS_BY_TYPE = {\n case: ['description', 'service', 'provider', 'network', 'person'],\n note: ['subjectType', 'subject', 'visibility', 'text'],\n referral: ['case', 'receiving_program', 'receiving_provider', 'receiving_network', 'sending_provider', 'sending_network'],\n};\n\nconst validateRequiredValues = (type, values) => {\n const requiredFields = REQUIRED_FIELDS_BY_TYPE[type] || [];\n return requiredFields.filter((field) => !values[field]);\n};\n\nconst updateShippingDetail = (shippingDetail, index, updates) => {\n const item = shippingDetail.find((detail) => detail.index === index);\n if (item) {\n Object.assign(item, updates);\n }\n};\n\nconst getRequestedDateRange = (referral, pays5590RefactorInsuranceFilters) => {\n const serviceStart = get(referral, 'paymentAuthForm.service_start');\n const serviceEnd = get(referral, 'paymentAuthForm.service_end');\n let requestedStartDate;\n let requestedEndDate;\n\n if (serviceStart) {\n requestedStartDate = moment.unix(serviceStart).toISOString();\n }\n if (serviceEnd) {\n requestedEndDate = moment.unix(serviceEnd).toISOString();\n }\n\n if (pays5590RefactorInsuranceFilters) {\n if (requestedStartDate) {\n requestedStartDate = moment(requestedStartDate).add(1, 'day').toISOString();\n }\n if (requestedEndDate) {\n requestedEndDate = moment(requestedEndDate).subtract(1, 'day').toISOString();\n }\n }\n\n return { requestedStartDate, requestedEndDate };\n};\n\nconst getCaseValues = ({\n referral,\n personId,\n isOON,\n formSubmissionId,\n screeningId,\n}) => {\n const caseValues = {\n description: referral.description,\n state: 'draft',\n person_conditions: [],\n person: personId,\n provider: referral.sendingProvider.id,\n network: referral.network.id,\n service: referral.service.id,\n };\n\n if (referral.client_need?.length) {\n caseValues.person_conditions = referral.client_need.map((id) => ({ id, type: 'person_condition' }));\n }\n if (referral.primaryWorker?.id) {\n caseValues.primary_worker = referral.primaryWorker.id;\n }\n if (formSubmissionId) {\n caseValues.originating_form_submission = formSubmissionId;\n }\n if (screeningId) {\n caseValues.screening2_id = screeningId;\n }\n if (isOON) {\n caseValues.state = 'off_platform';\n caseValues.opened_date = formatShortDate2FromTimestamp(referral.opened_date);\n }\n\n return caseValues;\n};\n\nconst getAssistanceRequestCasePayload = ({\n referral,\n arCase,\n isOON,\n showClientNeed,\n}) => {\n let payload = {\n description: referral.description,\n network: referral.network.id,\n };\n\n if (referral.service.id && (get(arCase, 'service.id') !== referral.service.id)) {\n payload = { ...payload, service: referral.service.id };\n }\n\n if (isOON) {\n payload = {\n ...payload,\n primary_worker: referral.primaryWorker.id,\n state: 'off_platform',\n opened_date: formatShortDate2FromTimestamp(referral.opened_date),\n };\n }\n\n if (showClientNeed && referral.client_need?.length > 0) {\n payload.person_conditions = referral.client_need.map((id) => ({ id, type: 'person_condition' }));\n }\n\n return payload;\n};\n\nconst getReferralState = ({ draft, isOON, authorizationCreated }) => {\n if (draft) {\n return 'draft';\n }\n if (isOON) {\n return 'off_platform';\n }\n if (authorizationCreated) {\n return 'pending_authorization';\n }\n return 'sent';\n};\n\nexport default function useCreateReferrals() {\n const {\n state: {\n currentEmployee,\n formResponses,\n person,\n referrals,\n formSubmissionId,\n assistanceRequestId,\n screeningId,\n }\n } = useAppCreateReferralContext();\n\n const hint542SupersetUnlistedPrograms = useFeatureFlag('hint542SupersetUnlistedPrograms', false);\n const pays5590RefactorInsuranceFilters = useFeatureFlag('pays5590RefactorInsuranceFilters', false);\n const showClientNeed = useFeatureFlag('crtb2130MultipleClientNeeds', false);\n\n const { createRecord: createReferral } = useCreateRecord('referral');\n const { createRecord: createCase } = useCreateRecord('case');\n const { createRecord: createServiceAuthorization } = useCreateRecord('service_authorization');\n const { createRecord: createFormSubmission } = useCreateRecord('form_submission');\n const { createRecord: createNote } = useCreateRecord('note');\n const { updateRecord: updateReferral } = useUpdateRecord('referral');\n const { updateRecord: updateCase } = useUpdateRecord('case');\n const { updateRecord: updateServiceAuthorization } = useUpdateRecord('service_authorization');\n\n const createErrorMessage = (error) => {\n return error.response.data.errors.map((error) => error.title).join(', ');\n }\n\n const uploadDocuments = ((referral, caseToUploadDoc) => {\n const attachableDocuments = get(referral, 'attachableDocuments', []);\n const filteredDocuments = attachableDocuments.filter((doc) => doc.attached === true);\n const attachedDocuments = filteredDocuments.map((ad) => ({\n title: ad.document.title,\n id: ad.document.id,\n }));\n\n if(!isEmpty(attachedDocuments)) {\n const attachDocumentsToResource = () => (\n coreApi.setRelationship(\n 'case',\n caseToUploadDoc.id,\n { relationshipModel: 'file_upload', value: attachedDocuments.map((a) => a.id) },\n )\n );\n\n const uploadPromises = !isEmpty(attachedDocuments) && attachDocumentsToResource();\n\n Promise.all([uploadPromises]);\n }\n\n const uploadedDocuments = get(referral, 'attachments', []);\n\n if (!isEmpty(uploadedDocuments)) {\n const uploadDocumentsToResource = () => (\n uploadedDocuments.map((d) => coreApi.uploadFile('case', caseToUploadDoc.id, d.file))\n );\n\n const uploadPromises = uploadDocumentsToResource();\n Promise.all([\n ...(uploadPromises || []),\n ]);\n }\n });\n\n const submitAssessments = ({ cases, latestResponses }) => {\n let promises = [];\n map(cases, (serviceCase) => {\n map((latestResponses || formResponses), (assessment) => {\n if (!isEmpty(assessment) && assessment.form?.service_type_ids?.includes(serviceCase.service.id)) {\n promises.push(createFormSubmission({\n context: serviceCase.id,\n contextType: 'case',\n form: assessment.form.id,\n provider: serviceCase.provider.id,\n responses: assessment.responses,\n submitter: currentEmployee.id,\n }));\n }\n });\n });\n\n return Promise.all(promises).then((responses) => {\n return responses;\n }).catch(err => {\n CALLBACKS.notify.error(\"Error submitting Assessments\");\n throw err;\n });\n };\n\n const fetchActiveInsurance = async ({ personId, feeScheduleId, requestedStartDate, requestedEndDate }) => {\n const queryInsuranceParams = {\n person: personId,\n state: 'active',\n enrolled_before: requestedStartDate,\n expired_after: requestedEndDate,\n 'plan.fee_schedules': feeScheduleId,\n sort: '-enrolled_at',\n };\n\n const responseInsurances = await coreApi.query('insurance', queryInsuranceParams);\n return responseInsurances?.data?.data?.[0];\n };\n\n const createAuthorizationIfNeeded = async ({ referral, caseId, personId, draft }) => {\n const feeScheduleProgram = referral.programs[0].fee_schedule_program;\n if (!feeScheduleProgram?.authorization_required) {\n return false;\n }\n\n const { requestedStartDate, requestedEndDate } = getRequestedDateRange(\n referral,\n pays5590RefactorInsuranceFilters,\n );\n const insurance = await fetchActiveInsurance({\n personId,\n feeScheduleId: feeScheduleProgram.fee_schedule.id,\n requestedStartDate,\n requestedEndDate,\n });\n\n const amountRequested = referral.paymentAuthForm.amount_requested;\n const icd10Codes = referral.paymentAuthForm.icd10_code.id ? [referral.paymentAuthForm.icd10_code.id] : [];\n\n await createServiceAuthorization({\n state: draft ? 'draft' : 'requested',\n requested_starts_at: requestedStartDate,\n requested_ends_at: requestedEndDate,\n ...(fspUtils.isCostPaymentType(feeScheduleProgram.payment_type)\n ? { requested_cents: amountRequested }\n : { requested_unit_amount: parseInt(amountRequested) }),\n case: caseId,\n fee_schedule_program: feeScheduleProgram.id,\n requester: currentEmployee.id,\n insurance: insurance.id,\n person: personId,\n clinical_modifications: icd10Codes,\n });\n\n return true;\n };\n\n const createCaseForReferral = async ({ referral, index, personId, isOON, draft, result }) => {\n const caseValues = getCaseValues({\n referral,\n personId,\n isOON,\n formSubmissionId,\n screeningId,\n });\n const missingCaseValues = validateRequiredValues('case', caseValues);\n if (missingCaseValues.length) {\n throw new Error(`The following fields for the case are required: ${missingCaseValues.join(', ')}`);\n }\n\n try {\n let caseResponse;\n if (assistanceRequestId && index === 0) {\n const arCase = get(assistanceRequestId, 'case', null);\n const payload = getAssistanceRequestCasePayload({\n referral,\n arCase,\n isOON,\n showClientNeed,\n });\n caseResponse = await updateCase(arCase.id, payload);\n } else {\n caseResponse = await createCase(caseValues);\n }\n\n const createdCase = get(caseResponse, 'data.data', {});\n updateShippingDetail(result.shippingDetail, index, { caseId: createdCase.id });\n\n const authorizationCreated = await createAuthorizationIfNeeded({\n referral,\n caseId: createdCase.id,\n personId,\n draft,\n });\n\n result.cases.push(createdCase);\n return { createdCase, authorizationCreated };\n } catch (err) {\n result.shippingDetail[index].error = `Error creating the Case: ${createErrorMessage(err)}`;\n return null;\n }\n };\n\n const createUnlistedProgramNote = ({ programData, caseId, index, result }) => {\n const createNoteForUnlistedProgramValues = {\n subjectType: 'case',\n subject: caseId,\n employee: currentEmployee.id,\n visibility: 'public',\n category: 'external_provider',\n text: `Referred off platform to ${programData.name}`,\n };\n\n const missingNoteValues = validateRequiredValues('note', createNoteForUnlistedProgramValues);\n if (missingNoteValues.length) {\n result.shippingDetail[index].error = `The following fields for the unlisted program are required: ${missingNoteValues.join(', ')}`;\n return;\n }\n\n try {\n createNote(createNoteForUnlistedProgramValues);\n result.referrals.push({ index, sent: true, referralIndex: index });\n updateShippingDetail(result.shippingDetail, index, { sent: true });\n } catch {\n result.shippingDetail[index].error = \"Error creating the note on the case for the unlisted program\";\n }\n };\n\n const createProgramReferral = async ({\n referral,\n programData,\n state,\n isGrouped,\n caseId,\n index,\n result,\n createdReferrals,\n }) => {\n const referralValues = {\n state,\n case: caseId,\n is_grouped: isGrouped,\n receiving_program: programData.id,\n receiving_provider: programData.provider.id,\n receiving_network: referral.network.id,\n sending_provider: referral.sendingProvider.id,\n sending_network: referral.network.id,\n };\n\n const missingReferralValues = validateRequiredValues('referral', referralValues);\n if (missingReferralValues.length) {\n result.shippingDetail[index].error = `The following fields for the referral are required: ${missingReferralValues.join(', ')}`;\n return;\n }\n\n try {\n const responseReferral = await createReferral(referralValues);\n const createdReferral = responseReferral.data.data;\n result.referrals.push({\n ...createdReferral,\n referralIndex: index,\n });\n updateShippingDetail(result.shippingDetail, index, { sent: true });\n createdReferrals.push(createdReferral);\n } catch (err) {\n result.shippingDetail[index].error = `Error creating the Referral: ${createErrorMessage(err)}`;\n }\n };\n\n const processProgramForReferral = async ({\n referral,\n programData,\n isGrouped,\n isOON,\n authorizationCreated,\n draft,\n createdCaseOrExistingAR,\n index,\n result,\n createdReferrals,\n }) => {\n uploadDocuments(referral, createdCaseOrExistingAR);\n\n const state = getReferralState({ draft, isOON, authorizationCreated });\n if (hint542SupersetUnlistedPrograms && isUnlistedProgram(programData)) {\n createUnlistedProgramNote({\n programData,\n caseId: createdCaseOrExistingAR.id,\n index,\n result,\n });\n return;\n }\n\n await createProgramReferral({\n referral,\n programData,\n state,\n isGrouped,\n caseId: createdCaseOrExistingAR.id,\n index,\n result,\n createdReferrals,\n });\n };\n\n const processDraftReferral = async ({ referral, index, draft, result }) => {\n const resultDraft = isEmpty(referral.case?.service_authorization)\n ? await updateDraftReferralCrtb1239(referral, draft)\n : await updateDraftReferral(referral, draft);\n\n updateShippingDetail(result.shippingDetail, index, { sent: true, caseId: resultDraft.cases[0]?.id });\n result.cases.push(resultDraft.cases[0]);\n \n const referralsWithIndex = resultDraft.referrals.map(referral => ({\n ...referral,\n referralIndex: index,\n }));\n result.referrals.push(...referralsWithIndex);\n\n const referralData = await referralToConsent({\n originalReferral: referral,\n createdReferrals: resultDraft.referrals,\n });\n if (referralData) {\n result.referralsToConsent.push(referralData);\n }\n };\n\n const processNonDraftReferral = async ({ referral, index, draft, groupedReferrals, personId, result }) => {\n const referredToPrograms = get(referral, 'programs', []);\n const isGrouped = referralIsGrouped(referral);\n const isOON = referralIsOON(referral);\n const createdReferrals = [];\n\n let createdCaseOrExistingAR = null;\n let authorizationCreated = false;\n\n for (let j = 0; j < referredToPrograms.length; j += 1) {\n const programData = referredToPrograms[j];\n const shouldCreateCase = (groupedReferrals && !createdCaseOrExistingAR) || !groupedReferrals;\n\n if (shouldCreateCase) {\n const caseResult = await createCaseForReferral({\n referral,\n index,\n personId,\n isOON,\n draft,\n result,\n });\n if (!caseResult) {\n continue;\n }\n createdCaseOrExistingAR = caseResult.createdCase;\n authorizationCreated = caseResult.authorizationCreated;\n }\n\n await processProgramForReferral({\n referral,\n programData,\n isGrouped,\n isOON,\n authorizationCreated,\n draft,\n createdCaseOrExistingAR,\n index,\n result,\n createdReferrals,\n });\n }\n\n const referralData = await referralToConsent({\n originalReferral: referral,\n createdReferrals,\n });\n if (referralData) {\n result.referralsToConsent.push(referralData);\n }\n };\n\n const createReferrals = async ({ referrals, person, draft }) => {\n const result = {\n referrals: [],\n cases: [],\n shippingDetail: [],\n referralsToConsent: [],\n };\n\n const groupedReferrals = referrals.some((referral) => get(referral, 'programs', []).length > 1);\n\n for (let i = 0; i < referrals.length; i += 1) {\n result.shippingDetail.push({ index: i, sent: false, error: null, caseId: null });\n\n try {\n const referral = referrals[i];\n if (referral.state === 'draft') {\n await processDraftReferral({ referral, index: i, draft, result });\n } else {\n await processNonDraftReferral({\n referral,\n index: i,\n draft,\n groupedReferrals,\n personId: person.id,\n result,\n });\n }\n } catch (err) {\n result.shippingDetail[i].error = `Unexpected error: ${err.message}`;\n }\n }\n\n return result;\n };\n\n const buildCaseUpdatePayload = (referral, oldCase) => {\n const serviceTypeChanged = referral.service.id !== oldCase.service_type.id;\n const descriptionChanged = referral.description && referral.description !== oldCase.description;\n return {\n ...(serviceTypeChanged && { service: { id: referral.service.id } }),\n ...(descriptionChanged && { description: referral.description }),\n };\n };\n\n const getTargetState = (draft, referral) => {\n if (draft) return 'draft';\n return referralIsOON(referral) ? 'off_platform' : 'sent';\n };\n\n const buildReferralUpdatePayload = (referral, targetState, isGrouped) => {\n const payload = {};\n if (referral.state !== targetState) payload.state = targetState;\n if (referral.is_grouped !== isGrouped) payload.is_grouped = isGrouped;\n return payload;\n };\n\n const processReferralUpdates = (toUpdate, targetState, isGrouped) => {\n return toUpdate.map(r => {\n const updatePayload = buildReferralUpdatePayload(r, targetState, isGrouped);\n return Object.keys(updatePayload).length > 0 \n ? coreApi.updateRecord('referral', r.id, updatePayload)\n : null;\n }).filter(Boolean);\n };\n\n const processReferralCreations = (toCreate, { targetState, isGrouped, oldCase, referral }) => {\n return toCreate.map(program => createReferral({\n state: targetState,\n case: oldCase.id,\n is_grouped: isGrouped,\n receiving_program: program.id,\n receiving_provider: program.provider.id,\n receiving_network: referral.network.id,\n sending_provider: oldCase.provider.id,\n sending_network: oldCase.network.id,\n }));\n };\n\n const parseReferralResponses = (responses, deleteCount, updateCount) => {\n const updateResponses = responses.slice(deleteCount, deleteCount + updateCount);\n const updatedReferrals = updateResponses.map(r => r?.data?.data).filter(Boolean);\n const createdReferrals = responses.slice(deleteCount + updateCount).map(r => r?.data?.data).filter(Boolean);\n return { updatedReferrals, createdReferrals };\n };\n\n const getDeleteUpdateCreateReferrals = (referral, oldReferrals) => {\n const newProgramIds = map(referral.programs, 'id');\n const oldProgramIds = map(oldReferrals, 'receiving_program.id');\n const isGrouped = referral.programs.length > 1;\n\n return {\n toDelete: oldReferrals.filter(r => !newProgramIds.includes(r.receiving_program.id)),\n toUpdate: oldReferrals.filter(r => newProgramIds.includes(r.receiving_program.id)),\n toCreate: referral.programs.filter(p => !oldProgramIds.includes(p.id)),\n isGrouped,\n };\n };\n\n const fetchAndUpdateCase = async (referral) => {\n const [caseRequestResponse, referralsRequestResponse] = await Promise.all([\n coreApi.findRecord('case', referral.case.id),\n coreApi.query('referral', { case: referral.case.id }),\n ]);\n\n const oldCase = get(caseRequestResponse, 'data.data', null);\n const oldReferrals = get(referralsRequestResponse, 'data.data', null);\n\n const serviceCasePayload = buildCaseUpdatePayload(referral, oldCase);\n const caseResponse = isEmpty(serviceCasePayload) ? oldCase : await updateCase(referral.case.id, serviceCasePayload);\n\n uploadDocuments(referral, oldCase);\n\n return { oldCase, oldReferrals, caseResponse };\n };\n\n const updateDraftReferralCrtb1239 = async (referral, draft = false) => {\n try {\n const { oldCase, oldReferrals, caseResponse } = await fetchAndUpdateCase(referral);\n const { toDelete, toUpdate, toCreate, isGrouped } = getDeleteUpdateCreateReferrals(referral, oldReferrals);\n const targetState = getTargetState(draft, referral);\n\n const deletePromises = toDelete.map(r => coreApi.deleteRecord('referral', r.id));\n const updatePromises = processReferralUpdates(toUpdate, targetState, isGrouped);\n const createPromises = processReferralCreations(toCreate, { targetState, isGrouped, oldCase, referral });\n\n const responses = await Promise.all([...deletePromises, ...updatePromises, ...createPromises]);\n const { updatedReferrals, createdReferrals } = parseReferralResponses(responses, toDelete.length, updatePromises.length);\n\n return {\n cases: [caseResponse?.data?.data ?? oldCase],\n referrals: [...updatedReferrals, ...createdReferrals],\n };\n } catch (err) {\n CALLBACKS.notify.error(\"Error updating the Draft Referral\");\n throw err;\n }\n }\n\n const updateServiceAuthorizationHandler = async (referral, options = { draft: false }) => {\n const feeScheduleProgram = referral.programs[0].fee_schedule_program;\n const { requestedStartDate, requestedEndDate } = getRequestedDateRange(\n referral,\n pays5590RefactorInsuranceFilters,\n );\n\n const amountRequested = referral.paymentAuthForm.amount_requested;\n const insurance = await fetchActiveInsurance({\n personId: person.id,\n feeScheduleId: feeScheduleProgram.fee_schedule.id,\n requestedStartDate,\n requestedEndDate,\n });\n\n await updateServiceAuthorization(referral.case.service_authorization.id, {\n ...(options.draft ? {} : { state: 'requested' }),\n requested_starts_at: requestedStartDate,\n requested_ends_at: requestedEndDate,\n ...(\n fspUtils.isCostPaymentType(feeScheduleProgram.payment_type) ?\n { requested_cents: amountRequested } : { requested_unit_amount: parseInt(amountRequested) }\n ),\n requester: currentEmployee.id,\n insurance: insurance.id,\n person: person.id,\n });\n }\n\n const updateDraftReferral = async (referral, draft) => {\n try {\n const promises = [\n updateCase(referral.case.id, {\n description: referral.description,\n })\n ];\n\n const isAuthRequired = get(referral, 'programs[0].fee_schedule_program.authorization_required', false);\n\n if(!draft) {\n let newState;\n if (referralIsOON(referral)) {\n newState = 'off_platform';\n } else if (isAuthRequired) {\n newState = 'pending_authorization';\n } else {\n newState = 'sent';\n }\n promises.push(updateReferral(referral.id, {\n state: newState,\n }));\n }\n\n if(isAuthRequired) {\n promises.push(updateServiceAuthorizationHandler(referral, { draft }));\n }\n\n const responses = await Promise.all(\n promises\n );\n\n return {\n referrals: draft ? [] : [responses[1].data.data],\n cases: [responses[0].data.data],\n }\n } catch (err) {\n CALLBACKS.notify.error(\"Error updating the Draft Referral\");\n throw err;\n }\n }\n\n return async ({ draft = false, latestResponses } = {}) => {\n let response = {\n referralsToConsent: [],\n };\n\n response = await createReferrals({ referrals, person, draft });\n\n if (formResponses || latestResponses) {\n await submitAssessments({ cases: response.cases, latestResponses });\n }\n\n return {\n cases: response.cases,\n referrals: response.referrals,\n shippingDetail: response.shippingDetail,\n referralsToConsent: response.referralsToConsent,\n };\n };\n};\n"],"mappings":"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","ignoreList":[]}
|
|
@@ -417,7 +417,10 @@ export default function ReferralBuilder() {
|
|
|
417
417
|
}));
|
|
418
418
|
};
|
|
419
419
|
const navigateBack = () => {
|
|
420
|
-
if (
|
|
420
|
+
if (hasDraftReferral) {
|
|
421
|
+
const draftCaseId = get(draftState, 'case.id', null);
|
|
422
|
+
CALLBACKS.redirectToDraftReferral(draftCaseId);
|
|
423
|
+
} else if (CALLBACKS.onNavigateBack) {
|
|
421
424
|
CALLBACKS.onNavigateBack(crtb854ForwardingSuperset ? {
|
|
422
425
|
referralId,
|
|
423
426
|
referralDescription
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ReferralBuilder.js","names":["React","useEffect","useState","useRef","useCallback","isEqual","isEmpty","get","some","values","intersectionBy","compact","useNavigate","useLocation","Button","Icon","setData","useAppCreateReferralContext","StepHeader","ReferralCard","ReferralBuilderForm","isUnlistedProgram","getReferralSubtitle","initializeReferralErrors","generateErrorMessage","hasOffPlatformReferrals","isEmptyErrors","removeErrorByIndex","updatedReferralsBySelectedServices","useBuildReferrals","CreateReferralContainer","NavButtons","NoReferralsDisplay","removeReferralProgram","Spinner","useCreateReferrals","CALLBACKS","coreApi","fetchContactDocuments","fetchCaseDocuments","classNames","fetchNetworks","useFeatureFlag","ChooseOneServiceTypeModal","REFERRAL_BUILDER_DESCRIPTION","handleKeyDown","AboutGroupedReferralsModal","jsx","_jsx","jsxs","_jsxs","Fragment","_Fragment","ReferralBuilder","_location$state$selec","_location$state","location","navigate","dispatch","state","referrals","selectedPrograms","currentEmployee","currentProvider","fieldsConfig","source","person","draftState","referralDescription","caseId","contextCaseId","referralId","referralType","form","ChooseOneServiceTypeModalRef","previousWindowWidthRef","window","innerWidth","openChooseOneServiceTypeModal","current","openDialog","closeChooseOneServiceTypeModal","closeDialog","hint542SupersetUnlistedPrograms","crtb854ForwardingSuperset","showClientNeeds","servicesState","setServicesState","aboutGroupedReferralsModalIsOpen","setAboutGroupedReferralsModalIsOpen","isOpenChooseOneServiceTypeModal","setChooseOneServiceTypeModalIsOpen","selectedIndex","setSelectedIndex","selectedReferral","fieldErrors","setFieldErrors","nextClicked","setNextClicked","saveDraftClicked","setSaveDraftClicked","expandReferralsCard","setExpandReferralsCard","documents","setDocuments","caseDocuments","setCaseDocuments","loadedDocuments","setloadedDocuments","isEmrSource","networksUnlistedProgram","setNetworksUnlistedProgram","caseData","setCaseData","hasDraftReferral","referralBuilderTitle","isForwardReferralPath","query","URLSearchParams","search","personId","id","errors","Object","keys","reduce","acc","index","fieldError","service","network","primary_worker","description","amount_requested","amount_exceeded","service_end","invalid_insurance_auth_dates","passthrough_dates","opened_date","icd10_code","client_need","setReferralErrors","referralIndex","newErrors","prevFieldErrors","currentErrors","updatedErrors","_objectSpread","onReferralsBuilt","groupedReferrals","initErrors","forEach","_referral","isLoading","handleServiceSelectionChange","programId","serviceId","prevState","map","selected","findServiceName","_ref","_referralThatHasTheSe","serviceToFind","referralThatHasTheService","find","referral","_referral$service","name","mapProgramsToServicesState","flatMap","program","services","serviceName","length","initialState","hasUnlistedPrograms","then","networks","syncExpandedCardWhenChevronHidden","currentWindowWidth","previousWindowWidth","addEventListener","removeEventListener","onLearnMoreClick","onCloseGroupedReferralsModal","refModal","openModal","closeModal","onReferralCardClick","result","fetchCaseData","data","findRecord","error","console","updatedReferrals","attachableDocuments","doc","attached","document","hasMoreThanOneServiceType","_program$services","getSelected","saveValuesOnChange","props","setTimeout","firstIndexWithErrors","entries","findIndex","_ref2","_index","Boolean","focusErrors","setFocus","onNextClick","concat","errorFieldMap","key","fieldName","getElement","getElementById","_document$getElementB","parentElement","_document$getElementB2","_document$getElementB3","errorObj","_form$current","mutators","setFieldTouched","element","focus","moveToExistingReferral","programs","filter","p","newIndex","moveToNewReferral","newReferral","newReferrals","removeProgram","programName","newReferralPrograms","r","newSelectedPrograms","updateAttachments","attachments","navigateBack","onNavigateBack","navigateToAddResources","onNavigateToAddResources","createReferrals","handleSaveDraftReferral","draft","onSaveDraftReferral","notify","success","changeWidthReferralCard","prevExpandReferralsCard","center","referralSubtitle","unselectedReferralIndexes","allPrograms","errorMessage","currentReferral","xlOrLgInvisibleChevron","xlOrLgSpaceReferralDiv","onConfirmApplyChanges","filteredSelectedServices","filteredNonSelectedServices","onDeselectProgram","children","className","header","type","onClick","onKeyDown","event","label","link","ref","onClose","modalRef","onConfirm","onServiceSelectionChange","onBackClick","onForwardClick","primaryLabel","hideForwardButtons","hideSaveDraftLink","icon","color","direction","ariaLabel","onChange","unselected","onSetForm","newForm"],"sources":["../../../src/pages/builder/ReferralBuilder.js"],"sourcesContent":["import React, { useEffect, useState, useRef, useCallback } from 'react';\nimport { isEqual, isEmpty, get, some, values, intersectionBy, compact } from 'lodash';\nimport { useNavigate, useLocation } from 'react-router-dom';\nimport { Button, Icon } from '@unite-us/app-components';\nimport { setData, useAppCreateReferralContext } from '../../context/AppCreateReferralProvider';\nimport StepHeader from '../../components/StepHeader';\nimport ReferralCard from './ReferralCard';\nimport ReferralBuilderForm from './ReferralBuilderForm';\nimport { isUnlistedProgram, getReferralSubtitle, initializeReferralErrors, generateErrorMessage, hasOffPlatformReferrals, isEmptyErrors, removeErrorByIndex, updatedReferralsBySelectedServices } from './utils';\nimport useBuildReferrals from './useBuildReferrals';\nimport CreateReferralContainer from '../../components/CreateReferralContainer';\nimport NavButtons from '../../components/NavButtons';\nimport NoReferralsDisplay from './NoReferralsDisplay';\nimport { removeReferralProgram } from '../../actions/Referral/removeReferralProgram';\nimport Spinner from '../../components/spinners/Spinner';\nimport useCreateReferrals from '../../hooks/useCreateReferrals';\nimport { CALLBACKS, coreApi } from '../../api/config';\nimport fetchContactDocuments from '../../actions/Document/Contact/Group/fetchContactDocuments';\nimport fetchCaseDocuments from '../../actions/Document/Contact/Group/fetchCaseDocuments';\nimport classNames from 'classnames';\nimport fetchNetworks from '../../actions/Referral/fetchNetworks';\nimport { useFeatureFlag } from '../../utils/useFeatureFlag';\nimport ChooseOneServiceTypeModal from './ChooseOneServiceTypeModal';\nimport {\n REFERRAL_BUILDER_DESCRIPTION,\n} from './constants';\nimport { handleKeyDown } from '../../common/utils/utils';\nimport AboutGroupedReferralsModal from './AboutGroupedReferralsModal';\n\nexport default function ReferralBuilder() {\n const location = useLocation();\n const navigate = useNavigate();\n const {\n dispatch,\n state: {\n referrals,\n selectedPrograms,\n currentEmployee,\n currentProvider,\n fieldsConfig,\n source,\n person,\n draftState,\n referralDescription,\n caseId: contextCaseId,\n referralId,\n referralType,\n },\n } = useAppCreateReferralContext();\n const form = useRef();\n const ChooseOneServiceTypeModalRef = useRef();\n const previousWindowWidthRef = useRef(window.innerWidth);\n\n const openChooseOneServiceTypeModal = useCallback(() => {\n ChooseOneServiceTypeModalRef.current.openDialog();\n }, []);\n\n const closeChooseOneServiceTypeModal = useCallback(() => {\n ChooseOneServiceTypeModalRef.current.closeDialog();\n }, []);\n\n const hint542SupersetUnlistedPrograms = useFeatureFlag('hint542SupersetUnlistedPrograms', false);\n const crtb854ForwardingSuperset = useFeatureFlag('crtb854ForwardingSuperset', false);\n const showClientNeeds = useFeatureFlag('crtb2130MultipleClientNeeds', false);\n\n const [servicesState, setServicesState] = useState([]);\n const [aboutGroupedReferralsModalIsOpen, setAboutGroupedReferralsModalIsOpen] = useState(false);\n const [isOpenChooseOneServiceTypeModal, setChooseOneServiceTypeModalIsOpen] = useState(false);\n const [selectedIndex, setSelectedIndex] = useState(location.state?.selectedReferral ?? 0);\n const [fieldErrors, setFieldErrors] = useState({})\n const [nextClicked, setNextClicked] = useState(false);\n const [saveDraftClicked, setSaveDraftClicked] = useState(false);\n const [expandReferralsCard, setExpandReferralsCard] = useState(false);\n const [documents, setDocuments] = useState([]);\n const [caseDocuments, setCaseDocuments] = useState([]);\n const [loadedDocuments, setloadedDocuments] = useState(false);\n const isEmrSource = source === 'emr';\n const [networksUnlistedProgram, setNetworksUnlistedProgram] = useState([]);\n const [caseData, setCaseData] = useState(null);\n const hasDraftReferral = draftState?.state === 'draft';\n const referralBuilderTitle = hasDraftReferral ? 'Edit Your Referrals' : 'Prepare Your Referrals';\n const isForwardReferralPath = !!referralId && !!referralType;\n const query = new URLSearchParams(location.search);\n const caseId = contextCaseId || query.get('caseId');\n const personId = person?.id || query.get('person');\n\n const errors = Object.keys(fieldErrors).reduce((acc, index) => {\n const fieldError = fieldErrors[index];\n acc[index] = {\n service: fieldError?.service,\n network: fieldError?.network,\n primary_worker: fieldError?.primary_worker,\n description: fieldError?.description,\n amount_requested: fieldError?.amount_requested || fieldError?.amount_exceeded,\n service_end: fieldError?.service_end || fieldError?.invalid_insurance_auth_dates,\n passthrough_dates: fieldError?.passthrough_dates,\n opened_date: fieldError?.opened_date,\n icd10_code: fieldError?.icd10_code,\n client_need: fieldError?.client_need,\n }\n return acc;\n }, {});\n const setReferralErrors = (referralIndex, newErrors) => {\n setFieldErrors((prevFieldErrors) => {\n const currentErrors = prevFieldErrors[referralIndex];\n const updatedErrors = { ...currentErrors, ...newErrors };\n \n if (isEqual(updatedErrors, currentErrors)) {\n return prevFieldErrors;\n }\n \n return {\n ...prevFieldErrors,\n [referralIndex]: updatedErrors,\n };\n });\n };\n\n const onReferralsBuilt = (groupedReferrals) => {\n if(!isEmpty(groupedReferrals)) {\n const initErrors = initializeReferralErrors(groupedReferrals, showClientNeeds);\n groupedReferrals.forEach((_referral, index) => {\n setReferralErrors(index, initErrors[index]);\n });\n }\n };\n\n const { isLoading } = useBuildReferrals(onReferralsBuilt);\n\n const handleServiceSelectionChange = (programId, serviceId) => {\n setServicesState(prevState =>\n prevState.map(service =>\n service.programId === programId && service.serviceId === serviceId\n ? { ...service, selected: !service.selected }\n : service\n )\n );\n };\n\n const findServiceName = ({ serviceToFind }) => {\n const referralThatHasTheService = referrals?.find((referral) => referral?.service?.id === serviceToFind);\n return referralThatHasTheService?.service?.name;\n };\n\n const mapProgramsToServicesState = () => {\n return selectedPrograms?.flatMap(program =>\n program.services.map(serviceToFind => {\n const serviceName = findServiceName({ serviceToFind });\n return {\n programId: program.id,\n serviceId: serviceToFind,\n serviceName,\n selected: program.services.length === 1\n };\n })\n ) || [];\n };\n\n useEffect(() => {\n const initialState = mapProgramsToServicesState();\n setServicesState(initialState);\n }, [selectedPrograms]);\n\n useEffect(() => {\n if (!isLoading && hint542SupersetUnlistedPrograms) {\n // If the selected programs contain unlisted programs, fetch the networks from the user provider\n const hasUnlistedPrograms = selectedPrograms?.some((program) => isUnlistedProgram(program));\n if (hasUnlistedPrograms) {\n fetchNetworks(currentProvider).then((networks) => {\n setNetworksUnlistedProgram(networks);\n });\n }\n }\n }, [isLoading]);\n\n useEffect(() => {\n const syncExpandedCardWhenChevronHidden = () => {\n const currentWindowWidth = window.innerWidth;\n const previousWindowWidth = previousWindowWidthRef.current;\n\n if (currentWindowWidth >= 1024) {\n setExpandReferralsCard(true);\n } else if (previousWindowWidth >= 1024) {\n setExpandReferralsCard(false);\n }\n\n previousWindowWidthRef.current = currentWindowWidth;\n };\n\n syncExpandedCardWhenChevronHidden();\n window.addEventListener('resize', syncExpandedCardWhenChevronHidden);\n return () => window.removeEventListener('resize', syncExpandedCardWhenChevronHidden);\n }, []);\n\n\n const onLearnMoreClick = () => {\n setAboutGroupedReferralsModalIsOpen(true);\n };\n\n const onCloseGroupedReferralsModal = () => {\n setAboutGroupedReferralsModalIsOpen(false);\n }\n\n const refModal = useRef(null);\n useEffect(() => {\n if (aboutGroupedReferralsModalIsOpen) {\n refModal.current.openModal();\n } else {\n refModal.current.closeModal();\n }\n }, [aboutGroupedReferralsModalIsOpen]);\n\n useEffect(() => {\n if (!isLoading && isOpenChooseOneServiceTypeModal) {\n openChooseOneServiceTypeModal();\n }\n }, [isLoading]);\n\n const onReferralCardClick = (index) => {\n setSelectedIndex(index);\n }\n\n useEffect(() => {\n fetchContactDocuments(person.id).then((result) => {\n setDocuments(result);\n });\n }, []);\n\n useEffect(() => {\n if (caseId && crtb854ForwardingSuperset) {\n fetchCaseDocuments(caseId).then((result) => {\n setCaseDocuments(result);\n });\n }\n }, []);\n\n useEffect(() => {\n const fetchCaseData = async () => {\n if (caseId) {\n try {\n const { data: { data: caseData } } = await coreApi.findRecord('case', caseId);\n setCaseData(caseData);\n } catch (error) {\n console.error('Error fetching case data:', error);\n }\n }\n };\n fetchCaseData();\n }, [caseId]);\n\n useEffect(() => {\n if (!isEmpty(referrals) && !loadedDocuments && (!isEmpty(documents) || !isEmpty(caseDocuments))) {\n const updatedReferrals = referrals.map((referral) => {\n if(!referral.attachableDocuments) {\n return {\n ...referral,\n attachableDocuments: [...documents, ...caseDocuments].map((doc) => ({ attached: false, document: doc })),\n };\n } else {\n return referral;\n }\n });\n\n dispatch(setData({\n referrals: updatedReferrals,\n }));\n\n setloadedDocuments(true);\n }\n\n const hasMoreThanOneServiceType = selectedPrograms?.some((program) => {\n return program?.services?.length > 1\n })\n setChooseOneServiceTypeModalIsOpen(hasMoreThanOneServiceType)\n }, [referrals]);\n\n const getSelected = () => referrals && referrals[selectedIndex]\n\n const saveValuesOnChange = (props) => {\n const { values } = props;\n const updatedReferrals = referrals;\n updatedReferrals[selectedIndex] = {\n ...values\n }\n\n // Testing: Avoid React Final Form error: FormSpy Cannot update a component while rendering\n // https://github.com/final-form/react-final-form/issues/809#issue-638963034\n setTimeout(() =>\n dispatch(setData({\n referrals: [...updatedReferrals]\n })), 0\n )\n }\n\n const firstIndexWithErrors = Object.entries(errors).findIndex(([_index, values]) => Object.values(values).some(Boolean));\n\n const focusErrors = () => {\n let index = selectedIndex;\n if (!some(values(errors[index]), Boolean)) {\n index = firstIndexWithErrors; \n setSelectedIndex(index);\n }\n\n setFocus(index);\n }\n\n const onNextClick = () => {\n if (isEmptyErrors(errors)) {\n return navigate(`/create/${isForwardReferralPath ? 'review' : 'supporting-info'}`);\n }\n\n focusErrors();\n setNextClicked(true);\n }\n\n const setFocus = (index) => {\n setTimeout(() => {\n const errorFieldMap = [\n { key: 'description', fieldName: 'description', getElement: () => document.getElementById(\"referral-description\") },\n { key: 'opened_date', fieldName: 'opened_date', getElement: () => document.getElementById(\"opened-date\") },\n { key: 'network', fieldName: 'network', getElement: () => document.getElementById(\"network-selection\")?.parentElement?.parentElement },\n { key: 'amount_requested', fieldName: 'paymentAuthForm.amount_requested', getElement: () => document.getElementById(\"authorization-request-amount-requested\") },\n { key: 'service_end', fieldName: 'paymentAuthForm.service_end', getElement: () => document.getElementById(\"authorization-request-service-dates\") },\n { key: 'passthrough_dates', fieldName: 'paymentAuthForm.service_end', getElement: () => document.getElementById(\"authorization-request-service-dates\") },\n { key: 'icd10_code', fieldName: 'paymentAuthForm.icd10_code', getElement: () => document.getElementById(\"authorization-request-icd10-code\") },\n { key: 'primary_worker', fieldName: 'primaryWorker', getElement: () => document.getElementById(\"primary-worker\")?.parentElement?.parentElement },\n { key: 'client_need', fieldName: 'client_need', getElement: () => document.getElementById(\"client_need\")?.parentElement?.parentElement },\n ];\n\n const errorObj = errors[index];\n for (const { key, fieldName, getElement } of errorFieldMap) {\n if (errorObj?.[key]) {\n form.current?.mutators?.setFieldTouched(fieldName, true);\n\n const element = getElement();\n if (element) element.focus();\n\n break;\n }\n }\n }, 100);\n };\n\n const moveToExistingReferral = (index, program) => {\n const { programs } = referrals[selectedIndex];\n\n referrals[selectedIndex] = {\n ...referrals[selectedIndex],\n programs: programs.filter((p) => p.id !== program.id),\n }\n if (isEmpty(referrals[selectedIndex].programs)) {\n referrals[selectedIndex] = null;\n }\n\n referrals[index] = {\n ...referrals[index],\n programs: [...referrals[index].programs, program]\n }\n\n const newErrors = removeErrorByIndex(errors, selectedIndex);\n setFieldErrors(newErrors);\n\n dispatch(setData({\n referrals: compact(referrals),\n }));\n\n const newIndex = selectedIndex < index ? index - 1 : index;\n setSelectedIndex(newIndex);\n }\n\n const moveToNewReferral = (program) => {\n const referral = referrals[selectedIndex];\n referral.programs = referral.programs.filter((p) => p.id !== program.id);\n\n const newReferral = {\n ...referral,\n programs: [program],\n description: '',\n }\n\n const newReferrals = [...referrals, newReferral];\n\n dispatch(setData({\n referrals: newReferrals,\n }));\n\n setSelectedIndex(newReferrals.length - 1);\n }\n\n const removeProgram = (programName, programId, serviceId) => {\n const referral = referrals[selectedIndex];\n const newReferral = removeReferralProgram({ referral, programName, programId, serviceId });\n\n referrals[selectedIndex] = newReferral ? {\n ...newReferral\n } : null;\n\n const newReferrals = compact(referrals);\n const newReferralPrograms = newReferrals.flatMap((r) => r.programs);\n const newSelectedPrograms = intersectionBy(selectedPrograms, newReferralPrograms, 'id');\n\n dispatch(setData({\n referrals: [...newReferrals],\n selectedPrograms: [...newSelectedPrograms],\n }));\n\n if (!referrals[selectedIndex]) {\n const newErrors = removeErrorByIndex(errors, selectedIndex);\n setFieldErrors(newErrors);\n setSelectedIndex(0);\n }\n }\n\n const updateAttachments = (attachments) => {\n referrals[selectedIndex] = {\n ...referrals[selectedIndex],\n attachments,\n };\n \n dispatch(setData({\n referrals,\n }));\n };\n\n const navigateBack = () => {\n if (CALLBACKS.onNavigateBack) {\n CALLBACKS.onNavigateBack(crtb854ForwardingSuperset ? { referralId, referralDescription } : { referralDescription });\n } else {\n navigate(-1);\n }\n }; \n const navigateToAddResources = () => CALLBACKS.onNavigateToAddResources();\n\n const createReferrals = useCreateReferrals();\n const handleSaveDraftReferral = async () => {\n setSaveDraftClicked(true);\n if (isEmptyErrors(errors)) {\n await createReferrals({ draft: true });\n const { onSaveDraftReferral } = CALLBACKS;\n onSaveDraftReferral && onSaveDraftReferral();\n CALLBACKS.notify.success('Draft referral successfully saved');\n } else {\n focusErrors();\n }\n };\n\n const changeWidthReferralCard = () => {\n setExpandReferralsCard((prevExpandReferralsCard) => !prevExpandReferralsCard);\n };\n\n if (isLoading) return <Spinner center />;\n\n const referralSubtitle = getReferralSubtitle(referrals, getSelected());\n const unselectedReferralIndexes = referrals.map((_referral, index) => index).filter((index) => index !== selectedIndex);\n const allPrograms = referrals?.flatMap((r) => r.programs);\n const errorMessage = generateErrorMessage(errors);\n const currentReferral = getSelected();\n\n const xlOrLgInvisibleChevron = classNames({\n 'lg:invisible': true\n });\n\n const xlOrLgSpaceReferralDiv = classNames({\n 'lg:space-x-6': true\n });\n\n const onConfirmApplyChanges = () => {\n const filteredSelectedServices = servicesState.filter((service) => { return service.selected });\n const filteredNonSelectedServices = servicesState.filter((service) => { return !service.selected });\n const updatedReferrals = updatedReferralsBySelectedServices(referrals, filteredSelectedServices);\n\n const initErrors = initializeReferralErrors(updatedReferrals, showClientNeeds);\n setFieldErrors(initErrors);\n\n dispatch(setData({\n referrals: updatedReferrals,\n }));\n\n filteredNonSelectedServices.forEach((service) => {\n CALLBACKS.onDeselectProgram({\n id: service.programId,\n service: service.serviceId,\n });\n });\n\n closeChooseOneServiceTypeModal();\n };\n\n return (\n <CreateReferralContainer>\n <div className=\"px-12\">\n <StepHeader header={referralBuilderTitle}>\n {REFERRAL_BUILDER_DESCRIPTION}\n <br />\n <Button\n type=\"button\"\n onClick={onLearnMoreClick}\n onKeyDown={(event) => handleKeyDown(event, onLearnMoreClick)}\n aria-expanded={aboutGroupedReferralsModalIsOpen}\n label=\"Click here to learn more about referrals.\"\n link\n />\n </StepHeader>\n\n <AboutGroupedReferralsModal ref={refModal} onClose={onCloseGroupedReferralsModal} />\n\n {isOpenChooseOneServiceTypeModal && (\n <ChooseOneServiceTypeModal \n closeDialog={closeChooseOneServiceTypeModal}\n programs={selectedPrograms}\n referrals={referrals}\n modalRef={ChooseOneServiceTypeModalRef}\n findServiceName={findServiceName}\n onConfirm={onConfirmApplyChanges}\n onServiceSelectionChange={handleServiceSelectionChange}\n servicesState={servicesState}\n />\n )}\n <>\n <NavButtons\n onBackClick={navigateBack}\n onForwardClick={onNextClick}\n onSaveDraftReferral={handleSaveDraftReferral}\n primaryLabel=\"Next\"\n hideForwardButtons={isEmpty(referrals)}\n hideSaveDraftLink={get(fieldsConfig, 'hideSaveDraftLink')}\n hasOffPlatformReferrals={hasOffPlatformReferrals(referrals)}\n hasDraftReferral={hasDraftReferral}\n isForwardReferralPath={isForwardReferralPath}\n />\n\n {\n !isEmpty(allPrograms) ? (\n <div className=\"relative mx-auto responsive-max-width\">\n {\n (errorMessage && (nextClicked || saveDraftClicked)) ? (\n <div className=\"flex justify-end\">\n <Icon icon=\"InfoCircle\" color=\"red\" className=\"mr-2 mt-px\" />\n <p className=\"text-red\">{errorMessage}</p>\n </div>\n ) : null\n }\n <div className={`flex justify-end my-5 ${xlOrLgSpaceReferralDiv}`}>\n <div id=\"referrals-card\"\n className={`bg-white border border-solid border-blue-border rounded\n ${expandReferralsCard ? 'relative md:max-w-none lg:w-3/6 z-20' : 'md:w-2/6 lg:w-2/6'}`}>\n <div className=\"p-5 h-full\">\n <div className=\"flex justify-between relative\">\n <div>\n <h3 className=\"text-xl font-black mb-5\">\n Referrals\n </h3>\n </div>\n <div className={xlOrLgInvisibleChevron}>\n <Icon \n icon='ChevronArrow' \n direction={expandReferralsCard ? \"left\" : \"right\"} \n ariaLabel={expandReferralsCard ? \"Collapse sidebar\" : \"Expand Sidebar\"} \n className=\"w-6 h-6\" \n onClick={() => changeWidthReferralCard()}\n />\n </div>\n </div>\n {referrals?.map((referral, index) => (\n <div className=\"mb-5\" key={`referral-card-${index}-wrapper`}>\n <ReferralCard\n referral={referral}\n index={index}\n selectedIndex={selectedIndex}\n onClick={onReferralCardClick}\n errors={errors[index]}\n expandReferralsCard={expandReferralsCard}\n isEmrSource={isEmrSource}\n />\n </div>\n ))}\n </div>\n </div>\n {\n !isEmpty(get(currentReferral, 'programs', [])) ? (\n <ReferralBuilderForm\n currentEmployee={currentEmployee}\n currentProvider={currentProvider} \n hasDraftReferral={hasDraftReferral}\n navigateToAddResources={navigateToAddResources}\n referral={currentReferral}\n referrals={referrals}\n referralSubtitle={referralSubtitle}\n index={selectedIndex}\n onChange={saveValuesOnChange}\n unselected={unselectedReferralIndexes}\n removeProgram={removeProgram}\n onSetForm={(newForm) => { form.current = newForm; }}\n moveToNewReferral={moveToNewReferral}\n moveToExistingReferral={moveToExistingReferral}\n updateAttachments={updateAttachments}\n source={source}\n networksUnlistedProgram={networksUnlistedProgram}\n setReferralErrors={setReferralErrors}\n referralDescription={referralDescription}\n person={person}\n caseData={caseData}\n personId={personId}\n />\n ) : null\n }\n </div>\n </div>\n ) : (\n <NoReferralsDisplay\n hasDraftReferral={hasDraftReferral}\n navigateToAddResources={navigateToAddResources}\n onClick={navigateBack}\n />\n )\n }\n\n <NavButtons\n onBackClick={navigateBack}\n onForwardClick={onNextClick}\n onSaveDraftReferral={handleSaveDraftReferral}\n primaryLabel=\"Next\"\n hideForwardButtons={isEmpty(referrals)}\n hideSaveDraftLink={get(fieldsConfig, 'hideSaveDraftLink')}\n hasDraftReferral={hasDraftReferral}\n hasOffPlatformReferrals={hasOffPlatformReferrals(referrals)}\n isForwardReferralPath={isForwardReferralPath}\n />\n </>\n </div>\n </CreateReferralContainer>\n )\n}\n"],"mappings":"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","ignoreList":[]}
|
|
1
|
+
{"version":3,"file":"ReferralBuilder.js","names":["React","useEffect","useState","useRef","useCallback","isEqual","isEmpty","get","some","values","intersectionBy","compact","useNavigate","useLocation","Button","Icon","setData","useAppCreateReferralContext","StepHeader","ReferralCard","ReferralBuilderForm","isUnlistedProgram","getReferralSubtitle","initializeReferralErrors","generateErrorMessage","hasOffPlatformReferrals","isEmptyErrors","removeErrorByIndex","updatedReferralsBySelectedServices","useBuildReferrals","CreateReferralContainer","NavButtons","NoReferralsDisplay","removeReferralProgram","Spinner","useCreateReferrals","CALLBACKS","coreApi","fetchContactDocuments","fetchCaseDocuments","classNames","fetchNetworks","useFeatureFlag","ChooseOneServiceTypeModal","REFERRAL_BUILDER_DESCRIPTION","handleKeyDown","AboutGroupedReferralsModal","jsx","_jsx","jsxs","_jsxs","Fragment","_Fragment","ReferralBuilder","_location$state$selec","_location$state","location","navigate","dispatch","state","referrals","selectedPrograms","currentEmployee","currentProvider","fieldsConfig","source","person","draftState","referralDescription","caseId","contextCaseId","referralId","referralType","form","ChooseOneServiceTypeModalRef","previousWindowWidthRef","window","innerWidth","openChooseOneServiceTypeModal","current","openDialog","closeChooseOneServiceTypeModal","closeDialog","hint542SupersetUnlistedPrograms","crtb854ForwardingSuperset","showClientNeeds","servicesState","setServicesState","aboutGroupedReferralsModalIsOpen","setAboutGroupedReferralsModalIsOpen","isOpenChooseOneServiceTypeModal","setChooseOneServiceTypeModalIsOpen","selectedIndex","setSelectedIndex","selectedReferral","fieldErrors","setFieldErrors","nextClicked","setNextClicked","saveDraftClicked","setSaveDraftClicked","expandReferralsCard","setExpandReferralsCard","documents","setDocuments","caseDocuments","setCaseDocuments","loadedDocuments","setloadedDocuments","isEmrSource","networksUnlistedProgram","setNetworksUnlistedProgram","caseData","setCaseData","hasDraftReferral","referralBuilderTitle","isForwardReferralPath","query","URLSearchParams","search","personId","id","errors","Object","keys","reduce","acc","index","fieldError","service","network","primary_worker","description","amount_requested","amount_exceeded","service_end","invalid_insurance_auth_dates","passthrough_dates","opened_date","icd10_code","client_need","setReferralErrors","referralIndex","newErrors","prevFieldErrors","currentErrors","updatedErrors","_objectSpread","onReferralsBuilt","groupedReferrals","initErrors","forEach","_referral","isLoading","handleServiceSelectionChange","programId","serviceId","prevState","map","selected","findServiceName","_ref","_referralThatHasTheSe","serviceToFind","referralThatHasTheService","find","referral","_referral$service","name","mapProgramsToServicesState","flatMap","program","services","serviceName","length","initialState","hasUnlistedPrograms","then","networks","syncExpandedCardWhenChevronHidden","currentWindowWidth","previousWindowWidth","addEventListener","removeEventListener","onLearnMoreClick","onCloseGroupedReferralsModal","refModal","openModal","closeModal","onReferralCardClick","result","fetchCaseData","data","findRecord","error","console","updatedReferrals","attachableDocuments","doc","attached","document","hasMoreThanOneServiceType","_program$services","getSelected","saveValuesOnChange","props","setTimeout","firstIndexWithErrors","entries","findIndex","_ref2","_index","Boolean","focusErrors","setFocus","onNextClick","concat","errorFieldMap","key","fieldName","getElement","getElementById","_document$getElementB","parentElement","_document$getElementB2","_document$getElementB3","errorObj","_form$current","mutators","setFieldTouched","element","focus","moveToExistingReferral","programs","filter","p","newIndex","moveToNewReferral","newReferral","newReferrals","removeProgram","programName","newReferralPrograms","r","newSelectedPrograms","updateAttachments","attachments","navigateBack","draftCaseId","redirectToDraftReferral","onNavigateBack","navigateToAddResources","onNavigateToAddResources","createReferrals","handleSaveDraftReferral","draft","onSaveDraftReferral","notify","success","changeWidthReferralCard","prevExpandReferralsCard","center","referralSubtitle","unselectedReferralIndexes","allPrograms","errorMessage","currentReferral","xlOrLgInvisibleChevron","xlOrLgSpaceReferralDiv","onConfirmApplyChanges","filteredSelectedServices","filteredNonSelectedServices","onDeselectProgram","children","className","header","type","onClick","onKeyDown","event","label","link","ref","onClose","modalRef","onConfirm","onServiceSelectionChange","onBackClick","onForwardClick","primaryLabel","hideForwardButtons","hideSaveDraftLink","icon","color","direction","ariaLabel","onChange","unselected","onSetForm","newForm"],"sources":["../../../src/pages/builder/ReferralBuilder.js"],"sourcesContent":["import React, { useEffect, useState, useRef, useCallback } from 'react';\nimport { isEqual, isEmpty, get, some, values, intersectionBy, compact } from 'lodash';\nimport { useNavigate, useLocation } from 'react-router-dom';\nimport { Button, Icon } from '@unite-us/app-components';\nimport { setData, useAppCreateReferralContext } from '../../context/AppCreateReferralProvider';\nimport StepHeader from '../../components/StepHeader';\nimport ReferralCard from './ReferralCard';\nimport ReferralBuilderForm from './ReferralBuilderForm';\nimport { isUnlistedProgram, getReferralSubtitle, initializeReferralErrors, generateErrorMessage, hasOffPlatformReferrals, isEmptyErrors, removeErrorByIndex, updatedReferralsBySelectedServices } from './utils';\nimport useBuildReferrals from './useBuildReferrals';\nimport CreateReferralContainer from '../../components/CreateReferralContainer';\nimport NavButtons from '../../components/NavButtons';\nimport NoReferralsDisplay from './NoReferralsDisplay';\nimport { removeReferralProgram } from '../../actions/Referral/removeReferralProgram';\nimport Spinner from '../../components/spinners/Spinner';\nimport useCreateReferrals from '../../hooks/useCreateReferrals';\nimport { CALLBACKS, coreApi } from '../../api/config';\nimport fetchContactDocuments from '../../actions/Document/Contact/Group/fetchContactDocuments';\nimport fetchCaseDocuments from '../../actions/Document/Contact/Group/fetchCaseDocuments';\nimport classNames from 'classnames';\nimport fetchNetworks from '../../actions/Referral/fetchNetworks';\nimport { useFeatureFlag } from '../../utils/useFeatureFlag';\nimport ChooseOneServiceTypeModal from './ChooseOneServiceTypeModal';\nimport {\n REFERRAL_BUILDER_DESCRIPTION,\n} from './constants';\nimport { handleKeyDown } from '../../common/utils/utils';\nimport AboutGroupedReferralsModal from './AboutGroupedReferralsModal';\n\nexport default function ReferralBuilder() {\n const location = useLocation();\n const navigate = useNavigate();\n const {\n dispatch,\n state: {\n referrals,\n selectedPrograms,\n currentEmployee,\n currentProvider,\n fieldsConfig,\n source,\n person,\n draftState,\n referralDescription,\n caseId: contextCaseId,\n referralId,\n referralType,\n },\n } = useAppCreateReferralContext();\n const form = useRef();\n const ChooseOneServiceTypeModalRef = useRef();\n const previousWindowWidthRef = useRef(window.innerWidth);\n\n const openChooseOneServiceTypeModal = useCallback(() => {\n ChooseOneServiceTypeModalRef.current.openDialog();\n }, []);\n\n const closeChooseOneServiceTypeModal = useCallback(() => {\n ChooseOneServiceTypeModalRef.current.closeDialog();\n }, []);\n\n const hint542SupersetUnlistedPrograms = useFeatureFlag('hint542SupersetUnlistedPrograms', false);\n const crtb854ForwardingSuperset = useFeatureFlag('crtb854ForwardingSuperset', false);\n const showClientNeeds = useFeatureFlag('crtb2130MultipleClientNeeds', false);\n\n const [servicesState, setServicesState] = useState([]);\n const [aboutGroupedReferralsModalIsOpen, setAboutGroupedReferralsModalIsOpen] = useState(false);\n const [isOpenChooseOneServiceTypeModal, setChooseOneServiceTypeModalIsOpen] = useState(false);\n const [selectedIndex, setSelectedIndex] = useState(location.state?.selectedReferral ?? 0);\n const [fieldErrors, setFieldErrors] = useState({})\n const [nextClicked, setNextClicked] = useState(false);\n const [saveDraftClicked, setSaveDraftClicked] = useState(false);\n const [expandReferralsCard, setExpandReferralsCard] = useState(false);\n const [documents, setDocuments] = useState([]);\n const [caseDocuments, setCaseDocuments] = useState([]);\n const [loadedDocuments, setloadedDocuments] = useState(false);\n const isEmrSource = source === 'emr';\n const [networksUnlistedProgram, setNetworksUnlistedProgram] = useState([]);\n const [caseData, setCaseData] = useState(null);\n const hasDraftReferral = draftState?.state === 'draft';\n const referralBuilderTitle = hasDraftReferral ? 'Edit Your Referrals' : 'Prepare Your Referrals';\n const isForwardReferralPath = !!referralId && !!referralType;\n const query = new URLSearchParams(location.search);\n const caseId = contextCaseId || query.get('caseId');\n const personId = person?.id || query.get('person');\n\n const errors = Object.keys(fieldErrors).reduce((acc, index) => {\n const fieldError = fieldErrors[index];\n acc[index] = {\n service: fieldError?.service,\n network: fieldError?.network,\n primary_worker: fieldError?.primary_worker,\n description: fieldError?.description,\n amount_requested: fieldError?.amount_requested || fieldError?.amount_exceeded,\n service_end: fieldError?.service_end || fieldError?.invalid_insurance_auth_dates,\n passthrough_dates: fieldError?.passthrough_dates,\n opened_date: fieldError?.opened_date,\n icd10_code: fieldError?.icd10_code,\n client_need: fieldError?.client_need,\n }\n return acc;\n }, {});\n const setReferralErrors = (referralIndex, newErrors) => {\n setFieldErrors((prevFieldErrors) => {\n const currentErrors = prevFieldErrors[referralIndex];\n const updatedErrors = { ...currentErrors, ...newErrors };\n \n if (isEqual(updatedErrors, currentErrors)) {\n return prevFieldErrors;\n }\n \n return {\n ...prevFieldErrors,\n [referralIndex]: updatedErrors,\n };\n });\n };\n\n const onReferralsBuilt = (groupedReferrals) => {\n if(!isEmpty(groupedReferrals)) {\n const initErrors = initializeReferralErrors(groupedReferrals, showClientNeeds);\n groupedReferrals.forEach((_referral, index) => {\n setReferralErrors(index, initErrors[index]);\n });\n }\n };\n\n const { isLoading } = useBuildReferrals(onReferralsBuilt);\n\n const handleServiceSelectionChange = (programId, serviceId) => {\n setServicesState(prevState =>\n prevState.map(service =>\n service.programId === programId && service.serviceId === serviceId\n ? { ...service, selected: !service.selected }\n : service\n )\n );\n };\n\n const findServiceName = ({ serviceToFind }) => {\n const referralThatHasTheService = referrals?.find((referral) => referral?.service?.id === serviceToFind);\n return referralThatHasTheService?.service?.name;\n };\n\n const mapProgramsToServicesState = () => {\n return selectedPrograms?.flatMap(program =>\n program.services.map(serviceToFind => {\n const serviceName = findServiceName({ serviceToFind });\n return {\n programId: program.id,\n serviceId: serviceToFind,\n serviceName,\n selected: program.services.length === 1\n };\n })\n ) || [];\n };\n\n useEffect(() => {\n const initialState = mapProgramsToServicesState();\n setServicesState(initialState);\n }, [selectedPrograms]);\n\n useEffect(() => {\n if (!isLoading && hint542SupersetUnlistedPrograms) {\n // If the selected programs contain unlisted programs, fetch the networks from the user provider\n const hasUnlistedPrograms = selectedPrograms?.some((program) => isUnlistedProgram(program));\n if (hasUnlistedPrograms) {\n fetchNetworks(currentProvider).then((networks) => {\n setNetworksUnlistedProgram(networks);\n });\n }\n }\n }, [isLoading]);\n\n useEffect(() => {\n const syncExpandedCardWhenChevronHidden = () => {\n const currentWindowWidth = window.innerWidth;\n const previousWindowWidth = previousWindowWidthRef.current;\n\n if (currentWindowWidth >= 1024) {\n setExpandReferralsCard(true);\n } else if (previousWindowWidth >= 1024) {\n setExpandReferralsCard(false);\n }\n\n previousWindowWidthRef.current = currentWindowWidth;\n };\n\n syncExpandedCardWhenChevronHidden();\n window.addEventListener('resize', syncExpandedCardWhenChevronHidden);\n return () => window.removeEventListener('resize', syncExpandedCardWhenChevronHidden);\n }, []);\n\n\n const onLearnMoreClick = () => {\n setAboutGroupedReferralsModalIsOpen(true);\n };\n\n const onCloseGroupedReferralsModal = () => {\n setAboutGroupedReferralsModalIsOpen(false);\n }\n\n const refModal = useRef(null);\n useEffect(() => {\n if (aboutGroupedReferralsModalIsOpen) {\n refModal.current.openModal();\n } else {\n refModal.current.closeModal();\n }\n }, [aboutGroupedReferralsModalIsOpen]);\n\n useEffect(() => {\n if (!isLoading && isOpenChooseOneServiceTypeModal) {\n openChooseOneServiceTypeModal();\n }\n }, [isLoading]);\n\n const onReferralCardClick = (index) => {\n setSelectedIndex(index);\n }\n\n useEffect(() => {\n fetchContactDocuments(person.id).then((result) => {\n setDocuments(result);\n });\n }, []);\n\n useEffect(() => {\n if (caseId && crtb854ForwardingSuperset) {\n fetchCaseDocuments(caseId).then((result) => {\n setCaseDocuments(result);\n });\n }\n }, []);\n\n useEffect(() => {\n const fetchCaseData = async () => {\n if (caseId) {\n try {\n const { data: { data: caseData } } = await coreApi.findRecord('case', caseId);\n setCaseData(caseData);\n } catch (error) {\n console.error('Error fetching case data:', error);\n }\n }\n };\n fetchCaseData();\n }, [caseId]);\n\n useEffect(() => {\n if (!isEmpty(referrals) && !loadedDocuments && (!isEmpty(documents) || !isEmpty(caseDocuments))) {\n const updatedReferrals = referrals.map((referral) => {\n if(!referral.attachableDocuments) {\n return {\n ...referral,\n attachableDocuments: [...documents, ...caseDocuments].map((doc) => ({ attached: false, document: doc })),\n };\n } else {\n return referral;\n }\n });\n\n dispatch(setData({\n referrals: updatedReferrals,\n }));\n\n setloadedDocuments(true);\n }\n\n const hasMoreThanOneServiceType = selectedPrograms?.some((program) => {\n return program?.services?.length > 1\n })\n setChooseOneServiceTypeModalIsOpen(hasMoreThanOneServiceType)\n }, [referrals]);\n\n const getSelected = () => referrals && referrals[selectedIndex]\n\n const saveValuesOnChange = (props) => {\n const { values } = props;\n const updatedReferrals = referrals;\n updatedReferrals[selectedIndex] = {\n ...values\n }\n\n // Testing: Avoid React Final Form error: FormSpy Cannot update a component while rendering\n // https://github.com/final-form/react-final-form/issues/809#issue-638963034\n setTimeout(() =>\n dispatch(setData({\n referrals: [...updatedReferrals]\n })), 0\n )\n }\n\n const firstIndexWithErrors = Object.entries(errors).findIndex(([_index, values]) => Object.values(values).some(Boolean));\n\n const focusErrors = () => {\n let index = selectedIndex;\n if (!some(values(errors[index]), Boolean)) {\n index = firstIndexWithErrors; \n setSelectedIndex(index);\n }\n\n setFocus(index);\n }\n\n const onNextClick = () => {\n if (isEmptyErrors(errors)) {\n return navigate(`/create/${isForwardReferralPath ? 'review' : 'supporting-info'}`);\n }\n\n focusErrors();\n setNextClicked(true);\n }\n\n const setFocus = (index) => {\n setTimeout(() => {\n const errorFieldMap = [\n { key: 'description', fieldName: 'description', getElement: () => document.getElementById(\"referral-description\") },\n { key: 'opened_date', fieldName: 'opened_date', getElement: () => document.getElementById(\"opened-date\") },\n { key: 'network', fieldName: 'network', getElement: () => document.getElementById(\"network-selection\")?.parentElement?.parentElement },\n { key: 'amount_requested', fieldName: 'paymentAuthForm.amount_requested', getElement: () => document.getElementById(\"authorization-request-amount-requested\") },\n { key: 'service_end', fieldName: 'paymentAuthForm.service_end', getElement: () => document.getElementById(\"authorization-request-service-dates\") },\n { key: 'passthrough_dates', fieldName: 'paymentAuthForm.service_end', getElement: () => document.getElementById(\"authorization-request-service-dates\") },\n { key: 'icd10_code', fieldName: 'paymentAuthForm.icd10_code', getElement: () => document.getElementById(\"authorization-request-icd10-code\") },\n { key: 'primary_worker', fieldName: 'primaryWorker', getElement: () => document.getElementById(\"primary-worker\")?.parentElement?.parentElement },\n { key: 'client_need', fieldName: 'client_need', getElement: () => document.getElementById(\"client_need\")?.parentElement?.parentElement },\n ];\n\n const errorObj = errors[index];\n for (const { key, fieldName, getElement } of errorFieldMap) {\n if (errorObj?.[key]) {\n form.current?.mutators?.setFieldTouched(fieldName, true);\n\n const element = getElement();\n if (element) element.focus();\n\n break;\n }\n }\n }, 100);\n };\n\n const moveToExistingReferral = (index, program) => {\n const { programs } = referrals[selectedIndex];\n\n referrals[selectedIndex] = {\n ...referrals[selectedIndex],\n programs: programs.filter((p) => p.id !== program.id),\n }\n if (isEmpty(referrals[selectedIndex].programs)) {\n referrals[selectedIndex] = null;\n }\n\n referrals[index] = {\n ...referrals[index],\n programs: [...referrals[index].programs, program]\n }\n\n const newErrors = removeErrorByIndex(errors, selectedIndex);\n setFieldErrors(newErrors);\n\n dispatch(setData({\n referrals: compact(referrals),\n }));\n\n const newIndex = selectedIndex < index ? index - 1 : index;\n setSelectedIndex(newIndex);\n }\n\n const moveToNewReferral = (program) => {\n const referral = referrals[selectedIndex];\n referral.programs = referral.programs.filter((p) => p.id !== program.id);\n\n const newReferral = {\n ...referral,\n programs: [program],\n description: '',\n }\n\n const newReferrals = [...referrals, newReferral];\n\n dispatch(setData({\n referrals: newReferrals,\n }));\n\n setSelectedIndex(newReferrals.length - 1);\n }\n\n const removeProgram = (programName, programId, serviceId) => {\n const referral = referrals[selectedIndex];\n const newReferral = removeReferralProgram({ referral, programName, programId, serviceId });\n\n referrals[selectedIndex] = newReferral ? {\n ...newReferral\n } : null;\n\n const newReferrals = compact(referrals);\n const newReferralPrograms = newReferrals.flatMap((r) => r.programs);\n const newSelectedPrograms = intersectionBy(selectedPrograms, newReferralPrograms, 'id');\n\n dispatch(setData({\n referrals: [...newReferrals],\n selectedPrograms: [...newSelectedPrograms],\n }));\n\n if (!referrals[selectedIndex]) {\n const newErrors = removeErrorByIndex(errors, selectedIndex);\n setFieldErrors(newErrors);\n setSelectedIndex(0);\n }\n }\n\n const updateAttachments = (attachments) => {\n referrals[selectedIndex] = {\n ...referrals[selectedIndex],\n attachments,\n };\n \n dispatch(setData({\n referrals,\n }));\n };\n\n const navigateBack = () => {\n if (hasDraftReferral) {\n const draftCaseId = get(draftState, 'case.id', null);\n CALLBACKS.redirectToDraftReferral(draftCaseId);\n } else if (CALLBACKS.onNavigateBack) {\n CALLBACKS.onNavigateBack(crtb854ForwardingSuperset ? { referralId, referralDescription } : { referralDescription });\n } else {\n navigate(-1);\n }\n };\n\n const navigateToAddResources = () => CALLBACKS.onNavigateToAddResources();\n\n const createReferrals = useCreateReferrals();\n const handleSaveDraftReferral = async () => {\n setSaveDraftClicked(true);\n if (isEmptyErrors(errors)) {\n await createReferrals({ draft: true });\n const { onSaveDraftReferral } = CALLBACKS;\n onSaveDraftReferral && onSaveDraftReferral();\n CALLBACKS.notify.success('Draft referral successfully saved');\n } else {\n focusErrors();\n }\n };\n\n const changeWidthReferralCard = () => {\n setExpandReferralsCard((prevExpandReferralsCard) => !prevExpandReferralsCard);\n };\n\n if (isLoading) return <Spinner center />;\n\n const referralSubtitle = getReferralSubtitle(referrals, getSelected());\n const unselectedReferralIndexes = referrals.map((_referral, index) => index).filter((index) => index !== selectedIndex);\n const allPrograms = referrals?.flatMap((r) => r.programs);\n const errorMessage = generateErrorMessage(errors);\n const currentReferral = getSelected();\n\n const xlOrLgInvisibleChevron = classNames({\n 'lg:invisible': true\n });\n\n const xlOrLgSpaceReferralDiv = classNames({\n 'lg:space-x-6': true\n });\n\n const onConfirmApplyChanges = () => {\n const filteredSelectedServices = servicesState.filter((service) => { return service.selected });\n const filteredNonSelectedServices = servicesState.filter((service) => { return !service.selected });\n const updatedReferrals = updatedReferralsBySelectedServices(referrals, filteredSelectedServices);\n\n const initErrors = initializeReferralErrors(updatedReferrals, showClientNeeds);\n setFieldErrors(initErrors);\n\n dispatch(setData({\n referrals: updatedReferrals,\n }));\n\n filteredNonSelectedServices.forEach((service) => {\n CALLBACKS.onDeselectProgram({\n id: service.programId,\n service: service.serviceId,\n });\n });\n\n closeChooseOneServiceTypeModal();\n };\n\n return (\n <CreateReferralContainer>\n <div className=\"px-12\">\n <StepHeader header={referralBuilderTitle}>\n {REFERRAL_BUILDER_DESCRIPTION}\n <br />\n <Button\n type=\"button\"\n onClick={onLearnMoreClick}\n onKeyDown={(event) => handleKeyDown(event, onLearnMoreClick)}\n aria-expanded={aboutGroupedReferralsModalIsOpen}\n label=\"Click here to learn more about referrals.\"\n link\n />\n </StepHeader>\n\n <AboutGroupedReferralsModal ref={refModal} onClose={onCloseGroupedReferralsModal} />\n\n {isOpenChooseOneServiceTypeModal && (\n <ChooseOneServiceTypeModal \n closeDialog={closeChooseOneServiceTypeModal}\n programs={selectedPrograms}\n referrals={referrals}\n modalRef={ChooseOneServiceTypeModalRef}\n findServiceName={findServiceName}\n onConfirm={onConfirmApplyChanges}\n onServiceSelectionChange={handleServiceSelectionChange}\n servicesState={servicesState}\n />\n )}\n <>\n <NavButtons\n onBackClick={navigateBack}\n onForwardClick={onNextClick}\n onSaveDraftReferral={handleSaveDraftReferral}\n primaryLabel=\"Next\"\n hideForwardButtons={isEmpty(referrals)}\n hideSaveDraftLink={get(fieldsConfig, 'hideSaveDraftLink')}\n hasOffPlatformReferrals={hasOffPlatformReferrals(referrals)}\n hasDraftReferral={hasDraftReferral}\n isForwardReferralPath={isForwardReferralPath}\n />\n\n {\n !isEmpty(allPrograms) ? (\n <div className=\"relative mx-auto responsive-max-width\">\n {\n (errorMessage && (nextClicked || saveDraftClicked)) ? (\n <div className=\"flex justify-end\">\n <Icon icon=\"InfoCircle\" color=\"red\" className=\"mr-2 mt-px\" />\n <p className=\"text-red\">{errorMessage}</p>\n </div>\n ) : null\n }\n <div className={`flex justify-end my-5 ${xlOrLgSpaceReferralDiv}`}>\n <div id=\"referrals-card\"\n className={`bg-white border border-solid border-blue-border rounded\n ${expandReferralsCard ? 'relative md:max-w-none lg:w-3/6 z-20' : 'md:w-2/6 lg:w-2/6'}`}>\n <div className=\"p-5 h-full\">\n <div className=\"flex justify-between relative\">\n <div>\n <h3 className=\"text-xl font-black mb-5\">\n Referrals\n </h3>\n </div>\n <div className={xlOrLgInvisibleChevron}>\n <Icon \n icon='ChevronArrow' \n direction={expandReferralsCard ? \"left\" : \"right\"} \n ariaLabel={expandReferralsCard ? \"Collapse sidebar\" : \"Expand Sidebar\"} \n className=\"w-6 h-6\" \n onClick={() => changeWidthReferralCard()}\n />\n </div>\n </div>\n {referrals?.map((referral, index) => (\n <div className=\"mb-5\" key={`referral-card-${index}-wrapper`}>\n <ReferralCard\n referral={referral}\n index={index}\n selectedIndex={selectedIndex}\n onClick={onReferralCardClick}\n errors={errors[index]}\n expandReferralsCard={expandReferralsCard}\n isEmrSource={isEmrSource}\n />\n </div>\n ))}\n </div>\n </div>\n {\n !isEmpty(get(currentReferral, 'programs', [])) ? (\n <ReferralBuilderForm\n currentEmployee={currentEmployee}\n currentProvider={currentProvider} \n hasDraftReferral={hasDraftReferral}\n navigateToAddResources={navigateToAddResources}\n referral={currentReferral}\n referrals={referrals}\n referralSubtitle={referralSubtitle}\n index={selectedIndex}\n onChange={saveValuesOnChange}\n unselected={unselectedReferralIndexes}\n removeProgram={removeProgram}\n onSetForm={(newForm) => { form.current = newForm; }}\n moveToNewReferral={moveToNewReferral}\n moveToExistingReferral={moveToExistingReferral}\n updateAttachments={updateAttachments}\n source={source}\n networksUnlistedProgram={networksUnlistedProgram}\n setReferralErrors={setReferralErrors}\n referralDescription={referralDescription}\n person={person}\n caseData={caseData}\n personId={personId}\n />\n ) : null\n }\n </div>\n </div>\n ) : (\n <NoReferralsDisplay\n hasDraftReferral={hasDraftReferral}\n navigateToAddResources={navigateToAddResources}\n onClick={navigateBack}\n />\n )\n }\n\n <NavButtons\n onBackClick={navigateBack}\n onForwardClick={onNextClick}\n onSaveDraftReferral={handleSaveDraftReferral}\n primaryLabel=\"Next\"\n hideForwardButtons={isEmpty(referrals)}\n hideSaveDraftLink={get(fieldsConfig, 'hideSaveDraftLink')}\n hasDraftReferral={hasDraftReferral}\n hasOffPlatformReferrals={hasOffPlatformReferrals(referrals)}\n isForwardReferralPath={isForwardReferralPath}\n />\n </>\n </div>\n </CreateReferralContainer>\n )\n}\n"],"mappings":"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","ignoreList":[]}
|