COPY T_KSTTRG (KSTTRN,KIKNR,KSTBZG,KPLZ,KORT)
FROM '/KURVAS/Daten-Import/Kostenträger.csv'
DELIMITER E'\x3B'
CSV HEADER;
Sonderfelder allgemein
Case When
Abreise in Auswertungszeitraum
Case When ABRDATUME Between $VONDATUMISO$ And $BISDATUMISO$ then ABRDATUME end
Abreisezeit wenn Abreise in Zeitraum
Case When ABRDATUME Between $VONDATUMISO$ And $BISDATUMISO$ then ABRZT end
Anreise
Case When ANRDATUM Between $VONDATUMISO$ And $BISDATUMISO$ Then 'An- reise' End
Anreise Wenn/Dann
Case When ANRDATUM Between $VONDATUMISO$ And $BISDATUMISO$ then ANRDATUM end
Anreise oder Abreise im Auswertungszeitraum
case When ABRDATUME between $VONDATUMISO$ And $BISDATUMISO$ then ABRDATUME When ANRDATUM between $VONDATUMISO$ And $BISDATUMISO$ then ANRDATUM end
Anreisedatum
Case When ANRDATUM Between $VONDATUMISO$ And $BISDATUMISO$ Then $ANRDATUM$ End
Anreisezeit wenn Areise in Zeitraum
Case When ANRDATUM Between $VONDATUMISO$ And $BISDATUMISO$ then ANRZT end
Endreinigung
Case When ABRDATUME Between $VONDATUMISO$ And $BISDATUMISO$ Then 'Endreinigung' End
Reinigung
Case When ANRDATUM Between $VONDATUMISO$ And $BISDATUMISO$ and ABRDATUME Between $VONDATUMISO$ And $BISDATUMISO$ Then 'Anreise/Endreinigung' When ANRDATUM Between $VONDATUMISO$ And $BISDATUMISO$ Then 'Anreise' When ABRDATUME Between $VONDATUMISO$ And $BISDATUMISO$ Then 'Endreinigung' End
Gruppe von Datum
Case When ABRDATUME = $VONDATUMISO$ or ANRDATUM = $VONDATUMISO$ then $VONDATUMISO$ End
Letzte Abreise
(Select Coalesce(Char(Min(BDVONDAT), EUR), 'keine Folgebelegung') From T#DSPBET As X
Where X.BDSTAT = ZNSTAT And X.BDZINR = ZNZINR And X.BDVONDAT > $VONDATUMISO$)
Nächste Anreise
(case When ABRDATUME between $VONDATUMISO$ And $BISDATUMISO$ then(Select Coalesce(Char(Min(BDVONDAT), EUR), 'keine Folgebelegung') From T#DSPBET As X
Where X.BDSTAT = ZNSTAT And X.BDZINR = ZNZINR And X.BDVONDAT >= ABRDATUME)end)
Zimmerkriterium = '1K'
Case When T_DSPZNR.ZNKRIT01 = '1K' then 1 Else 0 End
Left Outer Join, Basis ist vorl. BD:
FAMSTM00 On FAMPAT = AUFNR
Left Outer Join T_ZIMRSV On ZRTYP = 'FAM' And ZRKEY = FAMNR
Left Outer Join T_DSPZNR On ZNSTAT = ZRSTAT And ZNZINR = ZRZINR || '1'
Anzahl Vorsorgekinder/unter 3.J
PKZ1 = 'E' and (
(Select Count(*) From FAMSTM00 As F3 Where F3.FAMNR = (Select F1.FAMNR From FAMSTM00 As F1 Where F1.FAMPAT = AUFNR) And F3.FAMLFD In (Select F2.FAMLFD From KPSTM00 As K1, FAMSTM00 As F2
Where K1.AUFNR = F2.FAMPAT And F2.FAMNR = F3.FAMNR
And K1.PKZ2 = 'V' And F3.FAMLFD > 1)) > 0
Or
(Select Count(*) From FAMSTM00 As F3 Where F3.FAMNR = (Select F1.FAMNR From FAMSTM00 As F1 Where F1.FAMPAT = AUFNR) And F3.FAMLFD In (Select F2.FAMLFD From KPSTM00 As K1, FAMSTM00 As F2
Where K1.AUFNR = F2.FAMPAT And F2.FAMNR = F3.FAMNR
And K1.ANRDATUM >= '1980-01-01'
And ALTERJJ(ANRDATUM, ABRDATUME, GEBDATUM, 'ANREISE') < 3 And F3.FAMLFD > 0)) > 0)
Dazugehöriges Sonderfeld:
(Select Count(*) From FAMSTM00 As F3 Where F3.FAMNR =
(Select F1.FAMNR From FAMSTM00 As F1 Where F1.FAMPAT = AUFNR)
And F3.FAMLFD In (Select F2.FAMLFD From KPSTM00 As K1, FAMSTM00 As F2
Where K1.AUFNR = F2.FAMPAT And F2.FAMNR = F3.FAMNR
And K1.PKZ2 = 'V' And F3.FAMLFD > 1))
Taschengeld
kstr4N > 0 And TRSA = 'W1'
Dazugehöriges Sonderfeld:
(Select Sum(TRBUBT) from KPTRPD00 where TRPANR = AUFNR and TRKANR = 'D' and TRSA = 'W1')
Anzeige: der beim Zuweiser/4. Kostenträgers hinterlegte Betrag für das Taschengeld. Auswahl 1. – 5. Kostenträger: TRKANR = 'x' (1=A, 2=B usw.)
Aufnahme-/Zuweisungs-Diagnosen
(Select Trim(Trailing '; ' From AUFDIAG01T || '; ' || AUFDIAG02T || '; ' || AUFDIAG03T || '; ' || AUFDIAG04T || '; ' || AUFDIAG05T || '; ' || AUFDIAG06T || '; ' || AUFDIAG07T || '; ' || AUFDIAG08T || '; ' || AUFDIAG09T || '; ' || AUFDIAG10T) From V_DIAG_AUF Where DGAUFNR = AUFNR)
Alle Zuweisungs-Diagnosen als Fließtext
(Select Trim(Trailing '; ' From ZUWDIAG01T || '; ' || ZUWDIAG02T || '; ' || ZUWDIAG03T || '; ' || ZUWDIAG04T || '; ' || ZUWDIAG05T || '; ' || ZUWDIAG06T || '; ' || ZUWDIAG07T || '; ' || ZUWDIAG08T || '; ' || ZUWDIAG09T || '; ' || ZUWDIAG10T) From V_DIAG_ZUW Where DGAUFNR = AUFNR)
Station/Zimmer-Nr. ohne Trennzeichen als fortlaufende Nr.
PSTAT || PZINR1
Anzahl Patientenkinder
(Select Count(*) From FAMSTM00 As F3 Where F3.FAMNR =
(Select F1.FAMNR From FAMSTM00 As F1 Where F1.FAMPAT = AUFNR)
And F3.FAMLFD In (Select F2.FAMLFD From KPSTM00 As K1, FAMSTM00 As F2
Where K1.AUFNR = F2.FAMPAT And F2.FAMNR = F3.FAMNR
And ALTERJJ(ANRDDH, PGEBDH) < 18 And F3.FAMLFD > 0 and PKZ2 = ' '))
Sonderfeld, um auf Tischkarten zusätzlich zum Namen der Mutter noch die Vornamen der Kinder zu drucken
Formel:
'mit ' || (Select Trim(PNAMEV) From KPSTM00 Where AUFNR = FAM01.FAMPAT) || Case When FAM02.FAMLFD Is Null Then '' Else ', ' || (Select Trim(PNAMEV) From KPSTM00 Where AUFNR = FAM02.FAMPAT) End ||
Case When FAM03.FAMLFD Is Null Then '' Else ', ' || (Select Trim(PNAMEV) From KPSTM00 Where AUFNR = FAM03.FAMPAT) End ||
Case When FAM04.FAMLFD Is Null Then '' Else ', ' || (Select Trim(PNAMEV) From KPSTM00 Where AUFNR = FAM04.FAMPAT) End ||
Case When FAM05.FAMLFD Is Null Then '' Else ', ' || (Select Trim(PNAMEV) From KPSTM00 Where AUFNR = FAM04.FAMPAT) End
Left Outer Join:
FAMSTM00 As FAM00 On KPSTM00.AUFNR = FAM00.FAMPAT
Left Outer Join FAMSTM00 As FAM01 On FAM01.FAMNR = FAM00.FAMNR And FAM01.FAMLFD = 2
Left Outer Join FAMSTM00 As FAM02 On FAM02.FAMNR = FAM00.FAMNR And FAM02.FAMLFD = 3
Left Outer Join FAMSTM00 As FAM03 On FAM03.FAMNR = FAM00.FAMNR And FAM03.FAMLFD = 4
Left Outer Join FAMSTM00 As FAM04 On FAM04.FAMNR = FAM00.FAMNR And FAM04.FAMLFD = 5
Left Outer Join FAMSTM00 As FAM05 On FAM05.FAMNR = FAM00.FAMNR And FAM05.FAMLFD = 6
Vor- und Nachnamen getrennt durch ein Leerzeichen ausgeben
Trim(PNAMEV) || ' ' || Trim(PNAMEN)
Anzahl der Krankenhaustage im Zeitraum
Formel:
(Select Count(*) From T_ABRFKT Where AFPATNR = AUFNR And AFKST = 1 And AFTYP = 'E' And AFDATUM Between ANRDATUM And ABRDATUME And AFSTATUS = 'K')
Abfrage-Bedingung-SQL:
(Select Count(*) From T_ABRFKT Where AFPATNR = AUFNR And AFKST = 1 And AFTYP = 'E' And AFDATUM Between ANRDATUM And ABRDATUME And AFSTATUS = 'K')> 0
Leerzeile unter Bedingung ausgeben in Kombi mit mehrzeiligen Reporten
Case When PKZ1 = 'E' And PKZ2 = 'V' Then Trim(PNAME) || Chr(10) Else PNAME End
Und dann ganz normal in Zeile 2 weitermachen.
Gruppen-Überschrift im Reporter, Datum und Uhrzeit formatieren:
new SimpleDateFormat("EEEE, dd.MM.yyyy").format($F{LTDATUMVON}.getTime())
new SimpleDateFormat("HH:mm").format($F{LTZEITVON}.getTime())
Sonderfelder - nur für Linux
Listenausgabe des Alters der Kinder für eine Zeile in der Art "Frau Muster mit ihren Kindern im Alter von xx, yy und zz Jahren"
Sonderfeld-Definition (nur für PostgreSQL, nicht mit System i möglich):
'von ' || Coalesce((Select String_Agg(ALTERJJ(KIND.ANRDATUM, KIND.ABRDATUME, KIND.GEBDATUM, 'ANREISE')::Text, ', ' Order By K.FAMLFD Desc)
From FAMSTM00 As F1 Join FAMSTM00 As K On K.FAMNR = F1.FAMNR And K.FAMLFD > 2 Join KPSTM00 As KIND On KIND.AUFNR = K.FAMPAT Where F1.FAMPAT = KPSTM00.AUFNR), '') ||
Case When (Select Max(K.FAMLFD) From FAMSTM00 As F1 Join FAMSTM00 As K On F1.FAMNR = K.FAMNR Where F1.FAMPAT = AUFNR) = 2 Then '' Else ' und ' End ||
(Select ALTERJJ(KIND.ANRDATUM, KIND.ABRDATUME, KIND.GEBDATUM, 'ANREISE')::Text || ' Jahren'
From FAMSTM00 As F1 Join FAMSTM00 As K On K.FAMNR = F1.FAMNR And K.FAMLFD = 2 Join KPSTM00 As KIND On KIND.AUFNR = K.FAMPAT Where F1.FAMPAT = KPSTM00.AUFNR
Nachnamen der Kinder, wenn anders als Mutter:
(Select String_Agg(Distinct(PNAMEN), ', ') From FAMSTM00 As F Join KPSTM00 As K On K.AUFNR = F.FAMPAT Where F.FAMNR = FAMSTM00.FAMNR And F.FAMLFD > 1 And K.PNAMEN <> KPSTM00.PNAMEN And K.PKZ1 = 'K')
Gäste innerhalb der Familie (PKZ1 = 'E' und PKZ2 = 'B':
(Select String_Agg(PNAME, ', ') From FAMSTM00 As F Join KPSTM00 As K On K.AUFNR = F.FAMPAT Where F.FAMNR = FAMSTM00.FAMNR And K.PKZ1 = 'E' And K.PKZ2 = 'B')
Unterschiedliche Zimmer der Familie (endg. BD):
(Select String_Agg(Distinct(Trim(PSTAT) || '/' || PZINR1::Text), ', ') From FAMSTM00 As F Join KPSTM00 As K On K.AUFNR = F.FAMPAT Where F.FAMNR = FAMSTM00.FAMNR)
Alle Positionen einer Dokumentation einfügen (Textbausteine)
(With X As (Select LDDATUM, LDZEIT, LDDATEN From T_LABDTA Where LDAUFN = AUFNR And LDFELDID = '167ca4a683094e4390e245ac850ded04' Order By LDDATUM Desc, LDZEIT Desc)
Select String_Agg(To_Char(To_Timestamp(LDDATUM, LDZEIT), 'DD.MM.YYYY HH24:MI') || ' ' || LDDATEN, E'\u000A' || '
') From X)
Ersten oder letzen Eintrag einer Dokumentation einfügen (Textbausteine)
case when LAB_DATEN(AUFNR, 'a9ca9a98d92140778c05febc9742624e', 'ERSTER') > ' ' then LAB_DATEN(AUFNR, 'a9ca9a98d92140778c05febc9742624e', 'ERSTER') else ' ' End
Mit diesen Abfragen werden PKZ selektiert
Select * From
Übersicht Patienten mit gewünschten PKZ
PKZ1 = 'K'
PKZ2 = 'V' or PKZ2 = 'R'
PKZ1 = 'K' and PKZ2 = 'V'
Übersicht der Patienten in einer Gruppe (hier: Kind + Gruppe)
Platzhalter xx gegen das entsprechende Gruppenkürzel austauschen
Auswahl eine Gruppe
PKZ1 = 'K' and FREI21 ='xx'
Auswahl zwei Gruppen
PKZ1 = 'K' and FREI21 In ('xx', 'xx')
Anreisezeit nach 13:30 Uhr
ANRZT>'13:30'
PKZ1 = K und die Leistungsnummer = 5600 oder 5601
(LTLSTNR = 5600 or LTLSTNR = 5601) and KPSTM00.PKZ1 = 'K'
Alternativ: LTLSTNR In (5600, 5601) and KPSTM00.PKZ1 = 'K'
Auswertung aller Pat., das Geburtsjahr des jüngsten Kindes muss aber >2005 sein
(Select Count(*) From FAMSTM00 As F Join KPSTM00 As K On K.AUFNR = F.FAMPAT And Year(GEBDATUM) >= 2005 Where F.FAMNR = FAMSTM00.FAMNR And F.FAMLFD > 0) > 0
Die Familien-Nr. (oder ggf. Familien-Name) muss in der Report-/Statistik-Vorlage vorhanden sein.
Es wird die gesamte Familie ausgegeben, wenn mindestens ein Kind 2005 oder später geboren wurde.
Kurabbruch (Vergleich der bewilligten mit den tatsächlichen Pflegetagen)
KL048HZPTN(KPSTM00.AUFNR) < BEWTAG
Reporte Leistungs-Disposition
Leistungen im Report ausschließen
Um bestimmte Leistungen auszuschließen, verwenden Sie bitte folgende SQL-Abfrage. Ersetzen Sie die Platzhalter xxxxx bitte durch die entsprechende Leistungs-Nr.
LTLSTNR not in (xxxxx, xxxxx, xxxxx)
Nur bestimmte Leistungen im Report anzeigen:
Ersetzen Sie die Platzhalter xxxxx bitte durch die entsprechende Leistungs-Nr.
Eine Leistung:
LTLSTNR = xxxxx
Mehrere Leistungen:
LTLSTNR in (xxxxx, xxxxx, xxxxx)
Gebuchte, nicht stornierte Leistungen zählen
Was man zählen könnte, wären die gebuchten Leistungen, die nicht storniert wurden. Die kann über ein Sonderfeld abgerufen werden:
(Select Sum(LTMENGE) From V#LSTTRM03 where LTPATNR = AUFNR)
Gesamtsumme der Verordnungen eines Patienten
hier die Sonderfeld-Formel für die Gesamtsumme der Verordnungsmengen eines Patienten:
(Select Sum(DKMENG + DKAENMENG) From T#LSTVER Where DKPANR = AUFNR)
Die Soll- und Ist-Mengen der gebuchten Leistungen entsprechend der Anzeige in der EPA können Sie mit folgenden Sonderfeld-Formeln ermitteln.
Soll
(Select Coalesce(Sum(LTMENGE), 0) From T#LSTTRM Where LTPATNR = AUFNR And LTSTODATUM Is Null) + (Select Coalesce(Sum(LTMENGE), 0) From T#LSTTRM Left Outer Join "P.KDTXT" On TXTSL = 'F25STO' || LTSTOGRUND Where LTPATNR = AUFNR And LTSTODATUM Is Not Null And (Substr(TTXT2, 2, 3) = ' ' Or Cast(Substr(TTXT2, 2, 3) As Numeric(3)) > 0))
Ist
(Select Coalesce(Sum(LTMENGE), 0) From T#LSTTRM Where LTPATNR = AUFNR And LTSTODATUM Is Null)
Prozent
Round((Select Coalesce(Sum(LTMENGE), 0) From T#LSTTRM Where LTPATNR = AUFNR And LTSTODATUM Is Null) * 100.0 / ((Select Coalesce(Sum(LTMENGE), 0) From T#LSTTRM Where LTPATNR = AUFNR And LTSTODATUM Is Null) +
(Select Coalesce(Sum(LTMENGE), 0) From T#LSTTRM Left Outer Join "P.KDTXT" On TXTSL = 'F25STO' || LTSTOGRUND Where LTPATNR = AUFNR And LTSTODATUM Is Not Null And (Substr(TTXT2, 2, 3) = ' ' Or Cast(Substr(TTXT2, 2, 3) As Numeric(3)) > 0))), 0)
Beispielreport: Anzeige Verlauf allgemein für einen Patienten komplett
SQL-Abfrage:
T#LABDTA.LDFELDID = 'xxx' and LDSTUSER is null
Platzhalter xxx durch Feld-ID ersetzen
Anzeige Verlaufstext
Anzeige Verlaufstext
Die Feld-ID muss individuell hinterlegt werden.
LDFELDID = 'xxx'
Platzhalter xxx durch Feld-ID ersetzen
Anzeige Verlaufstext, wenn Combobox = Ja
LDMENUEID = 'yyy' And LAB_DATEN(AUFNR, 'xxx', To_Char(T_LABDTA.LDDATUM, 'YYYY-MM-DD') || '_' || To_Char(T_LABDTA.LDZEIT, 'HH24:MI:SS')) = 'Ja' and LDFELDID <> 'xxx'
Platzhalter xxx durch Feld-ID, yyy durch Menü-ID ersetzen
Nur Workflows anzeigen, die noch nicht erledigt sind
LDFELDID = 'xxx' And (Select Count(*) From T#WFCASSTS Where WSTYPE = 'PAT' And WSVALUE = Trim(Char(LDAUFN)) And WSSTATUS Not In ('complete', 'xcancel') And WSPARAMS Like 'LDAUFN=' || Trim(Char(LDAUFN)) || ',LDDATUM=' || Char(LDDATUM, ISO) || ',LDZEIT=' || Trim(Leading '0' From Replace(Char(LDZEIT), ':', '')) || '%') > 0
Platzhalter xxx durch Feld-ID ersetzen
Inhalte mehrerer LABDTA-Felder zusammenfassen, falls nicht leer:
Trim(case when LAB_DATEN(AUFNR, '178fb95661ec40338e30cdc6c327ac55', 'LETZTER') > ' ' then '1) ' || LAB_DATEN(AUFNR, '178fb95661ec40338e30cdc6c327ac55', 'LETZTER') Else '' End ||
Case when LAB_DATEN(AUFNR, '05192a549f5849a3837b638996af76d0', 'LETZTER') > ' ' then ' 2) ' || LAB_DATEN(AUFNR, '05192a549f5849a3837b638996af76d0', 'LETZTER') Else '' End ||
Case When LAB_DATEN(AUFNR, '68ec7512a91f4ccb8899868fcebb05de', 'LETZTER') > ' ' then ' 3) ' || LAB_DATEN(AUFNR, '68ec7512a91f4ccb8899868fcebb05de', 'LETZTER') Else '' End ||
Case when LAB_DATEN(AUFNR, '3ff51bdc307b4b1295b70e7196b425a9', 'LETZTER') > ' ' then ' 4) ' || LAB_DATEN(AUFNR, '3ff51bdc307b4b1295b70e7196b425a9', 'LETZTER') Else '' End ||
Case when LAB_DATEN(AUFNR, 'beeef631ac924e9197129edb562fa3ec', 'LETZTER') > ' ' then ' 5) ' || LAB_DATEN(AUFNR, 'beeef631ac924e9197129edb562fa3ec', 'LETZTER') Else '' end)
Doku-/Messwerte-Datum in ein "echtes" Datum umwandeln und mit dem Tagesdatum vergleichen
To_Char(LAB_DATEN(AUFNR, 'Feld-ID', 'LETZTER'), 'DD.MM.YYYY') >= CURRENT_DATE
Doku-/Messwerte-Datum in Sortierfolge
Doku-/Messwerte-Datenfeld in Report hinterlegen.
Zusätzlich Report-Sonderfeld als unsichtbares Feld im Report hinterlegen:
LAB_DATEN(AUFNR, '06795feb135447908404d2f42e2f5ef6', 'LETZTER')
Sonderfeld für die Sortierfolge:
(Select ZWEIGANT From ZWRFKT01 Where ZWAUFN = AUFNR And ZWSA = 'Z2' And Digits(ZWRDDH) || Digits(ZWRENR) = (Select Max(Digits(ZWRDDH) || Digits(ZWRENR)) From ZWRFKT01 Where ZWAUFN = AUFNR And ZWSA = 'Z2' And ZWSDAT = 0))
Abfragen für Anreise-Ansichten
Übersicht Patienten mit bestimmten Indikationen
INDIKA In('xx', 'xx')
xx = Platzhalter, entsprechende Indikation hinterlegen
Abreisedatum = heute
ABRDATUME = CURRENT_DATE
Kurtermin-Datum + x Tage
System i: KURTERM(AUFNR) + 21 Days
Postgres: KURTERM(AUFNR) + 21
Nur Anzeige der 1. Person in der Familie (mit oder ohne Familien-Nr.)
FAMLFD = 1
FAMLFD = 1 Or FAMLFD Is Null
Übersicht Kinder unter 3 Jahren
ALTERJJ(ANRDATUM, ABRDATUME, GEBDATUM, 'ANREISE') < 3
Übersicht Wiederholer
(Select Count(*) From KPSTM00 As X Where X.FREI3 = KPSTM00.FREI3 And X.ANRDATUM > '0001-01-01' And X.FREI3 <> '') > 1
Übersicht der Patienten in einer Gruppe (hier: Kind+Gruppe)
Platzhalter xx gegen das entsprechende Gruppenkürzel austauschen
Auswahl einer Gruppe
PKZ1 = 'K' and FREI21 ='xx'
Auswahl zwei Gruppen
PKZ1 = 'K' and FREI21 In ('xx', 'xx')
Abfrage Einladung per Post - noch nicht bezahlt
LAB_DATEN(AUFNR, 'FeldID #1', 'LETZTER') Like 'per POST%' And LAB_DATEN(AUFNR, 'FeldID #2', 'LETZTER') = ''
FeldID #1 siehe Versand der Einladung
FeldID #2 siehe bezahlt am
Abfrage
PKZ1=‘M‘ and frei23>‘‘and(select count(*)from NORDSEE-T_MEDSTS where msaufnr=aufnr and MSFILE=’TERMINBESTÄTIGUNG’ and MSSTATUS=’8’) <1 and (Select count(*) from NORDSEE.T_LABDTA where LDAUFN=AUFNR and LDFELDID=’ca5c698e230c4a3294f3c096767ce9e7’ and LDDATEN=’OK’)=1
Fakturierter EigAnt-Betrag:
(Select ZWEIGANT From ZWRFKT01 Where ZWAUFN = AUFNR And ZWSA = 'Z2' And Digits(ZWRDDH) || Digits(ZWRENR) = (Select Max(Digits(ZWRDDH) || Digits(ZWRENR)) From ZWRFKT01 Where ZWAUFN = AUFNR And ZWSA = 'Z2' And ZWSDAT = 0))
Einladungs-Datum:
(Select MSDATE From T#MEDSTS Join T#PGMPAR On PPPGM = 'KL008' And PPNAME = 'EINLADUNG_DATEINAME' Where MSAUFNR = AUFNR And MSFILE = PPWERT)
Aufgabe: Alle Patienten auflisten, bei denen die Attestprüfung noch nicht abgeschlossen ist.
Anreisedatum ab morgen, damit die Abfrage performant ist. Die Datenfelder stammen aus einer Einmal-Doku bzw. sind als globale Felder deklariert.
In diesem Beispiel wird mit 2 Feldern gearbeitet, in Feld 1 (Radiobuttons) erfolgt die Auswahl "Atteste noch nicht eingegangen" bzw. "Atteste eingegangen". In Feld 2 wird mit Radiobuttons der Status ausgewählt, "offen" oder "Prüfung abgeschlossen".
Reporter Pat.-Anreise-Arbeiten (nicht Medizin!)
SQL-Bedingung für die Vorlage:
ANRDATUM > CURRENT_DATE And LAB_DATEN(AUFNR, 'Feld-ID 1', 'ERSTER') = 'Atteste eingegangen' And LAB_DATEN(AUFNR, 'Feld-ID 2', 'ERSTER') = 'offen'
Bedingung = Ersatz für Zeitraum
Weitere Doku/Messwerte-Felder können ganz normal über die Feld-Auswahl aus der Tabelle T#LABDTA ergänzt werden.