@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.
@@ -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
@@ -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":"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","ignoreList":[]}
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 hasDraftReferral: 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;IAChBC,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,KAAK;EACfC,gBAAgB,EAAE;AACpB,CAAC;AAED,eAAeV,UAAU","ignoreList":[]}
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 = _ref8 => {
205
+ const submitAssessments = _ref4 => {
261
206
  let {
262
207
  cases,
263
208
  latestResponses
264
- } = _ref8;
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 _ref9 => {
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
- } = _ref9;
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 _ref0 => {
252
+ const createAuthorizationIfNeeded = async _ref6 => {
308
253
  let {
309
254
  referral,
310
255
  caseId,
311
256
  personId,
312
257
  draft
313
- } = _ref0;
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 _ref1 => {
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
- } = _ref1;
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 = _ref10 => {
347
+ const createUnlistedProgramNote = _ref8 => {
403
348
  let {
404
349
  programData,
405
350
  caseId,
406
351
  index,
407
352
  result
408
- } = _ref10;
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 _ref11 => {
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
- } = _ref11;
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 _ref12 => {
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
- } = _ref12;
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 _ref13 => {
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
- } = _ref13;
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 _ref14 => {
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
- } = _ref14;
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 _ref15 => {
540
+ const createReferrals = async _ref11 => {
596
541
  let {
597
542
  referrals,
598
543
  person,
599
544
  draft
600
- } = _ref15;
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 updateDraftReferralCrtb1239 = async referral => {
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
- const [caseRequestResponse, referralsRequestResponse] = await Promise.all([coreApi.findRecord('case', referral.case.id), coreApi.query('referral', {
643
- case: referral.case.id
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
- deleteReferral: referralId => coreApi.deleteRecord('referral', referralId)
656
- });
657
- const referralsResponse = await createCaseReferrals({
658
- referral,
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
- createReferral
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: [updatedCase],
668
- referrals: referralsResponse.map(referralResponse => {
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 (CALLBACKS.onNavigateBack) {
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":[]}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@unite-us/app-create-referral",
3
- "version": "0.15.99",
3
+ "version": "0.15.100",
4
4
  "main": "./dist/index.js",
5
5
  "files": [
6
6
  "dist/**"