Add dictionaries, materials.

This commit is contained in:
Daniel Kraus
2015-06-28 09:44:33 +02:00
parent 24c58a5867
commit 39f63835be
12 changed files with 501 additions and 58 deletions
+29 -29
View File
@@ -16,8 +16,8 @@ Arztbriefablage, die typischerweise so aussieht:
190] U/l;  Amylase: 62 [<= 110] U/l;  Cholesterin: 120 [130 - 220] mg/dl;  Triglyceride: 94
[74 - 172] mg/dl;  LDL - Cholesterin: 56 [0 - 150] mg/dl;  HDL - Cholesterin: 45 [>= 35]
mg/dl;  Eisen: 215 [59 - 158] µg/dl;  Gesamt-Eiweiss: 5.7 [6.6 - 8.7] g/dl;  Albumin: 4.0
[3.5 - 5.5] g/dl;
Gerinnung: Niedermol. Heparin (Anti-Xa): 0.99 U/ml;
[3.5 - 5.5] g/dl;
Gerinnung: Niedermol. Heparin (Anti-Xa): 0.99 U/ml;
Und so weiter, es gibt noch mehr Variationen.
@@ -39,7 +39,7 @@ Die Lauris-Ausgabe wird in folgende Einheiten aufgetrennt:
strukturierter Form zur Verfügung.
## Wörterbücher
## Kanonische Namen, Materialarten, Wörterbücher
Die Bezeichnungen für einzelne Parameter und Einheiten sind bei Lauris
teilweise etwas unglücklich. Beispielsweise wird `glomerul.
@@ -57,8 +57,21 @@ wirklichkeitsnähere, typographisch korrekte Einheiten übersetzen:
- `zaaReloaded2.Dictionaries.UnitDictionary`
Beide Wörterbuch-Typen laden zunächst eingebaute Default-Werte aus der
Assembly und suchen dann nach Anpassungen auf Systemebene und auf
Benutzerebene.
Assembly und suchen dann nach Anpassungen auf Benutzerebene.
### Material
Im `ParameterDictionary` wird für jeden Parameter neben dem Kanonischen
Namen auch hinterlegt, aus welchem Material er bestimmt wird. Beim
Parsen der Lauris-Ausgabe wird festgelegt, um welches Material es sich
handelt. Auf diese Weise wird ermöglicht, bei der späteren Ausgabe mit
einfacher Notation z.B. zwischen Serum-Natrium (`S-Na`) und
Urin-Natrium (`U-Na`) bzw. Sammelurin-Natrium (`SU-Na`) zu
unterscheiden.
Die Materialien sind in der Enumeration `zaaReloaded2.Models.Materials`
definiert.
### Textdateien zur Konfiguration
@@ -70,8 +83,7 @@ Textdateien verwendet.
- Datensätze in Zeilen
- Felder in durch Leerzeichen getrennten Zeilen
- Leerzeichen in Werten erfordern Anführungstriche (Bsp. s.u.)
- Drei Trennstriche `---` bedeuten, daß ein von Lauris verwendeter
Wert auch für zaaReloaded2 gültig ist (Bsp. s.u.)
- Drei Trennstriche `---` markieren ein leeres Feld.
- Alles nach einer Raute `#` wird ignoriert
- Leere Zeilen werden ignoriert
@@ -81,13 +93,18 @@ Textdateien verwendet.
Das `ParameterDictionary` wird aus einer Textdatei folgenden Formats
generiert:
# LAURIS-NAME "KANONISCHER NAME" KATEGORIE "IMMER REFERENZBEREICH"
"Lactat Dehydrogenase" LDH Klinische Chemie
"Cystatin C" --- Nierenfunktion X
"glomerul. Filtrationsr. CKD-EP" "eGFR (CKD-EPI)" Nierenfunktion
# LAURIS-NAME "KANONISCHER NAME" MATERIAL "IMMER REFERENZBEREICH"
"Lactat Dehydrogenase" LDH S
"Cystatin C" --- S X
"glomerul. Filtrationsr. CKD-EP" "eGFR (CKD-EPI)" S
Das Feld `MATERIAL` muß ein Material-Kürzel enthalten (zu Materialien
siehe oben). Die Material-Kürzel sind fest einprogrammiert (s.o.). Wenn
kein Material angegeben ist (in der Spalte also gar nichts steht oder
`---`), wird _Serum_ angenommen, weil das das häufigste ist.
Wenn `IMMER REFERENZBEREICH` leer ist, wird "nein" angenommen. Alles
andere wie z.B. `X` bedeute "ja".
andere wie z.B. `X` bedeutet "ja".
Die drei Trennstriche `---` in der Zeile "Cystacin C" bedeuten, daß
zaaReloaded2 den Lauris-Namen als kanonischen Namen verwenden soll.
@@ -105,23 +122,6 @@ Wenn eine Lauris-Einheit nicht in dieser Tabelle enthalten ist, wird sie
so, wie sie ist, für die Ausgabe von zaaReloaded2 verwendet.
## Kategorien
Um die Definition des Ausgabeformats von zaaReloaded2 zu erleichern,
wird jeder Laborparameter beim Parsen des Lauris-Texts einer bestimmten,
fest eingebauten Kategorie zugeordnet, ähnlich wie Lauris selbst es
schon macht, nur besser. Beispielsweise werden die Werte aus
"Urinproteine quantitativ" der Kategorie "Sammelurin" zugeordnet, weil
das praktikabler und intuitiver ist. Anderes Beispiel: Unter der
Lauris-Kategorie "Serumproteine und Tumormarker" sind u.a. der
Eisenstatus, Akutphaseproteine und Sonderbestimmungen wie das Cystatin C
versammelt. Diese werden von zaaReloaded2 in die Kategorien
"Eisenstatus", "Akutphase" und "Nierenfunktion" eingeordnet.
Die Liste der Kategorien wird aus dem
`zaaReloaded2.Dictionaries.ParameterDictionary` kompiliert.
## Referenzbereiche
Wenn bei jedem Laborparameter die Referenzbereiche angegeben werden,