import { useState, useEffect } from 'react';
import createEkaInstance from "@eka-care/eka-care-core";
export default function PatientsApp() {
const [ekaInstance, setEkaInstance] = useState(null);
const [newPatient, setNewPatient] = useState(null);
const [patient, setPatient] = useState(null);
const [patientDetails, setPatientDetails] = useState(null);
useEffect(() => {
initializeSDK();
}, []);
const initializeSDK = async () => {
const authRes = await fetch("https://your-backend.vercel.app/api/manage-auth", {
method: "POST",
headers: { "Content-Type": "application/json" },
});
const authData = await authRes.json();
const ekaInstanceResult = createEkaInstance({
source: "FE",
auth_token: authData.data.access_token,
backendAuthEndpointURL: "https://your-backend.vercel.app/api/manage-auth",
});
setEkaInstance(ekaInstanceResult);
};
// Add new patient to directory
const addNewPatient = async () => {
const patient = await ekaInstance.patients.addPatientToDirectory({
first_name: "John",
gender: "M",
mobile: "918074106021",
dob: "2004-08-01",
});
setNewPatient(patient);
};
// Search patient by mobile number
const searchPatient = async () => {
const foundPatient = await ekaInstance.patients.searchPatientByMobile({
mobile: "918074106021",
});
setPatient(foundPatient);
};
// Get patient details by ID
const getPatientDetails = async () => {
const details = await ekaInstance.patients.getPatientDetailsById({
patient_id: "174860072074280",
});
setPatientDetails(details);
};
// Update patient details
const updatePatientDetails = async () => {
const updatedPatientDetails = await ekaInstance.patients.updatePatientDetails({
patient_id: newPatient.patient_id,
first_name: "John Updated",
address: {
city: "BLR",
country: "IN",
},
dob: "2000-10-10",
});
};
return (
<div className="container mx-auto p-8">
<div>...</div>
</div>
);
}