-- ===================================================================== -- aether-medical — Konfiguration -- -- Alles, was ein Serverbetreiber anpassen will, ohne Code zu ändern. -- Kein Wert hier löst je eine medizinische Maßnahme aus — es sind -- Kategorien, Orte und Erinnerungsfristen. -- ===================================================================== Medizin = Medizin or {} Medizin.Config = {} -- Klinik Medizin.Config.Klinik = 'Los Santos Medical Center' Medizin.Config.Kuerzel = 'LSMC' -- Reichweite, in der ein Terminal bedient werden kann (Meter) Medizin.Config.TerminalWeite = 2.5 -- Terminals: Krankenhaus-PCs an festen Orten Medizin.Config.Terminals = { { name = 'Notaufnahme', pos = vector3(309.05, -595.20, 43.28) }, { name = 'Empfang', pos = vector3(298.60, -584.60, 43.26) }, { name = 'Intensiv', pos = vector3(331.20, -595.30, 43.28) }, { name = 'Sandy Shores', pos = vector3(1839.60, 3672.90, 34.28) }, { name = 'Paleto Bay', pos = vector3(-247.60, 6331.30, 32.43) }, } -- Stationen der Klinik. Die Kennung wird im Personaldatensatz gespeichert. Medizin.Config.Stationen = { { id = 'notaufnahme', name = 'Notaufnahme', art = 'notaufnahme' }, { id = 'rettung', name = 'Rettungsdienst', art = 'notaufnahme' }, { id = 'chirurgie', name = 'Chirurgie', art = 'normal' }, { id = 'innere', name = 'Innere Medizin', art = 'normal' }, { id = 'intensiv', name = 'Intensivstation', art = 'intensiv' }, { id = 'op', name = 'OP-Bereich', art = 'op' }, { id = 'labor', name = 'Labor', art = 'behandlung' }, { id = 'leitstelle', name = 'Leitstelle', art = 'normal' }, } -- Arten einer Station. Reine Einordnung — keine Art schränkt ein, -- welcher Patient dort liegen darf. Das entscheidet die Station selbst. Medizin.Config.Stationsarten = { { id = 'notaufnahme', name = 'Notaufnahme' }, { id = 'normal', name = 'Normalstation' }, { id = 'intensiv', name = 'Intensivstation' }, { id = 'op', name = 'OP-Bereich' }, { id = 'behandlung', name = 'Behandlungsbereich' }, } -- Arten eines Zimmers Medizin.Config.Zimmerarten = { { id = 'bett', name = 'Bettenzimmer' }, { id = 'behandlung', name = 'Behandlungsraum' }, { id = 'intensiv', name = 'Intensivplatz' }, { id = 'isolierung', name = 'Isolierzimmer' }, { id = 'op', name = 'Operationssaal' }, } -- Zimmerstatus. Jeder wird von Hand gesetzt — kein Zimmer wechselt -- ihn von selbst, auch nicht, wenn der letzte Patient gegangen ist. Medizin.Config.Zimmerstatus = { { id = 'frei', name = 'Frei', farbe = '#34d399' }, { id = 'reinigung', name = 'Reinigung', farbe = '#f59e0b' }, { id = 'gesperrt', name = 'Gesperrt', farbe = '#ef4444' }, } -- Dienstfunktion: was macht jemand gerade konkret? Medizin.Config.Dienstfunktionen = { { id = 'station', name = 'Stationsdienst', recht = nil }, { id = 'rtw', name = 'Rettungswagen', recht = nil }, { id = 'notarzt', name = 'Notarzt', recht = 'dienst.notarzt' }, { id = 'op', name = 'OP-Dienst', recht = 'dienst.op' }, { id = 'leitstelle', name = 'Leitstelle', recht = 'dienst.leitstelle' }, } -- Dienststatus, den ein Mediziner selbst wählt Medizin.Config.Dienststatus = { { id = 'verfuegbar', name = 'Verfügbar', farbe = '#34d399' }, { id = 'im_einsatz', name = 'Im Einsatz', farbe = '#f59e0b' }, { id = 'am_patient', name = 'Am Patienten', farbe = '#38bdf8' }, { id = 'im_op', name = 'Im OP', farbe = '#a78bfa' }, { id = 'pause', name = 'Pause', farbe = '#8a93a5' }, { id = 'nicht_frei', name = 'Nicht verfügbar', farbe = '#ef4444' }, } -- Einsatzkategorien der Leitstelle Medizin.Config.Einsatzkategorien = { { id = 'notruf', name = 'Notruf 112', farbe = '#ef4444' }, { id = 'bewusstlos', name = 'Bewusstlose Person', farbe = '#e0503f' }, { id = 'verkehr', name = 'Verkehrsunfall', farbe = '#f59e0b' }, { id = 'schuss', name = 'Schussverletzung', farbe = '#ff2e57' }, { id = 'explosion', name = 'Explosion', farbe = '#f97316' }, { id = 'grossschaden', name = 'Großschadenslage', farbe = '#dc2626' }, { id = 'verlegung', name = 'Verlegung', farbe = '#38bdf8' }, { id = 'polizei', name = 'Polizeianforderung', farbe = '#4aa8ff' }, { id = 'unterstuetzung', name = 'Unterstützung', farbe = '#a78bfa' }, { id = 'sonstiges', name = 'Sonstiges', farbe = '#8a93a5' }, } -- Aktenarten Medizin.Config.Aktenarten = { { id = 'behandlung', name = 'Behandlungsakte' }, { id = 'notfall', name = 'Notfallakte' }, { id = 'op', name = 'OP-Akte' }, { id = 'befund', name = 'Befundakte' }, { id = 'pflege', name = 'Pflegebericht' }, { id = 'gutachten', name = 'Gutachten' }, } -- Stationen eines Berichts auf seinem Weg. Jeder Schritt wird von -- Hand gegangen — kein Bericht reift von selbst zur Freigabe. Medizin.Config.Berichtstatus = { { id = 'entwurf', name = 'Entwurf', farbe = '#8697a4' }, { id = 'eingereicht', name = 'Eingereicht', farbe = '#f59e0b' }, { id = 'freigegeben', name = 'Freigegeben', farbe = '#34d399' }, } -- Laborauftragsarten Medizin.Config.Laborarten = { { id = 'blut', name = 'Blutprobe' }, { id = 'dna', name = 'DNA-Probe' }, { id = 'urin', name = 'Urinprobe' }, { id = 'gewebe', name = 'Gewebeprobe' }, { id = 'toxikologie', name = 'Toxikologie' }, } -- Blutgruppen für die Blutbank Medizin.Config.Blutgruppen = { '0-', '0+', 'A-', 'A+', 'B-', 'B+', 'AB-', 'AB+', } -- Status einer Blutkonserve. Jeder wird von Hand gesetzt — auch eine -- abgelaufene Konserve bleibt vorrätig, bis jemand sie verwirft. Medizin.Config.Blutstatus = { { id = 'vorraetig', name = 'Vorrätig', farbe = '#34d399' }, { id = 'reserviert', name = 'Reserviert', farbe = '#f59e0b' }, { id = 'ausgegeben', name = 'Ausgegeben', farbe = '#38bdf8' }, { id = 'verworfen', name = 'Verworfen', farbe = '#8a93a5' }, } -- Lagerorte der Blutbank Medizin.Config.Blutlagerorte = { 'Blutbank Kühlschrank A', 'Blutbank Kühlschrank B', 'Notaufnahme', 'OP-Bereich', 'Intensivstation', 'Rettungswagen', } -- Nachschlagetabelle: welche Konserve passt zu welchem Empfänger. -- -- Das ist eine AUSKUNFT und nichts weiter. Das System sperrt keine -- Konserve, wählt keine aus und verhindert keine Ausgabe — es weist -- nur darauf hin, wenn eine Kombination von der Tabelle abweicht. -- Ob transfundiert wird, entscheidet immer ein Arzt. Medizin.Config.Blutvertraeglichkeit = { ['0-'] = { '0-' }, ['0+'] = { '0-', '0+' }, ['A-'] = { '0-', 'A-' }, ['A+'] = { '0-', '0+', 'A-', 'A+' }, ['B-'] = { '0-', 'B-' }, ['B+'] = { '0-', '0+', 'B-', 'B+' }, ['AB-'] = { '0-', 'A-', 'B-', 'AB-' }, ['AB+'] = { '0-', '0+', 'A-', 'A+', 'B-', 'B+', 'AB-', 'AB+' }, } -- Kategorien im Medikamentenschrank Medizin.Config.Medikamentkategorien = { { id = 'analgetika', name = 'Schmerzmittel' }, { id = 'antibiotika', name = 'Antibiotika' }, { id = 'kreislauf', name = 'Kreislauf & Herz' }, { id = 'narkose', name = 'Narkose & Sedierung' }, { id = 'infusion', name = 'Infusionen' }, { id = 'verband', name = 'Verbandmaterial' }, { id = 'sonstiges', name = 'Sonstiges' }, } -- Zustand eines Intensivpatienten. Wird ausschliesslich von Hand -- gesetzt — weder eine Messung noch ein Zeitablauf ändert ihn je. -- Die Reihenfolge bestimmt nur, was in der Liste oben steht. Medizin.Config.Intensivzustaende = { { id = 'kritisch', name = 'Kritisch', farbe = '#ef4444' }, { id = 'stabil', name = 'Stabil', farbe = '#38bdf8' }, { id = 'besserung', name = 'Besserung', farbe = '#34d399' }, } -- Vorschläge für angeschlossene Geräte. Reine Textbausteine — das -- System steuert kein Gerät, liest von keinem einen Wert und meldet -- keinen Alarm. Es hält nur fest, was jemand angeschlossen hat. Medizin.Config.Intensivgeraete = { 'Beatmung', 'Monitoring', 'Perfusor', 'Dialyse', 'ZVK', 'Arterie', 'Magensonde', 'Blasenkatheter', 'Schrittmacher', 'ECMO', } -- Kategorien für Aushänge am Schwarzen Brett. Keine Kategorie löst -- etwas aus — auch eine Dienstanweisung bleibt Text an einer Wand. Medizin.Config.Aushangkategorien = { { id = 'anweisung', name = 'Dienstanweisung', farbe = '#ef4444' }, { id = 'warnung', name = 'Warnung', farbe = '#f59e0b' }, { id = 'hygiene', name = 'Hygiene', farbe = '#38bdf8' }, { id = 'information', name = 'Information', farbe = '#8697a4' }, } -- Arten von Rettungsfahrzeugen Medizin.Config.Fahrzeugarten = { { id = 'rtw', name = 'Rettungswagen' }, { id = 'nef', name = 'Notarzteinsatzfahrzeug' }, { id = 'ktw', name = 'Krankentransportwagen' }, { id = 'hubschrauber', name = 'Rettungshubschrauber' }, { id = 'sonstiges', name = 'Sonstiges' }, } -- Einsatzstatus eines Fahrzeugs. Wird von Hand gesetzt — keine -- Telemetrie und kein Einsatz ändert ihn je von selbst. Medizin.Config.Fahrzeugstatus = { { id = 'verfuegbar', name = 'Verfügbar', farbe = '#34d399' }, { id = 'im_einsatz', name = 'Im Einsatz', farbe = '#f59e0b' }, { id = 'werkstatt', name = 'In der Werkstatt', farbe = '#38bdf8' }, { id = 'ausser_dienst', name = 'Außer Dienst', farbe = '#8a93a5' }, } -- Wartungsstatus. Auch dieser wird ausschliesslich eingetragen. Medizin.Config.Wartungsstatus = { { id = 'ok', name = 'In Ordnung' }, { id = 'faellig', name = 'Wartung fällig' }, { id = 'werkstatt', name = 'In der Werkstatt' }, } -- Vorschläge für die Ausstattung. Reine Textbausteine — das System -- prüft nicht nach, ob etwas an Bord ist. Medizin.Config.Fahrzeugausstattung = { 'Defibrillator', 'Beatmungsgerät', 'Notfallrucksack', 'Trage', 'Vakuummatratze', 'Spineboard', 'Sauerstoff', 'Absaugpumpe', 'Perfusor', 'Notfallmedikamente', } -- Funktionen im OP-Team Medizin.Config.OpFunktionen = { { id = 'operateur', name = 'Operateur' }, { id = 'assistenz', name = 'Assistenz' }, { id = 'anaesthesie', name = 'Anästhesie' }, { id = 'pflege', name = 'OP-Pflege' }, } -- --------------------------------------------------------------------- -- Erinnerungen (NUR Hinweise — keine davon führt etwas aus) -- --------------------------------------------------------------------- Medizin.Config.Erinnerungen = { -- Wie oft die Fristen geprüft werden (Millisekunden) pruefIntervall = 60000, -- Nach wie vielen Minuten ein wartender Patient gemeldet wird warteZeitStufen = { 10, 30, 60 }, -- Wie viele Minuten vor einer geplanten OP erinnert wird opVorlauf = { 30, 10 }, -- Nach wie vielen Minuten eine offene Behandlungsdoku gemeldet wird dokuOffenNach = 45, -- Nach wie vielen Minuten ohne Verlaufseintrag ein Intensivpatient -- in Erinnerung gerufen wird intensivStilleNach = 30, -- Wie viele Tage vor Ablauf einer Blutkonserve erinnert wird blutVorlaufTage = 3, -- Ab wie wenigen vorrätigen Konserven je Blutgruppe erinnert wird blutMindestbestand = 2, -- Ab welchem gemeldeten Tankstand (Prozent) an ein Fahrzeug erinnert wird fahrzeugTankUnter = 20, -- Ab welchem gemeldeten Zustand (Prozent) an ein Fahrzeug erinnert wird fahrzeugZustandUnter = 60, -- Ab wann eine Fahrzeugmeldung als veraltet gilt (Minuten) fahrzeugMeldungAltNach = 15, -- Wie viele Tage vor Ablauf eines Medikaments erinnert wird medikamentVorlaufTage = 14, -- Wie viele Minuten vor Ablauf einer Kenntnisnahmefrist erinnert wird aushangVorwarnung = 60, }