We will draft a causal loop diagram utilizing the workflow described in this article:
https://www.erikigelstrom.com/articles/causal-graphs-in-r-with-diagrammer/
#Generate a causal loop diagram for adoption and utilization of readmission risk score that is easy to read and smooth circular arrows
DiagrammeR::grViz("
digraph {
graph [ranksep = 0.2, splines = true, nodesep = 0.2, fontname = Helvetica, fontsize = 12]
node [shape = plaintext, fontname = Helvetica]
subgraph cluster_0 {
style = invis;
aware [label = 'Awareness', root = true]
use [label = 'Use in Discharge', shape = box, root = true]
train [label = 'training']
aware -> use [label = '(+)']
use -> train [label = '(-)']
train -> aware [label = '(+)']
}
subgraph cluster_1 {
style = invis;
admit [label = '(Re)admits', shape = box, root = true]
inc [label = 'Incentives']
inst [label = 'Align w/\nInst Goals']
indv [label = 'Align w/\nIndiv Goals']
use -> admit [label = '(-)']
admit-> inc [label = '(+)']
inc -> inst [label = '(+)']
inst -> indv [label = '(+)']
indv -> use [label = '(+)']
}
subgraph cluster_2 {
style = invis;
indv [label = 'Align w/\nIndiv Goals']
app [label = 'Appropriate Alert\n(For discipline)']
data [label = 'Data']
disc [label = 'Discussion on rounds']
inst [label = 'Align w/\nInst Goals']
indv -> app [label = '(+)']
app -> data [label = '(+)']
data -> disc [label = '(+)']
disc -> inst [label = '(+)']
}
edge [arrowhead = normal, fontname = Helvetica, fontsize = 10]
app -> indv [label = '(+)']
{rank = same; aware; use; admit}
}
")