import createEkaInstance from "@eka-care/eka-care-core";
export default function HealthAssessment() {
const [ekaInstance, setEkaInstance] = useState(null);
const [assessment, setAssessment] = useState(null);
const [results, setResults] = useState(null);
useEffect(() => {
initializeSDK();
}, []);
const initializeSDK = async () => {
const authRes = await fetch(
"https://the-deployed-vercel-backend/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://the-deployed-vercel-backend/api/manage-auth`, // this gets deployed in 1 click, please refer above
});
setEkaInstance(ekaInstanceResult);
};
const startAssessment = async () => {
const assessmentResponse = await ekaInstance.assessment.initAssessment({
client_id: "client_id_given_by_eka-care",
user_info: {
gender: "M",
age: 25,
},
workflow_id: 814,
});
setAssessment(assessmentResponse);
const startResponse = await ekaInstance.assessment.startAssessment({
assessment_id: assessmentResponse.assessment_id,
client_id: "client_id_given_by_eka-care",
});
if (startResponse.questions && startResponse.questions.length > 0) {
const firstQuestion = startResponse.questions[0];
await ekaInstance.assessment.continueAssessment({
assessment_id: assessmentResponse.assessment_id,
client_id: "client_id_given_by_eka-care",
qid: firstQuestion.qid,
user_response: "users response",
});
const finalResults = await ekaInstance.assessment.submitAssessment({
assessment_id: assessmentResponse.assessment_id,
client_id: "client_id_given_by_eka-care",
});
setResults(finalResults);
}
};
return <div className="container mx-auto p-8">...</div>;
}