Medcat service documentation
Medcat service is a REST API for serving MedCAT models, allowing you to perform named entity resolution and deidentification of medical text over an API.
Feel free to ask questions on the github issue tracker or on our discourse website which is frequently used by our development team!
Demo
Features
Clinical NLP over HTTP
- Single-document processing —
POST /api/processaccepts free-text clinical notes and returns entities with CUIs, types, spans, and meta-annotations (for example negation and subject). - Bulk processing —
POST /api/process_bulkprocesses many documents in one request, with parallel annotation via configurable worker threads (APP_BULK_NPROC). - Meta-annotation filtering — Optional
meta_anns_filterson/api/processlet you return only entities that match selected meta-annotation values (for example affirmed presence or patient subject). - AnonCAT De-identification - Detect and redact identifiable information in clinical text by loading an AnonCAT model. See API examples.
Demo UI
- Interactive model trial — A user friendly UI to try out medcat models and see the results. See Demo UI.
Operations and observability
- Health endpoints — Kubernetes-friendly liveness (
/api/health/live) and readiness (/api/health/ready) checks that verify the model is loaded. - Service metadata —
GET /api/inforeturns application name, language, version, and loaded model details. - Metrics — Optional prometheus metrics of the service on
/metricswhenAPP_ENABLE_METRICS=True. - Tracing — Distributed tracing export for production deployments. See Configuration.
Get started
| Topic | Guide |
|---|---|
| Install with Helm or Docker Compose | Installation |
| Environment variables and tuning | Configuration |
curl examples for process and bulk APIs |
API example use |
| Try models in the browser | Demo UI |