@unite-us/app-create-referral 0.15.73 → 0.15.74
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/components/NavButtons.js +1 -2
- package/dist/components/NavButtons.js.map +1 -1
- package/dist/components/ReferralStepper.js +1 -2
- package/dist/components/ReferralStepper.js.map +1 -1
- package/dist/hooks/useCreateReferrals.js +6 -25
- package/dist/hooks/useCreateReferrals.js.map +1 -1
- package/dist/pages/builder/NoReferralsDisplay.js +2 -3
- package/dist/pages/builder/NoReferralsDisplay.js.map +1 -1
- package/dist/pages/builder/ReferralBuilder.js +1 -6
- package/dist/pages/builder/ReferralBuilder.js.map +1 -1
- package/dist/pages/builder/ReferralBuilderForm.js +1 -2
- package/dist/pages/builder/ReferralBuilderForm.js.map +1 -1
- package/dist/pages/builder/useBuildReferrals.js +1 -2
- package/dist/pages/builder/useBuildReferrals.js.map +1 -1
- package/dist/pages/builder/utils.js +5 -8
- package/dist/pages/builder/utils.js.map +1 -1
- package/dist/pages/review/__tests__/Review.test.js +2 -2
- package/dist/pages/review/__tests__/Review.test.js.map +1 -1
- package/package.json +1 -1
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ReferralBuilder.js","names":["React","useEffect","useState","useRef","useCallback","isEqual","isEmpty","get","some","values","intersectionBy","compact","useNavigate","useLocation","Button","Icon","setData","useAppCreateReferralContext","StepHeader","ReferralCard","ReferralBuilderForm","isUnlistedProgram","getReferralSubtitle","initializeReferralErrors","generateErrorMessage","hasOffPlatformReferrals","isEmptyErrors","removeErrorByIndex","updatedReferralsBySelectedServices","useBuildReferrals","CreateReferralContainer","NavButtons","NoReferralsDisplay","removeReferralProgram","Spinner","useCreateReferrals","CALLBACKS","fetchContactDocuments","fetchCaseDocuments","classNames","fetchNetworks","useFeatureFlag","ChooseOneServiceTypeModal","REFERRAL_BUILDER_DESCRIPTION","handleKeyDown","AboutGroupedReferralsModal","jsx","_jsx","jsxs","_jsxs","Fragment","_Fragment","ReferralBuilder","_location$state$selec","_location$state","location","navigate","dispatch","state","referrals","selectedPrograms","currentEmployee","currentProvider","fieldsConfig","source","person","draftState","referralDescription","caseId","referralId","referralType","form","ChooseOneServiceTypeModalRef","openChooseOneServiceTypeModal","current","openDialog","closeChooseOneServiceTypeModal","closeDialog","hint542SupersetUnlistedPrograms","crtb1239AdaptDraftReferralFlow","crtb854ForwardingSuperset","showClientNeeds","servicesState","setServicesState","aboutGroupedReferralsModalIsOpen","setAboutGroupedReferralsModalIsOpen","isOpenChooseOneServiceTypeModal","setChooseOneServiceTypeModalIsOpen","selectedIndex","setSelectedIndex","selectedReferral","fieldErrors","setFieldErrors","nextClicked","setNextClicked","saveDraftClicked","setSaveDraftClicked","expandReferralsCard","setExpandReferralsCard","width","setWidth","window","innerWidth","documents","setDocuments","caseDocuments","setCaseDocuments","loadedDocuments","setloadedDocuments","isEmrSource","networksUnlistedProgram","setNetworksUnlistedProgram","hasDraftReferral","referralBuilderTitle","isWindowsSizeLarge","isForwardReferralPath","errors","Object","keys","reduce","acc","index","fieldError","service","network","primary_worker","description","amount_requested","amount_exceeded","service_end","invalid_insurance_auth_dates","passthrough_dates","opened_date","icd10_code","client_need","setReferralErrors","referralIndex","newErrors","prevFieldErrors","currentErrors","updatedErrors","_objectSpread","onReferralsBuilt","groupedReferrals","initErrors","forEach","_referral","isLoading","handleServiceSelectionChange","programId","serviceId","prevState","map","selected","findServiceName","_ref","_referralThatHasTheSe","serviceToFind","referralThatHasTheService","find","referral","_referral$service","id","name","mapProgramsToServicesState","flatMap","program","services","serviceName","length","initialState","hasUnlistedPrograms","then","networks","handleResize","addEventListener","removeEventListener","handleExpandReferralsCard","changeWidthReferralCard","onLearnMoreClick","onCloseGroupedReferralsModal","refModal","openModal","closeModal","onReferralCardClick","result","updatedReferrals","attachableDocuments","doc","attached","document","hasMoreThanOneServiceType","_program$services","getSelected","saveValuesOnChange","props","setTimeout","firstIndexWithErrors","entries","findIndex","_ref2","_index","Boolean","focusErrors","setFocus","onNextClick","concat","errorFieldMap","key","fieldName","getElement","getElementById","_document$getElementB","parentElement","_document$getElementB2","_document$getElementB3","errorObj","_form$current","mutators","setFieldTouched","element","focus","moveToExistingReferral","programs","filter","p","newIndex","moveToNewReferral","newReferral","newReferrals","removeProgram","programName","newReferralPrograms","r","newSelectedPrograms","updateAttachments","attachments","navigateBack","onNavigateBack","navigateToAddResources","onNavigateToAddResources","createReferrals","handleSaveDraftReferral","draft","onSaveDraftReferral","notify","success","showMargin","center","referralSubtitle","unselectedReferralIndexes","allPrograms","errorMessage","currentReferral","xlOrLgInvisibleChevron","xlOrLgSpaceReferralDiv","onConfirmApplyChanges","filteredSelectedServices","filteredNonSelectedServices","onDeselectProgram","children","className","header","type","onClick","onKeyDown","event","label","link","ref","onClose","modalRef","onConfirm","onServiceSelectionChange","onBackClick","onForwardClick","primaryLabel","hideForwardButtons","hideSaveDraftLink","icon","color","direction","ariaLabel","onChange","unselected","onSetForm","newForm"],"sources":["../../../src/pages/builder/ReferralBuilder.js"],"sourcesContent":["import React, { useEffect, useState, useRef, useCallback } from 'react';\nimport { isEqual, isEmpty, get, some, values, intersectionBy, compact } from 'lodash';\nimport { useNavigate, useLocation } from 'react-router-dom';\nimport { Button, Icon } from '@unite-us/app-components';\nimport { setData, useAppCreateReferralContext } from '../../context/AppCreateReferralProvider';\nimport StepHeader from '../../components/StepHeader';\nimport ReferralCard from './ReferralCard';\nimport ReferralBuilderForm from './ReferralBuilderForm';\nimport { isUnlistedProgram, getReferralSubtitle, initializeReferralErrors, generateErrorMessage, hasOffPlatformReferrals, isEmptyErrors, removeErrorByIndex, updatedReferralsBySelectedServices } from './utils';\nimport useBuildReferrals from './useBuildReferrals';\nimport CreateReferralContainer from '../../components/CreateReferralContainer';\nimport NavButtons from '../../components/NavButtons';\nimport NoReferralsDisplay from './NoReferralsDisplay';\nimport { removeReferralProgram } from '../../actions/Referral/removeReferralProgram';\nimport Spinner from '../../components/spinners/Spinner';\nimport useCreateReferrals from '../../hooks/useCreateReferrals';\nimport { CALLBACKS } 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 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, showClientNeeds);\n groupedReferrals.forEach((_referral, index) => {\n setReferralErrors(index, initErrors[index]);\n });\n }\n };\n\n const { isLoading } = useBuildReferrals(onReferralsBuilt);\n\n const handleServiceSelectionChange = (programId, serviceId) => {\n setServicesState(prevState =>\n prevState.map(service =>\n service.programId === programId && service.serviceId === serviceId\n ? { ...service, selected: !service.selected }\n : service\n )\n );\n };\n\n const findServiceName = ({ serviceToFind }) => {\n const referralThatHasTheService = referrals?.find((referral) => referral?.service?.id === serviceToFind);\n return referralThatHasTheService?.service?.name;\n };\n\n const mapProgramsToServicesState = () => {\n return selectedPrograms?.flatMap(program =>\n program.services.map(serviceToFind => {\n const serviceName = findServiceName({ serviceToFind });\n return {\n programId: program.id,\n serviceId: serviceToFind,\n serviceName,\n selected: program.services.length === 1\n };\n })\n ) || [];\n };\n\n useEffect(() => {\n const initialState = mapProgramsToServicesState();\n setServicesState(initialState);\n }, [selectedPrograms]);\n\n useEffect(() => {\n if (!isLoading && hint542SupersetUnlistedPrograms) {\n // If the selected programs contain unlisted programs, fetch the networks from the user provider\n const hasUnlistedPrograms = selectedPrograms?.some((program) => isUnlistedProgram(program));\n if (hasUnlistedPrograms) {\n fetchNetworks(currentProvider).then((networks) => {\n setNetworksUnlistedProgram(networks);\n });\n }\n }\n }, [isLoading]);\n\n useEffect(() => {\n const 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 (!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\n const hasMoreThanOneServiceType = selectedPrograms?.some((program) => {\n return program?.services?.length > 1\n })\n setChooseOneServiceTypeModalIsOpen(hasMoreThanOneServiceType)\n }, [referrals]);\n\n const getSelected = () => referrals && referrals[selectedIndex]\n\n const saveValuesOnChange = (props) => {\n const { values } = props;\n const updatedReferrals = referrals;\n updatedReferrals[selectedIndex] = {\n ...values\n }\n\n // Testing: Avoid React Final Form error: FormSpy Cannot update a component while rendering\n // https://github.com/final-form/react-final-form/issues/809#issue-638963034\n setTimeout(() =>\n dispatch(setData({\n referrals: [...updatedReferrals]\n })), 0\n )\n }\n\n const firstIndexWithErrors = Object.entries(errors).findIndex(([_index, values]) => Object.values(values).some(Boolean));\n\n const focusErrors = () => {\n let index = selectedIndex;\n if (!some(values(errors[index]), Boolean)) {\n index = firstIndexWithErrors; \n setSelectedIndex(index);\n }\n\n setFocus(index);\n }\n\n const onNextClick = () => {\n if (isEmptyErrors(errors)) {\n return navigate(`/create/${isForwardReferralPath ? 'review' : 'supporting-info'}`);\n }\n\n focusErrors();\n setNextClicked(true);\n }\n\n const setFocus = (index) => {\n setTimeout(() => {\n const errorFieldMap = [\n { key: 'description', fieldName: 'description', getElement: () => document.getElementById(\"referral-description\") },\n { key: 'opened_date', fieldName: 'opened_date', getElement: () => document.getElementById(\"opened-date\") },\n { key: 'network', fieldName: 'network', getElement: () => document.getElementById(\"network-selection\")?.parentElement?.parentElement },\n { key: 'amount_requested', fieldName: 'paymentAuthForm.amount_requested', getElement: () => document.getElementById(\"authorization-request-amount-requested\") },\n { key: 'service_end', fieldName: 'paymentAuthForm.service_end', getElement: () => document.getElementById(\"authorization-request-service-dates\") },\n { key: 'passthrough_dates', fieldName: 'paymentAuthForm.service_end', getElement: () => document.getElementById(\"authorization-request-service-dates\") },\n { key: 'icd10_code', fieldName: 'paymentAuthForm.icd10_code', getElement: () => document.getElementById(\"authorization-request-icd10-code\") },\n { key: 'primary_worker', fieldName: 'primaryWorker', getElement: () => document.getElementById(\"primary-worker\")?.parentElement?.parentElement },\n { key: 'client_need', fieldName: 'client_need', getElement: () => document.getElementById(\"client_need\")?.parentElement?.parentElement },\n ];\n\n const errorObj = errors[index];\n for (const { key, fieldName, getElement } of errorFieldMap) {\n if (errorObj?.[key]) {\n form.current?.mutators?.setFieldTouched(fieldName, true);\n\n const element = getElement();\n if (element) element.focus();\n\n break;\n }\n }\n }, 100);\n };\n\n const moveToExistingReferral = (index, program) => {\n const { programs } = referrals[selectedIndex];\n\n referrals[selectedIndex] = {\n ...referrals[selectedIndex],\n programs: programs.filter((p) => p.id !== program.id),\n }\n if (isEmpty(referrals[selectedIndex].programs)) {\n referrals[selectedIndex] = null;\n }\n\n referrals[index] = {\n ...referrals[index],\n programs: [...referrals[index].programs, program]\n }\n\n const newErrors = removeErrorByIndex(errors, selectedIndex);\n setFieldErrors(newErrors);\n\n dispatch(setData({\n referrals: compact(referrals),\n }));\n\n const newIndex = selectedIndex < index ? index - 1 : index;\n setSelectedIndex(newIndex);\n }\n\n const moveToNewReferral = (program) => {\n const referral = referrals[selectedIndex];\n referral.programs = referral.programs.filter((p) => p.id !== program.id);\n\n const newReferral = {\n ...referral,\n programs: [program],\n description: '',\n }\n\n const newReferrals = [...referrals, newReferral];\n\n dispatch(setData({\n referrals: newReferrals,\n }));\n\n setSelectedIndex(newReferrals.length - 1);\n }\n\n const removeProgram = (programName, programId, serviceId) => {\n const referral = referrals[selectedIndex];\n const newReferral = removeReferralProgram({ referral, programName, programId, serviceId });\n\n referrals[selectedIndex] = newReferral ? {\n ...newReferral\n } : null;\n\n const newReferrals = compact(referrals);\n const newReferralPrograms = newReferrals.flatMap((r) => r.programs);\n const newSelectedPrograms = intersectionBy(selectedPrograms, newReferralPrograms, 'id');\n\n dispatch(setData({\n referrals: [...newReferrals],\n selectedPrograms: [...newSelectedPrograms],\n }));\n\n if (!referrals[selectedIndex]) {\n const newErrors = removeErrorByIndex(errors, selectedIndex);\n setFieldErrors(newErrors);\n setSelectedIndex(0);\n }\n }\n\n const updateAttachments = (attachments) => {\n referrals[selectedIndex] = {\n ...referrals[selectedIndex],\n attachments,\n };\n \n dispatch(setData({\n referrals,\n }));\n };\n\n const navigateBack = () => {\n if (CALLBACKS.onNavigateBack) {\n CALLBACKS.onNavigateBack(crtb854ForwardingSuperset ? { referralId, referralDescription } : { referralDescription });\n } else {\n navigate(-1);\n }\n }; \n const navigateToAddResources = () => CALLBACKS.onNavigateToAddResources();\n\n const createReferrals = useCreateReferrals();\n const handleSaveDraftReferral = async () => {\n setSaveDraftClicked(true);\n if (isEmptyErrors(errors)) {\n await createReferrals({ draft: true });\n const { onSaveDraftReferral } = CALLBACKS;\n onSaveDraftReferral && onSaveDraftReferral();\n CALLBACKS.notify.success('Draft referral successfully saved');\n } else {\n focusErrors();\n }\n };\n\n const changeWidthReferralCard = () => {\n setExpandReferralsCard(!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, showClientNeeds);\n setFieldErrors(initErrors);\n\n dispatch(setData({\n referrals: updatedReferrals,\n }));\n\n filteredNonSelectedServices.forEach((service) => {\n CALLBACKS.onDeselectProgram({\n id: service.programId,\n service: service.serviceId,\n });\n });\n\n closeChooseOneServiceTypeModal();\n };\n\n return (\n <CreateReferralContainer>\n <div className=\"px-12\">\n <StepHeader header={referralBuilderTitle}>\n {REFERRAL_BUILDER_DESCRIPTION}\n <br />\n <Button\n type=\"button\"\n onClick={onLearnMoreClick}\n onKeyDown={(event) => handleKeyDown(event, onLearnMoreClick)}\n aria-expanded={aboutGroupedReferralsModalIsOpen}\n label=\"Click here to learn more about referrals.\"\n link\n />\n </StepHeader>\n\n <AboutGroupedReferralsModal ref={refModal} onClose={onCloseGroupedReferralsModal} />\n\n {isOpenChooseOneServiceTypeModal && (\n <ChooseOneServiceTypeModal \n closeDialog={closeChooseOneServiceTypeModal}\n programs={selectedPrograms}\n referrals={referrals}\n modalRef={ChooseOneServiceTypeModalRef}\n findServiceName={findServiceName}\n onConfirm={onConfirmApplyChanges}\n onServiceSelectionChange={handleServiceSelectionChange}\n servicesState={servicesState}\n />\n )}\n <>\n <NavButtons\n onBackClick={navigateBack}\n onForwardClick={onNextClick}\n onSaveDraftReferral={handleSaveDraftReferral}\n primaryLabel=\"Next\"\n hideForwardButtons={isEmpty(referrals)}\n hideSaveDraftLink={get(fieldsConfig, 'hideSaveDraftLink')}\n hasOffPlatformReferrals={hasOffPlatformReferrals(referrals)}\n hasDraftReferral={hasDraftReferral}\n 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":["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","jsx","_jsx","jsxs","_jsxs","Fragment","_Fragment","ReferralBuilder","_location$state$selec","_location$state","location","navigate","dispatch","state","referrals","selectedPrograms","currentEmployee","currentProvider","fieldsConfig","source","person","draftState","referralDescription","caseId","referralId","referralType","form","ChooseOneServiceTypeModalRef","openChooseOneServiceTypeModal","current","openDialog","closeChooseOneServiceTypeModal","closeDialog","hint542SupersetUnlistedPrograms","crtb854ForwardingSuperset","showClientNeeds","servicesState","setServicesState","aboutGroupedReferralsModalIsOpen","setAboutGroupedReferralsModalIsOpen","isOpenChooseOneServiceTypeModal","setChooseOneServiceTypeModalIsOpen","selectedIndex","setSelectedIndex","selectedReferral","fieldErrors","setFieldErrors","nextClicked","setNextClicked","saveDraftClicked","setSaveDraftClicked","expandReferralsCard","setExpandReferralsCard","width","setWidth","window","innerWidth","documents","setDocuments","caseDocuments","setCaseDocuments","loadedDocuments","setloadedDocuments","isEmrSource","networksUnlistedProgram","setNetworksUnlistedProgram","hasDraftReferral","referralBuilderTitle","isWindowsSizeLarge","isForwardReferralPath","errors","Object","keys","reduce","acc","index","fieldError","service","network","primary_worker","description","amount_requested","amount_exceeded","service_end","invalid_insurance_auth_dates","passthrough_dates","opened_date","icd10_code","client_need","setReferralErrors","referralIndex","newErrors","prevFieldErrors","currentErrors","updatedErrors","_objectSpread","onReferralsBuilt","groupedReferrals","initErrors","forEach","_referral","isLoading","handleServiceSelectionChange","programId","serviceId","prevState","map","selected","findServiceName","_ref","_referralThatHasTheSe","serviceToFind","referralThatHasTheService","find","referral","_referral$service","id","name","mapProgramsToServicesState","flatMap","program","services","serviceName","length","initialState","hasUnlistedPrograms","then","networks","handleResize","addEventListener","removeEventListener","handleExpandReferralsCard","changeWidthReferralCard","onLearnMoreClick","onCloseGroupedReferralsModal","refModal","openModal","closeModal","onReferralCardClick","result","updatedReferrals","attachableDocuments","doc","attached","document","hasMoreThanOneServiceType","_program$services","getSelected","saveValuesOnChange","props","setTimeout","firstIndexWithErrors","entries","findIndex","_ref2","_index","Boolean","focusErrors","setFocus","onNextClick","concat","errorFieldMap","key","fieldName","getElement","getElementById","_document$getElementB","parentElement","_document$getElementB2","_document$getElementB3","errorObj","_form$current","mutators","setFieldTouched","element","focus","moveToExistingReferral","programs","filter","p","newIndex","moveToNewReferral","newReferral","newReferrals","removeProgram","programName","newReferralPrograms","r","newSelectedPrograms","updateAttachments","attachments","navigateBack","onNavigateBack","navigateToAddResources","onNavigateToAddResources","createReferrals","handleSaveDraftReferral","draft","onSaveDraftReferral","notify","success","showMargin","center","referralSubtitle","unselectedReferralIndexes","allPrograms","errorMessage","currentReferral","xlOrLgInvisibleChevron","xlOrLgSpaceReferralDiv","onConfirmApplyChanges","filteredSelectedServices","filteredNonSelectedServices","onDeselectProgram","children","className","header","type","onClick","onKeyDown","event","label","link","ref","onClose","modalRef","onConfirm","onServiceSelectionChange","onBackClick","onForwardClick","primaryLabel","hideForwardButtons","hideSaveDraftLink","icon","color","direction","ariaLabel","onChange","unselected","onSetForm","newForm"],"sources":["../../../src/pages/builder/ReferralBuilder.js"],"sourcesContent":["import React, { useEffect, useState, useRef, useCallback } from 'react';\nimport { isEqual, isEmpty, get, some, values, intersectionBy, compact } from 'lodash';\nimport { useNavigate, useLocation } from 'react-router-dom';\nimport { Button, Icon } from '@unite-us/app-components';\nimport { setData, useAppCreateReferralContext } from '../../context/AppCreateReferralProvider';\nimport StepHeader from '../../components/StepHeader';\nimport ReferralCard from './ReferralCard';\nimport ReferralBuilderForm from './ReferralBuilderForm';\nimport { isUnlistedProgram, getReferralSubtitle, initializeReferralErrors, generateErrorMessage, hasOffPlatformReferrals, isEmptyErrors, removeErrorByIndex, updatedReferralsBySelectedServices } from './utils';\nimport useBuildReferrals from './useBuildReferrals';\nimport CreateReferralContainer from '../../components/CreateReferralContainer';\nimport NavButtons from '../../components/NavButtons';\nimport NoReferralsDisplay from './NoReferralsDisplay';\nimport { removeReferralProgram } from '../../actions/Referral/removeReferralProgram';\nimport Spinner from '../../components/spinners/Spinner';\nimport useCreateReferrals from '../../hooks/useCreateReferrals';\nimport { CALLBACKS } 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 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 = 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, showClientNeeds);\n groupedReferrals.forEach((_referral, index) => {\n setReferralErrors(index, initErrors[index]);\n });\n }\n };\n\n const { isLoading } = useBuildReferrals(onReferralsBuilt);\n\n const handleServiceSelectionChange = (programId, serviceId) => {\n setServicesState(prevState =>\n prevState.map(service =>\n service.programId === programId && service.serviceId === serviceId\n ? { ...service, selected: !service.selected }\n : service\n )\n );\n };\n\n const findServiceName = ({ serviceToFind }) => {\n const referralThatHasTheService = referrals?.find((referral) => referral?.service?.id === serviceToFind);\n return referralThatHasTheService?.service?.name;\n };\n\n const mapProgramsToServicesState = () => {\n return selectedPrograms?.flatMap(program =>\n program.services.map(serviceToFind => {\n const serviceName = findServiceName({ serviceToFind });\n return {\n programId: program.id,\n serviceId: serviceToFind,\n serviceName,\n selected: program.services.length === 1\n };\n })\n ) || [];\n };\n\n useEffect(() => {\n const initialState = mapProgramsToServicesState();\n setServicesState(initialState);\n }, [selectedPrograms]);\n\n useEffect(() => {\n if (!isLoading && hint542SupersetUnlistedPrograms) {\n // If the selected programs contain unlisted programs, fetch the networks from the user provider\n const hasUnlistedPrograms = selectedPrograms?.some((program) => isUnlistedProgram(program));\n if (hasUnlistedPrograms) {\n fetchNetworks(currentProvider).then((networks) => {\n setNetworksUnlistedProgram(networks);\n });\n }\n }\n }, [isLoading]);\n\n useEffect(() => {\n const 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 (!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\n const hasMoreThanOneServiceType = selectedPrograms?.some((program) => {\n return program?.services?.length > 1\n })\n setChooseOneServiceTypeModalIsOpen(hasMoreThanOneServiceType)\n }, [referrals]);\n\n const getSelected = () => referrals && referrals[selectedIndex]\n\n const saveValuesOnChange = (props) => {\n const { values } = props;\n const updatedReferrals = referrals;\n updatedReferrals[selectedIndex] = {\n ...values\n }\n\n // Testing: Avoid React Final Form error: FormSpy Cannot update a component while rendering\n // https://github.com/final-form/react-final-form/issues/809#issue-638963034\n setTimeout(() =>\n dispatch(setData({\n referrals: [...updatedReferrals]\n })), 0\n )\n }\n\n const firstIndexWithErrors = Object.entries(errors).findIndex(([_index, values]) => Object.values(values).some(Boolean));\n\n const focusErrors = () => {\n let index = selectedIndex;\n if (!some(values(errors[index]), Boolean)) {\n index = firstIndexWithErrors; \n setSelectedIndex(index);\n }\n\n setFocus(index);\n }\n\n const onNextClick = () => {\n if (isEmptyErrors(errors)) {\n return navigate(`/create/${isForwardReferralPath ? 'review' : 'supporting-info'}`);\n }\n\n focusErrors();\n setNextClicked(true);\n }\n\n const setFocus = (index) => {\n setTimeout(() => {\n const errorFieldMap = [\n { key: 'description', fieldName: 'description', getElement: () => document.getElementById(\"referral-description\") },\n { key: 'opened_date', fieldName: 'opened_date', getElement: () => document.getElementById(\"opened-date\") },\n { key: 'network', fieldName: 'network', getElement: () => document.getElementById(\"network-selection\")?.parentElement?.parentElement },\n { key: 'amount_requested', fieldName: 'paymentAuthForm.amount_requested', getElement: () => document.getElementById(\"authorization-request-amount-requested\") },\n { key: 'service_end', fieldName: 'paymentAuthForm.service_end', getElement: () => document.getElementById(\"authorization-request-service-dates\") },\n { key: 'passthrough_dates', fieldName: 'paymentAuthForm.service_end', getElement: () => document.getElementById(\"authorization-request-service-dates\") },\n { key: 'icd10_code', fieldName: 'paymentAuthForm.icd10_code', getElement: () => document.getElementById(\"authorization-request-icd10-code\") },\n { key: 'primary_worker', fieldName: 'primaryWorker', getElement: () => document.getElementById(\"primary-worker\")?.parentElement?.parentElement },\n { key: 'client_need', fieldName: 'client_need', getElement: () => document.getElementById(\"client_need\")?.parentElement?.parentElement },\n ];\n\n const errorObj = errors[index];\n for (const { key, fieldName, getElement } of errorFieldMap) {\n if (errorObj?.[key]) {\n form.current?.mutators?.setFieldTouched(fieldName, true);\n\n const element = getElement();\n if (element) element.focus();\n\n break;\n }\n }\n }, 100);\n };\n\n const moveToExistingReferral = (index, program) => {\n const { programs } = referrals[selectedIndex];\n\n referrals[selectedIndex] = {\n ...referrals[selectedIndex],\n programs: programs.filter((p) => p.id !== program.id),\n }\n if (isEmpty(referrals[selectedIndex].programs)) {\n referrals[selectedIndex] = null;\n }\n\n referrals[index] = {\n ...referrals[index],\n programs: [...referrals[index].programs, program]\n }\n\n const newErrors = removeErrorByIndex(errors, selectedIndex);\n setFieldErrors(newErrors);\n\n dispatch(setData({\n referrals: compact(referrals),\n }));\n\n const newIndex = selectedIndex < index ? index - 1 : index;\n setSelectedIndex(newIndex);\n }\n\n const moveToNewReferral = (program) => {\n const referral = referrals[selectedIndex];\n referral.programs = referral.programs.filter((p) => p.id !== program.id);\n\n const newReferral = {\n ...referral,\n programs: [program],\n description: '',\n }\n\n const newReferrals = [...referrals, newReferral];\n\n dispatch(setData({\n referrals: newReferrals,\n }));\n\n setSelectedIndex(newReferrals.length - 1);\n }\n\n const removeProgram = (programName, programId, serviceId) => {\n const referral = referrals[selectedIndex];\n const newReferral = removeReferralProgram({ referral, programName, programId, serviceId });\n\n referrals[selectedIndex] = newReferral ? {\n ...newReferral\n } : null;\n\n const newReferrals = compact(referrals);\n const newReferralPrograms = newReferrals.flatMap((r) => r.programs);\n const newSelectedPrograms = intersectionBy(selectedPrograms, newReferralPrograms, 'id');\n\n dispatch(setData({\n referrals: [...newReferrals],\n selectedPrograms: [...newSelectedPrograms],\n }));\n\n if (!referrals[selectedIndex]) {\n const newErrors = removeErrorByIndex(errors, selectedIndex);\n setFieldErrors(newErrors);\n setSelectedIndex(0);\n }\n }\n\n const updateAttachments = (attachments) => {\n referrals[selectedIndex] = {\n ...referrals[selectedIndex],\n attachments,\n };\n \n dispatch(setData({\n referrals,\n }));\n };\n\n const navigateBack = () => {\n if (CALLBACKS.onNavigateBack) {\n CALLBACKS.onNavigateBack(crtb854ForwardingSuperset ? { referralId, referralDescription } : { referralDescription });\n } else {\n navigate(-1);\n }\n }; \n const navigateToAddResources = () => CALLBACKS.onNavigateToAddResources();\n\n const createReferrals = useCreateReferrals();\n const handleSaveDraftReferral = async () => {\n setSaveDraftClicked(true);\n if (isEmptyErrors(errors)) {\n await createReferrals({ draft: true });\n const { onSaveDraftReferral } = CALLBACKS;\n onSaveDraftReferral && onSaveDraftReferral();\n CALLBACKS.notify.success('Draft referral successfully saved');\n } else {\n focusErrors();\n }\n };\n\n const changeWidthReferralCard = () => {\n setExpandReferralsCard(!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, showClientNeeds);\n setFieldErrors(initErrors);\n\n dispatch(setData({\n referrals: updatedReferrals,\n }));\n\n filteredNonSelectedServices.forEach((service) => {\n CALLBACKS.onDeselectProgram({\n id: service.programId,\n service: service.serviceId,\n });\n });\n\n closeChooseOneServiceTypeModal();\n };\n\n return (\n <CreateReferralContainer>\n <div className=\"px-12\">\n <StepHeader header={referralBuilderTitle}>\n {REFERRAL_BUILDER_DESCRIPTION}\n <br />\n <Button\n type=\"button\"\n onClick={onLearnMoreClick}\n onKeyDown={(event) => handleKeyDown(event, onLearnMoreClick)}\n aria-expanded={aboutGroupedReferralsModalIsOpen}\n label=\"Click here to learn more about referrals.\"\n link\n />\n </StepHeader>\n\n <AboutGroupedReferralsModal ref={refModal} onClose={onCloseGroupedReferralsModal} />\n\n {isOpenChooseOneServiceTypeModal && (\n <ChooseOneServiceTypeModal \n closeDialog={closeChooseOneServiceTypeModal}\n programs={selectedPrograms}\n referrals={referrals}\n modalRef={ChooseOneServiceTypeModalRef}\n findServiceName={findServiceName}\n onConfirm={onConfirmApplyChanges}\n onServiceSelectionChange={handleServiceSelectionChange}\n servicesState={servicesState}\n />\n )}\n <>\n <NavButtons\n onBackClick={navigateBack}\n onForwardClick={onNextClick}\n onSaveDraftReferral={handleSaveDraftReferral}\n primaryLabel=\"Next\"\n hideForwardButtons={isEmpty(referrals)}\n hideSaveDraftLink={get(fieldsConfig, 'hideSaveDraftLink')}\n hasOffPlatformReferrals={hasOffPlatformReferrals(referrals)}\n hasDraftReferral={hasDraftReferral}\n isForwardReferralPath={isForwardReferralPath}\n />\n\n {\n !isEmpty(allPrograms) ? (\n <div className=\"relative mx-auto responsive-max-width\">\n {\n (errorMessage && (nextClicked || saveDraftClicked)) ? (\n <div className=\"flex justify-end\">\n <Icon icon=\"InfoCircle\" color=\"red\" className=\"mr-2 mt-px\" />\n <p className=\"text-red\">{errorMessage}</p>\n </div>\n ) : null\n }\n <div className={`flex justify-end my-5 ${xlOrLgSpaceReferralDiv}`}>\n <div id=\"referrals-card\"\n className={`bg-white border border-solid border-blue-border rounded ${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 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 hasDraftReferral={hasDraftReferral}\n navigateToAddResources={navigateToAddResources}\n onClick={navigateBack}\n />\n )\n }\n\n <NavButtons\n onBackClick={navigateBack}\n onForwardClick={onNextClick}\n onSaveDraftReferral={handleSaveDraftReferral}\n primaryLabel=\"Next\"\n hideForwardButtons={isEmpty(referrals)}\n hideSaveDraftLink={get(fieldsConfig, 'hideSaveDraftLink')}\n hasDraftReferral={hasDraftReferral}\n hasOffPlatformReferrals={hasOffPlatformReferrals(referrals)}\n isForwardReferralPath={isForwardReferralPath}\n />\n </>\n </div>\n </CreateReferralContainer>\n )\n}\n"],"mappings":"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","ignoreList":[]}
|
|
@@ -108,7 +108,6 @@ const validateForm = params => {
|
|
|
108
108
|
export function ReferralBuilderForm(_ref2) {
|
|
109
109
|
var _referral$case2, _clientNeedsData$data, _clientNeedsData$data2;
|
|
110
110
|
let {
|
|
111
|
-
crtb1239AdaptDraftReferralFlow,
|
|
112
111
|
currentEmployee,
|
|
113
112
|
currentProvider,
|
|
114
113
|
hasDraftReferral,
|
|
@@ -365,7 +364,7 @@ export function ReferralBuilderForm(_ref2) {
|
|
|
365
364
|
}, "referral-program-".concat(program === null || program === void 0 ? void 0 : program.id, "-card"));
|
|
366
365
|
}), /*#__PURE__*/_jsxs("p", {
|
|
367
366
|
className: "text-center text-dark-grey my-10",
|
|
368
|
-
children: ["Click on the three-dot icon to edit referral groupings.",
|
|
367
|
+
children: ["Click on the three-dot icon to edit referral groupings.", hasDraftReferral ? /*#__PURE__*/_jsxs("div", {
|
|
369
368
|
children: ["To add more programs, go to the ", /*#__PURE__*/_jsx("a", {
|
|
370
369
|
onClick: navigateToAddResources,
|
|
371
370
|
children: "Add Resources"
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ReferralBuilderForm.js","names":["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","ReferralClientNeedsField","jsx","_jsx","jsxs","_jsxs","Fragment","_Fragment","validateBasicFields","values","showClientNeeds","showNetworkSelect","_values$client_need","errors","description","trim","client_need","length","network","validateOONFields","isOON","validateOpenDate","opened_date","primaryWorker","validatePaymentAuth","_ref","_paymentAuthForm$icd","feeScheduleProgram","authorization_required","undefined","paymentAuthForm","amountRequested","amount_requested","serviceEnd","service_end","icd10Code","icd10_code","value","isCostBased","isCostPaymentType","payment_type","cmCodeRequired","cm_code_required_on_authorization","validateForm","params","_errors$paymentAuthFo","_errors$paymentAuthFo2","_errors$paymentAuthFo3","setReferralErrors","index","_objectSpread","fieldErrors","primary_worker","ReferralBuilderForm","_ref2","_referral$case2","_clientNeedsData$data","_clientNeedsData$data2","crtb1239AdaptDraftReferralFlow","currentEmployee","currentProvider","hasDraftReferral","navigateToAddResources","referral","referrals","referralSubtitle","onChange","unselected","removeProgram","onSetForm","moveToNewReferral","moveToExistingReferral","updateAttachments","source","networksUnlistedProgram","referralDescription","expandReferralsCard","person","service","programs","attachments","attachableDocuments","moveReferralMenus","setMoveReferralMenus","uploadedFiles","setUploadedFiles","primaryWorkers","setPrimaryWorkers","initialValues","setInitialValues","query","setQuery","debouncedQuery","rejectedFiles","setRejectedFiles","filesTooBig","filesWrongType","filesTooBigAndWrongType","isGrouped","isFunded","referralTitle","concat","name","crtb854ForwardingSuperset","featureFlagClientNeeds","featureFlagCMultiplelientNeeds","today","startOf","unix","networks","onProgramClick","id","programMenus","map","p","menuIsOpen","getPrimaryWorkers","primary_workers","providerId","sendingProvider","initializePaymentFormValues","state","_referral$case","_kase$data","_kaseData$service_aut","_kaseServiceAuthoriza","kase","findRecord","case","kaseData","data","kaseServiceAuthorization","service_authorization","kaseServiceAuthorizationData","clinicalModifications","clinical_modifications","clinicalModificationData","_clinicalModification","clinicalModification","isUnitBased","amountRequestedInitialValue","requested_unit_amount","requested_cents","paymentAuthFormValues","requested_ends_at","service_start","requested_starts_at","code","previousValues","_previousValues$case","find","worker","clientNeedsData","most_recent","queryConfig","placeholderData","clientNeeds","condition","label","date","openDate","Date","parseInt","maxDate","minDate","subtract","isNaN","getTime","error","console","onSubmit","validate","mutators","setFieldTouched","args","touched","field","fields","render","_ref3","form","children","subscription","className","style","marginLeft","program","_moveReferralMenus$fi","cannotMoveReasons","i","onClick","required","placeholder","options","labelKey","valueKey","validations","formValues","afterLabelContent","message","rows","inline","text","input","loadOptions","search","Array","isArray","newValue","onBlur","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';\nimport ReferralClientNeedsField from './ReferralClientNeedsField';\n\nconst validateBasicFields = (values, showClientNeeds, showNetworkSelect) => {\n const errors = {};\n if (!values.description || values.description.trim() === '') errors.description = \"Required\";\n if (showClientNeeds && (!values?.client_need || values?.client_need?.length === 0)) errors.client_need = \"Required\";\n if (showNetworkSelect && !values.network) errors.network = \"Required\";\n return errors;\n};\n\nconst validateOONFields = (values, isOON, validateOpenDate) => {\n const errors = {};\n if (isOON) {\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 if (!values.primaryWorker) errors.primaryWorker = \"Required\";\n }\n return errors;\n};\n\nconst validatePaymentAuth = ({ values, feeScheduleProgram, validateCostAmount, validateUnitAmount, fspUtils }) => {\n if (!feeScheduleProgram?.authorization_required) return undefined;\n\n const paymentAuthForm = values?.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 return {\n amount_requested: isCostBased ? validateCostAmount(amountRequested) : validateUnitAmount(amountRequested),\n service_end: serviceEnd ? undefined : 'Required',\n icd10_code: (icd10Code || !cmCodeRequired) ? undefined : 'Required'\n };\n};\n\nconst validateForm = (params) => {\n const { values, isOON, showClientNeeds, showNetworkSelect, feeScheduleProgram, validateOpenDate, validateCostAmount, validateUnitAmount, fspUtils, setReferralErrors, index } = params;\n \n const errors = {\n ...validateBasicFields(values, showClientNeeds, showNetworkSelect),\n ...validateOONFields(values, isOON, validateOpenDate)\n };\n \n errors.paymentAuthForm = validatePaymentAuth({ values, feeScheduleProgram, validateCostAmount, validateUnitAmount, fspUtils });\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\n setReferralErrors(index, fieldErrors);\n return errors;\n};\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 crtb854ForwardingSuperset = useFeatureFlag('crtb854ForwardingSuperset', false);\n const featureFlagClientNeeds = useFeatureFlag('crtb1788ClientNeeds', false);\n const featureFlagCMultiplelientNeeds = useFeatureFlag('crtb2130MultipleClientNeeds', false);\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 most_recent: true,\n },\n {\n queryConfig: {\n placeholderData: undefined,\n },\n },\n );\n const clientNeeds = clientNeedsData?.data?.data?.map(condition => ({ \n label: upperFirst(condition?.name), \n value: 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\n\n return (\n <Form\n initialValues={initialValues}\n onSubmit={() => { }}\n validate={(values) => validateForm({\n values,\n isOON,\n showClientNeeds,\n showNetworkSelect,\n feeScheduleProgram,\n validateOpenDate,\n validateCostAmount,\n validateUnitAmount,\n fspUtils,\n setReferralErrors,\n index\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 )}\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 )}\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 { isOON && (\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 )}\n\n {showClientNeeds && (\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 featureFlagCMultiplelientNeeds ? (\n <ReferralClientNeedsField params={params} clientNeeds={clientNeeds} />\n ) : (\n <SelectField\n required\n id=\"client_need\"\n label=\"Associated Need\"\n placeholder=\"Choose one...\"\n options={clientNeeds}\n labelKey={featureFlagCMultiplelientNeeds ? \"name\" : \"label\"}\n valueKey={featureFlagCMultiplelientNeeds ? \"id\" : \"value\"}\n validations={isRequired}\n value={Array.isArray(params.input.value) ? params.input.value[0] : params.input.value}\n onChange={(newValue) => params.input.onChange(newValue ? [newValue] : [])}\n onBlur={params.input.onBlur}\n />\n )\n )}\n </Field>\n\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":["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","ReferralClientNeedsField","jsx","_jsx","jsxs","_jsxs","Fragment","_Fragment","validateBasicFields","values","showClientNeeds","showNetworkSelect","_values$client_need","errors","description","trim","client_need","length","network","validateOONFields","isOON","validateOpenDate","opened_date","primaryWorker","validatePaymentAuth","_ref","_paymentAuthForm$icd","feeScheduleProgram","authorization_required","undefined","paymentAuthForm","amountRequested","amount_requested","serviceEnd","service_end","icd10Code","icd10_code","value","isCostBased","isCostPaymentType","payment_type","cmCodeRequired","cm_code_required_on_authorization","validateForm","params","_errors$paymentAuthFo","_errors$paymentAuthFo2","_errors$paymentAuthFo3","setReferralErrors","index","_objectSpread","fieldErrors","primary_worker","ReferralBuilderForm","_ref2","_referral$case2","_clientNeedsData$data","_clientNeedsData$data2","currentEmployee","currentProvider","hasDraftReferral","navigateToAddResources","referral","referrals","referralSubtitle","onChange","unselected","removeProgram","onSetForm","moveToNewReferral","moveToExistingReferral","updateAttachments","source","networksUnlistedProgram","referralDescription","expandReferralsCard","person","service","programs","attachments","attachableDocuments","moveReferralMenus","setMoveReferralMenus","uploadedFiles","setUploadedFiles","primaryWorkers","setPrimaryWorkers","initialValues","setInitialValues","query","setQuery","debouncedQuery","rejectedFiles","setRejectedFiles","filesTooBig","filesWrongType","filesTooBigAndWrongType","isGrouped","isFunded","referralTitle","concat","name","crtb854ForwardingSuperset","featureFlagClientNeeds","featureFlagCMultiplelientNeeds","today","startOf","unix","networks","onProgramClick","id","programMenus","map","p","menuIsOpen","getPrimaryWorkers","primary_workers","providerId","sendingProvider","initializePaymentFormValues","state","_referral$case","_kase$data","_kaseData$service_aut","_kaseServiceAuthoriza","kase","findRecord","case","kaseData","data","kaseServiceAuthorization","service_authorization","kaseServiceAuthorizationData","clinicalModifications","clinical_modifications","clinicalModificationData","_clinicalModification","clinicalModification","isUnitBased","amountRequestedInitialValue","requested_unit_amount","requested_cents","paymentAuthFormValues","requested_ends_at","service_start","requested_starts_at","code","previousValues","_previousValues$case","find","worker","clientNeedsData","most_recent","queryConfig","placeholderData","clientNeeds","condition","label","date","openDate","Date","parseInt","maxDate","minDate","subtract","isNaN","getTime","error","console","onSubmit","validate","mutators","setFieldTouched","args","touched","field","fields","render","_ref3","form","children","subscription","className","style","marginLeft","program","_moveReferralMenus$fi","cannotMoveReasons","i","onClick","required","placeholder","options","labelKey","valueKey","validations","formValues","afterLabelContent","message","rows","inline","text","input","loadOptions","search","Array","isArray","newValue","onBlur","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';\nimport ReferralClientNeedsField from './ReferralClientNeedsField';\n\nconst validateBasicFields = (values, showClientNeeds, showNetworkSelect) => {\n const errors = {};\n if (!values.description || values.description.trim() === '') errors.description = \"Required\";\n if (showClientNeeds && (!values?.client_need || values?.client_need?.length === 0)) errors.client_need = \"Required\";\n if (showNetworkSelect && !values.network) errors.network = \"Required\";\n return errors;\n};\n\nconst validateOONFields = (values, isOON, validateOpenDate) => {\n const errors = {};\n if (isOON) {\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 if (!values.primaryWorker) errors.primaryWorker = \"Required\";\n }\n return errors;\n};\n\nconst validatePaymentAuth = ({ values, feeScheduleProgram, validateCostAmount, validateUnitAmount, fspUtils }) => {\n if (!feeScheduleProgram?.authorization_required) return undefined;\n\n const paymentAuthForm = values?.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 return {\n amount_requested: isCostBased ? validateCostAmount(amountRequested) : validateUnitAmount(amountRequested),\n service_end: serviceEnd ? undefined : 'Required',\n icd10_code: (icd10Code || !cmCodeRequired) ? undefined : 'Required'\n };\n};\n\nconst validateForm = (params) => {\n const { values, isOON, showClientNeeds, showNetworkSelect, feeScheduleProgram, validateOpenDate, validateCostAmount, validateUnitAmount, fspUtils, setReferralErrors, index } = params;\n \n const errors = {\n ...validateBasicFields(values, showClientNeeds, showNetworkSelect),\n ...validateOONFields(values, isOON, validateOpenDate)\n };\n \n errors.paymentAuthForm = validatePaymentAuth({ values, feeScheduleProgram, validateCostAmount, validateUnitAmount, fspUtils });\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\n setReferralErrors(index, fieldErrors);\n return errors;\n};\n\nexport function ReferralBuilderForm({\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 crtb854ForwardingSuperset = useFeatureFlag('crtb854ForwardingSuperset', false);\n const featureFlagClientNeeds = useFeatureFlag('crtb1788ClientNeeds', false);\n const featureFlagCMultiplelientNeeds = useFeatureFlag('crtb2130MultipleClientNeeds', false);\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 most_recent: true,\n },\n {\n queryConfig: {\n placeholderData: undefined,\n },\n },\n );\n const clientNeeds = clientNeedsData?.data?.data?.map(condition => ({ \n label: upperFirst(condition?.name), \n value: 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\n\n return (\n <Form\n initialValues={initialValues}\n onSubmit={() => { }}\n validate={(values) => validateForm({\n values,\n isOON,\n showClientNeeds,\n showNetworkSelect,\n feeScheduleProgram,\n validateOpenDate,\n validateCostAmount,\n validateUnitAmount,\n fspUtils,\n setReferralErrors,\n index\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 )}\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 {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 )}\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 { isOON && (\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 )}\n\n {showClientNeeds && (\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 featureFlagCMultiplelientNeeds ? (\n <ReferralClientNeedsField params={params} clientNeeds={clientNeeds} />\n ) : (\n <SelectField\n required\n id=\"client_need\"\n label=\"Associated Need\"\n placeholder=\"Choose one...\"\n options={clientNeeds}\n labelKey={featureFlagCMultiplelientNeeds ? \"name\" : \"label\"}\n valueKey={featureFlagCMultiplelientNeeds ? \"id\" : \"value\"}\n validations={isRequired}\n value={Array.isArray(params.input.value) ? params.input.value[0] : params.input.value}\n onChange={(newValue) => params.input.onChange(newValue ? [newValue] : [])}\n onBlur={params.input.onBlur}\n />\n )\n )}\n </Field>\n\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":[]}
|
|
@@ -20,7 +20,6 @@ export default function useBuildReferrals(onReferralsBuilt) {
|
|
|
20
20
|
} = useAppCreateReferralContext();
|
|
21
21
|
const [isLoading, setIsLoading] = useState(false);
|
|
22
22
|
const hint542SupersetUnlistedPrograms = useFeatureFlag('hint542SupersetUnlistedPrograms', false);
|
|
23
|
-
const crtb1239AdaptDraftReferralFlow = useFeatureFlag('crtb1239AdaptDraftReferralFlow', false);
|
|
24
23
|
const crtb854ForwardingSuperset = useFeatureFlag('crtb854ForwardingSuperset', false);
|
|
25
24
|
const buildReferrals = async () => {
|
|
26
25
|
try {
|
|
@@ -38,7 +37,7 @@ export default function useBuildReferrals(onReferralsBuilt) {
|
|
|
38
37
|
// Add an id and status to unlisted programs(programs without an id are unlisted programs)
|
|
39
38
|
// Remove unlisted programs if the feature flag is disabled
|
|
40
39
|
let selectedProgramsFiltered = hint542SupersetUnlistedPrograms ? addIdToUnlistedPrograms(selectedPrograms) : selectedPrograms.filter(obj => obj.id);
|
|
41
|
-
const newReferrals = buildReferralsFromPrograms(
|
|
40
|
+
const newReferrals = buildReferralsFromPrograms(selectedProgramsFiltered, currentProvider, draftState);
|
|
42
41
|
|
|
43
42
|
// Loop over the referrals and if the program is unlisted, replace it with the selected program,
|
|
44
43
|
// because it has the name and service data
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"useBuildReferrals.js","names":["useEffect","useState","setData","useAppCreateReferralContext","addProgramToReferral","addIdToUnlistedPrograms","buildReferralsFromPrograms","isUnlistedProgram","filterProgramsReceivingReferrals","isEmpty","get","buildGroupedReferrals","coreApi","useFeatureFlag","useBuildReferrals","onReferralsBuilt","dispatch","state","selectedPrograms","referrals","currentProvider","draftState","assistanceRequestId","referralDescription","isAssistanceRequest","isLoading","setIsLoading","hint542SupersetUnlistedPrograms","crtb1239AdaptDraftReferralFlow","crtb854ForwardingSuperset","buildReferrals","assistanceRequest","assistanceRequestResponse","findRecord","include","selectedProgramsFiltered","filter","obj","id","newReferrals","newReferralsClone","JSON","parse","stringify","newReferralsCloneWithoutUnlisted","map","referral","programs","p","includes","populateRelationship","flatPrograms","flatMap","filteredReferrals","providerPromises","networkPromises","feeSchedulePromises","forEach","program","push","Promise","all","then","provider","groupedReferrals","_assistanceRequest","_assistanceRequest2","description","case","err","console","error"],"sources":["../../../src/pages/builder/useBuildReferrals.js"],"sourcesContent":["import { useEffect, useState } from 'react';\nimport { setData, useAppCreateReferralContext } from '../../context/AppCreateReferralProvider';\nimport {\n addProgramToReferral,\n addIdToUnlistedPrograms,\n buildReferralsFromPrograms,\n isUnlistedProgram,\n filterProgramsReceivingReferrals\n} from './utils';\nimport { isEmpty, get } from 'lodash';\nimport { buildGroupedReferrals } from './buildGroupedReferrals';\nimport { coreApi } from '../../api/config';\nimport { useFeatureFlag } from '../../utils/useFeatureFlag';\n\nexport default function useBuildReferrals(onReferralsBuilt) {\n const { dispatch, state: {\n selectedPrograms,\n referrals,\n currentProvider,\n draftState,\n assistanceRequestId,\n referralDescription,\n isAssistanceRequest,\n } } = useAppCreateReferralContext();\n const [isLoading, setIsLoading] = useState(false);\n\n const hint542SupersetUnlistedPrograms = useFeatureFlag('hint542SupersetUnlistedPrograms', false);\n const crtb1239AdaptDraftReferralFlow = useFeatureFlag('crtb1239AdaptDraftReferralFlow', false);\n const crtb854ForwardingSuperset = useFeatureFlag('crtb854ForwardingSuperset', false);\n\n const buildReferrals = async () => {\n try {\n // Build the referrals only one time\n if (isEmpty(referrals)) {\n\n setIsLoading(true);\n let assistanceRequest = null;\n\n if (assistanceRequestId) {\n const assistanceRequestResponse = await coreApi.findRecord('assistance_request', assistanceRequestId, {\n include: 'case',\n })\n assistanceRequest = get(assistanceRequestResponse, 'data.data', null);\n }\n\n // Add an id and status to unlisted programs(programs without an id are unlisted programs)\n // Remove unlisted programs if the feature flag is disabled\n let selectedProgramsFiltered = hint542SupersetUnlistedPrograms ? addIdToUnlistedPrograms(selectedPrograms) : selectedPrograms.filter(obj => obj.id);\n\n const newReferrals = buildReferralsFromPrograms(crtb1239AdaptDraftReferralFlow, selectedProgramsFiltered, currentProvider, draftState);\n\n // Loop over the referrals and if the program is unlisted, replace it with the selected program,\n // because it has the name and service data\n addProgramToReferral(newReferrals, selectedProgramsFiltered, isUnlistedProgram);\n\n // Create a copy of the referrals to avoid mutating the original data. To be able to get data from the programs\n const newReferralsClone = JSON.parse(JSON.stringify(newReferrals));\n const newReferralsCloneWithoutUnlisted = newReferralsClone.map((referral) => {\n referral.programs = referral.programs.filter((p) => !p.id.includes('unlisted'));\n return referral;\n });\n\n await coreApi.populateRelationship('programs', 'program', newReferralsCloneWithoutUnlisted);\n\n // Get all the programs from the referrals\n const flatPrograms = newReferralsCloneWithoutUnlisted.flatMap(referral => referral.programs);\n\n // Loop over the original referrals object and if the program is not unlisted, \n // replace it with the program from the flatPrograms array, since flatPrograms has all the data\n addProgramToReferral(newReferrals, flatPrograms, (p) => !isUnlistedProgram(p));\n\n const filteredReferrals = filterProgramsReceivingReferrals(newReferrals);\n await coreApi.populateRelationship('service', 'service', filteredReferrals);\n\n let providerPromises = [], networkPromises = [], feeSchedulePromises = [];\n\n filteredReferrals.forEach((referral) => {\n referral.programs.forEach((program) => {\n providerPromises.push(coreApi.populateRelationship('provider', 'provider', program));\n feeSchedulePromises.push(coreApi.populateRelationship('fee_schedule_program', 'fee_schedule_program', program));\n })\n });\n\n await Promise.all(providerPromises).then((programs) => {\n programs.forEach(async (program) => {\n networkPromises.push(coreApi.populateRelationship('networks', 'network', program.provider));\n })\n });\n\n await Promise.all(feeSchedulePromises);\n await Promise.all(networkPromises);\n\n const groupedReferrals = buildGroupedReferrals(filteredReferrals, currentProvider);\n\n if (!isEmpty(assistanceRequest)) {\n groupedReferrals[0].description = assistanceRequest?.description || assistanceRequest?.case?.description;\n }\n\n if ((crtb854ForwardingSuperset || isAssistanceRequest) && referralDescription) {\n groupedReferrals.forEach(referral => {\n referral.description = referralDescription;\n });\n }\n\n dispatch(setData({\n assistanceRequestId: assistanceRequest,\n referrals: groupedReferrals\n }))\n\n if (onReferralsBuilt) {\n onReferralsBuilt(groupedReferrals);\n }\n }\n } catch (err) { \n console.error(\"Error in buildReferrals:\", err);\n }\n finally { setIsLoading(false) }\n }\n\n useEffect(() => {\n buildReferrals();\n }, [selectedPrograms])\n\n return {\n referrals,\n isLoading\n }\n}\n"],"mappings":"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","ignoreList":[]}
|
|
1
|
+
{"version":3,"file":"useBuildReferrals.js","names":["useEffect","useState","setData","useAppCreateReferralContext","addProgramToReferral","addIdToUnlistedPrograms","buildReferralsFromPrograms","isUnlistedProgram","filterProgramsReceivingReferrals","isEmpty","get","buildGroupedReferrals","coreApi","useFeatureFlag","useBuildReferrals","onReferralsBuilt","dispatch","state","selectedPrograms","referrals","currentProvider","draftState","assistanceRequestId","referralDescription","isAssistanceRequest","isLoading","setIsLoading","hint542SupersetUnlistedPrograms","crtb854ForwardingSuperset","buildReferrals","assistanceRequest","assistanceRequestResponse","findRecord","include","selectedProgramsFiltered","filter","obj","id","newReferrals","newReferralsClone","JSON","parse","stringify","newReferralsCloneWithoutUnlisted","map","referral","programs","p","includes","populateRelationship","flatPrograms","flatMap","filteredReferrals","providerPromises","networkPromises","feeSchedulePromises","forEach","program","push","Promise","all","then","provider","groupedReferrals","_assistanceRequest","_assistanceRequest2","description","case","err","console","error"],"sources":["../../../src/pages/builder/useBuildReferrals.js"],"sourcesContent":["import { useEffect, useState } from 'react';\nimport { setData, useAppCreateReferralContext } from '../../context/AppCreateReferralProvider';\nimport {\n addProgramToReferral,\n addIdToUnlistedPrograms,\n buildReferralsFromPrograms,\n isUnlistedProgram,\n filterProgramsReceivingReferrals\n} from './utils';\nimport { isEmpty, get } from 'lodash';\nimport { buildGroupedReferrals } from './buildGroupedReferrals';\nimport { coreApi } from '../../api/config';\nimport { useFeatureFlag } from '../../utils/useFeatureFlag';\n\nexport default function useBuildReferrals(onReferralsBuilt) {\n const { dispatch, state: {\n selectedPrograms,\n referrals,\n currentProvider,\n draftState,\n assistanceRequestId,\n referralDescription,\n isAssistanceRequest,\n } } = useAppCreateReferralContext();\n const [isLoading, setIsLoading] = useState(false);\n\n const hint542SupersetUnlistedPrograms = useFeatureFlag('hint542SupersetUnlistedPrograms', false);\n const crtb854ForwardingSuperset = useFeatureFlag('crtb854ForwardingSuperset', false);\n\n const buildReferrals = async () => {\n try {\n // Build the referrals only one time\n if (isEmpty(referrals)) {\n\n setIsLoading(true);\n let assistanceRequest = null;\n\n if (assistanceRequestId) {\n const assistanceRequestResponse = await coreApi.findRecord('assistance_request', assistanceRequestId, {\n include: 'case',\n })\n assistanceRequest = get(assistanceRequestResponse, 'data.data', null);\n }\n\n // Add an id and status to unlisted programs(programs without an id are unlisted programs)\n // Remove unlisted programs if the feature flag is disabled\n let selectedProgramsFiltered = hint542SupersetUnlistedPrograms ? addIdToUnlistedPrograms(selectedPrograms) : selectedPrograms.filter(obj => obj.id);\n\n const newReferrals = buildReferralsFromPrograms(selectedProgramsFiltered, currentProvider, draftState);\n\n // Loop over the referrals and if the program is unlisted, replace it with the selected program,\n // because it has the name and service data\n addProgramToReferral(newReferrals, selectedProgramsFiltered, isUnlistedProgram);\n\n // Create a copy of the referrals to avoid mutating the original data. To be able to get data from the programs\n const newReferralsClone = JSON.parse(JSON.stringify(newReferrals));\n const newReferralsCloneWithoutUnlisted = newReferralsClone.map((referral) => {\n referral.programs = referral.programs.filter((p) => !p.id.includes('unlisted'));\n return referral;\n });\n\n await coreApi.populateRelationship('programs', 'program', newReferralsCloneWithoutUnlisted);\n\n // Get all the programs from the referrals\n const flatPrograms = newReferralsCloneWithoutUnlisted.flatMap(referral => referral.programs);\n\n // Loop over the original referrals object and if the program is not unlisted, \n // replace it with the program from the flatPrograms array, since flatPrograms has all the data\n addProgramToReferral(newReferrals, flatPrograms, (p) => !isUnlistedProgram(p));\n\n const filteredReferrals = filterProgramsReceivingReferrals(newReferrals);\n await coreApi.populateRelationship('service', 'service', filteredReferrals);\n\n let providerPromises = [], networkPromises = [], feeSchedulePromises = [];\n\n filteredReferrals.forEach((referral) => {\n referral.programs.forEach((program) => {\n providerPromises.push(coreApi.populateRelationship('provider', 'provider', program));\n feeSchedulePromises.push(coreApi.populateRelationship('fee_schedule_program', 'fee_schedule_program', program));\n })\n });\n\n await Promise.all(providerPromises).then((programs) => {\n programs.forEach(async (program) => {\n networkPromises.push(coreApi.populateRelationship('networks', 'network', program.provider));\n })\n });\n\n await Promise.all(feeSchedulePromises);\n await Promise.all(networkPromises);\n\n const groupedReferrals = buildGroupedReferrals(filteredReferrals, currentProvider);\n\n if (!isEmpty(assistanceRequest)) {\n groupedReferrals[0].description = assistanceRequest?.description || assistanceRequest?.case?.description;\n }\n\n if ((crtb854ForwardingSuperset || isAssistanceRequest) && referralDescription) {\n groupedReferrals.forEach(referral => {\n referral.description = referralDescription;\n });\n }\n\n dispatch(setData({\n assistanceRequestId: assistanceRequest,\n referrals: groupedReferrals\n }))\n\n if (onReferralsBuilt) {\n onReferralsBuilt(groupedReferrals);\n }\n }\n } catch (err) { \n console.error(\"Error in buildReferrals:\", err);\n }\n finally { setIsLoading(false) }\n }\n\n useEffect(() => {\n buildReferrals();\n }, [selectedPrograms])\n\n return {\n referrals,\n isLoading\n }\n}\n"],"mappings":"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","ignoreList":[]}
|