ANALISIS DEL SEGURO MEDICARE
RESUMEN EJECUTIVO
EL presente artículo tiene como propósito la aplicación de las técnicas y conocimientos del Big Data a un caso de uso. Para tal propósito se escogió al seguro médico MEDICARE de los EEUU por tratarse de una institución cuyos datos cumplen con los requisitos necesarios para este tipo de investigación y por ser una institución constantemente cuestionada en cuanto a costos y nivel de servicio.
CASO DE USO
Analizar los costos medios de los proveedores que pertenecen a la red de atención de Medicare, por tipo de diagnóstico hospitalario. Identificar los proveedores más caros de la red, para proponer posibles ajustes a sus tarifas o desvincularlos de la red de atención.
Identificar vía la frecuencia de atenciones y los montos asociados del seguro, los principales diagnósticos hospitalarios, para proponer deducibles especiales de modo que reduzca el costo del seguro y por tanto la prima que pagan los asegurados.
https://www.medicaid.gov/medicaid/data-and-systems/mita/index.html
En el plano nacional se puede hacer un caso de uso similar para Essalud, sobre todo ahora que se habla de fortalecer la institución.
POR QUÉ BIG DATA
VOLUMEN: Cuando nos referimos al volumen, estamos hablando de una gran cantidad de información. El Programa MEDICARE necesita saber con exactitud el mayor nivel de detalle posible de los costos que significan este tipo de pacientes hospitalizados y los diagnósticos asociados. La población adulta de los EEUU es de 326 millones de personas aproximadamente.
VARIEDAD: Diagnósticos asociados, descriptivos por sexo y Estado, Proveedor de servicios médicos y cargos promedio por cobertura.
VELOCIDAD: La velocidad nos dice que esta información debería procesarse de forma BATCH.
FUENTES DE DATA
La Data tiene dos fuentes :
US Census Bureau
Programa Medicare
FUENTES DE INFORMACION
- Historia Clínica (tradicional o digital)
- Health Information System — HIS de cada clínica
- Sistemas y Datos de Medicare
https://www.cms.gov/Research-Statistics-Data-and-Systems/Research-Statistics-Data-and-Systems
ARQUITECTURA CONCEPTUAL DE LA SOLUCION
ARQUITECTURA TECNOLOGICA DE LA SOLUCION
PERFILES Y PRESUPUESTO
Perfil Presupuesto (S/.)
Data Engineer 9,000
Data Scientist 12,000
Data Analyst 5,000
Total mensual: 26,000
Total periodo proyecto (6 meses) 156,000
INGESTA Y CREACION DE TABLAS
Creación de carpetas:
hdfs dfs -mkdir /datalake/
hdfs dfs -mkdir -p /datalake/landing/medicare/pagos
hdfs dfs -mkdir -p /datalake/transform/pagos_proveedor
hdfs dfs -mkdir -p /datalake/visual/costos_medios
hdfs dfs -mkdir -p /datalake/privacy/datos_proveedor
Ingesta de Datos:
hdfs dfs -put 01_Tabla01_Payments.csv /datalake/landing/medicare/pagos/
hdfs dfs -put 02_Tabla02_DRG.csv /datalake/landing/medicare/pagos/
hdfs dfs -put 03_Tabla03_ProviderName.csv /datalake/landing/medicare/pagos/
hdfs dfs -put 04_Tabla04_ProviderAddress.csv /datalake/landing/medicare/pagos/
hdfs dfs -ls /datalake/landing/medicare/pagos/
Reorganizar la data en carpetas dentro de la carpeta pagos:
hdfs dfs -mkdir -p /datalake/landing/medicare/pagos/pagos/
hdfs dfs -mkdir -p /datalake/landing/medicare/pagos/diagnosticos/
hdfs dfs -mkdir -p /datalake/landing/medicare/pagos/proveedor_nombres/
hdfs dfs -mkdir -p /datalake/landing/medicare/pagos/proveedor_directorio/
Mover los archivos en las nuevas carpetas:
hdfs dfs -mv /datalake/landing/medicare/pagos/01_Tabla01_Payments.csv /datalake/landing/medicare/pagos/pagos/
hdfs dfs -mv /datalake/landing/medicare/pagos/02_Tabla02_DRG.csv /datalake/landing/medicare/pagos/diagnosticos/
hdfs dfs -mv /datalake/landing/medicare/pagos/03_Tabla03_ProviderName.csv /datalake/landing/medicare/pagos/proveedor_nombres/
hdfs dfs -mv /datalake/landing/medicare/pagos/04_Tabla04_ProviderAddress.csv /datalake/landing/medicare/pagos/proveedor_directorio/
Linux cluster-proyectofinal-m 4.9.0–11-amd64 #1 SMP Debian 4.9.189–3+deb9u1 (2019–09–20) x86_64
The programs included with the Debian GNU/Linux system are free software;
the exact distribution terms for each program are described in the
individual files in /usr/share/doc/*/copyright.
Debian GNU/Linux comes with ABSOLUTELY NO WARRANTY, to the extent
permitted by applicable law.
/usr/bin/xauth: file /home/amasgo/.Xauthority does not exist
amasgo@cluster-proyectofinal-m:~$ clear
amasgo@cluster-proyectofinal-m:~$ hdfs dfs -mkdir /datalake/
amasgo@cluster-proyectofinal-m:~$ hdfs dfs -mkdir -p /datalake/landing/medicare/pagos
amasgo@cluster-proyectofinal-m:~$ hdfs dfs -mkdir -p /datalake/transform/pagos_proveedor
amasgo@cluster-proyectofinal-m:~$ hdfs dfs -mkdir -p /datalake/visual/costos_medios
amasgo@cluster-proyectofinal-m:~$ hdfs dfs -mkdir -p /datalake/privacy/datos_proveedor
amasgo@cluster-proyectofinal-m:~$ hdfs dfs -ls /datalake/
Found 4 items
drwxr-xr-x — amasgo hadoop 0 2019–11–18 01:40 /datalake/landing
drwxr-xr-x — amasgo hadoop 0 2019–11–18 01:40 /datalake/privacy
drwxr-xr-x — amasgo hadoop 0 2019–11–18 01:40 /datalake/transform
drwxr-xr-x — amasgo hadoop 0 2019–11–18 01:40 /datalake/visual
amasgo@cluster-proyectofinal-m:~$ pwd
/home/amasgo
amasgo@cluster-proyectofinal-m:~$ ls
01_Tabla01_Payments.csv 03_Tabla03_ProviderName.csv
02_Tabla02_DRG.csv 04_Tabla04_ProviderAddress.csv
amasgo@cluster-proyectofinal-m:~$ hdfs dfs -put 01_Tabla01_Payments.csv /datalake/landing/medicare/ pagos/
amasgo@cluster-proyectofinal-m:~$ hdfs dfs -put 02_Tabla02_DRG.csv /datalake/landing/medicare/pagos /
amasgo@cluster-proyectofinal-m:~$ hdfs dfs -put 03_Tabla03_ProviderName.csv /datalake/landing/medic are/pagos/
amasgo@cluster-proyectofinal-m:~$ hdfs dfs -put 04_Tabla04_ProviderAddress.csv /datalake/landing/me dicare/pagos/
amasgo@cluster-proyectofinal-m:~$ hdfs dfs -ls /datalake/landing/medicare/pagos/
Found 4 items
-rw-r — r — 2 amasgo hadoop 10722646 2019–11–18 02:12 /datalake/landing/medicare/pagos/01_Tabla0 1_Payments.csv
-rw-r — r — 2 amasgo hadoop 4595 2019–11–18 02:12 /datalake/landing/medicare/pagos/02_Tabla0 2_DRG.csv
-rw-r — r — 2 amasgo hadoop 123438 2019–11–18 02:12 /datalake/landing/medicare/pagos/03_Tabla0 3_ProviderName.csv
-rw-r — r — 2 amasgo hadoop 205124 2019–11–18 02:13 /datalake/landing/medicare/pagos/04_Tabla0 4_ProviderAddress.csv
amasgo@cluster-proyectofinal-m:~$ hdfs dfs -ls /datalake/landing/medicare/pagos/
Found 4 items
-rw-r — r — 2 amasgo hadoop 10722646 2019–11–18 02:12 /datalake/landing/medicare/pagos/01_Tabla01_Payments.csv
-rw-r — r — 2 amasgo hadoop 4595 2019–11–18 02:12 /datalake/landing/medicare/pagos/02_Tabla02_DRG.csv
-rw-r — r — 2 amasgo hadoop 123438 2019–11–18 02:12 /datalake/landing/medicare/pagos/03_Tabla03_ProviderName.csv
-rw-r — r — 2 amasgo hadoop 205124 2019–11–18 02:13 /datalake/landing/medicare/pagos/04_Tabla04_ProviderAddress.csv
amasgo@cluster-proyectofinal-m:~$ hdfs dfs -mkdir -p /datalake/landing/medicare/pagos/pagos/
amasgo@cluster-proyectofinal-m:~$ hdfs dfs -mkdir -p /datalake/landing/medicare/pagos/diagnosticos/
amasgo@cluster-proyectofinal-m:~$ hdfs dfs -mkdir -p /datalake/landing/medicare/pagos/proveedor_nombres/
amasgo@cluster-proyectofinal-m:~$ hdfs dfs -mkdir -p /datalake/landing/medicare/pagos/proveedor_directorio/
amasgo@cluster-proyectofinal-m:~$ hdfs dfs -mv /datalake/landing/medicare/pagos/01_Tabla01_Payments.csv /datalake/landing/medicare/pagos/pagos/
amasgo@cluster-proyectofinal-m:~$ hdfs dfs -mv /datalake/landing/medicare/pagos/02_Tabla02_DRG.csv /datalake/landing/medicare/pagos/diagnosticos/
amasgo@cluster-proyectofinal-m:~$ hdfs dfs -mv /datalake/landing/medicare/pagos/03_Tabla03_ProviderName.csv /datalake/landing/medicare/pagos/proveedor_nombres/
amasgo@cluster-proyectofinal-m:~$ hdfs dfs -mv /datalake/landing/medicare/pagos/04_Tabla04_ProviderAddress.csv /datalake/landing/medicare/pagos/proveedor_directorio/
amasgo@cluster-proyectofinal-m:~$
HIVE
Se inicia hive y se crea la base de datos.
Se crean las tablas:
· Medicare.Tabla01_Payments
· Medicare. Tabla02_DRG
· Medicare. Tabla03_ProviderName
· Medicare. Tabla04_ProviderAddress
CODIGO PARA LA CREACION DE TABLAS:
CREATE EXTERNAL TABLE IF NOT EXISTS Medicare.Tabla01_Payments(
DRG_ID int,
DRG_Definition string,
Provider_Id int,
Total_Discharges FLOAT,
Average_Total_Payments FLOAT,
Average_Medicare_Payments FLOAT)
COMMENT ‘Tabla de Pagos’
ROW FORMAT DELIMITED
FIELDS TERMINATED BY ‘,’
LINES TERMINATED BY ‘\n’
STORED AS TEXTFILE
LOCATION ‘/datalake/landing/mdeicare/pagos/pagos/’
tblproperties(“skip.header.line.count” = “1”)
CREATE EXTERNAL TABLE IF NOT EXISTS Medicare.Tabla02_DRG(
DRG_ID int,
DRG_Definition string)
COMMENT ‘Tabla De Diagnosticos’
ROW FORMAT DELIMITED
FIELDS TERMINATED BY ‘,’
LINES TERMINATED BY ‘\n’
STORED AS TEXTFILE
LOCATION ‘/datalake/landing/medicare/pagos/diagnosticos/’
tblproperties(“skip.header.line.count” = “1”)
CREATE EXTERNAL TABLE IF NOT EXISTS Medicare.Tabla03_ProviderName(
Provider_Id INT,
provider_Name STRING
)
COMMENT ‘Tabla De Diagnosticos’
ROW FORMAT DELIMITED
FIELDS TERMINATED BY ‘,’
LINES TERMINATED BY ‘\n’
STORED AS TEXTFILE
LOCATION ‘/datalake/landing/medicare/pagos/proveedor_nombres/’
tblproperties(“skip.header.line.count” = “1”)
CREATE EXTERNAL TABLE IF NOT EXISTS Medicare.Tabla04_ProviderAddress(
Provider_Id int,
Provider_Street_Address string,
Provider_City string,
Provider_State string,
Provider_Zip_Code string,
Hospital_Referral_Region_Description string
)
COMMENT ‘Tabla De Diagnosticos’
ROW FORMAT DELIMITED
FIELDS TERMINATED BY ‘,’
LINES TERMINATED BY ‘\n’
STORED AS TEXTFILE
LOCATION ‘/datalake/landing/medicare/pagos/proveedor_directorio/’
tblproperties(“skip.header.line.count” = “1”)
Creación de esturcturas complejas:
HDFS:
hdfs dfs -mkdir /datalake/landing/medicare/pagos/proveedor_directorio/STRUCT
hdfs dfs -put 04_Tabla04_ProviderAddress_Struct.csv /datalake/landing/medicare/pagos/proveedor_directorio/STRUCT/
Tabla Hive:
CREATE EXTERNAL TABLE IF NOT EXISTS Medicare.Tabla04_ProviderAddress_Struct(
Provider_Id int,
Provider_Street_Address string,
Provider_City string,
Provider_State string,
Provider_Zip_Code string,
Hospital_Referral_Region_Description string,
Zip_Code_Hospital_Referral struct<Provider_Zip_Code:STRING,Hospital_Referral_Region_Description:string>
)
COMMENT ‘Tabla Directorio de Proveedores’
ROW FORMAT DELIMITED
FIELDS TERMINATED BY ‘,’
COLLECTION ITEMS TERMINATED BY ‘|’
MAP KEYS TERMINATED BY ‘:’
LOCATION ‘/datalake/landing/medicare/pagos/proveedor_directorio/STRUCT/’
tblproperties(“skip.header.line.count” = “1”);
EXPLOTACION DE LOS DATOS
DIAGNOSTICOS HOSPITALARIOS Y PROVEEDORES DE MAYOR CONSUMO
CENTROS HOSPITALARIOS MAS COSTOSOS