Presentation is loading. Please wait.

Presentation is loading. Please wait.

OSCON – 7/27/2011 Andy Gregorowicz The MITRE Corporation © 2011 The MITRE Corporation - MITRE Public Release Case Number: 11-3190.

Similar presentations


Presentation on theme: "OSCON – 7/27/2011 Andy Gregorowicz The MITRE Corporation © 2011 The MITRE Corporation - MITRE Public Release Case Number: 11-3190."— Presentation transcript:

1 OSCON – 7/27/2011 Andy Gregorowicz The MITRE Corporation © 2011 The MITRE Corporation - MITRE Public Release Case Number:

2 Overview Technical walkthrough Implementation retrospective Ways popHealth can be used 2 © 2011 The MITRE Corporation Public Release Case Number:

3 is a tool for examining patient populations against clinical quality measures © 2011 The MITRE Corporation Public Release Case Number:

4 Clinical Quality Measure A test to see if a patient is receiving care in line with current medical standards – Objective – Evidence Based – Health Importance © 2011 The MITRE Corporation Public Release Case Number:

5 Example Adult Weight Screening and Follow Up Percentage of patients aged 18 years and older with a calculated BMI in the past six months or during the current visit documented in the medical record AND if the most recent BMI is outside parameters, a follow-up plan is documented. Measure created by Quality Insights of Pennsylvania © 2011 The MITRE Corporation Public Release Case Number:

6 Make executing quality measures easy Work with existing Health IT systems Provide an open implementation for the Health IT community 6 Goals © 2011 The MITRE Corporation Public Release Case Number:

7 7

8 8

9 9

10 Many electronic health record systems can export a patient summary – It’s required for Stage 1 Meaningful Use These patient summaries are in one of two XML based formats – ASTM Continuity of Care Record (CCR) – HITSP C32 10 works with existing systems © 2011 The MITRE Corporation Public Release Case Number:

11 Personal Information Language Spoken Support Healthcare Provider Insurance Provider Allergy/Drug Sensitivity Condition Medication Pregnancy Advance Directive Immunization Vital Sign Result Encounter Procedure Family History Social History Medical Equipment And more… ASTM CCR / HITSP C32 © 2011 The MITRE Corporation Public Release Case Number:

12 workflow © 2011 The MITRE Corporation Public Release Case Number:

13 Apache 2 License 3 Main Repositories – Web application https://github.com/pophealth/popHealth – Quality Measures Licensed by the quality measure stewards https://github.com/pophealth/measures – Quality Measure Engine https://github.com/pophealth/quality-measure-engine 13 is open © 2011 The MITRE Corporation Public Release Case Number:

14 Technical Walkthrough © 2011 The MITRE Corporation Public Release Case Number:

15 Ruby on Rails MongoDB JSON / JavaScript 15 implementation stack © 2011 The MITRE Corporation Public Release Case Number:

16 patient import 16

17 Basic metadata – Name, description Measure structure Properties – Pieces of data that need to be pulled from the patient record to calculate the measure 17 measure definitions © 2011 The MITRE Corporation Public Release Case Number:

18 Measure Metadata "endorser": "NQF", "id": "0421", "properties": "NQF_Retooled_Measure_0421.xlsx.json", "name": "Adult Weight Screening and Follow-Up", "description": "Patients more than 18 years old whose BMI was calculated within six months, and who have a documented follow- up plan if BMI falls outside parameters.", "steward": "QIP", "category": "Core", © 2011 The MITRE Corporation Public Release Case Number:

19 Measure Structure "numerator": { "or": [ { "category": "Patient Characteristic", "title": "22 kg/m2 30 kg/m2" }, { "or": [ { "category": "Care Goal", "title": "Follow up plan BMI management”... © 2011 The MITRE Corporation Public Release Case Number:

20 20

21 Properties "follow_up_plan_bmi_management_care_plan": { "standard_category": "care_goal”, "type": "array", "items": { "type": "number", "format": "utc-sec" }, "codes": [ { "set": "ICD-9-CM”, "values": [ "V65.3" ] }, { "set": "SNOMED-CT”, "values": [ " ", " ",... 21

22 patient import 22

23 Parsing the patient summary Summaries have sections – Medications, vital signs, etc. Sections have entries – Coded description – Time stamp – Status (optional) – Value (optional) © 2011 The MITRE Corporation Public Release Case Number:

24 High Level Patient Summary Example Header – Name: Sam Samer – DOB: 10/18/1970 – Gender: Male Vital Signs – Systolic BP Code: (SNOMED) Date: 7/17/2011 Value: 132 mm[Hg] Plan of Care – BMI Management Code: V65.3 (ICD-9) Date: 4/19/2010 – Tobacco Cessation Code: … … Medications – … 2 Entries in the Plan of Care section 1 matches the example measure property © 2011 The MITRE Corporation Public Release Case Number:

25 Patient Record { "first": "Sam", "last": "Samer", "gender": "M", "patient_id" : "104216", "birthdate": , "measures": { "0421": { "encounter_outpatient_encounter": [ ], "bmi_physical_exam_finding": [{"value": 28, "date": }], "follow_up_plan_bmi_management_care_plan": [ ] } } } © 2011 The MITRE Corporation Public Release Case Number:

26 JSON Document Data is denormalized – Embedded document per measure Time stamps converted to seconds since epoch – MongoDB 1.8 date types don’t work with dates before the epoch – https://jira.mongodb.org/browse/SERVER-405 https://jira.mongodb.org/browse/SERVER patient record © 2011 The MITRE Corporation Public Release Case Number:

27 Built in the Quality Measure Engine Uses MongoDB’s MapReduce capabilities Map functions stored as part the measure definition Reduce is the same for all measures 27 calculating quality measures © 2011 The MITRE Corporation Public Release Case Number:

28 Example Map JavaScript var effective_date = ; var latest_birthdate = effective_date - 18*year; var earliest_birthdate = effective_date - 65*year; var earliest_encounter = effective_date - year; var population = function() { var correct_age = inRange(patient.birthdate, earliest_birthdate, latest_birthdate); return (correct_age); } var denominator = function() { return inRange(measure.encounter_outpatient_encounter, earliest_encounter, effective_date); } © 2011 The MITRE Corporation Public Release Case Number:

29 Example (cont.) var numerator = function() { return weight_numerator(measure, 18.5, 25); } var exclusion = function() { return weight_exclusion(measure, earliest_encounter, effective_date); } map(patient, population, denominator, numerator, exclusion); © 2011 The MITRE Corporation Public Release Case Number:

30 30

31 Implementation Retrospective © 2011 The MITRE Corporation Public Release Case Number:

32 Benefits of JavaScript M/R Our team has found it easier to work with than writing SQL queries – YMMV JavaScript has great development tools built right into browsers © 2011 The MITRE Corporation Public Release Case Number:

33 33

34 Testing Map/Reduce in the Browser Build a small app Replicating the MongoDB environment is easy – Mock emit() – Inject the document Underscore.js bind() More details: mapreduce-in-mongodb.html mapreduce-in-mongodb.html © 2011 The MITRE Corporation Public Release Case Number:

35 Downsides MongoDB’s MapReduce implementation is single threaded per instance – Sharding isn’t often practical for our data size Using JavaScript frameworks (like Underscore.js) can be tricky – MongoDB’s system.js collection doesn’t handle this well © 2011 The MITRE Corporation Public Release Case Number:

36 Ways popHealth Can Be Used © 2011 The MITRE Corporation Public Release Case Number:

37 Rails 3.0 application – Follow the Install instructions As a VMWare VM – Preconfigured on Ubuntu – 37 as a web app © 2011 The MITRE Corporation Public Release Case Number:

38 Quality Measure Engine is a ruby gem 3 main classes to work with – QualityMeasure – PatientImporter – QualityReport 38 as a library © 2011 The MITRE Corporation Public Release Case Number:

39 Measures are defined in JavaScript You can add your own 39 for measure developers © 2011 The MITRE Corporation Public Release Case Number:

40 40 Thank You! © 2011 The MITRE Corporation Public Release Case Number:

41 41 Backups © 2011 The MITRE Corporation Public Release Case Number:

42 42 What is a C32 like? © 2011 The MITRE Corporation Public Release Case Number:

43 © 2011 The MITRE Corporation Public Release Case Number:

44 Section Identification © 2011 The MITRE Corporation Public Release Case Number:

45 Narrative Block © 2011 The MITRE Corporation Public Release Case Number:

46 Coded Information Container © 2011 The MITRE Corporation Public Release Case Number:

47 Organizer © 2011 The MITRE Corporation Public Release Case Number:

48 Date and Status © 2011 The MITRE Corporation Public Release Case Number:

49 Observation © 2011 The MITRE Corporation Public Release Case Number:

50 ID © 2011 The MITRE Corporation Public Release Case Number:

51 Code © 2011 The MITRE Corporation Public Release Case Number:

52 Value © 2011 The MITRE Corporation Public Release Case Number:

53 ... same data in CCR © 2011 The MITRE Corporation Public Release Case Number:

54 © 2011 The MITRE Corporation Public Release Case Number:


Download ppt "OSCON – 7/27/2011 Andy Gregorowicz The MITRE Corporation © 2011 The MITRE Corporation - MITRE Public Release Case Number: 11-3190."

Similar presentations


Ads by Google