Klinikrechenzentrum - Department für Medizinische Biometrie und

Werbung
8. Fachtagung
Praxis der Informationsverarbeitung in
Krankenhaus und Versorgungsnetzen
Praxis-Seminar am 7. Mai 2003
Anwendererfahrung in KIS-Systemen
mit DRG-orientierten Fallpauschalen für
• Ärzte
• Pflege
• medizin. Controlling
• Abrechnung
Stefan Bucher
Klinikrechenzentrum, Team PDV
Universitätsklinikum Freiburg
Ziele 2002
© PDV-Team
1
07. Mai 2003 in Dortmund
8. Fachtagung
Praxis der Informationsverarbeitung in
Krankenhaus und Versorgungsnetzen
Praxis-Seminar am 7. Mai 2003
Workflow
von der medizinischen Dokumentation
über die Ermittlung der DRG
zur ordnungsgemäßen Fall-Abrechnung
im Universitätsklinikum Freiburg
Stefan Bucher
Klinikrechenzentrum, Team PDV
Universitätsklinikum Freiburg
Ziele 2002
© PDV-Team
2
07. Mai 2003 in Dortmund
Gliederung
• Vorstellung
• Freiburger KIS
• Workflow
• Aufnahmemeldung
• OP Dokumentation
• Beatmungszeiten
• pflegerelevante Diagnosen
• weitere (Verlaufs-) Dokumentation
• Entlassmeldung
• Festlegung der Fachabteilungshauptdiagnose
• Festlegung der (Krankenhaus-) Fallhauptdiagnose
• Abrechnung
• Sonderfälle
Ziele 2002
© PDV-Team
3
Kennzahlen
• Krankenhaus der Maximalversorgung
• seit 1998 rechtsfähige Anstalt des öffentlichen Rechts
• Krankenversorgung + Forschung + Lehre
•
•
•
•
stationär vorgehaltene Betten:
stationäre Fälle p.a.:
Belegungstage p.a.:
ambulante Kontakte p.a.:
ca.
ca.
ca.
ca.
1.700
56.000
500.000
400.000
• Beschäftigte (nach Vollkräften):
ca. 5.600
• Jahresbudget:
ca. 400 Mio. €
• Informationstechnologie:
ca. 6.200
vernetzte Knoten (Server, PCs, Drucker)
Ziele 2002
© PDV-Team
4
Vorstellung
Klinikrechenzentrum
* zentraler Dienstleister für Klinikum und Universität
* Bereiche:
EDV-Beschaffung, Schulung,
Zentrale Problemannahme, Support,
Kommunikation, Verkabelung, Netze,
Softwareentwicklung und Wartung,
Rechner- u. Systembetreuung
* 47 Mitarbeiterinnen
Ziele 2002
© PDV-Team
5
Vorstellung
Abteilungsübergreifendes KIS-Team
EDV-Gruppe Medizinische Klinik
Abteilung Medizinische Informatik
Klinikrechenzentrum
* Analyse
* Beratung
* Software-Entwicklung
* Software-Wartung
* Software-Pflege
Ziele 2002
© PDV-Team
6
Hinweis: das Freiburger KIS läuft seit 1.1.2003 in 2 Optionshäusern
Definition
Enterprise Application Integration
* Unternehmensweite Integration von
funktional ausgerichteten Spezial-Anwendungen,
um als ein System geschäftsprozessorientiert
im Sinne des Unternehmenszweckes
möglichst effizient und
weitgehend automatisiert zu arbeiten.
* Unbeschränkter Informationsaustausch
zwischen beliebigen Systemen,
ohne edv-technische Eingriffe in
die Anwendungen oder Datenbankstruktur.
* Individuell kombinierbare Softwaremodule.
Ziele 2002
© PDV-Team
7
Technologie
Enterprise Application Integration
* Einsatz von Clientsystemen als Frontend des
zentralen KIK-Systems in den pflegerischen,
medizinischen und administrativen Bereichen
* HL7 als Middleware für den Kommunikationsaustausch
zwischen Clients und Server
(Query / Message; ohne Kommunikationsserver)
* eigenentwickelte, unternehmenspezifische
Natural-Programme auf dem Server
für Plausibilisierung und Datenbank-Zugriffe
 Individuell kombinierbare Softwaremodule
Ziele 2002
© PDV-Team
8
Technologie
Enterprise Application Integration
PDV-FR
Klinischer Arbeitsplatz
PDV-FR
Präsentation
KurzPendelAufnahme
Liste
PROMetheus
MeDoc
HL7
Kommunikation
Logik, Plausis, Regeln
Datenbank-Zugriffe
DepartmentSysteme
Datawarehouse
Patientendatenbanken
Ziele 2002
© PDV-Team
9
PDV-FR + MIRAplus
Technologie
Enterprise Application Integration
PDV-FR
Klinischer Arbeitsplatz
PDV-FR
Präsentation
KurzPendelAufnahme
Liste
PROMetheus
MeDoc
HL7
Kommunikation
Logik, Plausis, Regeln
Datenbank-Zugriffe
DepartmentSysteme
Datawarehouse
Patientendatenbanken
Ziele 2002
© PDV-Team
10
PDV-FR + MIRAplus
Das Freiburger KIS
Enterprise Application Integration
Radiologie
RADOS / PACS
Integrierter
klinischer
Arbeitsplatz
PeLi / ka
Station/Ambul./Pflege
Krankenversorgung
PROMetheus
Ambul./OP/Betten
MeDoc
medizin. Arbeitsplatz
Transfusionsmed
FITMED
Funktions-/
Leistungsstellen
Labor
X/LAB
Pathologie
PATSY
Doktoranden
Forschung
Anästhesie
ANDOK / QS
Mikrobiologie
M/LAB, BactLab
Kommunikation und Sicherheit (HL7)
Medizinisches
Auskunftssystem
Zentrales Patienten
Management System
u. Zugriffsberechtigung
u. ICD-,OPS-Dokumentation
MIRAplus
PDV-FR
Operative
Krankenhausführung
Administration
Versorgung
MM
SAP R/3
PM
FI/AM
Elektronisches
Archiv
Ziele 2002
© PDV-Team
11
CO
HR
KIS-FR Dokumentation
Konzept
Arzt dokumentiert (den Zustand des Patienten und die erbrachten Leistungen)
• zeitnah
• korrekt
• vollständig
• nach Kodierrichtlinien
• unabhängig von Aufnahme- u. Abrechnungsart (ICD10 V. 2.0)
KIS unterstützt ihn durch
• elektronische Patientenakte
• Hilfen und Erweiterungen
• Hinweise und Plausis
Ziele 2002
© PDV-Team
12
medizinisches Controlling / Abrechnungsstelle
• entscheidet ggf. (Krankenhaus-) Fallhauptdiagnose
• ermittelt abzurechnende DRG
KIS-FR Dokumentation
Highlights der KIS-Unterstützung
enge Verzahnung stationär / ambulant
• Dokumentation unabhängig von Aufnahme- u. Abrechnungsart
Hilfen und Erweiterungen
• Anzeige der CCL-Relevanz bei Nebendiagnosen
• Speicherung eigener Texte und Hinweise
• zu Diagnosen und Prozeduren
• fachabteilungsbezogene
• Favoriten
• Hitlisten
• Setbildung
• Katalog der pflegerelevanten Diagnosen
Ziele 2002
© PDV-Team
13
KIS-FR Dokumentation
Highlights II
Hinweise und Plausis
• Hinweis auf ungenaue Kodierung (u.a.: .9, 4-Steller, …)
• Abweisung fehlerhafte Hauptdiagnose
• Kreuz/Stern-Problematik (Primär- und Sekundärdiagnosen)
• Hinweis auf redundante und ggf. überflüssige Dokumentation
• Möglichkeit der Komprimierung
• interaktive Kodierregeln (Intranet)
Ansicht [mit Behandlungsrecht]
• abteilungsübergreifende Gesamtfallsicht
• Patientenhistorie mit chronologischer Dokumentation
Ziele 2002
© PDV-Team
14
Unterstützung durch IT bei
Organisation und Dokumentation
Entlassung
Station
Arztarbeitsplatz
Diagnostik
Aufnahme
Ziele 2002
© PDV-Team
15
Therapie
OP /
Intensivbehandlung
KIS-FR Workflow
Aufnahmemeldung
• Arzt erstellt Aufnahmemeldung nach §301
• mit voraussichtlicher Verweildauer
• 1. DRG-Ermittlung möglich (VWD!)
• Einstieg
• Stationsübersicht (verschiedene Sichten / Filter)
• anwesende Patienten auf Station
• in einem Zeitbereich aufgenommene Patienten
• Patienten ohne Aufnahmemeldung
•…
• todo-Kennzeichen in der Stationsübersicht
• [Patienten- / Fallauswahl]
Ziele 2002
© PDV-Team
16
Hinweis: DRG wird erst bei Abrechnungsfreigabe als abrechenbare Leistung
übernommen (2 verschiedene Entitäten in DB!).
Rolle: Arzt
Ziele 2002
© PDV-Team
17
Rolle: Arzt
Ziele 2002
© PDV-Team
18
Rolle: Arzt
Ziele 2002
© PDV-Team
19
Rolle: Arzt
Ziele 2002
© PDV-Team
20
Rolle: Arzt
Ziele 2002
© PDV-Team
21
Rolle: Arzt
Ziele 2002
© PDV-Team
22
KIS-FR Workflow
Operationen, Prozeduren,
Therapien, Diagnostik
• Erfassung von sämtlichen relevanten OP-Daten u.a.:
• OPS-Codes
• Schnitt-, Nahtzeiten
• Beatmungszeiten
• Beteiligte
• Protokolle
•…
• DRG-Ermittlung mit diesen Daten möglich
• Einstieg
• Stationsübersicht
• OP-Verwaltung (Planung und Dokumentation)
• Arbeitsliste „offene OPs“
• Patienten- / Fallauswahl
Ziele 2002
© PDV-Team
23
KIS-FR Workflow
Verlaufsdokumentation
• Erfassung von Dokumentationen
• endgültige und vorläufige
• Verlaufsdokumentationen
• ICDs
• OPS
• Beatmungszeiten
•…
• DRG-Ermittlung mit diesen Daten möglich
• Einstieg
• Stationsübersicht
• Patienten- / Fallauswahl
Ziele 2002
© PDV-Team
24
Verlaufsdiagnosen
Rolle: Arzt
Ziele 2002
© PDV-Team
25
Rolle: Arzt
Ziele 2002
© PDV-Team
26
Prozeduren
Rolle: Arzt
Ziele 2002
© PDV-Team
27
Rolle: Arzt
Ziele 2002
© PDV-Team
28
Rolle: Arzt
Ziele 2002
© PDV-Team
29
Rolle: Arzt
Ziele 2002
© PDV-Team
30
Rolle: Arzt
Ziele 2002
© PDV-Team
31
Rolle: Arzt
Ziele 2002
© PDV-Team
32
Rolle: Arzt
Ziele 2002
© PDV-Team
33
Rolle: Arzt
Ziele 2002
© PDV-Team
34
Rolle: Arzt
Ziele 2002
© PDV-Team
35
Rolle: Arzt
Ziele 2002
© PDV-Team
36
Rolle: Arzt
Ziele 2002
© PDV-Team
37
KIS-FR Workflow
Pflegedokumentation
• Erfassung von pflegerelevanten Diagnosen
• als Vorschlag
• zur Nachbearbeitung durch den Arzt (verantwortlich)
• Sicht auf die Stationsdaten
• auch auf die Dokumentation der Ärzte
• nur eigene Dokumentation ist modifizierbar
• Einstieg
• Stationsübersicht
Hinweis: Pflege trägt auch alle Patienten-Bewegungen zeitnah ein
Ziele 2002
© PDV-Team
38
Rolle: Pflege
Ziele 2002
© PDV-Team
39
Rolle: Pflege
Ziele 2002
© PDV-Team
40
Rolle: Pflege
Ziele 2002
© PDV-Team
41
Rolle: Pflege
Ziele 2002
© PDV-Team
42
Rolle: Pflege
Ziele 2002
© PDV-Team
43
Einfluss auf Case-Mix-Index
Rolle: Pflege
4,50
4,00
3,50
3,00
2,50
2,00
1,50
1,00
0,50
0,00
Ziele 2002
© PDV-Team
44
KIS-FR Workflow
Entlassmeldung
• Arzt erstellt Entlassmeldung nach §301
• Daten sind geschützt (protected)
• automatische DRG-Ermittlung
• Sicht auf komplette Patientenakte (mit Behandlungsrecht)
• Prüfung auf Konsistenz und Vollständigkeit
• Festlegung der Fachabteilungs-Hauptdiagnose
• DRG-Ermittlung mit diesen Daten möglich
• Einstieg via Stationsübersicht [oder Patienten- / Fallauswahl]
• todo-Kennzeichen
• verschiedene Sichten / Filter
• in einem Zeitbereich entlassenen Patienten
• Patienten ohne Entlassmeldung
• Patienten ohne Entlassdiagnose
Ziele 2002
© PDV-Team
45
Rolle: Arzt
Ziele 2002
© PDV-Team
46
Rolle: Arzt
Ziele 2002
© PDV-Team
47
Rolle: Arzt
Ziele 2002
© PDV-Team
48
Rolle: Arzt
Ziele 2002
© PDV-Team
49
Rolle: Arzt
Ziele 2002
© PDV-Team
50
KIS-FR Workflow
DRG-Ermittlung
• automatisches Groupen (mit Speicherung der Historie)
• nach Aufnahmemeldung ( Sperre Aufnahme-Doku)
• nach Entlassmeldung
( Sperre Doku)
• bei Freigabe Abrechnung ( Sperre Falldaten)
• manuelles Groupen durch
• Arzt [Test ohne Speicherung]
• medizin. Controlling, Abrechnung
Grouping-Daten werden erst bei Abrechnung (bzw. Freigabe)
als abrechenbare Leistungsdaten (mit Ab- bzw. Zuschlägen)
eingetragen!
Ziele 2002
© PDV-Team
51
zertifizierte Grouper-Software: GetDRG (Fa. Geos mbH Nürnberg)
KIS-FR Workflow
Abrechnung
• vollständige Entlassmeldung
 ermöglicht:
• Freigabe (End-) Abrechnung
 bewirkt:
 Beatmungszeiten  OPS
 Grouping
 Setzen bzw. Check der Abrechnungs-DRG
(mit Ab- bzw. Zuschlägen)
 ggf. Manipulation möglich
 Sperre des Falls
Ziele 2002
© PDV-Team
52
KIS-FR Workflow
Abrechnung
Freigabe Abrechnung  erfolgt:
• automatisch
• ohne fachabteilungsübergreifende Verlegung
 wird Freigabe Abrechnung automatisch gesetzt
• manuell (durch medizin. Controlling / Abrechnungsstelle)
• via Arbeitsliste „offene Rechnungen“
• Fallhauptdiagnose?
• Freigabe zur Abrechnung
• ggf. im Dialog abrechnen oder s.o.
Grouping-Daten werden erst bei Abrechnung als abrechenbare
Leistungsdaten (mit Ab- bzw. Zuschlägen) eingetragen!
Ziele 2002
© PDV-Team
53
Rolle: medizin. Controlling /
Abrechnung
Ziele 2002
© PDV-Team
54
Rolle: medizin. Controlling /
Abrechnung
Ziele 2002
© PDV-Team
55
Rolle: medizin. Controlling /
Abrechnung
Ziele 2002
© PDV-Team
56
KIS-FR Workflow
Dokumentation nach Abrechnung
• Meldung der Dokumentation an Abrechnungsstelle
• werden nachrichtlich an den Fall gehängt
(edv-technisch: Kennz.: N-ach Abrechnung geliefert)
Ziele 2002
© PDV-Team
57
• Arbeitsliste: Dokumentationen nach Abrechnung
• Vorgehen:
• Rücknahme der Freigabe
• Übernahme/Korrektur der Dokumentation
• DRG-Ermittlung testweise möglich
• Abrechnungs-Freigabe  Grouping
• wenn Rechnung identisch
 keine Neuberechnung
• sonst
 Storno
 neue Entlassmeldung
 Neuberechnung
KIS-FR Workflow
Auswertungen / Controlling
• diverse Statistiken im Intranet
• Diagnosen (Zeiten)
• DRGs (Qualität)
• Abteilungsbezogen
• für ärztl. Direktor (Abteilungsleiter)
• für DRG-Beauftragten der Abteilung
• Gesamt
• (medizinisches) Controlling
• DRG-Lenkungsausschuss
Ziele 2002
© PDV-Team
58
Gesamtsicht
Rolle: Controlling
Ziele 2002
© PDV-Team
59
Abteilungssicht
Rolle: Controlling / Abtlgs-Ltr
Ziele 2002
© PDV-Team
60
Rolle: Controlling
Ziele 2002
© PDV-Team
61
Rolle: Controlling
Ziele 2002
© PDV-Team
62
Rolle: Controlling
Ziele 2002
© PDV-Team
63
Rolle: Controlling
Ziele 2002
© PDV-Team
64
Rolle: Controlling
Ziele 2002
© PDV-Team
65
Anhang
Ziele 2002
© PDV-Team
66
Technologie
Enterprise Application Integration
Pat.-Management, med. Controlling
PDV-go!
PDV-go!
PDV-FR
Klinischer Arbeitsplatz
Arzt / Pflege / OP
Individuell
PeLi + ka
Station / Ambul.
kombinierbare
MeDoc
Dokumentation
Softwaremodule
PROMetheus
PDV-FR
Präsentation
HL7
XML/soap
Kommunikation
Logik, Plausis, Regeln
Datenbank-Zugriffe
DepartmentSysteme
Datawarehouse
Patientendatenbanken
Ziele 2002
© PDV-Team
67
PDV-FR + MIRAplus
Verantwortung
Rolle: Pflege
„Die Auflistung der Diagnosen bzw. Prozeduren liegt in
der Verantwortung des behandelnden Arztes.“
(Deutsche Kodierrichtlinien, Version 2002, S. 3)
Die Auflistung der pflegerelevanten Nebendiagnosen
durch die Pflegenden gilt als Vorschlag für den Arzt.
Ziele 2002
© PDV-Team
68
Anhang
Ziele 2002
© PDV-Team
69
Anhang
Ziele 2002
© PDV-Team
70
Anhang
Ziele 2002
© PDV-Team
71
Freiburger KIS
Departmentsysteme
Forschung
X-LAB
RADOS / PACS
Pathsys
M-LAB
FITMED
ANDOC / QS
Dezentrale
Systeme
INFOServer/REDI
Access
SAS/SPSS
Tamino, XML
Archivierung
Zentrale
Systeme
Patientenverwaltung
MIRAplus
HYDMedia
PACS
Finanzwesen
Personalmanagement
SAP
PDV-FR
Medizinische
Arbeitsplätze
MeDoc
PROMetheus
Pendelliste
PDV-FR
Ziele 2002
© PDV-Team
72
Firewall 1
Aufnahme
Arzt
OP-u.Intensivber.
Ambulanzen
Stationen
Verwaltung
med. Controlling
Internet
e-mail
Telemedizin
e-Commerce
§ 301
KV-Schnittstelle
PDV-FR
Gesamtüberblick
Stationär
STAR
ABRA
DTAVerwaltung
nach §301
klinikübergreifender
Rechnungs-Historie
Beleg-Archiv
ADTVerwaltung
mit KV
Abrechnung
Behandlungsfall
Charge
Bewegung
Geschäftspartner
LeistungsErfassung
(FP/SE/PS)
ICPM / ICD
DRG
Leistungspool
PPR
Pflegestufe
konsiliar
vor- / nachstationär
Besuch
Versicherung
KV-Karte / Schein
Aufenthalt
Ambulant
ambulante
Operationen
tarifswerkunabhängige
LeistungsErfassung
ARLI
Person
PIZ-Vergabe
Geräte-Zuord. und
Verwaltung
OrganisationsEinheiten
Arzt / Klinik
Verträge
Tarife
Kostenstelle
Nation
Klinik
Kostenträger
Leistungsschlüssel
PLZ
BearbeiterZugriff
HL7 und Batch
Schnittstellen
Listen
etc.
System
Ziele 2002
© PDV-Team
73
Material
Schlüssel
f:/pdv/vortrag/visio/pdv1.vsd
PDV-FR
Patientenmanagement
Fall
GeschäftsPartner
Leistung
Doku
Abrechnung
FP, SE, PS
OPS301
STAR
vollstationär
teilstationär
§301Partner
DRG
ICD
Versicherer
Sonstige
Hauskatalog
vorstationär
nachstationär
Sonstige
tarifwerksunabhängig
PPR
konsiliar
ambulant
ambulante OP
Schein
Dokumente
§301-DTA
Dialog
Batch
Rechnghistorie
Belegarchiv
Batch
Dialog
KBVZulassung
pauschaliert
Ermächtigung
Einzelleistung
Berufsgenoss.
Psychiatrie
Indexierung
ABRA
Aufenthalt
Besuch
Quartal
ungeklärt
geplant
Anwesenheit
Ziele 2002
© PDV-Team
74
KV-Karte
MIRAplus
Befunde
Arztbriefe
Integration kommerzieller u.
eigenentwickelter Systeme
* Kein Kommunikationsserver
* Antwortzeiten im Durchschnitt unter 2 Sekunden!
* ca. 3500 Mitarbeiter aus allen Disziplinen
 Ärzte
 Pflege
 Verwaltung
 Funktionsbereiche
 Wissenschaftler
* in 7 Tagen (à 24h): 57.644.803 DB-Commands gemessen
 8.234.971 ADABAS-Commands / 24h
( 95,3/sec)
Ziele 2002
© PDV-Team
75
PDV-FR
Diagnosen und Therapien
Arztarbeitsplatz
elektronische
Aufnahmemeldung
OP-Dokumentation
elektronische Entlasso. Verlegungsmeldung
(medizinische)
Gewichtung
festlegen
Ziele 2002
© PDV-Team
76
Aufnahmemeldung
nach §301
PDV-FR
elektronische
Patientenakte
Entlassmeldung
nach §301
ökonomische
Hierarchie
Gewichtung?
festlegen
PDV-FR
Diagnosen und Therapien
ergänz. Text
Lokalisation
Herkunft
Qualifizierung
Haupt-Diagnose
Gewichtung
Neben-Diagnose
Hierarchie
Fall-Diagnose
ICD10
Verantwortl.
Status
vorläufig
endgültig
Ziele 2002
© PDV-Team
77
Primär
Sekundär
Abteilungs-Diagnose
PDV-FR
DRG Unterstützung
• Dokumentation unabhängig von Abrechnungsart
- enge Verzahnung stationär / ambulant
• Anzeige der CCL-Relevanz bei Nebendiagnosen
• Speicherung eigener Texte und Hinweise
• Hinweis auf ungenaue Kodierung
• interaktive Kodierregeln (Intranet)
• Fachabteilungsbezogene Favoriten, Hitlisten
• Setbildung
• pflegerelevante Diagnosen
• Bei Behandlungsrecht Sicht auf
- Gesamtfallsicht
- Patientenhistorie mit chronologischer Dokumentation
• Prüfung der Hauptdiagnose in Beziehung zum OPS (i.A.)
• Hinweis auf redundante und ggf. überflüssige Dokumentation
Ziele 2002
© PDV-Team
78
PDV-FR (DWH)
Datawarehouse
Selektion
Logging-View
regelmäßig
PDV-FR
zentrale
PatientenDatenbank
Datawarehouse
Tabellen
Fall + Person
Aufenthalt
manuell
stat. Abrechnung
Kostenträger
ICD/OPS
Leistung
ambulante OP
erfaßt
abgerechnet
PPR (Pflegestufen)
sonstige
PPR + Erg.
mit Zeitpkt
Ziele 2002
© PDV-Team
79
PDV-FR (LeiPool)
zentraler Leistungspool
UNIX-Rechner
Dep.System
HL7
PDV-FR
Datenbank
HL7
Dep.System
HL7
Dep.System
Plausis +
Speicherung
Daten
proprietäres
Format
Daten
proprietäres
Format
Daten
proprietäres
Format
Standard
File
FTP
Standardisierungs
Programm
Ziele 2002
© PDV-Team
80
FTP
PDV-FR (LeiPool)
zentraler Leistungspool
PDVP / Unix
Zeitgesteuert
regelmäßige
Auswertungen
zum 9.d.Mon. jeweils
letzte 6 Monate
Leipool-Server
Zentrales Selektionsprogramm
(Natural) mit individuellen
Selektionsmöglichkeiten
Selektion
Auswertungen
Arbeitsstation
erstellt Dateien
Browser
SAP DB
LDAPAuthentisierung
Perl-Script
zur
Aufbereitung
Perl-Script
zur
Aufbereitung
SCP
Daten
pro Monat
pro Kstl
Excel
Perl-Script
zur
Aufbereitung
Ziele 2002
© PDV-Team
81
Abfrage
für
Detailsichten
NaturalProgramme
PDV-FR
Datenbank
Ziele 2002
© PDV-Team
82
PDV-go! Pilot 0.4B
Ziele 2002
© PDV-Team
KRZ
83
PDV-go!
DRG-Arbeitsplatz (Abrechner)
Ziele 2002
© PDV-Team
84
Ziele 2002
© PDV-Team
85
Ziele 2002
© PDV-Team
86
Ziele 2002
© PDV-Team
87
Ziele 2002
© PDV-Team
88
Ziele 2002
© PDV-Team
89
Ziele 2002
© PDV-Team
90
Ziele 2002
© PDV-Team
91
PDV-go!
Stub-Generator
Client / Java
Server / Natural
(java/projtest/de.uni-freiburg.ukl.krz.pdv.pdvclass ../pfo/pfoxml.jpx)
Subprogramm
Class
C4PFOXML ~
PfoertnerZugriffXML
methode: PFOSUC
Callback
Skeleton
Instanziierung:
create
object
Stub
public class
SubpCnpfosuc {
PfoertnerZugriffXML
extends PdvZugriffXML {
public static PfoTab[] method ( )
...
// * InnerClass *
Method
extends PdvZugriffXML {
private static class
public Method () {
super ("CUPFOSUC", "",
MODE_SUBPROG);
}
public PfoertnerZugriffXML () throws
ConnException {
super ("CKPFOXML");
}
public PfoTab[] pfoSuc ( ..)
...
//* InnerClass *
PfoSuc
PdvZugriffXML{
private static class
extends
public PfoSuc (String skeleton, String handle)
{
PdvZugriffXML
public class
Anfrage
XML
Antwort
Callnat
Subprgr
Handle
send method
Kommunikations
Hauptprogramm
CPMAIN
CUPFOSUC
Parameter
Return
Callnat
Methode
Parameter
Return
Skeleton
CKPFOXML
super(skeleton,handle);
}
PDV-Conn: eröffnet Connection (static)
Prozeß-Init. und Start CPMAIN mit Listener
ISOTCP pdvt pdve {=> ais/sh/pdvsrv (KOM)} comtest
ISOTCP pdvt come {=> ais/sh/comsrv (COM)} comtest
Ziele 2002
© PDV-Team
92
Instanziierung einer Klasse
Instanziierung einer Klasse
erhält Handle-Index zurück
ermittelt Handle (als Index)
Aufruf Methode [mit In-Out-Parameter / Return-Wert]
Aufruf Methode [mit In-Out-Parameter]
PfoertnerFrameXML
NaturalParser
Methode
Callback
SAX-Parser
Stub
Callnat
Subprgr
CNPFOSUC
NaturalParser
PDV-go!
Stub-Generator
Callback
*this
Client / Java
(pfo/pfoxml.jpx)
SAXParser
Server / Natural
NaturalParser
Stub
PfoertnerZugriffXML
extends pdvZugriffXML
InnerClass: private static
PfoSuc
extends
93
Anfrage
XML
Antwort
PdvZugriffXML
public class PfoertnerZugriffXML extends PdvZugriff {
public PfoertnerZugriffXML () throws ConnException {
super ("CKPFOXML");
} // PfoertnerZugriffXML
public PfoTab[ ] pfoSuc ( PatientIn patientIn, String ast,Class
retClass ) throws ConnException {
PfoSuc pfoSuc = new PfoSuc (skeleton,handle);
return pfoSuc.method ( patientIn,ast,retClass );
} // pfoSuc
// ********** innere Datenklassen: ************
private static class PfoSuc extends PdvZugriffXML {
private PatientIn patientIn ;
private PfoTab[] pfoTab ;
public PfoSuc (String skeleton, String handle) {
super(skeleton,handle)
}
...
private PfoTab[ ] method ( PatientIn patientIn, String ast,Class
retClass)
{
this.retClass=retClass;
this.patientIn = patientIn ;
writeHeader("PFOSUC");
writeStartElement("body");
writeStartElement ("patientIn");
writeElement ("nachname",patientIn.getNachname());
...
writeEndElement("body");
request();
return pfoTab ;
} // method
...}
Ziele 2002
© PDV-Team
PdvZugriffXML
PfoertnerFrameXML
/**
* Construktor der Hauptklasse konstruiert
* gleichzeitig die PDV Klasse
*/
protected PdvZugriffXML(String p_skeleton)
throws ConnException {
skeleton = p_skeleton;
writeHeader("CN","");
request();
// Handle-index zurueck!
} // constructor I
/**
* Construktor für die Inner Klasses übergibt die
* statischen Felder von der Mutter Outer Klasse
* an die Mutter der Inner Klassen
*/
protected PdvZugriffXML(String skeleton,
String handle) {
this.skeleton = skeleton;
this.handle = handle;
} // constructor II
...
// constructor III
* ***********************************
protected void writeHeader (String method) throws
ConnException {
writeHeader ("CM",method);
* ***********************************
private void writeHeader (String mode,String method)
throws ConnException {
try {
OutputStream out =
PdvConn.getConn().getOutputStream();
xmlW = new UTF8XMLWriter(out);
....
Kommunikations
Hauptprogramm
CPMAINX
1000 * Einlesen von Mode Classname Skeletonname
1040 Callnat 'CNPARHEA' ...
1080 decide on first value of #mode
1090 value 'CN' /* Class New: Klasse Instantieren
1100 add 1 to #anz-handles
1110
create object #handle (#anz-handles) of
#class-name giving #Ret-Code
....
#Header.#Class-Nr := #Anz-Handles
...
1130
Include CCXMLEND '"envelope"'
1230 value 'CM' /* Methode einer Klasse aufrufen
1240
callnat #skeleton-name
1250
#Header
1260
#Handle (#Class-Nr)
1270
#In-Buffer
1280
#Out-Buffer
1290
#Buffer-Laenge
1320 value 'CF' /* Class Fin: Classe beenden
1330
Reset #handle (#class-nr)
1390 none value
...
Class
C4PFOXML
public class
Skeleton
CKPFOXML
Decide on First of #Method-Name
0380 ...
0830 Value 'PFOSUC'
0840 send method #Method-Name to #Obj
0850 with
0860
#Patient-In
0870
#Ast
0880
#ANZ-PFO-TAB
0890
#PFO-TAB (*)
0900
giving #Ret-Code
/* zuruecksenden
0450 Callnat 'CNSERHEA'
0460
#Header
0470
#Out-Buffer
0480
#Buffer-Laenge
0490 If #Ret-Code = 0
0500
include ccxmlsta '"body"'
0510
include ccxmlsta '"result"'
0520
include CCXMLATT '"anzPfoTab"' '"n"'
'#ANZ-PFO-TAB'
0530
For #I1 = 1 To #ANZ-PFO-TAB
0540
include CCXMLSTA '"pfoTab"'
0550
include CCXMLSTA '"patient"' None
:::
1370 End-Decide
1380 include ccxmlend '"envelope"'
DEFINE CLASS PfoertnerZugriffXML
0050 INTERFACE ALL
0090 method PFOSUC IS CNPFOSUC
0100 PARAMETER
0110 1 #Patient-In
0120 2 #Nachname (A30)
0130 2 #Vorname (A22)
0140 2 #Geschlecht (A1)
0150 1 #Ast (A3)
0160 Parameter Using CAPFODAT
0170 END-METHOD
0180 END-INTERFACE
0190 END-CLASS
PDV-go!
Stub-Generator
Client / Java (pfo/pfoxml.jpx)
Server / Natural
Callback
NaturalParser
SAX-Parser
Stub
Anfrage
java/projtest/de.uni-freiburg.ukl.krz.pdv.pdvclass.
NatClass
XML
extends
PdvZugriffXML
PdvZugriffXML
Antwort
public class NatClass extends PdvZugriffXML {
// Konstruktor
public NatClass() () throws ConnException {
super ("CKNATPRG");
…}
// aufzurufende Methode
public DataClass1 pfoSuc (parameter1 )
throws ConnException {
PfoSuc pfoSuc = new PfoSuc (skeleton,handle);
return pfoSuc.method (parameter1);
// Zugriff und Parsen
}
// innere Datenklassen
private static class PfoSuc extends PdvZugriffXML {
private PatientIn patientIn ;
private PfoTab[] pfoTab ;
public PfoSuc (String skeleton, String handle) {
super(skeleton,handle);
}
private DataClass1 method (parameter1)
throws ConnException {
this.retClass=retClass;
this.para11 = para11 ;
// Wegschreiben der Input Daten -> XML
protected
class PdvZugriffXML
writeHeader("Natural-Methode");
// Konstruktur
writeStartElement("…");
publicwriteElement("…");
PdvZugriffXML()
protected
void writeHeader
writeEndElement("…");
protected
void writeStartElement
request();
protected
writeElement
return void
dataClass1
protected
void writeEndElement
}
protected void request() {
// Anfragestream schliessen und
// Anfrage
// ErgebnisStream öffenen und
// Weiterleiten zum Parser
}
PfoertnerFrameXML
Ziele 2002
© PDV-Team
KRZ
94
ptm.setPfoertnerlistenZeile(
pfoertnerZugriff.pfoSuc(pat,"",PfoertnerZugriffXML.PfoTabImpl.class)
);
Kommunikations
Hauptprogramm
CPMAINX
0930 CALL interface4 'NATSRV' 'bufget' #In-Buffer
1000 * Einlesen von Mode Classname Skeletonname
1040 Callnat 'CNPARHEA'
1050 #In-Buffer
1060 #Header
1080 decide on first value of #mode
1090 value 'CN' /* Class New: Klasse Instantieren
1100
add 1 to #anz-handles
1110
create object #handle (#anz-handles) of
#class-name giving #Ret-Code
1130
If #Ret-Code EQ 0
1140
#Header.#Class-Nr := #Anz-Handles
1150
End-If
1170
callnat 'CNSERHEA'
1180
#Header
1190
#out-Buffer
1200
#Buffer-Laenge
1220
Include CCXMLEND '"envelope"'
1230 value 'CM' /* Methode einer Klasse aufrufen
1240
callnat #skeleton-name
1250
#Header
1260
#Handle (#Class-Nr)
1270
#In-Buffer
1280
#Out-Buffer
1290
#Buffer-Laenge
1320 * value 'CF' /* Class Fin: Classe beenden
1330 * CALL 'HL7SRV' 'Get' #class-nr-a '0' '6'
1340 * #class-nr := val (#class-nr-a)
1350 * call 'HL7SRV' 'Put' #class-nr '0' '6'
1360 * Reset
1370 *
#handle (#class-nr)
1390 none value
Skeleton
Class
C4NATPRG
CKNATPRG
Decide on First of #Method-Name
0380 ...
0830 Value 'Natural-Methode'
0840 send method #Method-Name to #Obj
0850 with
0860
#Patient-In
0870
#Ast
0880
#ANZ-PFO-TAB
0890
#PFO-TAB (*)
0900
giving #Ret-Code
0450 Callnat 'CNSERHEA'
0460
#Header
0470
#Out-Buffer
0480
#Buffer-Laenge
0490 If #Ret-Code = 0
0500
include ccxmlsta '"body"'
0510
include ccxmlsta '"result"'
0520
include CCXMLATT '"anzPfoTab"' '"n"'
'#ANZ-PFO-TAB'
0530
For #I1 = 1 To #ANZ-PFO-TAB
0540
include CCXMLSTA '"pfoTab"'
0550
include CCXMLSTA '"patient"' None
:::
1370 End-Decide
1380 include ccxmlend '"envelope"'
DEFINE CLASS NatClass
0050 INTERFACE ALL
0090 method Natural-Methode IS CNPFOSUC
0100 PARAMETER
0110 1 #Patient-In
0120 2 #Nachname (A30)
0130 2 #Vorname (A22)
0140 2 #Geschlecht (A1)
0150 1 #Ast (A3)
0160 Parameter Using CAPFODAT
0170 END-METHOD
0180 END-INTERFACE
0190 END-CLASS
Herunterladen