Architektur und Übergabe

Klinikum Landau-Südliche Weinstraße GmbH · Lfd. Nr. 5.0

Admin Zur App
Diese Seite wird erzeugt
Erstellt von tools/build-docs.mjs bei jedem Build aus Schema und Datenbestand. Sie kann deshalb nicht behaupten, was der Code nicht tut.
Stand: 2026-08-08 14:09 Uhr.

1. Was die App ist

Ein Nachschlagewerk für die kalkulierte Antibiotikatherapie am Krankenbett. Verbindliche Quelle ist ausschließlich Kalkulierte Antibiotikatherapie — Pocket cards des Klinikum Landau-Südliche Weinstraße GmbH, Lfd. Nr. 5.0, geprüft 2025-11-05 (ABS-Kommission), freigegeben 2025-11-17 (Dr. R. Lang), 17 Seiten. Jede Therapieangabe trägt ihre Seitenzahl.

Nur eine Quelle
Unter pdf/_fremdquellen/ und content/_fremdquellen/ liegen Leitfäden anderer Häuser. Sie sind Vergleichsmaterial und dürfen nie Grundlage einer Angabe in dieser App sein. Der Validator lehnt jedes Leitfadenobjekt ab, dessen Quelle nicht pocketcards-landau-suew-5.0 ist.

2. Datenfluss

content/**.md        Markdown mit YAML-Frontmatter — die Wahrheit
      │              in Obsidian oder jedem Editor bearbeitbar
      ▼
tools/validate-content.mjs   Pflichtfelder, Enums, alle Referenzkanten,
      │                      Quellenpflicht, dosing.de-Pflicht
      ▼
tools/build-content.mjs      dist/data.json + dist/data.js + sw.js
      │                      inklusive Backlink-Index und Spektrum-Matrix
      ▼
index.html                   lädt genau eine Datei, kein Framework,
                             kein Runtime-Fetch

Backlinks entstehen beim Build, nicht zur Laufzeit. In der Vorgängerversion suchte der Renderer Beziehungen bei jedem Klick neu zusammen; fehlte dabei ein Feld, verschwanden sie kommentarlos.

3. Objektmodell

TypBezeichnungAnzahlOrdnerFelder
erreger Erreger 34 content/wissen/erreger 20
erregerklasse Erregerklassen 17 content/wissen/klassen/erreger 11
krankheitsbild Krankheitsbilder 17 content/leitfaden 13
score Scores & Kriterien 10 content/leitfaden/anhang 10
wirkstoff Wirkstoffe 39 content/wissen/wirkstoffe 35
wirkstoffklasse Wirkstoffklassen 17 content/wissen/klassen/wirkstoff 11

4. Felder je Objekttyp

Deklariert in content/_schema/*.yml. Diese Dateien sind die einzige Stelle, an der Felder definiert werden — Kartenrenderer, Content-Inspektor, Visual Editor und Validator lesen alle dieselbe Datei. Ein neues Feld ist ein Schema-Eintrag, kein Eingriff an vier Stellen.

Erreger 20 Felder
FeldBeschriftungTypHerkunftPflicht
id Kennung text wissen ja
name Name text wissen ja
synonyme Synonyme / Kürzel liste wissen
klasse_id Erregerklasse ref → erregerklasse wissen ja
beschreibung Kurzbeschreibung markdown wissen
gram Gram-Verhalten enum wissen ja
morphologie Morphologie text wissen
sauerstoffbedarf Sauerstoffbedarf enum wissen
taxonomie Taxonomie text wissen
nachweis Nachweisverfahren liste wissen
vorkommen Vorkommen & Reservoir markdown wissen
typische_infektionen Typische Infektionen liste wissen
uebertragung Übertragung text wissen
hygiene Hygienemaßnahmen markdown wissen
wirksame_substanzen Wirksame Substanzen reflist → wirkstoff wissen
luecken Unwirksame Substanzen / Lücken reflist → wirkstoff wissen
resistenz Resistenzlage & Mechanismen markdown wissen
problemkeim Problemkeim bool wissen
krankheitsbilder Krankheitsbilder reflist → krankheitsbild abgeleitet
ebene Wissensebene enum abgeleitet
Erregerklassen 11 Felder
FeldBeschriftungTypHerkunftPflicht
id Kennung text wissen ja
name Name text wissen ja
beschreibung Beschreibung markdown wissen
eltern_id Übergeordnete Klasse ref → erregerklasse wissen
gram Gram-Verhalten enum wissen
faerbung Färbeverhalten text wissen
morphologie Morphologie text wissen
kuerzel Kürzel text wissen
unterklassen Unterklassen liste wissen
erreger Erreger reflist → erreger wissen
ebene Wissensebene enum abgeleitet
Krankheitsbilder 13 Felder
FeldBeschriftungTypHerkunftPflicht
id Kennung text leitfaden ja
name Krankheitsbild text leitfaden ja
synonyme Synonyme liste leitfaden
organsystem Organsystem text wissen
untergruppen Konstellationen untergruppen leitfaden ja
anmerkungen Anmerkungen liste leitfaden
score_ref Zugehöriger Score reflist → score leitfaden
risiko_ref Zugehörige Risikokriterien reflist → score leitfaden
diagnostik Diagnostik liste leitfaden
quelle Quelle text leitfaden ja
seite Seite text leitfaden ja
extern Verweis auf externes Dokument markdown leitfaden
ebene Wissensebene enum abgeleitet
Scores & Kriterien 10 Felder
FeldBeschriftungTypHerkunftPflicht
id Kennung text leitfaden ja
name Name text leitfaden ja
art Art enum leitfaden ja
beschreibung Beschreibung markdown leitfaden
items Kriterien items leitfaden ja
auswertung Auswertung markdown leitfaden
quelle Quelle text leitfaden ja
seite Seite text leitfaden ja
fremdleitlinie Zugrunde liegende Leitlinie text leitfaden
ebene Wissensebene enum abgeleitet
Wirkstoffe 35 Felder
FeldBeschriftungTypHerkunftPflicht
id Kennung text wissen ja
name Name text wissen ja
synonyme Synonyme / Handelsnamen liste wissen
klasse_id Wirkstoffklasse ref → wirkstoffklasse wissen ja
unterklasse Unterklasse text wissen
beschreibung Kurzbeschreibung markdown wissen
wirktyp Wirktyp enum wissen ja
killing Wirkkinetik enum wissen
mechanismus Wirkmechanismus markdown wissen
applikation Applikation text wissen
bioverfuegbarkeit Orale Bioverfügbarkeit text wissen
hwz Halbwertszeit text wissen
gewebegaengigkeit Gewebegängigkeit liste wissen
dosis_referenz Referenzdosis markdown wissen
gfr Dosisanpassung bei Niereninsuffizienz dosing dosing ja
leber Dosisanpassung bei Leberinsuffizienz markdown wissen
tdm Therapeutisches Drug Monitoring markdown wissen
qtc QTc-Verlängerung markdown wissen
cyp CYP-Interaktionspotenzial markdown wissen
interaktionen Wichtige Interaktionen liste wissen
nebenwirkungen Relevante Nebenwirkungen liste wissen
kontraindikationen Kontraindikationen liste wissen
allergie Allergie & Kreuzreaktivität markdown wissen
schwangerschaft Schwangerschaft & Stillzeit markdown wissen
wirksam_gegen Wirksam gegen reflist → erreger wissen
luecken Wirkungslücken liste wissen
nicht_wirksam_gegen Nicht wirksam gegen reflist → erreger wissen
variabel_gegen Wechselhaft — Antibiogramm abwarten reflist → erreger wissen
resistenz Resistenzmechanismen markdown wissen
pseudomonaswirksam Pseudomonaswirksam bool wissen
mrsawirksam MRSA-wirksam bool wissen
krankheitsbilder Krankheitsbilder reflist → krankheitsbild abgeleitet
reserve Reserveantibiotikum bool wissen
hinweis_haus Hinweis zum Hausgebrauch markdown leitfaden
ebene Wissensebene enum abgeleitet
Wirkstoffklassen 11 Felder
FeldBeschriftungTypHerkunftPflicht
id Kennung text wissen ja
name Name text wissen ja
kuerzel Kürzel text wissen
beschreibung Beschreibung markdown wissen
wirktyp Wirktyp enum wissen
mechanismus Wirkmechanismus markdown wissen
nierenanpassung_profil Nierenanpassung (Klassenprofil) markdown wissen
luecken Gemeinsame Wirkungslücken liste wissen
unterklassen Unterklassen liste wissen
substanzen Substanzen reflist → wirkstoff wissen ja
ebene Wissensebene enum abgeleitet

5. Beziehungen

116 Objekte tragen Rückverweise. Erzeugte Beziehungsarten:

6. Prüfungen

BefehlPrüft
npm run validatePflichtfelder, Enum-Werte, alle Referenzkanten, Quellenpflicht, dosing.de-Zuordnung
npm run buildErzeugt Datenbasis, Backlinks, Matrix und Service Worker; meldet Widersprüche im Spektrum
npm run coverageAbdeckung gegen die Pocket Cards, Krankheitsbild für Krankheitsbild mit Seitenzahl
npm run check:viewsRendert alle Ansichten kopflos; jedes Schemafeld muss sichtbar werden, jeder Verweis ein Ziel haben
npm run check:tokensFarben nur in design/, Token-Parität Light/Dark
npm run check:dosingJeder dosing.de-Link erreichbar und richtige Substanz (Netzzugriff)
npm testvalidate + build + coverage + views + tokens

7. Inhalt ändern

  1. Datei unter content/ bearbeiten — oder den Visual Editor im Adminbereich nutzen
  2. npm test muss grün sein
  3. node tools/deploy.mjs neu für den Arbeitsstand, … live --ja für die freigegebene Fassung

Der Visual Editor führt Schritt 1 und 2 selbst aus: er prüft das Objekt vor dem Schreiben, den Gesamtbestand danach, rollt bei Fehlern zurück und hält jede Änderung als Git-Commit fest.

8. Betrieb

PunktWert
ServerHetzner, Nginx im Docker-Container
Pfad/root/abs-leitfaden/
Freigegebene Fassung/
Arbeitsstand/neu/
Rückweg/alt/
OfflineService Worker, Cache-Name enthält den Inhalts-Hash — ein neuer Stand räumt den alten zwingend ab
Rollbackgit checkout v6.2-live-baseline, dann deployen

9. Was noch offen ist

  • Zugangsschutz für /admin/ serverseitig (Basic Auth in nginx)
  • src/core/database.js ist eingefroren und wird nicht mehr geladen; sie kann entfernt werden, sobald niemand mehr auf sie verweist