Projecte 6 — TeleSalut Selva
| Camp | Valor |
|---|---|
| Empresa | TeleSalut Selva (plataforma de telemedicina, col·laboradora de l'Hospital de Blanes) |
| Sector | Salut / telemedicina |
| Nivell | Mitjà-Sènior — privacitat extrema: dades de salut |
| Durada estimada | 8 hores |
| Blocs relacionats | Bloc 2 (relacional, seguretat), Bloc 4 (arquitectura), Bloc 8 (integritat i ètica) |
Context
TeleSalut Selva ofereix consultes mèdiques per videotrucada als municipis rurals de la comarca de la Selva, en col·laboració amb l'Hospital de Blanes. A diferència de tots els projectes anteriors, aquí les dades no són vendes ni events d'aplicació: són dades de salut, considerades "categoria especial" pel RGPD (article 9), amb obligacions legals molt més estrictes que qualsevol altra dada personal.
Aquest no és un projecte més
Un error de qualitat en un informe de vendes es corregeix refent l'informe. Un accés indegut a l'historial mèdic d'una persona és, per definició, irreversible i pot tenir conseqüències legals greus per a l'organització. Tracta aquest projecte amb el rigor que et demanaria un/a DPO (Delegat/da de Protecció de Dades) real.
Dia 1 — Dades de categoria especial i base legal
Tasca: el RGPD exigeix una base legal específica per tractar dades de salut (típicament, consentiment explícit o interès vital). Redacta, en 5-6 línies, quina informació hauria de constar al registre d'activitats de tractament de TeleSalut Selva per a la taula consultes_mediques (finalitat del tractament, base legal, termini de conservació, i qui hi té accés).
Dia 2 — k-anonimat per a un dataset de recerca
L'Hospital de Blanes vol cedir un extracte anonimitzat de consultes de telemedicina a un grup de recerca universitari sobre l'accés a la sanitat rural. El dataset original té aquesta forma:
| edat | municipi | sexe | diagnòstic |
|---|---|---|---|
| 34 | Sant Hilari Sacalm | Dona | Migranya |
| 71 | Arbúcies | Home | Hipertensió |
| 34 | Sant Hilari Sacalm | Dona | Ansietat |
El problema: a un municipi petit com Sant Hilari Sacalm, la combinació (edat=34, municipi, sexe) pot identificar una persona concreta encara que s'hagi eliminat el nom.
Dataset
Dades 100% fictícies
El fitxer següent és íntegrament sintètic i generat aleatòriament: cap fila representa una persona real ni prové de cap hospital o centre de salut. S'ha construït únicament per practicar tècniques d'anonimització.
| Fitxer | Contingut | Files |
|---|---|---|
consultes_mediques.csv |
id_consulta, edat, municipi, sexe, diagnostic |
320 |
Tasca: explica el concepte de k-anonimat (que cada combinació d'atributs quasi-identificadors aparegui com a mínim k vegades al dataset) i proposa dues tècniques concretes per aconseguir un k-anonimat de, com a mínim, k=5 amb aquestes dades (per exemple, generalitzar l'edat en franges de 10 anys, o agrupar municipis petits en "comarca"). Comprova amb codi (pandas: groupby(["edat","municipi","sexe"]).size()) quin percentatge de combinacions de consultes_mediques.csv no compleix k=5 abans de generalitzar, i quant millora (o no) després d'aplicar les teves tècniques.
Dia 3 — Seguretat a nivell de fila (Row-Level Security)
Un metge de Sant Hilari Sacalm només ha de poder consultar les dades dels seus propis pacients, no de tots els pacients de la comarca.
-- PostgreSQL: activar RLS a la taula
ALTER TABLE consultes_mediques ENABLE ROW LEVEL SECURITY;
-- Política: un metge només veu les consultes on ell és el professional assignat
CREATE POLICY metge_nomes_seus_pacients ON consultes_mediques
FOR SELECT
USING (id_metge = current_setting('app.id_metge_actual')::int);
Tasca: explica què passaria si aquesta política no existís i qualsevol metge amb accés a la base de dades pogués fer un SELECT * FROM consultes_mediques sense filtre. Proposa una segona política de RLS per al cas d'un/a administratiu/va que necessita veure dades de facturació però no el contingut clínic de la consulta.
Dia 4 — Traçabilitat d'accessos (audit trail)
Tasca: dissenya l'esquema d'una taula log_accessos_dades_salut que registri, com a mínim: qui ha consultat quina dada, quan, i des de quina aplicació. Explica per què aquest registre ha de ser immutable (ningú, ni tan sols un administrador de sistemes, hauria de poder-lo modificar ni esborrar a posteriori) i quina tecnologia de les vistes al mòdul (per exemple, un format de taula amb time travel del Bloc 4) ajudaria a garantir-ho.
Lliurament
- Anàlisi de base legal i registre d'activitats (Dia 1).
- Proposta de k-anonimització amb k≥5 (Dia 2).
- Polítiques de Row-Level Security (Dia 3).
- Disseny de la taula d'auditoria immutable (Dia 4).
Mòdul M5074 Sistemes de Big Data | Institut Sa Palomera (Blanes) | Curs CEIABD 2026-2027