Skip to content

Latest commit

 

History

History
238 lines (230 loc) · 57 KB

Changes_Addendum_includes.md

File metadata and controls

238 lines (230 loc) · 57 KB

Versionslogbuch

AddendumFunctions Addendum Funktionsbibliotheken (..\Include oder \lib)

Datum Teil Beschreibung
14.08.2023 F+~ Addendum_Albis
▪ AlbisResizeLeistungskette() - verbreitert das Fenster und das Steuerelement für die Ziffernliste
AlbisPatientAlter() - ermittelt das Alter des Patienten, entweder über das aktuelle Tagesdatum, das Datum in der Karteikarte
oder über ein beliebiges, übergebenes Datum
AlbisLaborblattExport()/AlbisSaveAsPDF() - RPA der Steuerelemente zuverlässiger gemacht
Addendum_Windows
▪ WinSetStyle() - setzt oder entfernt einen Window(Control) Ex/Style
Addendum_DB
▪ AlbisDB.GetDocuments() - Methode um alle Dokumentverknüfpungen in allen Karteikarten auszulesen

▪ AlbisDB.AUDiagnosen() - ermittelt die Krankschreibungsdiagnosen eines oder aller Patienten

▪ AlbisDB.GetPatExtra() - alle Daten aller Patienten oder eines Patienten aus der PatExtra Datenbank erhalten

▪ AlbisBD.PatientDiagnoses() - Filter um Patienten mit bestimmten Diagnosen zu finden

▪ PatDB.StringSimilarityPlus() - eine weitere Funktion für eine unscharfe Suche nach Patientennamen. Die Funktion vergleicht alle der Funktionen übergebenen Namen mit jedem Vor- und Zunamen aus der Albisdatenbank...

▪ GetAlbisPath() - erkennt das echte Installationsverzeichnis und nicht das Verzeichnis mit der albis demo
06.11.2022 F+ Addendum_DB
AlbisDB.GetPatDocs() - Methode um Dateipfade aller Dokumente eines Patienten auf der
Festplatte zu erhalten (nicht für Nutzer des Praxisarchiv)
15.09.2022 F+ class_TelegramBot
▪ eine Telegram-Klassenbibliothek für die Erstellung von Chat und/oder Automatisierungsbots über Telegram
10.07.2022 F+ Addendum_DB
- class AlbisDB: 2 Methoden für die Filterung von Patienten für die Abrechnung entworfen. .GetDiagnoses() erstellt ein nach PatID sortiertes Objekt mit den eingetragenen Diagnosen des Quartals. .ChronischKrank() vergleicht die ICD Codes der Patienten mit den ICD Codes einer offiziellen Liste, die für chronische Krankheiten kodieren. Bei Übereinstimmung wird der Patient in die Liste der Chroniker aufgenommen.
GetDiagnoses(dateRange:="", opt:="") - lädt sämtliche Diagnosen eines Quartals
ChronischKrank(dateRange, opt:="") - ermittelt alle Patienten eines Quartals bei denen ICD Codes chronischer
Krankheiten eingetragen wurden
GetBEFTEXTDataL(TextDB, ReIndex:=false) - gering schnellere Variante um verlinkte Daten aus BEFTEXT.dbf zu lesen
29.06.2022 M~ AddendumStarter.ahk
▪ das Startskript für Addendum sollte jetzt auf allen Rechnern in einem Netzwerk funktionieren. Beim Auslesen eines Addendum Hauptverzeichnis auf einem Netzwerklaufwerk wird auf manchen PC der Laufwerkspfad in einer anderen Schreibweise zurückgegeben (Server\....). Mit Anpassung der IniReadExt Funktion wird diese Schreibweise nicht mehr verworfen
▪ die Ermittlung des Albis Verzeichnisses erfolgt nicht mehr aus der Addendum.ini, da der lokale Arbeitspfad jederzeit geändert werden kann (ihre AIS Betreuer machen sowas).
Das Skript liest dazu Daten aus der Registry oder nutzt GetAppImagePath() für die Lokalisation der korrekten Albis(CS).exe Datei.
23.10.2021 F+ Addendum_Albis
AlbisWZHeader() - liest die Spaltennamen des aktuellen Wartezimmers
22.10.2021 F~ Addendum_DB - class xstring - fehlerhaft initialisierte Instanzvariablen korrigiert
20.10.2021 F+ Abrechnungsassistent - schlägt Patienten vor bei denen aufgrund vorhandener passender Diagnosen die Chronikerpauschalen abgerechnet werden können, hierfür wird eine offizielle Liste von ICD-Schlüsselnummern verwendet, die nach Einschätzung der AG medizinische Grouperanpassung
chronische Krankheiten kodieren. (die bisher umfangreichste Programmierarbeit in Addendum)
- Regelwerk erweitert um mehr Ziffernkontrollen durchführen zu können
- der Prozeß welcher die Karteikarteneinträge automatisiert hat deutlich mehr Geschwindigkeit erhalten.
23.09.2021 F+~ Addendum_Albis
AlbisKopiekosten() - Funktion sollte jetzt zuverlässig den korrekten Eingabefokus erkennen und unterscheiden können. Prüft das vor Ausführung ob eine Privatabrechnung angelegt wurde.
AlbisBrief() - Textvorlagen/Arztbriefe öffnen
AlbisAbrScheinCOVIDPrivat() - Anlegen eines Abrechnungsscheines zur Abrechnung einer COVID-19 Impfung für privatversicherte Personen
AlbisErstelleTagesprotokoll() - Interaktion mit nahezu allen Steuerelementen ermöglicht
AlbisLaborKeineDateien - schließt den Dialog: 'Keine Datei(en) im Pfad: ... vorhanden'
AlbisLaborImport - Automatisierung von Laborauswahl bis Laborsammelimport
08.08.2021 F+ Addendum_PDFReader
Sumatra_PrintPDF() - PDF mit SumatraPDF.exe über die Befehlszeile drucken
08.08.2021 F+ Addendum_Gui
- Autonaming wird nach jedem Texterkennungsvorgang aufgerufen. Bei Erfolg enthält der Dateiname des Dokumentes den richtigen Patientennamen und das Erstellungsdatum des Dokumentes
- Wiederherstellung der letzten Fensteransicht verbessert
- das Laborblatt kann per EMail (Outlook) versendet werden. Die für den Versand benötigte EMail Adresse wird aus der Albis-Datenbank bezogen (einzutragen unter Stammdaten).
- der Dokumentimport hat eine ansehnliche Fortschrittsanzeige erhalten
- Autovervollständigung beim Umbennen von Dokumenten
- Dateiexport aus dem Journal in den Exportordner
05.08.2021 F+~ DocPrinz
- Skript erhielt neuen Namen. Aus Addendum_Exporter wurde DocPrinz
- drucken von Dokumenten direkt aus DocPrinz heraus
- die Anzahl der gedruckten Seiten je Patient wird gemerkt
- die Anzahl der gedruckten Kopien (Seiten) können automatisiert in der Albisabrechnung eingetragen werden
- Dokumentenliste: - Kennzeichnung bereits exportierter Dokumente
- Anzeige ob PDF Text oder Bild
- Anzeige der Seitenzahl von Dokumenten (auch bei WORD Dokumenten), bei Bilddateien wird die Dateigröße angezeigt
- Vorschau von Dateien um die Auswahl zu exportierender Dateien zu erleichtern (die Vorschaufunktion ist abschaltbar) Addendum V1.62
30.07.2021 F+~ Quicksearch
- anstatt der Zahl für die PATNR kann optional zusätzlich der Patientenname eingeblendet werden
- ein doppelter Klick in die Datentabelle öffnet die Karteikarte des Patienten (nur wenn es ein Feld 'NR' oder 'PATNR' gibt)
- bei Auswahl einer Zeile und vorhandenem Feld TEXTDB werden zusätzliche Daten aus der BEFTEXTE.dbf angezeigt (abschaltbar)
- als gelöscht markierte Datensätze können optional angezeigt werden
- Spalten mit Datums- oder Zeitinhalten werden im deutschen Datumsformat angezeigt (automatisch anhand der Spaltennamen)
- einzelne Spalten lassen sich in der Ausgabetabelle ein- oder ausblenden
- mit jeder Datenbank wird das individuelle Layout ihrer Ausgabetabelle gesichert und nach Neustart oder Datenbankwechsel wieder exakt hergestellt
- kleine Verbesserungen der Vorschau, speichert jetzt die komplette letzte Ansicht
10.07.2021 F+ Abrechnungsassistent
- Gui verbessert
- Automatisierung der Karteikarteneingaben zuverlässiger gemacht
- Auswertung der Albis Datenbanken verbessert und deutlich erweitert
- zeigt den Inhalt der Karteikarte des ausgewählten Patienten an
- neue Funktionen wie Berücksichtigung von Behandlungstagen mit Autovorschlägen erstellt
04.07.2021 F+~ Addendum_DB
- Fehlerbehebungen und Optimierung des Codes
- Behandlungstage() - ermittelt die Tage mit Einträgen in der Karteikarte für alle Patienten in einem Quartal
Addendum V1.61
09.05.2021 F+ AddendumMonitor
Beenden von Addendum.ahk ohne Taskmanager über das TrayIcon Menu möglich, kleinere Fehler beseitigt
02.05.2021 F+ Addendum_Datum
- DaysBetween() - berechnet die Tage zwischen zwei Tagesdaten und
- WeekOfYear() - berechnet die Kalenderwoche (Coronaimpfung läßt grüßen)
Addendum_PopMenu
Fehler behoben
16.04.2021 F+ Addendum_MDCalc:
ConvertHbA1c() - konvertiert HbA1c Werte in beide Richtungen zwischen Prozent und mmol/mol
07.04.2021 F~ Addendum_DB
- class AlbisDB()
massive Erweiterung der Datenbankklasse um Funktionen, welche in Zukunft das Abrechnungshelferskript ersetzen werden. Wesentlich umfangreichere Datenerfassung aufgrund der Auswertung der DBASE Datenbanken. Erste neue Funktion ist die Erstellung von Ziffernlisten für den Abrechnungsassistenten.
Addendum V1.56
29.03.2021 F~ Addendum_Albis - AlbisRezeptHelfer()
CGM hat die Steuerelemente neu nummeriert. RPA Funktion angepasst.
F+ AlbisAusindisKorrigieren(), class PatientenDaten
eine Klasse und eine Funktion für die Änderungen der Ausnahmeindikationen im Dialog Patient / Stammdaten /Personalien / weitere Informationen. Die Funktion automatisiert die Korrektur und/oder das Hinzufügen von EBM-Ziffern
- AlbisMDITabActive() gibt den Namen (Text) eines MDI Childfensters zurück
- AlbisMDIChildTitle() gibt die Nummer oder den Titel des aktiven Tab zurück
- AlbisWZKommentar() automatisiert Wartezimmer - Kommentare eingeben/ändern
- AlbisWZTabSelect() aktiviert ein bestimmtes Wartezimmer
- AlbisWZListe() den Inhalt eines Wartezimmers auslesen und als Objekt zurückgeben
14.03.2020 F+ Addendum_Datum
- hat mehrere neue Funktionen erhalten
F+ Addendum_Mining
- Verbesserte Datumauswertung. Daten die Patienten Geburtstage sind werden aussortiert.
13.03.2020 F~ Addendum_DBase
- SearchExt() - hat Callback Funktionalität erhalten, Fehlerbehebung beim Stringvergleich
11.03.2020 F~ Addendum_Albis
-AlbisKeineChipkarte()
zum schnellen Schließen des Dialoges: "Patient hat in diesem Quartal seine Chipkarte noch nicht vorgezeigt"
AlbisNeuerSchein()
1. Teil von Funktionen zum Anlegen eines neuen Abrechnungsscheines. AlbisNeuerSchein öffnet und schließt das Fenster
AlbisResizeLaborAnzeigegruppen()
Funktion erweitert die Listboxsteuerelemente im Dialog 'Labor Anzeigegruppen'
01.03.2021 F+ Addendum_Mining
- Verbesserung der Erkennung des Dokumentdatums
- Validierung des Datumformats und Umwandlung eines geschriebenen Datums
28.02.2021 F~ AlbisReanimator
- weitere Albisprozesse der Erkennungsroutine hinzugefügt
- zweiten Befehl für das Beenden von Prozessen hinzugefügt
- das Skript führt auf Wunsch zu Dokumentationszwecken eine Logdatei mit den Namen und der Anzahl dergeschlossenen Prozesse Addendum V1.52
27.02.2021 F+ Addendum_Exporter
- Fortschrittsanzeige verbessert
27.02.2021 F~ AddendumMonitor
- Lösung erstmal: IPC - Interprocess communication, Skript sendet einen String an Addendum, kommt keine Antwort innerhalb der nächsten 4 Sekunden hat sich Addendum aufgehängt und wird neu gestartet.
- Logfile wurde nicht geschrieben
- manuellen Prüfsstart über das Traymenu hinzugefügt
26.02.2021 F+ Addendum_Mining
- Erkennung von nicht Patientenbriefen angefangen, Verbesserung der Erkennung von Patientennamen erreicht
23.02.2021 F+ AddendumMonitor
hat eine Funktion zur Überwachung der CPU Auslastung erhalten. Eigene Programmierfehler und/oder das Einbinden von Programmbibliotheken führen manchmal dazu, daß Addendum.ahk nicht mehr reagiert und sich weder beenden noch neustarten läßt. Die neue Funktion detektiert hohe CPU Auslastungen des Addendum Prozesses und beendet Addendum wenn die Auslastung für längere Zeit über einem bestimmten Wert liegt. Damit dies keinesfalls während Berechnungen oder einem Texterkennungsvorgang passiert, werden auch Schwankungen der Auslastung erfasst. Der Überwachungsvorgang findet stichprobenartig alle 15 Minuten für 4 Sekunden statt und wird auf 6 Minuten erweitert wenn ein die Auslastung einen bestimmten Wert überschreitet.
20.02.2021 F~ Addendum_Albis
AlbisRestrainLabWindows() hat die Hilfsfunktion AlbisGNRAnforderungChilds() erhalten. Durch die neue Funktionalität können auch Dialogfenster behandelt werden zu denen noch keine Regeln erstellt wurden. Die Schwierigkeit die komplette Übertragung der Labordaten vom Laborbuch ins Laborblatt fehlerfrei zu automatisieren bestand bis dahin in der Erkennung und Behandlung unbekannter Dialogfenster. Dies führte oft zu schleifenartigem Verhalten mit Schwierigkeiten den repitiven Zugriff auf die Fensterelemente zu beenden.
- alle MDI Funktionen umbenannt: AlbisMDI*()
- AlbisImportierePdf() und AlbisImportiereBild() - den Funktionen kann optional ein Karteikartendatum übergeben werden.
16.02.2021 F+ Addendum_Exporter
Kommunikation zwischen dem Infofenster und dem Dokumentexporter steht. Bei Aufruf des Skriptes übergibt Addendum die aktuelle Patienten ID so daß dieser Patient im DokExporter angezeigt wird.
- Für das Exportieren der Karteikarteneinträge durch Erstellung eines Tagesprotokolls werden die in Albis angelegten Karteikartenfilter zur individuellen Auswahl angeboten. Damit kann man seine gewohnten Filter für den Export nutzen. Addendum V1.51
13.02.2021 F~ Addendum_Albis
AlbisRestrainLabWindow() - verbessert
AlbisAkteOeffnen() - Zuverlässigkeit erhöht
11.02.2021 F+ Addendum_Albis
AlbisNeuerSchein() - öffnet den Dialog "Neuen Schein für <....> aufnehmen" als ersten Schritt um z.B. Überweisungsscheine anzulegen
30.01.2021 M+ Addendum_PdfHelper
IFilter(file, searchstring:="") native Microsoft IFilter Lösung für die Suche in PDF/Word Dateien alternativ wird bei Weglassen des Suchparemeters der Text der Datei zurückgegeben. Die Funktion ermöglicht Text aus einer PDF zu extrahieren ohne Verwendung von Kommandozeilen Programmen.
17.01.2021 M+ Addendum_MDCalc
neue Bibliothek mit medizinischen Berechnungsfunktionen für Körperoberflächen (KOF), eGFR Abschätzung nach der CK-EPI-Formel von 2009, BMI, Dosisrechner ...
17.01.2021 F+ Addendum_Mining
neue Bibliothek erweitert die Autonaming Fähigkeiten (automatische Namensgebung von PDF-Patienten-Befund-Dateien)
13.01.2021 F+ Addendum_Albis
AlbisKarteikartenAnsicht(): schnelles Einstellen einer bestimmten Ansicht (Karteikarte, Laborblatt, Biometriedaten, Abrechnungen...)
F+ Addendum_Db
Leistungskomplexe(): sammelt, erstellt eine Datenbank für den Abrechnungshelfer
DBASEStructs(): liest die Header aller DBF Dateien im albiswin\db Ordner und erstellt eine Datei in menschlesbarem Format
ReadPatientDBF(): gibt nur benötigte Daten der albiswin\db\PATIENT.DBF zurück
CreateIndex_BEFUND(): indiziert die BEFUND.dbf nach Quartalen
ReadDBASEIndex(): liest zuvor erstellte Indizes ein
F+ Addendum_DBASE
DBASE Klasse wurde um 2 weitere Algorithmen für die Suche in Albis Datenbanken erweitert
F+ Addendum_Albis
AlbisKarteikartenAnsicht(): schnelles Einstellen einer bestimmten Ansicht (Karteikarte, Laborblatt, Biometriedaten, Abrechnungen...)
10.01.2021 F+ 4 Funktionen für die Handhabung des Cave!von Dialoges:
AlbisCaveAddRows(), AlbisCaveGetCellFocus(), AlbisCaveGetCellFocus(), AlbisCaveUnFocus()
1 Funktion zum Auslesen aller aktuell angelegten Abrechnungsscheine der geöffneten Karteikarte: AlbisAbrechnungsscheinAktuell()

2 Funktionen für den Export von Listen, Protokollen, Ansichten ins PDF-Format:
AlbisSaveAsPDF(), AlbisLaborblattExport()
Hilfsfunktionen die nur hier benötigt werden hinzugefügt, unbenutzte Funktionen entfernt
08.01.2021 M~ AddendumMonitor
Überwachungsskript um ein paar wenige KB verschlankt. Protokollierung verbraucht weniger Zeichen bei gleichen Informationen.
05.01.2021 F~ diverse Funktionsbibliotheken von nicht mehr verwendeten Funktion befreit
12.11.2020 M+ Addendum_DBASE
Klassenbibliothek für direkten Lesezugriff auf die DBASE-Dateien von Albis. Die Klasse stellt Funktionen bereit zum Abrufen von Information aus dem Dateiheader der DBASE Datei und nutzt diese für die Suche in den Datenbanken. Im Moment
11.11.2020 F~ Addendum_Albis
AlbisRezeptHelferGui(): prüft auf Vorhandensein des Rezeptfenster vor Erstellung der Gui
28.10.2020 F~ Addendum_Controls
Funktion Controls(): GetActiveMDIChild ermittelt gibt das aktuelle MDIChild als handle oder classnn zurück
18.10.2020 F~ Addendum_DB
Funktionen verbessert (Geschwindigkeit)
11.09.2020 F+ Addendum_Albis
noch recht rudimentäre, aber robuste Fenstermanagerfunktion hinzugefügt. Derzeit sind 4 Programme verfügbar (Albis, MS Word, Sumatra PDF Reader und Ifap).
über das Traymenu läßt sich die automatische Positionierung und Größenanpassung ab- oder anschalten. Die Fensterpositionen müssen noch selbst in der Addendum.ini eingetragen werden.
Es sind getrennte Fensterpositionen für die Darstellung auf einem 2k oder 4k Monitor möglich.<br
Fehler in RezepthelferGui beseitigt: die Ifap-Werbung wurde nicht ausgeblendet und die Schnellrezeptfelder wurden nicht angezeigt.
Das Laden von Skripteinstellungen erfolgt jetzt über ausgelagerte einzelne Funktionsaufrufe (Addendum_Ini.ahk)
28.08.2020 F+ Addendum_Albis
AlbisSchreibeSequenz() - Zusammenfassung von Funktionen für RPA Dateneingabe mehrerer Zeilen
AlbisKopiekosten() - berechnet Kopiekosten und schreibt einen GOÄ fähigen Text in die Karteikarte oder Privatschein
01.08.2020 F+ Addendum_Controls
Controls(): der Funktionsbefehl "ControlFind" hat einen 3. Sub-Parameter erhalten für die optionale Rückgabe entweder der Steuerelement Klasse oder/und des Handle, der Befehl "GetText" gibt das Ergebnis zurück (return Befehl vergessen) und kann jetzt auch mit WindowsForms Steuerelementen umgehen
17.07.2020 F~ Addendum_Controls
VerifiedChoose(CName, WTitle, EntryNr ) Parameter "EntryNr": flexibler gestaltet. Die Funktion spricht die Steuerelementtypen Listbox oder Combobox an. EntryNr kann dabei die Position des Eintrages oder der Eintrag in Form eines normalen String oder RegEx-String sein. Bei Übergabe einer Zahl wird diese Position in den Steuerelementen ausgewählt. Übergibt man einen String wird der Inhalt des Steuerelementes durchsucht und verglichen. Der passende Eintrag wird anschliessend ausgewählt.
05.07.2020 F+ Addendum_Albis
AlbisSetCaveZeile() erweitert automatisch die Anzahl der Zeilen im Dialogfenster, Befehle werden jetzt direkt an das Fenster gesendet
09.06.2020 F+ Addendum_Albis
AlbisRezeptHelferGui() verschiebt das Rezeptformular automatisch an eine Position innerhalb von Albis, daß keine Informationen oberhalb der Karteikarte des Patienten verdeckt wird.
08.06.2020 F+ Addendum_Internal
IniReadExt() äußerst groben Programmierfehler bei der Umsetzung von als zuvor mit 0 oder 1 geschriebenen Wahrheitswerten (z.B. Laborabruf_automatisieren=0) entdeckt. Die Funktion war gar nicht in der Lage die beiden Werte in an oder aus (in einer Programmiersprache als true oder false) zu überführen. Jetzt sollten Funktionen ausgestellt sein, wenn sie als ausgestellt markiert wurden.
28.04.2020 F+ [Addendum_DB]
- eigenes Tagesprotokoll speichert mit der PatientenID die Uhrzeit des Patientenaufrufes.
F+ [Addendum_Albis]
AlbisActivateMDIChild(MDITitle) - aktiviert ein MDI-Child Fenster
AlbisListeSpeichern() - speichert eine in Albis geöffnete Liste in ein gewünschtes Verzeichnis
F~ [Addendum_Protocol]
- bessere Fehlerausgabe (Layout) und reduzierte Fehlerausgaben (Wiederholungsvermeidung)
24.04.2020 F+ [Addendum_Controls]
- LV_SortArrow Funktion zum visuellen Anzeigen der Sortierungsrichtung in einer Listview
09.04.2020 F+ Addendum_DB
ReadDbf(dbfPath) - rudimentäre Funktion zum Auslesen aller Datensätze einer DBASE Datei. Gibt eine Textvariable zurück die im Anschluss durchsucht oder geparsed werden kann.
01.04.2020 F+ Addendum_Protocol
ein hinterneinander auftretender Fehlercode wird nicht gesendet und auch nicht protokolliert, damit wie es bei mir vorgekommen ist, nicht über Nacht alle 3-5Sekunden derselbe Fehler gemeldet wird
03.02.2020 F+ IfapVerordnung() - Medikamente lassen sich per Kurzform über einen Funktionsaufruf mit Hilfe von ifap verordnen, dazu muss eine PZN des entsprechenden Medikamentes hinterlegt sein. die Funktion druckt automatisch (auf Nutzernachfrage) zum Medikament hinterlegte Word-Dokumente ohne das Microsoft Word sichtbar wird. Damit erhalten Sie die Möglichkeit selbst entworfene Dosierungsangaben und Patientenhinweise automatisch mit der Medikamentenverordnung auszudrucken oder sie es wird ein Dokument ausgedruckt, welches der Patient z.B. als Einverständniserklärung unterschreiben muss. Sie können auch mehrere Dokumente mit einer Verordnung ausdrucken. Dazu müssen diese aber alle in einem Verzeichnis auf ihrer Festplatte liegen.
30.01.2020 F~ AlbisImportierePdf() - Performance verbessert, AlbisUebertrageGrafischenBefund() und AlbisKarteikartenFocus() - Fehlerrückgabe angepasst, Performance und Zuverlässigkeit deutlich verbessert
F+ AlbisImportiereBild() - importiert eine jpg Datei in eine Patientenakte
16.01.2020 F~ AlbisRezeptHelferGui() - Neuzeichnen und versetztes Anzeigen der zusätzlichen Auswahl korrigiert, breiteres Steuerelement für mehr Informationen
08.01.2020 F~ Addendum_Albis/AlbisGetActiveControl() -Anpassung an die Klassennamensänderung
07.01.2020 F~ Addendum_Albis/AlbisGetActiveControl() - AfxFrameOrView und AfxMDIFrame wurden in intern in Albis umbenannt, aus AfxFrameOrView90 und AfxMidiFrame90 wurde AfxFrameOrView140 und AfxMidiframe140, die Erkennung wurde deshalb aufgrund eventuell in Zukunft folgender Änderung der Klassennamen verallgemeinert
F+ AlbisHautkrebsScreening() - befüllt das eHautkrebsScreening (nicht Dermatologen) Formular (Das Hautkrebsscreeningformular für Nichtdermatologen wurde mehrfach geändert in den letzten Quartalen. die ClassNN der Buttons hat sich dabei jedesmal geändert, damit wurden nicht die richtigen Buttons angesprochen und somit war das Formular nicht korrekt ausgefüllt oder es ließ sich nicht speichern da sich auch für den 'Speichern' Button die ClassNN geändert hatte. Letzteres versuche ich nun mittels Übergabe des Namen/Text des Speichern-Buttons treffsicherer zu machen)
29.12.2019 AlbisFormular() - Aufrufen von Formularen mittels Übergabe eines String z.B. eHautkrebsScreening Nicht-Dermatologe = eHKS_ND, Gesundheitsvorsorge = GVU
F+ AlbisErstelleZiffernStatistik() - erstellt eine Ziffernstastik (Menu Statistik\Leistungsstatistik\EBM2000Plus/2009Ziffernstatistik), als Parameter kann ein Quartal, ein Zeitraum oder ein Tag übergeben werden, der Dateipfad und der Dateiname in welches die Statistik gespeichert werden soll und ob die Statistikausgabe in Windows geschlossen werden soll.
F+ AlbisDateiSpeichern() - speichert ein von Albis erstelltes Protokoll/Statistik
28.12.2019 F~ AlbisGetMDIMaxStatus() - Aufruf der Funktion ist jetzt ohne vorherigen Aufruf von AlbisGetAllMDIWin() möglich, der Funktion kann ein Handle oder der Name des Fensters übergeben werden
F~ AlbisZeigeKarteikarte() - schließt jetzt zwei Dialogfenster die auftreten können, wenn eine Tastaturfokus gesetzt ist und eine Eingabe erfolgt war
F~ AlbisDateiAnzeigen() - Fehler beim Schliessen des Dialogfensters beseitigt
27.12.2019 F~ AlbisFristenGui() - Fehlerkorrektur und behandelt auch die Ausnahme das der Shift+F3 Kalender automatisch geschlossen wird falls das AU-Formular geschlossen wurde
23.12.2019 F+ AlbisRezept_DauermedikamenteAuslesen() - im Rezeptfenster werden in einer Listbox alle Dauermedikamente des Patienten angezeigt, dieses Feld wird ausgelesen. Die Daten können dann für verschiedene weitere Steuerungen verwendet werden. Zum Beispiel könnte es automatisch ein Hinweis erfolgen, wenn man ein Medikament verordnet hat, gegen das der Patient allergisch ist oder das bei ihm kontraindiziert ist.
22.12.2019 F~ AlbisGetMDIClientHandle() - ermittelt das handle des MDI Client Bereiches jetzt zuverlässig
F+ AlbisRezeptAutIdem() - setzt automatisch ein Aut-Idem Häkchen, wenn man in den Dauermedikamenten in der Nachtmedikation ein großes A notiert hat
die Funktion installiert einen Hook auf das Rezeptformular (Muster16) von Albis, dies funktioniert leider noch nicht gut
21.12.2019 F~ AlbisRezeptHelferGui()
1.) das Rezeptformular wird automatisch unterhalb der Dauermedikamente angezeigt, damit diese immer vollständig zu sehen sind.
2.) das Rezeptfenster zeigt keine Werbung mehr an!
23.11.2019 F+ AlbisRezeptHelferGui() - erstellt ein Auswahlfeld im Rezept zur Auswahl von Rezeptvorlagen, ermöglicht auch das Erstellen neuer Vorlogen
AlbisRezeptFelderLoeschen(), AlbisRezeptFelderAuslesen(), AlbisRezeptSchalterLoeschen()
- Rezepthelferfunktionen - Löschen aller Eingaben in einem Rezept (Medikamenten- sowie Zusatzfelder)
- Auslesen aller Felder eines Rezeptes (Medikamente, Zusätze, Schalter)
F+ AlbisSchreibeInKarteikarte() - ist ursprünglich zusammen mit AlbisKarteikartenFocusSetzen() für mein Modul Abrechnungshelfer entwickelt worden. Jetzt wird es möglich sein, jeden Abend ohne Beisein die während der Sprechstunde eingegeben Ziffern/Diagnosen (oder was auch immer man will), automatisiert korrigieren oder ergänzen zu lassen.
02.10.2019 F+ AlbisKarteikartenFocusSetzen() - ähnlich der Funktion AlbisKarteikarteAktivieren() hat diese Funktion endlich die Zuverlässigkeit die ich mir gewünscht habe, vermutlich werde ich die ältere Funktion irgendwann komplett entfernen
01.10.2019 F~ AlbisErstelleTagesprotokoll() - mehr Statusanzeigen
AlbisDateiAnzeigen() - verbesserte Zuverlässigkeit
28.09.2019 F+ AlbisFristenRechner() und AlbisFristenGui() - Beginn und Ende der Krankengeldzahlung werden in jedem Arbeitsunfähigkeitsformular angezeigt
25.09.2019 F+ 3 neue Funktionen für die Automatisierung von Albis hinzugefügt. AlbisDruckeBlankoFormular(), AlbisDruckePatientenausweis(), AlbisRezeptHelfer()
16.09.2019 F~ FindChildWindow() - Funktion kompatibel zur Autohotkey-Version V1.1.30.03 gemacht
AlbisGetActiveMDIChild() - Code bereinigt
13.09.2019 F~ AlbisAutoLogin() - korrigiert so das das Dialogfenster auch sicher geschlossen wird
F+ MoveWinToCenterScreen() - verschiebt ein außerhalb des sichtbaren Monitorbereich liegendes Fenster in die Mitte des aktuellen Monitor, funktioniert gerade auch im Multi-Monitor-Einsatz
12.09.2019 F~ AlbisAutoLogin() - der Klick auf den OK Button wird jetzt per Mausklick-Simulation durchgeführt, der Click mittels einer anderen Technik hat das Login-Fenster nicht geschlossen und den Hook für die Erkennung des Login-Fenster erneut ausgelöst
06.09.2019 F+ AlbisHeilMittelKatologPosition() - verschiebt den CGM Heilmittelkatalog in die Mitte des aktuellen Monitors und löst damit das ab und zu auftretende Problem das der Druck von F3 in der Heilmittelverordnung die Ausfüllhilfe nicht angezeigt hat. Die Ausfüllhilfe wird nur ausserhalb des sichtbaren Monitorbereiches positioniert und war deshalb nur nicht sichtbar
05.09.2019 F~ unbenutzte Funktionen entfernt, ältere Funktionen an die aktuellen Konventionen von Autohotkey_L 1.1.30 angepasst
23.08.2019 F+ AlbisDruckeLaborBlatt() - Ausdruck der Laborwerte über eine Aufruf durch ein Hotkey oder aus einem Skript heraus. Funktion hat einen automatischen Einstellungsdialog. Ein Ausdruck auch durch Übergabe des Druckernamens möglich. Der Funktion können auch Parameter wie ein Dateiname zur Erzeugung einer PDF-Datei übergeben werden.
09.08.2019 F~ AlbisLaborAuswaehlen() - bearbeitet jetzt auch das Fenster welches erscheint wenn keine Labordaten im Laborordner vorhanden sind. WinTitle: "ALBIS", WinText: "Keine Datei(en) im Pfad....."
07.08.2019 F+ AlbisIsElevated() stellt fest ob Albis mit UAC Virtualisierung gestartet wurde. Damit kann man die Notwendigkeit feststellen das aufgerufene Skripte ebenso mit UAC-Virtualisierung gestartet werden damit diese Albis steuern können.
27.06.2019 F+ AlbisDateiAnzeigen(file) - neue Funktion um in Albis z.B. ein mit dem Abrechnungshelfer erstelltes Protokoll anzeigen zu lassen
F+ AlbisErstelleTagesprotokoll() - erstellt Tagesprotokolle durch Aufruf des Albismenu, der Funktion können Daten in Form von Quartalsangaben oder Datums-Zeiträumen übergeben werden. Tagesprotokolle können automatisch gespeichert werden. Der Dokument-Tab des Tagesprotokoll kann auf Wunsch nach Abschluss aller Vorgänge automatisch geschlossen werden.
25.06.2019 F~ Verbesserungen in der Fenster Erkennung mehrerer Funktionen
F~ WaitForNewPopUpWindow() - der Funktion die Möglichkeit hinzugefügt nicht nur Popup-Fenster zu erkennen, sondern auch auf eine Änderung des Fenstertitels des Parent-Fenster zu reagieren, dies beschleunigt die Ausführung in den überwiegenden Fällen
23.06.2019 F~ AlbisAkteOeffnen() - Codeausführung ist jetzt deutlich schneller und zuverlässiger
F+ AlbisErstelleTagesprotokoll() - erstellt Tagesprotokolle durch Aufruf des Albismenu, der Funktion können Daten in Form von Quartalsangaben oder Datums-Zeiträumen übergeben werden. Tagesprotokolle können automatisch gespeichert werden. Der Dokument-Tab des Tagesprotokoll kann auf Wunsch nach Abschluss aller Vorgänge automatisch geschlossen werden.
19.06.2019 F+ AlbisCloseMDITab() - schließt ein per Title identifiziertes MDIClient Fenster (z.B. eine Tagesprotokollanzeige)
07.06.2019 F~ AlbisAutoLogin() und AlbisDefaultLogin() - beide Funktionen waren durch fehlerhafte Übergaben praktisch funktionslos, in einigen anderen Funktionen konnte Quellcode verkürzt werden durch ersetzen mit neuen Funktionen
01.06.2019 F~ MCSVianovaWebClient - Funktion bekam das Fenster nicht geschlossen, Bearbeitung dieses Fensters startet selbstständig alle weiteren notwendigen Schritte bis selbst die Labordaten in die Patientenakten eingefügt sind ; Codeoptimierungen in anderen Funktionen
26.05.2019 F+ AlbisSchreibeLkMitFaktor - Vereinfachung zum Senden eines Leistungskomplex Hotstrings
18.05.2019 F+ FormatedFileCreationTime() - Auslesen und Formatieren des Erstellungsdatums einer Datei ins deutsche Format
15.05.2019 F+ ControlCmd() - Funktionsumfang erweitert, Fehlerbereinigung
F~ Library entrümpelt!, unbenutzte Funktionen entfernt, weniger Code bei anderen Funktionen, kleinere Optimierungen
11.05.2019 F+ AlbisOeffnePatient() - zum Aufrufen des Dialogfensters 'Patient oeffnen'
04.05.2019 F+ ControlCmd() - smarte Funktion für die Vereinfachung der Robotic Process Automation (noch im Aufbau), welche nur noch einen Befehlsnamen für unterschiedliche Controls kennt, die Funktion entscheidet anhand des ClassNN Namens welche Befehle verwendet werden
F+ AlbisKarteikartenFensterAktivieren() - Funktion sollte vor Funktionen die aus der Karteikarte etwas lesen oder etwas schreiben wollen aufgerufen werden.
13.04.2019 F+ AlbisGetActiveWindowType() - erkennt welcher Inhalt im Patientenfenster geöffnet ist - Patientenakte/Laborblatt/Biometriedaten/Rechnungen/Abrechnung
09.04.2019 F+ AlbisOeffneLaborBlatt(), AlbisOeffneKarteikarte() - wechseln zum Laborblatt oder zur Patientenkarteikarte per Funktionsaufruf
31.03.2019 F+ AlbisMenu() - eigentlich nur ein Wrapper für den Send- oder Postmessage Befehl kann aber hier das zu erwartende Fenster übergeben werden um. Die Funktion wartet selbstständig bis das Fenster erscheint.
25.03.2019 F~ AlbisSetCaveZeile() - Code optimiert und versucht die Erkennung des Fensters deutlich zu verbessern, absolut fehlerfrei zu bekommen
25.03.2019 F~ WMIEnumProcessExist() - Codelänge gekürzt, dürfte minimal schneller sein
25.03.2019 F+ GetFocusedControlClassNN() - ClassNN des aktuell fokusierten Controls im aktiven Fenster ermitteln
21.03.2019 F~ AlbisSetzeProgrammDatum() - das eingetragene Datum wurde manchmal von Albis nicht akzeptiert und erzeugte ein Fehlerhinweis
17.02.2019 F+ AlbisStatus() - ermittelt ob Albis bereit ist Befehle zu empfangen
F+ AlbisGet_StammPos() - liest aus der Local.ini die Positionen der Stammdatenfenster aus
19.01.2019 F~ AlbisOeffneWartezimmer() - Code verbessert, gibt jetzt 0 oder 1 für "nicht erfolgreich" oder "erfolgreich geöffnet" zurück
08.01.2019 F+ AlbisLaborbuch() - Funktion ruft das Laborbuch auf
05.01.2019 F+ AlbisRestrainLabWindow() - diese Funktion bearbeitet die Fenster die beim Laborabruf oder beim Übertragen ins Laborblatt erscheinen, den Anfang macht das Fenster "GNR der Anford.Ident", für dieses Fenster speichert die Funktion Daten aus dem Fenster in eine Datei damit diese später in die Akte eingefügt werden können und sie wählt bei 2 vorliegenden Quartalen automatisch das richtige Quartal aus, AlbisRestrainLabWindow() soll das Laborabruf Modul zuverlässiger machen, da es automatisch durch die Hooks im Addendumskript aufgerufen wird.
F~ AlbisAutoLogin() - nach drücken auf Nein in der MsgBox wurde die Hookfunktion im Addendum-Skript erneut getriggert, die MsgBox erschien unmittelbar erneut so daß man manuell kein Passwort eingeben konnte, eine erneute Nachfrage wird jetzt für 30 Sekunden unterdrückt
04.01.2019 F+ ControlSetTextEx() - erweiterte ControlSetText Funktion - kontrolliert ob der Text tatsächlich eingefügt wurde und man kann noch eine Verzögerung übergeben
23.12.2018 F+ AlbisActivateMDITab() - aktiviert ein MDI-Tab, so kann man im MDI-Fenster "Wartezimmer" z.B. zwischen "Überblick" und "Arzt" oder auch weiter nach "Abgemeldet" umschalten
F+ ObjFindValue() - sucht nach dem übergebenen Wert in mehreren key:value Objekten, welche in einem indizierten Array enthalten sind, gibt den Index key zurück, gehört zu AlbisGetAllMDITabNames()
21.12.2018 F+ AlbisGetAllMDITabNames() und AlbisGetSpecificHMDI() - zwei neue Funktionen für das Handling von MDI Fenstern, mit der ersten Funktion kann man die Namen aller Tabs eines SysTabControls321 ermitteln, die zweite Funktion ermöglicht eine spezielle Fenster-ID eines MDI-Fenster zu ermitteln indem man einfach einen Namen übergibt z.B. AlbisGetSpecificHMDI("Wartezimmer")
F+ AlbisGetActiveWindowType() - ermittelt den aktuell bearbeiteten Dokumenttyp - Wartezimmer, Terminplaner, Akte
F+ AlbisGetActiveMDIChild() - ermittelt das Handle des aktuellen MDI-Childfensters
F+ AlbisGetMDIMaxStatus() - stellt fest ob das gewählte MDI Fenster maximiert und im Vordergrund ist
F+ AlbisGetAllMDIWin() - erstellt ein globales Objekt, welches die Namen, die Klassen und die Handles aller geöffneten MDI Fenster enthält
04.12.2018 F+ AlbisGetWartezimmerID() - ermittelt das Handle des Wartezimmerfenster innerhalb des MDI Fenster
11.11.2018 F~ etliche Funktionen komplett überarbeitet, insbesondere das Ermitteln von Patientendaten erfolgt aus dem Titel des Albisfenster per RegEx, alle Funktionen für Albis beginnen jetzt mit Albis....
31.10.2018 F~ die Namen lokaler Variablen geändert, wenn diese gleich globalen Variablen aus Funktionsbibliotheken waren
25.10.2018 F+ AlbisAutoLogin() und AlbisDefaultLogin, erste Funktion ist für automatisiertes Einloggen und automatisches Maximieren des Wartezimmerfensters, die zweite Funktion liest aus der Praxomat.ini die Passwörter für diesen Vorgang aus
24.10.2018 F+ AlbisGetAllOpenMDITabs - Patientenakten, Wartezimmer, Scheinrückseite, Labor werden in sogenannten MDI-Fenstern (Multidokumentfenster) angezeigt, diese sind sogenannte Child-Fenster eines Child-Fenster und über die internen Autohotkeybefehle wie WinGet nicht so einfach zu finden. Diese Funktion soll das umschalten zwischen den einzelnen Dokumentfenstern erleichtern
15.10.2018 M+ Beginn des AutoComplete-Modules! neue Albisfenster werden abgefangen, arbeite an der Verbesserung der Hook-Funktionen
F+ Datediff() - neue Funktion z.B. zum Ermitteln des Patientenalters hinzugefügt.
F+ AlbisPatGeburtsdatum() - ermittelt das Geburtsdatum aus dem aktuellen Fenstertitel des Albisfenster
13.10.2018 F~ Verbesserung der Funktionen AlbisGetCaveZeile() und AlbisSetCaveZeile() Funktion, enormer Geschwindigkeitszuwachs bei der Abarbeitung erreicht, von >5s runter auf 0.9s, und AlbisSetCaveZeile() überprüft jetzt ob die Zeile tatsächlich geschrieben wurde
12.10.2018 F~ etliche Funktionen hoffentlich verbessert, neue allgemeine Funktionen hinzugefügt, andere spezielle in die Skripte integriert
06.10.2018 F+ alle bisherigen Albisfenster sind jetzt per WinEventHook automatisiert, der CPU-Verbrauch ist runter auf 0,1%!!!
23.09.2018 M~ Laufzeitverbesserung und weniger Verbrauch von CPU-Zeit durch Nutzung der WinEventHook-Methode, keine Vielzahl an If-Abfragen, der Hook startet jeweils ein anderes Label für die Fensterbehandlung
07.09.2018 F+ kleine Funktion die per Alt+q erreicht werden kann, fertigt einen Screenshot einer auswählbaren Region an, der Screenshot wird in die Zwischenablage gelegt
04.09.2018 M~ die Fensterüberwachungsroutinen basieren jetzt zum größten Teil auf WinEventHooks , das spart bis zu 8% CPU Zeit
31.08.2018 M+ große Veränderung zumindestens namentlich. Praxomat_st gibt es nicht mehr, es heißt jetzt Addendum wie die Sammlung und ist das Hauptskript das die Steuerungs- und Überwachungsaufgaben hat
F+ ExceptionHelper() - zur Anzeige von runtime Fehlern in eigenen Funktionen
27.08.2018 F+ PraxTT - Tooltip Ersatz im Addendum/Nutzer Design mit off-Timer Feature
06.08.2018 F~ AlbisAkteOeffnen - Verbesserung der Funktion hinsichtlich Zuverlässigkeit. Jetzt umfassende Erkennung sämtlich möglicher sich öffnender Dialogfenster
30.07.2018 F+ neuer Hotkey Strg+F10 startet bei aktivem Albisfenster das Modul ScanPool - Suchen, Anzeigen, Signieren und automatisches Einsortieren neuer Patienten Befunde im PDF-Format in die Patientenakte
F~ AlbisUebertrageGrafischenBefund() - hat sich manchmal in einem Loop aufgehangen
29.07.2018 F+ AlbisAkteGeoeffnet() - zum Prüfen ob die Akte eines bestimmten Patienten geöffnet ist, muss auch im Vordergrund liegen
F+ WaitForNewPopUpWindow() - Funktion wartet auf ein neues PopUpWindow für ein als Handle übergebenes Parent Window und gibt Titel, Klasse, Text und Hwnd zurück, diese Funktion ersetzt in bestimmten Fällen das interne Kommande WinWait, insbesondere dann wenn in Abhängigkeit einer Eingabe in ein Dialogfeld mehrere Möglichkeiten bestehen, welches Fenster sich öffnen könnte und der Name des erscheinenden Fensters nicht vorher gesehen werden kann
F+ StrDiff() - SIFT3 : Super Fast and Accurate string distance algorithm, Nutze ich um Rechtschreibfehler auszugleichen
28.07.2018 F~ AlbisPrepareInput() - verbessert für mehr Flexibilität
15.07.2018 F~ Hotkeybereich verbessert, Code verschlankt
11.07.2018 F+ IndexedDir() - schreibt eine Liste mit allen pdf Befunden als Text Datei in den logsndata Ordner, dies dient der schnelleren Anzeige aller noch ungelesen Befunde
29.06.2018 F- ChipKartenNachfrage() - Funktion nach Praxomat_st verlegt, wird nur von diesem Skript benötigt
F~ AlbisIsBlocked() - optionaler Parameter hinzugefügt, die Funktion kann nur ein Statement zurückgeben oder aber mit oder ohne Rückfrage ein oder mehrere blockierende Fenster schließen
26.06.2018 F+ listDirectory() als spezifische Funktion für die Einsortierung vorab eingescannter Befunde erstellt
09.06.2018 F~ Bibliothek aufgeräumt, Layout verbessert, SaveHBitMapToFile für andere Screenshotoperationen hinzugefügt
#A# Addendum V0.72
F+ CheckAISConnector() - sieht nach ob der AIS Connector (Laborverbindungsprogramm) läuft und startet es bei Bedarf neu. Jeder Neustart der AIS Connector.exe wird mit der Funktion Errorbox() protokolliert.
31.05.2018 F+ ErrorBox() - eine Funktion um Daten ins Fehlerlogbuch (Verzeichnis: /logs'n'data/ErrorLogs/Errorbox.txt) zu schreiben. Die Funktion ermöglicht auch einen Screenshot eines ausgewählten Monitors oder aller Monitore zu erstellen.
25.05.2018 F~ Hotkeys verändert
24.05.2018 F- GDI_GUI(), HilfeMenu(), Help_HotKeyGui() - entfernt und dem Praxomat-Skript hinzugefügt, die Funktionen werden auch nur dort benötigt, somit schlankere Bibliothek
21.05.2018 F+ MonitorScreenShot() - schießt einen kompletten Monitorscreenshot, diese Funktion ist hilfreich bei der Fehlersuche in Skripten die unbeaufsichtigt laufen sollen
F+ RegReadUniCode64() - Registrierungsaufrufe von 32-Bit-Anwendungen, die auf 64-Bit-Maschinen ausgeführt werden, werden normalerweise vom System abgefangen und von HKLM / SOFTWARE an HKLM / SOFTWARE / Wow6432Node umgeleitet. Um diese Umleitung zu umgehen und um das in der Registry stehende Hauptverzeichnis von Addendum für Albis on Windows lesen zu können, musste ich diese Funktionen integrieren.
20.05.2018 F+ an der TrayTip Ausgabe gearbeitet. Das Infofenster zeigt ein paar mehr Informationen zum laufenden Skript an. Addendum V0.95
F- ToolTipAutomatic-Label - entfernt, wird nicht mehr gebraucht
18.05.2018 F~ PIC-GUI - kann jetzt ein Fenstername übergeben werden, die Funktion selbst gibt nur noch ein Handle zurück, im Prinzip kann diese Funktion für die Anzeige von Bildern genutzt werden aufgrund der Gestaltung kann bei optionaler Wahl eines anderen GUI-Titel die Funktion für eine vielfache und gleichzeitige Anzeige von GUI-Fenstern gentutzt werden
16.05.2018 F+ Json2Obj() - neue interne Funktion für die neue Funktion AlbisMenu()
15.05.2018 F- Modulstarter() - unbenutzter und auch nicht funktionierter Code entfernt
14.05.2018 F~ GetQuartal() - unerklärlicherweise hat diese Funktion, obwohl völlig fehlerhaft Monatelang die richtigen Ergebnisse ausgespuckt -> heute erstmals nicht, der gleich einen neue Funktionsübergabe spendiert "heute", damit muss nicht bei jedem Aufruf ein Datum generiert werden, wenn es nur um das aktuelle Quartal geht
F+ AlbisGetCaveZeile(), AlbisAkteOeffnen() Steuerung von Albis verbessert , es wird kein Tastenkürzel mehr an Albis gesendet, Umstellung auf SendMessage-Befehle beide Funktionen überprüfen jetzt ob die Ausführung ihrer gesendeten Befehle an Albis erfolgreich waren
F+~ StarteAlbis() - Run Albis,, +UseErrorLevel, + AlbisPID zum Ermitteln das der Startvorgang erfolgreich lief.
Fehlerprotokoll spendiert, absofort werden alle Fehlerausgaben in den Ordner logs'n'data/Errologs in der Datei Errorbox.txt im Ordner protokolliert und im speziellen Fall dieser Funktion wird zusätzlich ein Screenshot dort abgelegt.
13.05.2018 F+ TimeCode(MD) - kleine Funktion die bei MD=1 Datum und Zeit(inkl. Millisekunden) als String zurückgibt, für Protokollfunktionen z.B. wann ein Fehler aufgetreten ist
F+ AlbisCloseLastActivePopups() - schließt alle blockierenden PopUp-Fenster (Formulare, Menufenster) die sonst interagierende Befehle eines Skript blockieren würden.
F+ AlbisIsBlocked() - stellt fest ob das Albis Fenster deaktiviert ist (durch ein child Fenster blockiert) - man kann dieser Funktion auch andere Fensterhandle übergeben
11.05.2018 F~ StarteAlbis() - Korrektur eines Fehlers bei der Erkennung das das Wartezimmer-Fenster noch nicht geöffnet ist, Implementation zweier Funktioen (siehe nächste) zur Erkennung blockierender 'child' Fenster die ein Arbeiten mit einem schon geöffneten Albis behindern würden
F+~ StarteAlbis(CompName, User, Pass, CallingProcess, AddendumDir, Auto=0) - Funktion verbessert.
1. AutoStartfunktion integriert - ALBIS läßt sich mit der Einstellung (Auto=1) ohne weitere Nachfrage starten
2. volle Automation - Funktion kann gestartet werden, selbst wenn ALBIS schon gestartet ist, erkennt selbstständig z.B. das noch kein Loginvorgang stattgefunden hat und trägt selbstständig den Nutzer und das Passwort (wie in der Praxomat.ini hinterlegt) ein und öffnet dann das Wartezimmer-Fenster. Muss nichts mehr durchgeführt werden, findet auch keine Interaktion mit Albis statt.
3. die Maximierung des Wartezimmer-Fenster funktioniert jetzt durch Ermitteln der Fensterhandles, dazu wurde die FindChildWindow() integriert.
F+ WinGetMinMaxState(hwnd) - Funktion gibt den Zustand eines Fensters zurück, z steht für "zoomed" oder maximiert, i steht für iconic oder minimiert, die Funktion kann auch mit MDI_ChildWindows umgehen, vorausgesetzt man hat das entsprechende Handle des Fenster, dieses kann mit FindChildWindow() erhalten werden
10.05.2018 F+ FindChildWindow(ParentObject, ChildWinTitle, DetectHiddenWindow="On"),[EnumChildWindow()] - diese Funktion findet alle ChildWindows eines ParentWindow, /
F+ StarteAlbis(....., Auto=0) zweiten Startmodus hinzugefügt, (Auto=0) Start mit Rückfrage - wie bisher, [Auto=1] Start ohne Rückfrage und ohne Anzeige von ToolTips oder Hinweisen
09.05.2018 F+ AlbisOptPatientenfenster(nr) öffnet das Optionsfenster - Patientenfenster - für das Labormodul Laborabruf eingestellt, nicht nur zum Aufrufen dieses Fensters, die Funktion gibt das Handle
06.05.2018 F+ TabCtrl_GetCurSel(), TabCtrl_GetItemText() - die erste Funktion gibt den 1-basierten Index der aktuell ausgewählten Registerkarte zurück, die zweite gibt den Registerkarten-Namen zurücke
03.05.2018 F~+ AlbisGetCaveZeile(), AlbisAkteOeffnen() Steuerung von Albis verbessert , es wird kein Tastenkürzel mehr an Albis gesendet, Umstellung auf SendMessage-Befehle, beide Funktionen überprüfen jetzt ob die Ausführung ihrer gesendeten Befehle an Albis erfolgreich war
28.04.2018 F~ ExtractFromString-function hat eine bessere Beschreibung bekommen
F+ AlbisHotKeyHilfe() - Hotkeyanzeige für die Statusbar des Albisfenster, ursprünglich Bestandteil des Praxomat_st Skriptes, jetzt eine ausgelagerte Funktion, verbesserte Formatierung
24.04.2018 F+ Zimmerauffuellen() und Kofferauffuellen() - die Errinnerungsfenster für die Schwestern
23.04.2018 F+ TrayMenu geändert, Addendum hat ein Infofenster erhalten
23.04.2018 MF+ AlbisCaveVonToolTip() - Overlay-Gui für das Cave! von Fenster - Errinnerung daran das noch keine Impfungen eingetragen wurden
22.04.2018 F~ Quell-Code der Library übersichtlicher gestaltet, faltbare nummerierte Unterteilungen, Funktionen sind jeweils einmal aufgeführt damit man nicht lange suchen muss
21.04.2018 F+ MenuGetAll() und MenuGetAll_sub() aus Lexiko's hervorragendem Menu-Search.ahk Skript
15.04.2018 F+ den Funktionen SureControlClick() und SureControlCheck() kann jetzt auch nur die ID des Fenster übergeben werden
14.04.2018 F~ Zimmerauffuellen() und Kofferauffuellen() - die Errinnerungsfenster für die Schwestern
14.04.2018 F+ LDT2CSV(file, raw=0): LDT Parser - splittet die Daten auf und erzeugt eine csv Datei z.B. für Excelauswertungen oder anderes
raw = 0 - es werden die Feldkennungen in Klartext übersetzt
raw = 1 - er trennt die Zeilen nur auf und läßt die Zifferncodes erhalten
bekanntes Problem:
LDT-Dateien werden in ISO 8859-15 Latin 9 kodiert, bisher habe ich noch keine Möglichkeit für eine Konvertierung nach UTF-8 gefunden
13.04.2018 F~ DriveData(Drv): Hook zur automatischen Erkennung einer neu angelegten DICOM CD hat sich auch bei neu eingebunden Festplatten (z.B. Netzwerklaufwerke) aktiviert. Startet jetzt nur noch bei folgenden Filesystemen: CDFS und UDF
11.04.2018 F+ SprechzimmerAuffuellen(nr,AddendumDir) eine GUI
die Schwestern vergessen manchmal die Sprechzimmer mit Formularen und Arbeitsmaterialien zu befüllen, diese Funktion erstellt ein GUI als Errinnerungsfunktion am Anmeldungsrechner, gesteuert wird dies über das Praxomat_st Skript , es wird an einem Tag der Woche angezeigt.
In der Textdatei (Die Liste.txt), welche im Praxomat_st Skriptverzeichnis liegen sollte, kann man die benötigten Materialien eintragen.
Die Funktion kann je nach ausgewählter Schriftart eine mehrspaltige Liste anzeigen.
F+- AlbisAbrechnungsscheinVorhanden(Quartal) - im Albisfenster findet sich eine ComboBox , diese gehört zur Patientenfenster Toolbar, dort läßt sich per ControlGet - die Information auslesen, ob ein gültiger Abrechnungsschein angelegt wurde. Dies verhindert das Anlegen der Vorsorgeformulare falls ein Patient versehentlich in die GVU Liste aufgenommen wurde.
06.04.2018 F+ FindWindow(WinTitle,WinClass:="", WinText:="", DetectHiddenWins = off, DectectHiddenTexts = off) - neue Funktion für die Suche nach einem ganz bestimmten Fenster - gibt die ID zurück
04.04.2018 F+ AlbisLeseProgrammDatum() - Auslesen des eingestellten Programmdatums. Praxomat_Functions enthält jetzt 31 Funktionen mit direktem Zugriff auf Albis
15.03.2018 F+ AlbisInBehandlungSetzen() - es wird die Raumnummer des jeweiligen Sprechzimmer in dem die Funktion aufgerufen wird eingetragen, es wird die Zimmer Nr. hinzugefügt oder bei Wechsel eines Raumes ersetzt - im Moment nur Zahlenersetzung
28.01.2018 F+ WinForms_GetClassNN(WinID, fromElement, ElementName) - ermittelt das ClassNN eines Elementes (z.B. Button) in einem Fenster wenn es zum Microsoft WinForms Framework gehört
23.01.2018 F+~ AlbisInBehandlungSetzen() ; was vorher nach If then Abfrage kam ist jetzt in eine Funktion ausgelagert. Dabei einen Fehler beseitigt der das Aufrufen verhindern konnte und wartet jetzt so lange bis der gewählte Patient verfügbar ist
F+ AlbisPatientenKarteikarte(), stellt die Karteikarte per Strg+Shift+F9 bereit
F+ AlbisSucheInAkte (inhalt, Richtung="backward", Vorkommen="") - brauche ich erstmal um herauszufinden wann die letzte GVU wirklich abgerechnet wurde, die Funktion ist offen gestaltet, so daß sie für andere Zwecke ebenso funktionsfähig ist - (Funktion ist sehr unzuverlässig aufgrund der vielen überlagerten zumeist verstecken Fenster im Bereich der Akte)
F+ AlbisGetCaveZeile(nr) - auslesen einer Zeile aus einem Cave! von Fenster - mit Versuch der Erkennung falls der Zugriff fehl schlägt
F~+ WaitAndActivate (WinTitle, Debug=1, DbgWhwnd=0) verbessert und eine extra Funktion ausschließlich für Albis hinzugefügt AlbisWaitAndActivate(WinTitle, Debug=1, DbgWhwnd=0) das Debugging ist eigentlich keines, sondern nur eine Listview Ausgabe
06.01.2018 F+ zwei neue Funktionen für bessere Interaktionen mit Controls erstellt: SureControlClick(CName, WinTitle, WinText="")
SureControlCheck(CName, WinTitle, WinText="")
die Funktionen prüfen ob der Befehl an das Control wirklich ausgeführt wurde.
F+ Funktion für Startkontrolle und Loginautomation für Albis in die Functions aufgenommen, dafür wurde diese Funktion aus Dicom2Albis entfernt. Jetzt genügt ein 3zeiliger Code für die Überprüfung ob Albis läuft und um Albis zu starten und sich einzuloggen
F~ bei Privatpatienten wurde die Gesprächszeit nicht in die Akte geschrieben, korrigiert
22.12.2017 F~ das Auswählen des 'Abbrechen' Buttons führte dazu das die TenMinutes-Gui Routine in der Warteschleife verharrte , hat immer auf einen lko Wert <> 0 gewartet, gelöst indem lko bei Abbruch auf 1 gesetzt wurde und im Praxomat Programm zusätzlich abgefragt wird das lko nicht 1 ist, zudem wird jedem Patienten der unter die 10 Minuten kommt ein lko apk (Arzt-Patienten-Kontakt) in die Akte eingeschrieben
19.12.2017 F~ die Helper_Gui aus dem Praxomat Skript ist jetzt als Funktion ausgelagert, dies war keine wirkliche Fehlerbereinigung
11.12.2017 F~ Fehler in der Funktion GetCurrentAlbisPatID() - PatName:= SubStr(WT, PosA + 1, PosB - [->PosA<-] - 1) - das PosA in den [] Klammern fehlte, deshalb konnte er beim Vergleichen des aktuellen Patienten den Speichervorgang nicht auslösen
30.11.2017 F+ Funktionen für das direkte Einschreiben von Ziffern in die Akte hinterlegt
AlbisPrepareInput(Name)
AlbisSendInputLT(kk, inhalt, kk_Ausnahme, kk_voll)
Versicherungsstatus(PatData)

Abrechnungshelfer.png Abrechnungshelfer

Datum Teil Beschreibung
04.07.2020 F+ Abrechnungshelfer - Makro 'fehlende Chronikerkomplexe': erleichterte Eintragung der Ziffern, findet mehr Behandlungstage, einige Verbesserungen bezüglich Zuverlässigkeit und Flexibilität
03.01.2020 F+ Vollständigiger Parser der Tagesprotokollausgaben erreicht. Die Daten des Protokolls werden in ein Autohotkey-Objekt umgewandelt und sind damit Analysen schneller zugänglich.
17.12.2019 F+ Das Makro: "freie Statistik" hat eine Gui bekommen und wird in Zukunft interessante Daten ermittlen können
16.12.2019 F+ auswertbare Tagesprotokolle werden als auswählbare Baumstruktur (Treeview) angezeigt und können einzeln oder insgesamt ausgewählt werden.