-
Notifications
You must be signed in to change notification settings - Fork 0
/
_logbook_report.Rmd
119 lines (107 loc) · 3.25 KB
/
_logbook_report.Rmd
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
---
title: "ICU Logbook"
author: "`r params$author`"
date: "13/11/2021"
output: pdf_document
params:
dataframe: "NULL"
author: "NULL"
start_date: "NULL"
end_date: "NULL"
---
```{r setup, include=FALSE}
knitr::opts_chunk$set(echo = FALSE, warning=FALSE, results="asis")
library(patchwork)
library(tidyverse)
library(knitr)
```
```{r}
admit_type_plot <- params$dataframe %>%
filter(input_type == "Case") %>%
distinct(Identifier, .keep_all = TRUE) %>%
ggplot(aes(x=admit_type)) +
geom_histogram(stat="Count") +
labs(y="Count") +
ggtitle("Admission Type Distribution") +
theme_classic(base_size = 8) +
theme(axis.title = element_blank())
age_plot <- params$dataframe %>%
filter(input_type == "Case") %>%
distinct(Identifier, .keep_all = TRUE) %>%
ggplot(aes(x=Age)) +
geom_density() +
labs(y="Density") +
ggtitle("Patient Age (years) Distribution") +
theme_classic(base_size = 8) +
theme(axis.title = element_blank())
gender_plot <- params$dataframe %>%
filter(input_type == "Case") %>%
distinct(Identifier, .keep_all = TRUE) %>%
ggplot(aes(x=Gender)) +
geom_histogram(stat="count") +
labs(x="Sex", y="Count") +
ggtitle("Sex Distribution") +
theme_classic(base_size = 8) +
theme(axis.title = element_blank())
speciality_type_plot <- params$dataframe %>%
filter(input_type == "Case") %>%
distinct(Identifier, .keep_all = TRUE) %>%
ggplot(aes(x=`Referring speciality`)) +
geom_histogram(stat="count") +
labs(y="Count") +
ggtitle("Speciality Distribution") +
theme_classic(base_size = 8) +
theme(axis.text.x = element_text(angle = 90, vjust = 0.5, hjust=1),
axis.title = element_blank())
(speciality_type_plot / (age_plot + gender_plot + admit_type_plot)) +
plot_annotation(
title = 'Case Mix',
caption = paste('From', format(params$start_date, "%d/%m/%Y"), 'to', format(params$end_date, "%d/%m/%Y"))
)
```
\newpage
```{r}
diagnosis_table <- params$dataframe %>%
filter(input_type == "Case") %>%
distinct(Identifier, .keep_all = TRUE) %>%
group_by(Diagnosis) %>%
summarise(Count = n()) %>%
arrange(desc(Count))
kable(diagnosis_table)
```
\newpage
```{r}
procedure_plot <- params$dataframe %>%
filter(input_type == "Procedure") %>%
ggplot(aes(x=`Procedure`)) +
geom_histogram(stat="count") +
labs(y="Count") +
ggtitle("Procedure") +
theme_classic() +
theme(axis.text.x = element_text(angle = 90, vjust = 0.5, hjust=1),
axis.title = element_blank())
supervision_plot <- params$dataframe %>%
filter(input_type == "Procedure") %>%
ggplot(aes(x=`Supervision`)) +
geom_histogram(stat="count") +
labs(y="Count") +
ggtitle("Supervision") +
theme_classic() +
theme(axis.text.x = element_text(angle = 90, vjust = 0.5, hjust=1),
axis.title = element_blank())
(procedure_plot / supervision_plot) +
plot_annotation(
title = 'Procedures',
caption = paste('From', format(params$start_date, "%d/%m/%Y"), 'to', format(params$end_date, "%d/%m/%Y"))
)
```
\newpage
```{r}
transfer_table <- params$dataframe %>%
filter(input_type == "Transfer") %>%
group_by(transfer_type, Reason) %>%
summarise(Count = n(), .groups="drop_last") %>%
arrange(desc(Count)) %>%
rename(`Transfer Type`= transfer_type)
kable(transfer_table)
```