E-Rezept ist verpflichtend seit dem 01.01.2024
Alle Hinweise und Informationen zur Nutzung finden Sie unter folgendem Link.
BugFix für Microsoft OAuth 2.0 Email Problem
Alle Hinweise und Informationen Sie unter folgendem Link.

Hallo! Kann jemand folgendes Skript an die aktuelle Oberfläche anpassen? Es ist für die HKS Eintragung alles unauffällig und wurde bei der GU durchgeführt. Ich bin leider total planlos in Apple Skript. Danke!

tell application "tomedo" to activate

 

-- Auf den Titel „eHKS/FEK“ klicken.

set timeoutSeconds to 2.0

set uiScript to "click radio button \"eHKS/FEK\" of tab group 1 of splitter group 2 of splitter group 1 of window 1 of application process \"tomedo\""

my doWithTimeout(uiScript, timeoutSeconds)

 

-- Auf die Taste „+“ klicken.

set timeoutSeconds to 2.0

set uiScript to "click UI Element 8 of tab group 1 of splitter group 2 of splitter group 1 of window 1 of application process \"tomedo\""

my doWithTimeout(uiScript, timeoutSeconds)

 

-- Auf den Titel „Diagnose“ klicken.

set timeoutSeconds to 2.0

set uiScript to "click radio button \"Diagnose\" of tab group 1 of window 1 of application process \"tomedo\""

my doWithTimeout(uiScript, timeoutSeconds)

 

-- Auf das Optionsfeld Überweisung „Nein“ klicken.

set timeoutSeconds to 2.0

set uiScript to "click radio button 2 of radio group 1 of group 1 of tab group 1 of window 1 of application process \"tomedo\""

my doWithTimeout(uiScript, timeoutSeconds)

 

-- Auf das Optionsfeld Malignes Melanom „Nein“ klicken.

set timeoutSeconds to 2.0

set uiScript to "click radio button 2 of radio group 1 of group 2 of tab group 1 of window 1 of application process \"tomedo\""

my doWithTimeout(uiScript, timeoutSeconds)

 

-- Auf das Optionsfeld Verdachtsdiagnose Nicht-Dermatologe „Nein“ klicken.

set timeoutSeconds to 2.0

set uiScript to "click radio button 2 of radio group 2 of group 2 of tab group 1 of window 1 of application process \"tomedo\""

my doWithTimeout(uiScript, timeoutSeconds)

 

-- Auf das Optionsfeld Screening-Teilnehmer wird an einen Dermatologen überwiesen „Nein“ klicken.

set timeoutSeconds to 2.0

set uiScript to "click radio button 2 of radio group 3 of group 2 of tab group 1 of window 1 of application process \"tomedo\""

my doWithTimeout(uiScript, timeoutSeconds)

 

-- Auf das Optionsfeld Es wurde gleichzeitig eine Gesundheitsuntersuchung (GU Checvk-up 35) durchgeführt „Ja“ klicken.

set timeoutSeconds to 2.0

set uiScript to "click radio button 2 of radio group 1 of tab group 1 of window 1 of application process \"tomedo\""

my doWithTimeout(uiScript, timeoutSeconds)

 

-- Auf die Taste „Heute“ klicken.

set timeoutSeconds to 2.0

set uiScript to "click UI Element \"Heute\" of tab group 1 of window 1 of application process \"tomedo\""

my doWithTimeout(uiScript, timeoutSeconds)

 

-- Auf den Titel „Patient“ klicken.

set timeoutSeconds to 2.0

set uiScript to "click radio button \"Patient\" of tab group 1 of window 1 of application process \"tomedo\""

my doWithTimeout(uiScript, timeoutSeconds)

 

-- Auf die Taste „Patientennr. übernehmen“ klicken.

set timeoutSeconds to 2.0

set uiScript to "click UI Element \"Patientennr. übernehmen\" of tab group 1 of window 1 of application process \"tomedo\""

my doWithTimeout(uiScript, timeoutSeconds)

 

-- Auf die Taste „OK“ klicken.

set timeoutSeconds to 2.0

set uiScript to "click UI Element \"OK\" of window 1 of application process \"tomedo\""

my doWithTimeout(uiScript, timeoutSeconds)

on doWithTimeout(uiScript, timeoutSeconds)

set endDate to (current date) + timeoutSeconds

repeat

try

run script "tell application \"System Events\"

" & uiScript & "

end tell"

exit repeat

on error errorMessage

if ((current date) > endDate) then

error "Can not " & uiScript

end if

end try

end repeat

end doWithTimeout

Gefragt in Anderes von (21.9k Punkte)
0 Punkte

1 Antwort

Das alte "HKS NEIN" Skript funktioniert nicht, da sich die grafische Oberfläsche sowohl von der Kartei als auch von der Dokumentation geändert hat.

Um eine ND-Dokumentation (Nicht Dermatologe) anzulegen, können Sie das folgende Skript benutzen

tell application "tomedo" to activate 

-- Reiter „eDoku“ auswählen 
set timeoutSeconds to 0.0 
set uiScript to "click (first radio button whose title contains \"eDoku\") of tab group 1 of splitter group 1 of (first splitter group whose value of attribute \"AXIdentifier\" is \"patInfoSplitView\") of splitter group 1 of window 1 of application process \"tomedo\"" 
my doWithTimeout(uiScript, timeoutSeconds) 

-- Auf die Taste „+eHKS“ klicken (HKS-Doku anlegen) 
set timeoutSeconds to 0.0 
set uiScript to "click button \"eHKS\" of tab group 1 of splitter group 1 of (first splitter group whose value of attribute \"AXIdentifier\" is \"patInfoSplitView\") of splitter group 1 of window 1 of application process \"tomedo\"" 
my doWithTimeout(uiScript, timeoutSeconds) 

-- Doku: Diagnose -- 
-------------------- 
-- Reiter „Diagnose“ auswählen (in der Dokumentation) 
set timeoutSeconds to 3.0 
set uiScript to "click radio button \"Diagnose\" of tab group 1 of window 1 of application process \"tomedo\"" 
my doWithTimeout(uiScript, timeoutSeconds) 

-- „Verdachtsdiagnose nicht-Dermatologe“: „Nein“ auswählen 
set timeoutSeconds to 0.0 
set uiScript to "click radio button 2 of radio group 1 of group 1 of tab group 1 of window 1 of application process \"tomedo\"" 
my doWithTimeout(uiScript, timeoutSeconds) 

-- „Screening-Teilnehmer wird an einen Dermatologen überwiesen“: „Nein“ auswählen 
set timeoutSeconds to 0.0 
set uiScript to "click radio button 2 of radio group 2 of group 1 of tab group 1 of window 1 of application process \"tomedo\"" 
my doWithTimeout(uiScript, timeoutSeconds) 

-- „Gesundheitsuntersuchung“: „Ja“ auswählen 
set timeoutSeconds to 0.0 
set uiScript to "click radio button 1 of radio group 1 of group 2 of tab group 1 of window 1 of application process \"tomedo\"" 
my doWithTimeout(uiScript, timeoutSeconds) 

-- Auf die Taste „Heute“ klicken 
set timeoutSeconds to 0.0 
set uiScript to "click button \"Heute\" of tab group 1 of window 1 of application process \"tomedo\"" 
my doWithTimeout(uiScript, timeoutSeconds) 

-- Doku: Patient/Arzt -- 
------------------------ 
-- Reiter „Patient/Arzt“ auswählen (in der Dokumentation) 
set timeoutSeconds to 0.0 
set uiScript to "click radio button \"Patient/Arzt\" of tab group 1 of window 1 of application process \"tomedo\"" 
my doWithTimeout(uiScript, timeoutSeconds) 

-- Auf die Taste „Pat.ID übernehmen“ klicken 
set timeoutSeconds to 0.0 
set uiScript to "click button \"Pat.ID übernehmen\" of group 2 of tab group 1 of window 1 of application process \"tomedo\"" 
my doWithTimeout(uiScript, timeoutSeconds) 

-- Auf die Taste „OK“ klicken 
set timeoutSeconds to 0.0 
set uiScript to "click button \"OK\" of window 1 of application process \"tomedo\"" 
my doWithTimeout(uiScript, timeoutSeconds) 

on doWithTimeout(uiScript, timeoutSeconds)  
	set endDate to (current date) + timeoutSeconds  
	repeat  
		try  
			run script "tell application \"System Events\"  
" & uiScript & "  
end tell"  
			exit repeat  
		on error errorMessage  
			if ((current date) > endDate) then  
				error "Can not " & uiScript  
			end if  
		end try  
	end repeat  
end doWithTimeout

Ggbfs. muss im Anschnitt "-- Reiter „eDoku“ auswählen" die Position des Radio-Buttons korrigiert werden. Hier ist die Position 3.

Die andere Lösung, die nicht von der Position des "eDoku"-Reiters abhängig ist, ist via "HKS"-Button im Toolbar.

tell application "tomedo" to activate 

-- Auf den Button „HKS“ klicken. 
set timeoutSeconds to 2.0 
set uiScript to "click button \"HKS\" of tool bar 1 of window 1 of application process \"tomedo\"" 
my doWithTimeout(uiScript, timeoutSeconds) 

-- Doku: Diagnose --
--------------------
-- Reiter „Diagnose“ auswählen (in der Dokumentation) 
set timeoutSeconds to 5.0 
set uiScript to "click radio button \"Diagnose\" of tab group 1 of window 1 of application process \"tomedo\"" 
my doWithTimeout(uiScript, timeoutSeconds) 

-- "Verdachtsdiagnose nicht-Dermatologe": „Nein“ auswählen
set timeoutSeconds to 2.0 
set uiScript to "click radio button 2 of radio group 1 of group 1 of tab group 1 of window 1 of application process \"tomedo\"" 
my doWithTimeout(uiScript, timeoutSeconds) 

-- "Screening-Teilnehmer wird an einen Dermatologen überwiesen": „Nein“ auswählen
set timeoutSeconds to 2.0 
set uiScript to "click radio button 2 of radio group 2 of group 1 of tab group 1 of window 1 of application process \"tomedo\"" 
my doWithTimeout(uiScript, timeoutSeconds)

-- "Gesundheitsuntersuchung": „Ja“ auswählen
set timeoutSeconds to 2.0 
set uiScript to "click radio button 1 of radio group 1 of group 2 of tab group 1 of window 1 of application process \"tomedo\"" 
my doWithTimeout(uiScript, timeoutSeconds) 

-- Auf die Taste „Heute“ klicken. 
set timeoutSeconds to 2.0 
set uiScript to "click button \"Heute\" of tab group 1 of window 1 of application process \"tomedo\"" 
my doWithTimeout(uiScript, timeoutSeconds) 

-- Doku: Patient/Arzt --
------------------------
-- Reiter „Patient/Arzt“ auswählen (in der Dokumentation) 
set timeoutSeconds to 2.0 
set uiScript to "click radio button \"Patient/Arzt\" of tab group 1 of window 1 of application process \"tomedo\"" 
my doWithTimeout(uiScript, timeoutSeconds) 

-- Auf die Taste „Pat.ID übernehmen“ klicken. 
set timeoutSeconds to 2.0 
set uiScript to "click button \"Pat.ID übernehmen\" of group 2 of tab group 1 of window 1 of application process \"tomedo\"" 
my doWithTimeout(uiScript, timeoutSeconds) 

-- Auf die Taste „OK“ klicken. 
set timeoutSeconds to 2.0 
set uiScript to "click button \"OK\" of window 1 of application process \"tomedo\"" 
my doWithTimeout(uiScript, timeoutSeconds)

on doWithTimeout(uiScript, timeoutSeconds)  
	set endDate to (current date) + timeoutSeconds  
	repeat  
		try  
			run script "tell application \"System Events\"  
" & uiScript & "  
end tell"  
			exit repeat  
		on error errorMessage  
			if ((current date) > endDate) then  
				error "Can not " & uiScript  
			end if  
		end try  
	end repeat  
end doWithTimeout

 

Beantwortet von (16.5k Punkte)
Bearbeitet von
0 Punkte
Vielen Dank! Probiere es nachher gleich aus.

Funtioniert leider nicht mit folgender Fehlermeldung:

eDoku ist an dritter Stelle...

Vermutlich verliert die Kartei den Fokus (z.B. wenn man nach dem Klick auf "HKS NEIN"-Button im Kartei-Tollbar schnell neben der Kartei klickt).

Versuchen Sie bitte das Timeout rauszunehmen

-- Reiter „eDoku“ auswählen 
set timeoutSeconds to 0.0 

Oder wie wird das Script ausgeführt? In der Aktionsketten?

Ich habe das Skript sowohl einzeln, als auch in einer Aktions Kette ausgeführt. Bringt beides keinen Unterschied. Ich habe auch nirgends wohin geklickt, als das Skript ausgefüllt worden ist. Ich werde nachher mal versuchen, das time out rauszunehmen.

Das Testen des Skripts aus der Skriptverwaltung (Klick auf den Button "AppleScript jetzt ausführen") führt immer zur Fehlermeldung, da das Skript nur im Kartei-Kontext funktioniert (Kartei muss das aktive Fenster der tomedo-App sein).

Wenn Sie das Skript als Aktionskette ausführen, muss das Anzeigen des Verlaufs deaktiviert werden, weil sonst wird der Fokus auf das Velaufsfenster eingerichtet. Oder das Timeout soll so hoch gesetzt werden, dass man es schafft, das Verlaufsfenster zuzumachen und zurück in die Kartei zu springen.

Das Ändern des Timeouts hat keine Besserung gebracht...
Teilen Sie bitte dem Support oder auf eine andere Weise die teamviewer Daten und die Zeit mit, wann ich das anschauen kann.
Das Skript (s. oben) wurde angepasst.

Ab Version v1.109 wird das Skript von zollsoft geliefert und in tomedo unter 'HKS ND GU' verfügbar sein.

Zur Zeit besteht noch ein Problem, dass die Meldungen aus dem Früherkennungsmodul das Ausführen des Skriptes hindern, so dass das Skript nicht immer zum Abschluss gebracht werden könnte. Dies wird in der Version v1.108 behoben sein.
Hallo! Das Skript an sich funktioniert, wenn man es oben in der Leiste auswählt. Ich habe es in einer Aktionskette eingebettet, da funktioniert es leider nicht und produziert einen Fehler. Was mache ich falsch?
Welcher Fehler genau?

Das Einbinden von Skripten in eine Aktionskette ist an sich eher suboptimal. Wenn ein Skript aufgerufen wird so ist da tomedo raus und hat keine hoheit darüber und weiss nicht wann es fertig ist etc. Auch kann es sein das Mausklicks nicht funktionieren da die Aktionskette nicht darauf wartet das ein fenster vollständig angezeit wird etc

Das ist die Fehlermeldung.

Ja, das ist exakt was ich vermutet habe. Das Skript findet den Knopf nicht weil das Fenster noch nicht/nicht mehr angezeigt wird.
dann probiere ich die Reihenfolge zu ändern. Kann man eine Zeitverzögerung in der Aktionskette einbauen?

Sie können probieren im Script (vor der Aswahl des Reiters "eDoku") das Time-out zu setzen. Hier als Beispiel 5.0 sec.

tell application "tomedo" to activate 

-- Reiter „eDoku“ auswählen 
set timeoutSeconds to 5.0 
16,009 Beiträge
23,773 Antworten
41,819 Kommentare
11,512 Nutzer