Archivi tag: eHealth

Health Information Technology Cybersecurity – the architecture

The cybersecurity of health information systems is a complex issue that requires a systematic approach. 

In this article we will analyze a proposed cybersecurity architecture for a generic Healthcare Authority. Here, Healthcare Authority means a generic Healthcare Organization that deals with primary care, or secondary care, but also home care and community care….

The proposed architecture is designed to fit a University hospital, as well as a country hospital, as well as a local Healthcare  Authority with medical outpatients clinics…

We will indicate the generic Healthcare Authority with the acronym HA.

Architecture schema

Health Systems Cybersecurity Schema

Health Systems Cybersecurity Schema

The  roles

All users can be modeled in only three main roles:

  1. the guests – not authenticated users -;
  2. the professionals – authenticated users who use systems from inside and outside the HA -;
  3. IOTs and other automated systems that needs an interaction with the HA. 

The double role of IoT and IoMT

The IoTs – Internet of Things – and the IoMTs – Internet of Medical Things – devices  comprehend also medical devices that operate outside the HA. 

For simplicity we will map IoTs to unauthenticated users – guests role – if they do not need an access to HA systems – they do not need access to applicative functions -. We will map IoTs to professionals role, if they need access to applicative functions. 

The cyber-security architecture 

The HA infrastructure is segmented in four zones:

  • the sandbox zone;
  • the exposed systems zone;
  • the untrusted systems zone;
  • the isolated systems zone.

The sandbox zone is the only zone the guest can access to. From the sandbox zone is not possible to access other zones. 

Vice versa from other zones you can access the sandbox zone.

In the sandbox zone there is a restricted access area to which only authenticated users can access to. The datas in this area are crypted and they are accessible also offline. This sandboxes zone can be located on a portable devices in order to make sensitive data available when the used devices are offline. 

The exposed system zone is the area where are located the hardenized systems which are accessible by authenticated users, from outside or inside of the HA. The systems in the exposed zone are the only way to reach the systems in the isolated zone or in the untrusted zone. 

The isolated zone and the untrusted systems zone are accessible only by authenticated users who have application grants on servers of the exposed zone. Typically in the isolated zone you can find the most sensitive systems and the DB resources. The isolated zone in segmented by sensitivity or level of trust. 

The untrusted zone is typical of the healthcare domain and contains the Medical Devices and other systems which cannot be considered hardenized to handle a direct access in the exposed zone. Typically, these systems need a network protection. For the same reasons the most sensitive systems are collocated in the isolated zone.

As the exposed zone, the untrusted zone is logically unique, but physically represents a myriad of connected network areas that include only a few or only one equipment.

Test systems and Maintenance activity

In HA, the maintenance activity is often guaranteed by outside partners. These partners must have access to the systems they manage, but only those. In addition, all their activities must be network logged, because HA cannot trust system logging due to the fact that these partners often have administrative rights over the systems they manage. 

Another important issue is the HA need of a test area, or “staging” area, in each zone.

In the test area of each zone there are test systems or pre-production systems. The systems in the test areas cannot access to production systems. The test systems in each zone has the same security restriction and possibilities of analogous production systems. In other words, the test area is specular to the production area, but completely separated.

GDPR orchestration

HA must orchestrate the entire security architecture according the GDPR – GDPR, General Data Protection Regulation, UE 2016/679 – policy and rules. In fact, the GDPR imposes the definition of the security policies the administration has decided to undergo and the periodic verification of the respect of these policies. 

Use case

Access to inpatient datas: in the morning, Doctor Alice orders an entire suite of blood exams for inpatient Bob. Later, in the afternoon, doctor Alice is notified the Bob’s results are ready and Alice access to the the results from her home. 

When Alice is at work, in the morning, she uses a ward mobile device to order the exams, then uses a POCT – point of care testing – analyzer located in the ward the analyze the Bob’s blood. She takes a look at the values the analyzer gives directly, but she needs the pathology department validation. She receives notification a validation is ready when is at home, in the late afternoon. She receives a SMS that says new pathology results are ready – no sensitive data are sent in the SMS -. Alice take a look at the results with her home computer.

From a security perspective several systems in different zones are involved in the process:

A) in the morning, Alice accesses the Order System that is in the Exposed Systems Zone;

B) the analyzer Alice uses is located in the Untrusted Systems Zone;

C) the Bob’s exams results are collected by the Pathology System which is located in the Exposed Systems Zone;

D) from her home, Alice get accesses to the Clinical Data Repository System in order to get the Pathology report; the Clinical Data Repository is in the Exposed Systems Zone. The DB of the Data Repository is in the Isolated Systems Zone.

Key points

  • It doesn’t matter if Alice is at work or at home, she uses the same systems; in other words the systems, in exposed zone, are hardenized to be exposed in internet, even if they are only used from inside HA;
  • the medical device, the POCT, is considered untrusted, by virtu of this the network makes port filtering, web firewalling and so on… the device is isolated in the Untrusted Systems Zone and it can not be directly accessed;
  • sensitive resources are isolated in Isolated Systems Zone and can not be directly accessed;
  • Guests interact with HA safely through a Sandbox Zone.


Security architecture is not the solution. In order to achieve a sufficient level of cybersecurity you have to adopt a conspicuous number of different techniques, but without a security architecture it’s difficult to reach the goal. 

Pierfrancesco Ghedini

Licenza Creative Commons
Quest’opera è distribuita con Licenza Creative Commons Attribuzione 3.0 Italia.

FHIR CLI updated to 1.4.0


Now FHIR CLI is STU 3 compliant. The easy to use Command Line Interface to HL7 FHIR® – Fast Healthcare Interoperability Resources ( – now supports also the latest version of the standard.

In order to use it,  download the libraries from GITHUB: and follow the instructions to use the STU 3 compliant client.

Let’s see an example session:

# Import the version STU 3 Candidate compliant
In [1]: from client_v3 import *

In [2]: cli = init_client()
Using FHIR Server:
Verbosity LOW
No logging file.
No console logging.

# let's see the supported resources



# and how much are they
In [4]: len(RESOURCES)
Out[4]: 114

# or make a query
resp = read(cli, "Patient/example")
# ...

HL7® and FHIR® are registered terms of the subject having right (HL7 organization).

Pierfrancesco Ghedini

Licenza Creative Commons
Quest’opera è distribuita con Licenza Creative Commons Attribuzione 3.0 Italia.

FHIR® resource validation

FHIRIn HL7 FHIR ® is quite easy to validate – to check the syntactic correctness – a resource by means of a FHIR server.

In order to keep this example simple we will use the FHIR CLI (Command line interface) to build the resources and to interact with the FHIR server.

Validation of a resource in XML format

Start FHIR CLI typing in a python interpreter…

from client import *
cli = init_client()

Store the resource in a variable called “res”

res = '''<Patient xmlns="">
<id value="pat1"/>
<status value="generated"/>
<div xmlns="">

<p>Patient Donald DUCK @ Acme Healthcare, Inc. MR = 654321</p>

<use value="usual"/>
<system value=""/>
<code value="MR"/>
<system value="urn:oid:"/>
<value value="654321"/>
<active value="true"/>
<use value="official"/>
<family value="Donald"/>
<given value="Duck"/>
<gender value="male"/>

Now execute the FHIR validate operation

resp = validate(cli, resource="Patient", par=res, format_acc="xml")

See the response code in order to check the operation result


or simply type the variable name “resp” to display the output of the command


You will see something like this:

<?xml version="1.0" encoding="UTF-8"?><OperationOutcome xmlns=""><text><status value="generated"/><div xmlns=""><p><b>Operation Outcome for :Validate resource </b></p><p>All OK</p></div></text></OperationOutcome>
POST Url:$validate?async=false
Output code: 200

The operation “POST Url:$validate?async=false” was All OK
The resource is validated.

Validation of a resource in json format

In this example we will build a resource using the resource constructor (Patient()), but, if you prefer, you can store directly the json object in a variable and validate it in the previously seen way.

pa = Patient({"resourceType":"Patient", "id": "pat1", "name":[{"family":["Donald"],"given":["TestName"],"use":"official"}]})
# check the content of pa simply entering pa variable

and validate it.
Pay attention: to obtain the json representation from Patient resource stored in “pa” variable, use pa.json

resp = validate(cli, resource="Patient", par=pa.json, format_acc="json")

See the response code in order to check the operation result


Pierfrancesco Ghedini

Licenza Creative Commons
Quest’opera è distribuita con Licenza Creative Commons Attribuzione 3.0 Italia.

Give my health data back!



In a short time a huge part of our health datas will be scattered on the servers of many different companies around the internet. How are you going to have them back? How will you be able to consolidate them on one single EMR?

The lack of adequate standards and the lack of will to do so will prevent us to get them back.

We expect a hard work.



Licenza Creative Commons
Quest’opera è distribuita con Licenza Creative Commons Attribuzione 3.0 Italia.

Le 5 dimensioni dell’EMR

Dimensioni dell'EMR

Dimensioni dell’EMR

Ogni implementazione di un EMR – Electronic Medical Record – dovrebbe essere valutata secondo 5 principali dimensioni:


La prima dimensione è in relazione con il fatto che ogni EMR è di proprietà del paziente e deve essere di utilizzato a suo vantaggio. In particolare valutare questa dimensione comporta il riportare su una metrica il grado di utilità dell’EMR per il paziente. Occorre anche misurare il grado di gestibilità dell’EMR da parte del paziente stesso: ad esempio può essere valutata la facilità con la quale il paziente può oscurarne determinate parti al fine di tutelare la propria privacy o rendere disponibili parti dell’EMR a determinati professionisti sanitari e non ad altri.

La seconda dimensione è in relazione con il fatto che L’EMR è un fondamentale strumento di lavoro per il professionista sanitario che ha in cura il paziente. Il professionista ha il dovere di tenere costantemente aggiornato l’EMR per le parti di propria competenza, ma ha al contempo il diritto di consultare le informazioni rilevanti per la pratica professionale che non siano state oscurate dal paziente. Questa dimensione misura quindi il grado di utilità dell’EMR per il professionista.

Oltre che per il paziente e il professionista, l’EMR può essere prezioso per l’istituzione sanitaria che ha l’onere della valutazione dei servizi sanitari forniti alla popolazione. Gli EMR possono fornire informazioni aggregate, anonime e non per personali che permettono valutazioni di tipo epidemiologico, oltre che azioni di prevenzione e di governo della salute pubblica mediante la misura dei risultati – outcome – delle cure. La dimensione VALENZA SOCIALE misura l’utilità di una certa implementazione dal punto di vista dell’ISTITUZIONE SANITARIA.

I contenuti dell’EMR possono assumere diverse forme, ma saranno tanto più fruibili e gestibili informaticamente quanto più avranno una forma strutturata: ad esempio un referto di laboratorio analisi sarà assai più utile se riporterà in forma numerica i valori delle analisi contenute, piuttosto che la sola immagine – scannerizzazione o PDF – della copia cartacea. È, infatti, del tutto evidente che il valore del documento sarà tanto più elevato quanto più saranno le informazioni riportate gestibili informaticamente: di certo non sarò in grado di selezionare i referti che riportano un valore di glicemia anomalo se i referti sono sotto forma di copia scannerizzata. La DIMENSIONE SEMANTICA misurerà il grado di strutturazione dell’EMR e quindi la sua utilizzabilità con tecniche informatiche.

L’ultima ma non meno importante dimensione è quella tecnologica. Essa attiene al fatto che una certa implementazione dell’EMR risponderà più o meno brillantemente a domande del tipo:

  • è interoperante con i diversi sistemi tecnologici in uso in ambito sanitario e nella sfera personale?
  • è idonea all’uso in mobilità e su diversi tipi di dispositivi compresi i wearable e l’IOT?
  • è scalabile in ambiti diversi da quelli meramente personali ?
  • ecc…

Misurare le diverse implementazioni dell’EMR secondo queste caratteristiche e farlo secondo metriche che siano comuni e condivise sarà sicuramente la sfida più importante dell’immediato futuro.


Licenza Creative Commons
Quest’opera è distribuita con Licenza Creative Commons Attribuzione 3.0 Italia.

Non solo luci nell’IT sanitario, ma attendiamo un grande 2015

L’informatica sanitaria non è una strada lastricata di facili successi: chiunque se ne occupi lo sa.

Leggendo gli impietosi resoconti che ci giungono da oltre oceano a proposito della riforma da 30 miliardi di dollari voluta dalla Amministrazione Obama, ci si rende conto che le difficoltà in cui si dibattono i colleghi americani, sono le stesse di tutti.

In un recente articolo intitolato “High noon for federal health records program?” si afferma che:

  • fin dal 2011 i medici e gli ospedali statunitensi hanno dovuto dimostrare di utilizzare sistemi informatizzati per prescrivere, per prenotare esami e per lo scarico dei dati sanitari in rete; fin da allora, chi voleva beneficiare dei finanziamenti ha dovuto dare prova di gestire informaticamente dati come la pressione sanguigna o lo stato di fumatore del paziente;
  • quando il programma di finanziamenti prese l’avvio solo il 12 percento dei medici possedeva  un sistema informatizzato di gestione dei dati clinici, ora il 60% dei medici ne dispone e la quasi totalità degli ospedali; nessuno dichiara di volere tornare indietro, ma non tutto funziona;
  • i medici che hanno in cura pazienti che aderiscono al programma Medicare possono attendersi finanziamenti federali che possono arrivare a $43,720, ma possono essere assoggettati a penalizzazioni nei pagamenti che possono arrivare al 5%, se non rispondono a tutti i requisiti del programma in termini di informatizzazione;
  • nel primo anno in cui sono state applicate le penali, 250.000 medici hanno avuto penalizzazioni dell’1% nei pagamenti di Medicare;
  • ultimo, ma non meno importante aspetto, si dichiara che i medici hanno impiegato un’ora di lavoro al giorno in più ad inserire dati e quindi hanno visitato meno pazienti con potenziali conseguenti potenziali minori ricavi.

Leggendo questa impietosa analisi, mi è venuto spontaneo pensare che molte delle considerazioni che vengano fatte a proposito della situazione americana, ben potrebbero applicarsi alla nostra realtà.

Potrebbero, forse, essere comuni anche gli antidoti da utilizzare contro il male della cattiva informatizzazione:

  • lavorare in maniera incessante sulla usabilità degli applicativi sanitari e fare in modo che l’informatizzazione sia di ausilio al PDTA – Percorso Diagnostico Terapeutico Assistenziale -piuttosto che una fonte di inefficienza e faccia solo perdere tempo nella digitazione dei dati;
  • lavorare sulla integrazione degli applicativi sanitari per fare in modo che non si debbano inserire più volte le stesse informazioni in contesti diversi;
  • integrare i sistemi informativi dei medici di medicina generale con quelli degli specialisti e delle strutture ospedaliere;
  • riportare il paziente al centro del processo di cura, valorizzando attraverso l’informatizzazione il ruolo dei diversi attori del processo sanitario – che non sono solo i medici -, facendo in modo che l’aggiornamento delle informazioni sia uniformemente distribuito su tutte le figure coinvolte.

Il 2015 sarà un grande anno, un anno cruciale, ne sono certo: sarà l’anno della svolta.

Buon 2015 a tutti i protagonisti dell’informatica sanitaria e BUON LAVORO.


Licenza Creative Commons
Quest’opera è distribuita con Licenza Creative Commons Attribuzione 3.0 Italia.

Benessere, stili di vita e dispositivi medici personali: quello che vedremo nel 2015

Logo CNN

Logo CNN

Benessere, salute, corretti stili di vita, prevenzione delle malattie, dispositivi medici personali… quali saranno le tendenze più significative del 2015 nell’ambito dell’Healthcare?

Vedo e prevedo

Indipendentemente dal fatto che si stia consultando una seriosa e paludata rivista medica o il sito più gossipparo di consigli medici a buon mercato, non ci si salva. È fine anno e il gioco che va più di moda è quello della previsione selvaggia.

E chi siamo noi per sottarci a questo gioco?

Le 5 principali tendenze del 2015 secondo la CNN

Nell’articolo 5 digital health trends you’ll see in 2015 vengono citate 5 tendenze principali:

  • i dispositivi indossabili da portare all’orecchio;
  • le strisce che, analizzando il sudore, ci avvisano di potenziali problemi di salute;
  • le custodie per cellulari che fungono anche da dispositivi medici – da misuratori del battito cardiaco, da elettrocardiografi portatili, ecc… -;
  • le app utilizzabili solo dietro prescrizione medica;
  • sorgenti luminose più salutari e che meno disturbano il ritmo sonno veglia – ad esempio tablet che meno dovrebbero interferire con il prendere sonno alla sera grazie a emissioni più rispettose delle nostre reazioni fisiologiche -.

Sono assolutamente conscio che molti lettori, già a questo punto, si saranno fatti delle grasse risate leggendo un tale elenco, ma non sarebbe successo lo stesso se qualcuno prima dell’uscita dell’iPad della Apple ci avesse raccontato che avrebbe avuto un enorme successo un computer che non aveva nemmeno la tastiera e sarebbe stato costituito dal solo schermo.

Posto che non mi interessa molto se il prossimo dispositivo medico personale sarà da cingere al polso o da portare all’orecchio e che la striscia che analizza il mio sudore per dirmi se ho il diabete non mi sembra poi così drammaticamente innovativa, la tendenza che mi intriga maggiormente è la APP che dovrà essere prescritta dal medico. L’articolo, come esempio, cita una applicazione che potrebbe essere di supporto ai pazienti diabetici. Essa raccoglierà dati preziosi riguardo allo stile di vita adottato e, in questo modo, potrà fornire un aiuto prezioso al medico nella personalizzazione della terapia.

Il punto della questione

Forse il punto è proprio questo: nel 2015 assisteremo ad una incredibile fioritura di applicazioni che ci metteranno in grado di raccogliere i dati più disparati: ma chi li leggerà questi dati? chi saprà dare un senso a questa mole di informazioni?

Se sarà un medico ad organizzare questa raccolta e a trarne un senso compiuto forse tutto ciò sarà davvero una piccola rivoluzione. Forse anche chi si sa spiegare peggio di un altro avrà le stesse opportunità di cura di chiunque altro: penso agli anziani, penso a chi ha problemi mentali o di espressione…

Sono fiducioso, attendo con ansia il 2015.


Licenza Creative Commons
Quest’opera è distribuita con Licenza Creative Commons Attribuzione 3.0 Italia.

Turing e il calcolatore che diagnostica il cancro

Alan Turing Aged 16

Alan Turing all’età di 16 anni.

Alan Turing fu un genio ed un eroe.

Mise fine alla sua vita a soli 42 anni, vittima della società omofoba del tempo, il 7 giugno 1954. Il suo principale contributo, pubblicato nel 1937 con il titolo On Computable numbers, rappresenta ancora oggi uno dei fondamenti teorici del calcolo elettronico.

Turing non era solo un matematico di prim’ordine, era anche un eroe: il giorno successivo alla dichiarazione di guerra alla Germania fu chiamato alla Scuola Governativa di Codici e Cifre britannica a Bletchley Park, e si distinse ideando le cosiddette “bombe”, i dispositivi elettromeccanici che fecero breccia nel cifrario tedesco Enigma.

Ma quello che colpisce di più era la sua capacità visionaria. In un lavoro del 1950 scriveva: “Io credo che fra una cinquantina d’anni sarà possibile programmare calcolatori aventi una capacità di memoria di circa 10^9, in modo da farli giocare così bene al gioco dell’imitazione che un interrogante medio avrà una probabilità non superiore al 70% di compiere l’identificazione giusta dopo 5 minuti di interrogatorio. Credo che la domanda iniziale “Le macchine possono pensare?” sia troppo priva di senso per meritare una discussione. Ciò nonostante, credo che alla fine l’uso delle parole e l’opinione corrente saranno talmente mutati che si potrà parlare di macchine pensanti senza aspettarsi di essere contraddetti.”

Se oggi Alan Turing fosse vivo cosa penserebbe del programma per calcolatore che riesce a diagnosticare il cancro con una precisione maggiore di quanto riescano a fare i medici?

Penso ci guarderebbe con quei suoi occhi tristi e forse sorriderebbe e noi ricambieremmo annuendo silenziosi e commossi.

Grazie dott. Turing, grazie anche a nome di ogni malato che potrà trarre giovamento da ciò che nel chiuso del suo studio lei immaginò agli albori della nuova era.


Licenza Creative Commons
Quest’opera è distribuita con Licenza Creative Commons Attribuzione 3.0 Italia.