SINTERO SERVER Simplifying interoperability for distributed collaborative health care Tim Benson, Ed Conley, Andrew Harrison, Ian Taylor COMSCI, Cardiff University
What is Sintero? Sintero Server is a prototype distributed clinical collaboration platform funded by Wellcome Trust Translational Programme Simplify INTEROperability in large-scale healthcare & clinical research applications Commodity health information exchange and secondary use infrastructure Horizontal and vertical integration
Four layer architecture Personal Health Data Layer 1 Input and retrieval interface CDA Continua devices Layer 2 Cross-organization patient-centric infrastructure IHE XDS Research and Reporting Layer 3 Local management, aggregation DSUB Layer 4 Wide area analytics TRIANA
Vertical Integration Layer 4: Analysis Applications export population/study data Layer 3: Aggregation Research / Reporting Personal Health care notification Layer 2: Standard Repositories (XDS) IHE transactions Layer 1: input: Devices, CDA, scanned data
Layer 1 Input Interface Input PC or tablet Medical devices Continua Bluetooth SpO2, BP, Weight etc Legacy systems XDS document source Retrieval XDS document consumer View by type of entry (medication, problems, latest entries etc.) Normalization Standardised HL7 CDA R2 documents
Horizontal Integration Integration across the patient journey Across physical boundaries (institutional, geographic, national) Across data models and syntaxes (Continua device readings, consents, EHR) Store data close to home Evolve to include new partners WORK HOSPITAL COMMUNITY INDEPENDENT CLINIC SOCIAL CARE? MOBILE GYM? TIME
Value for management and research Complete and commensurable Trust both numerator and denominator Events procedures (administrative, investigative, therapeutic) medication (prescribe, dispense administer) test results Commensurable but not complete Opinions problems, history, physical examination Zero neither commensurable nor complete Free text narrative
Patient Health Record Optimize for information retrieval Reverse chronological order All My latest Clinical documents Narrative letters and reports Clinical statements Problems Medication and allergies Test results (e.g. BP, HbA1c) Administrative events Patient preferences (e.g. consents, advance directives)
Sintero CDA Simplified Header One patient, author, encounter No recipients, participants Optional parent document (for changes) Body One section only Clinical narrative Documents for human readability without structured data (CDA level 1) Structured datum Single clinical statement per document (CDA level 3) e.g. diagnosis, test result, medication, event Objectives Flexible rendering Contextual metadata Populate XDS registry
Mapping CDA to XDS metadata Straightforward Document ID, patient ID, author, creation time, confidentiality, language, format code Not straightforward Class code, type code, event code, practice setting, facility type, service start, service stop, legal authenticator, availability status. Class code: document code Type code: section code Event code: encounter code XDS submission sets not used
11 Layer 2 XDS Patient Identity Source Patient Identity Feed Document Registry Query Documents Document Consumer Register Document Set Document Source Provide&Register Document Set Document Repository Retrieve Document
Sintero XDS software stack XDS Profiles Used XDS.b Cross-enterprise Document Sharing RFD Retrieve For Display PIX Patient Identifier Cross-referencing PDQ Patient Demographics Query BPPC Basic Patient Privacy Consent ATNA Audit Trail and Node Authentication EUA Enterprise User Authentication DSUB Document metadata SUBscription OHT project lead (Harrison) OpenATNA (Audit Trail and Node Authentication) OpenDSUB (Document Metadata Subscription) Implemented WS-Notification for asynchronous Web-services-based notification of messages Enables notifications of documents arriving in XDS
Layer 3 Aggregation DSUB collates XDS structured data to study DB Normalisation Pseudonymisation Local management statistics
DSUB Implemented WS-Notification for asynchronous Webservices-based notification of messages Enables notifications of documents arriving in XDS (the DSUB IHE Profile) OpenDSUB OHT open source project is now completed
Trials Domain 1. Subscribe Notification Broker L3 Aggr. 5. Notify Metadata to matching subscribers 6. Get data 7. Get Linked PSIDs Linked PSID DB Value Set Server 4. Notify MetaData Portal XDS REG XDS REPO 3. Store MD XDS REPO 2. Submit data And MD <CDA> personal clinical data </CDA> PIX PDQ Healthcare Domain
Sintero Study Distributed Overview Distributed Analysis (VMs) and Portal Interfaces Distributed XDS and L3 Aggregation Nodes
Layer 4 wide area analytics Cross-organization analytics Data mining Trending Benchmarking
Data Access Data can be accessed using the Study Database Portal Password entry and a direct link to download the data Or data can be accessed through the Study database REST interface through HTTPS for retrieval dynamically within an application The resulting data contains two files: The study definition document machine processible XML specification of the study defining parameters and ranges applied so far The data, which can be downloaded in multiple formats e.g. CSV, XML, etc
Triana workflow environment Triana is a graphical workflow tool for creating on-the-fly data processing pipelines We show here a Sintero workflow that imports data from the study database (using the REST API), extracts variables (according to the SDD), selects a column (age) and then performs a histogram of the resulting population distribution, showing this in a Grapher.
Histogram of Age Across a Population For a Study Triana can be run locally or we also have a mechanism to create a distributed Triana Virtual Machine (Ubuntu) on-the-fly with NX remote viewing This VM shows a Triana instance running in the previous algorithm and graphing the output. All parts of Sintero can be distributed for flexible deployment (including Triana)
Summary Sintero comprises a set of layers and distributed components that can be flexibly deployed across an organization or multiple organizations and/or VM instances. Sintero supports multiple devices connect via hubs to XDS for data input and co-habits an aggregation layer across the same nodes for distributed population queries. Queries can be constructed using the portal and the output saved to a Study Database for flexible connectivity to multiple applications Our local toolkit, Triana, supports connectivity through the REST API and can be used to perform multiple signal analysis task and clustering using WEKA.