1 Commits

Author SHA1 Message Date
d01bdabf35 Merge branch 'release-2.1.13' 2015-11-12 21:24:56 +01:00
185 changed files with 2182 additions and 4212 deletions

4
.gitignore vendored
View File

@ -16,7 +16,6 @@ publish/release/
x64/
win32/
[Rr]elease/
[Rr]eleases/
[Dd]debug/
Dist/
build/
@ -27,6 +26,3 @@ doc/
private/
*.nupkg
doxygen_sqlite3.db
Backup/
.vs/
publish/

3
.gitmodules vendored
View File

@ -1,6 +1,3 @@
[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

View File

@ -1,24 +0,0 @@
<?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>

View File

@ -1,123 +1,5 @@
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.
@ -125,7 +7,7 @@ Version 2.1.13 (2015-11-12)
Version 2.1.12 (2015-11-04)
------------------------------------------------------------------------
========================================================================
- VERBESSERT: Lp(a) zu den bekannten Parametern hinzugefügt.
@ -133,7 +15,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.
@ -142,7 +24,7 @@ Version 2.1.11 (2015-10-28)
Version 2.1.10 (2015-10-24)
------------------------------------------------------------------------
========================================================================
- VERBESSERT: PSA wird jetzt richtig erkannt.
@ -150,7 +32,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.
@ -158,7 +40,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.
@ -167,7 +49,7 @@ Version 2.1.8 (2015-10-11)
Version 2.1.7 (2015-10-02)
------------------------------------------------------------------------
========================================================================
- VERBESSERT: Statt Sekretariatsmodus stand zweimal Ärztemodus im Begrüßungsbildschirm.
@ -175,7 +57,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.
@ -184,7 +66,7 @@ Version 2.1.6. (2015-09-27)
Version 2.1.5. (2015-09-24)
------------------------------------------------------------------------
========================================================================
- VERBESSERT: NT-proBNP wird jetzt korrekt ausgegeben.
@ -192,7 +74,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.
@ -200,7 +82,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.
@ -209,7 +91,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.
@ -219,7 +101,7 @@ Version 2.1.2 (2015-09-11)
Version 2.1.1 (2015-09-07)
------------------------------------------------------------------------
========================================================================
- VERBESSERT: Fehler bei der Kommentaraufforderung wurden behoben.
@ -227,7 +109,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.
@ -239,7 +121,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).
@ -250,7 +132,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).
@ -261,7 +143,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.
@ -270,7 +152,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.
@ -282,7 +164,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.
@ -298,7 +180,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.
@ -315,7 +197,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.
@ -325,7 +207,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.
@ -333,7 +215,7 @@ Version 2.0.0-alpha.3 (2015-07-31)
Version 2.0.0-alpha.2 (2015-07-28)
------------------------------------------------------------------------
========================================================================
- NEU: Fehlerbehandlung und Fehlerberichte.
@ -341,7 +223,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.
@ -349,7 +231,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.

View File

@ -1,29 +0,0 @@
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/

View File

@ -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:
<https://git.bovender.de>
<http://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
<https://doktorkraus.de/zaareloaded/versioninfo.txt> heruntergeladen. Updates
<http://zaa.nephrowiki.de/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.

View File

@ -1,7 +1,7 @@
/* CommentPoolTest.cs
* part of zaaReloaded2
*
* Copyright 2015-2018 Daniel Kraus
* Copyright 2015 Daniel Kraus
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.

View File

@ -1,7 +1,7 @@
/* ItemCommentTest.cs
* part of zaaReloaded2
*
* Copyright 2015-2018 Daniel Kraus
* Copyright 2015 Daniel Kraus
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.

View File

@ -1,7 +1,7 @@
/* CloneTest.cs
* part of zaaReloaded2
*
* Copyright 2015-2018 Daniel Kraus
* Copyright 2015 Daniel Kraus
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.

View File

@ -1,7 +1,7 @@
/* ItemsTest.cs
* part of zaaReloaded2
*
* Copyright 2015-2018 Daniel Kraus
* Copyright 2015 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,7 +44,6 @@ namespace Tests.Controller.Elements
public void TearDown()
{
((_Document)_document).Close(WdSaveOptions.wdDoNotSaveChanges);
Bovender.ComHelpers.ReleaseComObject(_document);
}
[Test]

View File

@ -1,7 +1,7 @@
/* SettingsRepositoryTest.cs
* part of zaaReloaded2
*
* Copyright 2015-2018 Daniel Kraus
* Copyright 2015 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
{
SettingsRepository _savedRepository;
string _savedSettings;
[SetUp]
public void SetUp()
{
_savedRepository = zaaReloaded2.UserSettings.Default.SettingsRepository;
_savedSettings = zaaReloaded2.Properties.Settings.Default.SettingsRepository;
}
[TearDown]
public void TearDown()
{
zaaReloaded2.UserSettings.Default.SettingsRepository = _savedRepository;
zaaReloaded2.UserSettings.Default.Save();
zaaReloaded2.Properties.Settings.Default.SettingsRepository = _savedSettings;
zaaReloaded2.Properties.Settings.Default.Save();
}
[Test]

View File

@ -1,7 +1,7 @@
/* SettingsTest.cs
* part of zaaReloaded2
*
* Copyright 2015-2018 Daniel Kraus
* Copyright 2015 Daniel Kraus
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.

View File

@ -1,7 +1,7 @@
/* DocumentWriterClass.cs
* part of zaaReloaded2
*
* Copyright 2015-2018 Daniel Kraus
* Copyright 2015 Daniel Kraus
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.

View File

@ -1,7 +1,7 @@
/* FormatterTest.cs
* part of zaaReloaded2
*
* Copyright 2015-2018 Daniel Kraus
* Copyright 2015 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-201810:44:00) Cyclosporin-A vor Gabe: 130 µg/l; CK gesamt: 123 [<= 170] U/l; Cholesterin: 211");
"(17.09.2015 10: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-201810:44:00:\rCsA (C0) 130 µg/l\r\r",
"Laborwerte vom 17.09.2015 10:44:00:\rCsA (C0) 130 µg/l\r\r",
document.Range().Text);
}

View File

@ -1,55 +0,0 @@
/* 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);
}
}
}

View File

@ -1,56 +0,0 @@
/* 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");
}
}
}

View File

@ -1,45 +0,0 @@
/* 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);
}
}
}

View File

@ -1,67 +0,0 @@
/* 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'.");
}
}
}

View File

@ -1,7 +1,7 @@
/* LaurisItemTest.cs
* part of zaaReloaded2
*
* Copyright 2015-2018 Daniel Kraus
* Copyright 2015 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.S)]
[TestCase("Cystatin C (N Latex): 2.37 [0.57 - 0.96] mg/l; ", Material.B)]
public void ParseLaurisMaterial(string laurisString, Material expectedMaterial)
{
LaurisItem i = new LaurisItem(laurisString);

View File

@ -1,7 +1,7 @@
/* LaurisParagraphTest.cs
* part of zaaReloaded2
*
* Copyright 2015-2018 Daniel Kraus
* Copyright 2015 Daniel Kraus
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.

View File

@ -1,7 +1,7 @@
/* LaurisTimePointTest.cs
* part of zaaReloaded2
*
* Copyright 2015-2018 Daniel Kraus
* Copyright 2015 Daniel Kraus
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.

View File

@ -1,7 +1,7 @@
/* ZaaImporterTest.cs
* part of zaaReloaded2
*
* Copyright 2015-2018 Daniel Kraus
* Copyright 2015 Daniel Kraus
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.

View File

@ -1,7 +1,7 @@
/* UnitTest1.cs
* part of zaaReloaded2
*
* Copyright 2015-2018 Daniel Kraus
* Copyright 2015 Daniel Kraus
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.

View File

@ -1,45 +0,0 @@
/* 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);
}
}
}

View File

@ -1,128 +0,0 @@
/* 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);
}
}
}

View File

@ -1,7 +1,7 @@
/* SelectFirstDayTest.cs
* part of zaaReloaded2
*
* Copyright 2015-2018 Daniel Kraus
* Copyright 2015 Daniel Kraus
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.

View File

@ -1,7 +1,7 @@
/* TestHelpers.cs
* part of zaaReloaded2
*
* Copyright 2015-2018 Daniel Kraus
* Copyright 2015 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,7 +21,6 @@ using System.IO;
using System.Linq;
using System.Text;
using zaaReloaded2.Importer.ZaaImporter;
using zaaReloaded2.Importer.ClinicImporter;
namespace Tests
{
@ -39,18 +38,5 @@ 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;
}
}
}

View File

@ -1,6 +1,5 @@
<?xml version="1.0" encoding="utf-8"?>
<Project ToolsVersion="12.0" DefaultTargets="Build" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
<Import Project="..\packages\NUnit.3.11.0\build\NUnit.props" Condition="Exists('..\packages\NUnit.3.11.0\build\NUnit.props')" />
<PropertyGroup>
<Configuration Condition=" '$(Configuration)' == '' ">Debug</Configuration>
<Platform Condition=" '$(Platform)' == '' ">AnyCPU</Platform>
@ -17,9 +16,6 @@
<ReferencePath>$(ProgramFiles)\Common Files\microsoft shared\VSTT\$(VisualStudioVersion)\UITestExtensionPackages</ReferencePath>
<IsCodedUITest>False</IsCodedUITest>
<TestProjectType>UnitTest</TestProjectType>
<TargetFrameworkProfile />
<NuGetPackageImportStamp>
</NuGetPackageImportStamp>
</PropertyGroup>
<PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Debug|AnyCPU' ">
<DebugSymbols>true</DebugSymbols>
@ -29,7 +25,6 @@
<DefineConstants>DEBUG;TRACE</DefineConstants>
<ErrorReport>prompt</ErrorReport>
<WarningLevel>4</WarningLevel>
<Prefer32Bit>false</Prefer32Bit>
</PropertyGroup>
<PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Release|AnyCPU' ">
<DebugType>pdbonly</DebugType>
@ -38,42 +33,35 @@
<DefineConstants>TRACE</DefineConstants>
<ErrorReport>prompt</ErrorReport>
<WarningLevel>4</WarningLevel>
<Prefer32Bit>false</Prefer32Bit>
</PropertyGroup>
<PropertyGroup>
<SignAssembly>false</SignAssembly>
<SignAssembly>true</SignAssembly>
</PropertyGroup>
<PropertyGroup>
<AssemblyOriginatorKeyFile>zaaReloaded2.pfx</AssemblyOriginatorKeyFile>
</PropertyGroup>
<ItemGroup>
<Reference Include="Bovender">
<HintPath>..\..\bovender\Bovender\bin\Debug\Bovender.dll</HintPath>
<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>
<Private>True</Private>
</Reference>
<Reference Include="Microsoft.CSharp" />
<Reference Include="Microsoft.Office.Interop.Word, Version=14.0.0.0, Culture=neutral, PublicKeyToken=71e9bce111e9429c, processorArchitecture=MSIL">
<EmbedInteropTypes>True</EmbedInteropTypes>
</Reference>
<Reference Include="NLog, Version=4.0.0.0, Culture=neutral, PublicKeyToken=5120e14c03d0593c, processorArchitecture=MSIL">
<HintPath>..\packages\NLog.4.5.11\lib\net40-client\NLog.dll</HintPath>
</Reference>
<Reference Include="nunit.framework, Version=3.11.0.0, Culture=neutral, PublicKeyToken=2638cd05610744eb, processorArchitecture=MSIL">
<HintPath>..\packages\NUnit.3.11.0\lib\net40\nunit.framework.dll</HintPath>
<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>
<Reference Include="PresentationCore" />
<Reference Include="PresentationFramework" />
<Reference Include="System" />
<Reference Include="System.Configuration" />
<Reference Include="System.Core">
<RequiredTargetFramework>3.5</RequiredTargetFramework>
</Reference>
<Reference Include="System.Data" />
<Reference Include="System.Runtime.Serialization" />
<Reference Include="System.Runtime.Serialization.Formatters.Soap" />
<Reference Include="System.ServiceModel" />
<Reference Include="System.Transactions" />
<Reference Include="System.Windows.Interactivity, Version=4.0.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35, processorArchitecture=MSIL">
<HintPath>..\packages\Expression.Blend.Sdk.1.0.2\lib\net40-client\System.Windows.Interactivity.dll</HintPath>
<Private>True</Private>
</Reference>
<Reference Include="System.Xaml" />
<Reference Include="System.XML" />
@ -95,12 +83,6 @@
<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" />
@ -123,7 +105,6 @@
<Compile Include="ViewModels\SettingsViewModelTest.cs" />
</ItemGroup>
<ItemGroup>
<None Include="app.config" />
<None Include="packages.config" />
<None Include="Tests.licenseheader" />
<None Include="zaaReloaded2.pfx" />
@ -152,10 +133,6 @@
<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>
@ -176,12 +153,6 @@
</Choose>
<Import Project="$(VSToolsPath)\TeamTest\Microsoft.TestTools.targets" Condition="Exists('$(VSToolsPath)\TeamTest\Microsoft.TestTools.targets')" />
<Import Project="$(MSBuildToolsPath)\Microsoft.CSharp.targets" />
<Target Name="EnsureNuGetPackageBuildImports" BeforeTargets="PrepareForBuild">
<PropertyGroup>
<ErrorText>This project references NuGet package(s) that are missing on this computer. Use NuGet Package Restore to download them. For more information, see http://go.microsoft.com/fwlink/?LinkID=322105. The missing file is {0}.</ErrorText>
</PropertyGroup>
<Error Condition="!Exists('..\packages\NUnit.3.11.0\build\NUnit.props')" Text="$([System.String]::Format('$(ErrorText)', '..\packages\NUnit.3.11.0\build\NUnit.props'))" />
</Target>
<!-- To modify your build process, add your task inside one of the targets below and uncomment it.
Other similar extension points exist, see Microsoft.Common.targets.
<Target Name="BeforeBuild">

View File

@ -1,7 +1,7 @@
/* ParametersTest.cs
* part of zaaReloaded2
*
* Copyright 2015-2018 Daniel Kraus
* Copyright 2015 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,11 +52,5 @@ namespace Tests.Thesaurus
{
Assert.IsTrue(Parameters.Default.GetIsBlacklisted("glomerul. Filtrationsr. (MDRD)"));
}
[Test]
public void GetSuppressLabel()
{
Assert.IsTrue(Parameters.Default.GetSuppressLabel("- Multiresistenz"));
}
}
}

View File

@ -2,7 +2,7 @@
* {{
* part of zaaReloaded2
*
* Copyright 2015-2018 Daniel Kraus
* Copyright 2015 Daniel Kraus
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.

View File

@ -1,7 +1,7 @@
/* Class1.cs
* part of zaaReloaded2
*
* Copyright 2015-2018 Daniel Kraus
* Copyright 2015 Daniel Kraus
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.

View File

@ -1,7 +1,7 @@
/* ElementPickerViewModelTest.cs
* part of zaaReloaded2
*
* Copyright 2015-2018 Daniel Kraus
* Copyright 2015 Daniel Kraus
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.

View File

@ -1,7 +1,7 @@
/* ItemCommentViewModelTest.cs
* part of zaaReloaded2
*
* Copyright 2015-2018 Daniel Kraus
* Copyright 2015 Daniel Kraus
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.

View File

@ -1,7 +1,7 @@
/* SettingsRepositoryViewModel.cs
* part of zaaReloaded2
*
* Copyright 2015-2018 Daniel Kraus
* Copyright 2015 Daniel Kraus
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.

View File

@ -1,7 +1,7 @@
/* SettingsViewModelTest.cs
* part of zaaReloaded2
*
* Copyright 2015-2018 Daniel Kraus
* Copyright 2015 Daniel Kraus
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.

View File

@ -1,29 +0,0 @@
<?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>
<startup><supportedRuntime version="v4.0" sku=".NETFramework,Version=v4.0"/></startup></configuration>

View File

@ -1,90 +0,0 @@
# 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

View File

@ -1,6 +1,6 @@
<?xml version="1.0" encoding="utf-8"?>
<packages>
<package id="Bovender" version="0.5.0.0" targetFramework="net40" />
<package id="Expression.Blend.Sdk" version="1.0.2" targetFramework="net40" />
<package id="NLog" version="4.5.11" targetFramework="net40" />
<package id="NUnit" version="3.11.0" targetFramework="net40" />
<package id="NUnit" version="2.6.4" targetFramework="net40" />
</packages>

View File

@ -1,32 +0,0 @@
#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

Binary file not shown.

Binary file not shown.

View File

Before

Width:  |  Height:  |  Size: 204 KiB

After

Width:  |  Height:  |  Size: 204 KiB

View File

Before

Width:  |  Height:  |  Size: 38 KiB

After

Width:  |  Height:  |  Size: 38 KiB

View File

Before

Width:  |  Height:  |  Size: 6.8 KiB

After

Width:  |  Height:  |  Size: 6.8 KiB

View File

Before

Width:  |  Height:  |  Size: 153 KiB

After

Width:  |  Height:  |  Size: 153 KiB

760
publish/zaaReloaded2.iss Executable file
View File

@ -0,0 +1,760 @@
; 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;

Binary file not shown.

Before

Width:  |  Height:  |  Size: 22 KiB

After

Width:  |  Height:  |  Size: 21 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 13 KiB

After

Width:  |  Height:  |  Size: 6.8 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 15 KiB

After

Width:  |  Height:  |  Size: 24 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 39 KiB

After

Width:  |  Height:  |  Size: 29 KiB

View File

@ -368,7 +368,7 @@
<footer class="footer">
<p>
&copy; 2015-2017 <a href="https://www.bovender.de">Daniel Kraus</a>
&copy; 2015 <a href="http://www.bovender.de">Daniel Kraus</a>
<span class="pull-right">
Handarbeit mit
<a href="http://www.vim.org">

View File

@ -1,25 +1,19 @@
<?php
function sendMail() {
$to = 'dk@doktorkraus.de';
$headers = "From: \"zaaReloaded\" <dk@doktorkraus.de>";
require(__DIR__ . '/PHPMailer/PHPMailerAutoload.php');
$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 = 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;
-----
Benutzerkommentar:
{$_POST['comment']}
-----
Technische Info: $info
--
www.doktorkraus.de/zaareloaded
EOF;
$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 );
@ -28,25 +22,32 @@ EOF;
$validUser = "\"$validUser\" "; // space character deliberately placed
};
if ( $validMail ) {
$headers .= "\r\nCc: $validUser<$validMail>";
$mail->addCC($validMail, $validUser);
};
};
mail($to, "Exception report [$reportId]", $body, $headers);
$info = print_r( $_POST, true );
$mail->Body = <<<EOF
zaaReloaded exception
User's comment on submission:
{$_POST['comment']}
***
Technical details: $info
--
http://zaa.nephrowiki.de
EOF;
if ($mail->send())
{
// Must return the report ID to indicate success
echo($reportId);
}
// =============================================================
// Begin main script
// =============================================================
if (!isset($_POST['report_id'])) {
http_response_code(400);
exit;
else
{
echo($mail->ErrorInfo);
}
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;

View File

@ -1,4 +1,4 @@
2.4.2
https://doktorkraus.de/zaareloaded/downloads/zaaReloaded-$VERSION.exe
2df8d1cd62b2a6b422099e6d59c8f2022ddd2177a649784a7cab8f7c23e734e2 deploy/releases/zaaReloaded-2.4.2.exe
2.1.13
http://zaa.nephrowiki.de/downloads/zaaReloaded-$VERSION.exe
8dc26f4c80bb91a9384c6cf3818b411e3056bb15b00c334eac5edafa764a52f0 publish/release/zaaReloaded-2.1.13.exe

View File

@ -1,7 +1,7 @@

Microsoft Visual Studio Solution File, Format Version 12.00
# Visual Studio 15
VisualStudioVersion = 15.0.27130.2027
# Visual Studio 2013
VisualStudioVersion = 12.0.31101.0
MinimumVisualStudioVersion = 10.0.40219.1
Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "zaaReloaded2", "zaaReloaded2\zaaReloaded2.csproj", "{0478F1B0-17F2-4151-8F93-1CB6EB9732C5}"
EndProject
@ -25,7 +25,4 @@ Global
GlobalSection(SolutionProperties) = preSolution
HideSolutionNode = FALSE
EndGlobalSection
GlobalSection(ExtensibilityGlobals) = postSolution
SolutionGuid = {5B5D2F0E-2C7D-4710-85CA-D9F2960DC07A}
EndGlobalSection
EndGlobal

View File

@ -2,7 +2,7 @@
/* Commands.cs
* part of zaaReloaded2
*
* Copyright 2015-2018 Daniel Kraus
* Copyright 2015 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,7 +20,6 @@ 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;
@ -43,7 +42,7 @@ namespace zaaReloaded2
if (CanFormat())
{
SettingsRepository repository = SettingsRepository.Load();
Guid lastSettingsUid = UserSettings.Default.LastSettings;
Guid lastSettingsUid = Properties.Settings.Default.LastSettings;
Settings lastSettings = repository.FindByGuid(lastSettingsUid);
if (lastSettings != null)
{
@ -73,9 +72,10 @@ namespace zaaReloaded2
SettingsViewModel settingsVM = args.Content.ViewModel as SettingsViewModel;
Settings settings = settingsVM.RevealModelObject() as Settings;
DoFormat(settings);
UserSettings.Default.LastSettings = settings.Uid;
Properties.Settings.Default.LastSettings = settings.Uid;
Properties.Settings.Default.Save();
};
vm.InjectInto<SettingsRepositoryView>().ShowDialogInForm();
vm.InjectInto<SettingsRepositoryView>().ShowDialog();
}
/// <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.OkButtonText = "Schließen";
a.OkButtonLabel = "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>().ShowDialogInForm();
vm.InjectInto<Views.AboutView>().ShowDialog();
}
public static void ShowPreferences()
{
ViewModels.PreferencesViewModel vm = new PreferencesViewModel();
vm.InjectInto<Views.PreferencesView>().ShowDialogInForm();
ViewModels.PreferencesViewModel.Default.InjectInto<Views.PreferencesView>()
.ShowDialog();
}
public static void ApplyDanielsStyle()
@ -138,58 +138,6 @@ 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
@ -198,92 +146,57 @@ 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.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"))))
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"))))
{
Logger.Info("DoFormat: Attempting to auto-detect");
Word.Document doc = activeWindow.Document;
if (!autoDetector.Detect(doc))
if (!AutoDetect.Detect(activeWindow.Document))
{
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.OkButtonText = "Schließen";
a.OkButtonLabel = "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 e)
catch (NoLaboratoryDataException)
{
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.OkButtonText = "Schließen";
a.OkButtonLabel = "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 (UserSettings.Default.SuppressItemCommentInteraction)
if (Preferences.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>().ShowDialogInForm();
vm.InjectInto<ItemCommentView>().ShowDialog();
}
}
#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
}
}

View File

@ -1,7 +1,7 @@
/* CommentPool.cs
* part of zaaReloaded2
*
* Copyright 2015-2018 Daniel Kraus
* Copyright 2015 Daniel Kraus
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.

View File

@ -1,7 +1,7 @@
/* ParameterComment.cs
* part of zaaReloaded2
*
* Copyright 2015-2018 Daniel Kraus
* Copyright 2015 Daniel Kraus
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.

View File

@ -1,7 +1,7 @@
/* ParameterCommentEventArgs.cs
* part of zaaReloaded2
*
* Copyright 2015-2018 Daniel Kraus
* Copyright 2015 Daniel Kraus
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.

View File

@ -2,7 +2,7 @@
/* ControlElementBase.cs
* part of zaaReloaded2
*
* Copyright 2015-2018 Daniel Kraus
* Copyright 2015 Daniel Kraus
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
@ -35,21 +35,7 @@ namespace zaaReloaded2.Controller.Elements
/// Gets a list of child elements, all of which must be derived
/// from FormatElementBase.
/// </summary>
public IList<FormatElementBase> Children
{
get
{
if (_children == null)
{
_children = new List<FormatElementBase>();
}
return _children;
}
internal set
{
_children = value;
}
}
public IList<FormatElementBase> Children { get; internal set; }
/// <summary>
/// Informs whether this control element can have child elements.
@ -60,16 +46,17 @@ namespace zaaReloaded2.Controller.Elements
#region Constructors
public ControlElementBase() : base() { }
public ControlElementBase()
: this(new List<FormatElementBase>())
{ }
public ControlElementBase(IList<FormatElementBase> children)
: this()
{
Children = children;
}
public ControlElementBase(FormatElementBase child)
: this(new List<FormatElementBase>() { child })
public ControlElementBase(FormatElementBase children)
: this(new List<FormatElementBase>() { children })
{ }
#endregion
@ -124,11 +111,5 @@ namespace zaaReloaded2.Controller.Elements
}
#endregion
#region Fields
IList<FormatElementBase> _children;
#endregion
}
}

View File

@ -1,7 +1,7 @@
/* Text.cs
* part of zaaReloaded2
*
* Copyright 2015-2018 Daniel Kraus
* Copyright 2015 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,7 +29,6 @@ namespace zaaReloaded2.Controller.Elements
[Serializable]
public class CustomText : FormatElementBase, ISerializable
{
[YamlDotNet.Serialization.YamlIgnore]
public override string Label
{
get

View File

@ -1,7 +1,7 @@
/* ElementBase.cs
* part of zaaReloaded2
*
* Copyright 2015-2018 Daniel Kraus
* Copyright 2015 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,7 +33,6 @@ namespace zaaReloaded2.Controller.Elements
/// <summary>
/// Returns the label for this formatting element.
/// </summary>
[YamlDotNet.Serialization.YamlIgnore]
abstract public string Label { get; }
/// <summary>

View File

@ -1,7 +1,7 @@
/* FormatElementBase.cs
* part of zaaReloaded2
*
* Copyright 2015-2018 Daniel Kraus
* Copyright 2015 Daniel Kraus
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
@ -16,8 +16,8 @@
* limitations under the License.
*/
using System;
using System.Runtime.Serialization;
namespace zaaReloaded2.Controller.Elements
{
/// <summary>

View File

@ -1,7 +1,7 @@
/* Items.cs
* part of zaaReloaded2
*
* Copyright 2015-2018 Daniel Kraus
* Copyright 2015 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,7 +37,6 @@ namespace zaaReloaded2.Controller.Elements
{
#region ElementBase implementation
[YamlDotNet.Serialization.YamlIgnore]
public override string Label
{
get

View File

@ -1,7 +1,7 @@
/* NextColumn.cs
* part of zaaReloaded2
*
* Copyright 2015-2018 Daniel Kraus
* Copyright 2015 Daniel Kraus
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.

View File

@ -1,7 +1,7 @@
/* SelectEachDay.cs
* part of zaaReloaded2
*
* Copyright 2015-2018 Daniel Kraus
* Copyright 2015 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,7 +26,6 @@ namespace zaaReloaded2.Controller.Elements
[Serializable]
public class SelectEachDay : ControlElementBase
{
[YamlDotNet.Serialization.YamlIgnore]
public override string Label
{
get { return "Jeder Tag"; }

View File

@ -1,7 +1,7 @@
/* SelectFirstDay.cs
* part of zaaReloaded2
*
* Copyright 2015-2018 Daniel Kraus
* Copyright 2015 Daniel Kraus
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.

View File

@ -1,7 +1,7 @@
/* SelectFirstDay - Copy.cs
* part of zaaReloaded2
*
* Copyright 2015-2018 Daniel Kraus
* Copyright 2015 Daniel Kraus
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.

View File

@ -1,7 +1,7 @@
/* TwoColumns.cs
* part of zaaReloaded2
*
* Copyright 2015-2018 Daniel Kraus
* Copyright 2015 Daniel Kraus
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.

View File

@ -1,7 +1,7 @@
/* Settings.cs
* part of zaaReloaded2
*
* Copyright 2015-2018 Daniel Kraus
* Copyright 2015 Daniel Kraus
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
@ -18,13 +18,13 @@
using System;
using System.Collections.Generic;
using System.Linq;
using zaaReloaded2;
using System.Text;
using zaaReloaded2.Formatter;
using zaaReloaded2.Controller.Elements;
using System.IO;
using System.Text.RegularExpressions;
using System.Runtime.Serialization;
using YamlDotNet.Serialization;
using System.Runtime.Serialization.Formatters.Soap;
namespace zaaReloaded2.Controller
{
@ -34,24 +34,6 @@ namespace zaaReloaded2.Controller
[Serializable]
public class Settings : ICloneable, ISerializable
{
#region Auxiliary factories for YamlDotNet
public static ISerializer BuildSerializer()
{
SerializerBuilder builder = new SerializerBuilder()
.WithCommonTagMappings()
.EnsureRoundtrip();
return builder.Build();
}
public static IDeserializer BuildDeserializer()
{
DeserializerBuilder builder = new DeserializerBuilder().WithCommonTagMappings();
return builder.Build();
}
#endregion
#region Persistence
/// <summary>
@ -63,29 +45,14 @@ 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);
IDeserializer deserializer = BuildDeserializer();
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;
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;
}
@ -95,15 +62,9 @@ namespace zaaReloaded2.Controller
/// <param name="fileName">File to write to.</param>
public void SaveToFile(string fileName)
{
Logger.Info("SaveToFile: Settings name: {0}", Name);
using (StreamWriter writer = new StreamWriter(fileName))
{
ISerializer serializer = BuildSerializer();
serializer.Serialize(writer, this);
}
Logger.Info("SaveToFile: Successfully saved to file '{0}'", fileName);
// SoapFormatter formatter = new SoapFormatter();
// formatter.Serialize(writer.BaseStream, this);
StreamWriter writer = new StreamWriter(fileName);
SoapFormatter formatter = new SoapFormatter();
formatter.Serialize(writer.BaseStream, this);
}
#endregion
@ -126,11 +87,6 @@ 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>
@ -282,13 +238,5 @@ 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
}
}

View File

@ -1,7 +1,7 @@
/* SettingsRepository.cs
* part of zaaReloaded2
*
* Copyright 2015-2018 Daniel Kraus
* Copyright 2015 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,15 +59,20 @@ namespace zaaReloaded2.Controller
/// </remarks>
public static SettingsRepository Load()
{
SettingsRepository repo = UserSettings.Default.SettingsRepository;
if (repo == null)
string s = Properties.Settings.Default.SettingsRepository;
if (String.IsNullOrEmpty(s))
{
Logger.Warn("Load: No repository in user settings; creating a new one.");
return new SettingsRepository();
}
else
{
Logger.Warn("Load: Loaded repository from user settings.");
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;
}
@ -84,7 +89,13 @@ namespace zaaReloaded2.Controller
/// </remarks>
public void Store()
{
UserSettings.Default.SettingsRepository = this;
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();
}
#endregion
@ -185,26 +196,19 @@ namespace zaaReloaded2.Controller
private void LoadDefaults()
{
Assembly myAssembly = this.GetType().Assembly;
var deserializer = Settings.BuildDeserializer();
Logger.Info("LoadDefaults: Loading ward default");
using (Stream stream = myAssembly.GetManifestResourceStream("zaaReloaded2.Defaults.ward.zaaReloaded2"))
{
StreamReader reader = new StreamReader(stream);
Settings settings = deserializer.Deserialize<Settings>(reader);
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);
}
Logger.Info("LoadDefaults: Loading clinic default");
using (Stream stream = myAssembly.GetManifestResourceStream("zaaReloaded2.Defaults.clinic.zaaReloaded2"))
{
StreamReader reader = new StreamReader(stream);
Settings settings = deserializer.Deserialize<Settings>(reader);
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);
}
}
private void ReplaceOrAdd(Settings settings)
{
@ -241,13 +245,5 @@ namespace zaaReloaded2.Controller
const string DEFAULT_SETTINGS_2_UID = "783C63B5-A964-4368-B2D0-D4595DCCB952";
#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
}
}

View File

@ -0,0 +1,177 @@
<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>1024466373</_a>
<_b>-13000</_b>
<_c>18257</_c>
<_d>175</_d>
<_e>25</_e>
<_f>195</_f>
<_g>192</_g>
<_h>189</_h>
<_i>241</_i>
<_j>139</_j>
<_k>63</_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, U-Schwangerschaftstest</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, Aldosteron, Renin, ARQ</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 &#34;(Ziel-Talspiegel: &#60;&#62; µg/l)&#34;, CsA (C0) &#34;(Ziel-Talspiegel: &#60;&#62; µg/l)&#34;, SIR &#34;(Ziel-Talspiegel: &#60;&#62; µg/l)&#34;, 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>

View File

@ -1,53 +0,0 @@
!Settings
Name: Kopie von Standard für NepA
ReferenceStyle: IfSpecialItem
Elements: !ElementsList
- !SelectEachDay
Children: !FormatElementsList
- !Items
Content: 'Klinische Chemie: Na, K, Cl, Mg, Ca, P, CaxP, Alb, Prot, Haptoglobin, LDH, Glukose, Harnsäure'
- !Items
Content: 'Entzündung/Immunsystem: CRP, Pct, C3c, C4, Anti-DNAse B, ASL'
- !Items
Content: 'Kardiale Marker: CK, CK-MB, hsTnT, NT-proBNP'
- !Items
Content: 'Niere: Krea, Hst, eGFR (CKD-EPI), Cystatin C'
- !Items
Content: 'Sammelurin: SU-Prot, SU-Alb, SU-CrCl, SU-HstCl, SU-GFR, SU-Na, SU-Zeit, SU-Volumen'
- !Items
Content: 'Spot-Urin: U-TPCR, U-ACR, U-Alb, U-Ery, U-Leu, U-Bakt, U-Schwangerschaftstest'
- !Items
Content: 'Leber: GOT, GGT, GPT, AP, Bilirubin, CHE, CDT'
- !Items
Content: 'Blutfette: TG, Chol, LDL, HDL, Lp(a)'
- !Items
Content: 'Hämatologie: Hb, Hkt, Reti, Leu, Thr, MCV, HbA1c, Retikulozyten, Fragmentozyten'
- !Items
Content: 'Diff.-BB: Neu, Lym, Mon, Baso, Eos'
- !Items
Content: 'Gerinnung: Quick, INR, PTT, Fibrinogen, ATIII, Anti-Xa'
- !Items
Content: 'Serum-Elektrophorese: Albumin-Fraktion, a1-Globulin, a2-Globulin, b-Globulin, g-Globulin'
- !Items
Content: 'Hormone: iPTH, TSH, fT3, fT4, Aldosteron, Renin, ARQ'
- !Items
Content: 'Vitamine: B12, Folsäure'
- !Items
Content: 'Eisenhaushalt: Eisen, Ferritin, Transferrin, Tf.-Sätt.'
- !Items
Content: 'BGA: pH, Std.-Bic., BE'
- !Items
Content: 'Hepatitis-Serologie: Anti-HBs, Anti-HBc'
- !Items
Content: 'Medikamente: TAC "(Ziel-Talspiegel: <> µg/l)", CsA (C0) "(Ziel-Talspiegel: <> µg/l)", SIR "(Ziel-Talspiegel: <> µg/l)", Vancomycin, Gentamicin, Tobramicin'
- !Items
Content: 'Tumormarker: PSA, AFP'
- !CustomText
Content: 'Nephrolog. Sediment: pH, Proteinurie, Ery /µl, Leu /µl, Plattenep. /µl, Bakt., Schleimfäden'
- !CustomText
Content: 'Virologie (EDTA-Blut): CMV-PCR, BKV-PCR'
- !CustomText
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)'
- !Items
Content: 'MSU: MSU-Keim, MSU-Multiresistenz'
Uid: 581d378c-8f7a-4a1c-8490-36e257770a09

View File

@ -1,9 +1,7 @@
# LAURIS-NAME "KANONISCHER NAME" MATERIAL DEZIMALSTELLEN "IMMER REFERENZBEREICH" "BLACKLIST" "NO-LABEL"
# =========== ================== ======== ============== ======================= =========== ==========
"- Multiresistenz" Multiresistenz MSU --- --- --- X
# LAURIS-NAME "KANONISCHER NAME" MATERIAL DEZIMALSTELLEN "IMMER REFERENZBEREICH" "BLACKLIST"
# =========== ================== ======== ============== ======================= ===========
"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
@ -83,7 +81,6 @@ 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
@ -134,7 +131,6 @@ 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

View File

@ -0,0 +1,254 @@
<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 &#34;(Ziel-Talspiegel: &#60;&#62; µg/l)&#34;, CsA (C0) &#34;(Ziel-Talspiegel: &#60;&#62; µg/l)&#34;, SIR &#34;(Ziel-Talspiegel: &#60;&#62; µg/l)&#34;, 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>

View File

@ -1,101 +0,0 @@
!Settings
Name: Kopie von Standard für Station
ReferenceStyle: IfSpecialItem
Elements: !ElementsList
- !TwoColumns
Children: !FormatElementsList
- !SelectFirstDay
Children: !FormatElementsList
- !Items
Content: 'Klinische Chemie: Na, K, Cl, Mg, Ca, P, CaxP, Alb, Prot, Haptoglobin, LDH, Glukose, Harnsäure'
- !Items
Content: 'Entzündung/Immunsystem: CRP, Pct, C3c, C4, Anti-DNAse B, ASL'
- !Items
Content: 'Kardiale Marker: CK, CKMB, hsTnT, NT-proBNP'
- !Items
Content: 'Niere: Krea, Hst, eGFR (CKD-EPI), Cystatin C'
- !Items
Content: 'Sammelurin: SU-Prot, SU-Alb, SU-CrCl, SU-HstCl, SU-GFR, SU-Na, SU-Zeit, SU-Volumen'
- !Items
Content: 'Spot-Urin: U-TPCR, U-ACR, U-Alb, U-Ery, U-Leu, U-Bakt'
- !Items
Content: 'Leber: GOT, GGT, GPT, AP, Bilirubin, CHE'
- !Items
Content: 'Blutfette: TG, Chol, LDL, HDL, Lp(a)'
- !Items
Content: 'Hämatologie: Hb, Hkt, Reti, Leu, Thr, MCV, HbA1c, Retikulozyten, Fragmentozyten'
- !Items
Content: 'Diff.-BB: Neu, Lym, Mon, Baso, Eos'
- !Items
Content: 'Gerinnung: Quick, INR, PTT, Fibrinogen, ATIII, Anti-Xa'
- !Items
Content: 'Serum-Elektrophorese: Albumin-Fraktion, a1-Globulin, a2-Globulin, b-Globulin, g-Globulin'
- !Items
Content: 'Hormone: iPTH, TSH, fT3, fT4'
- !Items
Content: 'Vitamine: B12, Folsäure'
- !Items
Content: 'Eisenhaushalt: Eisen, Ferritin, Transferrin, Tf.-Sätt.'
- !Items
Content: 'BGA: pH, Std.-Bic., BE'
- !Items
Content: 'Hepatitis-Serologie: Anti-HBs, Anti-HBc'
- !Items
Content: 'Medikamente: TAC "(Ziel-Talspiegel: <> µg/l)", CsA (C0) "(Ziel-Talspiegel: <> µg/l)", SIR "(Ziel-Talspiegel: <> µg/l)", Vancomycin, Gentamicin, Tobramicin'
- !CustomText
Content: 'Nephrolog. Sediment: pH, Proteinurie, Ery /µl, Leu /µl, Plattenep. /µl, Bakt., Schleimfäden'
- !CustomText
Content: 'Virologie (EDTA-Blut): CMV-PCR, BKV-PCR'
- !CustomText
Content: 'Autoantikörper: ANCA (IF), MPO-ANCA (ELISA), PR3-ANCA (ELISA), ANA (IF), AnDNA (ELISA), AnDNA (RIA)'
- !Items
Content: 'Tumormarker: PSA'
- !NextColumn
Children: !FormatElementsList
- !SelectLastDay
Children: !FormatElementsList
- !Items
Content: 'Klinische Chemie: Na, K, Cl, Mg, Ca, P, CaxP, Alb, Prot, Haptoglobin, LDH, Glukose, Harnsäure'
- !Items
Content: 'Entzündung/Immunsystem: CRP, Pct, C3c, C4, Anti-DNAse B, ASL'
- !Items
Content: 'Kardiale Marker: CK, CKMB, hsTnT, NT-proBNP'
- !Items
Content: 'Niere: Krea, Hst, eGFR (CKD-EPI), Cystatin C'
- !Items
Content: 'Sammelurin: SU-Prot, SU-Alb, SU-CrCl, SU-HstCl, SU-GFR, SU-Na, SU-Zeit, SU-Volumen'
- !Items
Content: 'Spot-Urin: U-TPCR, U-ACR, U-Alb, U-Ery, U-Leu, U-Bakt'
- !Items
Content: 'Leber: GOT, GGT, GPT, AP, Bilirubin, CHE'
- !Items
Content: 'Blutfette: TG, Chol, LDL, HDL, Lp(a)'
- !Items
Content: 'Hämatologie: Hb, Hkt, Reti, Leu, Thr, MCV, HbA1c, Retikulozyten, Fragmentozyten'
- !Items
Content: 'Diff.-BB: Neu, Lym, Mon, Baso, Eos'
- !Items
Content: 'Gerinnung: Quick, INR, PTT, Fibrinogen, ATIII, Anti-Xa'
- !Items
Content: 'Serum-Elektrophorese: Albumin-Fraktion, a1-Globulin, a2-Globulin, b-Globulin, g-Globulin'
- !Items
Content: 'Hormone: iPTH, TSH, fT3, fT4'
- !Items
Content: 'Vitamine: B12, Folsäure'
- !Items
Content: 'Eisenhaushalt: Eisen, Ferritin, Transferrin, Tf.-Sätt.'
- !Items
Content: 'BGA: pH, Std.-Bic., BE'
- !Items
Content: 'Hepatitis-Serologie: Anti-HBs, Anti-HBc'
- !Items
Content: 'Medikamente: TAC "(Ziel-Talspiegel: <> µg/l)", CsA (C0) "(Ziel-Talspiegel: <> µg/l)", SIR "(Ziel-Talspiegel: <> µg/l)", Vancomycin, Gentamicin, Tobramicin'
- !CustomText
Content: 'Nephrolog. Sediment: pH, Proteinurie, Ery /µl, Leu /µl, Plattenep. /µl, Bakt., Schleimfäden'
- !CustomText
Content: 'Virologie (EDTA-Blut): CMV-PCR, BKV-PCR'
- !CustomText
Content: 'Autoantikörper: ANCA (IF), MPO-ANCA (ELISA), PR3-ANCA (ELISA), ANA (IF), AnDNA (ELISA), AnDNA (RIA)'
- !Items
Content: 'Tumormarker: PSA'
Uid: 216d9bbb-94d8-47e5-b13b-59e0edd24d91

View File

@ -1,7 +1,7 @@
/* Demo.cs
* part of zaaReloaded2
*
* Copyright 2015-2018 Daniel Kraus
* Copyright 2015 Daniel Kraus
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.

Binary file not shown.

View File

@ -2,7 +2,7 @@
ExceptionDetailView.xaml
part of zaaReloaded2
Copyright 2015-2017 Daniel Kraus
Copyright 2015 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="720"
ShowInTaskbar="False" ResizeMode="NoResize"
SizeToContent="Height" Width="700" ShowInTaskbar="False"
WindowStyle="ToolWindow" Topmost="True" ResizeMode="CanResizeWithGrip"
x:Name="exceptionDetailView"
Title="Technische Fehlerdetails"
settings:WindowState.Save="True"

View File

@ -1,7 +1,7 @@
/* ExceptionDetailView.xaml.cs
* part of zaaReloaded2
*
* Copyright 2015-2018 Daniel Kraus
* Copyright 2015 Daniel Kraus
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.

View File

@ -2,7 +2,7 @@
ExceptionView.xaml
part of zaaReloaded2
Copyright 2015-2017 Daniel Kraus
Copyright 2015 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="NoResize"
ShowInTaskbar="False"
SizeToContent="WidthAndHeight" ResizeMode="CanResizeWithGrip"
WindowStyle="ToolWindow" ShowInTaskbar="False" Topmost="True"
WindowStartupLocation="CenterScreen"
Title="zaaReloaded2: Fehler!"
settings:WindowState.Save="True"

View File

@ -1,7 +1,7 @@
/* ExceptionView.xaml.cs
* part of zaaReloaded2
*
* Copyright 2015-2018 Daniel Kraus
* Copyright 2015 Daniel Kraus
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.

View File

@ -1,7 +1,7 @@
/* ExceptionViewModel.cs
* part of zaaReloaded2
*
* Copyright 2015-2018 Daniel Kraus
* Copyright 2015 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.Current.ToString();
return zaaReloaded2.Updater.Version.CurrentVersion().ToString();
}
}
@ -83,12 +83,7 @@ namespace zaaReloaded2.ExceptionHandler
protected override string DevPath()
{
return @"x:\\Code\\zaaReloaded2\\zaaReloaded2\\";
}
protected override Bovender.UserSettings.UserSettingsBase UserSettings
{
get { return zaaReloaded2.UserSettings.Default; }
return @"x:\Code\zaaReloaded2\zaaReloaded2\";
}
#endregion

View File

@ -1,7 +1,7 @@
/* SubmissionCompletedAction.cs
* part of zaaReloaded2
*
* Copyright 2015-2018 Daniel Kraus
* Copyright 2015 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 new SubmissionSuccessView();
return Content.InjectInto<SubmissionSuccessView>();
}
protected override Window CreateFailureWindow()
{
return new SubmissionFailureView();
return Content.InjectInto<SubmissionFailureView>();
}
protected override Window CreateCancelledWindow()

View File

@ -2,7 +2,7 @@
SubmissionFailureView.xaml
part of zaaReloaded2
Copyright 2015-2017 Daniel Kraus
Copyright 2015 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="Height" Width="540"
SizeToContent="WidthAndHeight"
Title="Fehlerbericht versenden"
>
<Window.Resources>
<ResourceDictionary Source="/Bovender;component/Style.xaml" />
</Window.Resources>
<DockPanel Margin="10">
<TextBlock DockPanel.Dock="Left" FontSize="72" FontWeight="Bold" Foreground="Red" Margin="0,0,10,0"
<StackPanel Margin="10" Orientation="Horizontal">
<TextBlock FontSize="72" FontWeight="Bold" Foreground="Red" Margin="0,0,10,0"
LineHeight="48" LineStackingStrategy="BlockLineHeight">
&#x00d7;
<TextBlock.Effect>
@ -36,13 +36,11 @@
</TextBlock.Effect>
</TextBlock>
<StackPanel>
<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" />
<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" />
<StackPanel Orientation="Horizontal" HorizontalAlignment="Right" Margin="0,10,0,0">
<Button Command="{Binding CloseViewCommand}" Content="Schließen" />
</StackPanel>
</StackPanel>
</DockPanel>
</StackPanel>
</Window>

View File

@ -1,7 +1,7 @@
/* SubmissionFailureView.xaml.cs
* part of zaaReloaded2
*
* Copyright 2015-2018 Daniel Kraus
* Copyright 2015 Daniel Kraus
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.

View File

@ -1,7 +1,7 @@
/* SubmissionProcessAction.cs
* part of zaaReloaded2
*
* Copyright 2015-2018 Daniel Kraus
* Copyright 2015 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 new SubmissionProcessView();
return Content.InjectInto<SubmissionProcessView>();
}
}
}

View File

@ -2,7 +2,7 @@
SubmissionProcessView.xaml
part of zaaReloaded2
Copyright 2015-2017 Daniel Kraus
Copyright 2015 Daniel Kraus
Licensed under the Apache License, Version 2.0 (the "License");
you may not use this file except in compliance with the License.

View File

@ -1,7 +1,7 @@
/* SubmissionProcessView.xaml.cs
* part of zaaReloaded2
*
* Copyright 2015-2018 Daniel Kraus
* Copyright 2015 Daniel Kraus
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.

View File

@ -2,7 +2,7 @@
SubmissionSuccessView.xaml
part of zaaReloaded2
Copyright 2015-2017 Daniel Kraus
Copyright 2015 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,15 +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="Height" Width="400"
SizeToContent="WidthAndHeight"
Title="Fehlerbericht versenden"
>
<Window.Resources>
<ResourceDictionary Source="/Bovender;component/Style.xaml" />
</Window.Resources>
<DockPanel Margin="10">
<TextBlock DockPanel.Dock="Left"
FontSize="48" FontWeight="Bold" Foreground="GreenYellow" Margin="0,0,10,0"
<StackPanel Margin="10" Orientation="Horizontal">
<TextBlock FontSize="48" FontWeight="Bold" Foreground="GreenYellow" Margin="0,0,10,0"
LineHeight="48" LineStackingStrategy="BlockLineHeight">
&#x2714;
<TextBlock.Effect>
@ -37,10 +36,10 @@
</TextBlock.Effect>
</TextBlock>
<StackPanel>
<TextBlock TextWrapping="Wrap" Text="Der Fehlerbericht wurde erfolgreich versandt." />
<TextBlock 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>
</DockPanel>
</StackPanel>
</Window>

View File

@ -1,7 +1,7 @@
/* SubmissionSuccessView.xaml.cs
* part of zaaReloaded2
*
* Copyright 2015-2018 Daniel Kraus
* Copyright 2015 Daniel Kraus
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.

View File

@ -1,7 +1,7 @@
/* AbnormalStyle.cs
* part of zaaReloaded2
*
* Copyright 2015-2018 Daniel Kraus
* Copyright 2015 Daniel Kraus
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.

View File

@ -1,7 +1,7 @@
/* DanielsStyle.cs
* part of zaaReloaded2
*
* Copyright 2015-2018 Daniel Kraus
* Copyright 2015 Daniel Kraus
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.

View File

@ -1,7 +1,7 @@
/* DocumentWriter.cs
* part of zaaReloaded2
*
* Copyright 2015-2018 Daniel Kraus
* Copyright 2015 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,14 +171,6 @@ 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>

View File

@ -1,7 +1,7 @@
/* Formatter.cs
* part of zaaReloaded2
*
* Copyright 2015-2018 Daniel Kraus
* Copyright 2015 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,8 +57,7 @@ namespace zaaReloaded2.Formatter
foreach (TimePoint tp in _laboratory.TimePoints.Values)
{
_timePointFormatters[tp.TimeStamp] =
new TimePointFormatter(tp, Settings.ReferenceStyle,
Settings.AbnormalStyle, Settings.PreferVerboseMolar);
new TimePointFormatter(tp, Settings.ReferenceStyle, Settings.AbnormalStyle);
}
}
}
@ -143,7 +142,13 @@ 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.
Helpers.StartUndo("Laborformatierung");
bool hasAddin = Globals.ThisAddIn != null;
if (hasAddin)
{
Globals.ThisAddIn.Application.UndoRecord.StartCustomRecord(
String.Format("Laborformatierung ({0})", Properties.Settings.Default.AddinName)
);
}
CreateStyles();
int current = 0;
@ -172,7 +177,10 @@ namespace zaaReloaded2.Formatter
}
_secondaryBuffer.Flush();
Helpers.EndUndo();
if (hasAddin)
{
Globals.ThisAddIn.Application.UndoRecord.EndCustomRecord();
}
}
/// <summary>
@ -273,18 +281,15 @@ 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
@ -297,16 +302,13 @@ 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
@ -320,7 +322,6 @@ namespace zaaReloaded2.Formatter
style.ParagraphFormat.Alignment = WdParagraphAlignment.wdAlignParagraphJustify;
style.set_NextParagraphStyle(Document.Styles[Properties.Settings.Default.StyleParagraph]);
}
Bovender.ComHelpers.ReleaseComObject(style);
/*
try
@ -430,13 +431,5 @@ 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
}
}

View File

@ -1,7 +1,7 @@
/* IItemFormatterDictionary.cs
* part of zaaReloaded2
*
* Copyright 2015-2018 Daniel Kraus
* Copyright 2015 Daniel Kraus
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.

View File

@ -1,7 +1,7 @@
/* ITimePointFormatterDictionary.cs
* part of zaaReloaded2
*
* Copyright 2015-2018 Daniel Kraus
* Copyright 2015 Daniel Kraus
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.

View File

@ -1,7 +1,7 @@
/* ItemFormatter.cs
* part of zaaReloaded2
*
* Copyright 2015-2018 Daniel Kraus
* Copyright 2015 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,11 +47,6 @@ 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
@ -76,11 +71,6 @@ 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>
@ -96,14 +86,12 @@ namespace zaaReloaded2.Formatter
/// <param name="labItem">LabItem to wrap in this ItemFormatter.</param>
public ItemFormatter(LabItem labItem,
ReferenceStyle referenceStyle,
AbnormalStyle abnormalStyle,
bool preferVerboseMolar)
AbnormalStyle abnormalStyle)
{
IncludeMaterial = true;
LabItem = labItem;
ReferenceStyle = referenceStyle;
AbnormalStyle = abnormalStyle;
PreferVerboseMolar = preferVerboseMolar;
}
#endregion
@ -159,12 +147,7 @@ namespace zaaReloaded2.Formatter
if (LabItem.HasUnit)
{
string space = LabItem.Unit.StartsWith("/") ? String.Empty : " ";
unit = LabItem.Unit;
if (PreferVerboseMolar)
{
unit = LabItem.Unit.Replace("mM", "mmol/l");
}
unit = String.Format("{0}{1}", space, unit);
unit = String.Format("{0}{1}", space, LabItem.Unit);
}
else
{
@ -199,15 +182,7 @@ namespace zaaReloaded2.Formatter
if (comment != String.Empty) comment = " " + comment;
}
string name;
if (LabItem.SuppressLabel)
{
name = String.Empty;
}
else
{
name = (IncludeMaterial ? LabItem.QualifiedName : LabItem.Name) + " ";
}
string name = IncludeMaterial ? LabItem.QualifiedName : LabItem.Name;
string output =

View File

@ -1,7 +1,7 @@
/* ItemFormatterDictionary.cs
* part of zaaReloaded2
*
* Copyright 2015-2018 Daniel Kraus
* Copyright 2015 Daniel Kraus
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.

Some files were not shown because too many files have changed in this diff Show More