LSP Connect en HL7v3
Agenda
• • • • • •
Introductie LSP Connect Gebruik van HL7v3 in LSP Connect Ervaringen en workarounds Conclusie Vragen
Introductie
• Albert van ‘t Hart Solution Architect E.Novation Managed Services http://nl.linkedin.com/in/albertvanthart • Producten: ZorgMail, LSP Connect • Laatste jaar ervaring opgedaan met HL7v3 en LSP
Beschrijving LSP Connect
Wat is LSP Connect? • • • •
Generieke adapter Te gebruiken op iedere XIS applicatie Korte time-to-market voor XIS-leveranciers Aansluiten meerdere GBZ-en op één LSP Connect (per instelling) • Geen grote investering • Blijft voldoen aan nieuwe eisen Nictiz
Beschrijving LSP Connect
Module 1: • • • • •
Communicatie
Basis module Verbinding opzetten met het LSP Tokenauthenticatie UZI passen Koppeling via webservices
Beschrijving LSP Connect
Module 2:
Vertaling
• Vertaling van en naar HL7v3 • Alle soorten berichten • Koppeling via webservices
Beschrijving LSP Connect
Module 3:
Repository
• Kluis met de aangemelde informatie • Bevraging vanuit het LSP via de Repository • Eenvoudig 7*24 beschikbaar houden van data
Beschrijving LSP Connect
Module 4: • • • •
Mandatering
Delegeren van verantwoordelijkheden Door zorgverleners zelf in te stellen Inclusief logging Flexibel gebruik UZI passen
Architectuur – gateway
Architectuur – gateway en mapping
Gebruik van HL7v3 in de communicatie module
• Extraheren van gegevens bij inkomende en uitgaande berichten t.b.v. autorisatie, logging, etc • Complementeren van uitgaande berichten • Schema en schematron validatie van inkomende en uitgaande berichten
Gebruik van HL7v3 in de communicatie module
• Extraheren van gegevens uit berichten
– javax.xml.xpath.Xpath (XML Path Language API) • Complementeren van berichten
– javax.xml.xpath.Xpath (XML Path Language API) – org.w3c.dom (Document Object Model API)
Gebruik van HL7v3 in de communicatie module
• Schema validatie
– javax.xml.validation.Schema – javax.xml.validation.Validator • Schematron validatie
– javax.xml.transform.Templates – javax.xml.transform.Transformer
Gebruik van HL7v3 in de vertaling module
• Vertaling van een simpel generiek XML bericht naar HL7v3 en vice versa voor:
– Huisartswaarneemgegevens – Medicatiegegevens (deels geïmplementeerd) – Medicatiebewaking (toekomst)
Gebruik van HL7v3 in de vertaling module
• XSLT of OXM?
• • • •
Op basis van schema’s java code genereren Reductie in bericht codeer fouten Herbruikbaar in andere projecten Kennis van ontwikkelaars
Gebruik van HL7v3 in de vertaling module
JAXB (Java Architecture for XML Binding) • Object/XML Mapping met behulp van JAXB
Gebruik van HL7v3 in de vertaling module
Code generatie • Met de JAXB xjc tool van alle .xsd (schema) files .java maken • XML schema ‘s zijn te patchen met XSLT • Er is ook een maven plugin (jaxb2-maven-plugin) om vanuit schema’s een artifact te maken (jar file met gegenereerde Java code)
Gebruik van HL7v3 in de vertaling module
Gebruik van HL7v3 in de vertaling module
Ervaringen vanuit de ontwikkelaars • Transmission wrapper/control act wrapper/payload zijn aan elkaar gekoppeld • Veel duplicatie in de schema ’s. Hergebruik is daardoor niet optimaal. • Informatie ontbreekt (default en fixed values) • Klasse hierarchy en restriction/overrides naar Java code.
Gebruik van HL7v3 in de vertaling module
Ervaringen vanuit de ontwikkelaars • HL7v3 implementatiehandleidingen (v6050):
– Berichtspecificaties (oa kardinaliteit, pad, conformiteit) – Inconsistencies met schema’s (niet normatief) – Verwijzigingen naar schema’s en voorbeeldberichten • Schematrons helpen erg bij het testen, maar kunnen nog verder uitgebreid worden
Gebruik van HL7v3 in de vertaling module
Workarounds • Schema optimaliseren voordat er code wordt gegenereerd:
– Ontkoppelen wrappers en payload – Duplicatie herkenning op basis van definitie – Omzetten default naar fixed values zodat JAXB code kan genereren
Conclusie
• Voor het extraheren en complementeren van HL7v3 is geen code generatie benodigd • Voor het verwerken van HL7v3 berichten in een XIS is goede tooling essentieel • Op basis van XML Schema ‘s code genereren is mogelijk maar met enige workarounds • Schematrons t.b.v. validatie berichten levert veel tijd op tijdens ontwikkelen • AORTA 7 documentatie is verbeterd
Albert van ‘t Hart
T F E W
+31 (0)10 288 1600 +31 (0)10 288 6335
[email protected] www.enovation.nl