Comment Diplodoctor est construit, et pourquoi
Un récit court et honnête des parties, de ce que fait chacune et où elle s'arrête. Chaque phrase décrit le code de ce dépôt tel qu'il est aujourd'hui ; ce qui est prévu est signalé et renvoie à la feuille de route.
Pourquoi il est construit ainsi
Un rapport de laboratoire est un tableau de nombres avec un intervalle imprimé à côté de chacun. Le plus difficile pour une personne n'est pas le tableau ; c'est de savoir quoi demander, et de faire confiance à la réponse.
Un modèle de langage lit bien le tableau et dit bien en mots simples à quoi sert une mesure. C'est le mauvais outil pour décider si 5,8 dépasse 5,6. Donc le modèle lit, et le code compare.
Et seul un professionnel de santé autorisé peut donner un conseil médical là où vous êtes soigné. Une personne sans autorisation peut quand même aider, et le produit dit ce que chacun est. Diplodoctor est conçu pour préparer cette conversation, pas pour la remplacer.
Cinq parties, chacune avec une seule tâche
- 01
Saisie
Une zone de texte et jusqu'à quatre photos de pages, réduites dans votre navigateur. Rien n'est envoyé avant que vous n'appuyiez sur le bouton.
- 02
Anonymisation
lib/redact.ts repère les noms, dates de naissance, adresses, numéros d'assurance, de commande et de téléphone et remplace chacun par un marqueur, dans le navigateur. Vous les voyez tous et pouvez la désactiver.
- 03
Lecture
Une seule route appelle complete() d'ai-kit sur la chaîne gratuite partagée, ou avec votre propre clé. Le modèle renvoie un objet JSON : valeurs, unités, intervalles, la ligne d'où chacune vient, information en langage clair et questions.
- 04
Vérifications
Le schéma du rapport, et non le modèle, décide de chaque marquage en comparant la valeur aux bornes imprimées, et ne laisse jamais l'urgence tomber sous ce que les marquages impliquent. Une valeur n'est jamais montrée sans la ligne d'où elle a été lue.
- 05
Le fichier
Un seul schéma zod est le rapport : ce que produit le modèle, ce que stocke le navigateur et ce qu'écrit l'export. Un fichier qui peut sortir est un fichier qui vous appartient.
Une lecture, étape par étape
Ce qui se passe entre l'appui sur le bouton et l'affichage du résultat.
- 01Votre navigateur repère les données personnelles dans le texte et les remplace par des marqueurs.
- 02Seuls le texte anonymisé et vos photos de pages vont au serveur.
- 03Le serveur demande à un modèle, de la chaîne gratuite ou avec votre clé, de lire le rapport. Rien n'est stocké ni journalisé à son sujet.
- 04La réponse est vérifiée par rapport au schéma, et chaque marquage est recalculé à partir des nombres.
- 05Votre navigateur remet les vraies valeurs à la place des marqueurs.
- 06Le rapport est enregistré dans ce navigateur. Le serveur l'a déjà oublié.
Réel aujourd'hui, et la suite
Chaque ligne dit si cela fonctionne aujourd'hui.
- Lire un rapport médical
Collez-le ou photographiez-le : chaque valeur avec son unité et son intervalle imprimé, celles qui en sortent, ce qu'elles mesurent, des questions pour votre médecin et une traduction. Sans compte ; les noms sont d'abord retirés dans votre navigateur.
Fonctionne aujourd'hui - Anonymisé avant de quitter votre navigateur
Les noms, dates de naissance, numéros d'assurance et de commande sont remplacés par des marqueurs dans le navigateur, et vous voyez chaque remplacement avant l'envoi.
Fonctionne aujourd'hui - Suivre une valeur dans le temps
Lorsque la même mesure figure dans un rapport antérieur de ce navigateur, la valeur précédente et la tendance sont affichées. Les unités différentes ne sont jamais converties.
Fonctionne aujourd'hui - Tout modèle, y compris le vôtre
Des modèles gratuits partagés par défaut, ou votre propre clé auprès d'un fournisseur pris en charge comme OpenAI, Anthropic, Google ou Mistral. La clé reste dans votre navigateur.
Fonctionne aujourd'hui - Connecter vos dossiers
Les dossiers suisses et européens tels qu'ils sont tenus : le dossier électronique du patient (DEP), les portails hospitaliers et les PDF de laboratoire, pas seulement les prestataires américains.
Prévu - Demander à une personne, de votre choix
Les assistants de santé, toute personne sous un nom ou un pseudonyme, affichés avec l'utilité que les gens leur ont trouvée, et les professionnels de santé autorisés proposent leur aide comme services OrangeCat, payés dans n'importe quelle monnaie.
En développement - Prouver une autorisation sans révéler qui vous êtes
Un professionnel de santé autorisé montre par une preuve à divulgation nulle de connaissance que son autorisation est valide, et peut rester sous pseudonyme.
Prévu - Un dossier de santé, traité par un agent
Un espace par préoccupation : chronologie, médicaments avec dose et fréquence, antécédents familiaux, rappels, et brouillons qui attendent votre approbation.
Prévu - Objets connectés et exports
Exports d'Apple Santé et d'Android Health Connect, Garmin, Withings et Oura, lorsqu'un dossier en a besoin.
Prévu - Des cliniques sur leurs propres modèles
Les cabinets font tourner Diplodoctor avec des modèles dans leurs propres murs et reçoivent les dossiers des patients avec leur consentement.
Prévu
Principes
De l'information, pas un diagnostic
Le modèle a pour consigne de ne jamais poser de diagnostic, de ne pas conseiller sur les médicaments et de ne pas rassurer. Le produit le répète partout où un résultat est affiché.
Rien n'est affirmé qui ne soit vrai
Chaque capacité a un statut dans un seul fichier, et les pages le lisent. Personne n'est répertorié, évalué ou cité s'il n'existe pas.
Open source
Le code, le prompt et les tests sont publics sous licence MIT, de sorte qu'une affirmation ici peut être vérifiée là.
Un terrain commun
Design, modèles, limites et registres viennent de paquets que toute la flotte utilise, pas de copies.
La pile technique
La même colonne de paquets que le reste de la flotte.
- Framework
- Next.js 16, React 19, TypeScript
- Modèles
- @bitbaum/ai-kit complete() sur la chaîne gratuite ; votre propre clé
- Confidentialité
- lib/redact.ts dans le navigateur ; CSP avec nonce
- Design
- @bitbaum/design-tokens
- Feuille de route
- ROADMAP.md et CHANGELOG.md, lus via bip-kit
- Limites de débit
- limitkit, en mémoire
- Langues
- next-intl : en, de, fr, it, es
- Tests
- Vitest ; l'appel au modèle est injecté
- Le problème
- A lab report reaches the person it is about as a page of values, units and printed ranges that they usually cannot read on their own.
- Ce que nous avons construit
- Paste or photograph a lab report and see every value, which ones are outside their printed range, what they measure and what to ask your doctor, without an account and in five languages. The AI reads and explains but never diagnoses or prescribes; health assistants anyone can be, and licensed professionals where the law reserves the work, help with the rest.
- Mission
- Help anyone understand their own medical results, with the person deciding what leaves them and who helps.
- Vision
- Three kinds of help in one place: any AI model, health assistants, and licensed professionals who can prove their licence without revealing who they are, each saying only what they are allowed to say.
Où cela va
Des dossiers de santé traités par un agent, et des personnes que vous choisissez pour vous aider : des assistants, et des professionnels de santé autorisés qui peuvent prouver leur autorisation sans révéler qui ils sont. Ce qui est construit et ce qui ne l'est pas figure sur la feuille de route, dans cet ordre.