{"_id":"@claudebernard/chatbot-cbia","_rev":"4-99f2f737012ab946b1eeab9366b1c192","name":"@claudebernard/chatbot-cbia","dist-tags":{"latest":"1.15.0"},"versions":{"1.13.0":{"name":"@claudebernard/chatbot-cbia","version":"1.13.0","keywords":["claude-bernard","medical","assistant","widget","fhir"],"license":"UNLICENSED","_id":"@claudebernard/chatbot-cbia@1.13.0","maintainers":[{"name":"gdrouet","email":"guidrouet@gmail.com"},{"name":"tpoutrain_resip","email":"thierry.poutrain@resip.fr"},{"name":"sclerbout","email":"simon.clerbout@cegedim.com"},{"name":"claudebernard_tcaillier","email":"thomas.caillier@claudebernard.fr"},{"name":"acroquelois_pro","email":"adrien.croquelois@claudebernard.fr"},{"name":"admin_claudebernard","email":"contact@claudebernard.fr"},{"name":"claudebernard_jhudelle","email":"julien.hudelle@claudebernard.fr"}],"homepage":"https://platform.claudebernard.fr","dist":{"shasum":"5d60592a6911f161ca821832dd209c70605d77ce","tarball":"https://registry.npmjs.org/@claudebernard/chatbot-cbia/-/chatbot-cbia-1.13.0.tgz","fileCount":6,"integrity":"sha512-X6VDz0ppMgWl/y8B0Rze2c2LUVIDYM6cGnohAhwFQFW+5tScwxk726VX/Ftq1XVe6zZ4Dabz0xg3iu5OpWP9Iw==","signatures":[{"sig":"MEUCIQDr0eax84k2S0zHmJ9N/F7+M/ypeWV2cChTUuoMU7slAAIgSwcGmSvQbru5tINp5F/8NrpXwMNKC4XXYpwf4lAELV4=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":1529614},"main":"./widget.umd.cjs","type":"module","types":"./index.d.ts","module":"./widget.js","engines":{"node":">= 20"},"exports":{".":{"import":{"types":"./index.d.ts","default":"./widget.js"},"require":{"types":"./index.d.cts","default":"./widget.umd.cjs"}},"./package.json":"./package.json","./widget.umd.cjs":"./widget.umd.cjs"},"gitHead":"e8dcf9b63df87cc1034487d4fc097e1fcd689f77","_npmUser":{"name":"acroquelois_pro","email":"adrien.croquelois@claudebernard.fr"},"_npmVersion":"10.9.4","description":"Claude Bernard IA widget — embeddable medical assistant for healthcare software","directories":{},"sideEffects":false,"_nodeVersion":"22.21.1","publishConfig":{"access":"public","registry":"https://registry.npmjs.org/"},"_hasShrinkwrap":false,"_npmOperationalInternal":{"tmp":"tmp/chatbot-cbia_1.13.0_1785830413980_0.26753623304561036","host":"s3://npm-registry-packages-npm-production"}},"1.14.0":{"name":"@claudebernard/chatbot-cbia","version":"1.14.0","keywords":["claude-bernard","medical","assistant","widget","fhir"],"license":"UNLICENSED","_id":"@claudebernard/chatbot-cbia@1.14.0","maintainers":[{"name":"gdrouet","email":"guidrouet@gmail.com"},{"name":"tpoutrain_resip","email":"thierry.poutrain@resip.fr"},{"name":"sclerbout","email":"simon.clerbout@cegedim.com"},{"name":"claudebernard_tcaillier","email":"thomas.caillier@claudebernard.fr"},{"name":"acroquelois_pro","email":"adrien.croquelois@claudebernard.fr"},{"name":"admin_claudebernard","email":"contact@claudebernard.fr"},{"name":"claudebernard_jhudelle","email":"julien.hudelle@claudebernard.fr"}],"homepage":"https://platform.claudebernard.fr","dist":{"shasum":"bd16b3ad4084c80fe8617176278f6548b9d78015","tarball":"https://registry.npmjs.org/@claudebernard/chatbot-cbia/-/chatbot-cbia-1.14.0.tgz","fileCount":6,"integrity":"sha512-RUAnx8pMt5NFDrFtP7HX8NrWH0/Qg1YambeS8ENmbKtnSMKCPRF1yEFiyQiIH+yN0ec/OVQkbzrVRrEVuZRUEA==","signatures":[{"sig":"MEUCIGvxLlAED8dZhAwynb062itV7jKxmUmFbUOfVyJHyMrcAiEAhHp0OOhpMKj6g+zoZMG7TMAHfsofa/b9JbB0dOILdYs=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":1545879},"main":"./widget.umd.cjs","type":"module","types":"./index.d.ts","module":"./widget.js","engines":{"node":">= 20"},"exports":{".":{"import":{"types":"./index.d.ts","default":"./widget.js"},"require":{"types":"./index.d.cts","default":"./widget.umd.cjs"}},"./package.json":"./package.json","./widget.umd.cjs":"./widget.umd.cjs"},"gitHead":"8ee4838718bf1d50017d68c2759ae6dbe0698424","_npmUser":{"name":"acroquelois_pro","email":"adrien.croquelois@claudebernard.fr"},"_npmVersion":"11.6.1","description":"Claude Bernard IA widget — embeddable medical assistant for healthcare software","directories":{},"sideEffects":false,"_nodeVersion":"24.10.0","publishConfig":{"access":"public","registry":"https://registry.npmjs.org/"},"_hasShrinkwrap":false,"_npmOperationalInternal":{"tmp":"tmp/chatbot-cbia_1.14.0_1786002970126_0.6689321774886969","host":"s3://npm-registry-packages-npm-production"}},"1.14.1":{"name":"@claudebernard/chatbot-cbia","version":"1.14.1","keywords":["claude-bernard","medical","assistant","widget","fhir"],"license":"UNLICENSED","_id":"@claudebernard/chatbot-cbia@1.14.1","maintainers":[{"name":"gdrouet","email":"guidrouet@gmail.com"},{"name":"tpoutrain_resip","email":"thierry.poutrain@resip.fr"},{"name":"sclerbout","email":"simon.clerbout@cegedim.com"},{"name":"claudebernard_tcaillier","email":"thomas.caillier@claudebernard.fr"},{"name":"acroquelois_pro","email":"adrien.croquelois@claudebernard.fr"},{"name":"admin_claudebernard","email":"contact@claudebernard.fr"},{"name":"claudebernard_jhudelle","email":"julien.hudelle@claudebernard.fr"}],"homepage":"https://platform.claudebernard.fr","dist":{"shasum":"149c36ce5bd700341b3dda4be3967ab7e8a53634","tarball":"https://registry.npmjs.org/@claudebernard/chatbot-cbia/-/chatbot-cbia-1.14.1.tgz","fileCount":6,"integrity":"sha512-nVUXqi68SgXk4WysCjycnHMF1MMWtbamq4IGfi34b7gUI+mjiyVTGg3+ag7/MOqz72gyDkJX1ETgNHO/c4qQaQ==","signatures":[{"sig":"MEUCIAO3+Agg/yIj84MF0zAOihG3qDGyIYGhD3+epqRfC2syAiEA/nzBZNxI9K9XAsyZXQCtrtf6fzGoNSUlnnJn+CYlgP0=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":1545789},"main":"./widget.umd.cjs","type":"module","types":"./index.d.ts","module":"./widget.js","engines":{"node":">= 20"},"exports":{".":{"import":{"types":"./index.d.ts","default":"./widget.js"},"require":{"types":"./index.d.cts","default":"./widget.umd.cjs"}},"./package.json":"./package.json","./widget.umd.cjs":"./widget.umd.cjs"},"gitHead":"6be33b97da69d851859b2ef495a16752710487ca","_npmUser":{"name":"acroquelois_pro","email":"adrien.croquelois@claudebernard.fr"},"_npmVersion":"11.6.1","description":"Claude Bernard IA widget — embeddable medical assistant for healthcare software","directories":{},"sideEffects":false,"_nodeVersion":"24.10.0","publishConfig":{"access":"public","registry":"https://registry.npmjs.org/"},"_hasShrinkwrap":false,"_npmOperationalInternal":{"tmp":"tmp/chatbot-cbia_1.14.1_1786004075008_0.16908435700874658","host":"s3://npm-registry-packages-npm-production"}},"1.15.0":{"name":"@claudebernard/chatbot-cbia","version":"1.15.0","description":"Claude Bernard IA widget — embeddable medical assistant for healthcare software","keywords":["claude-bernard","medical","assistant","widget","fhir"],"homepage":"https://platform.claudebernard.fr","license":"UNLICENSED","type":"module","types":"./index.d.ts","module":"./widget.js","main":"./widget.umd.cjs","exports":{".":{"import":{"types":"./index.d.ts","default":"./widget.js"},"require":{"types":"./index.d.cts","default":"./widget.umd.cjs"}},"./widget.umd.cjs":"./widget.umd.cjs","./package.json":"./package.json"},"sideEffects":false,"engines":{"node":">= 20"},"publishConfig":{"access":"public","registry":"https://registry.npmjs.org/"},"gitHead":"ff7f414a1325af00a05ed5073a07baeff622c762","_id":"@claudebernard/chatbot-cbia@1.15.0","_nodeVersion":"24.10.0","_npmVersion":"11.6.1","dist":{"integrity":"sha512-HIke/hZW1GpSKRgBNU/TnpVtCwF4rAraalHlFSCPAu1//hv3vgV0HQ5qFqwXnPu1b3ezvlt6dEfuToyZwv12gg==","shasum":"2fd3b2474918631e460cc24c31035f5fee4d1317","tarball":"https://registry.npmjs.org/@claudebernard/chatbot-cbia/-/chatbot-cbia-1.15.0.tgz","fileCount":6,"unpackedSize":1520906,"signatures":[{"keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U","sig":"MEUCIQD8zQ5YknrPlxOdnVX8h3LSlR3rXFDRNrUl52E9lEuFDAIgT2VuEksiTkeGIPiSFq1LxHBSAub16Pr8GwYTX64Vf6c="}]},"_npmUser":{"name":"acroquelois_pro","email":"adrien.croquelois@claudebernard.fr"},"directories":{},"maintainers":[{"name":"gdrouet","email":"guidrouet@gmail.com"},{"name":"tpoutrain_resip","email":"thierry.poutrain@resip.fr"},{"name":"sclerbout","email":"simon.clerbout@cegedim.com"},{"name":"claudebernard_tcaillier","email":"thomas.caillier@claudebernard.fr"},{"name":"acroquelois_pro","email":"adrien.croquelois@claudebernard.fr"},{"name":"admin_claudebernard","email":"contact@claudebernard.fr"},{"name":"claudebernard_jhudelle","email":"julien.hudelle@claudebernard.fr"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages-npm-production","tmp":"tmp/chatbot-cbia_1.15.0_1787133463218_0.9339026848617915"},"_hasShrinkwrap":false}},"time":{"created":"2026-08-04T08:00:13.792Z","modified":"2026-08-19T09:57:43.563Z","1.13.0":"2026-08-04T08:00:14.142Z","1.14.0":"2026-08-06T07:56:10.280Z","1.14.1":"2026-08-06T08:14:35.190Z","1.15.0":"2026-08-19T09:57:43.363Z"},"license":"UNLICENSED","homepage":"https://platform.claudebernard.fr","keywords":["claude-bernard","medical","assistant","widget","fhir"],"description":"Claude Bernard IA widget — embeddable medical assistant for healthcare software","maintainers":[{"name":"gdrouet","email":"guidrouet@gmail.com"},{"name":"tpoutrain_resip","email":"thierry.poutrain@resip.fr"},{"name":"sclerbout","email":"simon.clerbout@cegedim.com"},{"name":"claudebernard_tcaillier","email":"thomas.caillier@claudebernard.fr"},{"name":"acroquelois_pro","email":"adrien.croquelois@claudebernard.fr"},{"name":"admin_claudebernard","email":"contact@claudebernard.fr"},{"name":"claudebernard_jhudelle","email":"julien.hudelle@claudebernard.fr"}],"readme":"# @claudebernard/chatbot-cbia\n\nClaude Bernard IA widget — an embeddable medical assistant for healthcare software.\n\nThe widget mounts inside an isolated `<iframe>` on top of the host application and calls the\nClaude Bernard IA API directly from the practitioner's browser. React is embedded in the\npackage: no peer dependency to install, and no conflict with the host's own React version.\n\n## Installation\n\n```bash\nnpm install @claudebernard/chatbot-cbia\n```\n\nNo stylesheet to import — the widget injects its own styles inside its iframe.\n\n## Usage\n\n```ts\nimport { initClaudeBernardWidget } from '@claudebernard/chatbot-cbia';\n\nconst widget = initClaudeBernardWidget({\n  apiUrl: 'https://platform.claudebernard.fr/api/agent-server',\n  apiKey: '…',\n  assistantId: '…',\n  getPatientContext: () => hostApp.currentPatient?.fhirBundle,\n});\n\n// when the host screen unmounts\nwidget.destroy();\n```\n\n`apiUrl`, `apiKey` and `assistantId` are provided by the Claude Bernard IA team during\nonboarding. The API key is passed on the browser side: the integrator is responsible for how it\nis stored, distributed and rotated.\n\n`initClaudeBernardWidget()` must be called on the client side only, and only one widget instance\nis supported per page. Call `destroy()` before mounting a new one.\n\n## Run mode\n\nAnswers stream in by default, rendering progressively as the assistant writes. Pass\n`runMode: 'wait'` to receive each answer in one block instead — for host networks whose proxy or\ngateway cannot hold a long-lived SSE connection.\n\n```ts\ninitClaudeBernardWidget({ apiUrl, apiKey, assistantId, runMode: 'wait' });\n```\n\nThis is an opt-out, not a fallback to configure: a streamed run that fails before displaying\nanything is silently retried in blocking mode.\n\n## Patient context\n\n`getPatientContext` is read on **every question asked**, so switching patient in the host\nsoftware is picked up without reopening the widget. It must return the FHIR bundle of the patient\ncurrently displayed, or `undefined` when no patient is loaded — the assistant then answers\nwithout patient context.\n\nThe bundle is forwarded as is, and must follow the Agent Server contract: a container FHIR\n`Bundle` whose entry holds a second bundle carrying the `Patient` resource.\n\n## Documentation\n\nFull integration guide, appearance parameters and FHIR data model:\n<https://platform.claudebernard.fr>\n","readmeFilename":"README.md"}