@unite-us/app-create-referral 0.2.6-CRTB-985-e6aa149 → 0.2.6
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.
|
@@ -86,13 +86,12 @@ function useCreateReferrals() {
|
|
|
86
86
|
return (0, _lodash.get)(r, 'programs', []).length > 1;
|
|
87
87
|
});
|
|
88
88
|
_loop = /*#__PURE__*/_regenerator.default.mark(function _loop() {
|
|
89
|
-
var referral, referredToPrograms,
|
|
89
|
+
var referral, referredToPrograms, caseCreated, _loop2, j;
|
|
90
90
|
return _regenerator.default.wrap(function _loop$(_context2) {
|
|
91
91
|
while (1) switch (_context2.prev = _context2.next) {
|
|
92
92
|
case 0:
|
|
93
93
|
referral = referrals[i];
|
|
94
94
|
referredToPrograms = (0, _lodash.get)(referral, 'programs', []);
|
|
95
|
-
isGrouped = (0, _utils.referralIsGrouped)(referral);
|
|
96
95
|
caseCreated = null;
|
|
97
96
|
_loop2 = /*#__PURE__*/_regenerator.default.mark(function _loop2() {
|
|
98
97
|
var programData, _referral$primaryWork, caseValues, response, attachableDocuments, filteredDocuments, attachedDocuments, attachDocumentsToResource, uploadPromises, uploadedDocuments, uploadDocumentsToResource, _uploadPromises, state, referralValues, responseReferral;
|
|
@@ -169,7 +168,6 @@ function useCreateReferrals() {
|
|
|
169
168
|
referralValues = {
|
|
170
169
|
state: state,
|
|
171
170
|
case: caseCreated.id,
|
|
172
|
-
is_grouped: isGrouped,
|
|
173
171
|
receiving_program: programData.id,
|
|
174
172
|
receiving_provider: programData.provider.id,
|
|
175
173
|
receiving_network: referral.network.id,
|
|
@@ -196,17 +194,17 @@ function useCreateReferrals() {
|
|
|
196
194
|
}, _loop2, null, [[3, 11], [24, 31]]);
|
|
197
195
|
});
|
|
198
196
|
j = 0;
|
|
199
|
-
case
|
|
197
|
+
case 5:
|
|
200
198
|
if (!(j < referredToPrograms.length)) {
|
|
201
|
-
_context2.next =
|
|
199
|
+
_context2.next = 10;
|
|
202
200
|
break;
|
|
203
201
|
}
|
|
204
|
-
return _context2.delegateYield(_loop2(), "t0",
|
|
205
|
-
case
|
|
202
|
+
return _context2.delegateYield(_loop2(), "t0", 7);
|
|
203
|
+
case 7:
|
|
206
204
|
j += 1;
|
|
207
|
-
_context2.next =
|
|
205
|
+
_context2.next = 5;
|
|
208
206
|
break;
|
|
209
|
-
case
|
|
207
|
+
case 10:
|
|
210
208
|
case "end":
|
|
211
209
|
return _context2.stop();
|
|
212
210
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"useCreateReferrals.js","names":["_lodash","require","_utils","_ApiHooks","_config","_AppCreateReferralProvider","ownKeys","e","r","t","_Object$keys","_Object$getOwnPropertySymbols","o","_filterInstanceProperty2","call","_Object$getOwnPropertyDescriptor","enumerable","push","apply","_objectSpread","arguments","length","Object","forEach","_defineProperty2","default","_Object$getOwnPropertyDescriptors","_Object$defineProperties","_Object$defineProperty","useCreateReferrals","_useAppCreateReferral","useAppCreateReferralContext","_useAppCreateReferral2","state","currentEmployee","formResponses","person","referrals","_useCreateRecord","useCreateRecord","createReferral","createRecord","_useCreateRecord2","createCase","_useCreateRecord3","createFormSubmission","_useUpdateRecord","useUpdateRecord","updateReferral","updateRecord","_useUpdateRecord2","updateCase","submitAssessments","_ref","cases","latestResponses","promises","_mapInstanceProperty2","serviceCase","assessment","_assessment$form","isEmpty","form","service_type_ids","_includes","service","id","context","contextType","provider","responses","submitter","_promise","all","then","catch","err","CALLBACKS","notify","error","createReferrals","_ref3","_asyncToGenerator2","_regenerator","mark","_callee","_ref2","draft","result","groupedReferrals","_loop","i","wrap","_callee$","_context3","prev","next","some","get","referral","referredToPrograms","isGrouped","caseCreated","_loop2","j","_loop$","_context2","referralIsGrouped","programData","_referral$primaryWork","caseValues","response","attachableDocuments","filteredDocuments","attachedDocuments","attachDocumentsToResource","uploadPromises","uploadedDocuments","uploadDocumentsToResource","_uploadPromises","referralValues","responseReferral","_loop2$","_context","description","referralIsOON","sendingProvider","network","primaryWorker","primary_worker","sent","data","t0","_filter","doc","attached","_map","ad","title","document","coreApi","setRelationship","relationshipModel","value","a","d","uploadFile","file","_toConsumableArray2","case","is_grouped","receiving_program","receiving_provider","receiving_network","sending_provider","sending_network","t1","stop","delegateYield","abrupt","_x","updateDraftReferral","_ref4","_callee2","_callee2$","_context4","_x2","_callee3","_ref6","_ref6$draft","_args5","_callee3$","_context5","undefined"],"sources":["../../src/hooks/useCreateReferrals.js"],"sourcesContent":["import { get, map, isEmpty } from 'lodash';\nimport { referralIsOON, referralIsGrouped } from '../pages/builder/utils';\nimport { useCreateRecord, useUpdateRecord } from '../api/ApiHooks';\nimport { CALLBACKS, coreApi } from '../api/config';\nimport { useAppCreateReferralContext } from '../context/AppCreateReferralProvider';\n\nexport default function useCreateReferrals() {\n const {\n state: {\n currentEmployee,\n formResponses,\n person,\n referrals,\n }\n } = useAppCreateReferralContext();\n\n const { createRecord: createReferral } = useCreateRecord('referral');\n const { createRecord: createCase } = useCreateRecord('case');\n const { createRecord: createFormSubmission } = useCreateRecord('form_submission');\n const { updateRecord: updateReferral } = useUpdateRecord('referral');\n const { updateRecord: updateCase } = useUpdateRecord('case');\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 createReferrals = async ({ referrals, person, draft }) => {\n const result = {\n referrals: [],\n cases: []\n };\n\n let groupedReferrals = referrals.some(r => get(r, 'programs', []).length > 1);\n\n for (let i = 0; i < referrals.length; i += 1) {\n const referral = referrals[i];\n const referredToPrograms = get(referral, 'programs', [])\n const isGrouped = referralIsGrouped(referral);\n\n let caseCreated = null;\n\n for (let j = 0; j < referredToPrograms.length; j += 1) {\n const programData = referredToPrograms[j];\n\n // for grouped, created only 1 case and attach it to all referrals;\n // for individual create a new case/referral for each\n if ((groupedReferrals && !caseCreated) || !groupedReferrals) {\n const caseValues = {\n description: referral.description,\n state: referralIsOON(referral) ? 'off_platform' : 'draft',\n person: person.id,\n provider: referral.sendingProvider.id,\n network: referral.network.id,\n service: referral.service.id,\n ...(referral.primaryWorker?.id ? { primary_worker: referral.primaryWorker.id } : null),\n }\n try {\n const response = await createCase(caseValues)\n caseCreated = response.data.data;\n result.cases.push(caseCreated);\n } catch (err) {\n CALLBACKS.notify.error(\"Error creating the Case\");\n throw err;\n }\n }\n\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 caseCreated.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', caseCreated.id, d.file))\n );\n\n const uploadPromises = !isEmpty(uploadedDocuments) && uploadDocumentsToResource();\n Promise.all([\n ...(uploadPromises || []),\n ]);\n }\n\n let state = referralIsOON(referral) ? 'off_platform' : 'sent';\n if (draft) {\n state = 'draft';\n }\n\n const referralValues = {\n state,\n case: caseCreated.id,\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 try {\n const responseReferral = await createReferral(referralValues);\n result.referrals.push(responseReferral.data.data);\n } catch (err) {\n CALLBACKS.notify.error(\"Error creating the Referral\");\n throw err;\n }\n }\n }\n return result;\n }\n\n const updateDraftReferral = async (referral) => {\n try {\n const responses = await Promise.all([\n updateReferral(referral.id, {\n state: referralIsOON(referral) ? 'off_platform' : 'sent',\n }),\n updateCase(referral.case.id, {\n description: referral.description,\n }),\n ]);\n\n return {\n referrals: [responses[0].data.data],\n cases: [responses[1].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\n let response = null;\n // Update the Draft Referral to the sent state\n if (referrals.length === 1 && referrals[0].id && referrals[0].state === \"draft\") {\n response = await updateDraftReferral(referrals[0]);\n } else {\n // Create or Save the Referral as a Draft\n response = await createReferrals({ referrals, person, draft })\n }\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 };\n };\n};\n"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"useCreateReferrals.js","names":["_lodash","require","_utils","_ApiHooks","_config","_AppCreateReferralProvider","ownKeys","e","r","t","_Object$keys","_Object$getOwnPropertySymbols","o","_filterInstanceProperty2","call","_Object$getOwnPropertyDescriptor","enumerable","push","apply","_objectSpread","arguments","length","Object","forEach","_defineProperty2","default","_Object$getOwnPropertyDescriptors","_Object$defineProperties","_Object$defineProperty","useCreateReferrals","_useAppCreateReferral","useAppCreateReferralContext","_useAppCreateReferral2","state","currentEmployee","formResponses","person","referrals","_useCreateRecord","useCreateRecord","createReferral","createRecord","_useCreateRecord2","createCase","_useCreateRecord3","createFormSubmission","_useUpdateRecord","useUpdateRecord","updateReferral","updateRecord","_useUpdateRecord2","updateCase","submitAssessments","_ref","cases","latestResponses","promises","_mapInstanceProperty2","serviceCase","assessment","_assessment$form","isEmpty","form","service_type_ids","_includes","service","id","context","contextType","provider","responses","submitter","_promise","all","then","catch","err","CALLBACKS","notify","error","createReferrals","_ref3","_asyncToGenerator2","_regenerator","mark","_callee","_ref2","draft","result","groupedReferrals","_loop","i","wrap","_callee$","_context3","prev","next","some","get","referral","referredToPrograms","caseCreated","_loop2","j","_loop$","_context2","programData","_referral$primaryWork","caseValues","response","attachableDocuments","filteredDocuments","attachedDocuments","attachDocumentsToResource","uploadPromises","uploadedDocuments","uploadDocumentsToResource","_uploadPromises","referralValues","responseReferral","_loop2$","_context","description","referralIsOON","sendingProvider","network","primaryWorker","primary_worker","sent","data","t0","_filter","doc","attached","_map","ad","title","document","coreApi","setRelationship","relationshipModel","value","a","d","uploadFile","file","_toConsumableArray2","case","receiving_program","receiving_provider","receiving_network","sending_provider","sending_network","t1","stop","delegateYield","abrupt","_x","updateDraftReferral","_ref4","_callee2","_callee2$","_context4","_x2","_callee3","_ref6","_ref6$draft","_args5","_callee3$","_context5","undefined"],"sources":["../../src/hooks/useCreateReferrals.js"],"sourcesContent":["import { get, map, isEmpty } from 'lodash';\nimport { referralIsOON } from '../pages/builder/utils';\nimport { useCreateRecord, useUpdateRecord } from '../api/ApiHooks';\nimport { CALLBACKS, coreApi } from '../api/config';\nimport { useAppCreateReferralContext } from '../context/AppCreateReferralProvider';\n\nexport default function useCreateReferrals() {\n const {\n state: {\n currentEmployee,\n formResponses,\n person,\n referrals,\n }\n } = useAppCreateReferralContext();\n\n const { createRecord: createReferral } = useCreateRecord('referral');\n const { createRecord: createCase } = useCreateRecord('case');\n const { createRecord: createFormSubmission } = useCreateRecord('form_submission');\n const { updateRecord: updateReferral } = useUpdateRecord('referral');\n const { updateRecord: updateCase } = useUpdateRecord('case');\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 createReferrals = async ({ referrals, person, draft }) => {\n const result = {\n referrals: [],\n cases: []\n };\n\n let groupedReferrals = referrals.some(r => get(r, 'programs', []).length > 1);\n\n for (let i = 0; i < referrals.length; i += 1) {\n const referral = referrals[i];\n const referredToPrograms = get(referral, 'programs', [])\n\n let caseCreated = null;\n\n for (let j = 0; j < referredToPrograms.length; j += 1) {\n const programData = referredToPrograms[j];\n\n // for grouped, created only 1 case and attach it to all referrals;\n // for individual create a new case/referral for each\n if ((groupedReferrals && !caseCreated) || !groupedReferrals) {\n const caseValues = {\n description: referral.description,\n state: referralIsOON(referral) ? 'off_platform' : 'draft',\n person: person.id,\n provider: referral.sendingProvider.id,\n network: referral.network.id,\n service: referral.service.id,\n ...(referral.primaryWorker?.id ? { primary_worker: referral.primaryWorker.id } : null),\n }\n try {\n const response = await createCase(caseValues)\n caseCreated = response.data.data;\n result.cases.push(caseCreated);\n } catch (err) {\n CALLBACKS.notify.error(\"Error creating the Case\");\n throw err;\n }\n }\n\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 caseCreated.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', caseCreated.id, d.file))\n );\n\n const uploadPromises = !isEmpty(uploadedDocuments) && uploadDocumentsToResource();\n Promise.all([\n ...(uploadPromises || []),\n ]);\n }\n\n let state = referralIsOON(referral) ? 'off_platform' : 'sent';\n if (draft) {\n state = 'draft';\n }\n\n const referralValues = {\n state,\n case: caseCreated.id,\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 try {\n const responseReferral = await createReferral(referralValues);\n result.referrals.push(responseReferral.data.data);\n } catch (err) {\n CALLBACKS.notify.error(\"Error creating the Referral\");\n throw err;\n }\n }\n }\n return result;\n }\n\n const updateDraftReferral = async (referral) => {\n try {\n const responses = await Promise.all([\n updateReferral(referral.id, {\n state: referralIsOON(referral) ? 'off_platform' : 'sent',\n }),\n updateCase(referral.case.id, {\n description: referral.description,\n }),\n ]);\n\n return {\n referrals: [responses[0].data.data],\n cases: [responses[1].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\n let response = null;\n // Update the Draft Referral to the sent state\n if (referrals.length === 1 && referrals[0].id && referrals[0].state === \"draft\") {\n response = await updateDraftReferral(referrals[0]);\n } else {\n // Create or Save the Referral as a Draft\n response = await createReferrals({ referrals, person, draft })\n }\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 };\n };\n};\n"],"mappings":"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"}
|