Jämför commits
	
		
			114 Incheckningar
		
	
	
		
			v2.1.12
			...
			511ed8eed3
		
	
	| Upphovsman | SHA1 | Datum | |
|---|---|---|---|
| 511ed8eed3 | |||
| 8c7065d995 | |||
| 9ff2d56674 | |||
| 3daf007b37 | |||
| bc041d4288 | |||
| de9d6b3095 | |||
| b7cda4c9a7 | |||
| 24dc95f7a8 | |||
| 1a49eb18e1 | |||
| 253a7f24f5 | |||
| 4c3198afce | |||
| 13832fa833 | |||
| 2b102bb157 | |||
| a2346aedf4 | |||
| a6b6966c77 | |||
| fea5d3780e | |||
| a1931da04e | |||
| 0d451d4624 | |||
| ec8e277b85 | |||
| 443a6b48e7 | |||
| 08bd137e94 | |||
| ba485ac560 | |||
| cf765c4c40 | |||
| 6a7508bca0 | |||
| b417107d33 | |||
| 118a822332 | |||
| 12bb372137 | |||
| c23fd4986d | |||
| cc0573c326 | |||
| dc6e1f9eaf | |||
| b9be245227 | |||
| 14b4de52c7 | |||
| f0f234ad9f | |||
| 9653403189 | |||
| da2057bd26 | |||
| 1361bcf739 | |||
| fb5af6a581 | |||
| c783fdb64d | |||
| 0896f007da | |||
| 9f7b0313a3 | |||
| 2cbfe5c3fa | |||
| 40fbcd279b | |||
| 3a1559c4a3 | |||
| acbd3833ed | |||
| 65b2da1071 | |||
| b7246ca0ed | |||
| 40d06b9811 | |||
| 23e2f3c2ca | |||
| 1eeaa32336 | |||
| 091a7e5c97 | |||
| cf317ef5f0 | |||
| 1cfe4c57c5 | |||
| 9f118757a6 | |||
| 5a9e7fe444 | |||
| f199b2f1bf | |||
| eae8cb718b | |||
| ae012d42fb | |||
| aea6d037c3 | |||
| 26c0d9e456 | |||
| e190e85b89 | |||
| ba07293385 | |||
| 46b4af54c5 | |||
| 63012281db | |||
| 812042d4bf | |||
| ad34141909 | |||
| 523e6ac438 | |||
| e20b967b44 | |||
| 19ffff86ff | |||
| 5b8cea34de | |||
| 999f2def41 | |||
| 1ba74bbc29 | |||
| 474a292991 | |||
| eaaed3b659 | |||
| 1be66fbd71 | |||
| 003da0f1b2 | |||
| 9a5cc4d9df | |||
| 15ada1cefd | |||
| 94efa435f2 | |||
| 89df2f5e13 | |||
| e3e86891b8 | |||
| d807472016 | |||
| 33c8f48282 | |||
| 9bbab2607d | |||
| 15df44a93b | |||
| 67219d0ae5 | |||
| 3f6383b076 | |||
| 687ce567e3 | |||
| 573cd743d1 | |||
| 0d4b60096a | |||
| 4c147a9764 | |||
| d1fa0b797d | |||
| 
						 | 
					7e79256ffd | ||
| 
						 | 
					1314cb0e4b | ||
| 
						 | 
					d28d51e875 | ||
| 
						 | 
					86c8a9a1b4 | ||
| 
						 | 
					c3fde7fc28 | ||
| 
						 | 
					e71e69d4c4 | ||
| 
						 | 
					865e5bff1e | ||
| 
						 | 
					2296fcfe41 | ||
| 
						 | 
					92153f6d6c | ||
| 
						 | 
					def5fce235 | ||
| 
						 | 
					6ec282ee68 | ||
| 
						 | 
					4479efc196 | ||
| 
						 | 
					84e298e9ad | ||
| 
						 | 
					61f494f10f | ||
| 
						 | 
					21e7d44187 | ||
| 
						 | 
					bcbed5bca3 | ||
| 
						 | 
					c35c73f56a | ||
| 
						 | 
					a255349672 | ||
| 
						 | 
					5198fa7358 | ||
| 
						 | 
					bed957a5cb | ||
| 
						 | 
					346112b069 | ||
| 
						 | 
					5d1ee1f96e | ||
| 
						 | 
					3043a07632 | 
							
								
								
									
										3
									
								
								.gitignore
									
									
									
									
										vendored
									
									
								
							
							
						
						@@ -16,6 +16,7 @@ publish/release/
 | 
			
		||||
x64/
 | 
			
		||||
win32/
 | 
			
		||||
[Rr]elease/
 | 
			
		||||
[Rr]eleases/
 | 
			
		||||
[Dd]debug/
 | 
			
		||||
Dist/
 | 
			
		||||
build/
 | 
			
		||||
@@ -26,3 +27,5 @@ doc/
 | 
			
		||||
private/
 | 
			
		||||
*.nupkg
 | 
			
		||||
doxygen_sqlite3.db
 | 
			
		||||
Backup/
 | 
			
		||||
.vs/
 | 
			
		||||
 
 | 
			
		||||
							
								
								
									
										3
									
								
								.gitmodules
									
									
									
									
										vendored
									
									
								
							
							
						
						@@ -1,3 +1,6 @@
 | 
			
		||||
[submodule "www/PHPMailer"]
 | 
			
		||||
	path = www/PHPMailer
 | 
			
		||||
	url = git@github.com:PHPMailer/PHPMailer.git
 | 
			
		||||
[submodule "deploy/VstoAddinInstaller"]
 | 
			
		||||
	path = deploy/VstoAddinInstaller
 | 
			
		||||
	url = git@github.com:bovender/VstoAddinInstaller.git
 | 
			
		||||
 
 | 
			
		||||
							
								
								
									
										24
									
								
								.nuget/packages.config
									
									
									
									
									
										Executable file
									
								
							
							
						
						@@ -0,0 +1,24 @@
 | 
			
		||||
<?xml version="1.0" encoding="utf-8"?>
 | 
			
		||||
<packages>
 | 
			
		||||
  <package id="runtime.debian.8-x64.runtime.native.System.Security.Cryptography" version="4.3.0" />
 | 
			
		||||
  <package id="runtime.debian.8-x64.runtime.native.System.Security.Cryptography.OpenSsl" version="4.3.0" />
 | 
			
		||||
  <package id="runtime.fedora.23-x64.runtime.native.System.Security.Cryptography" version="4.3.0" />
 | 
			
		||||
  <package id="runtime.fedora.23-x64.runtime.native.System.Security.Cryptography.OpenSsl" version="4.3.0" />
 | 
			
		||||
  <package id="runtime.fedora.24-x64.runtime.native.System.Security.Cryptography" version="4.3.0" />
 | 
			
		||||
  <package id="runtime.fedora.24-x64.runtime.native.System.Security.Cryptography.OpenSsl" version="4.3.0" />
 | 
			
		||||
  <package id="runtime.opensuse.13.2-x64.runtime.native.System.Security.Cryptography" version="4.3.0" />
 | 
			
		||||
  <package id="runtime.opensuse.13.2-x64.runtime.native.System.Security.Cryptography.OpenSsl" version="4.3.0" />
 | 
			
		||||
  <package id="runtime.opensuse.42.1-x64.runtime.native.System.Security.Cryptography" version="4.3.0" />
 | 
			
		||||
  <package id="runtime.opensuse.42.1-x64.runtime.native.System.Security.Cryptography.OpenSsl" version="4.3.0" />
 | 
			
		||||
  <package id="runtime.osx.10.10-x64.runtime.native.System.Security.Cryptography" version="4.3.0" />
 | 
			
		||||
  <package id="runtime.osx.10.10-x64.runtime.native.System.Security.Cryptography.Apple" version="4.3.0" />
 | 
			
		||||
  <package id="runtime.osx.10.10-x64.runtime.native.System.Security.Cryptography.OpenSsl" version="4.3.0" />
 | 
			
		||||
  <package id="runtime.rhel.7-x64.runtime.native.System.Security.Cryptography" version="4.3.0" />
 | 
			
		||||
  <package id="runtime.rhel.7-x64.runtime.native.System.Security.Cryptography.OpenSsl" version="4.3.0" />
 | 
			
		||||
  <package id="runtime.ubuntu.14.04-x64.runtime.native.System.Security.Cryptography" version="4.3.0" />
 | 
			
		||||
  <package id="runtime.ubuntu.14.04-x64.runtime.native.System.Security.Cryptography.OpenSsl" version="4.3.0" />
 | 
			
		||||
  <package id="runtime.ubuntu.16.04-x64.runtime.native.System.Security.Cryptography" version="4.3.0" />
 | 
			
		||||
  <package id="runtime.ubuntu.16.04-x64.runtime.native.System.Security.Cryptography.OpenSsl" version="4.3.0" />
 | 
			
		||||
  <package id="runtime.ubuntu.16.10-x64.runtime.native.System.Security.Cryptography" version="4.3.0" />
 | 
			
		||||
  <package id="runtime.ubuntu.16.10-x64.runtime.native.System.Security.Cryptography.OpenSsl" version="4.3.0" />
 | 
			
		||||
</packages>
 | 
			
		||||
							
								
								
									
										174
									
								
								HISTORY.md
									
									
									
									
									
								
							
							
						
						@@ -1,5 +1,131 @@
 | 
			
		||||
Version 2.4.2 (2017-09-29)
 | 
			
		||||
------------------------------------------------------------------------
 | 
			
		||||
 | 
			
		||||
- Geändert: Wenn das Laborsystem Zeitstempel ausgibt, die in derselben Zeile auch noch einen Laborwert enthalten, wird das jetzt korrekt erkannt.
 | 
			
		||||
- Repariert: Stile konnten nicht importiert werden.
 | 
			
		||||
- Verbessert: Benutzer-Interface der Stile-Verwaltung.
 | 
			
		||||
- Verbessert: Der Standard-Ambulanzstil gibt jetzt auch den MSU-Befund mit aus (sofern vorhanden).
 | 
			
		||||
- Verbessert: Für bestimmte Parameter kann die Beschriftung unterdrückt werden (derzeit implementiert im Urin-Hygienebefund, wo "Keim" und "Multiresistenz" nicht mit ausgegeben werden, sondern nur z.B. "E. coli, 3MRGN" bei entsprechender Vorlage "MSU-Keim, MSU-Multiresistenz").
 | 
			
		||||
 | 
			
		||||
* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * 
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
Version 2.4.1 (2017-09-21)
 | 
			
		||||
------------------------------------------------------------------------
 | 
			
		||||
 | 
			
		||||
- Neu: Parameter für Hygienebefunde hinzugefügt ("MSU-Keim" und "MSU-Multiresistenz").
 | 
			
		||||
- Verbessert: Ambulanzausgabe von Hygienebefunden wird jetzt korrekt erkannt.
 | 
			
		||||
 | 
			
		||||
* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * 
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
Version 2.4.0 (2017-09-18)
 | 
			
		||||
------------------------------------------------------------------------
 | 
			
		||||
 | 
			
		||||
- Neu: Laborwerte, die vom Ambulanzsystem ausgegeben wurden, können jetzt auch verarbeitet werden.
 | 
			
		||||
- Repariert: Fehlerberichte konnten nicht gesendet werden.
 | 
			
		||||
 | 
			
		||||
* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * 
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
Version 2.3.2 (2017-03-06)
 | 
			
		||||
------------------------------------------------------------------------
 | 
			
		||||
 | 
			
		||||
- Repariert: Willkommensdialog mit der Auswahl des Modus wurde technisch nicht gut angezeigt.
 | 
			
		||||
 | 
			
		||||
* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * 
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
Version 2.3.1 (2017-03-03)
 | 
			
		||||
------------------------------------------------------------------------
 | 
			
		||||
 | 
			
		||||
- Repariert: Der Begrüßungsdialog war manchmal hinter Word verborgen.
 | 
			
		||||
 | 
			
		||||
* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * 
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
Version 2.3.0 (2017-03-03)
 | 
			
		||||
------------------------------------------------------------------------
 | 
			
		||||
 | 
			
		||||
- Verbessert: Benutzeroption für die Ausgabe von "mmol/l" anstatt "mM" (einstellbar pro Stil).
 | 
			
		||||
- Verbessert: Das Installationsprogramm versucht jetzt nicht mehr, einen Zero Client zu erkennen, weil der Workaround für Zero Clients ohnehin nicht funktioniert hat.
 | 
			
		||||
- Verbessert: Technische Verbesserungen bei Dialogen.
 | 
			
		||||
- Verbesserung: Einstellungen werden in einem Format (YAML) gespeichert, das für Menschen besser lesbar und bearbeitbar ist als das bisher verwendete XML.
 | 
			
		||||
 | 
			
		||||
* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * 
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
Version 2.2.6 (2017-02-23)
 | 
			
		||||
------------------------------------------------------------------------
 | 
			
		||||
 | 
			
		||||
- Repariert: Stilauswahl wurde immer ganz im Vordergrund dargestellt und verdeckte damit mitunter andere Hinweise.
 | 
			
		||||
- Verbessert: Diverse technische Verbesserungen.
 | 
			
		||||
 | 
			
		||||
* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * 
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
Version 2.2.5 (2016-10-03)
 | 
			
		||||
------------------------------------------------------------------------
 | 
			
		||||
 | 
			
		||||
- Repariert: Word bleibt nicht mehr hängen, wenn man versucht, ein Dokument zu speichern.
 | 
			
		||||
- Verbessert: Multiple Verbesserungen im Programmcode.
 | 
			
		||||
 | 
			
		||||
* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * 
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
Version 2.2.4 (2016-04-05)
 | 
			
		||||
------------------------------------------------------------------------
 | 
			
		||||
 | 
			
		||||
- VERBESSERT: Kleine Optimierungen beim Installationsprogramm.
 | 
			
		||||
 | 
			
		||||
* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * 
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
Version 2.2.3 (2016-03-30)
 | 
			
		||||
------------------------------------------------------------------------
 | 
			
		||||
 | 
			
		||||
- REPARIERT: Installationsskript hat Add-in nicht aktiviert.
 | 
			
		||||
 | 
			
		||||
* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * 
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
Version 2.2.2 (2016-03-29)
 | 
			
		||||
------------------------------------------------------------------------
 | 
			
		||||
 | 
			
		||||
- VERBESSERT: Installationsprogramm erkennt jetzt, wenn Word bereits läuft, und bietet an, es zu schließen
 | 
			
		||||
 | 
			
		||||
* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * 
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
Version 2.2.1 (2015-12-03)
 | 
			
		||||
------------------------------------------------------------------------
 | 
			
		||||
 | 
			
		||||
- VERBESSERT: 'Alternative' Verordnungen wurden nicht erkannt, wenn in der selben Zeile nicht auch eine 'kanonische' Verordnung stand.
 | 
			
		||||
- VERBESSERT: Fehlermeldung "Ein Name darf nicht mit dem Zeichen ' ' beginnen" wurde abgestellt (Fehlernr. 6a36e38b).
 | 
			
		||||
 | 
			
		||||
* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * 
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
Version 2.2.0 (2015-12-03)
 | 
			
		||||
------------------------------------------------------------------------
 | 
			
		||||
 | 
			
		||||
- NEU: Funktion zum Formatieren der Medikationsliste.
 | 
			
		||||
- VERBESSERT: Kohlehydratdefizientes Transferrin hinzugefügt (als 'CDT') und Ambulanzstil angepaßt.
 | 
			
		||||
- VERBESSERT: Referenzbereiche zu Immunologie-Vorlage im Ambulanzstil hinzugefügt.
 | 
			
		||||
 | 
			
		||||
* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * 
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
Version 2.1.13 (2015-11-12)
 | 
			
		||||
------------------------------------------------------------------------
 | 
			
		||||
 | 
			
		||||
- VERBESSERT: Parameter für Aldosteron, Renin und Schwangerschaftstest einprogrammiert.
 | 
			
		||||
 | 
			
		||||
* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * 
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
Version 2.1.12 (2015-11-04)
 | 
			
		||||
========================================================================
 | 
			
		||||
------------------------------------------------------------------------
 | 
			
		||||
 | 
			
		||||
- VERBESSERT: Lp(a) zu den bekannten Parametern hinzugefügt.
 | 
			
		||||
 | 
			
		||||
@@ -7,7 +133,7 @@ Version 2.1.12 (2015-11-04)
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
Version 2.1.11 (2015-10-28)
 | 
			
		||||
========================================================================
 | 
			
		||||
------------------------------------------------------------------------
 | 
			
		||||
 | 
			
		||||
- VERBESSERT: Ambulanzstil überarbeitet, CK-MB wird jetzt mit ausgegeben.
 | 
			
		||||
- VERBESSERT: Benutzereinstellungen werden nicht mehr jedes Mal zurückgesetzt.
 | 
			
		||||
@@ -16,7 +142,7 @@ Version 2.1.11 (2015-10-28)
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
Version 2.1.10 (2015-10-24)
 | 
			
		||||
========================================================================
 | 
			
		||||
------------------------------------------------------------------------
 | 
			
		||||
 | 
			
		||||
- VERBESSERT: PSA wird jetzt richtig erkannt.
 | 
			
		||||
 | 
			
		||||
@@ -24,7 +150,7 @@ Version 2.1.10 (2015-10-24)
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
Version 2.1.9 (2015-10-18)
 | 
			
		||||
========================================================================
 | 
			
		||||
------------------------------------------------------------------------
 | 
			
		||||
 | 
			
		||||
- VERBESSERT: Integritätsprüfung für Updates wurde für besseren Algorithmus (SHA-256) vorbereitet.
 | 
			
		||||
 | 
			
		||||
@@ -32,7 +158,7 @@ Version 2.1.9 (2015-10-18)
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
Version 2.1.8 (2015-10-11)
 | 
			
		||||
========================================================================
 | 
			
		||||
------------------------------------------------------------------------
 | 
			
		||||
 | 
			
		||||
- VERBESSERT: Alpha-Fetoprotein (AFP) zu den bekannten Parametern hinzugefügt.
 | 
			
		||||
- VERBESSERT: Einstellungen werden nach Office-Update nicht vergessen.
 | 
			
		||||
@@ -41,7 +167,7 @@ Version 2.1.8 (2015-10-11)
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
Version 2.1.7 (2015-10-02)
 | 
			
		||||
========================================================================
 | 
			
		||||
------------------------------------------------------------------------
 | 
			
		||||
 | 
			
		||||
- VERBESSERT: Statt Sekretariatsmodus stand zweimal Ärztemodus im Begrüßungsbildschirm.
 | 
			
		||||
 | 
			
		||||
@@ -49,7 +175,7 @@ Version 2.1.7 (2015-10-02)
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
Version 2.1.6. (2015-09-27)
 | 
			
		||||
========================================================================
 | 
			
		||||
------------------------------------------------------------------------
 | 
			
		||||
 | 
			
		||||
- VERBESSERT: Eingebaute Stile überarbeitet.
 | 
			
		||||
- VERBESSERT: Troponin T wurde nicht richtig verarbeitet.
 | 
			
		||||
@@ -58,7 +184,7 @@ Version 2.1.6. (2015-09-27)
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
Version 2.1.5. (2015-09-24)
 | 
			
		||||
========================================================================
 | 
			
		||||
------------------------------------------------------------------------
 | 
			
		||||
 | 
			
		||||
- VERBESSERT: NT-proBNP wird jetzt korrekt ausgegeben.
 | 
			
		||||
 | 
			
		||||
@@ -66,7 +192,7 @@ Version 2.1.5. (2015-09-24)
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
Version 2.1.4 (2015-09-23)
 | 
			
		||||
========================================================================
 | 
			
		||||
------------------------------------------------------------------------
 | 
			
		||||
 | 
			
		||||
- VERBESSERT: Unkonventionell ausgegebene Laborwerte (v.a. Cyclosporin-A vor Gabe) wurden nicht richtig erkannt.
 | 
			
		||||
 | 
			
		||||
@@ -74,7 +200,7 @@ Version 2.1.4 (2015-09-23)
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
Version 2.1.3. (2015-09-18)
 | 
			
		||||
========================================================================
 | 
			
		||||
------------------------------------------------------------------------
 | 
			
		||||
 | 
			
		||||
- VERBESSERT: CsA-Talspiegel tauchte nicht in der Ausgabe auf.
 | 
			
		||||
- VERBESSERT: Extreme Werte (mit "<" oder ">") wurden nicht sehr schön formatiert.
 | 
			
		||||
@@ -83,7 +209,7 @@ Version 2.1.3. (2015-09-18)
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
Version 2.1.2 (2015-09-11)
 | 
			
		||||
========================================================================
 | 
			
		||||
------------------------------------------------------------------------
 | 
			
		||||
 | 
			
		||||
- GEÄNDERT: Sammelurin-Proteinurie als Prot abgekürzt.
 | 
			
		||||
- VERBESSERT: Ambulanzstil überarbeitet.
 | 
			
		||||
@@ -93,7 +219,7 @@ Version 2.1.2 (2015-09-11)
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
Version 2.1.1 (2015-09-07)
 | 
			
		||||
========================================================================
 | 
			
		||||
------------------------------------------------------------------------
 | 
			
		||||
 | 
			
		||||
- VERBESSERT: Fehler bei der Kommentaraufforderung wurden behoben.
 | 
			
		||||
 | 
			
		||||
@@ -101,7 +227,7 @@ Version 2.1.1 (2015-09-07)
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
Version 2.1.0 (2015-09-06)
 | 
			
		||||
========================================================================
 | 
			
		||||
------------------------------------------------------------------------
 | 
			
		||||
 | 
			
		||||
- NEU: Optionale Kommentare zu Laborwerten.
 | 
			
		||||
- NEU: Sekretariatsmodus (siehe 'Einstellungen'), um die Nachfrage nach Zusatz-Kommentaren zu unterdrücken.
 | 
			
		||||
@@ -113,7 +239,7 @@ Version 2.1.0 (2015-09-06)
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
Version 2.0.1 (2015-09-02)
 | 
			
		||||
========================================================================
 | 
			
		||||
------------------------------------------------------------------------
 | 
			
		||||
 | 
			
		||||
- FEHLERBEHEBUNG: Kein Absturz mehr, wenn zwei Spalten formatiert werden.
 | 
			
		||||
- VERBESSERT: Kein Absturz mehr, wenn das Demo-Dokument innerhalb der ZAA geöffnet wird (Exception ID 65a5c34e).
 | 
			
		||||
@@ -124,7 +250,7 @@ Version 2.0.1 (2015-09-02)
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
Version 2.0.0-beta.5 (2015-08-25)
 | 
			
		||||
========================================================================
 | 
			
		||||
------------------------------------------------------------------------
 | 
			
		||||
 | 
			
		||||
- NEU: Auszeichnung pathologischer Werte kann eingestellt werden.
 | 
			
		||||
- NEU: Für bestimmte Laborwerte ist die bevorzugte Nachkommastellenzahl hinterlegt (z.B. Kreatinin mit nur einer Nachkommastelle).
 | 
			
		||||
@@ -135,7 +261,7 @@ Version 2.0.0-beta.5 (2015-08-25)
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
Version 2.0.0-beta.4. (2015-08-23)
 | 
			
		||||
========================================================================
 | 
			
		||||
------------------------------------------------------------------------
 | 
			
		||||
 | 
			
		||||
- VERBESSERUNG: Aliasse für fT3 und fT4.
 | 
			
		||||
- VERBESSERUNG: Ambulanz-Stil überarbeitet.
 | 
			
		||||
@@ -144,7 +270,7 @@ Version 2.0.0-beta.4. (2015-08-23)
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
Version 2.0.0-beta.3. (2015-08-20)
 | 
			
		||||
========================================================================
 | 
			
		||||
------------------------------------------------------------------------
 | 
			
		||||
 | 
			
		||||
- VERBESSERT: Bei Updates werden neue eingebaute Stile jetzt immer berücksichtigt.
 | 
			
		||||
- VERBESSERT: Formatierung erscheint nur noch als 1 Undo-Schritt.
 | 
			
		||||
@@ -156,7 +282,7 @@ Version 2.0.0-beta.3. (2015-08-20)
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
Version 2.0.0-beta.2 (2015-08-16)
 | 
			
		||||
========================================================================
 | 
			
		||||
------------------------------------------------------------------------
 | 
			
		||||
 | 
			
		||||
- FIX: Kleinere Bugfixes.
 | 
			
		||||
- GEÄNDERT: Diff.-BB-Werte im Stations-Stil in Hämatologie-Zeile integriert.
 | 
			
		||||
@@ -172,7 +298,7 @@ Version 2.0.0-beta.2 (2015-08-16)
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
Version 2.0.0-beta.1 (2015-08-13)
 | 
			
		||||
========================================================================
 | 
			
		||||
------------------------------------------------------------------------
 | 
			
		||||
 | 
			
		||||
- FIX: Datenimport funktioniert jetzt auch mit Word-Text und nicht nur in den Tests.
 | 
			
		||||
- FIX: Mehrere Thesaurus-Fehler behoben.
 | 
			
		||||
@@ -189,7 +315,7 @@ Version 2.0.0-beta.1 (2015-08-13)
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
Version 2.0.0-alpha.5. (2015-08-04)
 | 
			
		||||
========================================================================
 | 
			
		||||
------------------------------------------------------------------------
 | 
			
		||||
 | 
			
		||||
- FIX: Daniels Spezial löscht nicht mehr die Unterschriften.
 | 
			
		||||
- NEU: Eingebautes Demo-Dokument zum Ausprobieren.
 | 
			
		||||
@@ -199,7 +325,7 @@ Version 2.0.0-alpha.5. (2015-08-04)
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
Version 2.0.0-alpha.3 (2015-07-31)
 | 
			
		||||
========================================================================
 | 
			
		||||
------------------------------------------------------------------------
 | 
			
		||||
 | 
			
		||||
- FIX: Beim Start wird jetzt nach Updates gesucht.
 | 
			
		||||
 | 
			
		||||
@@ -207,7 +333,7 @@ Version 2.0.0-alpha.3 (2015-07-31)
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
Version 2.0.0-alpha.2 (2015-07-28)
 | 
			
		||||
========================================================================
 | 
			
		||||
------------------------------------------------------------------------
 | 
			
		||||
 | 
			
		||||
- NEU: Fehlerbehandlung und Fehlerberichte.
 | 
			
		||||
 | 
			
		||||
@@ -215,7 +341,7 @@ Version 2.0.0-alpha.2 (2015-07-28)
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
Version 2.0.0-alpha.1 (2015-07-27)
 | 
			
		||||
========================================================================
 | 
			
		||||
------------------------------------------------------------------------
 | 
			
		||||
 | 
			
		||||
- NEW: First release of version 2 series.
 | 
			
		||||
 | 
			
		||||
@@ -223,7 +349,7 @@ Version 2.0.0-alpha.1 (2015-07-27)
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
Version 2.0.0 (2015-08-30)
 | 
			
		||||
========================================================================
 | 
			
		||||
------------------------------------------------------------------------
 | 
			
		||||
 | 
			
		||||
- FEHLERBEHEBUNG: Kein Absturz mehr, wenn zwei Spalten formatiert werden.
 | 
			
		||||
- VERBESSERT: Kein Crash mehr, falls sich ein Komma in den Lauris-Block einschleicht.
 | 
			
		||||
 
 | 
			
		||||
							
								
								
									
										29
									
								
								Makefile
									
									
									
									
									
										Normal file
									
								
							
							
						
						@@ -0,0 +1,29 @@
 | 
			
		||||
SHELL=/bin/bash
 | 
			
		||||
.PHONY=all help upload website versioninfo
 | 
			
		||||
 | 
			
		||||
help:
 | 
			
		||||
	# Available targets:
 | 
			
		||||
	# website     - update website on server
 | 
			
		||||
	# versioninfo - create versioninfo file for the current release
 | 
			
		||||
	# upload      - upload release files to server
 | 
			
		||||
	# all         - all of the above
 | 
			
		||||
 | 
			
		||||
all: versioninfo upload website
 | 
			
		||||
	#
 | 
			
		||||
	# Check repository status!
 | 
			
		||||
	# 
 | 
			
		||||
 | 
			
		||||
versioninfo:
 | 
			
		||||
	head -n 1 zaaReloaded2/VERSION | tr -d '\r' > www/versioninfo.tmp
 | 
			
		||||
	chmod 644 www/versioninfo.tmp
 | 
			
		||||
	echo 'https://doktorkraus.de/zaareloaded/downloads/zaaReloaded-$$VERSION.exe' >> www/versioninfo.tmp
 | 
			
		||||
	sha256sum deploy/releases/zaaReloaded-$$(head -n 1 zaaReloaded2/VERSION | tr -d '\r').exe >> www/versioninfo.tmp
 | 
			
		||||
	echo '' >> www/versioninfo.tmp
 | 
			
		||||
	todos www/versioninfo.tmp
 | 
			
		||||
	mv www/versioninfo.tmp www/versioninfo.txt
 | 
			
		||||
 | 
			
		||||
upload:
 | 
			
		||||
	rsync -ruvzL --progress deploy/releases/* bovender.de:/var/www/html/zaareloaded/downloads/
 | 
			
		||||
 | 
			
		||||
website:
 | 
			
		||||
	rsync -ruvz www/ bovender.de:/var/www/html/zaareloaded/
 | 
			
		||||
@@ -29,7 +29,7 @@ zaaReloaded2 ist in C# mit VSTO geschrieben, unter Zuhilfenahme von
 | 
			
		||||
Visual Studio Professional 2013. Der Quellcode liegt in einem öffentlich
 | 
			
		||||
zugänglichen Git-Repository:
 | 
			
		||||
 | 
			
		||||
<http://git.bovender.de>
 | 
			
		||||
<https://git.bovender.de>
 | 
			
		||||
 | 
			
		||||
Clonen:
 | 
			
		||||
 | 
			
		||||
@@ -212,7 +212,7 @@ dem [MVVM][]-Muster implementiert. Dabei wurde auf das Hilfs-Framework
 | 
			
		||||
## Updates
 | 
			
		||||
 | 
			
		||||
Das Add-in sucht täglich nach einem Update; dabei wird die Datei
 | 
			
		||||
<http://zaa.nephrowiki.de/versioninfo.txt> heruntergeladen. Updates
 | 
			
		||||
<https://doktorkraus.de/zaareloaded/versioninfo.txt> heruntergeladen. Updates
 | 
			
		||||
werden automatisch im Hintergrund geladen und beim Schließen von Word
 | 
			
		||||
(bzw. der Zentralen Arztbriefablage) installiert und stehen dann beim
 | 
			
		||||
nächsten Starten der Anwendung zur Verfügung.
 | 
			
		||||
 
 | 
			
		||||
@@ -1,7 +1,7 @@
 | 
			
		||||
/* CommentPoolTest.cs
 | 
			
		||||
 * part of zaaReloaded2
 | 
			
		||||
 * 
 | 
			
		||||
 * Copyright 2015 Daniel Kraus
 | 
			
		||||
 * Copyright 2015-2018 Daniel Kraus
 | 
			
		||||
 * 
 | 
			
		||||
 * Licensed under the Apache License, Version 2.0 (the "License");
 | 
			
		||||
 * you may not use this file except in compliance with the License.
 | 
			
		||||
 
 | 
			
		||||
@@ -1,7 +1,7 @@
 | 
			
		||||
/* ItemCommentTest.cs
 | 
			
		||||
 * part of zaaReloaded2
 | 
			
		||||
 * 
 | 
			
		||||
 * Copyright 2015 Daniel Kraus
 | 
			
		||||
 * Copyright 2015-2018 Daniel Kraus
 | 
			
		||||
 * 
 | 
			
		||||
 * Licensed under the Apache License, Version 2.0 (the "License");
 | 
			
		||||
 * you may not use this file except in compliance with the License.
 | 
			
		||||
 
 | 
			
		||||
@@ -1,7 +1,7 @@
 | 
			
		||||
/* CloneTest.cs
 | 
			
		||||
 * part of zaaReloaded2
 | 
			
		||||
 * 
 | 
			
		||||
 * Copyright 2015 Daniel Kraus
 | 
			
		||||
 * Copyright 2015-2018 Daniel Kraus
 | 
			
		||||
 * 
 | 
			
		||||
 * Licensed under the Apache License, Version 2.0 (the "License");
 | 
			
		||||
 * you may not use this file except in compliance with the License.
 | 
			
		||||
 
 | 
			
		||||
@@ -1,7 +1,7 @@
 | 
			
		||||
/* ItemsTest.cs
 | 
			
		||||
 * part of zaaReloaded2
 | 
			
		||||
 * 
 | 
			
		||||
 * Copyright 2015 Daniel Kraus
 | 
			
		||||
 * Copyright 2015-2018 Daniel Kraus
 | 
			
		||||
 * 
 | 
			
		||||
 * Licensed under the Apache License, Version 2.0 (the "License");
 | 
			
		||||
 * you may not use this file except in compliance with the License.
 | 
			
		||||
@@ -44,6 +44,7 @@ namespace Tests.Controller.Elements
 | 
			
		||||
        public void TearDown()
 | 
			
		||||
        {
 | 
			
		||||
            ((_Document)_document).Close(WdSaveOptions.wdDoNotSaveChanges);
 | 
			
		||||
            Bovender.ComHelpers.ReleaseComObject(_document);
 | 
			
		||||
        }
 | 
			
		||||
 | 
			
		||||
        [Test]
 | 
			
		||||
 
 | 
			
		||||
@@ -1,7 +1,7 @@
 | 
			
		||||
/* SettingsRepositoryTest.cs
 | 
			
		||||
 * part of zaaReloaded2
 | 
			
		||||
 * 
 | 
			
		||||
 * Copyright 2015 Daniel Kraus
 | 
			
		||||
 * Copyright 2015-2018 Daniel Kraus
 | 
			
		||||
 * 
 | 
			
		||||
 * Licensed under the Apache License, Version 2.0 (the "License");
 | 
			
		||||
 * you may not use this file except in compliance with the License.
 | 
			
		||||
@@ -27,19 +27,19 @@ namespace Tests.Controller
 | 
			
		||||
    [TestFixture]
 | 
			
		||||
    class SettingsRepositoryTest
 | 
			
		||||
    {
 | 
			
		||||
        string _savedSettings;
 | 
			
		||||
        SettingsRepository _savedRepository;
 | 
			
		||||
 | 
			
		||||
        [SetUp]
 | 
			
		||||
        public void SetUp()
 | 
			
		||||
        {
 | 
			
		||||
            _savedSettings = zaaReloaded2.Properties.Settings.Default.SettingsRepository;
 | 
			
		||||
            _savedRepository = zaaReloaded2.UserSettings.Default.SettingsRepository;
 | 
			
		||||
        }
 | 
			
		||||
 | 
			
		||||
        [TearDown]
 | 
			
		||||
        public void TearDown()
 | 
			
		||||
        {
 | 
			
		||||
            zaaReloaded2.Properties.Settings.Default.SettingsRepository = _savedSettings;
 | 
			
		||||
            zaaReloaded2.Properties.Settings.Default.Save();
 | 
			
		||||
            zaaReloaded2.UserSettings.Default.SettingsRepository = _savedRepository;
 | 
			
		||||
            zaaReloaded2.UserSettings.Default.Save();
 | 
			
		||||
        }
 | 
			
		||||
 | 
			
		||||
        [Test]
 | 
			
		||||
 
 | 
			
		||||
@@ -1,7 +1,7 @@
 | 
			
		||||
/* SettingsTest.cs
 | 
			
		||||
 * part of zaaReloaded2
 | 
			
		||||
 * 
 | 
			
		||||
 * Copyright 2015 Daniel Kraus
 | 
			
		||||
 * Copyright 2015-2018 Daniel Kraus
 | 
			
		||||
 * 
 | 
			
		||||
 * Licensed under the Apache License, Version 2.0 (the "License");
 | 
			
		||||
 * you may not use this file except in compliance with the License.
 | 
			
		||||
 
 | 
			
		||||
@@ -1,7 +1,7 @@
 | 
			
		||||
/* DocumentWriterClass.cs
 | 
			
		||||
 * part of zaaReloaded2
 | 
			
		||||
 * 
 | 
			
		||||
 * Copyright 2015 Daniel Kraus
 | 
			
		||||
 * Copyright 2015-2018 Daniel Kraus
 | 
			
		||||
 * 
 | 
			
		||||
 * Licensed under the Apache License, Version 2.0 (the "License");
 | 
			
		||||
 * you may not use this file except in compliance with the License.
 | 
			
		||||
 
 | 
			
		||||
@@ -1,7 +1,7 @@
 | 
			
		||||
/* FormatterTest.cs
 | 
			
		||||
 * part of zaaReloaded2
 | 
			
		||||
 * 
 | 
			
		||||
 * Copyright 2015 Daniel Kraus
 | 
			
		||||
 * Copyright 2015-2018 Daniel Kraus
 | 
			
		||||
 * 
 | 
			
		||||
 * Licensed under the Apache License, Version 2.0 (the "License");
 | 
			
		||||
 * you may not use this file except in compliance with the License.
 | 
			
		||||
@@ -123,7 +123,7 @@ namespace Tests.Formatter
 | 
			
		||||
        {
 | 
			
		||||
            ZaaImporter importer = new ZaaImporter();
 | 
			
		||||
            importer.Import(
 | 
			
		||||
                "(17.09.2015 10:44:00) Cyclosporin-A vor Gabe: 130 µg/l;  CK gesamt: 123 [<= 170] U/l;  Cholesterin: 211");
 | 
			
		||||
                "(17.09.2015-201810:44:00) Cyclosporin-A vor Gabe: 130 µg/l;  CK gesamt: 123 [<= 170] U/l;  Cholesterin: 211");
 | 
			
		||||
            Document document = new Document();
 | 
			
		||||
            f.Formatter formatter = new f.Formatter(document);
 | 
			
		||||
            formatter.Laboratory = importer.Laboratory;
 | 
			
		||||
@@ -131,7 +131,7 @@ namespace Tests.Formatter
 | 
			
		||||
                new List<ElementBase>() { new Items("CsA (C0) \"(Ziel-Talspiegel: <> µg/l)\"") });
 | 
			
		||||
            formatter.Run();
 | 
			
		||||
            Assert.AreEqual(
 | 
			
		||||
                "Laborwerte vom 17.09.2015 10:44:00:\rCsA (C0) 130 µg/l\r\r",
 | 
			
		||||
                "Laborwerte vom 17.09.2015-201810:44:00:\rCsA (C0) 130 µg/l\r\r",
 | 
			
		||||
                document.Range().Text);
 | 
			
		||||
        }
 | 
			
		||||
 | 
			
		||||
 
 | 
			
		||||
							
								
								
									
										55
									
								
								Tests/Importer/ClinicImporter/ClinicImporterTest.cs
									
									
									
									
									
										Executable file
									
								
							
							
						
						@@ -0,0 +1,55 @@
 | 
			
		||||
/* ClinicImporterTest.cs
 | 
			
		||||
 * part of zaaReloaded2
 | 
			
		||||
 * 
 | 
			
		||||
 * Copyright 2017 Daniel Kraus
 | 
			
		||||
 * 
 | 
			
		||||
 * Licensed under the Apache License, Version 2.0 (the "License");
 | 
			
		||||
 * you may not use this file except in compliance with the License.
 | 
			
		||||
 * You may obtain a copy of the License at
 | 
			
		||||
 * 
 | 
			
		||||
 *     http://www.apache.org/licenses/LICENSE-2.0
 | 
			
		||||
 * 
 | 
			
		||||
 * Unless required by applicable law or agreed to in writing, software
 | 
			
		||||
 * distributed under the License is distributed on an "AS IS" BASIS,
 | 
			
		||||
 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
 | 
			
		||||
 * See the License for the specific language governing permissions and
 | 
			
		||||
 * limitations under the License.
 | 
			
		||||
 */
 | 
			
		||||
using System;
 | 
			
		||||
using System.Collections.Generic;
 | 
			
		||||
using System.Linq;
 | 
			
		||||
using System.Text;
 | 
			
		||||
using System.IO;
 | 
			
		||||
using zaa = zaaReloaded2.Importer.ClinicImporter;
 | 
			
		||||
using NUnit.Framework;
 | 
			
		||||
 | 
			
		||||
namespace Tests.Importer.ClinicImporter
 | 
			
		||||
{
 | 
			
		||||
    [TestFixture]
 | 
			
		||||
    class ClinicImporterTest
 | 
			
		||||
    {
 | 
			
		||||
        /// <summary>
 | 
			
		||||
        /// Parses the demo-output.txt file that is built into the assembly.
 | 
			
		||||
        /// Note that this demo text contains seven time points, only six of
 | 
			
		||||
        /// which are distinct. Thus, the two time points with identical time
 | 
			
		||||
        /// stamps should be merged in the <see cref="Laboratory"/>.
 | 
			
		||||
        /// </summary>
 | 
			
		||||
        [Test]
 | 
			
		||||
        public void ParseTimePoints()
 | 
			
		||||
        {
 | 
			
		||||
            zaa.ClinicImporter importer = TestHelpers.ClinicImporterFromResource();
 | 
			
		||||
            // Only 6 distinct time points (see method documentation above).
 | 
			
		||||
            Assert.AreEqual(5, importer.Laboratory.TimePoints.Count);
 | 
			
		||||
        }
 | 
			
		||||
 | 
			
		||||
        [Test]
 | 
			
		||||
        public void ParseInvalidInput()
 | 
			
		||||
        {
 | 
			
		||||
            zaa.ClinicImporter importer = new zaa.ClinicImporter();
 | 
			
		||||
            importer.Import("some arbitrary text\r\nthat does not represent\r\na valid lab");
 | 
			
		||||
            Assert.IsFalse(importer.Success);
 | 
			
		||||
            importer.Import("(03.03.1930 13:30:00)\r\n\tNatrium 135 [135 - 145] mmol/l;");
 | 
			
		||||
            Assert.IsTrue(importer.Success);
 | 
			
		||||
        }
 | 
			
		||||
    }
 | 
			
		||||
}
 | 
			
		||||
							
								
								
									
										56
									
								
								Tests/Importer/ClinicImporter/ClinicItemTest.cs
									
									
									
									
									
										Executable file
									
								
							
							
						
						@@ -0,0 +1,56 @@
 | 
			
		||||
/* LaurisItemTest.cs
 | 
			
		||||
 * part of zaaReloaded2
 | 
			
		||||
 * 
 | 
			
		||||
 * Copyright 2017 Daniel Kraus
 | 
			
		||||
 * 
 | 
			
		||||
 * Licensed under the Apache License, Version 2.0 (the "License");
 | 
			
		||||
 * you may not use this file except in compliance with the License.
 | 
			
		||||
 * You may obtain a copy of the License at
 | 
			
		||||
 * 
 | 
			
		||||
 *     http://www.apache.org/licenses/LICENSE-2.0
 | 
			
		||||
 * 
 | 
			
		||||
 * Unless required by applicable law or agreed to in writing, software
 | 
			
		||||
 * distributed under the License is distributed on an "AS IS" BASIS,
 | 
			
		||||
 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
 | 
			
		||||
 * See the License for the specific language governing permissions and
 | 
			
		||||
 * limitations under the License.
 | 
			
		||||
 */
 | 
			
		||||
using System;
 | 
			
		||||
using System.Collections.Generic;
 | 
			
		||||
using System.Linq;
 | 
			
		||||
using System.Text;
 | 
			
		||||
using NUnit.Framework;
 | 
			
		||||
using zaaReloaded2.LabModel;
 | 
			
		||||
using zaaReloaded2.Importer.ZaaImporter;
 | 
			
		||||
 | 
			
		||||
namespace Tests.Importer.ClinicImporter
 | 
			
		||||
{
 | 
			
		||||
    /// <summary>
 | 
			
		||||
    /// The ClinicItemTest really just tests the zaaReloaded2.Importer.ZaaImporter.LaurisItem
 | 
			
		||||
    /// class with text formatted by the outpatient clinic system to make sure LaurisItem works
 | 
			
		||||
    /// with clinic-formatted lab data as well.
 | 
			
		||||
    /// </summary>
 | 
			
		||||
    [TestFixture]
 | 
			
		||||
    class ClinicItemTest
 | 
			
		||||
    {
 | 
			
		||||
        [Test]
 | 
			
		||||
        [TestCase("	Natrium:	137	[135 - 145]	mmol/l", "Natrium", 137, "mmol/l", 135, 145, true)]
 | 
			
		||||
        public void ParseClinicWithBothLimits(
 | 
			
		||||
            string laurisString, string name, double value,
 | 
			
		||||
            string unit, double lowerLimit, double upperLimit, bool isNormal)
 | 
			
		||||
        {
 | 
			
		||||
            LaurisItem i = new LaurisItem(laurisString);
 | 
			
		||||
            Assert.AreEqual(name, i.Name, "Name");
 | 
			
		||||
            Assert.AreEqual(unit, i.Unit, "Unit");
 | 
			
		||||
            Assert.IsFalse(i.IsExtreme, "IsExtreme");
 | 
			
		||||
            Assert.IsTrue(i.IsNumerical, "IsNumerical");
 | 
			
		||||
            Assert.AreEqual(value, i.NumericalValue, "NumericalValue");
 | 
			
		||||
            Assert.AreEqual(lowerLimit, i.LowerLimit, "Lower limit");
 | 
			
		||||
            Assert.AreEqual(upperLimit, i.UpperLimit, "Upper limit");
 | 
			
		||||
            Assert.AreEqual(isNormal, i.IsNormal, "IsNormal");
 | 
			
		||||
            Assert.IsTrue(i.HasLimits, "HasLimits");
 | 
			
		||||
            Assert.IsTrue(i.HasLowerLimit, "HasLowerLimit");
 | 
			
		||||
            Assert.IsTrue(i.HasUpperLimit, "HasUpperLimit");
 | 
			
		||||
        }
 | 
			
		||||
    }
 | 
			
		||||
}
 | 
			
		||||
							
								
								
									
										45
									
								
								Tests/Importer/ClinicImporter/ClinicLineTest.cs
									
									
									
									
									
										Executable file
									
								
							
							
						
						@@ -0,0 +1,45 @@
 | 
			
		||||
/* ClinicLineTest.cs
 | 
			
		||||
 * part of zaaReloaded2
 | 
			
		||||
 * 
 | 
			
		||||
 * Copyright 2017 Daniel Kraus
 | 
			
		||||
 * 
 | 
			
		||||
 * Licensed under the Apache License, Version 2.0 (the "License");
 | 
			
		||||
 * you may not use this file except in compliance with the License.
 | 
			
		||||
 * You may obtain a copy of the License at
 | 
			
		||||
 * 
 | 
			
		||||
 *     http://www.apache.org/licenses/LICENSE-2.0
 | 
			
		||||
 * 
 | 
			
		||||
 * Unless required by applicable law or agreed to in writing, software
 | 
			
		||||
 * distributed under the License is distributed on an "AS IS" BASIS,
 | 
			
		||||
 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
 | 
			
		||||
 * See the License for the specific language governing permissions and
 | 
			
		||||
 * limitations under the License.
 | 
			
		||||
 */
 | 
			
		||||
using NUnit.Framework;
 | 
			
		||||
using zaaReloaded2.LabModel;
 | 
			
		||||
using zaaReloaded2.Importer.ClinicImporter;
 | 
			
		||||
 | 
			
		||||
namespace Tests.Importer.ClinicImporter
 | 
			
		||||
{
 | 
			
		||||
    [TestFixture]
 | 
			
		||||
    class ClinicLineTest
 | 
			
		||||
    {
 | 
			
		||||
        [Test]
 | 
			
		||||
        public void ParseLine()
 | 
			
		||||
        {
 | 
			
		||||
            string demo = "\tNatrium:\t137\t[135 - 145]\tmmol/l";
 | 
			
		||||
            ClinicLine line = new ClinicLine(demo);
 | 
			
		||||
            Assert.IsTrue(line.IsClinicLine);
 | 
			
		||||
            Assert.AreEqual(137, line.Item.NumericalValue);
 | 
			
		||||
        }
 | 
			
		||||
 | 
			
		||||
        [Test]
 | 
			
		||||
        public void ParseInvalidLine()
 | 
			
		||||
        {
 | 
			
		||||
            // Missing leading tab
 | 
			
		||||
            string demo = "Natrium:\t137\t[135 - 145]\tmmol/l";
 | 
			
		||||
            ClinicLine line = new ClinicLine(demo);
 | 
			
		||||
            Assert.IsFalse(line.IsClinicLine);
 | 
			
		||||
        }
 | 
			
		||||
    }
 | 
			
		||||
}
 | 
			
		||||
							
								
								
									
										67
									
								
								Tests/Importer/ClinicImporter/TimePointTest.cs
									
									
									
									
									
										Executable file
									
								
							
							
						
						@@ -0,0 +1,67 @@
 | 
			
		||||
/* TimePointTest.cs
 | 
			
		||||
 * part of zaaReloaded2
 | 
			
		||||
 * 
 | 
			
		||||
 * Copyright 2017 Daniel Kraus
 | 
			
		||||
 * 
 | 
			
		||||
 * Licensed under the Apache License, Version 2.0 (the "License");
 | 
			
		||||
 * you may not use this file except in compliance with the License.
 | 
			
		||||
 * You may obtain a copy of the License at
 | 
			
		||||
 * 
 | 
			
		||||
 *     http://www.apache.org/licenses/LICENSE-2.0
 | 
			
		||||
 * 
 | 
			
		||||
 * Unless required by applicable law or agreed to in writing, software
 | 
			
		||||
 * distributed under the License is distributed on an "AS IS" BASIS,
 | 
			
		||||
 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
 | 
			
		||||
 * See the License for the specific language governing permissions and
 | 
			
		||||
 * limitations under the License.
 | 
			
		||||
 */
 | 
			
		||||
using System;
 | 
			
		||||
using System.Collections.Generic;
 | 
			
		||||
using System.Linq;
 | 
			
		||||
using System.Text;
 | 
			
		||||
using NUnit.Framework;
 | 
			
		||||
using zaaReloaded2.LabModel;
 | 
			
		||||
using zaaReloaded2.Importer.ClinicImporter;
 | 
			
		||||
 | 
			
		||||
namespace Tests.Importer.ClinicImporter
 | 
			
		||||
{
 | 
			
		||||
    [TestFixture]
 | 
			
		||||
    class ClinicTimePointTest
 | 
			
		||||
    {
 | 
			
		||||
        [Test]
 | 
			
		||||
        public void ParseValidClinicTimePoint()
 | 
			
		||||
        {
 | 
			
		||||
            ClinicTimePoint tp = new ClinicTimePoint(
 | 
			
		||||
                "(06.09.2017 09:45:00)" + Environment.NewLine +
 | 
			
		||||
                "\tKalium:\t4.6\t[3.5 - 5]\tmmol/l");
 | 
			
		||||
            Assert.IsTrue(tp.IsValidTimePoint);
 | 
			
		||||
        }
 | 
			
		||||
 | 
			
		||||
        [Test]
 | 
			
		||||
        public void ParseInvalidClinicTimePoints()
 | 
			
		||||
        {
 | 
			
		||||
            ClinicTimePoint tp = new ClinicTimePoint("Mit freundlichen Grüßen");
 | 
			
		||||
            Assert.IsFalse(tp.IsValidTimePoint,
 | 
			
		||||
                "Bogus paragraph should be invalid LaurisTimePoint");
 | 
			
		||||
 | 
			
		||||
            tp.ClinicText = "(22.10.2013 12:30:00)";
 | 
			
		||||
            Assert.IsFalse(tp.IsValidTimePoint,
 | 
			
		||||
                "LaurisTimePoint should be invalid if it consists of time stamp only.");
 | 
			
		||||
 | 
			
		||||
        }
 | 
			
		||||
 | 
			
		||||
        [Test]
 | 
			
		||||
        public void ParseClinicTimePointWithDuplicateItems()
 | 
			
		||||
        {
 | 
			
		||||
            ClinicTimePoint tp = new ClinicTimePoint(
 | 
			
		||||
                "(22.10.2013 12:30:00)" + Environment.NewLine +
 | 
			
		||||
                "\tNatrium:\t137\t[135 - 145]\tmmol/l" + Environment.NewLine +
 | 
			
		||||
                "\tNatrium:\t140\t[135 - 145]\tmmol/l"
 | 
			
		||||
                );
 | 
			
		||||
            Assert.IsTrue(tp.Items.ContainsKey("Natrium"),
 | 
			
		||||
                "LaurisTimePoint should contain 'Natrium' item.");
 | 
			
		||||
            Assert.AreEqual(140, tp.Items["Natrium"].NumericalValue,
 | 
			
		||||
                "LaurisTimePoint does not use last occurrence of 'Natrium'.");
 | 
			
		||||
        }
 | 
			
		||||
    }
 | 
			
		||||
}
 | 
			
		||||
@@ -1,7 +1,7 @@
 | 
			
		||||
/* LaurisItemTest.cs
 | 
			
		||||
 * part of zaaReloaded2
 | 
			
		||||
 * 
 | 
			
		||||
 * Copyright 2015 Daniel Kraus
 | 
			
		||||
 * Copyright 2015-2018 Daniel Kraus
 | 
			
		||||
 * 
 | 
			
		||||
 * Licensed under the Apache License, Version 2.0 (the "License");
 | 
			
		||||
 * you may not use this file except in compliance with the License.
 | 
			
		||||
@@ -153,7 +153,7 @@ namespace Tests.Importer.ZaaImporter
 | 
			
		||||
 | 
			
		||||
        [TestCase("Albumin (SU)/die: 149.9 [<= 30] mg/d; ", Material.SU)]
 | 
			
		||||
        [TestCase("Gesamt-Eiweiss/Creatinin (PU): 281 [<= 70] mg/g Crea;", Material.U)]
 | 
			
		||||
        [TestCase("Cystatin C (N Latex): 2.37 [0.57 - 0.96] mg/l; ", Material.B)]
 | 
			
		||||
        [TestCase("Cystatin C (N Latex): 2.37 [0.57 - 0.96] mg/l; ", Material.S)]
 | 
			
		||||
        public void ParseLaurisMaterial(string laurisString, Material expectedMaterial)
 | 
			
		||||
        {
 | 
			
		||||
            LaurisItem i = new LaurisItem(laurisString);
 | 
			
		||||
 
 | 
			
		||||
@@ -1,7 +1,7 @@
 | 
			
		||||
/* LaurisParagraphTest.cs
 | 
			
		||||
 * part of zaaReloaded2
 | 
			
		||||
 * 
 | 
			
		||||
 * Copyright 2015 Daniel Kraus
 | 
			
		||||
 * Copyright 2015-2018 Daniel Kraus
 | 
			
		||||
 * 
 | 
			
		||||
 * Licensed under the Apache License, Version 2.0 (the "License");
 | 
			
		||||
 * you may not use this file except in compliance with the License.
 | 
			
		||||
 
 | 
			
		||||
@@ -1,7 +1,7 @@
 | 
			
		||||
/* LaurisTimePointTest.cs
 | 
			
		||||
 * part of zaaReloaded2
 | 
			
		||||
 * 
 | 
			
		||||
 * Copyright 2015 Daniel Kraus
 | 
			
		||||
 * Copyright 2015-2018 Daniel Kraus
 | 
			
		||||
 * 
 | 
			
		||||
 * Licensed under the Apache License, Version 2.0 (the "License");
 | 
			
		||||
 * you may not use this file except in compliance with the License.
 | 
			
		||||
 
 | 
			
		||||
@@ -1,7 +1,7 @@
 | 
			
		||||
/* ZaaImporterTest.cs
 | 
			
		||||
 * part of zaaReloaded2
 | 
			
		||||
 * 
 | 
			
		||||
 * Copyright 2015 Daniel Kraus
 | 
			
		||||
 * Copyright 2015-2018 Daniel Kraus
 | 
			
		||||
 * 
 | 
			
		||||
 * Licensed under the Apache License, Version 2.0 (the "License");
 | 
			
		||||
 * you may not use this file except in compliance with the License.
 | 
			
		||||
 
 | 
			
		||||
@@ -1,7 +1,7 @@
 | 
			
		||||
/* UnitTest1.cs
 | 
			
		||||
 * part of zaaReloaded2
 | 
			
		||||
 * 
 | 
			
		||||
 * Copyright 2015 Daniel Kraus
 | 
			
		||||
 * Copyright 2015-2018 Daniel Kraus
 | 
			
		||||
 * 
 | 
			
		||||
 * Licensed under the Apache License, Version 2.0 (the "License");
 | 
			
		||||
 * you may not use this file except in compliance with the License.
 | 
			
		||||
 
 | 
			
		||||
							
								
								
									
										45
									
								
								Tests/Medication/ImporterTest.cs
									
									
									
									
									
										Executable file
									
								
							
							
						
						@@ -0,0 +1,45 @@
 | 
			
		||||
/* ImporterTest.cs
 | 
			
		||||
 * part of zaaReloaded2
 | 
			
		||||
 * 
 | 
			
		||||
 * Copyright 2015-2018 Daniel Kraus
 | 
			
		||||
 * 
 | 
			
		||||
 * Licensed under the Apache License, Version 2.0 (the "License");
 | 
			
		||||
 * you may not use this file except in compliance with the License.
 | 
			
		||||
 * You may obtain a copy of the License at
 | 
			
		||||
 * 
 | 
			
		||||
 *     http://www.apache.org/licenses/LICENSE-2.0
 | 
			
		||||
 * 
 | 
			
		||||
 * Unless required by applicable law or agreed to in writing, software
 | 
			
		||||
 * distributed under the License is distributed on an "AS IS" BASIS,
 | 
			
		||||
 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
 | 
			
		||||
 * See the License for the specific language governing permissions and
 | 
			
		||||
 * limitations under the License.
 | 
			
		||||
 */
 | 
			
		||||
using System;
 | 
			
		||||
using System.Collections.Generic;
 | 
			
		||||
using System.Linq;
 | 
			
		||||
using System.Text;
 | 
			
		||||
using NUnit.Framework;
 | 
			
		||||
 | 
			
		||||
namespace Tests.Medication
 | 
			
		||||
{
 | 
			
		||||
    [TestFixture]
 | 
			
		||||
    class ImporterTest
 | 
			
		||||
    {
 | 
			
		||||
        [Test]
 | 
			
		||||
        public void ImportDrugsTwoColumns()
 | 
			
		||||
        {
 | 
			
		||||
            string s =
 | 
			
		||||
                "Aktuelle Medikation:\r" +
 | 
			
		||||
                "Advagraf 1 mg	2-0-0 				CellCept 500 mg	1-0-1\r" +
 | 
			
		||||
                "CellCept 250 mg	1-0-1				Decortin 10 mg		1-0-0\r" +
 | 
			
		||||
                "Beloc-Zok mite	1-0-1				Ramipril 5 mg		0-0-1 (neu)\r" +
 | 
			
		||||
                "Pantozol 40 mg	0-0-1				Decostriol 0,5 µg	2-0-0\r" +
 | 
			
		||||
                "Euthyrox 200 µg	1-1-1 (gesteigert)			Ossofortin forte		1-0-1\r" +
 | 
			
		||||
                "Vfend 200 mg	2-0-2				CPS-Pulver		0-1-0\r" +
 | 
			
		||||
                "Cyklokapron 500 mg	1-1-1				Tamsulosin 0,4 mg	1-0-0           "; 
 | 
			
		||||
            zaaReloaded2.Medication.Importer i = new zaaReloaded2.Medication.Importer(s);
 | 
			
		||||
            Assert.AreEqual(14, i.Prescriptions.Count);
 | 
			
		||||
        }
 | 
			
		||||
    }
 | 
			
		||||
}
 | 
			
		||||
							
								
								
									
										128
									
								
								Tests/Medication/PrescriptionTest.cs
									
									
									
									
									
										Executable file
									
								
							
							
						
						@@ -0,0 +1,128 @@
 | 
			
		||||
/* PrescriptionTest.cs
 | 
			
		||||
 * part of zaaReloaded2
 | 
			
		||||
 * 
 | 
			
		||||
 * Copyright 2015-2018 Daniel Kraus
 | 
			
		||||
 * 
 | 
			
		||||
 * Licensed under the Apache License, Version 2.0 (the "License");
 | 
			
		||||
 * you may not use this file except in compliance with the License.
 | 
			
		||||
 * You may obtain a copy of the License at
 | 
			
		||||
 * 
 | 
			
		||||
 *     http://www.apache.org/licenses/LICENSE-2.0
 | 
			
		||||
 * 
 | 
			
		||||
 * Unless required by applicable law or agreed to in writing, software
 | 
			
		||||
 * distributed under the License is distributed on an "AS IS" BASIS,
 | 
			
		||||
 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
 | 
			
		||||
 * See the License for the specific language governing permissions and
 | 
			
		||||
 * limitations under the License.
 | 
			
		||||
 */
 | 
			
		||||
using System;
 | 
			
		||||
using System.Collections.Generic;
 | 
			
		||||
using System.Linq;
 | 
			
		||||
using System.Text;
 | 
			
		||||
using NUnit.Framework;
 | 
			
		||||
using zaaReloaded2.Medication;
 | 
			
		||||
 | 
			
		||||
namespace Tests.Medication
 | 
			
		||||
{
 | 
			
		||||
    [TestFixture]
 | 
			
		||||
    class PrescriptionTest
 | 
			
		||||
    {
 | 
			
		||||
        [Test]
 | 
			
		||||
        [TestCase("Ramipril 5 mg 1-2-3", "Ramipril 5 mg", "1", "2", "3")]
 | 
			
		||||
        [TestCase("Ramipril 5 mg 1 -2 - 3", "Ramipril 5 mg", "1", "2", "3")]
 | 
			
		||||
        [TestCase("Ramipril 5 mg 1 - 2 - 3", "Ramipril 5 mg", "1", "2", "3")]
 | 
			
		||||
        [TestCase("Ramipril  5 mg  1 - 2 - 3", "Ramipril 5 mg", "1", "2", "3")]
 | 
			
		||||
        [TestCase("Ramipril 5 mg 1 1/2-2-3", "Ramipril 5 mg", "1 1/2", "2", "3")]
 | 
			
		||||
        [TestCase("Ramipril 5 mg 1 1/2 - 2 - 3", "Ramipril 5 mg", "1 1/2", "2", "3")]
 | 
			
		||||
        [TestCase("Ramipril 5 mg ½-⅓-¼", "Ramipril 5 mg", "½", "⅓", "¼")]
 | 
			
		||||
        public void ParseLine(string line, string drug, string morning,
 | 
			
		||||
            string noon, string evening)
 | 
			
		||||
        {
 | 
			
		||||
            Prescription p = Prescription.FromLine(line);
 | 
			
		||||
            Assert.AreEqual(drug, p.Drug, "Drug should be " + drug);
 | 
			
		||||
            Assert.AreEqual(morning, p.Morning, "Morning should be " + morning);
 | 
			
		||||
            Assert.AreEqual(noon, p.Noon, "Noon should be " + noon);
 | 
			
		||||
            Assert.AreEqual(evening, p.Evening, "Evening should be " + evening);
 | 
			
		||||
        }
 | 
			
		||||
 | 
			
		||||
        [Test]
 | 
			
		||||
        public void MultiplePrescriptions()
 | 
			
		||||
        {
 | 
			
		||||
            IEnumerable<Prescription> list = Prescription.ManyFromLine(
 | 
			
		||||
                "Ramipril 5 mg 1-0-0  \t Prograf 1 mg 1-0-1");
 | 
			
		||||
            Assert.AreEqual(2, list.Count());
 | 
			
		||||
            Assert.AreEqual("Ramipril 5 mg\t1-0-0", list.First().ToString());
 | 
			
		||||
            Assert.AreEqual("Prograf 1 mg\t1-0-1", list.Last().ToString());
 | 
			
		||||
        }
 | 
			
		||||
 | 
			
		||||
        [Test]
 | 
			
		||||
        [TestCase("Ramipril 5 mg", "1", "0", "0", "0", "Ramipril 5 mg\t1-0-0-0")]
 | 
			
		||||
        [TestCase("Ramipril 5 mg", "1", "0", "0", "", "Ramipril 5 mg\t1-0-0")]
 | 
			
		||||
        [TestCase("Ramipril 5 mg", "1", "0", "", "", "Ramipril 5 mg\t1-0")]
 | 
			
		||||
        [TestCase("Ramipril 5 mg", "1", "", "", "", "Ramipril 5 mg\t1")]
 | 
			
		||||
        [TestCase("Ramipril 5 mg", "1", "", "0", "0", "Ramipril 5 mg\t1-0-0-0")]
 | 
			
		||||
        [TestCase("Ramipril 5 mg", "1", "0", "", "0", "Ramipril 5 mg\t1-0-0-0")]
 | 
			
		||||
        [TestCase("Ramipril 5 mg", "1", "", "", "0", "Ramipril 5 mg\t1-0-0-0")]
 | 
			
		||||
        [TestCase("Ramipril 5 mg", "", "", "", "", "Ramipril 5 mg\t")]
 | 
			
		||||
        public void PrescriptionToString(string drug, string morning, string noon,
 | 
			
		||||
            string evening, string night, string formatted)
 | 
			
		||||
        {
 | 
			
		||||
            Prescription p = new Prescription(drug, morning, noon, evening, night);
 | 
			
		||||
            Assert.AreEqual(formatted, p.ToString());
 | 
			
		||||
        }
 | 
			
		||||
 | 
			
		||||
        [Test]
 | 
			
		||||
        public void PrescriptionWithComment()
 | 
			
		||||
        {
 | 
			
		||||
            Prescription p = Prescription.FromLine("Ramipril 5 mg 1-0-2 (gesteigert)");
 | 
			
		||||
            Assert.AreEqual("Ramipril 5 mg", p.Drug);
 | 
			
		||||
            Assert.AreEqual("1", p.Morning);
 | 
			
		||||
            Assert.AreEqual("0", p.Noon);
 | 
			
		||||
            Assert.AreEqual("2", p.Evening);
 | 
			
		||||
            Assert.AreEqual("(gesteigert)", p.Comment);
 | 
			
		||||
            Assert.AreEqual("Ramipril 5 mg\t1-0-2 (gesteigert)", p.ToString());
 | 
			
		||||
        }
 | 
			
		||||
 | 
			
		||||
        [Test]
 | 
			
		||||
        public void PrescriptionsLineWithComment()
 | 
			
		||||
        {
 | 
			
		||||
            IList<Prescription> list = Prescription.ManyFromLine(
 | 
			
		||||
                "Ramipril 5 mg 1-0-2 (gesteigert) \t Concor 2,5 mg 3-2-1-0 neu");
 | 
			
		||||
            Assert.AreEqual(2, list.Count);
 | 
			
		||||
            Assert.AreEqual("Ramipril 5 mg", list[0].Drug);
 | 
			
		||||
            Assert.AreEqual("1", list[0].Morning);
 | 
			
		||||
            Assert.AreEqual("0", list[0].Noon);
 | 
			
		||||
            Assert.AreEqual("2", list[0].Evening);
 | 
			
		||||
            Assert.AreEqual("", list[0].Night);
 | 
			
		||||
            Assert.AreEqual("(gesteigert)", list[0].Comment);
 | 
			
		||||
            Assert.AreEqual("Concor 2,5 mg", list[1].Drug);
 | 
			
		||||
            Assert.AreEqual("3", list[1].Morning);
 | 
			
		||||
            Assert.AreEqual("2", list[1].Noon);
 | 
			
		||||
            Assert.AreEqual("1", list[1].Evening);
 | 
			
		||||
            Assert.AreEqual("0", list[1].Night);
 | 
			
		||||
            Assert.AreEqual("neu", list[1].Comment);
 | 
			
		||||
        }
 | 
			
		||||
 | 
			
		||||
        [Test]
 | 
			
		||||
        public void PrescriptionWithoutTypicalDosing()
 | 
			
		||||
        {
 | 
			
		||||
            Prescription p = Prescription.FromLine("Eusaprim forte\t alle zwei Tage");
 | 
			
		||||
            Assert.AreEqual("Eusaprim forte", p.Drug);
 | 
			
		||||
            Assert.AreEqual("alle zwei Tage", p.Comment);
 | 
			
		||||
            Assert.AreEqual("Eusaprim forte\talle zwei Tage", p.ToString(), "ToString");
 | 
			
		||||
        }
 | 
			
		||||
 | 
			
		||||
        [Test]
 | 
			
		||||
        [TestCase("CellCept 500 mg", true)]
 | 
			
		||||
        [TestCase("Cell CEpt 500 mg", true)]
 | 
			
		||||
        [TestCase("Myfortic", true)]
 | 
			
		||||
        [TestCase("Mycophenolatmofetil 500 mg", true)]
 | 
			
		||||
        [TestCase("Cellophan 5 g", false)]
 | 
			
		||||
        [TestCase("MMF 500 mg", true)]
 | 
			
		||||
        public void MmfProperty(string drug, bool isMmf)
 | 
			
		||||
        {
 | 
			
		||||
            Prescription p = new Prescription(drug);
 | 
			
		||||
            Assert.AreEqual(isMmf, p.IsMmf);
 | 
			
		||||
        }
 | 
			
		||||
    }
 | 
			
		||||
}
 | 
			
		||||
@@ -1,7 +1,7 @@
 | 
			
		||||
/* SelectFirstDayTest.cs
 | 
			
		||||
 * part of zaaReloaded2
 | 
			
		||||
 * 
 | 
			
		||||
 * Copyright 2015 Daniel Kraus
 | 
			
		||||
 * Copyright 2015-2018 Daniel Kraus
 | 
			
		||||
 * 
 | 
			
		||||
 * Licensed under the Apache License, Version 2.0 (the "License");
 | 
			
		||||
 * you may not use this file except in compliance with the License.
 | 
			
		||||
 
 | 
			
		||||
@@ -1,7 +1,7 @@
 | 
			
		||||
/* TestHelpers.cs
 | 
			
		||||
 * part of zaaReloaded2
 | 
			
		||||
 * 
 | 
			
		||||
 * Copyright 2015 Daniel Kraus
 | 
			
		||||
 * Copyright 2015-2018 Daniel Kraus
 | 
			
		||||
 * 
 | 
			
		||||
 * Licensed under the Apache License, Version 2.0 (the "License");
 | 
			
		||||
 * you may not use this file except in compliance with the License.
 | 
			
		||||
@@ -21,6 +21,7 @@ using System.IO;
 | 
			
		||||
using System.Linq;
 | 
			
		||||
using System.Text;
 | 
			
		||||
using zaaReloaded2.Importer.ZaaImporter;
 | 
			
		||||
using zaaReloaded2.Importer.ClinicImporter;
 | 
			
		||||
 | 
			
		||||
namespace Tests
 | 
			
		||||
{
 | 
			
		||||
@@ -38,5 +39,18 @@ namespace Tests
 | 
			
		||||
            importer.Import(r.ReadToEnd());
 | 
			
		||||
            return importer;
 | 
			
		||||
        }
 | 
			
		||||
 | 
			
		||||
        /// <summary>
 | 
			
		||||
        /// Creates a ClinicImporter object and imports demo-output-clinic.txt.
 | 
			
		||||
        /// </summary>
 | 
			
		||||
        /// <returns></returns>
 | 
			
		||||
        public static ClinicImporter ClinicImporterFromResource()
 | 
			
		||||
        {
 | 
			
		||||
            Stream s = typeof(TestHelpers).Assembly.GetManifestResourceStream("Tests.demo-output-clinic.txt");
 | 
			
		||||
            StreamReader r = new StreamReader(s);
 | 
			
		||||
            ClinicImporter importer = new ClinicImporter();
 | 
			
		||||
            importer.Import(r.ReadToEnd());
 | 
			
		||||
            return importer;
 | 
			
		||||
        }
 | 
			
		||||
    }
 | 
			
		||||
}
 | 
			
		||||
 
 | 
			
		||||
@@ -41,16 +41,20 @@
 | 
			
		||||
    <AssemblyOriginatorKeyFile>zaaReloaded2.pfx</AssemblyOriginatorKeyFile>
 | 
			
		||||
  </PropertyGroup>
 | 
			
		||||
  <ItemGroup>
 | 
			
		||||
    <Reference Include="Bovender, Version=0.5.0.0, Culture=neutral, PublicKeyToken=df1c15557d8b6df8, processorArchitecture=MSIL">
 | 
			
		||||
      <HintPath>..\packages\Bovender.0.5.0.0\lib\net40\Bovender.dll</HintPath>
 | 
			
		||||
    <Reference Include="Bovender, Version=0.17.0.0, Culture=neutral, PublicKeyToken=df1c15557d8b6df8, processorArchitecture=MSIL">
 | 
			
		||||
      <HintPath>..\packages\Bovender.0.17.0.0\lib\net40\Bovender.dll</HintPath>
 | 
			
		||||
      <Private>True</Private>
 | 
			
		||||
    </Reference>
 | 
			
		||||
    <Reference Include="Microsoft.Office.Interop.Word, Version=14.0.0.0, Culture=neutral, PublicKeyToken=71e9bce111e9429c, processorArchitecture=MSIL">
 | 
			
		||||
      <EmbedInteropTypes>True</EmbedInteropTypes>
 | 
			
		||||
    </Reference>
 | 
			
		||||
    <Reference Include="nunit.framework, Version=2.6.4.14350, Culture=neutral, PublicKeyToken=96d09a1eb7f44a77, processorArchitecture=MSIL">
 | 
			
		||||
      <SpecificVersion>False</SpecificVersion>
 | 
			
		||||
      <HintPath>..\packages\NUnit.2.6.4\lib\nunit.framework.dll</HintPath>
 | 
			
		||||
    <Reference Include="NLog, Version=4.0.0.0, Culture=neutral, PublicKeyToken=5120e14c03d0593c, processorArchitecture=MSIL">
 | 
			
		||||
      <HintPath>..\packages\NLog.4.4.12\lib\net40\NLog.dll</HintPath>
 | 
			
		||||
      <Private>True</Private>
 | 
			
		||||
    </Reference>
 | 
			
		||||
    <Reference Include="nunit.framework, Version=3.8.1.0, Culture=neutral, PublicKeyToken=2638cd05610744eb, processorArchitecture=MSIL">
 | 
			
		||||
      <HintPath>..\packages\NUnit.3.8.1\lib\net40\nunit.framework.dll</HintPath>
 | 
			
		||||
      <Private>True</Private>
 | 
			
		||||
    </Reference>
 | 
			
		||||
    <Reference Include="PresentationCore" />
 | 
			
		||||
    <Reference Include="PresentationFramework" />
 | 
			
		||||
@@ -66,6 +70,10 @@
 | 
			
		||||
    <Reference Include="System.Xaml" />
 | 
			
		||||
    <Reference Include="System.XML" />
 | 
			
		||||
    <Reference Include="WindowsBase" />
 | 
			
		||||
    <Reference Include="YamlDotNet, Version=4.1.0.0, Culture=neutral, PublicKeyToken=ec19458f3c15af5e, processorArchitecture=MSIL">
 | 
			
		||||
      <HintPath>..\packages\YamlDotNet.Signed.4.1.0\lib\net35\YamlDotNet.dll</HintPath>
 | 
			
		||||
      <Private>True</Private>
 | 
			
		||||
    </Reference>
 | 
			
		||||
  </ItemGroup>
 | 
			
		||||
  <Choose>
 | 
			
		||||
    <When Condition="('$(VisualStudioVersion)' == '10.0' or '$(VisualStudioVersion)' == '') and '$(TargetFrameworkVersion)' == 'v3.5'">
 | 
			
		||||
@@ -83,6 +91,12 @@
 | 
			
		||||
    <Compile Include="Controller\Comments\CommentPoolTest.cs" />
 | 
			
		||||
    <Compile Include="Controller\Comments\ItemCommentTest.cs" />
 | 
			
		||||
    <Compile Include="Controller\Elements\CloneTest.cs" />
 | 
			
		||||
    <Compile Include="Importer\ClinicImporter\ClinicItemTest.cs" />
 | 
			
		||||
    <Compile Include="Importer\ClinicImporter\ClinicLineTest.cs" />
 | 
			
		||||
    <Compile Include="Importer\ClinicImporter\TimePointTest.cs" />
 | 
			
		||||
    <Compile Include="Importer\ClinicImporter\ClinicImporterTest.cs" />
 | 
			
		||||
    <Compile Include="Medication\ImporterTest.cs" />
 | 
			
		||||
    <Compile Include="Medication\PrescriptionTest.cs" />
 | 
			
		||||
    <Compile Include="SerializationTest.cs" />
 | 
			
		||||
    <Compile Include="Controller\SettingsRepositoryTest.cs" />
 | 
			
		||||
    <Compile Include="Controller\SettingsTest.cs" />
 | 
			
		||||
@@ -105,6 +119,7 @@
 | 
			
		||||
    <Compile Include="ViewModels\SettingsViewModelTest.cs" />
 | 
			
		||||
  </ItemGroup>
 | 
			
		||||
  <ItemGroup>
 | 
			
		||||
    <None Include="app.config" />
 | 
			
		||||
    <None Include="packages.config" />
 | 
			
		||||
    <None Include="Tests.licenseheader" />
 | 
			
		||||
    <None Include="zaaReloaded2.pfx" />
 | 
			
		||||
@@ -133,6 +148,10 @@
 | 
			
		||||
  <ItemGroup>
 | 
			
		||||
    <EmbeddedResource Include="Formatter\FormatterTest-all.txt" />
 | 
			
		||||
  </ItemGroup>
 | 
			
		||||
  <ItemGroup>
 | 
			
		||||
    <EmbeddedResource Include="demo-output-clinic.txt" />
 | 
			
		||||
  </ItemGroup>
 | 
			
		||||
  <ItemGroup />
 | 
			
		||||
  <Choose>
 | 
			
		||||
    <When Condition="'$(VisualStudioVersion)' == '10.0' And '$(IsCodedUITest)' == 'True'">
 | 
			
		||||
      <ItemGroup>
 | 
			
		||||
 
 | 
			
		||||
@@ -1,7 +1,7 @@
 | 
			
		||||
/* ParametersTest.cs
 | 
			
		||||
 * part of zaaReloaded2
 | 
			
		||||
 * 
 | 
			
		||||
 * Copyright 2015 Daniel Kraus
 | 
			
		||||
 * Copyright 2015-2018 Daniel Kraus
 | 
			
		||||
 * 
 | 
			
		||||
 * Licensed under the Apache License, Version 2.0 (the "License");
 | 
			
		||||
 * you may not use this file except in compliance with the License.
 | 
			
		||||
@@ -52,5 +52,11 @@ namespace Tests.Thesaurus
 | 
			
		||||
        {
 | 
			
		||||
            Assert.IsTrue(Parameters.Default.GetIsBlacklisted("glomerul. Filtrationsr. (MDRD)"));
 | 
			
		||||
        }
 | 
			
		||||
 | 
			
		||||
        [Test]
 | 
			
		||||
        public void GetSuppressLabel()
 | 
			
		||||
        {
 | 
			
		||||
            Assert.IsTrue(Parameters.Default.GetSuppressLabel("- Multiresistenz"));
 | 
			
		||||
        }
 | 
			
		||||
    }
 | 
			
		||||
}
 | 
			
		||||
 
 | 
			
		||||
@@ -2,7 +2,7 @@
 | 
			
		||||
 * {{
 | 
			
		||||
 * part of zaaReloaded2
 | 
			
		||||
 * 
 | 
			
		||||
 * Copyright 2015 Daniel Kraus
 | 
			
		||||
 * Copyright 2015-2018 Daniel Kraus
 | 
			
		||||
 * 
 | 
			
		||||
 * Licensed under the Apache License, Version 2.0 (the "License");
 | 
			
		||||
 * you may not use this file except in compliance with the License.
 | 
			
		||||
 
 | 
			
		||||
@@ -1,7 +1,7 @@
 | 
			
		||||
/* Class1.cs
 | 
			
		||||
 * part of zaaReloaded2
 | 
			
		||||
 * 
 | 
			
		||||
 * Copyright 2015 Daniel Kraus
 | 
			
		||||
 * Copyright 2015-2018 Daniel Kraus
 | 
			
		||||
 * 
 | 
			
		||||
 * Licensed under the Apache License, Version 2.0 (the "License");
 | 
			
		||||
 * you may not use this file except in compliance with the License.
 | 
			
		||||
 
 | 
			
		||||
@@ -1,7 +1,7 @@
 | 
			
		||||
/* ElementPickerViewModelTest.cs
 | 
			
		||||
 * part of zaaReloaded2
 | 
			
		||||
 * 
 | 
			
		||||
 * Copyright 2015 Daniel Kraus
 | 
			
		||||
 * Copyright 2015-2018 Daniel Kraus
 | 
			
		||||
 * 
 | 
			
		||||
 * Licensed under the Apache License, Version 2.0 (the "License");
 | 
			
		||||
 * you may not use this file except in compliance with the License.
 | 
			
		||||
 
 | 
			
		||||
@@ -1,7 +1,7 @@
 | 
			
		||||
/* ItemCommentViewModelTest.cs
 | 
			
		||||
 * part of zaaReloaded2
 | 
			
		||||
 * 
 | 
			
		||||
 * Copyright 2015 Daniel Kraus
 | 
			
		||||
 * Copyright 2015-2018 Daniel Kraus
 | 
			
		||||
 * 
 | 
			
		||||
 * Licensed under the Apache License, Version 2.0 (the "License");
 | 
			
		||||
 * you may not use this file except in compliance with the License.
 | 
			
		||||
 
 | 
			
		||||
@@ -1,7 +1,7 @@
 | 
			
		||||
/* SettingsRepositoryViewModel.cs
 | 
			
		||||
 * part of zaaReloaded2
 | 
			
		||||
 * 
 | 
			
		||||
 * Copyright 2015 Daniel Kraus
 | 
			
		||||
 * Copyright 2015-2018 Daniel Kraus
 | 
			
		||||
 * 
 | 
			
		||||
 * Licensed under the Apache License, Version 2.0 (the "License");
 | 
			
		||||
 * you may not use this file except in compliance with the License.
 | 
			
		||||
 
 | 
			
		||||
@@ -1,7 +1,7 @@
 | 
			
		||||
/* SettingsViewModelTest.cs
 | 
			
		||||
 * part of zaaReloaded2
 | 
			
		||||
 * 
 | 
			
		||||
 * Copyright 2015 Daniel Kraus
 | 
			
		||||
 * Copyright 2015-2018 Daniel Kraus
 | 
			
		||||
 * 
 | 
			
		||||
 * Licensed under the Apache License, Version 2.0 (the "License");
 | 
			
		||||
 * you may not use this file except in compliance with the License.
 | 
			
		||||
 
 | 
			
		||||
							
								
								
									
										29
									
								
								Tests/app.config
									
									
									
									
									
										Executable file
									
								
							
							
						
						@@ -0,0 +1,29 @@
 | 
			
		||||
<?xml version="1.0" encoding="utf-8"?>
 | 
			
		||||
<!--
 | 
			
		||||
	app.config
 | 
			
		||||
	part of zaaReloaded2
 | 
			
		||||
	
 | 
			
		||||
	Copyright 2016 Daniel Kraus
 | 
			
		||||
	
 | 
			
		||||
	Licensed under the Apache License, Version 2.0 (the "License");
 | 
			
		||||
	you may not use this file except in compliance with the License.
 | 
			
		||||
	You may obtain a copy of the License at
 | 
			
		||||
	
 | 
			
		||||
	    http://www.apache.org/licenses/LICENSE-2.0
 | 
			
		||||
	
 | 
			
		||||
	Unless required by applicable law or agreed to in writing, software
 | 
			
		||||
	distributed under the License is distributed on an "AS IS" BASIS,
 | 
			
		||||
	WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
 | 
			
		||||
	See the License for the specific language governing permissions and
 | 
			
		||||
	limitations under the License.
 | 
			
		||||
-->
 | 
			
		||||
<configuration>
 | 
			
		||||
  <runtime>
 | 
			
		||||
    <assemblyBinding xmlns="urn:schemas-microsoft-com:asm.v1">
 | 
			
		||||
      <dependentAssembly>
 | 
			
		||||
        <assemblyIdentity name="YamlDotNet" publicKeyToken="ec19458f3c15af5e" culture="neutral" />
 | 
			
		||||
        <bindingRedirect oldVersion="0.0.0.0-4.1.0.0" newVersion="4.1.0.0" />
 | 
			
		||||
      </dependentAssembly>
 | 
			
		||||
    </assemblyBinding>
 | 
			
		||||
  </runtime>
 | 
			
		||||
</configuration>
 | 
			
		||||
							
								
								
									
										90
									
								
								Tests/demo-output-clinic.txt
									
									
									
									
									
										Executable file
									
								
							
							
						
						@@ -0,0 +1,90 @@
 | 
			
		||||
# This file contains 5 distinct time points.
 | 
			
		||||
# This leading text should be ignored.
 | 
			
		||||
# DO NOT CHANGE THE FOLLOWING TEXT, LEST THE TESTS WILL FAIL!
 | 
			
		||||
(06.09.2017 09:54:00)
 | 
			
		||||
	Gesamt-Eiweiss (PU):	54	[<= 120]	mg/l
 | 
			
		||||
	Gesamt-Eiweiss/Creatinin (PU):	59	[<= 70]	mg/g Crea
 | 
			
		||||
	Albumin (PU):	4	[<= 30]	mg/l
 | 
			
		||||
	Albumin/Creatinin (PU):	4.4	[<= 30]	mg/g Crea
 | 
			
		||||
	Creatinin (PU):	91.1	[29 - 226]	mg/dl
 | 
			
		||||
 | 
			
		||||
(06.09.2017 09:54:00)
 | 
			
		||||
	Erythrozyten (U):	negativ	[negativ]	
 | 
			
		||||
	Leukozyten (U):	+	[negativ]	
 | 
			
		||||
	Nitrit (U):	negativ	[negativ]	
 | 
			
		||||
	Protein (U):	negativ	[negativ]	
 | 
			
		||||
	Glucose (U):	negativ	[negativ]	
 | 
			
		||||
	Ketonkörper (U):	+	[negativ]	
 | 
			
		||||
	Bilirubin (U):	negativ	[negativ]	
 | 
			
		||||
	Urobilinogen (U):	negativ	[negativ]	
 | 
			
		||||
	pH (U):	6.500	[4.8 - 7.4]	
 | 
			
		||||
	spezifisches Gewicht (U):	1.015	[1.00 - 1.04]	g/ml
 | 
			
		||||
	Erythrozyten (U):	3	[<= 25]	Ery/µl
 | 
			
		||||
	Leukozyten (U):	4	[<= 20]	Leu/µl
 | 
			
		||||
	Bakterien (U):	193		Bak/µl
 | 
			
		||||
	Plattenepithelien (U):	25		Epi/µl
 | 
			
		||||
	Übergangsepithelien (U):	0		Uge/µl
 | 
			
		||||
	hyaline Zylinder (U):	0		Zyh/µl
 | 
			
		||||
 | 
			
		||||
(06.09.2017 09:52:00)
 | 
			
		||||
	Gesamt-Eiweiss (SU):	< 40	[<= 120]	mg/l
 | 
			
		||||
	Albumin (SU):	< 3		mg/l
 | 
			
		||||
	a1-Microglobulin (SU):	< 5		mg/l
 | 
			
		||||
	Immunglobulin G (SU):	< 4		mg/l
 | 
			
		||||
	Sammelzeit (U):	24		h
 | 
			
		||||
	Sammelmenge (U):	3200		ml
 | 
			
		||||
	Calcium (SU):	0.26		mmol/l
 | 
			
		||||
	Calcium (SU)/die:	0.83	[2.5 - 8]	mmol/d
 | 
			
		||||
	Creatinin (SU):	30.2		mg/dl
 | 
			
		||||
	Harnstoff (SU):	674	[900 - 3000]	mg/dl
 | 
			
		||||
	Harnstoff (SU)/die:	21.6	[<= 35]	g/d
 | 
			
		||||
	Kalium (SU):	45.4	[20 - 80]	mmol/l
 | 
			
		||||
	Kalium (SU)/die:	145.28	[25 - 125]	mmol/d
 | 
			
		||||
	Natrium (SU):	28.9	[54 - 150]	mmol/l
 | 
			
		||||
	Natrium (SU)/die:	92.5	[40 - 220]	mmol/d
 | 
			
		||||
 | 
			
		||||
(06.09.2017 09:50:00)
 | 
			
		||||
	Cystatin C (Latex Gen. 2):	1.04	[0.61 - 0.95]	mg/l
 | 
			
		||||
 | 
			
		||||
(06.09.2017 09:45:00)
 | 
			
		||||
	Natrium:	137	[135 - 145]	mmol/l
 | 
			
		||||
	Kalium:	4.6	[3.5 - 5]	mmol/l
 | 
			
		||||
	Calcium:	2.4	[2.0 - 2.7]	mmol/l
 | 
			
		||||
	anorg. Phosphat:	1.29	[0.87 - 1.45]	mmol/l
 | 
			
		||||
	Calcium-Phosphat-Produkt:	3.10	[<= 4.4]	mmol²/l²
 | 
			
		||||
	glomerul. Filtrationsr. CKD-EP:	62		ml/min /1,73qm
 | 
			
		||||
	glomerul. Filtrationsr. (MDRD):	59		ml/min /1,73qm
 | 
			
		||||
	Creatinin:	1.06	[0 - 0.95]	mg/dl
 | 
			
		||||
	Harnstoff:	52.1	[10 - 50]	mg/dl
 | 
			
		||||
	Lactat Dehydrogenase:	175	[<= 250]	U/l
 | 
			
		||||
	Cholesterin:	180	[130 - 220]	mg/dl
 | 
			
		||||
	Triglyceride:	51	[74 - 172]	mg/dl
 | 
			
		||||
	LDL - Cholesterin:	91	[0 - 150]	mg/dl
 | 
			
		||||
	HDL - Cholesterin:	79	[>= 35]	mg/dl
 | 
			
		||||
	Albumin:	4.5	[3.5 - 5.5]	g/dl
 | 
			
		||||
	Leukozyten:	4.7	[5 - 10]	n*1000/µl
 | 
			
		||||
	Erythrozyten:	4.09	[4 - 5]	n*10E6/µl
 | 
			
		||||
	Hämoglobin:	11.9	[12 - 16]	g/dl
 | 
			
		||||
	Hämatokrit:	36.6	[35 - 47]	%
 | 
			
		||||
	MCV:	89.5	[82 - 96]	fl
 | 
			
		||||
	MCH (HbE):	29.1	[27 - 33]	pg
 | 
			
		||||
	MCHC:	32.5	[32 - 36]	g/dl
 | 
			
		||||
	Thrombozyten:	302	[150 - 450]	n*1000/µl
 | 
			
		||||
	Mittleres Plättchenvolumen:	11.3	[9.6 - 12.0]	fl
 | 
			
		||||
	Neutrophile:	2.60	[1.8 - 7.2]	n*1000/µl
 | 
			
		||||
	Lymphozyten:	1.35	[1 - 4.05]	n*1000/µl
 | 
			
		||||
	Monozyten:	0.47	[0.08 - 0.8]	n*1000/µl
 | 
			
		||||
	Eosinophile:	0.2	[0.04 - 0.36]	n*1000/µl
 | 
			
		||||
	Basophile:	0.1	[0 - 0.08]	n*1000/µl
 | 
			
		||||
	% Neutrophile:	55.1	[41 - 70]	%
 | 
			
		||||
	% Lymphozyten:	28.7	[25 - 40]	%
 | 
			
		||||
	% Monozyten:	10.0	[2 - 8]	%
 | 
			
		||||
	% Eosinophile:	4.7	[0.8 - 6.2]	%
 | 
			
		||||
	% Basophile:	1.3	[0 - 1]	%
 | 
			
		||||
	Unreife Granulozyten:	0.01		n*1000/µl
 | 
			
		||||
	% Unreife Granulozyten:	0.2		%
 | 
			
		||||
	C-reaktives Protein:	0.02	[0 - 0.5]	mg/dl
 | 
			
		||||
 | 
			
		||||
(06.09.2017 09:15:00)
 | 
			
		||||
	TSH:	1.30	[0.3 - 4.0]	mIU/l
 | 
			
		||||
	PTH intakt:	106.0	[12 - 65]	ng/l
 | 
			
		||||
@@ -1,6 +1,8 @@
 | 
			
		||||
<?xml version="1.0" encoding="utf-8"?>
 | 
			
		||||
<packages>
 | 
			
		||||
  <package id="Bovender" version="0.5.0.0" targetFramework="net40" />
 | 
			
		||||
  <package id="Bovender" version="0.17.0.0" targetFramework="net40" />
 | 
			
		||||
  <package id="Expression.Blend.Sdk" version="1.0.2" targetFramework="net40" />
 | 
			
		||||
  <package id="NUnit" version="2.6.4" targetFramework="net40" />
 | 
			
		||||
  <package id="NLog" version="4.4.12" targetFramework="net40" />
 | 
			
		||||
  <package id="NUnit" version="3.8.1" targetFramework="net40" />
 | 
			
		||||
  <package id="YamlDotNet.Signed" version="4.2.1" targetFramework="net40" />
 | 
			
		||||
</packages>
 | 
			
		||||
							
								
								
									
										1
									
								
								deploy/VstoAddinInstaller
									
									
									
									
									
										Submodule
									
								
							
							
								
								
								
								
								
							
						
						
							
								
								
									
										32
									
								
								deploy/make-installer.iss
									
									
									
									
									
										Executable file
									
								
							
							
						
						@@ -0,0 +1,32 @@
 | 
			
		||||
#expr Exec("C:\Program Files (x86)\Microsoft Visual Studio 12.0\Common7\IDE\devenv.com", \
 | 
			
		||||
           "x:\Code\zaaReloaded2\zaaReloaded2\zaaReloaded2.csproj /Build Release")
 | 
			
		||||
 | 
			
		||||
#define VERSIONFILE "..\zaaReloaded2\VERSION"
 | 
			
		||||
#define PUB_YEARS "2015-2017"
 | 
			
		||||
#define TARGET_HOST "word"
 | 
			
		||||
#define APP_GUID "{{8520B887-3AB1-422B-AB6B-A265D14FE4E5}"
 | 
			
		||||
#define ADDIN_NAME "zaaReloaded"
 | 
			
		||||
#define COMPANY "Daniel Kraus (bovender)"
 | 
			
		||||
#define DESCRIPTION "Word-Addin, das Lauris-Laborwerte in der Zentralen Arztbriefablage formatiert."
 | 
			
		||||
#define HOMEPAGE "https://doktorkraus.de/zaareloaded"
 | 
			
		||||
#define REGKEY "zaaReloaded2"
 | 
			
		||||
 | 
			
		||||
#define SOURCEDIR "..\zaaReloaded2\bin\Release\"
 | 
			
		||||
#define VSTOFILE "zaaReloaded2.vsto"
 | 
			
		||||
 | 
			
		||||
; OUTPUTDIR is the directory where the installer will be saved.
 | 
			
		||||
#define OUTPUTDIR "releases\"
 | 
			
		||||
 | 
			
		||||
#define LOGFILE "ZAARELOADED2-INSTALL-LOG.TXT"
 | 
			
		||||
 | 
			
		||||
#define SETUPFILESDIR "setup-files\"
 | 
			
		||||
#define LICENSE_FILE "license.rtf"
 | 
			
		||||
#define INSTALLER_ICO "icon.ico"
 | 
			
		||||
#define INSTALLER_IMAGE_LARGE "installbanner.bmp"
 | 
			
		||||
#define INSTALLER_IMAGE_SMALL "installbanner-small.bmp"
 | 
			
		||||
 | 
			
		||||
; If the VstoAddinInstaller files are in a different subdirectory
 | 
			
		||||
; than 'VstoAddinInstaller', change the path below.
 | 
			
		||||
#include "VstoAddinInstaller\vsto-installer.iss"
 | 
			
		||||
 | 
			
		||||
; vim: ts=2 sts=2 sw=2 et
 | 
			
		||||
| 
		 Före Bredd: | Höjd: | Storlek: 204 KiB Efter Bredd: | Höjd: | Storlek: 204 KiB  | 
| 
		 Före Bredd: | Höjd: | Storlek: 38 KiB Efter Bredd: | Höjd: | Storlek: 38 KiB  | 
| 
		 Före Bredd: | Höjd: | Storlek: 6.8 KiB Efter Bredd: | Höjd: | Storlek: 6.8 KiB  | 
| 
		 Före Bredd: | Höjd: | Storlek: 153 KiB Efter Bredd: | Höjd: | Storlek: 153 KiB  | 
							
								
								
									
										
											Binär
										
									
								
								gimp/m.xcf
									
									
									
									
									
										Normal file
									
								
							
							
						
						
							
								
								
									
										
											Binär
										
									
								
								gimp/mm.xcf
									
									
									
									
									
										Normal file
									
								
							
							
						
						@@ -1,760 +0,0 @@
 | 
			
		||||
; Inno Setup script for zaaReloaded2
 | 
			
		||||
; (c) 2015 Daniel Kraus
 | 
			
		||||
; Apache License Version 2.0
 | 
			
		||||
 | 
			
		||||
[Setup]
 | 
			
		||||
; #define DEBUG
 | 
			
		||||
 | 
			
		||||
; Read the semantic and the installer file version from the VERSION file
 | 
			
		||||
#define FILE_HANDLE FileOpen("..\zaaReloaded2\VERSION")
 | 
			
		||||
#define SEMVER FileRead(FILE_HANDLE)
 | 
			
		||||
#define VER FileRead(FILE_HANDLE)
 | 
			
		||||
#expr FileClose(FILE_HANDLE)
 | 
			
		||||
 | 
			
		||||
#define YEAR "2015"
 | 
			
		||||
#define DEV "Daniel Kraus"
 | 
			
		||||
#define LOGFILE "INST-LOG.TXT"
 | 
			
		||||
#define REGKEY "Software\Microsoft\Office\Word\Addins\zaaReloaded2"
 | 
			
		||||
#define APPNAME "zaaReloaded"
 | 
			
		||||
#define SLOGAN "Word-Addin, das Lauris-Laborwerte in der Zentralen Arztbriefablage formatiert"
 | 
			
		||||
#define UNINSTALLDIR "{app}\setup"
 | 
			
		||||
#define ADDINNAME "zaaReloaded2"
 | 
			
		||||
#define DOTNETSHA1 "58da3d74db353aad03588cbb5cea8234166d8b99"
 | 
			
		||||
#define VSTORSHA1 "ad1dcc5325cb31754105c8c783995649e2208571"
 | 
			
		||||
 | 
			
		||||
#ifndef DEBUG
 | 
			
		||||
  #define SOURCEDIR "Release"
 | 
			
		||||
	#define VSTORURL "http://download.microsoft.com/download/2/E/9/2E9D2603-6D1F-4B12-BD37-DB1410B23597/vstor_redist.exe"
 | 
			
		||||
	#define DOTNETURL "http://download.microsoft.com/download/9/5/A/95A9616B-7A37-4AF6-BC36-D6EA96C8DAAE/dotNetFx40_Full_x86_x64.exe"
 | 
			
		||||
	; Build the solution with Release configuration
 | 
			
		||||
	#expr Exec("C:\Program Files (x86)\Microsoft Visual Studio 12.0\Common7\IDE\devenv.com", \
 | 
			
		||||
				"x:\Code\zaaReloaded2\zaaReloaded2\zaaReloaded2.csproj /Build Release")
 | 
			
		||||
#else
 | 
			
		||||
  #define SOURCEDIR "Debug"
 | 
			
		||||
	#define VSTORURL "http://vhost/vstor_redist.exe"
 | 
			
		||||
	#define DOTNETURL "http://vhost/dotNetFx40_Full_x86_x64.exe"
 | 
			
		||||
#endif
 | 
			
		||||
 | 
			
		||||
; Specific AppID - NEVER CHANGE THIS!
 | 
			
		||||
AppId={{8520B887-3AB1-422B-AB6B-A265D14FE4E5}
 | 
			
		||||
                      
 | 
			
		||||
; Compiler info
 | 
			
		||||
OutputDir=release
 | 
			
		||||
#ifndef DEBUG
 | 
			
		||||
	OutputBaseFilename=zaaReloaded-{#SEMVER}
 | 
			
		||||
#else
 | 
			
		||||
	OutputBaseFilename=zaaReloaded-debug
 | 
			
		||||
#endif
 | 
			
		||||
Compression=lzma
 | 
			
		||||
InternalCompressLevel=max
 | 
			
		||||
SolidCompression=true
 | 
			
		||||
LicenseFile=setup-files\license.rtf
 | 
			
		||||
 | 
			
		||||
; Application name, version, etc.
 | 
			
		||||
AppName={#APPNAME}
 | 
			
		||||
AppVersion={#SEMVER}
 | 
			
		||||
AppPublisher={#DEV}
 | 
			
		||||
AppCopyright=2008-{#YEAR} {#DEV}
 | 
			
		||||
AppComments={#SLOGAN}
 | 
			
		||||
VersionInfoDescription={#SLOGAN}
 | 
			
		||||
VersionInfoVersion={#VER}
 | 
			
		||||
VersionInfoProductVersion={#VER}
 | 
			
		||||
VersionInfoTextVersion={#SEMVER}
 | 
			
		||||
VersionInfoProductTextVersion={#SEMVER}
 | 
			
		||||
AppContact={#DEV}
 | 
			
		||||
AppPublisherURL=http://zaa.nephrowiki.de
 | 
			
		||||
AppSupportURL=http://zaa.nephrowiki.de
 | 
			
		||||
AppUpdatesURL=http://zaa.nephrowiki.de
 | 
			
		||||
 | 
			
		||||
; Setup wizard
 | 
			
		||||
SetupIconFile=setup-files\icon.ico
 | 
			
		||||
WizardImageFile=setup-files\installbanner.bmp
 | 
			
		||||
WizardSmallImageFile=setup-files\installbanner-small.bmp
 | 
			
		||||
ArchitecturesAllowed=x86 x64
 | 
			
		||||
ArchitecturesInstallIn64BitMode=x64
 | 
			
		||||
DisableProgramGroupPage=true
 | 
			
		||||
DisableDirPage=false
 | 
			
		||||
DisableReadyPage=false
 | 
			
		||||
LanguageDetectionMethod=locale
 | 
			
		||||
TimeStampsInUTC=false
 | 
			
		||||
PrivilegesRequired=lowest
 | 
			
		||||
WizardImageStretch=false
 | 
			
		||||
WizardImageBackColor=clWhite
 | 
			
		||||
; ChangesAssociations=true
 | 
			
		||||
AppendDefaultDirName=false
 | 
			
		||||
DefaultDirName={code:SuggestInstallDir}
 | 
			
		||||
CreateAppDir=true
 | 
			
		||||
CloseApplicationsFilter=*.*
 | 
			
		||||
DefaultDialogFontName=Segoe UI
 | 
			
		||||
 | 
			
		||||
; Uninstall
 | 
			
		||||
;UninstallDisplayIcon={#UNINSTALLDIR}\xltoolbox.ico
 | 
			
		||||
UninstallFilesDir={#UNINSTALLDIR}
 | 
			
		||||
	
 | 
			
		||||
; Inno Downloader Plugin is required for this
 | 
			
		||||
; Note that this include directive MUST be located at the end of the [setup]
 | 
			
		||||
; section.
 | 
			
		||||
#include <idp.iss>
 | 
			
		||||
 | 
			
		||||
[Languages]
 | 
			
		||||
Name: en; MessagesFile: compiler:Default.isl; 
 | 
			
		||||
Name: de; MessagesFile: compiler:Languages\German.isl; 
 | 
			
		||||
; Name: Brasileiro; MessagesFile: compiler:Languages\BrazilianPortuguese.isl;
 | 
			
		||||
; Name: Portugues; MessagesFile: compiler:Languages\Portuguese.isl;
 | 
			
		||||
#include "c:\Program Files (x86)\Inno Download Plugin\Unicode\idplang\german.iss"
 | 
			
		||||
 | 
			
		||||
[Files]
 | 
			
		||||
Source: "..\zaaReloaded2\bin\{#SOURCEDIR}\*"; DestDir: "{app}"; Flags: ignoreversion createallsubdirs recursesubdirs
 | 
			
		||||
; Source: "setup-files\xltoolbox.ico"; DestDir: "{#UNINSTALLDIR}"
 | 
			
		||||
; NOTE: Don't use "Flags: ignoreversion" on any shared system files
 | 
			
		||||
 | 
			
		||||
[Registry]
 | 
			
		||||
; Keys for single-user install (HKCU)
 | 
			
		||||
Check: not IsMultiUserInstall; ValueName: Description; ValueData: {#SLOGAN}; ValueType: string; Root: HKCU; Subkey: {#REGKEY}; Flags: uninsdeletekey
 | 
			
		||||
Check: not IsMultiUserInstall; ValueName: FriendlyName; ValueData: {#APPNAME}; ValueType: string; Root: HKCU; Subkey: {#REGKEY}; Flags: uninsdeletekey
 | 
			
		||||
Check: not IsMultiUserInstall; ValueName: LoadBehavior; ValueData: 3; ValueType: dword; Root: HKCU; Subkey: {#REGKEY}; Flags: uninsdeletekey
 | 
			
		||||
Check: not IsMultiUserInstall; ValueName: Warmup; ValueData: 1; ValueType: dword; Root: HKCU; Subkey: {#REGKEY}; Flags: uninsdeletekey
 | 
			
		||||
Check: not IsMultiUserInstall; ValueName: Manifest; ValueData: file:///{code:ConvertSlash|{app}}/{#ADDINNAME}.vsto|vstolocal; ValueType: string; Root: HKCU; Subkey: {#REGKEY}; Flags: uninsdeletekey
 | 
			
		||||
 | 
			
		||||
; Same keys again, this time for multi-user install (HKLM)
 | 
			
		||||
Check: IsMultiUserInstall; ValueName: Description; ValueData: {#SLOGAN}; ValueType: string; Root: HKLM; Subkey: {#REGKEY}; Flags: uninsdeletekey
 | 
			
		||||
Check: IsMultiUserInstall; ValueName: FriendlyName; ValueData: {#APPNAME}; ValueType: string; Root: HKLM; Subkey: {#REGKEY}; Flags: uninsdeletekey
 | 
			
		||||
Check: IsMultiUserInstall; ValueName: LoadBehavior; ValueData: 3; ValueType: dword; Root: HKLM; Subkey: {#REGKEY}; Flags: uninsdeletekey
 | 
			
		||||
Check: IsMultiUserInstall; ValueName: Warmup; ValueData: 1; ValueType: dword; Root: HKLM; Subkey: {#REGKEY}; Flags: uninsdeletekey
 | 
			
		||||
Check: IsMultiUserInstall; ValueName: Manifest; ValueData: file:///{code:ConvertSlash|{app}}/{#ADDINNAME}.vsto|vstolocal; ValueType: string; Root: HKLM; Subkey: {#REGKEY}; Flags: uninsdeletekey
 | 
			
		||||
 | 
			
		||||
[Run]
 | 
			
		||||
; Filename: http://xltoolbox.sourceforge.net/welcome.html; Flags: shellexec nowait; Check: ShowWelcomePageInBrowser
 | 
			
		||||
 | 
			
		||||
[UninstallRun]
 | 
			
		||||
; Filename: http://xltoolbox.sourceforge.net/uninstall.html; Flags: shellexec nowait
 | 
			
		||||
 | 
			
		||||
[CustomMessages]
 | 
			
		||||
; General messages [EN]
 | 
			
		||||
en.SingleOrMulti=Single-user or system-wide install
 | 
			
		||||
en.SingleOrMultiSubcaption=Install for the current user only or for all users
 | 
			
		||||
en.SingleOrMultiDesc=Please indicate the scope of this installation:
 | 
			
		||||
en.SingleOrMultiSingle=Single user (only for me)
 | 
			
		||||
en.SingleOrMultiAll=All users (system-wide)
 | 
			
		||||
en.Word2007Required=zaaReloaded requires Word 2007 or later.
 | 
			
		||||
 | 
			
		||||
; CannotInstallPage [EN]
 | 
			
		||||
en.CannotInstallCaption=Administrator privileges required
 | 
			
		||||
en.CannotInstallDesc=You do not have the necessary rights to install additional required runtime files.
 | 
			
		||||
en.CannotInstallMsg=Additional runtime files from Microsoft are required to run this add-in. You may continue the installation, but the add-in won't start unless the required runtime files are installed by an administrator. Note: On Windows Vista and newer, right-click the installer file and choose 'Run as administrator'.
 | 
			
		||||
en.CannotInstallCont=Continue anyway, although it won't work without the required runtime files
 | 
			
		||||
en.CannotInstallAbort=Abort the installation (come back when the admin has installed the files)
 | 
			
		||||
 | 
			
		||||
; DownloadInfoPage [EN]
 | 
			
		||||
en.RequiredCaption=Additional runtime files required
 | 
			
		||||
en.RequiredDesc=Additional runtime files for the .NET framework from Microsoft are required in order to run the add-in.
 | 
			
		||||
en.RequiredMsg=%d file(s) totalling about %s MiB need to be downloaded from the Microsoft servers. Click 'Next' to start downloading.
 | 
			
		||||
 | 
			
		||||
; InstallInfoPage [EN]
 | 
			
		||||
en.InstallCaption=Runtime files downloaded
 | 
			
		||||
en.InstallDesc=The required runtime files are ready to install.
 | 
			
		||||
en.InstallMsg=Click 'Next' to beginn the installation.
 | 
			
		||||
 | 
			
		||||
en.StillNotInstalled=The required additional runtime files are still not installed. Setup cannot continue. You may try again, or abort the add-in installation.
 | 
			
		||||
en.DownloadNotValidated=A downloaded file has unexpected content. It may have not been downloaded correctly, or someone might have hampered with it. You may click 'Back' and then 'Next' to download it again.
 | 
			
		||||
 | 
			
		||||
; General messages [DE]
 | 
			
		||||
de.SingleOrMulti=Einzelner oder alle Benutzer
 | 
			
		||||
de.SingleOrMultiSubcaption=Geben Sie an, f<>r wen die Installation sein soll
 | 
			
		||||
de.SingleOrMultiDesc=Bitte geben Sie an, ob das Addin nur f<>r Sie oder f<>r alle Benutzer installiert werden soll.
 | 
			
		||||
de.SingleOrMultiSingle=Ein Benutzer (nur f<>r mich)
 | 
			
		||||
de.SingleOrMultiAll=Alle Benutzer (systemweit)
 | 
			
		||||
de.Word2007Required=Dieses Addin erfordert mindestens Word 2007.
 | 
			
		||||
 | 
			
		||||
; "Download required" messages (.NET and VSTOR runtimes) [DE]
 | 
			
		||||
de.CannotInstallCaption=Administratorrechte ben<65>tigt
 | 
			
		||||
de.CannotInstallDesc=Sie haben nicht die erforderlichen Benutzerrechte, um weitere ben<65>tigte Laufzeitdateien zu installieren.
 | 
			
		||||
de.CannotInstallMsg=Sie k<>nnen mit der Installation fortfahren, aber das Addin wird nicht starten, solange die VSTO-Laufzeitdateien nicht von einem Admin installiert wurden. Tipp: Wenn Sie Windows Vista oder neuer verwenden, klicken Sie mit der rechten Maustaste auf die Installationsdatei und w<>hlen "Als Administrator ausf<73>hren".
 | 
			
		||||
de.CannotInstallCont=Trotzdem installieren, obwohl es nicht funktionieren wird
 | 
			
		||||
de.CannotInstallAbort=Installation abbrechen
 | 
			
		||||
 | 
			
		||||
; DownloadInfoPage [EN]
 | 
			
		||||
de.RequiredCaption=Weitere Laufzeitdateien erforderlich
 | 
			
		||||
de.RequiredDesc=Weitere Laufzeitdateien f<>r das .NET-Framework von Microsoft werden ben<65>tigt, um das Addin verwenden zu k<>nnen.
 | 
			
		||||
de.RequiredMsg=%d Datei(en) mit ca. %s MiB mu<6D>/m<>ssen von den Microsoft-Servern heruntergeladen werden. Klicken Sie 'Weiter', um den Download zu beginnen.
 | 
			
		||||
 | 
			
		||||
; InstallInfoPage [EN]
 | 
			
		||||
de.InstallCaption=Weitere .NET-Laufzeitdateien heruntergeladen
 | 
			
		||||
de.InstallDesc=Die zus<75>tzlichen ben<65>tigten Dateien von Microsoft k<>nnen jetzt installiert werden.
 | 
			
		||||
de.InstallMsg=Klicken Sie 'Weiter', um mit der Installation zu beginnen.
 | 
			
		||||
 | 
			
		||||
de.StillNotInstalled=Die zus<75>tzlichen ben<65>tigten Dateien wurden leider nicht korrekt installiert, so da<64> die Installation nicht fortgesetzt werden kann.
 | 
			
		||||
de.DownloadNotValidated=Es wurde unerwarteter Inhalt in einer heruntergeladenen Datei gefunden. Die Installation kann so nicht fortgesetzt werden. Sie k<>nnen aber 'Zur<75>ck' und dann 'Weiter' klicken, um den Download neu zu beginnen.
 | 
			
		||||
 | 
			
		||||
[Code]
 | 
			
		||||
const
 | 
			
		||||
	maxWord = 24; //< highest Word version number to check for.
 | 
			
		||||
	
 | 
			
		||||
var
 | 
			
		||||
	PageDevelopmentInfo: TInputOptionWizardPage;
 | 
			
		||||
	PageSingleOrMultiUser: TInputOptionWizardPage;
 | 
			
		||||
	PageCannotInstall: TInputOptionWizardPage;
 | 
			
		||||
	PageDownloadInfo: TOutputMsgWizardPage;
 | 
			
		||||
	PageInstallInfo: TOutputMsgWizardPage;
 | 
			
		||||
	prerequisitesChecked: boolean;
 | 
			
		||||
	prerequisitesMet: boolean;
 | 
			
		||||
 | 
			
		||||
/// Returns the path for the Wow6432Node registry tree if the current operating
 | 
			
		||||
/// system is 64-bit, i.e., simulates WOW64 redirection.
 | 
			
		||||
function GetWowNode(): string;
 | 
			
		||||
begin
 | 
			
		||||
	if IsWin64 then
 | 
			
		||||
	begin
 | 
			
		||||
		result := 'Wow6432Node\';
 | 
			
		||||
	end
 | 
			
		||||
	else
 | 
			
		||||
	begin
 | 
			
		||||
		result := '';
 | 
			
		||||
	end;
 | 
			
		||||
end;
 | 
			
		||||
	
 | 
			
		||||
/// Checks if a given Word version is installed
 | 
			
		||||
function IsWordVersionInstalled(version: integer): boolean;
 | 
			
		||||
var key: string;
 | 
			
		||||
var lookup1, lookup2: boolean;
 | 
			
		||||
begin
 | 
			
		||||
	key := 'Microsoft\Office\' + IntToStr(version) + '.0\Word\InstallRoot';
 | 
			
		||||
	lookup1 := RegKeyExists(HKEY_LOCAL_MACHINE, 'SOFTWARE\' + GetWowNode + key);
 | 
			
		||||
	
 | 
			
		||||
	// If checking for version >= 14.0 ("2010"), which was the first version
 | 
			
		||||
	// that was produced in both 32-bit and 64-bit, on a 64-bit system we
 | 
			
		||||
	// also need to check a path without  'Wow6434Node'.
 | 
			
		||||
	if IsWin64 and (version >= 14) then
 | 
			
		||||
	begin
 | 
			
		||||
		lookup2 := RegKeyExists(HKEY_LOCAL_MACHINE, 'SOFTWARE\' + key);
 | 
			
		||||
	end;
 | 
			
		||||
	
 | 
			
		||||
	result := lookup1 or lookup2;
 | 
			
		||||
end;
 | 
			
		||||
 | 
			
		||||
/// Checks if only Word 2007 is installed
 | 
			
		||||
function IsOnlyWord2007Installed(): boolean;
 | 
			
		||||
var
 | 
			
		||||
	i: integer;
 | 
			
		||||
begin
 | 
			
		||||
	result := IsWordVersionInstalled(12);
 | 
			
		||||
	
 | 
			
		||||
	// Iterate through all
 | 
			
		||||
	for i := 14 to maxWord do
 | 
			
		||||
	begin
 | 
			
		||||
		if IsWordVersionInstalled(i) then
 | 
			
		||||
		begin
 | 
			
		||||
			result := false;
 | 
			
		||||
			break;
 | 
			
		||||
		end;
 | 
			
		||||
	end;
 | 
			
		||||
end;
 | 
			
		||||
 | 
			
		||||
/// Checks if hotfix KB976477 is installed. This hotfix
 | 
			
		||||
/// is required to make Word 2007 recognize add-ins in
 | 
			
		||||
/// the HKLM hive as well.
 | 
			
		||||
function IsHotfixInstalled(): boolean;
 | 
			
		||||
begin
 | 
			
		||||
  result := RegKeyExists(HKEY_LOCAL_MACHINE,
 | 
			
		||||
		'SOFTWARE\Microsoft\Windows\Current Version\Uninstall\KB976477');
 | 
			
		||||
end;
 | 
			
		||||
 | 
			
		||||
/// Retrieves the build number of an installed Office version
 | 
			
		||||
/// in OutBuild. Returns true if the requested Office version
 | 
			
		||||
/// is installed and false if it is not installed.
 | 
			
		||||
function GetOfficeBuild(OfficeVersion: integer; var OutBuild: integer): boolean;
 | 
			
		||||
var
 | 
			
		||||
	key: string;
 | 
			
		||||
	value: string;
 | 
			
		||||
	build: string;
 | 
			
		||||
begin
 | 
			
		||||
	key := 'SOFTWARE\' + GetWowNode + 'Microsoft\Office\' +
 | 
			
		||||
					IntToStr(OfficeVersion) + '.0\Common\ProductVersion';
 | 
			
		||||
	if RegQueryStringValue(HKEY_LOCAL_MACHINE, key, 'LastProduct', value) then
 | 
			
		||||
	begin
 | 
			
		||||
		// Office build numbers always have 4 digits, at least as of Feb. 2015;
 | 
			
		||||
		// from a string '14.0.1234.5000' simply copy 4 characters from the 5th
 | 
			
		||||
		// position to get the build number. TODO: Make this future-proof.
 | 
			
		||||
		build := Copy(value, 6, 4);
 | 
			
		||||
		Log('Found ProductVersion "' + value + '" for queried Office version '
 | 
			
		||||
			+ IntToStr(OfficeVersion) + ', extracted build number ' + build);
 | 
			
		||||
		OutBuild := StrToInt(build);
 | 
			
		||||
		result := true;
 | 
			
		||||
	end
 | 
			
		||||
	else
 | 
			
		||||
		Log('Did not find LastProduct key for Office version ' +
 | 
			
		||||
				IntToStr(OfficeVersion) + '.0.');
 | 
			
		||||
end;
 | 
			
		||||
 | 
			
		||||
/// Asserts if Office 2007 is installed. Does not check whether other Office
 | 
			
		||||
/// versions are concurrently installed.
 | 
			
		||||
function IsOffice2007Installed(): boolean;
 | 
			
		||||
begin
 | 
			
		||||
	result := IsWordVersionInstalled(12);
 | 
			
		||||
	if result then Log('Detected Office 2007.');
 | 
			
		||||
end;
 | 
			
		||||
 | 
			
		||||
/// Asserts if Office 2010 without service pack is installed.
 | 
			
		||||
/// For build number, see http://support.microsoft.com/kb/2121559/en-us
 | 
			
		||||
function IsOffice2010NoSpInstalled(): boolean;
 | 
			
		||||
var
 | 
			
		||||
	build: integer;
 | 
			
		||||
begin
 | 
			
		||||
	if GetOfficeBuild(14, build) then
 | 
			
		||||
	begin
 | 
			
		||||
		result := build = 4763; // 4763 is the original Office 2007 build
 | 
			
		||||
		if result then
 | 
			
		||||
			Log('Detected Office 2010 without service pack (v. 14.0, build 4763)')
 | 
			
		||||
		else
 | 
			
		||||
			Log('Detected Office 2010, apparently with some service pack (build ' +
 | 
			
		||||
					IntToStr(build) + ').');
 | 
			
		||||
	end;
 | 
			
		||||
end;
 | 
			
		||||
 | 
			
		||||
/// Checks if the VSTO runtime is installed. This is relevant if only
 | 
			
		||||
/// Word 2007 is installed. Since Office 2010, the CLR is
 | 
			
		||||
/// automatically included.
 | 
			
		||||
/// The presence of the VSTO runtime is indicated by the presence one of
 | 
			
		||||
/// four possible registry keys.
 | 
			
		||||
/// See: http://xltoolbox.sf.net/blog/2015/01/net-vsto-add-ins-getting-prerequisites-right
 | 
			
		||||
/// HKLM\SOFTWARE\Microsoft\VSTO Runtime Setup\v4R (32-bit)
 | 
			
		||||
/// HKLM\SOFTWARE\Wow6432Node\Microsoft\VSTO Runtime Setup\v4R (64-bit)
 | 
			
		||||
function IsVstorInstalled(): boolean;
 | 
			
		||||
var
 | 
			
		||||
	software, vstorPath: string;
 | 
			
		||||
begin
 | 
			
		||||
	software := 'SOFTWARE\';
 | 
			
		||||
	vstorPath := 'Microsoft\VSTO Runtime Setup\v4R';
 | 
			
		||||
	result := RegKeyExists(HKEY_LOCAL_MACHINE, software + GetWowNode + vstorPath);
 | 
			
		||||
end;
 | 
			
		||||
 | 
			
		||||
/// Checks if the .NET 4.0 (or 4.5) runtime is installed.
 | 
			
		||||
/// See https://msdn.microsoft.com/en-us/library/hh925568
 | 
			
		||||
function IsNetInstalled(): boolean;
 | 
			
		||||
begin
 | 
			
		||||
	result := RegKeyExists(HKEY_LOCAL_MACHINE, 
 | 
			
		||||
		'SOFTWARE\' + GetWowNode + 'Microsoft\NET Framework Setup\NDP\v4');
 | 
			
		||||
end;
 | 
			
		||||
 | 
			
		||||
/// Asserts if the VSTO runtime for .NET 4.0 redistributable needs to be
 | 
			
		||||
/// downloaded and installed.
 | 
			
		||||
/// If Office 2010 SP 1 or newer is installed on the system, the VSTOR runtime
 | 
			
		||||
/// will be automagically configured as long as the .NET 4.0 runtime is present.
 | 
			
		||||
/// Office 2007 and Office 2010 without service pack need the VSTO runtime
 | 
			
		||||
/// redistributable. For details, see:
 | 
			
		||||
/// http://xltoolbox.sf.net/blog/2015/01/net-vsto-add-ins-getting-prerequisites-right
 | 
			
		||||
function NeedToInstallVstor(): boolean;
 | 
			
		||||
begin
 | 
			
		||||
	result := false; // Default for Office 2010 SP1 or newer
 | 
			
		||||
	if IsOffice2007Installed or IsOffice2010NoSpInstalled then
 | 
			
		||||
		result := not IsVstorInstalled;
 | 
			
		||||
end;
 | 
			
		||||
 | 
			
		||||
/// Checks if all required prerequisites are met, i.e. if the necessary
 | 
			
		||||
/// runtimes are installed on the system
 | 
			
		||||
function PrerequisitesAreMet(): boolean;
 | 
			
		||||
begin
 | 
			
		||||
	// Cache check result to avoid multiple registry lookups and log messages
 | 
			
		||||
	if not prerequisitesChecked then
 | 
			
		||||
	begin
 | 
			
		||||
		prerequisitesMet := IsNetInstalled and not NeedToInstallVstor;
 | 
			
		||||
		prerequisitesChecked := true;
 | 
			
		||||
	end;
 | 
			
		||||
	result := prerequisitesMet;
 | 
			
		||||
end;
 | 
			
		||||
 | 
			
		||||
/// Checks if a file exists and has a valid Sha1 sum.
 | 
			
		||||
function IsFileValid(file: string; expectedSha1: string): boolean;
 | 
			
		||||
var
 | 
			
		||||
	actualSha1: string;
 | 
			
		||||
begin
 | 
			
		||||
	try
 | 
			
		||||
		if FileExists(file) then
 | 
			
		||||
		begin
 | 
			
		||||
			actualSha1 := GetSHA1OfFile(file);
 | 
			
		||||
		end;
 | 
			
		||||
	finally
 | 
			
		||||
		result := actualSha1 = expectedSha1;
 | 
			
		||||
	end;
 | 
			
		||||
end;
 | 
			
		||||
 | 
			
		||||
/// Returns the path to the downloaded VSTO runtime installer.
 | 
			
		||||
function GetVstorInstallerPath(): string;
 | 
			
		||||
begin
 | 
			
		||||
	result := ExpandConstant('{%temp}\vstor_redist_40.exe');
 | 
			
		||||
end;
 | 
			
		||||
 | 
			
		||||
/// Returns the path to the downloaded .NET runtime installer.
 | 
			
		||||
function GetNetInstallerPath(): string;
 | 
			
		||||
begin
 | 
			
		||||
	result := ExpandConstant('{%temp}\dotNetFx40_Full_x86_x64.exe');
 | 
			
		||||
end;
 | 
			
		||||
 | 
			
		||||
/// Checks if the VSTO runtime redistributable setup file has already been
 | 
			
		||||
/// downloaded by comparing SHA1 checksums.
 | 
			
		||||
function IsVstorDownloaded(): boolean;
 | 
			
		||||
begin
 | 
			
		||||
	result := IsFileValid(GetVstorInstallerPath, '{#VSTORSHA1}');
 | 
			
		||||
end;
 | 
			
		||||
 | 
			
		||||
/// Checks if the .NET runtime setup file has already been
 | 
			
		||||
/// downloaded by comparing SHA1 checksums.
 | 
			
		||||
function IsNetDownloaded(): boolean;
 | 
			
		||||
begin
 | 
			
		||||
	result := IsFileValid(GetNetInstallerPath, '{#DOTNETSHA1}');
 | 
			
		||||
end;
 | 
			
		||||
 | 
			
		||||
/// Determines if the VSTO runtime needs to be downloaded.
 | 
			
		||||
/// This is not the case it the runtime is already installed,
 | 
			
		||||
/// or if there is a file with a valid Sha1 sum.
 | 
			
		||||
function NeedToDownloadVstor: boolean;
 | 
			
		||||
begin
 | 
			
		||||
	result := NeedToInstallVstor and not IsVstorDownloaded;
 | 
			
		||||
end;
 | 
			
		||||
 | 
			
		||||
/// Determines if the VSTO runtime needs to be downloaded.
 | 
			
		||||
/// This is not the case it the runtime is already installed,
 | 
			
		||||
/// or if there is a file with a valid Sha1 sum.
 | 
			
		||||
function NeedToDownloadNet: boolean;
 | 
			
		||||
begin
 | 
			
		||||
	result := not IsNetInstalled and not IsNetDownloaded;
 | 
			
		||||
end;
 | 
			
		||||
 | 
			
		||||
/// Determines whether or not a system-wide installation
 | 
			
		||||
/// is possible. This depends on whether the current user
 | 
			
		||||
/// is an administrator, and whether the hotfix KB976477
 | 
			
		||||
/// is present on the system if Word 2007 is the only version
 | 
			
		||||
/// of Word that is present (without that hotfix, Word
 | 
			
		||||
/// 2007 does not load add-ins that are registered in the
 | 
			
		||||
/// HKLM hive).
 | 
			
		||||
function CanInstallSystemWide(): boolean;
 | 
			
		||||
begin
 | 
			
		||||
	if IsAdminLoggedOn then
 | 
			
		||||
	begin
 | 
			
		||||
		if IsOnlyWord2007Installed then
 | 
			
		||||
		begin
 | 
			
		||||
			result := IsHotfixInstalled;
 | 
			
		||||
		end
 | 
			
		||||
		else
 | 
			
		||||
		begin
 | 
			
		||||
			result := true;
 | 
			
		||||
		end;
 | 
			
		||||
	end
 | 
			
		||||
	else
 | 
			
		||||
	begin
 | 
			
		||||
		result := false;
 | 
			
		||||
	end;
 | 
			
		||||
end;
 | 
			
		||||
 | 
			
		||||
procedure CreateSingleOrAllUserPage();
 | 
			
		||||
begin
 | 
			
		||||
	PageSingleOrMultiUser := CreateInputOptionPage(wpLicense,
 | 
			
		||||
		CustomMessage('SingleOrMulti'), CustomMessage('SingleOrMultiSubcaption'),
 | 
			
		||||
		CustomMessage('SingleOrMultiDesc'), True, False);
 | 
			
		||||
	PageSingleOrMultiUser.Add(CustomMessage('SingleOrMultiSingle'));
 | 
			
		||||
	PageSingleOrMultiUser.Add(CustomMessage('SingleOrMultiAll'));
 | 
			
		||||
	if CanInstallSystemWide then
 | 
			
		||||
	begin
 | 
			
		||||
		PageSingleOrMultiUser.Values[1] := True;
 | 
			
		||||
	end
 | 
			
		||||
	else
 | 
			
		||||
	begin
 | 
			
		||||
		PageSingleOrMultiUser.Values[0] := True;
 | 
			
		||||
	end;
 | 
			
		||||
end;
 | 
			
		||||
 | 
			
		||||
procedure CreateCannotInstallPage();
 | 
			
		||||
begin
 | 
			
		||||
	PageCannotInstall := CreateInputOptionPage(wpWelcome,
 | 
			
		||||
		CustomMessage('CannotInstallCaption'),
 | 
			
		||||
		CustomMessage('CannotInstallDesc'),
 | 
			
		||||
		CustomMessage('CannotInstallMsg'), True, False);
 | 
			
		||||
	PageCannotInstall.Add(CustomMessage('CannotInstallCont'));
 | 
			
		||||
	PageCannotInstall.Add(CustomMessage('CannotInstallAbort'));
 | 
			
		||||
	PageCannotInstall.Values[1] := True;
 | 
			
		||||
end;
 | 
			
		||||
 | 
			
		||||
procedure CreateDownloadInfoPage();
 | 
			
		||||
var
 | 
			
		||||
	bytes: Int64;
 | 
			
		||||
	mib: Single;
 | 
			
		||||
	size: String;
 | 
			
		||||
begin
 | 
			
		||||
	if idpGetFilesSize(bytes) then
 | 
			
		||||
	begin
 | 
			
		||||
		mib := bytes / 1048576;
 | 
			
		||||
		size := Format('%.1f', [ mib ]);
 | 
			
		||||
	end
 | 
			
		||||
	else
 | 
			
		||||
	begin
 | 
			
		||||
		size := '[?]'
 | 
			
		||||
	end;
 | 
			
		||||
	PageDownloadInfo := CreateOutputMsgPage(PageSingleOrMultiUser.Id,
 | 
			
		||||
		CustomMessage('RequiredCaption'),
 | 
			
		||||
		CustomMessage('RequiredDesc'),
 | 
			
		||||
		Format(CustomMessage('RequiredMsg'), [idpFilesCount, size]));
 | 
			
		||||
end;
 | 
			
		||||
 | 
			
		||||
procedure CreateInstallInfoPage();
 | 
			
		||||
begin
 | 
			
		||||
	PageInstallInfo := CreateOutputMsgPage(PageDownloadInfo.Id,
 | 
			
		||||
		CustomMessage('InstallCaption'),
 | 
			
		||||
		CustomMessage('InstallDesc'),
 | 
			
		||||
		CustomMessage('InstallMsg'));
 | 
			
		||||
end;
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
function InitializeSetup(): boolean;
 | 
			
		||||
var
 | 
			
		||||
	minWordInstalled: boolean;
 | 
			
		||||
	i: integer;
 | 
			
		||||
begin
 | 
			
		||||
	// Determine if Word 2007 or newer is installed (absolute requirement
 | 
			
		||||
	// for this VSTO add-in). Word 2007 ist version 12.0.
 | 
			
		||||
	for i := 12 to maxWord do
 | 
			
		||||
	begin
 | 
			
		||||
		minWordInstalled := minWordInstalled or IsWordVersionInstalled(i);
 | 
			
		||||
	end;
 | 
			
		||||
 | 
			
		||||
	if not minWordInstalled then
 | 
			
		||||
	begin
 | 
			
		||||
		result := False;
 | 
			
		||||
		Log('Informing user that Word 2007 or newer is required.');
 | 
			
		||||
		MsgBox(CustomMessage('Word2007Required'), mbInformation, MB_OK);
 | 
			
		||||
	end
 | 
			
		||||
	else
 | 
			
		||||
	begin
 | 
			
		||||
		result := True;
 | 
			
		||||
	end
 | 
			
		||||
end;
 | 
			
		||||
	
 | 
			
		||||
procedure InitializeWizard();
 | 
			
		||||
begin
 | 
			
		||||
	// CreateDevelopmentInfoPage;
 | 
			
		||||
	CreateSingleOrAllUserPage;
 | 
			
		||||
	if not PrerequisitesAreMet then
 | 
			
		||||
	begin
 | 
			
		||||
		Log('Not all prerequisites are met...');
 | 
			
		||||
		CreateCannotInstallPage;
 | 
			
		||||
		if NeedToDownloadNet then
 | 
			
		||||
		begin
 | 
			
		||||
			Log('Mark {#DOTNETURL} for download.');
 | 
			
		||||
			idpAddFileSize('{#DOTNETURL}', GetNetInstallerPath, 50449456);
 | 
			
		||||
		end;
 | 
			
		||||
		if NeedToDownloadVstor then
 | 
			
		||||
		begin
 | 
			
		||||
			Log('Mark {#VSTORURL} for download.');
 | 
			
		||||
			idpAddFileSize('{#VSTORURL}', GetVstorInstallerPath, 40123576);
 | 
			
		||||
		end;
 | 
			
		||||
		CreateDownloadInfoPage;
 | 
			
		||||
		CreateInstallInfoPage;
 | 
			
		||||
		idpDownloadAfter(PageDownloadInfo.Id);
 | 
			
		||||
	end;
 | 
			
		||||
end;
 | 
			
		||||
 | 
			
		||||
function ExecuteNetSetup(): boolean;
 | 
			
		||||
var
 | 
			
		||||
	exitCode: integer;
 | 
			
		||||
begin
 | 
			
		||||
	result := true;
 | 
			
		||||
	if not IsNetInstalled then
 | 
			
		||||
	begin
 | 
			
		||||
		if IsNetDownloaded then
 | 
			
		||||
		begin
 | 
			
		||||
			Log('Valid .NET runtime download found, installing.');
 | 
			
		||||
			Exec(GetNetInstallerPath, '/norestart',
 | 
			
		||||
				'', SW_SHOW, ewWaitUntilTerminated, exitCode);
 | 
			
		||||
			BringToFrontAndRestore;
 | 
			
		||||
			if not IsNetInstalled then
 | 
			
		||||
			begin
 | 
			
		||||
				MsgBox(CustomMessage('StillNotInstalled'), mbInformation, MB_OK);
 | 
			
		||||
				result := False;
 | 
			
		||||
			end;
 | 
			
		||||
		end
 | 
			
		||||
		else
 | 
			
		||||
		begin
 | 
			
		||||
			Log('No or invalid .NET runtime download found, will not install.');
 | 
			
		||||
			MsgBox(CustomMessage('DownloadNotValidated'), mbInformation, MB_OK);
 | 
			
		||||
			result := False;
 | 
			
		||||
		end;
 | 
			
		||||
	end; // not IsNetInstalled
 | 
			
		||||
end;
 | 
			
		||||
 | 
			
		||||
function ExecuteVstorSetup(): boolean;
 | 
			
		||||
var
 | 
			
		||||
	exitCode: integer;
 | 
			
		||||
begin
 | 
			
		||||
	result := true;
 | 
			
		||||
	if NeedToInstallVstor then
 | 
			
		||||
	begin
 | 
			
		||||
		if IsVstorDownloaded then
 | 
			
		||||
		begin
 | 
			
		||||
			Log('Valid VSTO runtime download found, installing.');
 | 
			
		||||
			Exec(GetVstorInstallerPath, '/norestart', '', SW_SHOW,
 | 
			
		||||
				ewWaitUntilTerminated, exitCode);
 | 
			
		||||
			BringToFrontAndRestore;
 | 
			
		||||
			if not IsVstorInstalled then
 | 
			
		||||
			begin
 | 
			
		||||
				MsgBox(CustomMessage('StillNotInstalled'), mbInformation, MB_OK);
 | 
			
		||||
				result := False;
 | 
			
		||||
			end;
 | 
			
		||||
		end
 | 
			
		||||
		else
 | 
			
		||||
		begin
 | 
			
		||||
			Log('No or invalid VSTO runtime download found, will not install.');
 | 
			
		||||
			MsgBox(CustomMessage('DownloadNotValidated'), mbInformation, MB_OK);
 | 
			
		||||
			result := False;
 | 
			
		||||
		end;
 | 
			
		||||
	end; // not IsVstorInstalled
 | 
			
		||||
end;
 | 
			
		||||
 | 
			
		||||
function NextButtonClick(CurPageID: Integer): Boolean;
 | 
			
		||||
begin
 | 
			
		||||
	result := True;
 | 
			
		||||
	{
 | 
			
		||||
	if not WizardSilent then
 | 
			
		||||
	begin
 | 
			
		||||
		if CurPageID = PageDevelopmentInfo.Id then
 | 
			
		||||
		begin
 | 
			
		||||
			if PageDevelopmentInfo.Values[0] = False then
 | 
			
		||||
			begin
 | 
			
		||||
				Log('Requesting user to acknowledge use of a developmental version.');
 | 
			
		||||
				MsgBox(CustomMessage('DevVerMsgBox'), mbInformation, MB_OK);
 | 
			
		||||
				result := False;
 | 
			
		||||
			end;
 | 
			
		||||
		end;
 | 
			
		||||
	end;
 | 
			
		||||
	}
 | 
			
		||||
	
 | 
			
		||||
	if not PrerequisitesAreMet then
 | 
			
		||||
	begin
 | 
			
		||||
		// Abort the installation if any of the runtimes are missing, the user
 | 
			
		||||
		// is not an administrator, and requested to abort the installation.
 | 
			
		||||
		if CurPageID = PageCannotInstall.ID then
 | 
			
		||||
		begin
 | 
			
		||||
			if PageCannotInstall.Values[1] = true then
 | 
			
		||||
			begin
 | 
			
		||||
				WizardForm.Close;
 | 
			
		||||
				result := False;
 | 
			
		||||
			end
 | 
			
		||||
			else
 | 
			
		||||
			begin
 | 
			
		||||
				Log('Non-admin user continues although not all required runtimes are installed.');
 | 
			
		||||
			end;
 | 
			
		||||
		end;
 | 
			
		||||
 | 
			
		||||
		if CurPageID = PageInstallInfo.ID then
 | 
			
		||||
		begin
 | 
			
		||||
		  // Return true if installation succeeds (or no installation required)
 | 
			
		||||
			result := ExecuteNetSetup and ExecuteVstorSetup;
 | 
			
		||||
		end; 
 | 
			
		||||
	end; // not PrerequisitesAreMet
 | 
			
		||||
end;
 | 
			
		||||
 | 
			
		||||
/// Skips the folder selection, single/multi user, and ready pages for
 | 
			
		||||
/// normal users without power privileges.
 | 
			
		||||
/// This function also takes care of dynamically determining what wizard
 | 
			
		||||
/// pages to install, depending on the current system setup and whether
 | 
			
		||||
/// the current user is an administrator.
 | 
			
		||||
function ShouldSkipPage(PageID: Integer): Boolean;
 | 
			
		||||
begin
 | 
			
		||||
	result := False;
 | 
			
		||||
	
 | 
			
		||||
	if not PrerequisitesAreMet then
 | 
			
		||||
	begin
 | 
			
		||||
		// The PageDownloadCannotInstall will only have been initialized if
 | 
			
		||||
		// PrerequisitesAreMet returned false.
 | 
			
		||||
		if PageID = PageCannotInstall.ID then
 | 
			
		||||
		begin
 | 
			
		||||
			// Skip the warning if the user is an admin.
 | 
			
		||||
			result := IsAdminLoggedOn 
 | 
			
		||||
			if not result then
 | 
			
		||||
			begin
 | 
			
		||||
				Log('Warning user that required runtimes cannot be installed due to missing privileges');
 | 
			
		||||
			end;
 | 
			
		||||
		end;
 | 
			
		||||
		
 | 
			
		||||
		if PageID = PageDownloadInfo.ID then
 | 
			
		||||
		begin
 | 
			
		||||
			// Skip page informing about downloads if no files need to be downloaded.
 | 
			
		||||
			result := idpFilesCount = 0;
 | 
			
		||||
		end;
 | 
			
		||||
	
 | 
			
		||||
		if PageID = IDPForm.Page.ID then
 | 
			
		||||
		begin
 | 
			
		||||
			// Skip downloader plugin if there are no files to download.
 | 
			
		||||
			result := idpFilesCount = 0;
 | 
			
		||||
			if not result then
 | 
			
		||||
			begin
 | 
			
		||||
				Log('Beginning download of ' + IntToStr(idpFilesCount) + ' file(s).');
 | 
			
		||||
			end;
 | 
			
		||||
		end;
 | 
			
		||||
	end; // not PrerequisitesAreMet
 | 
			
		||||
	
 | 
			
		||||
	if PageID = PageSingleOrMultiUser.ID then
 | 
			
		||||
	begin
 | 
			
		||||
		if IsOnlyWord2007Installed then
 | 
			
		||||
		begin
 | 
			
		||||
			Log('Only Word 2007 appears to be installed on this system.');
 | 
			
		||||
			if IsHotfixInstalled then
 | 
			
		||||
			begin
 | 
			
		||||
				Log('Hotfix KB976477 found; can install for all users.');
 | 
			
		||||
			end
 | 
			
		||||
			else
 | 
			
		||||
			begin
 | 
			
		||||
				Log('Hotfix KB976477 not found; cannot install for all users.');
 | 
			
		||||
			end;
 | 
			
		||||
		end
 | 
			
		||||
		else
 | 
			
		||||
		begin
 | 
			
		||||
			Log('Word 2010 or newer found on this system.');
 | 
			
		||||
		end;
 | 
			
		||||
		if CanInstallSystemWide then
 | 
			
		||||
		begin
 | 
			
		||||
			Log('Offer installation for all users.');
 | 
			
		||||
			result := False;
 | 
			
		||||
		end
 | 
			
		||||
		else
 | 
			
		||||
		begin
 | 
			
		||||
			Log('Offer single-user installation only.');
 | 
			
		||||
			result := True;
 | 
			
		||||
		end;
 | 
			
		||||
	end;
 | 
			
		||||
	
 | 
			
		||||
	if (PageID = wpSelectDir) or (PageID = wpReady) then
 | 
			
		||||
	begin
 | 
			
		||||
		// Do not show the pages to select the target directory, and the ready 
 | 
			
		||||
		// page if the user is not an admin.
 | 
			
		||||
		result := not IsAdminLoggedOn;
 | 
			
		||||
	end
 | 
			
		||||
end;
 | 
			
		||||
 | 
			
		||||
/// Helper function that evaluates the custom PageSingleOrMultiUser page.
 | 
			
		||||
function IsMultiUserInstall(): Boolean;
 | 
			
		||||
begin
 | 
			
		||||
	result := PageSingleOrMultiUser.Values[1];
 | 
			
		||||
end;
 | 
			
		||||
 | 
			
		||||
/// Suggest an initial target directory depending on whether
 | 
			
		||||
/// the installer is run with admin privileges.
 | 
			
		||||
function SuggestInstallDir(Param: string): string;
 | 
			
		||||
var
 | 
			
		||||
	dir: string;
 | 
			
		||||
begin
 | 
			
		||||
	if CanInstallSystemWide then
 | 
			
		||||
	begin
 | 
			
		||||
		dir := ExpandConstant('{pf}');
 | 
			
		||||
	end
 | 
			
		||||
	else
 | 
			
		||||
	begin
 | 
			
		||||
		dir := ExpandConstant('{userappdata}');
 | 
			
		||||
	end;
 | 
			
		||||
	result := AddBackslash(dir) + 'zaaReloaded';
 | 
			
		||||
end;
 | 
			
		||||
 | 
			
		||||
/// Converts backslashes to forward slashes.
 | 
			
		||||
function ConvertSlash(Value: string): string;
 | 
			
		||||
begin
 | 
			
		||||
	StringChangeEx(Value, '\', '/', True);
 | 
			
		||||
	Result := Value;
 | 
			
		||||
end;
 | 
			
		||||
							
								
								
									
										
											Binär
										
									
								
								www/img/firstrun.png
									
									
									
									
									
								
							
							
						
						| 
		 Före Bredd: | Höjd: | Storlek: 21 KiB Efter Bredd: | Höjd: | Storlek: 22 KiB  | 
							
								
								
									
										
											Binär
										
									
								
								www/img/preferences.png
									
									
									
									
									
								
							
							
						
						| 
		 Före Bredd: | Höjd: | Storlek: 6.8 KiB Efter Bredd: | Höjd: | Storlek: 13 KiB  | 
							
								
								
									
										
											Binär
										
									
								
								www/img/stilauswahl.png
									
									
									
									
									
								
							
							
						
						| 
		 Före Bredd: | Höjd: | Storlek: 24 KiB Efter Bredd: | Höjd: | Storlek: 15 KiB  | 
| 
		 Före Bredd: | Höjd: | Storlek: 29 KiB Efter Bredd: | Höjd: | Storlek: 39 KiB  | 
@@ -368,7 +368,7 @@
 | 
			
		||||
 | 
			
		||||
    <footer class="footer">
 | 
			
		||||
      <p>
 | 
			
		||||
        © 2015 <a href="http://www.bovender.de">Daniel Kraus</a>
 | 
			
		||||
        © 2015-2017 <a href="https://www.bovender.de">Daniel Kraus</a>
 | 
			
		||||
        <span class="pull-right">
 | 
			
		||||
          Handarbeit mit
 | 
			
		||||
          <a href="http://www.vim.org">
 | 
			
		||||
 
 | 
			
		||||
@@ -1,53 +1,52 @@
 | 
			
		||||
<?php
 | 
			
		||||
require(__DIR__ . '/PHPMailer/PHPMailerAutoload.php');
 | 
			
		||||
$reportId = $_POST['report_id'];
 | 
			
		||||
$mail = new PHPMailer;
 | 
			
		||||
$mail->isSMTP();
 | 
			
		||||
$mail->SMTPAuth = true;
 | 
			
		||||
$mail->Host = 'nephrowiki.de';
 | 
			
		||||
$mail->Username = 'zaareloaded@nephrowiki.de';
 | 
			
		||||
$mail->Password = 'ooZ1eiJa';
 | 
			
		||||
// $mail->SMTPSecure = 'tls';
 | 
			
		||||
$mail->Port = 25;
 | 
			
		||||
function sendMail() {
 | 
			
		||||
        $to = 'dk@doktorkraus.de';
 | 
			
		||||
        $headers = "From: \"zaaReloaded\" <dk@doktorkraus.de>";
 | 
			
		||||
        $reportId = $_POST['report_id'];
 | 
			
		||||
        $info = print_r( $_POST, true ); // this will be a string, not an array!
 | 
			
		||||
        $body = <<<EOF
 | 
			
		||||
zaaReloaded hat einen Fehler ausgelöst.
 | 
			
		||||
 | 
			
		||||
$mail->From = 'zaareloaded@nephrowiki.de';
 | 
			
		||||
$mail->FromName = 'zaaReloaded';
 | 
			
		||||
$mail->addAddress('dk@doktorkraus.de');
 | 
			
		||||
$mail->Subject = "[zaaReloaded] Exception $reportId";
 | 
			
		||||
-----
 | 
			
		||||
 | 
			
		||||
if ( $_POST['ccUser'] ) {
 | 
			
		||||
	$validMail = filter_var( $_POST['usersMail'], FILTER_VALIDATE_EMAIL );
 | 
			
		||||
	$validUser = filter_var( $_POST['usersName'], FILTER_SANITIZE_STRING );
 | 
			
		||||
	if ( $validUser ) {
 | 
			
		||||
		$validUser = "\"$validUser\" "; // space character deliberately placed
 | 
			
		||||
	};
 | 
			
		||||
	if ( $validMail ) {
 | 
			
		||||
                $mail->addCC($validMail, $validUser);
 | 
			
		||||
	};
 | 
			
		||||
};
 | 
			
		||||
Benutzerkommentar:
 | 
			
		||||
 | 
			
		||||
$info = print_r( $_POST, true );
 | 
			
		||||
 | 
			
		||||
$mail->Body = <<<EOF
 | 
			
		||||
zaaReloaded exception
 | 
			
		||||
 | 
			
		||||
User's comment on submission:
 | 
			
		||||
{$_POST['comment']}
 | 
			
		||||
 | 
			
		||||
***
 | 
			
		||||
-----
 | 
			
		||||
 | 
			
		||||
Technical details: $info
 | 
			
		||||
Technische Info: $info
 | 
			
		||||
 | 
			
		||||
-- 
 | 
			
		||||
http://zaa.nephrowiki.de
 | 
			
		||||
--
 | 
			
		||||
www.doktorkraus.de/zaareloaded
 | 
			
		||||
EOF;
 | 
			
		||||
 | 
			
		||||
if ($mail->send())
 | 
			
		||||
{
 | 
			
		||||
        // Must return the report ID to indicate success
 | 
			
		||||
        echo($reportId);
 | 
			
		||||
  if ( $_POST['ccUser'] ) {
 | 
			
		||||
    $validMail = filter_var( $_POST['usersMail'], FILTER_VALIDATE_EMAIL );
 | 
			
		||||
    $validUser = filter_var( $_POST['usersName'], FILTER_SANITIZE_STRING );
 | 
			
		||||
    if ( $validUser ) {
 | 
			
		||||
      $validUser = "\"$validUser\" "; // space character deliberately placed
 | 
			
		||||
    };
 | 
			
		||||
    if ( $validMail ) {
 | 
			
		||||
      $headers .= "\r\nCc: $validUser<$validMail>";
 | 
			
		||||
    };
 | 
			
		||||
  };
 | 
			
		||||
  mail($to, "Exception report [$reportId]", $body, $headers);
 | 
			
		||||
}
 | 
			
		||||
else
 | 
			
		||||
{
 | 
			
		||||
        echo($mail->ErrorInfo);
 | 
			
		||||
 | 
			
		||||
// =============================================================
 | 
			
		||||
// Begin main script
 | 
			
		||||
// =============================================================
 | 
			
		||||
 | 
			
		||||
if (!isset($_POST['report_id'])) {
 | 
			
		||||
	http_response_code(400);
 | 
			
		||||
	exit;
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
sendMail();
 | 
			
		||||
// Return the report ID and the issue URL to signal all is well.
 | 
			
		||||
$reportId = $_POST['report_id'];
 | 
			
		||||
$load = "{\"ReportId\": \"$reportId\", \"IssueUrl\": \"https://www.doktorkraus.de/zaareloaded\"}";
 | 
			
		||||
error_log( __FILE__ . ": Load = $load" );
 | 
			
		||||
header('Content-Type: application/json');
 | 
			
		||||
echo $load;
 | 
			
		||||
 
 | 
			
		||||
@@ -1,4 +1,4 @@
 | 
			
		||||
2.1.12
 | 
			
		||||
http://zaa.nephrowiki.de/downloads/zaaReloaded-$VERSION.exe
 | 
			
		||||
b6e80b12e7325a9e0fcc0ad75bd1deaf5f6fe966  publish/release/zaaReloaded-2.1.12.exe
 | 
			
		||||
2.4.2
 | 
			
		||||
https://doktorkraus.de/zaareloaded/downloads/zaaReloaded-$VERSION.exe
 | 
			
		||||
2df8d1cd62b2a6b422099e6d59c8f2022ddd2177a649784a7cab8f7c23e734e2  deploy/releases/zaaReloaded-2.4.2.exe
 | 
			
		||||
 | 
			
		||||
 
 | 
			
		||||
@@ -1,8 +1,13 @@
 | 
			
		||||
 | 
			
		||||
Microsoft Visual Studio Solution File, Format Version 12.00
 | 
			
		||||
# Visual Studio 2013
 | 
			
		||||
VisualStudioVersion = 12.0.31101.0
 | 
			
		||||
# Visual Studio 15
 | 
			
		||||
VisualStudioVersion = 15.0.27130.2027
 | 
			
		||||
MinimumVisualStudioVersion = 10.0.40219.1
 | 
			
		||||
Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = ".nuget", ".nuget", "{386B2FA0-E39A-4BC4-930F-0BCF3787DC5E}"
 | 
			
		||||
	ProjectSection(SolutionItems) = preProject
 | 
			
		||||
		.nuget\packages.config = .nuget\packages.config
 | 
			
		||||
	EndProjectSection
 | 
			
		||||
EndProject
 | 
			
		||||
Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "zaaReloaded2", "zaaReloaded2\zaaReloaded2.csproj", "{0478F1B0-17F2-4151-8F93-1CB6EB9732C5}"
 | 
			
		||||
EndProject
 | 
			
		||||
Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "Tests", "Tests\Tests.csproj", "{529544E3-3C26-4688-B39D-04DA30F05E20}"
 | 
			
		||||
@@ -25,4 +30,7 @@ Global
 | 
			
		||||
	GlobalSection(SolutionProperties) = preSolution
 | 
			
		||||
		HideSolutionNode = FALSE
 | 
			
		||||
	EndGlobalSection
 | 
			
		||||
	GlobalSection(ExtensibilityGlobals) = postSolution
 | 
			
		||||
		SolutionGuid = {5B5D2F0E-2C7D-4710-85CA-D9F2960DC07A}
 | 
			
		||||
	EndGlobalSection
 | 
			
		||||
EndGlobal
 | 
			
		||||
 
 | 
			
		||||
@@ -2,7 +2,7 @@
 | 
			
		||||
/* Commands.cs
 | 
			
		||||
 * part of zaaReloaded2
 | 
			
		||||
 * 
 | 
			
		||||
 * Copyright 2015 Daniel Kraus
 | 
			
		||||
 * Copyright 2015-2018 Daniel Kraus
 | 
			
		||||
 * 
 | 
			
		||||
 * Licensed under the Apache License, Version 2.0 (the "License");
 | 
			
		||||
 * you may not use this file except in compliance with the License.
 | 
			
		||||
@@ -20,6 +20,7 @@ using System;
 | 
			
		||||
using System.Collections.Generic;
 | 
			
		||||
using System.Linq;
 | 
			
		||||
using System.Text;
 | 
			
		||||
using Bovender.Extensions;
 | 
			
		||||
using zaaReloaded2.Controller;
 | 
			
		||||
using zaaReloaded2.Controller.Comments;
 | 
			
		||||
using zaaReloaded2.Formatter;
 | 
			
		||||
@@ -42,7 +43,7 @@ namespace zaaReloaded2
 | 
			
		||||
            if (CanFormat())
 | 
			
		||||
            {
 | 
			
		||||
                SettingsRepository repository = SettingsRepository.Load();
 | 
			
		||||
                Guid lastSettingsUid = Properties.Settings.Default.LastSettings;
 | 
			
		||||
                Guid lastSettingsUid = UserSettings.Default.LastSettings;
 | 
			
		||||
                Settings lastSettings = repository.FindByGuid(lastSettingsUid);
 | 
			
		||||
                if (lastSettings != null)
 | 
			
		||||
                {
 | 
			
		||||
@@ -72,10 +73,9 @@ namespace zaaReloaded2
 | 
			
		||||
                SettingsViewModel settingsVM = args.Content.ViewModel as SettingsViewModel;
 | 
			
		||||
                Settings settings = settingsVM.RevealModelObject() as Settings;
 | 
			
		||||
                DoFormat(settings);
 | 
			
		||||
                Properties.Settings.Default.LastSettings = settings.Uid;
 | 
			
		||||
                Properties.Settings.Default.Save();
 | 
			
		||||
                UserSettings.Default.LastSettings = settings.Uid;
 | 
			
		||||
            };
 | 
			
		||||
            vm.InjectInto<SettingsRepositoryView>().ShowDialog();
 | 
			
		||||
            vm.InjectInto<SettingsRepositoryView>().ShowDialogInForm();
 | 
			
		||||
        }
 | 
			
		||||
 | 
			
		||||
        /// <summary>
 | 
			
		||||
@@ -108,7 +108,7 @@ namespace zaaReloaded2
 | 
			
		||||
                        + "wenn Word in der Zentralen Arztbriefablage ausgeführt wird.\r"
 | 
			
		||||
                        + "Bitte Word als eigenständige Anwendung starten und dann "
 | 
			
		||||
                        + "noch einmal versuchen.";
 | 
			
		||||
                    a.OkButtonLabel = "Schließen";
 | 
			
		||||
                    a.OkButtonText = "Schließen";
 | 
			
		||||
                    a.Invoke();
 | 
			
		||||
                }
 | 
			
		||||
                else
 | 
			
		||||
@@ -122,13 +122,13 @@ namespace zaaReloaded2
 | 
			
		||||
        public static void ShowAbout()
 | 
			
		||||
        {
 | 
			
		||||
            ViewModels.AboutViewModel vm = new ViewModels.AboutViewModel();
 | 
			
		||||
            vm.InjectInto<Views.AboutView>().ShowDialog();
 | 
			
		||||
            vm.InjectInto<Views.AboutView>().ShowDialogInForm();
 | 
			
		||||
        }
 | 
			
		||||
 | 
			
		||||
        public static void ShowPreferences()
 | 
			
		||||
        {
 | 
			
		||||
            ViewModels.PreferencesViewModel.Default.InjectInto<Views.PreferencesView>()
 | 
			
		||||
                .ShowDialog();
 | 
			
		||||
            ViewModels.PreferencesViewModel vm = new PreferencesViewModel();
 | 
			
		||||
            vm.InjectInto<Views.PreferencesView>().ShowDialogInForm();
 | 
			
		||||
        }
 | 
			
		||||
 | 
			
		||||
        public static void ApplyDanielsStyle()
 | 
			
		||||
@@ -138,6 +138,58 @@ namespace zaaReloaded2
 | 
			
		||||
                Globals.ThisAddIn.Application.Selection);
 | 
			
		||||
        }
 | 
			
		||||
 | 
			
		||||
        public static void FormatDrugs(int columns)
 | 
			
		||||
        {
 | 
			
		||||
            if (columns < 1 || columns > 2)
 | 
			
		||||
            {
 | 
			
		||||
                throw new ArgumentOutOfRangeException("Can only format 1 or 2 columns, not " + columns);
 | 
			
		||||
            }
 | 
			
		||||
 | 
			
		||||
            // If no "real" selection exists, attempt to auto-detect the drugs section.
 | 
			
		||||
            // (NB Technically, there is never _no_ selection in a document.)
 | 
			
		||||
            Word.Window activeWindow = Globals.ThisAddIn.Application.ActiveWindow;
 | 
			
		||||
            Word.Selection sel = activeWindow.Selection;
 | 
			
		||||
            Word.Paragraphs paragraphs = sel.Paragraphs;
 | 
			
		||||
            Word.Document document = activeWindow.Document;
 | 
			
		||||
            if (!(paragraphs.Count > 1
 | 
			
		||||
                || (sel.Text.Length > 1 && sel.Text.EndsWith("\r"))))
 | 
			
		||||
            {
 | 
			
		||||
                Logger.Info("FormatDrugs: Attempting to auto-detect");
 | 
			
		||||
                if (!Medication.Importer.AutoDetect(document))
 | 
			
		||||
                {
 | 
			
		||||
                    Logger.Info("FormatDrugs: Failed to auto-detect");
 | 
			
		||||
                    NotificationAction a = new NotificationAction();
 | 
			
		||||
                    a.Caption = "Formatieren nicht möglich";
 | 
			
		||||
                    a.Message = "Das Dokument scheint keine Medikationsliste zu enthalten.";
 | 
			
		||||
                    a.OkButtonText = "Schließen";
 | 
			
		||||
                    a.Invoke();
 | 
			
		||||
                    return;
 | 
			
		||||
                }
 | 
			
		||||
            }
 | 
			
		||||
 | 
			
		||||
            Logger.Info("FormatDrugs: Importing");
 | 
			
		||||
            Medication.Importer importer = new Medication.Importer(sel.Text);
 | 
			
		||||
            Medication.Formatter formatter = new Medication.Formatter(importer.Prescriptions);
 | 
			
		||||
 | 
			
		||||
            Logger.Info("FormatDrugs: Formatting");
 | 
			
		||||
            switch (columns)
 | 
			
		||||
            {
 | 
			
		||||
                case 1:
 | 
			
		||||
                    formatter.FormatOneColumn(document);
 | 
			
		||||
                    break;
 | 
			
		||||
                case 2:
 | 
			
		||||
                    formatter.FormatTwoColumns(document);
 | 
			
		||||
                    break;
 | 
			
		||||
                default:
 | 
			
		||||
                    break;
 | 
			
		||||
            }
 | 
			
		||||
            Logger.Info("FormatDrugs: Cleaning up");
 | 
			
		||||
            Bovender.ComHelpers.ReleaseComObject(document);
 | 
			
		||||
            Bovender.ComHelpers.ReleaseComObject(paragraphs);
 | 
			
		||||
            Bovender.ComHelpers.ReleaseComObject(sel);
 | 
			
		||||
            Bovender.ComHelpers.ReleaseComObject(activeWindow);
 | 
			
		||||
        }
 | 
			
		||||
 | 
			
		||||
        #endregion
 | 
			
		||||
 | 
			
		||||
        #region Private methods
 | 
			
		||||
@@ -146,57 +198,92 @@ namespace zaaReloaded2
 | 
			
		||||
        {
 | 
			
		||||
            // If no "real" selection exists, attempt to auto-detect the lab data.
 | 
			
		||||
            // (NB Technically, there is never _no_ selection in a document.)
 | 
			
		||||
            Word.Window activeWindow = Globals.ThisAddIn.Application.ActiveWindow;
 | 
			
		||||
            Word.Selection sel = activeWindow.Selection;
 | 
			
		||||
            if (!(sel.Paragraphs.Count > 1
 | 
			
		||||
                || (sel.Text.Length > 1 && sel.Text.EndsWith("\r"))))
 | 
			
		||||
            Word.Application word = Globals.ThisAddIn.Application;
 | 
			
		||||
            Word.Document activeDocument = word.ActiveDocument;
 | 
			
		||||
            Word.Window activeWindow = word.ActiveWindow;
 | 
			
		||||
            Word.Selection selection = activeWindow.Selection;
 | 
			
		||||
            Word.Paragraphs paragraphs = selection.Paragraphs;
 | 
			
		||||
            Importer.IImporter importer = null;
 | 
			
		||||
            Importer.AutoDetector autoDetector = new Importer.AutoDetector();
 | 
			
		||||
            if (!(paragraphs.Count > 1
 | 
			
		||||
                || (selection.Text.Length > 1 && selection.Text.EndsWith("\r"))))
 | 
			
		||||
            {
 | 
			
		||||
                if (!AutoDetect.Detect(activeWindow.Document))
 | 
			
		||||
                Logger.Info("DoFormat: Attempting to auto-detect");
 | 
			
		||||
                Word.Document doc = activeWindow.Document;
 | 
			
		||||
                if (!autoDetector.Detect(doc))
 | 
			
		||||
                {
 | 
			
		||||
                    Logger.Info("DoFormat: Automatic detection failed");
 | 
			
		||||
                    NotificationAction a = new NotificationAction();
 | 
			
		||||
                    a.Caption = "Formatieren nicht möglich";
 | 
			
		||||
                    a.Message = "Das Dokument scheint keine Lauris-Labordaten zu enthalten.";
 | 
			
		||||
                    a.OkButtonLabel = "Schließen";
 | 
			
		||||
                    a.OkButtonText = "Schließen";
 | 
			
		||||
                    a.Invoke();
 | 
			
		||||
                    return;
 | 
			
		||||
                }
 | 
			
		||||
                // Don't release the COM object here
 | 
			
		||||
                // Bovender.ComHelpers.ReleaseComObject(doc);
 | 
			
		||||
                importer = autoDetector.CreateImporter();
 | 
			
		||||
            }
 | 
			
		||||
            else if (paragraphs.Count >= 1)
 | 
			
		||||
            {
 | 
			
		||||
                Logger.Info("DoFormat: Detecting mode of selection");
 | 
			
		||||
                autoDetector.Detect(selection);
 | 
			
		||||
            }
 | 
			
		||||
            importer = autoDetector.CreateImporter();
 | 
			
		||||
 | 
			
		||||
            Logger.Info("DoFormat: Importing");
 | 
			
		||||
            importer.Import(selection.Text);
 | 
			
		||||
            Formatter.Formatter formatter = new Formatter.Formatter(activeDocument);
 | 
			
		||||
 | 
			
		||||
            ZaaImporter importer = new ZaaImporter();
 | 
			
		||||
            importer.Import(Globals.ThisAddIn.Application.ActiveWindow.Selection.Text);
 | 
			
		||||
            Formatter.Formatter formatter = new Formatter.Formatter(
 | 
			
		||||
                Globals.ThisAddIn.Application.ActiveDocument);
 | 
			
		||||
            formatter.Settings = settings;
 | 
			
		||||
            formatter.Laboratory = importer.Laboratory;
 | 
			
		||||
            CommentPool.Default.Reset();
 | 
			
		||||
            CommentPool.Default.FillInComment += CommentPool_FillInComment;
 | 
			
		||||
            try
 | 
			
		||||
            {
 | 
			
		||||
                Logger.Info("DoFormat: Formatting");
 | 
			
		||||
                formatter.Run();
 | 
			
		||||
            }
 | 
			
		||||
            catch (NoLaboratoryDataException)
 | 
			
		||||
            catch (NoLaboratoryDataException e)
 | 
			
		||||
            {
 | 
			
		||||
                Logger.Warn("DoFormat: No lab data?!");
 | 
			
		||||
                Logger.Warn(e);
 | 
			
		||||
                NotificationAction a = new NotificationAction();
 | 
			
		||||
                a.Caption = "Formatieren nicht möglich";
 | 
			
		||||
                a.Message = "Die aktuelle Markierung scheint keine Labordaten zu enthalten.";
 | 
			
		||||
                a.OkButtonLabel = "Schließen";
 | 
			
		||||
                a.OkButtonText = "Schließen";
 | 
			
		||||
                a.Invoke();
 | 
			
		||||
            }
 | 
			
		||||
            Bovender.ComHelpers.ReleaseComObject(paragraphs);
 | 
			
		||||
            Bovender.ComHelpers.ReleaseComObject(selection);
 | 
			
		||||
            Bovender.ComHelpers.ReleaseComObject(activeWindow);
 | 
			
		||||
            Bovender.ComHelpers.ReleaseComObject(activeDocument);
 | 
			
		||||
            Logger.Info("DoFormat: Finished");
 | 
			
		||||
        }
 | 
			
		||||
 | 
			
		||||
        private static void CommentPool_FillInComment(object sender, ItemCommentEventArgs e)
 | 
			
		||||
        {
 | 
			
		||||
            if (Preferences.Default.SuppressItemCommentInteraction)
 | 
			
		||||
            if (UserSettings.Default.SuppressItemCommentInteraction)
 | 
			
		||||
            {
 | 
			
		||||
                Logger.Info("CommentPool_FillInComment: Comment interaction is suppressed by user settings");
 | 
			
		||||
                e.Comment.IsCancelled = true;
 | 
			
		||||
            }
 | 
			
		||||
            else
 | 
			
		||||
            {
 | 
			
		||||
                Logger.Info("CommentPool_FillInComment: Requesting user interaction");
 | 
			
		||||
                ItemCommentViewModel vm = new ItemCommentViewModel(e.Comment);
 | 
			
		||||
                vm.InjectInto<ItemCommentView>().ShowDialog();
 | 
			
		||||
                vm.InjectInto<ItemCommentView>().ShowDialogInForm();
 | 
			
		||||
            }
 | 
			
		||||
        }
 | 
			
		||||
 | 
			
		||||
        #endregion
 | 
			
		||||
 | 
			
		||||
        #region Class logger
 | 
			
		||||
 | 
			
		||||
        private static NLog.Logger Logger { get { return _logger.Value; } }
 | 
			
		||||
 | 
			
		||||
        private static readonly Lazy<NLog.Logger> _logger = new Lazy<NLog.Logger>(() => NLog.LogManager.GetCurrentClassLogger());
 | 
			
		||||
 | 
			
		||||
        #endregion
 | 
			
		||||
    }
 | 
			
		||||
}
 | 
			
		||||
 
 | 
			
		||||
@@ -1,7 +1,7 @@
 | 
			
		||||
/* CommentPool.cs
 | 
			
		||||
 * part of zaaReloaded2
 | 
			
		||||
 * 
 | 
			
		||||
 * Copyright 2015 Daniel Kraus
 | 
			
		||||
 * Copyright 2015-2018 Daniel Kraus
 | 
			
		||||
 * 
 | 
			
		||||
 * Licensed under the Apache License, Version 2.0 (the "License");
 | 
			
		||||
 * you may not use this file except in compliance with the License.
 | 
			
		||||
 
 | 
			
		||||
@@ -1,7 +1,7 @@
 | 
			
		||||
/* ParameterComment.cs
 | 
			
		||||
 * part of zaaReloaded2
 | 
			
		||||
 * 
 | 
			
		||||
 * Copyright 2015 Daniel Kraus
 | 
			
		||||
 * Copyright 2015-2018 Daniel Kraus
 | 
			
		||||
 * 
 | 
			
		||||
 * Licensed under the Apache License, Version 2.0 (the "License");
 | 
			
		||||
 * you may not use this file except in compliance with the License.
 | 
			
		||||
 
 | 
			
		||||
@@ -1,7 +1,7 @@
 | 
			
		||||
/* ParameterCommentEventArgs.cs
 | 
			
		||||
 * part of zaaReloaded2
 | 
			
		||||
 * 
 | 
			
		||||
 * Copyright 2015 Daniel Kraus
 | 
			
		||||
 * Copyright 2015-2018 Daniel Kraus
 | 
			
		||||
 * 
 | 
			
		||||
 * Licensed under the Apache License, Version 2.0 (the "License");
 | 
			
		||||
 * you may not use this file except in compliance with the License.
 | 
			
		||||
 
 | 
			
		||||
@@ -2,7 +2,7 @@
 | 
			
		||||
/* ControlElementBase.cs
 | 
			
		||||
 * part of zaaReloaded2
 | 
			
		||||
 * 
 | 
			
		||||
 * Copyright 2015 Daniel Kraus
 | 
			
		||||
 * Copyright 2015-2018 Daniel Kraus
 | 
			
		||||
 * 
 | 
			
		||||
 * Licensed under the Apache License, Version 2.0 (the "License");
 | 
			
		||||
 * you may not use this file except in compliance with the License.
 | 
			
		||||
 
 | 
			
		||||
@@ -1,7 +1,7 @@
 | 
			
		||||
/* Text.cs
 | 
			
		||||
 * part of zaaReloaded2
 | 
			
		||||
 * 
 | 
			
		||||
 * Copyright 2015 Daniel Kraus
 | 
			
		||||
 * Copyright 2015-2018 Daniel Kraus
 | 
			
		||||
 * 
 | 
			
		||||
 * Licensed under the Apache License, Version 2.0 (the "License");
 | 
			
		||||
 * you may not use this file except in compliance with the License.
 | 
			
		||||
@@ -29,6 +29,7 @@ namespace zaaReloaded2.Controller.Elements
 | 
			
		||||
    [Serializable]
 | 
			
		||||
    public class CustomText : FormatElementBase, ISerializable
 | 
			
		||||
    {
 | 
			
		||||
        [YamlDotNet.Serialization.YamlIgnore]
 | 
			
		||||
        public override string Label
 | 
			
		||||
        {
 | 
			
		||||
            get
 | 
			
		||||
 
 | 
			
		||||
@@ -1,7 +1,7 @@
 | 
			
		||||
/* ElementBase.cs
 | 
			
		||||
 * part of zaaReloaded2
 | 
			
		||||
 * 
 | 
			
		||||
 * Copyright 2015 Daniel Kraus
 | 
			
		||||
 * Copyright 2015-2018 Daniel Kraus
 | 
			
		||||
 * 
 | 
			
		||||
 * Licensed under the Apache License, Version 2.0 (the "License");
 | 
			
		||||
 * you may not use this file except in compliance with the License.
 | 
			
		||||
@@ -33,6 +33,7 @@ namespace zaaReloaded2.Controller.Elements
 | 
			
		||||
        /// <summary>
 | 
			
		||||
        /// Returns the label for this formatting element.
 | 
			
		||||
        /// </summary>
 | 
			
		||||
        [YamlDotNet.Serialization.YamlIgnore]
 | 
			
		||||
        abstract public string Label { get; }
 | 
			
		||||
 | 
			
		||||
        /// <summary>
 | 
			
		||||
 
 | 
			
		||||
@@ -1,7 +1,7 @@
 | 
			
		||||
/* FormatElementBase.cs
 | 
			
		||||
 * part of zaaReloaded2
 | 
			
		||||
 * 
 | 
			
		||||
 * Copyright 2015 Daniel Kraus
 | 
			
		||||
 * Copyright 2015-2018 Daniel Kraus
 | 
			
		||||
 * 
 | 
			
		||||
 * Licensed under the Apache License, Version 2.0 (the "License");
 | 
			
		||||
 * you may not use this file except in compliance with the License.
 | 
			
		||||
 
 | 
			
		||||
@@ -1,7 +1,7 @@
 | 
			
		||||
/* Items.cs
 | 
			
		||||
 * part of zaaReloaded2
 | 
			
		||||
 * 
 | 
			
		||||
 * Copyright 2015 Daniel Kraus
 | 
			
		||||
 * Copyright 2015-2018 Daniel Kraus
 | 
			
		||||
 * 
 | 
			
		||||
 * Licensed under the Apache License, Version 2.0 (the "License");
 | 
			
		||||
 * you may not use this file except in compliance with the License.
 | 
			
		||||
@@ -37,6 +37,7 @@ namespace zaaReloaded2.Controller.Elements
 | 
			
		||||
    {
 | 
			
		||||
        #region ElementBase implementation
 | 
			
		||||
 | 
			
		||||
        [YamlDotNet.Serialization.YamlIgnore]
 | 
			
		||||
        public override string Label
 | 
			
		||||
        {
 | 
			
		||||
            get
 | 
			
		||||
 
 | 
			
		||||
@@ -1,7 +1,7 @@
 | 
			
		||||
/* NextColumn.cs
 | 
			
		||||
 * part of zaaReloaded2
 | 
			
		||||
 * 
 | 
			
		||||
 * Copyright 2015 Daniel Kraus
 | 
			
		||||
 * Copyright 2015-2018 Daniel Kraus
 | 
			
		||||
 * 
 | 
			
		||||
 * Licensed under the Apache License, Version 2.0 (the "License");
 | 
			
		||||
 * you may not use this file except in compliance with the License.
 | 
			
		||||
 
 | 
			
		||||
@@ -1,7 +1,7 @@
 | 
			
		||||
/* SelectEachDay.cs
 | 
			
		||||
 * part of zaaReloaded2
 | 
			
		||||
 * 
 | 
			
		||||
 * Copyright 2015 Daniel Kraus
 | 
			
		||||
 * Copyright 2015-2018 Daniel Kraus
 | 
			
		||||
 * 
 | 
			
		||||
 * Licensed under the Apache License, Version 2.0 (the "License");
 | 
			
		||||
 * you may not use this file except in compliance with the License.
 | 
			
		||||
@@ -26,6 +26,7 @@ namespace zaaReloaded2.Controller.Elements
 | 
			
		||||
    [Serializable]
 | 
			
		||||
    public class SelectEachDay : ControlElementBase
 | 
			
		||||
    {
 | 
			
		||||
        [YamlDotNet.Serialization.YamlIgnore]
 | 
			
		||||
        public override string Label
 | 
			
		||||
        {
 | 
			
		||||
            get { return "Jeder Tag"; }
 | 
			
		||||
 
 | 
			
		||||
@@ -1,7 +1,7 @@
 | 
			
		||||
/* SelectFirstDay.cs
 | 
			
		||||
 * part of zaaReloaded2
 | 
			
		||||
 * 
 | 
			
		||||
 * Copyright 2015 Daniel Kraus
 | 
			
		||||
 * Copyright 2015-2018 Daniel Kraus
 | 
			
		||||
 * 
 | 
			
		||||
 * Licensed under the Apache License, Version 2.0 (the "License");
 | 
			
		||||
 * you may not use this file except in compliance with the License.
 | 
			
		||||
 
 | 
			
		||||
@@ -1,7 +1,7 @@
 | 
			
		||||
/* SelectFirstDay - Copy.cs
 | 
			
		||||
 * part of zaaReloaded2
 | 
			
		||||
 * 
 | 
			
		||||
 * Copyright 2015 Daniel Kraus
 | 
			
		||||
 * Copyright 2015-2018 Daniel Kraus
 | 
			
		||||
 * 
 | 
			
		||||
 * Licensed under the Apache License, Version 2.0 (the "License");
 | 
			
		||||
 * you may not use this file except in compliance with the License.
 | 
			
		||||
 
 | 
			
		||||
@@ -1,7 +1,7 @@
 | 
			
		||||
/* TwoColumns.cs
 | 
			
		||||
 * part of zaaReloaded2
 | 
			
		||||
 * 
 | 
			
		||||
 * Copyright 2015 Daniel Kraus
 | 
			
		||||
 * Copyright 2015-2018 Daniel Kraus
 | 
			
		||||
 * 
 | 
			
		||||
 * Licensed under the Apache License, Version 2.0 (the "License");
 | 
			
		||||
 * you may not use this file except in compliance with the License.
 | 
			
		||||
 
 | 
			
		||||
@@ -1,7 +1,7 @@
 | 
			
		||||
/* Settings.cs
 | 
			
		||||
 * part of zaaReloaded2
 | 
			
		||||
 * 
 | 
			
		||||
 * Copyright 2015 Daniel Kraus
 | 
			
		||||
 * Copyright 2015-2018 Daniel Kraus
 | 
			
		||||
 * 
 | 
			
		||||
 * Licensed under the Apache License, Version 2.0 (the "License");
 | 
			
		||||
 * you may not use this file except in compliance with the License.
 | 
			
		||||
@@ -25,6 +25,7 @@ using System.IO;
 | 
			
		||||
using System.Text.RegularExpressions;
 | 
			
		||||
using System.Runtime.Serialization;
 | 
			
		||||
using System.Runtime.Serialization.Formatters.Soap;
 | 
			
		||||
using YamlDotNet.Serialization;
 | 
			
		||||
 | 
			
		||||
namespace zaaReloaded2.Controller
 | 
			
		||||
{
 | 
			
		||||
@@ -45,14 +46,29 @@ namespace zaaReloaded2.Controller
 | 
			
		||||
        /// SOAP XML that can be deserialized to a Settings object.</exception>
 | 
			
		||||
        public static Settings LoadFromFile(string fileName)
 | 
			
		||||
        {
 | 
			
		||||
            Logger.Info("LoadFromFile: {0}", fileName);
 | 
			
		||||
            StreamReader reader = new StreamReader(fileName);
 | 
			
		||||
            SoapFormatter formatter = new SoapFormatter();
 | 
			
		||||
            Settings settings = formatter.Deserialize(reader.BaseStream) as Settings;
 | 
			
		||||
            Deserializer deserializer = new DeserializerBuilder().Build();
 | 
			
		||||
            Settings settings;
 | 
			
		||||
            try
 | 
			
		||||
            {
 | 
			
		||||
                settings = deserializer.Deserialize<Settings>(reader);
 | 
			
		||||
            }
 | 
			
		||||
            catch (Exception e)
 | 
			
		||||
            {
 | 
			
		||||
                Logger.Fatal("LoadFromFile: Exception during deserialization");
 | 
			
		||||
                Logger.Fatal(e);
 | 
			
		||||
                throw;
 | 
			
		||||
            }
 | 
			
		||||
            // SoapFormatter formatter = new SoapFormatter();
 | 
			
		||||
            // Settings settings = formatter.Deserialize(reader.BaseStream) as Settings;
 | 
			
		||||
            if (settings == null)
 | 
			
		||||
            {
 | 
			
		||||
                throw new InvalidDataException("Datei enthält keine Stil-Daten oder ist beschädigt.");
 | 
			
		||||
            }
 | 
			
		||||
            Logger.Info("LoadFromFile: Successfully loaded '{0}", settings.Name);
 | 
			
		||||
            settings.Uid = Guid.NewGuid();
 | 
			
		||||
            Logger.Debug("LoadFromFile: new GUID is '{0}", settings.Uid);
 | 
			
		||||
            return settings;
 | 
			
		||||
        }
 | 
			
		||||
 | 
			
		||||
@@ -62,9 +78,17 @@ namespace zaaReloaded2.Controller
 | 
			
		||||
        /// <param name="fileName">File to write to.</param>
 | 
			
		||||
        public void SaveToFile(string fileName)
 | 
			
		||||
        {
 | 
			
		||||
            StreamWriter writer = new StreamWriter(fileName);
 | 
			
		||||
            SoapFormatter formatter = new SoapFormatter();
 | 
			
		||||
            formatter.Serialize(writer.BaseStream, this);
 | 
			
		||||
            Logger.Info("SaveToFile: Settings name: {0}", Name);
 | 
			
		||||
            using (StreamWriter writer = new StreamWriter(fileName))
 | 
			
		||||
            {
 | 
			
		||||
                Serializer serializer = new SerializerBuilder()
 | 
			
		||||
                    .EnsureRoundtrip()
 | 
			
		||||
                    .Build();
 | 
			
		||||
                serializer.Serialize(writer, this);
 | 
			
		||||
            }
 | 
			
		||||
            Logger.Info("SaveToFile: Successfully saved to file '{0}'", fileName);
 | 
			
		||||
            // SoapFormatter formatter = new SoapFormatter();
 | 
			
		||||
            // formatter.Serialize(writer.BaseStream, this);
 | 
			
		||||
        }
 | 
			
		||||
 | 
			
		||||
        #endregion
 | 
			
		||||
@@ -87,6 +111,11 @@ namespace zaaReloaded2.Controller
 | 
			
		||||
        /// </summary>
 | 
			
		||||
        public AbnormalStyle AbnormalStyle { get; set; }
 | 
			
		||||
 | 
			
		||||
        /// <summary>
 | 
			
		||||
        /// Indicates whether to prefer the more verbose "mmol/l" over "mM".
 | 
			
		||||
        /// </summary>
 | 
			
		||||
        public bool PreferVerboseMolar { get; set; }
 | 
			
		||||
 | 
			
		||||
        /// <summary>
 | 
			
		||||
        /// Gets the list of controlling elements.
 | 
			
		||||
        /// </summary>
 | 
			
		||||
@@ -238,5 +267,13 @@ namespace zaaReloaded2.Controller
 | 
			
		||||
        static readonly Regex _persistenceHeaderRegex = new Regex(@"^\[(?<name>.+?)]$");
 | 
			
		||||
 | 
			
		||||
        #endregion
 | 
			
		||||
 | 
			
		||||
        #region Class logger
 | 
			
		||||
 | 
			
		||||
        private static NLog.Logger Logger { get { return _logger.Value; } }
 | 
			
		||||
 | 
			
		||||
        private static readonly Lazy<NLog.Logger> _logger = new Lazy<NLog.Logger>(() => NLog.LogManager.GetCurrentClassLogger());
 | 
			
		||||
 | 
			
		||||
        #endregion
 | 
			
		||||
    }
 | 
			
		||||
}
 | 
			
		||||
 
 | 
			
		||||
@@ -1,7 +1,7 @@
 | 
			
		||||
/* SettingsRepository.cs
 | 
			
		||||
 * part of zaaReloaded2
 | 
			
		||||
 * 
 | 
			
		||||
 * Copyright 2015 Daniel Kraus
 | 
			
		||||
 * Copyright 2015-2018 Daniel Kraus
 | 
			
		||||
 * 
 | 
			
		||||
 * Licensed under the Apache License, Version 2.0 (the "License");
 | 
			
		||||
 * you may not use this file except in compliance with the License.
 | 
			
		||||
@@ -59,20 +59,13 @@ namespace zaaReloaded2.Controller
 | 
			
		||||
        /// </remarks>
 | 
			
		||||
        public static SettingsRepository Load()
 | 
			
		||||
        {
 | 
			
		||||
            string s = Properties.Settings.Default.SettingsRepository;
 | 
			
		||||
            if (String.IsNullOrEmpty(s))
 | 
			
		||||
            SettingsRepository repo = UserSettings.Default.SettingsRepository;
 | 
			
		||||
            if (repo == null)
 | 
			
		||||
            {
 | 
			
		||||
                return new SettingsRepository();
 | 
			
		||||
            }
 | 
			
		||||
            else
 | 
			
		||||
            {
 | 
			
		||||
                MemoryStream stream = new MemoryStream();
 | 
			
		||||
                string encoded = Properties.Settings.Default.SettingsRepository;
 | 
			
		||||
                byte[] bytes = Convert.FromBase64String(encoded);
 | 
			
		||||
                stream.Write(bytes, 0, bytes.Length);
 | 
			
		||||
                stream.Position = 0;
 | 
			
		||||
                SoapFormatter serializer = new SoapFormatter();
 | 
			
		||||
                SettingsRepository repo = serializer.Deserialize(stream) as SettingsRepository;
 | 
			
		||||
                repo.LoadDefaults();
 | 
			
		||||
                return repo;
 | 
			
		||||
            }
 | 
			
		||||
@@ -89,13 +82,7 @@ namespace zaaReloaded2.Controller
 | 
			
		||||
        /// </remarks>
 | 
			
		||||
        public void Store()
 | 
			
		||||
        {
 | 
			
		||||
            MemoryStream stream = new MemoryStream();
 | 
			
		||||
            SoapFormatter serializer = new SoapFormatter();
 | 
			
		||||
            serializer.Serialize(stream, this);
 | 
			
		||||
            stream.Position = 0;
 | 
			
		||||
            string encoded = Convert.ToBase64String(stream.ToArray());
 | 
			
		||||
            Properties.Settings.Default.SettingsRepository =  encoded;
 | 
			
		||||
            Properties.Settings.Default.Save();
 | 
			
		||||
            UserSettings.Default.SettingsRepository = this;
 | 
			
		||||
        }
 | 
			
		||||
 | 
			
		||||
        #endregion
 | 
			
		||||
@@ -196,18 +183,24 @@ namespace zaaReloaded2.Controller
 | 
			
		||||
        private void LoadDefaults()
 | 
			
		||||
        {
 | 
			
		||||
            Assembly myAssembly = this.GetType().Assembly;
 | 
			
		||||
            SoapFormatter deserializer = new SoapFormatter();
 | 
			
		||||
            Stream stream = myAssembly.GetManifestResourceStream("zaaReloaded2.Defaults.ward.zaaReloaded");
 | 
			
		||||
            Settings settings = deserializer.Deserialize(stream) as Settings;
 | 
			
		||||
            settings.Name = Properties.Settings.Default.SettingsNameWard + BUILTIN_LABEL;
 | 
			
		||||
            settings.Uid = Guid.Parse(DEFAULT_SETTINGS_1_UID);
 | 
			
		||||
            ReplaceOrAdd(settings);
 | 
			
		||||
 | 
			
		||||
            stream = myAssembly.GetManifestResourceStream("zaaReloaded2.Defaults.clinic.zaaReloaded");
 | 
			
		||||
            settings = deserializer.Deserialize(stream) as Settings;
 | 
			
		||||
            settings.Name = Properties.Settings.Default.SettingsNameClinic + BUILTIN_LABEL;
 | 
			
		||||
            settings.Uid = Guid.Parse(DEFAULT_SETTINGS_2_UID);
 | 
			
		||||
            ReplaceOrAdd(settings);
 | 
			
		||||
            // SoapFormatter deserializer = new SoapFormatter();
 | 
			
		||||
            var deserializer = new YamlDotNet.Serialization.DeserializerBuilder().Build();
 | 
			
		||||
            using (Stream stream = myAssembly.GetManifestResourceStream("zaaReloaded2.Defaults.ward.zaaReloaded2"))
 | 
			
		||||
            {
 | 
			
		||||
                StreamReader reader = new StreamReader(stream);
 | 
			
		||||
                Settings settings = deserializer.Deserialize<Settings>(reader);
 | 
			
		||||
                settings.Name = Properties.Settings.Default.SettingsNameWard + BUILTIN_LABEL;
 | 
			
		||||
                settings.Uid = Guid.Parse(DEFAULT_SETTINGS_1_UID);
 | 
			
		||||
                ReplaceOrAdd(settings);
 | 
			
		||||
            }
 | 
			
		||||
            using (Stream stream = myAssembly.GetManifestResourceStream("zaaReloaded2.Defaults.clinic.zaaReloaded2"))
 | 
			
		||||
            {
 | 
			
		||||
                StreamReader reader = new StreamReader(stream);
 | 
			
		||||
                Settings settings = deserializer.Deserialize<Settings>(reader);
 | 
			
		||||
                settings.Name = Properties.Settings.Default.SettingsNameClinic + BUILTIN_LABEL;
 | 
			
		||||
                settings.Uid = Guid.Parse(DEFAULT_SETTINGS_2_UID);
 | 
			
		||||
                ReplaceOrAdd(settings);
 | 
			
		||||
            }
 | 
			
		||||
        }
 | 
			
		||||
 | 
			
		||||
        private void ReplaceOrAdd(Settings settings)
 | 
			
		||||
 
 | 
			
		||||
@@ -1,177 +0,0 @@
 | 
			
		||||
<SOAP-ENV:Envelope xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:SOAP-ENC="http://schemas.xmlsoap.org/soap/encoding/" xmlns:SOAP-ENV="http://schemas.xmlsoap.org/soap/envelope/" xmlns:clr="http://schemas.microsoft.com/soap/encoding/clr/1.0" SOAP-ENV:encodingStyle="http://schemas.xmlsoap.org/soap/encoding/">
 | 
			
		||||
<SOAP-ENV:Body>
 | 
			
		||||
<a1:Settings id="ref-1" xmlns:a1="http://schemas.microsoft.com/clr/nsassem/zaaReloaded2.Controller/zaaReloaded2%2C%20Version%3D1.0.0.0%2C%20Culture%3Dneutral%2C%20PublicKeyToken%3D6ec8d075a1ab1383">
 | 
			
		||||
<Version>2</Version>
 | 
			
		||||
<Uid xsi:type="a2:Guid" xmlns:a2="http://schemas.microsoft.com/clr/ns/System">
 | 
			
		||||
<_a>975892959</_a>
 | 
			
		||||
<_b>1621</_b>
 | 
			
		||||
<_c>18089</_c>
 | 
			
		||||
<_d>190</_d>
 | 
			
		||||
<_e>209</_e>
 | 
			
		||||
<_f>136</_f>
 | 
			
		||||
<_g>9</_g>
 | 
			
		||||
<_h>91</_h>
 | 
			
		||||
<_i>189</_i>
 | 
			
		||||
<_j>67</_j>
 | 
			
		||||
<_k>208</_k>
 | 
			
		||||
</Uid>
 | 
			
		||||
<Name id="ref-3">Kopie von Standard für NepA</Name>
 | 
			
		||||
<ReferenceStyle xsi:type="a3:ReferenceStyle" xmlns:a3="http://schemas.microsoft.com/clr/nsassem/zaaReloaded2.Formatter/zaaReloaded2%2C%20Version%3D1.0.0.0%2C%20Culture%3Dneutral%2C%20PublicKeyToken%3D6ec8d075a1ab1383">IfSpecialItem</ReferenceStyle>
 | 
			
		||||
<AbnormalStyle xsi:type="a3:AbnormalStyle" xmlns:a3="http://schemas.microsoft.com/clr/nsassem/zaaReloaded2.Formatter/zaaReloaded2%2C%20Version%3D1.0.0.0%2C%20Culture%3Dneutral%2C%20PublicKeyToken%3D6ec8d075a1ab1383">None</AbnormalStyle>
 | 
			
		||||
<ElementsCount>1</ElementsCount>
 | 
			
		||||
<Element0Type href="#ref-4"/>
 | 
			
		||||
<Element0Object href="#ref-5"/>
 | 
			
		||||
</a1:Settings>
 | 
			
		||||
<a2:UnitySerializationHolder id="ref-4" xmlns:a2="http://schemas.microsoft.com/clr/ns/System">
 | 
			
		||||
<Data id="ref-6">zaaReloaded2.Controller.Elements.SelectEachDay</Data>
 | 
			
		||||
<UnityType>4</UnityType>
 | 
			
		||||
<AssemblyName id="ref-7">zaaReloaded2, Version=1.0.0.0, Culture=neutral, PublicKeyToken=6ec8d075a1ab1383</AssemblyName>
 | 
			
		||||
</a2:UnitySerializationHolder>
 | 
			
		||||
<a4:SelectEachDay id="ref-5" xmlns:a4="http://schemas.microsoft.com/clr/nsassem/zaaReloaded2.Controller.Elements/zaaReloaded2%2C%20Version%3D1.0.0.0%2C%20Culture%3Dneutral%2C%20PublicKeyToken%3D6ec8d075a1ab1383">
 | 
			
		||||
<Version>2</Version>
 | 
			
		||||
<ChildrenCount>22</ChildrenCount>
 | 
			
		||||
<Child0Type href="#ref-8"/>
 | 
			
		||||
<Child0Object href="#ref-9"/>
 | 
			
		||||
<Child1Type href="#ref-8"/>
 | 
			
		||||
<Child1Object href="#ref-10"/>
 | 
			
		||||
<Child2Type href="#ref-8"/>
 | 
			
		||||
<Child2Object href="#ref-11"/>
 | 
			
		||||
<Child3Type href="#ref-8"/>
 | 
			
		||||
<Child3Object href="#ref-12"/>
 | 
			
		||||
<Child4Type href="#ref-8"/>
 | 
			
		||||
<Child4Object href="#ref-13"/>
 | 
			
		||||
<Child5Type href="#ref-8"/>
 | 
			
		||||
<Child5Object href="#ref-14"/>
 | 
			
		||||
<Child6Type href="#ref-8"/>
 | 
			
		||||
<Child6Object href="#ref-15"/>
 | 
			
		||||
<Child7Type href="#ref-8"/>
 | 
			
		||||
<Child7Object href="#ref-16"/>
 | 
			
		||||
<Child8Type href="#ref-8"/>
 | 
			
		||||
<Child8Object href="#ref-17"/>
 | 
			
		||||
<Child9Type href="#ref-8"/>
 | 
			
		||||
<Child9Object href="#ref-18"/>
 | 
			
		||||
<Child10Type href="#ref-8"/>
 | 
			
		||||
<Child10Object href="#ref-19"/>
 | 
			
		||||
<Child11Type href="#ref-8"/>
 | 
			
		||||
<Child11Object href="#ref-20"/>
 | 
			
		||||
<Child12Type href="#ref-8"/>
 | 
			
		||||
<Child12Object href="#ref-21"/>
 | 
			
		||||
<Child13Type href="#ref-8"/>
 | 
			
		||||
<Child13Object href="#ref-22"/>
 | 
			
		||||
<Child14Type href="#ref-8"/>
 | 
			
		||||
<Child14Object href="#ref-23"/>
 | 
			
		||||
<Child15Type href="#ref-8"/>
 | 
			
		||||
<Child15Object href="#ref-24"/>
 | 
			
		||||
<Child16Type href="#ref-8"/>
 | 
			
		||||
<Child16Object href="#ref-25"/>
 | 
			
		||||
<Child17Type href="#ref-8"/>
 | 
			
		||||
<Child17Object href="#ref-26"/>
 | 
			
		||||
<Child18Type href="#ref-8"/>
 | 
			
		||||
<Child18Object href="#ref-27"/>
 | 
			
		||||
<Child19Type href="#ref-28"/>
 | 
			
		||||
<Child19Object href="#ref-29"/>
 | 
			
		||||
<Child20Type href="#ref-28"/>
 | 
			
		||||
<Child20Object href="#ref-30"/>
 | 
			
		||||
<Child21Type href="#ref-28"/>
 | 
			
		||||
<Child21Object href="#ref-31"/>
 | 
			
		||||
</a4:SelectEachDay>
 | 
			
		||||
<a2:UnitySerializationHolder id="ref-8" xmlns:a2="http://schemas.microsoft.com/clr/ns/System">
 | 
			
		||||
<Data id="ref-32">zaaReloaded2.Controller.Elements.Items</Data>
 | 
			
		||||
<UnityType>4</UnityType>
 | 
			
		||||
<AssemblyName href="#ref-7"/>
 | 
			
		||||
</a2:UnitySerializationHolder>
 | 
			
		||||
<a4:Items id="ref-9" xmlns:a4="http://schemas.microsoft.com/clr/nsassem/zaaReloaded2.Controller.Elements/zaaReloaded2%2C%20Version%3D1.0.0.0%2C%20Culture%3Dneutral%2C%20PublicKeyToken%3D6ec8d075a1ab1383">
 | 
			
		||||
<Version>2</Version>
 | 
			
		||||
<Content id="ref-33">Klinische Chemie: Na, K, Cl, Mg, Ca, P, CaxP, Alb, Prot, Haptoglobin, LDH, Glukose, Harnsäure</Content>
 | 
			
		||||
</a4:Items>
 | 
			
		||||
<a4:Items id="ref-10" xmlns:a4="http://schemas.microsoft.com/clr/nsassem/zaaReloaded2.Controller.Elements/zaaReloaded2%2C%20Version%3D1.0.0.0%2C%20Culture%3Dneutral%2C%20PublicKeyToken%3D6ec8d075a1ab1383">
 | 
			
		||||
<Version>2</Version>
 | 
			
		||||
<Content id="ref-34">Entzündung/Immunsystem: CRP, Pct, C3c, C4, Anti-DNAse B, ASL</Content>
 | 
			
		||||
</a4:Items>
 | 
			
		||||
<a4:Items id="ref-11" xmlns:a4="http://schemas.microsoft.com/clr/nsassem/zaaReloaded2.Controller.Elements/zaaReloaded2%2C%20Version%3D1.0.0.0%2C%20Culture%3Dneutral%2C%20PublicKeyToken%3D6ec8d075a1ab1383">
 | 
			
		||||
<Version>2</Version>
 | 
			
		||||
<Content id="ref-35">Kardiale Marker: CK, CK-MB, hsTnT, NT-proBNP</Content>
 | 
			
		||||
</a4:Items>
 | 
			
		||||
<a4:Items id="ref-12" xmlns:a4="http://schemas.microsoft.com/clr/nsassem/zaaReloaded2.Controller.Elements/zaaReloaded2%2C%20Version%3D1.0.0.0%2C%20Culture%3Dneutral%2C%20PublicKeyToken%3D6ec8d075a1ab1383">
 | 
			
		||||
<Version>2</Version>
 | 
			
		||||
<Content id="ref-36">Niere: Krea, Hst, eGFR (CKD-EPI), Cystatin C</Content>
 | 
			
		||||
</a4:Items>
 | 
			
		||||
<a4:Items id="ref-13" xmlns:a4="http://schemas.microsoft.com/clr/nsassem/zaaReloaded2.Controller.Elements/zaaReloaded2%2C%20Version%3D1.0.0.0%2C%20Culture%3Dneutral%2C%20PublicKeyToken%3D6ec8d075a1ab1383">
 | 
			
		||||
<Version>2</Version>
 | 
			
		||||
<Content id="ref-37">Sammelurin: SU-Prot, SU-Alb, SU-CrCl, SU-HstCl, SU-GFR, SU-Na, SU-Zeit, SU-Volumen</Content>
 | 
			
		||||
</a4:Items>
 | 
			
		||||
<a4:Items id="ref-14" xmlns:a4="http://schemas.microsoft.com/clr/nsassem/zaaReloaded2.Controller.Elements/zaaReloaded2%2C%20Version%3D1.0.0.0%2C%20Culture%3Dneutral%2C%20PublicKeyToken%3D6ec8d075a1ab1383">
 | 
			
		||||
<Version>2</Version>
 | 
			
		||||
<Content id="ref-38">Spot-Urin: U-TPCR, U-ACR, U-Alb, U-Ery, U-Leu, U-Bakt</Content>
 | 
			
		||||
</a4:Items>
 | 
			
		||||
<a4:Items id="ref-15" xmlns:a4="http://schemas.microsoft.com/clr/nsassem/zaaReloaded2.Controller.Elements/zaaReloaded2%2C%20Version%3D1.0.0.0%2C%20Culture%3Dneutral%2C%20PublicKeyToken%3D6ec8d075a1ab1383">
 | 
			
		||||
<Version>2</Version>
 | 
			
		||||
<Content id="ref-39">Leber: GOT, GGT, GPT, AP, Bilirubin, CHE</Content>
 | 
			
		||||
</a4:Items>
 | 
			
		||||
<a4:Items id="ref-16" xmlns:a4="http://schemas.microsoft.com/clr/nsassem/zaaReloaded2.Controller.Elements/zaaReloaded2%2C%20Version%3D1.0.0.0%2C%20Culture%3Dneutral%2C%20PublicKeyToken%3D6ec8d075a1ab1383">
 | 
			
		||||
<Version>2</Version>
 | 
			
		||||
<Content id="ref-40">Blutfette: TG, Chol, LDL, HDL, Lp(a)</Content>
 | 
			
		||||
</a4:Items>
 | 
			
		||||
<a4:Items id="ref-17" xmlns:a4="http://schemas.microsoft.com/clr/nsassem/zaaReloaded2.Controller.Elements/zaaReloaded2%2C%20Version%3D1.0.0.0%2C%20Culture%3Dneutral%2C%20PublicKeyToken%3D6ec8d075a1ab1383">
 | 
			
		||||
<Version>2</Version>
 | 
			
		||||
<Content id="ref-41">Hämatologie: Hb, Hkt, Reti, Leu, Thr, MCV, HbA1c, Retikulozyten, Fragmentozyten</Content>
 | 
			
		||||
</a4:Items>
 | 
			
		||||
<a4:Items id="ref-18" xmlns:a4="http://schemas.microsoft.com/clr/nsassem/zaaReloaded2.Controller.Elements/zaaReloaded2%2C%20Version%3D1.0.0.0%2C%20Culture%3Dneutral%2C%20PublicKeyToken%3D6ec8d075a1ab1383">
 | 
			
		||||
<Version>2</Version>
 | 
			
		||||
<Content id="ref-42">Diff.-BB: Neu, Lym, Mon, Baso, Eos</Content>
 | 
			
		||||
</a4:Items>
 | 
			
		||||
<a4:Items id="ref-19" xmlns:a4="http://schemas.microsoft.com/clr/nsassem/zaaReloaded2.Controller.Elements/zaaReloaded2%2C%20Version%3D1.0.0.0%2C%20Culture%3Dneutral%2C%20PublicKeyToken%3D6ec8d075a1ab1383">
 | 
			
		||||
<Version>2</Version>
 | 
			
		||||
<Content id="ref-43">Gerinnung: Quick, INR, PTT, Fibrinogen, ATIII, Anti-Xa</Content>
 | 
			
		||||
</a4:Items>
 | 
			
		||||
<a4:Items id="ref-20" xmlns:a4="http://schemas.microsoft.com/clr/nsassem/zaaReloaded2.Controller.Elements/zaaReloaded2%2C%20Version%3D1.0.0.0%2C%20Culture%3Dneutral%2C%20PublicKeyToken%3D6ec8d075a1ab1383">
 | 
			
		||||
<Version>2</Version>
 | 
			
		||||
<Content id="ref-44">Serum-Elektrophorese: Albumin-Fraktion, a1-Globulin, a2-Globulin, b-Globulin, g-Globulin</Content>
 | 
			
		||||
</a4:Items>
 | 
			
		||||
<a4:Items id="ref-21" xmlns:a4="http://schemas.microsoft.com/clr/nsassem/zaaReloaded2.Controller.Elements/zaaReloaded2%2C%20Version%3D1.0.0.0%2C%20Culture%3Dneutral%2C%20PublicKeyToken%3D6ec8d075a1ab1383">
 | 
			
		||||
<Version>2</Version>
 | 
			
		||||
<Content id="ref-45">Hormone: iPTH, TSH, fT3, fT4</Content>
 | 
			
		||||
</a4:Items>
 | 
			
		||||
<a4:Items id="ref-22" xmlns:a4="http://schemas.microsoft.com/clr/nsassem/zaaReloaded2.Controller.Elements/zaaReloaded2%2C%20Version%3D1.0.0.0%2C%20Culture%3Dneutral%2C%20PublicKeyToken%3D6ec8d075a1ab1383">
 | 
			
		||||
<Version>2</Version>
 | 
			
		||||
<Content id="ref-46">Vitamine: B12, Folsäure</Content>
 | 
			
		||||
</a4:Items>
 | 
			
		||||
<a4:Items id="ref-23" xmlns:a4="http://schemas.microsoft.com/clr/nsassem/zaaReloaded2.Controller.Elements/zaaReloaded2%2C%20Version%3D1.0.0.0%2C%20Culture%3Dneutral%2C%20PublicKeyToken%3D6ec8d075a1ab1383">
 | 
			
		||||
<Version>2</Version>
 | 
			
		||||
<Content id="ref-47">Eisenhaushalt: Eisen, Ferritin, Transferrin, Tf.-Sätt.</Content>
 | 
			
		||||
</a4:Items>
 | 
			
		||||
<a4:Items id="ref-24" xmlns:a4="http://schemas.microsoft.com/clr/nsassem/zaaReloaded2.Controller.Elements/zaaReloaded2%2C%20Version%3D1.0.0.0%2C%20Culture%3Dneutral%2C%20PublicKeyToken%3D6ec8d075a1ab1383">
 | 
			
		||||
<Version>2</Version>
 | 
			
		||||
<Content id="ref-48">BGA: pH, Std.-Bic., BE</Content>
 | 
			
		||||
</a4:Items>
 | 
			
		||||
<a4:Items id="ref-25" xmlns:a4="http://schemas.microsoft.com/clr/nsassem/zaaReloaded2.Controller.Elements/zaaReloaded2%2C%20Version%3D1.0.0.0%2C%20Culture%3Dneutral%2C%20PublicKeyToken%3D6ec8d075a1ab1383">
 | 
			
		||||
<Version>2</Version>
 | 
			
		||||
<Content id="ref-49">Hepatitis-Serologie: Anti-HBs, Anti-HBc</Content>
 | 
			
		||||
</a4:Items>
 | 
			
		||||
<a4:Items id="ref-26" xmlns:a4="http://schemas.microsoft.com/clr/nsassem/zaaReloaded2.Controller.Elements/zaaReloaded2%2C%20Version%3D1.0.0.0%2C%20Culture%3Dneutral%2C%20PublicKeyToken%3D6ec8d075a1ab1383">
 | 
			
		||||
<Version>2</Version>
 | 
			
		||||
<Content id="ref-50">Medikamente: TAC "(Ziel-Talspiegel: <> µg/l)", CsA (C0) "(Ziel-Talspiegel: <> µg/l)", SIR "(Ziel-Talspiegel: <> µg/l)", Vancomycin, Gentamicin, Tobramicin</Content>
 | 
			
		||||
</a4:Items>
 | 
			
		||||
<a4:Items id="ref-27" xmlns:a4="http://schemas.microsoft.com/clr/nsassem/zaaReloaded2.Controller.Elements/zaaReloaded2%2C%20Version%3D1.0.0.0%2C%20Culture%3Dneutral%2C%20PublicKeyToken%3D6ec8d075a1ab1383">
 | 
			
		||||
<Version>2</Version>
 | 
			
		||||
<Content id="ref-51">Tumormarker: PSA, AFP</Content>
 | 
			
		||||
</a4:Items>
 | 
			
		||||
<a2:UnitySerializationHolder id="ref-28" xmlns:a2="http://schemas.microsoft.com/clr/ns/System">
 | 
			
		||||
<Data id="ref-52">zaaReloaded2.Controller.Elements.CustomText</Data>
 | 
			
		||||
<UnityType>4</UnityType>
 | 
			
		||||
<AssemblyName href="#ref-7"/>
 | 
			
		||||
</a2:UnitySerializationHolder>
 | 
			
		||||
<a4:CustomText id="ref-29" xmlns:a4="http://schemas.microsoft.com/clr/nsassem/zaaReloaded2.Controller.Elements/zaaReloaded2%2C%20Version%3D1.0.0.0%2C%20Culture%3Dneutral%2C%20PublicKeyToken%3D6ec8d075a1ab1383">
 | 
			
		||||
<Version>2</Version>
 | 
			
		||||
<Content id="ref-53">Nephrolog. Sediment: pH, Proteinurie, Ery /µl, Leu /µl, Plattenep. /µl, Bakt., Schleimfäden</Content>
 | 
			
		||||
</a4:CustomText>
 | 
			
		||||
<a4:CustomText id="ref-30" xmlns:a4="http://schemas.microsoft.com/clr/nsassem/zaaReloaded2.Controller.Elements/zaaReloaded2%2C%20Version%3D1.0.0.0%2C%20Culture%3Dneutral%2C%20PublicKeyToken%3D6ec8d075a1ab1383">
 | 
			
		||||
<Version>2</Version>
 | 
			
		||||
<Content id="ref-54">Virologie (EDTA-Blut): CMV-PCR, BKV-PCR</Content>
 | 
			
		||||
</a4:CustomText>
 | 
			
		||||
<a4:CustomText id="ref-31" xmlns:a4="http://schemas.microsoft.com/clr/nsassem/zaaReloaded2.Controller.Elements/zaaReloaded2%2C%20Version%3D1.0.0.0%2C%20Culture%3Dneutral%2C%20PublicKeyToken%3D6ec8d075a1ab1383">
 | 
			
		||||
<Version>2</Version>
 | 
			
		||||
<Content id="ref-55">Autoantikörper: ANCA (IF), MPO-ANCA (ELISA), PR3-ANCA (ELISA), ANA (IF), AnDNA (ELISA), AnDNA (RIA)</Content>
 | 
			
		||||
</a4:CustomText>
 | 
			
		||||
</SOAP-ENV:Body>
 | 
			
		||||
</SOAP-ENV:Envelope>
 | 
			
		||||
							
								
								
									
										53
									
								
								zaaReloaded2/Defaults/clinic.zaaReloaded2
									
									
									
									
									
										Executable file
									
								
							
							
						
						@@ -0,0 +1,53 @@
 | 
			
		||||
!zaaReloaded2.Controller.Settings,%20zaaReloaded2,%20Version=1.0.0.0,%20Culture=neutral,%20PublicKeyToken=6ec8d075a1ab1383
 | 
			
		||||
Name: Kopie von Standard für NepA
 | 
			
		||||
ReferenceStyle: IfSpecialItem
 | 
			
		||||
Elements: !System.Collections.Generic.List%601[[zaaReloaded2.Controller.Elements.ElementBase,%20zaaReloaded2,%20Version=1.0.0.0,%20Culture=neutral,%20PublicKeyToken=6ec8d075a1ab1383]],%20mscorlib,%20Version=4.0.0.0,%20Culture=neutral,%20PublicKeyToken=b77a5c561934e089
 | 
			
		||||
- !zaaReloaded2.Controller.Elements.SelectEachDay,%20zaaReloaded2,%20Version=1.0.0.0,%20Culture=neutral,%20PublicKeyToken=6ec8d075a1ab1383
 | 
			
		||||
  Children: !System.Collections.Generic.List%601[[zaaReloaded2.Controller.Elements.FormatElementBase,%20zaaReloaded2,%20Version=1.0.0.0,%20Culture=neutral,%20PublicKeyToken=6ec8d075a1ab1383]],%20mscorlib,%20Version=4.0.0.0,%20Culture=neutral,%20PublicKeyToken=b77a5c561934e089
 | 
			
		||||
  - !zaaReloaded2.Controller.Elements.Items,%20zaaReloaded2,%20Version=1.0.0.0,%20Culture=neutral,%20PublicKeyToken=6ec8d075a1ab1383
 | 
			
		||||
    Content: 'Klinische Chemie: Na, K, Cl, Mg, Ca, P, CaxP, Alb, Prot, Haptoglobin, LDH, Glukose, Harnsäure'
 | 
			
		||||
  - !zaaReloaded2.Controller.Elements.Items,%20zaaReloaded2,%20Version=1.0.0.0,%20Culture=neutral,%20PublicKeyToken=6ec8d075a1ab1383
 | 
			
		||||
    Content: 'Entzündung/Immunsystem: CRP, Pct, C3c, C4, Anti-DNAse B, ASL'
 | 
			
		||||
  - !zaaReloaded2.Controller.Elements.Items,%20zaaReloaded2,%20Version=1.0.0.0,%20Culture=neutral,%20PublicKeyToken=6ec8d075a1ab1383
 | 
			
		||||
    Content: 'Kardiale Marker: CK, CK-MB, hsTnT, NT-proBNP'
 | 
			
		||||
  - !zaaReloaded2.Controller.Elements.Items,%20zaaReloaded2,%20Version=1.0.0.0,%20Culture=neutral,%20PublicKeyToken=6ec8d075a1ab1383
 | 
			
		||||
    Content: 'Niere: Krea, Hst, eGFR (CKD-EPI), Cystatin C'
 | 
			
		||||
  - !zaaReloaded2.Controller.Elements.Items,%20zaaReloaded2,%20Version=1.0.0.0,%20Culture=neutral,%20PublicKeyToken=6ec8d075a1ab1383
 | 
			
		||||
    Content: 'Sammelurin: SU-Prot, SU-Alb, SU-CrCl, SU-HstCl, SU-GFR, SU-Na, SU-Zeit, SU-Volumen'
 | 
			
		||||
  - !zaaReloaded2.Controller.Elements.Items,%20zaaReloaded2,%20Version=1.0.0.0,%20Culture=neutral,%20PublicKeyToken=6ec8d075a1ab1383
 | 
			
		||||
    Content: 'Spot-Urin: U-TPCR, U-ACR, U-Alb, U-Ery, U-Leu, U-Bakt, U-Schwangerschaftstest'
 | 
			
		||||
  - !zaaReloaded2.Controller.Elements.Items,%20zaaReloaded2,%20Version=1.0.0.0,%20Culture=neutral,%20PublicKeyToken=6ec8d075a1ab1383
 | 
			
		||||
    Content: 'Leber: GOT, GGT, GPT, AP, Bilirubin, CHE, CDT'
 | 
			
		||||
  - !zaaReloaded2.Controller.Elements.Items,%20zaaReloaded2,%20Version=1.0.0.0,%20Culture=neutral,%20PublicKeyToken=6ec8d075a1ab1383
 | 
			
		||||
    Content: 'Blutfette: TG, Chol, LDL, HDL, Lp(a)'
 | 
			
		||||
  - !zaaReloaded2.Controller.Elements.Items,%20zaaReloaded2,%20Version=1.0.0.0,%20Culture=neutral,%20PublicKeyToken=6ec8d075a1ab1383
 | 
			
		||||
    Content: 'Hämatologie: Hb, Hkt, Reti, Leu, Thr, MCV, HbA1c, Retikulozyten, Fragmentozyten'
 | 
			
		||||
  - !zaaReloaded2.Controller.Elements.Items,%20zaaReloaded2,%20Version=1.0.0.0,%20Culture=neutral,%20PublicKeyToken=6ec8d075a1ab1383
 | 
			
		||||
    Content: 'Diff.-BB: Neu, Lym, Mon, Baso, Eos'
 | 
			
		||||
  - !zaaReloaded2.Controller.Elements.Items,%20zaaReloaded2,%20Version=1.0.0.0,%20Culture=neutral,%20PublicKeyToken=6ec8d075a1ab1383
 | 
			
		||||
    Content: 'Gerinnung: Quick, INR, PTT, Fibrinogen, ATIII, Anti-Xa'
 | 
			
		||||
  - !zaaReloaded2.Controller.Elements.Items,%20zaaReloaded2,%20Version=1.0.0.0,%20Culture=neutral,%20PublicKeyToken=6ec8d075a1ab1383
 | 
			
		||||
    Content: 'Serum-Elektrophorese: Albumin-Fraktion, a1-Globulin, a2-Globulin, b-Globulin, g-Globulin'
 | 
			
		||||
  - !zaaReloaded2.Controller.Elements.Items,%20zaaReloaded2,%20Version=1.0.0.0,%20Culture=neutral,%20PublicKeyToken=6ec8d075a1ab1383
 | 
			
		||||
    Content: 'Hormone: iPTH, TSH, fT3, fT4, Aldosteron, Renin, ARQ'
 | 
			
		||||
  - !zaaReloaded2.Controller.Elements.Items,%20zaaReloaded2,%20Version=1.0.0.0,%20Culture=neutral,%20PublicKeyToken=6ec8d075a1ab1383
 | 
			
		||||
    Content: 'Vitamine: B12, Folsäure'
 | 
			
		||||
  - !zaaReloaded2.Controller.Elements.Items,%20zaaReloaded2,%20Version=1.0.0.0,%20Culture=neutral,%20PublicKeyToken=6ec8d075a1ab1383
 | 
			
		||||
    Content: 'Eisenhaushalt: Eisen, Ferritin, Transferrin, Tf.-Sätt.'
 | 
			
		||||
  - !zaaReloaded2.Controller.Elements.Items,%20zaaReloaded2,%20Version=1.0.0.0,%20Culture=neutral,%20PublicKeyToken=6ec8d075a1ab1383
 | 
			
		||||
    Content: 'BGA: pH, Std.-Bic., BE'
 | 
			
		||||
  - !zaaReloaded2.Controller.Elements.Items,%20zaaReloaded2,%20Version=1.0.0.0,%20Culture=neutral,%20PublicKeyToken=6ec8d075a1ab1383
 | 
			
		||||
    Content: 'Hepatitis-Serologie: Anti-HBs, Anti-HBc'
 | 
			
		||||
  - !zaaReloaded2.Controller.Elements.Items,%20zaaReloaded2,%20Version=1.0.0.0,%20Culture=neutral,%20PublicKeyToken=6ec8d075a1ab1383
 | 
			
		||||
    Content: 'Medikamente: TAC "(Ziel-Talspiegel: <> µg/l)", CsA (C0) "(Ziel-Talspiegel: <> µg/l)", SIR "(Ziel-Talspiegel: <> µg/l)", Vancomycin, Gentamicin, Tobramicin'
 | 
			
		||||
  - !zaaReloaded2.Controller.Elements.Items,%20zaaReloaded2,%20Version=1.0.0.0,%20Culture=neutral,%20PublicKeyToken=6ec8d075a1ab1383
 | 
			
		||||
    Content: 'Tumormarker: PSA, AFP'
 | 
			
		||||
  - !zaaReloaded2.Controller.Elements.CustomText,%20zaaReloaded2,%20Version=1.0.0.0,%20Culture=neutral,%20PublicKeyToken=6ec8d075a1ab1383
 | 
			
		||||
    Content: 'Nephrolog. Sediment: pH, Proteinurie, Ery /µl, Leu /µl, Plattenep. /µl, Bakt., Schleimfäden'
 | 
			
		||||
  - !zaaReloaded2.Controller.Elements.CustomText,%20zaaReloaded2,%20Version=1.0.0.0,%20Culture=neutral,%20PublicKeyToken=6ec8d075a1ab1383
 | 
			
		||||
    Content: 'Virologie (EDTA-Blut): CMV-PCR, BKV-PCR'
 | 
			
		||||
  - !zaaReloaded2.Controller.Elements.CustomText,%20zaaReloaded2,%20Version=1.0.0.0,%20Culture=neutral,%20PublicKeyToken=6ec8d075a1ab1383
 | 
			
		||||
    Content: 'Autoantikörper: ANCA (IF) 1: (Ref. < 1:40), MPO-ANCA (ELISA) IU/ml (Ref. < 9), PR3-ANCA (ELISA) IU/ml (Ref. < 3,5), ANA (IF), AnDNA (ELISA), AnDNA (RIA)'
 | 
			
		||||
  - !zaaReloaded2.Controller.Elements.Items,%20zaaReloaded2,%20Version=1.0.0.0,%20Culture=neutral,%20PublicKeyToken=6ec8d075a1ab1383
 | 
			
		||||
    Content: 'MSU: MSU-Keim, MSU-Multiresistenz'
 | 
			
		||||
Uid: 581d378c-8f7a-4a1c-8490-36e257770a09
 | 
			
		||||
@@ -1,7 +1,9 @@
 | 
			
		||||
# LAURIS-NAME                      "KANONISCHER NAME"   MATERIAL   DEZIMALSTELLEN   "IMMER REFERENZBEREICH"   "BLACKLIST"
 | 
			
		||||
# ===========                      ==================   ========   ==============   =======================   ===========
 | 
			
		||||
# LAURIS-NAME                      "KANONISCHER NAME"   MATERIAL   DEZIMALSTELLEN   "IMMER REFERENZBEREICH"   "BLACKLIST"  "NO-LABEL"
 | 
			
		||||
# ===========                      ==================   ========   ==============   =======================   ===========  ==========
 | 
			
		||||
"- Multiresistenz"                 Multiresistenz       MSU        ---              ---                       ---          X
 | 
			
		||||
"a1-Microglobulin (SU)"            a1-Microglobulin     SU
 | 
			
		||||
"a1-Microglobulin (SU)/die"        a1-Microglobulin     SU
 | 
			
		||||
"Aerobe Kultur"                    Keim                 MSU        ---              ---                       ---          X
 | 
			
		||||
"AFP  (ECL, Elecsys, Roche)"       AFP                  S          ---              X
 | 
			
		||||
"aktuelles Bicarbonat"             Bic                  BGA
 | 
			
		||||
Albumin                            Alb                  S
 | 
			
		||||
@@ -10,6 +12,8 @@ Albumin                            Alb                  S
 | 
			
		||||
"Albumin (SU)/die"                 Alb                  SU
 | 
			
		||||
"Albumin - Fraktion"               Albumin-Fraktion     S          ---              X
 | 
			
		||||
"Albumin/Creatinin (PU)"           ACR                  U          0
 | 
			
		||||
Aldosteron                         Aldosteron           S          ---              X
 | 
			
		||||
Aldosteron-Renin-Quotient          ARQ                  S          ---              X
 | 
			
		||||
"Alk. Phosphatase"                 AP                   S          0
 | 
			
		||||
"Alpha1-Globulin - Fraktion"       a1-Globulin          S          ---              X
 | 
			
		||||
"Alpha2-Globulin - Fraktion"       a2-Globulin          S          ---              X
 | 
			
		||||
@@ -79,6 +83,7 @@ Kalium                             K                    S
 | 
			
		||||
"Kalium (SU)"                      K                    U
 | 
			
		||||
"Kalium (SU)/die"                  K                    SU
 | 
			
		||||
"Ketonkörper (U)"                  KK                   U
 | 
			
		||||
"kohlenhyd. def. Transferrin"      CDT                  S          1                X
 | 
			
		||||
"Komplementfaktor C3c"             C3c                  S          ---              X
 | 
			
		||||
"Komplementfaktor C4"              C4                   S          ---              X
 | 
			
		||||
"Lactat Dehydrogenase"             LDH                  S
 | 
			
		||||
@@ -110,10 +115,12 @@ pH                                 pH                   BGA
 | 
			
		||||
"PTH intakt"                       iPTH                 S
 | 
			
		||||
PTT                                PTT                  Z
 | 
			
		||||
"Ratio int. norm."                 INR                  Z
 | 
			
		||||
Plasma-Renin-Konzentration         Renin                S          ---              X
 | 
			
		||||
Retikulozyten                      Retikulozyten        E          ---              X
 | 
			
		||||
"Sammelmenge (U)"                  Volumen              SU
 | 
			
		||||
"Sammelzeit (U)"                   Zeit                 SU
 | 
			
		||||
"Sauerstoffsättigung (art.)"       SO2                  BGA
 | 
			
		||||
"Schwangerschaftstest (U)"         Schwangerschaftstest U
 | 
			
		||||
Sirolimus                          SIR                  S
 | 
			
		||||
"spezifisches Gewicht (U)"         "spez. Gew."         U
 | 
			
		||||
"Standard Bicarbonat"              "Std.-Bic."          BGA
 | 
			
		||||
@@ -127,6 +134,7 @@ Transferrin                        Transferrin          S
 | 
			
		||||
TSH                                TSH                  S
 | 
			
		||||
"Übergangsepithelien (U)"          Übergangsep.         U
 | 
			
		||||
"Unreife Granulozyten"             Gran                 E
 | 
			
		||||
"Untersuchungsmaterial"            Material             MSU
 | 
			
		||||
"Urobilinogen (U)"                 Urobilinogen         U
 | 
			
		||||
"Vitamin B12"                      B12                  S          ---              X
 | 
			
		||||
# vim: tw=160 et nowrap fo-=t
 | 
			
		||||
 
 | 
			
		||||
@@ -1,254 +0,0 @@
 | 
			
		||||
<SOAP-ENV:Envelope xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:SOAP-ENC="http://schemas.xmlsoap.org/soap/encoding/" xmlns:SOAP-ENV="http://schemas.xmlsoap.org/soap/envelope/" xmlns:clr="http://schemas.microsoft.com/soap/encoding/clr/1.0" SOAP-ENV:encodingStyle="http://schemas.xmlsoap.org/soap/encoding/">
 | 
			
		||||
<SOAP-ENV:Body>
 | 
			
		||||
<a1:Settings id="ref-1" xmlns:a1="http://schemas.microsoft.com/clr/nsassem/zaaReloaded2.Controller/zaaReloaded2%2C%20Version%3D1.0.0.0%2C%20Culture%3Dneutral%2C%20PublicKeyToken%3D6ec8d075a1ab1383">
 | 
			
		||||
<Version>2</Version>
 | 
			
		||||
<Uid xsi:type="a2:Guid" xmlns:a2="http://schemas.microsoft.com/clr/ns/System">
 | 
			
		||||
<_a>1038630179</_a>
 | 
			
		||||
<_b>-1437</_b>
 | 
			
		||||
<_c>19419</_c>
 | 
			
		||||
<_d>151</_d>
 | 
			
		||||
<_e>122</_e>
 | 
			
		||||
<_f>7</_f>
 | 
			
		||||
<_g>44</_g>
 | 
			
		||||
<_h>130</_h>
 | 
			
		||||
<_i>195</_i>
 | 
			
		||||
<_j>52</_j>
 | 
			
		||||
<_k>194</_k>
 | 
			
		||||
</Uid>
 | 
			
		||||
<Name id="ref-3">Station ganz neu</Name>
 | 
			
		||||
<ReferenceStyle xsi:type="a3:ReferenceStyle" xmlns:a3="http://schemas.microsoft.com/clr/nsassem/zaaReloaded2.Formatter/zaaReloaded2%2C%20Version%3D1.0.0.0%2C%20Culture%3Dneutral%2C%20PublicKeyToken%3D6ec8d075a1ab1383">IfSpecialItem</ReferenceStyle>
 | 
			
		||||
<AbnormalStyle xsi:type="a3:AbnormalStyle" xmlns:a3="http://schemas.microsoft.com/clr/nsassem/zaaReloaded2.Formatter/zaaReloaded2%2C%20Version%3D1.0.0.0%2C%20Culture%3Dneutral%2C%20PublicKeyToken%3D6ec8d075a1ab1383">None</AbnormalStyle>
 | 
			
		||||
<ElementsCount>4</ElementsCount>
 | 
			
		||||
<Element0Type href="#ref-4"/>
 | 
			
		||||
<Element0Object href="#ref-5"/>
 | 
			
		||||
<Element1Type href="#ref-6"/>
 | 
			
		||||
<Element1Object href="#ref-7"/>
 | 
			
		||||
<Element2Type href="#ref-8"/>
 | 
			
		||||
<Element2Object href="#ref-9"/>
 | 
			
		||||
<Element3Type href="#ref-10"/>
 | 
			
		||||
<Element3Object href="#ref-11"/>
 | 
			
		||||
</a1:Settings>
 | 
			
		||||
<a2:UnitySerializationHolder id="ref-4" xmlns:a2="http://schemas.microsoft.com/clr/ns/System">
 | 
			
		||||
<Data id="ref-12">zaaReloaded2.Controller.Elements.TwoColumns</Data>
 | 
			
		||||
<UnityType>4</UnityType>
 | 
			
		||||
<AssemblyName id="ref-13">zaaReloaded2, Version=1.0.0.0, Culture=neutral, PublicKeyToken=6ec8d075a1ab1383</AssemblyName>
 | 
			
		||||
</a2:UnitySerializationHolder>
 | 
			
		||||
<a4:TwoColumns id="ref-5" xmlns:a4="http://schemas.microsoft.com/clr/nsassem/zaaReloaded2.Controller.Elements/zaaReloaded2%2C%20Version%3D1.0.0.0%2C%20Culture%3Dneutral%2C%20PublicKeyToken%3D6ec8d075a1ab1383">
 | 
			
		||||
<Version>2</Version>
 | 
			
		||||
<ChildrenCount>0</ChildrenCount>
 | 
			
		||||
</a4:TwoColumns>
 | 
			
		||||
<a2:UnitySerializationHolder id="ref-6" xmlns:a2="http://schemas.microsoft.com/clr/ns/System">
 | 
			
		||||
<Data id="ref-14">zaaReloaded2.Controller.Elements.SelectFirstDay</Data>
 | 
			
		||||
<UnityType>4</UnityType>
 | 
			
		||||
<AssemblyName href="#ref-13"/>
 | 
			
		||||
</a2:UnitySerializationHolder>
 | 
			
		||||
<a4:SelectFirstDay id="ref-7" xmlns:a4="http://schemas.microsoft.com/clr/nsassem/zaaReloaded2.Controller.Elements/zaaReloaded2%2C%20Version%3D1.0.0.0%2C%20Culture%3Dneutral%2C%20PublicKeyToken%3D6ec8d075a1ab1383">
 | 
			
		||||
<Version>2</Version>
 | 
			
		||||
<ChildrenCount>22</ChildrenCount>
 | 
			
		||||
<Child0Type href="#ref-15"/>
 | 
			
		||||
<Child0Object href="#ref-16"/>
 | 
			
		||||
<Child1Type href="#ref-15"/>
 | 
			
		||||
<Child1Object href="#ref-17"/>
 | 
			
		||||
<Child2Type href="#ref-15"/>
 | 
			
		||||
<Child2Object href="#ref-18"/>
 | 
			
		||||
<Child3Type href="#ref-15"/>
 | 
			
		||||
<Child3Object href="#ref-19"/>
 | 
			
		||||
<Child4Type href="#ref-15"/>
 | 
			
		||||
<Child4Object href="#ref-20"/>
 | 
			
		||||
<Child5Type href="#ref-15"/>
 | 
			
		||||
<Child5Object href="#ref-21"/>
 | 
			
		||||
<Child6Type href="#ref-15"/>
 | 
			
		||||
<Child6Object href="#ref-22"/>
 | 
			
		||||
<Child7Type href="#ref-15"/>
 | 
			
		||||
<Child7Object href="#ref-23"/>
 | 
			
		||||
<Child8Type href="#ref-15"/>
 | 
			
		||||
<Child8Object href="#ref-24"/>
 | 
			
		||||
<Child9Type href="#ref-15"/>
 | 
			
		||||
<Child9Object href="#ref-25"/>
 | 
			
		||||
<Child10Type href="#ref-15"/>
 | 
			
		||||
<Child10Object href="#ref-26"/>
 | 
			
		||||
<Child11Type href="#ref-15"/>
 | 
			
		||||
<Child11Object href="#ref-27"/>
 | 
			
		||||
<Child12Type href="#ref-15"/>
 | 
			
		||||
<Child12Object href="#ref-28"/>
 | 
			
		||||
<Child13Type href="#ref-15"/>
 | 
			
		||||
<Child13Object href="#ref-29"/>
 | 
			
		||||
<Child14Type href="#ref-15"/>
 | 
			
		||||
<Child14Object href="#ref-30"/>
 | 
			
		||||
<Child15Type href="#ref-15"/>
 | 
			
		||||
<Child15Object href="#ref-31"/>
 | 
			
		||||
<Child16Type href="#ref-15"/>
 | 
			
		||||
<Child16Object href="#ref-32"/>
 | 
			
		||||
<Child17Type href="#ref-15"/>
 | 
			
		||||
<Child17Object href="#ref-33"/>
 | 
			
		||||
<Child18Type href="#ref-34"/>
 | 
			
		||||
<Child18Object href="#ref-35"/>
 | 
			
		||||
<Child19Type href="#ref-34"/>
 | 
			
		||||
<Child19Object href="#ref-36"/>
 | 
			
		||||
<Child20Type href="#ref-34"/>
 | 
			
		||||
<Child20Object href="#ref-37"/>
 | 
			
		||||
<Child21Type href="#ref-15"/>
 | 
			
		||||
<Child21Object href="#ref-38"/>
 | 
			
		||||
</a4:SelectFirstDay>
 | 
			
		||||
<a2:UnitySerializationHolder id="ref-8" xmlns:a2="http://schemas.microsoft.com/clr/ns/System">
 | 
			
		||||
<Data id="ref-39">zaaReloaded2.Controller.Elements.NextColumn</Data>
 | 
			
		||||
<UnityType>4</UnityType>
 | 
			
		||||
<AssemblyName href="#ref-13"/>
 | 
			
		||||
</a2:UnitySerializationHolder>
 | 
			
		||||
<a4:NextColumn id="ref-9" xmlns:a4="http://schemas.microsoft.com/clr/nsassem/zaaReloaded2.Controller.Elements/zaaReloaded2%2C%20Version%3D1.0.0.0%2C%20Culture%3Dneutral%2C%20PublicKeyToken%3D6ec8d075a1ab1383">
 | 
			
		||||
<Version>2</Version>
 | 
			
		||||
<ChildrenCount>0</ChildrenCount>
 | 
			
		||||
</a4:NextColumn>
 | 
			
		||||
<a2:UnitySerializationHolder id="ref-10" xmlns:a2="http://schemas.microsoft.com/clr/ns/System">
 | 
			
		||||
<Data id="ref-40">zaaReloaded2.Controller.Elements.SelectLastDay</Data>
 | 
			
		||||
<UnityType>4</UnityType>
 | 
			
		||||
<AssemblyName href="#ref-13"/>
 | 
			
		||||
</a2:UnitySerializationHolder>
 | 
			
		||||
<a4:SelectLastDay id="ref-11" xmlns:a4="http://schemas.microsoft.com/clr/nsassem/zaaReloaded2.Controller.Elements/zaaReloaded2%2C%20Version%3D1.0.0.0%2C%20Culture%3Dneutral%2C%20PublicKeyToken%3D6ec8d075a1ab1383">
 | 
			
		||||
<Version>2</Version>
 | 
			
		||||
<ChildrenCount>22</ChildrenCount>
 | 
			
		||||
<Child0Type href="#ref-15"/>
 | 
			
		||||
<Child0Object href="#ref-16"/>
 | 
			
		||||
<Child1Type href="#ref-15"/>
 | 
			
		||||
<Child1Object href="#ref-17"/>
 | 
			
		||||
<Child2Type href="#ref-15"/>
 | 
			
		||||
<Child2Object href="#ref-18"/>
 | 
			
		||||
<Child3Type href="#ref-15"/>
 | 
			
		||||
<Child3Object href="#ref-19"/>
 | 
			
		||||
<Child4Type href="#ref-15"/>
 | 
			
		||||
<Child4Object href="#ref-20"/>
 | 
			
		||||
<Child5Type href="#ref-15"/>
 | 
			
		||||
<Child5Object href="#ref-21"/>
 | 
			
		||||
<Child6Type href="#ref-15"/>
 | 
			
		||||
<Child6Object href="#ref-22"/>
 | 
			
		||||
<Child7Type href="#ref-15"/>
 | 
			
		||||
<Child7Object href="#ref-23"/>
 | 
			
		||||
<Child8Type href="#ref-15"/>
 | 
			
		||||
<Child8Object href="#ref-24"/>
 | 
			
		||||
<Child9Type href="#ref-15"/>
 | 
			
		||||
<Child9Object href="#ref-25"/>
 | 
			
		||||
<Child10Type href="#ref-15"/>
 | 
			
		||||
<Child10Object href="#ref-26"/>
 | 
			
		||||
<Child11Type href="#ref-15"/>
 | 
			
		||||
<Child11Object href="#ref-27"/>
 | 
			
		||||
<Child12Type href="#ref-15"/>
 | 
			
		||||
<Child12Object href="#ref-28"/>
 | 
			
		||||
<Child13Type href="#ref-15"/>
 | 
			
		||||
<Child13Object href="#ref-29"/>
 | 
			
		||||
<Child14Type href="#ref-15"/>
 | 
			
		||||
<Child14Object href="#ref-30"/>
 | 
			
		||||
<Child15Type href="#ref-15"/>
 | 
			
		||||
<Child15Object href="#ref-31"/>
 | 
			
		||||
<Child16Type href="#ref-15"/>
 | 
			
		||||
<Child16Object href="#ref-32"/>
 | 
			
		||||
<Child17Type href="#ref-15"/>
 | 
			
		||||
<Child17Object href="#ref-33"/>
 | 
			
		||||
<Child18Type href="#ref-34"/>
 | 
			
		||||
<Child18Object href="#ref-35"/>
 | 
			
		||||
<Child19Type href="#ref-34"/>
 | 
			
		||||
<Child19Object href="#ref-36"/>
 | 
			
		||||
<Child20Type href="#ref-34"/>
 | 
			
		||||
<Child20Object href="#ref-37"/>
 | 
			
		||||
<Child21Type href="#ref-15"/>
 | 
			
		||||
<Child21Object href="#ref-38"/>
 | 
			
		||||
</a4:SelectLastDay>
 | 
			
		||||
<a2:UnitySerializationHolder id="ref-15" xmlns:a2="http://schemas.microsoft.com/clr/ns/System">
 | 
			
		||||
<Data id="ref-41">zaaReloaded2.Controller.Elements.Items</Data>
 | 
			
		||||
<UnityType>4</UnityType>
 | 
			
		||||
<AssemblyName href="#ref-13"/>
 | 
			
		||||
</a2:UnitySerializationHolder>
 | 
			
		||||
<a4:Items id="ref-16" xmlns:a4="http://schemas.microsoft.com/clr/nsassem/zaaReloaded2.Controller.Elements/zaaReloaded2%2C%20Version%3D1.0.0.0%2C%20Culture%3Dneutral%2C%20PublicKeyToken%3D6ec8d075a1ab1383">
 | 
			
		||||
<Version>2</Version>
 | 
			
		||||
<Content id="ref-42">Klinische Chemie: Na, K, Cl, Mg, Ca, P, CaxP, Alb, Prot, Haptoglobin, LDH, Glukose, Harnsäure</Content>
 | 
			
		||||
</a4:Items>
 | 
			
		||||
<a4:Items id="ref-17" xmlns:a4="http://schemas.microsoft.com/clr/nsassem/zaaReloaded2.Controller.Elements/zaaReloaded2%2C%20Version%3D1.0.0.0%2C%20Culture%3Dneutral%2C%20PublicKeyToken%3D6ec8d075a1ab1383">
 | 
			
		||||
<Version>2</Version>
 | 
			
		||||
<Content id="ref-43">Entzündung/Immunsystem: CRP, Pct, C3c, C4, Anti-DNAse B, ASL</Content>
 | 
			
		||||
</a4:Items>
 | 
			
		||||
<a4:Items id="ref-18" xmlns:a4="http://schemas.microsoft.com/clr/nsassem/zaaReloaded2.Controller.Elements/zaaReloaded2%2C%20Version%3D1.0.0.0%2C%20Culture%3Dneutral%2C%20PublicKeyToken%3D6ec8d075a1ab1383">
 | 
			
		||||
<Version>2</Version>
 | 
			
		||||
<Content id="ref-44">Kardiale Marker: CK, CKMB, hsTnT, NT-proBNP</Content>
 | 
			
		||||
</a4:Items>
 | 
			
		||||
<a4:Items id="ref-19" xmlns:a4="http://schemas.microsoft.com/clr/nsassem/zaaReloaded2.Controller.Elements/zaaReloaded2%2C%20Version%3D1.0.0.0%2C%20Culture%3Dneutral%2C%20PublicKeyToken%3D6ec8d075a1ab1383">
 | 
			
		||||
<Version>2</Version>
 | 
			
		||||
<Content id="ref-45">Niere: Krea, Hst, eGFR (CKD-EPI), Cystatin C</Content>
 | 
			
		||||
</a4:Items>
 | 
			
		||||
<a4:Items id="ref-20" xmlns:a4="http://schemas.microsoft.com/clr/nsassem/zaaReloaded2.Controller.Elements/zaaReloaded2%2C%20Version%3D1.0.0.0%2C%20Culture%3Dneutral%2C%20PublicKeyToken%3D6ec8d075a1ab1383">
 | 
			
		||||
<Version>2</Version>
 | 
			
		||||
<Content id="ref-46">Sammelurin: SU-Prot, SU-Alb, SU-CrCl, SU-HstCl, SU-GFR, SU-Na, SU-Zeit, SU-Volumen</Content>
 | 
			
		||||
</a4:Items>
 | 
			
		||||
<a4:Items id="ref-21" xmlns:a4="http://schemas.microsoft.com/clr/nsassem/zaaReloaded2.Controller.Elements/zaaReloaded2%2C%20Version%3D1.0.0.0%2C%20Culture%3Dneutral%2C%20PublicKeyToken%3D6ec8d075a1ab1383">
 | 
			
		||||
<Version>2</Version>
 | 
			
		||||
<Content id="ref-47">Spot-Urin: U-TPCR, U-ACR, U-Alb, U-Ery, U-Leu, U-Bakt</Content>
 | 
			
		||||
</a4:Items>
 | 
			
		||||
<a4:Items id="ref-22" xmlns:a4="http://schemas.microsoft.com/clr/nsassem/zaaReloaded2.Controller.Elements/zaaReloaded2%2C%20Version%3D1.0.0.0%2C%20Culture%3Dneutral%2C%20PublicKeyToken%3D6ec8d075a1ab1383">
 | 
			
		||||
<Version>2</Version>
 | 
			
		||||
<Content id="ref-48">Leber: GOT, GGT, GPT, AP, Bilirubin, CHE</Content>
 | 
			
		||||
</a4:Items>
 | 
			
		||||
<a4:Items id="ref-23" xmlns:a4="http://schemas.microsoft.com/clr/nsassem/zaaReloaded2.Controller.Elements/zaaReloaded2%2C%20Version%3D1.0.0.0%2C%20Culture%3Dneutral%2C%20PublicKeyToken%3D6ec8d075a1ab1383">
 | 
			
		||||
<Version>2</Version>
 | 
			
		||||
<Content id="ref-49">Blutfette: TG, Chol, LDL, HDL, Lp(a)</Content>
 | 
			
		||||
</a4:Items>
 | 
			
		||||
<a4:Items id="ref-24" xmlns:a4="http://schemas.microsoft.com/clr/nsassem/zaaReloaded2.Controller.Elements/zaaReloaded2%2C%20Version%3D1.0.0.0%2C%20Culture%3Dneutral%2C%20PublicKeyToken%3D6ec8d075a1ab1383">
 | 
			
		||||
<Version>2</Version>
 | 
			
		||||
<Content id="ref-50">Hämatologie: Hb, Hkt, Reti, Leu, Thr, MCV, HbA1c, Retikulozyten, Fragmentozyten</Content>
 | 
			
		||||
</a4:Items>
 | 
			
		||||
<a4:Items id="ref-25" xmlns:a4="http://schemas.microsoft.com/clr/nsassem/zaaReloaded2.Controller.Elements/zaaReloaded2%2C%20Version%3D1.0.0.0%2C%20Culture%3Dneutral%2C%20PublicKeyToken%3D6ec8d075a1ab1383">
 | 
			
		||||
<Version>2</Version>
 | 
			
		||||
<Content id="ref-51">Diff.-BB: Neu, Lym, Mon, Baso, Eos</Content>
 | 
			
		||||
</a4:Items>
 | 
			
		||||
<a4:Items id="ref-26" xmlns:a4="http://schemas.microsoft.com/clr/nsassem/zaaReloaded2.Controller.Elements/zaaReloaded2%2C%20Version%3D1.0.0.0%2C%20Culture%3Dneutral%2C%20PublicKeyToken%3D6ec8d075a1ab1383">
 | 
			
		||||
<Version>2</Version>
 | 
			
		||||
<Content id="ref-52">Gerinnung: Quick, INR, PTT, Fibrinogen, ATIII, Anti-Xa</Content>
 | 
			
		||||
</a4:Items>
 | 
			
		||||
<a4:Items id="ref-27" xmlns:a4="http://schemas.microsoft.com/clr/nsassem/zaaReloaded2.Controller.Elements/zaaReloaded2%2C%20Version%3D1.0.0.0%2C%20Culture%3Dneutral%2C%20PublicKeyToken%3D6ec8d075a1ab1383">
 | 
			
		||||
<Version>2</Version>
 | 
			
		||||
<Content id="ref-53">Serum-Elektrophorese: Albumin-Fraktion, a1-Globulin, a2-Globulin, b-Globulin, g-Globulin</Content>
 | 
			
		||||
</a4:Items>
 | 
			
		||||
<a4:Items id="ref-28" xmlns:a4="http://schemas.microsoft.com/clr/nsassem/zaaReloaded2.Controller.Elements/zaaReloaded2%2C%20Version%3D1.0.0.0%2C%20Culture%3Dneutral%2C%20PublicKeyToken%3D6ec8d075a1ab1383">
 | 
			
		||||
<Version>2</Version>
 | 
			
		||||
<Content id="ref-54">Hormone: iPTH, TSH, fT3, fT4</Content>
 | 
			
		||||
</a4:Items>
 | 
			
		||||
<a4:Items id="ref-29" xmlns:a4="http://schemas.microsoft.com/clr/nsassem/zaaReloaded2.Controller.Elements/zaaReloaded2%2C%20Version%3D1.0.0.0%2C%20Culture%3Dneutral%2C%20PublicKeyToken%3D6ec8d075a1ab1383">
 | 
			
		||||
<Version>2</Version>
 | 
			
		||||
<Content id="ref-55">Vitamine: B12, Folsäure</Content>
 | 
			
		||||
</a4:Items>
 | 
			
		||||
<a4:Items id="ref-30" xmlns:a4="http://schemas.microsoft.com/clr/nsassem/zaaReloaded2.Controller.Elements/zaaReloaded2%2C%20Version%3D1.0.0.0%2C%20Culture%3Dneutral%2C%20PublicKeyToken%3D6ec8d075a1ab1383">
 | 
			
		||||
<Version>2</Version>
 | 
			
		||||
<Content id="ref-56">Eisenhaushalt: Eisen, Ferritin, Transferrin, Tf.-Sätt.</Content>
 | 
			
		||||
</a4:Items>
 | 
			
		||||
<a4:Items id="ref-31" xmlns:a4="http://schemas.microsoft.com/clr/nsassem/zaaReloaded2.Controller.Elements/zaaReloaded2%2C%20Version%3D1.0.0.0%2C%20Culture%3Dneutral%2C%20PublicKeyToken%3D6ec8d075a1ab1383">
 | 
			
		||||
<Version>2</Version>
 | 
			
		||||
<Content id="ref-57">BGA: pH, Std.-Bic., BE</Content>
 | 
			
		||||
</a4:Items>
 | 
			
		||||
<a4:Items id="ref-32" xmlns:a4="http://schemas.microsoft.com/clr/nsassem/zaaReloaded2.Controller.Elements/zaaReloaded2%2C%20Version%3D1.0.0.0%2C%20Culture%3Dneutral%2C%20PublicKeyToken%3D6ec8d075a1ab1383">
 | 
			
		||||
<Version>2</Version>
 | 
			
		||||
<Content id="ref-58">Hepatitis-Serologie: Anti-HBs, Anti-HBc</Content>
 | 
			
		||||
</a4:Items>
 | 
			
		||||
<a4:Items id="ref-33" xmlns:a4="http://schemas.microsoft.com/clr/nsassem/zaaReloaded2.Controller.Elements/zaaReloaded2%2C%20Version%3D1.0.0.0%2C%20Culture%3Dneutral%2C%20PublicKeyToken%3D6ec8d075a1ab1383">
 | 
			
		||||
<Version>2</Version>
 | 
			
		||||
<Content id="ref-59">Medikamente: TAC "(Ziel-Talspiegel: <> µg/l)", CsA (C0) "(Ziel-Talspiegel: <> µg/l)", SIR "(Ziel-Talspiegel: <> µg/l)", Vancomycin, Gentamicin, Tobramicin</Content>
 | 
			
		||||
</a4:Items>
 | 
			
		||||
<a2:UnitySerializationHolder id="ref-34" xmlns:a2="http://schemas.microsoft.com/clr/ns/System">
 | 
			
		||||
<Data id="ref-60">zaaReloaded2.Controller.Elements.CustomText</Data>
 | 
			
		||||
<UnityType>4</UnityType>
 | 
			
		||||
<AssemblyName href="#ref-13"/>
 | 
			
		||||
</a2:UnitySerializationHolder>
 | 
			
		||||
<a4:CustomText id="ref-35" xmlns:a4="http://schemas.microsoft.com/clr/nsassem/zaaReloaded2.Controller.Elements/zaaReloaded2%2C%20Version%3D1.0.0.0%2C%20Culture%3Dneutral%2C%20PublicKeyToken%3D6ec8d075a1ab1383">
 | 
			
		||||
<Version>2</Version>
 | 
			
		||||
<Content id="ref-61">Nephrolog. Sediment: pH, Proteinurie, Ery /µl, Leu /µl, Plattenep. /µl, Bakt., Schleimfäden</Content>
 | 
			
		||||
</a4:CustomText>
 | 
			
		||||
<a4:CustomText id="ref-36" xmlns:a4="http://schemas.microsoft.com/clr/nsassem/zaaReloaded2.Controller.Elements/zaaReloaded2%2C%20Version%3D1.0.0.0%2C%20Culture%3Dneutral%2C%20PublicKeyToken%3D6ec8d075a1ab1383">
 | 
			
		||||
<Version>2</Version>
 | 
			
		||||
<Content id="ref-62">Virologie (EDTA-Blut): CMV-PCR, BKV-PCR</Content>
 | 
			
		||||
</a4:CustomText>
 | 
			
		||||
<a4:CustomText id="ref-37" xmlns:a4="http://schemas.microsoft.com/clr/nsassem/zaaReloaded2.Controller.Elements/zaaReloaded2%2C%20Version%3D1.0.0.0%2C%20Culture%3Dneutral%2C%20PublicKeyToken%3D6ec8d075a1ab1383">
 | 
			
		||||
<Version>2</Version>
 | 
			
		||||
<Content id="ref-63">Autoantikörper: ANCA (IF), MPO-ANCA (ELISA), PR3-ANCA (ELISA), ANA (IF), AnDNA (ELISA), AnDNA (RIA)</Content>
 | 
			
		||||
</a4:CustomText>
 | 
			
		||||
<a4:Items id="ref-38" xmlns:a4="http://schemas.microsoft.com/clr/nsassem/zaaReloaded2.Controller.Elements/zaaReloaded2%2C%20Version%3D1.0.0.0%2C%20Culture%3Dneutral%2C%20PublicKeyToken%3D6ec8d075a1ab1383">
 | 
			
		||||
<Version>2</Version>
 | 
			
		||||
<Content id="ref-64">Tumormarker: PSA</Content>
 | 
			
		||||
</a4:Items>
 | 
			
		||||
</SOAP-ENV:Body>
 | 
			
		||||
</SOAP-ENV:Envelope>
 | 
			
		||||
							
								
								
									
										101
									
								
								zaaReloaded2/Defaults/ward.zaaReloaded2
									
									
									
									
									
										Executable file
									
								
							
							
						
						@@ -0,0 +1,101 @@
 | 
			
		||||
!zaaReloaded2.Controller.Settings,%20zaaReloaded2,%20Version=1.0.0.0,%20Culture=neutral,%20PublicKeyToken=6ec8d075a1ab1383
 | 
			
		||||
Name: Kopie von Standard für Station
 | 
			
		||||
ReferenceStyle: IfSpecialItem
 | 
			
		||||
Elements: !System.Collections.Generic.List%601[[zaaReloaded2.Controller.Elements.ElementBase,%20zaaReloaded2,%20Version=1.0.0.0,%20Culture=neutral,%20PublicKeyToken=6ec8d075a1ab1383]],%20mscorlib,%20Version=4.0.0.0,%20Culture=neutral,%20PublicKeyToken=b77a5c561934e089
 | 
			
		||||
- !zaaReloaded2.Controller.Elements.TwoColumns,%20zaaReloaded2,%20Version=1.0.0.0,%20Culture=neutral,%20PublicKeyToken=6ec8d075a1ab1383
 | 
			
		||||
  Children: !System.Collections.Generic.List%601[[zaaReloaded2.Controller.Elements.FormatElementBase,%20zaaReloaded2,%20Version=1.0.0.0,%20Culture=neutral,%20PublicKeyToken=6ec8d075a1ab1383]],%20mscorlib,%20Version=4.0.0.0,%20Culture=neutral,%20PublicKeyToken=b77a5c561934e089 []
 | 
			
		||||
- !zaaReloaded2.Controller.Elements.SelectFirstDay,%20zaaReloaded2,%20Version=1.0.0.0,%20Culture=neutral,%20PublicKeyToken=6ec8d075a1ab1383
 | 
			
		||||
  Children: !System.Collections.Generic.List%601[[zaaReloaded2.Controller.Elements.FormatElementBase,%20zaaReloaded2,%20Version=1.0.0.0,%20Culture=neutral,%20PublicKeyToken=6ec8d075a1ab1383]],%20mscorlib,%20Version=4.0.0.0,%20Culture=neutral,%20PublicKeyToken=b77a5c561934e089
 | 
			
		||||
  - !zaaReloaded2.Controller.Elements.Items,%20zaaReloaded2,%20Version=1.0.0.0,%20Culture=neutral,%20PublicKeyToken=6ec8d075a1ab1383
 | 
			
		||||
    Content: 'Klinische Chemie: Na, K, Cl, Mg, Ca, P, CaxP, Alb, Prot, Haptoglobin, LDH, Glukose, Harnsäure'
 | 
			
		||||
  - !zaaReloaded2.Controller.Elements.Items,%20zaaReloaded2,%20Version=1.0.0.0,%20Culture=neutral,%20PublicKeyToken=6ec8d075a1ab1383
 | 
			
		||||
    Content: 'Entzündung/Immunsystem: CRP, Pct, C3c, C4, Anti-DNAse B, ASL'
 | 
			
		||||
  - !zaaReloaded2.Controller.Elements.Items,%20zaaReloaded2,%20Version=1.0.0.0,%20Culture=neutral,%20PublicKeyToken=6ec8d075a1ab1383
 | 
			
		||||
    Content: 'Kardiale Marker: CK, CKMB, hsTnT, NT-proBNP'
 | 
			
		||||
  - !zaaReloaded2.Controller.Elements.Items,%20zaaReloaded2,%20Version=1.0.0.0,%20Culture=neutral,%20PublicKeyToken=6ec8d075a1ab1383
 | 
			
		||||
    Content: 'Niere: Krea, Hst, eGFR (CKD-EPI), Cystatin C'
 | 
			
		||||
  - !zaaReloaded2.Controller.Elements.Items,%20zaaReloaded2,%20Version=1.0.0.0,%20Culture=neutral,%20PublicKeyToken=6ec8d075a1ab1383
 | 
			
		||||
    Content: 'Sammelurin: SU-Prot, SU-Alb, SU-CrCl, SU-HstCl, SU-GFR, SU-Na, SU-Zeit, SU-Volumen'
 | 
			
		||||
  - !zaaReloaded2.Controller.Elements.Items,%20zaaReloaded2,%20Version=1.0.0.0,%20Culture=neutral,%20PublicKeyToken=6ec8d075a1ab1383
 | 
			
		||||
    Content: 'Spot-Urin: U-TPCR, U-ACR, U-Alb, U-Ery, U-Leu, U-Bakt'
 | 
			
		||||
  - !zaaReloaded2.Controller.Elements.Items,%20zaaReloaded2,%20Version=1.0.0.0,%20Culture=neutral,%20PublicKeyToken=6ec8d075a1ab1383
 | 
			
		||||
    Content: 'Leber: GOT, GGT, GPT, AP, Bilirubin, CHE'
 | 
			
		||||
  - !zaaReloaded2.Controller.Elements.Items,%20zaaReloaded2,%20Version=1.0.0.0,%20Culture=neutral,%20PublicKeyToken=6ec8d075a1ab1383
 | 
			
		||||
    Content: 'Blutfette: TG, Chol, LDL, HDL, Lp(a)'
 | 
			
		||||
  - !zaaReloaded2.Controller.Elements.Items,%20zaaReloaded2,%20Version=1.0.0.0,%20Culture=neutral,%20PublicKeyToken=6ec8d075a1ab1383
 | 
			
		||||
    Content: 'Hämatologie: Hb, Hkt, Reti, Leu, Thr, MCV, HbA1c, Retikulozyten, Fragmentozyten'
 | 
			
		||||
  - !zaaReloaded2.Controller.Elements.Items,%20zaaReloaded2,%20Version=1.0.0.0,%20Culture=neutral,%20PublicKeyToken=6ec8d075a1ab1383
 | 
			
		||||
    Content: 'Diff.-BB: Neu, Lym, Mon, Baso, Eos'
 | 
			
		||||
  - !zaaReloaded2.Controller.Elements.Items,%20zaaReloaded2,%20Version=1.0.0.0,%20Culture=neutral,%20PublicKeyToken=6ec8d075a1ab1383
 | 
			
		||||
    Content: 'Gerinnung: Quick, INR, PTT, Fibrinogen, ATIII, Anti-Xa'
 | 
			
		||||
  - !zaaReloaded2.Controller.Elements.Items,%20zaaReloaded2,%20Version=1.0.0.0,%20Culture=neutral,%20PublicKeyToken=6ec8d075a1ab1383
 | 
			
		||||
    Content: 'Serum-Elektrophorese: Albumin-Fraktion, a1-Globulin, a2-Globulin, b-Globulin, g-Globulin'
 | 
			
		||||
  - !zaaReloaded2.Controller.Elements.Items,%20zaaReloaded2,%20Version=1.0.0.0,%20Culture=neutral,%20PublicKeyToken=6ec8d075a1ab1383
 | 
			
		||||
    Content: 'Hormone: iPTH, TSH, fT3, fT4'
 | 
			
		||||
  - !zaaReloaded2.Controller.Elements.Items,%20zaaReloaded2,%20Version=1.0.0.0,%20Culture=neutral,%20PublicKeyToken=6ec8d075a1ab1383
 | 
			
		||||
    Content: 'Vitamine: B12, Folsäure'
 | 
			
		||||
  - !zaaReloaded2.Controller.Elements.Items,%20zaaReloaded2,%20Version=1.0.0.0,%20Culture=neutral,%20PublicKeyToken=6ec8d075a1ab1383
 | 
			
		||||
    Content: 'Eisenhaushalt: Eisen, Ferritin, Transferrin, Tf.-Sätt.'
 | 
			
		||||
  - !zaaReloaded2.Controller.Elements.Items,%20zaaReloaded2,%20Version=1.0.0.0,%20Culture=neutral,%20PublicKeyToken=6ec8d075a1ab1383
 | 
			
		||||
    Content: 'BGA: pH, Std.-Bic., BE'
 | 
			
		||||
  - !zaaReloaded2.Controller.Elements.Items,%20zaaReloaded2,%20Version=1.0.0.0,%20Culture=neutral,%20PublicKeyToken=6ec8d075a1ab1383
 | 
			
		||||
    Content: 'Hepatitis-Serologie: Anti-HBs, Anti-HBc'
 | 
			
		||||
  - !zaaReloaded2.Controller.Elements.Items,%20zaaReloaded2,%20Version=1.0.0.0,%20Culture=neutral,%20PublicKeyToken=6ec8d075a1ab1383
 | 
			
		||||
    Content: 'Medikamente: TAC "(Ziel-Talspiegel: <> µg/l)", CsA (C0) "(Ziel-Talspiegel: <> µg/l)", SIR "(Ziel-Talspiegel: <> µg/l)", Vancomycin, Gentamicin, Tobramicin'
 | 
			
		||||
  - !zaaReloaded2.Controller.Elements.CustomText,%20zaaReloaded2,%20Version=1.0.0.0,%20Culture=neutral,%20PublicKeyToken=6ec8d075a1ab1383
 | 
			
		||||
    Content: 'Nephrolog. Sediment: pH, Proteinurie, Ery /µl, Leu /µl, Plattenep. /µl, Bakt., Schleimfäden'
 | 
			
		||||
  - !zaaReloaded2.Controller.Elements.CustomText,%20zaaReloaded2,%20Version=1.0.0.0,%20Culture=neutral,%20PublicKeyToken=6ec8d075a1ab1383
 | 
			
		||||
    Content: 'Virologie (EDTA-Blut): CMV-PCR, BKV-PCR'
 | 
			
		||||
  - !zaaReloaded2.Controller.Elements.CustomText,%20zaaReloaded2,%20Version=1.0.0.0,%20Culture=neutral,%20PublicKeyToken=6ec8d075a1ab1383
 | 
			
		||||
    Content: 'Autoantikörper: ANCA (IF), MPO-ANCA (ELISA), PR3-ANCA (ELISA), ANA (IF), AnDNA (ELISA), AnDNA (RIA)'
 | 
			
		||||
  - !zaaReloaded2.Controller.Elements.Items,%20zaaReloaded2,%20Version=1.0.0.0,%20Culture=neutral,%20PublicKeyToken=6ec8d075a1ab1383
 | 
			
		||||
    Content: 'Tumormarker: PSA'
 | 
			
		||||
- !zaaReloaded2.Controller.Elements.NextColumn,%20zaaReloaded2,%20Version=1.0.0.0,%20Culture=neutral,%20PublicKeyToken=6ec8d075a1ab1383
 | 
			
		||||
  Children: !System.Collections.Generic.List%601[[zaaReloaded2.Controller.Elements.FormatElementBase,%20zaaReloaded2,%20Version=1.0.0.0,%20Culture=neutral,%20PublicKeyToken=6ec8d075a1ab1383]],%20mscorlib,%20Version=4.0.0.0,%20Culture=neutral,%20PublicKeyToken=b77a5c561934e089 []
 | 
			
		||||
- !zaaReloaded2.Controller.Elements.SelectLastDay,%20zaaReloaded2,%20Version=1.0.0.0,%20Culture=neutral,%20PublicKeyToken=6ec8d075a1ab1383
 | 
			
		||||
  Children: !System.Collections.Generic.List%601[[zaaReloaded2.Controller.Elements.FormatElementBase,%20zaaReloaded2,%20Version=1.0.0.0,%20Culture=neutral,%20PublicKeyToken=6ec8d075a1ab1383]],%20mscorlib,%20Version=4.0.0.0,%20Culture=neutral,%20PublicKeyToken=b77a5c561934e089
 | 
			
		||||
  - !zaaReloaded2.Controller.Elements.Items,%20zaaReloaded2,%20Version=1.0.0.0,%20Culture=neutral,%20PublicKeyToken=6ec8d075a1ab1383
 | 
			
		||||
    Content: 'Klinische Chemie: Na, K, Cl, Mg, Ca, P, CaxP, Alb, Prot, Haptoglobin, LDH, Glukose, Harnsäure'
 | 
			
		||||
  - !zaaReloaded2.Controller.Elements.Items,%20zaaReloaded2,%20Version=1.0.0.0,%20Culture=neutral,%20PublicKeyToken=6ec8d075a1ab1383
 | 
			
		||||
    Content: 'Entzündung/Immunsystem: CRP, Pct, C3c, C4, Anti-DNAse B, ASL'
 | 
			
		||||
  - !zaaReloaded2.Controller.Elements.Items,%20zaaReloaded2,%20Version=1.0.0.0,%20Culture=neutral,%20PublicKeyToken=6ec8d075a1ab1383
 | 
			
		||||
    Content: 'Kardiale Marker: CK, CKMB, hsTnT, NT-proBNP'
 | 
			
		||||
  - !zaaReloaded2.Controller.Elements.Items,%20zaaReloaded2,%20Version=1.0.0.0,%20Culture=neutral,%20PublicKeyToken=6ec8d075a1ab1383
 | 
			
		||||
    Content: 'Niere: Krea, Hst, eGFR (CKD-EPI), Cystatin C'
 | 
			
		||||
  - !zaaReloaded2.Controller.Elements.Items,%20zaaReloaded2,%20Version=1.0.0.0,%20Culture=neutral,%20PublicKeyToken=6ec8d075a1ab1383
 | 
			
		||||
    Content: 'Sammelurin: SU-Prot, SU-Alb, SU-CrCl, SU-HstCl, SU-GFR, SU-Na, SU-Zeit, SU-Volumen'
 | 
			
		||||
  - !zaaReloaded2.Controller.Elements.Items,%20zaaReloaded2,%20Version=1.0.0.0,%20Culture=neutral,%20PublicKeyToken=6ec8d075a1ab1383
 | 
			
		||||
    Content: 'Spot-Urin: U-TPCR, U-ACR, U-Alb, U-Ery, U-Leu, U-Bakt'
 | 
			
		||||
  - !zaaReloaded2.Controller.Elements.Items,%20zaaReloaded2,%20Version=1.0.0.0,%20Culture=neutral,%20PublicKeyToken=6ec8d075a1ab1383
 | 
			
		||||
    Content: 'Leber: GOT, GGT, GPT, AP, Bilirubin, CHE'
 | 
			
		||||
  - !zaaReloaded2.Controller.Elements.Items,%20zaaReloaded2,%20Version=1.0.0.0,%20Culture=neutral,%20PublicKeyToken=6ec8d075a1ab1383
 | 
			
		||||
    Content: 'Blutfette: TG, Chol, LDL, HDL, Lp(a)'
 | 
			
		||||
  - !zaaReloaded2.Controller.Elements.Items,%20zaaReloaded2,%20Version=1.0.0.0,%20Culture=neutral,%20PublicKeyToken=6ec8d075a1ab1383
 | 
			
		||||
    Content: 'Hämatologie: Hb, Hkt, Reti, Leu, Thr, MCV, HbA1c, Retikulozyten, Fragmentozyten'
 | 
			
		||||
  - !zaaReloaded2.Controller.Elements.Items,%20zaaReloaded2,%20Version=1.0.0.0,%20Culture=neutral,%20PublicKeyToken=6ec8d075a1ab1383
 | 
			
		||||
    Content: 'Diff.-BB: Neu, Lym, Mon, Baso, Eos'
 | 
			
		||||
  - !zaaReloaded2.Controller.Elements.Items,%20zaaReloaded2,%20Version=1.0.0.0,%20Culture=neutral,%20PublicKeyToken=6ec8d075a1ab1383
 | 
			
		||||
    Content: 'Gerinnung: Quick, INR, PTT, Fibrinogen, ATIII, Anti-Xa'
 | 
			
		||||
  - !zaaReloaded2.Controller.Elements.Items,%20zaaReloaded2,%20Version=1.0.0.0,%20Culture=neutral,%20PublicKeyToken=6ec8d075a1ab1383
 | 
			
		||||
    Content: 'Serum-Elektrophorese: Albumin-Fraktion, a1-Globulin, a2-Globulin, b-Globulin, g-Globulin'
 | 
			
		||||
  - !zaaReloaded2.Controller.Elements.Items,%20zaaReloaded2,%20Version=1.0.0.0,%20Culture=neutral,%20PublicKeyToken=6ec8d075a1ab1383
 | 
			
		||||
    Content: 'Hormone: iPTH, TSH, fT3, fT4'
 | 
			
		||||
  - !zaaReloaded2.Controller.Elements.Items,%20zaaReloaded2,%20Version=1.0.0.0,%20Culture=neutral,%20PublicKeyToken=6ec8d075a1ab1383
 | 
			
		||||
    Content: 'Vitamine: B12, Folsäure'
 | 
			
		||||
  - !zaaReloaded2.Controller.Elements.Items,%20zaaReloaded2,%20Version=1.0.0.0,%20Culture=neutral,%20PublicKeyToken=6ec8d075a1ab1383
 | 
			
		||||
    Content: 'Eisenhaushalt: Eisen, Ferritin, Transferrin, Tf.-Sätt.'
 | 
			
		||||
  - !zaaReloaded2.Controller.Elements.Items,%20zaaReloaded2,%20Version=1.0.0.0,%20Culture=neutral,%20PublicKeyToken=6ec8d075a1ab1383
 | 
			
		||||
    Content: 'BGA: pH, Std.-Bic., BE'
 | 
			
		||||
  - !zaaReloaded2.Controller.Elements.Items,%20zaaReloaded2,%20Version=1.0.0.0,%20Culture=neutral,%20PublicKeyToken=6ec8d075a1ab1383
 | 
			
		||||
    Content: 'Hepatitis-Serologie: Anti-HBs, Anti-HBc'
 | 
			
		||||
  - !zaaReloaded2.Controller.Elements.Items,%20zaaReloaded2,%20Version=1.0.0.0,%20Culture=neutral,%20PublicKeyToken=6ec8d075a1ab1383
 | 
			
		||||
    Content: 'Medikamente: TAC "(Ziel-Talspiegel: <> µg/l)", CsA (C0) "(Ziel-Talspiegel: <> µg/l)", SIR "(Ziel-Talspiegel: <> µg/l)", Vancomycin, Gentamicin, Tobramicin'
 | 
			
		||||
  - !zaaReloaded2.Controller.Elements.CustomText,%20zaaReloaded2,%20Version=1.0.0.0,%20Culture=neutral,%20PublicKeyToken=6ec8d075a1ab1383
 | 
			
		||||
    Content: 'Nephrolog. Sediment: pH, Proteinurie, Ery /µl, Leu /µl, Plattenep. /µl, Bakt., Schleimfäden'
 | 
			
		||||
  - !zaaReloaded2.Controller.Elements.CustomText,%20zaaReloaded2,%20Version=1.0.0.0,%20Culture=neutral,%20PublicKeyToken=6ec8d075a1ab1383
 | 
			
		||||
    Content: 'Virologie (EDTA-Blut): CMV-PCR, BKV-PCR'
 | 
			
		||||
  - !zaaReloaded2.Controller.Elements.CustomText,%20zaaReloaded2,%20Version=1.0.0.0,%20Culture=neutral,%20PublicKeyToken=6ec8d075a1ab1383
 | 
			
		||||
    Content: 'Autoantikörper: ANCA (IF), MPO-ANCA (ELISA), PR3-ANCA (ELISA), ANA (IF), AnDNA (ELISA), AnDNA (RIA)'
 | 
			
		||||
  - !zaaReloaded2.Controller.Elements.Items,%20zaaReloaded2,%20Version=1.0.0.0,%20Culture=neutral,%20PublicKeyToken=6ec8d075a1ab1383
 | 
			
		||||
    Content: 'Tumormarker: PSA'
 | 
			
		||||
Uid: 216d9bbb-94d8-47e5-b13b-59e0edd24d91
 | 
			
		||||
@@ -1,7 +1,7 @@
 | 
			
		||||
/* Demo.cs
 | 
			
		||||
 * part of zaaReloaded2
 | 
			
		||||
 * 
 | 
			
		||||
 * Copyright 2015 Daniel Kraus
 | 
			
		||||
 * Copyright 2015-2018 Daniel Kraus
 | 
			
		||||
 * 
 | 
			
		||||
 * Licensed under the Apache License, Version 2.0 (the "License");
 | 
			
		||||
 * you may not use this file except in compliance with the License.
 | 
			
		||||
 
 | 
			
		||||
@@ -2,7 +2,7 @@
 | 
			
		||||
	ExceptionDetailView.xaml
 | 
			
		||||
	part of zaaReloaded2
 | 
			
		||||
	
 | 
			
		||||
	Copyright 2015 Daniel Kraus
 | 
			
		||||
	Copyright 2015-2017 Daniel Kraus
 | 
			
		||||
	
 | 
			
		||||
	Licensed under the Apache License, Version 2.0 (the "License");
 | 
			
		||||
	you may not use this file except in compliance with the License.
 | 
			
		||||
@@ -25,8 +25,8 @@
 | 
			
		||||
        xmlns:ei="http://schemas.microsoft.com/expression/2010/interactions"
 | 
			
		||||
        xmlns:settings="clr-namespace:Bovender.Mvvm.Views.Settings;assembly=Bovender"
 | 
			
		||||
        xmlns:converter="clr-namespace:Bovender.Mvvm.Converters;assembly=Bovender"
 | 
			
		||||
        SizeToContent="Height" Width="700" ShowInTaskbar="False"
 | 
			
		||||
        WindowStyle="ToolWindow" Topmost="True" ResizeMode="CanResizeWithGrip"
 | 
			
		||||
        SizeToContent="Height" Width="720"
 | 
			
		||||
        ShowInTaskbar="False" ResizeMode="NoResize"
 | 
			
		||||
        x:Name="exceptionDetailView"
 | 
			
		||||
        Title="Technische Fehlerdetails"
 | 
			
		||||
        settings:WindowState.Save="True"
 | 
			
		||||
 
 | 
			
		||||
@@ -1,7 +1,7 @@
 | 
			
		||||
/* ExceptionDetailView.xaml.cs
 | 
			
		||||
 * part of zaaReloaded2
 | 
			
		||||
 * 
 | 
			
		||||
 * Copyright 2015 Daniel Kraus
 | 
			
		||||
 * Copyright 2015-2018 Daniel Kraus
 | 
			
		||||
 * 
 | 
			
		||||
 * Licensed under the Apache License, Version 2.0 (the "License");
 | 
			
		||||
 * you may not use this file except in compliance with the License.
 | 
			
		||||
 
 | 
			
		||||
@@ -2,7 +2,7 @@
 | 
			
		||||
	ExceptionView.xaml
 | 
			
		||||
	part of zaaReloaded2
 | 
			
		||||
	
 | 
			
		||||
	Copyright 2015 Daniel Kraus
 | 
			
		||||
	Copyright 2015-2017 Daniel Kraus
 | 
			
		||||
	
 | 
			
		||||
	Licensed under the Apache License, Version 2.0 (the "License");
 | 
			
		||||
	you may not use this file except in compliance with the License.
 | 
			
		||||
@@ -26,8 +26,8 @@
 | 
			
		||||
        xmlns:ex="clr-namespace:zaaReloaded2.ExceptionHandler"
 | 
			
		||||
        xmlns:actions="clr-namespace:Bovender.Mvvm.Actions;assembly=Bovender"
 | 
			
		||||
        xmlns:settings="clr-namespace:Bovender.Mvvm.Views.Settings;assembly=Bovender"
 | 
			
		||||
        SizeToContent="WidthAndHeight" ResizeMode="CanResizeWithGrip"
 | 
			
		||||
        WindowStyle="ToolWindow" ShowInTaskbar="False" Topmost="True"
 | 
			
		||||
        SizeToContent="WidthAndHeight" ResizeMode="NoResize"
 | 
			
		||||
        ShowInTaskbar="False" 
 | 
			
		||||
        WindowStartupLocation="CenterScreen"
 | 
			
		||||
        Title="zaaReloaded2: Fehler!"
 | 
			
		||||
        settings:WindowState.Save="True"
 | 
			
		||||
 
 | 
			
		||||
@@ -1,7 +1,7 @@
 | 
			
		||||
/* ExceptionView.xaml.cs
 | 
			
		||||
 * part of zaaReloaded2
 | 
			
		||||
 * 
 | 
			
		||||
 * Copyright 2015 Daniel Kraus
 | 
			
		||||
 * Copyright 2015-2018 Daniel Kraus
 | 
			
		||||
 * 
 | 
			
		||||
 * Licensed under the Apache License, Version 2.0 (the "License");
 | 
			
		||||
 * you may not use this file except in compliance with the License.
 | 
			
		||||
 
 | 
			
		||||
@@ -1,7 +1,7 @@
 | 
			
		||||
/* ExceptionViewModel.cs
 | 
			
		||||
 * part of zaaReloaded2
 | 
			
		||||
 * 
 | 
			
		||||
 * Copyright 2015 Daniel Kraus
 | 
			
		||||
 * Copyright 2015-2018 Daniel Kraus
 | 
			
		||||
 * 
 | 
			
		||||
 * Licensed under the Apache License, Version 2.0 (the "License");
 | 
			
		||||
 * you may not use this file except in compliance with the License.
 | 
			
		||||
@@ -48,7 +48,7 @@ namespace zaaReloaded2.ExceptionHandler
 | 
			
		||||
        {
 | 
			
		||||
            get
 | 
			
		||||
            {
 | 
			
		||||
                return zaaReloaded2.Updater.Version.CurrentVersion().ToString();
 | 
			
		||||
                return zaaReloaded2.Updater.Version.Current.ToString();
 | 
			
		||||
            }
 | 
			
		||||
        }
 | 
			
		||||
 | 
			
		||||
@@ -83,7 +83,12 @@ namespace zaaReloaded2.ExceptionHandler
 | 
			
		||||
 | 
			
		||||
        protected override string DevPath()
 | 
			
		||||
        {
 | 
			
		||||
            return @"x:\Code\zaaReloaded2\zaaReloaded2\";
 | 
			
		||||
            return @"x:\\Code\\zaaReloaded2\\zaaReloaded2\\";
 | 
			
		||||
        }
 | 
			
		||||
 | 
			
		||||
        protected override Bovender.UserSettings.UserSettingsBase UserSettings
 | 
			
		||||
        {
 | 
			
		||||
            get { return zaaReloaded2.UserSettings.Default; }
 | 
			
		||||
        }
 | 
			
		||||
 | 
			
		||||
        #endregion
 | 
			
		||||
 
 | 
			
		||||
@@ -1,7 +1,7 @@
 | 
			
		||||
/* SubmissionCompletedAction.cs
 | 
			
		||||
 * part of zaaReloaded2
 | 
			
		||||
 * 
 | 
			
		||||
 * Copyright 2015 Daniel Kraus
 | 
			
		||||
 * Copyright 2015-2018 Daniel Kraus
 | 
			
		||||
 * 
 | 
			
		||||
 * Licensed under the Apache License, Version 2.0 (the "License");
 | 
			
		||||
 * you may not use this file except in compliance with the License.
 | 
			
		||||
@@ -34,12 +34,12 @@ namespace zaaReloaded2.ExceptionHandler
 | 
			
		||||
    {
 | 
			
		||||
        protected override Window CreateSuccessWindow()
 | 
			
		||||
        {
 | 
			
		||||
            return Content.InjectInto<SubmissionSuccessView>();
 | 
			
		||||
            return new SubmissionSuccessView();
 | 
			
		||||
        }
 | 
			
		||||
 | 
			
		||||
        protected override Window CreateFailureWindow()
 | 
			
		||||
        {
 | 
			
		||||
            return Content.InjectInto<SubmissionFailureView>();
 | 
			
		||||
            return new SubmissionFailureView();
 | 
			
		||||
        }
 | 
			
		||||
 | 
			
		||||
        protected override Window CreateCancelledWindow()
 | 
			
		||||
 
 | 
			
		||||
@@ -2,7 +2,7 @@
 | 
			
		||||
	SubmissionFailureView.xaml
 | 
			
		||||
	part of zaaReloaded2
 | 
			
		||||
	
 | 
			
		||||
	Copyright 2015 Daniel Kraus
 | 
			
		||||
	Copyright 2015-2017 Daniel Kraus
 | 
			
		||||
	
 | 
			
		||||
	Licensed under the Apache License, Version 2.0 (the "License");
 | 
			
		||||
	you may not use this file except in compliance with the License.
 | 
			
		||||
@@ -21,14 +21,14 @@
 | 
			
		||||
        xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
 | 
			
		||||
        xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
 | 
			
		||||
        xmlns:l="clr-namespace:zaaReloaded2"
 | 
			
		||||
        SizeToContent="WidthAndHeight"
 | 
			
		||||
        SizeToContent="Height" Width="540"
 | 
			
		||||
        Title="Fehlerbericht versenden"
 | 
			
		||||
        >
 | 
			
		||||
    <Window.Resources>
 | 
			
		||||
        <ResourceDictionary Source="/Bovender;component/Style.xaml" />
 | 
			
		||||
    </Window.Resources>
 | 
			
		||||
    <StackPanel Margin="10" Orientation="Horizontal">
 | 
			
		||||
        <TextBlock FontSize="72" FontWeight="Bold" Foreground="Red" Margin="0,0,10,0"
 | 
			
		||||
    <DockPanel Margin="10">
 | 
			
		||||
        <TextBlock DockPanel.Dock="Left" FontSize="72" FontWeight="Bold" Foreground="Red" Margin="0,0,10,0"
 | 
			
		||||
                   LineHeight="48" LineStackingStrategy="BlockLineHeight">
 | 
			
		||||
            ×
 | 
			
		||||
            <TextBlock.Effect>
 | 
			
		||||
@@ -36,11 +36,13 @@
 | 
			
		||||
            </TextBlock.Effect>
 | 
			
		||||
        </TextBlock>
 | 
			
		||||
        <StackPanel>
 | 
			
		||||
            <TextBlock Text="Beim Senden des Fehlerberichtes ist wiederum leider ein Fehler aufgetreten... (Funktioniert das Netzwerk?)" />
 | 
			
		||||
            <TextBlock Text="{Binding Exception}" Margin="0,10,0,0" Foreground="LightSlateGray" />
 | 
			
		||||
            <TextBlock TextWrapping="Wrap"
 | 
			
		||||
                       Text="Beim Senden des Fehlerberichtes ist wiederum leider ein Fehler aufgetreten... (Funktioniert das Netzwerk?)" />
 | 
			
		||||
            <TextBlock TextWrapping="Wrap"
 | 
			
		||||
                       Text="{Binding Exception}" Margin="0,10,0,0" Foreground="LightSlateGray" />
 | 
			
		||||
            <StackPanel Orientation="Horizontal" HorizontalAlignment="Right" Margin="0,10,0,0">
 | 
			
		||||
                <Button Command="{Binding CloseViewCommand}" Content="Schließen" />
 | 
			
		||||
            </StackPanel>
 | 
			
		||||
        </StackPanel>
 | 
			
		||||
    </StackPanel>
 | 
			
		||||
    </DockPanel>
 | 
			
		||||
</Window>
 | 
			
		||||
@@ -1,7 +1,7 @@
 | 
			
		||||
/* SubmissionFailureView.xaml.cs
 | 
			
		||||
 * part of zaaReloaded2
 | 
			
		||||
 * 
 | 
			
		||||
 * Copyright 2015 Daniel Kraus
 | 
			
		||||
 * Copyright 2015-2018 Daniel Kraus
 | 
			
		||||
 * 
 | 
			
		||||
 * Licensed under the Apache License, Version 2.0 (the "License");
 | 
			
		||||
 * you may not use this file except in compliance with the License.
 | 
			
		||||
 
 | 
			
		||||
@@ -1,7 +1,7 @@
 | 
			
		||||
/* SubmissionProcessAction.cs
 | 
			
		||||
 * part of zaaReloaded2
 | 
			
		||||
 * 
 | 
			
		||||
 * Copyright 2015 Daniel Kraus
 | 
			
		||||
 * Copyright 2015-2018 Daniel Kraus
 | 
			
		||||
 * 
 | 
			
		||||
 * Licensed under the Apache License, Version 2.0 (the "License");
 | 
			
		||||
 * you may not use this file except in compliance with the License.
 | 
			
		||||
@@ -28,7 +28,7 @@ namespace zaaReloaded2.ExceptionHandler
 | 
			
		||||
    {
 | 
			
		||||
        protected override System.Windows.Window CreateView()
 | 
			
		||||
        {
 | 
			
		||||
            return Content.InjectInto<SubmissionProcessView>();
 | 
			
		||||
            return new SubmissionProcessView();
 | 
			
		||||
        }
 | 
			
		||||
    }
 | 
			
		||||
}
 | 
			
		||||
 
 | 
			
		||||
@@ -2,7 +2,7 @@
 | 
			
		||||
	SubmissionProcessView.xaml
 | 
			
		||||
	part of zaaReloaded2
 | 
			
		||||
	
 | 
			
		||||
	Copyright 2015 Daniel Kraus
 | 
			
		||||
	Copyright 2015-2017 Daniel Kraus
 | 
			
		||||
	
 | 
			
		||||
	Licensed under the Apache License, Version 2.0 (the "License");
 | 
			
		||||
	you may not use this file except in compliance with the License.
 | 
			
		||||
 
 | 
			
		||||
@@ -1,7 +1,7 @@
 | 
			
		||||
/* SubmissionProcessView.xaml.cs
 | 
			
		||||
 * part of zaaReloaded2
 | 
			
		||||
 * 
 | 
			
		||||
 * Copyright 2015 Daniel Kraus
 | 
			
		||||
 * Copyright 2015-2018 Daniel Kraus
 | 
			
		||||
 * 
 | 
			
		||||
 * Licensed under the Apache License, Version 2.0 (the "License");
 | 
			
		||||
 * you may not use this file except in compliance with the License.
 | 
			
		||||
 
 | 
			
		||||
@@ -2,7 +2,7 @@
 | 
			
		||||
	SubmissionSuccessView.xaml
 | 
			
		||||
	part of zaaReloaded2
 | 
			
		||||
	
 | 
			
		||||
	Copyright 2015 Daniel Kraus
 | 
			
		||||
	Copyright 2015-2017 Daniel Kraus
 | 
			
		||||
	
 | 
			
		||||
	Licensed under the Apache License, Version 2.0 (the "License");
 | 
			
		||||
	you may not use this file except in compliance with the License.
 | 
			
		||||
@@ -21,14 +21,15 @@
 | 
			
		||||
        xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
 | 
			
		||||
        xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
 | 
			
		||||
        xmlns:l="clr-namespace:zaaReloaded2"
 | 
			
		||||
        SizeToContent="WidthAndHeight"
 | 
			
		||||
        SizeToContent="Height" Width="400"
 | 
			
		||||
        Title="Fehlerbericht versenden"
 | 
			
		||||
        >
 | 
			
		||||
    <Window.Resources>
 | 
			
		||||
        <ResourceDictionary Source="/Bovender;component/Style.xaml" />
 | 
			
		||||
    </Window.Resources>
 | 
			
		||||
    <StackPanel Margin="10" Orientation="Horizontal">
 | 
			
		||||
        <TextBlock FontSize="48" FontWeight="Bold" Foreground="GreenYellow" Margin="0,0,10,0"
 | 
			
		||||
    <DockPanel Margin="10">
 | 
			
		||||
        <TextBlock DockPanel.Dock="Left"
 | 
			
		||||
                   FontSize="48" FontWeight="Bold" Foreground="GreenYellow" Margin="0,0,10,0"
 | 
			
		||||
                   LineHeight="48" LineStackingStrategy="BlockLineHeight">
 | 
			
		||||
            ✔
 | 
			
		||||
            <TextBlock.Effect>
 | 
			
		||||
@@ -36,10 +37,10 @@
 | 
			
		||||
            </TextBlock.Effect>
 | 
			
		||||
        </TextBlock>
 | 
			
		||||
        <StackPanel>
 | 
			
		||||
            <TextBlock Text="Der Fehlerbericht wurde erfolgreich versandt." />
 | 
			
		||||
            <TextBlock TextWrapping="Wrap" Text="Der Fehlerbericht wurde erfolgreich versandt." />
 | 
			
		||||
            <StackPanel Orientation="Horizontal" HorizontalAlignment="Right" Margin="0 10 0 0">
 | 
			
		||||
                <Button Command="{Binding CloseViewCommand}" Content="Schließen" />
 | 
			
		||||
            </StackPanel>
 | 
			
		||||
        </StackPanel>
 | 
			
		||||
    </StackPanel>
 | 
			
		||||
    </DockPanel>
 | 
			
		||||
</Window>
 | 
			
		||||
 
 | 
			
		||||
@@ -1,7 +1,7 @@
 | 
			
		||||
/* SubmissionSuccessView.xaml.cs
 | 
			
		||||
 * part of zaaReloaded2
 | 
			
		||||
 * 
 | 
			
		||||
 * Copyright 2015 Daniel Kraus
 | 
			
		||||
 * Copyright 2015-2018 Daniel Kraus
 | 
			
		||||
 * 
 | 
			
		||||
 * Licensed under the Apache License, Version 2.0 (the "License");
 | 
			
		||||
 * you may not use this file except in compliance with the License.
 | 
			
		||||
 
 | 
			
		||||
@@ -1,7 +1,7 @@
 | 
			
		||||
/* AbnormalStyle.cs
 | 
			
		||||
 * part of zaaReloaded2
 | 
			
		||||
 * 
 | 
			
		||||
 * Copyright 2015 Daniel Kraus
 | 
			
		||||
 * Copyright 2015-2018 Daniel Kraus
 | 
			
		||||
 * 
 | 
			
		||||
 * Licensed under the Apache License, Version 2.0 (the "License");
 | 
			
		||||
 * you may not use this file except in compliance with the License.
 | 
			
		||||
 
 | 
			
		||||
@@ -1,7 +1,7 @@
 | 
			
		||||
/* DanielsStyle.cs
 | 
			
		||||
 * part of zaaReloaded2
 | 
			
		||||
 * 
 | 
			
		||||
 * Copyright 2015 Daniel Kraus
 | 
			
		||||
 * Copyright 2015-2018 Daniel Kraus
 | 
			
		||||
 * 
 | 
			
		||||
 * Licensed under the Apache License, Version 2.0 (the "License");
 | 
			
		||||
 * you may not use this file except in compliance with the License.
 | 
			
		||||
 
 | 
			
		||||
@@ -1,7 +1,7 @@
 | 
			
		||||
/* DocumentWriter.cs
 | 
			
		||||
 * part of zaaReloaded2
 | 
			
		||||
 * 
 | 
			
		||||
 * Copyright 2015 Daniel Kraus
 | 
			
		||||
 * Copyright 2015-2018 Daniel Kraus
 | 
			
		||||
 * 
 | 
			
		||||
 * Licensed under the Apache License, Version 2.0 (the "License");
 | 
			
		||||
 * you may not use this file except in compliance with the License.
 | 
			
		||||
@@ -171,6 +171,14 @@ namespace zaaReloaded2.Formatter
 | 
			
		||||
            _buffer.AppendLine(text);
 | 
			
		||||
        }
 | 
			
		||||
 | 
			
		||||
        /// <summary>
 | 
			
		||||
        /// Appends a newline to the buffer.
 | 
			
		||||
        /// </summary>
 | 
			
		||||
        public void WriteLine()
 | 
			
		||||
        {
 | 
			
		||||
            _buffer.AppendLine();
 | 
			
		||||
        }
 | 
			
		||||
 | 
			
		||||
        /// <summary>
 | 
			
		||||
        /// Inserts text at the start of the buffer.
 | 
			
		||||
        /// </summary>
 | 
			
		||||
 
 | 
			
		||||
@@ -1,7 +1,7 @@
 | 
			
		||||
/* Formatter.cs
 | 
			
		||||
 * part of zaaReloaded2
 | 
			
		||||
 * 
 | 
			
		||||
 * Copyright 2015 Daniel Kraus
 | 
			
		||||
 * Copyright 2015-2018 Daniel Kraus
 | 
			
		||||
 * 
 | 
			
		||||
 * Licensed under the Apache License, Version 2.0 (the "License");
 | 
			
		||||
 * you may not use this file except in compliance with the License.
 | 
			
		||||
@@ -57,7 +57,8 @@ namespace zaaReloaded2.Formatter
 | 
			
		||||
                foreach (TimePoint tp in _laboratory.TimePoints.Values)
 | 
			
		||||
                {
 | 
			
		||||
                    _timePointFormatters[tp.TimeStamp] =
 | 
			
		||||
                        new TimePointFormatter(tp, Settings.ReferenceStyle, Settings.AbnormalStyle);
 | 
			
		||||
                        new TimePointFormatter(tp, Settings.ReferenceStyle,
 | 
			
		||||
                            Settings.AbnormalStyle, Settings.PreferVerboseMolar);
 | 
			
		||||
                }
 | 
			
		||||
            }
 | 
			
		||||
        }
 | 
			
		||||
@@ -142,13 +143,7 @@ namespace zaaReloaded2.Formatter
 | 
			
		||||
            // Create undo record and styles prior to iterating over the elements
 | 
			
		||||
            // because a column switching element might trigger output to the
 | 
			
		||||
            // document.
 | 
			
		||||
            bool hasAddin = Globals.ThisAddIn != null;
 | 
			
		||||
            if (hasAddin)
 | 
			
		||||
            {
 | 
			
		||||
                Globals.ThisAddIn.Application.UndoRecord.StartCustomRecord(
 | 
			
		||||
                    String.Format("Laborformatierung ({0})", Properties.Settings.Default.AddinName)
 | 
			
		||||
                    );
 | 
			
		||||
            }
 | 
			
		||||
            Helpers.StartUndo("Laborformatierung");
 | 
			
		||||
            CreateStyles();
 | 
			
		||||
 | 
			
		||||
            int current = 0;
 | 
			
		||||
@@ -177,10 +172,7 @@ namespace zaaReloaded2.Formatter
 | 
			
		||||
            }
 | 
			
		||||
 | 
			
		||||
            _secondaryBuffer.Flush();
 | 
			
		||||
            if (hasAddin)
 | 
			
		||||
            {
 | 
			
		||||
                Globals.ThisAddIn.Application.UndoRecord.EndCustomRecord();
 | 
			
		||||
            }
 | 
			
		||||
            Helpers.EndUndo();
 | 
			
		||||
        }
 | 
			
		||||
 | 
			
		||||
        /// <summary>
 | 
			
		||||
@@ -281,15 +273,18 @@ namespace zaaReloaded2.Formatter
 | 
			
		||||
        {
 | 
			
		||||
            if (Document != null)
 | 
			
		||||
            {
 | 
			
		||||
                Logger.Info("CreateStyles");
 | 
			
		||||
                Style style;
 | 
			
		||||
                // Don't see a better way to check for the existence of a particular
 | 
			
		||||
                // paragraph style than by using a try...catch construction.
 | 
			
		||||
                try
 | 
			
		||||
                {
 | 
			
		||||
                    style = Document.Styles[Properties.Settings.Default.StyleParagraph];
 | 
			
		||||
                    Logger.Info("CreateStyles: Found paragraph style in document");
 | 
			
		||||
                }
 | 
			
		||||
                catch
 | 
			
		||||
                {
 | 
			
		||||
                    Logger.Info("CreateStyles: Need to create paragraph style");
 | 
			
		||||
                    // Add default paragraph style for laboratory
 | 
			
		||||
                    style = Document.Styles.Add(Properties.Settings.Default.StyleParagraph);
 | 
			
		||||
                    style.Font.Size = 10; // pt
 | 
			
		||||
@@ -302,13 +297,16 @@ namespace zaaReloaded2.Formatter
 | 
			
		||||
                    style.ParagraphFormat.FirstLineIndent = -36; // pt
 | 
			
		||||
                    style.ParagraphFormat.Alignment = WdParagraphAlignment.wdAlignParagraphJustify;
 | 
			
		||||
                }
 | 
			
		||||
                Bovender.ComHelpers.ReleaseComObject(style);
 | 
			
		||||
 | 
			
		||||
                try
 | 
			
		||||
                {
 | 
			
		||||
                    style = Document.Styles[Properties.Settings.Default.StyleHeader];
 | 
			
		||||
                    Logger.Info("CreateStyles: Found header style in document");
 | 
			
		||||
                }
 | 
			
		||||
                catch
 | 
			
		||||
                {
 | 
			
		||||
                    Logger.Info("CreateStyles: Need to create header style");
 | 
			
		||||
                    // Add header paragraph style for laboratory
 | 
			
		||||
                    style = Document.Styles.Add(Properties.Settings.Default.StyleHeader);
 | 
			
		||||
                    style.Font.Size = 10; // pt
 | 
			
		||||
@@ -322,6 +320,7 @@ namespace zaaReloaded2.Formatter
 | 
			
		||||
                    style.ParagraphFormat.Alignment = WdParagraphAlignment.wdAlignParagraphJustify;
 | 
			
		||||
                    style.set_NextParagraphStyle(Document.Styles[Properties.Settings.Default.StyleParagraph]);
 | 
			
		||||
                }
 | 
			
		||||
                Bovender.ComHelpers.ReleaseComObject(style);
 | 
			
		||||
 | 
			
		||||
                /*
 | 
			
		||||
                try
 | 
			
		||||
@@ -431,5 +430,13 @@ namespace zaaReloaded2.Formatter
 | 
			
		||||
        Table _table;
 | 
			
		||||
 | 
			
		||||
        #endregion
 | 
			
		||||
 | 
			
		||||
        #region Class logger
 | 
			
		||||
 | 
			
		||||
        private static NLog.Logger Logger { get { return _logger.Value; } }
 | 
			
		||||
 | 
			
		||||
        private static readonly Lazy<NLog.Logger> _logger = new Lazy<NLog.Logger>(() => NLog.LogManager.GetCurrentClassLogger());
 | 
			
		||||
 | 
			
		||||
        #endregion
 | 
			
		||||
    }
 | 
			
		||||
}
 | 
			
		||||
 
 | 
			
		||||
@@ -1,7 +1,7 @@
 | 
			
		||||
/* IItemFormatterDictionary.cs
 | 
			
		||||
 * part of zaaReloaded2
 | 
			
		||||
 * 
 | 
			
		||||
 * Copyright 2015 Daniel Kraus
 | 
			
		||||
 * Copyright 2015-2018 Daniel Kraus
 | 
			
		||||
 * 
 | 
			
		||||
 * Licensed under the Apache License, Version 2.0 (the "License");
 | 
			
		||||
 * you may not use this file except in compliance with the License.
 | 
			
		||||
 
 | 
			
		||||
@@ -1,7 +1,7 @@
 | 
			
		||||
/* ITimePointFormatterDictionary.cs
 | 
			
		||||
 * part of zaaReloaded2
 | 
			
		||||
 * 
 | 
			
		||||
 * Copyright 2015 Daniel Kraus
 | 
			
		||||
 * Copyright 2015-2018 Daniel Kraus
 | 
			
		||||
 * 
 | 
			
		||||
 * Licensed under the Apache License, Version 2.0 (the "License");
 | 
			
		||||
 * you may not use this file except in compliance with the License.
 | 
			
		||||
 
 | 
			
		||||
@@ -1,7 +1,7 @@
 | 
			
		||||
/* ItemFormatter.cs
 | 
			
		||||
 * part of zaaReloaded2
 | 
			
		||||
 * 
 | 
			
		||||
 * Copyright 2015 Daniel Kraus
 | 
			
		||||
 * Copyright 2015-2018 Daniel Kraus
 | 
			
		||||
 * 
 | 
			
		||||
 * Licensed under the Apache License, Version 2.0 (the "License");
 | 
			
		||||
 * you may not use this file except in compliance with the License.
 | 
			
		||||
@@ -47,6 +47,11 @@ namespace zaaReloaded2.Formatter
 | 
			
		||||
        /// </summary>
 | 
			
		||||
        public AbnormalStyle AbnormalStyle { get; set; }
 | 
			
		||||
 | 
			
		||||
        /// <summary>
 | 
			
		||||
        /// Indicates whether to prefer the more verbose "mmol/l" over "mM".
 | 
			
		||||
        /// </summary>
 | 
			
		||||
        public bool PreferVerboseMolar { get; set; }
 | 
			
		||||
 | 
			
		||||
        /// <summary>
 | 
			
		||||
        /// Gets or sets a flag that indicates whether this ItemFormatter
 | 
			
		||||
        /// has been used, i.e. whether the LabItem was written to a
 | 
			
		||||
@@ -71,6 +76,11 @@ namespace zaaReloaded2.Formatter
 | 
			
		||||
        /// </summary>
 | 
			
		||||
        public bool IsBlacklisted { get { return LabItem.IsBlacklisted;  } }
 | 
			
		||||
 | 
			
		||||
        /// <summary>
 | 
			
		||||
        /// Gets whether the Item is marked to suppress its label in the thesaurus.
 | 
			
		||||
        /// </summary>
 | 
			
		||||
        public bool SuppressLabel { get { return LabItem.SuppressLabel; } }
 | 
			
		||||
 | 
			
		||||
        /// <summary>
 | 
			
		||||
        /// Gets or sets the item's comment.
 | 
			
		||||
        /// </summary>
 | 
			
		||||
@@ -86,12 +96,14 @@ namespace zaaReloaded2.Formatter
 | 
			
		||||
        /// <param name="labItem">LabItem to wrap in this ItemFormatter.</param>
 | 
			
		||||
        public ItemFormatter(LabItem labItem,
 | 
			
		||||
            ReferenceStyle referenceStyle,
 | 
			
		||||
            AbnormalStyle abnormalStyle)
 | 
			
		||||
            AbnormalStyle abnormalStyle,
 | 
			
		||||
            bool preferVerboseMolar)
 | 
			
		||||
        {
 | 
			
		||||
            IncludeMaterial = true;
 | 
			
		||||
            LabItem = labItem;
 | 
			
		||||
            ReferenceStyle = referenceStyle;
 | 
			
		||||
            AbnormalStyle = abnormalStyle;
 | 
			
		||||
            PreferVerboseMolar = preferVerboseMolar;
 | 
			
		||||
        }
 | 
			
		||||
 | 
			
		||||
        #endregion
 | 
			
		||||
@@ -147,7 +159,12 @@ namespace zaaReloaded2.Formatter
 | 
			
		||||
            if (LabItem.HasUnit)
 | 
			
		||||
            {
 | 
			
		||||
                string space = LabItem.Unit.StartsWith("/") ? String.Empty : " ";
 | 
			
		||||
                unit = String.Format("{0}{1}", space, LabItem.Unit);
 | 
			
		||||
                unit = LabItem.Unit;
 | 
			
		||||
                if (PreferVerboseMolar)
 | 
			
		||||
                {
 | 
			
		||||
                    unit = LabItem.Unit.Replace("mM", "mmol/l");
 | 
			
		||||
                }
 | 
			
		||||
                unit = String.Format("{0}{1}", space, unit);
 | 
			
		||||
            }
 | 
			
		||||
            else
 | 
			
		||||
            {
 | 
			
		||||
@@ -182,12 +199,20 @@ namespace zaaReloaded2.Formatter
 | 
			
		||||
                if (comment != String.Empty) comment = " " + comment;
 | 
			
		||||
            }
 | 
			
		||||
 | 
			
		||||
            string name = IncludeMaterial ? LabItem.QualifiedName : LabItem.Name;
 | 
			
		||||
            string name;
 | 
			
		||||
            if (LabItem.SuppressLabel)
 | 
			
		||||
	        {
 | 
			
		||||
                name = String.Empty;
 | 
			
		||||
	        }
 | 
			
		||||
            else
 | 
			
		||||
            {
 | 
			
		||||
                name = (IncludeMaterial ? LabItem.QualifiedName : LabItem.Name) + " ";
 | 
			
		||||
            }
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
            string output =
 | 
			
		||||
            string output = 
 | 
			
		||||
                String.Format(
 | 
			
		||||
                    "{0} {1}{2}{3}{4}",
 | 
			
		||||
                    "{0}{1}{2}{3}{4}",
 | 
			
		||||
                    name,
 | 
			
		||||
                    value,
 | 
			
		||||
                    unit,
 | 
			
		||||
 
 | 
			
		||||
@@ -1,7 +1,7 @@
 | 
			
		||||
/* ItemFormatterDictionary.cs
 | 
			
		||||
 * part of zaaReloaded2
 | 
			
		||||
 * 
 | 
			
		||||
 * Copyright 2015 Daniel Kraus
 | 
			
		||||
 * Copyright 2015-2018 Daniel Kraus
 | 
			
		||||
 * 
 | 
			
		||||
 * Licensed under the Apache License, Version 2.0 (the "License");
 | 
			
		||||
 * you may not use this file except in compliance with the License.
 | 
			
		||||
 
 | 
			
		||||