
Überblick
Die 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 über
Install.ps1 - alternativ: manuelle Einrichtung durch die Klinik-IT
Die bisherige Dokumentation sieht ebenfalls beide Wege vor. 02 Installation Inbetriebnahme
Voraussetzungen
Auf dem vorgesehenen Server muss eine funktionsfähige MCDMS-Installation vorhanden sein.
Erforderlich sind insbesondere:
- Windows Server
- .NET Framework 4.7.2
- 32-Bit-MCDMS5API
- Zugriff auf die vorhandene MCDMS-Installation
- Zugriff auf die Patienten-Stammdaten
- Zugriff auf den in MCDMS konfigurierten SQL Server, sofern SQL-Formulare verwendet werden
- PowerShell 5.1 für die Setup-Scripte
- interner DNS-Name für die WebAkte
- HTTPS-Serverzertifikat
- administrativer Zugriff für die Installation
Die MCDMS WebAkte wird als 32-Bit-Anwendung (x86) betrieben.
Die technische Grundlage bleibt Windows-Dienst + HTTP.sys; ein IIS ist nicht erforderlich. PROJECT-HANDOVER
Verzeichnisstruktur
Der vollständige WebAkte-Bestand liegt unter:
{APPPATH}\Web
Die aktuelle Struktur lautet:
Web\
│
├─ WEB.INI
├─ FORMULARE.INI
│
├─ PROGRAM\
├─ SETUP\
├─ LOGS\
├─ HTML\
├─ CSS\
├─ JS\
└─ IMAGES\
Die Aktenstruktur wird über die Konfiguration in WEB.INI gesteuert.
DNS-Namen festlegen
Vor der HTTPS-Einrichtung sollte ein interner DNS-Name für die WebAkte festgelegt werden.
Beispiel:
mcdms-webakte.klinik.intern
Dieser Name muss im Kliniknetz auf die IP-Adresse des WebAkte-Servers aufgelöst werden.
Prüfung:
Resolve-DnsName mcdms-webakte.klinik.intern
Der verwendete DNS-Name wird anschließend für folgende Bereiche benötigt:
- HTTPS-Serverzertifikat
- HTTP.sys-Bindung
WEB.INI- Browserzugriff
HTTPS-Zertifikat
Für den Produktivbetrieb muss ein vertrauenswürdiges Serverzertifikat verwendet werden.
In einer Klinik ist dies üblicherweise ein Zertifikat der vorhandenen internen Unternehmens- oder Klinik-PKI.
Das Zertifikat muss:
- für den verwendeten DNS-Namen ausgestellt sein
- diesen Namen im
Subject Alternative Nameenthalten - einen privaten Schlüssel besitzen
- für Server Authentication geeignet sein
- im Zertifikatspeicher des lokalen Computers installiert sein
Typischer Speicherort:
Lokaler Computer
└─ Persönlich
└─ Zertifikate
Prüfung:
Get-ChildItem Cert:\LocalMachine\My |
Select-Object Subject, Thumbprint, NotAfter, HasPrivateKey
Erwartet:
HasPrivateKey = True
Die bisherige Installationsdokumentation beschreibt diesen Ablauf bereits so. 02 Installation Inbetriebnahme
Vertrauen der Clients
Die Arbeitsplatzrechner und mobilen Endgeräte müssen der Zertifizierungsstelle vertrauen, die das Serverzertifikat ausgestellt hat.
In einer verwalteten Klinik erfolgt dies üblicherweise zentral, beispielsweise über:
- Active Directory
- Gruppenrichtlinien
- MDM
- zentrale Zertifikatsverteilung
Im Browser darf beim Aufruf der WebAkte keine Zertifikatswarnung erscheinen.
Ein selbstsigniertes Serverzertifikat sollte ausschließlich für einfache technische Tests verwendet werden.
Certificate Thumbprint
Für die Installation wird der Thumbprint des Serverzertifikats benötigt.
Beispiel:
FF35BF500F887C0D518712D8842A7F573D36CBA9
Wichtig:
Verwendet wird der Thumbprint des tatsächlich für die WebAkte ausgestellten Serverzertifikats – nicht der Thumbprint der Root-CA.
Variante A – automatische Installation
Die empfohlene Installationsmethode ist:
{APPPATH}\Web\SETUP\Install.ps1
PowerShell muss als Administrator gestartet werden.
Beispiel:
cd "D:\Kliniken\KLINIK\MCDMS\Web\SETUP"
Für eine lokale MCDMS-Installation kann beispielsweise verwendet werden:
.\Install.ps1 -ServiceAccount LocalSystem
Für Installationen, bei denen der MCDMS-APPPATH oder benötigte Ressourcen auf einer Netzwerkfreigabe liegen, muss ein dafür geeignetes Dienst- oder Domänenkonto verwendet werden.
Das Setup validiert vor Änderungen unter anderem APPPATH, HTTPS-Prefix, Zertifikat, Dienstkonto, URLACL und optionale Firewallparameter. PROJECT-HANDOVER
HttpsPrefix
Das Setup benötigt den HTTPS-Prefix.
Beispiel:
https://mcdms-webakte.klinik.intern:8443/
Der Hostname muss zum Serverzertifikat passen.
CertificateThumbprint
Anschließend wird der Thumbprint des installierten Serverzertifikats angegeben.
Beispiel:
FF35BF500F887C0D518712D8842A7F573D36CBA9
Das Setup prüft unter anderem:
- Zertifikat vorhanden
- privater Schlüssel vorhanden
- verwendbarer Zertifikatskontext
MCDMS-APPPATH
Danach wird der vorhandene MCDMS-APPPATH verwendet.
Beispiel:
D:\Kliniken\KLINIK\MCDMS
Dort erwartet die WebAkte die bestehende MCDMS-Umgebung.
Automatische Einrichtung
Install.ps1 übernimmt die für den Betrieb erforderliche Systemeinrichtung.
Dazu gehören aktuell insbesondere:
- Prüfung des APPPATH
- Prüfung der vorhandenen MCDMS-Struktur
- Prüfung des HTTPS-Prefix
- Prüfung des Serverzertifikats
- Anpassung der
[SERVER]-Konfiguration inWEB.INI - Einrichtung der HTTP.sys-Bindung
- gegebenenfalls Einrichtung der URLACL
- gegebenenfalls Firewallregel
- benötigte Dateisystemrechte
- Installation oder Aktualisierung des Windows-Dienstes
- Starttyp
Automatic - Recovery-Konfiguration
- Start des Dienstes
Bei einem reinen PROGRAM-Update bewahrt das Setup klinikspezifische WEB.INI, FORMULARE.INI, HTML-, CSS-, JS- und Bilddateien. PROJECT-HANDOVER
Windows-Dienst
Der Windows-Dienst heißt:
MCDMS.WebAkte
Die Serveranwendung befindet sich unter:
{APPPATH}\Web\PROGRAM\MCDMS.WebServer.exe
Der Dienst wird mit automatischem Start eingerichtet.
Die aktuelle Recovery-Konfiguration sieht bei echten Prozessabstürzen mehrere Neustartversuche vor; kontrollierte Konfigurationsfehler sollen dagegen keinen Neustart-Loop verursachen. PROJECT-HANDOVER
Automatische WEB.INI-Konfiguration
Das Installationsscript setzt die für den Serverbetrieb erforderlichen Werte unter [SERVER].
Dazu gehören insbesondere:
- Produktionsumgebung
- HTTPS-Prefix
- erlaubte Hosts
- HTTP.sys-relevante Werte
- produktionsgeeignete HTTPS-Einstellungen
Andere klinikspezifische Bereiche der WEB.INI bleiben erhalten. Das aktuelle Setup ist ausdrücklich so ausgelegt, Klinik-Konfiguration bei reinen Programmupdates nicht unnötig zu überschreiben. PROJECT-HANDOVER
Firewall
Falls erforderlich, kann eine Firewallregel für den verwendeten HTTPS-Port eingerichtet werden.
Beispiel:
TCP 8443
Im Produktivbetrieb sollte der Zugriff auf die tatsächlich benötigten internen Netze eingeschränkt werden.
Ein Zugriff aus dem öffentlichen Internet ist für die intern betriebene MCDMS WebAkte grundsätzlich nicht erforderlich.
Installation prüfen
Dienststatus
Get-Service MCDMS.WebAkte
Erwartet:
Status : Running
Port prüfen
Beispiel:
netstat -ano | findstr ":8443"
Der konfigurierte Port muss lauschen.
Status-Endpunkt prüfen
Beispiel:
Invoke-WebRequest `
https://mcdms-webakte.klinik.intern:8443/api/status `
-UseBasicParsing
Erwartet:
StatusCode : 200
Browser-Test
Anschließend die WebAkte im Browser öffnen:
https://mcdms-webakte.klinik.intern:8443/
Es darf keine Zertifikatswarnung erscheinen.
Danach sollten mindestens folgende Funktionen geprüft werden:
- Anmeldung mit MCDMS-Benutzer
- Patientensuche
- Patientenauswahl
- Patientenstammblatt
- Aktennavigation
- vorhandene Webformulare
- Lesen vorhandener Daten
- Speichern eines Testdatensatzes
- Rechteprüfung
Die bisherige Dokumentation enthält bereits einen entsprechenden Browser-Test. 02 Installation Inbetriebnahme
Variante B – manuelle Installation
Die WebAkte kann alternativ vollständig manuell eingerichtet werden.
Dies sollte nur durch entsprechend erfahrene Administratoren erfolgen.
Die wesentlichen Schritte sind:
- vollständigen
Web-Ordner nach{APPPATH}\Webkopieren - internen DNS-Namen prüfen
- Serverzertifikat installieren
WEB.INIkonfigurieren- HTTPS-Zertifikat an HTTP.sys binden
- erforderliche URLACL einrichten
- gegebenenfalls Firewallregel erstellen
- Windows-Dienst installieren
- Recovery konfigurieren
- Dienst starten
- HTTPS-Status testen
- Browserzugriff testen
Die alte Dokumentation beschreibt diesen manuellen Weg bereits ausführlich auf den Seiten 12 bis 16. 02 Installation Inbetriebnahme
HTTP.sys und SSL-Bindung
Das Serverzertifikat wird an den verwendeten 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
Wichtig:
Gebunden wird das Serverzertifikat der WebAkte, nicht die Root-CA.
URLACL
Bei Verwendung eines Dienstkontos, das nicht bereits über ausreichende HTTP.sys-Rechte verfügt, wird eine passende URLACL benötigt.
Diese sollte auf den konkreten HTTPS-Prefix und das verwendete Dienstkonto beschränkt werden.
Die automatische Installation übernimmt diese Prüfung und Einrichtung selbst. PROJECT-HANDOVER
Logdateien
Die Betriebslogs befinden sich unter:
{APPPATH}\Web\LOGS
Beispiel:
D:\Kliniken\KLINIK\MCDMS\Web\LOGS
Fehler bei Startup, Konfiguration, Formularen oder Laufzeitoperationen werden dort protokolliert.
Medizinische Formulardaten und Passwörter dürfen nicht als normaler Betriebsinhalt protokolliert werden.
Deinstallation
Die Deinstallation erfolgt über:
{APPPATH}\Web\SETUP\Uninstall.ps1
PowerShell als Administrator:
cd "D:\Kliniken\KLINIK\MCDMS\Web\SETUP"
.\Uninstall.ps1
Das Script entfernt die eindeutig zur WebAkte gehörenden Windows-Systemeinträge, insbesondere:
- Windows-Dienst
- HTTP.sys-Konfiguration
- SSL-Bindung
- gegebenenfalls Firewallregel
- zugehörige URLACL
Das vorhandene Serverzertifikat beziehungsweise die Klinik-CA wird dabei nicht gelöscht.
Das aktuelle Uninstall.ps1 validiert die konkreten Parameter vor dem Entfernen und löscht weder MCDMS-Fachdaten noch automatisch den gesamten Web-Dateibaum. PROJECT-HANDOVER
Wichtig bei Updates
Ein Update der WebAkte ist nicht gleichbedeutend mit dem Überschreiben der gesamten klinikspezifischen Web-Konfiguration.
Insbesondere dürfen nicht pauschal ersetzt werden:
WEB.INIFORMULARE.INI- klinikspezifische HTML-Dateien
- klinikspezifische CSS-/JS-Anpassungen
- Bilder und Logos
Bei reinen Programmupdates wird normalerweise nur der Bereich:
Web\PROGRAM
aktualisiert.
Das Setup ist darauf ausgelegt, bei einem solchen Update die klinikspezifischen Webdateien zu erhalten.
