Progetto per la sicurezza e la conformità di Azure: HIPAA/HITRUST per dati del settore sanitario e intelligenza artificiale

Panoramica

Progetto di sicurezza e conformità di Azure: HIPAA/HITRUST per dati del settore sanitario e intelligenza artificiale offre una distribuzione chiavi in mano di una soluzione PaaS e IaaS di Azure per illustrare come inserire, archiviare, analizzare, usare, identificare e distribuire in modo sicuro soluzioni con dati del settore sanitario rispettando i requisiti di conformità del settore. Il progetto consente di accelerare l'adozione e l'utilizzo del cloud da parte dei clienti con dati regolamentati.

Il progetto di sicurezza e conformità di Azure - HIPAA/HITRUST Health Data and AI Blueprint fornisce strumenti e linee guida per distribuire un ambiente sicuro, sicuro, health Insurance Portability e Accountability Act (HIPAA) e Health Information Trust Alliance (HITRUST) pronto per l'inserimento, l'archiviazione, l'analisi e l'interazione con i record medici personali e non personali in un ambiente cloud sicuro e multilivello, distribuito come soluzione end-to-end.

La soluzione IaaS illustrerà come eseguire la migrazione in Azure di una soluzione locale basata su SQL e come implementare una workstation con accesso con privilegi per gestire in modo sicuro le soluzioni e i servizi basati sul cloud. Il database di SQL Server IaaS aggiunge l'importazione di dati di sperimentazione potenziali in una macchina virtuale IaaS basata su SQL e tale macchina usa l'accesso autenticato dell'identità del servizio gestita per interagire con un servizio PaaS di SQL Azure. Entrambi presentano un'architettura di riferimento comune e sono stati progettati per semplificare l'adozione di Microsoft Azure. Questa architettura illustra una soluzione in grado di soddisfare le esigenze delle organizzazioni alla ricerca di un approccio basato sul cloud per ridurre il carico di lavoro e il costo della distribuzione.

La soluzione è progettata per usare un set di dati di esempio formattato usando FHIR (Healthcare Interoperability Resources), uno standard globale per lo scambio elettronico di informazioni sanitarie, e per archiviare i dati in modo sicuro. I clienti possono quindi usare Azure Machine Learning Studio per sfruttare i potenti strumenti di business intelligence e le funzionalità di analisi per esaminare le stime eseguite sui dati di esempio. Per illustrare il tipo di esperimento che Azure Machine Learning Studio può aiutare a svolgere, il progetto include un set di dati di esempio, script e strumenti per stimare la durata della degenza di un paziente in ospedale.

Questo progetto è pensato come base modulare per i clienti, che possono apportare modifiche in base ai requisiti specifici, sviluppando nuovi esperimenti di Azure Machine Learning per soddisfare le esigenze di casi d'uso clinici e operativi. Il progetto è pensato in modo da garantire sicurezza e conformità dopo la distribuzione. Tuttavia, i clienti sono responsabili della corretta configurazione dei ruoli e dell'implementazione delle modifiche. Tenere presente quanto segue:

  • Questo progetto offre una soluzione iniziale per aiutare i clienti a usare Microsoft Azure in un ambiente che richiede la conformità a HITRUST e HIPAA.

  • Anche se il progetto è stato preparato per essere allineato con HIPAA e HITRUST tramite il framework di sicurezza comune (CSF, Common Security Framework), non deve essere considerato conforme fino a quando non viene certificato da un revisore esterno in base ai requisiti di certificazione HIPAA e HITRUST.

  • I clienti hanno la responsabilità di svolgere revisioni appropriate della sicurezza e della conformità di qualsiasi soluzione creata con questa architettura di base.

Distribuzione dell'automazione

  • Per distribuire la soluzione, seguire le istruzioni riportate nelle linee guida per la distribuzione.

  • Per una rapida panoramica del funzionamento di questa soluzione, guardare questo video, che ne spiega e descrive la distribuzione.

  • Le domande frequenti sono illustrate nell'articolo di domande frequenti.

  • Diagramma dell'architettura. Il diagramma illustra l'architettura di riferimento usata per il progetto e lo scenario del caso d'uso di esempio.

  • Estensione IaaS Questa soluzione illustra come eseguire la migrazione di una soluzione basata su SQL locale ad Azure e implementare una workstation con accesso con privilegi per gestire in modo sicuro servizi e soluzioni basate sul cloud.

Componenti della soluzione

L'architettura di base è costituita dai componenti seguenti:

  • Modello di rischio Viene fornito un modello di rischio completo in formato tm7 da usare con Microsoft Threat Modeling Tool, che illustra i componenti della soluzione, il flusso di dati tra di essi e i limiti di trust. Il modello può aiutare i clienti comprendere i punti di rischio potenziale nell'infrastruttura del sistema durante lo sviluppo di componenti di Machine Learning Studio o quando vengono apportate altre modifiche.

  • Matrice di implementazione del cliente Una cartella di lavoro di Microsoft Excel che elenca i requisiti di HITRUST pertinenti e spiega in che modo Microsoft e il cliente sono responsabili di soddisfare ognuno di questi requisiti.

  • Revisione dell'integrità. La soluzione è stata esaminata dai sistemi Coalfire, Inc. La revisione e le indicazioni sulla conformità all'integrità (HIPAA e HITRUST) per l'implementazione forniscono una revisione della soluzione da parte di un revisore e considerazioni per la trasformazione del progetto in una distribuzione pronta per la produzione.

Diagramma dell'architettura

Ruoli

Il progetto definisce due ruoli per gli utenti amministratori (operatori) e tre ruoli per gli utenti addetti alla gestione ospedaliera e alla cura dei pazienti. Viene definito un sesto ruolo di revisore incaricato della valutazione della conformità a HIPAA e ad altri regolamenti. Il controllo degli accessi in base al ruolo di Azure consente un'accurata gestione degli accessi per ogni utente della soluzione tramite ruoli predefiniti e personalizzati. Vedere Introduzione al controllo degli accessi in base al ruolo nel portale di Azure e Ruoli predefiniti per il controllo degli accessi in base al ruolo di Azure per informazioni dettagliate su controllo degli accessi in base al ruolo, ruoli e autorizzazioni.

Amministratore del sito

L'amministratore del sito è responsabile della sottoscrizione di Azure del cliente. Controlla la distribuzione globale, ma non ha accesso ai record dei pazienti.

  • Assegnazioni di ruolo predefinite: Proprietario

  • Assegnazioni di ruolo personalizzate: N/D

  • Ambito: sottoscrizione

Analista di database

L'analista di database amministra il database e l'istanza di SQL Server. Non ha accesso ai record dei pazienti.

Data scientist

Il data scientist gestisce Azure Machine Learning Studio. Può importare, esportare e gestire i dati ed eseguire report. Il data scientist ha accesso ai dati dei pazienti, ma non ha privilegi amministrativi.

Responsabile dei servizi informatici sanitari (CMIO, Chief Medical Information Officer)

Il CMIO riveste un ruolo a metà strada tra informatica/tecnologia e professionisti del settore sanitario in un'organizzazione sanitaria. Questo ruolo richiede in genere l'uso delle analisi per determinare se le risorse sono allocate in modo appropriato nell'organizzazione.

  • Assegnazioni di ruolo predefinite: nessuna

Responsabile sanitario

Il responsabile sanitario è coinvolto direttamente nella cura dei pazienti. Questo ruolo richiede il monitoraggio dello stato dei singoli pazienti, oltre alla verifica della disponibilità del personale per rispondere ai requisiti di assistenza specifici dei pazienti. Il responsabile sanitario si occupa dell'aggiunta e dell'aggiornamento dei record dei pazienti.

  • Assegnazioni di ruolo predefinite: nessuna

  • Assegnazioni di ruolo personalizzate: ha il privilegio necessario per eseguire HealthcareDemo.ps1 sia per il ricovero che per le dimissioni dei pazienti.

  • Ambito: gruppo di risorse

Revisore

Il revisore valuta la soluzione per verificarne la conformità. Non ha accesso diretto alla rete.

  • Assegnazioni di ruolo predefinite: Lettore

  • Assegnazioni di ruolo personalizzate: N/D

  • Ambito: sottoscrizione

Esempio di caso d'uso

Il caso d'uso di esempio incluso in questo progetto illustra come usare il progetto per applicare l'apprendimento automatico ed eseguire analisi sui dati sanitari nel cloud. Contosoclinic è un piccolo ospedale che si trova negli Stati Uniti. Gli amministratori di rete dell'ospedale vogliono usare Azure Machine Learning Studio per stimare meglio la durata della degenza del paziente al momento del ricovero, allo scopo di aumentare l'efficienza operativa del carico di lavoro e migliorare la qualità dell'assistenza offerta.

Previsione della durata della degenza

Lo scenario del caso d'uso di esempio usa Azure Machine Learning Studio per stimare la durata della degenza di un paziente appena ricoverato confrontando i dati medici del paziente al momento del ricovero e i dati cronologici aggregati dei pazienti precedenti. Il progetto include un vasto set di cartelle cliniche anonime che illustrano le capacità di training e stima della soluzione. In una distribuzione di produzione i clienti useranno i propri record per il training della soluzione, per ottenere stime più accurate che riflettono le caratteristiche dell'ambiente, delle strutture e dei pazienti specifici.

Utenti e ruoli

Amministratore del sito - Alex

Email: Alex_SiteAdmin

Il lavoro di Alex consiste nel valutare le tecnologie che possono ridurre il carico di lavoro di gestione di una rete locale e i costi per la gestione. Alex sta valutando Azure da un po' di tempo, ma ha difficoltà a configurare i servizi necessari per soddisfare i requisiti di conformità HiTrust per l'archiviazione dei dati dei pazienti nel cloud. Alex ha scelto l'intelligenza artificiale di Integrità di Azure per distribuire una soluzione per il settore sanitario predisposta per la conformità, in grado di soddisfare i requisiti dei clienti per HiTrust.

Data scientist - Debra

Email: Debra_DataScientist

Debra è responsabile dell'uso e della creazione di modelli che analizzano le cartelle cliniche per fornire informazioni approfondite sulla cura dei pazienti. Debra usa SQL e il linguaggio di programmazione statistica R per creare i modelli.

Analista di database - Danny

Email: Danny_DBAnalyst

Danny è il contatto principale per tutto ciò che riguarda la soluzione Microsoft SQL Server che archivia tutti i dati dei pazienti per Contosoclinic. Danny è un amministratore esperto di SQL Server che ha di recente acquisito familiarità con il database SQL di Azure.

Responsabile dei servizi informatici sanitari (CMIO, Chief Medical Information Officer) - Caroline

Caroline collabora con Chris, responsabile sanitario, e Debra, data scientist, per determinare i fattori che influiscono sulla durata della degenza dei pazienti. Caroline usa le stime dalla soluzione di calcolo della durata della degenza per determinare se le risorse vengono allocate in modo appropriato nella rete ospedaliera. Usa, ad esempio, il dashboard fornito in questa soluzione.

Responsabile sanitario - Chris

Email: Chris_CareLineManager

In quanto diretto responsabile della gestione del ricovero e delle dimissioni dei pazienti presso Contosoclinic, Chris usa le stime generate dalla soluzione di calcolo della durata della degenza per garantire la disponibilità di personale adeguato per fornire assistenza ai pazienti durante la degenza.

Revisore - Han

Email: Han_Auditor

Han è un revisore certificato con esperienza nel controllo della conformità a ISO, SOC e HiTrust. È stato assunto per la revisione della rete di Contosoclinc. Han può esaminare la matrice delle responsabilità del cliente fornita con la soluzione per assicurarsi che il progetto e la soluzione di calcolo della durata della degenza possano essere usati per archiviare, elaborare e visualizzare i dati personali sensibili.

Configurazione del progetto

Questa sezione illustra nel dettaglio le configurazioni predefinite e le misure di sicurezza integrate nel progetto per:

  • INSERIMENTO di origini di dati non elaborati, inclusa l'origine dati FHIR
  • ARCHIVIARe le informazioni riservate
  • ANALISI e stima dei risultati
  • INTERAZIONE con i risultati e le stime
  • GESTIONE DELLE IDENTITÀ della soluzione
  • FUNZIONALITÀ DI SICUREZZA

IDENTITY

Azure Active Directory e controllo degli accessi in base al ruolo

Autenticazione:

  • Azure Active Directory (Azure AD) è il servizio Microsoft multi-tenant di gestione di identità e directory basato sul cloud. Tutti gli utenti della soluzione sono stati creati in Azure Active Directory, inclusi gli utenti che accedono al database SQL.

  • L'autenticazione per l'applicazione viene eseguita tramite Azure AD. Per altre informazioni, vedere Integrazione di applicazioni con Azure Active Directory.

  • Azure Active Directory Identity Protection rileva potenziali vulnerabilità che interessano le identità dell'organizzazione, configura risposte automatizzate per rilevare azioni sospette correlate alle identità dell'organizzazione e analizza gli eventi imprevisti sospetti ed esegue azioni appropriate per risolverle.

  • Il controllo degli accessi in base al ruolo di Azure consente un'accurata gestione degli accessi per Azure. L'accesso a una sottoscrizione è limitato all'amministratore della sottoscrizione e l'accesso ad Azure Key Vault è limitato all'amministratore del sito. Sono richieste password complesse (minimo 12 caratteri con almeno una lettera maiuscola/minuscola, un numero un carattere speciale).

  • L'autenticazione a più fattori è supportata quando l'opzione -enableMFA è abilitata durante la distribuzione.

  • Le password scadono dopo 60 giorni quando l'opzione -enableADDomainPasswordPolicy è abilitata durante la distribuzione.

Ruoli:

  • La soluzione usa i ruoli predefiniti per gestire l'accesso alle risorse.

  • A tutti gli utenti vengono assegnati ruoli predefiniti specifici per impostazione predefinita.

Insieme di credenziali chiave di Azure

  • I dati archiviati in Key Vault includono:

    • Chiave di Application Insights
    • Chiave di accesso alle risorse di archiviazione dei dati dei pazienti
    • Stringa di connessione per i pazienti
    • Nome della tabella dati dei pazienti
    • Endpoint servizio Web Azure ML
    • Chiave API del servizio Azure ML
  • I criteri di accesso avanzati vengono configurati in base alle necessità

  • I criteri di accesso di Key Vault sono definiti con le autorizzazioni minime necessarie per le chiavi e i segreti

  • Tutti i segreti e le chiavi in Key Vault hanno date di scadenza

  • Tutte le chiavi in Key Vault sono protette da HSM [Tipo di chiave = HSM Protected 2048-bit RSA Key]

  • A tutti gli utenti e le identità vengono concesse le autorizzazioni minime richieste tramite il controllo degli accessi in base al ruolo

  • Le applicazioni non condividono un'istanza di Key Vault a meno che non si considerino attendibili reciprocamente e non debbano accedere agli stessi segreti in fase di esecuzione

  • I log di diagnostica per Key Vault sono abilitati con un periodo di conservazione di almeno 365 giorni

  • Le operazioni di crittografia consentite per le chiavi sono limitate a quelle necessarie

INSERIMENTO

Funzioni di Azure

La soluzione è stata progettata per usare Funzioni di Azure per elaborare la lunghezza del campione di dati di soggiorno usati nella demo di analisi. Sono state create tre funzionalità nelle funzioni.

1. Importazione bulk dei dati dei dati del cliente

Quando si usa lo script di demo. .\HealthcareDemo.ps1 con l'opzione BulkPatientAdmission come descritto in Distribuzione ed esecuzione della demo che esegue la pipeline di elaborazione seguente:

  1. Archiviazione BLOB di Azure - File CVS di esempio dei dati dei pazienti caricato per l'archiviazione
  2. Griglia di eventi - L'evento pubblica i dati nella funzione di Azure (importazione in blocco - evento BLOB)
  3. Funzione di Azure - Esegue l'elaborazione e archivia i dati nel servizio di archiviazione SQL usando la funzione sicura - event(type;blob_url)
  4. Database SQL - L'archivio di database per i dati dei pazienti, in cui vengono usati tag per la classificazione e il processo ML viene avviato per eseguire l'esperimento di training

La funzione di Azure è stata inoltre progettata per leggere e proteggere i dati sensibili designati nel set di dati di esempio usando i tag seguenti:

  • dataProfile => "ePHI"
  • owner =><Site Amministrazione UPN>
  • environment => "Pilota"
  • department => "Global Ecosystem" L'assegnazione di tag è stata applicata al set di dati di esempio in cui sono stati identificati i nomi dei pazienti come testo chiaro.

2. Ammissione di nuovi pazienti

Quando si usa lo script di demo. .\HealthcareDemo.ps1 con l'opzione BulkPatientadmission come descritto in Distribuzione ed esecuzione della demo che esegue la pipeline di elaborazione seguente: 1. Funzione di Azure attivata e richieste di funzione per un token di connessione da Azure Active Directory.

2. Key Vault richiesto per un segreto associato al token richiesto.

3. Ruoli di Azure convalidano la richiesta e autorizzano la richiesta di accesso al Key Vault.

4. Key Vault restituisce il segreto, in questo caso la stringa di connessione del database SQL.

5. La funzione di Azure usa la stringa di connessione per connettersi in modo sicuro a database SQL e continua l'elaborazione per archiviare i dati ePHI.

Per ottenere l'archiviazione dei dati, è stato implementato uno schema API comune seguendo le risorse di interoperabilità di Fast Healthcare (FHIR, pronunciato fire). Alla funzione sono stati forniti gli elementi di scambio FHIR seguenti:

  • Schema dei pazienti che riguarda le informazioni personali di un paziente.

  • Lo schema di osservazione copre l'elemento centrale nel settore sanitario, usato per supportare la diagnosi, monitorare lo stato di avanzamento, determinare le linee di base e i modelli e anche acquisire caratteristiche demografiche.

  • Schema degli incontri che riguarda i tipi di incontri, ad esempio in ambulatorio, al pronto soccorso, in visite a domicilio, durante la degenza e incontri virtuali.

  • Schema delle condizioni che riguarda le informazioni dettagliate su una condizione, un problema, una diagnosi o un altro tipo di evento, situazione, problematica o concetto clinico con un determinato livello di interesse.

Griglia di eventi

La soluzione supporta Griglia di eventi di Azure, un singolo servizio per la gestione del routing di tutti gli eventi da qualsiasi origine a qualunque destinazione, che fornisce:

ARCHIVIAZIONE

Server e database SQL

Account di archiviazione

  • I dati in transito vengono trasferiti usando solo TLS/SSL.

  • L'accesso anonimo non è consentito per i contenitori.

  • Le regole di avviso sono configurate per il monitoraggio dell'attività anonima.

  • Per l'accesso alle risorse dell'account di archiviazione è necessario il protocollo HTTPS.

  • I dati delle richieste di autenticazione vengono registrati e monitorati.

  • I dati nell'archiviazione BLOB vengono crittografati quando sono inattivi.

ANALISI

Machine Learning

SICUREZZA

Centro sicurezza di Azure

  • Centro sicurezza di Azure offre una vista centralizzata dello stato di sicurezza di tutte le risorse di Azure. È possibile verificare subito che i controlli di sicurezza appropriati siano implementati e configurati correttamente, così come identificare rapidamente le risorse che richiedono attenzione.

  • Azure Advisor è un consulente cloud personalizzato che facilita l'applicazione delle procedure consigliate per ottimizzare le distribuzioni di Azure. Analizza i dati di telemetria dell'uso e della configurazione delle risorse e consiglia soluzioni che consentono di migliorare l'efficienza dei costi, le prestazioni, la disponibilità elevata e la sicurezza delle risorse di Azure.

Application Insights

  • Application Insights è un servizio estendibile di gestione delle prestazioni delle applicazioni per sviluppatori Web su più piattaforme, che consente di monitorare un'applicazione Web live. Questo servizio rileva le anomalie nelle prestazioni. e include avanzati strumenti di analisi che consentono di diagnosticare i problemi e conoscere come viene effettivamente usata l'app dagli utenti. Il servizio è progettato per supportare il miglioramento continuo delle prestazioni e dell'usabilità.

Avvisi di Azure

  • Gli avvisi offrono un metodo di monitoraggio dei servizi di Azure e consentono di configurare le condizioni sui dati. Gli avvisi forniscono anche le notifiche quando c'è una corrispondenza tra una condizione di avviso e i dati di monitoraggio.

Log di Monitoraggio di Azure

I log di Monitoraggio di Azure sono una raccolta di servizi di gestione.