ART DECOR: an XML framework for medical metadata Marc de Graauw XML Amsterdam 2013 What we’ll cover • The problem domain – medical procedures and knowledge – healthcare IT standards (HL7, Snomed, ...) – expertise involved (IT, doctor, terminologist) • The solution – – – – XML data model (DECOR) XML tooling to edit (ART) different views and output formats code generation • Pros and cons of an all-XML solution A use case • Dutch colorectal cancer screening – – – – – – entire population 55+ gets screened faeces samples collected, tested for blood if suspect, invitation for colonoscopy gastro-enterologist performs colonoscopy, submits findings to registry if tissue removed, sent to pathologist pathologist performs macro-/microscopical analysis, submits findings • Other use cases – – – – – Perinatology, Youth Healthcare (Netherlands) ELGA elektronische Gesundheitsakte (Austria) QiN KfH Datenaustausch in der Nephrologie (Germany) epSOS, trans-European medical exchange many more Koppelingen HL7 V3 CDA bericht: Art-decor, via : http://decor.nictiz.nl/ art-decor/ decor-project--rivmsp- PROBLEM DOMAIN - MEDICAL Gastroenterologist Patient id Document id Medication Observations PROBLEM DOMAIN TERMINOLOGY Medical terminologies • LOINC – Logical Observation Identifiers Names and Codes – Laboratorium Observations • ICD-9, ICD-10 • Snomed • Goals: – uniform codes for exchange – enable analysis / statistics Example valueset Medical terms Snomed codes PROBLEM DOMAIN - ICT Just enough HL7 • HL7 version 2 : currently used a lot in hospitals • HL7v3: – Reference Information Model – XML serialization – XML Schema – CDA (part text, part structured data) – Slow uptake, new developments RIM (Reference Information Model) Backbone Act Relationship 0..* 0..* 1 Entity Organization Living Subject Material Place Health Chart 0..* 1 Role Patient Guarantor Healthcare provider Insurer Practitioner 0..* 1 Participation 1 0..* 1 Act Referral Transportation Supply Procedure Condition Node Consent Observation Medication Act complex Financial act RIM (Reference Information Model) HL7 in the OID tree HL7 snippet for Gastro-enterelogical Report The problem domain: Participants and development cycle Healthcare Terminologists IT providers Data Set Test / Qualification ICT Architects HL7v3 modellers THE SOLUTION - DECOR DECOR overview name description authors version info copyright project concept dataset use case actor transaction scenario DECOR issues rules status assignment code systems terminology systems value sets identifications group item OID validation constraints conditions Example DECOR file THE SOLUTION - ART ART - editor ART - editor ART demo DECOR and ART technology • A DECOR file is an XML file – – – – methodology developed by dr. Kai U. Heitmann basis for transformations to other HTML / XML fine basis for schema(tron) has its own schema (DECOR.xsd) • ART is tooling to make DECOR files – tooling developed by Gerrit Boers – ART is made with XQuery / XForms – open source products eXist / Orbeon • ART and DECOR are open source (GPL / LGPL) – team: Kai, Gerrit, Alexander Henket, Maarten Ligtvoet, Marc ART tooling Stakeholders XForms Healthcare DECOR XML PERI Terminologists IT vendors Spoed eXist XML database Testing XQuery HL7v3 modellers WEB INTERFACE ICT Architects JGZ etc.. THE SOLUTION – OUTPUTS Outputs DECOR ART Stakeholders Healthcare project HTML dataset Terminologists scenario issues XML ICT Architects HL7v3 modellers value sets identifications rules Testing CSV IT vendors Care provider view Technical documentation XML / CSV resources for implementers THE SOLUTION – CODE GENERATION Schematron generation DECOR ART Stakeholders project Testing OK ? dataset issues value sets identifications rules Schematron message validation XML scenario IT vendors Schematron / test demo UI generation DECOR ART Stakeholders project dataset scenario issues XML specs UI value sets identifications rules IT vendors USING XML – PROS AND CONS Application architectures DB A P P XML as a storage format DB X M L A P P XML as exchange format DB A P P A P P X M L DB A P P Web architecture 2013 User Interface Logic Model Con trol ler Br ows er View X HTML M CSS L JS non-XML vs XML application User Interface Logic Post greSQL Djan go Tem pla tes eXist Br ows er User Interface Logic XML XQu ery HTML CSS JS XForm HTML CSS JS Br ows er XML for application: pros and cons • versatile data structure – easy to adapt – easy to generate different outputs • • easy to introduce bugs learning curve – XQuery: not too hard – XForms: steeper • harder to debug – less tooling, especially server-side – client-side debugging: you see HTML, not XForm • procedural versus declarative programming – procedural: here you have an X, multiply by 2 and give it back to me – declarative: if you see an X, multiply it by 2 – XML all over the place: it’s magic, and sometimes you don’t get it • • (some) partners have limited XML knowledge Schematron versus XML Schema – co-occurrence... – error reporting QUESTIONS ?