118 lines
6.4 KiB
Markdown
118 lines
6.4 KiB
Markdown
# Prompt 06 – Erweiterbares Datenmodell
|
||
|
||
Bezug: alle Ergebnisse 01-05, Karten [[04_organisationsstruktur]], [[10_qr_barcode]], [[11_systemumfang_ressourcenmanagement]], [[08_mindermenge_gueltigkeit]].
|
||
|
||
Reine fachliche Modellierung (Entitäten/Beziehungen), noch kein DB-Schema (folgt Prompt 20).
|
||
|
||
## 1. Grundprinzip der Trennung
|
||
Vier klar getrennte Schichten, dürfen nicht vermischt werden:
|
||
1. **Materialstamm** – was für Material gibt es grundsätzlich (Prompt 07).
|
||
2. **Beladungsvorlage** – welches Material soll in welcher Menge in einem Objekttyp sein (Prompt 08).
|
||
3. **Konkretes Objekt** – ein tatsächlicher Rucksack/Fahrzeug/Ressource mit eigener ID.
|
||
4. **Ist-Bestand** – tatsächlicher Zustand eines konkreten Objekts zu einem Zeitpunkt.
|
||
|
||
## 2. Kernentitäten
|
||
|
||
### Bereich (Karte 11)
|
||
- Fachliche Domäne, z. B. „Rettungsdienst/KatS". Oberste Gliederungsebene, macht System bereichsoffen.
|
||
- Attribute: Name, Beschreibung.
|
||
|
||
### Kategorie
|
||
- Gliedert Objekttypen/Material innerhalb eines Bereichs (z. B. „Rucksäcke", „Fahrzeuge", „Zelte").
|
||
- Kann hierarchisch sein (Kategorie → Unterkategorie), Granularität final in Prompt 07/11 vertiefen.
|
||
- Attribute: Name, Bereich-Referenz, übergeordnete Kategorie (optional).
|
||
|
||
### Standort
|
||
- Physischer Ort/Wache.
|
||
- Attribute: Name, Adresse (optional).
|
||
|
||
### Objekttyp / Ressourcentyp
|
||
- Generischer Oberbegriff statt „Rucksack" fest zu verdrahten (Karte 11): Rucksack, Fahrzeug, Zelt, Feldbett, Stromerzeuger, Funkgerät, ...
|
||
- Attribute: Name, Bereich-Referenz, Kategorie-Referenz.
|
||
|
||
### Beladungsvorlage
|
||
- Vorlage für einen Objekttyp (z. B. „Rucksack Handball Standard").
|
||
- Enthält Liste von Vorlagenpositionen (Material + Sollmenge).
|
||
- Versionierbar (Prompt 08 vertieft).
|
||
- Attribute: Name, Objekttyp-Referenz, Version, gültig ab.
|
||
|
||
### Vorlagenposition
|
||
- Materialstamm-Referenz + Sollmenge innerhalb einer Vorlage.
|
||
- Attribute: Vorlage-Referenz, Material-Referenz, Sollmenge, Kategorie/Fach (z. B. „Fach 1").
|
||
|
||
### Objekt (konkreter Rucksack/Fahrzeug/Ressource)
|
||
- Konkrete, physische Instanz.
|
||
- Attribute: eindeutige Objekt-ID, Code-Feld für QR/Barcode (Karte 10, Code128-kompatibel), Name/Bezeichnung, Objekttyp-Referenz, Beladungsvorlage-Referenz (Basis), Standort-Referenz, Status (aktiv/außer Dienst).
|
||
- Zuständigkeits-Zuordnung: n:m-Beziehung zu Verantwortlichen (Karte 04), nicht starr an Standort gekoppelt.
|
||
|
||
### Objektposition (Ist-Soll je Objekt)
|
||
- Individuelle Ist-Situation je Material innerhalb eines konkreten Objekts.
|
||
- Sollmenge kann von Vorlage abweichen (individuelle Anpassung, Prompt 10) → eigenes Feld „Sollmenge-Override", sonst Vorlagenwert.
|
||
- Attribute: Objekt-Referenz, Material-Referenz, aktuelle Sollmenge (effektiv), aktuelle Istmenge, optional Sollmenge-Override-Flag.
|
||
|
||
### Materialstamm-Position (Detail in Prompt 07)
|
||
- Stammdaten eines Materials (Name, Artikelnummer, Einheit, Materialtyp: Standard/Ablaufdatum-Charge/Gerät-mit-SN).
|
||
- Bei Materialtyp „Gerät": eigenes Code-Feld für QR/Barcode-SN-Erkennung (Karte 10).
|
||
|
||
### Kontrolle
|
||
- Ein Kontrollvorgang zu einem Zeitpunkt an einem Objekt.
|
||
- Attribute: Objekt-Referenz, durchgeführt von (Benutzer), Start, Ende, Status (nicht gestartet/in Bearbeitung/abgeschlossen/abgebrochen).
|
||
- Enthält Kontrollpositionen (Snapshot je Material: Soll zum Zeitpunkt, Ist erfasst, Abweichung ja/nein).
|
||
|
||
### Kontrollposition
|
||
- Snapshot-Ergebnis je Material innerhalb einer Kontrolle (unveränderlich nach Abschluss, für Historie).
|
||
|
||
### Fehlbestand (Prompt 03)
|
||
- Eigenständiger Vorgang, entkoppelt vom Kontrollabschluss.
|
||
- Attribute: siehe Prompt 03 (Material, Objekt, Standort, Soll, Ist, Fehlmenge, entstanden am, festgestellt von, Ursache, Verantwortlicher, erledigt am).
|
||
- Statusmaschine wie in Prompt 03 definiert.
|
||
|
||
### Nachfüllung
|
||
- Ereignis, das Ist-Menge eines Objekts erhöht.
|
||
- Attribute: Objekt-Referenz, Material-Referenz, Menge, wer, wann, verknüpfter Fehlbestand (falls vorhanden).
|
||
|
||
### Mindermengen-Genehmigung (Prompt 04)
|
||
- Eigene Entität, verknüpft mit Fehlbestand + auslösender Kontrolle.
|
||
- Attribute: Fehlbestand-Referenz, genehmigt von, Begründung, Zeitstempel, gültig bis (nächste Kontrolle desselben Objekts), Status (aktiv/abgelaufen/durch Erledigung beendet).
|
||
- NIEMALS Schreibzugriff auf Ist-Menge.
|
||
|
||
### Benutzer
|
||
- Attribute: Name, Login-Kennung, Passwort-Hash/PIN (Karte 09), Rollen (n:m, Prompt 05), aktiv/inaktiv.
|
||
|
||
### Rolle
|
||
- Mitarbeiter/Kontrollorgan, Materialverantwortlicher, Leitungsverantwortlicher, Administration (Prompt 05). Erweiterbar für Roadmap-Rollen.
|
||
|
||
### Zuständigkeits-Zuordnung
|
||
- n:m zwischen Benutzer (mit Rolle Materialverantwortlicher/Leitungsverantwortlicher) und Standort/Objekt (Karte 04), von Administration gepflegt.
|
||
|
||
### Historieneintrag (Prompt 13 vertieft)
|
||
- Generisches Audit-Log: wer, was (Entität+ID), wann, alter Wert, neuer Wert, Begründung (optional), Aktionstyp.
|
||
|
||
## 3. Zentrale Beziehungen (vereinfacht)
|
||
|
||
```
|
||
Bereich 1───n Kategorie
|
||
Bereich 1───n Objekttyp
|
||
Objekttyp 1───n Beladungsvorlage 1───n Vorlagenposition n───1 Materialstamm-Position
|
||
Objekttyp 1───n Objekt
|
||
Beladungsvorlage 1───n Objekt (Basis-Referenz)
|
||
Objekt 1───n Objektposition n───1 Materialstamm-Position
|
||
Objekt n───m Benutzer (Zuständigkeits-Zuordnung)
|
||
Objekt 1───n Kontrolle 1───n Kontrollposition
|
||
Objektposition/Kontrolle 1───n Fehlbestand
|
||
Fehlbestand 1───n Nachfüllung
|
||
Fehlbestand 1───0..n Mindermengen-Genehmigung (i.d.R. max. 1 aktive)
|
||
Benutzer n───m Rolle
|
||
Alles ───1 Historieneintrag (generisch, polymorph auf Entität+ID)
|
||
```
|
||
|
||
## 4. Erweiterbarkeit ohne Schema-Umbau (Designziel)
|
||
- Materialtyp als eigenes Attribut in Materialstamm-Position (nicht als Tabellen-Fork) → Medikamente/Chargen/SN später als Zusatzfelder/Zusatztabellen andockbar (Prompt 07).
|
||
- Lagerbestand (Prompt 15) als eigene Entität analog „Objekt", nur mit Lagerort statt Kontrolle/Fehlbestand-Workflow – gleiche Materialstamm-Basis wiederverwendbar.
|
||
- Prüfungen (Geräte-TÜV o. ä., Prompt 24) als eigene Entität mit Referenz auf Materialstamm-Position/Objektposition, unabhängig vom Kern-Fehlbestandsmodell.
|
||
- Code-Feld bereits in Objekt UND Materialstamm-Position vorgesehen (Karte 10), keine Migration nötig, wenn Scan-Funktion kommt.
|
||
- „Entstanden am" in Fehlbestand bereits vorgesehen (Karte 12) für Eskalation.
|
||
|
||
## Referenzen
|
||
Arbeitskarten: [[04_organisationsstruktur]], [[10_qr_barcode]], [[11_systemumfang_ressourcenmanagement]], [[08_mindermenge_gueltigkeit]], [[09_authentifizierung]]
|