Este relatório sintetiza achados do Projeto BACO, cujo objetivo é avaliar o uso de novas substâncias psicoativas (NSP) em festas e festivais a partir da análise de amostras de fluido oral (saliva). Pretende-se, ainda, que os dados produzidos sejam divulgados de forma sistemática e integrem o painel de dados do Observatório Brasileiro de Informações sobre Drogas (Obid), com o intuito de ampliar a disponibilidade de evidências para a formulação, o monitoramento e o aprimoramento de políticas públicas na área.
Unidade de análise. As estatísticas referem-se às amostras coletadas em eventos identificados por código. Os resultados laboratoriais foram harmonizados para detectar presença/ausência por analito (ex.: DETECTADO vs ND), e integrados a variáveis do formulário (sexo, idade, autorrelato de uso e tempo desde o uso).
Objetos de interesse. - Prevalência/positividade por analito e por grupo farmacológico (Clássicas, Catinonas sintéticas, Canabinoides sintéticos, NBOMe/NBOH, Dissociativos, etc.). - Composição por evento (códigos) e co‑detecções (pares mais frequentes). - Concordância entre autorrelato de uso e detecção laboratorial. - Painel de sinais de alarme orientado pelos grupos mais prevalentes por evento.
Nota ética e de privacidade: relatório destinado a uso técnico; não contém informações de identificação pessoal. Resultados agregados devem ser preferidos para divulgação pública.
pacman::p_load(
openxlsx, readxl, readr, stringi, stringr, dplyr, tidyr, purrr,
janitor, lubridate, forcats, data.table, rstudioapi, DiagrammeR, flextable,
ggplot2, plotly, kableExtra, knitr, htmltools, RColorBrewer, viridisLite, bslib
)
options(
scipen = 999,
dplyr.summarise.inform = FALSE
)
knitr::opts_chunk$set(echo = FALSE, message = FALSE, warning = FALSE)
Sys.setlocale("LC_CTYPE", "pt_BR.UTF-8")
## [1] "pt_BR.UTF-8"
## Resultados (original):
## C:/Users/paula.barros/OneDrive - MINISTERIO DA JUSTIÇA/portal_obid/dados_obid/bases/BACO/resultados_amostra_baco_eventos_1_9.xlsx
## Resultados (fix):
## C:/Users/paula.barros/OneDrive - MINISTERIO DA JUSTIÇA/portal_obid/dados_obid/bases/BACO/resultados_amostra_baco_eventos_1_9.xlsx
## Formulário (original):
## C:/Users/paula.barros/OneDrive - MINISTERIO DA JUSTIÇA/portal_obid/dados_obid/bases/BACO/formulario_coleta_baco_eventos_1_9.xlsx
## Formulário (fix):
## C:/Users/paula.barros/OneDrive - MINISTERIO DA JUSTIÇA/portal_obid/dados_obid/bases/BACO/formulario_coleta_baco_eventos_1_9.xlsx
## $resultados_cols
## [1] "amostra" "codigo_evento"
## [3] "nicotina" "cocaina"
## [5] "benzoilecgonina" "norcocaina"
## [7] "cocaetileno" "aeme"
## [9] "anfetamina" "mdma"
## [11] "mda" "mdea_mddma_isomeros"
## [13] "bk_dmbdp_dipentilona" "metanfetamina"
## [15] "pentilona_dibutilona_isomeros" "metilona"
## [17] "thc" "canabinol"
## [19] "canabidiol" "x25b_nboh"
## [21] "lsd" "mdmb_4en_pinaca"
## [23] "adb_binaca_adb_butinaca" "x5f_emb_pica"
## [25] "x2_fluorodeschloroketamine_2_fdck" "deschloroketamine"
## [27] "ketamina" "x6_hidroxinorketamina"
## [29] "norketamina" "dmt"
## [31] "metilfenidato" "x25e_nboh"
## [33] "psilocina" "adb_4en_pinaca"
## [35] "x25c_nboh" "femproporex"
## [37] "lidocaina" "sertralina"
## [39] "fluoxetina" "bupropiona"
## [41] "desmetilvenlafaxina" "venlafaxina"
## [43] "trazodona" "m_cpp_metabolito_trazodona"
## [45] "paroxetina" "alprazolam"
## [47] "midazolam" "clonazepam_48"
## [49] "x7_aminoclonazepam" "diazepam"
## [51] "nordiazepam" "citalopram"
## [53] "desmetilcitalopram" "clorfeniramina"
## [55] "nafazolina" "hidroxizina"
## [57] "dimenidrinato" "x10_11_epoxi_carbamazepina"
## [59] "carbamazepine" "meprobamato"
## [61] "amitriptilina" "nortriptilina"
## [63] "mirtazapina" "quetiapina"
## [65] "tramadol" "desmetiltramadol"
## [67] "zolpidem" "ciclobenzaprina"
## [69] "cloroquina" "carisoprodol"
## [71] "ondansetrona" "risperidona"
## [73] "x9_hidroxi_risperidona" "zopiclona"
## [75] "oxazepam" "clonazepam_76"
## [77] "norfluoxetina" "lamotrigina"
## [79] "clozapina" "clomipramina"
## [81] "codeina" "prometazina"
## [83] "naloxona" "sibutramina"
## [85] "x85"
##
## $formulario_cols
## [1] "id_da_amostra"
## [2] "codigo_do_evento"
## [3] "sexo"
## [4] "idade"
## [5] "orientacao_sexual"
## [6] "escolaridade"
## [7] "e_usuario_de_substancias_psicoativas_ilicitas"
## [8] "ultimo_uso_de_substancia_psicoativa_ilicita_exceto_maconha"
## [9] "qual_is_substancia_s_psicoativa_s_fez_uso_hoje"
## [10] "qual_is_substancia_s_psicoativa_s_fez_uso_hoje_nome_padronizado_da_substancia_esperada"
## [11] "estimativa_do_tempo_decorrido_do_uso"
## [12] "coletor_quantisal_ficou_azul"
##
## $dim_resultados
## [1] 1081 85
##
## $dim_form
## [1] 1076 12
amostra | codigo_evento | nicotina | cocaina | benzoilecgonina | norcocaina | cocaetileno | aeme | anfetamina | mdma | mda | mdea_mddma_isomeros | bk_dmbdp_dipentilona | metanfetamina | pentilona_dibutilona_isomeros | metilona | thc | canabinol | canabidiol | x25b_nboh | lsd | mdmb_4en_pinaca | adb_binaca_adb_butinaca | x5f_emb_pica | x2_fluorodeschloroketamine_2_fdck | deschloroketamine | ketamina | x6_hidroxinorketamina | norketamina | dmt | metilfenidato | x25e_nboh | psilocina | adb_4en_pinaca | x25c_nboh | femproporex | lidocaina | sertralina | fluoxetina | bupropiona | desmetilvenlafaxina | venlafaxina | trazodona | m_cpp_metabolito_trazodona | paroxetina | alprazolam | midazolam | clonazepam_48 | x7_aminoclonazepam | diazepam | nordiazepam | citalopram | desmetilcitalopram | clorfeniramina | nafazolina | hidroxizina | dimenidrinato | x10_11_epoxi_carbamazepina | carbamazepine | meprobamato | amitriptilina | nortriptilina | mirtazapina | quetiapina | tramadol | desmetiltramadol | zolpidem | ciclobenzaprina | cloroquina | carisoprodol | ondansetrona | risperidona | x9_hidroxi_risperidona | zopiclona | oxazepam | clonazepam_76 | norfluoxetina | lamotrigina | clozapina | clomipramina | codeina | prometazina | naloxona | sibutramina | x85 |
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
OFL0001 | #001 | Não avaliado | ND | ND | ND | ND | ND | ND | ND | ND | ND | ND | ND | ND | ND | ND | ND | ND | ND | ND | ND | ND | ND | ND | ND | ND | ND | ND | ND | ND | ND | ND | ND | ND | ND | ND | ND | ND | ND | ND | ND | ND | ND | ND | ND | ND | ND | ND | ND | ND | ND | ND | ND | ND | ND | ND | ND | ND | ND | ND | ND | ND | ND | ND | ND | ND | ND | ND | ND | ND | ND | ND | ND | ND | ND | ND | ND | ND | ND | ND | ND | ND | ND | |
OFL0002 | #001 | Não avaliado | ND | ND | ND | ND | ND | ND | ND | DETECTADO | ND | ND | ND | ND | ND | DETECTADO | ND | ND | ND | ND | ND | ND | ND | ND | ND | ND | ND | ND | ND | ND | ND | ND | ND | ND | ND | ND | ND | ND | ND | ND | ND | ND | ND | ND | ND | ND | ND | ND | ND | ND | ND | ND | ND | ND | ND | ND | ND | ND | ND | ND | ND | ND | ND | ND | ND | ND | ND | ND | ND | ND | ND | ND | ND | ND | ND | ND | ND | ND | ND | ND | ND | ND | ND | |
OFL0003 | #001 | Não avaliado | ND | ND | ND | ND | ND | ND | DETECTADO | DETECTADO | ND | ND | ND | ND | ND | ND | ND | ND | ND | ND | ND | ND | ND | ND | ND | ND | ND | ND | ND | ND | ND | ND | ND | ND | ND | ND | ND | ND | ND | ND | ND | ND | ND | ND | ND | ND | ND | ND | ND | ND | ND | ND | ND | ND | ND | ND | ND | ND | ND | ND | ND | ND | ND | ND | ND | ND | ND | ND | ND | ND | ND | ND | ND | ND | ND | ND | ND | ND | ND | ND | ND | ND | ND | |
OFL0004 | #001 | Não avaliado | DETECTADO | ND | ND | DETECTADO | ND | ND | DETECTADO | DETECTADO | ND | ND | ND | ND | ND | DETECTADO | DETECTADO | ND | DETECTADO | ND | ND | ND | ND | ND | ND | ND | ND | ND | ND | ND | ND | ND | ND | ND | ND | ND | ND | ND | ND | ND | ND | ND | ND | ND | ND | ND | ND | ND | ND | ND | ND | ND | ND | ND | ND | ND | ND | ND | ND | ND | ND | ND | ND | ND | ND | ND | ND | ND | ND | ND | ND | ND | ND | ND | ND | ND | ND | ND | ND | ND | ND | ND | ND | |
OFL0005 | #001 | Não avaliado | DETECTADO | ND | ND | DETECTADO | ND | ND | ND | DETECTADO | ND | ND | ND | ND | ND | DETECTADO | DETECTADO | ND | ND | DETECTADO | ND | ND | ND | ND | ND | ND | ND | ND | ND | ND | ND | ND | ND | ND | ND | ND | ND | ND | ND | ND | ND | ND | ND | ND | ND | ND | ND | ND | ND | ND | ND | ND | ND | ND | ND | ND | ND | ND | ND | ND | ND | ND | ND | ND | ND | ND | ND | ND | ND | ND | ND | ND | ND | ND | ND | ND | ND | ND | ND | ND | ND | ND | ND | |
OFL0006 | #001 | Não avaliado | DETECTADO | ND | ND | ND | ND | ND | ND | DETECTADO | ND | ND | ND | ND | ND | DETECTADO | DETECTADO | ND | ND | DETECTADO | ND | ND | ND | ND | ND | ND | ND | ND | ND | ND | ND | ND | ND | ND | ND | ND | ND | ND | ND | ND | ND | ND | ND | ND | ND | ND | ND | ND | ND | ND | ND | ND | ND | ND | ND | ND | ND | ND | ND | ND | ND | ND | ND | ND | ND | ND | ND | ND | ND | ND | ND | ND | ND | ND | ND | ND | ND | ND | ND | ND | ND | ND | ND | |
OFL0007 | #001 | Não avaliado | ND | ND | ND | ND | ND | ND | ND | DETECTADO | ND | ND | ND | ND | ND | ND | DETECTADO | ND | DETECTADO | DETECTADO | ND | ND | ND | ND | ND | ND | ND | ND | ND | ND | ND | ND | ND | ND | ND | ND | ND | ND | ND | ND | ND | ND | ND | ND | ND | ND | ND | ND | ND | ND | ND | ND | ND | ND | ND | ND | ND | ND | ND | ND | ND | ND | ND | ND | ND | ND | ND | ND | ND | ND | ND | ND | ND | ND | ND | ND | ND | ND | ND | ND | ND | ND | ND | |
OFL0008 | #001 | Não avaliado | ND | ND | ND | ND | ND | ND | ND | ND | ND | ND | ND | ND | ND | ND | ND | ND | ND | ND | ND | ND | ND | ND | ND | ND | ND | ND | ND | ND | ND | ND | ND | ND | ND | ND | ND | ND | ND | ND | ND | ND | ND | ND | ND | ND | ND | ND | ND | ND | ND | ND | ND | ND | ND | ND | ND | ND | ND | ND | ND | ND | ND | ND | ND | ND | ND | ND | ND | ND | ND | ND | ND | ND | ND | ND | ND | ND | ND | ND | ND | ND | ND | |
OFL0009 | #001 | Não avaliado | ND | ND | ND | ND | ND | ND | ND | ND | ND | ND | ND | ND | ND | ND | ND | ND | ND | ND | ND | ND | ND | ND | ND | ND | ND | ND | ND | ND | ND | ND | ND | ND | ND | ND | ND | ND | ND | ND | ND | ND | ND | ND | ND | ND | ND | ND | ND | ND | ND | ND | ND | ND | ND | ND | ND | ND | ND | ND | ND | ND | ND | ND | ND | ND | ND | ND | ND | ND | ND | ND | ND | ND | ND | ND | ND | ND | ND | ND | ND | ND | ND | |
OFL0010 | #001 | Não avaliado | DETECTADO | ND | ND | DETECTADO | ND | ND | ND | DETECTADO | ND | ND | ND | ND | ND | DETECTADO | ND | ND | ND | DETECTADO | ND | ND | ND | ND | ND | ND | ND | ND | ND | ND | ND | ND | ND | ND | ND | ND | ND | ND | ND | ND | ND | ND | ND | ND | ND | ND | ND | ND | ND | ND | ND | ND | ND | ND | ND | ND | ND | ND | ND | ND | ND | ND | ND | ND | ND | ND | ND | ND | ND | ND | ND | ND | ND | ND | ND | ND | ND | ND | ND | ND | ND | ND | ND | |
OFL0011 | #002 | Não avaliado | ND | ND | ND | ND | ND | ND | ND | ND | ND | ND | ND | ND | ND | ND | ND | ND | ND | ND | ND | ND | ND | ND | ND | ND | ND | ND | ND | ND | ND | ND | ND | ND | ND | ND | ND | ND | ND | ND | ND | ND | ND | ND | ND | ND | ND | ND | ND | ND | ND | ND | ND | ND | ND | ND | ND | ND | ND | ND | ND | ND | ND | ND | ND | ND | ND | ND | ND | ND | ND | ND | ND | ND | ND | ND | ND | ND | ND | ND | ND | ND | ND | |
OFL0012 | #002 | Não avaliado | ND | ND | ND | ND | ND | ND | ND | DETECTADO | ND | ND | ND | ND | ND | ND | ND | ND | ND | ND | ND | ND | ND | ND | ND | ND | ND | ND | ND | ND | ND | ND | ND | ND | ND | ND | ND | ND | ND | ND | ND | ND | ND | ND | ND | ND | ND | ND | ND | ND | ND | ND | ND | ND | ND | ND | ND | ND | ND | ND | ND | ND | ND | ND | ND | ND | ND | ND | ND | ND | ND | ND | ND | ND | ND | ND | ND | ND | ND | ND | ND | ND | ND | |
OFL0013 | #002 | Não avaliado | ND | ND | ND | ND | ND | ND | ND | DETECTADO | ND | ND | ND | ND | ND | ND | ND | ND | ND | ND | ND | ND | ND | ND | ND | ND | ND | ND | ND | ND | ND | ND | ND | ND | ND | ND | ND | ND | ND | ND | ND | ND | ND | ND | ND | ND | ND | ND | ND | ND | ND | ND | ND | ND | ND | ND | ND | ND | ND | ND | ND | ND | ND | ND | ND | ND | ND | ND | ND | ND | ND | ND | ND | ND | ND | ND | ND | ND | ND | ND | ND | ND | ND | |
OFL0014 | #002 | Não avaliado | ND | ND | ND | ND | ND | ND | ND | ND | ND | ND | ND | ND | ND | ND | ND | ND | ND | ND | ND | ND | ND | ND | ND | ND | ND | ND | ND | ND | ND | ND | ND | ND | ND | ND | ND | ND | ND | ND | ND | ND | ND | ND | ND | ND | ND | ND | ND | ND | ND | ND | ND | ND | ND | ND | ND | ND | ND | ND | ND | ND | ND | ND | ND | ND | ND | ND | ND | ND | ND | ND | ND | ND | ND | ND | ND | ND | ND | ND | ND | ND | ND | |
OFL0015 | #002 | Não avaliado | ND | ND | ND | ND | ND | ND | ND | ND | ND | ND | ND | ND | ND | ND | ND | ND | ND | ND | ND | ND | ND | ND | ND | ND | ND | ND | ND | ND | ND | ND | ND | ND | ND | ND | ND | ND | ND | ND | ND | ND | ND | ND | ND | ND | ND | ND | ND | ND | ND | ND | ND | ND | ND | ND | ND | ND | ND | ND | ND | ND | ND | ND | ND | ND | ND | ND | ND | ND | ND | ND | ND | ND | ND | ND | ND | ND | ND | ND | ND | ND | ND | |
OFL0016 | #002 | Não avaliado | ND | ND | ND | ND | ND | ND | ND | ND | ND | ND | ND | ND | ND | ND | ND | ND | ND | ND | ND | ND | ND | ND | ND | ND | ND | ND | ND | ND | ND | ND | ND | ND | ND | ND | DETECTADO | ND | ND | ND | ND | ND | ND | ND | ND | ND | ND | ND | ND | ND | ND | ND | ND | ND | ND | ND | ND | ND | ND | ND | ND | ND | ND | ND | ND | ND | ND | ND | ND | ND | ND | ND | ND | ND | ND | ND | ND | ND | ND | ND | ND | ND | ND | |
OFL0017 | #002 | Não avaliado | ND | ND | ND | ND | ND | ND | ND | DETECTADO | ND | DETECTADO | ND | ND | ND | DETECTADO | DETECTADO | ND | ND | ND | ND | ND | ND | ND | ND | ND | ND | ND | ND | ND | ND | ND | ND | ND | ND | ND | ND | ND | ND | ND | ND | ND | ND | ND | ND | ND | ND | ND | ND | ND | ND | ND | ND | ND | ND | ND | ND | ND | ND | ND | ND | ND | ND | ND | ND | ND | ND | ND | ND | ND | ND | ND | ND | ND | ND | ND | ND | ND | ND | ND | ND | ND | ND | |
OFL0018 | #002 | Não avaliado | ND | ND | ND | ND | ND | ND | ND | ND | ND | ND | ND | ND | ND | ND | ND | ND | ND | ND | ND | ND | ND | ND | ND | ND | ND | ND | ND | ND | ND | ND | ND | ND | ND | ND | ND | ND | ND | ND | ND | ND | ND | ND | ND | ND | ND | ND | ND | ND | ND | ND | ND | ND | ND | ND | ND | ND | ND | ND | ND | ND | ND | ND | ND | ND | ND | ND | ND | ND | ND | ND | ND | ND | ND | ND | ND | ND | ND | ND | ND | ND | ND | |
OFL0019 | #002 | Não avaliado | ND | ND | ND | ND | ND | ND | ND | ND | ND | ND | ND | ND | ND | ND | ND | ND | ND | ND | ND | ND | ND | ND | ND | ND | ND | ND | ND | ND | ND | ND | ND | ND | ND | ND | ND | ND | ND | ND | ND | ND | ND | ND | ND | ND | ND | ND | ND | ND | ND | ND | ND | ND | ND | ND | ND | ND | ND | ND | ND | ND | ND | ND | ND | ND | ND | ND | ND | ND | ND | ND | ND | ND | ND | ND | ND | ND | ND | ND | ND | ND | ND | |
OFL0020 | #002 | Não avaliado | ND | ND | ND | ND | ND | ND | ND | ND | ND | ND | ND | ND | ND | ND | ND | ND | ND | ND | ND | ND | ND | ND | ND | ND | ND | ND | ND | ND | ND | ND | ND | ND | ND | ND | ND | ND | ND | ND | ND | ND | ND | ND | ND | ND | ND | ND | ND | ND | ND | ND | ND | ND | ND | ND | ND | ND | ND | ND | ND | ND | ND | ND | ND | ND | ND | ND | ND | ND | ND | ND | ND | ND | ND | ND | ND | ND | ND | ND | ND | ND | ND |
A etapa de harmonização e estruturação dos dados tem como objetivo transformar os arquivos brutos do laboratório (raw_resultados) e do formulário aplicado em campo (raw_form) em uma base analítica única, a fim de realizar os cruzamentos entre perfil dos participantes e resultados das análises de fluido oral.
Primeiro, são realizados procedimentos de limpeza e padronização de nomes de variáveis em ambas as bases, incluindo a remoção de colunas totalmente vazias ou identificadas como placeholders (por exemplo, colunas “Unnamed” geradas por planilhas). Essa etapa garante que apenas informações efetivamente preenchidas sejam mantidas, reduzindo o ruído e o risco de erros nas etapas seguintes.
Em seguida, o script identifica de forma robusta e tolerante a variações de nomenclatura as colunas que funcionam como chaves de vinculação entre as bases: o identificador da amostra e o código do evento. Essa detecção é feita por meio de padrões de texto (expressões regulares), o que permite acomodar diferenças como “amostra”, “id_da_amostra” ou “amostra_id” sem necessidade de intervenção manual. Uma vez identificadas, essas chaves são normalizadas (remoção de espaços, conversão para maiúsculas) e reorganizadas para ocupar posição de destaque na base de resultados.
Na sequência, os resultados laboratoriais por analito são reorganizados de formato wide para formato long, de modo que cada linha passe a representar a combinação “amostra–analito–status”. Os diferentes rótulos utilizados pelo laboratório (por exemplo, “Detectado”, “Positivo”, “ND”, “Não Detectado”) são mapeados para categorias padronizadas (“DETECTADO” e “ND”), com uma regra explícita para tratar informações não avaliadas ou não testadas como ausentes. A partir desse status padronizado, é criada uma variável binária (positivo), que assume valor 1 para analitos detectados e 0 nos demais casos. Essa estrutura facilita tanto os cálculos de frequência quanto os modelos de co-ocorrência entre substâncias.
A partir da base longa, duas estruturas complementares são derivadas. A primeira é uma matriz binária em formato largo, em que cada analito passa a ser uma coluna com valores 0/1 por amostra, permitindo análises de co-ocorrência e perfis de combinação de substâncias. A segunda é uma base agregada por amostra, que sintetiza, para cada amostra e evento, o número total de analitos detectados (qtd_positivos) e um indicador lógico (qualquer_positivo) que sinaliza se houve ao menos um resultado positivo.
Paralelamente, a base do formulário é enxugada em um objeto form_slim, que seleciona apenas as variáveis de interesse analítico (sexo, idade, orientação sexual, escolaridade, uso de substâncias ilícitas, tempo desde o último uso, informações sobre consumo no dia do evento, entre outras). A seleção dessas colunas também é feita de forma tolerante a variações de texto, utilizando padrões que buscam termos-chave (por exemplo, “orientação sexual”, “fez uso hoje”, “quantisal azul”). Nos casos em que determinada coluna não exista na versão específica do formulário, o campo correspondente é preenchido com valores ausentes, preservando a estrutura da base.
Por fim, a base agregada de resultados laboratoriais é vinculada ao formulário por meio das chaves normalizadas (amostra e codigo_evento). O produto dessa etapa é a base_mestra, que reúne, em uma mesma tabela, o resumo da positividade por amostra, as variáveis sociodemográficas e de comportamento autorreferidas e a matriz binária de presença/ausência de cada analito. O script também gera mensagens de diagnóstico sobre o número de linhas em cada base e sobre eventuais amostras sem par (amostras presentes em resultados, mas não no formulário, e vice-versa), o que auxilia na auditoria da qualidade do linkage e na identificação de perdas ou inconsistências na cadeia de registro dos dados.
## ✓ Linhas em resultados: 1081
## ✓ Linhas no formulário: 1076
## ✓ Amostras após o join: 1081
## ✓ Amostras com sexo inf.: 0
## ✓ Amostras com idade inf.: 0
Antes de avançar para as análises propriamente ditas, é necessário agrupar os analitos em categorias farmacológicas que façam sentido do ponto de vista epidemiológico e de comunicação de risco. Em vez de trabalhar substância a substância, o relatório passa a operar com grupos de interesse – por exemplo, canabinoides sintéticos, catinonas sintéticas, clássicas estimulantes/psicodélicas, cocaínicos, dissociativos, entre outros. Isso permite tanto uma leitura mais sintética dos resultados quanto a construção de painéis de “sinais de alerta” por família de substâncias, o que é particularmente útil para fins de vigilância e prevenção.
No chunk abaixo, cada analito é mapeado para um único grupo principal, a partir de regras baseadas em expressões regulares (regex) que procuram palavras-chave no nome padronizado do analito. A ordem dos grupos na lista define a prioridade: ao encontrar a primeira correspondência, o analito é atribuído àquele grupo. Analitos que não se encaixarem em nenhum padrão específico são classificados provisoriamente como “Outros/indefinidos”, funcionando como uma categoria de estacionamento que pode ser revisada à medida que novas rodadas de curadoria forem feitas.
| analito | grupo |
|---|---|
| nicotina | Outros/indefinidos |
| cocaina | Cocaínicos |
| benzoilecgonina | Cocaínicos |
| norcocaina | Cocaínicos |
| cocaetileno | Cocaínicos |
| aeme | Cocaínicos |
| anfetamina | Clássicas (estimulantes/psicodélicas) |
| mdma | Clássicas (estimulantes/psicodélicas) |
| mda | Clássicas (estimulantes/psicodélicas) |
| mdea mddma isomeros | Clássicas (estimulantes/psicodélicas) |
| bk dmbdp dipentilona | Catinonas sintéticas (NSP) |
| metanfetamina | Clássicas (estimulantes/psicodélicas) |
| pentilona dibutilona isomeros | Catinonas sintéticas (NSP) |
| metilona | Outros/indefinidos |
| thc | Canabinoides (clássicos) |
| canabinol | Canabinoides (clássicos) |
| canabidiol | Canabinoides (clássicos) |
| x25b nboh | Feniletilaminas NBOMe/NBOH (NSP) |
| lsd | Clássicas (estimulantes/psicodélicas) |
| mdmb 4en pinaca | Canabinoides sintéticos (NSP) |
| adb binaca adb butinaca | Canabinoides sintéticos (NSP) |
| x5f emb pica | Outros/indefinidos |
| x2 fluorodeschloroketamine 2 fdck | Dissociativos |
| deschloroketamine | Dissociativos |
| ketamina | Dissociativos |
| x6 hidroxinorketamina | Dissociativos |
| norketamina | Dissociativos |
| dmt | Tryptaminas |
| metilfenidato | Clássicas (estimulantes/psicodélicas) |
| x25e nboh | Feniletilaminas NBOMe/NBOH (NSP) |
| psilocina | Tryptaminas |
| adb 4en pinaca | Canabinoides sintéticos (NSP) |
| x25c nboh | Feniletilaminas NBOMe/NBOH (NSP) |
| femproporex | Outros/indefinidos |
| lidocaina | Outros/indefinidos |
| sertralina | Outros/indefinidos |
| fluoxetina | Outros/indefinidos |
| bupropiona | Outros/indefinidos |
| desmetilvenlafaxina | Outros/indefinidos |
| venlafaxina | Outros/indefinidos |
| trazodona | Outros/indefinidos |
| m cpp metabolito trazodona | Outros/indefinidos |
| paroxetina | Outros/indefinidos |
| alprazolam | Outros/indefinidos |
| midazolam | Outros/indefinidos |
| clonazepam 48 | Outros/indefinidos |
| x7 aminoclonazepam | Outros/indefinidos |
| diazepam | Outros/indefinidos |
| nordiazepam | Outros/indefinidos |
| citalopram | Outros/indefinidos |
| desmetilcitalopram | Outros/indefinidos |
| clorfeniramina | Outros/indefinidos |
| nafazolina | Outros/indefinidos |
| hidroxizina | Outros/indefinidos |
| dimenidrinato | Outros/indefinidos |
| x10 11 epoxi carbamazepina | Outros/indefinidos |
| carbamazepine | Outros/indefinidos |
| meprobamato | Outros/indefinidos |
| amitriptilina | Outros/indefinidos |
| nortriptilina | Outros/indefinidos |
| mirtazapina | Outros/indefinidos |
| quetiapina | Outros/indefinidos |
| tramadol | Outros/indefinidos |
| desmetiltramadol | Outros/indefinidos |
| zolpidem | Outros/indefinidos |
| ciclobenzaprina | Outros/indefinidos |
| cloroquina | Outros/indefinidos |
| carisoprodol | Outros/indefinidos |
| ondansetrona | Outros/indefinidos |
| risperidona | Outros/indefinidos |
| x9 hidroxi risperidona | Outros/indefinidos |
| zopiclona | Outros/indefinidos |
| oxazepam | Outros/indefinidos |
| clonazepam 76 | Outros/indefinidos |
| norfluoxetina | Outros/indefinidos |
| lamotrigina | Outros/indefinidos |
| clozapina | Outros/indefinidos |
| clomipramina | Outros/indefinidos |
| codeina | Outros/indefinidos |
| prometazina | Outros/indefinidos |
| naloxona | Outros/indefinidos |
| sibutramina | Outros/indefinidos |
| x85 | Outros/indefinidos |
Antes de entrar nos recortes por grupo farmacológico e por evento, é útil olhar para um indicador-síntese de positividade global das amostras. Aqui, considera-se “amostra positiva” toda aquela em que ao menos um analito foi detectado (qualquer_positivo = TRUE), independentemente de qual substância ou combinação esteja presente.
No chunk abaixo são calculados três parâmetros básicos: - (i) o número total de amostras válidas na base analítica (n_amostras), - (ii) o número de amostras com pelo menos um analito detectado (n_positivas) e - (iii) a taxa de positividade global, dada pela razão entre amostras positivas e o total de amostras.
A Tabela 1 resume esses indicadores gerais, que funcionam como um primeiro termômetro da intensidade de detecção no conjunto de eventos analisados, antes da estratificação por grupos de substâncias ou por características do público.
| n_amostras | n_positivas | taxa_positividade |
|---|---|---|
| 1081 | 1029 | 0.952 |
| codigo_evento | n_amostras | n_positivas | taxa_positividade |
|---|---|---|---|
| #008 | 96 | 96 | 100.0% |
| #009 | 85 | 85 | 100.0% |
| #007 | 683 | 660 | 96.6% |
| #006 | 104 | 99 | 95.2% |
| #003 | 11 | 10 | 90.9% |
| #005 | 56 | 47 | 83.9% |
| #004 | 26 | 21 | 80.8% |
| #001 | 10 | 7 | 70.0% |
| #002 | 10 | 4 | 40.0% |
Após a descrição dos indicadores globais, o próximo passo é observar quais analitos aparecem com maior frequência de resultados positivos. Em vez de olhar apenas para a positividade agregada, aqui se estima, para cada analito individual, o número de amostras testadas, o número de amostras positivas e a respectiva taxa de positividade (proporção de positivos entre as amostras em que aquele analito foi analisado).
No chunk abaixo, a base resultados_long é filtrada para registros com status válido e, em seguida, são calculados, por analito, o total de testes (n), o total de positivos (positivos) e a taxa de positividade (taxa). Esses dados são então ordenados pelo número absoluto de positivos, e são apresentados os 20 analitos com maior número de detecções.
O gráfico em barras horizontais exibe, para cada analito do Top 20, o número de positivos no eixo X e o nome do analito no eixo Y, com rótulos que combinam porcentagem de positividade e contagem absoluta (por exemplo, “40,6% • 439”). Essa visualização permite identificar rapidamente quais substâncias concentram a maior carga de detecções no conjunto de amostras analisadas, servindo como base para a discussão posterior por grupos farmacológicos e por evento.
Depois de olhar para cada analito isoladamente, o passo seguinte é observar o perfil de positividade por grupo farmacológico, usando justamente o mapeamento definido na seção anterior. Aqui o foco deixa de ser a substância específica e passa a ser a “família” a que ela pertence, o que é mais informativo para fins de vigilância, comunicação de risco e planejamento de ações de prevenção.
No chunk abaixo, cada registro de resultados_long com status válido é associado ao seu grupo (grupo) e, para cada grupo farmacológico, são calculados:
o número total de medições realizadas (n_medicoes),
o número absoluto de resultados positivos (positivos) e
a taxa de positividade dentro do grupo (taxa), definida como a proporção de medições positivas entre todas as medições daquele grupo.
O gráfico apresenta, em barras verticais, o número de positivos por grupo, com rótulos que combinam a taxa de positividade em porcentagem e o total de positivos (por exemplo, “24,4% • 790”). Essa visão permite identificar quais classes de substâncias concentram mais detecções no conjunto de amostras — distinguindo, por exemplo, a contribuição relativa de canabinoides clássicos, cocaínicos, dissociativos e NSP (canabinoides sintéticos, catinonas, NBOMe/NBOH) — e quais grupos aparecem com baixa frequência ou ainda de forma mais difusa na categoria “Outros/indefinidos”.
No chunk abaixo, cada combinação codigo_evento × grupo farmacológico é resumida pelo número de resultados positivos, e o total de positivos por evento é decomposto em contribuições de cada grupo. O gráfico em barras empilhadas mostra, ao longo do eixo X, os eventos (#001, #002, …) e, no eixo Y, o número total de positivos, com as cores representando os diferentes grupos (canabinoides clássicos, cocaínicos, dissociativos, NSP, etc.).
Essa visualização permite identificar rapidamente eventos com maior carga absoluta de detecções e, sobretudo, diferenças qualitativas na “assinatura” de substâncias entre eventos – por exemplo, festas dominadas por canabinoides clássicos, eventos com maior peso de cocaínicos ou com presença relevante de NSP, o que é particularmente importante para o planejamento de ações de alerta e prevenção direcionadas ao contexto de cada festa/festival.
Nesta subseção, é construída uma matriz de co-ocorrência entre analitos, a partir da base binária resultados_wide_bin (0 = não detectado, 1 = detectado). Para cada par de analitos, contabiliza-se em quantas amostras ambos foram detectados simultaneamente, gerando uma medida de co-detecção.
No chunk acima, essa matriz é convertida em tabela e filtrada para pares distintos (A–B, sem duplicar B–A) com pelo menos uma co-ocorrência. Em seguida, são destacados os 30 pares mais frequentes, apresentados em um gráfico de barras horizontais, em que o eixo X representa o número de co-ocorrências e o eixo Y identifica o par de analitos (por exemplo, “mda × mdma”, “mda × thc”). Essa visualização permite identificar padrões de policonsumo ou combinações recorrentes de substâncias nas amostras, informação relevante tanto para a caracterização do perfil de uso quanto para a avaliação de riscos associados a determinadas combinações.
## [1] "id_da_amostra"
## [2] "codigo_do_evento"
## [3] "sexo"
## [4] "idade"
## [5] "orientacao_sexual"
## [6] "escolaridade"
## [7] "e_usuario_de_substancias_psicoativas_ilicitas"
## [8] "ultimo_uso_de_substancia_psicoativa_ilicita_exceto_maconha"
## [9] "qual_is_substancia_s_psicoativa_s_fez_uso_hoje"
## [10] "qual_is_substancia_s_psicoativa_s_fez_uso_hoje_nome_padronizado_da_substancia_esperada"
## [11] "estimativa_do_tempo_decorrido_do_uso"
## [12] "coletor_quantisal_ficou_azul"
## Colunas com potencial sociodemográfico:
## [1] "sexo" "idade" "orientacao_sexual"
## [4] "escolaridade"
| sexo | idade | orientacao_sexual | escolaridade |
|---|---|---|---|
| Masculino | 19 | Heterossexual | Não informado |
| Masculino | 21 | Homossexual | Superior incompleto |
| Masculino | 21 | Heterossexual | Ensino médio completo |
| Masculino | 24 | Heterossexual | Ensino médio completo |
| Masculino | 28 | Bissexual | Pós-graduação |
| Masculino | 31 | Homossexual | Superior completo |
| Masculino | 21 | Heterossexual | Ensino médio incompleto |
| Masculino | 25 | Bissexual | Ensino médio completo |
| Não informado | 18 | Bissexual | Superior completo |
| Feminino | 28 | Bissexual | Superior completo |
base_mestra (idade ausente ou não numérica em 1081 de 1081 registros). Verifique o linkage com o formulário.faixa_idade.
Verifique o preenchimento do formulário e o linkage.| usou_hoje_livre | qualquer_positivo | n | pct |
|---|---|---|---|
| NA | NA | NA | NA |
| :————— | :—————– | –: | :— |
A tabela abaixo associa grupos de substâncias a sinais/sintomas de alarme e mensagens-chave. Use como base; ajuste com a equipe clínica/epidemiológica.
| grupo | sinais_alarme | mensagens_chave |
|---|---|---|
| Clássicas (estimulantes/psicodélicas) | Hipertermia, desidratação, taquicardia, agitação, confusão. | Hidrate-se de forma regular (sem excessos), pause para resfriar, evite sobreaquecimento e uso combinado com outras drogas/álcool; procure ajuda se palpitações ou confusão persistirem. |
| Catinonas sintéticas (NSP) | Taquicardia intensa, hipertermia, ansiedade, agitação psicomotora. | Evite re-dosing, mantenha-se com companhia, identifique postos de saúde no evento; se temperatura corporal elevada ou confusão/agitação prolongada, busque atendimento imediatamente. |
| Canabinoides sintéticos (NSP) | Náusea/vômitos, ansiedade/pânico, confusão, alucinações, sedação ou agitação. | Evite misturar; se quadro ansioso-psicótico, procure área de cuidado; não conduza veículos. |
| NBOMe/NBOH (feniletilaminas) | Vasoconstrição, taquicardia, hipertensão, agitação, risco de overdose em microdoses mal calibradas. | Evite gotas/selos de procedência desconhecida; se dor torácica/cefaleia intensa, procure ajuda. |
| Dissociativos (ketamina e congêneres) | Ataxia, confusão, dissociação, risco de quedas e afogamentos. | Evite áreas de desnível/água; permaneça com acompanhante; se confusão severa ou trauma, acione suporte. |
| Cocaínicos | Dor torácica, taquicardia, ansiedade, hipertermia. | Evite esforços intensos e misturas com álcool (cocaetileno); se dor torácica/palpitações, buscar avaliação. |
| codigo_evento | grupo | n | pct | rank | sinais_alarme | mensagens_chave |
|---|---|---|---|---|---|---|
| #001 | Clássicas (estimulantes/psicodélicas) | 13 | 0.4193548 | 1 | Hipertermia, desidratação, taquicardia, agitação, confusão. | Hidrate-se de forma regular (sem excessos), pause para resfriar, evite sobreaquecimento e uso combinado com outras drogas/álcool; procure ajuda se palpitações ou confusão persistirem. |
| #001 | Canabinoides (clássicos) | 9 | 0.2903226 | 2 | NA | NA |
| #002 | Clássicas (estimulantes/psicodélicas) | 3 | 0.4285714 | 1 | Hipertermia, desidratação, taquicardia, agitação, confusão. | Hidrate-se de forma regular (sem excessos), pause para resfriar, evite sobreaquecimento e uso combinado com outras drogas/álcool; procure ajuda se palpitações ou confusão persistirem. |
| #002 | Canabinoides (clássicos) | 2 | 0.2857143 | 2 | NA | NA |
| #003 | Clássicas (estimulantes/psicodélicas) | 13 | 0.5000000 | 1 | Hipertermia, desidratação, taquicardia, agitação, confusão. | Hidrate-se de forma regular (sem excessos), pause para resfriar, evite sobreaquecimento e uso combinado com outras drogas/álcool; procure ajuda se palpitações ou confusão persistirem. |
| #003 | Canabinoides (clássicos) | 7 | 0.2692308 | 2 | NA | NA |
| #004 | Canabinoides (clássicos) | 32 | 0.4266667 | 1 | NA | NA |
| #004 | Clássicas (estimulantes/psicodélicas) | 20 | 0.2666667 | 2 | Hipertermia, desidratação, taquicardia, agitação, confusão. | Hidrate-se de forma regular (sem excessos), pause para resfriar, evite sobreaquecimento e uso combinado com outras drogas/álcool; procure ajuda se palpitações ou confusão persistirem. |
| #005 | Outros/indefinidos | 51 | 0.5049505 | 1 | NA | NA |
| #005 | Canabinoides (clássicos) | 29 | 0.2871287 | 2 | NA | NA |
| #006 | Outros/indefinidos | 139 | 0.3829201 | 1 | NA | NA |
| #006 | Canabinoides (clássicos) | 86 | 0.2369146 | 2 | NA | NA |
| #007 | Clássicas (estimulantes/psicodélicas) | 963 | 0.3726780 | 1 | Hipertermia, desidratação, taquicardia, agitação, confusão. | Hidrate-se de forma regular (sem excessos), pause para resfriar, evite sobreaquecimento e uso combinado com outras drogas/álcool; procure ajuda se palpitações ou confusão persistirem. |
| #007 | Outros/indefinidos | 834 | 0.3227554 | 2 | NA | NA |
| #008 | Clássicas (estimulantes/psicodélicas) | 198 | 0.3188406 | 1 | Hipertermia, desidratação, taquicardia, agitação, confusão. | Hidrate-se de forma regular (sem excessos), pause para resfriar, evite sobreaquecimento e uso combinado com outras drogas/álcool; procure ajuda se palpitações ou confusão persistirem. |
| #008 | Canabinoides (clássicos) | 157 | 0.2528180 | 2 | NA | NA |
| #009 | Clássicas (estimulantes/psicodélicas) | 166 | 0.3306773 | 1 | Hipertermia, desidratação, taquicardia, agitação, confusão. | Hidrate-se de forma regular (sem excessos), pause para resfriar, evite sobreaquecimento e uso combinado com outras drogas/álcool; procure ajuda se palpitações ou confusão persistirem. |
| #009 | Canabinoides (clássicos) | 110 | 0.2191235 | 2 | NA | NA |