smart health & arduino
TRANSCRIPT
1.5 billionsof elders expected in 2050
257.3 billionsdollars of healthcare costs only for the U.S. market
22%They will correspond to the
of the worldwide population
But there are also a large number of non-elder people committed tohospitals for chronicdiseases
▣ diabetes▣ renal failures▣ cardiovascular diseases
Healthcare IoTMonitoring a patient’s therapy can drastically
reduce the social cost for the medical treatments
How?
Arduino!▣ Good for prototyping▣ Affordable▣ Easy to program▣ Extendable in functionalities (i.e. Arduino
Shields)
Homemade solutions:
Heart-Rate monitoring and graphic visualization via Processing.
Requirements:
▣ 2 RC Filters▣ 1 IR Led Emitter▣ 1 IR Led Receiver▣ LM386 Amplifier
Homemade solutions:
Blood Pressure Monitor.
Requirements:
▣ Arduino LCD▣ Pressure Transducer▣ Air Pump▣ Plastic Tubing▣ TL072 Op Amp▣ 1 RC Filter
The process of thinking with the IoT paradigm in mind, lead us to revolutionary devices that will affectthousands of people’s quality life
▣ Portable dialysis machine▣ Constant pacemaker monitoring▣ Drug adherence monitoring▣ …
A Smart PillBox
Bloomia goal was to improve the adherence to medical treatments.
USERS
The elders and people with long term medical prescriptions.
CUSTOMERS
Elder’s relatives, doctors or caregivers.
USAGEThe caregiver loads the weekly dose of the medicine the elders will take. A wearable devices notify the patient when it’s time to take the medicines.
A look on the GPRS connection
void gsmConnect(){
// Start GSM shield
// If your SIM has PIN, pass it as a parameter of begin() in quotes
while(notConnected)
{
Serial.println("GSM: trying to connect...");
if((gsmAccess.begin()==GSM_READY) &
(gprs.attachGPRS(GPRS_APN, GPRS_LOGIN, GPRS_PASSWORD)==GPRS_READY))
notConnected = false;
else
{
Serial.println("Failed");
delay(1000);
}
}
Serial.println("GSM: connected");
}
#include <GSM.h>
#include <Time.h>
#include <EEPROM.h>
#include "schedules.h"
A look on the GPRS connection
bool getGsmTime(time_t &time){
Serial.println("Getting time...");
// format yy/MM/dd,hh:mm:ss+zz
char date[20];
theGSM3ShieldV1ModemCore.genericCommand_rqc("AT+CCLK?", true);
delay(200);
bool ret = theGSM3ShieldV1ModemCore.theBuffer().extractSubstring("+CCLK: \"",
"\"", date, 20);
if(!ret) return ret;
tmElements_t tmElem;
tmElem.Year = (ctoui(date[0]) * 10) + ctoui(date[1]) + MILLENNIUM_OFFSET;
tmElem.Month = (ctoui(date[3]) * 10) + ctoui(date[4]);
tmElem.Day = (ctoui(date[6]) * 10) + ctoui(date[7]);
tmElem.Hour = (ctoui(date[9]) * 10) + ctoui(date[10]);
tmElem.Minute = (ctoui(date[12]) * 10) + ctoui(date[13]);
tmElem.Second = (ctoui(date[15]) * 10) + ctoui(date[16]);
time = makeTime(tmElem);
return ret;
}
#include <GSM.h>
#include <Time.h>
#include <EEPROM.h>
#include "schedules.h"
Load datas from EEPROM
void loadWeekSch(){
uint8_t size;
EEPROM.get(EEPROM_DOSES_NUM, size);
Serial.print("Doses number retrieved from EEPROM: "); Serial.println(size);
Serial.print("Retrieving doses from EEPROM...");
doses = fetchDoses(size, EEPROM_DOSES_ARR);
Serial.println(" OK");
//Do stuff with the loaded data
}
doseNode_t* fetchDoses(uint8_t num, int addr){
doseNode_t* doseNodes = (doseNode_t*) calloc(num, sizeof(doseNode_t));
//fetch doses from EEPROM to ram
int p = addr;
for(int i=0; i<num; i++){
EEPROM.get(p, doseNodes[i].dose);
doseNodes[i].next = NULL;
p += sizeof(dose_t);
}
return doseNodes;
}
#include <GSM.h>
#include <Time.h>
#include <EEPROM.h>
#include "schedules.h"
ARDUINO LIMITS
Low CPU speed (16 MHz on the Arduino UNO), low internal clock accuracy due to the crystal oscillator and short memory usability.
SECURITY
Secure connections, privacy issues.
Development limits and difficulties
ROYALTIES!
Usage of wearable devices to monitor health parameters may require the payment of royalties to the producer. Consider the possibilities to produce your own device.
(e.g. Lifelog APIs)
HARDWARE LIMITS
Cheap hardware can lead to several problems in the development (even more problems if datasheet are not provided!).
ACCESS
ISO QUALITY STANDARDS
Requirements for a quality management system that can be used by an organization involved in one or more stages of the life-cycle of a medical device, including design and development, production, storage and distribution, installation, servicing and final decommissioning and disposal of medical devices, and design and development, or provision of associated activities (e.g. technical support).
ISO 13485:2016
Thanks!Any questions?
You can find me atEmail: [email protected] ProfileLinkedin Profile
Useful links
▣ Arduino e-Health Sensor Platform▣ Heart Beat Monitoring and Processing
Visualization ▣ Blood Pressure Monitor▣ Bloomia