Your SlideShare is downloading. ×
Die Open eHealth Integration Platform
Upcoming SlideShare
Loading in...5
×

Thanks for flagging this SlideShare!

Oops! An error has occurred.

×

Introducing the official SlideShare app

Stunning, full-screen experience for iPhone and Android

Text the download link to your phone

Standard text messaging rates apply

Die Open eHealth Integration Platform

2,511
views

Published on

Published in: Technology, Education

0 Comments
0 Likes
Statistics
Notes
  • Be the first to comment

  • Be the first to like this

No Downloads
Views
Total Views
2,511
On Slideshare
0
From Embeds
0
Number of Embeds
0
Actions
Shares
0
Downloads
13
Comments
0
Likes
0
Embeds 0
No embeds

Report content
Flagged as inappropriate Flag as inappropriate
Flag as inappropriate

Select your reason for flagging this presentation as inappropriate.

Cancel
No notes for slide

Transcript

  • 1. Martin Krasser & Christian Ohr | ICW AGDie Open eHealthIntegration Platform(IPF)
  • 2. Martin Krasser Position Software architect and engineer @ ICW Fokus Verteilte Systeme Anwendungsintegration, Systemintegration Sicherheit in verteilten Systemen Open Source Projekte Open eHealth Integration Platform (Founder) http://gforge.openehealth.org/gf/project/ipf Apache Camel (Committer) http://camel.apache.org ...
  • 3. Christian Ohr Position Software architect and engineer @ ICW Fokus Anwendungsentwicklung Anwendungsintegration Mitarbeit in eHealth-Standardisierungsgremien Open Source Projekte Open eHealth Integration Platform (Committer) http://gforge.openehealth.org/gf/project/ipf HAPI (Contributor) http://hl7api.sourceforge.net
  • 4. Agenda IPF Grundlagen Anwendungsfälle Healthcare Standards und IPF Beispiel & Demo: IHE Transaktion (ITI-8)
  • 5. Integrationsoptionen Portals Presentation Mashups Other Layer Applications Messages, Service Layer SOA/ROA Other (Business Logic) Applications IPF Shared DB Data Replication Other Store Applications
  • 6. Was ist IPF?• Open Source Java/Groovy Integrations-Framework für den Healthcare Bereich • Hilft dem Entwickler, Healthcare Standards (HL7, IHE, CDA ...) zu implementieren • Fokus auf erweiterbare Healthcare DSLs • Basiert auf dem Apache Camel Integrations-Framework • Deployment Optionen: embedded, standalone und distributed• Integrations-Platform auf OSGi Basis • Dynamisches Laden/Entladen von Integrationsanwendungen • Development and monitoring tools (IPF Tools Projekt) • IPF als Eclipse plugin• Open Source seit Nov. 2008 • http://gforge.openehealth.org/gf/project/ipf/ • Letztes Release: IPF 2.0.0 • Apache 2 Lizenz
  • 7. Was ist IPF?• Artikel • Introduction to the Open eHealth Integration Platform, by Martin Krasser • http://architects.dzone.com/articles/introduction-open- ehealth
  • 8. Was ist Apache Camel?• Open Source Java Integrations-Framework • “… framework that focuses on making integration easier and more accessible to developers …” • “… concrete implementations of all the widely used Enterprise Integration Patterns …” • “… connectivity to a great variety of transports and APIs …“ • “… easy to use Domain Specific Language (DSL) to wire EIPs and transports together …”From: Apache Camel: Integration Nirvana, by Jonathan Ansteyhttp://architects.dzone.com/articles/apache-camel-integration
  • 9. Camel Architektur Domain-specific languages (DSL) Components Connectivity to external systems or resources. More than 70 components! Endpoints Send/receive messages to/from external systems Processors Extension points Transform, validate, filter, router etc. Routes Endpoints connected by processors using DSL
  • 10. Bsp.: Programmieren mit CamelÜberblickEnterprise Integration Patterns (EIPs)Domänenspezifische Sprache (DSL)BeispielFilterung von XML Nachrichten über HTTP http://somewhere.com:8090/subscribers http://somewhere.com:8080/subscribers D D HTTP XPath HTTP Endpoint Filter Endpoint (inbound) (outbound) Camel DSL (Java)from("jetty:http://0.0.0.0:8090/subscribers") // inbound HTTP endpoint.filter().xpath("/person[@name=John]") // XPath filter.to("http://somewhere.com:8080/subscribers"); // outbound HTTP endpoint ICW Developer Conference
  • 11. Anwendungsfall: Krankenhaus Unterschiedliche Szenarien  Patientenverwaltung  Leistungsanforderung  Medizinische Dokumentation  Medizinische Spezialanwendungen Heterogene Systemlandschaft  Einsatz vieler unterschiedlicher vernetzter Anwendungen  Ausgeprägte Historie  Standardfall: ereignisgetriebene Kommunikation
  • 12. eHealth Enterprise Patienten- Management Küche Labor-IS Klinisches Informations- Radiologie-IS system PACS Archiv
  • 13. Enterprise Departments
  • 14. Community Integration
  • 15. Cross-Community Integration
  • 16. Patienten- Management KücheLabor-IS Klinisches Informations- Radiologie-IS system PACS Archiv
  • 17. Standards
  • 18. Patienten-  Register PatientManagement – IHE „PIX“ Profile  HL7 v2.3 ADT^A01  MLLP (Socket)  Register Document – IHE „XDS.b“ Profile ?  ebXML KlinischesInformations-  WebService (Soap 1.2) system  HTTP(S)  Audit – IHE „ATNA“ Profile  RFC 3881 Archiv  Syslog  UDP
  • 19. Wie kann IPF dabei helfen?• Unterstützung bei funktionaler Integration über Standards • Datenaustausch (z.B. HL7, CDA) • Transportprotokolle (z.B. MLLP, HTTP, WebServices)• Kapselung kompletter Standard-Stacks • IHE IT-Infrastructure (ITI) • HITSP
  • 20. IPF Camel Erweiterungen• Integrationskomponenten • IHE Profile: XDSa, XDSb, PIX (v2/v3), PDQ (v2/v3), ... IHE Profil (Konzept) IHE IHE Actor 2 Actor 3 Application Layer Actor Interface Actor Interface IHE IHE Transaction 1 Transaction 2 Integration Layer Actor Interface IHE Actor 1 Application Layer Application Component Integration Component Message
  • 21. IPF Camel Erweiterungen• Content DSL • HL7v2 DSL • CDA/CCD DSL• Routing (Camel) DSL Erweiterungen • HL7/CDA Validierung ... • Schematron Validierung ... • Groovy closure support • ...• DSL Erweiterungsmechanismus auf Groovy Basis • Zur Definition neuer DSL Elemente (z.B. für projekt-spezifische DSLs)
  • 22. Bsp.: Programmieren mit IPFÜberblickRouting DSL ErweiterungenContent DSL (HL7v2)BeispielValidierung und Filterung von HL7 Nachrichten über HTTP D ? D HTTP HL7 HL7 HTTP Endpoint Validator Filter Endpoint (inbound) (outbound) IPF DSL (Groovy) from(jetty:http://0.0.0.0:8090/admissions) // inbound HTTP endpoint .unmarshal().ghl7() // HL7 parser .validate().ghl7() // HL7 validator .filter {it.in.body.PID[8].value == F} // HL7 filter using HL7 DSL .to(http://localhost:8080/admissions) // outbound HTTP endpoint
  • 23. Bsp: IHE ITI-8 Patientenmanagement HL7 ADT-A01: Patient admission MLLP HL7 IHE ITI-8 msg msg ADT-A08: Patient update ACK, NAKIntegration layer ? Patient ServiceService layer Klinisches Informationssystem
  • 24. Bsp: Integration layer HL7 HL7 msg msg MLLP IHE ITI-8 Bean endpoint binding endpoints A01 Transformer ? A08 Transformer HL7 Message Content- HL7 toon error message queue based domain validation router object transformer Mail server user2@localhost