# DRGSystem — German medical coding catalogs (remote · www.drgsystem.de)

ICD-10-GM, OPS, DRG, ZE, PEPP, DKR, SEG-4, ATC lookup for German coding, 2010-2027

- Trust score: 83/100 (high trust)
- Change this week: +10
- Registry status: active
- Liveness: live
- Owner verified: no
- Last scored: 2026-09-30

## Components

- remote · `www.drgsystem.de`: 83/100 (this document), [markdown](https://verifymcp.io/servers/de-drgsystem-medical-catalogs/www.md), [page](https://verifymcp.io/servers/de-drgsystem-medical-catalogs/www)

## Channel facts

- Endpoint: `https://www.drgsystem.de/mcp`
- Transports: `streamable-http`
- Auth: `none`
- Version: `1.0.0`

## Trust breakdown

How this component scores in each security and reliability category. Every signal is checked automatically against the live server, and we only credit what we can confirm. Scores are 0–100 per category. Scoring method: https://verifymcp.io/docs/scoring (what has changed: https://verifymcp.io/docs/scoring/changelog)

Scored 2026-09-30.

- **Endpoint Security**: 74/100
  - The endpoint's TLS certificate is valid, in date, and uses a strong key.
  - No authorisation is required to call this server. Every tool declares its destructiveHint and none is destructive, so open access doesn't expose one.
  - HTTPS is enforced; there's no plaintext access path.
  - HSTS check failed: the Strict-Transport-Security header is absent.
  - DNSSEC check failed: this domain isn't protected by DNSSEC.
- **Transport & Reachability**: 100/100
  - Verified streamable-http transport via a live MCP handshake.
- **Schema Quality & AI Usability**: 68/100
  - AI-judged instruction clarity (excellent).
  - Context-footprint check failed: tool/resource definitions use about 7563 tokens (~243/item across 31 items; 31 tools + 0 resources), over budget; trim descriptions and params.
  - Usage-examples check failed: none of the tools include examples.
- **Stability & Change Management**: 97/100
  - Stability observed for 29 of 30 days with no destabilising changes; credit accrues until the full window elapses.
- **Tool Coverage**: 100/100
  - 100% of tools have a non-trivial description (not blank, and not just the tool's name).
  - 100% of tool parameters carry a description.
  - Structured output schemas are declared (100% of tools); any adoption earns full credit.
- **Tool Safety**: 100/100
  - No prompt-injection markers were found in the server instructions, tool names or descriptions we captured.
  - We read all 31 captured tool definition(s), and no name or description among them implies an irreversible operation.
  - An AI judge read all 32 captured unit(s) of tool text and found none that tries to manipulate the model reading it.
- **Capabilities**: 100/100
  - Implements a supported MCP spec version (2025-11-25); the latest is 2026-07-28.

## Install

### How do I install the DRGSystem — German medical coding catalogs MCP server?

DRGSystem — German medical coding catalogs is a hosted endpoint at https://www.drgsystem.de/mcp, so there is nothing to install locally. Ready-made configuration for Claude, Cursor, VS Code, Codex and 5 more is on this page, copied from each client's own documentation.

### Claude

```bash
claude mcp add --transport http de-drgsystem-medical-catalogs 'https://www.drgsystem.de/mcp'
```

### Cursor

```json
{
  "mcpServers": {
    "de-drgsystem-medical-catalogs": {
      "url": "https://www.drgsystem.de/mcp"
    }
  }
}
```

### VS Code

```json
{
  "servers": {
    "de-drgsystem-medical-catalogs": {
      "type": "http",
      "url": "https://www.drgsystem.de/mcp"
    }
  }
}
```

### Codex

```toml
[mcp_servers.de-drgsystem-medical-catalogs]
url = "https://www.drgsystem.de/mcp"
```

### opencode

```json
{
  "$schema": "https://opencode.ai/config.json",
  "mcp": {
    "de-drgsystem-medical-catalogs": {
      "type": "remote",
      "url": "https://www.drgsystem.de/mcp",
      "enabled": true
    }
  }
}
```

### OpenClaw

```bash
openclaw mcp add de-drgsystem-medical-catalogs --url 'https://www.drgsystem.de/mcp' --transport streamable-http
```

### Hermes

```yaml
mcp_servers:
  de-drgsystem-medical-catalogs:
    url: "https://www.drgsystem.de/mcp"
```

### Netclaw

```json
{
  "McpServers": {
    "de-drgsystem-medical-catalogs": {
      "Transport": "http",
      "Url": "https://www.drgsystem.de/mcp"
    }
  }
}
```

### Vellum

```bash
assistant mcp add de-drgsystem-medical-catalogs -t streamable-http -u 'https://www.drgsystem.de/mcp'
```

### Other

```json
{
  "mcpServers": {
    "de-drgsystem-medical-catalogs": {
      "type": "http",
      "url": "https://www.drgsystem.de/mcp"
    }
  }
}
```

The mcpServers block is a cross-client convention. Remote transports vary, so check your client's docs.

## Changelog

Every change recorded for this component, newest first. Days that predate change tracking, or that we cannot explain, say so: "we were watching and nothing happened" and "we were not watching" are different claims.

### 2026-09-29 (score 83, +1)

- [functional] New tool “rules_for_code”
- [functional] New tool “rules_get”

### 2026-09-28 (score 82, +7)

- [functional] We updated how we score, so this day's move reflects our rubric, not a change to the server

### 2026-09-26 (score 75, +1)

No change was recorded against any check on this day. Stability & Change Management went from 80 to 83. That category is still filling its 30-day observation window: 24 days of observed history at the previous scan, 25 at this one. The score rises as the window fills, whether or not the server changes.

### 2026-09-25 (score 74, 0)

- [functional] We updated how we score, so this day's move reflects our rubric, not a change to the server

### 2026-09-24 (score 74, +1)

No change was recorded against any check on this day. Stability & Change Management went from 73 to 77. That category is still filling its 30-day observation window: 22 days of observed history at the previous scan, 23 at this one. The score rises as the window fills, whether or not the server changes.

### 2026-09-22 (score 73, +1)

No change was recorded against any check on this day. Stability & Change Management went from 67 to 70. That category is still filling its 30-day observation window: 20 days of observed history at the previous scan, 21 at this one. The score rises as the window fills, whether or not the server changes.

### 2026-09-20 (score 72, +1)

No change was recorded against any check on this day. Stability & Change Management went from 60 to 63. That category is still filling its 30-day observation window: 18 days of observed history at the previous scan, 19 at this one. The score rises as the window fills, whether or not the server changes.

### 2026-09-18 (score 71, +1)

No change was recorded against any check on this day. Stability & Change Management went from 53 to 57. That category is still filling its 30-day observation window: 16 days of observed history at the previous scan, 17 at this one. The score rises as the window fills, whether or not the server changes.

## MCP tools (31)

### `opsalpha_search` (~194 tokens)

OPS Alphabet durchsuchen

Durchsucht das Alphabetische Verzeichnis des OPS. Das Alphabet führt die klinischen und umgangssprachlichen Bezeichnungen eines Eingriffs und weist ihnen die Schlüsselnummern zu — der übliche Einstieg, wenn nur der Eingriffstext bekannt ist. Jeder Treffer nennt die zugehörigen Schlüsselnummern bereits mit ihrem amtlichen Titel aus dem systematischen Verzeichnis.

Input parameters:

- `limit` (integer|null): Maximale Anzahl Treffer, 1 bis 100. Standard 25.
- `offset` (integer|null): Anzahl zu überspringender Treffer für das Blättern. Standard 0.
- `query` (string, required): Suchbegriff aus dem Alphabet (z. B. 'Blinddarmentfernung', 'Biopsie') oder eine Schlüsselnummer.
- `year` (integer|null): Katalogjahr (z. B. 2026). Leer lassen für das aktuellste verfügbare Jahr.

Output parameters:

- `entries` (array): Die Einträge dieser Seite, absteigend nach Trefferqualität sortiert.
- `offset` (integer): Anzahl der übersprungenen Treffer vor dieser Seite.
- `totalCount` (integer): Gesamtzahl der Treffer, unabhängig von der zurückgegebenen Seite.
- `year` (integer): Katalogjahr, aus dem die Einträge stammen.

### `lg_get` (~193 tokens)

Leistungsgruppe abrufen

Liefert in 'focus' eine Leistungsgruppe nach § 135e SGB V mit allen Qualitätskriterien und deren Teilanforderungen, gegliedert nach Anforderungsbereich (personelle und sachliche Ausstattung, sonstige Voraussetzungen, verwandte Leistungsgruppen). Verweise auf andere Leistungsgruppen sind in beide Richtungen aufgelöst. Ohne Kode aufgerufen liefert die Funktion die oberste Gliederungsebene.

Input parameters:

- `code` (string|null): Kode der Leistungsgruppe ('LG14'), einer Anforderungsstufe ('LG64A') oder eines Leistungsbereichs ('LB1'). Leer lassen für den vollständigen Katalog; 'items' enthält dann alle Leistungsbereiche mit i…
- `year` (integer|null): Katalogjahr (z. B. 2026). Leer lassen für das aktuellste verfügbare Jahr.

Output parameters:

- `focus` (object|null): Der abgefragte Kode mit allen Detaildaten. Null bei einer Suche und beim Katalog-Einstieg (leerer Kode).
- `info` (object|null): Herkunft der Daten dieses Jahrgangs: Rechtsgrundlage, Version und Stand der zugrunde liegenden Kataloge sowie Quellen.
- `interpretation` (object|null): Nur bei einer Suche: wie die Suche die Anfrage gelesen hat. Null außerhalb der Suche.
- `items` (array): Die Kodeliste der Antwort: bei einer Abfrage die direkt untergeordneten Kodes von 'focus' (bzw. die oberste Ebene bei leerem Kode), bei einer Suche die Treffer.
- `parents` (array): Übergeordnete Kodes von 'focus' als Pfad von der obersten Ebene abwärts (Brotkrumen). Leer bei einer Suche und beim Katalog-Einstieg.
- `year` (integer): Katalogjahr, aus dem alle Daten dieser Antwort stammen.

### `pepp_search` (~142 tokens)

PEPP durchsuchen

Durchsucht den PEPP-Katalog (pauschalierendes Entgeltsystem für Psychiatrie und Psychosomatik) nach Kode oder Bezeichnung. Die Treffer stehen in 'items'.

Input parameters:

- `limit` (integer|null): Maximale Anzahl Treffer, 1 bis 100. Standard 25.
- `query` (string, required): Suchbegriff: PEPP-Kode (z. B. 'PA01A') oder Bezeichnung (z. B. 'Schizophrenie').
- `year` (integer|null): Katalogjahr (z. B. 2026). Leer lassen für das aktuellste verfügbare Jahr.

Output parameters:

- `focus` (object|null): Der abgefragte Kode mit allen Detaildaten. Null bei einer Suche und beim Katalog-Einstieg (leerer Kode).
- `interpretation` (object|null): Nur bei einer Suche: wie die Suche die Anfrage gelesen hat. Null außerhalb der Suche.
- `items` (array): Die Kodeliste der Antwort: bei einer Abfrage die direkt untergeordneten Kodes von 'focus' (bzw. die oberste Ebene bei leerem Kode), bei einer Suche die Treffer.
- `parents` (array): Übergeordnete Kodes von 'focus' als Pfad von der obersten Ebene abwärts (Brotkrumen). Leer bei einer Suche und beim Katalog-Einstieg.
- `year` (integer): Katalogjahr, aus dem alle Daten dieser Antwort stammen.

### `lg_ops_strukturmerkmale` (~152 tokens)

OPS-Strukturmerkmale abrufen

Liefert die Strukturmerkmale, die der Medizinische Dienst für einen OPS-Kode prüft (Katalog nach § 23 Absatz 5 LOPS-RL), jeweils mit den Bedingungen, in die sie zerlegt sind. Ohne Kode aufgerufen liefert die Funktion alle Kodes des Jahrgangs, für die Strukturmerkmale veröffentlicht sind.

Input parameters:

- `opsCode` (string|null): OPS-Kode, normalisiert ('1945') oder in amtlicher Schreibweise ('1-945'). Leer lassen für alle Kodes des Jahrgangs.
- `year` (integer|null): Katalogjahr (z. B. 2026). Leer lassen für das aktuellste verfügbare Jahr.

Output parameters:

- `info` (object|null): Herkunft der Daten dieses Jahrgangs.
- `items` (array): Die Strukturmerkmale, nach OPS-Kode und Kennung sortiert.
- `year` (integer): Katalogjahr, aus dem alle Daten dieser Antwort stammen.

### `kh_get` (~219 tokens)

Krankenhaus abrufen

Liefert in 'focus' die vollständigen Angaben zu einem Krankenhaus: Name, Träger und Trägerart, Art der Zulassung, Anschrift, Kontakt, meldende Krankenkasse, aufgestellte Betten, Stufe der Notfallversorgung, Fachabteilungen nach § 301 SGB V mit Betten sowie die einzelnen Standorte. Anschrift, Betten und Standorte stammen aus dem Krankenhausverzeichnis und sind dem IK über den Namen zugeordnet ('zuordnung'); bei 'Keine' fehlen sie. Das Verzeichnis ist nach Bundesländern gegliedert: ohne Kennzeichen aufgerufen liefert die Funktion die Bundesländer, mit einem Länderschlüssel (z. B. '05') deren Krankenhäuser.

Input parameters:

- `code` (string|null): Institutionskennzeichen (IK) des Krankenhauses oder zweistelliger Länderschlüssel. Leer lassen für die Bundesländer.
- `year` (integer|null): Katalogjahr (z. B. 2026). Leer lassen für das aktuellste verfügbare Jahr.

Output parameters:

- `focus` (object|null): Der abgefragte Kode mit allen Detaildaten. Null bei einer Suche und beim Katalog-Einstieg (leerer Kode).
- `interpretation` (object|null): Nur bei einer Suche: wie die Suche die Anfrage gelesen hat. Null außerhalb der Suche.
- `items` (array): Die Kodeliste der Antwort: bei einer Abfrage die direkt untergeordneten Kodes von 'focus' (bzw. die oberste Ebene bei leerem Kode), bei einer Suche die Treffer.
- `parents` (array): Übergeordnete Kodes von 'focus' als Pfad von der obersten Ebene abwärts (Brotkrumen). Leer bei einer Suche und beim Katalog-Einstieg.
- `year` (integer): Katalogjahr, aus dem alle Daten dieser Antwort stammen.

### `icd10alpha_search` (~326 tokens)

ICD-10-GM Alphabet durchsuchen

Durchsucht das Alphabetische Verzeichnis der ICD-10-GM. Das Alphabet führt die klinischen und umgangssprachlichen Bezeichnungen einer Diagnose und weist ihnen die Schlüsselnummern zu — der übliche Einstieg, wenn nur der Diagnosetext bekannt ist. Jeder Treffer nennt Primär-, Stern- und Zusatzschlüsselnummer bereits mit ihrem amtlichen Titel aus dem systematischen Verzeichnis. [EN] Best first tool for natural-language diagnosis search: use it when the user asks to find diagnoses by text, symptom, disease name, colloquial German wording or a partial term such as 'Herz', 'Diabetes' or 'Schmerz'. Searches the ICD-10-GM Alphabetical Index and maps clinical and everyday diagnosis terms to ICD-10-GM codes. Use icd10_search instead when an ICD code is already known, and icd10_get for the full entry of one code.

Input parameters:

- `limit` (integer|null): Maximale Anzahl Treffer, 1 bis 100. Standard 25.
- `offset` (integer|null): Anzahl zu überspringender Treffer für das Blättern. Standard 0.
- `query` (string, required): Suchbegriff aus dem Alphabet (z. B. 'Zuckerkrankheit', 'Herzinfarkt') oder eine Schlüsselnummer. [EN] Diagnosis wording in German; translate the user's term first ('heart' → 'Herz').
- `year` (integer|null): Katalogjahr (z. B. 2026). Leer lassen für das aktuellste verfügbare Jahr.

Output parameters:

- `entries` (array): Die Einträge dieser Seite, absteigend nach Trefferqualität sortiert.
- `offset` (integer): Anzahl der übersprungenen Treffer vor dieser Seite.
- `totalCount` (integer): Gesamtzahl der Treffer, unabhängig von der zurückgegebenen Seite.
- `year` (integer): Katalogjahr, aus dem die Einträge stammen.

### `icd10_get` (~381 tokens)

ICD-10-GM-Kode abrufen

Liefert in 'focus' alle Angaben zu einem ICD-10-GM-Kode: Kodier-Kennzeichen, Inklusiva/Exklusiva und Kodierhinweise, Einträge des Alphabetischen Verzeichnisses, zugeordnete ATC-Wirkstoffe, Morbi-RSA-Gruppen sowie DKR- und SEG-4-Verweise. In 'statistics' steht dazu, wie oft der Kode bundesweit als Hauptdiagnose kodiert wird — mit Geschlechts- und Altersverteilung, Rang und Anteil an allen Krankenhausfällen —, in 'stay' die mittlere Verweildauer je Altersgruppe. Beide tragen ihren eigenen Datenjahrgang, der älter als das Katalogjahr ist. Dazu in 'parents' die übergeordneten Kodes und in 'items' die direkt untergeordneten. Ohne Kode aufgerufen liefert die Funktion die oberste Ebene, sodass sich der Katalog Ebene für Ebene durchlaufen lässt. [EN] Everything about one ICD-10-GM code: coding flags, inclusions, exclusions, coding notes, alphabetical index entries, cross-references, parent and child codes, plus how often the code is actually recorded as a main diagnosis in German hospitals (by sex and age band) and the mean length of stay — each with its own, older, data year. Call it after a search to inspect a hit; call it without a code to browse the catalog from the top.

Input parameters:

- `code` (string|null): ICD-Kode, normalisiert oder in amtlicher Schreibweise (z. B. 'E110' oder 'E11.0'). Leer lassen für die oberste Ebene des Katalogs.
- `year` (integer|null): Katalogjahr (z. B. 2026). Leer lassen für das aktuellste verfügbare Jahr.

Output parameters:

- `focus` (object|null): Der abgefragte Kode mit allen Detaildaten. Null bei einer Suche und beim Katalog-Einstieg (leerer Kode).
- `interpretation` (object|null): Nur bei einer Suche: wie die Suche die Anfrage gelesen hat. Null außerhalb der Suche.
- `items` (array): Die Kodeliste der Antwort: bei einer Abfrage die direkt untergeordneten Kodes von 'focus' (bzw. die oberste Ebene bei leerem Kode), bei einer Suche die Treffer.
- `parents` (array): Übergeordnete Kodes von 'focus' als Pfad von der obersten Ebene abwärts (Brotkrumen). Leer bei einer Suche und beim Katalog-Einstieg.
- `year` (integer): Katalogjahr, aus dem alle Daten dieser Antwort stammen.

### `seg4kde_get` (~125 tokens)

SEG-4-Kodierempfehlung abrufen

Liefert in 'focus' den Volltext einer SEG-4-Kodierempfehlung samt Veröffentlichungs- und Änderungsdatum sowie den darin genannten ICD-, OPS- und DRG-Kodes. Ohne Nummer aufgerufen liefert die Funktion die oberste Gliederungsebene.

Input parameters:

- `code` (string|null): Nummer der Kodierempfehlung. Leer lassen für die oberste Gliederungsebene.
- `year` (integer|null): Katalogjahr (z. B. 2026). Leer lassen für das aktuellste verfügbare Jahr.

Output parameters:

- `focus` (object|null): Der abgefragte Kode mit allen Detaildaten. Null bei einer Suche und beim Katalog-Einstieg (leerer Kode).
- `interpretation` (object|null): Nur bei einer Suche: wie die Suche die Anfrage gelesen hat. Null außerhalb der Suche.
- `items` (array): Die Kodeliste der Antwort: bei einer Abfrage die direkt untergeordneten Kodes von 'focus' (bzw. die oberste Ebene bei leerem Kode), bei einer Suche die Treffer.
- `parents` (array): Übergeordnete Kodes von 'focus' als Pfad von der obersten Ebene abwärts (Brotkrumen). Leer bei einer Suche und beim Katalog-Einstieg.
- `year` (integer): Katalogjahr, aus dem alle Daten dieser Antwort stammen.

### `ops_get` (~192 tokens)

OPS-Kode abrufen

Liefert in 'focus' alle Angaben zu einem OPS-Kode: Kodier-Kennzeichen, Alters- und Geschlechtsbezug, AOP-Angaben nach § 115b SGB V samt Kontextfaktoren, Einträge des Alphabetischen Verzeichnisses sowie DKR- und SEG-4-Verweise. Dazu in 'parents' die übergeordneten Kodes und in 'items' die direkt untergeordneten. Ohne Kode aufgerufen liefert die Funktion die oberste Ebene des Katalogs.

Input parameters:

- `code` (string|null): OPS-Kode, normalisiert oder in amtlicher Schreibweise (z. B. '5470' oder '5-470.0'). Leer lassen für die oberste Ebene des Katalogs.
- `year` (integer|null): Katalogjahr (z. B. 2026). Leer lassen für das aktuellste verfügbare Jahr.

Output parameters:

- `focus` (object|null): Der abgefragte Kode mit allen Detaildaten. Null bei einer Suche und beim Katalog-Einstieg (leerer Kode).
- `interpretation` (object|null): Nur bei einer Suche: wie die Suche die Anfrage gelesen hat. Null außerhalb der Suche.
- `items` (array): Die Kodeliste der Antwort: bei einer Abfrage die direkt untergeordneten Kodes von 'focus' (bzw. die oberste Ebene bei leerem Kode), bei einer Suche die Treffer.
- `parents` (array): Übergeordnete Kodes von 'focus' als Pfad von der obersten Ebene abwärts (Brotkrumen). Leer bei einer Suche und beim Katalog-Einstieg.
- `year` (integer): Katalogjahr, aus dem alle Daten dieser Antwort stammen.

### `ze_search` (~157 tokens)

Zusatzentgelte durchsuchen

Durchsucht den Zusatzentgelte-Katalog nach Kode oder Leistungsbeschreibung. Die Treffer stehen in 'items' mit Betrag, Herkunft (bewertet oder krankenhausindividuell) und der Anzahl der auslösenden OPS- und ICD-Kodes.

Input parameters:

- `limit` (integer|null): Maximale Anzahl Treffer, 1 bis 100. Standard 25.
- `query` (string, required): Suchbegriff: ZE-Kode (z. B. 'ZE01', 'ZE130.01') oder Leistungsbeschreibung (z. B. 'Gabe von Humanalbumin').
- `year` (integer|null): Katalogjahr (z. B. 2026). Leer lassen für das aktuellste verfügbare Jahr.

Output parameters:

- `focus` (object|null): Der abgefragte Kode mit allen Detaildaten. Null bei einer Suche und beim Katalog-Einstieg (leerer Kode).
- `interpretation` (object|null): Nur bei einer Suche: wie die Suche die Anfrage gelesen hat. Null außerhalb der Suche.
- `items` (array): Die Kodeliste der Antwort: bei einer Abfrage die direkt untergeordneten Kodes von 'focus' (bzw. die oberste Ebene bei leerem Kode), bei einer Suche die Treffer.
- `parents` (array): Übergeordnete Kodes von 'focus' als Pfad von der obersten Ebene abwärts (Brotkrumen). Leer bei einer Suche und beim Katalog-Einstieg.
- `year` (integer): Katalogjahr, aus dem alle Daten dieser Antwort stammen.

### `basisfallwerte_get` (~195 tokens)

Basisfallwerte abrufen

Liefert die Basisfallwerte nach § 10 KHEntgG. Ohne Kürzel: in 'items' alle 16 Bundesländer mit ihrem abrechenbaren Landesbasisfallwert (mit Ausgleichen) und in 'bund' den Bundesbasisfallwert mit Korridor und Verlauf seit 2014. Mit Länderkürzel: in 'focus' alle Stände des Jahres (ohne/mit Ausgleichen, Zahlbetrag, abrechenbar ab) und den Verlauf des Landes neben Bundesbasisfallwert und Korridor. Quellen: Übersichten des vdek, Vereinbarungen zum Bundesbasisfallwert.

Input parameters:

- `code` (string|null): Länderkürzel (z. B. 'BY', 'NW'). Leer lassen für alle Länder.
- `year` (integer|null): Jahr (z. B. 2026). Leer lassen für das aktuellste verfügbare Jahr.

Output parameters:

- `bund` (object|null): Bundesbasisfallwert des Jahres mit Korridor und Verlauf — Bezugsgröße aller Landesbasisfallwerte.
- `focus` (object|null): Der abgefragte Kode mit allen Detaildaten. Null bei einer Suche und beim Katalog-Einstieg (leerer Kode).
- `interpretation` (object|null): Nur bei einer Suche: wie die Suche die Anfrage gelesen hat. Null außerhalb der Suche.
- `items` (array): Die Kodeliste der Antwort: bei einer Abfrage die direkt untergeordneten Kodes von 'focus' (bzw. die oberste Ebene bei leerem Kode), bei einer Suche die Treffer.
- `parents` (array): Übergeordnete Kodes von 'focus' als Pfad von der obersten Ebene abwärts (Brotkrumen). Leer bei einer Suche und beim Katalog-Einstieg.
- `year` (integer): Katalogjahr, aus dem alle Daten dieser Antwort stammen.

### `rules_for_code` (~377 tokens)

Regeln zu einem Kode (mit Stichtag)

Liefert alle Regeln außerhalb des Katalogs, die einen ICD-, OPS- oder DRG-Kode betreffen: Deutsche Kodierrichtlinien, Entscheidungen des Schlichtungsausschusses Bund (§ 19 KHG) und SEG-4-Kodierempfehlungen des Medizinischen Dienstes — die verbindlichste zuerst, jeweils mit Datum, Geltungszeitraum und Link zur Quelle. Regeln am übergeordneten Kode gelten mit (8-98f → 8-98f.20). Mit 'aufnahmedatum' sagt 'anwendbarkeit' je Regel, ob sie für diesen Fall gilt, erst für spätere Aufnahmen oder nur bei einer am Stichtag laufenden MD-Prüfung.

Input parameters:

- `aufnahmedatum` (string|null): Aufnahmedatum des Falls (yyyy-MM-dd). Leer lassen für alle Regeln ohne Fallbezug.
- `code` (string, required): Kode in amtlicher Schreibweise oder normalisiert: ICD 'E43', 'E44.0'; OPS '8-98f.20', '898f20'; DRG 'F36A'.
- `katalog` (string|null): Katalog des Kodes: 'ICD', 'OPS' oder 'DRG'. Leer lassen, dann wird er aus der Form des Kodes erkannt.
- `pruefungAm` (string|null): Nur mit 'aufnahmedatum': Tag (yyyy-MM-dd), an dem die Rechnung in einer MD-Prüfung nach § 275 Abs. 1 Nr. 1 SGB V war. Manche Schlichtungsentscheidungen gelten auch für solche Rechnungen.
- `year` (integer|null): Katalogjahr (z. B. 2026), nur ohne 'aufnahmedatum': liefert nur Regeln, die in diesem Jahrgang gelten.

Output parameters:

- `aufnahme` (string|null): Nur bei 'rules_for_case': Aufnahmedatum des Falls (yyyy-MM-dd).
- `gesamt` (integer): Anzahl aller Ereignisse in 'items'.
- `items` (array): Die Ereignisse, das verbindlichste zuerst, innerhalb gleicher Verbindlichkeit das jüngste zuerst.
- `jahr` (integer|null): Katalogjahr, auf das die Ereignisse gefiltert sind. Null: alle Jahrgänge.
- `katalog` (string): Katalog des abgefragten Kodes.
- `kode` (string): Der abgefragte Kode, normalisiert.
- `pruefungAm` (string|null): Nur bei 'rules_for_case': Datum, an dem die Rechnung in MD-Prüfung war (yyyy-MM-dd).
- `strittig` (integer): Anzahl der Ereignisse mit Dissens (z. B. FoKA widerspricht der SEG-4-Empfehlung) — offene Streitfragen.
- `verbindlich` (integer): Anzahl der Ereignisse, die für alle verbindlich sind (amtlich, Kodierrichtlinie, Schlichtung).
- `zuletztVeroeffentlicht` (string|null): Datum des jüngsten Ereignisses (yyyy-MM-dd).

### `drg_search` (~172 tokens)

Fallpauschalen durchsuchen

Durchsucht den Fallpauschalenkatalog (G-DRG) nach Kode oder Bezeichnung. Die Treffer stehen in 'items' mit Partition, führender Bewertungsrelation, mittlerer Verweildauer und den Grenzverweildauern. Die vollständigen Werte aller Anlagen liefert drg_get.

Input parameters:

- `limit` (integer|null): Maximale Anzahl Treffer, 1 bis 100. Standard 25.
- `query` (string, required): Suchbegriff: DRG-Kode (z. B. 'F01A') oder Bezeichnung der Fallpauschale (z. B. 'Herztransplantation').
- `year` (integer|null): Katalogjahr (z. B. 2026). Leer lassen für das aktuellste verfügbare Jahr.

Output parameters:

- `focus` (object|null): Der abgefragte Kode mit allen Detaildaten. Null bei einer Suche und beim Katalog-Einstieg (leerer Kode).
- `interpretation` (object|null): Nur bei einer Suche: wie die Suche die Anfrage gelesen hat. Null außerhalb der Suche.
- `items` (array): Die Kodeliste der Antwort: bei einer Abfrage die direkt untergeordneten Kodes von 'focus' (bzw. die oberste Ebene bei leerem Kode), bei einer Suche die Treffer.
- `parents` (array): Übergeordnete Kodes von 'focus' als Pfad von der obersten Ebene abwärts (Brotkrumen). Leer bei einer Suche und beim Katalog-Einstieg.
- `year` (integer): Katalogjahr, aus dem alle Daten dieser Antwort stammen.

### `atc_get` (~138 tokens)

ATC-Kode abrufen

Liefert in 'focus' den ATC-Kode mit definierter Tagesdosis und den zugeordneten ICD-Diagnosen als vollständige Datensätze, in 'parents' seine übergeordneten Kodes und in 'items' die direkt untergeordneten. Ohne Kode aufgerufen liefert die Funktion die anatomischen Hauptgruppen.

Input parameters:

- `code` (string|null): ATC-Kode (z. B. 'A10BA02'). Leer lassen für die anatomischen Hauptgruppen.
- `year` (integer|null): Katalogjahr (z. B. 2026). Leer lassen für das aktuellste verfügbare Jahr.

Output parameters:

- `focus` (object|null): Der abgefragte Kode mit allen Detaildaten. Null bei einer Suche und beim Katalog-Einstieg (leerer Kode).
- `interpretation` (object|null): Nur bei einer Suche: wie die Suche die Anfrage gelesen hat. Null außerhalb der Suche.
- `items` (array): Die Kodeliste der Antwort: bei einer Abfrage die direkt untergeordneten Kodes von 'focus' (bzw. die oberste Ebene bei leerem Kode), bei einer Suche die Treffer.
- `parents` (array): Übergeordnete Kodes von 'focus' als Pfad von der obersten Ebene abwärts (Brotkrumen). Leer bei einer Suche und beim Katalog-Einstieg.
- `year` (integer): Katalogjahr, aus dem alle Daten dieser Antwort stammen.

### `dkr_search` (~137 tokens)

Kodierrichtlinien durchsuchen

Durchsucht die Deutschen Kodierrichtlinien (DKR) nach Nummer oder Text. Die Treffer stehen in 'items' und enthalten bereits den Volltext der jeweiligen Richtlinie.

Input parameters:

- `limit` (integer|null): Maximale Anzahl Treffer, 1 bis 100. Standard 25.
- `query` (string, required): Suchbegriff: DKR-Nummer (z. B. 'D002') oder Text der Richtlinie (z. B. 'Hauptdiagnose').
- `year` (integer|null): Katalogjahr (z. B. 2026). Leer lassen für das aktuellste verfügbare Jahr.

Output parameters:

- `focus` (object|null): Der abgefragte Kode mit allen Detaildaten. Null bei einer Suche und beim Katalog-Einstieg (leerer Kode).
- `interpretation` (object|null): Nur bei einer Suche: wie die Suche die Anfrage gelesen hat. Null außerhalb der Suche.
- `items` (array): Die Kodeliste der Antwort: bei einer Abfrage die direkt untergeordneten Kodes von 'focus' (bzw. die oberste Ebene bei leerem Kode), bei einer Suche die Treffer.
- `parents` (array): Übergeordnete Kodes von 'focus' als Pfad von der obersten Ebene abwärts (Brotkrumen). Leer bei einer Suche und beim Katalog-Einstieg.
- `year` (integer): Katalogjahr, aus dem alle Daten dieser Antwort stammen.

### `kh_search` (~136 tokens)

Krankenhäuser durchsuchen

Durchsucht das Krankenhausverzeichnis nach Institutionskennzeichen (IK), Name oder Ort. Die Treffer stehen in 'items'; Anschrift und Kontaktdaten liefert kh_get zum einzelnen Haus.

Input parameters:

- `limit` (integer|null): Maximale Anzahl Treffer, 1 bis 100. Standard 25.
- `query` (string, required): Suchbegriff: Institutionskennzeichen (IK), Name des Krankenhauses oder Ort (z. B. 'Charité', 'Leipzig').
- `year` (integer|null): Katalogjahr (z. B. 2026). Leer lassen für das aktuellste verfügbare Jahr.

Output parameters:

- `focus` (object|null): Der abgefragte Kode mit allen Detaildaten. Null bei einer Suche und beim Katalog-Einstieg (leerer Kode).
- `interpretation` (object|null): Nur bei einer Suche: wie die Suche die Anfrage gelesen hat. Null außerhalb der Suche.
- `items` (array): Die Kodeliste der Antwort: bei einer Abfrage die direkt untergeordneten Kodes von 'focus' (bzw. die oberste Ebene bei leerem Kode), bei einer Suche die Treffer.
- `parents` (array): Übergeordnete Kodes von 'focus' als Pfad von der obersten Ebene abwärts (Brotkrumen). Leer bei einer Suche und beim Katalog-Einstieg.
- `year` (integer): Katalogjahr, aus dem alle Daten dieser Antwort stammen.

### `ze_get` (~168 tokens)

Zusatzentgelt abrufen

Liefert in 'focus' alle Angaben zu einem Zusatzentgelt: Betrag, alle auslösenden OPS-Kodes einschließlich der grau hinterlegten Kombinationspartner, die zugeordneten ICD-Kodes, die Fallpauschalen, neben denen es abgerechnet werden darf, und die Fußnoten mit Altersgrenzen, Mindestverweildauern und Ausschlüssen. Ohne Kode aufgerufen liefert die Funktion die oberste Ebene des Katalogs.

Input parameters:

- `code` (string|null): ZE-Kode (z. B. 'ZE01' oder 'ZE130.01'). Leer lassen für die oberste Ebene des Katalogs.
- `year` (integer|null): Katalogjahr (z. B. 2026). Leer lassen für das aktuellste verfügbare Jahr.

Output parameters:

- `focus` (object|null): Der abgefragte Kode mit allen Detaildaten. Null bei einer Suche und beim Katalog-Einstieg (leerer Kode).
- `interpretation` (object|null): Nur bei einer Suche: wie die Suche die Anfrage gelesen hat. Null außerhalb der Suche.
- `items` (array): Die Kodeliste der Antwort: bei einer Abfrage die direkt untergeordneten Kodes von 'focus' (bzw. die oberste Ebene bei leerem Kode), bei einer Suche die Treffer.
- `parents` (array): Übergeordnete Kodes von 'focus' als Pfad von der obersten Ebene abwärts (Brotkrumen). Leer bei einer Suche und beim Katalog-Einstieg.
- `year` (integer): Katalogjahr, aus dem alle Daten dieser Antwort stammen.

### `ops_search` (~476 tokens)

OPS durchsuchen

Durchsucht den OPS (Operationen- und Prozedurenschlüssel) — der erste Griff für jede Frage nach einer Prozedur, gleich ob Kode, Fachbegriff, Abkürzung oder Tippfehler ('5-820', 'Appendektomie', 'Hüft-TEP', 'appendektomi'). Durchsucht neben den amtlichen Bezeichnungen auch das Alphabetische Verzeichnis, das rund 48.000 weitere Formulierungen kennt. Die Treffer stehen in 'items', sind flach nach Relevanz geordnet und enthalten die Kodier-Kennzeichen (Seitenangabe erforderlich, Zusatzkode, Einmalkode, Alters- und Geschlechtsbezug), die Angaben zum ambulanten Operieren nach § 115b SGB V, die OPS-Strukturprüfung sowie DKR- und SEG-4-Verweise. Gezeigt werden nur endständige, kodierbare Kodes — ein vierstelliger Kode mit Unterkodes ist eine Überschrift, kodiert wird der fünf- oder sechsstellige darunter. 'groupCode' nennt die vierstellige Rubrik, unter der ein Treffer einsortiert ist; 'matchedTerm' die Formulierung, unter der der Kode nachgewiesen ist, wenn die amtliche Bezeichnung den Treffer nicht selbst erklärt; 'interpretation' sagt, wie die Anfrage gelesen wurde. Für alle Angaben zu einem einzelnen Kode anschließend ops_get aufrufen. [EN] The first tool for any procedure question — codes, clinical terms, abbreviations and misspellings all go here; it searches the alphabetical index as well as the official titles. Only codable (terminal) codes are returned: a four-character code with children is a heading, never an answer.

Input parameters:

- `limit` (integer|null): Maximale Anzahl Treffer, 1 bis 100. Standard 25.
- `query` (string, required): Suchbegriff: OPS-Kode (z. B. '5-470', '5470', '5-820.00') oder Prozedurtext (z. B. 'Appendektomie', 'Endoprothese Hüftgelenk').
- `year` (integer|null): Katalogjahr (z. B. 2026). Leer lassen für das aktuellste verfügbare Jahr.

Output parameters:

- `focus` (object|null): Der abgefragte Kode mit allen Detaildaten. Null bei einer Suche und beim Katalog-Einstieg (leerer Kode).
- `interpretation` (object|null): Nur bei einer Suche: wie die Suche die Anfrage gelesen hat. Null außerhalb der Suche.
- `items` (array): Die Kodeliste der Antwort: bei einer Abfrage die direkt untergeordneten Kodes von 'focus' (bzw. die oberste Ebene bei leerem Kode), bei einer Suche die Treffer.
- `parents` (array): Übergeordnete Kodes von 'focus' als Pfad von der obersten Ebene abwärts (Brotkrumen). Leer bei einer Suche und beim Katalog-Einstieg.
- `year` (integer): Katalogjahr, aus dem alle Daten dieser Antwort stammen.

### `drg_get` (~191 tokens)

Fallpauschale abrufen

Liefert in 'focus' alles, was der Fallpauschalenkatalog zu einer DRG ausweist: die Werte jeder Anlage, in der sie geführt wird (Bewertungsrelationen für Haupt- und Belegabteilung, Verweildauergrenzen mit Zu- und Abschlägen, Pflegeerlös, Verlegungs- und Wiederaufnahmekennzeichen), die zugehörigen Fußnoten im Volltext und die daneben abrechenbaren Zusatzentgelte. Ohne Kode aufgerufen liefert die Funktion die oberste Ebene (MDC).

Input parameters:

- `code` (string|null): DRG-Kode (z. B. 'F01A') oder MDC-Gruppe. Leer lassen für die oberste Ebene des Katalogs.
- `year` (integer|null): Katalogjahr (z. B. 2026). Leer lassen für das aktuellste verfügbare Jahr.

Output parameters:

- `focus` (object|null): Der abgefragte Kode mit allen Detaildaten. Null bei einer Suche und beim Katalog-Einstieg (leerer Kode).
- `interpretation` (object|null): Nur bei einer Suche: wie die Suche die Anfrage gelesen hat. Null außerhalb der Suche.
- `items` (array): Die Kodeliste der Antwort: bei einer Abfrage die direkt untergeordneten Kodes von 'focus' (bzw. die oberste Ebene bei leerem Kode), bei einer Suche die Treffer.
- `parents` (array): Übergeordnete Kodes von 'focus' als Pfad von der obersten Ebene abwärts (Brotkrumen). Leer bei einer Suche und beim Katalog-Einstieg.
- `year` (integer): Katalogjahr, aus dem alle Daten dieser Antwort stammen.

### `lg_search` (~180 tokens)

Leistungsgruppen durchsuchen

Durchsucht die Leistungsgruppen nach § 135e SGB V nach Nummer, Bezeichnung und Wortlaut ihrer Qualitätskriterien. Damit lässt sich auch die Gegenfrage beantworten, welche Leistungsgruppen eine bestimmte Voraussetzung fordern (z. B. 'Linksherzkathetermessplatz', 'Rufbereitschaft jederzeit'). Die Treffer stehen in 'items'.

Input parameters:

- `limit` (integer|null): Maximale Anzahl Treffer, 1 bis 100. Standard 25.
- `query` (string, required): Suchbegriff: Nummer oder Bezeichnung einer Leistungsgruppe oder ein Stichwort aus ihren Qualitätskriterien (z. B. 'Endoprothetik', 'Stroke Unit', 'CT täglich jederzeit').
- `year` (integer|null): Katalogjahr (z. B. 2026). Leer lassen für das aktuellste verfügbare Jahr.

Output parameters:

- `focus` (object|null): Der abgefragte Kode mit allen Detaildaten. Null bei einer Suche und beim Katalog-Einstieg (leerer Kode).
- `info` (object|null): Herkunft der Daten dieses Jahrgangs: Rechtsgrundlage, Version und Stand der zugrunde liegenden Kataloge sowie Quellen.
- `interpretation` (object|null): Nur bei einer Suche: wie die Suche die Anfrage gelesen hat. Null außerhalb der Suche.
- `items` (array): Die Kodeliste der Antwort: bei einer Abfrage die direkt untergeordneten Kodes von 'focus' (bzw. die oberste Ebene bei leerem Kode), bei einer Suche die Treffer.
- `parents` (array): Übergeordnete Kodes von 'focus' als Pfad von der obersten Ebene abwärts (Brotkrumen). Leer bei einer Suche und beim Katalog-Einstieg.
- `year` (integer): Katalogjahr, aus dem alle Daten dieser Antwort stammen.

### `opsalpha_get` (~124 tokens)

Alphabet-Einträge zu einem OPS-Kode

Liefert alle Einträge des Alphabetischen Verzeichnisses, die auf einen bestimmten OPS-Kode verweisen — also sämtliche Bezeichnungen, unter denen dieser Kode zu finden ist. Berücksichtigt werden beide Schlüsselnummernfelder des Eintrags.

Input parameters:

- `code` (string, required): OPS-Kode, normalisiert oder in amtlicher Schreibweise (z. B. '5470' oder '5-470.0').
- `year` (integer|null): Katalogjahr (z. B. 2026). Leer lassen für das aktuellste verfügbare Jahr.

Output parameters:

- `entries` (array): Die Einträge dieser Seite, absteigend nach Trefferqualität sortiert.
- `offset` (integer): Anzahl der übersprungenen Treffer vor dieser Seite.
- `totalCount` (integer): Gesamtzahl der Treffer, unabhängig von der zurückgegebenen Seite.
- `year` (integer): Katalogjahr, aus dem die Einträge stammen.

### `pepp_get` (~122 tokens)

PEPP-Kode abrufen

Liefert in 'focus' den PEPP-Kode, in 'parents' seine übergeordneten Kodes und in 'items' die direkt untergeordneten. Ohne Kode aufgerufen liefert die Funktion die oberste Ebene des Katalogs.

Input parameters:

- `code` (string|null): PEPP-Kode (z. B. 'PA01A'). Leer lassen für die oberste Ebene des Katalogs.
- `year` (integer|null): Katalogjahr (z. B. 2026). Leer lassen für das aktuellste verfügbare Jahr.

Output parameters:

- `focus` (object|null): Der abgefragte Kode mit allen Detaildaten. Null bei einer Suche und beim Katalog-Einstieg (leerer Kode).
- `interpretation` (object|null): Nur bei einer Suche: wie die Suche die Anfrage gelesen hat. Null außerhalb der Suche.
- `items` (array): Die Kodeliste der Antwort: bei einer Abfrage die direkt untergeordneten Kodes von 'focus' (bzw. die oberste Ebene bei leerem Kode), bei einer Suche die Treffer.
- `parents` (array): Übergeordnete Kodes von 'focus' als Pfad von der obersten Ebene abwärts (Brotkrumen). Leer bei einer Suche und beim Katalog-Einstieg.
- `year` (integer): Katalogjahr, aus dem alle Daten dieser Antwort stammen.

### `seg4kde_search` (~151 tokens)

SEG-4-Kodierempfehlungen durchsuchen

Durchsucht die Kodierempfehlungen der SEG-4 der MDK-Gemeinschaft nach Nummer oder Text. Die Treffer stehen in 'items' und enthalten den Volltext der Empfehlung sowie die darin genannten ICD-, OPS- und DRG-Kodes.

Input parameters:

- `limit` (integer|null): Maximale Anzahl Treffer, 1 bis 100. Standard 25.
- `query` (string, required): Suchbegriff: Nummer der Kodierempfehlung oder Stichwort aus ihrem Text (z. B. 'Sepsis', 'Beatmung').
- `year` (integer|null): Katalogjahr (z. B. 2026). Leer lassen für das aktuellste verfügbare Jahr.

Output parameters:

- `focus` (object|null): Der abgefragte Kode mit allen Detaildaten. Null bei einer Suche und beim Katalog-Einstieg (leerer Kode).
- `interpretation` (object|null): Nur bei einer Suche: wie die Suche die Anfrage gelesen hat. Null außerhalb der Suche.
- `items` (array): Die Kodeliste der Antwort: bei einer Abfrage die direkt untergeordneten Kodes von 'focus' (bzw. die oberste Ebene bei leerem Kode), bei einer Suche die Treffer.
- `parents` (array): Übergeordnete Kodes von 'focus' als Pfad von der obersten Ebene abwärts (Brotkrumen). Leer bei einer Suche und beim Katalog-Einstieg.
- `year` (integer): Katalogjahr, aus dem alle Daten dieser Antwort stammen.

### `basisfallwerte_search` (~185 tokens)

Landesbasisfallwerte suchen

Sucht den Landesbasisfallwert eines Bundeslandes nach Name oder Kürzel (z. B. 'Bayern', 'NW'). Jeder Treffer in 'items' nennt den abrechenbaren Landesbasisfallwert des Jahres, die Veränderung zum Vorjahr und den Abstand zum Bundesbasisfallwert; 'bund' enthält den Bundesbasisfallwert mit Korridor. Passt kein Land, stehen alle 16 in 'items'.

Input parameters:

- `limit` (integer|null): Wird ignoriert: es gibt höchstens 16 Länder.
- `query` (string, required): Name oder Kürzel des Bundeslandes (ISO 3166-2:DE ohne 'DE-'), z. B. 'Hessen' oder 'HE'.
- `year` (integer|null): Jahr (z. B. 2026). Leer lassen für das aktuellste verfügbare Jahr.

Output parameters:

- `bund` (object|null): Bundesbasisfallwert des Jahres mit Korridor und Verlauf — Bezugsgröße aller Landesbasisfallwerte.
- `focus` (object|null): Der abgefragte Kode mit allen Detaildaten. Null bei einer Suche und beim Katalog-Einstieg (leerer Kode).
- `interpretation` (object|null): Nur bei einer Suche: wie die Suche die Anfrage gelesen hat. Null außerhalb der Suche.
- `items` (array): Die Kodeliste der Antwort: bei einer Abfrage die direkt untergeordneten Kodes von 'focus' (bzw. die oberste Ebene bei leerem Kode), bei einer Suche die Treffer.
- `parents` (array): Übergeordnete Kodes von 'focus' als Pfad von der obersten Ebene abwärts (Brotkrumen). Leer bei einer Suche und beim Katalog-Einstieg.
- `year` (integer): Katalogjahr, aus dem alle Daten dieser Antwort stammen.

### `orpha_get` (~251 tokens)

Seltene Erkrankung abrufen

Liefert in 'focus' alles, was die Nomenklatur zu einer Orpha-Kennnummer führt: Bezeichnung, Synonyme, Art des Eintrags, Stand bei Orphanet, die Adresse im Orphanet-Portal sowie die Verweise auf ICD-10 der WHO, ICD-11 und OMIM. Dazu in 'parents' das Fachgebiet und in 'items' die darunter geführten Einträge. Ohne Kennnummer aufgerufen liefert die Funktion die Fachgebiete, sodass sich der Katalog durchblättern lässt. Achtung: die ICD-10-Verweise sind die von Orphanet auf die ICD-10 der WHO — für die Kodierung in Deutschland gilt die amtliche Zuordnung der Datei Alpha-ID-SE. [EN] Everything about one ORPHA code: names, synonyms, status, and its links into ICD-10, ICD-11 and OMIM.

Input parameters:

- `code` (string|null): Orpha-Kennnummer ohne Präfix (z. B. '558'). Leer lassen für die oberste Ebene des Katalogs.
- `year` (integer|null): Jahrgang der Nomenklatur. Leer lassen für den aktuellsten verfügbaren.

Output parameters:

- `focus` (object|null): Der abgefragte Kode mit allen Detaildaten. Null bei einer Suche und beim Katalog-Einstieg (leerer Kode).
- `interpretation` (object|null): Nur bei einer Suche: wie die Suche die Anfrage gelesen hat. Null außerhalb der Suche.
- `items` (array): Die Kodeliste der Antwort: bei einer Abfrage die direkt untergeordneten Kodes von 'focus' (bzw. die oberste Ebene bei leerem Kode), bei einer Suche die Treffer.
- `parents` (array): Übergeordnete Kodes von 'focus' als Pfad von der obersten Ebene abwärts (Brotkrumen). Leer bei einer Suche und beim Katalog-Einstieg.
- `year` (integer): Katalogjahr, aus dem alle Daten dieser Antwort stammen.

### `rules_get` (~86 tokens)

Regelereignis abrufen

Liefert ein Regelereignis vollständig: alle betroffenen Kodes mit ihrer Rolle (betrifft, Abgrenzung, erwähnt, Beispiel), Geltungszeitraum, Prüfstatus und Quelle.

Input parameters:

- `id` (string, required): Kennung aus 'rules_for_code', z. B. 'SA-S20260001', 'DKR-D003', 'SEG4-16'.

Output parameters:

- `aktenzeichen` (string|null): Aktenzeichen oder Nummer in der Quelle.
- `aktualisiert` (string|null): Datum der letzten Überarbeitung durch die Quelle (yyyy-MM-dd).
- `anhaenge` (array|null): Dokumente der Quelle zu diesem Ereignis, je Fassung mit Geltungsjahren (neueste zuerst).
- `anwendbarkeit` (string|null): Nur bei der Prüfung eines Falls: ob das Ereignis für diesen Fall gilt.
- `ersetztDurch` (string|null): Id des Ereignisses, das dieses ersetzt.
- `fachgebiete` (array|null): Fachgebiete, die das Ereignis vor allem betrifft (Destatis-Fallverteilung bzw. OPS-Kodebereich). Leer = fachübergreifend.
- `geerbtVon` (string|null): Kode, an dem das Ereignis hängt, wenn es vom übergeordneten Kode geerbt ist (z. B. 'E44' für die Abfrage 'E44.0'). Null, wenn es am abgefragten Kode selbst hängt.
- `geprueftAm` (string|null): Datum der fachlichen Prüfung (yyyy-MM-dd).
- `geprueftVon` (string|null): Wer geprüft hat.
- `gilt` (object|null): Wofür das Ereignis gilt.
- `id` (string): Kennung des Ereignisses, an 'rules_get' zurückzugeben.
- `kodes` (array): Alle Kodes des Ereignisses mit ihrer Rolle.
- `kurzfassung` (string|null): Worum es geht, in ein bis drei Sätzen.
- `praxisfolge` (string|null): Was daraus für die Kodierung folgt.
- `pruefstatus` (string): Wie die Angaben entstanden sind.
- `quelle` (string): Art der Quelle.
- `rolle` (string|null): Rolle des abgefragten Kodes in diesem Ereignis. Null in Listen ohne Kodebezug.
- `seite` (string|null): Seite dieses Portals mit dem vollständigen Text, falls vorhanden.
- `stellungnahmen` (array|null): Positionen Dritter, z. B. FoKA: Konsens / Dissens. Ein Dissens heißt: die Frage ist zwischen MD und Krankenhäusern umstritten.
- `titel` (string): Titel, wie ihn die Quelle führt.
- `url` (string|null): Adresse der Originalquelle.
- `verbindlichkeit` (string): Für wen das Ereignis bindend ist.
- `veroeffentlicht` (string|null): Datum der Veröffentlichung (yyyy-MM-dd).
- `volltext` (array|null): Wortlaut der Quelle in Abschnitten. In Listen nur, wenn er kurz ist; sonst null und VolltextZeichen gibt die Länge an — vollständig über Rules/Get.
- `volltextZeichen` (integer|null): Länge des Wortlauts in Zeichen, wenn er in der Liste nicht mitgeliefert wird.
- `zitatanker` (string|null): Wörtlicher Anker in der Quelle, an dem die Kurzfassung hängt.

### `orpha_search` (~263 tokens)

Seltene Erkrankungen durchsuchen

Durchsucht die Orphanet-Nomenklatur der Seltenen Erkrankungen nach Bezeichnung, Synonym oder Orpha-Kennnummer. Zu jedem Treffer stehen Art des Eintrags, die gröbere Einordnung (Störung, Gruppe, Subtyp) und der Stand bei Orphanet — nur 'Active' ist ein aktueller Eintrag. Nützlich, wenn eine Krankheit unter einem Namen gesucht wird, den das Alphabetische Verzeichnis der ICD-10-GM nicht führt: Orphanet kennt die biochemische und genetische Benennung. Für die Kodierung in Deutschland anschließend icd10alpha_search aufrufen — dort steht die amtliche Zuordnung. [EN] Searches the Orphanet nomenclature of rare diseases by name, synonym or ORPHA code.

Input parameters:

- `limit` (integer|null): Maximale Anzahl Treffer, 1 bis 100. Standard 25.
- `query` (string, required): Suchbegriff: Name der Erkrankung, ein Synonym oder eine Orpha-Kennnummer (z. B. 'Marfan', 'MFS', '558').
- `year` (integer|null): Jahrgang der Nomenklatur (z. B. 2026). Leer lassen für den aktuellsten verfügbaren.

Output parameters:

- `focus` (object|null): Der abgefragte Kode mit allen Detaildaten. Null bei einer Suche und beim Katalog-Einstieg (leerer Kode).
- `interpretation` (object|null): Nur bei einer Suche: wie die Suche die Anfrage gelesen hat. Null außerhalb der Suche.
- `items` (array): Die Kodeliste der Antwort: bei einer Abfrage die direkt untergeordneten Kodes von 'focus' (bzw. die oberste Ebene bei leerem Kode), bei einer Suche die Treffer.
- `parents` (array): Übergeordnete Kodes von 'focus' als Pfad von der obersten Ebene abwärts (Brotkrumen). Leer bei einer Suche und beim Katalog-Einstieg.
- `year` (integer): Katalogjahr, aus dem alle Daten dieser Antwort stammen.

### `icd10_search` (~522 tokens)

ICD-10-GM durchsuchen

Durchsucht den ICD-10-GM (amtlicher Diagnoseschlüssel) — der erste Griff für jede Diagnosesuche, gleich ob Kode, Fachbegriff, Umgangssprache, Abkürzung, Tippfehler oder eine Umschreibung der Beschwerden ('Wasser in der Lunge', 'Z.n. Hüft-TEP', 'herzinfakt'). Die Treffer stehen in 'items' und sind vollständige Katalogzeilen mit allen Kodier-Kennzeichen (Alters- und Geschlechtsbezug, CCL, Chroniker-Kennzeichen, IfSG-Meldepflicht, DKR- und SEG-4-Verweise) sowie in 'statistics' der bundesweiten Fallzahl als Hauptdiagnose — ein Maßstab dafür, ob ein Kode gebräuchlich oder eine Ausnahme ist. Die Liste ist flach, aber geordnet: eine Zeile mit 'isGroupHeader' ist eine Rubrik, die folgenden Zeilen mit gleichem 'groupCode' sind ihre Kodes — kodiert wird einer der Kodes, nicht die Rubrik. 'matchedTerm' nennt die Formulierung, unter der der Kode nachgewiesen ist, wenn die amtliche Bezeichnung den Treffer nicht selbst erklärt; 'interpretation' sagt, wie die Anfrage gelesen wurde. Für Inklusiva, Exklusiva, Kodierhinweise, Morbi-RSA-Gruppen und ATC-Wirkstoffe eines einzelnen Kodes anschließend icd10_get aufrufen. [EN] The first tool for any diagnosis search — codes, clinical terms, everyday wording, abbreviations, misspellings and descriptions of symptoms all go here. Returns full catalog rows with every coding flag. The list is flat but ordered: a row flagged 'isGroupHeader' is a rubric and the rows after it sharing its 'groupCode' are its codes; only a code can be coded, never the rubric. 'matchedTerm' gives the wording the code is listed under when the official title does not explain the hit.

Input parameters:

- `limit` (integer|null): Maximale Anzahl Treffer, 1 bis 100. Standard 25.
- `query` (string, required): Suchbegriff: ICD-Kode (z. B. 'E11', 'E11.0') oder Diagnosetext (z. B. 'Diabetes mellitus Typ 2').
- `year` (integer|null): Katalogjahr (z. B. 2026). Leer lassen für das aktuellste verfügbare Jahr.

Output parameters:

- `focus` (object|null): Der abgefragte Kode mit allen Detaildaten. Null bei einer Suche und beim Katalog-Einstieg (leerer Kode).
- `interpretation` (object|null): Nur bei einer Suche: wie die Suche die Anfrage gelesen hat. Null außerhalb der Suche.
- `items` (array): Die Kodeliste der Antwort: bei einer Abfrage die direkt untergeordneten Kodes von 'focus' (bzw. die oberste Ebene bei leerem Kode), bei einer Suche die Treffer.
- `parents` (array): Übergeordnete Kodes von 'focus' als Pfad von der obersten Ebene abwärts (Brotkrumen). Leer bei einer Suche und beim Katalog-Einstieg.
- `year` (integer): Katalogjahr, aus dem alle Daten dieser Antwort stammen.

### `dkr_get` (~126 tokens)

Kodierrichtlinie abrufen

Liefert in 'focus' den Volltext einer Kodierrichtlinie, in 'parents' ihre Einordnung im Regelwerk und in 'items' die untergeordneten Abschnitte. Ohne Nummer aufgerufen liefert die Funktion die oberste Gliederungsebene.

Input parameters:

- `code` (string|null): DKR-Nummer (z. B. 'D002'). Leer lassen für die oberste Gliederungsebene.
- `year` (integer|null): Katalogjahr (z. B. 2026). Leer lassen für das aktuellste verfügbare Jahr.

Output parameters:

- `focus` (object|null): Der abgefragte Kode mit allen Detaildaten. Null bei einer Suche und beim Katalog-Einstieg (leerer Kode).
- `interpretation` (object|null): Nur bei einer Suche: wie die Suche die Anfrage gelesen hat. Null außerhalb der Suche.
- `items` (array): Die Kodeliste der Antwort: bei einer Abfrage die direkt untergeordneten Kodes von 'focus' (bzw. die oberste Ebene bei leerem Kode), bei einer Suche die Treffer.
- `parents` (array): Übergeordnete Kodes von 'focus' als Pfad von der obersten Ebene abwärts (Brotkrumen). Leer bei einer Suche und beim Katalog-Einstieg.
- `year` (integer): Katalogjahr, aus dem alle Daten dieser Antwort stammen.

### `icd10alpha_get` (~180 tokens)

Alphabet-Einträge zu einem ICD-Kode

Liefert alle Einträge des Alphabetischen Verzeichnisses, die auf einen bestimmten ICD-10-GM-Kode verweisen — also sämtliche Bezeichnungen, unter denen dieser Kode zu finden ist. Berücksichtigt werden Primär-, Stern- und Zusatzschlüsselnummer sowie die zweite Primärschlüsselnummer. [EN] Reverse lookup: given an ICD-10-GM code, returns every wording in the Alphabetical Index that leads to it — useful to see which clinical and everyday diagnosis terms a code covers.

Input parameters:

- `code` (string, required): ICD-Kode, normalisiert oder in amtlicher Schreibweise (z. B. 'E110' oder 'E11.0').
- `year` (integer|null): Katalogjahr (z. B. 2026). Leer lassen für das aktuellste verfügbare Jahr.

Output parameters:

- `entries` (array): Die Einträge dieser Seite, absteigend nach Trefferqualität sortiert.
- `offset` (integer): Anzahl der übersprungenen Treffer vor dieser Seite.
- `totalCount` (integer): Gesamtzahl der Treffer, unabhängig von der zurückgegebenen Seite.
- `year` (integer): Katalogjahr, aus dem die Einträge stammen.

### `atc_search` (~143 tokens)

ATC durchsuchen

Durchsucht die amtliche ATC-Klassifikation mit definierten Tagesdosen nach Kode oder Wirkstoff. Die Treffer stehen in 'items' mit der DDD und den zugeordneten ICD-Kodes.

Input parameters:

- `limit` (integer|null): Maximale Anzahl Treffer, 1 bis 100. Standard 25.
- `query` (string, required): Suchbegriff: ATC-Kode (z. B. 'A10BA02') oder Wirkstoffname (z. B. 'Metformin').
- `year` (integer|null): Katalogjahr (z. B. 2026). Leer lassen für das aktuellste verfügbare Jahr.

Output parameters:

- `focus` (object|null): Der abgefragte Kode mit allen Detaildaten. Null bei einer Suche und beim Katalog-Einstieg (leerer Kode).
- `interpretation` (object|null): Nur bei einer Suche: wie die Suche die Anfrage gelesen hat. Null außerhalb der Suche.
- `items` (array): Die Kodeliste der Antwort: bei einer Abfrage die direkt untergeordneten Kodes von 'focus' (bzw. die oberste Ebene bei leerem Kode), bei einer Suche die Treffer.
- `parents` (array): Übergeordnete Kodes von 'focus' als Pfad von der obersten Ebene abwärts (Brotkrumen). Leer bei einer Suche und beim Katalog-Einstieg.
- `year` (integer): Katalogjahr, aus dem alle Daten dieser Antwort stammen.

## Diagnostics

Captured diagnostic sections: TLS, DNSSEC, Authorisation, Transports. The full working is on the page: https://verifymcp.io/servers/de-drgsystem-medical-catalogs/www#diagnostics

## Score history

- 2026-09-30: 83
- 2026-09-29: 83
- 2026-09-28: 82
- 2026-09-27: 75
- 2026-09-26: 75
- 2026-09-25: 74
- 2026-09-24: 74
- 2026-09-23: 73
- 2026-09-22: 73
- 2026-09-21: 72
- 2026-09-20: 72
- 2026-09-19: 71
- 2026-09-18: 71
- 2026-09-17: 70
- 2026-09-16: 70
- 2026-09-15: 70
- 2026-09-14: 69
- 2026-09-13: 69
- 2026-09-12: 69
- 2026-09-11: 68
- 2026-09-10: 68
- 2026-09-09: 67
- 2026-09-08: 67
- 2026-09-07: 66
- 2026-09-06: 66
- 2026-09-05: 65
- 2026-09-04: 65
- 2026-09-03: 65
- 2026-09-02: 64
- 2026-09-01: 64

## Common questions

### What is the DRGSystem — German medical coding catalogs MCP server?

DRGSystem — German medical coding catalogs is an MCP server listed in the public MCP registry as de.drgsystem/medical-catalogs. ICD-10-GM, OPS, DRG, ZE, PEPP, DKR, SEG-4, ATC lookup for German coding, 2010-2027. This page covers its hosted endpoint (https://www.drgsystem.de/mcp).

### Is the DRGSystem — German medical coding catalogs MCP server safe to use?

DRGSystem — German medical coding catalogs scores 83 out of 100 on VerifyMCP. That is a record of what we were able to check automatically, not an endorsement. The category breakdown on this page shows every signal behind the number, including the ones we could not confirm.

### What tools does the DRGSystem — German medical coding catalogs MCP server expose?

DRGSystem — German medical coding catalogs exposes 31 tools: opsalpha_search, lg_get, pepp_search, lg_ops_strukturmerkmale, kh_get, and 26 more. Their descriptions and schemas cost roughly 6,404 tokens of context every time the server is loaded.

### Does the DRGSystem — German medical coding catalogs MCP server require authentication?

No. We connected to DRGSystem — German medical coding catalogs without credentials and it answered, so anything it exposes is reachable by anyone who knows the address.

### Is the DRGSystem — German medical coding catalogs MCP server still maintained?

DRGSystem — German medical coding catalogs is still listed as active in the MCP registry. We last reached this channel on 30 September 2026. Those dates come from our own scans of the registry and the channel itself, not from anything the publisher announced.

## Links

- Remote endpoint: https://www.drgsystem.de/mcp
- Website: https://www.drgsystem.de/mcp-service
- Changelog RSS feed: https://verifymcp.io/servers/de-drgsystem-medical-catalogs/www.xml
- Changelog JSON feed: https://verifymcp.io/servers/de-drgsystem-medical-catalogs/www.json
- HTML version of this page: https://verifymcp.io/servers/de-drgsystem-medical-catalogs/www
