Martin Krasser & Christian Ohr | ICW AGDie Open eHealthIntegration Platform(IPF)
Martin Krasser Position     Software architect and engineer @ ICW  Fokus     Verteilte Systeme     Anwendungsintegration, ...
Christian Ohr Position     Software architect and engineer @ ICW  Fokus     Anwendungsentwicklung     Anwendungsintegratio...
Agenda   IPF Grundlagen   Anwendungsfälle   Healthcare Standards und IPF   Beispiel & Demo: IHE Transaktion (ITI-8)
Integrationsoptionen                     Portals   Presentation      Mashups         Other      Layer                     ...
Was ist IPF?• Open Source Java/Groovy Integrations-Framework  für den Healthcare Bereich     • Hilft dem Entwickler, Healt...
Was ist IPF?• Artikel   • Introduction to the Open eHealth Integration Platform,     by Martin Krasser   • http://architec...
Was ist Apache Camel?• Open Source Java Integrations-Framework   • “… framework that focuses on making integration easier ...
Camel Architektur  Domain-specific languages (DSL)               Components                                               ...
Bsp.: Programmieren mit CamelÜberblickEnterprise Integration Patterns (EIPs)Domänenspezifische Sprache (DSL)BeispielFilter...
Anwendungsfall: Krankenhaus Unterschiedliche Szenarien     Patientenverwaltung     Leistungsanforderung     Medizinisc...
eHealth Enterprise              Patienten-             Management   Küche  Labor-IS               Klinisches             I...
Enterprise Departments
Community Integration
Cross-Community Integration
Patienten-           Management KücheLabor-IS             Klinisches           Informations-   Radiologie-IS              ...
Standards
Patienten-      Register PatientManagement         – IHE „PIX“ Profile                       HL7 v2.3 ADT^A01           ...
Wie kann IPF dabei helfen?• Unterstützung bei funktionaler Integration  über Standards  • Datenaustausch (z.B. HL7, CDA)  ...
IPF Camel Erweiterungen• Integrationskomponenten     •    IHE Profile: XDSa, XDSb, PIX (v2/v3), PDQ (v2/v3), ...   IHE Pro...
IPF Camel Erweiterungen• Content DSL   •   HL7v2 DSL   •   CDA/CCD DSL• Routing (Camel) DSL Erweiterungen   •   HL7/CDA Va...
Bsp.: Programmieren mit IPFÜberblickRouting DSL ErweiterungenContent DSL (HL7v2)BeispielValidierung und Filterung von HL7 ...
Bsp: IHE ITI-8                           Patientenmanagement                                HL7       ADT-A01: Patient adm...
Bsp: Integration layer                       HL7                      HL7                       msg                      m...
Die Open eHealth Integration Platform
Upcoming SlideShare
Loading in …5
×

Die Open eHealth Integration Platform

2,913 views
2,784 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,913
On SlideShare
0
From Embeds
0
Number of Embeds
10
Actions
Shares
0
Downloads
15
Comments
0
Likes
0
Embeds 0
No embeds

No notes for slide

Die Open eHealth Integration Platform

  1. 1. Martin Krasser & Christian Ohr | ICW AGDie Open eHealthIntegration Platform(IPF)
  2. 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. 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. 4. Agenda IPF Grundlagen Anwendungsfälle Healthcare Standards und IPF Beispiel & Demo: IHE Transaktion (ITI-8)
  5. 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. 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. 7. Was ist IPF?• Artikel • Introduction to the Open eHealth Integration Platform, by Martin Krasser • http://architects.dzone.com/articles/introduction-open- ehealth
  8. 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. 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. 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. 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. 12. eHealth Enterprise Patienten- Management Küche Labor-IS Klinisches Informations- Radiologie-IS system PACS Archiv
  13. 13. Enterprise Departments
  14. 14. Community Integration
  15. 15. Cross-Community Integration
  16. 16. Patienten- Management KücheLabor-IS Klinisches Informations- Radiologie-IS system PACS Archiv
  17. 17. Standards
  18. 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. 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. 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. 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. 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. 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. 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

×