Add README.md with technical specifications.
This commit is contained in:
		
							
								
								
									
										4
									
								
								Doxyfile
									
									
									
									
									
								
							
							
						
						
									
										4
									
								
								Doxyfile
									
									
									
									
									
								
							@@ -758,7 +758,7 @@ WARN_LOGFILE           =
 | 
				
			|||||||
# spaces.
 | 
					# spaces.
 | 
				
			||||||
# Note: If this tag is empty the current directory is searched.
 | 
					# Note: If this tag is empty the current directory is searched.
 | 
				
			||||||
 | 
					
 | 
				
			||||||
INPUT                  = zaaReloaded2 Tests HISTORY.md
 | 
					INPUT                  = zaaReloaded2 Tests HISTORY.md README.md
 | 
				
			||||||
 | 
					
 | 
				
			||||||
# This tag can be used to specify the character encoding of the source files
 | 
					# This tag can be used to specify the character encoding of the source files
 | 
				
			||||||
# that doxygen parses. Internally doxygen uses the UTF-8 encoding. Doxygen uses
 | 
					# that doxygen parses. Internally doxygen uses the UTF-8 encoding. Doxygen uses
 | 
				
			||||||
@@ -793,7 +793,7 @@ RECURSIVE              = YES
 | 
				
			|||||||
# Note that relative paths are relative to the directory from which doxygen is
 | 
					# Note that relative paths are relative to the directory from which doxygen is
 | 
				
			||||||
# run.
 | 
					# run.
 | 
				
			||||||
 | 
					
 | 
				
			||||||
EXCLUDE                = README.md Bovender/obj/ BovenderUnitTest/obj/
 | 
					EXCLUDE                = 
 | 
				
			||||||
 | 
					
 | 
				
			||||||
# The EXCLUDE_SYMLINKS tag can be used to select whether or not files or
 | 
					# The EXCLUDE_SYMLINKS tag can be used to select whether or not files or
 | 
				
			||||||
# directories that are symbolic links (a Unix file system feature) are excluded
 | 
					# directories that are symbolic links (a Unix file system feature) are excluded
 | 
				
			||||||
 
 | 
				
			|||||||
							
								
								
									
										147
									
								
								README.md
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										147
									
								
								README.md
									
									
									
									
									
										Normal file
									
								
							@@ -0,0 +1,147 @@
 | 
				
			|||||||
 | 
					@mainpage
 | 
				
			||||||
 | 
					Technische Informationen
 | 
				
			||||||
 | 
					========================
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					Das Addin analysiert die Ausgabe von Lauris in der Zentralen
 | 
				
			||||||
 | 
					Arztbriefablage, die typischerweise so aussieht:
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					    [20.06.2015 16:46:00]
 | 
				
			||||||
 | 
					    Klinische Chemie: Natrium: 139 [135 - 145] mmol/l;  Kalium: 5.2 [3.5 - 5] mmol/l;  Calcium:
 | 
				
			||||||
 | 
					        2.4 [2.0 - 2.7] mmol/l;  anorg. Phosphat: 0.58 [0.87 - 1.45] mmol/l;
 | 
				
			||||||
 | 
					         Calcium-Phosphat-Produkt: 1.39 [<= 4.4] mmol²/l²;  Glucose: 112 [74 - 106] mg/dl;
 | 
				
			||||||
 | 
					         glomerul. Filtrationsr. CKD-EP: 42 ml/min /1,73qm;  glomerul. Filtrationsr. (MDRD): 42
 | 
				
			||||||
 | 
					        ml/min /1,73qm;  Creatinin: 1.84 [0 - 1.17] mg/dl;  Harnstoff: 54.3 [10 - 50] mg/dl;
 | 
				
			||||||
 | 
					         Harnsäure: 4.6 [3.4 - 7] mg/dl;  Gesamt-Bilirubin: 0.7 [0.1 - 1.2] mg/dl;  GOT (ASAT):
 | 
				
			||||||
 | 
					        303.0 [<= 50] U/l;  GPT (ALAT): 508.0 [<= 50] U/l;  GGT: 489.0 [<= 60] U/l;  Alk.
 | 
				
			||||||
 | 
					        Phosphatase: 56 [40 - 130] U/l;  Lactat Dehydrogenase: 320 [<= 250] U/l;  CK gesamt: 52 [<=
 | 
				
			||||||
 | 
					        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; 
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					Und so weiter, es gibt noch mehr Variationen.
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					## Parsen der Lauris-Ausgabe
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					Die Lauris-Ausgabe wird in folgende Einheiten aufgetrennt:
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					  - __Datumsblöcke:__ Die Klasse `zaaReloaded2.Models.TimePoint` enthält
 | 
				
			||||||
 | 
					    alles, was unterhalb der Datumszeile `[20.06.2015 16:46:00]` steht.
 | 
				
			||||||
 | 
					  - __Kategorieblöcke:__ Die Klasse
 | 
				
			||||||
 | 
					    `zaaReloaded2.Models.LaurisParagraph` analysiert einen ganzen
 | 
				
			||||||
 | 
					    Laborblock wie z.B. `Klinische Chemie` oder `Gerinnung` und trennt
 | 
				
			||||||
 | 
					    ihn anhand der Semikolons, um daraus eine Sammlung von `LabItems` zu
 | 
				
			||||||
 | 
					    bilden.
 | 
				
			||||||
 | 
					  - __Parameter:__ Die Klasse `zaaReloaded2.Models.LabItem` analysiert
 | 
				
			||||||
 | 
					    einen einzelnen Parameter-String der Form `Natrium: 138 [135 - 145]
 | 
				
			||||||
 | 
					    mmol/l` usw.  und stellt die einzelnen Bestandteile in
 | 
				
			||||||
 | 
					    strukturierter Form zur Verfügung.
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					## Wörterbücher
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					Die Bezeichnungen für einzelne Parameter und Einheiten sind bei Lauris
 | 
				
			||||||
 | 
					teilweise etwas unglücklich. Beispielsweise wird `glomerul.
 | 
				
			||||||
 | 
					Filtrationsr. CKD-EP` wohl kaum im klinischen Alltag verwendet, und auch
 | 
				
			||||||
 | 
					`Lactat Dehydrogenase` ist etwas ungewöhnlich, weil alle immer `LDH`
 | 
				
			||||||
 | 
					sagen und schreiben. Die Einheit `ml/min /1,73qm` enthält ein
 | 
				
			||||||
 | 
					Leerzeichen zuviel und das veraltete "qm" und sollte besser `ml/min/1,73
 | 
				
			||||||
 | 
					m²` geschrieben werden.
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					Aus diesem Grunde werden anpassbare Wörterbücher verwendet, die
 | 
				
			||||||
 | 
					Parameternamen in "kanonische" (CanonicalName) und Lauris-Einheiten in
 | 
				
			||||||
 | 
					wirklichkeitsnähere, typographisch korrekte Einheiten übersetzen:
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					  - `zaaReloaded2.Dictionaries.ParameterDictionary`
 | 
				
			||||||
 | 
					  - `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.
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					### Textdateien zur Konfiguration
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					Um Anpassungen zu erleichtern und nicht jedes Mal eine neue Version der
 | 
				
			||||||
 | 
					Binärdateien zu erfordern, werden für die Wörterbücher einfache
 | 
				
			||||||
 | 
					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.)
 | 
				
			||||||
 | 
					  - Alles nach einer Raute `#` wird ignoriert
 | 
				
			||||||
 | 
					  - Leere Zeilen werden ignoriert
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					### ParameterDictionary
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					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 
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					Wenn `IMMER REFERENZBEREICH` leer ist, wird "nein" angenommen. Alles
 | 
				
			||||||
 | 
					andere wie z.B. `X` bedeute "ja".
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					Die drei Trennstriche `---` in der Zeile "Cystacin C" bedeuten, daß
 | 
				
			||||||
 | 
					zaaReloaded2 den Lauris-Namen als kanonischen Namen verwenden soll.
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					### UnitDictionary
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					Das `UnitDictionary` wird aus einer Textdatei folgenden Formats
 | 
				
			||||||
 | 
					generiert:
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					    # LAURIS-EINHEIT   "KANONISCHE EINHEIT"
 | 
				
			||||||
 | 
					    ml/min /1,73qm     ml/min/1,73 m²
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					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,
 | 
				
			||||||
 | 
					wird die Ausgabe unübersichtlich -- siehe Lauris. Viele Laborparameter
 | 
				
			||||||
 | 
					haben Standard-Referenzbereiche, die sich zwischen den Laboren nicht
 | 
				
			||||||
 | 
					oder nur geringfügig unterscheiden (bspw. Hämoglobin).
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					zaaReloaded2 kann so konfiguriert werden, daß Referenzbereiche entweder
 | 
				
			||||||
 | 
					nie, nur bei gesondert markierten Parametern, bei gesondert markierten
 | 
				
			||||||
 | 
					oder nicht-normalen Parametern oder immer mit ausgegeben werden:
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					  - nie
 | 
				
			||||||
 | 
					  - besondere Parameter (z.B. Cystatin C, wo viele den Referenzbereich
 | 
				
			||||||
 | 
					    nicht kennen dürften)
 | 
				
			||||||
 | 
					  - besondere Parameter + nicht-normale Parameter
 | 
				
			||||||
 | 
					  - immer
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					Die Markierung besonderer Parameter erfolgt in der Textdatei, aus der
 | 
				
			||||||
 | 
					das `zaaReloaded2.Dictionaries.ParameterDictionary` generiert wird
 | 
				
			||||||
 | 
					(s.o.).
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					<!-- vim: set tw=72 sw=2 ts=2 sts=-1 : -->
 | 
				
			||||||
		Reference in New Issue
	
	Block a user