diff --git a/CHANGELOG.md b/CHANGELOG.md index 834d69ad7..1a863b6a1 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -1,5 +1,14 @@ # Changelog +## [Unreleased] + +### Added + +- **Dengue and tuberculosis in the vaccine catalogue.** Dengue is listed + with the travel vaccines (two doses three months apart) and tuberculosis + with the childhood ones (one dose at birth); neither has a booster. Each + cites its WHO position paper, and searching "bcg" finds tuberculosis. + ## [1.44.2] — 2026-10-22 ### Changed diff --git a/docs/api/openapi.yaml b/docs/api/openapi.yaml index 3cc6674f6..b19c7de6c 100644 --- a/docs/api/openapi.yaml +++ b/docs/api/openapi.yaml @@ -33933,7 +33933,7 @@ components: maxLength: 100 components: minItems: 1 - maxItems: 26 + maxItems: 28 type: array items: type: string @@ -33964,6 +33964,8 @@ components: - yellow-fever - japanese-encephalitis - cholera + - dengue + - tuberculosis typicalSeriesDoses: anyOf: - type: integer @@ -33992,7 +33994,7 @@ components: maxLength: 100 components: minItems: 1 - maxItems: 26 + maxItems: 28 type: array items: type: string @@ -34023,6 +34025,8 @@ components: - yellow-fever - japanese-encephalitis - cholera + - dengue + - tuberculosis typicalSeriesDoses: anyOf: - type: integer diff --git a/messages/de.json b/messages/de.json index 5f2157a51..c7ae5d994 100644 --- a/messages/de.json +++ b/messages/de.json @@ -10428,6 +10428,8 @@ "yellow-fever": "Gelbfieber", "japanese-encephalitis": "Japanische Enzephalitis", "cholera": "Cholera", + "dengue": "Dengue", + "tuberculosis": "Tuberkulose", "td": "Td (Tetanus, Diphtherie)", "tdap": "Tdap (Tetanus, Diphtherie, Pertussis)", "tdap-ipv": "Tdap-IPV (Vierfachimpfung)", diff --git a/messages/en.json b/messages/en.json index 3782385b7..6f6a5e32f 100644 --- a/messages/en.json +++ b/messages/en.json @@ -10428,6 +10428,8 @@ "yellow-fever": "Yellow fever", "japanese-encephalitis": "Japanese encephalitis", "cholera": "Cholera", + "dengue": "Dengue", + "tuberculosis": "Tuberculosis", "td": "Td (tetanus, diphtheria)", "tdap": "Tdap (tetanus, diphtheria, pertussis)", "tdap-ipv": "Tdap-IPV (four-in-one)", diff --git a/messages/es.json b/messages/es.json index 79afe0e88..a2bf27a22 100644 --- a/messages/es.json +++ b/messages/es.json @@ -10428,6 +10428,8 @@ "yellow-fever": "Fiebre amarilla", "japanese-encephalitis": "Encefalitis japonesa", "cholera": "Cólera", + "dengue": "Dengue", + "tuberculosis": "Tuberculosis", "td": "Td (tétanos, difteria)", "tdap": "Tdap (tétanos, difteria, tos ferina)", "tdap-ipv": "Tdap-IPV (tetravalente)", diff --git a/messages/fr.json b/messages/fr.json index 485f12a8e..c9f928607 100644 --- a/messages/fr.json +++ b/messages/fr.json @@ -10428,6 +10428,8 @@ "yellow-fever": "Fièvre jaune", "japanese-encephalitis": "Encéphalite japonaise", "cholera": "Choléra", + "dengue": "Dengue", + "tuberculosis": "Tuberculose", "td": "dT (tétanos, diphtérie)", "tdap": "dTca (tétanos, diphtérie, coqueluche)", "tdap-ipv": "dTca-VPI (quadruple)", diff --git a/messages/it.json b/messages/it.json index 796e668f7..039a4fefe 100644 --- a/messages/it.json +++ b/messages/it.json @@ -10428,6 +10428,8 @@ "yellow-fever": "Febbre gialla", "japanese-encephalitis": "Encefalite giapponese", "cholera": "Colera", + "dengue": "Dengue", + "tuberculosis": "Tubercolosi", "td": "Td (tetano, difterite)", "tdap": "Tdap (tetano, difterite, pertosse)", "tdap-ipv": "Tdap-IPV (tetravalente)", diff --git a/messages/ko.json b/messages/ko.json index 771af169a..639cb4ab0 100644 --- a/messages/ko.json +++ b/messages/ko.json @@ -10428,6 +10428,8 @@ "yellow-fever": "황열", "japanese-encephalitis": "일본뇌염", "cholera": "콜레라", + "dengue": "뎅기열", + "tuberculosis": "결핵", "td": "Td(파상풍, 디프테리아)", "tdap": "Tdap(파상풍, 디프테리아, 백일해)", "tdap-ipv": "Tdap-IPV(4종 혼합)", diff --git a/messages/nl.json b/messages/nl.json index aede60bd0..e8c76f41c 100644 --- a/messages/nl.json +++ b/messages/nl.json @@ -10428,6 +10428,8 @@ "yellow-fever": "Gele koorts", "japanese-encephalitis": "Japanse encefalitis", "cholera": "Cholera", + "dengue": "Dengue", + "tuberculosis": "Tuberculose", "td": "Td (tetanus, difterie)", "tdap": "Tdap (tetanus, difterie, kinkhoest)", "tdap-ipv": "Tdap-IPV (vier-in-één)", diff --git a/messages/pl.json b/messages/pl.json index 14594d14f..e2bb37f5c 100644 --- a/messages/pl.json +++ b/messages/pl.json @@ -10428,6 +10428,8 @@ "yellow-fever": "Żółta gorączka", "japanese-encephalitis": "Japońskie zapalenie mózgu", "cholera": "Cholera", + "dengue": "Denga", + "tuberculosis": "Gruźlica", "td": "Td (tężec, błonica)", "tdap": "Tdap (tężec, błonica, krztusiec)", "tdap-ipv": "Tdap-IPV (poczwórna)", diff --git a/src/lib/vaccinations/vaccine-catalog.ts b/src/lib/vaccinations/vaccine-catalog.ts index 7be67c2a6..218af2643 100644 --- a/src/lib/vaccinations/vaccine-catalog.ts +++ b/src/lib/vaccinations/vaccine-catalog.ts @@ -77,6 +77,8 @@ export const ANTIGEN_SLUGS = [ "yellow-fever", "japanese-encephalitis", "cholera", + "dengue", + "tuberculosis", ] as const; export type AntigenSlug = (typeof ANTIGEN_SLUGS)[number]; @@ -317,6 +319,21 @@ export const VACCINE_CATALOG: readonly VaccineSeed[] = [ source: STIKO, synonyms: ["human papillomavirus"], }, + { + // One dose, at birth where tuberculosis is common, and no booster after + // it: revaccination is advised against. Off the standing-committee + // schedule since 1998, so it cites the WHO position paper instead — but + // older Passes carry it, and in much of the world it is the first line + // of a child's. + slug: "tuberculosis", + atc: "J07AN01", + components: ["tuberculosis"], + typicalSeriesDoses: 1, + boosterIntervalMonths: null, + category: "childhood", + source: "WHO position paper on BCG vaccines", + synonyms: ["bcg", "tb", "bacillus calmette-guérin"], + }, // ── Monovalent: by indication ─────────────────────────────────────────── { @@ -420,6 +437,22 @@ export const VACCINE_CATALOG: readonly VaccineSeed[] = [ category: "travel", source: "WHO position paper on cholera vaccines", }, + { + // Two doses three months apart: the schedule of the live-attenuated + // tetravalent preparation in current use. No booster has been + // established after it, so null rather than an interval invented to + // fill the field. The older preparation runs three doses and is limited + // to people with a confirmed past infection; the record's own + // `seriesDoses` override is there for the Pass that says three. + slug: "dengue", + atc: "J07BX04", + components: ["dengue"], + typicalSeriesDoses: 2, + boosterIntervalMonths: null, + category: "travel", + source: "WHO position paper on dengue vaccines", + synonyms: ["dengue fever", "breakbone fever"], + }, // ── Combinations ──────────────────────────────────────────────────────── {