{"version":3,"sources":["images/info-circle.svg","components/pages/Home.js","components/submitanewappeal/sanapart1/ContactInfoForm.js","components/shared/Decision60DayOptions.js","components/shared/ResolutionCodeOptions.js","components/shared/IreReasonCodeOptions.js","components/submitanewappeal/sanapart1/AppealForm.js","components/submitanewappeal/sanapart1/SubmitANewAppealPart1.js","components/submitanewappeal/fileupload/AlertMessage.js","components/submitanewappeal/fileupload/FileUploadTable.js","components/submitanewappeal/fileupload/FileUploadForm.js","components/submitanewappeal/sanapart2/SubmitANewAppealPart2.js","components/submitanewappeal/sanapart3/ContactInfoReview.js","components/submitanewappeal/sanapart3/AppealDataReviewTable.js","images/exclamation-triangle.svg","images/check-circle.svg","images/x-octagon.svg","components/submitanewappeal/sanamodal/SubmitANewAppealModal.js","components/submitanewappeal/sanapart3/SubmitANewAppealPart3.js","components/submitanewappeal/editnewappeal/EditContactInfoForm.js","components/submitanewappeal/editnewappeal/EditAppealDetailsForm.js","components/submitanewappeal/editnewappeal/EditANewAppeal.js","components/submitanewappeal/SubmitANewAppeal.js","components/checkstatusofexisting/CheckStatusColumns.js","components/admin/viewallappeals/GlobalFilter.js","images/funnel.svg","components/admin/viewallappeals/ColumnFilter.js","images/arrow-up-square.svg","images/arrow-down-square.svg","components/checkstatusofexisting/ExistingAppealsTable.js","components/checkstatusofexisting/ResumeANewAppeal.js","components/checkstatusofexisting/CheckStatusOfExistingAppeal.js","components/respondtorequest/RMTColumns.js","components/respondtorequest/RequestMessageTable.js","components/respondtorequest/ManufMessageCenter.js","components/respondtorequest/RespondToRequestForAdditionalInfo.js","components/admin/viewallappeals/Columns.js","images/envelope-exclamation.svg","components/admin/viewallappeals/ViewAllAppeals.js","components/admin/adminmodals/AppealMessageDetailModal.js","components/admin/appealmessages/AppealMessagesTable.js","images/person-circle.svg","components/admin/adminmodals/UpdateSubmitterModal.js","components/shared/StageOptions.js","images/box-arrow-in-up.svg","components/admin/adminmodals/UpdateAppealStageModal.js","images/envelope.svg","components/admin/adminmodals/RequestInformationModal.js","components/admin/viewappealdetails/ViewAppealDetails.js","components/admin/appealmessages/ResponseColumns.js","components/admin/appealmessages/ViewResponseMessagesTable.js","images/exclamation-octagon-fill.svg","components/auth/NotAuthorized.js","components/auth/SessionTimeout.js","components/admin/AdminHome.js","images/CMS_Logo.svg","components/layout/LogoHeader.js","images/PRI_Logo.jpg","components/layout/Navigation.js","components/auth/SessionTimeoutModal.js","components/layout/Footer.js","images/PRI_Tagline.svg","components/layout/Tagline.js","components/release/versions/V1000.js","components/release/versions/V1010.js","components/release/versions/V1020.js","components/release/versions/V1030.js","components/release/versions/V1040.js","components/release/ReleaseNotes.js","components/MainComponent.js","App.js","reportWebVitals.js","index.js"],"names":["withOktaAuth","props","handleModalOpen","setState","prevState","show","state","login","bind","logout","checkSession","a","this","oktaAuth","signInWithRedirect","signOut","sessionStorage","removeItem","process","axios","get","withCredentials","then","res","catch","err","console","log","error","authState","isAuthenticated","getUser","info","setItem","preferred_username","Groups","map","group","body","className","Row","Col","md","Nav","Link","href","Button","onClick","Modal","centered","size","Header","src","InfoCircle","alt","Title","Body","Footer","Component","contactValidated","handleValidation","event","form","currentTarget","checkValidity","preventDefault","stopPropagation","getAppealId","Form","noValidate","validated","onSubmit","Group","as","controlId","sm","Label","Control","required","type","placeholder","name","pattern","value","manufacturerName","onChange","e","handleChange","target","Feedback","pNumber","submitterName","readOnly","submitterEmail","submitterPhone","altName","altEmail","altPhone","style","fontSize","marginBottom","marginTop","fontWeight","Decision60DayOptions","label","ResolutionCodeOptions","IreReasonCodeOptions","onDisputeDateChange","disputeDate","handleDisputeDateChange","onTpaDecisionDateChange","tpaDecisionDate","handleTpaDecisionDateChange","numDaysBetween","d1","d2","diffValue","Date","getMonth","getDate","getFullYear","alert","amountInvoicedControl","amountAppealedControl","handleAmountChange","amount1","amount2","invAmount","Number","appAmount","datesValid","compareDates","today","validDiff","validAmount","compareAmounts","handleSubmit","column","invoiceReportId","decision60Day","decision60DayOptions","item","referenceNumber","resolutionCode","resolutionCodeOptions","ireReasonCode","ireReasonCodeOptions","explanationIreRequest","row","htmlFor","InputGroup","Text","id","handleChildSelect","childKey","handleContactSubmit","getNextAppealId","eventKey","Tabs","activeKey","onSelect","Tab","title","disabled","tabClassName","appealId","AlertMessage","handleClose","msg","variant","Alert","Heading","message","handleDeleteAppealFile","handleDownloadFile","handleUndownloadableFiles","filename","Filename","toString","accessToken","getAccessToken","url","delete","headers","Authorization","params","status","renderTableData","request","response","responseType","appealID","fileDownload","data","textAlign","appealFiles","length","loading","Table","hover","showDeleteBtn","downloadFiles","file","Description","moment","DateAdded","format","FileBinary","getNoFileTableBody","onFileChange","files","todayDate","dateAdded","encodedTitle","encodeFileTitle","encodedDesc","encodeFileDescription","formData","FormData","append","post","reset","fileTitle","fileDesc","p","document","createElement","textContent","innerHTML","description","File","color","height","width","handleClick","handleSelect","getAppealFiles","defaultValue","contactReview","paddingTop","plaintext","appealDataReview","SubmitANewAppealModal","modalImage","isError","XOctagon","isWarning","ExclamationTriangle","CheckCircle","bodyText","Check","isValid","Input","checked","isChecked","isInvalid","listStyleType","feedback","fbItem","counter","handleAppealSubmit","updateAppealDueDate","updateAppealCompletion","updateAppealStage","updateManufacturerStatus","sendAcknowledgementEmail","showSpinner","put","AppealID","Completed","Stage","AppealId","Status","email","ccEmail","mailRequest","ManufacturerName","ToEmail","CcEmail","BccEmail","isEdit","isReview","showEditBtn","isResume","updateContactInfo","PNumber","ContactName","Email","Telephone","AltContactName","AltEmail","AltTelephone","InvoiceID","TPADecision","updateAppealDetails","disputeDateFormatted","tpaDecisionDateFormatted","RefNumber","DisputeResolutionCode","AmtInvoiced","AmtDispute","AppealReasonCode","Explanation","DateDispute","DateDecision","key","appealDate","completed","dateInvoiceReceived","dueDate","stage","encodeTextArea","createAppeal","createAppealData","username","getItem","newAppeal","newAppealData","url2","url3","resp","appealDateFormatted","AppealDate","Submitter","DateInvoiceReceived","encodedValue","COLUMNS","accessor","Cell","sortable","disableFilters","original","GlobalFilter","filter","setFilter","ColumnFilter","filterValue","FunnelIcon","ExistingAppealsTable","useOktaAuth","useState","loadingData","setLoadingData","setData","setAppealId","setMessage","setVariant","columns","useMemo","defaultColumn","Filter","getData","useTable","useFilters","useGlobalFilter","useSortBy","usePagination","getTableProps","getTableBodyProps","headerGroups","page","nextPage","previousPage","canNextPage","canPreviousPage","pageOptions","gotoPage","pageCount","setPageSize","prepareRow","setGlobalFilter","globalFilter","pageIndex","pageSize","generateSortingIndicator","isSorted","isSortedDesc","ArrowDown","ArrowUp","appeal","handleResumeClick","headerGroup","getHeaderGroupProps","getHeaderProps","getSortByToggleProps","render","canFilter","getRowProps","cells","cell","getCellProps","marginLeft","paddingLeft","marginRight","pageNumber","getAppealById","getAppealInfo","getAppealDataByAppealId","getAppealData","getAppealStage","window","location","reload","appealInfo","appealData","RequestMessageTable","ArrownUp","messageId","MessageID","setMessageId","cursor","getFooter","sendResponseMessage","showAlert","handleAlertClose","borderRight","appealMessage","requestedDate","submittedTo","copyTo","requestSubject","requestMessage","responseTo","fileCount","responseSubject","responseMessage","fileLoading","fileMessage","fileVariant","submitter","responseDate","messageStatus","filesUploaded","getAppealMessage","encodeSubjectTextArea","encodeMessageTextArea","sendResponseMessageEmail","getManufacturerName","subject","RequestedDate","SubmittedTo","CopyTo","RequestSubject","RequestMessage","encodedSubject","encodedBody","ResponseDate","ResponseTo","ResponseSubject","ResponseMessage","MessageStatus","FilesUploaded","messageSubject","messageBody","ViewAllAppeals","messageCount","setMessageCount","getRespondedMessagesCount","Envelope","updateMessageStatus","renderAppealMessagesTableData","getModalFooter","handleAlertModalOpen","alertShow","appealMessages","striped","handleSubmitterModalOpen","showSubmitterModal","Person","StageOptions","handleStageModalOpen","showStageModal","Arrow","handleRequestModalOpen","encodeBodyTextArea","createRequestMessage","sendRequestMessageEmail","showRequestModal","handleDetailsSelect","isAdmin","ViewResponseMessagesTable","NotAuthorized","countdownInterval","timeout","ExlamationOctogon","isMgr","LogoHeader","CMSLogo","Navigation","auth","setAuth","setReload","setIsAdmin","setIsMgr","useEffect","handleReload","Navbar","collapseOnSelect","expand","sticky","Container","Toggle","Collapse","activeClassName","to","SessionTimeoutModal","countdown","onLogout","onContinue","SessionTimeout","timeoutModalOpen","setTimeoutModalOpen","timeoutCountdown","setTimeoutCountdown","idleTimer","useRef","clearSessionTimeout","clearTimeout","clearSessionInterval","clearInterval","handleLogout","ref","onActive","onIdle","setTimeout","setInterval","debounce","rel","Tagline","PRITagline","V1000","lineHeight","textIndent","listStylePosition","V1010","V1020","V1030","V1040","ReleaseNotes","class","Accordion","defaultActiveKey","Card","OktaAuth","issuer","clientId","redirectUri","origin","withRouter","restoreOriginalUri","_oktaAuth","originalUri","history","replace","toRelativeUrl","path","exact","component","Home","LoginCallback","SubmitANewAppeal","CheckStatusOfExistingAppeal","RespondToRequestForAdditionalInfo","AdminHome","createBrowserHistory","App","forceRefresh","reportWebVitals","onPerfEntry","Function","getCLS","getFID","getFCP","getLCP","getTTFB","ReactDOM","StrictMode","getElementById"],"mappings":"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","file":"static/js/main.50ed6ee8.chunk.js","sourcesContent":["export default __webpack_public_path__ + \"static/media/info-circle.2dcc3e52.svg\";","import React, { Component } from 'react';\r\nimport { withOktaAuth } from '@okta/okta-react';\r\nimport axios from 'axios';\r\nimport { Modal, Row, Col, Nav } from 'react-bootstrap';\r\nimport Button from 'react-bootstrap/Button';\r\nimport InfoCircle from '../../images/info-circle.svg';\r\nimport './Home.css';\r\n\r\nexport default withOktaAuth(class Home extends Component {\r\n constructor(props) {\r\n super(props);\r\n this.state = {\r\n show: true\r\n };\r\n\r\n this.login = this.login.bind(this);\r\n this.logout = this.logout.bind(this);\r\n this.checkSession = this.checkSession.bind(this);\r\n this.handleModalOpen = this.handleModalOpen.bind(this);\r\n }\r\n\r\n // handle login using Okta redirection\r\n // user is sent to Okta login page, then redirected back to application Home page on successful authentication\r\n // Okta configs and redirection are managed in MainComponent.js\r\n async login() {\r\n await this.props.oktaAuth.signInWithRedirect();\r\n }\r\n\r\n // handle logout from Okta and clear session storage\r\n async logout() {\r\n await this.props.oktaAuth.signOut();\r\n sessionStorage.removeItem(\"username\");\r\n sessionStorage.removeItem(\"group\");\r\n }\r\n\r\n // Check to see if the user has a valid Okta session\r\n // if no Okta session is found, log user out\r\n async checkSession() {\r\n const url = process.env.REACT_APP_OKTA_SESSION;\r\n await axios.get(url, {\r\n withCredentials: true\r\n })\r\n .then(res => {\r\n // console.log(\"Session Found in Home.\");\r\n // console.log(res.data)\r\n })\r\n .catch(err => {\r\n console.log(\"No session found in Home\");\r\n console.error(err);\r\n this.logout();\r\n })\r\n }\r\n\r\n // On page load check if user is authenticated\r\n // If authenticated get username and group memberships and place in session storage\r\n componentDidMount() {\r\n if (this.props.authState?.isAuthenticated) {\r\n this.props.oktaAuth.getUser().then((info) => {\r\n sessionStorage.setItem(\"username\", info.preferred_username);\r\n info.Groups.map(group => {\r\n if (group === process.env.REACT_APP_OKTA_ADMIN_ROLE) {\r\n sessionStorage.setItem(\"group\", process.env.REACT_APP_OKTA_ADMIN_ROLE);\r\n } else if (group === process.env.REACT_APP_OKTA_MGR_ROLE) {\r\n sessionStorage.setItem(\"group\", process.env.REACT_APP_OKTA_MGR_ROLE);\r\n }\r\n return group;\r\n })\r\n this.checkSession();\r\n })\r\n }\r\n }\r\n\r\n // On page update/reload check if user is authenticated\r\n // If authenticated get username and group memberships and place in session storage\r\n componentDidUpdate() {\r\n if (this.props.authState?.isAuthenticated) {\r\n this.props.oktaAuth.getUser().then((info) => {\r\n sessionStorage.setItem(\"username\", info.preferred_username);\r\n info.Groups.map(group => {\r\n if (group === process.env.REACT_APP_OKTA_ADMIN_ROLE) {\r\n sessionStorage.setItem(\"group\", process.env.REACT_APP_OKTA_ADMIN_ROLE);\r\n } else if (group === process.env.REACT_APP_OKTA_MGR_ROLE) {\r\n sessionStorage.setItem(\"group\", process.env.REACT_APP_OKTA_MGR_ROLE);\r\n }\r\n return group;\r\n })\r\n })\r\n this.checkSession();\r\n }\r\n }\r\n\r\n // open/close Modal\r\n handleModalOpen = () => {\r\n this.setState((prevState) => {\r\n return {\r\n show: !prevState.show\r\n }\r\n })\r\n }\r\n\r\n render() {\r\n\r\n // if user is authenticated show Home page content\r\n // if user is not authenticated show warning banner content and login button\r\n let body = null;\r\n if (this.props.authState?.isAuthenticated) {\r\n body = (\r\n
\r\n \r\n \r\n \r\n
Welcome to the Coverage Gap Discount Program Appeals Portal
\r\n
\r\n \r\n
Please select an action below or choose from the navigation menu:
\r\n
\r\n \r\n
    \r\n
  • \r\n Submit a New Appeal\r\n
  • \r\n
  • \r\n Respond to Request for Information\r\n
  • \r\n
  • \r\n Check Status of Existing Appeal\r\n
  • \r\n
\r\n
\r\n \r\n \r\n
\r\n \r\n
\r\n );\r\n } else {\r\n body = (\r\n
\r\n \r\n \r\n \r\n
Welcome to the Coverage Gap Discount Program Appeals Portal
\r\n
\r\n \r\n
INITIATING THE LOGIN PROCESS INDICATES THAT YOU HAVE READ AND UNDERSTAND THE STATEMENTS BELOW
\r\n

You are accessing a U.S. Government information system, which includes:

\r\n
\r\n
    \r\n
  1. this computer,
  2. \r\n
  3. this computer network,
  4. \r\n
  5. all computers connected to this network, and
  6. \r\n
  7. all devices and storage media attached to this network or to a \r\n computer on this network.
  8. \r\n
\r\n
\r\n
\r\n \r\n \r\n
\r\n

\r\n This information system is provided for U.S. Government-authorized use only.\r\n

\r\n

\r\n Unauthorized use is prohibited and subject to criminal and civil penalties. All users must adhere to the Information \r\n Security Policies, Standards, and Procedures of the United States Department of Health and Human Services, Centers for \r\n Medicare & Medicaid Services (CMS). Your usage may be monitored, recorded, and audited. Your use of this information \r\n system establishes your understanding of, and consent to, the foregoing terms and conditions. CMS and its contractors \r\n maintain ownership and responsibility for their computer systems.\r\n

\r\n

\r\n Unauthorized or improper use of this system may result in disciplinary action, as well as civil and criminal penalties. \r\n By using this information system, you understand and consent to the following: You have no reasonable expectation of \r\n privacy regarding any communication or data transiting or stored on this information system. At any time, and for any \r\n lawful Government purpose, the Government may monitor, intercept, and search and seize any communication or data transiting \r\n or stored on this information system. Any communication or data transiting or stored on this information system may be \r\n disclosed or used for any lawful Government purpose.\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 \"Circle\r\n \r\n \r\n \r\n

New Account Required

\r\n
\r\n \r\n
\r\n
\r\n \r\n \r\n

Please note that accounts previously created in the old application are no longer valid.

\r\n

If you have not yet created a new account, please do so by clicking the Login button then selecting Sign up.

\r\n

Please contact cgdpappeals@provider-resources.com for any questions or concerns.

\r\n
\r\n
\r\n \r\n \r\n \r\n
\r\n
\r\n );\r\n }\r\n\r\n return (\r\n <>\r\n {body}\r\n \r\n )\r\n }\r\n});","import React, {Component} from 'react';\r\nimport Form from 'react-bootstrap/Form';\r\nimport { Row, Col } from 'react-bootstrap';\r\nimport Button from 'react-bootstrap/Button';\r\nimport { withOktaAuth } from '@okta/okta-react';\r\n\r\nexport default withOktaAuth(class ContactInfoForm extends Component {\r\n constructor(props) {\r\n super(props);\r\n this.state = {\r\n contactValidated: false,\r\n };\r\n this.handleValidation = this.handleValidation.bind(this);\r\n }\r\n\r\n // handle form field validations - all fields must pass validation before state changed to true and form submit functions take place\r\n handleValidation(event) {\r\n const form = event.currentTarget;\r\n \r\n if(form.checkValidity() === false) {\r\n event.preventDefault();\r\n event.stopPropagation();\r\n }\r\n this.setState({\r\n contactValidated: true\r\n });\r\n event.preventDefault();\r\n if(form.checkValidity() === true) {\r\n // gets next appeal id, but does not save data to database\r\n // form data updates state in parent component for later submission to database\r\n this.props.getAppealId();\r\n this.props.handleModalOpen();\r\n }\r\n }\r\n\r\n render() {\r\n return (\r\n <>\r\n
\r\n
Coverage Gap Discount Program Appeals Submission - Appeal Information Form
\r\n

Questions regarding the completion of this form or the website may be submitted to cgdpappeals@provider-resources.com.

\r\n
\r\n

Instructions:

\r\n
    \r\n
  1. Complete the Appeal Information Form (all fields are required).
  2. \r\n
  3. Click \"Continue to Next Step\" to move to the Appeal Details Form.
  4. \r\n
\r\n
\r\n
\r\n {/* noValidate bypasses default validation and allows use of custom validators */}\r\n
\r\n
Contact Information
\r\n \r\n \r\n Manufacturer Name:\r\n \r\n \r\n this.props.handleChange('manufacturerName', e.target.value)}\r\n />\r\n \r\n Please enter a manufacturer name. All fields are required.\r\n \r\n \r\n \r\n \r\n \r\n \r\n P Number (P####):\r\n \r\n \r\n this.props.handleChange('pNumber', e.target.value)}\r\n />\r\n \r\n Please enter a P number. All fields are required.\r\n \r\n \r\n \r\n \r\n \r\n \r\n Name of Individual Submitting Appeal:\r\n \r\n \r\n [A-Z]\\.?\\w*-?[A-Z]?\\w*)\\s?(?[A-Z]\\w+|[A-Z]?\\.?)\\s(?(?:[A-Z]\\w{1,3}|St\\.\\s|[A-Z]')?[A-Z]\\w+-?[A-Z]?\\w*)(?:,\\s|)(?Jr\\.|Sr\\.|IV|III|II|)\"\r\n value={this.props.submitterName}\r\n onChange={e => this.props.handleChange('submitterName', e.target.value)}\r\n />\r\n \r\n Please enter a contact name. All fields are required.\r\n \r\n \r\n \r\n \r\n \r\n \r\n Email Address:\r\n \r\n \r\n this.props.handleChange('submitterEmail', e.target.value)}\r\n />\r\n \r\n Please enter an email. All fields are required.\r\n \r\n \r\n \r\n \r\n \r\n \r\n Telephone Number (###-###-####):\r\n \r\n \r\n this.props.handleChange('submitterPhone', e.target.value)}\r\n />\r\n \r\n Please enter a telephone number using the format ###-###-####. All fields are required.\r\n \r\n \r\n \r\n \r\n \r\n \r\n Alternate Contact Name:\r\n \r\n \r\n [A-Z]\\.?\\w*-?[A-Z]?\\w*)\\s?(?[A-Z]\\w+|[A-Z]?\\.?)\\s(?(?:[A-Z]\\w{1,3}|St\\.\\s|[A-Z]')?[A-Z]\\w+-?[A-Z]?\\w*)(?:,\\s|)(?Jr\\.|Sr\\.|IV|III|II|)\"\r\n value={this.props.altName}\r\n onChange={e => this.props.handleChange('altName', e.target.value)}\r\n />\r\n \r\n Please enter an alternate contact name. All fields are required.\r\n \r\n \r\n \r\n \r\n \r\n \r\n Alternate Email Address:\r\n \r\n \r\n this.props.handleChange('altEmail', e.target.value)}\r\n />\r\n \r\n Please enter an alternate email. All fields are required.\r\n \r\n \r\n \r\n \r\n \r\n \r\n Alternate Telephone Number (###-###-####):\r\n \r\n \r\n this.props.handleChange('altPhone', e.target.value)}\r\n />\r\n \r\n Please enter an alternate phone number using the format ###-###-####. All fields are required.\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 NOTE: Clicking Continue to Next Step does not save the appeal. You must complete the next section and click Save and Continue.\r\n

\r\n
\r\n
\r\n \r\n )\r\n }\r\n});\r\n","const Decision60DayOptions = [\r\n { value: 'Yes', label: 'Yes' },\r\n { value: 'No', label: 'No'}\r\n]\r\n\r\nexport default Decision60DayOptions;","const ResolutionCodeOptions = [\r\n { value: 'Upheld', label: 'Upheld' },\r\n { value: 'Denied', label: 'Denied' },\r\n { value: 'Denied/Rejected on error', label: 'Denied/Rejected on error' },\r\n { value: 'Denied/Received after 60 days', label: 'Denied/Received after 60 days' }\r\n]\r\n\r\nexport default ResolutionCodeOptions;","const IreReasonCodeOptions = [\r\n { value: 'A01 - Duplicate Invoice Item', label: 'A01 - Duplicate Invoice Item' },\r\n { value: 'A02 - Closed Pharmacy', label: 'A02 - Closed Pharmacy' },\r\n { value: 'A03 - Not Part D Covered Drug', label: 'A03 - Not Part D Covered Drug' },\r\n { value: 'A04 - Aberrant Quantity/Invalid Days\\' Supply', label: 'A04 - Aberrant Quantity/Invalid Days\\' Supply' },\r\n { value: 'A06 - High Price of the Drug', label: 'A06 - High Price of the Drug' },\r\n { value: 'A07 - Last Lot Expiration Date - NDC not on market', label: 'A07 - Last Lot Expiration Date - NDC not on market' },\r\n { value: 'A09 - Marketing Category is not NDA or BLA', label: 'A09 - Marketing Category is not NDA or BLA' },\r\n { value: 'A11 - Invalid Date of Service (invoiced after 17th quarter for the benefit year)', label: 'A11 - Invalid Date of Service (invoiced after 17th quarter for the benefit year)' },\r\n { value: 'A13 - Excessive Gap Discount - Gap discount for disputed PDE exceeds maximum discount amount for a single PDE', label: 'A13 - Excessive Gap Discount - Gap discount for disputed PDE exceeds maximum discount amount for a single PDE' },\r\n { value: 'A14 - Excessive Gap Discount - Total accumulated gap discounts reported across multiple PDEs for a single beneficiary exceed cumulative maximum discount amount', label: 'A14 - Excessive Gap Discount - Total accumulated gap discounts reported across multiple PDEs for a single beneficiary exceed cumulative maximum discount amount' },\r\n { value: 'A99 - Other', label: 'A99 - Other' }\r\n]\r\n\r\nexport default IreReasonCodeOptions;","import React, {Component} from 'react';\r\nimport { withOktaAuth } from '@okta/okta-react';\r\nimport Form from 'react-bootstrap/Form';\r\nimport { Row, Col, Button } from 'react-bootstrap';\r\nimport InputGroup from 'react-bootstrap/InputGroup';\r\nimport DatePicker from 'react-date-picker';\r\nimport decision60DayOptions from '../../shared/Decision60DayOptions';\r\nimport resolutionCodeOptions from '../../shared/ResolutionCodeOptions';\r\nimport ireReasonCodeOptions from '../../shared/IreReasonCodeOptions';\r\n\r\nexport default withOktaAuth(class AppealForm extends Component {\r\n constructor(props) {\r\n super(props);\r\n this.state = {\r\n validated: false,\r\n amountInvoicedControl: \"\",\r\n amountAppealedControl: \"\",\r\n disputeDate: new Date(),\r\n tpaDecisionDate: new Date()\r\n };\r\n this.handleValidation = this.handleValidation.bind(this);\r\n this.handleAmountChange = this.handleAmountChange.bind(this);\r\n }\r\n\r\n // Capture DatePicker values and pass them to the parent component\r\n onDisputeDateChange = disputeDate => {\r\n this.setState({disputeDate});\r\n this.props.handleDisputeDateChange(disputeDate);\r\n }\r\n\r\n onTpaDecisionDateChange = tpaDecisionDate => {\r\n this.setState({tpaDecisionDate});\r\n this.props.handleTpaDecisionDateChange(tpaDecisionDate);\r\n }\r\n\r\n // compare entered dates to ensure they meet business rules and pass validation\r\n // Business Rule: TPA Decision Date must be “after” the submitted date\r\n compareDates() {\r\n if((this.state.tpaDecisionDate > this.state.disputeDate)) {\r\n return true;\r\n } else {\r\n alert(\"TPA Decision Date must be later than the Submitted Date.\")\r\n return false;\r\n }\r\n }\r\n\r\n // Business Rule: TPA Decision Date must be within 60 days of the current date\r\n numDaysBetween = function(d1, d2) {\r\n const today = new Date(((d1.getMonth()+1) + \"/\" + d1.getDate() + \"/\" + d1.getFullYear()));\r\n const tpa = new Date(((d2.getMonth()+1) + \"/\" + d2.getDate() + \"/\" + d2.getFullYear()));\r\n const diff = (today - tpa);\r\n const diffValue = (diff / (1000 * 60 * 60 * 24));\r\n\r\n if(diffValue >= 61) {\r\n alert(\"TPA Date is not within 60 days of the current date.\");\r\n return false;\r\n } else if(diffValue < 0) {\r\n alert(\"TPA Decision Date must be later than the Submitted Date and prior to the current date.\");\r\n return false;\r\n } else {\r\n return true;\r\n }\r\n }\r\n\r\n // handles currency form field changes\r\n handleAmountChange(event) {\r\n const value = event.target.value;\r\n this.setState({\r\n ...this.state,\r\n [event.target.name]: value\r\n });\r\n this.props.handleChange(event.target.name, value)\r\n }\r\n\r\n // checks entered amounts pass business rule validations\r\n // Business rule - amounts cannot be zero\r\n // Business rule - Appealed amount cannot be greater than the invoiced amount\r\n compareAmounts(amount1, amount2) {\r\n const invAmount = Number(amount1);\r\n const appAmount = Number(amount2);\r\n if(invAmount === 0 || appAmount === 0) {\r\n alert(\"Amount must be a number greater than 0.00.\")\r\n return false;\r\n } else if(invAmount < appAmount) {\r\n alert(\"Appealed amount cannot be greater than the invoiced amount.\")\r\n return false;\r\n } else {\r\n return true;\r\n }\r\n }\r\n\r\n // handle form field validations - all fields must pass validation before state changed to true and form submits\r\n handleValidation(event) {\r\n const form = event.currentTarget;\r\n const datesValid = this.compareDates();\r\n const today = new Date();\r\n const validDiff = this.numDaysBetween(today, this.state.tpaDecisionDate);\r\n const validAmount = this.compareAmounts(this.state.amountInvoicedControl, this.state.amountAppealedControl);\r\n if ((form.checkValidity() === false) || !validAmount || !datesValid || !validDiff) {\r\n event.preventDefault();\r\n event.stopPropagation();\r\n }\r\n this.setState({\r\n validated: true,\r\n });\r\n event.preventDefault();\r\n if((form.checkValidity() === true) && validAmount && datesValid && validDiff) {\r\n // if validation passes, sends form submission to Parent > Grandparent components\r\n this.props.handleSubmit();\r\n }\r\n }\r\n\r\n render() {\r\n return (\r\n
\r\n
\r\n
Coverage Gap Discount Program Appeals Submission - Appeal Details Form
\r\n

Questions regarding the completion of this form or the website may be submitted to cgdpappeals@provider-resources.com.

\r\n
\r\n

Instructions:

\r\n
    \r\n
  1. Complete the Appeal Details Form (all fields are required).
  2. \r\n
  3. NOTE: Only one DRN is required to be completed in the Appeal Details Form.
  4. \r\n
  5. To submit additional DRNs, please attach a spreadsheet with the additional DRNs and submit as an attachment in the next section.
  6. \r\n
  7. Click \"Save and Continue\" to move to the next step.
  8. \r\n
\r\n
\r\n
\r\n

NOTE: Clicking the Save and Continue button creates a database record of your appeal. If you need to make an edit, \r\n please continue to the Review screen. There is an option to Edit the Appeal.\r\n

\r\n
\r\n
\r\n {/* noValidate bypasses default validation and allows use of custom validators */}\r\n
\r\n
Appeal Details
\r\n \r\n Invoice Report ID (e.g., 201101):\r\n \r\n this.props.handleChange('invoiceReportId', e.target.value)}\r\n />\r\n \r\n Please enter an invoice report ID. All fields are required.\r\n \r\n \r\n \r\n \r\n \r\n Was the TPA Decision issued within the 60 day window?:\r\n \r\n this.props.handleChange('decision60Day', e.target.value)}\r\n >\r\n \r\n {decision60DayOptions.map((item) => )}\r\n \r\n \r\n Please select an item from the dropdown list. All fields are required.\r\n \r\n \r\n \r\n \r\n \r\n Detail Reference Number:\r\n \r\n this.props.handleChange('referenceNumber', e.target.value)}\r\n />\r\n \r\n Please enter a detail reference number that is 20 numbers in length. All fields are required.\r\n \r\n \r\n \r\n \r\n \r\n Date Dispute Submitted to TPA:\r\n \r\n \r\n \r\n \r\n \r\n \r\n TPA Decision Date:\r\n \r\n \r\n \r\n \r\n \r\n \r\n Dispute Resolution Code (if applicable):\r\n \r\n this.props.handleChange('resolutionCode', e.target.value)}\r\n >\r\n \r\n {resolutionCodeOptions.map((item) => )}\r\n \r\n \r\n Please select an item from the dropdown list. All fields are required.\r\n \r\n \r\n \r\n \r\n \r\n Reason Code for IRE Appeal:\r\n \r\n this.props.handleChange('ireReasonCode', e.target.value)}\r\n >\r\n \r\n {ireReasonCodeOptions.map((item) => )}\r\n \r\n \r\n Please select an item from the dropdown list. All fields are required.\r\n \r\n \r\n \r\n \r\n \r\n Explanation for IRE Review Request:\r\n \r\n this.props.handleChange('explanationIreRequest', e.target.value)}\r\n row={4}\r\n />\r\n \r\n Please enter an explanation for IRE review request. All fields are required.\r\n \r\n \r\n \r\n \r\n \r\n \r\n Amount Invoiced:\r\n \r\n \r\n \r\n $\r\n \r\n \r\n Please enter an invoiced amount. All fields are required.\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n Amount Appealed:\r\n \r\n \r\n \r\n $\r\n \r\n \r\n Please enter an appealed amount. All fields are required.\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});","import React, { Component } from 'react';\r\nimport { withOktaAuth } from '@okta/okta-react';\r\nimport Tabs from 'react-bootstrap/Tabs';\r\nimport Tab from 'react-bootstrap/Tab';\r\nimport { Modal, Button, Row, Col } from 'react-bootstrap';\r\nimport ContactInfoForm from './ContactInfoForm';\r\nimport AppealForm from './AppealForm';\r\nimport InfoCircle from '../../../images/info-circle.svg';\r\n\r\nexport default withOktaAuth(class SubmitANewAppealPart1 extends Component {\r\n constructor(props) {\r\n super(props);\r\n this.state = {\r\n childKey: \"ContactInfo\",\r\n show: false\r\n };\r\n this.handleChildSelect = this.handleChildSelect.bind(this);\r\n this.handleContactSubmit = this.handleContactSubmit.bind(this);\r\n this.handleModalOpen = this.handleModalOpen.bind(this);\r\n }\r\n\r\n // pass-through function to get next sequential appeal id\r\n getAppealId() {\r\n this.props.getNextAppealId();\r\n }\r\n\r\n // handle what sub-tab content is displayed \r\n handleChildSelect(eventKey) {\r\n this.setState({\r\n childKey: eventKey\r\n });\r\n }\r\n\r\n // change tab content displayed from button click in ContactInfoForm\r\n handleContactSubmit() {\r\n this.setState({\r\n childKey: \"AppealDetail\"\r\n });\r\n this.handleModalOpen();\r\n }\r\n\r\n // open/close Modal\r\n handleModalOpen = () => {\r\n this.setState((prevState) => {\r\n return {\r\n show: !prevState.show\r\n }\r\n })\r\n }\r\n\r\n // pass-through function to handle form field state changes\r\n handleChange(target, value) {\r\n this.props.handleChange(target, value);\r\n }\r\n\r\n // pass-through functions to handle calendar control date value changes\r\n handleDisputeDateChange = disputeDate => {\r\n this.props.handleDisputeDateChange(disputeDate);\r\n }\r\n handleTpaDecisionDateChange = tpaDecisionDate => {\r\n this.props.handleTpaDecisionDateChange(tpaDecisionDate);\r\n }\r\n\r\n // pass-through function to submit data to database from button click in AppealForm\r\n handleSubmit() {\r\n this.props.handleSubmit();\r\n }\r\n\r\n render() {\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 \"Circle\r\n \r\n \r\n \r\n

Entering a DRN

\r\n
\r\n \r\n
\r\n
\r\n \r\n \r\n

In the next screen you will enter the Appeal DRN

\r\n

Please enter only one DRN per appeal.

\r\n

Additional DRN's should be attached in a spreadsheet.

\r\n

Please submit one appeal for each appeal reason.

\r\n
\r\n
\r\n \r\n \r\n \r\n
\r\n
\r\n )\r\n }\r\n});","import React, { Component } from 'react';\r\nimport PropTypes from 'prop-types';\r\nimport Alert from 'react-bootstrap/Alert';\r\nimport Button from 'react-bootstrap/Button';\r\n\r\nclass AlertMessage extends Component {\r\n constructor(props) {\r\n super(props);\r\n this.state = {\r\n show: true,\r\n msg: this.props.msg,\r\n variant: this.props.variant\r\n };\r\n this.handleClose = this.handleClose.bind(this);\r\n }\r\n\r\n handleClose = () => {\r\n this.setState({\r\n show: false\r\n });\r\n }\r\n \r\n render() {\r\n return (\r\n <>\r\n \r\n {this.state.msg}\r\n
\r\n
\r\n \r\n
\r\n
\r\n \r\n )\r\n }\r\n}\r\n\r\nAlertMessage.propTypes = {\r\n msg: PropTypes.string.isRequired\r\n}\r\n\r\nexport default AlertMessage;\r\n","import React, { Component } from 'react';\r\nimport { withOktaAuth } from '@okta/okta-react';\r\nimport axios from 'axios';\r\nimport Table from 'react-bootstrap/Table';\r\nimport moment from 'moment';\r\nimport fileDownload from 'js-file-download';\r\nimport Alert from './AlertMessage';\r\n\r\nexport default withOktaAuth(class FileUploadTable extends Component {\r\n constructor(props) {\r\n super(props);\r\n this.state = {\r\n message: \"\",\r\n variant: \"info\"\r\n };\r\n this.handleDeleteAppealFile = this.handleDeleteAppealFile.bind(this);\r\n this.handleDownloadFile = this.handleDownloadFile.bind(this);\r\n this.handleUndownloadableFiles = this.handleUndownloadableFiles.bind(this);\r\n }\r\n\r\n // handles deleting files from database (via API)\r\n async handleDeleteAppealFile(filename, e) {\r\n const Filename = filename.toString();\r\n const accessToken = this.props.oktaAuth.getAccessToken();\r\n const url = (`${process.env.REACT_APP_API_BASE_URL}${process.env.REACT_APP_DELETE_APPEAL_FILES_BASE_URL}`);\r\n await axios.delete(url, {\r\n headers: {\r\n Authorization: `Bearer ${accessToken}`\r\n },\r\n params: {\r\n appealId: this.props.appealId,\r\n filename: Filename\r\n }\r\n })\r\n .then(res => {\r\n (res.status === 200) &&\r\n this.setState({\r\n message: `File ${Filename} deleted successfully`\r\n })\r\n // refreshes Appeal Files tables after deletion\r\n this.props.renderTableData();\r\n })\r\n .catch(error => {\r\n console.log(\"There was a problem with the server while deleting the Appeal file.\");\r\n console.log(\"There was a problem deleting the Appeal file.\", error);\r\n console.log(error.request.status);\r\n console.log({error});\r\n if (error.request.status === 0) {\r\n console.log(\"The server did not respond when trying to delete the Appeal file due to an invalid request format.\");\r\n console.log(error.toString());\r\n console.log(error.request);\r\n this.setState({\r\n message: 'The server did not respond when trying to delete the Appeal file.',\r\n variant: 'danger'\r\n });\r\n } else if (error.response.status === 500) {\r\n console.log(\"There was a server error while deleting the Appeal file.\");\r\n console.log({error});\r\n console.log(error.toString());\r\n console.log(error.response.status);\r\n this.setState({\r\n message: 'There was a server error while deleting the Appeal file.',\r\n variant: 'danger'\r\n });\r\n } else {\r\n console.log(\"There was an unknown problem with deleting the Appeal file.\");\r\n console.log({error});\r\n console.log(error.toString());\r\n console.log(error.response.status);\r\n this.setState({\r\n message: 'There was an unknown problem with deleting the Appeal file.',\r\n variant: 'danger'\r\n });\r\n }\r\n });\r\n }\r\n\r\n // allows authorized users to download appeal files\r\n async handleDownloadFile(filename, e) {\r\n const Filename = filename.toString();\r\n const accessToken = this.props.oktaAuth.getAccessToken();\r\n const url = (`${process.env.REACT_APP_API_BASE_URL}${process.env.REACT_APP_DOWNLOAD_APPEAL_FILE_URL}`);\r\n await axios.get(url, {\r\n headers: {\r\n Authorization: `Bearer ${accessToken}`\r\n },\r\n responseType: 'blob',\r\n params: {\r\n appealID: this.props.appealId,\r\n filename: Filename\r\n }\r\n })\r\n .then(res => {\r\n fileDownload(res.data, Filename);\r\n this.setState({\r\n message: 'Download successful.'\r\n })\r\n })\r\n .catch(error => {\r\n console.log(\"There was a problem with the server while downloading the Appeal file.\");\r\n console.log(\"There was a problem downloading the Appeal file.\", error);\r\n console.log(error.request.status);\r\n console.log({error});\r\n if (error.request.status === 0) {\r\n console.log(\"The server did not respond when trying to download the Appeal file due to an invalid request format.\");\r\n console.log(error.toString());\r\n console.log(error.request);\r\n this.setState({\r\n message: 'The server did not respond when trying to download the Appeal file.',\r\n variant: 'danger'\r\n })\r\n } else if (error.response.status === 500) {\r\n console.log(\"There was a server error while downloading the Appeal file.\");\r\n console.log({error});\r\n console.log(error.toString());\r\n console.log(error.response.status);\r\n this.setState({\r\n message: 'There was a server error while downloading the Appeal file.',\r\n variant: 'danger'\r\n })\r\n } else {\r\n console.log(\"There was an unknown problem with downloading the Appeal file.\");\r\n console.log({error});\r\n console.log(error.toString());\r\n console.log(error.response.status);\r\n this.setState({\r\n message: 'There was an unknown problem with downloading the Appeal file.',\r\n variant: 'danger'\r\n })\r\n }\r\n });\r\n }\r\n\r\n // handle non-binary appeal files (pre-rebuild files)\r\n handleUndownloadableFiles(e) {\r\n alert(\"Please contact the IT Helpdesk to download this file\");\r\n }\r\n\r\n getNoFileTableBody() {\r\n let body;\r\n if (this.props.message) {\r\n body = \r\n } else if (this.state.message){\r\n body = \r\n } else {\r\n body = No files to display\r\n }\r\n return body;\r\n }\r\n\r\n render() {\r\n if(this.props.appealFiles.length > 0) {\r\n return (\r\n <>\r\n {this.props.loading ? \"Loading table data...\" : null}\r\n {this.props.message ? : null}\r\n {this.state.message ? : null}\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n {this.props.showDeleteBtn ?\r\n : null}\r\n {this.props.downloadFiles ?\r\n : null}\r\n \r\n \r\n \r\n {\r\n this.props.appealFiles.map((file) => (\r\n \r\n \r\n \r\n \r\n \r\n {this.props.showDeleteBtn ?\r\n : null}\r\n {this.props.downloadFiles ?\r\n : null\r\n }\r\n \r\n ))\r\n }\r\n \r\n \r\n
File NameTitleDescriptionDate Added
{file.Filename}{file.Title}{file.Description}{ moment(file.DateAdded).format(\"YYYY-MM-DD\") }\r\n \r\n \r\n {file.FileBinary == null ? \r\n : \r\n \r\n }\r\n
\r\n \r\n )\r\n } else {\r\n return (\r\n <>\r\n {this.props.loading ? \"Loading table data...\" : 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 {this.getNoFileTableBody()}\r\n \r\n \r\n \r\n \r\n \r\n
File NameTitleDescriptionDate Added
\r\n \r\n )\r\n }\r\n }\r\n});","import React, { Component } from 'react';\r\nimport { withOktaAuth } from '@okta/okta-react';\r\nimport axios from 'axios';\r\nimport Form from 'react-bootstrap/Form';\r\nimport Button from 'react-bootstrap/Button';\r\nimport { Row, Col } from 'react-bootstrap';\r\nimport Alert from './AlertMessage';\r\nimport FileUploadTable from './FileUploadTable';\r\nimport { BallTriangle } from 'react-loader-spinner';\r\n\r\nexport default withOktaAuth(class FileUploadForm extends Component {\r\n constructor(props) {\r\n super(props);\r\n this.state = {\r\n file: \"\",\r\n fileTitle: \"\",\r\n fileDesc: \"\",\r\n message: \"\",\r\n variant: \"info\",\r\n appealFiles: [],\r\n loading: false\r\n };\r\n this.onFileChange = this.onFileChange.bind(this);\r\n this.onSubmit = this.onSubmit.bind(this);\r\n this.handleChange = this.handleChange.bind(this);\r\n this.encodeFileTitle = this.encodeFileTitle.bind(this);\r\n this.encodeFileDescription = this.encodeFileDescription.bind(this);\r\n }\r\n\r\n // handles file uploader file change (the file itself)\r\n onFileChange = e => {\r\n this.setState({\r\n file: e.target.files[0]\r\n });\r\n }\r\n\r\n // handles file uploader form field changes (Title, Description)\r\n handleChange(e) {\r\n const value = e.target.value;\r\n this.setState({\r\n ...this.state,\r\n [e.target.name]: value\r\n });\r\n }\r\n\r\n // encoding for the file title form field\r\n encodeFileTitle() {\r\n const title = this.state.fileTitle;\r\n const p = document.createElement(\"p\");\r\n p.textContent = title;\r\n const encodedTitle = p.innerHTML;\r\n return encodedTitle;\r\n }\r\n\r\n // encoding for the file description form field\r\n encodeFileDescription() {\r\n const description = this.state.fileDesc;\r\n const p = document.createElement(\"p\");\r\n p.textContent = description;\r\n const encodedDescription = p.innerHTML;\r\n return encodedDescription;\r\n }\r\n\r\n // gather needed data from state and file and send to database (via API)\r\n onSubmit = e => {\r\n this.setState({\r\n loading: true\r\n });\r\n const todayDate = new Date();\r\n const dateAdded = todayDate.getFullYear() + \"-\" + (todayDate.getMonth() + 1) + \"-\" + todayDate.getDate();\r\n const encodedTitle = this.encodeFileTitle();\r\n const encodedDesc = this.encodeFileDescription();\r\n const accessToken = this.props.oktaAuth.getAccessToken();\r\n const url = (`${process.env.REACT_APP_API_BASE_URL}${process.env.REACT_APP_UPLOAD_APPEAL_FILES_URL}`);\r\n\r\n e.preventDefault();\r\n const formData = new FormData();\r\n formData.append('file', this.state.file);\r\n formData.append('AppealId', this.props.appealId);\r\n formData.append('Title', encodedTitle);\r\n formData.append('Description', encodedDesc);\r\n formData.append('DateAdded', dateAdded);\r\n\r\n axios.post(url, formData, {\r\n headers: {\r\n Authorization: `Bearer ${accessToken}`,\r\n 'Content-Type': 'multipart/form-data'\r\n }\r\n })\r\n .then((response) => {\r\n if (response.data === \"Incorrect file extension\") {\r\n this.setState({\r\n message: 'Incorrect File Extension',\r\n variant: 'danger',\r\n loading: false\r\n })\r\n } else if (response.data === \"Exists\") {\r\n this.setState({\r\n message: 'File already exists',\r\n variant: 'warning',\r\n loading: false\r\n })\r\n } else if (response.data === \"No file selected\") {\r\n this.setState({\r\n message: 'Please select a file',\r\n variant: 'warning',\r\n loading: false\r\n })\r\n } else {\r\n (response.status === 200) &&\r\n this.setState({\r\n message: 'Upload successful',\r\n loading: false\r\n })\r\n }\r\n this.props.renderTableData();\r\n })\r\n .catch((error) => {\r\n console.log(\"There was a problem with the server while uploading the Appeal file.\");\r\n console.log(\"There was a problem uploading the Appeal file.\", error);\r\n console.log(error.request.status);\r\n console.log({error});\r\n if (error.request.status === 0) {\r\n console.log(\"The server did not respond when trying to upload the Appeal file due to an invalid request format.\");\r\n console.log(error.toString());\r\n console.log(error.request);\r\n this.setState({\r\n message: 'The server did not respond when trying to upload the Appeal file.',\r\n variant: 'danger',\r\n loading: false\r\n })\r\n } else if (error.response.status === 500) {\r\n console.log(\"There was a server error while uploading the Appeal file.\");\r\n console.log({error});\r\n console.log(error.toString());\r\n console.log(error.response.status);\r\n this.setState({\r\n message: 'There was a server error while uploading the Appeal file.',\r\n variant: 'danger',\r\n loading: false\r\n })\r\n \r\n } else {\r\n console.log(\"There was an unknown problem with uploading the Appeal file.\");\r\n console.log({error});\r\n console.log(error.toString());\r\n console.log(error.response.status);\r\n this.setState({\r\n message: 'There was an unknown problem with uploading the Appeal file.',\r\n variant: 'danger',\r\n loading: false\r\n })\r\n }\r\n }); \r\n e.target.reset();\r\n this.setState({\r\n file: \"\",\r\n fileTitle: \"\",\r\n fileDesc: \"\",\r\n message: \"\",\r\n variant: \"info\"\r\n });\r\n };\r\n\r\n render() {\r\n return (\r\n <>\r\n
Appeal Files
\r\n
\r\n {this.state.message ? : null}\r\n \r\n \r\n File Title:\r\n \r\n \r\n \r\n \r\n This field is required if uploading a file.\r\n \r\n \r\n \r\n \r\n \r\n \r\n File Description:\r\n \r\n \r\n \r\n \r\n This field is required if uploading a file.\r\n \r\n \r\n \r\n \r\n \r\n \r\n File Upload:\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n

NOTE: Only the following file types are allowed: .xls, .xlsx, .csv, .doc, .docx, .jpg, .jpeg, .png, .gif, .pdf, .tif, and .tiff

\r\n \r\n
\r\n {this.state.loading ? : }\r\n \r\n \r\n
\r\n
Currently Existing Files
\r\n \r\n
\r\n \r\n )\r\n }\r\n});","import React, { Component } from 'react';\r\nimport { withOktaAuth } from '@okta/okta-react';\r\nimport axios from 'axios';\r\nimport Button from 'react-bootstrap/Button';\r\nimport FileUploadForm from '../fileupload/FileUploadForm';\r\n\r\nexport default withOktaAuth(class SubmitANewAppealPart2 extends Component {\r\n constructor(props) {\r\n super(props);\r\n this.state = {\r\n loading: false,\r\n message: \"\",\r\n variant: \"\"\r\n };\r\n this.handleClick = this.handleClick.bind(this);\r\n }\r\n\r\n // changes active tab in SubmitANewAppeal (parent)\r\n handleClick() {\r\n this.props.handleSelect(\"Part3\");\r\n }\r\n\r\n // get appeal files from database (via API)\r\n async renderTableData() {\r\n this.setState({\r\n loading: true\r\n });\r\n const accessToken = this.props.oktaAuth.getAccessToken();\r\n const url = (`${process.env.REACT_APP_API_BASE_URL}${process.env.REACT_APP_GET_APPEAL_FILES_BASE_URL}`);\r\n await axios.get(url, {\r\n headers: {\r\n Authorization: `Bearer ${accessToken}`\r\n },\r\n params: {\r\n appealId: this.props.appealId\r\n }\r\n })\r\n .then (res => {\r\n this.setState({\r\n loading: false,\r\n appealFiles: res.data\r\n });\r\n this.props.getAppealFiles(res.data);\r\n })\r\n .catch(error => {\r\n console.log(\"There was a problem with the server while getting the Appeal Files.\");\r\n console.log(\"There was a problem getting the Appeal Files.\", error);\r\n console.log(error.request.status);\r\n console.log({error});\r\n if (error.request.status === 0) {\r\n console.log(\"The server did not respond when getting the Appeal Files.\");\r\n console.log(error.toString());\r\n console.log(error.request);\r\n this.setState({\r\n loading: false,\r\n message: \"The server did not respond when getting the Appeal Files.\",\r\n variant: \"danger\"\r\n });\r\n } else if (error.response.status === 500) {\r\n console.log(\"There was a server error while getting the Appeal Files.\");\r\n console.log({error});\r\n console.log(error.toString());\r\n console.log(error.response.status);\r\n this.setState({\r\n loading: false,\r\n message: \"There was a server error while getting the Appeal Files.\",\r\n variant: \"danger\"\r\n });\r\n } else {\r\n console.log(\"There was an unknown problem with getting the Appeal Files.\");\r\n console.log({error});\r\n console.log(error.toString());\r\n console.log(error.response.status);\r\n this.setState({\r\n loading: false,\r\n message: \"There was an unknown problem with getting the Appeal Files.\",\r\n variant: \"danger\"\r\n });\r\n }\r\n });\r\n }\r\n\r\n render() {\r\n return (\r\n
\r\n
\r\n
Coverage Gap Discount Program - Adding Files
\r\n

For assistance or questions regarding this website please email: cgdpappeals@provider-resources.com.

\r\n
\r\n
\r\n \r\n
\r\n
\r\n \r\n
\r\n
\r\n )\r\n }\r\n});","import React, { Component } from 'react';\r\nimport { withOktaAuth } from '@okta/okta-react';\r\nimport Form from 'react-bootstrap/Form';\r\nimport { Row, Col } from 'react-bootstrap';\r\n\r\nexport default withOktaAuth(class ContactInfoReview extends Component {\r\n\r\n render() {\r\n return (\r\n
\r\n {/* populate readonly form from props passed from SubmitANewAppeal (grandparent component) */}\r\n
\r\n
Appeal Information
\r\n \r\n \r\n Manufacturer Name:\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n P Number:\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n Name of Individual Submitting Appeal:\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n Email Address:\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n Telephone Number:\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n Alternate Contact Name:\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n Alternate Email Adrress:\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n Alternate Telephone Number:\r\n \r\n \r\n \r\n \r\n \r\n \r\n
\r\n\r\n
\r\n
Appeal Detail
\r\n \r\n Invoice Report ID:\r\n \r\n \r\n \r\n \r\n \r\n
\r\n
\r\n )\r\n }\r\n});","import React, { Component } from 'react';\r\nimport { withOktaAuth } from '@okta/okta-react';\r\nimport Table from 'react-bootstrap/Table';\r\nimport moment from 'moment';\r\nimport './SubmitANewAppealPart3.css';\r\n\r\nexport default withOktaAuth(class AppealDataReviewTable extends Component {\r\n\r\n render() {\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 {/* populate table from props passed from SubmitANewAppeal */}\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n
Detail Reference NumberDate Dispute Submitted to TPADate of TPA DecisionDispute Resolution CodeReason Code for IRE AppealExplanation for IRE Review RequestAmount InvoicedAmount Appealed
{this.props.appealDataReview.referenceNumber}{ moment(this.props.appealDataReview.disputeDate).format(\"YYYY-MM-DD\") }{ moment(this.props.appealDataReview.tpaDecisionDate).format(\"YYYY-MM-DD\") }{this.props.appealDataReview.resolutionCode}{this.props.appealDataReview.ireReasonCode}{this.props.appealDataReview.explanationIreRequest}{this.props.appealDataReview.amountInvoicedControl}{this.props.appealDataReview.amountAppealedControl}
\r\n
\r\n )\r\n }\r\n});","export default __webpack_public_path__ + \"static/media/exclamation-triangle.5fcc486d.svg\";","export default __webpack_public_path__ + \"static/media/check-circle.f8c222ed.svg\";","export default __webpack_public_path__ + \"static/media/x-octagon.cdf0f845.svg\";","import React, { Component } from 'react';\r\nimport { Modal, Button, Form, Row, Col } from 'react-bootstrap';\r\nimport { BallTriangle } from 'react-loader-spinner';\r\nimport ExclamationTriangle from '../../../images/exclamation-triangle.svg';\r\nimport CheckCircle from '../../../images/check-circle.svg';\r\nimport XOctagon from '../../../images/x-octagon.svg';\r\n\r\n// modal called from:\r\n// SubmitANewAppeal\r\n// SubmitANewAppealPart3\r\n\r\nclass SubmitANewAppealModal extends Component {\r\n \r\n render() {\r\n \r\n // load modal image based on boolean values sent from calling component\r\n let modalImage;\r\n if(this.props.isError) {\r\n modalImage = \"Red;\r\n } else if(this.props.isWarning) {\r\n modalImage = \"Yellow;\r\n } else {\r\n modalImage = \"Green;\r\n }\r\n\r\n\r\n return (\r\n
\r\n \r\n \r\n \r\n {/* Load modal image from above */}\r\n \r\n {modalImage}\r\n \r\n {/* Load title from props */}\r\n \r\n \r\n {this.props.title}\r\n \r\n \r\n \r\n \r\n \r\n {/* Load body & body text received from props */}\r\n

{this.props.body}

\r\n
{this.props.bodyText}
\r\n
\r\n {\r\n // Iterate thru data array received from props from calling component\r\n this.props.data.map(item => (\r\n
\r\n \r\n {\r\n // display checkbox for each item; determine if checked or unchecked based on boolean value for isValid\r\n item.isValid ? \r\n : \r\n \r\n }\r\n\r\n {/* Display item msg received from props as checkbox label */}\r\n {item.msg}\r\n\r\n {/* If isInvalid, display received feedback array items */}\r\n \r\n
    \r\n {this.props.feedback.map(fbItem => (\r\n
  • {fbItem.msg}
  • \r\n ))}\r\n
\r\n
\r\n
\r\n
\r\n ))\r\n }\r\n
\r\n
\r\n \r\n {\r\n // if loading boolean value is true, display spinner (BallTriangle) if false display button\r\n this.props.loading ?\r\n : \r\n \r\n }\r\n \r\n
\r\n
\r\n )\r\n }\r\n}\r\n\r\nexport default SubmitANewAppealModal;","import React, { Component } from 'react';\r\nimport { withOktaAuth } from '@okta/okta-react';\r\nimport axios from 'axios';\r\nimport { Row } from 'react-bootstrap';\r\nimport Button from 'react-bootstrap/Button';\r\nimport ContactInfoReview from './ContactInfoReview';\r\nimport AppealDataReviewTable from './AppealDataReviewTable';\r\nimport FileUploadTable from '../fileupload/FileUploadTable';\r\nimport SubmitANewAppealModal from '../sanamodal/SubmitANewAppealModal';\r\nimport './SubmitANewAppealPart3.css';\r\n\r\nexport default withOktaAuth(class SubmitANewAppealPart3 extends Component {\r\n constructor() {\r\n super();\r\n this.state = {\r\n show: false,\r\n title: \"\",\r\n body: \"\",\r\n bodyText: \"\",\r\n data: [],\r\n feedback: [],\r\n isWarning: false,\r\n isError: false,\r\n counter: 6,\r\n loading: true\r\n };\r\n this.handleAppealSubmit = this.handleAppealSubmit.bind(this);\r\n this.updateAppealDueDate = this.updateAppealDueDate.bind(this);\r\n this.updateAppealCompletion = this.updateAppealCompletion.bind(this);\r\n this.updateAppealStage = this.updateAppealStage.bind(this);\r\n this.updateManufacturerStatus = this.updateManufacturerStatus.bind(this);\r\n this.sendAcknowledgementEmail = this.sendAcknowledgementEmail.bind(this);\r\n this.handleModalOpen = this.handleModalOpen.bind(this);\r\n this.showSpinner = this.showSpinner.bind(this);\r\n }\r\n\r\n // open/close acknowledgement modal\r\n handleModalOpen = () => {\r\n this.setState((prevState) => {\r\n return {\r\n show: !prevState.show\r\n }\r\n })\r\n }\r\n\r\n showSpinner() {\r\n if(this.state.counter <= 0) {\r\n this.setState({\r\n loading:false\r\n });\r\n }\r\n }\r\n\r\n // submit function calls included functions to perform each action on the appeal submission process\r\n // a counter is used to control the number of actions still waiting to complete during async/await functions\r\n // a popup modal is used to display the actions as they are completed and any error messages that may occur\r\n // a spinner is displayed until all actions have completed\r\n handleAppealSubmit() {\r\n this.updateAppealDueDate();\r\n this.updateAppealCompletion();\r\n this.updateAppealStage();\r\n this.updateManufacturerStatus();\r\n this.sendAcknowledgementEmail();\r\n this.setState({\r\n title: \"APPEAL SUBMITTED !\",\r\n body: `Your Appeal Number is: ${this.props.appealId}`,\r\n bodyText: \"** Please copy or write your appeal number down for future reference.\",\r\n data: [\r\n {\r\n id: 1,\r\n msg: \"Your appeal has been successfully submitted.\",\r\n isChecked: true,\r\n isValid: true\r\n }\r\n ]\r\n })\r\n this.setState((prevState) => ({\r\n counter: prevState.counter - 1\r\n }));\r\n this.handleModalOpen();\r\n this.showSpinner();\r\n }\r\n\r\n async updateAppealDueDate() {\r\n const accessToken = this.props.oktaAuth.getAccessToken();\r\n const url = (`${process.env.REACT_APP_API_BASE_URL}${process.env.REACT_APP_UPDATE_APPEAL_DUE_DATE_URL}`);\r\n await axios.put(url, {\r\n AppealID: this.props.appealId\r\n }, {\r\n headers: {\r\n Authorization: `Bearer ${accessToken}`\r\n }\r\n })\r\n .then((res) => {\r\n this.setState(prevState => ({\r\n data: [ ...prevState.data, \r\n {\r\n id: 2, \r\n msg: \"The appeal due date has been updated successfully.\", \r\n isChecked: true, \r\n isValid: true\r\n } ],\r\n counter: prevState.counter - 1\r\n }))\r\n })\r\n .catch(error => {\r\n console.log(\"There was a problem creating the Appeal Due Date.\", error);\r\n console.log(error.request.status);\r\n console.log({error});\r\n if (error.request.status === 0) {\r\n console.log(\"The server did not respond when trying to create the Appeal Due Date due to an invalid request format.\");\r\n console.log(error.toString());\r\n console.log(error.request);\r\n this.setState({\r\n isWarning: true\r\n })\r\n this.setState(prevState => ({\r\n data: [ ...prevState.data, \r\n {\r\n id: 2, \r\n msg: `The server did not respond when trying to create the Appeal Due Date due to an invalid request format. Request status: ${error.request.status}. Request error message: ${error}`, \r\n isChecked: false, \r\n isValid: false\r\n } \r\n ],\r\n feedback: [ ...prevState.feedback,\r\n {\r\n id: 2,\r\n msg: \"Please contact the CGPD Appeals Team at cgdpappeals@provider-resources.com to inform them of this error message.\"\r\n }\r\n ],\r\n counter: prevState.counter - 1\r\n }))\r\n } else if (error.response.status === 404) {\r\n console.log(\"The Appeal ID was not found in the database.\");\r\n console.log({error});\r\n console.log(error.toString());\r\n console.log(error.response.status);\r\n this.setState({\r\n isWarning: true\r\n })\r\n this.setState(prevState => ({\r\n data: [ ...prevState.data, \r\n {\r\n id: 2, \r\n msg: `There was a problem while creating the Appeal Due Date. The Appeal was not found. Response status: ${error.response.status}. Response error message: ${error.response.data.title}`, \r\n isChecked: false, \r\n isValid: false\r\n } \r\n ],\r\n feedback: [ ...prevState.feedback,\r\n {\r\n id: 2,\r\n msg: \"Please contact the CGPD Appeals Team at cgdpappeals@provider-resources.com to inform them of this error message.\"\r\n }\r\n ],\r\n counter: prevState.counter - 1\r\n }))\r\n } else if (error.response.status === 500) {\r\n console.log(\"There was a server error while creating the Appeal Due Date.\");\r\n console.log({error});\r\n console.log(error.toString());\r\n console.log(error.response.status);\r\n this.setState({\r\n isWarning: true\r\n })\r\n this.setState(prevState => ({\r\n data: [ ...prevState.data, \r\n {\r\n id: 2, \r\n msg: `There was a problem with the server while creating the Appeal Due Date. Response status: ${error.response.status}. Response error message: ${error.response.data.title}`, \r\n isChecked: false, \r\n isValid: false\r\n } \r\n ],\r\n feedback: [ ...prevState.feedback,\r\n {\r\n id: 2,\r\n msg: \"Please contact the CGPD Appeals Team at cgdpappeals@provider-resources.com to inform them of this error message.\"\r\n }\r\n ],\r\n counter: prevState.counter - 1\r\n }))\r\n } else {\r\n console.log(\"There was an unknown problem with creating the Appeal Due Date.\");\r\n console.log({error});\r\n console.log(error.toString());\r\n console.log(error.response.status);\r\n this.setState({\r\n isWarning: true\r\n })\r\n this.setState(prevState => ({\r\n data: [ ...prevState.data, \r\n {\r\n id: 2, \r\n msg: `Oops!! Looks like there was a problem with creating the Appeal Due Date. Response status: ${error.response.status}. Response error message: ${error.response.data.title}`, \r\n isChecked: false, \r\n isValid: false\r\n } \r\n ],\r\n feedback: [ ...prevState.feedback,\r\n {\r\n id: 2,\r\n msg: \"Please contact the CGPD Appeals Team at cgdpappeals@provider-resources.com to inform them of this error message.\"\r\n }\r\n ],\r\n counter: prevState.counter - 1\r\n }))\r\n \r\n }\r\n console.log(\"Due Date Counter: \" + this.state.counter);\r\n });\r\n this.showSpinner();\r\n }\r\n\r\n async updateAppealCompletion() {\r\n const accessToken = this.props.oktaAuth.getAccessToken();\r\n const url = (`${process.env.REACT_APP_API_BASE_URL}${process.env.REACT_APP_UPDATE_APPEAL_COMPLETION_URL}`);\r\n await axios.put(url, {\r\n AppealID: this.props.appealId,\r\n Completed: \"true\"\r\n }, {\r\n headers: {\r\n Authorization: `Bearer ${accessToken}`\r\n }\r\n })\r\n .then((res) => {\r\n this.setState(prevState => ({\r\n data: [ ...prevState.data, \r\n {\r\n id: 3, \r\n msg: \"The appeal completion has been updated successfully.\", \r\n isChecked: true, \r\n isValid: true\r\n } \r\n ],\r\n counter: prevState.counter - 1\r\n }))\r\n })\r\n .catch(error => {\r\n console.log(\"There was a problem creating the Appeal Completion.\", error);\r\n console.log(error.request.status);\r\n console.log({error});\r\n if (error.request.status === 0) {\r\n console.log(\"The server did not respond when trying to create the Appeal Completion due to an invalid request format.\");\r\n console.log(error.toString());\r\n console.log(error.request);\r\n this.setState({\r\n isWarning: true,\r\n counter: this.state.counter - 1\r\n })\r\n this.setState(prevState => ({\r\n data: [ ...prevState.data, \r\n {\r\n id: 3, \r\n msg: `The server did not respond when trying to create the Appeal Completion due to an invalid request format. Request status: ${error.request.status}. Request error message: ${error}`, \r\n isChecked: false, \r\n isValid: false\r\n } \r\n ],\r\n feedback: [ ...prevState.feedback,\r\n {\r\n id: 3,\r\n msg: \"Please contact the CGPD Appeals Team at cgdpappeals@provider-resources.com to inform them of this error message.\"\r\n }\r\n ],\r\n counter: prevState.counter - 1\r\n }))\r\n } else if (error.response.status === 404) {\r\n console.log(\"The Appeal ID was not found in the database.\");\r\n console.log({error});\r\n console.log(error.toString());\r\n console.log(error.response.status);\r\n this.setState({\r\n isWarning: true\r\n })\r\n this.setState(prevState => ({\r\n data: [ ...prevState.data, \r\n {\r\n id: 3, \r\n msg: `There was a problem while creating the Appeal Completion. The Appeal was not found. Response status: ${error.response.status}. Response error message: ${error.response.data.title}`, \r\n isChecked: false, \r\n isValid: false\r\n } \r\n ],\r\n feedback: [ ...prevState.feedback,\r\n {\r\n id: 3,\r\n msg: \"Please contact the CGPD Appeals Team at cgdpappeals@provider-resources.com to inform them of this error message.\"\r\n }\r\n ],\r\n counter: prevState.counter - 1\r\n }))\r\n } else if (error.response.status === 500) {\r\n console.log(\"There was a server error while creating the Appeal Completion.\");\r\n console.log({error});\r\n console.log(error.toString());\r\n console.log(error.response.status);\r\n this.setState({\r\n isWarning: true\r\n })\r\n this.setState(prevState => ({\r\n data: [ ...prevState.data, \r\n {\r\n id: 3, \r\n msg: `There was a problem with the server while creating the Appeal Completion. Response status: ${error.response.status}. Response error message: ${error.response.data.title}`, \r\n isChecked: false, \r\n isValid: false\r\n } \r\n ],\r\n feedback: [ ...prevState.feedback,\r\n {\r\n id: 3,\r\n msg: \"Please contact the CGPD Appeals Team at cgdpappeals@provider-resources.com to inform them of this error message.\"\r\n }\r\n ],\r\n counter: prevState.counter - 1\r\n }))\r\n } else {\r\n console.log(\"There was an unknown problem with creating the Appeal Completion.\");\r\n console.log({error});\r\n console.log(error.toString());\r\n console.log(error.response.status);\r\n this.setState({\r\n isWarning: true\r\n })\r\n this.setState(prevState => ({\r\n data: [ ...prevState.data, \r\n {\r\n id: 3, \r\n msg: `Oops!! Looks like there was a problem with creating the Appeal Completion. Response status: ${error.response.status}. Response error message: ${error.response.data.title}`, \r\n isChecked: false, \r\n isValid: false\r\n } \r\n ],\r\n feedback: [ ...prevState.feedback,\r\n {\r\n id: 3,\r\n msg: \"Please contact the CGPD Appeals Team at cgdpappeals@provider-resources.com to inform them of this error message.\"\r\n }\r\n ],\r\n counter: prevState.counter - 1\r\n }))\r\n }\r\n console.log(\"Completion Counter: \" + this.state.counter);\r\n });\r\n this.showSpinner();\r\n }\r\n\r\n async updateAppealStage() {\r\n const accessToken = this.props.oktaAuth.getAccessToken();\r\n const url = (`${process.env.REACT_APP_API_BASE_URL}${process.env.REACT_APP_UPDATE_APPEAL_STAGE_URL}`);\r\n await axios.put(url, {\r\n AppealID: this.props.appealId,\r\n Stage: \"Submitted\"\r\n }, {\r\n headers: {\r\n Authorization: `Bearer ${accessToken}`\r\n }\r\n })\r\n .then((res) => {\r\n this.setState(prevState => ({\r\n data: [ ...prevState.data, \r\n {\r\n id: 4, \r\n msg: \"The appeal stage has been updated successfully.\", \r\n isChecked: true, \r\n isValid: true\r\n } \r\n ],\r\n counter: prevState.counter - 1\r\n }))\r\n })\r\n .catch(error => {\r\n console.log(\"There was a problem updating the Appeal Stage.\", error);\r\n console.log(error.request.status);\r\n console.log({error});\r\n if (error.request.status === 0) {\r\n console.log(\"The server did not respond when trying to update the Appeal Stage due to an invalid request format.\");\r\n console.log(error.toString());\r\n console.log(error.request);\r\n this.setState({\r\n isWarning: true,\r\n counter: this.state.counter - 1\r\n })\r\n this.setState(prevState => ({\r\n data: [ ...prevState.data, \r\n {\r\n id: 4, \r\n msg: `The server did not respond when trying to update the Appeal Stage due to an invalid request format. Request status: ${error.request.status}. Request error message: ${error}`, \r\n isChecked: false, \r\n isValid: false\r\n } \r\n ],\r\n feedback: [ ...prevState.feedback,\r\n {\r\n id: 4,\r\n msg: \"Please contact the CGPD Appeals Team at cgdpappeals@provider-resources.com to inform them of this error message.\"\r\n }\r\n ],\r\n counter: prevState.counter - 1\r\n }))\r\n } else if (error.response.status === 404) {\r\n console.log(\"The Appeal ID was not found in the database.\");\r\n console.log({error});\r\n console.log(error.toString());\r\n console.log(error.response.status);\r\n this.setState({\r\n isWarning: true\r\n })\r\n this.setState(prevState => ({\r\n data: [ ...prevState.data, \r\n {\r\n id: 4, \r\n msg: `There was a problem while updating the Appeal Stage. The Appeal was not found. Response status: ${error.response.status}. Response error message: ${error.response.data.title}`, \r\n isChecked: false, \r\n isValid: false\r\n } \r\n ],\r\n feedback: [ ...prevState.feedback,\r\n {\r\n id: 4,\r\n msg: \"Please contact the CGPD Appeals Team at cgdpappeals@provider-resources.com to inform them of this error message.\"\r\n }\r\n ],\r\n counter: prevState.counter - 1\r\n }))\r\n } else if (error.response.status === 500) {\r\n console.log(\"There was a server error while updating the Appeal Stage.\");\r\n console.log({error});\r\n console.log(error.toString());\r\n console.log(error.response.status);\r\n this.setState({\r\n isWarning: true\r\n })\r\n this.setState(prevState => ({\r\n data: [ ...prevState.data, \r\n {\r\n id: 4, \r\n msg: `There was a problem with the server while updaing the Appeal Stage. Response status: ${error.response.status}. Response error message: ${error.response.data.title}`, \r\n isChecked: false, \r\n isValid: false\r\n } \r\n ],\r\n feedback: [ ...prevState.feedback,\r\n {\r\n id: 4,\r\n msg: \"Please contact the CGPD Appeals Team at cgdpappeals@provider-resources.com to inform them of this error message.\"\r\n }\r\n ],\r\n counter: prevState.counter - 1\r\n }))\r\n } else {\r\n console.log(\"There was an unknown problem with updating the Appeal Stage.\");\r\n console.log(error.response.data.title);\r\n console.log(error.toString());\r\n console.log(error.response.status);\r\n this.setState({\r\n isWarning: true\r\n })\r\n this.setState(prevState => ({\r\n data: [ ...prevState.data, \r\n {\r\n id: 4, \r\n msg: `Oops!! Looks like there was a problem with creating the Appeal Stage. Response status: ${error.response.status}. Response error message: ${error.response.data.title}`, \r\n isChecked: false, \r\n isValid: false\r\n } \r\n ],\r\n feedback: [ ...prevState.feedback,\r\n {\r\n id: 4,\r\n msg: \"Please contact the CGPD Appeals Team at cgdpappeals@provider-resources.com to inform them of this error message.\"\r\n }\r\n ],\r\n counter: prevState.counter - 1\r\n }))\r\n }\r\n console.log(\"Appeal Stage Counter: \" + this.state.counter);\r\n });\r\n this.showSpinner();\r\n }\r\n\r\n async updateManufacturerStatus() {\r\n const accessToken = this.props.oktaAuth.getAccessToken();\r\n const url = (`${process.env.REACT_APP_API_BASE_URL}${process.env.REACT_APP_MANUFACTURER_STATUS_BASE_URL}`);\r\n await axios.put(url, {\r\n AppealId: this.props.appealId,\r\n Status: \"Submitted\"\r\n }, {\r\n headers: {\r\n Authorization: `Bearer ${accessToken}`\r\n }\r\n })\r\n .then((res) => {\r\n this.setState(prevState => ({\r\n data: [ ...prevState.data, \r\n {\r\n id: 5, \r\n msg: \"The Manufacturer Status has been updated successfully.\", \r\n isChecked: true, \r\n isValid: true\r\n } \r\n ],\r\n counter: prevState.counter - 1\r\n }))\r\n })\r\n .catch(error => {\r\n console.log(\"There was a problem updating the Manufacturer Status.\", error);\r\n console.log(error.request.status);\r\n console.log({error});\r\n if (error.request.status === 0) {\r\n console.log(\"The server did not respond when trying to update the Manufacturer Status due to an invalid request format.\");\r\n console.log(error.toString());\r\n console.log(error.request);\r\n this.setState({\r\n isWarning: true,\r\n counter: this.state.counter - 1\r\n })\r\n this.setState(prevState => ({\r\n data: [ ...prevState.data, \r\n {\r\n id: 5, \r\n msg: `The server did not respond when trying to update the Manufacturer Status due to an invalid request format. Request status: ${error.request.status}. Request error message: ${error}`, \r\n isChecked: false, \r\n isValid: false\r\n } \r\n ],\r\n feedback: [ ...prevState.feedback,\r\n {\r\n id: 5,\r\n msg: \"Please contact the CGPD Appeals Team at cgdpappeals@provider-resources.com to inform them of this error message.\"\r\n }\r\n ],\r\n counter: prevState.counter - 1\r\n }))\r\n } else if (error.response.status === 500) {\r\n console.log(\"There was a server error while updating the Manufacturer Status.\");\r\n console.log({error});\r\n console.log(error.toString());\r\n console.log(error.response.status);\r\n this.setState({\r\n isWarning: true\r\n })\r\n this.setState(prevState => ({\r\n data: [ ...prevState.data, \r\n {\r\n id: 5, \r\n msg: `There was a problem with the server while updaing the Manufacturer Status. Response status: ${error.response.status}. Response error message: ${error.response.data.title}`, \r\n isChecked: false, \r\n isValid: false\r\n } \r\n ],\r\n feedback: [ ...prevState.feedback,\r\n {\r\n id: 5,\r\n msg: \"Please contact the CGPD Appeals Team at cgdpappeals@provider-resources.com to inform them of this error message.\"\r\n }\r\n ],\r\n counter: prevState.counter - 1\r\n }))\r\n } else {\r\n console.log(\"There was an unknown problem with updating the Manufacturer Status.\");\r\n console.log({error});\r\n console.log(error.toString());\r\n console.log(error.response.status);\r\n this.setState({\r\n isWarning: true\r\n })\r\n this.setState(prevState => ({\r\n data: [ ...prevState.data, \r\n {\r\n id: 5, \r\n msg: `Oops!! Looks like there was a problem with creating the Manufacturer Status. Response status: ${error.response.status}. Response error message: ${error.response.data.title}`, \r\n isChecked: false, \r\n isValid: false\r\n } \r\n ],\r\n feedback: [ ...prevState.feedback,\r\n {\r\n id: 5,\r\n msg: \"Please contact the CGPD Appeals Team at cgdpappeals@provider-resources.com to inform them of this error message.\"\r\n }\r\n ],\r\n counter: prevState.counter - 1\r\n }))\r\n }\r\n console.log(\"Appeal Stage Counter: \" + this.state.counter);\r\n });\r\n this.showSpinner();\r\n }\r\n\r\n // send acknowledgement email\r\n async sendAcknowledgementEmail() {\r\n // compile acknowledgement email data\r\n const appealId = this.props.appealId;\r\n const manufacturerName = this.props.contactReview.manufacturerName;\r\n const email = this.props.contactReview.submitterEmail;\r\n const ccEmail = this.props.contactReview.altEmail;\r\n const bccEmail = process.env.REACT_APP_BCC_EMAIL;\r\n const mailRequest = {\r\n AppealId: appealId,\r\n ManufacturerName: manufacturerName,\r\n ToEmail: email,\r\n CcEmail: ccEmail,\r\n BccEmail: bccEmail\r\n };\r\n\r\n // send data to API (API sends email)\r\n const accessToken = this.props.oktaAuth.getAccessToken();\r\n const url = (`${process.env.REACT_APP_API_BASE_URL}${process.env.REACT_APP_SEND_ACKNOWLEDGEMENT_EMAIL_URL}`);\r\n await axios.post(url, mailRequest, {\r\n headers: {\r\n Authorization: `Bearer ${accessToken}`\r\n }\r\n })\r\n .then((res) => {\r\n this.setState(prevState => ({\r\n data: [ ...prevState.data, \r\n {\r\n id: 6,\r\n msg: `A confirmation email has been sent to ${this.props.contactReview.submitterEmail}`,\r\n isChecked: true,\r\n isValid: true\r\n },\r\n {\r\n id: 7,\r\n msg: \"A confirmation email has also been sent to cgdpappeals@provider-resources.com\",\r\n isChecked: true,\r\n isValid: true\r\n }\r\n ],\r\n counter: prevState.counter - 1\r\n }))\r\n })\r\n .catch((err) => {\r\n console.log(\"There was a problem sending the Acknowledgement Email.\", err);\r\n console.log(err.request.status);\r\n console.log({err});\r\n if (err.request.status === 0 || err.request.status === 500) {\r\n console.log(\"The server did not respond when trying to send the Acknowledgement Email due to an invalid request format.\");\r\n console.log(err.toString());\r\n console.log(err.request);\r\n this.setState({\r\n isWarning: true,\r\n counter: this.state.counter - 1\r\n })\r\n this.setState(prevState => ({\r\n data: [ ...prevState.data, \r\n {\r\n id: 6, \r\n msg: `The server did not respond when trying to send the Acknowledgement Email due to an invalid request format. Request status: ${err.request.status}. Request error message: ${err}`, \r\n isChecked: false, \r\n isValid: false\r\n } \r\n ],\r\n feedback: [ ...prevState.feedback,\r\n {\r\n id: 6,\r\n msg: \"Please contact the CGPD Appeals Team at cgdpappeals@provider-resources.com to inform them of this error message.\"\r\n }\r\n ],\r\n counter: prevState.counter - 1\r\n }))\r\n console.log(\"Email Counter: \" + this.state.counter);\r\n }\r\n else if(err.response.status === 500) {\r\n console.log(\"There was a problem with the server while sending the Appeal Acknowledgement email.\");\r\n console.log({err});\r\n console.log(err.toString());\r\n console.log(err.response.status);\r\n this.setState({\r\n isWarning: true\r\n })\r\n this.setState(prevState => ({\r\n data: [ ...prevState.data, \r\n {\r\n id: 6, \r\n msg: \"There was a problem with the server while sending the appeal acknowledgement email.\", \r\n isChecked: false, \r\n isValid: false\r\n } \r\n ],\r\n feedback: [ ...prevState.feedback,\r\n {\r\n id: 6,\r\n msg: \"Please contact the CGPD Appeals Team at cgdpappeals@provider-resources.com to inform them of this error message.\"\r\n }\r\n ],\r\n counter: prevState.counter - 1\r\n }))\r\n console.log(\"Email Counter: \" + this.state.counter);\r\n } else {\r\n console.log(\"There was a problem with sending the Appeal Acknowledgement email.\");\r\n console.log({err});\r\n console.log(err.toString());\r\n console.log(err.response.status);\r\n this.setState({\r\n isWarning: true\r\n })\r\n this.setState(prevState => ({\r\n data: [ ...prevState.data, \r\n {\r\n id: 6, \r\n msg: \"There was a problem with the application while sending the appeal acknowledgement.\", \r\n isChecked: false, \r\n isValid: false\r\n } \r\n ],\r\n feedback: [ ...prevState.feedback,\r\n {\r\n id: 6,\r\n msg: \"Please contact the CGPD Appeals Team at cgdpappeals@provider-resources.com to inform them of this error message.\"\r\n }\r\n ],\r\n counter: prevState.counter - 1\r\n }))\r\n \r\n console.log(\"Email Counter: \" + this.state.counter);\r\n }\r\n });\r\n this.showSpinner();\r\n }\r\n\r\n render() {\r\n return (\r\n
\r\n
\r\n
Coverage Gap Discount Program Appeals Submission Form - Review and Submit {this.props.appealId}
\r\n

Questions regarding the completion of this form or the website may be submitted to cgdpappeals@provider-resources.com.

\r\n
\r\n

Instructions:

\r\n
    \r\n
  1. Please review your appeal from the screen below.
  2. \r\n
  3. Please click \"Edit Appeal\" to make any corrections.
  4. \r\n
  5. Please click \"Submit Appeal\" to complete the process.
  6. \r\n
\r\n
\r\n
\r\n \r\n \r\n
\r\n \r\n
\r\n\r\n
\r\n
Appeal Files
\r\n \r\n
\r\n\r\n \r\n {this.props.isResume ? : null}\r\n \r\n \r\n\r\n \r\n \r\n
\r\n )\r\n }\r\n});","import React, { Component } from 'react';\r\nimport { withOktaAuth } from '@okta/okta-react';\r\nimport axios from 'axios';\r\nimport Form from 'react-bootstrap/Form';\r\nimport { Row, Col, Button } from 'react-bootstrap';\r\nimport Alert from '../fileupload/AlertMessage';\r\nimport decision60DayOptions from '../../shared/Decision60DayOptions'; \r\n\r\nexport default withOktaAuth(class EditContactInfoForm extends Component {\r\n constructor(props) {\r\n super(props);\r\n this.state = {\r\n contactValidated: false,\r\n message: \"\",\r\n variant: \"info\",\r\n };\r\n this.handleValidation = this.handleValidation.bind(this);\r\n this.updateContactInfo = this.updateContactInfo.bind(this);\r\n }\r\n\r\n // handle form field validations - all fields must pass validation before state changed to true and form submits\r\n handleValidation(event) {\r\n const form = event.currentTarget;\r\n \r\n if(form.checkValidity() === false) {\r\n event.preventDefault();\r\n event.stopPropagation();\r\n }\r\n this.setState({\r\n contactValidated: true\r\n });\r\n event.preventDefault();\r\n if(form.checkValidity() === true) {\r\n // if passes validation update database\r\n this.updateContactInfo();\r\n }\r\n }\r\n\r\n // form field changes handled via pass-through fucntions to update grandparent state - SubmitANewAppeal\r\n // get values from grandparent state (SubmitANewAppeal) update AppealDetails in database (via API)\r\n async updateContactInfo() {\r\n const accessToken = this.props.oktaAuth.getAccessToken();\r\n const url = (`${process.env.REACT_APP_API_BASE_URL}${process.env.REACT_APP_UPDATE_APPEAL_CONTACT_INFO_BASE_URL}`);\r\n await axios.put(url, {\r\n AppealID: this.props.appealId,\r\n ManufacturerName: this.props.contactReview.manufacturerName,\r\n PNumber: this.props.contactReview.pNumber,\r\n ContactName: this.props.contactReview.submitterName,\r\n Email: this.props.contactReview.submitterEmail,\r\n Telephone: this.props.contactReview.submitterPhone,\r\n AltContactName: this.props.contactReview.altName,\r\n AltEmail: this.props.contactReview.altEmail,\r\n AltTelephone: this.props.contactReview.altPhone,\r\n InvoiceID: this.props.contactReview.invoiceReportId,\r\n TPADecision: this.props.contactReview.decision60Day\r\n }, {\r\n headers: {\r\n Authorization: `Bearer ${accessToken}`\r\n }\r\n })\r\n .then((res) => {\r\n if (res.status === 404) {\r\n this.setState({\r\n message: 'Appeal ID not found',\r\n variant: 'danger'\r\n })\r\n } else {\r\n (res.status === 200) &&\r\n this.setState({\r\n message: 'Update successful'\r\n })\r\n }\r\n })\r\n .catch(error => {\r\n console.log(\"There was a problem with the server while updating the Appeal Details record.\");\r\n console.log(\"There was a problem updating the Appeal Details.\", error);\r\n console.log(error.request.status);\r\n console.log({error});\r\n if (error.request.status === 0) {\r\n console.log(\"The server did not respond when trying to update the Appeal Details due to an invalid request format.\");\r\n console.log(error.toString());\r\n console.log(error.request);\r\n this.setState({\r\n message: 'The server did not respond when trying to update the Appeal Details.',\r\n variant: 'danger'\r\n })\r\n } else if (error.response.status === 404) {\r\n console.log(\"The Appeal ID was not found in the database.\");\r\n console.log({error});\r\n console.log(error.toString());\r\n console.log(error.response.status);\r\n this.setState({\r\n message: 'The Appeal ID was not found in the database.',\r\n variant: 'danger'\r\n })\r\n } else if (error.response.status === 500) {\r\n console.log(\"There was a server error while updating the Appeal Details.\");\r\n console.log({error});\r\n console.log(error.toString());\r\n console.log(error.response.status);\r\n this.setState({\r\n message: 'There was a server error while updating the Appeal Details.',\r\n variant: 'danger'\r\n })\r\n \r\n } else {\r\n console.log(\"There was an unknown problem with updating the Appeal Details.\");\r\n console.log({error});\r\n console.log(error.toString());\r\n console.log(error.response.status);\r\n this.setState({\r\n message: 'There was an unknown problem with updating the Appeal Details.',\r\n variant: 'danger'\r\n })\r\n }\r\n });\r\n }\r\n\r\n render() {\r\n return (\r\n <>\r\n
\r\n
Appeal Information
\r\n \r\n \r\n Manufacturer Name:\r\n \r\n \r\n this.props.handleChange('manufacturerName', e.target.value)}\r\n />\r\n \r\n Please enter a manufacturer name. All fields are required.\r\n \r\n \r\n \r\n \r\n \r\n \r\n P Number (P####):\r\n \r\n \r\n this.props.handleChange('pNumber', e.target.value)}\r\n />\r\n \r\n Please enter a P number. All fields are required.\r\n \r\n \r\n \r\n \r\n \r\n Invoice Report ID (e.g., 201101):\r\n \r\n this.props.handleChange('invoiceReportId', e.target.value)}\r\n />\r\n \r\n Please enter an invoice report ID. All fields are required.\r\n \r\n \r\n \r\n \r\n \r\n Was the TPA Decision issued within the 60 day window?:\r\n \r\n this.props.handleChange('decision60Day', e.target.value)}\r\n >\r\n \r\n {decision60DayOptions.map((item) => )}\r\n \r\n \r\n Please select an item from the dropdown list. All fields are required.\r\n \r\n \r\n \r\n \r\n \r\n \r\n Name of Individual Submitting Appeal:\r\n \r\n \r\n [A-Z]\\.?\\w*-?[A-Z]?\\w*)\\s?(?[A-Z]\\w+|[A-Z]?\\.?)\\s(?(?:[A-Z]\\w{1,3}|St\\.\\s|[A-Z]')?[A-Z]\\w+-?[A-Z]?\\w*)(?:,\\s|)(?Jr\\.|Sr\\.|IV|III|II|)\"\r\n value={this.props.contactReview.submitterName}\r\n onChange={e => this.props.handleChange('submitterName', e.target.value)}\r\n />\r\n \r\n Please enter a contact name. All fields are required.\r\n \r\n \r\n \r\n \r\n \r\n \r\n Email Address:\r\n \r\n \r\n \r\n \r\n Please enter an email. All fields are required.\r\n \r\n \r\n \r\n \r\n \r\n \r\n Telephone Number (###-###-####):\r\n \r\n \r\n this.props.handleChange('submitterPhone', e.target.value)}\r\n />\r\n \r\n Please enter a telephone number using the format ###-###-####. All fields are required.\r\n \r\n \r\n \r\n \r\n \r\n \r\n Alternate Contact Name:\r\n \r\n \r\n [A-Z]\\.?\\w*-?[A-Z]?\\w*)\\s?(?[A-Z]\\w+|[A-Z]?\\.?)\\s(?(?:[A-Z]\\w{1,3}|St\\.\\s|[A-Z]')?[A-Z]\\w+-?[A-Z]?\\w*)(?:,\\s|)(?Jr\\.|Sr\\.|IV|III|II|)\"\r\n value={this.props.contactReview.altName}\r\n onChange={e => this.props.handleChange('altName', e.target.value)}\r\n />\r\n \r\n Please enter an alternate contact name. All fields are required.\r\n \r\n \r\n \r\n \r\n \r\n \r\n Alternate Email Address:\r\n \r\n \r\n this.props.handleChange('altEmail', e.target.value)}\r\n />\r\n \r\n Please enter an alternate email. All fields are required.\r\n \r\n \r\n \r\n \r\n \r\n \r\n Alternate Telephone Number (###-###-####):\r\n \r\n \r\n this.props.handleChange('altPhone', e.target.value)}\r\n />\r\n \r\n Please enter an alternate phone number using the format ###-###-####. All fields are required.\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n {this.state.message ? : null}\r\n
\r\n \r\n
\r\n \r\n \r\n
\r\n
\r\n \r\n )\r\n }\r\n});","import React, { Component } from 'react';\r\nimport { withOktaAuth } from '@okta/okta-react';\r\nimport axios from 'axios';\r\nimport Form from 'react-bootstrap/Form';\r\nimport { Row, Col, Button } from 'react-bootstrap';\r\nimport InputGroup from 'react-bootstrap/InputGroup';\r\nimport DatePicker from 'react-date-picker';\r\nimport Alert from '../fileupload/AlertMessage';\r\nimport resolutionCodeOptions from '../../shared/ResolutionCodeOptions';\r\nimport ireReasonCodeOptions from '../../shared/IreReasonCodeOptions';\r\n\r\nexport default withOktaAuth(class EditAppealDetailsForm extends Component {\r\n constructor(props) {\r\n super(props);\r\n this.state = {\r\n validated: false,\r\n message: \"\",\r\n variant: \"info\",\r\n }\r\n this.handleValidation = this.handleValidation.bind(this);\r\n this.handleAmountChange = this.handleAmountChange.bind(this);\r\n this.updateAppealDetails = this.updateAppealDetails.bind(this);\r\n }\r\n\r\n // functions to capture datePicker (calendar control) values and pass them to the grandparent component\r\n onDisputeDateChange = disputeDate => {\r\n this.props.handleDisputeDateChange(disputeDate);\r\n }\r\n\r\n onTpaDecisionDateChange = tpaDecisionDate => {\r\n this.props.handleTpaDecisionDateChange(tpaDecisionDate);\r\n }\r\n\r\n // compare entered dates to ensure they meet business rules and pass validation\r\n // Business Rule: TPA Decision Date must be “after” the submitted date\r\n compareDates() {\r\n if((this.props.appealDataReview.tpaDecisionDate > this.props.appealDataReview.disputeDate)) {\r\n return true;\r\n } else {\r\n alert(\"TPA Decision Date must be later than the Submitted Date.\")\r\n return false;\r\n }\r\n }\r\n\r\n // Business Rule: TPA Decision Date must be within 60 days of the current date\r\n numDaysBetween = function(d1, d2) {\r\n const today = new Date(((d1.getMonth()+1) + \"/\" + d1.getDate() + \"/\" + d1.getFullYear()));\r\n const tpa = new Date(((d2.getMonth()+1) + \"/\" + d2.getDate() + \"/\" + d2.getFullYear()));\r\n const diff = (today - tpa);\r\n const diffValue = (diff / (1000 * 60 * 60 * 24));\r\n\r\n if(diffValue >= 61) {\r\n alert(\"TPA Date is not within 60 days of the current date.\");\r\n return false;\r\n } else if(diffValue < 0) {\r\n alert(\"TPA Decision Date must be later than the Submitted Date and prior to the current date.\");\r\n return false;\r\n } else {\r\n return true;\r\n }\r\n }\r\n\r\n // handles currency form field changes\r\n handleAmountChange(event) {\r\n const value = event.target.value;\r\n this.props.handleChange(event.target.name, value)\r\n }\r\n\r\n // checks that entered amounts pass business rule validations\r\n // Business rule - amounts cannot be zero\r\n // Business rule - Appealed amount cannot be greater than the invoiced amount\r\n compareAmounts(amount1, amount2) {\r\n const invAmount = Number(amount1);\r\n const appAmount = Number(amount2);\r\n if(invAmount === 0 || appAmount === 0) {\r\n alert(\"Amount must be a number greater than 0.00.\")\r\n return false;\r\n } else if(invAmount < appAmount) {\r\n alert(\"Appealed amount cannot be greater than the invoiced amount.\")\r\n return false;\r\n } else {\r\n return true;\r\n }\r\n }\r\n\r\n // handle form field validations - all fields must pass validation before state changed to true and form submits\r\n handleValidation(event) {\r\n const form = event.currentTarget;\r\n const datesValid = this.compareDates();\r\n\t const today = new Date();\r\n\t const validDiff = this.numDaysBetween(today, this.props.appealDataReview.tpaDecisionDate);\r\n const validAmount = this.compareAmounts(this.props.appealDataReview.amountInvoicedControl, this.props.appealDataReview.amountAppealedControl);\r\n if ((form.checkValidity() === false) || !validAmount || !datesValid || !validDiff) {\r\n event.preventDefault();\r\n event.stopPropagation();\r\n }\r\n this.setState({\r\n validated: true,\r\n });\r\n event.preventDefault();\r\n if((form.checkValidity() === true) && validAmount && datesValid && validDiff) {\r\n // if validation passes, sends form submission to Parent > Grandparent components\r\n this.updateAppealDetails();\r\n }\r\n }\r\n\r\n // form field changes handled via pass-through functions to update grandparent state - SubmitANewAppeal\r\n // get values from grandparent state (SubmitANewAppeal) update AppealDetails in database (via API)\r\n async updateAppealDetails() {\r\n const disputeDateFormatted = (this.props.appealDataReview.disputeDate.getFullYear() + \"-\" + (this.props.appealDataReview.disputeDate.getMonth() + 1) + \"-\" + this.props.appealDataReview.disputeDate.getDate());\r\n const tpaDecisionDateFormatted = (this.props.appealDataReview.tpaDecisionDate.getFullYear() + \"-\" + (this.props.appealDataReview.tpaDecisionDate.getMonth() + 1) + \"-\" + this.props.appealDataReview.tpaDecisionDate.getDate());\r\n const accessToken = this.props.oktaAuth.getAccessToken();\r\n const url = (`${process.env.REACT_APP_API_BASE_URL}${process.env.REACT_APP_APPEAL_DATA_EDIT_NEW_BASE_URL}`);\r\n await axios.put(url, {\r\n AppealID: this.props.appealId,\r\n RefNumber: this.props.appealDataReview.referenceNumber,\r\n DisputeResolutionCode: this.props.appealDataReview.resolutionCode,\r\n AmtInvoiced: this.props.appealDataReview.amountInvoicedControl,\r\n AmtDispute: this.props.appealDataReview.amountAppealedControl,\r\n AppealReasonCode: this.props.appealDataReview.ireReasonCode,\r\n Explanation: this.props.appealDataReview.explanationIreRequest,\r\n DateDispute: disputeDateFormatted,\r\n DateDecision: tpaDecisionDateFormatted\r\n }, {\r\n headers: {\r\n Authorization: `Bearer ${accessToken}`\r\n }\r\n })\r\n .then((res) => {\r\n if (res.status === 404) {\r\n this.setState({\r\n message: 'Appeal ID not found',\r\n variant: 'danger'\r\n })\r\n } else {\r\n (res.status === 200) &&\r\n this.setState({\r\n message: 'Update successful'\r\n })\r\n }\r\n })\r\n .catch(error => {\r\n console.log(\"There was a problem with the server while updating the Appeal Data record.\");\r\n console.log(\"There was a problem updating the Appeal Data.\", error);\r\n console.log(error.request.status);\r\n console.log({error});\r\n if (error.request.status === 0) {\r\n console.log(\"The server did not respond when trying to update the Appeal Data due to an invalid request format.\");\r\n console.log(error.toString());\r\n console.log(error.request);\r\n this.setState({\r\n message: 'The server did not respond when trying to update the Appeal Data.',\r\n variant: 'danger'\r\n })\r\n } else if (error.response.status === 404) {\r\n console.log(\"The Appeal ID was not found in the database.\");\r\n console.log({error});\r\n console.log(error.toString());\r\n console.log(error.response.status);\r\n this.setState({\r\n message: 'The Appeal ID was not found in the database.',\r\n variant: 'danger'\r\n })\r\n } else if (error.response.status === 500) {\r\n console.log(\"There was a server error while updating the Appeal Data.\");\r\n console.log({error});\r\n console.log(error.toString());\r\n console.log(error.response.status);\r\n this.setState({\r\n message: 'There was a server error while updating the Appeal Data.',\r\n variant: 'danger'\r\n })\r\n \r\n } else {\r\n console.log(\"There was an unknown problem with updating the Appeal Data.\");\r\n console.log({error});\r\n console.log(error.toString());\r\n console.log(error.response.status);\r\n this.setState({\r\n message: 'There was an unknown problem with updating the Appeal Data.',\r\n variant: 'danger'\r\n })\r\n }\r\n });\r\n }\r\n\r\n render() {\r\n return (\r\n
\r\n
\r\n
Appeal Details
\r\n \r\n Detail Reference Number:\r\n \r\n this.props.handleChange('referenceNumber', e.target.value)}\r\n />\r\n \r\n Please enter a detail reference number that is 20 numbers in length. All fields are required.\r\n \r\n \r\n \r\n \r\n \r\n Date Dispute Submitted to TPA:\r\n \r\n \r\n \r\n \r\n \r\n \r\n TPA Decision Date:\r\n \r\n \r\n \r\n \r\n \r\n \r\n Dispute Resolution Code (if applicable):\r\n \r\n this.props.handleChange('resolutionCode', e.target.value)}\r\n >\r\n \r\n {resolutionCodeOptions.map((item) => )}\r\n \r\n \r\n Please select an item from the dropdown list. All fields are required.\r\n \r\n \r\n \r\n \r\n \r\n Reason Code for IRE Appeal:\r\n \r\n this.props.handleChange('ireReasonCode', e.target.value)}\r\n >\r\n \r\n {ireReasonCodeOptions.map((item) => )}\r\n \r\n \r\n Please select an item from the dropdown list. All fields are required.\r\n \r\n \r\n \r\n \r\n \r\n Explanation for IRE Review Request:\r\n \r\n this.props.handleChange('explanationIreRequest', e.target.value)}\r\n row={4}\r\n />\r\n \r\n Please enter an explanation for IRE review request. All fields are required.\r\n \r\n \r\n \r\n \r\n \r\n \r\n Amount Invoiced:\r\n \r\n \r\n \r\n $\r\n \r\n \r\n Please enter an invoiced amount. All fields are required.\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n Amount Appealed:\r\n \r\n \r\n \r\n $\r\n \r\n \r\n Please enter an appealed amount. All fields are required.\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n {this.state.message ? : null}\r\n
\r\n \r\n
\r\n \r\n \r\n
\r\n
\r\n
\r\n )\r\n }\r\n});","import React, { Component } from 'react';\r\nimport { withOktaAuth } from '@okta/okta-react';\r\nimport axios from 'axios';\r\nimport Tabs from 'react-bootstrap/Tabs';\r\nimport Tab from 'react-bootstrap/Tab';\r\nimport Button from 'react-bootstrap/Button';\r\nimport Row from 'react-bootstrap/Row';\r\nimport EditContactInfoForm from './EditContactInfoForm';\r\nimport EditAppealDetailsForm from './EditAppealDetailsForm';\r\nimport FileUploadForm from '../fileupload/FileUploadForm';\r\n\r\nexport default withOktaAuth(class EditANewAppeal extends Component {\r\n constructor(props) {\r\n super(props);\r\n this.state = {\r\n key: \"EditContactInfo\",\r\n loading: false,\r\n message: \"\",\r\n variant: \"\"\r\n };\r\n this.handleChildSelect = this.handleChildSelect.bind(this);\r\n }\r\n\r\n // pass-through function to handle form field changes \r\n handleChange(target, value) {\r\n this.props.handleChange(target, value);\r\n }\r\n\r\n // pass-through functions to handle calendar control date value changes\r\n handleDisputeDateChange = disputeDate => {\r\n this.props.handleDisputeDateChange(disputeDate);\r\n }\r\n handleTpaDecisionDateChange = tpaDecisionDate => {\r\n this.props.handleTpaDecisionDateChange(tpaDecisionDate);\r\n }\r\n\r\n // get the appeal files frm the database (via API) and display in table\r\n async renderTableData() {\r\n this.setState({\r\n loading: true\r\n });\r\n const accessToken = this.props.oktaAuth.getAccessToken();\r\n const url = (`${process.env.REACT_APP_API_BASE_URL}${process.env.REACT_APP_GET_APPEAL_FILES_BASE_URL}`);\r\n await axios.get(url, {\r\n headers: {\r\n Authorization: `Bearer ${accessToken}`\r\n },\r\n params: {\r\n appealId: this.props.appealId\r\n }\r\n })\r\n .then (res => {\r\n this.setState({\r\n loading: false,\r\n appealFiles: res.data\r\n });\r\n this.props.getAppealFiles(res.data);\r\n })\r\n .catch(error => {\r\n console.log(\"There was a problem with the server while getting the Appeal Files.\");\r\n console.log(\"There was a problem getting the Appeal Files.\", error);\r\n console.log(error.request.status);\r\n console.log({error});\r\n if (error.request.status === 0) {\r\n console.log(\"The server did not respond when getting the Appeal Files.\");\r\n console.log(error.toString());\r\n console.log(error.request);\r\n this.setState({\r\n loading: false,\r\n message: \"The server did not respond when getting the Appeal Files.\",\r\n variant: \"danger\"\r\n });\r\n } else if (error.response.status === 500) {\r\n console.log(\"There was a server error while getting the Appeal Files.\");\r\n console.log({error});\r\n console.log(error.toString());\r\n console.log(error.response.status);\r\n this.setState({\r\n loading: false,\r\n message: \"There was a server error while getting the Appeal Files.\",\r\n variant: \"danger\"\r\n });\r\n } else {\r\n console.log(\"There was an unknown problem with getting the Appeal Files.\");\r\n console.log({error});\r\n console.log(error.toString());\r\n console.log(error.response.status);\r\n this.setState({\r\n loading: false,\r\n message: \"There was an unknown problem with getting the Appeal Files.\",\r\n variant: \"danger\"\r\n });\r\n }\r\n });\r\n }\r\n\r\n // pass-through function to handle submitting form field data to SubmitANewAppeal (grandparent component)\r\n handleSubmit() {\r\n this.props.handleSubmit();\r\n }\r\n\r\n // handle what sub-tab content is displayed in this component\r\n handleChildSelect(eventKey) {\r\n this.setState({\r\n key: eventKey\r\n });\r\n }\r\n\r\n render() {\r\n return (\r\n
\r\n
\r\n
Coverage Gap Discount Program Appeals Submission Form - Edit Appeal {this.props.appealId}
\r\n

Questions regarding the completion of this form or the website may be submitted to cgdpappeals@provider-resources.com.

\r\n
\r\n

Instructions:

\r\n
    \r\n
  1. Please make any necessary updates to your appeal below.
  2. \r\n
  3. Click a tab below to update information for that section.
  4. \r\n
  5. Click \"Update\" to save your changes for that section.
  6. \r\n
  7. Please click \"Return to Review\" when complete.
  8. \r\n NOTE: Clicking \"Return to Review\" does not save any changes made\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

To make changes to an appeal file, please delete it and upload a new file.

\r\n \r\n
\r\n
\r\n
\r\n \r\n \r\n \r\n
\r\n )\r\n }\r\n});","import React, { Component } from 'react';\r\nimport { withOktaAuth } from '@okta/okta-react';\r\nimport axios from 'axios';\r\nimport Tabs from 'react-bootstrap/Tabs';\r\nimport Tab from 'react-bootstrap/Tab'\r\nimport SubmitANewAppealPart1 from './sanapart1/SubmitANewAppealPart1';\r\nimport SubmitANewAppealPart2 from './sanapart2/SubmitANewAppealPart2';\r\nimport SubmitANewAppealPart3 from './sanapart3/SubmitANewAppealPart3';\r\nimport EditANewAppeal from './editnewappeal/EditANewAppeal';\r\nimport SubmitANewAppealModal from './sanamodal/SubmitANewAppealModal';\r\nimport './sanapart1/SubmitANewAppealPart1.css';\r\nimport './sanapart2/SubmitANewAppealPart2.css';\r\nimport './sanapart3/SubmitANewAppealPart3.css';\r\nimport './editnewappeal/EditANewAppeal.css';\r\n\r\nexport default withOktaAuth(class SubmitANewAppeal extends Component {\r\n constructor(props) {\r\n super(props);\r\n this.state = {\r\n eventKey: \"Part1\",\r\n showDeleteBtn: false,\r\n appealId: \"\",\r\n appealDate: new Date(),\r\n completed: false,\r\n manufacturerName: \"\",\r\n pNumber: \"\",\r\n submitterName: \"\",\r\n submitterEmail: \"\",\r\n submitterPhone: \"\",\r\n altName: \"\",\r\n altEmail: \"\",\r\n altPhone: \"\",\r\n invoiceReportId: \"\",\r\n decision60Day: \"\",\r\n dateInvoiceReceived: null,\r\n disputeDate: new Date(),\r\n tpaDecisionDate: new Date(),\r\n dueDate: \"\",\r\n stage: \"Unsubmitted\",\r\n referenceNumber: \"\",\r\n resolutionCode: \"\",\r\n amountInvoicedControl: \"\",\r\n amountAppealedControl: \"\",\r\n ireReasonCode: \"\",\r\n explanationIreRequest: \"\",\r\n appealFiles: [],\r\n show: false,\r\n title: \"\",\r\n body: \"\",\r\n bodyText: \"\",\r\n data: [],\r\n feedback: [],\r\n isWarning: false,\r\n isError: false\r\n };\r\n this.getNextAppealId = this.getNextAppealId.bind(this);\r\n this.handleSelect = this.handleSelect.bind(this);\r\n this.handleChange = this.handleChange.bind(this);\r\n this.encodeTextArea = this.encodeTextArea.bind(this);\r\n this.handleDisputeDateChange = this.handleDisputeDateChange.bind(this);\r\n this.handleTpaDecisionDateChange = this.handleTpaDecisionDateChange.bind(this);\r\n this.handleSubmit = this.handleSubmit.bind(this);\r\n this.createAppeal = this.createAppeal.bind(this);\r\n this.createAppealData = this.createAppealData.bind(this);\r\n this.getAppealFiles = this.getAppealFiles.bind(this);\r\n this.handleModalOpen = this.handleModalOpen.bind(this);\r\n this.logout = this.logout.bind(this);\r\n this.checkSession = this.checkSession.bind(this);\r\n }\r\n\r\n // On page load get username from session storage and set submitterEmail; get access_token and set state\r\n componentDidMount() {\r\n if (this.props.authState?.isAuthenticated) {\r\n this.checkSession();\r\n const username = sessionStorage.getItem('username');\r\n this.setState({\r\n submitterEmail: username\r\n });\r\n }\r\n // const username = sessionStorage.getItem('username');\r\n // this.setState({\r\n // submitterEmail: username\r\n // });\r\n }\r\n\r\n // On page update/reload check if user is authenticated\r\n // If authenticated get username and group memberships and place in session storage\r\n componentDidUpdate() {\r\n if (this.props.authState?.isAuthenticated) {\r\n this.checkSession();\r\n }\r\n }\r\n\r\n // open/close SubmitANewAppealModal\r\n handleModalOpen = () => {\r\n this.setState((prevState) => {\r\n return {\r\n show: !prevState.show\r\n }\r\n })\r\n }\r\n\r\n // handle logout from Okta and clear session storage\r\n async logout() {\r\n await this.props.oktaAuth.signOut();\r\n sessionStorage.removeItem(\"username\");\r\n sessionStorage.removeItem(\"group\");\r\n }\r\n\r\n // Check to see if the user has a valid Okta session\r\n // if no Okta session is found, log user out\r\n async checkSession() {\r\n const url = process.env.REACT_APP_OKTA_SESSION;\r\n await axios.get(url, {\r\n withCredentials: true\r\n })\r\n .then(res => {\r\n // console.log(\"Session Found in Submit a New Appeal.\");\r\n // console.log(res.data)\r\n })\r\n .catch(err => {\r\n console.log(\"No session found in Submit a New Appeal\");\r\n console.error(err);\r\n this.logout();\r\n })\r\n }\r\n\r\n // get the next sequential appeal id\r\n async getNextAppealId() {\r\n if(this.state.appealId === \"\") {\r\n const accessToken = this.props.oktaAuth.getAccessToken();\r\n const url = (`${process.env.REACT_APP_API_BASE_URL}${process.env.REACT_APP_NEW_APPEAL_ID_URL}`);\r\n await axios.get(url, {\r\n headers: {\r\n Authorization: `Bearer ${accessToken}`\r\n }\r\n })\r\n .then(res => {\r\n const appealId = res.data;\r\n this.setState({appealId});\r\n return appealId;\r\n })\r\n .catch(error => {\r\n console.log(\"There was a problem getting the next Appeal ID\", error);\r\n console.log(error.request.status);\r\n console.log({error});\r\n if (error.request.status === 0) {\r\n this.setState({\r\n title: \"NEXT APPEAL ID ERROR !\",\r\n isError: true\r\n })\r\n this.setState(prevState => ({\r\n data: [ ...prevState.data, \r\n {\r\n id: 1, \r\n msg: `The server did not respond when trying to get the next Appeal ID due to an invalid request format. Request status: ${error.request.status}. Request error message: ${error}`, \r\n isChecked: false, \r\n isValid: false\r\n } \r\n ],\r\n feedback: [ ...prevState.feedback,\r\n {\r\n id: 1,\r\n msg: \"Please contact the CGPD Appeals Team at cgdpappeals@provider-resources.com for assistance.\"\r\n },\r\n {\r\n id: 2,\r\n msg: \"The next appeal ID was not created successfully.\"\r\n }\r\n ]\r\n }))\r\n this.handleModalOpen();\r\n console.log(\"The server did not respond when trying to get the next Appeal ID due to an invalid request format.\");\r\n console.log(error.toString());\r\n console.log(error.request);\r\n } else if(error.response.status === 500) {\r\n console.log(\"There was a problem with the server while getting the next Appeal ID.\");\r\n console.log({error});\r\n console.log(error.toString());\r\n console.log(error.response.status);\r\n this.setState({\r\n title: \"NEXT APPEAL ID ERROR !\",\r\n isError: true\r\n })\r\n this.setState(prevState => ({\r\n data: [ ...prevState.data, \r\n {\r\n id: 1, \r\n msg: `There was a problem with the server while getting the next Appeal ID. Response status: ${error.response.status}. Response error message: ${error.response.data.title}`, \r\n isChecked: false, \r\n isValid: false\r\n } \r\n ],\r\n feedback: [ ...prevState.feedback,\r\n {\r\n id: 1,\r\n msg: \"Please contact the CGPD Appeals Team at cgdpappeals@provider-resources.com for assistance.\"\r\n },\r\n {\r\n id: 2,\r\n msg: \"The next appeal ID was not created successfully.\"\r\n }\r\n ]\r\n }))\r\n this.handleModalOpen();\r\n } else {\r\n console.log(\"There was a problem with getting the next Appeal ID.\");\r\n console.log({error});\r\n console.log(error.toString());\r\n console.log(error.response.status);\r\n this.setState(prevState => ({\r\n data: [ ...prevState.data, \r\n {\r\n id: 1, \r\n msg: `Oops!! Looks like there was a problem with getting the next Appeal ID. Response status: ${error.response.status}. Response error message: ${error.response.data.title}`, \r\n isChecked: false, \r\n isValid: false\r\n } \r\n ],\r\n feedback: [ ...prevState.feedback,\r\n {\r\n id: 1,\r\n msg: \"Please contact the CGPD Appeals Team at cgdpappeals@provider-resources.com for assistance.\"\r\n },\r\n {\r\n id: 2,\r\n msg: \"The next appeal ID was not created successfully.\"\r\n }\r\n ]\r\n }))\r\n this.handleModalOpen();\r\n }\r\n })\r\n }\r\n }\r\n\r\n // handle which Tab content displays and whether delete button should show on Appeal Files tables\r\n handleSelect(eventKey) {\r\n switch(eventKey) {\r\n case \"Part1\":\r\n this.setState({\r\n eventKey: eventKey,\r\n showDeleteBtn: false\r\n });\r\n break;\r\n case \"Part2\":\r\n this.setState({\r\n eventKey: eventKey,\r\n showDeleteBtn: true\r\n });\r\n break;\r\n case \"Part3\":\r\n this.setState({\r\n eventKey: eventKey,\r\n showDeleteBtn: false\r\n });\r\n break;\r\n case \"Part4\":\r\n this.setState({\r\n eventKey: eventKey,\r\n showDeleteBtn: true\r\n });\r\n break;\r\n default:\r\n break;\r\n }\r\n }\r\n\r\n // handle form field changes from children and grandchildren components\r\n handleChange(target, value) {\r\n this.setState({\r\n [target]: value\r\n });\r\n }\r\n\r\n // encoding for the textarea form field\r\n encodeTextArea() {\r\n const value = this.state.explanationIreRequest;\r\n const p = document.createElement(\"p\");\r\n p.textContent = value;\r\n const encodedValue = p.innerHTML;\r\n return encodedValue;\r\n }\r\n\r\n // handle calendar control values on date form fields\r\n handleDisputeDateChange = disputeDate => this.setState({disputeDate})\r\n handleTpaDecisionDateChange = tpaDecisionDate => this.setState({tpaDecisionDate})\r\n\r\n // handle form field submission\r\n async handleSubmit() {\r\n if(this.state.appealId !== \"\") {\r\n // create new Appeal record in database (via API)\r\n const newAppeal = this.createAppeal();\r\n const accessToken = this.props.oktaAuth.getAccessToken();\r\n const url = (`${process.env.REACT_APP_API_BASE_URL}${process.env.REACT_APP_APPEAL_BASE_URL}`);\r\n await axios.post(url, newAppeal, {\r\n headers: {\r\n Authorization: `Bearer ${accessToken}`\r\n }\r\n })\r\n .then((res) => {\r\n // if Appeal record creation is successful, create new AppealData record in database (via API) and create new ManufacturerStatus record in database (via API)\r\n const newAppealData = this.createAppealData();\r\n const url2 = (`${process.env.REACT_APP_API_BASE_URL}${process.env.REACT_APP_APPEAL_DATA_BASE_URL}`);\r\n axios.post(url2, newAppealData, {\r\n headers: {\r\n Authorization: `Bearer ${accessToken}`\r\n }\r\n })\r\n .then((response) => {\r\n })\r\n .catch(error => {\r\n console.log(\"There was a problem creating the AppealData record.\", error);\r\n console.log(error.request.status);\r\n console.log({error});\r\n if (error.request.status === 0) {\r\n console.log(\"The server did not respond when trying to create the Appeal Data due to an invalid request format.\");\r\n console.log(error.toString());\r\n console.log(error.request);\r\n this.setState({\r\n title: \"APPEAL DATA RECORD ERROR !\",\r\n isError: true\r\n })\r\n this.setState(prevState => ({\r\n data: [ ...prevState.data, \r\n {\r\n id: 1, \r\n msg: `The server did not respond when trying to create the Appeal Data due to an invalid request format. Request status: ${error.request.status}. Request error message: ${error}`, \r\n isChecked: false, \r\n isValid: false\r\n } \r\n ],\r\n feedback: [ ...prevState.feedback,\r\n {\r\n id: 1,\r\n msg: \"Please contact the CGPD Appeals Team at cgdpappeals@provider-resources.com for assistance.\"\r\n },\r\n {\r\n id: 2,\r\n msg: \"The appeal data record was not created successfully.\"\r\n }\r\n ]\r\n }))\r\n this.handleModalOpen();\r\n } else if (error.response.status === 500) {\r\n console.log(\"There was a problem with the server while creating the AppealData record.\");\r\n console.log({error});\r\n console.log(error.toString());\r\n console.log(error.response.status);\r\n this.setState({\r\n title: \"APPEAL DATA RECORD ERROR !\",\r\n isError: true\r\n })\r\n this.setState(prevState => ({\r\n data: [ ...prevState.data, \r\n {\r\n id: 1, \r\n msg: `There was a problem with the server while creating the AppealData record. Response status: ${error.response.status}. Response error message: ${error.response.data.title}`, \r\n isChecked: false, \r\n isValid: false\r\n } \r\n ],\r\n feedback: [ ...prevState.feedback,\r\n {\r\n id: 1,\r\n msg: \"Please contact the CGPD Appeals Team at cgdpappeals@provider-resources.com for assistance.\"\r\n },\r\n {\r\n id: 2,\r\n msg: \"The appeal data record was not created successfully.\"\r\n }\r\n ]\r\n }))\r\n this.handleModalOpen();\r\n } else {\r\n console.log(\"There was a problem with creating the Appeal Data record.\");\r\n console.log({error});\r\n console.log(error.toString());\r\n console.log(error.response.status);\r\n this.setState(prevState => ({\r\n data: [ ...prevState.data, \r\n {\r\n id: 1, \r\n msg: `Oops!! Looks like there was a problem with creating the Appeal Data record. Response status: ${error.response.status}. Response error message: ${error.response.data.title}`, \r\n isChecked: false, \r\n isValid: false\r\n } \r\n ],\r\n feedback: [ ...prevState.feedback,\r\n {\r\n id: 1,\r\n msg: \"Please contact the CGPD Appeals Team at cgdpappeals@provider-resources.com for assistance.\"\r\n },\r\n {\r\n id: 2,\r\n msg: \"The appeal data record was not created successfully.\"\r\n }\r\n ]\r\n }))\r\n this.handleModalOpen();\r\n }\r\n });\r\n\r\n const url3 = (`${process.env.REACT_APP_API_BASE_URL}${process.env.REACT_APP_MANUFACTURER_STATUS_BASE_URL}`);\r\n axios.post(url3, {\r\n AppealId: this.state.appealId,\r\n Status: \"Unsubmitted\"\r\n }, {\r\n headers: {\r\n Authorization: `Bearer ${accessToken}`\r\n }\r\n })\r\n .then((resp) => {\r\n this.handleSelect(\"Part2\");\r\n })\r\n .catch(error => {\r\n console.log(\"There was a problem creating the Manufacturer Status record.\", error);\r\n console.log(error.request.status);\r\n console.log({error});\r\n if (error.request.status === 0) {\r\n console.log(\"The server did not respond when trying to create the Manufacturer Status record due to an invalid request format.\");\r\n console.log(error.toString());\r\n console.log(error.request);\r\n this.setState({\r\n title: \"MANUFACTURER STATUS RECORD ERROR !\",\r\n isError: true\r\n })\r\n this.setState(prevState => ({\r\n data: [ ...prevState.data, \r\n {\r\n id: 1, \r\n msg: `The server did not respond when trying to create the Manufacturer Status record due to an invalid request format. Request status: ${error.request.status}. Request error message: ${error}`, \r\n isChecked: false, \r\n isValid: false\r\n } \r\n ],\r\n feedback: [ ...prevState.feedback,\r\n {\r\n id: 1,\r\n msg: \"Please contact the CGPD Appeals Team at cgdpappeals@provider-resources.com for assistance.\"\r\n },\r\n {\r\n id: 2,\r\n msg: \"The Manufacturer Status record was not created successfully.\"\r\n }\r\n ]\r\n }))\r\n this.handleModalOpen();\r\n } else if (error.response.status === 500) {\r\n console.log(\"There was a problem with the server while creating the Manufacturer Status record.\");\r\n console.log({error});\r\n console.log(error.toString());\r\n console.log(error.response.status);\r\n this.setState({\r\n title: \"MANUFACTURER STATUS RECORD ERROR !\",\r\n isError: true\r\n })\r\n this.setState(prevState => ({\r\n data: [ ...prevState.data, \r\n {\r\n id: 1, \r\n msg: `There was a problem with the server while creating the Manufacturer Status record. Response status: ${error.response.status}. Response error message: ${error.response.data.title}`, \r\n isChecked: false, \r\n isValid: false\r\n } \r\n ],\r\n feedback: [ ...prevState.feedback,\r\n {\r\n id: 1,\r\n msg: \"Please contact the CGPD Appeals Team at cgdpappeals@provider-resources.com for assistance.\"\r\n },\r\n {\r\n id: 2,\r\n msg: \"The Manufacturer Status record was not created successfully.\"\r\n }\r\n ]\r\n }))\r\n this.handleModalOpen();\r\n } else {\r\n console.log(\"There was a problem with creating the Manufacturer Status record.\");\r\n console.log({error});\r\n console.log(error.toString());\r\n console.log(error.response.status);\r\n this.setState(prevState => ({\r\n data: [ ...prevState.data, \r\n {\r\n id: 1, \r\n msg: `Oops!! Looks like there was a problem with creating the Manufacturer Status record. Response status: ${error.response.status}. Response error message: ${error.response.data.title}`, \r\n isChecked: false, \r\n isValid: false\r\n } \r\n ],\r\n feedback: [ ...prevState.feedback,\r\n {\r\n id: 1,\r\n msg: \"Please contact the CGPD Appeals Team at cgdpappeals@provider-resources.com for assistance.\"\r\n },\r\n {\r\n id: 2,\r\n msg: \"The Manufacturer Status record was not created successfully.\"\r\n }\r\n ]\r\n }))\r\n this.handleModalOpen();\r\n }\r\n });\r\n })\r\n .catch(error => {\r\n console.log(\"There was a problem creating the Appeal record.\", error);\r\n console.log(error.request.status);\r\n console.log({error});\r\n if (error.request.status === 0) {\r\n console.log(\"The server did not respond when trying to create the Appeal due to an invalid request format.\");\r\n console.log(error.toString());\r\n console.log(error.request);\r\n this.setState({\r\n title: \"APPEAL RECORD ERROR !\",\r\n isError: true\r\n })\r\n this.setState(prevState => ({\r\n data: [ ...prevState.data, \r\n {\r\n id: 1, \r\n msg: `The server did not respond when trying to create the Appeal due to an invalid request format. Request status: ${error.request.status}. Request error message: ${error}`, \r\n isChecked: false, \r\n isValid: false\r\n } \r\n ],\r\n feedback: [ ...prevState.feedback,\r\n {\r\n id: 1,\r\n msg: \"Please contact the CGPD Appeals Team at cgdpappeals@provider-resources.com for assistance.\"\r\n },\r\n {\r\n id: 2,\r\n msg: \"The appeal record was not created successfully.\"\r\n }\r\n ]\r\n }))\r\n this.handleModalOpen();\r\n } else if (error.response.status === 500) {\r\n console.log(\"There was a problem with the server while creating the Appeal record.\");\r\n console.log({error});\r\n console.log(error.toString());\r\n console.log(error.response.status);\r\n this.setState({\r\n title: \"APPEAL RECORD ERROR !\",\r\n isError: true\r\n })\r\n this.setState(prevState => ({\r\n data: [ ...prevState.data, \r\n {\r\n id: 1, \r\n msg: `There was a problem with the server while creating the Appeal record. Response status: ${error.response.status}. Response error message: ${error.response.data.title}`, \r\n isChecked: false, \r\n isValid: false\r\n } \r\n ],\r\n feedback: [ ...prevState.feedback,\r\n {\r\n id: 1,\r\n msg: \"Please contact the CGPD Appeals Team at cgdpappeals@provider-resources.com for assistance.\"\r\n },\r\n {\r\n id: 2,\r\n msg: \"The appeal record was not created successfully.\"\r\n }\r\n ]\r\n }))\r\n this.handleModalOpen();\r\n } else {\r\n console.log(\"There was a problem with creating the Appeal record.\");\r\n console.log({error});\r\n console.log(error.toString());\r\n console.log(error.response.status);\r\n this.setState(prevState => ({\r\n data: [ ...prevState.data, \r\n {\r\n id: 1, \r\n msg: `Oops!! Looks like there was a problem with creating the Appeal record. Response status: ${error.response.status}. Response error message: ${error.response.data.title}`, \r\n isChecked: false, \r\n isValid: false\r\n } \r\n ],\r\n feedback: [ ...prevState.feedback,\r\n {\r\n id: 1,\r\n msg: \"Please contact the CGPD Appeals Team at cgdpappeals@provider-resources.com for assistance.\"\r\n },\r\n {\r\n id: 2,\r\n msg: \"The appeal record was not created successfully.\"\r\n }\r\n ]\r\n }))\r\n this.handleModalOpen();\r\n }\r\n }); \r\n } else {\r\n this.setState({\r\n title: \"APPEAL RECORD ERROR !\",\r\n isError: true\r\n })\r\n this.setState(prevState => ({\r\n data: [ ...prevState.data, \r\n {\r\n id: 1, \r\n msg: \"There was a problem creating the appeal record.\", \r\n isChecked: false, \r\n isValid: false\r\n } \r\n ],\r\n feedback: [ ...prevState.feedback,\r\n {\r\n id: 1,\r\n msg: \"Please contact the CGPD Appeals Team at cgdpappeals@provider-resources.com for assistance.\"\r\n },\r\n {\r\n id: 2,\r\n msg: \"The appeal ID was blank.\"\r\n }\r\n ]\r\n }))\r\n this.handleModalOpen();\r\n }\r\n }\r\n\r\n // gather data needed for creating a new appeal record\r\n createAppeal() {\r\n const appealDateFormatted = (this.state.appealDate.getFullYear() + \"-\" + (this.state.appealDate.getMonth() + 1) + \"-\" + this.state.appealDate.getDate());\r\n const disputeDateFormatted = (this.state.disputeDate.getFullYear() + \"-\" + (this.state.disputeDate.getMonth() + 1) + \"-\" + this.state.disputeDate.getDate());\r\n const tpaDecisionDateFormatted = (this.state.tpaDecisionDate.getFullYear() + \"-\" + (this.state.tpaDecisionDate.getMonth() + 1) + \"-\" + this.state.tpaDecisionDate.getDate());\r\n const completed = \"false\";\r\n const newAppeal = {\r\n AppealID: this.state.appealId,\r\n AppealDate: appealDateFormatted,\r\n Submitter: this.state.submitterName,\r\n Completed: completed,\r\n ManufacturerName: this.state.manufacturerName,\r\n PNumber: this.state.pNumber,\r\n ContactName: this.state.submitterName,\r\n Email: this.state.submitterEmail,\r\n Telephone: this.state.submitterPhone,\r\n AltContactName: this.state.altName,\r\n AltEmail: this.state.altEmail,\r\n AltTelephone: this.state.altPhone,\r\n InvoiceID: this.state.invoiceReportId,\r\n TPADecision: this.state.decision60Day,\r\n DateDispute: disputeDateFormatted,\r\n DateDecision: tpaDecisionDateFormatted,\r\n Stage: this.state.stage,\r\n DateInvoiceReceived: null\r\n };\r\n return newAppeal;\r\n }\r\n\r\n // gather data needed for creating a new AppealData record\r\n createAppealData() {\r\n const encodedValue = this.encodeTextArea();\r\n const disputeDateFormatted = (this.state.disputeDate.getFullYear() + \"-\" + (this.state.disputeDate.getMonth() + 1) + \"-\" + this.state.disputeDate.getDate());\r\n const tpaDecisionDateFormatted = (this.state.tpaDecisionDate.getFullYear() + \"-\" + (this.state.tpaDecisionDate.getMonth() + 1) + \"-\" + this.state.tpaDecisionDate.getDate());\r\n const newAppealData = {\r\n AppealID: this.state.appealId,\r\n RefNumber: this.state.referenceNumber,\r\n DisputeResolutionCode: this.state.resolutionCode,\r\n AmtInvoiced: this.state.amountInvoicedControl,\r\n AmtDispute: this.state.amountAppealedControl,\r\n AppealReasonCode: this.state.ireReasonCode,\r\n Explanation: encodedValue,\r\n DateDispute: disputeDateFormatted,\r\n DateDecision: tpaDecisionDateFormatted\r\n };\r\n return newAppealData;\r\n }\r\n\r\n // set state for Appeal Files array\r\n getAppealFiles(data) {\r\n this.setState({\r\n appealFiles: data\r\n });\r\n }\r\n\r\n render() {\r\n // collect needed state variables for passing to child and grandchild components\r\n const contactReview = {\r\n appealId: this.state.appealId,\r\n manufacturerName: this.state.manufacturerName,\r\n pNumber: this.state.pNumber,\r\n submitterName: this.state.submitterName,\r\n submitterEmail: this.state.submitterEmail,\r\n submitterPhone: this.state.submitterPhone,\r\n altName: this.state.altName,\r\n altEmail: this.state.altEmail,\r\n altPhone: this.state.altPhone,\r\n invoiceReportId: this.state.invoiceReportId,\r\n decision60Day: this.state.decision60Day\r\n }\r\n\r\n const appealDataReview = {\r\n invoiceReportId: this.state.invoiceReportId,\r\n referenceNumber: this.state.referenceNumber,\r\n decision60Day: this.state.decision60Day,\r\n disputeDate: this.state.disputeDate,\r\n tpaDecisionDate: this.state.tpaDecisionDate,\r\n resolutionCode: this.state.resolutionCode,\r\n ireReasonCode: this.state.ireReasonCode,\r\n explanationIreRequest: this.encodeTextArea(),\r\n amountInvoicedControl: this.state.amountInvoicedControl,\r\n amountAppealedControl: this.state.amountAppealedControl\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 \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 moment from \"moment\";\r\n\r\n// define columns for Existing Appeals Table\r\nexport const COLUMNS = [\r\n {\r\n Header: 'Appeal ID',\r\n accessor: 'AppealID',\r\n },\r\n {\r\n Header: 'Appeal Date',\r\n accessor: 'AppealDate',\r\n Cell: ({value}) => {return (moment(new Date(value)).format(\"YYYY-MM-DD\"))} \r\n },\r\n {\r\n Header: 'Status',\r\n accessor: 'Status'\r\n },\r\n {\r\n Header: 'Due Date',\r\n accessor: 'DueDate',\r\n Cell: ({value}) => {\r\n if (value === null) {\r\n return \"\"\r\n }\r\n return (moment(new Date(value)).format(\"YYYY-MM-DD\"))\r\n }\r\n },\r\n {\r\n Header: '',\r\n accessor: 'Resume',\r\n sortable: false,\r\n disableFilters: true,\r\n // if the appeal status is unsubmitted show clickable Resume button\r\n // otherwise disable the Resume button\r\n // on button click, call handleClick function in ExistingAppealsTable\r\n Cell: props => {\r\n return props.row.original.Status === 'Unsubmitted' ? \r\n props.handleClick(props.row.original)}\r\n >Resume \r\n : Resume \r\n }\r\n }\r\n]","import React from 'react';\r\n\r\n// define Global Filter (Search box) for dynamic tables\r\nexport const GlobalFilter = ({ filter, setFilter }) => {\r\n return (\r\n \r\n Search: {''}\r\n setFilter(e.target.value)}\r\n />\r\n \r\n )\r\n}","export default __webpack_public_path__ + \"static/media/funnel.12664194.svg\";","import React from 'react';\r\nimport Form from 'react-bootstrap/Form';\r\nimport InputGroup from 'react-bootstrap/InputGroup';\r\nimport FunnelIcon from '../../../images/funnel.svg';\r\n\r\n// define and set column filtering for dynamic tables\r\nexport const ColumnFilter = ({ column }) => {\r\n\r\n const { filterValue, setFilter } = column\r\n return (\r\n <>\r\n
\r\n \r\n setFilter(e.target.value)}\r\n />\r\n \"Filter {' '}\r\n \r\n
\r\n \r\n )\r\n}","export default __webpack_public_path__ + \"static/media/arrow-up-square.96ebb111.svg\";","export default __webpack_public_path__ + \"static/media/arrow-down-square.87de263f.svg\";","import React, { useMemo, useState } from 'react';\r\nimport { useOktaAuth } from '@okta/okta-react';\r\nimport axios from 'axios';\r\nimport { useTable, useSortBy, useGlobalFilter, useFilters, usePagination } from 'react-table';\r\nimport { COLUMNS } from './CheckStatusColumns';\r\nimport { GlobalFilter } from '../admin/viewallappeals/GlobalFilter';\r\nimport { ColumnFilter } from '../admin/viewallappeals/ColumnFilter';\r\nimport ArrowUp from '../../images/arrow-up-square.svg';\r\nimport ArrowDown from '../../images/arrow-down-square.svg';\r\nimport Alert from '../submitanewappeal/fileupload/AlertMessage';\r\nimport './CheckStatusOfExistingAppeal.css';\r\n\r\nconst ExistingAppealsTable = (props) => {\r\n const { authState, oktaAuth } = useOktaAuth();\r\n const [loadingData, setLoadingData] = useState(true);\r\n const [data, setData] = useState([]);\r\n const [appealId, setAppealId] = useState(\"\");\r\n const [message, setMessage] = useState(\"\");\r\n const [variant, setVariant] = useState(\"info\");\r\n\r\n\r\n // use useMemo to make sure data is not recreated on every render\r\n const columns = useMemo(() => COLUMNS, []);\r\n const defaultColumn = useMemo(() => {\r\n return {\r\n Filter: ColumnFilter\r\n }\r\n }, []);\r\n\r\n useMemo(() => {\r\n if (!authState || !authState.isAuthenticated) {\r\n setData([]);\r\n } else {\r\n async function getData() {\r\n const accessToken = oktaAuth.getAccessToken();\r\n const url = (`${process.env.REACT_APP_API_BASE_URL}${process.env.REACT_APP_GET_SUBMITTER_APPEALS_URL}`);\r\n //console.log(`Existing Appeals Table Token: ${accessToken}`);\r\n await axios\r\n .get(url, {\r\n headers: {\r\n Authorization: `Bearer ${accessToken}`\r\n },\r\n // params: {\r\n // username: props.submitterEmail\r\n // }\r\n })\r\n .then((response) => {\r\n setData(response.data);\r\n setLoadingData(false);\r\n })\r\n .catch(error => {\r\n console.log(\"There was a problem with the server while getting the Appeals.\");\r\n console.log(\"There was a problem getting the Appeals.\", error);\r\n console.log(error.request.status);\r\n console.log({error});\r\n if (error.request.status === 0) {\r\n console.log(\"The server did not respond when trying to get the Appeals.\");\r\n console.log(error.toString());\r\n console.log(error.request);\r\n setMessage('The server did not respond when trying to get the Appeals.');\r\n setVariant('danger');\r\n setLoadingData(false);\r\n } else if (error.response.status === 404) {\r\n console.log(\"The server could not find the Appeals in the database.\");\r\n console.log({error});\r\n console.log(error.toString());\r\n console.log(error.response.status);\r\n setMessage('The server could not find the Appeals in the database.');\r\n setVariant('danger');\r\n setLoadingData(false);\r\n } else if (error.response.status === 500) {\r\n console.log(\"There was a server error while getting the Appeals.\");\r\n console.log({error});\r\n console.log(error.toString());\r\n console.log(error.response.status);\r\n setMessage('There was a server error while getting the Appeals.');\r\n setVariant('danger');\r\n setLoadingData(false);\r\n } else {\r\n console.log(\"There was an unknown problem with getting the Appeals.\");\r\n console.log({error});\r\n console.log(error.toString());\r\n console.log(error.response.status);\r\n setMessage('There was an unknown problem with getting the Appeals.');\r\n setVariant('danger');\r\n setLoadingData(false);\r\n }\r\n });\r\n }\r\n if (loadingData) {\r\n getData();\r\n }\r\n }\r\n }, [loadingData, authState, oktaAuth]);\r\n\r\n const {\r\n getTableProps,\r\n getTableBodyProps,\r\n headerGroups,\r\n page,\r\n nextPage,\r\n previousPage,\r\n canNextPage,\r\n canPreviousPage,\r\n pageOptions,\r\n gotoPage,\r\n pageCount,\r\n setPageSize,\r\n state,\r\n prepareRow,\r\n setGlobalFilter,\r\n } = useTable({\r\n columns,\r\n data,\r\n defaultColumn\r\n },\r\n useFilters,\r\n useGlobalFilter,\r\n useSortBy,\r\n usePagination)\r\n\r\n const { globalFilter, pageIndex, pageSize } = state\r\n const generateSortingIndicator = column => {\r\n return column.isSorted ? (column.isSortedDesc ? \"Square : \"Square) : \"\"\r\n }\r\n\r\n // on row click, set appeal id in state and call handleresumeClick from parent component\r\n function handleClick(appeal) {\r\n setAppealId(appealId);\r\n props.handleResumeClick(appeal.AppealID);\r\n }\r\n\r\n return (\r\n
\r\n
\r\n
Coverage Gap Discount Program Appeals Portal - View Submitter's Appeals
\r\n

For assistance or questions regarding this website please e-mail: cgdpappeals@provider-resources.com

\r\n
\r\n
\r\n \r\n
\r\n
\r\n {loadingData ? (

Loading. Please wait...

) : (\r\n \r\n \r\n {headerGroups.map((headerGroup) => (\r\n \r\n {headerGroup.headers.map( column => (\r\n \r\n ))}\r\n \r\n ))}\r\n \r\n {message ? : null}\r\n {page.length === 0 && !message && }\r\n \r\n {page.map((row) => {\r\n prepareRow(row)\r\n return (\r\n \r\n {row.cells.map((cell) => {\r\n return \r\n })}\r\n \r\n )\r\n })}\r\n \r\n
\r\n
\r\n {column.render('Header')}\r\n {generateSortingIndicator(column)}\r\n
\r\n
{column.canFilter ? column.render('Filter') : null}
\r\n
No data to display
{cell.render('Cell', {handleClick})}
\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 Go to page: {''}\r\n {\r\n const pageNumber = e.target.value ? Number(e.target.value) - 1 : 0\r\n gotoPage(pageNumber)\r\n }}\r\n style={{ width: \"50px\" }}\r\n />\r\n \r\n \r\n \r\n\r\n \r\n
\r\n
\r\n \r\n Page{' '}\r\n \r\n {pageIndex + 1} of {pageOptions.length}\r\n {' '}\r\n \r\n
\r\n \r\n
\r\n
\r\n
\r\n )\r\n}\r\n\r\nexport default ExistingAppealsTable;","import React, { Component } from 'react';\r\nimport { withOktaAuth } from '@okta/okta-react';\r\nimport Tabs from 'react-bootstrap/Tabs';\r\nimport Tab from 'react-bootstrap/Tab';\r\nimport SubmitANewAppealPart3 from '../submitanewappeal/sanapart3/SubmitANewAppealPart3';\r\nimport EditANewAppeal from '../submitanewappeal/editnewappeal/EditANewAppeal';\r\nimport SubmitANewAppealModal from '../submitanewappeal/sanamodal/SubmitANewAppealModal';\r\n\r\nexport default withOktaAuth(class ResumeANewAppeal extends Component {\r\n constructor(props) {\r\n super(props);\r\n this.state = {\r\n eventKey: \"Part3\",\r\n show: false,\r\n title: \"\",\r\n body: \"\",\r\n bodyText: \"\",\r\n data: [],\r\n feedback: [],\r\n isWarning: false,\r\n isError: false\r\n };\r\n this.handleSelect = this.handleSelect.bind(this);\r\n this.handleChange = this.handleChange.bind(this);\r\n }\r\n\r\n // handle which Tab content displays\r\n handleSelect(eventKey) {\r\n switch(eventKey) {\r\n case \"Part3\":\r\n this.setState({\r\n eventKey: eventKey\r\n });\r\n break;\r\n case \"Part4\":\r\n this.setState({\r\n eventKey: eventKey\r\n });\r\n break;\r\n default:\r\n break;\r\n }\r\n }\r\n\r\n // open/close SubmitANewAppealModal\r\n handleModalOpen = () => {\r\n this.setState((prevState) => {\r\n return {\r\n show: !prevState.show\r\n }\r\n })\r\n }\r\n\r\n // pass-through function to handle form field changes \r\n handleChange(target, value) {\r\n this.props.handleChange(target, value);\r\n }\r\n\r\n // pass-through functions to handle calendar control date value changes\r\n handleDisputeDateChange = disputeDate => {\r\n this.props.handleDisputeDateChange(disputeDate);\r\n }\r\n handleTpaDecisionDateChange = tpaDecisionDate => {\r\n this.props.handleTpaDecisionDateChange(tpaDecisionDate);\r\n }\r\n\r\n render() {\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});","import React, { Component } from 'react';\r\nimport { withOktaAuth } from '@okta/okta-react';\r\nimport axios from 'axios';\r\nimport Tabs from 'react-bootstrap/Tabs';\r\nimport Tab from 'react-bootstrap/Tab';\r\nimport ExistingAppealsTable from './ExistingAppealsTable';\r\nimport ResumeANewAppeal from './ResumeANewAppeal';\r\nimport SubmitANewAppealModal from '../submitanewappeal/sanamodal/SubmitANewAppealModal';\r\nimport './CheckStatusOfExistingAppeal.css';\r\n\r\nexport default withOktaAuth(class CheckStatusOfExistingAppeal extends Component {\r\n constructor(props) {\r\n super(props);\r\n this.state = {\r\n eventKey: \"AllAppeals\",\r\n appealId: \"\",\r\n appealDate: new Date(),\r\n manufacturerName: \"\",\r\n pNumber: \"\",\r\n submitterName: \"\",\r\n submitterEmail: sessionStorage.getItem(\"username\"),\r\n submitterPhone: \"\",\r\n altName: \"\",\r\n altEmail: \"\",\r\n altPhone: \"\",\r\n invoiceReportId: \"\",\r\n decision60Day: \"\",\r\n disputeDate: new Date(),\r\n tpaDecisionDate: new Date(),\r\n referenceNumber: \"\",\r\n resolutionCode: \"\",\r\n amountInvoicedControl: \"\",\r\n amountAppealedControl: \"\",\r\n ireReasonCode: \"\",\r\n explanationIreRequest: \"\",\r\n stage: \"\",\r\n appealFiles: [],\r\n downloadFiles: false,\r\n show: false,\r\n title: \"\",\r\n body: \"\",\r\n bodyText: \"\",\r\n data: [],\r\n feedback: [],\r\n isWarning: false,\r\n isError: false,\r\n loading: false,\r\n message: \"\",\r\n variant: \"\"\r\n }\r\n this.handleSelect = this.handleSelect.bind(this);\r\n this.handleResumeClick = this.handleResumeClick.bind(this);\r\n this.getAppealById = this.getAppealById.bind(this);\r\n this.getAppealInfo = this.getAppealInfo.bind(this);\r\n this.getAppealDataByAppealId = this.getAppealDataByAppealId.bind(this);\r\n this.getAppealData = this.getAppealData.bind(this);\r\n this.getAppealStage = this.getAppealStage.bind(this);\r\n this.getAppealFiles = this.getAppealFiles.bind(this);\r\n this.renderTableData = this.renderTableData.bind(this);\r\n this.handleChange = this.handleChange.bind(this);\r\n this.handleModalOpen = this.handleModalOpen.bind(this);\r\n this.logout = this.logout.bind(this);\r\n this.checkSession = this.checkSession.bind(this);\r\n }\r\n\r\n // On page load check if user is authenticated\r\n // If authenticated get username and group memberships and place in session storage\r\n componentDidMount() {\r\n if (this.props.authState?.isAuthenticated) {\r\n this.checkSession();\r\n }\r\n }\r\n\r\n // On page update/reload check if user is authenticated\r\n // If authenticated get username and group memberships and place in session storage\r\n componentDidUpdate() {\r\n if (this.props.authState?.isAuthenticated) {\r\n this.checkSession();\r\n }\r\n }\r\n\r\n // handle logout from Okta and clear session storage\r\n async logout() {\r\n await this.props.oktaAuth.signOut();\r\n sessionStorage.removeItem(\"username\");\r\n sessionStorage.removeItem(\"group\");\r\n }\r\n\r\n // Check to see if the user has a valid Okta session\r\n // if no Okta session is found, log user out\r\n async checkSession() {\r\n const url = process.env.REACT_APP_OKTA_SESSION;\r\n await axios.get(url, {\r\n withCredentials: true\r\n })\r\n .then(res => {\r\n // console.log(\"Session Found in Check Status of Existing Appeal.\");\r\n // console.log(res.data)\r\n })\r\n .catch(err => {\r\n console.log(\"No session found in Check Status of Existing Appeal\");\r\n console.error(err);\r\n this.logout();\r\n })\r\n }\r\n\r\n // handle which Tab content displays\r\n handleSelect(eventKey) {\r\n switch(eventKey) {\r\n case \"AllAppeals\":\r\n this.setState({\r\n eventKey: eventKey\r\n });\r\n window.location.reload(true);\r\n break;\r\n case \"AppealDetails\":\r\n this.setState({\r\n eventKey: eventKey\r\n });\r\n break;\r\n default:\r\n break;\r\n }\r\n }\r\n\r\n // open/close SubmitANewAppealModal\r\n handleModalOpen = () => {\r\n this.setState((prevState) => {\r\n return {\r\n show: !prevState.show\r\n }\r\n })\r\n }\r\n\r\n // get appeal data when the resume button is clicked and open Appeal Details component\r\n handleResumeClick(appealId) {\r\n this.setState({\r\n appealId: appealId\r\n }, () => {\r\n this.getAppealById(this.state.appealId);\r\n this.getAppealDataByAppealId(this.state.appealId);\r\n this.getAppealStage(this.state.appealId);\r\n this.renderTableData();\r\n this.handleSelect('AppealDetails');\r\n });\r\n }\r\n\r\n // handle form field updates from ResumeANewAppeal form\r\n handleChange(target, value) {\r\n this.setState({\r\n [target]: value\r\n });\r\n }\r\n\r\n // gets appeal record from Appeal table (via API)\r\n async getAppealById (appealId) {\r\n const accessToken = this.props.oktaAuth.getAccessToken();\r\n const url = (`${process.env.REACT_APP_API_BASE_URL}${process.env.REACT_APP_GET_APPEAL_BY_ID_URL}`);\r\n await axios.get(url, {\r\n headers: {\r\n Authorization: `Bearer ${accessToken}`\r\n },\r\n params: {\r\n id: appealId\r\n }\r\n })\r\n .then(res => {\r\n const appealInfo = res.data;\r\n this.setState({\r\n appealInfo: appealInfo\r\n }, () => {\r\n });\r\n this.getAppealInfo(appealInfo);\r\n })\r\n .catch(error => {\r\n console.log(\"There was a problem with the server while getting the Appeal.\");\r\n console.log(\"There was a problem getting the Appeal.\", error);\r\n console.log(error.request.status);\r\n console.log({error});\r\n if (error.request.status === 0) {\r\n console.log(\"The server did not respond when trying to get the Appeal.\");\r\n console.log(error.toString());\r\n console.log(error.request);\r\n this.setState({\r\n title: \"SERVER ERROR !\",\r\n isError: true\r\n })\r\n this.setState(prevState => ({\r\n data: [ ...prevState.data, \r\n {\r\n id: 1, \r\n msg: \"The server did not respond when trying to get the Appeal.\", \r\n isChecked: false, \r\n isValid: false\r\n } \r\n ],\r\n feedback: [ ...prevState.feedback,\r\n {\r\n id: 1,\r\n msg: \"Please contact the CGPD Appeals Team at cgdpappeals@provider-resources.com for assistance.\"\r\n },\r\n {\r\n id: 2,\r\n msg: `Error Request Status: ${error.request.status}`\r\n }\r\n ]\r\n }))\r\n this.handleModalOpen();\r\n } else if (error.response.status === 404) {\r\n console.log(\"The server could not find the Appeal in the database.\");\r\n console.log({error});\r\n console.log(error.toString());\r\n console.log(error.response.status);\r\n this.setState({\r\n title: \"SERVER ERROR !\",\r\n isError: true\r\n })\r\n this.setState(prevState => ({\r\n data: [ ...prevState.data, \r\n {\r\n id: 1, \r\n msg: \"The server could not find the Appeal in the database.\", \r\n isChecked: false, \r\n isValid: false\r\n } \r\n ],\r\n feedback: [ ...prevState.feedback,\r\n {\r\n id: 1,\r\n msg: \"Please contact the CGPD Appeals Team at cgdpappeals@provider-resources.com for assistance.\"\r\n },\r\n {\r\n id: 2,\r\n msg: `${error.response.data.title}. Error Response Status: ${error.response.status}`\r\n }\r\n ]\r\n }))\r\n this.handleModalOpen();\r\n } else if (error.response.status === 500) {\r\n console.log(\"There was a server error while getting the Appeal.\");\r\n console.log({error});\r\n console.log(error.toString());\r\n console.log(error.response.status);\r\n this.setState({\r\n title: \"SERVER ERROR !\",\r\n isError: true\r\n })\r\n this.setState(prevState => ({\r\n data: [ ...prevState.data, \r\n {\r\n id: 1, \r\n msg: \"There was a server error while getting the Appeal.\", \r\n isChecked: false, \r\n isValid: false\r\n } \r\n ],\r\n feedback: [ ...prevState.feedback,\r\n {\r\n id: 1,\r\n msg: \"Please contact the CGPD Appeals Team at cgdpappeals@provider-resources.com for assistance.\"\r\n },\r\n {\r\n id: 2,\r\n msg: `${error.response.data.title}. Error Response Status: ${error.response.status}`\r\n }\r\n ]\r\n }))\r\n this.handleModalOpen();\r\n } else {\r\n console.log(\"There was an unknown problem with getting the Appeal.\");\r\n console.log({error});\r\n console.log(error.toString());\r\n console.log(error.response.status);\r\n this.setState({\r\n title: \"SERVER ERROR !\",\r\n isError: true\r\n })\r\n this.setState(prevState => ({\r\n data: [ ...prevState.data, \r\n {\r\n id: 1, \r\n msg: \"There was an unknown problem with getting the Appeal.\", \r\n isChecked: false, \r\n isValid: false\r\n } \r\n ],\r\n feedback: [ ...prevState.feedback,\r\n {\r\n id: 1,\r\n msg: \"Please contact the CGPD Appeals Team at cgdpappeals@provider-resources.com for assistance.\"\r\n },\r\n {\r\n id: 2,\r\n msg: `${error.response.data.title}. Error Response Status: ${error.response.status}`\r\n }\r\n ]\r\n }))\r\n this.handleModalOpen();\r\n }\r\n });\r\n }\r\n\r\n // update state from returned appeal data from getAppealById\r\n getAppealInfo(appealInfo) {\r\n appealInfo.map((appeal) => {\r\n this.setState({\r\n appealId: appeal.AppealID,\r\n appealDate: appeal.AppealDate,\r\n manufacturerName: appeal.ManufacturerName,\r\n pNumber: appeal.PNumber,\r\n submitterName: appeal.ContactName,\r\n submitterEmail: appeal.Email,\r\n submitterPhone: appeal.Telephone,\r\n altName: appeal.AltContactName,\r\n altEmail: appeal.AltEmail,\r\n altPhone: appeal.AltTelephone,\r\n invoiceReportId: appeal.InvoiceID,\r\n decision60Day: appeal.TPADecision\r\n });\r\n return appeal;\r\n })\r\n }\r\n\r\n // gets appealdata record from AppealData table (via API) \r\n async getAppealDataByAppealId (appealId) {\r\n const accessToken = this.props.oktaAuth.getAccessToken();\r\n const url = (`${process.env.REACT_APP_API_BASE_URL}${process.env.REACT_APP_GET_APPEALDATA_BY_APPEALID_URL}`);\r\n await axios.get(url, {\r\n headers: {\r\n Authorization: `Bearer ${accessToken}`\r\n },\r\n params: {\r\n id: appealId\r\n }\r\n })\r\n .then(res => {\r\n const appealData = res.data;\r\n this.getAppealData(appealData);\r\n })\r\n .catch(error => {\r\n console.log(\"There was a problem with the server while getting the Appeal Data.\");\r\n console.log(\"There was a problem getting the Appeal.\", error);\r\n console.log(error.request.status);\r\n console.log({error});\r\n if (error.request.status === 0) {\r\n console.log(\"The server did not respond when trying to get the Appeal Data.\");\r\n console.log(error.toString());\r\n console.log(error.request);\r\n this.setState({\r\n title: \"SERVER ERROR !\",\r\n isError: true\r\n })\r\n this.setState(prevState => ({\r\n data: [ ...prevState.data, \r\n {\r\n id: 1, \r\n msg: \"The server did not respond when trying to get the Appeal Data.\", \r\n isChecked: false, \r\n isValid: false\r\n } \r\n ],\r\n feedback: [ ...prevState.feedback,\r\n {\r\n id: 1,\r\n msg: \"Please contact the CGPD Appeals Team at cgdpappeals@provider-resources.com for assistance.\"\r\n },\r\n {\r\n id: 2,\r\n msg: `Error Request Status: ${error.request.status}`\r\n }\r\n ]\r\n }))\r\n this.handleModalOpen();\r\n } else if (error.response.status === 404) {\r\n console.log(\"The server could not find the Appeal in the database.\");\r\n console.log({error});\r\n console.log(error.toString());\r\n console.log(error.response.status);\r\n this.setState({\r\n title: \"SERVER ERROR !\",\r\n isError: true\r\n })\r\n this.setState(prevState => ({\r\n data: [ ...prevState.data, \r\n {\r\n id: 1, \r\n msg: \"The server could not find the Appeal in the database.\", \r\n isChecked: false, \r\n isValid: false\r\n } \r\n ],\r\n feedback: [ ...prevState.feedback,\r\n {\r\n id: 1,\r\n msg: \"Please contact the CGPD Appeals Team at cgdpappeals@provider-resources.com for assistance.\"\r\n },\r\n {\r\n id: 2,\r\n msg: `${error.response.data.title}. Error Response Status: ${error.response.status}`\r\n }\r\n ]\r\n }))\r\n this.handleModalOpen();\r\n } else if (error.response.status === 500) {\r\n console.log(\"There was a server error while getting the Appeal Data.\");\r\n console.log({error});\r\n console.log(error.toString());\r\n console.log(error.response.status);\r\n this.setState({\r\n title: \"SERVER ERROR !\",\r\n isError: true\r\n })\r\n this.setState(prevState => ({\r\n data: [ ...prevState.data, \r\n {\r\n id: 1, \r\n msg: \"There was a server error while getting the Appeal Data.\", \r\n isChecked: false, \r\n isValid: false\r\n } \r\n ],\r\n feedback: [ ...prevState.feedback,\r\n {\r\n id: 1,\r\n msg: \"Please contact the CGPD Appeals Team at cgdpappeals@provider-resources.com for assistance.\"\r\n },\r\n {\r\n id: 2,\r\n msg: `${error.response.data.title}. Error Response Status: ${error.response.status}`\r\n }\r\n ]\r\n }))\r\n this.handleModalOpen();\r\n } else {\r\n console.log(\"There was an unknown problem with getting the Appeal Data.\");\r\n console.log({error});\r\n console.log(error.toString());\r\n console.log(error.response.status);\r\n this.setState({\r\n title: \"SERVER ERROR !\",\r\n isError: true\r\n })\r\n this.setState(prevState => ({\r\n data: [ ...prevState.data, \r\n {\r\n id: 1, \r\n msg: \"There was an unknown problem with getting the Appeal Data..\", \r\n isChecked: false, \r\n isValid: false\r\n } \r\n ],\r\n feedback: [ ...prevState.feedback,\r\n {\r\n id: 1,\r\n msg: \"Please contact the CGPD Appeals Team at cgdpappeals@provider-resources.com for assistance.\"\r\n },\r\n {\r\n id: 2,\r\n msg: `${error.response.data.title}. Error Response Status: ${error.response.status}`\r\n }\r\n ]\r\n }))\r\n this.handleModalOpen();\r\n }\r\n });\r\n }\r\n\r\n // update state from returned appeal data from getAppealDataByAppealId\r\n getAppealData(appealData) {\r\n appealData.map((appeal) => {\r\n this.setState({\r\n referenceNumber: appeal.RefNumber,\r\n resolutionCode: appeal.DisputeResolutionCode,\r\n amountInvoicedControl: appeal.AmtInvoiced,\r\n amountAppealedControl: appeal.AmtDispute,\r\n ireReasonCode: appeal.AppealReasonCode,\r\n explanationIreRequest: appeal.Explanation,\r\n disputeDate: new Date(appeal.DateDispute),\r\n tpaDecisionDate: new Date(appeal.DateDecision)\r\n });\r\n return appeal;\r\n })\r\n }\r\n\r\n // set state for Appeal Files array\r\n getAppealFiles(data) {\r\n this.setState({\r\n appealFiles: data\r\n });\r\n }\r\n\r\n // get appeal files from database (via API) and display in table\r\n async renderTableData() {\r\n this.setState({\r\n loading: true\r\n });\r\n const accessToken = this.props.oktaAuth.getAccessToken();\r\n const url = (`${process.env.REACT_APP_API_BASE_URL}${process.env.REACT_APP_GET_APPEAL_FILES_BASE_URL}`);\r\n await axios.get(url, {\r\n headers: {\r\n Authorization: `Bearer ${accessToken}`\r\n },\r\n params: {\r\n appealId: this.state.appealId\r\n }\r\n })\r\n .then (res => {\r\n this.setState({\r\n loading: false,\r\n appealFiles: res.data\r\n });\r\n // refresh table data after add/delete file\r\n this.getAppealFiles(res.data);\r\n })\r\n .catch(error => {\r\n console.log(\"There was a problem with the server while getting the Appeal Files.\");\r\n console.log(\"There was a problem getting the Appeal Files.\", error);\r\n console.log(error.request.status);\r\n console.log({error});\r\n if (error.request.status === 0) {\r\n console.log(\"The server did not respond when getting the Appeal Files.\");\r\n console.log(error.toString());\r\n console.log(error.request);\r\n this.setState({\r\n loading: false,\r\n message: \"The server did not respond when getting the Appeal Files.\",\r\n variant: \"danger\"\r\n });\r\n } else if (error.response.status === 500) {\r\n console.log(\"There was a server error while getting the Appeal Files.\");\r\n console.log({error});\r\n console.log(error.toString());\r\n console.log(error.response.status);\r\n this.setState({\r\n loading: false,\r\n message: \"There was a server error while getting the Appeal Files.\",\r\n variant: \"danger\"\r\n });\r\n } else {\r\n console.log(\"There was an unknown problem with getting the Appeal Files.\");\r\n console.log({error});\r\n console.log(error.toString());\r\n console.log(error.response.status);\r\n this.setState({\r\n loading: false,\r\n message: \"There was an unknown problem with getting the Appeal Files.\",\r\n variant: \"danger\"\r\n });\r\n }\r\n });\r\n }\r\n\r\n // gets the appeal stage from the database (via API)\r\n async getAppealStage(appealId) {\r\n const accessToken = this.props.oktaAuth.getAccessToken();\r\n const url = (`${process.env.REACT_APP_API_BASE_URL}${process.env.REACT_APP_GET_APPEAL_STAGE_URL}`);\r\n await axios.get(url, {\r\n headers: {\r\n Authorization: `Bearer ${accessToken}`\r\n },\r\n params: {\r\n id: appealId\r\n }\r\n })\r\n .then(res => {\r\n const appealStage = res.data;\r\n appealStage.map((stage) => {\r\n this.setState({\r\n stage: stage.Stage\r\n });\r\n return stage.Stage;\r\n })\r\n })\r\n .catch(error => {\r\n console.log(\"There was a problem with the server while getting the Appeal Stage.\");\r\n console.log(\"There was a problem getting the Appeal.\", error);\r\n console.log(error.request.status);\r\n console.log({error});\r\n if (error.request.status === 0) {\r\n console.log(\"The server did not respond when trying to get the Appeal Stage.\");\r\n console.log(error.toString());\r\n console.log(error.request);\r\n this.setState({\r\n title: \"SERVER ERROR !\",\r\n isError: true\r\n })\r\n this.setState(prevState => ({\r\n data: [ ...prevState.data, \r\n {\r\n id: 1, \r\n msg: \"The server did not respond when trying to get the Appeal Stage.\", \r\n isChecked: false, \r\n isValid: false\r\n } \r\n ],\r\n feedback: [ ...prevState.feedback,\r\n {\r\n id: 1,\r\n msg: \"Please contact the CGPD Appeals Team at cgdpappeals@provider-resources.com for assistance.\"\r\n },\r\n {\r\n id: 2,\r\n msg: `Error Request Status: ${error.request.status}`\r\n }\r\n ]\r\n }))\r\n this.handleModalOpen();\r\n } else if (error.response.status === 404) {\r\n console.log(\"The server could not find the Appeal in the database.\");\r\n console.log({error});\r\n console.log(error.toString());\r\n console.log(error.response.status);\r\n this.setState({\r\n title: \"SERVER ERROR !\",\r\n isError: true\r\n })\r\n this.setState(prevState => ({\r\n data: [ ...prevState.data, \r\n {\r\n id: 1, \r\n msg: \"The server could not find the Appeal in the database.\", \r\n isChecked: false, \r\n isValid: false\r\n } \r\n ],\r\n feedback: [ ...prevState.feedback,\r\n {\r\n id: 1,\r\n msg: \"Please contact the CGPD Appeals Team at cgdpappeals@provider-resources.com for assistance.\"\r\n },\r\n {\r\n id: 2,\r\n msg: `${error.response.data.title}. Error Response Status: ${error.response.status}`\r\n }\r\n ]\r\n }))\r\n this.handleModalOpen();\r\n } else if (error.response.status === 500) {\r\n console.log(\"There was a server error while getting the Appeal Stage.\");\r\n console.log({error});\r\n console.log(error.toString());\r\n console.log(error.response.status);\r\n this.setState({\r\n title: \"SERVER ERROR !\",\r\n isError: true\r\n })\r\n this.setState(prevState => ({\r\n data: [ ...prevState.data, \r\n {\r\n id: 1, \r\n msg: \"There was a server error while getting the Appeal Stage.\", \r\n isChecked: false, \r\n isValid: false\r\n } \r\n ],\r\n feedback: [ ...prevState.feedback,\r\n {\r\n id: 1,\r\n msg: \"Please contact the CGPD Appeals Team at cgdpappeals@provider-resources.com for assistance.\"\r\n },\r\n {\r\n id: 2,\r\n msg: `${error.response.data.title}. Error Response Status: ${error.response.status}`\r\n }\r\n ]\r\n }))\r\n this.handleModalOpen();\r\n } else {\r\n console.log(\"There was an unknown problem with getting the Appeal Stage.\");\r\n console.log({error});\r\n console.log(error.toString());\r\n console.log(error.response.status);\r\n this.setState({\r\n title: \"SERVER ERROR !\",\r\n isError: true\r\n })\r\n this.setState(prevState => ({\r\n data: [ ...prevState.data, \r\n {\r\n id: 1, \r\n msg: \"There was an unknown problem with getting the Appeal Stage.\", \r\n isChecked: false, \r\n isValid: false\r\n } \r\n ],\r\n feedback: [ ...prevState.feedback,\r\n {\r\n id: 1,\r\n msg: \"Please contact the CGPD Appeals Team at cgdpappeals@provider-resources.com for assistance.\"\r\n },\r\n {\r\n id: 2,\r\n msg: `${error.response.data.title}. Error Response Status: ${error.response.status}`\r\n }\r\n ]\r\n }))\r\n this.handleModalOpen();\r\n }\r\n });\r\n }\r\n\r\n // encoding for the textarea form field\r\n encodeTextArea() {\r\n const value = this.state.explanationIreRequest;\r\n const p = document.createElement(\"p\");\r\n p.textContent = value;\r\n const encodedValue = p.innerHTML;\r\n return encodedValue;\r\n }\r\n\r\n // handle calendar control values on date form fields\r\n handleDisputeDateChange = disputeDate => this.setState({disputeDate})\r\n handleTpaDecisionDateChange = tpaDecisionDate => this.setState({tpaDecisionDate})\r\n\r\n render() {\r\n // create objects for passing state values to child components\r\n const contactReview = {\r\n appealId: this.state.appealId,\r\n manufacturerName: this.state.manufacturerName,\r\n pNumber: this.state.pNumber,\r\n submitterName: this.state.submitterName,\r\n submitterEmail: this.state.submitterEmail,\r\n submitterPhone: this.state.submitterPhone,\r\n altName: this.state.altName,\r\n altEmail: this.state.altEmail,\r\n altPhone: this.state.altPhone,\r\n invoiceReportId: this.state.invoiceReportId,\r\n decision60Day: this.state.decision60Day\r\n }\r\n\r\n const appealDataReview = {\r\n invoiceReportId: this.state.invoiceReportId,\r\n referenceNumber: this.state.referenceNumber,\r\n decision60Day: this.state.decision60Day,\r\n disputeDate: this.state.disputeDate,\r\n tpaDecisionDate: this.state.tpaDecisionDate,\r\n resolutionCode: this.state.resolutionCode,\r\n ireReasonCode: this.state.ireReasonCode,\r\n explanationIreRequest: this.state.explanationIreRequest,\r\n amountInvoicedControl: this.state.amountInvoicedControl,\r\n amountAppealedControl: this.state.amountAppealedControl\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\r\n \r\n\r\n \r\n )\r\n }\r\n});","import moment from \"moment\";\r\n\r\n// defines the columns for the Request Message Table\r\nexport const COLUMNS = [\r\n {\r\n Header: 'Appeal ID',\r\n accessor: 'AppealID',\r\n },\r\n {\r\n Header: 'Appeal Date',\r\n accessor: 'AppealDate',\r\n Cell: ({value}) => {return (moment(new Date(value)).format(\"YYYY-MM-DD\"))} \r\n },\r\n {\r\n Header: 'Invoice ID',\r\n accessor: 'InvoiceID'\r\n },\r\n {\r\n Header: 'Due Date',\r\n accessor: 'DueDate',\r\n // force returning a blank string for a null date so app doesn't crash on render\r\n Cell: ({value}) => {\r\n if (value === null) {\r\n return \"\"\r\n }\r\n return (moment(new Date(value)).format(\"YYYY-MM-DD\"))\r\n }\r\n },\r\n {\r\n Header: 'Request Subject',\r\n accessor: 'RequestSubject'\r\n },\r\n\r\n]","import React, { useMemo, useState } from 'react';\r\nimport { useOktaAuth } from '@okta/okta-react';\r\nimport axios from 'axios';\r\nimport { useTable, useSortBy, useGlobalFilter, useFilters, usePagination } from 'react-table';\r\nimport { COLUMNS } from './RMTColumns';\r\nimport { GlobalFilter } from '../admin/viewallappeals/GlobalFilter';\r\nimport { ColumnFilter } from '../admin/viewallappeals/ColumnFilter';\r\nimport Alert from '../submitanewappeal/fileupload/AlertMessage';\r\nimport ArrownUp from '../../images/arrow-up-square.svg';\r\nimport ArrowDown from '../../images/arrow-down-square.svg';\r\nimport './RespondToRequestForAdditionalInfo.css';\r\n\r\nexport const RequestMessageTable = (props) => {\r\n const { authState, oktaAuth } = useOktaAuth();\r\n const [loadingData, setLoadingData] = useState(true);\r\n const [data, setData] = useState([]);\r\n const [message, setMessage] = useState(\"\");\r\n const [variant, setVariant] = useState(\"info\");\r\n\r\n function getMessageId (messageId, appealId) {\r\n props.setMessageId(messageId, appealId);\r\n }\r\n\r\n // use useMemo to make sure data is not recreated on every render\r\n const columns = useMemo(() => COLUMNS, []);\r\n const defaultColumn = useMemo(() => {\r\n return {\r\n Filter: ColumnFilter\r\n }\r\n }, []);\r\n\r\n useMemo(() => {\r\n if (!authState || !authState.isAuthenticated) {\r\n setData([]);\r\n } else {\r\n async function getData() {\r\n const accessToken = oktaAuth.getAccessToken();\r\n const url = (`${process.env.REACT_APP_API_BASE_URL}${process.env.REACT_APP_GET_APPEAL_REQUEST_MESSAGES_URL}`);\r\n await axios\r\n .get(url, {\r\n headers: {\r\n Authorization: `Bearer ${accessToken}`\r\n },\r\n // params: {\r\n // username: props.submitter\r\n // }\r\n })\r\n .then((response) => {\r\n setData(response.data);\r\n setLoadingData(false);\r\n })\r\n .catch(error => {\r\n console.log(\"There was a problem with the server while getting the Appeal Request Messages.\");\r\n console.log(\"There was a problem getting the Appeal Request Messages.\", error);\r\n console.log(error.request.status);\r\n console.log({error});\r\n if (error.request.status === 0) {\r\n console.log(\"The server did not respond when trying to get the Appeal Request Messages due to an invalid request format.\");\r\n console.log(error.toString());\r\n console.log(error.request);\r\n setMessage('The server did not respond when trying to get the Appeal Request Messages.');\r\n setVariant('danger');\r\n setLoadingData(false);\r\n } else if (error.response.status === 404) {\r\n console.log(\"The server could not find the Appeal Request Messages in the database.\");\r\n console.log({error});\r\n console.log(error.toString());\r\n console.log(error.response.status);\r\n setMessage('The server could not find the Appeal Request Messages in the database.');\r\n setVariant('danger');\r\n setLoadingData(false);\r\n } else if (error.response.status === 500) {\r\n console.log(\"There was a server error while getting the Appeal Request Messages.\");\r\n console.log({error});\r\n console.log(error.toString());\r\n console.log(error.response.status);\r\n setMessage('There was a server error while getting the Appeal Request Messages.');\r\n setVariant('danger');\r\n setLoadingData(false);\r\n } else {\r\n console.log(\"There was an unknown problem with getting the Appeal Request Messages.\");\r\n console.log({error});\r\n console.log(error.toString());\r\n console.log(error.response.status);\r\n setMessage('There was an unknown problem with getting the Appeal Request Messages.');\r\n setVariant('danger');\r\n setLoadingData(false);\r\n }\r\n });\r\n }\r\n if (loadingData) {\r\n getData();\r\n }\r\n }\r\n }, [loadingData, authState, oktaAuth]);\r\n\r\n const {\r\n getTableProps,\r\n getTableBodyProps,\r\n headerGroups,\r\n page,\r\n nextPage,\r\n previousPage,\r\n canNextPage,\r\n canPreviousPage,\r\n pageOptions,\r\n gotoPage,\r\n pageCount,\r\n setPageSize,\r\n state,\r\n prepareRow,\r\n setGlobalFilter\r\n } = useTable({\r\n columns,\r\n data,\r\n defaultColumn\r\n },\r\n useFilters,\r\n useGlobalFilter,\r\n useSortBy,\r\n usePagination)\r\n\r\n const { globalFilter, pageIndex, pageSize } = state\r\n const generateSortingIndicator = column => {\r\n return column.isSorted ? (column.isSortedDesc ? \"Square : \"Square) : \"\"\r\n }\r\n\r\n return (\r\n
\r\n
\r\n
Coverage Gap Discount Program - Appeals List
\r\n

For assistance or questions regarding this website please e-mail: cgdpappeals@provider-resources.com


\r\n
\r\n
\r\n \r\n
\r\n
\r\n {loadingData ? (

Loading. Please wait...

) :(\r\n \r\n \r\n {headerGroups.map((headerGroup) => (\r\n \r\n {headerGroup.headers.map( column => (\r\n \r\n ))}\r\n \r\n ))}\r\n \r\n {message ? : null}\r\n {page.length === 0 && !message && }\r\n \r\n {page.map((row) => {\r\n prepareRow(row)\r\n return (\r\n getMessageId(row.original.MessageID, row.original.AppealID),\r\n style: {\r\n cursor: 'pointer'\r\n }\r\n })}>\r\n {row.cells.map((cell) => {\r\n return \r\n })}\r\n \r\n )\r\n })}\r\n \r\n
\r\n
\r\n {column.render('Header')}\r\n {generateSortingIndicator(column)}\r\n
\r\n
{column.canFilter ? column.render('Filter') : null}
\r\n
You have no request messages
{cell.render('Cell')}
\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 Go to page: {''}\r\n {\r\n const pageNumber = e.target.value ? Number(e.target.value) - 1 : 0\r\n gotoPage(pageNumber)\r\n }}\r\n style={{ width: \"50px\" }}\r\n />\r\n \r\n \r\n \r\n\r\n \r\n
\r\n
\r\n \r\n Page{' '}\r\n \r\n {pageIndex + 1} of {pageOptions.length}\r\n {' '}\r\n \r\n
\r\n
\r\n
\r\n
\r\n )\r\n}\r\n","import React, { Component } from 'react';\r\nimport { withOktaAuth } from '@okta/okta-react';\r\nimport { Row, Col, Form, Button } from 'react-bootstrap';\r\nimport Alert from 'react-bootstrap/Alert';\r\nimport moment from 'moment';\r\nimport { BallTriangle } from 'react-loader-spinner';\r\nimport FileUploader from '../submitanewappeal/fileupload/FileUploadForm';\r\nimport './ManufMessageCenter.css';\r\n\r\nexport default withOktaAuth(class ManufMessageCenter extends Component {\r\n constructor(props) {\r\n super(props);\r\n this.state = {\r\n validated: false\r\n };\r\n this.handleValidation = this.handleValidation.bind(this);\r\n this.getFooter = this.getFooter.bind(this);\r\n }\r\n\r\n // handle form field validations - all fields must pass validation before state changed to true and form submits\r\n handleValidation(event) {\r\n const form = event.currentTarget;\r\n \r\n if(form.checkValidity() === false) {\r\n event.preventDefault();\r\n event.stopPropagation();\r\n }\r\n this.setState({\r\n validated: true\r\n });\r\n event.preventDefault();\r\n if(form.checkValidity() === true) {\r\n // on validation send response message from parent component\r\n this.props.sendResponseMessage();\r\n }\r\n }\r\n\r\n // load footer based on parent component state\r\n // if loading, show spinner\r\n // if there is a message passed, show Alert\r\n // otherwise show the buttons\r\n getFooter() {\r\n let footer;\r\n if (this.props.loading) {\r\n footer = \r\n } else if (this.props.msg) {\r\n footer =
\r\n {this.props.msg}\r\n
\r\n
\r\n \r\n
\r\n
\r\n
\r\n } else {\r\n footer =
\r\n \r\n \r\n
\r\n }\r\n return footer;\r\n }\r\n\r\n render() {\r\n \r\n return (\r\n
\r\n
\r\n
Coverage Gap Discount Program - Message Center
\r\n

For assistance or questions regarding this website please e-mail: cgdpappeals@provider-resources.com

\r\n \r\n Instructions:\r\n
    \r\n
  1. Read the Request Message Details
  2. \r\n
  3. Upload any additional files (if needed)
  4. \r\n
  5. Send a response to let the CGDP Team know you have sent the requested information
  6. \r\n
\r\n
\r\n
\r\n
\r\n
Appeal ID: {this.props.appealId}
\r\n
\r\n
\r\n \r\n \r\n
\r\n
1. Message Details
\r\n\r\n \r\n \r\n Request Date:\r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n Submitted To:\r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n Copy To:\r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n Request Subject:\r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n Request Message:\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n
\r\n \r\n \r\n
\r\n
3. Send a Response
\r\n \r\n \r\n Response Date:\r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n Send To:\r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n New Files Uploaded?\r\n \r\n \r\n 0 ?\r\n 'Yes' : 'No'}\r\n readOnly\r\n />\r\n \r\n \r\n\r\n \r\n \r\n Response Subject:\r\n \r\n \r\n this.props.handleChange('responseSubject', e.target.value)}\r\n />\r\n \r\n Please enter a subject for the message request. Subject is required.\r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n Response Message:\r\n \r\n \r\n \r\n this.props.handleChange('responseMessage', e.target.value)}\r\n row={4}\r\n />\r\n \r\n Please enter a response message. This field is required.\r\n \r\n \r\n \r\n \r\n {this.getFooter()}\r\n
\r\n \r\n
\r\n
\r\n \r\n \r\n
2. Upload Additional Files
\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, { Component } from 'react';\r\nimport { withOktaAuth } from '@okta/okta-react';\r\nimport axios from 'axios';\r\nimport Tabs from 'react-bootstrap/Tabs';\r\nimport Tab from 'react-bootstrap/Tab';\r\nimport moment from 'moment';\r\nimport { RequestMessageTable } from './RequestMessageTable';\r\nimport ManufMessageCenter from './ManufMessageCenter';\r\nimport './RespondToRequestForAdditionalInfo.css';\r\n\r\nexport default withOktaAuth(class RespondToRequestForAdditionalInfo extends Component {\r\n constructor(props) {\r\n super(props);\r\n this.state = {\r\n submitter: sessionStorage.getItem('username'),\r\n eventKey: \"requestTable\",\r\n appealId: \"\",\r\n messageId: \"\",\r\n requestedDate: \"\",\r\n submittedTo: \"\",\r\n copyTo: \"\",\r\n requestSubject: \"\",\r\n requestMessage: \"\",\r\n responseDate: \"\",\r\n responseTo: \"\",\r\n responseSubject: \"\",\r\n responseMessage: \"\",\r\n messageStatus: \"\",\r\n filesUploaded: false,\r\n appealFiles: [],\r\n fileCount: -1,\r\n msg: \"\",\r\n variant: \"\",\r\n loading: false,\r\n showAlert: false,\r\n fileLoading: false,\r\n fileMessage: \"\",\r\n fileVariant: \"\"\r\n };\r\n this.handleSelect = this.handleSelect.bind(this);\r\n this.setMessageId = this.setMessageId.bind(this);\r\n this.renderTableData = this.renderTableData.bind(this);\r\n this.getAppealMessage = this.getAppealMessage.bind(this);\r\n this.handleChange = this.handleChange.bind(this);\r\n this.encodeSubjectTextArea = this.encodeSubjectTextArea.bind(this);\r\n this.encodeMessageTextArea = this.encodeMessageTextArea.bind(this);\r\n this.sendResponseMessage = this.sendResponseMessage.bind(this);\r\n this.sendResponseMessageEmail = this.sendResponseMessageEmail.bind(this);\r\n this.handleAlertClose = this.handleAlertClose.bind(this);\r\n this.getManufacturerName = this.getManufacturerName.bind(this);\r\n this.logout = this.logout.bind(this);\r\n this.checkSession = this.checkSession.bind(this);\r\n }\r\n\r\n // On page load check if user is authenticated\r\n // If authenticated get username and group memberships and place in session storage\r\n componentDidMount() {\r\n if (this.props.authState?.isAuthenticated) {\r\n this.checkSession();\r\n }\r\n }\r\n\r\n // On page update/reload check if user is authenticated\r\n // If authenticated get username and group memberships and place in session storage\r\n componentDidUpdate() {\r\n if (this.props.authState?.isAuthenticated) {\r\n this.checkSession();\r\n }\r\n }\r\n\r\n // handle logout from Okta and clear session storage\r\n async logout() {\r\n await this.props.oktaAuth.signOut();\r\n sessionStorage.removeItem(\"username\");\r\n sessionStorage.removeItem(\"group\");\r\n }\r\n\r\n // Check to see if the user has a valid Okta session\r\n // if no Okta session is found, log user out\r\n async checkSession() {\r\n const url = process.env.REACT_APP_OKTA_SESSION;\r\n await axios.get(url, {\r\n withCredentials: true\r\n })\r\n .then(res => {\r\n // console.log(\"Session Found in Respond to Request for Information.\");\r\n // console.log(res.data)\r\n })\r\n .catch(err => {\r\n console.log(\"No session found in Respond to Request for Information\");\r\n console.error(err);\r\n this.logout();\r\n })\r\n }\r\n\r\n // handle tab select; each tab passes and eventKey which updates state and displays content for that tab\r\n handleSelect(eventKey) {\r\n switch(eventKey) {\r\n case \"requestTable\":\r\n this.setState({\r\n eventKey: eventKey\r\n });\r\n window.location.reload();\r\n break;\r\n case \"requestDetails\":\r\n this.setState({\r\n eventKey: eventKey\r\n });\r\n break;\r\n default:\r\n break;\r\n }\r\n }\r\n\r\n // handle form field updates from RequestInformationModal form\r\n handleChange(target, value) {\r\n this.setState({\r\n [target]: value\r\n });\r\n }\r\n\r\n // encoding for the subject text form field\r\n encodeSubjectTextArea() {\r\n const subject = this.state.responseSubject;\r\n const p = document.createElement(\"p\");\r\n p.textContent = subject;\r\n const encodedSubject = p.innerHTML;\r\n return encodedSubject;\r\n }\r\n\r\n // encoding for the message body textarea form field\r\n encodeMessageTextArea() {\r\n const message = this.state.responseMessage;\r\n const p = document.createElement(\"p\");\r\n p.textContent = message;\r\n const encodedMessage = p.innerHTML;\r\n return encodedMessage;\r\n }\r\n\r\n // gets message id and appeal id from Request Message Table on row click and opens the Appeal Message\r\n setMessageId(messageId, appealId) {\r\n this.setState({\r\n messageId: messageId,\r\n appealId: appealId\r\n }, () => {\r\n this.renderTableData();\r\n this.getAppealMessage();\r\n this.handleSelect('requestDetails');\r\n });\r\n }\r\n\r\n // get appeal files from the database (via API) and displays them in table\r\n async renderTableData() {\r\n this.setState({\r\n fileLoading: true\r\n });\r\n const accessToken = this.props.oktaAuth.getAccessToken();\r\n const url = (`${process.env.REACT_APP_API_BASE_URL}${process.env.REACT_APP_GET_APPEAL_FILES_BASE_URL}`);\r\n await axios.get(url, {\r\n headers: {\r\n Authorization: `Bearer ${accessToken}`\r\n },\r\n params: {\r\n appealId: this.state.appealId\r\n }\r\n })\r\n .then (res => {\r\n this.setState({\r\n fileLoading: false,\r\n appealFiles: res.data,\r\n fileCount: this.state.fileCount + 1\r\n });\r\n })\r\n .catch(error => {\r\n console.log(\"There was a problem with the server while getting the Appeal Files.\");\r\n console.log(\"There was a problem getting the Appeal Files.\", error);\r\n console.log(error.request.status);\r\n console.log({error});\r\n if (error.request.status === 0) {\r\n console.log(\"The server did not respond when getting the Appeal Files.\");\r\n console.log(error.toString());\r\n console.log(error.request);\r\n this.setState({\r\n fileLoading: false,\r\n fileMessage: \"The server did not respond when getting the Appeal Files.\",\r\n fileVariant: \"danger\"\r\n });\r\n } else if (error.response.status === 500) {\r\n console.log(\"There was a server error while getting the Appeal Files.\");\r\n console.log({error});\r\n console.log(error.toString());\r\n console.log(error.response.status);\r\n this.setState({\r\n fileLoading: false,\r\n fileMessage: \"There was a server error while getting the Appeal Files.\",\r\n fileVariant: \"danger\"\r\n });\r\n } else {\r\n console.log(\"There was an unknown problem with getting the Appeal Files.\");\r\n console.log({error});\r\n console.log(error.toString());\r\n console.log(error.response.status);\r\n this.setState({\r\n fileLoading: false,\r\n fileMessage: \"There was an unknown problem with getting the Appeal Files.\",\r\n fileVariant: \"danger\"\r\n });\r\n }\r\n });\r\n }\r\n\r\n // gets the appeal mesage from the database (via API)\r\n async getAppealMessage () {\r\n const accessToken = this.props.oktaAuth.getAccessToken();\r\n const url = (`${process.env.REACT_APP_API_BASE_URL}${process.env.REACT_APP_GET_APPEAL_MESSAGE_BY_ID_URL}`);\r\n await axios.get(url, {\r\n headers: {\r\n Authorization: `Bearer ${accessToken}`\r\n },\r\n params: {\r\n appealId: this.state.appealId,\r\n messageId: this.state.messageId\r\n }\r\n })\r\n .then(res => {\r\n const appealMessage = res.data;\r\n appealMessage.map((message) => {\r\n this.setState({\r\n requestedDate: message.RequestedDate,\r\n submittedTo: message.SubmittedTo,\r\n copyTo: message.CopyTo,\r\n requestSubject: message.RequestSubject,\r\n requestMessage: message.RequestMessage\r\n });\r\n return message;\r\n })\r\n })\r\n .catch(error => {\r\n console.log(\"There was a problem with the server while getting the Appeal Message.\");\r\n console.log(\"There was a problem getting the Appeal Message.\", error);\r\n console.log(error.request.status);\r\n console.log({error});\r\n if (error.request.status === 0) {\r\n console.log(\"The server did not respond when getting the Appeal Message.\");\r\n console.log(error.toString());\r\n console.log(error.request);\r\n this.setState({\r\n loading: false,\r\n msg: \"The server did not respond when getting the Appeal Message.\",\r\n variant: \"danger\",\r\n showAlert: true\r\n });\r\n } else if (error.response.status === 404) {\r\n console.log(\"The server could not find the Appeal in the database.\");\r\n console.log({error});\r\n console.log(error.toString());\r\n console.log(error.response.status);\r\n this.setState({\r\n loading: false,\r\n msg: \"The server could not find the Appeal in the database.\",\r\n variant: \"danger\",\r\n showAlert: true\r\n });\r\n } else if (error.response.status === 500) {\r\n console.log(\"There was a server error while getting the Appeal Message.\");\r\n console.log({error});\r\n console.log(error.toString());\r\n console.log(error.response.status);\r\n this.setState({\r\n loading: false,\r\n msg: \"There was a server error while getting the Appeal Message.\",\r\n variant: \"danger\",\r\n showAlert: true\r\n });\r\n } else {\r\n console.log(\"There was an unknown problem with getting the Appeal Message.\");\r\n console.log({error});\r\n console.log(error.toString());\r\n console.log(error.response.status);\r\n this.setState({\r\n loading: false,\r\n msg: \"There was an unknown problem with getting the Appeal Message.\",\r\n variant: \"danger\",\r\n showAlert: true\r\n });\r\n }\r\n });\r\n }\r\n\r\n handleAlertClose = () => {\r\n this.setState({\r\n showAlert: false,\r\n msg: \"\",\r\n variant: \"\",\r\n loading: false\r\n });\r\n this.handleSelect('requestTable');\r\n }\r\n\r\n // updates Appeal Message with response in database (via API)\r\n // if successful calls sendResponseMessageEmail function\r\n async sendResponseMessage() {\r\n this.setState({ loading: true })\r\n let filesUploaded = false;\r\n if (this.state.fileCount > 0) {\r\n filesUploaded = true;\r\n }\r\n const encodedSubject = this.encodeSubjectTextArea();\r\n const encodedBody = this.encodeMessageTextArea();\r\n const responseDate = moment().format('YYYY-MM-DD hh:mm:ss a');\r\n const status = \"Responded\"\r\n const toEmail = process.env.REACT_APP_RESPONSE_TO;\r\n const accessToken = this.props.oktaAuth.getAccessToken();\r\n const url = (`${process.env.REACT_APP_API_BASE_URL}${process.env.REACT_APP_ADD_APPEAL_RESPONSE_MESSAGE_URL}`);\r\n await axios.put(url, {\r\n AppealID: this.state.appealId,\r\n MessageID: this.state.messageId,\r\n ResponseDate: responseDate,\r\n ResponseTo: toEmail,\r\n ResponseSubject: encodedSubject,\r\n ResponseMessage: encodedBody,\r\n MessageStatus: status,\r\n FilesUploaded: filesUploaded\r\n }, {\r\n headers: {\r\n Authorization: `Bearer ${accessToken}`\r\n }\r\n })\r\n .then((res) => {\r\n this.sendResponseMessageEmail();\r\n })\r\n .catch(error => {\r\n console.log(\"There was a problem with the server while updating the Appeal Message record with the response.\");\r\n console.log(\"There was a problem updating the Appeal Message record with the response.\", error);\r\n console.log(error.request.status);\r\n console.log({error});\r\n if (error.request.status === 0) {\r\n console.log(\"The server did not respond when trying to update the Appeal Message record with the response.\");\r\n console.log(error.toString());\r\n console.log(error.request);\r\n this.setState({\r\n loading: false,\r\n msg: \"The server did not respond when trying to update the Appeal Message record with the response.\",\r\n variant: \"danger\",\r\n showAlert: true\r\n });\r\n } else if (error.response.status === 404) {\r\n console.log(\"The server could not find the Appeal Request Message in the database.\");\r\n console.log({error});\r\n console.log(error.toString());\r\n console.log(error.response.status);\r\n this.setState({\r\n loading: false,\r\n msg: \"The server could not find the Appeal Request Message in the database.\",\r\n variant: \"danger\",\r\n showAlert: true\r\n });\r\n } else if (error.response.status === 500) {\r\n console.log(\"There was a server error while updating the Appeal Message record with the response.\");\r\n console.log({error});\r\n console.log(error.toString());\r\n console.log(error.response.status);\r\n this.setState({\r\n loading: false,\r\n msg: \"There was a server error while updating the Appeal Message record with the response.\",\r\n variant: \"danger\",\r\n showAlert: true\r\n });\r\n } else {\r\n console.log(\"There was an unknown problem with updating the Appeal Message record with the response.\");\r\n console.log({error});\r\n console.log(error.toString());\r\n console.log(error.response.status);\r\n this.setState({\r\n loading: false,\r\n msg: \"There was an unknown problem with updating the Appeal Message record with the response.\",\r\n variant: \"danger\",\r\n showAlert: true\r\n });\r\n }\r\n });\r\n }\r\n\r\n // gets manufacturer name from database (via API) to include in response notification email\r\n async getManufacturerName() {\r\n const accessToken = this.props.oktaAuth.getAccessToken();\r\n const url = (`${process.env.REACT_APP_API_BASE_URL}${process.env.REACT_APP_GET_MANUFACTURER_NAME_URL}`);\r\n await axios.get(url, {\r\n headers: {\r\n Authorization: `Bearer ${accessToken}`\r\n },\r\n params: {\r\n id: this.state.appealId\r\n }\r\n })\r\n .then((res) => {\r\n const manufacturer = res.data;\r\n manufacturer.map((name) => {\r\n const manufacturerName = name.ManufacturerName;\r\n return manufacturerName;\r\n })\r\n })\r\n .catch(error => {\r\n console.log(\"There was a problem with the server while getting the Manufacturer Name.\");\r\n console.log(\"There was a problem getting the Manufacturer Name.\", error);\r\n console.log(error.request.status);\r\n console.log({error});\r\n if (error.request.status === 0) {\r\n console.log(\"The server did not respond when getting the Manufacturer Name.\");\r\n console.log(error.toString());\r\n console.log(error.request);\r\n this.setState({\r\n loading: false,\r\n msg: \"The server did not respond when getting the Manufacturer Name.\",\r\n variant: \"danger\",\r\n showAlert: true\r\n });\r\n } else if (error.response.status === 404) {\r\n console.log(\"The server could not find the Appeal in the database.\");\r\n console.log({error});\r\n console.log(error.toString());\r\n console.log(error.response.status);\r\n this.setState({\r\n loading: false,\r\n msg: \"The server could not find the Appeal in the database.\",\r\n variant: \"danger\",\r\n showAlert: true\r\n });\r\n } else if (error.response.status === 500) {\r\n console.log(\"There was a server error while getting the Manufacturer Name.\");\r\n console.log({error});\r\n console.log(error.toString());\r\n console.log(error.response.status);\r\n this.setState({\r\n loading: false,\r\n msg: \"There was a server error while getting the Manufacturer Name.\",\r\n variant: \"danger\",\r\n showAlert: true\r\n });\r\n } else {\r\n console.log(\"There was an unknown problem with getting the Manufacturer Name.\");\r\n console.log({error});\r\n console.log(error.toString());\r\n console.log(error.response.status);\r\n this.setState({\r\n loading: false,\r\n msg: \"There was an unknown problem with getting the Manufacturer Name.\",\r\n variant: \"danger\",\r\n showAlert: true\r\n });\r\n }\r\n });\r\n }\r\n\r\n // send response message email\r\n async sendResponseMessageEmail() {\r\n // compile email data\r\n const appealId = this.state.appealId;\r\n // const toEmail = this.state.responseTo;\r\n const toEmail = process.env.REACT_APP_RESPONSE_TO;\r\n const manufacturerName = this.getManufacturerName().toString();\r\n const mailRequest = {\r\n AppealId: appealId,\r\n ManufacturerName: manufacturerName,\r\n ToEmail: toEmail\r\n };\r\n // send data to API (API sends email)\r\n const accessToken = this.props.oktaAuth.getAccessToken();\r\n const url = (`${process.env.REACT_APP_API_BASE_URL}${process.env.REACT_APP_SEND_RESPONSE_MESSAGE_EMAIL_URL}`);\r\n await axios.post(url, mailRequest, {\r\n headers: {\r\n Authorization: `Bearer ${accessToken}`\r\n }\r\n })\r\n .then((res) => {\r\n this.setState({\r\n loading: false,\r\n msg: \"Response Message email sent successfully.\",\r\n variant: \"info\",\r\n showAlert: true\r\n });\r\n })\r\n .catch(error => {\r\n console.log(\"There was a problem with the server while sending the Appeal Response Message notification email.\");\r\n console.log(\"There was a problem sending the Appeal Response Message notification email.\", error);\r\n console.log(error.request.status);\r\n console.log({error});\r\n if (error.request.status === 0) {\r\n console.log(\"The server did not respond when trying to send the Appeal Response Message notification email.\");\r\n console.log(error.toString());\r\n console.log(error.request);\r\n this.setState({\r\n loading: false,\r\n msg: \"The server did not respond when trying to send the Appeal Response Message notification email.\",\r\n variant: \"danger\",\r\n showAlert: true\r\n });\r\n } else if (error.response.status === 404) {\r\n console.log(\"The server could not find the Appeal Request Message in the database.\");\r\n console.log({error});\r\n console.log(error.toString());\r\n console.log(error.response.status);\r\n this.setState({\r\n loading: false,\r\n msg: \"The server could not find the Appeal Request Message in the database.\",\r\n variant: \"danger\",\r\n showAlert: true\r\n });\r\n } else if (error.response.status === 500) {\r\n console.log(\"There was a server error while sending the Appeal Response Message notification email.\");\r\n console.log({error});\r\n console.log(error.toString());\r\n console.log(error.response.status);\r\n this.setState({\r\n loading: false,\r\n msg: \"There was a server error while sending the Appeal Response Message notification email.\",\r\n variant: \"danger\",\r\n showAlert: true\r\n });\r\n } else {\r\n console.log(\"There was an unknown problem with sending the Appeal Response Message notification email.\");\r\n console.log({error});\r\n console.log(error.toString());\r\n console.log(error.response.status);\r\n this.setState({\r\n loading: false,\r\n msg: \"There was an unknown problem with sending the Appeal Response Message notification email.\",\r\n variant: \"danger\",\r\n showAlert: true\r\n });\r\n }\r\n });\r\n this.setState({\r\n messageSubject: \"\",\r\n messageBody: \"\"\r\n });\r\n }\r\n\r\n render() {\r\n // compile data into object to send as props to Message Center\r\n const appealMessage = {\r\n requestedDate: this.state.requestedDate,\r\n submittedTo: this.state.submittedTo,\r\n copyTo: this.state.copyTo,\r\n requestSubject: this.state.requestSubject,\r\n requestMessage: this.state.requestMessage,\r\n responseTo: process.env.REACT_APP_RESPONSE_TO,\r\n responseSubject: this.state.responseSubject,\r\n responseMessage: this.state.responseMessage,\r\n messageStatus: this.state.messageStatus,\r\n filesUploaded: this.state.filesUploaded\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 \r\n )\r\n }\r\n});","import moment from 'moment';\r\n\r\n// define columns for View All Appeals dynamic table\r\nexport const COLUMNS = [\r\n {\r\n Header: 'Appeal ID',\r\n accessor: 'AppealID',\r\n },\r\n {\r\n Header: 'Appeal Date',\r\n accessor: 'AppealDate',\r\n Cell: ({value}) => {return (moment(new Date(value)).format(\"YYYY-MM-DD\"))} \r\n },\r\n {\r\n Header: 'Manufacturer Name',\r\n accessor: 'ManufacturerName'\r\n },\r\n {\r\n Header: 'Due Date',\r\n accessor: 'DueDate',\r\n // force returning a blank string for a null date so app doesn't crash on render\r\n Cell: ({value}) => {\r\n if (value === null) {\r\n return \"\"\r\n }\r\n return (moment(new Date(value)).format(\"YYYY-MM-DD\"))\r\n }\r\n },\r\n {\r\n Header: 'Stage',\r\n accessor: 'Stage'\r\n }\r\n]","export default __webpack_public_path__ + \"static/media/envelope-exclamation.e582c22b.svg\";","import React, { useMemo, useState } from 'react';\r\nimport { useOktaAuth } from '@okta/okta-react';\r\nimport axios from 'axios';\r\nimport { useTable, useSortBy, useGlobalFilter, useFilters, usePagination } from 'react-table';\r\nimport { COLUMNS } from './Columns';\r\nimport { GlobalFilter } from './GlobalFilter';\r\nimport { ColumnFilter } from './ColumnFilter';\r\nimport Alert from '../../submitanewappeal/fileupload/AlertMessage';\r\nimport ArrownUp from '../../../images/arrow-up-square.svg';\r\nimport ArrowDown from '../../../images/arrow-down-square.svg';\r\nimport Envelope from '../../../images/envelope-exclamation.svg';\r\nimport './ViewAllAppeals.css';\r\n\r\nconst ViewAllAppeals = (props) => {\r\n const { authState, oktaAuth } = useOktaAuth();\r\n const [loadingData, setLoadingData] = useState(true);\r\n const [data, setData] = useState([]);\r\n const [messageCount, setMessageCount] = useState(0);\r\n const [message, setMessage] = useState(\"\");\r\n const [variant, setVariant] = useState(\"info\");\r\n\r\n // pass appeal id captured on row click, pass to parent for opening the appeal details for selected appeal\r\n function getAppealId(appealId) {\r\n props.setAppealId(appealId);\r\n }\r\n\r\n // use useMemo to make sure data is not recreated on every render\r\n const columns = useMemo(() => COLUMNS, []);\r\n const defaultColumn = useMemo(() => {\r\n return {\r\n Filter: ColumnFilter\r\n }\r\n }, []);\r\n\r\n useMemo(() => {\r\n if (!authState || !authState.isAuthenticated) {\r\n setData([]);\r\n } else {\r\n async function getData() {\r\n const accessToken = oktaAuth.getAccessToken();\r\n const url = (`${process.env.REACT_APP_API_BASE_URL}${process.env.REACT_APP_GET_ALL_APPEALS_URL}`);\r\n await axios\r\n .get(url, {\r\n headers: {\r\n Authorization: `Bearer ${accessToken}`\r\n }\r\n })\r\n .then((response) => {\r\n setData(response.data);\r\n setLoadingData(false);\r\n })\r\n .catch(error => {\r\n console.log(\"There was a problem with the server while getting the Appeals.\");\r\n console.log(\"There was a problem getting the Appeals.\", error);\r\n console.log(error.request.status);\r\n console.log({ error });\r\n if (error.request.status === 0) {\r\n console.log(\"The server did not respond when trying to get the Appeals.\");\r\n console.log(error.toString());\r\n console.log(error.request);\r\n setMessage('The server did not respond when trying to get the Appeals.');\r\n setVariant('danger');\r\n setLoadingData(false);\r\n } else if (error.response.status === 404) {\r\n console.log(\"The server could not find the Appeals in the database.\");\r\n console.log({ error });\r\n console.log(error.toString());\r\n console.log(error.response.status);\r\n setMessage('The server could not find the Appeals in the database.');\r\n setVariant('danger');\r\n setLoadingData(false);\r\n } else if (error.response.status === 500) {\r\n console.log(\"There was a server error while getting the Appeals.\");\r\n console.log({ error });\r\n console.log(error.toString());\r\n console.log(error.response.status);\r\n setMessage('There was a server error while getting the Appeals.');\r\n setVariant('danger');\r\n setLoadingData(false);\r\n } else {\r\n console.log(\"There was an unknown problem with getting the Appeals.\");\r\n console.log({ error });\r\n console.log(error.toString());\r\n console.log(error.response.status);\r\n setMessage('There was an unknown problem with getting the Appeals.');\r\n setVariant('danger');\r\n setLoadingData(false);\r\n }\r\n });\r\n }\r\n if (loadingData) {\r\n getData();\r\n }\r\n }\r\n }, [loadingData, authState, oktaAuth]);\r\n\r\n useMemo(() => {\r\n if (!authState || !authState.isAuthenticated) {\r\n setMessageCount(0);\r\n } else {\r\n async function getRespondedMessagesCount() {\r\n const accessToken = oktaAuth.getAccessToken();\r\n const url2 = (`${process.env.REACT_APP_API_BASE_URL}${process.env.REACT_APP_GET_RESPONDED_MESSAGES_COUNT_URL}`);\r\n await axios\r\n .get(url2, {\r\n headers: {\r\n Authorization: `Bearer ${accessToken}`\r\n }\r\n })\r\n .then((response) => {\r\n setMessageCount(response.data);\r\n setLoadingData(false);\r\n })\r\n .catch(error => {\r\n console.log(\"There was a problem with the server while getting the Message Count.\");\r\n console.log(\"There was a problem getting the Message Count.\", error);\r\n console.log(error.request.status);\r\n console.log({ error });\r\n if (error.request.status === 0) {\r\n console.log(\"The server did not respond when trying to get the Message Count.\");\r\n console.log(error.toString());\r\n console.log(error.request);\r\n setMessageCount(-1);\r\n } else {\r\n console.log(\"The server encountered an error when trying to get the Message Count.\");\r\n console.log({ error });\r\n console.log(error.toString());\r\n console.log(error.response.status);\r\n setMessageCount(-1);\r\n }\r\n });\r\n }\r\n if (loadingData) {\r\n getRespondedMessagesCount();\r\n }\r\n }\r\n }, [loadingData, authState, oktaAuth]);\r\n\r\n const {\r\n getTableProps,\r\n getTableBodyProps,\r\n headerGroups,\r\n page,\r\n nextPage,\r\n previousPage,\r\n canNextPage,\r\n canPreviousPage,\r\n pageOptions,\r\n gotoPage,\r\n pageCount,\r\n setPageSize,\r\n state,\r\n prepareRow,\r\n setGlobalFilter\r\n } = useTable({\r\n columns,\r\n data,\r\n defaultColumn\r\n },\r\n useFilters,\r\n useGlobalFilter,\r\n useSortBy,\r\n usePagination)\r\n\r\n const { globalFilter, pageIndex, pageSize } = state\r\n const generateSortingIndicator = column => {\r\n return column.isSorted ? (column.isSortedDesc ? \"Square : \"Square) : \"\"\r\n }\r\n\r\n return (\r\n
\r\n
\r\n
\r\n
\r\n
Coverage Gap Discount Program Appeals Portal - Appeals List
\r\n
\r\n {/* display new messages count with envelope icon in header */}\r\n
\r\n
\r\n {/* if error getting count, show ERROR message */}\r\n {messageCount < 0 ?

ERROR! getting message count

: null}\r\n {/* if no error, but message count is 0, show count, hide envelope */}\r\n {messageCount === 0 ?

You have {messageCount} new messages

: null}\r\n {/* if messages were returned, show count and clickable envelope */}\r\n {messageCount > 0 ?\r\n <>\r\n

You have {messageCount} new messages

\r\n
\r\n {/* on envelope click, open AppealResponses page */}\r\n \r\n
\r\n : null}\r\n
\r\n
\r\n
\r\n
\r\n
\r\n \r\n
\r\n
\r\n {loadingData ? (

Loading. Please wait...

) : (\r\n \r\n \r\n {headerGroups.map((headerGroup) => (\r\n \r\n {headerGroup.headers.map(column => (\r\n \r\n ))}\r\n \r\n ))}\r\n \r\n {message ? : null}\r\n {page.length === 0 && !message && }\r\n \r\n {page.map((row) => {\r\n prepareRow(row)\r\n return (\r\n getAppealId(row.original.AppealID),\r\n style: {\r\n cursor: 'pointer'\r\n }\r\n })}>\r\n {row.cells.map((cell) => {\r\n return \r\n })}\r\n \r\n )\r\n })}\r\n \r\n
\r\n
\r\n {column.render('Header')}\r\n {generateSortingIndicator(column)}\r\n
\r\n
{column.canFilter ? column.render('Filter') : null}
\r\n
No data to display
{cell.render('Cell')}
\r\n )}\r\n
\r\n
\r\n \r\n
\r\n\r\n
\r\n gotoPage(0)}\r\n disabled={!canPreviousPage}\r\n style={{ marginRight: \"5px\" }}\r\n >{'<<'}\r\n\r\n previousPage()}\r\n disabled={!canPreviousPage}\r\n style={{ marginRight: \"15px\" }}\r\n >Previous\r\n\r\n \r\n Go to page: {''}\r\n {\r\n const pageNumber = e.target.value ? Number(e.target.value) - 1 : 0\r\n gotoPage(pageNumber)\r\n }}\r\n style={{ width: \"50px\" }}\r\n />\r\n \r\n\r\n nextPage()}\r\n disabled={!canNextPage}\r\n style={{ marginLeft: \"15px\" }}\r\n >Next\r\n\r\n gotoPage(pageCount - 1)}\r\n disabled={!canNextPage}\r\n style={{ marginLeft: \"5px\" }}\r\n >{'>>'}\r\n
\r\n
\r\n \r\n Page{' '}\r\n \r\n {pageIndex + 1} of {pageOptions.length}\r\n {' '}\r\n \r\n
\r\n\r\n
\r\n
\r\n
\r\n )\r\n}\r\n\r\nexport default ViewAllAppeals;","import React, { Component } from 'react';\r\nimport { withOktaAuth } from '@okta/okta-react';\r\nimport axios from 'axios';\r\nimport { Modal, Button, Form, Row, Col } from 'react-bootstrap';\r\nimport Alert from 'react-bootstrap/Alert';\r\nimport moment from 'moment';\r\nimport { BallTriangle } from 'react-loader-spinner';\r\n\r\nexport default withOktaAuth(class AppealMessageDetailModal extends Component {\r\n constructor(props) {\r\n super(props);\r\n this.state = {\r\n message: \"\",\r\n variant: \"info\",\r\n showAlert: false,\r\n loading: false\r\n };\r\n this.updateMessageStatus = this.updateMessageStatus.bind(this);\r\n }\r\n\r\n handleAlertClose = () => {\r\n this.setState({\r\n showAlert: false,\r\n message: \"\",\r\n variant: \"info\",\r\n loading: false\r\n });\r\n this.props.handleModalOpen();\r\n }\r\n\r\n // update Appeal Message status to Read; if successful, update Appeal Message Table\r\n async updateMessageStatus() {\r\n this.setState({\r\n loading: true\r\n });\r\n const accessToken = this.props.oktaAuth.getAccessToken();\r\n const url = (`${process.env.REACT_APP_API_BASE_URL}${process.env.REACT_APP_UPD_MESSAGE_STATUS_URL}`);\r\n await axios.put(url, {\r\n AppealID: this.props.appealId,\r\n MessageID: this.props.appealMessage.messageId,\r\n MessageStatus: \"Read\"\r\n }, {\r\n headers: {\r\n Authorization: `Bearer ${accessToken}`\r\n }\r\n })\r\n .then((response) => {\r\n this.setState({\r\n message: `The Message Status was updated successfully.`,\r\n variant: 'info',\r\n loading: false,\r\n showAlert: true\r\n });\r\n this.props.renderAppealMessagesTableData();\r\n })\r\n .catch(error => {\r\n console.log(\"There was a problem with the server while updating the Message Status.\");\r\n console.log(\"There was a problem updating the Message Status.\", error);\r\n console.log(error.request.status);\r\n console.log({error});\r\n if (error.request.status === 0) {\r\n console.log(\"The server did not respond when trying to update the Message Status.\");\r\n console.log(error.toString());\r\n console.log(error.request);\r\n this.setState({\r\n message: 'The server did not respond when trying to update the Message Status.',\r\n variant: 'danger',\r\n loading: false,\r\n showAlert: true\r\n });\r\n } else if (error.response.status === 404) {\r\n console.log(\"The Appeal ID was not found in the database.\");\r\n console.log({error});\r\n console.log(error.toString());\r\n console.log(error.response.status);\r\n this.setState({\r\n message: 'The Appeal ID was not found in the database.',\r\n variant: 'danger',\r\n loading: false,\r\n showAlert: true\r\n });\r\n } else if (error.response.status === 500) {\r\n console.log(\"There was a server error while updating the Message Status.\");\r\n console.log({error});\r\n console.log(error.toString());\r\n console.log(error.response.status);\r\n this.setState({\r\n message: 'There was a server error while updating the Message Status.',\r\n variant: 'danger',\r\n loading: false,\r\n showAlert: true\r\n });\r\n } else {\r\n console.log(\"There was an unknown problem with updating the Message Status.\");\r\n console.log({error});\r\n console.log(error.toString());\r\n console.log(error.response.status);\r\n this.setState({\r\n message: 'There was an unknown problem with updating the Message Status.',\r\n variant: 'danger',\r\n loading: false,\r\n showAlert: true\r\n });\r\n }\r\n });\r\n }\r\n\r\n // if loading, display spinner\r\n // else if there is an Alert message in state, display the Alert\r\n // else if the message has a status of \"Responded\" passed from props, show Mark as Read and Close buttons\r\n // else only show Close button\r\n getModalFooter() {\r\n let footer;\r\n if (this.state.loading) {\r\n footer = \r\n } else if (this.state.message) {\r\n footer = \r\n {this.state.message}\r\n
\r\n
\r\n \r\n
\r\n
\r\n } else if (this.props.appealMessage.messageStatus === \"Responded\") {\r\n footer =
\r\n \r\n \r\n
\r\n } else {\r\n footer =
\r\n \r\n
\r\n }\r\n return footer;\r\n }\r\n\r\n render() {\r\n\r\n return (\r\n
\r\n \r\n \r\n \r\n \r\n \r\n Appeal Message Details\r\n \r\n \r\n \r\n \r\n \r\n
\r\n \r\n \r\n \r\n Appeal ID:\r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n Message Status:\r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n Request Date:\r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n Submitted To:\r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n Copy To:\r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n Request Subject:\r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n Request Message:\r\n \r\n \r\n \r\n \r\n \r\n \r\n
\r\n\r\n \r\n \r\n Response Date:\r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n Response To:\r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n Response Subject:\r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n Files Uploaded?\r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n Response Message:\r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n
\r\n \r\n {this.getModalFooter()}\r\n \r\n \r\n
\r\n
\r\n
\r\n )\r\n }\r\n});","import React, { Component } from 'react';\r\nimport { withOktaAuth } from '@okta/okta-react';\r\nimport axios from 'axios';\r\nimport moment from 'moment';\r\nimport Table from 'react-bootstrap/Table';\r\nimport AppealMessageDetailModal from '../adminmodals/AppealMessageDetailModal';\r\nimport SubmitANewAppealModal from '../../submitanewappeal/sanamodal/SubmitANewAppealModal';\r\nimport Alert from '../../submitanewappeal/fileupload/AlertMessage';\r\nimport './ViewAppealMessages.css';\r\n\r\nexport default withOktaAuth(class AppealMessagesTable extends Component {\r\n constructor(props) {\r\n super(props);\r\n this.state = {\r\n show: false,\r\n messageId: \"\",\r\n requestedDate: \"\",\r\n submittedTo: \"\",\r\n copyTo: \"\",\r\n requestSubject: \"\",\r\n requestMessage: \"\",\r\n responseDate: \"\",\r\n responseTo: \"\",\r\n responseSubject: \"\",\r\n responseMessage: \"\",\r\n messageStatus: \"\",\r\n filesUploaded: \"\",\r\n alertShow: false,\r\n title: \"\",\r\n body: \"\",\r\n bodyText: \"\",\r\n data: [],\r\n feedback: [],\r\n isWarning: false,\r\n isError: false\r\n };\r\n this.handleModalOpen = this.handleModalOpen.bind(this);\r\n this.getAppealMessage = this.getAppealMessage.bind(this);\r\n this.handleAlertModalOpen = this.handleAlertModalOpen.bind(this);\r\n }\r\n\r\n handleModalOpen = () => {\r\n this.setState((prevState) => {\r\n return {\r\n show: !prevState.show\r\n }\r\n })\r\n }\r\n\r\n handleAlertModalOpen = () => {\r\n this.setState((prevState) => {\r\n return {\r\n alertShow: !prevState.alertShow\r\n }\r\n })\r\n }\r\n\r\n // get appeal message from database (via API)\r\n // convert filesUploaded value from Boolean/null to Yes/No/\"\" string for displaying in table\r\n // set state values from returned response\r\n async getAppealMessage (messageId) {\r\n const accessToken = this.props.oktaAuth.getAccessToken();\r\n const url = (`${process.env.REACT_APP_API_BASE_URL}${process.env.REACT_APP_GET_APPEAL_MESSAGE_BY_ID_URL}`);\r\n await axios.get(url, {\r\n headers: {\r\n Authorization: `Bearer ${accessToken}`\r\n },\r\n params: {\r\n appealId: this.props.appealId,\r\n messageId: messageId\r\n }\r\n })\r\n .then(res => {\r\n const appealMessage = res.data;\r\n appealMessage.map((message) => {\r\n let filesUploaded;\r\n if (message.FilesUploaded === null) {\r\n filesUploaded = \"\"\r\n } else if(message.FilesUploaded) {\r\n filesUploaded = \"Yes\"\r\n } else {\r\n filesUploaded = \"No\"\r\n }\r\n this.setState({\r\n messageId: message.MessageID,\r\n requestedDate: message.RequestedDate,\r\n submittedTo: message.SubmittedTo,\r\n copyTo: message.CopyTo,\r\n requestSubject: message.RequestSubject,\r\n requestMessage: message.RequestMessage,\r\n responseDate: message.ResponseDate,\r\n responseTo: message.ResponseTo,\r\n responseSubject: message.ResponseSubject,\r\n responseMessage: message.ResponseMessage,\r\n messageStatus: message.MessageStatus,\r\n filesUploaded: filesUploaded\r\n });\r\n return message;\r\n })\r\n this.handleModalOpen();\r\n })\r\n .catch(error => {\r\n console.log(\"There was a problem with the server while getting the Appeal Message.\");\r\n console.log(\"There was a problem getting the Appeal.\", error);\r\n console.log(error.request.status);\r\n console.log({error});\r\n if (error.request.status === 0) {\r\n console.log(\"The server did not respond when trying to get the Appeal Message.\");\r\n console.log(error.toString());\r\n console.log(error.request);\r\n this.setState({\r\n title: \"SERVER ERROR !\",\r\n isError: true\r\n })\r\n this.setState(prevState => ({\r\n data: [ ...prevState.data, \r\n {\r\n id: 1, \r\n msg: \"The server did not respond when trying to get the Appeal Message.\", \r\n isChecked: false, \r\n isValid: false\r\n } \r\n ],\r\n feedback: [ ...prevState.feedback,\r\n {\r\n id: 1,\r\n msg: \"Please contact the CGPD Appeals Team at cgdpappeals@provider-resources.com for assistance.\"\r\n },\r\n {\r\n id: 2,\r\n msg: `Error Request Status: ${error.request.status}`\r\n }\r\n ]\r\n }))\r\n this.handleAlertModalOpen();\r\n } else if (error.response.status === 404) {\r\n console.log(\"The server could not find the Appeal Message in the database.\");\r\n console.log({error});\r\n console.log(error.toString());\r\n console.log(error.response.status);\r\n this.setState({\r\n title: \"SERVER ERROR !\",\r\n isError: true\r\n })\r\n this.setState(prevState => ({\r\n data: [ ...prevState.data, \r\n {\r\n id: 1, \r\n msg: \"The server could not find the Appeal Message in the database.\", \r\n isChecked: false, \r\n isValid: false\r\n } \r\n ],\r\n feedback: [ ...prevState.feedback,\r\n {\r\n id: 1,\r\n msg: \"Please contact the CGPD Appeals Team at cgdpappeals@provider-resources.com for assistance.\"\r\n },\r\n {\r\n id: 2,\r\n msg: `${error.response.data.title}. Error Response Status: ${error.response.status}`\r\n }\r\n ]\r\n }))\r\n this.handleAlertModalOpen();\r\n } else if (error.response.status === 500) {\r\n console.log(\"There was a server error while getting the Appeal Message.\");\r\n console.log({error});\r\n console.log(error.toString());\r\n console.log(error.response.status);\r\n this.setState({\r\n title: \"SERVER ERROR !\",\r\n isError: true\r\n })\r\n this.setState(prevState => ({\r\n data: [ ...prevState.data, \r\n {\r\n id: 1, \r\n msg: \"There was a server error while getting the Appeal Message.\", \r\n isChecked: false, \r\n isValid: false\r\n } \r\n ],\r\n feedback: [ ...prevState.feedback,\r\n {\r\n id: 1,\r\n msg: \"Please contact the CGPD Appeals Team at cgdpappeals@provider-resources.com for assistance.\"\r\n },\r\n {\r\n id: 2,\r\n msg: `${error.response.data.title}. Error Response Status: ${error.response.status}`\r\n }\r\n ]\r\n }))\r\n this.handleAlertModalOpen();\r\n } else {\r\n console.log(\"There was an unknown problem with getting the Appeal Message.\");\r\n console.log({error});\r\n console.log(error.toString());\r\n console.log(error.response.status);\r\n this.setState({\r\n title: \"SERVER ERROR !\",\r\n isError: true\r\n })\r\n this.setState(prevState => ({\r\n data: [ ...prevState.data, \r\n {\r\n id: 1, \r\n msg: \"There was an unknown problem with getting the Appeal Message.\", \r\n isChecked: false, \r\n isValid: false\r\n } \r\n ],\r\n feedback: [ ...prevState.feedback,\r\n {\r\n id: 1,\r\n msg: \"Please contact the CGPD Appeals Team at cgdpappeals@provider-resources.com for assistance.\"\r\n },\r\n {\r\n id: 2,\r\n msg: `${error.response.data.title}. Error Response Status: ${error.response.status}`\r\n }\r\n ]\r\n }))\r\n this.handleAlertModalOpen();\r\n }\r\n });\r\n }\r\n\r\n // display \"No message to display\" if there are no appeal messages returned and n alert messages passed from props\r\n getNoFileTableBody() {\r\n let body;\r\n if (this.props.message) {\r\n body = \r\n } else {\r\n body = No messages to display\r\n }\r\n return body;\r\n }\r\n\r\n render() {\r\n // compile data into object for passing as props to child components\r\n const appealMessage = {\r\n messageId: this.state.messageId,\r\n requestedDate: this.state.requestedDate,\r\n submittedTo: this.state.submittedTo,\r\n copyTo: this.state.copyTo,\r\n requestSubject: this.state.requestSubject,\r\n requestMessage: this.state.requestMessage,\r\n responseDate: this.state.responseDate,\r\n responseTo: this.state.responseTo,\r\n responseSubject: this.state.responseSubject,\r\n responseMessage: this.state.responseMessage,\r\n messageStatus: this.state.messageStatus,\r\n filesUploaded: this.state.filesUploaded\r\n }\r\n\r\n // populate table with returned appeal messages\r\n if(this.props.appealMessages.length > 0) {\r\n return (\r\n <>\r\n {this.props.loading ? \"Loading table data...\" : null}\r\n {this.props.message ? : 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 \r\n \r\n {\r\n this.props.appealMessages.map((message) => (\r\n \r\n \r\n \r\n {message.ResponseDate === null ? \r\n : \r\n \r\n }\r\n \r\n \r\n {message.FilesUploaded === null ?\r\n :\r\n \r\n }\r\n \r\n \r\n ))\r\n }\r\n \r\n \r\n
Request DateSubjectResponse DateResponse MessageMessage StatusFiles Uploaded?
{ moment(message.RequestedDate).format(\"YYYY-MM-DD\") }{message.RequestSubject}{ moment(message.ResponseDate).format(\"YYYY-MM-DD\") }{message.ResponseMessage}{message.MessageStatus}{message.FilesUploaded ? \"Yes\" : \"No\"}\r\n \r\n
\r\n \r\n\r\n \r\n \r\n )\r\n } else {\r\n return (\r\n <>\r\n {/* display \"No messages to display\" if 0 rows are returned */}\r\n {this.props.loading ? \"Loading table data...\" : 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 \r\n \r\n {this.getNoFileTableBody()}\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n
Request DateSubjectResponse DateResponse MessageMessage StatusFiles Uploaded?
\r\n \r\n )\r\n }\r\n }\r\n});","export default __webpack_public_path__ + \"static/media/person-circle.430c6671.svg\";","import React, { Component } from 'react';\r\nimport { withOktaAuth } from '@okta/okta-react';\r\nimport axios from 'axios';\r\nimport { Modal, Button, Form, Row, Col } from 'react-bootstrap';\r\nimport Alert from 'react-bootstrap/Alert';\r\nimport { BallTriangle } from 'react-loader-spinner';\r\nimport Person from '../../../images/person-circle.svg';\r\nimport './AdminModals.css';\r\n\r\nexport default withOktaAuth(class UpdateSubmitterModal extends Component {\r\n constructor(props) {\r\n super(props);\r\n this.state = {\r\n contactValidated: false,\r\n message: \"\",\r\n variant: \"info\",\r\n showAlert: false,\r\n loading: false\r\n };\r\n this.handleValidation = this.handleValidation.bind(this);\r\n this.updateContactInfo = this.updateContactInfo.bind(this);\r\n }\r\n\r\n // handle form field validations - all fields must pass validation before state changed to true and form submits\r\n handleValidation(event) {\r\n const form = event.currentTarget;\r\n \r\n if(form.checkValidity() === false) {\r\n event.preventDefault();\r\n event.stopPropagation();\r\n }\r\n this.setState({\r\n contactValidated: true,\r\n });\r\n event.preventDefault();\r\n if(form.checkValidity() === true) {\r\n this.setState({\r\n loading: true\r\n });\r\n // if passes validation update database\r\n this.updateContactInfo();\r\n }\r\n }\r\n\r\n handleAlertClose = () => {\r\n this.setState({\r\n showAlert: false,\r\n message: \"\",\r\n variant: \"info\",\r\n loading: false\r\n });\r\n this.props.handleSubmitterModalOpen();\r\n }\r\n\r\n // form field changes handled via pass-through functions to update grandparent state - AdminHome\r\n // get values from grandparent state (AdminHome) update Appeal record in database (via API)\r\n async updateContactInfo() {\r\n const accessToken = this.props.oktaAuth.getAccessToken();\r\n const url = (`${process.env.REACT_APP_API_BASE_URL}${process.env.REACT_APP_UPDATE_APPEAL_CONTACT_INFO_BASE_URL}`);\r\n await axios.put(url, {\r\n AppealID: this.props.appealId,\r\n ManufacturerName: this.props.contactReview.manufacturerName,\r\n PNumber: this.props.contactReview.pNumber,\r\n ContactName: this.props.contactReview.submitterName,\r\n Email: this.props.contactReview.submitterEmail,\r\n Telephone: this.props.contactReview.submitterPhone,\r\n AltContactName: this.props.contactReview.altName,\r\n AltEmail: this.props.contactReview.altEmail,\r\n AltTelephone: this.props.contactReview.altPhone,\r\n InvoiceID: this.props.contactReview.invoiceReportId,\r\n TPADecision: this.props.contactReview.decision60Day\r\n }, {\r\n headers: {\r\n Authorization: `Bearer ${accessToken}`\r\n }\r\n })\r\n .then((res) => {\r\n this.setState({\r\n message: `Successfully updated the Contact info for Appeal ID: ${this.props.appealId}`,\r\n variant: 'info',\r\n loading: false,\r\n showAlert: true\r\n })\r\n })\r\n .catch(error => {\r\n console.log(\"There was a problem with the server while updating the Appeal Contact Information.\");\r\n console.log(\"There was a problem updating the Appeal Contact Information.\", error);\r\n console.log(error.request.status);\r\n console.log({error});\r\n if (error.request.status === 0) {\r\n console.log(\"The server did not respond when trying to update the Appeal Contact Information.\");\r\n console.log(error.toString());\r\n console.log(error.request);\r\n this.setState({\r\n message: 'The server did not respond when trying to update the Appeal Contact Information.',\r\n variant: 'danger',\r\n loading: false,\r\n showAlert: true\r\n })\r\n } else if (error.response.status === 404) {\r\n console.log(\"The Appeal ID was not found in the database.\");\r\n console.log({error});\r\n console.log(error.toString());\r\n console.log(error.response.status);\r\n this.setState({\r\n message: 'The Appeal ID was not found in the database.',\r\n variant: 'danger',\r\n loading: false,\r\n showAlert: true\r\n })\r\n } else if (error.response.status === 500) {\r\n console.log(\"There was a server error while updating the Appeal Contact Information.\");\r\n console.log({error});\r\n console.log(error.toString());\r\n console.log(error.response.status);\r\n this.setState({\r\n message: 'There was a server error while updating the Appeal Contact Information.',\r\n variant: 'danger',\r\n loading: false,\r\n showAlert: true\r\n })\r\n \r\n } else {\r\n console.log(\"There was an unknown problem with updating the Appeal Contact Information.\");\r\n console.log({error});\r\n console.log(error.toString());\r\n console.log(error.response.status);\r\n this.setState({\r\n message: 'There was an unknown problem with updating the Appeal Contact Information.',\r\n variant: 'danger',\r\n loading: false,\r\n showAlert: true\r\n })\r\n }\r\n });\r\n }\r\n\r\n // if loading, display spinner\r\n // else if there is an Alert message in state, display the Alert\r\n // else show Cancel button\r\n getModalFooter() {\r\n let footer;\r\n if (this.state.loading) {\r\n footer = \r\n } else if (this.state.message) {\r\n footer = \r\n {this.state.message}\r\n
\r\n
\r\n \r\n
\r\n
\r\n } else {\r\n footer =
\r\n \r\n \r\n
\r\n }\r\n return footer;\r\n }\r\n\r\n render() {\r\n return (\r\n
\r\n \r\n \r\n \r\n \r\n \"Person\r\n \r\n \r\n \r\n Edit Appeal Contact Information\r\n \r\n \r\n \r\n \r\n \r\n
\r\n \r\n \r\n \r\n Manufacturer Name:\r\n \r\n \r\n this.props.handleChange('manufacturerName', e.target.value)}\r\n disabled\r\n />\r\n \r\n Please enter a manufacturer name. All fields are required.\r\n \r\n \r\n \r\n\r\n \r\n \r\n P Number (P####):\r\n \r\n \r\n this.props.handleChange('pNumber', e.target.value)}\r\n disabled\r\n />\r\n \r\n Please enter a P number. All fields are required.\r\n \r\n \r\n \r\n\r\n \r\n \r\n Name of Individual Submitting Appeal:\r\n \r\n \r\n [A-Z]\\.?\\w*-?[A-Z]?\\w*)\\s?(?[A-Z]\\w+|[A-Z]?\\.?)\\s(?(?:[A-Z]\\w{1,3}|St\\.\\s|[A-Z]')?[A-Z]\\w+-?[A-Z]?\\w*)(?:,\\s|)(?Jr\\.|Sr\\.|IV|III|II|)\"\r\n value={this.props.contactReview.submitterName}\r\n onChange={e => this.props.handleChange('submitterName', e.target.value)}\r\n />\r\n \r\n Please enter a contact name. All fields are required.\r\n \r\n \r\n \r\n\r\n \r\n \r\n Email Address:\r\n \r\n \r\n this.props.handleChange('submitterEmail', e.target.value)}\r\n />\r\n \r\n Please enter an email. All fields are required.\r\n \r\n \r\n \r\n\r\n \r\n \r\n Telephone Number (###-###-####):\r\n \r\n \r\n this.props.handleChange('submitterPhone', e.target.value)}\r\n />\r\n \r\n Please enter a telephone number using the format ###-###-####. All fields are required.\r\n \r\n \r\n \r\n\r\n \r\n \r\n Alternate Contact Name:\r\n \r\n \r\n [A-Z]\\.?\\w*-?[A-Z]?\\w*)\\s?(?[A-Z]\\w+|[A-Z]?\\.?)\\s(?(?:[A-Z]\\w{1,3}|St\\.\\s|[A-Z]')?[A-Z]\\w+-?[A-Z]?\\w*)(?:,\\s|)(?Jr\\.|Sr\\.|IV|III|II|)\"\r\n value={this.props.contactReview.altName}\r\n onChange={e => this.props.handleChange('altName', e.target.value)}\r\n />\r\n \r\n Please enter an alternate contact name. All fields are required.\r\n \r\n \r\n \r\n\r\n \r\n \r\n Alternate Email Address:\r\n \r\n \r\n this.props.handleChange('altEmail', e.target.value)}\r\n />\r\n \r\n Please enter an alternate email. All fields are required.\r\n \r\n \r\n \r\n\r\n \r\n \r\n Alternate Telephone Number (###-###-####):\r\n \r\n \r\n this.props.handleChange('altPhone', e.target.value)}\r\n />\r\n \r\n Please enter an alternate phone number using the format ###-###-####. All fields are required.\r\n \r\n \r\n \r\n \r\n \r\n {this.getModalFooter()}\r\n \r\n
\r\n
\r\n\r\n \r\n
\r\n )\r\n }\r\n});","const StageOptions = [\r\n { value: 'Submitted', label: 'Submitted' },\r\n { value: 'Assigned', label: 'Assigned' },\r\n { value: 'Appeal Received', label: 'Appeal Received' },\r\n { value: 'Appeal Validated', label: 'Appeal Validated'},\r\n { value: 'Information Requested', label: 'Information Requested' },\r\n { value: 'Information Received', label: 'Information Received' },\r\n { value: 'Appeal in Progress', label: 'Appeal in Progress' },\r\n { value: 'Draft Submitted to CMS', label: 'Draft Submitted to CMS' },\r\n { value: 'Decision Issued', label: 'Decision Issued' },\r\n { value: 'Package Compiled', label: 'Package Compiled' },\r\n { value: 'Appeal Closed', label: 'Appeal Closed' },\r\n { value: 'Appeal Expired', label: 'Appeal Expired' },\r\n { value: 'Test Case', label: 'Test Case' }\r\n]\r\n\r\nexport default StageOptions;","export default __webpack_public_path__ + \"static/media/box-arrow-in-up.a8d0624d.svg\";","import React, { Component } from 'react';\r\nimport { withOktaAuth } from '@okta/okta-react';\r\nimport axios from 'axios';\r\nimport { Modal, Button, Form, Row, Col } from 'react-bootstrap';\r\nimport Alert from 'react-bootstrap/Alert';\r\nimport { BallTriangle } from 'react-loader-spinner';\r\nimport StageOptions from '../../shared/StageOptions';\r\nimport Arrow from '../../../images/box-arrow-in-up.svg';\r\nimport './AdminModals.css';\r\n\r\nexport default withOktaAuth(class UpdateAppealStageModal extends Component {\r\n constructor(props) {\r\n super(props);\r\n this.state = {\r\n validated: false,\r\n message: \"\",\r\n variant: \"info\",\r\n showAlert: false,\r\n loading: false\r\n };\r\n this.handleValidation = this.handleValidation.bind(this);\r\n this.updateAppealStage = this.updateAppealStage.bind(this);\r\n }\r\n\r\n // handle form field validations - all fields must pass validation before state changed to true and form submits\r\n handleValidation(event) {\r\n const form = event.currentTarget;\r\n \r\n if(form.checkValidity() === false) {\r\n event.preventDefault();\r\n event.stopPropagation();\r\n }\r\n this.setState({\r\n validated: true,\r\n loading: true\r\n });\r\n event.preventDefault();\r\n if(form.checkValidity() === true) {\r\n // if passes validation update database\r\n this.updateAppealStage();\r\n }\r\n }\r\n\r\n handleAlertClose = () => {\r\n this.setState({\r\n showAlert: false,\r\n message: \"\",\r\n variant: \"info\",\r\n loading: false\r\n });\r\n this.props.handleStageModalOpen();\r\n }\r\n\r\n async updateAppealStage() {\r\n const accessToken = this.props.oktaAuth.getAccessToken();\r\n const url = (`${process.env.REACT_APP_API_BASE_URL}${process.env.REACT_APP_UPDATE_APPEAL_STAGE_URL}`);\r\n await axios.put(url, {\r\n AppealID: this.props.appealId,\r\n Stage: this.props.stage\r\n }, {\r\n headers: {\r\n Authorization: `Bearer ${accessToken}`\r\n }\r\n })\r\n .then((res) => {\r\n this.setState({\r\n message: `Successfully updated Appeal Stage for: ${this.props.appealId}`,\r\n variant: 'info',\r\n loading: false,\r\n showAlert: true\r\n });\r\n })\r\n .catch(error => {\r\n console.log(\"There was a problem with the server while updating the Appeal Stage.\");\r\n console.log(\"There was a problem updating the Appeal Stage.\", error);\r\n console.log(error.request.status);\r\n console.log({error});\r\n if (error.request.status === 0) {\r\n console.log(\"The server did not respond when trying to update the Appeal Stage.\");\r\n console.log(error.toString());\r\n console.log(error.request);\r\n this.setState({\r\n message: 'The server did not respond when trying to update the Appeal Stage.',\r\n variant: 'danger',\r\n loading: false,\r\n showAlert: true\r\n });\r\n } else if (error.response.status === 404) {\r\n console.log(\"The Appeal ID was not found in the database.\");\r\n console.log({error});\r\n console.log(error.toString());\r\n console.log(error.response.status);\r\n this.setState({\r\n message: 'The Appeal ID was not found in the database.',\r\n variant: 'danger',\r\n loading: false,\r\n showAlert: true\r\n });\r\n } else if (error.response.status === 500) {\r\n console.log(\"There was a server error while updating the Appeal Stage.\");\r\n console.log({error});\r\n console.log(error.toString());\r\n console.log(error.response.status);\r\n this.setState({\r\n message: 'There was a server error while updating the Appeal Stage.',\r\n variant: 'danger',\r\n loading: false,\r\n showAlert: true\r\n });\r\n } else {\r\n console.log(\"There was an unknown problem with updating the Appeal Stage.\");\r\n console.log({error});\r\n console.log(error.toString());\r\n console.log(error.response.status);\r\n this.setState({\r\n message: 'There was an unknown problem with updating the Appeal Stage.',\r\n variant: 'danger',\r\n loading: false,\r\n showAlert: true\r\n });\r\n }\r\n });\r\n }\r\n\r\n // if loading, display spinner\r\n // else if there is an Alert message in state, display the Alert\r\n // else show Cancel button\r\n getModalFooter() {\r\n let footer;\r\n if (this.state.loading) {\r\n footer = \r\n } else if (this.state.message) {\r\n footer = \r\n {this.state.message}\r\n
\r\n
\r\n \r\n
\r\n
\r\n } else {\r\n footer =
\r\n \r\n \r\n
\r\n }\r\n return footer;\r\n }\r\n\r\n\r\n render() {\r\n return (\r\n
\r\n \r\n \r\n \r\n \r\n \"Box\r\n \r\n \r\n \r\n Update Appeal Stage\r\n \r\n \r\n \r\n \r\n \r\n
\r\n \r\n \r\n \r\n Appeal ID:\r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n Stage:\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n {this.getModalFooter()}\r\n \r\n
\r\n
\r\n
\r\n )\r\n }\r\n});","export default __webpack_public_path__ + \"static/media/envelope.99f1d088.svg\";","import React, { Component } from 'react';\r\nimport { withOktaAuth } from '@okta/okta-react';\r\nimport axios from 'axios';\r\nimport { Modal, Button, Form, Row, Col } from 'react-bootstrap';\r\nimport Alert from 'react-bootstrap/Alert';\r\nimport { BallTriangle } from 'react-loader-spinner';\r\nimport moment from 'moment';\r\nimport Envelope from '../../../images/envelope.svg';\r\nimport './AdminModals.css';\r\n\r\nexport default withOktaAuth(class RequestInformationModal extends Component {\r\n constructor(props) {\r\n super(props);\r\n this.state = {\r\n validated: false,\r\n messageSubject: \"\",\r\n messageBody: \"\",\r\n showAlert: false,\r\n msg: \"\",\r\n variant: \"\",\r\n loading: false\r\n };\r\n this.handleValidation = this.handleValidation.bind(this);\r\n this.handleChange = this.handleChange.bind(this);\r\n this.encodeSubjectTextArea = this.encodeSubjectTextArea.bind(this);\r\n this.encodeBodyTextArea = this.encodeBodyTextArea.bind(this);\r\n this.createRequestMessage = this.createRequestMessage.bind(this);\r\n this.handleAlertClose = this.handleAlertClose.bind(this);\r\n this.getModalFooter = this.getModalFooter.bind(this);\r\n this.updateAppealStage = this.updateAppealStage.bind(this);\r\n }\r\n\r\n // handle form field validations - all fields must pass validation before state changed to true and form submits\r\n handleValidation(event) {\r\n const form = event.currentTarget;\r\n \r\n if(form.checkValidity() === false) {\r\n event.preventDefault();\r\n event.stopPropagation();\r\n }\r\n this.setState({\r\n validated: true\r\n });\r\n event.preventDefault();\r\n if(form.checkValidity() === true) {\r\n this.setState({\r\n loading: true\r\n });\r\n // if passes validation update database\r\n this.createRequestMessage();\r\n }\r\n }\r\n\r\n // handle form field updates from RequestInformationModal form\r\n handleChange(target, value) {\r\n this.setState({\r\n [target]: value\r\n });\r\n }\r\n\r\n handleAlertClose = () => {\r\n this.setState({\r\n showAlert: false,\r\n msg: \"\",\r\n variant: \"\",\r\n loading: false,\r\n validated: false\r\n });\r\n this.props.handleRequestModalOpen();\r\n }\r\n\r\n // encoding for the subject textarea form field\r\n encodeSubjectTextArea() {\r\n const subject = this.state.messageSubject;\r\n const p = document.createElement(\"p\");\r\n p.textContent = subject;\r\n const encodedSubject = p.innerHTML;\r\n return encodedSubject;\r\n }\r\n\r\n // encoding for the message body textarea form field\r\n encodeBodyTextArea() {\r\n const body = this.state.messageBody;\r\n const p = document.createElement(\"p\");\r\n p.textContent = body;\r\n const encodedBody = p.innerHTML;\r\n return encodedBody;\r\n }\r\n\r\n // get values from grandparent state (AdminHome) and component stage values and send to database (via API)\r\n async createRequestMessage() {\r\n\r\n const today = moment().format('YYYY-MM-DD hh:mm:ss a');\r\n const encodedSubject = this.encodeSubjectTextArea();\r\n const encodedBody = this.encodeBodyTextArea();\r\n const status = \"Requested\"\r\n const accessToken = this.props.oktaAuth.getAccessToken();\r\n const url = (`${process.env.REACT_APP_API_BASE_URL}${process.env.REACT_APP_CREATE_REQUEST_MESSAGE_URL}`);\r\n await axios.post(url, {\r\n AppealID: this.props.appealId,\r\n RequestedDate: today,\r\n SubmittedTo: this.props.contactReview.submitterEmail,\r\n CopyTo: this.props.contactReview.altEmail,\r\n RequestSubject: encodedSubject,\r\n RequestMessage: encodedBody,\r\n MessageStatus: status\r\n }, {\r\n headers: {\r\n Authorization: `Bearer ${accessToken}`\r\n }\r\n })\r\n .then((res) => {\r\n this.updateAppealStage();\r\n this.sendRequestMessageEmail();\r\n this.props.renderAppealMessagesTableData();\r\n })\r\n .catch(error => {\r\n console.log(error);\r\n console.log(\"There was a problem while creating the Appeal Message record.\", error);\r\n console.log(error.request.status);\r\n console.log({error});\r\n if (error.request.status === 0) {\r\n console.log(\"The server did not respond when trying to create the Appeal Message record.\");\r\n console.log(error.toString());\r\n console.log(error.request);\r\n this.setState({\r\n msg: 'The server did not respond when trying to create the Appeal Message record.',\r\n variant: 'danger',\r\n loading: false,\r\n showAlert: true\r\n });\r\n } else if (error.response.status === 500) {\r\n console.log(\"There was a server error while creating the Appeal Message record.\");\r\n console.log({error});\r\n console.log(error.toString());\r\n console.log(error.response.status);\r\n this.setState({\r\n msg: 'There was a server error while creating the Appeal Message record.',\r\n variant: 'danger',\r\n loading: false,\r\n showAlert: true\r\n });\r\n } else {\r\n console.log(\"There was an unknown problem with creating the Appeal Message record.\");\r\n console.log({error});\r\n console.log(error.toString());\r\n console.log(error.response.status);\r\n this.setState({\r\n msg: 'There was an unknown problem with creating the Appeal Message record.',\r\n variant: 'danger',\r\n loading: false,\r\n showAlert: true\r\n });\r\n }\r\n });\r\n };\r\n\r\n // send request message email\r\n async sendRequestMessageEmail() {\r\n // compile email data\r\n const appealId = this.props.appealId;\r\n const manufacturerName = this.props.contactReview.manufacturerName;\r\n const email = this.props.contactReview.submitterEmail;\r\n const ccEmail = this.props.contactReview.altEmail;\r\n const bccEmail = process.env.REACT_APP_BCC_EMAIL;\r\n const mailRequest = {\r\n AppealId: appealId,\r\n ManufacturerName: manufacturerName,\r\n ToEmail: email,\r\n CcEmail: ccEmail,\r\n BccEmail: bccEmail\r\n };\r\n // send data to API (API sends email)\r\n const accessToken = this.props.oktaAuth.getAccessToken();\r\n const url = (`${process.env.REACT_APP_API_BASE_URL}${process.env.REACT_APP_SEND_REQUEST_MESSAGE_EMAIL_URL}`);\r\n await axios.post(url, mailRequest, {\r\n headers: {\r\n Authorization: `Bearer ${accessToken}`\r\n }\r\n })\r\n .then((res) => {\r\n this.setState({\r\n loading: false,\r\n msg: \"Request Message email sent successfully.\",\r\n variant: \"info\",\r\n showAlert: true,\r\n validated: false\r\n })\r\n })\r\n .catch(error => {\r\n console.log(error);\r\n console.log(\"There was a problem while sending the Request Message notification email.\", error);\r\n console.log(error.request.status);\r\n console.log({error});\r\n if (error.request.status === 0) {\r\n console.log(\"The server did not respond when trying to send the Request Message notification email.\");\r\n console.log(error.toString());\r\n console.log(error.request);\r\n this.setState({\r\n msg: 'The server did not respond when trying to send the Request Message notification email.',\r\n variant: 'danger',\r\n loading: false,\r\n showAlert: true\r\n });\r\n } else if (error.response.status === 500) {\r\n console.log(\"There was a server error while sending the Request Message notification email.\");\r\n console.log({error});\r\n console.log(error.toString());\r\n console.log(error.response.status);\r\n this.setState({\r\n msg: 'There was a server error while sending the Request Message notification email.',\r\n variant: 'danger',\r\n loading: false,\r\n showAlert: true\r\n });\r\n } else {\r\n console.log(\"There was an unknown problem with sending the Request Message notification email.\");\r\n console.log({error});\r\n console.log(error.toString());\r\n console.log(error.response.status);\r\n this.setState({\r\n msg: 'There was an unknown problem with sending the Request Message notification email.',\r\n variant: 'danger',\r\n loading: false,\r\n showAlert: true\r\n });\r\n }\r\n });\r\n this.setState({\r\n messageSubject: \"\",\r\n messageBody: \"\"\r\n });\r\n }\r\n\r\n // update appeal stage in the Appeal table (via API)\r\n async updateAppealStage() {\r\n const accessToken = this.props.oktaAuth.getAccessToken();\r\n const url = (`${process.env.REACT_APP_API_BASE_URL}${process.env.REACT_APP_UPDATE_APPEAL_STAGE_URL}`);\r\n await axios.put(url, {\r\n AppealID: this.props.appealId,\r\n Stage: \"Information Requested\"\r\n }, {\r\n headers: {\r\n Authorization: `Bearer ${accessToken}`\r\n }\r\n })\r\n .then((res) => {\r\n })\r\n .catch(error => {\r\n console.log(error);\r\n console.log(\"There was a problem while updating the Appeal Stage.\", error);\r\n console.log(error.request.status);\r\n console.log({error});\r\n if (error.request.status === 0) {\r\n console.log(\"The server did not respond when trying to update the Appeal Stage.\");\r\n console.log(error.toString());\r\n console.log(error.request);\r\n this.setState({\r\n msg: 'The server did not respond when trying to update the Appeal Stage.',\r\n variant: 'danger',\r\n loading: false,\r\n showAlert: true\r\n });\r\n } else if (error.response.status === 404) {\r\n console.log(\"The Appeal ID was not found in the database.\");\r\n console.log({error});\r\n console.log(error.toString());\r\n console.log(error.response.status);\r\n this.setState({\r\n msg: 'The Appeal ID was not found in the database.',\r\n variant: 'danger',\r\n loading: false,\r\n showAlert: true\r\n });\r\n } else if (error.response.status === 500) {\r\n console.log(\"There was a server error while updating the Appeal Stage.\");\r\n console.log({error});\r\n console.log(error.toString());\r\n console.log(error.response.status);\r\n this.setState({\r\n msg: 'There was a server error while updating the Appeal Stage.',\r\n variant: 'danger',\r\n loading: false,\r\n showAlert: true\r\n });\r\n } else {\r\n console.log(\"There was an unknown problem with updating the Appeal Stage.\");\r\n console.log({error});\r\n console.log(error.toString());\r\n console.log(error.response.status);\r\n this.setState({\r\n msg: 'There was an unknown problem with updating the Appeal Stage.',\r\n variant: 'danger',\r\n loading: false,\r\n showAlert: true\r\n });\r\n }\r\n });\r\n }\r\n\r\n // if loading, display spinner\r\n // else if there is an Alert message in state, display the Alert\r\n // else show Cancel button\r\n getModalFooter() {\r\n let footer;\r\n if (this.state.loading) {\r\n footer = \r\n } else if (this.state.msg) {\r\n footer = \r\n {this.state.msg}\r\n
\r\n
\r\n \r\n
\r\n
\r\n } else {\r\n footer =
\r\n \r\n \r\n
\r\n }\r\n return footer;\r\n }\r\n\r\n render() {\r\n \r\n return (\r\n
\r\n \r\n \r\n \r\n \r\n \"Envelope\"/\r\n \r\n \r\n \r\n Request Additional Information\r\n \r\n \r\n \r\n \r\n \r\n
\r\n \r\n \r\n \r\n Appeal ID:\r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n Manufacturer Name:\r\n \r\n \r\n \r\n \r\n Please enter a manufacturer name. All fields are required.\r\n \r\n \r\n \r\n\r\n \r\n \r\n Email Address:\r\n \r\n \r\n \r\n \r\n Please enter an email. All fields are required.\r\n \r\n \r\n \r\n\r\n \r\n \r\n Alternate Email Address:\r\n \r\n \r\n \r\n \r\n Please enter an alternate email. All fields are required.\r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n Subject:\r\n \r\n \r\n this.handleChange('messageSubject', e.target.value)}\r\n />\r\n \r\n Please enter a subject for the message request. All fields are required.\r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n Message Body:\r\n \r\n \r\n this.handleChange('messageBody', e.target.value)}\r\n row={4}\r\n />\r\n \r\n Please enter a request message. All fields are required.\r\n \r\n \r\n \r\n \r\n \r\n \r\n {this.getModalFooter()}\r\n \r\n
\r\n
\r\n
\r\n )\r\n }\r\n});","import React, { Component } from 'react';\r\nimport { withOktaAuth } from '@okta/okta-react';\r\nimport {Tabs, Tab, Row, Button} from 'react-bootstrap';\r\nimport ContactInfoReview from '../../submitanewappeal/sanapart3/ContactInfoReview';\r\nimport AppealDataReviewTable from '../../submitanewappeal/sanapart3/AppealDataReviewTable';\r\nimport FileUploadForm from '../../submitanewappeal/fileupload/FileUploadForm';\r\nimport AppealMessagesTable from '../appealmessages/AppealMessagesTable';\r\nimport UpdateSubmitterModal from '../adminmodals/UpdateSubmitterModal';\r\nimport UpdateAppealStageModal from '../adminmodals/UpdateAppealStageModal';\r\nimport RequestInformationModal from '../adminmodals/RequestInformationModal';\r\nimport './ViewAppealDetails.css';\r\n\r\n// shows appeal details when row is clicked in ViewAllAppeals table\r\nexport default withOktaAuth(class ViewAppealDetails extends Component {\r\n constructor(props) {\r\n super(props);\r\n this.state = {\r\n eventKey: \"AppealDetails\",\r\n appealId: this.props.appealId,\r\n appealDataReview: this.props.appealDataReview,\r\n showDeleteBtn: false\r\n }\r\n this.handleDetailsSelect = this.handleDetailsSelect.bind(this);\r\n this.handleChange = this.handleChange.bind(this);\r\n this.handleSubmitterModalOpen = this.handleSubmitterModalOpen.bind(this);\r\n this.handleStageModalOpen = this.handleStageModalOpen.bind(this);\r\n this.handleRequestModalOpen = this.handleRequestModalOpen.bind(this);\r\n }\r\n\r\n // pass-through function to handle form field changes \r\n handleChange(target, value) {\r\n this.props.handleChange(target, value);\r\n }\r\n\r\n // pass-through function to open and close the updateSubmitterModal via AdminHome state\r\n handleSubmitterModalOpen() {\r\n this.props.handleSubmitterModalOpen();\r\n }\r\n\r\n // pass-through function to open and close the updateAppealStageModal via AdminHome state\r\n handleStageModalOpen() {\r\n this.props.handleStageModalOpen();\r\n }\r\n\r\n // pass-through function to open and close the RequestInformationModal via AdminHome state\r\n handleRequestModalOpen() {\r\n this.props.handleRequestModalOpen();\r\n }\r\n\r\n // handle which Tab content displays\r\n handleDetailsSelect(eventKey) {\r\n switch(eventKey) {\r\n case \"AppealDetails\":\r\n this.setState({\r\n eventKey: eventKey\r\n });\r\n break;\r\n case \"AppealFiles\":\r\n this.setState({\r\n eventKey: eventKey\r\n });\r\n break;\r\n case \"AppealMessages\":\r\n this.setState({\r\n eventKey: eventKey\r\n });\r\n break;\r\n default:\r\n break;\r\n }\r\n }\r\n\r\n render() {\r\n return (\r\n
\r\n
\r\n
\r\n
\r\n
Coverage Gap Discount Program Appeals Portal - Appeal {this.props.appealId}
\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 {this.props.isAdmin ? \r\n \r\n :\r\n null\r\n }\r\n \r\n \r\n
\r\n \r\n \r\n \r\n
\r\n )\r\n }\r\n});","import moment from \"moment\";\r\n\r\n// define columns for ViewResponseMessagesTable\r\nexport const COLUMNS = [\r\n {\r\n Header: 'Appeal ID',\r\n accessor: 'AppealID',\r\n },\r\n {\r\n Header: 'Response Date',\r\n accessor: 'ResponseDate',\r\n Cell: ({value}) => {return (moment(new Date(value)).format(\"YYYY-MM-DD\"))} \r\n },\r\n {\r\n Header: 'Subject',\r\n accessor: 'ResponseSubject'\r\n },\r\n {\r\n Header: 'Message',\r\n accessor: 'ResponseMessage',\r\n },\r\n {\r\n Header: 'Files Uploaded?',\r\n accessor: 'FilesUploaded',\r\n Cell: ({value}) => {return value? \"Yes\" : \"No\"}\r\n },\r\n\r\n]","import React, { useMemo, useState } from 'react';\r\nimport { useOktaAuth } from '@okta/okta-react';\r\nimport axios from 'axios';\r\nimport Button from 'react-bootstrap/Button';\r\nimport { useTable, useSortBy, useGlobalFilter, useFilters, usePagination } from 'react-table';\r\nimport { COLUMNS } from './ResponseColumns';\r\nimport { GlobalFilter } from '../viewallappeals/GlobalFilter';\r\nimport { ColumnFilter } from '../viewallappeals/ColumnFilter';\r\nimport Alert from '../../submitanewappeal/fileupload/AlertMessage';\r\nimport ArrownUp from '../../../images/arrow-up-square.svg';\r\nimport ArrowDown from '../../../images/arrow-down-square.svg';\r\nimport './ViewAppealMessages.css';\r\n\r\nconst ViewResponseMessagesTable = (props) => {\r\n const { authState, oktaAuth } = useOktaAuth();\r\n const [loadingData, setLoadingData] = useState(true);\r\n const [data, setData] = useState([]);\r\n const [message, setMessage] = useState(\"\");\r\n const [variant, setVariant] = useState(\"info\");\r\n\r\n // function called on row click, gets returned appeal id for selected row and passes to parent component for displaying selected message details\r\n function getAppealId (appealId) {\r\n props.setAppealId(appealId);\r\n }\r\n\r\n // use useMemo to make sure data is not recreated on every render\r\n const columns = useMemo(() => COLUMNS, []);\r\n const defaultColumn = useMemo(() => {\r\n return {\r\n Filter: ColumnFilter\r\n }\r\n }, []);\r\n \r\n useMemo(() => {\r\n if (!authState || !authState.isAuthenticated) {\r\n setData([]);\r\n } else {\r\n async function getData() {\r\n const accessToken = oktaAuth.getAccessToken();\r\n const url = (`${process.env.REACT_APP_API_BASE_URL}${process.env.REACT_APP_GET_RESPONDED_MESSAGES_URL}`);\r\n await axios\r\n .get(url, {\r\n headers: {\r\n Authorization: `Bearer ${accessToken}`\r\n }\r\n })\r\n .then((response) => {\r\n setData(response.data);\r\n setLoadingData(false);\r\n })\r\n .catch(error => {\r\n console.log(\"There was a problem with the server while getting the Appeal Response Messages.\");\r\n console.log(\"There was a problem getting the Appeals.\", error);\r\n console.log(error.request.status);\r\n console.log({error});\r\n if (error.request.status === 0) {\r\n console.log(\"The server did not respond when trying to get the Appeal Response Messages.\");\r\n console.log(error.toString());\r\n console.log(error.request);\r\n setMessage('The server did not respond when trying to get the Appeal Response Messages.');\r\n setVariant('danger');\r\n setLoadingData(false);\r\n } else if (error.response.status === 404) {\r\n console.log(\"The server could not find the Appeals in the database.\");\r\n console.log({error});\r\n console.log(error.toString());\r\n console.log(error.response.status);\r\n setMessage('The server could not find the Appeals in the database.');\r\n setVariant('danger');\r\n setLoadingData(false);\r\n } else if (error.response.status === 500) {\r\n console.log(\"There was a server error while getting the Appeal Response Messages.\");\r\n console.log({error});\r\n console.log(error.toString());\r\n console.log(error.response.status);\r\n setMessage('There was a server error while getting the Appeal Response Messages.');\r\n setVariant('danger');\r\n setLoadingData(false);\r\n } else {\r\n console.log(\"There was an unknown problem with getting the Appeal Response Messages.\");\r\n console.log({error});\r\n console.log(error.toString());\r\n console.log(error.response.status);\r\n setMessage('There was an unknown problem with getting the Appeal Response Messages.');\r\n setVariant('danger');\r\n setLoadingData(false);\r\n }\r\n });\r\n }\r\n if (loadingData) {\r\n getData();\r\n }\r\n }\r\n }, [loadingData, authState, oktaAuth]);\r\n\r\n const {\r\n getTableProps,\r\n getTableBodyProps,\r\n headerGroups,\r\n page,\r\n nextPage,\r\n previousPage,\r\n canNextPage,\r\n canPreviousPage,\r\n pageOptions,\r\n gotoPage,\r\n pageCount,\r\n setPageSize,\r\n state,\r\n prepareRow,\r\n setGlobalFilter\r\n } = useTable({\r\n columns,\r\n data,\r\n defaultColumn\r\n },\r\n useFilters,\r\n useGlobalFilter,\r\n useSortBy,\r\n usePagination)\r\n\r\n const { globalFilter, pageIndex, pageSize } = state\r\n const generateSortingIndicator = column => {\r\n return column.isSorted ? (column.isSortedDesc ? \"Square : \"Square) : \"\"\r\n }\r\n\r\n return (\r\n
\r\n
\r\n
\r\n
\r\n
Coverage Gap Discount Program Appeals Portal - Request for Information Response Messages
\r\n
\r\n
\r\n
\r\n
\r\n \r\n
\r\n
\r\n {loadingData ? (

Loading. Please wait...

) : (\r\n \r\n \r\n {headerGroups.map((headerGroup) => (\r\n \r\n {headerGroup.headers.map( column => (\r\n \r\n ))}\r\n \r\n ))}\r\n \r\n {message ? : null}\r\n \r\n {page.map((row) => {\r\n prepareRow(row)\r\n return (\r\n getAppealId(row.original.AppealID), \r\n style: {\r\n cursor: 'pointer'\r\n }\r\n })}>\r\n {row.cells.map((cell) => {\r\n return \r\n })}\r\n \r\n )\r\n })}\r\n \r\n
\r\n
\r\n {column.render('Header')}\r\n {generateSortingIndicator(column)}\r\n
\r\n
{column.canFilter ? column.render('Filter') : null}
\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 \r\n \r\n \r\n Go to page: {''}\r\n {\r\n const pageNumber = e.target.value ? Number(e.target.value) - 1 : 0\r\n gotoPage(pageNumber)\r\n }}\r\n style={{ width: \"50px\" }}\r\n />\r\n \r\n \r\n \r\n\r\n \r\n
\r\n
\r\n \r\n Page{' '}\r\n \r\n {pageIndex + 1} of {pageOptions.length}\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\nexport default ViewResponseMessagesTable;","export default __webpack_public_path__ + \"static/media/exclamation-octagon-fill.3cd89195.svg\";","import React from 'react';\r\nimport ExlamationOctogon from '../../images/exclamation-octagon-fill.svg';\r\nimport './NotAuthorized.css';\r\n\r\n// displayed when unauthorized user ( does not have Admin or Mgr Okta group) tries to access Admin Home\r\nfunction NotAuthorized() {\r\n return (\r\n <>\r\n
\r\n \"Octogon\r\n

OOPS!! It looks like you're not authorized to view this page.

\r\n

If you believe this is in error, please contact the CGDP Team at cgdpappeals@provider-resources.com.

\r\n

Thank you!!

\r\n
\r\n \r\n )\r\n}\r\n\r\nexport default NotAuthorized;","import { useRef, useState } from 'react';\r\nimport { useOktaAuth } from '@okta/okta-react';\r\nimport IdleTimer from 'react-idle-timer';\r\nimport SessionTimeoutDialog from './SessionTimeoutModal';\r\n\r\nlet countdownInterval;\r\nlet timeout;\r\n\r\nconst SessionTimeout = () => {\r\n const { authState, oktaAuth } = useOktaAuth();\r\n const [timeoutModalOpen, setTimeoutModalOpen] = useState(false);\r\n const [timeoutCountdown, setTimeoutCountdown] = useState(0);\r\n const idleTimer = useRef(null);\r\n\r\n const clearSessionTimeout = () => {\r\n clearTimeout(timeout);\r\n };\r\n\r\n const clearSessionInterval = () => {\r\n clearInterval(countdownInterval);\r\n };\r\n\r\n const handleLogout = async (isTimedOut = false) => {\r\n try {\r\n setTimeoutModalOpen(false);\r\n clearSessionInterval();\r\n clearSessionTimeout();\r\n logout();\r\n } catch (error) {\r\n console.error(error);\r\n }\r\n };\r\n\r\n const handleContinue = () => {\r\n setTimeoutModalOpen(false);\r\n clearSessionInterval();\r\n clearSessionTimeout();\r\n };\r\n\r\n const onActive = () => {\r\n if (!timeoutModalOpen) {\r\n clearSessionInterval();\r\n clearSessionTimeout();\r\n }\r\n };\r\n\r\n const onIdle = () => {\r\n const delay = 1000 * 1;\r\n if (authState.isAuthenticated && !timeoutModalOpen) {\r\n timeout = setTimeout(() => {\r\n let countdown = 60;\r\n setTimeoutModalOpen(true);\r\n setTimeoutCountdown(countdown);\r\n countdownInterval = setInterval(() => {\r\n if (countdown > 0) {\r\n setTimeoutCountdown(--countdown);\r\n } else {\r\n handleLogout(true);\r\n }\r\n }, 1000);\r\n }, delay);\r\n }\r\n };\r\n\r\n // handle logout from Okta and clear session storage\r\n const logout = async () => {\r\n await oktaAuth.signOut();\r\n sessionStorage.removeItem(\"username\");\r\n sessionStorage.removeItem(\"group\");\r\n }\r\n\r\n return (\r\n <>\r\n \r\n handleLogout(false)}\r\n show={timeoutModalOpen}\r\n />\r\n \r\n )\r\n}\r\n\r\nexport default SessionTimeout;","import React, { Component } from 'react';\r\nimport { withOktaAuth } from '@okta/okta-react';\r\nimport axios from 'axios';\r\nimport Tabs from 'react-bootstrap/Tabs';\r\nimport Tab from 'react-bootstrap/Tab';\r\nimport ViewAllAppeals from './viewallappeals/ViewAllAppeals';\r\nimport ViewAppealDetails from './viewappealdetails/ViewAppealDetails';\r\nimport ViewResponseMessagesTable from './appealmessages/ViewResponseMessagesTable'\r\nimport SubmitANewAppealModal from '../submitanewappeal/sanamodal/SubmitANewAppealModal';\r\nimport NotAuthorized from '../auth/NotAuthorized';\r\nimport './AdminHome.css';\r\n\r\n// entry point for all Admin components\r\nexport default withOktaAuth(class AdminHome extends Component {\r\n constructor(props) {\r\n super(props);\r\n this.state = {\r\n eventKey: \"AllAppeals\",\r\n appealId: \"\",\r\n appealDate: new Date(),\r\n manufacturerName: \"\",\r\n pNumber: \"\",\r\n submitterName: \"\",\r\n submitterEmail: \"\",\r\n submitterPhone: \"\",\r\n altName: \"\",\r\n altEmail: \"\",\r\n altPhone: \"\",\r\n invoiceReportId: \"\",\r\n decision60Day: \"\",\r\n disputeDate: \"\",\r\n tpaDecisionDate: \"\",\r\n referenceNumber: \"\",\r\n resolutionCode: \"\",\r\n amountInvoicedControl: \"\",\r\n amountAppealedControl: \"\",\r\n ireReasonCode: \"\",\r\n explanationIreRequest: \"\",\r\n stage: \"\",\r\n appealFiles: [],\r\n appealMessages: [],\r\n showSubmitterModal: false,\r\n showStageModal: false,\r\n showRequestModal: false,\r\n downloadFiles: true,\r\n show: false,\r\n title: \"\",\r\n body: \"\",\r\n bodyText: \"\",\r\n data: [],\r\n feedback: [],\r\n isWarning: false,\r\n isError: false,\r\n loading: false,\r\n message: \"\",\r\n variant: \"\",\r\n isAdmin: false,\r\n isMgr: false\r\n }\r\n this.handleSelect = this.handleSelect.bind(this);\r\n this.setAppealId = this.setAppealId.bind(this);\r\n this.getAppealById = this.getAppealById.bind(this);\r\n this.getAppealInfo = this.getAppealInfo.bind(this);\r\n this.getAppealDataByAppealId = this.getAppealDataByAppealId.bind(this);\r\n this.getAppealData = this.getAppealData.bind(this);\r\n this.getAppealStage = this.getAppealStage.bind(this);\r\n this.renderTableData = this.renderTableData.bind(this);\r\n this.renderAppealMessagesTableData = this.renderAppealMessagesTableData.bind(this);\r\n this.handleChange = this.handleChange.bind(this);\r\n this.handleSubmitterModalOpen = this.handleSubmitterModalOpen.bind(this);\r\n this.handleStageModalOpen = this.handleStageModalOpen.bind(this);\r\n this.handleRequestModalOpen = this.handleRequestModalOpen.bind(this);\r\n this.handleModalOpen = this.handleModalOpen.bind(this);\r\n this.logout = this.logout.bind(this);\r\n this.checkSession = this.checkSession.bind(this);\r\n }\r\n\r\n // on page load, check if user is authenticated\r\n // if authenticated, get group membership, place in session storage, update appropriate state value\r\n componentDidMount() {\r\n if (this.props.authState?.isAuthenticated) {\r\n if (sessionStorage.getItem(\"group\") === process.env.REACT_APP_OKTA_ADMIN_ROLE) {\r\n this.setState({\r\n isAdmin: true\r\n });\r\n } else if (sessionStorage.getItem(\"group\") === process.env.REACT_APP_OKTA_MGR_ROLE) {\r\n this.setState({\r\n isMgr: true\r\n });\r\n } else {\r\n this.setState({\r\n isMgr: false,\r\n isAdmin: false\r\n });\r\n }\r\n this.checkSession();\r\n }\r\n }\r\n\r\n // On page update/reload check if user is authenticated\r\n // If authenticated get username and group memberships and place in session storage\r\n componentDidUpdate() {\r\n if (this.props.authState?.isAuthenticated) {\r\n this.checkSession();\r\n }\r\n }\r\n\r\n // handle logout from Okta and clear session storage\r\n async logout() {\r\n await this.props.oktaAuth.signOut();\r\n sessionStorage.removeItem(\"username\");\r\n sessionStorage.removeItem(\"group\");\r\n }\r\n\r\n // Check to see if the user has a valid Okta session\r\n // if no Okta session is found, log user out\r\n async checkSession() {\r\n const url = process.env.REACT_APP_OKTA_SESSION;\r\n await axios.get(url, {\r\n withCredentials: true\r\n })\r\n .then(res => {\r\n // console.log(\"Session Found in Admin Home.\");\r\n // console.log(res.data)\r\n })\r\n .catch(err => {\r\n console.log(\"No session found in Admin Home\");\r\n console.error(err);\r\n this.logout();\r\n })\r\n }\r\n\r\n // handle which Tab content displays\r\n handleSelect(eventKey) {\r\n switch(eventKey) {\r\n case \"AllAppeals\":\r\n this.setState({\r\n eventKey: eventKey\r\n });\r\n window.location.reload();\r\n break;\r\n case \"AppealDetails\":\r\n this.setState({\r\n eventKey: eventKey\r\n });\r\n break;\r\n case \"AppealResponses\":\r\n this.setState({\r\n eventKey: eventKey\r\n });\r\n break;\r\n default:\r\n break;\r\n }\r\n }\r\n\r\n // handle form field updates from UpdateSubmitterModal form\r\n handleChange(target, value) {\r\n this.setState({\r\n [target]: value\r\n });\r\n }\r\n\r\n // open/close SubmitANewAppealModal\r\n handleModalOpen = () => {\r\n this.setState((prevState) => {\r\n return {\r\n show: !prevState.show\r\n }\r\n })\r\n }\r\n\r\n // open/close UpdateSubmitterModal\r\n handleSubmitterModalOpen = () => {\r\n this.setState((prevState) => {\r\n return {\r\n showSubmitterModal: !prevState.showSubmitterModal\r\n }\r\n })\r\n }\r\n\r\n // open/close UpdateAppealStageModal\r\n handleStageModalOpen = () => {\r\n this.setState((prevState) => {\r\n return {\r\n showStageModal: !prevState.showStageModal\r\n }\r\n })\r\n }\r\n\r\n // open/close RequestInformationModal\r\n handleRequestModalOpen = () => {\r\n this.setState((prevState) => {\r\n return {\r\n showRequestModal: !prevState.showRequestModal\r\n }\r\n })\r\n }\r\n\r\n // use appeal id passed from row click and perform included actions to get appeal data for displaying in AppealDetails\r\n setAppealId(appealId) {\r\n this.setState({\r\n appealId: appealId\r\n }, () => {\r\n this.getAppealById(this.state.appealId);\r\n this.getAppealDataByAppealId(this.state.appealId);\r\n this.getAppealStage(this.state.appealId);\r\n this.renderTableData();\r\n this.renderAppealMessagesTableData();\r\n this.handleSelect('AppealDetails');\r\n });\r\n }\r\n\r\n // gets appeal record from Appeal table (via API)\r\n async getAppealById (appealId) {\r\n const accessToken = this.props.oktaAuth.getAccessToken();\r\n const url = (`${process.env.REACT_APP_API_BASE_URL}${process.env.REACT_APP_GET_APPEAL_BY_ID_URL}`);\r\n await axios.get(url, {\r\n headers: {\r\n Authorization: `Bearer ${accessToken}`\r\n },\r\n params: {\r\n id: appealId\r\n }\r\n })\r\n .then(res => {\r\n const appealInfo = res.data;\r\n this.getAppealInfo(appealInfo);\r\n })\r\n .catch(error => {\r\n console.log(\"There was a problem with the server while getting the Appeal.\");\r\n console.log(\"There was a problem getting the Appeal.\", error);\r\n console.log(error.request.status);\r\n console.log({error});\r\n if (error.request.status === 0) {\r\n console.log(\"The server did not respond when trying to get the Appeal.\");\r\n console.log(error.toString());\r\n console.log(error.request);\r\n this.setState({\r\n title: \"SERVER ERROR !\",\r\n isError: true,\r\n feedback: [\r\n {\r\n id: 1,\r\n msg: \"Please contact the CGPD Appeals Team at cgdpappeals@provider-resources.com for assistance.\"\r\n },\r\n {\r\n id: 2,\r\n msg: `Error Request Status: ${error.request.status}`\r\n }\r\n ]\r\n })\r\n this.setState(prevState => ({\r\n data: [ ...prevState.data, \r\n {\r\n id: 1, \r\n msg: \"The server did not respond when trying to get the Appeal.\", \r\n isChecked: false, \r\n isValid: false\r\n } \r\n ]\r\n }))\r\n this.handleModalOpen();\r\n } else if (error.response.status === 404) {\r\n console.log(\"The server could not find the Appeal in the database.\");\r\n console.log({error});\r\n console.log(error.toString());\r\n console.log(error.response.status);\r\n this.setState({\r\n title: \"SERVER ERROR !\",\r\n isError: true\r\n })\r\n this.setState(prevState => ({\r\n data: [ ...prevState.data, \r\n {\r\n id: 1, \r\n msg: \"The server could not find the Appeal in the database.\", \r\n isChecked: false, \r\n isValid: false\r\n } \r\n ],\r\n feedback: [ ...prevState.feedback,\r\n {\r\n id: 1,\r\n msg: \"Please contact the CGPD Appeals Team at cgdpappeals@provider-resources.com for assistance.\"\r\n },\r\n {\r\n id: 2,\r\n msg: `${error.response.data.title}. Error Response Status: ${error.response.status}`\r\n }\r\n ]\r\n }))\r\n this.handleModalOpen();\r\n } else if (error.response.status === 500) {\r\n console.log(\"There was a server error while getting the Appeal.\");\r\n console.log({error});\r\n console.log(error.toString());\r\n console.log(error.response.status);\r\n this.setState({\r\n title: \"SERVER ERROR !\",\r\n isError: true\r\n })\r\n this.setState(prevState => ({\r\n data: [ ...prevState.data, \r\n {\r\n id: 1, \r\n msg: \"There was a server error while getting the Appeal.\", \r\n isChecked: false, \r\n isValid: false\r\n } \r\n ],\r\n feedback: [ ...prevState.feedback,\r\n {\r\n id: 1,\r\n msg: \"Please contact the CGPD Appeals Team at cgdpappeals@provider-resources.com for assistance.\"\r\n },\r\n {\r\n id: 2,\r\n msg: `${error.response.data.title}. Error Response Status: ${error.response.status}`\r\n }\r\n ]\r\n }))\r\n this.handleModalOpen();\r\n } else {\r\n console.log(\"There was an unknown problem with getting the Appeal.\");\r\n console.log({error});\r\n console.log(error.toString());\r\n console.log(error.response.status);\r\n this.setState({\r\n title: \"SERVER ERROR !\",\r\n isError: true\r\n })\r\n this.setState(prevState => ({\r\n data: [ ...prevState.data, \r\n {\r\n id: 1, \r\n msg: \"There was an unknown problem with getting the Appeal.\", \r\n isChecked: false, \r\n isValid: false\r\n } \r\n ],\r\n feedback: [ ...prevState.feedback,\r\n {\r\n id: 1,\r\n msg: \"Please contact the CGPD Appeals Team at cgdpappeals@provider-resources.com for assistance.\"\r\n },\r\n {\r\n id: 2,\r\n msg: `${error.response.data.title}. Error Response Status: ${error.response.status}`\r\n }\r\n ]\r\n }))\r\n this.handleModalOpen();\r\n }\r\n });\r\n }\r\n\r\n // update state from returned appeal data from getAppealById\r\n getAppealInfo(appealInfo) {\r\n appealInfo.map((appeal) => {\r\n this.setState({\r\n appealId: appeal.AppealID,\r\n appealDate: appeal.AppealDate,\r\n manufacturerName: appeal.ManufacturerName,\r\n pNumber: appeal.PNumber,\r\n submitterName: appeal.ContactName,\r\n submitterEmail: appeal.Email,\r\n submitterPhone: appeal.Telephone,\r\n altName: appeal.AltContactName,\r\n altEmail: appeal.AltEmail,\r\n altPhone: appeal.AltTelephone,\r\n invoiceReportId: appeal.InvoiceID,\r\n decision60Day: appeal.TPADecision\r\n });\r\n return appeal;\r\n })\r\n }\r\n\r\n // gets appealdata record from AppealData table (via API) \r\n async getAppealDataByAppealId (appealId) {\r\n const accessToken = this.props.oktaAuth.getAccessToken();\r\n const url = (`${process.env.REACT_APP_API_BASE_URL}${process.env.REACT_APP_GET_APPEALDATA_BY_APPEALID_URL}`);\r\n await axios.get(url, {\r\n headers: {\r\n Authorization: `Bearer ${accessToken}`\r\n },\r\n params: {\r\n id: appealId\r\n }\r\n })\r\n .then(res => {\r\n const appealData = res.data;\r\n this.getAppealData(appealData);\r\n })\r\n .catch(error => {\r\n console.log(\"There was a problem with the server while getting the Appeal Data.\");\r\n console.log(\"There was a problem getting the Appeal.\", error);\r\n console.log(error.request.status);\r\n console.log({error});\r\n if (error.request.status === 0) {\r\n console.log(\"The server did not respond when trying to get the Appeal Data.\");\r\n console.log(error.toString());\r\n console.log(error.request);\r\n this.setState({\r\n title: \"SERVER ERROR !\",\r\n isError: true,\r\n feedback: [\r\n {\r\n id: 3,\r\n msg: \"Please contact the CGPD Appeals Team at cgdpappeals@provider-resources.com for assistance.\"\r\n },\r\n {\r\n id: 4,\r\n msg: `Error Request Status: ${error.request.status}`\r\n }\r\n ]\r\n })\r\n this.setState(prevState => ({\r\n data: [ ...prevState.data, \r\n {\r\n id: 2, \r\n msg: \"The server did not respond when trying to get the Appeal Data.\", \r\n isChecked: false, \r\n isValid: false\r\n } \r\n ]\r\n }))\r\n this.handleModalOpen();\r\n } else if (error.response.status === 404) {\r\n console.log(\"The server could not find the Appeal in the database.\");\r\n console.log({error});\r\n console.log(error.toString());\r\n console.log(error.response.status);\r\n this.setState({\r\n title: \"SERVER ERROR !\",\r\n isError: true\r\n })\r\n this.setState(prevState => ({\r\n data: [ ...prevState.data, \r\n {\r\n id: 2, \r\n msg: \"The server could not find the Appeal in the database.\", \r\n isChecked: false, \r\n isValid: false\r\n } \r\n ],\r\n feedback: [ ...prevState.feedback,\r\n {\r\n id: 3,\r\n msg: \"Please contact the CGPD Appeals Team at cgdpappeals@provider-resources.com for assistance.\"\r\n },\r\n {\r\n id: 4,\r\n msg: `${error.response.data.title}. Error Response Status: ${error.response.status}`\r\n }\r\n ]\r\n }))\r\n this.handleModalOpen();\r\n } else if (error.response.status === 500) {\r\n console.log(\"There was a server error while getting the Appeal Data.\");\r\n console.log({error});\r\n console.log(error.toString());\r\n console.log(error.response.status);\r\n this.setState({\r\n title: \"SERVER ERROR !\",\r\n isError: true\r\n })\r\n this.setState(prevState => ({\r\n data: [ ...prevState.data, \r\n {\r\n id: 2, \r\n msg: \"There was a server error while getting the Appeal Data.\", \r\n isChecked: false, \r\n isValid: false\r\n } \r\n ],\r\n feedback: [ ...prevState.feedback,\r\n {\r\n id: 3,\r\n msg: \"Please contact the CGPD Appeals Team at cgdpappeals@provider-resources.com for assistance.\"\r\n },\r\n {\r\n id: 4,\r\n msg: `${error.response.data.title}. Error Response Status: ${error.response.status}`\r\n }\r\n ]\r\n }))\r\n this.handleModalOpen();\r\n } else {\r\n console.log(\"There was an unknown problem with getting the Appeal Data.\");\r\n console.log({error});\r\n console.log(error.toString());\r\n console.log(error.response.status);\r\n this.setState({\r\n title: \"SERVER ERROR !\",\r\n isError: true\r\n })\r\n this.setState(prevState => ({\r\n data: [ ...prevState.data, \r\n {\r\n id: 2, \r\n msg: \"There was an unknown problem with getting the Appeal Data..\", \r\n isChecked: false, \r\n isValid: false\r\n } \r\n ],\r\n feedback: [ ...prevState.feedback,\r\n {\r\n id: 3,\r\n msg: \"Please contact the CGPD Appeals Team at cgdpappeals@provider-resources.com for assistance.\"\r\n },\r\n {\r\n id: 4,\r\n msg: `${error.response.data.title}. Error Response Status: ${error.response.status}`\r\n }\r\n ]\r\n }))\r\n this.handleModalOpen();\r\n }\r\n });\r\n }\r\n\r\n // update state from returned appeal data from getAppealDataByAppealId\r\n getAppealData(appealData) {\r\n appealData.map((appeal) => {\r\n this.setState({\r\n referenceNumber: appeal.RefNumber,\r\n resolutionCode: appeal.DisputeResolutionCode,\r\n amountInvoicedControl: appeal.AmtInvoiced,\r\n amountAppealedControl: appeal.AmtDispute,\r\n ireReasonCode: appeal.AppealReasonCode,\r\n explanationIreRequest: appeal.Explanation,\r\n disputeDate: appeal.DateDispute,\r\n tpaDecisionDate: appeal.DateDecision\r\n });\r\n return appeal;\r\n })\r\n }\r\n\r\n // get appeal files from database (via API) and display in table\r\n async renderTableData() {\r\n this.setState({\r\n loading: true\r\n });\r\n const accessToken = this.props.oktaAuth.getAccessToken();\r\n const url = (`${process.env.REACT_APP_API_BASE_URL}${process.env.REACT_APP_GET_APPEAL_FILES_BASE_URL}`);\r\n await axios.get(url, {\r\n headers: {\r\n Authorization: `Bearer ${accessToken}`\r\n },\r\n params: {\r\n appealId: this.state.appealId\r\n }\r\n })\r\n .then (res => {\r\n this.setState({\r\n loading: false,\r\n appealFiles: res.data\r\n });\r\n })\r\n .catch(error => {\r\n console.log(\"There was a problem with the server while getting the Appeal Files.\");\r\n console.log(\"There was a problem getting the Appeal Files.\", error);\r\n console.log(error.request.status);\r\n console.log({error});\r\n if (error.request.status === 0) {\r\n console.log(\"The server did not respond when getting the Appeal Files.\");\r\n console.log(error.toString());\r\n console.log(error.request);\r\n this.setState({\r\n loading: false,\r\n message: \"The server did not respond when getting the Appeal Files.\",\r\n variant: \"danger\"\r\n });\r\n } else if (error.response.status === 500) {\r\n console.log(\"There was a server error while getting the Appeal Files.\");\r\n console.log({error});\r\n console.log(error.toString());\r\n console.log(error.response.status);\r\n this.setState({\r\n loading: false,\r\n message: \"There was a server error while getting the Appeal Files.\",\r\n variant: \"danger\"\r\n });\r\n } else {\r\n console.log(\"There was an unknown problem with getting the Appeal Files.\");\r\n console.log({error});\r\n console.log(error.toString());\r\n console.log(error.response.status);\r\n this.setState({\r\n loading: false,\r\n message: \"There was an unknown problem with getting the Appeal Files.\",\r\n variant: \"danger\"\r\n });\r\n }\r\n });\r\n }\r\n\r\n // get appeal messages from database (via API) and display in table\r\n async renderAppealMessagesTableData() {\r\n this.setState({\r\n loading: true\r\n });\r\n const accessToken = this.props.oktaAuth.getAccessToken();\r\n const url = (`${process.env.REACT_APP_API_BASE_URL}${process.env.REACT_APP_GET_APPEAL_MESSAGES_URL}`);\r\n await axios.get(url, {\r\n headers: {\r\n Authorization: `Bearer ${accessToken}`\r\n },\r\n params: {\r\n appealId: this.state.appealId\r\n }\r\n })\r\n .then (res => {\r\n this.setState({\r\n loading: false,\r\n appealMessages: res.data\r\n });\r\n })\r\n .catch(error => {\r\n console.log(\"There was a problem with the server while getting the Appeal Messages.\");\r\n console.log(\"There was a problem getting the Appeal Files.\", error);\r\n console.log(error.request.status);\r\n console.log({error});\r\n if (error.request.status === 0) {\r\n console.log(\"The server did not respond when getting the Appeal Messages.\");\r\n console.log(error.toString());\r\n console.log(error.request);\r\n this.setState({\r\n loading: false,\r\n message: \"The server did not respond when getting the Appeal Messages.\",\r\n variant: \"danger\"\r\n });\r\n } else if (error.response.status === 500) {\r\n console.log(\"There was a server error while getting the Appeal Messages.\");\r\n console.log({error});\r\n console.log(error.toString());\r\n console.log(error.response.status);\r\n this.setState({\r\n loading: false,\r\n message: \"There was a server error while getting the Appeal Messages.\",\r\n variant: \"danger\"\r\n });\r\n } else {\r\n console.log(\"There was an unknown problem with getting the Appeal Messages.\");\r\n console.log({error});\r\n console.log(error.toString());\r\n console.log(error.response.status);\r\n this.setState({\r\n loading: false,\r\n message: \"There was an unknown problem with getting the Appeal Messages.\",\r\n variant: \"danger\"\r\n });\r\n }\r\n });\r\n }\r\n\r\n // get appeal stage from database (via API)\r\n async getAppealStage(appealId) {\r\n const accessToken = this.props.oktaAuth.getAccessToken();\r\n const url = (`${process.env.REACT_APP_API_BASE_URL}${process.env.REACT_APP_GET_APPEAL_STAGE_URL}`);\r\n await axios.get(url, {\r\n headers: {\r\n Authorization: `Bearer ${accessToken}`\r\n },\r\n params: {\r\n id: appealId\r\n }\r\n })\r\n .then(res => {\r\n const appealStage = res.data;\r\n appealStage.map((stage) => {\r\n this.setState({\r\n stage: stage.Stage\r\n });\r\n return stage.Stage;\r\n })\r\n })\r\n .catch(error => {\r\n console.log(\"There was a problem with the server while getting the Appeal Stage.\");\r\n console.log(\"There was a problem getting the Appeal.\", error);\r\n console.log(error.request.status);\r\n console.log({error});\r\n if (error.request.status === 0) {\r\n console.log(\"The server did not respond when trying to get the Appeal Stage.\");\r\n console.log(error.toString());\r\n console.log(error.request);\r\n this.setState({\r\n title: \"SERVER ERROR !\",\r\n isError: true,\r\n feedback: [\r\n {\r\n id: 5,\r\n msg: \"Please contact the CGPD Appeals Team at cgdpappeals@provider-resources.com for assistance.\"\r\n },\r\n {\r\n id: 6,\r\n msg: `Error Request Status: ${error.request.status}`\r\n }\r\n ]\r\n })\r\n this.setState(prevState => ({\r\n data: [ ...prevState.data, \r\n {\r\n id: 3, \r\n msg: \"The server did not respond when trying to get the Appeal Stage.\", \r\n isChecked: false, \r\n isValid: false\r\n } \r\n ]\r\n }))\r\n this.handleModalOpen();\r\n } else if (error.response.status === 404) {\r\n console.log(\"The server could not find the Appeal in the database.\");\r\n console.log({error});\r\n console.log(error.toString());\r\n console.log(error.response.status);\r\n this.setState({\r\n title: \"SERVER ERROR !\",\r\n isError: true\r\n })\r\n this.setState(prevState => ({\r\n data: [ ...prevState.data, \r\n {\r\n id: 3, \r\n msg: \"The server could not find the Appeal in the database.\", \r\n isChecked: false, \r\n isValid: false\r\n } \r\n ],\r\n feedback: [ ...prevState.feedback,\r\n {\r\n id: 5,\r\n msg: \"Please contact the CGPD Appeals Team at cgdpappeals@provider-resources.com for assistance.\"\r\n },\r\n {\r\n id: 6,\r\n msg: `${error.response.data.title}. Error Response Status: ${error.response.status}`\r\n }\r\n ]\r\n }))\r\n this.handleModalOpen();\r\n } else if (error.response.status === 500) {\r\n console.log(\"There was a server error while getting the Appeal Stage.\");\r\n console.log({error});\r\n console.log(error.toString());\r\n console.log(error.response.status);\r\n this.setState({\r\n title: \"SERVER ERROR !\",\r\n isError: true\r\n })\r\n this.setState(prevState => ({\r\n data: [ ...prevState.data, \r\n {\r\n id: 3, \r\n msg: \"There was a server error while getting the Appeal Stage.\", \r\n isChecked: false, \r\n isValid: false\r\n } \r\n ],\r\n feedback: [ ...prevState.feedback,\r\n {\r\n id: 5,\r\n msg: \"Please contact the CGPD Appeals Team at cgdpappeals@provider-resources.com for assistance.\"\r\n },\r\n {\r\n id: 6,\r\n msg: `${error.response.data.title}. Error Response Status: ${error.response.status}`\r\n }\r\n ]\r\n }))\r\n this.handleModalOpen();\r\n } else {\r\n console.log(\"There was an unknown problem with getting the Appeal Stage.\");\r\n console.log({error});\r\n console.log(error.toString());\r\n console.log(error.response.status);\r\n this.setState({\r\n title: \"SERVER ERROR !\",\r\n isError: true\r\n })\r\n this.setState(prevState => ({\r\n data: [ ...prevState.data, \r\n {\r\n id: 3, \r\n msg: \"There was an unknown problem with getting the Appeal Stage.\", \r\n isChecked: false, \r\n isValid: false\r\n } \r\n ],\r\n feedback: [ ...prevState.feedback,\r\n {\r\n id: 5,\r\n msg: \"Please contact the CGPD Appeals Team at cgdpappeals@provider-resources.com for assistance.\"\r\n },\r\n {\r\n id: 6,\r\n msg: `${error.response.data.title}. Error Response Status: ${error.response.status}`\r\n }\r\n ]\r\n }))\r\n this.handleModalOpen();\r\n }\r\n });\r\n }\r\n\r\n render() {\r\n // compile appeal data into objects for passing to child components\r\n const contactReview = {\r\n appealId: this.state.appealId,\r\n manufacturerName: this.state.manufacturerName,\r\n pNumber: this.state.pNumber,\r\n submitterName: this.state.submitterName,\r\n submitterEmail: this.state.submitterEmail,\r\n submitterPhone: this.state.submitterPhone,\r\n altName: this.state.altName,\r\n altEmail: this.state.altEmail,\r\n altPhone: this.state.altPhone,\r\n invoiceReportId: this.state.invoiceReportId,\r\n decision60Day: this.state.decision60Day\r\n }\r\n\r\n const appealDataReview = {\r\n invoiceReportId: this.state.invoiceReportId,\r\n referenceNumber: this.state.referenceNumber,\r\n decision60Day: this.state.decision60Day,\r\n disputeDate: this.state.disputeDate,\r\n tpaDecisionDate: this.state.tpaDecisionDate,\r\n resolutionCode: this.state.resolutionCode,\r\n ireReasonCode: this.state.ireReasonCode,\r\n explanationIreRequest: this.state.explanationIreRequest,\r\n amountInvoicedControl: this.state.amountInvoicedControl,\r\n amountAppealedControl: this.state.amountAppealedControl\r\n }\r\n\r\n // check if user has Admin or Mgr group membership\r\n // if not, display Not Authorized page\r\n // if does, display Admin tab content\r\n // this prevents user from accessing AdminHome by bypassing Navigation menu and typing directly into browser url\r\n let body = null;\r\n if (!this.state.isAdmin && !this.state.isMgr) {\r\n body = <>\r\n \r\n \r\n } else {\r\n body = <>\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 return (\r\n <>\r\n {body}\r\n \r\n )\r\n }\r\n});","export default __webpack_public_path__ + \"static/media/CMS_Logo.f5234729.svg\";","import React, { Component } from 'react';\r\nimport PRILogo from '../../images/PRI_Logo.jpg';\r\nimport CMSLogo from '../../images/CMS_Logo.svg';\r\nimport './LogoHeader.css';\r\n\r\nclass LogoHeader extends Component {\r\n render() {\r\n return (\r\n
\r\n \"PRI\r\n \"CMS\r\n
\r\n )\r\n }\r\n}\r\n\r\nexport default LogoHeader;","export default \"data:image/jpeg;base64,/9j/4gxYSUNDX1BST0ZJTEUAAQEAAAxITGlubwIQAABtbnRyUkdCIFhZWiAHzgACAAkABgAxAABhY3NwTVNGVAAAAABJRUMgc1JHQgAAAAAAAAAAAAAAAAAA9tYAAQAAAADTLUhQICAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABFjcHJ0AAABUAAAADNkZXNjAAABhAAAAGx3dHB0AAAB8AAAABRia3B0AAACBAAAABRyWFlaAAACGAAAABRnWFlaAAACLAAAABRiWFlaAAACQAAAABRkbW5kAAACVAAAAHBkbWRkAAACxAAAAIh2dWVkAAADTAAAAIZ2aWV3AAAD1AAAACRsdW1pAAAD+AAAABRtZWFzAAAEDAAAACR0ZWNoAAAEMAAAAAxyVFJDAAAEPAAACAxnVFJDAAAEPAAACAxiVFJDAAAEPAAACAx0ZXh0AAAAAENvcHlyaWdodCAoYykgMTk5OCBIZXdsZXR0LVBhY2thcmQgQ29tcGFueQAAZGVzYwAAAAAAAAASc1JHQiBJRUM2MTk2Ni0yLjEAAAAAAAAAAAAAABJzUkdCIElFQzYxOTY2LTIuMQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAWFlaIAAAAAAAAPNRAAEAAAABFsxYWVogAAAAAAAAAAAAAAAAAAAAAFhZWiAAAAAAAABvogAAOPUAAAOQWFlaIAAAAAAAAGKZAAC3hQAAGNpYWVogAAAAAAAAJKAAAA+EAAC2z2Rlc2MAAAAAAAAAFklFQyBodHRwOi8vd3d3LmllYy5jaAAAAAAAAAAAAAAAFklFQyBodHRwOi8vd3d3LmllYy5jaAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABkZXNjAAAAAAAAAC5JRUMgNjE5NjYtMi4xIERlZmF1bHQgUkdCIGNvbG91ciBzcGFjZSAtIHNSR0IAAAAAAAAAAAAAAC5JRUMgNjE5NjYtMi4xIERlZmF1bHQgUkdCIGNvbG91ciBzcGFjZSAtIHNSR0IAAAAAAAAAAAAAAAAAAAAAAAAAAAAAZGVzYwAAAAAAAAAsUmVmZXJlbmNlIFZpZXdpbmcgQ29uZGl0aW9uIGluIElFQzYxOTY2LTIuMQAAAAAAAAAAAAAALFJlZmVyZW5jZSBWaWV3aW5nIENvbmRpdGlvbiBpbiBJRUM2MTk2Ni0yLjEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAHZpZXcAAAAAABOk/gAUXy4AEM8UAAPtzAAEEwsAA1yeAAAAAVhZWiAAAAAAAEwJVgBQAAAAVx/nbWVhcwAAAAAAAAABAAAAAAAAAAAAAAAAAAAAAAAAAo8AAAACc2lnIAAAAABDUlQgY3VydgAAAAAAAAQAAAAABQAKAA8AFAAZAB4AIwAoAC0AMgA3ADsAQABFAEoATwBUAFkAXgBjAGgAbQByAHcAfACBAIYAiwCQAJUAmgCfAKQAqQCuALIAtwC8AMEAxgDLANAA1QDbAOAA5QDrAPAA9gD7AQEBBwENARMBGQEfASUBKwEyATgBPgFFAUwBUgFZAWABZwFuAXUBfAGDAYsBkgGaAaEBqQGxAbkBwQHJAdEB2QHhAekB8gH6AgMCDAIUAh0CJgIvAjgCQQJLAlQCXQJnAnECegKEAo4CmAKiAqwCtgLBAssC1QLgAusC9QMAAwsDFgMhAy0DOANDA08DWgNmA3IDfgOKA5YDogOuA7oDxwPTA+AD7AP5BAYEEwQgBC0EOwRIBFUEYwRxBH4EjASaBKgEtgTEBNME4QTwBP4FDQUcBSsFOgVJBVgFZwV3BYYFlgWmBbUFxQXVBeUF9gYGBhYGJwY3BkgGWQZqBnsGjAadBq8GwAbRBuMG9QcHBxkHKwc9B08HYQd0B4YHmQesB78H0gflB/gICwgfCDIIRghaCG4IggiWCKoIvgjSCOcI+wkQCSUJOglPCWQJeQmPCaQJugnPCeUJ+woRCicKPQpUCmoKgQqYCq4KxQrcCvMLCwsiCzkLUQtpC4ALmAuwC8gL4Qv5DBIMKgxDDFwMdQyODKcMwAzZDPMNDQ0mDUANWg10DY4NqQ3DDd4N+A4TDi4OSQ5kDn8Omw62DtIO7g8JDyUPQQ9eD3oPlg+zD88P7BAJECYQQxBhEH4QmxC5ENcQ9RETETERTxFtEYwRqhHJEegSBxImEkUSZBKEEqMSwxLjEwMTIxNDE2MTgxOkE8UT5RQGFCcUSRRqFIsUrRTOFPAVEhU0FVYVeBWbFb0V4BYDFiYWSRZsFo8WshbWFvoXHRdBF2UXiReuF9IX9xgbGEAYZRiKGK8Y1Rj6GSAZRRlrGZEZtxndGgQaKhpRGncanhrFGuwbFBs7G2MbihuyG9ocAhwqHFIcexyjHMwc9R0eHUcdcB2ZHcMd7B4WHkAeah6UHr4e6R8THz4faR+UH78f6iAVIEEgbCCYIMQg8CEcIUghdSGhIc4h+yInIlUigiKvIt0jCiM4I2YjlCPCI/AkHyRNJHwkqyTaJQklOCVoJZclxyX3JicmVyaHJrcm6CcYJ0kneierJ9woDSg/KHEooijUKQYpOClrKZ0p0CoCKjUqaCqbKs8rAis2K2krnSvRLAUsOSxuLKIs1y0MLUEtdi2rLeEuFi5MLoIuty7uLyQvWi+RL8cv/jA1MGwwpDDbMRIxSjGCMbox8jIqMmMymzLUMw0zRjN/M7gz8TQrNGU0njTYNRM1TTWHNcI1/TY3NnI2rjbpNyQ3YDecN9c4FDhQOIw4yDkFOUI5fzm8Ofk6Njp0OrI67zstO2s7qjvoPCc8ZTykPOM9Ij1hPaE94D4gPmA+oD7gPyE/YT+iP+JAI0BkQKZA50EpQWpBrEHuQjBCckK1QvdDOkN9Q8BEA0RHRIpEzkUSRVVFmkXeRiJGZ0arRvBHNUd7R8BIBUhLSJFI10kdSWNJqUnwSjdKfUrESwxLU0uaS+JMKkxyTLpNAk1KTZNN3E4lTm5Ot08AT0lPk0/dUCdQcVC7UQZRUFGbUeZSMVJ8UsdTE1NfU6pT9lRCVI9U21UoVXVVwlYPVlxWqVb3V0RXklfgWC9YfVjLWRpZaVm4WgdaVlqmWvVbRVuVW+VcNVyGXNZdJ114XcleGl5sXr1fD19hX7NgBWBXYKpg/GFPYaJh9WJJYpxi8GNDY5dj62RAZJRk6WU9ZZJl52Y9ZpJm6Gc9Z5Nn6Wg/aJZo7GlDaZpp8WpIap9q92tPa6dr/2xXbK9tCG1gbbluEm5rbsRvHm94b9FwK3CGcOBxOnGVcfByS3KmcwFzXXO4dBR0cHTMdSh1hXXhdj52m3b4d1Z3s3gReG54zHkqeYl553pGeqV7BHtje8J8IXyBfOF9QX2hfgF+Yn7CfyN/hH/lgEeAqIEKgWuBzYIwgpKC9INXg7qEHYSAhOOFR4Wrhg6GcobXhzuHn4gEiGmIzokziZmJ/opkisqLMIuWi/yMY4zKjTGNmI3/jmaOzo82j56QBpBukNaRP5GokhGSepLjk02TtpQglIqU9JVflcmWNJaflwqXdZfgmEyYuJkkmZCZ/JpomtWbQpuvnByciZz3nWSd0p5Anq6fHZ+Ln/qgaaDYoUehtqImopajBqN2o+akVqTHpTilqaYapoum/adup+CoUqjEqTepqaocqo+rAqt1q+msXKzQrUStuK4trqGvFq+LsACwdbDqsWCx1rJLssKzOLOutCW0nLUTtYq2AbZ5tvC3aLfguFm40blKucK6O7q1uy67p7whvJu9Fb2Pvgq+hL7/v3q/9cBwwOzBZ8Hjwl/C28NYw9TEUcTOxUvFyMZGxsPHQce/yD3IvMk6ybnKOMq3yzbLtsw1zLXNNc21zjbOts83z7jQOdC60TzRvtI/0sHTRNPG1EnUy9VO1dHWVdbY11zX4Nhk2OjZbNnx2nba+9uA3AXcit0Q3ZbeHN6i3ynfr+A24L3hROHM4lPi2+Nj4+vkc+T85YTmDeaW5x/nqegy6LzpRunQ6lvq5etw6/vshu0R7ZzuKO6070DvzPBY8OXxcvH/8ozzGfOn9DT0wvVQ9d72bfb794r4Gfio+Tj5x/pX+uf7d/wH/Jj9Kf26/kv+3P9t////7gAhQWRvYmUAZIAAAAABAwAQAwIDBgAAAAAAAAAAAAAAAP/bAIQADAgICAkIDAkJDBELCgsRFQ8MDA8VGBMTFRMTGBEMDAwMDAwRDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAENCwsNDg0QDg4QFA4ODhQUDg4ODhQRDAwMDAwREQwMDAwMDBEMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwM/8IAEQgAlgCWAwEiAAIRAQMRAf/EANAAAAEFAQEBAAAAAAAAAAAAAAADBAUGBwIBCAEAAwEBAAAAAAAAAAAAAAAAAAECAwQQAAEEAQMBBwQBBQEAAAAAAAEAAgMEBRESBhUhMhMUNgcnEDE1FiIgMEEjMxcRAAIBAgIEBgsLCQcFAQAAAAECAwAEERIhIhMFMVFxMkIjQWFSYnKy0jOTpDUQobGCkkNjsxR0BoGRosLiU3PD0yDw0YOjJDTB4eNEFVQSAAIBBAEEAgMBAAAAAAAAAAABERAhMQKBIFGRMmESMEFxwf/aAAwDAQECEQMRAAAA1Rk8+etFvJg5rO8GEAbuYRwG9eYN6G8e4R6G7GEAbuYT6G6q4LepehFGMKv3z19C/PXRHXvHvRHZz4HRyB6HIdHSjSI49E2HPA0r3SLzlTgDj2vvz39CfPvRnwdXPaaX7bqgHvPs5cxknIu1EapMscra+uO06g1uVeqmN8p1ulvQOXS+/P30D889GfWj5rsLKnEzyUOJn14m8+VE5uKh3yMmxBNbkEqJoMbapN9o15Legct3354+h/nzozT0nPpihx3LQ2bdTVOUallJr2HHuHPIJppv0RzJ6nSzy/0C/wCw9A5NL7g284t0ZKQbmW0TeSh38N87jpHME1E5c7ywfKlGbpJqNU9KM6vtDvmyegcml9xPbMS2zTbv+98oxCYZNuXtbfp2NzEymJ7Yq9JTTqNUSsUHrlVjl/krEysAc933DdywjfN12371g4cDUcymELniwVydqXhzL46pPm7vK5KSbSOb7QXQiqaAO+4ZulE1ik93brSaWvb/AEdVj74iTQ0b6jpDZSZaw0ppFljpJz0b1FSCDZBOugDvtMwoFuphQPdTCgN1MKA3UwoDdTCgN1MKA3UwoDdTCgPog+dwX//aAAgBAgABBQCKPevLBeWC8uF5cLywXlwvLBSQhrVX/p0K0K0KnH+tVk5zWprmuWiLwEZwvEcUHuUrtY1XVhNcBI6fUnQoOaEJO1sjdJNDGqymGqJLnOYQi3t29u0lNYdJv+aru2jcGIiNO27tQtQgRqCNsv8AzUP2a8p2pWwlPiLVomsTiCZZAWqALRB5C01QbqnBrE55KJ+sUgYvMBeYQnGvmWayyxPLiwon+7//2gAIAQMAAQUAcdFvW9b1vC3revETXalP/p1C3NW4JhG5PQBKIIRcAu1yEa2BABNboU8JicDtES7UWlFqDTqPunlN+3+NQgVqtVu7W/dSDUjUr+S/lp2r/Hau3Vv3T/uWhNICJAQdqgiUOwNHan/QsBQcWpztE0lwAAQ+rmkrYVsKdFqBC7SJkjBo5Af3f//aAAgBAQABBQBddwi67hF13CLruEXXcIuuYRdcwi67g117Brr2DXXcIV1zCLrmFXXMKuuYRdcwihyOPnjbeougk7mxpOxq2NWxq2NREYRBK8JCFqDGBbWrQLRq0Yg1hXhtXt60DBUQP0OTuA6EFarVarULcFvC3LcVuW9q8Ri3tWrCtSF7eOLsFR9CSdzTtB0W5ahdn00X2QfuLYJXIUnFCgV5FyNKUJ1eRqbG1y9vmhuDo+hJO4futFotNPpvLlXxkkqhxYAZRY0CswLwmNQa1ZSKWpbE0qFuyF7eSvkwVH0JJ3NO09gqe12VsQZH2z5BUhJDUIi84/EEBxr1xTpW7rrGNp44Oz3GIiM9l3sGX5iRkMpyxtTrNO4LMOPpO9t9eg0fQj+4dApHjb7kF44L7XXr8Wb5nDXi5licc1ra+HyVyEZTh+InlyfLcyyDi1etDHVijAqSGqGBwfF/HI1TTvSSOkXtx+Co+hJO4Xdru5n5uNwcWd7gcXwdRnD4nT9QwuJxVyoOVx2MPShwtaGtBicp/t49dkxeIp3bNKxwqF9DH4RtvHW8fl+O4+5jLjsebXtx+Co+hJO4BqXdo9wiLHDRjsLxtnOJm2GRxx8mwG6vxqpxF7XRZovldyyKOPimVxpzeQz0dWtxXxsnawWSr8yGP5HAIvb4DQe3H4Kj6Ef3DC9qp0Lt+w69juNjp2WHF+cVaMLsZiq8EderBZtUsTVq08dgcfQfdwVO7PkOP0b4j4ZiWNtYSjbrjiWNjfexFS4wdg9uPwVH0I/uMa978jbOIgFdldZXKx5XE3+Qtux2LNKrDi8pkK+Ox2RsTW48zkw3J5OWscZeyD62JOTjxuKuXJp8tmM1JcuX7Vak/Xf7cfgqPoR/cwsnlG46KATXchxeWlVloQ1YX42WWDLYyIVshWmllzVJtyLM40CtyvHV03l2P2ZjPwxPfyTGRq3ybHvYzO4/dM4Pn9uPwVH0I/uUDFXFrHXaIHhKWKCUQQ33OgjdC2rLjYHeFDZa3H0wPIUWudQw89aXH416fjMZBLTxlORktOjUrD7e3BHQqPoR/ca5V5L9JOzuaDjm8zpdsZG2yJkld1eyxr6OQLhHYEg8RVLe2pNe1FWJ91znmR2dwk1jAYr25w0COMpY3DUfQj+41xTXFEhzXQOagAVPXJX8gcfYMczTox1hwbBac+KvjnlPmBGDpmR8e25ZWS/FUfQj+4yZhLZGoStTZQpI2SIaOD6zfFkgESwtoSN8vE2eLwa4MhKxtF9yS/ZMKghjghWS/FUfQj+4KBJGMBTcQCm4VqZhYk3DwtE0RaT2HFyvgvTw+PW8ZjI6NfzMl/K1MFU4vUnMf0yX4qj6EI1DcFwXQYXg4QxHCAhi+EhDHcLCFHhgU2G4PM5vHuCMX6pwDxfL8REUWH4VG6IcShTsVw6W1HnuPRj9iwC/YsAshyDCSY+j6Ek27B/5vp8br43XxuvjhfHC+OF8br44XxuvjdfG6+N18br44XxuvjdQfqX6/wD/2gAIAQICBj8Ad4g9j2PZmT2PZnsPaZptx04q+KbcF3BZydiyj5Zmf4W1ZL18D4ptwan2j66ka+WN7bTA8D7DbY2qbcGsZ7C+3fBslH1dJ+RyPgfFN3/D7bJvba47tOZHDs+hqcj4psu8EPVM9C6Xg7qkvCOywNKm3FLkqw08l1wdkiauf3WWJ3t8Cu7fBZv83//aAAgBAwIGPwCmDFMGDBFF056UWr/hjyZM1QyFdk7eCEomi6EMsJ9uhV1X9IULVWO6iBSsdaJTaIe0lq26FSxDPssfst0qtjZOLoi3kv8Am//aAAgBAQEGPwCvaFr6aPy69oWvpo/Lr2ha+mj8uvaFr6aPy69oWvpo/Lr2ha+mj8uvaFr6aPy69o2vpo/Lr2ja+mj8uvaNr6aPy69oWvpo/Lr2ha+mj8uvaFr6aPy69oWvpo/Lr2ha+mj8uvaFr6aPy6klguYpo4RjK8bq4UYZtcoWy6oprhbiIwIcrSh1KA6NVnxy9JabkNHQOE/DXAPzVwCuAfmrmitIHJhWhcByVzRWkDkrmiuaK5ormD3q4MPyVoArmit/6MNT+VLW8Rho+1L49rTcho8p+H+1w+5wGuCuCtOiuGuGuGtVse0a3/iMME/lS1vH70vj2tNyGjyn4fd4a4fdxOgVhGC596tOjkrTjXNrmVzD+ascuA7YrDDBq3+B3H8qWt4/el8e1puQ0eU/D/Z4hWEYx748H7VBpMW7XAKGIwHENArgrQK04CtBFMokYRya8eseA8K/FasRI35zXnCeUA1v/PhiE4QMPmpa3j96Xx7Wm5DR5T8NE8VRzte26LKocAK7EBhmHcU01s8N6F0mOPFZCB3Cyaj+DnrAg5scMvSxGggisZNI7CDg/aoSTjBuwvFWU4ZwMcg4cOPvaAtYXmHGg1dPG51Kx3zvG2sOOLNtZfRR0BZ2d5vVxoLORBGeTL1n6NYWO6bGzBOhnQyuB4Up/VrKL6OFeKKGJf1Kd/t4uCgzGOWGKQEDnDLLE3RrLvfd8OnR9t3egt51+ka2X/Z3WX93s4ZH/e09rcI9xNkDwXUL4RSJIDJbXOR9bI0bJmi6EiSR1v8Ax/dj6qWt4/el8e1puQ0eU/DRA06K3eFYrmmtVJUkaDG/c0+7UlklsngaWWJ2LrGylRHMuYnZ7Tzf0lbzSADBmjkbD948aPL+lr0LufDH5pTwD6TyKacFLCyUYte3RyLhxxo+Df5j0wsIpvxFvBudPJqWwPGMfOZfBl/iVkkuRu60wwFtaDZgKejnHWt8uhdTRM6OcBcOCQzcWc1gihR2hU13oEFthtWJAwx4NHSoEaQeA0dGPaqa36KtinbRtdP0TUeb5tBGvggs369fiDwB9VLW8fvS+Pa03IaPKfho8ZFWL/iSIzWPUBVUOSJcnVt1JV+7qWH8K7rdp5dJaRDHHiBqvNJIzXE2T93Sb03jey3Em8YFv5wqor7RxtZ2d3ZLe1sourjR5G+jj5lRb2zqYZCI7e52e3lmkGG0Td9sxihSCDLIv2mTuP4ee43jHvK7vGsRtZd13iLERH0prWO3b7O/Nq135YOzxbUQ3ceA6stoWRWHzbPs+d+9q73peSGK2tVGBUYl3PNjXHvmRfj1Y71lupkgluhGLLHqgx2h2mHdalW1xvaaRWuxjb20ChpWXDntn1VrfVxZSs8bCMGOVNnLGwdNWVeZrLlZHSod5b1mMFu2EcSIA0srdlYlbBdXuqn3hu9pdnaFftVvcKFkVG5s8bR6kkdLv24vPsUFtIYrqQrmGyGlDEi68ly7yRxRJTjdjSyWYA2b3ChJCcOszIurz+ZX4g8AfVS1vH70vj2tNyGjyn4aPFhW7Le3Imne4tFSKM5nY5G1URdZqW5/EZF3vErmg3HCwzAYZle+lGrGve/W1uMSyH7K27lkmgjbVZwVMcTKvO2efImetzwWLI28NyF0nsCVR2jYBRNbByu0ypEn6dXW894ZYZ5rYwW1niDLJI30anzeZEp9yXui13pb7KUngSUAm3l/v9FW7PwlFIs5sgtxvKWPSrTNzE+Iuv6OrG3XAFd4pgvZwyzdit27zswtwbSD7Pd2eKiWMg51lWNyM6Zmy1vqDaRi6KRNLArAsgzqqbTL09V9St32m5p4It4Wh6y2nSJjLE3BJbG5Vlzp3lSpf3cVvazrspRsoUZlbVyLkG06XQo2+YMyX8Z4dJAC+5+IPAH1Utbx+9L49rTcho4DRidP5aSzsommuZzljRfHbuI06cjU1n+H2S73yV2d1vnDMkXYkg3YraveNc/3j3PPuWzs7reN5ib66ukhaR8cTtGkvGV53ZvDrdtnDaxw7+Kl95QWassIDLjHgD1WbPzdj9LUk29SsTuAscbMAyjHEyE46lKu7LVr1wcGnkYiFBxtKw6xvo46fagZpR180mGntL3Cd7TS2qDGTTiNPDSTzrjJHpBoGZMrqMBIpwOHhCtKlyDjmJpbeaMMsYwQ9kchrPmdyulQzE/DUhkGLJisfySBWB4RoNfiDwB9VLW8fvS+Pa03IaCIpd3bKiqMSSTlVVHfVLuKwYC/lGTe96h0jj3ZbOObFF/7Tr52WsE1RxdgmtzbrW3YDduYvMzDB8wylVVdZMrVuuC4s2e5sBspLklWWSIjIyOuG1z6kT8795USbtsMAkjSO7Ik2cvhqyLcHmx8yPoZKd2jWN8GyhEBwx6KoxVVXwKlvJbeR4EfNFb3D7RsMMNMmXJmza6dXSW0YmlfbbR5Z8uKoBhsoli/ec6SrGWOGSaJG2jGLLg4OU7OXPrLkZavL2SFsxaQwRHDEBs2z4dXq8aa6u809ywJy6A2JGGdMwK516OasJ2mdgDjtwB2eDq+jUsEMTRxSOpCsiFVCn5qVTnX5H8SkVY5JTMXbLHghzHURmm5+z7uLJT5tBzNiO3ia/EHgD6qWt4/el8e1puQ1fb2Axk3dCWt8dIE8zi1t5NOPmdpJN4cdRfaXyxu67aRieaWG1Z2AZubmapWtbeOGYm42cTFzIMqsllhjmj6+TrNn83UFtPOiysDNLIuGOd82SAsV83BDF1if/puqywTFwoG0ZSCow6saz5cz3MmtD0MlO8cjSBVwMbkZnOUyZIcqecz7OH01LEjgISqGVyBgxVXfMncw5ssj93Usiyxx28TdVAcMWKrlxldV83JJk6vznnNpQD3AZmJ0jDQMGZS+jp5dn8emtkmRw+DZic2VicuVFy96/8Ao0FQh3ABcc0YdMaRrNHVrDbTIglwedyRqo2jVU/ORrr0Ulk11XPoALOvCmHBkzx5X16cIRmGhWcgA5V2mC4rzXlZIdb6WoIo3+0PmCrgMAAOczVK44GdiPysa/EHgD6qWt4/el8e1puQ1d2d6xSx3hGYXuFGbZOrie1uXQazRxzJ130NKLuLCNvNzoc8Mg7uC5TNFInxq7FYEgHsGilvHJIOBhGrEH5I/QpReoln3LyOFxPe5M75qxUtO3ZCLlHy5PIrqbZEBOnHSffoYxLmHZrOIlzDSNHFSkQKFkAfRxmhmhByjAE8VSShMzPzsdOH56a5miUx82FcOE9l/BSri5SIKYYpHDcRCNl/SoV+IPAH1U1bx+9L49rTcho8p+GmO67yWzznF4kY7Jj38LZov0Kyz/ZmfsM9pbnH4+xrq5Y4TxxQQofzpFX+5vJ5B2ddsB/lg5MtYgLIjc4cY7YrGBciEaQcMM3eUSDgyHBwOx+zXb9xAx5uI9+jgcq91/hRdyY7VDrP2WPcJ31KiLgowWNB2B2Fp9328iRTXbKkkr45VQHay6F53MoSXCyXrDsznJH6CLW+XJV/FZwxwI0EhIjQKDgjcOGs3xq3j96Xx7Wm5DR5T8PuZXGZeI1jHiy8R4RWI/NRdBmx0mP/AKxnot3tZ0OqdGP6rrS4arcXYIoTJzDz17k8daAMMMc5OAwrqgZcWODaQmPa6UnxKE1+xA4VhGgnyKCqAqIMFUaABX2hxoHMB8amm4YLcmOHiZ/npPBXDZJ7l7/Ak8Rq3j96Xx7Wm5DR1SNJ+GuEiucPernis6yIsnHiAD2mo4aCpwYcRoyDQW0SL2GHHh3dZlJyY/lXt1s5NJGq44wezX2a4GaLEMjEY4dy4BrqFwYfONpb8nRT4lFmPbJNBmBEQ4Ael2zUW6bJst5daCw+ai+duG77L5qkhiGWONQqjtD3L3+BJ4jVvH70vj2tNyGjiUOk8Y7Nftn/AArsfL/7Vpy/lc/4VpMY5Sxossi5sNAVSAeUmiCOCsOPRhSo3NbEKRwceTyaSZefFp5V6VKznSwGCjhNK0pGGOrGOD43dVicHunHVRfzJO5j8epN6XhL3l9rknhWPhjTvc/P9H7t7/Ak8Rq3j96Xx7WiOOsRvKXTp84P6Ne0Zflj+jXtGT5Y/o17Rk+WP6Ve0ZPlj+lXtB/l/wDios28JATxOB/KokbxmzHpbQYjweppZRvOcMjZh1gwxH+RWzTeTp2MwcY+/FWb/wCnMx76QH+TXV7wIPYJbHD/AE6N1db2nupWILGWQEHDo6IV1awW9T3/ACa/5qe/5Nf81Pf8mrqKO8RnkhkVV06SVZVHBW8fvS+Pa02fm4HNydngrRm9brpet10vW66XrddL1uul63XS9brpet10vW66XrddL1uul63XS9brpet10vW66XrddL1urnY4/wDyNqPtHn8dpjFl53+552w83qV//9k=\"","import React, { useState, useEffect } from 'react';\r\nimport { useOktaAuth } from '@okta/okta-react';\r\nimport { NavLink } from 'react-router-dom';\r\nimport { Nav } from 'react-bootstrap';\r\nimport Navbar from 'react-bootstrap/Navbar';\r\nimport Container from 'react-bootstrap/Container';\r\nimport './Navigation.css';\r\n\r\nconst Navigation = () => {\r\n const { authState, oktaAuth } = useOktaAuth();\r\n const [ auth, setAuth ] = useState(false);\r\n const [ reload, setReload ] = useState(false);\r\n const [ isAdmin, setIsAdmin ] = useState(false);\r\n const [ isMgr, setIsMgr ] = useState(false);\r\n\r\n // On page load and update, check if the user is authenticated and capture group memberships from Okta\r\n useEffect(() => {\r\n if (!authState || !authState.isAuthenticated) {\r\n setAuth(false);\r\n } else {\r\n setAuth(true);\r\n oktaAuth.getUser().then((info) => {\r\n info.Groups.map(group => {\r\n if (group === process.env.REACT_APP_OKTA_ADMIN_ROLE) {\r\n setIsAdmin(true);\r\n return group;\r\n } else if (group === process.env.REACT_APP_OKTA_MGR_ROLE) {\r\n setIsMgr(true);\r\n return group;\r\n } else {\r\n return group;\r\n }\r\n })\r\n })\r\n }\r\n\r\n }, [authState, oktaAuth]);\r\n\r\n // refresh window location on button click\r\n useEffect(() => {\r\n if (reload) {\r\n window.location.reload(true);\r\n }\r\n })\r\n\r\n const handleReload = () => {\r\n setReload(true);\r\n }\r\n\r\n // handle logout from Okta and clear session storage\r\n const logout = async () => {\r\n await oktaAuth.signOut();\r\n sessionStorage.removeItem(\"username\");\r\n sessionStorage.removeItem(\"group\");\r\n }\r\n\r\n return (\r\n <>\r\n \r\n \r\n \r\n \r\n {/* \r\n If user is authenticated show navigation menu items\r\n If user is not authenticated, show only the Home nav item\r\n If user has Admin or Manager group, show Administration nav item\r\n */}\r\n {auth ? \r\n :\r\n \r\n }\r\n {auth ? \r\n \r\n :\r\n null\r\n }\r\n \r\n \r\n \r\n \r\n )\r\n}\r\n\r\nexport default Navigation;","import React from 'react';\r\nimport { Modal, Button } from 'react-bootstrap';\r\nimport './SessionTimeout.css';\r\n\r\nconst SessionTimeoutModal = ({ show, countdown, onLogout, onContinue }) => {\r\n return (\r\n
\r\n \r\n Session Timeout\r\n \r\n

The current session is about to expire in {countdown} seconds.

\r\n

Would you like to continue your session?

\r\n
\r\n \r\n Logout\r\n Continue Session\r\n \r\n
\r\n
\r\n )\r\n}\r\n\r\nexport default SessionTimeoutModal;","import React from 'react';\r\nimport { Link } from 'react-router-dom';\r\n\r\nimport './Footer.css';\r\n\r\nfunction Footer() {\r\n return (\r\n
\r\n

For information about the availability of auxiliary aids and services, please visit:
\r\n \r\n https://www.medicare.gov/about-us/accessibility-nondiscrimination-notice\r\n \r\n

\r\n
\r\n )\r\n}\r\n\r\nexport default Footer;","export default __webpack_public_path__ + \"static/media/PRI_Tagline.f141fc57.svg\";","import React, { Component } from 'react';\r\nimport PRITagline from '../../images/PRI_Tagline.svg';\r\nimport './Tagline.css';\r\n\r\nclass Tagline extends Component {\r\n render() {\r\n return (\r\n
\"Provider
\r\n )\r\n }\r\n}\r\n\r\nexport default Tagline","import React from 'react';\r\n\r\nfunction V1000() {\r\n return (\r\n
\r\n
\r\n
\r\n
\r\n
Release Details
\r\n

Product: CGDP Website

\r\n

Environment: Production

\r\n

Website Release Version No: 1.0.0.0

\r\n

Deployed Date: 12/28/2022

\r\n

Request Number: ME Ticket 60650

\r\n

Planned Downtime: 0 HOURS

\r\n
\r\n
\r\n
\r\n
\r\n
QA Review
\r\n

Complete Date: 12/28/2022

\r\n

Product Owner Approval: Shawn Keough-Hartz

\r\n

Approval Type: Email

\r\n

Quality Assurance: Complete

\r\n

Security Approval: 12/28/2022

\r\n
\r\n
\r\n

\r\n
\r\n
\r\n

Release Summary

\r\n
\r\n
Affected Customers
\r\n
\r\n
N/A
\r\n
\r\n\r\n {/* UPDATED PAGES */}\r\n
Updated Pages:
\r\n
\r\n
N/A
\r\n
\r\n\r\n {/* ADDED PAGES */}\r\n
Added Pages:
\r\n
\r\n {/* All */}\r\n
All
\r\n
\r\n
    \r\n
      \r\n
    • Initial website deployment
    • \r\n
    \r\n
\r\n
\r\n \r\n\r\n {/* REMOVED PAGES */}\r\n
Removed Pages:
\r\n
\r\n
N/A
\r\n
\r\n\r\n {/* BUG FIXES */}\r\n
Bug Fixes:
\r\n
\r\n
N/A
\r\n
\r\n\r\n {/* ADDITIONAL NOTES */}\r\n
Additional Notes:
\r\n
\r\n
N/A
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n )\r\n}\r\n\r\nexport default V1000;\r\n","import React from 'react';\r\n\r\nfunction V1010() {\r\n return (\r\n
\r\n
\r\n
\r\n
\r\n
Release Details
\r\n

Product: CGDP Website

\r\n

Environment: Production

\r\n

Website Release Version No: 1.0.1.0

\r\n

Deployed Date: 01/13/2023

\r\n

Request Number: ME Ticket 64406

\r\n

Planned Downtime: 0 HOURS

\r\n
\r\n
\r\n
\r\n
\r\n
QA Review
\r\n

Complete Date: 01/13/2023

\r\n

Product Owner Approval: Shawn Keough-Hartz

\r\n

Approval Type: Email

\r\n

Quality Assurance: Complete

\r\n

Security Approval: 01/12/2022

\r\n
\r\n
\r\n

\r\n
\r\n
\r\n

Release Summary

\r\n
\r\n
Affected Customers
\r\n
\r\n
N/A
\r\n
\r\n\r\n {/* UPDATED PAGES */}\r\n
Updated Pages:
\r\n
\r\n {/* Home */}\r\n
Home Page
\r\n
\r\n
    \r\n
      \r\n
    • \r\n Added new account information popup modal to display when website is opened by unauthenticated users\r\n
    • \r\n
    \r\n
\r\n
\r\n \r\n\r\n {/* ADDED PAGES */}\r\n
Added Pages:
\r\n
\r\n
N/A
\r\n
\r\n\r\n {/* REMOVED PAGES */}\r\n
Removed Pages:
\r\n
\r\n
N/A
\r\n
\r\n\r\n {/* BUG FIXES */}\r\n
Bug Fixes:
\r\n
\r\n
N/A
\r\n
\r\n\r\n {/* ADDITIONAL NOTES */}\r\n
Additional Notes:
\r\n
\r\n
N/A
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n )\r\n}\r\n\r\nexport default V1010;","import React from 'react';\r\n\r\nfunction V1020() {\r\n return (\r\n
\r\n
\r\n
\r\n
\r\n
Release Details
\r\n

Product: CGDP Website

\r\n

Environment: Production

\r\n

Website Release Version No: 1.0.2.0

\r\n

Deployed Date: 02/06/2023

\r\n

Request Number: ME Ticket 64622

\r\n

Planned Downtime: 0 HOURS

\r\n
\r\n
\r\n
\r\n
\r\n
QA Review
\r\n

Complete Date: 02/04/2023

\r\n

Product Owner Approval: Shawn Keough-Hartz

\r\n

Approval Type: Email

\r\n

Quality Assurance: Complete

\r\n

Security Approval: 02/03/2023

\r\n
\r\n
\r\n

\r\n
\r\n
\r\n

Release Summary

\r\n
\r\n
Affected Customers
\r\n
\r\n
N/A
\r\n
\r\n\r\n {/* UPDATED PAGES */}\r\n
Updated Pages:
\r\n
\r\n
N/A
\r\n
\r\n\r\n {/* ADDED PAGES */}\r\n
Added Pages:
\r\n
\r\n
N/A
\r\n
\r\n\r\n {/* REMOVED PAGES */}\r\n
Removed Pages:
\r\n
\r\n
N/A
\r\n
\r\n\r\n {/* BUG FIXES */}\r\n
Bug Fixes:
\r\n
\r\n
N/A
\r\n
\r\n\r\n {/* ADDITIONAL NOTES */}\r\n
Additional Notes:
\r\n
\r\n {/* Allowed File Types */}\r\n
File Uploader - Allowed File Types
\r\n
\r\n
    \r\n
      \r\n
    • \r\n Added .txt file extension to the list of allowed file types\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\nexport default V1020;","import React from 'react';\r\n\r\nfunction V1030() {\r\n return (\r\n
\r\n
\r\n
\r\n
\r\n
Release Details
\r\n

Product: CGDP Website

\r\n

Environment: Production

\r\n

Website Release Version No: 1.0.3.0

\r\n

Deployed Date: 02/08/2023

\r\n

Request Number: ME Ticket 64533

\r\n

Planned Downtime: 0 HOURS

\r\n
\r\n
\r\n
\r\n
\r\n
QA Review
\r\n

Complete Date: 02/08/2023

\r\n

Product Owner Approval: Shawn Keough-Hartz

\r\n

Approval Type: Email

\r\n

Quality Assurance: Complete

\r\n

Security Approval: 02/08/2023

\r\n
\r\n
\r\n

\r\n
\r\n
\r\n

Release Summary

\r\n
\r\n
Affected Customers
\r\n
\r\n
N/A
\r\n
\r\n\r\n {/* UPDATED PAGES */}\r\n
Updated Pages:
\r\n
\r\n
N/A
\r\n
\r\n\r\n {/* ADDED PAGES */}\r\n
Added Pages:
\r\n
\r\n
N/A
\r\n
\r\n\r\n {/* REMOVED PAGES */}\r\n
Removed Pages:
\r\n
\r\n
N/A
\r\n
\r\n\r\n {/* BUG FIXES */}\r\n
Bug Fixes:
\r\n
\r\n {/* Default.aspx Redirect */}\r\n
Default.aspx Redirect
\r\n
\r\n
    \r\n
      \r\n
    • \r\n Added a Default.aspx file to redirect users to the URL without Default.aspx\r\n
    • \r\n
    \r\n
\r\n
\r\n \r\n\r\n {/* ADDITIONAL NOTES */}\r\n
Additional Notes:
\r\n
\r\n
N/A
\r\n
\r\n \r\n
\r\n
\r\n
\r\n
\r\n )\r\n}\r\n\r\nexport default V1030;","import React from 'react';\r\n\r\nfunction V1040() {\r\n return (\r\n
\r\n
\r\n
\r\n
\r\n
Release Details
\r\n

Product: CGDP Website

\r\n

Environment: Production

\r\n

Website Release Version No: 1.0.4.0

\r\n

Deployed Date: 05/16/2023

\r\n

Request Number: ME Ticket 64938

\r\n

Planned Downtime: 0 HOURS

\r\n
\r\n
\r\n
\r\n
\r\n
QA Review
\r\n

Complete Date: 05/16/2023

\r\n

Product Owner Approval: Shawn Keough-Hartz

\r\n

Approval Type: Email

\r\n

Quality Assurance: Complete

\r\n

Security Approval: 05/15/2023

\r\n
\r\n
\r\n

\r\n
\r\n
\r\n

Release Summary

\r\n
\r\n
Affected Customers
\r\n
\r\n
N/A
\r\n
\r\n\r\n {/* UPDATED PAGES */}\r\n
Updated Pages:
\r\n
\r\n {/* Appeal Form */}\r\n
Appeal Form
\r\n
\r\n
    \r\n
      \r\n
    • \r\n Updated the DRN Field to allow 20 numbers\r\n
    • \r\n
    \r\n
\r\n
\r\n {/* Edit a New Appeal */}\r\n
Edit a New Appeal > Edit Appeal Details Form
\r\n
\r\n
    \r\n
      \r\n
    • \r\n Updated the DRN Field to allow 20 numbers\r\n
    • \r\n
    • \r\n Removed unused state variables for TPA Decison Date, Dispute Date, Invoiced Amount, and Dispute Amount\r\n
    • \r\n
    \r\n
\r\n
\r\n \r\n\r\n {/* ADDED PAGES */}\r\n
Added Pages:
\r\n
\r\n
N/A
\r\n
\r\n\r\n {/* REMOVED PAGES */}\r\n
Removed Pages:
\r\n
\r\n
N/A
\r\n
\r\n\r\n {/* BUG FIXES */}\r\n
Bug Fixes:
\r\n
\r\n {/* Edit a New Appeal */}\r\n
Edit a New Appeal > Edit Appeal Details Form
\r\n
\r\n
    \r\n
      \r\n
    • \r\n Fixed bug with TPA Decison Date and Dispute Dates not calculating correctly when passed from prent components\r\n
    • \r\n
    \r\n
\r\n
\r\n \r\n\r\n {/* ADDITIONAL NOTES */}\r\n
Additional Notes:
\r\n
\r\n
N/A
\r\n
\r\n \r\n
\r\n
\r\n
\r\n
\r\n )\r\n}\r\n\r\nexport default V1040;","import React from 'react';\r\nimport { Card, Button, Accordion } from 'react-bootstrap';\r\nimport ReleaseVersion1000 from './versions/V1000';\r\nimport ReleaseVersion1010 from './versions/V1010';\r\nimport ReleaseVersion1020 from './versions/V1020';\r\nimport ReleaseVersion1030 from './versions/V1030';\r\nimport ReleaseVersion1040 from './versions/V1040';\r\nimport './ReleaseNotes.css';\r\n\r\n\r\nfunction ReleaseNotes() {\r\n return (\r\n
\r\n
\r\n
\r\n
\r\n

CGDP Appeals - Release Notes

\r\n

Introduction

\r\n

These release notes describe the changes and issues specific to the CGDP Appeals Application.

\r\n

Click each version header below to see the release notes associated with that specific version.

\r\n

The current deployed version of the CGDP Appeals application is v1.0.4.0

\r\n
\r\n

Known Issues

\r\n
    \r\n
  • None
  • \r\n
\r\n

\r\n Should you encounter any issues not listed above, please contact the IT Help Desk at  \r\n IThelpdesk@provider-resources.com
\r\n

\r\n
\r\n
\r\n

\r\n Open Home Page in a new tab\r\n

\r\n
\r\n
\r\n \r\n \r\n \r\n \r\n Release Version 1.0.4.0 (current)\r\n \r\n \r\n \r\n \r\n

Release Version 1.0.4.0

\r\n \r\n \r\n \r\n
\r\n
\r\n
\r\n \r\n \r\n \r\n Release Version 1.0.3.0\r\n \r\n \r\n \r\n \r\n

Release Version 1.0.3.0

\r\n \r\n \r\n \r\n
\r\n
\r\n
\r\n \r\n \r\n \r\n Release Version 1.0.2.0\r\n \r\n \r\n \r\n \r\n

Release Version 1.0.2.0

\r\n \r\n \r\n \r\n
\r\n
\r\n
\r\n \r\n \r\n \r\n Release Version 1.0.1.0\r\n \r\n \r\n \r\n \r\n

Release Version 1.0.1.0

\r\n \r\n \r\n \r\n
\r\n
\r\n
\r\n \r\n \r\n \r\n Release Version 1.0.0.0\r\n \r\n \r\n \r\n \r\n

Release Version 1.0.0.0

\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\nexport default ReleaseNotes;\r\n","import React, { Component } from 'react';\r\nimport { OktaAuth, toRelativeUrl } from '@okta/okta-auth-js';\r\nimport { LoginCallback, Security, SecureRoute } from '@okta/okta-react';\r\nimport { Route, Redirect, withRouter } from 'react-router-dom';\r\nimport Home from './pages/Home';\r\nimport SubmitANewAppeal from './submitanewappeal/SubmitANewAppeal';\r\nimport CheckStatusOfExistingAppeal from '../components/checkstatusofexisting/CheckStatusOfExistingAppeal';\r\nimport RespondToRequestForAdditionalInfo from '../components/respondtorequest/RespondToRequestForAdditionalInfo';\r\nimport AdminHome from './admin/AdminHome';\r\nimport LogoHeader from './layout/LogoHeader';\r\nimport Navigation from './layout/Navigation';\r\nimport SessionTimeout from './auth/SessionTimeout';\r\nimport Footer from './layout/Footer';\r\nimport Tagline from './layout/Tagline';\r\nimport ReleaseNotes from '../components/release/ReleaseNotes';\r\n\r\n// setup configs for Okta authentication\r\nconst oktaAuth = new OktaAuth({\r\n issuer: process.env.REACT_APP_OKTA_URL,\r\n clientId: process.env.REACT_APP_OKTA_CLIENTID,\r\n redirectUri: window.location.origin + '/login/callback'\r\n });\r\n \r\n// must call withRouter here in order for pages to render using Okta\r\n// restoreOriginalUri is mandatory Okta function for returning user back to where they tried to go prior to authentication\r\nexport default withRouter(class MainComponent extends Component {\r\n constructor(props) {\r\n super(props);\r\n this.restoreOriginalUri = async (_oktaAuth, originalUri) => {\r\n props.history.replace(toRelativeUrl(originalUri || '/', window.location.origin));\r\n };\r\n }\r\n\r\n render() {\r\n return (\r\n <>\r\n \r\n
\r\n \r\n\r\n {/* Idle session timer */}\r\n \r\n\r\n {/* Navbar must be inside Security container in order for Okta authentication to be available in the Navigation component */}\r\n \r\n\r\n {/* Unsecure Routes - accessible without being authenticated */}\r\n \r\n \r\n \r\n \r\n\r\n {/* Secure Routes - user must be authenticated to access */}\r\n \r\n \r\n \r\n \r\n \r\n {/* Footer must be inside Security container in order for Okta authentication to be available in the Footer component (for Help Menus) */}\r\n
\r\n \r\n \r\n
\r\n \r\n \r\n )\r\n }\r\n});","import { Router } from 'react-router-dom';\nimport Main from '../src/components/MainComponent';\nimport { createBrowserHistory } from 'history';\nimport \"../node_modules/bootstrap/dist/js/bootstrap.min.js\";\nimport 'bootstrap/dist/css/bootstrap.min.css';\nimport './css/App.css';\nimport './css/Buttons.css';\nimport './css/Tables.css';\n\nconst history = createBrowserHistory();\n\nfunction App() {\n return (\n \n
\n
\n
\n
\n );\n}\n\nexport default App;\n","const reportWebVitals = onPerfEntry => {\n if (onPerfEntry && onPerfEntry instanceof Function) {\n import('web-vitals').then(({ getCLS, getFID, getFCP, getLCP, getTTFB }) => {\n getCLS(onPerfEntry);\n getFID(onPerfEntry);\n getFCP(onPerfEntry);\n getLCP(onPerfEntry);\n getTTFB(onPerfEntry);\n });\n }\n};\n\nexport default reportWebVitals;\n","import React from 'react';\nimport ReactDOM from 'react-dom';\nimport './index.css';\nimport App from './App';\nimport reportWebVitals from './reportWebVitals';\n\nReactDOM.render(\n \n \n ,\n document.getElementById('root')\n);\n\n// If you want to start measuring performance in your app, pass a function\n// to log results (for example: reportWebVitals(console.log))\n// or send to an analytics endpoint. Learn more: https://bit.ly/CRA-vitals\nreportWebVitals();\n"],"sourceRoot":""}