Compare commits

..

No commits in common. "84a55d48c895a452a416ff21ecd48b952475a813" and "5add485a0b892a62755422ac771bca0573240b06" have entirely different histories.

9 changed files with 430 additions and 1141 deletions

View File

@ -2,26 +2,27 @@ import { Button, Checkbox, FormControl, FormControlLabel, FormGroup, FormLabel,
import { useFormik } from "formik";
import * as yup from "yup";
import { LocalizationProvider, DatePicker } from '@mui/x-date-pickers';
import React, { useEffect } from 'react';
interface Patient {
maritalStatus: string | undefined,
numberOfChildren: string | undefined,
occupation: string | undefined,
hoursPerWeek: number | string | undefined,
employer: string | undefined,
businessPhone: string | undefined,
spouseName: string | undefined,
spouseEmployer: string | undefined,
spouseBusinessPhone: string | undefined,
emergencyContact: string | undefined,
relationship: string | undefined,
spousePhone: string | undefined,
interface FormValues {
maritalStatus: string;
numberOfChildren: string;
ages: string;
occupation: string;
hoursPerWeek: number | string;
employer: string;
businessPhone: string;
spouseName: string;
spouseEmployer: string;
spouseBusinessPhone: string;
emergencyContact: string;
relationship: string;
spousePhone: string;
}
const validationSchema = yup.object({
maritalStatus:yup.string().required("Marital Status is required"),
numberOfChildren:yup.string().required("Full name is required"),
ages:yup.string().required("Full name is required"),
occupation:yup.string().required("Occupation is required"),
// hoursPerWeek: yup.number().required('Required'),
// employer:yup.string().required("Full name is required"),
@ -34,59 +35,31 @@ const validationSchema = yup.object({
spousePhone:yup.string().matches(/^\d{10}$/, "Cell phone must be 10 digits"),
});
type Props = {
handleFormSection2Data:(
maritalStatus: string | undefined,
numberOfChildren: string | undefined,
occupation: string | undefined,
hoursPerWeek: number | string | undefined,
employer: string | undefined,
businessPhone: string | undefined,
spouseName: string | undefined,
spouseEmployer: string | undefined,
spouseBusinessPhone: string | undefined,
emergencyContact: string | undefined,
relationship: string | undefined,
spousePhone: string | undefined,
)=> void
}
export default function FamilyFormSection({handleFormSection2Data}:Props){
const [patient, setPatient] = React.useState<Patient>({
maritalStatus:'',
numberOfChildren:'',
occupation:'',
hoursPerWeek:'',
employer:'',
businessPhone:'',
spouseName:'',
spouseEmployer:'',
spouseBusinessPhone:'',
emergencyContact:'',
relationship:'',
spousePhone:''
});
useEffect(()=>{
handleFormSection2Data(
patient.maritalStatus,
patient.numberOfChildren,
patient.occupation,
patient.hoursPerWeek,
patient.employer,
patient.businessPhone,
patient.spouseName,
patient.spouseEmployer,
patient.spouseBusinessPhone,
patient.emergencyContact,
patient.relationship,
patient.spousePhone,
)
},[patient])
export default function FamilyFormSection(){
const formik = useFormik<FormValues>({
initialValues:{
maritalStatus:'',
numberOfChildren:'',
ages:'',
occupation:'',
hoursPerWeek:'',
employer:'',
businessPhone:'',
spouseName:'',
spouseEmployer:'',
spouseBusinessPhone:'',
emergencyContact:'',
relationship:'',
spousePhone:''
},
validationSchema,
onSubmit:(values)=>{
console.log(values);
}
})
return(
<>
<form onSubmit={formik.handleSubmit}>
<Grid container direction="row">
<Grid item xs={8} className='collapsable-form-style-radioButtons'>
<FormControl>
@ -95,14 +68,9 @@ export default function FamilyFormSection({handleFormSection2Data}:Props){
aria-labelledby="demo-radio-buttons-group-label"
defaultValue="married"
name="maritalStatus"
value={patient.maritalStatus}
onChange={formik.handleChange}
value={formik.values.maritalStatus}
sx={{display:'flex', flexDirection:'row'}}
onChange={(e)=>{
setPatient((prevValues:any) => ({
...prevValues,
maritalStatus: e.target.value,
}));
}}
// error={formik.touched.numberOfChildren && Boolean(formik.errors.maritalStatus)}
// helperText={formik.touched.numberOfChildren && formik.errors.maritalStatus}
>
@ -125,14 +93,9 @@ export default function FamilyFormSection({handleFormSection2Data}:Props){
label="Number of Children/Ages"
className='collapsable-form-style'
name='numberOfChildren'
onChange={(e)=>{
setPatient((prevValues:any) => ({
...prevValues,
numberOfChildren: e.target.value,
}));
}}
value={patient.numberOfChildren}
// onBlur={formik.handleBlur}
onChange={formik.handleChange}
value={formik.values.numberOfChildren}
onBlur={formik.handleBlur}
// error={formik.touched.numberOfChildren && Boolean(formik.errors.numberOfChildren)}
// helperText={formik.touched.numberOfChildren && formik.errors.numberOfChildren}
/>
@ -144,14 +107,9 @@ export default function FamilyFormSection({handleFormSection2Data}:Props){
label="Occupation"
className='collapsable-form-style'
name='occupation'
onChange={(e)=>{
setPatient((prevValues:any) => ({
...prevValues,
occupation: e.target.value,
}));
}}
value={patient.occupation}
// onBlur={formik.handleBlur}
onChange={formik.handleChange}
value={formik.values.occupation}
onBlur={formik.handleBlur}
// error={formik.touched.occupation && Boolean(formik.errors.occupation)}
// helperText={formik.touched.occupation && formik.errors.occupation}
/>
@ -164,14 +122,9 @@ export default function FamilyFormSection({handleFormSection2Data}:Props){
type="number"
className='collapsable-form-style'
name='hoursPerWeek'
onChange={(e)=>{
setPatient((prevValues:any) => ({
...prevValues,
hoursPerWeek: e.target.value,
}));
}}
value={patient.hoursPerWeek}
// onBlur={formik.handleBlur}
onChange={formik.handleChange}
value={formik.values.hoursPerWeek}
onBlur={formik.handleBlur}
/>
</Grid>
@ -181,14 +134,9 @@ export default function FamilyFormSection({handleFormSection2Data}:Props){
label="Employer"
className='collapsable-form-style'
name='employer'
onChange={(e)=>{
setPatient((prevValues:any) => ({
...prevValues,
employer: e.target.value,
}));
}}
value={patient.employer}
// onBlur={formik.handleBlur}
onChange={formik.handleChange}
value={formik.values.employer}
onBlur={formik.handleBlur}
/>
</Grid>
<Grid item xs={4} className='collapsable-form-style '>
@ -198,14 +146,9 @@ export default function FamilyFormSection({handleFormSection2Data}:Props){
type="number"
className='collapsable-form-style'
name='businessPhone'
onChange={(e)=>{
setPatient((prevValues:any) => ({
...prevValues,
businessPhone: e.target.value,
}));
}}
value={patient.businessPhone}
// onBlur={formik.handleBlur}
onChange={formik.handleChange}
value={formik.values.businessPhone}
onBlur={formik.handleBlur}
/>
</Grid>
@ -221,14 +164,9 @@ export default function FamilyFormSection({handleFormSection2Data}:Props){
label="Spouse's Name"
className='collapsable-form-style'
name='spouseName'
onChange={(e)=>{
setPatient((prevValues:any) => ({
...prevValues,
spouseName: e.target.value,
}));
}}
value={patient.spouseName}
// onBlur={formik.handleBlur}
onChange={formik.handleChange}
value={formik.values.spouseName}
onBlur={formik.handleBlur}
/>
</Grid>
<Grid item xs={4} className='collapsable-form-style '>
@ -237,14 +175,9 @@ export default function FamilyFormSection({handleFormSection2Data}:Props){
label="Spouse's Employer"
className='collapsable-form-style'
name='spouseEmployer'
onChange={(e)=>{
setPatient((prevValues:any) => ({
...prevValues,
spouseEmployer: e.target.value,
}));
}}
value={patient.spouseEmployer}
// onBlur={formik.handleBlur}
onChange={formik.handleChange}
value={formik.values.spouseEmployer}
onBlur={formik.handleBlur}
/>
</Grid>
<Grid item xs={4} className='collapsable-form-style '>
@ -254,14 +187,9 @@ export default function FamilyFormSection({handleFormSection2Data}:Props){
type="number"
className='collapsable-form-style'
name='spouseBusinessPhone'
onChange={(e)=>{
setPatient((prevValues:any) => ({
...prevValues,
spouseBusinessPhone: e.target.value,
}));
}}
value={patient.spouseBusinessPhone}
// onBlur={formik.handleBlur}
onChange={formik.handleChange}
value={formik.values.spouseBusinessPhone}
onBlur={formik.handleBlur}
/>
</Grid>
@ -274,16 +202,12 @@ export default function FamilyFormSection({handleFormSection2Data}:Props){
<TextField
variant="outlined"
label="Emergency Contact"
type="number"
className='collapsable-form-style'
name='emergencyContact'
onChange={(e)=>{
setPatient((prevValues:any) => ({
...prevValues,
emergencyContact: e.target.value,
}));
}}
value={patient.emergencyContact}
// onBlur={formik.handleBlur}
onChange={formik.handleChange}
value={formik.values.emergencyContact}
onBlur={formik.handleBlur}
/>
</Grid>
<Grid item xs={4} className='collapsable-form-style '>
@ -292,14 +216,9 @@ export default function FamilyFormSection({handleFormSection2Data}:Props){
label="Relationship"
className='collapsable-form-style'
name='relationship'
onChange={(e)=>{
setPatient((prevValues:any) => ({
...prevValues,
relationship: e.target.value,
}));
}}
value={patient.relationship}
// onBlur={formik.handleBlur}
onChange={formik.handleChange}
value={formik.values.relationship}
onBlur={formik.handleBlur}
/>
</Grid>
<Grid item xs={4} className='collapsable-form-style '>
@ -309,17 +228,13 @@ export default function FamilyFormSection({handleFormSection2Data}:Props){
label="Phone"
className='collapsable-form-style'
name='spousePhone'
onChange={(e)=>{
setPatient((prevValues:any) => ({
...prevValues,
spousePhone: e.target.value,
}));
}}
value={patient.spousePhone}
// onBlur={formik.handleBlur}
onChange={formik.handleChange}
value={formik.values.spousePhone}
onBlur={formik.handleBlur}
/>
</Grid>
</Grid>
</form>
</>
)
};

View File

@ -2,20 +2,19 @@ import * as React from 'react';
import { Checkbox, FormControlLabel, TextField, FormGroup, Grid, FormControl, FormLabel, Radio, RadioGroup } from '@mui/material';
import { useFormik } from 'formik';
import * as Yup from 'yup';
import { useEffect } from 'react';
interface Patient {
physicianname: string |undefined;
physiciancity: string |undefined;
physicianstate: string |undefined;
physicianphone: string |undefined;
chiropractorName: string |undefined;
chiropractorState: string |undefined;
xray: string|undefined;
haveChiropractor: string|undefined;
reference: string|undefined;
visitDetails: string |undefined;
cellPhoneProvider: string |undefined;
interface FormValues {
physicianname: string;
physiciancity: string;
physicianstate: string;
physicianphone: string;
chiropractorName: string;
chiropractorState: string;
xray: boolean;
ctScan: boolean;
cdImages: boolean;
visitDetails: string;
cellPhoneProvider: string;
}
const validationSchema = Yup.object({
@ -25,61 +24,35 @@ const validationSchema = Yup.object({
phone: Yup.string().required('Required'),
chiropractorName: Yup.string().required('Required'),
xray: Yup.boolean().required('Required'),
haveChiropractor: Yup.boolean().required('Required'),
reference: Yup.boolean().required('Required'),
ctScan: Yup.boolean().required('Required'),
cdImages: Yup.boolean().required('Required'),
visitDetails: Yup.string().required('Required'),
cellPhoneProvider: Yup.string().required('Required'),
});
type Props = {
handleFormSection3Data:(
physicianname?: string |undefined,
physiciancity?: string |undefined,
physicianstate?: string |undefined,
physicianphone?: string |undefined,
chiropractorName?: string |undefined,
chiropractorState?: string |undefined,
xray?: string|undefined,
haveChiropractor?: string|undefined,
reference?: string|undefined,
visitDetails?: string |undefined,
cellPhoneProvider?: string |undefined,
)=> void
}
export default function MedicalHistoryForm({handleFormSection3Data}:Props){
const [patient, setPatient] = React.useState<Patient>({
physicianname: '',
physiciancity: '',
physicianstate: '',
physicianphone: '',
chiropractorName: '',
chiropractorState: '',
xray: '',
haveChiropractor: '',
reference: '',
visitDetails: '',
cellPhoneProvider: '',
});
useEffect(()=>{
handleFormSection3Data(
patient.physicianname,
patient.physiciancity,
patient.physicianstate,
patient.physicianphone,
patient.chiropractorName,
patient.chiropractorState,
patient.xray,
patient.haveChiropractor,
patient.reference,
patient.visitDetails,
patient.cellPhoneProvider,
)
},[patient])
export default function MedicalHistoryForm(){
const formik = useFormik<FormValues>({
initialValues:{
physicianname: '',
physiciancity: '',
physicianstate: '',
physicianphone: '',
chiropractorName: '',
chiropractorState: '',
xray: false,
ctScan: false,
cdImages: false,
visitDetails: '',
cellPhoneProvider: '',
},
validationSchema,
onSubmit:(values)=>{
console.log(values);
}
})
return(
<>
<form onSubmit={formik.handleSubmit}>
<Grid item xs={12} className='collapsable-form-style '>
<FormLabel sx={{fontWeight:600}}>Physician Hisory Information:</FormLabel>
</Grid>
@ -90,14 +63,9 @@ export default function MedicalHistoryForm({handleFormSection3Data}:Props){
variant="outlined"
label="Family physician"
name='physicianname'
onChange={(e)=>{
setPatient((prevValues) => ({
...prevValues,
physicianname: e.target.value,
}));
}}
value={patient.physicianname}
// onBlur={formik.handleBlur}
onChange={formik.handleChange}
value={formik.values.physicianname}
onBlur={formik.handleBlur}
/>
</Grid>
<Grid item xs={4} className='collapsable-form-style'>
@ -105,14 +73,9 @@ export default function MedicalHistoryForm({handleFormSection3Data}:Props){
variant="outlined"
label="City"
name='physiciancity'
onChange={(e)=>{
setPatient((prevValues) => ({
...prevValues,
physiciancity: e.target.value,
}));
}}
value={patient.physiciancity}
// onBlur={formik.handleBlur}
onChange={formik.handleChange}
value={formik.values.physiciancity}
onBlur={formik.handleBlur}
/>
</Grid>
<Grid item xs={4} className='collapsable-form-style'>
@ -120,14 +83,9 @@ export default function MedicalHistoryForm({handleFormSection3Data}:Props){
variant="outlined"
label="State"
name='physicianstate'
onChange={(e)=>{
setPatient((prevValues) => ({
...prevValues,
physicianstate: e.target.value,
}));
}}
value={patient.physicianstate}
// onBlur={formik.handleBlur}
onChange={formik.handleChange}
value={formik.values.physicianstate}
onBlur={formik.handleBlur}
/>
</Grid>
<Grid item xs={4} className='collapsable-form-style'>
@ -136,14 +94,9 @@ export default function MedicalHistoryForm({handleFormSection3Data}:Props){
label="Phone"
type="number"
name='physicianphone'
onChange={(e)=>{
setPatient((prevValues) => ({
...prevValues,
physicianphone: e.target.value,
}));
}}
value={patient.physicianphone}
// onBlur={formik.handleBlur}
onChange={formik.handleChange}
value={formik.values.physicianphone}
onBlur={formik.handleBlur}
/>
</Grid>
@ -162,12 +115,7 @@ export default function MedicalHistoryForm({handleFormSection3Data}:Props){
aria-labelledby="demo-radio-buttons-group-label"
// defaultValue="yes"
name="radio-buttons-group"
onChange={(e)=>{
setPatient((prevValues) => ({
...prevValues,
haveChiropractor: e.target.value,
}));
}}
onChange={formik.handleChange}
sx={{display:'flex', flexDirection:'row'}}
>
<FormControlLabel value="yes" control={<Radio />} label="Yes" />
@ -181,14 +129,9 @@ export default function MedicalHistoryForm({handleFormSection3Data}:Props){
variant="outlined"
label="Chiropractor's Name"
name='chiropractorName'
onChange={(e)=>{
setPatient((prevValues) => ({
...prevValues,
chiropractorName: e.target.value,
}));
}}
value={patient.chiropractorName}
// onBlur={formik.handleBlur}
onChange={formik.handleChange}
value={formik.values.chiropractorName}
onBlur={formik.handleBlur}
/>
</Grid>
@ -197,14 +140,9 @@ export default function MedicalHistoryForm({handleFormSection3Data}:Props){
variant="outlined"
label="City/State"
name='chiropractorState'
onChange={(e)=>{
setPatient((prevValues) => ({
...prevValues,
chiropractorState: e.target.value,
}));
}}
value={patient.chiropractorState}
// onBlur={formik.handleBlur}
onChange={formik.handleChange}
value={formik.values.chiropractorState}
onBlur={formik.handleBlur}
/>
</Grid>
</Grid>
@ -217,12 +155,7 @@ export default function MedicalHistoryForm({handleFormSection3Data}:Props){
aria-labelledby="demo-radio-buttons-group-label"
// defaultValue="yes"
name="radio-buttons-group"
onChange={(e)=>{
setPatient((prevValues) => ({
...prevValues,
xray: e.target.value,
}));
}}
onChange={formik.handleChange}
sx={{display:'flex', flexDirection:'row'}}
>
<FormControlLabel value="yes" control={<Radio />} label="Yes" />
@ -239,12 +172,7 @@ export default function MedicalHistoryForm({handleFormSection3Data}:Props){
aria-labelledby="demo-radio-buttons-group-label"
// defaultValue="physician"
name="radio-buttons-group"
onChange={(e)=>{
setPatient((prevValues) => ({
...prevValues,
reference: e.target.value,
}));
}}
onChange={formik.handleChange}
sx={{display:'flex', flexDirection:'row'}}
>
<FormControlLabel value="friend" control={<Radio />} label="Friend" />
@ -265,12 +193,7 @@ export default function MedicalHistoryForm({handleFormSection3Data}:Props){
aria-labelledby="demo-radio-buttons-group-label"
// defaultValue="email"
name="radio-buttons-group"
onChange={(e)=>{
setPatient((prevValues) => ({
...prevValues,
cellPhoneProvider: e.target.value,
}));
}}
onChange={formik.handleChange}
sx={{display:'flex', flexDirection:'row'}}
>
<FormControlLabel value="email" control={<Radio />} label="Email" />
@ -278,6 +201,7 @@ export default function MedicalHistoryForm({handleFormSection3Data}:Props){
</RadioGroup>
</FormControl>
</Grid>
</form>
</>
)}

View File

@ -1,10 +1,10 @@
import { Grid, FormLabel, TextField, FormControl, RadioGroup, FormControlLabel, Radio } from "@mui/material";
import { AdapterDayjs } from "@mui/x-date-pickers/AdapterDayjs";
import React, { useEffect } from "react";
import React from "react";
import { LocalizationProvider, DatePicker } from '@mui/x-date-pickers';
import dayjs from "dayjs";
interface Patient {
interface FormValues {
familyHistory: string;
sleep: string;
pillow:string;
@ -14,21 +14,9 @@ interface Patient {
menstralCycle: any;
}
type Props = {
handleFormSection8Data:(
familyHistory: string|undefined,
sleep: string|undefined,
pillow:string|undefined,
orthotics:string|undefined,
brestExam: any,
pregnancy:string|undefined,
menstralCycle: any,
)=> void
}
export default function OtherDetails8({handleFormSection8Data}:Props){
export default function OtherDetails8(){
const [patient, setPatient] = React.useState<Patient>({
const [values, setValues] = React.useState<FormValues>({
familyHistory: '',
sleep: '',
pillow:'',
@ -38,18 +26,6 @@ export default function OtherDetails8({handleFormSection8Data}:Props){
menstralCycle: dayjs('2022-04-17'),
});
useEffect(()=>{
handleFormSection8Data(
patient.familyHistory,
patient.sleep,
patient.pillow,
patient.orthotics,
patient.brestExam=dayjs(patient.brestExam),
patient.pregnancy,
patient.menstralCycle=dayjs(patient.menstralCycle)
)
},[patient])
const formatDate = (inputDate:any) => {
const date = new Date(inputDate);
const year = date.getUTCFullYear();
@ -59,8 +35,7 @@ export default function OtherDetails8({handleFormSection8Data}:Props){
return `${year}-${month}-${day}`;
};
console.log("dsfdsfsdf",values)
return(
<>
@ -73,7 +48,7 @@ export default function OtherDetails8({handleFormSection8Data}:Props){
label=""
name='explanation'
onChange={(event:any) => {
setPatient((prevValues) => ({
setValues((prevValues) => ({
...prevValues,
familyHistory: event.target.value,
}));
@ -87,9 +62,9 @@ export default function OtherDetails8({handleFormSection8Data}:Props){
<RadioGroup
sx={{display:'flex', flexDirection:'row'}}
onChange={(event) => {
setPatient((prevValues) => ({
setValues((prevValues) => ({
...prevValues,
sleep: event.target.value,
educationLevel: event.target.value,
}));
}}
>
@ -106,7 +81,7 @@ export default function OtherDetails8({handleFormSection8Data}:Props){
<RadioGroup
sx={{display:'flex', flexDirection:'row'}}
onChange={(event) => {
setPatient((prevValues) => ({
setValues((prevValues) => ({
...prevValues,
pillow: event.target.value,
}));
@ -124,7 +99,7 @@ export default function OtherDetails8({handleFormSection8Data}:Props){
<RadioGroup
sx={{display:'flex', flexDirection:'row'}}
onChange={(event) => {
setPatient((prevValues) => ({
setValues((prevValues) => ({
...prevValues,
orthotics: event.target.value,
}));
@ -141,10 +116,10 @@ export default function OtherDetails8({handleFormSection8Data}:Props){
<FormControl>
<LocalizationProvider dateAdapter={AdapterDayjs}>
<DatePicker
value={patient.brestExam}
value={values.brestExam}
onChange={(event) => {
const formattedDate = formatDate(event)
setPatient((prevValues) => ({
setValues((prevValues) => ({
...prevValues,
brestExam: formattedDate,
}));
@ -165,9 +140,9 @@ export default function OtherDetails8({handleFormSection8Data}:Props){
<RadioGroup
sx={{display:'flex', flexDirection:'row'}}
onChange={(event) => {
setPatient((prevValues) => ({
setValues((prevValues) => ({
...prevValues,
pregnancy: event.target.value,
orthotics: event.target.value,
}));
}}
>
@ -182,10 +157,10 @@ export default function OtherDetails8({handleFormSection8Data}:Props){
<FormControl>
<LocalizationProvider dateAdapter={AdapterDayjs}>
<DatePicker
value={patient.menstralCycle}
value={values.menstralCycle}
onChange={(event) => {
const formattedDate = formatDate(event)
setPatient((prevValues) => ({
setValues((prevValues) => ({
...prevValues,
menstralCycle: formattedDate,
}));

View File

@ -2,119 +2,51 @@ import * as React from 'react';
import { Checkbox, FormControlLabel, TextField, FormGroup, Grid, FormControl, FormLabel, Radio, RadioGroup } from '@mui/material';
import { useFormik } from 'formik';
import * as Yup from 'yup';
import path from 'path';
import { useEffect } from 'react';
interface Patient {
interface FormValues {
chiefComplaint:string;
painWorse: string[];
painBetter: string[];
painQuality: string[];
painWorstTime: string[];
currentComplaintIssues: string[];
painDuration: string;
currentTreatment: string;
treatmentResults: string;
treatmentGoal: string;
selfTreatment:string;
}
type Props = {
handleFormSection4Data:(
chiefComplaint:string|undefined,
painWorse: any,
painBetter: any,
painQuality: any,
painWorstTime: any,
currentComplaintIssues: any,
painDuration: string|undefined,
currentTreatment: string|undefined,
treatmentGoal: string|undefined,
selfTreatment:string|undefined,
)=> void
}
const validationSchema = Yup.object({
chiefComplaint:Yup.array().required('Required'),
painQuality: Yup.array().required('Required'),
painDuration: Yup.string().required('Required'),
currentTreatment: Yup.string().required('Required'),
treatmentResults: Yup.string().required('Required'),
treatmentGoal: Yup.string().required('Required'),
});
export default function PainAnalysisSection4({handleFormSection4Data}:Props){
const [patient, setPatient] = React.useState<Patient>({
chiefComplaint:'',
painWorse:[],
painBetter:[],
painQuality:[],
painWorstTime:[],
currentComplaintIssues:[],
painDuration:'',
currentTreatment:'',
treatmentGoal:'',
selfTreatment:'',
});
useEffect(()=>{
handleFormSection4Data(
patient.chiefComplaint,
patient.painWorse,
patient.painBetter,
patient.painQuality,
patient.painWorstTime,
patient.currentComplaintIssues,
patient.painDuration,
patient.currentTreatment,
patient.treatmentGoal,
patient.selfTreatment,
)
},[patient])
const handlePainWorseChange = (event: React.ChangeEvent<HTMLInputElement>) => {
const { name, checked } = event.target;
setPatient((prevValues) => ({
...prevValues,
painWorse: checked
? [...prevValues.painWorse, name]
: prevValues.painWorse.filter((item) => item !== name),
}));
};
const handlePainBetterChange = (event: React.ChangeEvent<HTMLInputElement>) => {
const { name, checked } = event.target;
setPatient((prevValues) => ({
...prevValues,
painBetter: checked
? [...prevValues.painBetter, name]
: prevValues.painBetter.filter((item) => item !== name),
}));
};
const handlePainQualityChange = (event: React.ChangeEvent<HTMLInputElement>) => {
const { name, checked } = event.target;
setPatient((prevValues) => ({
...prevValues,
painQuality: checked
? [...prevValues.painQuality, name]
: prevValues.painQuality.filter((item) => item !== name),
}));
};
const handlePainWorstTimeChange = (event: React.ChangeEvent<HTMLInputElement>) => {
const { name, checked } = event.target;
setPatient((prevValues) => ({
...prevValues,
painWorstTime: checked
? [...prevValues.painWorstTime, name]
: prevValues.painWorstTime.filter((item) => item !== name),
}));
};
const handleCurrentComplaintIssuesTimeChange = (event: React.ChangeEvent<HTMLInputElement>) => {
const { name, checked } = event.target;
setPatient((prevValues) => ({
...prevValues,
currentComplaintIssues: checked
? [...prevValues.currentComplaintIssues, name]
: prevValues.currentComplaintIssues.filter((item) => item !== name),
}));
};
export default function PainAnalysisSection4(){
const formik = useFormik<FormValues>({
initialValues:{
chiefComplaint:'',
painQuality:[],
painDuration:'',
currentTreatment:'',
treatmentResults:'',
treatmentGoal:'',
},
validationSchema,
onSubmit:(values)=>{
console.log(values);
}
})
const handlePainQualityChange = (event: React.ChangeEvent<HTMLInputElement>) => {
if (event.target.checked) {
formik.setFieldValue('painQuality', [...formik.values.painQuality, event.target.value]);
} else {
formik.setFieldValue('painQuality', formik.values.painQuality.filter((item) => item !== event.target.value));
}
};
return(
<>
<form onSubmit={formik.handleSubmit}>
<Grid item xs={12} className='collapsable-form-style '>
<FormLabel sx={{fontWeight:600}}>Issue Details:</FormLabel>
</Grid>
@ -124,13 +56,9 @@ export default function PainAnalysisSection4({handleFormSection4Data}:Props){
variant="outlined"
label="How did your Chief complaint start?(ex-fell on ice)"
name='chiefComplaint'
onChange={(e)=>{
setPatient((prevValues) => ({
...prevValues,
chiefComplaint: e.target.value,
}));
}}
value={patient.chiefComplaint}
onChange={formik.handleChange}
value={formik.values.chiefComplaint}
onBlur={formik.handleBlur}
/>
</Grid>
@ -139,27 +67,29 @@ export default function PainAnalysisSection4({handleFormSection4Data}:Props){
<FormLabel>What makes your pain worse?</FormLabel>
<FormGroup sx={{display:'flex', flexDirection:'row'}}>
<FormControlLabel
control={<Checkbox onChange={handlePainWorseChange} name="Bending" />}
control={<Checkbox onChange={handlePainQualityChange} name="sharp" />}
label="Bending"
/>
<FormControlLabel
control={<Checkbox onChange={handlePainWorseChange} name="Standing" />}
control={<Checkbox onChange={handlePainQualityChange} name="dull" />}
label="Standing"
/>
<FormControlLabel
control={<Checkbox onChange={handlePainWorseChange} name="Sitting" />}
control={<Checkbox onChange={handlePainQualityChange} name="burning" />}
label="Sitting"
/>
<FormControlLabel
control={<Checkbox onChange={handlePainWorseChange} name="Walking" />}
control={<Checkbox onChange={handlePainQualityChange} name="aching" />}
label="Walking"
/>
<FormControlLabel
control={<Checkbox onChange={handlePainWorseChange} name="Others" />}
control={<Checkbox onChange={handlePainQualityChange} name="aching" />}
label="Others"
/>
</FormGroup>
{formik.touched.painQuality && formik.errors.painQuality ? (
<div>{formik.errors.painQuality}</div>
) : null}
</FormControl>
</Grid>
@ -168,23 +98,23 @@ export default function PainAnalysisSection4({handleFormSection4Data}:Props){
<FormLabel>What makes your pain better?</FormLabel>
<FormGroup sx={{display:'flex', flexDirection:'row'}}>
<FormControlLabel
control={<Checkbox onChange={handlePainBetterChange} name="laying down" />}
control={<Checkbox onChange={handlePainQualityChange} name="sharp" />}
label="laying down"
/>
<FormControlLabel
control={<Checkbox onChange={handlePainBetterChange} name="Standing" />}
control={<Checkbox onChange={handlePainQualityChange} name="dull" />}
label="Standing"
/>
<FormControlLabel
control={<Checkbox onChange={handlePainBetterChange} name="Sitting" />}
control={<Checkbox onChange={handlePainQualityChange} name="burning" />}
label="Sitting"
/>
<FormControlLabel
control={<Checkbox onChange={handlePainBetterChange} name="Walking" />}
control={<Checkbox onChange={handlePainQualityChange} name="aching" />}
label="Walking"
/>
<FormControlLabel
control={<Checkbox onChange={handlePainBetterChange} name="Others" />}
control={<Checkbox onChange={handlePainQualityChange} name="aching" />}
label="Others"
/>
</FormGroup>
@ -200,22 +130,25 @@ export default function PainAnalysisSection4({handleFormSection4Data}:Props){
label="Sharp"
/>
<FormControlLabel
control={<Checkbox onChange={handlePainQualityChange} name="Dull/Ache" />}
control={<Checkbox onChange={handlePainQualityChange} name="dull" />}
label="Dull/Ache"
/>
<FormControlLabel
control={<Checkbox onChange={handlePainQualityChange} name="Throbbing" />}
control={<Checkbox onChange={handlePainQualityChange} name="burning" />}
label="Throbbing"
/>
<FormControlLabel
control={<Checkbox onChange={handlePainQualityChange} name="Tingling/Numbness/Burning" />}
control={<Checkbox onChange={handlePainQualityChange} name="aching" />}
label="Tingling/Numbness/Burning"
/>
<FormControlLabel
control={<Checkbox onChange={handlePainQualityChange} name="Others" />}
control={<Checkbox onChange={handlePainQualityChange} name="aching" />}
label="Others"
/>
</FormGroup>
{formik.touched.painQuality && formik.errors.painQuality ? (
<div>{formik.errors.painQuality}</div>
) : null}
</FormControl>
</Grid>
@ -224,26 +157,29 @@ export default function PainAnalysisSection4({handleFormSection4Data}:Props){
<FormLabel>What is the worst time for your pain?</FormLabel>
<FormGroup sx={{display:'flex', flexDirection:'row'}}>
<FormControlLabel
control={<Checkbox onChange={handlePainWorstTimeChange} name="Morning" />}
control={<Checkbox onChange={handlePainQualityChange} name="sharp" />}
label="Morning"
/>
<FormControlLabel
control={<Checkbox onChange={handlePainWorstTimeChange} name="During day" />}
control={<Checkbox onChange={handlePainQualityChange} name="dull" />}
label="During day"
/>
<FormControlLabel
control={<Checkbox onChange={handlePainWorstTimeChange} name="Evening" />}
control={<Checkbox onChange={handlePainQualityChange} name="burning" />}
label="Evening"
/>
<FormControlLabel
control={<Checkbox onChange={handlePainWorstTimeChange} name="Lying in bed" />}
control={<Checkbox onChange={handlePainQualityChange} name="aching" />}
label="Lying in bed"
/>
<FormControlLabel
control={<Checkbox onChange={handlePainWorstTimeChange} name="Others" />}
control={<Checkbox onChange={handlePainQualityChange} name="aching" />}
label="Others"
/>
</FormGroup>
{formik.touched.painQuality && formik.errors.painQuality ? (
<div>{formik.errors.painQuality}</div>
) : null}
</FormControl>
</Grid>
@ -252,13 +188,8 @@ export default function PainAnalysisSection4({handleFormSection4Data}:Props){
<FormLabel>How much of the day do you experience your chief complaint?</FormLabel>
<RadioGroup
name="painDuration"
onChange={(e)=>{
setPatient((prevValues) => ({
...prevValues,
painDuration: e.target.value,
}));
}}
value={patient.painDuration}
onChange={formik.handleChange}
value={formik.values.painDuration}
sx={{display:'flex', flexDirection:'row'}}
>
<FormControlLabel value="0-25%" control={<Radio />} label="0-25%" />
@ -274,19 +205,19 @@ export default function PainAnalysisSection4({handleFormSection4Data}:Props){
<FormLabel>Has your current complaint caused any of the following?</FormLabel>
<FormGroup sx={{display:'flex', flexDirection:'row'}}>
<FormControlLabel
control={<Checkbox onChange={handleCurrentComplaintIssuesTimeChange} name="Muscle weakness" />}
control={<Checkbox onChange={handlePainQualityChange} name="sharp" />}
label="Muscle weakness"
/>
<FormControlLabel
control={<Checkbox onChange={handleCurrentComplaintIssuesTimeChange} name="Bowel/Bladder problem" />}
control={<Checkbox onChange={handlePainQualityChange} name="dull" />}
label="Bowel/Bladder problem"
/>
<FormControlLabel
control={<Checkbox onChange={handleCurrentComplaintIssuesTimeChange} name="Digestion" />}
control={<Checkbox onChange={handlePainQualityChange} name="burning" />}
label="Digestion"
/>
<FormControlLabel
control={<Checkbox onChange={handleCurrentComplaintIssuesTimeChange} name="Cardiac/Respiratory" />}
control={<Checkbox onChange={handlePainQualityChange} name="aching" />}
label="Cardiac/Respiratory"
/>
@ -299,18 +230,16 @@ export default function PainAnalysisSection4({handleFormSection4Data}:Props){
<FormLabel>Have you tried any self treatment (ex-ice, heat, excercise) or taken any medication(over the counter or prescription)?</FormLabel>
<RadioGroup
name="painDuration"
onChange={(e)=>{
setPatient((prevValues) => ({
...prevValues,
selfTreatment: e.target.value,
}));
}}
value={patient.selfTreatment}
onChange={formik.handleChange}
value={formik.values.painDuration}
sx={{display:'flex', flexDirection:'row'}}
>
<FormControlLabel value="yes" control={<Radio />} label="Yes" />
<FormControlLabel value="no" control={<Radio />} label="No" />
</RadioGroup>
{formik.touched.painDuration && formik.errors.painDuration ? (
<div>{formik.errors.painDuration}</div>
) : null}
</FormControl>
</Grid>
@ -323,17 +252,14 @@ export default function PainAnalysisSection4({handleFormSection4Data}:Props){
variant="outlined"
label="What is your goal from treatment?(ex-play golf without pain)"
name='treatmentGoal'
onChange={(e)=>{
setPatient((prevValues) => ({
...prevValues,
treatmentGoal: e.target.value,
}));
}}
value={patient.treatmentGoal}
onChange={formik.handleChange}
value={formik.values.treatmentGoal}
onBlur={formik.handleBlur}
/>
</Grid>
</Grid>
</form>
</>
)}

View File

@ -1,9 +1,8 @@
import { TextField, FormControlLabel,Grid,Checkbox, FormControl, FormLabel, Radio, RadioGroup } from '@mui/material';
import * as React from 'react';
import Table from '../Helper/AddNewTable';
import { useEffect } from 'react';
interface Patient {
interface FormValues {
generalHealth: string;
presentProblemBefore: string;
ifYespresentProblemBefore:string;
@ -18,27 +17,10 @@ interface Patient {
supplementsOrDrugs: string;
}
type Props = {
handleFormSection5Data:(
generalHealth: string|undefined,
presentProblemBefore: string|undefined,
ifYespresentProblemBefore:string|undefined,
ifYestreatmentProvided: string|undefined,
ifYesOutcome: string|undefined,
strokeBloodclotting: string|undefined,
ifYesstrokeBloodclotting: string|undefined,
dizzinessFetigue: string|undefined,
ifyesdizzinessFetigue: string|undefined,
antiColligent: string|undefined,
injuriesHospitalization: string|undefined,
supplementsOrDrugs: string|undefined,
)=> void
}
export default function PastTreatment5(){
export default function PastTreatment5({handleFormSection5Data}:Props){
const [patient, setPatient] = React.useState<Patient>({
const [values, setValues] = React.useState<FormValues>({
generalHealth: '',
presentProblemBefore: '',
ifYespresentProblemBefore:'',
@ -53,23 +35,7 @@ export default function PastTreatment5({handleFormSection5Data}:Props){
supplementsOrDrugs:''
});
useEffect(()=>{
handleFormSection5Data(
patient.generalHealth,
patient.presentProblemBefore,
patient.ifYespresentProblemBefore,
patient.ifYestreatmentProvided,
patient.ifYesOutcome,
patient.strokeBloodclotting,
patient.ifYesstrokeBloodclotting,
patient.dizzinessFetigue,
patient.ifyesdizzinessFetigue,
patient.antiColligent,
patient.injuriesHospitalization,
patient.supplementsOrDrugs,
)
},[patient])
console.log("dsfdsfdsfg",values)
return(
<>
<form>
@ -82,7 +48,7 @@ export default function PastTreatment5({handleFormSection5Data}:Props){
name="painDuration"
sx={{display:'flex', flexDirection:'row'}}
onChange={(event) => {
setPatient((prevValues) => ({
setValues((prevValues) => ({
...prevValues,
generalHealth: event.target.value,
}));
@ -104,7 +70,7 @@ export default function PastTreatment5({handleFormSection5Data}:Props){
name="painDuration"
sx={{display:'flex', flexDirection:'row'}}
onChange={(event) => {
setPatient((prevValues) => ({
setValues((prevValues) => ({
...prevValues,
presentProblemBefore: event.target.value,
}));
@ -122,9 +88,9 @@ export default function PastTreatment5({handleFormSection5Data}:Props){
variant="outlined"
label="If yes, when?"
name='treatmentGoal'
disabled={patient.presentProblemBefore!=='Yes'}
disabled={values.presentProblemBefore!=='Yes'}
onChange={(event) => {
setPatient((prevValues) => ({
setValues((prevValues) => ({
...prevValues,
ifYespresentProblemBefore: event.target.value,
}));
@ -136,9 +102,9 @@ export default function PastTreatment5({handleFormSection5Data}:Props){
variant="outlined"
label="Was treatment provided?If yes, by whom?"
name='treatmentGoal'
disabled={patient.presentProblemBefore!=='Yes'}
disabled={values.presentProblemBefore!=='Yes'}
onChange={(event) => {
setPatient((prevValues) => ({
setValues((prevValues) => ({
...prevValues,
ifYestreatmentProvided: event.target.value,
}));
@ -150,9 +116,9 @@ export default function PastTreatment5({handleFormSection5Data}:Props){
variant="outlined"
label="Outcome?"
name='treatmentGoal'
disabled={patient.presentProblemBefore!=='Yes'}
disabled={values.presentProblemBefore!=='Yes'}
onChange={(event) => {
setPatient((prevValues) => ({
setValues((prevValues) => ({
...prevValues,
ifYesOutcome: event.target.value,
}));
@ -168,7 +134,7 @@ export default function PastTreatment5({handleFormSection5Data}:Props){
name="painDuration"
sx={{display:'flex', flexDirection:'row'}}
onChange={(event) => {
setPatient((prevValues) => ({
setValues((prevValues) => ({
...prevValues,
strokeBloodclotting: event.target.value,
}));
@ -185,9 +151,9 @@ export default function PastTreatment5({handleFormSection5Data}:Props){
variant="outlined"
label="If yes, when?"
name='treatmentGoal'
disabled={patient.strokeBloodclotting!=='Yes'}
disabled={values.strokeBloodclotting!=='Yes'}
onChange={(event) => {
setPatient((prevValues) => ({
setValues((prevValues) => ({
...prevValues,
ifYesstrokeBloodclotting: event.target.value,
}));
@ -202,7 +168,7 @@ export default function PastTreatment5({handleFormSection5Data}:Props){
name="painDuration"
sx={{display:'flex', flexDirection:'row'}}
onChange={(event) => {
setPatient((prevValues) => ({
setValues((prevValues) => ({
...prevValues,
dizzinessFetigue: event.target.value,
}));
@ -219,9 +185,9 @@ export default function PastTreatment5({handleFormSection5Data}:Props){
variant="outlined"
label="If yes, when?"
name='treatmentGoal'
disabled={patient.dizzinessFetigue!=='Yes'}
disabled={values.dizzinessFetigue!=='Yes'}
onChange={(event) => {
setPatient((prevValues) => ({
setValues((prevValues) => ({
...prevValues,
ifyesdizzinessFetigue: event.target.value,
}));
@ -236,7 +202,7 @@ export default function PastTreatment5({handleFormSection5Data}:Props){
name="painDuration"
sx={{display:'flex', flexDirection:'row'}}
onChange={(event) => {
setPatient((prevValues) => ({
setValues((prevValues) => ({
...prevValues,
antiColligent: event.target.value,
}));
@ -255,7 +221,7 @@ export default function PastTreatment5({handleFormSection5Data}:Props){
name="painDuration"
sx={{display:'flex', flexDirection:'row'}}
onChange={(event) => {
setPatient((prevValues) => ({
setValues((prevValues) => ({
...prevValues,
injuriesHospitalization: event.target.value,
}));
@ -279,7 +245,7 @@ export default function PastTreatment5({handleFormSection5Data}:Props){
label=""
name='treatmentGoal'
onChange={(event) => {
setPatient((prevValues) => ({
setValues((prevValues) => ({
...prevValues,
supplementsOrDrugs: event.target.value,
}));

View File

@ -21,6 +21,22 @@ import RecreationalHobbiesSection7 from './RecreationalHobbiesSection7';
import OtherDetails8 from './OtherDetails8';
import PatientImageMarker from '../ImageMarker/PatientImageMarker';
interface Patient {
fullName: string;
homePhone: string;
cellPhone: string;
email: string;
age: number;
dateOfBirth: string;
socialSecurityNumber: string;
mailingAddress: string;
city: string;
state: string;
zipCode: string;
gender: string;
maritalStatus: string;
}
const Accordion = styled((props: AccordionProps) => (
<MuiAccordion disableGutters elevation={0} square {...props} />
))(({ theme }) => ({
@ -57,291 +73,30 @@ import PatientImageMarker from '../ImageMarker/PatientImageMarker';
borderTop: '1px solid rgba(0, 0, 0, .125)',
}));
export default function PatientForm(){
const [expanded, setExpanded] = React.useState<string | false>('panel1');
const [isChecked, setIsChecked] = React.useState(false);
const [signature,setSignature]=React.useState('');
const [section1Data, setSection1Data] = React.useState<any>({});
const [section2Data, setSection2Data] = React.useState<any>({});
const [section3Data, setSection3Data] = React.useState<any>({});
const [section4Data, setSection4Data] = React.useState<any>({});
const [section5Data, setSection5Data] = React.useState<any>({});
const [section6Data, setSection6Data] = React.useState<any>({});
const [section7Data, setSection7Data] = React.useState<any>({});
const [section8Data, setSection8Data] = React.useState<any>({});
const [restructuredCurrentPatientData, setRestructuredCurrentPatientData] = React.useState<any>({});
const [allPatientData, setAllPatientData] = React.useState<any>([]);
const handleFormSection1Data = (
fullName?: string|undefined,
homePhone?: string|undefined,
cellPhone?: string|undefined,
email?: string|undefined,
age?: number|undefined|string,
dateOfBirth?: string|undefined,
socialSecurityNumber?: string|undefined,
mailingAddress?: string|undefined,
city?: string|undefined,
state?: string|undefined,
zipCode?: string|undefined,
gender?: string|undefined,
) =>{
setSection1Data({
fullName,
homePhone,
cellPhone,
email,
age,
dateOfBirth,
socialSecurityNumber,
mailingAddress,
city,
state,
zipCode,
gender,
})
}
const handleFormSection2Data = (
maritalStatus: string | undefined,
numberOfChildren: string | undefined,
occupation: string | undefined,
hoursPerWeek: number | string | undefined,
employer: string | undefined,
businessPhone: string | undefined,
spouseName: string | undefined,
spouseEmployer: string | undefined,
spouseBusinessPhone: string | undefined,
emergencyContact: string | undefined,
relationship: string | undefined,
spousePhone: string | undefined,
) =>{
setSection2Data({
maritalStatus,
numberOfChildren,
occupation,
hoursPerWeek,
employer,
businessPhone,
spouseName,
spouseEmployer,
spouseBusinessPhone,
emergencyContact,
relationship,
spousePhone,
})
}
const handleFormSection3Data = (
physicianname: string |undefined,
physiciancity: string |undefined,
physicianstate: string |undefined,
physicianphone: string |undefined,
chiropractorName: string |undefined,
chiropractorState: string |undefined,
xray: string|undefined,
haveChiropractor: string|undefined,
reference: string|undefined,
visitDetails: string |undefined,
cellPhoneProvider: string |undefined,
) =>{
setSection3Data({
physicianname,
physiciancity,
physicianstate,
physicianphone,
chiropractorName,
chiropractorState,
xray,
haveChiropractor,
reference,
visitDetails,
cellPhoneProvider,
})
}
const handleFormSection4Data = (
chiefComplaint:string|undefined,
painWorse: any,
painBetter: any,
painQuality: any,
painWorstTime: any,
currentComplaintIssues: any,
painDuration: string|undefined,
currentTreatment: string|undefined,
treatmentGoal: string|undefined,
selfTreatment:string|undefined,
) =>{
setSection4Data({
chiefComplaint,
painWorse,
painBetter,
painQuality,
painWorstTime,
currentComplaintIssues,
painDuration,
currentTreatment,
treatmentGoal,
selfTreatment,
})
}
const handleFormSection5Data = (
generalHealth: string|undefined,
presentProblemBefore: string|undefined,
ifYespresentProblemBefore:string|undefined,
ifYestreatmentProvided: string|undefined,
ifYesOutcome: string|undefined,
strokeBloodclotting: string|undefined,
ifYesstrokeBloodclotting: string|undefined,
dizzinessFetigue: string|undefined,
ifyesdizzinessFetigue: string|undefined,
antiColligent: string|undefined,
injuriesHospitalization: string|undefined,
supplementsOrDrugs: string|undefined,
) =>{
setSection5Data({
generalHealth,
presentProblemBefore,
ifYespresentProblemBefore,
ifYestreatmentProvided,
ifYesOutcome,
strokeBloodclotting,
ifYesstrokeBloodclotting,
dizzinessFetigue,
ifyesdizzinessFetigue,
antiColligent,
injuriesHospitalization,
supplementsOrDrugs,
})
}
const handleFormSection6Data = (
eyes: string|undefined,
IntestinesBowls: string|undefined,
jointsBones:string|undefined,
allergies: string|undefined,
earsNoseMouth: string|undefined,
urinary: string|undefined,
skin: string|undefined,
psychological: string|undefined,
heart: string|undefined,
muscles: string|undefined,
internalOrgans: string|undefined,
gynecological: string|undefined,
lungsBreathing: string|undefined,
nerves: string|undefined,
blood: string|undefined,
prostate: string|undefined,
explanation:string|undefined,
) =>{
setSection6Data({
eyes,
IntestinesBowls,
jointsBones,
allergies,
earsNoseMouth,
urinary,
skin,
psychological,
heart,
muscles,
internalOrgans,
gynecological,
lungsBreathing,
nerves,
blood,
prostate,
explanation,
})
}
const handleFormSection7Data = (
hobbies: string|undefined,
educationLevel: string|undefined,
excercise: string|undefined,
excerciseExplanation: string|undefined,
tobacco: string|undefined,
tobaccoExplanation: string|undefined,
alcohol: string|undefined,
alcoholExplanation: string|undefined,
healthyDiet: string|undefined,
healthyDietExplanation: string|undefined,
sleep: string|undefined,
sleepExplanation: string|undefined,
workSchool: string|undefined,
workSchoolExplanation: string|undefined,
familyLife: string|undefined,
familyLifeExplanation: string|undefined,
drugs: string|undefined,
drugsExplanation:string|undefined,
) =>{
setSection7Data({
hobbies,
educationLevel,
excercise,
excerciseExplanation,
tobacco,
tobaccoExplanation,
alcohol,
alcoholExplanation,
healthyDiet,
healthyDietExplanation,
sleep,
sleepExplanation,
workSchool,
workSchoolExplanation,
familyLife,
familyLifeExplanation,
drugs,
drugsExplanation,
})
}
const handleFormSection8Data = (
familyHistory: string|undefined,
sleep: string|undefined,
pillow: string|undefined,
orthotics: string|undefined,
brestExam: any,
pregnancy: string|undefined,
menstralCycle: any,
) =>{
setSection8Data({
familyHistory,
sleep,
pillow,
orthotics,
brestExam,
pregnancy,
menstralCycle,
})
}
const [patient, setPatient] = React.useState<Patient>({
fullName: "",
homePhone: "",
cellPhone: "",
email: "",
age: 0,
dateOfBirth: "",
socialSecurityNumber: "",
mailingAddress: "",
city: "",
state: "",
zipCode: "",
gender: "",
maritalStatus: "",
});
const handleSubmit = () => {
const newPatientData = {
section1: section1Data,
section2: section2Data,
section3: section3Data,
section4: section4Data,
section5: section5Data,
section6: section6Data,
section7: section7Data,
section8: section8Data,
const handleSubmit = (event: React.FormEvent<HTMLFormElement>) => {
event.preventDefault();
};
// Create a copy of the existing data array and push the new patient data
const updatedAllPatientData = [...allPatientData, newPatientData];
// Update the state with the new array
setAllPatientData(updatedAllPatientData);
console.log("UpdatedallPatientData:", updatedAllPatientData);
};
const handleExpandChange =
(panel: string) => (event: React.SyntheticEvent, newExpanded: boolean) => {
@ -351,7 +106,6 @@ export default function PatientForm(){
const handleCheckboxChange = (event:any) => {
setIsChecked(event.target.checked);
};
return(
@ -359,7 +113,7 @@ export default function PatientForm(){
<Paper elevation={0} className='app-screen-constants'>
<Header/>
<Paper elevation={0} sx={{margin:4, minHeight:550}} >
{/* <form onSubmit={handleSubmit}> */}
<form onSubmit={handleSubmit}>
<Typography sx={{fontSize:20}} gutterBottom>
Confidential Patient Information
</Typography>
@ -375,7 +129,7 @@ export default function PatientForm(){
</AccordionSummary>
<AccordionDetails>
<PersonalSection handleFormSection1Data={handleFormSection1Data}/>
<PersonalSection/>
</AccordionDetails>
</Accordion>
@ -386,7 +140,7 @@ export default function PatientForm(){
</AccordionSummary>
<AccordionDetails>
<FamilyFormSection handleFormSection2Data={handleFormSection2Data}/>
<FamilyFormSection/>
</AccordionDetails>
</Accordion>
@ -396,7 +150,7 @@ export default function PatientForm(){
</AccordionSummary>
<AccordionDetails>
<MedicalHistory handleFormSection3Data={handleFormSection3Data}/>
<MedicalHistory/>
</AccordionDetails>
</Accordion>
@ -417,7 +171,7 @@ export default function PatientForm(){
</AccordionSummary>
<AccordionDetails>
<PainAnalysisSection4 handleFormSection4Data={handleFormSection4Data}/>
<PainAnalysisSection4/>
</AccordionDetails>
</Accordion>
@ -427,7 +181,7 @@ export default function PatientForm(){
</AccordionSummary>
<AccordionDetails>
<PastTreatment5 handleFormSection5Data={handleFormSection5Data}/>
<PastTreatment5/>
</AccordionDetails>
</Accordion>
@ -437,7 +191,7 @@ export default function PatientForm(){
</AccordionSummary>
<AccordionDetails>
<SystemReviewSection6 handleFormSection6Data={handleFormSection6Data}/>
<SystemReviewSection6/>
</AccordionDetails>
</Accordion>
@ -447,7 +201,7 @@ export default function PatientForm(){
</AccordionSummary>
<AccordionDetails>
<RecreationalHobbiesSection7 handleFormSection7Data={handleFormSection7Data}/>
<RecreationalHobbiesSection7/>
</AccordionDetails>
</Accordion>
@ -457,7 +211,7 @@ export default function PatientForm(){
</AccordionSummary>
<AccordionDetails>
<OtherDetails8 handleFormSection8Data={handleFormSection8Data}/>
<OtherDetails8/>
</AccordionDetails>
</Accordion>
@ -488,18 +242,17 @@ export default function PatientForm(){
</Grid>
<Grid>
<Button
// type="submit"
type="submit"
variant="contained"
color="primary"
sx={{ margin: 5, left: '40%', width: '200px' }}
disabled={isChecked==false || signature==''}
onClick={handleSubmit}
>
Submit
</Button>
</Grid>
</Grid>
{/* </form> */}
</form>
</Paper>
<Footer/>

View File

@ -4,7 +4,6 @@ import { useFormik } from "formik";
import * as yup from "yup";
import { LocalizationProvider, DatePicker } from '@mui/x-date-pickers';
import { AdapterDayjs } from '@mui/x-date-pickers/AdapterDayjs';
import { useEffect } from 'react';
interface Patient {
fullName: string;
@ -19,6 +18,7 @@ interface Patient {
state: string;
zipCode: string;
gender: string;
maritalStatus: string;
}
const validationSchema = yup.object({
@ -35,81 +35,57 @@ interface Patient {
zipCode: yup.string().matches(/^\d{6}$/, "Zip code must be 6 digits").required("Zip code is required")
});
type Props = {
handleFormSection1Data:(
fullName?: string|undefined,
homePhone?: string|undefined,
cellPhone?: string|undefined,
email?: string|undefined,
age?: number|undefined|string,
dateOfBirth?: string|undefined,
socialSecurityNumber?: string|undefined,
mailingAddress?: string|undefined,
city?: string|undefined,
state?: string|undefined,
zipCode?: string|undefined,
gender?: string|undefined,
)=> void
}
export default function PersonalSection({handleFormSection1Data}:Props){
export default function PersonalSection(){
const [startDateValue, setStartDateValue] = React.useState<any>();
const [emailValue, setEmailValue]= React.useState<string>('');
const [patient, setPatient] = React.useState<Patient>({
fullName: "",
homePhone: "",
cellPhone: "",
email: "",
age: 0,
dateOfBirth: startDateValue,
dateOfBirth: "",
socialSecurityNumber: "",
mailingAddress:"",
city: "",
state: "",
zipCode: "",
gender: "male",
maritalStatus: "",
});
useEffect(()=>{
handleFormSection1Data(
patient.fullName,
patient.homePhone,
patient.cellPhone,
patient.email,
patient.age,
startDateValue,
patient.socialSecurityNumber,
patient.mailingAddress,
patient.city,
patient.state,
patient.zipCode,
patient.gender,
)
},[patient])
// const formik = useFormik<Patient>({
// initialValues: {
// fullName: "",
// homePhone: "",
// cellPhone: "",
// email: "",
// age: "",
// dateOfBirth: "",
// socialSecurityNumber: "",
// mailingAddress: "",
// city: "",
// state: "",
// zipCode: "",
// gender: "male",
// },
// validationSchema,
// onSubmit: (values) => {
// // Do something with the patient data
// console.log(values,"sdfdsfsd34");
// },
// });
const formik = useFormik<Patient>({
initialValues: {
fullName: "",
homePhone: "",
cellPhone: "",
email: "",
age: "",
dateOfBirth: "",
socialSecurityNumber: "",
mailingAddress:"",
city: "",
state: "",
zipCode: "",
gender: "male",
maritalStatus: "",
},
validationSchema,
onSubmit: (values) => {
// Do something with the patient data
console.log(values);
},
});
const handleChange = (event: React.ChangeEvent<HTMLInputElement>) => {
console.log("dsfsdfsdf",event.target.value)
const { name, value } = event.target;
setPatient((prevPatient) => ({
...prevPatient,
[name]: value,
}));
};
return(
<>
@ -120,16 +96,11 @@ export default function PersonalSection({handleFormSection1Data}:Props){
label="Patient's Full Name"
name="fullName"
placeholder='Please enter your name'
value={patient.fullName}
onChange={(e)=>{
setPatient((prevValues) => ({
...prevValues,
fullName: e.target.value,
}));
}}
// onBlur={formik.handleBlur}
// error={formik.touched.fullName && Boolean(formik.errors.fullName)}
// helperText={formik.touched.fullName && formik.errors.fullName}
value={formik.values.fullName}
onChange={formik.handleChange}
onBlur={formik.handleBlur}
error={formik.touched.fullName && Boolean(formik.errors.fullName)}
helperText={formik.touched.fullName && formik.errors.fullName}
required
/>
</Grid>
@ -141,16 +112,11 @@ export default function PersonalSection({handleFormSection1Data}:Props){
label="Phone Number"
name="cellPhone"
placeholder='Please enter your cell Phone number'
value={patient.cellPhone}
onChange={(e)=>{
setPatient((prevValues) => ({
...prevValues,
cellPhone: e.target.value,
}));
}}
// onBlur={formik.handleBlur}
// error={formik.touched.cellPhone && Boolean(formik.errors.cellPhone)}
// helperText={formik.touched.cellPhone && formik.errors.cellPhone}
value={formik.values.cellPhone}
onChange={formik.handleChange}
onBlur={formik.handleBlur}
error={formik.touched.cellPhone && Boolean(formik.errors.cellPhone)}
helperText={formik.touched.cellPhone && formik.errors.cellPhone}
/>
</Grid>
@ -160,16 +126,11 @@ export default function PersonalSection({handleFormSection1Data}:Props){
label="Home Phone Number"
name="homePhone"
placeholder='Please enter your home phone'
value={patient.homePhone}
onChange={(e)=>{
setPatient((prevValues) => ({
...prevValues,
homePhone: e.target.value,
}));
}}
// onBlur={formik.handleBlur}
// error={formik.touched.homePhone && Boolean(formik.errors.homePhone)}
// helperText={formik.touched.homePhone && formik.errors.homePhone}
value={formik.values.homePhone}
onChange={formik.handleChange}
onBlur={formik.handleBlur}
error={formik.touched.homePhone && Boolean(formik.errors.homePhone)}
helperText={formik.touched.homePhone && formik.errors.homePhone}
/>
</Grid>
@ -179,14 +140,11 @@ export default function PersonalSection({handleFormSection1Data}:Props){
label="Email"
name="email"
placeholder='Please enter your email'
value={patient.email}
value={emailValue}
onChange={(e)=>{
setPatient((prevValues) => ({
...prevValues,
email: e.target.value,
}));
setEmailValue(e.target.value)
}}
// onBlur={formik.handleBlur}
onBlur={formik.handleBlur}
// error={formik.touched.email && Boolean(formik.errors.email)}
// helperText={formik.touched.email && formik.errors.email}
/>
@ -199,16 +157,11 @@ export default function PersonalSection({handleFormSection1Data}:Props){
name="age"
type="number"
placeholder='Please enter your age'
value={patient.age}
onChange={(e)=>{
setPatient((prevValues) => ({
...prevValues,
age: e.target.value,
}));
}}
// onBlur={formik.handleBlur}
// error={formik.touched.age && Boolean(formik.errors.age)}
// helperText={formik.touched.age && formik.errors.age}
value={formik.values.age}
onChange={formik.handleChange}
onBlur={formik.handleBlur}
error={formik.touched.age && Boolean(formik.errors.age)}
helperText={formik.touched.age && formik.errors.age}
/>
</Grid>
<Grid item xs={4} className='collapsable-form-style'>
@ -232,16 +185,11 @@ export default function PersonalSection({handleFormSection1Data}:Props){
variant="outlined"
label="Social Security Number"
name="socialSecurityNumber"
value={patient.socialSecurityNumber}
onChange={(e)=>{
setPatient((prevValues) => ({
...prevValues,
socialSecurityNumber: e.target.value,
}));
}}
// onBlur={formik.handleBlur}
// error={formik.touched.socialSecurityNumber && Boolean(formik.errors.socialSecurityNumber)}
// helperText={formik.touched.socialSecurityNumber && formik.errors.socialSecurityNumber}
value={formik.values.socialSecurityNumber}
onChange={formik.handleChange}
onBlur={formik.handleBlur}
error={formik.touched.socialSecurityNumber && Boolean(formik.errors.socialSecurityNumber)}
helperText={formik.touched.socialSecurityNumber && formik.errors.socialSecurityNumber}
/>
</Grid>
@ -251,16 +199,11 @@ export default function PersonalSection({handleFormSection1Data}:Props){
variant="outlined"
label="Mailing Address"
name="mailingAddress"
value={patient.mailingAddress}
onChange={(e)=>{
setPatient((prevValues) => ({
...prevValues,
mailingAddress: e.target.value,
}));
}}
// onBlur={formik.handleBlur}
// error={formik.touched.mailingAddress && Boolean(formik.errors.mailingAddress)}
// helperText={formik.touched.mailingAddress && formik.errors.mailingAddress}
value={formik.values.mailingAddress}
onChange={formik.handleChange}
onBlur={formik.handleBlur}
error={formik.touched.mailingAddress && Boolean(formik.errors.mailingAddress)}
helperText={formik.touched.mailingAddress && formik.errors.mailingAddress}
/>
</Grid>
@ -269,14 +212,9 @@ export default function PersonalSection({handleFormSection1Data}:Props){
variant="outlined"
label="State"
name="state"
value={patient.state}
onChange={(e)=>{
setPatient((prevValues) => ({
...prevValues,
state: e.target.value,
}));
}}
// onBlur={formik.handleBlur}
value={formik.values.state}
onChange={formik.handleChange}
onBlur={formik.handleBlur}
// error={formik.touched.state && Boolean(formik.errors.state)}
// helperText={formik.touched.state && formik.errors.state}
/>
@ -288,16 +226,11 @@ export default function PersonalSection({handleFormSection1Data}:Props){
variant="outlined"
label="City"
name="city"
value={patient.city}
onChange={(e)=>{
setPatient((prevValues) => ({
...prevValues,
city: e.target.value,
}));
}}
// onBlur={formik.handleBlur}
// error={formik.touched.city && Boolean(formik.errors.city)}
// helperText={formik.touched.city && formik.errors.city}
value={formik.values.city}
onChange={formik.handleChange}
onBlur={formik.handleBlur}
error={formik.touched.city && Boolean(formik.errors.city)}
helperText={formik.touched.city && formik.errors.city}
/>
</Grid>
@ -306,16 +239,11 @@ export default function PersonalSection({handleFormSection1Data}:Props){
variant="outlined"
label="Zip Code"
name="zipCode"
value={patient.zipCode}
onChange={(e)=>{
setPatient((prevValues) => ({
...prevValues,
zipCode: e.target.value,
}));
}}
// onBlur={formik.handleBlur}
// error={formik.touched.zipCode && Boolean(formik.errors.zipCode)}
// helperText={formik.touched.zipCode && formik.errors.zipCode}
value={formik.values.zipCode}
onChange={formik.handleChange}
onBlur={formik.handleBlur}
error={formik.touched.zipCode && Boolean(formik.errors.zipCode)}
helperText={formik.touched.zipCode && formik.errors.zipCode}
/>
</Grid>
@ -324,14 +252,9 @@ export default function PersonalSection({handleFormSection1Data}:Props){
<FormLabel>Gender</FormLabel>
<RadioGroup
aria-labelledby="demo-radio-buttons-group-label"
defaultValue={patient.gender}
defaultValue="male"
name="radio-buttons-group"
onChange={(e)=>{
setPatient((prevValues) => ({
...prevValues,
gender: e.target.value,
}));
}}
onChange={handleChange}
sx={{display:'flex', flexDirection:'row'}}
>
<FormControlLabel value="male" control={<Radio />} label="Male" />

View File

@ -1,7 +1,7 @@
import { FormControl, FormControlLabel, FormLabel, Grid, Radio, RadioGroup, TextField } from "@mui/material";
import React, { useEffect } from "react";
import React from "react";
interface Patient {
interface FormValues {
hobbies: string;
educationLevel: string;
excercise: string;
@ -22,31 +22,8 @@ interface Patient {
drugsExplanation:string;
}
type Props = {
handleFormSection7Data:(
hobbies: string|undefined,
educationLevel: string|undefined,
excercise: string|undefined,
excerciseExplanation: string|undefined,
tobacco: string|undefined,
tobaccoExplanation: string|undefined,
alcohol: string|undefined,
alcoholExplanation: string|undefined,
healthyDiet: string|undefined,
healthyDietExplanation: string|undefined,
sleep: string|undefined,
sleepExplanation: string|undefined,
workSchool: string|undefined,
workSchoolExplanation: string|undefined,
familyLife: string|undefined,
familyLifeExplanation: string|undefined,
drugs: string|undefined,
drugsExplanation:string|undefined,
)=> void
}
export default function RecreationalHobbiesSection7({handleFormSection7Data}:Props){
const [patient, setPatient] = React.useState<Patient>({
export default function RecreationalHobbiesSection7(){
const [values, setValues] = React.useState<FormValues>({
hobbies: '',
educationLevel: '',
excercise:'',
@ -66,31 +43,6 @@ export default function RecreationalHobbiesSection7({handleFormSection7Data}:Pro
drugs: '',
drugsExplanation:''
});
useEffect(()=>{
handleFormSection7Data(
patient.hobbies,
patient.educationLevel,
patient.excercise,
patient.excerciseExplanation,
patient.tobacco,
patient.tobaccoExplanation,
patient.alcohol,
patient.alcoholExplanation,
patient.healthyDiet,
patient.healthyDietExplanation,
patient.sleep,
patient.sleepExplanation,
patient.workSchool,
patient.workSchoolExplanation,
patient.familyLife,
patient.familyLifeExplanation,
patient.drugs,
patient.drugsExplanation
)
},[patient])
return(
<>
@ -103,7 +55,7 @@ export default function RecreationalHobbiesSection7({handleFormSection7Data}:Pro
label=""
name='explanation'
onChange={(event:any) => {
setPatient((prevValues) => ({
setValues((prevValues) => ({
...prevValues,
hobbies: event.target.value,
}));
@ -117,7 +69,7 @@ export default function RecreationalHobbiesSection7({handleFormSection7Data}:Pro
<RadioGroup
sx={{display:'flex', flexDirection:'row'}}
onChange={(event) => {
setPatient((prevValues) => ({
setValues((prevValues) => ({
...prevValues,
educationLevel: event.target.value,
}));
@ -139,7 +91,7 @@ export default function RecreationalHobbiesSection7({handleFormSection7Data}:Pro
name="painDuration"
sx={{display:'flex', flexDirection:'row'}}
onChange={(event) => {
setPatient((prevValues) => ({
setValues((prevValues) => ({
...prevValues,
excercise: event.target.value,
}));
@ -153,12 +105,12 @@ export default function RecreationalHobbiesSection7({handleFormSection7Data}:Pro
<Grid item xs={6} className='collapsable-form-style-form7'>
<TextField
disabled={patient.excercise!=='Yes'}
disabled={values.excercise!=='Yes'}
variant="outlined"
label="Times per week?"
name='treatmentGoal'
onChange={(event) => {
setPatient((prevValues) => ({
setValues((prevValues) => ({
...prevValues,
excerciseExplanation: event.target.value,
}));
@ -173,7 +125,7 @@ export default function RecreationalHobbiesSection7({handleFormSection7Data}:Pro
name="painDuration"
sx={{display:'flex', flexDirection:'row'}}
onChange={(event) => {
setPatient((prevValues) => ({
setValues((prevValues) => ({
...prevValues,
tobacco: event.target.value,
}));
@ -187,12 +139,12 @@ export default function RecreationalHobbiesSection7({handleFormSection7Data}:Pro
<Grid item xs={6} className='collapsable-form-style-form7'>
<TextField
disabled={patient.tobacco!=='Yes'}
disabled={values.tobacco!=='Yes'}
variant="outlined"
label="Packs/Cans per day(If you have quit, when did you quit?)"
name='treatmentGoal'
onChange={(event) => {
setPatient((prevValues) => ({
setValues((prevValues) => ({
...prevValues,
excerciseExplanation: event.target.value,
}));
@ -207,7 +159,7 @@ export default function RecreationalHobbiesSection7({handleFormSection7Data}:Pro
name="painDuration"
sx={{display:'flex', flexDirection:'row'}}
onChange={(event) => {
setPatient((prevValues) => ({
setValues((prevValues) => ({
...prevValues,
alcohol: event.target.value,
}));
@ -221,12 +173,12 @@ export default function RecreationalHobbiesSection7({handleFormSection7Data}:Pro
<Grid item xs={6} className='collapsable-form-style-form7'>
<TextField
disabled={patient.alcohol!=='Yes'}
disabled={values.alcohol!=='Yes'}
variant="outlined"
label="How many drinks per week?"
name='treatmentGoal'
onChange={(event) => {
setPatient((prevValues) => ({
setValues((prevValues) => ({
...prevValues,
alcoholExplanation: event.target.value,
}));
@ -241,7 +193,7 @@ export default function RecreationalHobbiesSection7({handleFormSection7Data}:Pro
name="painDuration"
sx={{display:'flex', flexDirection:'row'}}
onChange={(event) => {
setPatient((prevValues) => ({
setValues((prevValues) => ({
...prevValues,
healthyDiet: event.target.value,
}));
@ -255,12 +207,12 @@ export default function RecreationalHobbiesSection7({handleFormSection7Data}:Pro
<Grid item xs={6} className='collapsable-form-style-form7'>
<TextField
disabled={patient.healthyDiet!=='No'}
disabled={values.healthyDiet!=='No'}
variant="outlined"
label="If no, explain"
name='treatmentGoal'
onChange={(event) => {
setPatient((prevValues) => ({
setValues((prevValues) => ({
...prevValues,
healthyDietExplanation: event.target.value,
}));
@ -275,7 +227,7 @@ export default function RecreationalHobbiesSection7({handleFormSection7Data}:Pro
name="painDuration"
sx={{display:'flex', flexDirection:'row'}}
onChange={(event) => {
setPatient((prevValues) => ({
setValues((prevValues) => ({
...prevValues,
sleep: event.target.value,
}));
@ -289,12 +241,12 @@ export default function RecreationalHobbiesSection7({handleFormSection7Data}:Pro
<Grid item xs={6} className='collapsable-form-style-form7'>
<TextField
disabled={patient.sleep!=='No'}
disabled={values.sleep!=='No'}
variant="outlined"
label="If no, explain"
name='treatmentGoal'
onChange={(event) => {
setPatient((prevValues) => ({
setValues((prevValues) => ({
...prevValues,
sleepExplanation: event.target.value,
}));
@ -309,7 +261,7 @@ export default function RecreationalHobbiesSection7({handleFormSection7Data}:Pro
name="painDuration"
sx={{display:'flex', flexDirection:'row'}}
onChange={(event) => {
setPatient((prevValues) => ({
setValues((prevValues) => ({
...prevValues,
workSchool: event.target.value,
}));
@ -323,12 +275,12 @@ export default function RecreationalHobbiesSection7({handleFormSection7Data}:Pro
<Grid item xs={6} className='collapsable-form-style-form7'>
<TextField
disabled={patient.workSchool!=='Yes'}
disabled={values.workSchool!=='Yes'}
variant="outlined"
label="If yes, explain"
name='treatmentGoal'
onChange={(event) => {
setPatient((prevValues) => ({
setValues((prevValues) => ({
...prevValues,
workSchool: event.target.value,
}));
@ -343,7 +295,7 @@ export default function RecreationalHobbiesSection7({handleFormSection7Data}:Pro
name="painDuration"
sx={{display:'flex', flexDirection:'row'}}
onChange={(event) => {
setPatient((prevValues) => ({
setValues((prevValues) => ({
...prevValues,
familyLife: event.target.value,
}));
@ -357,12 +309,12 @@ export default function RecreationalHobbiesSection7({handleFormSection7Data}:Pro
<Grid item xs={6} className='collapsable-form-style-form7'>
<TextField
disabled={patient.familyLife!=='Yes'}
disabled={values.familyLife!=='Yes'}
variant="outlined"
label="If yes, explain"
name='treatmentGoal'
onChange={(event) => {
setPatient((prevValues) => ({
setValues((prevValues) => ({
...prevValues,
familyLifeExplanation: event.target.value,
}));
@ -377,7 +329,7 @@ export default function RecreationalHobbiesSection7({handleFormSection7Data}:Pro
name="painDuration"
sx={{display:'flex', flexDirection:'row'}}
onChange={(event) => {
setPatient((prevValues) => ({
setValues((prevValues) => ({
...prevValues,
drugs: event.target.value,
}));
@ -391,12 +343,12 @@ export default function RecreationalHobbiesSection7({handleFormSection7Data}:Pro
<Grid item xs={6} className='collapsable-form-style-form7'>
<TextField
disabled={patient.drugs!=='Yes'}
disabled={values.drugs!=='Yes'}
variant="outlined"
label="If yes, explain"
name='treatmentGoal'
onChange={(event) => {
setPatient((prevValues) => ({
setValues((prevValues) => ({
...prevValues,
drugsExplanation: event.target.value,
}));

View File

@ -1,7 +1,7 @@
import { FormControl, FormControlLabel, FormLabel, Grid, Radio, RadioGroup, TextField } from "@mui/material";
import React, { useEffect } from "react";
import React from "react";
interface Patient {
interface FormValues {
eyes: string;
IntestinesBowls: string;
jointsBones:string;
@ -21,30 +21,8 @@ interface Patient {
explanation:string;
}
type Props = {
handleFormSection6Data:(
eyes: string|undefined,
IntestinesBowls: string|undefined,
jointsBones:string|undefined,
allergies: string|undefined,
earsNoseMouth: string|undefined,
urinary: string|undefined,
skin: string|undefined,
psychological: string|undefined,
heart: string|undefined,
muscles: string|undefined,
internalOrgans: string|undefined,
gynecological: string|undefined,
lungsBreathing: string|undefined,
nerves: string|undefined,
blood: string|undefined,
prostate: string|undefined,
explanation:string|undefined,
)=> void
}
export default function SystemReviewSection6({handleFormSection6Data}:Props){
const [patient, setPatients] = React.useState<Patient>({
export default function SystemReviewSection6(){
const [values, setValues] = React.useState<FormValues>({
eyes: '',
IntestinesBowls: '',
jointsBones:'',
@ -63,28 +41,6 @@ export default function SystemReviewSection6({handleFormSection6Data}:Props){
prostate: '',
explanation:'',
});
useEffect(()=>{
handleFormSection6Data(
patient.eyes,
patient.IntestinesBowls,
patient.jointsBones,
patient.allergies,
patient.earsNoseMouth,
patient.urinary,
patient.skin,
patient.psychological,
patient.heart,
patient.muscles,
patient.internalOrgans,
patient.gynecological,
patient.lungsBreathing,
patient.nerves,
patient.blood,
patient.prostate,
patient.explanation,
)
},[patient])
return(
<>
<Grid item xs={12} className='collapsable-form-style '>
@ -98,7 +54,7 @@ export default function SystemReviewSection6({handleFormSection6Data}:Props){
name="painDuration"
sx={{display:'flex', flexDirection:'row'}}
onChange={(event) => {
setPatients((prevValues) => ({
setValues((prevValues) => ({
...prevValues,
eyes: event.target.value,
}));
@ -116,9 +72,9 @@ export default function SystemReviewSection6({handleFormSection6Data}:Props){
name="painDuration"
sx={{display:'flex', flexDirection:'row'}}
onChange={(event) => {
setPatients((prevValues) => ({
setValues((prevValues) => ({
...prevValues,
IntestinesBowls: event.target.value,
presentProblemBefore: event.target.value,
}));
}}
>
@ -134,7 +90,7 @@ export default function SystemReviewSection6({handleFormSection6Data}:Props){
name="painDuration"
sx={{display:'flex', flexDirection:'row'}}
onChange={(event) => {
setPatients((prevValues) => ({
setValues((prevValues) => ({
...prevValues,
jointsBones: event.target.value,
}));
@ -152,7 +108,7 @@ export default function SystemReviewSection6({handleFormSection6Data}:Props){
name="painDuration"
sx={{display:'flex', flexDirection:'row'}}
onChange={(event) => {
setPatients((prevValues) => ({
setValues((prevValues) => ({
...prevValues,
allergies: event.target.value,
}));
@ -170,7 +126,7 @@ export default function SystemReviewSection6({handleFormSection6Data}:Props){
name="painDuration"
sx={{display:'flex', flexDirection:'row'}}
onChange={(event) => {
setPatients((prevValues) => ({
setValues((prevValues) => ({
...prevValues,
earsNoseMouth: event.target.value,
}));
@ -188,7 +144,7 @@ export default function SystemReviewSection6({handleFormSection6Data}:Props){
name="painDuration"
sx={{display:'flex', flexDirection:'row'}}
onChange={(event) => {
setPatients((prevValues) => ({
setValues((prevValues) => ({
...prevValues,
urinary: event.target.value,
}));
@ -206,7 +162,7 @@ export default function SystemReviewSection6({handleFormSection6Data}:Props){
name="painDuration"
sx={{display:'flex', flexDirection:'row'}}
onChange={(event) => {
setPatients((prevValues) => ({
setValues((prevValues) => ({
...prevValues,
skin: event.target.value,
}));
@ -224,7 +180,7 @@ export default function SystemReviewSection6({handleFormSection6Data}:Props){
name="painDuration"
sx={{display:'flex', flexDirection:'row'}}
onChange={(event) => {
setPatients((prevValues) => ({
setValues((prevValues) => ({
...prevValues,
psychological: event.target.value,
}));
@ -242,7 +198,7 @@ export default function SystemReviewSection6({handleFormSection6Data}:Props){
name="painDuration"
sx={{display:'flex', flexDirection:'row'}}
onChange={(event) => {
setPatients((prevValues) => ({
setValues((prevValues) => ({
...prevValues,
heart: event.target.value,
}));
@ -260,7 +216,7 @@ export default function SystemReviewSection6({handleFormSection6Data}:Props){
name="painDuration"
sx={{display:'flex', flexDirection:'row'}}
onChange={(event) => {
setPatients((prevValues) => ({
setValues((prevValues) => ({
...prevValues,
muscles: event.target.value,
}));
@ -278,7 +234,7 @@ export default function SystemReviewSection6({handleFormSection6Data}:Props){
name="painDuration"
sx={{display:'flex', flexDirection:'row'}}
onChange={(event) => {
setPatients((prevValues) => ({
setValues((prevValues) => ({
...prevValues,
internalOrgans: event.target.value,
}));
@ -296,7 +252,7 @@ export default function SystemReviewSection6({handleFormSection6Data}:Props){
name="painDuration"
sx={{display:'flex', flexDirection:'row'}}
onChange={(event) => {
setPatients((prevValues) => ({
setValues((prevValues) => ({
...prevValues,
gynecological: event.target.value,
}));
@ -315,7 +271,7 @@ export default function SystemReviewSection6({handleFormSection6Data}:Props){
name="painDuration"
sx={{display:'flex', flexDirection:'row'}}
onChange={(event) => {
setPatients((prevValues) => ({
setValues((prevValues) => ({
...prevValues,
lungsBreathing: event.target.value,
}));
@ -333,7 +289,7 @@ export default function SystemReviewSection6({handleFormSection6Data}:Props){
name="painDuration"
sx={{display:'flex', flexDirection:'row'}}
onChange={(event) => {
setPatients((prevValues) => ({
setValues((prevValues) => ({
...prevValues,
nerves: event.target.value,
}));
@ -351,7 +307,7 @@ export default function SystemReviewSection6({handleFormSection6Data}:Props){
name="painDuration"
sx={{display:'flex', flexDirection:'row'}}
onChange={(event) => {
setPatients((prevValues) => ({
setValues((prevValues) => ({
...prevValues,
blood: event.target.value,
}));
@ -369,7 +325,7 @@ export default function SystemReviewSection6({handleFormSection6Data}:Props){
name="painDuration"
sx={{display:'flex', flexDirection:'row'}}
onChange={(event) => {
setPatients((prevValues) => ({
setValues((prevValues) => ({
...prevValues,
prostate: event.target.value,
}));
@ -387,9 +343,8 @@ export default function SystemReviewSection6({handleFormSection6Data}:Props){
variant="outlined"
label=""
name='explanation'
value={patient.explanation}
onChange={(event:any) => {
setPatients((prevValues) => ({
setValues((prevValues) => ({
...prevValues,
explanation: event.target.value,
}));