A bridge for your digital pathology files
Built loving with help a starting template from: FastAPI-Boilerplate
PathWay is many things but at it's heart, it has the following idea: to help build a bridge for pathology reporting of the future, combining WSI(Whole Slide Imaging/Images) with Synoptic Reporting.
Currently it's just being set up but I thought I'd document the journey publicly here rather than building it and then just releasing 0.1.0.
To be clear, we are very far from even a PoC at this stage so if you want to follow, please do so but please note that most features that I plan to include aren't even listed, let alone started.
It's an easily deployable containerised solution that can take synoptic reports in FHIR and attach them to DICOM images, standardise to a custom ruleset, or take synoptic reports and attach them to other WSI types (please see below for supported types) and convert them to DICOM.
It can then send these onwards or store them for you.
Well, it's a combination of an API, several other open sources tools which this would not be possible without and a lot of other inputs.
It is not designed to be a universal viewer or converter - the viewer provided is just for demonstration purposes of the capabilities of the software and to help visualise it for users - which is why things like Postgres are provided as part of the Docker Compose but ideally you will map these to your own databases, softwares, APIs and middlewares.
This setup uses a basic AV to validate files against. Security of uploaded and mapped files is not guaranteed and is the end users responsibility - there is only a basic check here.
- XML Importer and Mapper For Datasets/SDC
- Docker Startup for easy, cloud agnostic cloud deployment in any stack
- FHIR Server and REST API, following latest standardise
- Support for SNOMED
FastAPI boilerplate creates an extendable async API using FastAPI, Pydantic V2, SQLAlchemy 2.0 and PostgreSQL:
FastAPI: modern Python web framework for building APIsPydantic V2: the most widely used data Python validation library, rewritten in Rust(5x-50x faster)SQLAlchemy 2.0: Python SQL toolkit and Object Relational MapperPostgreSQL: The World's Most Advanced Open Source Relational DatabaseRedis: Open source, in-memory data store used by millions as a cache, message broker and more.ARQJob queues and RPC in python with asyncio and redis.Docker ComposeWith a single command, create and start all the services from your configuration.NGINXHigh-performance low resource consumption web server used for Reverse Proxy and Load Balancing.
Tip
If you want the SQLModel version instead, head to SQLModel-boilerplate.
- โก๏ธ Fully async
- ๐ Pydantic V2 and SQLAlchemy 2.0
- ๐ User authentication with JWT
- ๐ช Cookie based refresh token
- ๐ฌ Easy redis caching
- ๐ Easy client-side caching
- ๐ฆ ARQ integration for task queue
- โ๏ธ Efficient and robust queries with fastcrud
- โ Out of the box offset and cursor pagination support with fastcrud
- ๐ Rate Limiter dependency
- ๐ฎ FastAPI docs behind authentication and hidden based on the environment
- ๐ฆพ Easily extendable
- ๐คธโโ๏ธ Flexible
- ๐ Easy running with docker compose
- โ๏ธ NGINX Reverse Proxy and Load Balancing
- PathWay
- Pathway's Features
- About The Tech
- Tech Features
- Contents
- Prerequisites
- Terminology
- Imaging
- Data Control And Privacy
- Testing
- Contributing
- References
- License
- Contact
Ferenc Igali โ [@Makataui] github.com/Makataui