Skip to content

Commit

Permalink
Merge pull request #11 from Rapporteket/tabellrevisjon
Browse files Browse the repository at this point in the history
Tabellrevisjon
  • Loading branch information
kevinthon authored Sep 6, 2024
2 parents 7872ebe + 8c6a64a commit 031ad7b
Show file tree
Hide file tree
Showing 5 changed files with 70 additions and 70 deletions.
2 changes: 1 addition & 1 deletion DESCRIPTION
Original file line number Diff line number Diff line change
Expand Up @@ -28,7 +28,7 @@ Imports:
Remotes:
Rapporteket/rapbase@*release,
Rapporteket/rapFigurer
RoxygenNote: 7.2.3
RoxygenNote: 7.3.1
Suggests: knitr,
rmarkdown
VignetteBuilder: knitr
125 changes: 62 additions & 63 deletions R/NorgastTabeller.R
Original file line number Diff line number Diff line change
Expand Up @@ -10,70 +10,69 @@
#' Terskel Minste antall
#'
#' @export


NorgastTabeller <- function(RegData=RegData, datoFra='2014-01-01', datoTil='2050-12-31',
minald=0, maxald=130, erMann=99, enhetsUtvalg=0, Terskel=15,
reshID=reshID, elektiv=99, BMI='', valgtShus='')
NorgastTabeller <- function(
RegData=RegData, datoFra='2014-01-01', datoTil='2050-12-31',
minald=0, maxald=130, erMann=99, enhetsUtvalg=0, Terskel=15,
reshID=reshID, elektiv=99, BMI='', valgtShus='')
{

if (enhetsUtvalg==2){RegData <- RegData[which(RegData$AvdRESH==reshID),]}

NorgastUtvalg <- NorgastUtvalg(RegData=RegData, datoFra=datoFra, datoTil=datoTil, minald=minald, maxald=maxald,
erMann=erMann, elektiv=elektiv, BMI=BMI, valgtShus=valgtShus)
RegData <- NorgastUtvalg$RegData

#################### Lag tabell over alle operasjoner (noen gruppert) ###########################################
RegData$Hovedoperasjon <- paste0(substr(RegData$Hovedoperasjon, 7, 100), ' (', substr(RegData$Hovedoperasjon, 1, 5), ')')

N_opgr <- length(unique(RegData$Operasjonsgrupper)) # Antall distikte operasjonsgrupper (inkludert Ukjent)
RegData$Hovedoperasjon[RegData$Op_gr %in% 1:(N_opgr-1)] <- RegData$Operasjonsgrupper[RegData$Op_gr %in% 1:(N_opgr-1)]


RegData$Hovedoperasjon <- gsub("[\r\n]", "", RegData$Hovedoperasjon)
res <- sort(table(RegData$Hovedoperasjon), decreasing=T)
Tabell <- data.frame('Operasjonsgruppe'=names(res[res>=Terskel]), 'Antall'=as.numeric(res[res>=Terskel]))

# Tabellen skal inneholde maks 14 operasjonskoder
while(length(Tabell$Antall)>14){
Terskel <- Terskel+1
Tabell <- Tabell[Tabell$Antall>=Terskel, ]
if (enhetsUtvalg==2){RegData <- RegData[which(RegData$AvdRESH==reshID),]}

NorgastUtvalg <- NorgastUtvalg(
RegData=RegData, datoFra=datoFra, datoTil=datoTil, minald=minald,
maxald=maxald, erMann=erMann, elektiv=elektiv, BMI=BMI, valgtShus=valgtShus)
RegData <- NorgastUtvalg$RegData

###### Lag tabell over alle operasjoner (noen gruppert) ##################
RegData <- RegData %>%
dplyr::mutate(Hovedoperasjon = paste0(substr(Hovedoperasjon, 7, 100),
' (', substr(Hovedoperasjon, 1, 5), ')'),
Hovedoperasjon = ifelse(Op_gr == 99, Hovedoperasjon, Operasjonsgrupper),
Hovedoperasjon = gsub("[\r\n]", "", Hovedoperasjon))

Tabell <- RegData %>%
dplyr::count(Hovedoperasjon) %>%
dplyr::arrange(-n)

if (dim(Tabell)[1] > 14) {
Tabell$Hovedoperasjon[15] <- "Andre"
Tabell$n[15] <- sum(Tabell$n[15:dim(Tabell)[1]])
Tabell <- Tabell[1:15, ] %>%
dplyr::mutate(Andel = n/sum(n)*100) %>%
dplyr::rename(Operasjonsgruppe = Hovedoperasjon,
Antall = n)
}

N_opgr <- length(unique(RegData$Operasjonsgrupper)) # Ant opgr (inkludert Ukjent)

### Lag tabell over reoperasjonsrater sammen med årsak til reoperasjon
### splittet på operasjonsgrupper ######

Tabell2 <- RegData %>%
dplyr::filter(ReLapNarkose %in% c(0, 1)) %>%
dplyr::summarise(
N = dplyr::n(),
Reoperasjonsrate = sum(ReLapNarkose)/N*100,
Anastomoselekkasje = sum(ViktigsteFunn == 1, na.rm = TRUE)/N*100,
# Anastomoselekkasje_v2 = sum(ViktigsteFunn == 1 & NyAnastomose==1, na.rm = TRUE)/
# sum(NyAnastomose==1, na.rm = TRUE)*100,
DypInfUtenLekkasje = sum(ViktigsteFunn == 2, na.rm = TRUE)/N*100,
Bloedning = sum(ViktigsteFunn == 3, na.rm = TRUE)/N*100,
Saarruptur = sum(ViktigsteFunn == 4, na.rm = TRUE)/N*100,
Annet = sum(ViktigsteFunn == 5, na.rm = TRUE)/N*100,
Ingen = sum(ViktigsteFunn == 6, na.rm = TRUE)/N*100,
.by = Operasjonsgrupper
) %>%
dplyr::mutate(
Operasjonsgrupper =
factor(Operasjonsgrupper,
levels = RegData$Operasjonsgrupper[match(sort(unique(RegData$Op_gr)),
RegData$Op_gr)])
) %>%
dplyr::arrange(Operasjonsgrupper)

Data <- list(Tabell=Tabell, Tabell2=Tabell2, Terskel=Terskel)

return(invisible(Data))
}

Tabell <- data.frame('Operasjonsgruppe'=c(names(res[res>=Terskel]), 'Andre'),
'Antall'=c(as.numeric(res[res>=Terskel]), sum(as.numeric(res[res<Terskel]))))
Tabell$Andel <- Tabell$Antall/sum(Tabell$Antall)*100



### Lag tabell over reoperasjonsrater sammen med årsak til reoperasjon splittet på operasjonsgrupper ######################

grtxt <- c('Nei','Ja')
RegData <- RegData[which(RegData$ReLapNarkose %in% c(0, 1)), ] # Ekskluderer de som ikke har registrert om reoperasjon er utført
RegData$VariabelGr <- factor(RegData$ReLapNarkose, levels=c(0, 1), labels = grtxt)

Tabell2 <- data.frame(Operasjonsgruppe=RegData$Operasjonsgrupper[match(c(1:(N_opgr-1),99), RegData$Op_gr)],
N=numeric(N_opgr), Reoperasjonsrate=numeric(N_opgr), Anastomoselekkasje=numeric(N_opgr),
DypInfUtenLekkasje=numeric(N_opgr),Bloedning=numeric(N_opgr),Saarruptur=numeric(N_opgr),
Annet=numeric(N_opgr), Ingen=numeric(N_opgr))


# RegData$ViktigsteFunn[which(RegData$ViktigsteFunn==6)]<-5 # Nytt alternativ "Ingen funn, kun diagnostisk" må tas høyde for.

grtxt <- c('Anastomoselekkasje', 'DypInfUtenLekkasje', 'Bloedning', 'Saarruptur', 'Annet', 'Ingen')

for (p in 1:N_opgr){
Subset <- RegData[RegData$Op_gr==p, ]
if (p==N_opgr) Subset <- RegData[RegData$Op_gr==99, ]
Tabell2$Reoperasjonsrate[p] <- table(Subset$VariabelGr)[2]/length(Subset$VariabelGr)*100
Tabell2$N[p] <- dim(Subset)[1]
Subset <- Subset[Subset$ReLapNarkose==1,]
Subset$VariabelGr <- factor(Subset$ViktigsteFunn, levels=1:6, labels = grtxt)
# Tabell2[p,grtxt]<- round(table(Subset$VariabelGr)/length(Subset$VariabelGr)*100,2)
Tabell2[p,grtxt]<- table(Subset$VariabelGr)/Tabell2$N[p]*100
}

Data <- list(Tabell=Tabell, Tabell2=Tabell2, Terskel=Terskel)

return(invisible(Data))
}
6 changes: 2 additions & 4 deletions docker-compose.yml
Original file line number Diff line number Diff line change
@@ -1,8 +1,6 @@
version: '3.3'

services:
db:
image: mysql:5.7
image: mysql:8
command: --innodb-log-file-size=500M --innodb_strict_mode=0
restart: "no"
volumes:
Expand All @@ -26,7 +24,7 @@ services:
- 8.8.8.8
restart: "no"
environment:
PASSWORD: password
DISABLE_AUTH: "true"
DB_HOST: db
DB_USER: root
DB_PASS: root
Expand Down
6 changes: 4 additions & 2 deletions inst/NorgastSamleDokShiny.Rnw
Original file line number Diff line number Diff line change
Expand Up @@ -247,8 +247,10 @@ if (length(which(RegData$ncsp_lowercase %in% c('jlc10', 'jlc11') & RegData$AvdRE
Terskel<-20
TabellData_landet <- NorgastTabeller(RegData=RegData, datoFra=datoFra, datoTil=datoTil,
minald=0, maxald=130, erMann=99, enhetsUtvalg=0, Terskel=Terskel, reshID=reshID)
TabellData_landet <- NorgastTabeller(
RegData=RegData, datoFra=datoFra, datoTil=datoTil,
minald=0, maxald=130, erMann=99, enhetsUtvalg=0,
Terskel=Terskel, reshID=reshID)
Tabell <- TabellData_landet$Tabell
colnames(Tabell) <- c('Operasjonsgruppe', 'Antall', 'Andel (%)')
print(xtable::xtable(Tabell, digits=c(0,0,0,1), align=c('l', 'l', rep('r', ncol(Tabell)-1)),
Expand Down
1 change: 1 addition & 0 deletions man/norgast.Rd

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

0 comments on commit 031ad7b

Please sign in to comment.