Calculateur d'immunité vaccinale
La protection induite par le vaccin n'est pas une constante. L'efficacité publiée décrit le pic autour de l'achèvement du schéma primaire ; chaque mois supplémentaire après la dernière dose laisse cette protection s'affaiblir selon une courbe exponentielle lisse, et un schéma incomplet n'atteint jamais le pic publié.
Lancer gratuitement
Ce calculateur d'immunité vaccinale estime la protection restante en pourcentage à partir de trois nombres : une efficacité entre zéro et cent, le nombre de doses reçues et les mois écoulés depuis la dernière dose. Il applique un taux éducatif fixe d'affaiblissement avec une demi-vie de douze mois et un facteur saturant de schéma à deux doses, puis renvoie le pourcentage restant avec le pic, le facteur de dose et le facteur d'affaiblissement afin que chaque étape puisse être auditée. L'outil gratuit du navigateur et l'API partagent la même bibliothèque JavaScript pure, de sorte que les contrôles interactifs et les tâches automatisées s'accordent toujours. Pas de consultation réseau, pas d'aléatoire et pas de dépendance à la date du jour : seulement de l'arithmétique sur les nombres que vous fournissez. Traitez chaque résultat comme une estimation éducative de la protection vaccinale, jamais comme un titre clinique, une recommandation de rappel ni un substitut à un clinicien.
Comment l’utiliser
Saisissez vos données dans le formulaire ci-dessus. L’outil les vérifie avant le calcul et affiche le résultat sur la même page.
Vérifiez vos données
Suivez les libellés et les unités de chaque champ. Si une valeur manque ou sort de la plage autorisée, la page indique quoi corriger.
Relancez le calcul ou automatisez-le
Utilisez l’outil web pour les vérifications ponctuelles et l’API pour intégrer la même capacité à un flux automatisé.
Cas d’usage
Obtenez une réponse maintenant
Saisissez un jeu de valeurs et consultez le résultat sans créer de feuille de calcul ni de script.
Comparez des scénarios
Modifiez une valeur à la fois et relancez le calcul pour voir ce qui influence le résultat.
Automatisez les tâches répétées
Utilisez l’API lorsque le même calcul doit s’exécuter dans votre produit ou votre flux.
Questions fréquentes
Quelle formule le calculateur d'immunité vaccinale utilise-t-il ?
remaining_percent = efficacy × min(1, doses/2) × exp(−ln(2)×months/12). Le pic est l'efficacité publiée mise à l'échelle par un schéma saturant à deux doses ; l'affaiblissement utilise une demi-vie fixe de douze mois.
Pourquoi une efficacité hors de 0-100 échoue-t-elle ?
L'efficacité vaccinale est un pourcentage. Les valeurs inférieures à 0 ou supérieures à 100 ne sont pas une efficacité valable, donc la tâche échoue avec invalid_input et n'est pas facturée.
Comment les doses supplémentaires après un schéma à deux doses affectent-elles l'estimation ?
Deux doses ou plus saturent le pic à l'efficacité publiée. Les doses supplémentaires n'élèvent pas remaining_percent au-dessus de ce pic ; elles n'interviennent que via l'horloge des mois depuis la dernière dose que vous fournissez.
remaining_percent équivaut-il à un titre de laboratoire ou à une recommandation de rappel ?
Non. Le résultat est un pourcentage éducatif issu d'une formule d'affaiblissement fixe. Ce n'est ni un titre d'anticorps neutralisants, ni un diagnostic, ni un conseil de recevoir un rappel.
Le calculateur d'immunité vaccinale est-il gratuit ?
L'outil du navigateur est gratuit. Les appels API coûtent $0.002 par requête réussie sur votre solde prépayé KIT ; une validation en échec n'est jamais facturée.
Pour les développeurs — accès API
Tout sur cette page est disponible par programmation. Cette section s'adresse aux équipes qui veulent l'intégrer à leurs systèmes ; les autres peuvent simplement utiliser l'outil ci-dessus.
Endpoint
Authentification par jeton Bearer : un seul POST met la tâche en file d’attente, et le résultat vous parvient par webhook ou lien signé.
Appeler depuis votre stack
curl -X POST https://api.kit.forhosting.com/health/vaccine-immunity \
-H "Authorization: Bearer $KIT_KEY" \
-H "Content-Type: application/json" \
-d '{"efficacy":95,"doses":2,"months":6}'const res = await fetch("https://api.kit.forhosting.com/health/vaccine-immunity", {
method: "POST",
headers: {
"Authorization": `Bearer ${process.env.KIT_KEY}`,
"Content-Type": "application/json"
},
body: JSON.stringify({
"efficacy": 95,
"doses": 2,
"months": 6
})
});
const { task_id } = await res.json();import os, requests
res = requests.post(
"https://api.kit.forhosting.com/health/vaccine-immunity",
headers={"Authorization": f"Bearer {os.environ['KIT_KEY']}"},
json={
"efficacy": 95,
"doses": 2,
"months": 6
},
)
task_id = res.json()["task_id"]<?php
$res = file_get_contents("https://api.kit.forhosting.com/health/vaccine-immunity", false, stream_context_create([
"http" => [
"method" => "POST",
"header" => "Authorization: Bearer " . getenv("KIT_KEY") . "\r\nContent-Type: application/json",
"content" => '{"efficacy":95,"doses":2,"months":6}',
],
]));
$task = json_decode($res, true);body := bytes.NewBufferString(`{"efficacy":95,"doses":2,"months":6}`)
req, _ := http.NewRequest("POST", "https://api.kit.forhosting.com/health/vaccine-immunity", body)
req.Header.Set("Authorization", "Bearer "+os.Getenv("KIT_KEY"))
req.Header.Set("Content-Type", "application/json")
res, _ := http.DefaultClient.Do(req)Exemple de requête
{
"efficacy": 95,
"doses": 2,
"months": 6
}Exemple de réponse
{
"task_id": "tsk_a1b2c3d4e5f6a1b2c3d4e5f6",
"type": "health.vaccine_immunity",
"status": "queued",
"_links": {
"result": "/tasks/tsk_…/result"
}
}L’API est asynchrone : chaque appel renvoie un task_id immédiatement, puis vous interrogez l’état à raison d’une requête par seconde.
Tarifs
Le prix est publié, sans tokens ni crédits. Une tâche qui échoue n’est pas facturée.
Limites
max_doses | 20 |
max_months | 600 |
Erreurs
| HTTP | Code | Signification |
|---|---|---|
401 | unauthorized | Clé API absente ou invalide : vérifiez l’en-tête Authorization. |
402 | insufficient_balance | Solde insuffisant : rechargez votre compte pour lancer cette tâche. |
404 | unknown_type | Type de tâche inconnu : vérifiez le champ type de votre requête. |
429 | rate_limited | Trop de requêtes : ralentissez la cadence, puis réessayez. |