Ich möchte ein Script schreiben, welches automatisch einen Marker setzt wenn folgende Bedingungen VORLIEGEN

1. Patientenalter > 65

2. Geschlecht männlich

3. EBM Ziffer 01748 noch NIE abgerechnet

Mein Entwurf

 

returnvalue = 0

alter = jahre(p_geburt)

leistungen = false

for j in kvleistungen:

if j == 01748:

leistungen = true

for ke in karteieintraege:

if alter >= 65 && p_geschlecht == 'M' && leistungen == false

returnvalue = 1

 

funktioniert nur für die Prüfung der ersten zwei Bedingungen. Wer kennt sich hiermit aus???
Gefragt von (2.7k Punkte)
0 Punkte

1 Antwort

Versuchen Sie mal:

returnvalue = 0
alter = jahre(p_geburt)
leistungen = False

for j in kvleistungen:
    if j['code'] == '01748':
        leistungen = True

if alter >= 65 and p_geschlecht == 'M' and leistungen == False:
    returnvalue = 1

So funktioniert zumindest die Python-Syntax (True und False großgeschrieben, Strings (ihre EBM-Ziffer) in Anführungszeichen, logisches UND als "and", Einrückungen nach für for und if). Die Karteieinträge nutzen Sie ja gar nicht, die können also weg.
Beantwortet von (2.1k Punkte)
+2 Punkte
Danke, funktioniert!
Bei mir geht das Skript nicht, obwohl 1 zu 1 kopiert. Ebensowenig das Chronikerskript:

#Parameter
intervall = 1
kvziffern = ['03220']
hzvziffern = ['0003']
    
#Code
returnvalue = 0

kv = select(kvleistungen, startQuartal=heuteQuartal-intervall, endQuartal=heuteQuartal)
hzv = select(hzvleistungen, startQuartal=heuteQuartal-intervall, endQuartal=heuteQuartal)

for leistung in kv:
  if leistung['code'] in hzvziffern:
    returnvalue = 1
for leistung in hzv:
  if leistung['code'] in kvziffern:
    returnvalue = 1

 

Wer kann helfen? Danke!
Formal sieht ihr Skript korrekt aus, was funktioniert denn nicht?

Wenn Sie sich heute (16.4.) zwischen 15:30 und 20:00 beim Support melden, kann der zuständige Entwickler mit Ihnen draufschauen.
16,080 Beiträge
23,847 Antworten
41,974 Kommentare
11,661 Nutzer