2023-09-07 17:15:57 +05:30

486 lines
20 KiB
TypeScript

import { FormControl, FormControlLabel, FormLabel, Grid, Radio, RadioGroup, TextField } from "@mui/material";
import React, { useEffect } from "react";
interface Patient {
eyes: string;
IntestinesBowls: string;
jointsBones:string;
allergies: string;
earsNoseMouth: string;
urinary: string;
skin: string;
psychological: string;
heart: string;
muscles: string;
internalOrgans: string;
gynecological: string;
lungsBreathing: string;
nerves: string;
blood: string;
prostate: string;
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
patientDataDiplay:any;
type:string;
}
export default function SystemReviewSection6({handleFormSection6Data,patientDataDiplay,type}:Props){
const [patient, setPatients] = React.useState<Patient>({
eyes: '',
IntestinesBowls: '',
jointsBones:'',
allergies: '',
earsNoseMouth: '',
urinary: '',
skin: '',
psychological: '',
heart: '',
muscles: '',
internalOrgans: '',
gynecological: '',
lungsBreathing: '',
nerves: '',
blood: '',
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 '>
<FormLabel sx={{fontWeight:600}}>Please choose body areas or systems where you may have problems:</FormLabel>
</Grid>
<Grid container direction="row">
<Grid item xs={12}
xl={3}
lg={4}
md={6}
sm={12} className='collapsable-form-style-radioButtons'>
<FormControl>
<FormLabel>Eyes</FormLabel>
<RadioGroup
name="painDuration"
defaultValue={type=='display'?patientDataDiplay.eyes:patient.eyes}
sx={{display:'flex', flexDirection:'row'}}
onChange={(event) => {
setPatients((prevValues) => ({
...prevValues,
eyes: event.target.value,
}));
}}
>
<FormControlLabel disabled={type=='display'} value="Yes" control={<Radio />} label="Yes" />
<FormControlLabel disabled={type=='display'} value="No" control={<Radio />} label="No" />
</RadioGroup>
</FormControl>
</Grid>
<Grid item xs={12}
xl={3}
lg={4}
md={6}
sm={12} className='collapsable-form-style-radioButtons'>
<FormControl>
<FormLabel>Intestines/Bowls</FormLabel>
<RadioGroup
name="painDuration"
defaultValue={type=='display'?patientDataDiplay.IntestinesBowls:patient.IntestinesBowls}
sx={{display:'flex', flexDirection:'row'}}
onChange={(event) => {
setPatients((prevValues) => ({
...prevValues,
IntestinesBowls: event.target.value,
}));
}}
>
<FormControlLabel disabled={type=='display'} value="Yes" control={<Radio />} label="Yes" />
<FormControlLabel disabled={type=='display'} value="No" control={<Radio />} label="No" />
</RadioGroup>
</FormControl>
</Grid>
<Grid item xs={12}
xl={3}
lg={4}
md={6}
sm={12} className='collapsable-form-style-radioButtons'>
<FormControl>
<FormLabel>Joints/Bones</FormLabel>
<RadioGroup
name="painDuration"
defaultValue={type=='display'?patientDataDiplay.jointsBones:patient.jointsBones}
sx={{display:'flex', flexDirection:'row'}}
onChange={(event) => {
setPatients((prevValues) => ({
...prevValues,
jointsBones: event.target.value,
}));
}}
>
<FormControlLabel disabled={type=='display'} value="Yes" control={<Radio />} label="Yes" />
<FormControlLabel disabled={type=='display'} value="No" control={<Radio />} label="No" />
</RadioGroup>
</FormControl>
</Grid>
<Grid item xs={12}
xl={3}
lg={4}
md={6}
sm={12} className='collapsable-form-style-radioButtons'>
<FormControl>
<FormLabel>Allergies</FormLabel>
<RadioGroup
name="painDuration"
defaultValue={type=='display'?patientDataDiplay.allergies:patient.allergies}
sx={{display:'flex', flexDirection:'row'}}
onChange={(event) => {
setPatients((prevValues) => ({
...prevValues,
allergies: event.target.value,
}));
}}
>
<FormControlLabel disabled={type=='display'} value="Yes" control={<Radio />} label="Yes" />
<FormControlLabel disabled={type=='display'} value="No" control={<Radio />} label="No" />
</RadioGroup>
</FormControl>
</Grid>
<Grid item xs={12}
xl={3}
lg={4}
md={6}
sm={12} className='collapsable-form-style-radioButtons'>
<FormControl>
<FormLabel>Ears, Nose, Mouth, Throat</FormLabel>
<RadioGroup
name="painDuration"
defaultValue={type=='display'?patientDataDiplay.earsNoseMouth:patient.earsNoseMouth}
sx={{display:'flex', flexDirection:'row'}}
onChange={(event) => {
setPatients((prevValues) => ({
...prevValues,
earsNoseMouth: event.target.value,
}));
}}
>
<FormControlLabel disabled={type=='display'} value="Yes" control={<Radio />} label="Yes" />
<FormControlLabel disabled={type=='display'} value="No" control={<Radio />} label="No" />
</RadioGroup>
</FormControl>
</Grid>
<Grid item xs={12}
xl={3}
lg={4}
md={6}
sm={12} className='collapsable-form-style-radioButtons'>
<FormControl>
<FormLabel>Urinary</FormLabel>
<RadioGroup
name="painDuration"
defaultValue={type=='display'?patientDataDiplay.urinary:patient.urinary}
sx={{display:'flex', flexDirection:'row'}}
onChange={(event) => {
setPatients((prevValues) => ({
...prevValues,
urinary: event.target.value,
}));
}}
>
<FormControlLabel disabled={type=='display'} value="Yes" control={<Radio />} label="Yes" />
<FormControlLabel disabled={type=='display'} value="No" control={<Radio />} label="No" />
</RadioGroup>
</FormControl>
</Grid>
<Grid item xs={12}
xl={3}
lg={4}
md={6}
sm={12} className='collapsable-form-style-radioButtons'>
<FormControl>
<FormLabel>Skin</FormLabel>
<RadioGroup
name="painDuration"
defaultValue={type=='display'?patientDataDiplay.skin:patient.skin}
sx={{display:'flex', flexDirection:'row'}}
onChange={(event) => {
setPatients((prevValues) => ({
...prevValues,
skin: event.target.value,
}));
}}
>
<FormControlLabel disabled={type=='display'} value="Yes" control={<Radio />} label="Yes" />
<FormControlLabel disabled={type=='display'} value="No" control={<Radio />} label="No" />
</RadioGroup>
</FormControl>
</Grid>
<Grid item xs={12}
xl={3}
lg={4}
md={6}
sm={12} className='collapsable-form-style-radioButtons'>
<FormControl>
<FormLabel>Psychological/Emotional</FormLabel>
<RadioGroup
name="painDuration"
defaultValue={type=='display'?patientDataDiplay.psychological:patient.psychological}
sx={{display:'flex', flexDirection:'row'}}
onChange={(event) => {
setPatients((prevValues) => ({
...prevValues,
psychological: event.target.value,
}));
}}
>
<FormControlLabel disabled={type=='display'} value="Yes" control={<Radio />} label="Yes" />
<FormControlLabel disabled={type=='display'} value="No" control={<Radio />} label="No" />
</RadioGroup>
</FormControl>
</Grid>
<Grid item xs={12}
xl={3}
lg={4}
md={6}
sm={12} className='collapsable-form-style-radioButtons'>
<FormControl>
<FormLabel>Heart</FormLabel>
<RadioGroup
name="painDuration"
defaultValue={type=='display'?patientDataDiplay.heart:patient.heart}
sx={{display:'flex', flexDirection:'row'}}
onChange={(event) => {
setPatients((prevValues) => ({
...prevValues,
heart: event.target.value,
}));
}}
>
<FormControlLabel disabled={type=='display'} value="Yes" control={<Radio />} label="Yes" />
<FormControlLabel disabled={type=='display'} value="No" control={<Radio />} label="No" />
</RadioGroup>
</FormControl>
</Grid>
<Grid item xs={12}
xl={3}
lg={4}
md={6}
sm={12} className='collapsable-form-style-radioButtons'>
<FormControl>
<FormLabel>Muscles</FormLabel>
<RadioGroup
name="painDuration"
defaultValue={type=='display'?patientDataDiplay.muscles:patient.muscles}
sx={{display:'flex', flexDirection:'row'}}
onChange={(event) => {
setPatients((prevValues) => ({
...prevValues,
muscles: event.target.value,
}));
}}
>
<FormControlLabel disabled={type=='display'} value="Yes" control={<Radio />} label="Yes" />
<FormControlLabel disabled={type=='display'} value="No" control={<Radio />} label="No" />
</RadioGroup>
</FormControl>
</Grid>
<Grid item xs={12}
xl={3}
lg={4}
md={6}
sm={12} className='collapsable-form-style-radioButtons'>
<FormControl>
<FormLabel>Internal Organs</FormLabel>
<RadioGroup
name="painDuration"
defaultValue={type=='display'?patientDataDiplay.internalOrgans:patient.internalOrgans}
sx={{display:'flex', flexDirection:'row'}}
onChange={(event) => {
setPatients((prevValues) => ({
...prevValues,
internalOrgans: event.target.value,
}));
}}
>
<FormControlLabel disabled={type=='display'} value="Yes" control={<Radio />} label="Yes" />
<FormControlLabel disabled={type=='display'} value="No" control={<Radio />} label="No" />
</RadioGroup>
</FormControl>
</Grid>
<Grid item xs={12}
xl={3}
lg={4}
md={6}
sm={12} className='collapsable-form-style-radioButtons'>
<FormControl>
<FormLabel>Gynecological menstrual/Brest</FormLabel>
<RadioGroup
name="painDuration"
defaultValue={type=='display'?patientDataDiplay.gynecological:patient.gynecological}
sx={{display:'flex', flexDirection:'row'}}
onChange={(event) => {
setPatients((prevValues) => ({
...prevValues,
gynecological: event.target.value,
}));
}}
>
<FormControlLabel disabled={type=='display'} value="Yes" control={<Radio />} label="Yes" />
<FormControlLabel disabled={type=='display'} value="No" control={<Radio />} label="No" />
</RadioGroup>
</FormControl>
</Grid>
<Grid item xs={12}
xl={3}
lg={4}
md={6}
sm={12} className='collapsable-form-style-radioButtons'>
<FormControl>
<FormLabel>Lungs/Breathing</FormLabel>
<RadioGroup
name="painDuration"
defaultValue={type=='display'?patientDataDiplay.lungsBreathing:patient.lungsBreathing}
sx={{display:'flex', flexDirection:'row'}}
onChange={(event) => {
setPatients((prevValues) => ({
...prevValues,
lungsBreathing: event.target.value,
}));
}}
>
<FormControlLabel disabled={type=='display'} value="Yes" control={<Radio />} label="Yes" />
<FormControlLabel disabled={type=='display'} value="No" control={<Radio />} label="No" />
</RadioGroup>
</FormControl>
</Grid>
<Grid item xs={12}
xl={3}
lg={4}
md={6}
sm={12} className='collapsable-form-style-radioButtons'>
<FormControl>
<FormLabel>Nerves</FormLabel>
<RadioGroup
name="painDuration"
defaultValue={type=='display'?patientDataDiplay.nerves:patient.nerves}
sx={{display:'flex', flexDirection:'row'}}
onChange={(event) => {
setPatients((prevValues) => ({
...prevValues,
nerves: event.target.value,
}));
}}
>
<FormControlLabel disabled={type=='display'} value="Yes" control={<Radio />} label="Yes" />
<FormControlLabel disabled={type=='display'} value="No" control={<Radio />} label="No" />
</RadioGroup>
</FormControl>
</Grid>
<Grid item xs={12}
xl={3}
lg={4}
md={6}
sm={12} className='collapsable-form-style-radioButtons'>
<FormControl>
<FormLabel>Blood</FormLabel>
<RadioGroup
name="painDuration"
defaultValue={type=='display'?patientDataDiplay.blood:patient.blood}
sx={{display:'flex', flexDirection:'row'}}
onChange={(event) => {
setPatients((prevValues) => ({
...prevValues,
blood: event.target.value,
}));
}}
>
<FormControlLabel disabled={type=='display'} value="Yes" control={<Radio />} label="Yes" />
<FormControlLabel disabled={type=='display'} value="No" control={<Radio />} label="No" />
</RadioGroup>
</FormControl>
</Grid>
<Grid item xs={12}
xl={3}
lg={4}
md={6}
sm={12} className='collapsable-form-style-radioButtons'>
<FormControl>
<FormLabel>Prostate/Testicular/Penile</FormLabel>
<RadioGroup
name="painDuration"
defaultValue={type=='display'?patientDataDiplay.prostate:patient.prostate}
sx={{display:'flex', flexDirection:'row'}}
onChange={(event) => {
setPatients((prevValues) => ({
...prevValues,
prostate: event.target.value,
}));
}}
>
<FormControlLabel disabled={type=='display'} value="Yes" control={<Radio />} label="Yes" />
<FormControlLabel disabled={type=='display'} value="No" control={<Radio />} label="No" />
</RadioGroup>
</FormControl>
</Grid>
<Grid item xs={6} className='collapsable-form-style-multiline'>
<FormLabel>Please explain your check marks:</FormLabel><br></br>
<TextField
multiline
variant="outlined"
label=""
name='explanation'
value={type=='display'?patientDataDiplay.explanation:patient.explanation}
disabled={type=='display'}
onChange={(event:any) => {
setPatients((prevValues) => ({
...prevValues,
explanation: event.target.value,
}));
}}
/>
</Grid>
</Grid>
</>
)
}