SlideShare una empresa de Scribd logo
1 de 29
Descargar para leer sin conexión
Extending the Platform

21st VCM, George Mason University, Fairfax, Va.
          Andy Pardue & Ben Mehling
OVID

                   The OVID (OpenVista Interface Domain) layer is a
                   set of development tools designed to enable
                   software developers easier access to OpenVista
                   data and applications.

                   OVID is a foundational technology that allows
                   developers to build upon OpenVista (and VistA
                   derivatives) using alternative languages (such as
                   Java) or architectures (such as Web Services/SOA).

    Vital stats:
           Originally released: April 2009
           License: AGPL
           Technologies: M, Java
           Downloads: Open Repository & 2000+
           Home: http://medsphere.org/community/project/ovid
           Recent whitepaper: http://www.medsphere.com/ovid-white-paper
2                          Copyright © 2010 Medsphere Systems Corporation
OVID Technical Capabilities
    • Useful for building on the OpenVista/VistA platform:
          Traditional applications
          Web/Mobile applications
          Exposing OpenVista data/logic as Web Services
          Console based applications
          Automation and Integration
    • Ability to create M to Java calls, allowing M applications to call
      external Java APIs
    • Ability to create Java to M calls, allowing Java applications to
      call into M APIs
    • Supports creating Java domain objects




3                          Copyright © 2010 Medsphere Systems Corporation
Web/Mobile
                                        OVID Architectural Overview
       Apps

                                                            • How does OVID work?
                                                                       Communicates over generic
                                                                       transports, such as RPC Broker
                                                                       or CIAi Broker
    Web Services Repo                Java Apps
                                   (Thick and Console)                 Implements an interface for
                                                                       calling existing RPCs
                                                                       Implements an interface to
              Domain Object Repository                                 FileMan’s “silent” database API
           (Patient, Order, Medication, etc.)
                    OVID Message
                   OVID Connection



                 RPC/CIAi Broker

                   OVID M/RPCs


               M/RPCs         FileMan

                     OpenVista
4                                     Copyright © 2010 Medsphere Systems Corporation
A Platform

      Using the OVID technology and
      framework, community contributors and
      Medsphere have created new tools and
      applications:

               Web Services to CCR/CCD gateway
               Web Services to DoD KMR middle tier
               IHS/Medsphere Clinical Flowsheet,
               Pharmacy and more in development
               iPhone/iPod application to view
               patient record in real-time
               Registration application built on OVID
               RESTful interface to OpenVista


5   Copyright © 2010 Medsphere Systems Corporation
Sample web front-end
When to consider OVID

            VistA provides a strong integrated solution
            ...but, Integration is a double-edged sword
        VistA has not easily adapted to the changing world


                     s in computing,
                 platforms and devices
    OVID can be used in projects with varying goals:
    • Integration – the glue between disparate systems
    • Extension – or a platform on which to build
    • Migration – a transitional path




7                    Copyright © 2010 Medsphere Systems Corporation
Integration




    HL7
                                                              OpenVista

                         Image
    XML                 Interface

                          OVID
    Files                                                     WebDAV
                                                             Image Repo
                    Mirth Engine




8           Copyright © 2010 Medsphere Systems Corporation
Extension




                                         Patient
                                        Dashboard
                OVID
                OVID                    Application
                          Domain
    OpenVista              Layer




9                      Copyright © 2010 Medsphere Systems Corporation
Extension




                                          Patient
                                         Dashboard
                 OVID
                 OVID                    Application
                           Domain
     OpenVista              Layer
                                          RESTful
                                         WebService




10                      Copyright © 2010 Medsphere Systems Corporation
Migration



           Clinical
         Flowsheets




              OVID-based WebServices



     MySQL

                          OpenVista




11           Copyright © 2010 Medsphere Systems Corporation
Migration



           Clinical
                                          Pharmacy
         Flowsheets




              OVID-based WebServices



     MySQL                                                FDB
                                                          DIF
                          OpenVista




12           Copyright © 2010 Medsphere Systems Corporation
Migration



               Clinical
                                              Pharmacy
             Flowsheets




                  OVID-based WebServices



      MySQL                                                   FDB
                                                              DIF
                              OpenVista
           Bigtable
     AWS




13               Copyright © 2010 Medsphere Systems Corporation
Domain Layer

     • A layer of business objects focused on defining the
       properties and behavior of the concepts they represent.
          Object oriented, reusable across applications.
          Isolate, as much as possible, underlying complexity and
          details from the users of the objects.
          For our purposes, a domain layer should be a simple,
          repository based approach to accumulating useful domain
          objects.
          Extensible to other architectures and platforms (SOAP,
          REST, Web, etc.)
          Lowers the ramp up time for new developers to become
          productive.




14                    Copyright © 2010 Medsphere Systems Corporation
OVID API

     •   RPCBroker, CIABroker, VistalinkBroker interfaces
     •   Connection pooling
     •   Temporal caching
     •   FileMan/Mumps RPC Access
     •   Support for annotated Java beans




15                     Copyright © 2010 Medsphere Systems Corporation
OVID Domains

     • Patient (Demographics)                    • Vital Signs

     • Patient Contacts (NOK,                    • Drug information
       Guarantor)                                • Medication Administration Log
     • Location/Ward/Institution                 • Orders/Orderable Items
       Information                               • Order status/dialog
     • Kernel Info (e.g. Platform                • Patient Movement
       detection)
                                                 • Prescriptions/refills
     • Users/Clinicians (New Person)
                                                 • Immunizations/refusals
     • Laboratory Test Results
                                                 • TIU Document Retrieval
     • Problems


16                        Copyright © 2010 Medsphere Systems Corporation
DDSS & KMR Project
     • Middle-tier DDSS
       Research Project
             Data Services (C83)
             from RPMS and
             OpenVista
             “Service Orienting”
             the Rules Engine
             Web app container for
             VueCentric




     For details, see: http://socraticgrid.org/index.php/documentation.html

17                                    Copyright © 2010 Medsphere Systems Corporation
KMR Services -- What’s available

     • CAL layer defines what web services are implemented
     • Utilizes HL7 V3 XML objects for data requests and responses
     • All service providers (RPMS, OpenVista) implement this interface.
           (These implementations are called “mappers” because they map from
           native data elements to the HL7 v3 objects required by the CAL layer.)
     • CAL layer is implemented as a SOAP Java web services (jax-ws)
     • Runs within the Glassfish application server
     • Coding systems are used when available in source data: LOINC,
       ICD, CPT, NDC, HL7
     • Currently implements the following CAL domains:
                     FindPatients                         GetMedications
                     GetPatientInfo                       GetAllergies
                     FindProviders                        GetImmunizations
                     GetProblems                          GetVitalSigns
                     GetLabResults



18                          Copyright © 2010 Medsphere Systems Corporation
Demonstration

         • CCD Document Creation
                 Used anonymized data from a large sample RPMS dataset
                 Aggregation of ~5 domains into a CCD XML file
                 Built on OVID, automated the CCD creation from RPMS in
                 a few hours of developer time
         • Populating popHealth1 Repository
                 One CCD XML file 2 was created for each patient
                 The import process reads a directory of CCD records in
                 batch, loading each patient into the repository
         • Population Health Reporting
                 Influenza Vaccination
                 Hypertensive BP Under Control
                 Ad hoc reporting...
     1 http://www.projectpophealth.org/
     2 Incomplete CCD record due to popHealth limitation -- clinical coding incomplete/hardcoded


19                                Copyright © 2010 Medsphere Systems Corporation
FM Projection
                    FM (File Manager) Projection is a technology that
                    “projects” the data structure of OpenVista into a
                    relational database format.

                    Users can query against FM data structures using
                    SQL queries and tools.




     Vital stats:
           Planned release: January 2010 VCM!
           License: AGPL, LGPL
           Technologies: M, Java, C
           Downloads: Open Repository
           Home: http://medsphere.org/community/project/fm-projection
20                          Copyright © 2010 Medsphere Systems Corporation
FM Projection
     Architecture:
     • M-engine agnostic (GT.M or Cache)
     • Implements a MySQL storage engine that is backed via a
       network connection to an OpenVista server
     • Projection model uses SQLi package

     Capabilities:
     • Data can then be accessed via J/ODBC data tools and
       compatible data access development libraries
     • A Java-based schema and data viewer is included
     • Current version provides read-only access

     Uses:
     • Connect open source or COTS data analysis, reporting, BI
       tools
21                      Copyright © 2010 Medsphere Systems Corporation
FileMan Projection Architecture


                      MySQL Clients




                SQL Parser/Optimizer



     MyISAM               InnoDB            FileMan                      FileMan
     Storage Engine        Storage Engine    Storage Engine

                                                                        Visualizer



                       RPC Broker           SQL RPCs




                          FileMan              SQLi




22                     Copyright © 2010 Medsphere Systems Corporation
To do

     • Indexes on "New Style" FileMan indexes
     • Provide better optimizer hints
     • Foreign keys
     • Prefetch results instead of RPC call per row
     • Custom network socket connection for
       performance
     • Eventually, write abilities




23                 Copyright © 2010 Medsphere Systems Corporation
Demonstration




24   Copyright © 2010 Medsphere Systems Corporation
FM Visualizer (FMVis)

     • Inspect Files
          Fields
          Data
          Globals
          Relationships
          Graph




25                        Copyright © 2010 Medsphere Systems Corporation
Standard SQL via DBVisualizer

     • Schema inspection
     • Queries:
          Titles
          Users with their titles
          Average Age & Standard Deviation of Patients
          Most recent signed notes


     • Project Files to MySQL from FMVis
          STATE




26                    Copyright © 2010 Medsphere Systems Corporation
Jasper - iReport

     • Sample Reports
          Users by Title
          Signed notes (previous two weeks)
          Patients w/ Allergies

     • Projection, not Replication
          Run Report
          Data alteration
          Re-run Report




27                     Copyright © 2010 Medsphere Systems Corporation
• Semantic Web EMR, Wed 6/9 @ 3:15pm
     • Medsphere Overview, Fri 6/11 @ 9:00am




                          Questions
                     http://medsphere.org/




28                   Copyright © 2010 Medsphere Systems Corporation
http://medsphere.org/

Más contenido relacionado

Similar a Medsphere.org: Extending the Platform

Moonshot-enabled Federated Access to Cloud Infrastructure
Moonshot-enabled Federated Access to Cloud InfrastructureMoonshot-enabled Federated Access to Cloud Infrastructure
Moonshot-enabled Federated Access to Cloud InfrastructureEduserv
 
Conduct JBoss EAP 6 seminar
Conduct JBoss EAP 6 seminarConduct JBoss EAP 6 seminar
Conduct JBoss EAP 6 seminarSyed Shaaf
 
Development on Cloud,PaaS and SDDC
Development on Cloud,PaaS and SDDCDevelopment on Cloud,PaaS and SDDC
Development on Cloud,PaaS and SDDCseungdon Choi
 
Oscon anatomy of_os_cloud_ecosystem
Oscon anatomy of_os_cloud_ecosystemOscon anatomy of_os_cloud_ecosystem
Oscon anatomy of_os_cloud_ecosystemhtdvul
 
Development on cloud_paa_s_sddc_mkim_20141216_final
Development on cloud_paa_s_sddc_mkim_20141216_finalDevelopment on cloud_paa_s_sddc_mkim_20141216_final
Development on cloud_paa_s_sddc_mkim_20141216_finalminseok kim
 
Introduction to Cloud Application Platform
Introduction to Cloud Application PlatformIntroduction to Cloud Application Platform
Introduction to Cloud Application PlatformVMware vFabric
 
The Middleware technology that connects the enterprise
The Middleware technology that connects the enterpriseThe Middleware technology that connects the enterprise
The Middleware technology that connects the enterprise Kasun Indrasiri
 
Windows Azure Platform
Windows Azure PlatformWindows Azure Platform
Windows Azure PlatformSoumow Dollon
 
Connectivity for a Smarter Planet
Connectivity for a Smarter PlanetConnectivity for a Smarter Planet
Connectivity for a Smarter PlanetProlifics
 
FATC UK - Real time collaborative Flex apps
FATC UK - Real time collaborative Flex appsFATC UK - Real time collaborative Flex apps
FATC UK - Real time collaborative Flex appsMichael Chaize
 
Day1 Forrester Cloud Presentation
Day1 Forrester Cloud PresentationDay1 Forrester Cloud Presentation
Day1 Forrester Cloud PresentationErwinTheunissen
 
Leverage An Intelligent Application Infrastructure for Competitive Advantage.
Leverage An Intelligent Application Infrastructure for Competitive Advantage.Leverage An Intelligent Application Infrastructure for Competitive Advantage.
Leverage An Intelligent Application Infrastructure for Competitive Advantage.Eric D. Schabell
 
Cloud Intelligence - Get Your Head Out of the Clouds
Cloud Intelligence - Get Your Head Out of the CloudsCloud Intelligence - Get Your Head Out of the Clouds
Cloud Intelligence - Get Your Head Out of the CloudsHarold Wong
 
WS-* Specifications Update 2007
WS-* Specifications Update 2007WS-* Specifications Update 2007
WS-* Specifications Update 2007Jorgen Thelin
 
Alex Wade, Digital Library Interoperability
Alex Wade, Digital Library InteroperabilityAlex Wade, Digital Library Interoperability
Alex Wade, Digital Library Interoperabilityparker01
 

Similar a Medsphere.org: Extending the Platform (20)

Moonshot-enabled Federated Access to Cloud Infrastructure
Moonshot-enabled Federated Access to Cloud InfrastructureMoonshot-enabled Federated Access to Cloud Infrastructure
Moonshot-enabled Federated Access to Cloud Infrastructure
 
Conduct JBoss EAP 6 seminar
Conduct JBoss EAP 6 seminarConduct JBoss EAP 6 seminar
Conduct JBoss EAP 6 seminar
 
The Promise of Interoperability
The Promise of InteroperabilityThe Promise of Interoperability
The Promise of Interoperability
 
Development on Cloud,PaaS and SDDC
Development on Cloud,PaaS and SDDCDevelopment on Cloud,PaaS and SDDC
Development on Cloud,PaaS and SDDC
 
Oscon anatomy of_os_cloud_ecosystem
Oscon anatomy of_os_cloud_ecosystemOscon anatomy of_os_cloud_ecosystem
Oscon anatomy of_os_cloud_ecosystem
 
Development on cloud_paa_s_sddc_mkim_20141216_final
Development on cloud_paa_s_sddc_mkim_20141216_finalDevelopment on cloud_paa_s_sddc_mkim_20141216_final
Development on cloud_paa_s_sddc_mkim_20141216_final
 
Business Models for Interoperability
Business Models for InteroperabilityBusiness Models for Interoperability
Business Models for Interoperability
 
Introduction to Cloud Application Platform
Introduction to Cloud Application PlatformIntroduction to Cloud Application Platform
Introduction to Cloud Application Platform
 
The Middleware technology that connects the enterprise
The Middleware technology that connects the enterpriseThe Middleware technology that connects the enterprise
The Middleware technology that connects the enterprise
 
Windows Azure Platform
Windows Azure PlatformWindows Azure Platform
Windows Azure Platform
 
Connectivity for a Smarter Planet
Connectivity for a Smarter PlanetConnectivity for a Smarter Planet
Connectivity for a Smarter Planet
 
FATC UK - Real time collaborative Flex apps
FATC UK - Real time collaborative Flex appsFATC UK - Real time collaborative Flex apps
FATC UK - Real time collaborative Flex apps
 
Day1 Forrester Cloud Presentation
Day1 Forrester Cloud PresentationDay1 Forrester Cloud Presentation
Day1 Forrester Cloud Presentation
 
Leverage An Intelligent Application Infrastructure for Competitive Advantage.
Leverage An Intelligent Application Infrastructure for Competitive Advantage.Leverage An Intelligent Application Infrastructure for Competitive Advantage.
Leverage An Intelligent Application Infrastructure for Competitive Advantage.
 
Cloud Intelligence - Get Your Head Out of the Clouds
Cloud Intelligence - Get Your Head Out of the CloudsCloud Intelligence - Get Your Head Out of the Clouds
Cloud Intelligence - Get Your Head Out of the Clouds
 
resume
resumeresume
resume
 
WS-* Specifications Update 2007
WS-* Specifications Update 2007WS-* Specifications Update 2007
WS-* Specifications Update 2007
 
Introduction to Web Services
Introduction to Web ServicesIntroduction to Web Services
Introduction to Web Services
 
LOD2 Webinar Series: Virtuoso 7
LOD2 Webinar Series: Virtuoso 7LOD2 Webinar Series: Virtuoso 7
LOD2 Webinar Series: Virtuoso 7
 
Alex Wade, Digital Library Interoperability
Alex Wade, Digital Library InteroperabilityAlex Wade, Digital Library Interoperability
Alex Wade, Digital Library Interoperability
 

Último

Anypoint Exchange: It’s Not Just a Repo!
Anypoint Exchange: It’s Not Just a Repo!Anypoint Exchange: It’s Not Just a Repo!
Anypoint Exchange: It’s Not Just a Repo!Manik S Magar
 
The Future of Software Development - Devin AI Innovative Approach.pdf
The Future of Software Development - Devin AI Innovative Approach.pdfThe Future of Software Development - Devin AI Innovative Approach.pdf
The Future of Software Development - Devin AI Innovative Approach.pdfSeasiaInfotech2
 
Human Factors of XR: Using Human Factors to Design XR Systems
Human Factors of XR: Using Human Factors to Design XR SystemsHuman Factors of XR: Using Human Factors to Design XR Systems
Human Factors of XR: Using Human Factors to Design XR SystemsMark Billinghurst
 
Vector Databases 101 - An introduction to the world of Vector Databases
Vector Databases 101 - An introduction to the world of Vector DatabasesVector Databases 101 - An introduction to the world of Vector Databases
Vector Databases 101 - An introduction to the world of Vector DatabasesZilliz
 
What's New in Teams Calling, Meetings and Devices March 2024
What's New in Teams Calling, Meetings and Devices March 2024What's New in Teams Calling, Meetings and Devices March 2024
What's New in Teams Calling, Meetings and Devices March 2024Stephanie Beckett
 
Unleash Your Potential - Namagunga Girls Coding Club
Unleash Your Potential - Namagunga Girls Coding ClubUnleash Your Potential - Namagunga Girls Coding Club
Unleash Your Potential - Namagunga Girls Coding ClubKalema Edgar
 
SIP trunking in Janus @ Kamailio World 2024
SIP trunking in Janus @ Kamailio World 2024SIP trunking in Janus @ Kamailio World 2024
SIP trunking in Janus @ Kamailio World 2024Lorenzo Miniero
 
Developer Data Modeling Mistakes: From Postgres to NoSQL
Developer Data Modeling Mistakes: From Postgres to NoSQLDeveloper Data Modeling Mistakes: From Postgres to NoSQL
Developer Data Modeling Mistakes: From Postgres to NoSQLScyllaDB
 
Vertex AI Gemini Prompt Engineering Tips
Vertex AI Gemini Prompt Engineering TipsVertex AI Gemini Prompt Engineering Tips
Vertex AI Gemini Prompt Engineering TipsMiki Katsuragi
 
My Hashitalk Indonesia April 2024 Presentation
My Hashitalk Indonesia April 2024 PresentationMy Hashitalk Indonesia April 2024 Presentation
My Hashitalk Indonesia April 2024 PresentationRidwan Fadjar
 
Ensuring Technical Readiness For Copilot in Microsoft 365
Ensuring Technical Readiness For Copilot in Microsoft 365Ensuring Technical Readiness For Copilot in Microsoft 365
Ensuring Technical Readiness For Copilot in Microsoft 3652toLead Limited
 
"Federated learning: out of reach no matter how close",Oleksandr Lapshyn
"Federated learning: out of reach no matter how close",Oleksandr Lapshyn"Federated learning: out of reach no matter how close",Oleksandr Lapshyn
"Federated learning: out of reach no matter how close",Oleksandr LapshynFwdays
 
Streamlining Python Development: A Guide to a Modern Project Setup
Streamlining Python Development: A Guide to a Modern Project SetupStreamlining Python Development: A Guide to a Modern Project Setup
Streamlining Python Development: A Guide to a Modern Project SetupFlorian Wilhelm
 
"ML in Production",Oleksandr Bagan
"ML in Production",Oleksandr Bagan"ML in Production",Oleksandr Bagan
"ML in Production",Oleksandr BaganFwdays
 
"Debugging python applications inside k8s environment", Andrii Soldatenko
"Debugging python applications inside k8s environment", Andrii Soldatenko"Debugging python applications inside k8s environment", Andrii Soldatenko
"Debugging python applications inside k8s environment", Andrii SoldatenkoFwdays
 
Training state-of-the-art general text embedding
Training state-of-the-art general text embeddingTraining state-of-the-art general text embedding
Training state-of-the-art general text embeddingZilliz
 
Advanced Test Driven-Development @ php[tek] 2024
Advanced Test Driven-Development @ php[tek] 2024Advanced Test Driven-Development @ php[tek] 2024
Advanced Test Driven-Development @ php[tek] 2024Scott Keck-Warren
 
Install Stable Diffusion in windows machine
Install Stable Diffusion in windows machineInstall Stable Diffusion in windows machine
Install Stable Diffusion in windows machinePadma Pradeep
 
Transcript: New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
Transcript: New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024Transcript: New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
Transcript: New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024BookNet Canada
 
Story boards and shot lists for my a level piece
Story boards and shot lists for my a level pieceStory boards and shot lists for my a level piece
Story boards and shot lists for my a level piececharlottematthew16
 

Último (20)

Anypoint Exchange: It’s Not Just a Repo!
Anypoint Exchange: It’s Not Just a Repo!Anypoint Exchange: It’s Not Just a Repo!
Anypoint Exchange: It’s Not Just a Repo!
 
The Future of Software Development - Devin AI Innovative Approach.pdf
The Future of Software Development - Devin AI Innovative Approach.pdfThe Future of Software Development - Devin AI Innovative Approach.pdf
The Future of Software Development - Devin AI Innovative Approach.pdf
 
Human Factors of XR: Using Human Factors to Design XR Systems
Human Factors of XR: Using Human Factors to Design XR SystemsHuman Factors of XR: Using Human Factors to Design XR Systems
Human Factors of XR: Using Human Factors to Design XR Systems
 
Vector Databases 101 - An introduction to the world of Vector Databases
Vector Databases 101 - An introduction to the world of Vector DatabasesVector Databases 101 - An introduction to the world of Vector Databases
Vector Databases 101 - An introduction to the world of Vector Databases
 
What's New in Teams Calling, Meetings and Devices March 2024
What's New in Teams Calling, Meetings and Devices March 2024What's New in Teams Calling, Meetings and Devices March 2024
What's New in Teams Calling, Meetings and Devices March 2024
 
Unleash Your Potential - Namagunga Girls Coding Club
Unleash Your Potential - Namagunga Girls Coding ClubUnleash Your Potential - Namagunga Girls Coding Club
Unleash Your Potential - Namagunga Girls Coding Club
 
SIP trunking in Janus @ Kamailio World 2024
SIP trunking in Janus @ Kamailio World 2024SIP trunking in Janus @ Kamailio World 2024
SIP trunking in Janus @ Kamailio World 2024
 
Developer Data Modeling Mistakes: From Postgres to NoSQL
Developer Data Modeling Mistakes: From Postgres to NoSQLDeveloper Data Modeling Mistakes: From Postgres to NoSQL
Developer Data Modeling Mistakes: From Postgres to NoSQL
 
Vertex AI Gemini Prompt Engineering Tips
Vertex AI Gemini Prompt Engineering TipsVertex AI Gemini Prompt Engineering Tips
Vertex AI Gemini Prompt Engineering Tips
 
My Hashitalk Indonesia April 2024 Presentation
My Hashitalk Indonesia April 2024 PresentationMy Hashitalk Indonesia April 2024 Presentation
My Hashitalk Indonesia April 2024 Presentation
 
Ensuring Technical Readiness For Copilot in Microsoft 365
Ensuring Technical Readiness For Copilot in Microsoft 365Ensuring Technical Readiness For Copilot in Microsoft 365
Ensuring Technical Readiness For Copilot in Microsoft 365
 
"Federated learning: out of reach no matter how close",Oleksandr Lapshyn
"Federated learning: out of reach no matter how close",Oleksandr Lapshyn"Federated learning: out of reach no matter how close",Oleksandr Lapshyn
"Federated learning: out of reach no matter how close",Oleksandr Lapshyn
 
Streamlining Python Development: A Guide to a Modern Project Setup
Streamlining Python Development: A Guide to a Modern Project SetupStreamlining Python Development: A Guide to a Modern Project Setup
Streamlining Python Development: A Guide to a Modern Project Setup
 
"ML in Production",Oleksandr Bagan
"ML in Production",Oleksandr Bagan"ML in Production",Oleksandr Bagan
"ML in Production",Oleksandr Bagan
 
"Debugging python applications inside k8s environment", Andrii Soldatenko
"Debugging python applications inside k8s environment", Andrii Soldatenko"Debugging python applications inside k8s environment", Andrii Soldatenko
"Debugging python applications inside k8s environment", Andrii Soldatenko
 
Training state-of-the-art general text embedding
Training state-of-the-art general text embeddingTraining state-of-the-art general text embedding
Training state-of-the-art general text embedding
 
Advanced Test Driven-Development @ php[tek] 2024
Advanced Test Driven-Development @ php[tek] 2024Advanced Test Driven-Development @ php[tek] 2024
Advanced Test Driven-Development @ php[tek] 2024
 
Install Stable Diffusion in windows machine
Install Stable Diffusion in windows machineInstall Stable Diffusion in windows machine
Install Stable Diffusion in windows machine
 
Transcript: New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
Transcript: New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024Transcript: New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
Transcript: New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
 
Story boards and shot lists for my a level piece
Story boards and shot lists for my a level pieceStory boards and shot lists for my a level piece
Story boards and shot lists for my a level piece
 

Medsphere.org: Extending the Platform

  • 1. Extending the Platform 21st VCM, George Mason University, Fairfax, Va. Andy Pardue & Ben Mehling
  • 2. OVID The OVID (OpenVista Interface Domain) layer is a set of development tools designed to enable software developers easier access to OpenVista data and applications. OVID is a foundational technology that allows developers to build upon OpenVista (and VistA derivatives) using alternative languages (such as Java) or architectures (such as Web Services/SOA). Vital stats: Originally released: April 2009 License: AGPL Technologies: M, Java Downloads: Open Repository & 2000+ Home: http://medsphere.org/community/project/ovid Recent whitepaper: http://www.medsphere.com/ovid-white-paper 2 Copyright © 2010 Medsphere Systems Corporation
  • 3. OVID Technical Capabilities • Useful for building on the OpenVista/VistA platform: Traditional applications Web/Mobile applications Exposing OpenVista data/logic as Web Services Console based applications Automation and Integration • Ability to create M to Java calls, allowing M applications to call external Java APIs • Ability to create Java to M calls, allowing Java applications to call into M APIs • Supports creating Java domain objects 3 Copyright © 2010 Medsphere Systems Corporation
  • 4. Web/Mobile OVID Architectural Overview Apps • How does OVID work? Communicates over generic transports, such as RPC Broker or CIAi Broker Web Services Repo Java Apps (Thick and Console) Implements an interface for calling existing RPCs Implements an interface to Domain Object Repository FileMan’s “silent” database API (Patient, Order, Medication, etc.) OVID Message OVID Connection RPC/CIAi Broker OVID M/RPCs M/RPCs FileMan OpenVista 4 Copyright © 2010 Medsphere Systems Corporation
  • 5. A Platform Using the OVID technology and framework, community contributors and Medsphere have created new tools and applications: Web Services to CCR/CCD gateway Web Services to DoD KMR middle tier IHS/Medsphere Clinical Flowsheet, Pharmacy and more in development iPhone/iPod application to view patient record in real-time Registration application built on OVID RESTful interface to OpenVista 5 Copyright © 2010 Medsphere Systems Corporation
  • 7. When to consider OVID VistA provides a strong integrated solution ...but, Integration is a double-edged sword VistA has not easily adapted to the changing world s in computing, platforms and devices OVID can be used in projects with varying goals: • Integration – the glue between disparate systems • Extension – or a platform on which to build • Migration – a transitional path 7 Copyright © 2010 Medsphere Systems Corporation
  • 8. Integration HL7 OpenVista Image XML Interface OVID Files WebDAV Image Repo Mirth Engine 8 Copyright © 2010 Medsphere Systems Corporation
  • 9. Extension Patient Dashboard OVID OVID Application Domain OpenVista Layer 9 Copyright © 2010 Medsphere Systems Corporation
  • 10. Extension Patient Dashboard OVID OVID Application Domain OpenVista Layer RESTful WebService 10 Copyright © 2010 Medsphere Systems Corporation
  • 11. Migration Clinical Flowsheets OVID-based WebServices MySQL OpenVista 11 Copyright © 2010 Medsphere Systems Corporation
  • 12. Migration Clinical Pharmacy Flowsheets OVID-based WebServices MySQL FDB DIF OpenVista 12 Copyright © 2010 Medsphere Systems Corporation
  • 13. Migration Clinical Pharmacy Flowsheets OVID-based WebServices MySQL FDB DIF OpenVista Bigtable AWS 13 Copyright © 2010 Medsphere Systems Corporation
  • 14. Domain Layer • A layer of business objects focused on defining the properties and behavior of the concepts they represent. Object oriented, reusable across applications. Isolate, as much as possible, underlying complexity and details from the users of the objects. For our purposes, a domain layer should be a simple, repository based approach to accumulating useful domain objects. Extensible to other architectures and platforms (SOAP, REST, Web, etc.) Lowers the ramp up time for new developers to become productive. 14 Copyright © 2010 Medsphere Systems Corporation
  • 15. OVID API • RPCBroker, CIABroker, VistalinkBroker interfaces • Connection pooling • Temporal caching • FileMan/Mumps RPC Access • Support for annotated Java beans 15 Copyright © 2010 Medsphere Systems Corporation
  • 16. OVID Domains • Patient (Demographics) • Vital Signs • Patient Contacts (NOK, • Drug information Guarantor) • Medication Administration Log • Location/Ward/Institution • Orders/Orderable Items Information • Order status/dialog • Kernel Info (e.g. Platform • Patient Movement detection) • Prescriptions/refills • Users/Clinicians (New Person) • Immunizations/refusals • Laboratory Test Results • TIU Document Retrieval • Problems 16 Copyright © 2010 Medsphere Systems Corporation
  • 17. DDSS & KMR Project • Middle-tier DDSS Research Project Data Services (C83) from RPMS and OpenVista “Service Orienting” the Rules Engine Web app container for VueCentric For details, see: http://socraticgrid.org/index.php/documentation.html 17 Copyright © 2010 Medsphere Systems Corporation
  • 18. KMR Services -- What’s available • CAL layer defines what web services are implemented • Utilizes HL7 V3 XML objects for data requests and responses • All service providers (RPMS, OpenVista) implement this interface. (These implementations are called “mappers” because they map from native data elements to the HL7 v3 objects required by the CAL layer.) • CAL layer is implemented as a SOAP Java web services (jax-ws) • Runs within the Glassfish application server • Coding systems are used when available in source data: LOINC, ICD, CPT, NDC, HL7 • Currently implements the following CAL domains: FindPatients GetMedications GetPatientInfo GetAllergies FindProviders GetImmunizations GetProblems GetVitalSigns GetLabResults 18 Copyright © 2010 Medsphere Systems Corporation
  • 19. Demonstration • CCD Document Creation Used anonymized data from a large sample RPMS dataset Aggregation of ~5 domains into a CCD XML file Built on OVID, automated the CCD creation from RPMS in a few hours of developer time • Populating popHealth1 Repository One CCD XML file 2 was created for each patient The import process reads a directory of CCD records in batch, loading each patient into the repository • Population Health Reporting Influenza Vaccination Hypertensive BP Under Control Ad hoc reporting... 1 http://www.projectpophealth.org/ 2 Incomplete CCD record due to popHealth limitation -- clinical coding incomplete/hardcoded 19 Copyright © 2010 Medsphere Systems Corporation
  • 20. FM Projection FM (File Manager) Projection is a technology that “projects” the data structure of OpenVista into a relational database format. Users can query against FM data structures using SQL queries and tools. Vital stats: Planned release: January 2010 VCM! License: AGPL, LGPL Technologies: M, Java, C Downloads: Open Repository Home: http://medsphere.org/community/project/fm-projection 20 Copyright © 2010 Medsphere Systems Corporation
  • 21. FM Projection Architecture: • M-engine agnostic (GT.M or Cache) • Implements a MySQL storage engine that is backed via a network connection to an OpenVista server • Projection model uses SQLi package Capabilities: • Data can then be accessed via J/ODBC data tools and compatible data access development libraries • A Java-based schema and data viewer is included • Current version provides read-only access Uses: • Connect open source or COTS data analysis, reporting, BI tools 21 Copyright © 2010 Medsphere Systems Corporation
  • 22. FileMan Projection Architecture MySQL Clients SQL Parser/Optimizer MyISAM InnoDB FileMan FileMan Storage Engine Storage Engine Storage Engine Visualizer RPC Broker SQL RPCs FileMan SQLi 22 Copyright © 2010 Medsphere Systems Corporation
  • 23. To do • Indexes on "New Style" FileMan indexes • Provide better optimizer hints • Foreign keys • Prefetch results instead of RPC call per row • Custom network socket connection for performance • Eventually, write abilities 23 Copyright © 2010 Medsphere Systems Corporation
  • 24. Demonstration 24 Copyright © 2010 Medsphere Systems Corporation
  • 25. FM Visualizer (FMVis) • Inspect Files Fields Data Globals Relationships Graph 25 Copyright © 2010 Medsphere Systems Corporation
  • 26. Standard SQL via DBVisualizer • Schema inspection • Queries: Titles Users with their titles Average Age & Standard Deviation of Patients Most recent signed notes • Project Files to MySQL from FMVis STATE 26 Copyright © 2010 Medsphere Systems Corporation
  • 27. Jasper - iReport • Sample Reports Users by Title Signed notes (previous two weeks) Patients w/ Allergies • Projection, not Replication Run Report Data alteration Re-run Report 27 Copyright © 2010 Medsphere Systems Corporation
  • 28. • Semantic Web EMR, Wed 6/9 @ 3:15pm • Medsphere Overview, Fri 6/11 @ 9:00am Questions http://medsphere.org/ 28 Copyright © 2010 Medsphere Systems Corporation