9.1 Allgemeine Fragen
Was ist der MCDMS WebService?
Der MCDMS WebService ist ein Windows-Dienst zum sicheren Austausch von Dateien über eine REST-Schnittstelle.
Er verarbeitet keine fachlichen Inhalte, sondern übernimmt ausschließlich den Transport und die Bereitstellung von Dateien.
Benötigt der WebService eine Datenbank?
Nein.
Alle Dateien werden direkt im Dateisystem gespeichert.
Welche Dateiformate werden unterstützt?
Der WebService verarbeitet keine Dateiinhalte.
Daher können grundsätzlich beliebige Dateitypen übertragen werden, beispielsweise:
- XML
- JSON
- ZIP
- CSV
- TXT
- JPG
- PNG
- DICOM
- HL7
- FHIR
- beliebige Binärdateien
Gibt es eine Größenbeschränkung?
Ja.
Die maximale Dateigröße wird über die Konfiguration festgelegt.
Standardmäßig:
50 MB
9.2 Installation
Benötige ich IIS?
Nein.
Der MCDMS WebService verwendet Kestrel als integrierten Webserver.
Eine IIS-Installation ist nicht erforderlich.
Kann der WebService trotzdem hinter IIS betrieben werden?
Ja.
Falls gewünscht, kann IIS als Reverse Proxy verwendet werden.
Dies ist jedoch optional.
Kann ich mehrere WebServices auf einem Server betreiben?
Ja.
Jeder Dienst benötigt:
- einen eigenen Port
- ein eigenes Zertifikat (optional)
- ein eigenes Datenverzeichnis
- einen eigenen Dienstnamen
Muss ich Administrator sein?
Ja.
Für die Installation werden Administratorrechte benötigt.
Für den normalen Betrieb ist keine Benutzeranmeldung erforderlich.
9.3 Sicherheit
Warum benötige ich einen API-Key?
Der API-Key authentifiziert den Kommunikationspartner.
Ohne gültigen API-Key werden sämtliche Anfragen abgewiesen.
Reicht der API-Key alleine aus?
Nein.
Zusätzlich wird die übermittelte IK geprüft.
Erst wenn beide Prüfungen erfolgreich sind, wird die Anfrage verarbeitet.
Kann ich HTTPS deaktivieren?
Nein.
Der WebService unterstützt ausschließlich HTTPS.
Kann ich selbstsignierte Zertifikate verwenden?
Ja.
Für Testumgebungen ist dies möglich.
Für Produktivsysteme werden Zertifikate einer vertrauenswürdigen Zertifizierungsstelle empfohlen.
9.4 Betrieb
Muss der Dienst nach einer Änderung neu gestartet werden?
Ja.
Änderungen an der appsettings.json werden erst nach einem Neustart übernommen.
Wo werden die Dateien gespeichert?
Im konfigurierten Basisverzeichnis.
Beispielsweise:
Daten
├── Eingang
└── Ausgang
Werden Dateien automatisch gelöscht?
Nein.
Das Löschen erfolgt ausschließlich über die REST-API oder durch externe Prozesse.
Werden vorhandene Dateien überschrieben?
Dies hängt von der Konfiguration bzw. der Implementierung des jeweiligen Endpunkts ab.
Standardmäßig sollte ein vorhandener Dateiname als Konflikt behandelt werden.
Werden Dateien verändert?
Nein.
Der WebService speichert und liefert Dateien unverändert.
9.5 Entwicklung
Kann ich den WebService aus VB.NET verwenden?
Ja.
VB.NET wird vollständig unterstützt.
Funktioniert der WebService auch mit C#?
Ja.
Ebenso mit:
- Java
- Python
- PowerShell
- Batch-Dateien
- PHP
- JavaScript
- Go
- Rust
und allen anderen Programmiersprachen, die HTTPS unterstützen.
Kann ich den WebService per Batch-Datei testen?
Ja.
Mit curl lassen sich sämtliche Endpunkte direkt aufrufen.
Kann ich mehrere Dateien gleichzeitig übertragen?
Ja.
Jede Datei wird über eine eigene HTTP-Anfrage übertragen.
Mehrere Übertragungen können parallel erfolgen.
Unterstützt der WebService Streaming?
Ja.
Dateien werden binär übertragen.
Es ist keine Base64-Kodierung erforderlich.
9.6 Fehlerbehebung
Ich erhalte HTTP 401.
Der API-Key fehlt oder ist ungültig.
Prüfen Sie:
- Header vorhanden
- Schreibweise korrekt
- API-Key aktuell
Ich erhalte HTTP 403.
Die verwendete IK ist nicht freigegeben.
Prüfen Sie die Konfiguration der zulässigen IKs.
Ich erhalte HTTP 404.
Die gewünschte Datei existiert nicht oder der Endpunkt wurde falsch angegeben.
Der Dienst startet nicht.
Prüfen Sie:
- Zertifikat
- Konfigurationsdatei
- Portbelegung
- Windows-Ereignisanzeige
- Logdateien
Der Upload funktioniert nicht.
Prüfen Sie:
- HTTPS erreichbar
- Firewall
- API-Key
- IK
- Dateigröße
- Schreibrechte
Downloads funktionieren nicht.
Prüfen Sie:
- Dateiname
- IK
- Ausgangsverzeichnis
- API-Key
9.7 Administration
Kann das Datenverzeichnis verschoben werden?
Ja.
Der Speicherort wird in der appsettings.json festgelegt.
Nach einer Änderung muss der Dienst neu gestartet werden.
Kann ich ein Backup durchführen?
Ja.
Da alle Dateien im Dateisystem liegen, genügt eine normale Dateisicherung.
Der Windows-Dienst sollte während einer vollständigen Sicherung möglichst gestoppt werden.
Kann ich den Dienst überwachen?
Ja.
Empfohlen werden:
- Windows-Dienstüberwachung
- Status-Endpunkt (
/api/v1/status) - Logdateien
- Windows-Ereignisanzeige
Kann ich mehrere Kliniken mit einem WebService betreiben?
Ja.
Hierfür werden mehrere IK-Nummern in der Konfiguration freigegeben.
Jede IK erhält automatisch einen eigenen Ein- und Ausgangsordner.
Kann ich den Port ändern?
Ja.
Der HTTPS-Port wird in der appsettings.json konfiguriert.
Nach einer Änderung muss der Windows-Dienst neu gestartet werden.
9.8 Support
Welche Informationen sollte ich bei einer Supportanfrage bereitstellen?
Für eine schnelle Bearbeitung empfehlen wir folgende Angaben:
- Version des MCDMS WebService
- Betriebssystem
- Datum und Uhrzeit des Fehlers
- verwendeter API-Endpunkt
- HTTP-Statuscode
- IK-Nummer
- Auszug aus der Protokolldatei
- Beschreibung des Ablaufs
Je vollständiger diese Informationen sind, desto schneller kann die Ursache ermittelt werden.
Anhang A – Abkürzungen
| Abkürzung | Bedeutung |
|---|---|
| API | Application Programming Interface |
| CA | Certificate Authority |
| HTTP | Hypertext Transfer Protocol |
| HTTPS | Hypertext Transfer Protocol Secure |
| IK | Institutionskennzeichen |
| JSON | JavaScript Object Notation |
| NTFS | New Technology File System |
| REST | Representational State Transfer |
| TLS | Transport Layer Security |
| URL | Uniform Resource Locator |
