I'm working on data mining from Electronic Health Records for my research. I've got a bunch of PDF files with lab results and patient data, which I can't seem to process it properly into a data frame.
I've used library(pdftools), as recommended by previous topics on the same subject, but I need a clue on how to proceed from here.
library(tidyverse)
library(pdftools)
library(tidyverse)
UC_text <- pdf_text("teste01.pdf") %>% readr:: read_lines()
edit: as suggested below, I'm pasting dput(UC_text)instead
dput(UC_text)
c("GLICOSE 77 mg/dL (21/04/2018): 77 (06/01/2017): 79 (01/11/2014): 73",
"Amostra: Soro", "Método: Enzimático Automatizado", "Valores de referência em jejum: 70 a 99 mg/dL",
"(Conforme Diretrizes da Sociedade Brasileira de Diabetes - 2019- 2020)",
"Data da Colheita/Recebimento: 05/02/2020 Horário da Colheita/Recebimento: 07:47:03",
"Data da Liberação do Resultado: 05/02/2020 Horário da Liberação do Resultado: 09:49:05",
"SUPRESSED INFO",
"UREIA 27 mg/dL",
"Amostra: Soro", "Método: Enzimático Automatizado", "Valores de Referência: 15 a 45 mg/dL",
"(valor para a faixa etária deste paciente)", "Data da Colheita/Recebimento: 05/02/2020 Horário da Colheita/Recebimento: 07:47:03",
"Data da Liberação do Resultado: 05/02/2020 Horário da Liberação do Resultado: 09:49:06",
"SUPRESSED INFO",
"CREATININA 0,87 mg/dL",
"Amostra: Soro", "Método: Cinético Automatizado", "Valores de Referência: 0,3 a 1,3 mg/dL ( IFCC )",
"(Valores para a faixa etária deste paciente)", "Data da Colheita/Recebimento: 05/02/2020 Horário da Colheita/Recebimento: 07:47:03",
"Data da Liberação do Resultado: 05/02/2020 Horário da Liberação do Resultado: 09:49:05",
"CONFERÊNCIA E LIBERAÇÃO ELETRÔNICA: AMANDA DA SILVA CURTO - CRBM 5 - 1966",
"ÁCIDO ÚRICO 5,2 mg/dL",
"Amostra: Soro", "Método: Enzimático Automatizado", "Valores de Referência: Homens: 3,7 a 9,2 mg/dL",
" Mulheres: 3,1 a 7,8 mg/dL", "Data da Colheita/Recebimento: 05/02/2020 Horário da Colheita/Recebimento: 07:47:03",
"Data da Liberação do Resultado: 05/02/2020 Horário da Liberação do Resultado: 09:49:04",
"SUPRESSED INFO")
I'm interested in creating a data frame in which each exam type and its correspondent information is a column and each row correspond to each patient id and each cell is the value result of said exam with its correspondent values, e.g.
id_patient dt_colct time_colct de_exame_type de_analito de_result cd_unidade
<chr> <chr> <chr> <chr> <chr> <chr> <chr>
1 1d71815e54… 15/05/20… 07:47:03 Glicose… Soro… 120 µL
2 d9775c209f… 14/04/20… 07:47:03 UreiaT… Nitrito Negativo NULL
3 d9775c209f… 07/04/20… 07:47:03 Creati… Neutrófil… 96.0 %
4 d9775c209f… 09/04/20… 07:47:03 Acido.… Saturação… 97.8 %
5 d9775c209f… 13/04/20… 07:47:03 Diferen… Monócitos… 1673 µL
6 d9775c209f… 17/04/20… 07:47:03 Hemogra… Eosinófil… 0.1 %
I've tried first separating into different values by using
UC_text[c(1, 6, 7, 9, 10, 14, 17,18, 25, 26, 29)] %>% str_squish()
which gives
[1] "GLICOSE 77 mg/dL (21/04/2018): 77 (06/01/2017): 79 (01/11/2014): 73"
[2] "Data da Colheita/Recebimento: 05/02/2020 Horário da Colheita/Recebimento: 07:47:03"
[3] "Data da Liberação do Resultado: 05/02/2020 Horário da Liberação do Resultado: 09:49:05"
[4] "UREIA 27 mg/dL"
[5] "Amostra: Soro"
[6] "Data da Colheita/Recebimento: 05/02/2020 Horário da Colheita/Recebimento: 07:47:03"
[7] "CREATININA 0,87 mg/dL"
[8] "Amostra: Soro"
[9] "ÁCIDO ÚRICO 5,2 mg/dL"
[10] "Amostra: Soro"
[11] "Mulheres: 3,1 a 7,8 mg/dL"
but I'm lost from here. Can anyone shed a light in here?