@unite-us/app-create-referral 0.15.50 → 0.15.51
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.
|
@@ -247,7 +247,9 @@ export function ReferralBuilderForm(_ref) {
|
|
|
247
247
|
useEffect(function () {
|
|
248
248
|
initializePaymentFormValues();
|
|
249
249
|
}, [initializePaymentFormValues]);
|
|
250
|
-
var _useFind = useFind("people/".concat(person.id, "/person_condition"), {
|
|
250
|
+
var _useFind = useFind("people/".concat(person.id, "/person_condition"), {
|
|
251
|
+
most_recent: true
|
|
252
|
+
}, {
|
|
251
253
|
queryConfig: {
|
|
252
254
|
placeholderData: undefined
|
|
253
255
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ReferralBuilderForm.js","names":["e","t","r","Symbol","n","iterator","o","toStringTag","i","c","prototype","Generator","u","Object","create","_regeneratorDefine2","f","p","y","G","v","a","d","bind","length","l","TypeError","call","done","value","return","GeneratorFunction","GeneratorFunctionPrototype","getPrototypeOf","setPrototypeOf","__proto__","displayName","_regenerator","w","m","defineProperty","_regeneratorDefine","enumerable","configurable","writable","_invoke","_OverloadYield","k","_toConsumableArray","_arrayWithoutHoles","_iterableToArray","_unsupportedIterableToArray","_nonIterableSpread","Array","from","isArray","_arrayLikeToArray","asyncGeneratorStep","Promise","resolve","then","_asyncToGenerator","arguments","apply","_next","_throw","_slicedToArray","_arrayWithHoles","_iterableToArrayLimit","_nonIterableRest","toString","slice","constructor","name","test","next","push","React","useCallback","useEffect","useState","PropTypes","Form","Field","FormSpy","get","isEmpty","isNil","uniqBy","upperFirst","DateField","TextField","SelectField","validateCostAmount","validateUnitAmount","InfoPanel","isRequired","feeSchedulePrograms","fspUtils","moment","coreApi","REFERRAL_PII_PHI_DESCRIPTION","AuthorizationSubform","ReferralProgramCard","FileUpload","isUnlistedReferral","programIsOffPlatform","referralIsOON","referralIsGrouped","shouldShowNetworkSelect","filterNetworks","referralIsFunded","fetchPrimaryWorkers","useDebounce","useFeatureFlag","cannotMoveToReferralReasons","ContactDocumentsSelector","useFind","ReferralBuilderForm","_ref","_referral$case2","_clientNeedsData$data","_clientNeedsData$data2","crtb1239AdaptDraftReferralFlow","currentEmployee","currentProvider","hasDraftReferral","navigateToAddResources","referral","referrals","index","referralSubtitle","onChange","unselected","removeProgram","onSetForm","moveToNewReferral","moveToExistingReferral","updateAttachments","source","networksUnlistedProgram","setReferralErrors","referralDescription","expandReferralsCard","person","service","programs","primaryWorker","attachments","attachableDocuments","_useState","_useState2","moveReferralMenus","setMoveReferralMenus","_useState3","_useState4","uploadedFiles","setUploadedFiles","_useState5","_useState6","primaryWorkers","setPrimaryWorkers","_useState7","_useState8","initialValues","setInitialValues","_useState9","_useState10","query","setQuery","debouncedQuery","_useState11","filesTooBig","filesWrongType","filesTooBigAndWrongType","_useState12","rejectedFiles","setRejectedFiles","isOON","isGrouped","isFunded","referralTitle","concat","crtb824AddOpenCloseDateOffPlatformCase","crtb854ForwardingSuperset","featureFlagClientNeeds","showOpenedDate","today","startOf","unix","networks","showNetworkSelect","onProgramClick","id","programMenus","map","menuIsOpen","getPrimaryWorkers","_regeneratorRuntime","mark","_callee","_yield$fetchPrimaryWo","primary_workers","wrap","_callee$","_context","prev","providerId","sendingProvider","sent","stop","feeScheduleProgram","initializePaymentFormValues","_callee2","_referral$case","_kase$data","_kaseData$service_aut","_kaseServiceAuthoriza","kase","kaseData","kaseServiceAuthorization","kaseServiceAuthorizationData","clinicalModifications","clinicalModificationData","_clinicalModification","clinicalModification","isUnitBased","amountRequestedInitialValue","paymentAuthFormValues","_callee2$","_context2","state","authorization_required","findRecord","case","data","service_authorization","clinical_modifications","isCostPaymentType","payment_type","requested_unit_amount","requested_cents","amount_requested","service_end","requested_ends_at","service_start","requested_starts_at","icd10_code","code","previousValues","_previousValues$case","_objectSpread","paymentAuthForm","description","find","worker","_useFind","queryConfig","placeholderData","undefined","clientNeedsData","clientNeeds","condition","showClientNeeds","validateOpenDate","date","openDate","Date","parseInt","maxDate","minDate","subtract","isNaN","getTime","error","console","createElement","onSubmit","validate","values","_errors$paymentAuthFo","_errors$paymentAuthFo2","_errors$paymentAuthFo3","errors","trim","opened_date","client_need","network","_paymentAuthForm$icd","amountRequested","serviceEnd","icd10Code","isCostBased","cmCodeRequired","cm_code_required_on_authorization","fieldErrors","primary_worker","mutators","setFieldTouched","args","_args3","touched","field","fields","render","_ref4","form","Fragment","subscription","className","style","marginLeft","program","_moveReferralMenus$fi","cannotMoveReasons","key","onClick","required","params","_extends","label","placeholder","options","labelKey","valueKey","validations","formValues","afterLabelContent","message","rows","inline","text","input","loadOptions","search","documentFields","propTypes","object","shape","string","array","number","func","defaultProps"],"sources":["../../../src/pages/builder/ReferralBuilderForm.js"],"sourcesContent":["import React, { useCallback, useEffect, useState } from 'react';\nimport { PropTypes } from 'prop-types';\nimport { Form, Field, FormSpy } from 'react-final-form';\nimport { get, isEmpty, isNil, uniqBy, upperFirst } from 'lodash';\nimport {\n DateField,\n TextField,\n SelectField,\n} from '@unite-us/ui';\nimport validateCostAmount from '../../utils/validateCostAmount';\nimport validateUnitAmount from '../../utils/validateUnitAmount';\nimport InfoPanel from '@unite-us/client-utils/dist/InfoPanel/InfoPanel';\nimport {\n isRequired,\n} from '@unite-us/client-utils/dist/utils/validations/validations';\nimport { feeSchedulePrograms as fspUtils } from '@unite-us/client-utils';\nimport moment from 'moment';\nimport { coreApi } from '../../api/config';\nimport { REFERRAL_PII_PHI_DESCRIPTION } from './constants';\nimport AuthorizationSubform from './AuthorizationSubform';\nimport ReferralProgramCard from './ReferralProgramCard';\nimport { FileUpload } from '../../common/form/FileUploadV2/FileUpload';\nimport {\n isUnlistedReferral,\n programIsOffPlatform,\n referralIsOON,\n referralIsGrouped,\n shouldShowNetworkSelect,\n filterNetworks,\n referralIsFunded,\n} from './utils';\nimport fetchPrimaryWorkers from '../../actions/Referral/fetchPrimaryWorkers';\nimport { useDebounce } from '../../utils/useDebounce';\nimport { useFeatureFlag } from '../../utils/useFeatureFlag';\nimport { cannotMoveToReferralReasons } from '../../actions/Referral/cannotMoveToReferralReasons';\nimport ContactDocumentsSelector from '../../common/form/DocumentUploader/components/ContactDocumentsSelector'\nimport { useFind } from '../../api/ApiHooks';\nimport './ReferralBuilderForm.scss';\n\nexport function ReferralBuilderForm({\n crtb1239AdaptDraftReferralFlow,\n currentEmployee,\n currentProvider,\n hasDraftReferral,\n navigateToAddResources,\n referral,\n referrals,\n index,\n referralSubtitle,\n onChange,\n unselected,\n removeProgram,\n onSetForm,\n moveToNewReferral,\n moveToExistingReferral,\n updateAttachments,\n source,\n networksUnlistedProgram,\n setReferralErrors,\n referralDescription,\n expandReferralsCard,\n person,\n}) {\n const { service, programs, primaryWorker, attachments, attachableDocuments } = referral;\n const [moveReferralMenus, setMoveReferralMenus] = useState({});\n const [uploadedFiles, setUploadedFiles] = useState(attachments);\n const [primaryWorkers, setPrimaryWorkers] = useState(primaryWorker ? [primaryWorker] : []);\n const [initialValues, setInitialValues] = useState(referral);\n const [query, setQuery] = useState('');\n const debouncedQuery = useDebounce(query, 500);\n\n const [rejectedFiles, setRejectedFiles] = useState({\n filesTooBig: [],\n filesWrongType: [],\n filesTooBigAndWrongType: [],\n });\n const isOON = referralIsOON(referral);\n const isGrouped = referralIsGrouped(referral);\n const isFunded = referralIsFunded(referral)\n const referralTitle = `Referral ${index + 1}: ${service?.name}${isGrouped ? ', Grouped' : ''}${isOON ? ', Off-Platform' : ''}${isFunded ? ', Funded' : ''}`;\n const crtb824AddOpenCloseDateOffPlatformCase = useFeatureFlag('crtb824AddOpenCloseDateOffPlatformCase', false);\n const crtb854ForwardingSuperset = useFeatureFlag('crtb854ForwardingSuperset', false);\n const featureFlagClientNeeds = useFeatureFlag('crtb1788ClientNeeds', false);\n const showOpenedDate = isOON && crtb824AddOpenCloseDateOffPlatformCase;\n const today = moment().startOf('day').unix();\n\n // If all the programs in the referral are unlisted, show the user provider networks\n const networks = isUnlistedReferral(referral) ? networksUnlistedProgram : filterNetworks(referral);\n const showNetworkSelect = shouldShowNetworkSelect(networks, programs);\n\n const onProgramClick = (id) => {\n const programMenus = moveReferralMenus.map((p) => {\n if (p.id === id) {\n p.menuIsOpen = !p.menuIsOpen;\n } else {\n p.menuIsOpen = false;\n }\n return p;\n });\n\n setMoveReferralMenus(programMenus);\n };\n\n const getPrimaryWorkers = useCallback(async () => {\n const { primary_workers } = await fetchPrimaryWorkers({\n providerId: referral.sendingProvider.id,\n currentEmployee,\n query: debouncedQuery,\n });\n\n // if the query is empty, keep the queried employees and the current primary worker in select field's options array\n isEmpty(query) ?\n setPrimaryWorkers(uniqBy([...primaryWorkers, ...primary_workers, (primaryWorker && primaryWorker)], 'id')) :\n setPrimaryWorkers(primary_workers);\n }, [currentEmployee, referral.sendingProvider.id, debouncedQuery]);\n\n const feeScheduleProgram = get(programs, '[0].fee_schedule_program');\n\n const initializePaymentFormValues = useCallback(async () => {\n if (referral.state === \"draft\" && feeScheduleProgram?.authorization_required) {\n const kase = await coreApi.findRecord('case', referral.case?.id);\n const kaseData = kase?.data?.data;\n const kaseServiceAuthorization = await coreApi.findRecord('service_authorization', kaseData?.service_authorization?.id);\n const kaseServiceAuthorizationData = kaseServiceAuthorization?.data?.data;\n \n const clinicalModifications = kaseServiceAuthorizationData?.clinical_modifications;\n let clinicalModificationData = null;\n \n if (clinicalModifications && clinicalModifications.length > 0) {\n const clinicalModification = await coreApi.findRecord('clinical_modifications', clinicalModifications[0].id);\n clinicalModificationData = clinicalModification?.data?.data;\n }\n\n const isUnitBased = !fspUtils.isCostPaymentType(feeScheduleProgram?.payment_type);\n const amountRequestedInitialValue = isUnitBased ? \n kaseServiceAuthorizationData?.requested_unit_amount :\n kaseServiceAuthorizationData?.requested_cents / 100;\n\n const paymentAuthFormValues = {\n amount_requested: amountRequestedInitialValue,\n service_end: moment(kaseServiceAuthorizationData?.requested_ends_at).unix(),\n service_start: moment(kaseServiceAuthorizationData?.requested_starts_at).unix(),\n icd10_code: !isEmpty(clinicalModificationData) ? {\n value: clinicalModificationData.code, \n id: clinicalModificationData.id,\n } : {},\n }\n\n setInitialValues((previousValues) => {\n const initialValues = {\n ...previousValues,\n case: {\n ...previousValues.case,\n service_authorization: {\n ...previousValues.case?.service_authorization,\n ...kaseServiceAuthorizationData,\n }\n },\n paymentAuthForm: {\n ...previousValues.paymentAuthForm,\n ...paymentAuthFormValues,\n }\n };\n if (crtb854ForwardingSuperset && referralDescription) {\n initialValues.description = referralDescription;\n }\n return initialValues;\n });\n }\n }, [referral.case?.id, referral.state, feeScheduleProgram?.payment_type, feeScheduleProgram?.authorization_required]);\n\n useEffect(() => {\n if (isOON) {\n getPrimaryWorkers();\n }\n }, [getPrimaryWorkers, isOON]);\n\n useEffect(() => {\n const programMenus = programs.map((p) => ({ id: p.id, menuIsOpen: false }));\n setMoveReferralMenus(programMenus);\n }, [programs]);\n\n useEffect(() => {\n setInitialValues({\n ...referral,\n ...((isNil(referral.primaryWorker) && isOON) ?\n { primaryWorker: primaryWorkers.find((worker) => worker.id === currentEmployee.id) } :\n null\n ),\n ...(crtb854ForwardingSuperset && referralDescription) ? { referralDescription } : {},\n })\n }, [primaryWorkers, currentEmployee.id, index, isOON, referral, referralDescription]);\n\n useEffect(() => {\n if (!isEmpty(uploadedFiles)) {\n updateAttachments(uploadedFiles);\n }\n }, [uploadedFiles]);\n\n useEffect(() => {\n initializePaymentFormValues();\n }, [initializePaymentFormValues]);\n \n const { data: clientNeedsData } = useFind(\n `people/${person.id}/person_condition`,\n {},\n {\n queryConfig: {\n placeholderData: undefined,\n },\n },\n );\n const clientNeeds = clientNeedsData?.data?.data?.map(condition => ({ \n name: upperFirst(condition?.name), \n id: condition?.id \n })) ?? [];\n \n const showClientNeeds = featureFlagClientNeeds && !isEmpty(clientNeeds);\n\n const validateOpenDate = (date) => { \n try {\n const openDate = new Date(parseInt(date) * 1000);\n const maxDate = new Date(parseInt(today) * 1000);\n const minDate = new Date(moment().subtract(1, 'year').unix() * 1000);\n \n return (isNaN(openDate.getTime()) || openDate.getTime() < minDate || openDate.getTime() > maxDate) ? false : true;\n } catch (error) {\n console.error('Error validating open date', error);\n return false;\n }\n }\n\n return (\n <Form\n initialValues={initialValues}\n onSubmit={() => { }}\n validate={(values) => {\n const errors = {};\n if (!values.description || values.description.trim() === '') { errors.description = \"Required\" };\n if (showOpenedDate) {\n if (!values.opened_date) {\n errors.opened_date = \"Required\"\n } else if (!validateOpenDate(values.opened_date)) {\n errors.opened_date = \"Invalid date\";\n }\n }\n if (showClientNeeds && !isEmpty(clientNeeds) && !values.client_need) { errors.client_need = \"Required\" };\n if (isOON && !values.primaryWorker) { errors.primaryWorker = \"Required\" };\n if (showNetworkSelect && !values.network) { errors.network = \"Required\" };\n\n const paymentAuthForm = values?.paymentAuthForm;\n\n if (feeScheduleProgram?.authorization_required) {\n errors.paymentAuthForm = {}\n const amountRequested = paymentAuthForm?.amount_requested;\n const serviceEnd = paymentAuthForm?.service_end;\n const icd10Code = paymentAuthForm?.icd10_code?.value;\n const isCostBased = fspUtils.isCostPaymentType(feeScheduleProgram.payment_type);\n const cmCodeRequired = feeScheduleProgram.cm_code_required_on_authorization;\n\n errors.paymentAuthForm.amount_requested = isCostBased ? validateCostAmount(amountRequested) : validateUnitAmount(amountRequested);\n errors.paymentAuthForm.service_end = serviceEnd ? undefined : 'Required';\n errors.paymentAuthForm.icd10_code = icd10Code || !cmCodeRequired ? undefined : 'Required';\n } else {\n errors.paymentAuthForm = undefined;\n }\n const fieldErrors = {\n description: !!errors.description,\n opened_date: !!errors.opened_date,\n client_need: !!errors.client_need,\n primary_worker: !!errors.primaryWorker,\n network: !!errors.network,\n service_end: !!errors?.paymentAuthForm?.service_end,\n amount_requested: !!errors?.paymentAuthForm?.amount_requested,\n icd10_code: !!errors?.paymentAuthForm?.icd10_code\n }\n setReferralErrors(index, fieldErrors);\n return errors;\n }}\n mutators={{\n setFieldTouched: (args, state) => {\n const [name, touched] = args;\n const field = state.fields[name];\n if (field) {\n field.touched = !!touched;\n }\n }\n }}\n render={({ form, values }) => {\n onSetForm && onSetForm(form);\n return (\n <>\n <FormSpy\n subscription={{ values: true }}\n onChange={onChange}\n />\n <div className={\"bg-white border border-solid border-blue-border rounded md:w-4/6 lg:w-4/6\"} style={{ marginLeft: expandReferralsCard && '-7.5rem'}}>\n <div className=\"p-5 bg-dark-fill-blue\">\n <h2 className=\"text-xl font-black mb-1\">\n {referralTitle}\n </h2>\n <h3>\n {referralSubtitle}\n </h3>\n </div>\n <div className=\"p-5\">\n {isOON ? (\n <div className=\"bg-alert-yellow border border-solid border-canary-yellow rounded p-3 mb-5\">\n <p className=\"text-brand-blue\">\n You need to contact these programs directly because\n they're not receiving referrals on the Unite Us Platform.\n </p>\n </div>\n ) : null}\n <h5 className=\"text-sm ui-form-field__label\">PROGRAMS</h5>\n {programs.map((program) => {\n const menuIsOpen = isEmpty(moveReferralMenus) ? false : moveReferralMenus?.find((p) => p.id === program.id)?.menuIsOpen;\n\n const cannotMoveReasons = {}\n unselected.map((i) => {\n return cannotMoveReasons[i] = cannotMoveToReferralReasons({ program, referral, referrals, index: i, currentProvider })\n })\n\n return (\n <ReferralProgramCard\n key={`referral-program-${program?.id}-card`}\n program={program}\n onClick={onProgramClick}\n isOON={programIsOffPlatform(program)}\n menuIsOpen={menuIsOpen}\n unselected={unselected}\n referral={referral}\n removeProgram={removeProgram}\n moveToNewReferral={moveToNewReferral}\n moveToExistingReferral={moveToExistingReferral}\n cannotMoveReasons={cannotMoveReasons}\n />\n );\n })}\n <p className=\"text-center text-dark-grey my-10\">\n Click on the three-dot icon to edit referral groupings.\n {crtb1239AdaptDraftReferralFlow && hasDraftReferral ? (\n <div>\n To add more programs, go to the <a onClick={navigateToAddResources}>Add Resources</a> page.\n </div>\n ) : null}\n </p>\n\n {showNetworkSelect ? (\n <div className=\"mb-10\">\n <Field\n name=\"network\"\n required\n key={`referral-${index}-network`}\n >\n {(params) => (\n <SelectField\n required\n id=\"network-selection\"\n label=\"Network Selection\"\n placeholder=\"Choose one...\"\n options={networks}\n labelKey=\"name\"\n valueKey=\"id\"\n validations={isRequired}\n {...params}\n />\n )}\n </Field>\n </div>\n ) : null}\n\n {feeScheduleProgram?.authorization_required && (\n <AuthorizationSubform \n feeScheduleProgram={feeScheduleProgram}\n formValues={values}\n setReferralErrors={(errors) => setReferralErrors(index, errors)} \n />\n )}\n\n <Field\n name=\"description\"\n required\n key={`referral-${index}-description`}\n >\n {(params) => (\n <TextField\n afterLabelContent={(\n <InfoPanel\n className=\"mb-4 mt-2\"\n message={REFERRAL_PII_PHI_DESCRIPTION}\n />\n )}\n id=\"referral-description\"\n label=\"Referral Description\"\n placeholder=\"Describe your client's current situation and reason for referral.\"\n rows={3}\n inline={false}\n validations={isRequired}\n required\n style={source === 'emr' && get(params, 'meta.touched') && !get(params, 'meta.valid') ? { text: { 'border-color': 'red' } } : {}}\n {...params}\n />\n )}\n </Field>\n\n { showOpenedDate && (\n <Field\n name=\"opened_date\"\n required\n key={`opened-${index}-date`}\n >\n {(params) => (\n <DateField\n required\n id=\"opened-date\"\n label=\"Open date\"\n validations={validateOpenDate(params.input.value)}\n minDate={moment().subtract(1, 'year').unix()}\n maxDate={today}\n style={source === 'emr' && get(params, 'meta.touched') && !get(params, 'meta.valid') ? { text: { 'border-color': 'red' } } : {}}\n {...params}\n />\n )}\n </Field>) }\n\n {isOON ? (\n <Field\n name=\"primaryWorker\"\n required\n key={`referral-${index}-primary-worker`}\n >\n {(params) => (\n <SelectField\n required\n id=\"primary-worker\"\n label=\"Primary Worker\"\n placeholder=\"Choose one...\"\n loadOptions={(search) => setQuery(search)}\n options={primaryWorkers}\n labelKey=\"full_name\"\n valueKey=\"id\"\n validations={isRequired}\n {...params}\n />\n )}\n </Field>\n ) : null}\n\n {showClientNeeds && !isEmpty(clientNeeds) && (\n <>\n <p className=\"mb-4 mt-2 text-dark-blue\">Select the identified need from the client’s screening or assessment that relates to this referral.</p>\n <Field\n name=\"client_need\"\n required\n key={`associated-${index}-need`}\n >\n {(params) => (\n <SelectField\n required\n id=\"client_need\"\n label=\"Associated Need\"\n placeholder=\"Choose one...\"\n options={clientNeeds}\n labelKey=\"name\"\n valueKey=\"id\"\n validations={isRequired}\n {...params}\n />\n )}\n </Field>\n </>\n )}\n\n {attachableDocuments && (\n <div className=\"upload-documents\">\n <h5>Documents</h5>\n <ContactDocumentsSelector documentFields={attachableDocuments} />\n </div>\n )}\n\n {/* Attachment area */}\n <FileUpload\n rejectedFiles={rejectedFiles}\n setRejectedFiles={setRejectedFiles}\n setUploadedFiles={setUploadedFiles}\n uploadedFiles={attachments || []}\n />\n </div>\n </div>\n </>\n )}}\n />\n )\n}\n\nReferralBuilderForm.propTypes = {\n currentEmployee: PropTypes.object.isRequired,\n currentProvider: PropTypes.object.isRequired,\n referral: PropTypes.shape({\n service: PropTypes.shape({\n name: PropTypes.string.isRequired,\n }).isRequired,\n programs: PropTypes.array.isRequired,\n }).isRequired,\n index: PropTypes.number.isRequired,\n referralSubtitle: PropTypes.string,\n onChange: PropTypes.func.isRequired,\n unselected: PropTypes.array,\n removeProgram: PropTypes.func.isRequired,\n moveToNewReferral: PropTypes.func.isRequired,\n moveToExistingReferral: PropTypes.func.isRequired,\n onSetForm: PropTypes.func.isRequired,\n setReferralErrors: PropTypes.func.isRequired,\n}\n\nReferralBuilderForm.defaultProps = {\n referralSubtitle: '',\n unselected: [],\n}\n\nexport default ReferralBuilderForm;\n"],"mappings":"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","ignoreList":[]}
|
|
1
|
+
{"version":3,"file":"ReferralBuilderForm.js","names":["e","t","r","Symbol","n","iterator","o","toStringTag","i","c","prototype","Generator","u","Object","create","_regeneratorDefine2","f","p","y","G","v","a","d","bind","length","l","TypeError","call","done","value","return","GeneratorFunction","GeneratorFunctionPrototype","getPrototypeOf","setPrototypeOf","__proto__","displayName","_regenerator","w","m","defineProperty","_regeneratorDefine","enumerable","configurable","writable","_invoke","_OverloadYield","k","_toConsumableArray","_arrayWithoutHoles","_iterableToArray","_unsupportedIterableToArray","_nonIterableSpread","Array","from","isArray","_arrayLikeToArray","asyncGeneratorStep","Promise","resolve","then","_asyncToGenerator","arguments","apply","_next","_throw","_slicedToArray","_arrayWithHoles","_iterableToArrayLimit","_nonIterableRest","toString","slice","constructor","name","test","next","push","React","useCallback","useEffect","useState","PropTypes","Form","Field","FormSpy","get","isEmpty","isNil","uniqBy","upperFirst","DateField","TextField","SelectField","validateCostAmount","validateUnitAmount","InfoPanel","isRequired","feeSchedulePrograms","fspUtils","moment","coreApi","REFERRAL_PII_PHI_DESCRIPTION","AuthorizationSubform","ReferralProgramCard","FileUpload","isUnlistedReferral","programIsOffPlatform","referralIsOON","referralIsGrouped","shouldShowNetworkSelect","filterNetworks","referralIsFunded","fetchPrimaryWorkers","useDebounce","useFeatureFlag","cannotMoveToReferralReasons","ContactDocumentsSelector","useFind","ReferralBuilderForm","_ref","_referral$case2","_clientNeedsData$data","_clientNeedsData$data2","crtb1239AdaptDraftReferralFlow","currentEmployee","currentProvider","hasDraftReferral","navigateToAddResources","referral","referrals","index","referralSubtitle","onChange","unselected","removeProgram","onSetForm","moveToNewReferral","moveToExistingReferral","updateAttachments","source","networksUnlistedProgram","setReferralErrors","referralDescription","expandReferralsCard","person","service","programs","primaryWorker","attachments","attachableDocuments","_useState","_useState2","moveReferralMenus","setMoveReferralMenus","_useState3","_useState4","uploadedFiles","setUploadedFiles","_useState5","_useState6","primaryWorkers","setPrimaryWorkers","_useState7","_useState8","initialValues","setInitialValues","_useState9","_useState10","query","setQuery","debouncedQuery","_useState11","filesTooBig","filesWrongType","filesTooBigAndWrongType","_useState12","rejectedFiles","setRejectedFiles","isOON","isGrouped","isFunded","referralTitle","concat","crtb824AddOpenCloseDateOffPlatformCase","crtb854ForwardingSuperset","featureFlagClientNeeds","showOpenedDate","today","startOf","unix","networks","showNetworkSelect","onProgramClick","id","programMenus","map","menuIsOpen","getPrimaryWorkers","_regeneratorRuntime","mark","_callee","_yield$fetchPrimaryWo","primary_workers","wrap","_callee$","_context","prev","providerId","sendingProvider","sent","stop","feeScheduleProgram","initializePaymentFormValues","_callee2","_referral$case","_kase$data","_kaseData$service_aut","_kaseServiceAuthoriza","kase","kaseData","kaseServiceAuthorization","kaseServiceAuthorizationData","clinicalModifications","clinicalModificationData","_clinicalModification","clinicalModification","isUnitBased","amountRequestedInitialValue","paymentAuthFormValues","_callee2$","_context2","state","authorization_required","findRecord","case","data","service_authorization","clinical_modifications","isCostPaymentType","payment_type","requested_unit_amount","requested_cents","amount_requested","service_end","requested_ends_at","service_start","requested_starts_at","icd10_code","code","previousValues","_previousValues$case","_objectSpread","paymentAuthForm","description","find","worker","_useFind","most_recent","queryConfig","placeholderData","undefined","clientNeedsData","clientNeeds","condition","showClientNeeds","validateOpenDate","date","openDate","Date","parseInt","maxDate","minDate","subtract","isNaN","getTime","error","console","createElement","onSubmit","validate","values","_errors$paymentAuthFo","_errors$paymentAuthFo2","_errors$paymentAuthFo3","errors","trim","opened_date","client_need","network","_paymentAuthForm$icd","amountRequested","serviceEnd","icd10Code","isCostBased","cmCodeRequired","cm_code_required_on_authorization","fieldErrors","primary_worker","mutators","setFieldTouched","args","_args3","touched","field","fields","render","_ref4","form","Fragment","subscription","className","style","marginLeft","program","_moveReferralMenus$fi","cannotMoveReasons","key","onClick","required","params","_extends","label","placeholder","options","labelKey","valueKey","validations","formValues","afterLabelContent","message","rows","inline","text","input","loadOptions","search","documentFields","propTypes","object","shape","string","array","number","func","defaultProps"],"sources":["../../../src/pages/builder/ReferralBuilderForm.js"],"sourcesContent":["import React, { useCallback, useEffect, useState } from 'react';\nimport { PropTypes } from 'prop-types';\nimport { Form, Field, FormSpy } from 'react-final-form';\nimport { get, isEmpty, isNil, uniqBy, upperFirst } from 'lodash';\nimport {\n DateField,\n TextField,\n SelectField,\n} from '@unite-us/ui';\nimport validateCostAmount from '../../utils/validateCostAmount';\nimport validateUnitAmount from '../../utils/validateUnitAmount';\nimport InfoPanel from '@unite-us/client-utils/dist/InfoPanel/InfoPanel';\nimport {\n isRequired,\n} from '@unite-us/client-utils/dist/utils/validations/validations';\nimport { feeSchedulePrograms as fspUtils } from '@unite-us/client-utils';\nimport moment from 'moment';\nimport { coreApi } from '../../api/config';\nimport { REFERRAL_PII_PHI_DESCRIPTION } from './constants';\nimport AuthorizationSubform from './AuthorizationSubform';\nimport ReferralProgramCard from './ReferralProgramCard';\nimport { FileUpload } from '../../common/form/FileUploadV2/FileUpload';\nimport {\n isUnlistedReferral,\n programIsOffPlatform,\n referralIsOON,\n referralIsGrouped,\n shouldShowNetworkSelect,\n filterNetworks,\n referralIsFunded,\n} from './utils';\nimport fetchPrimaryWorkers from '../../actions/Referral/fetchPrimaryWorkers';\nimport { useDebounce } from '../../utils/useDebounce';\nimport { useFeatureFlag } from '../../utils/useFeatureFlag';\nimport { cannotMoveToReferralReasons } from '../../actions/Referral/cannotMoveToReferralReasons';\nimport ContactDocumentsSelector from '../../common/form/DocumentUploader/components/ContactDocumentsSelector'\nimport { useFind } from '../../api/ApiHooks';\nimport './ReferralBuilderForm.scss';\n\nexport function ReferralBuilderForm({\n crtb1239AdaptDraftReferralFlow,\n currentEmployee,\n currentProvider,\n hasDraftReferral,\n navigateToAddResources,\n referral,\n referrals,\n index,\n referralSubtitle,\n onChange,\n unselected,\n removeProgram,\n onSetForm,\n moveToNewReferral,\n moveToExistingReferral,\n updateAttachments,\n source,\n networksUnlistedProgram,\n setReferralErrors,\n referralDescription,\n expandReferralsCard,\n person,\n}) {\n const { service, programs, primaryWorker, attachments, attachableDocuments } = referral;\n const [moveReferralMenus, setMoveReferralMenus] = useState({});\n const [uploadedFiles, setUploadedFiles] = useState(attachments);\n const [primaryWorkers, setPrimaryWorkers] = useState(primaryWorker ? [primaryWorker] : []);\n const [initialValues, setInitialValues] = useState(referral);\n const [query, setQuery] = useState('');\n const debouncedQuery = useDebounce(query, 500);\n\n const [rejectedFiles, setRejectedFiles] = useState({\n filesTooBig: [],\n filesWrongType: [],\n filesTooBigAndWrongType: [],\n });\n const isOON = referralIsOON(referral);\n const isGrouped = referralIsGrouped(referral);\n const isFunded = referralIsFunded(referral)\n const referralTitle = `Referral ${index + 1}: ${service?.name}${isGrouped ? ', Grouped' : ''}${isOON ? ', Off-Platform' : ''}${isFunded ? ', Funded' : ''}`;\n const crtb824AddOpenCloseDateOffPlatformCase = useFeatureFlag('crtb824AddOpenCloseDateOffPlatformCase', false);\n const crtb854ForwardingSuperset = useFeatureFlag('crtb854ForwardingSuperset', false);\n const featureFlagClientNeeds = useFeatureFlag('crtb1788ClientNeeds', false);\n const showOpenedDate = isOON && crtb824AddOpenCloseDateOffPlatformCase;\n const today = moment().startOf('day').unix();\n\n // If all the programs in the referral are unlisted, show the user provider networks\n const networks = isUnlistedReferral(referral) ? networksUnlistedProgram : filterNetworks(referral);\n const showNetworkSelect = shouldShowNetworkSelect(networks, programs);\n\n const onProgramClick = (id) => {\n const programMenus = moveReferralMenus.map((p) => {\n if (p.id === id) {\n p.menuIsOpen = !p.menuIsOpen;\n } else {\n p.menuIsOpen = false;\n }\n return p;\n });\n\n setMoveReferralMenus(programMenus);\n };\n\n const getPrimaryWorkers = useCallback(async () => {\n const { primary_workers } = await fetchPrimaryWorkers({\n providerId: referral.sendingProvider.id,\n currentEmployee,\n query: debouncedQuery,\n });\n\n // if the query is empty, keep the queried employees and the current primary worker in select field's options array\n isEmpty(query) ?\n setPrimaryWorkers(uniqBy([...primaryWorkers, ...primary_workers, (primaryWorker && primaryWorker)], 'id')) :\n setPrimaryWorkers(primary_workers);\n }, [currentEmployee, referral.sendingProvider.id, debouncedQuery]);\n\n const feeScheduleProgram = get(programs, '[0].fee_schedule_program');\n\n const initializePaymentFormValues = useCallback(async () => {\n if (referral.state === \"draft\" && feeScheduleProgram?.authorization_required) {\n const kase = await coreApi.findRecord('case', referral.case?.id);\n const kaseData = kase?.data?.data;\n const kaseServiceAuthorization = await coreApi.findRecord('service_authorization', kaseData?.service_authorization?.id);\n const kaseServiceAuthorizationData = kaseServiceAuthorization?.data?.data;\n \n const clinicalModifications = kaseServiceAuthorizationData?.clinical_modifications;\n let clinicalModificationData = null;\n \n if (clinicalModifications && clinicalModifications.length > 0) {\n const clinicalModification = await coreApi.findRecord('clinical_modifications', clinicalModifications[0].id);\n clinicalModificationData = clinicalModification?.data?.data;\n }\n\n const isUnitBased = !fspUtils.isCostPaymentType(feeScheduleProgram?.payment_type);\n const amountRequestedInitialValue = isUnitBased ? \n kaseServiceAuthorizationData?.requested_unit_amount :\n kaseServiceAuthorizationData?.requested_cents / 100;\n\n const paymentAuthFormValues = {\n amount_requested: amountRequestedInitialValue,\n service_end: moment(kaseServiceAuthorizationData?.requested_ends_at).unix(),\n service_start: moment(kaseServiceAuthorizationData?.requested_starts_at).unix(),\n icd10_code: !isEmpty(clinicalModificationData) ? {\n value: clinicalModificationData.code, \n id: clinicalModificationData.id,\n } : {},\n }\n\n setInitialValues((previousValues) => {\n const initialValues = {\n ...previousValues,\n case: {\n ...previousValues.case,\n service_authorization: {\n ...previousValues.case?.service_authorization,\n ...kaseServiceAuthorizationData,\n }\n },\n paymentAuthForm: {\n ...previousValues.paymentAuthForm,\n ...paymentAuthFormValues,\n }\n };\n if (crtb854ForwardingSuperset && referralDescription) {\n initialValues.description = referralDescription;\n }\n return initialValues;\n });\n }\n }, [referral.case?.id, referral.state, feeScheduleProgram?.payment_type, feeScheduleProgram?.authorization_required]);\n\n useEffect(() => {\n if (isOON) {\n getPrimaryWorkers();\n }\n }, [getPrimaryWorkers, isOON]);\n\n useEffect(() => {\n const programMenus = programs.map((p) => ({ id: p.id, menuIsOpen: false }));\n setMoveReferralMenus(programMenus);\n }, [programs]);\n\n useEffect(() => {\n setInitialValues({\n ...referral,\n ...((isNil(referral.primaryWorker) && isOON) ?\n { primaryWorker: primaryWorkers.find((worker) => worker.id === currentEmployee.id) } :\n null\n ),\n ...(crtb854ForwardingSuperset && referralDescription) ? { referralDescription } : {},\n })\n }, [primaryWorkers, currentEmployee.id, index, isOON, referral, referralDescription]);\n\n useEffect(() => {\n if (!isEmpty(uploadedFiles)) {\n updateAttachments(uploadedFiles);\n }\n }, [uploadedFiles]);\n\n useEffect(() => {\n initializePaymentFormValues();\n }, [initializePaymentFormValues]);\n \n const { data: clientNeedsData } = useFind(\n `people/${person.id}/person_condition`,\n {\n most_recent: true,\n },\n {\n queryConfig: {\n placeholderData: undefined,\n },\n },\n );\n const clientNeeds = clientNeedsData?.data?.data?.map(condition => ({ \n name: upperFirst(condition?.name), \n id: condition?.id \n })) ?? [];\n \n const showClientNeeds = featureFlagClientNeeds && !isEmpty(clientNeeds);\n\n const validateOpenDate = (date) => { \n try {\n const openDate = new Date(parseInt(date) * 1000);\n const maxDate = new Date(parseInt(today) * 1000);\n const minDate = new Date(moment().subtract(1, 'year').unix() * 1000);\n \n return (isNaN(openDate.getTime()) || openDate.getTime() < minDate || openDate.getTime() > maxDate) ? false : true;\n } catch (error) {\n console.error('Error validating open date', error);\n return false;\n }\n }\n\n return (\n <Form\n initialValues={initialValues}\n onSubmit={() => { }}\n validate={(values) => {\n const errors = {};\n if (!values.description || values.description.trim() === '') { errors.description = \"Required\" };\n if (showOpenedDate) {\n if (!values.opened_date) {\n errors.opened_date = \"Required\"\n } else if (!validateOpenDate(values.opened_date)) {\n errors.opened_date = \"Invalid date\";\n }\n }\n if (showClientNeeds && !isEmpty(clientNeeds) && !values.client_need) { errors.client_need = \"Required\" };\n if (isOON && !values.primaryWorker) { errors.primaryWorker = \"Required\" };\n if (showNetworkSelect && !values.network) { errors.network = \"Required\" };\n\n const paymentAuthForm = values?.paymentAuthForm;\n\n if (feeScheduleProgram?.authorization_required) {\n errors.paymentAuthForm = {}\n const amountRequested = paymentAuthForm?.amount_requested;\n const serviceEnd = paymentAuthForm?.service_end;\n const icd10Code = paymentAuthForm?.icd10_code?.value;\n const isCostBased = fspUtils.isCostPaymentType(feeScheduleProgram.payment_type);\n const cmCodeRequired = feeScheduleProgram.cm_code_required_on_authorization;\n\n errors.paymentAuthForm.amount_requested = isCostBased ? validateCostAmount(amountRequested) : validateUnitAmount(amountRequested);\n errors.paymentAuthForm.service_end = serviceEnd ? undefined : 'Required';\n errors.paymentAuthForm.icd10_code = icd10Code || !cmCodeRequired ? undefined : 'Required';\n } else {\n errors.paymentAuthForm = undefined;\n }\n const fieldErrors = {\n description: !!errors.description,\n opened_date: !!errors.opened_date,\n client_need: !!errors.client_need,\n primary_worker: !!errors.primaryWorker,\n network: !!errors.network,\n service_end: !!errors?.paymentAuthForm?.service_end,\n amount_requested: !!errors?.paymentAuthForm?.amount_requested,\n icd10_code: !!errors?.paymentAuthForm?.icd10_code\n }\n setReferralErrors(index, fieldErrors);\n return errors;\n }}\n mutators={{\n setFieldTouched: (args, state) => {\n const [name, touched] = args;\n const field = state.fields[name];\n if (field) {\n field.touched = !!touched;\n }\n }\n }}\n render={({ form, values }) => {\n onSetForm && onSetForm(form);\n return (\n <>\n <FormSpy\n subscription={{ values: true }}\n onChange={onChange}\n />\n <div className={\"bg-white border border-solid border-blue-border rounded md:w-4/6 lg:w-4/6\"} style={{ marginLeft: expandReferralsCard && '-7.5rem'}}>\n <div className=\"p-5 bg-dark-fill-blue\">\n <h2 className=\"text-xl font-black mb-1\">\n {referralTitle}\n </h2>\n <h3>\n {referralSubtitle}\n </h3>\n </div>\n <div className=\"p-5\">\n {isOON ? (\n <div className=\"bg-alert-yellow border border-solid border-canary-yellow rounded p-3 mb-5\">\n <p className=\"text-brand-blue\">\n You need to contact these programs directly because\n they're not receiving referrals on the Unite Us Platform.\n </p>\n </div>\n ) : null}\n <h5 className=\"text-sm ui-form-field__label\">PROGRAMS</h5>\n {programs.map((program) => {\n const menuIsOpen = isEmpty(moveReferralMenus) ? false : moveReferralMenus?.find((p) => p.id === program.id)?.menuIsOpen;\n\n const cannotMoveReasons = {}\n unselected.map((i) => {\n return cannotMoveReasons[i] = cannotMoveToReferralReasons({ program, referral, referrals, index: i, currentProvider })\n })\n\n return (\n <ReferralProgramCard\n key={`referral-program-${program?.id}-card`}\n program={program}\n onClick={onProgramClick}\n isOON={programIsOffPlatform(program)}\n menuIsOpen={menuIsOpen}\n unselected={unselected}\n referral={referral}\n removeProgram={removeProgram}\n moveToNewReferral={moveToNewReferral}\n moveToExistingReferral={moveToExistingReferral}\n cannotMoveReasons={cannotMoveReasons}\n />\n );\n })}\n <p className=\"text-center text-dark-grey my-10\">\n Click on the three-dot icon to edit referral groupings.\n {crtb1239AdaptDraftReferralFlow && hasDraftReferral ? (\n <div>\n To add more programs, go to the <a onClick={navigateToAddResources}>Add Resources</a> page.\n </div>\n ) : null}\n </p>\n\n {showNetworkSelect ? (\n <div className=\"mb-10\">\n <Field\n name=\"network\"\n required\n key={`referral-${index}-network`}\n >\n {(params) => (\n <SelectField\n required\n id=\"network-selection\"\n label=\"Network Selection\"\n placeholder=\"Choose one...\"\n options={networks}\n labelKey=\"name\"\n valueKey=\"id\"\n validations={isRequired}\n {...params}\n />\n )}\n </Field>\n </div>\n ) : null}\n\n {feeScheduleProgram?.authorization_required && (\n <AuthorizationSubform \n feeScheduleProgram={feeScheduleProgram}\n formValues={values}\n setReferralErrors={(errors) => setReferralErrors(index, errors)} \n />\n )}\n\n <Field\n name=\"description\"\n required\n key={`referral-${index}-description`}\n >\n {(params) => (\n <TextField\n afterLabelContent={(\n <InfoPanel\n className=\"mb-4 mt-2\"\n message={REFERRAL_PII_PHI_DESCRIPTION}\n />\n )}\n id=\"referral-description\"\n label=\"Referral Description\"\n placeholder=\"Describe your client's current situation and reason for referral.\"\n rows={3}\n inline={false}\n validations={isRequired}\n required\n style={source === 'emr' && get(params, 'meta.touched') && !get(params, 'meta.valid') ? { text: { 'border-color': 'red' } } : {}}\n {...params}\n />\n )}\n </Field>\n\n { showOpenedDate && (\n <Field\n name=\"opened_date\"\n required\n key={`opened-${index}-date`}\n >\n {(params) => (\n <DateField\n required\n id=\"opened-date\"\n label=\"Open date\"\n validations={validateOpenDate(params.input.value)}\n minDate={moment().subtract(1, 'year').unix()}\n maxDate={today}\n style={source === 'emr' && get(params, 'meta.touched') && !get(params, 'meta.valid') ? { text: { 'border-color': 'red' } } : {}}\n {...params}\n />\n )}\n </Field>) }\n\n {isOON ? (\n <Field\n name=\"primaryWorker\"\n required\n key={`referral-${index}-primary-worker`}\n >\n {(params) => (\n <SelectField\n required\n id=\"primary-worker\"\n label=\"Primary Worker\"\n placeholder=\"Choose one...\"\n loadOptions={(search) => setQuery(search)}\n options={primaryWorkers}\n labelKey=\"full_name\"\n valueKey=\"id\"\n validations={isRequired}\n {...params}\n />\n )}\n </Field>\n ) : null}\n\n {showClientNeeds && !isEmpty(clientNeeds) && (\n <>\n <p className=\"mb-4 mt-2 text-dark-blue\">Select the identified need from the client’s screening or assessment that relates to this referral.</p>\n <Field\n name=\"client_need\"\n required\n key={`associated-${index}-need`}\n >\n {(params) => (\n <SelectField\n required\n id=\"client_need\"\n label=\"Associated Need\"\n placeholder=\"Choose one...\"\n options={clientNeeds}\n labelKey=\"name\"\n valueKey=\"id\"\n validations={isRequired}\n {...params}\n />\n )}\n </Field>\n </>\n )}\n\n {attachableDocuments && (\n <div className=\"upload-documents\">\n <h5>Documents</h5>\n <ContactDocumentsSelector documentFields={attachableDocuments} />\n </div>\n )}\n\n {/* Attachment area */}\n <FileUpload\n rejectedFiles={rejectedFiles}\n setRejectedFiles={setRejectedFiles}\n setUploadedFiles={setUploadedFiles}\n uploadedFiles={attachments || []}\n />\n </div>\n </div>\n </>\n )}}\n />\n )\n}\n\nReferralBuilderForm.propTypes = {\n currentEmployee: PropTypes.object.isRequired,\n currentProvider: PropTypes.object.isRequired,\n referral: PropTypes.shape({\n service: PropTypes.shape({\n name: PropTypes.string.isRequired,\n }).isRequired,\n programs: PropTypes.array.isRequired,\n }).isRequired,\n index: PropTypes.number.isRequired,\n referralSubtitle: PropTypes.string,\n onChange: PropTypes.func.isRequired,\n unselected: PropTypes.array,\n removeProgram: PropTypes.func.isRequired,\n moveToNewReferral: PropTypes.func.isRequired,\n moveToExistingReferral: PropTypes.func.isRequired,\n onSetForm: PropTypes.func.isRequired,\n setReferralErrors: PropTypes.func.isRequired,\n}\n\nReferralBuilderForm.defaultProps = {\n referralSubtitle: '',\n unselected: [],\n}\n\nexport default ReferralBuilderForm;\n"],"mappings":"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","ignoreList":[]}
|