@@ -89,7 +91,7 @@ export default function ClaimCardInfo({ claim, setShowMessages }: IProps) {
scope="col"
className="py-3.5 pl-6 pr-3 text-left text-sm font-semibold text-secondary-900 sm:pl-0"
>
- Items
+ {t("claim__items")}
|
|
@@ -97,7 +99,7 @@ export default function ClaimCardInfo({ claim, setShowMessages }: IProps) {
scope="col"
className="py-3.5 pl-3 pr-6 text-right text-sm font-semibold text-secondary-900 sm:pr-0"
>
- Price
+ {t("claim__item__price")}
@@ -123,15 +125,9 @@ export default function ClaimCardInfo({ claim, setShowMessages }: IProps) {
- Total Claim Amount
- |
-
- Total Claim Amount
+ {t("claim__total_claim_amount")}
|
{claim.total_claim_amount &&
@@ -143,15 +139,9 @@ export default function ClaimCardInfo({ claim, setShowMessages }: IProps) {
|
- Total Amount Approved
- |
-
- Total Amount Approved
+ {t("claim__total_approved_amount")}
|
{claim.total_amount_approved
diff --git a/src/Components/HCX/ClaimCreatedModal.tsx b/src/Components/HCX/ClaimCreatedModal.tsx
index 8caaafc6e84..41d58aa7df4 100644
--- a/src/Components/HCX/ClaimCreatedModal.tsx
+++ b/src/Components/HCX/ClaimCreatedModal.tsx
@@ -8,6 +8,7 @@ import { Submit } from "../Common/components/ButtonV2";
import request from "../../Utils/request/request";
import routes from "../../Redux/api";
import { useState } from "react";
+import { useTranslation } from "react-i18next";
interface Props {
claim: HCXClaimModel;
@@ -16,6 +17,8 @@ interface Props {
}
export default function ClaimCreatedModal({ claim, ...props }: Props) {
+ const { t } = useTranslation();
+
const [isMakingClaim, setIsMakingClaim] = useState(false);
const { use } = claim;
@@ -38,8 +41,8 @@ export default function ClaimCreatedModal({ claim, ...props }: Props) {
@@ -47,8 +50,8 @@ export default function ClaimCreatedModal({ claim, ...props }: Props) {
)}
{isMakingClaim
- ? `Requesting ${use === "Claim" ? "Claim" : "Pre-Authorization"}...`
- : `Request ${use === "Claim" ? "Claim" : "Pre-Authorization"}`}
+ ? t("claim__requesting_claim")
+ : t("claim__request_claim")}
}
>
diff --git a/src/Components/HCX/ClaimsItemsBuilder.tsx b/src/Components/HCX/ClaimsItemsBuilder.tsx
index 73ca2305030..d636eb1a528 100644
--- a/src/Components/HCX/ClaimsItemsBuilder.tsx
+++ b/src/Components/HCX/ClaimsItemsBuilder.tsx
@@ -1,20 +1,24 @@
-import CareIcon from "../../CAREUI/icons/CareIcon";
-import ButtonV2 from "../Common/components/ButtonV2";
-import PMJAYProcedurePackageAutocomplete from "../Common/PMJAYProcedurePackageAutocomplete";
-import AutocompleteFormField from "../Form/FormFields/Autocomplete";
-import FormField, { FieldLabel } from "../Form/FormFields/FormField";
-import TextFormField from "../Form/FormFields/TextFormField";
import {
FieldChangeEvent,
FormFieldBaseProps,
useFormFieldPropsResolver,
} from "../Form/FormFields/Utils";
-import { ITEM_CATEGORIES } from "./constants";
+import FormField, { FieldLabel } from "../Form/FormFields/FormField";
+
+import AutocompleteFormField from "../Form/FormFields/Autocomplete";
+import ButtonV2 from "../Common/components/ButtonV2";
+import CareIcon from "../../CAREUI/icons/CareIcon";
import { HCXItemModel } from "./models";
+import { ITEM_CATEGORIES } from "./constants";
+import PMJAYProcedurePackageAutocomplete from "../Common/PMJAYProcedurePackageAutocomplete";
+import TextFormField from "../Form/FormFields/TextFormField";
+import { useTranslation } from "react-i18next";
type Props = FormFieldBaseProps;
export default function ClaimsItemsBuilder(props: Props) {
+ const { t } = useTranslation();
+
const field = useFormFieldPropsResolver(props);
const handleUpdate = (index: number) => {
@@ -59,7 +63,7 @@ export default function ClaimsItemsBuilder(props: Props) {
>
- Item {index + 1}
+ {t("claim__item")} {index + 1}
{!props.disabled && (
- Delete
+ {t("remove")}
)}
-
+
o.display}
optionValue={(o) => o.code}
@@ -89,71 +93,66 @@ export default function ClaimsItemsBuilder(props: Props) {
disabled={props.disabled}
errorClassName="hidden"
/>
- {obj.category === "HBP" && !obj.id ? (
- <>
-
- >
- ) : (
- <>
- o.code}
- // optionDescription={(o) => o.name || ""}
- // optionValue={(o) => o.code}
- onChange={handleUpdate(index)}
- value={obj.id}
- disabled={props.disabled}
- errorClassName="hidden"
- />
- o.name || o.code}
- // optionDescription={(o) => o.code}
- // optionValue={(o) => o.name || o.code}
- disabled={props.disabled}
- errorClassName="hidden"
- // options={PROCEDURES}
- />
-
- handleUpdate(index)({
- name: event.name,
- value: parseFloat(event.value),
- })
- }
- disabled={props.disabled}
- errorClassName="hidden"
- />
- >
- )}
+
+
+ {obj.category === "HBP" && !obj.id ? (
+ <>
+
+ >
+ ) : (
+ <>
+
+
+
+ handleUpdate(index)({
+ name: event.name,
+ value: parseFloat(event.value),
+ })
+ }
+ disabled={props.disabled}
+ errorClassName="hidden"
+ />
+ >
+ )}
+
);
diff --git a/src/Components/HCX/CreateClaimCard.tsx b/src/Components/HCX/CreateClaimCard.tsx
index f52b7adac79..ec68a425b46 100644
--- a/src/Components/HCX/CreateClaimCard.tsx
+++ b/src/Components/HCX/CreateClaimCard.tsx
@@ -15,6 +15,7 @@ import { ProcedureType } from "../Common/prescription-builder/ProcedureBuilder";
import { SelectFormField } from "../Form/FormFields/SelectFormField";
import request from "../../Utils/request/request";
import routes from "../../Redux/api";
+import { useTranslation } from "react-i18next";
interface Props {
consultationId: string;
@@ -31,6 +32,8 @@ export default function CreateClaimCard({
isCreating,
use = "preauthorization",
}: Props) {
+ const { t } = useTranslation();
+
const [showAddPolicy, setShowAddPolicy] = useState(false);
const [policy, setPolicy] = useState();
const [items, setItems] = useState();
@@ -85,19 +88,19 @@ export default function CreateClaimCard({
const validate = () => {
if (!policy) {
- Notification.Error({ msg: "Please select a policy" });
+ Notification.Error({ msg: t("select_policy") });
return false;
}
if (policy?.outcome !== "Processing Complete") {
- Notification.Error({ msg: "Please select an eligible policy" });
+ Notification.Error({ msg: t("select_eligible_policy") });
return false;
}
if (!items || items.length === 0) {
- setItemsError("Please add at least one item");
+ setItemsError(t("claim__item__add_at_least_one"));
return false;
}
if (items?.some((p) => !p.id || !p.name || p.price === 0 || !p.category)) {
- setItemsError("Please fill all the item details");
+ setItemsError(t("claim__item__fill_all_details"));
return false;
}
@@ -116,6 +119,7 @@ export default function CreateClaimCard({
consultation: consultationId,
use: use_,
},
+ silent: true,
});
if (res?.ok && data) {
@@ -124,7 +128,7 @@ export default function CreateClaimCard({
setPolicy(undefined);
setCreatedClaim(data);
} else {
- Notification.Error({ msg: "Failed to create pre-authorization" });
+ Notification.Error({ msg: t(`claim__failed_to_create_${use_}`) });
}
setIsCreating(false);
@@ -140,10 +144,10 @@ export default function CreateClaimCard({
/>
)}
setShowAddPolicy(false)}
- description="Add or edit patient's insurance details"
+ description={t("edit_policy_description")}
className="w-full max-w-screen-md"
>
setShowAddPolicy(false)}
/>
+
{/* Check Insurance Policy Eligibility */}
-
-
- Check Insurance Policy Eligibility
-
- setShowAddPolicy(true)} ghost border>
+
+ {t("check_policy_eligibility")}
+ setShowAddPolicy(true)}
+ ghost
+ border
+ >
- Edit Patient Insurance Details
+ {t("edit_policy")}
- Items
+ {t("claim__items")}
- Add Item
+ {t("claim__add_item")}
- Select a policy to add items
+ {t("select_policy_to_add_items")}
setItems(value)}
error={itemsError}
/>
-
- {"Total Amount: "}
+
+ {t("total_amount")} :{" "}
{items ? (
{formatCurrency(
@@ -215,29 +223,34 @@ export default function CreateClaimCard({
-
+
setUse_(value)}
position="below"
+ className="w-52 max-sm:w-full"
optionLabel={(value) => value.label}
optionValue={(value) => value.id as "preauthorization" | "claim"}
/>
{isCreating && }
{isCreating
- ? `Creating ${use === "claim" ? "Claim" : "Pre-Authorization"}...`
- : "Proceed"}
+ ? t(`claim__creating_${use_}`)
+ : t(`claim__create_${use_}`)}
diff --git a/src/Components/HCX/InsuranceDetailsBuilder.tsx b/src/Components/HCX/InsuranceDetailsBuilder.tsx
index 9e814315e20..5dc3ede8534 100644
--- a/src/Components/HCX/InsuranceDetailsBuilder.tsx
+++ b/src/Components/HCX/InsuranceDetailsBuilder.tsx
@@ -14,10 +14,13 @@ import { classNames } from "../../Utils/utils";
import request from "../../Utils/request/request";
import routes from "../../Redux/api";
import useConfig from "../../Common/hooks/useConfig";
+import { useTranslation } from "react-i18next";
type Props = FormFieldBaseProps & { gridView?: boolean };
export default function InsuranceDetailsBuilder(props: Props) {
+ const { t } = useTranslation();
+
const field = useFormFieldPropsResolver(props);
const handleUpdate = (index: number) => {
@@ -60,7 +63,7 @@ export default function InsuranceDetailsBuilder(props: Props) {
{props.value?.length === 0 && (
- No insurance details added
+ {t("no_policy_added")}
)}
{props.value?.map((policy, index) => (
@@ -95,6 +98,7 @@ const InsuranceDetailEditCard = ({
handleRemove: () => void;
gridView?: boolean;
}) => {
+ const { t } = useTranslation();
const { enable_hcx } = useConfig();
const seletedInsurer =
policy.insurer_id && policy.insurer_name
@@ -104,9 +108,9 @@ const InsuranceDetailEditCard = ({
return (
- Policy
+ {t("policy")}
- Delete
+ {t("remove")}
@@ -122,16 +126,16 @@ const InsuranceDetailEditCard = ({
@@ -139,8 +143,8 @@ const InsuranceDetailEditCard = ({
handleUpdates({
@@ -153,15 +157,15 @@ const InsuranceDetailEditCard = ({
<>
diff --git a/src/Components/HCX/PatientInsuranceDetailsEditor.tsx b/src/Components/HCX/PatientInsuranceDetailsEditor.tsx
index eb2089e2a7a..b2fbed0fb71 100644
--- a/src/Components/HCX/PatientInsuranceDetailsEditor.tsx
+++ b/src/Components/HCX/PatientInsuranceDetailsEditor.tsx
@@ -10,6 +10,7 @@ import request from "../../Utils/request/request";
import routes from "../../Redux/api";
import useQuery from "../../Utils/request/useQuery";
import { useState } from "react";
+import { useTranslation } from "react-i18next";
interface Props {
patient: string;
@@ -22,6 +23,8 @@ export default function PatientInsuranceDetailsEditor({
onSubmitted,
onCancel,
}: Props) {
+ const { t } = useTranslation();
+
const [insuranceDetails, setInsuranceDetails] = useState(
[],
);
@@ -68,10 +71,8 @@ export default function PatientInsuranceDetailsEditor({
onResponse: ({ res }) => {
if (res?.ok) {
Notification.Success({
- msg: "Checking Policy Eligibility...",
+ msg: t("checking_policy_eligibility"),
});
- } else {
- Notification.Error({ msg: "Something Went Wrong..." });
}
},
});
@@ -114,7 +115,7 @@ export default function PatientInsuranceDetailsEditor({
}
>
- Add Insurance Details
+ {t("add_policy")}
@@ -122,10 +123,10 @@ export default function PatientInsuranceDetailsEditor({
{isUpdating ? (
<>
- Updating...
+ {t("updating")}
>
) : (
- "Update"
+ {t("update")}
)}
diff --git a/src/Components/HCX/PolicyEligibilityCheck.tsx b/src/Components/HCX/PolicyEligibilityCheck.tsx
index 69ef0a4f4e0..d7d5de7b43d 100644
--- a/src/Components/HCX/PolicyEligibilityCheck.tsx
+++ b/src/Components/HCX/PolicyEligibilityCheck.tsx
@@ -10,6 +10,7 @@ import request from "../../Utils/request/request.js";
import routes from "../../Redux/api";
import { useMessageListener } from "../../Common/hooks/useMessageListener";
import useQuery from "../../Utils/request/useQuery";
+import { useTranslation } from "react-i18next";
interface Props {
className?: string;
@@ -22,6 +23,8 @@ export default function HCXPolicyEligibilityCheck({
patient,
onEligiblePolicySelected,
}: Props) {
+ const { t } = useTranslation();
+
const [selectedPolicy, setSelectedPolicy] = useState();
const [isCheckingEligibility, setIsCheckingEligibility] = useState(false);
@@ -56,9 +59,7 @@ export default function HCXPolicyEligibilityCheck({
});
if (res?.ok) {
- Notification.Success({ msg: "Checking Policy Eligibility..." });
- } else {
- Notification.Error({ msg: "Something Went Wrong..." });
+ Notification.Success({ msg: t("checking_policy_eligibility") });
}
setIsCheckingEligibility(false);
@@ -66,7 +67,7 @@ export default function HCXPolicyEligibilityCheck({
return (
-
+
(
-
- Member ID
-
+
+ {t("policy__subscriber_id")}
+
{option.subscriber_id}
-
- Insurer ID
-
+
+ {t("policy__insurer_id")}
+
{option.insurer_id}
-
- Insurer Name
-
+
+ {t("policy__insurer_name")}
+
{option.insurer_name}
@@ -132,17 +133,17 @@ export default function HCXPolicyEligibilityCheck({
)}
/>
{isCheckingEligibility ? (
<>
- Checking ...
+ {t("checking_eligibility")}
>
) : (
- "Check Eligibility"
+ t("check_eligibility")
)}
@@ -151,6 +152,8 @@ export default function HCXPolicyEligibilityCheck({
}
const EligibilityChip = ({ eligible }: { eligible: boolean }) => {
+ const { t } = useTranslation();
+
return (
{
>
- {eligible ? "Eligible" : "Not Eligible"}
+ {eligible ? t("eligible") : t("not_eligible")}
);
diff --git a/src/Locale/en/Common.json b/src/Locale/en/Common.json
index 4d3ce953d41..af46905be01 100644
--- a/src/Locale/en/Common.json
+++ b/src/Locale/en/Common.json
@@ -197,5 +197,6 @@
"discard": "Discard",
"live": "Live",
"discharged": "Discharged",
- "archived": "Archived"
+ "archived": "Archived",
+ "created_on": "Created On"
}
diff --git a/src/Locale/en/HCX.json b/src/Locale/en/HCX.json
new file mode 100644
index 00000000000..155da7f9173
--- /dev/null
+++ b/src/Locale/en/HCX.json
@@ -0,0 +1,61 @@
+{
+ "checking_policy_eligibility": "Checking Policy Eligibility",
+ "check_policy_eligibility": "Check Policy Eligibility",
+ "add_policy": "Add Insurance Policy",
+ "edit_policy": "Edit Insurance Policy",
+ "edit_policy_description": "Add or edit patient's insurance details",
+ "select_policy": "Select an Insurance Policy",
+ "select_eligible_policy": "Select an Eligible Insurance Policy",
+ "no_policy_found": "No Insurance Policy Found for this Patient",
+ "no_policy_added": "No Insurance Policy Added",
+ "checking_eligibility": "Checking Eligibility",
+ "check_eligibility": "Check Eligibility",
+ "eligible": "Eligible",
+ "not_eligible": "Not Eligible",
+ "policy": "Policy",
+ "policy__subscriber_id": "Member ID",
+ "policy__subscriber_id__example": "SUB001",
+ "policy__policy_id": "Policy ID / Policy Name",
+ "policy__policy_id__example": "POL001",
+ "policy__insurer": "Insurer",
+ "policy__insurer__example": "GICOFINDIA",
+ "policy__insurer_id": "Insurer ID",
+ "policy__insurer_id__example": "GICOFINDIA",
+ "policy__insurer_name": "Insurer Name",
+ "policy__insurer_name__example": "GIC OF INDIA",
+ "claims": "Claims",
+ "claim__item": "Item",
+ "claim__items": "Items",
+ "claim__add_item": "Add Item",
+ "claim__item__add_at_least_one": "Add at least one item",
+ "claim__item__fill_all_details": "Fill all the item details",
+ "claim__item__category": "Category",
+ "claim__item__procedure": "Procedure",
+ "claim__item__id": "ID",
+ "claim__item__id__example": "PROC001",
+ "claim__item__name": "Name",
+ "claim__item__name__example": "Knee Replacement",
+ "claim__item__price": "Price",
+ "claim__item__price__example": "100.00",
+ "claim__failed_to_create_preauthorization": "Failed to create Pre-Authorization",
+ "claim__failed_to_create_claim": "Failed to create Claim",
+ "claim__creating_preauthorization": "Creating Pre-Authorization",
+ "claim__creating_claim": "Creating Claim",
+ "claim__create_preauthorization": "Create Pre-Authorization",
+ "claim__create_claim": "Create Claim",
+ "claim__use": "Use",
+ "claim__use__preauthorization": "Pre-Authorization",
+ "claim__use__claim": "Claim",
+ "select_policy_to_add_items": "Select a Policy to Add Items",
+ "total_amount": "Total Amount",
+ "claim__status__rejected": "Rejected",
+ "claim__status__approved": "Approved",
+ "claim__status__pending": "Pending",
+ "claim__total_claim_amount": "Total Claim Amount",
+ "claim__total_approved_amount": "Total Approved Amount",
+ "communication__sent_to_hcx": "Sent communication to HCX",
+ "fetched_attachments_successfully": "Fetched attachments successfully",
+ "add_attachments": "Add Attachments",
+ "claim__request_claim": "Request Claim",
+ "claim__requesting_claim": "Requesting Claim"
+}
diff --git a/src/Locale/en/index.js b/src/Locale/en/index.js
index e0fbc212ea4..459c669a4e7 100644
--- a/src/Locale/en/index.js
+++ b/src/Locale/en/index.js
@@ -9,6 +9,8 @@ import Entities from "./Entities.json";
import ErrorPages from "./ErrorPages.json";
import ExternalResult from "./ExternalResult.json";
import Facility from "./Facility.json";
+import FileUpload from "./FileUpload.json";
+import HCX from "./HCX.json";
import Hub from "./Hub.json";
import LogUpdate from "./LogUpdate.json";
import Medicine from "./Medicine.json";
@@ -17,7 +19,6 @@ import Resource from "./Resource.json";
import Shifting from "./Shifting.json";
import SortOptions from "./SortOptions.json";
import Users from "./Users.json";
-import FileUpload from "./FileUpload.json";
export default {
...Auth,
@@ -39,5 +40,6 @@ export default {
...Users,
...LogUpdate,
...FileUpload,
- SortOptions,
+ ...HCX,
+ ...SortOptions,
};
diff --git a/src/Routers/routes/HCXRoutes.tsx b/src/Routers/routes/HCXRoutes.tsx
index 8a36e033c15..80378b24621 100644
--- a/src/Routers/routes/HCXRoutes.tsx
+++ b/src/Routers/routes/HCXRoutes.tsx
@@ -1,6 +1,10 @@
-import ConsultationClaims from "../../Components/Facility/ConsultationClaims";
+import ConsultationClaims, {
+ IConsultationClaimsProps,
+} from "../../Components/Facility/ConsultationClaims";
export default {
"/facility/:facilityId/patient/:patientId/consultation/:consultationId/claims":
- (pathParams: any) => ,
+ (pathParams: IConsultationClaimsProps) => (
+
+ ),
};
|