Diese Präsentation wurde erfolgreich gemeldet.
Wir verwenden Ihre LinkedIn Profilangaben und Informationen zu Ihren Aktivitäten, um Anzeigen zu personalisieren und Ihnen relevantere Inhalte anzuzeigen. Sie können Ihre Anzeigeneinstellungen jederzeit ändern.

Die Open eHealth Integration Platform

  • Als Erste(r) kommentieren

  • Gehören Sie zu den Ersten, denen das gefällt!

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

×