Kleine Korrektur zum Applescript. Die erste Variante berücksichtigte nicht den Fall "Pat. kommt ohne Termin", dann wäre die Variable $[uhrzeitAktuellerTermin]$ leer, was zu Fehlern führte.
Daher hier nun eine korrigierte Version des Scripts. Wenn kein Termin existiert am Besuchstag, wird einfach auch nichts ausgegeben.
Die Formatierung mit <<Minuten-zum-Termin>> neben dem Eintrag "xx min zu spät" habe ich mir ergänzt, um einfacher Statistiken zur Verspätungsproblematik machen zu können. Wenn man mit der tomedo-eigenen Statistik-Funktion arbeiten will für diesen Zweck, ist wahrscheinlich die Anlage eines eigenen Karteieintrags z.B. ZEIT-ZU-TERMIN sinnvoller / einfacher, bedeutet aber halt auch nochmal einen Eintrag mehr pro Besuch.
-- Uhrzeit des geplanten Termins (z.B. "14:30"), kann leer sein, wenn kein Termin vorliegt
set terminZeitText to "$[uhrzeitAktuellerTermin]$"
-- Aktuelle Uhrzeit laut tomedo (z.B. "14:25")
set jetztZeitText to "$[d S HH:mm]$"
set toleranzMinuten to 5
if terminZeitText is "" then
-- Patient kommt ohne Termin
set minutenVorTermin to 0
set ergebnisText to "<<0>>"
else
set terminMinuten to minutenSeitMitternacht(terminZeitText)
set jetztMinuten to minutenSeitMitternacht(jetztZeitText)
-- positiv = Patient ist zu früh, negativ = Patient ist zu spät
set minutenVorTermin to terminMinuten - jetztMinuten
if minutenVorTermin > toleranzMinuten then
set ergebnisTextInhalt to (minutenVorTermin as text) & " min zu früh"
else if minutenVorTermin < -toleranzMinuten then
set ergebnisTextInhalt to ((minutenVorTermin * -1) as text) & " min zu spät"
else
set ergebnisTextInhalt to "pünktlich"
end if
set ergebnisText to "<>" & ergebnisTextInhalt & "<<" & minutenVorTermin & ">>"
end if
set the clipboard to ergebnisText
return ergebnisText
on minutenSeitMitternacht(zeitText)
set alterDelimiter to AppleScript's text item delimiters
set AppleScript's text item delimiters to ":"
set std to (text item 1 of zeitText) as integer
set min to (text item 2 of zeitText) as integer
set AppleScript's text item delimiters to alterDelimiter
return std * 60 + min
end minutenSeitMitternacht