TCMSOFT – Inhalt

Aufbau von TCMSOFT

TCMSOFT ist eine Webanwendung. Sie läuft auf einem Server in der Praxis, meist einer NAS, sonst einem Linux-Server, in einem Docker-Container. Gearbeitet wird im Browser an den Arbeitsplätzen. Diese Seite zeigt, aus welchen Bausteinen eine Installation besteht, wie die Bausteine zusammenspielen und welche Verbindungen sie brauchen. Was Server, Netz und Arbeitsplätze dafür mitbringen müssen, steht unter Voraussetzungen.

Auf einen Blick

Schaubild

Die Pfeile zwischen den Ebenen zeigen, wer eine Verbindung aufbaut. Im Kasten des Servers zeigen sie, wer wen anlegt und wer in den Datenordner schreibt.

+-----------------------------------------------------------------------------------------+
| INTERNET                                                                                |
|   downloads.tcmsoft.de · data.tcmsoft.cloud · verwaltung.tcmsoft.cloud                  |
|   pharmindex.tcmsoft.cloud · <Domainname>.arzttermin-buchen.de · PAD-Stelle · E-Mail    |
+-----------------------------------------------------------------------------------------+
        ^ Update-Dienst: Updates (HTTPS)        ^ TCMSOFT: Bibliothek, Drucklayouts,
        |                                       | Arzneimittel, Online-Termine, PAD, E-Mail
+-----------------------------------------------------------------------------------------+
| NAS / SERVER (Docker)                                                                   |
|                                                                                         |
|   tcmsoft-updater   ---- legt an, tauscht aus ---->   tcmsoft (Host-Netz)               |
|   Update-Dienst          über den Docker-Socket       TCMSOFT-Anwendung    Port 8085    |
|        |                                              MongoDB 8.3          nur intern   |
|        |                                              CUPS, Print Agent    nur intern   |
|        |                                              DICOM-Empfänger      Port 11112   |
|        |                                                     |                          |
|        +------------------->  Datenordner  <-----------------+                          |
|                  Datenbank, Schlüssel, tcmsoft.env, Drucker, updater/                   |
+-----------------------------------------------------------------------------------------+
        ^ Browser, Agenten, Companion-App      ^ DICOM-Geräte          | Druck an
        | (Web-Port bzw. HTTPS)                | (Port 11112)          v Netzwerkdrucker
+-----------------------------------------------------------------------------------------+
| PRAXISNETZ                                                                              |
|   Arbeitsplätze (Windows, Mac): Browser, Print Agent, Prismamed Agent                   |
|   Handys mit der Companion-App · DICOM-Geräte · Netzwerkdrucker                         |
+-----------------------------------------------------------------------------------------+
  Außerdem holen Print Agent und Prismamed Agent ihre Updates selbst von
  downloads.tcmsoft.de, und der Browser lädt die Symbole der Arzneimittelliste
  von pharmindex.tcmsoft.cloud (HTTPS, ausgehend vom Arbeitsplatz).

Die Bausteine

Der Container „tcmsoft“

Wozu: In ihm läuft TCMSOFT selbst. Er enthält:

Host-Netz: Der Update-Dienst legt den Container immer mit --network host an. Nur so erreichen die Bonjour-Meldungen der Drucker den Container. Im Bridge-Netz bliebe die Druckersuche leer. Der Container teilt sich deshalb alle Ports mit dem Gerät. Darum lauschen MongoDB (Port 27017) und der Print Agent im Container (Port 9632) nur auf 127.0.0.1. CUPS hat gar keinen Netzwerk-Port, nur einen Socket im Container. Ist ein Port auf dem Gerät schon belegt, meldet TCMSOFT das beim Start im Klartext im Protokoll.

Wer ihn anlegt: der Update-Dienst, mit diesem Aufruf:

docker run -d --name tcmsoft --network host --restart unless-stopped --stop-timeout 120 --label de.tcmsoft.verwaltet=updater --env-file <Datenordner>/tcmsoft.env -v <Datenordner>:/data tcmsoft:<Version>

Sie führen diesen Befehl nicht selbst aus. Er hilft beim Lesen der Ausgabe von docker inspect tcmsoft. Läuft Docker mit dem Protokolltreiber json-file oder local, kommt --log-opt max-size=20m --log-opt max-file=5 dazu.

Gesundheit: Docker prüft den Container alle 30 Sekunden. Die Adresse /health antwortet nur dann mit „ok“, wenn auch die Datenbank antwortet. Nach dem Start lässt die Prüfung bis zu 600 Sekunden Zeit, zum Beispiel für das Laden der TCM-Bibliothek beim ersten Start. Nach einem Update wertet der Update-Dienst genau diesen Zustand aus.

Der Update-Dienst „tcmsoft-updater“

Wozu: Er richtet TCMSOFT ein und hält es aktuell. Er ist der einzige Container, den der Installateur von Hand anlegt, siehe TCMSOFT einrichten.

Was er tut:

Wie er arbeitet:

Wie TCMSOFT und Update-Dienst miteinander sprechen: nur über Dateien im Ordner updater/ des Datenordners. Der Dienst schreibt dort seinen Stand in status.json. TCMSOFT zeigt ihn unter Stammdaten › Backup in der Karte Programmversion und Updates und meldet Ergebnisse in der Glocke. Die Schaltflächen Jetzt prüfen und Jetzt aktualisieren legen dort eine Anforderung ab. Während einer Datenübernahme hält TCMSOFT eine Sperrdatei frisch; solange spielt der Dienst nichts ein. Einzelheiten stehen unter Updates von TCMSOFT.

Der Datenordner

Wozu: Hier liegen alle Daten der Installation. Auf dem Gerät ist das zum Beispiel /volume1/docker/tcmsoft, im Container heißt der Ordner /data. Ein Update tauscht nur den Container aus, der Datenordner bleibt.

Die wichtigsten Inhalte:

Was in welchen Ordner gehört und was davon gesichert wird, steht unter Datenordner und tcmsoft.env.

downloads.tcmsoft.de

Wozu: Von hier kommen alle Programme und Updates.

Ordner Inhalt Wer lädt
docker/ TCMSOFT und Update-Dienst als Tar-Dateien, dazu signierte Versionslisten tcmsoft-<Arch>.json und tcmsoft-updater-<Arch>.json der Update-Dienst; bei der Einrichtung der Installateur
agent/ Setup und DMG des Prismamed Agent, seine Update-Listen die Agenten an den Arbeitsplätzen; TCMSOFT liest von dort die Dateinamen für Agent herunterladen…
printagent/ Setup und DMG des Print Agent, seine Update-Listen die Print Agents; TCMSOFT liest von dort die Dateinamen für Print Agent herunterladen…

Alle Update-Listen und Versionslisten sind mit dem Schlüssel des Herstellers signiert. Der Update-Dienst und die Agenten spielen nur so signierte Pakete ein. Der Docker-Dienst auf dem Gerät braucht keinen Zugang zu Docker Hub.

Prismamed Agent

Wozu: Er verbindet TCMSOFT mit Geräten und Ordnern an einem Arbeitsplatz: GDT-Messgeräte, Labordateien (LDT), Bestätigungen von Order-Entry-Programmen der Labore und Scans. Es gibt ihn für Windows und macOS. Er gehört zu TCMSOFTpro.

Wie er arbeitet:

Mehr unter Prismamed Agent.

Wozu: Er gibt Druckaufträge aus TCMSOFT an Drucker weiter. Es gibt ihn an drei Stellen:

Wo Druckt auf Kopplung Lauscht auf
im Container tcmsoft (Linux, ohne Oberfläche) Netzwerkdrucker, die unter Stammdaten › Drucker › Drucker hinzufügen eingerichtet sind; abschaltbar mit Drucker am Server automatisch 127.0.0.1:9632
Windows-Arbeitsplatz (empfohlen) die in Windows eingerichteten Drucker dieses Rechners per Code (Koppeln … im Menü des Agenten) oder Agent suchen im Browser an diesem Rechner Port 9632 auf allen Adressen
Mac (empfohlen) die in den Systemeinstellungen eingerichteten Drucker dieses Macs per Code oder Agent suchen im Browser an diesem Mac nur localhost:9632

Wie er arbeitet:

Mehr unter Print Agent.

DICOM-Geräte

Wozu: Bildgebende Geräte wie Sonographie, Röntgen oder Endoskopie senden ihre Bilder direkt an den DICOM-Empfänger in TCMSOFT und fragen dort die Worklist ab. Ein Agent ist dafür nicht nötig. DICOM gehört zu TCMSOFTpro.

Mehr unter DICOM-Geräte und Mobilgeräte.

Companion-App

Wozu: Mit der App „TCMSOFT Companion“ fotografiert oder scannt das Praxisteam Dokumente mit dem Handy und überträgt sie in die Akte. Die App gehört ab TCMSOFTsingle Unlimited dazu.

Mehr unter DICOM-Geräte und Mobilgeräte.

Online-Termine

Wozu: Patienten buchen Termine selbst im Terminportal unter https://<Domainname>.arzttermin-buchen.de. Die Buchungen erscheinen von selbst im Kalender.

So greifen die Teile ineinander

Einrichtung: Der Installateur startet den Update-Dienst. Der legt die tcmsoft.env an, lädt TCMSOFT von downloads.tcmsoft.de und startet den Container. Beim ersten Start lädt TCMSOFT die TCM-Bibliothek, das dauert einige Minuten. Beim ersten Aufruf im Browser fragt TCMSOFT nach dem ersten Konto.

Nachts: Um 03:00 prüft der Update-Dienst auf eine neue Version und spielt sie mit Sicherung ein. Das Ergebnis steht am Morgen in der Glocke und unter Stammdaten › Backup. Die Agenten an den Arbeitsplätzen spielen ihre Updates beim Programmstart ein oder abends und nachts zwischen 20 und 6 Uhr, sobald 15 Minuten lang nichts zu tun war, siehe Updates der Agenten.

Drucken: TCMSOFT schickt den Auftrag an den Print Agent, zu dem der gewählte Drucker gehört. Der Agent gibt ihn an den Drucker weiter.

Messgerät: In der Akte startet die Praxis eine Untersuchung. TCMSOFT stellt einen Auftrag ein. Der Prismamed Agent am Gerät holt ihn ab, schreibt die GDT-Datei und startet bei Bedarf das Geräteprogramm. Das Ergebnis legt das Gerät in einem Ordner ab. Der Agent lädt es hoch, und es erscheint in der Akte.

DICOM-Bild: Das Gerät sendet das Bild an Port 11112. TCMSOFT ordnet es dem Patienten zu oder legt es in den Posteingang, wenn der Patient nicht sicher erkannt wird.

Ports und Verbindungen

Die Tabellen nennen die Verbindungen, die TCMSOFT im Betrieb braucht, nach dem Stand des Programms vom 07.10.2026. Sie sind die Grundlage für Firewall-Freigaben. Ports sind TCP, wenn nichts anderes dabeisteht.

Im Praxisnetz

Von Nach Port bzw. Adresse Wofür
Browser am Arbeitsplatz TCMSOFT 8085 (HTTP) bzw. der HTTPS-Port des Reverse-Proxys Arbeiten mit TCMSOFT. Der Proxy muss WebSocket-Verbindungen durchlassen.
Prismamed Agent TCMSOFT Adresse wie im Browser, Pfad /api/agent/… Aufträge, Uploads, Lebenszeichen alle 30 s
Print Agent (Windows, Mac) TCMSOFT Adresse wie im Browser, Pfad /prismamed-print-hub Druckaufträge; die Verbindung bleibt stehen
Print Agent (Windows, Mac) TCMSOFT die beim Koppeln eingetragene Adresse, Pfad /prismamed-print-kopplung einmalig bei der Kopplung per Code
Browser am Arbeitsplatz Print Agent am selben Rechner http://127.0.0.1:9632 Agent suchen (Kopplung); die TCMSOFT-Seite muss über HTTPS geladen sein
Handy (Companion-App) TCMSOFT Web-Port bzw. HTTPS, Pfad /api/companion Fotos und Scans in die Akte
DICOM-Gerät TCMSOFT 11112 (einstellbar ab 1024) Bilder empfangen und Worklist; nur, wenn der Empfänger eingeschaltet ist
TCMSOFT (Container) Netzwerkdrucker meist IPP (631) oder der Druckport 9100 Drucken über CUPS
TCMSOFT (Container) Drucker im selben Netz mDNS (UDP 5353, Multicast) Druckersuche per Bonjour bzw. AirPrint
Reverse-Proxy der NAS TCMSOFT http://localhost:8085 HTTPS für die Arbeitsplätze
Caddy auf dem Mikroserver TCMSOFT 127.0.0.1:5000 Webserver vor TCMSOFT

Nach außen ins Internet

Von Nach Wofür
Update-Dienst https://downloads.tcmsoft.de/docker/ Updates von TCMSOFT und vom Update-Dienst selbst
Prismamed Agent, Print Agent https://downloads.tcmsoft.de/agent/ bzw. /printagent/ Selbst-Update am Arbeitsplatz; unter Windows über den Proxy aus den Windows-Einstellungen
TCMSOFT https://downloads.tcmsoft.de/agent/ und /printagent/ aktuelle Dateinamen für Agent herunterladen… und Print Agent herunterladen…
TCMSOFT https://data.tcmsoft.cloud TCM-Bibliothek laden
TCMSOFT https://verwaltung.tcmsoft.cloud Drucklayouts; Laborparameter-Katalog abrufen und unbekannte Laborkürzel melden (ohne Patientendaten)
TCMSOFT https://pharmindex.tcmsoft.cloud Arzneimittel-Suchindex (alle 12 Stunden) und Angaben zu Arzneimitteln
Browser am Arbeitsplatz https://pharmindex.tcmsoft.cloud Symbole in der Arzneimittelliste
TCMSOFT https://<Domainname>.arzttermin-buchen.de Online-Termine, nur wenn eingerichtet
TCMSOFT Adresse aus der Karte Billsphere Patienten an Billsphere übertragen, nur wenn eingerichtet
TCMSOFT https://webservice.padline.de Zertifikat der PAD-Abrechnungsstelle laden, mit dem TCMSOFT die PAD-Datei verschlüsselt
TCMSOFT SMTP-Server des E-Mail-Kontos, Port laut Stammdaten › E-Mail-Konten E-Mail-Versand

Alle Verbindungen ins Internet gehen über HTTPS (Port 443), außer dem E-Mail-Versand.

Nur auf dem Gerät selbst (wegen des Host-Netzes müssen diese Ports auf der NAS bzw. dem Server frei sein)

Port Dienst Hinweis
127.0.0.1:27017 MongoDB mit Anmeldung; bei Belegung Mongo__Port in tcmsoft.env ändern
127.0.0.1:9632 Print Agent im Container fest
kein Port CUPS nur Socket /run/cups/cups.sock im Container

Ports ändern, Firewall und HTTPS: Netzwerk und HTTPS.

Weiter