Este relatório documenta o processo completo de preparação e análise dos dados de repetibilidade de medições de hemoglobina (HGB) em amostras com valores críticos (< 70 g/L), realizadas nos analisadores hematológicos. O objectivo é avaliar a consistência das medições intra- e inter-analisador.
Os dados foram lidos a partir de 7 ficheiros CSV exportados dos analisadores, e unidos numa única tabela.
| Métrica | Valor |
|---|---|
| Total de linhas lidas | 624335 |
| Total de colunas | 288 |
A data e hora foram combinadas numa coluna datetime. O
valor de HGB foi convertido para número, e removidas linhas com HGB
ausente ou inferior a 1 g/dL (valores impossíveis clinicamente).
| Métrica | Valor |
|---|---|
| Linhas antes da limpeza | 624335 |
| Linhas removidas (HGB < 1 ou ausente) | 14579 |
| Linhas após limpeza | 609756 |
Foram removidos registos duplicados com o mesmo nickname
e datetime. De seguida, foram excluídos os registos com
discrete == "FREE SELECT", que correspondem a medições fora
do protocolo normal.
| Métrica | Valor |
|---|---|
| Linhas após remoção de duplicados | 536213 |
| Linhas removidas (FREE SELECT) | 3119 |
| Linhas restantes | 533094 |
Foram mantidos apenas os registos cujo sample_no começa
pelos prefixos definidos: IU, IR, SU, CU, CR, CS.
| Métrica | Valor |
|---|---|
| Linhas antes do filtro | 533094 |
| Linhas removidas (CQ/BackgroundCheck | 39043 |
| Linhas restantes | 494051 |
Foram excluídos manualmente 5 registos identificados como problemáticos (mesma id, anos diferentes).
excluir <- tibble(
sample_no = c(
"CU187810124", "CU187916124", "CU191280124",
"CU192465124", "IU576952124"
),
datetime = dmy_hms(c(
"26-02-2025 09:23:46", "25-08-2022 11:09:26", "05-09-2022 10:25:08",
"07-09-2022 09:57:46", "10-06-2022 10:58:42"
))
)
dados_clean <- dados_clean %>%
anti_join(excluir, by = c("sample_no", "datetime"))
| Métrica | Valor |
|---|---|
| Registos excluídos manualmente | 5 |
| Linhas restantes | 494046 |
Foi identificada a primeira leitura cronológica de cada amostra. Foram incluídas apenas as amostras cuja primeira leitura apresentou HGB < 7 g/dL. De seguida, foram recuperadas todas as leituras associadas a essas amostras (incluindo repetições).
| Métrica | Valor |
|---|---|
| Amostras únicas com HGB crítico (< 7 g/dL) | 3130 |
| Total de leituras dessas amostras | 6231 |
Das 3130 amostras com HGB < 70 g/L, 2949 (94.2%) foram repetidas e 181 (5.8%) não tiveram repetição registada.
| Tipo | N | % |
|---|---|---|
| Inter-Analyzer | 945 | 32 |
| Intra-Analyzer | 2004 | 68 |
52.9% das repetições foram idênticas (ΔHb = 0 g/L) e 93.3% apresentaram uma variação ≤ 1 g/L. O gráfico abaixo mostra a distribuição dos deltas até 6 g/L.
As amostras com delta > 4 g/L foram excluídas desta análise por representarem casos outlier. Para cada amostra, o par de medições usado foi a primeira leitura vs. a leitura com maior diferença absoluta em relação à primeira.
| Grupo | N | Mean bias (g/L) | SD (g/L) | LoA superior | LoA inferior | IC95 inf | IC95 sup | CV% médio |
|---|---|---|---|---|---|---|---|---|
| Global | 2938 | -0.12 | 0.83 | 1.52 | -1.75 | -0.15 | -0.09 | 0.87 |
| Inter-Analyzer | 937 | -0.19 | 1.12 | 2.00 | -2.38 | -0.26 | -0.12 | 1.36 |
| Intra-Analyzer | 2001 | -0.08 | 0.66 | 1.21 | -1.37 | -0.11 | -0.05 | 0.64 |
Os gráficos de Bland-Altman mostram a diferença entre as duas leituras (eixo Y) em função da média das duas leituras (eixo X). A linha preta representa o mean bias e as linhas vermelhas os limits of agreement (±1.96 SD). A distribuição discreta dos pontos reflecte a resolução do instrumento (0.1 g/dL).
Das 3130 amostras com HGB < 70 g/L:
Relatório gerado automaticamente em R. Data: 21/04/2026.