
MCDMS WebAkte wird vollständig innerhalb einer vorhandenen MCDMS-Installation betrieben.
Alle zur WebAkte gehörenden Dateien befinden sich unter:
{APPPATH}\Web
Beispiel:
D:\Kliniken\KLINIK\MCDMS\Web
Für die Installation stehen zwei Möglichkeiten zur Verfügung:
- Empfohlen: automatische Installation mit
Install.ps1 - Alternativ: manuelle Einrichtung durch die Klinik-IT
Voraussetzungen
Auf dem Server muss eine funktionsfähige MCDMS-Installation vorhanden sein.
Erforderlich sind insbesondere:
- Windows Server
- .NET Framework 4.7.2
- 32-Bit-MCDMS5API
- 32-Bit Microsoft Jet OLE DB 4.0
- vorhandene
STAMMDATEN - vorhandene
STDConf.INI - Zugriff auf den konfigurierten SQL Server, sofern SQL-Formulare verwendet werden
- interner DNS-Name für die MCDMS WebAkte
- HTTPS-Serverzertifikat für diesen DNS-Namen
MCDMS WebAkte wird als 32-Bit-Anwendung (x86) betrieben.
Installationspaket
Das Installationspaket enthält einen vollständigen Ordner:
Web\
mit folgender Grundstruktur:
Web\
├─ WEB.INI
├─ FORMULARE.INI
├─ PATIENTEN.INI
├─ AKTENSTRUKTUR.INI
│
├─ PROGRAM\
│ ├─ MCDMS.WebServer.exe
│ ├─ MCDMS.WebServer.exe.config
│ └─ benötigte DLLs
│
├─ SETUP\
│ ├─ Install.ps1
│ ├─ Uninstall.ps1
│ └─ README.txt
│
├─ LOGS\
├─ HTML\
├─ CSS\
├─ JS\
└─ IMAGES\
Der komplette Ordner Web wird in den vorhandenen MCDMS-APPPATH kopiert.
Beispiel:
D:\Kliniken\KLINIK\MCDMS\Web
Die eigentliche Serveranwendung befindet sich anschließend unter:
{APPPATH}\Web\PROGRAM\MCDMS.WebServer.exe
DNS-Name festlegen
Vor der HTTPS-Einrichtung muss für die MCDMS WebAkte ein interner DNS-Name festgelegt werden.
Beispiel:
mcdms-webakte.klinik.intern
Dieser Name muss im Kliniknetz auf die IP-Adresse des WebAkte-Servers aufgelöst werden.
Prüfung unter Windows:
Resolve-DnsName mcdms-webakte.klinik.intern
Der gleiche DNS-Name wird anschließend verwendet für:
- das HTTPS-Serverzertifikat
WEB.INI- HTTP.sys
- den Browserzugriff
HTTPS-Zertifikat
Für den Produktivbetrieb sollte ein Serverzertifikat verwendet werden, das von einer in der Klinik bereits vertrauenswürdigen Zertifizierungsstelle ausgestellt wurde.
In einer Klinik ist dies typischerweise eine interne Unternehmens- bzw. Klinik-CA.
Das Serverzertifikat muss:
- für den verwendeten DNS-Namen ausgestellt sein
- den DNS-Namen im Subject Alternative Name (SAN) enthalten
- einen privaten Schlüssel besitzen
- für Server Authentication geeignet sein
- im Zertifikatsspeicher des lokalen Computers installiert sein
Beispiel:
DNS-Name:
mcdms-webakte.klinik.intern
SAN:
DNS=mcdms-webakte.klinik.intern
Das Serverzertifikat wird auf dem WebAkte-Server unter:
Lokaler Computer
→ Persönlich
→ Zertifikate
installiert.
Prüfung:
Get-ChildItem Cert:\LocalMachine\My |
Select-Object Subject, Thumbprint, NotAfter, HasPrivateKey
Für das verwendete Zertifikat muss gelten:
HasPrivateKey = True
Vertrauen der Clients
Die Arbeitsplätze und mobilen Geräte müssen der Zertifizierungsstelle vertrauen, die das Serverzertifikat ausgestellt hat.
In einer verwalteten Klinik erfolgt dies üblicherweise zentral:
- Windows-Arbeitsplätze über Active Directory bzw. Gruppenrichtlinien
- iPhone/iPad über MDM
- weitere Geräte über die jeweilige zentrale Geräteverwaltung
Dadurch muss nicht das einzelne WebAkte-Serverzertifikat auf jedem Client installiert werden.
Die Clients vertrauen stattdessen der Root-CA bzw. Zertifikatskette der Klinik.
Bei einer Testumgebung mit eigener Test-CA muss deren Root-Zertifikat einmal auf den Testclients als vertrauenswürdig eingerichtet werden.
Ein einzelnes selbstsigniertes Serverzertifikat sollte nur für einfache technische Tests verwendet werden.
Certificate Thumbprint
Für die Installation wird der Thumbprint des Serverzertifikats benötigt.
Beispiel:
FF358F500F887C0D518712D8842A7F573D36CBA9
Wichtig:
Es wird der Thumbprint des für die MCDMS WebAkte ausgestellten Serverzertifikats verwendet – nicht der Thumbprint der Root-CA.
Variante A – Installation mit Install.ps1
Dies ist die empfohlene Installationsmethode.
Das Setup ist für Windows PowerShell 5.1 vorgesehen.
PowerShell als Administrator starten und in den Setup-Ordner wechseln:
cd "D:\Kliniken\KLINIK\MCDMS\Web\SETUP"
Für eine lokale MCDMS-Installation:
.\Install.ps1 -ServiceAccount LocalSystem
LocalSystem wurde für lokale APPPATH-Installationen getestet.
Befindet sich der APPPATH auf einer Netzwerkfreigabe, muss stattdessen ein geeignetes Dienst- bzw. Domänenkonto verwendet werden, das Zugriff auf die benötigten Netzwerkressourcen besitzt.
HttpsPrefix
Das Setup fragt nach dem HTTPS-Prefix.
Beispiel:
https://mcdms-webakte.klinik.intern:8443/
Der Hostname muss dem DNS-Namen des Serverzertifikats entsprechen.
CertificateThumbprint
Anschließend wird der Thumbprint des installierten Serverzertifikats eingegeben.
Beispiel:
FF358F500F887C0D518712D8842A7F573D36CBA9
Das Setup prüft unter anderem, ob das Zertifikat vorhanden ist und einen privaten Schlüssel besitzt.
MCDMS-APPPATH
Danach wird der vorhandene MCDMS-APPPATH angegeben.
Beispiel:
D:\Kliniken\KLINIK\MCDMS
Wird der richtige APPPATH bereits vorgeschlagen, kann dieser einfach mit Enter bestätigt werden.
Automatische Einrichtung
Install.ps1 übernimmt die für die WebAkte erforderliche Einrichtung.
Dazu gehören insbesondere:
- Prüfung des APPPATH
- Prüfung der vorhandenen MCDMS-Struktur
- Prüfung des HTTPS-Prefix
- Prüfung des Serverzertifikats
- Anpassung der Servereinstellungen in
WEB.INI - HTTP.sys-Konfiguration
- HTTPS-Zertifikatbindung
- gegebenenfalls erforderliche URLACL
- Windows-Firewallkonfiguration
- benötigte Dateisystemberechtigungen
- Installation des Windows-Dienstes
- Übergabe des APPPATH an den Dienst
- Starttyp
Automatic - Recovery-Konfiguration des Dienstes
- Start des Dienstes
Der Windows-Dienst heißt:
MCDMS.WebAkte
Anzeigename:
MCDMS-WebAkte
Gestartet wird:
{APPPATH}\Web\PROGRAM\MCDMS.WebServer.exe
mit:
--apppath="{APPPATH}"
Automatische WEB.INI-Konfiguration
Das Installationsscript passt gezielt die für den WebServer erforderlichen Werte unter [SERVER] an.
Beispiel:
[SERVER]
EnvironmentName=Production
Prefixes=https://mcdms-webakte.klinik.intern:8443/
AllowedHosts=mcdms-webakte.klinik.intern
MaxRequestBodyBytes=1048576
AllowInsecureHttpDevelopment=FALSE
Automatisch angepasst werden:
EnvironmentName
Prefixes
AllowedHosts
AllowInsecureHttpDevelopment
Andere Sektionen und klinikspezifische Einstellungen der WEB.INI bleiben erhalten.
Schlägt die Installation während der Einrichtung fehl, werden die in diesem Installationslauf neu vorgenommenen Änderungen soweit möglich zurückgerollt.
Bestehende passende Systemkonfigurationen werden dabei nicht unnötig überschrieben oder entfernt.
Installation prüfen
Dienststatus:
Get-Service MCDMS.WebAkte
Erwartet:
Status : Running
Port prüfen:
netstat -ano | findstr ":8443"
Der Port muss lauschen.
Status-Endpunkt prüfen:
Invoke-WebRequest `
https://mcdms-webakte.klinik.intern:8443/api/status `
-UseBasicParsing
Erwartet:
StatusCode : 200
Die Antwort enthält unter anderem:
{
"Status": "ok",
"Application": "MCDMS WebServer",
"Version": "1.0.0.0"
}
Browser-Test
Im Browser öffnen:
https://mcdms-webakte.klinik.intern:8443/
Es darf keine Zertifikatswarnung erscheinen.
Anschließend prüfen:
- MCDMS-Login
- Patientensuche
- Patientenauswahl
- Patientenstammblatt
- Aktenbereiche
- vorhandene Formulare
- Speichern eines Testdatensatzes
Der Test sollte nach Möglichkeit sowohl von einem normalen Windows-Arbeitsplatz als auch von weiteren vorgesehenen Gerätetypen durchgeführt werden.
Variante B – Manuelle Installation
Die MCDMS WebAkte kann alternativ vollständig manuell eingerichtet werden.
Die folgenden Schritte beziehen sich auf eine lokale Installation mit LocalSystem.
1. Web-Verzeichnis kopieren
Den vollständigen Ordner:
Web
nach:
{APPPATH}\Web
kopieren.
Beispiel:
D:\Kliniken\KLINIK\MCDMS\Web
2. DNS prüfen
Der vorgesehene DNS-Name muss auf den WebAkte-Server zeigen.
Resolve-DnsName mcdms-webakte.klinik.intern
3. Serverzertifikat installieren
Das von der Klinik-CA ausgestellte Serverzertifikat im Zertifikatsspeicher:
Lokaler Computer
→ Persönlich
→ Zertifikate
installieren.
Danach prüfen:
Get-ChildItem Cert:\LocalMachine\My |
Select-Object Subject, Thumbprint, NotAfter, HasPrivateKey
4. WEB.INI konfigurieren
Unter:
{APPPATH}\Web\WEB.INI
den Abschnitt [SERVER] konfigurieren:
[SERVER]
EnvironmentName=Production
Prefixes=https://mcdms-webakte.klinik.intern:8443/
AllowedHosts=mcdms-webakte.klinik.intern
MaxRequestBodyBytes=1048576
AllowInsecureHttpDevelopment=FALSE
AllowedHosts enthält ausschließlich den Hostnamen ohne Protokoll und Port.
5. HTTPS-Zertifikat an HTTP.sys binden
Der Thumbprint des Serverzertifikats wird an den gewünschten HTTPS-Port gebunden.
Beispiel:
netsh http add sslcert ipport=0.0.0.0:8443 certhash=SERVERZERTIFIKAT-THUMBPRINT appid={EINDEUTIGE-GUID} certstorename=MY
Kontrolle:
netsh http show sslcert ipport=0.0.0.0:8443
Der angezeigte Zertifikathash muss dem Serverzertifikat entsprechen.
Die Root-CA wird nicht an HTTP.sys gebunden.
HTTP.sys verwendet ausschließlich das für den WebAkte-Server ausgestellte Serverzertifikat.
Bei Verwendung von LocalSystem ist keine zusätzliche URLACL erforderlich.
Bei einem anderen Dienstkonto muss eine passende HTTP.sys URL-Reservierung eingerichtet werden.
6. Firewall freigeben
TCP-Port 8443 muss für die vorgesehenen Kliniknetze eingehend erreichbar sein.
Beispiel:
New-NetFirewallRule `
-DisplayName "MCDMS-WebAkte HTTPS 8443" `
-Direction Inbound `
-Protocol TCP `
-LocalPort 8443 `
-Action Allow `
-Profile Any
In produktiven Kliniknetzen sollte die Regel auf die tatsächlich erforderlichen internen Netze eingeschränkt werden.
Ein Zugriff aus dem öffentlichen Internet ist für die interne MCDMS WebAkte nicht erforderlich.
7. Windows-Dienst installieren
Administratives Terminal öffnen.
Beispiel:
sc.exe create MCDMS.WebAkte binPath= "\"D:\Kliniken\KLINIK\MCDMS\Web\PROGRAM\MCDMS.WebServer.exe\" --apppath=\"D:\Kliniken\KLINIK\MCDMS\"" start= auto DisplayName= "MCDMS-WebAkte"
Dienstbeschreibung:
sc.exe description MCDMS.WebAkte "MCDMS-WebAkte WebServer"
Recovery:
sc.exe failure MCDMS.WebAkte reset= 86400 actions= restart/60000
Dienst starten:
sc.exe start MCDMS.WebAkte
8. Dienst prüfen
Get-Service MCDMS.WebAkte
Erwartet:
Running
9. HTTPS prüfen
Invoke-WebRequest `
https://mcdms-webakte.klinik.intern:8443/api/status `
-UseBasicParsing
Erwartet:
StatusCode : 200
10. Client-Vertrauen prüfen
Von einem Arbeitsplatz oder mobilen Endgerät:
https://mcdms-webakte.klinik.intern:8443/
Die Seite muss ohne Zertifikatswarnung geöffnet werden.
Falls eine Zertifikatswarnung erscheint, prüfen:
- stimmt der Browsername mit dem SAN des Serverzertifikats überein?
- ist die vollständige Zertifikatskette gültig?
- vertraut der Client der ausstellenden Root-CA?
- ist das Serverzertifikat noch gültig?
Bei verwalteten Windows-PCs und mobilen Geräten sollte das Vertrauen in die Klinik-CA zentral verteilt werden.
Logdateien
Die Betriebslogs befinden sich unter:
{APPPATH}\Web\LOGS
Beispiel:
D:\Kliniken\KLINIK\MCDMS\Web\LOGS
Eine Logdatei wird erst erzeugt, wenn tatsächlich eine relevante Warnung oder ein Fehler auftritt.
Deinstallation
Die Deinstallation erfolgt über:
{APPPATH}\Web\SETUP\Uninstall.ps1
PowerShell als Administrator:
cd "D:\Kliniken\KLINIK\MCDMS\Web\SETUP"
.\Uninstall.ps1
Das Script fragt nach dem verwendeten HTTPS-Prefix.
Beispiel:
https://mcdms-webakte.klinik.intern:8443/
Entfernt werden die eindeutig zur MCDMS WebAkte gehörenden Windows-Systemeinträge, insbesondere:
- Windows-Dienst
- HTTP.sys-Konfiguration
- SSL-Binding
- gegebenenfalls WebAkte-Firewallregel
Das vorhandene Serverzertifikat bzw. die Klinik-CA werden durch die Deinstallation nicht gelöscht.
Bestehende MCDMS-Fachdaten und MCDMS-Konfigurationen außerhalb von:
{APPPATH}\Web
werden durch Installation und Deinstallation nicht eigenmächtig verändert oder gelöscht.
