import { useEffect, useMemo } from "react";
import { SukiAuthManager } from "@suki-sdk/core";
import { SukiAssistant, SukiProvider, useSuki } from "@suki-sdk/react";
function Root() {
return (
<SukiProvider>
<App />
</SukiProvider>
);
}
function App() {
const authManager = useMemo(
() =>
new SukiAuthManager({
partnerId: "f80c8db8-a4d0-4b75-8d63-56c82b5413f0", // Replace with your actual partner ID
partnerToken:
"eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJzdWIiOiIxMjM0NTY3ODkwIiwibmFtZSI6IkpvaG4gRG9lIiwiYWRtaW4iOnRydWUsImlhdCI6MTUxNjIzOTAyMn0.KMUFsIDTnFmyG3nMiGM6H9FNFUROf3wh7SmqJp-QV30", // Replace with your actual partner token
providerName: "John doe", // Replace with the full name of the provider
providerOrgId: "1234", // Replace with the provider's organization ID
environment: "staging",
loginOnInitialize: true,
providerId: "1234567890", // Replace with the provider's ID
providerName: "John doe", // Replace with the full name of the provider
providerOrgId: "1234", // Replace with the provider's organization ID
providerSpecialty: "FAMILY_MEDICINE", // Replace with the provider's specialty
}),
[],
);
const { init, isInitialized } = useSuki();
useEffect(() => {
if (!isInitialized) {
init({
authManager,
enableDebug: true,
logLevel: "debug",
});
}
}, [init, isInitialized, authManager]);
const encounter = {
identifier: "6ec3920f-b0b1-499d-a4e9-889bf788e5ab",
patient: {
identifier: "905c2521-25eb-4324-9978-724636df3436",
name: {
use: "usual",
family: "Smith",
given: ["John"],
suffix: [],
},
birthDate: "1980-01-15",
gender: "male",
},
};
return <MySDKComponent encounter={encounter} />;
}
function MySDKComponent({ encounter }) {
const handleNoteSubmit = (data) => {
console.log("Note submitted:", data);
};
return (
<SukiAssistant
encounter={encounter}
onNoteSubmit={handleNoteSubmit}
// rest of the props as needed
/>
);
}