View Categories

02 Installation & Inbetriebnahme

Ü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 Name enthalten
  • 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 in WEB.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:

  1. vollständigen Web-Ordner nach {APPPATH}\Web kopieren
  2. internen DNS-Namen prüfen
  3. Serverzertifikat installieren
  4. WEB.INI konfigurieren
  5. HTTPS-Zertifikat an HTTP.sys binden
  6. erforderliche URLACL einrichten
  7. gegebenenfalls Firewallregel erstellen
  8. Windows-Dienst installieren
  9. Recovery konfigurieren
  10. Dienst starten
  11. HTTPS-Status testen
  12. 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.INI
  • FORMULARE.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.