Skip to content

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 processingPOST /api/process accepts free-text clinical notes and returns entities with CUIs, types, spans, and meta-annotations (for example negation and subject).
  • Bulk processingPOST /api/process_bulk processes many documents in one request, with parallel annotation via configurable worker threads (APP_BULK_NPROC).
  • Meta-annotation filtering — Optional meta_anns_filters on /api/process let 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 metadataGET /api/info returns application name, language, version, and loaded model details.
  • Metrics — Optional prometheus metrics of the service on /metrics when APP_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