Lieber Herr Siebolds, gedanklich bin ich direkt bei einer AK. Nur die kann Aufgaben anlegen. Nun ist die Frage wie geht das "massenhaft"?. Hier meine Idee:
1. Anlegen der AK: Aufgabe XYZ nach Vorlage anlegen "Gewicht messen. KEINE Auslöser etc.
2. Bauen einer Statistik-Abfrage im Adminmenu. a) als SQL-query über Marker, dann müsste jeder einen Marker haben oder b) über die von Ihnen erwähnte Patientenliste namentlich im tomedo-Datenmodell als Patientenschlange (analog zur Druckerwarteschlange) in der Datenbank geführt.
3. Benutzen der Statistik Abfrage aus 2.b) dann erhalten sie alle Patienten und können über > Aktion > Aktionskette ausführen die in 1. gebaute AK wählen und squentiell hintereinander ausführen.

Beste Grüße, Richard Kupke
Hier die Info für die Patientenliste für die KI zum bauen der SQL Abfrage für 2b:
Panel → Patientenliste per HQL-Statistik abfragen & weiterverarbeiten
Problem: Man möchte in der HQL-Statistik auf die manuellen Patientenlisten zugreifen, die unter Panel → Patientenliste angelegt werden — z.B. um Wartelisten auszuwerten, Gruppentherapie-Teilnehmer zu analysieren oder eine bestehende Liste mit Abrechnungsdaten zu verknüpfen.
Lösung: Die Patientenlisten stecken in der Tabelle patientenschlange (nicht patientengruppe — das sind die Abrechnungsgruppen). Die einzelnen Patienten liegen in patientenschlangeelement, verbunden über die Bridge-Tabelle patientenschlange_schlange.
Schritt 1: Alle vorhandenen Listen anzeigen
SELECT
PS.name AS "Listenname",
PS.dtype AS "Typ",
COUNT(DISTINCT PSE.patient_ident) AS "Anzahl Pat"
FROM patientenschlange PS
LEFT JOIN patientenschlange_schlange PSS
ON PS.ident = PSS.patientenschlange_ident
LEFT JOIN patientenschlangeelement PSE
ON PSS.schlange_ident = PSE.ident
AND PSE.removed = false
WHERE PS.removed = false
GROUP BY PS.name, PS.dtype
ORDER BY PS.name
;
Das liefert alle Listen mit Typ und Patientenzahl. Die dtype-Werte unterscheiden manuelle Listen (Patientenschlange), DICOM-Gerätezuordnungen (DICOMModality) und Übergabe-Listen (HandoffSchlange).
Schritt 2: Patienten einer Liste als Temp-Tabelle laden
DROP TABLE IF EXISTS tempListePat;
CREATE TEMPORARY TABLE tempListePat AS
SELECT DISTINCT
PSE.patient_ident AS patientID
FROM patientenschlange PS
JOIN patientenschlange_schlange PSS
ON PS.ident = PSS.patientenschlange_ident
JOIN patientenschlangeelement PSE
ON PSS.schlange_ident = PSE.ident
WHERE PS.removed = false
AND PSE.removed = false
AND PS.name = 'Kopfschmerz' -- ← euren Listennamen einsetzen
;
Schritt 3: In beliebigen Queries als Filter verwenden
Die Temp-Tabelle tempListePat kann danach in jedem weiteren Query als Filter dienen:
SELECT ...
FROM leistung A
JOIN ...
JOIN patient P ON ...
WHERE P.ident IN (SELECT patientID FROM tempListePat)
AND ...
;
So lassen sich Abrechnungsdaten, Diagnosen, Karteieintragstatistiken oder beliebige andere Auswertungen auf eine bestimmte Patientenliste einschränken.
Bonus: Kommentare und Status aus der Liste
Die Tabelle patientenschlangeelement enthält auch den Kommentar (infotext), den Abhak-Status (checked) und das Hinzufügedatum (datum) pro Patient — falls man diese Informationen in die Auswertung einbeziehen möchte.
⚠ Stolperfalle: patientengruppe ≠ patientenschlange
| Feature | Tabelle | Zweck |
|---|
| Panel → Patientenliste | patientenschlange | Manuelle Listen, Wartelisten, Arbeitslisten |
| Patientengruppe | patientengruppe | Sammelrechnungen, Abrechnungsgruppen |
Die Tabelle patientengruppe sieht auf den ersten Blick passend aus (hat name, patient-Referenz), enthält aber die Abrechnungsgruppen — nicht die Panel-Listen.