diff --git a/R/BrValgNorgastShiny.R b/R/BrValgNorgastShiny.R
index dc41e31..0ce2868 100644
--- a/R/BrValgNorgastShiny.R
+++ b/R/BrValgNorgastShiny.R
@@ -9,11 +9,11 @@ BrValgNorgastShiny <- function(RegData) {
varvalg <- c('Alder', 'BMI_kodet', 'Vektendring', 'Op_gr', 'AccordionGrad', 'Forbehandling',
'WHOECOG', 'ASA', 'Hastegrad_tid', 'Hastegrad', 'erMann', 'MedDiabetes', 'PRSScore', 'Robotassistanse',
'Tilgang', 'NyAnastomose', 'ModGlasgowScore', 'ReLapNarkose', 'Anastomoselekkasje',
- 'mortalitet90', 'Saarruptur')
+ 'mortalitet90', 'Saarruptur', 'ViktigsteFunn')
names(varvalg) <- c('Alder', 'BMI', 'Vektendring', 'Operasjonsgrupper', 'Komplikasjoner', 'Forbehandling',
'WHO-ECOG', 'ASA-grad', 'Tidspunkt for operasjonsstart', 'Hastegrad', 'Kjønn', 'Diabetes', 'mE-PASS', 'Robotassistanse',
'Tilgang i abdomen', 'Ny anastomose', 'Glasgow score', 'Relaparotomi', 'Anastomoselekkasje',
- '90-dagers mortalitet', 'Sårruptur')
+ '90-dagers mortalitet', 'Sårruptur', 'Viktigste funn')
aux<-c('Anastomoselekkasje', 'Anastomoselekkasje', '90-dagers mortalitet', 'mortalitet90',
'Relaparotomi', 'ReLapNarkose', 'Robotassistanse', 'Robotassistanse', 'Sårruptur',
diff --git a/R/NorgastFigAndelStabelGrVar.R b/R/NorgastFigAndelStabelGrVar.R
index 8516eda..6f95511 100644
--- a/R/NorgastFigAndelStabelGrVar.R
+++ b/R/NorgastFigAndelStabelGrVar.R
@@ -11,14 +11,16 @@
#' @export
#'
-NorgastFigAndelStabelGrVar <- function(RegData=0, valgtVar='ModGlasgowScore', datoFra='2014-01-01', datoTil='2050-12-31',
- minald=0, maxald=130, erMann=99, outfile='', hastegrad_hybrid=99,
- preprosess=F, malign=99, Ngrense=30, lavDG='',
- lavDGtekst='Dekningsgrad < 60 %', hastegrad = 99,
- elektiv=99, BMI='', tilgang='', valgtShus=c(''), minPRS=0, modGlasgow='',
- maxPRS=2.2, ASA='', whoEcog= '', forbehandling='', hentData=0, op_gruppe='',
- ncsp='', robotassiastanse=99, kun_ferdigstilte=TRUE, skriftStr=1,
- tilgang_utvidet='')
+NorgastFigAndelStabelGrVar <- function(
+ RegData=0, valgtVar='ModGlasgowScore',
+ datoFra='2014-01-01', datoTil='2050-12-31',
+ minald=0, maxald=130, erMann=99, outfile='', hastegrad_hybrid=99,
+ preprosess=F, malign=99, Ngrense=30, lavDG='',
+ lavDGtekst='Dekningsgrad < 60 %', hastegrad = 99,
+ elektiv=99, BMI='', tilgang='', valgtShus=c(''), minPRS=0, modGlasgow='',
+ maxPRS=2.2, ASA='', whoEcog= '', forbehandling='', hentData=0, op_gruppe='',
+ ncsp='', robotassiastanse=99, kun_ferdigstilte=TRUE, skriftStr=1,
+ tilgang_utvidet='', accordion='', snufarger = TRUE)
{
@@ -53,7 +55,7 @@ NorgastFigAndelStabelGrVar <- function(RegData=0, valgtVar='ModGlasgowScore', da
BMI=BMI, valgtShus=valgtShus, tilgang=tilgang, minPRS=minPRS, maxPRS=maxPRS, modGlasgow=modGlasgow,
ASA=ASA, whoEcog=whoEcog, forbehandling=forbehandling, malign=malign, op_gruppe=op_gruppe, ncsp=ncsp,
robotassiastanse=robotassiastanse, kun_ferdigstilte=kun_ferdigstilte,
- tilgang_utvidet=tilgang_utvidet)
+ tilgang_utvidet=tilgang_utvidet, accordion=accordion)
RegData <- NorgastUtvalg$RegData
utvalgTxt <- NorgastUtvalg$utvalgTxt
@@ -64,6 +66,7 @@ NorgastFigAndelStabelGrVar <- function(RegData=0, valgtVar='ModGlasgowScore', da
if ( max(Ngr) < Ngrense) {#Dvs. hvis ALLE er mindre enn grensa.
FigTypUt <- rapFigurer::figtype(outfile, fargepalett = 'BlaaOffAlle')
farger <- FigTypUt$farger
+
plot.new()
if (dim(RegData)[1]>0) {
tekst <- paste('Færre enn ', Ngrense, ' registreringer ved hvert av sykehusene', sep='')
@@ -153,6 +156,7 @@ NorgastFigAndelStabelGrVar <- function(RegData=0, valgtVar='ModGlasgowScore', da
FigTypUt <- rapFigurer::figtype(outfile, height=3*800, fargepalett=NorgastUtvalg$fargepalett) #res=96,
farger <- FigTypUt$farger
+ if (snufarger) {farger <- rev(farger)}
if (length(legendTxt)==5) {farger <- c('#4D4D4D' ,farger)}
landet <- AndelerGr
@@ -190,7 +194,7 @@ NorgastFigAndelStabelGrVar <- function(RegData=0, valgtVar='ModGlasgowScore', da
# mtext('(Tall på søylene angir antall registreringer)', las=1, side=1, line=3)
#Tekst som angir hvilket utvalg som er gjort
- mtext(utvalgTxt, side=3, las=1, cex=0.7*skriftStr, adj=0, col=farger[1], line=c(3+0.8*((NutvTxt-1):0)))
+ mtext(utvalgTxt, side=3, las=1, cex=0.7*skriftStr, adj=0, col=farger[length(farger)], line=c(3+0.8*((NutvTxt-1):0)))
par('fig'=c(0, 1, 0, 1))
diff --git a/R/NorgastFigAndelTid.R b/R/NorgastFigAndelTid.R
index bba15c1..99707dc 100644
--- a/R/NorgastFigAndelTid.R
+++ b/R/NorgastFigAndelTid.R
@@ -25,7 +25,7 @@ NorgastFigAndelTid <- function(RegData=0, valgtVar='ReLapNarkose', datoFra='2014
maxPRS=2.2, ASA='', whoEcog= '', forbehandling='', hentData=F,
tidsenhet='Aar', op_gruppe='', ncsp='', hastegrad = 99, hastegrad_hybrid = 99,
robotassiastanse=99, kun_ferdigstilte=TRUE,
- tilgang_utvidet='')
+ tilgang_utvidet='', accordion='')
{
## Hvis spørring skjer fra R på server. ######################
@@ -50,7 +50,7 @@ NorgastFigAndelTid <- function(RegData=0, valgtVar='ReLapNarkose', datoFra='2014
ASA=ASA, whoEcog=whoEcog, forbehandling=forbehandling, malign=malign,
op_gruppe=op_gruppe, ncsp=ncsp, hastegrad = hastegrad, hastegrad_hybrid = hastegrad_hybrid,
robotassiastanse=robotassiastanse, kun_ferdigstilte=kun_ferdigstilte,
- tilgang_utvidet=tilgang_utvidet)
+ tilgang_utvidet=tilgang_utvidet, accordion=accordion)
RegData <- NorgastUtvalg$RegData
utvalgTxt <- NorgastUtvalg$utvalgTxt
diff --git a/R/NorgastFigAndelTid_kvartalsrapp.R b/R/NorgastFigAndelTid_kvartalsrapp.R
index 7a19ae2..9719eed 100644
--- a/R/NorgastFigAndelTid_kvartalsrapp.R
+++ b/R/NorgastFigAndelTid_kvartalsrapp.R
@@ -24,7 +24,7 @@ NorgastFigAndelTid_kvartalsrapp <- function(RegData=0, valgtVar='ReLapNarkose',
elektiv=99, BMI='', tilgang='', valgtShus=c(''), minPRS=0,
maxPRS=2.2, ASA='', whoEcog= '', forbehandling='', hentData=F,
tidsenhet='Aar', op_gruppe='', ncsp='', robotassiastanse=99,
- kun_ferdigstilte=TRUE)
+ kun_ferdigstilte=TRUE, accordion='')
{
## Hvis spørring skjer fra R på server. ######################
@@ -47,7 +47,8 @@ NorgastFigAndelTid_kvartalsrapp <- function(RegData=0, valgtVar='ReLapNarkose',
maxald=maxald, erMann=erMann, elektiv=elektiv,
BMI=BMI, valgtShus=valgtShus, tilgang=tilgang, minPRS=minPRS, maxPRS=maxPRS,
ASA=ASA, whoEcog=whoEcog, forbehandling=forbehandling, malign=malign,
- op_gruppe=op_gruppe, ncsp=ncsp, robotassiastanse=robotassiastanse, kun_ferdigstilte=kun_ferdigstilte)
+ op_gruppe=op_gruppe, ncsp=ncsp, robotassiastanse=robotassiastanse,
+ kun_ferdigstilte=kun_ferdigstilte, accordion=accordion)
RegData <- NorgastUtvalg$RegData
utvalgTxt <- NorgastUtvalg$utvalgTxt
diff --git a/R/NorgastFigAndelerGrVar.R b/R/NorgastFigAndelerGrVar.R
index 053448d..9c9b235 100644
--- a/R/NorgastFigAndelerGrVar.R
+++ b/R/NorgastFigAndelerGrVar.R
@@ -15,7 +15,8 @@ NorgastFigAndelerGrVar <- function(RegData=0, valgtVar='', datoFra='2014-01-01',
preprosess=F, inkl_konf=F, malign=99, Ngrense=10, modGlasgow='',
elektiv=99, BMI='', tilgang='', valgtShus=c(''), minPRS=0, hastegrad = 99,
maxPRS=2.2, ASA='', whoEcog= '', forbehandling='', hentData=0, op_gruppe='',
- ncsp='', robotassiastanse=99, kun_ferdigstilte=TRUE, tilgang_utvidet='')
+ ncsp='', robotassiastanse=99, kun_ferdigstilte=TRUE, tilgang_utvidet='',
+ accordion='')
{
## Hvis spørring skjer fra R på server. ######################
@@ -43,7 +44,7 @@ NorgastFigAndelerGrVar <- function(RegData=0, valgtVar='', datoFra='2014-01-01',
ASA=ASA, whoEcog=whoEcog, forbehandling=forbehandling, malign=malign,
op_gruppe=op_gruppe, ncsp=ncsp, modGlasgow=modGlasgow, hastegrad_hybrid = hastegrad_hybrid,
robotassiastanse=robotassiastanse, kun_ferdigstilte=kun_ferdigstilte,
- tilgang_utvidet=tilgang_utvidet)
+ tilgang_utvidet=tilgang_utvidet, accordion=accordion)
RegData <- NorgastUtvalg$RegData
utvalgTxt <- NorgastUtvalg$utvalgTxt
diff --git a/R/NorgastFigGjsnGrVar.R b/R/NorgastFigGjsnGrVar.R
index 9268173..fca96c0 100644
--- a/R/NorgastFigGjsnGrVar.R
+++ b/R/NorgastFigGjsnGrVar.R
@@ -17,7 +17,7 @@ NorgastFigGjsnGrVar <- function(RegData=0, valgtVar='Alder', datoFra='2014-01-01
elektiv=99, BMI='', tilgang='', valgtShus=c(''), minPRS=0,
maxPRS=2.2, ASA='', whoEcog= '', forbehandling='', hentData=0,
op_gruppe='', ncsp='', modGlasgow = '', robotassiastanse=99,
- kun_ferdigstilte=TRUE, tilgang_utvidet='')
+ kun_ferdigstilte=TRUE, tilgang_utvidet='', accordion='')
{
@@ -47,7 +47,7 @@ NorgastFigGjsnGrVar <- function(RegData=0, valgtVar='Alder', datoFra='2014-01-01
ASA=ASA, whoEcog=whoEcog, forbehandling=forbehandling, malign=malign,
op_gruppe=op_gruppe, ncsp=ncsp, modGlasgow = modGlasgow, hastegrad_hybrid = hastegrad_hybrid,
robotassiastanse=robotassiastanse, kun_ferdigstilte=kun_ferdigstilte,
- tilgang_utvidet=tilgang_utvidet)
+ tilgang_utvidet=tilgang_utvidet, accordion=accordion)
RegData <- NorgastUtvalg$RegData
utvalgTxt <- NorgastUtvalg$utvalgTxt
diff --git a/R/modul_admtab.R b/R/modul_admtab.R
index ffd611f..bf6578f 100644
--- a/R/modul_admtab.R
+++ b/R/modul_admtab.R
@@ -34,7 +34,7 @@ admtab_UI <- function(id){
inputId = ns("regstatus_tid"),
label = "Skjemastatus",
choices = c('Ferdige forløp'=1, 'Oppfølging i kladd'=2,
- 'Ferdig basisreg. oppfølging mangler'=3,
+ # 'Ferdig basisreg. oppfølging mangler'=3,
'Basisreg. i kladd'=4))),
checkboxInput(inputId = ns("kun_oblig"),
label = "Inkluder kun obligatoriske reseksjoner",
@@ -53,9 +53,9 @@ admtab_UI <- function(id){
basisregistrering og oppfølging.'),
h4(tags$b('Oppfølging i kladd '), 'viser antall forløp med ferdigstilt
basisregistrering og oppfølging i kladd.'),
- h4(tags$b('Ferdig basisreg. oppfølging mangler '), 'viser antall forløp
- med ferdigstilt basisregistrering og ikke påbegynt eller slettet
- oppfølging'),
+ # h4(tags$b('Ferdig basisreg. oppfølging mangler '), 'viser antall forløp
+ # med ferdigstilt basisregistrering og ikke påbegynt eller slettet
+ # oppfølging'),
h4(tags$b('Basisreg. i kladd '), 'viser antallet basisregistreringer
i kladd.'),
br(),
@@ -174,8 +174,12 @@ admtab <- function(input, output, session, reshID, RegData, userRole,
antskjema <- function() {
# req(input$admtabeller == "id_ant_skjema")
- tmp <- merge(skjemaoversikt[skjemaoversikt$Skjemanavn=='Registrering', c("ForlopsID", "SkjemaStatus", "HovedDato", "OpprettetDato", "Sykehusnavn", "AvdRESH", "Op_gr", "Hovedoperasjon")],
- skjemaoversikt[skjemaoversikt$Skjemanavn=='Reinnleggelse/oppføl', c("ForlopsID", "SkjemaStatus")],
+ tmp <- merge(skjemaoversikt[skjemaoversikt$Skjemanavn=='Registrering',
+ c("ForlopsID", "SkjemaStatus", "HovedDato",
+ "OpprettetDato", "Sykehusnavn", "AvdRESH",
+ "Op_gr", "Hovedoperasjon")],
+ skjemaoversikt[skjemaoversikt$Skjemanavn=='Reinnleggelse/oppføl',
+ c("ForlopsID", "SkjemaStatus")],
by = 'ForlopsID', all.x = T, suffixes = c('', '_oppf'))
if (input$kun_oblig) {
@@ -197,20 +201,20 @@ admtab <- function(input, output, session, reshID, RegData, userRole,
dplyr::group_by(Sykehusnavn) %>%
dplyr::summarise(
'Ferdige forløp' = sum(SkjemaStatus==1 &
- SkjemaStatus_oppf==1, na.rm = T),
+ (SkjemaStatus_oppf==1 | is.na(SkjemaStatus_oppf)), na.rm = T),
'Oppfølging i kladd' = sum(SkjemaStatus==1 &
SkjemaStatus_oppf==0, na.rm = T),
- 'Ferdig basisreg. oppfølging mangler' = sum(SkjemaStatus==1 &
- is.na(SkjemaStatus_oppf), na.rm = T),
+ # 'Ferdig basisreg. oppfølging mangler' = sum(SkjemaStatus==1 &
+ # is.na(SkjemaStatus_oppf), na.rm = T),
'Basisreg i kladd' = sum(SkjemaStatus==0, na.rm = T),
'N' = dplyr::n())
aux2 <- tmp %>%
dplyr::filter(HovedDato >= input$datovalg_adm[1] &
HovedDato <= input$datovalg_adm[2]) %>%
dplyr::summarise(
- 'Ferdige forløp' = sum(SkjemaStatus==1 & SkjemaStatus_oppf==1, na.rm = T),
+ 'Ferdige forløp' = sum(SkjemaStatus==1 & (SkjemaStatus_oppf==1 | is.na(SkjemaStatus_oppf)), na.rm = T),
'Oppfølging i kladd' = sum(SkjemaStatus==1 & SkjemaStatus_oppf==0, na.rm = T),
- 'Ferdig basisreg. oppfølging mangler' = sum(SkjemaStatus==1 & is.na(SkjemaStatus_oppf), na.rm = T),
+ # 'Ferdig basisreg. oppfølging mangler' = sum(SkjemaStatus==1 & is.na(SkjemaStatus_oppf), na.rm = T),
'Basisreg i kladd' = sum(SkjemaStatus==0, na.rm = T),
'N' = dplyr::n())
@@ -275,11 +279,24 @@ admtab <- function(input, output, session, reshID, RegData, userRole,
aux <- tmp
aux$mnd <- factor(format(aux$HovedDato, format='%b-%y'), levels = format(seq(fraDato, tilDato, by="month"), "%b-%y"))
- ant_skjema <- switch (req(input$regstatus_tid),
- '1' = as.data.frame.matrix(addmargins(table(aux[which(aux$SkjemaStatus==1 & aux$SkjemaStatus_oppf==1) , c('Sykehusnavn', 'mnd')]))),
- '2' = as.data.frame.matrix(addmargins(table(aux[which(aux$SkjemaStatus==1 & aux$SkjemaStatus_oppf==0) , c('Sykehusnavn', 'mnd')]))),
- '3' = as.data.frame.matrix(addmargins(table(aux[which(aux$SkjemaStatus==1 & is.na(aux$SkjemaStatus_oppf)) , c('Sykehusnavn', 'mnd')]))),
- '4' = as.data.frame.matrix(addmargins(table(aux[which(aux$SkjemaStatus==0) , c('Sykehusnavn', 'mnd')])))
+ ant_skjema <- switch (
+ req(input$regstatus_tid),
+ '1' = as.data.frame.matrix(
+ addmargins(
+ table(aux[which(aux$SkjemaStatus==1 & (aux$SkjemaStatus_oppf==1 |
+ is.na(aux$SkjemaStatus_oppf))) ,
+ c('Sykehusnavn', 'mnd')]))),
+ '2' = as.data.frame.matrix(
+ addmargins(
+ table(aux[which(aux$SkjemaStatus==1 & aux$SkjemaStatus_oppf==0) ,
+ c('Sykehusnavn', 'mnd')]))),
+ '3' = as.data.frame.matrix(
+ addmargins(
+ table(aux[which(aux$SkjemaStatus==1 & is.na(aux$SkjemaStatus_oppf)) ,
+ c('Sykehusnavn', 'mnd')]))),
+ '4' = as.data.frame.matrix(
+ addmargins(
+ table(aux[which(aux$SkjemaStatus==0) , c('Sykehusnavn', 'mnd')])))
) %>% dplyr::as_tibble(rownames = 'Sykehusnavn')
}
@@ -308,11 +325,24 @@ admtab <- function(input, output, session, reshID, RegData, userRole,
aux <- tmp
aux$mnd <- factor(format(aux$HovedDato, format='%Y'), levels = format(seq(as.Date(fraDato),as.Date(input$datovalg_adm_tid_aar), by="year"), "%Y"))
- ant_skjema <- switch (req(input$regstatus_tid),
- '1' = as.data.frame.matrix(addmargins(table(aux[which(aux$SkjemaStatus==1 & aux$SkjemaStatus_oppf==1) , c('Sykehusnavn', 'mnd')]))),
- '2' = as.data.frame.matrix(addmargins(table(aux[which(aux$SkjemaStatus==1 & aux$SkjemaStatus_oppf==0) , c('Sykehusnavn', 'mnd')]))),
- '3' = as.data.frame.matrix(addmargins(table(aux[which(aux$SkjemaStatus==1 & is.na(aux$SkjemaStatus_oppf)) , c('Sykehusnavn', 'mnd')]))),
- '4' = as.data.frame.matrix(addmargins(table(aux[which(aux$SkjemaStatus==0) , c('Sykehusnavn', 'mnd')])))
+ ant_skjema <- switch (
+ req(input$regstatus_tid),
+ '1' = as.data.frame.matrix(
+ addmargins(
+ table(aux[which(aux$SkjemaStatus==1 & (aux$SkjemaStatus_oppf==1 |
+ is.na(aux$SkjemaStatus_oppf))) ,
+ c('Sykehusnavn', 'mnd')]))),
+ '2' = as.data.frame.matrix(
+ addmargins(
+ table(aux[which(aux$SkjemaStatus==1 & aux$SkjemaStatus_oppf==0) ,
+ c('Sykehusnavn', 'mnd')]))),
+ '3' = as.data.frame.matrix(
+ addmargins(
+ table(aux[which(aux$SkjemaStatus==1 & is.na(aux$SkjemaStatus_oppf)) ,
+ c('Sykehusnavn', 'mnd')]))),
+ '4' = as.data.frame.matrix(
+ addmargins(
+ table(aux[which(aux$SkjemaStatus==0) , c('Sykehusnavn', 'mnd')])))
) %>% dplyr::as_tibble(rownames = 'Sykehusnavn')
}
diff --git a/R/modul_fordelingsfig.R b/R/modul_fordelingsfig.R
index 75c333c..6b86052 100644
--- a/R/modul_fordelingsfig.R
+++ b/R/modul_fordelingsfig.R
@@ -105,10 +105,10 @@ fordelingsfig <- function(input, output, session, reshID, RegData, userRole, hvd
shinyjs::reset("id_fordeling_panel")
})
- observe(
- if (userRole != 'SC') {
- shinyjs::hide(id = 'valgtShus')
- })
+ # observe(
+ # if (userRole != 'SC') {
+ # shinyjs::hide(id = 'valgtShus')
+ # })
output$ncsp <- renderUI({
ns <- session$ns
@@ -134,8 +134,10 @@ fordelingsfig <- function(input, output, session, reshID, RegData, userRole, hvd
output$valgtShus_ui <- renderUI({
ns <- session$ns
+ if (userRole == 'SC') {
selectInput(inputId = ns("valgtShus"), label = "Velg sykehus",
choices = BrValg$sykehus, multiple = TRUE)
+ }
})
output$tilgang_utvidet_ui <- renderUI({
diff --git a/R/modul_indikatorer.R b/R/modul_indikatorer.R
index 86d4dd2..1e066c6 100644
--- a/R/modul_indikatorer.R
+++ b/R/modul_indikatorer.R
@@ -1,4 +1,4 @@
-#' UI-modul for iindikatorfigurer i NORGAST sin shiny-app på Rapporteket
+#' UI-modul for indikatorfigurer i NORGAST sin shiny-app på Rapporteket
#'
#' Kun til bruk i Shiny
#'
@@ -44,6 +44,7 @@ indikatorfig_UI <- function(id){
sliderInput(ns("skriftStr"), "Skriftstørrelse sykehusnavn",
min = 0.5, max = 1.8,
value = 1.2, step = 0.05, ticks = F),
+ checkboxInput(ns("pst_kolonne"), "Prosenttall i kolonner", value = FALSE),
selectInput(inputId = ns("bildeformat"), label = "Velg bildeformat",
choices = c('pdf', 'png', 'jpg', 'bmp', 'tif', 'svg')),
tags$hr(),
@@ -121,7 +122,9 @@ indikatorfig <- function(input, output, session, reshID, RegData,
tittel = indikatordata()$tittel,
skriftStr = input$skriftStr,
lavDG = input$valgtShus,
- maalretn = indikatordata()$maalretn)
+ maalretn = indikatordata()$maalretn,
+ prikktall = !input$pst_kolonne,
+ pst_kolonne = input$pst_kolonne)
}, width = 600, height = 700)
@@ -201,6 +204,9 @@ indikatorfig <- function(input, output, session, reshID, RegData,
tittel = indikatordata()$tittel,
skriftStr = input$skriftStr,
lavDG = input$valgtShus,
+ maalretn = indikatordata()$maalretn,
+ prikktall = !input$pst_kolonne,
+ pst_kolonne = input$pst_kolonne,
outfile = file)
}
)
diff --git a/R/modul_overlevelse.R b/R/modul_overlevelse.R
index 716505e..edbaa4b 100644
--- a/R/modul_overlevelse.R
+++ b/R/modul_overlevelse.R
@@ -15,10 +15,11 @@ overlevelse_UI <- function(id){
id = ns("id_overlevelse_panel"),
h4(tags$b('Utvalg 1')),
br(),
- checkboxInput(inputId = ns("kun_ferdigstilte"),
- label = "Inkludér kun komplette forløp
- (også oppfølging ferdigstilt). Gjelder begge utvalg",
- value = TRUE),
+ # checkboxInput(inputId = ns("kun_ferdigstilte"),
+ # label = "Inkludér kun komplette forløp
+ # (også oppfølging ferdigstilt). Gjelder begge utvalg",
+ # value = TRUE),
+ # checkboxInput(ns("inkl_konf"), label = 'Inkluder konfidensintervall'),
dateRangeInput(
inputId=ns("datovalg"),
label = "Operasjonsdato fra og til",
@@ -61,61 +62,109 @@ overlevelse_UI <- function(id){
selectInput(inputId = ns("malign"), label = "Diagnose",
choices = c('Ikke valgt'=99, 'Malign'=1, 'Benign'=0)),
uiOutput(outputId = ns('icd')),
+ selectInput(inputId = ns("accordion"), label = "Accordiongrad",
+ multiple = TRUE,
+ choices = c('<3'=1, '3'=3, '4'=4, '5'=5, '6'=6)),
tags$hr(),
actionButton(ns("reset_input"), "Nullstill valg")
),
column(
8,
- h2("Kaplan-Meier overlevelseskurver", align='center'),
- h4("Her kan du plotte overlevelseskurver for to distinkte utvalg. Det er
+ fluidRow(
+ column(
+ 4,
+ h4("Trykk her for å generere figur etter at du har gjort dine ønskede utvalg: "),
+ actionButton(ns("goButton"), "Beregn!")),
+ column(
+ 4,
+ checkboxInput(inputId = ns("kun_ferdigstilte"),
+ label = "Inkludér kun komplette forløp
+ (også oppfølging ferdigstilt). Gjelder begge utvalg",
+ value = TRUE)),
+ column(
+ 4,
+ checkboxInput(ns("inkl_konf"), label = 'Inkluder konfidensintervall'))
+ ),
+ br(),
+ tabsetPanel(
+ tabPanel("Versjon 1",
+ h2("Kaplan-Meier overlevelseskurver", align='center'),
+ h4("Her kan du plotte overlevelseskurver for to distinkte utvalg. Det er
ikke helt rett frem å bruke verktøyet, og brukeren bør være oppmerksom på
måten utvalgene gjøres: "),
- div(class = "container", style ="margin-right:(@gutter / 10)" ,
- tags$ul(
- tags$li(h4("Hvis en pasient har flere forløp i ett enkelt utvalg
+ div(class = "container", style ="margin-right:(@gutter / 10)" ,
+ tags$ul(
+ tags$li(h4("Hvis en pasient har flere forløp i ett enkelt utvalg
('Utvalg 1' eller 'Utvalg 2') benyttes forløpet med den
tidligst forekommende operasjonen")),
- tags$li(h4("Dersom en pasient har forløp i både 'Utvalg 1' og
+ tags$li(h4("Dersom en pasient har forløp i både 'Utvalg 1' og
'Utvalg 2' så velges det eldste forløpet.")),
- tags$li(h4("Hvis det eldste forløpet finnes i både 'Utvalg 1' og
+ tags$li(h4("Hvis det eldste forløpet finnes i både 'Utvalg 1' og
'Utvalg 2' eller hvis 'Utvalg 1' og 'Utvalg 2 'sitt eldste forløp
faller på samme dato, så knyttes pasienten til 'Utvalg 1'.
Dette innebærer at man potensielt kan få litt forskjellige
resultater hvis du f.eks. ser på 'Åpen' i 'Utvalg 1' mot
'Laparoskopisk' i 'Utvalg 2' kontra 'Laparoskopisk' i 'Utvalg 1'
mot 'Åpen' i 'Utvalg 2'.")),
- tags$li(h4("Hvis man vil unngå noen av problemene tilknyttet
+ tags$li(h4("Hvis man vil unngå noen av problemene tilknyttet
pasienter som finnes i begge utvalg så kan det krysses av for 'Fjern
pasienter med forløp som tilfredsstiller begge utvalg'")),
- tags$li(h4("Å ikke gjøre utvalg impliserer at alle pasienter velges.
+ tags$li(h4("Å ikke gjøre utvalg impliserer at alle pasienter velges.
Dette innebærer at hvis man kun gjør utvalg på ventresiden
('Utvalg 1'), så vil 'Utvalg 2' bestå av alle pasienter som ikke er
i 'Utvalg 1'. Gjør du imidlertid kun utvalg på høyresiden
('Utvalg 2'), så vil 'Utvalg 2' forbli tom siden alle
valgte forløp også finnes i 'Utvalg 1'."))
- )
- ),
- br(),
- actionButton(ns("goButton"), "Beregn!"),
- checkboxInput(ns("inkl_konf"), label = 'Inkluder konfidensintervall'),
- br(),
- fluidRow(
- column(7,
- plotOutput(ns("Figur_surv"))),
- column(
- 4, offset = 1,
- uiOutput(ns("utvalg")),
- br(),
- checkboxInput(ns("ekskluder_felles"),
- label = 'Fjern pasienter med forløp som tilfredsstiller
+ )
+ ),
+ br(),
+ # actionButton(ns("goButton"), "Beregn!"),
+ br(),
+ fluidRow(
+ column(7,
+ plotOutput(ns("Figur_surv"))),
+ column(
+ 4, offset = 1,
+ uiOutput(ns("utvalg")),
+ br(),
+ checkboxInput(ns("ekskluder_felles"),
+ label = 'Fjern pasienter med forløp som tilfredsstiller
begge utvalg'),
- br(),
- br(),
- selectInput(inputId = ns("bildeformat"), label = "Velg bildeformat",
- choices = c('pdf', 'png', 'jpg', 'bmp', 'tif', 'svg')),
- textInput(ns("tittel"), "Angi tittel for lagret plot", ""),
- downloadButton(ns("lastNedBilde"), "Last ned figur"))
+ br(),
+ br(),
+ selectInput(inputId = ns("bildeformat"), label = "Velg bildeformat",
+ choices = c('pdf', 'png', 'jpg', 'bmp', 'tif', 'svg')),
+ textInput(ns("tittel"), "Angi tittel for lagret plot", ""),
+ downloadButton(ns("lastNedBilde"), "Last ned figur"))
+ )
+ ),
+ tabPanel("Versjon 2",
+ h2("Kaplan-Meier overlevelseskurver", align='center'),
+ h4("Forenklet versjon hvor pasienter og forløp tillates å være i begge utvalg.
+ Hver pasient kan også ha flere forløp."),
+ br(),
+ # actionButton(ns("goButton2"), "Beregn!"),
+ # checkboxInput(ns("inkl_konf2"), label = 'Inkluder konfidensintervall'),
+ br(),
+ fluidRow(
+ column(7,
+ plotOutput(ns("Figur_surv2"))),
+ column(
+ 4, offset = 1,
+ uiOutput(ns("utvalg2")),
+ br(),
+ checkboxInput(ns("ekskluder_felles2"),
+ label = 'Fjern forløp som tilfredsstiller
+ begge utvalg'),
+ br(),
+ br(),
+ selectInput(inputId = ns("bildeformat"), label = "Velg bildeformat",
+ choices = c('pdf', 'png', 'jpg', 'bmp', 'tif', 'svg')),
+ textInput(ns("tittel"), "Angi tittel for lagret plot", ""),
+ downloadButton(ns("lastNedBilde2"), "Last ned figur"))
+ )
+ )
)
),
column(
@@ -165,6 +214,9 @@ overlevelse_UI <- function(id){
selectInput(inputId = ns("malign2"), label = "Diagnose",
choices = c('Ikke valgt'=99, 'Malign'=1, 'Benign'=0)),
uiOutput(outputId = ns('icd2')),
+ selectInput(inputId = ns("accordion2"), label = "Accordiongrad",
+ multiple = TRUE,
+ choices = c('<3'=1, '3'=3, '4'=4, '5'=5, '6'=6)),
tags$hr(),
actionButton(ns("reset_input2"), "Nullstill valg"))
)
@@ -182,6 +234,13 @@ overlevelse_UI <- function(id){
overlevelse <- function(input, output, session, reshID, RegData,
userRole, hvd_session, BrValg){
+ feilreg <- which(RegData$OpDoedTid<0)
+ if (length(feilreg) != 0) {
+ RegData <- RegData[-which(RegData$OpDoedTid<0), ] #feilregistreringer: død før operasjon
+ }
+ RegData <- RegData[!(RegData$Avdod == 1 & is.na(RegData$OpDoedTid)), ] #manglende data: død men ingen dødsdato
+ RegData$OpDoedTid[RegData$OpDoedTid==0] <- 0.5 #Døde ved dag 0 settes til 0.5 for å inkluderes i analysen
+
observeEvent(input$reset_input, {
shinyjs::reset("id_overlevelse_panel")
})
@@ -189,11 +248,11 @@ overlevelse <- function(input, output, session, reshID, RegData,
shinyjs::reset("id_overlevelse_panel2")
})
- observe(
- if (userRole != 'SC') {
- shinyjs::hide(id = 'valgtShus')
- shinyjs::hide(id = 'valgtShus2')
- })
+ # observe(
+ # if (userRole != 'SC') {
+ # shinyjs::hide(id = 'valgtShus')
+ # shinyjs::hide(id = 'valgtShus2')
+ # })
observe(
if (userRole == 'SC') {
@@ -241,14 +300,18 @@ overlevelse <- function(input, output, session, reshID, RegData,
output$valgtShus_ui <- renderUI({
ns <- session$ns
- selectInput(inputId = ns("valgtShus"), label = "Velg sykehus",
- choices = BrValg$sykehus, multiple = TRUE)
+ if (userRole == 'SC') {
+ selectInput(inputId = ns("valgtShus"), label = "Velg sykehus",
+ choices = BrValg$sykehus, multiple = TRUE)
+ }
})
output$valgtShus2_ui <- renderUI({
ns <- session$ns
- selectInput(inputId = ns("valgtShus2"), label = "Velg sykehus",
- choices = BrValg$sykehus, multiple = TRUE)
+ if (userRole == 'SC') {
+ selectInput(inputId = ns("valgtShus2"), label = "Velg sykehus",
+ choices = BrValg$sykehus, multiple = TRUE)
+ }
})
output$op_gruppe_ui <- renderUI({
@@ -347,12 +410,12 @@ overlevelse <- function(input, output, session, reshID, RegData,
input$goButton
- feilreg <- which(RegData$OpDoedTid<0)
- if (length(feilreg) != 0) {
- RegData <- RegData[-which(RegData$OpDoedTid<0), ] #feilregistreringer: død før operasjon
- }
- RegData <- RegData[!(RegData$Avdod == 1 & is.na(RegData$OpDoedTid)), ] #manglende data: død men ingen dødsdato
- RegData$OpDoedTid[RegData$OpDoedTid==0] <- 0.5 #Døde ved dag 0 settes til 0.5 for å inkluderes i analysen
+ # feilreg <- which(RegData$OpDoedTid<0)
+ # if (length(feilreg) != 0) {
+ # RegData <- RegData[-which(RegData$OpDoedTid<0), ] #feilregistreringer: død før operasjon
+ # }
+ # RegData <- RegData[!(RegData$Avdod == 1 & is.na(RegData$OpDoedTid)), ] #manglende data: død men ingen dødsdato
+ # RegData$OpDoedTid[RegData$OpDoedTid==0] <- 0.5 #Døde ved dag 0 settes til 0.5 for å inkluderes i analysen
Utvalg1 <- shiny::isolate(NorgastUtvalg(RegData = RegData, datoFra = input$datovalg[1], datoTil = input$datovalg[2],
minald=as.numeric(input$alder[1]), maxald=as.numeric(input$alder[2]), erMann = as.numeric(input$erMann),
@@ -370,7 +433,8 @@ overlevelse <- function(input, output, session, reshID, RegData,
whoEcog = if (!is.null(input$whoEcog)) {input$whoEcog} else {''},
forbehandling = if (!is.null(input$forbehandling)) {input$forbehandling} else {''},
malign = as.numeric(input$malign), kun_ferdigstilte = input$kun_ferdigstilte,
- icd = if (!is.null(input$icd_verdi)) {input$icd_verdi} else {''}))
+ icd = if (!is.null(input$icd_verdi)) {input$icd_verdi} else {''},
+ accordion = if (!is.null(input$accordion)) {input$accordion} else {''}))
Utvalg1data <- Utvalg1$RegData
shiny::isolate(if (!is.null(input$valgtShus)) {
Utvalg1data <- Utvalg1data[which(Utvalg1data$AvdRESH %in% as.numeric(input$valgtShus)), ]
@@ -398,7 +462,8 @@ overlevelse <- function(input, output, session, reshID, RegData,
whoEcog = if (!is.null(input$whoEcog2)) {input$whoEcog2} else {''},
forbehandling = if (!is.null(input$forbehandling2)) {input$forbehandling2} else {''},
malign = as.numeric(input$malign2), kun_ferdigstilte = input$kun_ferdigstilte,
- icd = if (!is.null(input$icd_verdi2)) {input$icd_verdi2} else {''}))
+ icd = if (!is.null(input$icd_verdi2)) {input$icd_verdi2} else {''},
+ accordion = if (!is.null(input$accordion2)) {input$accordion2} else {''}))
Utvalg2data <- Utvalg2$RegData
shiny::isolate(if (!is.null(input$valgtShus2)) {
Utvalg2data <- Utvalg2data[which(Utvalg2data$AvdRESH %in% as.numeric(input$valgtShus2)), ]
@@ -436,10 +501,105 @@ overlevelse <- function(input, output, session, reshID, RegData,
return(utdata)
}
+ calc_overlevelse_v2 <- function() {
+
+ input$goButton
+
+ Utvalg1 <- shiny::isolate(
+ NorgastUtvalg(
+ RegData = RegData, datoFra = input$datovalg[1],
+ datoTil = input$datovalg[2],
+ minald=as.numeric(input$alder[1]),
+ maxald=as.numeric(input$alder[2]), erMann = as.numeric(input$erMann),
+ elektiv = as.numeric(input$elektiv), hastegrad = as.numeric(input$hastegrad),
+ hastegrad_hybrid = as.numeric(input$hastegrad_hybrid),
+ BMI = if (!is.null(input$BMI)) {input$BMI} else {''},
+ valgtShus = if (!is.null(input$valgtShus)) {input$valgtShus} else {''},
+ op_gruppe = if (!is.null(input$op_gruppe)) {input$op_gruppe} else {''},
+ ncsp = if (!is.null(input$ncsp_verdi)) {input$ncsp_verdi} else {''},
+ # tilgang = if (!is.null(input$tilgang)) {input$tilgang} else {''},
+ tilgang_utvidet = if (!is.null(input$tilgang_utvidet)) {input$tilgang_utvidet} else {''},
+ minPRS = as.numeric(input$PRS[1]), maxPRS = as.numeric(input$PRS[2]),
+ ASA = if (!is.null(input$ASA)) {input$ASA} else {''},
+ modGlasgow = if (!is.null(input$modGlasgow)) {input$modGlasgow} else {''},
+ whoEcog = if (!is.null(input$whoEcog)) {input$whoEcog} else {''},
+ forbehandling = if (!is.null(input$forbehandling)) {input$forbehandling} else {''},
+ malign = as.numeric(input$malign), kun_ferdigstilte = input$kun_ferdigstilte,
+ icd = if (!is.null(input$icd_verdi)) {input$icd_verdi} else {''},
+ accordion = if (!is.null(input$accordion)) {input$accordion} else {''}))
+ Utvalg1data <- Utvalg1$RegData
+ shiny::isolate(if (!is.null(input$valgtShus)) {
+ Utvalg1data <- Utvalg1data[which(Utvalg1data$AvdRESH %in% as.numeric(input$valgtShus)), ]
+ })
+ shiny::isolate(if (!is.null(input$enhetsUtvalg)) {
+ if (input$enhetsUtvalg == 2) {Utvalg1data <- Utvalg1data[which(Utvalg1data$AvdRESH == reshID), ]}
+ })
+ Utvalg1data$Utvalg <- 1
+
+ Utvalg2 <- shiny::isolate(
+ NorgastUtvalg(
+ RegData = RegData, datoFra = input$datovalg2[1],
+ datoTil = input$datovalg2[2],
+ minald=as.numeric(input$alder2[1]),
+ maxald=as.numeric(input$alder2[2]), erMann = as.numeric(input$erMann2),
+ elektiv = as.numeric(input$elektiv2), hastegrad = as.numeric(input$hastegrad2),
+ hastegrad_hybrid = as.numeric(input$hastegrad_hybrid2),
+ BMI = if (!is.null(input$BMI2)) {input$BMI2} else {''},
+ valgtShus = if (!is.null(input$valgtShus2)) {input$valgtShus2} else {''},
+ op_gruppe = if (!is.null(input$op_gruppe2)) {input$op_gruppe2} else {''},
+ ncsp = if (!is.null(input$ncsp_verdi2)) {input$ncsp_verdi2} else {''},
+ # tilgang = if (!is.null(input$tilgang2)) {input$tilgang2} else {''},
+ tilgang_utvidet = if (!is.null(input$tilgang_utvidet2)) {input$tilgang_utvidet2} else {''},
+ minPRS = as.numeric(input$PRS2[1]), maxPRS = as.numeric(input$PRS2[2]),
+ ASA = if (!is.null(input$ASA2)) {input$ASA2} else {''},
+ modGlasgow = if (!is.null(input$modGlasgow2)) {input$modGlasgow2} else {''},
+ whoEcog = if (!is.null(input$whoEcog2)) {input$whoEcog2} else {''},
+ forbehandling = if (!is.null(input$forbehandling2)) {input$forbehandling2} else {''},
+ malign = as.numeric(input$malign2), kun_ferdigstilte = input$kun_ferdigstilte,
+ icd = if (!is.null(input$icd_verdi2)) {input$icd_verdi2} else {''},
+ accordion = if (!is.null(input$accordion2)) {input$accordion2} else {''}))
+ Utvalg2data <- Utvalg2$RegData
+ shiny::isolate(if (!is.null(input$valgtShus2)) {
+ Utvalg2data <- Utvalg2data[which(Utvalg2data$AvdRESH %in% as.numeric(input$valgtShus2)), ]
+ })
+ shiny::isolate(if (!is.null(input$enhetsUtvalg2)) {
+ if (input$enhetsUtvalg2 == 2) {Utvalg2data <- Utvalg2data[which(Utvalg2data$AvdRESH == reshID), ]}
+ })
+ Utvalg2data$Utvalg <- 2
+ utdata <- list(Utvalg1 = Utvalg1data, Utvalg2 = Utvalg2data, utvalgTxt1 = Utvalg1$utvalgTxt, utvalgTxt2 = Utvalg2$utvalgTxt)
+ Samlet <- dplyr::bind_rows(Utvalg1data, Utvalg2data)
+
+ fellesforlop <- intersect(Utvalg1data$ForlopsID, Utvalg2data$ForlopsID)
+
+ if (input$ekskluder_felles2) {
+ Samlet <- Samlet[!(Samlet$ForlopsID %in% fellesforlop), ]
+ }
+
+ Samlet$overlev <- difftime(as.Date(Sys.Date()), Samlet$OperasjonsDato, units = 'days')
+ Samlet$overlev[Samlet$Avdod==1] <- Samlet$OpDoedTid[Samlet$Avdod==1]
+ Samlet$overlev <- as.numeric(Samlet$overlev)
+ Samlet$SurvObj <- with(Samlet, survival::Surv(overlev, Avdod == 1))
+
+ fit1 <- survival::survfit(SurvObj ~ Utvalg, data = Samlet)
+
+ utdata$Samlet <- Samlet
+ utdata$fit1 <- fit1
+
+ return(utdata)
+ }
+
output$Figur_surv <- renderPlot({
overlevdata <- calc_overlevelse()
- survminer::ggsurvplot(overlevdata$fit1, data = overlevdata$Samlet, pval = TRUE, conf.int = input$inkl_konf, fun = "pct",
+ survminer::ggsurvplot(overlevdata$fit1, data = overlevdata$Samlet,
+ pval = TRUE, conf.int = input$inkl_konf, fun = "pct",
+ risk.table = TRUE, legend = "bottom")
+ })
+
+ output$Figur_surv2 <- renderPlot({
+ overlevdata <- calc_overlevelse_v2()
+ survminer::ggsurvplot(overlevdata$fit1, data = overlevdata$Samlet,
+ pval = TRUE, conf.int = input$inkl_konf, fun = "pct",
risk.table = TRUE, legend = "bottom")
})
# }, width = 800, height = 800) #
@@ -482,6 +642,41 @@ overlevelse <- function(input, output, session, reshID, RegData,
}
)})
+ output$utvalg2 <- renderUI({
+ utvlgdata <- calc_overlevelse_v2()
+ tagList(
+ h4('Utvalg 1:'),
+ h5(HTML(paste0(utvlgdata$utvalgTxt1, '
'))),
+ shiny::isolate(h5(if (!is.null(input$valgtShus)) {
+ HTML(paste0("Avdeling(er): ", paste(unique(utvlgdata$Utvalg1$Sykehusnavn), collapse=', ')))
+ })),
+ shiny::isolate(h5(if (!is.null(input$enhetsUtvalg)) {
+ if (input$enhetsUtvalg == 2) {HTML(paste0("Avdeling: ", paste(unique(utvlgdata$Utvalg1$Sykehusnavn), collapse=', ')))}
+ })),
+ br(),
+ br(),
+ h4('Utvalg 2:'),
+ h5(HTML(paste0(utvlgdata$utvalgTxt2, '
'))),
+ shiny::isolate(h5(if (!is.null(input$valgtShus2)) {
+ HTML(paste0("Avdeling(er): ", paste(unique(utvlgdata$Utvalg2$Sykehusnavn), collapse=', ')))
+ })),
+ shiny::isolate(h5(if (!is.null(input$enhetsUtvalg2)) {
+ if (input$enhetsUtvalg2 == 2) {HTML(paste0("Avdeling: ", paste(unique(utvlgdata$Utvalg2$Sykehusnavn), collapse=', ')))}
+ })),
+ br(),
+ br(),
+ h4('Merknad:'),
+ if (input$ekskluder_felles) {
+ h5(paste0(length(intersect(utvlgdata$Utvalg1$ForlopsID, utvlgdata$Utvalg2$ForlopsID)),
+ ' forløp er ekskludert siden forløpene tilfredstiller begge utvalg.'))
+ } else {
+ h5(paste0(length(intersect(utvlgdata$Utvalg1$ForlopsID, utvlgdata$Utvalg2$ForlopsID)),
+ ' forløp finnes i begge utvalg. ',
+ length(intersect(utvlgdata$Utvalg1$PasientID, utvlgdata$Utvalg2$PasientID)),
+ ' pasienter finnes i begge utvalg.'))
+ }
+ )})
+
output$lastNedBilde <- downloadHandler(
filename = function(){
paste0('KM_kurve', Sys.time(), '.', input$bildeformat)
@@ -497,6 +692,21 @@ overlevelse <- function(input, output, session, reshID, RegData,
}
)
+ output$lastNedBilde2 <- downloadHandler(
+ filename = function(){
+ paste0('KM_kurve_v2', Sys.time(), '.', input$bildeformat)
+ },
+
+ content = function(file){
+ overlevdata <- calc_overlevelse_v2()
+ survp <- survminer::ggsurvplot(overlevdata$fit1, data = overlevdata$Samlet, title = input$tittel, pval = TRUE,
+ conf.int = input$inkl_konf, fun = "pct", risk.table = TRUE, legend = "bottom")
+ rapFigurer::figtype(outfile=file, pointsizePDF=11)
+ print(survp, newpage = FALSE)
+ dev.off()
+ }
+ )
+
shiny::observe({
if (rapbase::isRapContext()) {
# rapbase::repLogger(
diff --git a/R/modul_sammenlign_utvalg_tid.R b/R/modul_sammenlign_utvalg_tid.R
index b735af1..ab87370 100644
--- a/R/modul_sammenlign_utvalg_tid.R
+++ b/R/modul_sammenlign_utvalg_tid.R
@@ -51,6 +51,9 @@ saml_andeler_UI <- function(id){
selectInput(inputId = ns("malign"), label = "Diagnose",
choices = c('Ikke valgt'=99, 'Malign'=1, 'Benign'=0)),
uiOutput(outputId = ns('icd')),
+ selectInput(inputId = ns("accordion"), label = "Accordiongrad",
+ multiple = TRUE,
+ choices = c('<3'=1, '3'=3, '4'=4, '5'=5, '6'=6)),
tags$hr(),
actionButton(ns("reset_input"), "Nullstill valg")
),
@@ -178,6 +181,9 @@ saml_andeler_UI <- function(id){
selectInput(inputId = ns("malign2"), label = "Diagnose",
choices = c('Ikke valgt'=99, 'Malign'=1, 'Benign'=0)),
uiOutput(outputId = ns('icd2')),
+ selectInput(inputId = ns("accordion2"), label = "Accordiongrad",
+ multiple = TRUE,
+ choices = c('<3'=1, '3'=3, '4'=4, '5'=5, '6'=6)),
tags$hr(),
actionButton(ns("reset_input2"), "Nullstill valg"))
)
@@ -201,11 +207,11 @@ saml_andeler <- function(input, output, session, reshID, RegData,
shinyjs::reset("id_overlevelse_panel2")
})
- observe(
- if (userRole != 'SC') {
- shinyjs::hide(id = 'valgtShus')
- shinyjs::hide(id = 'valgtShus2')
- })
+ # observe(
+ # if (userRole != 'SC') {
+ # shinyjs::hide(id = 'valgtShus')
+ # shinyjs::hide(id = 'valgtShus2')
+ # })
observe(
if (userRole == 'SC') {
@@ -240,14 +246,18 @@ saml_andeler <- function(input, output, session, reshID, RegData,
output$valgtShus_ui <- renderUI({
ns <- session$ns
+ if (userRole == 'SC') {
selectInput(inputId = ns("valgtShus"), label = "Velg sykehus",
choices = BrValg$sykehus, multiple = TRUE)
+ }
})
output$valgtShus2_ui <- renderUI({
ns <- session$ns
+ if (userRole == 'SC') {
selectInput(inputId = ns("valgtShus2"), label = "Velg sykehus",
choices = BrValg$sykehus, multiple = TRUE)
+ }
})
output$valgtVar_ui <- renderUI({
@@ -355,24 +365,27 @@ saml_andeler <- function(input, output, session, reshID, RegData,
valgtVar=if (!is.null(input$valgtVar)) {input$valgtVar} else {'Anastomoselekkasje'})
RegData <- PlotParams$RegData
- Utvalg1 <- shiny::isolate(NorgastUtvalg(RegData = RegData, datoFra = input$datovalg[1], datoTil = input$datovalg[2],
- minald=as.numeric(input$alder[1]), maxald=as.numeric(input$alder[2]),
- erMann = as.numeric(input$erMann), kun_ferdigstilte = input$kun_ferdigstilte,
- elektiv = as.numeric(input$elektiv), hastegrad = as.numeric(input$hastegrad),
- hastegrad_hybrid = as.numeric(input$hastegrad_hybrid),
- BMI = if (!is.null(input$BMI)) {input$BMI} else {''},
- valgtShus = if (!is.null(input$valgtShus)) {input$valgtShus} else {''},
- op_gruppe = if (!is.null(input$op_gruppe)) {input$op_gruppe} else {''},
- ncsp = if (!is.null(input$ncsp_verdi)) {input$ncsp_verdi} else {''},
- # tilgang = if (!is.null(input$tilgang)) {input$tilgang} else {''},
- tilgang_utvidet = if (!is.null(input$tilgang_utvidet)) {input$tilgang_utvidet} else {''},
- minPRS = as.numeric(input$PRS[1]), maxPRS = as.numeric(input$PRS[2]),
- ASA = if (!is.null(input$ASA)) {input$ASA} else {''},
- modGlasgow = if (!is.null(input$modGlasgow)) {input$modGlasgow} else {''},
- whoEcog = if (!is.null(input$whoEcog)) {input$whoEcog} else {''},
- forbehandling = if (!is.null(input$forbehandling)) {input$forbehandling} else {''},
- malign = as.numeric(input$malign),
- icd = if (!is.null(input$icd_verdi)) {input$icd_verdi} else {''}))
+ Utvalg1 <- shiny::isolate(
+ NorgastUtvalg(
+ RegData = RegData, datoFra = input$datovalg[1], datoTil = input$datovalg[2],
+ minald=as.numeric(input$alder[1]), maxald=as.numeric(input$alder[2]),
+ erMann = as.numeric(input$erMann), kun_ferdigstilte = input$kun_ferdigstilte,
+ elektiv = as.numeric(input$elektiv), hastegrad = as.numeric(input$hastegrad),
+ hastegrad_hybrid = as.numeric(input$hastegrad_hybrid),
+ BMI = if (!is.null(input$BMI)) {input$BMI} else {''},
+ valgtShus = if (!is.null(input$valgtShus)) {input$valgtShus} else {''},
+ op_gruppe = if (!is.null(input$op_gruppe)) {input$op_gruppe} else {''},
+ ncsp = if (!is.null(input$ncsp_verdi)) {input$ncsp_verdi} else {''},
+ # tilgang = if (!is.null(input$tilgang)) {input$tilgang} else {''},
+ tilgang_utvidet = if (!is.null(input$tilgang_utvidet)) {input$tilgang_utvidet} else {''},
+ minPRS = as.numeric(input$PRS[1]), maxPRS = as.numeric(input$PRS[2]),
+ ASA = if (!is.null(input$ASA)) {input$ASA} else {''},
+ modGlasgow = if (!is.null(input$modGlasgow)) {input$modGlasgow} else {''},
+ whoEcog = if (!is.null(input$whoEcog)) {input$whoEcog} else {''},
+ forbehandling = if (!is.null(input$forbehandling)) {input$forbehandling} else {''},
+ malign = as.numeric(input$malign),
+ icd = if (!is.null(input$icd_verdi)) {input$icd_verdi} else {''},
+ accordion = if (!is.null(input$accordion)) {input$accordion} else {''}))
Utvalg1data <- Utvalg1$RegData
if (dim(Utvalg1data)[1] > 0) {
shiny::isolate(if (!is.null(input$valgtShus)) {
@@ -385,24 +398,27 @@ saml_andeler <- function(input, output, session, reshID, RegData,
Utvalg1data <- Utvalg1data[order(Utvalg1data$HovedDato, decreasing = F), ] # Hvis pasient opptrer flere ganger, velg
Utvalg1data <- Utvalg1data[match(unique(Utvalg1data$PasientID), Utvalg1data$PasientID), ] # første operasjon i utvalget
}
- Utvalg2 <- shiny::isolate(NorgastUtvalg(RegData = RegData, datoFra = input$datovalg[1], datoTil = input$datovalg[2],
- minald=as.numeric(input$alder2[1]), maxald=as.numeric(input$alder2[2]),
- erMann = as.numeric(input$erMann2), kun_ferdigstilte = input$kun_ferdigstilte,
- elektiv = as.numeric(input$elektiv2), hastegrad = as.numeric(input$hastegrad2),
- hastegrad_hybrid = as.numeric(input$hastegrad_hybrid2),
- BMI = if (!is.null(input$BMI2)) {input$BMI2} else {''},
- valgtShus = if (!is.null(input$valgtShus2)) {input$valgtShus2} else {''},
- op_gruppe = if (!is.null(input$op_gruppe2)) {input$op_gruppe2} else {''},
- ncsp = if (!is.null(input$ncsp_verdi2)) {input$ncsp_verdi2} else {''},
- # tilgang = if (!is.null(input$tilgang2)) {input$tilgang2} else {''},
- tilgang_utvidet = if (!is.null(input$tilgang_utvidet2)) {input$tilgang_utvidet2} else {''},
- minPRS = as.numeric(input$PRS2[1]), maxPRS = as.numeric(input$PRS2[2]),
- ASA = if (!is.null(input$ASA2)) {input$ASA2} else {''},
- modGlasgow = if (!is.null(input$modGlasgow2)) {input$modGlasgow2} else {''},
- whoEcog = if (!is.null(input$whoEcog2)) {input$whoEcog2} else {''},
- forbehandling = if (!is.null(input$forbehandling2)) {input$forbehandling2} else {''},
- malign = as.numeric(input$malign2),
- icd = if (!is.null(input$icd_verdi2)) {input$icd_verdi2} else {''}))
+ Utvalg2 <- shiny::isolate(
+ NorgastUtvalg(
+ RegData = RegData, datoFra = input$datovalg[1], datoTil = input$datovalg[2],
+ minald=as.numeric(input$alder2[1]), maxald=as.numeric(input$alder2[2]),
+ erMann = as.numeric(input$erMann2), kun_ferdigstilte = input$kun_ferdigstilte,
+ elektiv = as.numeric(input$elektiv2), hastegrad = as.numeric(input$hastegrad2),
+ hastegrad_hybrid = as.numeric(input$hastegrad_hybrid2),
+ BMI = if (!is.null(input$BMI2)) {input$BMI2} else {''},
+ valgtShus = if (!is.null(input$valgtShus2)) {input$valgtShus2} else {''},
+ op_gruppe = if (!is.null(input$op_gruppe2)) {input$op_gruppe2} else {''},
+ ncsp = if (!is.null(input$ncsp_verdi2)) {input$ncsp_verdi2} else {''},
+ # tilgang = if (!is.null(input$tilgang2)) {input$tilgang2} else {''},
+ tilgang_utvidet = if (!is.null(input$tilgang_utvidet2)) {input$tilgang_utvidet2} else {''},
+ minPRS = as.numeric(input$PRS2[1]), maxPRS = as.numeric(input$PRS2[2]),
+ ASA = if (!is.null(input$ASA2)) {input$ASA2} else {''},
+ modGlasgow = if (!is.null(input$modGlasgow2)) {input$modGlasgow2} else {''},
+ whoEcog = if (!is.null(input$whoEcog2)) {input$whoEcog2} else {''},
+ forbehandling = if (!is.null(input$forbehandling2)) {input$forbehandling2} else {''},
+ malign = as.numeric(input$malign2),
+ icd = if (!is.null(input$icd_verdi2)) {input$icd_verdi2} else {''},
+ accordion = if (!is.null(input$accordion2)) {input$accordion2} else {''}))
Utvalg2data <- Utvalg2$RegData
if (dim(Utvalg2data)[1] > 0) {
shiny::isolate(if (!is.null(input$valgtShus2)) {
@@ -495,23 +511,23 @@ saml_andeler <- function(input, output, session, reshID, RegData,
fra0 = input$fra0, inkl_tall=input$inkl_tall))
if (is.na(utdata$Konf$Utvalg2[1])){
Tabell_tid <- dplyr::tibble(Tidsperiode = utdata$andeler$TidsEnhet,
- Antall = utdata$antall[["1"]],
- N = utdata$N[["1"]], 'Andel (%)'= utdata$andeler[["1"]], KI_nedre = utdata$Konf$Utvalg1[1,],
- KI_ovre = utdata$Konf$Utvalg1[2,])
+ Antall = utdata$antall[["1"]],
+ N = utdata$N[["1"]], 'Andel (%)'= utdata$andeler[["1"]], KI_nedre = utdata$Konf$Utvalg1[1,],
+ KI_ovre = utdata$Konf$Utvalg1[2,])
Tabell_tid %>%
knitr::kable("html", digits = c(0,0,0,1,1,1)) %>%
kableExtra::kable_styling("hover", full_width = F)
} else {
Tabell_tid <- dplyr::tibble(Tidsperiode = utdata$andeler$TidsEnhet, Antall = utdata$antall[["1"]],
- N = utdata$N[["1"]], Andel = utdata$andeler[["1"]], Konf.int.nedre = utdata$Konf$Utvalg1[1,],
- Konf.int.ovre = utdata$Konf$Utvalg1[2,], Antall2 = utdata$antall[["2"]],
- N2 = utdata$N[["2"]], Andel2 = utdata$andeler[["2"]], Konf.int.nedre2 = utdata$Konf$Utvalg2[1,],
- Konf.int.ovre2 = utdata$Konf$Utvalg2[2,])
+ N = utdata$N[["1"]], Andel = utdata$andeler[["1"]], Konf.int.nedre = utdata$Konf$Utvalg1[1,],
+ Konf.int.ovre = utdata$Konf$Utvalg1[2,], Antall2 = utdata$antall[["2"]],
+ N2 = utdata$N[["2"]], Andel2 = utdata$andeler[["2"]], Konf.int.nedre2 = utdata$Konf$Utvalg2[1,],
+ Konf.int.ovre2 = utdata$Konf$Utvalg2[2,])
names(Tabell_tid) <- c('Tidsperiode', 'Antall', 'N', 'Andel (%)', 'KI_nedre', 'KI_ovre', 'Antall', 'N', 'Andel (%)',
'KI_nedre', 'KI_ovre')
Tabell_tid %>% knitr::kable("html", digits = c(0,0,0,1,1,1,0,0,1,1,1)) %>%
kableExtra::kable_styling("hover", full_width = F) %>%
- add_header_above(c(" ", "Utvalg 1" = 5, "Utvalg 2" = 5))
+ kableExtra::add_header_above(c(" ", "Utvalg 1" = 5, "Utvalg 2" = 5))
}
}
@@ -526,15 +542,15 @@ saml_andeler <- function(input, output, session, reshID, RegData,
fra0 = input$fra0, inkl_tall=input$inkl_tall))
if (is.na(utdata$Konf$Utvalg2)[1]){
Tabell_tid <- dplyr::tibble(Tidsperiode = utdata$andeler$TidsEnhet,
- Antall = utdata$antall[["1"]],
- N = utdata$N[["1"]], 'Andel (%)'= utdata$andeler[["1"]], KI_nedre = utdata$Konf$Utvalg1[1,],
- KI_ovre = utdata$Konf$Utvalg1[2,])
+ Antall = utdata$antall[["1"]],
+ N = utdata$N[["1"]], 'Andel (%)'= utdata$andeler[["1"]], KI_nedre = utdata$Konf$Utvalg1[1,],
+ KI_ovre = utdata$Konf$Utvalg1[2,])
} else {
Tabell_tid <- dplyr::tibble(Tidsperiode = utdata$andeler$TidsEnhet, Antall = utdata$antall[["1"]],
- N = utdata$N[["1"]], Andel = utdata$andeler[["1"]], Konf.int.nedre = utdata$Konf$Utvalg1[1,],
- Konf.int.ovre = utdata$Konf$Utvalg1[2,], Antall2 = utdata$antall[["2"]],
- N2 = utdata$N[["2"]], Andel2 = utdata$andeler[["2"]], Konf.int.nedre2 = utdata$Konf$Utvalg2[1,],
- Konf.int.ovre2 = utdata$Konf$Utvalg2[2,])
+ N = utdata$N[["1"]], Andel = utdata$andeler[["1"]], Konf.int.nedre = utdata$Konf$Utvalg1[1,],
+ Konf.int.ovre = utdata$Konf$Utvalg1[2,], Antall2 = utdata$antall[["2"]],
+ N2 = utdata$N[["2"]], Andel2 = utdata$andeler[["2"]], Konf.int.nedre2 = utdata$Konf$Utvalg2[1,],
+ Konf.int.ovre2 = utdata$Konf$Utvalg2[2,])
names(Tabell_tid) <- c('Tidsperiode', 'Antall', 'N', 'Andel (%)', 'KI_nedre', 'KI_ovre', 'Antall', 'N', 'Andel (%)',
'KI_nedre', 'KI_ovre')
}
diff --git a/R/modul_sykehusvisning.R b/R/modul_sykehusvisning.R
index 33ddd77..9a67174 100644
--- a/R/modul_sykehusvisning.R
+++ b/R/modul_sykehusvisning.R
@@ -58,6 +58,9 @@ sykehusvisning_UI <- function(id){
choices = c('Cytostatika'=1, 'Stråleterapi'=2, 'Komb. kjemo/radioterapi'=3, 'Ingen'=4)),
selectInput(inputId = ns("malign"), label = "Diagnose",
choices = c('Ikke valgt'=99, 'Malign'=1, 'Benign'=0)),
+ selectInput(inputId = ns("accordion"), label = "Accordiongrad",
+ multiple = TRUE,
+ choices = c('<3'=1, '3'=3, '4'=4, '5'=5, '6'=6)),
selectInput(inputId = ns("bildeformat"), label = "Velg bildeformat",
choices = c('pdf', 'png', 'jpg', 'bmp', 'tif', 'svg')),
tags$hr(),
@@ -133,11 +136,12 @@ sykehusvisning <- function(input, output, session, reshID, RegData, hvd_session,
output$ncsp <- renderUI({
ns <- session$ns
if (!is.null(input$op_gruppe)) {
- selectInput(inputId = ns("ncsp_verdi"), label = "NCSP koder (velg en eller flere)",
- choices = if (!is.null(input$op_gruppe)) {
- setNames(substr(sort(unique(RegData$Hovedoperasjon[RegData$Op_gr %in% as.numeric(input$op_gruppe)])), 1, 5),
- sort(unique(RegData$Hovedoperasjon[RegData$Op_gr %in% as.numeric(input$op_gruppe)])))
- }, multiple = TRUE)
+ selectInput(
+ inputId = ns("ncsp_verdi"), label = "NCSP koder (velg en eller flere)",
+ choices = if (!is.null(input$op_gruppe)) {
+ setNames(substr(sort(unique(RegData$Hovedoperasjon[RegData$Op_gr %in% as.numeric(input$op_gruppe)])), 1, 5),
+ sort(unique(RegData$Hovedoperasjon[RegData$Op_gr %in% as.numeric(input$op_gruppe)])))
+ }, multiple = TRUE)
}
})
@@ -159,8 +163,6 @@ sykehusvisning <- function(input, output, session, reshID, RegData, hvd_session,
choices = BrValg$varvalg_andel_stabel)
})
-
-
output$op_gruppe_ui <- renderUI({
ns <- session$ns
selectInput(inputId = ns("op_gruppe"), label = "Velg reseksjonsgruppe(r)",
@@ -193,9 +195,6 @@ sykehusvisning <- function(input, output, session, reshID, RegData, hvd_session,
})
-
-
-
############### Andeler #######################################################
output$fig_andel_grvar <- renderPlot({
@@ -224,7 +223,8 @@ sykehusvisning <- function(input, output, session, reshID, RegData, hvd_session,
ncsp = fiksNULL(input$ncsp_verdi),
hastegrad = as.numeric(input$hastegrad),
kun_ferdigstilte = input$kun_ferdigstilte,
- hastegrad_hybrid = as.numeric(input$hastegrad_hybrid))
+ hastegrad_hybrid = as.numeric(input$hastegrad_hybrid),
+ accordion = if (!is.null(input$accordion)) {input$accordion} else {''})
}, width = 700, height = 700)
tabellReagerSykehusAndel <- reactive({
@@ -254,7 +254,8 @@ sykehusvisning <- function(input, output, session, reshID, RegData, hvd_session,
ncsp = fiksNULL(input$ncsp_verdi),
hastegrad = as.numeric(input$hastegrad),
kun_ferdigstilte = input$kun_ferdigstilte,
- hastegrad_hybrid = as.numeric(input$hastegrad_hybrid))
+ hastegrad_hybrid = as.numeric(input$hastegrad_hybrid),
+ accordion = if (!is.null(input$accordion)) {input$accordion} else {''})
})
output$utvalg_sykehus_andel <- renderUI({
@@ -267,9 +268,9 @@ sykehusvisning <- function(input, output, session, reshID, RegData, hvd_session,
output$Tabell_sykehus_andel <- function() {
utdata <- tabellReagerSykehusAndel()
Tabell <- dplyr::tibble(Avdeling = names(utdata$Nvar), Antall=utdata$Nvar,
- 'Antall totalt'=utdata$Ngr,
- 'Andel (%)' = as.numeric(utdata$Nvar/utdata$Ngr*100),
- KI_nedre=utdata$KI[1,], KI_ovre=utdata$KI[2,])
+ 'Antall totalt'=utdata$Ngr,
+ 'Andel (%)' = as.numeric(utdata$Nvar/utdata$Ngr*100),
+ KI_nedre=utdata$KI[1,], KI_ovre=utdata$KI[2,])
Tabell[utdata$Andeler==-0.001, 2:6] <- NA
Tabell <- Tabell[dim(Tabell)[1]:1, ]
Tabell %>% knitr::kable("html", digits = c(0,0,0,1,1,1)) %>%
@@ -283,9 +284,9 @@ sykehusvisning <- function(input, output, session, reshID, RegData, hvd_session,
content = function(file){
utdata <- tabellReagerSykehusAndel()
Tabell <- dplyr::tibble(Avdeling = names(utdata$Nvar), Antall=utdata$Nvar,
- 'Antall totalt'=utdata$Ngr,
- 'Andel (%)' = as.numeric(utdata$Nvar/utdata$Ngr*100),
- KI_nedre=utdata$KI[1,], KI_ovre=utdata$KI[2,])
+ 'Antall totalt'=utdata$Ngr,
+ 'Andel (%)' = as.numeric(utdata$Nvar/utdata$Ngr*100),
+ KI_nedre=utdata$KI[1,], KI_ovre=utdata$KI[2,])
Tabell[utdata$Andeler==-0.001, 2:6] <- NA
Tabell <- Tabell[dim(Tabell)[1]:1, ]
write.csv3(Tabell, file, row.names = F, na = '')
@@ -324,7 +325,8 @@ sykehusvisning <- function(input, output, session, reshID, RegData, hvd_session,
outfile = file,
hastegrad = as.numeric(input$hastegrad),
kun_ferdigstilte = input$kun_ferdigstilte,
- hastegrad_hybrid = as.numeric(input$hastegrad_hybrid))
+ hastegrad_hybrid = as.numeric(input$hastegrad_hybrid),
+ accordion = if (!is.null(input$accordion)) {input$accordion} else {''})
}
)
@@ -335,7 +337,7 @@ sykehusvisning <- function(input, output, session, reshID, RegData, hvd_session,
RegData,
valgtVar = if (!is.null(input$valgtVar_andel_stabel)) {
input$valgtVar_andel_stabel
- } else {'ModGlasgowScore'},
+ } else {'ModGlasgowScore'},
datoFra = input$datovalg[1],
datoTil = input$datovalg[2],
minald=as.numeric(input$alder[1]),
@@ -356,7 +358,8 @@ sykehusvisning <- function(input, output, session, reshID, RegData, hvd_session,
ncsp = fiksNULL(input$ncsp_verdi),
hastegrad = as.numeric(input$hastegrad),
kun_ferdigstilte = input$kun_ferdigstilte,
- hastegrad_hybrid = as.numeric(input$hastegrad_hybrid))
+ hastegrad_hybrid = as.numeric(input$hastegrad_hybrid),
+ accordion = if (!is.null(input$accordion)) {input$accordion} else {''})
}, width = 700, height = 700)
@@ -385,7 +388,8 @@ sykehusvisning <- function(input, output, session, reshID, RegData, hvd_session,
ncsp = fiksNULL(input$ncsp_verdi),
hastegrad = as.numeric(input$hastegrad),
kun_ferdigstilte = input$kun_ferdigstilte,
- hastegrad_hybrid = as.numeric(input$hastegrad_hybrid))
+ hastegrad_hybrid = as.numeric(input$hastegrad_hybrid),
+ accordion = if (!is.null(input$accordion)) {input$accordion} else {''})
})
output$utvalg_sykehus_andel_stabel <- renderUI({
@@ -398,7 +402,7 @@ sykehusvisning <- function(input, output, session, reshID, RegData, hvd_session,
output$Tabell_sykehus_andel_stabel <- function() {
TabellData <- tabellReagerSykehusAndelStabel()
Tabell <- dplyr::bind_cols(TabellData$antall, TabellData$andeler[, 2:(dim(TabellData$andeler)[2]-1)],
- .name_repair = "minimal")
+ .name_repair = "minimal")
names(Tabell)[dim(Tabell)[2]/2 + 1] <- 'N'
Tabell %>% knitr::kable("html", digits = c(rep(0, dim(Tabell)[2]/2 + 1), rep(1, dim(Tabell)[2]/2 - 1))) %>%
@@ -415,7 +419,7 @@ sykehusvisning <- function(input, output, session, reshID, RegData, hvd_session,
content = function(file){
TabellData <- tabellReagerSykehusAndelStabel()
Tabell <- dplyr::bind_cols(TabellData$antall, TabellData$andeler[, 2:(dim(TabellData$andeler)[2]-1)],
- .name_repair = "minimal")
+ .name_repair = "minimal")
names(Tabell)[dim(Tabell)[2]/2 + 1] <- 'N'
write.csv3(Tabell, file, row.names = F, na = '')
}
@@ -455,7 +459,8 @@ sykehusvisning <- function(input, output, session, reshID, RegData, hvd_session,
outfile = file,
hastegrad = as.numeric(input$hastegrad),
kun_ferdigstilte = input$kun_ferdigstilte,
- hastegrad_hybrid = as.numeric(input$hastegrad_hybrid))
+ hastegrad_hybrid = as.numeric(input$hastegrad_hybrid),
+ accordion = if (!is.null(input$accordion)) {input$accordion} else {''})
}
)
@@ -488,7 +493,8 @@ sykehusvisning <- function(input, output, session, reshID, RegData, hvd_session,
ncsp = fiksNULL(input$ncsp_verdi),
hastegrad = as.numeric(input$hastegrad),
kun_ferdigstilte = input$kun_ferdigstilte,
- hastegrad_hybrid = as.numeric(input$hastegrad_hybrid))
+ hastegrad_hybrid = as.numeric(input$hastegrad_hybrid),
+ accordion = if (!is.null(input$accordion)) {input$accordion} else {''})
}, width = 700, height = 700)
tabellReagerSykehusGjsn <- reactive({
@@ -517,7 +523,8 @@ sykehusvisning <- function(input, output, session, reshID, RegData, hvd_session,
ncsp = fiksNULL(input$ncsp_verdi),
hastegrad = as.numeric(input$hastegrad),
kun_ferdigstilte = input$kun_ferdigstilte,
- hastegrad_hybrid = as.numeric(input$hastegrad_hybrid))
+ hastegrad_hybrid = as.numeric(input$hastegrad_hybrid),
+ accordion = if (!is.null(input$accordion)) {input$accordion} else {''})
})
output$utvalg_sykehus_gjsn <- renderUI({
@@ -580,7 +587,8 @@ sykehusvisning <- function(input, output, session, reshID, RegData, hvd_session,
ncsp = fiksNULL(input$ncsp_verdi),
kun_ferdigstilte = input$kun_ferdigstilte,
outfile = file,
- hastegrad_hybrid = as.numeric(input$hastegrad_hybrid))
+ hastegrad_hybrid = as.numeric(input$hastegrad_hybrid),
+ accordion = if (!is.null(input$accordion)) {input$accordion} else {''})
}
)
diff --git a/R/modul_tidsvisning.R b/R/modul_tidsvisning.R
index a0ecefd..92a1013 100644
--- a/R/modul_tidsvisning.R
+++ b/R/modul_tidsvisning.R
@@ -64,6 +64,9 @@ tidsvisning_UI <- function(id){
'Komb. kjemo/radioterapi'=3, 'Ingen'=4)),
selectInput(inputId = ns("malign"), label = "Diagnose",
choices = c('Ikke valgt'=99, 'Malign'=1, 'Benign'=0)),
+ selectInput(inputId = ns("accordion"), label = "Accordiongrad",
+ multiple = TRUE,
+ choices = c('<3'=1, '3'=3, '4'=4, '5'=5, '6'=6)),
selectInput(inputId = ns("bildeformat"), label = "Velg bildeformat",
choices = c('pdf', 'png', 'jpg', 'bmp', 'tif', 'svg')),
tags$hr(),
@@ -122,8 +125,10 @@ tidsvisning <- function(input, output, session, reshID, RegData, userRole,
output$valgtShus_ui <- renderUI({
ns <- session$ns
+ if (userRole == 'SC') {
selectInput(inputId = ns("valgtShus"), label = "Velg sykehus",
choices = BrValg$sykehus, multiple = TRUE)
+ }
})
output$valgtVar_ui <- renderUI({
@@ -167,65 +172,67 @@ tidsvisning <- function(input, output, session, reshID, RegData, userRole,
output$fig_andel_tid <- renderPlot({
- norgast::NorgastFigAndelTid(RegData,
- valgtVar=input$valgtVar,
- datoFra = input$datovalg[1],
- datoTil = input$datovalg[2],
- reshID = reshID,
- enhetsUtvalg=as.numeric(input$enhetsUtvalg),
- minald=as.numeric(input$alder[1]),
- maxald=as.numeric(input$alder[2]),
- valgtShus = fiksNULL(input$valgtShus),
- op_gruppe = fiksNULL(input$op_gruppe),
- ncsp = fiksNULL(input$ncsp_verdi),
- BMI = fiksNULL(input$BMI),
- # tilgang = fiksNULL(input$tilgang),
- tilgang_utvidet = if (!is.null(input$tilgang_utvidet)) {input$tilgang_utvidet} else {''},
- minPRS = as.numeric(input$PRS[1]),
- maxPRS = as.numeric(input$PRS[2]),
- ASA = fiksNULL(input$ASA),
- whoEcog = fiksNULL(input$whoEcog),
- forbehandling = fiksNULL(input$forbehandling),
- modGlasgow = fiksNULL(input$modGlasgow),
- malign = as.numeric(input$malign),
- erMann = as.numeric(input$erMann),
- elektiv = as.numeric(input$elektiv),
- tidsenhet = fiksNULL(input$tidsenhet, 'Aar'),
- inkl_konf = fiksNULL(input$inkl_konf, 99),
- hastegrad=as.numeric(input$hastegrad),
- kun_ferdigstilte = input$kun_ferdigstilte,
- hastegrad_hybrid = as.numeric(input$hastegrad_hybrid))
+ norgast::NorgastFigAndelTid(
+ RegData,
+ valgtVar=input$valgtVar,
+ datoFra = input$datovalg[1],
+ datoTil = input$datovalg[2],
+ reshID = reshID,
+ enhetsUtvalg=as.numeric(input$enhetsUtvalg),
+ minald=as.numeric(input$alder[1]),
+ maxald=as.numeric(input$alder[2]),
+ valgtShus = fiksNULL(input$valgtShus),
+ op_gruppe = fiksNULL(input$op_gruppe),
+ ncsp = fiksNULL(input$ncsp_verdi),
+ BMI = fiksNULL(input$BMI),
+ tilgang_utvidet = if (!is.null(input$tilgang_utvidet)) {input$tilgang_utvidet} else {''},
+ minPRS = as.numeric(input$PRS[1]),
+ maxPRS = as.numeric(input$PRS[2]),
+ ASA = fiksNULL(input$ASA),
+ whoEcog = fiksNULL(input$whoEcog),
+ forbehandling = fiksNULL(input$forbehandling),
+ modGlasgow = fiksNULL(input$modGlasgow),
+ malign = as.numeric(input$malign),
+ erMann = as.numeric(input$erMann),
+ elektiv = as.numeric(input$elektiv),
+ tidsenhet = fiksNULL(input$tidsenhet, 'Aar'),
+ inkl_konf = fiksNULL(input$inkl_konf, 99),
+ hastegrad=as.numeric(input$hastegrad),
+ kun_ferdigstilte = input$kun_ferdigstilte,
+ hastegrad_hybrid = as.numeric(input$hastegrad_hybrid),
+ accordion = if (!is.null(input$accordion)) {input$accordion} else {''})
}, width = 700, height = 700)
tabellReagerTid <- reactive({
- TabellData_Tid <- norgast::NorgastFigAndelTid(RegData,
- valgtVar=input$valgtVar,
- datoFra = input$datovalg[1],
- datoTil = input$datovalg[2],
- reshID = reshID,
- enhetsUtvalg=as.numeric(input$enhetsUtvalg),
- minald=as.numeric(input$alder[1]),
- maxald=as.numeric(input$alder[2]),
- valgtShus = fiksNULL(input$valgtShus),
- op_gruppe = fiksNULL(input$op_gruppe),
- ncsp = fiksNULL(input$ncsp_verdi),
- BMI = fiksNULL(input$BMI),
- # tilgang = fiksNULL(input$tilgang),
- tilgang_utvidet = if (!is.null(input$tilgang_utvidet)) {input$tilgang_utvidet} else {''},
- minPRS = as.numeric(input$PRS[1]),
- maxPRS = as.numeric(input$PRS[2]),
- ASA = fiksNULL(input$ASA),
- whoEcog = fiksNULL(input$whoEcog),
- forbehandling = fiksNULL(input$forbehandling),
- modGlasgow = fiksNULL(input$modGlasgow),
- malign = as.numeric(input$malign),
- erMann = as.numeric(input$erMann),
- elektiv = as.numeric(input$elektiv),
- tidsenhet = fiksNULL(input$tidsenhet, 'Aar'),
- inkl_konf = fiksNULL(input$inkl_konf, 99),
- hastegrad=as.numeric(input$hastegrad),
- kun_ferdigstilte = input$kun_ferdigstilte,
- hastegrad_hybrid = as.numeric(input$hastegrad_hybrid))
+ TabellData_Tid <- norgast::NorgastFigAndelTid(
+ RegData,
+ valgtVar=input$valgtVar,
+ datoFra = input$datovalg[1],
+ datoTil = input$datovalg[2],
+ reshID = reshID,
+ enhetsUtvalg=as.numeric(input$enhetsUtvalg),
+ minald=as.numeric(input$alder[1]),
+ maxald=as.numeric(input$alder[2]),
+ valgtShus = fiksNULL(input$valgtShus),
+ op_gruppe = fiksNULL(input$op_gruppe),
+ ncsp = fiksNULL(input$ncsp_verdi),
+ BMI = fiksNULL(input$BMI),
+ tilgang_utvidet = if (!is.null(input$tilgang_utvidet)) {input$tilgang_utvidet} else {''},
+ minPRS = as.numeric(input$PRS[1]),
+ maxPRS = as.numeric(input$PRS[2]),
+ ASA = fiksNULL(input$ASA),
+ whoEcog = fiksNULL(input$whoEcog),
+ forbehandling = fiksNULL(input$forbehandling),
+ modGlasgow = fiksNULL(input$modGlasgow),
+ malign = as.numeric(input$malign),
+ erMann = as.numeric(input$erMann),
+ elektiv = as.numeric(input$elektiv),
+ tidsenhet = fiksNULL(input$tidsenhet, 'Aar'),
+ inkl_konf = fiksNULL(input$inkl_konf, 99),
+ hastegrad=as.numeric(input$hastegrad),
+ kun_ferdigstilte = input$kun_ferdigstilte,
+ hastegrad_hybrid = as.numeric(input$hastegrad_hybrid),
+ accordion = if (!is.null(input$accordion)) {input$accordion} else {''})
})
output$utvalg_tid <- renderUI({
@@ -242,10 +249,10 @@ tidsvisning <- function(input, output, session, reshID, RegData, userRole,
utdata <- tabellReagerTid()
if (input$enhetsUtvalg == 1) {
Tabell_tid <- dplyr::tibble(Tidsperiode = utdata$Tidtxt, Antall = round(utdata$Andeler$AndelHoved*utdata$NTid$NTidHoved/100),
- N = utdata$NTid$NTidHoved, Andel = utdata$Andeler$AndelHoved, Konf.int.nedre = utdata$KonfInt$Konf[1,],
- Konf.int.ovre = utdata$KonfInt$Konf[2,], Antall2 = round(utdata$Andeler$AndelRest*utdata$NTid$NTidRest/100),
- N2 = utdata$NTid$NTidRest, Andel2 = utdata$Andeler$AndelRest, Konf.int.nedre2 = utdata$KonfInt$KonfRest[1,],
- Konf.int.ovre2 = utdata$KonfInt$KonfRest[2,])
+ N = utdata$NTid$NTidHoved, Andel = utdata$Andeler$AndelHoved, Konf.int.nedre = utdata$KonfInt$Konf[1,],
+ Konf.int.ovre = utdata$KonfInt$Konf[2,], Antall2 = round(utdata$Andeler$AndelRest*utdata$NTid$NTidRest/100),
+ N2 = utdata$NTid$NTidRest, Andel2 = utdata$Andeler$AndelRest, Konf.int.nedre2 = utdata$KonfInt$KonfRest[1,],
+ Konf.int.ovre2 = utdata$KonfInt$KonfRest[2,])
names(Tabell_tid) <- c('Tidsperiode', 'Antall', 'N', 'Andel (%)', 'KI_nedre', 'KI_ovre', 'Antall', 'N', 'Andel (%)',
'KI_nedre', 'KI_ovre')
Tabell_tid %>% knitr::kable("html", digits = c(0,0,0,1,1,1,0,0,1,1,1)) %>%
@@ -253,9 +260,9 @@ tidsvisning <- function(input, output, session, reshID, RegData, userRole,
kableExtra::add_header_above(c(" ", "Din avdeling" = 5, "Landet forøvrig" = 5))
} else {
Tabell_tid <- dplyr::tibble(Tidsperiode = utdata$Tidtxt,
- Antall = round(utdata$Andeler$AndelHoved*utdata$NTid$NTidHoved/100),
- N = utdata$NTid$NTidHoved, 'Andel (%)'= utdata$Andeler$AndelHoved, KI_nedre = utdata$KonfInt$Konf[1,],
- KI_ovre = utdata$KonfInt$Konf[2,])
+ Antall = round(utdata$Andeler$AndelHoved*utdata$NTid$NTidHoved/100),
+ N = utdata$NTid$NTidHoved, 'Andel (%)'= utdata$Andeler$AndelHoved, KI_nedre = utdata$KonfInt$Konf[1,],
+ KI_ovre = utdata$KonfInt$Konf[2,])
Tabell_tid %>%
knitr::kable("html", digits = c(0,0,0,1,1,1)) %>%
kableExtra::kable_styling("hover", full_width = F)
@@ -270,15 +277,15 @@ tidsvisning <- function(input, output, session, reshID, RegData, userRole,
utdata <- tabellReagerTid()
if (input$enhetsUtvalg == 1) {
Tabell_tid <- dplyr::tibble(Tidsperiode = utdata$Tidtxt, Antall = round(utdata$Andeler$AndelHoved*utdata$NTid$NTidHoved/100),
- N = utdata$NTid$NTidHoved, Andel = utdata$Andeler$AndelHoved, Konf.int.nedre = utdata$KonfInt$Konf[1,],
- Konf.int.ovre = utdata$KonfInt$Konf[2,], Antall2 = round(utdata$Andeler$AndelRest*utdata$NTid$NTidRest/100),
- N2 = utdata$NTid$NTidRest, Andel2 = utdata$Andeler$AndelRest, Konf.int.nedre2 = utdata$KonfInt$KonfRest[1,],
- Konf.int.ovre2 = utdata$KonfInt$KonfRest[2,])
+ N = utdata$NTid$NTidHoved, Andel = utdata$Andeler$AndelHoved, Konf.int.nedre = utdata$KonfInt$Konf[1,],
+ Konf.int.ovre = utdata$KonfInt$Konf[2,], Antall2 = round(utdata$Andeler$AndelRest*utdata$NTid$NTidRest/100),
+ N2 = utdata$NTid$NTidRest, Andel2 = utdata$Andeler$AndelRest, Konf.int.nedre2 = utdata$KonfInt$KonfRest[1,],
+ Konf.int.ovre2 = utdata$KonfInt$KonfRest[2,])
} else {
Tabell_tid <- dplyr::tibble(Tidsperiode = utdata$Tidtxt,
- Antall = round(utdata$Andeler$AndelHoved*utdata$NTid$NTidHoved/100),
- N = utdata$NTid$NTidHoved, Andel = utdata$Andeler$AndelHoved, Konf.int.nedre = utdata$KonfInt$Konf[1,],
- Konf.int.ovre = utdata$KonfInt$Konf[2,])
+ Antall = round(utdata$Andeler$AndelHoved*utdata$NTid$NTidHoved/100),
+ N = utdata$NTid$NTidHoved, Andel = utdata$Andeler$AndelHoved, Konf.int.nedre = utdata$KonfInt$Konf[1,],
+ Konf.int.ovre = utdata$KonfInt$Konf[2,])
}
write.csv3(Tabell_tid, file, row.names = F)
}
@@ -289,35 +296,36 @@ tidsvisning <- function(input, output, session, reshID, RegData, userRole,
paste0(input$valgtVar, '_tid', Sys.time(), '.', input$bildeformat)
},
content = function(file){
- norgast::NorgastFigAndelTid(RegData,
- valgtVar=input$valgtVar,
- datoFra = input$datovalg[1],
- datoTil = input$datovalg[2],
- reshID = reshID,
- enhetsUtvalg=as.numeric(input$enhetsUtvalg),
- minald=as.numeric(input$alder[1]),
- maxald=as.numeric(input$alder[2]),
- valgtShus = fiksNULL(input$valgtShus),
- op_gruppe = fiksNULL(input$op_gruppe),
- ncsp = fiksNULL(input$ncsp_verdi),
- BMI = fiksNULL(input$BMI),
- # tilgang = fiksNULL(input$tilgang),
- tilgang_utvidet = if (!is.null(input$tilgang_utvidet)) {input$tilgang_utvidet} else {''},
- minPRS = as.numeric(input$PRS[1]),
- maxPRS = as.numeric(input$PRS[2]),
- ASA = fiksNULL(input$ASA),
- hastegrad=as.numeric(input$hastegrad),
- whoEcog = fiksNULL(input$whoEcog),
- forbehandling = fiksNULL(input$forbehandling),
- modGlasgow = fiksNULL(input$modGlasgow),
- malign = as.numeric(input$malign),
- erMann = as.numeric(input$erMann),
- elektiv = as.numeric(input$elektiv),
- tidsenhet = fiksNULL(input$tidsenhet, 'Aar'),
- inkl_konf = fiksNULL(input$inkl_konf, 99),
- kun_ferdigstilte = input$kun_ferdigstilte,
- outfile = file,
- hastegrad_hybrid = as.numeric(input$hastegrad_hybrid))
+ norgast::NorgastFigAndelTid(
+ RegData,
+ valgtVar=input$valgtVar,
+ datoFra = input$datovalg[1],
+ datoTil = input$datovalg[2],
+ reshID = reshID,
+ enhetsUtvalg=as.numeric(input$enhetsUtvalg),
+ minald=as.numeric(input$alder[1]),
+ maxald=as.numeric(input$alder[2]),
+ valgtShus = fiksNULL(input$valgtShus),
+ op_gruppe = fiksNULL(input$op_gruppe),
+ ncsp = fiksNULL(input$ncsp_verdi),
+ BMI = fiksNULL(input$BMI),
+ tilgang_utvidet = if (!is.null(input$tilgang_utvidet)) {input$tilgang_utvidet} else {''},
+ minPRS = as.numeric(input$PRS[1]),
+ maxPRS = as.numeric(input$PRS[2]),
+ ASA = fiksNULL(input$ASA),
+ hastegrad=as.numeric(input$hastegrad),
+ whoEcog = fiksNULL(input$whoEcog),
+ forbehandling = fiksNULL(input$forbehandling),
+ modGlasgow = fiksNULL(input$modGlasgow),
+ malign = as.numeric(input$malign),
+ erMann = as.numeric(input$erMann),
+ elektiv = as.numeric(input$elektiv),
+ tidsenhet = fiksNULL(input$tidsenhet, 'Aar'),
+ inkl_konf = fiksNULL(input$inkl_konf, 99),
+ kun_ferdigstilte = input$kun_ferdigstilte,
+ outfile = file,
+ hastegrad_hybrid = as.numeric(input$hastegrad_hybrid),
+ accordion = if (!is.null(input$accordion)) {input$accordion} else {''})
}
)
diff --git a/R/modul_traktplot.R b/R/modul_traktplot.R
index a0cbb84..efa43cd 100644
--- a/R/modul_traktplot.R
+++ b/R/modul_traktplot.R
@@ -9,53 +9,65 @@ traktplot_UI <- function(id){
ns <- shiny::NS(id)
shiny::sidebarLayout(
- sidebarPanel(width = 3,
- id = ns("id_trakt_panel"),
- div(id = ns("br_kontroller1"),
- checkboxInput(inputId = ns("referansepasient"), label = "Velg referansepasient"),
- checkboxInput(inputId = ns("kun_ferdigstilte"), label = "Inkludér kun komplette forløp (også oppfølging ferdigstilt)", value = TRUE),
- # selectInput(inputId = ns("valgtVar"), label = "Velg variabel",
- # choices = BrValg$varvalg_andel),
- uiOutput(ns("valgtVar_ui")),
- numericInput(ns("fjern_n"),"Fjern avdelinger med antall forløp færre enn:", value = 10, min = 0, max = 500, step = 1),
- checkboxInput(inputId = ns("aktiver_justering"), label = "Juster midtverdi"),
- uiOutput(outputId = ns('settMaalnivaa'))),
- uiOutput(ns("slider_to_anim")),
- div(id = ns("br_kontroller2"),
- uiOutput(ns("speed_value")),
- sliderInput(inputId=ns("alder"), label = "Alder", min = 0,
- max = 120, value = c(0, 120)),
- selectInput(inputId = ns("erMann"), label = "Kjønn",
- choices = c('Begge'=99, 'Kvinne'=0, 'Mann'=1)),
- # selectInput(inputId = ns("op_gruppe"), label = "Velg reseksjonsgruppe(r)",
- # choices = BrValg$reseksjonsgrupper, multiple = TRUE),
- uiOutput(ns("op_gruppe_ui")),
- uiOutput(outputId = ns('ncsp')),
- selectInput(inputId = ns("elektiv"), label = "Tidspunkt for operasjonsstart",
- choices = c('Ikke valgt'=99, 'Innenfor normalarbeidstid'=1, 'Utenfor normalarbeidstid'=0)),
- selectInput(inputId = ns("hastegrad"), label = "Hastegrad",
- choices = c('Ikke valgt'=99, 'Elektiv'=1, 'Akutt'=2)),
- selectInput(inputId = ns("hastegrad_hybrid"), label = "Hastegrad, hybrid (bruker hastegrad når den finnes, ellers tidspkt for op.start)",
- choices = c('Ikke valgt'=99, 'Elektiv'=1, 'Akutt'=0)),
- # selectInput(inputId = ns("BMI"), label = "BMI", choices = BrValg$bmi_valg, multiple = TRUE),
- uiOutput(ns("BMI_ui")),
- # selectInput(inputId = ns("tilgang_utvidet"),
- # label = "Tilgang i abdomen (inkl. robotassistanse)",
- # choices = BrValg$tilgang_utvidet, multiple = TRUE),
- uiOutput(outputId = ns('tilgang_utvidet_ui')),
- sliderInput(inputId = ns("PRS"), label = "mE-PASS", min = 0, max = 2.2, value = c(0, 2.2), step = 0.05),
- # selectInput(inputId = ns("ASA"), label = "ASA-grad", choices = BrValg$ASA_valg, multiple = TRUE),
- uiOutput(outputId = ns('ASA_ui')),
- selectInput(inputId = ns("modGlasgow"), label = "Modified Glasgow score", choices = 0:2, multiple = TRUE),
- # selectInput(inputId = ns("whoEcog"), label = "WHO ECOG score", choices = BrValg$whoEcog_valg, multiple = TRUE),
- uiOutput(outputId = ns('whoEcog_ui')),
- selectInput(inputId = ns("forbehandling"), label = "Onkologisk forbehandling", multiple = TRUE,
- choices = c('Cytostatika'=1, 'Stråleterapi'=2, 'Komb. kjemo/radioterapi'=3, 'Ingen'=4)),
- selectInput(inputId = ns("malign"), label = "Diagnose", choices = c('Ikke valgt'=99, 'Malign'=1, 'Benign'=0)),
- selectInput(inputId = ns("bildeformat"), label = "Velg bildeformat",
- choices = c('pdf', 'png', 'jpg', 'bmp', 'tif', 'svg'))),
- tags$hr(),
- actionButton(ns("reset_input"), "Nullstill valg")
+ sidebarPanel(
+ width = 3,
+ id = ns("id_trakt_panel"),
+ div(id = ns("br_kontroller1"),
+ checkboxInput(inputId = ns("referansepasient"),
+ label = "Velg referansepasient"),
+ checkboxInput(inputId = ns("kun_ferdigstilte"),
+ label = "Inkludér kun komplette forløp (også oppfølging ferdigstilt)",
+ value = TRUE),
+ uiOutput(ns("valgtVar_ui")),
+ numericInput(ns("fjern_n"),
+ "Fjern avdelinger med antall forløp færre enn:",
+ value = 10, min = 0, max = 500, step = 1),
+ checkboxInput(inputId = ns("aktiver_justering"),
+ label = "Juster midtverdi"),
+ uiOutput(outputId = ns('settMaalnivaa'))),
+ uiOutput(ns("slider_to_anim")),
+ div(id = ns("br_kontroller2"),
+ uiOutput(ns("speed_value")),
+ sliderInput(inputId=ns("alder"), label = "Alder", min = 0,
+ max = 120, value = c(0, 120)),
+ selectInput(inputId = ns("erMann"), label = "Kjønn",
+ choices = c('Begge'=99, 'Kvinne'=0, 'Mann'=1)),
+ uiOutput(ns("op_gruppe_ui")),
+ uiOutput(outputId = ns('ncsp')),
+ selectInput(inputId = ns("elektiv"),
+ label = "Tidspunkt for operasjonsstart",
+ choices = c('Ikke valgt'=99,
+ 'Innenfor normalarbeidstid'=1,
+ 'Utenfor normalarbeidstid'=0)),
+ selectInput(inputId = ns("hastegrad"), label = "Hastegrad",
+ choices = c('Ikke valgt'=99, 'Elektiv'=1, 'Akutt'=2)),
+ selectInput(inputId = ns("hastegrad_hybrid"),
+ label = "Hastegrad, hybrid (bruker hastegrad når den
+ finnes, ellers tidspkt for op.start)",
+ choices = c('Ikke valgt'=99, 'Elektiv'=1, 'Akutt'=0)),
+ uiOutput(ns("BMI_ui")),
+ uiOutput(outputId = ns('tilgang_utvidet_ui')),
+ sliderInput(inputId = ns("PRS"), label = "mE-PASS",
+ min = 0, max = 2.2, value = c(0, 2.2), step = 0.05),
+ uiOutput(outputId = ns('ASA_ui')),
+ selectInput(inputId = ns("modGlasgow"),
+ label = "Modified Glasgow score",
+ choices = 0:2, multiple = TRUE),
+ uiOutput(outputId = ns('whoEcog_ui')),
+ selectInput(inputId = ns("forbehandling"),
+ label = "Onkologisk forbehandling",
+ multiple = TRUE,
+ choices = c('Cytostatika'=1, 'Stråleterapi'=2,
+ 'Komb. kjemo/radioterapi'=3, 'Ingen'=4)),
+ selectInput(inputId = ns("malign"), label = "Diagnose",
+ choices = c('Ikke valgt'=99, 'Malign'=1, 'Benign'=0)),
+ selectInput(inputId = ns("accordion"), label = "Accordiongrad",
+ multiple = TRUE,
+ choices = c('<3'=1, '3'=3, '4'=4, '5'=5, '6'=6)),
+ selectInput(inputId = ns("bildeformat"), label = "Velg bildeformat",
+ choices = c('pdf', 'png', 'jpg', 'bmp', 'tif', 'svg'))),
+ tags$hr(),
+ actionButton(ns("reset_input"), "Nullstill valg")
),
mainPanel(
# tabsetPanel(
@@ -204,28 +216,29 @@ traktplot <- function(input, output, session, reshID, RegData, hvd_session, BrVa
## Gjør utvalg basert på brukervalg (LibUtvalg)
if (!is.null(input$datovalg)) {
- NorgastUtvalg <- NorgastUtvalg(RegData=RegData, datoFra = input$datovalg[1],
- datoTil = input$datovalg[2],
- kun_ferdigstilte = input$kun_ferdigstilte,
- minald=as.numeric(input$alder[1]),
- maxald=as.numeric(input$alder[2]),
- erMann=as.numeric(input$erMann),
- elektiv=as.numeric(input$elektiv),
- hastegrad = as.numeric(input$hastegrad),
- hastegrad_hybrid = as.numeric(input$hastegrad_hybrid),
- BMI=fiksNULL(input$BMI), valgtShus='',
- # tilgang=fiksNULL(input$tilgang),
- tilgang_utvidet = if (!is.null(input$tilgang_utvidet)) {input$tilgang_utvidet} else {''},
- minPRS = as.numeric(input$PRS[1]),
- maxPRS = as.numeric(input$PRS[2]),
- ASA=fiksNULL(input$ASA),
- whoEcog=fiksNULL(input$whoEcog),
- forbehandling = fiksNULL(input$forbehandling),
- malign=as.numeric(input$malign),
- # robotassiastanse = as.numeric(fiksNULL(input$robotassistanse_verdi, 99)),
- op_gruppe=fiksNULL(input$op_gruppe),
- ncsp = fiksNULL(input$ncsp_verdi),
- modGlasgow=fiksNULL(input$modGlasgow))
+ NorgastUtvalg <- NorgastUtvalg(
+ RegData=RegData, datoFra = input$datovalg[1],
+ datoTil = input$datovalg[2],
+ kun_ferdigstilte = input$kun_ferdigstilte,
+ minald=as.numeric(input$alder[1]),
+ maxald=as.numeric(input$alder[2]),
+ erMann=as.numeric(input$erMann),
+ elektiv=as.numeric(input$elektiv),
+ hastegrad = as.numeric(input$hastegrad),
+ hastegrad_hybrid = as.numeric(input$hastegrad_hybrid),
+ BMI=fiksNULL(input$BMI), valgtShus='',
+ tilgang_utvidet = if (!is.null(input$tilgang_utvidet)) {
+ input$tilgang_utvidet} else {''},
+ minPRS = as.numeric(input$PRS[1]),
+ maxPRS = as.numeric(input$PRS[2]),
+ ASA=fiksNULL(input$ASA),
+ whoEcog=fiksNULL(input$whoEcog),
+ forbehandling = fiksNULL(input$forbehandling),
+ malign=as.numeric(input$malign),
+ op_gruppe=fiksNULL(input$op_gruppe),
+ ncsp = fiksNULL(input$ncsp_verdi),
+ modGlasgow=fiksNULL(input$modGlasgow),
+ accordion = if (!is.null(input$accordion)) {input$accordion} else {''})
RegData <- NorgastUtvalg$RegData
utvalgTxt <- NorgastUtvalg$utvalgTxt} else utvalgTxt <-""
@@ -239,17 +252,17 @@ traktplot <- function(input, output, session, reshID, RegData, hvd_session, BrVa
if (input$aktiver_justering & !is.null(input$settMaalnivaa_verdi)) {
my_limits <- funnelR::fundata(input=my_data,
- benchmark= as.numeric(input$settMaalnivaa_verdi)/100,
- alpha=0.80,
- alpha2=0.95,
- method='approximate',
- step=1)
+ benchmark= as.numeric(input$settMaalnivaa_verdi)/100,
+ alpha=0.80,
+ alpha2=0.95,
+ method='approximate',
+ step=1)
} else {
my_limits <- funnelR::fundata(input=my_data,
- alpha=0.80,
- alpha2=0.95,
- method='approximate',
- step=1)
+ alpha=0.80,
+ alpha2=0.95,
+ method='approximate',
+ step=1)
}
my_limits$lo[my_limits$lo < 0] <- 0
@@ -274,7 +287,7 @@ traktplot <- function(input, output, session, reshID, RegData, hvd_session, BrVa
observeEvent(input$plot_click2, {
vals$shus <- data.frame(traktdata()$my_data[order(traktdata()$my_data$andel), ], color="blue")
vals$shus$color[round(as.numeric(input$plot_click2$y))] <- 'red'
- vals$klikkinfo <- c(round(as.numeric(input$plot_click2$y)), vals$klikkinfo)
+ vals$klikkinfo <- c(round(as.numeric(input$plot_click2$y)), vals$klikkinfo)
})
observeEvent(input$plot_click, {
vals$shus <- data.frame(traktdata()$my_data[order(traktdata()$my_data$andel), ], color="blue")
@@ -289,18 +302,18 @@ traktplot <- function(input, output, session, reshID, RegData, hvd_session, BrVa
my_data <- merge(my_data, vals$shus[, c("Sykehusnavn", "color")], by="Sykehusnavn")
} else {my_data$color <- "blue"}
my_data$color[is.na(my_data$color)] <- "red"
- ggplot2::ggplot(data=my_data, ggplot2::aes(x=d,y=andel, color=color)) +
- ggplot2::geom_line(data=my_limits, ggplot2::aes(x=d, y=up2), colour=farger[1]) +
- ggplot2::geom_line(data=my_limits, ggplot2::aes(x=d, y=lo2), colour=farger[1]) +
- ggplot2::geom_hline(data=my_limits, ggplot2::aes(yintercept=benchmark*100), colour="red") +
- ggplot2::coord_cartesian(ylim=c(0,max(my_limits$up2, my_data$andel)), clip = "off") +
- ggplot2::annotate("text", x = round(max(my_data$d)[1]*1.1),
- y = my_limits$benchmark[1]*110,
- label = as.character(round(my_limits$benchmark[1]*100, 2))) +
- ggplot2::theme_classic()+ ggplot2::geom_point(data=my_data, size=1.5) +
- ggplot2::scale_color_manual(values = c("red" = "red", "blue" = "black"), na.value = "red") +
- ggplot2::labs(x = "Antall forløp", y = "Andel (%)") + #scale_x_discrete(expand = c(0, 10)) +
- ggplot2::theme(legend.position = "none")
+ ggplot2::ggplot(data=my_data, ggplot2::aes(x=d,y=andel, color=color)) +
+ ggplot2::geom_line(data=my_limits, ggplot2::aes(x=d, y=up2), colour=farger[1]) +
+ ggplot2::geom_line(data=my_limits, ggplot2::aes(x=d, y=lo2), colour=farger[1]) +
+ ggplot2::geom_hline(data=my_limits, ggplot2::aes(yintercept=benchmark*100), colour="red") +
+ ggplot2::coord_cartesian(ylim=c(0,max(my_limits$up2, my_data$andel)), clip = "off") +
+ ggplot2::annotate("text", x = round(max(my_data$d)[1]*1.1),
+ y = my_limits$benchmark[1]*110,
+ label = as.character(round(my_limits$benchmark[1]*100, 2))) +
+ ggplot2::theme_classic()+ ggplot2::geom_point(data=my_data, size=1.5) +
+ ggplot2::scale_color_manual(values = c("red" = "red", "blue" = "black"), na.value = "red") +
+ ggplot2::labs(x = "Antall forløp", y = "Andel (%)") + #scale_x_discrete(expand = c(0, 10)) +
+ ggplot2::theme(legend.position = "none")
})
output$barplot <- renderPlot({
@@ -312,53 +325,23 @@ traktplot <- function(input, output, session, reshID, RegData, hvd_session, BrVa
my_data <- my_data[order(my_data$andel), ]
my_data$Sykehusnavn <- factor(my_data$Sykehusnavn, levels = my_data$Sykehusnavn)
my_data$color[is.na(my_data$color)] <- "red"
- ggplot2::ggplot(data=my_data, ggplot2::aes(x=Sykehusnavn, y=andel, fill = color)) +
- ggplot2::geom_bar(stat = "identity", width = 0.5) +
- ggplot2::coord_flip() +
- ggplot2::theme_classic() +
- ggplot2::scale_x_discrete(expand = c(0, 0)) +
- ggplot2::scale_y_continuous(expand = c(0,0)) +
- ggplot2::labs(y = "Andel (%)") +
- ggplot2::theme(legend.position = "none",
- plot.title = ggplot2::element_text(hjust = 0.5),
- axis.line.y = ggplot2::element_blank(),
- axis.ticks.y = ggplot2::element_blank(),
- axis.title.y = ggplot2::element_blank()) +
- ggplot2::scale_fill_manual(values = c("red" = "red", "blue" = farger[1]),
- na.value = "red")
+ ggplot2::ggplot(data=my_data, ggplot2::aes(x=Sykehusnavn, y=andel, fill = color)) +
+ ggplot2::geom_bar(stat = "identity", width = 0.5) +
+ ggplot2::coord_flip() +
+ ggplot2::theme_classic() +
+ ggplot2::scale_x_discrete(expand = c(0, 0)) +
+ ggplot2::scale_y_continuous(expand = c(0,0)) +
+ ggplot2::labs(y = "Andel (%)") +
+ ggplot2::theme(legend.position = "none",
+ plot.title = ggplot2::element_text(hjust = 0.5),
+ axis.line.y = ggplot2::element_blank(),
+ axis.ticks.y = ggplot2::element_blank(),
+ axis.title.y = ggplot2::element_blank()) +
+ ggplot2::scale_fill_manual(values = c("red" = "red", "blue" = farger[1]),
+ na.value = "red")
}
})
- # output$hover_info <- renderUI({
- # hover <- input$plot_hover
- # my_data <-traktdata()$my_data
- # point <- nearPoints(my_data, hover, xvar = "d", yvar = "andel", threshold = 5, maxpoints = 1, addDist = TRUE)
- # if (nrow(point) == 0) return(NULL)
- #
- # # calculate point position INSIDE the image as percent of total dimensions
- # # from left (horizontal) and from top (vertical)
- # left_pct <- (hover$x - hover$domain$left) / (hover$domain$right - hover$domain$left)
- # top_pct <- (hover$domain$top - hover$y) / (hover$domain$top - hover$domain$bottom)
- #
- # # calculate distance from left and bottom side of the picture in pixels
- # left_px <- hover$range$left + left_pct * (hover$range$right - hover$range$left)
- # top_px <- hover$range$top + top_pct * (hover$range$bottom - hover$range$top)
- #
- # # create style property fot tooltip
- # # background color is set so tooltip is a bit transparent
- # # z-index is set so we are sure are tooltip will be on top
- # style <- paste0("position:absolute; z-index:100; background-color: rgba(245, 245, 245, 0.85); ",
- # "left:", left_px -6, "px; top:", top_px + 452, "px;")
- #
- # # actual tooltip created as wellPanel
- # wellPanel(
- # style = style,
- # p(HTML(paste0(" Avdeling: ", point$Sykehusnavn, "
",
- # " Andel: ", round(point$andel, 1), " % ","
",
- # " N: ", point$d, "
")))
- # )
- # })
-
output$click_info_verbatim <- renderUI({
if (dim(vals$shus)[1]>0) {
my_data <- traktdata()$my_data
diff --git a/R/norgastBeregnIndikator.R b/R/norgastBeregnIndikator.R
index 09b4ba9..0c2435f 100644
--- a/R/norgastBeregnIndikator.R
+++ b/R/norgastBeregnIndikator.R
@@ -60,8 +60,8 @@ norgastBeregnIndikator <- function(RegData, ind_id) {
dplyr::filter(Op_gr %in% 1:8, # Kun obligatoriske
OppfStatus == 1 | is.na(OppfStatus), # Kun ferdige
Hastegrad_hybrid==1) %>%
- dplyr::mutate(var = case_when(TelefonKontroll==1 | FysiskKontroll==1 ~ 1,
- TelefonKontroll==0 & FysiskKontroll==0 ~ 0),
+ dplyr::mutate(var = dplyr::case_when(TelefonKontroll==1 | FysiskKontroll==1 ~ 1,
+ TelefonKontroll==0 & FysiskKontroll==0 ~ 0),
context = "caregiver",
denominator = 1,
ind_id = "norgast_aktivkontroll",
@@ -162,7 +162,7 @@ norgastBeregnIndikator <- function(RegData, ind_id) {
denominator = 1,
ind_id = "konv_rate_kolon",
orgnr = map_resh_orgnr$orgnr_sh[match(AvdRESH, map_resh_orgnr$resh)],
- var = case_when(
+ var = dplyr::case_when(
Tilgang == 2 ~ 0,
Tilgang == 3 ~ 1
)) %>%
@@ -264,7 +264,7 @@ norgastBeregnIndikator <- function(RegData, ind_id) {
denominator = 1,
ind_id = "konv_rate_rektum",
orgnr = map_resh_orgnr$orgnr_sh[match(AvdRESH, map_resh_orgnr$resh)],
- var = case_when(
+ var = dplyr::case_when(
Tilgang == 2 ~ 0,
Tilgang == 3 ~ 1
)) %>%
@@ -650,7 +650,8 @@ norgastPlotIndikator <- function(AntTilfeller, N, andeler, tittel="",
graaUt=NA, skriftStr=1.2, utvalgTxt="",
minstekrav = NA, maal = NA, pktStr=1.4,
legPlass='top', minstekravTxt='Akseptabelt',
- maalTxt='Mål', maalretn='hoy', prikktall=TRUE) {
+ maalTxt='Mål', maalretn='hoy', prikktall=TRUE,
+ pst_kolonne = T) {
tittel <- c(tittel, 'inkl. 95% konf. int.')
@@ -701,6 +702,8 @@ norgastPlotIndikator <- function(AntTilfeller, N, andeler, tittel="",
par('oma'=c(0,1,length(utvalgTxt),0))
par('mar'=c(5.1, 4.1, 5.1, 2.1))
+ if (pst_kolonne) {par('mar'=c(5.1, 4.1, 5.1, 9.1)) }
+
xmax <- min(max(KI, max(andeler, na.rm = T), na.rm = T)*1.15,100)
andeler <- rbind(c(NA,NA), andeler, c(NA,NA))
rownames(andeler)[dim(andeler)[1]] <- ' '
@@ -715,15 +718,21 @@ norgastPlotIndikator <- function(AntTilfeller, N, andeler, tittel="",
fargerMaalNiva <- c('aquamarine3','#fbf850', 'red')
if (maal > minstekrav & !is.na(maal) & !is.na(minstekrav)) {
- rect(xleft=minstekrav, ybottom=1, xright=maal, ytop=max(ypos)-1.6, col = fargerMaalNiva[2], border = NA)
- rect(xleft=maal, ybottom=1, xright=min(xmax, 100), ytop=max(ypos)-1.6, col = fargerMaalNiva[1], border = NA)}
+ rect(xleft=minstekrav, ybottom=1, xright=maal, ytop=max(ypos)-1.6,
+ col = fargerMaalNiva[2], border = NA)
+ rect(xleft=maal, ybottom=1, xright=min(xmax, 100), ytop=max(ypos)-1.6,
+ col = fargerMaalNiva[1], border = NA)}
if (maal < minstekrav & !is.na(maal) & !is.na(minstekrav)) {
- rect(xleft=maal, ybottom=1, xright=minstekrav, ytop=max(ypos)-1.6, col = fargerMaalNiva[2], border = NA)
- rect(xleft=0, ybottom=1, xright=maal, ytop=max(ypos)-1.6, col = fargerMaalNiva[1], border = NA)}
+ rect(xleft=maal, ybottom=1, xright=minstekrav, ytop=max(ypos)-1.6,
+ col = fargerMaalNiva[2], border = NA)
+ rect(xleft=0, ybottom=1, xright=maal, ytop=max(ypos)-1.6,
+ col = fargerMaalNiva[1], border = NA)}
if (!is.na(maal) & is.na(minstekrav) & maalretn=='lav') {
- rect(xleft=0, ybottom=1, xright=maal, ytop=max(ypos)-1.6, col = fargerMaalNiva[1], border = NA)}
+ rect(xleft=0, ybottom=1, xright=maal, ytop=max(ypos)-1.6,
+ col = fargerMaalNiva[1], border = NA)}
if (!is.na(maal) & is.na(minstekrav) & maalretn=='hoy') {
- rect(xleft=maal, ybottom=1, xright=min(xmax, 100), ytop=max(ypos)-1.6, col = fargerMaalNiva[1], border = NA)}
+ rect(xleft=maal, ybottom=1, xright=min(xmax, 100), ytop=max(ypos)-1.6,
+ col = fargerMaalNiva[1], border = NA)}
barplot( t(andeler[,dim(andeler)[2]]), beside=T, las=1,
names.arg=rep('',dim(andeler)[1]),
@@ -731,7 +740,7 @@ norgastPlotIndikator <- function(AntTilfeller, N, andeler, tittel="",
col=soyleFarger, border=NA, xlab = 'Andel (%)', add=TRUE)
# title(main = tittel, outer=T)
- title(main = tittel)
+ title(main = tittel, xpd=TRUE)
ypos <- as.numeric(ypos) #as.vector(ypos)
yposOver <- max(ypos)-2 + 0.5*diff(ypos)[1]
if (!is.na(minstekrav)) {
@@ -785,8 +794,17 @@ norgastPlotIndikator <- function(AntTilfeller, N, andeler, tittel="",
lwd=c(NA,NA), pch=c(19,15), pt.cex=c(1.2,1.8), col=c('black',farger[3]),
legend=names(N), ncol = dim(andeler)[2])}
- text(x=0, y=ypos, labels = pst_txt, cex=0.75, pos=4)#
- if (prikktall) {text(x=andeler[,1], y=ypos, labels = pst_txt_prikk, cex=0.75, pos=4, xpd = T)}
+ if (prikktall) {
+ text(x=0, y=ypos, labels = pst_txt, cex=0.75, pos=4)#
+ text(x=andeler[,1], y=ypos, labels = pst_txt_prikk, cex=0.75, pos=4, xpd = T)
+ }
+
+ if (pst_kolonne) {
+ mtext( pst_txt_prikk, side=4, line=3.5, las=1, at=ypos, col=1, cex=cexgr*0.75, adj = 1)
+ mtext( pst_txt, side=4, line=7.5, las=1, at=ypos, col=1, cex=cexgr*0.75, adj = 1)
+ mtext( names(N)[1], side=4, line=3.5, las=1, at=max(ypos), col=1, cex=cexgr*0.75, adj = 1, font = 2)
+ mtext( names(N)[2], side=4, line=7.5, las=1, at=max(ypos), col=1, cex=cexgr*0.75, adj = 1, font = 2)
+ }
#Tekst som angir hvilket utvalg som er gjort
mtext(utvalgTxt, side=3, las=1, cex=0.9, adj=0, col=farger[1], line=(length(utvalgTxt)-1):0, outer=TRUE)
diff --git a/R/norgastFigAndelGrVarTid.R b/R/norgastFigAndelGrVarTid.R
index 67297c2..4a57439 100644
--- a/R/norgastFigAndelGrVarTid.R
+++ b/R/norgastFigAndelGrVarTid.R
@@ -16,7 +16,7 @@ norgastFigAndelGrVarTid <- function(RegData, valgtVar, tittel='', width=800, hei
minstekravTxt='Min.', maalTxt='Mål', graaUt=NA, inkl_konf=F, datoFra='2014-01-01', datoTil='2050-12-31',
minald=0, maxald=130, erMann=99, outfile='', preprosess=F, malign=99, elektiv=99, BMI='',
tilgang='', minPRS=0, maxPRS=2.2, ASA='', whoEcog= '', forbehandling='',
- hentData=0, op_gruppe='', ncsp='', robotassiastanse=99, kun_ferdigstilte=FALSE)
+ hentData=0, op_gruppe='', ncsp='', robotassiastanse=99, kun_ferdigstilte=FALSE, accordion='')
{
## Hvis spørring skjer fra R på server. ######################
if(hentData){
@@ -43,7 +43,7 @@ norgastFigAndelGrVarTid <- function(RegData, valgtVar, tittel='', width=800, hei
BMI=BMI, tilgang=tilgang, minPRS=minPRS, maxPRS=maxPRS,
ASA=ASA, whoEcog=whoEcog, forbehandling=forbehandling, malign=malign,
op_gruppe=op_gruppe, ncsp=ncsp, robotassiastanse=robotassiastanse,
- kun_ferdigstilte=kun_ferdigstilte)
+ kun_ferdigstilte=kun_ferdigstilte, accordion=accordion)
RegData <- NorgastUtvalg$RegData
utvalgTxt <- NorgastUtvalg$utvalgTxt
NutvTxt <- length(utvalgTxt)
diff --git a/R/norgastFigAntRegTid.R b/R/norgastFigAntRegTid.R
index f29dcd4..bab4f38 100644
--- a/R/norgastFigAntRegTid.R
+++ b/R/norgastFigAntRegTid.R
@@ -20,7 +20,8 @@ norgastFigAntRegTid <- function(
datoFra='2014-01-01', datoTil='2050-12-31', minald=0, maxald=130, erMann=99,
outfile='', preprosess=F, malign=99, elektiv=99, BMI='', tilgang='', minPRS=0,
maxPRS=2.2, ASA='', whoEcog= '', forbehandling='', hentData=0, op_gruppe='',
- ncsp='', robotassiastanse=99, kun_ferdigstilte=TRUE, alletider=FALSE)
+ ncsp='', robotassiastanse=99, kun_ferdigstilte=TRUE, alletider=FALSE,
+ accordion='')
{
if (tittel[1] == '') {
tittel <- 'Registrerende avdelinger i NORGAST'
@@ -33,7 +34,7 @@ norgastFigAntRegTid <- function(
BMI=BMI, tilgang=tilgang, minPRS=minPRS, maxPRS=maxPRS,
ASA=ASA, whoEcog=whoEcog, forbehandling=forbehandling, malign=malign,
op_gruppe=op_gruppe, ncsp=ncsp, robotassiastanse=robotassiastanse,
- kun_ferdigstilte=kun_ferdigstilte)
+ kun_ferdigstilte=kun_ferdigstilte, accordion=accordion)
RegData <- NorgastUtvalg$RegData
utvalgTxt <- NorgastUtvalg$utvalgTxt
NutvTxt <- length(utvalgTxt)
@@ -79,7 +80,7 @@ norgastFigAntRegTid <- function(
BMI=BMI, tilgang=tilgang, minPRS=minPRS, maxPRS=maxPRS,
ASA=ASA, whoEcog=whoEcog, forbehandling=forbehandling, malign=malign,
op_gruppe=op_gruppe, ncsp=ncsp, robotassiastanse=robotassiastanse,
- kun_ferdigstilte=kun_ferdigstilte)
+ kun_ferdigstilte=kun_ferdigstilte, accordion=accordion)
RegData <- NorgastUtvalg$RegData
utvalgTxt <- NorgastUtvalg$utvalgTxt
NutvTxt <- length(utvalgTxt)
diff --git a/doc/BestillingerOgUtleveringer.R b/doc/BestillingerOgUtleveringer.R
index 66d6dbd..581b897 100644
--- a/doc/BestillingerOgUtleveringer.R
+++ b/doc/BestillingerOgUtleveringer.R
@@ -3,6 +3,45 @@ library(norgast)
library(tidyverse)
rm(list=ls())
+#### FLORENCE 26.01.2024 #######################################################
+kobling_krg <- read.csv2("~/mydata/norgast/Nøkkel_NORGAST.csv",
+ colClasses = c("character", "integer"))
+kobling_hnikt <- read.csv2("~/mydata/norgast/NoRGast_koblingstabell_datadump_26.01.2024.csv",
+ colClasses = c("integer", "character")) %>%
+ merge(kobling_krg, by.x = "SSN", by.y = "FNR")
+RegData <- norgast::NorgastHentRegData()
+varnavn <- readxl::read_xlsx("~/mydata/norgast/Klokeboken_med_RAPPORTEKNAVN_FLORENCE.xlsx",
+ sheet = 1) %>%
+ dplyr::filter(`Til Florence prosjektet` == "Ja")
+varnavn <- unique(varnavn$navn_i_rapporteket)
+RegData <- RegData %>% dplyr::select(c(varnavn, "PasientID")) %>%
+ dplyr::filter(PasientID %in% kobling_hnikt$PID.x)
+
+
+#### KRG 07.12.2023 ############################################################
+kobling_krg <- haven::read_dta("~/mydata/norgast/nøkkeltilnorgast.dta")
+kobling_hnikt <- read.csv2("~/mydata/norgast/NoRGast_koblingstabell_datadump_07.12.2023.csv",
+ colClasses = c("integer", "character"))
+
+felles <- merge(kobling_krg, kobling_hnikt, by.x = "FNR", by.y = "SSN",
+ suffixes = c("", "_hnikt")) %>%
+ dplyr::select(-FNR)
+
+RegData <- norgast::NorgastHentRegData() %>%
+ norgast::NorgastPreprosess() %>%
+ dplyr::filter(OperasjonsDato >= "2019-01-01" & OperasjonsDato < "2023-01-01") %>%
+ merge(felles, by.x = "PasientId", by.y = "PID_hnikt") %>%
+ dplyr::select(PID, OperasjonsDato, BMI, ASA, Vekt6MndFoer, Hoyde,
+ VektVedInnleggelse, WHOECOG, MedDiabetes, Albumin, CRP,
+ Hjertesykdom, Lungesykdom, Hovedoperasjon, PostopLiggedogn,
+ UtskrevetTil)
+
+write.csv2(RegData, "~/mydata/norgast/pdac_20231211.csv", row.names = FALSE,
+ fileEncoding = "Latin1")
+
+
+
+
#### Kjerstin 30.05.2023 ########################################################
RegData <- norgast::NorgastHentRegData()
RegData <- norgast::NorgastPreprosess(RegData)
diff --git a/doc/indikatorerSykehusviser.R b/doc/indikatorerSykehusviser.R
index 1e4f830..00c5efb 100644
--- a/doc/indikatorerSykehusviser.R
+++ b/doc/indikatorerSykehusviser.R
@@ -2,13 +2,14 @@ library(norgast)
library(tidyverse)
rm(list = ls())
-rap_aar <- 2022
+rap_aar <- 2023
RegData <- norgast::NorgastHentRegData()
RegData <- norgast::NorgastPreprosess(RegData)
# RegData$AvdRESH[RegData$AvdRESH == 4204126] <- 4204084 # Tull med Ringerike
RegDataOblig <- RegData[RegData$Op_gr %in% 1:8, ]
+RegDataOblig <- RegDataOblig %>% filter(OpDato < "2023-07-01") ## Ad hoc, desemberpublisering
ind <- c("norgast_saarruptur", "norgast_aktivkontroll", "norgast_vekt_reg",
"norgast_avdoede_spiseroer", "norgast_avdoede_magesekk",
@@ -23,21 +24,6 @@ for (ind_id in ind[-1]) {
indikator <- dplyr::bind_rows(indikator, norgastBeregnIndikator(RegDataOblig, ind_id)$Indikator)
}
-
-indikatordata <- norgastBeregnIndikator(RegDataOblig, "norgast_vekt_reg")
-
-
-norgastPlotIndikator(AntTilfeller = indikatordata$AntTilfeller,
- N = indikatordata$N,
- andeler = indikatordata$andeler,
- decreasing = indikatordata$decreasing,
- terskel = indikatordata$terskel,
- minstekrav = indikatordata$minstekrav,
- maal = indikatordata$maal,
- utvalgTxt = indikatordata$utvalgTxt,
- tittel = indikatordata$tittel)
-
-
### Tilbered dekningsgrad for sykehusviser
dg_kobl_resh_orgnr <- data.frame(orgnr_sh = c(974733013, 974631407, 974557746, 974632535, 974795787, 974705788, 974633574, 974795639,
@@ -52,118 +38,7 @@ dg_kobl_resh_orgnr <- data.frame(orgnr_sh = c(974733013, 974631407, 974557746, 9
103312,4205289, 974631776, 974744570, 974747545, 974753898, 974795558, 974795574, 4212917,
106168, 4207594, 4216823))
-# dg <- readxl::read_excel("~/.ssh/norgast/DG_Norgast.xlsx",
-# sheet = "Total DG per SH")
-# dg$orgnr <- dg_kobl_resh_orgnr$orgnr_sh[match(dg$ReshID, dg_kobl_resh_orgnr$resh)]
-# # dg$orgnr[which(dg$Sykehus=="Levanger")] <- 974754118
-# dg <- dg[,c(10,6,2,3)]
-# dg <- dg[!is.na(dg$orgnr), ]
-# dg$ind_id <- "norgast_dg_total"
-# names(dg)[2:4] <- c("year", "var", "denominator")
-# dg_samlet <- dg
-#
-#
-# dg <- readxl::read_excel("~/.ssh/norgast/DG_Norgast.xlsx",
-# sheet = "DG Tykktarm")
-# dg$orgnr <- dg_kobl_resh_orgnr$orgnr_sh[match(dg$ReshID, dg_kobl_resh_orgnr$resh)]
-# # dg$orgnr[dg$Sykehus=="Levanger"] <- 974754118
-# dg <- dg[,c(10,6,2,3)]
-# dg <- dg[!is.na(dg$orgnr), ]
-# dg$ind_id <- "norgast_dg_tykktarm"
-# names(dg)[2:4] <- c("year", "var", "denominator")
-# dg_samlet <- bind_rows(dg_samlet, dg)
-#
-# dg <- readxl::read_excel("~/.ssh/norgast/DG_Norgast.xlsx",
-# sheet = "DG_Lever")
-# dg$orgnr <- dg_kobl_resh_orgnr$orgnr_sh[match(dg$ReshID, dg_kobl_resh_orgnr$resh)]
-# # dg$orgnr[dg$Sykehus=="Levanger"] <- 974754118
-# dg <- dg[,c(10,6,2,3)]
-# dg <- dg[!is.na(dg$orgnr), ]
-# dg$ind_id <- "norgast_dg_lever"
-# names(dg)[2:4] <- c("year", "var", "denominator")
-# dg_samlet <- bind_rows(dg_samlet, dg)
-#
-# dg <- readxl::read_excel("~/.ssh/norgast/DG_Norgast.xlsx",
-# sheet = "DG_Pankreas")
-# dg$orgnr <- dg_kobl_resh_orgnr$orgnr_sh[match(dg$ReshID, dg_kobl_resh_orgnr$resh)]
-# # dg$orgnr[dg$Sykehus=="Levanger"] <- 974754118
-# dg <- dg[,c(10,6,2,3)]
-# dg <- dg[!is.na(dg$orgnr), ]
-# dg$ind_id <- "norgast_dg_pankreas"
-# names(dg)[2:4] <- c("year", "var", "denominator")
-# dg_samlet <- bind_rows(dg_samlet, dg)
-#
-# dg <- readxl::read_excel("~/.ssh/norgast/DG_Norgast.xlsx",
-# sheet = "DG_Endetarm")
-# dg$orgnr <- dg_kobl_resh_orgnr$orgnr_sh[match(dg$ReshID, dg_kobl_resh_orgnr$resh)]
-# # dg$orgnr[dg$Sykehus=="Levanger"] <- 974754118
-# dg <- dg[,c(10,6,2,3)]
-# dg <- dg[!is.na(dg$orgnr), ]
-# dg$ind_id <- "norgast_dg_endetarm"
-# names(dg)[2:4] <- c("year", "var", "denominator")
-# dg_samlet <- bind_rows(dg_samlet, dg)
-#
-# dg <- readxl::read_excel("~/.ssh/norgast/DG_Norgast.xlsx",
-# sheet = "DG_Magesekk")
-# dg$orgnr <- dg_kobl_resh_orgnr$orgnr_sh[match(dg$ReshID, dg_kobl_resh_orgnr$resh)]
-# # dg$orgnr[dg$Sykehus=="Levanger"] <- 974754118
-# dg <- dg[,c(10,6,2,3)]
-# dg <- dg[!is.na(dg$orgnr), ]
-# dg$ind_id <- "norgast_dg_magesekk"
-# names(dg)[2:4] <- c("year", "var", "denominator")
-# dg_samlet <- bind_rows(dg_samlet, dg)
-#
-# dg <- readxl::read_excel("~/.ssh/norgast/DG_Norgast.xlsx",
-# sheet = "DG_Spiseroer")
-# dg$orgnr <- dg_kobl_resh_orgnr$orgnr_sh[match(dg$ReshID, dg_kobl_resh_orgnr$resh)]
-# # dg$orgnr[dg$Sykehus=="Levanger"] <- 974754118
-# dg <- dg[,c(10,6,2,3)]
-# dg <- dg[!is.na(dg$orgnr), ]
-# dg$ind_id <- "norgast_dg_spiseroer"
-# names(dg)[2:4] <- c("year", "var", "denominator")
-# dg_samlet <- bind_rows(dg_samlet, dg)
-#
-# # Legg til 2021
-# mapping_npr <- read.csv2('~/.ssh/Sykehus/Koblingstabell_AvdRESH_sh_standard.csv', fileEncoding = "Latin1")
-# DG <- read.csv2('~/.ssh/Sykehus/Alle_sh.csv', fileEncoding = "Latin1")
-# DG$ind_id <- "norgast_dg_total"
-# DG_samlet <- DG
-#
-# DG <- read.csv2('~/.ssh/Sykehus/Kolon_sh.csv', fileEncoding = "Latin1")
-# DG$ind_id <- "norgast_dg_tykktarm"
-# DG_samlet <- bind_rows(DG_samlet, DG)
-#
-# DG <- read.csv2('~/.ssh/Sykehus/Rektum_sh.csv', fileEncoding = "Latin1")
-# DG$ind_id <- "norgast_dg_endetarm"
-# DG_samlet <- bind_rows(DG_samlet, DG)
-#
-# DG <- read.csv2('~/.ssh/Sykehus/Lever_sh.csv', fileEncoding = "Latin1")
-# DG$ind_id <- "norgast_dg_lever"
-# DG_samlet <- bind_rows(DG_samlet, DG)
-#
-# DG <- read.csv2('~/.ssh/Sykehus/Ventrikkel_sh.csv', fileEncoding = "Latin1")
-# DG$ind_id <- "norgast_dg_magesekk"
-# DG_samlet <- bind_rows(DG_samlet, DG)
-#
-# DG <- read.csv2('~/.ssh/Sykehus/Whipple_sh.csv', fileEncoding = "Latin1")
-# DG$ind_id <- "norgast_dg_pankreas"
-# DG_samlet <- bind_rows(DG_samlet, DG)
-#
-# DG <- read.csv2('~/.ssh/Sykehus/Øsofagus_sh.csv', fileEncoding = "Latin1")
-# DG$ind_id <- "norgast_dg_spiseroer"
-# DG_samlet <- bind_rows(DG_samlet, DG)
-#
-# DG_samlet$AvdRESH <- mapping_npr$AvdRESH[match(DG_samlet$sh_standard, mapping_npr$sh_standard)]
-# DG_samlet <- DG_samlet[!is.na(DG_samlet$AvdRESH), ]
-# DG_samlet$orgnr <- dg_kobl_resh_orgnr$orgnr_sh[match(DG_samlet$AvdRESH, dg_kobl_resh_orgnr$resh)]
-# DG_samlet$year <- 2021
-# DG_samlet$var <- DG_samlet$Begge + DG_samlet$Kun_norgast
-# DG_samlet$denominator <- DG_samlet$Total
-#
-# DG_samlet <- DG_samlet[,c("orgnr", "year", "var", "denominator", "ind_id")]
-# dg_samlet <- bind_rows(DG_samlet, dg_samlet)
-# dg_samlet$context <- "caregiver"
-# dg_samlet$var <- round(dg_samlet$var)
+
dg_samlet <- read.csv2("~/mydata/norgast/dg_norgast.csv")
dg_samlet <- dg_samlet %>% dplyr::filter(substr(ind_id, 1, 10) == "norgast_dg")
@@ -219,14 +94,3 @@ indikator <- bind_rows(indikator, dg_samlet)
write.csv2(indikator, paste0("~/mydata/norgast/norgast_indikator_", lubridate::today(), ".csv"),
row.names = F, fileEncoding = 'UTF-8')
-# slett_resident <- indikator[match(unique(indikator$ind_id), indikator$ind_id), ]
-# slett_resident$context <- "resident"
-# slett_resident$var <- 0
-# slett_resident$denominator <- 1
-#
-# write.csv2(slett_resident, "~/.ssh/norgast/norgast_slett_resident_2022_09_06.csv", row.names = F, fileEncoding = 'UTF-8')
-
-# write.csv2(dg_samlet[dg_samlet$year <= rap_aar, ], "~/.ssh/norgast/norgast_dg.csv", row.names = F, fileEncoding = 'UTF-8')
-#
-# ind_info <- readxl::read_xlsx("~/.ssh/norgast/Indikatorbeskrivelse publisering SKDE_KH.xlsx", sheet = 2)
-
diff --git a/inst/Aarsrapport2023_kolorekt.Rnw b/inst/Aarsrapport2023_kolorekt.Rnw
new file mode 100644
index 0000000..d60609f
--- /dev/null
+++ b/inst/Aarsrapport2023_kolorekt.Rnw
@@ -0,0 +1,981 @@
+\documentclass[norsk,a4paper]{article} % ,twoside
+\usepackage[norsk]{babel}
+\usepackage[utf8x]{inputenc}
+\usepackage{subfig}
+\usepackage{pdfpages}
+\usepackage{booktabs}
+\usepackage{caption}
+\usepackage{amssymb}
+\usepackage[a4paper]{geometry}
+
+\title{Figurer og tabeller for årsrapport NORGAST 2023 - Kolon og rektum}
+\author{NORGAST}
+
+\renewcommand\thempfootnote{\fnsymbol{mpfootnote}}
+\def\labelitemi{$\bullet$}
+\def\labelitemii{--}
+\def\labelitemiii{$\ast$}
+\def\labelitemiv{$\cdot$}
+
+%setter grå skrift fremfort sort
+\usepackage{xcolor}
+\usepackage{graphicx}
+\pagestyle{myheadings}
+\definecolor{lysblaa}{rgb}{0.27,0.51,0.71}
+\definecolor{moerkgraa}{rgb}{0.25,0.25,0.25}
+
+<<'initOpts',include=FALSE>>=
+knitr::opts_chunk$set(warnings=FALSE,echo=FALSE)
+knitr::opts_knit$set(root.dir = './')
+@
+
+\begin{document}
+
+<>=
+library(norgast)
+library(tidyverse)
+options(dplyr.summarise.inform = FALSE)
+rm(list = ls())
+
+RegData <- norgast::NorgastHentRegData()
+RegData <- NorgastPreprosess(RegData)
+RegData$AvdRESH[RegData$AvdRESH == 4204126] <- 4204084 # Tull med Ringerike
+
+rap_aar <- 2023 # Året rapporten skal kjøres for
+ant_aar <- 3 # Hvor mange år som skal inkluderes i flerårsfigurer
+
+reshID <- 0
+datoFra= paste0(rap_aar, '-01-01')
+datoTil= paste0(rap_aar, '-12-31')
+
+RegDataAll <- RegData[RegData$Aar<=rap_aar, ]
+RegData <- RegData[RegData$Aar==rap_aar, ]
+
+DG <- read.csv2('~/mydata/norgast/dg_opgr_shus.csv')
+DG <- DG[!is.na(DG$AvdRESH), ]
+# DG <- DG[DG$n_norgast != 0, ]
+
+graaUt_kolon <- DG$Sykehusnavn[DG$DG < 60 & DG$Op_gr == 1]
+graaUt_rektum <- DG$Sykehusnavn[DG$DG < 60 & DG$Op_gr == 2]
+
+figstr <- 1
+tmp <- Sys.setlocale(category = "LC_ALL", locale = "nb_NO.UTF-8")
+@
+
+\maketitle
+
+
+\clearpage
+
+<<'sett_parametre', include=FALSE, echo=FALSE, eval=T, cache=FALSE>>=
+width=600
+height=700
+sideTxt='Sykehus'
+decreasing=F
+terskel=10
+minstekrav = NA
+maal = NA
+skriftStr=0.9
+pktStr=1.0
+legPlass='top'
+minstekravTxt='Akseptabelt'
+maalTxt='Mål'
+dg_tekst <- "Dekningsgrad < 60 %"
+graaUt=NA
+minald=0
+maxald=130
+erMann <- 99
+inkl_konf <- T
+elektiv=99
+datoFra <- '2015-01-01'
+tittel <- ''
+hentData <- F
+preprosess <- F
+BMI=''
+tilgang=''
+minPRS=0
+maxPRS=2.2
+ASA=''
+whoEcog= ''
+hastegrad <- ''
+modGlasgow <- ''
+ncsp=''
+forbehandling=''
+valgtShus=c('')
+op_gruppe <- ''
+malign <- 99
+annet_format_ut <- T
+ut_format <- 'svg'
+
+figfolder <- "~/mydata/norgast/fig_aarsrapp2022/kolon/"
+if (!dir.exists(figfolder)) {
+ dir.create(figfolder)
+}
+@
+
+\section{Kolonreseksjoner}
+
+
+
+% \begin{table}[htb]
+% \begin{minipage}{\textwidth}
+% \centering
+<<'Tabell:ReoperasjonerKolon v3', results='asis', echo=FALSE, eval=T, warning=FALSE>>=
+aux <- RegData[which(RegData$Hastegrad_hybrid==1 &
+ RegData$ReLapNarkose %in% c(0, 1) &
+ RegData$Op_gr==1 & RegData$FerdigForlop == 1), ]
+aux$Tilgang <- factor(aux$Tilgang, levels = 1:3,
+ labels = c("Åpen", "Laparoskopisk", "Konvertert") )
+
+nytab <- aux %>% group_by(Tilgang) %>%
+ summarise(N = n(),
+ reop_rate = sum(ReLapNarkose),
+ anastomoselekk = sum(ViktigsteFunn==1, na.rm = T),
+ dyp_infek = sum(ViktigsteFunn==2, na.rm = T),
+ bloedning = sum(ViktigsteFunn==3, na.rm = T),
+ saarrupt = sum(ViktigsteFunn==4, na.rm = T),
+ annet = sum(ViktigsteFunn==5, na.rm = T),
+ ingen = sum(ViktigsteFunn==6, na.rm = T)) %>%
+ janitor::adorn_totals()
+
+aux$Robotassistanse <- factor(aux$Robotassistanse, levels = 0:1,
+ labels = c("\\quad \\textit{Standard}",
+ "\\quad \\textit{Robotassistert}") )
+
+undergr_lap <- aux %>% filter(Tilgang=="Laparoskopisk") %>%
+ group_by(Robotassistanse) %>%
+ summarise(N = n(),
+ reop_rate = sum(ReLapNarkose),
+ anastomoselekk = sum(ViktigsteFunn==1, na.rm = T),
+ dyp_infek = sum(ViktigsteFunn==2, na.rm = T),
+ bloedning = sum(ViktigsteFunn==3, na.rm = T),
+ saarrupt = sum(ViktigsteFunn==4, na.rm = T),
+ annet = sum(ViktigsteFunn==5, na.rm = T),
+ ingen = sum(ViktigsteFunn==6, na.rm = T))
+
+undergr_konv <- aux %>% filter(Tilgang=="Konvertert") %>%
+ group_by(Robotassistanse) %>%
+ summarise(N = n(),
+ reop_rate = sum(ReLapNarkose),
+ anastomoselekk = sum(ViktigsteFunn==1, na.rm = T),
+ dyp_infek = sum(ViktigsteFunn==2, na.rm = T),
+ bloedning = sum(ViktigsteFunn==3, na.rm = T),
+ saarrupt = sum(ViktigsteFunn==4, na.rm = T),
+ annet = sum(ViktigsteFunn==5, na.rm = T),
+ ingen = sum(ViktigsteFunn==6, na.rm = T))
+
+undergr <- bind_rows(undergr_lap, undergr_konv) %>%
+ rename(Tilgang = Robotassistanse) %>%
+ mutate(Tilgang = as.character(Tilgang))
+
+nytab <- bind_rows(nytab, undergr)
+nytab <- nytab[c(1,2,5,6,3,7,8,4), ]
+
+nytab[, -(1:2)] <- nytab[, -(1:2)]/nytab$N*100
+
+Tabell <- nytab
+Tabell$N[c(3,4,6,7)] <- paste0("\\textit{", Tabell$N[c(3,4,6,7)], "}")
+
+# print(
+# xtable::xtable(Tabell, digits=c(0,0,0,rep(1, ncol(Tabell)-2)),
+# align=c('l', 'l', rep('r', ncol(Tabell)-1))),
+# floating=FALSE,
+# hline.after=NULL,
+# add.to.row=list(
+# pos=list(-1,0,0,0,0,0, nrow(Tabell)),
+# command=c('\\toprule\n', '& & & \\multicolumn{4}{c}{Reoperasjonsrate for
+# ulike årsaker (\\%)} \\\\\n',
+# '\\cline{4-9} \n',
+# '& & Reoperasjons- & Anastomose- & Dyp &&&& \\\\\n',
+# 'Tilgang & N & rate (\\%) & lekkasje\\footnote[2]{Dette er av alle
+# opererte, ikke alle under risiko.} & infeksjon & Blødning & Sårruptur
+# & Annet & Ingen \\\\\n','\\midrule\n','\\bottomrule\n')),
+# include.colnames=FALSE, include.rownames=FALSE,
+# sanitize.text.function = function(x){x}
+# )
+
+Tabell_ny <- Tabell
+@
+% \captionof{table}{Kolonreseksjoner. Elektive operasjoner. Reoperasjoner \Sexpr{rap_aar} etter Tilgang. Gjelder \textbf{hele landet}.}
+% \end{minipage}
+% \end{table}
+
+\addtolength{\hoffset}{-1.5cm}
+
+\begin{table}[htb]
+\begin{minipage}{\textwidth}
+\begin{small}
+\centering
+<<'Tabell:ReoperasjonerKolon robotassistanse', results='asis', echo=FALSE, eval=T, warning=FALSE>>=
+aux <- RegData %>%
+ filter(Hastegrad_hybrid==1) %>%
+ filter(ReLapNarkose %in% c(0, 1)) %>%
+ filter(Op_gr==1) %>%
+ filter(FerdigForlop == 1) %>%
+ filter(Tilgang %in% 2:3)
+
+aux$Tilgang <- factor(aux$Tilgang, levels = 2:3,
+ labels = c("\\quad \\textit{Laparoskopisk}",
+ "\\quad \\textit{Konvertert}") )
+
+nytab <- aux %>% group_by(Robotassistanse, Tilgang) %>%
+ summarise(N = n(),
+ reop_rate = sum(ReLapNarkose),
+ anastomoselekk = sum(ViktigsteFunn==1, na.rm = T),
+ dyp_infek = sum(ViktigsteFunn==2, na.rm = T),
+ bloedning = sum(ViktigsteFunn==3, na.rm = T),
+ saarrupt = sum(ViktigsteFunn==4, na.rm = T),
+ annet = sum(ViktigsteFunn==5, na.rm = T),
+ ingen = sum(ViktigsteFunn==6, na.rm = T)) %>%
+ janitor::adorn_totals()
+
+
+ikkerobot <- aux %>% filter(Robotassistanse == 0) %>%
+ group_by(Tilgang) %>%
+ summarise(N = n(),
+ reop_rate = sum(ReLapNarkose),
+ anastomoselekk = sum(ViktigsteFunn==1, na.rm = T),
+ dyp_infek = sum(ViktigsteFunn==2, na.rm = T),
+ bloedning = sum(ViktigsteFunn==3, na.rm = T),
+ saarrupt = sum(ViktigsteFunn==4, na.rm = T),
+ annet = sum(ViktigsteFunn==5, na.rm = T),
+ ingen = sum(ViktigsteFunn==6, na.rm = T)) %>%
+ janitor::adorn_totals(name = "Ikke-robot")
+
+robot <- aux %>% filter(Robotassistanse == 1) %>%
+ group_by(Tilgang) %>%
+ summarise(N = n(),
+ reop_rate = sum(ReLapNarkose),
+ anastomoselekk = sum(ViktigsteFunn==1, na.rm = T),
+ dyp_infek = sum(ViktigsteFunn==2, na.rm = T),
+ bloedning = sum(ViktigsteFunn==3, na.rm = T),
+ saarrupt = sum(ViktigsteFunn==4, na.rm = T),
+ annet = sum(ViktigsteFunn==5, na.rm = T),
+ ingen = sum(ViktigsteFunn==6, na.rm = T)) %>%
+ janitor::adorn_totals(name = "Robotassistert")
+
+tab_4c <- dplyr::bind_rows(robot[c(3,1,2), ], ikkerobot[c(3,1,2), ])
+tab_4c <- dplyr::bind_rows(tab_4c,
+ data.frame(Tilgang = "Totalt",
+ t(colSums(tab_4c[c(1,4), -1]))))
+
+tab_4c[, -(1:2)] <- tab_4c[, -(1:2)]/tab_4c$N*100
+
+Tabell <- tab_4c
+Tabell$N[c(2,3,5,6)] <- paste0("\\textit{", Tabell$N[c(2,3,5,6)], "}")
+
+Tabell_sml <- Tabell_ny[1, ] %>%
+ bind_rows(Tabell[7, ]) %>%
+ bind_rows(Tabell[1:3, ]) %>%
+ bind_rows(Tabell[4:6, ]) %>%
+ bind_rows(Tabell_ny[8, ])
+Tabell_sml$Tilgang <- c("\\textbf{Åpen}", "\\textbf{Laparoskopisk (ITT)}",
+ "\\quad Robotassistert", "\\quad \\quad \\textit{Fullført laparoskopisk}",
+ "\\quad \\quad \\textit{Konvertert}", "\\quad Ikke-robot",
+ "\\quad \\quad \\textit{Fullført laparoskopisk}",
+ "\\quad \\quad \\textit{Konvertert}", "\\textbf{Totalt}")
+
+print(
+ xtable::xtable(Tabell_sml, digits=c(0,0,0,rep(1, ncol(Tabell_sml)-2)),
+ align=c('l', 'l', rep('r', ncol(Tabell_sml)-1))),
+ floating=FALSE,
+ hline.after=NULL,
+ add.to.row=list(
+ pos=list(-1,0,0,0,0,0, nrow(Tabell_sml)),
+ command=c('\\toprule\n', '& & & \\multicolumn{4}{c}{Reoperasjonsrate for
+ ulike årsaker (\\%)} \\\\\n', '\\cline{4-9} \n',
+ '& & Reoperasjons- & Anastomose- & Dyp &&&& \\\\\n',
+ 'Tilgang & N & rate (\\%) & lekkasje\\footnote[2]{Dette er av alle
+ opererte, ikke alle under risiko.} & infeksjon & Blødning & Sårruptur
+ & Annet & Ingen \\\\\n','\\midrule\n','\\bottomrule\n')),
+ include.colnames=FALSE, include.rownames=FALSE,
+ sanitize.text.function = function(x){x})
+@
+\captionof{table}{Kolonreseksjoner. Elektive operasjoner. Reoperasjoner \Sexpr{rap_aar} etter robotassistert og ikke-robotassistert laparoskopi. ITT = Intention to treat.}
+\end{small}
+\end{minipage}
+\end{table}
+
+% \addtolength{\hoffset}{-1.5cm}
+
+<<'fig_kolon', include=FALSE, echo=FALSE, eval=T, cache=FALSE>>=
+op_gruppe <- 1
+elektiv <- 1
+hastegrad_hybrid <- 1
+
+tittel <- ''
+valgtVar <- 'LapTilgang2'
+outfile <- 'Tilgang_elektiv_malign_ecog_0_1.pdf'
+outfile <- paste0(figfolder, outfile)
+norgastIndikator_rapporteket(
+ RegDataAll, valgtVar = valgtVar, outfile=outfile, tittel=tittel, width=width,
+ height=height, decreasing=decreasing, terskel=terskel, minstekrav = 60, maal = 70,
+ skriftStr=skriftStr, lavDG = graaUt_kolon, lavDGtekst = dg_tekst, pktStr=pktStr,
+ legPlass='topleft', minstekravTxt=minstekravTxt, maalTxt=maalTxt, graaUt=graaUt,
+ whoEcog= c('0', '1'), inkl_konf=inkl_konf, op_gruppe=op_gruppe, datoFra=datoFra,
+ datoTil=datoTil, hastegrad_hybrid=hastegrad_hybrid, malign=malign)
+if (annet_format_ut) {
+ outfile <- paste0(substr(outfile, 1, nchar(outfile)-3), ut_format)
+ norgastIndikator_rapporteket(
+ RegDataAll, valgtVar = valgtVar, outfile=outfile, tittel=tittel, width=width,
+ height=height, decreasing=decreasing, terskel=terskel, minstekrav = 60, maal = 70,
+ skriftStr=skriftStr, lavDG = graaUt_kolon, lavDGtekst = dg_tekst, pktStr=pktStr,
+ legPlass='topleft', minstekravTxt=minstekravTxt, maalTxt=maalTxt, graaUt=graaUt,
+ whoEcog= c('0', '1'), inkl_konf=inkl_konf, op_gruppe=op_gruppe, datoFra=datoFra,
+ datoTil=datoTil, hastegrad_hybrid=hastegrad_hybrid, malign=malign)
+}
+
+
+outfile <- 'AccordionGrad_elektiv_benign.pdf'
+outfile <- paste0(figfolder, outfile)
+NorgastFigAndelStabelGrVar(
+ RegData, valgtVar='AccordionGrad_drenasje', op_gruppe=op_gruppe,
+ hastegrad_hybrid=1, outfile=outfile, Ngrense=10, malign = 0, lavDG = graaUt_kolon)
+if (annet_format_ut) {
+ outfile <- paste0(substr(outfile, 1, nchar(outfile)-3), ut_format)
+ NorgastFigAndelStabelGrVar(
+ RegData, valgtVar='AccordionGrad_drenasje', op_gruppe=op_gruppe,
+ hastegrad_hybrid=1, outfile=outfile, Ngrense=10, malign = 0, lavDG = graaUt_kolon)
+}
+
+outfile <- 'AccordionGrad_elektiv_malign.pdf'
+outfile <- paste0(figfolder, outfile)
+NorgastFigAndelStabelGrVar(
+ RegData, valgtVar='AccordionGrad_drenasje', op_gruppe=op_gruppe,
+ hastegrad_hybrid=1, outfile=outfile, Ngrense=10, malign = 1, lavDG = graaUt_kolon)
+if (annet_format_ut) {
+ outfile <- paste0(substr(outfile, 1, nchar(outfile)-3), ut_format)
+ NorgastFigAndelStabelGrVar(
+ RegData, valgtVar='AccordionGrad_drenasje', op_gruppe=op_gruppe,
+ hastegrad_hybrid=1, outfile=outfile, Ngrense=10, malign = 1, lavDG = graaUt_kolon)
+}
+
+outfile <- 'AccordionGrad_ohjelp.pdf'
+outfile <- paste0(figfolder, outfile)
+FigAndeler(
+ RegData, valgtVar='AccordionGrad', enhetsUtvalg=0, op_gruppe=op_gruppe,
+ hastegrad_hybrid=0, outfile=outfile, reshID=reshID)
+if (annet_format_ut) {
+ outfile <- paste0(substr(outfile, 1, nchar(outfile)-3), ut_format)
+ FigAndeler(
+ RegData, valgtVar='AccordionGrad', enhetsUtvalg=0, op_gruppe=op_gruppe,
+ hastegrad_hybrid=0, outfile=outfile, reshID=reshID)
+}
+
+
+
+valgtVar <- 'ReLapNarkose'
+malign <- 1
+outfile <- 'ReLapNarkose_malign_ecog0_1_aar.pdf'
+outfile <- paste0(figfolder, outfile)
+norgastIndikator_rapporteket(
+ RegDataAll, valgtVar = valgtVar, outfile=outfile, tittel=tittel, width=width,
+ height=height, decreasing=T, terskel=terskel, minstekrav = NA, maal = 12,
+ skriftStr=skriftStr, maalretn='lav', lavDG = graaUt_kolon, lavDGtekst = dg_tekst,
+ pktStr=pktStr, legPlass='topright', minstekravTxt=minstekravTxt, maalTxt=maalTxt,
+ graaUt=graaUt, whoEcog= c('0', '1'), inkl_konf=inkl_konf, op_gruppe=op_gruppe,
+ datoFra=datoFra, datoTil=datoTil, hastegrad_hybrid=hastegrad_hybrid, malign=malign)
+if (annet_format_ut) {
+ outfile <- paste0(substr(outfile, 1, nchar(outfile)-3), ut_format)
+ norgastIndikator_rapporteket(
+ RegDataAll, valgtVar = valgtVar, outfile=outfile, tittel=tittel, width=width,
+ height=height, decreasing=T, terskel=terskel, minstekrav = NA, maal = 12,
+ skriftStr=skriftStr, maalretn='lav', lavDG = graaUt_kolon, lavDGtekst = dg_tekst,
+ pktStr=pktStr, legPlass='topright', minstekravTxt=minstekravTxt, maalTxt=maalTxt,
+ graaUt=graaUt, whoEcog= c('0', '1'), inkl_konf=inkl_konf, op_gruppe=op_gruppe,
+ datoFra=datoFra, datoTil=datoTil, hastegrad_hybrid=hastegrad_hybrid, malign=malign)
+}
+
+outfile <- 'konv_rate_malign_ecog0_1_aar.pdf'
+outfile <- paste0(figfolder, outfile)
+valgtVar <- 'konv_rate'
+norgastIndikator_rapporteket(
+ RegDataAll, valgtVar = valgtVar, outfile=outfile, tittel=tittel, width=width,
+ height=height, decreasing=T, terskel=terskel, minstekrav = 15, maal = 10,
+ skriftStr=skriftStr, maalretn='lav', lavDG = graaUt_kolon, lavDGtekst = dg_tekst,
+ pktStr=pktStr, legPlass='topright', minstekravTxt=minstekravTxt, maalTxt=maalTxt,
+ graaUt=graaUt, whoEcog= c('0', '1'), inkl_konf=inkl_konf, op_gruppe=op_gruppe,
+ datoFra=datoFra, datoTil=datoTil, hastegrad_hybrid=hastegrad_hybrid, malign=malign)
+if (annet_format_ut) {
+ outfile <- paste0(substr(outfile, 1, nchar(outfile)-3), ut_format)
+ norgastIndikator_rapporteket(
+ RegDataAll, valgtVar = valgtVar, outfile=outfile, tittel=tittel, width=width,
+ height=height, decreasing=T, terskel=terskel, minstekrav = 15, maal = 10,
+ skriftStr=skriftStr, maalretn='lav', lavDG = graaUt_kolon, lavDGtekst = dg_tekst,
+ pktStr=pktStr, legPlass='topright', minstekravTxt=minstekravTxt, maalTxt=maalTxt,
+ graaUt=graaUt, whoEcog= c('0', '1'), inkl_konf=inkl_konf, op_gruppe=op_gruppe,
+ datoFra=datoFra, datoTil=datoTil, hastegrad_hybrid=hastegrad_hybrid, malign=malign)
+}
+
+valgtVar <- 'Anastomoselekkasje'
+outfile <- 'Anastomoselekkasje_malign_ecog0_1aar.pdf'
+outfile <- paste0(figfolder, outfile)
+norgastIndikator_rapporteket(
+ RegDataAll, valgtVar = valgtVar, outfile=outfile, tittel=tittel, width=width,
+ height=height, decreasing=T, terskel=terskel, minstekrav = 6, maal = 4,
+ skriftStr=skriftStr, maalretn='lav', lavDG = graaUt_kolon, lavDGtekst = dg_tekst,
+ pktStr=pktStr, legPlass='topright', minstekravTxt=minstekravTxt, maalTxt=maalTxt,
+ graaUt=graaUt, whoEcog= c('0', '1'), inkl_konf=inkl_konf, op_gruppe=op_gruppe,
+ datoFra=datoFra, datoTil=datoTil, hastegrad_hybrid=hastegrad_hybrid, malign=malign)
+if (annet_format_ut) {
+ outfile <- paste0(substr(outfile, 1, nchar(outfile)-3), ut_format)
+ norgastIndikator_rapporteket(
+ RegDataAll, valgtVar = valgtVar, outfile=outfile, tittel=tittel, width=width,
+ height=height, decreasing=T, terskel=terskel, minstekrav = 6, maal = 4,
+ skriftStr=skriftStr, maalretn='lav', lavDG = graaUt_kolon, lavDGtekst = dg_tekst,
+ pktStr=pktStr, legPlass='topright', minstekravTxt=minstekravTxt, maalTxt=maalTxt,
+ graaUt=graaUt, whoEcog= c('0', '1'), inkl_konf=inkl_konf, op_gruppe=op_gruppe,
+ datoFra=datoFra, datoTil=datoTil, hastegrad_hybrid=hastegrad_hybrid, malign=malign)
+}
+
+outfile <- 'mortalitet90_kolon_aar.pdf'
+outfile <- paste0(figfolder, outfile)
+valgtVar <- 'mortalitet90'
+norgastIndikator_rapporteket(
+ RegDataAll, valgtVar = valgtVar, outfile=outfile, tittel=tittel, width=width,
+ height=height, decreasing=T, terskel=terskel, minstekrav = NA, maal = NA,
+ skriftStr=skriftStr, pktStr=pktStr, legPlass=legPlass, minstekravTxt=minstekravTxt,
+ maalTxt=maalTxt, graaUt=graaUt, lavDG = graaUt_kolon, lavDGtekst = dg_tekst,
+ inkl_konf=inkl_konf, op_gruppe=op_gruppe, datoFra=datoFra, datoTil=datoTil,
+ hastegrad_hybrid=99, malign=99, kun_ferdigstilte = F)
+if (annet_format_ut) {
+ outfile <- paste0(substr(outfile, 1, nchar(outfile)-3), ut_format)
+ norgastIndikator_rapporteket(
+ RegDataAll, valgtVar = valgtVar, outfile=outfile, tittel=tittel, width=width,
+ height=height, decreasing=T, terskel=terskel, minstekrav = NA, maal = NA,
+ skriftStr=skriftStr, pktStr=pktStr, legPlass=legPlass, minstekravTxt=minstekravTxt,
+ maalTxt=maalTxt, graaUt=graaUt, lavDG = graaUt_kolon, lavDGtekst = dg_tekst,
+ inkl_konf=inkl_konf, op_gruppe=op_gruppe, datoFra=datoFra, datoTil=datoTil,
+ hastegrad_hybrid=99, malign=99, kun_ferdigstilte = F)
+}
+
+outfile <- 'mortalitet90_kolon_aar_refpas.pdf'
+outfile <- paste0(figfolder, outfile)
+valgtVar <- 'mortalitet90'
+norgastIndikator_rapporteket(
+ RegDataAll, valgtVar = valgtVar, outfile=outfile, tittel=tittel, width=width,
+ height=height, decreasing=T, terskel=terskel, minstekrav = NA, maal = NA,
+ skriftStr=skriftStr, whoEcog = c(0,1), pktStr=pktStr, legPlass=legPlass,
+ minstekravTxt=minstekravTxt, maalTxt=maalTxt, graaUt=graaUt, lavDG = graaUt_kolon,
+ lavDGtekst = dg_tekst, inkl_konf=inkl_konf, op_gruppe=op_gruppe, datoFra=datoFra,
+ datoTil=datoTil, hastegrad_hybrid=1, malign=1, kun_ferdigstilte = F)
+if (annet_format_ut) {
+ outfile <- paste0(substr(outfile, 1, nchar(outfile)-3), ut_format)
+ norgastIndikator_rapporteket(
+ RegDataAll, valgtVar = valgtVar, outfile=outfile, tittel=tittel, width=width,
+ height=height, decreasing=T, terskel=terskel, minstekrav = NA, maal = NA,
+ skriftStr=skriftStr, whoEcog = c(0,1), pktStr=pktStr, legPlass=legPlass,
+ minstekravTxt=minstekravTxt, maalTxt=maalTxt, graaUt=graaUt, lavDG = graaUt_kolon,
+ lavDGtekst = dg_tekst, inkl_konf=inkl_konf, op_gruppe=op_gruppe, datoFra=datoFra,
+ datoTil=datoTil, hastegrad_hybrid=1, malign=1, kun_ferdigstilte = F)
+}
+
+outfile <- 'hastegrad_ny_kolon_aar.pdf'
+outfile <- paste0(figfolder, outfile)
+valgtVar <- 'Hastegrad'
+norgastIndikator_rapporteket(
+ RegDataAll, valgtVar = valgtVar, outfile=outfile, tittel=tittel, width=width,
+ height=height, decreasing=F, terskel=terskel, minstekrav = NA, maal = NA,
+ skriftStr=skriftStr, pktStr=pktStr, legPlass=legPlass, minstekravTxt=minstekravTxt,
+ maalTxt=maalTxt, graaUt=graaUt, lavDG = graaUt_kolon, lavDGtekst = dg_tekst,
+ inkl_konf=inkl_konf, op_gruppe=op_gruppe, datoFra='2018-05-01', datoTil=datoTil,
+ hastegrad_hybrid=99, malign=99)
+if (annet_format_ut) {
+ outfile <- paste0(substr(outfile, 1, nchar(outfile)-3), ut_format)
+ norgastIndikator_rapporteket(
+ RegDataAll, valgtVar = valgtVar, outfile=outfile, tittel=tittel, width=width,
+ height=height, decreasing=F, terskel=terskel, minstekrav = NA, maal = NA,
+ skriftStr=skriftStr, pktStr=pktStr, legPlass=legPlass, minstekravTxt=minstekravTxt,
+ maalTxt=maalTxt, graaUt=graaUt, lavDG = graaUt_kolon, lavDGtekst = dg_tekst,
+ inkl_konf=inkl_konf, op_gruppe=op_gruppe, datoFra='2018-05-01', datoTil=datoTil,
+ hastegrad_hybrid=99, malign=99)
+}
+
+outfile <- 'ohjelp_kveld_kolon_aar.pdf'
+outfile <- paste0(figfolder, outfile)
+valgtVar <- 'ohjelp_kveld'
+norgastIndikator_rapporteket(
+ RegDataAll, valgtVar = valgtVar, outfile=outfile, tittel=tittel, width=width,
+ height=height, decreasing=F, terskel=terskel, minstekrav = NA, maal = NA,
+ skriftStr=skriftStr, pktStr=pktStr, legPlass=legPlass, minstekravTxt=minstekravTxt,
+ maalTxt=maalTxt, graaUt=graaUt, lavDG = graaUt_kolon, lavDGtekst = dg_tekst,
+ inkl_konf=inkl_konf, op_gruppe=op_gruppe, datoFra='2018-05-01', datoTil=datoTil,
+ hastegrad=2, malign=99)
+if (annet_format_ut) {
+ outfile <- paste0(substr(outfile, 1, nchar(outfile)-3), ut_format)
+ norgastIndikator_rapporteket(
+ RegDataAll, valgtVar = valgtVar, outfile=outfile, tittel=tittel, width=width,
+ height=height, decreasing=F, terskel=terskel, minstekrav = NA, maal = NA,
+ skriftStr=skriftStr, pktStr=pktStr, legPlass=legPlass, minstekravTxt=minstekravTxt,
+ maalTxt=maalTxt, graaUt=graaUt, lavDG = graaUt_kolon, lavDGtekst = dg_tekst,
+ inkl_konf=inkl_konf, op_gruppe=op_gruppe, datoFra='2018-05-01', datoTil=datoTil,
+ hastegrad=2, malign=99)
+}
+
+@
+
+\begin{figure}[ht]
+\centering
+\includegraphics[width=\Sexpr{figstr}\textwidth]{\Sexpr{figfolder}Tilgang_elektiv_malign_ecog_0_1.pdf}
+\caption{Tilgang\_elektiv\_malign\_ecog\_0\_1.pdf}
+\end{figure}
+
+\begin{figure}[ht]
+\centering
+\includegraphics[width=\Sexpr{figstr}\textwidth]{\Sexpr{figfolder}AccordionGrad_elektiv_benign.pdf}
+\caption{AccordionGrad\_elektiv\_benign.pdf}
+\end{figure}
+
+\begin{figure}[ht]
+\centering
+\includegraphics[width=\Sexpr{figstr}\textwidth]{\Sexpr{figfolder}AccordionGrad_elektiv_malign.pdf} % 10
+\caption{AccordionGrad\_elektiv\_malign.pdf}
+\end{figure}
+
+\begin{figure}[ht]
+\centering
+\includegraphics[width=\Sexpr{figstr}\textwidth]{\Sexpr{figfolder}AccordionGrad_ohjelp.pdf} % 12
+\caption{AccordionGrad\_ohjelp.pdf}
+\end{figure}
+
+\begin{figure}[ht]
+\centering
+\includegraphics[width=\Sexpr{figstr}\textwidth]{\Sexpr{figfolder}ReLapNarkose_malign_ecog0_1_aar.pdf}
+\caption{ReLapNarkose\_malign\_ecog0\_1\_aar.pdf}
+\end{figure}
+
+\begin{figure}[ht]
+\centering
+\includegraphics[width=\Sexpr{figstr}\textwidth]{\Sexpr{figfolder}konv_rate_malign_ecog0_1_aar.pdf}
+\caption{konv\_rate\_malign\_ecog0\_1\_aar.pdf}
+\end{figure}
+
+\begin{figure}[ht]
+\centering
+\includegraphics[width=\Sexpr{figstr}\textwidth]{\Sexpr{figfolder}Anastomoselekkasje_malign_ecog0_1aar.pdf}
+\caption{Anastomoselekkasje\_malign\_ecog0\_1aar.pdf}
+\end{figure}
+
+\begin{figure}[ht]
+\centering
+\includegraphics[width=\Sexpr{figstr}\textwidth]{\Sexpr{figfolder}mortalitet90_kolon_aar.pdf}
+\caption{mortalitet90\_kolon\_aar.pdf}
+\end{figure}
+
+\begin{figure}[ht]
+\centering
+\includegraphics[width=\Sexpr{figstr}\textwidth]{\Sexpr{figfolder}mortalitet90_kolon_aar_refpas.pdf}
+\caption{mortalitet90\_kolon\_aar\_refpas.pdf}
+\end{figure}
+
+\begin{figure}[ht]
+\centering
+\includegraphics[width=\Sexpr{figstr}\textwidth]{\Sexpr{figfolder}hastegrad_ny_kolon_aar.pdf}
+\caption{hastegrad\_ny\_kolon\_aar.pdf}
+\end{figure}
+
+\begin{figure}[ht]
+\centering
+\includegraphics[width=\Sexpr{figstr}\textwidth]{\Sexpr{figfolder}ohjelp_kveld_kolon_aar.pdf}
+\caption{ohjelp\_kveld\_kolon\_aar.pdf}
+\end{figure}
+
+\clearpage
+
+\section{Rektumreseksjoner}
+
+
+% \begin{table}[htb]
+% \begin{minipage}{\textwidth}
+% \centering
+<<'Tabell:ReoperasjonerRektum v3', results='asis', echo=FALSE, eval=T, warning=FALSE>>=
+aux <- RegData[which(RegData$Hastegrad_hybrid==1 &
+ RegData$ReLapNarkose %in% c(0, 1) &
+ RegData$Op_gr==2 & RegData$FerdigForlop == 1), ]
+aux$Tilgang <- factor(aux$Tilgang, levels = 1:3,
+ labels = c("Åpen", "Laparoskopisk", "Konvertert") )
+
+nytab <- aux %>% group_by(Tilgang) %>%
+ summarise(N = n(),
+ reop_rate = sum(ReLapNarkose),
+ anastomoselekk = sum(ViktigsteFunn==1, na.rm = T),
+ dyp_infek = sum(ViktigsteFunn==2, na.rm = T),
+ bloedning = sum(ViktigsteFunn==3, na.rm = T),
+ saarrupt = sum(ViktigsteFunn==4, na.rm = T),
+ annet = sum(ViktigsteFunn==5, na.rm = T),
+ ingen = sum(ViktigsteFunn==6, na.rm = T)) %>%
+ janitor::adorn_totals()
+
+aux$Robotassistanse <- factor(aux$Robotassistanse, levels = 0:1,
+ labels = c("\\quad \\textit{Standard}",
+ "\\quad \\textit{Robotassistert}") )
+
+undergr_lap <- aux %>% filter(Tilgang=="Laparoskopisk") %>%
+ group_by(Robotassistanse) %>%
+ summarise(N = n(),
+ reop_rate = sum(ReLapNarkose),
+ anastomoselekk = sum(ViktigsteFunn==1, na.rm = T),
+ dyp_infek = sum(ViktigsteFunn==2, na.rm = T),
+ bloedning = sum(ViktigsteFunn==3, na.rm = T),
+ saarrupt = sum(ViktigsteFunn==4, na.rm = T),
+ annet = sum(ViktigsteFunn==5, na.rm = T),
+ ingen = sum(ViktigsteFunn==6, na.rm = T))
+
+undergr_konv <- aux %>% filter(Tilgang=="Konvertert") %>%
+ group_by(Robotassistanse) %>%
+ summarise(N = n(),
+ reop_rate = sum(ReLapNarkose),
+ anastomoselekk = sum(ViktigsteFunn==1, na.rm = T),
+ dyp_infek = sum(ViktigsteFunn==2, na.rm = T),
+ bloedning = sum(ViktigsteFunn==3, na.rm = T),
+ saarrupt = sum(ViktigsteFunn==4, na.rm = T),
+ annet = sum(ViktigsteFunn==5, na.rm = T),
+ ingen = sum(ViktigsteFunn==6, na.rm = T))
+
+undergr <- bind_rows(undergr_lap, undergr_konv) %>%
+ rename(Tilgang = Robotassistanse) %>%
+ mutate(Tilgang = as.character(Tilgang))
+
+nytab <- bind_rows(nytab, undergr)
+nytab <- nytab[c(1,2,5,6,3,7,8,4), ]
+
+nytab[, -(1:2)] <- nytab[, -(1:2)]/nytab$N*100
+
+Tabell <- nytab
+Tabell$N[c(3,4,6,7)] <- paste0("\\textit{", Tabell$N[c(3,4,6,7)], "}")
+
+Tabell_ny <- Tabell
+
+# print(
+# xtable::xtable(Tabell, digits=c(0,0,0,rep(1, ncol(Tabell)-2)),
+# align=c('l', 'l', rep('r', ncol(Tabell)-1))),
+# floating=FALSE,
+# hline.after=NULL,
+# add.to.row=list(
+# pos=list(-1,0,0,0,0,0, nrow(Tabell)),
+# command=c('\\toprule\n', '& & & \\multicolumn{4}{c}{Reoperasjonsrate for
+# ulike årsaker (\\%)} \\\\\n', '\\cline{4-9} \n',
+# '& & Reoperasjons- & Anastomose- & Dyp &&&& \\\\\n',
+# 'Tilgang & N & rate (\\%) & lekkasje\\footnote[2]{Dette er av alle
+# opererte, ikke alle under risiko.} & infeksjon & Blødning & Sårruptur
+# & Annet & Ingen \\\\\n','\\midrule\n','\\bottomrule\n')),
+# include.colnames=FALSE, include.rownames=FALSE,
+# sanitize.text.function = function(x){x})
+@
+% \captionof{table}{Rektumreseksjoner. Elektive operasjoner. Reoperasjoner \Sexpr{rap_aar} etter Tilgang. Gjelder \textbf{hele landet}.}
+% \end{minipage}
+% \end{table}
+
+
+\begin{table}[htb]
+\begin{minipage}{\textwidth}
+\begin{small}
+\centering
+<<'Tabell:ReoperasjonerRektum robotassistanse', results='asis', echo=FALSE, eval=T, warning=FALSE>>=
+aux <- RegData %>%
+ filter(Hastegrad_hybrid==1) %>%
+ filter(ReLapNarkose %in% c(0, 1)) %>%
+ filter(Op_gr==2) %>%
+ filter(FerdigForlop == 1) %>%
+ filter(Tilgang %in% 2:3)
+
+aux$Tilgang <- factor(aux$Tilgang, levels = 2:3,
+ labels = c("\\quad \\textit{Laparoskopisk}",
+ "\\quad \\textit{Konvertert}") )
+
+nytab <- aux %>% group_by(Robotassistanse, Tilgang) %>%
+ summarise(N = n(),
+ reop_rate = sum(ReLapNarkose),
+ anastomoselekk = sum(ViktigsteFunn==1, na.rm = T),
+ dyp_infek = sum(ViktigsteFunn==2, na.rm = T),
+ bloedning = sum(ViktigsteFunn==3, na.rm = T),
+ saarrupt = sum(ViktigsteFunn==4, na.rm = T),
+ annet = sum(ViktigsteFunn==5, na.rm = T),
+ ingen = sum(ViktigsteFunn==6, na.rm = T)) %>%
+ janitor::adorn_totals()
+
+ikkerobot <- aux %>% filter(Robotassistanse == 0) %>%
+ group_by(Tilgang) %>%
+ summarise(N = n(),
+ reop_rate = sum(ReLapNarkose),
+ anastomoselekk = sum(ViktigsteFunn==1, na.rm = T),
+ dyp_infek = sum(ViktigsteFunn==2, na.rm = T),
+ bloedning = sum(ViktigsteFunn==3, na.rm = T),
+ saarrupt = sum(ViktigsteFunn==4, na.rm = T),
+ annet = sum(ViktigsteFunn==5, na.rm = T),
+ ingen = sum(ViktigsteFunn==6, na.rm = T)) %>%
+ janitor::adorn_totals(name = "Ikke-robot")
+
+robot <- aux %>% filter(Robotassistanse == 1) %>%
+ group_by(Tilgang) %>%
+ summarise(N = n(),
+ reop_rate = sum(ReLapNarkose),
+ anastomoselekk = sum(ViktigsteFunn==1, na.rm = T),
+ dyp_infek = sum(ViktigsteFunn==2, na.rm = T),
+ bloedning = sum(ViktigsteFunn==3, na.rm = T),
+ saarrupt = sum(ViktigsteFunn==4, na.rm = T),
+ annet = sum(ViktigsteFunn==5, na.rm = T),
+ ingen = sum(ViktigsteFunn==6, na.rm = T)) %>%
+ janitor::adorn_totals(name = "Robotassistert")
+
+tab_4c <- dplyr::bind_rows(robot[c(3,1,2), ], ikkerobot[c(3,1,2), ])
+tab_4c <- dplyr::bind_rows(tab_4c, data.frame(Tilgang = "Totalt",
+ t(colSums(tab_4c[c(1,4), -1]))))
+
+tab_4c[, -(1:2)] <- tab_4c[, -(1:2)]/tab_4c$N*100
+
+Tabell <- tab_4c
+Tabell$N[c(2,3,5,6)] <- paste0("\\textit{", Tabell$N[c(2,3,5,6)], "}")
+
+Tabell_sml <- Tabell_ny[1, ] %>%
+ bind_rows(Tabell[7, ]) %>%
+ bind_rows(Tabell[1:3, ]) %>%
+ bind_rows(Tabell[4:6, ]) %>%
+ bind_rows(Tabell_ny[8, ])
+Tabell_sml$Tilgang <- c("\\textbf{Åpen}", "\\textbf{Laparoskopisk (ITT)}",
+ "\\quad Robotassistert", "\\quad \\quad \\textit{Fullført laparoskopisk}",
+ "\\quad \\quad \\textit{Konvertert}", "\\quad Ikke-robot",
+ "\\quad \\quad \\textit{Fullført laparoskopisk}",
+ "\\quad \\quad \\textit{Konvertert}", "\\textbf{Totalt}")
+
+print(
+ xtable::xtable(Tabell_sml, digits=c(0,0,0,rep(1, ncol(Tabell_sml)-2)),
+ align=c('l', 'l', rep('r', ncol(Tabell_sml)-1))),
+ floating=FALSE,
+ hline.after=NULL,
+ add.to.row=list(
+ pos=list(-1,0,0,0,0,0, nrow(Tabell_sml)),
+ command=c('\\toprule\n', '& & & \\multicolumn{4}{c}{Reoperasjonsrate for
+ ulike årsaker (\\%)} \\\\\n', '\\cline{4-9} \n',
+ '& & Reoperasjons- & Anastomose- & Dyp &&&& \\\\\n',
+ 'Tilgang & N & rate (\\%) & lekkasje\\footnote[2]{Dette er av alle
+ opererte, ikke alle under risiko.} & infeksjon & Blødning & Sårruptur
+ & Annet & Ingen \\\\\n','\\midrule\n','\\bottomrule\n')),
+ include.colnames=FALSE, include.rownames=FALSE,
+ sanitize.text.function = function(x){x})
+@
+\captionof{table}{Rektumreseksjoner. Elektive operasjoner. Reoperasjoner \Sexpr{rap_aar} etter robotassistert og ikke-robotassistert laparoskopi. ITT = Intention to treat.}
+\end{small}
+\end{minipage}
+\end{table}
+
+
+
+
+<<'fig_rektum', include=FALSE, echo=FALSE, eval=T, cache=FALSE>>=
+op_gruppe <- 2
+malign <- 99
+elektiv <- 99
+hastegrad_hybrid <- 99
+terskel <- 10
+
+outfile <- 'AvstandAnalVerge_kat_rekt.pdf'
+outfile <- paste0(figfolder, outfile)
+NorgastFigAndelStabelGrVar(
+ RegData, valgtVar='AvstandAnalVerge_kat', op_gruppe=op_gruppe, outfile=outfile,
+ Ngrense=terskel, lavDG = graaUt_rektum, lavDGtekst = dg_tekst, malign = 1)
+if (annet_format_ut) {
+ outfile <- paste0(substr(outfile, 1, nchar(outfile)-3), ut_format)
+ NorgastFigAndelStabelGrVar(
+ RegData, valgtVar='AvstandAnalVerge_kat', op_gruppe=op_gruppe, outfile=outfile,
+ Ngrense=terskel, lavDG = graaUt_rektum, lavDGtekst = dg_tekst, malign = 1)
+}
+
+valgtVar <- 'LapTilgang2'
+outfile <- 'Tilgang_rekt_malign_ecog_0_1.pdf'
+outfile <- paste0(figfolder, outfile)
+norgastIndikator_rapporteket(
+ RegDataAll, valgtVar = valgtVar, outfile=outfile, tittel=tittel, width=width,
+ height=height, decreasing=decreasing, terskel=terskel, minstekrav = 60, maal = 70,
+ skriftStr=skriftStr, lavDG = graaUt_rektum, lavDGtekst = dg_tekst, pktStr=pktStr,
+ legPlass=legPlass, minstekravTxt=minstekravTxt, maalTxt=maalTxt, graaUt=graaUt,
+ whoEcog = 0:1, inkl_konf=inkl_konf, op_gruppe=op_gruppe, datoFra=datoFra,
+ datoTil=datoTil, hastegrad_hybrid=1, malign=1)
+if (annet_format_ut) {
+ outfile <- paste0(substr(outfile, 1, nchar(outfile)-3), ut_format)
+ norgastIndikator_rapporteket(
+ RegDataAll, valgtVar = valgtVar, outfile=outfile, tittel=tittel, width=width,
+ height=height, decreasing=decreasing, terskel=terskel, minstekrav = 60, maal = 70,
+ skriftStr=skriftStr, lavDG = graaUt_rektum, lavDGtekst = dg_tekst, pktStr=pktStr,
+ legPlass=legPlass, minstekravTxt=minstekravTxt, maalTxt=maalTxt, graaUt=graaUt,
+ whoEcog = 0:1, inkl_konf=inkl_konf, op_gruppe=op_gruppe, datoFra=datoFra,
+ datoTil=datoTil, hastegrad_hybrid=1, malign=1)
+}
+
+
+valgtVar <- 'ReLapNarkose'
+outfile <- 'ReLapNarkose_rekt_malign_ecog_0_1.pdf'
+outfile <- paste0(figfolder, outfile)
+norgastIndikator_rapporteket(
+ RegDataAll, valgtVar = valgtVar, outfile=outfile, tittel=tittel, width=width,
+ height=height, decreasing=T, terskel=terskel, minstekrav = NA, maal = 12,
+ skriftStr=skriftStr, maalretn='lav', lavDG = graaUt_rektum,
+ lavDGtekst = dg_tekst, pktStr=pktStr, legPlass='topright',
+ minstekravTxt=minstekravTxt, maalTxt=maalTxt, graaUt=graaUt, whoEcog = 0:1,
+ inkl_konf=inkl_konf, op_gruppe=op_gruppe, datoFra=datoFra, datoTil=datoTil,
+ hastegrad_hybrid=1, malign=1)
+if (annet_format_ut) {
+ outfile <- paste0(substr(outfile, 1, nchar(outfile)-3), ut_format)
+ norgastIndikator_rapporteket(
+ RegDataAll, valgtVar = valgtVar, outfile=outfile, tittel=tittel, width=width,
+ height=height, decreasing=T, terskel=terskel, minstekrav = NA, maal = 12,
+ skriftStr=skriftStr, maalretn='lav', lavDG = graaUt_rektum,
+ lavDGtekst = dg_tekst, pktStr=pktStr, legPlass='topright',
+ minstekravTxt=minstekravTxt, maalTxt=maalTxt, graaUt=graaUt, whoEcog = 0:1,
+ inkl_konf=inkl_konf, op_gruppe=op_gruppe, datoFra=datoFra, datoTil=datoTil,
+ hastegrad_hybrid=1, malign=1)
+}
+
+valgtVar <- 'Anastomoselekkasje'
+outfile <- 'Anastomoselekkasje_rekt_malign_ecog_0_1.pdf'
+outfile <- paste0(figfolder, outfile)
+norgastIndikator_rapporteket(
+ RegDataAll, valgtVar = valgtVar, outfile=outfile, tittel=tittel, width=width,
+ height=height, decreasing=T, terskel=terskel, minstekrav = 7, maal = 5,
+ skriftStr=skriftStr, maalretn='lav', lavDG = graaUt_rektum, lavDGtekst = dg_tekst,
+ pktStr=pktStr, legPlass='topright', minstekravTxt=minstekravTxt, maalTxt=maalTxt,
+ graaUt=graaUt, whoEcog = 0:1, inkl_konf=inkl_konf, op_gruppe=op_gruppe,
+ datoFra=datoFra, datoTil=datoTil, hastegrad_hybrid=1, malign=1)
+if (annet_format_ut) {
+ outfile <- paste0(substr(outfile, 1, nchar(outfile)-3), ut_format)
+ norgastIndikator_rapporteket(
+ RegDataAll, valgtVar = valgtVar, outfile=outfile, tittel=tittel, width=width,
+ height=height, decreasing=T, terskel=terskel, minstekrav = 7, maal = 5,
+ skriftStr=skriftStr, maalretn='lav', lavDG = graaUt_rektum, lavDGtekst = dg_tekst,
+ pktStr=pktStr, legPlass='topright', minstekravTxt=minstekravTxt, maalTxt=maalTxt,
+ graaUt=graaUt, whoEcog = 0:1, inkl_konf=inkl_konf, op_gruppe=op_gruppe,
+ datoFra=datoFra, datoTil=datoTil, hastegrad_hybrid=1, malign=1)
+}
+
+outfile <- 'konv_rate_rektum_malign_ecog0_1.pdf'
+outfile <- paste0(figfolder, outfile)
+valgtVar <- 'konv_rate'
+norgastIndikator_rapporteket(
+ RegDataAll, valgtVar = valgtVar, outfile=outfile, tittel=tittel, width=width,
+ height=height, decreasing=T, terskel=terskel, minstekrav = 15, maal = 10,
+ skriftStr=skriftStr, maalretn='lav', lavDG = graaUt_rektum, lavDGtekst = dg_tekst,
+ pktStr=pktStr, legPlass='topright', minstekravTxt=minstekravTxt, maalTxt=maalTxt,
+ graaUt=graaUt, whoEcog= c('0', '1'), inkl_konf=inkl_konf, op_gruppe=op_gruppe,
+ datoFra=datoFra, datoTil=datoTil, hastegrad_hybrid=1, malign=1)
+if (annet_format_ut) {
+ outfile <- paste0(substr(outfile, 1, nchar(outfile)-3), ut_format)
+ norgastIndikator_rapporteket(
+ RegDataAll, valgtVar = valgtVar, outfile=outfile, tittel=tittel, width=width,
+ height=height, decreasing=T, terskel=terskel, minstekrav = 15, maal = 10,
+ skriftStr=skriftStr, maalretn='lav', lavDG = graaUt_rektum, lavDGtekst = dg_tekst,
+ pktStr=pktStr, legPlass='topright', minstekravTxt=minstekravTxt, maalTxt=maalTxt,
+ graaUt=graaUt, whoEcog= c('0', '1'), inkl_konf=inkl_konf, op_gruppe=op_gruppe,
+ datoFra=datoFra, datoTil=datoTil, hastegrad_hybrid=1, malign=1)
+}
+
+outfile <- 'mortalitet90_rektum_aar.pdf'
+outfile <- paste0(figfolder, outfile)
+valgtVar <- 'mortalitet90'
+norgastIndikator_rapporteket(
+ RegDataAll, valgtVar = valgtVar, outfile=outfile, tittel=tittel, width=width,
+ height=height, decreasing=T, terskel=terskel, minstekrav = NA, maal = NA,
+ skriftStr=skriftStr, lavDG = graaUt_rektum, lavDGtekst = dg_tekst,
+ pktStr=pktStr, legPlass=legPlass, minstekravTxt=minstekravTxt, maalTxt=maalTxt,
+ graaUt=graaUt, inkl_konf=inkl_konf, op_gruppe=op_gruppe, datoFra=datoFra,
+ datoTil=datoTil, hastegrad_hybrid=hastegrad_hybrid, malign=malign,
+ kun_ferdigstilte = F, prikktall = FALSE)
+if (annet_format_ut) {
+ outfile <- paste0(substr(outfile, 1, nchar(outfile)-3), ut_format)
+ norgastIndikator_rapporteket(
+ RegDataAll, valgtVar = valgtVar, outfile=outfile, tittel=tittel, width=width,
+ height=height, decreasing=T, terskel=terskel, minstekrav = NA, maal = NA,
+ skriftStr=skriftStr, lavDG = graaUt_rektum, lavDGtekst = dg_tekst,
+ pktStr=pktStr, legPlass=legPlass, minstekravTxt=minstekravTxt, maalTxt=maalTxt,
+ graaUt=graaUt, inkl_konf=inkl_konf, op_gruppe=op_gruppe, datoFra=datoFra,
+ datoTil=datoTil, hastegrad_hybrid=hastegrad_hybrid, malign=malign,
+ kun_ferdigstilte = F, prikktall = FALSE)
+}
+
+outfile <- 'AccordionGrad_rekt.pdf'
+outfile <- paste0(figfolder, outfile)
+NorgastFigAndelStabelGrVar(
+ RegData, valgtVar='AccordionGrad_drenasje', op_gruppe=op_gruppe, outfile=outfile,
+ Ngrense=terskel, lavDG = graaUt_rektum)
+if (annet_format_ut) {
+ outfile <- paste0(substr(outfile, 1, nchar(outfile)-3), ut_format)
+ NorgastFigAndelStabelGrVar(
+ RegData, valgtVar='AccordionGrad_drenasje', op_gruppe=op_gruppe, outfile=outfile,
+ Ngrense=terskel, lavDG = graaUt_rektum)
+}
+
+
+outfile <- 'KumAcc_rekt_aar.pdf'
+outfile <- paste0(figfolder, outfile)
+valgtVar <- 'KumAcc'
+norgastIndikator_rapporteket(
+ RegDataAll, valgtVar = valgtVar, outfile=outfile, tittel=tittel, width=width,
+ height=height, decreasing=decreasing, terskel=terskel, minstekrav = minstekrav,
+ maal = maal, skriftStr=skriftStr, pktStr=pktStr, legPlass=legPlass,
+ minstekravTxt=minstekravTxt, maalTxt=maalTxt, graaUt=graaUt, lavDG = graaUt_rektum,
+ inkl_konf=inkl_konf, op_gruppe=op_gruppe, datoFra=datoFra, datoTil=datoTil,
+ hastegrad_hybrid=hastegrad_hybrid, malign=malign)
+if (annet_format_ut) {
+ outfile <- paste0(substr(outfile, 1, nchar(outfile)-3), ut_format)
+ norgastIndikator_rapporteket(
+ RegDataAll, valgtVar = valgtVar, outfile=outfile, tittel=tittel, width=width,
+ height=height, decreasing=decreasing, terskel=terskel, minstekrav = minstekrav,
+ maal = maal, skriftStr=skriftStr, pktStr=pktStr, legPlass=legPlass,
+ minstekravTxt=minstekravTxt, maalTxt=maalTxt, graaUt=graaUt, lavDG = graaUt_rektum,
+ inkl_konf=inkl_konf, op_gruppe=op_gruppe, datoFra=datoFra, datoTil=datoTil,
+ hastegrad_hybrid=hastegrad_hybrid, malign=malign)
+}
+
+
+
+@
+
+\begin{figure}[ht]
+\centering
+\includegraphics[width=\Sexpr{figstr}\textwidth]{\Sexpr{figfolder}Tilgang_rekt_malign_ecog_0_1.pdf}
+\caption{Tilgang\_rekt\_malign\_ecog\_0\_1.pdf}
+\end{figure}
+
+\begin{figure}[ht]
+\centering
+\includegraphics[width=\Sexpr{figstr}\textwidth]{\Sexpr{figfolder}ReLapNarkose_rekt_malign_ecog_0_1.pdf}
+\caption{ReLapNarkose\_rekt\_malign\_ecog\_0\_1.pdf}
+\end{figure}
+
+\begin{figure}[ht]
+\centering
+\includegraphics[width=\Sexpr{figstr}\textwidth]{\Sexpr{figfolder}Anastomoselekkasje_rekt_malign_ecog_0_1.pdf}
+\caption{Anastomoselekkasje\_rekt\_malign\_ecog\_0\_1.pdf}
+\end{figure}
+
+\begin{figure}[ht]
+\centering
+\includegraphics[width=\Sexpr{figstr}\textwidth]{\Sexpr{figfolder}konv_rate_rektum_malign_ecog0_1.pdf}
+\caption{konv\_rate\_rektum\_malign\_ecog0\_1.pdf}
+\end{figure}
+
+\begin{figure}[ht]
+\centering
+\includegraphics[width=\Sexpr{figstr}\textwidth]{\Sexpr{figfolder}AccordionGrad_rekt.pdf}
+\caption{AccordionGrad\_rekt.pdf}
+\end{figure}
+
+\begin{figure}[ht]
+\centering
+\includegraphics[width=\Sexpr{figstr}\textwidth]{\Sexpr{figfolder}KumAcc_rekt_aar.pdf}
+\caption{KumAcc\_rekt\_aar.pdf}
+\end{figure}
+
+
+\begin{figure}[ht]
+\centering
+\includegraphics[width=\Sexpr{figstr}\textwidth]{\Sexpr{figfolder}mortalitet90_rektum_aar.pdf}
+\caption{mortalitet90\_rektum\_aar.pdf}
+\end{figure}
+
+\begin{figure}[ht]
+\centering
+\includegraphics[width=\Sexpr{figstr}\textwidth]{\Sexpr{figfolder}AvstandAnalVerge_kat_rekt.pdf}
+\caption{AvstandAnalVerge\_kat\_rekt.pdf}
+\end{figure}
+
+\end{document}
diff --git a/inst/Aarsrapport2023_kolorekt.pdf b/inst/Aarsrapport2023_kolorekt.pdf
new file mode 100644
index 0000000..53aad02
Binary files /dev/null and b/inst/Aarsrapport2023_kolorekt.pdf differ
diff --git a/inst/Aarsrapport2023_pankreas_lever.Rnw b/inst/Aarsrapport2023_pankreas_lever.Rnw
new file mode 100644
index 0000000..1b327d1
--- /dev/null
+++ b/inst/Aarsrapport2023_pankreas_lever.Rnw
@@ -0,0 +1,697 @@
+\documentclass[norsk,a4paper]{article} % ,twoside
+\usepackage[norsk]{babel}
+\usepackage[utf8x]{inputenc}
+\usepackage{subfig}
+\usepackage{pdfpages}
+\usepackage{booktabs}
+\usepackage{caption}
+\usepackage{amssymb}
+\usepackage[a4paper]{geometry}
+
+\title{Figurer og tabeller for årsrapport NORGAST 2023 - Lever og pankreas}
+\author{NORGAST}
+
+\renewcommand\thempfootnote{\fnsymbol{mpfootnote}}
+\def\labelitemi{$\bullet$}
+\def\labelitemii{--}
+\def\labelitemiii{$\ast$}
+\def\labelitemiv{$\cdot$}
+
+%setter grå skrift fremfort sort
+\usepackage{xcolor}
+\usepackage{graphicx}
+\pagestyle{myheadings}
+\definecolor{lysblaa}{rgb}{0.27,0.51,0.71}
+\definecolor{moerkgraa}{rgb}{0.25,0.25,0.25}
+
+<<'initOpts',include=FALSE>>=
+knitr::opts_chunk$set(warnings=FALSE,echo=FALSE)
+knitr::opts_knit$set(root.dir = './')
+@
+
+\begin{document}
+
+<>=
+library(norgast)
+library(tidyverse)
+rm(list = ls())
+
+RegData <- norgast::NorgastHentRegData()
+RegData <- NorgastPreprosess(RegData)
+# RegData$AvdRESH[RegData$AvdRESH == 4204126] <- 4204084 # Tull med Ringerike
+RegData <- RegData %>% dplyr::filter(AvdRESH %in% c(114271, 700922, 103312, 107440, 601225))
+
+rap_aar <- 2023 # Året rapporten skal kjøres for
+ant_aar <- 3 # Hvor mange år som skal inkluderes i flerårsfigurer
+
+reshID <- 0
+datoFra= paste0(rap_aar, '-01-01')
+datoTil= paste0(rap_aar, '-12-31')
+
+RegDataAll <- RegData[RegData$Aar<=rap_aar, ]
+RegData <- RegData[RegData$Aar==rap_aar, ]
+
+DG <- read.csv2('~/mydata/norgast/dg_opgr_shus.csv')
+DG <- DG[!is.na(DG$AvdRESH), ]
+# DG <- DG[DG$n_norgast != 0, ]
+graaUt_lever <- DG$Sykehusnavn[DG$DG < 60 & DG$Op_gr == 5]
+graaUt_whipple <- DG$Sykehusnavn[DG$DG < 60 & DG$Op_gr == 6]
+
+DG2 <- DG[DG$Op_gr %in% 7:8, ] %>% group_by(sh) %>%
+ summarise(n_norgast = sum(n_norgast),
+ n_npr = sum(n_npr),
+ DG = n_norgast/n_npr*100,
+ AvdRESH = first(AvdRESH),
+ Sykehusnavn = first(Sykehusnavn))
+graaUt_pankreas <- DG2$Sykehusnavn[DG2$DG < 60]
+
+figstr <- 1
+tmp <- Sys.setlocale(category = "LC_ALL", locale = "nb_NO.UTF-8")
+@
+
+\maketitle
+
+\clearpage
+
+<<'sett_parametre', include=FALSE, echo=FALSE, eval=T, cache=FALSE>>=
+
+width=600
+height=700
+sideTxt='Sykehus'
+decreasing=F
+terskel=10
+minstekrav = NA
+maal = NA
+skriftStr=1.1
+pktStr=1.2
+legPlass='top'
+minstekravTxt='Akseptabelt'
+dg_tekst <- "Dekningsgrad < 60 %"
+maalTxt='Mål'
+graaUt=NA
+minald=0
+maxald=130
+erMann <- 99
+inkl_konf <- T
+elektiv=99
+hastegrad_hybrid=99
+datoFra <- '2015-01-01'
+tittel <- ''
+hentData <- F
+preprosess <- F
+BMI=''
+tilgang=''
+minPRS=0
+maxPRS=2.2
+ASA=''
+whoEcog= ''
+ncsp=''
+forbehandling=''
+valgtShus=c('')
+# reseksjonsGr <- ''
+op_gruppe <- ''
+malign <- 99
+annet_format_ut <- T
+ut_format <- 'svg'
+# figfolder <- "/home/rstudio/norgast/inst/fig_aarsrapp2021/pankreas_lever/"
+figfolder <- "~/mydata/norgast/fig_aarsrapp2022/pankreas_lever/"
+if (!dir.exists(figfolder)) {
+ dir.create(figfolder)
+}
+@
+
+
+\section{Leverreseksjoner}
+
+\begin{table}[htb]
+\begin{minipage}{\textwidth}
+\centering
+<<'Tabell:ReoperasjonerLever', results='asis', echo=FALSE, eval=T, warning=FALSE>>=
+Terskel<-20
+TabellData_landet <- NorgastTabeller(RegData=RegData[RegData$FerdigForlop == 1, ],
+ datoFra=datoFra, datoTil=datoTil, minald=0,
+ maxald=130, erMann=99, enhetsUtvalg=0,
+ Terskel=Terskel, reshID=reshID)
+Tabell <- TabellData_landet$Tabell2
+Tabell <- Tabell[c(5), ]
+print(
+ xtable::xtable(Tabell, digits=c(0,0,0,rep(1, ncol(Tabell)-2))),
+ floating=FALSE,
+ hline.after=NULL,
+ align=c('l', 'l', rep('r', ncol(Tabell)-1)),
+ add.to.row=list(
+ pos=list(-1,0,0,0,0,0, nrow(Tabell)),
+ command=c('\\toprule\n', '& & & \\multicolumn{4}{c}{Reoperasjonsrate for
+ ulike årsaker (\\%)} \\\\\n', '\\cline{4-9} \n',
+ '& & Reoperasjons- & Anastomose- & Dyp &&&& \\\\\n',
+ 'Operasjonsgruppe & $N$ & rate (\\%) & lekkasje\\footnote[2]{Dette
+ er av alle opererte, ikke alle under risiko.} & infeksjon & Blødning
+ & Sårruptur & Annet & Ingen \\\\\n','\\midrule\n','\\bottomrule\n')),
+ include.colnames=FALSE, include.rownames=FALSE)
+@
+\captionof{table}{Leverreseksjoner. Reoperasjoner \Sexpr{rap_aar}. Gjelder \textbf{hele landet}.}
+\end{minipage}
+\end{table}
+
+\begin{table}[htb]
+\begin{minipage}{\textwidth}
+\centering
+<<'Tabell:ReoperasjonerKolon v3', results='asis', echo=FALSE, eval=T, warning=FALSE>>=
+aux <- RegData[which(RegData$Hastegrad_hybrid==1 &
+ RegData$ReLapNarkose %in% c(0, 1) &
+ RegData$Op_gr==5 & RegData$FerdigForlop == 1), ]
+aux$Tilgang <- factor(aux$Tilgang, levels = 1:3,
+ labels = c("Åpen", "Laparoskopisk", "Konvertert") )
+
+nytab <- aux %>% group_by(Tilgang) %>%
+ summarise(N = n(),
+ reop_rate = sum(ReLapNarkose),
+ anastomoselekk = sum(ViktigsteFunn==1, na.rm = T),
+ dyp_infek = sum(ViktigsteFunn==2, na.rm = T),
+ bloedning = sum(ViktigsteFunn==3, na.rm = T),
+ saarrupt = sum(ViktigsteFunn==4, na.rm = T),
+ annet = sum(ViktigsteFunn==5, na.rm = T),
+ ingen = sum(ViktigsteFunn==6, na.rm = T)) %>%
+ janitor::adorn_totals()
+
+nytab[, -(1:2)] <- nytab[, -(1:2)]/nytab$N*100
+Tabell <- nytab
+
+print(
+ xtable::xtable(Tabell, digits=c(0,0,0,rep(1, ncol(Tabell)-2)),
+ align=c('l', 'l', rep('r', ncol(Tabell)-1))),
+ floating=FALSE,
+ hline.after=NULL,
+ add.to.row=list(
+ pos=list(-1,0,0,0,0,0, nrow(Tabell)),
+ command=c('\\toprule\n', '& & & \\multicolumn{4}{c}{Reoperasjonsrate for
+ ulike årsaker (\\%)} \\\\\n', '\\cline{4-9} \n',
+ '& & Reoperasjons- & Anastomose- & Dyp &&&& \\\\\n',
+ 'Tilgang & N & rate (\\%) & lekkasje\\footnote[2]{Dette er av alle
+ opererte, ikke alle under risiko.} & infeksjon & Blødning & Sårruptur
+ & Annet & Ingen \\\\\n','\\midrule\n','\\bottomrule\n')),
+ include.colnames=FALSE, include.rownames=FALSE,
+ sanitize.text.function = function(x){x})
+@
+\captionof{table}{Leverreseksjoner. Elektive operasjoner. Reoperasjoner \Sexpr{rap_aar} etter Tilgang. Gjelder \textbf{hele landet}.}
+\end{minipage}
+\end{table}
+
+
+<<'fig_lever', include=FALSE, echo=FALSE, eval=T, cache=FALSE>>=
+op_gruppe <- 5
+
+outfile <- figfolder %>% paste0('AccordionGrad_lever.pdf')
+NorgastFigAndelStabelGrVar(
+ RegData, valgtVar='AccordionGrad_drenasje', op_gruppe=op_gruppe,
+ outfile=outfile, Ngrense=terskel, lavDG = graaUt_lever)
+if (annet_format_ut) {
+ outfile <- paste0(substr(outfile, 1, nchar(outfile)-3), ut_format)
+ NorgastFigAndelStabelGrVar(
+ RegData, valgtVar='AccordionGrad_drenasje', op_gruppe=op_gruppe,
+ outfile=outfile, Ngrense=terskel, lavDG = graaUt_lever)
+}
+
+outfile <- figfolder %>% paste0('Tilgang_lever_aar.pdf')
+valgtVar <- 'LapTilgang2'
+norgastIndikator_rapporteket(
+ RegDataAll, valgtVar = valgtVar, outfile=outfile, tittel=tittel, width=width,
+ height=height, decreasing=decreasing, terskel=terskel, minstekrav = minstekrav,
+ maal = 30, skriftStr=skriftStr, pktStr=pktStr, legPlass=legPlass,
+ minstekravTxt=minstekravTxt, maalTxt=maalTxt, graaUt=graaUt,
+ lavDG = graaUt_lever, lavDGtekst = dg_tekst, inkl_konf=inkl_konf,
+ op_gruppe=op_gruppe, datoFra=datoFra, datoTil=datoTil,
+ hastegrad_hybrid=hastegrad_hybrid, malign=malign)
+if (annet_format_ut) {
+ outfile <- paste0(substr(outfile, 1, nchar(outfile)-3), ut_format)
+ norgastIndikator_rapporteket(
+ RegDataAll, valgtVar = valgtVar, outfile=outfile, tittel=tittel, width=width,
+ height=height, decreasing=decreasing, terskel=terskel, minstekrav = minstekrav,
+ maal = 30, skriftStr=skriftStr, pktStr=pktStr, legPlass=legPlass,
+ minstekravTxt=minstekravTxt, maalTxt=maalTxt, graaUt=graaUt,
+ lavDG = graaUt_lever, lavDGtekst = dg_tekst, inkl_konf=inkl_konf,
+ op_gruppe=op_gruppe, datoFra=datoFra, datoTil=datoTil,
+ hastegrad_hybrid=hastegrad_hybrid, malign=malign)
+}
+
+outfile <- figfolder %>% paste0('ReLapNarkose_lever_aar.pdf')
+valgtVar <- 'ReLapNarkose'
+norgastIndikator_rapporteket(
+ RegDataAll, valgtVar = valgtVar, outfile=outfile, tittel=tittel, width=width,
+ height=height, decreasing=T, terskel=terskel, minstekrav = 10, maal = 7,
+ skriftStr=skriftStr, lavDG = graaUt_lever, lavDGtekst = dg_tekst, pktStr=pktStr,
+ legPlass=legPlass, minstekravTxt=minstekravTxt, maalTxt=maalTxt, graaUt=graaUt,
+ maalretn = 'lav', inkl_konf=inkl_konf, op_gruppe=op_gruppe, datoFra=datoFra,
+ datoTil=datoTil, hastegrad_hybrid=hastegrad_hybrid, malign=malign)
+if (annet_format_ut) {
+ outfile <- paste0(substr(outfile, 1, nchar(outfile)-3), ut_format)
+ norgastIndikator_rapporteket(
+ RegDataAll, valgtVar = valgtVar, outfile=outfile, tittel=tittel, width=width,
+ height=height, decreasing=T, terskel=terskel, minstekrav = 10, maal = 7,
+ skriftStr=skriftStr, lavDG = graaUt_lever, lavDGtekst = dg_tekst, pktStr=pktStr,
+ legPlass=legPlass, minstekravTxt=minstekravTxt, maalTxt=maalTxt, graaUt=graaUt,
+ maalretn = 'lav', inkl_konf=inkl_konf, op_gruppe=op_gruppe, datoFra=datoFra,
+ datoTil=datoTil, hastegrad_hybrid=hastegrad_hybrid, malign=malign)
+}
+
+outfile <- figfolder %>% paste0('mortalitet90_lever_aar.pdf')
+valgtVar <- 'mortalitet90'
+norgastIndikator_rapporteket(
+ RegDataAll, valgtVar = valgtVar, outfile=outfile, tittel=tittel, width=width,
+ height=height, decreasing=T, terskel=terskel, minstekrav = 5, maal = 3,
+ skriftStr=skriftStr, lavDG = graaUt_lever, lavDGtekst = dg_tekst, pktStr=pktStr,
+ legPlass=legPlass, minstekravTxt=minstekravTxt, maalTxt=maalTxt, graaUt=graaUt,
+ inkl_konf=inkl_konf, op_gruppe=op_gruppe, datoFra=datoFra, datoTil=datoTil,
+ hastegrad_hybrid=hastegrad_hybrid, malign=malign, kun_ferdigstilte = F)
+if (annet_format_ut) {
+ outfile <- paste0(substr(outfile, 1, nchar(outfile)-3), ut_format)
+ norgastIndikator_rapporteket(
+ RegDataAll, valgtVar = valgtVar, outfile=outfile, tittel=tittel, width=width,
+ height=height, decreasing=T, terskel=terskel, minstekrav = 5, maal = 3,
+ skriftStr=skriftStr, lavDG = graaUt_lever, lavDGtekst = dg_tekst, pktStr=pktStr,
+ legPlass=legPlass, minstekravTxt=minstekravTxt, maalTxt=maalTxt, graaUt=graaUt,
+ inkl_konf=inkl_konf, op_gruppe=op_gruppe, datoFra=datoFra, datoTil=datoTil,
+ hastegrad_hybrid=hastegrad_hybrid, malign=malign, kun_ferdigstilte = F)
+}
+@
+
+\begin{figure}[ht]
+\centering
+\includegraphics[width=\Sexpr{figstr}\textwidth]{\Sexpr{figfolder}Tilgang_lever_aar.pdf}
+\caption{Tilgang\_lever\_aar.pdf}
+\end{figure}
+
+\begin{figure}[ht]
+\centering
+\includegraphics[width=\Sexpr{figstr}\textwidth]{\Sexpr{figfolder}AccordionGrad_lever.pdf}
+\caption{AccordionGrad\_lever.pdf}
+\end{figure}
+
+\begin{figure}[ht]
+\centering
+\includegraphics[width=\Sexpr{figstr}\textwidth]{\Sexpr{figfolder}ReLapNarkose_lever_aar.pdf}
+\caption{ReLapNarkose\_lever\_aar.pdf}
+\end{figure}
+
+
+\begin{figure}[ht]
+\centering
+\includegraphics[width=\Sexpr{figstr}\textwidth]{\Sexpr{figfolder}mortalitet90_lever_aar.pdf}
+\caption{mortalitet90\_lever\_aar.pdf}
+\end{figure}
+
+\clearpage
+
+\section{Whipples operasjon}
+
+\begin{table}[htb]
+\begin{minipage}{\textwidth}
+\centering
+<<'Tabell:ReoperasjonerWhipple', results='asis', echo=FALSE, eval=T, warning=FALSE>>=
+Terskel<-20
+TabellData_landet <- NorgastTabeller(RegData=RegData[RegData$FerdigForlop == 1, ],
+ datoFra=datoFra, datoTil=datoTil, minald=0,
+ maxald=130, erMann=99, enhetsUtvalg=0,
+ Terskel=Terskel, reshID=reshID)
+Tabell <- TabellData_landet$Tabell2
+Tabell <- Tabell[c(6), ]
+print(
+ xtable::xtable(Tabell, digits=c(0,0,0,rep(1, ncol(Tabell)-2))),
+ floating=FALSE,
+ hline.after=NULL,
+ align=c('l', 'l', rep('r', ncol(Tabell)-1)),
+ add.to.row=list(
+ pos=list(-1,0,0,0,0,0, nrow(Tabell)),
+ command=c('\\toprule\n', '& & & \\multicolumn{4}{c}{Reoperasjonsrate for
+ ulike årsaker (\\%)} \\\\\n', '\\cline{4-9} \n',
+ '& & Reoperasjons- & Anastomose- & Dyp &&&& \\\\\n',
+ 'Operasjonsgruppe & $N$ & rate (\\%) & lekkasje\\footnote[2]{Dette
+ er av alle opererte, ikke alle under risiko.} & infeksjon & Blødning
+ & Sårruptur & Annet & Ingen \\\\\n','\\midrule\n','\\bottomrule\n')),
+ include.colnames=FALSE, include.rownames=FALSE)
+@
+\captionof{table}{Whipples operasjon. Reoperasjoner \Sexpr{rap_aar}. Gjelder \textbf{hele landet}.}
+\end{minipage}
+\end{table}
+
+\begin{table}[htb]
+\begin{minipage}{\textwidth}
+\centering
+<<'Tabell:ReoperasjonerWhipple v3', results='asis', echo=FALSE, eval=T, warning=FALSE>>=
+aux <- RegData[which(RegData$ReLapNarkose %in% c(0, 1) &
+ RegData$Op_gr==6 & RegData$FerdigForlop == 1), ]
+aux$Tilgang <- factor(aux$Tilgang, levels = 1:3,
+ labels = c("Åpen", "Laparoskopisk", "Konvertert") )
+
+nytab <- aux %>% group_by(Tilgang) %>%
+ summarise(N = n(),
+ reop_rate = sum(ReLapNarkose),
+ anastomoselekk = sum(ViktigsteFunn==1, na.rm = T),
+ dyp_infek = sum(ViktigsteFunn==2, na.rm = T),
+ bloedning = sum(ViktigsteFunn==3, na.rm = T),
+ saarrupt = sum(ViktigsteFunn==4, na.rm = T),
+ annet = sum(ViktigsteFunn==5, na.rm = T),
+ ingen = sum(ViktigsteFunn==6, na.rm = T)) %>%
+ janitor::adorn_totals()
+
+nytab[, -(1:2)] <- nytab[, -(1:2)]/nytab$N*100
+Tabell <- nytab
+
+print(
+ xtable::xtable(Tabell, digits=c(0,0,0,rep(1, ncol(Tabell)-2)),
+ align=c('l', 'l', rep('r', ncol(Tabell)-1))),
+ floating=FALSE,
+ hline.after=NULL,
+ add.to.row=list(
+ pos=list(-1,0,0,0,0,0, nrow(Tabell)),
+ command=c('\\toprule\n', '& & & \\multicolumn{4}{c}{Reoperasjonsrate for
+ ulike årsaker (\\%)} \\\\\n', '\\cline{4-9} \n',
+ '& & Reoperasjons- & Anastomose- & Dyp &&&& \\\\\n',
+ 'Tilgang & N & rate (\\%) & lekkasje\\footnote[2]{Dette er av alle
+ opererte, ikke alle under risiko.} & infeksjon & Blødning & Sårruptur
+ & Annet & Ingen \\\\\n','\\midrule\n','\\bottomrule\n')),
+ include.colnames=FALSE, include.rownames=FALSE,
+ sanitize.text.function = function(x){x})
+@
+\captionof{table}{Whipples operasjon. Reoperasjoner \Sexpr{rap_aar} etter Tilgang. Gjelder \textbf{hele landet}.}
+\end{minipage}
+\end{table}
+
+
+<<'fig_whipple', include=FALSE, echo=FALSE, eval=T, cache=FALSE>>=
+# reseksjonsGr <- 'JLC30|JLC31'
+op_gruppe <- 6
+
+outfile <- figfolder %>% paste0('Rekonstruksjon_whipple_aar.pdf')
+valgtVar <- 'Rekonstruksjon'
+norgastIndikator_rapporteket(
+ RegDataAll, valgtVar = valgtVar, outfile=outfile, tittel=tittel, width=width,
+ height=height, decreasing=decreasing, terskel=terskel, minstekrav = minstekrav,
+ maal = maal, skriftStr=skriftStr, pktStr=pktStr, legPlass=legPlass,
+ minstekravTxt=minstekravTxt, maalTxt=maalTxt, graaUt=graaUt,
+ lavDG = graaUt_whipple, lavDGtekst = dg_tekst, inkl_konf=inkl_konf,
+ op_gruppe=op_gruppe, datoFra='2018-05-01', datoTil=datoTil,
+ hastegrad_hybrid=hastegrad_hybrid, malign=malign)
+if (annet_format_ut) {
+ outfile <- paste0(substr(outfile, 1, nchar(outfile)-3), ut_format)
+ norgastIndikator_rapporteket(
+ RegDataAll, valgtVar = valgtVar, outfile=outfile, tittel=tittel, width=width,
+ height=height, decreasing=decreasing, terskel=terskel, minstekrav = minstekrav,
+ maal = maal, skriftStr=skriftStr, pktStr=pktStr, legPlass=legPlass,
+ minstekravTxt=minstekravTxt, maalTxt=maalTxt, graaUt=graaUt,
+ lavDG = graaUt_whipple, lavDGtekst = dg_tekst, inkl_konf=inkl_konf,
+ op_gruppe=op_gruppe, datoFra='2018-05-01', datoTil=datoTil,
+ hastegrad_hybrid=hastegrad_hybrid, malign=malign)
+}
+
+outfile <- figfolder %>% paste0('CR_POPF_whipple_aar.pdf')
+valgtVar <- 'CR_POPF'
+norgastIndikator_rapporteket(
+ RegDataAll, valgtVar = valgtVar, outfile=outfile, tittel=tittel, width=width,
+ height=height, decreasing=decreasing, terskel=terskel, minstekrav = 20, maal = 15,
+ skriftStr=skriftStr, pktStr=pktStr, legPlass=legPlass, minstekravTxt=minstekravTxt,
+ maalTxt=maalTxt, graaUt=graaUt, lavDG = graaUt_whipple, lavDGtekst = dg_tekst,
+ inkl_konf=inkl_konf, op_gruppe=op_gruppe, datoFra='2018-05-01', datoTil=datoTil,
+ hastegrad_hybrid=hastegrad_hybrid, malign=malign)
+if (annet_format_ut) {
+ outfile <- paste0(substr(outfile, 1, nchar(outfile)-3), ut_format)
+ norgastIndikator_rapporteket(
+ RegDataAll, valgtVar = valgtVar, outfile=outfile, tittel=tittel, width=width,
+ height=height, decreasing=decreasing, terskel=terskel, minstekrav = 20, maal = 15,
+ skriftStr=skriftStr, pktStr=pktStr, legPlass=legPlass, minstekravTxt=minstekravTxt,
+ maalTxt=maalTxt, graaUt=graaUt, lavDG = graaUt_whipple, lavDGtekst = dg_tekst,
+ inkl_konf=inkl_konf, op_gruppe=op_gruppe, datoFra='2018-05-01', datoTil=datoTil,
+ hastegrad_hybrid=hastegrad_hybrid, malign=malign)
+}
+
+
+outfile <- figfolder %>% paste0('ReLapNarkose_whipple.pdf')
+valgtVar <- 'ReLapNarkose'
+norgastIndikator_rapporteket(
+ RegDataAll, valgtVar = valgtVar, outfile=outfile, tittel=tittel, width=width,
+ height=height, decreasing=T, terskel=terskel, minstekrav = minstekrav, maal = 20,
+ skriftStr=skriftStr, pktStr=pktStr, legPlass=legPlass, minstekravTxt=minstekravTxt,
+ maalTxt=maalTxt, graaUt=graaUt, lavDG = graaUt_whipple, lavDGtekst = dg_tekst,
+ inkl_konf=inkl_konf, op_gruppe=op_gruppe, datoFra=datoFra, datoTil=datoTil,
+ maalretn = 'lav', hastegrad_hybrid=hastegrad_hybrid, malign=malign)
+if (annet_format_ut) {
+ outfile <- paste0(substr(outfile, 1, nchar(outfile)-3), ut_format)
+ norgastIndikator_rapporteket(
+ RegDataAll, valgtVar = valgtVar, outfile=outfile, tittel=tittel, width=width,
+ height=height, decreasing=T, terskel=terskel, minstekrav = minstekrav, maal = 20,
+ skriftStr=skriftStr, pktStr=pktStr, legPlass=legPlass, minstekravTxt=minstekravTxt,
+ maalTxt=maalTxt, graaUt=graaUt, lavDG = graaUt_whipple, lavDGtekst = dg_tekst,
+ inkl_konf=inkl_konf, op_gruppe=op_gruppe, datoFra=datoFra, datoTil=datoTil,
+ maalretn = 'lav', hastegrad_hybrid=hastegrad_hybrid, malign=malign)
+}
+
+outfile <- figfolder %>% paste0('mortalitet90_whipple_aar.pdf')
+valgtVar <- 'mortalitet90'
+norgastIndikator_rapporteket(
+ RegDataAll, valgtVar = valgtVar, outfile=outfile, tittel=tittel, width=width,
+ height=height, decreasing=T, terskel=terskel, minstekrav = 8, maal = 5,
+ skriftStr=skriftStr, pktStr=pktStr, legPlass=legPlass, minstekravTxt=minstekravTxt,
+ maalTxt=maalTxt, graaUt=graaUt, lavDG = graaUt_whipple, lavDGtekst = dg_tekst,
+ inkl_konf=inkl_konf, op_gruppe=op_gruppe, datoFra=datoFra, datoTil=datoTil,
+ hastegrad_hybrid=hastegrad_hybrid, malign=malign, kun_ferdigstilte = F)
+if (annet_format_ut) {
+ outfile <- paste0(substr(outfile, 1, nchar(outfile)-3), ut_format)
+ norgastIndikator_rapporteket(
+ RegDataAll, valgtVar = valgtVar, outfile=outfile, tittel=tittel, width=width,
+ height=height, decreasing=T, terskel=terskel, minstekrav = 8, maal = 5,
+ skriftStr=skriftStr, pktStr=pktStr, legPlass=legPlass, minstekravTxt=minstekravTxt,
+ maalTxt=maalTxt, graaUt=graaUt, lavDG = graaUt_whipple, lavDGtekst = dg_tekst,
+ inkl_konf=inkl_konf, op_gruppe=op_gruppe, datoFra=datoFra, datoTil=datoTil,
+ hastegrad_hybrid=hastegrad_hybrid, malign=malign, kun_ferdigstilte = F)
+}
+
+outfile <- figfolder %>% paste0('AccordionGrad_whipple.pdf')
+NorgastFigAndelStabelGrVar(
+ RegData, valgtVar='AccordionGrad_drenasje', op_gruppe=op_gruppe,
+ outfile=outfile, Ngrense=terskel, lavDG = graaUt_whipple)
+if (annet_format_ut) {
+ outfile <- paste0(substr(outfile, 1, nchar(outfile)-3), ut_format)
+ NorgastFigAndelStabelGrVar(
+ RegData, valgtVar='AccordionGrad_drenasje', op_gruppe=op_gruppe,
+ outfile=outfile, Ngrense=terskel, lavDG = graaUt_whipple)
+}
+@
+
+\begin{figure}[ht]
+\centering
+\includegraphics[width=\Sexpr{figstr}\textwidth]{\Sexpr{figfolder}Rekonstruksjon_whipple_aar.pdf}
+\caption{Rekonstruksjon\_whipple\_aar.pdf}
+\end{figure}
+
+\begin{figure}[ht]
+\centering
+\includegraphics[width=\Sexpr{figstr}\textwidth]{\Sexpr{figfolder}ReLapNarkose_whipple.pdf}
+\caption{ReLapNarkose\_whipple.pdf}
+\end{figure}
+
+\begin{figure}[ht]
+\centering
+\includegraphics[width=\Sexpr{figstr}\textwidth]{\Sexpr{figfolder}AccordionGrad_whipple.pdf}
+\caption{AccordionGrad\_whipple.pdf}
+\end{figure}
+
+\begin{figure}[ht]
+\centering
+\includegraphics[width=\Sexpr{figstr}\textwidth]{\Sexpr{figfolder}mortalitet90_whipple_aar.pdf}
+\caption{mortalitet90\_whipple\_aar.pdf}
+\end{figure}
+
+\begin{figure}[ht]
+\centering
+\includegraphics[width=\Sexpr{figstr}\textwidth]{\Sexpr{figfolder}CR_POPF_whipple_aar.pdf}
+\caption{CR\_POPF\_whipple\_aar.pdf}
+\end{figure}
+
+\clearpage
+
+\section{Øvrige pankreasreseksjoner}
+
+\addtolength{\hoffset}{-1.5cm}
+
+\begin{table}[htb]
+\begin{minipage}{\textwidth}
+\centering
+<<'Tabell:ReoperasjonerPankreas', results='asis', echo=FALSE, eval=T, warning=FALSE>>=
+Terskel<-20
+TabellData_landet <- NorgastTabeller(RegData=RegData[RegData$FerdigForlop == 1, ],
+ datoFra=datoFra, datoTil=datoTil, minald=0,
+ maxald=130, erMann=99, enhetsUtvalg=0,
+ Terskel=Terskel, reshID=reshID)
+Tabell <- TabellData_landet$Tabell2
+Tabell <- Tabell[c(7,8), ]
+print(
+ xtable::xtable(Tabell, digits=c(0,0,0,rep(1, ncol(Tabell)-2))),
+ floating=FALSE,
+ hline.after=NULL,
+ align=c('l', 'l', rep('r', ncol(Tabell)-1)),
+ add.to.row=list(
+ pos=list(-1,0,0,0,0,0, nrow(Tabell)),
+ command=c('\\toprule\n', '& & & \\multicolumn{4}{c}{Reoperasjonsrate for
+ ulike årsaker (\\%)} \\\\\n', '\\cline{4-9} \n',
+ '& & Reoperasjons- & Anastomose- & Dyp &&&& \\\\\n',
+ 'Operasjonsgruppe & $N$ & rate (\\%) & lekkasje\\footnote[2]{Dette
+ er av alle opererte, ikke alle under risiko.} & infeksjon & Blødning
+ & Sårruptur & Annet & Ingen \\\\\n','\\midrule\n','\\bottomrule\n')),
+ include.colnames=FALSE, include.rownames=FALSE)
+@
+\captionof{table}{Øvrige pankreasreseksjoner. Reoperasjoner \Sexpr{rap_aar}. Gjelder \textbf{hele landet}.}
+\end{minipage}
+\end{table}
+
+\begin{table}[htb]
+\begin{minipage}{\textwidth}
+\centering
+<<'Tabell:ReoperasjonerOvrigPankreas v3', results='asis', echo=FALSE, eval=T, warning=FALSE>>=
+aux <- RegData[which(RegData$Hastegrad_hybrid==1 &
+ RegData$ReLapNarkose %in% c(0, 1) &
+ RegData$Op_gr %in% 7:8 & RegData$FerdigForlop == 1), ]
+aux$Tilgang <- factor(aux$Tilgang, levels = 1:3,
+ labels = c("Åpen", "Laparoskopisk", "Konvertert") )
+
+nytab <- aux %>% group_by(Tilgang) %>%
+ summarise(N = n(),
+ reop_rate = sum(ReLapNarkose),
+ anastomoselekk = sum(ViktigsteFunn==1, na.rm = T),
+ dyp_infek = sum(ViktigsteFunn==2, na.rm = T),
+ bloedning = sum(ViktigsteFunn==3, na.rm = T),
+ saarrupt = sum(ViktigsteFunn==4, na.rm = T),
+ annet = sum(ViktigsteFunn==5, na.rm = T),
+ ingen = sum(ViktigsteFunn==6, na.rm = T)) %>%
+ janitor::adorn_totals()
+
+nytab[, -(1:2)] <- nytab[, -(1:2)]/nytab$N*100
+Tabell <- nytab
+
+print(
+ xtable::xtable(Tabell, digits=c(0,0,0,rep(1, ncol(Tabell)-2)),
+ align=c('l', 'l', rep('r', ncol(Tabell)-1))),
+ floating=FALSE,
+ hline.after=NULL,
+ add.to.row=list(
+ pos=list(-1,0,0,0,0,0, nrow(Tabell)),
+ command=c('\\toprule\n', '& & & \\multicolumn{4}{c}{Reoperasjonsrate for
+ ulike årsaker (\\%)} \\\\\n', '\\cline{4-9} \n',
+ '& & Reoperasjons- & Anastomose- & Dyp &&&& \\\\\n',
+ 'Tilgang & N & rate (\\%) & lekkasje\\footnote[2]{Dette er av alle
+ opererte, ikke alle under risiko.} & infeksjon & Blødning & Sårruptur
+ & Annet & Ingen \\\\\n','\\midrule\n','\\bottomrule\n')),
+ include.colnames=FALSE, include.rownames=FALSE,
+ sanitize.text.function = function(x){x})
+@
+\captionof{table}{Øvrige pankreasreseksjoner. Elektive operasjoner. Reoperasjoner \Sexpr{rap_aar} etter Tilgang. Gjelder \textbf{hele landet}.}
+\end{minipage}
+\end{table}
+
+
+
+<<'fig_ovrigpankreas', include=FALSE, echo=FALSE, eval=T, cache=FALSE>>=
+op_gruppe <- 7
+
+outfile <- figfolder %>% paste0('Tilgang_ovrigpankreas_aar.pdf')
+valgtVar <- 'LapTilgang2'
+norgastIndikator_rapporteket(
+ RegDataAll, valgtVar = valgtVar, outfile=outfile, tittel=tittel, width=width,
+ height=height, decreasing=decreasing, terskel=terskel, minstekrav = minstekrav,
+ maal = 35, skriftStr=skriftStr, pktStr=pktStr, legPlass=legPlass,
+ minstekravTxt=minstekravTxt, maalTxt=maalTxt, graaUt=graaUt,
+ lavDG = graaUt_pankreas, lavDGtekst = dg_tekst, inkl_konf=inkl_konf,
+ op_gruppe=op_gruppe, datoFra=datoFra, datoTil=datoTil,
+ hastegrad_hybrid=hastegrad_hybrid, malign=malign)
+if (annet_format_ut) {
+ outfile <- paste0(substr(outfile, 1, nchar(outfile)-3), ut_format)
+ norgastIndikator_rapporteket(
+ RegDataAll, valgtVar = valgtVar, outfile=outfile, tittel=tittel, width=width,
+ height=height, decreasing=decreasing, terskel=terskel, minstekrav = minstekrav,
+ maal = 35, skriftStr=skriftStr, pktStr=pktStr, legPlass=legPlass,
+ minstekravTxt=minstekravTxt, maalTxt=maalTxt, graaUt=graaUt,
+ lavDG = graaUt_pankreas, lavDGtekst = dg_tekst, inkl_konf=inkl_konf,
+ op_gruppe=op_gruppe, datoFra=datoFra, datoTil=datoTil,
+ hastegrad_hybrid=hastegrad_hybrid, malign=malign)
+}
+
+outfile <- figfolder %>% paste0('Rekonstruksjon_ovrigpankreas_aar.pdf')
+valgtVar <- 'Rekonstruksjon'
+norgastIndikator_rapporteket(
+ RegDataAll, valgtVar = valgtVar, outfile=outfile, tittel=tittel, width=width,
+ height=height, decreasing=decreasing, terskel=terskel, minstekrav = minstekrav,
+ maal = maal, skriftStr=skriftStr, pktStr=pktStr, legPlass=legPlass,
+ minstekravTxt=minstekravTxt, maalTxt=maalTxt, graaUt=graaUt,
+ lavDG = graaUt_pankreas, lavDGtekst = dg_tekst, inkl_konf=inkl_konf,
+ op_gruppe=op_gruppe, datoFra='2018-05-01', datoTil=datoTil,
+ hastegrad_hybrid=hastegrad_hybrid, malign=malign)
+if (annet_format_ut) {
+ outfile <- paste0(substr(outfile, 1, nchar(outfile)-3), ut_format)
+ norgastIndikator_rapporteket(
+ RegDataAll, valgtVar = valgtVar, outfile=outfile, tittel=tittel, width=width,
+ height=height, decreasing=decreasing, terskel=terskel, minstekrav = minstekrav,
+ maal = maal, skriftStr=skriftStr, pktStr=pktStr, legPlass=legPlass,
+ minstekravTxt=minstekravTxt, maalTxt=maalTxt, graaUt=graaUt,
+ lavDG = graaUt_pankreas, lavDGtekst = dg_tekst, inkl_konf=inkl_konf,
+ op_gruppe=op_gruppe, datoFra='2018-05-01', datoTil=datoTil,
+ hastegrad_hybrid=hastegrad_hybrid, malign=malign)
+}
+
+outfile <- figfolder %>% paste0('CR_POPF_ovrigpankreas_aar.pdf')
+valgtVar <- 'CR_POPF'
+norgastIndikator_rapporteket(
+ RegDataAll, valgtVar = valgtVar, outfile=outfile, tittel=tittel, width=width,
+ height=height, decreasing=decreasing, terskel=terskel, minstekrav = 20, maal = 15,
+ skriftStr=skriftStr, pktStr=pktStr, legPlass=legPlass, minstekravTxt=minstekravTxt,
+ maalTxt=maalTxt, graaUt=graaUt, lavDG = graaUt_pankreas, lavDGtekst = dg_tekst,
+ inkl_konf=inkl_konf, op_gruppe=op_gruppe, datoFra='2018-05-01', datoTil=datoTil,
+ hastegrad_hybrid=hastegrad_hybrid, malign=malign)
+if (annet_format_ut) {
+ outfile <- paste0(substr(outfile, 1, nchar(outfile)-3), ut_format)
+ norgastIndikator_rapporteket(
+ RegDataAll, valgtVar = valgtVar, outfile=outfile, tittel=tittel, width=width,
+ height=height, decreasing=decreasing, terskel=terskel, minstekrav = 20, maal = 15,
+ skriftStr=skriftStr, pktStr=pktStr, legPlass=legPlass, minstekravTxt=minstekravTxt,
+ maalTxt=maalTxt, graaUt=graaUt, lavDG = graaUt_pankreas, lavDGtekst = dg_tekst,
+ inkl_konf=inkl_konf, op_gruppe=op_gruppe, datoFra='2018-05-01', datoTil=datoTil,
+ hastegrad_hybrid=hastegrad_hybrid, malign=malign)
+}
+
+
+outfile <- figfolder %>% paste0('AccordionGrad_ovrigpankreas.pdf')
+NorgastFigAndelStabelGrVar(
+ RegData, valgtVar='AccordionGrad_drenasje', op_gruppe=op_gruppe,
+ outfile=outfile, Ngrense=terskel, lavDG = graaUt_pankreas)
+if (annet_format_ut) {
+ outfile <- paste0(substr(outfile, 1, nchar(outfile)-3), ut_format)
+ NorgastFigAndelStabelGrVar(
+ RegData, valgtVar='AccordionGrad_drenasje', op_gruppe=op_gruppe,
+ outfile=outfile, Ngrense=terskel, lavDG = graaUt_pankreas)
+}
+@
+
+\begin{figure}[ht]
+\centering
+\includegraphics[width=\Sexpr{figstr}\textwidth]{\Sexpr{figfolder}Tilgang_ovrigpankreas_aar.pdf}
+\caption{Tilgang\_ovrigpankreas\_aar.pdf}
+\end{figure}
+
+\begin{figure}[ht]
+\centering
+\includegraphics[width=\Sexpr{figstr}\textwidth]{\Sexpr{figfolder}Rekonstruksjon_ovrigpankreas_aar.pdf}
+\caption{Rekonstruksjon\_ovrigpankreas\_aar.pdf}
+\end{figure}
+
+\begin{figure}[ht]
+\centering
+\includegraphics[width=\Sexpr{figstr}\textwidth]{\Sexpr{figfolder}CR_POPF_ovrigpankreas_aar.pdf}
+\caption{CR\_POPF\_ovrigpankreas\_aar.pdf}
+\end{figure}
+
+\begin{figure}[ht]
+\centering
+\includegraphics[width=\Sexpr{figstr}\textwidth]{\Sexpr{figfolder}AccordionGrad_ovrigpankreas.pdf}
+\caption{AccordionGrad\_ovrigpankreas.pdf}
+\end{figure}
+
+
+\end{document}
diff --git a/inst/Aarsrapport2023_pankreas_lever.pdf b/inst/Aarsrapport2023_pankreas_lever.pdf
new file mode 100644
index 0000000..af2235e
Binary files /dev/null and b/inst/Aarsrapport2023_pankreas_lever.pdf differ
diff --git a/man/NorgastFigAndelStabelGrVar.Rd b/man/NorgastFigAndelStabelGrVar.Rd
index 0a321a4..4c23698 100644
--- a/man/NorgastFigAndelStabelGrVar.Rd
+++ b/man/NorgastFigAndelStabelGrVar.Rd
@@ -36,7 +36,8 @@ NorgastFigAndelStabelGrVar(
robotassiastanse = 99,
kun_ferdigstilte = TRUE,
skriftStr = 1,
- tilgang_utvidet = ""
+ tilgang_utvidet = "",
+ accordion = ""
)
}
\arguments{
diff --git a/man/NorgastFigAndelTid.Rd b/man/NorgastFigAndelTid.Rd
index 1866915..79b99d4 100644
--- a/man/NorgastFigAndelTid.Rd
+++ b/man/NorgastFigAndelTid.Rd
@@ -36,7 +36,8 @@ NorgastFigAndelTid(
hastegrad_hybrid = 99,
robotassiastanse = 99,
kun_ferdigstilte = TRUE,
- tilgang_utvidet = ""
+ tilgang_utvidet = "",
+ accordion = ""
)
}
\arguments{
diff --git a/man/NorgastFigAndelTid_kvartalsrapp.Rd b/man/NorgastFigAndelTid_kvartalsrapp.Rd
index 5b7bfa3..a02ceb6 100644
--- a/man/NorgastFigAndelTid_kvartalsrapp.Rd
+++ b/man/NorgastFigAndelTid_kvartalsrapp.Rd
@@ -32,7 +32,8 @@ NorgastFigAndelTid_kvartalsrapp(
op_gruppe = "",
ncsp = "",
robotassiastanse = 99,
- kun_ferdigstilte = TRUE
+ kun_ferdigstilte = TRUE,
+ accordion = ""
)
}
\arguments{
diff --git a/man/NorgastFigAndelerGrVar.Rd b/man/NorgastFigAndelerGrVar.Rd
index 3f26eb1..eda9968 100644
--- a/man/NorgastFigAndelerGrVar.Rd
+++ b/man/NorgastFigAndelerGrVar.Rd
@@ -34,7 +34,8 @@ NorgastFigAndelerGrVar(
ncsp = "",
robotassiastanse = 99,
kun_ferdigstilte = TRUE,
- tilgang_utvidet = ""
+ tilgang_utvidet = "",
+ accordion = ""
)
}
\arguments{
diff --git a/man/NorgastFigGjsnGrVar.Rd b/man/NorgastFigGjsnGrVar.Rd
index c3a41d8..b5a1107 100644
--- a/man/NorgastFigGjsnGrVar.Rd
+++ b/man/NorgastFigGjsnGrVar.Rd
@@ -33,7 +33,8 @@ NorgastFigGjsnGrVar(
modGlasgow = "",
robotassiastanse = 99,
kun_ferdigstilte = TRUE,
- tilgang_utvidet = ""
+ tilgang_utvidet = "",
+ accordion = ""
)
}
\arguments{
diff --git a/man/norgastFigAndelGrVarTid.Rd b/man/norgastFigAndelGrVarTid.Rd
index 33df6b7..df4bc91 100644
--- a/man/norgastFigAndelGrVarTid.Rd
+++ b/man/norgastFigAndelGrVarTid.Rd
@@ -42,7 +42,8 @@ norgastFigAndelGrVarTid(
op_gruppe = "",
ncsp = "",
robotassiastanse = 99,
- kun_ferdigstilte = FALSE
+ kun_ferdigstilte = FALSE,
+ accordion = ""
)
}
\arguments{
diff --git a/man/norgastFigAntRegTid.Rd b/man/norgastFigAntRegTid.Rd
index ac5a403..698e584 100644
--- a/man/norgastFigAntRegTid.Rd
+++ b/man/norgastFigAntRegTid.Rd
@@ -42,7 +42,8 @@ norgastFigAntRegTid(
ncsp = "",
robotassiastanse = 99,
kun_ferdigstilte = TRUE,
- alletider = FALSE
+ alletider = FALSE,
+ accordion = ""
)
}
\arguments{