Successfully reported this slideshow.
We use your LinkedIn profile and activity data to personalize ads and to show you more relevant ads. You can change your ad preferences anytime.

Reinventing the Mobile Healthcare Experience With the Couchbase Data Platform – Connect New York 2018

101 views

Published on

Speaker: Preethi Srinivasamurthy, Director, Applications Development and Technical Solutions, Matrix Medical Network

Matrix Medical Network is revolutionizing the way health plan members receive in-home assessments and care management services. Using an advanced technology platform, Matrix Medical Network provides visits to health plan members in their homes to obtain a deeper understanding about how to best support the members’ care needs, resulting in better overall health outcomes.

Matrix Medical Network relies on the Couchbase Data Platform, specifically Couchbase Mobile, to provide this in-home patient experience. Couchbase Mobile ensures that Matrix Medical Network can deliver an exceptional health experience all the time.

In this session, Preethi will walk you through the Matrix use case, why they chose Couchbase, and how the technology is helping solve some of their biggest challenges when it comes to remote employee enablement.

Published in: Technology
  • Be the first to comment

  • Be the first to like this

Reinventing the Mobile Healthcare Experience With the Couchbase Data Platform – Connect New York 2018

  1. 1. COUCHBASE MOBILE AT MATRIX MEDICAL NETWORK Preethi Srinivasamurthy Director, Application Development and Technical Solutions
  2. 2. 2 ABOUT MATRIX MEDICAL NETWORK We at Matrix partner with health plans across the country to provide in-home assessments and comprehensive care management services to our members that improve health outcomes.  5800 clinicians nationwide providing preventative care and personalized support  This visit lasts for 45-60 minutes.  Health Fair Acquisition - mobile health clinics, easy access for members. 2
  3. 3. 3 THE MATRIX MEDICAL NETWORK MOBILE APPLICATION BEFORE COUCHBASE MOBILE  SQLite + SQL Server  Native Android CHALLENGES  Mobile UI was static with no JSON forms  Sync had to be developed from SQLite to SQL Server, which means a lot of web services and scheduled jobs  A lot of code required for mobile app to work online & offline  Ongoing maintenance releases are long without flexible schema  Native android application – closed to just Android platform SQL SERVERSQLite
  4. 4. 4 REINVENTING OUR MOBILE PLATFORM Key requirements  Must work offline since many parts of the country lack good connectivity  Must be able to sync in real-time once connectivity has been established with our back end servers  Must be able to expand to multiple OS/Web with minimal development  Must serve large number of clients and their needs and dynamically render the user interface using JSON forms  Had to eliminate XML as data capture format primarily used
  5. 5. 5 Who we evaluated Data Model JSON defined by application data JSON JSON Column Family/Fixed Schema Sync Management Supports bi-directional syncing out of the box Pouch can sync with Couch DB without Channel Support No Support for Auto Syncing No Support for Auto Syncing Operating System Windows/Linux Windows/Linux Windows/Linux Windows/Linux High Availability on Sync Management Routes to Different node if one node is down N/A N/A N/A Mobile Database Light weight mobile database available online and offline for mobile apps Javascript database that runs within a browser and dependent on local storage No No Big Data Support Map Reduce Functionality Map Reduce Functionality Hadoop’s Map Reduce Connector Hadoop over Cassandra Compatible with Tableau Yes (SIMBA Driver) No Yes (SIMBA Driver) Yes (SIMBA Driver)
  6. 6. 6 THE SOLUTION: COUCHBASE MOBILE COUCHBASE LITE  Database on the device manages and stores data locally on the device in a JSON format.  This consists of a local copy of the data that resides on the couchbase server.  This provides the offline capability which is a critical feature.  This is available on different OS platforms (android/ios) SYNC GATEWAY  Built-in component for replicating data between the embedded database and the database server.  This enables apps to work online an offline. This is an integral feature for the mobile application which eliminates the huge development effort of building syncing component.  Provides Channel Support where each user sees the documents that they are authorized to view. COUCHBASE SERVER  NoSQL database server that manages and stores data.  Provides powerful querying and enterprise features of a relational database, combined with the scalability, performance, and flexibility of a NoSQL database.  Provides SQL-like query language (N1QL) to read/write/report out of Couchbase.  Makes replication of data much simpler. Can be scaled up and down without any downtime. Sync GatewayCouchbase Lite Couchbase Server
  7. 7. 7 MATRIX MEDICAL NETWORK MOBILE ARCHITECTURE AUTHENTICATION • Cblite cordova plug in (write once, compile multiple platforms) • ReactJS as Javascript framework • Redux as state container https://github.com/couchbaselabs/Couchbase-Lite-PhoneGap-Plugin.git#1.3.1 COUCHBASE LITE COUCHBASE SERVER Each mobile app user has a set of documents that is pushed through their user channels with the appropriate task assignment information pre-populated within the JSON document User logs into the device, the user ID and password is authenticated against the active directory On successful authentication, creates user on Couchbase if user does not exist, or updates and returns valid session token Data is synced between Lite and Server via Sync Gateway SYNC GATEWAY As long as the session token is valid and user is connected, sync continues in real time, eliminating all the existing development effort we originally had for syncing data from device to the server
  8. 8. 8 COUCHBASE SERVER 2 MATRIX MEDICAL NETWORK MOBILE ARCHITECTURE Load Balancer  JSON Forms for dynamic UI  Task assignment documents  Captured device documents data  Configuration files  Dynamic Messages  Data lists COUCHBASE SERVER 3 Sync Gateway 1 Sync Gateway 1 COUCHBASE SERVER 1
  9. 9. 9 Cblite and Replicators  Coax library is used to make Rest calls to Cblite instance.  Default cblite port 5984.  Once Database and Views are configured and set up within the App, replicators are invoked.  The push and pull sync is configured as below  Watch for _active_tasks const formatted_url = SYNC_GATEWAY_URL + SYNC_GATEWAY_PORT + COUCHBASE_BUCKET; config = { site: { syncUrl: formatted_url, }, db, s: coax(url), info, views, server: url, dbName: ‘dbName’ }; let Cookie = `${userData.Cookie}; pullRep = { source: { headers: { Cookie }, url: config.site.syncUrl, }, target: config.dbName, continuous: true, whatfunc: 'pullVar' }; pushRep = { source: config.dbName, target: { headers: { Cookie }, url: config.site.syncUrl, }, continuous: true, whatfunc: 'pushVar' };
  10. 10. 10 Local documents in Cblite Documents that do not need to be replicated to the Couchbase server can be accessed using these REST calls GET : http://localhost:5984/dbName/_local/ PUT : http://localhost:5984/dbName/_local/
  11. 11. 11 "server": "http://abc.domain.com:8091", "pool": "default", "bucket": “bucketName", "username": "username", "password": "pwd", "name": " bucketName ", "sync": "function(doc, oldDoc){if(!doc.channels){throw({forbidden : "No channel found in document!"});} "event_handlers": { "document_changed": [ { "filter": "function(doc){//evaluate conditions} "handler": "webhook", "url": "http://abc.domain.com/restEndPoint/processRequests" } ] }  Once Sync Gateway has started, we must add buckets to Sync Gateway that are not in the configuration file by sending the JSON configuration for that bucket as a PUT request to this endpoint (“bucketName” represents the bucket name) :  http://[host]:4985/ bucketName / Sync Gateway configuration
  12. 12. 12 Syncing attachments  https://developer.couchbase.com/documentation/mobile/1.4/references/couchbase -lite/rest-api/index.html#/document {"_attachments": { “userPdf.pdf": {"content_type": "application/octet-stream", "digest": "sha1-ait9lCo9c9Egcj4iGE5vuq50sAk=", "length": 125380, "revpos": 67, "stub": true } }, "name" : "John", "occupation" : "Software Developer” }
  13. 13. 13 THE MOVE TO COUCHBASE DATA PLATFORM – KEY BENEFITS 1 Automatic sync, no code changes 2 3 4 5 Real-time JSON Flexible data model N1QL queries 6 Real-time error detectionBusiness services
  14. 14. 14 COUCHBASE SERVER... Simplifies data replication (XDCR) between multiple servers and across different data centers Eliminates the need for replication jobs to be set explicitly since the data Couchbase receives is replicated across nodes automatically Scale-out architecture means adding/removing servers can be done with the click of a button from the admin console Zero downtime as the system rebalances and redistributes the data without interruption to the applications Extensions to ODBC drivers, Tableau, Kafka, Spark, Elasticsearch, Hadoop, and Power BI tools which makes reporting and analytics very efficient
  15. 15. 15 COUCHBASE LITE & SYNC GATEWAY... No development effort for data sync User always has latest and greatest data User does not have to wait for the data to sync to see errors Cordova plugin allows multi-OS development and does not lock down to a single OS Channels support sending specific documents to the respective users Flexible development using JSON supports agile design and development Attachments such as PDFs can be synced to the server real-time App works offline without any noticeable difference to the user
  16. 16. 16 Importance of Technology and Innovation  Innovation is the key to business growth and success.  Successfully implemented a health assessment platform that runs our core business using Couchbase and Couchbase mobile within the span of 8-10 months.  Included all the features built for over 5+ years.  All health plans on the new platform within a span of 6 months.  Single platform – Health Fair & LP Health.
  17. 17. Thank You!

×