Musa1970
guten Tag,
ich bin neu bei Tomedo und habe als Chirurgie mich für die Perimed-Aufklärungsbögen entschieden. Wie kann ich diese direkt von Tomedo starten?
U. Reinking
Ich weiß nicht wie viele OP Sie machen, aber wir sind komplett weg von ausgedruckten Bögen - wir haben Ikonion. Alles per iPad, kein Papier archivieren. Nicht ganz günstig, aber für uns perfekt.
Ahmad Sirfy
wäre IDANA keine Alternative?
Felix van Wasen
Hallo. Wir hatten früher auch perimed. Ich fand die Bögen aber nicht so gut und für uns Kinderchirurgen nicht passend genug.
Wir hatten das Aufrufen der Bögen mit diesem Skript durchgeführt:
property theUsername : "NUTZER"
property theUserpassword : "PASSWORT"
property theTempPath : "~/perimedfav.txt"
-- Favoritenliste abrufen
set theCurlCommand to ("curl --trace ~/trace.txt -X GET -u " & theUsername & ":" & theUserpassword & " " & (ASCII character 34) & "https://www.perimed.de/portal/api/v1/meinaccount/favorit" & (ASCII character 34) & " -H " & (ASCII character 34) & "accept: application/json" & (ASCII character 34))
-- Fehlerhandling einbauen
set theCurlFav to do shell script theCurlCommand
--display dialog theCurlFav
--in Liste umwandeln
set myFavList to my theSplit(theCurlFav, "},{")
on theSplit(theString, theDelimiter)
-- save delimiters to restore old settings
set oldDelimiters to AppleScript's text item delimiters
-- set delimiters to delimiter to be used
set AppleScript's text item delimiters to theDelimiter
-- create the array
set theArray to every text item of theString
-- restore the old setting
set AppleScript's text item delimiters to oldDelimiters
-- return the result
return theArray
end theSplit
set mydialoglist to ""
--Zeichenkette für Auswahlliste basteln
repeat with theItem in myFavList
-- Position von id im String ermitteln
set hereistheid to (offset of "id" in theItem) + (4)
-- Anfangsposition von name im String ermitteln
set hereisthename to (offset of "name" in theItem) - (3)
-- Endosition von name im String ermitteln
set hereisthename1 to (offset of "name" in theItem) + (7)
-- Position von bogenCode im String ermitteln
set hereisthebogencode to (offset of "bogenCode" in theItem) - (4)
-- String mit Untersuchungsbeschreibung erstellen
set theProceduredesc to characters hereistheid through hereisthename of theItem as string
-- String mit Bogenid erstellen
set theDocumentid to characters hereisthename1 through hereisthebogencode of theItem as string
-- Auswahlstring erstellen mit § als späteres Trennzeichen
set mydialoglist to mydialoglist & theDocumentid & " # " & theProceduredesc & "§"
end repeat
--display dialog mydialoglist
-- entfernt die letzten Zeichen
set thedialog to (text items 1 thru -2 of mydialoglist) as string
--display dialog für Testzwecke
--display dialog thedialog with title "thedialog"
--verzweifelte Versuche die Zeilenümbrüche zu entfernen
set newdialog to do shell script "echo " & quoted form of thedialog & " | sed -e 's/x5cx72//g'"
set newdialog1 to do shell script "echo " & quoted form of newdialog & " | sed -e 's/x0d/ /g'"
set AppleScript's text item delimiters to {return & linefeed, return, linefeed, character id 8233, character id 8232}
set newText to text items of newdialog1
set AppleScript's text item delimiters to {" "}
set newText to newText as text
--display dialog newText with title "newtext neu"
-- Umwandeln des einzelnen Strings mit allen Favoriten in eine Liste
set oldDelimiters to AppleScript's text item delimiters
set AppleScript's text item delimiters to "§"
set myList to every text item of newText
set AppleScript's text item delimiters to oldDelimiters
get myList
-- Favoritenliste alphabetisch sortieren
set sortList to simple_sort(myList)
on simple_sort(my_list)
set the index_list to {}
set the sorted_list to {}
repeat (the number of items in my_list) times
set the low_item to ""
repeat with i from 1 to (number of items in my_list)
if i is not in the index_list then
set this_item to item i of my_list as text
if the low_item is "" then
set the low_item to this_item
set the low_item_index to i
else if this_item comes before the low_item then
set the low_item to this_item
set the low_item_index to i
end if
end if
end repeat
set the end of sorted_list to the low_item
set the end of the index_list to the low_item_index
end repeat
return the sorted_list
end simple_sort
-- Auswahldialog anzeigen
set theSelection to (choose from list sortList with title "Aufklärungsbogen auswählen:" with prompt "Bitte auswählen:")
if (theSelection is equal to "false") then display dialog "Kein Bogen ausgewählt"
--display dialog theFile with title "thefile"
-- suche Trennzeichen # in Auswahlstring
set position to (offset of " # " in theSelection) + (3)
-- macht string daraus - weshalb?
set docnumberstring to theSelection as string
-- ermittelt Länge
set theLength to count of docnumberstring
--set myselectionnumber to (characters posminus thru -2 of theFile) as string
set documentnumber to text position through -1 of docnumberstring as string
-- Befüllen der Felder
set theversichertennummer to ""
if ("$[patient_versichertenstatus]$" is equal to "gesetzlich") then
set theversichertennummer to "$[kbvVersnr]$"
end if
if ("$[patient_versichertenstatus]$" is equal to "privat") then
set theversichertennummer to "$[pversnr]$"
end if
--display dialog "zu benachrichtende(r) Angehörige(r):" default answer " "
--set dialogInfo to result
--set selectedButton to button returned of dialogInfo
--get selectedButton
set theAng to ""
--set theAng to text returned of dialogInfo
-- Verwandschaftsgrad
set theRel to ""
--set theRel to choose from list {"Vater", "Mutter", "Sohn", "Tochter", "Onkel", "Tante"} with title "Verwandschaftsgrad" with prompt "Bitte auswählen:"
--Telefonnummer Angehöriger
--display dialog "Telefonnummer Angehörige(r):" default answer " "
--set dialogInfo to result
--set selectedButton to button returned of dialogInfo
--get selectedButton
set theTel to ""
--set theTel to text returned of dialogInfo
--Mail Angehöriger
--display dialog "E-Mail Angehörige(r):" default answer " "
--set dialogInfo to result
--set selectedButton to button returned of dialogInfo
--get selectedButton
set theEmail to ""
--set theEmail to text returned of dialogInfo
--Anmerkungen
--display dialog "Anmerkungen" default answer " "
--set dialogInfo to result
--set selectedButton to button returned of dialogInfo
--get selectedButton
set theComment to "$[x RISK inf _ aq JJ NNNN NNNN invTime U 0]$"
--set theComment to text returned of dialogInfo
--todo Fallnummer
-- todo Logik für Versichertennummer,
set JSONString to ("curl -o ~/perimed.pdf -X POST -u " & theUsername & ":" & theUserpassword & " " & (ASCII character 34) & "https://www.perimed.de/portal/api/v1/onlinedruck/" & documentnumber & "/drucken" & (ASCII character 34) & " -H " & (ASCII character 34) & "accept: application/pdf" & (ASCII character 34) & " -H " & (ASCII character 34) & "Content-Type: application/json" & (ASCII character 34) & " -d " & (ASCII character 34) & "{ " & (ASCII character 92) & (ASCII character 34) & "vorname" & (ASCII character 92) & (ASCII character 34) & ": " & (ASCII character 92) & (ASCII character 34) & "$[patient_vorname]$" & (ASCII character 92) & (ASCII character 34) & ", " & (ASCII character 92) & (ASCII character 34) & "nachname" & (ASCII character 92) & (ASCII character 34) & ": " & (ASCII character 92) & (ASCII character 34) & "$[patient_name]$" & (ASCII character 92) & (ASCII character 34) & ", " & (ASCII character 92) & (ASCII character 34) & "geburtsdatum" & (ASCII character 92) & (ASCII character 34) & ": " & (ASCII character 92) & (ASCII character 34) & "$[d G yyyy-MM-dd]$" & (ASCII character 92) & (ASCII character 34) & ", " & (ASCII character 92) & (ASCII character 34) & "krankenkasse" & (ASCII character 92) & (ASCII character 34) & ": " & (ASCII character 92) & (ASCII character 34) & "$[kasse_name]$" & (ASCII character 92) & (ASCII character 34) & ", " & (ASCII character 92) & (ASCII character 34) & "kassenNummer" & (ASCII character 92) & (ASCII character 34) & ": " & (ASCII character 92) & (ASCII character 34) & "$[kasse_ik]$" & (ASCII character 92) & (ASCII character 34) & ", " & (ASCII character 92) & (ASCII character 34) & "versichertenNummer" & (ASCII character 92) & (ASCII character 34) & ": " & (ASCII character 92) & (ASCII character 34) & theversichertennummer & (ASCII character 92) & (ASCII character 34) & ", " & (ASCII character 92) & (ASCII character 34) & "status" & (ASCII character 92) & (ASCII character 34) & ": " & (ASCII character 92) & (ASCII character 34) & "$[kasse_status]$" & (ASCII character 92) & (ASCII character 34) & ", " & (ASCII character 92) & (ASCII character 34) & "betriebsstaettenNummer" & (ASCII character 92) & (ASCII character 34) & ": " & (ASCII character 92) & (ASCII character 34) & "$[bsnr]$" & (ASCII character 92) & (ASCII character 34) & ", " & (ASCII character 92) & (ASCII character 34) & "arztNummer" & (ASCII character 92) & (ASCII character 34) & ": " & (ASCII character 92) & (ASCII character 34) & "$[lanr]$" & (ASCII character 92) & (ASCII character 34) & ", " & (ASCII character 92) & (ASCII character 34) & "fallNummer" & (ASCII character 92) & (ASCII character 34) & ": " & (ASCII character 92) & (ASCII character 34) & "" & (ASCII character 92) & (ASCII character 34) & ", " & (ASCII character 92) & (ASCII character 34) & "patientenNummer" & (ASCII character 92) & (ASCII character 34) & ": " & (ASCII character 92) & (ASCII character 34) & "$[pid]$" & (ASCII character 92) & (ASCII character 34) & ", " & (ASCII character 92) & (ASCII character 34) & "behandlungsDatum" & (ASCII character 92) & (ASCII character 34) & ": " & (ASCII character 92) & (ASCII character 34) & "$[d S yyyy-MM-dd]$" & (ASCII character 92) & (ASCII character 34) & ", " & (ASCII character 92) & (ASCII character 34) & "angehoeriger" & (ASCII character 92) & (ASCII character 34) & ": " & (ASCII character 92) & (ASCII character 34) & theAng & (ASCII character 92) & (ASCII character 34) & ", " & (ASCII character 92) & (ASCII character 34) & "angehoerigerVerwandschaftsgrad" & (ASCII character 92) & (ASCII character 34) & ": " & (ASCII character 92) & (ASCII character 34) & theRel & (ASCII character 92) & (ASCII character 34) & ", " & (ASCII character 92) & (ASCII character 34) & "angehoerigerTelefon" & (ASCII character 92) & (ASCII character 34) & ": " & (ASCII character 92) & (ASCII character 34) & theTel & (ASCII character 92) & (ASCII character 34) & ", " & (ASCII character 92) & (ASCII character 34) & "angehoerigerEmail" & (ASCII character 92) & (ASCII character 34) & ": " & (ASCII character 92) & (ASCII character 34) & theEmail & (ASCII character 92) & (ASCII character 34) & ", " & (ASCII character 92) & (ASCII character 34) & "anmerkungen" & (ASCII character 92) & (ASCII character 34) & ": " & (ASCII character 92) & (ASCII character 34) & theComment & (ASCII character 92) & (ASCII character 34) & "}" & (ASCII character 34))
--display dialog JSONString
set ret to do shell script JSONString
--display dialog ret
set ret to do shell script "lpr -o InputSlot=Tray3 -o media=a4 -o sides=two-sided-long-edge ~/perimed.pdf"
--display dialog ret
--display dialog ret
Felix van Wasen
Heute benutzen wir thieme auf einem lokalen Server in der Praxis. Funktioniert sehr gut.
Digitale Aufklärungsbögen waren/sind uns auch zu teuer.
IDANA hat für uns Chirurgen m.E. keine ausreichende Auswahl an OP Aufklärungen.
Hermann Burau
Können Sie Ihr setting etwas detailierter beschreiben? Ruhig auch technischer :-)
Bedeutet das, Sie haben KEINE digitalen Bögen?
David Stenger
wir nutzen perimed und habe dies über das og. Skript eingebunden.
@Herr von Wasen: ich hatte im Sommer ein Angebot von Thieme für einen lokalen Server mit der Option zum Ausfüllen der Bögen am iPad. Selbst ohne das digitale Ausfüllen am iPad war Thieme um ein vielfaches teurer als die perimed Bögen, die man auch "leider" ausdrucken muss.
Christian Klaproth
Ich habe nur ein sehr begrenztes OP Spektrum im ambulanten Sektor. Deshalb lohnen sich m.E. die angebotenen Aufklärungsbögen nicht.
Stattdessen habe ich meine eigenen Aufklärungsbögen entwickelt, die ich als CustomFormular in Tomedo angelegt und verschiedene Vorlagen erstellt habe. Im Rahmen von Aktionsketten wird jeweils die gewünschte Aufklärunng erzeugt und zunächst einmal nur gespeichert. Das kostet im Gegensatz zu den Perimed Bögen und Thieme Compliant nichts. Auf die gleiche Weise kann man auch IgeL Verträge oder Kostenvoranschläge erstellen.
Die so erzeugte Vorlage kann man anschließend am iPAD aufrufen und dort weiter bearbeiten, indem man dort handschriftlich Notizen machen und den Patienten unterschreiben lassen kann. Nachdem man das so bearbeitetet Formular erneut gespeichert hat, läßt es sich nicht mehr verändern. Auf Wunsch drucke ich dem Patienten ein Exemplar aus, alternativ kannn man es direkt auch per Mail versenden.
Im stationären Bereich werden bei uns die Thieme Compliant Bögen über das iPAD benutzt. Hardware und Kosten dafür trägt die Klinik.
Für denjenigen, der viel Geld ausgeben kann, gibt es die Möglichkeit, Aufklärungen interaktiv mit Hilfe eines humanoiden Roboters zu machen, der auf die Thieme Datenbanken zurück greift. Der Vorteil dabei ist, dass das Aufklärungsgespräch in mehr als 20 verschiedenen Sprachen erfolgen und man dabei enorm Zeit sparen kann, weil der Roboter geduldig alle Fragen beantwortet.
Felix van Wasen
Ich kann gerne unser Setting näher beschreiben:
Wir haben einen zentralen Windows-Rechner. Auf diesem ist eine thieme-Server installiert. An den tomedo-Clients kann entweder per Webbrowser auf das lokale Gesamt-Portal zugegriffen oder bestimmte Aufklärungsbögen per Skript direkt aus der Patientenkartei aufgerufen werden. Diese werden automatisch mit den Patientendateien versehen. Im Anschluss wird der Aufklärungsbogen als pdf aufgerufen und kann ausgedruckt werden. Wir nutzen also keine digitale Aufklärung.
Das ganze funktioniert im Workflow eigentlich sehr gut.
Thieme ist zwar wirklich teurer als perimed. Für unser Fachgebiet sind die Aufklärungsbögen jedoch so viel besser, dass wir die Mehrkosten in Kauf nehmen.
Felix van Wasen
Hallo Herr Klaproth,
haben Sie denn Ihre eigenen Aufklärungsbögen mit Ihrer Haftpflichtversicherung abgeklärt?
Christian Klaproth
Nein, in meinem Vertrag wird keine solche Forderung gestellt, bestimmte Aufklärungsbögen zu verwenden. Ich weiß dass es manche Veträge gibt, die das fordern. Im stationären Bereich werden die Perimed Bögen verwendet, da hat die Klinik erst kürzlich auf die EDV gestützten Bögen umgestellt. Und selbst da findet sich nicht für jeden Eingriff ein spezifischer Aufklärungsbogen. Dafür muss jeder Operateur im Einzelfall zusätzliche Ergänzungen vornehmen.
Meine ambulanten OP bergen keine besonderern Risiken, wenn ich über die aufkläre und die Aufklärung inhaltlich dem Perimed Bogen entspricht sehe ich keine Gefahr.
Eine mögliche Haftung ergibt sich erst aus einem Behandlung- oder einem Aufklärungsfehler. Den Aufklärungsfehler kann man auch nicht vermeiden, indem man die entsprechenden käuflichen Bögen von Perimed oder Thieme verwendet. Wenn aber in einer Aufklärung alles das drinsteht, was auch in den käuflichen Bögen steht, dürfte keine Gefahr bestehen. Zumindest dürfte es schwierig werden, eine vollständige und korrekte Aufklärung nur deshalb anzufechten, weil man nicht den Perimed Bogen oder Thieme compliant verwendet hat. Mir ist dazu kein einziger Fall bekannt. Aber vielleicht können das andeere Kollegen oder mitlesende Fachleute aufklären.
Hermann Burau
Danke für die Infos. Ich werde also mal die Preise vergleichen. Leider haben wir in den Haftpflichtverträgen den Zwang, einen kommerziellen Bogen einzusetzen, sonst hätte ich es längst wie Herr Klaproth mit einem eigenen Bogen gemacht.
Christian Klaproth
Hallo Herr Burau
Ihre und die Aussage von Herrn von Wasen haben mir keine Ruhe gelassen. Vor geraumer Zeit hat mir auch ein Kollege gleichartiges berichtet, der in meinem Fachgebiet tätig ist.
Ich habe meinen Vertrag heute darauf hin noch einmal durchgeschaut, da ist zum Glück keine solche Klausel vereinbart. In meinen nur 3-seitigen und nicht kleingedruckten Versicherungsbedingungen wird nur zusätzlich auf verschiedene allgemeine Versicherungsbedingungen als Grundlage des Vertrages verwiesen, dabei erscheinen mir die "Besonderen Bedingungen und Riskobeschreibungen für die Berufs-Haftpflichtversicherung von Ärzten (BBR Ärzte, Stand 01.01.2008) von besonderer Bedeutung. Und auch da steht nichts über den Zwang, kommerzielle Aufklärungsbögen zu verwenden, drin. Vielleicht zahle ich deshalb auch mehr als Sie, weil durch die fehlende Verwendung kommerzieller Aufklärungsbögen das Schadenrisiko erhöht ist. Fest steht, irgendwer greift uns schon dafür in die Tasche, entweder die kommerziellen Verlage oder die Versicherer.
Derjenige, der nicht medizinisch notwendige Eingriffe (Beispiel Lifting OP) durchführt mus am aggressivsten aufklären. Wenn Sie nur Menschen mit schwerem Schädelhirntrauma operieren, können sie darauf völlig verzichten.
Wer es sich traut, kann aber die Perimed Bögen als CustomFormular in Tomedo integrieren. Das darf nur der Verlag wegen der Urheberrechtsverletzung nicht erfahren.
Hermann Burau
Hallo Herr Klaproth,
freut mich für Sie, dass Ihr Vertrag offensichtlich besser als unserer ist. Ganz ehrlich fehlt mir momentan die Zeit und auch etwas der Antrieb hier auch ein Fass aufzumachen. Ich habe seit mehreren Jahren immer wieder überlegt, die Einverständniserklärungen von reiner Papierform weg zu bringen. Letztendlich scheint mir die jetzige Konstellation immer noch ok zu sein ggü iPads o.ä. Aber ich nehme das mal zum Anlass die Preis zu vergleichen - das hatte mich schon lange interessiert.
Ich traue mich nicht :-)
Alexander Mueller
Dank für das skript. Das ist wirklich nützlich.
David Stenger
man kann das Script abändern, sodass es nur noch in der Datei des pat automatisch gespeichert wird. Dann kann man die Aufklärung direkt am iPad ausfüllen. Das ist unser Workflow aktuell.