and healthcare organiza8ons access, analyze, and use clinical data for op8mal care. Its premier product is the Apixio HCC Op8mizer, a smart coding applica8on with automated extrac8on and analysis of clinical text and coded data for accurate risk scores at a lower cost for Medicare Advantage (MA) and individual/ small group plans. Apixio to our customers
DM w/o complicaEon Encounter Note Endocrin e & metaboli c disorders DM w/o complicaEon Encounter Note Check Agreements Coder Accuracy (Error Rates) LP New Problem -‐ Coder Accuracy How good are our coders? We didn’t even set out solve this problem with our logging!
• Structured: – 13 M unique events • Narra8ve: – 338 M unique events 0.00 10.00 20.00 30.00 40.00 50.00 60.00 70.00 80.00 90.00 100.00 1 % Data Types Structured Data Text Scanned Documents What does our data look like?
the data is either text or an image – Impedance mismatch • Data does unexpected things all the 8me – Data Quality is important Healthcare Data Challenges
Based L0 • Event Based Append Only Model • Transient • Used for Inference L1 • Applica8on Specific Data Model • Op8mized for Quick Retrieval L2 Taking advantage of Immutability
Larger systems, fail more o`en – Check and recover automa8cally. • Data valida8on happens before inference – prevents garbage in – garbage out. – Gives early warning about data issues.
the answers ahead of 8me. • Some8mes, you don’t even know the ques8ons ahead of 8me. • Quickly iterate and move in the right direc8on and you will get there.
disorders Next work Item Next work Item • Manually Spliqng is Inefficient • Can not service more than a handful of coders • Really hard to analyze ac8vity by combining across sets • But – Customers were happy!
and metabolic disorders Next work Item Next work Item • Limited Flexibility on the rules – s8ll beser than the manual process • Can service more coders, but not a lot coders • But – Customers were thrilled! SQLite DB Queue Regex Rules
plain Map-‐Reduce -‐ not enough u8liza8on – Played with fair scheduling and queues – Either insufficient u8liza8on / massive overcommit (causing blocks) • Dynamic Re-‐Priori8zing didn’t work. – Built our own • Gets us near 100% utliza8on • Repriori8ze dynamically Winning ugly is s8ll winning
– What we do and why we do? • Apixio’s foray into big-‐data – Our first system – Our second system • De-‐normalized pa8ent model • One monster job doing everything • Update model • Impedence mismatches – Our third system • separate I/O and Computa8on Jobs • Move to an append only model • “some-‐what” denormalized data (lots of small denormalized chunks) • Logging – log everything in json • Co-‐ordinator – A custom job management system. • Lessons Learnt – Log Everything (and if you can log as JSON, even beser) – Logging is Data – Impedence mismatches can kill performance of distributed systems – make sure you don’t overdrive any single component. – Cassandra likes an append only model – if you are building systems using cassandra, try to build them around append only models. – Lambda architecture -‐ we had arrived here – if we had started – If you trust that you are going in the right direc8on and quickly iterate, and you will get to there, successfully – winning all the way. same place – and no-‐one else got there by planning to get there.
• Gives you answers to mysterious problems (us dropping documents) • Gives you answers to new problems (Coder performance, gumby – poky) • Gives you answers to problems before they happen. – Feasibility studies – Valida8on, coder progress, managing the business – Take aways • Logging is for more than debugging. • Log data , not messages (simple structured formats like json are worth more than detailed messages) • Make it accessible to every one (Hive/Impala)
different types of data takes different 8mes – Different persistence systems have different write rates (cassandra / vs mysql) – Using reducers to control input rates increases through-‐ put. • Append only architecture (append only pa8ent objects, annota8ons and user ac8ons are append only) • Understand your infrastructure pieces • Insert QA steps to along your ETL pipeline, because data can have more surprises than you expect.