Project-1
CSE2102
Individual Project BackgroundIndividual Project Background What is Personal Health Assistant (PHA)?What is Personal Health Assistant (PHA)?
Patient Version for Medication and Chronic Disease Management and Authorizing Providers Identify Overmedication , adverse interactions, and
adverse reactions Provider Version for Viewing Patient Data that has
been Authorized Personal Health Record Microsoft HealthVaultPersonal Health Record Microsoft HealthVault
A Person Can Track Medical Information Used as Backend Repository to PHA
OpenEMR Standalone version for ProvidersOpenEMR Standalone version for Providers Seek to Integrate into PHA Support Medication Reconciliation
Project-2
CSE2102
Four Code RepositoriesFour Code Repositories Android PHA-PatientAndroid PHA-Patient iOS PHA-PatientiOS PHA-Patient iOS PHA-Provider using Titanium/JavascriptiOS PHA-Provider using Titanium/Javascript Security Backend for PHA Security Backend for PHA
Project-3
CSE2102
PHA Android VerisonPHA Android Verison
Project-4
CSE2102
PHA Android VersionPHA Android Version
Project-5
CSE2102
PHA Android VersionPHA Android Version
Project-6
CSE2102
PHA Android VersionPHA Android Version
Project-7
CSE2102
PHA Android VersionPHA Android Version
Project-8
CSE2102
PHA Android VersionPHA Android Version
Project-9
CSE2102
PHA Android Overview ScreenPHA Android Overview Screen
Project-10
CSE2102
Introduced Categories of MedsIntroduced Categories of Meds
OpenEMR
MSHV
Project-11
CSE2102
PHA iOS VersionPHA iOS Version
Project-12
CSE2102
PHA iOS VersionPHA iOS Version
Project-13
CSE2102
PHA iOS VersionPHA iOS Version
Project-14
CSE2102
PHA iOS VersionPHA iOS Version
Project-15
CSE2102
PHA iOS VersionPHA iOS Version
Project-16
CSE2102
Miscellaneous DeclarationsMiscellaneous Declarations Classes used by Other classes (inclusion)Classes used by Other classes (inclusion) Enumeration TypesEnumeration Types
Project-17
CSE2102
Misc Class DeclarationsMisc Class Declarations
Project-18
CSE2102
Misc Class DeclarationsMisc Class Declarations
Project-19
CSE2102
TrackedItem DeclarationsTrackedItem Declarations Tracks the DifferentTracks the Different
Conditions, ODLs, Meds that have or are being Tracked
Project-20
CSE2102
TrackedItem Class DeclarationsTrackedItem Class Declarations
Project-21
CSE2102
TrackPatientData HierarchyTrackPatientData Hierarchy Bring Together all of the ConceptsBring Together all of the Concepts
Project-22
CSE2102
TrackPatientData Class DeclarationsTrackPatientData Class Declarations
Project-23
CSE2102
Condition Class DeclarationsCondition Class Declarations
Project-24
CSE2102
ODLs and Medications DeclarationsODLs and Medications Declarations
Project-25
CSE2102
Person and Patient DeclarationsPerson and Patient Declarations
Project-26
CSE2102
Exercise DeclarationsExercise Declarations
Project-27
CSE2102
Instantiating the ClassesInstantiating the Classes
Project-28
CSE2102
The Big PictureThe Big Picture
Project-29
CSE2102
Other Capabilities Other Capabilities Two Types of ODLs
Condition/Exercise/ODL Collect Patient Entered data on
Condition/Exercise/ODL Modifying, if necessary, the ODL and Medication
screens that already exist Hooking the current ODL and Medication screens so
that information is stored in the new classes Lots of Sample Screens for Conditions Given in the
Rest of this Presentation
Project-30
CSE2102
Conditions/ODLs/ExerciseConditions/ODLs/Exercise Create a new Condition/Exercise/ODLCreate a new Condition/Exercise/ODL
Each New Condition/Exercise/ODL needs TrackedItems Entry
This is Part of Patient Class Placed in TrackedItemsListMSHV For Condition/Exercise/ODL
Collect Entered data on Condition/Exercise/ODLCollect Entered data on Condition/Exercise/ODL Actual Data for a Condition/Exercise/ODL E.g., Diabetes would have
Glucose Level Carbs Eaten Type of Fasting Insulin Taken
Project-31
CSE2102
PHA in EclipsePHA in Eclipse
Project-32
CSE2102
Additional FunctionalityAdditional Functionality Two Broad Focuses for
Update Prescription Screen with OpenEMR Integration and FDA Daily Meds Access
New Medication Reconciliation and Interaction Checking Screen and Algorithms
Project-33
CSE2102
Revised ArchitectureRevised Architecture
Middle-Layer ServerWith REST API
Patient App
Security Policies
• Medications• Allergies• Procedures• Demographic
Provider List
Personal Health Assistant (PHA)
New External Sources
RxTerms
NDF-RT
RxNorm
XMLJSON
JSON
MS Health Vault
XM
L
ASP.Net API
Proivder App
Authorization by Role
• Medications• Allergies• Procedures• Demographic
Patient List
JAVA APIs
XM
LOpenEMR
NewInteractionChecker Screen
FDA DailyMeds
XML
Project-34
CSE2102
Design new Interactions ScreenDesign new Interactions Screen
Use CurrentWeb Version as
Example
Project-35
CSE2102
Use of REST APIsUse of REST APIs RxNorm names for clinical drugs linked to drug
vocabularies used in pharmacies RxTerms interface terminology derived from RxNorm
for medication history recording NDF-RT is a concept-oriented terminology
http://rxnav.nlm.nih.gov/RxNormAPIs.html# http://rxnav.nlm.nih.gov/RxTermsAPIs.html# http://rxnav.nlm.nih.gov/NdfrtAPIs.html#
FDA Daily MedsFDA Daily Meds http://dailymed.nlm.nih.gov/dailymed/help.cfm#w
ebservices
Project-36
CSE2102
Component OrganizationComponent Organization Develop Test Java Program with Client Classes that
Gets you Familiar with Retrieving from all Four APIs RxNorm, RxTerms, NDF-RT, FDA Daily Meds
Consider Following Decomposition of ProjectConsider Following Decomposition of Project Java Test/API Program for Interaction Checking Mods to Current Med Screen New Checking Interaction Screen
Project-37
CSE2102
Final CapabilitiesFinal Capabilities Revisions to Medication Screen:
Organize Drugs by MSHV and OpenEMR OpenEMR are read-only - cannot be changed
Link from Med to FDA Daily Meds New Medication Checking Screen: This can be
Combined list of meds (MSHV & OpenEMR) Returns a list of meds and their interactions
Usage of External Web Services: FDA Daily Meds, RxNorm, RxTerms, NDF-RT
Updated Doc: Updated Doc: http://www.engr.uconn.edu/~steve/Cse2102/MSHVandOpenEMRAccess.pdf
Project-38
CSE2102
Observations of Daily LivingObservations of Daily Living Observations of Daily Living and PHRsObservations of Daily Living and PHRs
Passive – Once Initiated, Collects Data Accelerometer Pedometer Pill Bottle that Sends a Time Stamp Message (over
Bluetooth?) to SmartPhone Active – Patient Initiated
Providing Information via Smartphone on:– Diabetes (Glucose, Weight, Insulin)
– Asthma (Peak Flow, use of Inhaler)
– Heart Disease (Pulse, BP, Diet)
– Pain, Functional status, Fatigue, etc.
Project-39
CSE2102
Architecture DiagramArchitecture Diagram
Personal HealthRecord (PHR)
Microsoft Healtvault
Figure 1: Architecture Diagram of the Project this Semester.
PHA Provider
OpenEMR
Medication & Observations of Chronic Disease Daily Living (ODL)Management
Apache/TomcatWeb/Application
Server
MySQL Database
Server
Medication/Supplement
Interaction Checker
ODL and ChronicDisease Analyzer
PHA Patient
Project-40
CSE2102
Diabetes ManagementDiabetes Management
Project-41
CSE2102
Overall ArchitectureOverall Architecture
Management System
Current glucose
level
Meals
Exercises
CurrentMedications
Glucose level 1hr
after meal
Glucose level 2hr
after meal
Decision SupportSystem
Dose of insulin from
pumps
Dose of medications
Project-42
CSE2102
Current Architecture Current Architecture
Health Vault Middle-Layer Server
Patient App
Security Policies
• Medications• Allergies• Procedures• Demographic
Provider List
Personal Health Assistant (PHA)
SMART Container
SMARTSync
RxTerms NDF-RT RxNorm
Harvard SMART
EMR
RD
F
Rest API
JSONJSONJSON
MS Health Vault
XM
L
ASP.Net API
XACML
XML-RR
Proivder App
Authorization by Role
• Medications• Allergies• Procedures• Demographic
Patient List
XACML
RDF-RR
Project-43
CSE2102
Current Architecture Current Architecture
SMART Container
openEMR
SMART Dashboard
SMARTREST API
RDF DataModel
SMARTConnect
SMARTSync
HealthVault
HealthVault Middleware Server
JSON API
RxTermsRxTerms NDF-RTNDF-RT RxNormRxNorm
SMART Container
openEMR
SMARTREST API
Figure 2: SMARTSync Architecture and Application.
Project-44
CSE2102
HealthVault RESTful Exchange ServiceHealthVault RESTful Exchange ServiceWeb-Services
User Profile
Medication List
Allergies List
Conditions List
Lab Tests and Results List
Procedure List
Observations of Daily Living List
.NET ↔ JSON Conversion
HealthVault Record Finder and Access
HealthVault Offline Connection
Person ID
Offline Connection
Record ID
.NET → JSON on GET requests
JSON → .NET on POST requests
Demographic Information
Medications
Allergies
Conditions
Lab Tests
Procedures
Observations of Daily Living (ODLs)
Project-45
CSE2102
HealthVault Class – JSON Mapping.HealthVault Class – JSON Mapping.
JSON StructureMSHV Class
Member Properties
DateDiscontinued (ApproximateDateTime)
DateStarted (ApproximateDateTime)
Dose (GeneralMeasurement)
Frequency (GeneralMeasurement)
Name (CodableValue)
Route (CodableValue)
Strength (GeneralMeasurement)
[{"Key":"String content","DateDiscontinued":"String
content","DateStarted":"String content","Dose":"String content","Frequency":"String content","Route":"String content","Name":"String content","Note":"String content","Prescribed":"String content","Strength":"String content"
}]
Medications
Note (CommonItemData)
JSON StructureMSHV Class
Member Properties
AllergenCode (CodableValue)
AllergenType (CodableValue)
FirstObserved (ApproximateDateTime)
IsNegated (Nullable)
Name (CodableValue)
Treatment (CodableValue)
[{"Key":"String content","AllergenCode":"String content","AllergenType":"String content","FirstObserved":"String content","IsNegated":2147483647,"Name":"String content","Reaction":"String content","Treatment":"String content"
}]
Allergies
Reaction (CodableValue)