├── .github
└── workflows
│ └── quarto-publish-example.yaml
├── .gitignore
├── CODE_OF_CONDUCT.md
├── CONTRIBUTING.md
├── LICENSE
├── README.md
├── docs
├── .gitignore
├── _freeze
│ ├── documentation
│ │ └── visualisation
│ │ │ ├── execute-results
│ │ │ └── html.json
│ │ │ └── figure-html
│ │ │ ├── Example Line Chart-1.png
│ │ │ └── Example SPC Chart-1.png
│ ├── site_libs
│ │ ├── Dygraph.Plugins.Crosshair-1.0
│ │ │ └── crosshair.js
│ │ ├── Proj4Leaflet-1.0.1
│ │ │ └── proj4leaflet.js
│ │ ├── clipboard
│ │ │ └── clipboard.min.js
│ │ ├── collapsibleTree-0.1.6
│ │ │ ├── collapsibleTree.css
│ │ │ └── d3-4.10.2
│ │ │ │ ├── LICENSE
│ │ │ │ └── d3.min.js
│ │ ├── collapsibleTree-binding-0.1.7
│ │ │ └── collapsibleTree.js
│ │ ├── core-js-2.5.3
│ │ │ ├── LICENSE
│ │ │ ├── package.json
│ │ │ └── shim.min.js
│ │ ├── crosstalk-1.2.0
│ │ │ ├── css
│ │ │ │ └── crosstalk.min.css
│ │ │ ├── js
│ │ │ │ ├── crosstalk.js
│ │ │ │ ├── crosstalk.js.map
│ │ │ │ ├── crosstalk.min.js
│ │ │ │ └── crosstalk.min.js.map
│ │ │ └── scss
│ │ │ │ └── crosstalk.scss
│ │ ├── d3-4.10.2
│ │ │ ├── LICENSE
│ │ │ └── d3.min.js
│ │ ├── datatables-binding-0.26
│ │ │ └── datatables.js
│ │ ├── datatables-css-0.0.0
│ │ │ └── datatables-crosstalk.css
│ │ ├── dt-core-1.12.1
│ │ │ ├── css
│ │ │ │ ├── jquery.dataTables.extra.css
│ │ │ │ └── jquery.dataTables.min.css
│ │ │ └── js
│ │ │ │ └── jquery.dataTables.min.js
│ │ ├── dt-ext-buttons-1.12.1
│ │ │ ├── css
│ │ │ │ └── buttons.dataTables.min.css
│ │ │ └── js
│ │ │ │ ├── buttons.colVis.min.js
│ │ │ │ ├── buttons.html5.min.js
│ │ │ │ ├── buttons.print.min.js
│ │ │ │ └── dataTables.buttons.min.js
│ │ ├── dygraphs-1.1.1
│ │ │ ├── dygraph-combined-dev.js
│ │ │ ├── dygraph-combined.js
│ │ │ ├── dygraph.css
│ │ │ └── shapes.js
│ │ ├── dygraphs-binding-1.1.1.6
│ │ │ └── dygraphs.js
│ │ ├── fontawesome-4.7.0
│ │ │ ├── bootstrap-theme.min.css
│ │ │ ├── bootstrap.min.css
│ │ │ ├── bootstrap.min.js
│ │ │ ├── font-awesome.min.css
│ │ │ ├── fonts
│ │ │ │ ├── FontAwesome.otf
│ │ │ │ ├── fontawesome-webfont.eot
│ │ │ │ ├── fontawesome-webfont.svg
│ │ │ │ ├── fontawesome-webfont.ttf
│ │ │ │ ├── fontawesome-webfont.woff
│ │ │ │ ├── glyphicons-halflings-regular.eot
│ │ │ │ ├── glyphicons-halflings-regular.svg
│ │ │ │ ├── glyphicons-halflings-regular.ttf
│ │ │ │ ├── glyphicons-halflings-regular.woff
│ │ │ │ ├── ionicons.eot
│ │ │ │ ├── ionicons.svg
│ │ │ │ ├── ionicons.ttf
│ │ │ │ └── ionicons.woff
│ │ │ ├── images
│ │ │ │ ├── markers-matte.png
│ │ │ │ ├── markers-matte@2x.png
│ │ │ │ ├── markers-plain.png
│ │ │ │ ├── markers-shadow.png
│ │ │ │ ├── markers-shadow@2x.png
│ │ │ │ ├── markers-soft.png
│ │ │ │ └── markers-soft@2x.png
│ │ │ ├── ionicons.min.css
│ │ │ ├── leaflet.awesome-markers.css
│ │ │ ├── leaflet.awesome-markers.js
│ │ │ └── leaflet.awesome-markers.min.js
│ │ ├── htmlwidgets-1.6.0
│ │ │ └── htmlwidgets.js
│ │ ├── jquery-3.6.0
│ │ │ ├── jquery-3.6.0.js
│ │ │ ├── jquery-3.6.0.min.js
│ │ │ └── jquery-3.6.0.min.map
│ │ ├── kePrint-0.0.1
│ │ │ └── kePrint.js
│ │ ├── leaflet-1.3.1
│ │ │ ├── images
│ │ │ │ ├── layers-2x.png
│ │ │ │ ├── layers.png
│ │ │ │ ├── marker-icon-2x.png
│ │ │ │ ├── marker-icon.png
│ │ │ │ └── marker-shadow.png
│ │ │ ├── leaflet.css
│ │ │ └── leaflet.js
│ │ ├── leaflet-awesomemarkers-2.0.3
│ │ │ ├── bootstrap-theme.min.css
│ │ │ ├── bootstrap.min.css
│ │ │ ├── bootstrap.min.js
│ │ │ ├── font-awesome.min.css
│ │ │ ├── fonts
│ │ │ │ ├── FontAwesome.otf
│ │ │ │ ├── fontawesome-webfont.eot
│ │ │ │ ├── fontawesome-webfont.svg
│ │ │ │ ├── fontawesome-webfont.ttf
│ │ │ │ ├── fontawesome-webfont.woff
│ │ │ │ ├── glyphicons-halflings-regular.eot
│ │ │ │ ├── glyphicons-halflings-regular.svg
│ │ │ │ ├── glyphicons-halflings-regular.ttf
│ │ │ │ ├── glyphicons-halflings-regular.woff
│ │ │ │ ├── ionicons.eot
│ │ │ │ ├── ionicons.svg
│ │ │ │ ├── ionicons.ttf
│ │ │ │ └── ionicons.woff
│ │ │ ├── images
│ │ │ │ ├── markers-matte.png
│ │ │ │ ├── markers-matte@2x.png
│ │ │ │ ├── markers-plain.png
│ │ │ │ ├── markers-shadow.png
│ │ │ │ ├── markers-shadow@2x.png
│ │ │ │ ├── markers-soft.png
│ │ │ │ └── markers-soft@2x.png
│ │ │ ├── ionicons.min.css
│ │ │ ├── leaflet.awesome-markers.css
│ │ │ ├── leaflet.awesome-markers.js
│ │ │ └── leaflet.awesome-markers.min.js
│ │ ├── leaflet-binding-2.1.1
│ │ │ └── leaflet.js
│ │ ├── leaflet-providers-1.9.0
│ │ │ └── leaflet-providers_1.9.0.js
│ │ ├── leaflet-providers-plugin-2.1.1
│ │ │ └── leaflet-providers-plugin.js
│ │ ├── leafletfix-1.0.0
│ │ │ └── leafletfix.css
│ │ ├── lightable-0.0.1
│ │ │ └── lightable.css
│ │ ├── moment-2.8.4
│ │ │ ├── moment-timezone-with-data.js
│ │ │ └── moment.js
│ │ ├── moment-fquarter-1.0.0
│ │ │ └── moment-fquarter.min.js
│ │ ├── moment-timezone-0.2.5
│ │ │ ├── moment-timezone-with-data.js
│ │ │ └── moment.js
│ │ ├── nouislider-7.0.10
│ │ │ ├── jquery.nouislider.min.css
│ │ │ └── jquery.nouislider.min.js
│ │ ├── pdfmake-1.12.1
│ │ │ ├── pdfmake.js
│ │ │ └── vfs_fonts.js
│ │ ├── plotly-binding-4.10.1
│ │ │ └── plotly.js
│ │ ├── plotly-htmlwidgets-css-2.11.1
│ │ │ └── plotly-htmlwidgets.css
│ │ ├── plotly-main-2.11.1
│ │ │ └── plotly-latest.min.js
│ │ ├── proj4-2.6.2
│ │ │ └── proj4.min.js
│ │ ├── quarto-listing
│ │ │ ├── list.min.js
│ │ │ └── quarto-listing.js
│ │ ├── react-17.0.0
│ │ │ ├── AUTHORS
│ │ │ ├── LICENSE.txt
│ │ │ ├── react-dom.min.js
│ │ │ └── react.min.js
│ │ ├── reactable-0.4.3
│ │ │ ├── reactable.css
│ │ │ ├── reactable.js
│ │ │ ├── reactable.js.map
│ │ │ ├── reactable.server.js
│ │ │ ├── reactable.server.js.LICENSE.txt
│ │ │ ├── reactable.server.js.map
│ │ │ └── reactable.yaml
│ │ ├── reactable-binding-0.4.3
│ │ │ └── reactable.js
│ │ ├── reactwidget-1.0.0
│ │ │ ├── react-tools.js
│ │ │ └── react-tools.js.map
│ │ ├── rstudio_leaflet-1.3.1
│ │ │ ├── images
│ │ │ │ └── 1px.png
│ │ │ └── rstudio_leaflet.css
│ │ ├── selectize-0.12.0
│ │ │ ├── selectize.bootstrap3.css
│ │ │ └── selectize.min.js
│ │ ├── typedarray-0.1
│ │ │ └── typedarray.min.js
│ │ ├── wordcloud2-0.0.1
│ │ │ ├── hover.js
│ │ │ ├── wordcloud.css
│ │ │ └── wordcloud2-all.js
│ │ └── wordcloud2-binding-0.2.1
│ │ │ └── wordcloud2.js
│ └── tutorials
│ │ ├── quarto
│ │ ├── execute-results
│ │ │ └── html.json
│ │ └── figure-html
│ │ │ ├── unnamed-chunk-10-1.png
│ │ │ ├── unnamed-chunk-12-1.png
│ │ │ ├── unnamed-chunk-13-1.png
│ │ │ ├── unnamed-chunk-14-1.png
│ │ │ ├── unnamed-chunk-25-1.png
│ │ │ ├── unnamed-chunk-26-1.png
│ │ │ ├── unnamed-chunk-4-1.png
│ │ │ ├── unnamed-chunk-5-1.png
│ │ │ ├── unnamed-chunk-6-1.png
│ │ │ ├── unnamed-chunk-7-1.png
│ │ │ ├── unnamed-chunk-8-1.png
│ │ │ └── unnamed-chunk-9-1.png
│ │ ├── spc
│ │ ├── execute-results
│ │ │ └── html.json
│ │ └── figure-html
│ │ │ └── Example SPC Chart-1.png
│ │ └── udal
│ │ └── execute-results
│ │ └── html.json
├── _quarto.yml
├── _site
│ ├── assets
│ │ ├── favicons
│ │ │ └── favicon.ico
│ │ ├── figures
│ │ │ ├── ae_attendance_img.png
│ │ │ ├── github-desktop.png
│ │ │ ├── intro-to-r-git
│ │ │ │ ├── access-token-scope.png
│ │ │ │ ├── github-check.png
│ │ │ │ ├── github-clone.png
│ │ │ │ ├── github-create-repo.png
│ │ │ │ ├── github-token.png
│ │ │ │ ├── rstudio-git-menu.png
│ │ │ │ └── rstudio-git.png
│ │ │ └── spc.png
│ │ ├── logos
│ │ │ ├── GitHub-logo.png
│ │ │ ├── Making-data-count.jpg
│ │ │ ├── git-rstudio.png
│ │ │ ├── nhs-england-large.png
│ │ │ ├── nhs-england.jpg
│ │ │ └── nhsr.png
│ │ └── style
│ │ │ └── styles.css
│ ├── contribute.html
│ ├── documentation
│ │ ├── dplyr-functions.html
│ │ ├── index.html
│ │ ├── methods.html
│ │ ├── nhs-colours.html
│ │ ├── statistics.html
│ │ ├── tables.html
│ │ ├── visualisation.html
│ │ └── visualisation_files
│ │ │ └── figure-html
│ │ │ ├── Example Line Chart-1.png
│ │ │ └── Example SPC Chart-1.png
│ ├── examples
│ │ └── ae_attendance.html
│ ├── faq.html
│ ├── index.html
│ ├── listings.json
│ ├── posts
│ │ ├── r-studio-git.html
│ │ ├── r-udal.html
│ │ ├── rap-maturity
│ │ │ ├── index.html
│ │ │ └── nhsd-rap.png
│ │ ├── rstudio-git
│ │ │ ├── github-rstudio.png
│ │ │ ├── index.html
│ │ │ └── thumbnail.png
│ │ └── welcome
│ │ │ ├── index.html
│ │ │ └── thumbnail.jpg
│ ├── robots.txt
│ ├── search.json
│ ├── site_libs
│ │ ├── Dygraph.Plugins.Crosshair-1.0
│ │ │ └── crosshair.js
│ │ ├── Proj4Leaflet-1.0.1
│ │ │ └── proj4leaflet.js
│ │ ├── bootstrap
│ │ │ ├── bootstrap-icons.css
│ │ │ ├── bootstrap-icons.woff
│ │ │ ├── bootstrap.min.css
│ │ │ └── bootstrap.min.js
│ │ ├── clipboard
│ │ │ └── clipboard.min.js
│ │ ├── collapsibleTree-0.1.6
│ │ │ ├── collapsibleTree.css
│ │ │ └── d3-4.10.2
│ │ │ │ ├── LICENSE
│ │ │ │ └── d3.min.js
│ │ ├── collapsibleTree-binding-0.1.7
│ │ │ └── collapsibleTree.js
│ │ ├── core-js-2.5.3
│ │ │ ├── LICENSE
│ │ │ ├── package.json
│ │ │ └── shim.min.js
│ │ ├── crosstalk-1.2.0
│ │ │ ├── css
│ │ │ │ └── crosstalk.min.css
│ │ │ ├── js
│ │ │ │ ├── crosstalk.js
│ │ │ │ ├── crosstalk.js.map
│ │ │ │ ├── crosstalk.min.js
│ │ │ │ └── crosstalk.min.js.map
│ │ │ └── scss
│ │ │ │ └── crosstalk.scss
│ │ ├── d3-4.10.2
│ │ │ ├── LICENSE
│ │ │ └── d3.min.js
│ │ ├── datatables-binding-0.26
│ │ │ └── datatables.js
│ │ ├── datatables-css-0.0.0
│ │ │ └── datatables-crosstalk.css
│ │ ├── dt-core-1.12.1
│ │ │ ├── css
│ │ │ │ ├── jquery.dataTables.extra.css
│ │ │ │ └── jquery.dataTables.min.css
│ │ │ └── js
│ │ │ │ └── jquery.dataTables.min.js
│ │ ├── dt-ext-buttons-1.12.1
│ │ │ ├── css
│ │ │ │ └── buttons.dataTables.min.css
│ │ │ └── js
│ │ │ │ ├── buttons.colVis.min.js
│ │ │ │ ├── buttons.html5.min.js
│ │ │ │ ├── buttons.print.min.js
│ │ │ │ └── dataTables.buttons.min.js
│ │ ├── dygraphs-1.1.1
│ │ │ ├── dygraph-combined-dev.js
│ │ │ ├── dygraph-combined.js
│ │ │ ├── dygraph.css
│ │ │ └── shapes.js
│ │ ├── dygraphs-binding-1.1.1.6
│ │ │ └── dygraphs.js
│ │ ├── fontawesome-4.7.0
│ │ │ ├── bootstrap-theme.min.css
│ │ │ ├── bootstrap.min.css
│ │ │ ├── bootstrap.min.js
│ │ │ ├── font-awesome.min.css
│ │ │ ├── fonts
│ │ │ │ ├── FontAwesome.otf
│ │ │ │ ├── fontawesome-webfont.eot
│ │ │ │ ├── fontawesome-webfont.svg
│ │ │ │ ├── fontawesome-webfont.ttf
│ │ │ │ ├── fontawesome-webfont.woff
│ │ │ │ ├── glyphicons-halflings-regular.eot
│ │ │ │ ├── glyphicons-halflings-regular.svg
│ │ │ │ ├── glyphicons-halflings-regular.ttf
│ │ │ │ ├── glyphicons-halflings-regular.woff
│ │ │ │ ├── ionicons.eot
│ │ │ │ ├── ionicons.svg
│ │ │ │ ├── ionicons.ttf
│ │ │ │ └── ionicons.woff
│ │ │ ├── images
│ │ │ │ ├── markers-matte.png
│ │ │ │ ├── markers-matte@2x.png
│ │ │ │ ├── markers-plain.png
│ │ │ │ ├── markers-shadow.png
│ │ │ │ ├── markers-shadow@2x.png
│ │ │ │ ├── markers-soft.png
│ │ │ │ └── markers-soft@2x.png
│ │ │ ├── ionicons.min.css
│ │ │ ├── leaflet.awesome-markers.css
│ │ │ ├── leaflet.awesome-markers.js
│ │ │ └── leaflet.awesome-markers.min.js
│ │ ├── htmlwidgets-1.6.0
│ │ │ └── htmlwidgets.js
│ │ ├── jquery-3.6.0
│ │ │ ├── jquery-3.6.0.js
│ │ │ ├── jquery-3.6.0.min.js
│ │ │ └── jquery-3.6.0.min.map
│ │ ├── kePrint-0.0.1
│ │ │ └── kePrint.js
│ │ ├── leaflet-1.3.1
│ │ │ ├── images
│ │ │ │ ├── layers-2x.png
│ │ │ │ ├── layers.png
│ │ │ │ ├── marker-icon-2x.png
│ │ │ │ ├── marker-icon.png
│ │ │ │ └── marker-shadow.png
│ │ │ ├── leaflet.css
│ │ │ └── leaflet.js
│ │ ├── leaflet-awesomemarkers-2.0.3
│ │ │ ├── bootstrap-theme.min.css
│ │ │ ├── bootstrap.min.css
│ │ │ ├── bootstrap.min.js
│ │ │ ├── font-awesome.min.css
│ │ │ ├── fonts
│ │ │ │ ├── FontAwesome.otf
│ │ │ │ ├── fontawesome-webfont.eot
│ │ │ │ ├── fontawesome-webfont.svg
│ │ │ │ ├── fontawesome-webfont.ttf
│ │ │ │ ├── fontawesome-webfont.woff
│ │ │ │ ├── glyphicons-halflings-regular.eot
│ │ │ │ ├── glyphicons-halflings-regular.svg
│ │ │ │ ├── glyphicons-halflings-regular.ttf
│ │ │ │ ├── glyphicons-halflings-regular.woff
│ │ │ │ ├── ionicons.eot
│ │ │ │ ├── ionicons.svg
│ │ │ │ ├── ionicons.ttf
│ │ │ │ └── ionicons.woff
│ │ │ ├── images
│ │ │ │ ├── markers-matte.png
│ │ │ │ ├── markers-matte@2x.png
│ │ │ │ ├── markers-plain.png
│ │ │ │ ├── markers-shadow.png
│ │ │ │ ├── markers-shadow@2x.png
│ │ │ │ ├── markers-soft.png
│ │ │ │ └── markers-soft@2x.png
│ │ │ ├── ionicons.min.css
│ │ │ ├── leaflet.awesome-markers.css
│ │ │ ├── leaflet.awesome-markers.js
│ │ │ └── leaflet.awesome-markers.min.js
│ │ ├── leaflet-binding-2.1.1
│ │ │ └── leaflet.js
│ │ ├── leaflet-providers-1.9.0
│ │ │ └── leaflet-providers_1.9.0.js
│ │ ├── leaflet-providers-plugin-2.1.1
│ │ │ └── leaflet-providers-plugin.js
│ │ ├── leafletfix-1.0.0
│ │ │ └── leafletfix.css
│ │ ├── lightable-0.0.1
│ │ │ └── lightable.css
│ │ ├── moment-2.8.4
│ │ │ ├── moment-timezone-with-data.js
│ │ │ └── moment.js
│ │ ├── moment-fquarter-1.0.0
│ │ │ └── moment-fquarter.min.js
│ │ ├── moment-timezone-0.2.5
│ │ │ ├── moment-timezone-with-data.js
│ │ │ └── moment.js
│ │ ├── nouislider-7.0.10
│ │ │ ├── jquery.nouislider.min.css
│ │ │ └── jquery.nouislider.min.js
│ │ ├── pdfmake-1.12.1
│ │ │ ├── pdfmake.js
│ │ │ └── vfs_fonts.js
│ │ ├── plotly-binding-4.10.1
│ │ │ └── plotly.js
│ │ ├── plotly-htmlwidgets-css-2.11.1
│ │ │ └── plotly-htmlwidgets.css
│ │ ├── plotly-main-2.11.1
│ │ │ └── plotly-latest.min.js
│ │ ├── proj4-2.6.2
│ │ │ └── proj4.min.js
│ │ ├── quarto-diagram
│ │ │ ├── mermaid-init.js
│ │ │ ├── mermaid.css
│ │ │ └── mermaid.min.js
│ │ ├── quarto-html
│ │ │ ├── anchor.min.js
│ │ │ ├── popper.min.js
│ │ │ ├── quarto-syntax-highlighting.css
│ │ │ ├── quarto.js
│ │ │ ├── tippy.css
│ │ │ └── tippy.umd.min.js
│ │ ├── quarto-listing
│ │ │ ├── list.min.js
│ │ │ └── quarto-listing.js
│ │ ├── quarto-nav
│ │ │ └── quarto-nav.js
│ │ ├── quarto-search
│ │ │ ├── autocomplete.umd.js
│ │ │ ├── fuse.min.js
│ │ │ └── quarto-search.js
│ │ ├── react-17.0.0
│ │ │ ├── AUTHORS
│ │ │ ├── LICENSE.txt
│ │ │ ├── react-dom.min.js
│ │ │ └── react.min.js
│ │ ├── reactable-0.4.3
│ │ │ ├── reactable.css
│ │ │ ├── reactable.js
│ │ │ ├── reactable.js.map
│ │ │ ├── reactable.server.js
│ │ │ ├── reactable.server.js.LICENSE.txt
│ │ │ ├── reactable.server.js.map
│ │ │ └── reactable.yaml
│ │ ├── reactable-binding-0.4.3
│ │ │ └── reactable.js
│ │ ├── reactwidget-1.0.0
│ │ │ ├── react-tools.js
│ │ │ └── react-tools.js.map
│ │ ├── rstudio_leaflet-1.3.1
│ │ │ ├── images
│ │ │ │ └── 1px.png
│ │ │ └── rstudio_leaflet.css
│ │ ├── selectize-0.12.0
│ │ │ ├── selectize.bootstrap3.css
│ │ │ └── selectize.min.js
│ │ ├── typedarray-0.1
│ │ │ └── typedarray.min.js
│ │ ├── wordcloud2-0.0.1
│ │ │ ├── hover.js
│ │ │ ├── wordcloud.css
│ │ │ └── wordcloud2-all.js
│ │ └── wordcloud2-binding-0.2.1
│ │ │ └── wordcloud2.js
│ ├── statement-on-tools.html
│ ├── tutorials
│ │ ├── github.html
│ │ ├── index.html
│ │ ├── nhs-colours.html
│ │ ├── piv.html
│ │ ├── piv_files
│ │ │ └── piv.html
│ │ ├── quarto.html
│ │ ├── quarto_files
│ │ │ └── figure-html
│ │ │ │ ├── unnamed-chunk-10-1.png
│ │ │ │ ├── unnamed-chunk-12-1.png
│ │ │ │ ├── unnamed-chunk-13-1.png
│ │ │ │ ├── unnamed-chunk-14-1.png
│ │ │ │ ├── unnamed-chunk-25-1.png
│ │ │ │ ├── unnamed-chunk-26-1.png
│ │ │ │ ├── unnamed-chunk-4-1.png
│ │ │ │ ├── unnamed-chunk-5-1.png
│ │ │ │ ├── unnamed-chunk-6-1.png
│ │ │ │ ├── unnamed-chunk-7-1.png
│ │ │ │ ├── unnamed-chunk-8-1.png
│ │ │ │ └── unnamed-chunk-9-1.png
│ │ ├── r-language.html
│ │ ├── rap.html
│ │ ├── reproducible-analytical-pipelines.html
│ │ ├── rstudio-git.html
│ │ ├── spc.html
│ │ ├── spc_files
│ │ │ └── figure-html
│ │ │ │ └── Example SPC Chart-1.png
│ │ └── udal.html
│ └── updates.html
├── assets
│ ├── favicons
│ │ ├── favicon.ico
│ │ ├── favicon.png
│ │ └── r_logo.tif
│ ├── figures
│ │ ├── README-example-1.png
│ │ ├── ae_attendance_img.png
│ │ ├── github-desktop.png
│ │ ├── intro-to-r-git
│ │ │ ├── access-token-scope.png
│ │ │ ├── github-check.png
│ │ │ ├── github-clone.png
│ │ │ ├── github-create-repo.png
│ │ │ ├── github-token.png
│ │ │ ├── rstudio-git-menu.png
│ │ │ └── rstudio-git.png
│ │ ├── rstudio-editor-toolbar.png
│ │ └── spc.png
│ ├── icons
│ │ ├── icon-arrow-left.svg
│ │ ├── icon-arrow-right-circle.svg
│ │ ├── icon-arrow-right.svg
│ │ ├── icon-chevron-left.svg
│ │ ├── icon-chevron-right.svg
│ │ ├── icon-close.svg
│ │ ├── icon-cross.svg
│ │ ├── icon-emdash-small.svg
│ │ ├── icon-emdash.svg
│ │ ├── icon-minus.svg
│ │ ├── icon-plus.svg
│ │ ├── icon-search.svg
│ │ └── icon-tick.svg
│ ├── logos
│ │ ├── GitHub-logo.png
│ │ ├── Making-data-count.jpg
│ │ ├── RStudio-ball.svg
│ │ ├── git-rstudio.png
│ │ ├── logo-nhs-200.png
│ │ ├── logo-nhs-300.png
│ │ ├── logo-nhs-white.png
│ │ ├── logo-nhs.png
│ │ ├── logo-nhs.svg
│ │ ├── logo.png
│ │ ├── markdown-logo.png
│ │ ├── nhs-england-large.png
│ │ ├── nhs-england.jpg
│ │ ├── nhsr.jpg
│ │ ├── nhsr.png
│ │ ├── open-graph.png
│ │ ├── quarto-logo.png
│ │ └── r-markdown-logo.png
│ └── style
│ │ ├── js.html
│ │ ├── styles.css
│ │ └── theme.scss
├── contribute.qmd
├── examples
│ └── ae_attendance.html
├── faq.qmd
├── index.css
├── index.qmd
├── posts
│ ├── _metadata.yml
│ ├── r-studio-git.qmd
│ └── r-udal.qmd
├── statement-on-tools.qmd
├── tutorials
│ ├── Publish_Quarto_to_sharepoint
│ │ └── readme.txt
│ ├── R_drop_in_session_26_may_Maps_in_R
│ │ ├── Figures_maps_slides
│ │ │ ├── 02 Health boundaries.png
│ │ │ ├── 05 Load ccg indicators.png
│ │ │ ├── 05 Unzip Shapefile ENG size.jpg
│ │ │ ├── 05 Unzip Shapefile ENG.PNG
│ │ │ ├── 05 Unzip Shapefile.png
│ │ │ ├── 06 Unzip Shapefile.png
│ │ │ ├── CCG Boundaries April 2021_coral.jpeg
│ │ │ ├── CCG outcomes indicator set.PNG
│ │ │ ├── Figures_maps_slides.txt
│ │ │ ├── Health boundaries details.png
│ │ │ └── Health boundaries details02.png
│ │ ├── Maps_in_R.txt
│ │ ├── data
│ │ │ ├── CCG_1.17_I01968_D.xlsx
│ │ │ ├── Clinical_Commissioning_Groups_April_2021
│ │ │ │ ├── CCG_APR_2021_EN_BGC.cpg
│ │ │ │ ├── CCG_APR_2021_EN_BGC.dbf
│ │ │ │ ├── CCG_APR_2021_EN_BGC.prj
│ │ │ │ ├── CCG_APR_2021_EN_BGC.shp
│ │ │ │ ├── CCG_APR_2021_EN_BGC.shx
│ │ │ │ └── shapefiles_description.txt
│ │ │ └── shapefiles_used_for_maps.txt
│ │ ├── maps in R 26 May 2023.html
│ │ └── mapsinR26May2023.qmd
│ ├── github.qmd
│ ├── index.qmd
│ ├── nhs-colours.qmd
│ ├── quarto.qmd
│ ├── r-language.qmd
│ ├── rap.qmd
│ ├── rstudio-git.qmd
│ ├── spc.qmd
│ └── udal.qmd
└── updates.qmd
├── examples
├── Interactive_Quarto_v2.qmd
├── databricks-rcluster-load-data-example.R
└── rstudio_datalake_connection_example.R
├── nhs-r-reporting.Rproj
└── utility
└── nhs_style.R
/.github/workflows/quarto-publish-example.yaml:
--------------------------------------------------------------------------------
1 | on:
2 | push:
3 | branches:
4 | - main
5 | pull_request:
6 | branches:
7 | - main
8 |
9 | name: Render and Publish
10 |
11 | # you need these permissions to publish to GitHub pages
12 | permissions:
13 | contents: write
14 | pages: write
15 |
16 | jobs:
17 | build-deploy:
18 | runs-on: ubuntu-latest
19 |
20 | steps:
21 | - name: Check out repository
22 | uses: actions/checkout@v4
23 |
24 | - name: Set up Quarto
25 | uses: quarto-dev/quarto-actions/setup@v2
26 |
27 | - name: Publish to Github Pages (and render)
28 | uses: quarto-dev/quarto-actions/publish@v2
29 | with:
30 | target: gh-pages
31 | path: docs/_site
32 | tinytex: true
33 | env:
34 | GH_TOKEN: ${{ secrets.GITHUB_TOKEN }}
35 | # To install LaTeX to build PDF book
36 |
37 | # uncomment below and fill to pin a version
38 | # version: SPECIFIC-QUARTO-VERSION-HERE
39 |
40 | # add software dependencies here and any libraries
41 |
42 | # From https://github.com/actions/setup-python
43 | # - name: Setup Python
44 | # uses: actions/setup-python@v3
45 |
46 | # From https://github.com/r-lib/actions/tree/v2-branch/setup-r
47 | # - name: Setup R
48 | # uses: r-lib/actions/setup-r@v2
49 |
50 | # From https://github.com/julia-actions/setup-julia
51 | # - name: Setup Julia
52 | # uses: julia-actions/setup-julia@v1
53 |
54 | # See more at https://github.com/quarto-dev/quarto-actions/blob/main/examples/example-03-dependencies.md
55 |
56 | # To publish to Netlify, RStudio Connect, or GitHub Pages, uncomment
57 | # the appropriate block below
58 |
59 | # - name: Publish to Netlify (and render)
60 | # uses: quarto-dev/quarto-actions/publish@v2
61 | # with:
62 | # target: netlify
63 | # NETLIFY_AUTH_TOKEN: ${{ secrets.NETLIFY_AUTH_TOKEN }}
64 |
65 | # - name: Publish to RStudio Connect (and render)
66 | # uses: quarto-dev/quarto-actions/publish@v2
67 | # with:
68 | # target: connect
69 | # CONNECT_SERVER: enter-the-server-url-here
70 | # CONNECT_API_KEY: ${{ secrets.CONNECT_API_KEY }}
71 |
72 | # NOTE: If Publishing to GitHub Pages, set the permissions correctly (see top of this yaml)
73 | # - name: Publish to GitHub Pages (and render)
74 | # uses: quarto-dev/quarto-actions/publish@v2
75 | # with:
76 | # target: gh-pages
77 | # env:
78 | # GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} # this secret is always available for github actions
79 |
80 | # - name: Publish to confluence
81 | # uses: quarto-dev/quarto-actions/publish@v2
82 | # with:
83 | # target: confluence
84 | # env:
85 | # CONFLUENCE_USER_EMAIL: ${{ secrets.CONFLUENCE_USER_EMAIL }}
86 | # CONFLUENCE_AUTH_TOKEN: ${{ secrets.CONFLUENCE_AUTH_TOKEN }}
87 | # CONFLUENCE_DOMAIN: ${{ secrets.CONFLUENCE_DOMAIN }}
88 |
89 | # Add comment to trigger yaml Action
90 |
91 |
--------------------------------------------------------------------------------
/.gitignore:
--------------------------------------------------------------------------------
1 | # History files
2 | .Rhistory
3 | .Rapp.history
4 |
5 | # Session Data files
6 | .RData
7 |
8 | # User-specific files
9 | .Ruserdata
10 |
11 | # Example code in package build process
12 | *-Ex.R
13 |
14 | # Output files from R CMD build
15 | /*.tar.gz
16 |
17 | # Output files from R CMD check
18 | /*.Rcheck/
19 |
20 | # RStudio files
21 | .Rproj.user/
22 |
23 | # produced vignettes
24 | vignettes/*.html
25 | vignettes/*.pdf
26 |
27 | # OAuth2 token, see https://github.com/hadley/httr/releases/tag/v0.3
28 | .httr-oauth
29 |
30 | # knitr and R markdown default cache directories
31 | *_cache/
32 | /cache/
33 |
34 | # Temporary files created by R markdown
35 | *.utf8.md
36 | *.knit.md
37 |
38 | # R Environment Variables
39 | .Renviron
40 |
41 | # Mac files
42 | .DS_Store
43 |
44 | # Data files
45 | *.xlsx
46 | ~$*.xls*
47 | *.xlk
48 | *.xlsm
49 | *.xlsb
50 | *.xltx
51 | *.xltm
52 | *.xlt
53 | *.xls
54 | *.xml
55 | *.xlam
56 | *.xla
57 | *.xlw
58 | *.xlr
59 | *.tmp
60 | *.doc*
61 | ~$*.doc*
62 | *.doc*
63 | *.csv
64 | *.dif
65 | *.ods
--------------------------------------------------------------------------------
/CONTRIBUTING.md:
--------------------------------------------------------------------------------
1 | # How to contribute?
2 |
3 | ## Make a new branch of the repository
4 |
5 | ```bash
6 | git checkout -b
7 | ```
8 |
9 | ## Make a new `.qmd` (q-markdown) file in the `/docs` folder
10 |
11 | To the `.qmd` file add a YAML header with a title and subtitle.
12 | ```yaml
13 | ---
14 | title: Contribute to the docs
15 | subtitle: "How to add a new page to the documentations site using Quarto?"
16 | ---
17 | ```
18 |
19 | ## Add a link to your file to the `_quarto.yml` config file in `/docs`
20 |
21 | Open the `_quarto.yml` configuration file and find the `sidebar` config code.
22 | ```yaml
23 | sidebar:
24 | - id: nav
25 | style: "floating"
26 | collapse-level: 3
27 | align: left
28 | contents:
29 | ```
30 | Under the `contents:` object add a new section (if required), a string lable for your page, and a link to the `.qmd` file itself.
31 |
32 | ```yaml
33 | - section: "RAP"
34 | contents:
35 | - text: "Reproducible Analytical Pipelines"
36 | file: intro-to-rap.qmd
37 | ```
38 |
39 | ## Publish your changes to GitHub
40 |
41 | ::: {.callout-warning appearance="simple" collapse="false"}
42 | ## Render Quarto before publishing
43 |
44 | Remember to [render your changes locally using R-Studio](https://quarto.org/docs/tools/rstudio.html#render-and-preview) before publishing
45 | :::
46 |
47 | Commit your changes locally
48 |
49 | ```bash
50 | git commit -m 'Added new page to docs'
51 | ```
52 |
53 | Then push your changes to the remote branch
54 |
55 | ```bash
56 | git push origin
57 | ```
58 |
59 | Finally, open a Pull Request (PR) [https://github.com/nhsengland/nhs-r-reporting/pulls](https://github.com/nhsengland/nhs-r-reporting/pulls)
--------------------------------------------------------------------------------
/LICENSE:
--------------------------------------------------------------------------------
1 | MIT License
2 |
3 | Copyright (c) 2023 NHS England
4 |
5 | Permission is hereby granted, free of charge, to any person obtaining a copy
6 | of this software and associated documentation files (the "Software"), to deal
7 | in the Software without restriction, including without limitation the rights
8 | to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
9 | copies of the Software, and to permit persons to whom the Software is
10 | furnished to do so, subject to the following conditions:
11 |
12 | The above copyright notice and this permission notice shall be included in all
13 | copies or substantial portions of the Software.
14 |
15 | THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
16 | IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
17 | FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
18 | AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
19 | LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
20 | OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
21 | SOFTWARE.
22 |
--------------------------------------------------------------------------------
/README.md:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
7 |
8 |
R Reporting
9 |
10 |
11 | NHS England R Community
12 |
13 | Explore the docs »
14 |
15 |
16 | Report Bug
17 | ·
18 | Request Feature
19 |
20 |
21 |
22 |
23 |
24 | Table of Contents
25 |
26 |
27 | About The Project
28 |
32 |
33 |
34 | Getting Started
35 | Roadmap
36 | Contributing
37 | License
38 |
39 |
40 |
41 |
42 |
43 |
44 | ## About The Project
45 |
46 | NHS England R Reporting repository
47 |
48 | _**Note:** No data, public or private are shared in this repository._
49 |
50 | ### Folder Stucture
51 |
52 | | Name | Link | Description |
53 | | ---- | ---- | ----------- |
54 | | .github/workflows/ | [[Link](https://github.com/nhsengland/nhs-r-reporting/tree/main/.github/workflows)] | GitHub Actions that build the documentation site on commit to /docs |
55 | | assets/ | [[Link](https://github.com/nhsengland/nhs-r-reporting/assets)] | Style assets for reports and documentation site |
56 | | docs/ | [[Link](https://github.com/nhsengland/nhs-r-reporting)] | Documentation site files |
57 | | references/ | [[Link](https://github.com/nhsengland/nhs-r-reporting)] | Central bibliographical reference library |
58 | | reports/ | [[Link](https://github.com/nhsengland/nhs-r-reporting)] | Published q-markdown reports and source files |
59 |
60 | ### Built With
61 |
62 | - [Quarto](https://quarto.org/)
63 | - [R](https://www.r-project.org/)
64 | - [GitHub Actions](https://github.com/features/actions)
65 | - [Azure](https://azure.microsoft.com/en-gb/)
66 |
67 |
68 |
69 | ## Getting Started
70 |
71 | Please refer to the [Quarto Tutorial](https://openscapes.github.io/quarto-website-tutorial/) site
72 |
73 |
74 |
75 | ## Roadmap
76 |
77 | See the [open issues](https://github.com/nhsengland/nhs-r-reporting/issues) for a list of proposed features (and known issues).
78 |
79 |
80 |
81 | ## Contributing
82 |
83 | Contributions are what make the open source community such an amazing place to learn, inspire, and create. Any contributions you make are **greatly appreciated**.
84 |
85 | _See [CONTRIBUTING.md](https://github.com/nhsengland/nhs-r-reporting/blob/main/CONTRIBUTING.md) for detailed guidance._
86 |
87 |
88 |
89 | ## License
90 |
91 | Distributed under the MIT License. _See [LICENSE.md](https://github.com/nhsengland/nhs-r-reporting/blob/main/LICENSE) for more information._
92 |
93 |
94 |
95 | ## About
96 |
97 | Project contact email: [@nhs.net](mailto:@nhs.net)
98 |
99 | To find out more about the [NHS England R Community](https://future.nhs.uk/NationalRCommunity/groupHome) visit our [project website](https://future.nhs.uk/NationalRCommunity/groupHome).
100 |
101 |
107 |
108 |
--------------------------------------------------------------------------------
/docs/.gitignore:
--------------------------------------------------------------------------------
1 | /.quarto/
2 |
--------------------------------------------------------------------------------
/docs/_freeze/documentation/visualisation/execute-results/html.json:
--------------------------------------------------------------------------------
1 | {
2 | "hash": "2fe1d6be298d8a38a0735900f29953c7",
3 | "result": {
4 | "markdown": "---\ntitle: Visualising Data in R\nsubtitle: Common Charts and Plots using in the NHS\n---\n\n\n\n\n## Line Chart\n\n### ggplot (non-interactive)\n\n#### Packages used:\n```r\nlibrary(here)\nsource(here(\"utility\", \"nhs_style.R\")) # load nhsplot style\nlibrary(NHSRdatasets)\nlibrary(tidyverse)\n```\n\n\n\n\n::: {.cell}\n\n```{.r .cell-code}\n# filter dataset\ndf <- ae_attendances %>% \n filter(org_code == \"RQM\", type == 1)\n\n# make plot\nggplot(df, aes(x = period, y = attendances)) +\n geom_line(colour = \"#005EB8\", size = 1) +\n geom_hline(yintercept = 0,\n size = 1,\n colour=\"#333333\") + # bold line at x-axis\n nhs_style() + # apply nhsplot style\n ylim(c(0, max(df$attendances)+1000)) + # add space above line\n scale_y_continuous(labels = scales::comma) + # add 1000s comma format\n labs(title = \"Chelsea & Westminster Hospital\",\n x = \"Year\",\n y = \"A&E Attendances\")\n```\n\n::: {.cell-output-display}\n{width=672}\n:::\n:::\n\n\n## Statistical Process Control (SPC)\n\nThe [NHSR Plot the Dots](https://github.com/nhs-r-community/NHSRplotthedots) package is built by the [NHS-R community](https://nhsrcommunity.com) to provide tools for drawing statistical process control (SPC) charts. The package supports the NHS England programme ['Making Data Count'](https://www.england.nhs.uk/publication/making-data-count/). The programme encourages boards, managers, and analyst teams to present data in ways that show change over time, and drive better understanding of indicators than 'RAG' (red, amber, green) rated reports often present.\n\n### Installation\n\n```r\n# install from CRAN\ninstall.packages(\"NHSRplotthedots\")\ninstall.packages(\"rmarkdown\")\n\n# Or install the development version from GitHub using {remotes} package:\n# install.packages(\"remotes\")\nremotes::install_github(\"https://github.com/nhs-r-community/NHSRplotthedots\", build_vignettes = TRUE)\n```\n\nThe help-files, and vignette within this package tell you more about the possible options for controlling the charts\n\n### Example Chart\n\nBelow is an example of the type of chart the package produces. The plot uses the `ae_attendances` dataset from the `{NHSRdatasets}` package and a bit of `{dplyr}` code to select some organisations.\n\n#### Packages used:\n```r\nlibrary(NHSRplotthedots)\nlibrary(NHSRdatasets)\nlibrary(tidyverse)\n```\n\n\n\n\n::: {.cell}\n\n```{.r .cell-code}\ndf <- ae_attendances %>% \n filter(org_code == \"RQM\", type == 1, period < as.Date(\"2018-04-01\"))\n\ndf %>%\n ptd_spc(value_field = breaches, date_field = period, improvement_direction = \"decrease\")\n```\n\n::: {.cell-output-display}\n{width=672}\n:::\n:::\n\n\n## Help Complete this page:\nWe are always looking for examples and best practice to complete this documentation. See [`Contribute to this site`](https://nhsengland.github.io/nhs-r-reporting/1.5-contribute.html) for details on how to add or amend a page on this site.\n\n### Proposed Content:\n- Bar Chart\n- Pyramid Chart\n- Multi-line Chart\n- Targets & Benchmarks\n- KPIs\n- Scatter Plot\n- Box Plot\n- Maps",
5 | "supporting": [
6 | "visualisation_files"
7 | ],
8 | "filters": [
9 | "rmarkdown/pagebreak.lua"
10 | ],
11 | "includes": {},
12 | "engineDependencies": {},
13 | "preserve": {},
14 | "postProcess": true
15 | }
16 | }
--------------------------------------------------------------------------------
/docs/_freeze/documentation/visualisation/figure-html/Example Line Chart-1.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/nhsengland/nhs-r-reporting/ad8dda5b6be6dbcb5768d6a16760d5c641f2f6f9/docs/_freeze/documentation/visualisation/figure-html/Example Line Chart-1.png
--------------------------------------------------------------------------------
/docs/_freeze/documentation/visualisation/figure-html/Example SPC Chart-1.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/nhsengland/nhs-r-reporting/ad8dda5b6be6dbcb5768d6a16760d5c641f2f6f9/docs/_freeze/documentation/visualisation/figure-html/Example SPC Chart-1.png
--------------------------------------------------------------------------------
/docs/_freeze/site_libs/Dygraph.Plugins.Crosshair-1.0/crosshair.js:
--------------------------------------------------------------------------------
1 | /**
2 | * @license
3 | * Copyright 2015 Petr Shevtsov (petr.shevtsov@gmail.com)
4 | * MIT-licensed (http://opensource.org/licenses/MIT)
5 | */
6 |
7 | /*global Dygraph:false */
8 | /*jshint globalstrict: true */
9 | Dygraph.Plugins.Crosshair = (function() {
10 | "use strict";
11 |
12 | /**
13 | * Creates the crosshair
14 | *
15 | * @constructor
16 | */
17 |
18 | var crosshair = function(opt_options) {
19 | this.canvas_ = document.createElement("canvas");
20 | opt_options = opt_options || {};
21 | this.direction_ = opt_options.direction || null;
22 | };
23 |
24 | crosshair.prototype.toString = function() {
25 | return "Crosshair Plugin";
26 | };
27 |
28 | /**
29 | * @param {Dygraph} g Graph instance.
30 | * @return {object.} Mapping of event names to callbacks.
31 | */
32 | crosshair.prototype.activate = function(g) {
33 | g.graphDiv.appendChild(this.canvas_);
34 |
35 | return {
36 | select: this.select,
37 | deselect: this.deselect
38 | };
39 | };
40 |
41 | crosshair.prototype.select = function(e) {
42 | if (this.direction_ === null) {
43 | return;
44 | }
45 |
46 | var width = e.dygraph.width_;
47 | var height = e.dygraph.height_;
48 | this.canvas_.width = width;
49 | this.canvas_.height = height;
50 | this.canvas_.style.width = width + "px"; // for IE
51 | this.canvas_.style.height = height + "px"; // for IE
52 |
53 | var ctx = this.canvas_.getContext("2d");
54 | ctx.clearRect(0, 0, width, height);
55 | ctx.strokeStyle = "rgba(0, 0, 0,0.3)";
56 | ctx.beginPath();
57 |
58 | var canvasx = Math.floor(e.dygraph.selPoints_[0].canvasx) + 0.5; // crisper rendering
59 |
60 | if (this.direction_ === "vertical" || this.direction_ === "both") {
61 | ctx.moveTo(canvasx, 0);
62 | ctx.lineTo(canvasx, height);
63 | }
64 |
65 | if (this.direction_ === "horizontal" || this.direction_ === "both") {
66 | for (var i = 0; i < e.dygraph.selPoints_.length; i++) {
67 | var canvasy = Math.floor(e.dygraph.selPoints_[i].canvasy) + 0.5; // crisper rendering
68 | ctx.moveTo(0, canvasy);
69 | ctx.lineTo(width, canvasy);
70 | }
71 | }
72 |
73 | ctx.stroke();
74 | ctx.closePath();
75 | };
76 |
77 | crosshair.prototype.deselect = function(e) {
78 | var ctx = this.canvas_.getContext("2d");
79 | ctx.clearRect(0, 0, this.canvas_.width, this.canvas_.height);
80 | };
81 |
82 | crosshair.prototype.destroy = function() {
83 | this.canvas_ = null;
84 | };
85 |
86 | return crosshair;
87 | })();
88 |
--------------------------------------------------------------------------------
/docs/_freeze/site_libs/collapsibleTree-0.1.6/collapsibleTree.css:
--------------------------------------------------------------------------------
1 | .collapsibleTree .node {
2 | cursor: pointer;
3 | }
4 |
5 | .collapsibleTree .node circle {
6 | fill: #fff;
7 | stroke: #000;
8 | }
9 |
10 | .collapsibleTree .node text {
11 | font: 10px sans-serif;
12 | }
13 |
14 | .collapsibleTree .link {
15 | fill: none;
16 | stroke: #ccc;
17 | stroke-width: 1.5px;
18 | }
19 |
20 | .collapsibleTree div.tooltip {
21 | position: absolute;
22 | text-align: center;
23 | padding: 3px;
24 | font: 10px sans-serif;
25 | background: #fff;
26 | border: 2px;
27 | border-radius: 8px;
28 | border-style: solid;
29 | pointer-events: none;
30 | }
31 |
--------------------------------------------------------------------------------
/docs/_freeze/site_libs/collapsibleTree-0.1.6/d3-4.10.2/LICENSE:
--------------------------------------------------------------------------------
1 | Copyright 2010-2017 Mike Bostock
2 | All rights reserved.
3 |
4 | Redistribution and use in source and binary forms, with or without modification,
5 | are permitted provided that the following conditions are met:
6 |
7 | * Redistributions of source code must retain the above copyright notice, this
8 | list of conditions and the following disclaimer.
9 |
10 | * Redistributions in binary form must reproduce the above copyright notice,
11 | this list of conditions and the following disclaimer in the documentation
12 | and/or other materials provided with the distribution.
13 |
14 | * Neither the name of the author nor the names of contributors may be used to
15 | endorse or promote products derived from this software without specific prior
16 | written permission.
17 |
18 | THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND
19 | ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
20 | WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
21 | DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR
22 | ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES
23 | (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;
24 | LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON
25 | ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
26 | (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
27 | SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
28 |
--------------------------------------------------------------------------------
/docs/_freeze/site_libs/core-js-2.5.3/LICENSE:
--------------------------------------------------------------------------------
1 | Copyright (c) 2014-2017 Denis Pushkarev
2 |
3 | Permission is hereby granted, free of charge, to any person obtaining a copy
4 | of this software and associated documentation files (the "Software"), to deal
5 | in the Software without restriction, including without limitation the rights
6 | to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
7 | copies of the Software, and to permit persons to whom the Software is
8 | furnished to do so, subject to the following conditions:
9 |
10 | The above copyright notice and this permission notice shall be included in
11 | all copies or substantial portions of the Software.
12 |
13 | THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
14 | IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
15 | FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
16 | AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
17 | LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
18 | OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
19 | THE SOFTWARE.
20 |
--------------------------------------------------------------------------------
/docs/_freeze/site_libs/crosstalk-1.2.0/css/crosstalk.min.css:
--------------------------------------------------------------------------------
1 | .container-fluid.crosstalk-bscols{margin-left:-30px;margin-right:-30px;white-space:normal}body>.container-fluid.crosstalk-bscols{margin-left:auto;margin-right:auto}.crosstalk-input-checkboxgroup .crosstalk-options-group .crosstalk-options-column{display:inline-block;padding-right:12px;vertical-align:top}@media only screen and (max-width: 480px){.crosstalk-input-checkboxgroup .crosstalk-options-group .crosstalk-options-column{display:block;padding-right:inherit}}.crosstalk-input{margin-bottom:15px}.crosstalk-input .control-label{margin-bottom:0;vertical-align:middle}.crosstalk-input input[type="checkbox"]{margin:4px 0 0;margin-top:1px;line-height:normal}.crosstalk-input .checkbox{position:relative;display:block;margin-top:10px;margin-bottom:10px}.crosstalk-input .checkbox>label{padding-left:20px;margin-bottom:0;font-weight:400;cursor:pointer}.crosstalk-input .checkbox input[type="checkbox"],.crosstalk-input .checkbox-inline input[type="checkbox"]{position:absolute;margin-top:2px;margin-left:-20px}.crosstalk-input .checkbox+.checkbox{margin-top:-5px}.crosstalk-input .checkbox-inline{position:relative;display:inline-block;padding-left:20px;margin-bottom:0;font-weight:400;vertical-align:middle;cursor:pointer}.crosstalk-input .checkbox-inline+.checkbox-inline{margin-top:0;margin-left:10px}
2 |
--------------------------------------------------------------------------------
/docs/_freeze/site_libs/crosstalk-1.2.0/scss/crosstalk.scss:
--------------------------------------------------------------------------------
1 | /* Adjust margins outwards, so column contents line up with the edges of the
2 | parent of container-fluid. */
3 | .container-fluid.crosstalk-bscols {
4 | margin-left: -30px;
5 | margin-right: -30px;
6 | white-space: normal;
7 | }
8 |
9 | /* But don't adjust the margins outwards if we're directly under the body,
10 | i.e. we were the top-level of something at the console. */
11 | body > .container-fluid.crosstalk-bscols {
12 | margin-left: auto;
13 | margin-right: auto;
14 | }
15 |
16 | .crosstalk-input-checkboxgroup .crosstalk-options-group .crosstalk-options-column {
17 | display: inline-block;
18 | padding-right: 12px;
19 | vertical-align: top;
20 | }
21 |
22 | @media only screen and (max-width:480px) {
23 | .crosstalk-input-checkboxgroup .crosstalk-options-group .crosstalk-options-column {
24 | display: block;
25 | padding-right: inherit;
26 | }
27 | }
28 |
29 | /* Relevant BS3 styles to make filter_checkbox() look reasonable without Bootstrap */
30 | .crosstalk-input {
31 | margin-bottom: 15px; /* a la .form-group */
32 | .control-label {
33 | margin-bottom: 0;
34 | vertical-align: middle;
35 | }
36 | input[type="checkbox"] {
37 | margin: 4px 0 0;
38 | margin-top: 1px;
39 | line-height: normal;
40 | }
41 | .checkbox {
42 | position: relative;
43 | display: block;
44 | margin-top: 10px;
45 | margin-bottom: 10px;
46 | }
47 | .checkbox > label{
48 | padding-left: 20px;
49 | margin-bottom: 0;
50 | font-weight: 400;
51 | cursor: pointer;
52 | }
53 | .checkbox input[type="checkbox"],
54 | .checkbox-inline input[type="checkbox"] {
55 | position: absolute;
56 | margin-top: 2px;
57 | margin-left: -20px;
58 | }
59 | .checkbox + .checkbox {
60 | margin-top: -5px;
61 | }
62 | .checkbox-inline {
63 | position: relative;
64 | display: inline-block;
65 | padding-left: 20px;
66 | margin-bottom: 0;
67 | font-weight: 400;
68 | vertical-align: middle;
69 | cursor: pointer;
70 | }
71 | .checkbox-inline + .checkbox-inline {
72 | margin-top: 0;
73 | margin-left: 10px;
74 | }
75 | }
76 |
--------------------------------------------------------------------------------
/docs/_freeze/site_libs/d3-4.10.2/LICENSE:
--------------------------------------------------------------------------------
1 | Copyright 2010-2017 Mike Bostock
2 | All rights reserved.
3 |
4 | Redistribution and use in source and binary forms, with or without modification,
5 | are permitted provided that the following conditions are met:
6 |
7 | * Redistributions of source code must retain the above copyright notice, this
8 | list of conditions and the following disclaimer.
9 |
10 | * Redistributions in binary form must reproduce the above copyright notice,
11 | this list of conditions and the following disclaimer in the documentation
12 | and/or other materials provided with the distribution.
13 |
14 | * Neither the name of the author nor the names of contributors may be used to
15 | endorse or promote products derived from this software without specific prior
16 | written permission.
17 |
18 | THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND
19 | ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
20 | WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
21 | DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR
22 | ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES
23 | (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;
24 | LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON
25 | ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
26 | (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
27 | SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
28 |
--------------------------------------------------------------------------------
/docs/_freeze/site_libs/datatables-css-0.0.0/datatables-crosstalk.css:
--------------------------------------------------------------------------------
1 | .dt-crosstalk-fade {
2 | opacity: 0.2;
3 | }
4 |
5 | html body div.DTS div.dataTables_scrollBody {
6 | background: none;
7 | }
8 |
9 |
10 | /*
11 | Fix https://github.com/rstudio/DT/issues/563
12 | If the `table.display` is set to "block" (e.g., pkgdown), the browser will display
13 | datatable objects strangely. The search panel and the page buttons will still be
14 | in full-width but the table body will be "compact" and shorter.
15 | In therory, having this attributes will affect `dom="t"`
16 | with `display: block` users. But in reality, there should be no one.
17 | We may remove the below lines in the future if the upstream agree to have this there.
18 | See https://github.com/DataTables/DataTablesSrc/issues/160
19 | */
20 |
21 | table.dataTable {
22 | display: table;
23 | }
24 |
--------------------------------------------------------------------------------
/docs/_freeze/site_libs/dt-core-1.12.1/css/jquery.dataTables.extra.css:
--------------------------------------------------------------------------------
1 | /* Selected rows/cells */
2 | table.dataTable tr.selected td, table.dataTable td.selected {
3 | background-color: #b0bed9 !important;
4 | }
5 | /* In case of scrollX/Y or FixedHeader */
6 | .dataTables_scrollBody .dataTables_sizing {
7 | visibility: hidden;
8 | }
9 |
10 | /* The datatables' theme CSS file doesn't define
11 | the color but with white background. It leads to an issue that
12 | when the HTML's body color is set to 'white', the user can't
13 | see the text since the background is white. One case happens in the
14 | RStudio's IDE when inline viewing the DT table inside an Rmd file,
15 | if the IDE theme is set to "Cobalt".
16 |
17 | See https://github.com/rstudio/DT/issues/447 for more info
18 |
19 | This fixes should have little side-effects because all the other elements
20 | of the default theme use the #333 font color.
21 |
22 | TODO: The upstream may use relative colors for both the table background
23 | and the color. It means the table can display well without this patch
24 | then. At that time, we need to remove the below CSS attributes.
25 | */
26 | div.datatables {
27 | color: #333;
28 | }
29 |
--------------------------------------------------------------------------------
/docs/_freeze/site_libs/dt-ext-buttons-1.12.1/js/buttons.colVis.min.js:
--------------------------------------------------------------------------------
1 | /*!
2 | Column visibility buttons for Buttons and DataTables.
3 | 2016 SpryMedia Ltd - datatables.net/license
4 | */
5 | (function(h){"function"===typeof define&&define.amd?define(["jquery","datatables.net","datatables.net-buttons"],function(e){return h(e,window,document)}):"object"===typeof exports?module.exports=function(e,g){e||(e=window);g&&g.fn.dataTable||(g=require("datatables.net")(e,g).$);g.fn.dataTable.Buttons||require("datatables.net-buttons")(e,g);return h(g,e,e.document)}:h(jQuery,window,document)})(function(h,e,g,l){e=h.fn.dataTable;h.extend(e.ext.buttons,{colvis:function(b,a){var c=null,d={extend:"collection",
6 | init:function(f,k){c=k},text:function(f){return f.i18n("buttons.colvis","Column visibility")},className:"buttons-colvis",closeButton:!1,buttons:[{extend:"columnsToggle",columns:a.columns,columnText:a.columnText}]};b.on("column-reorder.dt"+a.namespace,function(f,k,m){b.button(null,b.button(null,c).node()).collectionRebuild([{extend:"columnsToggle",columns:a.columns,columnText:a.columnText}])});return d},columnsToggle:function(b,a){return b.columns(a.columns).indexes().map(function(c){return{extend:"columnToggle",
7 | columns:c,columnText:a.columnText}}).toArray()},columnToggle:function(b,a){return{extend:"columnVisibility",columns:a.columns,columnText:a.columnText}},columnsVisibility:function(b,a){return b.columns(a.columns).indexes().map(function(c){return{extend:"columnVisibility",columns:c,visibility:a.visibility,columnText:a.columnText}}).toArray()},columnVisibility:{columns:l,text:function(b,a,c){return c._columnText(b,c)},className:"buttons-columnVisibility",action:function(b,a,c,d){b=a.columns(d.columns);
8 | a=b.visible();b.visible(d.visibility!==l?d.visibility:!(a.length&&a[0]))},init:function(b,a,c){var d=this;a.attr("data-cv-idx",c.columns);b.on("column-visibility.dt"+c.namespace,function(f,k){k.bDestroying||k.nTable!=b.settings()[0].nTable||d.active(b.column(c.columns).visible())}).on("column-reorder.dt"+c.namespace,function(f,k,m){c.destroying||1!==b.columns(c.columns).count()||(d.text(c._columnText(b,c)),d.active(b.column(c.columns).visible()))});this.active(b.column(c.columns).visible())},destroy:function(b,
9 | a,c){b.off("column-visibility.dt"+c.namespace).off("column-reorder.dt"+c.namespace)},_columnText:function(b,a){var c=b.column(a.columns).index(),d=b.settings()[0].aoColumns[c].sTitle;d||(d=b.column(c).header().innerHTML);d=d.replace(/\n/g," ").replace(/ /gi," ").replace(//g,"").replace(//g,"").replace(/<.*?>/g,"").replace(/^\s+|\s+$/g,"");return a.columnText?a.columnText(b,c,d):d}},colvisRestore:{className:"buttons-colvisRestore",text:function(b){return b.i18n("buttons.colvisRestore",
10 | "Restore visibility")},init:function(b,a,c){c._visOriginal=b.columns().indexes().map(function(d){return b.column(d).visible()}).toArray()},action:function(b,a,c,d){a.columns().every(function(f){f=a.colReorder&&a.colReorder.transpose?a.colReorder.transpose(f,"toOriginal"):f;this.visible(d._visOriginal[f])})}},colvisGroup:{className:"buttons-colvisGroup",action:function(b,a,c,d){a.columns(d.show).visible(!0,!1);a.columns(d.hide).visible(!1,!1);a.columns.adjust()},show:[],hide:[]}});return e.Buttons});
11 |
--------------------------------------------------------------------------------
/docs/_freeze/site_libs/dt-ext-buttons-1.12.1/js/buttons.print.min.js:
--------------------------------------------------------------------------------
1 | /*!
2 | Print button for Buttons and DataTables.
3 | 2016 SpryMedia Ltd - datatables.net/license
4 | */
5 | (function(b){"function"===typeof define&&define.amd?define(["jquery","datatables.net","datatables.net-buttons"],function(d){return b(d,window,document)}):"object"===typeof exports?module.exports=function(d,h){d||(d=window);h&&h.fn.dataTable||(h=require("datatables.net")(d,h).$);h.fn.dataTable.Buttons||require("datatables.net-buttons")(d,h);return b(h,d,d.document)}:b(jQuery,window,document)})(function(b,d,h,y){var u=b.fn.dataTable,n=h.createElement("a"),v=function(a){n.href=a;a=n.host;-1===a.indexOf("/")&&
6 | 0!==n.pathname.indexOf("/")&&(a+="/");return n.protocol+"//"+a+n.pathname+n.search};u.ext.buttons.print={className:"buttons-print",text:function(a){return a.i18n("buttons.print","Print")},action:function(a,e,p,k){a=e.buttons.exportData(b.extend({decodeEntities:!1},k.exportOptions));p=e.buttons.exportInfo(k);var w=e.columns(k.exportOptions.columns).flatten().map(function(f){return e.settings()[0].aoColumns[e.column(f).index()].sClass}).toArray(),r=function(f,g){for(var x="",l=0,z=f.length;l"+(null===f[l]||f[l]===y?"":f[l])+""+g+">";return x+" "},m='";var c=d.open("","");if(c){c.document.close();var q=""+p.title+" ";b("style, link").each(function(){var f=q,g=b(this).clone()[0];
8 | "link"===g.nodeName.toLowerCase()&&(g.href=v(g.href));q=f+g.outerHTML});try{c.document.head.innerHTML=q}catch(f){b(c.document.head).html(q)}c.document.body.innerHTML=""+p.title+" "+(p.messageTop||"")+"
"+m+""+(p.messageBottom||"")+"
";b(c.document.body).addClass("dt-print-view");b("img",c.document.body).each(function(f,g){g.setAttribute("src",v(g.getAttribute("src")))});k.customize&&k.customize(c,k,e);a=function(){k.autoPrint&&(c.print(),c.close())};navigator.userAgent.match(/Trident\/\d.\d/)?
9 | a():c.setTimeout(a,1E3)}else e.buttons.info(e.i18n("buttons.printErrorTitle","Unable to open print view"),e.i18n("buttons.printErrorMsg","Please allow popups in your browser for this site to be able to view the print view."),5E3)},title:"*",messageTop:"*",messageBottom:"*",exportOptions:{},header:!0,footer:!1,autoPrint:!0,customize:null};return u.Buttons});
10 |
--------------------------------------------------------------------------------
/docs/_freeze/site_libs/dygraphs-1.1.1/dygraph.css:
--------------------------------------------------------------------------------
1 |
2 | div .dygraphs input[type="text"] {
3 | width: 25px;
4 | }
5 |
6 | div .qt .dygraph-axis-label {
7 | font-size: 11px;
8 | }
--------------------------------------------------------------------------------
/docs/_freeze/site_libs/dygraphs-1.1.1/shapes.js:
--------------------------------------------------------------------------------
1 | /**
2 | * @license
3 | * Copyright 2011 Dan Vanderkam (danvdk@gmail.com)
4 | * MIT-licensed (http://opensource.org/licenses/MIT)
5 | */
6 |
7 | /**
8 | * @fileoverview
9 | * Including this file will add several additional shapes to Dygraph.Circles
10 | * which can be passed to drawPointCallback.
11 | * See tests/custom-circles.html for usage.
12 | */
13 |
14 | (function() {
15 |
16 | /**
17 | * @param {!CanvasRenderingContext2D} ctx the canvas context
18 | * @param {number} sides the number of sides in the shape.
19 | * @param {number} radius the radius of the image.
20 | * @param {number} cx center x coordate
21 | * @param {number} cy center y coordinate
22 | * @param {number=} rotationRadians the shift of the initial angle, in radians.
23 | * @param {number=} delta the angle shift for each line. If missing, creates a
24 | * regular polygon.
25 | */
26 | var regularShape = function(
27 | ctx, sides, radius, cx, cy, rotationRadians, delta) {
28 | rotationRadians = rotationRadians || 0;
29 | delta = delta || Math.PI * 2 / sides;
30 |
31 | ctx.beginPath();
32 | var initialAngle = rotationRadians;
33 | var angle = initialAngle;
34 |
35 | var computeCoordinates = function() {
36 | var x = cx + (Math.sin(angle) * radius);
37 | var y = cy + (-Math.cos(angle) * radius);
38 | return [x, y];
39 | };
40 |
41 | var initialCoordinates = computeCoordinates();
42 | var x = initialCoordinates[0];
43 | var y = initialCoordinates[1];
44 | ctx.moveTo(x, y);
45 |
46 | for (var idx = 0; idx < sides; idx++) {
47 | angle = (idx == sides - 1) ? initialAngle : (angle + delta);
48 | var coords = computeCoordinates();
49 | ctx.lineTo(coords[0], coords[1]);
50 | }
51 | ctx.fill();
52 | ctx.stroke();
53 | };
54 |
55 | /**
56 | * TODO(danvk): be more specific on the return type.
57 | * @param {number} sides
58 | * @param {number=} rotationRadians
59 | * @param {number=} delta
60 | * @return {Function}
61 | * @private
62 | */
63 | var shapeFunction = function(sides, rotationRadians, delta) {
64 | return function(g, name, ctx, cx, cy, color, radius) {
65 | ctx.strokeStyle = color;
66 | ctx.fillStyle = "white";
67 | regularShape(ctx, sides, radius, cx, cy, rotationRadians, delta);
68 | };
69 | };
70 |
71 | var customCircles = {
72 | TRIANGLE : shapeFunction(3),
73 | SQUARE : shapeFunction(4, Math.PI / 4),
74 | DIAMOND : shapeFunction(4),
75 | PENTAGON : shapeFunction(5),
76 | HEXAGON : shapeFunction(6),
77 | CIRCLE : function(g, name, ctx, cx, cy, color, radius) {
78 | ctx.beginPath();
79 | ctx.strokeStyle = color;
80 | ctx.fillStyle = "white";
81 | ctx.arc(cx, cy, radius, 0, 2 * Math.PI, false);
82 | ctx.fill();
83 | ctx.stroke();
84 | },
85 | STAR : shapeFunction(5, 0, 4 * Math.PI / 5),
86 | PLUS : function(g, name, ctx, cx, cy, color, radius) {
87 | ctx.strokeStyle = color;
88 |
89 | ctx.beginPath();
90 | ctx.moveTo(cx + radius, cy);
91 | ctx.lineTo(cx - radius, cy);
92 | ctx.closePath();
93 | ctx.stroke();
94 |
95 | ctx.beginPath();
96 | ctx.moveTo(cx, cy + radius);
97 | ctx.lineTo(cx, cy - radius);
98 | ctx.closePath();
99 | ctx.stroke();
100 | },
101 | EX : function(g, name, ctx, cx, cy, color, radius) {
102 | ctx.strokeStyle = color;
103 |
104 | ctx.beginPath();
105 | ctx.moveTo(cx + radius, cy + radius);
106 | ctx.lineTo(cx - radius, cy - radius);
107 | ctx.closePath();
108 | ctx.stroke();
109 |
110 | ctx.beginPath();
111 | ctx.moveTo(cx + radius, cy - radius);
112 | ctx.lineTo(cx - radius, cy + radius);
113 | ctx.closePath();
114 | ctx.stroke();
115 | }
116 | };
117 |
118 | for (var k in customCircles) {
119 | if (!customCircles.hasOwnProperty(k)) continue;
120 | Dygraph.Circles[k] = customCircles[k];
121 | }
122 |
123 | })();
124 |
--------------------------------------------------------------------------------
/docs/_freeze/site_libs/fontawesome-4.7.0/fonts/FontAwesome.otf:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/nhsengland/nhs-r-reporting/ad8dda5b6be6dbcb5768d6a16760d5c641f2f6f9/docs/_freeze/site_libs/fontawesome-4.7.0/fonts/FontAwesome.otf
--------------------------------------------------------------------------------
/docs/_freeze/site_libs/fontawesome-4.7.0/fonts/fontawesome-webfont.eot:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/nhsengland/nhs-r-reporting/ad8dda5b6be6dbcb5768d6a16760d5c641f2f6f9/docs/_freeze/site_libs/fontawesome-4.7.0/fonts/fontawesome-webfont.eot
--------------------------------------------------------------------------------
/docs/_freeze/site_libs/fontawesome-4.7.0/fonts/fontawesome-webfont.ttf:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/nhsengland/nhs-r-reporting/ad8dda5b6be6dbcb5768d6a16760d5c641f2f6f9/docs/_freeze/site_libs/fontawesome-4.7.0/fonts/fontawesome-webfont.ttf
--------------------------------------------------------------------------------
/docs/_freeze/site_libs/fontawesome-4.7.0/fonts/fontawesome-webfont.woff:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/nhsengland/nhs-r-reporting/ad8dda5b6be6dbcb5768d6a16760d5c641f2f6f9/docs/_freeze/site_libs/fontawesome-4.7.0/fonts/fontawesome-webfont.woff
--------------------------------------------------------------------------------
/docs/_freeze/site_libs/fontawesome-4.7.0/fonts/glyphicons-halflings-regular.eot:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/nhsengland/nhs-r-reporting/ad8dda5b6be6dbcb5768d6a16760d5c641f2f6f9/docs/_freeze/site_libs/fontawesome-4.7.0/fonts/glyphicons-halflings-regular.eot
--------------------------------------------------------------------------------
/docs/_freeze/site_libs/fontawesome-4.7.0/fonts/glyphicons-halflings-regular.ttf:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/nhsengland/nhs-r-reporting/ad8dda5b6be6dbcb5768d6a16760d5c641f2f6f9/docs/_freeze/site_libs/fontawesome-4.7.0/fonts/glyphicons-halflings-regular.ttf
--------------------------------------------------------------------------------
/docs/_freeze/site_libs/fontawesome-4.7.0/fonts/glyphicons-halflings-regular.woff:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/nhsengland/nhs-r-reporting/ad8dda5b6be6dbcb5768d6a16760d5c641f2f6f9/docs/_freeze/site_libs/fontawesome-4.7.0/fonts/glyphicons-halflings-regular.woff
--------------------------------------------------------------------------------
/docs/_freeze/site_libs/fontawesome-4.7.0/fonts/ionicons.eot:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/nhsengland/nhs-r-reporting/ad8dda5b6be6dbcb5768d6a16760d5c641f2f6f9/docs/_freeze/site_libs/fontawesome-4.7.0/fonts/ionicons.eot
--------------------------------------------------------------------------------
/docs/_freeze/site_libs/fontawesome-4.7.0/fonts/ionicons.ttf:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/nhsengland/nhs-r-reporting/ad8dda5b6be6dbcb5768d6a16760d5c641f2f6f9/docs/_freeze/site_libs/fontawesome-4.7.0/fonts/ionicons.ttf
--------------------------------------------------------------------------------
/docs/_freeze/site_libs/fontawesome-4.7.0/fonts/ionicons.woff:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/nhsengland/nhs-r-reporting/ad8dda5b6be6dbcb5768d6a16760d5c641f2f6f9/docs/_freeze/site_libs/fontawesome-4.7.0/fonts/ionicons.woff
--------------------------------------------------------------------------------
/docs/_freeze/site_libs/fontawesome-4.7.0/images/markers-matte.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/nhsengland/nhs-r-reporting/ad8dda5b6be6dbcb5768d6a16760d5c641f2f6f9/docs/_freeze/site_libs/fontawesome-4.7.0/images/markers-matte.png
--------------------------------------------------------------------------------
/docs/_freeze/site_libs/fontawesome-4.7.0/images/markers-matte@2x.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/nhsengland/nhs-r-reporting/ad8dda5b6be6dbcb5768d6a16760d5c641f2f6f9/docs/_freeze/site_libs/fontawesome-4.7.0/images/markers-matte@2x.png
--------------------------------------------------------------------------------
/docs/_freeze/site_libs/fontawesome-4.7.0/images/markers-plain.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/nhsengland/nhs-r-reporting/ad8dda5b6be6dbcb5768d6a16760d5c641f2f6f9/docs/_freeze/site_libs/fontawesome-4.7.0/images/markers-plain.png
--------------------------------------------------------------------------------
/docs/_freeze/site_libs/fontawesome-4.7.0/images/markers-shadow.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/nhsengland/nhs-r-reporting/ad8dda5b6be6dbcb5768d6a16760d5c641f2f6f9/docs/_freeze/site_libs/fontawesome-4.7.0/images/markers-shadow.png
--------------------------------------------------------------------------------
/docs/_freeze/site_libs/fontawesome-4.7.0/images/markers-shadow@2x.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/nhsengland/nhs-r-reporting/ad8dda5b6be6dbcb5768d6a16760d5c641f2f6f9/docs/_freeze/site_libs/fontawesome-4.7.0/images/markers-shadow@2x.png
--------------------------------------------------------------------------------
/docs/_freeze/site_libs/fontawesome-4.7.0/images/markers-soft.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/nhsengland/nhs-r-reporting/ad8dda5b6be6dbcb5768d6a16760d5c641f2f6f9/docs/_freeze/site_libs/fontawesome-4.7.0/images/markers-soft.png
--------------------------------------------------------------------------------
/docs/_freeze/site_libs/fontawesome-4.7.0/images/markers-soft@2x.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/nhsengland/nhs-r-reporting/ad8dda5b6be6dbcb5768d6a16760d5c641f2f6f9/docs/_freeze/site_libs/fontawesome-4.7.0/images/markers-soft@2x.png
--------------------------------------------------------------------------------
/docs/_freeze/site_libs/fontawesome-4.7.0/leaflet.awesome-markers.css:
--------------------------------------------------------------------------------
1 | /*
2 | Author: L. Voogdt
3 | License: MIT
4 | Version: 1.0
5 | */
6 |
7 | /* Marker setup */
8 | .awesome-marker {
9 | background: url('images/markers-soft.png') no-repeat 0 0;
10 | width: 35px;
11 | height: 46px;
12 | position:absolute;
13 | left:0;
14 | top:0;
15 | display: block;
16 | text-align: center;
17 | }
18 |
19 | .awesome-marker-shadow {
20 | background: url('images/markers-shadow.png') no-repeat 0 0;
21 | width: 36px;
22 | height: 16px;
23 | }
24 |
25 | /* Retina displays */
26 | @media (min--moz-device-pixel-ratio: 1.5),(-o-min-device-pixel-ratio: 3/2),
27 | (-webkit-min-device-pixel-ratio: 1.5),(min-device-pixel-ratio: 1.5),(min-resolution: 1.5dppx) {
28 | .awesome-marker {
29 | background-image: url('images/markers-soft@2x.png');
30 | background-size: 720px 92px;
31 | }
32 | .awesome-marker-shadow {
33 | background-image: url('images/markers-shadow@2x.png');
34 | background-size: 35px 16px;
35 | }
36 | }
37 |
38 | .awesome-marker i {
39 | color: #333;
40 | margin-top: 10px;
41 | display: inline-block;
42 | font-size: 14px;
43 | }
44 |
45 | .awesome-marker .icon-white {
46 | color: #fff;
47 | }
48 |
49 | /* Colors */
50 | .awesome-marker-icon-red {
51 | background-position: 0 0;
52 | }
53 |
54 | .awesome-marker-icon-darkred {
55 | background-position: -180px 0;
56 | }
57 |
58 | .awesome-marker-icon-lightred {
59 | background-position: -360px 0;
60 | }
61 |
62 | .awesome-marker-icon-orange {
63 | background-position: -36px 0;
64 | }
65 |
66 | .awesome-marker-icon-beige {
67 | background-position: -396px 0;
68 | }
69 |
70 | .awesome-marker-icon-green {
71 | background-position: -72px 0;
72 | }
73 |
74 | .awesome-marker-icon-darkgreen {
75 | background-position: -252px 0;
76 | }
77 |
78 | .awesome-marker-icon-lightgreen {
79 | background-position: -432px 0;
80 | }
81 |
82 | .awesome-marker-icon-blue {
83 | background-position: -108px 0;
84 | }
85 |
86 | .awesome-marker-icon-darkblue {
87 | background-position: -216px 0;
88 | }
89 |
90 | .awesome-marker-icon-lightblue {
91 | background-position: -468px 0;
92 | }
93 |
94 | .awesome-marker-icon-purple {
95 | background-position: -144px 0;
96 | }
97 |
98 | .awesome-marker-icon-darkpurple {
99 | background-position: -288px 0;
100 | }
101 |
102 | .awesome-marker-icon-pink {
103 | background-position: -504px 0;
104 | }
105 |
106 | .awesome-marker-icon-cadetblue {
107 | background-position: -324px 0;
108 | }
109 |
110 | .awesome-marker-icon-white {
111 | background-position: -576px 0;
112 | }
113 |
114 | .awesome-marker-icon-gray {
115 | background-position: -648px 0;
116 | }
117 |
118 | .awesome-marker-icon-lightgray {
119 | background-position: -612px 0;
120 | }
121 |
122 | .awesome-marker-icon-black {
123 | background-position: -682px 0;
124 | }
125 |
126 | .awesome-marker-square {
127 | background-position-y: -46px;
128 | }
129 |
--------------------------------------------------------------------------------
/docs/_freeze/site_libs/fontawesome-4.7.0/leaflet.awesome-markers.min.js:
--------------------------------------------------------------------------------
1 | (function(window,document,undefined){"use strict";L.AwesomeMarkers={};L.AwesomeMarkers.version="2.0.1";L.AwesomeMarkers.Icon=L.Icon.extend({options:{iconSize:[35,45],iconAnchor:[17,42],popupAnchor:[1,-32],shadowAnchor:[10,12],shadowSize:[36,16],className:"awesome-marker",prefix:"glyphicon",spinClass:"fa-spin",extraClasses:"",icon:"home",markerColor:"blue",iconColor:"white",iconRotate:0,font:"monospace"},initialize:function(options){options=L.Util.setOptions(this,options)},createIcon:function(){var div=document.createElement("div"),options=this.options;if(options.icon){div.innerHTML=this._createInner()}if(options.bgPos){div.style.backgroundPosition=-options.bgPos.x+"px "+-options.bgPos.y+"px"}this._setIconStyles(div,"icon-"+options.markerColor);return div},_createInner:function(){var iconClass,iconSpinClass="",iconColorClass="",iconColorStyle="",options=this.options;if(!options.prefix||options.icon.slice(0,options.prefix.length+1)===options.prefix+"-"){iconClass=options.icon}else{iconClass=options.prefix+"-"+options.icon}if(options.spin&&typeof options.spinClass==="string"){iconSpinClass=options.spinClass}if(options.iconColor){if((options.iconColor==="white"||options.iconColor==="black")&&options.prefix!=="fa"){iconColorClass="icon-"+options.iconColor}else if(options.prefix==="fa"&&options.iconColor==="white"){iconColorClass="fa-inverse"}else{iconColorStyle="color: "+options.iconColor+";"}}if(options.font&&options.text){iconColorStyle+="font-family: "+options.font+";"}if(options.iconRotate&&options.iconRotate!==0){iconColorStyle+="-webkit-transform: rotate("+options.iconRotate+"deg);";iconColorStyle+="-moz-transform: rotate("+options.iconRotate+"deg);";iconColorStyle+="-o-transform: rotate("+options.iconRotate+"deg);";iconColorStyle+="-ms-transform: rotate("+options.iconRotate+"deg);";iconColorStyle+="transform: rotate("+options.iconRotate+"deg);"}if(options.text){return""}return""},_setIconStyles:function(img,name){var options=this.options,size=L.point(options[name==="shadow"?"shadowSize":"iconSize"]),anchor;if(name==="shadow"){anchor=L.point(options.shadowAnchor||options.iconAnchor)}else{anchor=L.point(options.iconAnchor)}if(!anchor&&size){anchor=size.divideBy(2,true)}img.className="awesome-marker-"+name+" "+options.className;if(anchor){img.style.marginLeft=-anchor.x+"px";img.style.marginTop=-anchor.y+"px"}if(size){img.style.width=size.x+"px";img.style.height=size.y+"px"}},createShadow:function(){var div=document.createElement("div");this._setIconStyles(div,"shadow");return div}});L.AwesomeMarkers.icon=function(options){return new L.AwesomeMarkers.Icon(options)}})(this,document);
2 |
--------------------------------------------------------------------------------
/docs/_freeze/site_libs/kePrint-0.0.1/kePrint.js:
--------------------------------------------------------------------------------
1 | $(document).ready(function(){
2 | if (typeof $('[data-toggle="tooltip"]').tooltip === 'function') {
3 | $('[data-toggle="tooltip"]').tooltip();
4 | }
5 | if ($('[data-toggle="popover"]').popover === 'function') {
6 | $('[data-toggle="popover"]').popover();
7 | }
8 | });
9 |
--------------------------------------------------------------------------------
/docs/_freeze/site_libs/leaflet-1.3.1/images/layers-2x.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/nhsengland/nhs-r-reporting/ad8dda5b6be6dbcb5768d6a16760d5c641f2f6f9/docs/_freeze/site_libs/leaflet-1.3.1/images/layers-2x.png
--------------------------------------------------------------------------------
/docs/_freeze/site_libs/leaflet-1.3.1/images/layers.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/nhsengland/nhs-r-reporting/ad8dda5b6be6dbcb5768d6a16760d5c641f2f6f9/docs/_freeze/site_libs/leaflet-1.3.1/images/layers.png
--------------------------------------------------------------------------------
/docs/_freeze/site_libs/leaflet-1.3.1/images/marker-icon-2x.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/nhsengland/nhs-r-reporting/ad8dda5b6be6dbcb5768d6a16760d5c641f2f6f9/docs/_freeze/site_libs/leaflet-1.3.1/images/marker-icon-2x.png
--------------------------------------------------------------------------------
/docs/_freeze/site_libs/leaflet-1.3.1/images/marker-icon.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/nhsengland/nhs-r-reporting/ad8dda5b6be6dbcb5768d6a16760d5c641f2f6f9/docs/_freeze/site_libs/leaflet-1.3.1/images/marker-icon.png
--------------------------------------------------------------------------------
/docs/_freeze/site_libs/leaflet-1.3.1/images/marker-shadow.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/nhsengland/nhs-r-reporting/ad8dda5b6be6dbcb5768d6a16760d5c641f2f6f9/docs/_freeze/site_libs/leaflet-1.3.1/images/marker-shadow.png
--------------------------------------------------------------------------------
/docs/_freeze/site_libs/leaflet-awesomemarkers-2.0.3/fonts/FontAwesome.otf:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/nhsengland/nhs-r-reporting/ad8dda5b6be6dbcb5768d6a16760d5c641f2f6f9/docs/_freeze/site_libs/leaflet-awesomemarkers-2.0.3/fonts/FontAwesome.otf
--------------------------------------------------------------------------------
/docs/_freeze/site_libs/leaflet-awesomemarkers-2.0.3/fonts/fontawesome-webfont.eot:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/nhsengland/nhs-r-reporting/ad8dda5b6be6dbcb5768d6a16760d5c641f2f6f9/docs/_freeze/site_libs/leaflet-awesomemarkers-2.0.3/fonts/fontawesome-webfont.eot
--------------------------------------------------------------------------------
/docs/_freeze/site_libs/leaflet-awesomemarkers-2.0.3/fonts/fontawesome-webfont.ttf:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/nhsengland/nhs-r-reporting/ad8dda5b6be6dbcb5768d6a16760d5c641f2f6f9/docs/_freeze/site_libs/leaflet-awesomemarkers-2.0.3/fonts/fontawesome-webfont.ttf
--------------------------------------------------------------------------------
/docs/_freeze/site_libs/leaflet-awesomemarkers-2.0.3/fonts/fontawesome-webfont.woff:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/nhsengland/nhs-r-reporting/ad8dda5b6be6dbcb5768d6a16760d5c641f2f6f9/docs/_freeze/site_libs/leaflet-awesomemarkers-2.0.3/fonts/fontawesome-webfont.woff
--------------------------------------------------------------------------------
/docs/_freeze/site_libs/leaflet-awesomemarkers-2.0.3/fonts/glyphicons-halflings-regular.eot:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/nhsengland/nhs-r-reporting/ad8dda5b6be6dbcb5768d6a16760d5c641f2f6f9/docs/_freeze/site_libs/leaflet-awesomemarkers-2.0.3/fonts/glyphicons-halflings-regular.eot
--------------------------------------------------------------------------------
/docs/_freeze/site_libs/leaflet-awesomemarkers-2.0.3/fonts/glyphicons-halflings-regular.ttf:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/nhsengland/nhs-r-reporting/ad8dda5b6be6dbcb5768d6a16760d5c641f2f6f9/docs/_freeze/site_libs/leaflet-awesomemarkers-2.0.3/fonts/glyphicons-halflings-regular.ttf
--------------------------------------------------------------------------------
/docs/_freeze/site_libs/leaflet-awesomemarkers-2.0.3/fonts/glyphicons-halflings-regular.woff:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/nhsengland/nhs-r-reporting/ad8dda5b6be6dbcb5768d6a16760d5c641f2f6f9/docs/_freeze/site_libs/leaflet-awesomemarkers-2.0.3/fonts/glyphicons-halflings-regular.woff
--------------------------------------------------------------------------------
/docs/_freeze/site_libs/leaflet-awesomemarkers-2.0.3/fonts/ionicons.eot:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/nhsengland/nhs-r-reporting/ad8dda5b6be6dbcb5768d6a16760d5c641f2f6f9/docs/_freeze/site_libs/leaflet-awesomemarkers-2.0.3/fonts/ionicons.eot
--------------------------------------------------------------------------------
/docs/_freeze/site_libs/leaflet-awesomemarkers-2.0.3/fonts/ionicons.ttf:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/nhsengland/nhs-r-reporting/ad8dda5b6be6dbcb5768d6a16760d5c641f2f6f9/docs/_freeze/site_libs/leaflet-awesomemarkers-2.0.3/fonts/ionicons.ttf
--------------------------------------------------------------------------------
/docs/_freeze/site_libs/leaflet-awesomemarkers-2.0.3/fonts/ionicons.woff:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/nhsengland/nhs-r-reporting/ad8dda5b6be6dbcb5768d6a16760d5c641f2f6f9/docs/_freeze/site_libs/leaflet-awesomemarkers-2.0.3/fonts/ionicons.woff
--------------------------------------------------------------------------------
/docs/_freeze/site_libs/leaflet-awesomemarkers-2.0.3/images/markers-matte.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/nhsengland/nhs-r-reporting/ad8dda5b6be6dbcb5768d6a16760d5c641f2f6f9/docs/_freeze/site_libs/leaflet-awesomemarkers-2.0.3/images/markers-matte.png
--------------------------------------------------------------------------------
/docs/_freeze/site_libs/leaflet-awesomemarkers-2.0.3/images/markers-matte@2x.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/nhsengland/nhs-r-reporting/ad8dda5b6be6dbcb5768d6a16760d5c641f2f6f9/docs/_freeze/site_libs/leaflet-awesomemarkers-2.0.3/images/markers-matte@2x.png
--------------------------------------------------------------------------------
/docs/_freeze/site_libs/leaflet-awesomemarkers-2.0.3/images/markers-plain.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/nhsengland/nhs-r-reporting/ad8dda5b6be6dbcb5768d6a16760d5c641f2f6f9/docs/_freeze/site_libs/leaflet-awesomemarkers-2.0.3/images/markers-plain.png
--------------------------------------------------------------------------------
/docs/_freeze/site_libs/leaflet-awesomemarkers-2.0.3/images/markers-shadow.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/nhsengland/nhs-r-reporting/ad8dda5b6be6dbcb5768d6a16760d5c641f2f6f9/docs/_freeze/site_libs/leaflet-awesomemarkers-2.0.3/images/markers-shadow.png
--------------------------------------------------------------------------------
/docs/_freeze/site_libs/leaflet-awesomemarkers-2.0.3/images/markers-shadow@2x.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/nhsengland/nhs-r-reporting/ad8dda5b6be6dbcb5768d6a16760d5c641f2f6f9/docs/_freeze/site_libs/leaflet-awesomemarkers-2.0.3/images/markers-shadow@2x.png
--------------------------------------------------------------------------------
/docs/_freeze/site_libs/leaflet-awesomemarkers-2.0.3/images/markers-soft.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/nhsengland/nhs-r-reporting/ad8dda5b6be6dbcb5768d6a16760d5c641f2f6f9/docs/_freeze/site_libs/leaflet-awesomemarkers-2.0.3/images/markers-soft.png
--------------------------------------------------------------------------------
/docs/_freeze/site_libs/leaflet-awesomemarkers-2.0.3/images/markers-soft@2x.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/nhsengland/nhs-r-reporting/ad8dda5b6be6dbcb5768d6a16760d5c641f2f6f9/docs/_freeze/site_libs/leaflet-awesomemarkers-2.0.3/images/markers-soft@2x.png
--------------------------------------------------------------------------------
/docs/_freeze/site_libs/leaflet-awesomemarkers-2.0.3/leaflet.awesome-markers.css:
--------------------------------------------------------------------------------
1 | /*
2 | Author: L. Voogdt
3 | License: MIT
4 | Version: 1.0
5 | */
6 |
7 | /* Marker setup */
8 | .awesome-marker {
9 | background: url('images/markers-soft.png') no-repeat 0 0;
10 | width: 35px;
11 | height: 46px;
12 | position:absolute;
13 | left:0;
14 | top:0;
15 | display: block;
16 | text-align: center;
17 | }
18 |
19 | .awesome-marker-shadow {
20 | background: url('images/markers-shadow.png') no-repeat 0 0;
21 | width: 36px;
22 | height: 16px;
23 | }
24 |
25 | /* Retina displays */
26 | @media (min--moz-device-pixel-ratio: 1.5),(-o-min-device-pixel-ratio: 3/2),
27 | (-webkit-min-device-pixel-ratio: 1.5),(min-device-pixel-ratio: 1.5),(min-resolution: 1.5dppx) {
28 | .awesome-marker {
29 | background-image: url('images/markers-soft@2x.png');
30 | background-size: 720px 92px;
31 | }
32 | .awesome-marker-shadow {
33 | background-image: url('images/markers-shadow@2x.png');
34 | background-size: 35px 16px;
35 | }
36 | }
37 |
38 | .awesome-marker i {
39 | color: #333;
40 | margin-top: 10px;
41 | display: inline-block;
42 | font-size: 14px;
43 | }
44 |
45 | .awesome-marker .icon-white {
46 | color: #fff;
47 | }
48 |
49 | /* Colors */
50 | .awesome-marker-icon-red {
51 | background-position: 0 0;
52 | }
53 |
54 | .awesome-marker-icon-darkred {
55 | background-position: -180px 0;
56 | }
57 |
58 | .awesome-marker-icon-lightred {
59 | background-position: -360px 0;
60 | }
61 |
62 | .awesome-marker-icon-orange {
63 | background-position: -36px 0;
64 | }
65 |
66 | .awesome-marker-icon-beige {
67 | background-position: -396px 0;
68 | }
69 |
70 | .awesome-marker-icon-green {
71 | background-position: -72px 0;
72 | }
73 |
74 | .awesome-marker-icon-darkgreen {
75 | background-position: -252px 0;
76 | }
77 |
78 | .awesome-marker-icon-lightgreen {
79 | background-position: -432px 0;
80 | }
81 |
82 | .awesome-marker-icon-blue {
83 | background-position: -108px 0;
84 | }
85 |
86 | .awesome-marker-icon-darkblue {
87 | background-position: -216px 0;
88 | }
89 |
90 | .awesome-marker-icon-lightblue {
91 | background-position: -468px 0;
92 | }
93 |
94 | .awesome-marker-icon-purple {
95 | background-position: -144px 0;
96 | }
97 |
98 | .awesome-marker-icon-darkpurple {
99 | background-position: -288px 0;
100 | }
101 |
102 | .awesome-marker-icon-pink {
103 | background-position: -504px 0;
104 | }
105 |
106 | .awesome-marker-icon-cadetblue {
107 | background-position: -324px 0;
108 | }
109 |
110 | .awesome-marker-icon-white {
111 | background-position: -576px 0;
112 | }
113 |
114 | .awesome-marker-icon-gray {
115 | background-position: -648px 0;
116 | }
117 |
118 | .awesome-marker-icon-lightgray {
119 | background-position: -612px 0;
120 | }
121 |
122 | .awesome-marker-icon-black {
123 | background-position: -682px 0;
124 | }
125 |
126 | .awesome-marker-square {
127 | background-position-y: -46px;
128 | }
129 |
--------------------------------------------------------------------------------
/docs/_freeze/site_libs/leaflet-awesomemarkers-2.0.3/leaflet.awesome-markers.min.js:
--------------------------------------------------------------------------------
1 | (function(window,document,undefined){"use strict";L.AwesomeMarkers={};L.AwesomeMarkers.version="2.0.1";L.AwesomeMarkers.Icon=L.Icon.extend({options:{iconSize:[35,45],iconAnchor:[17,42],popupAnchor:[1,-32],shadowAnchor:[10,12],shadowSize:[36,16],className:"awesome-marker",prefix:"glyphicon",spinClass:"fa-spin",extraClasses:"",icon:"home",markerColor:"blue",iconColor:"white",iconRotate:0,font:"monospace"},initialize:function(options){options=L.Util.setOptions(this,options)},createIcon:function(){var div=document.createElement("div"),options=this.options;if(options.icon){div.innerHTML=this._createInner()}if(options.bgPos){div.style.backgroundPosition=-options.bgPos.x+"px "+-options.bgPos.y+"px"}this._setIconStyles(div,"icon-"+options.markerColor);return div},_createInner:function(){var iconClass,iconSpinClass="",iconColorClass="",iconColorStyle="",options=this.options;if(!options.prefix||options.icon.slice(0,options.prefix.length+1)===options.prefix+"-"){iconClass=options.icon}else{iconClass=options.prefix+"-"+options.icon}if(options.spin&&typeof options.spinClass==="string"){iconSpinClass=options.spinClass}if(options.iconColor){if((options.iconColor==="white"||options.iconColor==="black")&&options.prefix!=="fa"){iconColorClass="icon-"+options.iconColor}else if(options.prefix==="fa"&&options.iconColor==="white"){iconColorClass="fa-inverse"}else{iconColorStyle="color: "+options.iconColor+";"}}if(options.font&&options.text){iconColorStyle+="font-family: "+options.font+";"}if(options.iconRotate&&options.iconRotate!==0){iconColorStyle+="-webkit-transform: rotate("+options.iconRotate+"deg);";iconColorStyle+="-moz-transform: rotate("+options.iconRotate+"deg);";iconColorStyle+="-o-transform: rotate("+options.iconRotate+"deg);";iconColorStyle+="-ms-transform: rotate("+options.iconRotate+"deg);";iconColorStyle+="transform: rotate("+options.iconRotate+"deg);"}if(options.text){return""}return""},_setIconStyles:function(img,name){var options=this.options,size=L.point(options[name==="shadow"?"shadowSize":"iconSize"]),anchor;if(name==="shadow"){anchor=L.point(options.shadowAnchor||options.iconAnchor)}else{anchor=L.point(options.iconAnchor)}if(!anchor&&size){anchor=size.divideBy(2,true)}img.className="awesome-marker-"+name+" "+options.className;if(anchor){img.style.marginLeft=-anchor.x+"px";img.style.marginTop=-anchor.y+"px"}if(size){img.style.width=size.x+"px";img.style.height=size.y+"px"}},createShadow:function(){var div=document.createElement("div");this._setIconStyles(div,"shadow");return div}});L.AwesomeMarkers.icon=function(options){return new L.AwesomeMarkers.Icon(options)}})(this,document);
2 |
--------------------------------------------------------------------------------
/docs/_freeze/site_libs/leaflet-providers-plugin-2.1.1/leaflet-providers-plugin.js:
--------------------------------------------------------------------------------
1 | LeafletWidget.methods.addProviderTiles = function(provider, layerId, group, options) {
2 | this.layerManager.addLayer(L.tileLayer.provider(provider, options), "tile", layerId, group);
3 | };
4 |
--------------------------------------------------------------------------------
/docs/_freeze/site_libs/leafletfix-1.0.0/leafletfix.css:
--------------------------------------------------------------------------------
1 | /* Work around CSS properties introduced on img by bootstrap */
2 | img.leaflet-tile {
3 | padding: 0;
4 | margin: 0;
5 | border-radius: 0;
6 | border: none;
7 | }
8 | .info {
9 | padding: 6px 8px;
10 | font: 14px/16px Arial, Helvetica, sans-serif;
11 | background: white;
12 | background: rgba(255,255,255,0.8);
13 | box-shadow: 0 0 15px rgba(0,0,0,0.2);
14 | border-radius: 5px;
15 | }
16 | .legend {
17 | line-height: 18px;
18 | color: #555;
19 | }
20 | .legend svg text {
21 | fill: #555;
22 | }
23 | .legend svg line {
24 | stroke: #555;
25 | }
26 | .legend i {
27 | width: 18px;
28 | height: 18px;
29 | margin-right: 4px;
30 | opacity: 0.7;
31 | display: inline-block;
32 | vertical-align: top;
33 | /*For IE 7*/
34 | zoom: 1;
35 | *display: inline;
36 | }
37 |
--------------------------------------------------------------------------------
/docs/_freeze/site_libs/moment-fquarter-1.0.0/moment-fquarter.min.js:
--------------------------------------------------------------------------------
1 | (function(){function n(n){return n.fn.fquarter=function(n){var u=this.lang()._quarter||"Q",t={},r,i=null;return n=n||4,n>1?(r=this.subtract("months",n-1),i=r.clone().add("years",1)):r=this,t.quarter=Math.ceil((r.month()+1)/3),t.year=r.year(),t.nextYear=i?i.year():i,t.toString=function(){var n=u+t.quarter+" "+t.year;return i?n+"/"+i.format("YY"):n},t},n}typeof define=="function"&&define.amd?define("moment-fquarter",["moment"],n):typeof module!="undefined"?module.exports=n(require("moment")):typeof window!="undefined"&&window.moment&&n(window.moment)}).apply(this);
--------------------------------------------------------------------------------
/docs/_freeze/site_libs/nouislider-7.0.10/jquery.nouislider.min.css:
--------------------------------------------------------------------------------
1 | /*! noUiSlider - 7.0.10 - 2015-03-17 17:30:22 */
2 |
3 |
4 | .noUi-target,.noUi-target *{-webkit-touch-callout:none;-webkit-user-select:none;-ms-touch-action:none;-ms-user-select:none;-moz-user-select:none;-moz-box-sizing:border-box;box-sizing:border-box}.noUi-target{position:relative;direction:ltr}.noUi-base{width:100%;height:100%;position:relative}.noUi-origin{position:absolute;right:0;top:0;left:0;bottom:0}.noUi-handle{position:relative;z-index:1}.noUi-stacking .noUi-handle{z-index:10}.noUi-state-tap .noUi-origin{-webkit-transition:left .3s,top .3s;transition:left .3s,top .3s}.noUi-state-drag *{cursor:inherit!important}.noUi-base{-webkit-transform:translate3d(0,0,0);transform:translate3d(0,0,0)}.noUi-horizontal{height:10px}.noUi-horizontal .noUi-handle{width:24px;height:18px;left:-12px;top:-6px}.noUi-vertical{width:10px}.noUi-vertical .noUi-handle{width:18px;height:24px;left:-5px;top:-12px}.noUi-background{background:#FAFAFA;box-shadow:inset 0 1px 1px #f0f0f0}.noUi-connect{background:#3FB8AF;box-shadow:inset 0 0 3px rgba(51,51,51,.45);-webkit-transition:background 450ms;transition:background 450ms}.noUi-origin{border-radius:2px}.noUi-target{border-radius:4px;border:1px solid #D3D3D3;box-shadow:inset 0 1px 1px #F0F0F0,0 3px 6px -5px #BBB}.noUi-target.noUi-connect{box-shadow:inset 0 0 3px rgba(51,51,51,.45),0 3px 6px -5px #BBB}.noUi-dragable{cursor:w-resize}.noUi-vertical .noUi-base{height:135px;}.noUi-vertical .noUi-dragable{cursor:n-resize}.noUi-handle{border:1px solid #D9D9D9;border-radius:3px;background:#FFF;cursor:default;box-shadow:inset 0 0 1px #FFF,inset 0 1px 7px #EBEBEB,0 3px 6px -3px #BBB}.noUi-active{box-shadow:inset 0 0 1px #FFF,inset 0 1px 7px #DDD,0 3px 6px -3px #BBB}.noUi-handle:after,.noUi-handle:before{content:"";display:block;position:absolute;height:9px;width:1px;background:#E8E7E6;left:9px;top:3.5px}.noUi-handle:after{left:12px}.noUi-vertical .noUi-handle:after,.noUi-vertical .noUi-handle:before{width:9px;height:1px;left:3.5px;top:9px}.noUi-vertical .noUi-handle:after{top:12px}[disabled] .noUi-connect,[disabled].noUi-connect{background:#B8B8B8}[disabled] .noUi-handle{cursor:not-allowed}
5 |
--------------------------------------------------------------------------------
/docs/_freeze/site_libs/plotly-htmlwidgets-css-2.11.1/plotly-htmlwidgets.css:
--------------------------------------------------------------------------------
1 | /*
2 | just here so that plotly works
3 | correctly with ioslides.
4 | see https://github.com/ropensci/plotly/issues/463
5 | */
6 |
7 | slide:not(.current) .plotly.html-widget{
8 | display: none;
9 | }
10 |
--------------------------------------------------------------------------------
/docs/_freeze/site_libs/react-17.0.0/LICENSE.txt:
--------------------------------------------------------------------------------
1 | MIT License
2 |
3 | Copyright (c) 2013-present, Facebook, Inc.
4 |
5 | Permission is hereby granted, free of charge, to any person obtaining a copy
6 | of this software and associated documentation files (the "Software"), to deal
7 | in the Software without restriction, including without limitation the rights
8 | to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
9 | copies of the Software, and to permit persons to whom the Software is
10 | furnished to do so, subject to the following conditions:
11 |
12 | The above copyright notice and this permission notice shall be included in all
13 | copies or substantial portions of the Software.
14 |
15 | THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
16 | IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
17 | FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
18 | AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
19 | LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
20 | OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
21 | SOFTWARE.
22 |
--------------------------------------------------------------------------------
/docs/_freeze/site_libs/reactable-0.4.3/reactable.server.js.LICENSE.txt:
--------------------------------------------------------------------------------
1 | /*
2 | object-assign
3 | (c) Sindre Sorhus
4 | @license MIT
5 | */
6 |
7 | /*!
8 | * The buffer module from node.js, for the browser.
9 | *
10 | * @author Feross Aboukhadijeh
11 | * @license MIT
12 | */
13 |
14 | /*! ieee754. BSD-3-Clause License. Feross Aboukhadijeh */
15 |
16 | /*! safe-buffer. MIT License. Feross Aboukhadijeh */
17 |
18 | /** @license React v0.20.2
19 | * scheduler.production.min.js
20 | *
21 | * Copyright (c) Facebook, Inc. and its affiliates.
22 | *
23 | * This source code is licensed under the MIT license found in the
24 | * LICENSE file in the root directory of this source tree.
25 | */
26 |
27 | /** @license React v17.0.2
28 | * react-dom-server.node.production.min.js
29 | *
30 | * Copyright (c) Facebook, Inc. and its affiliates.
31 | *
32 | * This source code is licensed under the MIT license found in the
33 | * LICENSE file in the root directory of this source tree.
34 | */
35 |
36 | /** @license React v17.0.2
37 | * react-dom.production.min.js
38 | *
39 | * Copyright (c) Facebook, Inc. and its affiliates.
40 | *
41 | * This source code is licensed under the MIT license found in the
42 | * LICENSE file in the root directory of this source tree.
43 | */
44 |
45 | /** @license React v17.0.2
46 | * react.production.min.js
47 | *
48 | * Copyright (c) Facebook, Inc. and its affiliates.
49 | *
50 | * This source code is licensed under the MIT license found in the
51 | * LICENSE file in the root directory of this source tree.
52 | */
53 |
--------------------------------------------------------------------------------
/docs/_freeze/site_libs/reactable-0.4.3/reactable.yaml:
--------------------------------------------------------------------------------
1 | dependencies:
2 | - name: reactable
3 | version: 0.4.3
4 | src: htmlwidgets
5 | stylesheet: reactable.css
6 |
--------------------------------------------------------------------------------
/docs/_freeze/site_libs/rstudio_leaflet-1.3.1/images/1px.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/nhsengland/nhs-r-reporting/ad8dda5b6be6dbcb5768d6a16760d5c641f2f6f9/docs/_freeze/site_libs/rstudio_leaflet-1.3.1/images/1px.png
--------------------------------------------------------------------------------
/docs/_freeze/site_libs/rstudio_leaflet-1.3.1/rstudio_leaflet.css:
--------------------------------------------------------------------------------
1 | .leaflet-tooltip.leaflet-tooltip-text-only,
2 | .leaflet-tooltip.leaflet-tooltip-text-only:before,
3 | .leaflet-tooltip.leaflet-tooltip-text-only:after {
4 | background: none;
5 | border: none;
6 | box-shadow: none;
7 | }
8 |
9 | .leaflet-tooltip.leaflet-tooltip-text-only.leaflet-tooltip-left {
10 | margin-left: 5px;
11 | }
12 |
13 | .leaflet-tooltip.leaflet-tooltip-text-only.leaflet-tooltip-right {
14 | margin-left: -5px;
15 | }
16 |
17 | .leaflet-tooltip:after {
18 | border-right: 6px solid transparent;
19 | /* right: -16px; */
20 | }
21 |
22 | .leaflet-popup-pane .leaflet-popup-tip-container {
23 | /* when the tooltip container is clicked, it is closed */
24 | pointer-events: all;
25 | /* tooltips should display the "hand" icon, just like .leaflet-interactive*/
26 | cursor: pointer;
27 | }
28 |
29 | /* have the widget be displayed in the right 'layer' */
30 | .leaflet-map-pane {
31 | z-index: auto;
32 | }
33 |
34 | /* Add missing rule from leaflet for img.
35 | This complete existing leaflet.css.
36 | Fix for https://github.com/rstudio/rmarkdown/issues/1949 */
37 | .leaflet-container .leaflet-right-pane img,
38 | .leaflet-container .leaflet-left-pane img {
39 | max-width: none !important;
40 | max-height: none !important;
41 | }
42 |
--------------------------------------------------------------------------------
/docs/_freeze/site_libs/wordcloud2-0.0.1/wordcloud.css:
--------------------------------------------------------------------------------
1 |
2 | #wcLabel {
3 | position: absolute;
4 | border: 2px solid #fff;
5 | box-shadow: 0 0 4px 0 #008;
6 | padding: 2px;
7 | /*margin: -4px 0 0 -4px;*/
8 | pointer-events: none; }
9 |
10 | #wcSpan {
11 | position: absolute;
12 | top: 100%;
13 | left: 0;
14 | background-color: rgba(255, 255, 255, 0.8);
15 | color: #333;
16 | margin-top: 6px;
17 | padding: 0 0.5em;
18 | border-radius: 0.5em;
19 | white-space: nowrap; }
20 |
--------------------------------------------------------------------------------
/docs/_freeze/site_libs/wordcloud2-binding-0.2.1/wordcloud2.js:
--------------------------------------------------------------------------------
1 | HTMLWidgets.widget({
2 |
3 | name: 'wordcloud2',
4 |
5 | type: 'output',
6 |
7 | initialize: function(el, width, height) {
8 | var newCanvas = document.createElement("canvas");
9 | newCanvas.height = height;
10 | newCanvas.width = width;
11 | newCanvas.id = "canvas";
12 |
13 | el.appendChild(newCanvas);
14 | newlabel(el);
15 | return(el.firstChild);
16 | },
17 | renderValue: function(el, x, instance) {
18 | // parse gexf data
19 | listData=[];
20 | for(var i=0; i% \n filter(org_code == \"RQM\", type == 1, period < as.Date(\"2018-04-01\"))\n\ndf %>%\n ptd_spc(value_field = breaches, date_field = period, improvement_direction = \"decrease\")\n```\n\n::: {.cell-output-display}\n{width=672}\n:::\n:::",
5 | "supporting": [
6 | "spc_files"
7 | ],
8 | "filters": [
9 | "rmarkdown/pagebreak.lua"
10 | ],
11 | "includes": {},
12 | "engineDependencies": {},
13 | "preserve": {},
14 | "postProcess": true
15 | }
16 | }
--------------------------------------------------------------------------------
/docs/_freeze/tutorials/spc/figure-html/Example SPC Chart-1.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/nhsengland/nhs-r-reporting/ad8dda5b6be6dbcb5768d6a16760d5c641f2f6f9/docs/_freeze/tutorials/spc/figure-html/Example SPC Chart-1.png
--------------------------------------------------------------------------------
/docs/_freeze/tutorials/udal/execute-results/html.json:
--------------------------------------------------------------------------------
1 | {
2 | "hash": "8b5ada0796cea820889db64bf4805c70",
3 | "result": {
4 | "markdown": "---\ntitle: National Data Platform (UDAL)\nsubtitle: \"NHS England Datastore\"\nauthor: \"Simon Wellesley-Miller\"\ndate: \"2023-02-05\"\ncategories: [SQL, R]\n---\n\n\n## Query UDAL in R\n\nFirst load in appropriate libraries; `DBI` is the main one for the connection to UDAL, and `tidyverse` allows you to to use `dbpylr` verbs.\n\n```r\nlibrary (DBI)\nlibrary (odbc)\nlibrary (tidyverse)\nlibrary (dbplyr)\nsource ('personal_credentials.R')\n```\n\n::: {.callout-warning}\n## Important!\nIt is good practice to *not* publish connection strings, therefore I have put them into a separate file as follows:\n\n\n::: {.cell}\n\n```{.r .cell-code}\nserv <-\"\"\ndb <- \"\"\nuser <- \"\"\n```\n:::\n\n:::\n\n## Open Connection\n\nThis is the main connection command:\n\n```r\ncon_udal <- dbConnect(\n drv = odbc(),\n driver = \"ODBC Driver 17 for SQL Server\",\n server = serv,\n database = db,\n UID = user,\n authentication = \"ActiveDirectoryInteractive\"\n)\n```\n\n::: {.callout-note}\n## Note\nWhen this is run a separate window will open where you will need to enter two part authentication \n\n::: \n\nOnce that has been run you will see a connection appear in the connections tab - top right\n\n## Running SQL Query\n\nYou can parse a standard sql query using a `dbGetQuery()` command, it requires the connection string (that you have already specified above) and the sql code.\n\n- Each query can return one dataframe of data, if you have multiple queries use separate queries (there is a way around this but it is quite complex)\n- The `dbGetQuery()` does not like temporary tables (they are bad practice anyway), but it will accept common table expressions (CTEs) or subqueries\n\n```r\ndf_one <- dbGetQuery(\n conn = con_udal,\n statement = \"\n\n SELECT appointment_date,\n appointment_status,\n HCP_Type,\n Appointment_Mode,\n Count_Of_Appointments\n\n FROM [UKHF_Appts_In_General_Practice].[Appts_GP_Daily1]\n\n WHERE Appointment_Date >= '2022-11-25'\n\n \"\n )\n```\n\nAlternatively we can keep our sql separate and read in a script:\n\n```r\ndf_two <- dbGetQuery(con_udal, \n read_file(\"test_query.sql\"))\n```\n\n## Using `dbpylr`\n\nFinally we can skip sql entirely and query using dplyr like verbs. First we make a connection to the table we want - note that this does not actually create a table - more of a virtual one:\n\n```r\ndbpylr_table <- tbl(con_udal, \n in_schema(\"UKHF_Appts_In_General_Practice\", \n \"Appts_GP_Daily1\"))\n```\n\nHowever we can then use our virtual table and query it using dplyr verbs.\n\nEnsure to add collect at the end to convert the final results into an actual dataframe:\n\n```r\ndf_three <- dbpylr_table %>%\n select (Appointment_Date,\n Appointment_Status,\n HCP_Type,\n Appointment_Mode,\n Count_Of_Appointments) %>%\n filter (Appointment_Date >= '2022-11-25') %>%\n collect()\n```\n\n## Close Connection \n\nWhen you have finished with the connection it is good practice to close it:\n\n```r\ndbDisconnect(con_udal)\n```\n\nta da!\n\n",
5 | "supporting": [],
6 | "filters": [
7 | "rmarkdown/pagebreak.lua"
8 | ],
9 | "includes": {},
10 | "engineDependencies": {},
11 | "preserve": {},
12 | "postProcess": true
13 | }
14 | }
--------------------------------------------------------------------------------
/docs/_quarto.yml:
--------------------------------------------------------------------------------
1 | project:
2 | type: website
3 |
4 | website:
5 | open-graph: true
6 | page-navigation: true
7 | title: "NHSE-R"
8 | description: "NHSE-R"
9 | # date: now
10 | favicon: assets/favicons/favicon.ico
11 | repo-url: https://github.com/nhsengland/nhs-r-reporting
12 | repo-subdir: docs
13 | repo-actions: [edit, issue]
14 | site-url: https://nhsengland.github.io/nhs-r-reporting
15 |
16 | page-footer:
17 | left: "This page is built with ❤️ and [Quarto](https://quarto.org/)."
18 | # background: "#005eb8"
19 | right:
20 | - text: "License"
21 | href: https://github.com/nhsengland/nhs-r-reporting/blob/main/LICENSE
22 | - text: "Code of Conduct"
23 | href: https://github.com/nhsengland/nhs-r-reporting/blob/main/CODE_OF_CONDUCT.md
24 |
25 | navbar:
26 | background: light
27 | title: false
28 | collapse-below: lg
29 | left:
30 | - text: "Homepage"
31 | icon: "house-door"
32 | href: index.qmd
33 | - text: "Tutorials"
34 | icon: "bookmark-check"
35 | href: tutorials/index.qmd
36 | - text: "Updates"
37 | icon: "rss"
38 | href: updates.qmd
39 | right:
40 | - text: "Help"
41 | menu:
42 | - text: "Report a Bug"
43 | icon: "bug"
44 | href: "https://github.com/nhsengland/nhs-r-reporting/issues"
45 | - text: "Ask a Question"
46 | icon: "chat-right-text"
47 | href: "https://github.com/nhsengland/nhs-r-reporting/discussions"
48 | - text: "FAQ"
49 | icon: "question-circle"
50 | href: faq.qmd
51 | - icon: github
52 | href: https://github.com/nhsengland/nhs-r-reporting
53 | aria-label: GitHub
54 | - icon: cloud-fill
55 | href: https://future.nhs.uk/NHSERcommunity
56 | aria-label: NHS England R Community
57 |
58 | sidebar:
59 | id: toc-side
60 | style: "floating"
61 | pinned: true
62 | contents:
63 | - section: "NHSE-R"
64 | contents:
65 | - text: "Homepage"
66 | file: index.qmd
67 | - text: "Statement on Tools"
68 | file: statement-on-tools.qmd
69 | - text: "Contribute to this site"
70 | file: contribute.qmd
71 | - section: Tutorials
72 | file: tutorials/index.qmd
73 | contents:
74 | - auto: tutorials/*.qmd
75 | - section: Examples
76 | contents:
77 | - text: "A&E Attendance Report"
78 | file: examples/ae_attendance.html
79 | - text: "FAQ"
80 | file: faq.qmd
81 | format:
82 | html:
83 | toc: true
84 | toc-depth: 4
85 | theme:
86 | light: [cosmo, assets/style/theme.scss]
87 | code-copy: true
88 | code-overflow: wrap
89 | css: assets/style/styles.css
90 | include-after-body: assets/style/js.html
91 |
92 | execute:
93 | freeze: auto
94 |
--------------------------------------------------------------------------------
/docs/_site/assets/favicons/favicon.ico:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/nhsengland/nhs-r-reporting/ad8dda5b6be6dbcb5768d6a16760d5c641f2f6f9/docs/_site/assets/favicons/favicon.ico
--------------------------------------------------------------------------------
/docs/_site/assets/figures/ae_attendance_img.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/nhsengland/nhs-r-reporting/ad8dda5b6be6dbcb5768d6a16760d5c641f2f6f9/docs/_site/assets/figures/ae_attendance_img.png
--------------------------------------------------------------------------------
/docs/_site/assets/figures/github-desktop.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/nhsengland/nhs-r-reporting/ad8dda5b6be6dbcb5768d6a16760d5c641f2f6f9/docs/_site/assets/figures/github-desktop.png
--------------------------------------------------------------------------------
/docs/_site/assets/figures/intro-to-r-git/access-token-scope.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/nhsengland/nhs-r-reporting/ad8dda5b6be6dbcb5768d6a16760d5c641f2f6f9/docs/_site/assets/figures/intro-to-r-git/access-token-scope.png
--------------------------------------------------------------------------------
/docs/_site/assets/figures/intro-to-r-git/github-check.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/nhsengland/nhs-r-reporting/ad8dda5b6be6dbcb5768d6a16760d5c641f2f6f9/docs/_site/assets/figures/intro-to-r-git/github-check.png
--------------------------------------------------------------------------------
/docs/_site/assets/figures/intro-to-r-git/github-clone.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/nhsengland/nhs-r-reporting/ad8dda5b6be6dbcb5768d6a16760d5c641f2f6f9/docs/_site/assets/figures/intro-to-r-git/github-clone.png
--------------------------------------------------------------------------------
/docs/_site/assets/figures/intro-to-r-git/github-create-repo.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/nhsengland/nhs-r-reporting/ad8dda5b6be6dbcb5768d6a16760d5c641f2f6f9/docs/_site/assets/figures/intro-to-r-git/github-create-repo.png
--------------------------------------------------------------------------------
/docs/_site/assets/figures/intro-to-r-git/github-token.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/nhsengland/nhs-r-reporting/ad8dda5b6be6dbcb5768d6a16760d5c641f2f6f9/docs/_site/assets/figures/intro-to-r-git/github-token.png
--------------------------------------------------------------------------------
/docs/_site/assets/figures/intro-to-r-git/rstudio-git-menu.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/nhsengland/nhs-r-reporting/ad8dda5b6be6dbcb5768d6a16760d5c641f2f6f9/docs/_site/assets/figures/intro-to-r-git/rstudio-git-menu.png
--------------------------------------------------------------------------------
/docs/_site/assets/figures/intro-to-r-git/rstudio-git.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/nhsengland/nhs-r-reporting/ad8dda5b6be6dbcb5768d6a16760d5c641f2f6f9/docs/_site/assets/figures/intro-to-r-git/rstudio-git.png
--------------------------------------------------------------------------------
/docs/_site/assets/figures/spc.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/nhsengland/nhs-r-reporting/ad8dda5b6be6dbcb5768d6a16760d5c641f2f6f9/docs/_site/assets/figures/spc.png
--------------------------------------------------------------------------------
/docs/_site/assets/logos/GitHub-logo.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/nhsengland/nhs-r-reporting/ad8dda5b6be6dbcb5768d6a16760d5c641f2f6f9/docs/_site/assets/logos/GitHub-logo.png
--------------------------------------------------------------------------------
/docs/_site/assets/logos/Making-data-count.jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/nhsengland/nhs-r-reporting/ad8dda5b6be6dbcb5768d6a16760d5c641f2f6f9/docs/_site/assets/logos/Making-data-count.jpg
--------------------------------------------------------------------------------
/docs/_site/assets/logos/git-rstudio.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/nhsengland/nhs-r-reporting/ad8dda5b6be6dbcb5768d6a16760d5c641f2f6f9/docs/_site/assets/logos/git-rstudio.png
--------------------------------------------------------------------------------
/docs/_site/assets/logos/nhs-england-large.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/nhsengland/nhs-r-reporting/ad8dda5b6be6dbcb5768d6a16760d5c641f2f6f9/docs/_site/assets/logos/nhs-england-large.png
--------------------------------------------------------------------------------
/docs/_site/assets/logos/nhs-england.jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/nhsengland/nhs-r-reporting/ad8dda5b6be6dbcb5768d6a16760d5c641f2f6f9/docs/_site/assets/logos/nhs-england.jpg
--------------------------------------------------------------------------------
/docs/_site/assets/logos/nhsr.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/nhsengland/nhs-r-reporting/ad8dda5b6be6dbcb5768d6a16760d5c641f2f6f9/docs/_site/assets/logos/nhsr.png
--------------------------------------------------------------------------------
/docs/_site/documentation/visualisation_files/figure-html/Example Line Chart-1.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/nhsengland/nhs-r-reporting/ad8dda5b6be6dbcb5768d6a16760d5c641f2f6f9/docs/_site/documentation/visualisation_files/figure-html/Example Line Chart-1.png
--------------------------------------------------------------------------------
/docs/_site/documentation/visualisation_files/figure-html/Example SPC Chart-1.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/nhsengland/nhs-r-reporting/ad8dda5b6be6dbcb5768d6a16760d5c641f2f6f9/docs/_site/documentation/visualisation_files/figure-html/Example SPC Chart-1.png
--------------------------------------------------------------------------------
/docs/_site/listings.json:
--------------------------------------------------------------------------------
1 | [
2 | {
3 | "listing": "/updates.html",
4 | "items": [
5 | "/posts/r-udal.html",
6 | "/posts/r-studio-git.html"
7 | ]
8 | },
9 | {
10 | "listing": "/tutorials/index.html",
11 | "items": [
12 | "/tutorials/quarto.html",
13 | "/tutorials/udal.html",
14 | "/tutorials/rap.html",
15 | "/tutorials/github.html",
16 | "/tutorials/rstudio-git.html",
17 | "/tutorials/spc.html",
18 | "/tutorials/r-language.html",
19 | "/tutorials/nhs-colours.html"
20 | ]
21 | }
22 | ]
--------------------------------------------------------------------------------
/docs/_site/posts/rap-maturity/nhsd-rap.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/nhsengland/nhs-r-reporting/ad8dda5b6be6dbcb5768d6a16760d5c641f2f6f9/docs/_site/posts/rap-maturity/nhsd-rap.png
--------------------------------------------------------------------------------
/docs/_site/posts/rstudio-git/github-rstudio.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/nhsengland/nhs-r-reporting/ad8dda5b6be6dbcb5768d6a16760d5c641f2f6f9/docs/_site/posts/rstudio-git/github-rstudio.png
--------------------------------------------------------------------------------
/docs/_site/posts/rstudio-git/thumbnail.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/nhsengland/nhs-r-reporting/ad8dda5b6be6dbcb5768d6a16760d5c641f2f6f9/docs/_site/posts/rstudio-git/thumbnail.png
--------------------------------------------------------------------------------
/docs/_site/posts/welcome/thumbnail.jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/nhsengland/nhs-r-reporting/ad8dda5b6be6dbcb5768d6a16760d5c641f2f6f9/docs/_site/posts/welcome/thumbnail.jpg
--------------------------------------------------------------------------------
/docs/_site/robots.txt:
--------------------------------------------------------------------------------
1 | Sitemap: https://nhsengland.github.io/nhs-r-reporting/sitemap.xml
2 |
--------------------------------------------------------------------------------
/docs/_site/site_libs/Dygraph.Plugins.Crosshair-1.0/crosshair.js:
--------------------------------------------------------------------------------
1 | /**
2 | * @license
3 | * Copyright 2015 Petr Shevtsov (petr.shevtsov@gmail.com)
4 | * MIT-licensed (http://opensource.org/licenses/MIT)
5 | */
6 |
7 | /*global Dygraph:false */
8 | /*jshint globalstrict: true */
9 | Dygraph.Plugins.Crosshair = (function() {
10 | "use strict";
11 |
12 | /**
13 | * Creates the crosshair
14 | *
15 | * @constructor
16 | */
17 |
18 | var crosshair = function(opt_options) {
19 | this.canvas_ = document.createElement("canvas");
20 | opt_options = opt_options || {};
21 | this.direction_ = opt_options.direction || null;
22 | };
23 |
24 | crosshair.prototype.toString = function() {
25 | return "Crosshair Plugin";
26 | };
27 |
28 | /**
29 | * @param {Dygraph} g Graph instance.
30 | * @return {object.} Mapping of event names to callbacks.
31 | */
32 | crosshair.prototype.activate = function(g) {
33 | g.graphDiv.appendChild(this.canvas_);
34 |
35 | return {
36 | select: this.select,
37 | deselect: this.deselect
38 | };
39 | };
40 |
41 | crosshair.prototype.select = function(e) {
42 | if (this.direction_ === null) {
43 | return;
44 | }
45 |
46 | var width = e.dygraph.width_;
47 | var height = e.dygraph.height_;
48 | this.canvas_.width = width;
49 | this.canvas_.height = height;
50 | this.canvas_.style.width = width + "px"; // for IE
51 | this.canvas_.style.height = height + "px"; // for IE
52 |
53 | var ctx = this.canvas_.getContext("2d");
54 | ctx.clearRect(0, 0, width, height);
55 | ctx.strokeStyle = "rgba(0, 0, 0,0.3)";
56 | ctx.beginPath();
57 |
58 | var canvasx = Math.floor(e.dygraph.selPoints_[0].canvasx) + 0.5; // crisper rendering
59 |
60 | if (this.direction_ === "vertical" || this.direction_ === "both") {
61 | ctx.moveTo(canvasx, 0);
62 | ctx.lineTo(canvasx, height);
63 | }
64 |
65 | if (this.direction_ === "horizontal" || this.direction_ === "both") {
66 | for (var i = 0; i < e.dygraph.selPoints_.length; i++) {
67 | var canvasy = Math.floor(e.dygraph.selPoints_[i].canvasy) + 0.5; // crisper rendering
68 | ctx.moveTo(0, canvasy);
69 | ctx.lineTo(width, canvasy);
70 | }
71 | }
72 |
73 | ctx.stroke();
74 | ctx.closePath();
75 | };
76 |
77 | crosshair.prototype.deselect = function(e) {
78 | var ctx = this.canvas_.getContext("2d");
79 | ctx.clearRect(0, 0, this.canvas_.width, this.canvas_.height);
80 | };
81 |
82 | crosshair.prototype.destroy = function() {
83 | this.canvas_ = null;
84 | };
85 |
86 | return crosshair;
87 | })();
88 |
--------------------------------------------------------------------------------
/docs/_site/site_libs/bootstrap/bootstrap-icons.woff:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/nhsengland/nhs-r-reporting/ad8dda5b6be6dbcb5768d6a16760d5c641f2f6f9/docs/_site/site_libs/bootstrap/bootstrap-icons.woff
--------------------------------------------------------------------------------
/docs/_site/site_libs/collapsibleTree-0.1.6/collapsibleTree.css:
--------------------------------------------------------------------------------
1 | .collapsibleTree .node {
2 | cursor: pointer;
3 | }
4 |
5 | .collapsibleTree .node circle {
6 | fill: #fff;
7 | stroke: #000;
8 | }
9 |
10 | .collapsibleTree .node text {
11 | font: 10px sans-serif;
12 | }
13 |
14 | .collapsibleTree .link {
15 | fill: none;
16 | stroke: #ccc;
17 | stroke-width: 1.5px;
18 | }
19 |
20 | .collapsibleTree div.tooltip {
21 | position: absolute;
22 | text-align: center;
23 | padding: 3px;
24 | font: 10px sans-serif;
25 | background: #fff;
26 | border: 2px;
27 | border-radius: 8px;
28 | border-style: solid;
29 | pointer-events: none;
30 | }
31 |
--------------------------------------------------------------------------------
/docs/_site/site_libs/collapsibleTree-0.1.6/d3-4.10.2/LICENSE:
--------------------------------------------------------------------------------
1 | Copyright 2010-2017 Mike Bostock
2 | All rights reserved.
3 |
4 | Redistribution and use in source and binary forms, with or without modification,
5 | are permitted provided that the following conditions are met:
6 |
7 | * Redistributions of source code must retain the above copyright notice, this
8 | list of conditions and the following disclaimer.
9 |
10 | * Redistributions in binary form must reproduce the above copyright notice,
11 | this list of conditions and the following disclaimer in the documentation
12 | and/or other materials provided with the distribution.
13 |
14 | * Neither the name of the author nor the names of contributors may be used to
15 | endorse or promote products derived from this software without specific prior
16 | written permission.
17 |
18 | THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND
19 | ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
20 | WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
21 | DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR
22 | ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES
23 | (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;
24 | LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON
25 | ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
26 | (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
27 | SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
28 |
--------------------------------------------------------------------------------
/docs/_site/site_libs/core-js-2.5.3/LICENSE:
--------------------------------------------------------------------------------
1 | Copyright (c) 2014-2017 Denis Pushkarev
2 |
3 | Permission is hereby granted, free of charge, to any person obtaining a copy
4 | of this software and associated documentation files (the "Software"), to deal
5 | in the Software without restriction, including without limitation the rights
6 | to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
7 | copies of the Software, and to permit persons to whom the Software is
8 | furnished to do so, subject to the following conditions:
9 |
10 | The above copyright notice and this permission notice shall be included in
11 | all copies or substantial portions of the Software.
12 |
13 | THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
14 | IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
15 | FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
16 | AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
17 | LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
18 | OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
19 | THE SOFTWARE.
20 |
--------------------------------------------------------------------------------
/docs/_site/site_libs/crosstalk-1.2.0/css/crosstalk.min.css:
--------------------------------------------------------------------------------
1 | .container-fluid.crosstalk-bscols{margin-left:-30px;margin-right:-30px;white-space:normal}body>.container-fluid.crosstalk-bscols{margin-left:auto;margin-right:auto}.crosstalk-input-checkboxgroup .crosstalk-options-group .crosstalk-options-column{display:inline-block;padding-right:12px;vertical-align:top}@media only screen and (max-width: 480px){.crosstalk-input-checkboxgroup .crosstalk-options-group .crosstalk-options-column{display:block;padding-right:inherit}}.crosstalk-input{margin-bottom:15px}.crosstalk-input .control-label{margin-bottom:0;vertical-align:middle}.crosstalk-input input[type="checkbox"]{margin:4px 0 0;margin-top:1px;line-height:normal}.crosstalk-input .checkbox{position:relative;display:block;margin-top:10px;margin-bottom:10px}.crosstalk-input .checkbox>label{padding-left:20px;margin-bottom:0;font-weight:400;cursor:pointer}.crosstalk-input .checkbox input[type="checkbox"],.crosstalk-input .checkbox-inline input[type="checkbox"]{position:absolute;margin-top:2px;margin-left:-20px}.crosstalk-input .checkbox+.checkbox{margin-top:-5px}.crosstalk-input .checkbox-inline{position:relative;display:inline-block;padding-left:20px;margin-bottom:0;font-weight:400;vertical-align:middle;cursor:pointer}.crosstalk-input .checkbox-inline+.checkbox-inline{margin-top:0;margin-left:10px}
2 |
--------------------------------------------------------------------------------
/docs/_site/site_libs/crosstalk-1.2.0/scss/crosstalk.scss:
--------------------------------------------------------------------------------
1 | /* Adjust margins outwards, so column contents line up with the edges of the
2 | parent of container-fluid. */
3 | .container-fluid.crosstalk-bscols {
4 | margin-left: -30px;
5 | margin-right: -30px;
6 | white-space: normal;
7 | }
8 |
9 | /* But don't adjust the margins outwards if we're directly under the body,
10 | i.e. we were the top-level of something at the console. */
11 | body > .container-fluid.crosstalk-bscols {
12 | margin-left: auto;
13 | margin-right: auto;
14 | }
15 |
16 | .crosstalk-input-checkboxgroup .crosstalk-options-group .crosstalk-options-column {
17 | display: inline-block;
18 | padding-right: 12px;
19 | vertical-align: top;
20 | }
21 |
22 | @media only screen and (max-width:480px) {
23 | .crosstalk-input-checkboxgroup .crosstalk-options-group .crosstalk-options-column {
24 | display: block;
25 | padding-right: inherit;
26 | }
27 | }
28 |
29 | /* Relevant BS3 styles to make filter_checkbox() look reasonable without Bootstrap */
30 | .crosstalk-input {
31 | margin-bottom: 15px; /* a la .form-group */
32 | .control-label {
33 | margin-bottom: 0;
34 | vertical-align: middle;
35 | }
36 | input[type="checkbox"] {
37 | margin: 4px 0 0;
38 | margin-top: 1px;
39 | line-height: normal;
40 | }
41 | .checkbox {
42 | position: relative;
43 | display: block;
44 | margin-top: 10px;
45 | margin-bottom: 10px;
46 | }
47 | .checkbox > label{
48 | padding-left: 20px;
49 | margin-bottom: 0;
50 | font-weight: 400;
51 | cursor: pointer;
52 | }
53 | .checkbox input[type="checkbox"],
54 | .checkbox-inline input[type="checkbox"] {
55 | position: absolute;
56 | margin-top: 2px;
57 | margin-left: -20px;
58 | }
59 | .checkbox + .checkbox {
60 | margin-top: -5px;
61 | }
62 | .checkbox-inline {
63 | position: relative;
64 | display: inline-block;
65 | padding-left: 20px;
66 | margin-bottom: 0;
67 | font-weight: 400;
68 | vertical-align: middle;
69 | cursor: pointer;
70 | }
71 | .checkbox-inline + .checkbox-inline {
72 | margin-top: 0;
73 | margin-left: 10px;
74 | }
75 | }
76 |
--------------------------------------------------------------------------------
/docs/_site/site_libs/d3-4.10.2/LICENSE:
--------------------------------------------------------------------------------
1 | Copyright 2010-2017 Mike Bostock
2 | All rights reserved.
3 |
4 | Redistribution and use in source and binary forms, with or without modification,
5 | are permitted provided that the following conditions are met:
6 |
7 | * Redistributions of source code must retain the above copyright notice, this
8 | list of conditions and the following disclaimer.
9 |
10 | * Redistributions in binary form must reproduce the above copyright notice,
11 | this list of conditions and the following disclaimer in the documentation
12 | and/or other materials provided with the distribution.
13 |
14 | * Neither the name of the author nor the names of contributors may be used to
15 | endorse or promote products derived from this software without specific prior
16 | written permission.
17 |
18 | THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND
19 | ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
20 | WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
21 | DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR
22 | ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES
23 | (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;
24 | LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON
25 | ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
26 | (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
27 | SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
28 |
--------------------------------------------------------------------------------
/docs/_site/site_libs/datatables-css-0.0.0/datatables-crosstalk.css:
--------------------------------------------------------------------------------
1 | .dt-crosstalk-fade {
2 | opacity: 0.2;
3 | }
4 |
5 | html body div.DTS div.dataTables_scrollBody {
6 | background: none;
7 | }
8 |
9 |
10 | /*
11 | Fix https://github.com/rstudio/DT/issues/563
12 | If the `table.display` is set to "block" (e.g., pkgdown), the browser will display
13 | datatable objects strangely. The search panel and the page buttons will still be
14 | in full-width but the table body will be "compact" and shorter.
15 | In therory, having this attributes will affect `dom="t"`
16 | with `display: block` users. But in reality, there should be no one.
17 | We may remove the below lines in the future if the upstream agree to have this there.
18 | See https://github.com/DataTables/DataTablesSrc/issues/160
19 | */
20 |
21 | table.dataTable {
22 | display: table;
23 | }
24 |
--------------------------------------------------------------------------------
/docs/_site/site_libs/dt-core-1.12.1/css/jquery.dataTables.extra.css:
--------------------------------------------------------------------------------
1 | /* Selected rows/cells */
2 | table.dataTable tr.selected td, table.dataTable td.selected {
3 | background-color: #b0bed9 !important;
4 | }
5 | /* In case of scrollX/Y or FixedHeader */
6 | .dataTables_scrollBody .dataTables_sizing {
7 | visibility: hidden;
8 | }
9 |
10 | /* The datatables' theme CSS file doesn't define
11 | the color but with white background. It leads to an issue that
12 | when the HTML's body color is set to 'white', the user can't
13 | see the text since the background is white. One case happens in the
14 | RStudio's IDE when inline viewing the DT table inside an Rmd file,
15 | if the IDE theme is set to "Cobalt".
16 |
17 | See https://github.com/rstudio/DT/issues/447 for more info
18 |
19 | This fixes should have little side-effects because all the other elements
20 | of the default theme use the #333 font color.
21 |
22 | TODO: The upstream may use relative colors for both the table background
23 | and the color. It means the table can display well without this patch
24 | then. At that time, we need to remove the below CSS attributes.
25 | */
26 | div.datatables {
27 | color: #333;
28 | }
29 |
--------------------------------------------------------------------------------
/docs/_site/site_libs/dt-ext-buttons-1.12.1/js/buttons.colVis.min.js:
--------------------------------------------------------------------------------
1 | /*!
2 | Column visibility buttons for Buttons and DataTables.
3 | 2016 SpryMedia Ltd - datatables.net/license
4 | */
5 | (function(h){"function"===typeof define&&define.amd?define(["jquery","datatables.net","datatables.net-buttons"],function(e){return h(e,window,document)}):"object"===typeof exports?module.exports=function(e,g){e||(e=window);g&&g.fn.dataTable||(g=require("datatables.net")(e,g).$);g.fn.dataTable.Buttons||require("datatables.net-buttons")(e,g);return h(g,e,e.document)}:h(jQuery,window,document)})(function(h,e,g,l){e=h.fn.dataTable;h.extend(e.ext.buttons,{colvis:function(b,a){var c=null,d={extend:"collection",
6 | init:function(f,k){c=k},text:function(f){return f.i18n("buttons.colvis","Column visibility")},className:"buttons-colvis",closeButton:!1,buttons:[{extend:"columnsToggle",columns:a.columns,columnText:a.columnText}]};b.on("column-reorder.dt"+a.namespace,function(f,k,m){b.button(null,b.button(null,c).node()).collectionRebuild([{extend:"columnsToggle",columns:a.columns,columnText:a.columnText}])});return d},columnsToggle:function(b,a){return b.columns(a.columns).indexes().map(function(c){return{extend:"columnToggle",
7 | columns:c,columnText:a.columnText}}).toArray()},columnToggle:function(b,a){return{extend:"columnVisibility",columns:a.columns,columnText:a.columnText}},columnsVisibility:function(b,a){return b.columns(a.columns).indexes().map(function(c){return{extend:"columnVisibility",columns:c,visibility:a.visibility,columnText:a.columnText}}).toArray()},columnVisibility:{columns:l,text:function(b,a,c){return c._columnText(b,c)},className:"buttons-columnVisibility",action:function(b,a,c,d){b=a.columns(d.columns);
8 | a=b.visible();b.visible(d.visibility!==l?d.visibility:!(a.length&&a[0]))},init:function(b,a,c){var d=this;a.attr("data-cv-idx",c.columns);b.on("column-visibility.dt"+c.namespace,function(f,k){k.bDestroying||k.nTable!=b.settings()[0].nTable||d.active(b.column(c.columns).visible())}).on("column-reorder.dt"+c.namespace,function(f,k,m){c.destroying||1!==b.columns(c.columns).count()||(d.text(c._columnText(b,c)),d.active(b.column(c.columns).visible()))});this.active(b.column(c.columns).visible())},destroy:function(b,
9 | a,c){b.off("column-visibility.dt"+c.namespace).off("column-reorder.dt"+c.namespace)},_columnText:function(b,a){var c=b.column(a.columns).index(),d=b.settings()[0].aoColumns[c].sTitle;d||(d=b.column(c).header().innerHTML);d=d.replace(/\n/g," ").replace(/ /gi," ").replace(//g,"").replace(//g,"").replace(/<.*?>/g,"").replace(/^\s+|\s+$/g,"");return a.columnText?a.columnText(b,c,d):d}},colvisRestore:{className:"buttons-colvisRestore",text:function(b){return b.i18n("buttons.colvisRestore",
10 | "Restore visibility")},init:function(b,a,c){c._visOriginal=b.columns().indexes().map(function(d){return b.column(d).visible()}).toArray()},action:function(b,a,c,d){a.columns().every(function(f){f=a.colReorder&&a.colReorder.transpose?a.colReorder.transpose(f,"toOriginal"):f;this.visible(d._visOriginal[f])})}},colvisGroup:{className:"buttons-colvisGroup",action:function(b,a,c,d){a.columns(d.show).visible(!0,!1);a.columns(d.hide).visible(!1,!1);a.columns.adjust()},show:[],hide:[]}});return e.Buttons});
11 |
--------------------------------------------------------------------------------
/docs/_site/site_libs/dt-ext-buttons-1.12.1/js/buttons.print.min.js:
--------------------------------------------------------------------------------
1 | /*!
2 | Print button for Buttons and DataTables.
3 | 2016 SpryMedia Ltd - datatables.net/license
4 | */
5 | (function(b){"function"===typeof define&&define.amd?define(["jquery","datatables.net","datatables.net-buttons"],function(d){return b(d,window,document)}):"object"===typeof exports?module.exports=function(d,h){d||(d=window);h&&h.fn.dataTable||(h=require("datatables.net")(d,h).$);h.fn.dataTable.Buttons||require("datatables.net-buttons")(d,h);return b(h,d,d.document)}:b(jQuery,window,document)})(function(b,d,h,y){var u=b.fn.dataTable,n=h.createElement("a"),v=function(a){n.href=a;a=n.host;-1===a.indexOf("/")&&
6 | 0!==n.pathname.indexOf("/")&&(a+="/");return n.protocol+"//"+a+n.pathname+n.search};u.ext.buttons.print={className:"buttons-print",text:function(a){return a.i18n("buttons.print","Print")},action:function(a,e,p,k){a=e.buttons.exportData(b.extend({decodeEntities:!1},k.exportOptions));p=e.buttons.exportInfo(k);var w=e.columns(k.exportOptions.columns).flatten().map(function(f){return e.settings()[0].aoColumns[e.column(f).index()].sClass}).toArray(),r=function(f,g){for(var x="",l=0,z=f.length;l"+(null===f[l]||f[l]===y?"":f[l])+""+g+">";return x+" "},m='";var c=d.open("","");if(c){c.document.close();var q=""+p.title+" ";b("style, link").each(function(){var f=q,g=b(this).clone()[0];
8 | "link"===g.nodeName.toLowerCase()&&(g.href=v(g.href));q=f+g.outerHTML});try{c.document.head.innerHTML=q}catch(f){b(c.document.head).html(q)}c.document.body.innerHTML=""+p.title+" "+(p.messageTop||"")+"
"+m+""+(p.messageBottom||"")+"
";b(c.document.body).addClass("dt-print-view");b("img",c.document.body).each(function(f,g){g.setAttribute("src",v(g.getAttribute("src")))});k.customize&&k.customize(c,k,e);a=function(){k.autoPrint&&(c.print(),c.close())};navigator.userAgent.match(/Trident\/\d.\d/)?
9 | a():c.setTimeout(a,1E3)}else e.buttons.info(e.i18n("buttons.printErrorTitle","Unable to open print view"),e.i18n("buttons.printErrorMsg","Please allow popups in your browser for this site to be able to view the print view."),5E3)},title:"*",messageTop:"*",messageBottom:"*",exportOptions:{},header:!0,footer:!1,autoPrint:!0,customize:null};return u.Buttons});
10 |
--------------------------------------------------------------------------------
/docs/_site/site_libs/dygraphs-1.1.1/dygraph.css:
--------------------------------------------------------------------------------
1 |
2 | div .dygraphs input[type="text"] {
3 | width: 25px;
4 | }
5 |
6 | div .qt .dygraph-axis-label {
7 | font-size: 11px;
8 | }
--------------------------------------------------------------------------------
/docs/_site/site_libs/fontawesome-4.7.0/fonts/FontAwesome.otf:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/nhsengland/nhs-r-reporting/ad8dda5b6be6dbcb5768d6a16760d5c641f2f6f9/docs/_site/site_libs/fontawesome-4.7.0/fonts/FontAwesome.otf
--------------------------------------------------------------------------------
/docs/_site/site_libs/fontawesome-4.7.0/fonts/fontawesome-webfont.eot:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/nhsengland/nhs-r-reporting/ad8dda5b6be6dbcb5768d6a16760d5c641f2f6f9/docs/_site/site_libs/fontawesome-4.7.0/fonts/fontawesome-webfont.eot
--------------------------------------------------------------------------------
/docs/_site/site_libs/fontawesome-4.7.0/fonts/fontawesome-webfont.ttf:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/nhsengland/nhs-r-reporting/ad8dda5b6be6dbcb5768d6a16760d5c641f2f6f9/docs/_site/site_libs/fontawesome-4.7.0/fonts/fontawesome-webfont.ttf
--------------------------------------------------------------------------------
/docs/_site/site_libs/fontawesome-4.7.0/fonts/fontawesome-webfont.woff:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/nhsengland/nhs-r-reporting/ad8dda5b6be6dbcb5768d6a16760d5c641f2f6f9/docs/_site/site_libs/fontawesome-4.7.0/fonts/fontawesome-webfont.woff
--------------------------------------------------------------------------------
/docs/_site/site_libs/fontawesome-4.7.0/fonts/glyphicons-halflings-regular.eot:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/nhsengland/nhs-r-reporting/ad8dda5b6be6dbcb5768d6a16760d5c641f2f6f9/docs/_site/site_libs/fontawesome-4.7.0/fonts/glyphicons-halflings-regular.eot
--------------------------------------------------------------------------------
/docs/_site/site_libs/fontawesome-4.7.0/fonts/glyphicons-halflings-regular.ttf:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/nhsengland/nhs-r-reporting/ad8dda5b6be6dbcb5768d6a16760d5c641f2f6f9/docs/_site/site_libs/fontawesome-4.7.0/fonts/glyphicons-halflings-regular.ttf
--------------------------------------------------------------------------------
/docs/_site/site_libs/fontawesome-4.7.0/fonts/glyphicons-halflings-regular.woff:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/nhsengland/nhs-r-reporting/ad8dda5b6be6dbcb5768d6a16760d5c641f2f6f9/docs/_site/site_libs/fontawesome-4.7.0/fonts/glyphicons-halflings-regular.woff
--------------------------------------------------------------------------------
/docs/_site/site_libs/fontawesome-4.7.0/fonts/ionicons.eot:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/nhsengland/nhs-r-reporting/ad8dda5b6be6dbcb5768d6a16760d5c641f2f6f9/docs/_site/site_libs/fontawesome-4.7.0/fonts/ionicons.eot
--------------------------------------------------------------------------------
/docs/_site/site_libs/fontawesome-4.7.0/fonts/ionicons.ttf:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/nhsengland/nhs-r-reporting/ad8dda5b6be6dbcb5768d6a16760d5c641f2f6f9/docs/_site/site_libs/fontawesome-4.7.0/fonts/ionicons.ttf
--------------------------------------------------------------------------------
/docs/_site/site_libs/fontawesome-4.7.0/fonts/ionicons.woff:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/nhsengland/nhs-r-reporting/ad8dda5b6be6dbcb5768d6a16760d5c641f2f6f9/docs/_site/site_libs/fontawesome-4.7.0/fonts/ionicons.woff
--------------------------------------------------------------------------------
/docs/_site/site_libs/fontawesome-4.7.0/images/markers-matte.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/nhsengland/nhs-r-reporting/ad8dda5b6be6dbcb5768d6a16760d5c641f2f6f9/docs/_site/site_libs/fontawesome-4.7.0/images/markers-matte.png
--------------------------------------------------------------------------------
/docs/_site/site_libs/fontawesome-4.7.0/images/markers-matte@2x.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/nhsengland/nhs-r-reporting/ad8dda5b6be6dbcb5768d6a16760d5c641f2f6f9/docs/_site/site_libs/fontawesome-4.7.0/images/markers-matte@2x.png
--------------------------------------------------------------------------------
/docs/_site/site_libs/fontawesome-4.7.0/images/markers-plain.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/nhsengland/nhs-r-reporting/ad8dda5b6be6dbcb5768d6a16760d5c641f2f6f9/docs/_site/site_libs/fontawesome-4.7.0/images/markers-plain.png
--------------------------------------------------------------------------------
/docs/_site/site_libs/fontawesome-4.7.0/images/markers-shadow.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/nhsengland/nhs-r-reporting/ad8dda5b6be6dbcb5768d6a16760d5c641f2f6f9/docs/_site/site_libs/fontawesome-4.7.0/images/markers-shadow.png
--------------------------------------------------------------------------------
/docs/_site/site_libs/fontawesome-4.7.0/images/markers-shadow@2x.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/nhsengland/nhs-r-reporting/ad8dda5b6be6dbcb5768d6a16760d5c641f2f6f9/docs/_site/site_libs/fontawesome-4.7.0/images/markers-shadow@2x.png
--------------------------------------------------------------------------------
/docs/_site/site_libs/fontawesome-4.7.0/images/markers-soft.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/nhsengland/nhs-r-reporting/ad8dda5b6be6dbcb5768d6a16760d5c641f2f6f9/docs/_site/site_libs/fontawesome-4.7.0/images/markers-soft.png
--------------------------------------------------------------------------------
/docs/_site/site_libs/fontawesome-4.7.0/images/markers-soft@2x.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/nhsengland/nhs-r-reporting/ad8dda5b6be6dbcb5768d6a16760d5c641f2f6f9/docs/_site/site_libs/fontawesome-4.7.0/images/markers-soft@2x.png
--------------------------------------------------------------------------------
/docs/_site/site_libs/fontawesome-4.7.0/leaflet.awesome-markers.css:
--------------------------------------------------------------------------------
1 | /*
2 | Author: L. Voogdt
3 | License: MIT
4 | Version: 1.0
5 | */
6 |
7 | /* Marker setup */
8 | .awesome-marker {
9 | background: url('images/markers-soft.png') no-repeat 0 0;
10 | width: 35px;
11 | height: 46px;
12 | position:absolute;
13 | left:0;
14 | top:0;
15 | display: block;
16 | text-align: center;
17 | }
18 |
19 | .awesome-marker-shadow {
20 | background: url('images/markers-shadow.png') no-repeat 0 0;
21 | width: 36px;
22 | height: 16px;
23 | }
24 |
25 | /* Retina displays */
26 | @media (min--moz-device-pixel-ratio: 1.5),(-o-min-device-pixel-ratio: 3/2),
27 | (-webkit-min-device-pixel-ratio: 1.5),(min-device-pixel-ratio: 1.5),(min-resolution: 1.5dppx) {
28 | .awesome-marker {
29 | background-image: url('images/markers-soft@2x.png');
30 | background-size: 720px 92px;
31 | }
32 | .awesome-marker-shadow {
33 | background-image: url('images/markers-shadow@2x.png');
34 | background-size: 35px 16px;
35 | }
36 | }
37 |
38 | .awesome-marker i {
39 | color: #333;
40 | margin-top: 10px;
41 | display: inline-block;
42 | font-size: 14px;
43 | }
44 |
45 | .awesome-marker .icon-white {
46 | color: #fff;
47 | }
48 |
49 | /* Colors */
50 | .awesome-marker-icon-red {
51 | background-position: 0 0;
52 | }
53 |
54 | .awesome-marker-icon-darkred {
55 | background-position: -180px 0;
56 | }
57 |
58 | .awesome-marker-icon-lightred {
59 | background-position: -360px 0;
60 | }
61 |
62 | .awesome-marker-icon-orange {
63 | background-position: -36px 0;
64 | }
65 |
66 | .awesome-marker-icon-beige {
67 | background-position: -396px 0;
68 | }
69 |
70 | .awesome-marker-icon-green {
71 | background-position: -72px 0;
72 | }
73 |
74 | .awesome-marker-icon-darkgreen {
75 | background-position: -252px 0;
76 | }
77 |
78 | .awesome-marker-icon-lightgreen {
79 | background-position: -432px 0;
80 | }
81 |
82 | .awesome-marker-icon-blue {
83 | background-position: -108px 0;
84 | }
85 |
86 | .awesome-marker-icon-darkblue {
87 | background-position: -216px 0;
88 | }
89 |
90 | .awesome-marker-icon-lightblue {
91 | background-position: -468px 0;
92 | }
93 |
94 | .awesome-marker-icon-purple {
95 | background-position: -144px 0;
96 | }
97 |
98 | .awesome-marker-icon-darkpurple {
99 | background-position: -288px 0;
100 | }
101 |
102 | .awesome-marker-icon-pink {
103 | background-position: -504px 0;
104 | }
105 |
106 | .awesome-marker-icon-cadetblue {
107 | background-position: -324px 0;
108 | }
109 |
110 | .awesome-marker-icon-white {
111 | background-position: -576px 0;
112 | }
113 |
114 | .awesome-marker-icon-gray {
115 | background-position: -648px 0;
116 | }
117 |
118 | .awesome-marker-icon-lightgray {
119 | background-position: -612px 0;
120 | }
121 |
122 | .awesome-marker-icon-black {
123 | background-position: -682px 0;
124 | }
125 |
126 | .awesome-marker-square {
127 | background-position-y: -46px;
128 | }
129 |
--------------------------------------------------------------------------------
/docs/_site/site_libs/fontawesome-4.7.0/leaflet.awesome-markers.min.js:
--------------------------------------------------------------------------------
1 | (function(window,document,undefined){"use strict";L.AwesomeMarkers={};L.AwesomeMarkers.version="2.0.1";L.AwesomeMarkers.Icon=L.Icon.extend({options:{iconSize:[35,45],iconAnchor:[17,42],popupAnchor:[1,-32],shadowAnchor:[10,12],shadowSize:[36,16],className:"awesome-marker",prefix:"glyphicon",spinClass:"fa-spin",extraClasses:"",icon:"home",markerColor:"blue",iconColor:"white",iconRotate:0,font:"monospace"},initialize:function(options){options=L.Util.setOptions(this,options)},createIcon:function(){var div=document.createElement("div"),options=this.options;if(options.icon){div.innerHTML=this._createInner()}if(options.bgPos){div.style.backgroundPosition=-options.bgPos.x+"px "+-options.bgPos.y+"px"}this._setIconStyles(div,"icon-"+options.markerColor);return div},_createInner:function(){var iconClass,iconSpinClass="",iconColorClass="",iconColorStyle="",options=this.options;if(!options.prefix||options.icon.slice(0,options.prefix.length+1)===options.prefix+"-"){iconClass=options.icon}else{iconClass=options.prefix+"-"+options.icon}if(options.spin&&typeof options.spinClass==="string"){iconSpinClass=options.spinClass}if(options.iconColor){if((options.iconColor==="white"||options.iconColor==="black")&&options.prefix!=="fa"){iconColorClass="icon-"+options.iconColor}else if(options.prefix==="fa"&&options.iconColor==="white"){iconColorClass="fa-inverse"}else{iconColorStyle="color: "+options.iconColor+";"}}if(options.font&&options.text){iconColorStyle+="font-family: "+options.font+";"}if(options.iconRotate&&options.iconRotate!==0){iconColorStyle+="-webkit-transform: rotate("+options.iconRotate+"deg);";iconColorStyle+="-moz-transform: rotate("+options.iconRotate+"deg);";iconColorStyle+="-o-transform: rotate("+options.iconRotate+"deg);";iconColorStyle+="-ms-transform: rotate("+options.iconRotate+"deg);";iconColorStyle+="transform: rotate("+options.iconRotate+"deg);"}if(options.text){return""}return""},_setIconStyles:function(img,name){var options=this.options,size=L.point(options[name==="shadow"?"shadowSize":"iconSize"]),anchor;if(name==="shadow"){anchor=L.point(options.shadowAnchor||options.iconAnchor)}else{anchor=L.point(options.iconAnchor)}if(!anchor&&size){anchor=size.divideBy(2,true)}img.className="awesome-marker-"+name+" "+options.className;if(anchor){img.style.marginLeft=-anchor.x+"px";img.style.marginTop=-anchor.y+"px"}if(size){img.style.width=size.x+"px";img.style.height=size.y+"px"}},createShadow:function(){var div=document.createElement("div");this._setIconStyles(div,"shadow");return div}});L.AwesomeMarkers.icon=function(options){return new L.AwesomeMarkers.Icon(options)}})(this,document);
2 |
--------------------------------------------------------------------------------
/docs/_site/site_libs/kePrint-0.0.1/kePrint.js:
--------------------------------------------------------------------------------
1 | $(document).ready(function(){
2 | if (typeof $('[data-toggle="tooltip"]').tooltip === 'function') {
3 | $('[data-toggle="tooltip"]').tooltip();
4 | }
5 | if ($('[data-toggle="popover"]').popover === 'function') {
6 | $('[data-toggle="popover"]').popover();
7 | }
8 | });
9 |
--------------------------------------------------------------------------------
/docs/_site/site_libs/leaflet-1.3.1/images/layers-2x.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/nhsengland/nhs-r-reporting/ad8dda5b6be6dbcb5768d6a16760d5c641f2f6f9/docs/_site/site_libs/leaflet-1.3.1/images/layers-2x.png
--------------------------------------------------------------------------------
/docs/_site/site_libs/leaflet-1.3.1/images/layers.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/nhsengland/nhs-r-reporting/ad8dda5b6be6dbcb5768d6a16760d5c641f2f6f9/docs/_site/site_libs/leaflet-1.3.1/images/layers.png
--------------------------------------------------------------------------------
/docs/_site/site_libs/leaflet-1.3.1/images/marker-icon-2x.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/nhsengland/nhs-r-reporting/ad8dda5b6be6dbcb5768d6a16760d5c641f2f6f9/docs/_site/site_libs/leaflet-1.3.1/images/marker-icon-2x.png
--------------------------------------------------------------------------------
/docs/_site/site_libs/leaflet-1.3.1/images/marker-icon.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/nhsengland/nhs-r-reporting/ad8dda5b6be6dbcb5768d6a16760d5c641f2f6f9/docs/_site/site_libs/leaflet-1.3.1/images/marker-icon.png
--------------------------------------------------------------------------------
/docs/_site/site_libs/leaflet-1.3.1/images/marker-shadow.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/nhsengland/nhs-r-reporting/ad8dda5b6be6dbcb5768d6a16760d5c641f2f6f9/docs/_site/site_libs/leaflet-1.3.1/images/marker-shadow.png
--------------------------------------------------------------------------------
/docs/_site/site_libs/leaflet-awesomemarkers-2.0.3/fonts/FontAwesome.otf:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/nhsengland/nhs-r-reporting/ad8dda5b6be6dbcb5768d6a16760d5c641f2f6f9/docs/_site/site_libs/leaflet-awesomemarkers-2.0.3/fonts/FontAwesome.otf
--------------------------------------------------------------------------------
/docs/_site/site_libs/leaflet-awesomemarkers-2.0.3/fonts/fontawesome-webfont.eot:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/nhsengland/nhs-r-reporting/ad8dda5b6be6dbcb5768d6a16760d5c641f2f6f9/docs/_site/site_libs/leaflet-awesomemarkers-2.0.3/fonts/fontawesome-webfont.eot
--------------------------------------------------------------------------------
/docs/_site/site_libs/leaflet-awesomemarkers-2.0.3/fonts/fontawesome-webfont.ttf:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/nhsengland/nhs-r-reporting/ad8dda5b6be6dbcb5768d6a16760d5c641f2f6f9/docs/_site/site_libs/leaflet-awesomemarkers-2.0.3/fonts/fontawesome-webfont.ttf
--------------------------------------------------------------------------------
/docs/_site/site_libs/leaflet-awesomemarkers-2.0.3/fonts/fontawesome-webfont.woff:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/nhsengland/nhs-r-reporting/ad8dda5b6be6dbcb5768d6a16760d5c641f2f6f9/docs/_site/site_libs/leaflet-awesomemarkers-2.0.3/fonts/fontawesome-webfont.woff
--------------------------------------------------------------------------------
/docs/_site/site_libs/leaflet-awesomemarkers-2.0.3/fonts/glyphicons-halflings-regular.eot:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/nhsengland/nhs-r-reporting/ad8dda5b6be6dbcb5768d6a16760d5c641f2f6f9/docs/_site/site_libs/leaflet-awesomemarkers-2.0.3/fonts/glyphicons-halflings-regular.eot
--------------------------------------------------------------------------------
/docs/_site/site_libs/leaflet-awesomemarkers-2.0.3/fonts/glyphicons-halflings-regular.ttf:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/nhsengland/nhs-r-reporting/ad8dda5b6be6dbcb5768d6a16760d5c641f2f6f9/docs/_site/site_libs/leaflet-awesomemarkers-2.0.3/fonts/glyphicons-halflings-regular.ttf
--------------------------------------------------------------------------------
/docs/_site/site_libs/leaflet-awesomemarkers-2.0.3/fonts/glyphicons-halflings-regular.woff:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/nhsengland/nhs-r-reporting/ad8dda5b6be6dbcb5768d6a16760d5c641f2f6f9/docs/_site/site_libs/leaflet-awesomemarkers-2.0.3/fonts/glyphicons-halflings-regular.woff
--------------------------------------------------------------------------------
/docs/_site/site_libs/leaflet-awesomemarkers-2.0.3/fonts/ionicons.eot:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/nhsengland/nhs-r-reporting/ad8dda5b6be6dbcb5768d6a16760d5c641f2f6f9/docs/_site/site_libs/leaflet-awesomemarkers-2.0.3/fonts/ionicons.eot
--------------------------------------------------------------------------------
/docs/_site/site_libs/leaflet-awesomemarkers-2.0.3/fonts/ionicons.ttf:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/nhsengland/nhs-r-reporting/ad8dda5b6be6dbcb5768d6a16760d5c641f2f6f9/docs/_site/site_libs/leaflet-awesomemarkers-2.0.3/fonts/ionicons.ttf
--------------------------------------------------------------------------------
/docs/_site/site_libs/leaflet-awesomemarkers-2.0.3/fonts/ionicons.woff:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/nhsengland/nhs-r-reporting/ad8dda5b6be6dbcb5768d6a16760d5c641f2f6f9/docs/_site/site_libs/leaflet-awesomemarkers-2.0.3/fonts/ionicons.woff
--------------------------------------------------------------------------------
/docs/_site/site_libs/leaflet-awesomemarkers-2.0.3/images/markers-matte.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/nhsengland/nhs-r-reporting/ad8dda5b6be6dbcb5768d6a16760d5c641f2f6f9/docs/_site/site_libs/leaflet-awesomemarkers-2.0.3/images/markers-matte.png
--------------------------------------------------------------------------------
/docs/_site/site_libs/leaflet-awesomemarkers-2.0.3/images/markers-matte@2x.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/nhsengland/nhs-r-reporting/ad8dda5b6be6dbcb5768d6a16760d5c641f2f6f9/docs/_site/site_libs/leaflet-awesomemarkers-2.0.3/images/markers-matte@2x.png
--------------------------------------------------------------------------------
/docs/_site/site_libs/leaflet-awesomemarkers-2.0.3/images/markers-plain.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/nhsengland/nhs-r-reporting/ad8dda5b6be6dbcb5768d6a16760d5c641f2f6f9/docs/_site/site_libs/leaflet-awesomemarkers-2.0.3/images/markers-plain.png
--------------------------------------------------------------------------------
/docs/_site/site_libs/leaflet-awesomemarkers-2.0.3/images/markers-shadow.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/nhsengland/nhs-r-reporting/ad8dda5b6be6dbcb5768d6a16760d5c641f2f6f9/docs/_site/site_libs/leaflet-awesomemarkers-2.0.3/images/markers-shadow.png
--------------------------------------------------------------------------------
/docs/_site/site_libs/leaflet-awesomemarkers-2.0.3/images/markers-shadow@2x.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/nhsengland/nhs-r-reporting/ad8dda5b6be6dbcb5768d6a16760d5c641f2f6f9/docs/_site/site_libs/leaflet-awesomemarkers-2.0.3/images/markers-shadow@2x.png
--------------------------------------------------------------------------------
/docs/_site/site_libs/leaflet-awesomemarkers-2.0.3/images/markers-soft.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/nhsengland/nhs-r-reporting/ad8dda5b6be6dbcb5768d6a16760d5c641f2f6f9/docs/_site/site_libs/leaflet-awesomemarkers-2.0.3/images/markers-soft.png
--------------------------------------------------------------------------------
/docs/_site/site_libs/leaflet-awesomemarkers-2.0.3/images/markers-soft@2x.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/nhsengland/nhs-r-reporting/ad8dda5b6be6dbcb5768d6a16760d5c641f2f6f9/docs/_site/site_libs/leaflet-awesomemarkers-2.0.3/images/markers-soft@2x.png
--------------------------------------------------------------------------------
/docs/_site/site_libs/leaflet-awesomemarkers-2.0.3/leaflet.awesome-markers.css:
--------------------------------------------------------------------------------
1 | /*
2 | Author: L. Voogdt
3 | License: MIT
4 | Version: 1.0
5 | */
6 |
7 | /* Marker setup */
8 | .awesome-marker {
9 | background: url('images/markers-soft.png') no-repeat 0 0;
10 | width: 35px;
11 | height: 46px;
12 | position:absolute;
13 | left:0;
14 | top:0;
15 | display: block;
16 | text-align: center;
17 | }
18 |
19 | .awesome-marker-shadow {
20 | background: url('images/markers-shadow.png') no-repeat 0 0;
21 | width: 36px;
22 | height: 16px;
23 | }
24 |
25 | /* Retina displays */
26 | @media (min--moz-device-pixel-ratio: 1.5),(-o-min-device-pixel-ratio: 3/2),
27 | (-webkit-min-device-pixel-ratio: 1.5),(min-device-pixel-ratio: 1.5),(min-resolution: 1.5dppx) {
28 | .awesome-marker {
29 | background-image: url('images/markers-soft@2x.png');
30 | background-size: 720px 92px;
31 | }
32 | .awesome-marker-shadow {
33 | background-image: url('images/markers-shadow@2x.png');
34 | background-size: 35px 16px;
35 | }
36 | }
37 |
38 | .awesome-marker i {
39 | color: #333;
40 | margin-top: 10px;
41 | display: inline-block;
42 | font-size: 14px;
43 | }
44 |
45 | .awesome-marker .icon-white {
46 | color: #fff;
47 | }
48 |
49 | /* Colors */
50 | .awesome-marker-icon-red {
51 | background-position: 0 0;
52 | }
53 |
54 | .awesome-marker-icon-darkred {
55 | background-position: -180px 0;
56 | }
57 |
58 | .awesome-marker-icon-lightred {
59 | background-position: -360px 0;
60 | }
61 |
62 | .awesome-marker-icon-orange {
63 | background-position: -36px 0;
64 | }
65 |
66 | .awesome-marker-icon-beige {
67 | background-position: -396px 0;
68 | }
69 |
70 | .awesome-marker-icon-green {
71 | background-position: -72px 0;
72 | }
73 |
74 | .awesome-marker-icon-darkgreen {
75 | background-position: -252px 0;
76 | }
77 |
78 | .awesome-marker-icon-lightgreen {
79 | background-position: -432px 0;
80 | }
81 |
82 | .awesome-marker-icon-blue {
83 | background-position: -108px 0;
84 | }
85 |
86 | .awesome-marker-icon-darkblue {
87 | background-position: -216px 0;
88 | }
89 |
90 | .awesome-marker-icon-lightblue {
91 | background-position: -468px 0;
92 | }
93 |
94 | .awesome-marker-icon-purple {
95 | background-position: -144px 0;
96 | }
97 |
98 | .awesome-marker-icon-darkpurple {
99 | background-position: -288px 0;
100 | }
101 |
102 | .awesome-marker-icon-pink {
103 | background-position: -504px 0;
104 | }
105 |
106 | .awesome-marker-icon-cadetblue {
107 | background-position: -324px 0;
108 | }
109 |
110 | .awesome-marker-icon-white {
111 | background-position: -576px 0;
112 | }
113 |
114 | .awesome-marker-icon-gray {
115 | background-position: -648px 0;
116 | }
117 |
118 | .awesome-marker-icon-lightgray {
119 | background-position: -612px 0;
120 | }
121 |
122 | .awesome-marker-icon-black {
123 | background-position: -682px 0;
124 | }
125 |
126 | .awesome-marker-square {
127 | background-position-y: -46px;
128 | }
129 |
--------------------------------------------------------------------------------
/docs/_site/site_libs/leaflet-awesomemarkers-2.0.3/leaflet.awesome-markers.min.js:
--------------------------------------------------------------------------------
1 | (function(window,document,undefined){"use strict";L.AwesomeMarkers={};L.AwesomeMarkers.version="2.0.1";L.AwesomeMarkers.Icon=L.Icon.extend({options:{iconSize:[35,45],iconAnchor:[17,42],popupAnchor:[1,-32],shadowAnchor:[10,12],shadowSize:[36,16],className:"awesome-marker",prefix:"glyphicon",spinClass:"fa-spin",extraClasses:"",icon:"home",markerColor:"blue",iconColor:"white",iconRotate:0,font:"monospace"},initialize:function(options){options=L.Util.setOptions(this,options)},createIcon:function(){var div=document.createElement("div"),options=this.options;if(options.icon){div.innerHTML=this._createInner()}if(options.bgPos){div.style.backgroundPosition=-options.bgPos.x+"px "+-options.bgPos.y+"px"}this._setIconStyles(div,"icon-"+options.markerColor);return div},_createInner:function(){var iconClass,iconSpinClass="",iconColorClass="",iconColorStyle="",options=this.options;if(!options.prefix||options.icon.slice(0,options.prefix.length+1)===options.prefix+"-"){iconClass=options.icon}else{iconClass=options.prefix+"-"+options.icon}if(options.spin&&typeof options.spinClass==="string"){iconSpinClass=options.spinClass}if(options.iconColor){if((options.iconColor==="white"||options.iconColor==="black")&&options.prefix!=="fa"){iconColorClass="icon-"+options.iconColor}else if(options.prefix==="fa"&&options.iconColor==="white"){iconColorClass="fa-inverse"}else{iconColorStyle="color: "+options.iconColor+";"}}if(options.font&&options.text){iconColorStyle+="font-family: "+options.font+";"}if(options.iconRotate&&options.iconRotate!==0){iconColorStyle+="-webkit-transform: rotate("+options.iconRotate+"deg);";iconColorStyle+="-moz-transform: rotate("+options.iconRotate+"deg);";iconColorStyle+="-o-transform: rotate("+options.iconRotate+"deg);";iconColorStyle+="-ms-transform: rotate("+options.iconRotate+"deg);";iconColorStyle+="transform: rotate("+options.iconRotate+"deg);"}if(options.text){return""}return""},_setIconStyles:function(img,name){var options=this.options,size=L.point(options[name==="shadow"?"shadowSize":"iconSize"]),anchor;if(name==="shadow"){anchor=L.point(options.shadowAnchor||options.iconAnchor)}else{anchor=L.point(options.iconAnchor)}if(!anchor&&size){anchor=size.divideBy(2,true)}img.className="awesome-marker-"+name+" "+options.className;if(anchor){img.style.marginLeft=-anchor.x+"px";img.style.marginTop=-anchor.y+"px"}if(size){img.style.width=size.x+"px";img.style.height=size.y+"px"}},createShadow:function(){var div=document.createElement("div");this._setIconStyles(div,"shadow");return div}});L.AwesomeMarkers.icon=function(options){return new L.AwesomeMarkers.Icon(options)}})(this,document);
2 |
--------------------------------------------------------------------------------
/docs/_site/site_libs/leaflet-providers-plugin-2.1.1/leaflet-providers-plugin.js:
--------------------------------------------------------------------------------
1 | LeafletWidget.methods.addProviderTiles = function(provider, layerId, group, options) {
2 | this.layerManager.addLayer(L.tileLayer.provider(provider, options), "tile", layerId, group);
3 | };
4 |
--------------------------------------------------------------------------------
/docs/_site/site_libs/leafletfix-1.0.0/leafletfix.css:
--------------------------------------------------------------------------------
1 | /* Work around CSS properties introduced on img by bootstrap */
2 | img.leaflet-tile {
3 | padding: 0;
4 | margin: 0;
5 | border-radius: 0;
6 | border: none;
7 | }
8 | .info {
9 | padding: 6px 8px;
10 | font: 14px/16px Arial, Helvetica, sans-serif;
11 | background: white;
12 | background: rgba(255,255,255,0.8);
13 | box-shadow: 0 0 15px rgba(0,0,0,0.2);
14 | border-radius: 5px;
15 | }
16 | .legend {
17 | line-height: 18px;
18 | color: #555;
19 | }
20 | .legend svg text {
21 | fill: #555;
22 | }
23 | .legend svg line {
24 | stroke: #555;
25 | }
26 | .legend i {
27 | width: 18px;
28 | height: 18px;
29 | margin-right: 4px;
30 | opacity: 0.7;
31 | display: inline-block;
32 | vertical-align: top;
33 | /*For IE 7*/
34 | zoom: 1;
35 | *display: inline;
36 | }
37 |
--------------------------------------------------------------------------------
/docs/_site/site_libs/moment-fquarter-1.0.0/moment-fquarter.min.js:
--------------------------------------------------------------------------------
1 | (function(){function n(n){return n.fn.fquarter=function(n){var u=this.lang()._quarter||"Q",t={},r,i=null;return n=n||4,n>1?(r=this.subtract("months",n-1),i=r.clone().add("years",1)):r=this,t.quarter=Math.ceil((r.month()+1)/3),t.year=r.year(),t.nextYear=i?i.year():i,t.toString=function(){var n=u+t.quarter+" "+t.year;return i?n+"/"+i.format("YY"):n},t},n}typeof define=="function"&&define.amd?define("moment-fquarter",["moment"],n):typeof module!="undefined"?module.exports=n(require("moment")):typeof window!="undefined"&&window.moment&&n(window.moment)}).apply(this);
--------------------------------------------------------------------------------
/docs/_site/site_libs/nouislider-7.0.10/jquery.nouislider.min.css:
--------------------------------------------------------------------------------
1 | /*! noUiSlider - 7.0.10 - 2015-03-17 17:30:22 */
2 |
3 |
4 | .noUi-target,.noUi-target *{-webkit-touch-callout:none;-webkit-user-select:none;-ms-touch-action:none;-ms-user-select:none;-moz-user-select:none;-moz-box-sizing:border-box;box-sizing:border-box}.noUi-target{position:relative;direction:ltr}.noUi-base{width:100%;height:100%;position:relative}.noUi-origin{position:absolute;right:0;top:0;left:0;bottom:0}.noUi-handle{position:relative;z-index:1}.noUi-stacking .noUi-handle{z-index:10}.noUi-state-tap .noUi-origin{-webkit-transition:left .3s,top .3s;transition:left .3s,top .3s}.noUi-state-drag *{cursor:inherit!important}.noUi-base{-webkit-transform:translate3d(0,0,0);transform:translate3d(0,0,0)}.noUi-horizontal{height:10px}.noUi-horizontal .noUi-handle{width:24px;height:18px;left:-12px;top:-6px}.noUi-vertical{width:10px}.noUi-vertical .noUi-handle{width:18px;height:24px;left:-5px;top:-12px}.noUi-background{background:#FAFAFA;box-shadow:inset 0 1px 1px #f0f0f0}.noUi-connect{background:#3FB8AF;box-shadow:inset 0 0 3px rgba(51,51,51,.45);-webkit-transition:background 450ms;transition:background 450ms}.noUi-origin{border-radius:2px}.noUi-target{border-radius:4px;border:1px solid #D3D3D3;box-shadow:inset 0 1px 1px #F0F0F0,0 3px 6px -5px #BBB}.noUi-target.noUi-connect{box-shadow:inset 0 0 3px rgba(51,51,51,.45),0 3px 6px -5px #BBB}.noUi-dragable{cursor:w-resize}.noUi-vertical .noUi-base{height:135px;}.noUi-vertical .noUi-dragable{cursor:n-resize}.noUi-handle{border:1px solid #D9D9D9;border-radius:3px;background:#FFF;cursor:default;box-shadow:inset 0 0 1px #FFF,inset 0 1px 7px #EBEBEB,0 3px 6px -3px #BBB}.noUi-active{box-shadow:inset 0 0 1px #FFF,inset 0 1px 7px #DDD,0 3px 6px -3px #BBB}.noUi-handle:after,.noUi-handle:before{content:"";display:block;position:absolute;height:9px;width:1px;background:#E8E7E6;left:9px;top:3.5px}.noUi-handle:after{left:12px}.noUi-vertical .noUi-handle:after,.noUi-vertical .noUi-handle:before{width:9px;height:1px;left:3.5px;top:9px}.noUi-vertical .noUi-handle:after{top:12px}[disabled] .noUi-connect,[disabled].noUi-connect{background:#B8B8B8}[disabled] .noUi-handle{cursor:not-allowed}
5 |
--------------------------------------------------------------------------------
/docs/_site/site_libs/plotly-htmlwidgets-css-2.11.1/plotly-htmlwidgets.css:
--------------------------------------------------------------------------------
1 | /*
2 | just here so that plotly works
3 | correctly with ioslides.
4 | see https://github.com/ropensci/plotly/issues/463
5 | */
6 |
7 | slide:not(.current) .plotly.html-widget{
8 | display: none;
9 | }
10 |
--------------------------------------------------------------------------------
/docs/_site/site_libs/quarto-diagram/mermaid.css:
--------------------------------------------------------------------------------
1 | .mermaidTooltip {
2 | position: absolute;
3 | text-align: center;
4 | max-width: 200px;
5 | padding: 2px;
6 | font-family: "trebuchet ms", verdana, arial;
7 | font-size: 12px;
8 | background: #ffffde;
9 | border: 1px solid #aaaa33;
10 | border-radius: 2px;
11 | pointer-events: none;
12 | z-index: 1000;
13 | }
14 |
--------------------------------------------------------------------------------
/docs/_site/site_libs/quarto-html/quarto-syntax-highlighting.css:
--------------------------------------------------------------------------------
1 | /* quarto syntax highlight colors */
2 | :root {
3 | --quarto-hl-ot-color: #003B4F;
4 | --quarto-hl-at-color: #657422;
5 | --quarto-hl-ss-color: #20794D;
6 | --quarto-hl-an-color: #5E5E5E;
7 | --quarto-hl-fu-color: #4758AB;
8 | --quarto-hl-st-color: #20794D;
9 | --quarto-hl-cf-color: #003B4F;
10 | --quarto-hl-op-color: #5E5E5E;
11 | --quarto-hl-er-color: #AD0000;
12 | --quarto-hl-bn-color: #AD0000;
13 | --quarto-hl-al-color: #AD0000;
14 | --quarto-hl-va-color: #111111;
15 | --quarto-hl-bu-color: inherit;
16 | --quarto-hl-ex-color: inherit;
17 | --quarto-hl-pp-color: #AD0000;
18 | --quarto-hl-in-color: #5E5E5E;
19 | --quarto-hl-vs-color: #20794D;
20 | --quarto-hl-wa-color: #5E5E5E;
21 | --quarto-hl-do-color: #5E5E5E;
22 | --quarto-hl-im-color: #00769E;
23 | --quarto-hl-ch-color: #20794D;
24 | --quarto-hl-dt-color: #AD0000;
25 | --quarto-hl-fl-color: #AD0000;
26 | --quarto-hl-co-color: #5E5E5E;
27 | --quarto-hl-cv-color: #5E5E5E;
28 | --quarto-hl-cn-color: #8f5902;
29 | --quarto-hl-sc-color: #5E5E5E;
30 | --quarto-hl-dv-color: #AD0000;
31 | --quarto-hl-kw-color: #003B4F;
32 | }
33 |
34 | /* other quarto variables */
35 | :root {
36 | --quarto-font-monospace: SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", "Courier New", monospace;
37 | }
38 |
39 | pre > code.sourceCode > span {
40 | color: #003B4F;
41 | }
42 |
43 | code span {
44 | color: #003B4F;
45 | }
46 |
47 | code.sourceCode > span {
48 | color: #003B4F;
49 | }
50 |
51 | div.sourceCode,
52 | div.sourceCode pre.sourceCode {
53 | color: #003B4F;
54 | }
55 |
56 | code span.ot {
57 | color: #003B4F;
58 | }
59 |
60 | code span.at {
61 | color: #657422;
62 | }
63 |
64 | code span.ss {
65 | color: #20794D;
66 | }
67 |
68 | code span.an {
69 | color: #5E5E5E;
70 | }
71 |
72 | code span.fu {
73 | color: #4758AB;
74 | }
75 |
76 | code span.st {
77 | color: #20794D;
78 | }
79 |
80 | code span.cf {
81 | color: #003B4F;
82 | }
83 |
84 | code span.op {
85 | color: #5E5E5E;
86 | }
87 |
88 | code span.er {
89 | color: #AD0000;
90 | }
91 |
92 | code span.bn {
93 | color: #AD0000;
94 | }
95 |
96 | code span.al {
97 | color: #AD0000;
98 | }
99 |
100 | code span.va {
101 | color: #111111;
102 | }
103 |
104 | code span.pp {
105 | color: #AD0000;
106 | }
107 |
108 | code span.in {
109 | color: #5E5E5E;
110 | }
111 |
112 | code span.vs {
113 | color: #20794D;
114 | }
115 |
116 | code span.wa {
117 | color: #5E5E5E;
118 | font-style: italic;
119 | }
120 |
121 | code span.do {
122 | color: #5E5E5E;
123 | font-style: italic;
124 | }
125 |
126 | code span.im {
127 | color: #00769E;
128 | }
129 |
130 | code span.ch {
131 | color: #20794D;
132 | }
133 |
134 | code span.dt {
135 | color: #AD0000;
136 | }
137 |
138 | code span.fl {
139 | color: #AD0000;
140 | }
141 |
142 | code span.co {
143 | color: #5E5E5E;
144 | }
145 |
146 | code span.cv {
147 | color: #5E5E5E;
148 | font-style: italic;
149 | }
150 |
151 | code span.cn {
152 | color: #8f5902;
153 | }
154 |
155 | code span.sc {
156 | color: #5E5E5E;
157 | }
158 |
159 | code span.dv {
160 | color: #AD0000;
161 | }
162 |
163 | code span.kw {
164 | color: #003B4F;
165 | }
166 |
167 | .prevent-inlining {
168 | content: "";
169 | }
170 |
171 | /*# sourceMappingURL=debc5d5d77c3f9108843748ff7464032.css.map */
172 |
--------------------------------------------------------------------------------
/docs/_site/site_libs/quarto-html/tippy.css:
--------------------------------------------------------------------------------
1 | .tippy-box[data-animation=fade][data-state=hidden]{opacity:0}[data-tippy-root]{max-width:calc(100vw - 10px)}.tippy-box{position:relative;background-color:#333;color:#fff;border-radius:4px;font-size:14px;line-height:1.4;white-space:normal;outline:0;transition-property:transform,visibility,opacity}.tippy-box[data-placement^=top]>.tippy-arrow{bottom:0}.tippy-box[data-placement^=top]>.tippy-arrow:before{bottom:-7px;left:0;border-width:8px 8px 0;border-top-color:initial;transform-origin:center top}.tippy-box[data-placement^=bottom]>.tippy-arrow{top:0}.tippy-box[data-placement^=bottom]>.tippy-arrow:before{top:-7px;left:0;border-width:0 8px 8px;border-bottom-color:initial;transform-origin:center bottom}.tippy-box[data-placement^=left]>.tippy-arrow{right:0}.tippy-box[data-placement^=left]>.tippy-arrow:before{border-width:8px 0 8px 8px;border-left-color:initial;right:-7px;transform-origin:center left}.tippy-box[data-placement^=right]>.tippy-arrow{left:0}.tippy-box[data-placement^=right]>.tippy-arrow:before{left:-7px;border-width:8px 8px 8px 0;border-right-color:initial;transform-origin:center right}.tippy-box[data-inertia][data-state=visible]{transition-timing-function:cubic-bezier(.54,1.5,.38,1.11)}.tippy-arrow{width:16px;height:16px;color:#333}.tippy-arrow:before{content:"";position:absolute;border-color:transparent;border-style:solid}.tippy-content{position:relative;padding:5px 9px;z-index:1}
--------------------------------------------------------------------------------
/docs/_site/site_libs/react-17.0.0/LICENSE.txt:
--------------------------------------------------------------------------------
1 | MIT License
2 |
3 | Copyright (c) 2013-present, Facebook, Inc.
4 |
5 | Permission is hereby granted, free of charge, to any person obtaining a copy
6 | of this software and associated documentation files (the "Software"), to deal
7 | in the Software without restriction, including without limitation the rights
8 | to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
9 | copies of the Software, and to permit persons to whom the Software is
10 | furnished to do so, subject to the following conditions:
11 |
12 | The above copyright notice and this permission notice shall be included in all
13 | copies or substantial portions of the Software.
14 |
15 | THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
16 | IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
17 | FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
18 | AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
19 | LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
20 | OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
21 | SOFTWARE.
22 |
--------------------------------------------------------------------------------
/docs/_site/site_libs/reactable-0.4.3/reactable.server.js.LICENSE.txt:
--------------------------------------------------------------------------------
1 | /*
2 | object-assign
3 | (c) Sindre Sorhus
4 | @license MIT
5 | */
6 |
7 | /*!
8 | * The buffer module from node.js, for the browser.
9 | *
10 | * @author Feross Aboukhadijeh
11 | * @license MIT
12 | */
13 |
14 | /*! ieee754. BSD-3-Clause License. Feross Aboukhadijeh */
15 |
16 | /*! safe-buffer. MIT License. Feross Aboukhadijeh */
17 |
18 | /** @license React v0.20.2
19 | * scheduler.production.min.js
20 | *
21 | * Copyright (c) Facebook, Inc. and its affiliates.
22 | *
23 | * This source code is licensed under the MIT license found in the
24 | * LICENSE file in the root directory of this source tree.
25 | */
26 |
27 | /** @license React v17.0.2
28 | * react-dom-server.node.production.min.js
29 | *
30 | * Copyright (c) Facebook, Inc. and its affiliates.
31 | *
32 | * This source code is licensed under the MIT license found in the
33 | * LICENSE file in the root directory of this source tree.
34 | */
35 |
36 | /** @license React v17.0.2
37 | * react-dom.production.min.js
38 | *
39 | * Copyright (c) Facebook, Inc. and its affiliates.
40 | *
41 | * This source code is licensed under the MIT license found in the
42 | * LICENSE file in the root directory of this source tree.
43 | */
44 |
45 | /** @license React v17.0.2
46 | * react.production.min.js
47 | *
48 | * Copyright (c) Facebook, Inc. and its affiliates.
49 | *
50 | * This source code is licensed under the MIT license found in the
51 | * LICENSE file in the root directory of this source tree.
52 | */
53 |
--------------------------------------------------------------------------------
/docs/_site/site_libs/reactable-0.4.3/reactable.yaml:
--------------------------------------------------------------------------------
1 | dependencies:
2 | - name: reactable
3 | version: 0.4.3
4 | src: htmlwidgets
5 | stylesheet: reactable.css
6 |
--------------------------------------------------------------------------------
/docs/_site/site_libs/rstudio_leaflet-1.3.1/images/1px.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/nhsengland/nhs-r-reporting/ad8dda5b6be6dbcb5768d6a16760d5c641f2f6f9/docs/_site/site_libs/rstudio_leaflet-1.3.1/images/1px.png
--------------------------------------------------------------------------------
/docs/_site/site_libs/rstudio_leaflet-1.3.1/rstudio_leaflet.css:
--------------------------------------------------------------------------------
1 | .leaflet-tooltip.leaflet-tooltip-text-only,
2 | .leaflet-tooltip.leaflet-tooltip-text-only:before,
3 | .leaflet-tooltip.leaflet-tooltip-text-only:after {
4 | background: none;
5 | border: none;
6 | box-shadow: none;
7 | }
8 |
9 | .leaflet-tooltip.leaflet-tooltip-text-only.leaflet-tooltip-left {
10 | margin-left: 5px;
11 | }
12 |
13 | .leaflet-tooltip.leaflet-tooltip-text-only.leaflet-tooltip-right {
14 | margin-left: -5px;
15 | }
16 |
17 | .leaflet-tooltip:after {
18 | border-right: 6px solid transparent;
19 | /* right: -16px; */
20 | }
21 |
22 | .leaflet-popup-pane .leaflet-popup-tip-container {
23 | /* when the tooltip container is clicked, it is closed */
24 | pointer-events: all;
25 | /* tooltips should display the "hand" icon, just like .leaflet-interactive*/
26 | cursor: pointer;
27 | }
28 |
29 | /* have the widget be displayed in the right 'layer' */
30 | .leaflet-map-pane {
31 | z-index: auto;
32 | }
33 |
34 | /* Add missing rule from leaflet for img.
35 | This complete existing leaflet.css.
36 | Fix for https://github.com/rstudio/rmarkdown/issues/1949 */
37 | .leaflet-container .leaflet-right-pane img,
38 | .leaflet-container .leaflet-left-pane img {
39 | max-width: none !important;
40 | max-height: none !important;
41 | }
42 |
--------------------------------------------------------------------------------
/docs/_site/site_libs/wordcloud2-0.0.1/wordcloud.css:
--------------------------------------------------------------------------------
1 |
2 | #wcLabel {
3 | position: absolute;
4 | border: 2px solid #fff;
5 | box-shadow: 0 0 4px 0 #008;
6 | padding: 2px;
7 | /*margin: -4px 0 0 -4px;*/
8 | pointer-events: none; }
9 |
10 | #wcSpan {
11 | position: absolute;
12 | top: 100%;
13 | left: 0;
14 | background-color: rgba(255, 255, 255, 0.8);
15 | color: #333;
16 | margin-top: 6px;
17 | padding: 0 0.5em;
18 | border-radius: 0.5em;
19 | white-space: nowrap; }
20 |
--------------------------------------------------------------------------------
/docs/_site/site_libs/wordcloud2-binding-0.2.1/wordcloud2.js:
--------------------------------------------------------------------------------
1 | HTMLWidgets.widget({
2 |
3 | name: 'wordcloud2',
4 |
5 | type: 'output',
6 |
7 | initialize: function(el, width, height) {
8 | var newCanvas = document.createElement("canvas");
9 | newCanvas.height = height;
10 | newCanvas.width = width;
11 | newCanvas.id = "canvas";
12 |
13 | el.appendChild(newCanvas);
14 | newlabel(el);
15 | return(el.firstChild);
16 | },
17 | renderValue: function(el, x, instance) {
18 | // parse gexf data
19 | listData=[];
20 | for(var i=0; i
2 |
3 |
4 |
--------------------------------------------------------------------------------
/docs/assets/icons/icon-arrow-right-circle.svg:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
--------------------------------------------------------------------------------
/docs/assets/icons/icon-arrow-right.svg:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
--------------------------------------------------------------------------------
/docs/assets/icons/icon-chevron-left.svg:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
--------------------------------------------------------------------------------
/docs/assets/icons/icon-chevron-right.svg:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
--------------------------------------------------------------------------------
/docs/assets/icons/icon-close.svg:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
--------------------------------------------------------------------------------
/docs/assets/icons/icon-cross.svg:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
--------------------------------------------------------------------------------
/docs/assets/icons/icon-emdash-small.svg:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
--------------------------------------------------------------------------------
/docs/assets/icons/icon-emdash.svg:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
--------------------------------------------------------------------------------
/docs/assets/icons/icon-minus.svg:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
--------------------------------------------------------------------------------
/docs/assets/icons/icon-plus.svg:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
--------------------------------------------------------------------------------
/docs/assets/icons/icon-search.svg:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
--------------------------------------------------------------------------------
/docs/assets/icons/icon-tick.svg:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
--------------------------------------------------------------------------------
/docs/assets/logos/GitHub-logo.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/nhsengland/nhs-r-reporting/ad8dda5b6be6dbcb5768d6a16760d5c641f2f6f9/docs/assets/logos/GitHub-logo.png
--------------------------------------------------------------------------------
/docs/assets/logos/Making-data-count.jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/nhsengland/nhs-r-reporting/ad8dda5b6be6dbcb5768d6a16760d5c641f2f6f9/docs/assets/logos/Making-data-count.jpg
--------------------------------------------------------------------------------
/docs/assets/logos/RStudio-ball.svg:
--------------------------------------------------------------------------------
1 |
2 |
3 |
5 |
25 |
26 |
27 |
28 |
29 |
30 |
33 |
34 |
35 |
36 |
37 |
38 |
39 |
40 |
41 |
42 |
43 |
44 |
45 |
46 |
--------------------------------------------------------------------------------
/docs/assets/logos/git-rstudio.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/nhsengland/nhs-r-reporting/ad8dda5b6be6dbcb5768d6a16760d5c641f2f6f9/docs/assets/logos/git-rstudio.png
--------------------------------------------------------------------------------
/docs/assets/logos/logo-nhs-200.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/nhsengland/nhs-r-reporting/ad8dda5b6be6dbcb5768d6a16760d5c641f2f6f9/docs/assets/logos/logo-nhs-200.png
--------------------------------------------------------------------------------
/docs/assets/logos/logo-nhs-300.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/nhsengland/nhs-r-reporting/ad8dda5b6be6dbcb5768d6a16760d5c641f2f6f9/docs/assets/logos/logo-nhs-300.png
--------------------------------------------------------------------------------
/docs/assets/logos/logo-nhs-white.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/nhsengland/nhs-r-reporting/ad8dda5b6be6dbcb5768d6a16760d5c641f2f6f9/docs/assets/logos/logo-nhs-white.png
--------------------------------------------------------------------------------
/docs/assets/logos/logo-nhs.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/nhsengland/nhs-r-reporting/ad8dda5b6be6dbcb5768d6a16760d5c641f2f6f9/docs/assets/logos/logo-nhs.png
--------------------------------------------------------------------------------
/docs/assets/logos/logo-nhs.svg:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
--------------------------------------------------------------------------------
/docs/assets/logos/logo.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/nhsengland/nhs-r-reporting/ad8dda5b6be6dbcb5768d6a16760d5c641f2f6f9/docs/assets/logos/logo.png
--------------------------------------------------------------------------------
/docs/assets/logos/markdown-logo.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/nhsengland/nhs-r-reporting/ad8dda5b6be6dbcb5768d6a16760d5c641f2f6f9/docs/assets/logos/markdown-logo.png
--------------------------------------------------------------------------------
/docs/assets/logos/nhs-england-large.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/nhsengland/nhs-r-reporting/ad8dda5b6be6dbcb5768d6a16760d5c641f2f6f9/docs/assets/logos/nhs-england-large.png
--------------------------------------------------------------------------------
/docs/assets/logos/nhs-england.jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/nhsengland/nhs-r-reporting/ad8dda5b6be6dbcb5768d6a16760d5c641f2f6f9/docs/assets/logos/nhs-england.jpg
--------------------------------------------------------------------------------
/docs/assets/logos/nhsr.jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/nhsengland/nhs-r-reporting/ad8dda5b6be6dbcb5768d6a16760d5c641f2f6f9/docs/assets/logos/nhsr.jpg
--------------------------------------------------------------------------------
/docs/assets/logos/nhsr.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/nhsengland/nhs-r-reporting/ad8dda5b6be6dbcb5768d6a16760d5c641f2f6f9/docs/assets/logos/nhsr.png
--------------------------------------------------------------------------------
/docs/assets/logos/open-graph.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/nhsengland/nhs-r-reporting/ad8dda5b6be6dbcb5768d6a16760d5c641f2f6f9/docs/assets/logos/open-graph.png
--------------------------------------------------------------------------------
/docs/assets/logos/quarto-logo.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/nhsengland/nhs-r-reporting/ad8dda5b6be6dbcb5768d6a16760d5c641f2f6f9/docs/assets/logos/quarto-logo.png
--------------------------------------------------------------------------------
/docs/assets/logos/r-markdown-logo.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/nhsengland/nhs-r-reporting/ad8dda5b6be6dbcb5768d6a16760d5c641f2f6f9/docs/assets/logos/r-markdown-logo.png
--------------------------------------------------------------------------------
/docs/assets/style/js.html:
--------------------------------------------------------------------------------
1 |
--------------------------------------------------------------------------------
/docs/assets/style/theme.scss:
--------------------------------------------------------------------------------
1 | /*-- scss:defaults --*/
2 | $link-color: #39729E;
3 | $text-muted: #6a737b;
4 |
5 | /*-- scss:rules --*/
6 |
7 | .layout-example {
8 | background: $gray-500;
9 | color: $white;
10 | text-align: center;
11 | margin-bottom: 1em;
12 | font-family: $font-family-monospace;
13 | font-size: .875em;
14 | font-weight: 600;
15 | padding-top: 1em;
16 | border-radius: 3px;
17 | }
18 |
19 | .left {
20 | text-align: left;
21 | padding-left: 1em;
22 | }
23 |
24 | .right {
25 | text-align: right;
26 | padding-right: 1em;
27 | }
28 |
29 | .hello-quarto-banner h1 {
30 | margin-top: 0;
31 | margin-bottom: 0.5rem;
32 | }
33 |
34 |
--------------------------------------------------------------------------------
/docs/faq.qmd:
--------------------------------------------------------------------------------
1 | ---
2 | title: "Frequently Asked Questions"
3 | comments: false
4 | ---
--------------------------------------------------------------------------------
/docs/posts/_metadata.yml:
--------------------------------------------------------------------------------
1 | # options specified here will apply to all posts in this folder
2 |
3 | # freeze computational output
4 | # (see https://quarto.org/docs/projects/code-execution.html#freeze)
5 | freeze: true
6 |
7 | # Enable banner style title blocks
8 | title-block-banner: true
9 |
--------------------------------------------------------------------------------
/docs/posts/r-studio-git.qmd:
--------------------------------------------------------------------------------
1 | ---
2 | title: "Git in R-Studio Tutorial"
3 | author: "ChatGPT"
4 | date: "2023-01-19"
5 | categories: [Tutorial, Git, GitHub, R-Studio]
6 | image: "../assets/logos/git-rstudio.png"
7 | description: "New tutorial on using version control (Git) in R-Studio"
8 | title-block-banner: false
9 | ---
10 |
11 | [Link to the Git in R-Studio tutorial](https://nhsengland.github.io/nhs-r-reporting/tutorials/rstudio-git.html)
12 |
13 | Attention all R-Studio users! We are excited to announce a new tutorial created by Pablo Leon-Rodenas. This guide will take you through the process of creating new R-Studio projects with version control features using Git and GitHub, and linking R-Studio with a GitHub repository.
14 |
15 | By following this tutorial, you will be able to work entirely from R-Studio, applying version control to your scripts, creating new projects on GitHub, and doing all standard version control actions such as commits, pushes, and merges directly from R-Studio. This will make it easy for you to keep track of changes made to your projects and collaborate with others.
16 |
17 | Pablo Leon-Rodenas is a Data analyst working in the NHS England and has created this tutorial to help R-Studio users take advantage of the powerful features offered by Git and GitHub. If you have any questions or need further assistance, you can reach out to Pablo at [](mailto:pablo.leonrodenas@nhs.net).
18 |
19 | Don't miss out on this valuable resource, check out the tutorial today and start taking control of your R-Studio projects today!
20 |
--------------------------------------------------------------------------------
/docs/posts/r-udal.qmd:
--------------------------------------------------------------------------------
1 | ---
2 | title: "Query SQL data in UDAL using R"
3 | author: "Craig Robert Shenton"
4 | date: "2023-02-05"
5 | categories: [Tutorial, R, SQL, UDAL]
6 | image: "../assets/logos/nhs-england-large.png"
7 | description: "New tutorial on querying SQL data in UDAL using R"
8 | title-block-banner: false
9 | ---
10 |
11 | Hi all, [a new guide on how to query data in UDAL using R](https://nhsengland.github.io/nhs-r-reporting/tutorials/udal.html) has been posted in the [tutorials section](https://nhsengland.github.io/nhs-r-reporting/tutorials/).
12 |
13 | Written by Simon Wellesley-Miller from NHSE.
14 |
15 | There is also an accompanying video tutorial on our the [NHSE-R FutureNHS site](https://future.nhs.uk/NHSERcommunity/view?objectId=156575173).
--------------------------------------------------------------------------------
/docs/statement-on-tools.qmd:
--------------------------------------------------------------------------------
1 | ---
2 | title: NHSE-R Statement on Tools
3 | subtitle: "Under development"
4 | ---
5 |
6 | A key aim of the NHS England R group is to support the use of [R](https://www.r-project.org/about.html) and [R-Markdown](https://rmarkdown.rstudio.com/) analytics across the NHS England analyst community. To support this aim, we are developing guides, examples, and code-- everything an analyst needs to get started using R.
7 |
8 | This document describes the *why* of using R/R-Markdown, as a reference for managers and end-users of these products.
9 |
10 | Please [file issues](https://github.com/nhsengland/nhs-r-reporting/issues), [make pull requests](https://nhsengland.github.io/nhs-r-reporting/contribute.html), and get involved, we're happy to take contributions to this document.
11 |
12 | ## Reporting Tools
13 |
14 | The NHSE-R group endorses the use of the following tools:
15 |
16 | - [R](https://www.r-project.org/about.html)
17 | - [R-Markdown](https://rmarkdown.rstudio.com/)
18 | - [Quarto](https://quarto.org/)
19 | - [HTML format reports](https://quarto.org/docs/output-formats/html-publishing.html#standalone-html) (over PowerPoint)
20 | - [Plotly](https://plotly.com/r/) interactive charts
21 |
22 | These tools are now available on NHSE UDAL virtual machines and modern desktop laptops for all analysts.
23 |
--------------------------------------------------------------------------------
/docs/tutorials/Publish_Quarto_to_sharepoint/readme.txt:
--------------------------------------------------------------------------------
1 | This is a tutorial on hos to publish a Quarto presentation using Reveal JS to Sharepoint
2 |
3 | It contains to main files:
4 |
5 | 1. Quarto document that outputs an .html file with a detailed tutorial on how to publish quarto presentation to Sharepoint
6 |
7 | - Publish_Quarto_presentation_in_sharepoint.qmd
8 | - Publish_Quarto_presentation_in_sharepoint.html
9 |
10 | 2. A quarto presentation that has been turned into a .aspx file to be accessed as an interactive presentation from Sharepoint
11 |
12 | The output of the .qmd presentation is the .html file with the same file name.
13 | - ggplot2 themes 12 May 2023.qmd
14 | - ggplot2 themes 12 May 2023.html
15 |
--------------------------------------------------------------------------------
/docs/tutorials/R_drop_in_session_26_may_Maps_in_R/Figures_maps_slides/02 Health boundaries.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/nhsengland/nhs-r-reporting/ad8dda5b6be6dbcb5768d6a16760d5c641f2f6f9/docs/tutorials/R_drop_in_session_26_may_Maps_in_R/Figures_maps_slides/02 Health boundaries.png
--------------------------------------------------------------------------------
/docs/tutorials/R_drop_in_session_26_may_Maps_in_R/Figures_maps_slides/05 Load ccg indicators.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/nhsengland/nhs-r-reporting/ad8dda5b6be6dbcb5768d6a16760d5c641f2f6f9/docs/tutorials/R_drop_in_session_26_may_Maps_in_R/Figures_maps_slides/05 Load ccg indicators.png
--------------------------------------------------------------------------------
/docs/tutorials/R_drop_in_session_26_may_Maps_in_R/Figures_maps_slides/05 Unzip Shapefile ENG size.jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/nhsengland/nhs-r-reporting/ad8dda5b6be6dbcb5768d6a16760d5c641f2f6f9/docs/tutorials/R_drop_in_session_26_may_Maps_in_R/Figures_maps_slides/05 Unzip Shapefile ENG size.jpg
--------------------------------------------------------------------------------
/docs/tutorials/R_drop_in_session_26_may_Maps_in_R/Figures_maps_slides/05 Unzip Shapefile ENG.PNG:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/nhsengland/nhs-r-reporting/ad8dda5b6be6dbcb5768d6a16760d5c641f2f6f9/docs/tutorials/R_drop_in_session_26_may_Maps_in_R/Figures_maps_slides/05 Unzip Shapefile ENG.PNG
--------------------------------------------------------------------------------
/docs/tutorials/R_drop_in_session_26_may_Maps_in_R/Figures_maps_slides/05 Unzip Shapefile.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/nhsengland/nhs-r-reporting/ad8dda5b6be6dbcb5768d6a16760d5c641f2f6f9/docs/tutorials/R_drop_in_session_26_may_Maps_in_R/Figures_maps_slides/05 Unzip Shapefile.png
--------------------------------------------------------------------------------
/docs/tutorials/R_drop_in_session_26_may_Maps_in_R/Figures_maps_slides/06 Unzip Shapefile.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/nhsengland/nhs-r-reporting/ad8dda5b6be6dbcb5768d6a16760d5c641f2f6f9/docs/tutorials/R_drop_in_session_26_may_Maps_in_R/Figures_maps_slides/06 Unzip Shapefile.png
--------------------------------------------------------------------------------
/docs/tutorials/R_drop_in_session_26_may_Maps_in_R/Figures_maps_slides/CCG Boundaries April 2021_coral.jpeg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/nhsengland/nhs-r-reporting/ad8dda5b6be6dbcb5768d6a16760d5c641f2f6f9/docs/tutorials/R_drop_in_session_26_may_Maps_in_R/Figures_maps_slides/CCG Boundaries April 2021_coral.jpeg
--------------------------------------------------------------------------------
/docs/tutorials/R_drop_in_session_26_may_Maps_in_R/Figures_maps_slides/CCG outcomes indicator set.PNG:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/nhsengland/nhs-r-reporting/ad8dda5b6be6dbcb5768d6a16760d5c641f2f6f9/docs/tutorials/R_drop_in_session_26_may_Maps_in_R/Figures_maps_slides/CCG outcomes indicator set.PNG
--------------------------------------------------------------------------------
/docs/tutorials/R_drop_in_session_26_may_Maps_in_R/Figures_maps_slides/Figures_maps_slides.txt:
--------------------------------------------------------------------------------
1 | List of Figures included in the "maps in R 26 May 2023.qmd" Quarto presentation:
2 |
3 | 02 Health boundaries.png
4 | 05 Load ccg indicators.png
5 | 05 Unzip Shapefile ENG size.jpg
6 | 05 Unzip Shapefile ENG.PNG
7 | 05 Unzip Shapefile.png
8 | 06 Unzip Shapefile.png
9 | CCG Boundaries April 2021_coral.jpeg
10 | CCG outcomes indicator set.png
11 | Health boundaries details.png
12 | Health boundaries details02.png
13 |
--------------------------------------------------------------------------------
/docs/tutorials/R_drop_in_session_26_may_Maps_in_R/Figures_maps_slides/Health boundaries details.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/nhsengland/nhs-r-reporting/ad8dda5b6be6dbcb5768d6a16760d5c641f2f6f9/docs/tutorials/R_drop_in_session_26_may_Maps_in_R/Figures_maps_slides/Health boundaries details.png
--------------------------------------------------------------------------------
/docs/tutorials/R_drop_in_session_26_may_Maps_in_R/Figures_maps_slides/Health boundaries details02.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/nhsengland/nhs-r-reporting/ad8dda5b6be6dbcb5768d6a16760d5c641f2f6f9/docs/tutorials/R_drop_in_session_26_may_Maps_in_R/Figures_maps_slides/Health boundaries details02.png
--------------------------------------------------------------------------------
/docs/tutorials/R_drop_in_session_26_may_Maps_in_R/Maps_in_R.txt:
--------------------------------------------------------------------------------
1 | Quarto slides presented on the 26th of May 2023
2 |
3 | Topic: Creating maps in R using {ggplot2} and {osm} packages.
4 |
5 | This tutorial will cover the following steps to draw maps using R:
6 |
7 | - Get Shapefiles from
8 | - Obtain medatadata to plot maps
9 | - Load Shapefile into R using geom_sf() and coord_sf() functions
10 | - Build maps using ggplot2 framework
11 |
12 | An introduction to plotting maps in R using ggplot2 can be found on this online book:
13 | https://ggplot2-book.org/maps.html.
14 |
--------------------------------------------------------------------------------
/docs/tutorials/R_drop_in_session_26_may_Maps_in_R/data/CCG_1.17_I01968_D.xlsx:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/nhsengland/nhs-r-reporting/ad8dda5b6be6dbcb5768d6a16760d5c641f2f6f9/docs/tutorials/R_drop_in_session_26_may_Maps_in_R/data/CCG_1.17_I01968_D.xlsx
--------------------------------------------------------------------------------
/docs/tutorials/R_drop_in_session_26_may_Maps_in_R/data/Clinical_Commissioning_Groups_April_2021/CCG_APR_2021_EN_BGC.cpg:
--------------------------------------------------------------------------------
1 | UTF-8
--------------------------------------------------------------------------------
/docs/tutorials/R_drop_in_session_26_may_Maps_in_R/data/Clinical_Commissioning_Groups_April_2021/CCG_APR_2021_EN_BGC.dbf:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/nhsengland/nhs-r-reporting/ad8dda5b6be6dbcb5768d6a16760d5c641f2f6f9/docs/tutorials/R_drop_in_session_26_may_Maps_in_R/data/Clinical_Commissioning_Groups_April_2021/CCG_APR_2021_EN_BGC.dbf
--------------------------------------------------------------------------------
/docs/tutorials/R_drop_in_session_26_may_Maps_in_R/data/Clinical_Commissioning_Groups_April_2021/CCG_APR_2021_EN_BGC.prj:
--------------------------------------------------------------------------------
1 | PROJCS["British_National_Grid",GEOGCS["GCS_OSGB_1936",DATUM["D_OSGB_1936",SPHEROID["Airy_1830",6377563.396,299.3249646]],PRIMEM["Greenwich",0.0],UNIT["Degree",0.0174532925199433]],PROJECTION["Transverse_Mercator"],PARAMETER["False_Easting",400000.0],PARAMETER["False_Northing",-100000.0],PARAMETER["Central_Meridian",-2.0],PARAMETER["Scale_Factor",0.9996012717],PARAMETER["Latitude_Of_Origin",49.0],UNIT["Meter",1.0]]
--------------------------------------------------------------------------------
/docs/tutorials/R_drop_in_session_26_may_Maps_in_R/data/Clinical_Commissioning_Groups_April_2021/CCG_APR_2021_EN_BGC.shp:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/nhsengland/nhs-r-reporting/ad8dda5b6be6dbcb5768d6a16760d5c641f2f6f9/docs/tutorials/R_drop_in_session_26_may_Maps_in_R/data/Clinical_Commissioning_Groups_April_2021/CCG_APR_2021_EN_BGC.shp
--------------------------------------------------------------------------------
/docs/tutorials/R_drop_in_session_26_may_Maps_in_R/data/Clinical_Commissioning_Groups_April_2021/CCG_APR_2021_EN_BGC.shx:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/nhsengland/nhs-r-reporting/ad8dda5b6be6dbcb5768d6a16760d5c641f2f6f9/docs/tutorials/R_drop_in_session_26_may_Maps_in_R/data/Clinical_Commissioning_Groups_April_2021/CCG_APR_2021_EN_BGC.shx
--------------------------------------------------------------------------------
/docs/tutorials/R_drop_in_session_26_may_Maps_in_R/data/Clinical_Commissioning_Groups_April_2021/shapefiles_description.txt:
--------------------------------------------------------------------------------
1 | This folder includes all cartographic files and shapefiles required to plot the map in R using ggplot2
2 |
--------------------------------------------------------------------------------
/docs/tutorials/R_drop_in_session_26_may_Maps_in_R/data/shapefiles_used_for_maps.txt:
--------------------------------------------------------------------------------
1 | To create the maps in R using ggplot2 we need two set of files:
2 |
3 | 1. Shapefile containing polygons and geographical boundaries
4 | - In this particular example, we are using the Clinical Commisioning Groups as of April 2021
5 | - File: Clinical_Commissioning_Groups_April_2021.zip
6 |
7 | - The Office for National Statistics provides a free and open access to several geographic products. There is a specific section for `Health boundaries`
8 | on their `Open Geography Portal` website: .
9 |
10 |
11 | We donwload the zipped file and extract the following files in the /data folder:
12 | CCG_APR_2021_EN_BGC.cpg
13 | CCG_APR_2021_EN_BGC.dbf
14 | CCG_APR_2021_EN_BGC.prj
15 | CCG_APR_2021_EN_BGC.shp
16 | CCG_APR_2021_EN_BGC.shx
17 |
18 | The R Script will use the .shp file mainly, but we need the other set of files to plot the map
19 |
20 | 2. Health indicator. Continuous numeric indicator to be plotted in the map
21 | In this map we chooose to plot this specific indicator: 1.17 - Percentage of new cases of cancer for which a valid stage is recorded at the time of diagnosis
22 | - File: CCG_1.17_I01968_D.xlsx
23 | - Website: https://digital.nhs.uk/data-and-information/publications/statistical/ccg-outcomes-indicator-set/march-2022
24 | - Download indicators file: url = "https://files.digital.nhs.uk/48/4DB2CA/CCG_OIS_MAR_2022_Excels_Files.zip",
25 |
--------------------------------------------------------------------------------
/docs/tutorials/R_drop_in_session_26_may_Maps_in_R/mapsinR26May2023.qmd:
--------------------------------------------------------------------------------
1 | ---
2 | title: "Maps in R using ggplot2 and OSM packages"
3 | subtitle: "NHSE R drop in session"
4 | author: "Pablo Leon |pablo.leonrodenas@nhs.net"
5 | date: "`r Sys.Date()`"
6 | format:
7 | revealjs:
8 | smaller: true
9 | slide-number: true
10 | chalkboard:
11 | buttons: false
12 | preview-links: auto
13 | logo: images/quarto.png
14 | css: mycustom.css
15 | footer:
16 | resources:
17 | - demo.pdf
18 | ---
19 |
20 | ## Intro {background="#43464B"}
21 |
22 | These slides were presented in the NHSE-R drop in session on Friday 26th May 2023.
23 |
24 | In R we can plot geospatial data using several methods, today I will focus on static maps using `ggplot2` and `osm` packages. Drawing maps usually imply these steps:
25 |
26 | - Getting shapefiles to draw a map
27 | - Obtaining metadata to plot on the map
28 | - In R we load the multypoligon objects using `geom_sf()` and `coord_sf()`
29 | - Then we can take advantage of ggplot2 framework to overlay one map on top of another
30 |
31 | An introduction to plotting maps in R using ggplot2 can be found on this online book: .
32 |
33 |
34 |
35 | ## 1. NHS Health boundaries{auto-animate="true" background="#43464B"}
36 |
37 | The Office for National Statistics provides a free and open access to several geographic products. There is a specific section for `Health boundaries` on their `Open Geography Portal` website: .
38 |
39 | From `Clinical Commissioning Groups` section download `2021 Boundaries` **shapefile** zipped file.
40 |
41 | ::: columns
42 | ::: {.column width="40%"}
43 |
44 | 
45 | :::
46 |
47 | ::: {.column width="60%"}
48 |
49 | 
50 | :::
51 | :::
52 |
53 |
54 | ## 2. Unzip CCG boundaries into R {background="#43464B"}
55 |
56 | Load unzipped files into R using `Open Geography Portal`
57 |
58 |
59 |
60 |
61 |
--------------------------------------------------------------------------------
/docs/tutorials/index.qmd:
--------------------------------------------------------------------------------
1 | ---
2 | title: "Tutorials"
3 | listing:
4 | contents:
5 | - "*.qmd"
6 | sort:
7 | - "date desc"
8 | type: grid
9 | image-placeholder: "../assets/logos/nhs-england-large.png"
10 | max-description-length: 100
11 | categories: true
12 | max-items: 12
13 | fields: [image, date, title, author, categories]
14 | ---
15 |
--------------------------------------------------------------------------------
/docs/tutorials/r-language.qmd:
--------------------------------------------------------------------------------
1 | ---
2 | title: R Programming Language
3 | subtitle: "Open-source Analytics"
4 | author: "Craig Robert Shenton"
5 | date: "2023-01-03"
6 | categories: [R, NHS-R]
7 | image: "../assets/logos/nhsr.png"
8 | ---
9 |
10 | ::: {.callout-note}
11 | ## Note
12 | R and R-Studio are available on Modern Desktop (see `Company Portal > Apps`) and on UDAL VMs.
13 |
14 | :::
15 |
16 | ## Resources
17 |
18 | - [Learning R](https://github.com/nhs-r-community/intro_r)
19 | - [Reports](https://ukgovdatascience.github.io/rap_companion/pub.html)
20 | - [Markdown](https://ukgovdatascience.github.io/rap_companion/pub.html#r-markdown-basics)
21 | - Dashboards (Shiny)
22 | - [Packages](https://ukgovdatascience.github.io/rap_companion/package.html)
23 |
24 | ### NHS Themes
25 |
26 | - [NHS-R Theme](https://nhs-r-community.github.io/NHSRtheme/) [[code](https://github.com/nhs-r-community/NHSRtheme)]
27 |
28 | ### NHS code
29 |
30 | - [NHS-R how-tos](https://github.com/nhs-r-community/demos-and-how-tos)
31 | - [NHS-R R-Markdown functions](https://github.com/nhs-r-community/demos-and-how-tos/tree/main/rmarkdown/rmarkdown_functions_and_functionals)
32 |
33 | ## Quarto
34 |
35 | - [Quarto Guide](https://nhsengland.github.io/nhs-r-reporting/tutorials/quarto.html)
36 |
--------------------------------------------------------------------------------
/docs/tutorials/rap.qmd:
--------------------------------------------------------------------------------
1 | ---
2 | title: Reproducible Analytical Pipelines (RAP)
3 | subtitle: "Best practice for transparency and reproducibility"
4 | author: "Craig Robert Shenton"
5 | date: "2023-01-27"
6 | categories: [RAP, NHS England]
7 | ---
8 |
9 | Reproducible Analytical Pipelines (RAP) brings together a number of best practices to ensure published NHS statistics meet the highest standards of transparency and reproducibility.
10 |
11 | ## Resources
12 |
13 | ### NHS Digital RAP Community of Practice
14 |
15 | [New Website!](https://nhsdigital.github.io/rap-community-of-practice/)
16 |
17 | - [What is RAP](https://nhsdigital.github.io/rap-community-of-practice/introduction_to_RAP/why_RAP_is_important/)
18 | - [Levels of RAP](https://nhsdigital.github.io/rap-community-of-practice/introduction_to_RAP/levels_of_RAP/)
19 |
20 | ### NHS England
21 |
22 | - [NHS Open-source policy (Draft)](https://github.com/nhsx/open-source-policy/blob/main/open-source-policy.md)
23 | - [Open code checklist](https://github.com/nhsx/analyticsunit-template/blob/main/OPEN_CODE_CHECKLIST.md)
24 | - [Sharing Code in the Open by NHSX](https://nhsx.github.io/AnalyticsUnit/codeintheopen.html)
25 |
26 | ### GOV.datascience RAP Companion
27 |
28 | [https://ukgovdatascience.github.io/rap_companion/](https://ukgovdatascience.github.io/rap_companion/)
29 |
30 | ### Further reading
31 |
32 | - [Be open and use open source](https://www.gov.uk/guidance/be-open-and-use-open-source)
33 | - [The benefits of coding in the open](https://gds.blog.gov.uk/2017/09/04/the-benefits-of-coding-in-the-open/)
34 | - [Open source repositories by the Government Digital Service](https://github.com/alphagov)
35 | - [Bennett Institute Open Manifesto: Better Data for the NHS](https://docs.opensafely.org/open-data-manifesto/)
36 |
37 | ### NHS BSA RAP
38 |
39 | [RAP Presentation](https://github.com/nhsbsa-data-analytics/coffee-and-coding/blob/master/2021-10-20%20R%20Markdown%20and%20Official%20Statistics/rap-presentation.Rmd)
40 |
41 | ### Examples
42 |
43 | - [Prescription Cost Analysis (PCA)](https://nhsbsa-opendata.s3.eu-west-2.amazonaws.com/pca/pca_summary_narrative_2020_21_v001.html)
44 | - [Medicines Used in Mental Health](https://nhsbsa-opendata.s3.eu-west-2.amazonaws.com/mumh/mumh_annual_2020_21_v001.html)
45 | - [Prescribing for Diabetes](https://nhsbsa-opendata.s3.eu-west-2.amazonaws.com/pfd/pfd_annual_2020_21_v001.html)
--------------------------------------------------------------------------------
/docs/tutorials/spc.qmd:
--------------------------------------------------------------------------------
1 | ---
2 | title: Statistical Process Control
3 | subtitle: NHS-R Community's plot-the-dots package
4 | author: "Craig Robert Shenton"
5 | date: "2023-01-09"
6 | categories: [NHS-R, SPC]
7 | image: "../assets/logos/Making-data-count.jpg"
8 | ---
9 |
10 | The [NHSR Plot the Dots](https://github.com/nhs-r-community/NHSRplotthedots) package is built by the [NHS-R community](https://nhsrcommunity.com) to provide tools for drawing statistical process control (SPC) charts. The package supports the NHS England programme ['Making Data Count'](https://www.england.nhs.uk/publication/making-data-count/). The programme encourages boards, managers, and analyst teams to present data in ways that show change over time, and drive better understanding of indicators than 'RAG' (red, amber, green) rated reports often present.
11 |
12 | ### Installation
13 |
14 | ```r
15 | # install from CRAN
16 | install.packages("NHSRplotthedots")
17 | install.packages("rmarkdown")
18 |
19 | # Or install the development version from GitHub using {remotes} package:
20 | # install.packages("remotes")
21 | remotes::install_github("https://github.com/nhs-r-community/NHSRplotthedots", build_vignettes = TRUE)
22 | ```
23 |
24 | The help-files, and vignette within this package tell you more about the possible options for controlling the charts
25 |
26 | ### Example Chart
27 |
28 | Below is an example of the type of chart the package produces. The plot uses the `ae_attendances` dataset from the `{NHSRdatasets}` package and a bit of `{dplyr}` code to select some organisations.
29 |
30 | #### Packages used:
31 | ```r
32 | library(NHSRplotthedots)
33 | library(NHSRdatasets)
34 | library(tidyverse)
35 | ```
36 |
37 | ```{r fig-NHSRplotthedots-pakages}
38 | #| include: False
39 | library(NHSRplotthedots)
40 | library(NHSRdatasets)
41 | library(tidyverse)
42 | ```
43 |
44 | ```{r fig-NHSRplotthedots}
45 | #| label: Example SPC Chart
46 | #| warning: False
47 |
48 | df <- ae_attendances %>%
49 | filter(org_code == "RQM", type == 1, period < as.Date("2018-04-01"))
50 |
51 | df %>%
52 | ptd_spc(value_field = breaches, date_field = period, improvement_direction = "decrease")
53 | ```
--------------------------------------------------------------------------------
/docs/updates.qmd:
--------------------------------------------------------------------------------
1 | ---
2 | title: "Updates"
3 | subtitle: "News, tips, and commentary."
4 | listing:
5 | sort: "date desc"
6 | contents: "posts"
7 | sort-ui: false
8 | filter-ui: false
9 | categories: true
10 | feed: true
11 | page-layout: full
12 | comments: false
13 | ---
--------------------------------------------------------------------------------
/examples/databricks-rcluster-load-data-example.R:
--------------------------------------------------------------------------------
1 | # Title: Example for using SparkR using SAS tokens to authenticate with analytical/data lakes on Databricks
2 | # Author: Edmund Haacke
3 | # Date Created: 2023-10-13
4 | # Description:
5 | # The R cluster does not support passthrough authentication, unlike those aimed at python workflows.
6 | # This example shows how to use SAS tokens stored in Azure Key Vault to achieve this. Note that unfortunately
7 | # this approach relies on the older wasbs driver rather than the newer abfss drivers, and it should be noted
8 | # that although this approach works with the ADLS Gen2 containers - the wasbs driver is in a deprecated state.
9 | # Tested on both analytical and data lake.
10 |
11 | # >>>> installations <<<<
12 | install.packages(c("AzureAuth", "AzureKeyVault"))
13 |
14 | # >>>> constants <<<<
15 | # specify the full address for the azure key vault
16 | KEY_VAULT_ADDR <- "https://.vault.azure.net"
17 |
18 | # >>>> functions <<<<
19 | # this function will setup the current spark session configuration with the relevant SAS tokens. note that although
20 | # in theory you can specify multiple SAS tokens across different containers // accounts, because the SAS tokens in
21 | # the setup are not at the container level, this function will need rerunning to update the spark session every time
22 | # a new SAS token is pulled
23 | set_spark_config_for_acc_and_cont <- function(
24 | account, container, sas_secret
25 | ){
26 | # list to store spark configuration elements
27 | spark_config <- list()
28 | spark_config[[paste0("fs.azure.account.auth.type.",account,".blob.core.windows.net")]] = "SAS"
29 | spark_config[[paste0("fs.azure.sas.token.provider.type.",account,".blob.core.windows.net")]]="org.apache.hadoop.fs.azurebfs.sas.FixedSASTokenProvider"
30 | spark_config[[paste0("fs.azure.sas.fixed.token.",account,".blob.core.windows.net")]] = sprintf("%s", sas_secret$value)
31 | spark_config[[paste0("fs.azure.sas.",container,".",account,".blob.core.windows.net")]] = sprintf("%s", sas_secret$value)
32 | # update the current Spark session
33 | SparkR::sparkR.session(master="local[*]", sparkConfig=spark_config)
34 | }
35 |
36 | # >>>> retrieve SAS token <<<<
37 | # login using device_code flow - open the link and type the code (nb uses Azure CLI app ID)
38 | token <- AzureAuth::get_azure_token(
39 | resource="https://vault.azure.net", tenant="common", app="04b07795-8ddb-461a-bbee-02f9e1bf7b46",
40 | auth_type="device_code"
41 | )
42 | # the azure key vault with all the SAS tokens
43 | vault <- AzureKeyVault::key_vault(KEY_VAULT_ADDR, token=token)
44 |
45 | # ---- Accessing Data ----
46 | # Rerun all of the following code every time using a different token.
47 |
48 | # load an SAS token using the naming structure mentioned...
49 | sus_sas <- vault$secrets$get("")
50 |
51 | # >>>> key vars <<<<
52 | # specify the account...
53 | clp_account <- ""
54 | # specify the container name...
55 | clp_cont <- ""
56 | # the relative path to the data...
57 | clp_rel_path <- ""
58 | # setup the full path to the data
59 | data_path <- sprintf("wasbs://%s@%s.blob.core.windows.net/%s/", clp_cont, clp_account, clp_rel_path)
60 | # setup spark with the SAS token for the above data
61 | set_spark_config_for_acc_and_cont(
62 | account=clp_account, container=clp_cont, sas_secret=sus_sas
63 | )
64 | # >>>> load data <<<<
65 | print(data_path)
66 | # load data using SparkR
67 | df <- SparkR::read.parquet(data_path)
68 | display(df)
69 |
--------------------------------------------------------------------------------
/examples/rstudio_datalake_connection_example.R:
--------------------------------------------------------------------------------
1 | # Title: Example for using SAS tokens to authenticate with analytical/data lakes on RStudio
2 | # Author: David Savage/Miles Flitton
3 | # Date Created: 2023-10-13
4 | # Description:
5 | # Some workflows may require connecting to the Azure data lakes from RStudio, for example
6 | # one may process large amounts of data in Databricks but have legacy code in RStudio for
7 | # outputs. This example shows how one can connect RStudio to the data lakes and read data
8 | # into RStudio for further analysis.
9 |
10 |
11 | #Load libraries
12 | install.packages("AzureStor", "AzureKeyVault", "arrow", "data.table")
13 | library(AzureStor)
14 | library(AzureKeyVault)
15 | library(arrow)
16 | library(data.table)
17 |
18 |
19 | ### Set up access settings
20 |
21 | #Get Shared Access Signature auth for data
22 | #Opens an interactive Azure authentication flow in your browser
23 | vault <- key_vault("")
24 |
25 | ### Read from specific lake area
26 |
27 | #Gets the SAS for the relevant data - r = read access, w = write access
28 | dfSAS <- vault$secrets$get("")
29 |
30 | #Set connection settings
31 | dl_endp <- storage_endpoint("", sas = dfSAS$value )
32 | cont <- storage_container(dl_endp, "")
33 | list_adls_files(cont, dir = "//", info = c("all", "name"), recursive = FALSE)
34 |
35 | #Read data
36 | filename <- "PATH/TO/.parquet"
37 | rawdata <- storage_download(cont, filename, dest = NULL)
38 | parq_df <- read_parquet(rawdata)
39 |
40 | #Read data recursively
41 | filenames <- c("PATH/TO/.parquet1",
42 | "PATH/TO/.parquet2")
43 | multiparq_df <- rbindlist(lapply(filenames, function(i){
44 | rawdata <- storage_download(cont, i, dest = NULL)
45 | read_parquet(rawdata)
46 | }))
47 |
--------------------------------------------------------------------------------
/nhs-r-reporting.Rproj:
--------------------------------------------------------------------------------
1 | Version: 1.0
2 |
3 | RestoreWorkspace: Default
4 | SaveWorkspace: Default
5 | AlwaysSaveHistory: Default
6 |
7 | EnableCodeIndexing: Yes
8 | UseSpacesForTab: Yes
9 | NumSpacesForTab: 2
10 | Encoding: UTF-8
11 |
12 | RnwWeave: Sweave
13 | LaTeX: pdfLaTeX
14 |
--------------------------------------------------------------------------------
/utility/nhs_style.R:
--------------------------------------------------------------------------------
1 | #' Add nhs theme to ggplot chart
2 | #'
3 | #' @keywords nhs_style
4 | #' @export
5 | #' @examples
6 | #' line <- ggplot(line_df, aes(x = year, y = lifeExp)) +
7 | #' geom_line(colour = "#007f7f", size = 1) +
8 | #' geom_hline(yintercept = 0, size = 1, colour="#333333") +
9 | #' nhs_style()
10 |
11 | nhs_style <- function() {
12 | font <- "Helvetica"
13 |
14 | ggplot2::theme(
15 |
16 | # chart title options
17 | plot.title = ggplot2::element_text(family = font,
18 | size = 24,
19 | face = "bold",
20 | color = "#222222"),
21 | # chart sub-title options
22 | plot.subtitle = ggplot2::element_text(family = font,
23 | size = 16,
24 | margin = ggplot2::margin(9, 0, 9, 0)),
25 | plot.caption = ggplot2::element_blank(),
26 | # leave caption text empty
27 |
28 | # legend options
29 | legend.position = "top",
30 | #legend.text.align = 0,
31 | legend.background = ggplot2::element_blank(),
32 | legend.title = ggplot2::element_blank(),
33 | legend.key = ggplot2::element_blank(),
34 | legend.text = ggplot2::element_text(family = font,
35 | size = 16,
36 | color = "#222222"),
37 |
38 | # axis options
39 | axis.title = ggplot2::element_text(family = font,
40 | size = 14,
41 | color = "#222222"),
42 | axis.text = ggplot2::element_text(family = font,
43 | size = 12,
44 | color = "#425563"),
45 | axis.ticks.y = ggplot2::element_blank(),
46 | axis.line = ggplot2::element_blank(),
47 | axis.text.x = ggplot2::element_text(margin = ggplot2::margin(5, b = 10)),
48 |
49 | # grid line options
50 | panel.grid.minor = ggplot2::element_blank(),
51 | panel.grid.major.y = ggplot2::element_line(color = "#cbcbcb"),
52 | panel.grid.major.x = ggplot2::element_blank(),
53 |
54 | # background options
55 | panel.background = ggplot2::element_blank(),
56 | strip.background = ggplot2::element_rect(fill = "white"),
57 | strip.text = ggplot2::element_text(size = 18, hjust = 0)
58 | )
59 | }
60 |
61 | nhs_palettes <- list(
62 | nhs_blues = c("#005EB8", "#003087", "#0072CE", "#41B6E6", "#00A9CE"),
63 | nhs_regions = c("#3DB4F5", "#820F25", "#087558", "#E69F00", "#EADC17", "#6F00D5", "#6F7D86"),
64 | nhs_regions_england = c("#3DB4F5", "#231f20", "#820F25", "#087558", "#E69F00", "#EADC17", "#6F00D5", "#6F7D86"),
65 | london_region = c("#0da1f3", "#25abf4", "#3db4f5", "#55bdf6", "#6ec7f8"),
66 | midlands_region = c("#f5d899", "#f2cf7f", "#f0c566", "#edbb4c", "#ebb232", "#e8a819", "#e69f00", "#cf8f00", "#b87f00", "#a16f00", "#8a5f00")
67 | )
68 |
69 | # source: https://github.com/karthik/wesanderson
70 | nhs_palette <- function(name, n, type = c("discrete", "continuous")) {
71 | type <- match.arg(type)
72 |
73 | pal <- nhs_palettes[[name]]
74 | if (is.null(pal))
75 | stop("Palette not found.")
76 |
77 | if (missing(n)) {
78 | n <- length(pal)
79 | }
80 |
81 | if (type == "discrete" && n > length(pal)) {
82 | stop("Number of requested colors greater than what palette can offer")
83 | }
84 |
85 | out <- switch(type,
86 | continuous = grDevices::colorRampPalette(pal)(n),
87 | discrete = pal[1:n]
88 | )
89 | structure(out, class = "palette", name = name)
90 | }
91 |
--------------------------------------------------------------------------------