ANALISIS DEL SEGURO MEDICARE

Cesar Cam
BigDataLatam
Published in
7 min readNov 26, 2019

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

https://www.census.gov/

Programa Medicare

FUENTES DE INFORMACION

  1. Historia Clínica (tradicional o digital)
  2. Health Information System — HIS de cada clínica
  3. 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

REPORTE POWER BI

--

--