@unite-us/app-create-referral 0.15.48 → 0.15.49
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.
|
@@ -348,48 +348,77 @@ export default function ReferralBuilder() {
|
|
|
348
348
|
};
|
|
349
349
|
var setFocus = function setFocus(index) {
|
|
350
350
|
setTimeout(function () {
|
|
351
|
-
var
|
|
352
|
-
|
|
353
|
-
|
|
354
|
-
|
|
355
|
-
|
|
356
|
-
|
|
357
|
-
}
|
|
358
|
-
|
|
359
|
-
|
|
360
|
-
|
|
361
|
-
|
|
362
|
-
|
|
363
|
-
}
|
|
364
|
-
|
|
365
|
-
|
|
366
|
-
|
|
367
|
-
|
|
368
|
-
|
|
369
|
-
|
|
370
|
-
|
|
371
|
-
|
|
372
|
-
|
|
373
|
-
|
|
374
|
-
|
|
375
|
-
|
|
376
|
-
|
|
377
|
-
|
|
378
|
-
|
|
379
|
-
|
|
380
|
-
|
|
381
|
-
|
|
382
|
-
|
|
383
|
-
|
|
384
|
-
|
|
385
|
-
|
|
386
|
-
|
|
387
|
-
|
|
388
|
-
|
|
389
|
-
|
|
390
|
-
|
|
391
|
-
|
|
392
|
-
|
|
351
|
+
var errorFieldMap = [{
|
|
352
|
+
key: 'description',
|
|
353
|
+
fieldName: 'description',
|
|
354
|
+
getElement: function getElement() {
|
|
355
|
+
return document.getElementById("referral-description");
|
|
356
|
+
}
|
|
357
|
+
}, {
|
|
358
|
+
key: 'opened_date',
|
|
359
|
+
fieldName: 'opened_date',
|
|
360
|
+
getElement: function getElement() {
|
|
361
|
+
return document.getElementById("opened-date");
|
|
362
|
+
}
|
|
363
|
+
}, {
|
|
364
|
+
key: 'network',
|
|
365
|
+
fieldName: 'network',
|
|
366
|
+
getElement: function getElement() {
|
|
367
|
+
var _document$getElementB;
|
|
368
|
+
return (_document$getElementB = document.getElementById("network-selection")) === null || _document$getElementB === void 0 || (_document$getElementB = _document$getElementB.parentElement) === null || _document$getElementB === void 0 ? void 0 : _document$getElementB.parentElement;
|
|
369
|
+
}
|
|
370
|
+
}, {
|
|
371
|
+
key: 'amount_requested',
|
|
372
|
+
fieldName: 'paymentAuthForm.amount_requested',
|
|
373
|
+
getElement: function getElement() {
|
|
374
|
+
return document.getElementById("authorization-request-amount-requested");
|
|
375
|
+
}
|
|
376
|
+
}, {
|
|
377
|
+
key: 'service_end',
|
|
378
|
+
fieldName: 'paymentAuthForm.service_end',
|
|
379
|
+
getElement: function getElement() {
|
|
380
|
+
return document.getElementById("authorization-request-service-dates");
|
|
381
|
+
}
|
|
382
|
+
}, {
|
|
383
|
+
key: 'passthrough_dates',
|
|
384
|
+
fieldName: 'paymentAuthForm.service_end',
|
|
385
|
+
getElement: function getElement() {
|
|
386
|
+
return document.getElementById("authorization-request-service-dates");
|
|
387
|
+
}
|
|
388
|
+
}, {
|
|
389
|
+
key: 'icd10_code',
|
|
390
|
+
fieldName: 'paymentAuthForm.icd10_code',
|
|
391
|
+
getElement: function getElement() {
|
|
392
|
+
return document.getElementById("authorization-request-icd10-code");
|
|
393
|
+
}
|
|
394
|
+
}, {
|
|
395
|
+
key: 'primary_worker',
|
|
396
|
+
fieldName: 'primaryWorker',
|
|
397
|
+
getElement: function getElement() {
|
|
398
|
+
var _document$getElementB2;
|
|
399
|
+
return (_document$getElementB2 = document.getElementById("primary-worker")) === null || _document$getElementB2 === void 0 || (_document$getElementB2 = _document$getElementB2.parentElement) === null || _document$getElementB2 === void 0 ? void 0 : _document$getElementB2.parentElement;
|
|
400
|
+
}
|
|
401
|
+
}, {
|
|
402
|
+
key: 'client_need',
|
|
403
|
+
fieldName: 'client_need',
|
|
404
|
+
getElement: function getElement() {
|
|
405
|
+
var _document$getElementB3;
|
|
406
|
+
return (_document$getElementB3 = document.getElementById("client_need")) === null || _document$getElementB3 === void 0 || (_document$getElementB3 = _document$getElementB3.parentElement) === null || _document$getElementB3 === void 0 ? void 0 : _document$getElementB3.parentElement;
|
|
407
|
+
}
|
|
408
|
+
}];
|
|
409
|
+
var errorObj = errors[index];
|
|
410
|
+
for (var _i = 0, _errorFieldMap = errorFieldMap; _i < _errorFieldMap.length; _i++) {
|
|
411
|
+
var _errorFieldMap$_i = _errorFieldMap[_i],
|
|
412
|
+
key = _errorFieldMap$_i.key,
|
|
413
|
+
fieldName = _errorFieldMap$_i.fieldName,
|
|
414
|
+
getElement = _errorFieldMap$_i.getElement;
|
|
415
|
+
if (errorObj !== null && errorObj !== void 0 && errorObj[key]) {
|
|
416
|
+
var _form$current;
|
|
417
|
+
(_form$current = form.current) === null || _form$current === void 0 || (_form$current = _form$current.mutators) === null || _form$current === void 0 || _form$current.setFieldTouched(fieldName, true);
|
|
418
|
+
var element = getElement();
|
|
419
|
+
if (element) element.focus();
|
|
420
|
+
break;
|
|
421
|
+
}
|
|
393
422
|
}
|
|
394
423
|
}, 100);
|
|
395
424
|
};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ReferralBuilder.js","names":["e","t","r","Symbol","n","iterator","o","toStringTag","i","c","prototype","Generator","u","Object","create","_regeneratorDefine2","f","p","y","G","v","a","d","bind","length","l","TypeError","call","done","value","return","GeneratorFunction","GeneratorFunctionPrototype","getPrototypeOf","setPrototypeOf","__proto__","displayName","_regenerator","w","m","defineProperty","_regeneratorDefine","enumerable","configurable","writable","_invoke","_OverloadYield","k","asyncGeneratorStep","Promise","resolve","then","_asyncToGenerator","arguments","apply","_next","_throw","_toConsumableArray","_arrayWithoutHoles","_iterableToArray","_unsupportedIterableToArray","_nonIterableSpread","Array","from","isArray","_arrayLikeToArray","ownKeys","keys","getOwnPropertySymbols","filter","getOwnPropertyDescriptor","push","_objectSpread","forEach","_defineProperty","getOwnPropertyDescriptors","defineProperties","_toPropertyKey","_toPrimitive","_typeof","toPrimitive","String","Number","_slicedToArray","_arrayWithHoles","_iterableToArrayLimit","_nonIterableRest","toString","slice","constructor","name","test","next","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","fetchContactDocuments","fetchCaseDocuments","classNames","fetchNetworks","useFeatureFlag","ChooseOneServiceTypeModal","REFERRAL_BUILDER_DESCRIPTION","handleKeyDown","AboutGroupedReferralsModal","ReferralBuilder","_location$state$selec","_location$state","location","navigate","_useAppCreateReferral","dispatch","_useAppCreateReferral2","state","referrals","selectedPrograms","currentEmployee","currentProvider","fieldsConfig","source","person","draftState","referralDescription","caseId","referralId","referralType","form","ChooseOneServiceTypeModalRef","openChooseOneServiceTypeModal","current","openDialog","closeChooseOneServiceTypeModal","closeDialog","hint542SupersetUnlistedPrograms","crtb1239AdaptDraftReferralFlow","crtb1299HighRejectionSolution","showOpenedDate","crtb854ForwardingSuperset","showClientNeeds","_useState","_useState2","servicesState","setServicesState","_useState3","_useState4","aboutGroupedReferralsModalIsOpen","setAboutGroupedReferralsModalIsOpen","_useState5","_useState6","isOpenChooseOneServiceTypeModal","setChooseOneServiceTypeModalIsOpen","_useState7","selectedReferral","_useState8","selectedIndex","setSelectedIndex","_useState9","_useState10","fieldErrors","setFieldErrors","_useState11","_useState12","nextClicked","setNextClicked","_useState13","_useState14","saveDraftClicked","setSaveDraftClicked","_useState15","_useState16","expandReferralsCard","setExpandReferralsCard","_useState17","window","innerWidth","_useState18","width","setWidth","_useState19","_useState20","documents","setDocuments","_useState21","_useState22","caseDocuments","setCaseDocuments","_useState23","_useState24","loadedDocuments","setloadedDocuments","isEmrSource","_useState25","_useState26","networksUnlistedProgram","setNetworksUnlistedProgram","hasDraftReferral","referralBuilderTitle","isWindowsSizeLarge","isForwardReferralPath","errors","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","onReferralsBuilt","groupedReferrals","initErrors","_referral","_useBuildReferrals","isLoading","handleServiceSelectionChange","programId","serviceId","prevState","map","selected","findServiceName","_ref","_referralThatHasTheSe","serviceToFind","referralThatHasTheService","find","referral","_referral$service","id","mapProgramsToServicesState","flatMap","program","services","serviceName","initialState","hasUnlistedPrograms","networks","handleResize","addEventListener","removeEventListener","handleExpandReferralsCard","changeWidthReferralCard","onLearnMoreClick","onCloseGroupedReferralsModal","refModal","openModal","closeModal","onReferralCardClick","result","updatedReferrals","attachableDocuments","concat","doc","attached","document","hasMoreThanOneServiceType","_program$services","getSelected","saveValuesOnChange","props","setTimeout","firstIndexWithErrors","entries","findIndex","_ref2","_ref3","_index","Boolean","focusErrors","setFocus","onNextClick","_errors$index","_errors$index2","_errors$index3","_errors$index4","_errors$index5","_errors$index6","_errors$index7","_errors$index8","_form$current","mutators","setFieldTouched","networkField","getElementById","parentElement","focus","_form$current2","amountRequested","_form$current3","selectDatesButton","_form$current4","icd10CodeField","_form$current5","descriptionField","_form$current6","primaryWorkerField","_form$current7","clientNeedField","moveToExistingReferral","programs","newIndex","moveToNewReferral","newReferral","newReferrals","removeProgram","programName","newReferralPrograms","newSelectedPrograms","updateAttachments","attachments","navigateBack","onNavigateBack","navigateToAddResources","onNavigateToAddResources","createReferrals","handleSaveDraftReferral","_ref4","_regeneratorRuntime","mark","_callee","onSaveDraftReferral","wrap","_callee$","_context","prev","draft","notify","success","stop","showMargin","createElement","center","referralSubtitle","unselectedReferralIndexes","allPrograms","errorMessage","currentReferral","xlOrLgInvisibleChevron","xlOrLgSpaceReferralDiv","onConfirmApplyChanges","filteredSelectedServices","filteredNonSelectedServices","onDeselectProgram","className","header","type","onClick","onKeyDown","event","label","link","ref","onClose","modalRef","onConfirm","onServiceSelectionChange","Fragment","onBackClick","onForwardClick","primaryLabel","hideForwardButtons","hideSaveDraftLink","icon","color","direction","ariaLabel","key","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 } 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,\n referralId,\n referralType,\n },\n } = useAppCreateReferralContext();\n const form = useRef();\n const ChooseOneServiceTypeModalRef = useRef();\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 crtb1239AdaptDraftReferralFlow = useFeatureFlag('crtb1239AdaptDraftReferralFlow', false);\n const crtb1299HighRejectionSolution = useFeatureFlag('crtb1299HighRejectionSolution', false);\n const showOpenedDate = useFeatureFlag('crtb824AddOpenCloseDateOffPlatformCase', false);\n const crtb854ForwardingSuperset = useFeatureFlag('crtb854ForwardingSuperset', false);\n const showClientNeeds = useFeatureFlag('crtb1788ClientNeeds', 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 [width, setWidth] = useState(window.innerWidth);\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 hasDraftReferral = draftState?.state === 'draft';\n const referralBuilderTitle = crtb1239AdaptDraftReferralFlow && hasDraftReferral ? 'Edit Your Referrals' : 'Prepare Your Referrals';\n const isWindowsSizeLarge = width > (isEmrSource ? 800 : 1200);\n const isForwardReferralPath = !!referralId && !!referralType;\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, showOpenedDate, 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 if (crtb1299HighRejectionSolution) {\n const initialState = mapProgramsToServicesState();\n setServicesState(initialState);\n }\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 handleResize = () => {\n setWidth(window.innerWidth);\n }\n window.addEventListener(\"resize\", handleResize);\n return () => window.removeEventListener(\"resize\", handleResize);\n }, [width]);\n\n useEffect(() => {\n isWindowsSizeLarge && handleExpandReferralsCard();\n }, [width]);\n\n const handleExpandReferralsCard = () => {\n if (expandReferralsCard) {\n changeWidthReferralCard();\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 (crtb1299HighRejectionSolution && !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 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 if (crtb1299HighRejectionSolution) {\n const hasMoreThanOneServiceType = selectedPrograms.some((program) => {\n return program?.services?.length > 1\n })\n setChooseOneServiceTypeModalIsOpen(hasMoreThanOneServiceType)\n }\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 if (errors[index]?.network) {\n form.current?.mutators?.setFieldTouched('network', true);\n const networkField = document.getElementById(\"network-selection\").parentElement.parentElement;\n return networkField.focus();\n }\n if (errors[index]?.amount_requested) {\n form.current?.mutators?.setFieldTouched('paymentAuthForm.amount_requested', true);\n const amountRequested = document.getElementById(\"authorization-request-amount-requested\");\n return amountRequested.focus();\n }\n if (errors[index]?.service_end || errors[index]?.passthrough_dates) {\n form.current?.mutators?.setFieldTouched('paymentAuthForm.service_end', true);\n const selectDatesButton = document.getElementById(\"authorization-request-service-dates\");\n return selectDatesButton.focus();\n }\n if (errors[index]?.icd10_code) {\n form.current?.mutators?.setFieldTouched('paymentAuthForm.icd10_code', true);\n const icd10CodeField = document.getElementById(\"authorization-request-icd10-code\");\n return icd10CodeField.focus();\n }\n if (errors[index]?.description) {\n form.current?.mutators?.setFieldTouched('description', true);\n const descriptionField = document.getElementById(\"referral-description\");\n return descriptionField.focus();\n }\n if (errors[index]?.primary_worker) {\n form.current?.mutators?.setFieldTouched('primaryWorker', true);\n const primaryWorkerField = document.getElementById(\"primary-worker\").parentElement.parentElement;\n return primaryWorkerField.focus();\n }\n if (errors[index]?.client_need) {\n form.current?.mutators?.setFieldTouched('client_need', true);\n const clientNeedField = document.getElementById(\"client_need\").parentElement.parentElement;\n return clientNeedField.focus();\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(!expandReferralsCard);\n };\n\n const showMargin = () => {\n return isWindowsSizeLarge && !isEmrSource ? 'mr-5 ' : ' ';\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': isEmrSource,\n 'xl:invisible': !isEmrSource,\n });\n\n const xlOrLgSpaceReferralDiv = classNames({\n 'lg:space-x-6': isEmrSource,\n 'lg:space-x-0 xl:space-x-6': !isEmrSource,\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, showOpenedDate, 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=\"Learn more about referrals.\"\n link\n />\n </StepHeader>\n\n <AboutGroupedReferralsModal ref={refModal} onClose={onCloseGroupedReferralsModal} />\n\n {crtb1299HighRejectionSolution && 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 crtb1239AdaptDraftReferralFlow={crtb1239AdaptDraftReferralFlow}\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 ${showMargin()}\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 <h2 className=\"text-xl font-black mb-5\">\n Referrals\n </h2>\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 crtb1239AdaptDraftReferralFlow={crtb1239AdaptDraftReferralFlow}\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 expandReferralsCard={expandReferralsCard}\n person={person}\n />\n ) : null\n }\n </div>\n </div>\n ) : (\n <NoReferralsDisplay\n crtb1239AdaptDraftReferralFlow={crtb1239AdaptDraftReferralFlow}\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 crtb1239AdaptDraftReferralFlow={crtb1239AdaptDraftReferralFlow}\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":["e","t","r","Symbol","n","iterator","o","toStringTag","i","c","prototype","Generator","u","Object","create","_regeneratorDefine2","f","p","y","G","v","a","d","bind","length","l","TypeError","call","done","value","return","GeneratorFunction","GeneratorFunctionPrototype","getPrototypeOf","setPrototypeOf","__proto__","displayName","_regenerator","w","m","defineProperty","_regeneratorDefine","enumerable","configurable","writable","_invoke","_OverloadYield","k","asyncGeneratorStep","Promise","resolve","then","_asyncToGenerator","arguments","apply","_next","_throw","_toConsumableArray","_arrayWithoutHoles","_iterableToArray","_unsupportedIterableToArray","_nonIterableSpread","Array","from","isArray","_arrayLikeToArray","ownKeys","keys","getOwnPropertySymbols","filter","getOwnPropertyDescriptor","push","_objectSpread","forEach","_defineProperty","getOwnPropertyDescriptors","defineProperties","_toPropertyKey","_toPrimitive","_typeof","toPrimitive","String","Number","_slicedToArray","_arrayWithHoles","_iterableToArrayLimit","_nonIterableRest","toString","slice","constructor","name","test","next","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","fetchContactDocuments","fetchCaseDocuments","classNames","fetchNetworks","useFeatureFlag","ChooseOneServiceTypeModal","REFERRAL_BUILDER_DESCRIPTION","handleKeyDown","AboutGroupedReferralsModal","ReferralBuilder","_location$state$selec","_location$state","location","navigate","_useAppCreateReferral","dispatch","_useAppCreateReferral2","state","referrals","selectedPrograms","currentEmployee","currentProvider","fieldsConfig","source","person","draftState","referralDescription","caseId","referralId","referralType","form","ChooseOneServiceTypeModalRef","openChooseOneServiceTypeModal","current","openDialog","closeChooseOneServiceTypeModal","closeDialog","hint542SupersetUnlistedPrograms","crtb1239AdaptDraftReferralFlow","crtb1299HighRejectionSolution","showOpenedDate","crtb854ForwardingSuperset","showClientNeeds","_useState","_useState2","servicesState","setServicesState","_useState3","_useState4","aboutGroupedReferralsModalIsOpen","setAboutGroupedReferralsModalIsOpen","_useState5","_useState6","isOpenChooseOneServiceTypeModal","setChooseOneServiceTypeModalIsOpen","_useState7","selectedReferral","_useState8","selectedIndex","setSelectedIndex","_useState9","_useState10","fieldErrors","setFieldErrors","_useState11","_useState12","nextClicked","setNextClicked","_useState13","_useState14","saveDraftClicked","setSaveDraftClicked","_useState15","_useState16","expandReferralsCard","setExpandReferralsCard","_useState17","window","innerWidth","_useState18","width","setWidth","_useState19","_useState20","documents","setDocuments","_useState21","_useState22","caseDocuments","setCaseDocuments","_useState23","_useState24","loadedDocuments","setloadedDocuments","isEmrSource","_useState25","_useState26","networksUnlistedProgram","setNetworksUnlistedProgram","hasDraftReferral","referralBuilderTitle","isWindowsSizeLarge","isForwardReferralPath","errors","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","onReferralsBuilt","groupedReferrals","initErrors","_referral","_useBuildReferrals","isLoading","handleServiceSelectionChange","programId","serviceId","prevState","map","selected","findServiceName","_ref","_referralThatHasTheSe","serviceToFind","referralThatHasTheService","find","referral","_referral$service","id","mapProgramsToServicesState","flatMap","program","services","serviceName","initialState","hasUnlistedPrograms","networks","handleResize","addEventListener","removeEventListener","handleExpandReferralsCard","changeWidthReferralCard","onLearnMoreClick","onCloseGroupedReferralsModal","refModal","openModal","closeModal","onReferralCardClick","result","updatedReferrals","attachableDocuments","concat","doc","attached","document","hasMoreThanOneServiceType","_program$services","getSelected","saveValuesOnChange","props","setTimeout","firstIndexWithErrors","entries","findIndex","_ref2","_ref3","_index","Boolean","focusErrors","setFocus","onNextClick","errorFieldMap","key","fieldName","getElement","getElementById","_document$getElementB","parentElement","_document$getElementB2","_document$getElementB3","errorObj","_i","_errorFieldMap","_errorFieldMap$_i","_form$current","mutators","setFieldTouched","element","focus","moveToExistingReferral","programs","newIndex","moveToNewReferral","newReferral","newReferrals","removeProgram","programName","newReferralPrograms","newSelectedPrograms","updateAttachments","attachments","navigateBack","onNavigateBack","navigateToAddResources","onNavigateToAddResources","createReferrals","handleSaveDraftReferral","_ref4","_regeneratorRuntime","mark","_callee","onSaveDraftReferral","wrap","_callee$","_context","prev","draft","notify","success","stop","showMargin","createElement","center","referralSubtitle","unselectedReferralIndexes","allPrograms","errorMessage","currentReferral","xlOrLgInvisibleChevron","xlOrLgSpaceReferralDiv","onConfirmApplyChanges","filteredSelectedServices","filteredNonSelectedServices","onDeselectProgram","className","header","type","onClick","onKeyDown","event","label","link","ref","onClose","modalRef","onConfirm","onServiceSelectionChange","Fragment","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 } 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,\n referralId,\n referralType,\n },\n } = useAppCreateReferralContext();\n const form = useRef();\n const ChooseOneServiceTypeModalRef = useRef();\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 crtb1239AdaptDraftReferralFlow = useFeatureFlag('crtb1239AdaptDraftReferralFlow', false);\n const crtb1299HighRejectionSolution = useFeatureFlag('crtb1299HighRejectionSolution', false);\n const showOpenedDate = useFeatureFlag('crtb824AddOpenCloseDateOffPlatformCase', false);\n const crtb854ForwardingSuperset = useFeatureFlag('crtb854ForwardingSuperset', false);\n const showClientNeeds = useFeatureFlag('crtb1788ClientNeeds', 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 [width, setWidth] = useState(window.innerWidth);\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 hasDraftReferral = draftState?.state === 'draft';\n const referralBuilderTitle = crtb1239AdaptDraftReferralFlow && hasDraftReferral ? 'Edit Your Referrals' : 'Prepare Your Referrals';\n const isWindowsSizeLarge = width > (isEmrSource ? 800 : 1200);\n const isForwardReferralPath = !!referralId && !!referralType;\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, showOpenedDate, 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 if (crtb1299HighRejectionSolution) {\n const initialState = mapProgramsToServicesState();\n setServicesState(initialState);\n }\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 handleResize = () => {\n setWidth(window.innerWidth);\n }\n window.addEventListener(\"resize\", handleResize);\n return () => window.removeEventListener(\"resize\", handleResize);\n }, [width]);\n\n useEffect(() => {\n isWindowsSizeLarge && handleExpandReferralsCard();\n }, [width]);\n\n const handleExpandReferralsCard = () => {\n if (expandReferralsCard) {\n changeWidthReferralCard();\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 (crtb1299HighRejectionSolution && !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 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 if (crtb1299HighRejectionSolution) {\n const hasMoreThanOneServiceType = selectedPrograms.some((program) => {\n return program?.services?.length > 1\n })\n setChooseOneServiceTypeModalIsOpen(hasMoreThanOneServiceType)\n }\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(!expandReferralsCard);\n };\n\n const showMargin = () => {\n return isWindowsSizeLarge && !isEmrSource ? 'mr-5 ' : ' ';\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': isEmrSource,\n 'xl:invisible': !isEmrSource,\n });\n\n const xlOrLgSpaceReferralDiv = classNames({\n 'lg:space-x-6': isEmrSource,\n 'lg:space-x-0 xl:space-x-6': !isEmrSource,\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, showOpenedDate, 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=\"Learn more about referrals.\"\n link\n />\n </StepHeader>\n\n <AboutGroupedReferralsModal ref={refModal} onClose={onCloseGroupedReferralsModal} />\n\n {crtb1299HighRejectionSolution && 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 crtb1239AdaptDraftReferralFlow={crtb1239AdaptDraftReferralFlow}\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 ${showMargin()}\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 <h2 className=\"text-xl font-black mb-5\">\n Referrals\n </h2>\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 crtb1239AdaptDraftReferralFlow={crtb1239AdaptDraftReferralFlow}\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 expandReferralsCard={expandReferralsCard}\n person={person}\n />\n ) : null\n }\n </div>\n </div>\n ) : (\n <NoReferralsDisplay\n crtb1239AdaptDraftReferralFlow={crtb1239AdaptDraftReferralFlow}\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 crtb1239AdaptDraftReferralFlow={crtb1239AdaptDraftReferralFlow}\n isForwardReferralPath={isForwardReferralPath}\n />\n </>\n </div>\n </CreateReferralContainer>\n )\n}\n"],"mappings":"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","ignoreList":[]}
|
|
@@ -30,7 +30,7 @@ import React, { useCallback, useEffect, useState } from 'react';
|
|
|
30
30
|
import { PropTypes } from 'prop-types';
|
|
31
31
|
import { Form, Field, FormSpy } from 'react-final-form';
|
|
32
32
|
import { get, isEmpty, isNil, uniqBy, upperFirst } from 'lodash';
|
|
33
|
-
import {
|
|
33
|
+
import { DateField, TextField, SelectField } from '@unite-us/ui';
|
|
34
34
|
import validateCostAmount from '../../utils/validateCostAmount';
|
|
35
35
|
import validateUnitAmount from '../../utils/validateUnitAmount';
|
|
36
36
|
import InfoPanel from '@unite-us/client-utils/dist/InfoPanel/InfoPanel';
|
|
@@ -50,7 +50,6 @@ import { cannotMoveToReferralReasons } from '../../actions/Referral/cannotMoveTo
|
|
|
50
50
|
import ContactDocumentsSelector from '../../common/form/DocumentUploader/components/ContactDocumentsSelector';
|
|
51
51
|
import { useFind } from '../../api/ApiHooks';
|
|
52
52
|
import './ReferralBuilderForm.scss';
|
|
53
|
-
import { DateField } from '@unite-us/ui';
|
|
54
53
|
export function ReferralBuilderForm(_ref) {
|
|
55
54
|
var _referral$case2, _clientNeedsData$data, _clientNeedsData$data2;
|
|
56
55
|
var crtb1239AdaptDraftReferralFlow = _ref.crtb1239AdaptDraftReferralFlow,
|
|
@@ -285,12 +284,9 @@ export function ReferralBuilderForm(_ref) {
|
|
|
285
284
|
if (showOpenedDate) {
|
|
286
285
|
if (!values.opened_date) {
|
|
287
286
|
errors.opened_date = "Required";
|
|
288
|
-
}
|
|
289
|
-
;
|
|
290
|
-
if (!validateOpenDate(values.opened_date)) {
|
|
287
|
+
} else if (!validateOpenDate(values.opened_date)) {
|
|
291
288
|
errors.opened_date = "Invalid date";
|
|
292
289
|
}
|
|
293
|
-
;
|
|
294
290
|
}
|
|
295
291
|
if (showClientNeeds && !isEmpty(clientNeeds) && !values.client_need) {
|
|
296
292
|
errors.client_need = "Required";
|
|
@@ -453,13 +449,12 @@ export function ReferralBuilderForm(_ref) {
|
|
|
453
449
|
key: "opened-".concat(index, "-date")
|
|
454
450
|
}, function (params) {
|
|
455
451
|
return /*#__PURE__*/React.createElement(DateField, _extends({
|
|
456
|
-
|
|
452
|
+
required: true,
|
|
457
453
|
id: "opened-date",
|
|
458
454
|
label: "Open date",
|
|
459
455
|
validations: validateOpenDate(params.input.value),
|
|
460
456
|
minDate: moment().subtract(1, 'year').unix(),
|
|
461
457
|
maxDate: today,
|
|
462
|
-
required: true,
|
|
463
458
|
style: source === 'emr' && get(params, 'meta.touched') && !get(params, 'meta.valid') ? {
|
|
464
459
|
text: {
|
|
465
460
|
'border-color': 'red'
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ReferralBuilderForm.js","names":["e","t","r","Symbol","n","iterator","o","toStringTag","i","c","prototype","Generator","u","Object","create","_regeneratorDefine2","f","p","y","G","v","a","d","bind","length","l","TypeError","call","done","value","return","GeneratorFunction","GeneratorFunctionPrototype","getPrototypeOf","setPrototypeOf","__proto__","displayName","_regenerator","w","m","defineProperty","_regeneratorDefine","enumerable","configurable","writable","_invoke","_OverloadYield","k","_toConsumableArray","_arrayWithoutHoles","_iterableToArray","_unsupportedIterableToArray","_nonIterableSpread","Array","from","isArray","_arrayLikeToArray","asyncGeneratorStep","Promise","resolve","then","_asyncToGenerator","arguments","apply","_next","_throw","_slicedToArray","_arrayWithHoles","_iterableToArrayLimit","_nonIterableRest","toString","slice","constructor","name","test","next","push","React","useCallback","useEffect","useState","PropTypes","Form","Field","FormSpy","get","isEmpty","isNil","uniqBy","upperFirst","SelectField","TextField","validateCostAmount","validateUnitAmount","InfoPanel","isRequired","feeSchedulePrograms","fspUtils","moment","coreApi","REFERRAL_PII_PHI_DESCRIPTION","AuthorizationSubform","ReferralProgramCard","FileUpload","isUnlistedReferral","programIsOffPlatform","referralIsOON","referralIsGrouped","shouldShowNetworkSelect","filterNetworks","referralIsFunded","fetchPrimaryWorkers","useDebounce","useFeatureFlag","cannotMoveToReferralReasons","ContactDocumentsSelector","useFind","DateField","ReferralBuilderForm","_ref","_referral$case2","_clientNeedsData$data","_clientNeedsData$data2","crtb1239AdaptDraftReferralFlow","currentEmployee","currentProvider","hasDraftReferral","navigateToAddResources","referral","referrals","index","referralSubtitle","onChange","unselected","removeProgram","onSetForm","moveToNewReferral","moveToExistingReferral","updateAttachments","source","networksUnlistedProgram","setReferralErrors","referralDescription","expandReferralsCard","person","service","programs","primaryWorker","attachments","attachableDocuments","_useState","_useState2","moveReferralMenus","setMoveReferralMenus","_useState3","_useState4","uploadedFiles","setUploadedFiles","_useState5","_useState6","primaryWorkers","setPrimaryWorkers","_useState7","_useState8","initialValues","setInitialValues","_useState9","_useState10","query","setQuery","debouncedQuery","_useState11","filesTooBig","filesWrongType","filesTooBigAndWrongType","_useState12","rejectedFiles","setRejectedFiles","isOON","isGrouped","isFunded","referralTitle","concat","crtb824AddOpenCloseDateOffPlatformCase","crtb854ForwardingSuperset","featureFlagClientNeeds","showOpenedDate","today","startOf","unix","networks","showNetworkSelect","onProgramClick","id","programMenus","map","menuIsOpen","getPrimaryWorkers","_regeneratorRuntime","mark","_callee","_yield$fetchPrimaryWo","primary_workers","wrap","_callee$","_context","prev","providerId","sendingProvider","sent","stop","feeScheduleProgram","initializePaymentFormValues","_callee2","_referral$case","_kase$data","_kaseData$service_aut","_kaseServiceAuthoriza","kase","kaseData","kaseServiceAuthorization","kaseServiceAuthorizationData","clinicalModifications","clinicalModificationData","_clinicalModification","clinicalModification","isUnitBased","amountRequestedInitialValue","paymentAuthFormValues","_callee2$","_context2","state","authorization_required","findRecord","case","data","service_authorization","clinical_modifications","isCostPaymentType","payment_type","requested_unit_amount","requested_cents","amount_requested","service_end","requested_ends_at","service_start","requested_starts_at","icd10_code","code","previousValues","_previousValues$case","_objectSpread","paymentAuthForm","description","find","worker","_useFind","queryConfig","placeholderData","undefined","clientNeedsData","clientNeeds","condition","showClientNeeds","validateOpenDate","date","openDate","Date","parseInt","maxDate","minDate","subtract","isNaN","getTime","error","console","createElement","onSubmit","validate","values","_errors$paymentAuthFo","_errors$paymentAuthFo2","_errors$paymentAuthFo3","errors","trim","opened_date","client_need","network","_paymentAuthForm$icd","amountRequested","serviceEnd","icd10Code","isCostBased","cmCodeRequired","cm_code_required_on_authorization","fieldErrors","primary_worker","mutators","setFieldTouched","args","_args3","touched","field","fields","render","_ref4","form","Fragment","subscription","className","style","marginLeft","program","_moveReferralMenus$fi","cannotMoveReasons","key","onClick","required","params","_extends","label","placeholder","options","labelKey","valueKey","validations","formValues","afterLabelContent","message","rows","inline","text","input","loadOptions","search","documentFields","propTypes","object","shape","string","array","number","func","defaultProps"],"sources":["../../../src/pages/builder/ReferralBuilderForm.js"],"sourcesContent":["import React, { useCallback, useEffect, useState } from 'react';\nimport { PropTypes } from 'prop-types';\nimport { Form, Field, FormSpy } from 'react-final-form';\nimport { get, isEmpty, isNil, uniqBy, upperFirst } from 'lodash';\nimport {\n SelectField,\n TextField,\n} from '@unite-us/ui';\nimport validateCostAmount from '../../utils/validateCostAmount';\nimport validateUnitAmount from '../../utils/validateUnitAmount';\nimport InfoPanel from '@unite-us/client-utils/dist/InfoPanel/InfoPanel';\nimport {\n isRequired,\n} from '@unite-us/client-utils/dist/utils/validations/validations';\nimport { feeSchedulePrograms as fspUtils } from '@unite-us/client-utils';\nimport moment from 'moment';\nimport { coreApi } from '../../api/config';\nimport { REFERRAL_PII_PHI_DESCRIPTION } from './constants';\nimport AuthorizationSubform from './AuthorizationSubform';\nimport ReferralProgramCard from './ReferralProgramCard';\nimport { FileUpload } from '../../common/form/FileUploadV2/FileUpload';\nimport {\n isUnlistedReferral,\n programIsOffPlatform,\n referralIsOON,\n referralIsGrouped,\n shouldShowNetworkSelect,\n filterNetworks,\n referralIsFunded,\n} from './utils';\nimport fetchPrimaryWorkers from '../../actions/Referral/fetchPrimaryWorkers';\nimport { useDebounce } from '../../utils/useDebounce';\nimport { useFeatureFlag } from '../../utils/useFeatureFlag';\nimport { cannotMoveToReferralReasons } from '../../actions/Referral/cannotMoveToReferralReasons';\nimport ContactDocumentsSelector from '../../common/form/DocumentUploader/components/ContactDocumentsSelector'\nimport { useFind } from '../../api/ApiHooks';\nimport './ReferralBuilderForm.scss';\nimport { DateField } from '@unite-us/ui';\nexport function ReferralBuilderForm({\n crtb1239AdaptDraftReferralFlow,\n currentEmployee,\n currentProvider,\n hasDraftReferral,\n navigateToAddResources,\n referral,\n referrals,\n index,\n referralSubtitle,\n onChange,\n unselected,\n removeProgram,\n onSetForm,\n moveToNewReferral,\n moveToExistingReferral,\n updateAttachments,\n source,\n networksUnlistedProgram,\n setReferralErrors,\n referralDescription,\n expandReferralsCard,\n person,\n}) {\n const { service, programs, primaryWorker, attachments, attachableDocuments } = referral;\n const [moveReferralMenus, setMoveReferralMenus] = useState({});\n const [uploadedFiles, setUploadedFiles] = useState(attachments);\n const [primaryWorkers, setPrimaryWorkers] = useState(primaryWorker ? [primaryWorker] : []);\n const [initialValues, setInitialValues] = useState(referral);\n const [query, setQuery] = useState('');\n const debouncedQuery = useDebounce(query, 500);\n\n const [rejectedFiles, setRejectedFiles] = useState({\n filesTooBig: [],\n filesWrongType: [],\n filesTooBigAndWrongType: [],\n });\n const isOON = referralIsOON(referral);\n const isGrouped = referralIsGrouped(referral);\n const isFunded = referralIsFunded(referral)\n const referralTitle = `Referral ${index + 1}: ${service?.name}${isGrouped ? ', Grouped' : ''}${isOON ? ', Off-Platform' : ''}${isFunded ? ', Funded' : ''}`;\n const crtb824AddOpenCloseDateOffPlatformCase = useFeatureFlag('crtb824AddOpenCloseDateOffPlatformCase', false);\n const crtb854ForwardingSuperset = useFeatureFlag('crtb854ForwardingSuperset', false);\n const featureFlagClientNeeds = useFeatureFlag('crtb1788ClientNeeds', false);\n const showOpenedDate = isOON && crtb824AddOpenCloseDateOffPlatformCase;\n const today = moment().startOf('day').unix();\n\n // If all the programs in the referral are unlisted, show the user provider networks\n const networks = isUnlistedReferral(referral) ? networksUnlistedProgram : filterNetworks(referral);\n const showNetworkSelect = shouldShowNetworkSelect(networks, programs);\n\n const onProgramClick = (id) => {\n const programMenus = moveReferralMenus.map((p) => {\n if (p.id === id) {\n p.menuIsOpen = !p.menuIsOpen;\n } else {\n p.menuIsOpen = false;\n }\n return p;\n });\n\n setMoveReferralMenus(programMenus);\n };\n\n const getPrimaryWorkers = useCallback(async () => {\n const { primary_workers } = await fetchPrimaryWorkers({\n providerId: referral.sendingProvider.id,\n currentEmployee,\n query: debouncedQuery,\n });\n\n // if the query is empty, keep the queried employees and the current primary worker in select field's options array\n isEmpty(query) ?\n setPrimaryWorkers(uniqBy([...primaryWorkers, ...primary_workers, (primaryWorker && primaryWorker)], 'id')) :\n setPrimaryWorkers(primary_workers);\n }, [currentEmployee, referral.sendingProvider.id, debouncedQuery]);\n\n const feeScheduleProgram = get(programs, '[0].fee_schedule_program');\n\n const initializePaymentFormValues = useCallback(async () => {\n if (referral.state === \"draft\" && feeScheduleProgram?.authorization_required) {\n const kase = await coreApi.findRecord('case', referral.case?.id);\n const kaseData = kase?.data?.data;\n const kaseServiceAuthorization = await coreApi.findRecord('service_authorization', kaseData?.service_authorization?.id);\n const kaseServiceAuthorizationData = kaseServiceAuthorization?.data?.data;\n \n const clinicalModifications = kaseServiceAuthorizationData?.clinical_modifications;\n let clinicalModificationData = null;\n \n if (clinicalModifications && clinicalModifications.length > 0) {\n const clinicalModification = await coreApi.findRecord('clinical_modifications', clinicalModifications[0].id);\n clinicalModificationData = clinicalModification?.data?.data;\n }\n\n const isUnitBased = !fspUtils.isCostPaymentType(feeScheduleProgram?.payment_type);\n const amountRequestedInitialValue = isUnitBased ? \n kaseServiceAuthorizationData?.requested_unit_amount :\n kaseServiceAuthorizationData?.requested_cents / 100;\n\n const paymentAuthFormValues = {\n amount_requested: amountRequestedInitialValue,\n service_end: moment(kaseServiceAuthorizationData?.requested_ends_at).unix(),\n service_start: moment(kaseServiceAuthorizationData?.requested_starts_at).unix(),\n icd10_code: !isEmpty(clinicalModificationData) ? {\n value: clinicalModificationData.code, \n id: clinicalModificationData.id,\n } : {},\n }\n\n setInitialValues((previousValues) => {\n const initialValues = {\n ...previousValues,\n case: {\n ...previousValues.case,\n service_authorization: {\n ...previousValues.case?.service_authorization,\n ...kaseServiceAuthorizationData,\n }\n },\n paymentAuthForm: {\n ...previousValues.paymentAuthForm,\n ...paymentAuthFormValues,\n }\n };\n if (crtb854ForwardingSuperset && referralDescription) {\n initialValues.description = referralDescription;\n }\n return initialValues;\n });\n }\n }, [referral.case?.id, referral.state, feeScheduleProgram?.payment_type, feeScheduleProgram?.authorization_required]);\n\n useEffect(() => {\n if (isOON) {\n getPrimaryWorkers();\n }\n }, [getPrimaryWorkers, isOON]);\n\n useEffect(() => {\n const programMenus = programs.map((p) => ({ id: p.id, menuIsOpen: false }));\n setMoveReferralMenus(programMenus);\n }, [programs]);\n\n useEffect(() => {\n setInitialValues({\n ...referral,\n ...((isNil(referral.primaryWorker) && isOON) ?\n { primaryWorker: primaryWorkers.find((worker) => worker.id === currentEmployee.id) } :\n null\n ),\n ...(crtb854ForwardingSuperset && referralDescription) ? { referralDescription } : {},\n })\n }, [primaryWorkers, currentEmployee.id, index, isOON, referral, referralDescription]);\n\n useEffect(() => {\n if (!isEmpty(uploadedFiles)) {\n updateAttachments(uploadedFiles);\n }\n }, [uploadedFiles]);\n\n useEffect(() => {\n initializePaymentFormValues();\n }, [initializePaymentFormValues]);\n \n const { data: clientNeedsData } = useFind(\n `people/${person.id}/person_condition`,\n {},\n {\n queryConfig: {\n placeholderData: undefined,\n },\n },\n );\n const clientNeeds = clientNeedsData?.data?.data?.map(condition => ({ \n name: upperFirst(condition?.name), \n id: condition?.id \n })) ?? [];\n \n const showClientNeeds = featureFlagClientNeeds && !isEmpty(clientNeeds);\n\n const validateOpenDate = (date) => { \n try {\n const openDate = new Date(parseInt(date) * 1000);\n const maxDate = new Date(parseInt(today) * 1000);\n const minDate = new Date(moment().subtract(1, 'year').unix() * 1000);\n \n return (isNaN(openDate.getTime()) || openDate.getTime() < minDate || openDate.getTime() > maxDate) ? false : true;\n } catch (error) {\n console.error('Error validating open date', error);\n return false;\n }\n }\n\n return (\n <Form\n initialValues={initialValues}\n onSubmit={() => { }}\n validate={(values) => {\n const errors = {};\n if (!values.description || values.description.trim() === '') { errors.description = \"Required\" };\n if (showOpenedDate) {\n if (!values.opened_date) { errors.opened_date = \"Required\" };\n if (!validateOpenDate(values.opened_date)) { errors.opened_date = \"Invalid date\" };\n }\n if (showClientNeeds && !isEmpty(clientNeeds) && !values.client_need) { errors.client_need = \"Required\" };\n if (isOON && !values.primaryWorker) { errors.primaryWorker = \"Required\" };\n if (showNetworkSelect && !values.network) { errors.network = \"Required\" };\n\n const paymentAuthForm = values?.paymentAuthForm;\n\n if (feeScheduleProgram?.authorization_required) {\n errors.paymentAuthForm = {}\n const amountRequested = paymentAuthForm?.amount_requested;\n const serviceEnd = paymentAuthForm?.service_end;\n const icd10Code = paymentAuthForm?.icd10_code?.value;\n const isCostBased = fspUtils.isCostPaymentType(feeScheduleProgram.payment_type);\n const cmCodeRequired = feeScheduleProgram.cm_code_required_on_authorization;\n\n errors.paymentAuthForm.amount_requested = isCostBased ? validateCostAmount(amountRequested) : validateUnitAmount(amountRequested);\n errors.paymentAuthForm.service_end = serviceEnd ? undefined : 'Required';\n errors.paymentAuthForm.icd10_code = icd10Code || !cmCodeRequired ? undefined : 'Required';\n } else {\n errors.paymentAuthForm = undefined;\n }\n const fieldErrors = {\n description: !!errors.description,\n opened_date: !!errors.opened_date,\n client_need: !!errors.client_need,\n primary_worker: !!errors.primaryWorker,\n network: !!errors.network,\n service_end: !!errors?.paymentAuthForm?.service_end,\n amount_requested: !!errors?.paymentAuthForm?.amount_requested,\n icd10_code: !!errors?.paymentAuthForm?.icd10_code\n }\n setReferralErrors(index, fieldErrors);\n return errors;\n }}\n mutators={{\n setFieldTouched: (args, state) => {\n const [name, touched] = args;\n const field = state.fields[name];\n if (field) {\n field.touched = !!touched;\n }\n }\n }}\n render={({ form, values }) => {\n onSetForm && onSetForm(form);\n return (\n <>\n <FormSpy\n subscription={{ values: true }}\n onChange={onChange}\n />\n <div className={\"bg-white border border-solid border-blue-border rounded md:w-4/6 lg:w-4/6\"} style={{ marginLeft: expandReferralsCard && '-7.5rem'}}>\n <div className=\"p-5 bg-dark-fill-blue\">\n <h2 className=\"text-xl font-black mb-1\">\n {referralTitle}\n </h2>\n <h3>\n {referralSubtitle}\n </h3>\n </div>\n <div className=\"p-5\">\n {isOON ? (\n <div className=\"bg-alert-yellow border border-solid border-canary-yellow rounded p-3 mb-5\">\n <p className=\"text-brand-blue\">\n You need to contact these programs directly because\n they're not receiving referrals on the Unite Us Platform.\n </p>\n </div>\n ) : null}\n <h5 className=\"text-sm ui-form-field__label\">PROGRAMS</h5>\n {programs.map((program) => {\n const menuIsOpen = isEmpty(moveReferralMenus) ? false : moveReferralMenus?.find((p) => p.id === program.id)?.menuIsOpen;\n\n const cannotMoveReasons = {}\n unselected.map((i) => {\n return cannotMoveReasons[i] = cannotMoveToReferralReasons({ program, referral, referrals, index: i, currentProvider })\n })\n\n return (\n <ReferralProgramCard\n key={`referral-program-${program?.id}-card`}\n program={program}\n onClick={onProgramClick}\n isOON={programIsOffPlatform(program)}\n menuIsOpen={menuIsOpen}\n unselected={unselected}\n referral={referral}\n removeProgram={removeProgram}\n moveToNewReferral={moveToNewReferral}\n moveToExistingReferral={moveToExistingReferral}\n cannotMoveReasons={cannotMoveReasons}\n />\n );\n })}\n <p className=\"text-center text-dark-grey my-10\">\n Click on the three-dot icon to edit referral groupings.\n {crtb1239AdaptDraftReferralFlow && hasDraftReferral ? (\n <div>\n To add more programs, go to the <a onClick={navigateToAddResources}>Add Resources</a> page.\n </div>\n ) : null}\n </p>\n\n {showNetworkSelect ? (\n <div className=\"mb-10\">\n <Field\n name=\"network\"\n required\n key={`referral-${index}-network`}\n >\n {(params) => (\n <SelectField\n required\n id=\"network-selection\"\n label=\"Network Selection\"\n placeholder=\"Choose one...\"\n options={networks}\n labelKey=\"name\"\n valueKey=\"id\"\n validations={isRequired}\n {...params}\n />\n )}\n </Field>\n </div>\n ) : null}\n\n {feeScheduleProgram?.authorization_required && (\n <AuthorizationSubform \n feeScheduleProgram={feeScheduleProgram}\n formValues={values}\n setReferralErrors={(errors) => setReferralErrors(index, errors)} \n />\n )}\n\n <Field\n name=\"description\"\n required\n key={`referral-${index}-description`}\n >\n {(params) => (\n <TextField\n afterLabelContent={(\n <InfoPanel\n className=\"mb-4 mt-2\"\n message={REFERRAL_PII_PHI_DESCRIPTION}\n />\n )}\n id=\"referral-description\"\n label=\"Referral Description\"\n placeholder=\"Describe your client's current situation and reason for referral.\"\n rows={3}\n inline={false}\n validations={isRequired}\n required\n style={source === 'emr' && get(params, 'meta.touched') && !get(params, 'meta.valid') ? { text: { 'border-color': 'red' } } : {}}\n {...params}\n />\n )}\n </Field>\n\n { showOpenedDate && (\n <Field\n name=\"opened_date\"\n required\n key={`opened-${index}-date`}\n >\n {(params) => (\n <DateField\n field=\"Open date\"\n id=\"opened-date\"\n label=\"Open date\"\n validations={validateOpenDate(params.input.value)}\n minDate={moment().subtract(1, 'year').unix()}\n maxDate={today}\n required\n style={source === 'emr' && get(params, 'meta.touched') && !get(params, 'meta.valid') ? { text: { 'border-color': 'red' } } : {}}\n {...params}\n />\n )}\n </Field>) }\n\n {isOON ? (\n <Field\n name=\"primaryWorker\"\n required\n key={`referral-${index}-primary-worker`}\n >\n {(params) => (\n <SelectField\n required\n id=\"primary-worker\"\n label=\"Primary Worker\"\n placeholder=\"Choose one...\"\n loadOptions={(search) => setQuery(search)}\n options={primaryWorkers}\n labelKey=\"full_name\"\n valueKey=\"id\"\n validations={isRequired}\n {...params}\n />\n )}\n </Field>\n ) : null}\n\n {showClientNeeds && !isEmpty(clientNeeds) && (\n <>\n <p className=\"mb-4 mt-2 text-dark-blue\">Select the identified need from the client’s screening or assessment that relates to this referral.</p>\n <Field\n name=\"client_need\"\n required\n key={`associated-${index}-need`}\n >\n {(params) => (\n <SelectField\n required\n id=\"client_need\"\n label=\"Associated Need\"\n placeholder=\"Choose one...\"\n options={clientNeeds}\n labelKey=\"name\"\n valueKey=\"id\"\n validations={isRequired}\n {...params}\n />\n )}\n </Field>\n </>\n )}\n\n {attachableDocuments && (\n <div className=\"upload-documents\">\n <h5>Documents</h5>\n <ContactDocumentsSelector documentFields={attachableDocuments} />\n </div>\n )}\n\n {/* Attachment area */}\n <FileUpload\n rejectedFiles={rejectedFiles}\n setRejectedFiles={setRejectedFiles}\n setUploadedFiles={setUploadedFiles}\n uploadedFiles={attachments || []}\n />\n </div>\n </div>\n </>\n )}}\n />\n )\n}\n\nReferralBuilderForm.propTypes = {\n currentEmployee: PropTypes.object.isRequired,\n currentProvider: PropTypes.object.isRequired,\n referral: PropTypes.shape({\n service: PropTypes.shape({\n name: PropTypes.string.isRequired,\n }).isRequired,\n programs: PropTypes.array.isRequired,\n }).isRequired,\n index: PropTypes.number.isRequired,\n referralSubtitle: PropTypes.string,\n onChange: PropTypes.func.isRequired,\n unselected: PropTypes.array,\n removeProgram: PropTypes.func.isRequired,\n moveToNewReferral: PropTypes.func.isRequired,\n moveToExistingReferral: PropTypes.func.isRequired,\n onSetForm: PropTypes.func.isRequired,\n setReferralErrors: PropTypes.func.isRequired,\n}\n\nReferralBuilderForm.defaultProps = {\n referralSubtitle: '',\n unselected: [],\n}\n\nexport default ReferralBuilderForm;\n"],"mappings":"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","ignoreList":[]}
|
|
1
|
+
{"version":3,"file":"ReferralBuilderForm.js","names":["e","t","r","Symbol","n","iterator","o","toStringTag","i","c","prototype","Generator","u","Object","create","_regeneratorDefine2","f","p","y","G","v","a","d","bind","length","l","TypeError","call","done","value","return","GeneratorFunction","GeneratorFunctionPrototype","getPrototypeOf","setPrototypeOf","__proto__","displayName","_regenerator","w","m","defineProperty","_regeneratorDefine","enumerable","configurable","writable","_invoke","_OverloadYield","k","_toConsumableArray","_arrayWithoutHoles","_iterableToArray","_unsupportedIterableToArray","_nonIterableSpread","Array","from","isArray","_arrayLikeToArray","asyncGeneratorStep","Promise","resolve","then","_asyncToGenerator","arguments","apply","_next","_throw","_slicedToArray","_arrayWithHoles","_iterableToArrayLimit","_nonIterableRest","toString","slice","constructor","name","test","next","push","React","useCallback","useEffect","useState","PropTypes","Form","Field","FormSpy","get","isEmpty","isNil","uniqBy","upperFirst","DateField","TextField","SelectField","validateCostAmount","validateUnitAmount","InfoPanel","isRequired","feeSchedulePrograms","fspUtils","moment","coreApi","REFERRAL_PII_PHI_DESCRIPTION","AuthorizationSubform","ReferralProgramCard","FileUpload","isUnlistedReferral","programIsOffPlatform","referralIsOON","referralIsGrouped","shouldShowNetworkSelect","filterNetworks","referralIsFunded","fetchPrimaryWorkers","useDebounce","useFeatureFlag","cannotMoveToReferralReasons","ContactDocumentsSelector","useFind","ReferralBuilderForm","_ref","_referral$case2","_clientNeedsData$data","_clientNeedsData$data2","crtb1239AdaptDraftReferralFlow","currentEmployee","currentProvider","hasDraftReferral","navigateToAddResources","referral","referrals","index","referralSubtitle","onChange","unselected","removeProgram","onSetForm","moveToNewReferral","moveToExistingReferral","updateAttachments","source","networksUnlistedProgram","setReferralErrors","referralDescription","expandReferralsCard","person","service","programs","primaryWorker","attachments","attachableDocuments","_useState","_useState2","moveReferralMenus","setMoveReferralMenus","_useState3","_useState4","uploadedFiles","setUploadedFiles","_useState5","_useState6","primaryWorkers","setPrimaryWorkers","_useState7","_useState8","initialValues","setInitialValues","_useState9","_useState10","query","setQuery","debouncedQuery","_useState11","filesTooBig","filesWrongType","filesTooBigAndWrongType","_useState12","rejectedFiles","setRejectedFiles","isOON","isGrouped","isFunded","referralTitle","concat","crtb824AddOpenCloseDateOffPlatformCase","crtb854ForwardingSuperset","featureFlagClientNeeds","showOpenedDate","today","startOf","unix","networks","showNetworkSelect","onProgramClick","id","programMenus","map","menuIsOpen","getPrimaryWorkers","_regeneratorRuntime","mark","_callee","_yield$fetchPrimaryWo","primary_workers","wrap","_callee$","_context","prev","providerId","sendingProvider","sent","stop","feeScheduleProgram","initializePaymentFormValues","_callee2","_referral$case","_kase$data","_kaseData$service_aut","_kaseServiceAuthoriza","kase","kaseData","kaseServiceAuthorization","kaseServiceAuthorizationData","clinicalModifications","clinicalModificationData","_clinicalModification","clinicalModification","isUnitBased","amountRequestedInitialValue","paymentAuthFormValues","_callee2$","_context2","state","authorization_required","findRecord","case","data","service_authorization","clinical_modifications","isCostPaymentType","payment_type","requested_unit_amount","requested_cents","amount_requested","service_end","requested_ends_at","service_start","requested_starts_at","icd10_code","code","previousValues","_previousValues$case","_objectSpread","paymentAuthForm","description","find","worker","_useFind","queryConfig","placeholderData","undefined","clientNeedsData","clientNeeds","condition","showClientNeeds","validateOpenDate","date","openDate","Date","parseInt","maxDate","minDate","subtract","isNaN","getTime","error","console","createElement","onSubmit","validate","values","_errors$paymentAuthFo","_errors$paymentAuthFo2","_errors$paymentAuthFo3","errors","trim","opened_date","client_need","network","_paymentAuthForm$icd","amountRequested","serviceEnd","icd10Code","isCostBased","cmCodeRequired","cm_code_required_on_authorization","fieldErrors","primary_worker","mutators","setFieldTouched","args","_args3","touched","field","fields","render","_ref4","form","Fragment","subscription","className","style","marginLeft","program","_moveReferralMenus$fi","cannotMoveReasons","key","onClick","required","params","_extends","label","placeholder","options","labelKey","valueKey","validations","formValues","afterLabelContent","message","rows","inline","text","input","loadOptions","search","documentFields","propTypes","object","shape","string","array","number","func","defaultProps"],"sources":["../../../src/pages/builder/ReferralBuilderForm.js"],"sourcesContent":["import React, { useCallback, useEffect, useState } from 'react';\nimport { PropTypes } from 'prop-types';\nimport { Form, Field, FormSpy } from 'react-final-form';\nimport { get, isEmpty, isNil, uniqBy, upperFirst } from 'lodash';\nimport {\n DateField,\n TextField,\n SelectField,\n} from '@unite-us/ui';\nimport validateCostAmount from '../../utils/validateCostAmount';\nimport validateUnitAmount from '../../utils/validateUnitAmount';\nimport InfoPanel from '@unite-us/client-utils/dist/InfoPanel/InfoPanel';\nimport {\n isRequired,\n} from '@unite-us/client-utils/dist/utils/validations/validations';\nimport { feeSchedulePrograms as fspUtils } from '@unite-us/client-utils';\nimport moment from 'moment';\nimport { coreApi } from '../../api/config';\nimport { REFERRAL_PII_PHI_DESCRIPTION } from './constants';\nimport AuthorizationSubform from './AuthorizationSubform';\nimport ReferralProgramCard from './ReferralProgramCard';\nimport { FileUpload } from '../../common/form/FileUploadV2/FileUpload';\nimport {\n isUnlistedReferral,\n programIsOffPlatform,\n referralIsOON,\n referralIsGrouped,\n shouldShowNetworkSelect,\n filterNetworks,\n referralIsFunded,\n} from './utils';\nimport fetchPrimaryWorkers from '../../actions/Referral/fetchPrimaryWorkers';\nimport { useDebounce } from '../../utils/useDebounce';\nimport { useFeatureFlag } from '../../utils/useFeatureFlag';\nimport { cannotMoveToReferralReasons } from '../../actions/Referral/cannotMoveToReferralReasons';\nimport ContactDocumentsSelector from '../../common/form/DocumentUploader/components/ContactDocumentsSelector'\nimport { useFind } from '../../api/ApiHooks';\nimport './ReferralBuilderForm.scss';\n\nexport function ReferralBuilderForm({\n crtb1239AdaptDraftReferralFlow,\n currentEmployee,\n currentProvider,\n hasDraftReferral,\n navigateToAddResources,\n referral,\n referrals,\n index,\n referralSubtitle,\n onChange,\n unselected,\n removeProgram,\n onSetForm,\n moveToNewReferral,\n moveToExistingReferral,\n updateAttachments,\n source,\n networksUnlistedProgram,\n setReferralErrors,\n referralDescription,\n expandReferralsCard,\n person,\n}) {\n const { service, programs, primaryWorker, attachments, attachableDocuments } = referral;\n const [moveReferralMenus, setMoveReferralMenus] = useState({});\n const [uploadedFiles, setUploadedFiles] = useState(attachments);\n const [primaryWorkers, setPrimaryWorkers] = useState(primaryWorker ? [primaryWorker] : []);\n const [initialValues, setInitialValues] = useState(referral);\n const [query, setQuery] = useState('');\n const debouncedQuery = useDebounce(query, 500);\n\n const [rejectedFiles, setRejectedFiles] = useState({\n filesTooBig: [],\n filesWrongType: [],\n filesTooBigAndWrongType: [],\n });\n const isOON = referralIsOON(referral);\n const isGrouped = referralIsGrouped(referral);\n const isFunded = referralIsFunded(referral)\n const referralTitle = `Referral ${index + 1}: ${service?.name}${isGrouped ? ', Grouped' : ''}${isOON ? ', Off-Platform' : ''}${isFunded ? ', Funded' : ''}`;\n const crtb824AddOpenCloseDateOffPlatformCase = useFeatureFlag('crtb824AddOpenCloseDateOffPlatformCase', false);\n const crtb854ForwardingSuperset = useFeatureFlag('crtb854ForwardingSuperset', false);\n const featureFlagClientNeeds = useFeatureFlag('crtb1788ClientNeeds', false);\n const showOpenedDate = isOON && crtb824AddOpenCloseDateOffPlatformCase;\n const today = moment().startOf('day').unix();\n\n // If all the programs in the referral are unlisted, show the user provider networks\n const networks = isUnlistedReferral(referral) ? networksUnlistedProgram : filterNetworks(referral);\n const showNetworkSelect = shouldShowNetworkSelect(networks, programs);\n\n const onProgramClick = (id) => {\n const programMenus = moveReferralMenus.map((p) => {\n if (p.id === id) {\n p.menuIsOpen = !p.menuIsOpen;\n } else {\n p.menuIsOpen = false;\n }\n return p;\n });\n\n setMoveReferralMenus(programMenus);\n };\n\n const getPrimaryWorkers = useCallback(async () => {\n const { primary_workers } = await fetchPrimaryWorkers({\n providerId: referral.sendingProvider.id,\n currentEmployee,\n query: debouncedQuery,\n });\n\n // if the query is empty, keep the queried employees and the current primary worker in select field's options array\n isEmpty(query) ?\n setPrimaryWorkers(uniqBy([...primaryWorkers, ...primary_workers, (primaryWorker && primaryWorker)], 'id')) :\n setPrimaryWorkers(primary_workers);\n }, [currentEmployee, referral.sendingProvider.id, debouncedQuery]);\n\n const feeScheduleProgram = get(programs, '[0].fee_schedule_program');\n\n const initializePaymentFormValues = useCallback(async () => {\n if (referral.state === \"draft\" && feeScheduleProgram?.authorization_required) {\n const kase = await coreApi.findRecord('case', referral.case?.id);\n const kaseData = kase?.data?.data;\n const kaseServiceAuthorization = await coreApi.findRecord('service_authorization', kaseData?.service_authorization?.id);\n const kaseServiceAuthorizationData = kaseServiceAuthorization?.data?.data;\n \n const clinicalModifications = kaseServiceAuthorizationData?.clinical_modifications;\n let clinicalModificationData = null;\n \n if (clinicalModifications && clinicalModifications.length > 0) {\n const clinicalModification = await coreApi.findRecord('clinical_modifications', clinicalModifications[0].id);\n clinicalModificationData = clinicalModification?.data?.data;\n }\n\n const isUnitBased = !fspUtils.isCostPaymentType(feeScheduleProgram?.payment_type);\n const amountRequestedInitialValue = isUnitBased ? \n kaseServiceAuthorizationData?.requested_unit_amount :\n kaseServiceAuthorizationData?.requested_cents / 100;\n\n const paymentAuthFormValues = {\n amount_requested: amountRequestedInitialValue,\n service_end: moment(kaseServiceAuthorizationData?.requested_ends_at).unix(),\n service_start: moment(kaseServiceAuthorizationData?.requested_starts_at).unix(),\n icd10_code: !isEmpty(clinicalModificationData) ? {\n value: clinicalModificationData.code, \n id: clinicalModificationData.id,\n } : {},\n }\n\n setInitialValues((previousValues) => {\n const initialValues = {\n ...previousValues,\n case: {\n ...previousValues.case,\n service_authorization: {\n ...previousValues.case?.service_authorization,\n ...kaseServiceAuthorizationData,\n }\n },\n paymentAuthForm: {\n ...previousValues.paymentAuthForm,\n ...paymentAuthFormValues,\n }\n };\n if (crtb854ForwardingSuperset && referralDescription) {\n initialValues.description = referralDescription;\n }\n return initialValues;\n });\n }\n }, [referral.case?.id, referral.state, feeScheduleProgram?.payment_type, feeScheduleProgram?.authorization_required]);\n\n useEffect(() => {\n if (isOON) {\n getPrimaryWorkers();\n }\n }, [getPrimaryWorkers, isOON]);\n\n useEffect(() => {\n const programMenus = programs.map((p) => ({ id: p.id, menuIsOpen: false }));\n setMoveReferralMenus(programMenus);\n }, [programs]);\n\n useEffect(() => {\n setInitialValues({\n ...referral,\n ...((isNil(referral.primaryWorker) && isOON) ?\n { primaryWorker: primaryWorkers.find((worker) => worker.id === currentEmployee.id) } :\n null\n ),\n ...(crtb854ForwardingSuperset && referralDescription) ? { referralDescription } : {},\n })\n }, [primaryWorkers, currentEmployee.id, index, isOON, referral, referralDescription]);\n\n useEffect(() => {\n if (!isEmpty(uploadedFiles)) {\n updateAttachments(uploadedFiles);\n }\n }, [uploadedFiles]);\n\n useEffect(() => {\n initializePaymentFormValues();\n }, [initializePaymentFormValues]);\n \n const { data: clientNeedsData } = useFind(\n `people/${person.id}/person_condition`,\n {},\n {\n queryConfig: {\n placeholderData: undefined,\n },\n },\n );\n const clientNeeds = clientNeedsData?.data?.data?.map(condition => ({ \n name: upperFirst(condition?.name), \n id: condition?.id \n })) ?? [];\n \n const showClientNeeds = featureFlagClientNeeds && !isEmpty(clientNeeds);\n\n const validateOpenDate = (date) => { \n try {\n const openDate = new Date(parseInt(date) * 1000);\n const maxDate = new Date(parseInt(today) * 1000);\n const minDate = new Date(moment().subtract(1, 'year').unix() * 1000);\n \n return (isNaN(openDate.getTime()) || openDate.getTime() < minDate || openDate.getTime() > maxDate) ? false : true;\n } catch (error) {\n console.error('Error validating open date', error);\n return false;\n }\n }\n\n return (\n <Form\n initialValues={initialValues}\n onSubmit={() => { }}\n validate={(values) => {\n const errors = {};\n if (!values.description || values.description.trim() === '') { errors.description = \"Required\" };\n if (showOpenedDate) {\n if (!values.opened_date) {\n errors.opened_date = \"Required\"\n } else if (!validateOpenDate(values.opened_date)) {\n errors.opened_date = \"Invalid date\";\n }\n }\n if (showClientNeeds && !isEmpty(clientNeeds) && !values.client_need) { errors.client_need = \"Required\" };\n if (isOON && !values.primaryWorker) { errors.primaryWorker = \"Required\" };\n if (showNetworkSelect && !values.network) { errors.network = \"Required\" };\n\n const paymentAuthForm = values?.paymentAuthForm;\n\n if (feeScheduleProgram?.authorization_required) {\n errors.paymentAuthForm = {}\n const amountRequested = paymentAuthForm?.amount_requested;\n const serviceEnd = paymentAuthForm?.service_end;\n const icd10Code = paymentAuthForm?.icd10_code?.value;\n const isCostBased = fspUtils.isCostPaymentType(feeScheduleProgram.payment_type);\n const cmCodeRequired = feeScheduleProgram.cm_code_required_on_authorization;\n\n errors.paymentAuthForm.amount_requested = isCostBased ? validateCostAmount(amountRequested) : validateUnitAmount(amountRequested);\n errors.paymentAuthForm.service_end = serviceEnd ? undefined : 'Required';\n errors.paymentAuthForm.icd10_code = icd10Code || !cmCodeRequired ? undefined : 'Required';\n } else {\n errors.paymentAuthForm = undefined;\n }\n const fieldErrors = {\n description: !!errors.description,\n opened_date: !!errors.opened_date,\n client_need: !!errors.client_need,\n primary_worker: !!errors.primaryWorker,\n network: !!errors.network,\n service_end: !!errors?.paymentAuthForm?.service_end,\n amount_requested: !!errors?.paymentAuthForm?.amount_requested,\n icd10_code: !!errors?.paymentAuthForm?.icd10_code\n }\n setReferralErrors(index, fieldErrors);\n return errors;\n }}\n mutators={{\n setFieldTouched: (args, state) => {\n const [name, touched] = args;\n const field = state.fields[name];\n if (field) {\n field.touched = !!touched;\n }\n }\n }}\n render={({ form, values }) => {\n onSetForm && onSetForm(form);\n return (\n <>\n <FormSpy\n subscription={{ values: true }}\n onChange={onChange}\n />\n <div className={\"bg-white border border-solid border-blue-border rounded md:w-4/6 lg:w-4/6\"} style={{ marginLeft: expandReferralsCard && '-7.5rem'}}>\n <div className=\"p-5 bg-dark-fill-blue\">\n <h2 className=\"text-xl font-black mb-1\">\n {referralTitle}\n </h2>\n <h3>\n {referralSubtitle}\n </h3>\n </div>\n <div className=\"p-5\">\n {isOON ? (\n <div className=\"bg-alert-yellow border border-solid border-canary-yellow rounded p-3 mb-5\">\n <p className=\"text-brand-blue\">\n You need to contact these programs directly because\n they're not receiving referrals on the Unite Us Platform.\n </p>\n </div>\n ) : null}\n <h5 className=\"text-sm ui-form-field__label\">PROGRAMS</h5>\n {programs.map((program) => {\n const menuIsOpen = isEmpty(moveReferralMenus) ? false : moveReferralMenus?.find((p) => p.id === program.id)?.menuIsOpen;\n\n const cannotMoveReasons = {}\n unselected.map((i) => {\n return cannotMoveReasons[i] = cannotMoveToReferralReasons({ program, referral, referrals, index: i, currentProvider })\n })\n\n return (\n <ReferralProgramCard\n key={`referral-program-${program?.id}-card`}\n program={program}\n onClick={onProgramClick}\n isOON={programIsOffPlatform(program)}\n menuIsOpen={menuIsOpen}\n unselected={unselected}\n referral={referral}\n removeProgram={removeProgram}\n moveToNewReferral={moveToNewReferral}\n moveToExistingReferral={moveToExistingReferral}\n cannotMoveReasons={cannotMoveReasons}\n />\n );\n })}\n <p className=\"text-center text-dark-grey my-10\">\n Click on the three-dot icon to edit referral groupings.\n {crtb1239AdaptDraftReferralFlow && hasDraftReferral ? (\n <div>\n To add more programs, go to the <a onClick={navigateToAddResources}>Add Resources</a> page.\n </div>\n ) : null}\n </p>\n\n {showNetworkSelect ? (\n <div className=\"mb-10\">\n <Field\n name=\"network\"\n required\n key={`referral-${index}-network`}\n >\n {(params) => (\n <SelectField\n required\n id=\"network-selection\"\n label=\"Network Selection\"\n placeholder=\"Choose one...\"\n options={networks}\n labelKey=\"name\"\n valueKey=\"id\"\n validations={isRequired}\n {...params}\n />\n )}\n </Field>\n </div>\n ) : null}\n\n {feeScheduleProgram?.authorization_required && (\n <AuthorizationSubform \n feeScheduleProgram={feeScheduleProgram}\n formValues={values}\n setReferralErrors={(errors) => setReferralErrors(index, errors)} \n />\n )}\n\n <Field\n name=\"description\"\n required\n key={`referral-${index}-description`}\n >\n {(params) => (\n <TextField\n afterLabelContent={(\n <InfoPanel\n className=\"mb-4 mt-2\"\n message={REFERRAL_PII_PHI_DESCRIPTION}\n />\n )}\n id=\"referral-description\"\n label=\"Referral Description\"\n placeholder=\"Describe your client's current situation and reason for referral.\"\n rows={3}\n inline={false}\n validations={isRequired}\n required\n style={source === 'emr' && get(params, 'meta.touched') && !get(params, 'meta.valid') ? { text: { 'border-color': 'red' } } : {}}\n {...params}\n />\n )}\n </Field>\n\n { showOpenedDate && (\n <Field\n name=\"opened_date\"\n required\n key={`opened-${index}-date`}\n >\n {(params) => (\n <DateField\n required\n id=\"opened-date\"\n label=\"Open date\"\n validations={validateOpenDate(params.input.value)}\n minDate={moment().subtract(1, 'year').unix()}\n maxDate={today}\n style={source === 'emr' && get(params, 'meta.touched') && !get(params, 'meta.valid') ? { text: { 'border-color': 'red' } } : {}}\n {...params}\n />\n )}\n </Field>) }\n\n {isOON ? (\n <Field\n name=\"primaryWorker\"\n required\n key={`referral-${index}-primary-worker`}\n >\n {(params) => (\n <SelectField\n required\n id=\"primary-worker\"\n label=\"Primary Worker\"\n placeholder=\"Choose one...\"\n loadOptions={(search) => setQuery(search)}\n options={primaryWorkers}\n labelKey=\"full_name\"\n valueKey=\"id\"\n validations={isRequired}\n {...params}\n />\n )}\n </Field>\n ) : null}\n\n {showClientNeeds && !isEmpty(clientNeeds) && (\n <>\n <p className=\"mb-4 mt-2 text-dark-blue\">Select the identified need from the client’s screening or assessment that relates to this referral.</p>\n <Field\n name=\"client_need\"\n required\n key={`associated-${index}-need`}\n >\n {(params) => (\n <SelectField\n required\n id=\"client_need\"\n label=\"Associated Need\"\n placeholder=\"Choose one...\"\n options={clientNeeds}\n labelKey=\"name\"\n valueKey=\"id\"\n validations={isRequired}\n {...params}\n />\n )}\n </Field>\n </>\n )}\n\n {attachableDocuments && (\n <div className=\"upload-documents\">\n <h5>Documents</h5>\n <ContactDocumentsSelector documentFields={attachableDocuments} />\n </div>\n )}\n\n {/* Attachment area */}\n <FileUpload\n rejectedFiles={rejectedFiles}\n setRejectedFiles={setRejectedFiles}\n setUploadedFiles={setUploadedFiles}\n uploadedFiles={attachments || []}\n />\n </div>\n </div>\n </>\n )}}\n />\n )\n}\n\nReferralBuilderForm.propTypes = {\n currentEmployee: PropTypes.object.isRequired,\n currentProvider: PropTypes.object.isRequired,\n referral: PropTypes.shape({\n service: PropTypes.shape({\n name: PropTypes.string.isRequired,\n }).isRequired,\n programs: PropTypes.array.isRequired,\n }).isRequired,\n index: PropTypes.number.isRequired,\n referralSubtitle: PropTypes.string,\n onChange: PropTypes.func.isRequired,\n unselected: PropTypes.array,\n removeProgram: PropTypes.func.isRequired,\n moveToNewReferral: PropTypes.func.isRequired,\n moveToExistingReferral: PropTypes.func.isRequired,\n onSetForm: PropTypes.func.isRequired,\n setReferralErrors: PropTypes.func.isRequired,\n}\n\nReferralBuilderForm.defaultProps = {\n referralSubtitle: '',\n unselected: [],\n}\n\nexport default ReferralBuilderForm;\n"],"mappings":"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","ignoreList":[]}
|