Skip to content

health-data-science-OR/simpy-streamlit-tutorial

Repository files navigation

Binder License: MIT Python 3.10+ Read the Docs License: MIT License: MIT

Improving the usability of open health service delivery simulation models using python and web apps

Overview

The materials and methods in this repository support health service researchers learning to use simpy and streamlit to build open discrete-event simulation models. The models are sharable with other researchers and the NHS.

Author ORCIDs

ORCID: Harper ORCID: Monks

Dependencies

Python 3.10+

All dependencies can be found in binder/environment.yml and are pulled from conda-forge. To run the code locally, we recommend install mini-conda; navigating your terminal (or cmd prompt) to the directory containing the repo and issuing the following command:

conda env create -f binder/environment.yml

Online Alternatives:

Read the Docs

  • Visit our jupyter book for interactive code and explanatory text
  • Run out Jupyter notebooks in binder Binder

Citation

If you use the work contained in the repository for your research or job then a citation would be very welcome when you write up.

Citing the journal article

We have a journal article that accompanies this repo published in NIHR open research: https://openresearch.nihr.ac.uk/articles/3-48

Monks T and Harper A. Improving the usability of open health service delivery simulation models using Python and web apps [version 2; peer review: 3 approved]. NIHR Open Res 2023, 3:48 (https://doi.org/10.3310/nihropenres.13467.2)

@article{monksharper2023improving,
  title={Improving the usability of open health service delivery simulation models using Python and web apps},
  author={Monks, T and Harper, A},
  journal={NIHR Open Research},
  volume={3},
  pages={48},
  year={2023},
  url={https://doi.org/10.3310/nihropenres.13467.2},
  doi={10.3310/nihropenres.13467.2},
  note={Version 2; Peer Review: 3 Approved}
}

Citing the code

Please cite the code and work in this repository as follows:

Monks, Thomas, & Harper, Alison. (2023). SimPy and StreamLit Tutorial Materials for Healthcare Discrete-Event Simulation (v1.1.2). Zenodo. https://doi.org/10.5281/zenodo.8193001

@software{monks_thomas_2023_8193001,
  author       = {Monks, Thomas and
                  Harper, Alison},
  title        = {{SimPy and StreamLit Tutorial Materials for 
                   Healthcare Discrete-Event Simulation}},
  month        = jul,
  year         = 2023,
  publisher    = {Zenodo},
  version      = {v1.1.2},
  doi          = {10.5281/zenodo.8193001},
  url          = {https://doi.org/10.5281/zenodo.8193001}
}

Repo Overview

.
├── binder
│   └── environment.yml
├── CITATION.cff
├── _config.yml
├── content
│   ├── 01_setup
│   ├── 02_simpy
│   ├── 03_streamlit
│   ├── 04_exercises
│   ├── 05_solutions
│   └── front_page.md
├── imgs
├── LICENSE
├── main.py
├── README.md
└── _toc.yml

  • binder - contains the environment.yml file (sim) and all dependencies managed via conda
  • _config.yml - configuration of our Jupyter Book
  • content - the notebooks and markdown arranged by setup, simpy, streamlit, exercises, and solutions.
  • data - directory containing data files used by analysis notebooks.
  • imgs - all image files used in the tutorial material
  • LICENSE - details of the MIT permissive license of this work.
  • main.py - an example simpy model to use to test the virtual environment
  • README - what you are reading now!
  • _toc.yml - the table of contents for our Jupyter Book.