Skip to content

NHSDigital/patient-triage-api

Repository files navigation

Patient Triage API

CI/CD pull request

The Patient Triage API enables remote triage with the clinically-authored Pathways content.

Table of Contents

Setup

Clone the repository

git clone [email protected]:NHSDigital/saet-triage-api.git

Prerequisites

The following software packages, or their equivalents, are expected to be installed and configured:

Note

The version of GNU make available by default on macOS is earlier than 3.82. You will need to upgrade it or certain make tasks will fail. On macOS, you will need Homebrew installed, then to install make, like so:

brew install make

You will then see instructions to fix your $PATH variable to make the newly installed version available. If you are using dotfiles, this is all done for you.

  • GNU sed and GNU grep are required for the scripted command-line output processing,
  • GNU coreutils and GNU binutils may be required to build dependencies like Python, which may need to be compiled during installation,

Note

For macOS users, installation of the GNU toolchain has been scripted and automated as part of the dotfiles project. Please see this script for details.

Auxiliary Software

Configuration

Installation and configuration of the toolchain dependencies

make config

Usage

The Patient Triage API can be deployed both to AWS and to LocalStack

Prerequisites (for both):

  • AWS CLI installed
  • Python 3 installed (developed on 3.13.5)

Deploy to LocalStack using make deploy-local

Prerequisites:

  • LocalStack installed and running

Deploy to AWS using make deploy Clean done/destroy deployed infrastructure to AWS using make clean

Prerequisites:

  • AWS credentials configured correctly

Testing

Run make test from the root of the project repository Tests currently implemented:

  • test-unit
  • test-lint
  • test-coverage
  • test-integration-local

Design

Diagrams

The solution employs a Hexagonal architecture (a.k.a. "ports and adapters"):

Hexagonal Architecture

The processing of new clinical releases follows the following sequence:

Release Handling

The processing of a triage request follows the following sequence:

Triage Processing

Licence

The LICENCE.md file will need to be updated with the correct year and owner

Unless stated otherwise, the codebase is released under the MIT License. This covers both the codebase and any sample code in the documentation.

Any HTML or Markdown documentation is © Crown Copyright and available under the terms of the Open Government Licence v3.0.

About

No description, website, or topics provided.

Resources

License

Security policy

Stars

Watchers

Forks

Packages

No packages published

Contributors 5