{"version":3,"sources":["assets/img/physician-bill-pay.png","assets/img/background.jpeg","assets/img/Ventra-logo.png","assets/docs/AuthForm.pdf","assets/img/physician-bill-pay-light.png","assets/img/phone-icon.png","assets/img/mail-icon.png","assets/img/pin-icon.png","utilities.js","components/common/custom-hooks/useMaterialSubmitButton/useMaterialSubmitButton.js","components/common/custom-hooks/useLanguage/es.js","components/common/custom-hooks/useLanguage/useLanguage.js","components/common/IOSSwitch.js","components/common/SubmitButton.js","constants/brandColor.js","lib/theme.js","components/common/UserInformation.js","components/common/MaterialSimpleModal.js","components/common/LanguageDropdown.js","lib/AuthService.js","components/common/PrivateRoute.js","components/common/FormTextField.js","components/common/FormSelect/FormSelect.jsx","components/common/PBPTable/EmptyTablePlaceholder.jsx","components/Account/Account/AccountStyles.js","components/common/PBPTable/MobilePBPTableAlternative/MobilePBPTableAlternative.jsx","components/Account/Account/PayButton/PayButton.jsx","components/Account/Account/PayAmountField/PayAmountField.jsx","components/Account/Account/InsuranceInfoButton/InsuranceInfoButton.jsx","components/common/PBPTable/PBPTable.jsx","components/common/MoneyCell/MoneyCell.jsx","components/common/LanguageTranslator.js","components/common/DataCard/DataCard.jsx","components/common/ScrollToTop/ScrollToTop.jsx","components/common/lib/regex.js","components/common/lib/functions/formValidators.js","components/Forms/FormsStyles.js","components/Forms/Forms.js","components/DOBField/index.js","components/Login/LoginStyles.js","components/Login/Login.js","components/Header/HeaderStyles.js","components/Header/Header.js","components/SideNav/SideNavStyles.js","components/SideNav/SideNav.js","components/Contact/ContactStyles.js","components/Contact/Contact.js","components/Paperless/PaperlessStyles.js","components/Paperless/Paperless.js","components/EmailConfirmation/EmailConfirmationStyles.js","components/EmailConfirmation/EmailConfirmation.js","components/Inquiry/InquiryStyles.js","components/Inquiry/Inquiry.js","components/Account/PayBill/PayBillStyles.js","components/Account/PayBill/IncDialog.js","components/Account/PayBill/data.js","components/Account/PayBill/PayBill.js","components/Account/PayBill/ConfirmPaymentStyles.js","components/Account/PayBill/ConfirmPayment.js","components/Account/History/HistoryStyles.js","components/Account/History/History.js","components/Account/Account/AccountCard/AccountCard.js","components/Account/Account/AccountCard/CardLabel.jsx","components/Account/Account/PatientDetailsCard/PatientDetailsCardStyles.jsx","components/Account/Account/PatientDetailsCard/PatientDetailsCard.jsx","components/Account/Account/InsuranceCard/InsuranceCard.jsx","components/Account/Account/FilterInvoicesSelectMenu/FilterInvoicesSelectMenu.jsx","components/Account/Account/Account.js","components/FAQ/FAQStyles.js","components/FAQ/FAQ.js","AppStyle.js","App.js","reducers/User.js","reducers/Account.js","reducers/Transaction.js","reducers/Language.js","reducers/PayInvoices.js","reducers/index.js","store.js","serviceWorker.js","index.js"],"names":["module","exports","formatMoney","amount","decimalCount","decimal","thousands","Math","abs","isNaN","negativeSign","i","parseInt","Number","toFixed","toString","j","length","substr","replace","slice","formatZip","valueStr","zip","match","groups","isEmail","emailText","test","isNonProductionEnv","URL","document","location","href","includes","setTabTitle","appendStr","title","TITLE_BASE","API_BASE","selectAPI_BASE","PayNowText","styled","span","props","loading","useMaterialSubmitButton","initialState","useState","disabled","state","setState","startLoading","endLoading","actions","MaterialSubmitButton","children","buttonProps","Button","variant","color","type","CircularProgress","size","es","Year","Login","Phone","All","Charge","Open","DOB","Invoice","Address","Adjustments","Balance","Amount","Cancel","Charges","City","Male","Female","Self","Spouse","Child","Other","Employment","Illness","Description","Email","Employer","here","Patient","Invoices","Logout","Close","Outstanding","Mail","Month","Message","Name","Country","Pay","Reset","Responsibility","Proceed","Required","Save","State","Subject","Update","January","February","March","April","May","June","July","August","September","October","November","December","useLanguagePreference","createPersistedState","useLanguage","languagePreference","language","setLanguage","getLanguageText","useCallback","text","undefined","useEffect","IOSSwitch","withStyles","theme","root","width","height","padding","margin","spacing","switchBase","palette","common","white","backgroundColor","opacity","border","thumb","grey","track","borderRadius","transition","transitions","create","checked","focusVisible","classes","Switch","focusVisibleClassName","disableRipple","SubmitButton","BrandColor","createMuiTheme","primary","main","dark","50","100","200","300","400","500","600","700","800","900","secondary","background","default","divider","UserInformationWrapper","div","UserInformation","User","hidePayButton","showLabelOnly","id","style","displayAccountNumber","balance","to","inCollections","collectionBalance","makeStyles","paper","position","boxShadow","shadows","outline","LanguageWrapper","LanguageLabel","label","LanguageDropdown","setLanguagePreference","htmlFor","marginRight","value","onChange","e","target","AuthService","this","getProfile","bind","token","getToken","isTokenExpired","jwtDecode","exp","Date","now","err","sessionStorage","setItem","getItem","removeItem","response","status","error","Error","statusText","PrivateRouteWithRouter","withRouter","Component","component","history","clearData","componentProps","rest","auth","expireID","setInterval","alert","logout","push","clearInterval","isLoggedIn","render","connect","dispatch","FormTextField","form","field","TextField","Boolean","touched","name","errors","helperText","FormSelect","data","Select","map","item","MenuItem","key","code","FormHelperText","PlaceholderWrapper","tr","MessageWrappper","td","EmptyTablePlaceholder","ComponentWhenDataEmpty","colSpan","React","cloneElement","UserInformationRows","InsuranceButtonWrapper","AccountDetailContainer","ContentArea","AccountDetailsContent","showMobileNav","Row","DataCard","DTContainer","MobileContainer","Container","String","mobileViewMaxWidth","MobileDataCard","MobilePBPTableAlternative","rows","prepareRow","columns","mobileProps","row","getRowProps","display","flexDirection","maxWidth","cells","cell","getCellProps","alignItems","justifyContent","marginBottom","fontWeight","column","Header","isMobile","PayButton","marginTop","PayAmountField","globalDispatch","clientID","PayInvoices","invoiceID","isCollections","invoices","divisions","invoice","useRef","invoiceIDRef","payAmount","setPayAmount","formatAmount","invoiceAmount","window","current","maxConstraint","minConstraint","PaymentAmount","textAlign","placeholder","onFocus","onBlur","defaultProps","PayAmountFieldWithHOCs","useStyles","InsuranceInfoButton","className","Table","table","TableHeaderRow","TableRow","TableHeader","th","TableCell","PBPTable","emptyDataMessage","mobileRender","tableRender","setInsuranceDrawerOpen","setPrimaryInsuranceData","setSecondaryInsuranceData","setInsuranceInvoiceID","decodedJWT","columnsToUse","useMemo","accessor","Cell","values","sortDescFirst","dosFormatted","chargeTotal","insurancePaidTotal","patientPaidTotal","adjustmentsTotal","primaryInsurance","secondaryInsurance","disableSorting","onClick","balanceOwedTotal","responsibleParty","InquiryCommandID","minWidth","marginLeft","original","Infinity","useTable","sortBy","useSortBy","getTableProps","getTableBodyProps","headerGroups","cellSpacing","cellPadding","headerGroup","getHeaderGroupProps","headers","getHeaderProps","getSortByToggleProps","isSorted","isSortedDesc","icon","PayButtonWrapper","lastModifiedClientId","invoicesSum","toastr","MobileTable","MoneyCell","LanguageTranslator","ScrollToTop","pathname","useLocation","scrollTo","DOBRegex","accountNumberValidator","FormsContainer","DesktopContainer","MediaQueryAdobe","FormContent","setShowMobileNav","toggleMobileNav","require","rel","faFilePdf","replaceMaskWithLetter","letter","repeat","beforeMaskedValueChange","newState","split","month","day","year","join","fillInMaskWithLetters","selection","index","placeholderPositions","indexOf","filter","min","findFirstPlaceholderIndex","max","start","end","formatChars","n","m","d","z","y","MyComponent","alwaysShowMask","mask","maskChar","LoginContainer","src","LoginPanel","img","CertContainer","CertGroup","CertImage","PoweredBy","p","VentraGroup","VentraLogo","bg","setUser","user","setTimer","loginErrorMsg","setLoginErrorMsg","clear","removeToken","alt","onSubmit","Axios","get","accountNumber","lastName","then","setToken","user_token","catch","finally","setSubmitting","enableReinitialize","initialValues","fakeUsername","params","isValidating","isSubmitting","validate","honeypotValidator","composeValidators","requiredValidator","minLengthValidator","minLength","customMessage","trim","setFieldValue","autoComplete","autoFocus","regexValidator","regex","message","inputProps","cursor","open","onContextMenu","Link","referrerPolicy","MenuButton","Icon","HeaderBar","Logo","PrintLogo","faBars","SideNavContainer","ListContainer","classnames","endsWith","faFileMedicalAlt","faHistory","systemArea","faRecycle","faQuestionCircle","faPhoneAlt","faPaperclip","faUserShield","faSignOutAlt","PageTitle","h2","Divider","ContactContainer","EmailForm","AccountNumber","ContactGroup","InlineInputGroup","MessageTextArea","ContactContent","errorFormHelperText","email","setEmail","setMessage","submitState","submitActions","SubmitBtn","formErrors","setFormErrors","useEmail","facPhone","preventDefault","ID","requestBody","EncounterID","PatientEmail","Acct","PatEmail","post","Pragma","success","console","log","handleSubmit","FormControl","multiline","facName","facAddress","facCity","facState","facZipCode","PaperlessContainer","ValidatorForm","PaperlessContent","PrivacyLink","optInSlider","optInLabel","fontSize","heading","textVerbiage","lineHeight","setChecked","optedIn","setOptedIn","EmailAddress","Paperless","verifySave","onError","FormControlLabel","labelPlacement","control","styles","validators","errorMessages","Checkbox","ConfirmationView","ConfirmationContainer","ConfirmationHeader","ConfirmationBody","DetailsContainer","Detail","PayBillContent","PrintContainer","Transaction","faCheckCircle","faCheck","firstName","transactionID","transLog","moment","format","amountPosted","print","faPrint","LoadingDiv","GottliebGroup","GottliebLogo","InquiryWithRouter","guid","a","method","url","birthDateFormatted","empID","inquiryCommandID","fullDate","dataUser","startInquiry","PayBillContainer","ViewContainer","PayBillFormContainer","CardIconContainer","FlexDiv","DialogBody","IncDialogBody","IncDialogQContainer","setTransaction","transaction","setShowInquiryDialog","setValues","convertRegion","input","regions","concat","txt","charAt","toUpperCase","toLowerCase","Box","name_on_card","cardholder_billing_address_line_1","address","city","zipCode","country","Months","numCode","States","Countries","Years","TableFooterRow","GoBackButton","resetPayInvoices","hasLogoutTimerStart","showDialog","setShowDialog","showInquiryDialog","cvv","pay_amount","card_number","email_receipt","cardholder_billing_address_line_2","isBlocking","setIsBlocking","didPaymentSucceed","setDidPaymentSucceed","hasMonthError","hasYearError","hasStateError","hasCountryError","dropdownErrors","setDropdownErrors","required","setRequired","isPaymentHappening","setIsPaymentHappening","paidClientId","correctBalance","setInvoices","Object","keys","reduce","invoicesAccumulator","currInvoiceKey","InvoiceNumber","Sequence","prevState","prevValues","EmpID","getCardType","number","re","RegExp","updateValues","numbers","lastKey","idx","newVals","yearLabel","monthLabel","stateLabel","countryLabel","yearWidth","setYearWidth","stateWidth","setStateWidth","monthWidth","setMonthWidth","countryWidth","setCountryWidth","offsetWidth","when","hasError","showConfirmDialog","borderTop","faCcAmex","faCcDiscover","faCcMastercard","faCcVisa","InputLabel","ref","OutlinedInput","labelWidth","maxLength","goBack","Dialog","onClose","DialogTitle","model","CentricityGroup","centricityGroup","CentricityGID","centricityGID","CentricityDivisionClientID","hospAcctNbr","patientName","empId","patientEmail","middleName","mInitial","dateOfBirth","paymentAmount","phoneNumber","homePhone","ivrContactSessionID","sourceSystem","ApplicationName","ApplicationID","creditCard","cardholder_name","exp_date","specialpayment","paymentType","recurringType","SendCreditCardPaymentReceipt","billing_Address","street","state_province","zip_postal_code","phone","description","fullWidth","HistoryContainer","HistoryContent","FilterContainer","CalenderInputMobileContainer","CardListContainer","OpacityBlock","CalendarContainer","CalendarInputContainer","axios","timeout","baseURL","extendMoment","Moment","CalendarInput","onSelect","show","calendarInputContainerProps","faCalendar","selectedValue","showDateInput","History","filterDataByDate","AccountHistory","toFilterDate","fromFilterDate","range","historyInfo","h","contains","hisDate","resetFilters","displayfromFilterDate","displaytoFilterDate","add","date","isSorting","isLoading","lastSortField","loadState","reverse","sort","b","uuids","generateUUID","uuid","uuidv4","setAccountHistory","historyObj","sortOn","hist","formattedDate","align","hisAmt","actDesc","iPlan","calendarInputProps","update","AccountCardWrapper","AccountCard","legend","buttonsProps","isEditing","showFieldButtons","AccountCardRow","AccountCardRow2","Row2","CardLabel","labelID","labelSubject","AccountCardRow3","FieldSetButtonContainer","DualFieldSetButton","PatientDetailsCard","setIsEditing","guarantor","patientDetails","newAccountInfo","SystemName","systemName","LastName","FirstName","Guarantor","HomePhone","DateOfBirth","Sex","sex","EmploymentStatus","employmentStatus","AutoAccidentState","autoAccidentState","MaritalStatus","maritalStatus","patientCondition","ZipCode","DateOfService","dateOfService","charge","PmtPat","pmtPat","PmtInsco","pmtInsco","Adj","adj","Pins","pins","Sins","sins","payload","ReqAction","resetForm","dirty","states","find","obj","zipValidator","conditions","InsuranceCard","relationships","SELF","SPOUSE","CHILD","OTHER","getRelationshipToPatient","relationshipToPatient","ordinalNumberID","PlanName","planName","GroupID","groupID","PolicyID","policyID","CompanyAddress","companyAddress","CompanyCity","companyCity","CompanyState","companyState","CompanyZip","companyZip","RelationshipToPatient","InsuredFirstName","insuredFirstName","InsuredLastName","insuredLastName","InsuredSex","insuredSex","InsuredAddress","insuredAddress","InsuredCity","insuredCity","InsuredState","insuredState","InsuredZip","insuredZip","EmployerName","employerName","InsuredBirthDate","insuredBirthDate","reqAction","payloadName","relationship","BirthDate","isValid","diff","FilterInvoicesSelectMenu","DesktopWrapper","MobileExpansionPanel","ExpansionPanel","isInsuranceDrawerOpen","primaryInsuranceData","secondaryInsuranceData","insuranceInvoiceID","setDivisions","filterInvoiceBy","setFilterInvoiceBy","isInvoiceFilterShown","setIsInvoiceFilterShown","Auth","filteredDivisions","divisionA","divisionB","clientA","client","clientB","division","isSelfPay","isExpired","SwipeableDrawer","anchor","onOpen","alignSelf","paddingTop","textTransform","expirationMessage","DEFAULT_EXP_MESSAGE","ExpansionPanelSummary","expandIcon","top","zIndex","invoiceBalance","patientSelfPayBalance","ExpansionPanelDetails","alignItem","FAQContainer","FAQContent","FAQSet","q","faChevronDown","dangerouslySetInnerHTML","__html","FAQs","Q","A","FAQ","borderColor","Layout","LogoutContainer","LogoutHeader","LogoutContent","LogoutActions","cancel","App","timerKey","timerValue","cancelLogout","showLogout","logoutOnIdle","logoutOnIdleHappened","options","positionClass","Modernizr","flexbox","element","onIdle","debounce","InactivityTimeoutInMinutes","path","exact","Inquiry","PayBill","Forms","Contact","Account","ConfirmPayment","EmailConfirmation","AppWithRouter","HistoryPayload","combineReducers","action","AccountInfo","Info","primaryBirthDate","birthDate","secondaryBirthDate","Language","sumAccumulator","forEach","middleware","thunk","store","createStore","rootReducer","compose","applyMiddleware","__REDUX_DEVTOOLS_EXTENSION__","noop","hostname","ToRender","ThemeProvider","CssBaseline","library","faArrowUp","faArrowDown","faSave","faPencilAlt","faTimes","ReactDOM","getElementById","navigator","serviceWorker","ready","registration","unregister"],"mappings":"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","file":"static/js/main.eebdc63d.chunk.js","sourcesContent":["module.exports = __webpack_public_path__ + \"static/media/physician-bill-pay.ba3a124c.png\";","module.exports = __webpack_public_path__ + \"static/media/background.e6498a5a.jpeg\";","module.exports = \"data:image/png;base64,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\"","module.exports = __webpack_public_path__ + \"static/media/AuthForm.04f74e58.pdf\";","module.exports = __webpack_public_path__ + \"static/media/physician-bill-pay-light.ec7a9d34.png\";","module.exports = \"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAwAAAAPCAYAAADQ4S5JAAAACXBIWXMAAAsTAAALEwEAmpwYAAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8YQUAAAC0SURBVHgBjVELFcIwDAwomIRIAAeVgIQ5YBKQMAeAguFgEoaDSRgORgJ373Xdr/fe9TVJk0tSkTxUvByMpVFh18bPQsJoPBvfNMhL9CgYW9BjPQsPCPZQI8qkmLM7ogWF3Em28fTjYWygcIuCCuWA6jUDVdTjGrrYKGQ+cApNHdxGNkKGygw+1JDIX+W/Xt9ekSa4w4fjBwWZ/sFrSUWRNELtDp+rt3vtsXID7i5FkUjFX8IX7aU3mZ8cgd4AAAAASUVORK5CYII=\"","module.exports = \"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAA8AAAAMCAYAAAC9QufkAAAACXBIWXMAAAsTAAALEwEAmpwYAAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8YQUAAACXSURBVHgBpZLdDcIwDISPincYAUZggnYUNmCEegPYABiFSdINYAO4oAsqbvqj9qQvcmSfbUUBgJq8Z1CvFDTkjmnakCPZotUpkGrEWKkueb7HTcT4SnbOFKeclb+In9lc56DVok7k6TaznBkuGWQ0Tf/LF8grJvfkQQ66v3zRGv1qWqtnVWCBFpnT2iW6jzakMgWGed/TPlFvQNz4+C8TAAAAAElFTkSuQmCC\"","module.exports = \"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAA4AAAAYCAYAAADKx8xXAAAACXBIWXMAAAsTAAALEwEAmpwYAAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8YQUAAAD5SURBVHgBzVPREYIwDM3pAo7QFdygTgIbiBPIBo6AG3hOwLdfuAFsoE6AARN8LS391Hf37mja5D3SlOjX2DCPzJbZCxtmxTSxpIz5gASfw17hJ+3hQM20ok7yfYb9TJMMKJUURwnKY9FKAhW5/1oIDcRrFGhkYcEBNqcl17bGpgOKguaNKcDJGFt59lJ44qL1rG4CVo1ntRkUrxDUqjvmQbhldrKnV3HHKlObF+C7c9scQU7fEZxgE6oG1HJ/U1VPgUQdkgtFquro2YCbnhZeiF6+TosBiyUloJZrsTZrSAyG3HeJA5CEhUQbOrCOJHbMF/NGn0f8B3gDt5FomcvPMw8AAAAASUVORK5CYII=\"","export const formatMoney = (\r\n amount,\r\n decimalCount = 2,\r\n decimal = '.',\r\n thousands = ','\r\n) => {\r\n decimalCount = Math.abs(decimalCount);\r\n decimalCount = isNaN(decimalCount) ? 2 : decimalCount;\r\n const negativeSign = amount < 0 ? '-' : '';\r\n\r\n let i = parseInt(\r\n (amount = Math.abs(Number(amount) || 0).toFixed(decimalCount))\r\n ).toString();\r\n let j = i.length > 3 ? i.length % 3 : 0;\r\n\r\n return (\r\n negativeSign +\r\n (j ? i.substr(0, j) + thousands : '') +\r\n i.substr(j).replace(/(\\d{3})(?=\\d)/g, '$1' + thousands) +\r\n (decimalCount\r\n ? decimal +\r\n Math.abs(amount - i)\r\n .toFixed(decimalCount)\r\n .slice(2)\r\n : '')\r\n );\r\n};\r\n\r\nexport const formatZip = valueStr => {\r\n const zip = valueStr.match(/\\d/g);\r\n if (zip === null) {\r\n return '';\r\n } else if (zip.length <= 5) {\r\n const fiveDigitsOrLess = valueStr.match(/^\\d{0,5}/g)[0];\r\n return fiveDigitsOrLess;\r\n } else if (zip.length >= 6) {\r\n const groups = valueStr.match(/(\\d{5})-?(\\d{1,4})/);\r\n if (groups !== null) {\r\n return `${groups[1]}-${groups[2]}`;\r\n }\r\n }\r\n};\r\n\r\nexport const isEmail = emailText => {\r\n const emailRegex = /^[^\\s@]+@[^\\s@]+\\.[^\\s@]+$/;\r\n return emailRegex.test(emailText);\r\n};\r\n\r\nexport const isNonProductionEnv = () => {\r\n const URL = document.location.href;\r\n\r\n if (URL.includes('dev')) {\r\n return true;\r\n } else if (URL.includes('qa')) {\r\n return true;\r\n } else if (URL.includes('localhost')) {\r\n return true;\r\n } else if (URL.includes(':3000')) {\r\n return true;\r\n } else if (URL.includes('inquiry')) {\r\n return true;\r\n } else {\r\n return false;\r\n }\r\n};\r\n\r\n// TODO : when going to production will need to add live API_BASE\r\nconst selectAPI_BASE = () => {\r\n const URL = document.location.href;\r\n if (URL.includes('dev')) {\r\n return 'https://devapi.corp.physicianbillpay.com';\r\n } else if (URL.includes('qa')) {\r\n return 'https://qaapi.corp.physicianbillpay.com';\r\n } else if (URL.includes('localhost')) {\r\n return 'https://devapi.corp.physicianbillpay.com';\r\n } else if (URL.includes(':3000')) {\r\n return 'https://devapi.corp.physicianbillpay.com';\r\n } else if (\r\n URL.includes('mga-prd-physicianbillpay-web.azurewebsites.net') ||\r\n URL.includes('physicianbillpay.com')\r\n ) {\r\n return 'https://api.physicianbillpay.com';\r\n } else {\r\n return 'https://api.physicianbillpay.com';\r\n }\r\n};\r\nexport const TITLE_BASE = 'PhysicianBillPay';\r\nexport const setTabTitle = appendStr => {\r\n document.title = TITLE_BASE + ' - ' + appendStr;\r\n};\r\n// export const API_BASE = \"https://devapi.thedoctorbill.com\"; // \"http://10.77.2.4:4005\";\r\nexport const API_BASE = selectAPI_BASE();\r\nexport const safeCompare = (a, b) => JSON.stringify(a) === JSON.stringify(b);\r\n","import React, { useState } from 'react';\r\nimport styled from 'styled-components';\r\nimport { Button, CircularProgress } from '@material-ui/core';\r\nconst PayNowText = styled.span`\r\n margin-right: ${props => (props.loading ? '15px' : '0px')};\r\n`;\r\n\r\nexport const useMaterialSubmitButton = (initialState = {}) => {\r\n const [state, setState] = useState({\r\n loading: false,\r\n disabled: false,\r\n ...initialState\r\n });\r\n\r\n const startLoading = () => {\r\n setState({\r\n loading: true,\r\n disabled: true\r\n });\r\n };\r\n const endLoading = () => {\r\n setState({\r\n loading: false,\r\n disabled: false\r\n });\r\n };\r\n const actions = {\r\n startLoading,\r\n endLoading\r\n };\r\n\r\n const MaterialSubmitButton = ({\r\n children,\r\n loading,\r\n disabled,\r\n ...buttonProps\r\n }) => {\r\n return (\r\n \r\n {children}\r\n {loading ? : null}\r\n \r\n );\r\n };\r\n\r\n return [state, actions, MaterialSubmitButton];\r\n};\r\n","export const es = {\r\n 'Acct Number/Patient-Last Name/DOB':\r\n 'Numero de Cuenta/Apellido del Paciente/Fecha de Nacimiento',\r\n Year: 'Año',\r\n 'Invalid DOB': 'Fecha de Nacimiento Inválida',\r\n Login: 'Iniciar sesión',\r\n Phone: 'Teléfono',\r\n All: 'Todo',\r\n Charge: 'Cargo',\r\n Open: 'Abrir',\r\n 'Last Name': 'Apellido ',\r\n 'Invoice Number(s)': 'Número(s) de factura',\r\n 'Filter history by date': 'Filtrar historial por fecha',\r\n 'Filter Invoices': 'Filtrar Facturas',\r\n 'Enter a valid account number.': 'Ingrese un número de cuenta válido.',\r\n 'Account number requires 6 or more characters.':\r\n 'El número de cuenta requiere 6 o más caracteres.',\r\n 'Please enter the amount you would like to pay in the Pay Amount column, then click the Pay Button to continue.':\r\n 'Ingrese el monto que desea pagar en la columna Monto de pago, luego haga clic en el botón Pagar para continuar.',\r\n 'Your Email': 'Su Correo Electrónico',\r\n 'Account Number': 'Numero de Cuenta',\r\n 'Saved successfully. It may take up to one billing cycle for changes to be reflected.':\r\n 'Guardado exitosamente. Puede tomar hasta un ciclo de facturación para que se reflejen los cambios.',\r\n 'Saved successfully.': 'Guardado exitosamente.',\r\n DOB: 'Fecha de Nacimiento',\r\n 'My Invoices': 'Mis Facturas',\r\n Invoice: 'Factura',\r\n 'Date of Birth': 'Fecha de Nacimiento',\r\n 'Patient DOB': 'Fecha de Nacimiento del Paciente',\r\n 'Date of Service': 'Fecha de Servicio',\r\n 'Date(s) of Service': 'Fecha(s) de Servicio',\r\n 'You must enter an account number.': 'Debe ingresar un número de cuenta.',\r\n 'Enter Amount': 'Ingresar cantidad',\r\n 'Please enter an amount on one or more invoices to continue.':\r\n 'Ingrese un monto en una o más facturas para continuar.',\r\n 'Go Back': 'Volver',\r\n 'Invalid Login.': 'Ingreso Invalido',\r\n 'Account History': 'Historial de Cuenta',\r\n 'Account Information': 'Información de la Cuenta',\r\n 'Account Details': 'Detalles de la Cuenta',\r\n Address: 'Dirección',\r\n 'Was not able to process transaction.': 'No se pudo procesar la transacción',\r\n 'We were not able to save your updates.':\r\n 'No pudimos guardar tus actualizaciones.',\r\n 'Was not able to update account information at this time. Refresh or come back later.':\r\n 'No se pudo actualizar la información de la cuenta en este momento. Actualizar o volver más tarde.',\r\n 'Address Line 2': 'Dirección linea 2',\r\n Adjustments: 'Ajustes',\r\n 'Approval Code': 'Código de Aprobación',\r\n Balance: 'Saldo',\r\n 'Balance Owed': 'Saldo Adeudado',\r\n 'Balance in Collections': 'Saldo en Colecciones',\r\n 'Billing address must be 100 characters or less.':\r\n ' La dirección de facturación debe tener 100 caracteres o menos',\r\n 'By clicking Save you agree to our':\r\n 'Al hacer clic en \"Guardar\", acepta nuestra',\r\n 'privacy policy': 'política de privacidad',\r\n 'and to receive all future correspondence and statements via email.':\r\n 'y recibirá toda la correspondencia y declaraciones futuras por correo electrónico',\r\n 'Card Number': 'Número de tarjeta',\r\n Amount: 'Cantidad',\r\n Cancel: 'Cancelar',\r\n 'Cardholder Billing Address':\r\n 'Dirección de facturación del titular de la tarjeta',\r\n Charges: 'Cargos',\r\n City: 'Ciudad',\r\n 'Contact Us': 'Contáctenos',\r\n 'Current Balance': 'Saldo Actual',\r\n Male: 'Masculino',\r\n Female: 'Femenino',\r\n Self: 'Yo',\r\n Spouse: 'Esposo(a)',\r\n Child: 'Hijo',\r\n Other: 'Otro',\r\n 'Auto Accident': 'Accidente Automovilístico',\r\n Employment: 'Empleo',\r\n Illness: 'Enfermedad',\r\n 'Other Accident': 'Otro Accidente',\r\n 'Please Confirm Payment': 'Por favor confirme el pago',\r\n Description: 'Descripción',\r\n 'Date of Transaction': 'Fecha de Transacción',\r\n 'Date of Service': 'Fecha de Servicio',\r\n \"Don't have Adobe? Get it here.\": 'No tienes Adobe? Consiguelo aqui.',\r\n 'Patient Details': 'Detalles del Paciente',\r\n Email: 'Correo Electrónico',\r\n 'Email Reminder': 'Recordatorio por Correo Electrónico',\r\n 'Email Address': 'Dirección de Correo Electrónico',\r\n Employer: 'Empleador',\r\n \"Don't have Adobe?\": 'No tienes Adobe?',\r\n 'Get it': 'Consiguelo',\r\n here: 'aqui',\r\n 'File to Insurance': 'Presentar al seguro',\r\n 'Credit Card Payment': 'Pago con Tarjeta de Crédito',\r\n 'Patient Statement': 'Factura del Paciente',\r\n 'Filter History by date': 'Filtrar historial por fecha',\r\n 'Frequently Asked Questions': 'Preguntas Frecuentes',\r\n 'From Date': 'Partir de la Fecha',\r\n 'Group ID': 'Identificación del grupo',\r\n 'Guarantor Name': 'Nombre de la persona encargada',\r\n 'I understand changes may take up to one billing cycle.':\r\n 'Entiendo que los cambios pueden tomar hasta un ciclo de facturación',\r\n 'If Auto Accident / State': 'Si, accidente automovilístico / Estado',\r\n 'If this is correct please click proceed.':\r\n 'Si esto es correcto, haga clic en continuar',\r\n 'Insurance Forms': 'Formularios de Seguros',\r\n 'Insurance Pending': 'Seguro pendiente',\r\n 'Total Balance': 'Balance Total',\r\n 'Patient Due': 'Paciente debido',\r\n Patient: 'Paciente',\r\n 'Insurance Payments': 'Pagos de Seguros',\r\n 'Insurance Details': 'Detalles del seguro',\r\n 'All Invoices': 'Todas las facturas',\r\n 'No Invoices to Display': 'No hay facturas para mostrar',\r\n 'No Invoices Found to make Payment.':\r\n 'No se encontraron facturas para realizar el pago.',\r\n Invoices: 'Facturas',\r\n 'Ins. Paid': 'Pagos de seguros',\r\n 'Patient Paid': 'Pagos de paciente',\r\n 'Insurance Payment(s)': 'Pago(s) de Seguros',\r\n 'Insurance Provider': 'Proveedor de Seguros',\r\n \"Insured's First Name\": 'Nombre del Asegurado',\r\n \"Insured's Last Name\": 'Apellido del Asegurado',\r\n \"Insured's Sex\": 'Sexo del Asegurado',\r\n \"Insured's Address\": 'Dirección del Asegurado',\r\n \"Insured's Employer\": 'Empleador del asegurado',\r\n Logout: 'Cerrar la sesion',\r\n Close: 'Cerrar',\r\n 'Minimum Amount': 'Cantidad Minima',\r\n Outstanding: 'Pendientes',\r\n 'Outstanding Invoices': 'Facturas pendientes',\r\n Mail: 'Correo',\r\n Month: 'Mes',\r\n Message: 'Mensaje',\r\n 'Account Information': 'Información de la cuenta',\r\n 'My Account': 'Mi Cuenta',\r\n Name: 'Nombre',\r\n 'Name on Card': 'Nombre en la Tarjeta',\r\n 'Opt-in': 'Optar En',\r\n 'Other Amount': 'Otra Cantidad',\r\n Country: 'País',\r\n Pay: 'Pagar',\r\n 'Patient Forms': 'Formularios de pacientes',\r\n 'Patient Name': 'Nombre del Paciente',\r\n 'Patient Payments': 'Pagos de Paciente',\r\n 'Patient Payment(s)': 'Pago(s) de Paciente',\r\n 'Patient Relationship to Insured': 'Relación del Paciente con el Asegurado',\r\n 'Patient Services': 'Servicios al Paciente',\r\n 'Pay Amount': 'Cantidad a Pagar',\r\n 'Pay Now': 'Pagar Ahora',\r\n Reset: 'Reiniciar',\r\n Responsibility: 'Responsabilidad',\r\n 'Payment Confirmation': 'Confirmación de pago',\r\n 'Please accept that this change may take one billing cycle.':\r\n 'Acepte que este cambio puede llevar un ciclo de facturación',\r\n 'Please email me a copy of my receipt.':\r\n 'Por favor envíeme una copia de mi recibo por correo electrónico.',\r\n 'Please enter a valid email address.':\r\n 'Por favor, introduce una dirección de correo electrónico válida.',\r\n 'Please make sure all required fields \"*\" are completed.':\r\n 'Asegúrese de completar todos los campos requeridos \"*\"',\r\n 'Please select a month.': 'Por favor seleccione un mes.',\r\n 'Please select a year.': 'Por favor seleccione un año.',\r\n 'Please select a state.': 'Por favor seleccione un estado.',\r\n 'Please select a country.': 'Por favor seleccione un pais.',\r\n 'Please wait while we load data...':\r\n 'Por favor espere mientras cargamos datos ...',\r\n 'Policy ID': 'Número de identificación de la póliza',\r\n 'Primary Insurance': 'Seguro Primario',\r\n 'Print Receipt': 'Imprima el recibo',\r\n 'Privacy Policy': 'Política de privacidad',\r\n Proceed: 'Proceder',\r\n 'Required Field': 'Campo requerido',\r\n Required: 'Requerido',\r\n Save: 'Guardar',\r\n 'Secondary Insurance': 'Seguro secundario',\r\n 'Sorry message was not sent, please try again.':\r\n 'Lo sentimos, el mensaje no fue enviado, por favor intente nuevamente.',\r\n State: 'Estado',\r\n Subject: 'Asunto',\r\n 'Submitted Successfully.': 'Enviado satisfactoriamente',\r\n 'To Date': 'Hasta la fecha',\r\n 'Transaction Amount': 'Cantidad de transacción',\r\n 'Transaction Date': 'Fecha de Transacción',\r\n 'Transaction ID': 'ID de transacción',\r\n 'Type of Visit': 'Tipo de visita',\r\n Update: 'Actualizar',\r\n 'You are about to charge your credit card $5.00. If this is correct please click proceed':\r\n 'Está a punto de cobrarle a su tarjeta de crédito $ 5.00. Si esto es correcto, haga clic en continuar',\r\n 'You are about to navigate away from this page that has unsaved changes. Click OK to continue.':\r\n 'Estás a punto de navegar lejos de esta página que tiene cambios sin guardar. Haga clic en OK para continuar .',\r\n 'Your payment was made successfully': 'Su pago se realizó con éxito.',\r\n 'You are about to charge your credit card':\r\n 'Está a punto de cobrarle a su tarjeta de crédito',\r\n 'Zip Code': 'Código Postal',\r\n 'Not a valid zip code': 'No es un código postal válido',\r\n 'Zip code should be 5 or 9 digits.':\r\n 'El código postal debe tener 5 o 9 dígitos.',\r\n January: 'Enero',\r\n February: 'Febrero',\r\n March: 'Marzo',\r\n April: 'Abril',\r\n May: 'Mayo',\r\n June: 'Junio',\r\n July: 'Julio',\r\n August: 'Agosto',\r\n September: 'Septiembre',\r\n October: 'Octubre',\r\n November: 'Noviembre',\r\n December: 'Diciembre',\r\n 'mm/dd/yyyy': 'mm/dd/aaaa'\r\n};\r\n","import { useState, useEffect, useCallback } from 'react';\r\nimport { es } from './es';\r\nimport createPersistedState from 'use-persisted-state';\r\n\r\nconst useLanguagePreference = createPersistedState('language-preference');\r\n\r\nexport const useLanguage = () => {\r\n const [languagePreference] = useLanguagePreference('en');\r\n const [language, setLanguage] = useState(languagePreference);\r\n\r\n const getLanguageText = useCallback(\r\n text => {\r\n if (language === 'en') {\r\n return text;\r\n } else if (language === 'es') {\r\n return es[text] !== undefined ? es[text] : text;\r\n }\r\n },\r\n [language]\r\n );\r\n\r\n useEffect(() => {\r\n setLanguage(languagePreference);\r\n }, [languagePreference]);\r\n return { getLanguageText, language };\r\n};\r\n","import React from 'react';\r\nimport { Switch, withStyles } from '@material-ui/core';\r\nexport const IOSSwitch = withStyles(theme => ({\r\n root: {\r\n width: 42,\r\n height: 26,\r\n padding: 0,\r\n margin: theme.spacing(1)\r\n },\r\n switchBase: {\r\n padding: 1,\r\n '&$checked': {\r\n color: theme.palette.common.white,\r\n '& + $track': {\r\n backgroundColor: '#52d869',\r\n opacity: 1,\r\n border: 'none'\r\n }\r\n },\r\n '&$focusVisible $thumb': {\r\n color: '#52d869',\r\n border: '6px solid #fff'\r\n }\r\n },\r\n thumb: {\r\n width: 24,\r\n height: 24,\r\n backgroundColor: theme.palette.grey[300]\r\n },\r\n track: {\r\n borderRadius: 26 / 2,\r\n border: `1px solid ${theme.palette.grey[500]}`,\r\n backgroundColor: theme.palette.grey[500],\r\n opacity: 1,\r\n transition: theme.transitions.create(['background-color', 'border'])\r\n },\r\n checked: {},\r\n focusVisible: {}\r\n}))(({ classes, ...props }) => {\r\n return (\r\n \r\n );\r\n});\r\n","import React from 'react';\r\nimport { Button, CircularProgress } from '@material-ui/core';\r\nexport const SubmitButton = ({ loading, children, ...props }) => {\r\n return (\r\n \r\n );\r\n};\r\n","export const BrandColor = {\r\n ACCENT: '#f15e22',\r\n TEXT: '#222723',\r\n WARNING: '#f3ad2e',\r\n PRIMARY: '#34668b',\r\n SECONDARY: '#89bcd9',\r\n DISABLED: '#939598',\r\n DANGER: '#a51818'\r\n};\r\n","import { createMuiTheme } from '@material-ui/core/styles';\r\nimport { BrandColor } from 'constants/brandColor';\r\nexport const theme = createMuiTheme({\r\n palette: {\r\n primary: {\r\n main: BrandColor.PRIMARY,\r\n dark: 'rgb(44, 86, 118)',\r\n 50: '#c8dbea',\r\n 100: '#b6d0e4',\r\n 200: '#9dc0da',\r\n 300: '#7dabce',\r\n 400: '#518fbe',\r\n 500: BrandColor.PRIMARY,\r\n 600: '#2c5676',\r\n 700: '#264965',\r\n 800: '#203e55',\r\n 900: '#1b3549'\r\n },\r\n secondary: {\r\n main: BrandColor.SECONDARY,\r\n 50: '#e3eff6',\r\n 100: '#daeaf3',\r\n 200: '#cde3ef',\r\n 300: '#bdd9ea',\r\n 400: '#a6cce2',\r\n 500: BrandColor.SECONDARY,\r\n 600: '#61a5cc',\r\n 700: '#3f91c1',\r\n 800: '#357ca4',\r\n 900: '#2d69bc'\r\n },\r\n text: {\r\n primary: BrandColor.TEXT\r\n },\r\n background: {\r\n default: 'rgb(242, 242, 242)'\r\n },\r\n divider: '#0002'\r\n }\r\n});\r\n","import React from 'react';\r\nimport styled from 'styled-components';\r\nimport { isNonProductionEnv, formatMoney } from '../../utilities';\r\nimport { Button, Typography as Label } from '@material-ui/core';\r\nimport { Link } from 'react-router-dom';\r\nimport { useLanguage } from '.';\r\nimport { theme } from 'lib/theme';\r\n\r\nconst UserInformationWrapper = styled.div`\r\n display: flex;\r\n height: 58px;\r\n max-height: 58px;\r\n padding: 28px 15px;\r\n align-items: center;\r\n justify-content: space-between;\r\n border-bottom: 2px solid ${theme.palette.divider};\r\n .MuiButtonBase-root {\r\n background-color: #abab25;\r\n }\r\n a {\r\n text-decoration: none;\r\n }\r\n p {\r\n font-weight: 500;\r\n }\r\n button {\r\n margin-left: 10px;\r\n white-space: nowrap;\r\n color: black;\r\n }\r\n @media screen and (min-width: 890px) {\r\n padding: 10px 15px;\r\n button {\r\n white-space: nowrap;\r\n color: black;\r\n &:hover {\r\n color: white;\r\n background-color: #415463;\r\n }\r\n }\r\n }\r\n`;\r\n\r\nexport const UserInformation = ({\r\n User,\r\n hidePayButton = false,\r\n showLabelOnly = false,\r\n ...props\r\n}) => {\r\n const { getLanguageText } = useLanguage();\r\n return (\r\n \r\n \r\n\r\n {!hidePayButton && User && User.balance >= 5 && !showLabelOnly && (\r\n \r\n \r\n \r\n )}\r\n {!hidePayButton &&\r\n User &&\r\n User.inCollections &&\r\n User.collectionBalance >= 5 &&\r\n !showLabelOnly && (\r\n \r\n \r\n \r\n )}\r\n {!hidePayButton && showLabelOnly && !User.inCollections && (\r\n \r\n )}\r\n {!hidePayButton && showLabelOnly && User.inCollections && (\r\n \r\n )}\r\n \r\n );\r\n};\r\n","import React, { useState } from 'react';\r\nimport { makeStyles } from '@material-ui/core/styles';\r\nimport Modal from '@material-ui/core/Modal';\r\n\r\nfunction getModalStyle() {\r\n const top = 50;\r\n const left = 50;\r\n\r\n return {\r\n top: `${top}%`,\r\n left: `${left}%`,\r\n transform: `translate(-${top}%, -${left}%)`\r\n };\r\n}\r\nconst useStyles = makeStyles(theme => ({\r\n paper: {\r\n position: 'absolute',\r\n width: 400,\r\n backgroundColor: theme.palette.background.paper,\r\n boxShadow: theme.shadows[5],\r\n padding: theme.spacing(4),\r\n outline: 'none'\r\n }\r\n}));\r\n\r\nconst MaterialSimpleModal = props => {\r\n const [modalStyle] = useState(getModalStyle);\r\n const classes = useStyles();\r\n\r\n return (\r\n \r\n
\r\n {props.children}\r\n
\r\n
\r\n );\r\n};\r\n\r\nexport { MaterialSimpleModal };\r\n","import React from 'react';\r\nimport styled from 'styled-components';\r\nimport createPersistedState from 'use-persisted-state';\r\nconst useLanguagePreference = createPersistedState('language-preference');\r\n\r\nconst LanguageWrapper = styled.div`\r\n @media print {\r\n display: none;\r\n }\r\n`;\r\nconst LanguageLabel = styled.label`\r\n display: none;\r\n @media screen and (min-width: 960px) {\r\n display: inline;\r\n }\r\n`;\r\nconst LanguageDropdown = ({ ...props }) => {\r\n const [languagePreference, setLanguagePreference] = useLanguagePreference(\r\n 'en'\r\n );\r\n return (\r\n \r\n \r\n Site Language:\r\n \r\n setLanguagePreference(e.target.value)}\r\n id=\"language-selection-box\"\r\n >\r\n \r\n \r\n \r\n \r\n );\r\n};\r\n\r\nexport { LanguageDropdown };\r\n","import jwtDecode from 'jwt-decode';\r\nexport default class AuthService {\r\n // Initializing important variables\r\n constructor() {\r\n this.getProfile = this.getProfile.bind(this);\r\n }\r\n\r\n isLoggedIn() {\r\n // Checks if there is a saved token and it's still valid\r\n const token = this.getToken(); // Getting token from sessionStorage\r\n return !!token && !this.isTokenExpired(token); // handwaiving here\r\n }\r\n\r\n isTokenExpired(token) {\r\n try {\r\n const decoded = jwtDecode(token);\r\n if (decoded.exp < Date.now() / 1000) {\r\n // Checking if token is expired.\r\n return true;\r\n } else return false;\r\n } catch (err) {\r\n return false;\r\n }\r\n }\r\n\r\n setToken(token) {\r\n // Saves user token to sessionStorage\r\n sessionStorage.setItem('token', token);\r\n }\r\n\r\n getToken() {\r\n // Retrieves the user token from sessionStorage\r\n return sessionStorage.getItem('token');\r\n }\r\n removeToken() {\r\n sessionStorage.removeItem('token');\r\n }\r\n\r\n logout() {\r\n // Clear user token and profile data from sessionStorage\r\n sessionStorage.removeItem('token');\r\n }\r\n\r\n getProfile() {\r\n // Using jwt-decode npm package to decode the token\r\n return jwtDecode(this.getToken());\r\n }\r\n\r\n _checkStatus(response) {\r\n // raises an error in case response status is not a success\r\n if (response.status >= 200 && response.status < 300) {\r\n // Success status lies between 200 to 300\r\n return response;\r\n } else {\r\n var error = new Error(response.statusText);\r\n error.response = response;\r\n throw error;\r\n }\r\n }\r\n}\r\n","import React, { useEffect } from 'react';\r\nimport { Route, Redirect, withRouter } from 'react-router-dom';\r\nimport AuthService from '../../lib/AuthService';\r\nimport { connect } from 'react-redux';\r\n\r\nconst PrivateRoute = ({\r\n component: Component,\r\n history,\r\n clearData,\r\n componentProps,\r\n ...rest\r\n}) => {\r\n const auth = new AuthService();\r\n useEffect(() => {\r\n const expireID = setInterval(() => {\r\n if (auth.isTokenExpired(auth.getToken())) {\r\n alert('Your session has expired, please log back in to continue.');\r\n auth.logout();\r\n clearData();\r\n history.push('/');\r\n }\r\n }, 1000);\r\n return () => {\r\n clearInterval(expireID);\r\n };\r\n }, [history, clearData, auth]);\r\n if (auth.isLoggedIn()) {\r\n return (\r\n {\r\n return ;\r\n }}\r\n />\r\n );\r\n } else if (auth.getToken() && auth.isTokenExpired(auth.getToken())) {\r\n alert('Your session has expired, please log back in to continue.');\r\n return ;\r\n } else {\r\n return ;\r\n }\r\n};\r\nconst PrivateRouteWithRouter = withRouter(PrivateRoute);\r\n// export { PrivateRouteWithRouter as PrivateRoute };\r\n\r\nconst mapDispatchToProps = dispatch => ({\r\n clearData: () => dispatch({ type: 'CLEAR_DATA' })\r\n});\r\n\r\nexport default connect(\r\n null,\r\n mapDispatchToProps\r\n)(PrivateRouteWithRouter);\r\n","import React from 'react';\r\nimport { TextField } from '@material-ui/core';\r\nimport { useLanguage } from '.';\r\nexport const FormTextField = ({ form, field, label, style = {}, ...props }) => {\r\n const { getLanguageText } = useLanguage();\r\n return (\r\n
\r\n

{label}

\r\n \r\n
\r\n );\r\n};\r\n","import React from 'react';\r\nimport { FormHelperText, Select, MenuItem } from '@material-ui/core';\r\nimport { useLanguage } from '..';\r\nexport const FormSelect = ({ field, form, data, label, style, ...props }) => {\r\n const { getLanguageText } = useLanguage();\r\n\r\n return (\r\n
\r\n

{label}

\r\n \r\n {data.map(item => {\r\n return (\r\n \r\n {getLanguageText(item.name)}\r\n \r\n );\r\n })}\r\n \r\n {Boolean(form.touched[field.name] && form.errors[field.name]) && (\r\n \r\n {form.touched[field.name] && form.errors[field.name]}\r\n \r\n )}\r\n
\r\n );\r\n};\r\n","import React from 'react';\r\nimport styled from 'styled-components';\r\nconst PlaceholderWrapper = styled.tr`\r\n height: 200px;\r\n`;\r\nconst MessageWrappper = styled.td`\r\n background: lightgray;\r\n text-align: center;\r\n font-size: 24px;\r\n`;\r\nexport const EmptyTablePlaceholder = ({\r\n ComponentWhenDataEmpty,\r\n colSpan,\r\n ...props\r\n}) => {\r\n return (\r\n \r\n \r\n {React.cloneElement(ComponentWhenDataEmpty, {})}\r\n \r\n \r\n );\r\n};\r\n","import styled from 'styled-components';\r\n\r\nconst UserInformationRows = styled.div`\r\n padding: 24px 15px;\r\n @media screen and (min-width: 890px) {\r\n padding: 10px 15px;\r\n button {\r\n white-space: nowrap;\r\n }\r\n }\r\n`;\r\nconst InsuranceButtonWrapper = styled.div`\r\n display: flex;\r\n justify-content: flex-end;\r\n @media screen and (min-width: 890px) {\r\n justify-content: center;\r\n width: 100%;\r\n }\r\n`;\r\nconst AccountDetailContainer = styled.div`\r\n display: flex;\r\n height: 100%;\r\n min-height: 100vh;\r\n`;\r\n\r\nconst ContentArea = styled.div`\r\n display: flex;\r\n height: auto;\r\n min-height: 100vh;\r\n flex-direction: column;\r\n`;\r\n\r\nconst AccountDetailsContent = styled.div`\r\n position: ${props => (props.showMobileNav === true ? 'absolute' : 'static')};\r\n display: flex;\r\n flex-direction: column;\r\n width: 100%;\r\n height: 100%;\r\n background-color: white;\r\n legend {\r\n line-height: 0;\r\n }\r\n fieldset {\r\n border-radius: 5px;\r\n height: 100%;\r\n }\r\n\r\n a {\r\n text-decoration: none;\r\n }\r\n`;\r\n\r\nconst Row = styled.div`\r\n display: flex;\r\n flex-direction: column;\r\n .account-card {\r\n margin: 0 0 24px 0;\r\n }\r\n\r\n @media screen and (min-width: 890px) {\r\n flex-direction: row;\r\n flex: 2 0 0;\r\n width: 100%;\r\n margin: 0 0 24px 0;\r\n .account-card {\r\n margin: 0 24px 0 0;\r\n }\r\n }\r\n`;\r\nconst LoadingContainer = styled.div`\r\n top: 0;\r\n bottom: 0;\r\n left: 200px;\r\n right: 200px;\r\n display: flex;\r\n position: absolute;\r\n align-items: center;\r\n justify-content: center;\r\n flex-direction: column-reverse;\r\n height: 100vh;\r\n width: 100%;\r\n\r\n p {\r\n font-size: 24px;\r\n white-space: nowrap;\r\n }\r\n`;\r\nconst Divider = styled.div`\r\n height: 2px;\r\n background: grey;\r\n margin-bottom: 12px;\r\n`;\r\n\r\nconst OpacityBlock = styled.div`\r\n position: absolute;\r\n left: 200px;\r\n right: 200px;\r\n top: 0;\r\n bottom: 0;\r\n display: flex;\r\n align-items: center;\r\n justify-content: center;\r\n flex-direction: column-reverse;\r\n p {\r\n font-size: 24px;\r\n white-space: nowrap;\r\n }\r\n`;\r\n\r\nconst DataCard = styled.div`\r\n display: flex;\r\n flex-direction: column;\r\n padding: 10px 15px;\r\n margin-bottom: 10px;\r\n border-radius: 5px;\r\n background-color: rgb(243, 242, 241);\r\n border: 1px solid rgba(0, 0, 0, 0.5);\r\n div {\r\n display: flex;\r\n align-items: center;\r\n justify-content: space-between;\r\n }\r\n\r\n div:last-child {\r\n display: block;\r\n margin-top: 10px;\r\n }\r\n\r\n p {\r\n font-size: 16px;\r\n font-weight: 500;\r\n }\r\n`;\r\nconst CardListContainer = styled.div`\r\n display: flex;\r\n flex-direction: column;\r\n justify-content: space-between;\r\n margin-top: 15px;\r\n`;\r\nconst DTContainer = styled.div``;\r\nconst MobileContainer = styled.div`\r\n display: flex;\r\n flex-direction: column;\r\n padding: 10px 5px;\r\n width: 100%;\r\n height: 100%;\r\n`;\r\nconst HistoryContent = styled.div`\r\n ${DTContainer} {\r\n display: none;\r\n }\r\n\r\n @media screen and (min-width: 960px) {\r\n ${DTContainer} {\r\n display: flex;\r\n flex-direction: column;\r\n }\r\n\r\n ${MobileContainer} {\r\n display: none;\r\n }\r\n }\r\n`;\r\n\r\nexport {\r\n AccountDetailsContent,\r\n Row,\r\n ContentArea,\r\n AccountDetailContainer,\r\n UserInformationRows,\r\n LoadingContainer,\r\n InsuranceButtonWrapper,\r\n Divider,\r\n MobileContainer,\r\n OpacityBlock,\r\n DataCard,\r\n CardListContainer,\r\n HistoryContent,\r\n DTContainer\r\n};\r\n","import React from 'react';\r\nimport styled from 'styled-components';\r\nimport { DataCard } from 'components/Account/Account/AccountStyles';\r\n\r\nconst Container = styled.div`\r\n display: none;\r\n @media screen and (max-width: ${props =>\r\n String(props.mobileViewMaxWidth + 'px')}) {\r\n display: flex;\r\n flex-direction: column;\r\n align-items: center;\r\n width: 100%;\r\n }\r\n`;\r\nconst MobileDataCard = styled(DataCard)`\r\n &:nth-child(odd) {\r\n background-color: rgb(243, 242, 241);\r\n }\r\n &:nth-child(even) {\r\n background: white;\r\n }\r\n`;\r\nexport const MobilePBPTableAlternative = ({\r\n rows,\r\n columns,\r\n prepareRow,\r\n mobileProps,\r\n mobileViewMaxWidth,\r\n ...props\r\n}) => {\r\n return (\r\n \r\n {rows.map(\r\n (row, i) =>\r\n prepareRow(row) || (\r\n \r\n {row.cells.map(cell => {\r\n return (\r\n \r\n {\r\n \r\n {cell.column.Header}:\r\n \r\n }\r\n {React.cloneElement(cell.render('Cell'), {\r\n isMobile: true,\r\n style: {}\r\n })}\r\n \r\n );\r\n })}\r\n \r\n )\r\n )}\r\n \r\n );\r\n};\r\n","import React from 'react';\r\nimport { Button } from '@material-ui/core';\r\n\r\nexport const PayButton = ({ children, ...props }) => {\r\n return (\r\n \r\n );\r\n};\r\n","import React, { useState, useEffect, useRef } from 'react';\r\nimport { connect } from 'react-redux';\r\nconst PayAmountField = ({\r\n globalDispatch,\r\n clientID,\r\n PayInvoices,\r\n invoiceID,\r\n style,\r\n isCollections,\r\n ...props\r\n}) => {\r\n const invoices = PayInvoices.divisions[clientID]?.invoices || {}\r\n const invoice = useRef(invoices[invoiceID] || null);\r\n const invoiceIDRef = useRef(invoiceID);\r\n const [payAmount, setPayAmount] = useState('');\r\n const formatAmount = amount => {\r\n return String(Number(amount).toFixed(2));\r\n };\r\n useEffect(() => {\r\n const invoiceAmount = Number(\r\n window.sessionStorage.getItem(invoiceIDRef.current)\r\n );\r\n\r\n if (invoiceAmount >= props.maxConstraint) {\r\n setPayAmount(formatAmount(props.maxConstraint));\r\n } else if (invoiceAmount <= props.minConstraint) {\r\n setPayAmount('');\r\n } else {\r\n setPayAmount(\r\n formatAmount(\r\n (invoice && invoice.current && invoice.current.PaymentAmount) ||\r\n invoiceAmount\r\n )\r\n );\r\n }\r\n }, [props.minConstraint, props.maxConstraint]);\r\n useEffect(() => {\r\n if (payAmount) {\r\n globalDispatch({\r\n type: 'ADD_PAY_INVOICE',\r\n clientID,\r\n invoiceID,\r\n payAmount: payAmount,\r\n isCollections\r\n });\r\n }\r\n }, [payAmount, invoiceID, clientID, globalDispatch, isCollections]);\r\n useEffect(() => {\r\n globalDispatch({\r\n type: 'SUM_PAY_INVOICES',\r\n clientID\r\n });\r\n }, [payAmount, globalDispatch, clientID]);\r\n return (\r\n {\r\n const { value } = e.target;\r\n\r\n // [^0-9\\.] - Checks whether the value is not a number or a period\r\n // /\\.{2,}/g - Checks if the value has two or more dots, only want to allow one dot\r\n if (\r\n // eslint-disable-next-line no-useless-escape\r\n /[^0-9\\.]/.test(value) ||\r\n (value.match(/\\./g) && value.match(/\\./g).length >= 2) ||\r\n value.match(/\\d+\\.\\d{3,}/) ||\r\n /^0\\d$/.test(value)\r\n ) {\r\n return;\r\n } else if (Number(value) > props.maxConstraint) {\r\n setPayAmount(String(props.maxConstraint));\r\n } else {\r\n setPayAmount(value);\r\n }\r\n }}\r\n onFocus={() => {\r\n globalDispatch({\r\n type: 'SET_LAST_MODIFIED',\r\n clientID\r\n });\r\n }}\r\n onBlur={() => {\r\n if (Number(payAmount) >= Number(props.maxConstraint)) {\r\n setPayAmount(formatAmount(props.maxConstraint));\r\n } else if (Number(payAmount) <= props.minConstraint) {\r\n setPayAmount(formatAmount(0));\r\n } else {\r\n setPayAmount(formatAmount(payAmount));\r\n }\r\n window.sessionStorage.setItem(invoiceID, formatAmount(payAmount));\r\n }}\r\n />\r\n );\r\n};\r\nconst mapStateToProps = state => {\r\n return {\r\n PayInvoices: state.PayInvoices\r\n };\r\n};\r\nconst mapDispatchToProps = dispatch => {\r\n return {\r\n globalDispatch: dispatch\r\n };\r\n};\r\n\r\nPayAmountField.defaultProps = {\r\n style: {},\r\n minConstraint: 0,\r\n maxConstraint: 0\r\n};\r\nconst PayAmountFieldWithHOCs = connect(\r\n mapStateToProps,\r\n mapDispatchToProps\r\n)(PayAmountField);\r\nexport { PayAmountFieldWithHOCs as PayAmountField };\r\n","import React from 'react';\r\nimport { Button } from '@material-ui/core';\r\nimport { makeStyles } from '@material-ui/styles';\r\n\r\nconst useStyles = makeStyles({\r\n root: {\r\n padding: '6px 8px'\r\n }\r\n});\r\n\r\nexport const InsuranceInfoButton = ({ children, ...props }) => {\r\n const classes = useStyles();\r\n return (\r\n \r\n );\r\n};\r\n","import React, { useMemo } from 'react';\r\nimport { useTable, useSortBy } from 'react-table';\r\nimport toastr from 'toastr';\r\nimport { FontAwesomeIcon } from '@fortawesome/react-fontawesome';\r\nimport { EmptyTablePlaceholder } from './EmptyTablePlaceholder';\r\nimport styled from 'styled-components';\r\nimport { MobilePBPTableAlternative } from './MobilePBPTableAlternative/MobilePBPTableAlternative';\r\nimport { PayButton } from 'components/Account/Account/PayButton/PayButton';\r\nimport { PayAmountField } from 'components/Account/Account/PayAmountField/PayAmountField';\r\nimport { Field } from 'formik';\r\nimport { MoneyCell, useLanguage } from '..';\r\nimport { InsuranceInfoButton } from 'components/Account/Account/InsuranceInfoButton/InsuranceInfoButton';\r\nimport { InsuranceButtonWrapper } from 'components/Account/Account/AccountStyles';\r\nimport { formatMoney } from 'utilities';\r\nimport { connect } from 'react-redux';\r\n\r\nconst Table = styled.table`\r\n display: none;\r\n width: 100%;\r\n border: 1px solid black;\r\n max-width: 1200px;\r\n width: 100%;\r\n margin: 0 auto;\r\n @media screen and (min-width: ${props =>\r\n String(props.mobileViewMaxWidth + 1 + 'px')}) {\r\n display: table;\r\n }\r\n @media print {\r\n display: block;\r\n }\r\n`;\r\nconst TableHeaderRow = styled.tr`\r\n background-color: gray;\r\n text-align: left;\r\n`;\r\nconst TableRow = styled.tr`\r\n &:nth-child(odd) {\r\n background-color: lightgrey;\r\n }\r\n`;\r\nconst TableHeader = styled.th`\r\n color: #fff;\r\n border-left: 1px solid black;\r\n &:last-child {\r\n border-right: 1px solid black;\r\n }\r\n`;\r\nconst TableCell = styled.td`\r\n border-left: 1px solid black;\r\n width: auto;\r\n &:last-child {\r\n border-right: 1px solid black;\r\n }\r\n`;\r\n\r\nexport const PBPTable = ({\r\n data,\r\n columns,\r\n clientID,\r\n emptyDataMessage,\r\n ComponentWhenDataEmpty,\r\n mobileViewMaxWidth,\r\n mobileRender,\r\n tableRender,\r\n style,\r\n mobileProps,\r\n setInsuranceDrawerOpen,\r\n setPrimaryInsuranceData,\r\n setSecondaryInsuranceData,\r\n setInsuranceInvoiceID,\r\n decodedJWT,\r\n PayInvoices,\r\n globalDispatch,\r\n history,\r\n hidePayButton,\r\n children,\r\n ...props\r\n}) => {\r\n\r\n const { getLanguageText, language } = useLanguage();\r\n const columnsToUse = useMemo(() => columns || [\r\n {\r\n Header: getLanguageText('Invoice'),\r\n accessor: 'invoiceID',\r\n Cell: data => {\r\n const { invoiceID } = data.row.values;\r\n return (\r\n \r\n {data.cell.value}\r\n \r\n );\r\n }\r\n },\r\n {\r\n Header: getLanguageText(\r\n 'Date(s) of Service'\r\n ),\r\n accessor: 'dosFormatted',\r\n sortDescFirst: true,\r\n Cell: data => {\r\n const {\r\n dosFormatted,\r\n invoiceID\r\n } = data.row.values;\r\n \r\n return (\r\n \r\n {data.cell.value}\r\n \r\n );\r\n }\r\n },\r\n {\r\n Header: getLanguageText('Charge'),\r\n accessor: 'chargeTotal',\r\n Cell: data => {\r\n const {\r\n invoiceID,\r\n chargeTotal\r\n } = data.row.values;\r\n \r\n return (\r\n \r\n {data.cell.value}\r\n \r\n );\r\n }\r\n },\r\n {\r\n Header: getLanguageText('Ins. Paid'),\r\n accessor: 'insurancePaidTotal',\r\n Cell: data => {\r\n const {\r\n invoiceID,\r\n insurancePaidTotal\r\n } = data.row.values;\r\n \r\n return (\r\n \r\n {data.cell.value}\r\n \r\n );\r\n }\r\n },\r\n {\r\n Header: getLanguageText('Patient Paid'),\r\n accessor: 'patientPaidTotal',\r\n Cell: data => {\r\n const {\r\n invoiceID,\r\n patientPaidTotal\r\n } = data.row.values;\r\n \r\n return (\r\n \r\n {data.cell.value}\r\n \r\n );\r\n }\r\n },\r\n {\r\n Header: getLanguageText('Adjustments'),\r\n accessor: 'adjustmentsTotal',\r\n Cell: data => {\r\n const {\r\n invoiceID,\r\n adjustmentsTotal\r\n } = data.row.values;\r\n return (\r\n \r\n {data.cell.value}\r\n \r\n );\r\n }\r\n },\r\n {\r\n Header: getLanguageText(\r\n 'Responsibility'\r\n ),\r\n accessor: 'responsibleParty',\r\n Cell: data => {\r\n const { invoiceID } = data.row.values;\r\n return (\r\n \r\n {getLanguageText(data.cell.value)}\r\n \r\n );\r\n }\r\n },\r\n {\r\n Header: getLanguageText(\r\n 'Insurance Details'\r\n ),\r\n id: 'insuranceDetails',\r\n accessor: ({\r\n primaryInsurance,\r\n secondaryInsurance\r\n }) => {\r\n return {\r\n primaryInsurance,\r\n secondaryInsurance\r\n };\r\n },\r\n disableSorting: true,\r\n Cell: data => {\r\n const {\r\n primaryInsurance,\r\n secondaryInsurance\r\n } = data.row.values[\r\n 'insuranceDetails'\r\n ];\r\n const { invoiceID } = data.row.values;\r\n return (\r\n \r\n {\r\n setInsuranceDrawerOpen(true);\r\n setPrimaryInsuranceData(\r\n primaryInsurance\r\n );\r\n setSecondaryInsuranceData(\r\n secondaryInsurance\r\n );\r\n setInsuranceInvoiceID(\r\n invoiceID\r\n );\r\n }}\r\n id={`${data.row.values.invoiceID}-insurance-info-button`}\r\n >\r\n {language === 'en'\r\n ? 'Ins. Info'\r\n : getLanguageText(\r\n 'Insurance Details'\r\n )}\r\n \r\n \r\n );\r\n }\r\n },\r\n {\r\n Header: getLanguageText('Balance'),\r\n accessor: 'balanceOwedTotal',\r\n Cell: data => {\r\n const {\r\n invoiceID,\r\n balanceOwedTotal,\r\n responsibleParty\r\n } = data.row.values;\r\n if (\r\n responsibleParty ===\r\n 'Payment Pending'\r\n ) {\r\n return (\r\n \r\n );\r\n } else {\r\n return (\r\n \r\n {balanceOwedTotal}\r\n \r\n );\r\n }\r\n }\r\n },\r\n {\r\n Header: getLanguageText('Pay Amount'),\r\n id: 'payAmount',\r\n Cell: data => {\r\n const {\r\n balanceOwedTotal,\r\n invoiceID\r\n } = data.row.values;\r\n \r\n if (\r\n balanceOwedTotal <= 0 &&\r\n decodedJWT.InquiryCommandID !== '2'\r\n ) {\r\n return null;\r\n }\r\n \r\n return (\r\n \r\n {({ field, form }) => {\r\n return (\r\n \r\n \r\n \r\n );\r\n }}\r\n \r\n );\r\n }\r\n }\r\n ], []);\r\n\r\n\r\n const {\r\n getTableProps,\r\n getTableBodyProps,\r\n headerGroups,\r\n rows,\r\n prepareRow\r\n } = useTable(\r\n {\r\n columns: columnsToUse,\r\n data: data,\r\n initialState: {\r\n sortBy: [\r\n {\r\n id: \"dosFormatted\"\r\n }\r\n ]\r\n }\r\n },\r\n useSortBy,\r\n );\r\n\r\n return (\r\n
\r\n {tableRender(\r\n
\r\n \r\n \r\n {headerGroups.map(headerGroup => (\r\n \r\n {headerGroup.headers.map(column => (\r\n // Add the sorting props to control sorting. For this example\r\n // we can add them into the header props\r\n \r\n {column.render('Header')}\r\n {/* Add a sort direction indicator */}\r\n \r\n {column.isSorted === true &&\r\n (column.isSortedDesc ? (\r\n \r\n ) : (\r\n \r\n ))}\r\n \r\n \r\n ))}\r\n \r\n ))}\r\n \r\n \r\n {rows.length > 0 ? (\r\n rows.map(\r\n (row, i) =>\r\n prepareRow(row) || (\r\n \r\n {row.cells.map(cell => {\r\n return (\r\n \r\n {cell.render('Cell')}\r\n \r\n );\r\n })}\r\n \r\n )\r\n )\r\n ) : (\r\n \r\n )}\r\n {children}\r\n \r\n \r\n {!hidePayButton && \r\n {\r\n if (\r\n (PayInvoices?.divisions[clientID] && PayInvoices.divisions[clientID].invoicesSum <= 0) ||\r\n (PayInvoices?.divisions[clientID] && !PayInvoices.divisions[clientID].invoicesSum)\r\n ) {\r\n toastr.error(\r\n language === 'en'\r\n ? 'Please enter an amount on one or more invoices to continue.'\r\n : 'Ingrese un monto en una o màs facturas para continuar.'\r\n );\r\n } else {\r\n // We need to process the invoices for different divisions separately, so set the client to be paid\r\n globalDispatch({\r\n type: 'SET_PAID_CLIENT',\r\n clientID\r\n });\r\n // Then navigate to the pay page\r\n history.push('/Account/Pay');\r\n }\r\n }}\r\n >\r\n {`${getLanguageText('Pay Now')} `}\r\n \r\n $\r\n {(PayInvoices?.divisions[clientID]?.invoicesSum &&\r\n formatMoney(PayInvoices?.divisions[clientID]?.invoicesSum.toFixed(2))) ||\r\n formatMoney(0)}\r\n \r\n \r\n \r\n }\r\n
\r\n )}\r\n {mobileRender(\r\n <>\r\n \r\n {!hidePayButton && {\r\n if (\r\n (PayInvoices?.divisions[clientID] && PayInvoices.divisions[clientID].invoicesSum <= 0) ||\r\n (PayInvoices?.divisions[clientID] && !PayInvoices.divisions[clientID].invoicesSum)\r\n ) {\r\n toastr.error(\r\n language === 'en'\r\n ? 'Please enter an amount on one or more invoices to continue.'\r\n : 'Ingrese un monto en una o màs facturas para continuar.'\r\n );\r\n } else {\r\n // We need to process the invoices for different divisions separately, so set the client to be paid\r\n globalDispatch({\r\n type: 'SET_PAID_CLIENT',\r\n clientID\r\n });\r\n // Then navigate to the pay page\r\n history.push('/Account/Pay');\r\n }\r\n }}\r\n >\r\n {`${getLanguageText('Pay Now')} `}\r\n \r\n $\r\n {(PayInvoices?.divisions[clientID]?.invoicesSum &&\r\n formatMoney(PayInvoices?.divisions[clientID]?.invoicesSum.toFixed(2))) ||\r\n formatMoney(0)}\r\n \r\n }\r\n \r\n )}\r\n \r\n
\r\n );\r\n};\r\n\r\nPBPTable.defaultProps = {\r\n ComponentWhenDataEmpty:

No Records To Display

,\r\n style: {},\r\n mobileProps: {},\r\n mobileViewMaxWidth: 100,\r\n mobileRender: MobileTable => {\r\n return React.cloneElement(MobileTable, {});\r\n },\r\n tableRender: Table => {\r\n return React.cloneElement(Table, {});\r\n }\r\n};\r\n\r\nconst PayButtonWrapper = styled.div`\r\n display: none;\r\n\r\n @media screen and (min-width: 901px) {\r\n display: flex;\r\n justify-content: flex-end;\r\n }\r\n`;\r\n\r\n\r\nconst mapStateToProps = state => {\r\n return {\r\n PayInvoices: state.PayInvoices\r\n };\r\n};\r\n\r\nconst mapDispatchToProps = dispatch => {\r\n return {\r\n globalDispatch: dispatch\r\n };\r\n};\r\n\r\nexport default connect(\r\n mapStateToProps, \r\n mapDispatchToProps\r\n)(PBPTable);","import React from 'react';\r\nimport { formatMoney } from '../../../utilities';\r\nexport const MoneyCell = ({ children, style, id, ...props }) => {\r\n return (\r\n \r\n ${formatMoney(children)}\r\n \r\n );\r\n};\r\n","import { useLanguage } from '.';\r\nimport createPersistedState from 'use-persisted-state';\r\nconst useLanguagePreference = createPersistedState('language-preference');\r\nexport const LanguageTranslator = props => {\r\n const [language] = useLanguagePreference('en');\r\n const { getLanguageText } = useLanguage(language);\r\n return props.children({ getLanguageText });\r\n};\r\n","import styled from 'styled-components';\r\n\r\nexport const DataCard = styled.div`\r\n display: flex;\r\n flex-direction: column;\r\n margin-bottom: 10px;\r\n border-radius: 5px;\r\n background-color: rgb(243, 242, 241);\r\n div {\r\n display: flex;\r\n }\r\n`;\r\n","import { useEffect } from 'react';\r\nimport { useLocation } from 'react-router-dom';\r\n\r\nexport const ScrollToTop = () => {\r\n const { pathname } = useLocation();\r\n\r\n useEffect(() => {\r\n window.scrollTo(0, 0);\r\n }, [pathname]);\r\n\r\n return null;\r\n};\r\n","export const DOBRegex = /(\\d{2})\\/(\\d{2})\\/(\\d{4})/;\r\n","const accountNumberValidator = value => {\r\n const pattern = /\\b[a-zA-Z]?\\d+(?![^a-zA-Z\\d])\\b/;\r\n return pattern.test(value) ? undefined : 'Enter a valid account number.';\r\n};\r\n\r\nexport { accountNumberValidator };\r\n","import styled from 'styled-components';\r\n\r\nconst ContentArea = styled.div`\r\n width: 100%;\r\n height: 100%;\r\n display: flex;\r\n flex-direction: column;\r\n\r\n background-color: white;\r\n\r\n\r\n fieldset {\r\n padding: 10px 15px;\r\n border-radius: 5px;\r\n background-color: rgb(243, 242, 241);\r\n }\r\n\r\n a {\r\n color: #000;\r\n text-decoration: none;\r\n }\r\n\r\n .MuiButtonBase-root {\r\n background-color: #abab25;\r\n }\r\n\r\n button {\r\n white-space: nowrap;\r\n\r\n &:hover {\r\n a {\r\n color: #fff;\r\n }\r\n background-color: #415463;\r\n }\r\n }\r\n`;\r\n\r\nconst FormsContainer = styled.div`\r\n width: 100%;\r\n height: 100%;\r\n min-height: 100vh;\r\n display: flex;\r\n`;\r\n\r\nconst DesktopContainer = styled.div`\r\n padding: 10px 15px;\r\n\r\n a {\r\n width: 325px;\r\n display: flex;\r\n margin-bottom: 25px;\r\n align-items: center;\r\n flex-direction: row-reverse;\r\n justify-content: space-between;\r\n }\r\n\r\n h4 {\r\n display: inline;\r\n a {\r\n width: auto;\r\n display: inherit;\r\n text-decoration: underline;\r\n }\r\n }\r\n`;\r\n\r\nconst MobileContainer = styled.div`\r\n a {\r\n display: flex;\r\n align-items: center;\r\n justify-content: space-between;\r\n flex-direction: row-reverse;\r\n width: 325px;\r\n }\r\n`;\r\n\r\nconst MediaQueryAdobe = styled.div`\r\n @media screen and (max-width: 960px) {\r\n h4 {\r\n display: none \r\n } \r\n \r\n }\r\n`\r\n\r\nconst FormContent = styled.div`\r\nposition: ${props => (props.showMobileNav === true ? 'absolute' : 'static')};\r\n\r\n displa: flex;\r\n width: 100%;\r\n height: 100%;\r\n\r\n .fa-check-circle {\r\n color: green;\r\n margin-right: 5px;\r\n }\r\n\r\n .fa-times-circle {\r\n color: red;\r\n }\r\n`;\r\n\r\nexport {\r\n ContentArea,\r\n FormsContainer,\r\n DesktopContainer,\r\n MobileContainer,\r\n FormContent,\r\n MediaQueryAdobe\r\n}","import React, { useEffect } from 'react';\r\nimport { useState } from 'react';\r\nimport { Header, SideNav } from '..';\r\nimport { connect } from 'react-redux';\r\nimport { FontAwesomeIcon as Icon } from '@fortawesome/react-fontawesome';\r\n\r\nimport { setTabTitle } from '../../utilities';\r\n\r\nimport { faFilePdf } from '@fortawesome/free-regular-svg-icons';\r\nimport { UserInformation, useLanguage } from '../common';\r\n\r\nimport {\r\n ContentArea,\r\n FormsContainer,\r\n DesktopContainer,\r\n FormContent,\r\n MediaQueryAdobe\r\n} from './FormsStyles';\r\n\r\nfunction Forms({ User }) {\r\n const [showMobileNav, setShowMobileNav] = useState(false);\r\n const { getLanguageText } = useLanguage();\r\n useEffect(() => {\r\n setTabTitle('Patient Forms');\r\n }, []);\r\n function toggleMobileNav() {\r\n setShowMobileNav(!showMobileNav);\r\n }\r\n\r\n return (\r\n \r\n
\r\n \r\n \r\n \r\n \r\n \r\n

{getLanguageText('Patient Forms')}

\r\n \r\n Protected Health Insurance (PHI) Authorization\r\n \r\n \r\n \r\n

\r\n {getLanguageText(\"Don't have Adobe?\")}{' '}\r\n {getLanguageText('Get it')}{' '}\r\n \r\n {getLanguageText('here')}\r\n \r\n

\r\n
\r\n
\r\n
\r\n
\r\n \r\n );\r\n}\r\n\r\nconst mapStateToProps = state => ({\r\n User: state.User\r\n});\r\n\r\nexport default connect(mapStateToProps)(Forms);\r\n","import InputMask from 'react-input-mask';\r\nimport * as React from 'react';\r\nimport { useLanguage } from 'components/common';\r\n\r\n/**\r\n *\r\n * @param {string} value\r\n * @param {string} letter\r\n * @param {number} length\r\n * @returns string\r\n */\r\nfunction replaceMaskWithLetter(value, letter, length) {\r\n if (!value) value = '';\r\n\r\n value = value.replace(/[^0-9]/g, '');\r\n\r\n return value + letter.repeat(length - value.length);\r\n}\r\n\r\n/**\r\n *\r\n * @param {string} value\r\n * @returns string\r\n */\r\nfunction fillInMaskWithLetters(value) {\r\n if (!value) return '';\r\n\r\n const [month, day, year] = value.split('/');\r\n\r\n return [\r\n replaceMaskWithLetter(month, 'm', 2),\r\n replaceMaskWithLetter(day, 'd', 2),\r\n replaceMaskWithLetter(year, 'y', 4)\r\n ].join('/');\r\n}\r\n\r\n/**\r\n *\r\n * @param {string} value\r\n * @returns number\r\n */\r\nfunction findFirstPlaceholderIndex(value) {\r\n const placeholderPositions = [\r\n value.indexOf('m'),\r\n value.indexOf('d'),\r\n value.indexOf('y')\r\n ].filter(position => position >= 0);\r\n\r\n if (placeholderPositions.length === 0) return null;\r\n\r\n return Math.min(...placeholderPositions);\r\n}\r\n\r\n/**\r\n *\r\n * @param {MaskedValue} newState\r\n * @returns MaskedValue\r\n * @example \r\n * type MaskedValue = {\r\n value: string,\r\n selection: {\r\n start: number,\r\n end: number,\r\n length: number\r\n } | null\r\n }\r\n */\r\nfunction beforeMaskedValueChange(newState) {\r\n const value = fillInMaskWithLetters(newState.value);\r\n let selection = newState.selection;\r\n\r\n if (selection && selection.length === 1) {\r\n const index =\r\n findFirstPlaceholderIndex(value) || Math.max(0, value.length - 1);\r\n\r\n selection = {\r\n start: index,\r\n end: index,\r\n length: 1\r\n };\r\n }\r\n\r\n return { value, selection };\r\n}\r\n\r\nconst placeholder = 'mm/dd/yyyy';\r\n\r\nconst formatChars = {\r\n n: '[0-1]',\r\n m: '[0-9]',\r\n e: '[0-3]',\r\n d: '[0-9]',\r\n z: '[1-2]',\r\n y: '[0-9]'\r\n};\r\n\r\nexport default function MyComponent(props) {\r\n const { getLanguageText } = useLanguage();\r\n\r\n return (\r\n \r\n );\r\n}\r\n","import styled from 'styled-components';\r\n\r\nconst LoginContainer = styled.div`\r\n display: flex;\r\n justify-content: center;\r\n align-items: center;\r\n height: 100%;\r\n min-height: 100vh;\r\n min-width: 500px;\r\n width: 100%;\r\n @media screen and (max-width: 960px) {\r\n padding: 30px;\r\n }\r\n background: url(${props => props.src}) no-repeat center center fixed;\r\n -webkit-background-size: cover;\r\n -moz-background-size: cover;\r\n -o-background-size: cover;\r\n background-size: cover;\r\n`;\r\n\r\nconst Background = styled.img`\r\n display: none;\r\n\r\n @media screen and (min-width: 960px) {\r\n // display: inline;\r\n // /* Set rules to fill background */\r\n min-height: 100%;\r\n // min-width: 1024px;\r\n\r\n // /* Set up proportionate scaling */\r\n width: 100%;\r\n height: 100%;\r\n\r\n // /* Set up positioning */\r\n // // position: fixed;\r\n // // top: 0;\r\n // // left: 0;\r\n height: 100%;\r\n }\r\n`;\r\nconst LoginPanel = styled.div`\r\n display: flex;\r\n flex-direction: column;\r\n align-items: center;\r\n justify-content: center;\r\n margin: 0 auto;\r\n padding-top: 20%;\r\n // position: absolute;\r\n // top: 0;\r\n padding: 15px;\r\n width: 100%;\r\n max-width: 800px;\r\n border-radius: 10px;\r\n background-color: white;\r\n background: white;\r\n svg {\r\n cursor: pointer;\r\n }\r\n\r\n p.error {\r\n color: red;\r\n }\r\n\r\n img {\r\n width: 250px;\r\n margin-bottom: 10px;\r\n }\r\n\r\n /* Material UI Embedded Classes */\r\n .MuiFormControl-root {\r\n width: 280px;\r\n }\r\n\r\n .MuiOutlinedInput-root {\r\n & fieldset {\r\n border: 1px solid #3c2109;\r\n }\r\n }\r\n\r\n a {\r\n text-decoration: none;\r\n }\r\n\r\n @media screen and (min-width: 960px) {\r\n // top: 50%;\r\n // left: 50%;\r\n // transform: translate(-50%, -50%);\r\n width: 400px;\r\n //align-self: center;\r\n\r\n /* Material UI Embedded Classes */\r\n .MuiFormControl-root {\r\n width: 280px;\r\n }\r\n }\r\n`;\r\n\r\nconst FlexDiv = styled.div`\r\n display: flex;\r\n align-items: center;\r\n flex-direction: column;\r\n justify-content: space-between;\r\n\r\n button {\r\n margin-top: 0;\r\n }\r\n\r\n p {\r\n margin: 0;\r\n font-size: 14px;\r\n }\r\n\r\n @media screen and (min-width: 960px) {\r\n height: 100%;\r\n flex-direction: row;\r\n\r\n div {\r\n display: flex;\r\n }\r\n }\r\n`;\r\n\r\nconst BirthDayContainer = styled.div`\r\n display: flex;\r\n\r\n /* Material UI Embedded Classes */\r\n .MuiFormControl-root:first-child {\r\n width: 65px;\r\n }\r\n\r\n .MuiFormControl-root:nth-child(2) {\r\n width: 65px;\r\n }\r\n\r\n .MuiFormControl-root:last-child {\r\n width: 85px;\r\n }\r\n\r\n @media screen and (min-width: 960px) {\r\n height: 100%;\r\n /* Material UI Embedded Classes */\r\n .MuiFormControl-root:first-child {\r\n width: 65px;\r\n }\r\n\r\n .MuiFormControl-root:nth-child(2) {\r\n width: 65px;\r\n }\r\n\r\n .MuiFormControl-root:last-child {\r\n width: 85px;\r\n }\r\n }\r\n\r\n margin-bottom: 10px;\r\n`;\r\n\r\nconst CertContainer = styled.div`\r\n display: flex;\r\n flex-direction: column;\r\n align-items: center;\r\n margin-top: 24px;\r\n border-top: 2px solid grey;\r\n padding: 24px 0 0 0;\r\n justify-self: stretch;\r\n align-self: stretch;\r\n`;\r\nconst CertGroup = styled.div`\r\n display: flex;\r\n justify-content: space-around;\r\n width: 80%;\r\n padding: 0 40px;\r\n`;\r\n\r\nconst CertImage = styled.img`\r\n cursor: pointer;\r\n max-width: 80px;\r\n height: auto;\r\n`;\r\nconst PoweredBy = styled.p`\r\n font-size: 9px;\r\n margin: 0;\r\n`;\r\nconst VentraGroup = styled.div`\r\n display: flex;\r\n flex-direction: column;\r\n align-items: center;\r\n`;\r\nconst VentraLogo = styled.img`\r\n margin: 0;\r\n max-width: 120px;\r\n height: auto;\r\n`;\r\n\r\nexport {\r\n LoginContainer,\r\n Background,\r\n LoginPanel,\r\n FlexDiv,\r\n BirthDayContainer,\r\n CertContainer,\r\n CertGroup,\r\n CertImage,\r\n PoweredBy,\r\n VentraGroup,\r\n VentraLogo\r\n};\r\n","import Axios from 'axios';\r\nimport React, { useState, useEffect } from 'react';\r\nimport { connect } from 'react-redux';\r\nimport DOBField from '../DOBField';\r\nimport {\r\n requiredValidator,\r\n minLengthValidator,\r\n composeValidators,\r\n honeypotValidator,\r\n regexValidator\r\n} from 'sd-formik-validators';\r\nimport {\r\n accountNumberValidator,\r\n SubmitButton,\r\n useLanguage,\r\n LanguageDropdown,\r\n DOBRegex\r\n} from '../common';\r\nimport { API_BASE, setTabTitle } from '../../utilities';\r\nimport { withRouter } from 'react-router-dom';\r\nimport { Typography as Label, TextField, Link } from '@material-ui/core';\r\nimport AuthService from '../../lib/AuthService';\r\n\r\nimport {\r\n LoginContainer,\r\n LoginPanel,\r\n CertContainer,\r\n CertGroup,\r\n PoweredBy,\r\n VentraGroup,\r\n VentraLogo,\r\n CertImage\r\n} from './LoginStyles';\r\nimport { Formik, Form, Field } from 'formik';\r\nconst bg = require('../../assets/img/background.jpeg');\r\n\r\nfunction Login({ setTimer, clearData, match, ...props }) {\r\n const { getLanguageText } = useLanguage();\r\n const [loginErrorMsg, setLoginErrorMsg] = useState('');\r\n\r\n useEffect(() => {\r\n window.sessionStorage.clear();\r\n }, []);\r\n useEffect(() => {\r\n const auth = new AuthService();\r\n auth.removeToken();\r\n clearData();\r\n setTimer('hasLogoutTimerStart', false);\r\n setTabTitle('Login');\r\n }, [setTimer, clearData]);\r\n\r\n function handleSubmit(values, actions) {\r\n const [fullDate, month, day, year] = values.DOB.match(DOBRegex);\r\n setLoginErrorMsg('');\r\n\r\n Axios.get(\r\n `${API_BASE}/DoctorBill/Authenticate/${values.accountNumber}/${month}-${day}-${year}/${values.lastName}`\r\n )\r\n .then(response => {\r\n const { status, data, headers } = response;\r\n if (status === 200) {\r\n const { setUser } = props;\r\n if (setUser) {\r\n const auth = new AuthService();\r\n auth.setToken(headers.user_token);\r\n setTimer('hasLogoutTimerStart', true);\r\n setUser({ ...data });\r\n props.history.push('/Account');\r\n }\r\n }\r\n })\r\n .catch(err => {\r\n setLoginErrorMsg('Invalid Login.');\r\n })\r\n .finally(() => {\r\n actions.setSubmitting(false);\r\n });\r\n }\r\n return (\r\n \r\n \r\n \r\n\r\n \r\n {getLanguageText('Acct Number/Patient-Last Name/DOB')}\r\n \r\n {\r\n return (\r\n \r\n \r\n {({ field }) => (\r\n \r\n )}\r\n \r\n \r\n {({ field, form }) => {\r\n const { touched, errors } = form;\r\n return (\r\n {\r\n let { value } = e.target;\r\n value = value.trim();\r\n const isValid = value.match(/^([a-zA-Z]{0,1})\\d*$/);\r\n isValid &&\r\n form.setFieldValue('accountNumber', value, true);\r\n }}\r\n margin=\"normal\"\r\n id=\"login-txt-name\"\r\n variant=\"outlined\"\r\n placeholder=\"P12345678\"\r\n label={getLanguageText('Account Number')}\r\n autoComplete=\"off\"\r\n error={Boolean(\r\n touched.accountNumber && errors.accountNumber\r\n )}\r\n helperText={\r\n touched.accountNumber && errors.accountNumber\r\n ? getLanguageText(errors.accountNumber)\r\n : ''\r\n }\r\n autoFocus={true}\r\n />\r\n );\r\n }}\r\n \r\n \r\n {({ field, form }) => {\r\n const { touched, errors } = form;\r\n return (\r\n {\r\n form.setFieldValue(field.name, e.target.value.trim());\r\n }}\r\n type=\"text\"\r\n margin=\"normal\"\r\n id=\"login-txt-last-name\"\r\n variant=\"outlined\"\r\n label={getLanguageText('Last Name')}\r\n autoComplete=\"off\"\r\n error={Boolean(touched.lastName && errors.lastName)}\r\n helperText={\r\n touched.lastName && errors.lastName\r\n ? getLanguageText(errors.lastName)\r\n : ''\r\n }\r\n />\r\n );\r\n }}\r\n \r\n \r\n {({ field, form: { touched, errors } }) => (\r\n \r\n {inputProps => {\r\n return (\r\n \r\n );\r\n }}\r\n \r\n )}\r\n \r\n\r\n \r\n \r\n {getLanguageText('Login')}\r\n \r\n {loginErrorMsg && (\r\n \r\n {loginErrorMsg}\r\n \r\n )}\r\n \r\n );\r\n }}\r\n />\r\n \r\n \r\n {\r\n window.open(\r\n 'https://sealserver.trustwave.com/cert.php?customerId=w6oj3BufDtNVfsRHKIMpiViTHPZVM8&size=105x54&style=invert',\r\n 'c_TW',\r\n 'location=no, toolbar=no, resizable=yes, scrollbars=yes, directories=no, status=no, width=615, height=720'\r\n );\r\n return false;\r\n }}\r\n onContextMenu={() => {\r\n alert(\r\n 'Copying Prohibited by Law - Trusted Commerce is a Service Mark of TrustWave Holdings, Inc.'\r\n );\r\n return false;\r\n }}\r\n title=\"This site is protected by Trustwave's Trusted Commerce program\"\r\n />\r\n \r\n \r\n Powered By\r\n \r\n \r\n \r\n \r\n \r\n \r\n 3.0.0\r\n \r\n \r\n \r\n );\r\n}\r\n\r\nconst mapDispatchToProps = dispatch => ({\r\n setUser: user => dispatch({ type: 'SET_USER', user }),\r\n clearData: () => dispatch({ type: 'CLEAR_DATA' })\r\n});\r\n\r\nexport default connect(\r\n null,\r\n mapDispatchToProps\r\n)(withRouter(Login));\r\n","import styled from 'styled-components';\r\nimport { FontAwesomeIcon as Icon } from '@fortawesome/react-fontawesome';\r\nimport { theme } from 'lib/theme';\r\nimport { BrandColor } from 'constants/brandColor';\r\n\r\nconst MenuButton = styled(Icon)`\r\n margin-right: 15px;\r\n &:hover {\r\n cursor: pointer;\r\n }\r\n`;\r\n\r\nconst HeaderBar = styled.div`\r\n display: flex;\r\n padding: 0 10px;\r\n align-items: center;\r\n justify-content: space-between;\r\n background-color: ${theme.palette.primary.dark};\r\n border-bottom: 2px solid ${BrandColor.ACCENT};\r\n box-shadow: 0px 2px 4px 0px #0004\r\n z-index: 1;\r\n width: 100%;\r\n height: 50px;\r\n\r\n p {\r\n color: #fff;\r\n }\r\n\r\n svg {\r\n color: #fff;\r\n }\r\n\r\n @media print {\r\n display: none;\r\n }\r\n\r\n @media screen and (min-width: 960px) {\r\n position: static;\r\n ${MenuButton} {\r\n display: none;\r\n }\r\n }\r\n`;\r\nconst Logo = styled.img`\r\n margin: 0 auto;\r\n height: 25px;\r\n @media print {\r\n display: none;\r\n }\r\n @media screen and (min-width: 960px) {\r\n margin: 0;\r\n height: 35px;\r\n }\r\n`;\r\nconst PrintLogo = styled.img`\r\n display: none;\r\n margin: 0 auto;\r\n height: 25px;\r\n @media print {\r\n display: block;\r\n }\r\n @media screen and (min-width: 960px) {\r\n margin: 0;\r\n height: 35px;\r\n }\r\n`;\r\nexport { MenuButton, HeaderBar, Logo, PrintLogo };\r\n","import React from 'react';\r\nimport { faBars } from '@fortawesome/free-solid-svg-icons';\r\nimport { MenuButton, HeaderBar, Logo, PrintLogo } from './HeaderStyles';\r\nimport { LanguageDropdown } from '../common';\r\nfunction Header({ toggleMobileNav }) {\r\n return (\r\n \r\n \r\n \r\n \r\n \r\n \r\n );\r\n}\r\n\r\nexport default Header;\r\n","import { BrandColor } from 'constants/brandColor';\r\nimport { theme } from 'lib/theme';\r\nimport styled from 'styled-components';\r\n\r\nconst SideNavContainer = styled.div`\r\n height: auto;\r\n min-width: ${props => (props.showMobileNav === true ? '95%' : '180px')};\r\n display: ${props => (props.showMobileNav === true ? 'flex' : 'none')};\r\n flex-direction: column;\r\n z-index: ${props => (props.showMobileNav === true ? '1000' : '0')};\r\n ${props => props.showMobileNav === true && 'animation: expand .25s'};\r\n .my-account-text {\r\n padding: 16px 10px;\r\n }\r\n ul {\r\n list-style-type: none;\r\n li {\r\n cursor: pointer;\r\n }\r\n }\r\n\r\n @media screen and (min-width: 960px) {\r\n display: flex;\r\n }\r\n\r\n @keyframes expand {\r\n 0% {\r\n min-width: 0px;\r\n }\r\n\r\n 100% {\r\n min-width: 95%;\r\n }\r\n }\r\n @keyframes contract {\r\n 0% {\r\n min-width: 95%;\r\n }\r\n\r\n 100% {\r\n min-width: 180px;\r\n display: ${props => (props.showMobileNav === true ? 'flex' : 'none')};\r\n }\r\n }\r\n\r\n a {\r\n text-decoration: none;\r\n color: #fff !important;\r\n }\r\n\r\n background-color: ${theme.palette.primary.dark};\r\n`;\r\n\r\nconst ListContainer = styled.div`\r\n white-space: normal;\r\n ul {\r\n color: #fff;\r\n font-size: 16px;\r\n padding: 0;\r\n\r\n li {\r\n display: flex;\r\n padding: 10px 10px;\r\n align-items: center;\r\n\r\n &.is-active {\r\n border-left: 4px solid ${BrandColor.ACCENT};\r\n }\r\n\r\n svg {\r\n margin-right: 10px;\r\n }\r\n\r\n ul {\r\n padding: 5px 15px;\r\n\r\n li {\r\n padding-top: 5px;\r\n\r\n &.fadeIn {\r\n animation: fadeIn 1s;\r\n }\r\n\r\n @keyframes fadeIn {\r\n 0% {\r\n opacity: 0;\r\n }\r\n\r\n 100% {\r\n opacity: 1;\r\n }\r\n }\r\n }\r\n }\r\n }\r\n }\r\n\r\n p {\r\n color: #fff;\r\n font-weight: 600;\r\n padding: 10px;\r\n display: block;\r\n border-bottom: 2px solid ${theme.palette.divider};\r\n }\r\n`;\r\n\r\nexport { SideNavContainer, ListContainer };\r\n","import React from 'react';\r\nimport classnames from 'classnames';\r\nimport { connect } from 'react-redux';\r\nimport { Link, withRouter } from 'react-router-dom';\r\nimport { Typography as Label } from '@material-ui/core';\r\nimport { FontAwesomeIcon as Icon } from '@fortawesome/react-fontawesome';\r\nimport { useLanguage } from '../common';\r\nimport {\r\n faHistory,\r\n faRecycle,\r\n faPhoneAlt,\r\n faPaperclip,\r\n faSignOutAlt,\r\n faFileMedicalAlt,\r\n faQuestionCircle,\r\n faUserShield\r\n} from '@fortawesome/free-solid-svg-icons';\r\n\r\nimport { SideNavContainer, ListContainer } from './SideNavStyles';\r\nimport AuthService from '../../lib/AuthService';\r\n\r\nfunction SideNav({\r\n clearData,\r\n showMobileNav,\r\n history,\r\n location: { pathname },\r\n User,\r\n ...props\r\n}) {\r\n function logout() {\r\n const auth = new AuthService();\r\n auth.logout();\r\n clearData();\r\n history.push('/');\r\n }\r\n const { getLanguageText } = useLanguage();\r\n\r\n return (\r\n \r\n \r\n \r\n
    \r\n \r\n \r\n \r\n {getLanguageText('Account Details')}\r\n \r\n \r\n\r\n \r\n \r\n \r\n {getLanguageText('Account History')}\r\n \r\n \r\n\r\n {User.systemArea !== 'Centricity' && (\r\n \r\n \r\n \r\n {getLanguageText('Email Reminder')}\r\n \r\n \r\n )}\r\n
\r\n
\r\n\r\n \r\n \r\n
    \r\n \r\n \r\n \r\n FAQ\r\n \r\n \r\n\r\n \r\n \r\n \r\n {getLanguageText('Contact Us')}\r\n \r\n \r\n\r\n \r\n \r\n \r\n {getLanguageText('Patient Forms')}\r\n \r\n \r\n
  • \r\n \r\n \r\n {getLanguageText('Privacy Policy')}\r\n \r\n
  • \r\n \r\n
\r\n
\r\n
\r\n );\r\n}\r\nconst mapStateTopProps = state => ({\r\n User: state.User\r\n});\r\nconst mapDispatchToProps = dispatch => ({\r\n clearData: () => dispatch({ type: 'CLEAR_DATA' })\r\n});\r\n\r\nexport default connect(\r\n mapStateTopProps,\r\n mapDispatchToProps\r\n)(withRouter(SideNav));\r\n","import { TextField } from '@material-ui/core';\r\nimport styled from 'styled-components';\r\n\r\nconst PageTitle = styled.h2`\r\n margin-top: 0;\r\n font-size: 21px;\r\n font-weight: 700;\r\n`;\r\nconst ContentArea = styled.div`\r\n height: 100%;\r\n width: 100%;\r\n display: flex;\r\n flex-direction: column;\r\n\r\n background-color: white;\r\n\r\n fieldset {\r\n padding: 10px 15px;\r\n border-radius: 5px;\r\n }\r\n\r\n a {\r\n color: #000;\r\n text-decoration: none;\r\n }\r\n`;\r\nconst Divider = styled.div`\r\n width: 100%;\r\n height: 2px;\r\n background: lightgrey;\r\n`;\r\nconst ContactContainer = styled.div`\r\n height: 100%;\r\n min-height: 100vh;\r\n width: 100%;\r\n display: flex;\r\n`;\r\n\r\nconst Container = styled.div`\r\n padding: 10px 15px;\r\n max-width: 400px;\r\n width: 100%;\r\n height: auto;\r\n`;\r\nconst EmailForm = styled.form`\r\n display: flex;\r\n flex-direction: column;\r\n`;\r\nconst AccountNumber = styled.p`\r\n font-size: 14px;\r\n margin: 0 0 14px 0;\r\n`;\r\nconst ContactGroup = styled.div`\r\n padding: 24px 0;\r\n`;\r\nconst InlineInputGroup = styled.div`\r\n display: flex;\r\n margin: 4px 0;\r\n .label {\r\n vertical-align: center;\r\n margin: 12px 12px 0 0;\r\n font-size: 14px;\r\n }\r\n`;\r\nconst MessageInputGroup = styled.div`\r\n display: flex;\r\n flex-direction: column;\r\n align-items: flex-start;\r\n margin-bottom: 24px;\r\n`;\r\nconst MessageTextArea = styled(TextField)`\r\n width: 100%;\r\n`;\r\nconst ContactContent = styled.div`\r\n position: ${props => (props.showMobileNav === true ? 'absolute' : 'static')};\r\n height: 100%;\r\n width: 100%;\r\n @media screen and (min-width: 960px) {\r\n }\r\n\r\n .fa-check-circle {\r\n color: green;\r\n margin-right: 5px;\r\n }\r\n\r\n .fa-times-circle {\r\n color: red;\r\n }\r\n\r\n .noMargin {\r\n margin: 0;\r\n }\r\n`;\r\nexport {\r\n PageTitle,\r\n ContentArea,\r\n Divider,\r\n ContactContainer,\r\n Container,\r\n EmailForm,\r\n AccountNumber,\r\n ContactGroup,\r\n InlineInputGroup,\r\n MessageInputGroup,\r\n MessageTextArea,\r\n ContactContent\r\n};\r\n","import toastr from 'toastr';\r\nimport React, { useEffect } from 'react';\r\nimport { useState } from 'react';\r\nimport { Header, SideNav } from '..';\r\nimport { connect } from 'react-redux';\r\nimport {\r\n Typography as Label,\r\n TextField,\r\n FormControl,\r\n makeStyles,\r\n FormHelperText\r\n} from '@material-ui/core';\r\nimport Axios from 'axios';\r\nimport { API_BASE, isEmail, setTabTitle } from '../../utilities';\r\nimport {\r\n useMaterialSubmitButton,\r\n UserInformation,\r\n useLanguage\r\n} from '../common';\r\nimport AuthService from '../../lib/AuthService';\r\nimport {\r\n PageTitle,\r\n ContentArea,\r\n Divider,\r\n ContactContainer,\r\n Container,\r\n EmailForm,\r\n AccountNumber,\r\n ContactGroup,\r\n InlineInputGroup,\r\n MessageInputGroup,\r\n MessageTextArea,\r\n ContactContent\r\n} from './ContactStyles';\r\n\r\nconst useStyles = makeStyles({\r\n errorFormHelperText: {\r\n marginBottom: '12px',\r\n color: 'red',\r\n fontWeight: 300\r\n }\r\n});\r\nfunction Contact({ User }) {\r\n const classes = useStyles();\r\n const [showMobileNav, setShowMobileNav] = useState(false);\r\n const [email, setEmail] = useState('');\r\n const [message, setMessage] = useState('');\r\n const [submitState, submitActions, SubmitBtn] = useMaterialSubmitButton();\r\n const { getLanguageText, language } = useLanguage();\r\n const [formErrors, setFormErrors] = useState({\r\n email: false,\r\n message: false\r\n });\r\n useEffect(() => {\r\n setTabTitle('Contact Us');\r\n }, []);\r\n useEffect(() => {\r\n setEmail(User && User.useEmail ? User.email : '');\r\n }, [User]);\r\n function toggleMobileNav() {\r\n setShowMobileNav(!showMobileNav);\r\n }\r\n function changeEmailHandler(e) {\r\n const { value } = e.target;\r\n if (isEmail(value) || value === '') {\r\n setFormErrors({\r\n ...formErrors,\r\n email: false\r\n });\r\n } else {\r\n setFormErrors({\r\n ...formErrors,\r\n email: true\r\n });\r\n }\r\n setEmail(value);\r\n }\r\n function changeMessageHandler(e) {\r\n const { value } = e.target;\r\n if (value === '') {\r\n setFormErrors({\r\n ...formErrors,\r\n message: true\r\n });\r\n } else {\r\n setFormErrors({\r\n ...formErrors,\r\n message: false\r\n });\r\n }\r\n setMessage(value);\r\n }\r\n function handleSubmit() {\r\n // console.log(email);\r\n if (!isEmail(email) || email.trim() === '') {\r\n setFormErrors({\r\n ...formErrors,\r\n email: true\r\n });\r\n return;\r\n }\r\n if (message === '') {\r\n setFormErrors({\r\n ...formErrors,\r\n message: true\r\n });\r\n return;\r\n } else {\r\n setFormErrors({\r\n ...formErrors,\r\n message: false\r\n });\r\n }\r\n\r\n // console.log(id, email, message)\r\n const auth = new AuthService();\r\n const user_token = auth.getToken();\r\n const decodedJWT = auth.getProfile();\r\n const { ID } = decodedJWT;\r\n const requestBody = {\r\n EncounterID: ID,\r\n PatientEmail: email,\r\n Acct: ID,\r\n Message: message,\r\n PatEmail: email\r\n };\r\n // console.log(requestBody)\r\n submitActions.startLoading();\r\n Axios.post(`${API_BASE}/DoctorBill/ContactUs`, requestBody, {\r\n headers: {\r\n user_token,\r\n Pragma: 'no-cache'\r\n }\r\n })\r\n .then(response => {\r\n const { data } = response;\r\n toastr.success(getLanguageText('Submitted Successfully.'));\r\n setEmail('');\r\n setMessage('');\r\n console.log(data);\r\n })\r\n .catch(err => {\r\n console.log(err);\r\n toastr.error(\r\n getLanguageText('Sorry message was not sent, please try again.')\r\n );\r\n })\r\n .finally(() => {\r\n submitActions.endLoading();\r\n });\r\n }\r\n\r\n return (\r\n \r\n
\r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n {getLanguageText('Contact Us')}\r\n \r\n \r\n \r\n \r\n \r\n {\r\n e.preventDefault();\r\n handleSubmit();\r\n }}\r\n >\r\n \r\n \r\n \r\n \r\n {formErrors.email && (\r\n \r\n {getLanguageText('Please enter a valid email address.')}\r\n \r\n )}\r\n \r\n \r\n \r\n \r\n {getLanguageText('Subject')}:{' '}\r\n {User.id}\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n {formErrors.message && (\r\n \r\n {getLanguageText('Required field')}\r\n \r\n )}\r\n \r\n \r\n {language === 'en' ? 'Submit' : 'Enviar'}\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n {getLanguageText('Mail')}:\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n );\r\n}\r\n\r\nconst mapStateToProps = state => ({\r\n User: state.User\r\n});\r\n\r\nexport default connect(mapStateToProps)(Contact);\r\n","import styled from 'styled-components';\r\nimport { ValidatorForm } from 'react-material-ui-form-validator';\r\n\r\nconst ContentArea = styled.div`\r\n width: 100%;\r\n height: 100%;\r\n display: flex;\r\n flex-direction: column;\r\n background-color: white;\r\n\r\n fieldset {\r\n padding: 10px 15px;\r\n border-radius: 5px;\r\n background-color: rgb(243, 242, 241);\r\n }\r\n\r\n a {\r\n color: #000;\r\n text-decoration: none;\r\n }\r\n\r\n .MuiButtonBase-root {\r\n background-color: #abab25;\r\n }\r\n\r\n button {\r\n white-space: nowrap;\r\n\r\n &:hover {\r\n color: white;\r\n a {\r\n color: white;\r\n }\r\n background-color: #415463;\r\n }\r\n }\r\n`;\r\n\r\nconst PaperlessContainer = styled.div`\r\n width: 100%;\r\n height: 100%;\r\n min-height: 100vh;\r\n display: flex;\r\n @media screen and (min-width: 960px) {\r\n \r\n }\r\n`;\r\n\r\nconst Container = styled(ValidatorForm)`\r\n width: 100%;\r\n height: auto;\r\n display: flex;\r\n padding: 50px 50px 13px 50px;\r\n align-items: center;\r\n flex-direction: column;\r\n\r\n @media screen and (min-width: 960px) {\r\n display: none;\r\n }\r\n div.MuiTextField-root {\r\n width: 25%;\r\n }\r\n\r\n fieldset {\r\n background-color: inherit;\r\n }\r\n\r\n span.MuiButtonBase-root {\r\n background-color: inherit;\r\n }\r\n\r\n span.MuiFormControlLabel-label {\r\n font-size: 12px;\r\n }\r\n`;\r\n\r\nconst PaperlessContent = styled.div`\r\n position: ${props => (props.showMobileNav === true ? 'absolute' : 'static')};\r\n width: 100%;\r\n height: 100%;\r\n ${Container} {\r\n display: flex;\r\n }\r\n\r\n @media screen and (min-width: 960px) {\r\n \r\n }\r\n\r\n .fa-check-circle {\r\n color: green;\r\n margin-right: 5px;\r\n }\r\n\r\n .fa-times-circle {\r\n color: red;\r\n }\r\n`;\r\n\r\nconst PrivacyLink = styled.span`\r\n text-decoration: underline;\r\n`;\r\n\r\nexport {\r\n ContentArea,\r\n PaperlessContainer,\r\n Container,\r\n PaperlessContent,\r\n PrivacyLink\r\n}","import toastr from 'toastr';\r\nimport React from 'react';\r\nimport { useState, useEffect } from 'react';\r\nimport { Header, SideNav } from '..';\r\nimport { IOSSwitch, UserInformation, useLanguage } from '../common';\r\nimport { connect } from 'react-redux';\r\nimport { API_BASE, setTabTitle } from '../../utilities';\r\nimport { TextValidator } from 'react-material-ui-form-validator';\r\nimport {\r\n Typography as Label,\r\n Checkbox,\r\n FormControlLabel,\r\n makeStyles\r\n} from '@material-ui/core';\r\nimport Axios from 'axios';\r\nimport { useMaterialSubmitButton } from '../common';\r\nimport AuthService from '../../lib/AuthService';\r\nimport {\r\n ContentArea,\r\n PaperlessContainer,\r\n Container,\r\n PaperlessContent,\r\n PrivacyLink\r\n} from './PaperlessStyles';\r\n\r\nconst useStyles = makeStyles({\r\n email: {\r\n width: '100%',\r\n minWidth: '300px'\r\n },\r\n optInSlider: {\r\n margin: '24px 0 0 0'\r\n },\r\n optInLabel: {\r\n fontSize: 24\r\n },\r\n heading: {\r\n fontSize: '36px',\r\n fontWeight: 400\r\n },\r\n textVerbiage: {\r\n fontSize: '12px',\r\n marginTop: '12px',\r\n lineHeight: 1.5\r\n }\r\n});\r\n\r\nfunction Paperless(props) {\r\n const classes = useStyles();\r\n const [email, setEmail] = useState(props.User.email || '');\r\n const [checked, setChecked] = useState(false);\r\n const [optedIn, setOptedIn] = useState(false);\r\n const [showMobileNav, setShowMobileNav] = useState(false);\r\n const [submitState, submitActions, SubmitBtn] = useMaterialSubmitButton();\r\n const { getLanguageText, language } = useLanguage();\r\n useEffect(() => {\r\n setTabTitle('Email Reminder');\r\n }, []);\r\n useEffect(() => {\r\n // console.log(props.User.useEmail)\r\n setOptedIn(props.User.useEmail);\r\n }, [props.User.useEmail]);\r\n\r\n function toggleMobileNav() {\r\n setShowMobileNav(!showMobileNav);\r\n }\r\n\r\n const { User } = props;\r\n\r\n function verifySave() {\r\n const { id } = User;\r\n const auth = new AuthService();\r\n const user_token = auth.getToken();\r\n if (optedIn && !checked) {\r\n toastr.error(\r\n getLanguageText(\r\n 'Please accept that this change may take one billing cycle.'\r\n )\r\n );\r\n return;\r\n }\r\n // console.log(id, email, useEmail)\r\n submitActions.startLoading();\r\n Axios.post(\r\n `${API_BASE}/DoctorBill/SetPaperless/`,\r\n {\r\n EncounterID: id,\r\n EmailAddress: email,\r\n Paperless: optedIn ? 1 : 0\r\n },\r\n {\r\n headers: {\r\n user_token,\r\n Pragma: 'no-cache'\r\n }\r\n }\r\n )\r\n .then(response => {\r\n if (response.status === 200) {\r\n const { User } = props;\r\n props.setUser({ ...User, useEmail: optedIn, email });\r\n if (optedIn === true) {\r\n toastr.success(getLanguageText(`Saved successfully.`));\r\n } else {\r\n toastr.success(\r\n getLanguageText(\r\n 'Saved successfully. It may take up to one billing cycle for changes to be reflected.'\r\n )\r\n );\r\n }\r\n }\r\n })\r\n .catch(error => {\r\n toastr.error('Something went wrong! Check the console for details');\r\n })\r\n .finally(() => {\r\n submitActions.endLoading();\r\n });\r\n }\r\n\r\n return (\r\n \r\n
\r\n \r\n \r\n \r\n \r\n {\r\n e.preventDefault();\r\n verifySave();\r\n }}\r\n onError={errors => console.log(errors)}\r\n >\r\n \r\n \r\n {getLanguageText('Opt-in')}\r\n \r\n }\r\n onChange={({ target }) => setOptedIn(target.checked)}\r\n control={\r\n \r\n }\r\n />\r\n {optedIn && (\r\n <>\r\n setEmail(target.value)}\r\n validators={['required', 'isEmail']}\r\n errorMessages={\r\n language === 'en'\r\n ? [\r\n 'Required field',\r\n 'Please enter a valid email address.'\r\n ]\r\n : [\r\n 'Campo Requerido',\r\n 'Por favor, introduce una dirección de correo electrónico válida.'\r\n ]\r\n }\r\n />\r\n\r\n setChecked(!checked)}\r\n />\r\n }\r\n label={getLanguageText(\r\n 'I understand changes may take up to one billing cycle.'\r\n )}\r\n />\r\n \r\n )}\r\n \r\n {getLanguageText('Save')}\r\n \r\n {optedIn && (\r\n \r\n )}\r\n \r\n \r\n \r\n \r\n );\r\n}\r\n\r\nconst mapStateToProps = state => ({\r\n User: state.User\r\n});\r\n\r\nconst mapDispatchToProps = dispatch => ({\r\n setUser: user => dispatch({ type: 'SET_USER', user })\r\n});\r\n\r\nexport default connect(\r\n mapStateToProps,\r\n mapDispatchToProps\r\n)(Paperless);\r\n","import styled from 'styled-components';\r\n\r\nconst ContentArea = styled.div`\r\n display: flex;\r\n flex-direction: column;\r\n background-color: white;\r\n width: 100%;\r\n height: auto;\r\n\r\n fieldset {\r\n padding: 10px 15px;\r\n border-radius: 5px;\r\n background-color: rgb(243, 242, 241);\r\n }\r\n\r\n a {\r\n color: #000;\r\n text-decoration: none;\r\n }\r\n\r\n .MuiButtonBase-root {\r\n background-color: #abab25;\r\n }\r\n\r\n button {\r\n white-space: nowrap;\r\n\r\n &:hover {\r\n color: #fff;\r\n a {\r\n color: #fff;\r\n }\r\n background-color: #415463;\r\n }\r\n\r\n &.plain {\r\n color: #000;\r\n }\r\n }\r\n`;\r\nconst ConfirmationView = styled.div`\r\n width: 100%;\r\n height: 100%;\r\n margin: 24px auto 0 auto;\r\n @media screen and (min-width: 960px) {\r\n width: 60%;\r\n }\r\n`;\r\nconst ConfirmationContainer = styled.div`\r\n position: ${props => (props.showMobileNav === true ? 'absolute' : 'static')};\r\n height: 100%;\r\n width: 100%;\r\n h1 {\r\n margin: 0 auto;\r\n }\r\n\r\n hr {\r\n width: 100%;\r\n border-bottom: 1px solid rgba(0, 0, 0, 0.87);\r\n }\r\n\r\n svg:nth-child(1) {\r\n color: green;\r\n margin: 0 auto;\r\n }\r\n @media print {\r\n }\r\n .action {\r\n display: block;\r\n text-align: center;\r\n margin: 16px 0;\r\n\r\n &:hover {\r\n cursor: pointer;\r\n }\r\n\r\n path {\r\n color: #000;\r\n }\r\n }\r\n`;\r\nconst ConfirmationHeader = styled.div`\r\n display: flex;\r\n flex-direction: column;\r\n align-items: center;\r\n`;\r\nconst ConfirmationBody = styled.div`\r\n display: flex;\r\n flex-direction: column;\r\n align-items: center;\r\n`;\r\nconst DetailsContainer = styled.div`\r\n max-width: 350px;\r\n width: 100%;\r\n`;\r\nconst Detail = styled.div`\r\n display: flex;\r\n align-items: space-between;\r\n align-content: space-between;\r\n width: 100%;\r\n & > * {\r\n width: 100%;\r\n }\r\n`;\r\n\r\n//#region Pay Bill Content\r\nconst PayBillContent = styled.div`\r\n display: flex;\r\n width: 100%;\r\n height: 100%;\r\n min-height: 100vh;\r\n @media print {\r\n ${ConfirmationContainer} {\r\n width: 100%;\r\n }\r\n .user-information {\r\n display: none;\r\n }\r\n .action {\r\n display: none;\r\n }\r\n }\r\n\r\n @media screen and (min-width: 960px) {\r\n display: flex;\r\n }\r\n`;\r\nconst PrintContainer = styled.div`\r\n display: block;\r\n`;\r\nexport {\r\n ContentArea,\r\n ConfirmationContainer,\r\n ConfirmationHeader,\r\n ConfirmationBody,\r\n DetailsContainer,\r\n Detail,\r\n PayBillContent,\r\n PrintContainer,\r\n ConfirmationView\r\n};\r\n","import React, { useEffect } from 'react';\r\nimport moment from 'moment';\r\nimport { useState } from 'react';\r\nimport { connect } from 'react-redux';\r\n\r\nimport { SideNav, Header } from '../';\r\nimport { setTabTitle } from '../../utilities';\r\nimport { FontAwesomeIcon as Icon } from '@fortawesome/react-fontawesome';\r\nimport { UserInformation } from '../common';\r\nimport {\r\n faPrint,\r\n faCheck,\r\n faCheckCircle\r\n} from '@fortawesome/free-solid-svg-icons';\r\n\r\nimport { Typography as Label } from '@material-ui/core';\r\n\r\nimport {\r\n ContentArea,\r\n ConfirmationContainer,\r\n ConfirmationHeader,\r\n ConfirmationBody,\r\n Detail,\r\n PayBillContent,\r\n DetailsContainer,\r\n PrintContainer,\r\n ConfirmationView\r\n} from './EmailConfirmationStyles';\r\n\r\nfunction EmailConfirmation({ User, Transaction }) {\r\n const [showMobileNav, setShowMobileNav] = useState(false);\r\n useEffect(() => {\r\n setTabTitle('Payment Confirmation');\r\n }, []);\r\n function toggleMobileNav() {\r\n setShowMobileNav(!showMobileNav);\r\n }\r\n\r\n return (\r\n \r\n
\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n

Email Confirmation

\r\n
\r\n
\r\n \r\n \r\n
\r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n
\r\n window.print()}\r\n id=\"confirm-payment-div-print\"\r\n className=\"action\"\r\n >\r\n \r\n  \r\n \r\n \r\n
\r\n
\r\n
\r\n
\r\n \r\n );\r\n}\r\n\r\nconst mapStateToProps = state => ({\r\n User: state.User,\r\n Transaction: state.Transaction\r\n});\r\n\r\nexport default connect(mapStateToProps)(EmailConfirmation);\r\n","import styled from 'styled-components';\r\n\r\nconst LoadingDiv = styled.div`\r\n padding-top: 40vh;\r\n h1,\r\n h2 {\r\n text-align: center;\r\n margin: 0 auto;\r\n }\r\n height: 100%;\r\n min-height: 100vh;\r\n width: 100%;\r\n background: url(${props => props.src}) no-repeat center center fixed;\r\n -webkit-background-size: cover;\r\n -moz-background-size: cover;\r\n -o-background-size: cover;\r\n background-size: cover;\r\n`;\r\n\r\nconst LoginPanel = styled.div`\r\n display: flex;\r\n flex-direction: column;\r\n align-items: center;\r\n margin: 0 auto;\r\n padding-top: 20%;\r\n // position: absolute;\r\n // top: 0;\r\n padding: 15px;\r\n width: 100%;\r\n max-width: 800px;\r\n border-radius: 10px;\r\n background-color: white;\r\n background: white;\r\n svg {\r\n cursor: pointer;\r\n }\r\n\r\n p.error {\r\n color: red;\r\n }\r\n\r\n img {\r\n width: 250px;\r\n margin-bottom: 10px;\r\n }\r\n\r\n /* Material UI Embedded Classes */\r\n .MuiFormControl-root {\r\n width: 225px;\r\n }\r\n\r\n .MuiButtonBase-root {\r\n background-color: #abab25;\r\n }\r\n\r\n .MuiOutlinedInput-root {\r\n & fieldset {\r\n border: 1px solid #3c2109;\r\n }\r\n }\r\n\r\n a {\r\n text-decoration: none;\r\n }\r\n\r\n button {\r\n white-space: nowrap;\r\n color: #000;\r\n\r\n &:hover {\r\n color: #fff;\r\n a {\r\n color: #fff;\r\n }\r\n background-color: #415463;\r\n }\r\n }\r\n\r\n @media screen and (min-width: 960px) {\r\n // top: 50%;\r\n // left: 50%;\r\n // transform: translate(-50%, -50%);\r\n width: 400px;\r\n //align-self: center;\r\n\r\n /* Material UI Embedded Classes */\r\n .MuiFormControl-root {\r\n width: 225px;\r\n }\r\n }\r\n`;\r\n\r\nconst CertContainer = styled.div`\r\n display: flex;\r\n flex-direction: column;\r\n align-items: center;\r\n margin-top: 24px;\r\n border-top: 2px solid grey;\r\n padding: 24px 0 0 0;\r\n justify-self: stretch;\r\n align-self: stretch;\r\n`;\r\nconst CertGroup = styled.div`\r\n display: flex;\r\n justify-content: space-around;\r\n width: 80%;\r\n padding: 0 40px;\r\n`;\r\n\r\nconst DigiCertSeal = styled.div``;\r\nconst DigiCertImage = styled.img`\r\n cursor: pointer;\r\n height: 60px;\r\n`;\r\nconst PoweredBy = styled.p`\r\n font-size: 9px;\r\n margin: 0;\r\n`;\r\nconst GottliebGroup = styled.div`\r\n display: flex;\r\n flex-direction: column;\r\n align-items: center;\r\n`;\r\nconst GottliebLogo = styled.img`\r\n margin: 0;\r\n max-width: 80px;\r\n max-height: 21.6px;\r\n`;\r\n\r\nexport {\r\n LoadingDiv,\r\n LoginPanel,\r\n CertContainer,\r\n CertGroup,\r\n DigiCertSeal,\r\n DigiCertImage,\r\n PoweredBy,\r\n GottliebGroup,\r\n GottliebLogo\r\n};\r\n","import AuthService from '../../lib/AuthService';\r\nimport React, { useEffect } from 'react';\r\nimport { API_BASE } from '../../utilities';\r\nimport { connect } from 'react-redux';\r\nimport { withRouter } from 'react-router-dom';\r\nimport {\r\n LoadingDiv,\r\n LoginPanel,\r\n CertContainer,\r\n CertGroup,\r\n PoweredBy,\r\n GottliebGroup,\r\n GottliebLogo\r\n} from './InquiryStyles';\r\n\r\nimport Axios from 'axios';\r\nimport { Link } from '@material-ui/core';\r\nconst bg = require('../../assets/img/background.jpeg');\r\n\r\nconst Inquiry = ({ match, ...props }) => {\r\n const { guid } = match.params;\r\n useEffect(() => {\r\n async function startInquiry() {\r\n try {\r\n const { data } = await Axios({\r\n method: 'get',\r\n url: `${API_BASE}/DoctorBill/Authenticate/${guid}`,\r\n headers: {\r\n Pragma: 'no-cache'\r\n }\r\n });\r\n // console.log(data);\r\n const { id, birthDateFormatted, empID, inquiryCommandID } = data.value;\r\n // console.log(id, birthDateFormatted, inquiryCommandID);\r\n const DOBRegex = /(\\d+)\\/(\\d+)\\/(\\d+)/;\r\n const [fullDate, month, day, year] = birthDateFormatted.match(DOBRegex);\r\n // console.log(id, birthDateFormatted);\r\n console.log(fullDate);\r\n\r\n const { data: dataUser, headers } = await Axios({\r\n method: 'get',\r\n url: `${API_BASE}/DoctorBill/Authenticate/${id}/${month}-${day}-${year}/${empID}/${inquiryCommandID}`,\r\n headers: {\r\n Pragma: 'no-cache'\r\n }\r\n });\r\n // console.log(dataUser);\r\n props.setUser(dataUser);\r\n const auth = new AuthService();\r\n auth.setToken(headers.user_token);\r\n props.history.push('/Account');\r\n } catch (err) {\r\n console.log(err);\r\n props.history.push('/');\r\n }\r\n }\r\n startInquiry();\r\n }, [guid, props]);\r\n return (\r\n \r\n \r\n \r\n\r\n

Loading...

\r\n

One Moment Please

\r\n \r\n \r\n {\r\n window.open(\r\n 'https://sealserver.trustwave.com/cert.php?customerId=w6oj3BufDtNVfsRHKIMpiViTHPZVM8&size=105x54&style=invert',\r\n 'c_TW',\r\n 'location=no, toolbar=no, resizable=yes, scrollbars=yes, directories=no, status=no, width=615, height=720'\r\n );\r\n return false;\r\n }}\r\n onContextMenu={() => {\r\n alert(\r\n 'Copying Prohibited by Law - Trusted Commerce is a Service Mark of TrustWave Holdings, Inc.'\r\n );\r\n return false;\r\n }}\r\n title=\"This site is protected by Trustwave's Trusted Commerce program\"\r\n />\r\n \r\n \r\n Powered By\r\n \r\n \r\n \r\n \r\n \r\n
\r\n
\r\n );\r\n};\r\n\r\nconst mapDispatchToProps = dispatch => ({\r\n setUser: user => dispatch({ type: 'SET_USER', user })\r\n});\r\n// export default App;\r\n\r\nconst InquiryWithRouter = withRouter(Inquiry);\r\nexport default connect(\r\n null,\r\n mapDispatchToProps\r\n)(InquiryWithRouter);\r\n","import styled from 'styled-components';\r\n\r\nimport { ValidatorForm } from 'react-material-ui-form-validator';\r\n\r\n//Hide Pay Bill\r\n//#region ContentArea\r\nconst ContentArea = styled.div`\r\n display: flex;\r\n flex-direction: column;\r\n background-color: white;\r\n height: 100%;\r\n width: 100%;\r\n\r\n fieldset {\r\n padding: 10px 15px;\r\n border-radius: 5px;\r\n background-color: rgb(243, 242, 241);\r\n }\r\n\r\n a {\r\n color: #000;\r\n text-decoration: none;\r\n }\r\n\r\n \r\n &.plain {\r\n color: #000;\r\n }\r\n }\r\n`;\r\n//#endregion\r\n\r\n//#region PayBillContainer\r\nconst PayBillContainer = styled.div`\r\n height: 100%;\r\n min-height: 100vh;\r\n width: 100%;\r\n display: flex;\r\n`;\r\n//#endregion\r\n\r\nconst ViewContainer = styled.div`\r\n position: ${props => (props.showMobileNav === true ? 'absolute' : 'static')};\r\n width: 100%;\r\n height: 100%;\r\n display: flex;\r\n flex-direction: column;\r\n\r\n textarea {\r\n width: 50%;\r\n resize: none;\r\n }\r\n\r\n button {\r\n float: right;\r\n }\r\n\r\n fieldset {\r\n background-color: inherit;\r\n }\r\n`;\r\n\r\n//#region Pay Bill Form Container\r\nconst PayBillFormContainer = styled(ValidatorForm)`\r\n padding: 10px 15px;\r\n width: 100%;\r\n height: 100%;\r\n display: flex;\r\n flex-direction: column;\r\n\r\n & div {\r\n width: 100%;\r\n }\r\n\r\n @media screen and (min-width: 1280px) {\r\n width: 75%;\r\n }\r\n\r\n @media screen and (min-width: 1920px) {\r\n width: 50%;\r\n }\r\n\r\n .MuiCheckbox-root {\r\n background-color: transparent;\r\n }\r\n`;\r\n//#endregion\r\n\r\n//#region Pay Bill Content\r\nconst PayBillContent = styled.div``;\r\n//#endregion\r\n\r\nconst CardIconContainer = styled.div`\r\n text-align: right;\r\n svg {\r\n margin-right: 5px;\r\n }\r\n\r\n @media screen and (min-width: 960px) {\r\n svg {\r\n margin-top: 5px;\r\n }\r\n }\r\n`;\r\n\r\nconst FlexDiv = styled.div`\r\n display: flex;\r\n align-items: center;\r\n`;\r\nconst DialogBody = styled.div`\r\n padding: 16px 24px;\r\n\r\n button {\r\n float: right;\r\n margin-top: 24px;\r\n margin-left: 10px;\r\n }\r\n\r\n p {\r\n font-size: 18px;\r\n }\r\n\r\n button {\r\n white-space: nowrap;\r\n\r\n &.plain {\r\n color: #000;\r\n }\r\n }\r\n`;\r\nconst Row = styled.div`\r\n display: flex;\r\n width: 100%;\r\n margin-bottom: 16px;\r\n & > * {\r\n margin-right: 10px;\r\n }\r\n & > *:last-child {\r\n margin-right: 0;\r\n }\r\n`;\r\nconst IncDialogBody = styled.div`\r\n padding: 16px 24px;\r\n\r\n /* p {\r\n display: inline-block;\r\n } */\r\n button {\r\n /* display: inline-block; */\r\n width: 25%;\r\n\r\n &.plain {\r\n color: #000;\r\n }\r\n }\r\n\r\n p {\r\n font-size: 18px;\r\n text-align: center;\r\n }\r\n`;\r\n\r\nconst IncDialogQContainer = styled.div`\r\n width: 74%;\r\n border: solid 2px black;\r\n border-radius: 4px;\r\n`;\r\nexport {\r\n ContentArea,\r\n PayBillContainer,\r\n PayBillFormContainer,\r\n PayBillContent,\r\n CardIconContainer,\r\n ViewContainer,\r\n FlexDiv,\r\n DialogBody,\r\n IncDialogBody,\r\n Row,\r\n IncDialogQContainer\r\n};\r\n","import React from 'react';\r\nimport { connect } from 'react-redux';\r\n\r\nimport { Button } from '@material-ui/core';\r\nimport { IncDialogBody, IncDialogQContainer } from './PayBillStyles';\r\nimport Box from '@material-ui/core/Box';\r\n\r\nconst IncDialog = props => {\r\n const { User, setShowInquiryDialog, values, setValues } = props;\r\n function convertRegion(input, to) {\r\n var states = [\r\n ['Alabama', 'AL'],\r\n ['Alaska', 'AK'],\r\n ['American Samoa', 'AS'],\r\n ['Arizona', 'AZ'],\r\n ['Arkansas', 'AR'],\r\n ['Armed Forces Americas', 'AA'],\r\n ['Armed Forces Europe', 'AE'],\r\n ['Armed Forces Pacific', 'AP'],\r\n ['California', 'CA'],\r\n ['Colorado', 'CO'],\r\n ['Connecticut', 'CT'],\r\n ['Delaware', 'DE'],\r\n ['District Of Columbia', 'DC'],\r\n ['Florida', 'FL'],\r\n ['Georgia', 'GA'],\r\n ['Guam', 'GU'],\r\n ['Hawaii', 'HI'],\r\n ['Idaho', 'ID'],\r\n ['Illinois', 'IL'],\r\n ['Indiana', 'IN'],\r\n ['Iowa', 'IA'],\r\n ['Kansas', 'KS'],\r\n ['Kentucky', 'KY'],\r\n ['Louisiana', 'LA'],\r\n ['Maine', 'ME'],\r\n ['Marshall Islands', 'MH'],\r\n ['Maryland', 'MD'],\r\n ['Massachusetts', 'MA'],\r\n ['Michigan', 'MI'],\r\n ['Minnesota', 'MN'],\r\n ['Mississippi', 'MS'],\r\n ['Missouri', 'MO'],\r\n ['Montana', 'MT'],\r\n ['Nebraska', 'NE'],\r\n ['Nevada', 'NV'],\r\n ['New Hampshire', 'NH'],\r\n ['New Jersey', 'NJ'],\r\n ['New Mexico', 'NM'],\r\n ['New York', 'NY'],\r\n ['North Carolina', 'NC'],\r\n ['North Dakota', 'ND'],\r\n ['Northern Mariana Islands', 'NP'],\r\n ['Ohio', 'OH'],\r\n ['Oklahoma', 'OK'],\r\n ['Oregon', 'OR'],\r\n ['Pennsylvania', 'PA'],\r\n ['Puerto Rico', 'PR'],\r\n ['Rhode Island', 'RI'],\r\n ['South Carolina', 'SC'],\r\n ['South Dakota', 'SD'],\r\n ['Tennessee', 'TN'],\r\n ['Texas', 'TX'],\r\n ['US Virgin Islands', 'VI'],\r\n ['Utah', 'UT'],\r\n ['Vermont', 'VT'],\r\n ['Virginia', 'VA'],\r\n ['Washington', 'WA'],\r\n ['West Virginia', 'WV'],\r\n ['Wisconsin', 'WI'],\r\n ['Wyoming', 'WY']\r\n ];\r\n\r\n // So happy that Canada and the US have distinct abbreviations\r\n var provinces = [\r\n ['Alberta', 'AB'],\r\n ['British Columbia', 'BC'],\r\n ['Manitoba', 'MB'],\r\n ['New Brunswick', 'NB'],\r\n ['Newfoundland', 'NF'],\r\n ['Northwest Territory', 'NT'],\r\n ['Nova Scotia', 'NS'],\r\n ['Nunavut', 'NU'],\r\n ['Ontario', 'ON'],\r\n ['Prince Edward Island', 'PE'],\r\n ['Quebec', 'QC'],\r\n ['Saskatchewan', 'SK'],\r\n ['Yukon', 'YT']\r\n ];\r\n\r\n var regions = states.concat(provinces);\r\n\r\n var i; // Reusable loop variable\r\n if (to === 1) {\r\n input = input.replace(/\\w\\S*/g, function(txt) {\r\n return txt.charAt(0).toUpperCase() + txt.substr(1).toLowerCase();\r\n });\r\n for (i = 0; i < regions.length; i++) {\r\n if (regions[i][0] === input) {\r\n return regions[i][1];\r\n }\r\n }\r\n } else if (to === 2) {\r\n input = input.toUpperCase();\r\n for (i = 0; i < regions.length; i++) {\r\n if (regions[i][1] === input) {\r\n return regions[i][0];\r\n }\r\n }\r\n }\r\n }\r\n return (\r\n \r\n
\r\n \r\n {\r\n setShowInquiryDialog(false);\r\n console.log(User);\r\n setValues({\r\n ...values,\r\n name_on_card: `${User.firstName} ${User.lastName}`,\r\n cardholder_billing_address_line_1: `${User.address}`,\r\n city: `${User.city}`,\r\n zip: `${User.zipCode}`,\r\n state: `${convertRegion(User.state, 2)}`,\r\n country: `United States`\r\n });\r\n }}\r\n >\r\n All\r\n \r\n \r\n

{`${User.firstName} ${User.lastName} : ${User.address} ${User.city} ${User.zipCode} ${User.state} United States`}

\r\n
\r\n
\r\n
\r\n \r\n {\r\n setShowInquiryDialog(false);\r\n setValues({\r\n ...values,\r\n name_on_card: `${User.firstName} ${User.lastName}`\r\n });\r\n }}\r\n >\r\n Just the Patient Name\r\n \r\n \r\n

{`${User.firstName} ${User.lastName}`}

\r\n
\r\n
\r\n
\r\n \r\n {\r\n setShowInquiryDialog(false);\r\n setValues({\r\n ...values,\r\n cardholder_billing_address_line_1: `${User.address}`,\r\n city: `${User.city}`,\r\n zip: `${User.zipCode}`,\r\n state: `${convertRegion(User.state, 2)}`,\r\n country: `United States`\r\n });\r\n }}\r\n >\r\n Just the Patient Address\r\n \r\n \r\n

{`${User.address} ${User.city} ${User.zipCode} ${User.state} United States`}

\r\n
\r\n
\r\n
\r\n setShowInquiryDialog(false)}\r\n >\r\n None\r\n \r\n
\r\n );\r\n};\r\n\r\nconst mapStateToProps = state => ({\r\n User: state.User\r\n});\r\nconst mapDispatchToProps = dispatch => ({\r\n setTransaction: transaction =>\r\n dispatch({ type: 'SET_TRANSACTION', transaction })\r\n});\r\nexport default connect(\r\n mapStateToProps,\r\n mapDispatchToProps\r\n)(IncDialog);\r\n","export const Months = [\r\n { numCode: '01', name: 'January' },\r\n { numCode: '02', name: 'February' },\r\n { numCode: '03', name: 'March' },\r\n { numCode: '04', name: 'April' },\r\n { numCode: '05', name: 'May' },\r\n { numCode: '06', name: 'June' },\r\n { numCode: '07', name: 'July' },\r\n { numCode: '08', name: 'August' },\r\n { numCode: '09', name: 'September' },\r\n { numCode: '10', name: 'October' },\r\n { numCode: '11', name: 'November' },\r\n { numCode: '12', name: 'December' }\r\n];\r\n\r\nexport const States = [\r\n 'Alabama',\r\n 'Alaska',\r\n 'American Samoa',\r\n 'Arizona',\r\n 'Arkansas',\r\n 'California',\r\n 'Colorado',\r\n 'Connecticut',\r\n 'Delaware',\r\n 'District of Columbia',\r\n 'Florida',\r\n 'Georgia',\r\n 'Guam',\r\n 'Hawaii',\r\n 'Idaho',\r\n 'Illinois',\r\n 'Indiana',\r\n 'Iowa',\r\n 'Kansas',\r\n 'Kentucky',\r\n 'Louisiana',\r\n 'Maine',\r\n 'Marshall Islands',\r\n 'Maryland',\r\n 'Massachusetts',\r\n 'Michigan',\r\n 'Minnesota',\r\n 'Mississippi',\r\n 'Missouri',\r\n 'Montana',\r\n 'Nebraska',\r\n 'Nevada',\r\n 'New Hampshire',\r\n 'New Jersey',\r\n 'New Mexico',\r\n 'New York',\r\n 'North Carolina',\r\n 'North Dakota',\r\n 'Ohio',\r\n 'Oklahoma',\r\n 'Oregon',\r\n 'Palau',\r\n 'Pennsylvania',\r\n 'Puerto Rico',\r\n 'Rhode Island',\r\n 'South Carolina',\r\n 'South Dakota',\r\n 'Tennessee',\r\n 'Texas',\r\n 'Utah',\r\n 'Vermont',\r\n 'Virgin Island',\r\n 'Virginia',\r\n 'Washington',\r\n 'West Virginia',\r\n 'Wisconsin',\r\n 'Wyoming'\r\n];\r\n\r\nexport const Countries = ['United States'];\r\n","import toastr from 'toastr';\r\nimport React from 'react';\r\nimport moment from 'moment';\r\nimport { connect } from 'react-redux';\r\nimport { SideNav, Header } from '../..';\r\nimport { useState, useEffect } from 'react';\r\nimport { Dialog, DialogTitle } from '@material-ui/core';\r\nimport {\r\n formatMoney,\r\n API_BASE,\r\n formatZip,\r\n setTabTitle,\r\n isNonProductionEnv\r\n} from '../../../utilities';\r\nimport { FontAwesomeIcon as Icon } from '@fortawesome/react-fontawesome';\r\nimport { TextValidator } from 'react-material-ui-form-validator';\r\nimport jwtDecode from 'jwt-decode';\r\nimport {\r\n faCcAmex,\r\n faCcVisa,\r\n faCcDiscover,\r\n faCcMastercard\r\n} from '@fortawesome/free-brands-svg-icons';\r\nimport { Prompt, Link } from 'react-router-dom';\r\nimport AuthService from '../../../lib/AuthService';\r\nimport {\r\n Typography as Label,\r\n Button,\r\n FormControlLabel,\r\n Select,\r\n MenuItem,\r\n FormControl,\r\n InputLabel,\r\n OutlinedInput,\r\n Checkbox,\r\n CircularProgress,\r\n FormHelperText,\r\n makeStyles\r\n} from '@material-ui/core';\r\nimport {\r\n ContentArea,\r\n PayBillContainer,\r\n PayBillFormContainer,\r\n CardIconContainer,\r\n ViewContainer,\r\n FlexDiv,\r\n DialogBody,\r\n Row\r\n} from './PayBillStyles';\r\nimport Axios from 'axios';\r\nimport IncDialog from './IncDialog';\r\nimport { useLanguage } from '../../common';\r\nimport { Months, States, Countries } from './data';\r\nimport styled from 'styled-components';\r\nimport { PBPTable } from 'components/common';\r\nimport { theme } from 'lib/theme';\r\nconst Years = [];\r\nconst UserInformationWrapper = styled.div`\r\n display: flex;\r\n flex-wrap: wrap;\r\n border-bottom: 2px solid ${theme.palette.divider};\r\n padding: 16px 15px;\r\n & > * {\r\n margin-bottom: '12px';\r\n }\r\n\r\n .MuiButtonBase-root {\r\n background-color: #abab25;\r\n }\r\n a {\r\n text-decoration: none;\r\n }\r\n p {\r\n font-weight: 500;\r\n }\r\n button {\r\n margin-top: 2px;\r\n margin-left: 10px;\r\n white-space: nowrap;\r\n color: black;\r\n }\r\n @media screen and (min-width: 890px) {\r\n padding: 16px 15px;\r\n button {\r\n margin-top: 2px;\r\n margin-left: 10px;\r\n white-space: nowrap;\r\n color: black;\r\n &:hover {\r\n color: white;\r\n background-color: #415463;\r\n }\r\n }\r\n }\r\n`;\r\nconst TableFooterRow = styled.tr`\r\n & td {\r\n border-top: 1px solid black;\r\n }\r\n`;\r\nconst GoBackButton = styled(Link)`\r\n width: 200px;\r\n height: 50px;\r\n & button {\r\n width: 100%;\r\n height: 100%;\r\n }\r\n`;\r\nfor (let year = moment().year(); year < moment().year() + 10; year++) {\r\n Years.push(year);\r\n}\r\n\r\nconst useStyles = makeStyles({\r\n errorFormHelperText: {\r\n marginBottom: '12px',\r\n color: 'red',\r\n fontWeight: 300\r\n }\r\n});\r\nfunction PayBill({\r\n User,\r\n PayInvoices,\r\n history,\r\n setTransaction,\r\n setUser,\r\n hasLogoutTimerStart,\r\n resetPayInvoices,\r\n ...props\r\n}) {\r\n const classes = useStyles();\r\n const [showDialog, setShowDialog] = useState(false);\r\n const [auth] = useState(new AuthService());\r\n const [decodedJWT] = useState(jwtDecode(auth.getToken()));\r\n const [showInquiryDialog, setShowInquiryDialog] = useState(false);\r\n const [showMobileNav, setShowMobileNav] = useState(false);\r\n const [values, setValues] = useState({\r\n cvv: '',\r\n zip: '',\r\n city: '',\r\n year: '',\r\n email: '',\r\n month: '',\r\n state: '',\r\n amount: '',\r\n country: '',\r\n pay_amount: '',\r\n card_number: '',\r\n name_on_card: '',\r\n email_receipt: false,\r\n cardholder_billing_address_line_1: '',\r\n cardholder_billing_address_line_2: ''\r\n });\r\n\r\n const { getLanguageText, language } = useLanguage();\r\n const [isBlocking, setIsBlocking] = useState(false);\r\n const [didPaymentSucceed, setDidPaymentSucceed] = useState(false);\r\n const [dropdownErrors, setDropdownErrors] = useState({\r\n hasMonthError: false,\r\n hasYearError: false,\r\n hasStateError: false,\r\n hasCountryError: false\r\n });\r\n const [required, setRequired] = useState(true);\r\n const [isPaymentHappening, setIsPaymentHappening] = useState(false);\r\n\r\n const paidClientId = PayInvoices.paidClientId;\r\n\r\n const correctBalance = PayInvoices?.divisions[paidClientId]?.invoicesSum;\r\n useEffect(() => {\r\n setTabTitle('Pay Bill');\r\n }, []);\r\n\r\n const [invoices, setInvoices] = useState([]);\r\n useEffect(() => {\r\n if (\r\n PayInvoices &&\r\n PayInvoices?.divisions[paidClientId] &&\r\n PayInvoices?.divisions[paidClientId]?.invoices\r\n ) {\r\n setInvoices(\r\n Object.keys(PayInvoices?.divisions[paidClientId]?.invoices).reduce(\r\n (invoicesAccumulator, currInvoiceKey, i) => {\r\n const invoice =\r\n PayInvoices?.divisions[paidClientId]?.invoices[currInvoiceKey];\r\n if (invoice.PaymentAmount <= 0) {\r\n return invoicesAccumulator;\r\n }\r\n return invoicesAccumulator.concat({\r\n InvoiceNumber: invoice.InvoiceNumber,\r\n PaymentAmount: Number(Number(invoice.PaymentAmount).toFixed(2)),\r\n Sequence: ++i,\r\n isCollections: invoice.isCollections\r\n });\r\n },\r\n []\r\n )\r\n );\r\n }\r\n }, [PayInvoices, paidClientId]);\r\n\r\n useEffect(() => {\r\n if (didPaymentSucceed === true) {\r\n history.push('/Account/Pay/Confirmation');\r\n }\r\n }, [didPaymentSucceed, history]);\r\n\r\n useEffect(() => {\r\n setValues(prevState => {\r\n return {\r\n ...prevState,\r\n email: User.email\r\n };\r\n });\r\n }, [User.email, setUser]);\r\n\r\n useEffect(() => {\r\n if (Number(decodedJWT.InquiryCommandID) === 2) {\r\n setRequired(false);\r\n setValues(prevValues => {\r\n return {\r\n ...prevValues,\r\n name_on_card: 'Insurance'\r\n };\r\n });\r\n }\r\n }, [setValues, decodedJWT]);\r\n\r\n useEffect(() => {\r\n const empID = Number(decodedJWT.EmpID);\r\n const incCmdID = Number(decodedJWT.InquiryCommandID);\r\n const isPatient = incCmdID === 1;\r\n const isEmployee = empID > 0;\r\n if (isPatient && isEmployee) {\r\n setShowInquiryDialog(true);\r\n }\r\n }, []);\r\n\r\n function emailReceipt() {\r\n setValues({ ...values, email_receipt: !values.email_receipt });\r\n }\r\n\r\n const getCardType = number => {\r\n // visa\r\n var re = new RegExp('^4');\r\n if (number.match(re) != null) return 'Visa';\r\n\r\n // Mastercard\r\n // Updated for Mastercard 2017 BINs expansion\r\n if (\r\n /^(5[1-5][0-9]{14}|2(22[1-9][0-9]{12}|2[3-9][0-9]{13}|[3-6][0-9]{14}|7[0-1][0-9]{13}|720[0-9]{12}))$/.test(\r\n number\r\n )\r\n )\r\n return 'Mastercard';\r\n\r\n // AMEX\r\n re = new RegExp('^3[47]');\r\n if (number.match(re) != null) return 'AMEX';\r\n\r\n // Discover\r\n re = new RegExp(\r\n '^(6011|622(12[6-9]|1[3-9][0-9]|[2-8][0-9]{2}|9[0-1][0-9]|92[0-5]|64[4-9])|65)'\r\n );\r\n if (number.match(re) != null) return 'Discover';\r\n };\r\n\r\n function updateValues({ target }) {\r\n const { name, value } = target;\r\n setIsBlocking(true);\r\n if (name === 'month') {\r\n setDropdownErrors({\r\n ...dropdownErrors,\r\n hasMonthError: false\r\n });\r\n }\r\n if (name === 'year') {\r\n setDropdownErrors({\r\n ...dropdownErrors,\r\n hasYearError: false\r\n });\r\n }\r\n if (name === 'state') {\r\n setDropdownErrors({\r\n ...dropdownErrors,\r\n hasStateError: false\r\n });\r\n }\r\n if (name === 'country') {\r\n setDropdownErrors({\r\n ...dropdownErrors,\r\n hasCountryError: false\r\n });\r\n }\r\n // debugger;\r\n if (name === 'amount') {\r\n if (isNaN(value)) {\r\n values.amount = '';\r\n } else {\r\n values.amount = value;\r\n }\r\n setValues({ ...values, pay_amount: 'Other Amount' });\r\n return;\r\n }\r\n\r\n if (name === 'city') {\r\n const numbers = [0, 1, 2, 3, 4, 5, 6, 7, 8, 9];\r\n const lastKey = value[value.length - 1];\r\n\r\n if (lastKey) {\r\n if (numbers.includes(parseInt(lastKey))) {\r\n return;\r\n }\r\n } else {\r\n if (numbers.includes(value)) {\r\n return;\r\n }\r\n }\r\n\r\n if (value.length === 0) {\r\n setValues({ ...values, city: '' });\r\n }\r\n }\r\n\r\n if (name === 'pay_amount') {\r\n const newVals = { ...values };\r\n\r\n switch (value) {\r\n case 'Current Balance': {\r\n setValues({ ...values, pay_amount: 'Current Balance' });\r\n newVals.amount = formatMoney(correctBalance);\r\n break;\r\n }\r\n case 'Minimum Amount': {\r\n setValues({ ...values, pay_amount: 'Minimum Amount' });\r\n newVals.amount = formatMoney('25.00');\r\n break;\r\n }\r\n case 'Other Amount': {\r\n newVals.amount = '';\r\n break;\r\n }\r\n default:\r\n break;\r\n }\r\n\r\n setValues({ ...newVals, [name]: value });\r\n\r\n return;\r\n }\r\n\r\n if (name === 'card_number') {\r\n const numbers = [0, 1, 2, 3, 4, 5, 6, 7, 8, 9];\r\n if (value.length > 19) {\r\n // There are no credit cards longer than 19 digits\r\n return;\r\n }\r\n\r\n if (value.length > 0) {\r\n for (let idx = 0; idx < value.length; idx++) {\r\n if (!numbers.includes(parseInt(value[idx]))) {\r\n return;\r\n }\r\n }\r\n }\r\n }\r\n\r\n if (name === 'cvv') {\r\n const numbers = [0, 1, 2, 3, 4, 5, 6, 7, 8, 9];\r\n if (value.length > 4) {\r\n // The CVV is never longer than 4 digits, the average is 3\r\n return;\r\n }\r\n\r\n if (value.length > 0) {\r\n for (let idx = 0; idx < value.length; idx++) {\r\n if (!numbers.includes(parseInt(value[idx]))) {\r\n return;\r\n }\r\n }\r\n }\r\n }\r\n if (name === 'zip') {\r\n setValues({\r\n ...values,\r\n [name]: formatZip(value)\r\n });\r\n return;\r\n }\r\n\r\n setValues({ ...values, [name]: value });\r\n }\r\n\r\n function showConfirmDialog() {\r\n const dropdownErrors = {\r\n hasMonthError: false,\r\n hasYearError: false,\r\n hasStateError: false,\r\n hasCountryError: false\r\n };\r\n let hasError = false;\r\n if (month === '') {\r\n hasError = true;\r\n dropdownErrors.hasMonthError = true;\r\n }\r\n if (year === '') {\r\n hasError = true;\r\n dropdownErrors.hasYearError = true;\r\n }\r\n if (required) {\r\n if (state === '') {\r\n hasError = true;\r\n dropdownErrors.hasStateError = true;\r\n }\r\n if (country === '') {\r\n hasError = true;\r\n dropdownErrors.hasCountryError = true;\r\n }\r\n }\r\n if (hasError) {\r\n setDropdownErrors({\r\n ...dropdownErrors\r\n });\r\n } else {\r\n setShowDialog(true);\r\n }\r\n }\r\n\r\n function onConfirmPayment() {\r\n setShowDialog(false);\r\n const {\r\n card_number,\r\n cvv,\r\n name_on_card,\r\n month,\r\n year,\r\n city,\r\n state,\r\n zip,\r\n country,\r\n cardholder_billing_address_line_1\r\n } = values;\r\n const model = {\r\n id: `${decodedJWT.ID}`,\r\n Invoices: invoices,\r\n CentricityGroup: User.centricityGroup,\r\n CentricityGID: Number(User.centricityGID),\r\n CentricityDivisionClientID: PayInvoices?.paidClientId,\r\n hospAcctNbr: null,\r\n patientName: `${User.firstName} ${User.lastName}`,\r\n empId: decodedJWT.EmpID,\r\n InquiryCommandID: Number(decodedJWT.InquiryCommandID),\r\n patientEmail: values.email_receipt ? values.email : '',\r\n facPhone: User.facPhone,\r\n firstName: User.firstName,\r\n lastName: User.lastName,\r\n middleName: User.mInitial,\r\n dateOfBirth: User.dateOfBirth,\r\n balance: correctBalance,\r\n paymentAmount: PayInvoices.divisions[paidClientId].invoicesSum,\r\n phoneNumber: User.homePhone,\r\n ivrContactSessionID: '1219000211',\r\n sourceSystem: User.sourceSystem,\r\n ApplicationName: 'PBP',\r\n ApplicationID: 3,\r\n creditCard: {\r\n type: getCardType(card_number),\r\n cardholder_name: name_on_card,\r\n card_number: card_number,\r\n exp_date: `${month}${Number(year) % 1000}`,\r\n cvv: cvv,\r\n specialpayment: null\r\n },\r\n paymentType: decodedJWT.InquiryCommandID\r\n ? decodedJWT.InquiryCommandID\r\n : 1,\r\n recurringType: 0,\r\n SendCreditCardPaymentReceipt: values.email_receipt,\r\n billing_Address: {\r\n city: city,\r\n street: cardholder_billing_address_line_1,\r\n state_province: state,\r\n country: country,\r\n zip_postal_code: zip,\r\n email: User.email,\r\n phone: {\r\n type: 0,\r\n number: null\r\n }\r\n }\r\n };\r\n\r\n setIsPaymentHappening(true);\r\n console.log(model);\r\n Axios.post(\r\n `${API_BASE}/DoctorBill/Payment`,\r\n {\r\n ...model\r\n },\r\n {\r\n headers: {\r\n user_token: auth.getToken(),\r\n Pragma: 'no-cache'\r\n }\r\n }\r\n )\r\n .then(async response => {\r\n const { data } = response;\r\n if (data.status === true) {\r\n toastr.success(data.description);\r\n setTransaction({\r\n ...data,\r\n invoices\r\n });\r\n resetPayInvoices(invoices);\r\n setIsBlocking(false);\r\n setDidPaymentSucceed(true);\r\n try {\r\n const { data: dataUser } = await Axios({\r\n method: 'get',\r\n url: `${API_BASE}/DoctorBill/RefreshAccount`,\r\n headers: {\r\n user_token: auth.getToken(),\r\n Pragma: 'no-cache'\r\n }\r\n });\r\n\r\n setUser(dataUser);\r\n } catch (err) {\r\n console.log({ err });\r\n toastr.error(getLanguageText('Please refresh the page.'));\r\n }\r\n } else {\r\n console.log(data.description);\r\n toastr.error(data.description);\r\n }\r\n })\r\n .catch(error => {\r\n console.log({ error });\r\n toastr.error(getLanguageText(error.response && error.response.data));\r\n })\r\n .finally(() => {\r\n setIsPaymentHappening(false);\r\n });\r\n }\r\n\r\n function toggleMobileNav() {\r\n setShowMobileNav(!showMobileNav);\r\n }\r\n\r\n const yearLabel = React.useRef(null);\r\n const monthLabel = React.useRef(null);\r\n const stateLabel = React.useRef(null);\r\n const countryLabel = React.useRef(null);\r\n\r\n const [yearWidth, setYearWidth] = React.useState(0);\r\n const [stateWidth, setStateWidth] = React.useState(0);\r\n const [monthWidth, setMonthWidth] = React.useState(0);\r\n const [countryWidth, setCountryWidth] = React.useState(0);\r\n\r\n React.useEffect(() => {\r\n setYearWidth(yearLabel.current.offsetWidth);\r\n setStateWidth(stateLabel.current.offsetWidth);\r\n setMonthWidth(monthLabel.current.offsetWidth);\r\n setCountryWidth(countryLabel.current.offsetWidth);\r\n }, []);\r\n\r\n const {\r\n cvv,\r\n zip,\r\n city,\r\n year,\r\n month,\r\n email,\r\n state,\r\n country,\r\n card_number,\r\n name_on_card,\r\n email_receipt,\r\n cardholder_billing_address_line_1,\r\n cardholder_billing_address_line_2\r\n } = values;\r\n\r\n return (\r\n \r\n \r\n
\r\n \r\n \r\n \r\n \r\n \r\n \r\n {\r\n showConfirmDialog();\r\n }}\r\n onError={errors => {\r\n setShowDialog(false);\r\n }}\r\n >\r\n \r\n \r\n

\r\n {getLanguageText('No Invoices Found to make Payment.')}\r\n

\r\n \r\n \r\n \r\n \r\n }\r\n columns={React.useMemo(() => {\r\n return [\r\n {\r\n Header: getLanguageText('Invoice'),\r\n accessor: 'InvoiceNumber',\r\n Cell: data => {\r\n return (\r\n
\r\n {data.cell.value}\r\n
\r\n );\r\n }\r\n },\r\n {\r\n Header: getLanguageText('Amount'),\r\n accessor: 'PaymentAmount',\r\n Cell: data => {\r\n const { InvoiceNumber } = data.row.values;\r\n return (\r\n \r\n ${data.cell.value}\r\n \r\n );\r\n }\r\n }\r\n ];\r\n }, [getLanguageText])}\r\n data={invoices.map(invoice => {\r\n return {\r\n ...invoice,\r\n PaymentAmount: formatMoney(invoice.PaymentAmount)\r\n };\r\n })}\r\n hidePayButton\r\n >\r\n \r\n \r\n \r\n \r\n $\r\n {formatMoney(\r\n PayInvoices?.divisions[paidClientId]?.invoicesSum\r\n )}\r\n {' '}\r\n - {getLanguageText('Total')}\r\n \r\n \r\n \r\n
\r\n {\r\n const URL = document.location.href;\r\n if (URL.includes('localhost:3000')) {\r\n return {\r\n display: 'flex'\r\n };\r\n } else {\r\n return {\r\n display: 'none'\r\n };\r\n }\r\n })()}\r\n >\r\n {\r\n const URL = document.location.href;\r\n if (URL.includes('localhost:3000')) {\r\n setValues(prevState => {\r\n return {\r\n ...prevState,\r\n cvv: '123',\r\n zip: '12345',\r\n city: 'a',\r\n year: '2021',\r\n email: '',\r\n month: '01',\r\n state: 'Georgia',\r\n amount: '',\r\n country: 'United States',\r\n pay_amount: '',\r\n card_number: '4111111111111111',\r\n name_on_card: 'a',\r\n email_receipt: false,\r\n cardholder_billing_address_line_1: 'a',\r\n cardholder_billing_address_line_2: ''\r\n };\r\n });\r\n }\r\n }}\r\n >\r\n fill\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n
\r\n \r\n \r\n {`${getLanguageText('Month')} *`}\r\n \r\n }\r\n >\r\n {Months &&\r\n Months.map(month => (\r\n \r\n {getLanguageText(month.name)}\r\n \r\n ))}\r\n \r\n {dropdownErrors.hasMonthError && (\r\n \r\n {getLanguageText('Please select a month.')}\r\n \r\n )}\r\n \r\n
\r\n
\r\n \r\n {`${getLanguageText(\r\n 'Year'\r\n )} *`}\r\n }\r\n >\r\n {Years &&\r\n Years.map(year => (\r\n \r\n {year}\r\n \r\n ))}\r\n \r\n {dropdownErrors.hasYearError && (\r\n \r\n {getLanguageText('Please select a year.')}\r\n \r\n )}\r\n \r\n
\r\n
\r\n \r\n
\r\n
\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n
\r\n \r\n
\r\n
\r\n \r\n \r\n {required\r\n ? `${getLanguageText('State')} *`\r\n : getLanguageText('State')}\r\n \r\n }\r\n >\r\n {States &&\r\n States.map(state => (\r\n \r\n {state}\r\n \r\n ))}\r\n \r\n {dropdownErrors.hasStateError && (\r\n \r\n {getLanguageText('Please select a state.')}\r\n \r\n )}\r\n \r\n
\r\n
\r\n \r\n \r\n {required\r\n ? `${getLanguageText('Country')} *`\r\n : getLanguageText('Country')}\r\n \r\n }\r\n >\r\n {Countries &&\r\n Countries.map(country => (\r\n \r\n {country}\r\n \r\n ))}\r\n \r\n {dropdownErrors.hasCountryError && (\r\n \r\n {getLanguageText('Please select a country.')}\r\n \r\n )}\r\n \r\n
\r\n
\r\n
\r\n \r\n \r\n }\r\n label={getLanguageText(\r\n 'Please email me a copy of my receipt.'\r\n )}\r\n labelPlacement=\"end\"\r\n />\r\n \r\n \r\n {email_receipt && (\r\n \r\n \r\n \r\n )}\r\n \r\n
\r\n\r\n
\r\n \r\n {getLanguageText('Pay Now')}\r\n {isPaymentHappening ? : null}\r\n \r\n history.goBack()}\r\n disabled={isPaymentHappening}\r\n >\r\n {getLanguageText('Cancel')}\r\n \r\n
\r\n {}} open={showDialog}>\r\n \r\n {getLanguageText('Please Confirm Payment')}\r\n \r\n \r\n \r\n \r\n {getLanguageText('Proceed')}\r\n \r\n setShowDialog(false)}\r\n >\r\n {getLanguageText('Cancel')}\r\n \r\n \r\n \r\n {}}\r\n open={showInquiryDialog}\r\n >\r\n \r\n What information would you like auto populated:\r\n \r\n \r\n \r\n \r\n
\r\n
\r\n \r\n );\r\n}\r\n\r\nconst mapStateToProps = state => ({\r\n User: state.User,\r\n PayInvoices: state.PayInvoices\r\n});\r\nconst mapDispatchToProps = dispatch => ({\r\n setTransaction: transaction =>\r\n dispatch({ type: 'SET_TRANSACTION', transaction }),\r\n setUser: user => dispatch({ type: 'SET_USER', user }),\r\n resetPayInvoices: invoices =>\r\n dispatch({ type: 'RESET_PAY_INVOICES_STATE', invoices })\r\n});\r\n\r\nexport default connect(\r\n mapStateToProps,\r\n mapDispatchToProps\r\n)(PayBill);\r\n","import styled from 'styled-components';\r\nconst ContentArea = styled.div`\r\n display: flex;\r\n flex-direction: column;\r\n width: 100%;\r\n height: auto;\r\n fieldset {\r\n padding: 10px 15px;\r\n border-radius: 5px;\r\n }\r\n\r\n a {\r\n color: #000;\r\n text-decoration: none;\r\n }\r\n\r\n .MuiButtonBase-root {\r\n background-color: #abab25;\r\n }\r\n\r\n button {\r\n white-space: nowrap;\r\n\r\n &:hover {\r\n color: #fff;\r\n a {\r\n color: #fff;\r\n }\r\n background-color: #415463;\r\n }\r\n }\r\n`;\r\nconst ConfirmationView = styled.div`\r\n width: 100%;\r\n height: 100%;\r\n margin: 24px auto 0 auto;\r\n @media screen and (min-width: 960px) {\r\n width: 60%;\r\n }\r\n`;\r\nconst ConfirmationContainer = styled.div`\r\n position: ${props => (props.showMobileNav === true ? 'absolute' : 'static')};\r\n height: 100%;\r\n width: 100%;\r\n h1 {\r\n margin: 0 auto;\r\n }\r\n\r\n hr {\r\n width: 100%;\r\n border-bottom: 1px solid rgba(0, 0, 0, 0.87);\r\n }\r\n\r\n .action {\r\n display: block;\r\n text-align: center;\r\n margin: 16px 0;\r\n\r\n &:hover {\r\n cursor: pointer;\r\n }\r\n\r\n path {\r\n color: #000;\r\n }\r\n }\r\n @media print and (color) {\r\n * {\r\n -webkit-print-color-adjust: exact;\r\n print-color-adjust: exact;\r\n }\r\n }\r\n`;\r\nconst ConfirmationHeader = styled.div`\r\n display: flex;\r\n flex-direction: column;\r\n align-items: center;\r\n`;\r\nconst ConfirmationBody = styled.div`\r\n display: flex;\r\n flex-direction: column;\r\n align-items: center;\r\n`;\r\nconst DetailsContainer = styled.div`\r\n max-width: 600px;\r\n width: 100%;\r\n`;\r\nconst Detail = styled.div`\r\n display: flex;\r\n align-items: space-between;\r\n align-content: space-between;\r\n width: 100%;\r\n & > * {\r\n width: 100%;\r\n }\r\n`;\r\n\r\n//#region Pay Bill Content\r\nconst PayBillContent = styled.div`\r\n display: flex;\r\n width: 100%;\r\n height: 100%;\r\n min-height: 100vh;\r\n @media print {\r\n position: fixed;\r\n top: 100px;\r\n ${ConfirmationContainer} {\r\n width: 100%;\r\n }\r\n .user-information {\r\n display: none;\r\n }\r\n .action {\r\n display: none;\r\n }\r\n }\r\n\r\n @media screen and (min-width: 960px) {\r\n display: flex;\r\n }\r\n`;\r\nconst PrintContainer = styled.div`\r\n display: block;\r\n`;\r\nexport {\r\n ContentArea,\r\n ConfirmationContainer,\r\n ConfirmationHeader,\r\n ConfirmationBody,\r\n DetailsContainer,\r\n Detail,\r\n PayBillContent,\r\n PrintContainer,\r\n ConfirmationView\r\n};\r\n","import React, { useEffect } from 'react';\r\nimport moment from 'moment';\r\nimport { useState } from 'react';\r\nimport { connect } from 'react-redux';\r\n\r\nimport { SideNav, Header } from '../../';\r\nimport { setTabTitle, formatMoney } from '../../../utilities';\r\nimport { FontAwesomeIcon as Icon } from '@fortawesome/react-fontawesome';\r\nimport { UserInformation, useLanguage, PBPTable } from '../../common';\r\nimport {\r\n faPrint,\r\n faCheck,\r\n faCheckCircle\r\n} from '@fortawesome/free-solid-svg-icons';\r\n\r\nimport { Typography as Label } from '@material-ui/core';\r\n\r\nimport {\r\n ContentArea,\r\n ConfirmationContainer,\r\n ConfirmationHeader,\r\n ConfirmationBody,\r\n Detail,\r\n PayBillContent,\r\n DetailsContainer,\r\n PrintContainer,\r\n ConfirmationView\r\n} from './ConfirmPaymentStyles';\r\n\r\nfunction ConfirmPayment({ User, Transaction, PayInvoices }) {\r\n const [showMobileNav, setShowMobileNav] = useState(false);\r\n const { getLanguageText } = useLanguage();\r\n useEffect(() => {\r\n setTabTitle('Payment Confirmation');\r\n }, []);\r\n function toggleMobileNav() {\r\n setShowMobileNav(!showMobileNav);\r\n }\r\n\r\n return (\r\n \r\n
\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n

{getLanguageText('Payment Confirmation')}

\r\n
\r\n
\r\n \r\n \r\n
\r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n {getLanguageText('No Invoices to Display')}

\r\n }\r\n columns={React.useMemo(() => {\r\n return [\r\n {\r\n Header: getLanguageText('Invoice'),\r\n accessor: 'InvoiceNumber',\r\n Cell: data => {\r\n return (\r\n
\r\n {data.cell.value}\r\n
\r\n );\r\n }\r\n },\r\n {\r\n Header: getLanguageText('Amount'),\r\n accessor: 'PaymentAmount',\r\n Cell: data => {\r\n const { InvoiceNumber } = data.row.values;\r\n return (\r\n \r\n ${formatMoney(data.cell.value)}\r\n \r\n );\r\n }\r\n }\r\n ];\r\n }, [getLanguageText])}\r\n data={Transaction && Transaction.invoices}\r\n />\r\n
\r\n window.print()}\r\n id=\"confirm-payment-div-print\"\r\n className=\"action\"\r\n >\r\n \r\n  \r\n \r\n \r\n
\r\n
\r\n
\r\n
\r\n \r\n );\r\n}\r\n\r\nconst mapStateToProps = state => ({\r\n User: state.User,\r\n Transaction: state.Transaction\r\n});\r\n\r\nexport default connect(mapStateToProps)(ConfirmPayment);\r\n","import styled from 'styled-components';\r\n\r\nconst ContentArea = styled.div`\r\n background-color: white;\r\n width: 100%;\r\n height: 100%;\r\n display: flex;\r\n flex-direction: column;\r\n fieldset {\r\n padding: 10px 15px;\r\n border-radius: 5px;\r\n background-color: rgb(243, 242, 241);\r\n }\r\n\r\n a {\r\n color: #000;\r\n text-decoration: none;\r\n }\r\n`;\r\n\r\nconst HistoryContainer = styled.div`\r\n display: flex;\r\n height: 100%;\r\n min-height: 100vh;\r\n`;\r\n\r\nconst DesktopContainer = styled.div`\r\n display: flex;\r\n width: 100%;\r\n padding: 10px 15px;\r\n p.block {\r\n display: block;\r\n }\r\n\r\n table {\r\n width: 100%;\r\n border-top: 1px solid black;\r\n border-right: 1px solid black;\r\n border-bottom: 1px solid black;\r\n }\r\n\r\n table thead tr {\r\n background-color: gray;\r\n text-align: left;\r\n }\r\n\r\n table thead th {\r\n color: #fff;\r\n border-left: 1px solid black;\r\n\r\n &:hover {\r\n cursor: pointer;\r\n }\r\n }\r\n\r\n table tbody td {\r\n border-left: 1px solid black;\r\n }\r\n\r\n table tbody tr:nth-child(odd) {\r\n background-color: lightgray;\r\n }\r\n`;\r\n\r\nconst MobileContainer = styled.div`\r\n display: flex;\r\n flex-direction: column;\r\n padding: 10px 5px;\r\n width: 100%;\r\n height: 100%;\r\n`;\r\n\r\nconst HistoryContent = styled.div`\r\n position: ${props => (props.showMobileNav === true ? 'absolute' : 'static')};\r\n width: 100%;\r\n display: ${props => (props.showMobileNav === true ? '0' : 'flex')};\r\n flex-direction: column;\r\n\r\n ${DesktopContainer} {\r\n display: none;\r\n }\r\n\r\n @media screen and (min-width: 960px) {\r\n ${DesktopContainer} {\r\n display: flex;\r\n flex-direction: column;\r\n }\r\n\r\n ${MobileContainer} {\r\n display: none;\r\n }\r\n }\r\n\r\n .fa-check-circle {\r\n color: green;\r\n margin-right: 5px;\r\n }\r\n\r\n .fa-times-circle {\r\n color: red;\r\n }\r\n`;\r\n\r\nconst FilterContainer = styled.div`\r\n display: flex;\r\n max-width: 500px;\r\n gap: 10px;\r\n\r\n align-items: center;\r\n padding-bottom: 5px;\r\n button {\r\n width: 115px;\r\n height: 36px;\r\n align-self: flex-end;\r\n justify-self: flex-start;\r\n\r\n &:hover {\r\n color: #fff;\r\n }\r\n }\r\n @media screen and (max-width: 960px) {\r\n flex-direction: column;\r\n align-items: flex-start;\r\n max-width: 100%;\r\n button {\r\n width: 100%;\r\n flex-grow: 1;\r\n height: 36px;\r\n align-self: flex-end;\r\n justify-self: flex-start;\r\n\r\n &:hover {\r\n color: #fff;\r\n }\r\n }\r\n }\r\n`;\r\n\r\nconst CalenderInputMobileContainer = styled.div`\r\n width: 100%;\r\n display: flex;\r\n justify-content: space-around;\r\n`;\r\n\r\nconst DataCard = styled.div`\r\n display: flex;\r\n flex-direction: column;\r\n padding: 10px 15px;\r\n margin-bottom: 10px;\r\n border-radius: 5px;\r\n background-color: rgb(243, 242, 241);\r\n border: 1px solid rgba(0, 0, 0, 0.27);\r\n div {\r\n display: flex;\r\n align-items: center;\r\n justify-content: space-between;\r\n }\r\n\r\n div:last-child {\r\n display: block;\r\n margin-top: 10px;\r\n padding-top: 10px;\r\n border-top: 1px solid rgba(0, 0, 0, 0.27);\r\n }\r\n\r\n p {\r\n font-size: 16px;\r\n font-weight: 500;\r\n }\r\n`;\r\n\r\nconst CardListContainer = styled.div`\r\n display: flex;\r\n flex-direction: column;\r\n justify-content: space-between;\r\n margin-top: 15px;\r\n`;\r\n\r\nconst OpacityBlock = styled.div`\r\n position: absolute;\r\n left: 200px;\r\n right: 200px;\r\n top: 0;\r\n bottom: 0;\r\n display: flex;\r\n align-items: center;\r\n justify-content: center;\r\n flex-direction: column-reverse;\r\n p {\r\n font-size: 24px;\r\n white-space: nowrap;\r\n }\r\n`;\r\n\r\nconst CalendarContainer = styled.div`\r\n position: relative;\r\n\r\n p.label {\r\n font-size: 14px;\r\n }\r\n\r\n div.rc-calendar {\r\n position: absolute;\r\n }\r\n`;\r\n\r\nconst CalendarInputContainer = styled.div`\r\n width: 150px;\r\n display: flex;\r\n align-items: center;\r\n justify-content: space-between;\r\n\r\n height: 36px;\r\n padding: 0 5px;\r\n border-radius: 5px;\r\n border: 1px solid black;\r\n\r\n &:hover {\r\n cursor: pointer;\r\n }\r\n`;\r\n\r\nexport {\r\n ContentArea,\r\n HistoryContainer,\r\n DesktopContainer,\r\n MobileContainer,\r\n HistoryContent,\r\n FilterContainer,\r\n DataCard,\r\n CardListContainer,\r\n OpacityBlock,\r\n CalendarContainer,\r\n CalendarInputContainer,\r\n CalenderInputMobileContainer\r\n};\r\n","import axios from 'axios';\r\nimport React from 'react';\r\nimport Moment from 'moment';\r\nimport Calendar from 'rc-calendar';\r\nimport { Component } from 'react';\r\nimport { Header, SideNav } from '../..';\r\nimport { connect } from 'react-redux';\r\nimport { extendMoment } from 'moment-range';\r\n\r\nimport { API_BASE, formatMoney, setTabTitle } from '../../../utilities';\r\nimport { faCalendar } from '@fortawesome/free-regular-svg-icons';\r\nimport { FontAwesomeIcon as Icon } from '@fortawesome/react-fontawesome';\r\nimport {\r\n Typography as Label,\r\n Button,\r\n CircularProgress\r\n} from '@material-ui/core';\r\nimport { UserInformation, LanguageTranslator } from '../../common';\r\nimport AuthService from '../../../lib/AuthService';\r\nimport {\r\n ContentArea,\r\n HistoryContainer,\r\n DesktopContainer,\r\n MobileContainer,\r\n HistoryContent,\r\n FilterContainer,\r\n DataCard,\r\n CardListContainer,\r\n OpacityBlock,\r\n CalendarContainer,\r\n CalendarInputContainer,\r\n CalenderInputMobileContainer\r\n} from './HistoryStyles';\r\nimport uuidv4 from 'uuid/v4';\r\nconst Axios = axios.create({\r\n timeout: 30000,\r\n baseURL: API_BASE\r\n});\r\n\r\nconst moment = extendMoment(Moment);\r\n\r\nconst CalendarInput = ({\r\n label,\r\n onClick,\r\n onSelect,\r\n value,\r\n show,\r\n calendarInputContainerProps\r\n}) => {\r\n return (\r\n \r\n \r\n \r\n \r\n \r\n \r\n {show ? (\r\n \r\n ) : null}\r\n \r\n );\r\n};\r\n\r\nclass History extends Component {\r\n constructor(props) {\r\n super(props);\r\n this.state = {\r\n isSorting: false,\r\n isLoading: false,\r\n historyInfo: [],\r\n lastSortField: '',\r\n showMobileNav: false,\r\n toFilterDate: moment(),\r\n displaytoFilterDate: false,\r\n displayfromFilterDate: false,\r\n fromFilterDate: moment().add(-1, 'years')\r\n };\r\n this.loadState = this.loadState.bind(this);\r\n }\r\n\r\n filterDataByDate = () => {\r\n // debugger;\r\n const { AccountHistory } = this.props;\r\n const { toFilterDate, fromFilterDate } = this.state;\r\n const range = moment.range(fromFilterDate, toFilterDate);\r\n this.setState({\r\n historyInfo: AccountHistory.filter(h => range.contains(moment(h.hisDate)))\r\n });\r\n };\r\n\r\n resetFilters = () => {\r\n this.setState(\r\n {\r\n displayfromFilterDate: false,\r\n displaytoFilterDate: false,\r\n fromFilterDate: moment().add(-1, 'years'),\r\n toFilterDate: moment(),\r\n historyInfo: this.props.AccountHistory\r\n },\r\n () => {\r\n this.filterDataByDate();\r\n }\r\n );\r\n };\r\n\r\n onSelect = (field, date) => {\r\n const display = this.state[`display${field}`];\r\n this.setState(\r\n { [field]: moment(date), [`display${field}`]: !display },\r\n () => {\r\n this.filterDataByDate();\r\n }\r\n );\r\n };\r\n\r\n toggleMobileNav = () => {\r\n this.setState({ showMobileNav: !this.state.showMobileNav });\r\n };\r\n\r\n sortOn(field) {\r\n const { lastSortField } = this.state;\r\n const [...history] = this.state.historyInfo;\r\n\r\n if (field === lastSortField) {\r\n history.reverse();\r\n } else {\r\n history.sort((a, b) => {\r\n if (a[field] < b[field]) {\r\n return -1;\r\n }\r\n\r\n if (a[field] > b[field]) {\r\n return 1;\r\n }\r\n\r\n return 0;\r\n });\r\n }\r\n\r\n this.setState({ lastSortField: field, historyInfo: history });\r\n }\r\n loadState(isLoading) {\r\n this.setState({\r\n isLoading\r\n });\r\n }\r\n componentDidUpdate() {\r\n // debugger;\r\n const { AccountHistory } = this.props;\r\n const { historyInfo, isSorting } = this.state;\r\n\r\n if (\r\n historyInfo.length === 0 &&\r\n historyInfo.length !== AccountHistory.length &&\r\n !isSorting\r\n ) {\r\n this.setState(\r\n { historyInfo: this.props.AccountHistory, isSorting: true },\r\n () => {\r\n this.filterDataByDate();\r\n }\r\n );\r\n }\r\n }\r\n\r\n componentDidMount() {\r\n setTabTitle('Account History');\r\n const auth = new AuthService();\r\n const user_token = auth.getToken();\r\n if (user_token) {\r\n const decodedJWT = auth.getProfile();\r\n const { ID } = decodedJWT;\r\n this.loadState(true);\r\n Axios.get(`/DoctorBill/AccountHistoryByID/${ID}`, {\r\n headers: {\r\n user_token,\r\n Pragma: 'no-cache'\r\n }\r\n })\r\n .then(response => {\r\n const { data, status } = response;\r\n // console.log(data);\r\n if (status === 200) {\r\n const uuids = {};\r\n\r\n const generateUUID = () => {\r\n let uuid = uuidv4();\r\n if (uuids[uuid] === undefined) {\r\n uuids[uuid] = true;\r\n return uuid;\r\n } else {\r\n return generateUUID();\r\n }\r\n };\r\n\r\n this.props.setAccountHistory(\r\n data.map(historyObj => {\r\n return {\r\n ...historyObj,\r\n id: generateUUID()\r\n };\r\n })\r\n );\r\n }\r\n })\r\n .catch(error => {\r\n console.log(error);\r\n })\r\n .finally(() => {\r\n this.loadState(false);\r\n this.resetFilters();\r\n });\r\n }\r\n }\r\n\r\n render() {\r\n const { User } = this.props;\r\n const {\r\n showMobileNav,\r\n historyInfo,\r\n fromFilterDate,\r\n toFilterDate,\r\n displayfromFilterDate,\r\n displaytoFilterDate,\r\n isLoading\r\n } = this.state;\r\n // console.log(historyInfo);\r\n return (\r\n \r\n {({ getLanguageText }) => (\r\n \r\n
\r\n \r\n \r\n \r\n \r\n \r\n {isLoading ? (\r\n \r\n \r\n \r\n \r\n ) : (\r\n <>\r\n

\r\n {getLanguageText('Filter History by date')}\r\n

\r\n \r\n \r\n this.onSelect('fromFilterDate', date)\r\n }\r\n onClick={() =>\r\n this.setState({\r\n displayfromFilterDate: !displayfromFilterDate\r\n })\r\n }\r\n calendarInputContainerProps={{\r\n id: 'history-from-date-calendar'\r\n }}\r\n />\r\n\r\n this.onSelect('toFilterDate', date)}\r\n onClick={() =>\r\n this.setState({\r\n displaytoFilterDate: !displaytoFilterDate\r\n })\r\n }\r\n calendarInputContainerProps={{\r\n id: 'history-to-date-calendar'\r\n }}\r\n />\r\n\r\n \r\n {getLanguageText('Reset')}\r\n \r\n \r\n \r\n \r\n \r\n this.sortOn('hisDate')}\r\n width=\"200\"\r\n >\r\n {getLanguageText('Date of Transaction')}\r\n \r\n this.sortOn('hisAmt')}\r\n width=\"100\"\r\n >\r\n {getLanguageText('Amount')}\r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n {historyInfo &&\r\n historyInfo.map(hist => (\r\n \r\n \r\n \r\n \r\n \r\n \r\n ))}\r\n \r\n
this.sortOn('actDesc')}>\r\n {getLanguageText('Description')}\r\n this.sortOn('iPlan')}>Plan
\r\n {hist.formattedDate}\r\n \r\n ${formatMoney(hist.hisAmt)}\r\n {getLanguageText(hist.actDesc)}{hist.iPlan}
\r\n \r\n )}\r\n
\r\n\r\n \r\n {isLoading ? (\r\n \r\n \r\n \r\n \r\n ) : (\r\n <>\r\n \r\n

\r\n {getLanguageText('Filter history by date')}\r\n

\r\n \r\n Reset\r\n \r\n \r\n \r\n this.onSelect('fromFilterDate', date)\r\n }\r\n onClick={() =>\r\n this.setState({\r\n displayfromFilterDate: !displayfromFilterDate\r\n })\r\n }\r\n calendarInputProps={{\r\n id: 'mobile-history-from-date-calendar'\r\n }}\r\n />\r\n\r\n \r\n this.onSelect('toFilterDate', date)\r\n }\r\n onClick={() =>\r\n this.setState({\r\n displaytoFilterDate: !displaytoFilterDate\r\n })\r\n }\r\n calendarInputProps={{\r\n id: 'mobile-history-to-date-calendar'\r\n }}\r\n />\r\n \r\n
\r\n \r\n {historyInfo &&\r\n historyInfo.map(hist => (\r\n \r\n
\r\n \r\n {hist.iPlan}\r\n
\r\n
\r\n \r\n ${hist.hisAmt}\r\n
\r\n\r\n
\r\n \r\n \r\n {hist.formattedDate}\r\n \r\n
\r\n\r\n
\r\n \r\n {hist.actDesc}\r\n
\r\n \r\n ))}\r\n
\r\n \r\n )}\r\n
\r\n
\r\n
\r\n \r\n )}\r\n \r\n );\r\n }\r\n}\r\n\r\nconst mapStateToProps = state => ({\r\n AccountHistory: state.AccountHistory,\r\n User: state.User\r\n});\r\n\r\nconst mapDispatchToProps = dispatch => ({\r\n setAccountHistory: update => dispatch({ type: 'SET_ACCOUNT_HISTORY', update })\r\n});\r\n\r\nexport default connect(\r\n mapStateToProps,\r\n mapDispatchToProps\r\n)(History);\r\n","import React from 'react';\r\nimport styled from 'styled-components';\r\nimport { useLanguage } from '../../../common';\r\n\r\nconst AccountCardWrapper = styled.div`\r\n position: relative;\r\n width: 100%;\r\n max-width: 1200px;\r\n background: rgb(243, 242, 241);\r\n fieldset {\r\n height: 100%;\r\n }\r\n & h4 {\r\n margin: 0;\r\n }\r\n legend {\r\n line-height: 0;\r\n }\r\n\r\n a {\r\n color: #000;\r\n text-decoration: none;\r\n }\r\n`;\r\n\r\nexport const AccountCard = ({\r\n children,\r\n legend = '',\r\n buttonsProps,\r\n isEditing,\r\n showFieldButtons = true,\r\n ...props\r\n}) => {\r\n const { getLanguageText } = useLanguage();\r\n return (\r\n \r\n
\r\n {legend && (\r\n \r\n {getLanguageText(legend)}\r\n \r\n )}\r\n
{children}
\r\n
\r\n
\r\n );\r\n};\r\n\r\nconst AccountCardRow = styled.div`\r\n display: flex;\r\n width: 100%;\r\n & > *:first-child {\r\n padding-left: 0;\r\n }\r\n & > * {\r\n width: 100%;\r\n padding-left: 12px;\r\n }\r\n margin-bottom: 24px;\r\n`;\r\nconst AccountCardRow2 = styled.div`\r\n display: flex;\r\n width: 100%;\r\n & > *:first-child {\r\n padding-left: 0;\r\n }\r\n & > * {\r\n width: 100%;\r\n padding-left: 12px;\r\n }\r\n margin-bottom: 24px;\r\n`;\r\nAccountCard.Row2 = ({ children }) => {\r\n return {children};\r\n};\r\nAccountCard.Row = ({ children }) => {\r\n return {children};\r\n};\r\n","import React from 'react';\r\nimport { Typography as Label } from '@material-ui/core';\r\n\r\nexport const CardLabel = ({ labelID, labelSubject, children, ...props }) => {\r\n return (\r\n
\r\n

{labelSubject}

\r\n \r\n
\r\n );\r\n};\r\n","import styled from 'styled-components';\r\n\r\nconst AccountCardRow = styled.div`\r\n display: flex;\r\n width: 100%;\r\n & > *:first-child {\r\n padding-left: 0;\r\n }\r\n & > * {\r\n width: 100%;\r\n padding-left: 12px;\r\n }\r\n margin-bottom: 24px;\r\n`;\r\nconst AccountCardRow3 = styled.div`\r\n display: flex;\r\n flex-wrap: wrap;\r\n width: 100%;\r\n & > * {\r\n width: 23%;\r\n min-width: 150px;\r\n min-height: 30px;\r\n margin: 8px 4px;\r\n }\r\n`;\r\nconst AccountCardRow2 = styled.div`\r\n display: flex;\r\n flex-wrap: wrap;\r\n width: 100%;\r\n & > * {\r\n width: 25%;\r\n min-width: 150px;\r\n min-height: 44px;\r\n margin: 4px 8px;\r\n }\r\n`;\r\n\r\nexport { AccountCardRow, AccountCardRow2, AccountCardRow3 };\r\n","import React, { useEffect, useState } from 'react';\r\nimport { Formik, Field, Form } from 'formik';\r\nimport { FormTextField, FormSelect, useLanguage } from '../../../common';\r\nimport AuthService from 'lib/AuthService';\r\nimport { requiredValidator, zipValidator } from 'sd-formik-validators';\r\nimport { formatZip, API_BASE } from 'utilities';\r\nimport states from 'states.json';\r\nimport conditions from 'conditions.json';\r\nimport { AccountCard } from '../AccountCard/AccountCard';\r\nimport axios from 'axios';\r\nimport toastr from 'toastr';\r\n\r\nimport { Prompt } from 'react-router-dom';\r\nimport {\r\n Typography as Label,\r\n Button,\r\n CircularProgress\r\n} from '@material-ui/core';\r\nimport { FontAwesomeIcon } from '@fortawesome/react-fontawesome';\r\nimport styled from 'styled-components';\r\nimport { CardLabel } from '../AccountCard/CardLabel';\r\nimport { AccountCardRow3 } from './PatientDetailsCardStyles';\r\nconst Axios = axios.create({\r\n timeout: 30000,\r\n baseURL: API_BASE\r\n});\r\nconst FieldSetButtonContainer = styled.div`\r\n position: absolute;\r\n top: 1px;\r\n right: 4px;\r\n\r\n button {\r\n border-top-left-radius: 0px;\r\n border-top-right-radius: 2px;\r\n border-bottom-right-radius: 0px;\r\n\r\n }\r\n\r\n p {\r\n font-size: 14px;\r\n text-transform: none;\r\n }\r\n`;\r\nconst DualFieldSetButton = styled.div`\r\n button:nth-child(1) {\r\n \r\n border-top: none;\r\n border-bottom-right-radius: 0px;\r\n border-top-right-radius: 0px;\r\n margin-right: 8px;\r\n }\r\n button:nth-child(2) {\r\n border-top: none;\r\n border-top-left-radius: 0px;\r\n border-bottom-left-radius: 0px;\r\n border-bottom-right-radius: 0px;\r\n }\r\n`;\r\nexport const PatientDetailsCard = ({ style, User = {}, ...props }) => {\r\n const [isEditing, setIsEditing] = useState(false);\r\n const { getLanguageText } = useLanguage();\r\n\r\n useEffect(() => {\r\n setIsEditing(props.isEditing);\r\n }, [props.isEditing]);\r\n\r\n const handleSubmit = (values, actions) => {\r\n const auth = new AuthService();\r\n const decodedJWT = auth.getProfile();\r\n const token = auth.getToken();\r\n const patientDetails = {};\r\n const newAccountInfo = {\r\n ...User,\r\n ...values\r\n };\r\n patientDetails.ID = newAccountInfo.id;\r\n patientDetails.SystemName = newAccountInfo.systemName;\r\n patientDetails.EmpID = decodedJWT.EmpID;\r\n patientDetails.LastName = newAccountInfo.lastName;\r\n patientDetails.FirstName = newAccountInfo.firstName;\r\n patientDetails.Guarantor = newAccountInfo.guarantor;\r\n patientDetails.HomePhone = newAccountInfo.homePhone;\r\n patientDetails.DateOfBirth = newAccountInfo.dateOfBirth;\r\n patientDetails.Sex = newAccountInfo.sex;\r\n patientDetails.EmploymentStatus = newAccountInfo.employmentStatus;\r\n patientDetails.AutoAccidentState = newAccountInfo.autoAccidentState;\r\n patientDetails.MaritalStatus = newAccountInfo.maritalStatus;\r\n patientDetails.patientCondition = newAccountInfo.patientCondition;\r\n patientDetails.Address = newAccountInfo.address;\r\n patientDetails.City = newAccountInfo.city;\r\n patientDetails.State = newAccountInfo.state;\r\n patientDetails.ZipCode = newAccountInfo.zipCode;\r\n patientDetails.DateOfService = newAccountInfo.dateOfService;\r\n patientDetails.Charge = newAccountInfo.charge;\r\n patientDetails.PmtPat = newAccountInfo.pmtPat;\r\n patientDetails.PmtInsco = newAccountInfo.pmtInsco;\r\n patientDetails.Adj = newAccountInfo.adj;\r\n patientDetails.Balance = newAccountInfo.balance;\r\n patientDetails.Pins = newAccountInfo.pins;\r\n patientDetails.Sins = newAccountInfo.sins;\r\n const payload = {\r\n ...patientDetails,\r\n ID: decodedJWT.ID,\r\n SystemName: decodedJWT.SystemName,\r\n EmpID: decodedJWT.EmpID,\r\n ReqAction: 3\r\n };\r\n Axios.post(\r\n `/DoctorBill/Account`,\r\n {\r\n ...payload\r\n },\r\n {\r\n headers: {\r\n user_token: token,\r\n Pragma: 'no-cache'\r\n }\r\n }\r\n )\r\n .then(response => {\r\n const { status } = response;\r\n if (status === 200) {\r\n alert(\r\n getLanguageText(\r\n 'Saved successfully. It may take up to one billing cycle for changes to be reflected.'\r\n )\r\n );\r\n actions.resetForm({\r\n address: User.address || '',\r\n city: User.city || '',\r\n state: User.state || '',\r\n zipCode: User.zipCode || '',\r\n patientCondition: User.patientCondition || '',\r\n autoAccidentState: User.autoAccidentState || ''\r\n });\r\n setIsEditing(false);\r\n }\r\n })\r\n .catch(error => {\r\n toastr.error(getLanguageText('We were not able to save your updates.'));\r\n })\r\n .finally(() => {\r\n actions.setSubmitting(false);\r\n });\r\n };\r\n\r\n return (\r\n \r\n \r\n \r\n \r\n {User.firstName} {User.lastName}\r\n \r\n \r\n {User.guarantor}\r\n \r\n \r\n {\r\n return (\r\n
\r\n \r\n \r\n {isEditing ? (\r\n \r\n {({ field, form }) => (\r\n \r\n )}\r\n \r\n ) : (\r\n \r\n {values.address}\r\n \r\n )}\r\n {isEditing ? (\r\n \r\n {({ field, form }) => (\r\n \r\n )}\r\n \r\n ) : (\r\n \r\n {values.city}\r\n \r\n )}\r\n {isEditing ? (\r\n \r\n {({ field, form }) => (\r\n \r\n )}\r\n \r\n ) : (\r\n \r\n {values.state\r\n ? states.find(obj => obj.code === values.state) &&\r\n states.find(obj => obj.code === values.state).name\r\n : ''}\r\n \r\n )}\r\n {isEditing ? (\r\n \r\n {({ field, form }) => (\r\n \r\n form.setFieldValue(\r\n field.name,\r\n formatZip(e.target.value),\r\n false\r\n )\r\n }\r\n id=\"account-txt-zip-code\"\r\n />\r\n )}\r\n \r\n ) : (\r\n \r\n {values.zipCode}\r\n \r\n )}\r\n \r\n {User.systemArea !== 'Centricity' && (\r\n \r\n {isEditing ? (\r\n \r\n {({ field, form }) => (\r\n \r\n )}\r\n \r\n ) : (\r\n \r\n {values.patientCondition}\r\n \r\n )}\r\n {isEditing && values.patientCondition === 'AA' ? (\r\n \r\n {({ field, form }) => (\r\n \r\n )}\r\n \r\n ) : values.patientCondition === 'AA' ? (\r\n \r\n {values.autoAccidentState}\r\n \r\n ) : null}\r\n \r\n )}\r\n \r\n {isEditing ? (\r\n \r\n {\r\n setIsEditing(false);\r\n resetForm({\r\n address: User.address || '',\r\n city: User.city || '',\r\n state: User.state || '',\r\n zipCode: User.zipCode || '',\r\n patientCondition: User.patientCondition || '',\r\n autoAccidentState: User.autoAccidentState || ''\r\n });\r\n }}\r\n disabled={isSubmitting && isValidating}\r\n id={'account-btn-edit-patient-details-cancel'}\r\n >\r\n \r\n \r\n \r\n \r\n {!(isSubmitting || isValidating) && (\r\n \r\n )}\r\n {(isSubmitting || isValidating) && (\r\n \r\n )}\r\n \r\n \r\n \r\n ) : (\r\n {\r\n setIsEditing(true);\r\n }}\r\n id={'account-btn-edit-patient-details-update'}\r\n >\r\n \r\n \r\n \r\n )}\r\n \r\n \r\n );\r\n }}\r\n />\r\n \r\n
\r\n );\r\n};\r\n","import React, { useEffect, useState } from 'react';\r\nimport { Formik, Field, Form } from 'formik';\r\nimport { FormTextField, FormSelect } from '../../../common';\r\nimport states from 'states.json';\r\nimport sex from 'sex.json';\r\nimport relationship from 'relationship.json';\r\nimport toastr from 'toastr';\r\nimport {\r\n requiredValidator,\r\n zipValidator,\r\n composeValidators\r\n} from 'sd-formik-validators';\r\nimport { useLanguage } from '../../../common';\r\nimport AuthService from '../../../../lib/AuthService';\r\nimport { formatZip, API_BASE } from '../../../../utilities';\r\nimport { AccountCard } from '../AccountCard/AccountCard';\r\nimport { AccountCardRow2 } from '../PatientDetailsCard/PatientDetailsCardStyles';\r\nimport { CardLabel } from '../AccountCard/CardLabel';\r\nimport axios from 'axios';\r\nimport { Prompt } from 'react-router-dom';\r\nimport InputMask from 'react-input-mask';\r\nimport { Typography as Label, Button } from '@material-ui/core';\r\nimport { FontAwesomeIcon } from '@fortawesome/react-fontawesome';\r\nimport styled from 'styled-components';\r\nimport moment from 'moment';\r\nimport { CircularProgress } from '@material-ui/core';\r\n\r\nconst Axios = axios.create({\r\n timeout: 30000,\r\n baseURL: API_BASE\r\n});\r\nconst FieldSetButtonContainer = styled.div`\r\n position: absolute;\r\n top: 1px;\r\n right: 4px;\r\n\r\n button {\r\n border-top-left-radius: 0px;\r\n border-top-right-radius: 0px;\r\n border-bottom-right-radius: 0px;\r\n }\r\n\r\n p {\r\n font-size: 14px;\r\n text-transform: none;\r\n }\r\n`;\r\nconst DualFieldSetButton = styled.div`\r\nbutton:nth-child(1) {\r\n \r\n border-top: none;\r\n border-bottom-right-radius: 0px;\r\n border-top-right-radius: 0px;\r\n margin-right: 8px;\r\n}\r\nbutton:nth-child(2) {\r\n border-top: none;\r\n border-top-left-radius: 0px;\r\n border-bottom-left-radius: 0px;\r\n border-bottom-right-radius: 0px;\r\n}\r\n`;\r\nexport const InsuranceCard = ({ data = {}, User, ...props }) => {\r\n const [isEditing, setIsEditing] = useState(false);\r\n useEffect(() => {\r\n setIsEditing(props.isEditing);\r\n }, [props.isEditing]);\r\n const relationships = {\r\n SELF: '1',\r\n SPOUSE: '2',\r\n CHILD: '3',\r\n OTHER: '4',\r\n '1': 'Self',\r\n '2': 'Spouse',\r\n '3': 'Child',\r\n '4': 'Other'\r\n };\r\n const getRelationshipToPatient = () => {\r\n const relationshipToPatient = data.relationshipToPatient.toUpperCase();\r\n\r\n return relationships[relationshipToPatient]\r\n ? relationships[relationshipToPatient]\r\n : '';\r\n };\r\n const handleSubmit = (values, actions) => {\r\n const auth = new AuthService();\r\n const decodedJWT = auth.getProfile();\r\n const token = auth.getToken();\r\n const payload = {\r\n ID: decodedJWT.ID,\r\n SystemName: decodedJWT.SystemName,\r\n EmpID: decodedJWT.EmpID,\r\n ReqAction: props.reqAction,\r\n [props.payloadName]: {\r\n ...values\r\n }\r\n };\r\n Axios.post(\r\n `/DoctorBill/Insurance`,\r\n {\r\n ...payload\r\n },\r\n {\r\n headers: {\r\n user_token: token,\r\n Pragma: 'no-cache'\r\n }\r\n }\r\n )\r\n .then(response => {\r\n const { status } = response;\r\n if (status === 200) {\r\n alert(\r\n getLanguageText(\r\n 'Saved successfully. It may take up to one billing cycle for changes to be reflected.'\r\n )\r\n );\r\n actions.resetForm({\r\n PlanName: data.planName || '',\r\n GroupID: data.groupID || '',\r\n PolicyID: data.policyID || '',\r\n CompanyAddress: data.companyAddress || '',\r\n CompanyCity: data.companyCity || '',\r\n CompanyState: data.companyState || '',\r\n CompanyZip: data.companyZip || '',\r\n RelationshipToPatient: data.relationshipToPatient\r\n ? getRelationshipToPatient()\r\n : '',\r\n InsuredFirstName: data.insuredFirstName || \"\",\r\n InsuredLastName: data.insuredLastName || \"\",\r\n InsuredSex: data.insuredSex || '',\r\n InsuredAddress: data.insuredAddress || '',\r\n InsuredCity: data.insuredCity || '',\r\n InsuredState: data.insuredState || '',\r\n InsuredZip: data.insuredZip || '',\r\n EmployerName: data.employerName || '',\r\n InsuredBirthDate: data.insuredBirthDate\r\n ? moment(new Date(data.insuredBirthDate)).format('MM/DD/YYYY')\r\n : ''\r\n });\r\n setIsEditing(false);\r\n }\r\n })\r\n .catch(error => {\r\n toastr.error(getLanguageText('We were not able to save your updates.'));\r\n })\r\n .finally(() => {\r\n actions.setSubmitting(false);\r\n });\r\n };\r\n const { getLanguageText } = useLanguage();\r\n return (\r\n \r\n {\r\n return (\r\n \r\n \r\n \r\n {isEditing ? (\r\n \r\n {({ field, form }) => (\r\n \r\n )}\r\n \r\n ) : (\r\n \r\n {values.PlanName}\r\n \r\n )}\r\n \r\n \r\n {isEditing ? (\r\n \r\n {({ field, form }) => (\r\n \r\n )}\r\n \r\n ) : (\r\n \r\n {values.GroupID}\r\n \r\n )}\r\n {isEditing ? (\r\n \r\n {({ field, form }) => (\r\n \r\n )}\r\n \r\n ) : (\r\n \r\n {values.PolicyID}\r\n \r\n )}\r\n \r\n \r\n {isEditing ? (\r\n \r\n {({ field, form }) => (\r\n \r\n )}\r\n \r\n ) : (\r\n \r\n {values.CompanyAddress}\r\n \r\n )}\r\n {isEditing ? (\r\n \r\n {({ field, form }) => (\r\n \r\n )}\r\n \r\n ) : (\r\n \r\n {values.CompanyCity}\r\n \r\n )}\r\n {/* \r\n */}\r\n {isEditing ? (\r\n \r\n {({ field, form }) => (\r\n \r\n )}\r\n \r\n ) : (\r\n \r\n {values.CompanyState\r\n ? states.find(obj => obj.code === values.CompanyState) &&\r\n states.find(obj => obj.code === values.CompanyState)\r\n .name\r\n : ''}\r\n \r\n )}\r\n {isEditing ? (\r\n \r\n {({ field, form }) => (\r\n \r\n form.setFieldValue(\r\n field.name,\r\n formatZip(e.target.value),\r\n true\r\n )\r\n }\r\n />\r\n )}\r\n \r\n ) : (\r\n \r\n {values.CompanyZip}\r\n \r\n )}\r\n \r\n \r\n \r\n {isEditing ? (\r\n \r\n {({ field, form }) => (\r\n \r\n )}\r\n \r\n ) : (\r\n \r\n {values.InsuredLastName}\r\n \r\n )}\r\n {isEditing ? (\r\n \r\n {({ field, form }) => (\r\n \r\n )}\r\n \r\n ) : (\r\n \r\n {values.InsuredFirstName}\r\n \r\n )}\r\n {isEditing ? (\r\n \r\n {({ field, form }) => (\r\n \r\n )}\r\n \r\n ) : (\r\n \r\n {relationships[values.RelationshipToPatient]}\r\n \r\n )}\r\n \r\n \r\n {isEditing &&\r\n //If the relationship is other than self show text field.\r\n (values.RelationshipToPatient !== '1' ||\r\n // If the user puts the relationship to self and there was no birth date to begin with then I need to show an edit field\r\n (values.RelationshipToPatient === '1' && !data.BirthDate) ||\r\n // If the user puts the relationship to self and has a birth date then I need to show a read only label of birth date.\r\n !(values.RelationshipToPatient === '1' && data.BirthDate)) ? (\r\n {\r\n const now = moment();\r\n if (!moment(value).isValid()) {\r\n return undefined;\r\n }\r\n return now.diff(value) > 0\r\n ? undefined\r\n : getLanguageText('Invalid DOB');\r\n },\r\n value => {\r\n return moment(value).isValid()\r\n ? undefined\r\n : getLanguageText('Invalid DOB');\r\n }\r\n )}\r\n >\r\n {({ field, form }) => (\r\n \r\n {inputProps => {\r\n return (\r\n \r\n );\r\n }}\r\n \r\n )}\r\n \r\n ) : (\r\n \r\n {values.InsuredBirthDate}\r\n \r\n )}\r\n {isEditing ? (\r\n \r\n {({ field, form }) => (\r\n \r\n )}\r\n \r\n ) : (\r\n \r\n {values.InsuredSex\r\n ? sex.find(obj => obj.code === values.InsuredSex) &&\r\n sex.find(obj => obj.code === values.InsuredSex).name\r\n : ''}\r\n \r\n )}\r\n \r\n \r\n {isEditing ? (\r\n \r\n {({ field, form }) => (\r\n \r\n )}\r\n \r\n ) : (\r\n \r\n {values.InsuredAddress}\r\n \r\n )}\r\n {/* \r\n */}\r\n {isEditing ? (\r\n \r\n {({ field, form }) => (\r\n \r\n )}\r\n \r\n ) : (\r\n \r\n {values.InsuredCity}\r\n \r\n )}\r\n {isEditing ? (\r\n \r\n {({ field, form }) => (\r\n \r\n )}\r\n \r\n ) : (\r\n \r\n {values.InsuredState\r\n ? states.find(obj => obj.code === values.InsuredState) &&\r\n states.find(obj => obj.code === values.InsuredState)\r\n .name\r\n : ''}\r\n \r\n )}\r\n {isEditing ? (\r\n \r\n {({ field, form }) => (\r\n \r\n form.setFieldValue(\r\n field.name,\r\n formatZip(e.target.value),\r\n true\r\n )\r\n }\r\n form={form}\r\n label={getLanguageText('Zip Code')}\r\n id={`account-txt-${props.ordinalNumberID}-insurance-ins-zip`}\r\n />\r\n )}\r\n \r\n ) : (\r\n \r\n {values.InsuredZip}\r\n \r\n )}\r\n \r\n \r\n \r\n {isEditing ? (\r\n \r\n {({ field, form }) => (\r\n \r\n )}\r\n \r\n ) : (\r\n \r\n {values.EmployerName}\r\n \r\n )}\r\n \r\n \r\n {isEditing ? (\r\n \r\n {\r\n setIsEditing(false);\r\n resetForm({\r\n PlanName: data.planName || '',\r\n GroupID: data.groupID || '',\r\n PolicyID: data.policyID || '',\r\n CompanyAddress: data.companyAddress || '',\r\n CompanyCity: data.companyCity || '',\r\n CompanyState: data.companyState || '',\r\n CompanyZip: data.companyZip || '',\r\n RelationshipToPatient: data.relationshipToPatient\r\n ? getRelationshipToPatient()\r\n : '',\r\n\r\n InsuredFirstName: data.insuredFirstName || '',\r\n InsuredLastName: data.insuredLastName || '',\r\n InsuredSex: data.insuredSex || '',\r\n InsuredAddress: data.insuredAddress || '',\r\n InsuredCity: data.insuredCity || '',\r\n InsuredState: data.insuredState || '',\r\n InsuredZip: data.insuredZip || '',\r\n EmployerName: data.employerName || '',\r\n InsuredBirthDate: data.insuredBirthDate\r\n ? moment(new Date(data.insuredBirthDate)).format(\r\n 'MM/DD/YYYY'\r\n )\r\n : ''\r\n });\r\n }}\r\n >\r\n \r\n \r\n \r\n \r\n {!(isSubmitting || isValidating) && (\r\n \r\n )}\r\n {(isSubmitting || isValidating) && (\r\n \r\n )}\r\n \r\n \r\n \r\n ) : (\r\n {\r\n setIsEditing(true);\r\n }}\r\n id={`account-btn-edit-${props.ordinalNumberID}-insurance-update`}\r\n >\r\n \r\n \r\n \r\n )}\r\n \r\n \r\n );\r\n }}\r\n />\r\n \r\n );\r\n};\r\n","import React from 'react';\r\nimport { useLanguage } from 'components/common';\r\n\r\nexport const FilterInvoicesSelectMenu = props => {\r\n const { getLanguageText } = useLanguage();\r\n return (\r\n
\r\n \r\n {getLanguageText('Filter Invoices')}\r\n \r\n \r\n
\r\n );\r\n};\r\n","import React, { useEffect, useState } from 'react';\r\nimport SideNav from '../../SideNav/SideNav';\r\nimport Header from '../../Header/Header';\r\nimport PBPTable from 'components/common/PBPTable/PBPTable';\r\nimport { MoneyCell, useLanguage } from '../../common';\r\nimport { connect } from 'react-redux';\r\nimport {\r\n Button,\r\n SwipeableDrawer,\r\n Typography as Label,\r\n ExpansionPanel,\r\n ExpansionPanelSummary,\r\n ExpansionPanelDetails,\r\n Typography\r\n} from '@material-ui/core';\r\nimport {\r\n setTabTitle,\r\n formatMoney,\r\n isNonProductionEnv\r\n} from '../../../utilities';\r\nimport jwtDecode from 'jwt-decode';\r\n\r\nimport {\r\n AccountDetailsContent,\r\n Row,\r\n ContentArea,\r\n AccountDetailContainer,\r\n UserInformationRows\r\n // MobileContainer,\r\n // DataCard,\r\n // CardListContainer,\r\n // HistoryContent,\r\n // DTContainer\r\n} from './AccountStyles';\r\nimport { PatientDetailsCard } from './PatientDetailsCard/PatientDetailsCard';\r\nimport { InsuranceCard } from './InsuranceCard/InsuranceCard';\r\nimport { FilterInvoicesSelectMenu } from './FilterInvoicesSelectMenu/FilterInvoicesSelectMenu';\r\nimport { AccountCard } from './AccountCard/AccountCard';\r\nimport { withRouter } from 'react-router-dom';\r\n\r\nimport styled from 'styled-components';\r\nimport { Formik, Form } from 'formik';\r\nimport Auth from 'lib/AuthService';\r\nimport { FontAwesomeIcon } from '@fortawesome/react-fontawesome';\r\nimport { theme } from 'lib/theme';\r\nconst UserInformationWrapper = styled.div`\r\n display: flex;\r\n height: 58px;\r\n max-height: 58px;\r\n padding: 28px 15px;\r\n align-items: center;\r\n justify-content: space-between;\r\n border-bottom: 2px solid ${theme.palette.divider};\r\n .MuiButtonBase-root {\r\n background-color: #abab25;\r\n }\r\n a {\r\n text-decoration: none;\r\n }\r\n p {\r\n font-weight: 500;\r\n }\r\n button {\r\n margin-left: 10px;\r\n white-space: nowrap;\r\n color: black;\r\n }\r\n @media screen and (min-width: 890px) {\r\n padding: 10px 15px;\r\n button {\r\n white-space: nowrap;\r\n color: black;\r\n &:hover {\r\n color: white;\r\n background-color: #415463;\r\n }\r\n }\r\n }\r\n`;\r\n\r\nconst DesktopWrapper = styled.div`\r\n display: none;\r\n @media screen and (min-width: 901px) {\r\n display: flex;\r\n }\r\n`;\r\nconst MobileExpansionPanel = styled(ExpansionPanel)`\r\n position: sticky;\r\n top: 0;\r\n z-index: 10;\r\n @media screen and (min-width: 901px) {\r\n display: none;\r\n }\r\n`;\r\nconst MobileFooter = styled.div`\r\n display: flex;\r\n position: fixed;\r\n justify-content: center;\r\n bottom: 0;\r\n left: 0;\r\n right: 0;\r\n padding: 1.4em;\r\n background: #363636;\r\n z-index: 100;\r\n @media screen and (min-width: 901px) {\r\n display: none;\r\n }\r\n`;\r\nconst TableFooterRow = styled.tr`\r\n & td {\r\n border-top: 1px solid black;\r\n }\r\n`;\r\nconst Account = ({ User, globalDispatch, PayInvoices, history, ...props }) => {\r\n const [showMobileNav, setShowMobileNav] = useState(false);\r\n const [isInsuranceDrawerOpen, setInsuranceDrawerOpen] = useState(false);\r\n const [primaryInsuranceData, setPrimaryInsuranceData] = useState({});\r\n const [secondaryInsuranceData, setSecondaryInsuranceData] = useState({});\r\n const [insuranceInvoiceID, setInsuranceInvoiceID] = useState('');\r\n const [divisions, setDivisions] = useState([]);\r\n const [filterInvoiceBy, setFilterInvoiceBy] = useState('SELF PAY');\r\n const [isInvoiceFilterShown, setIsInvoiceFilterShown] = useState(true);\r\n const auth = new Auth();\r\n const decodedJWT = jwtDecode(auth.getToken());\r\n const { getLanguageText, language } = useLanguage();\r\n useEffect(() => {\r\n setTabTitle('Account Details');\r\n }, []);\r\n\r\n useEffect(() => {\r\n if (User && User.divisions) {\r\n //Filter out invoices that are not outstanding in divisions\r\n if (filterInvoiceBy === 'SELF PAY') {\r\n const filteredDivisions = User.divisions\r\n .sort((divisionA, divisionB) => {\r\n const clientA = divisionA.client.toUpperCase(); // ignore upper and lowercase\r\n const clientB = divisionB.client.toUpperCase();\r\n if (clientA < clientB) {\r\n return -1;\r\n }\r\n if (clientA > clientB) {\r\n return 1;\r\n }\r\n\r\n // names must be equal\r\n return 0;\r\n })\r\n .map(division => {\r\n return {\r\n ...division,\r\n //Ensuring that the original invoices object in User is not modified\r\n invoices: [\r\n ...division.invoices.filter(invoice => {\r\n return (\r\n (invoice.isSelfPay === true &&\r\n invoice.balanceOwedTotal > 0) ||\r\n invoice.responsibleParty === 'Payment Pending'\r\n );\r\n })\r\n ]\r\n };\r\n })\r\n .filter(division => {\r\n return division.invoices.length > 0 || division.isExpired;\r\n });\r\n if (filteredDivisions.length > 0) {\r\n setDivisions(filteredDivisions);\r\n } else {\r\n setFilterInvoiceBy('all');\r\n setIsInvoiceFilterShown(false);\r\n }\r\n }\r\n //Display all invoices in each division\r\n else if (filterInvoiceBy === 'all') {\r\n setDivisions(User.divisions);\r\n }\r\n }\r\n }, [filterInvoiceBy, User]);\r\n\r\n return (\r\n \r\n setShowMobileNav(prevState => !prevState)}\r\n />\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n {isInsuranceDrawerOpen && (\r\n {\r\n setInsuranceDrawerOpen(false);\r\n }}\r\n onOpen={() => {\r\n setInsuranceDrawerOpen(true);\r\n }}\r\n >\r\n
\r\n \r\n {getLanguageText(`Invoice`)}\r\n \r\n {' '}\r\n #{insuranceInvoiceID}\r\n \r\n \r\n {\r\n setInsuranceDrawerOpen(false);\r\n }}\r\n >\r\n X\r\n {`${getLanguageText('Close')}`}\r\n \r\n
\r\n \r\n \r\n \r\n \r\n \r\n )}\r\n \r\n {\r\n \r\n }\r\n \r\n

\r\n {getLanguageText('Invoices')}\r\n

\r\n
\r\n {isInvoiceFilterShown && (\r\n {\r\n setFilterInvoiceBy(e.target.value);\r\n }}\r\n value={filterInvoiceBy}\r\n style={{ padding: 4 }}\r\n />\r\n )}\r\n \r\n {language === 'en'\r\n ? 'Please enter the amount you would like to pay in the Pay Amount column, then click the Pay button to continue.'\r\n : 'Ingrese el monto que desea pagar en la columna Monto de pago, luego haga clic en el botón Pagar para continuar.'}\r\n

\r\n
\r\n {React.useMemo(() => {\r\n return divisions.length > 0 ? (\r\n divisions.map(division => {\r\n if (division.isExpired) {\r\n return (\r\n
\r\n {division.client}\r\n

{division?.expirationMessage ?? DEFAULT_EXP_MESSAGE}

\r\n
\r\n );\r\n }\r\n\r\n if (division.invoices.length === 0 && !division.isExpired) {\r\n return null;\r\n }\r\n\r\n return (\r\n {\r\n e.preventDefault();\r\n }}\r\n render={() => {\r\n return (\r\n
\r\n \r\n {\r\n return (\r\n \r\n \r\n }\r\n style={{\r\n position: 'sticky',\r\n top: 0,\r\n zIndex: 1000\r\n }}\r\n >\r\n
\r\n \r\n {division.client}\r\n

\r\n \r\n {getLanguageText(\r\n 'Total Balance'\r\n )}{' '}\r\n - $\r\n {formatMoney(\r\n filterInvoiceBy === 'all'\r\n ? division.invoiceBalance\r\n : division.patientSelfPayBalance\r\n )}\r\n

\r\n
\r\n \r\n \r\n {React.cloneElement(\r\n MobileTable,\r\n {}\r\n )}\r\n \r\n \r\n );\r\n }}\r\n tableRender={Table => {\r\n return (\r\n \r\n \r\n {React.cloneElement(Table, {\r\n style: {\r\n margin: '24px 0 24px 0'\r\n }\r\n })}\r\n \r\n \r\n );\r\n }}\r\n emptyDataMessage={getLanguageText(\r\n 'No Invoices'\r\n )}\r\n data={division.invoices}\r\n >\r\n {division.invoiceBalance !== null && (\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n Total:\r\n \r\n {filterInvoiceBy === 'all'\r\n ? division.invoiceBalance\r\n : division.patientSelfPayBalance}\r\n \r\n \r\n \r\n \r\n )}\r\n \r\n \r\n \r\n );\r\n }}\r\n />\r\n );\r\n })\r\n ) : (\r\n

{getLanguageText('No Invoices to Display')}

\r\n );\r\n }, [\r\n divisions,\r\n getLanguageText,\r\n decodedJWT,\r\n filterInvoiceBy,\r\n history\r\n ])}\r\n
\r\n \r\n
\r\n
\r\n
\r\n
\r\n );\r\n};\r\n\r\nconst mapStateToProps = state => {\r\n return {\r\n User: state.User,\r\n PayInvoices: state.PayInvoices\r\n };\r\n};\r\nconst mapDispatchToProps = dispatch => {\r\n return {\r\n globalDispatch: dispatch\r\n };\r\n};\r\n\r\nexport default connect(\r\n mapStateToProps,\r\n mapDispatchToProps\r\n)(withRouter(Account));\r\n\r\nconst DEFAULT_EXP_MESSAGE =\r\n 'We are no longer the billing company for this client, please contact the physician’s office directly.';\r\n","import styled from 'styled-components';\r\n\r\nconst ContentArea = styled.div`\r\n background-color: white;\r\n height: 100%;\r\n width: 100%;\r\n display: flex;\r\n flex-direction: column;\r\n fieldset {\r\n padding: 10px 15px;\r\n border-radius: 5px;\r\n background-color: rgb(243, 242, 241);\r\n }\r\n\r\n a {\r\n color: #000;\r\n text-decoration: none;\r\n }\r\n\r\n .MuiButtonBase-root {\r\n background-color: #abab25;\r\n }\r\n\r\n button {\r\n white-space: nowrap;\r\n\r\n &:hover {\r\n a {\r\n color: #fff;\r\n }\r\n background-color: #415463;\r\n }\r\n }\r\n`;\r\n\r\nconst FAQContainer = styled.div`\r\n width: 100%;\r\n height: 100%;\r\n min-height: 100vh;\r\n display: flex;\r\n @media screen and (min-width: 960px) {\r\n }\r\n`;\r\n\r\nconst DesktopContainer = styled.div`\r\n display: flex;\r\n flex-direction: column;\r\n width: 100%;\r\n height: auto;\r\n max-width: 960px;\r\n padding: 10px 15px;\r\n div.MuiButtonBase-root {\r\n background-color: transparent;\r\n }\r\n`;\r\n\r\nconst FAQContent = styled.div`\r\n width: 100%;\r\n height: 100%;\r\n position: ${props => (props.showMobileNav === true ? 'absolute' : 'static')};\r\n z-index: ${props => (props.showMobileNav === true ? '0' : '0')};\r\n\r\n .fa-check-circle {\r\n color: green;\r\n margin-right: 5px;\r\n }\r\n\r\n .fa-times-circle {\r\n color: red;\r\n }\r\n\r\n h2 {\r\n margin-left: 15px;\r\n }\r\n`;\r\n\r\nexport { ContentArea, FAQContainer, DesktopContainer, FAQContent };\r\n","import React, { useEffect } from 'react';\r\nimport { useState } from 'react';\r\nimport { Header, SideNav } from '..';\r\nimport { connect } from 'react-redux';\r\nimport { FontAwesomeIcon as Icon } from '@fortawesome/react-fontawesome';\r\nimport {\r\n Typography as Label,\r\n ExpansionPanel,\r\n ExpansionPanelSummary,\r\n ExpansionPanelDetails\r\n} from '@material-ui/core';\r\n\r\nimport { setTabTitle } from '../../utilities';\r\n\r\nimport { faChevronDown } from '@fortawesome/free-solid-svg-icons';\r\nimport { UserInformation } from '../common';\r\nimport {\r\n ContentArea,\r\n FAQContainer,\r\n DesktopContainer,\r\n FAQContent\r\n} from './FAQStyles';\r\n\r\nfunction FAQSet({ q, a, ...props }) {\r\n return (\r\n \r\n }>\r\n \r\n \r\n \r\n \r\n \r\n \r\n );\r\n}\r\n\r\nconst FAQs = [\r\n {\r\n Q:\r\n 'I just received your bill in the mail, what is it for?',\r\n A:\r\n 'This bill is for the emergency room physician who took care of you during your visit to the emergency department.',\r\n key: 1\r\n },\r\n {\r\n Q: 'Why did I receive two bills?',\r\n A:\r\n 'You will receive at least two bills, one from the emergency room physician for his/her services because they are independent contractors and not employees of the hospital. The other one will be from the hospital for the use of their facility.

You may also receive a bill from a pathologist if you had any lab work done, and/or a radiologist if there were any x-rays taken.',\r\n key: 2\r\n },\r\n {\r\n Q: 'Has my insurance been filed?',\r\n A:\r\n 'Please click Account History to view the details of when your insurance was filed.',\r\n key: 3\r\n },\r\n {\r\n Q: 'Has my insurance company paid this bill?',\r\n A: `The most recent information regarding insurance payments can be found under Account History. If payment doesn’t appear please verify that the insurance information we have on your account is correct.\r\n\r\n If the insurance information is correct, the next step would be to contact your insurance company to find out if they are processing the claim in question and when to expect payment. If your insurance company IS processing the claim, please call us so we can place a 30 day hold on your account to allow time to receive the payment. \r\n \r\n If the insurance company is stating they have NOT received the claim, please contact us here with an insurance representative’s name and a fax number so the claim can be resubmitted.`,\r\n key: 4\r\n },\r\n {\r\n Q: 'What is my account balance?',\r\n A: `Please click Account Details to view the details of your account balance.`,\r\n key: 5\r\n },\r\n {\r\n Q:\r\n 'Can I give you my insurance information so you can file a claim?',\r\n A:\r\n 'Yes. Please click Account Details to review or edit your insurance information.',\r\n key: 6\r\n },\r\n {\r\n Q: 'Can I make monthly payments/payment arrangements?',\r\n A:\r\n 'Yes. You can make monthly payments online by clicking the ‘Pay’ button on Account Details, sending credit card details or a check with the remittance on your monthly invoice, or by contacting us via phone. Monthly statements will be generated reflecting your last payment and current outstanding balance.

Automatic reoccurring payment arrangements are currently not available.',\r\n key: 7\r\n },\r\n {\r\n Q: 'Do you take credit card payments?',\r\n A:\r\n 'Yes, credit card payments are accepted. Please click the ‘Pay’ button on the top right corner to make a Credit Card Payment.',\r\n key: 8\r\n },\r\n {\r\n Q:\r\n 'Why am I receiving this bill from a doctor? I only saw a nurse.',\r\n A:\r\n 'A medical record was generated regarding your visit to the Emergency Department. A medical record is generated only when a Patient is seen by either a Doctor, a Physician Assistant or a Resident. If you were not seen by the Doctor, then you were seen by a Physician Assistant or a Resident. The Physician Assistant or Resident work only under the direct supervision of the Doctor who was present in the Emergency Department. All decisions regarding your medical treatment were made by the Emergency Room Doctor working that day.',\r\n key: 9\r\n }\r\n];\r\n\r\nfunction FAQ({ User }) {\r\n const [showMobileNav, setShowMobileNav] = useState(false);\r\n useEffect(() => {\r\n setTabTitle('FAQ');\r\n }, []);\r\n function toggleMobileNav() {\r\n setShowMobileNav(!showMobileNav);\r\n }\r\n\r\n return (\r\n \r\n
\r\n \r\n \r\n \r\n \r\n \r\n

Frequently Asked Questions

\r\n {FAQs &&\r\n FAQs.map(FAQ => (\r\n \r\n ))}\r\n
\r\n
\r\n
\r\n \r\n );\r\n}\r\n\r\nconst mapStateToProps = state => ({\r\n User: state.User\r\n});\r\n\r\nexport default connect(mapStateToProps)(FAQ);\r\n","import styled from 'styled-components';\r\n\r\nlet borderColor = 'none';\r\n\r\nconst URL = document.location.href;\r\n\r\nif (URL.includes('dev')) {\r\n borderColor = 'green';\r\n}\r\n\r\nif (URL.includes('qa')) {\r\n borderColor = 'orange';\r\n}\r\n\r\nconst Layout = styled.div`\r\n background: white;\r\n height: 100%;\r\n border: 6px solid ${borderColor};\r\n\r\n position: relative;\r\n\r\n background: white;\r\n\r\n button {\r\n &.plain {\r\n svg {\r\n margin-left: 5px;\r\n margin-right: 5px;\r\n }\r\n\r\n background-color: transparent;\r\n }\r\n }\r\n`;\r\n\r\nconst LogoutContainer = styled.div`\r\n position: absolute;\r\n top: 50%;\r\n left: 50%;\r\n width: 350px;\r\n margin-left: -175px;\r\n color: #fff;\r\n background-color: rgb(65, 84, 99);\r\n z-index: 15;\r\n`;\r\n\r\nconst LogoutHeader = styled.div`\r\n border-bottom: 1px solid #fff;\r\n padding: 10px;\r\n`;\r\n\r\nconst LogoutContent = styled.div`\r\n padding: 10px;\r\n`;\r\n\r\nconst LogoutActions = styled.div`\r\n display: flex;\r\n align-items: center;\r\n justify-content: flex-end;\r\n padding-right: 10px;\r\n padding-bottom: 10px;\r\n margin-top: 25px;\r\n\r\n button {\r\n white-space: nowrap;\r\n background-color: #abab25;\r\n margin-left: 10px;\r\n &:hover {\r\n color: #fff;\r\n a {\r\n color: #fff;\r\n }\r\n background-color: #415463;\r\n }\r\n }\r\n`;\r\n\r\nexport { Layout, LogoutContainer, LogoutHeader, LogoutContent, LogoutActions };\r\n","import toastr from 'toastr';\r\nimport React from 'react';\r\nimport { Component } from 'react';\r\nimport { Typography as Label, Button } from '@material-ui/core';\r\nimport { Route, Switch, withRouter, Redirect } from 'react-router-dom';\r\nimport { connect } from 'react-redux';\r\nimport Axios from 'axios';\r\nimport { API_BASE } from './utilities';\r\nimport IdleTimer from 'react-idle-timer';\r\nimport FAQ from './components/FAQ/FAQ';\r\n\r\nimport {\r\n Forms,\r\n Login,\r\n Contact,\r\n Account,\r\n PayBill,\r\n History,\r\n Paperless,\r\n Inquiry,\r\n EmailConfirmation\r\n} from './components';\r\n\r\nimport {\r\n Layout,\r\n LogoutContainer,\r\n LogoutHeader,\r\n LogoutContent,\r\n LogoutActions\r\n} from './AppStyle';\r\nimport { ConfirmPayment } from './components/Account/PayBill';\r\nimport AuthService from './lib/AuthService';\r\nimport { PrivateRoute } from './components/common';\r\nimport { ScrollToTop } from 'components/common/ScrollToTop/ScrollToTop';\r\n\r\nfunction Logout({ cancel }) {\r\n return (\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n );\r\n}\r\n\r\n/*\r\nAppBar will show no matter the route, therefore it is outside the route switch\r\nSide Nav will show no matter the route, therefore it is outside the route switch\r\n*/\r\n\r\nclass App extends Component {\r\n constructor(props) {\r\n super(props);\r\n this.state = {\r\n showLogout: false,\r\n hasLogoutTimerStart: false,\r\n logoutOnIdleHappened: false\r\n };\r\n this.auth = new AuthService();\r\n }\r\n\r\n async componentDidMount() {\r\n console.log(\r\n `\r\n\r\n ------------------------------------------------------------------------------\r\n ((((((((((((((((((((((((((((VERSION DATE: 11/18/19))))))))))))))))))))))))))))\r\n ------------------------------------------------------------------------------\r\n\r\n `\r\n );\r\n toastr.options = {\r\n positionClass: 'toast-bottom-right'\r\n };\r\n const token = this.auth.getToken();\r\n if (token) {\r\n this.setTimer('hasLogoutTimerStart', true);\r\n try {\r\n const { data: dataUser } = await Axios({\r\n method: 'get',\r\n url: `${API_BASE}/DoctorBill/RefreshAccount`,\r\n headers: {\r\n user_token: token,\r\n Pragma: 'no-cache'\r\n }\r\n });\r\n\r\n this.props.setUser({ ...dataUser });\r\n } catch (err) {\r\n console.log(err);\r\n }\r\n\r\n if (!window.Modernizr.flexbox) {\r\n const browserSupportMsg = `\r\n The browser you are currently using is not supported.\r\n Please download a browser from the list below:\r\n Chrome (ver 59+)\r\n Safari (ver 12+)\r\n `;\r\n alert(browserSupportMsg);\r\n }\r\n }\r\n } //componentDidMount end\r\n setTimer = (timerKey, timerValue) => {\r\n this.setState({ [timerKey]: timerValue });\r\n };\r\n cancelLogout = () => this.setState({ showLogout: false });\r\n\r\n logoutOnIdle = () => {\r\n this.setState(\r\n {\r\n hasLogoutTimerStart: false\r\n },\r\n () => {\r\n if (this.auth.getToken()) {\r\n this.auth.logout();\r\n this.props.clearData();\r\n this.props.history.push('/');\r\n alert(\r\n 'You have been logged out due to inactivity, please log back in to continue.'\r\n );\r\n }\r\n }\r\n );\r\n };\r\n render() {\r\n const { showLogout, hasLogoutTimerStart } = this.state;\r\n return (\r\n \r\n \r\n {showLogout && }\r\n {hasLogoutTimerStart && this.auth.getToken() && (\r\n {\r\n // console.log('user did something', e);\r\n // }}\r\n debounce={250}\r\n //Converting minutes to milliseconds\r\n timeout={\r\n this.auth.getProfile().InactivityTimeoutInMinutes\r\n ? 1000 * 60 * this.auth.getProfile().InactivityTimeoutInMinutes\r\n : 1000 * 60 * 30\r\n }\r\n //6 seconds\r\n // timeout={6000}\r\n />\r\n )}\r\n \r\n \r\n \r\n \r\n \r\n \r\n {this.props.User.systemArea !== 'Centricity' && (\r\n \r\n )}\r\n \r\n \r\n \r\n \r\n }\r\n />\r\n \r\n \r\n \r\n );\r\n }\r\n}\r\n\r\nconst mapStateTopProps = state => ({\r\n User: state.User\r\n});\r\nconst mapDispatchToProps = dispatch => ({\r\n clearData: () => dispatch({ type: 'CLEAR_DATA' }),\r\n setUser: user => dispatch({ type: 'SET_USER', user })\r\n});\r\n\r\nconst AppWithRouter = withRouter(App);\r\nexport default connect(\r\n mapStateTopProps,\r\n mapDispatchToProps\r\n)(AppWithRouter);\r\n","/* // Test Data\r\nconst initialState = {\r\n collectionBalance: 0,\r\n inCollections: false,\r\n id: '3581808050001',\r\n sourceSystem: 'MGA',\r\n empID: 0,\r\n lastName: 'USER',\r\n firstName: 'TEST',\r\n guarantor: 'TEST GUARANTOR',\r\n homePhone: '1234567890',\r\n birthDate: '1970-09-30T00:00:00',\r\n birthDateFormatted: '09/30/1970',\r\n sex: 'M',\r\n email: '',\r\n useEmail: false,\r\n employmentStatus: '',\r\n autoAccidentState: '',\r\n maritalStatus: '',\r\n patientCondition: null,\r\n address: '123 TEST DR',\r\n city: 'TEST CITY',\r\n state: 'FL',\r\n zipCode: '12345-123',\r\n facName: 'Test Facility LLC',\r\n facAddress: 'PO Box 12345',\r\n facCity: 'Gainesville',\r\n facState: 'FL',\r\n facZipCode: '12345-123',\r\n facPhone: '1234567890',\r\n dateOfService: '2018-08-04T00:00:00',\r\n charge: 1000,\r\n pmtInsco: 0,\r\n pmtPat: 0,\r\n pmtMCR: 0,\r\n adj: 0,\r\n balance: 1000,\r\n pins: 0,\r\n sins: 0,\r\n reqAction: 0,\r\n nonUsaddress: null,\r\n divisions: [\r\n {\r\n client: 'Single Invoice Provider',\r\n clientID: 111,\r\n invoiceBalance: 500,\r\n patientSelfPayBalance: 500,\r\n invoices: [\r\n {\r\n primaryInsurance: null,\r\n secondaryInsurance: null,\r\n invoiceID: '111000001',\r\n gid: null,\r\n grp: null,\r\n dos: '2018-08-04T00:00:00',\r\n dosFormatted: '08-04-2018',\r\n facilityName: 'Test Facility',\r\n providerName: 'Single Invoice Provider',\r\n divisionClient: null,\r\n divisionClientID: null,\r\n location: null,\r\n fsc: 'SELF PAY',\r\n chargeTotal: 500,\r\n balanceOwedTotal: 500,\r\n adjustmentsTotal: 0,\r\n patientPaidTotal: 0,\r\n insurancePaidTotal: 0,\r\n isSelfPay: true,\r\n responsibleParty: 'Patient',\r\n patientSelfPayBalance: 500\r\n }\r\n ]\r\n },\r\n {\r\n client: 'Multiple Invoices Provider',\r\n clientID: 222,\r\n invoiceBalance: 2000,\r\n patientSelfPayBalance: 2000,\r\n invoices: [\r\n {\r\n primaryInsurance: null,\r\n secondaryInsurance: null,\r\n invoiceID: '222000001',\r\n gid: '123804',\r\n grp: 'Grp - 3 Gottlieb [GOTTLTEST]',\r\n dos: '2021-09-18T00:00:00',\r\n dosFormatted: '09-18-2021',\r\n facilityName: 'St. Francis Medical Center',\r\n providerName: 'Test Provider',\r\n divisionClient: null,\r\n divisionClientID: null,\r\n location: 'EMERGENCY ROOM - HOSPITAL',\r\n fsc: 'SELF PAY',\r\n chargeTotal: 500,\r\n balanceOwedTotal: 500,\r\n adjustmentsTotal: 0,\r\n patientPaidTotal: 0,\r\n insurancePaidTotal: 0,\r\n isSelfPay: true,\r\n responsibleParty: 'Patient',\r\n patientSelfPayBalance: 500,\r\n isCollections: false\r\n },\r\n {\r\n primaryInsurance: null,\r\n secondaryInsurance: null,\r\n invoiceID: '222000002',\r\n gid: '123804',\r\n grp: 'Grp - 3 Gottlieb [GOTTLTEST]',\r\n dos: '2021-09-18T00:00:00',\r\n dosFormatted: '09-18-2021',\r\n facilityName: 'St. Francis Medical Center',\r\n providerName: 'Test Provider',\r\n divisionClient: null,\r\n divisionClientID: null,\r\n location: 'EMERGENCY ROOM - HOSPITAL',\r\n fsc: 'SELF PAY',\r\n chargeTotal: 1000,\r\n balanceOwedTotal: 1000,\r\n adjustmentsTotal: 0,\r\n patientPaidTotal: 0,\r\n insurancePaidTotal: 0,\r\n isSelfPay: true,\r\n responsibleParty: 'Patient',\r\n patientSelfPayBalance: 1000,\r\n isCollections: false\r\n },\r\n {\r\n primaryInsurance: null,\r\n secondaryInsurance: null,\r\n invoiceID: '222000003',\r\n gid: '123804',\r\n grp: 'Grp - 3 Gottlieb [GOTTLTEST]',\r\n dos: '2021-09-18T00:00:00',\r\n dosFormatted: '09-18-2021',\r\n facilityName: 'St. Francis Medical Center',\r\n providerName: 'Test Provider',\r\n divisionClient: null,\r\n divisionClientID: null,\r\n location: 'EMERGENCY ROOM - HOSPITAL',\r\n fsc: 'SELF PAY',\r\n chargeTotal: 500,\r\n balanceOwedTotal: 500,\r\n adjustmentsTotal: 0,\r\n patientPaidTotal: 0,\r\n insurancePaidTotal: 0,\r\n isSelfPay: true,\r\n responsibleParty: 'Patient',\r\n patientSelfPayBalance: 500,\r\n isCollections: false\r\n }\r\n ]\r\n },\r\n {\r\n invoices: [],\r\n client: 'No Invoices Provider',\r\n clientID: 1169,\r\n invoiceBalance: 0,\r\n patientSelfPayBalance: 0\r\n }\r\n ],\r\n systemArea: null,\r\n inquiryToken: '',\r\n inquiryCommandID: '0',\r\n dob: 'FWeCY7V41h3SyWhWc0Sidw==',\r\n displayAccountNumber: '3581808050001 - MGA',\r\n centricityGroup: null,\r\n centricityGID: null,\r\n centricityDivisionClientID: null,\r\n isSelfPay: true,\r\n responsibleParty: 'Patient',\r\n systemName: 'MGA',\r\n patientSelfPayBalance: 0,\r\n InactivityTimeoutInMinutes: '30'\r\n};\r\n*/\r\nconst initialState = {};\r\nexport const User = (state = initialState, action) => {\r\n switch (action.type) {\r\n case 'SET_USER': {\r\n const { user } = action;\r\n return user;\r\n }\r\n case 'CLEAR_DATA': {\r\n return {};\r\n }\r\n default:\r\n return state;\r\n }\r\n};\r\n","import moment from 'moment';\r\n\r\nconst HistoryPayload = [\r\n {\r\n hisDate: '2012-12-11T10:20:25.717',\r\n hisAmt: 323.45,\r\n actDesc: 'White Bills',\r\n iPlan: 'Bill Sent to Guarantor'\r\n },\r\n {\r\n hisDate: '2003-11-10T19:24:10.28',\r\n hisAmt: 323.45,\r\n actDesc: 'White Bills',\r\n iPlan: 'Bill Sent to Guarantor'\r\n },\r\n {\r\n hisDate: '2003-11-06T18:13:22.373',\r\n hisAmt: 323.45,\r\n actDesc: 'White Bills',\r\n iPlan: 'Bill Sent to Guarantor'\r\n },\r\n {\r\n hisDate: '2003-10-29T18:55:45.02',\r\n hisAmt: 323.45,\r\n actDesc: 'White Bills',\r\n iPlan: 'Bill Sent to Guarantor'\r\n },\r\n {\r\n hisDate: '2003-10-23T00:00:00',\r\n hisAmt: 323.45,\r\n actDesc: 'File insurance',\r\n iPlan: 'MEDICARE PART B '\r\n },\r\n {\r\n hisDate: '2003-10-21T18:49:27.483',\r\n hisAmt: 323.45,\r\n actDesc: 'White Bills',\r\n iPlan: 'Bill Sent to Guarantor'\r\n },\r\n {\r\n hisDate: '2003-09-25T00:00:00',\r\n hisAmt: 323.45,\r\n actDesc: 'File insurance',\r\n iPlan: 'Starbucks '\r\n },\r\n {\r\n hisDate: '2003-07-07T00:00:00',\r\n hisAmt: 323.45,\r\n actDesc: 'File insurance',\r\n iPlan: 'CAREFIRST BC/BS STANDARD '\r\n },\r\n {\r\n hisDate: '2002-08-16T00:00:00',\r\n hisAmt: 323.45,\r\n actDesc: 'File insurance',\r\n iPlan: 'AARP SECONDARY '\r\n },\r\n {\r\n hisDate: '2002-06-23T00:00:00',\r\n hisAmt: 323.45,\r\n actDesc: 'File insurance',\r\n iPlan: 'MDIPA '\r\n },\r\n {\r\n hisDate: '2002-05-31T00:00:00',\r\n hisAmt: 323.45,\r\n actDesc: 'File insurance',\r\n iPlan: 'APWU '\r\n },\r\n {\r\n hisDate: '2002-05-08T00:00:00',\r\n hisAmt: 323.45,\r\n actDesc: 'File insurance',\r\n iPlan: 'APWU '\r\n },\r\n {\r\n hisDate: '2002-04-24T00:00:00',\r\n hisAmt: 323.45,\r\n actDesc: 'White Bills',\r\n iPlan: 'Bill Sent to Guarantor'\r\n },\r\n {\r\n hisDate: '2002-03-05T00:00:00',\r\n hisAmt: 323.45,\r\n actDesc: 'File insurance',\r\n iPlan: 'CAREFIRST BC/BS STANDARD '\r\n },\r\n {\r\n hisDate: '2002-02-17T00:00:00',\r\n hisAmt: 323.45,\r\n actDesc: 'File insurance',\r\n iPlan: 'MEDICARE PART B '\r\n },\r\n {\r\n hisDate: '2002-02-12T00:00:00',\r\n hisAmt: 323.45,\r\n actDesc: 'File insurance',\r\n iPlan: 'MEDICARE PART B '\r\n },\r\n {\r\n hisDate: '2002-01-09T00:00:00',\r\n hisAmt: 323.45,\r\n actDesc: 'File insurance',\r\n iPlan: 'GALLAGHER BASSETT SVCS '\r\n },\r\n {\r\n hisDate: '2001-12-26T00:00:00',\r\n hisAmt: 323,\r\n actDesc: 'White Bills',\r\n iPlan: 'Bill Sent to Guarantor'\r\n },\r\n {\r\n hisDate: '2001-12-21T00:00:00',\r\n hisAmt: 323.45,\r\n actDesc: 'File insurance',\r\n iPlan: 'GALLAGHER BASSETT SVCS '\r\n },\r\n {\r\n hisDate: '2001-12-13T00:00:00',\r\n hisAmt: 323,\r\n actDesc: 'White Bills',\r\n iPlan: 'Bill Sent to Guarantor'\r\n },\r\n {\r\n hisDate: '2001-12-02T00:00:00',\r\n hisAmt: 323,\r\n actDesc: 'Yellow Bills',\r\n iPlan: 'Bill Sent to Guarantor'\r\n },\r\n {\r\n hisDate: '2001-10-18T00:00:00',\r\n hisAmt: 323,\r\n actDesc: 'White Bills',\r\n iPlan: 'Bill Sent to Guarantor'\r\n },\r\n {\r\n hisDate: '2001-10-17T00:00:00',\r\n hisAmt: 323.45,\r\n actDesc: 'File insurance',\r\n iPlan: 'GALLAGHER BASSETT SVCS '\r\n },\r\n {\r\n hisDate: '2001-10-02T00:00:00',\r\n hisAmt: 323,\r\n actDesc: 'White Bills',\r\n iPlan: 'Bill Sent to Guarantor'\r\n },\r\n {\r\n hisDate: '2001-10-01T00:00:00',\r\n hisAmt: 323.45,\r\n actDesc: 'File insurance',\r\n iPlan: 'GALLAGHER BASSETT SVCS '\r\n },\r\n {\r\n hisDate: '2001-09-21T00:00:00',\r\n hisAmt: 323,\r\n actDesc: 'White Bills',\r\n iPlan: 'Bill Sent to Guarantor'\r\n },\r\n {\r\n hisDate: '2001-08-28T00:00:00',\r\n hisAmt: 323,\r\n actDesc: 'White Bills',\r\n iPlan: 'Bill Sent to Guarantor'\r\n }\r\n];\r\n\r\nexport const AccountInfo = (state = {}, action) => {\r\n switch (action.type) {\r\n case 'SET_ACCOUNT_INFO': {\r\n const { update } = action;\r\n // console.log(update);\r\n const { ...Info } = update[0];\r\n // console.log(Info);\r\n\r\n if (Info.primaryInsurance) {\r\n const {\r\n dateOfBirth,\r\n primaryInsurance: { birthDate: primaryBirthDate }\r\n } = Info;\r\n Info.dateOfBirth = moment(dateOfBirth).format('MM/DD/YYYY');\r\n Info.primaryInsurance.birthDate = !!primaryBirthDate\r\n ? moment(primaryBirthDate).format('MM/DD/YYYY')\r\n : '';\r\n } else {\r\n Info.primaryInsurance = {};\r\n }\r\n if (Info.secondaryInsurance) {\r\n const {\r\n secondaryInsurance: { birthDate: secondaryBirthDate }\r\n } = Info;\r\n Info.secondaryInsurance.birthDate = !!secondaryBirthDate\r\n ? moment(secondaryBirthDate).format('MM/DD/YYYY')\r\n : '';\r\n } else {\r\n Info.secondaryInsurance = {};\r\n }\r\n\r\n return Info;\r\n }\r\n case 'CLEAR_DATA': {\r\n return {};\r\n }\r\n default:\r\n return state;\r\n }\r\n};\r\n\r\nexport const AccountHistory = (state = [], action) => {\r\n switch (action.type) {\r\n case 'SET_ACCOUNT_HISTORY': {\r\n const { update } = action;\r\n\r\n if (!update) {\r\n return HistoryPayload.map(hist => ({\r\n ...hist,\r\n formattedDate: moment(hist.hisDate).format('MM/DD/YYYY')\r\n }));\r\n }\r\n\r\n return update.map(hist => ({\r\n ...hist,\r\n formattedDate: moment(hist.hisDate).format('MM/DD/YYYY')\r\n }));\r\n }\r\n\r\n case 'CLEAR_DATA': {\r\n return [];\r\n }\r\n\r\n default:\r\n return state;\r\n }\r\n};\r\n","const initialState = {\r\n invoices: []\r\n};\r\n\r\nexport const Transaction = (state = initialState, action) => {\r\n switch (action.type) {\r\n case 'SET_TRANSACTION': {\r\n const { transaction } = action;\r\n return transaction;\r\n }\r\n case 'CLEAR_DATA': {\r\n return {};\r\n }\r\n default:\r\n return state;\r\n }\r\n};\r\n","const initialState = {\r\n language: 'en'\r\n};\r\n\r\nexport const Language = (state = initialState, action) => {\r\n switch (action.type) {\r\n case 'SET_LANGUAGE': {\r\n const { language } = action;\r\n return {\r\n ...state,\r\n language\r\n };\r\n }\r\n case 'CLEAR_DATA': {\r\n return {};\r\n }\r\n default:\r\n return state;\r\n }\r\n};\r\n","const initialState = {\r\n divisions: {},\r\n paidClientId: undefined,\r\n lastModifiedClientId: undefined\r\n};\r\n\r\nexport const PayInvoices = (state = initialState, action) => {\r\n switch (action.type) {\r\n case 'ADD_PAY_INVOICE': {\r\n const { clientID, invoiceID, payAmount, isCollections } = action;\r\n return {\r\n ...state,\r\n divisions: {\r\n ...state.divisions,\r\n [clientID]: {\r\n invoices: {\r\n ...state.divisions[clientID]?.invoices,\r\n [invoiceID]: {\r\n InvoiceNumber: invoiceID,\r\n PaymentAmount: Number(payAmount).toFixed(2), // rounds to reduce chance of floating point errors\r\n isCollections\r\n }\r\n }\r\n }\r\n }\r\n };\r\n }\r\n case 'SUM_PAY_INVOICES': {\r\n // Add up all the invoices for a given clientID\r\n const { clientID } = action;\r\n return {\r\n ...state,\r\n divisions: {\r\n ...state.divisions,\r\n [clientID]: {\r\n ...state.divisions[clientID],\r\n invoicesSum: state.divisions[clientID]?.invoices\r\n ? Number(\r\n Object.keys(state.divisions[clientID]?.invoices)\r\n .reduce((sumAccumulator, currInvoiceKey) => {\r\n return (\r\n sumAccumulator +\r\n (Number(\r\n state.divisions[clientID]?.invoices[currInvoiceKey]\r\n .PaymentAmount\r\n ) || 0)\r\n );\r\n }, 0)\r\n .toFixed(2)\r\n ) // rounds to fix potential floating point errors after operation\r\n : 0\r\n }\r\n }\r\n };\r\n }\r\n case 'RESET_PAY_INVOICES_STATE': {\r\n const { invoices } = action;\r\n if (invoices.length > 0) {\r\n invoices.forEach(invoice => {\r\n window.sessionStorage.removeItem(invoice.InvoiceNumber);\r\n });\r\n }\r\n return {\r\n ...initialState\r\n };\r\n }\r\n // case 'DELETE_PAY_INVOICE': {\r\n // const { invoiceID } = action.payload;\r\n // const newPayInvoices = {\r\n // ...state.payInvoices\r\n // };\r\n // if (newPayInvoices[invoiceID]) {\r\n // delete newPayInvoices[invoiceID];\r\n // }\r\n // return {\r\n // ...state,\r\n // ...newPayInvoices\r\n // };\r\n // }\r\n case 'CLEAR_DATA': {\r\n return initialState;\r\n }\r\n case 'SET_PAID_CLIENT': {\r\n // Sets the client to be paid on the payment screen.\r\n const { clientID } = action;\r\n return {\r\n ...state,\r\n paidClientId: clientID\r\n };\r\n }\r\n case 'SET_LAST_MODIFIED': {\r\n // Set the id of the client whose invoice payment amount fields were modified or selected last (to enable/disable the payment button)\r\n const { clientID } = action;\r\n return {\r\n ...state,\r\n lastModifiedClientId: clientID\r\n };\r\n }\r\n\r\n default:\r\n return state;\r\n }\r\n};\r\n","import { User } from './User';\r\nimport { combineReducers } from 'redux';\r\nimport { AccountInfo, AccountHistory } from './Account';\r\nimport { Transaction } from './Transaction';\r\nimport { Language } from './Language';\r\nimport { PayInvoices } from './PayInvoices';\r\nexport default combineReducers({\r\n User,\r\n AccountInfo,\r\n AccountHistory,\r\n Transaction,\r\n Language,\r\n PayInvoices\r\n});\r\n","import { compose } from 'redux';\r\nimport thunk from 'redux-thunk';\r\nimport { createStore } from 'redux';\r\nimport rootReducer from './reducers';\r\nimport { applyMiddleware } from 'redux';\r\n\r\nconst initialState = {};\r\n\r\nconst middleware = [thunk];\r\n\r\nconst store = createStore(\r\n rootReducer,\r\n initialState,\r\n compose(\r\n applyMiddleware(...middleware),\r\n window.__REDUX_DEVTOOLS_EXTENSION__\r\n ? window.__REDUX_DEVTOOLS_EXTENSION__()\r\n : noop => noop\r\n )\r\n);\r\n\r\nexport default store;\r\n","// This optional code is used to register a service worker.\r\n// register() is not called by default.\r\n\r\n// This lets the app load faster on subsequent visits in production, and gives\r\n// it offline capabilities. However, it also means that developers (and users)\r\n// will only see deployed updates on subsequent visits to a page, after all the\r\n// existing tabs open on the page have been closed, since previously cached\r\n// resources are updated in the background.\r\n\r\n// To learn more about the benefits of this model and instructions on how to\r\n// opt-in, read https://bit.ly/CRA-PWA\r\n\r\nconst isLocalhost = Boolean(\r\n window.location.hostname === 'localhost' ||\r\n // [::1] is the IPv6 localhost address.\r\n window.location.hostname === '[::1]' ||\r\n // 127.0.0.1/8 is considered localhost for IPv4.\r\n window.location.hostname.match(\r\n /^127(?:\\.(?:25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)){3}$/\r\n )\r\n);\r\n\r\nexport function register(config) {\r\n if (process.env.NODE_ENV === 'production' && 'serviceWorker' in navigator) {\r\n // The URL constructor is available in all browsers that support SW.\r\n const publicUrl = new URL(process.env.PUBLIC_URL, window.location.href);\r\n if (publicUrl.origin !== window.location.origin) {\r\n // Our service worker won't work if PUBLIC_URL is on a different origin\r\n // from what our page is served on. This might happen if a CDN is used to\r\n // serve assets; see https://github.com/facebook/create-react-app/issues/2374\r\n return;\r\n }\r\n\r\n window.addEventListener('load', () => {\r\n const swUrl = `${process.env.PUBLIC_URL}/service-worker.js`;\r\n\r\n if (isLocalhost) {\r\n // This is running on localhost. Let's check if a service worker still exists or not.\r\n checkValidServiceWorker(swUrl, config);\r\n\r\n // Add some additional logging to localhost, pointing developers to the\r\n // service worker/PWA documentation.\r\n navigator.serviceWorker.ready.then(() => {\r\n console.log(\r\n 'This web app is being served cache-first by a service ' +\r\n 'worker. To learn more, visit https://bit.ly/CRA-PWA'\r\n );\r\n });\r\n } else {\r\n // Is not localhost. Just register service worker\r\n registerValidSW(swUrl, config);\r\n }\r\n });\r\n }\r\n}\r\n\r\nfunction registerValidSW(swUrl, config) {\r\n navigator.serviceWorker\r\n .register(swUrl)\r\n .then(registration => {\r\n registration.onupdatefound = () => {\r\n const installingWorker = registration.installing;\r\n if (installingWorker == null) {\r\n return;\r\n }\r\n installingWorker.onstatechange = () => {\r\n if (installingWorker.state === 'installed') {\r\n if (navigator.serviceWorker.controller) {\r\n // At this point, the updated precached content has been fetched,\r\n // but the previous service worker will still serve the older\r\n // content until all client tabs are closed.\r\n console.log(\r\n 'New content is available and will be used when all ' +\r\n 'tabs for this page are closed. See https://bit.ly/CRA-PWA.'\r\n );\r\n\r\n // Execute callback\r\n if (config && config.onUpdate) {\r\n config.onUpdate(registration);\r\n }\r\n } else {\r\n // At this point, everything has been precached.\r\n // It's the perfect time to display a\r\n // \"Content is cached for offline use.\" message.\r\n console.log('Content is cached for offline use.');\r\n\r\n // Execute callback\r\n if (config && config.onSuccess) {\r\n config.onSuccess(registration);\r\n }\r\n }\r\n }\r\n };\r\n };\r\n })\r\n .catch(error => {\r\n console.error('Error during service worker registration:', error);\r\n });\r\n}\r\n\r\nfunction checkValidServiceWorker(swUrl, config) {\r\n // Check if the service worker can be found. If it can't reload the page.\r\n fetch(swUrl)\r\n .then(response => {\r\n // Ensure service worker exists, and that we really are getting a JS file.\r\n const contentType = response.headers.get('content-type');\r\n if (\r\n response.status === 404 ||\r\n (contentType != null && contentType.indexOf('javascript') === -1)\r\n ) {\r\n // No service worker found. Probably a different app. Reload the page.\r\n navigator.serviceWorker.ready.then(registration => {\r\n registration.unregister().then(() => {\r\n window.location.reload();\r\n });\r\n });\r\n } else {\r\n // Service worker found. Proceed as normal.\r\n registerValidSW(swUrl, config);\r\n }\r\n })\r\n .catch(() => {\r\n console.log(\r\n 'No internet connection found. App is running in offline mode.'\r\n );\r\n });\r\n}\r\n\r\nexport function unregister() {\r\n if ('serviceWorker' in navigator) {\r\n navigator.serviceWorker.ready.then(registration => {\r\n registration.unregister();\r\n });\r\n }\r\n}\r\n","import 'react-app-polyfill/ie11';\r\nimport 'react-app-polyfill/stable';\r\nimport 'babel-polyfill';\r\n\r\nimport 'rc-calendar/assets/index.css';\r\n\r\nimport App from './App';\r\nimport React from 'react';\r\nimport store from './store';\r\nimport ReactDOM from 'react-dom';\r\nimport { Provider } from 'react-redux';\r\nimport { CssBaseline } from '@material-ui/core';\r\nimport * as serviceWorker from './serviceWorker';\r\nimport { HashRouter as Router } from 'react-router-dom';\r\nimport { library } from '@fortawesome/fontawesome-svg-core';\r\nimport { theme } from './lib/theme.js';\r\nimport {\r\n faArrowUp,\r\n faArrowDown,\r\n faSave,\r\n faPencilAlt,\r\n faTimes,\r\n faChevronDown\r\n} from '@fortawesome/free-solid-svg-icons';\r\nimport { ThemeProvider } from '@material-ui/styles';\r\n\r\nlibrary.add(\r\n faArrowUp,\r\n faArrowDown,\r\n faSave,\r\n faPencilAlt,\r\n faTimes,\r\n faChevronDown\r\n);\r\n\r\nfunction ToRender() {\r\n return (\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n );\r\n}\r\n\r\nReactDOM.render(, document.getElementById('root'));\r\n\r\n// If you want your app to work offline and load faster, you can change\r\n// unregister() to register() below. Note this comes with some pitfalls.\r\n// Learn more about service workers: https://bit.ly/CRA-PWA\r\nserviceWorker.unregister();\r\n"],"sourceRoot":""}