Categories
HIS

Drishti | An Open mHealth sense-plan-act framework based on FHIR!

Originally published by Bell Eapen at nuchange.ca on August 13, 2019. If you have some feedback, reach out to the author on TwitterLinkedIn  or  Github.

TL;DRHere is an open-source mHealth framework based on FHIR! and here is the paper and my presentation at ICSE!

Pervasive health monitoring is becoming less and less intrusive with better sensors, and more and more useful with machine learning and predictive analytics.

MHealth (mobile health) could play an important part in pervasive health monitoring. It is difficult for clinicians to efficiently use the data from disparate apps that do not communicate with each other. For example, if a clinician has to monitor a patient’s blood sugar, blood pressure and physical activity, the clinician may have to check data from multiple apps. Another challenge is the difficulty in communicating clinical requirements to app developers and it is difficult to test and approve the clinical validity of these apps. Besides, there are always privacy and security concerns with personal health information.

Open mHealth is a framework introduced to manage the problem of interoperability between apps. It is an open-source project. Open mHealth project provides interfaces for cloud services such as GoogleFit and Fitbit and converts the data into a common data format. BIT model deals with the communication problem between clinicians and developers during app development. Drishti incorporates Open mHealth framework into the BIT model using FHIR as the common data model.

The BIT model is based on the Sense-Plan-Act paradigm from robotics. The BIT model encourages conceptualizing mHealth apps as three distinct components: Profilers that sense data on various physiological parameters such as blood pressure, planners that create a clinical intervention plan and actors that deliver the plan to the users as alerts or messages on their mobile devices. Drishti adopts the BIT model as a design model with all components sharing a central data repository. Drishti makes sharing of information with the doctors easy, by integrating it into an EMR. The central data repository also makes big data applications possible.

The central data repository in Drishti uses FHIR schema for storage. FHIR is a schema for health data created by HL7 that defines ‘Resources’ that can be exchanged as json or xml using RESTful interfaces. Resources support 80% of common use cases and the rest can be supported using extensions. For example, age and gender are defined for a Patient resource, while skin type that is not commonly used is defined through an extension if required. Drishti uses the ‘Observation’ resource for storing data from profilers and the ‘CarePlan’ resource for the planner and actor components.

Open mHealth is the profiler in Drishti. All data from the various cloud services are converted to FHIR Observations and stored in the Drishti-Cog. The Drishti-Planner can take data stored in the cog and create a careplan and the actor can deliver it to the patient. Drishti uses OpenMRS EMR for managing access, both for clinicians and patients. We have developed an OpenMRS module for integration with Drishti. The javascript visualization library called hGraph provides a consolidated view of the data pulled from sensors to the clinician.

In the current implementation, the cog is a FHIR server based on the HAPI java library. Planner and actor components are just stubs that can be extended for several use cases. The planner is a python flask app and the viewer is a Vue App that can be used as a native mobile app. Both are templates that can be extended. The entire stack is available on GitHub along with pre-built Docker containers for quick prototyping.

Here is a typical use case. Depression is a common mental health problem, characterized by loss of interest in activities that you normally enjoy. Patients with depression are typically treated with anti-depressant drugs. The clinicians need to track the patient’s activity to assess progress along with medication compliance. The patient can use an activity tracker app and a medication tracker app, both sending data to the cog as FHIR observations. The clinicians can have a consolidated view in their EMR and create alerts or messages (plan) that can be delivered to the patient’s mobile device. The interventions can also be created by AI systems.

Drishti was presented at Software Engineering in Healthcare conference in Montreal and selected for FHIR devdays. Please cite Drishti as below:

Bell Raj Eapen, Norm Archer, Kamran Sartipi, and Yufei Yuan. 2019. Drishti: a sense-plan-act extension to open mHealth framework using FHIR. In Proceedings of the 1st International Workshop on Software Engineering for Healthcare (SEH ’19). IEEE Press, Piscataway, NJ, USA, 49-52. DOI: https://doi.org/10.1109/SEH.2019.00016

Categories
mHealth

HL10: A proposal for an mHealth framework

HL10 Framework
Image credit: beapen

Behaviour Intervention Technologies (BITs) are a subset of eHealth and mHealth interventions that support users in changing behaviour and cognitions related to health. Several psychological models guide the implementation of BITs. However, these psychological models such as social cognitive theory and theory of planned behaviour have a clinical focus and are incapable of guiding the design and coding.

Mohr et.al proposed the BIT model [ [ref] Mohr DC, Schueller SM, Montague E, Burns MN, Rashidi P. The Behavioral Intervention Technology Model: An Integrated Conceptual and Technological Framework for eHealth and mHealth Interventions. J Med Internet Res 2014;16(6):e146 [/ref] ] to address these limitations by systematizing why, how (conceptual and technical), what and when of BIT. ‘Why’ translates to clinical aims such as sun protection and weight reduction. Examples of conceptual ‘how’ are education, goal setting, monitoring and feedback. Technical ‘how’ indicates the medium of delivery and the complexity of delivery. ‘What’ corresponds to alerts, logs, messaging and data collection. ‘When’ indicates the workflow that can be user defined or based on time/event rules. The model proposes a sense-plan-act paradigm based on robotics with sense-act coupling in reactive models.

HL10 (Hamilton) is an attempt to take the BIT model and the sense-plan-act paradigm to the next level of a software framework. HL10 is a proposal for an mHealth specific mobile application frameworks that can be easily extended to create any type of app. The framework should take care of overarching concerns such as privacy and security of patient data, communication with electronic health record (EHR) systems and population health.

Ultimately HL10 framework would be available as an mHealth boilerplate or a Yeoman generator that can be easily modified to create any mHealth BIT. HL10 would try to segregate the sense-plan-act layers and would propose fundamental rules of communication between these layers though standardizing is not its primary intent. Privacy would be built into the framework by design. External communication with EMR and other HIS would be negotiated through fire! (FHIR)

HL10 is still a concept and would greatly benefit from ideas and contributions from domain experts. Though I am ‘opinionated’ to a certain extent, this preliminary post is intentionally left ‘non-opinionated’ to encourage the flow of ideas. Do give me a shout if you find this interesting. I have created a group on GitHub for this: https://github.com/E-Health

Some of the ideas are influenced by AppsForHealth at Mohawk, especially the keynote lecture by Dr. Ann Cavoukian on privacy by design, and the introductory lecture on FHIR followed by the connectathon demos.

Please site this page as below if you expand on this concept.

Eapen BR. HL10 (Hamilton) – An mHealth behaviour intervention technology framework. NuChange Informatics Blog (2015). Available from: http://nuchange.ca/2015/07/hl10-from-model-to-framework.html

CAS-002  
350-018  
9A0-385  
CISSP  
000-104  
300-208  
M70-101  
200-310  
642-999  
CISM  
1Z0-144  
9A0-385  
70-177  
70-486  
OG0-091  
300-206  
70-243  
300-206  
350-001  
210-260  
300-320  
200-355  
MB2-704  
300-135  
LX0-104  
74-678  
220-901  
70-246  
70-488  
210-260  
1z0-434  
300-320  
1z0-434  
2V0-620  
1Z0-061  
2V0-621D  
70-480  
N10-006  
210-260  
300-101  
700-501  
PR000041  
N10-006  
1Z0-061  
JN0-360  
100-101  
200-101  
500-260  
CAS-002  
EX300  
000-106  
70-417  
101  
200-125  ,
74-678  
2V0-621D  
1Y0-201  
9L0-012  

JK0-022  ”
MB2-707  ”
70-177  ”
70-462  ”
MB5-705  ”
CRISC  ”
70-417  
350-018  ”
350-060  
1z0-434  ”
70-410  
SSCP  
70-411  ”
70-483  ”
70-480  ”
NS0-157  ”
1Y0-201  ”
000-106  ”
JK0-022  ”
70-178  
HP0-S42  ”
CISSP  
70-534  ”
OG0-093  ”
100-105  ,”
JK0-022  ”
70-417  ”
70-532  ”
CRISC  ”
c2010-657  ”
200-120  ”
SY0-401  ”
3002  ”
100-105  ,”
OG0-091  ”
OG0-093  ”
000-104  ”
350-050  ”
400-201  ”
OG0-093  ”
9L0-066  
ADM-201  ”
EX300  ”
LX0-103  ”
000-104  ”
000-105  ”
70-246  ”
070-461  ”
MB6-703  ”
70-347  ”
CISM  ”
1Z0-051  
ADM-201  ”
70-462  ”
1V0-601  ”
000-017  
220-901  ”
9A0-385  ”
ITILFND  ”