Das Mortalitätsmonitoring (MOMO) überwacht die wöchentliche Anzahl Todesfälle in der Schweiz.
Die Todesfälle werden täglich den Zivilstandsämtern gemeldet und dem BFS im Rahmen der Statistik der natürlichen Bevölkerungsbewegung (BEVNAT) mitgeteilt. Der Melde- und Verarbeitungsprozess braucht Zeit. In der Regel ist nach neun Tagen ein genügend grosser Anteil (> 85%) der Todesfälle registriert, so dass die Schätzung der tatsächlichen Zahl der Todesfälle auf einer breiten Datenbasismöglich ist. Mortalitäsmonitoring Schweiz
Die Website bietet eine Datenübersicht und stellt die Datensätze in einer API (JSON) wieder zur Verfügung. Zusätzlich wird ein Datensatz mit den laufenden Veränderungen angeboten.
Todesfälle nach Fünf-Jahres-Altersgruppe, Geschlecht, Woche und Kanton der Jahre 2000 bis 2020. Die erfassten Daten des laufenden Jahres werden automatisch täglich überprüft und auf der Homepage aktualisiert.
MOMO verfolgt einen kontinuierlichen Prozessansatz, der Softwareentwicklung und IT-Betrieb abdeckt. Alle Scripts sind in R geschrieben. Wobei für die reproduzierbare Softwareentwicklung das Kontainersystem von Docker eingesetzt wird. Als Versionierungssystem dient GitHub, GitHub Action für CI/CD und GitHub Page als Webserver.
Das IDE von RStudio wird in einem Docker gestartet und über den Browser darauf zugegriffen (http://localhost:8787).
docker run --name MOMO -d -p 8787:8787 -v $(pwd):/home/rstudio -e PASSWORD=pwd rocker/verse:3.6.3
Das Docker Image von rocker/verse hat die R Version 3.6.3 und einige Packages installiert und erspart uns somit ein Nachinstallieren.
sessionInfo()
#> R version 3.6.3 (2020-02-29)
#> Platform: x86_64-pc-linux-gnu (64-bit)
#> Running under: Debian GNU/Linux 10 (buster)
#>
#> Matrix products: default
#> BLAS/LAPACK: /usr/lib/x86_64-linux-gnu/libopenblasp-r0.3.5.so
#>
#> locale:
#> [1] LC_CTYPE=en_US.UTF-8 LC_NUMERIC=C
#> [3] LC_TIME=en_US.UTF-8 LC_COLLATE=en_US.UTF-8
#> [5] LC_MONETARY=en_US.UTF-8 LC_MESSAGES=C
#> [7] LC_PAPER=en_US.UTF-8 LC_NAME=C
#> [9] LC_ADDRESS=C LC_TELEPHONE=C
#> [11] LC_MEASUREMENT=en_US.UTF-8 LC_IDENTIFICATION=C
#>
#> attached base packages:
#> [1] stats graphics grDevices utils datasets methods base
#>
#> loaded via a namespace (and not attached):
#> [1] compiler_3.6.3 magrittr_1.5 tools_3.6.3 htmltools_0.4.0
#> [5] yaml_2.2.1 Rcpp_1.0.4.6 stringi_1.4.6 rmarkdown_2.1
#> [9] knitr_1.28 stringr_1.4.0 xfun_0.13 digest_0.6.25
#> [13] rlang_0.4.5 evaluate_0.14
Die Versions-Liste der verwendeten R-Packages.
libs <- c("RCurl","jsonlite","readr","dplyr","purrr","ggplot2","lubridate","flexdashboard","DT","dygraphs","xts")
ip <- installed.packages(fields = c("Package", "Version"))
ip <- ip[ip[,c("Package")] %in% libs,]
paste(ip[,c("Package")],ip[,c("Version")])
#> [1] "dplyr 0.8.5" "DT 0.13" "dygraphs 1.1.1.6"
#> [4] "flexdashboard 0.5.1.1" "ggplot2 3.3.0" "jsonlite 1.6.1"
#> [7] "lubridate 1.7.8" "purrr 0.3.4" "RCurl 1.98-1.2"
#> [10] "readr 1.3.1" "xts 0.12-0"