1 / 104

De Zorg digitaliseren met XML, HL7v3 en Web Services

De Zorg digitaliseren met XML, HL7v3 en Web Services. Marc de Graauw Informatieketens in de Zorg XL User Group Holland / Zorg & ICT Beurs 18 maart 2009. What we’ll (try to) cover. Standardisation: AORTA, the Dutch Healthcare Infrastructure HL7v3, Vocabulary, Identification, Schema’s

mia-lang
Download Presentation

De Zorg digitaliseren met XML, HL7v3 en Web Services

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. De Zorg digitaliseren met XML, HL7v3 en Web Services Marc de Graauw Informatieketens in de Zorg XL User Group Holland / Zorg & ICT Beurs 18 maart 2009 Marc de Graauw marc@marcdegraauw.com

  2. What we’ll (try to) cover • Standardisation: • AORTA, the Dutch Healthcare Infrastructure • HL7v3, Vocabulary, Identification, Schema’s • Web Services: SOAP, WSDL, WS-Security • Truth, Trust and Belief: • Authentication • Digital Signatures • Versioning Marc de Graauw marc@marcdegraauw.com

  3. AORTAthe Dutch Healthcare Infrastructure Marc de Graauw marc@marcdegraauw.com

  4. Healthcare Information System HIB BSN (“Burger Service Nummer”) Registry Messa- ging Services Healthcare Information System Patient Registry Healthcare Information System Provider Registry UZI (PKI) Registry Healthcare Information System Act Registry Marc de Graauw marc@marcdegraauw.com

  5. The Netherlands • “AORTA” is the national backbone • Healthcare Information Systems at institutions and GP’s will be online 24x7 • No clinical data at backbone, only an index of where clinical information resides • Clinical data stays at the source • Only possible with dense infrastructure • Patient, provider registries et cetera Marc de Graauw marc@marcdegraauw.com

  6. NICTIZ • (Dutch EHR Standards Organization) • Timeline • Medication File • Primary Care Summary • 2003: start • 2006: Healthcare Information Broker delivered • 2006/7: First HIS qualifications • 2009: General availability Marc de Graauw marc@marcdegraauw.com

  7. NICTIZ & Dutch Healthcare • Communication between: • Healthcare Provider (GP, hospital etc.) • Healthcare Information Broker (HIB) • HIB provides: • index of which parties have patient data • no patient data itself • messaging services • aggregation services • Health Level Seven version 3 (HL7v3) Marc de Graauw marc@marcdegraauw.com

  8. Ministry of Healthcare NICTIZ National Institute for ICT in Care CIBG Healthcare Professionals Authority Healthcare Information Broker SBV-Z Unique Person Id Registry Provider UZI-Register Healthcare Provider Registry Gov Market Hospitals GP’s Pharmacists Others Healthcare System Suppliers Healthcare Access Providers Regional Facilities Marc de Graauw marc@marcdegraauw.com

  9. Healthcare Information System HIB BSN (“Burger Service Nummer”) Registry Messa- ging Services Healthcare Information System Patient Registry Healthcare Information System Provider Registry UZI (PKI) Registry Healthcare Information System Act Registry Marc de Graauw marc@marcdegraauw.com

  10. Healthcare Information System HIB BSN (“Burger Service Nummer”) Registry Messa- ging Services Healthcare Information System Patient Registry Healthcare Information System Provider Registry UZI (PKI) Registry Healthcare Information System Act Registry Marc de Graauw marc@marcdegraauw.com

  11. AORTA • all messages go through healthcare information broker • three basic patterns: • HIS sends message to other HIS, HIB just routes • HIS sends message to HIB (mainly for registry updates and queries) • HIS queries several other HISses, HIB does registry lookups, accumulates data Marc de Graauw marc@marcdegraauw.com

  12. HIB Healthcare Information System Message to HIS Message to HIB Act Registry Healthcare Information System Query (to multiple HIS) Act Registry Healthcare Information System Marc de Graauw marc@marcdegraauw.com

  13. Healthcare Information System HIB BSN (“Burger Service Nummer”) Registry Messa- ging Services Healthcare Information System Patient Registry Healthcare Information System Provider Registry UZI (PKI) Registry Healthcare Information System Act Registry Marc de Graauw marc@marcdegraauw.com

  14. UZI Registry • provide Dutch healthcare PKI standards • provide and distribute smartcards with private keys • to all authorized healthcare institutions • to all authorized healthcare personnel • provide smartcard readers, and necessary software • publish and maintain certificate revocation lists • also provides authentication forwarding software Marc de Graauw marc@marcdegraauw.com

  15. Healthcare Information System HIB BSN (“Burger Service Nummer”) Registry Messa- ging Services Healthcare Information System Patient Registry Healthcare Information System Provider Registry UZI (PKI) Registry Healthcare Information System Act Registry Marc de Graauw marc@marcdegraauw.com

  16. “Burger Service Nummer” • Unique Id for every Dutch person • Based on social security number • Law is amended to permit use in care • Maintain BSN Registry • Provide access to registry • query for BSN based on name, address, birthdate • query for name, address, birthdate based on BSN • Web Service • direct and through HIB / HL7v3 Marc de Graauw marc@marcdegraauw.com

  17. Healthcare Information System HIB BSN (“Burger Service Nummer”) Registry Messa- ging Services Healthcare Information System Patient Registry Healthcare Information System Provider Registry UZI (PKI) Registry Healthcare Information System Act Registry Marc de Graauw marc@marcdegraauw.com

  18. HIB (Healthcare Information Broker) • Routing of messages between HIS’s • Act Registry: which HIS has information on which patient for which kind of data • add/change/delete Act Information • Patient Registry (partly gateway to BSN) • Provider Registry (partly gateway to UZI) • Collection of query data • Logging, access control • VPN based, TCP/IP, HTTP network Marc de Graauw marc@marcdegraauw.com

  19. Healthcare Information System HIB BSN (“Burger Service Nummer”) Registry Messa- ging Services Healthcare Information System Patient Registry Healthcare Information System Provider Registry UZI (PKI) Registry Healthcare Information System Act Registry Marc de Graauw marc@marcdegraauw.com

  20. Infrastructure example Marc de Graauw marc@marcdegraauw.com

  21. Actually, it’s not that simple... Marc de Graauw marc@marcdegraauw.com

  22. Healthcare Information Systems • Must qualify “Well Maintained HIS” • performance, security, maintenance, uptime etc. • Implement National Guidelines • Do logging • Do local authorizations Marc de Graauw marc@marcdegraauw.com

  23. HL7v3, the vocabulary Marc de Graauw marc@marcdegraauw.com

  24. Just enough HL7 • HL7 version 2 : currently used • HL7v3: • XML based • Reference Information Model • HL7v3 Message contains: • medical payload • Trigger Event Wrappers (Query Control etc.) • Transmission Wrapper Marc de Graauw marc@marcdegraauw.com

  25. HL7v3 Layered Model HTTP, SSL SOAP / Web Services HL7 Transmission Wrapper HL7 Query Control Wrapper HL7 Medical Data TCP lower protocol layers Marc de Graauw marc@marcdegraauw.com

  26. Spec Class Diagram State Diagram Storyboard HL7 Development Framework (HDF) Information Model Determine classes, attributes & associations Determine scope Storyboards Determine parties and processes Restrict domains Write storyboards Determine state transitions Determine trigger events Message Design Interaction Model Develop R-MIM TYPE MPSLOC CONTAINS { id[id].TYPE IID nm[name].TYPE ST ad[addr].TYPE XAD ph[phon].TYPE XTN email_address [emlAdr].TYPE XTN } 2-nd Order 1 choice of 0-n Drug 0-1 Nursing Determine interactions Specificy HMDs Determine application roles Interaction Diagram Determine conformance claims Marc de Graauw marc@marcdegraauw.com

  27. Storyboard Mevrouw Jansen komt langs bij apotheek ‘De Gulle Gaper’ met een handgeschreven recept van haar huisarts Dr. van Beek. Het recept is voor 2x daags 1 tablet Diazepam 250 mg, gedurende 4 weken. De apotheker van de Gulle Gaper, Dr. Poeder, pakt een een doosje met 5 strips van 10 tabletten en voegt daar een 6e strip van tabletten aan toe. Het geheel van 60 tabletten Diazepam 250 mg wordt overhandigd aan mevr. Jansen, inclusief een bijsluiter en met het gebruiksvoorschrift (van de huisarts) op de verpakking. Marc de Graauw marc@marcdegraauw.com

  28. RIM (Reference Information Model) Marc de Graauw marc@marcdegraauw.com

  29. Act Relationship 0..* 0..* 0..* 1 0..* 1 1 0..* 1 1 RIM (Reference Information Model) Backbone Entity Role Participation Act Referral Transportation Supply Procedure Condition Node Consent Observation Medication Act complex Financial act PatientGuarantor Healthcare provider Insurer Practitioner Organization Living Subject Material Place Health Chart Marc de Graauw marc@marcdegraauw.com

  30. Medication D-MIM Marc de Graauw marc@marcdegraauw.com

  31. Interaction diagram Marc de Graauw marc@marcdegraauw.com

  32. Refinement through ‘Constraints’ Marc de Graauw marc@marcdegraauw.com

  33. XML fragment Marc de Graauw marc@marcdegraauw.com

  34. Person Healthcare Marc de Graauw marc@marcdegraauw.com

  35. Marc de Graauw marc@marcdegraauw.com

  36. Person Healthcare De klasse Person heeft de volgende attributen: Marc de Graauw marc@marcdegraauw.com

  37. Person Healthcare De klasse Person heeft de volgende associaties: Marc de Graauw marc@marcdegraauw.com

  38. Identification Marc de Graauw marc@marcdegraauw.com

  39. Identification in HL7 • HL7v3 datatype Instance Identifier <patientID> <value extension="012345672" root="2.16.840.1.113883.2.4.6.3"/> </patientID> • roots are OID’s (Object IDentifier) • ITU-T ASN.1 • hierarchy • extension is local identification system – in this case, BSN (social security number) Marc de Graauw marc@marcdegraauw.com

  40. HL7 in the OID tree Marc de Graauw marc@marcdegraauw.com

  41. A root OID • 2.16.840.1.113883 • HL7.org • 2.16.840.1.113883.2 • HL7 international affiliates • 2.16.840.1.113883.2.4 • HL7 Netherlands • 2.16.840.1.113883.2.4.6 • external id’s • 2.16.840.1.113883.2.4.6.6 • AORTA application-id’s • 2.16.840.1.113883.2.4.6.6.1215432 • root node app in hospital X • 2.16.840.1.113883.2.4.6.6.1215432.4 • prescription number within PIS Marc de Graauw marc@marcdegraauw.com

  42. Identification in HL7 Marc de Graauw marc@marcdegraauw.com

  43. Identification in HL7 Marc de Graauw marc@marcdegraauw.com

  44. Schema Issues Marc de Graauw marc@marcdegraauw.com

  45. Schema's serve multiple masters • Schema’s serve more than one purpose • design • validation • contract • code generation • those purposes often need different Schema’s Marc de Graauw marc@marcdegraauw.com

  46. Schema's serve multiple masters • design + reuseability, composability, simplicity - performance • validation + performance, strictness, error messages, completeness - reuseability, composability, simplicity, readability • contract + readability, strictness, completeness - performance • code generation + simplicity, readability - reuseability, composability Marc de Graauw marc@marcdegraauw.com

  47. The HL7v3 Schema’s • Let’s look at an example • Get Person Demographics Query • Send in person id • Get name, address, birthdate et cetera Marc de Graauw marc@marcdegraauw.com

  48. The HL7v3 Schema’s Marc de Graauw marc@marcdegraauw.com

  49. The HL7v3 Schema’s Marc de Graauw marc@marcdegraauw.com

  50. The HL7v3 Schema’s QUPA_101102_V01 • MCCI_MT000300UV01 • COCT_MT040203UV01 • COCT_MT150003UV03 • COCT_MT030203UV02 • MFMI_MT700711 • COCT_MT090300UV01 • COCT_MT150000UV02 • COCT_MT070000UV01 • COCT_MT710000UV01 • COCT_MT150003UV03 • COCT_MT070000UV01 • COCT_MT710000UV01 • COCT_MT090100 • COCT_MT150000UV02 • COCT_MT070000UV01 • COCT_MT710000UV01 • COCT_MT150003UV03 • COCT_MT070000UV01 • COCT_MT710000UV01 • COCT_MT090003 • COCT_MT150003UV03 • MCAI_MT900001 • QUPA_MT101102_V01 • QUPA_MT101101_V01 Marc de Graauw marc@marcdegraauw.com

More Related