1.04k likes | 1.2k Views
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
E N D
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
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
AORTAthe Dutch Healthcare Infrastructure Marc de Graauw marc@marcdegraauw.com
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
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
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
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
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
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
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
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
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
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
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
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
“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
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
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
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
Infrastructure example Marc de Graauw marc@marcdegraauw.com
Actually, it’s not that simple... Marc de Graauw marc@marcdegraauw.com
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
HL7v3, the vocabulary Marc de Graauw marc@marcdegraauw.com
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
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
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
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
RIM (Reference Information Model) Marc de Graauw marc@marcdegraauw.com
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
Medication D-MIM Marc de Graauw marc@marcdegraauw.com
Interaction diagram Marc de Graauw marc@marcdegraauw.com
Refinement through ‘Constraints’ Marc de Graauw marc@marcdegraauw.com
XML fragment Marc de Graauw marc@marcdegraauw.com
Person Healthcare Marc de Graauw marc@marcdegraauw.com
Marc de Graauw marc@marcdegraauw.com
Person Healthcare De klasse Person heeft de volgende attributen: Marc de Graauw marc@marcdegraauw.com
Person Healthcare De klasse Person heeft de volgende associaties: Marc de Graauw marc@marcdegraauw.com
Identification Marc de Graauw marc@marcdegraauw.com
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
HL7 in the OID tree Marc de Graauw marc@marcdegraauw.com
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
Identification in HL7 Marc de Graauw marc@marcdegraauw.com
Identification in HL7 Marc de Graauw marc@marcdegraauw.com
Schema Issues Marc de Graauw marc@marcdegraauw.com
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
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
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
The HL7v3 Schema’s Marc de Graauw marc@marcdegraauw.com
The HL7v3 Schema’s Marc de Graauw marc@marcdegraauw.com
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