Come scegliere i migliori nomi di pazienti con hash per generare uno pseudonimo?

1

Sto lavorando ad uno strumento di acquisizione e preelaborazione dei dati per un database dei tumori cerebrali. Lo strumento esegue il preprocesso dei dati e lo armonizza in modo che possa essere unito in un unico grande database. A causa delle restrizioni sulla privacy, delle leggi sulla protezione dei dati e della nostra morale ci viene richiesto di generare pseudonimi per i pazienti. Qual è il modo migliore per farlo?

Ci sono più scansioni cerebrali per paziente ed è importante che possano essere collegate a ciascun individuo in modo da poter tracciare il tumore al cervello nel tempo. Dalla mia comprensione limitata non posso usare un algoritmo come bcrypt per questo motivo, poiché genererà un hash diverso ogni volta a causa del sale unico?

Il mio piano attuale era di usare SHA-3 256 con il nome del paziente + un sale locale diverso per ogni ospedale (penso che in questo contesto il sale sia chiamato anche pepe?). Tuttavia, per quanto ho capito, sha-3 è suscettibile agli attacchi di forza bruta?

Questo approccio ha anche lo svantaggio che lo stesso paziente genererà diversi hash nel caso in cui venga scansionato in un'altra istituzione. Tuttavia questo è accettabile in quanto i pazienti purtroppo muoiono a digiunare per migrare tra gli ospedali. Tuttavia sarebbe ancora bello se potessimo evitare questo problema se la rete di ricerca volesse incorporare meno malattie mortali in futuro.

Ho un electron + vue JS che esegue l'interfaccia utente connessa tramite websockets (socket.io) a un server di palloni python che esegue i pesanti calcoli all'interno di un container. Dato che tutto è in esecuzione localmente, suppongo che il mio setup non sia realmente vulnerabile agli attacchi man in the middle, quindi sarebbe accettabile eseguire l'hashing sul backend Python?

Quale approccio consiglieresti?

Grazie mille per il tuo tempo!

PS: rispondere alle domande: Per cominciare abbiamo ospedali in Germania, Austria e Svizzera che partecipano (questo significa EU + legge svizzera sulla protezione dei dati). Tuttavia, se sorgono opportunità, vorremmo espanderci a livello internazionale, anche negli Stati Uniti.

L'obiettivo della piattaforma è fornire ai ricercatori dati. Attualmente ogni istituzione sta lavorando con i propri dati, tuttavia gli approcci moderni, in particolare l'apprendimento approfondito, trarrebbero grande profitto dai grandi insiemi di dati sull'addestramento.

Quindi si tratta di nascondere l'identità dei pazienti dai ricercatori utilizzando il database completo che verrà fornito in modo curatissimo. Le istituzioni locali hanno comunque accesso ai loro dati sui pazienti non trattati, quindi non c'è bisogno di nasconderlo da loro.

L'idea di utilizzare un sale locale per istituzione era quella di evitare che gli utenti della clinica A che conoscono il paziente "John Doe" possano tracciare i set di dati di "John Doe" quando visita la clinica B.

Penso che invece del nome del paziente + sale locale sia un'idea migliore usare lo pseudonimo locale fornito dal sistema informativo ospedaliero. Quindi, nel caso qualcuno riesca a decifrare i dati, finisce con lo pseudonimo locale. Sfortunatamente questi sistemi non sono standardizzati e non sono sicuro che ogni sistema fornisca tale record.

Se possibile vorrei davvero evitare l'approccio di avere una tabella di ricerca. I computer che elaborano i dati sono spesso offline e ci sono più computer per istituto quindi sarà davvero difficile prenderne il controllo e tenerlo sincronizzato e sicuro. I medici sono spesso stressati, con gli occhi cisposi e hanno una motivazione limitata a seguire i protocolli di protezione dei dati, quindi sono scettico sul fatto che possano gestire questo lavoro manuale.

PPS: dopo aver letto più a fondo l'argomento mi chiedo se PGP potrebbe essere una via d'uscita dal mio dilemma. Gli utenti potevano firmare i propri dati con la mia chiave pubblica. Quindi decodificare le informazioni e generare pseudonimi per i pazienti con la mia tabella di ricerca centrale. Gli pseudonimi non avrebbero alcun collegamento con i dati del paziente, quindi non ci sarebbe modo di ricollegarlo ai pazienti con accesso al normale database.

Quindi un utente malintenzionato dovrebbe intercettare la comunicazione crittografata RSA tra i nostri server e decifrarlo per ottenere l'accesso ai dati del paziente. Un utente malintenzionato che è in grado di farlo potrebbe probabilmente accedere ai dati non elaborati anche sui server dell'ospedale, che sembra essere l'obiettivo più attraente, come con i dati grezzi con cui finirebbe, ad esempio, le scansioni Ct complete e non solo cervelli estratti da loro.

    
posta florian 07.04.2018 - 01:24
fonte

1 risposta

1

Ho iniziato a commentare in merito alla giurisdizione degli Stati Uniti, quindi scriverò semplicemente una risposta specifica per quella regione, perché ciò potrebbe aiutare gli altri. Ci sono spesso un sacco di domande e confusione sulla de-identificazione per le pubblicazioni di cartelle cliniche a scopo di ricerca.

Ecco la clausola di esclusione della responsabilità: lavoro a stretto contatto con persone che gestiscono questo tipo di informazioni, ma non mi considererei un esperto in materia di Portabilità e Legge sull'assicurazione sanitaria (HIPAA) e sui suoi regolamenti. Raccomando di consultare un professionista esperto quando sono importanti le questioni relative alla privacy del paziente.

Tutte le informazioni di seguito riportate possono essere trovate nel suo modulo ufficiale (e più affidabile) sul sito Web Health and Human Services (HHS):

link

Su hash come identificatori nei dati anonimi

L'hashing del nome della persona non significa sicuramente non deidentificare il record. Se qualcuno ha intuito che un record apparteneva a un particolare paziente, potrebbe semplicemente inserire il nome della persona, con il sale locale e confermare l'identità del paziente.

Il modo migliore per identificare la registrazione del paziente sarebbe con un identificatore che non è generato dalle informazioni del paziente - come un UUID o una stringa crittograficamente casuale. Quindi, mantieni una tabella di ricerca che faccia riferimento alle informazioni di identificazione del paziente.

Per citare la guida sulla deidentificazione sopra riportata:

(c) Implementation specifications: re-identification. A covered entity may assign a code or other means of record identification to allow information de-identified under this section to be re-identified by the covered entity, provided that:

(1) Derivation. The code or other means of record identification is not derived from or related to information about the individual and is not otherwise capable of being translated so as to identify the individual; and

(2) Security. The covered entity does not use or disclose the code or other means of record identification for any other purpose, and does not disclose the mechanism for re-identification.

Tipi di deidentificazione

Esistono due tipi di de-identificazione descritti nella Legge sulla portabilità e responsabilità delle assicurazioni sanitarie.

  • Determinazione esperta e
  • Safe Harbor

Determinazione di esperti

In breve, la determinazione dell'esperto è il processo con cui un esperto di statistica rivede il materiale e rimuove qualsiasi informazione che potrebbe essere utilizzata per determinare chi sono gli individui nelle cartelle cliniche.

Questo metodo ha il vantaggio di poter potenzialmente lasciare più dettagli nei record, purché non possa essere utilizzato per tracciare il particolare individuo a cui appartengono i record.

Nel caso ti stia chiedendo, se stai facendo una domanda su Security Stack Exchange sulla de-identificazione, probabilmente non sei qualificato per certificare i dati in questo modo da solo, e dovresti cercare un professionista per riempire il tuo esigenze. Avrebbero anche bisogno di essere in Business Associate Agreement (BAA) per gestire i dati, come dovresti essere se gestisci le cartelle cliniche per un ospedale degli Stati Uniti (di nuovo, sto assumendo gli Stati Uniti per questa risposta).

Safe Harbor

La deidentificazione di Safe Harbor è un po 'più facile da fare per uno sviluppatore di software. Implica solo la rimozione di tutto un elenco di 18 campi identificativi dalle cartelle cliniche, tra cui:

  • I nomi
  • Informazioni geografiche
  • Date
  • Numeri di telefono
  • Identificativi del veicolo
  • Numeri di fax
  • Identificativi dispositivo e numeri di serie
  • Indirizzi email
  • URL
  • Numeri di previdenza sociale
  • Indirizzi IP
  • Numeri dei record medici
  • Identificatori biometrici (es. impronte digitali)
  • Informazioni sul piano sanitario
  • Fotografie a pieno facciale e immagini comparabili
  • Numeri account
  • Qualsiasi numero identificativo univoco o caratteristica (con alcune eccezioni ben definite)
  • Certificato / numeri di licenza

Questo elenco è solo un sommario, fai riferimento a HIPAA per le descrizioni specifiche di questi articoli, in particolare le informazioni geografiche, per le quali forniscono istruzioni molto dettagliate.

Nota che le informazioni che identificano l'ospedale o il suo indirizzo possono essere considerate come informazioni geografiche, quindi i record possono devono essere privati di tali informazioni per soddisfare i requisiti di Safe Harbor.

Re-identificazione

La guida che ho menzionato sopra ha anche alcune informazioni sulle linee guida HHS per abbinare un record al paziente nel caso in cui la ricerca rivelasse informazioni che devono essere ritrasmesse al paziente o al proprio medico.

Questo processo di solito comporta l'applicazione di un ID casuale univoco ai record, che vengono archiviati con l'entità coperta (di solito un ospedale), in modo che possano eseguire una ricerca inversa per identificare un paziente dai record non identificati. Quella tabella di ricerca stessa sarebbe stata classificata come PHI, quindi non poteva essere rilasciata con i record.

    
risposta data 07.04.2018 - 04:51
fonte

Leggi altre domande sui tag