3. 1.5 billions
of elders expected in 2050
257.3 billions
dollars of healthcare costs only for the U.S.
market
22%
They will correspond to the
of the worldwide population
4. But there are also a large number of
non-elder people committed to
hospitals for chronic
diseases
▣ diabetes
▣ renal failures
▣ cardiovascular diseases
5. Healthcare IoT
Monitoring a patient’s therapy can drastically
reduce the social cost for the
medical treatments
6. How?
Arduino!
▣ Good for prototyping
▣ Affordable
▣ Easy to program
▣ Extendable in functionalities (i.e. Arduino
Shields)
7. Prepared kits for health
monitoring
e-Health Sensor Platform V1.0 for
Arduino
8. Homemade solutions:
Heart-Rate monitoring and
graphic visualization via
Processing.
Requirements:
▣ 2 RC Filters
▣ 1 IR Led Emitter
▣ 1 IR Led Receiver
▣ LM386 Amplifier
10. The process of thinking with the IoT
paradigm in mind, lead us to
revolutionary devices that will affect
thousands of people’s quality life
▣ Portable dialysis machine
▣ Constant pacemaker monitoring
▣ Drug adherence monitoring
▣ …
12. 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.
USAGE
The 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.
14. 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"
16. 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"
17. 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!).
18. 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