{"version":3,"sources":["UI/screens/form/styles/assets/info-circle.png","UI/screens/form/styles/assets/verisma_logo.png","UI/assets/error-icon.png","UI/assets/pbv.png","UI/screens/captcha/styles/assets/background_mobile_clear.png","UI/screens/captcha/styles/assets/background_744_clear.png","UI/screens/captcha/styles/assets/background_1024_clear.png","UI/screens/confirmationPage/styles/assets/copy-icon.png","UI/components/Required.js","UI/components/Checkbox.js","UI/components/RadioButtonGroup.js","UI/components/RadioButton.js","UI/screens/form/orgs/7224/facilities.js","formik/refactorOut/components/Popper/context.js","formik/refactorOut/components/Popper/Target.js","formik/refactorOut/components/Popper/Popper.js","formik/refactorOut/components/Popper/Content.js","formik/refactorOut/components/Popper/Popover.js","UI/screens/form/styles/assets/icons.js","UI/components/hoverTip/hoverTip.js","config/Configuration.js","UI/components/CheckField2/CheckField.js","UI/components/sectionHeader/sectionHeader.js","UI/components/inlineValidation/inlineValidation.js","UI/components/TextField/TextField.js","UI/components/TextField/TextField_Custom.js","UI/components/ErrorBar.js","UI/screens/form/orgs/7168/facilities.js","UI/components/RadioField2/RadioField.js","UI/screens/form/orgs/7302/facilities.js","UI/screens/form/sections/MedicalFacilitiesSection/RenderFacilitiesSelectionList.js","UI/screens/form/sections/MedicalFacilitiesSection/RenderFacilityAdvancedList.js","UI/screens/form/sections/MedicalFacilitiesSection/RenderFacilityRadioList.js","UI/screens/form/orgs/7227/facilities.js","UI/components/FacilitySections/NameAddressDoc/NameAddressDoc.js","UI/components/sectionComponents/Facilities/selectAndType.js","UI/languages/languageblob_en.js","UI/languages/languageblob_es.js","UI/languages/languageblob_cn.js","UI/languages/languages.js","UI/screens/form/sections/MedicalFacilitiesSection/AuthorizationToReleaseSection.js","UI/screens/form/sections/InformationToReleaseSection/InformationToReleaseSection.js","UI/screens/form/sections/SensitiveInfoSection/DisclosureOfSensitiveInformationSection.js","UI/screens/form/sections/SensitiveInfoSection/SensitiveInfoSection.js","UI/screens/form/sections/RepContactInfoSection/logic.js","UI/screens/form/sections/RecipientOfInfoSection/RecipientOfInfoSection.js","UI/screens/form/sections/DeliveryMethod_Section/DeliveryMethodSection.js","UI/components/Button/Button.js","UI/screens/form/sections/ReleaseDatesSection/ReleaseDatesSection.js","UI/components/sectionInstruction/view.js","UI/screens/form/sections/SupportingDocsSection/SupportingDocsSection.js","formik/refactorOut/styles.js","UI/screens/form/sections/RepContactInfoSection/RepContactInfoSection.js","UI/screens/form/sections/ProxyInfoSection/logic.js","UI/screens/form/sections/ProxyInfoSection/view.js","UI/screens/form/sections/AdditionalInfoSection/AdditionalInfoSection.js","config/Constants.js","UI/screens/form/sections/LogoAndTitle_Section/LogoAndTitle.js","formik/refactorOut/ErrorFocus.js","UI/components/LoadingScreen/LoadingScreen.js","formik/validations/validationFunctions.js","formik/validations_multilanguage/validationFunctions.js","formik/validations/index.js","formik/validations/patientInfoValidations.js","formik/validations/discloseToValidations.js","formik/validations/repInfoValidations.js","formik/validations/authorizationToReleaseValidations.js","formik/validations/discloseSensitiveInfoValidations.js","formik/validations/informationToReleaseValidations.js","formik/validations/deliveryMethodValidations.js","formik/validations/purposeOfDisclosureValidations.js","formik/validations/supportingDocsValidations.js","formik/validations/formLevelValidations.js","formik/validations/caseNumberValidations.js","formik/validations/additionalInfoValidations.js","formik/validations_multilanguage/index.js","formik/validations_multilanguage/patientInfoValidations.js","formik/validations_multilanguage/discloseToValidations.js","formik/validations_multilanguage/repInfoValidations.js","formik/validations_multilanguage/authorizationToReleaseValidations.js","formik/validations_multilanguage/discloseSensitiveInfoValidations.js","formik/validations_multilanguage/informationToReleaseValidations.js","formik/validations_multilanguage/deliveryMethodValidations.js","formik/validations_multilanguage/purposeOfDisclosureValidations.js","formik/validations_multilanguage/supportingDocsValidations.js","formik/validations_multilanguage/formLevelValidations.js","formik/validations_multilanguage/caseNumberValidations.js","formik/validations_multilanguage/additionalInfoValidations.js","context/actions/initializeFormAction.js","context/actions/actionTypes.js","UI/configTest.js","functions/apiCalls.js","UI/screens/form/orderedValues.js","UI/screens/form/DynamicForm/logic.js","UI/screens/SummaryModal/logic.js","UI/screens/SummaryModal/SummaryModal2.js","UI/screens/SubmissionError/view.js","UI/screens/SummaryModal/SummaryModal_MultiLanguage.js","UI/screens/form/sections/DisclaimersSection/DisclaimersSection.js","UI/screens/form/DynamicForm/DynamicForm.js","UI/screens/form/DynamicForm/logicML.js","context/formReducer.js","UI/languages/languagesLoading.js","UI/screens/captcha/Captcha.js","UI/screens/captcha/CaptchaContainer.js","UI/DynamicFormContainer.js","UI/screens/confirmationPage/PatientConfirmationPage.js","UI/screens/confirmationPage/PatientConfirmationPageContainer.js","App.js","index.js"],"names":["module","exports","Required","value","width","height","viewBox","fill","xmlns","cx","cy","r","stroke","Checkbox","props","name","field","form","style","display","flexDirection","className","type","checked","includes","values","onChange","nextValue","filter","setFieldValue","inputDisclosePhysicians","htmlFor","label","RadioButtonGroup","error","touched","id","children","classes","classNames","RadioButton","onBlur","onClick","config","formik","releasemodePdf","page","styles","list","Facilities_7224","template","orgId","section","title","fields","facilitiesGroup","validations","required","errors","setFieldTouched","entries","map","option","key","component","console","log","marginBottom","alignSelf","getFieldProps","maxLength","otherFac","hint","createContext","Provider","Consumer","Target","element","setTargetNode","onMouseEnterOnTarget","togglePopover","onMouseLeaveFromTarget","cloneElement","ref","onMouseEnter","onMouseLeave","Popper","content","arrow","popper","initPopper","PopperJS","target","placement","modifiers","updatePopper","update","destroyPopper","destroy","setContentNode","node","setArrowNode","this","role","Component","defaultProps","Content","targetNode","showPopover","Popover","state","setState","hidePopover","context","nextProps","prevState","PureComponent","IDIcon","d","SelfieIcon","rx","ry","DocumentIcon","flexShrink","flexGrow","fill-rule","clip-rule","UploadIcon","CloseIcon","Icon_PBV","src","PBV","alt","Icon_Check","strokeWidth","strokeLinecap","strokeLinejoin","Icon_EmptyCheckbox","x","y","Icon_Radio_Empty","fill-opacity","Icon_Radio_Selected","HoverTip","popverLocation","tooltip","color","fillRule","clipRule","zIndex","CheckField","checkboxType","formValue","checkItemLabel","physicianFunction","allOrNone","trueFormSpec","localFacilities","decorative","lockcheck","useState","setChecked","releaseConfig","selectedItems","infoToReleaseGroup","facilityConfig","facilityList","useEffect","sensitiveInfo","infoToReleaseGroupAllShort","release","items","item","infoToReleaseGroupAll","length","releaseItemValue","set","facility","info","inputAuthorizePhysicianOffices","facilityOrPhysician","disabled","e","stopPropagation","SectionHeader","sectionTitle","cssClasses","fontWeight","InlineValidation","fieldId","fieldTouched","customMessage","TextField","cssField","requiredVal","inputType","dateField","format","calendarOpen","empty","setEmpty","filled","setFilled","focused","setFocused","setDatePlaceholderLength","currentDateField","useRef","emptyTheField","forEach","replace","PPhone","Patient_Phone_Conform","RepPhone","Rep_Phone_Conform","current","dateInput","previousElementSibling","placeholder","errorOnField","paddingTop","selected","onFocus","date","onSelect","autoComplete","blurTheField","onKeyPress","isNaN","Number","preventDefault","concat","formatZip","match","formatCity","formatState","onKeyUp","slice","EmptyHint","position","bottom","paddingLeft","whiteSpace","FilledHint","fontSize","textTransform","TextField_Custom","fieldIsRequired","stateProps","useContext","ConfigContext","fieldIsEmpty","fieldIsFilled","fieldIsFocused","setFieldError","errorMessage","fieldValue","setEnteredValues","enteredValues","ErrorBar","message","Facilities_7168","formColor","facilities","setFacilities","facilitiesError","setSelectedItems","appContext","dbFormSpec","validationValues","localValues","facilitiesArray","Object","index","facilityArray","property","push","join","localError","every","inputPhysicianNames","marginTop","background","padding","flexWrap","AuthorizationToReleaseCustomText","RadioField","physicianAction","orgColor","formType","displayPurposeOtherField","setFileError","hoverTip","setSelected","documentation","i","a","requestPurposePdf","physicianList","discloseTo","PFName","PLName","PMName","PEmail","PFax","PAddress1","PAddress2","PCity","PState","PZip","RepFName","RepLName","RepEmail","RepFax","RepAddress1","RepAddress2","RepCity","RepState","RepZip","document","getElementsByClassName","checkField","toggle","facilityOther","status","Facilities_7302","FacilitiesSelectionList","languageText","facilityName","FacilitySelector","SelectorInstructions","SectionTitles","FacilitiesLocationsList","LocationOne","LocationTwo","LocationThree","SectionTitle","PartiesInstruction","AuthCaption","location","FacilityAdvancedEntry","toLowerCase","trim","address","fieldType","fieldID","opacity","FacilityAdvancedList","facilityListFilled","DepartmentList","deptlist","deptListFilled","FacilityRadioList","facilitySelect","setFacility","FacilityChange","event","FacilityEntry","class","for","includeTextBox","textBoxLabel","Departments","DeptsDescription","Facilities_7227","outPatient","setOutPatient","longTerm","setLongTerm","labelStyle","defaultFacility","textDecoration","margin","alignItems","infoCircle","outPatientGroup","longTermGroup","DecorativeCheckbox","Facilities_NameAddressDoc","validation","setFacilitiesError","ThreeLevelFacilityForm","setError","facility_name","facility_address","facility_doctor","setLocalError","requiredFields","some","variant","TexasHealthFacilities","checkedFacilities","setCheckedFacilities","summaryModalOpened","setSummaryModalOpened","showSummary","checkedFacilitiesToAdd","langObject_en","langObject_es","langObject_cn","CheckLanguage","languageOverride","GetLanguageText","languageID","AuthorizationToRelease","sections","authorizationToReleaseSection","renderFacilityRadiogroup","facilitiesRadiogroup","renderAdvancedFacilityList","facilitiesAdvanced","useFacilitiesSelectionList","active","facilitiesReleasingInfo","options","option1","option18","InformationToRelease","purposeOtherFieldDisplayed","inputClasses","informationToReleaseSection","InfoToReleaseSection","sectionHeader","sectionInstruction","hidden","CustomReleaseText","CheckAllBtn","CheckAll","ReleaseAll","ClickRelease","standardOptions","other","serviceDates","start","flexBasis","end","purposeDisclosure","requestPurpose","purpose","personal","continuation","insurance","immunization","legal","employer","DisclosureOfSensitiveInformation","CustomFooterText","deliveryMethod","understandInfo","SensitiveInformationSection","ReadonlySensitiveInfo","readonlySensitiveInfo","exclusionList","DisableSensitivePSY","DisableSensitiveDrug","DisableSensitiveHIV","DisableSensitiveSTD","DisableSensitiveGenetic","precheckList","PreCheckSensitiveList","Array","isArray","CustomSensitiveInfoList","cbl","CheckBoxes","eI","exclusionText","iAuthText","IAuthText","iDoNotAuth","headerText","HeaderText","textLine","text","checkBoxText","titlebar","SensitiveInfo","selectiontext","selectiontext2","selectiontext3","donotauth","doauth","labels","psy","drug","hiv","STD","genetics","phoneFaxFormat","which","RecipientOfInfo","recipientName","recipientNameML","recipientInfo","RecipientPat","RecipientRep","RecipientReq","option3","option4","option5","option6","option7","option8","option9","option10","option11","option12","option13","option14","DeliveryMethod","triPartiteOrg","releasemode","deliveryMethodSection","deliveryMethods","method","replaceAll","option2","deliveryMethodGroup","ErrorChecking","ValidatorText","repcontact","Button","icon","buttonType","setButtonType","backgroundColor","ReleaseDatesSection","DisableFeeStatement","convertSubmitObject","RPhone","RFName","RLName","PDOB1","Date","toLocaleDateString","timeZone","dosTo1","dosFrom1","releaseId","recordList","toUpperCase","releaseDatesSection","textAlign","feeInfo","PageHeaders","buttons","reviewRequest","PBV_icon","AltText","PoweredByVerisma","SectionInstruction","instructionText","SupportingDocsSection","fileSubmissionAction","fileDeletionAction","giveError","screenWidth","setScreenWidth","errorDisplay","fileError","devMode","supportingDocsSection","dragOverHandler","ev","dropHandler","dataTransfer","kind","getAsFile","supportingDoc","files","getElementsByTagName","clientWidth","window","onresize","idVerification","UseCustom","uploadNowText","onFileText","TouchAndUploadText","DragAndDropText","uploadMsg","maxFileSizeMsg","SectionTitleText","doc","selfie","multiple","onDrop","onDragOver","arrayOfFiles","currentTarget","file","size","fileSize","getElementById","array","File","RepInfoSection","IdentityVerificationSection","optionone","optiontwo","IdentityVerification","instructions","SupportingDocument","TouchAndUpload","DragAndDrop","UploadedFileTab","toFixed","bItem","kbItem","mbItem","border","validateForm","RepContactInfoSection","patientInfoSection","patInfo","firstName","middleInitial","lastName","otherName","dob","phone","confirmPhone","email","confirmEmail","Address1","Address2","patientCity","patientState","patientZip","ProxyInfoSection","repContactInfoSection","city","zip","rrelationship","patientRelationship","parent","guardian","medical","executor","AdditionalInfoSection","additionalInfo","apiHostNoPatient","process","substring","apiHost","REACT_APP_HOST","getwayApi","REACT_UX","LogoAndTitle","disclaimerText","titleText","formId","titleColor","logo","formSubtype","TitleDisclaimerText","Bold","parseInt","FontSize","IncludeAsterix","Text","formWidth","ErrorFocus","getKeysRecursively","object","isObject","currentKey","keys","constructor","prevProps","errorToFocus","selectorKey","selector","errorElement","querySelector","setErrorToFocus","focus","React","LoadingScreen","connect","loadingMessage","borderColor","borderWidth","phoneRegex","zipRegex","dateCantBeInFuture","moment","add","dateIsBefore","before","after","isSameOrBefore","cityRegEx","stateRegEx","allValidations","configTest","discloseToSection","purposeOfDisclosureSection","caseNumberSection","additionalInfoSection","disclosureOfSensitiveInformation","Yup","shape","matches","oneOf","max","Patient_Email_Conform","test","getFullYear","nullable","enteredDate","month","getMonth","day","getDate","year","validZipcode","patientInfoValidations","discloseToEntityGroup","discloseToName","when","is","then","discloseToPhone","validPhone","discloseToFax","discloseToAddressLine1","discloseToAddressLine2","discloseToCity","discloseToState","discloseToZip","discloseToValidations","Rep_Email_Conform","RepMName","repInfoValidations","min","RFax","RAddress1","RCity","RState","RZip","REmail","authorizationToReleaseValidations","dosfrom","notFutureDate","dosto","infoToReleaseGroupOther","informationToReleaseValidations","deliveryMethodValidations","disclosurePurposeGroup","disclosurePurposeGroupOther","val","purposeOfDisclosureValidations","numOfDocsExpected","fileLimit","fileMinimum","valid","supportingDocsValidations","patientInformationSection","formLevelValidations","caseNumber","caseNumberValidations","repDesc","additionalInfoValidations","allValidationsMultilanguage","FirstName","LastName","PhoneNumber","PhoneNumberInvalid","PhoneNumberConfirm","PhoneNumberMatch","Email","EmailInvalid","EmailConfirm","EmailMatch","MissingAddress","CityMissing","StateMissing","StateInvalid","MissingDOB","DateCantBeFuture","RequiresAdult","ZipMissing","InvalidZip","EmailLong","AddressTooLong","CityLong","StateLong","MILong","RelationshipMissing","ZipInvalid","MinOnePhysician","MinOneParty","InvalidFax","MissingRelease","discloseSensitiveInfoValidations","MissingServiceStartDate","StartDateAfterDob","MissingServiceEndDate","EndDateNotBeforeStart","MissingItemRelease","MissingPurposeDisclosure","MissingDelivery","PleaseUpload","PleaseAlsoUpload","IsFileBig","initializeFormAction","session","responseData","validationSchema","patientInfoFields","PDOB","authorizationToReleaseFields","RName","RAddress2","Facility","disclosewhat","Proxy","releaseDatesFields","RequestDate","expirationdate","additionalInfoFields","signdate","OtherNote","c","sessionId","txtotherrecords","RequestPurpose","payload","localFormSpec","fetchFormData","setLoading","dispatch","axios","get","response","data","JSON","parse","formSpecs","host","catch","err","submitFileData","url","Promise","resolve","reject","fileReader","readAsArrayBuffer","onload","Uint8Array","result","fileByteArray","onerror","FileReader","submissionPayload","FormData","append","post","headers","res","undefined","deleteFileData","filename","delete","submitUserData","esign","organization","formid","setNextPage","setSubmissionError","formData","actions","subData","splice","organizationId","counter","fileData","stringify","apiUrl","currentTimeStamp","getTime","submissionURL","fetchCaptcha","captchaUrl","setCaptchaRespObj","submitCaptchaData","captchaRespObj","userCatchaInput","setCaptcha","setErrorState","orderedValues","setAllValuesToTouched","proceedToSummary","setShowSummary","history","pushState","summary","href","sessionStorage","setItem","checkFormForErrors","noErrors","setErrorTofocus","preventSubmission","handleSubmit","errorsList","firstError","hasOwnProperty","scrollTo","left","top","offsetTop","behavior","scrollToFirstError","convertSubmissionObject","outPatientSummaryList","bothwell","submissionObj","pdf_facilitiesList","outPatientFacilities","SummaryModal2","submitData","isModelOpen","setSummary","testFormSpec","sensitiveInfoOrg","setCloseModal","userInput","submitForm","ui","patientInputObj","date_of_birth","patient_address","maiden_or_other_name","POName","repInputObj","relationship_to_patient","deliveryInputObj","recipient_name","recipient_phone","recipient_email","recipient_fax","recipient_address","pdf_RAddress","delivery_method","pdf_deliveryMethod","filteredLog","reduce","newObj","recordsInputObj","medical_records_released","pdf_releaseItemsList","sensitive_info_released","pdf_sensitiveInfoList","dates_of_service","pdf_serviceDates","facilities_releasing_info","other_facilities","outpatient_facilities","request_purpose","additional_information","resetFormLists","sectionInputs","valuePair","WrappingSec","SubmissionErrorScreen","errorInfo","orgLogo","formSpec","ErrorIcon","PBVLogo","SummaryModalMultiLanguage","patientInputObjML","SummaryModal","Titles","PatInfo","translatedValues","Labels","repInputObjML","RepInfo","deliveryInputObjML","RecordsDelivery","recordsInputObjML","MedRecord","RequestSummary","BackToForm","SubmitDisclaimer","Buttons","SubmitText","WrappingSecMultiLanguage","itemText","itemKey","itemLabel","DisclaimerTextRender","diList","DisclaimerTextEntry","fontStyle","txtScrubbed","txtRendered","di","bold","italic","outI","box","ContactListRender","headerRows","Headers","bodyRows","textRow","ContactListSection","CustomContactList","DisclaimersSection","CustomDisclaimerText","registerLocale","enUS","es","zhCN","fr","DynamicForm","nextPage","submissionError","includeSensitiveInfo","setIncludeSensitiveInfo","formInfo","proxyForm","patientForm","hostname","logo1","errorContextObject","ShowSensitiveInfo","onpopstate","addSummaryBackLogic","removeEventListener","removeSummaryBackLogic","loadingScreens","loadingStart","loadingFinalization","pageTitle","pageType","initialValues","onSubmit","isValid","dirty","generalContextObject","releaseMode","requestPurposeNumber","NYPOrg","patrequest","pickupLocation","output","inputItem","obj","assignPDFValuesML","SensitiveInfoSection","setAttribute","siHashMap","customSensitiveMap","hashmap","sensitiveMap","itemID","assignPDFValues","formReducer","action","langObject","returnLang","Captcha","testLogo","formStyles","setUserCatchaInput","errorState","setScreenSize","innerWidth","overflow","loadingText","CaptchaBox","image","autoFocus","onKeyDown","keyCode","CaptchaBoxML","EnterCharacters","enterprompt","invalid","submit","CaptchaContainer","DynamicFormContainer","dataLoading","useReducer","origin","captchaInputValid","setCaptchaValid","loading","PatientConfirmationPage","userData","setUserData","doFetch","trackRequest","trackingButton","PatientConfirmation","Header","RequestSubmitted","Body","EmailTarget","AdditionalEmail","AccessCode","vrmAccessCode","TackRequest","open","trackingLink","WelcomeFeedback","SurveyButton","LoadingScreenText","PatientConfirmationPageContainer","setConfig","confirmSpecs","textImage","surveryLink","getTabSessionToken","token","getItem","sessionCookie","cookie","split","find","startsWith","getSessionFromCookie","appInsights","ApplicationInsights","instrumentationKey","loadAppInsights","trackPageView","App","basename","path","exact","render","ReactDOM"],"mappings":"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","file":"static/js/main.4ca9862d.chunk.js","sourcesContent":["module.exports = __webpack_public_path__ + \"static/media/info-circle.1d7ff502.png\";","module.exports = __webpack_public_path__ + \"static/media/verisma_logo.2eb1a5a4.png\";","module.exports = __webpack_public_path__ + \"static/media/error-icon.c214a35f.png\";","module.exports = __webpack_public_path__ + \"static/media/pbv.6e9f9f35.png\";","module.exports = __webpack_public_path__ + \"static/media/background_mobile_clear.4796f2d1.png\";","module.exports = __webpack_public_path__ + \"static/media/background_744_clear.f8711653.png\";","module.exports = __webpack_public_path__ + \"static/media/background_1024_clear.0c76f9d3.png\";","module.exports = __webpack_public_path__ + \"static/media/copy-icon.92c7f6d7.png\";","import React from \"react\";\r\n\r\nconst Required = ({ value }) => value ?\r\n \r\n \r\n \r\n : null;\r\n\r\nexport default Required;\r\n","import React from \"react\";\r\nimport { Field } from \"formik\";\r\n\r\nconst Checkbox = props => {\r\n \r\n return (\r\n \r\n {({ field, form }) => (\r\n \r\n
\r\n {\r\n if (field.value.includes(props.value) && props.name !== 'inputAuthorizePhysicianOffices' && props.name !== 'inputAuthorizeA') {\r\n \r\n const nextValue = field.value.filter(\r\n value => value !== props.value\r\n );\r\n form.setFieldValue(props.name, nextValue);\r\n } else {\r\n if (props.name === \"inputAuthorizeA\") {\r\n form.setFieldValue(props.name, (form.values[props.name] === \"on\") ? \"\" : \"on\")\r\n form.setFieldValue('facilityOrPhysician', (form.values['facilityOrPhysician'] === \"on\" && form.values.inputDisclosePhysicians === \"\") ? \"\" : \"on\")\r\n }\r\n \r\n else if (props.name === \"inputAuthorizePhysicianOffices\") {\r\n form.setFieldValue(props.name, (form.values[props.name] === \"on\") ? \"off\" : \"on\")\r\n }\r\n\r\n if(props.name === \"sensitiveInfo\" && props.value === \"authorizeAll\" || props.value === \"notAuthorizeAll\"){\r\n if (props.value === \"authorizeAll\"){\r\n const nextValue = (form.values[props.value] === \"on\") ? \"off\" : \"on\";\r\n\r\n form.setFieldValue(props.value, nextValue);\r\n form.setFieldValue(\"excludepsy\", \"on\");\r\n form.setFieldValue(\"excludedrug\", \"on\");\r\n form.setFieldValue(\"excludeHIV\", \"on\");\r\n form.setFieldValue(\"excludeSTD\", \"on\");\r\n form.setFieldValue(\"excludegenetics\", \"on\");\r\n form.setFieldValue(\"notAuthorizeAll\", \"off\");\r\n \r\n }\r\n else if (props.value === \"notAuthorizeAll\"){\r\n const nextValue = (form.values[props.value] === \"on\") ? \"off\" : \"on\";\r\n\r\n form.setFieldValue(props.value, nextValue);\r\n form.setFieldValue(\"excludepsy\", \"off\");\r\n form.setFieldValue(\"excludedrug\", \"off\");\r\n form.setFieldValue(\"excludeHIV\", \"off\");\r\n form.setFieldValue(\"excludeSTD\", \"off\");\r\n form.setFieldValue(\"excludegenetics\", \"off\");\r\n form.setFieldValue(\"authorizeAll\", \"off\");\r\n }\r\n \r\n // const nextValue = [props.value];\r\n // form.setFieldValue(props.name, nextValue);\r\n \r\n \r\n }\r\n // else if(props.name === \"sensitiveInfo\" && props.value < 90){\r\n // const cleanArray = field.value.filter(\r\n // value => value < 90\r\n // );\r\n // const nextValue = cleanArray.concat(props.value);\r\n // form.setFieldValue(props.value, nextValue);\r\n \r\n // }\r\n else{\r\n const nextValue = (form.values[props.value] === \"on\") ? \"off\" : \"on\";\r\n form.setFieldValue(props.value, nextValue);\r\n form.setFieldValue(\"authorizeAll\", \"off\");\r\n form.setFieldValue(\"notAuthorizeAll\", \"off\");\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 Checkbox;\r\n","import React from 'react';\r\nimport classNames from 'classnames';\r\n\r\n// Radio group\r\nconst RadioButtonGroup = ({\r\n value,\r\n error,\r\n touched,\r\n id,\r\n label,\r\n className,\r\n children\r\n}) => {\r\n const classes = classNames(\r\n \"input-field\",\r\n {\r\n \"is-success\": value || (!error && touched), // handle prefilled or user-filled\r\n \"is-error\": !!error && touched\r\n },\r\n className\r\n );\r\n\r\n return (\r\n
\r\n {/*
\r\n {label} */}\r\n {children}\r\n {/*
*/}\r\n
\r\n );\r\n};\r\n\r\nexport default RadioButtonGroup;","// import { Formik } from 'formik';\r\nimport React from 'react';\r\n// import './styles/components.scss';\r\n\r\nconst RadioButton = ({\r\n field: { name, value, onChange, onBlur, onClick },\r\n id,\r\n label,\r\n className,\r\n checked,\r\n config,\r\n formik,\r\n ...props\r\n}) => {\r\n \r\n return (\r\n \r\n \r\n \r\n \r\n );\r\n};\r\n\r\nexport default RadioButton;","import React, {useState} from \"react\";\r\nimport Required from \"../../../../components/Required\";\r\n// import Checkbox from \"../../../components/Checkbox\";\r\nimport { Field } from \"formik\";\r\nimport RadioButtonGroup from \"../../../../components/RadioButtonGroup\";\r\nimport RadioButton from \"../../../../components/RadioButton\";\r\n\r\nconst Facilities_7224 = ({ formik, template, config, orgId }) => {\r\n\r\n // const [otherFac, setOtherFac] = useState(null)\r\n\r\n\r\n return (\r\n
\r\n

{template.title}

\r\n \r\n \r\n
\r\n {/* ^^ special behavior for Temple */}\r\n \r\n \r\n {template.fields.facilitiesGroup.entries.map(option => {\r\n return (\r\n \r\n \r\n {formik.touched.otherFac &&\r\n formik.errors.otherFac ? (\r\n \r\n {formik.errors.otherFac}\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\r\nexport default Facilities_7224;\r\n","import { createContext } from 'react';\r\n\r\nexport const { Provider, Consumer } = createContext();\r\n","import React, { cloneElement } from 'react';\r\nimport PropTypes from 'prop-types';\r\n\r\nimport { Consumer } from './context';\r\n\r\nconst Target = ({ children: element }) => (\r\n \r\n {({ setTargetNode, togglePopover, onMouseEnterOnTarget, onMouseLeaveFromTarget }) =>\r\n cloneElement(element, {\r\n ref: setTargetNode,\r\n onMouseEnter: onMouseEnterOnTarget,\r\n onMouseLeave: onMouseLeaveFromTarget,\r\n })\r\n }\r\n \r\n);\r\n\r\nTarget.propTypes = {\r\n children: PropTypes.element,\r\n};\r\n\r\nexport default Target;\r\n","import React, { Component } from 'react';\r\nimport PropTypes from 'prop-types';\r\nimport PopperJS from 'popper.js';\r\n\r\nclass Popper extends Component {\r\n static propTypes = {\r\n placement: PropTypes.oneOf(['top', 'left', 'bottom', 'right']),\r\n children: PropTypes.node.isRequired,\r\n };\r\n\r\n static defaultProps = {\r\n placement: 'bottom',\r\n };\r\n\r\n content = null;\r\n arrow = null;\r\n popper = null;\r\n\r\n componentDidMount() {\r\n this.initPopper();\r\n }\r\n\r\n componentDidUpdate() {\r\n this.updatePopper();\r\n }\r\n\r\n componentWillUnmount() {\r\n this.destroyPopper();\r\n }\r\n\r\n initPopper = () => {\r\n this.popper = new PopperJS(\r\n this.props.target,\r\n this.content,\r\n {\r\n placement: this.props.placement,\r\n modifiers: {\r\n arrow: {\r\n element: this.arrow,\r\n },\r\n },\r\n }\r\n );\r\n };\r\n\r\n updatePopper = () => {\r\n this.popper && this.popper.update();\r\n };\r\n\r\n destroyPopper = () => {\r\n this.popper && this.popper.destroy();\r\n };\r\n\r\n setContentNode = (node) => { this.content = node; };\r\n\r\n setArrowNode = (node) => { this.arrow = node; };\r\n\r\n render() {\r\n const { placement, children } = this.props;\r\n\r\n return (\r\n \r\n
\r\n
{children}
\r\n
\r\n );\r\n }\r\n}\r\n\r\nexport default Popper;\r\n","import React from 'react';\r\nimport PropTypes from 'prop-types';\r\nimport { Consumer } from './context';\r\nimport Popper from './Popper';\r\n\r\nconst Content = ({ children }) => (\r\n \r\n {({ placement, targetNode, showPopover }) => showPopover ? (\r\n \r\n {children}\r\n \r\n ) : null}\r\n \r\n);\r\n\r\nContent.propTypes = {\r\n children: PropTypes.node,\r\n};\r\n\r\nexport default Content;","import React, { PureComponent } from 'react';\r\nimport PropTypes from 'prop-types';\r\nimport Target from './Target';\r\nimport Content from './Content';\r\nimport { Provider } from './context';\r\n\r\nclass Popover extends PureComponent {\r\n static propTypes = {\r\n placement: PropTypes.oneOf(['top', 'left', 'bottom', 'right']),\r\n };\r\n\r\n static defaultProps = {\r\n placement: 'bottom',\r\n };\r\n\r\n static Target = Target;\r\n static Content = Content;\r\n\r\n state = {\r\n placement: this.props.placement,\r\n showPopover: false,\r\n targetNode: null,\r\n };\r\n\r\n static getDerivedStateFromProps(nextProps, prevState) {\r\n if (nextProps.placement !== prevState.placement) {\r\n return { placement: nextProps.placement };\r\n }\r\n\r\n return null;\r\n }\r\n\r\n setTargetNode = node => this.setState({ targetNode: node });\r\n\r\n showPopover = () => this.setState({ showPopover: true });\r\n\r\n hidePopover = () => this.setState({ showPopover: false });\r\n\r\n render() {\r\n const context = {\r\n showPopover: this.state.showPopover,\r\n placement: this.state.placement,\r\n targetNode: this.state.targetNode,\r\n setTargetNode: this.setTargetNode,\r\n onMouseEnterOnTarget: this.showPopover,\r\n onMouseLeaveFromTarget: this.hidePopover,\r\n };\r\n return {this.props.children}\r\n }\r\n}\r\n\r\nexport default Popover;\r\n","import React from 'react';\r\nimport './icons.scss'\r\nimport PBV from '../../../../assets/pbv.png'\r\n\r\nexport const IDIcon = () => {\r\n return (\r\n \r\n \r\n \r\n\r\n )\r\n}\r\n\r\nexport const SelfieIcon = () => {\r\n return (\r\n \r\n \r\n \r\n \r\n \r\n )\r\n}\r\nexport const DocumentIcon = () => {\r\n return (\r\n \r\n \r\n \r\n \r\n )\r\n}\r\n\r\nexport const UploadIcon = () => {\r\n return (\r\n \r\n \r\n \r\n\r\n )\r\n}\r\n\r\nexport const CloseIcon = ({onClick}) => {\r\n return (\r\n \r\n \r\n \r\n )\r\n}\r\n\r\nexport const BackArrowIcon = () => {\r\n return(\r\n \r\n \r\n \r\n\r\n )\r\n}\r\n\r\nexport const Icon_BulletPoint = () => {\r\n return(\r\n \r\n \r\n \r\n\r\n\r\n )\r\n}\r\n\r\nexport const Icon_PBV = () => {\r\n return(\r\n \"Powered\r\n )\r\n}\r\n\r\nexport const Icon_Warning = () => {\r\n return(\r\n \r\n \r\n \r\n\r\n )\r\n}\r\n\r\nexport const Icon_Info = ({className}) => {\r\n return(\r\n \r\n \r\n \r\n )\r\n}\r\n\r\nexport const Icon_Check = ({className}) => {\r\n return(\r\n \r\n \r\n \r\n\r\n )\r\n}\r\nexport const Icon_EmptyCheckbox = ({className}) => {\r\n return(\r\n \r\n \r\n \r\n )\r\n}\r\nexport const Icon_MedicalRecord = ({className}) => {\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\nexport const Icon_MedicalFacility = ({className, color}) => {\r\n return(\r\n \r\n \r\n \r\n \r\n )\r\n}\r\n\r\nexport const Icon_Doctor = ({className, color}) => {\r\n return(\r\n \r\n \r\n \r\n \r\n\r\n \r\n )\r\n}\r\n\r\nexport const Icon_DropdownArrow = ({className}) => {\r\n return(\r\n \r\n \r\n \r\n )\r\n}\r\n\r\nexport const Icon_Radio_Empty = ({}) =>{\r\n return (\r\n \r\n \r\n \r\n )\r\n}\r\n\r\nexport const Icon_Radio_Selected = ({}) =>{\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","import React from 'react';\r\nimport infoCircle from '../../screens/form/styles/assets/info-circle.png';\r\nimport Popover from \"../../../formik/refactorOut/components/Popper/Popover\";\r\nimport { popoverLocation } from \"../../../config/Configuration\";\r\nimport './hoverTip.scss'\r\nimport {Icon_Info} from '../../screens/form/styles/assets/icons'\r\n\r\nconst HoverTip = ({popverLocation, tooltip, color}) => {\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 {tooltip}\r\n \r\n
\r\n )\r\n}\r\n\r\nexport default HoverTip;","\r\n// REFACTOR; separate configs into separate files and import/export using index.js\r\n\r\n// TODO; consider trying to load only the required locale per client configuration\r\nimport {registerLocale} from 'react-datepicker';\r\nimport enUS from \"date-fns/locale/en-us\";\r\nimport es from \"date-fns/locale/es\";\r\nimport zhCN from \"date-fns/locale/zh-cn\";\r\nimport fr from \"date-fns/locale/fr\";\r\n\r\nexport const registerLocales = _ => {\r\n registerLocale(\"en-us\", enUS);\r\n registerLocale(\"es\", es);\r\n registerLocale(\"zh-cn\", zhCN);\r\n registerLocale(\"fr\", fr);\r\n}\r\n\r\n\r\n\r\n// DESIGN; these attributes control the structure - not really client specific - where do we put this? \r\nexport const modalCustomStyles = {\r\n content: {\r\n width: \"50rem\",\r\n maxWidth: \"calc(100vw - 2rem)\",\r\n maxHeight: \"calc(100vh - 2rem)\",\r\n boxShadow: \"0 0 30px 0 rgba(0, 0, 0, 0.25)\",\r\n overflowY: \"auto\",\r\n position: \"relative\",\r\n padding: \"1px\",\r\n top: \"50%\",\r\n left: \"50%\",\r\n right: \"auto\",\r\n bottom: \"auto\",\r\n border: \"none\",\r\n overflow: \"auto\",\r\n marginRight: \"-50%\",\r\n transform: \"translate(-50%, -50%)\"\r\n\r\n }\r\n};\r\n\r\n// NOTE; options are left, right, top, bottom\r\nexport const popoverLocation = \"right\"; ","import React, { useState, useEffect } from 'react';\r\nimport './CheckField.scss';\r\nimport HoverTip from '../hoverTip/hoverTip';\r\nimport { Icon_Check, Icon_EmptyCheckbox } from '../../../UI/screens/form/styles/assets/icons';\r\n\r\nconst CheckField = ({ checkboxType, formik, formValue, checkItemLabel, physicianFunction, allOrNone, tooltip, trueFormSpec, className, localFacilities, decorative = false, lockcheck }) => {\r\n\r\n const [checked, setChecked] = useState(false);\r\n\r\n const releaseConfig = {\r\n selectedItems: formik.values.infoToReleaseGroup,\r\n field: 'infoToReleaseGroup',\r\n }\r\n const facilityConfig = {\r\n selectedItems: formik.values.facilityList,\r\n field: 'facilityList',\r\n }\r\n\r\n const config = checkboxType === 'release' ? releaseConfig : checkboxType === 'facility' ? facilityConfig : null;\r\n\r\n useEffect(() => {\r\n if (checkboxType === 'sensitive') {\r\n formik.values.sensitiveInfo.includes(formValue) ? setChecked(true) : setChecked(false);\r\n }\r\n }, [formik.values.sensitiveInfo]);\r\n\r\n useEffect(() => {\r\n // make list of all items in requested item list.\r\n if (checkboxType === 'releaseAll') {\r\n\r\n let infoToReleaseGroupAllShort = trueFormSpec.release.items\r\n .filter(item => item.key !== \"otherItem\").map(item => {\r\n return item.key;\r\n });\r\n\r\n formik.setFieldValue(\"infoToReleaseGroupAll\", infoToReleaseGroupAllShort);\r\n }\r\n }, []);\r\n\r\n\r\n\r\n useEffect(() => {\r\n //toggle for Release all\r\n if (formik.values.infoToReleaseGroupAll && checkboxType === 'releaseAll') {\r\n if (formik.values.infoToReleaseGroupAll.length === formik.values.infoToReleaseGroup.length) {\r\n setChecked(true);\r\n } else {\r\n setChecked(false);\r\n }\r\n }\r\n\r\n // toggle for individual checkboxes.\r\n if (checkboxType === 'release') {\r\n if (formik.values.infoToReleaseGroup.includes(formValue)) {\r\n setChecked(true);\r\n } else {\r\n setChecked(false);\r\n }\r\n }\r\n }, [formik.values.infoToReleaseGroup]);\r\n\r\n\r\n if (decorative) {\r\n return (\r\n \r\n )\r\n\r\n }\r\n return (
\r\n {\r\n if (checkboxType === 'release') {\r\n if (config.selectedItems.includes(formValue)) {\r\n setChecked(false);\r\n formik.setFieldValue(config.field, config.selectedItems.filter((releaseItemValue) => {\r\n return releaseItemValue !== formValue;\r\n }))\r\n }\r\n else {\r\n setChecked(true);\r\n formik.setFieldValue(config.field, [...config.selectedItems, formValue]);\r\n }\r\n }\r\n\r\n if (checkboxType === 'releaseAll') {\r\n if (checked) {\r\n setChecked(false);\r\n formik.setFieldValue(\"infoToReleaseGroup\", []);\r\n } else {\r\n setChecked(true);\r\n formik.setFieldValue(\"infoToReleaseGroup\", [...formik.values.infoToReleaseGroupAll]);\r\n }\r\n }\r\n\r\n else if (checkboxType === 'facility') {\r\n if (config.selectedItems.includes(formValue)) {\r\n setChecked(false);\r\n formik.setFieldValue(config.field, config.selectedItems.filter((releaseItemValue) => {\r\n return releaseItemValue !== formValue\r\n }))\r\n // formik.values.inputAuthorizePhysicianOffices === \"\" && formik.values.facilityList.length === 1 && formik.setFieldValue('facilityOrPhysician', \"\")\r\n }\r\n else {\r\n setChecked(true);\r\n formik.setFieldValue(config.field, [...config.selectedItems, formValue]);\r\n checkboxType === 'facility' && formik.setFieldValue('facilityOrPhysician', \"on\")\r\n }\r\n }\r\n\r\n else if (checkboxType === 'facilityTextbox') {\r\n\r\n if (formik.values.facilityList.includes(formValue)) {\r\n setChecked(false);\r\n formik.setFieldValue(\"facilityList\", formik.values.facilityList.filter((releaseItemValue) => {\r\n return releaseItemValue !== formValue\r\n }))\r\n }\r\n else {\r\n setChecked(true);\r\n formik.setFieldValue(\"facilityList\", [...formik.values.facilityList, formValue]);\r\n checkboxType === 'facility' && formik.setFieldValue('facilityOrPhysician', \"on\");\r\n }\r\n }\r\n\r\n\r\n else if (checkboxType === 'selectAndTypeFacility') {\r\n if (checked) {\r\n setChecked(false)\r\n localFacilities.set([...localFacilities.value].filter((facility) => { return facility !== checkItemLabel }))\r\n // formik.setFieldValue(config.field, config.selectedItems.filter((releaseItemValue)=>{\r\n // return releaseItemValue !== formValue\r\n // }))\r\n // formik.values.inputAuthorizePhysicianOffices === \"\" && formik.values.facilityList.length === 1 && formik.setFieldValue('facilityOrPhysician', \"\")\r\n }\r\n else {\r\n setChecked(true)\r\n !localFacilities.value.includes(checkItemLabel) && localFacilities.set([...localFacilities.value, checkItemLabel])\r\n // formik.setFieldValue('facilityList', [...formik.values.facilityList, checkItemLabel])\r\n // formik.setFieldValue(config.field, [...config.selectedItems, formValue])\r\n // checkboxType === 'facility' && formik.setFieldValue('facilityOrPhysician', \"on\")\r\n }\r\n }\r\n\r\n else if (checkboxType === 'sensitive') {\r\n checked ?\r\n formik.setFieldValue('sensitiveInfo', formik.values.sensitiveInfo.filter((info) => { return info !== formValue }))\r\n :\r\n formik.setFieldValue('sensitiveInfo', [...formik.values.sensitiveInfo.filter((item) => { return item !== 'excludeAll' }), formValue])\r\n // Set sensitiveInfo to an array containing the value selected, and with \"discloseAll\" removed.\r\n }\r\n else if (checkboxType === 'physicians') {\r\n formik.values.inputAuthorizePhysicianOffices === \"on\" ? setChecked(false) : setChecked(true)\r\n formik.setFieldValue('inputAuthorizePhysicianOffices', formik.values.inputAuthorizePhysicianOffices === \"on\" ? \"\" : \"on\")\r\n formik.setFieldValue('inputDisclosePhysicians', formik.values.inputDisclosePhysicians === \"on\" ? \"\" : \"on\")\r\n formik.setFieldValue('facilityOrPhysician', formik.values.facilityOrPhysician === \"on\" && formik.values.facilityList.length === 0 ? \"\" : \"on\")\r\n checked ? physicianFunction(false) : physicianFunction(true)\r\n checked ? formik.setFieldValue('inputPhysicianNames', 'not_applicable') : formik.setFieldValue('inputPhysicianNames', '')\r\n }\r\n else {\r\n\r\n }\r\n }}\r\n >\r\n {checked ? : }\r\n {checkItemLabel}\r\n {/* The system was built where the text is the ID. Sensitive info cannot be that way. */}\r\n {(checkboxType === 'sensitive') ? :\r\n }\r\n {/* */}\r\n {(checkboxType === 'release' || tooltip) && { e.stopPropagation() }}>}\r\n \r\n\r\n
\r\n\r\n )\r\n}\r\n\r\nexport default CheckField;\r\n\r\n\r\nconst UnCheckedBox = () => {\r\n return (\r\n \r\n \r\n \r\n )\r\n}\r\n\r\nconst CheckedBox = () => {\r\n return (\r\n \r\n \r\n \r\n \r\n )\r\n\r\n}","import React from 'react';\r\nimport './sectionHeader.scss'\r\n\r\nexport const SectionHeader = ({ sectionTitle, styles, cssClasses }) => {\r\n return (\r\n \r\n {sectionTitle}\r\n \r\n )\r\n}","import React from 'react'\r\nimport './inlineValidation.scss'\r\n\r\nconst InlineValidation = ({formik, fieldId, fieldTouched, customMessage}) => {\r\n return (\r\n
\r\n {(formik.touched[fieldId] && \r\n formik.errors[fieldId]) || \r\n customMessage && (\r\n \r\n {customMessage ? customMessage : formik.errors[fieldId]}\r\n \r\n )}\r\n
\r\n )\r\n}\r\n\r\nexport default InlineValidation","import React, { useEffect, useState, useRef } from 'react';\r\nimport './TextField.scss'\r\nimport DatePicker from \"react-datepicker\";\r\nimport MaskedInput from 'react-text-mask';\r\nimport InlineValidation from '../inlineValidation/inlineValidation'\r\nimport Required from \"../Required\";\r\n\r\nexport const TextField = ({ formik, fieldId, cssField, label, requiredVal = true, maxLength = 20, inputType = 'text', dateField, config, type, format, calendarOpen }) => {\r\n\r\n const [empty, setEmpty] = useState(true)\r\n const [filled, setFilled] = useState(false)\r\n const [focused, setFocused] = useState(false)\r\n const [datePlaceholderLength, setDatePlaceholderLength] = useState(false)\r\n\r\n const currentDateField = useRef(null);\r\n\r\n function emptyTheField() {\r\n setEmpty(true)\r\n setFilled(false)\r\n }\r\n\r\n function formatZip(e) {\r\n (isNaN(Number(e.key))) && e.preventDefault()\r\n if (e.target.value.length === 5) {\r\n e.target.value = e.target.value.concat('-')\r\n }\r\n }\r\n\r\n function formatCityState(e) {\r\n // when user enters input, if it is not a letter or a '-', prevent the input\r\n if (e.key.length === 1 && !e.key.match(/[a-zA-Z]/) && e.key !== '-') {\r\n e.preventDefault()\r\n }\r\n }\r\n function formatState(e) {\r\n if (e.key.length === 1 && !e.key.match(/[a-zA-Z]/) && e.key !== '-') {\r\n e.preventDefault()\r\n }\r\n }\r\n function formatCity(e) {\r\n if (!e.key.match(/[a-zA-Z',.\\s-]/)) {\r\n e.preventDefault()\r\n }\r\n }\r\n\r\n useEffect(() => {\r\n const phoneFields = ['PPhone', 'Patient_Phone_Conform', 'RepPhone', 'Rep_Phone_Conform']\r\n phoneFields.forEach((field) => {\r\n formik.errors[field] == \"Please enter phone number in a valid format\" && formik.setFieldValue(field, formik.values[field].replace(/^(\\d{3})(\\d{3})(\\d{4}).*/, \"$1-$2-$3\"))\r\n })\r\n }, [formik.errors.PPhone, formik.errors.Patient_Phone_Conform, formik.errors.RepPhone, formik.errors.Rep_Phone_Conform])\r\n\r\n\r\n function blurTheField(e, fieldId) {\r\n setFocused(false);\r\n formik.setFieldTouched(fieldId);\r\n // fieldId.includes('Phone') && console.log(\"phone:\", e.target.value)\r\n // fieldId.includes('Phone') && e.target.value = 'a'\r\n\r\n e.target.value.length === 0 ? emptyTheField() : setFilled(true)\r\n }\r\n\r\n function removeExtraSpace(e) {\r\n if (e.key === 'Backspace') {\r\n e.target.value.length === 13 && inputType === 'tel' && formik.setFieldValue(fieldId, e.target.value.slice(0, 12))\r\n }\r\n }\r\n\r\n useEffect(() => {\r\n if (currentDateField.current) {\r\n let dateRequiredIndicator = currentDateField.current\r\n let dateInput = dateRequiredIndicator.previousElementSibling\r\n setDatePlaceholderLength(dateInput.placeholder.length)\r\n }\r\n })\r\n\r\n\r\n const errorOnField = formik.touched[fieldId] && formik.errors[fieldId]\r\n return (\r\n \r\n\r\n {!dateField ?\r\n
\r\n
\r\n

{label}

\r\n \r\n
\r\n { formik.touched[fieldId] = false; setEmpty(false); setFocused(true) }}\r\n onBlur={(e) => { blurTheField(e, fieldId) }}\r\n // onKeyPress={(e) => { phoneFaxFormat(e) }}\r\n onKeyPress={\r\n (e) => {\r\n fieldId.includes(\"Zip\") && formatZip(e);\r\n (fieldId.includes('Phone') || fieldId.includes('Fax')) && format(e);\r\n\r\n (fieldId.includes('City')) && formatCity(e);\r\n (fieldId.includes('State')) && formatState(e);\r\n }\r\n }\r\n onKeyUp={removeExtraSpace}\r\n maxLength={maxLength}\r\n className={errorOnField && 'error-input'}\r\n />\r\n\r\n {empty && }\r\n {(focused || filled) && }\r\n
\r\n :\r\n
\r\n
\r\n

{label}

\r\n \r\n
\r\n {\r\n formik.touched[fieldId] = false; setEmpty(false); setFocused(true);\r\n }}\r\n onBlur={(e) => {\r\n setFocused(false); formik.setFieldTouched(fieldId); e.target.value.length === 0 ? emptyTheField() : setFilled(true);\r\n }}\r\n className={\r\n `${errorOnField && 'error-input'} ${(focused || filled) && 'date-focused'} ${!focused && empty && 'dateInputUnchecked'}`\r\n\r\n }\r\n onChange={date => {\r\n formik.setFieldTouched(fieldId, true, true);\r\n formik.setFieldValue(fieldId, date.target.value);\r\n }}\r\n onSelect={date => {\r\n formik.setFieldTouched(fieldId, true, true);\r\n formik.setFieldValue(fieldId, date.target.value);\r\n }}\r\n />\r\n {/* {!(focused || filled) && } */}\r\n {empty && }\r\n {(focused || filled) && }\r\n
\r\n }\r\n\r\n {errorOnField && }\r\n \r\n )\r\n}\r\n\r\nexport default TextField;\r\n\r\nconst EmptyHint = ({ label, required }) => {\r\n return (\r\n
\r\n

{label}

\r\n \r\n
\r\n )\r\n}\r\n\r\nconst FilledHint = ({ label }) => {\r\n return (\r\n
\r\n
\r\n )\r\n}","import React, {useEffect, useState, useContext} from 'react';\r\nimport './TextField.scss'\r\nimport DatePicker from \"react-datepicker\";\r\nimport MaskedInput from 'react-text-mask';\r\nimport InlineValidation from '../inlineValidation/inlineValidation'\r\nimport Required from \"../Required\";\r\nimport {ConfigContext} from '../../screens/form/DynamicForm/DynamicForm'\r\n\r\nexport const TextField_Custom = ({fieldId, cssField, label, maxLength=20, inputType='text', fieldIsRequired=true, stateProps}) => {\r\n \r\n const context = useContext(ConfigContext)\r\n const {formik} = useContext(ConfigContext)\r\n \r\n const [fieldIsEmpty, setEmpty] = useState(true)\r\n const [fieldIsFilled, setFilled] = useState(false)\r\n const [fieldIsFocused, setFocused] = useState(false)\r\n const [errorOnField, setFieldError] = useState(false)\r\n const [errorMessage, setErrorMessage] = useState(stateProps.errorMessage)\r\n const [fieldValue, setFieldValue] = useState('')\r\n \r\n useEffect(()=>{\r\n if (stateProps.error.state && !fieldValue && fieldIsRequired) {\r\n setFieldError(true)\r\n }\r\n else {\r\n setFieldError(false)\r\n }\r\n }, [stateProps.error.state, fieldValue])\r\n \r\n function emptyTheField() {\r\n setEmpty(true)\r\n setFilled(false)\r\n }\r\n \r\n function blurTheField(e, fieldId) {\r\n setFocused(false); \r\n formik.setFieldTouched(fieldId); \r\n e.target.value.length === 0 ? emptyTheField() : setFilled(true)\r\n }\r\n\r\n function onChange(e) {\r\n setFieldValue(e.target.value)\r\n stateProps.setEnteredValues({...stateProps.enteredValues, [fieldId]: e.target.value})\r\n }\r\n \r\n return (\r\n
\r\n
\r\n
\r\n

{label}

\r\n \r\n
\r\n { setEmpty(false); setFocused(true)}}\r\n onBlur={(e)=>{blurTheField(e, fieldId)}}\r\n onChange={(e) => onChange(e)}\r\n maxLength={maxLength}\r\n className={ errorOnField && 'error-input' }\r\n />\r\n \r\n {fieldIsEmpty && }\r\n {(fieldIsFocused || fieldIsFilled) && }\r\n
\r\n \r\n {errorOnField && }\r\n
\r\n )\r\n }\r\n\r\nexport default TextField_Custom;\r\n\r\nconst EmptyHint = ({label, required}) => {\r\n return (\r\n
\r\n

{label}

\r\n
\r\n )\r\n }\r\n \r\n const FilledHint = ({label}) => {\r\n return (\r\n
\r\n
\r\n )\r\n }","import React from 'react';\r\nimport '../screens/form/styles/errors.scss'\r\n\r\nconst ErrorBar = ({message}) => {\r\n return (\r\n
\r\n \r\n \r\n \r\n\r\n

{message}

\r\n
\r\n )\r\n}\r\n\r\nexport default ErrorBar;","import React, {useEffect, useState, useContext} from 'react';\r\nimport CheckField from '../../../../components/CheckField2/CheckField'\r\n// import Required from \"../../Required\";\r\n// import Checkbox from \"../../Checkbox\";\r\n// import { Field } from \"formik\";\r\n// import RadioButtonGroup from \"../../RadioButtonGroup\";\r\n// import RadioButton from \"../../RadioButton\";\r\nimport './styles.scss'\r\n// import infoCircle from '../../styles/assets/info-circle.png'\r\n// import Popover from '../../../../../formik/refactorOut/components/Popper/Popover.js'\r\n// import { popoverLocation } from \"../../../../../config/Configuration\";\r\nimport {SectionHeader} from '../../../../components/sectionHeader/sectionHeader'\r\nimport TextField from '../../../../components/TextField/TextField'\r\n// import TextField_NoLogic from '../../TextField/TextField_NoLogic'\r\nimport TextField_Custom from '../../../../components/TextField/TextField_Custom'\r\nimport ErrorBar from '../../../../components/ErrorBar'\r\nimport { ConfigContext } from '../../DynamicForm/DynamicForm'\r\n\r\nconst Facilities_7168 = ({ formik, template, config, orgId, formColor }) => {\r\n \r\n // state values\r\n const [facilities, setFacilities] = useState([])\r\n const [validation, setValidation] = useState({state: false, message: ''})\r\n const [facilitiesError, setFacilitiesError] = useState({state: false, message: ''})\r\n const [selectedItems, setSelectedItems] = useState(['NYC Health & Hospitals'])\r\n const [ITRMessage, setITRMessage] = useState(\"As you select the facilities below, this text will update automatically. If no facilities are selected, this box will be left blank on the final form. Please note, COVID test results may take 5-7 days.\")\r\n\r\n // sets up context\r\n let appContext = useContext(ConfigContext)\r\n const {dbFormSpec, validationValues } = useContext(ConfigContext);\r\n appContext.localValues = {};\r\n appContext.localValues.facilityList = facilities;\r\n \r\n // when formik facility list is changed, update local facilities array\r\n useEffect(() => {\r\n let facilitiesArray = []\r\n Object.values(formik.values.facilityList).forEach((facility, index) => {\r\n if (facility !== '') {\r\n let facilityArray = []\r\n Object.values(facility).forEach((property, index) => {\r\n property && facilityArray.push(property)\r\n })\r\n facilitiesArray.push(`${facilityArray.join(', ')}`)\r\n }\r\n })\r\n setFacilities(facilitiesArray)\r\n }, [formik.values.facilityList])\r\n \r\n // when there is an error on a single facility, set an overall error on facilities component\r\n useEffect(()=>{\r\n appContext.localError = facilitiesError.state\r\n console.log(appContext.localError)\r\n console.log(\"facilitiesError.state\", facilitiesError.state)\r\n console.log(\"appContext.localError\", appContext)\r\n }, [facilitiesError])\r\n \r\n // when formik facility list is changed, update facilityOrPhysician accordingly\r\n useEffect(()=>{\r\n if (Object.values(formik.values.facilityList).every((value)=>{ return value.length == 0 })) {\r\n formik.setFieldValue('facilityOrPhysician', \"\")\r\n }\r\n else {\r\n formik.setFieldValue('facilityOrPhysician', \"on\")\r\n }\r\n }, [formik.values.facilityList])\r\n \r\n useEffect(()=>{\r\n formik.setFieldValue('facilityList', [\"NYC Health & Hospitals\"])\r\n }, [])\r\n \r\n useEffect(()=>{\r\n formik.values.facilityList.length > 1 ? setSelectedItems(formik.values.facilityList.join(', ')) : setSelectedItems(\"As you select the facilities below, this text will update automatically. If no facilities are selected, this box will be left blank on the final form. Please note, COVID test results may take 5-7 days.\")\r\n }, [formik.values.facilityList])\r\n\r\n return (\r\n
\r\n \r\n\r\n \r\n
\r\n
\r\n {formik.errors.facilityOrPhysician && formik.touched.facilityOrPhysician && }\r\n {(!formik.errors.facilityOrPhysician && formik.values.inputDisclosePhysicians && formik.errors.inputPhysicianNames && formik.touched.inputPhysicianNames) && }\r\n \r\n
{'I authorize'}
\r\n \r\n
Additional Locations
\r\n
{selectedItems}
\r\n
\r\n\r\n {\r\n // renderAdvancedFacilityList ? :\r\n // // tripartiteOrg ? :\r\n // renderFacilityRadiogroup ? :\r\n\r\n
\r\n {dbFormSpec.release.facilities.map((item, index) => {\r\n return (\r\n (!item.type) && (item.key !== 'otherFac') && (!item.value.includes('LTC')) && (!item.value.includes('LTACH')) && (!item.value.includes('Outpatient')) &&\r\n <>\r\n
\r\n \r\n )\r\n })\r\n }\r\n {/* */}\r\n
}\r\n
Outpatient Clinic locations
\r\n
\r\n {dbFormSpec.release.facilities.map((item, index) => {\r\n return (\r\n (!item.type) && (item.key !== 'otherFac') && (item.value.includes('Outpatient')) &&\r\n <>\r\n
\r\n \r\n )\r\n })}\r\n
\r\n {/* */}\r\n
Long-Term Care locations
\r\n
\r\n {dbFormSpec.release.facilities.map((item, index) => {\r\n return (\r\n (!item.type) && (item.key !== 'otherFac') && (item.value.includes('LTC') || item.value.includes('LTACH')) &&\r\n <>\r\n
\r\n \r\n )\r\n })}\r\n
\r\n {/*
*/}\r\n
{dbFormSpec.AuthorizationToReleaseCustomText ? dbFormSpec.AuthorizationToReleaseCustomText : \"\"}
\r\n
\r\n
\r\n
\r\n
\r\n )\r\n}\r\n\r\nexport default Facilities_7168;\r\n\r\n\r\nconst DecorativeCheckbox = (props) => {\r\n \r\n return (\r\n
\r\n \r\n \r\n
\r\n )\r\n}\r\n\r\nconst ThreeLevelFacilityForm = ({setFacilitiesError, set}) => {\r\n\r\n // state values\r\n const [error, setError] = useState({state: false, message: ''})\r\n const [enteredValues, setEnteredValues] = useState({\r\n facility_name: '',\r\n facility_address: '',\r\n facility_doctor: '',\r\n })\r\n\r\n // context values\r\n const {formik, setLocalError} = useContext(ConfigContext);\r\n \r\n // local variables\r\n const requiredFields = [enteredValues.facility_name, enteredValues.facility_address]\r\n \r\n // Sets error on this component, which is passed down to the individual fields\r\n // Sets the value of formik.values.facilityList every time enteredValues changes\r\n useEffect(()=>{\r\n requiredFields.some((value)=>{ return value.length > 0 }) && requiredFields.some((value)=>{ return value.length == 0 }) ? setError({state: true, message: 'blah'}) : setError({state: false, message: 'blah'})\r\n // if every property on enteredValues is empty...\r\n if (Object.values(enteredValues).every((value)=>{ return !value })) {\r\n formik.setFieldValue('facilityList', {...formik.values.facilityList, [set]: \"\"})\r\n } else {\r\n formik.setFieldValue('facilityList', {...formik.values.facilityList, [set]: enteredValues})\r\n }\r\n }, [enteredValues])\r\n \r\n // Sets error on parent component\r\n useEffect(()=>{\r\n console.log('COMPONENTERROR', error)\r\n error.state ? setFacilitiesError({state: true, message: error.message}) : setFacilitiesError({state: false, message: ''})\r\n error.state ? setLocalError(true) : setLocalError(false)\r\n }, [error])\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 // what triggers an error on the field?\r\n // what is/are the error message(s)?\r\n // what happens when the field is focused?\r\n // what happens when the field is blurred?\r\n // what happens when the field is changed?\r\n // what are invalid values?\r\n // what happens when the field is changed to an invalid value?\r\n\r\n\r\n}\r\n\r\n\r\n","import React, {useState, useEffect, useContext} from 'react';\r\nimport './RadioField.scss'\r\nimport {ConfigContext} from '../../screens/form/DynamicForm/DynamicForm'\r\nimport {Icon_Radio_Empty, Icon_Radio_Selected} from '../../../UI/screens/form/styles/assets/icons'\r\nimport HoverTip from '../hoverTip/hoverTip'\r\n\r\n\r\nconst RadioField = ({label, id, fieldValue, formValue, formik, orgColor, physicianAction, formType, displayPurposeOtherField, setFileError, hoverTip}) => {\r\n const [selected, setSelected] = useState(false);\r\n const {dbFormSpec} = useContext(ConfigContext);\r\n\r\n orgColor = '#717275';\r\n \r\n useEffect(() => {\r\n formik.values.documentation && formik.values.documentation !== '1' && formik.setFieldValue('supportingDoc', [{}])\r\n formik.values.documentation === '1' && formik.setFieldValue('supportingDoc', \"\")\r\n }, [formik.values.documentation]);\r\n \r\n useEffect(()=>{\r\n if (id !== 'sensitiveInfo' && id !== 'someDocs' && id !== 'allDocs' && id !== 'requestPurposePdfOther' && id !== 'allPhys') {\r\n if (formik.values[formValue] !== fieldValue) {\r\n setSelected(false);\r\n }\r\n }\r\n if (id === 'sensitiveInfo') {\r\n // !formik.values.sensitiveInfo.some(...fieldValue) && setSelected(false)\r\n !formValue.every((e, i, a) => {return formik.values.sensitiveInfo.includes(e)}) && setSelected(false)\r\n }\r\n\r\n // if (id === ('allDocs' || 'someDocs')) {\r\n if (id === 'allDocs' || id === 'someDocs') {\r\n id === 'someDocs' && physicianAction.value === true && setSelected(false)\r\n id === 'allDocs' && physicianAction.value === false && setSelected(false)\r\n }\r\n\r\n if (id === 'someDocs') {\r\n physicianAction.value === false && setSelected(true);\r\n }\r\n })\r\n\r\n useEffect(()=>{\r\n if (id === 'requestPurposePdfOther') {\r\n const standardRequestPurposes = ['1', '3', '4', '5', '6', '7']\r\n standardRequestPurposes.includes(formik.values.requestPurposePdf) && setSelected(false)\r\n }\r\n }, [formik.values.requestPurposePdf])\r\n\r\n useEffect(()=>{\r\n if (id === 'allPhys') {\r\n formik.values.physicianList && formik.values.physicianList.includes('Physician List:') && setSelected(false)\r\n }\r\n })\r\n \r\n return (\r\n \r\n )\r\n}\r\n\r\nexport default RadioField;\r\n\r\n\r\nconst UnSelectedRadio = () => {\r\n return (\r\n \r\n \r\n \r\n )\r\n}\r\n\r\nconst SelectedRadio = () => {\r\n return (\r\n \r\n \r\n \r\n \r\n )\r\n}","import React, {useEffect, useState, useContext} from 'react';\r\nimport CheckField from '../../../../components/CheckField2/CheckField'\r\n// import Required from \"../../Required\";\r\n// import Checkbox from \"../../Checkbox\";\r\n// import { Field } from \"formik\";\r\n// import RadioButtonGroup from \"../../RadioButtonGroup\";\r\n// import RadioButton from \"../../RadioButton\";\r\nimport './styles.scss'\r\n// import infoCircle from '../../styles/assets/info-circle.png'\r\n// import Popover from '../../../../../formik/refactorOut/components/Popper/Popover.js'\r\n// import { popoverLocation } from \"../../../../../config/Configuration\";\r\nimport {SectionHeader} from '../../../../components/sectionHeader/sectionHeader'\r\nimport TextField from '../../../../components/TextField/TextField'\r\n// import TextField_NoLogic from '../../TextField/TextField_NoLogic'\r\nimport TextField_Custom from '../../../../components/TextField/TextField_Custom'\r\nimport ErrorBar from '../../../../components/ErrorBar'\r\nimport { ConfigContext } from '../../DynamicForm/DynamicForm'\r\nimport RadioField from '../../../../components/RadioField2/RadioField';\r\n\r\nconst Facilities_7302 = ({ formik, template, config, orgId, formColor }) => {\r\n \r\n // state values\r\n const [facilities, setFacilities] = useState([])\r\n const [validation, setValidation] = useState({state: false, message: ''})\r\n const [facilitiesError, setFacilitiesError] = useState({state: false, message: ''})\r\n const [selectedItems, setSelectedItems] = useState([''])\r\n const [ITRMessage, setITRMessage] = useState(\"As you select the facilities below, this text will update automatically. If no facilities are selected, this box will be left blank on the final form. Please note, COVID test results may take 5-7 days.\")\r\n\r\n // sets up context\r\n let appContext = useContext(ConfigContext)\r\n const {dbFormSpec, validationValues } = useContext(ConfigContext);\r\n appContext.localValues = {};\r\n appContext.localValues.facilityList = facilities;\r\n \r\n // when formik facility list is changed, update local facilities array\r\n useEffect(() => {\r\n let facilitiesArray = []\r\n Object.values(formik.values.facilityList).forEach((facility, index) => {\r\n if (facility !== '') {\r\n let facilityArray = []\r\n Object.values(facility).forEach((property, index) => {\r\n property && facilityArray.push(property)\r\n })\r\n facilitiesArray.push(`${facilityArray.join(', ')}`)\r\n }\r\n })\r\n setFacilities(facilitiesArray)\r\n }, [formik.values.facilityList])\r\n \r\n // when there is an error on a single facility, set an overall error on facilities component\r\n useEffect(()=>{\r\n appContext.localError = facilitiesError.state\r\n console.log(appContext.localError)\r\n console.log(\"facilitiesError.state\", facilitiesError.state)\r\n console.log(\"appContext.localError\", appContext)\r\n }, [facilitiesError])\r\n \r\n // when formik facility list is changed, update facilityOrPhysician accordingly\r\n useEffect(()=>{\r\n if (Object.values(formik.values.facilityList).every((value)=>{ return value.length == 0 })) {\r\n formik.setFieldValue('facilityOrPhysician', \"\")\r\n }\r\n else {\r\n formik.setFieldValue('facilityOrPhysician', \"on\")\r\n }\r\n }, [formik.values.facilityList])\r\n \r\n useEffect(()=>{\r\n formik.values.facilityList.length > 0 ? setSelectedItems(formik.values.facilityList.join(', ')) : setSelectedItems(\"As you select the facilities below, this text will update automatically. If no facilities are selected, this box will be left blank on the final form. Please note, COVID test results may take 5-7 days.\")\r\n }, [formik.values.facilityList])\r\n\r\n return (\r\n
\r\n \r\n\r\n \r\n
\r\n
\r\n {formik.errors.facilityOrPhysician && formik.touched.facilityOrPhysician && }\r\n {(!formik.errors.facilityOrPhysician && formik.values.inputDisclosePhysicians && formik.errors.inputPhysicianNames && formik.touched.inputPhysicianNames) && }\r\n \r\n
{'I authorize'}
\r\n \r\n \r\n \r\n {formik.values.physicianList && formik.values.physicianList.includes('Physician List:') && }\r\n
Additional Locations
\r\n
{selectedItems}
\r\n
\r\n\r\n {\r\n // renderAdvancedFacilityList ? :\r\n // // tripartiteOrg ? :\r\n // renderFacilityRadiogroup ? :\r\n\r\n
\r\n {dbFormSpec.release.facilities.map((item, index) => {\r\n return (\r\n (!item.type) && (item.key !== 'otherFac') && (!item.value.includes('Bothwell Regional Health Center')) && \r\n <>\r\n
\r\n \r\n )\r\n })\r\n }\r\n {/* */}\r\n
}\r\n \r\n {/*
*/}\r\n
{dbFormSpec.AuthorizationToReleaseCustomText ? dbFormSpec.AuthorizationToReleaseCustomText : \"\"}
\r\n
\r\n
\r\n
\r\n
\r\n )\r\n}\r\n\r\nexport default Facilities_7302;\r\n\r\n\r\nconst DecorativeCheckbox = (props) => {\r\n \r\n return (\r\n
\r\n \r\n \r\n
\r\n )\r\n}\r\n\r\nconst ThreeLevelFacilityForm = ({setFacilitiesError, set}) => {\r\n\r\n // state values\r\n const [error, setError] = useState({state: false, message: ''})\r\n const [enteredValues, setEnteredValues] = useState({\r\n facility_name: '',\r\n facility_address: '',\r\n facility_doctor: '',\r\n })\r\n\r\n // context values\r\n const {formik, setLocalError} = useContext(ConfigContext);\r\n \r\n // local variables\r\n const requiredFields = [enteredValues.facility_name, enteredValues.facility_address]\r\n \r\n // Sets error on this component, which is passed down to the individual fields\r\n // Sets the value of formik.values.facilityList every time enteredValues changes\r\n useEffect(()=>{\r\n requiredFields.some((value)=>{ return value.length > 0 }) && requiredFields.some((value)=>{ return value.length == 0 }) ? setError({state: true, message: 'blah'}) : setError({state: false, message: 'blah'})\r\n // if every property on enteredValues is empty...\r\n if (Object.values(enteredValues).every((value)=>{ return !value })) {\r\n formik.setFieldValue('facilityList', {...formik.values.facilityList, [set]: \"\"})\r\n } else {\r\n formik.setFieldValue('facilityList', {...formik.values.facilityList, [set]: enteredValues})\r\n }\r\n }, [enteredValues])\r\n \r\n // Sets error on parent component\r\n useEffect(()=>{\r\n console.log('COMPONENTERROR', error)\r\n error.state ? setFacilitiesError({state: true, message: error.message}) : setFacilitiesError({state: false, message: ''})\r\n error.state ? setLocalError(true) : setLocalError(false)\r\n }, [error])\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 // what triggers an error on the field?\r\n // what is/are the error message(s)?\r\n // what happens when the field is focused?\r\n // what happens when the field is blurred?\r\n // what happens when the field is changed?\r\n // what are invalid values?\r\n // what happens when the field is changed to an invalid value?\r\n\r\n\r\n}\r\n\r\n\r\n","import React, { useEffect, useState, useContext } from 'react';\r\nimport CheckField from '../../../../components/CheckField2/CheckField';\r\nimport './styles.scss';\r\nimport { SectionHeader } from '../../../../components/sectionHeader/sectionHeader';\r\nimport ErrorBar from '../../../../components/ErrorBar';\r\nimport { ConfigContext } from '../../DynamicForm/DynamicForm';\r\n\r\nconst FacilitiesSelectionList = ({ formik, languageText }) => {\r\n\r\n // state values\r\n const [facilities, setFacilities] = useState([]);\r\n const [validation, setValidation] = useState({ state: false, message: '' });\r\n const [facilitiesError, setFacilitiesError] = useState({ state: false, message: '' });\r\n const [selectedItems, setSelectedItems] = useState([]);\r\n\r\n // sets up context\r\n let appContext = useContext(ConfigContext);\r\n const { dbFormSpec, validationValues } = useContext(ConfigContext);\r\n appContext.localValues = {};\r\n appContext.localValues.facilityList = facilities;\r\n\r\n\r\n const facilityName = dbFormSpec.facility.name;\r\n useEffect(() => {\r\n formik.setFieldValue('facilityList', [facilityName])\r\n }, []);\r\n\r\n useEffect(() => {\r\n let facilitiesArray = []\r\n Object.values(formik.values.facilityList).forEach((facility, index) => {\r\n if (facility !== '') {\r\n let facilityArray = []\r\n Object.values(facility).forEach((property, index) => {\r\n property && facilityArray.push(property)\r\n })\r\n facilitiesArray.push(`${facilityArray.join(', ')}`)\r\n }\r\n })\r\n setFacilities(facilitiesArray);\r\n }, [formik.values.facilityList]);\r\n\r\n // when there is an error on a single facility, set an overall error on facilities component\r\n useEffect(() => {\r\n appContext.localError = facilitiesError.state\r\n console.log(appContext.localError)\r\n console.log(\"facilitiesError.state\", facilitiesError.state)\r\n console.log(\"appContext.localError\", appContext)\r\n }, [facilitiesError]);\r\n\r\n // when formik facility list is changed, update facilityOrPhysician accordingly\r\n useEffect(() => {\r\n if (Object.values(formik.values.facilityList).every((value) => { return value.length == 0 })) {\r\n formik.setFieldValue('facilityOrPhysician', \"\")\r\n }\r\n else {\r\n formik.setFieldValue('facilityOrPhysician', \"on\")\r\n }\r\n }, [formik.values.facilityList]);\r\n\r\n\r\n\r\n useEffect(() => {\r\n formik.values.facilityList.length > 1 ? setSelectedItems(formik.values.facilityList.join(', ')) : setSelectedItems(`${languageText.FacilitySelector.SelectorInstructions}`)\r\n }, [formik.values.facilityList]);\r\n\r\n const SectionTitles = dbFormSpec.release.FacilitiesLocationsList ? dbFormSpec.release.FacilitiesLocationsList : [facilityName, languageText.FacilitySelector.LocationOne, languageText.FacilitySelector.LocationTwo, languageText.FacilitySelector.LocationThree];\r\n\r\n\r\n\r\n return (\r\n
\r\n \r\n
\r\n
\r\n {formik.errors.facilityOrPhysician && formik.touched.facilityOrPhysician && }\r\n {(!formik.errors.facilityOrPhysician && formik.values.inputDisclosePhysicians && formik.errors.inputPhysicianNames && formik.touched.inputPhysicianNames) && }\r\n \r\n
{languageText.FacilitySelector.AuthCaption}
\r\n \r\n
{SectionTitles[1]}
\r\n
{selectedItems}
\r\n
\r\n {\r\n
\r\n {dbFormSpec.release.facilities.map((item, index) => {\r\n return (\r\n (item.location === 1) &&\r\n <>\r\n
\r\n \r\n )\r\n })\r\n }\r\n\r\n
}\r\n
{SectionTitles[2]}
\r\n
\r\n {dbFormSpec.release.facilities.map((item, index) => {\r\n return (\r\n (item.location === 2) &&\r\n <>\r\n
\r\n \r\n )\r\n })}\r\n
\r\n
{SectionTitles[3]}
\r\n
\r\n {dbFormSpec.release.facilities.map((item, index) => {\r\n return (\r\n (item.location === 3) &&\r\n <>\r\n
\r\n \r\n )\r\n })}\r\n
\r\n
{dbFormSpec.AuthorizationToReleaseCustomText ? dbFormSpec.AuthorizationToReleaseCustomText : \"\"}
\r\n
\r\n
\r\n
\r\n
\r\n )\r\n}\r\n\r\nexport default FacilitiesSelectionList;\r\n\r\n\r\n\r\n\r\n\r\n","import React, { useEffect, useState, useContext } from 'react';\r\nimport CheckField from '../../../../components/CheckField2/CheckField';\r\nimport Popover from \"../../../../../formik/refactorOut/components/Popper/Popover\";\r\nimport { popoverLocation } from \"../../../../../config/Configuration\";\r\nimport TextField from '../../../../components/TextField/TextField';\r\n\r\n\r\nfunction FacilityAdvancedEntry({ props, formik, dbFormSpec }) {\r\n let entryType = (props.type || \"\").toLowerCase().trim();\r\n\r\n switch (entryType) {\r\n case \"textbox\":\r\n return (\r\n <>< CheckField id={props.key} checkboxType={'facilityTextbox'} formik={formik} className={'advancedFacilityList'} formValue={props.key} checkItemLabel={props.value} trueFormSpec={dbFormSpec} tooltip={props.address} />\r\n \r\n \r\n\r\n\r\n );\r\n case \"hr\":\r\n return (


);\r\n case \"text\": return (<>{props.value});\r\n case \"checkbox\": // is the default.\r\n default: return (<> < CheckField id={props.key} checkboxType={'facility'} formik={formik} className={'advancedFacilityList'} formValue={props.key} checkItemLabel={props.value} trueFormSpec={dbFormSpec} tooltip={props.address} />);\r\n }\r\n}\r\n\r\n\r\nfunction FacilityAdvancedList({ formik, dbFormSpec }) {\r\n const facilityListFilled = dbFormSpec.release.facilities.map((props, index) =>\r\n
\r\n );\r\n return (\r\n <>\r\n {facilityListFilled}\r\n \r\n );\r\n}\r\n\r\nexport default FacilityAdvancedList;\r\n","import React, { useEffect, useState, useContext } from 'react';\r\nimport CheckField from '../../../../components/CheckField2/CheckField';\r\nimport Popover from \"../../../../../formik/refactorOut/components/Popper/Popover\";\r\nimport { popoverLocation } from \"../../../../../config/Configuration\";\r\nimport TextField from '../../../../components/TextField/TextField';\r\n\r\nfunction DepartmentList({ deptlist, formik }) {\r\n const deptListFilled = deptlist.map((props, index) =>\r\n <>  \r\n );\r\n return (<> {deptListFilled} );\r\n}\r\n\r\n\r\nfunction FacilityRadioList({ formik, dbFormSpec }) {\r\n const [facilitySelect, setFacility] = useState(\"\");\r\n function FacilityChange(event) {\r\n setFacility(event.target.value);\r\n formik.setFieldValue('facilityList', [event.target.value], false);\r\n }\r\n\r\n function FacilityEntry({ props, formik }) {\r\n return (
\r\n \r\n
);\r\n }\r\n\r\n\r\n const facilityListFilled = dbFormSpec.release.facilities.map((props, index) =>\r\n
\r\n
\r\n
\r\n {props.includeTextBox && }\r\n
\r\n\r\n\r\n
\r\n
{props.DeptsDescription ? props.DeptsDescription : \"Please select any departments you wish to release records from.\"}
\r\n
{props.Departments && }
\r\n
\r\n
\r\n );\r\n\r\n\r\n return (
Facilities:\r\n {facilityListFilled}\r\n
);\r\n\r\n}\r\n\r\nexport default FacilityRadioList;","import React, {useState} from 'react';\r\nimport Required from \"../../../../components/Required\";\r\nimport Checkbox from \"../../../../components/Checkbox\";\r\nimport { Field } from \"formik\";\r\n// import RadioButtonGroup from \"../../RadioButtonGroup\";\r\n// import RadioButton from \"../../RadioButton\";\r\nimport './styles/facilities.css'\r\nimport infoCircle from '../../styles/assets/info-circle.png'\r\nimport Popover from '../../../../../formik/refactorOut/components/Popper/Popover.js'\r\nimport { popoverLocation } from \"../../../../../config/Configuration\";\r\n\r\nconst Facilities_7227 = ({ formik, template, config, orgId }) => {\r\n const [outPatient, setOutPatient] = useState(false)\r\n const [longTerm, setLongTerm] = useState(false)\r\n\r\n return (\r\n <>\r\n
\r\n

{template.title}

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

Additional Locations:

\r\n

Please select any additional clinic locations by selecting the checkboxes below.

\r\n \r\n
\r\n {template.fields.facilitiesGroup.entries.map((facility)=>{\r\n return \r\n \r\n \r\n {/* */}\r\n \r\n \r\n \r\n {facility.tooltip}\r\n \r\n \r\n \r\n })}\r\n
\r\n \r\n {!outPatient ? setOutPatient(true) : setOutPatient(false)}} labelStyle={template.styles.list} label={template.fields.outPatientGroup.label}/>\r\n
\r\n {outPatient && template.fields.outPatientGroup.entries.map((facility)=>{\r\n return \r\n \r\n \r\n {/* */}\r\n \r\n \r\n \r\n {facility.tooltip}\r\n \r\n \r\n })}\r\n
\r\n \r\n
\r\n {!longTerm ? setLongTerm(true) : setLongTerm(false)}} labelStyle={template.styles.list} label={template.fields.longTermGroup.label}/>\r\n {longTerm && template.fields.longTermGroup.entries.map((facility)=>{\r\n return \r\n \r\n \r\n {/* */}\r\n \r\n \r\n \r\n {facility.tooltip}\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 Facilities_7227;\r\n\r\n// const DropdownCheckSection = () => {\r\n// return(\r\n// {!longTerm ? setLongTerm(true) : setLongTerm(false)}} labelStyle={template.styles.list} label={template.fields.longTermGroup.label}/>\r\n// )\r\n// }\r\n\r\nconst DecorativeCheckbox = (props) => {\r\n \r\n return (\r\n
\r\n \r\n \r\n
\r\n )\r\n}","import React, {useEffect, useState, useContext} from 'react';\r\nimport CheckField from '../../CheckField2/CheckField'\r\n// import Required from \"../../Required\";\r\n// import Checkbox from \"../../Checkbox\";\r\n// import { Field } from \"formik\";\r\n// import RadioButtonGroup from \"../../RadioButtonGroup\";\r\n// import RadioButton from \"../../RadioButton\";\r\nimport './styles.scss'\r\n// import infoCircle from '../../styles/assets/info-circle.png'\r\n// import Popover from '../../../../../formik/refactorOut/components/Popper/Popover.js'\r\n// import { popoverLocation } from \"../../../../../config/Configuration\";\r\nimport {SectionHeader} from '../../sectionHeader/sectionHeader'\r\n// import TextField from '../../TextField/TextField'\r\n// import TextField_NoLogic from '../../TextField/TextField_NoLogic'\r\nimport TextField_Custom from '../../TextField/TextField_Custom'\r\nimport ErrorBar from '../../ErrorBar'\r\nimport { ConfigContext } from '../../../screens/form/DynamicForm/DynamicForm'\r\n\r\nconst Facilities_NameAddressDoc = ({ formik, template, config, orgId, formColor }) => {\r\n \r\n // state values\r\n const [facilities, setFacilities] = useState([])\r\n const [validation, setValidation] = useState({state: false, message: ''})\r\n const [facilitiesError, setFacilitiesError] = useState({state: false, message: ''})\r\n\r\n // sets up context\r\n let appContext = useContext(ConfigContext)\r\n appContext.localValues = {};\r\n appContext.localValues.facilityList = facilities;\r\n \r\n // when formik facility list is changed, update local facilities array\r\n useEffect(() => {\r\n let facilitiesArray = []\r\n Object.values(formik.values.facilityList).forEach((facility, index) => {\r\n if (facility !== '') {\r\n let facilityArray = []\r\n Object.values(facility).forEach((property, index) => {\r\n property && facilityArray.push(property)\r\n })\r\n facilitiesArray.push(`${facilityArray.join(', ')}`)\r\n }\r\n })\r\n setFacilities(facilitiesArray)\r\n }, [formik.values.facilityList])\r\n \r\n // when there is an error on a single facility, set an overall error on facilities component\r\n useEffect(()=>{\r\n appContext.localError = facilitiesError.state\r\n console.log(appContext.localError)\r\n console.log(\"facilitiesError.state\", facilitiesError.state)\r\n console.log(\"appContext.localError\", appContext)\r\n }, [facilitiesError])\r\n \r\n // when formik facility list is changed, update facilityOrPhysician accordingly\r\n useEffect(()=>{\r\n if (Object.values(formik.values.facilityList).every((value)=>{ return value.length == 0 })) {\r\n formik.setFieldValue('facilityOrPhysician', \"\")\r\n }\r\n else {\r\n formik.setFieldValue('facilityOrPhysician', \"on\")\r\n }\r\n }, [formik.values.facilityList])\r\n \r\n return (\r\n <>\r\n
\r\n \r\n \r\n {validation.state && }\r\n {formik.errors.facilityOrPhysician && formik.touched.facilityOrPhysician && }\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\nexport default Facilities_NameAddressDoc;\r\n\r\n\r\nconst DecorativeCheckbox = (props) => {\r\n \r\n return (\r\n
\r\n \r\n \r\n
\r\n )\r\n}\r\n\r\nconst ThreeLevelFacilityForm = ({setFacilitiesError, set}) => {\r\n\r\n // state values\r\n const [error, setError] = useState({state: false, message: ''})\r\n const [enteredValues, setEnteredValues] = useState({\r\n facility_name: '',\r\n facility_address: '',\r\n facility_doctor: '',\r\n })\r\n\r\n // context values\r\n const {formik, setLocalError} = useContext(ConfigContext);\r\n \r\n // local variables\r\n const requiredFields = [enteredValues.facility_name, enteredValues.facility_address]\r\n \r\n // Sets error on this component, which is passed down to the individual fields\r\n // Sets the value of formik.values.facilityList every time enteredValues changes\r\n useEffect(()=>{\r\n requiredFields.some((value)=>{ return value.length > 0 }) && requiredFields.some((value)=>{ return value.length == 0 }) ? setError({state: true, message: 'blah'}) : setError({state: false, message: 'blah'})\r\n // if every property on enteredValues is empty...\r\n if (Object.values(enteredValues).every((value)=>{ return !value })) {\r\n formik.setFieldValue('facilityList', {...formik.values.facilityList, [set]: \"\"})\r\n } else {\r\n formik.setFieldValue('facilityList', {...formik.values.facilityList, [set]: enteredValues})\r\n }\r\n }, [enteredValues])\r\n \r\n // Sets error on parent component\r\n useEffect(()=>{\r\n console.log('COMPONENTERROR', error)\r\n error.state ? setFacilitiesError({state: true, message: error.message}) : setFacilitiesError({state: false, message: ''})\r\n error.state ? setLocalError(true) : setLocalError(false)\r\n }, [error])\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 // what triggers an error on the field?\r\n // what is/are the error message(s)?\r\n // what happens when the field is focused?\r\n // what happens when the field is blurred?\r\n // what happens when the field is changed?\r\n // what are invalid values?\r\n // what happens when the field is changed to an invalid value?\r\n\r\n\r\n}\r\n\r\n\r\n","import React, {useEffect, useState, useContext} from 'react';\r\nimport CheckField from '../../CheckField2/CheckField'\r\nimport {TextField} from '../../TextField/TextField'\r\nimport {ConfigContext} from '../../../screens/form/DynamicForm/DynamicForm'\r\nimport './styles.scss'\r\n\r\nexport const TexasHealthFacilities = ({formik, dbFormSpec}) => {\r\n \r\n const [checkedFacilities, setCheckedFacilities] = useState([])\r\n const [summaryModalOpened, setSummaryModalOpened] = useState(false)\r\n \r\n const context = useContext(ConfigContext)\r\n console.log(context)\r\n\r\n // if the list of checked orgs is empty, set the value of facilityOrPhysician to an empty string\r\n useEffect(()=>{\r\n if (checkedFacilities.length === 0 && formik.values.facilityOrPhysician) {\r\n formik.setFieldValue('facilityOrPhysician', '')\r\n }\r\n else if (checkedFacilities.length > 0 && formik.values.facilityList.length > 0 && formik.values.facilityList[0].length > 0 && formik.values.facilityOrPhysician === '') {\r\n formik.setFieldValue('facilityOrPhysician', 'on')\r\n }\r\n })\r\n \r\n useEffect(()=>{\r\n typeof formik.values.facilityList === 'string' && formik.setFieldValue('facilityList', [formik.values.facilityList]) \r\n formik.values.facilityList.length > 0 && formik.values.facilityList[0].length > 0 ? formik.setFieldValue('facilityOrPhysician', 'on') : formik.setFieldValue('facilityOrPhysician', '')\r\n }, [formik.values.facilityList])\r\n\r\n useEffect(()=>{\r\n if (context.showSummary) {\r\n setSummaryModalOpened(true);\r\n let checkedFacilitiesToAdd = checkedFacilities.filter((value)=>{\r\n if (!formik.values.facilityList.includes(value)) {\r\n return value\r\n }\r\n })\r\n formik.setFieldValue('facilityList', [...checkedFacilitiesToAdd, ...formik.values.facilityList])\r\n }\r\n else if (!context.showSummary && summaryModalOpened) {\r\n console.log('summary-modal not found')\r\n formik.setFieldValue('facilityList', formik.values.facilityList.filter((value, index)=>{\r\n return value !== 'Texas Health' && value !== 'THPG Clinics' && value !== 'Texas Health Urgent Care'\r\n }))\r\n console.log(formik.values.facilityList)\r\n }\r\n }, [context.showSummary])\r\n\r\n\r\n return (\r\n
\r\n
\r\n {dbFormSpec.release.facilities.map((item, index) => {\r\n return (\r\n (!item.type) && (item.key !== 'otherFac') &&\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}","export const langObject_en = { \"PatientConfirmation\": { \"Body\": { \"AccessCode\": \"Access Code\", \"AdditionalEmail\": \"We�ll send you an additional email when the requested records are ready for release. In the meantime, you can track your request using your access code.\", \"EmailTarget\": \"We�ll send a copy of the submitted request form, along with additional information, to your email at \", \"RequestSubmitted\": \"Your request has been submitted\", \"SurveyButton\": \"Click here to help us improve your experience by taking our short survey\" }, \"Buttons\": { \"LoadingScreenText\": \"Finalizing your request. We'll be just a moment\", \"TackRequest\": \"Track Request\" }, \"Header\": { \"RequestSubmitted\": \"Your request has been submitted\", \"WelcomeFeedback\": \"We welcome your feedback\" } }, \"SummaryModal\": { \"Labels\": { \"additional_information\": \"Additional information\", \"address\": \"Address\", \"date_of_birth\": \"Date of Birth\", \"dates_of_service\": \"Dates of service\", \"delivery_method\": \"Delivery method\", \"email\": \"Email\", \"facilities_releasing_info\": \"Facilities releasing info\", \"maiden_or_other_name\": \"Maiden or Other Name\", \"medical_records_released\": \"Medical Records Released\", \"name\": \"Name\", \"other_facilities\": \"Other facilities\", \"outpatient_facilities\": \"Outpatient facilities\", \"patient_address\": \"Patient Address\", \"phone\": \"Phone\", \"recipient_address\": \"Recipient address\", \"recipient_email\": \"Recipient Email\", \"recipient_fax\": \"Recipient fax\", \"recipient_name\": \"Recipient name\", \"recipient_phone\": \"Recipient Phone\", \"relationship_to_patient\": \"Relationship to patient\", \"request_purpose\": \"Request purpose\", \"sensitive_info_released\": \"Sensitive info released\" }, \"Text\": { \"BackToForm\": \"Back to Form\", \"SubmitDisclaimer\": \"By submitting this request, you consent to the release of the medical records requested. This consent will expire\" }, \"Titles\": { \"MedRecord\": \"Medical Records\", \"PatInfo\": \"Patient Information\", \"RecordsDelivery\": \"Delivery of Records\", \"RepInfo\": \"Representative Information\", \"RequestSummary\": \"Request Summary\" }, \"Buttons\": { \"SubmitText\": \"Submit Request\" } }, \"IdentityVerification\": { \"instructions\": { \"AdditionalInfo\": \"Additional Information\", \"DragAndDrop\": \"Drag & drop or Click to browse\", \"ImageID\": \"An image of your valid state ID card, and\", \"RecentSelfie\": \"A recent selfie or portrait image of yourself\", \"SupportingDocument\": \"A document supporting the authorization validation process, such as Medical Power of Attorney, Will, Proof of Guardianship, or Letter of Representation\", \"TouchAndUpload\": \"Touch to upload files\", \"verifyUpload\": \"To verify your identity, please upload the following file(s):\" }, \"placeholderText\": { \"AdditionalInfo\": \"Additional Information\" }, \"labels\": { \"pertinentInfo\": \"Please provide any additional information pertinent to this request\" } }, \"requestSummary\": { \"labels\": { \"address\": \"Patient Address\", \"datesofservice\": \"Dates of Service\", \"deliveryMethod\": \"Delivery Method\", \"DOB\": \"Date of Birth\", \"email\": \"Email\", \"facilities\": \"Facilities Releasing Information\", \"MedicalHeader\": \"Medical records released\", \"patName\": \"Name\", \"Phone\": \"Phone\", \"repAddress\": \"Recipiant Address\", \"repEmail\": \"Recipient email\", \"repName\": \"Recipient Name\", \"requestpurpose\": \"Request Perpose\" }, \"DeliveryHeader\": \"Delivery of Records\", \"disclaimer\": \"By submitting this request, you consent to the release of the medical records requested. This consent will expire\", \"medicalHeader\": \"Medical Records\", \"PatientHeader\": \"Patient Information\", \"submitButton\": \"Submit Request\", \"Title\": \"Request Summary\" }, \"patientInfoSection\": { \"fields\": { \"Address1\": \"Mailing Address\", \"Address2\": \"Apt, PO Box, etc (optional)\", \"confirmEmail\": \"Confirm Email\", \"confirmPhone\": \"Confirm Phone\", \"dob\": \"Date of Birth\", \"email\": \"Email\", \"firstName\": \"First Name\", \"lastName\": \"Last Name\", \"middleInitial\": \"MI\", \"otherName\": \"Maiden or other name\", \"patientCity\": \"City\", \"patientState\": \"State\", \"patientZip\": \"Zip Code\", \"phone\": \"Phone\" }, \"sectionHeader\": { \"patInfo\": \"Patient Information\" } }, \"RepInfoSection\": { \"fields\": { \"Address1\": \"Mailing Address\", \"Address2\": \"Apt, PO Box, etc (optional)\", \"city\": \"City\", \"confirmEmail\": \"Confirm Email\", \"confirmPhone\": \"Confirm Phone\", \"email\": \"Email\", \"firstName\": \"First Name\", \"lastName\": \"Last Name\", \"middleInitial\": \"MI\", \"phone\": \"Phone\", \"sectionHeader\": \"Representative Information (You)\", \"state\": \"State\", \"zip\": \"Zip Code\" }, \"patientRelationship\": { \"options\": { \"executor\": \"Executor of Estate\", \"guardian\": \"Guardian\", \"medical\": \"Medical Power of Attorney\", \"parent\": \"Parent/Foster Parent\" }, \"label\": \"What is your relationship to the patient?\" }, \"IdentityVerificationSection\": { \"options\": { \"label\": \"You may need to provide supporting documentation to confirm your relationship to the patient. How would you like to provide this?\", \"optionone\": \"I would like to upload supporting documentation now\", \"optiontwo\": \"The facility has documented proof of my relationship to the patient on file\" }, \"sectionHeader\": \"Identity Verification\" }, \"sectionHeader\": { \"repInfo\": \"Representative Information (You)\" } }, \"ErrorChecking\": { \"ValidatorText\": { \"AddressTooLong\": \"Address too long\", \"CityLong\": \"City name too long\", \"CityMissing\": \"Please provide a city\", \"DateCantBeFuture\": \"This date is in the future\", \"Email\": \"Please provide an email address\", \"EmailConfirm\": \"Please confirm your email address\", \"EmailInvalid\": \"Please provide a valid email address\", \"EmailLong\": \"Email address too long\", \"EmailMatch\": \"Email addresses must match\", \"EmailMissing\": \"Please provide an address\", \"EndDateNotBeforeStart\": \"End date cannot be before start date\", \"FirstName\": \"Please provide a first name\", \"InvalidFax\": \"Please enter fax number in a valid format\", \"InvalidZip\": \"Zip code is not valid\", \"IsFileBig\": \"Please remove all files larger than 15mb\", \"LastName\": \"Please provide a last name\", \"maxcharacters\": \"Maximum 10 characters are allowed\", \"MILong\": \"Middle initial too long\", \"MinOneParty\": \"Please specify the party to whom the records should be disclosed\", \"MinOnePhysician\": \"Please select at least one facility or physician\", \"MissingAddress\": \"Please provide an address\", \"MissingDelivery\": \"Please specify a method for delivery\", \"MissingDOB\": \"DOB is required\", \"MissingItemRelease\": \"You must select at least one item for release\", \"MissingPurposeDisclosure\": \"You must specify the purpose for the disclosure of medical records\", \"MissingRelease\": \"Please specify your preference for the releaase of sensitive information\", \"MissingServiceEndDate\": \"Please provide a service end date\", \"MissingServiceStartDate\": \"Please provide a service start date\", \"MissingZip\": \"Zip code is required\", \"PhoneNumber\": \"Please provide a phone number\", \"PhoneNumberConfirm\": \"Please confirm your phone number\", \"PhoneNumberInvalid\": \"Please enter phone number in a valid format\", \"PhoneNumberMatch\": \"Phone numbers must match\", \"PleaseAlsoUpload\": \"'Please provide (1) a photo ID and (2) a document proving authority to act on behalf of the patient\", \"PleaseUpload\": \"Please upload the required document(s)\", \"RelationshipMissing\": \"Please specify your relationship to the patient\", \"repcontact\": \"A representative will contact you to schedule date, time and location of pickup\", \"RequiresAdult\": \"Please have an adult submit a proxy form on your behalf\", \"StartDateAfterDob\": \"Start date cannot be before birth date\", \"StateInvalid\": \"Please enter two letters for the state\", \"StateLong\": \"State value too long\", \"StateMissing\": \"Please provide a state\", \"ZipInvalid\": \"Please provide a valid zip code\", \"ZipMissing\": \"Please provide a zip code\" } }, \"FacilitySelector\": { \"AuthCaption\": \"I authorize\", \"LocationOne\": \"Additional Locations\", \"LocationThree\": \"Long-Term Care locations\", \"LocationTwo\": \"Outpatient Clinic locations\", \"MissingAddress\": \"Please provide a facility address\", \"MissingDrName\": \"Doctor's Name (Optional)\", \"MissingName\": \"Please provide a facility name\", \"PartiesInstruction\": \"Select the parties from which you'd like to receive the requested medical information\", \"SectionTitle\": \"Medical Facilities Section\", \"SelectorInstructions\": \"As you select the facilities below, this text will update automatically. If no facilities are selected, this box will be left blank on the final form. Please note, COVID test results may take 5-7 days.\" }, \"InfoToReleaseSection\": { \"standardOptions\": { \"billingRecords\": \"Billing Record(s)\", \"cardiologyReports\": \"Cardiology Report(s)\", \"completeChart\": \"Complete Chart\", \"ekgEegReports\": \"EKG/EEG Report(s)\", \"immunizationRecords\": \"Immunization Record(s)\", \"laboratoryReports\": \"Laboratory Report(s)\", \"other\": \"Other\", \"outpatientClinicNotes\": \"Outpatient Clinic Notes\", \"pathologyReports\": \"Pathology Report(s)\", \"psychiatricPsychologicalEvaluation\": \"Psychiatric/Psychological Evaluation\", \"radiologyReports\": \"Radiology Report(s)\", \"therapyNotesRecords\": \"Therapy Notes/Record(s)\" }, \"sectionHeader\": \"Information To Release\", \"sectionInstruction\": \"Select the medical information you would like released\" }, \"CheckAllBtn\": { \"CheckAll\": \"Check All\", \"ClickRelease\": \"Click here to select all items for release.\", \"ReleaseAll\": \"Release All of my Records\" }, \"purposeDisclosure\": { \"options\": { \"continuation\": \"Continuation of Care\", \"employer\": \"Employer Requirement\", \"immunization\": \"Immunization\", \"insurance\": \"Insurance Purposes\", \"legal\": \"Legal Purposes\", \"other\": \"Other\", \"patrequest\": \"Patient Request\", \"personal\": \"Personal Reasons\" }, \"label\": \"Select the purpose for which disclosure is authorized\" }, \"SensitiveInfo\": { \"text\": { \"doauth\": \"I authorize the disclosure of ALL sensitive information\", \"donotauth\": \"I DO NOT authorize the disclosure of ANY sensitive information\", \"selectiontext\": \"You have the right to refuse disclosure and prevent any other person from disclosing sensitive information related to the following conditions, treatments, or testing. Include (Indicate by checking below): Please note that the information will not be released if not checked.\", \"selectiontext2\": \"PLEASE CHECKMARK ALL ELEMENTS YOU AGREE TO HAVE RELEASED\", \"selectiontext3\": \"Note: this is entirely optional and you may skip this section by leaving all of the boxes blank.\", \"titlebar\": \"Sensitive Information\" }, \"labels\": { \"drug\": \"Drug and/or alcohol abuse diagnosis and/or treatment\", \"genetics\": \"Genetic Testing Information\", \"hiv\": \"HIV/AIDS Related Information\", \"psy\": \"Psychological/Psychiatric conditions\", \"STD\": \"Sexually transmitted disease(s) diagnosis and/or testing\" }, \"tooltip\": { \"drug\": \"Substance Abuse is a general shorthand term that usually refers to alcohol abuse, alcohol addiction, drug abuse, or drug addiction. It may also refer to other kinds of chemical dependencies.\", \"genetics\": \"Genetic Information is medical and scientific information, usually derived from DNA testing of an individual, that can help spot vulnerabilities to inherited diseases and can be used for a variety of purposes, including estimating or determining a person\\\\'s chance of developing a genetic disorder or passing on such a disorder. Testing for and using genetic information is the subject of medical and political debate that, in some states, is reflected in statutes limiting the disclosure of such material.\", \"hiv\": \"HIV / AIDS refers both to the human immunodeficiency, or HIV, virus that primarily infects vital components of the human immune system and to Acquired Immune Deficiency Syndrome, or AIDS, which is a collection of symptoms and infections resulting from the latter stages of advanced HIV infection in humans\", \"psy\": \"Psychological / Psychiatric conditions, in the context of medical records, refers to information pertaining to the diagnosis and treatment of a broad range of behaviors and problems affecting the operations of the brain. How the term is defined varies from state to state.\", \"STD\": \"STI or STD is a general shorthand term that usually refers to an illness that is spread through sexual contact.\" } }, \"serviceDates\": { \"end\": \"Service End Date\", \"label\": \"Service Dates\", \"start\": \"Service Start Date\" }, \"disclaimer\": { \"feeAcknowledge\": \"A fee covering the costs of labor, supplies and postage associated with these records may apply to this request. If a fee does apply, you will be notified before your request is processed.\", \"relaseAcknowledge\": \"I understand that the specified information to be released may include, but is not limited to, history, diagnoses and/or treatment of drug or alcohol abuse, mental illness or communicable disease including Human Immunodeficiency Virus (HIV) and Acquired Immune Deficiency Syndrome (AIDS).\" }, \"deliveryMethod\": { \"feeInfo\": \"A fee covering the costs of labor, supplies and postage associated with these records may apply to this request. If a fee does apply, you will be notified before your request is processed.\", \"label\": \"Delivery Method\", \"options\": { \"option1\": \"Select the method of delivery for the records\", \"option2\": \"Electronic copy of records\", \"option3\": \"Mail Paper Records\", \"option4\": \"CD/DVD\", \"option5\": \"Pickup on Site\", \"option7\": \"Pickup records at\", \"option8\": \"Connect Patient Portal\" }, \"understandInfo\": \"I understand that the specified information to be released may include, but is not limited to, history, diagnoses and/or treatment of drug or alcohol abuse, mental illness or communicable disease including Human Immunodeficiency Virus (HIV) and Acquired Immune Deficiency Syndrome (AIDS).\" }, \"additionalInfo\": { \"label\": \"Please provide any additional information pertinent to this request\", \"placeholder\": \"Additional Information\" }, \"facilitiesReleasingInfo\": { \"label\": \"Facilities Releasing Information\", \"options\": { \"option1\": \"Specify the facilities you authorize to release the requested records\", \"option10\": \"Facility 3\", \"option11\": \"Facility Name\", \"option12\": \"Facility Address\", \"option13\": \"Doctor's Name (Optional)\", \"option14\": \"Facility 4\", \"option15\": \"Facility Name\", \"option16\": \"Facility Address\", \"option17\": \"Doctor's Name (Optional)\", \"option18\": \"Other facilities or providers\", \"option2\": \"Facility 1\", \"option3\": \"Facility Name\", \"option4\": \"Facility Address\", \"option5\": \"Doctor's Name (Optional)\", \"option6\": \"Facility 2\", \"option7\": \"Facility Name\", \"option8\": \"Facility Address\", \"option9\": \"Doctor's Name (Optional)\" } }, \"recipientInfo\": { \"label\": \"Recipient of Information\", \"options\": { \"option1\": \"To whom will the records be disclosed?\", \"option10\": \"Apt PO Box etc.\", \"option11\": \"City\", \"option12\": \"State\", \"option13\": \"Zip Code\", \"option14\": \"Recipient Fax\", \"option2\": \"Representative (You)\", \"option3\": \"Someone else\", \"option4\": \"Please provide the contact information for the person or entity receiving the records\", \"option5\": \"Recipient First Name\", \"option6\": \"Recipient Last Name\", \"option7\": \"Recipient phone\", \"option8\": \"Recipient Email\", \"option9\": \"Recipient Mailing Address\", \"RecipientPat\": \"Patient (You)\", \"RecipientRep\": \"Representative (You)\", \"RecipientReq\": \"Requestor (You)\" } }, \"loadingScreens\": { \"loadingFinalization\": \"Finalizing your request. We'll be just a moment.\", \"loadingStart\": \"Loading the form. We'll be just a moment.\" }, \"PageHeaders\": { \"pageTitle\": \"Request for Release of Medical Information\", \"pageType\": \"Patient Representative\", \"AltText\": { \"PoweredByVerisma\": \"Powered by Verisma\" }, \"buttons\": { \"reviewRequest\": \"REVIEW REQUEST\" } } };\r\n","// file needs to be saved as Unicode (UTF-8 without signature) - Codepage 65001\r\nexport const langObject_es = { \"PatientConfirmation\": { \"Body\": { \"AccessCode\": \"Código de acceso\", \"AdditionalEmail\": \"Le enviaremos un correo electrónico adicional cuando los registros solicitados estén listos para su divulgación. Mientras tanto, puede seguir su solicitud utilizando su código de acceso.\", \"EmailTarget\": \"Le enviaremos una copia del formulario de solicitud enviado, junto con información adicional, a su correo electrónico, a \", \"RequestSubmitted\": \"Se envió su solicitud\", \"SurveyButton\": \"Haga clic aquí para ayudarnos a mejorar su experiencia respondiendo nuestra breve encuesta\" }, \"Buttons\": { \"LoadingScreenText\": \"Finalizando su solicitud. Aguarde un momento\", \"TackRequest\": \"Seguir solicitud\" }, \"Header\": { \"RequestSubmitted\": \"Se envió su solicitud\", \"WelcomeFeedback\": \"Agradecemos sus comentarios\" } }, \"SummaryModal\": { \"Labels\": { \"additional_information\": \"Información adicional\", \"address\": \"Dirección\", \"date_of_birth\": \"Fecha de nacimiento\", \"dates_of_service\": \"Fechas de servicio\", \"delivery_method\": \"Método de entrega\", \"email\": \"Correo electrónico\", \"facilities_releasing_info\": \"Centros que divulgan la información\", \"maiden_or_other_name\": \"Nombre/apellido de soltera u otro\", \"medical_records_released\": \"Registros médicos divulgados\", \"name\": \"Nombre\", \"other_facilities\": \"Otros centros\", \"outpatient_facilities\": \"Centros para pacientes ambulatorios\", \"patient_address\": \"Dirección del paciente\", \"phone\": \"Teléfono\", \"recipient_address\": \"Dirección del destinatario\", \"recipient_email\": \"Correo electrónico del destinatario\", \"recipient_fax\": \"Fax del destinatario\", \"recipient_name\": \"Nombre del destinatario\", \"recipient_phone\": \"Teléfono del destinatario\", \"relationship_to_patient\": \"Relación con el paciente\", \"request_purpose\": \"Propósito de la solicitud\", \"sensitive_info_released\": \"Información sensible divulgada\" }, \"Text\": { \"BackToForm\": \"Volver al formulario\", \"SubmitDisclaimer\": \"Al enviar esta solicitud, usted da su consentimiento para la divulgación de los registros médicos solicitados. Este consentimiento caducará\" }, \"Titles\": { \"MedRecord\": \"Registros médicos\", \"PatInfo\": \"Información del paciente\", \"RecordsDelivery\": \"Entrega de registros\", \"RepInfo\": \"Información del representante\", \"RequestSummary\": \"Resumen de la solicitud\" }, \"Buttons\": { \"SubmitText\": \"Enviar solicitud\" } }, \"IdentityVerification\": { \"instructions\": { \"AdditionalInfo\": \"Información adicional\", \"DragAndDrop\": \"Arrastre y suelte, o haga clic para explorar\", \"ImageID\": \"Una imagen de su tarjeta de identificación estatal válida y\", \"RecentSelfie\": \"Una selfie o imagen de retrato reciente de usted\", \"SupportingDocument\": \"Un documento que respalde el proceso de validación de la autorización, como un poder médico, un testamento, una prueba de tutela o una carta de representación\", \"TouchAndUpload\": \"Toque para subir archivos\", \"verifyUpload\": \"Para verificar su identidad, suba el(los) siguiente(s) archivo(s):\" }, \"placeholderText\": { \"AdditionalInfo\": \"Información adicional\" }, \"labels\": { \"pertinentInfo\": \"Proporcione cualquier información adicional pertinente a esta solicitud\" } }, \"requestSummary\": { \"labels\": { \"address\": \"Dirección del paciente\", \"datesofservice\": \"Fechas de servicio\", \"deliveryMethod\": \"Método de entrega\", \"DOB\": \"Fecha de nacimiento\", \"email\": \"Correo electrónico\", \"facilities\": \"Centros que divulgan la información\", \"MedicalHeader\": \"Registros médicos divulgados\", \"patName\": \"Nombre\", \"Phone\": \"Teléfono\", \"repAddress\": \"Dirección del destinatario\", \"repEmail\": \"Correo electrónico del destinatario\", \"repName\": \"Nombre del destinatario\", \"requestpurpose\": \"Propósito de la solicitud\" }, \"DeliveryHeader\": \"Entrega de registros\", \"disclaimer\": \"Al enviar esta solicitud, usted da su consentimiento para la divulgación de los registros médicos solicitados. Este consentimiento caducará\", \"medicalHeader\": \"Registros médicos\", \"PatientHeader\": \"Información del paciente\", \"submitButton\": \"Enviar solicitud\", \"Title\": \"Resumen de la solicitud\" }, \"patientInfoSection\": { \"fields\": { \"Address1\": \"Dirección postal\", \"Address2\": \"Apt., PO Box, etc. (opcional)\", \"confirmEmail\": \"Confirme su correo electrónico\", \"confirmPhone\": \"Confirme su teléfono\", \"dob\": \"Fecha de nacimiento\", \"email\": \"Correo electrónico\", \"firstName\": \"Nombre\", \"lastName\": \"Apellido\", \"middleInitial\": \"Inicial del segundo nombre\", \"otherName\": \"Nombre/apellido de soltera u otro\", \"patientCity\": \"Ciudad\", \"patientState\": \"Estado\", \"patientZip\": \"Código postal (Zip)\", \"phone\": \"Teléfono\" }, \"sectionHeader\": { \"patInfo\": \"Información del paciente\" } }, \"RepInfoSection\": { \"fields\": { \"Address1\": \"Dirección postal\", \"Address2\": \"Apt., PO Box, etc. (opcional)\", \"city\": \"Ciudad\", \"confirmEmail\": \"Confirme su correo electrónico\", \"confirmPhone\": \"Confirme su teléfono\", \"email\": \"Correo electrónico\", \"firstName\": \"Nombre\", \"lastName\": \"Apellido\", \"middleInitial\": \"Inicial del segundo nombre\", \"phone\": \"Teléfono\", \"sectionHeader\": \"Información del representante (usted)\", \"state\": \"Estado\", \"zip\": \"Código postal (Zip)\" }, \"patientRelationship\": { \"options\": { \"executor\": \"Ejecutor de patrimonio\", \"guardian\": \"Tutor\", \"medical\": \"Poder notarial médico\", \"parent\": \"Padre/Padre adoptivo\" }, \"label\": \"¿Cuál es su relación con el paciente?\" }, \"IdentityVerificationSection\": { \"options\": { \"label\": \"Es posible que necesite proporcionar documentación de respaldo para confirmar su relación con el paciente. ¿Cómo le gustaría proporcionar esto?\", \"optionone\": \"Quiero subir documentación de respaldo ahora\", \"optiontwo\": \"El centro tiene constancia documentada de mi relación con el paciente en el archivo.\" }, \"sectionHeader\": \"Verificación de identidad\" }, \"sectionHeader\": { \"repInfo\": \"Información del representante (usted)\" } }, \"ErrorChecking\": { \"ValidatorText\": { \"AddressTooLong\": \"La dirección es muy larga\", \"CityLong\": \"El nombre de la ciudad es muy largo\", \"CityMissing\": \"Proporcione una ciudad\", \"DateCantBeFuture\": \"Esta fecha está en el futuro\", \"Email\": \"Proporcione una dirección de correo electrónico\", \"EmailConfirm\": \"Confirme su dirección de correo electrónico\", \"EmailInvalid\": \"Proporcione una dirección de correo electrónico válida\", \"EmailLong\": \"La dirección de correo electrónico es muy larga\", \"EmailMatch\": \"Las direcciones de correo electrónico deben coincidir\", \"EmailMissing\": \"Proporcione una dirección\", \"EndDateNotBeforeStart\": \"La fecha de finalización no puede ser anterior a la fecha de inicio\", \"FirstName\": \"Proporcione un nombre\", \"InvalidFax\": \"Introduzca el número de fax en un formato válido\", \"InvalidZip\": \"El código postal no es válido\", \"IsFileBig\": \"Elimine todos los archivos de más de 15 MB\", \"LastName\": \"Proporcione un apellido\", \"maxcharacters\": \"Se permite un máximo de 10 caracteres\", \"MILong\": \"La inicial del segundo nombre es muy larga\", \"MinOneParty\": \"Especifique la parte (a quién) a la que deben divulgarse los registros\", \"MinOnePhysician\": \"Seleccione al menos un centro o médico\", \"MissingAddress\": \"Proporcione una dirección\", \"MissingDelivery\": \"Especifique un método de entrega\", \"MissingDOB\": \"La fecha de nacimiento es obligatoria\", \"MissingItemRelease\": \"Debe seleccionar al menos un elemento para publicar\", \"MissingPurposeDisclosure\": \"Debe especificar el propósito de la divulgación de registros médicos\", \"MissingRelease\": \"Especifique su preferencia para la divulgación de información confidencial\", \"MissingServiceEndDate\": \"Proporcione una fecha de finalización del servicio\", \"MissingServiceStartDate\": \"Proporcione una fecha de inicio del servicio\", \"MissingZip\": \"Código postal obligatorio\", \"PhoneNumber\": \"Proporcione un número de teléfono\", \"PhoneNumberConfirm\": \"Confirme su número de teléfono\", \"PhoneNumberInvalid\": \"Introduzca el número de teléfono en un formato válido\", \"PhoneNumberMatch\": \"Los números de teléfono deben coincidir\", \"PleaseAlsoUpload\": \"Proporcione (1) un documento de identidad con fotografía y (2) un documento que acredite la autoridad para actuar en nombre del paciente\", \"PleaseUpload\": \"Suba el(los) documento(s) requerido(s)\", \"RelationshipMissing\": \"Especifique su relación con el paciente\", \"repcontact\": \"Un representante se comunicará con usted para programar fecha, hora y lugar de recogida\", \"RequiresAdult\": \"Por favor, pida a un adulto que envíe un formulario de representación en su nombre.\", \"StartDateAfterDob\": \"La fecha de inicio no puede ser anterior a la fecha de nacimiento\", \"StateInvalid\": \"Introduzca dos letras para el estado\", \"StateLong\": \"El valor de estado es muy largo\", \"StateMissing\": \"Proporcione un estado\", \"ZipInvalid\": \"Proporcione un código postal válido\", \"ZipMissing\": \"Proporcione un código postal\" } }, \"FacilitySelector\": { \"AuthCaption\": \"Autorizo\", \"LocationOne\": \"Ubicaciones adicionales\", \"LocationThree\": \"Centros de cuidados a largo plazo\", \"LocationTwo\": \"Consultorios externos\", \"MissingAddress\": \"Indique la dirección del centro\", \"MissingDrName\": \"Nombre del médico (opcional)\", \"MissingName\": \"Indique el nombre del centro\", \"PartiesInstruction\": \"Seleccione las partes de las que desea recibir la información médica solicitada\", \"SectionTitle\": \"Sección de centros médicos\", \"SelectorInstructions\": \"A medida que vaya seleccionando los servicios, este texto se actualizará automáticamente. Si no se selecciona ningún centro, esta casilla se dejará en blanco en el formulario final. Tenga en cuenta que los resultados de las pruebas COVID pueden tardar entre 5 y 7 días.\" }, \"InfoToReleaseSection\": { \"standardOptions\": { \"billingRecords\": \"Registro(s) de facturación\", \"cardiologyReports\": \"Informe(s) de cardiología\", \"completeChart\": \"Expediente completo\", \"ekgEegReports\": \"Informe(s) de electrocardiograma (EKG)/electroencefalograma (EEG)\", \"immunizationRecords\": \"Registro(s) de vacunas\", \"laboratoryReports\": \"Informe(s) de laboratorio\", \"other\": \"Otros\", \"outpatientClinicNotes\": \"Notas de la clínica ambulatoria\", \"pathologyReports\": \"Informe(s) de patología\", \"psychiatricPsychologicalEvaluation\": \"Evaluación psiquiátrica/psicológica\", \"radiologyReports\": \"Informe(s) de radiología\", \"therapyNotesRecords\": \"Notas/registro(s) de terapia\" }, \"sectionHeader\": \"Información que se divulgará\", \"sectionInstruction\": \"Seleccione la información médica que desea que se divulgue\" }, \"CheckAllBtn\": { \"CheckAll\": \"Comprobar todo\", \"ClickRelease\": \"Haga clic aquí para seleccionar todos los artículos que desea liberar.\", \"ReleaseAll\": \"Liberar todos mis registros\" }, \"purposeDisclosure\": { \"options\": { \"continuation\": \"Continuación de los cuidados\", \"employer\": \"Requisito del empleador\", \"immunization\": \"Vacunas\", \"insurance\": \"Fines de aseguramiento\", \"legal\": \"Fines legales\", \"other\": \"Otros\", \"patrequest\": \"Solicitud del paciente\", \"personal\": \"Razones personales\" }, \"label\": \"Seleccione el propósito para el cual se autoriza la divulgación\" }, \"SensitiveInfo\": { \"text\": { \"doauth\": \"Autorizo la divulgación de TODA la información sensible.\", \"donotauth\": \"NO autorizo la divulgación de NINGUNA información sensible.\", \"selectiontext\": \"De las selecciones que aparecen a continuación, elija cualquier información médica que desee excluir de esta divulgación.\", \"selectiontext2\": \"MARQUE TODOS LOS ELEMENTOS QUE ACEPTE QUE SE DIVULGUEN\", \"selectiontext3\": \"Nota: esta sección es totalmente opcional y puede omitirla dejando todas las casillas en blanco.\", \"titlebar\": \"Información sensible.\" }, \"labels\": { \"drug\": \"Diagnóstico y/o tratamiento del abuso de drogas y/o alcohol\", \"genetics\": \"Información sobre pruebas genéticas\", \"hiv\": \"Información relacionada con el VIH/SIDA\", \"psy\": \"Afecciones psicológicas/psiquiátricas\", \"STD\": \"Diagnóstico y/o pruebas de enfermedades de transmisión sexual\" }, \"tooltip\": { \"drug\": \"Abuso de sustancias es un término abreviado general que suele referirse al abuso de alcohol, la adicción al alcohol, el abuso de drogas o la drogadicción. También puede referirse a otros tipos de dependencias químicas.\", \"genetics\": \"Información genética es información médica y científica, normalmente derivada de pruebas de ADN de un individuo, que puede ayudar a detectar vulnerabilidades a enfermedades hereditarias y puede utilizarse para diversos fines, como estimar o determinar la probabilidad de que una persona desarrolle un trastorno genético o transmita dicho trastorno. La búsqueda y utilización de información genética es objeto de debate médico y político que, en algunos estados, se refleja en leyes que limitan la divulgación de ese material.\", \"hiv\": \"VIH/SIDA se refiere tanto al virus de la inmunodeficiencia humana, o VIH, que infecta principalmente componentes vitales del sistema inmunitario humano, como al síndrome de inmunodeficiencia adquirida, o SIDA, que es un conjunto de síntomas e infecciones resultantes de las últimas etapas de la infección avanzada por VIH en humanos.\", \"psy\": \"Condiciones psicológicas / psiquiátricas, en el contexto de los registros médicos, se refiere a la información relativa al diagnóstico y tratamiento de una amplia gama de comportamientos y problemas que afectan a las operaciones del cerebro. La definición del término varía de un estado a otro.\", \"STD\": \"ITS o ETS es una abreviatura general que suele referirse a una enfermedad que se contagia por contacto sexual.\" } }, \"serviceDates\": { \"end\": \"Fecha de finalización del servicio\", \"label\": \"Fechas de servicio\", \"start\": \"Fecha de inicio del servicio\" }, \"disclaimer\": { \"feeAcknowledge\": \"Se podrá aplicar a esta solicitud una tarifa que cubra los costos de mano de obra, suministros y franqueo asociados con estos registros. Si se aplica una tarifa, se le notificará antes de que se procese su solicitud.\", \"relaseAcknowledge\": \"Entiendo que la información especificada que se divulgará puede incluir, entre otros, antecedentes, diagnósticos y/o tratamientos de abuso de drogas o alcohol, enfermedades mentales o enfermedades transmisibles, incluido el virus de inmunodeficiencia humana (VIH) y el síndrome de inmunodeficiencia adquirida (SIDA).\" }, \"deliveryMethod\": { \"feeInfo\": \"Se podrá aplicar a esta solicitud una tarifa que cubra los costos de mano de obra, suministros y franqueo asociados con estos registros. Si se aplica una tarifa, se le notificará antes de que se procese su solicitud.\", \"label\": \"Método de entrega\", \"options\": { \"option1\": \"Seleccione el método de entrega de los registros\", \"option2\": \"Copia electrónica de registros\", \"option3\": \"Registros en papel por correo\", \"option4\": \"CD/DVD\", \"option5\": \"Recogida en el lugar\", \"option7\": \"Recoger registros en\", \"option8\": \"Portal para pacientes Connect\" }, \"understandInfo\": \"Entiendo que la información especificada que se divulgará puede incluir, entre otros, antecedentes, diagnósticos y/o tratamientos de abuso de drogas o alcohol, enfermedades mentales o enfermedades transmisibles, incluido el virus de inmunodeficiencia humana (VIH) y el síndrome de inmunodeficiencia adquirida (SIDA).\" }, \"additionalInfo\": { \"label\": \"Proporcione cualquier información adicional pertinente a esta solicitud\", \"placeholder\": \"Información adicional\" }, \"facilitiesReleasingInfo\": { \"label\": \"Centros que divulgan la información\", \"options\": { \"option1\": \"Especifique los centros que autoriza a liberar los registros solicitados\", \"option10\": \"Centro 3\", \"option11\": \"Nombre del centro\", \"option12\": \"Dirección del centro\", \"option13\": \"Nombre del médico (opcional)\", \"option14\": \"Centro 4\", \"option15\": \"Nombre del centro\", \"option16\": \"Dirección del centro\", \"option17\": \"Nombre del médico (opcional)\", \"option18\": \"Otros centros o proveedores\", \"option2\": \"Centro 1\", \"option3\": \"Nombre del centro\", \"option4\": \"Dirección del centro\", \"option5\": \"Nombre del médico (opcional)\", \"option6\": \"Centro 2\", \"option7\": \"Nombre del centro\", \"option8\": \"Dirección del centro\", \"option9\": \"Nombre del médico (opcional)\" } }, \"recipientInfo\": { \"label\": \"Destinatario de la información\", \"options\": { \"option1\": \"¿A quién se divulgarán los registros?\", \"option10\": \"Apt., PO Box, etc.\", \"option11\": \"Ciudad\", \"option12\": \"Estado\", \"option13\": \"Código postal (Zip)\", \"option14\": \"Fax del destinatario\", \"option2\": \"Representante (usted)\", \"option3\": \"Otra persona\", \"option4\": \"Proporcione información de contacto de la persona o entidad que recibe los registros\", \"option5\": \"Nombre del destinatario\", \"option6\": \"Apellido del destinatario\", \"option7\": \"Teléfono del destinatario\", \"option8\": \"Correo electrónico del destinatario\", \"option9\": \"Dirección postal del destinatario\", \"RecipientPat\": \"Paciente (Usted)\", \"RecipientRep\": \"Representante (Usted)\", \"RecipientReq\": \"Solicitante (Usted)\" } }, \"loadingScreens\": { \"loadingFinalization\": \"Finalizando su solicitud. Aguarde un momento.\", \"loadingStart\": \"Cargando el formulario. Aguarde un momento.\" }, \"PageHeaders\": { \"pageTitle\": \"Solicitud de divulgación de información médica\", \"pageType\": \"Representante del paciente\", \"AltText\": { \"PoweredByVerisma\": \"Proporcionado por Verisma\" }, \"buttons\": { \"reviewRequest\": \"REVISAR SOLICITUD\" } } };\r\n","// file needs to be saved as Unicode (UTF-8 without signature) - Codepage 65001\r\nexport const langObject_cn = { \"PatientConfirmation\": { \"Body\": { \"AccessCode\": \"访问代码\", \"AdditionalEmail\": \"当所请求的记录准备好发布时,我们将向您发送另一封电子邮件。 同时,您可以使用访问代码跟踪您的请求。\", \"EmailTarget\": \"我们将把已提交请求表的副本以及其它信息发送到您的电子邮箱: \", \"RequestSubmitted\": \"您的请求已提交\", \"SurveyButton\": \"点击此处参与我们的简短调查,帮助我们改善您的体验\" }, \"Buttons\": { \"LoadingScreenText\": \"完成您的请求。 请稍等片刻\", \"TackRequest\": \"追踪请求\" }, \"Header\": { \"RequestSubmitted\": \"您的请求已提交\", \"WelcomeFeedback\": \"欢迎您提供反馈\" } }, \"SummaryModal\": { \"Labels\": { \"additional_information\": \"附加信息\", \"address\": \"地址\", \"date_of_birth\": \"出生日期\", \"dates_of_service\": \"服务日期\", \"delivery_method\": \"交付方式\", \"email\": \"电子邮箱\", \"facilities_releasing_info\": \"机构发布信息\", \"maiden_or_other_name\": \"娘家姓或其它名字\", \"medical_records_released\": \"医疗记录已发布\", \"name\": \"姓名\", \"other_facilities\": \"其它机构\", \"outpatient_facilities\": \"门诊机构\", \"patient_address\": \"患者地址\", \"phone\": \"电话\", \"recipient_address\": \"收件人地址\", \"recipient_email\": \"收件人电子邮箱\", \"recipient_fax\": \"收件人传真\", \"recipient_name\": \"收件人姓名\", \"recipient_phone\": \"收件人电话\", \"relationship_to_patient\": \"与患者的关系\", \"request_purpose\": \"请求目的\", \"sensitive_info_released\": \"敏感信息已发布\" }, \"Text\": { \"BackToForm\": \"返回表格\", \"SubmitDisclaimer\": \"提交此请求即表示您同意发布所请求的医疗记录。 此同意将过期\" }, \"Titles\": { \"MedRecord\": \"医疗记录\", \"PatInfo\": \"患者信息\", \"RecordsDelivery\": \"记录交付\", \"RepInfo\": \"代表信息\", \"RequestSummary\": \"请求摘要\" }, \"Buttons\": { \"SubmitText\": \"提交请求\" } }, \"IdentityVerification\": { \"instructions\": { \"AdditionalInfo\": \"其它信息\", \"DragAndDrop\": \"拖放或单击即可浏览\", \"ImageID\": \"有效州身份证的图片,以及\", \"RecentSelfie\": \"近期的自拍照或肖像照\", \"SupportingDocument\": \"支持授权验证流程的文件,例如医疗授权书、遗嘱、监护权证明或代表信\", \"TouchAndUpload\": \"触摸上传文件\", \"verifyUpload\": \"为了验证您的身份,请上传以下文件:\" }, \"placeholderText\": { \"AdditionalInfo\": \"其它信息\" }, \"labels\": { \"pertinentInfo\": \"请提供与此请求相关的任何其它信息\" } }, \"requestSummary\": { \"labels\": { \"address\": \"患者地址\", \"datesofservice\": \"服务日期\", \"deliveryMethod\": \"交付方式\", \"DOB\": \"出生日期\", \"email\": \"电子邮箱\", \"facilities\": \"机构发布信息\", \"MedicalHeader\": \"医疗记录已发布\", \"patName\": \"姓名\", \"Phone\": \"电话\", \"repAddress\": \"收件人地址\", \"repEmail\": \"收件人电子邮件\", \"repName\": \"收件人姓名\", \"requestpurpose\": \"请求目的\" }, \"DeliveryHeader\": \"记录交付\", \"disclaimer\": \"提交此请求即表示您同意发布所请求的医疗记录。 此同意将过期\", \"medicalHeader\": \"医疗记录\", \"PatientHeader\": \"患者信息\", \"submitButton\": \"提交请求\", \"Title\": \"请求摘要\" }, \"patientInfoSection\": { \"fields\": { \"Address1\": \"邮寄地址\", \"Address2\": \"公寓、邮政信箱等(可选)\", \"confirmEmail\": \"确认电子邮箱\", \"confirmPhone\": \"确认电话\", \"dob\": \"出生日期\", \"email\": \"电子邮箱\", \"firstName\": \"名\", \"lastName\": \"姓\", \"middleInitial\": \"中间名\", \"otherName\": \"娘家姓或其它名字\", \"patientCity\": \"城市\", \"patientState\": \"州\", \"patientZip\": \"邮政编码\", \"phone\": \"电话\" }, \"sectionHeader\": { \"patInfo\": \"患者信息\" } }, \"RepInfoSection\": { \"fields\": { \"Address1\": \"邮寄地址\", \"Address2\": \"公寓、邮政信箱等(可选)\", \"city\": \"城市\", \"confirmEmail\": \"确认电子邮箱\", \"confirmPhone\": \"确认电话\", \"email\": \"电子邮箱\", \"firstName\": \"名\", \"lastName\": \"姓\", \"middleInitial\": \"中间名\", \"phone\": \"电话\", \"sectionHeader\": \"身份验证\", \"state\": \"州\", \"zip\": \"邮政编码\" }, \"patientRelationship\": { \"options\": { \"executor\": \"遗产执行人\", \"guardian\": \"监护人\", \"medical\": \"医疗授权书\", \"parent\": \"父母/养父母\" }, \"label\": \"您与患者是什么关系?\" }, \"IdentityVerificationSection\": { \"options\": { \"label\": \"您可能需要提供支持文件来确认您与患者的关系。 您希望如何提供此服务?\", \"optionone\": \"我现在想上传支持文件\", \"optiontwo\": \"该机构已记录我与患者的关系证明\" }, \"sectionHeader\": \"代表信息(您)\" }, \"sectionHeader\": { \"repInfo\": \"代表信息(您)\" } }, \"ErrorChecking\": { \"ValidatorText\": { \"AddressTooLong\": \"地址过长\", \"CityLong\": \"城市名过长\", \"CityMissing\": \"请提供城市名\", \"DateCantBeFuture\": \"此日期是将来日期\", \"Email\": \"请提供电子邮箱地址\", \"EmailConfirm\": \"请确认您的电子邮箱地址\", \"EmailInvalid\": \"请提供有效的电子邮箱地址\", \"EmailLong\": \"电子邮箱地址过长\", \"EmailMatch\": \"电子邮箱地址必须匹配\", \"EmailMissing\": \"请提供地址\", \"EndDateNotBeforeStart\": \"结束日期不可早于开始日期\", \"FirstName\": \"请提供名\", \"InvalidFax\": \"请以有效格式输入传真号码\", \"InvalidZip\": \"邮政编码无效\", \"IsFileBig\": \"请删除所有大于 15MB 的文件\", \"LastName\": \"请提供姓氏\", \"maxcharacters\": \"最多可输入 10 个字符\", \"MILong\": \"中间名首字母过长\", \"MinOneParty\": \"请指定应向其披露记录的一方\", \"MinOnePhysician\": \"请选择至少一个机构或医师\", \"MissingAddress\": \"请提供地址\", \"MissingDelivery\": \"请指定交付方式\", \"MissingDOB\": \"出生日期必填\", \"MissingItemRelease\": \"请务必选择至少一个要发布的项目\", \"MissingPurposeDisclosure\": \"您必须说明披露医疗记录的目的\", \"MissingRelease\": \"请指定您对发布敏感信息的偏好\", \"MissingServiceEndDate\": \"请提供服务结束日期\", \"MissingServiceStartDate\": \"请提供服务开始日期\", \"MissingZip\": \"必须填写邮政编码\", \"PhoneNumber\": \"请提供电话号码\", \"PhoneNumberConfirm\": \"请确认您的电话号码\", \"PhoneNumberInvalid\": \"请以有效格式输入电话号码\", \"PhoneNumberMatch\": \"电话号码必须匹配\", \"PleaseAlsoUpload\": \"‘请提供 (1) 身份证件和 (2) 证明代表患者行事的授权文件\", \"PleaseUpload\": \"请上传所需文件\", \"RelationshipMissing\": \"请说明您与患者的关系\", \"repcontact\": \"代表将与您联系,安排领取的日期、时间和地点\", \"RequiresAdult\": \"请让一位成年人代您提交委托书\", \"StartDateAfterDob\": \"开始日期不能早于出生日期\", \"StateInvalid\": \"请输入州的两个字母\", \"StateLong\": \"州名值过长\", \"StateMissing\": \"请提供州名\", \"ZipInvalid\": \"请提供有效的邮政编码\", \"ZipMissing\": \"请提供邮政编码\" } }, \"FacilitySelector\": { \"AuthCaption\": \"我授权\", \"LocationOne\": \"其他地点\", \"LocationThree\": \"长期护理地点\", \"LocationTwo\": \"门诊地点\", \"MissingAddress\": \"请提供设施地址\", \"MissingDrName\": \"医生姓名(可选)\", \"MissingName\": \"请提供设施名称\", \"PartiesInstruction\": \"选择您希望从哪些方面获得所需的医疗信息\", \"SectionTitle\": \"医疗设施科\", \"SelectorInstructions\": \"当您选择以下设施时,此文本将自动更新。 如果未选择任何设施,则最终表格中的此框将留空。 请注意,COVID 检测结果可能需要 5-7 天。\" }, \"InfoToReleaseSection\": { \"standardOptions\": { \"billingRecords\": \"帐单记录\", \"cardiologyReports\": \"心脏内科报告\", \"completeChart\": \"完整图表\", \"ekgEegReports\": \"心电图/脑电图报告\", \"immunizationRecords\": \"免疫接种记录\", \"laboratoryReports\": \"化验报告\", \"other\": \"其它\", \"outpatientClinicNotes\": \"门诊笔记\", \"pathologyReports\": \"病理报告\", \"psychiatricPsychologicalEvaluation\": \"精神/心理评估\", \"radiologyReports\": \"放射科报告\", \"therapyNotesRecords\": \"治疗笔记/记录\" }, \"sectionHeader\": \"需发布的信息\", \"sectionInstruction\": \"选择您想要发布的医疗信息\" }, \"CheckAllBtn\": { \"CheckAll\": \"检查全部\", \"ClickRelease\": \"单击此处选择要发布的所有项目。\", \"ReleaseAll\": \"公开我的所有记录\" }, \"purposeDisclosure\": { \"options\": { \"continuation\": \"继续护理\", \"employer\": \"雇主要求\", \"immunization\": \"免疫接种\", \"insurance\": \"保险目的\", \"legal\": \"合法目的\", \"other\": \"其它\", \"patrequest\": \"患者请求\", \"personal\": \"个人原因\" }, \"label\": \"选择授权某项披露的目的\" }, \"SensitiveInfo\": { \"text\": { \"doauth\": \"我授权披露所有敏感信息\", \"donotauth\": \"我不授权披露任何敏感信息\", \"selectiontext\": \"从以下选项中,选择您希望从此披露中排除的任何医疗信息\", \"selectiontext2\": \"请勾选您同意发布的所有内容\", \"selectiontext3\": \"注意:这完全是可选项,您可以跳过这一部分,将所有方框留空。\", \"titlebar\": \"敏感信息\" }, \"labels\": { \"drug\": \"药品和/或酒精滥用的诊断和/或治疗\", \"genetics\": \"基因检测\", \"hiv\": \"HIV/AIDS 诊断和/或治疗\", \"psy\": \"心理健康测试/治疗(心理治疗记录除外)\", \"STD\": \"性传播疾病诊断和/或检测\" }, \"tooltip\": { \"drug\": \"物质滥用是一个通用的速记术语,通常指酗酒、酒精成瘾、药物滥用或药物成瘾。 它也可以指其他类型的化学依赖。\", \"genetics\": \"遗传信息是医学和科学信息,通常来自个人的 DNA 检测,可帮助发现遗传疾病的易感性,并可用于多种目的,包括估计或确定个人患遗传疾病或遗传这种疾病的几率。 基因信息的检测和使用是医学界和政界争论的主题,在某些州,这种争论反映在限制披露此类材料的法规中。\", \"hiv\": \"艾滋病毒/艾滋病既指主要感染人类免疫系统重要组成部分的人类免疫缺陷病毒,又指获得性免疫缺陷综合症,即艾滋病,它是人类感染晚期艾滋病毒后出现的一系列症状和感染的总称\", \"psy\": \"病历中的心理/精神状况是指与诊断和治疗影响大脑运作的各种行为和问题有关的信息。 各州对该术语的定义不尽相同。\", \"STD\": \"STI 或 STD 是一个通用的简称,通常指通过性接触传播的疾病。\" } }, \"serviceDates\": { \"end\": \"服务结束日期\", \"label\": \"服务日期\", \"start\": \"服务开始日期\" }, \"disclaimer\": { \"feeAcknowledge\": \"此请求可能需要支付与这些记录相关的人工费、物料费和邮寄费。 如需收费,我们会在处理您的请求之前通知您。\", \"relaseAcknowledge\": \"我了解,所披露的特定信息可能包括但不限于吸毒或酗酒、精神疾病或传染病(包括人类免疫缺陷病毒 (HIV) 和获得性免疫缺陷综合症 (AIDS))的病史、诊断和/或治疗情况。\" }, \"deliveryMethod\": { \"feeInfo\": \"此请求可能需要支付与这些记录相关的人工费、物料费和邮寄费。 如需收费,我们会在处理您的请求之前通知您。\", \"label\": \"交付方式\", \"options\": { \"option1\": \"选择记录的交付方式\", \"option2\": \"电子版记录\", \"option3\": \"邮寄纸质记录\", \"option4\": \"CD/DVD\", \"option5\": \"现场领取\", \"option7\": \"记录领取地点位于\", \"option8\": \"连接患者门户\" }, \"understandInfo\": \"我了解,所披露的特定信息可能包括但不限于吸毒或酗酒、精神疾病或传染病(包括人类免疫缺陷病毒 (HIV) 和获得性免疫缺陷综合症 (AIDS))的病史、诊断和/或治疗情况。\" }, \"additionalInfo\": { \"label\": \"请提供与此请求相关的任何其它信息\", \"placeholder\": \"其它信息\" }, \"facilitiesReleasingInfo\": { \"label\": \"机构发布信息\", \"options\": { \"option1\": \"指定您授权发布所请求记录的机构\", \"option10\": \"机构 3\", \"option11\": \"机构名称\", \"option12\": \"机构地址\", \"option13\": \"医生姓名(可选)\", \"option14\": \"机构 4\", \"option15\": \"机构名称\", \"option16\": \"机构地址\", \"option17\": \"医生姓名(可选)\", \"option18\": \"其它机构或提供商\", \"option2\": \"机构 1\", \"option3\": \"机构名称\", \"option4\": \"机构地址\", \"option5\": \"医生姓名(可选)\", \"option6\": \"机构 2\", \"option7\": \"机构名称\", \"option8\": \"机构地址\", \"option9\": \"医生姓名(可选)\" } }, \"recipientInfo\": { \"label\": \"信息收件人\", \"options\": { \"option1\": \"这些记录将向谁披露?\", \"option10\": \"公寓邮政信箱等\", \"option11\": \"城市\", \"option12\": \"州\", \"option13\": \"邮政编码\", \"option14\": \"收件人传真\", \"option2\": \"代表(您)\", \"option3\": \"他人\", \"option4\": \"请提供接收记录的个人或实体的联系信息\", \"option5\": \"收件人名字\", \"option6\": \"收件人姓氏\", \"option7\": \"收件人电话\", \"option8\": \"收件人电子邮箱\", \"option9\": \"收件人邮寄地址\", \"RecipientPat\": \"病人(您)\", \"RecipientRep\": \"代表(您)\", \"RecipientReq\": \"请求人(您)\" } }, \"loadingScreens\": { \"loadingFinalization\": \"完成您的请求。 请稍等片刻\", \"loadingStart\": \"正在加载表格。 请稍等片刻\" }, \"PageHeaders\": { \"pageTitle\": \"医疗信息披露请求\", \"pageType\": \"患者代表\", \"AltText\": { \"PoweredByVerisma\": \"由 Verisma 提供支持\" }, \"buttons\": { \"reviewRequest\": \"审查请求\" } } }\r\n;\r\n","import { langObject_en } from \"./languageblob_en\";\r\nimport { langObject_es } from \"./languageblob_es\";\r\nimport { langObject_cn } from \"./languageblob_cn\";\r\n\r\nexport const CheckLanguage = (dbFormSpec) => {\r\n if (dbFormSpec) {\r\n if (dbFormSpec.languageOverride) {\r\n return dbFormSpec.languageOverride;\r\n }\r\n else if (dbFormSpec.context) {\r\n if (dbFormSpec.context.languageOverride) {\r\n return dbFormSpec.context.languageOverride;\r\n }\r\n }\r\n }\r\n return \"default\";\r\n};\r\n\r\nexport const GetLanguageText = (languageID) => {\r\n const validLanguageIDs = [\"en\", \"es\", \"cn\"];\r\n if (validLanguageIDs.includes(languageID)) {\r\n switch (languageID) {\r\n case \"en\": return langObject_en;\r\n case \"es\": return langObject_es;\r\n case \"cn\": return langObject_cn;\r\n\r\n default: return langObject_en;\r\n }\r\n }\r\n\r\n return langObject_en; // default to ENglish\r\n}\r\n","import React, { useEffect, useState, useContext } from 'react';\r\nimport { ConfigContext } from '../../DynamicForm/DynamicForm';\r\nimport Required from \"../../../../components/Required\";\r\nimport Checkbox from \"../../../../components/Checkbox\";\r\nimport { Field } from \"formik\";\r\nimport RadioButtonGroup from \"../../../../components/RadioButtonGroup\";\r\nimport RadioButton from \"../../../../components/RadioButton\";\r\nimport Facilities_7224 from '../../orgs/7224/facilities';\r\nimport Facilities_7168 from '../../orgs/7168/facilities';\r\nimport Facilities_7302 from '../../orgs/7302/facilities';\r\nimport FacilitiesSelectionList from './RenderFacilitiesSelectionList';\r\nimport FacilityAdvancedList from './RenderFacilityAdvancedList';\r\nimport FacilityRadioList from './RenderFacilityRadioList';\r\nimport NYPOutpatientFacilities from '../../orgs/7042/facilities';\r\nimport TripartiteFacilities from '../../orgs/7042/facilities_patient';\r\nimport { DisabledCheckbox } from '../../orgs/7042/components';\r\nimport Facilities_7227 from '../../orgs/7227/facilities';\r\nimport Facilities_NameAddressDoc from '../../../../components/FacilitySections/NameAddressDoc/NameAddressDoc';\r\nimport { SectionHeader } from '../../../../components/sectionHeader/sectionHeader';\r\nimport { AuthCheckbox } from '../../../../components/unused/authCheckbox';\r\nimport CheckField from '../../../../components/CheckField2/CheckField';\r\nimport CustomInput, { AddButton, CustomInputSystem } from '../../../../components/CustomInput/CustomInput';\r\nimport ChipSet from '../../../../components/Chip/Chip';\r\nimport TextField from '../../../../components/TextField/TextField';\r\nimport ErrorBar from '../../../../components/ErrorBar';\r\nimport RadioField from '../../../../components/RadioField2/RadioField';\r\nimport './styles.scss';\r\nimport { Icon_Check, Icon_EmptyCheckbox } from '../../styles/assets/icons';\r\nimport { TexasHealthFacilities } from '../../../../components/sectionComponents/Facilities/selectAndType';\r\nimport { CheckLanguage } from '../../../../languages/languages';\r\nimport { GetLanguageText } from '../../../../languages/languages';\r\nimport Popover from \"../../../../../formik/refactorOut/components/Popper/Popover\";\r\nimport { popoverLocation } from \"../../../../../config/Configuration\";\r\n\r\n\r\nconst AuthorizationToRelease = () => {\r\n const [physicianListVisible, setPhysicianListVisibility] = useState(false);\r\n const [physiciansSelected, setPhysiciansSelected] = useState(false);\r\n const [allPhysiciansSelected, setAllPhysiciansSelected] = useState(false);\r\n const [discloseToOther] = useState('none');\r\n const [facilitySelect, setFacility] = useState(\"\");\r\n const { formik, dbFormSpec, validationValues } = useContext(ConfigContext);\r\n const [checked, setChecked] = useState(false);\r\n const [selected, setSelected] = useState(false);\r\n const template = { ...validationValues.page.form.sections.authorizationToReleaseSection, styles: { ...validationValues.page.form.styles } }\r\n const orgId = dbFormSpec.facility.orgId;\r\n\r\n const otherPhysicians = [\r\n { input: '', id: 0, type: '' }\r\n ];\r\n\r\n const samplePhysicianList = [{ value: 'CBC Physicians', label: 'physicianLabel1' }];\r\n\r\n const renderFacilityRadiogroup = (dbFormSpec.release.facilitiesRadiogroup);\r\n const renderAdvancedFacilityList = (dbFormSpec.release.facilitiesAdvanced);\r\n const useFacilitiesSelectionList = (dbFormSpec.release.FacilitiesSelectionList);\r\n\r\n const languageID = CheckLanguage(dbFormSpec);\r\n\r\n if (useFacilitiesSelectionList === true) {\r\n const languageText = GetLanguageText(languageID);\r\n return ();\r\n }\r\n\r\n if (orgId === '1007224') {\r\n return (\r\n \r\n );\r\n }\r\n\r\n if (orgId === '1007168') {\r\n return (\r\n \r\n );\r\n }\r\n if (orgId === '1007302') {\r\n return (\r\n \r\n );\r\n }\r\n\r\n if (orgId === '1007227') {\r\n return (\r\n \r\n );\r\n }\r\n\r\n if (orgId === '1007307') {\r\n return (\r\n \r\n );\r\n }\r\n\r\n\r\n\r\n if (languageID !== \"default\") {\r\n\r\n const languageText = GetLanguageText(languageID);\r\n\r\n return (\r\n validationValues.page.form.sections.authorizationToReleaseSection.active ?\r\n
\r\n \r\n\r\n
\r\n
\r\n {formik.errors.facilityList && formik.touched.facilityOrPhysician && }\r\n {(!formik.errors.facilityOrPhysician && formik.values.inputDisclosePhysicians && formik.errors.inputPhysicianNames && formik.touched.inputPhysicianNames) && }\r\n \r\n
\r\n\r\n {\r\n renderAdvancedFacilityList ? :\r\n renderFacilityRadiogroup ? :\r\n\r\n
\r\n {dbFormSpec.release.facilities.map((item, index) => {\r\n return (\r\n (!item.type) && (item.key !== 'otherFac') &&\r\n <>\r\n
\r\n \r\n )\r\n })\r\n }\r\n
\r\n
}\r\n
{dbFormSpec.AuthorizationToReleaseCustomText ? dbFormSpec.AuthorizationToReleaseCustomText : \"\"}
\r\n
\r\n
\r\n
\r\n
\r\n :\r\n <>\r\n );\r\n } else {\r\n return (\r\n validationValues.page.form.sections.authorizationToReleaseSection.active ?\r\n
\r\n \r\n
\r\n
\r\n {formik.errors.facilityList && formik.touched.facilityList && }\r\n\r\n \r\n
\r\n {orgId == '1007451' ? :\r\n renderAdvancedFacilityList ? :\r\n renderFacilityRadiogroup ? :\r\n\r\n
\r\n {dbFormSpec.release.facilities.map((item, index) => {\r\n return (\r\n (!item.type) && (item.key !== 'otherFac') &&\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\nexport default AuthorizationToRelease;\r\n\r\n","import React, { useContext, useEffect, useState } from \"react\";\r\nimport { SectionHeader } from '../../../../components/sectionHeader/sectionHeader';\r\nimport HoverTip from '../../../../components/hoverTip/hoverTip';\r\nimport TextField from '../../../../components/TextField/TextField';\r\nimport '../../styles/errors.scss';\r\nimport ErrorBar from '../../../../components/ErrorBar';\r\nimport CustomInput, { AddButton, CustomInputSystem } from '../../../../components/CustomInput/CustomInput';\r\nimport CheckField from '../../../../components/CheckField2/CheckField';\r\nimport RadioField from '../../../../components/RadioField2/RadioField';\r\nimport './styles.scss';\r\nimport { ConfigContext } from '../../DynamicForm/DynamicForm';\r\nimport { GetLanguageText } from '../../../../languages/languages';\r\nimport { CheckLanguage } from '../../../../languages/languages';\r\n\r\nconst InformationToRelease = () => {\r\n\r\n const [purposeOtherFieldDisplayed, displayPurposeOtherField] = useState(false);\r\n\r\n const otherMedicalItems = [\r\n { input: '', id: 0, type: '' }\r\n ]\r\n\r\n const { dbFormSpec, validationValues, formik, inputClasses } = useContext(ConfigContext);\r\n const template = { ...validationValues.page.form.sections.informationToReleaseSection, styles: { ...validationValues.page.form.styles } };\r\n const languageID = CheckLanguage(dbFormSpec);\r\n\r\n if (languageID != \"default\") {\r\n\r\n const languageText = GetLanguageText(languageID);\r\n return (\r\n
\r\n\r\n \r\n {formik.errors.infoToReleaseGroup &&\r\n formik.touched.infoToReleaseGroup &&\r\n }\r\n \r\n \r\n

\r\n\r\n\r\n
\r\n {dbFormSpec.release.items.map((item, index) => (\r\n item.key !== 'otherItem' &&\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 {formik.errors.requestPurposePdf &&\r\n formik.touched.requestPurposePdf &&\r\n }\r\n

{languageText.purposeDisclosure.label}

\r\n\r\n {dbFormSpec.requestPurpose && dbFormSpec.requestPurpose.active ?\r\n dbFormSpec.requestPurpose.values.map((purpose, index) => {\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 {purposeOtherFieldDisplayed && }\r\n
\r\n );\r\n\r\n\r\n } else { // original code path.\r\n\r\n\r\n return (\r\n
\r\n\r\n \r\n\r\n {formik.errors.infoToReleaseGroup &&\r\n formik.touched.infoToReleaseGroup &&\r\n }\r\n \r\n \r\n

\r\n\r\n\r\n
\r\n {dbFormSpec.release.items.map((item, index) => (\r\n item.key !== 'otherItem' &&\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 {formik.errors.requestPurposePdf &&\r\n formik.touched.requestPurposePdf &&\r\n }\r\n

Select the purpose for which disclosure is authorized

\r\n\r\n {dbFormSpec.requestPurpose && dbFormSpec.requestPurpose.active ?\r\n dbFormSpec.requestPurpose.values.map((purpose, index) => {\r\n return \r\n })\r\n // Here, NYP has a Request Purpose Section in it's formSpec. Any org that wants custom request purposes should be built off that.\r\n :\r\n
\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n
\r\n }\r\n {purposeOtherFieldDisplayed && }\r\n\r\n {/*
*/}\r\n \r\n );\r\n\r\n }\r\n\r\n};\r\n\r\nexport default InformationToRelease;\r\n","import React, { useEffect, useState, useContext } from \"react\";\r\nimport { ConfigContext } from '../../DynamicForm/DynamicForm';\r\nimport Markdown from 'markdown-to-jsx';\r\nimport { SectionHeader } from '../../../../components/sectionHeader/sectionHeader';\r\nimport ChipSet from '../../../../components/Chip/Chip';\r\n// import CheckField from '../../../../components/CheckField/CheckField'\r\nimport CheckField from '../../../../components/CheckField2/CheckField';\r\nimport RadioField from '../../../../components/RadioField2/RadioField';\r\nimport ErrorBar from '../../../../components/ErrorBar';\r\nimport './styles.scss';\r\nimport { CheckLanguage } from \"../../../../languages/languages\";\r\nimport { GetLanguageText } from \"../../../../languages/languages\";\r\n\r\nconst DisclosureOfSensitiveInformation = () => {\r\n\r\n const context = useContext(ConfigContext);\r\n const { formik, dbFormSpec } = context;\r\n const languageID = CheckLanguage(dbFormSpec);\r\n if (dbFormSpec.CustomFooterText) {\r\n\r\n return
\r\n {/* {formik.errors.sensitiveInfo && formik.touched.sensitiveInfo && } */}\r\n {dbFormSpec.CustomFooterText}
\r\n }\r\n\r\n\r\n if (languageID != \"default\") {\r\n const languageText = GetLanguageText(languageID);\r\n\r\n\r\n return (\r\n // !config.page.form.sections.disclosureOfSensitiveInformation.active ?\r\n
\r\n {/* */}\r\n {/* {formik.errors.sensitiveInfo && formik.touched.sensitiveInfo && } */}\r\n {languageText.deliveryMethod.understandInfo}\r\n
\r\n );\r\n\r\n } else {\r\n\r\n return (\r\n
\r\n {/* {formik.errors.sensitiveInfo && formik.touched.sensitiveInfo && } */}\r\n {'I understand that the specified information to be released may include, but is not limited to, history, diagnoses and/or treatment of drug or alcohol abuse, mental illness or communicable disease including Human Immunodeficiency Virus (HIV) and Acquired Immune Deficiency Syndrome (AIDS).'}
\r\n );\r\n }\r\n};\r\n\r\nexport default DisclosureOfSensitiveInformation;","import React, { useEffect, useState, useContext } from \"react\";\r\nimport { ConfigContext } from '../../DynamicForm/DynamicForm';\r\nimport Markdown from 'markdown-to-jsx';\r\nimport { SectionHeader } from '../../../../components/sectionHeader/sectionHeader';\r\nimport ChipSet from '../../../../components/Chip/Chip';\r\nimport CheckField from '../../../../components/CheckField2/CheckField';\r\nimport RadioField from '../../../../components/RadioField2/RadioField';\r\nimport ErrorBar from '../../../../components/ErrorBar';\r\nimport './styles.scss';\r\nimport { CheckLanguage } from \"../../../../languages/languages\";\r\nimport { GetLanguageText } from \"../../../../languages/languages\";\r\n\r\nconst SensitiveInformationSection = () => {\r\n\r\n const seperateOptions = item => item.value === 91 ? { marginTop: \"20px\" } : { marginTop: \"0px\" };\r\n const context = useContext(ConfigContext);\r\n const { formik, dbFormSpec } = context;\r\n const orgId = dbFormSpec.facility.orgId;\r\n const [readonlySensitiveInfo, setReadonlySensitiveInfo] = useState(dbFormSpec.ReadonlySensitiveInfo === true);\r\n\r\n let exclusionList = [];\r\n dbFormSpec.DisableSensitivePSY !== true && exclusionList.push('PSY');\r\n dbFormSpec.DisableSensitiveDrug !== true && exclusionList.push('DRUG');\r\n dbFormSpec.DisableSensitiveHIV !== true && exclusionList.push('HIV');\r\n dbFormSpec.DisableSensitiveSTD !== true && exclusionList.push('STD');\r\n dbFormSpec.DisableSensitiveGenetic !== true && exclusionList.push('Genetic');\r\n\r\n\r\n useEffect(() => {\r\n let precheckList = dbFormSpec.PreCheckSensitiveList;\r\n if (precheckList && Array.isArray(precheckList)) {\r\n formik.setFieldValue('sensitiveInfo', precheckList);\r\n }\r\n else {\r\n formik.setFieldValue('sensitiveInfo', []);\r\n }\r\n }, []);\r\n\r\n //Sites that use a custom list of sensitive info.\r\n if (dbFormSpec.CustomSensitiveInfoList) {\r\n exclusionList = [];\r\n let cbl = dbFormSpec.CustomSensitiveInfoList.CheckBoxes;\r\n\r\n // Sanitize for valid ids.\r\n for (var eI = 0; eI < cbl.length; eI++) {\r\n let exclusionText = cbl[eI].id || \"\";\r\n if (exclusionText.length > 0) {\r\n exclusionList.push(exclusionText);\r\n }\r\n }\r\n const iAuthText = dbFormSpec.CustomSensitiveInfoList.IAuthText || \"I authorize the disclosure of ALL sensitive information\";\r\n const iDoNotAuth = dbFormSpec.CustomSensitiveInfoList.iDoNotAuth || \"I DO NOT authorize the disclosure of ANY sensitive information\";\r\n const headerText = dbFormSpec.CustomSensitiveInfoList.HeaderText.map((textLine, index) =>
{textLine.text}
);\r\n\r\n // Map checkboxes with valid IDs\r\n const checkBoxText = dbFormSpec.CustomSensitiveInfoList.CheckBoxes.map((textLine, index) =>\r\n textLine.id && (\r\n
 
)\r\n\r\n );\r\n\r\n return (
\r\n \r\n {formik.errors.sensitiveInfo && formik.touched.sensitiveInfo && }\r\n
\r\n {headerText}\r\n
\r\n
\r\n {!readonlySensitiveInfo &&\r\n
\r\n \r\n \r\n
}\r\n
\r\n
\r\n {checkBoxText}\r\n
\r\n
\r\n
);\r\n }\r\n\r\n\r\n const languageID = CheckLanguage(dbFormSpec);\r\n if (languageID != \"default\") {\r\n const languageText = GetLanguageText(languageID);\r\n return (\r\n
\r\n \r\n {formik.errors.sensitiveInfo && formik.touched.sensitiveInfo && }\r\n
\r\n
{languageText.SensitiveInfo.text.selectiontext}
\r\n
{languageText.SensitiveInfo.text.selectiontext2}
\r\n
{languageText.SensitiveInfo.text.selectiontext3}
\r\n
\r\n
\r\n
\r\n \r\n \r\n
\r\n
\r\n
\r\n {dbFormSpec.DisableSensitivePSY !== true && }\r\n {dbFormSpec.DisableSensitiveDrug !== true && }\r\n {dbFormSpec.DisableSensitiveHIV !== true && }\r\n {dbFormSpec.DisableSensitiveSTD !== true && }\r\n {dbFormSpec.DisableSensitiveGenetic !== true && }\r\n
\r\n
\r\n
\r\n );\r\n }\r\n else { // default path\r\n return (\r\n
\r\n \r\n {formik.errors.sensitiveInfo && formik.touched.sensitiveInfo && }\r\n
\r\n
{'You have the right to refuse disclosure and prevent any other person from disclosing sensitive information related to the following conditions, treatments, or testing. Include (Indicate by checking below): Please note that the information will not be released if not checked.'}
\r\n
{'PLEASE CHECKMARK ALL ELEMENTS YOU AGREE TO HAVE RELEASED'}
\r\n
{'Note: this is entirely optional and you may skip this section by leaving all of the boxes blank.'}
\r\n
\r\n
\r\n
\r\n \r\n \r\n
\r\n
\r\n
\r\n {dbFormSpec.DisableSensitivePSY !== true && }\r\n {dbFormSpec.DisableSensitiveDrug !== true && }\r\n {dbFormSpec.DisableSensitiveHIV !== true && }\r\n {dbFormSpec.DisableSensitiveSTD !== true && }\r\n {dbFormSpec.DisableSensitiveGenetic !== true && }\r\n
\r\n
\r\n
\r\n );\r\n }\r\n};\r\n\r\nexport default SensitiveInformationSection;","export const phoneFaxFormat = (e) => {\r\n (e.which > 57 || e.which < 48) && e.preventDefault()\r\n if (e.target.value.length === 3 || e.target.value.length === 7) {\r\n e.target.value = e.target.value.concat('-')\r\n }\r\n if (e.target.value.length === 12) {\r\n e.target.value = e.target.value.concat('x')\r\n }\r\n }\r\n \r\n export const faxFormat = (e) => {\r\n (e.which > 57 || e.which < 48) && e.preventDefault()\r\n if (e.target.value.length === 3 || e.target.value.length === 7) {\r\n e.target.value = e.target.value.concat('-')\r\n }\r\n }","import React, { useEffect, useState, useContext } from 'react';\r\nimport { ConfigContext } from '../../DynamicForm/DynamicForm';\r\n// import {TextInput} from './RepContactInfoSection';\r\nimport TextField from '../../../../components/TextField/TextField';\r\nimport { SectionHeader } from '../../../../components/sectionHeader/sectionHeader';\r\nimport ErrorBar from '../../../../components/ErrorBar';\r\nimport RadioField from '../../../../components/RadioField2/RadioField';\r\nimport './RecipientOfInfoSection.scss';\r\nimport { phoneFaxFormat } from '../RepContactInfoSection/logic';\r\nimport { CheckLanguage } from '../../../../languages/languages';\r\nimport { GetLanguageText } from \"../../../../languages/languages\";\r\n\r\nconst RecipientOfInfo = ({ formType }) => {\r\n\r\n const { formik, dbFormSpec } = useContext(ConfigContext);\r\n const languageID = CheckLanguage(dbFormSpec);\r\n const recipientName = formType.includes(\"Patient\") ? \"Patient\" : formType.includes(\"Representative\") ? \"Representative\" : \"Requestor\";\r\n\r\n\r\n\r\n if (languageID != \"default\") {\r\n const languageText = GetLanguageText(languageID);\r\n const recipientNameML = formType.includes(\"Patient\") ? languageText.recipientInfo.options.RecipientPat : formType.includes(\"Representative\") ? languageText.recipientInfo.options.RecipientRep : languageText.recipientInfo.options.RecipientReq;\r\n\r\n return (\r\n
\r\n \r\n {formik.errors.discloseTo && formik.touched.discloseTo && }\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

{languageText.recipientInfo.options.option4}

\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 } else {\r\n\r\n return (\r\n
\r\n \r\n {formik.errors.discloseTo && formik.touched.discloseTo && }\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

Please provide the contact information for the person or entity receiving the records

\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\nexport default RecipientOfInfo;","import React, { useEffect, useState, useContext } from 'react';\r\nimport {ConfigContext} from '../../DynamicForm/DynamicForm';\r\nimport { Field } from \"formik\";\r\nimport Required from \"../../../../components/Required\";\r\nimport RadioButtonGroup from \"../../../../components/RadioButtonGroup\";\r\nimport RadioButton from \"../../../../components/RadioButton\";\r\nimport Popover from \"../../../../../formik/refactorOut/components/Popper/Popover\";\r\nimport { popoverLocation } from '../../../../../config/Configuration';\r\nimport RadioField from '../../../../components/RadioField2/RadioField';\r\nimport { SectionHeader } from '../../../../components/sectionHeader/sectionHeader';\r\nimport ErrorBar from '../../../../components/ErrorBar';\r\nimport './DeliveryMethodSection.scss';\r\nimport { GetLanguageText } from '../../../../languages/languages';\r\nimport { CheckLanguage } from '../../../../languages/languages';\r\n\r\nconst DeliveryMethod = () => {\r\n \r\n const {formik, validationValues, dbFormSpec} = useContext(ConfigContext);\r\n const orgId = dbFormSpec.facility.orgId\r\n const triPartiteOrg = orgId.includes('7042') || orgId.includes ('7101') || orgId.includes('7239')\r\n\r\n useEffect(()=>{\r\n formik.values.releasemode == '2' && formik.values.discloseTo == '2' && formik.setFieldValue('releasemode', '') && formik.setFieldValue('releasemodePdf', '')\r\n }, [formik.values.discloseTo])\r\n const languageID = CheckLanguage(dbFormSpec);\r\n\r\n\r\n\r\n if (languageID != \"default\") {\r\n const languageText = GetLanguageText(languageID);\r\n return (\r\n validationValues.page.form.sections.deliveryMethodSection.active ?\r\n
\r\n \r\n {formik.errors.releasemodePdf && formik.touched.releasemodePdf && }\r\n

{languageText.deliveryMethod.options.option1}

\r\n
\r\n\r\n {dbFormSpec.deliveryMethods ?\r\n Object.entries(dbFormSpec.deliveryMethods).map((method)=>{\r\n if (method[1].active) {\r\n return \r\n }\r\n })\r\n :\r\n <>\r\n {formik.values.discloseTo !== '2' && }\r\n \r\n \r\n {triPartiteOrg && }\r\n {orgId != '1007307' && orgId != '1007042' && } \r\n \r\n }\r\n\r\n {formik.touched.deliveryMethodGroup &&\r\n formik.errors.deliveryMethodGroup ? (\r\n \r\n {formik.errors.deliveryMethodGroup}\r\n \r\n ) : null}\r\n
\r\n {formik.values.releasemode === '4' && `${languageText.ErrorChecking.ValidatorText.repcontact}`}\r\n
\r\n :\r\n <>\r\n );\r\n } else {\r\n\r\n \r\n return (\r\n validationValues.page.form.sections.deliveryMethodSection.active ?\r\n
\r\n\r\n \r\n {/*
*/}\r\n {formik.errors.releasemodePdf && formik.touched.releasemodePdf && }\r\n

Select the method of delivery for the records

\r\n\r\n {/* */}\r\n\r\n
\r\n\r\n {dbFormSpec.deliveryMethods ?\r\n Object.entries(dbFormSpec.deliveryMethods).map((method)=>{\r\n if (method[1].active) {\r\n return \r\n }\r\n })\r\n :\r\n <>\r\n {/* {formik.values.discloseTo !== '2' && */ }\r\n \r\n \r\n {triPartiteOrg && }\r\n {orgId != '1007307' && orgId != '1007042' && } \r\n \r\n } \r\n \r\n\r\n {formik.touched.deliveryMethodGroup &&\r\n formik.errors.deliveryMethodGroup ? (\r\n \r\n {formik.errors.deliveryMethodGroup}\r\n \r\n ) : null}\r\n
\r\n {formik.values.releasemode === '4' && 'A representative will contact you to schedule date, time and location of pickup'}\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 DeliveryMethod;\r\n","import React, {useContext, useEffect, useState} from 'react';\r\nimport './Button.scss'\r\nimport { ConfigContext } from '../../screens/form/DynamicForm/DynamicForm';\r\n\r\nconst Button = ({label, onClick, classes, type='button', icon, style, localError}) => {\r\n \r\n const [buttonType, setButtonType] = useState(type)\r\n \r\n // imports context object\r\n const context = useContext(ConfigContext)\r\n\r\n useEffect(()=>{\r\n context && context.localError ? setButtonType('button') : setButtonType(type) \r\n })\r\n \r\n return (\r\n \r\n )\r\n}\r\n\r\nexport default Button;","import React, { useEffect, useState, useContext } from 'react';\r\nimport { ConfigContext } from '../../DynamicForm/DynamicForm';\r\nimport Popover from \"../../../../../formik/refactorOut/components/Popper/Popover\";\r\nimport { popoverLocation } from '../../../../../config/Configuration';\r\nimport Required from \"../../../../components/Required\";\r\nimport Markdown from \"markdown-to-jsx\";\r\nimport PBV_icon from '../../../../assets/pbv.png';\r\nimport Button from '../../../../components/Button/Button';\r\nimport './ReleaseDatesSection.scss';\r\nimport DisclosureOfSensitiveInformation from '../SensitiveInfoSection/DisclosureOfSensitiveInformationSection';\r\nimport { GetLanguageText } from '../../../../languages/languages';\r\nimport { CheckLanguage } from '../../../../languages/languages';\r\n\r\nconst ReleaseDatesSection = ({ formType }) => {\r\n\r\n const { formik, validationValues, dbFormSpec } = useContext(ConfigContext)\r\n\r\n const orgId = dbFormSpec.facility.orgId;\r\n const DisableFeeStatement = (dbFormSpec.DisableFeeStatement);\r\n\r\n const convertSubmitObject = async () => {\r\n\r\n if (formik.values.discloseTo === \"1\") {\r\n if (formType.includes('Patient')) {\r\n formik.setFieldValue('RFName', `${formik.values.PFName}`)\r\n formik.setFieldValue('RLName', `${formik.values.PLName}`)\r\n formik.setFieldValue('RName', `${formik.values.PFName} ${formik.values.PLName}`)\r\n // formik.setFieldValue('RPhone', formik.values.PPhone)\r\n formik.values.RPhone = formik.values.PPhone\r\n formik.setFieldValue('REmail', formik.values.PEmail)\r\n formik.setFieldValue('RFax', formik.values.PFax)\r\n formik.setFieldValue('RAddress1', formik.values.PAddress1)\r\n formik.setFieldValue('RAddress2', formik.values.PAddress2)\r\n formik.setFieldValue('RCity', formik.values.PCity)\r\n formik.setFieldValue('RState', formik.values.PState)\r\n formik.setFieldValue('RZip', formik.values.PZip)\r\n }\r\n else {\r\n formik.setFieldValue('RFName', `${formik.values.RepFName}`)\r\n formik.setFieldValue('RLName', `${formik.values.RepLName}`)\r\n formik.setFieldValue('RName', `${formik.values.RepFName} ${formik.values.RepLName}`)\r\n // formik.setFieldValue('RPhone', formik.values.RepPhone)\r\n formik.values.RPhone = formik.values.RepPhone\r\n formik.setFieldValue('REmail', formik.values.RepEmail)\r\n formik.setFieldValue('RFax', formik.values.RepFax)\r\n formik.setFieldValue('RAddress1', formik.values.RepAddress1)\r\n formik.setFieldValue('RAddress2', formik.values.RepAddress2)\r\n formik.setFieldValue('RCity', formik.values.RepCity)\r\n formik.setFieldValue('RState', formik.values.RepState)\r\n formik.setFieldValue('RZip', formik.values.RepZip)\r\n }\r\n }\r\n else if (formik.values.discloseTo === \"2\") {\r\n formik.setFieldValue('RName', `${formik.values.RFName} ${formik.values.RLName}`)\r\n }\r\n formik.values.PDOB1 && formik.setFieldValue('PDOB', new Date(formik.values.PDOB1).toLocaleDateString(\"en-US\", { timeZone: 'UTC' }))\r\n formik.values.dosTo1 && formik.setFieldValue('dosto', new Date(formik.values.dosTo1).toLocaleDateString(\"en-US\", { timeZone: 'UTC' }))\r\n formik.values.dosFrom1 && formik.setFieldValue('dosfrom', new Date(formik.values.dosFrom1).toLocaleDateString(\"en-US\", { timeZone: 'UTC' }))\r\n\r\n if (dbFormSpec.facility.orgId.includes('7307')) {\r\n formik.setFieldValue(\"facilityList\", Object.values(formik.values.facilityList))\r\n }\r\n else {\r\n formik.values.facilityList.map(\r\n (facility) => {\r\n return formik.setFieldValue(facility, \"on\")\r\n }\r\n )\r\n }\r\n formik.values.infoToReleaseGroup.map(\r\n (releaseId) => {\r\n return formik.setFieldValue(`requesteditem${releaseId}`, \"on\")\r\n }\r\n )\r\n // formik.values.sensitiveInfo.map(\r\n // (siCode)=>{ \r\n // return formik.setFieldValue(`exclude${siCode}`, \"on\") \r\n // }\r\n // )\r\n let physicianList = \"\"\r\n for (let property in formik.values) {\r\n if (property.includes('physician#') && formik.values[property].length > 0) {\r\n physicianList = physicianList.concat(formik.values[property], \" \")\r\n if (physicianList.length > 0) {\r\n await formik.setFieldValue('inputPhysicianNames', physicianList)\r\n }\r\n }\r\n }\r\n let recordList = \"\"\r\n for (let property in formik.values) {\r\n if (property.includes('txtotherrecords#')) {\r\n recordList = recordList.concat(`${formik.values[property]},`, \" \")\r\n formik.setFieldValue('txtotherrecords', recordList)\r\n }\r\n }\r\n let sensitiveInfoTypes = ['psy', 'drug', 'HIV', 'STD', 'genetics']\r\n sensitiveInfoTypes.forEach((type) => {\r\n !formik.values.sensitiveInfo.includes(type.toUpperCase()) ? formik.setFieldValue(`exclude${type}`, 'on') : delete formik.values[`exclude${type}`]\r\n })\r\n // formik.values.sensitiveInfo.forEach((sensItem)=>{\r\n // sensItem !== 'discloseAll' && formik.setFieldValue(`exclude${sensItem}`, 'on')\r\n // })\r\n if (formik.values.sensitiveInfo.length === 5) {\r\n formik.setFieldValue('authorizeAll', \"on\")\r\n }\r\n // if (formik.values.sensitiveInfo[0] === 'excludeAll') {\r\n // formik.setFieldValue('notAuthorizeAll', \"on\")\r\n // }\r\n // console.log(formik.values)\r\n }\r\n\r\n const checkForLocalErrors = () => {\r\n\r\n }\r\n\r\n const languageID = CheckLanguage(dbFormSpec);\r\n\r\n\r\n\r\n if (languageID != \"default\") {\r\n const languageText = GetLanguageText(languageID);\r\n\r\n\r\n return (\r\n validationValues.page.form.sections.releaseDatesSection.active ?\r\n <>\r\n
\r\n
\r\n \r\n

\r\n {languageText.deliveryMethod.feeInfo}\r\n

\r\n
\r\n
\r\n {languageText.PageHeaders.AltText.PoweredByVerisma}\r\n \r\n :\r\n <>\r\n );\r\n\r\n }\r\n else {\r\n return (\r\n validationValues.page.form.sections.releaseDatesSection.active ?\r\n <>\r\n
\r\n
\r\n \r\n

\r\n A fee covering the costs of labor, supplies and postage associated with these records may apply to this request. If a fee does apply, you will be notified before your request is processed.\r\n

\r\n
\r\n
\r\n \"Powered\r\n \r\n :\r\n <>\r\n );\r\n }\r\n};\r\n\r\nexport default ReleaseDatesSection;\r\n","import React from 'react';\r\nimport './styles.scss'\r\n\r\nexport const SectionInstruction = ({instructionText}) => {\r\n return (\r\n \r\n )\r\n}\r\n\r\nexport default SectionInstruction;","import React, { useEffect, useState, useContext } from 'react';\r\nimport { ConfigContext } from '../../DynamicForm/DynamicForm';\r\nimport { ErrorMessage } from \"formik\";\r\nimport Markdown from \"markdown-to-jsx\";\r\nimport { Field } from \"formik\";\r\nimport Required from \"../../../../components/Required\";\r\nimport { SectionHeader } from '../../../../components/sectionHeader/sectionHeader';\r\nimport { SelfieIcon, IDIcon, UploadIcon, CloseIcon, DocumentIcon } from '../../styles/assets/icons';\r\nimport ErrorBar from '../../../../components/ErrorBar';\r\nimport './SupportingDocsSection.scss';\r\nimport RadioField from '../../../../components/RadioField2/RadioField';\r\nimport SectionInstruction from '../../../../components/sectionInstruction/view';\r\nimport { GetLanguageText } from '../../../../languages/languages';\r\nimport { CheckLanguage } from '../../../../languages/languages';\r\n\r\n\r\nexport const SupportingDocsSection = ({ fileSubmissionAction, fileDeletionAction }) => {\r\n // state values\r\n const [error, giveError] = useState(false);\r\n const [screenWidth, setScreenWidth] = useState(0);\r\n const [fileError, setFileError] = useState({ status: false, errorDisplay: 'none' });\r\n\r\n // context object\r\n const { formik, validationValues, dbFormSpec, formType, devMode } = useContext(ConfigContext);\r\n\r\n // local variables\r\n const template = { section: validationValues.page.form.sections.supportingDocsSection, styles: { ...validationValues.page.form.styles } };\r\n const fileColor = dbFormSpec.color + '0d';\r\n const orgId = dbFormSpec.facility.orgId;\r\n const triPartiteOrg = orgId.includes('7042') || orgId.includes('7101') || orgId.includes('7239')\r\n\r\n function dragOverHandler(ev) {\r\n // Prevent default behavior (Prevent file from being opened)\r\n ev.preventDefault();\r\n }\r\n\r\n function dropHandler(ev) {\r\n // Prevent default behavior (Prevent file from being opened)\r\n ev.preventDefault();\r\n\r\n if (ev.dataTransfer.items) {\r\n // Use DataTransferItemList interface to access the file(s)\r\n for (var i = 0; i < ev.dataTransfer.items.length; i++) {\r\n // If dropped items aren't files, reject them\r\n if (ev.dataTransfer.items[i].kind === 'file') {\r\n var file = ev.dataTransfer.items[i].getAsFile();\r\n // console.log('... file[' + i + '].name = ' + file.name);\r\n // console.log(ev.dataTransfer.items[i].getAsFile());\r\n fileSubmissionAction(ev.dataTransfer.items[i].getAsFile());\r\n formik.setFieldValue('supportingDoc', [...formik.values.supportingDoc, ev.dataTransfer.items[i].getAsFile()])\r\n // console.log(ev.currentTarget.files[0]);\r\n // fileSubmissionAction(ev.currentTarget.files[0]);\r\n }\r\n }\r\n } else {\r\n // Use DataTransfer interface to access the file(s)\r\n for (var i = 0; i < ev.dataTransfer.files.length; i++) {\r\n // console.log('... file[' + i + '].name = ' + ev.dataTransfer.files[i].name);\r\n // console.log(ev.dataTransfer.items);\r\n // console.log(ev.currentTarget.files);\r\n }\r\n }\r\n }\r\n\r\n useEffect(() => {\r\n // fileError.status && setFileError({...fileError, status: false})\r\n // setTimeout(()=>{fileError.status && setFileError({...fileError, status: false})}, 8000)\r\n }, [fileError.status]);\r\n\r\n useEffect(() => {\r\n setScreenWidth(document.getElementsByTagName('body')[0].clientWidth)\r\n window.onresize = () => {\r\n setScreenWidth(document.getElementsByTagName('body')[0].clientWidth)\r\n }\r\n }, []);\r\n\r\n\r\n if (dbFormSpec.idVerification && dbFormSpec.idVerification.active === false) {\r\n return (<>);\r\n }\r\n\r\n if (dbFormSpec.idVerification && dbFormSpec.idVerification.UseCustom) {\r\n let instructionText = dbFormSpec.idVerification.instructionText || \"You may need to provide supporting documentation to confirm your relationship to the patient. How would you like to provide this?\";\r\n let uploadNowText = dbFormSpec.idVerification.uploadNowText || \"I would like to upload supporting documentation now\";\r\n let onFileText = dbFormSpec.idVerification.onFileText || \"The facility has documented proof of my relationship to the patient on file\";\r\n // let declineText = dbFormSpec.idVerification.declineText || \"I decline to upload documentation\";\r\n let TouchAndUploadText = dbFormSpec.idVerification.TouchAndUploadText ||\"Touch to upload files\";\r\n let DragAndDropText = dbFormSpec.idVerification.DragAndDropText || \"Drag & drop or Click to browse\";\r\n let uploadMsg = dbFormSpec.idVerification.uploadMsg || \"Only PDFs and Images may be uploaded\";\r\n let maxFileSizeMsg = dbFormSpec.idVerification.maxFileSizeMsg || \"Maximum file size is 15mb\";\r\n let SectionTitleText = dbFormSpec.idVerification.SectionTitleText|| \"Identity Verification\";\r\n\r\n return (\r\n
\r\n \r\n {formik.errors.supportingDoc && formik.touched.supportingDoc &&\r\n \r\n }\r\n {fileError.status && }\r\n
\r\n {formType === \"Representative\" ?\r\n dbFormSpec.idVerification.options ?\r\n dbFormSpec.idVerification.options.map((doc) => {\r\n return (\r\n doc.active && \r\n )\r\n })\r\n :\r\n
\r\n \r\n \r\n \r\n
\r\n :\r\n <>\r\n }\r\n {(formType === \"Patient\" || formik.values.documentation === '1') &&\r\n
\r\n
\r\n \r\n
\r\n
\r\n \r\n

{dbFormSpec.idVerification.id.label}

\r\n
\r\n\r\n {\r\n dbFormSpec.idVerification.selfie.active &&\r\n
\r\n \r\n

{dbFormSpec.idVerification.selfie.label}

\r\n
\r\n }\r\n
\r\n
\r\n
\r\n
\r\n \r\n {screenWidth < 1024 ?

{TouchAndUploadText}

:

{DragAndDropText}

}\r\n
\r\n\r\n { dropHandler(e) }}\r\n onDragOver={(e) => { dragOverHandler(e) }}\r\n name=\"supportingDoc\"\r\n type=\"file\"\r\n\r\n onChange={(event) => {\r\n event.preventDefault()\r\n devMode && console.log(\"File\", event)\r\n\r\n const arrayOfFiles = Object.values(event.currentTarget.files);\r\n\r\n if (arrayOfFiles.some((file) => { return !['application/pdf', 'image/png', 'image/jpeg', 'image/tiff'].includes(file.type) })) {\r\n setFileError({ status: 'size', message: uploadMsg })\r\n }\r\n if (arrayOfFiles.some((file) => { return file.size >= 15000000 })) {\r\n setFileError({ status: 'size', message: maxFileSizeMsg })\r\n }\r\n if (arrayOfFiles.length > 0 && arrayOfFiles.every((file) => { return file.size < 15000000 }) && arrayOfFiles.every((file) => { return ['application/pdf', 'image/png', 'image/jpeg', 'image/tiff'].includes(file.type) })) {\r\n giveError(false);\r\n setFileError({ ...fileError, status: false })\r\n\r\n if (!formik.getFieldProps(\"supportingDoc\").value) {\r\n formik.setFieldTouched(\"supportingDoc\", true, true);\r\n formik.setFieldValue(\"supportingDoc\",\r\n\r\n arrayOfFiles,\r\n );\r\n\r\n } else {\r\n formik.setFieldTouched(\"supportingDoc\", true, true);\r\n formik.setFieldValue(\r\n \"supportingDoc\",\r\n formik\r\n .getFieldProps(\"supportingDoc\")\r\n .value.concat(arrayOfFiles)\r\n );\r\n console.log(event.currentTarget.files[0]);\r\n fileSubmissionAction(event.currentTarget.files[0]);\r\n }\r\n }\r\n else {\r\n giveError(template.section.fields.supportingDoc.validations.fileSize.message);\r\n }\r\n document.getElementById('ID-file-input').value = ''\r\n }}\r\n />\r\n
\r\n
\r\n }\r\n
\r\n
\r\n {formik.getFieldProps(\"supportingDoc\").value &&\r\n formik.getFieldProps(\"supportingDoc\").value.map((item, index, array) => {\r\n\r\n if (array[0] instanceof File) {\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 // This is being overridden by the spec itself.\r\n const languageID = CheckLanguage(dbFormSpec);\r\n\r\n\r\n if (languageID != \"default\") {\r\n const languageText = GetLanguageText(languageID); return (\r\n
\r\n \r\n\r\n {formik.errors.supportingDoc && formik.touched.supportingDoc &&\r\n \r\n }\r\n {fileError.status && }\r\n
\r\n {formType === \"Representative\" ?\r\n dbFormSpec.idVerification.options ?\r\n dbFormSpec.idVerification.options.map((doc) => {\r\n return (\r\n doc.active && \r\n )\r\n })\r\n :\r\n
\r\n \r\n \r\n \r\n {triPartiteOrg && }\r\n {/* {orgId != '1007451' && } */}\r\n
\r\n :\r\n <>\r\n }\r\n\r\n {(formType === \"Patient\" || formik.values.documentation === '1') &&\r\n
\r\n
\r\n \r\n
\r\n
\r\n \r\n

{dbFormSpec.idVerification.id.label}

\r\n
\r\n\r\n {formType === 'Patient' ?\r\n dbFormSpec.idVerification.selfie.active &&\r\n
\r\n \r\n

{dbFormSpec.idVerification.selfie.label}

\r\n
\r\n // :\r\n // null\r\n :\r\n
\r\n \r\n

{languageText.IdentityVerification.instructions.SupportingDocument}

\r\n
\r\n }\r\n
\r\n
\r\n
\r\n
\r\n \r\n {screenWidth < 1024 ?

{languageText.IdentityVerification.instructions.TouchAndUpload}

:

{languageText.IdentityVerification.instructions.DragAndDrop}

}\r\n
\r\n\r\n { dropHandler(e) }}\r\n onDragOver={(e) => { dragOverHandler(e) }}\r\n name=\"supportingDoc\"\r\n type=\"file\"\r\n\r\n onChange={(event) => {\r\n event.preventDefault()\r\n devMode && console.log(\"File\", event)\r\n // console.log(Object.values(event.currentTarget.files));\r\n const arrayOfFiles = Object.values(event.currentTarget.files)\r\n\r\n // if (event.currentTarget.files[0] && event.currentTarget.files[0].size < 15000000) {\r\n\r\n if (arrayOfFiles.some((file) => { return !['application/pdf', 'image/png', 'image/jpeg', 'image/tiff'].includes(file.type) })) {\r\n setFileError({ status: 'size', message: 'Only PDFs and Images may be uploaded' })\r\n }\r\n if (arrayOfFiles.some((file) => { return file.size >= 15000000 })) {\r\n setFileError({ status: 'size', message: 'Maximum file size is 15mb' })\r\n }\r\n if (arrayOfFiles.length > 0 && arrayOfFiles.every((file) => { return file.size < 15000000 }) && arrayOfFiles.every((file) => { return ['application/pdf', 'image/png', 'image/jpeg', 'image/tiff'].includes(file.type) })) {\r\n giveError(false);\r\n setFileError({ ...fileError, status: false })\r\n // console.log(formik.getFieldProps('supportingDoc').value)\r\n if (!formik.getFieldProps(\"supportingDoc\").value) {\r\n formik.setFieldTouched(\"supportingDoc\", true, true);\r\n formik.setFieldValue(\"supportingDoc\",\r\n // event.currentTarget.files[0],\r\n arrayOfFiles,\r\n );\r\n // console.log(event.currentTarget.files);\r\n // fileSubmissionAction(event.currentTarget.files[0]);\r\n } else {\r\n formik.setFieldTouched(\"supportingDoc\", true, true);\r\n formik.setFieldValue(\r\n \"supportingDoc\",\r\n formik\r\n .getFieldProps(\"supportingDoc\")\r\n // .value.concat(event.currentTarget.files[0])\r\n .value.concat(arrayOfFiles)\r\n );\r\n console.log(event.currentTarget.files[0]);\r\n // console.log(event.currentTarget.files);\r\n fileSubmissionAction(event.currentTarget.files[0]);\r\n // }\r\n }\r\n // else if (arrayOfFiles.length < 3) {\r\n // giveError('Please upload a maximum of three files')\r\n }\r\n else {\r\n giveError(template.section.fields.supportingDoc.validations.fileSize.message);\r\n }\r\n document.getElementById('ID-file-input').value = ''\r\n\r\n }}\r\n />\r\n
\r\n
\r\n }\r\n
\r\n
\r\n {formik.getFieldProps(\"supportingDoc\").value &&\r\n formik.getFieldProps(\"supportingDoc\").value.map((item, index, array) => {\r\n // console.log(array)\r\n if (array[0] instanceof File) {\r\n return (\r\n \r\n );\r\n }\r\n })}\r\n\r\n
\r\n
\r\n );\r\n } else {\r\n\r\n\r\n return (\r\n
\r\n \r\n\r\n {formik.errors.supportingDoc && formik.touched.supportingDoc &&\r\n \r\n }\r\n {fileError.status && }\r\n
\r\n {formType === \"Representative\" ?\r\n dbFormSpec.idVerification.options ?\r\n dbFormSpec.idVerification.options.map((doc) => {\r\n return (\r\n doc.active && \r\n )\r\n })\r\n :\r\n
\r\n \r\n \r\n \r\n {triPartiteOrg && }\r\n {/* {orgId != '1007451' && } */}\r\n
\r\n :\r\n <>\r\n }\r\n\r\n {(formType === \"Patient\" || formik.values.documentation === '1') &&\r\n
\r\n
\r\n \r\n
\r\n
\r\n \r\n

{dbFormSpec.idVerification.id.label}

\r\n
\r\n\r\n {formType === 'Patient' ?\r\n dbFormSpec.idVerification.selfie.active &&\r\n
\r\n \r\n

{dbFormSpec.idVerification.selfie.label}

\r\n
\r\n // :\r\n // null\r\n :\r\n
\r\n \r\n

A document supporting the authorization validation process, such as Medical Power of Attorney, Will, Proof of Guardianship, or Letter of Representation

\r\n
\r\n }\r\n
\r\n
\r\n
\r\n
\r\n \r\n {screenWidth < 1024 ?

Touch to upload files

:

Drag & drop or Click to browse

}\r\n
\r\n\r\n { dropHandler(e) }}\r\n onDragOver={(e) => { dragOverHandler(e) }}\r\n name=\"supportingDoc\"\r\n type=\"file\"\r\n\r\n onChange={(event) => {\r\n event.preventDefault()\r\n devMode && console.log(\"File\", event)\r\n // console.log(Object.values(event.currentTarget.files));\r\n const arrayOfFiles = Object.values(event.currentTarget.files)\r\n\r\n // if (event.currentTarget.files[0] && event.currentTarget.files[0].size < 15000000) {\r\n\r\n if (arrayOfFiles.some((file) => { return !['application/pdf', 'image/png', 'image/jpeg', 'image/tiff'].includes(file.type) })) {\r\n setFileError({ status: 'size', message: 'Only PDFs and Images may be uploaded' })\r\n }\r\n if (arrayOfFiles.some((file) => { return file.size >= 15000000 })) {\r\n setFileError({ status: 'size', message: 'Maximum file size is 15mb' })\r\n }\r\n if (arrayOfFiles.length > 0 && arrayOfFiles.every((file) => { return file.size < 15000000 }) && arrayOfFiles.every((file) => { return ['application/pdf', 'image/png', 'image/jpeg', 'image/tiff'].includes(file.type) })) {\r\n giveError(false);\r\n setFileError({ ...fileError, status: false })\r\n // console.log(formik.getFieldProps('supportingDoc').value)\r\n if (!formik.getFieldProps(\"supportingDoc\").value) {\r\n formik.setFieldTouched(\"supportingDoc\", true, true);\r\n formik.setFieldValue(\"supportingDoc\",\r\n // event.currentTarget.files[0],\r\n arrayOfFiles,\r\n );\r\n // console.log(event.currentTarget.files);\r\n // fileSubmissionAction(event.currentTarget.files[0]);\r\n } else {\r\n formik.setFieldTouched(\"supportingDoc\", true, true);\r\n formik.setFieldValue(\r\n \"supportingDoc\",\r\n formik\r\n .getFieldProps(\"supportingDoc\")\r\n // .value.concat(event.currentTarget.files[0])\r\n .value.concat(arrayOfFiles)\r\n );\r\n console.log(event.currentTarget.files[0]);\r\n // console.log(event.currentTarget.files);\r\n fileSubmissionAction(event.currentTarget.files[0]);\r\n // }\r\n }\r\n // else if (arrayOfFiles.length < 3) {\r\n // giveError('Please upload a maximum of three files')\r\n }\r\n else {\r\n giveError(template.section.fields.supportingDoc.validations.fileSize.message);\r\n }\r\n document.getElementById('ID-file-input').value = ''\r\n\r\n }}\r\n />\r\n
\r\n
\r\n }\r\n
\r\n
\r\n {formik.getFieldProps(\"supportingDoc\").value &&\r\n formik.getFieldProps(\"supportingDoc\").value.map((item, index, array) => {\r\n // console.log(array)\r\n if (array[0] instanceof File) {\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\nconst UploadedFileTab = ({ item, formik, fileDeletionAction }) => {\r\n console.log(item)\r\n const roundedSize = item.size.toFixed(1)\r\n const bItem = item.size.toFixed(1) + 'b'\r\n const kbItem = (item.size / 1024).toFixed(1) + 'kb'\r\n const mbItem = (item.size / 1048576).toFixed(1) + 'mb'\r\n\r\n return (\r\n
  • 1.5e+7 ? { background: '#C10000', color: 'white' } : { border: 'none' }}>\r\n \r\n {item.name}\r\n {' '}\r\n {`${item.size < 1024 ? bItem : item.size < 104856 ? kbItem : mbItem}`}\r\n \r\n\r\n {\r\n formik.validateForm();\r\n formik.setFieldValue(\r\n \"supportingDoc\",\r\n formik\r\n .getFieldProps(\"supportingDoc\")\r\n .value.filter((x) => x != item)\r\n );\r\n fileDeletionAction(item.name);\r\n console.log(document.getElementById('ID-file-input').value)\r\n }} />\r\n
  • \r\n )\r\n}\r\n","\r\n export const inputClasses = (errors) =>\r\n errors ? \"form-control is-invalid\" : \"form-control\";\r\n","import React, { useEffect, useState, useContext } from 'react';\r\nimport { ConfigContext } from '../../DynamicForm/DynamicForm'\r\nimport { SectionHeader } from '../../../../components/sectionHeader/sectionHeader'\r\nimport TextField from '../../../../components/TextField/TextField'\r\nimport './styles.scss';\r\nimport { phoneFaxFormat, faxFormat } from './logic';\r\nimport { GetLanguageText } from '../../../../languages/languages';\r\nimport { CheckLanguage } from '../../../../languages/languages';\r\n\r\n// import { apiHost } from \"../../../config/Constants\";\r\n\r\n\r\nexport const RepContactInfoSection = () => {\r\n\r\n const context = useContext(ConfigContext);\r\n const { formik, dbFormSpec, validationValues, formType, devMode } = context;\r\n\r\n useEffect(() => {\r\n devMode && console.log('VALUES', formik.values, 'ERRORS', formik.errors)\r\n }, [formik.values]);\r\n const languageID = CheckLanguage(dbFormSpec);\r\n\r\n if (languageID != \"default\") {\r\n\r\n\r\n const languageText = GetLanguageText(languageID);\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 {formType === \"Patient\" && }\r\n \r\n {formType === \"Patient\" && }\r\n {formType === \"Patient\" && }\r\n {formType === \"Patient\" && }\r\n {formType === \"Patient\" && }\r\n {formType === \"Patient\" && }\r\n {formType === \"Patient\" && }\r\n
    \r\n
    \r\n );\r\n\r\n\r\n } else {\r\n return (\r\n
    \r\n \r\n
    \r\n \r\n \r\n \r\n \r\n \r\n \r\n {formType === \"Patient\" && }\r\n \r\n {formType === \"Patient\" && }\r\n {formType === \"Patient\" && }\r\n {formType === \"Patient\" && }\r\n {formType === \"Patient\" && }\r\n {formType === \"Patient\" && }\r\n {formType === \"Patient\" && }\r\n
    \r\n
    \r\n );\r\n }\r\n}\r\n\r\n","export const phoneFaxFormat = (e) => {\r\n (e.which > 57 || e.which < 48) && e.preventDefault()\r\n if (e.target.value.length === 3 || e.target.value.length === 7) {\r\n e.target.value = e.target.value.concat('-')\r\n }\r\n if (e.target.value.length === 12) {\r\n e.target.value = e.target.value.concat('x')\r\n }\r\n }\r\n \r\n export const faxFormat = (e) => {\r\n (e.which > 57 || e.which < 48) && e.preventDefault()\r\n if (e.target.value.length === 3 || e.target.value.length === 7) {\r\n e.target.value = e.target.value.concat('-')\r\n }\r\n }","import React, { useEffect, useState, useContext } from 'react';\r\nimport { ConfigContext } from '../../DynamicForm/DynamicForm'\r\nimport { SectionHeader } from '../../../../components/sectionHeader/sectionHeader'\r\nimport TextField from '../../../../components/TextField/TextField'\r\nimport './styles.scss';\r\nimport { phoneFaxFormat, faxFormat } from './logic';\r\nimport RadioField from '../../../../components/RadioField2/RadioField'\r\nimport SectionInstruction from '../../../../components/sectionInstruction/view'\r\nimport ErrorBar from '../../../../components/ErrorBar'\r\nimport { GetLanguageText } from '../../../../languages/languages';\r\nimport { CheckLanguage } from '../../../../languages/languages';\r\n\r\n\r\n// import { apiHost } from \"../../../config/Constants\";\r\n\r\n\r\nexport const ProxyInfoSection = () => {\r\n\r\n const context = useContext(ConfigContext);\r\n const { formik, dbFormSpec, validationValues } = context;\r\n\r\n // useEffect(()=>{\r\n // console.log(\"rrelationship:\", formik.values.rrelationship)\r\n // }, [formik.values.rrelationship])\r\n\r\n const languageID = CheckLanguage(dbFormSpec);\r\n\r\n\r\n\r\n if (languageID != \"default\") {\r\n\r\n const languageText = GetLanguageText(languageID);\r\n\r\n return (\r\n validationValues.page.form.sections.repContactInfoSection.active ?\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 {formik.errors.rrelationship && formik.touched.rrelationship && }\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 } else {\r\n\r\n return (\r\n validationValues.page.form.sections.repContactInfoSection.active ?\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 {formik.errors.rrelationship && formik.touched.rrelationship && }\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, { useEffect, useState, useContext } from 'react';\r\nimport { ConfigContext } from '../../DynamicForm/DynamicForm'\r\nimport { SectionHeader } from '../../../../components/sectionHeader/sectionHeader'\r\nimport TextField from '../../../../components/TextField/TextField'\r\nimport './styles.scss';\r\nimport { GetLanguageText } from '../../../../languages/languages';\r\nimport { CheckLanguage } from '../../../../languages/languages';\r\n\r\n\r\nexport const AdditionalInfoSection = () => {\r\n\r\n const context = useContext(ConfigContext)\r\n const { formik, dbFormSpec, validationValues, formType, devMode } = context\r\n\r\n useEffect(() => {\r\n devMode && console.log('VALUES', formik.values, 'ERRORS', formik.errors)\r\n }, [formik.values])\r\n\r\n\r\n\r\n const languageID = CheckLanguage(dbFormSpec);\r\n\r\n\r\n if (languageID != \"default\") {\r\n\r\n const languageText = GetLanguageText(languageID);\r\n\r\n return (\r\n // validationValues.page.form.sections.AdditionalInfoSection.active ?\r\n
    \r\n\r\n \r\n \r\n \r\n
    \r\n )\r\n\r\n }\r\n else {\r\n return (\r\n // validationValues.page.form.sections.AdditionalInfoSection.active ?\r\n
    \r\n\r\n \r\n \r\n \r\n
    \r\n )\r\n }\r\n}\r\n\r\n","const apiHostWPatient = process.env.PUBLIC_URL\r\nexport const apiHostNoPatient = apiHostWPatient.substring(0, apiHostWPatient.length - 8)\r\n\r\nexport const spaEndpointHost = process.env.REACT_APP_HOST;\r\nexport const apiHost = apiHostNoPatient;\r\nexport const getwayApi = apiHostNoPatient;\r\nexport const vraUX = process.env.REACT_UX;\r\nexport const instkey = 'InstrumentationKey=4f254ea7-2eec-4f68-b038-744c9f7c9e5c';\r\nexport const captchaUrl = 'https://captcha-dev.azurewebsites.net';\r\n\r\n// export const apiHost = 'https://app-vra-test.azurewebsites.net';\r\n// export const getwayApi = 'https://app-vra-test.azurewebsites.net';","// import { Formik } from 'formik';\r\nimport React, { useEffect, useState } from 'react';\r\n// import { testFormSpec } from '../../../../context/formSpec_patient';\r\nimport testLogo from '../../styles/assets/verisma_logo.png';\r\nimport './LogoAndTitle.scss';\r\nimport axios from \"axios\";\r\nimport { getwayApi } from \"../../../../../config/Constants\";\r\n\r\nexport const LogoAndTitle = ({\r\n config, titleText, formId, dbFormSpec, titleColor, logo, formType, formSubtype = \"Patient Representative\" }) => {\r\n\r\n let disclaimerText;\r\n if (dbFormSpec.TitleDisclaimerText) {\r\n let fontWeight = (dbFormSpec.TitleDisclaimerText.Bold) ? \"bold\" : \"\";\r\n let fontSize = (Number.parseInt(dbFormSpec.TitleDisclaimerText.FontSize, 10) || 12);\r\n\r\n disclaimerText =
    \r\n   {dbFormSpec.TitleDisclaimerText.IncludeAsterix && }\r\n {dbFormSpec.TitleDisclaimerText.Text}
    ;\r\n }\r\n\r\n return (\r\n
    \r\n \r\n {/* {logo} */}\r\n

    \r\n {formType && formType === \"Representative\" &&
    {formSubtype}
    }\r\n {titleText}\r\n {disclaimerText}\r\n

    \r\n\r\n\r\n
    \r\n )\r\n}","import React from 'react';\r\nimport { connect } from 'formik';\r\nclass ErrorFocus extends React.Component {\r\n isObject(value) {\r\n return value && typeof value === 'object' && value.constructor === Object;\r\n }\r\n getKeysRecursively = (object) => {\r\n if (!this.isObject(object)) {\r\n return ''\r\n }\r\n const currentKey = Object.keys(object)[0]\r\n if (!this.getKeysRecursively(object[currentKey])) {\r\n return currentKey\r\n }\r\n return currentKey + \".\" + this.getKeysRecursively(object[currentKey])\r\n }\r\n componentDidUpdate(prevProps) {\r\n const { \r\n // isSubmitting, \r\n // isValidating, \r\n errors } = prevProps.formik;\r\n const keys = Object.keys(errors);\r\n if (keys.length > 0 && prevProps.errorToFocus) {\r\n const selectorKey = this.getKeysRecursively(errors)\r\n const selector = `[name=\"${selectorKey}\"] `;\r\n \r\n const errorElement = document.querySelector(selector);\r\n if(errorElement){\r\n prevProps.setErrorToFocus(false);\r\n errorElement.focus();\r\n }\r\n }\r\n }\r\n render() {\r\n return null;\r\n }\r\n}\r\nexport default connect(ErrorFocus);","import React from 'react';\r\nimport PBV_icon from '../../assets/pbv.png'\r\nimport {getwayApi} from '../../../config/Constants'\r\nimport './LoadingScreen.scss'\r\n\r\n\r\nexport const LoadingScreen = ({ config, formId, loadingMessage }) => {\r\n\r\n return (\r\n
    \r\n
    \r\n
    \r\n

    {loadingMessage}

    \r\n
    \r\n \"powered\r\n
    \r\n );\r\n}","import * as moment from \"moment\";\r\n\r\n\r\nexport const phoneRegex = /^\\d{3}-\\d{3}-\\d{4}(x\\d{1,5})?$/;\r\nexport const zipRegex = /^([0-9]{5})(?:[-\\s]([0-9]{4}))?$/;\r\nexport const dateCantBeInFuture = moment().add(0, \"days\");\r\nexport const minimumYearsOld = (years) => moment().add(years, \"years\");\r\nexport const maxYearAgo = years => moment().subtract(years, \"years\");\r\nexport const dateIsBefore = (before, after) => moment(before).isSameOrBefore(after);\r\nexport const cityRegEx = /^[a-zA-Z',.\\s-]{1,25}$/;\r\nexport const stateRegEx = /^[a-zA-Z]{2}$/;\r\n\r\n","import * as moment from \"moment\";\r\n\r\n\r\nexport const phoneRegex = /^\\d{3}-\\d{3}-\\d{4}(x\\d{1,5})?$/;\r\nexport const zipRegex = /^([0-9]{5})(?:[-\\s]([0-9]{4}))?$/;\r\nexport const dateCantBeInFuture = moment().add(0, \"days\");\r\nexport const minimumYearsOld = (years) => moment().add(years, \"years\");\r\nexport const maxYearAgo = years => moment().subtract(years, \"years\");\r\nexport const dateIsBefore = (before, after) => moment(before).isSameOrBefore(after);\r\nexport const cityRegEx = /^[a-zA-Z',.\\s-]{1,25}$/;\r\nexport const stateRegEx = /^[a-zA-Z]{2}$/;\r\n\r\n\r\n","// import { patientInformationValidations } from \"./patientInformationValidations\";\r\nimport { authorizationToReleaseValidations } from \"./authorizationToReleaseValidations\";\r\nimport { informationToReleaseValidations } from \"./informationToReleaseValidations\";\r\nimport { deliveryMethodValidations } from \"./deliveryMethodValidations\";\r\nimport { purposeOfDisclosureValidations } from \"./purposeOfDisclosureValidations\";\r\nimport { discloseToValidations } from \"./discloseToValidations\";\r\nimport { formLevelValidations } from \"./formLevelValidations\";\r\nimport {supportingDocsValidations} from './supportingDocsValidations';\r\nimport {caseNumberValidations} from \"./caseNumberValidations\"\r\nimport {patientInfoValidations} from './patientInfoValidations';\r\nimport {additionalInfoValidations} from './additionalInfoValidations';\r\nimport {discloseSensitiveInfoValidations} from './discloseSensitiveInfoValidations';\r\nimport {repInfoValidations} from './repInfoValidations';\r\n\r\nexport const allValidations = (configTest, values, formType, dbFormSpec) => {\r\n\r\n\r\n\r\n const {\r\n // patientInformationSection,\r\n authorizationToReleaseSection,\r\n supportingDocsSection,\r\n discloseToSection,\r\n informationToReleaseSection,\r\n deliveryMethodSection,\r\n purposeOfDisclosureSection,\r\n caseNumberSection,\r\n repContactInfoSection,\r\n additionalInfoSection,\r\n disclosureOfSensitiveInformation\r\n } = configTest.page.form.sections;\r\n\r\n\r\n return patientInfoValidations(repContactInfoSection, formType)\r\n \r\n // .concat(patientInformationValidations(patientInformationSection))\r\n .concat(discloseToValidations(discloseToSection))\r\n .concat(repInfoValidations(formType))\r\n .concat(authorizationToReleaseValidations(authorizationToReleaseSection))\r\n .concat(discloseSensitiveInfoValidations(disclosureOfSensitiveInformation))\r\n .concat(informationToReleaseValidations(informationToReleaseSection))\r\n .concat(deliveryMethodValidations(deliveryMethodSection))\r\n .concat(purposeOfDisclosureValidations(purposeOfDisclosureSection))\r\n .concat(supportingDocsValidations(supportingDocsSection, formType, dbFormSpec))\r\n .concat(formLevelValidations(configTest.page.form))\r\n .concat(caseNumberValidations(repContactInfoSection.fields.caseNumber))\r\n .concat()\r\n .concat(additionalInfoValidations(additionalInfoSection));\r\n};\r\n","import * as Yup from \"yup\";\r\n\r\nimport {\r\n phoneRegex,\r\n zipRegex,\r\n cityRegEx,\r\n dateCantBeInFuture\r\n} from \"./validationFunctions\";\r\nimport { stateRegEx } from \"../validations_multilanguage/validationFunctions\";\r\n\r\n\r\n\r\nexport const patientInfoValidations = (section, formType) => {\r\n\r\n if (section.active) {\r\n return Yup.object().shape({\r\n // repRole: Yup.string()\r\n // .required(\r\n // () =>\r\n // section.fields.repRole.validations.required.value &&\r\n // section.fields.repRole.validations.required.message\r\n // ),\r\n // discloseToOrgName: Yup.string()\r\n // .max(\r\n // section.fields.discloseToOrgName.validations.maxLength.value,\r\n // section.fields.discloseToOrgName.validations.maxLength.message\r\n // )\r\n // .required(\r\n // () =>\r\n // section.fields.discloseToOrgName.validations.required.value &&\r\n // section.fields.discloseToOrgName.validations.required.message\r\n // ),\r\n PFName: Yup.string().required(\r\n () =>\r\n section.fields.PFName.validations.required.value &&\r\n 'Please provide a first name'\r\n ),\r\n PLName: Yup.string().required(\r\n () =>\r\n section.fields.PLName.validations.required.value &&\r\n 'Please provide a last name'\r\n ),\r\n PPhone: Yup.string()\r\n .required(\r\n () =>\r\n formType.includes('Patient') &&\r\n section.fields.PPhone.validations.required.value &&\r\n 'Please provide a phone number'\r\n )\r\n .matches(\r\n phoneRegex,\r\n 'Please enter phone number in a valid format'\r\n ),\r\n Patient_Phone_Conform: Yup.string()\r\n .required(\r\n () =>\r\n formType.includes('Patient') &&\r\n section.fields.PPhone.validations.required.value &&\r\n \"Please confirm your phone number\"\r\n )\r\n .oneOf([formType.includes('Patient') && Yup.ref('PPhone'), '555'], 'Phone numbers must match'),\r\n\r\n PEmail: Yup.string()\r\n .required(\r\n () =>\r\n formType.includes('Patient') &&\r\n section.fields.PEmail.validations.required.value &&\r\n 'Please provide an email address'\r\n )\r\n .email(\r\n 'Please provide a valid email address'\r\n )\r\n .max(\r\n section.fields.PEmail.validations.maxLength.value,\r\n section.fields.PEmail.validations.maxLength.message\r\n ),\r\n Patient_Email_Conform: Yup.string()\r\n .required(\r\n () =>\r\n formType.includes('Patient') &&\r\n section.fields.PEmail.validations.required.value &&\r\n \"Please confirm your email address\"\r\n )\r\n // .oneOf([Yup.ref(`PEmail`), null], 'Email addresses must match'),\r\n .test(\r\n 'email-match',\r\n 'Email addresses must match',\r\n function (value) {\r\n const { PEmail } = this.parent; // Get the value of the PEmail field\r\n if (!PEmail || !value) {\r\n // If either field is empty, consider them a match\r\n return true;\r\n }\r\n // Compare lowercase versions of the email addresses\r\n return value.toLowerCase() === PEmail.toLowerCase();\r\n }\r\n ),\r\n PAddress1: Yup.string()\r\n .required(\r\n () =>\r\n formType.includes('Patient') &&\r\n section.fields.PAddress1.validations.required.value &&\r\n 'Please provide an address'\r\n )\r\n .max(\r\n section.fields.PAddress1.validations.maxLength\r\n .value,\r\n section.fields.PAddress1.validations.maxLength\r\n .message\r\n ),\r\n PAddress2: Yup.string()\r\n\r\n .max(\r\n section.fields.PAddress2.validations.maxLength\r\n .value,\r\n section.fields.PAddress2.validations.maxLength\r\n .message\r\n ),\r\n PCity: Yup.string()\r\n .required(\r\n () =>\r\n formType.includes('Patient') &&\r\n section.fields.PCity.validations.required.value &&\r\n 'Please provide a city'\r\n )\r\n .matches(cityRegEx, 'City must contain only letters')\r\n .max(\r\n section.fields.PCity.validations.maxLength.value,\r\n section.fields.PCity.validations.maxLength.message\r\n ),\r\n PState: Yup.string()\r\n .required(\r\n () => {\r\n // formType.includes('Patient') &&\r\n return (formType.includes('Patient') && section.fields.PState.validations.required.value &&\r\n 'Please provide a state')\r\n }\r\n )\r\n .matches(stateRegEx, 'State must contain only letters')\r\n .max(\r\n section.fields.PState.validations.maxLength.value,\r\n section.fields.PState.validations.maxLength.message\r\n ),\r\n PMName: Yup.string()\r\n .max(\r\n section.fields.PMName.validations.maxLength.value,\r\n section.fields.PMName.validations.maxLength.message\r\n ),\r\n\r\n PDOB1: Yup.string()\r\n .required(\r\n () =>\r\n true &&\r\n \"DOB is required\"\r\n )\r\n .max(\r\n dateCantBeInFuture,\r\n 'future'\r\n )\r\n\r\n .test(\r\n \"PDOB\",\r\n \"Please provide a more recent date\",\r\n function (date) {\r\n var enteredDate = new Date(date);\r\n return enteredDate.getFullYear() >= 1880;\r\n }\r\n ).nullable()\r\n .test(\r\n \"PDOB\",\r\n 'This date is in the future',\r\n function (date) {\r\n var todaysDate = new Date();\r\n var enteredDate = new Date(date);\r\n return todaysDate > enteredDate;\r\n }\r\n )\r\n .test(\r\n \"PDOB\",\r\n 'Please have an adult submit a proxy form on your behalf',\r\n function (date) {\r\n if (formType.includes('Patient')) {\r\n var enteredDate = new Date(date);\r\n var month = new Date().getMonth() + 1\r\n var day = new Date().getDate()\r\n var year = new Date().getFullYear() - 18\r\n return new Date(`${month}/${day}/${year}`) > enteredDate;\r\n }\r\n else { return true }\r\n }\r\n ),\r\n\r\n PZip: Yup.string()\r\n .required(\r\n () =>\r\n formType.includes('Patient') &&\r\n section.fields.PZip.validations.required.value &&\r\n 'Please provide a zip code'\r\n )\r\n .matches(\r\n zipRegex,\r\n section.fields.PZip.validations.validZipcode.message\r\n )\r\n });\r\n }\r\n};\r\n\r\n\r\n\r\n","import * as Yup from \"yup\";\r\n\r\nimport {\r\n phoneRegex,\r\n zipRegex,\r\n} from \"./validationFunctions\";\r\n\r\nexport const discloseToValidations = section => {\r\n if (section.active) {\r\n return Yup.object().shape({\r\n discloseToEntityGroup: Yup.string().required(\r\n section.fields.discloseToEntityGroup.validations.required.message\r\n ),\r\n discloseToName: Yup.string().when(\"discloseToEntityGroup\", {\r\n is: \"namedPersonEntity\",\r\n then: Yup.string().required(\r\n () =>\r\n section.fields.discloseToName.validations.required.value &&\r\n section.fields.discloseToName.validations.required.message\r\n )\r\n }),\r\n discloseToPhone: Yup.string().when(\"discloseToEntityGroup\", {\r\n is: \"namedPersonEntity\",\r\n then: Yup.string()\r\n .required(\r\n () =>\r\n section.fields.discloseToPhone.validations.required.value &&\r\n section.fields.discloseToPhone.validations.required.message\r\n )\r\n .max(\r\n section.fields.discloseToPhone.validations.maxLength\r\n .value,\r\n section.fields.discloseToPhone.validations.maxLength\r\n .message\r\n )\r\n .matches(\r\n phoneRegex,\r\n section.fields.discloseToPhone.validations.validPhone.message\r\n )\r\n }),\r\n discloseToFax: Yup.string().when(\"discloseToEntityGroup\", {\r\n is: \"namedPersonEntity\",\r\n then: Yup.string().matches(\r\n phoneRegex,\r\n section.fields.discloseToFax.validations.validPhone.message\r\n )\r\n .max(\r\n section.fields.discloseToFax.validations.maxLength\r\n .value,\r\n section.fields.discloseToFax.validations.maxLength\r\n .message\r\n )\r\n }),\r\n discloseToAddressLine1: Yup.string().when(\"discloseToEntityGroup\", {\r\n is: \"namedPersonEntity\",\r\n then: Yup.string()\r\n .required(\r\n () =>\r\n section.fields.discloseToAddressLine1.validations.required\r\n .value &&\r\n section.fields.discloseToAddressLine1.validations.required\r\n .message\r\n )\r\n .max(\r\n section.fields.discloseToAddressLine1.validations.maxLength\r\n .value,\r\n section.fields.discloseToAddressLine1.validations.maxLength\r\n .message\r\n )\r\n }),\r\n discloseToAddressLine2: Yup.string().when(\"discloseToEntityGroup\", {\r\n is: \"namedPersonEntity\",\r\n then: Yup.string()\r\n .required(\r\n () =>\r\n section.fields.discloseToAddressLine2.validations.required\r\n .value &&\r\n section.fields.discloseToAddressLine2.validations.required\r\n .message\r\n )\r\n .max(\r\n section.fields.discloseToAddressLine2.validations.maxLength\r\n .value,\r\n section.fields.discloseToAddressLine2.validations.maxLength\r\n .message\r\n )\r\n }),\r\n discloseToCity: Yup.string().when(\"discloseToEntityGroup\", {\r\n is: \"namedPersonEntity\",\r\n then: Yup.string()\r\n .required(\r\n () =>\r\n section.fields.discloseToCity.validations.required.value &&\r\n section.fields.discloseToCity.validations.required.message\r\n )\r\n .max(\r\n section.fields.discloseToCity.validations.maxLength.value,\r\n section.fields.discloseToCity.validations.maxLength.message\r\n )\r\n }),\r\n discloseToState: Yup.string().when(\"discloseToEntityGroup\", {\r\n is: \"namedPersonEntity\",\r\n then: Yup.string()\r\n .required(\r\n () => {\r\n return section.fields.discloseToState.validations.required.value &&\r\n section.fields.discloseToState.validations.required.message\r\n }\r\n )\r\n .max(\r\n section.fields.discloseToState.validations.maxLength.value,\r\n section.fields.discloseToState.validations.maxLength.message\r\n )\r\n }),\r\n discloseToZip: Yup.string().when(\"discloseToEntityGroup\", {\r\n is: \"namedPersonEntity\",\r\n then: Yup.string()\r\n .required(\r\n () =>\r\n section.fields.discloseToZip.validations.required.value &&\r\n section.fields.discloseToZip.validations.required.message\r\n )\r\n .matches(\r\n zipRegex,\r\n section.fields.discloseToZip.validations.validZipcode.message\r\n )\r\n })\r\n });\r\n } \r\n};\r\n\r\n\r\n\r\n","import * as Yup from \"yup\";\r\n\r\nimport {\r\n phoneRegex,\r\n zipRegex,\r\n cityRegEx,\r\n dateCantBeInFuture\r\n} from \"./validationFunctions\";\r\n\r\nexport const repInfoValidations = (formType) => {\r\n\r\n if (true && formType.includes('Representative')) {\r\n return Yup.object().shape({\r\n\r\n RepFName: Yup.string().required(\r\n () =>\r\n true &&\r\n 'Please provide a first name'\r\n ),\r\n RepLName: Yup.string().required(\r\n () =>\r\n true &&\r\n 'Please provide a last name'\r\n ),\r\n RepPhone: Yup.string()\r\n .required(\r\n () =>\r\n true &&\r\n 'Please provide a phone number'\r\n )\r\n .matches(\r\n phoneRegex,\r\n 'Please enter phone number in a valid format'\r\n ),\r\n Rep_Phone_Conform: Yup.string()\r\n .required(\r\n () =>\r\n // formType.includes('Patient') && \r\n true &&\r\n \"Please confirm your phone number\"\r\n )\r\n .oneOf([Yup.ref('RepPhone'), '555'], 'Phone numbers must match'),\r\n RepEmail: Yup.string()\r\n .required(\r\n () =>\r\n true &&\r\n 'Please provide an email address'\r\n )\r\n .email(\r\n 'Please provide a valid email address'\r\n )\r\n .max(\r\n 50,\r\n \"Email address too long\"\r\n ),\r\n Rep_Email_Conform: Yup.string()\r\n .required(\r\n () =>\r\n // formType.includes('Patient') &&\r\n true &&\r\n \"Please confirm your email address\"\r\n )\r\n // .oneOf([Yup.ref('RepEmail'), null], 'Email addresses must match'),\r\n .test(\r\n 'email-match',\r\n 'Email addresses must match',\r\n function (value) {\r\n const { RepEmail } = this.parent; // Get the value of the RepEmail field\r\n if (!RepEmail || !value) {\r\n // If either field is empty, consider them a match\r\n return true;\r\n }\r\n // Compare lowercase versions of the email addresses\r\n return value.toLowerCase() === RepEmail.toLowerCase();\r\n }\r\n ),\r\n RepAddress1: Yup.string()\r\n .required(\r\n () =>\r\n // formType.includes('Representative') && \r\n true &&\r\n 'Please provide an address'\r\n )\r\n .max(\r\n 50,\r\n \"Address too long\"\r\n ),\r\n RepAddress2: Yup.string()\r\n\r\n .max(\r\n 50,\r\n 'Address too long'\r\n ),\r\n RepCity: Yup.string()\r\n .required(\r\n () =>\r\n true &&\r\n 'Please provide a city'\r\n )\r\n .matches(cityRegEx, 'City must contain only letters')\r\n .max(\r\n 30,\r\n \"City name too long\"\r\n ),\r\n RepState: Yup.string()\r\n .required(\r\n () => {\r\n // formType.includes('Patient') &&\r\n return (true &&\r\n 'Please provide a state')\r\n }\r\n )\r\n .matches(/^[A-Za-z]{2}$/, 'State must contain only letters')\r\n .max(\r\n 2,\r\n 'State value too long'\r\n ),\r\n RepMName: Yup.string()\r\n .max(\r\n 1,\r\n \"Middle initial too long\"\r\n ),\r\n rrelationship: Yup.string()\r\n .required(\r\n () =>\r\n true &&\r\n 'Please specify your relationship to the patient'\r\n ),\r\n\r\n RepZip: Yup.string()\r\n .required(\r\n () =>\r\n true &&\r\n 'Please provide a zip code'\r\n )\r\n .matches(\r\n zipRegex,\r\n \"Please provide a valid zip code\"\r\n )\r\n });\r\n }\r\n};\r\n\r\n\r\n\r\n","import * as Yup from \"yup\";\r\nimport {\r\n phoneRegex,\r\n zipRegex,\r\n cityRegEx,\r\n dateCantBeInFuture,\r\n stateRegEx\r\n} from \"./validationFunctions\";\r\n\r\n\r\nexport const authorizationToReleaseValidations = (section) => {\r\n if (section.active) {\r\n return Yup.object().shape({\r\n\r\n facilityList: Yup.array().min(1, \"Please select at least one facility to authorize the release of data.\"),\r\n\r\n\r\n\r\n discloseTo: Yup.string()\r\n .required(\r\n () =>\r\n true &&\r\n \"Please specify the party to whom the records should be disclosed\"\r\n ),\r\n\r\n RFName: Yup.string()\r\n .required(\r\n () =>\r\n true &&\r\n \"Please provide a first name\"\r\n ),\r\n RLName: Yup.string()\r\n .required(\r\n () =>\r\n true &&\r\n \"Please provide a last name\"\r\n ),\r\n\r\n RPhone: Yup.string()\r\n .required(\r\n () =>\r\n true &&\r\n \"Please provide a phone number\"\r\n )\r\n .matches(\r\n phoneRegex,\r\n 'Please enter phone number in a valid format'\r\n ),\r\n\r\n RFax: Yup.string()\r\n .matches(\r\n phoneRegex,\r\n 'Please enter fax number in a valid format'\r\n ),\r\n\r\n RAddress1: Yup.string()\r\n .required(\r\n () =>\r\n true &&\r\n \"Please provide an address\"\r\n ),\r\n\r\n RCity: Yup.string()\r\n .required(\r\n () =>\r\n true &&\r\n \"Please provide a city\"\r\n )\r\n .matches(cityRegEx, 'City must contain only letters'),\r\n\r\n RState: Yup.string()\r\n .required(\r\n () =>\r\n true &&\r\n \"Please provide a state\"\r\n )\r\n .matches(stateRegEx, 'State must contain only letters'),\r\n\r\n\r\n RZip: Yup.string()\r\n .required(\r\n () =>\r\n true &&\r\n \"Please provide a zip\"\r\n ).matches(zipRegex, \"Invalid Zip Code\"),\r\n\r\n REmail: Yup.string()\r\n .email(\r\n 'Please provide a valid email address'\r\n ),\r\n\r\n });\r\n }\r\n};\r\n","import * as Yup from \"yup\";\r\nimport {\r\n dateCantBeInFuture,\r\n dateIsBefore\r\n} from \"./validationFunctions\";\r\n\r\nexport const discloseSensitiveInfoValidations = section => {\r\n // if (section.active) {\r\n return Yup.object().shape({\r\n \r\n sensitiveInfo: Yup.array()\r\n .required(\r\n () =>\r\n true &&\r\n 'Please specify your preference for the release of sensitive information'\r\n ),\r\n\r\n\r\n // dosfrom: Yup.date()\r\n // .required(\r\n // () =>\r\n // section.fields.dosfrom.validations.required.value &&\r\n // section.fields.dosfrom.validations.required.message\r\n // ).nullable()\r\n // .max(\r\n // dateCantBeInFuture,\r\n // section.fields.dosfrom.validations.notFutureDate.message\r\n // )\r\n // .test(\r\n // \"dosfrom\",\r\n // section.fields.dosfrom.validations.notFutureDate.message,\r\n // function(date){\r\n // var todaysDate = new Date();\r\n // var enteredDate = new Date(date);\r\n // return todaysDate > enteredDate;\r\n // }\r\n // ),\r\n // dosto: Yup.date()\r\n // .required(\r\n // () =>\r\n // section.fields.dosto.validations.required.value &&\r\n // section.fields.dosto.validations.required.message\r\n // ).nullable()\r\n // .max(\r\n // dateCantBeInFuture,\r\n // section.fields.dosto.validations.notFutureDate.message\r\n // )\r\n // .test(\r\n // \"afterFromDate\",\r\n // section.fields.dosto.validations.notBeforeDate.message,\r\n // function(dosto) {\r\n // const { dosfrom } = this.parent;\r\n // if (dosfrom && dosto) {\r\n // return dateIsBefore(dosfrom, dosto);\r\n // }\r\n // }\r\n // )\r\n // .test(\r\n // \"afterFromDate\",\r\n // section.fields.dosto.validations.notFutureDate.message,\r\n // function(date){\r\n // var todaysDate = new Date();\r\n // var enteredDate = new Date(date);\r\n // return todaysDate > enteredDate;\r\n // }\r\n // ),\r\n // infoToReleaseGroup: Yup.array()\r\n // .required(\r\n // () =>\r\n // section.fields.infoToReleaseGroup.validations.required.value &&\r\n // section.fields.infoToReleaseGroup.validations.required.message\r\n // ),\r\n \r\n // excludeHIV: Yup.string().when(\"excludepsy\", {\r\n // is: val => val.length === 0,\r\n // then: Yup.string().required(\r\n // \"Sensitive Info Error\"\r\n // )\r\n // }),\r\n \r\n\r\n // infoToReleaseGroupOther: Yup.string()\r\n // .test(\r\n // \"infoToReleaseGroupOther\",\r\n // section.fields.infoToReleaseGroupOther.validations.required.message,\r\n // function(item) {\r\n \r\n // const { infoToReleaseGroup } = this.parent;\r\n // if(infoToReleaseGroup.includes(\"otherItem\"))\r\n // return item && infoToReleaseGroup.includes(\"otherItem\");\r\n // else return true;\r\n // }\r\n // )\r\n // .max(\r\n // section.fields.infoToReleaseGroupOther.validations.maxLength\r\n // .value,\r\n // section.fields.infoToReleaseGroupOther.validations.maxLength\r\n // .message\r\n // )\r\n });\r\n // }\r\n}\r\n","import * as Yup from \"yup\";\r\nimport {\r\n dateCantBeInFuture,\r\n dateIsBefore\r\n} from \"./validationFunctions\";\r\n\r\nexport const informationToReleaseValidations = section => {\r\n if (section.active) {\r\n return Yup.object().shape({\r\n dosFrom1: Yup.date()\r\n .required(\r\n () =>\r\n section.fields.dosfrom.validations.required.value &&\r\n 'Please provide a service start date'\r\n ).nullable()\r\n .max(\r\n dateCantBeInFuture,\r\n 'This date is in the future'\r\n )\r\n .test(\r\n \"dosfrom\",\r\n section.fields.dosfrom.validations.notFutureDate.message,\r\n function(date){\r\n var todaysDate = new Date();\r\n var enteredDate = new Date(date);\r\n return todaysDate > enteredDate;\r\n }\r\n ).test(\r\n \"afterBirthDate\",\r\n 'Start date cannot be before birth date',\r\n function() {\r\n const { dosFrom1 } = this.parent;\r\n const { PDOB1 } = this.parent;\r\n console.log(this)\r\n if (dosFrom1 && PDOB1) {\r\n return dateIsBefore(PDOB1, dosFrom1);\r\n }\r\n }\r\n ),\r\n \r\n dosTo1: Yup.date()\r\n .required(\r\n () =>\r\n section.fields.dosto.validations.required.value &&\r\n 'Please provide a service end date'\r\n ).nullable()\r\n .max(\r\n dateCantBeInFuture,\r\n 'This date is in the future'\r\n )\r\n .test(\r\n \"afterFromDate\",\r\n 'End date cannot be before start date',\r\n function(dosTo1) {\r\n const { dosFrom1 } = this.parent;\r\n if (dosFrom1 && dosTo1) {\r\n return dateIsBefore(dosFrom1, dosTo1);\r\n }\r\n }\r\n )\r\n .test(\r\n \"afterFromDate\",\r\n section.fields.dosto.validations.notFutureDate.message,\r\n function(date){\r\n var todaysDate = new Date();\r\n var enteredDate = new Date(date);\r\n return todaysDate > enteredDate;\r\n }\r\n ),\r\n \r\n infoToReleaseGroup: Yup.array()\r\n .required(\r\n () =>\r\n section.fields.infoToReleaseGroup.validations.required.value &&\r\n \"You must select at least one item for release\"\r\n ),\r\n \r\n infoToReleaseGroupOther: Yup.string()\r\n .test(\r\n \"infoToReleaseGroupOther\",\r\n section.fields.infoToReleaseGroupOther.validations.required.message,\r\n function(item) {\r\n \r\n const { infoToReleaseGroup } = this.parent;\r\n if(infoToReleaseGroup.includes(\"otherItem\"))\r\n return item && infoToReleaseGroup.includes(\"otherItem\");\r\n else return true;\r\n }\r\n )\r\n .max(\r\n section.fields.infoToReleaseGroupOther.validations.maxLength\r\n .value,\r\n section.fields.infoToReleaseGroupOther.validations.maxLength\r\n .message\r\n ),\r\n\r\n requestPurposePdf: Yup.string()\r\n .required(\r\n () =>\r\n section.fields.infoToReleaseGroup.validations.required.value &&\r\n \"You must specify the purpose for the disclosure of medical records\"\r\n ),\r\n });\r\n }\r\n}\r\n","import * as Yup from \"yup\";\r\n\r\n// const isDeliveryRadioBoxActive = (fields) => {\r\n// if(fields.deliveryMethodGroup.active){\r\n// return {\r\n// deliveryMethodGroup: Yup.string().required(\r\n// () =>\r\n// fields.deliveryMethodGroup.validations.required\r\n// .value &&\r\n// fields.deliveryMethodGroup.validations.required\r\n// .message\r\n// )\r\n// }\r\n// }\r\n\r\n// }\r\n\r\n// export const deliveryMethodValidations = section => {\r\n// if (section.active) {\r\n// if (section.active) {\r\n// return Yup.object().shape(\r\n// isDeliveryRadioBoxActive(section.fields)\r\n// );\r\n// }\r\n// }\r\n// };\r\n\r\n\r\nexport const deliveryMethodValidations = section => {\r\n \r\n if (section.active) {\r\n return Yup.object().shape({\r\n // deliveryMethodGroup: Yup.array()\r\n releasemodePdf: Yup.string()\r\n .required(\r\n () =>\r\n true &&\r\n \"Please specify a method for delivery\"\r\n ),\r\n })\r\n }\r\n }\r\n","import * as Yup from \"yup\";\r\n\r\nexport const purposeOfDisclosureValidations = section => {\r\n if (section.active) {\r\n return Yup.object().shape({\r\n disclosurePurposeGroup: Yup.string().required(\r\n () =>\r\n section.fields.disclosurePurposeGroup.validations.required.value &&\r\n section.fields.disclosurePurposeGroup.validations.required.message\r\n ),\r\n disclosurePurposeGroupOther: Yup.string()\r\n .when(\"disclosurePurposeGroup\", {\r\n is: val => val === \"other\",\r\n then: Yup.string().required(\r\n section.fields.disclosurePurposeGroupOther.validations.required\r\n .message\r\n )\r\n })\r\n .max(\r\n section.fields.disclosurePurposeGroupOther.validations.maxLength\r\n .value,\r\n section.fields.disclosurePurposeGroupOther.validations.maxLength\r\n .message\r\n )\r\n });\r\n }\r\n};\r\n","import * as Yup from \"yup\";\r\n\r\nexport const supportingDocsValidations = (section, formType, dbFormSpec) => {\r\n if (section.active) {\r\n return Yup.object().shape({\r\n supportingDoc: Yup.array()\r\n .required(\r\n () => {\r\n console.log(\"dbFormSpec\", dbFormSpec)\r\n console.log(\"numOfDocsExpected\", dbFormSpec.idVerification.numOfDocsExpected)\r\n if (dbFormSpec.idVerification.numOfDocsExpected === 0) {\r\n return false\r\n }\r\n else if (formType.includes('Patient')) {\r\n return 'Please upload the required document(s)'\r\n }\r\n else {\r\n return 'Please upload the required documents proving authority to act on behalf of the patient'\r\n }\r\n }\r\n )\r\n\r\n .test(\r\n 'file-limit',\r\n section.fields.supportingDoc.validations.fileLimit.message,\r\n function checkIfFilesAreCorrectType(files){\r\n \r\n if (files) {\r\n return files.length <= 2;\r\n }\r\n return true;\r\n }\r\n )\r\n .test(\r\n 'file-minimum',\r\n section.fields.supportingDoc.validations.fileMinimum.message,\r\n function checkIfFilesAreCorrectType(files){\r\n \r\n if (files && dbFormSpec.idVerification.numOfDocsExpected === 2 && formType.includes('Patient')) {\r\n return files.length > 1;\r\n }\r\n return true;\r\n }\r\n )\r\n .test(\r\n 'is-file-big',\r\n 'Please remove all files larger than 15mb',\r\n function checkIfFilesAreCorrectSize(files){\r\n let valid = true\r\n if (files) {\r\n files.map(file => {\r\n if (file.size > 1.5e+7) {\r\n valid = false\r\n }\r\n })\r\n }\r\n return valid\r\n }\r\n )\r\n });\r\n } \r\n};","import * as Yup from \"yup\";\r\nimport { dateIsBefore } from \"./validationFunctions\";\r\n\r\n// NOTE; use formLevelValidations for validations that cross\r\n// section boundaries and all included sections have an active status\r\n// e.g. Information to Release 'From Date' must be after Patient Information 'Birth Date'\r\n\r\nexport const formLevelValidations = form => {\r\n const { patientInformationSection, informationToReleaseSection } = form.sections;\r\n\r\n // Information to Release 'From Date' must be after Patient Information 'Birth Date'\r\n // if (patientInformationSection.active && informationToReleaseSection.active) {\r\n // return Yup.object().shape({\r\n // dosfrom: Yup.date().test(\r\n // \"dateIsAfter\",\r\n // form.validations.releaseStartAfterDateOfBirth.message,\r\n // function(releaseDate) {\r\n // const otherDate = this.parent[\r\n // form.validations.releaseStartAfterDateOfBirth.ref\r\n // ];\r\n // if (releaseDate && otherDate) {\r\n // return dateIsBefore(otherDate, releaseDate);\r\n // }\r\n // }\r\n // )\r\n // });\r\n // }\r\n};\r\n","import * as Yup from \"yup\";\r\n\r\nexport const caseNumberValidations = section => {\r\n// const fields = section.fields;\r\nif(section.active){\r\n return Yup.object().shape({\r\n caseNumber: Yup.string()\r\n .max(\r\n section.validations.maxLength.value,\r\n section.validations.maxLength.message\r\n )\r\n .required(\r\n () =>\r\n section.validations.required\r\n .value &&\r\n section.validations.required\r\n .message\r\n )\r\n });\r\n}\r\n}","import * as Yup from \"yup\";\r\n\r\nexport const additionalInfoValidations = section => {\r\n if(section.active){\r\n return Yup.object().shape( { \r\n \r\n repDesc: Yup.string()\r\n .max(\r\n section.fields.repDesc.validations.maxLength.value,\r\n section.fields.repDesc.validations.maxLength.message\r\n )\r\n \r\n \r\n })}\r\n}","// import { patientInformationValidations } from \"./patientInformationValidations\";\r\nimport { authorizationToReleaseValidations } from \"./authorizationToReleaseValidations\";\r\nimport { informationToReleaseValidations } from \"./informationToReleaseValidations\";\r\nimport { deliveryMethodValidations } from \"./deliveryMethodValidations\";\r\nimport { purposeOfDisclosureValidations } from \"./purposeOfDisclosureValidations\";\r\nimport { discloseToValidations } from \"./discloseToValidations\";\r\nimport { formLevelValidations } from \"./formLevelValidations\";\r\nimport {supportingDocsValidations} from './supportingDocsValidations';\r\nimport {caseNumberValidations} from \"./caseNumberValidations\"\r\nimport {patientInfoValidations} from './patientInfoValidations';\r\nimport {additionalInfoValidations} from './additionalInfoValidations';\r\nimport {discloseSensitiveInfoValidations} from './discloseSensitiveInfoValidations';\r\nimport {repInfoValidations} from './repInfoValidations';\r\n\r\nexport const allValidationsMultilanguage = (configTest, values, formType, dbFormSpec,languageText) => {\r\n\r\n\r\n\r\n const {\r\n // patientInformationSection,\r\n authorizationToReleaseSection,\r\n supportingDocsSection,\r\n discloseToSection,\r\n informationToReleaseSection,\r\n deliveryMethodSection,\r\n purposeOfDisclosureSection,\r\n caseNumberSection,\r\n repContactInfoSection,\r\n additionalInfoSection,\r\n disclosureOfSensitiveInformation\r\n } = configTest.page.form.sections;\r\n\r\n\r\n return patientInfoValidations(repContactInfoSection, formType,languageText)\r\n \r\n // .concat(patientInformationValidations(patientInformationSection))\r\n .concat(discloseToValidations(discloseToSection))\r\n .concat(repInfoValidations(formType,languageText))\r\n .concat(authorizationToReleaseValidations(authorizationToReleaseSection,languageText))\r\n .concat(discloseSensitiveInfoValidations(disclosureOfSensitiveInformation,languageText))\r\n .concat(informationToReleaseValidations(informationToReleaseSection,languageText))\r\n .concat(deliveryMethodValidations(deliveryMethodSection,languageText))\r\n .concat(purposeOfDisclosureValidations(purposeOfDisclosureSection,languageText))\r\n .concat(supportingDocsValidations(supportingDocsSection, formType, dbFormSpec,languageText))\r\n .concat(formLevelValidations(configTest.page.form))\r\n .concat(caseNumberValidations(repContactInfoSection.fields.caseNumber))\r\n .concat()\r\n .concat(additionalInfoValidations(additionalInfoSection));\r\n};\r\n","import * as Yup from \"yup\";\r\n\r\nimport {\r\n phoneRegex,\r\n zipRegex,\r\n stateRegEx,\r\n dateCantBeInFuture\r\n} from \"./validationFunctions\";\r\n\r\n\r\n\r\nexport const patientInfoValidations = (section, formType, languageText) => {\r\n\r\n if (section.active) {\r\n return Yup.object().shape({\r\n\r\n\r\n PFName: Yup.string().required(\r\n () =>\r\n section.fields.PFName.validations.required.value &&\r\n languageText.ErrorChecking.ValidatorText.FirstName\r\n ),\r\n PLName: Yup.string().required(\r\n () =>\r\n section.fields.PLName.validations.required.value &&\r\n languageText.ErrorChecking.ValidatorText.LastName\r\n\r\n ),\r\n PPhone: Yup.string()\r\n .required(\r\n () =>\r\n formType.includes('Patient') &&\r\n section.fields.PPhone.validations.required.value &&\r\n languageText.ErrorChecking.ValidatorText.PhoneNumber\r\n )\r\n .matches(\r\n phoneRegex,\r\n languageText.ErrorChecking.ValidatorText.PhoneNumberInvalid\r\n ),\r\n Patient_Phone_Conform: Yup.string()\r\n .required(\r\n () =>\r\n formType.includes('Patient') &&\r\n section.fields.PPhone.validations.required.value &&\r\n languageText.ErrorChecking.ValidatorText.PhoneNumberConfirm\r\n\r\n )\r\n .oneOf([formType.includes('Patient') && Yup.ref('PPhone'), '555'], languageText.ErrorChecking.ValidatorText.PhoneNumberMatch),\r\n\r\n PEmail: Yup.string()\r\n .required(\r\n () =>\r\n formType.includes('Patient') &&\r\n section.fields.PEmail.validations.required.value &&\r\n languageText.ErrorChecking.ValidatorText.Email)\r\n .email(\r\n languageText.ErrorChecking.ValidatorText.EmailInvalid\r\n\r\n )\r\n .max(\r\n section.fields.PEmail.validations.maxLength.value,\r\n section.fields.PEmail.validations.maxLength.message\r\n ),\r\n Patient_Email_Conform: Yup.string()\r\n .required(\r\n () =>\r\n formType.includes('Patient') &&\r\n section.fields.PEmail.validations.required.value &&\r\n languageText.ErrorChecking.ValidatorText.EmailConfirm\r\n )\r\n // .oneOf([Yup.ref(`PEmail`), null], 'Email addresses must match'),\r\n .test(\r\n 'email-match',\r\n languageText.ErrorChecking.ValidatorText.EmailMatch,\r\n function (value) {\r\n const { PEmail } = this.parent; // Get the value of the PEmail field\r\n if (!PEmail || !value) {\r\n // If either field is empty, consider them a match\r\n return true;\r\n }\r\n // Compare lowercase versions of the email addresses\r\n return value.toLowerCase() === PEmail.toLowerCase();\r\n }\r\n ),\r\n PAddress1: Yup.string()\r\n .required(\r\n () =>\r\n formType.includes('Patient') &&\r\n section.fields.PAddress1.validations.required.value &&\r\n languageText.ErrorChecking.ValidatorText.MissingAddress\r\n )\r\n .max(\r\n section.fields.PAddress1.validations.maxLength\r\n .value,\r\n section.fields.PAddress1.validations.maxLength\r\n .message\r\n ),\r\n PAddress2: Yup.string()\r\n\r\n .max(\r\n section.fields.PAddress2.validations.maxLength\r\n .value,\r\n section.fields.PAddress2.validations.maxLength\r\n .message\r\n ),\r\n PCity: Yup.string()\r\n .required(\r\n () =>\r\n formType.includes('Patient') &&\r\n section.fields.PCity.validations.required.value &&\r\n languageText.ErrorChecking.ValidatorText.CityMissing\r\n )\r\n .max(\r\n section.fields.PCity.validations.maxLength.value,\r\n section.fields.PCity.validations.maxLength.message\r\n ),\r\n PState: Yup.string()\r\n .required(\r\n () => {\r\n // formType.includes('Patient') &&\r\n return (formType.includes('Patient') && section.fields.PState.validations.required.value &&\r\n languageText.ErrorChecking.ValidatorText.StateMissing)\r\n }\r\n )\r\n .matches(stateRegEx, languageText.ErrorChecking.ValidatorText.StateInvalid)\r\n .max(\r\n section.fields.PState.validations.maxLength.value,\r\n section.fields.PState.validations.maxLength.message\r\n ),\r\n PMName: Yup.string()\r\n .max(\r\n section.fields.PMName.validations.maxLength.value,\r\n section.fields.PMName.validations.maxLength.message\r\n ),\r\n\r\n PDOB1: Yup.string()\r\n .required(\r\n () =>\r\n true &&\r\n languageText.ErrorChecking.ValidatorText.MissingDOB\r\n )\r\n .max(\r\n dateCantBeInFuture,\r\n 'future'\r\n )\r\n\r\n .test(\r\n \"PDOB\",\r\n languageText.ErrorChecking.ValidatorText.MissingDOB,\r\n function (date) {\r\n var enteredDate = new Date(date);\r\n return enteredDate.getFullYear() >= 1880;\r\n }\r\n ).nullable()\r\n .test(\r\n \"PDOB\",\r\n languageText.ErrorChecking.ValidatorText.DateCantBeFuture,\r\n function (date) {\r\n var todaysDate = new Date();\r\n var enteredDate = new Date(date);\r\n return todaysDate > enteredDate;\r\n }\r\n )\r\n .test(\r\n \"PDOB\",\r\n languageText.ErrorChecking.ValidatorText.RequiresAdult,\r\n function (date) {\r\n if (formType.includes('Patient')) {\r\n var enteredDate = new Date(date);\r\n var month = new Date().getMonth() + 1\r\n var day = new Date().getDate()\r\n var year = new Date().getFullYear() - 18\r\n return new Date(`${month}/${day}/${year}`) > enteredDate;\r\n }\r\n else { return true }\r\n }\r\n ),\r\n\r\n PZip: Yup.string()\r\n .required(\r\n () =>\r\n formType.includes('Patient') &&\r\n section.fields.PZip.validations.required.value &&\r\n languageText.ErrorChecking.ValidatorText.ZipMissing\r\n )\r\n .matches(\r\n zipRegex,\r\n languageText.ErrorChecking.ValidatorText.InvalidZip\r\n )\r\n });\r\n }\r\n};\r\n\r\n\r\n\r\n","import * as Yup from \"yup\";\r\n\r\nimport {\r\n phoneRegex,\r\n zipRegex,\r\n} from \"./validationFunctions\";\r\n\r\nexport const discloseToValidations = (section, languageText) => {\r\n if (section.active) {\r\n return Yup.object().shape({\r\n discloseToEntityGroup: Yup.string().required(\r\n section.fields.discloseToEntityGroup.validations.required.message\r\n ),\r\n discloseToName: Yup.string().when(\"discloseToEntityGroup\", {\r\n is: \"namedPersonEntity\",\r\n then: Yup.string().required(\r\n () =>\r\n section.fields.discloseToName.validations.required.value &&\r\n section.fields.discloseToName.validations.required.message\r\n )\r\n }),\r\n discloseToPhone: Yup.string().when(\"discloseToEntityGroup\", {\r\n is: \"namedPersonEntity\",\r\n then: Yup.string()\r\n .required(\r\n () =>\r\n section.fields.discloseToPhone.validations.required.value &&\r\n section.fields.discloseToPhone.validations.required.message\r\n )\r\n .max(\r\n section.fields.discloseToPhone.validations.maxLength\r\n .value,\r\n section.fields.discloseToPhone.validations.maxLength\r\n .message\r\n )\r\n .matches(\r\n phoneRegex,\r\n section.fields.discloseToPhone.validations.validPhone.message\r\n )\r\n }),\r\n discloseToFax: Yup.string().when(\"discloseToEntityGroup\", {\r\n is: \"namedPersonEntity\",\r\n then: Yup.string().matches(\r\n phoneRegex,\r\n section.fields.discloseToFax.validations.validPhone.message\r\n )\r\n .max(\r\n section.fields.discloseToFax.validations.maxLength\r\n .value,\r\n section.fields.discloseToFax.validations.maxLength\r\n .message\r\n )\r\n }),\r\n discloseToAddressLine1: Yup.string().when(\"discloseToEntityGroup\", {\r\n is: \"namedPersonEntity\",\r\n then: Yup.string()\r\n .required(\r\n () =>\r\n section.fields.discloseToAddressLine1.validations.required\r\n .value &&\r\n section.fields.discloseToAddressLine1.validations.required\r\n .message\r\n )\r\n .max(\r\n section.fields.discloseToAddressLine1.validations.maxLength\r\n .value,\r\n section.fields.discloseToAddressLine1.validations.maxLength\r\n .message\r\n )\r\n }),\r\n discloseToAddressLine2: Yup.string().when(\"discloseToEntityGroup\", {\r\n is: \"namedPersonEntity\",\r\n then: Yup.string()\r\n .required(\r\n () =>\r\n section.fields.discloseToAddressLine2.validations.required\r\n .value &&\r\n section.fields.discloseToAddressLine2.validations.required\r\n .message\r\n )\r\n .max(\r\n section.fields.discloseToAddressLine2.validations.maxLength\r\n .value,\r\n section.fields.discloseToAddressLine2.validations.maxLength\r\n .message\r\n )\r\n }),\r\n discloseToCity: Yup.string().when(\"discloseToEntityGroup\", {\r\n is: \"namedPersonEntity\",\r\n then: Yup.string()\r\n .required(\r\n () =>\r\n section.fields.discloseToCity.validations.required.value &&\r\n section.fields.discloseToCity.validations.required.message\r\n )\r\n .max(\r\n section.fields.discloseToCity.validations.maxLength.value,\r\n section.fields.discloseToCity.validations.maxLength.message\r\n )\r\n }),\r\n discloseToState: Yup.string().when(\"discloseToEntityGroup\", {\r\n is: \"namedPersonEntity\",\r\n then: Yup.string()\r\n .required(\r\n () => {\r\n return section.fields.discloseToState.validations.required.value &&\r\n section.fields.discloseToState.validations.required.message\r\n }\r\n )\r\n .max(\r\n section.fields.discloseToState.validations.maxLength.value,\r\n section.fields.discloseToState.validations.maxLength.message\r\n )\r\n }),\r\n discloseToZip: Yup.string().when(\"discloseToEntityGroup\", {\r\n is: \"namedPersonEntity\",\r\n then: Yup.string()\r\n .required(\r\n () =>\r\n section.fields.discloseToZip.validations.required.value &&\r\n section.fields.discloseToZip.validations.required.message\r\n )\r\n .matches(\r\n zipRegex,\r\n section.fields.discloseToZip.validations.validZipcode.message\r\n )\r\n })\r\n });\r\n } \r\n};\r\n\r\n\r\n\r\n","import * as Yup from \"yup\";\r\n\r\nimport {\r\n phoneRegex,\r\n zipRegex,\r\n stateRegEx,\r\n dateCantBeInFuture\r\n} from \"./validationFunctions\";\r\n\r\n\r\n\r\nexport const repInfoValidations = (formType, languageText) => {\r\n\r\n if (true && formType.includes('Representative')) {\r\n return Yup.object().shape({\r\n\r\n RepFName: Yup.string().required(\r\n () =>\r\n true &&\r\n languageText.ErrorChecking.ValidatorText.FirstName\r\n ),\r\n RepLName: Yup.string().required(\r\n () =>\r\n true &&\r\n languageText.ErrorChecking.ValidatorText.FirstName\r\n ),\r\n RepPhone: Yup.string()\r\n .required(\r\n () =>\r\n true &&\r\n languageText.ErrorChecking.ValidatorText.FirstName\r\n )\r\n .matches(\r\n phoneRegex,\r\n languageText.ErrorChecking.ValidatorText.PhoneNumberInvalid\r\n ),\r\n Rep_Phone_Conform: Yup.string()\r\n .required(\r\n () =>\r\n // formType.includes('Patient') && \r\n true &&\r\n languageText.ErrorChecking.ValidatorText.PhoneNumberConfirm\r\n )\r\n .oneOf([Yup.ref('RepPhone'), '555'], languageText.ErrorChecking.ValidatorText.PhoneNumberInvalid),\r\n RepEmail: Yup.string()\r\n .required(\r\n () =>\r\n true &&\r\n languageText.ErrorChecking.ValidatorText.Email\r\n\r\n )\r\n .email(\r\n languageText.ErrorChecking.ValidatorText.EmailInvalid\r\n )\r\n .max(\r\n 50,\r\n languageText.ErrorChecking.ValidatorText.EmailLong\r\n ),\r\n Rep_Email_Conform: Yup.string()\r\n .required(\r\n () =>\r\n // formType.includes('Patient') &&\r\n true &&\r\n languageText.ErrorChecking.ValidatorText.EmailConfirm\r\n )\r\n // .oneOf([Yup.ref('RepEmail'), null], 'Email addresses must match'),\r\n .test(\r\n 'email-match',\r\n languageText.ErrorChecking.ValidatorText.EmailMatch,\r\n function (value) {\r\n const { RepEmail } = this.parent; // Get the value of the RepEmail field\r\n if (!RepEmail || !value) {\r\n // If either field is empty, consider them a match\r\n return true;\r\n }\r\n // Compare lowercase versions of the email addresses\r\n return value.toLowerCase() === RepEmail.toLowerCase();\r\n }\r\n ),\r\n RepAddress1: Yup.string()\r\n .required(\r\n () =>\r\n // formType.includes('Representative') && \r\n true &&\r\n languageText.ErrorChecking.ValidatorText.MissingAddress\r\n )\r\n .max(\r\n 50,\r\n languageText.ErrorChecking.ValidatorText.AddressTooLong\r\n ),\r\n RepAddress2: Yup.string()\r\n\r\n .max(\r\n 50,\r\n languageText.ErrorChecking.ValidatorText.AddressTooLong\r\n ),\r\n RepCity: Yup.string()\r\n .required(\r\n () =>\r\n true &&\r\n languageText.ErrorChecking.ValidatorText.CityMissing\r\n\r\n )\r\n .max(\r\n 30,\r\n languageText.ErrorChecking.ValidatorText.CityLong\r\n\r\n ),\r\n RepState: Yup.string()\r\n .required(\r\n () => {\r\n // formType.includes('Patient') &&\r\n return (true &&\r\n languageText.ErrorChecking.ValidatorText.StateMissing)\r\n }\r\n ).matches(stateRegEx, languageText.ErrorChecking.ValidatorText.StateInvalid)\r\n .max(\r\n 2,\r\n languageText.ErrorChecking.ValidatorText.StateLong\r\n ),\r\n RepMName: Yup.string()\r\n .max(\r\n 1,\r\n languageText.ErrorChecking.ValidatorText.MILong\r\n ),\r\n rrelationship: Yup.string()\r\n .required(\r\n () =>\r\n true &&\r\n languageText.ErrorChecking.ValidatorText.RelationshipMissing\r\n ),\r\n\r\n \r\n\r\n RepZip: Yup.string()\r\n .required(\r\n () =>\r\n true &&\r\n languageText.ErrorChecking.ValidatorText.ZipMissing\r\n )\r\n .matches(\r\n zipRegex,\r\n languageText.ErrorChecking.ValidatorText.ZipInvalid\r\n )\r\n });\r\n }\r\n};\r\n\r\n\r\n\r\n","import * as Yup from \"yup\";\r\nimport {\r\n phoneRegex,\r\n zipRegex,\r\n dateCantBeInFuture,\r\n stateRegEx\r\n} from \"./validationFunctions\";\r\n\r\nexport const authorizationToReleaseValidations = (section,languageText) => {\r\n if (section.active) {\r\n return Yup.object().shape({ \r\n \r\n facilityList: Yup.array().min(1, languageText.ErrorChecking.ValidatorText.MinOnePhysician),\r\n\r\n discloseTo: Yup.string()\r\n .required(\r\n () =>\r\n true &&\r\n languageText.ErrorChecking.ValidatorText.MinOneParty\r\n ),\r\n\r\n\r\n RFName: Yup.string()\r\n .required(\r\n () =>\r\n true &&\r\n languageText.ErrorChecking.ValidatorText.FirstName\r\n\r\n ),\r\n RLName: Yup.string()\r\n .required(\r\n () =>\r\n true &&\r\n languageText.ErrorChecking.ValidatorText.LastName\r\n ),\r\n \r\n RPhone: Yup.string()\r\n .required(\r\n () =>\r\n true &&\r\n languageText.ErrorChecking.ValidatorText.PhoneNumber\r\n )\r\n .matches(\r\n phoneRegex,\r\n languageText.ErrorChecking.ValidatorText.PhoneNumberInvalid\r\n\r\n ),\r\n \r\n RFax: Yup.string()\r\n .matches(\r\n phoneRegex,\r\n languageText.ErrorChecking.ValidatorText.InvalidFax\r\n ),\r\n \r\n RAddress1: Yup.string()\r\n .required(\r\n () =>\r\n true &&\r\n languageText.ErrorChecking.ValidatorText.MissingAddress\r\n ),\r\n \r\n RCity: Yup.string().required(\r\n () =>\r\n true &&\r\n languageText.ErrorChecking.ValidatorText.CityMissing\r\n\r\n ),\r\n \r\n RState: Yup.string()\r\n .required(\r\n () =>\r\n true &&\r\n languageText.ErrorChecking.ValidatorText.StateMissing\r\n\r\n ).matches(stateRegEx, languageText.ErrorChecking.ValidatorText.StateInvalid)\r\n ,\r\n \r\n \r\n RZip: Yup.string()\r\n .required(\r\n () =>\r\n true &&\r\n languageText.ErrorChecking.ValidatorText.ZipMissing\r\n ).matches(\r\n zipRegex,\r\n languageText.ErrorChecking.ValidatorText.ZipMissing\r\n )\r\n \r\n \r\n });\r\n }\r\n};\r\n","import * as Yup from \"yup\";\r\nimport {\r\n dateCantBeInFuture,\r\n dateIsBefore\r\n} from \"./validationFunctions\";\r\n\r\nexport const discloseSensitiveInfoValidations = (section,languageText) => {\r\n // if (section.active) {\r\n return Yup.object().shape({\r\n \r\n sensitiveInfo: Yup.array()\r\n .required(\r\n () =>\r\n true &&\r\n languageText.ErrorChecking.ValidatorText.MissingRelease\r\n )\r\n\r\n\r\n });\r\n // }\r\n}\r\n","import * as Yup from \"yup\";\r\nimport {\r\n dateCantBeInFuture,\r\n dateIsBefore\r\n} from \"./validationFunctions\";\r\n\r\nexport const informationToReleaseValidations = (section,languageText )=> {\r\n if (section.active) {\r\n return Yup.object().shape({\r\n dosFrom1: Yup.date()\r\n .required(\r\n () =>\r\n section.fields.dosfrom.validations.required.value &&\r\n languageText.ErrorChecking.ValidatorText.MissingServiceStartDate\r\n ).nullable()\r\n .max(\r\n dateCantBeInFuture,\r\n languageText.ErrorChecking.ValidatorText.DateCantBeFuture\r\n )\r\n .test(\r\n \"dosfrom\",\r\n section.fields.dosfrom.validations.notFutureDate.message,\r\n function(date){\r\n var todaysDate = new Date();\r\n var enteredDate = new Date(date);\r\n return todaysDate > enteredDate;\r\n }\r\n ).test(\r\n \"afterBirthDate\",\r\n languageText.ErrorChecking.ValidatorText.StartDateAfterDob,\r\n function() {\r\n const { dosFrom1 } = this.parent;\r\n const { PDOB1 } = this.parent;\r\n console.log(this)\r\n if (dosFrom1 && PDOB1) {\r\n return dateIsBefore(PDOB1, dosFrom1);\r\n }\r\n }\r\n ),\r\n \r\n dosTo1: Yup.date()\r\n .required(\r\n () =>\r\n section.fields.dosto.validations.required.value &&\r\n languageText.ErrorChecking.ValidatorText.MissingServiceEndDate\r\n ).nullable()\r\n .max(\r\n dateCantBeInFuture,\r\n languageText.ErrorChecking.ValidatorText.DateCantBeFuture\r\n )\r\n .test(\r\n \"afterFromDate\",\r\n languageText.ErrorChecking.ValidatorText.EndDateNotBeforeStart,\r\n function(dosTo1) {\r\n const { dosFrom1 } = this.parent;\r\n if (dosFrom1 && dosTo1) {\r\n return dateIsBefore(dosFrom1, dosTo1);\r\n }\r\n }\r\n )\r\n .test(\r\n \"afterFromDate\",\r\n section.fields.dosto.validations.notFutureDate.message,\r\n function(date){\r\n var todaysDate = new Date();\r\n var enteredDate = new Date(date);\r\n return todaysDate > enteredDate;\r\n }\r\n ),\r\n \r\n infoToReleaseGroup: Yup.array()\r\n .required(\r\n () =>\r\n section.fields.infoToReleaseGroup.validations.required.value &&\r\n languageText.ErrorChecking.ValidatorText.MissingItemRelease\r\n ),\r\n \r\n infoToReleaseGroupOther: Yup.string()\r\n .test(\r\n \"infoToReleaseGroupOther\",\r\n section.fields.infoToReleaseGroupOther.validations.required.message,\r\n function(item) {\r\n \r\n const { infoToReleaseGroup } = this.parent;\r\n if(infoToReleaseGroup.includes(\"otherItem\"))\r\n return item && infoToReleaseGroup.includes(\"otherItem\");\r\n else return true;\r\n }\r\n )\r\n .max(\r\n section.fields.infoToReleaseGroupOther.validations.maxLength\r\n .value,\r\n section.fields.infoToReleaseGroupOther.validations.maxLength\r\n .message\r\n ),\r\n\r\n requestPurposePdf: Yup.string()\r\n .required(\r\n () =>\r\n section.fields.infoToReleaseGroup.validations.required.value &&\r\n languageText.ErrorChecking.ValidatorText.MissingPurposeDisclosure\r\n ),\r\n });\r\n }\r\n}\r\n","import * as Yup from \"yup\";\r\n\r\n\r\nexport const deliveryMethodValidations = (section,languageText) => {\r\n \r\n if (section.active) {\r\n return Yup.object().shape({\r\n // deliveryMethodGroup: Yup.array()\r\n releasemodePdf: Yup.string()\r\n .required(\r\n () =>\r\n true &&\r\n languageText.ErrorChecking.ValidatorText.MissingDelivery\r\n ),\r\n })\r\n }\r\n }\r\n","import * as Yup from \"yup\";\r\n\r\nexport const purposeOfDisclosureValidations = section => {\r\n if (section.active) {\r\n return Yup.object().shape({\r\n disclosurePurposeGroup: Yup.string().required(\r\n () =>\r\n section.fields.disclosurePurposeGroup.validations.required.value &&\r\n section.fields.disclosurePurposeGroup.validations.required.message\r\n ),\r\n disclosurePurposeGroupOther: Yup.string()\r\n .when(\"disclosurePurposeGroup\", {\r\n is: val => val === \"other\",\r\n then: Yup.string().required(\r\n section.fields.disclosurePurposeGroupOther.validations.required\r\n .message\r\n )\r\n })\r\n .max(\r\n section.fields.disclosurePurposeGroupOther.validations.maxLength\r\n .value,\r\n section.fields.disclosurePurposeGroupOther.validations.maxLength\r\n .message\r\n )\r\n });\r\n }\r\n};\r\n","import * as Yup from \"yup\";\r\n\r\nexport const supportingDocsValidations = (section, formType, dbFormSpec, languageText) => {\r\n if (section.active) {\r\n return Yup.object().shape({\r\n supportingDoc: Yup.array()\r\n .required(\r\n () => {\r\n if (dbFormSpec.idVerification.numOfDocsExpected === 0) {\r\n return false;\r\n }\r\n else if (formType.includes('Patient')) {\r\n return `${languageText.ErrorChecking.ValidatorText.PleaseUpload}`;\r\n }\r\n else {\r\n return `${languageText.ErrorChecking.ValidatorText.PleaseAlsoUpload}`;\r\n }\r\n }\r\n )\r\n .test(\r\n 'file-limit',\r\n section.fields.supportingDoc.validations.fileLimit.message,\r\n function checkIfFilesAreCorrectType(files) {\r\n\r\n if (files) {\r\n return files.length <= 2;\r\n }\r\n return true;\r\n }\r\n )\r\n .test(\r\n 'file-minimum',\r\n section.fields.supportingDoc.validations.fileMinimum.message,\r\n function checkIfFilesAreCorrectType(files) {\r\n\r\n if (files && dbFormSpec.idVerification.numOfDocsExpected === 2 && formType.includes('Patient')) {\r\n return files.length > 1;\r\n }\r\n return true;\r\n }\r\n )\r\n .test(\r\n 'is-file-big',\r\n `${languageText.ErrorChecking.ValidatorText.IsFileBig}`,\r\n function checkIfFilesAreCorrectSize(files) {\r\n let valid = true\r\n if (files) {\r\n files.map(file => {\r\n if (file.size > 1.5e+7) {\r\n valid = false\r\n }\r\n })\r\n }\r\n return valid\r\n }\r\n )\r\n });\r\n }\r\n};","import * as Yup from \"yup\";\r\nimport { dateIsBefore } from \"./validationFunctions\";\r\n\r\n// NOTE; use formLevelValidations for validations that cross\r\n// section boundaries and all included sections have an active status\r\n// e.g. Information to Release 'From Date' must be after Patient Information 'Birth Date'\r\n\r\nexport const formLevelValidations = form => {\r\n const { patientInformationSection, informationToReleaseSection } = form.sections;\r\n\r\n // Information to Release 'From Date' must be after Patient Information 'Birth Date'\r\n // if (patientInformationSection.active && informationToReleaseSection.active) {\r\n // return Yup.object().shape({\r\n // dosfrom: Yup.date().test(\r\n // \"dateIsAfter\",\r\n // form.validations.releaseStartAfterDateOfBirth.message,\r\n // function(releaseDate) {\r\n // const otherDate = this.parent[\r\n // form.validations.releaseStartAfterDateOfBirth.ref\r\n // ];\r\n // if (releaseDate && otherDate) {\r\n // return dateIsBefore(otherDate, releaseDate);\r\n // }\r\n // }\r\n // )\r\n // });\r\n // }\r\n};\r\n","import * as Yup from \"yup\";\r\n\r\nexport const caseNumberValidations = section => {\r\n// const fields = section.fields;\r\nif(section.active){\r\n return Yup.object().shape({\r\n caseNumber: Yup.string()\r\n .max(\r\n section.validations.maxLength.value,\r\n section.validations.maxLength.message\r\n )\r\n .required(\r\n () =>\r\n section.validations.required\r\n .value &&\r\n section.validations.required\r\n .message\r\n )\r\n });\r\n}\r\n}","import * as Yup from \"yup\";\r\n\r\nexport const additionalInfoValidations = section => {\r\n if(section.active){\r\n return Yup.object().shape( { \r\n \r\n repDesc: Yup.string()\r\n .max(\r\n section.fields.repDesc.validations.maxLength.value,\r\n section.fields.repDesc.validations.maxLength.message\r\n )\r\n \r\n \r\n })}\r\n}","import * as moment from 'moment';\r\nimport { INITIALIZE } from './actionTypes';\r\nimport { allValidations } from '../../formik/validations';\r\nimport { allValidationsMultilanguage } from '../../formik/validations_multilanguage';\r\nimport { CheckLanguage } from '../../UI/languages/languages';\r\nimport { GetLanguageText } from '../../UI/languages/languages';\r\n\r\nexport const initializeFormAction = (session, responseData, validationValues, dbFormSpec, formId, formType) => {\r\n\r\n /* \r\n NOTE; \r\n the fields defined here must match the the fields in each section \r\n in the configuration file and persisted user state. the initialization\r\n process configures the initial values for the Formik library \r\n\r\n if a section is active the fields are spread to the fields object\r\n if there is persisted user state it is spread to the fields object\r\n */\r\n\r\n let fields = {};\r\n const orgId = dbFormSpec.facility.orgId\r\n const triPartiteOrg = orgId.includes('7042') || orgId.includes ('7101') || orgId.includes('7239')\r\n\r\n // PATIENT INFORMATION SECTION\r\n\r\n const patientInfoFields = formType === 'Patient' ?\r\n { PFName: \"\", PMName: \"\", PLName: \"\", PDOB: \"\", PDOB1: \"\", PEmail: \"\", PPhone: \"\", Patient_Email_Conform: \"\", Patient_Phone_Conform: \"\", PAddress1: \"\", PAddress2: \"\", PCity: \"\", PState: \"\", PZip: \"\", }\r\n :\r\n { PFName: \"\", PMName: \"\", PLName: \"\", PDOB: \"\", PDOB1: \"\", PEmail: \"\", PPhone: \"\", RepAddress1: \"\", RepAddress2: \"\", RepCity: \"\", RepEmail: \"\", RepFName: \"\", RepLName: \"\", RepMName: \"\", RepPhone: \"\", RepState: \"\", RepZip: \"\", Rep_Email_Conform: \"\", Rep_Phone_Conform: \"\", rrelationship: \"\" }\r\n\r\n // AUTHORIZATION TO RELEASE SECTION\r\n\r\n const authorizationToReleaseFields = {\r\n RName: \"\",\r\n RFName: \"\",\r\n RLName: \"\",\r\n RPhone: \"\",\r\n // RFax: \"\",\r\n RAddress1: \"\",\r\n RAddress2: \"\",\r\n RCity: \"\",\r\n RState: \"\",\r\n RZip: \"\",\r\n discloseTo: \"\",\r\n REmail: \"\",\r\n facilityList: [],\r\n inputAuthorizePhysicianOffices: \"\",\r\n inputDisclosePhysicians: \"\",\r\n inputPhysicianNames: \"not_applicable\",\r\n facilityOrPhysician: \"\",\r\n // Facility: \"1006952||NCH Healthcare System\",\r\n Facility: dbFormSpec.facility.orgId,\r\n disclosewhat: 1,\r\n Proxy: formType.includes('Patient') ? false : true,\r\n // Facility needs to come from the DB\r\n };\r\n\r\n // INFORMATION TO RELEASE SECTION\r\n\r\n const informationToReleaseFields = {\r\n infoToReleaseGroup: [],\r\n txtotherrecords: \"\", dosto: \"\", dosfrom: \"\", dosTo1: \"\", dosFrom1: \"\", requestPurposePdf: '', RequestPurpose: 33\r\n };\r\n\r\n // SENSITIVE INFORMATION SECTION\r\n\r\n const sensitiveInfoFields = {\r\n sensitiveInfo: ['psy', 'drug', 'HIV', 'STD', 'genetics'],\r\n // excludepsy: [], excludeSTD: \"\", excludeHIV: \"\", excludedrug: \"\", excludegenetics: \"\",\r\n };\r\n\r\n // DELIVERY METHODS SECTION\r\n\r\n const deliveryMethodFields = {\r\n // deliveryMethodGroup: [], \r\n releasemodePdf: \"\"\r\n };\r\n\r\n // TODO; these dates should come from the API\r\n\r\n // RELEASE DATES SECTION\r\n\r\n const releaseDatesFields = {\r\n // todaysDate: moment().format(\"MM/DD/YYYY\"), \r\n RequestDate: moment().format(\"MM/DD/YYYY\"),\r\n // ArrivedDate: moment().format(\"MM/DD/YYYY\"),\r\n // signdate: moment().format(\"MM/DD/YYYY\"),\r\n expirationdate: moment().add(triPartiteOrg ? 365 : 180, 'days').format(\"MM/DD/YYYY\"),\r\n };\r\n\r\n // ADDITIONAL INFO SECTION\r\n\r\n const additionalInfoSection = validationValues.page.form.sections.additionalInfoSection;\r\n const additionalInfoFields = {\r\n\r\n // c: responseData.sessionId,\r\n // RequestDate: new Date(responseData.timeCreated).toLocaleDateString(),\r\n // ArrivedDate: new Date(responseData.timeCreated).toLocaleDateString(),\r\n signdate: new Date().toLocaleDateString(),\r\n // typeofrequestorid: 5007,\r\n // expirationdate: new Date(responseData.expirationTime).toLocaleDateString(),\r\n\r\n // requesttype: \"I am a patient requesting my medical records\",\r\n // requesttypeid: \"3006\",\r\n // RequestTypeID: \"3006\",\r\n // TypeOfRequestorID: \"5007\",\r\n OtherNote: null,\r\n // MedicalAuthNoteResponse: \"off\",\r\n // MedicalAuthNote: \"\",\r\n // signtime: \"\",\r\n // FormName: \"Request\",\r\n // DupChecked: \"0\",\r\n // proxy: \"False\",\r\n // TargetOrganizationID: \"\",\r\n // sign: \"True\",\r\n // summary: \"False\",\r\n // verifierStaffName: \"\",\r\n // \"disclosewhat\": 1,\r\n\r\n // Facility: \"1006952 || NCH Healthcare System\",\r\n // PickupCDFacility: \"1006952 || NCH Healthcare System\",\r\n // PickupPrintFacility: \"1006952 || NCH Healthcare System\",\r\n // OrgState: \"FL\"\r\n c: responseData.sessionId,\r\n formId: responseData.formId\r\n }\r\n\r\n // SUPPORTING DOCS SECTION\r\n\r\n const supportingDocSec = validationValues.page.form.sections.supportingDocsSection;\r\n const supportingDocsFields = {\r\n supportingDoc: []\r\n }\r\n\r\n // const supportingdocFields = { supportingDoc: [] }\r\n\r\n // fields = {...fields, ...supportingdocFields}\r\n\r\n fields = { ...fields, ...patientInfoFields };\r\n fields = { ...fields, ...authorizationToReleaseFields };\r\n fields = { ...fields, ...informationToReleaseFields };\r\n fields = { ...fields, ...sensitiveInfoFields };\r\n fields = { ...fields, ...deliveryMethodFields };\r\n fields = { ...fields, ...releaseDatesFields };\r\n fields = { ...fields, ...additionalInfoFields };\r\n fields = { ...fields, ...supportingDocsFields };\r\n\r\n let validationSchema;\r\n let languageID = CheckLanguage(dbFormSpec);\r\n if (languageID != \"default\") {\r\n const languageText = GetLanguageText(languageID);\r\n validationSchema = allValidationsMultilanguage(validationValues, fields, formType, dbFormSpec,languageText);\r\n }\r\n else { \r\n validationSchema = allValidations(validationValues, fields, formType, dbFormSpec);\r\n }\r\n\r\n\r\n\r\n // const trueFormSpec = JSON.parse(responseData.formSpecs)\r\n\r\n return {\r\n type: INITIALIZE,\r\n payload: { session, fields, validationValues, validationSchema, dbFormSpec, formId, formType }\r\n }\r\n}","export const INITIALIZE = \"INITIALIZE\";\r\nexport const SHOW_ERROR_MODAL = \"SHOW_ERROR_MODAL\";\r\nexport const HIDE_ERROR_MODAL = \"HIDE_ERROR_MODAL\";\r\n\r\n\r\n","export const localFormSpec = {\r\n \"context\": {\r\n \"organization\": \"1000008\",\r\n \"configuration\": \"1\"\r\n },\r\n \"page\": {\r\n \"locale\": \"en-us\",\r\n \"title\": \"Request for Medical Records\",\r\n \"form\": {\r\n \"logo\": {\r\n \"src\": \"no-logo.png\",\r\n \"alt\": \"Your Logo Goes Here\",\r\n \"position\": \"center\"\r\n },\r\n \"styles\": {\r\n \"externalStyles\": [],\r\n \"logos\": {\r\n \"captcha\": {\r\n \"height\": \"auto\",\r\n \"width\": 172\r\n },\r\n \"form\": {\r\n \"height\": \"auto\",\r\n \"width\": 172\r\n },\r\n \"summary\": {\r\n \"height\": \"auto\",\r\n \"width\": 172\r\n },\r\n \"confirmation\": {\r\n \"height\": \"auto\",\r\n \"width\": 172\r\n }\r\n },\r\n \"heading\": {\r\n \"fontFamily\": \"Arial, system-ui, -apple-system, 'Segoe UI', Roboto, 'Helvetica Neue', Arial, 'Noto Sans', sans-serif\",\r\n // \"fontSize\": \"1.637em\",\r\n \"textAlign\": \"center\",\r\n \"fontWeight\": 700,\r\n \"color\": \"#325570\",\r\n \"letterSpacing\": \"-.5px\"\r\n },\r\n \"section\": {\r\n \"fontFamily\": \"Arial, system-ui, -apple-system, Roboto, 'Helvetica Neue', Arial, 'Noto Sans', sans-serif\",\r\n \"fontSize\": \"1.637em\",\r\n \"fontWeight\": 700,\r\n \"color\": \"#325570\",\r\n \"letterSpacing\": \"-0.5px\",\r\n \"borderColor\": \"#c6c5c670\"\r\n },\r\n \"paragraph\": {\r\n \"fontFamily\": \"arial, system-ui, -apple-system, 'Segoe UI', Roboto, 'Helvetica Neue', Arial, 'Noto Sans', sans-serif\",\r\n \"color\": \"black\"\r\n },\r\n \"disclaimer\": {\r\n \"fontFamily\": \"system-ui, -apple-system, 'Segoe UI', Roboto, 'Helvetica Neue', Arial, 'Noto Sans', sans-serif\",\r\n \"color\": \"black\",\r\n \"fontSize\": \"1em\",\r\n \"paddingBottom\": \"20px\",\r\n \"fontWeight\": \"400\"\r\n },\r\n \"label\": {\r\n \"fontFamily\": \"system-ui, -apple-system, 'Segoe UI', Roboto, 'Helvetica Neue', Arial, 'Noto Sans', sans-serif\",\r\n \"color\": \"black\",\r\n \"marginBottom\": \"0.2em\",\r\n \"fontSize\": \"1em\",\r\n \"fontWeight\": \"bold\"\r\n },\r\n \"hint\": {\r\n \"fontFamily\": \"Arial, system-ui, -apple-system, 'Segoe UI', Roboto, 'Helvetica Neue', Arial, 'Noto Sans', sans-serif\",\r\n \"fontSize\": \"1em\",\r\n \"fontWeight\": 400\r\n },\r\n \"list\": {\r\n \"fontFamily\": \"system-ui, -apple-system, Arial, 'Segoe UI', Roboto, 'Helvetica Neue', 'Noto Sans', sans-serif\",\r\n \"color\": \"black\",\r\n \"fontSize\": \"1em\",\r\n \"fontWeight\": \"400\"\r\n },\r\n \"subList\": {\r\n \"fontFamily\": \"Arial, system-ui, -apple-system, 'Segoe UI', Roboto, 'Helvetica Neue', 'Noto Sans', sans-serif\",\r\n \"color\": \"black\",\r\n \"fontSize\": \"1em\",\r\n \"fontWeight\": \"400\"\r\n },\r\n \"error\": {\r\n \"field\": \"\",\r\n \"text\": \"\",\r\n \"visual\": \"\"\r\n },\r\n \"buttons\": {\r\n \"act\": {\r\n \"backgroundColor\": \"#325570\",\r\n \"color\": \"white\",\r\n \"fontFamily\": \"Arial, system-ui, -apple-system, Arial, 'Segoe UI', Roboto, 'Helvetica Neue', 'Noto Sans', sans-serif\",\r\n \"fontSize\": \"1em\",\r\n \"fontWeight\": \"700\",\r\n \"textTransform\": \"uppercase\"\r\n },\r\n \"cancel\": {\r\n \"backgroundColor\": \"white\",\r\n \"color\": \"#325570\",\r\n \"fontFamily\": \"Arial, system-ui, -apple-system, Arial, 'Segoe UI', Roboto, 'Helvetica Neue', 'Noto Sans', sans-serif\",\r\n \"fontSize\": \"1em\",\r\n \"fontWeight\": \"700\",\r\n \"textTransform\": \"uppercase\"\r\n }\r\n },\r\n \"validationModal\": {\r\n \"heading\": {\r\n \"color\": \"white\",\r\n \"backgroundColor\": \"red\",\r\n \"padding\": 10,\r\n \"fontWeight\": \"bold\",\r\n \"fontSize\": \"1.5em\"\r\n },\r\n \"topMessage\": {\r\n \"fontWeight\": \"bold\",\r\n \"fontSize\": \"1em\"\r\n },\r\n \"sectionName\": {\r\n \"fontSize\": \"1em\",\r\n \"marginTop\": \"1em\",\r\n \"marginBottom\": \"1em\",\r\n \"borderBottom\": \"1px solid silver\"\r\n },\r\n \"message\": {\r\n \"paddingLeft\": 5\r\n },\r\n \"bottomMessage\": {\r\n \"marginTop\": 20,\r\n \"fontSize\": \"1em\",\r\n \"fontStyle\": \"italic\"\r\n },\r\n \"okButton\": {\r\n \"backgroundColor\": \"green\"\r\n }\r\n }\r\n },\r\n \"heading\": {\r\n \"text\": \"Request for Release of Medical Information!!\"\r\n },\r\n \"components\": {\r\n \"captcha\": {\r\n \"header\": {\r\n \"text\": \"To ensure safe and proper release of medical records, please complete the security check below.\",\r\n \"styles\": {\r\n \"fontFamily\": \"Arial, system-ui, -apple-system, Roboto, 'Helvetica Neue', Arial, 'Noto Sans', sans-serif\",\r\n \"fontSize\": \"27px\",\r\n \"fontWeight\": 700,\r\n \"color\": \"#919296\",\r\n \"letterSpacing\": \"-0.5px\"\r\n }\r\n },\r\n \"instruction\": \"Type the letters that appear in the image below\",\r\n \"textBoxHint\": \"Enter text here\",\r\n \"buttonText\": \"Submit\"\r\n },\r\n \"submitButton\": {\r\n \"text\": \"Review Request\"\r\n },\r\n \"validationModal\": {\r\n \"headingText\": \"Validation Errors\",\r\n \"topMessageText\": \"Please correct the following errors: \",\r\n \"okButtonText\": \"Ok\",\r\n \"messageTextPrefix\": \"-\",\r\n \"bottomMessageText\": \"Please click Ok and then review and submit again after fixing the errors.\"\r\n },\r\n \"summaryModal\": {\r\n \"detailSummaryLabel\": \"Request Details\",\r\n \"reppedPartyLabel\": \"Represented Party\",\r\n \"header\": {\r\n \"text\": \"Request Summary\",\r\n \"styles\": {\r\n \"fontFamily\": \"Arial, system-ui, -apple-system, 'Segoe UI', Roboto, 'Helvetica Neue', 'Noto Sans', sans-serif\",\r\n \"fontSize\": \"2em\",\r\n \"fontWeight\": 700,\r\n \"letterSpacing\": \"-0.6px\",\r\n \"color\": \"#325570\"\r\n }\r\n },\r\n \"section\": {\r\n \"styles\": {\r\n \"fontFamily\": \"Arial, system-ui, -apple-system, 'Segoe UI', Roboto, 'Helvetica Neue', 'Noto Sans', sans-serif\",\r\n \"fontSize\": \"1.25em\",\r\n \"fontWeight\": 700,\r\n \"letterSpacing\": \"-0.6px\",\r\n \"lineHeight\": \"23px\",\r\n \"borderColor\": \"#325570\"\r\n }\r\n },\r\n \"label\": {\r\n \"styles\": {\r\n \"fontFamily\": \"Arial, system-ui, -apple-system, 'Segoe UI', Roboto, 'Helvetica Neue', 'Noto Sans', sans-serif\",\r\n \"fontSize\": \"0.875em\",\r\n \"fontWeight\": 700,\r\n \"textTransform\": \"uppercase\"\r\n }\r\n },\r\n \"value\": {\r\n \"styles\": {\r\n \"fontFamily\": \"Arial, system-ui, -apple-system, 'Segoe UI', Roboto, 'Helvetica Neue', 'Noto Sans', sans-serif\",\r\n \"fontSize\": \"1em\",\r\n \"fontWeight\": 400\r\n }\r\n },\r\n \"disclaimer\": {\r\n \"text\": \"By submitting this form, you agree to receive the requested records electronically at the email address you provided. This is the only method of delivery available at this time.\",\r\n \"styles\": {\r\n \"fontFamily\": \"Arial\",\r\n \"color\": \"black\",\r\n \"fontSize\": 16,\r\n \"fontWeight\": 700,\r\n \"marginTop\": \"0px\",\r\n \"logo\": {\r\n \"height\": \"28.06px\",\r\n \"width\": \"97px\"\r\n }\r\n }\r\n },\r\n \"buttons\": {\r\n \"submitLabel\": \"Submit\",\r\n \"goBackLabel\": \"Go Back\"\r\n },\r\n \"styles\": {\r\n \"logo\": {\r\n \"width\": \"97px\",\r\n \"height\": \"auto\"\r\n },\r\n \"color\": \"white\",\r\n \"backgroundColor\": \"#F0F0F0\",\r\n \"padding\": 10,\r\n \"fontWeight\": \"bold\",\r\n \"fontSize\": \"1.2em\"\r\n }\r\n },\r\n \"selectorMatch\": {\r\n \"title\": \"Previous Matching Entries\",\r\n \"header\": {\r\n \"styles\": {\r\n \"fontFamily\": \"Arial, system-ui, -apple-system, 'Segoe UI', Roboto, 'Helvetica Neue', 'Noto Sans', sans-serif\",\r\n \"fontSize\": \"32px\",\r\n \"fontWeight\": 700\r\n }\r\n },\r\n \"fields\": {\r\n \"text\": {\r\n \"styles\": {\r\n \"fontFamily\": \"Arial, system-ui, -apple-system, 'Segoe UI', Roboto, 'Helvetica Neue', 'Noto Sans', sans-serif\",\r\n \"fontSize\": \"1em\",\r\n \"fontWeight\": 400\r\n }\r\n },\r\n \"canvas\": {\r\n \"passive\": {\r\n \"backgroundColor\": \"white\",\r\n \"color\": \"black\"\r\n },\r\n \"active\": {\r\n \"backgroundColor\": \"#325570\",\r\n \"color\": \"white\"\r\n }\r\n }\r\n },\r\n \"cancelButton\": {\r\n \"text\": \"Close\"\r\n },\r\n \"submitButton\": {\r\n \"text\": \"Select\"\r\n }\r\n }\r\n },\r\n \"sections\": {\r\n \"repContactInfoSection\": {\r\n \"active\": true,\r\n \"title\": \"Patient Info\",\r\n \"disclaimer\": \"\",\r\n \"fields\": {\r\n \"caseNumber\": {\r\n \"type\": \"TextBox\",\r\n \"label\": \"Case Number\",\r\n \"hint\": \"Enter your case number or file number. You can reference this request by this number later.\",\r\n \"tooltip\": \"\",\r\n \"active\": true,\r\n \"otherNames\": {\r\n \"pdf\": \"\",\r\n \"vrm\": \"\"\r\n },\r\n \"validations\": {\r\n \"required\": {\r\n \"value\": false,\r\n \"message\": \"\"\r\n },\r\n \"maxLength\": {\r\n \"value\": 30,\r\n \"message\": \"No more than 30 characters please\"\r\n }\r\n }\r\n },\r\n \"repRole\": {\r\n \"type\": \"RadioBox\",\r\n \"label\": \"What party do you represent?\",\r\n \"entries\": [\r\n {\r\n \"value\": \"1\",\r\n \"label\": \"Plaintiff\",\r\n \"tooltip\": \"\"\r\n },\r\n {\r\n \"value\": \"2\",\r\n \"label\": \"Defendant\",\r\n \"tooltip\": \"\"\r\n }\r\n ],\r\n \"validations\": {\r\n \"required\": {\r\n \"value\": true,\r\n \"message\": \"Please select who you are representing\"\r\n }\r\n }\r\n },\r\n \"discloseToOrgName\": {\r\n \"type\": \"TextBox\",\r\n \"label\": \"Organization Name\",\r\n \"hint\": \"Name of your organization or firm\",\r\n \"tooltip\": \"\",\r\n \"active\": true,\r\n \"otherNames\": {\r\n \"pdf\": \"\",\r\n \"vrm\": \"\"\r\n },\r\n \"validations\": {\r\n \"maxLength\": {\r\n \"value\": 100,\r\n \"message\": \"Maximum 100 characters are allowed\"\r\n },\r\n \"required\": {\r\n \"value\": true,\r\n \"message\": \"Please enter your firm's name\"\r\n }\r\n }\r\n },\r\n \"PMName\": {\r\n \"type\": \"TextBox\",\r\n \"label\": \"MI\",\r\n \"hint\": \"MI\",\r\n \"tooltip\": \"\",\r\n \"active\": true,\r\n \"otherNames\": {\r\n \"pdf\": \"\",\r\n \"vrm\": \"\"\r\n },\r\n \"validations\": {\r\n \"maxLength\": {\r\n \"value\": 1,\r\n \"message\": \"Maximum 1 character is allowed\"\r\n }\r\n }\r\n },\r\n \"PFName\": {\r\n \"type\": \"TextBox\",\r\n \"label\": \"First Name\",\r\n \"hint\": \"Your first name\",\r\n \"tooltip\": \"\",\r\n \"active\": true,\r\n \"otherNames\": {\r\n \"pdf\": \"\",\r\n \"vrm\": \"\"\r\n },\r\n \"validations\": {\r\n \"required\": {\r\n \"value\": true,\r\n \"message\": \"Your first name is required\"\r\n },\r\n \"maxLength\": {\r\n \"value\": 30,\r\n \"message\": \"Maximum 30 characters are allowed\"\r\n }\r\n }\r\n },\r\n \"PLName\": {\r\n \"type\": \"TextBox\",\r\n \"label\": \"Last Name\",\r\n \"hint\": \"Your last name\",\r\n \"tooltip\": \"\",\r\n \"active\": true,\r\n \"otherNames\": {\r\n \"pdf\": \"\",\r\n \"vrm\": \"\"\r\n },\r\n \"validations\": {\r\n \"required\": {\r\n \"value\": true,\r\n \"message\": \"Last name is required\"\r\n },\r\n \"maxLength\": {\r\n \"value\": 30,\r\n \"message\": \"Maximum 30 characters are allowed\"\r\n }\r\n }\r\n },\r\n \"PDOB\": {\r\n hint: 'mm/dd/yyyy'\r\n },\r\n \"PPhone\": {\r\n \"type\": \"TextBox\",\r\n \"label\": \"Phone\",\r\n \"hint\": \"123-456-7890x1234\",\r\n \"tooltip\": \"\",\r\n \"active\": true,\r\n \"otherNames\": {\r\n \"pdf\": \"\",\r\n \"vrm\": \"\"\r\n },\r\n \"validations\": {\r\n \"required\": {\r\n \"value\": true,\r\n \"message\": \"A contact phone is required\"\r\n },\r\n \"validPhone\": {\r\n \"message\": \"Phone number is not valid\"\r\n },\r\n \"maxLength\": {\r\n \"value\": 17,\r\n \"message\": \"Maximum 17 characters are allowed\"\r\n }\r\n }\r\n },\r\n \"Patient_Phone_Conform\":{\r\n \"type\": \"TextBox\",\r\n \"label\": \"Phone\",\r\n \"hint\": \"123-456-7890x1234\",\r\n \"tooltip\": \"\",\r\n \"active\": true,\r\n \"otherNames\": {\r\n \"pdf\": \"\",\r\n \"vrm\": \"\"\r\n },\r\n \"validations\": {\r\n \"required\": {\r\n \"value\": true,\r\n \"message\": \"A contact phone is required\"\r\n },\r\n \"validPhone\": {\r\n \"message\": \"Phone number is not valid\"\r\n },\r\n \"maxLength\": {\r\n \"value\": 17,\r\n \"message\": \"Maximum 17 characters are allowed\"\r\n }\r\n }\r\n },\r\n \"PFax\": {\r\n \"type\": \"TextBox\",\r\n \"label\": \"Fax\",\r\n \"hint\": \"123-456-7890\",\r\n \"tooltip\": \"\",\r\n \"active\": true,\r\n \"otherNames\": {\r\n \"pdf\": \"\",\r\n \"vrm\": \"\"\r\n },\r\n \"validations\": {\r\n \"required\": {\r\n \"value\": true,\r\n \"message\": \"A contact fax is required\"\r\n },\r\n \"validFax\": {\r\n \"message\": \"Fax number is not valid\"\r\n },\r\n \"maxLength\": {\r\n \"value\": 20,\r\n \"message\": \"Maximum 12 characters are allowed\"\r\n }\r\n }\r\n },\r\n \"PEmail\": {\r\n \"type\": \"TextBox\",\r\n \"label\": \"Email\",\r\n \"hint\": \"hello@world.com\",\r\n \"tooltip\": \"\",\r\n \"active\": true,\r\n \"otherNames\": {\r\n \"pdf\": \"\",\r\n \"vrm\": \"\"\r\n },\r\n \"validations\": {\r\n \"required\": {\r\n \"value\": true,\r\n \"message\": \"Email is required\"\r\n },\r\n \"validEmail\": {\r\n \"message\": \"Email is not valid\"\r\n },\r\n \"maxLength\": {\r\n \"value\": 50,\r\n \"message\": \"Maximum 50 characters are allowed\"\r\n }\r\n }\r\n },\r\n \"Patient_Email_Conform\": {\r\n \"type\": \"TextBox\",\r\n \"label\": \"Email\",\r\n \"hint\": \"hello@world.com\",\r\n \"tooltip\": \"\",\r\n \"active\": true,\r\n \"otherNames\": {\r\n \"pdf\": \"\",\r\n \"vrm\": \"\"\r\n },\r\n \"validations\": {\r\n \"required\": {\r\n \"value\": true,\r\n \"message\": \"Email is required\"\r\n },\r\n \"validEmail\": {\r\n \"message\": \"Email is not valid\"\r\n },\r\n \"maxLength\": {\r\n \"value\": 50,\r\n \"message\": \"Maximum 50 characters are allowed\"\r\n }\r\n }\r\n },\r\n \"PAddress1\": {\r\n \"type\": \"TextBox\",\r\n \"label\": \"Organization Mailing Address\",\r\n \"hint\": \"Building Number & Street Address\",\r\n \"tooltip\": \"\",\r\n \"active\": true,\r\n \"otherNames\": {\r\n \"pdf\": \"\",\r\n \"vrm\": \"\"\r\n },\r\n \"validations\": {\r\n \"required\": {\r\n \"value\": true,\r\n \"message\": \"Address is required\"\r\n },\r\n \"maxLength\": {\r\n \"value\": 50,\r\n \"message\": \"Maximum 50 characters are allowed\"\r\n }\r\n }\r\n },\r\n \"PAddress2\": {\r\n \"type\": \"TextBox\",\r\n \"label\": \"\",\r\n \"hint\": \"Suite Number, if applicable\",\r\n \"tooltip\": \"\",\r\n \"active\": true,\r\n \"otherNames\": {\r\n \"pdf\": \"\",\r\n \"vrm\": \"\"\r\n },\r\n \"validations\": {\r\n \"required\": {\r\n \"value\": false,\r\n \"message\": \"Address is required\"\r\n },\r\n \"maxLength\": {\r\n \"value\": 50,\r\n \"message\": \"Maximum 50 characters are allowed\"\r\n }\r\n }\r\n },\r\n \"PCity\": {\r\n \"type\": \"TextBox\",\r\n \"label\": \"\",\r\n \"hint\": \"City\",\r\n \"tooltip\": \"\",\r\n \"active\": true,\r\n \"otherNames\": {\r\n \"pdf\": \"\",\r\n \"vrm\": \"\"\r\n },\r\n \"validations\": {\r\n \"required\": {\r\n \"value\": true,\r\n \"message\": \"City is required\"\r\n },\r\n \"maxLength\": {\r\n \"value\": 30,\r\n \"message\": \"Maximum 30 characters are allowed\"\r\n }\r\n }\r\n },\r\n \"PState\": {\r\n \"type\": \"TextBox\",\r\n \"label\": \"\",\r\n \"hint\": \"State\",\r\n \"tooltip\": \"\",\r\n \"active\": true,\r\n \"otherNames\": {\r\n \"pdf\": \"\",\r\n \"vrm\": \"\"\r\n },\r\n \"validations\": {\r\n \"required\": {\r\n \"value\": true,\r\n \"message\": \"State is required\"\r\n },\r\n \"maxLength\": {\r\n \"value\": 2,\r\n \"message\": \"Maximum 2 characters are allowed\"\r\n }\r\n }\r\n },\r\n \"PZip\": {\r\n \"type\": \"TextBox\",\r\n \"label\": \"\",\r\n \"hint\": \"Zip Code\",\r\n \"tooltip\": \"\",\r\n \"active\": true,\r\n \"otherNames\": {\r\n \"pdf\": \"\",\r\n \"vrm\": \"\"\r\n },\r\n \"validations\": {\r\n \"required\": {\r\n \"value\": true,\r\n \"message\": \"Zip code is required\"\r\n },\r\n \"maxLength\": {\r\n \"value\": 10,\r\n \"message\": \"Maximum 10 characters are allowed\"\r\n },\r\n \"validZipcode\": {\r\n \"message\": \"Zip code is not valid\"\r\n }\r\n }\r\n }\r\n }\r\n },\r\n \"patientInformationSection\": {\r\n \"active\": true,\r\n \"title\": \"Patient Information\",\r\n \"fields\": {\r\n // \"patientInfoFirstName\": {\r\n // \"type\": \"TextBox\",\r\n // \"label\": \"First Name\",\r\n // \"hint\": \"Patient's First Name\",\r\n // \"tooltip\": \"\",\r\n // \"active\": true,\r\n // \"otherNames\": {\r\n // \"pdf\": \"\",\r\n // \"vrm\": \"\"\r\n // },\r\n // \"validations\": {\r\n // \"required\": {\r\n // \"value\": true,\r\n // \"message\": \"Patient's first name is required\"\r\n // },\r\n // \"maxLength\": {\r\n // \"value\": 40,\r\n // \"message\": \"Maximum 40 characters are allowed\"\r\n // }\r\n // }\r\n // },\r\n // \"patientInfoMiddleInitial\": {\r\n // \"type\": \"TextBox\",\r\n // \"label\": \"MI\",\r\n // \"hint\": \"MI\",\r\n // \"tooltip\": \"\",\r\n // \"active\": true,\r\n // \"otherNames\": {\r\n // \"pdf\": \"\",\r\n // \"vrm\": \"\"\r\n // },\r\n // \"validations\": {\r\n // \"required\": {\r\n // \"value\": false\r\n // },\r\n // \"maxLength\": {\r\n // \"value\": 1,\r\n // \"message\": \"Only 1 character is allowed\"\r\n // }\r\n // }\r\n // },\r\n // \"patientInfoLastName\": {\r\n // \"type\": \"TextBox\",\r\n // \"label\": \"Last Name\",\r\n // \"hint\": \"Patient's last name\",\r\n // \"tooltip\": \"\",\r\n // \"active\": true,\r\n // \"otherNames\": {\r\n // \"pdf\": \"\",\r\n // \"vrm\": \"\"\r\n // },\r\n // \"validations\": {\r\n // \"required\": {\r\n // \"value\": true,\r\n // \"message\": \"Patient's last name is required\"\r\n // },\r\n // \"maxLength\": {\r\n // \"value\": 40,\r\n // \"message\": \"Maximum 40 characters are allowed\"\r\n // }\r\n // }\r\n // },\r\n // \"patientInfoDob\": {\r\n // \"type\": \"TextBox\",\r\n // \"label\": \"Date of Birth\",\r\n // \"hint\": \"mm/dd/yyyy\",\r\n // \"tooltip\": \"\",\r\n // \"active\": true,\r\n // \"otherNames\": {\r\n // \"pdf\": \"\",\r\n // \"vrm\": \"\"\r\n // },\r\n // \"validations\": {\r\n // \"required\": {\r\n // \"value\": true,\r\n // \"message\": \"Patient's date of birth is required\"\r\n // },\r\n // \"minimumYearsOld\": {\r\n // \"value\": 18,\r\n // \"message\": \"Patient indicates a minor. Please upload a document with parental representative signature\"\r\n // },\r\n // \"notFutureDate\": {\r\n // \"message\": \"Date can't be in the future\"\r\n // },\r\n // \"maxYearsAgo\": {\r\n // \"value\": 200,\r\n // \"message\": \"Date of birth cannot be more than 200 years ago\"\r\n // }\r\n // }\r\n // },\r\n // \"patientInfoOtherName\": {\r\n // \"type\": \"TextBox\",\r\n // \"label\": \"Maiden or Other Name\",\r\n // \"hint\": \"Patient's maiden or other name\",\r\n // \"tooltip\": \"\",\r\n // \"active\": true,\r\n // \"otherNames\": {\r\n // \"pdf\": \"\",\r\n // \"vrm\": \"\"\r\n // },\r\n // \"validations\": {\r\n // \"required\": {\r\n // \"value\": false,\r\n // \"message\": \"\"\r\n // },\r\n // \"maxLength\": {\r\n // \"value\": 40,\r\n // \"message\": \"Maximum 40 characters are allowed\"\r\n // }\r\n // }\r\n // },\r\n // \"patientInfoMrn\": {\r\n // \"type\": \"TextBox\",\r\n // \"label\": \"MRN\",\r\n // \"hint\": \"Medical Record Number\",\r\n // \"tooltip\": \"\",\r\n // \"active\": false,\r\n // \"otherNames\": {\r\n // \"pdf\": \"\",\r\n // \"vrm\": \"\"\r\n // },\r\n // \"validations\": {\r\n // \"required\": {\r\n // \"value\": true,\r\n // \"message\": \"Mrn is required\"\r\n // },\r\n // \"maxLength\": {\r\n // \"value\": 10,\r\n // \"message\": \"Maximum 10 characters are allowed\"\r\n // }\r\n // }\r\n // },\r\n // \"patientInfoEmail\": {\r\n // \"type\": \"TextBox\",\r\n // \"label\": \"Email\",\r\n // \"hint\": \"hello@world.com\",\r\n // \"tooltip\": \"\",\r\n // \"active\": false,\r\n // \"otherNames\": {\r\n // \"pdf\": \"\",\r\n // \"vrm\": \"\"\r\n // },\r\n // \"validations\": {\r\n // \"required\": {\r\n // \"value\": true,\r\n // \"message\": \"Email is required\"\r\n // },\r\n // \"validEmail\": {\r\n // \"message\": \"Email is not valid\"\r\n // },\r\n // \"maxLength\": {\r\n // \"value\": 50,\r\n // \"message\": \"Maximum 50 characters\"\r\n // }\r\n // }\r\n // },\r\n // \"patientInfoEmailConfirmation\": {\r\n // \"type\": \"TextBox\",\r\n // \"label\": \"Email Confirmation\",\r\n // \"hint\": \"hello@world.com\",\r\n // \"tooltip\": \"\",\r\n // \"active\": false,\r\n // \"otherNames\": {\r\n // \"pdf\": \"\",\r\n // \"vrm\": \"\"\r\n // },\r\n // \"validations\": {\r\n // \"required\": {\r\n // \"value\": true,\r\n // \"message\": \"Email confirmation is required\"\r\n // },\r\n // \"validEmail\": {\r\n // \"message\": \"Email is not valid\"\r\n // },\r\n // \"maxLength\": {\r\n // \"value\": 50,\r\n // \"message\": \"Maximum 50 characters\"\r\n // },\r\n // \"mustMatch\": {\r\n // \"value\": \"patientInfoEmail\",\r\n // \"message\": \"The email address you entered do not match. You will not be allowed to submit your request until this is corrected.\"\r\n // }\r\n // }\r\n // },\r\n // \"patientInfoPhone\": {\r\n // \"type\": \"TextBox\",\r\n // \"label\": \"Phone\",\r\n // \"hint\": \"123-456-7890\",\r\n // \"tooltip\": \"\",\r\n // \"active\": false,\r\n // \"otherNames\": {\r\n // \"pdf\": \"\",\r\n // \"vrm\": \"\"\r\n // },\r\n // \"validations\": {\r\n // \"required\": {\r\n // \"value\": true,\r\n // \"message\": \"Phone is required\"\r\n // },\r\n // \"maxLength\": {\r\n // \"value\": 12,\r\n // \"message\": \"Maximum 12 characters\"\r\n // },\r\n // \"validPhone\": {\r\n // \"message\": \"Phone number is not valid\"\r\n // }\r\n // }\r\n // },\r\n // \"patientInfoPhoneConfirmation\": {\r\n // \"type\": \"TextBox\",\r\n // \"label\": \"Phone Confirmation\",\r\n // \"hint\": \"123-456-7890\",\r\n // \"tooltip\": \"\",\r\n // \"active\": false,\r\n // \"otherNames\": {\r\n // \"pdf\": \"\",\r\n // \"vrm\": \"\"\r\n // },\r\n // \"validations\": {\r\n // \"required\": {\r\n // \"value\": true,\r\n // \"message\": \"Confirmation phone is required\"\r\n // },\r\n // \"validPhone\": {\r\n // \"message\": \"Confirmation phone number is not valid\"\r\n // },\r\n // \"maxLength\": {\r\n // \"value\": 12,\r\n // \"message\": \"Maximum 12 characters\"\r\n // },\r\n // \"mustMatch\": {\r\n // \"value\": \"patientInfoPhone\",\r\n // \"message\": \"The phone number you entered do not match. You will not be allowed to submit your request until this is corrected.\"\r\n // }\r\n // }\r\n // },\r\n // \"patientInfoAddressLine1\": {\r\n // \"type\": \"TextBox\",\r\n // \"label\": \"Mailing Address\",\r\n // \"hint\": \"Address line 1\",\r\n // \"tooltip\": \"\",\r\n // \"active\": false,\r\n // \"otherNames\": {\r\n // \"pdf\": \"\",\r\n // \"vrm\": \"\"\r\n // },\r\n // \"validations\": {\r\n // \"required\": {\r\n // \"value\": true,\r\n // \"message\": \"Address is required\"\r\n // },\r\n // \"maxLength\": {\r\n // \"value\": 50,\r\n // \"message\": \"Maximum 50 characters\"\r\n // }\r\n // }\r\n // },\r\n // \"patientInfoAddressLine2\": {\r\n // \"type\": \"TextBox\",\r\n // \"label\": \"Other\",\r\n // \"hint\": \"Address line 2\",\r\n // \"tooltip\": \"\",\r\n // \"active\": false,\r\n // \"otherNames\": {\r\n // \"pdf\": \"\",\r\n // \"vrm\": \"\"\r\n // },\r\n // \"validations\": {\r\n // \"required\": {\r\n // \"value\": true,\r\n // \"message\": \"Address 2 is required\"\r\n // },\r\n // \"maxLength\": {\r\n // \"value\": 50,\r\n // \"message\": \"Maximum 50 characters\"\r\n // }\r\n // }\r\n // },\r\n // \"patientInfoCity\": {\r\n // \"type\": \"TextBox\",\r\n // \"label\": \"City\",\r\n // \"hint\": \"City\",\r\n // \"tooltip\": \"\",\r\n // \"active\": false,\r\n // \"otherNames\": {\r\n // \"pdf\": \"\",\r\n // \"vrm\": \"\"\r\n // },\r\n // \"validations\": {\r\n // \"required\": {\r\n // \"value\": true,\r\n // \"message\": \"City is required\"\r\n // },\r\n // \"maxLength\": {\r\n // \"value\": 30,\r\n // \"message\": \"Maximum 30 characters\"\r\n // }\r\n // }\r\n // },\r\n // \"patientInfoState\": {\r\n // \"type\": \"TextBox\",\r\n // \"label\": \"State\",\r\n // \"hint\": \"State\",\r\n // \"tooltip\": \"\",\r\n // \"active\": false,\r\n // \"otherNames\": {\r\n // \"pdf\": \"\",\r\n // \"vrm\": \"\"\r\n // },\r\n // \"validations\": {\r\n // \"required\": {\r\n // \"value\": true,\r\n // \"message\": \"State is required\"\r\n // },\r\n // \"maxLength\": {\r\n // \"value\": 2,\r\n // \"message\": \"Maximum 2 characters\"\r\n // }\r\n // }\r\n // },\r\n // \"patientInfoZip\": {\r\n // \"type\": \"TextBox\",\r\n // \"label\": \"Zip\",\r\n // \"hint\": \"Zip\",\r\n // \"tooltip\": \"\",\r\n // \"active\": false,\r\n // \"otherNames\": {\r\n // \"pdf\": \"\",\r\n // \"vrm\": \"\"\r\n // },\r\n // \"validations\": {\r\n // \"required\": {\r\n // \"value\": true,\r\n // \"message\": \"Zipcode is required\"\r\n // },\r\n // \"maxLength\": {\r\n // \"value\": 10,\r\n // \"message\": \"Maximum 10 characters\"\r\n // },\r\n // \"validZipcode\": {\r\n // \"message\": \"Zipcode is not valid\"\r\n // }\r\n // }\r\n // }\r\n }\r\n },\r\n \"informationToReleaseSection\": {\r\n \"active\": true,\r\n \"title\": \"Information to Release\",\r\n \"fields\": {\r\n \"certBox\": {\r\n \"type\": \"CheckBox\",\r\n \"active\": true,\r\n \"summaryText\": \"Certification is required for release of this information\",\r\n \"entries\": [\r\n {\r\n \"key\": \"1\",\r\n \"value\": \"Certification is required for release of this information\",\r\n \"tooltip\": \"\"\r\n }\r\n ]\r\n },\r\n \"infoToReleaseGroup\": {\r\n \"type\": \"CheckBox\",\r\n \"entries\": [\r\n {\r\n \"tag\": \"0\",\r\n \"key\": \"16220\",\r\n \"value\": \"Medical Records Abstract\",\r\n \"tooltip\": \"Medical Records Abstract may include an abstract of the medical record and provides you and/or your other healthcare providers just those documents that are needed for continuing care. The abstract includes: History & Physical, Operative Report, Pathology Report, Consultation(s), test reports and a discharge summary\"\r\n },\r\n {\r\n \"tag\": \"1\",\r\n \"key\": \"16221\",\r\n \"value\": \"History & Physical\",\r\n \"tooltip\": \"History & Physical may include a chief complaint, history of present illness, past medical history, social and family history, medication list, review of systems, physical exam, assessment and plan\"\r\n },\r\n {\r\n \"tag\": \"2\",\r\n \"key\": \"16222\",\r\n \"value\": \"Discharge Summary\",\r\n \"tooltip\": \"Discharge Summary may include final diagnoses, consultations (if any), a summary of labs, x-rays and procedures done, a summary of the day-to-day activity during the hospital stay, a list of discharge medications and recommendations, and follow-up appointments\"\r\n },\r\n {\r\n \"tag\": \"3\",\r\n \"key\": \"16223\",\r\n \"value\": \"Consultation Report(s)\",\r\n \"tooltip\": \"Consultation Report(s) may include examinations performed by a specialist. It may also include the reason for consultation, a review of past and current history, medication review, an exam, and/or assessment and recommendations\"\r\n },\r\n {\r\n \"tag\": \"4\",\r\n \"key\": \"16224\",\r\n \"value\": \"Outpatient / Physician Office Record(s)\",\r\n \"tooltip\": \"Outpatient / Physician Office Record(s)\"\r\n },\r\n {\r\n \"tag\": \"5\",\r\n \"key\": \"16225\",\r\n \"value\": \"Emergency Room Record(s)\",\r\n \"tooltip\": \"Emergency Room (ER) Record(s) may include ER physician report(s) and test report(s)\"\r\n },\r\n {\r\n \"tag\": \"6\",\r\n \"key\": \"16226\",\r\n \"value\": \"Operative Report(s)\",\r\n \"tooltip\": \"Operative Report(s) may include a description of a surgical procedure along with any complications or findings\"\r\n },\r\n {\r\n \"tag\": \"7\",\r\n \"key\": \"16227\",\r\n \"value\": \"Radiology Report(s)\",\r\n \"tooltip\": \"Radiology Report(s) may include reports of findings from X-rays, CT Scans and MRIs\"\r\n },\r\n {\r\n \"tag\": \"8\",\r\n \"key\": \"16228\",\r\n \"value\": \"Laboratory Results\",\r\n \"tooltip\": \"Laboratory Results\"\r\n },\r\n {\r\n \"tag\": \"9\",\r\n \"key\": \"16229\",\r\n \"value\": \"Pathology Report(s)\",\r\n \"tooltip\": \"Pathology Report(s) may include a description of findings regarding a tissue sample of some sort (typically related to a biopsy)\"\r\n },\r\n {\r\n \"tag\": \"10\",\r\n \"key\": \"16233\",\r\n \"value\": \"Cardiology Report(s)\",\r\n \"tooltip\": \"Cardiology Report(s) may include stress tests, EKG, echocardiograms, holter monitors, cardiac catheterization reports and event monitors\"\r\n },\r\n {\r\n \"tag\": \"11\",\r\n \"key\": \"16237\",\r\n \"value\": \"Physician Office Note(s)\",\r\n \"tooltip\": \"Physician Office Note(s) may include patient history, examination results, test results, medication (prescribed, dispensed or administered), current problem list, treatment plan and recommendations for follow up\"\r\n },\r\n {\r\n \"tag\": \"12\",\r\n \"key\": \"16238\",\r\n \"value\": \"Ambulatory Surgery\",\r\n \"tooltip\": \"Ambulatory Surgery\"\r\n },\r\n {\r\n \"tag\": \"13\",\r\n \"key\": \"16239\",\r\n \"value\": \"Admission\",\r\n \"tooltip\": \"Medical record(s) for dates of service requested\"\r\n },\r\n {\r\n \"tag\": \"14\",\r\n \"key\": \"otherItem\",\r\n \"value\": \"\",\r\n \"tooltip\": \"Any other item not listed here\"\r\n }\r\n ],\r\n \"label\": \"Select the types of medical information you would like released\",\r\n \"hint\": \"\",\r\n \"tooltip\": \"\",\r\n \"active\": true,\r\n \"otherNames\": {\r\n \"pdf\": \"\",\r\n \"vrm\": \"\"\r\n },\r\n \"validations\": {\r\n \"required\": {\r\n \"value\": true,\r\n \"message\": \"You must select at least one information to release\"\r\n }\r\n }\r\n },\r\n \"infoToReleaseGroupOther\": {\r\n \"type\": \"TextBox\",\r\n \"label\": \"\",\r\n \"hint\": \"Other information\",\r\n \"tooltip\": \"\",\r\n \"active\": true,\r\n \"otherNames\": {\r\n \"pdf\": \"\",\r\n \"vrm\": \"\"\r\n },\r\n \"validations\": {\r\n \"maxLength\": {\r\n \"value\": 31,\r\n \"message\": \"Maximum 31 characters are allowed\"\r\n },\r\n \"required\": {\r\n \"message\": \"Please enter the other information or uncheck the other box\"\r\n }\r\n }\r\n },\r\n \"txtotherrecords\": {\r\n \"type\": \"TextBox\",\r\n \"label\": \"\",\r\n \"hint\": \"Other information\",\r\n \"tooltip\": \"\",\r\n \"active\": true,\r\n \"otherNames\": {\r\n \"pdf\": \"\",\r\n \"vrm\": \"\"\r\n },\r\n \"validations\": {\r\n \"maxLength\": {\r\n \"value\": 31,\r\n \"message\": \"Maximum 31 characters are allowed\"\r\n },\r\n \"required\": {\r\n \"message\": \"Please enter the other information or uncheck the other box\"\r\n }\r\n }\r\n },\r\n \"dosfrom\": {\r\n \"type\": \"TextBox\",\r\n \"label\": \"From Date\",\r\n \"hint\": \"mm/dd/yyyy\",\r\n \"tooltip\": \"Range begins at this date\",\r\n \"active\": true,\r\n \"otherNames\": {\r\n \"pdf\": \"\",\r\n \"vrm\": \"\"\r\n },\r\n \"validations\": {\r\n \"required\": {\r\n \"value\": true,\r\n \"message\": \"From date is required\"\r\n },\r\n \"notFutureDate\": {\r\n \"message\": \"From date cannot be in the future\"\r\n },\r\n \"notBeforeDate\": {\r\n \"ref\": \"patientInfoDob\",\r\n \"message\": \"From date must be after patient's date of birth\"\r\n }\r\n }\r\n },\r\n \"dosto\": {\r\n \"type\": \"TextBox\",\r\n \"label\": \"To Date\",\r\n \"hint\": \"mm/dd/yyyy\",\r\n \"tooltip\": \"Range ends at this date\",\r\n \"active\": true,\r\n \"otherNames\": {\r\n \"pdf\": \"\",\r\n \"vrm\": \"\"\r\n },\r\n \"validations\": {\r\n \"required\": {\r\n \"value\": true,\r\n \"message\": \"To date is required\"\r\n },\r\n \"notFutureDate\": {\r\n \"message\": \"To date cannot be in the future\"\r\n },\r\n \"notBeforeDate\": {\r\n \"ref\": \"releaseFromDate\",\r\n \"message\": \"To date must be after from date\"\r\n }\r\n }\r\n }\r\n }\r\n },\r\n \"supportingDocsSection\": {\r\n \"active\": true,\r\n \"title\": \"Supporting Documentation\",\r\n \"fields\": {\r\n \"disclaimers\": {\r\n \"header\": \"Please note\",\r\n \"requestNotice\": \"We will also email you a copy of this submission. This form will serve as the formal request for records from your firm. There is no need to submit a request on your firm's letterhead.\",\r\n \"emailNotice\": \"When your requested records are ready, we will email you a link to the records at the email address provided above.\",\r\n \"authNotice\": \"You must attach a fully executed Authorization below. In addition, please be sure to include additional documentation to support the authorization validation process such as Power of Attorney, Will, Proof of Guardianship, or Letter of Representation.\",\r\n \"type\": \"disclaimers\"\r\n },\r\n // \"supportingDoc\": {}\r\n \"supportingDoc\": {\r\n \"label\": \"Files to upload (up to 3 individual PDF files)\",\r\n \"hint\": \"Browse to choose file (maximum 15mb)\",\r\n \"type\": \"fileUpload\",\r\n \"validations\": {\r\n \"required\": {\r\n \"message\": \"A photo ID and recent portrait photo of yourself are required\"\r\n },\r\n \"fileType\": {\r\n \"message\": \"Only PDF files are allowed\"\r\n },\r\n \"fileSize\": {\r\n \"message\": \"Each file must be smaller than 15MB\"\r\n },\r\n \"fileLimit\": {\r\n \"message\": \"Too many files: Please provide a maximum of 2 PDF files\"\r\n },\r\n \"fileMinimum\": {\r\n \"message\": \"Too few files: Please provide two PDF files\"\r\n }\r\n }\r\n }\r\n }\r\n },\r\n \"authorizationToReleaseSection\": {\r\n \"active\": true,\r\n \"title\": \"Medical Facilities Requested\",\r\n \"fields\": {\r\n \"facilitiesGroup\": {\r\n \"type\": \"CheckBox\",\r\n \"entries\": [\r\n {\r\n \"key\": \"CBDNetwork\",\r\n \"value\": \"CBC Trial Works\"\r\n },\r\n {\r\n \"key\": \"otherFac\",\r\n \"value\": \"List any specific facilities or providers at CBC Trial Works\"\r\n }\r\n ],\r\n \"label\": \"Facility or Provider\",\r\n \"hint\": \"\",\r\n \"tooltip\": \"\",\r\n \"active\": true,\r\n \"otherNames\": {\r\n \"pdf\": \"\",\r\n \"vrm\": \"\"\r\n },\r\n \"validations\": {\r\n \"required\": {\r\n \"value\": true,\r\n \"message\": \"You must select at least one facility or provider\"\r\n }\r\n }\r\n },\r\n \"inputAuthorizeA\": { },\r\n \"inputDisclosePhysicians\": { },\r\n \"facilityOrPhysician\": { },\r\n \"discloseTo\": { },\r\n \"physiciansGroup\": {\r\n \"type\": \"CheckBox\",\r\n \"entries\": [\r\n {\r\n \"key\": \"cbcPhysician\",\r\n \"value\": \"CBC Trial Works Physician Group\"\r\n }\r\n ],\r\n \"label\": \"\",\r\n \"hint\": \"\",\r\n \"tooltip\": \"\",\r\n \"active\": true,\r\n \"otherNames\": {\r\n \"pdf\": \"\",\r\n \"vrm\": \"\"\r\n },\r\n \"validations\": {\r\n \"required\": {\r\n \"value\": false,\r\n \"message\": \"You must select all, or name a physician\"\r\n }\r\n }\r\n },\r\n \"allOrNameGroup\": {\r\n \"type\": \"RadioBox\",\r\n \"entries\": [\r\n {\r\n \"key\": \"all\",\r\n \"value\": \"All Physicians\"\r\n },\r\n {\r\n \"key\": \"namePhysicians\",\r\n \"value\": \"Name Physicians\"\r\n }\r\n ],\r\n \"label\": \"\",\r\n \"hint\": \"\",\r\n \"tooltip\": \"\",\r\n \"active\": false,\r\n \"otherNames\": {\r\n \"pdf\": \"\",\r\n \"vrm\": \"\"\r\n },\r\n \"validations\": {\r\n \"required\": {\r\n \"value\": false,\r\n \"message\": \"You must select either all or name a physician\"\r\n }\r\n }\r\n },\r\n \"otherFac\": {\r\n \"type\": \"TextBox\",\r\n \"label\": \"\",\r\n \"hint\": \"List any specific facilities or providers at CBC Trial Works\",\r\n \"tooltip\": \"\",\r\n \"active\": true,\r\n \"otherNames\": {\r\n \"pdf\": \"\",\r\n \"vrm\": \"\"\r\n },\r\n \"validations\": {\r\n \"maxLength\": {\r\n \"value\": 31,\r\n \"message\": \"Maximum 31 characters are allowed\"\r\n },\r\n \"required\": {\r\n \"message\": \"Please enter the other item you selected\"\r\n }\r\n }\r\n },\r\n \r\n \"RPhone\": { },\r\n \"RFax\": { },\r\n \"RAddress1\": { },\r\n \"RAddress2\": { },\r\n \"RCity\": { },\r\n \"RState\": { },\r\n \"RZip\": { },\r\n \"REmail\": { },\r\n \r\n \"namedPhysicians\": {\r\n \"type\": \"TextBox\",\r\n \"label\": \"\",\r\n \"hint\": \"If multiple physicians, separate each physicians's name with a comma\",\r\n \"tooltip\": \"\",\r\n \"active\": false,\r\n \"otherNames\": {\r\n \"pdf\": \"\",\r\n \"vrm\": \"\"\r\n },\r\n \"validations\": {\r\n \"required\": {\r\n \"value\": false,\r\n \"message\": \"You must enter a physician name\"\r\n }\r\n }\r\n }\r\n }\r\n },\r\n \"discloseToSection\": {\r\n \"active\": false,\r\n \"title\": \"Disclose To\",\r\n \"disclaimer\": \"A fee for medical record copies may apply. A patient whose records are copied and sent to another healthcare provider for the purposes of continuing to receive medical care **does not** pay a fee for medical record copies. Request for medical record copies for any use other than medical care may be subject to a fee. If a fee does apply, you will be notified prior to your request being processed. The HIPAA Privacy Rule permits healthcare providers to impose a reasonable, cost-based fee to an individual requesting a copy of medical records. The fee may only include the cost of labor, supplies and postage.\",\r\n \"fields\": {\r\n \"discloseToEntityGroup\": {\r\n \"type\": \"RadioBox\",\r\n \"label\": \"to disclose to\",\r\n \"hint\": \"\",\r\n \"tooltip\": \"\",\r\n \"active\": true,\r\n \"entries\": [\r\n {\r\n \"key\": \"me\",\r\n \"value\": \"Me\"\r\n },\r\n {\r\n \"key\": \"namedPersonEntity\",\r\n \"value\": \"Named person or entity\"\r\n }\r\n ],\r\n \"otherNames\": {\r\n \"pdf\": \"\",\r\n \"vrm\": \"\"\r\n },\r\n \"validations\": {\r\n \"required\": {\r\n \"value\": true,\r\n \"message\": \"To disclose to is required\"\r\n }\r\n }\r\n },\r\n \"discloseToName\": {\r\n \"type\": \"TextBox\",\r\n \"label\": \"Name\",\r\n \"hint\": \"Name...\",\r\n \"tooltip\": \"\",\r\n \"active\": true,\r\n \"otherNames\": {\r\n \"pdf\": \"\",\r\n \"vrm\": \"\"\r\n },\r\n \"validations\": {\r\n \"required\": {\r\n \"value\": true,\r\n \"message\": \"Name is required\"\r\n },\r\n \"maxLength\": {\r\n \"value\": 524288,\r\n \"message\": \"Maximum 524288 character\"\r\n }\r\n }\r\n },\r\n \"discloseToPhone\": {\r\n \"type\": \"TextBox\",\r\n \"label\": \"Phone\",\r\n \"hint\": \"123-456-7890*\",\r\n \"tooltip\": \"\",\r\n \"active\": true,\r\n \"otherNames\": {\r\n \"pdf\": \"\",\r\n \"vrm\": \"\"\r\n },\r\n \"validations\": {\r\n \"required\": {\r\n \"value\": true,\r\n \"message\": \"Phone is required\"\r\n },\r\n \"maxLength\": {\r\n \"value\": 12,\r\n \"message\": \"Maximum 12 character\"\r\n },\r\n \"validPhone\": {\r\n \"message\": \"Phone number is not valid\"\r\n }\r\n }\r\n },\r\n \"discloseToFax\": {\r\n \"type\": \"TextBox\",\r\n \"label\": \"Fax\",\r\n \"hint\": \"123-456-7890*\",\r\n \"tooltip\": \"\",\r\n \"active\": true,\r\n \"otherNames\": {\r\n \"pdf\": \"\",\r\n \"vrm\": \"\"\r\n },\r\n \"validations\": {\r\n \"validPhone\": {\r\n \"message\": \"Fax number is not valid\"\r\n },\r\n \"maxLength\": {\r\n \"value\": 524288,\r\n \"message\": \"Maximum 524288 character\"\r\n }\r\n }\r\n },\r\n \"discloseToAddressLine1\": {\r\n \"type\": \"TextBox\",\r\n \"label\": \"Mailing Address\",\r\n \"hint\": \"Address line 1\",\r\n \"tooltip\": \"\",\r\n \"active\": true,\r\n \"otherNames\": {\r\n \"pdf\": \"\",\r\n \"vrm\": \"\"\r\n },\r\n \"validations\": {\r\n \"required\": {\r\n \"value\": true,\r\n \"message\": \"Address is required\"\r\n },\r\n \"maxLength\": {\r\n \"value\": 65,\r\n \"message\": \"Maximum 65 characters\"\r\n }\r\n }\r\n },\r\n \"discloseToAddressLine2\": {\r\n \"type\": \"TextBox\",\r\n \"label\": \"\",\r\n \"hint\": \"Address line 2\",\r\n \"tooltip\": \"\",\r\n \"active\": true,\r\n \"otherNames\": {\r\n \"pdf\": \"\",\r\n \"vrm\": \"\"\r\n },\r\n \"validations\": {\r\n \"required\": {\r\n \"value\": false,\r\n \"message\": \"Address is required\"\r\n },\r\n \"maxLength\": {\r\n \"value\": 65,\r\n \"message\": \"Maximum 65 characters\"\r\n }\r\n }\r\n },\r\n \"discloseToCity\": {\r\n \"type\": \"TextBox\",\r\n \"label\": \"City\",\r\n \"hint\": \"City\",\r\n \"tooltip\": \"\",\r\n \"active\": true,\r\n \"otherNames\": {\r\n \"pdf\": \"\",\r\n \"vrm\": \"\"\r\n },\r\n \"validations\": {\r\n \"required\": {\r\n \"value\": true,\r\n \"message\": \"City is required\"\r\n },\r\n \"maxLength\": {\r\n \"value\": 10,\r\n \"message\": \"Maximum 10 characters\"\r\n }\r\n }\r\n },\r\n \"discloseToState\": {\r\n \"type\": \"TextBox\",\r\n \"label\": \"State\",\r\n \"hint\": \"State\",\r\n \"tooltip\": \"\",\r\n \"active\": true,\r\n \"otherNames\": {\r\n \"pdf\": \"\",\r\n \"vrm\": \"\"\r\n },\r\n \"validations\": {\r\n \"required\": {\r\n \"value\": true,\r\n \"message\": \"State is required\"\r\n },\r\n \"maxLength\": {\r\n \"value\": 2,\r\n \"message\": \"Maximum 2 characters\"\r\n }\r\n }\r\n },\r\n \"discloseToZip\": {\r\n \"type\": \"TextBox\",\r\n \"label\": \"Zip\",\r\n \"hint\": \"Zip\",\r\n \"tooltip\": \"\",\r\n \"active\": true,\r\n \"otherNames\": {\r\n \"pdf\": \"\",\r\n \"vrm\": \"\"\r\n },\r\n \"validations\": {\r\n \"required\": {\r\n \"value\": true,\r\n \"message\": \"Zipcode is required\"\r\n },\r\n \"maxLength\": {\r\n \"value\": 10,\r\n \"message\": \"Maximum 10 characters\"\r\n },\r\n \"validZipcode\": {\r\n \"message\": \"Zipcode is not valid\"\r\n }\r\n }\r\n }\r\n }\r\n },\r\n \"deliveryMethodSection\": {\r\n \"active\": true,\r\n \"title\": \"Delivery Method\",\r\n \"fields\": {\r\n \"deliveryMethodGroup\": {\r\n \"type\": \"RadioBox\",\r\n \"entries\": [\r\n {\r\n \"key\": \"2\",\r\n \"value\": \"Electronic copy of records\",\r\n \"tooltip\": \"tip-electronicCopy\"\r\n },\r\n {\r\n \"key\": \"5\",\r\n \"value\": \"Mail Paper Records\",\r\n \"tooltip\": \"tip-electronicCopy\"\r\n },\r\n {\r\n \"key\": \"7\",\r\n \"value\": \"CD/DVD\",\r\n \"tooltip\": \"cd/dvd\"\r\n }\r\n // {\r\n // \"key\": \"4\",\r\n // \"value\": \"Pick up records at ...\",\r\n // \"tooltip\": \"tip-electronicCopy\"\r\n // }\r\n ],\r\n \"label\": \"Electronic delivery: You will receive an email with a link to download your records electronically.\",\r\n \"hint\": \"\",\r\n \"tooltip\": \"\",\r\n \"active\": false,\r\n \"otherNames\": {\r\n \"pdf\": \"\",\r\n \"vrm\": \"\"\r\n },\r\n \"validations\": {\r\n \"required\": {\r\n \"value\": true,\r\n \"message\": \"You must select a delivery method\"\r\n }\r\n }\r\n },\r\n \"releasemodePdf\": \"\"\r\n }\r\n },\r\n \"purposeOfDisclosureSection\": {\r\n \"active\": false,\r\n \"title\": \"Purpose of Disclosure\",\r\n \"fields\": {\r\n \"disclosurePurposeGroup\": {\r\n \"type\": \"RadioBox\",\r\n \"entries\": [\r\n {\r\n \"key\": \"0\",\r\n \"value\": \"Individual’s request\",\r\n \"tooltip\": \"tip-individualRequest\"\r\n },\r\n {\r\n \"key\": \"1\",\r\n \"value\": \"Medical Care\",\r\n \"tooltip\": \"tip-medicalCare\"\r\n },\r\n {\r\n \"key\": \"2\",\r\n \"value\": \"Insurance\",\r\n \"tooltip\": \"tip-insurance\"\r\n },\r\n {\r\n \"key\": \"3\",\r\n \"value\": \"Immunization\",\r\n \"tooltip\": \"tip-immunization\"\r\n },\r\n {\r\n \"key\": \"4\",\r\n \"value\": \"Legal\",\r\n \"tooltip\": \"tip-legal\"\r\n },\r\n {\r\n \"key\": \"5\",\r\n \"value\": \"Other\",\r\n \"tooltip\": \"tip-other\"\r\n }\r\n ],\r\n \"label\": \"The purpose(s) for which disclosure is authorized (check where applicable): \",\r\n \"hint\": \"\",\r\n \"tooltip\": \"\",\r\n \"active\": true,\r\n \"otherNames\": {\r\n \"pdf\": \"\",\r\n \"vrm\": \"\"\r\n },\r\n \"validations\": {\r\n \"required\": {\r\n \"value\": true,\r\n \"message\": \"You must select the purpose of disclosure\"\r\n }\r\n }\r\n },\r\n \"disclosurePurposeGroupOther\": {\r\n \"type\": \"TextBox\",\r\n \"label\": \"\",\r\n \"hint\": \"\",\r\n \"tooltip\": \"\",\r\n \"active\": true,\r\n \"otherNames\": {\r\n \"pdf\": \"\",\r\n \"vrm\": \"\"\r\n },\r\n \"validations\": {\r\n \"required\": {\r\n \"value\": true,\r\n \"message\": \"You must the purpose of disclosure when you select other\"\r\n },\r\n \"maxLength\": {\r\n \"value\": 10,\r\n \"message\": \"Maximum 10 characters...\"\r\n }\r\n }\r\n }\r\n }\r\n },\r\n \"disclosureOfSensitiveInformation\": {\r\n \"active\": true,\r\n \"title\": \"Disclosure of Sensitive Information\",\r\n \"disclaimer\": \"**From the selections below, choose any medical information you would like excluded from this disclosure.**\",\r\n \"fields\": {\r\n \"sensitiveInfo\": {\r\n \"type\": \"CheckBox\",\r\n \"entries\": [\r\n {\r\n \"value\": \"excludepsy\",\r\n \"label\": \"Psychological/Psychiatric conditions\",\r\n \"tooltip\": \"tip-mentalHealth\"\r\n },\r\n {\r\n \"value\": \"excludedrug\",\r\n \"label\": \"Drug and/or alcohol abuse diagnosis and/or treatment\",\r\n \"tooltip\": \"tip-alcoholDrug\"\r\n },\r\n {\r\n \"value\": \"excludeHIV\",\r\n \"label\": \"HIV/AIDS diagnosis and/or treatment \",\r\n \"tooltip\": \"tip-hivAids\"\r\n },\r\n {\r\n \"value\": \"excludeSTD\",\r\n \"label\": \"Sexually transmitted disease(s) diagnosis and/or testing\",\r\n \"tooltip\": \"tip-geneticTesting\"\r\n },\r\n {\r\n \"value\": \"excludegenetics\",\r\n \"label\": \"Genetic Testing \",\r\n \"tooltip\": \"tip-other\"\r\n },\r\n {\r\n \"value\": \"authorizeAll\",\r\n \"label\": \"I authorize the disclosure of ALL sensitive information\",\r\n \"tooltip\": \"tip-legal\"\r\n },\r\n {\r\n \"value\": \"notAuthorizeAll\",\r\n \"label\": \"I DO NOT authorize the disclosure of ANY sensitive information \",\r\n \"tooltip\": \"tip-other\"\r\n }\r\n ],\r\n \"active\": true,\r\n \"otherNames\": {\r\n \"pdf\": \"\",\r\n \"vrm\": \"\"\r\n }\r\n },\r\n \"excludepsy\": \"\",\r\n \"excludeHIV\": \"\"\r\n }\r\n },\r\n \"additionalInfoSection\": {\r\n \"active\": true,\r\n \"title\": \"Additional Information\",\r\n \"disclaimer\": \"Are you representing the\",\r\n \"fields\": {\r\n \"repDesc\": {\r\n \"type\": \"TextBox\",\r\n \"label\": \"In the box below please provide any additional information pertinent to this request.\",\r\n \"hint\": \"Additional information. Max 4000 characters allowed.\",\r\n \"tooltip\": \"\",\r\n \"active\": true,\r\n \"otherNames\": {\r\n \"pdf\": \"\",\r\n \"vrm\": \"\"\r\n },\r\n \"validations\": {\r\n \"maxLength\": {\r\n \"value\": 4000,\r\n \"message\": \"Maximum 4000 characters\"\r\n }\r\n }\r\n }\r\n }\r\n },\r\n \"releaseDatesSection\": {\r\n \"active\": true,\r\n \"title\": \"\",\r\n \"disclaimer\": \"\",\r\n \"fields\": {\r\n \"todaysDate\": {\r\n \"type\": \"TextBox\",\r\n \"label\": \"Today's Date\",\r\n \"hint\": \"\",\r\n \"tooltip\": \"\",\r\n \"active\": true\r\n },\r\n \"consentExpirationDate\": {\r\n \"age\": 365,\r\n \"type\": \"TextBox\",\r\n \"label\": \"Consent Expiration Date\",\r\n \"hint\": \"\",\r\n \"tooltip\": \"tip-consentExpirationDate\",\r\n \"active\": false\r\n }\r\n }\r\n }\r\n },\r\n \"validations\": {\r\n \"releaseStartAfterDateOfBirth\": {\r\n \"ref\": \"patientInfoDob\",\r\n \"message\": \"From date must be after date of birth\"\r\n }\r\n }\r\n }\r\n }\r\n}","import { initializeFormAction } from \"../context/actions/initializeFormAction\";\r\nimport {apiHost, getwayApi} from \"../config/Constants\";\r\nimport axios from \"axios\";\r\nimport {localFormSpec} from '../UI/configTest'\r\nimport {testFormSpec} from '../context/formSpec_patient.js'\r\n\r\nexport const fetchFormData = async (setError, setLoading, session, dispatch) => {\r\n setError(false);\r\n setLoading(true);\r\n\r\n try {\r\n await axios.get(`${getwayApi}/api/session/client/${session.id}`).then(response => {\r\n // GET call is made to endpoint with query string appended\r\n \r\n const responseData = response.data;\r\n const dbFormSpec = JSON.parse(response.data.formSpecs);\r\n const formId = response.data.formId;\r\n const formType = response.data.formType.trim();\r\n window.location.host.includes('localhost') && console.log(\"FORM TYPE:\", formType)\r\n \r\n dispatch( \r\n initializeFormAction(session, responseData, localFormSpec, dbFormSpec, formId, formType) \r\n );\r\n // the session object, formSpecs, and other form/org data, are stored on the formInfo state binding.\r\n // TO-DO: Replace configTest with the formSpec that's returned by the response.\r\n setLoading(false);\r\n })\r\n \r\n .catch(err => {\r\n setLoading(false);\r\n console.log('error:', err)\r\n setError(err);\r\n });\r\n } catch (error) {\r\n setLoading(false);\r\n console.log(error)\r\n setError(error);\r\n }\r\n };\r\n\r\n export const submitFileData = (url, session) => {\r\n return async (file) => {\r\n const fileReader = new FileReader();\r\n \r\n function getByteArray(file) {\r\n return new Promise(function(resolve, reject) {\r\n fileReader.readAsArrayBuffer(file);\r\n fileReader.onload = function(ev) {\r\n const array = new Uint8Array(ev.target.result);\r\n const fileByteArray = [];\r\n for (let i = 0; i < array.length; i++) {\r\n fileByteArray.push(array[i]);\r\n }\r\n resolve(fileByteArray); // successful\r\n }\r\n fileReader.onerror = reject; // call reject if error\r\n })\r\n }\r\n \r\n let submissionPayload = new FormData();\r\n submissionPayload.append(\"fileName\", file.name);\r\n submissionPayload.append(\"contentType\", file.type);\r\n submissionPayload.append(\"sessionId\", session);\r\n submissionPayload.append(\"fileByte\", file);\r\n \r\n await axios\r\n .post(`${url}/api/session/supportingdoc/upload`, submissionPayload, {headers: {'Content-Type': 'multipart/form-data'}})\r\n .then(res => {\r\n \r\n })\r\n .catch(err => {\r\n if(err.response !== undefined)\r\n console.log(err.response) \r\n });\r\n }\r\n }\r\n \r\n export const deleteFileData = (url, session) => {\r\n return async (filename) => {\r\n //api/session/supportingdoc/remove/{sessionId}/{filename}\r\n \r\n await axios\r\n .delete(`${url}/api/session/supportingdoc/remove/${session}/${filename}`)\r\n .then(res => {\r\n \r\n })\r\n .catch(err => {\r\n if(err.response !== undefined)\r\n console.log(err.response) \r\n });\r\n \r\n }\r\n }\r\n \r\n export const submitUserData = (url, session, esign, organization, formid, setNextPage, setSubmissionError) => {\r\n return async (formData, actions) => {\r\n \r\n // setNextPage(true);\r\n \r\n let submissionPayload;\r\n let fileData;\r\n let subData = formData;\r\n delete subData.dosFrom1\r\n delete subData.dosTo1\r\n delete subData.PDOB1\r\n \r\n // if user has elected not to upload a document, remove the placeholder object used to bypass the form validation\r\n !formData.supportingDoc[0] || !formData.supportingDoc[0].type && formData.supportingDoc.splice(0,1);\r\n \r\n const config = {headers: {'content-type': 'multipart/form-data'}}\r\n // subData.esign = esign;\r\n // subData.releaseFromDate = subData.releaseFromDate.toDateString();\r\n // subData.releaseToDate = subData.releaseToDate.toDateString();\r\n // subData.patientInfoDob = subData.patientInfoDob.toDateString();\r\n subData.session = session;\r\n subData.organizationId = organization;\r\n subData.formId = formid;\r\n \r\n if(subData.supportingDoc){\r\n submissionPayload = new FormData();\r\n let counter = 1;\r\n fileData = subData.supportingDoc.map(x => {\r\n submissionPayload.append(`medFile${counter}`, x)\r\n counter++;\r\n return {\r\n name: x.name,\r\n type: x.type,\r\n size: x.size\r\n }\r\n });\r\n submissionPayload.append('vra1', true);\r\n \r\n \r\n subData.fileData = fileData;\r\n \r\n delete subData.supportingDoc;\r\n \r\n submissionPayload.append('userData', JSON.stringify(subData));\r\n \r\n \r\n }else{\r\n submissionPayload = {data: JSON.stringify(subData)}\r\n config = {headers: {'content-type': 'application/json'}}\r\n }\r\n \r\n // create file data object\r\n // list of files\r\n const apiUrl = `${url}/api/submission/v2`;\r\n let currentTimeStamp = new Date().getTime();\r\n let submissionURL = `${apiUrl}?_=${currentTimeStamp}`\r\n\r\n \r\n \r\n await axios\r\n .post(submissionURL, submissionPayload, config)\r\n .then(res => {\r\n window.location = `${apiHost}/patient/patientConfirmationPage/?session=${session}&_=${currentTimeStamp}`;\r\n \r\n })\r\n .catch(err => {\r\n if(err.response !== undefined)\r\n console.log(err.response)\r\n console.log(err)\r\n setSubmissionError({status: true, info: err.response})\r\n\r\n \r\n // TODO; map infrastructure error to domain error\r\n \r\n });\r\n }\r\n }\r\n\r\n export const fetchCaptcha = async (captchaUrl, setCaptchaRespObj) => {\r\n \r\n try {\r\n // NOTE; axios is currently pointing to file system json file. Use the router match prop to construct the appropriate url\r\n // to retrieve the configuration (and pesisted form state specific to the session if it is a back request)\r\n // simulating userState example below\r\n \r\n \r\n\r\n await axios\r\n .get(`${captchaUrl}/api/captcha`)\r\n .then(res => {\r\n setCaptchaRespObj(res.data)\r\n })\r\n .catch(err => {});\r\n } \r\n catch (error) {\r\n console.log(error)\r\n }\r\n };\r\n\r\n export const submitCaptchaData = async (captchaUrl, captchaRespObj, userCatchaInput, setCaptcha, setErrorState) => {\r\n \r\n \r\n try {\r\n // NOTE; axios is currently pointing to file system json file. Use the router match prop to construct the appropriate url\r\n // to retrieve the configuration (and pesisted form state specific to the session if it is a back request)\r\n // simulating userState example below\r\n\r\n await axios\r\n .post(`${captchaUrl}/api/captcha/${captchaRespObj.id}/match/${userCatchaInput}`)\r\n .then(res => {\r\n setCaptcha(res.data)\r\n if(!res.data){\r\n console.log(\"bad captcha\")\r\n setErrorState(true)\r\n }\r\n \r\n })\r\n .catch(err => {\r\n console.log(\"bad captcha\")\r\n setErrorState(true)\r\n \r\n });\r\n } catch (error) {\r\n console.log(\"bad captcha\")\r\n setErrorState(true)\r\n }\r\n };","export const orderedValues = [\r\n // PATIENT INFORMATION\r\n \r\n \"PFName\",\r\n \"PLName\",\r\n \"PDOB\",\r\n \"PDOB1\",\r\n \"PPhone\",\r\n \"Patient_Phone_Conform\",\r\n \"PEmail\",\r\n \"Patient_Email_Conform\",\r\n \"PAddress1\",\r\n \"PCity\",\r\n \"PState\",\r\n \"PZip\",\r\n\r\n// REPRESENTATIVE INFORMATION\r\n\r\n \"RepAddress1\",\r\n \"RepAddress2\",\r\n \"RepCity\",\r\n \"RepEmail\",\r\n \"RepFName\",\r\n \"RepLName\",\r\n \"RepMName\",\r\n \"RepPhone\",\r\n \"RepState\",\r\n \"RepZip\",\r\n \"Rep_Email_Conform\",\r\n \"Rep_Phone_Conform\",\r\n \r\n // INFO TO RELEASE\r\n \r\n \"infoToReleaseGroup\",\r\n \"txtotherrecords\",\r\n \"dosto\",\r\n \"dosfrom\",\r\n \"dosTo1\",\r\n \"dosFrom1\",\r\n \r\n // DISCLOSURE OF SENSITIVE INFORMATION\r\n \r\n \"sensitiveInfo\",\r\n \"excludepsy\",\r\n \"excludeSTD\",\r\n \"excludeHIV\",\r\n \"excludedrug\",\r\n \"excludegenetics\",\r\n\r\n // FACILTIES AND RECIPIENTS\r\n \r\n \"facilityOrPhysician\",\r\n \"discloseTo\",\r\n \"documentation\",\r\n // \"inputAuthorizeA\",\r\n // \"facilityList\",\r\n \r\n // \"inputAuthorizePhysicianOffices\",\r\n // \"inputDisclosePhysicians\",\r\n // \"inputPhysicianNames\",\r\n \r\n \"RName\",\r\n \"RPhone\",\r\n // \"RFax\",\r\n \"RAddress1\",\r\n // \"RAddress2\",\r\n \"RCity\",\r\n \"RState\",\r\n \"RZip\",\r\n \"REmail\",\r\n \r\n // \"Facility\",\r\n // \"disclosewhat\",\r\n \r\n \r\n // DELIVERY METHOD\r\n \r\n // \"deliveryMethodGroup\",\r\n \"supportingDoc\",\r\n \"releasemodePdf\",\r\n \r\n // MISC\r\n \r\n // \"todaysDate\",\r\n // \"c\",\r\n // \"RequestDate\",\r\n // \"ArrivedDate\",\r\n // \"signdate\",\r\n // \"expirationdate\",\r\n // \"requesttype\",\r\n // \"requesttypeid\",\r\n // \"typeofrequestorid\",\r\n // \"MedicalAuthNoteResponse\",\r\n // \"MedicalAuthNote\",\r\n // \"signtime\",\r\n // \"FormName\",\r\n // \"DupChecked\",\r\n // \"proxy\",\r\n // \"TargetOrganizationID\",\r\n // \"sign\",\r\n // \"summary\",\r\n // \"verifierStaffName\",\r\n // \"PickupCDFacility\",\r\n // \"PickupPrintFacility\",\r\n // \"OrgState\",\r\n // \"supportingDoc\",\r\n // \"releasemodePdf\",\r\n]","import { orderedValues } from '../orderedValues'\r\n\r\nexport const preventSubmission = (e) => {\r\n e.preventDefault()\r\n}\r\n\r\nexport const setAllValuesToTouched = (formik) => {\r\n for (let value in formik.values) {\r\n formik.touched[value] = true\r\n }\r\n}\r\n\r\nexport const scrollToFirstError = (formik, orderedValues) => {\r\n let errorsList = Object.keys(formik.errors)\r\n const firstError = orderedValues.filter((value) => { return formik.touched.hasOwnProperty(value) && formik.errors.hasOwnProperty(value) })[0]\r\n\r\n if (errorsList.length > 0) {\r\n try {\r\n window.scrollTo(\r\n {\r\n left: 0,\r\n top: document.getElementById(firstError).offsetTop - 100,\r\n behavior: 'smooth'\r\n }\r\n )\r\n } catch (error) {\r\n console.log(error)\r\n }\r\n }\r\n}\r\n\r\nexport const addSummaryBackLogic = (setShowSummary) => {\r\n window.history.pushState(null, '')\r\n window.onpopstate = (e) => {\r\n setShowSummary(false)\r\n }\r\n}\r\n\r\nexport const removeSummaryBackLogic = (setShowSummary) => {\r\n window.removeEventListener('popstate', (e) => {\r\n setShowSummary(false)\r\n })\r\n}\r\n\r\nexport const proceedToSummary = (values, setShowSummary) => {\r\n // dispatch(hideErrorModalAction())\r\n window.history.pushState({ summary: true }, '', window.location.href)\r\n window.sessionStorage.setItem('userInput', JSON.stringify(values))\r\n return setShowSummary(true)\r\n}\r\n\r\nexport const checkFormForErrors = (e, noErrors, setErrorTofocus, setAllValuesToTouched, formik) => {\r\n preventSubmission(e)\r\n noErrors ? formik.handleSubmit(e) : setErrorTofocus(true);\r\n setAllValuesToTouched(formik);\r\n scrollToFirstError(formik, orderedValues);\r\n}\r\n\r\nexport const assignPDFValues = (formik, dbFormSpec, formType, appContext) => {\r\n const userInput = formik.values;\r\n const sensitiveInfo = formik.values.sensitiveInfo\r\n const facilityList = formik.values.facilityList\r\n const infoToReleaseGroup = formik.values.infoToReleaseGroup\r\n const releaseMode = formik.values.releasemodePdf\r\n const proxyForm = formType === 'Representative';\r\n const patientForm = formType === 'Patient';\r\n const requestPurposeNumber = formik.values.requestPurposePdf\r\n const NYPOrg = dbFormSpec.facility.orgId.includes('7042') || dbFormSpec.facility.orgId.includes('7101') || dbFormSpec.facility.orgId.includes('7239')\r\n\r\n formik.setFieldValue('disclosurePurposeGroup', requestPurposeNumber === '1' ? NYPOrg ? 'Patient Request' : 'Personal Reasons' : requestPurposeNumber === '3' ? 'Continuation of Care' : requestPurposeNumber === '4' ? 'Insurance Purposes' : requestPurposeNumber === '5' ? 'Immunization' : requestPurposeNumber === '6' ? 'Legal Purposes' : requestPurposeNumber === '7' ? 'Employer Requirement' : formik.values.requestPurposePdf);\r\n\r\n patientForm && formik.setFieldValue('pdf_PAddress', `${formik.values.PAddress1} ${formik.values.PAddress2} ${formik.values.PCity} ${formik.values.PState} ${formik.values.PZip}`);\r\n proxyForm && formik.setFieldValue('RepName', `${formik.values.RepFName} ${formik.values.RepMName && formik.values.RepMName + ' '}${formik.values.RepLName}`);\r\n proxyForm && formik.setFieldValue('pdf_RepAddress', `${formik.values.RepAddress1} ${formik.values.RepAddress2} ${formik.values.RepCity} ${formik.values.RepState} ${formik.values.RepZip}`);\r\n proxyForm && formik.setFieldValue('pdf_rrelationship', formik.values.rrelationship);\r\n\r\n formik.setFieldValue('pdf_PName', `${formik.values.PFName} ${formik.values.PMName && formik.values.PMName + ' '}${formik.values.PLName}`);\r\n formik.setFieldValue('pdf_RAddress', `${formik.values.RAddress1} ${formik.values.RAddress2} ${formik.values.RCity} ${formik.values.RState} ${formik.values.RZip}`);\r\n formik.values.dosFrom1 && formik.values.dosTo1 && formik.setFieldValue('pdf_serviceDates', `${new Date(formik.values.dosFrom1).toLocaleDateString('en-US', { timeZone: 'UTC' })} - ${new Date(formik.values.dosTo1).toLocaleDateString('en-US', { timeZone: 'UTC' })}`);\r\n formik.setFieldValue('pdf_deliveryMethod', releaseMode === '2' ? 'Electronic copy of records' : releaseMode === '5' ? 'Mail Paper Records' : releaseMode === '7' ? 'CD/DVD' : (releaseMode === '3' || releaseMode === '12') ? 'Fax' : (releaseMode === '8') ? 'Connect Patient Portal' : `Pickup records at ${dbFormSpec.facility.pickupLocation}`);\r\n\r\n\r\n\r\n //Hardcoded nonsense. This needs to be replaced by an auto generated hash table.\r\n let siHashMap = {\r\n \"DRUG\": \"Drug and/or alcohol abuse diagnosis and/or treatment\",\r\n \"GENETIC\": \"Genetic Testing Information\",\r\n \"HIV\": \"HIV/AIDS Related Information\",\r\n \"PSY\": \"Psychological/Psychiatric conditions\",\r\n \"STD\": \"Sexually transmitted disease(s) diagnosis and/or testing\",\r\n \"GENETICS\": \"Genetic Screening Test Results \",\r\n \"ETOH\": \"Alcohol and Drug Abuse Treatment Records\",\r\n \"MNT\": \"Details of Mental Health Diagnosis and/or Treatment provide by a Psychiatrist, Psychologist, Mental Health Clinical Nurse, or Licensed Mental Health Clinician (LMHC).\",\r\n \"SOC\": \"Confidential Communications with a Licensed Social Worker\",\r\n \"HEP\": \"Information related to diagnosis or treatment of Hepatitis\",\r\n \"PRG\": \"Information related to diagnosis or treatment of Pregnancy\",\r\n \"ABU\": \"Information related to spouse abuse and/or child abuse or neglect\",\r\n \"COU\": \"Information concerning family violence and/or Domestic Violence Victims' Counseling. \",\r\n \"SAC\": \"Contain information regarding rape and/or Sexual Assault Counseling\"\r\n };\r\n\r\n // make a hash map from the CustomSensitiveInfoList description. \r\n let customSensitiveMap = dbFormSpec.CustomSensitiveInfoList ? dbFormSpec.CustomSensitiveInfoList.CheckBoxes.reduce(function (hashmap, items) {\r\n hashmap[items.id.toUpperCase()] = items.text;\r\n return hashmap;\r\n }, {}) : {};\r\n\r\n let sensitiveMap = sensitiveInfo.map((item) => {\r\n let itemID = item.toUpperCase();\r\n return customSensitiveMap[itemID] ? customSensitiveMap[itemID] : siHashMap[itemID] ? siHashMap[itemID] : item\r\n }).join(', ');\r\n\r\n formik.setFieldValue('pdf_sensitiveInfoList', sensitiveMap);\r\n\r\n (appContext.localValues && appContext.localValues.facilityList) ? formik.setFieldValue('pdf_facilitiesList', appContext.localValues.facilityList.join(' | ')) : formik.setFieldValue('pdf_facilitiesList', facilityList.join(', '))\r\n\r\n // formik.setFieldValue('pdf_facilitiesList', facilityList.reduce((output, inputFacility)=>{\r\n // let facilityValue = inputFacility.replace('inputAuthorize', '')\r\n\r\n // for (let obj of dbFormSpec.release.facilities){\r\n // if (facilityValue === obj.key) {\r\n // if (output.length < 1) {\r\n // return output + obj.value\r\n // }\r\n // else {\r\n // return output + ', ' + obj.value\r\n // } \r\n // }\r\n // }\r\n // }, ''))\r\n\r\n formik.setFieldValue('pdf_releaseItemsList', infoToReleaseGroup.reduce((output, inputItem) => {\r\n\r\n for (let obj of dbFormSpec.release.items) {\r\n if (inputItem === obj.key) {\r\n if (output.length < 1) {\r\n return output + obj.value\r\n }\r\n else {\r\n return output + ' | ' + obj.value\r\n }\r\n }\r\n }\r\n }, '') + `${formik.values.txtotherrecords && ', ' + formik.values.txtotherrecords}`)\r\n\r\n // formik.setFieldValue('pdf_releaseItemsList', `...`)\r\n // formik.setFieldValue('pdf_doctorList', `...`)\r\n}","import React from 'react';\r\nimport {SummaryValue} from './SummaryModal'\r\nimport {BackArrowIcon, Icon_BulletPoint, Icon_PBV, Icon_Warning, Icon_MedicalRecord, Icon_DropdownArrow, Icon_MedicalFacility, Icon_Doctor} from '../form/styles/assets/icons'\r\n\r\nexport const resetFormLists = ({userInput, formik}) => {\r\n let values = userInput\r\n for (let property in values) {\r\n if (property.includes('requesteditem') || property.includes('inputAuthorizeFacility') || property.includes('exclude')){\r\n delete values[property];\r\n }\r\n }\r\n formik.setValues({...values, test: 'test'})\r\n formik.values.inputPhysicianNames !== 'not_applicable' && formik.setFieldValue('inputPhysicianNames', \"\")\r\n // Clear the names stored on inputPhysicianName in case user makes new selections on resubmit\r\n formik.setFieldValue('txtotherrecords', \"\")\r\n // Clear the names stored on txtotherrecords in case user makes new selections on resubmit\r\n}\r\n\r\nexport const doctorList = ({userInput, testFormSpec}) => {\r\n const doctorArray = [];\r\n for (let property in userInput) {\r\n property.includes('physician#') && doctorArray.push(}/>)\r\n }\r\n return doctorArray;\r\n}\r\n\r\nexport const sensitiveInfoDisclosures = (userInput) => {\r\n ['PSY', 'DRUG', 'HIV', 'STD', 'GENETIC', 'GENETICS'].filter((sensitiveItem) => {\r\n return !userInput.sensitiveInfo.includes(sensitiveItem.toUpperCase())\r\n }) \r\n}\r\n\r\nexport const sensitiveInfoToggle = (sensitiveInfoDropped, setSensitiveInfoDropped) => {\r\n sensitiveInfoDropped ? setSensitiveInfoDropped(false) : setSensitiveInfoDropped(true)\r\n}\r\n\r\nexport const consoleLogs = (userInput, formik) => {\r\n // console.log(JSON.parse(window.sessionStorage.userInput))\r\n // console.log(formik)\r\n}\r\n\r\nexport const convertSubmissionObject = async (formik, orgId, outPatientSummaryList) => {\r\n // formik.setFieldValue('facilityList', formik.values.pdf_facilitiesList)\r\n const triPartiteOrg = orgId.includes('7042') || orgId.includes ('7101') || orgId.includes('7239')\r\n const bothwell = orgId.includes('1007302')\r\n let submissionObj = {}\r\n\r\n if (triPartiteOrg){ \r\n submissionObj = {...formik.values, facilityList: [formik.values.pdf_facilitiesList], pdf_facilitiesList: formik.values.pdf_facilitiesList + `${formik.values.facilityOther ? ', ' + formik.values.facilityOther : ''}` + `${outPatientSummaryList.length > 0 ? ' | OUTPATIENT FACILITIES: ' + outPatientSummaryList : ''}`, outPatientFacilities: outPatientSummaryList} \r\n }\r\n else if (bothwell) {\r\n submissionObj = {...formik.values, facilityList: [formik.values.pdf_facilitiesList], pdf_facilitiesList: formik.values.pdf_facilitiesList + `${formik.values.physicianList ? ', ' + formik.values.physicianList : ''}` + `${formik.values.facilityOther ? ', ' + formik.values.facilityOther : ''}`}\r\n }\r\n else {\r\n submissionObj = {...formik.values, facilityList: [formik.values.pdf_facilitiesList], pdf_facilitiesList: formik.values.pdf_facilitiesList + `${formik.values.facilityOther ? ', ' + formik.values.facilityOther : ''}`}\r\n }\r\n // formik.setFieldValue('pdf_facilitiesList', `${formik.values.pdf_facilitiesList} + ${formik.values.facilityOther}`)\r\n return submissionObj\r\n}","import React, {useState, useEffect, useContext} from 'react';\r\nimport Modal from \"react-modal\";\r\nimport axios from \"axios\";\r\nimport { getwayApi } from '../../../config/Constants';\r\nimport './styles/SummaryModal.scss';\r\n// import {SectionHeader} from '../../components/sectionHeader/sectionHeader'\r\n// import { testFormSpec } from '../../../context/formSpec_patient';\r\nimport Button from '../../components/Button/Button';\r\nimport { BackArrowIcon, Icon_BulletPoint, Icon_PBV, Icon_Warning, Icon_MedicalRecord, Icon_DropdownArrow, Icon_MedicalFacility, Icon_Doctor } from '../form/styles/assets/icons';\r\nimport { LogoAndTitle } from '../form/sections/LogoAndTitle_Section/LogoAndTitle';\r\nimport { object } from 'prop-types';\r\nimport { resetFormLists, doctorList, sensitiveInfoDisclosures, sensitiveInfoToggle, consoleLogs, convertSubmissionObject } from './logic';\r\nimport './summaryModal.scss';\r\nimport { CloseIcon } from '../form/styles/assets/icons';\r\nimport { ConfigContext } from '../form/DynamicForm/DynamicForm';\r\n\r\nexport const SummaryModal2 = ({ config, submitData, isModelOpen, setSummary, logo, formId, formik, testFormSpec, setNextPage, formType, sensitiveInfoOrg }) => {\r\n const [closeModal, setCloseModal] = useState(isModelOpen);\r\n const [sensitiveInfoDropped, setSensitiveInfoDropped] = useState(false);\r\n\r\n const { dbFormSpec } = useContext(ConfigContext);\r\n\r\n const userInput = formik.values;\r\n\r\n // document.getElementsByTagName('body')[0].style.overflow = 'hidden'\r\n\r\n const submitForm = async () => {\r\n convertSubmissionObject(formik, dbFormSpec.facility.orgId, outPatientSummaryList).then((value) => {\r\n setNextPage(true);\r\n submitData(value);\r\n })\r\n }\r\n\r\n useEffect(() => {\r\n dbFormSpec.facility.orgId.includes('7307') ? console.log('') : formik.setFieldValue('pdf_facilitiesList', formik.values.facilityList.join(', '))\r\n }, [formik.values.facilityList])\r\n // REFACTOR TO ADD THIS TO SELECTANDTYPE COMPONENT\r\n\r\n useEffect(() => {\r\n userInput.PPhone === '' && formik.setFieldValue('PPhone', 'No Phone Provided')\r\n if (userInput.PPhone === 'No Phone Provided') {\r\n return () => { formik.setFieldValue('PPhone', '') }\r\n }\r\n }, [formik.values.PPhone])\r\n\r\n useEffect(() => {\r\n userInput.PEmail === '' && formik.setFieldValue('PEmail', 'No Email Provided')\r\n if (userInput.PEmail === 'No Email Provided') {\r\n return () => { formik.setFieldValue('PEmail', '') }\r\n }\r\n }, [formik.values.PEmail, formik.values.PPhone])\r\n\r\n const resetFormLists = () => {\r\n let values = userInput\r\n for (let property in values) {\r\n if (property.includes('requesteditem') || property.includes('inputAuthorizeFacility') || property.includes('exclude')) {\r\n delete values[property];\r\n }\r\n }\r\n // formik.setValues({...values, test: 'test'})\r\n formik.values.inputPhysicianNames !== 'not_applicable' && formik.setFieldValue('inputPhysicianNames', \"\")\r\n // Clear the names stored on inputPhysicianName in case user makes new selections on resubmit\r\n // formik.setFieldValue('txtotherrecords', \"\")\r\n // Clear the names stored on txtotherrecords in case user makes new selections on resubmit\r\n }\r\n\r\n const ui = userInput\r\n\r\n const patientInputObj = {\r\n sectionTitle: 'Patient Information',\r\n values: {\r\n name: `${ui.PFName} ${ui.PMName} ${ui.PLName}`,\r\n phone: ui.PPhone,\r\n email: ui.PEmail,\r\n date_of_birth: ui.PDOB,\r\n patient_address: `${ui.PAddress1} ${ui.PAddress2} ${ui.PCity}, ${ui.PState} ${ui.PZip}`,\r\n maiden_or_other_name: ui.POName\r\n }\r\n }\r\n\r\n const repInputObj = {\r\n sectionTitle: 'Representative Information',\r\n values: {\r\n name: `${ui.RepFName} ${ui.RepMName} ${ui.RepLName}`,\r\n phone: ui.RepPhone,\r\n email: ui.RepEmail,\r\n relationship_to_patient: ui.rrelationship,\r\n address: `${ui.RepAddress1} ${ui.RepAddress2} ${ui.RepCity}, ${ui.RepState} ${ui.RepZip}`\r\n }\r\n }\r\n const deliveryInputObj = {\r\n sectionTitle: 'Delivery of Records',\r\n values: {\r\n recipient_name: ui.RName,\r\n recipient_phone: ui.RPhone,\r\n recipient_email: ui.REmail,\r\n recipient_fax: ui.RFax,\r\n recipient_address: ui.pdf_RAddress,\r\n delivery_method: ui.pdf_deliveryMethod,\r\n }\r\n }\r\n\r\n //Filter out the entries with empty text\r\n const filteredLog = Object.keys(ui).reduce((newObj, key) => {\r\n if ((ui[key])&& ui[key] !== \"\") {\r\n newObj[key] = ui[key];\r\n }\r\n return newObj;\r\n }, {});\r\n\r\n\r\n //Populate the facility list for the summary page and the fax.\r\n const outPatientSummaryList = `${Object.keys(filteredLog).filter((key) => { return key.includes('CustomTextbox_') }).map((key) => { return `${key.replace('CustomTextbox_', '')}: ${filteredLog[key]}` }).join(' | ')}`\r\n \r\n\r\n\r\n const orgId = dbFormSpec.facility.orgId;\r\n // const triPartiteOrg = orgId.includes('7042') || orgId.includes ('7101') || orgId.includes('7239')\r\n \r\n const recordsInputObj = {\r\n sectionTitle: 'Medical Records',\r\n values: {\r\n medical_records_released: ui.pdf_releaseItemsList,\r\n sensitive_info_released: sensitiveInfoOrg ? ui.pdf_sensitiveInfoList : null,\r\n dates_of_service: ui.pdf_serviceDates,\r\n facilities_releasing_info: ui.pdf_facilitiesList,\r\n other_facilities: ui.facilityOther,\r\n outpatient_facilities: outPatientSummaryList,\r\n request_purpose: ui.disclosurePurposeGroup,\r\n additional_information: ui.OtherNote\r\n }\r\n }\r\n\r\n\r\n return(\r\n
    \r\n {/* { setCloseModal(false); setSummary(false); resetFormLists(); }}\r\n >\r\n
    \r\n \r\n {'Back to Form'}\r\n
    \r\n
    */}\r\n \r\n \r\n \r\n
    \r\n
    \r\n \r\n
    { setCloseModal(false); setSummary(false); resetFormLists(); }}>\r\n

    Back to Form

    \r\n \r\n
    \r\n
    \r\n \r\n
    \r\n\r\n
    \r\n \r\n {formType === 'Representative' && }\r\n \r\n
    \r\n
    \r\n
    {recordsInputObj.sectionTitle}
    \r\n {Object.entries(recordsInputObj.values).map((valuePair)=>{\r\n if (valuePair[1]){\r\n return (\r\n
    \r\n

    {valuePair[0].replaceAll('_', ' ')}

    \r\n

    {valuePair[1]}

    \r\n
    \r\n )\r\n }\r\n else{ return null}\r\n })}\r\n
    \r\n\r\n
    \r\n\r\n
    \r\n

    \r\n By submitting this request, you consent to the release of the medical records requested. This consent will expire {userInput.expirationdate}.\r\n {/*
    \r\n
    \r\n If a fee does apply, you will be notified before your request is processed. */}\r\n

    \r\n
    \r\n \r\n
    \r\n \r\n )\r\n \r\n}\r\n\r\n\r\n\r\nconst WrappingSec = ({sectionInputs, config}) => {\r\n return (\r\n
    \r\n
    {sectionInputs.sectionTitle}
    \r\n
    \r\n
    \r\n {Object.entries(sectionInputs.values).map((valuePair, index) => {\r\n if (index < 3 && valuePair[1] && !valuePair[1].includes('undefined')) {\r\n return (\r\n
    \r\n

    {valuePair[0].replaceAll('_', ' ')}

    \r\n

    {valuePair[1]}

    \r\n
    \r\n )\r\n }\r\n })}\r\n
    \r\n
    \r\n {Object.entries(sectionInputs.values).map((valuePair, index) => {\r\n if (index >= 3 && valuePair[1] && !valuePair[1].includes('undefined')) {\r\n return (\r\n
    \r\n

    {valuePair[0].replaceAll('_', ' ')}

    \r\n

    {valuePair[1]}

    \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, { useState } from 'react';\r\nimport './styles.scss'\r\nimport ErrorIcon from '../../assets/error-icon.png'\r\nimport PBVLogo from '../../assets/pbv.png'\r\nimport Button from '../../components/Button/Button'\r\n\r\nconst SubmissionErrorScreen = ({\r\n errorInfo,\r\n orgLogo,\r\n formSpec,\r\n setNextPage,\r\n setSubmissionError,\r\n setShowSummary\r\n}) => {\r\n\r\n const goBackToForm = () => {\r\n setNextPage(false)\r\n setSubmissionError(false)\r\n setShowSummary(false)\r\n sessionStorage.setItem('previousSubmission', true);\r\n console.log(sessionStorage)\r\n }\r\n\r\n console.log(errorInfo)\r\n\r\n return (\r\n
    \r\n \r\n
    \r\n \"error\"\r\n

    Something went wrong

    \r\n

    We’re sorry, but we ran into an issue submitting your request. Our team is working to resolve the problem.

    \r\n

    Error Code: {`${errorInfo.status}789-1`}

    \r\n
    \r\n \r\n
    \r\n )\r\n}\r\n\r\nexport default SubmissionErrorScreen;","import React, {useState, useEffect, useContext} from 'react';\r\nimport Modal from \"react-modal\";\r\nimport axios from \"axios\";\r\nimport {getwayApi} from '../../../config/Constants'\r\nimport './styles/SummaryModal.scss'\r\n// import {SectionHeader} from '../../components/sectionHeader/sectionHeader'\r\n// import { testFormSpec } from '../../../context/formSpec_patient';\r\nimport Button from '../../components/Button/Button'\r\nimport {BackArrowIcon, Icon_BulletPoint, Icon_PBV, Icon_Warning, Icon_MedicalRecord, Icon_DropdownArrow, Icon_MedicalFacility, Icon_Doctor} from '../form/styles/assets/icons'\r\nimport {LogoAndTitle} from '../form/sections/LogoAndTitle_Section/LogoAndTitle'\r\nimport { object } from 'prop-types';\r\nimport {resetFormLists, doctorList, sensitiveInfoDisclosures, sensitiveInfoToggle, consoleLogs, convertSubmissionObject} from './logic'\r\nimport './summaryModal.scss'\r\nimport {CloseIcon} from '../form/styles/assets/icons'\r\nimport { ConfigContext } from '../form/DynamicForm/DynamicForm';\r\n\r\nexport const SummaryModalMultiLanguage = ({config, submitData, isModelOpen, setSummary, logo, formId, formik, testFormSpec, setNextPage, formType,languageText}) =>{\r\n const [closeModal, setCloseModal] = useState(isModelOpen)\r\n const [sensitiveInfoDropped, setSensitiveInfoDropped] = useState(false)\r\n\r\n const {dbFormSpec} = useContext(ConfigContext);\r\n\r\n const userInput = formik.values;\r\n\r\n // document.getElementsByTagName('body')[0].style.overflow = 'hidden'\r\n\r\n const submitForm = async () => {\r\n convertSubmissionObject(formik, dbFormSpec.facility.orgId, outPatientSummaryList).then((value)=>{\r\n setNextPage(true);\r\n submitData(value);\r\n })\r\n };\r\n \r\n useEffect(()=>{\r\n dbFormSpec.facility.orgId.includes('7307') ? console.log('') : formik.setFieldValue('pdf_facilitiesList', formik.values.facilityList.join(', '))\r\n }, [formik.values.facilityList]);\r\n // REFACTOR TO ADD THIS TO SELECTANDTYPE COMPONENT\r\n\r\n useEffect(()=>{\r\n userInput.PPhone === '' && formik.setFieldValue('PPhone', 'No Phone Provided')\r\n if (userInput.PPhone === 'No Phone Provided') {\r\n return ()=>{formik.setFieldValue('PPhone', '')}\r\n } \r\n }, [formik.values.PPhone]);\r\n \r\n useEffect(()=>{\r\n userInput.PEmail === '' && formik.setFieldValue('PEmail', 'No Email Provided')\r\n if (userInput.PEmail === 'No Email Provided') {\r\n return ()=>{formik.setFieldValue('PEmail', '')}\r\n }\r\n }, [formik.values.PEmail, formik.values.PPhone])\r\n\r\n useEffect(() => { formik.setFieldValue('languageOverride', dbFormSpec.languageOverride); }, []);\r\n\r\n const resetFormLists = () => {\r\n let values = userInput\r\n for (let property in values) {\r\n if (property.includes('requesteditem') || property.includes('inputAuthorizeFacility') || property.includes('exclude')){\r\n delete values[property];\r\n }\r\n }\r\n // formik.setValues({...values, test: 'test'})\r\n formik.values.inputPhysicianNames !== 'not_applicable' && formik.setFieldValue('inputPhysicianNames', \"\")\r\n // Clear the names stored on inputPhysicianName in case user makes new selections on resubmit\r\n // formik.setFieldValue('txtotherrecords', \"\")\r\n // Clear the names stored on txtotherrecords in case user makes new selections on resubmit\r\n }\r\n\r\n const ui = userInput;\r\n\r\n \r\n\r\n\r\n const patientInputObjML = {\r\n sectionTitle: languageText.SummaryModal.Titles.PatInfo,\r\n values: {\r\n name: `${ui.PFName} ${ui.PMName} ${ui.PLName}`,\r\n phone: ui.PPhone,\r\n email: ui.PEmail,\r\n date_of_birth: ui.PDOB,\r\n patient_address: `${ui.PAddress1} ${ui.PAddress2} ${ui.PCity}, ${ui.PState} ${ui.PZip}`,\r\n maiden_or_other_name: ui.POName\r\n },\r\n translatedValues:\r\n {\r\n name: `${languageText.SummaryModal.Labels.name}`,\r\n phone: `${languageText.SummaryModal.Labels.phone}`,\r\n email: languageText.SummaryModal.Labels.email,\r\n date_of_birth: languageText.SummaryModal.Labels.date_of_birth,\r\n patient_address: languageText.SummaryModal.Labels.patient_address,\r\n maiden_or_other_name: languageText.SummaryModal.Labels.maiden_or_other_name\r\n }\r\n };\r\n \r\n\r\n const repInputObjML = {\r\n sectionTitle: languageText.SummaryModal.Titles.RepInfo,\r\n values: {\r\n name: `${ui.RepFName} ${ui.RepMName} ${ui.RepLName}`,\r\n phone: ui.RepPhone,\r\n email: ui.RepEmail,\r\n relationship_to_patient: ui.rrelationship,\r\n address: `${ui.RepAddress1} ${ui.RepAddress2} ${ui.RepCity}, ${ui.RepState} ${ui.RepZip}`\r\n },\r\n translatedValues: {\r\n name: languageText.SummaryModal.Labels.name,\r\n phone: languageText.SummaryModal.Labels.phone,\r\n email: languageText.SummaryModal.Labels.email,\r\n relationship_to_patient: languageText.SummaryModal.Labels.relationship_to_patient,\r\n address: languageText.SummaryModal.Labels.address\r\n }\r\n }\r\n\r\n\r\n const deliveryInputObjML = {\r\n sectionTitle: languageText.SummaryModal.Titles.RecordsDelivery,\r\n values: {\r\n recipient_name: ui.RName,\r\n recipient_phone: ui.RPhone,\r\n recipient_email: ui.REmail,\r\n recipient_fax: ui.RFax,\r\n recipient_address: ui.pdf_RAddress,\r\n delivery_method: ui.pdf_deliveryMethod,\r\n },\r\n translatedValues: {\r\n recipient_name: languageText.SummaryModal.Labels.recipient_name,\r\n recipient_phone: languageText.SummaryModal.Labels.recipient_phone,\r\n recipient_email: languageText.SummaryModal.Labels.recipient_email,\r\n recipient_fax: languageText.SummaryModal.Labels.recipient_fax,\r\n recipient_address: languageText.SummaryModal.Labels.recipient_address,\r\n delivery_method: languageText.SummaryModal.Labels.delivery_method,\r\n }\r\n }\r\n\r\n const recordsInputObjML = {\r\n sectionTitle: languageText.SummaryModal.Titles.MedRecord,\r\n values: {\r\n medical_records_released: ui.pdf_releaseItemsList,\r\n sensitive_info_released: dbFormSpec.facility.orgId.includes('7042') ? ui.pdf_sensitiveInfoList : null,\r\n dates_of_service: ui.pdf_serviceDates,\r\n facilities_releasing_info: ui.pdf_facilitiesList,\r\n other_facilities: ui.facilityOther,\r\n outpatient_facilities: outPatientSummaryList,\r\n request_purpose: ui.disclosurePurposeGroup,\r\n additional_information: ui.OtherNote\r\n },\r\n translatedValues: {\r\n medical_records_released: languageText.SummaryModal.Labels.medical_records_released,\r\n sensitive_info_released: dbFormSpec.facility.orgId.includes('7042') ? languageText.SummaryModal.Labels.sensitive_info_released : null,\r\n dates_of_service: languageText.SummaryModal.Labels.dates_of_service,\r\n facilities_releasing_info: languageText.SummaryModal.Labels.facilities_releasing_info,\r\n other_facilities: languageText.SummaryModal.Labels.other_facilities,\r\n outpatient_facilities: languageText.SummaryModal.Labels.outpatient_facilities,\r\n request_purpose: languageText.SummaryModal.Labels.request_purpose,\r\n additional_information: languageText.SummaryModal.Labels.additional_information\r\n }\r\n }\r\n\r\n \r\n const patientInputObj = {\r\n sectionTitle: languageText.SummaryModal.Titles.PatInfo,\r\n values: {\r\n name: `${ui.PFName} ${ui.PMName} ${ui.PLName}`,\r\n phone: ui.PPhone,\r\n email: ui.PEmail,\r\n date_of_birth: ui.PDOB,\r\n patient_address: `${ui.PAddress1} ${ui.PAddress2} ${ui.PCity}, ${ui.PState} ${ui.PZip}`,\r\n maiden_or_other_name: ui.POName\r\n }\r\n }\r\n \r\n const repInputObj = {\r\n sectionTitle: languageText.SummaryModal.Titles.RepInfo,\r\n values: {\r\n name: `${ui.RepFName} ${ui.RepMName} ${ui.RepLName}`,\r\n phone: ui.RepPhone,\r\n email: ui.RepEmail,\r\n relationship_to_patient: ui.rrelationship,\r\n address: `${ui.RepAddress1} ${ui.RepAddress2} ${ui.RepCity}, ${ui.RepState} ${ui.RepZip}`\r\n }\r\n }\r\n\r\n\r\n const deliveryInputObj = {\r\n sectionTitle: languageText.SummaryModal.Titles.RecordsDelivery,\r\n values: {\r\n recipient_name: ui.RName,\r\n recipient_phone: ui.RPhone,\r\n recipient_email: ui.REmail,\r\n recipient_fax: ui.RFax,\r\n recipient_address: ui.pdf_RAddress,\r\n delivery_method: ui.pdf_deliveryMethod,\r\n }\r\n }\r\n \r\n\r\n const outPatientSummaryList = `${Object.keys(ui).filter((key)=>{return key.includes('OP_')}).map((key)=>{return `${key.replace('OP_', '')}: ${ui[key]}`}).join(' | ')}`\r\n \r\n const recordsInputObj = {\r\n sectionTitle: languageText.SummaryModal.Titles.MedRecord,\r\n values: {\r\n medical_records_released: ui.pdf_releaseItemsList,\r\n sensitive_info_released: dbFormSpec.facility.orgId.includes('7042') ? ui.pdf_sensitiveInfoList : null,\r\n dates_of_service: ui.pdf_serviceDates,\r\n facilities_releasing_info: ui.pdf_facilitiesList,\r\n other_facilities: ui.facilityOther,\r\n outpatient_facilities: outPatientSummaryList,\r\n request_purpose: ui.disclosurePurposeGroup,\r\n additional_information: ui.OtherNote\r\n }\r\n }\r\n\r\n\r\n return(\r\n
    \r\n\r\n \r\n \r\n \r\n
    \r\n
    \r\n \r\n
    { setCloseModal(false); setSummary(false); resetFormLists(); }}>\r\n

    {languageText.SummaryModal.Text.BackToForm}

    \r\n \r\n
    \r\n
    \r\n \r\n
    \r\n\r\n
    \r\n \r\n {formType === 'Representative' && }\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 {languageText.SummaryModal.Text.SubmitDisclaimer} {userInput.expirationdate}.\r\n {/*
    \r\n
    \r\n If a fee does apply, you will be notified before your request is processed. */}\r\n

    \r\n
    \r\n \r\n
    \r\n
    \r\n )\r\n \r\n}\r\n\r\n\r\nconst WrappingSecMultiLanguage = ({sectionInputs, config}) => {\r\n return (\r\n
    \r\n
    {sectionInputs.sectionTitle}
    \r\n
    \r\n
    \r\n {Object.entries(sectionInputs.values).map((valuePair, index) => {\r\n if (index < 3 && valuePair[1] && !valuePair[1].includes('undefined')) {\r\n let itemText = valuePair[1];\r\n let itemKey = valuePair[0]; \r\n let itemLabel = sectionInputs.translatedValues[itemKey];\r\n return (\r\n
    \r\n

    {itemLabel}

    \r\n

    {itemText}

    \r\n
    \r\n )\r\n }\r\n })}\r\n
    \r\n
    \r\n {Object.entries(sectionInputs.values).map((valuePair, index) => {\r\n if (index >= 3 && valuePair[1] && !valuePair[1].includes('undefined')) {\r\n\r\n let itemText = valuePair[1];\r\n let itemKey = valuePair[0]; \r\n let itemLabel = sectionInputs.translatedValues[itemKey];\r\n return (\r\n
    \r\n

    {itemLabel}

    \r\n

    {itemText}

    \r\n
    \r\n )\r\n }\r\n })}\r\n
    \r\n
    \r\n\r\n
    \r\n )\r\n}\r\n\r\n\r\nconst WrappingSec = ({sectionInputs, config}) => {\r\n return (\r\n
    \r\n
    {sectionInputs.sectionTitle}
    \r\n
    \r\n
    \r\n {Object.entries(sectionInputs.values).map((valuePair, index) => {\r\n if (index < 3 && valuePair[1] && !valuePair[1].includes('undefined')) {\r\n return (\r\n
    \r\n

    {valuePair[0].replaceAll('_', ' ')}

    \r\n

    {valuePair[1]}

    \r\n
    \r\n )\r\n }\r\n })}\r\n
    \r\n
    \r\n {Object.entries(sectionInputs.values).map((valuePair, index) => {\r\n if (index >= 3 && valuePair[1] && !valuePair[1].includes('undefined')) {\r\n return (\r\n
    \r\n

    {valuePair[0].replaceAll('_', ' ')}

    \r\n

    {valuePair[1]}

    \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, { useContext, useEffect, useState } from \"react\";\r\nimport { ConfigContext } from '../../DynamicForm/DynamicForm';\r\nimport './DisclaimersSection.scss'\r\n\r\n\r\nfunction DisclaimerTextRender({ diList }) {\r\n function DisclaimerTextEntry({ text, fontSize, fontWeight, fontStyle }) {\r\n return (
    \r\n {text}\r\n
    );\r\n }\r\n // 9 arrays map to 9 boxes\r\n let txtScrubbed = [[], [], [], [], [], [], [], [], []];\r\n let txtRendered = [[], [], [], [], [], [], [], [], []];\r\n // normalize data fields\r\n for (var i = 0; i < diList.length; i++) {\r\n let di = diList[i];\r\n\r\n di.fontWeight = (di.bold) ? \"bold\" : \"\";\r\n di.fontSize = (Number.parseInt(di.size, 10) || 12);\r\n di.fontStyle = (di.italic) ? \"italic\" : \"\";\r\n\r\n let outI = Number.parseInt(di.box, 10) || 0;\r\n\r\n if (outI > 10 || outI < 0) { outI = 0; }\r\n txtScrubbed[outI].push(di);\r\n }\r\n\r\n for (var i = 0; i < txtRendered.length; i++) {\r\n txtRendered[i] = txtScrubbed[i].map((props) =>\r\n \r\n );\r\n }\r\n\r\n return (\r\n
    \r\n
    \r\n
    \r\n
    {txtRendered[0]}
    \r\n
    \r\n
    {txtRendered[1]}
    \r\n
    \r\n
    {txtRendered[2]}
    \r\n
    \r\n
    \r\n
    {txtRendered[3]}
    \r\n
    {txtRendered[4]}
    \r\n
    {txtRendered[5]}
    \r\n
    \r\n
    \r\n
    \r\n
    {txtRendered[6]}
    \r\n
    {txtRendered[7]}
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    {txtRendered[8]}
    \r\n
    \r\n
    \r\n
    \r\n );\r\n}\r\n\r\n\r\nfunction ContactListRender({ props }) {\r\n\r\n const titleText = props.title || \"\";\r\n const headerRows = props.Headers.map((text) => {text});\r\n const bodyRows = props.text.map((textLine) => {textLine.map((textRow) => {textRow})} );\r\n\r\n return (\r\n
    \r\n
    {titleText}
    \r\n \r\n {headerRows}\r\n \r\n {bodyRows}\r\n \r\n
    \r\n
    \r\n );\r\n}\r\n\r\nexport const ContactListSection = () => {\r\n\r\n const { dbFormSpec } = useContext(ConfigContext);\r\n if (dbFormSpec) {\r\n if (dbFormSpec.CustomContactList) {\r\n return (\r\n
    \r\n \r\n
    \r\n );\r\n }\r\n }\r\n\r\n return (\r\n <>\r\n \r\n );\r\n};\r\n\r\n\r\n\r\nexport const DisclaimersSection = () => {\r\n const { dbFormSpec } = useContext(ConfigContext);\r\n if (dbFormSpec) {\r\n if (dbFormSpec.CustomDisclaimerText) {\r\n return (\r\n
    \r\n \r\n
    \r\n );\r\n }\r\n }\r\n\r\n return (\r\n <>\r\n \r\n );\r\n};\r\n\r\n\r\n\r\n","import React, { useEffect, useState, useContext } from \"react\";\r\nimport { registerLocales as registerLocalesForDatePickers, modalCustomStyles } from \"../../../../config/Configuration\";\r\nimport { Formik } from \"formik\";\r\nimport AuthorizationToRelease from \"../sections/MedicalFacilitiesSection/AuthorizationToReleaseSection\";\r\nimport InformationToRelease from \"../sections/InformationToReleaseSection/InformationToReleaseSection\";\r\nimport DisclosureOfSensitiveInformation from \"../sections/SensitiveInfoSection/DisclosureOfSensitiveInformationSection\";\r\nimport SensitiveInfoSection from \"../sections/SensitiveInfoSection/SensitiveInfoSection\";\r\nimport RecipientOfInfo from \"../sections/RecipientOfInfoSection/RecipientOfInfoSection\";\r\nimport DeliveryMethod from \"../sections/DeliveryMethod_Section/DeliveryMethodSection\";\r\nimport ReleaseDatesSection from \"../sections/ReleaseDatesSection/ReleaseDatesSection\";\r\nimport { SupportingDocsSection } from '../sections/SupportingDocsSection/SupportingDocsSection';\r\nimport { mapErrorsToSection } from \"../../../../functions/mapErrorsToSection\";\r\nimport { inputClasses } from \"../../../../formik/refactorOut/styles\";\r\nimport { hideErrorModalAction } from \"../../../../context/actions/hideErrorModalAction\";\r\nimport { showErrorModalAction } from \"../../../../context/actions/showErrorModalAction\";\r\nimport { RepContactInfoSection } from '../sections/RepContactInfoSection/RepContactInfoSection';\r\nimport { ProxyInfoSection } from '../sections/ProxyInfoSection/view';\r\nimport { AdditionalInfoSection } from '../sections/AdditionalInfoSection/AdditionalInfoSection';\r\nimport { TempPage } from '../../../../formik/refactorOut/TempPage';\r\nimport axios from \"axios\";\r\nimport { SummaryModal } from '../../SummaryModal/SummaryModal';\r\nimport { spaEndpointHost, vraUX, apiHost, getwayApi } from \"../../../../config/Constants\";\r\nimport ErrorFocus from '../../../../formik/refactorOut/ErrorFocus'\r\nimport { TriLogoAndBanner } from '../orgs/7042/components'\r\nimport { LogoAndTitle } from '../sections/LogoAndTitle_Section/LogoAndTitle';\r\nimport { LoadingScreen } from '../../../components/LoadingScreen/LoadingScreen';\r\nimport { submitFileData, deleteFileData, submitUserData } from '../../../../functions/apiCalls';\r\nimport { orderedValues } from '../orderedValues';\r\nimport { array } from \"prop-types\";\r\nimport '../form.scss';\r\nimport { autofillForm } from '../../../../deleter/autofill';\r\nimport { AutoFillButton_dev } from '../../../../config/devComponents';\r\nimport { preventSubmission, setAllValuesToTouched, scrollToFirstError, addSummaryBackLogic, removeSummaryBackLogic, proceedToSummary, checkFormForErrors, assignPDFValues } from './logic';\r\nimport { assignPDFValuesML } from './logicML';\r\nimport { SummaryModal2 } from '../../SummaryModal/SummaryModal2';\r\nimport SubmissionErrorScreen from \"../../SubmissionError/view\";\r\nimport { CheckLanguage } from \"../../../languages/languages\";\r\nimport { GetLanguageText } from \"../../../languages/languages\";\r\nimport { SummaryModalMultiLanguage } from \"../../SummaryModal/SummaryModal_MultiLanguage\";\r\nimport { DisclaimersSection, ContactListSection } from \"../sections/DisclaimersSection/DisclaimersSection\";\r\n\r\nregisterLocalesForDatePickers();\r\n\r\nexport const ConfigContext = React.createContext();\r\n\r\nconst DynamicForm = (props) => {\r\n\r\n // State values\r\n const [nextPage, setNextPage] = useState(false);\r\n const [showSummary, setShowSummary] = useState(false);\r\n const [errorTofocus, setErrorTofocus] = useState(false);\r\n const [submissionError, setSubmissionError] = useState(false);\r\n const [localError, setLocalError] = useState(false);\r\n const [includeSensitiveInfo, setIncludeSensitiveInfo] = useState(false);\r\n const sessionId = props.session;\r\n\r\n // Local variables\r\n const { validationValues, fields, validationSchema, dbFormSpec, formType } = props.formInfo;\r\n const formId = props.formId;\r\n const proxyForm = formType === 'Representative';\r\n const patientForm = formType === 'Patient';\r\n const devMode = window.location.hostname === 'localhost';\r\n const logo1 = \r\n const errorContextObject = { dbFormSpec };\r\n const orgId = dbFormSpec.facility.orgId\r\n const triPartiteOrg = orgId.includes('7042') || orgId.includes('7101') || orgId.includes('7239')\r\n const sensitiveInfoOrg = triPartiteOrg || orgId.includes('7152');\r\n \r\n\r\n\r\n // Sets the page title\r\n useEffect( () => {\r\n if(dbFormSpec.ShowSensitiveInfo === true){\r\n setIncludeSensitiveInfo(true)\r\n }\r\n }, [])\r\n \r\n useEffect(() => {\r\n document.title = 'Request for Medical Records';\r\n // Should we also add a custom favicon for each organization? \r\n }, []);\r\n\r\n // Adds logic so that the back button closes the summary modal, but does not go back a page.\r\n useEffect(() => {\r\n addSummaryBackLogic(setShowSummary)\r\n return () => { removeSummaryBackLogic(setShowSummary) }\r\n }, [])\r\n\r\n\r\n\r\n const languageID = CheckLanguage(dbFormSpec);\r\n\r\n\r\n\r\n if (languageID != \"default\") {\r\n\r\n\r\n const languageText = GetLanguageText(languageID);\r\n if (!nextPage) {\r\n return (\r\n
    \r\n \r\n proceedToSummary(values, setShowSummary)} >\r\n {formik => {\r\n const { isValid, errors, dirty, handleSubmit } = formik;\r\n const noErrors = isValid;\r\n const generalContextObject = { test: 'test', dbFormSpec, formik, inputClasses, validationValues, formType, devMode: devMode, formId: props.formId, logo: logo1, showSummary: showSummary, localError, setLocalError }\r\n const summaryContextObject = { formik, dbFormSpec, formId, inputClasses, validationValues, formType }\r\n return (\r\n
    {\r\n checkFormForErrors(e, noErrors, setErrorTofocus, setAllValuesToTouched, formik)\r\n Object.keys(formik.errors).length === 0 && assignPDFValuesML(formik, dbFormSpec, formType, generalContextObject, languageText)\r\n devMode && console.log('VALUES', formik.values, 'ERRORS', formik.errors)\r\n }}\r\n >\r\n\r\n {/* {devMode && } */}\r\n\r\n \r\n \r\n {proxyForm && }\r\n {proxyForm && }\r\n \r\n {/* {dbFormSpec.facility.orgId.includes('7042') && } */}\r\n {includeSensitiveInfo && }\r\n \r\n
    \r\n \r\n \r\n
    \r\n {patientForm && }\r\n \r\n\r\n \r\n \r\n\r\n \r\n\r\n\r\n
    \r\n\r\n\r\n {/*================================================== Summary Modal ==================================================*/}\r\n\r\n {showSummary && window.history.state &&\r\n \r\n \r\n \r\n }\r\n\r\n {showSummary ?\r\n document.getElementsByTagName('body')[0].setAttribute('style', 'overflow: hidden')\r\n :\r\n document.getElementsByTagName('body')[0].setAttribute('style', 'overflow: scroll')\r\n }\r\n\r\n\r\n {/* */}\r\n \r\n );\r\n }}\r\n
    \r\n
    \r\n );\r\n }\r\n else {\r\n\r\n // This is not used. \r\n return (\r\n \r\n {!submissionError.status ?\r\n \r\n :\r\n \r\n }\r\n \r\n )\r\n return ()\r\n }\r\n\r\n } else {\r\n\r\n if (!nextPage) {\r\n return (\r\n
    \r\n \r\n\r\n proceedToSummary(values, setShowSummary)} >\r\n {formik => {\r\n const { isValid, errors, dirty, handleSubmit } = formik;\r\n const noErrors = isValid;\r\n const generalContextObject = { test: 'test', dbFormSpec, formik, inputClasses, validationValues, formType, devMode: devMode, formId: props.formId, logo: logo1, showSummary: showSummary, localError, setLocalError }\r\n const summaryContextObject = { formik, dbFormSpec, formId, inputClasses, validationValues, formType }\r\n return (\r\n
    {\r\n checkFormForErrors(e, noErrors, setErrorTofocus, setAllValuesToTouched, formik)\r\n Object.keys(formik.errors).length === 0 && assignPDFValues(formik, dbFormSpec, formType, generalContextObject)\r\n devMode && console.log('VALUES', formik.values, 'ERRORS', formik.errors)\r\n }}\r\n >\r\n\r\n {/* {devMode && } */}\r\n\r\n \r\n \r\n {proxyForm && }\r\n {proxyForm && }\r\n \r\n {/* {dbFormSpec.facility.orgId.includes('7042') && } */}\r\n {includeSensitiveInfo && }\r\n \r\n
    \r\n \r\n \r\n
    \r\n {patientForm && }\r\n \r\n\r\n \r\n \r\n\r\n \r\n\r\n
    \r\n\r\n\r\n {/*================================================== Summary Modal ==================================================*/}\r\n\r\n {showSummary && window.history.state &&\r\n \r\n \r\n \r\n }\r\n\r\n {showSummary ?\r\n document.getElementsByTagName('body')[0].setAttribute('style', 'overflow: hidden')\r\n :\r\n document.getElementsByTagName('body')[0].setAttribute('style', 'overflow: scroll')\r\n }\r\n\r\n\r\n {/* */}\r\n \r\n );\r\n }}\r\n
    \r\n
    \r\n );\r\n }\r\n else {\r\n // if it's loading, display the loading screen\r\n return (\r\n \r\n {!submissionError.status ?\r\n \r\n :\r\n \r\n }\r\n \r\n )\r\n return ()\r\n }\r\n\r\n }\r\n};\r\n\r\n\r\nexport default DynamicForm;\r\n","import { orderedValues } from '../orderedValues'\r\n\r\nexport const preventSubmission = (e) => {\r\n e.preventDefault()\r\n}\r\n\r\nexport const setAllValuesToTouched = (formik) => {\r\n for (let value in formik.values) {\r\n formik.touched[value] = true\r\n }\r\n}\r\n\r\nexport const scrollToFirstError = (formik, orderedValues) => {\r\n let errorsList = Object.keys(formik.errors)\r\n const firstError = orderedValues.filter((value) => { return formik.touched.hasOwnProperty(value) && formik.errors.hasOwnProperty(value) })[0]\r\n\r\n if (errorsList.length > 0) {\r\n try {\r\n window.scrollTo(\r\n {\r\n left: 0,\r\n top: document.getElementById(firstError).offsetTop - 100,\r\n behavior: 'smooth'\r\n }\r\n )\r\n } catch (error) {\r\n console.log(error)\r\n }\r\n }\r\n}\r\n\r\nexport const addSummaryBackLogic = (setShowSummary) => {\r\n window.history.pushState(null, '')\r\n window.onpopstate = (e) => {\r\n setShowSummary(false)\r\n }\r\n}\r\n\r\nexport const removeSummaryBackLogic = (setShowSummary) => {\r\n window.removeEventListener('popstate', (e) => {\r\n setShowSummary(false)\r\n })\r\n}\r\n\r\nexport const proceedToSummary = (values, setShowSummary) => {\r\n // dispatch(hideErrorModalAction())\r\n window.history.pushState({ summary: true }, '', window.location.href)\r\n window.sessionStorage.setItem('userInput', JSON.stringify(values))\r\n return setShowSummary(true)\r\n}\r\n\r\nexport const checkFormForErrors = (e, noErrors, setErrorTofocus, setAllValuesToTouched, formik) => {\r\n preventSubmission(e)\r\n noErrors ? formik.handleSubmit(e) : setErrorTofocus(true);\r\n setAllValuesToTouched(formik);\r\n scrollToFirstError(formik, orderedValues);\r\n}\r\n\r\nexport const assignPDFValuesML = (formik, dbFormSpec, formType, appContext, languageText) => {\r\n const userInput = formik.values;\r\n const sensitiveInfo = formik.values.sensitiveInfo\r\n const facilityList = formik.values.facilityList\r\n const infoToReleaseGroup = formik.values.infoToReleaseGroup\r\n const releaseMode = formik.values.releasemodePdf\r\n const proxyForm = formType === 'Representative';\r\n const patientForm = formType === 'Patient';\r\n const requestPurposeNumber = formik.values.requestPurposePdf\r\n const NYPOrg = dbFormSpec.facility.orgId.includes('7042') || dbFormSpec.facility.orgId.includes('7101') || dbFormSpec.facility.orgId.includes('7239')\r\n\r\n formik.setFieldValue('disclosurePurposeGroup', requestPurposeNumber === '1' ? NYPOrg ? `${languageText.purposeDisclosure.options.patrequest}` : `${languageText.purposeDisclosure.options.personal}` : requestPurposeNumber === '3' ? `${languageText.purposeDisclosure.options.continuation}` : requestPurposeNumber === '4' ? `${languageText.purposeDisclosure.options.insurance}` : requestPurposeNumber === '5' ? `${languageText.purposeDisclosure.options.immunization}` : requestPurposeNumber === '6' ? `${languageText.purposeDisclosure.options.legal}` : requestPurposeNumber === '7' ? `${languageText.purposeDisclosure.options.employer}` : formik.values.requestPurposePdf);\r\n\r\n patientForm && formik.setFieldValue('pdf_PAddress', `${formik.values.PAddress1} ${formik.values.PAddress2} ${formik.values.PCity} ${formik.values.PState} ${formik.values.PZip}`);\r\n proxyForm && formik.setFieldValue('RepName', `${formik.values.RepFName} ${formik.values.RepMName && formik.values.RepMName + ' '}${formik.values.RepLName}`);\r\n proxyForm && formik.setFieldValue('pdf_RepAddress', `${formik.values.RepAddress1} ${formik.values.RepAddress2} ${formik.values.RepCity} ${formik.values.RepState} ${formik.values.RepZip}`);\r\n proxyForm && formik.setFieldValue('pdf_rrelationship', formik.values.rrelationship);\r\n\r\n formik.setFieldValue('pdf_PName', `${formik.values.PFName} ${formik.values.PMName && formik.values.PMName + ' '}${formik.values.PLName}`);\r\n formik.setFieldValue('pdf_RAddress', `${formik.values.RAddress1} ${formik.values.RAddress2} ${formik.values.RCity} ${formik.values.RState} ${formik.values.RZip}`);\r\n formik.values.dosFrom1 && formik.values.dosTo1 && formik.setFieldValue('pdf_serviceDates', `${new Date(formik.values.dosFrom1).toLocaleDateString('en-US', { timeZone: 'UTC' })} - ${new Date(formik.values.dosTo1).toLocaleDateString('en-US', { timeZone: 'UTC' })}`);\r\n formik.setFieldValue('pdf_deliveryMethod', releaseMode === '2' ? `${languageText.deliveryMethod.options.option2}` : releaseMode === '5' ? `${languageText.deliveryMethod.options.option3}` : releaseMode === '7' ? `${languageText.deliveryMethod.options.option4}` : (releaseMode === '3' || releaseMode === '12') ? 'Fax' : (releaseMode === '8') ? `${languageText.deliveryMethod.options.option8}` : `${languageText.deliveryMethod.options.option7} ${dbFormSpec.facility.pickupLocation}`);\r\n formik.setFieldValue('pdf_sensitiveInfoList', sensitiveInfo.map((item) => {\r\n return item.toUpperCase() === 'PSY' ? `${languageText.SensitiveInfo.labels.psy}` : item.toUpperCase() === 'HIV' ? `${languageText.SensitiveInfo.labels.hiv}` : item.toUpperCase() === 'DRUG' ? `${languageText.SensitiveInfo.labels.drug}` : item.toUpperCase() === 'STD' ? `${languageText.SensitiveInfo.labels.STD}` : item.toUpperCase() === 'GENETICS' ? `${languageText.SensitiveInfo.labels.genetics}` : '' }).join(', '));\r\n\r\n\r\n (appContext.localValues && appContext.localValues.facilityList) ? formik.setFieldValue('pdf_facilitiesList', appContext.localValues.facilityList.join(' | ')) : formik.setFieldValue('pdf_facilitiesList', facilityList.join(', '))\r\n\r\n\r\n formik.setFieldValue('pdf_releaseItemsList', infoToReleaseGroup.reduce((output, inputItem) => {\r\n\r\n for (let obj of dbFormSpec.release.items) {\r\n if (inputItem === obj.key) {\r\n if (output.length < 1) {\r\n return output + obj.value\r\n }\r\n else {\r\n return output + ' | ' + obj.value\r\n }\r\n }\r\n }\r\n }, '') + `${formik.values.txtotherrecords && ', ' + formik.values.txtotherrecords}`)\r\n\r\n\r\n}","import {\r\n INITIALIZE,\r\n SHOW_ERROR_MODAL,\r\n HIDE_ERROR_MODAL\r\n} from \"./actions/actionTypes\";\r\n\r\nexport const formReducer = (state = {}, action) => {\r\n switch (action.type) {\r\n case INITIALIZE: {\r\n return { ...state, ...action.payload };\r\n }\r\n case SHOW_ERROR_MODAL: {\r\n return { ...state, ...action.payload };\r\n }\r\n case HIDE_ERROR_MODAL: {\r\n return { ...state, ...action.payload };\r\n }\r\n\r\n default:\r\n return state;\r\n }\r\n};\r\n","export const langObject = {\r\n \"en\": { \"EnterCharacters\": \"Please enter the characters that appear below\", \"submit\": \"Submit\", \"enterprompt\": \"Enter characters here...\", \"title\": \"Human Verification\", \"loading\": \"Loading the form. We'll be just a moment.\", \"invalid\": \"Invalid CAPTCHA\" },\r\n \"es\": { \"EnterCharacters\": \"Por favor, introduzca los caracteres que aparecen a continuación\", \"submit\": \"Enviar\", \"enterprompt\": \"Introduzca los caracteres aquí...\", \"title\": \"Verificación humana\", \"loading\": \"Cargando el formulario. Estaremos en un momento.\", \"invalid\": \"CAPTCHA no válido\" },\r\n \"cn\": { \"EnterCharacters\": \"请输入下面出现的字符\", \"submit\": \"提交\", \"enterprompt\": \"在此输入字符...\", \"title\": \"人类验证\", \"loading\": \"加载表格 我们马上就好\", \"invalid\": \"验证码无效\" }\r\n};\r\n\r\n\r\n\r\n\r\nexport const CheckLanguage = (dbFormSpec) => {\r\n if (dbFormSpec) {\r\n if (dbFormSpec.languageOverride) {\r\n return dbFormSpec.languageOverride;\r\n }\r\n else if (dbFormSpec.context) {\r\n if (dbFormSpec.context.languageOverride) {\r\n return dbFormSpec.context.languageOverride;\r\n }\r\n }\r\n }\r\n return \"default\";\r\n\r\n};\r\n\r\nexport const GetLanguageText = (languageID) => {\r\n\r\n const validLanguageIDs = [\"en\", \"es\", \"cn\"];\r\n\r\n if (validLanguageIDs.includes(languageID)) {\r\n let returnLang = langObject[languageID];\r\n if (returnLang) {\r\n return returnLang; //only return valid dictionary\r\n }\r\n }\r\n\r\n return langObject[\"en\"]; // default to ENglish\r\n}\r\n","import React, { useEffect, useState } from 'react';\r\nimport './captcha.scss';\r\nimport formPhotoMobile from './styles/assets/background_mobile_clear.png';\r\nimport formPhoto744 from './styles/assets/background_744_clear.png';\r\nimport formPhoto1024 from './styles/assets/background_1024_clear.png';\r\nimport { LogoAndTitle } from '../form/sections/LogoAndTitle_Section/LogoAndTitle';\r\nimport '../../components/TextField/TextField.scss';\r\nimport Button from '../../components/Button/Button';\r\nimport { getwayApi } from '../../../config/Constants';\r\nimport { SectionHeader } from '../../components/sectionHeader/sectionHeader';\r\nimport PBV from '../../assets/pbv.png';\r\nimport { CheckLanguage, GetLanguageText } from '../../languages/languagesLoading';\r\n\r\n\r\nconst Captcha = ({ testLogo, formSpec, captchaRespObj, formStyles, submitCaptchaData, setUserCatchaInput, errorState, PBV_icon, dbFormSpec, formId }) => {\r\n const [screenSize, setScreenSize] = useState(null);\r\n\r\n useEffect(() => {\r\n setScreenSize(window.innerWidth)\r\n document.getElementsByTagName('body')[0].style.overflow = 'hidden'\r\n });\r\n\r\n const languageID = CheckLanguage(dbFormSpec);\r\n\r\n if (languageID != \"default\") {\r\n\r\n const loadingText = GetLanguageText(languageID);\r\n\r\n return (\r\n
    \r\n
    \r\n \r\n \r\n
    \r\n
    \r\n );\r\n }\r\n else {\r\n return (\r\n
    \r\n
    \r\n \r\n \r\n
    \r\n
    \r\n );\r\n }\r\n};\r\n\r\nexport default Captcha;\r\n\r\nconst CaptchaBox = ({ captchaRespObj, submitCaptchaData, setUserCatchaInput, errorState, testLogo, trueFormSpec, formId }) => {\r\n return (\r\n
    \r\n {captchaRespObj !== null &&\r\n\r\n <>\r\n

    {'Please enter the characters that appear below'}

    \r\n \r\n { e.keyCode === 13 && submitCaptchaData() }}\r\n placeholder={'Enter characters here...'}\r\n maxLength='5' \r\n onChange={e => { setUserCatchaInput(e.target.value); }}\r\n onBlur={(e) => { e.target.focus() }}\r\n />\r\n\r\n {errorState && Invalid CAPTCHA}\r\n
    \r\n );\r\n};\r\n\r\nconst CaptchaBoxML = ({ captchaRespObj, submitCaptchaData, setUserCatchaInput, errorState, testLogo, trueFormSpec, formId, loadingText }) => {\r\n return (\r\n
    \r\n {captchaRespObj !== null &&\r\n\r\n <>\r\n

    {`${loadingText.EnterCharacters}`}

    \r\n \r\n { e.keyCode === 13 && submitCaptchaData() }}\r\n placeholder={`${loadingText.enterprompt}`}\r\n maxLength='5'\r\n onChange={e => { setUserCatchaInput(e.target.value); }}\r\n onBlur={(e) => { e.target.focus() }}\r\n />\r\n\r\n {errorState && {loadingText.invalid}}\r\n
    \r\n );\r\n};","import React, {useState, useEffect} from 'react';\r\nimport axios from \"axios\";\r\n// import './styles/sass/captcha.scss'\r\nimport { spaEndpointHost, vraUX, apiHost, getwayApi, captchaUrl } from \"../../../config/Constants\";\r\nimport { inputClasses } from '../../../formik/refactorOut/styles';\r\nimport PBV_icon from '../../assets/pbv.png';\r\nimport testLogo from '../form/styles/assets/verisma_logo.png';\r\nimport './captcha.scss';\r\nimport Captcha from './Captcha';\r\nimport { fetchCaptcha, submitCaptchaData } from '../../../functions/apiCalls';\r\n\r\nexport const CaptchaContainer = ({setCaptcha, formId, formSpec, dbFormSpec}) => {\r\n const [captchaRespObj, setCaptchaRespObj] = useState(null);\r\n const [userCatchaInput, setUserCatchaInput] = useState('');\r\n const [errorState, setErrorState] = useState(false);\r\n\r\n useEffect(() => {\r\n fetchCaptcha(captchaUrl, setCaptchaRespObj);\r\n }, [false]);\r\n \r\n if(formSpec === null){\r\n return

    \r\n }\r\n\r\n return (\r\n submitCaptchaData(captchaUrl, captchaRespObj, userCatchaInput, setCaptcha, setErrorState)}\r\n setUserCatchaInput = {setUserCatchaInput}\r\n errorState = {errorState}\r\n PBV_icon = {PBV_icon}\r\n dbFormSpec={dbFormSpec}\r\n formId={formId}\r\n />\r\n\r\n );\r\n}","import React, { useEffect, useState, useReducer } from \"react\";\r\nimport DynamicForm from \"./screens/form/DynamicForm/DynamicForm\";\r\nimport \"react-datepicker/dist/react-datepicker.css\";\r\nimport { formReducer } from \"../context/formReducer\";\r\nimport { CaptchaContainer } from './screens/captcha/CaptchaContainer';\r\nimport { fetchFormData } from '../functions/apiCalls';\r\nimport { LoadingScreen } from './components/LoadingScreen/LoadingScreen';\r\nimport { CheckLanguage, GetLanguageText } from './languages/languagesLoading';\r\n\r\nconst DynamicFormContainer = ({ session }) => {\r\n\r\n const [dataLoading, setLoading] = useState(true);\r\n const [formInfo, dispatch] = useReducer(formReducer, null);\r\n const [captchaInputValid, setCaptchaValid] = useState(window.location.origin.includes('app-vra-test') || window.location.origin.includes('localhost'));\r\n // const [captchaInputValid, setCaptchaValid] = useState(false);\r\n const [error, setError] = useState(null);\r\n const [esign] = useState(true);\r\n\r\n useEffect(() => {\r\n // API call with the queryString. The call (1) returns the formInfo (formID, formSpec, formType, language, orgID, etc), and (2) sets formInfo to true.\r\n fetchFormData(setError, setLoading, session, dispatch);\r\n }, [session]);\r\n\r\n (window.location.host.includes('localhost') && console.log(\"FORM INFO\", formInfo));\r\n let languageID = \"default\";\r\n\r\n if (formInfo) {\r\n languageID = CheckLanguage(formInfo.dbFormSpec);\r\n }\r\n\r\n\r\n if (languageID != \"default\") {\r\n\r\n const languageText = GetLanguageText(languageID);\r\n\r\n return (\r\n <>\r\n\r\n {dataLoading &&\r\n \r\n }\r\n\r\n {!captchaInputValid &&\r\n \r\n }\r\n\r\n {formInfo &&\r\n \r\n }\r\n\r\n {/* TODO; error UI */}\r\n\r\n {error && }\r\n \r\n );\r\n }\r\n else {\r\n return (\r\n <>\r\n\r\n {dataLoading &&\r\n \r\n }\r\n\r\n {!captchaInputValid &&\r\n \r\n }\r\n\r\n {formInfo &&\r\n \r\n }\r\n\r\n {/* TODO; error UI */}\r\n\r\n {error && }\r\n \r\n );\r\n }\r\n};\r\n\r\nexport default DynamicFormContainer;\r\n","import React, { useEffect, useState } from 'react';\r\nimport ReactHtmlParser from 'react-html-parser';\r\nimport axios from \"axios\";\r\nimport { apiHost, getwayApi } from '../../../config/Constants';\r\nimport { LoadingScreen } from '../../components/LoadingScreen/LoadingScreen'\r\nimport copyIcon from './styles/assets/copy-icon.png';\r\nimport vzaLogo from '../form/styles/assets/verisma_logo.png';\r\nimport './styles/css/confirmation.css';\r\nimport './styles/confirmation.scss'\r\nimport { testConfSpec } from '../../../context/confSpec_patient'\r\nimport Button from '../../components/Button/Button'\r\nimport { CheckLanguage } from '../../languages/languages';\r\nimport { GetLanguageText } from '../../languages/languages';\r\n\r\nexport const PatientConfirmationPage = ({ session, config, formId }) => {\r\n\r\n\r\n \r\n\r\n const [userData, setUserData] = useState(null);\r\n\r\n const doFetch = async () => {\r\n try {\r\n await axios\r\n .get(`${apiHost}/api/accessCode/v2?session=${session}&_=${new Date().getTime()}`)\r\n .then(res => {\r\n setUserData(res.data);\r\n })\r\n .catch(err => {\r\n\r\n });\r\n } catch (error) {\r\n\r\n }\r\n };\r\n useEffect(() => {\r\n doFetch();\r\n }, []);\r\n\r\n\r\n const formColor = config.context.trackRequest.trackingButton.styles.backgroundColor;\r\n let languageID = CheckLanguage(config);\r\n\r\n if (languageID != \"default\") {\r\n const languageText = GetLanguageText(languageID);\r\n\r\n if (config && userData) { // Loading screen split.\r\n return (\r\n
    \r\n\r\n
    \r\n );\r\n } else {\r\n return ()\r\n }\r\n } else {\r\n if (config && userData) {\r\n return (\r\n
    \r\n\r\n
    \r\n );\r\n } else {\r\n return ()\r\n }\r\n }\r\n}","import React, {useEffect, useState} from 'react';\r\nimport {getwayApi} from '../../../config/Constants';\r\nimport {PatientConfirmationPage} from './PatientConfirmationPage'\r\nimport axios from \"axios\";\r\n\r\nexport const PatientConfirmationPageContainer = ({session}) => {\r\n const [config, setConfig] = useState(null);\r\n const [loading, setLoading] = useState(true);\r\n\r\n const doFetch = async () => { \r\n try {\r\n await axios\r\n .get(`${getwayApi}/api/session/conformation/${session.id}?_=${new Date().getTime()}`)\r\n .then(res => {\r\n \r\n setConfig(res.data)\r\n setLoading(false) \r\n })\r\n \r\n .catch(err => {\r\n console.log(err) \r\n });\r\n } \r\n \r\n catch (error) {\r\n console.log(error) \r\n }\r\n };\r\n\r\n useEffect(() => {\r\n doFetch();\r\n \r\n },[]);\r\n\r\n \r\n\r\n \r\n return(\r\n <>\r\n {loading &&
    loading
    }\r\n {/* {!loading && } */}\r\n {!loading && }\r\n \r\n )\r\n\r\n \r\n}","import React from \"react\";\r\nimport { BrowserRouter as Router, Switch, Route } from \"react-router-dom\";\r\nimport DynamicFormContainer from \"./UI/DynamicFormContainer\";\r\nimport { PatientConfirmationPageContainer } from \"./UI/screens/confirmationPage/PatientConfirmationPageContainer\";\r\nimport { ApplicationInsights } from \"@microsoft/applicationinsights-web\";\r\nimport { instkey } from \"./config/Constants\";\r\nimport \"./App.scss\";\r\n\r\n// Helper to get the session token from cookies (requires cookie not be HttpOnly)\r\nconst getSessionFromCookie = () => {\r\n const cookieString = document.cookie;\r\n const cookies = cookieString.split(';');\r\n const sessionCookie = cookies.find(cookie => cookie.trim().startsWith(\"SessionToken=\"));\r\n return sessionCookie ? sessionCookie.split('=')[1] : null;\r\n};\r\n\r\n// Get a tab-specific session using sessionStorage.\r\n// If a token is already saved for this tab, use it. Else, get it from the cookie and save it.\r\nconst getTabSessionToken = () => {\r\n let token = sessionStorage.getItem(\"SessionToken\");\r\n if (!token) {\r\n token = getSessionFromCookie();\r\n if (token) {\r\n sessionStorage.setItem(\"SessionToken\", token);\r\n }\r\n }\r\n return token;\r\n};\r\n\r\nconst appInsights = new ApplicationInsights({ config: { instrumentationKey: instkey } });\r\nappInsights.loadAppInsights();\r\nappInsights.trackPageView();\r\n\r\nconst App = () => {\r\n // Use the tab-specific token from sessionStorage (or cookie if not yet stored)\r\n const session = {\r\n id: getTabSessionToken(), // Uses the API's session token, saved per tab in sessionStorage.\r\n form: 1,\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\nexport default App;","import \"core-js/es/string\";\r\nimport \"react-app-polyfill/ie11\";\r\nimport \"react-app-polyfill/ie9\";\r\nimport \"react-app-polyfill/stable\";\r\nimport React from \"react\";\r\nimport ReactDOM from \"react-dom\";\r\nimport \"bootstrap/dist/css/bootstrap.min.css\";\r\nimport App from \"./App\";\r\n\r\nReactDOM.render(, document.getElementById(\"root\"));\r\n"],"sourceRoot":""}