5 Requêtes sur des pathologies / actes
5.1 Transposition des codes diagnostics
Les analyses sur les diagnostics CIM-10 sont parfois fastidieuses du fait des multiples positions de diagnostics : DP principal du séjour, DR principal du séjour, DPUM, DRUM, DAS. La fonction tdiag permet de rassembler tous les diagnostics dans une seule table.
# Pour les objets rsa et rum du MCO
# Transbahuter tous les diagnostics dans une seule table
tdiag(rsa15) -> rsa15 # "Tidy diagnostics"
View(rsa15$diags)
# Tous les diagnostics sont dans une table, avec un numero selon leur position
# 1:DP, 2:DR, 3:DPUM, 4:DRUM, 5:DAS
Exemple de résultat :
CLE_RSA | NSEQRUM | position | diag |
---|---|---|---|
0000000001 | 01 | 1 | Z511 |
0000000001 | 01 | 2 | C18 |
0000000002 | 01 | 1 | C501 |
0000000002 | 01 | 3 | C501 |
0000000002 | 02 | 1 | D051 |
0000000002 | 02 | 5 | E109 |
5.2 Recherche de codes diagnostics
L’objectif est de récupérer les séjours présentant un code diagnostic de la liste
# Liste D-0103 de la fonction groupage 2016 : Epilepsies
= c('F803', 'G400', 'G401', 'G402', 'G403', 'G404',
liste_diag 'G405', 'G406', 'G407', 'G408', 'G409', 'G410',
'G411', 'G412', 'G418', 'G419', 'R568')
# En passant par la table diags
tdiag(rsa15) -> rsa15
library(dplyr)
# quelle que soit la position du diagnostic
$diags %>% filter(diag %in% liste_diag)
rsa15# position en das
$diags %>% filter(diag %in% liste_diag, position == 5)
rsa15# position en dp dr
$diags %>% filter(diag %in% liste_diag, position < 5)
rsa15
# En passant par les zones stream
=
string_diags 'F803|G400|G401|G402|G403|G404|G405|G406|G407|G408|G409|G410|G411|G412|G418|G419|R568'
# quelle que soit la position du diagnostic
$rsa %>% filter(grepl(string_diags, dpdrum)|grepl(string_diags, das))
rsa15# position en das
$rsa %>% filter(grepl(string_diags, das))
rsa15# position en dpdr
$rsa %>% filter(grepl(string_diags, dpdrum)) rsa15