BEDINGTE Freigabe der macOS Version Sequoia für tomedo®
Alle Hinweise und Informationen finden Sie unter folgendem Link.
Hallo liebes Tomedo Entwickler Team,

gibt es eine Möglichkeit Patientenströme und Einzugsgebiete graphisch auf eine Apple Maps einzutragen?

Ich stelle mir das so vor:

1.) Jeder Patient nach geografischer Adresse ein Pixel

2.) Einstellungsmöglichkeit der Intervalls (Quartal/Jahr)

3.) Verlaufsdarstellung über die Jahre.

4.) Besuchsgründe ?

5.) Kann der KV ggf auch belegen, welche Gebiete mitversorgt werden und wie sich der Wegvall + Zusammenlegung von Arztpraxen auf die eigen Praxis auswirkt.

So kann man geziehlt  Gebiete bewerben oder die dortigen Zuweiser etwas mehr bespaßen etc. Ich denke es ist eine interessante Option.

mfg

Carsten Wach
Gefragt in Wunsch von (2.4k Punkte)
+4 Punkte
Fände ich auch sehr interessant.

3 Antworten

So ein Python-Projekt reizt mich dann doch am späten Abend...

Am besten sollte so etwas natürlich in tomedo direkt installiert werden. Solange dies nicht verfügbar ist, kann man sich aber mittels CSV-Export einer Patientendatei mit Adressdaten und beliebigen Markern und einem Pythonprogramm behelfen. Ich kann selbst wirklich kaum damit umgehen, mittels ChatGPT kommt man aber recht weit. Zugriffe auf Open source-Kartenmaterial geht z.B. über opencagedata.com (kostenloser Zugriff bis 2500 requests/Tag, 10.000/d für 45$/Monat). Das Programm (hier mal für die farbliche Differenzierung von einigen COPD-Testpatienten in Bremen mit verschiedenem Status: Raucher / Ex-Raucher / Nie-Raucher (in Rot / Gelb / Grün, zugegeben: eine sinnfreie Test-Thematik...).

Das Programm dazu:

import pandas as pd
from opencage.geocoder import OpenCageGeocode
import folium
import time

# OpenCage API-Schlüssel (ersetze durch deinen eigenen)
api_key = 'YOUR_API_KEY'
geocoder = OpenCageGeocode(api_key)

# CSV-Datei laden
csv_datei = "/Users/hansjoerg/Downloads/tomedoExport.csv"
df = pd.read_csv(csv_datei)

# Erstelle eine leere Karte (zentriert auf Deutschland)
karte = folium.Map(location=[51.1657, 10.4515], zoom_start=6)

# Funktion, um Markerfarbe basierend auf dem Inhalt der "marker"-Spalte zu bestimmen
def bestimme_marker_farbe(marker_status):
    # Aufspaltung der "marker"-Spalte nach gängigen Trennzeichen (Komma, Semikolon, Leerzeichen)
    marker_liste = [item.strip().lower() for item in re.split(',|;|\s+', marker_status)]
    
    if "raucher" in marker_liste:
        return "red"
    elif "exraucher" in marker_liste:
        return "orange"
    elif "nie-raucher" in marker_liste:
        return "green"
    else:
        return "blue"  # Standardfarbe für Patienten ohne spezifischen Marker

# Adressen verarbeiten und auf der Karte anzeigen
for index, row in df.iterrows():
    adresse = f"{row['strasse']}, {row['plz']} {row['ort']}"
    marker_status = row.get('marker', 'Unbekannt')
    try:
        result = geocoder.geocode(adresse)
        if result:
            location = result[0]['geometry']
            lat, lng = location['lat'], location['lng']
            marker_farbe = bestimme_marker_farbe(marker_status)
            folium.Marker([lat, lng], 
                          popup=f"{adresse} - {marker_status}", 
                          icon=folium.Icon(color=marker_farbe)).add_to(karte)
            print(f"Marker hinzugefügt für: {adresse}")
        else:
            print(f"Adresse nicht gefunden: {adresse}")
    except Exception as e:
        print(f"Fehler bei der Adresse: {adresse}. Fehler: {str(e)}")
    
    # Kleine Verzögerung einfügen, um das Rate-Limit zu respektieren
    time.sleep(1)

# Karte speichern
karte_speicherpfad = "/Users/hansjoerg/Downloads/test_bremen_map_final.html"
karte.save(karte_speicherpfad)
print(f"Karte wurde erfolgreich unter {karte_speicherpfad} gespeichert.")

Ich habe das Programm in Jupyter Notebook (Anaconda) laufen lassen, da hat man als Anfänger die geringsten Probleme.

Wenn man Kartenmaterial mit KV-Grenzen haben will, fängt es an kompliziert zu werden. Das müsste man zunächst erst mal suchen. 

Beantwortet von (7.1k Punkte)
+2 Punkte
Super Projekt!

 

-js
Das verdeutlich erneut, was eine tomedo-API alles für Möglichkeiten bietet...
Sehr schön... mega.. jetzt das mit Farbe und annimiert über die letzten Jahre.....:-).

-Kann dann auch schauen wo die privaten herkommen, bzw nicht herkommen.

-Kann dann gezielt Gebiete bewerben.

vielleicht mal das feature bei Zollsoft prüfen??? Umsetzung sollte überschaubar sein.

lg Carsten Wach
Würde ich auch nutzen. Vllt im Cockpit 4.0

 

-js
Beantwortet von (5.5k Punkte)
0 Punkte

Durch Zufall bin ich über die Statistikfunktion gestolpert, die Adress-Punkte auf einer Karte anzeigen kann (was ich mühsam mittels Python zuvor schon mal gebastelt hatte...). Für bestimmte Anwendungszwecke kann man also ganz bequem mit einem Klick aus der tomedo-Statistikfunktion (Button "Aktionen..." unten rechts) heraus Übersichtskarten mit Patientenstandorten erstellen (einige Einschränkungen folgen unten).

Eine farblich differenzierte Markierung von Patienten geht hier (bisher?) noch nicht. Außerdem benötigt die Berechnung offenbar viel Rechenleistung, alles über 200 Punkte dauerte bei ewig oder hängte sich sogar auf. Wenn man sieht, was solche Karten-API-Anfragen frei im Web kosten (s. meinen Eintrag weiter oben), verstehe ich das sogar. 

Die in der Eingangsfrage gestellten Anforderungen (zeitliche Eingrenzung, Besuchsgrund, Verlaufsdarstellung über die Jahre) lassen sich somit in jeweils neu erstellten Statistikabfragen mit einzelnen Karten beantworten. 

Coole Funktion, wie so oft bisher scheinbar im Dornröschenschlaf.

Beantwortet von (7.1k Punkte)
0 Punkte
18,376 Beiträge
26,639 Antworten
47,771 Kommentare
29,006 Nutzer