From 6c117aa2c3121d0c1f0143aefa4f0c31a64d7bee Mon Sep 17 00:00:00 2001 From: Abhiuday Gupta <77210185+cp-Coder@users.noreply.github.com> Date: Wed, 26 Oct 2022 11:26:42 +0530 Subject: [PATCH 1/4] fix (InventoryForm): Made the cancel and set buttons uniform (#3802) --- src/Components/Facility/SetInventoryForm.tsx | 6 +++--- src/Components/Facility/UpdateMinQuantity.tsx | 9 +++------ 2 files changed, 6 insertions(+), 9 deletions(-) diff --git a/src/Components/Facility/SetInventoryForm.tsx b/src/Components/Facility/SetInventoryForm.tsx index fbf8efc7d86..f02dac6c68c 100644 --- a/src/Components/Facility/SetInventoryForm.tsx +++ b/src/Components/Facility/SetInventoryForm.tsx @@ -119,7 +119,7 @@ export const SetInventoryForm = (props: any) => { }; const handleChange = (e: any) => { - let form = { ...state.form }; + const form = { ...state.form }; form[e.target.name] = e.target.value; dispatch({ type: "set_form", form }); }; @@ -198,7 +198,7 @@ export const SetInventoryForm = (props: any) => { color="default" type="button" onClick={() => goBack()} - className="w-full sm:w-fit bg-gray-400 hover:bg-gray-500 rounded-md p-2 px-6 mt-2" + className="w-full sm:w-fit rounded-md p-2 px-6 mt-2 bg-gray-400 hover:bg-gray-500" > Cancel @@ -208,7 +208,7 @@ export const SetInventoryForm = (props: any) => { color="primary" type="submit" style={{ marginLeft: "auto" }} - className="bg-green-500 hover:bg-green-700 w-full text-white sm:w-fit mt-2 rounded-md px-6 font-bold p-2" + className="w-full sm:w-fit rounded-md p-2 px-6 mt-2 bg-green-500 hover:bg-green-700 text-white" onClick={(e) => handleSubmit(e)} > SET diff --git a/src/Components/Facility/UpdateMinQuantity.tsx b/src/Components/Facility/UpdateMinQuantity.tsx index 9890d764bb2..37f4921d3ca 100644 --- a/src/Components/Facility/UpdateMinQuantity.tsx +++ b/src/Components/Facility/UpdateMinQuantity.tsx @@ -49,11 +49,8 @@ export const UpdateMinQuantity = (props: any) => { const [isLoading, setIsLoading] = useState(false); const [offset, setOffset] = useState(0); const [data, setData] = useState(" "); - const [currentUnit, setCurrentUnit] = useState(); const [facilityName, setFacilityName] = useState(""); - const limit = 14; - const fetchData = useCallback( async (status: statusType) => { setIsLoading(true); @@ -63,7 +60,7 @@ export const UpdateMinQuantity = (props: any) => { if (!status.aborted) { if (res && res.data) { setData(res.data.item_object.name); - let form = { ...state.form, quantity: res.data.min_quantity }; + const form = { ...state.form, quantity: res.data.min_quantity }; dispatch({ type: "set_form", form }); } setIsLoading(false); @@ -112,7 +109,7 @@ export const UpdateMinQuantity = (props: any) => { }; const handleChange = (e: any) => { - let form = { ...state.form }; + const form = { ...state.form }; form[e.target.name] = e.target.value; dispatch({ type: "set_form", form }); }; @@ -173,7 +170,7 @@ export const UpdateMinQuantity = (props: any) => { color="default" variant="contained" type="button" - className="w-full sm:w-fit" + className="w-full sm:w-fit mt-2" onClick={() => goBack()} > Cancel From 0c00f1dbb63f65cc3e27b982e76d243377b1cac6 Mon Sep 17 00:00:00 2001 From: Ashesh <3626859+Ashesh3@users.noreply.github.com> Date: Wed, 26 Oct 2022 11:35:06 +0530 Subject: [PATCH 2/4] UI fixes on asset page (#3813) --- src/Components/Assets/AssetsList.tsx | 4 ++-- src/Components/Common/SearchBox.tsx | 2 +- 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/src/Components/Assets/AssetsList.tsx b/src/Components/Assets/AssetsList.tsx index a22c2c585f7..2f6739cf126 100644 --- a/src/Components/Assets/AssetsList.tsx +++ b/src/Components/Assets/AssetsList.tsx @@ -258,7 +258,7 @@ const AssetsList = () => { return (
-
+
@@ -313,7 +313,7 @@ const AssetsList = () => { ) : ( <> -
+
{badge("Facility", facilityName, ["facility", "location"])} {badge("Asset Name", qParams.search, ["search"])} {badge("Location", locationName, ["location"])} diff --git a/src/Components/Common/SearchBox.tsx b/src/Components/Common/SearchBox.tsx index 293e6b187ba..77a6c5a0a43 100644 --- a/src/Components/Common/SearchBox.tsx +++ b/src/Components/Common/SearchBox.tsx @@ -43,7 +43,7 @@ export const InputSearchBox = (props: TextFieldPropsExtended) => { name="search" type="text" {...inputProps} - className="form-input block w-full pr-8 pr-3 sm:text-sm sm:leading-5" + className="form-input block w-full pr-8 sm:text-sm sm:leading-5 text-ellipsis" /> {searchValue ? (
Date: Wed, 26 Oct 2022 11:35:40 +0530 Subject: [PATCH 3/4] Added `AccordionV2` and `CollapseV2` components to replace MUI's Accordion and Collapse components (#3762) * Added component to replace MUI's Accordion component * minor ui fix * Added AccordionV2 and CollapseV2 * removed comments * patient registration fields alignment fix * fixed accordion max height issue --- .../Common/components/AccordionV2.tsx | 73 +++++++++ .../Common/components/CollapseV2.tsx | 54 +++++++ .../components/ResponsiveMedicineTables.tsx | 91 +++++------ .../Common/components/SelectMenu.tsx | 9 +- src/Components/Facility/HospitalList.tsx | 147 +++++++++--------- src/Components/Patient/PatientRegister.tsx | 66 ++++---- 6 files changed, 268 insertions(+), 172 deletions(-) create mode 100644 src/Components/Common/components/AccordionV2.tsx create mode 100644 src/Components/Common/components/CollapseV2.tsx diff --git a/src/Components/Common/components/AccordionV2.tsx b/src/Components/Common/components/AccordionV2.tsx new file mode 100644 index 00000000000..e2b4ca54d93 --- /dev/null +++ b/src/Components/Common/components/AccordionV2.tsx @@ -0,0 +1,73 @@ +import React, { useState } from "react"; + +export default function AccordionV2(props: { + children: JSX.Element | JSX.Element[]; + expandIcon?: JSX.Element; + title: JSX.Element | JSX.Element[] | string; + className?: string; + expanded?: boolean; +}) { + const [toggle, setToggle] = useState(props.expanded as boolean); + const contentEl = React.useRef(null); + + return ( +
+
+ + +
+
+ {props.children} +
+
+ ); +} diff --git a/src/Components/Common/components/CollapseV2.tsx b/src/Components/Common/components/CollapseV2.tsx new file mode 100644 index 00000000000..6552868b6ac --- /dev/null +++ b/src/Components/Common/components/CollapseV2.tsx @@ -0,0 +1,54 @@ +import React, { useEffect, useState } from "react"; + +export default function CollapseV2(props: { + children: JSX.Element | JSX.Element[]; + opened: boolean; + className?: string; +}) { + const content = React.useRef(null); + const [innerDivState, setInnerDivState] = useState(false); + const [outerDivState, setOuterDivState] = useState(false); + + useEffect(() => { + if (props.opened) { + setOuterDivState(props.opened); + setTimeout(() => { + setInnerDivState(props.opened); + }, 1); + } else { + setInnerDivState(props.opened); + setTimeout(() => { + setOuterDivState(props.opened); + }, 300); + } + }, [props.opened]); + + return ( +
+
+ {props.children} +
+
+ ); +} diff --git a/src/Components/Common/components/ResponsiveMedicineTables.tsx b/src/Components/Common/components/ResponsiveMedicineTables.tsx index 7500b9f4efa..271563a4d2f 100644 --- a/src/Components/Common/components/ResponsiveMedicineTables.tsx +++ b/src/Components/Common/components/ResponsiveMedicineTables.tsx @@ -1,9 +1,5 @@ -import { - Accordion, - AccordionDetails, - AccordionSummary, -} from "@material-ui/core"; import { useEffect, useState } from "react"; +import AccordionV2 from "./AccordionV2"; function getWindowSize() { const { innerWidth, innerHeight } = window; @@ -67,31 +63,11 @@ export default function ResponsiveMedicineTable(props: { ) : (
{props.list.map((med: any, index: number) => ( - - - - - } - aria-controls={`panel${index + 1}a-content`} - id={`panel${index + 1}a-header`} - > +
-

+

{med[props.objectKeys[0]]}

@@ -106,35 +82,40 @@ export default function ResponsiveMedicineTable(props: { ))}
- - -
-
- {props.objectKeys.map((key, i) => { - if (i !== 0 && i !== props.objectKeys.length - 1) - return ( -
-

- {props.theads[i]} -

{" "} -

{med[key]}

-
- ); + } + className={ + props.list.length - 1 === index + ? "bg-white p-5 " + : "bg-white p-5 border-b border-b-gray-400" + } + key={index} + > +
+
+ {props.objectKeys.map((key, i) => { + if (i !== 0 && i !== props.objectKeys.length - 1) + return ( +
+

+ {props.theads[i]} +

{" "} +

{med[key]}

+
+ ); - if (i === props.objectKeys.length - 1) - return ( -
-

- {props.theads[i]} -

{" "} -

{med[key]}

-
- ); - })} -
+ if (i === props.objectKeys.length - 1) + return ( +
+

+ {props.theads[i]} +

{" "} +

{med[key]}

+
+ ); + })}
- - +
+ ))}
)} diff --git a/src/Components/Common/components/SelectMenu.tsx b/src/Components/Common/components/SelectMenu.tsx index 3a2f1fa3fea..8869916cf99 100644 --- a/src/Components/Common/components/SelectMenu.tsx +++ b/src/Components/Common/components/SelectMenu.tsx @@ -12,6 +12,7 @@ type Props = { selected?: T; label?: string; position?: string; + parentRelative?: boolean; }; export default function SelectMenu(props: Props) { @@ -34,7 +35,13 @@ export default function SelectMenu(props: Props) { {({ open }) => ( <> {props.label} -
+
diff --git a/src/Components/Facility/HospitalList.tsx b/src/Components/Facility/HospitalList.tsx index bea9146376c..97463b51d8f 100644 --- a/src/Components/Facility/HospitalList.tsx +++ b/src/Components/Facility/HospitalList.tsx @@ -22,6 +22,7 @@ import { sendNotificationMessages, } from "../../Redux/actions"; import loadable from "@loadable/component"; + import { InputLabel, TextField } from "@material-ui/core"; import Pagination from "../Common/Pagination"; import { FacilityModel } from "./models"; @@ -29,11 +30,7 @@ import { InputSearchBox } from "../Common/SearchBox"; import { CSVLink } from "react-csv"; import moment from "moment"; import { Theme, createStyles, makeStyles } from "@material-ui/core/styles"; -import Accordion from "@material-ui/core/Accordion"; import CircularProgress from "@material-ui/core/CircularProgress"; -import AccordionSummary from "@material-ui/core/AccordionSummary"; -import AccordionDetails from "@material-ui/core/AccordionDetails"; -import Typography from "@material-ui/core/Typography"; import ExpandMoreIcon from "@material-ui/icons/ExpandMore"; import GetAppIcon from "@material-ui/icons/GetApp"; import { make as SlideOver } from "../Common/SlideOver.gen"; @@ -42,6 +39,7 @@ import { useTranslation } from "react-i18next"; import * as Notification from "../../Utils/Notifications.js"; import { Modal } from "@material-ui/core"; import SelectMenu from "../Common/components/SelectMenu"; +import AccordionV2 from "../Common/components/AccordionV2"; const Loading = loadable(() => import("../Common/Loading")); const PageTitle = loadable(() => import("../Common/PageTitle")); @@ -558,80 +556,74 @@ export const HospitalList = (props: any) => {
- - } - aria-controls="panel1a-content" - id="panel1a-header" - > - - {t("downloads")} - - - -
- - {t("download_type")} - -
- ({ - title: download, - value: download, - })), - ]} - selected={downloadSelect} - onSelect={setdownloadSelect} - position="right" - /> - {downloadLoading ? ( -
- -
- ) : ( - - )} -
-
-
- - - - + Downloads

} + className="lg:mt-0 md:mt-0 sm:mt-0 bg-white shadow-md rounded-lg p-3 relative" + expandIcon={} + > +
+ + {t("download_type")} + +
+ ({ + title: download, + value: download, + })), + ]} + selected={downloadSelect} + onSelect={setdownloadSelect} + position="left" + parentRelative={false} + /> + {downloadLoading ? ( +
+ +
+ ) : ( + + )}
- - +
+
+ + + + +
+
@@ -704,6 +696,7 @@ export const HospitalList = (props: any) => {
+
diff --git a/src/Components/Patient/PatientRegister.tsx b/src/Components/Patient/PatientRegister.tsx index b15dbabeff5..fc47eef9fc5 100644 --- a/src/Components/Patient/PatientRegister.tsx +++ b/src/Components/Patient/PatientRegister.tsx @@ -1,12 +1,8 @@ import { - Accordion, - AccordionDetails, - AccordionSummary, Box, Card, CardContent, CircularProgress, - Collapse, FormControlLabel, InputLabel, Radio, @@ -63,7 +59,10 @@ import { goBack } from "../../Utils/utils"; const Loading = loadable(() => import("../Common/Loading")); const PageTitle = loadable(() => import("../Common/PageTitle")); +import AccordionV2 from "../Common/components/AccordionV2"; +import CollapseV2 from "../Common/components/CollapseV2"; import { debounce } from "lodash"; +// const debounce = require("lodash.debounce"); interface PatientRegisterProps extends PatientModel { facilityId: number; @@ -1140,11 +1139,7 @@ export const PatientRegister = (props: PatientRegisterProps) => { />
- + {
{
} -
+
{ - - } - aria-controls="panel1a-content" - id="panel1a-header" - > -

+ } + title={ +

Health Details

- - -
+ } + > +
+
{ /> -
@@ -1532,7 +1524,7 @@ export const PatientRegister = (props: PatientRegisterProps) => { disableFuture={true} />
-
+
@@ -1564,10 +1556,8 @@ export const PatientRegister = (props: PatientRegisterProps) => {
- {
@@ -1604,7 +1594,7 @@ export const PatientRegister = (props: PatientRegisterProps) => { onChange={handleChange} style={{ padding: "0px 5px" }} > - +
} @@ -1620,7 +1610,7 @@ export const PatientRegister = (props: PatientRegisterProps) => { control={} label="3 (Booster/Precautionary Dose)" /> - +
@@ -1670,7 +1660,7 @@ export const PatientRegister = (props: PatientRegisterProps) => {
} - +
Contact with confirmed Covid patient? @@ -1724,8 +1714,8 @@ export const PatientRegister = (props: PatientRegisterProps) => {
- { state.form.contact_with_suspected_carrier ) } - timeout="auto" - unmountOnExit >
@@ -1783,7 +1771,7 @@ export const PatientRegister = (props: PatientRegisterProps) => { />
-
+
{ />
- - +
+
From 2f09f6347f26c841fb6f9051b15c51007a945be0 Mon Sep 17 00:00:00 2001 From: Ashesh <3626859+Ashesh3@users.noreply.github.com> Date: Wed, 26 Oct 2022 11:36:05 +0530 Subject: [PATCH 4/4] Added patient search by IP number (#3761) * Added patient search by IP number * Fix alignment * Change patient search ui --- src/Components/Patient/ManagePatients.tsx | 667 ++++++++++++---------- 1 file changed, 363 insertions(+), 304 deletions(-) diff --git a/src/Components/Patient/ManagePatients.tsx b/src/Components/Patient/ManagePatients.tsx index 1b324a3dd8a..604aaf5a95f 100644 --- a/src/Components/Patient/ManagePatients.tsx +++ b/src/Components/Patient/ManagePatients.tsx @@ -110,6 +110,7 @@ export const PatientManager = (props: any) => { page: qParams.page || 1, limit: RESULT_LIMIT, name: qParams.name || undefined, + ip_no: qParams.ip_no || undefined, is_active: qParams.is_active || "True", disease_status: qParams.disease_status || undefined, phone_number: qParams.phone_number @@ -272,6 +273,7 @@ export const PatientManager = (props: any) => { qParams.is_active, qParams.disease_status, qParams.name, + qParams.ip_no, qParams.page, qParams.phone_number, qParams.emergency_phone_number, @@ -371,6 +373,10 @@ export const PatientManager = (props: any) => { updateQuery({ name: value, page: 1 }); }; + const searchByIpNo = (value: string) => { + updateQuery({ ip_no: value, page: 1 }); + }; + const searchByPhone = (value: string, name: string) => { updateQuery({ [name]: value, page: 1 }); }; @@ -653,7 +659,7 @@ export const PatientManager = (props: any) => { } else if (data && data.length) { managePatients = ( <> -
+
{patientList}
{totalCount > RESULT_LIMIT && ( @@ -692,333 +698,386 @@ export const PatientManager = (props: any) => { breadcrumbs={!!facilityId} crumbsReplacements={{ [facilityId]: { name: facilityCrumbName } }} /> -
-
-
- - -
-
- - {!isDownloadAllowed && ( -

- * Select a 7 day period -

- )} -
-
-
-
-
-
- Total Patients -
- {/* Show spinner until count is fetched from server */} - {isLoading ? ( -
- - - - -
- ) : ( -
- {totalCount} -
- )} -
-
-
-
-
-
-
-
-
- Search by Name -
- -
+
-
+ +
+ + * Select a 7 day period +

+ ) : ( + "" + ) + } + arrow={true} + interactive={true} + enterNextDelay={100} + enterTouchDelay={0} + leaveTouchDelay={1000} + > +
+ +
+
+
+
+ +
+
+ + + + {" "} + + + {" "} + + + {" "} + + + {" "} + + + {" "} + + + Advanced Filters + +
+
+
+
+
+
+
+ Total Patients +
+ {/* Show spinner until count is fetched from server */} + {isLoading ? ( +
+ + + + +
+ ) : ( +
+ {totalCount} +
+ )} +
-
-
-
- Search by Primary Number +
+
+
+
+
+
+
+
+ Search by Name +
+ +
+
+
+ Search by IP number +
+ +
+
- - searchByPhone(value, "phone_number") - } - turnOffAutoFormat={false} - errors="" - />
-
-
- Search by Emergency Number +
+
+
+ Search by Primary Number +
+ + searchByPhone(value, "phone_number") + } + turnOffAutoFormat={false} + errors="" + /> +
+
+
+ Search by Emergency Number +
+ + searchByPhone(value, "emergency_phone_number") + } + turnOffAutoFormat={false} + errors="" + />
- - searchByPhone(value, "emergency_phone_number") - } - turnOffAutoFormat={false} - errors="" - />
-
- {qParams.phone_number?.trim().split(" ").length - 1 - ? badge("Primary Number", qParams.phone_number, "phone_number") - : null} - {qParams.emergency_phone_number?.trim().split(" ").length - 1 - ? badge( - "Emergency Number", - qParams.emergency_phone_number, - "emergency_phone_number" - ) - : null} - {badge("Patient Name", qParams.name, "name")} - {badge( - "Modified After", - qParams.modified_date_after, - "modified_date_after" - )} - {badge( - "Modified Before", - qParams.modified_date_before, - "modified_date_before" - )} - {badge( - "Created Before", - qParams.created_date_before, - "created_date_before" - )} - {badge( - "Created After", - qParams.created_date_after, - "created_date_after" - )} - {qParams.last_consultation_admission_date_before === - qParams.last_consultation_admission_date_after ? ( - badge( - "Admission Date", - qParams.last_consultation_admission_date_before, - [ - "last_consultation_admission_date_before", - "last_consultation_admission_date_after", - ] +
+
+ {qParams.phone_number?.trim().split(" ").length - 1 + ? badge("Primary Number", qParams.phone_number, "phone_number") + : null} + {qParams.emergency_phone_number?.trim().split(" ").length - 1 + ? badge( + "Emergency Number", + qParams.emergency_phone_number, + "emergency_phone_number" ) - ) : ( - <> - {badge( - "Admitted Before", - qParams.last_consultation_admission_date_before, - "last_consultation_admission_date_before" - )} - {badge( - "Admitted After", - qParams.last_consultation_admission_date_after, - "last_consultation_admission_date_after" - )} - - )} - {badge( - "Discharged Before", - qParams.last_consultation_discharge_date_before, - "last_consultation_discharge_date_before" - )} - {badge( - "Discharged After", - qParams.last_consultation_discharge_date_after, - "last_consultation_discharge_date_after" - )} - {qParams.last_consultation_admitted_to_list && - LastAdmittedToTypeBadges()} - {qParams.number_of_doses && - badge( - "Number of Vaccination Doses", - qParams.number_of_doses, - "number_of_doses" + : null} + {badge("Patient Name", qParams.name, "name")} + {badge("IP number", qParams.ip_no, "ip_no")} + {badge( + "Modified After", + qParams.modified_date_after, + "modified_date_after" + )} + {badge( + "Modified Before", + qParams.modified_date_before, + "modified_date_before" + )} + {badge( + "Created Before", + qParams.created_date_before, + "created_date_before" + )} + {badge( + "Created After", + qParams.created_date_after, + "created_date_after" + )} + {qParams.last_consultation_admission_date_before === + qParams.last_consultation_admission_date_after ? ( + badge( + "Admission Date", + qParams.last_consultation_admission_date_before, + [ + "last_consultation_admission_date_before", + "last_consultation_admission_date_after", + ] + ) + ) : ( + <> + {badge( + "Admitted Before", + qParams.last_consultation_admission_date_before, + "last_consultation_admission_date_before" )} - {qParams.is_kasp && - badge( - KASP_STRING, - qParams.is_kasp === "true" ? KASP_STRING : `Non ${KASP_STRING}`, - "is_kasp" + {badge( + "Admitted After", + qParams.last_consultation_admission_date_after, + "last_consultation_admission_date_after" )} - {badge("COWIN ID", qParams.covin_id, "covin_id")} - {badge("Is Antenatal", qParams.is_antenatal, "is_antenatal")} - {badge("Facility", facilityBadgeName, "facility")} - {badge("Facility Type", qParams.facility_type, "facility_type")} - {badge("District", districtName, "district")} - {badge("Ordering", qParams.ordering, "ordering")} - {badge("Category", qParams.category, "category")} - {badge("Disease Status", qParams.disease_status, "disease_status")} - {badge( - "Gender", - parseOptionId(GENDER_TYPES, qParams.gender), - "gender" - )} - {badge( - "Admitted to", - ADMITTED_TO[qParams.last_consultation_admitted_to], - "last_consultation_admitted_to" - )} - {badge("Age min", qParams.age_min, "age_min")} - {badge("Age max", qParams.age_max, "age_max")} - {badge("SRF ID", qParams.srf_id, "srf_id")} - {badge("LSG Body", localbodyName, "lsgBody")} - {badge( - "Declared Status", - qParams.is_declared_positive, - "is_declared_positive" - )} - {badge( - "Result before", - qParams.date_of_result_before, - "date_of_result_before" + + )} + {badge( + "Discharged Before", + qParams.last_consultation_discharge_date_before, + "last_consultation_discharge_date_before" + )} + {badge( + "Discharged After", + qParams.last_consultation_discharge_date_after, + "last_consultation_discharge_date_after" + )} + {qParams.last_consultation_admitted_to_list && + LastAdmittedToTypeBadges()} + {qParams.number_of_doses && + badge( + "Number of Vaccination Doses", + qParams.number_of_doses, + "number_of_doses" )} - {badge( - "Result after", - qParams.date_of_result_after, - "date_of_result_after" + {qParams.is_kasp && + badge( + KASP_STRING, + qParams.is_kasp === "true" ? KASP_STRING : `Non ${KASP_STRING}`, + "is_kasp" )} + {badge("COWIN ID", qParams.covin_id, "covin_id")} + {badge("Is Antenatal", qParams.is_antenatal, "is_antenatal")} + {badge("Facility", facilityBadgeName, "facility")} + {badge("Facility Type", qParams.facility_type, "facility_type")} + {badge("District", districtName, "district")} + {badge("Ordering", qParams.ordering, "ordering")} + {badge("Category", qParams.category, "category")} + {badge("Disease Status", qParams.disease_status, "disease_status")} + {badge("Gender", parseOptionId(GENDER_TYPES, qParams.gender), "gender")} + {badge( + "Admitted to", + ADMITTED_TO[qParams.last_consultation_admitted_to], + "last_consultation_admitted_to" + )} + {badge("Age min", qParams.age_min, "age_min")} + {badge("Age max", qParams.age_max, "age_max")} + {badge("SRF ID", qParams.srf_id, "srf_id")} + {badge("LSG Body", localbodyName, "lsgBody")} + {badge( + "Declared Status", + qParams.is_declared_positive, + "is_declared_positive" + )} + {badge( + "Result before", + qParams.date_of_result_before, + "date_of_result_before" + )} + {badge( + "Result after", + qParams.date_of_result_after, + "date_of_result_after" + )} - {badge( - "Declared positive before", - qParams.date_declared_positive_before, - "date_declared_positive_before" - )} + {badge( + "Declared positive before", + qParams.date_declared_positive_before, + "date_declared_positive_before" + )} - {badge( - "Declared positive after", - qParams.date_declared_positive_after, - "date_declared_positive_after" - )} + {badge( + "Declared positive after", + qParams.date_declared_positive_after, + "date_declared_positive_after" + )} - {badge( - "Onset of symptoms before", - qParams.last_consultation_symptoms_onset_date_before, - "last_consultation_symptoms_onset_date_before" - )} + {badge( + "Onset of symptoms before", + qParams.last_consultation_symptoms_onset_date_before, + "last_consultation_symptoms_onset_date_before" + )} - {badge( - "Onset of symptoms after", - qParams.last_consultation_symptoms_onset_date_after, - "last_consultation_symptoms_onset_date_after" - )} - {badge( - "Vaccinated Date before", - qParams.last_vaccinated_date_before, - "last_vaccinated_date_before" - )} + {badge( + "Onset of symptoms after", + qParams.last_consultation_symptoms_onset_date_after, + "last_consultation_symptoms_onset_date_after" + )} + {badge( + "Vaccinated Date before", + qParams.last_vaccinated_date_before, + "last_vaccinated_date_before" + )} - {badge( - "Vaccinated Date after", - qParams.last_vaccinated_date_after, - "last_vaccinated_date_after" - )} - {badge( - "Telemedicine", - qParams.last_consultation_is_telemedicine, - "last_consultation_is_telemedicine" - )} -
+ {badge( + "Vaccinated Date after", + qParams.last_vaccinated_date_after, + "last_vaccinated_date_after" + )} + {badge( + "Telemedicine", + qParams.last_consultation_is_telemedicine, + "last_consultation_is_telemedicine" + )}