Themen der Medizinischen Informatik: Seminar 2008/2009 Schnittstellen HL-7 Stefan Schulz Holger Stenzhorn Institut für Medizinische Biometrie und Medizinische.

Slides:



Advertisements
Ähnliche Präsentationen
interaktiver Web Service Workflows
Advertisements

Einer der Dienste im Internet
Objektorientierte Programmierung
DVG Einfache Klassen Einfache Klassen. DVG Einfache Klassen 2 Strukturen Beispiel: Personendaten bestehen aus –String name –String vorname.
Datenbanken Einführung.
Dynamische Seiten mit Dreamweaver Zugriff auf (mysql) Datenbank mit PHP.
Kapitel 4 Datenstrukturen
MS Office-Paket: Access
Netzwerke im Dialogmarketing
Präsentation zum Thema Netzwerk Von Jan Metz.
On a Buzzword: Hierachical Structure David Parnas.
HTML - Einführung Richard Göbel.
FH-Hof Extensible Markup Language Richard Göbel. FH-Hof Extensible Markup Language XML XML ist universeller Ansatz für die Strukturierung von Zeichenketten.
Java: Objektorientierte Programmierung
Anfragesprachen – Dipl. Ing. Ulrich Borchert / FH Merseburg1/7 Datenbanken werden als Anhäufung von Werten eines Wertebereiches aufgefasst und Datenbankabfragen.
Tiny TP Tiny TP gehört zwar zu den optionalen Komponenten wird aber dringend empfohlen. Tiny TP erfüllt folgende Aufgaben: 1.Zerlegung von großen Nachrichten.
DOM (Document Object Model)
Polymorphie (Vielgestaltigkeit)
Objekte und Arbeitsspeicher
Architektur von Netzwerken
Universität Dortmund, Lehrstuhl Informatik 1 EINI II Einführung in die Informatik für Naturwissenschaftler und Ingenieure.
EINI-I Einführung in die Informatik für Naturwissenschaftler und Ingenieure I Vorlesung 2 SWS WS 99/00 Gisbert Dittrich FBI Unido
EINI-I Einführung in die Informatik für Naturwissenschaftler und Ingenieure I Kapitel 10 Claudio Moraga; Gisbert Dittrich FBI Unido
Sebastian Grahn Sebastian Kühn
Programmieren mit JAVA
Vererbung Spezialisierung von Klassen in JAVA möglich durch
PKJ 2005/1 Stefan Dissmann Ausblick Es fehlen noch: Möglichkeiten zum Strukturieren größerer Programme Umgang mit variabler Zahl von Elementen Umgang mit.
PKJ 2005/1 Stefan Dissmann Zusammenfassung Bisher im Kurs erarbeitete Konzepte(1): Umgang mit einfachen Datentypen Umgang mit Feldern Umgang mit Referenzen.
Treffen mit Siemens Siemens: Werner Ahrens Volkmar Morisse Projektgruppe: Ludger Lecke Christian Platta Florian Pepping Themen:
Objektorientierte Programmierung
Einführung in Visual C++
DVG Kommentare1 Kommentare. DVG Kommentare 2 Kommentare Es gibt zwei Arten von Kommentaren: einzeilige Kommentare // der Kommentar geht.
DVG Interfaces. DVG mehrfache Vererbung 4 Mehrfache Vererbung ist die Ableitung einer Klassen von mehreren anderen Klassen. –farbigerPunkt.
DVG Einführung in Java1 Einführung in JAVA.
DVG Klassen und Objekte
DVG Einfache Klassen 1 Einfache Klassen. 2DVG Einfache KlassenStrukturen Beispiel: Personendaten bestehen aus String name String name.
DVG Kommentare 1 Kommentare. 2 Kommentare Es gibt zwei Arten von Kommentaren: einzeilige Kommentare // der Kommentar geht bis zum Ende der Zeile.
Java in 9 Folien Besser: Online-Buch Go to Java 2.
FH-Hof HTML - Einführung Richard Göbel. FH-Hof Komponenten des World Wide Webs WWW Browser HyperText Transfer Protocol (HTTP) via Internet WWW Server.
Seite 1 Interface - Konzept Ein Interface führt einen neuen Datentyp ein: interface Frau {... } Das Interface enthält Deklarationen ( keine Definitionen.
Netzwerkkomponenten (Hardware)
von Julia Pfander und Katja Holzapfel E 12/2
Prof. Dr. Gerhard Schmidt pres. by H.-J. Steffens Software Engineering SS 2009Folie 1 Objektmodellierung Objekte und Klassen Ein Objekt ist ein Exemplar.
8. Standardisierte Datenschnittstellen für die Medizin
Vortrag D. Braun, Praktikum. Übersicht Pleopatra API Pleopatra Tools Twitter Demonstration Ausblick.
Vorteile eines lokalen Netzwerks?
Entwurfs- und Implementationsdiagramme
Tobias Kluge: FAME Middleware / Karlsruhe / The FAME project – Middleware.
Copyright 2011 Bernd Brügge, Christian Herzog Grundlagen der Programmierung TUM Wintersemester 2011/12 Kapitel 11, Folie 1 2 Dr. Christian Herzog Technische.
Wird ganz am Anfang der HTML-Datei geschrieben Doctype html public bedeutet, dass man sich auf die Öffentlichkeit der html-dtd bezieht Html ist die meist.
OOP-Begriffe Abstraktion Modellieren Klasse Objekt Attribute Methoden
1.2 Trennung von Struktur und Inhalt
Informatik Zustandsorientiertes Modellieren und Programmieren 2.4 Datenkapselung 2.4 Datenkapselung Objekte können miteinander kommunizieren, indem.
2. Zustandsorientiertes Modellieren 2.4 Datenkapselung
Ein Vortrag von Elisa Beyer und Melanie Erker
Programmbereich, zu dem eine Deklaration gehört Arten von Gültigkeitsbereichen -Namespace : Deklarationen von Klassen, Interfaces, Structs, Enums, Delegates.
EPROG Tutorium #6 Philipp Effenberger
HTTP IT-Zertifikat Universität zu Köln Allgemeine Technologien II
2. Kommunikation und Synchronisation von Prozessen 2
Systementwurf Dipl.-Inform. Med. Anton Brass Helmholtz Zentrum München IBMI München,
Informatik I : Software höhere Programmiersprachen Java Klassen: hat Methoden (Funktionen) und Daten (Variablen) es kann mehrere Klassen geben nur eine.
->Prinzip ->Systeme ->Peer – to – Peer
Internet-Grundtechnologien. Client / Server Client („Kunde“): fordert Information / Datei an im Internet: fordert Internetseite an, z.B.
2 Datenabstraktion Geheimnisprinzip:
(Syntax, Strings/Zahlen, Variablen, Arrays)
IT2 – WS 2005/20061Nov 14, 2005 Visibility  public: Sichtbar in allen Paketen  protected: Sichtbar innerhalb des Pakets und in den Unterklassen  (default,
Key-Value Paare (KVP) - Metadaten für Kanäle speichern und nach MDF4 exportieren PM (V1.0)
1. Die rekursive Datenstruktur Liste 1
Implementieren von Klassen
 Präsentation transkript:

Themen der Medizinischen Informatik: Seminar 2008/2009 Schnittstellen HL-7 Stefan Schulz Holger Stenzhorn Institut für Medizinische Biometrie und Medizinische Informatik

Grundlegendes (1) Eine Schnittstelle (engl. Interface) bezeichnet ursprünglich die physikalische Phasengrenze zweier Zustände eines Mediums Teil eines Systems, das dem Austausch von Informationen, Energie oder Materie mit anderen Systemen dient

Grundlegendes (2) Systeme können nur dann kommunizieren, wenn ihre Schnittstellen aufeinander passen o Schnittstellen müssen genau spezifiziert sein! Kommunikation nur über sichtbare Schnittstellen - innere Arbeitsweise der Systeme ist unsichtbar (Black Box)

Typen von Schnittstellen Hardware- schnittstellen Benutzer- schnittstellen Software- schnittstellen

Softwareschnittstellen (1) Softwareschnittstellen sind logische Berührungspunkte in einem Softwaresystem Definieren den Austausch von Kommandos und Daten zwischen verschiedenen Prozessen und Komponenten Unterscheidung zwischen Schnittstellen... o zum Zugriff auf Systemroutinen o zur Kommunikation mit anderen Prozessen o zum Verbinden von Softwarekomponenten

Systemschnittstellen Direkter Zugriff auf die Resourcen und Funktionen eines Systems Beispiel: Datenträgerzugriffe o Abstrakter Schnittstellenaufruf Speichere Datei auf Festplatte o Für das aufrufende Programm ist die eigentliche Speicherung der Datei transparent o Das aufrufende Programm muss nicht wissen, wie die Daten physikalisch auf der Festplatte abgelegt werden

Interprozesskommunikation Kommunikation zwischen verschiedenen Prozessen (Programmen) auf demselben oder verschiedenen Rechnern Beispiel: Visualisierungsserver o Lokal läuft ein Programm zur Darstellung von Tomographiebildern (Darstellungsprozess) o Berechnung der Bilder geschieht auf einem Server, welcher die Daten des Tomographen visualisiert (Berechnungsprozess)

Komponentenschnittstellen (1)

Komponentenschnittstellen (2) Programmierschnittstellen o Beschreibung von Klassen und Methoden und deren Verwendung (z.B. welche Eingabe- und Ausgabeparameter gibt es und wie müssen diese beschaffen sein) Dokumentschnittstellen o Beschreibung von erlaubten Formaten und Inhalten für auzutauschende Dokumente

Java-Beispiel public interface Konto { // abstrakte Signatur-Definition int getKontostand(); } public class SparKonto implements Konto { private int kontostand; // Implementierung der durch Konto // definierten Methode public int getKontostand() { return kontostand; } }

HTML-Beispiel Hello World! Hello World!

Health Level 7 ISO/OSI- Referenzmodell für die Kommunikation (ISO7498-1)

Was ist HL 7 ? HL 7 ist eine Schnittstelle HL-7 ist ein Protokoll (Verständigungsvorschrift) zum Austausch von Daten auf Ebene 7 des ISO – OSI - Referenzmodells Austausch von Nachrichten im Gesundheitswesen Ziel: bessere Verständigung einzelner, spezialisierter Programme

Beispiel Herr Müller befindet sich im Krankenhaus. Es wurde eine Blutuntersuchung durchgeführt. Im Labor des Krankenhauses wurden die Untersuchungsbefunde erhoben, die nun der Station mitgeteilt werden sollen. Das Labor verfügt über ein eigenes Abteilungssystem, mit der die Untersuchungsergebnisse verwaltet werden. Der medizinische Arbeitsplatz auf der Station soll nun Herrn Müllers Befund anzeigen. Dazu müssen die Ergebnisse vom Laborrechner auf den Stationscomputer überspielt werden. HL7 ist nun eine Vorschrift, an die das Labor sich halten kann, wie genau die Untersuchungsergebnisse auf dem Weg zum Computer des Stationsarztes zu übertragen sind. Dazu muss z. B. festgelegt sein, dass z. B. der Nachname zuerst, dann der Vorname, erst der Geburtsmonat, dann der Geburtstag usw. übermittelt werden soll. Ist die Nachricht (hier: der Befund) nach den Regeln von HL7 kodiert, kann der Empfänger die Nachricht verstehen, weil genau festgelegt ist, was was ist und was an welcher Stelle zu stehen hat.

Abstract Message Definition und Encoding Rules Abstract Message Definition: beschreibt die globale Syntax einer Nachricht. "Encoding Rules" spezifische Rechtschreibregeln Nachrichten bestehen aus einzelnen Segmenten Baukastenprinzip Segmente sind wieder in Felder aufgeteilt Format, Länge, Inhalt, etc. der Felder sind festgelegt für verschiedene Aufgaben sind verschiedene Segmente definiert Gruppen für ähnliche Nachrichten

Beispiele: –Zusammenfassung administrativer Patientendaten –der Mitteilung von Bestellungen –Mitteilung von Untersuchungsbefunden –Abfrage von Diagnosenkodes

Beispiel Gruppe "Administrative Patientendaten (ADT) –Nachricht zur Übermittlung der Aufnahme eines Patienten (Nachricht "A01") –Nachricht zur Übermittlung der Verlegung eines Patienten (Nachricht "A02") –Nachricht zur Übermittlung der Entlassung eines Patienten (Nachricht "A03")

HL-7 Nachrichten Setzen sich aus verschiedenen Segmenten zusammen Segmente werden durch Namen aus drei Buchstaben eindeutig identifiziert: Beispiel: –MSH: "Message Header Segment" Dieses Segment steht am Anfang jeder HL7-Nachricht –PID: "Patient Information"-Segment Dieses Segment dient der Übermittlung persönlicher Daten des Patienten (Name, Geburtsdatum usw.). Es kann zum Beispiel für Nachrichten der ADT-Gruppe verwendet werden.

Struktur PID-Segment 1.interne Nummer 2.externe Patienten - ID 3.interne Patienten – ID 4.alternative Patienten – ID 5.Name des Patienten 6.Geburtsname des Patienten 7.Geburtsdatum des Patienten 8.… Felder sind identifiziert durch ihre Reihenfolge Für jedes Feld ist Datentyp festgelegt, z.B. Datumsformat: yyyymmdd, aber auch komplexe Wertebereiche, wie Ländercodes etc.

HL7 - Segmente

Abstract Messaging Definition Legt fest, aus welchen Segmenten eine Nachricht zusammengesetzt ist Beispiel: "A01-Aufnahme eines Patienten" –MSH –EVN –PID –NK1 –PV1

Encoding Rules Kodierregeln legen fest, –wie die Felder eines Segments voneinnander getrennt werden, z.B. | –wie innerhalb eines Feldes Komponenten voneinander zu trennen sind (z.B. Namenskomponenten mit ^

Aufbau Nachrichtentypen sind in Gruppen aufgeteilt gemeinsamer Segmentpool wichtige Segmente: 1.MSH: steht am Anfang jeder Nachricht 2.PID: enthält Stammdaten des Patienten 3.EVN: trigger, der Rückmeldung erzwingt Z – Segmente: landespezifische Segmente

Links International: HL7.orgHL7.org HL-7 Deutschland: HL7 – CD-ROM (bei Dozenten erhältlich)