Sie sind nicht angemeldet.

1

Freitag, 17. Januar 2014, 11:25

Script

Wie genau erstelle ich einen Script für die Schnellinfo, wenn ich zum Beispiel wissen will, ob HKS notwendig ist oder erledigt, innerhalb der letzten 2 Jahren, wg zwei Ziffern, 01745 und 01746?

Gibt es sonst irgendwo eine genaue Anleitung, wie man Scripte erstellt?

Lieben Gruß,

Praxis Dr.med.Markus Orschulik 8)

2

Freitag, 17. Januar 2014, 11:59

Hallo,

der eigentliche Script-Spezi ist Herr Kollege Quick - oder aber JOSMED (edit 13:07 Uhr) - behaupte ich jetzt mal -- aber was sie suchen ist eine Häufigkeitszählung mit Rückmeldung wenn die Ziffern in einem Zeitraum noch nicht abgerechnet wurden....

Forum Suche: Count

Hier mal ein Beispiel (alles in eine Zeile):

Quellcode

1
{PHP}$haeufigkeit = {Count:2J::KV:Gebühren:01745} ; $haeufigkeit2 = {Count:2J::KV:Gebühren:01746};if($haeufigkeit>0 or $haeufigkeit2>0) {echo "Vorsorge erledigt";}else{echo "Vorsorge notwendig";};{/PHP} 


Bitte um Korrektur, wenn es nicht stimmen sollte....

TF

Dieser Beitrag wurde bereits 1 mal editiert, zuletzt von »Fiermann« (17. Januar 2014, 13:07)


3

Freitag, 17. Januar 2014, 12:33

der eigentliche Script-Spezi ist Herr Kollege Quick - behaupte ich jetzt mal -- aber was sie suchen ist eine Häufigkeitszählung mit Rückmeldung wenn die Ziffern in einem Zeitraum noch nicht abgerechnet wurden....
Hallo,

also ehrlich gesagt: Nö! Bin ich nicht. Josmed hat ein paar Scripte erstellt, ich kämpfe immer noch mit einigen Problemen. Schön wäre mal eine Dokumentation, wie bei vielen anderen Baustellen. Ich habe mir ein paar Scripte angepaßt, würde aber auch mal gerne mit jemandem über solche Sachen wie Performance etc. diskutieren ... Gerade der Count-Befehl, den man hier sicherlich benötigen würde, frißt auf meinem System Zeit (nicht Prozessor, sondern ich denke Netzwerk-Zeit).

Bei Ihrem Script würde ich jetzt mal glauben, daß eine paar geschweifte Klammer bei dem Befehl "echo" zu viel sind, müßte man mal testen ... Problem ist ja auch hier, es gibt keinen Interpreter, keine Testumgebung. Es geht entweder nichts, dann weiß man nicht, wo es hängt oder es klappt irgendwie -)))

Grüße,

Peter Quick

Dieser Beitrag wurde bereits 1 mal editiert, zuletzt von »pquick« (17. Januar 2014, 12:41)


4

Freitag, 17. Januar 2014, 14:06

der eigentliche Script-Spezi ist Herr Kollege Quick - oder aber JOSMED (edit 13:07 Uhr)

Nö, auch nicht, ich hatte von PHP keine Ahnung und stricke mir die Dinge irgendwie zurecht. Die Logik dahinter ist noch ein bisschen komplexer, da hier originäre PHP-Befehle und MO-interne Ausdrücke gemischt werden. Da ich mich mal in die ersten Basic-Dialekte gequält habe, kommt mir einiges bekannt vor. P. Quick hat den Rest schon gesagt.

Gut ist nun, dass in der "neuen" Umgebung auch ein großes Eingabefeld vorhanden ist, und die Eingabe wie in einem Editor, also incl.Zeilenumbrüchen, möglich ist. Das macht den Codeaufbau doch wesentlich einfacher und übersichtlicher, als die einzeilige Eingabe, auf 500 Zeichen beschränkt.

Danke an INDAMED

Derzeit stricke ich wieder an einer Möglichkeit, die die Inhalte der Eingangsfrage lösen kann. Kurze Skizzierung:

Mit jeder Änderung im Krankenblatt werden alle Inhalte der Schnellinfozeilen aktualisiert. So hat MO dies intern gelöst. Ich lasse mir nun viele Infos, Häufigkeit bestimmter Ziffern, Versicherungssatus, aktuelles Alter (in Jahren, in Tagen), die aktuelle Zeit etc. etc. in LOG-Files im Arbeitsverzeichnis des jeweiligen Clients schreiben. (Per PHP-Script in der Schnellinfo)

Diese logfiles lasse ich mit einem anderen, MO-unabhängigen Script alle xxx Sekunden auswerten und gebe die dabei gewonnen Infos über eine schwebende Dialogbox aus. Ich hänge mal ein Beispiel an. Auf diese Art will ich an fehlende Ziffern, fehlende Vorsorgen, fehlende Dokumentationen, fehlende SPZ-Ziffer 04355 etc. erinnert werden und kann z.B. die Ziffern schnell per Button ins MO-GZ-Fenster eingeben. Es läuft alles noch sehr holprig, weil ich ja gerade nicht programmieren kann, sonder nur die Idee dazu vor Augen habe. Wenn jemand mitmachen möchte, oder gute Ideen dazu hat :thumbup:
index.php?page=Attachment&attachmentID=1079

U.a. zählt auch dieses Toolchen die Zeit seit öffnen der Karteikarte mit und bietet, abhängig vom Staus der Abrechnung anderer Ziffern, die Ziffer 04320/03320 mehrfach an....

MO bietet diese Infos alle schon selber an, aber die logische Verknüpfung lege ich dann nach extern.

LG, Josmed
Freundliche Grüße, Jörg Sprenger

5

Freitag, 17. Januar 2014, 14:12

Ich glaube schon, dass das Script so in Ordnung ist. Bei mir läuft es ähnlich:
{PHP}
$haeufigkeit = {Count:2J::KV:Gebühren:01746};
$haeufigkeit2 = {Count:2J::KV:Gebühren:01745};
if($haeufigkeit>0 OR $haeufigkeit2>0) {echo "HKS erfolgt";}else{echo "HKS möglich";};{/PHP}

Habe dann noch Abwandlungen mit dem Count - Befehl udn ander Scripte:
Krebsvorsorge Männer: {PHP}$haeufigkeit = {Count:1J::KV:Gebühren:01731};if($haeufigkeit>0) {echo "KV erfolgt";}else{echo "KV möglich";};{/PHP}
und für privat: {PHP}$haeufigkeit = {Count:1J::GÖÄ:Gebühren:28};if($haeufigkeit>0) {echo "KV erfolgt";}else{echo "KV möglich";};{/PHP}
wichtig ist immer die Darstellungsbedingungen an zu passen (Alter, Geschlecht)

Für die Gesundheitsuntersuchungen habe ich 2 Abfragen eingefügt mit unterschiedlichen Darstellungsbeingungen - wenn GU möglich mit roter Hintergrundfarbe und weißer Textfarbe, damit es auffällt:
{PHP}$haeufigkeit = {Count:2J::KV:Gebühren:01732};if($haeufigkeit == 0) {echo "GU möglich";};{/PHP}

und wenn GU erfolgt ist: {PHP}$haeufigkeit = {Count:2J::KV:Gebühren:01732};if($haeufigkeit == 0) {echo "GU möglich";};{/PHP} (kann man aber auch weglassen, dann wird GU eben nur angezeigt wenn sie möglich ist.

Dann lass ich mir noch anzeigen wer im DMP KHK und COPD ist:
{PHP}$haeufigkeit1 = {Count:::KV:Gebühren:90510};$haeufigkeit2 = {Count:::KV:Gebühren:90511};if($haeufigkeit1>0 or $haeufigkeit2>0) {echo "DMP-KHK";};$haeufigkeit3 = {Count:::KV:Gebühren:90224};$haeufigkeit4 = {Count:::KV:Gebühren:90225};if($haeufigkeit3>0 or $haeufigkeit4>0) {echo " DMP-COPD";};{/PHP}
und exztra, wer im DMP-Diabetes eingeschrieben ist (hier wieder mit anderer Hintergrundfarbe (blau))
{PHP}$haeufigkeit1 = {Count:::KV:Gebühren:90324};$haeufigkeit2 = {Count:::KV:Gebühren:90325};if($haeufigkeit1>0 or $haeufigkeit2>0) {echo "DMP-Diabetes";};{/PHP}

weiter noch wer 2 Quartale nicht da war und DMP-Diabetes ist und somit neu eingeschrieben werden muss:
{PHP}$haeufigkeit1 = {Count:3Q:A:KV:Gebühren:90325};$haeufigkeit2 = {Count:3Q:A:KV:Gebühren:90324};$Summe=$haeufigkeit1+$haeufigkeit2;if($Summe<1) {echo "neue Ersteinschreibung";};{/PHP}

Wir nehmen am AOK-Hausarztvertrag teil, hier eine Anzeige, wer dafür in Frage kommt (in Darstellungsbedingungen Karankenkasse AOK einstellen)
{PHP}$haeufigkeit1 = {Count:::KV:Gebühren:92300};$haeufigkeit2 = {Count:::KV:Gebühren:92301};$Summe=$haeufigkeit1+$haeufigkeit2;if($Summe<1) {echo "AOK-HAV möglich";};{/PHP}

Anzeige "Pauschale fehlt" , also 0300x fehlt:
{PHP}$haeufigkeit1 = {Count:Q:A:KV:Gebühren:03001};$haeufigkeit2 = {Count:Q:A:KV:Gebühren:03002};$haeufigkeit3 = {Count:Q:A:KV:Gebühren:03003};$haeufigkeit4 = {Count:Q:A:KV:Gebühren:03004};$haeufigkeit5 = {Count:Q:A:KV:Gebühren:03005};if($haeufigkeit1>0 or $haeufigkeit2>0 or $haeufigkeit3>0 or $haeufigkeit4>0 or $haeufigkeit5>0) {echo "";}else{echo "Pauschale fehlt";};{/PHP}

Und noch Script für nächsten Termin (hier aus dem Forum):
{PHP}$termine = '{Patient.Termine}';$find = '<td WIDTH="10%" align="center">';$pos = strpos($termine, $find) + 31;$nextDatum = substr($termine,$pos,8);$nextTime = substr($termine,$pos+45,5);if($nextDatum!="")echo "".$nextDatum." - ".$nextTime;else echo "Keine weiteren Termine";{/PHP}

Diese Scripte können bedarfweise angepasst werden. Bei mir laufen die Scripte ohne Pronbleme und diese kleinen Scripte verursachen auch keine Geschwindigkeitsreduktion. Wenn ich sie abschalte, läuft alles genauso wie mit Scripten. Die Scripte werden aber nicht immer alle angezeigt, je nach Darstellungsbedingngen, trotzden ist es übersichtklicher bei den wichtigen die Hintergrundfarbe zu ändern!

Vielleicht könnte man ja doch mal eine Scriptsammlung in das Forum stellen?

Es gibt sich noch viele Möglichkeiten. Wenn jemand eine Idee hat, sollte er dies vielleicht posten.

Viele Grüße und ein schönes Wochenende

mime

6

Freitag, 17. Januar 2014, 14:47

ich kann nur Count und kein PHP

der count befehl ist in der online Hilfe zum DATENPFLEGESYSTEM auf Seite 10-85 beschrieben.
wenn man einfach

{Count:2J::KV:Gebühren:01746} + {Count:2J::KV:Gebühren:01745}

eingibt, bekommt man 0+0 oder 1+= oder 0+1.
Und bei 0 + 0 weiß ich: da geht noch was

Kriegt keinen Schönheitspreis - geht aber schnell.
Viele Grüße

Rolf Meffert

7

Freitag, 17. Januar 2014, 16:06

Bei mir laufen die Scripte ohne Pronbleme und diese kleinen Scripte verursachen auch keine Geschwindigkeitsreduktion. Wenn ich sie abschalte, läuft alles genauso wie mit Scripten.
Hallo,

ja, Sie haben prinzipiell Recht. Ich hatte mir ein php-Script für die Kindervorsorgen gebastelt, das auch prüfen sollte, ob die Vorsorge schon erfolgt ist. Das beinhaltete ca. 10 Count-Befehle, die jedoch nicht alle durchlaufen wurden. Resultat des ganzen war jedoch eine Zeitverzögerung beim Patientenaufruf von ca. 2-3 Sekunden. OK, nicht lange, aber nervig lange, um mal eben was zu schauen. Die Prozessorlast war niedrig, auf dem Server selbst lief es schneller. Daher denke ich, daß die Datenbankabfragen einfach Zeit über das Netzwerk brauchen ...

Letztlich habe ich das Script jetzt noch auf dem PC, es läuft aber nicht mehr auf meinem Produktivsystem.

Was ich mir wünschen würde wäre entweder eine vernünftige Dokumentation der Befehlsstruktur (Indamed-php ist ja nicht komplett identisch zu "normalem" php) oder evtl. besser noch zusätzlich ein Interpreter/Debugger. Oder man bräuchte einen Ansprechpartner, dem man die Scripte gibt und der mal "drüberschaut" ... Oder die php-Spezies von Indamed geben uns mal einen Tip, mit welchem Werkzeug sie php-Code entwickeln ... es muß ja nicht grade wie damals Turbo Pascal aus meinen alten Programmierzeiten sein ...

Grüße,

Peter Quick

8

Freitag, 17. Januar 2014, 16:36

Leider ist das PHP vom MO wirklich irgendwie anders als normales PHP. Wünschenwert ist wirklich eine Anleitung, dann entfällt vieles probieren.

Mit der Geschwindigkeit muss man es natürlich ausprobieren, je komplexer die Abfragen um so langsamer wird das System werden. Das ist mir schon bewußt. Ich wollte nur mal Anregungen und Scripte einstellen, die vielleicht jemand gebrauchen kann und die bei mir getestet sind und gut (ohne Geschwindigkeitsverlust) laufen.

mime

9

Samstag, 18. Januar 2014, 21:46

Hallo Josmed,

wie kann man die Fenstergröße so wie bei Ihnen anpassen? - bei mir ist in der Schnellinfo nach 7 Zeilen Schluss.... In Ihrem Bild sieht es so aus, als hätten sie viel mehr Zeilen zur Verfügung :thumbsup:

TF

10

Sonntag, 19. Januar 2014, 00:00

Hallo Herr Fiermann,

einfach im Hauptfenster neben den Reitern mit den Ansichten (Standard, Aufträge, etc.) rechte Maustaste drücken, "Tabelleneigenschaften" auswählen und hier bei Offset oben einen größeren Wert eintragen ...

schon haben Sie mehr Platz oben. Offset rechts schafft Ihnen übrigens mehr Platz für Buttons ...

Grüße,

Peter Quick

11

Sonntag, 19. Januar 2014, 00:51

Hallo Josmed,

wie kann man die Fenstergröße so wie bei Ihnen anpassen? - bei mir ist in der Schnellinfo nach 7 Zeilen Schluss.... In Ihrem Bild sieht es so aus, als hätten sie viel mehr Zeilen zur Verfügung :thumbsup:

TF

HalloHerr Fiermann, Ich habe nur den Offset kurzzeitig herauf gesetzt, dann passen mehr Zeilen ins Fenster. Im realen Betrieb habe Ich auch nur 7 Zeilen.

LG, Josmed
Freundliche Grüße, Jörg Sprenger

12

Montag, 20. Januar 2014, 09:02

Vielen Dank!! :D

13

Mittwoch, 29. Januar 2014, 10:44

Hallo Script-Ersteller und Profis:

ich scheitere aktuell an dem Versuch mir die Anzahl an 03360 (neues GBA) sowie die 03240 (altes GBA) in Summe via COUNT-Befehl anzeigen zu lassen.

Versucht habe ich es darüber:

Quellcode

1
{PHP}$haeufigkeit3 = {Count:1J::KV:Gebühren:03360} ; $haeufigkeit4 = {Count:1J::KV:Gebühren:03240} ; $Summe=$haeufigkeit3+$haeufigkeit4 ;if($Summe=2 OR $haeufigkeit4>2 OR $haeufigkeit3>2) {echo "GBA ausgeschöpft";}else{echo "GBA noch möglich";};{/PHP}


Zu Erklärung: Ausgegeben soll die Anzahl an bereits abgerechneten EBM Ziffern 03360 (Count =1) bzw. 03240 (Count =1) werden. Falls in einem Jahr sowohl 03360, wie auch 03240, in Summe also 1+1= 2 - oder aber die 03240 schon 1+1= 2 bzw. die 03360 1+1=2 bereits abgerechnet wurden, soll obige Ausgabe (GBA ausgeschöpft) erfolgen.

leider bekomme ich obwohl in Q3/2013 03240 und in Q4 03360 abgerechnet wurden aktuell die Ausgabe "GBA noch möglich" - woran kann das liegen - habe ich einen Denkfehler?

Gruße und schon mal Danke
TF

14

Mittwoch, 29. Januar 2014, 13:24

Hallo Herr Fiermann,

versuchen sie es doch macl mit ">=" statt = oder >. Sonst kommt nur die Anzeige "GBA ausgeschöpft" wenn die Summe genau 2 ist und die Meldung "GBA noch möglich", wenn die Summe größer 2 ist, also wenn mehrfach 03240 im Jahr abgerechnet wurde.. Außerdem reicht es meiner Meinung nach die Summe abzufragen, also:

{PHP}$haeufigkeit3 = {Count:1J::KV:Gebühren:03360} ; $haeufigkeit4 = {Count:1J::KV:Gebühren:03240} ; $Summe=$haeufigkeit3+$haeufigkeit4 ;if($Summe>=2) {echo"GBA ausgeschöpft";}else{echo "GBA noch möglich";};{/PHP}


Vielleicht funktioniert es, viel Glück

mime

15

Mittwoch, 29. Januar 2014, 13:24

Hallo Herr Fiermann,

versuchen sie es doch macl mit ">=" statt = oder >. Sonst kommt nur die Anzeige "GBA ausgeschöpft" wenn die Summe genau 2 ist und die Meldung "GBA noch möglich", wenn die Summe größer 2 ist, also wenn mehrfach 03240 im Jahr abgerechnet wurde.. Außerdem reicht es meiner Meinung nach die Summe abzufragen, also:

{PHP}$haeufigkeit3 = {Count:1J::KV:Gebühren:03360} ; $haeufigkeit4 = {Count:1J::KV:Gebühren:03240} ; $Summe=$haeufigkeit3+$haeufigkeit4 ;if($Summe>=2) {echo"GBA ausgeschöpft";}else{echo "GBA noch möglich";};{/PHP}


Vielleicht funktioniert es, viel Glück

mime

16

Mittwoch, 29. Januar 2014, 13:27

Ich weiß nicht warum der Beitrag 2x gepostet wurde - Sorry

mime

17

Mittwoch, 29. Januar 2014, 13:36

Hallo mime:

Danke für den Tipp - leider klappt es nicht .... bei meinem Testpatienten wurde im Juli 2013 die 03240 abgerechnet, heute das GBA nach 03360... es kommt noch immer die Anzeige: "GBA möglich".

Mit der doppelten Abfrage nach OR hatten sie Recht, das Ding zählt ja die Anzahl (COUNT)... Brett vorm Hirn...

neuer Versuch...

18

Mittwoch, 29. Januar 2014, 13:54

Wahrscheinlich liegt es daran, das Kalenderjahre gezählt werden, statt 1J bitte 4Q eintragen und es sollte gehen

{PHP}$haeufigkeit3 = {Count:4Q::KV:Gebühren:03360} ; $haeufigkeit4 = {Count:4Q::KV:Gebühren:03240} ; $Summe=$haeufigkeit3+$haeufigkeit4 ;if($Summe>=2) {echo"GBA ausgeschöpft";}else{echo "GBA noch möglich";};{/PHP}


viele Grüße

mime

19

Mittwoch, 29. Januar 2014, 14:51

Hallo mime,

"4Q" ist die Lösung :thumbsup: - kann ja keiner Wissen, dass "1J" sich nur auf das aktuelle Kalenderjahr bezieht! Kann man das irgendwo nachlesen?

Danke nochmal!

TF

Dieser Beitrag wurde bereits 1 mal editiert, zuletzt von »Fiermann« (30. Januar 2014, 07:42)


20

Donnerstag, 30. Januar 2014, 08:43

Guten Morgen Herr Fiermann,

Ich weiß auch nicht wo man das nachlesen kann. Es ist aber für die Abfrage z.B. der Gesundheitsuntersuchung (01732) wichtig, dass sich "1J“ auf das Kalenderjahr bezieht. (Theoretisch kann ja am z.B. 31.12.2012 und am 1.1.2014 eine Gesundheitsuntersuchung durchgeführt werden)

Viele Grüße

Mime

PS: Ich würde trotzdem die Abfrage mit ">=“ durchführen. Bei "=" kommt eine falsche Anzeige, wenn jemand versehentlich die Ziffern mehr als 2x im Jahr abgerechnet hat!