Skip to main content
Glama

DRGSystem — German medical coding catalogs

Zusatzentgelt abrufen

ze_get
Read-onlyIdempotent

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 Schema

NameRequiredDescriptionDefault
codeNoZE-Kode (z. B. 'ZE01' oder 'ZE130.01'). Leer lassen für die oberste Ebene des Katalogs.
yearNoKatalogjahr — nur angeben, wenn ausdrücklich eine bestimmte Fassung gebraucht wird. Leer lassen (empfohlen): dann kommt die jüngste Fassung, in der es den Kode gibt, auch für inzwischen entfallene Kodes; welcher Jahrgang das ist, steht in 'year' der Antwort.

Output Schema

NameRequiredDescriptionDefault
infoNoWas über den Jahrgang zu wissen ist, etwa «Version 2026» (ICD-10-GM 2027) oder «Vorabfassung». Null ohne.
yearNoKatalogjahr, aus dem alle Daten dieser Antwort stammen.
focusNoDer abgefragte Kode mit allen Detaildaten. Null bei einer Suche und beim Katalog-Einstieg (leerer Kode).
itemsNoDie Kodeliste der Antwort: bei einer Abfrage die direkt untergeordneten Kodes von 'focus' (bzw. die oberste Ebene bei leerem Kode), bei einer Suche die Treffer.
parentsNoÜbergeordnete Kodes von 'focus' als Pfad von der obersten Ebene abwärts (Brotkrumen). Leer bei einer Suche und beim Katalog-Einstieg.
interpretationNoNur bei einer Suche: wie die Suche die Anfrage gelesen hat. Null außerhalb der Suche.

Schema Changelog

Changes observed during successful MCP inspections.

  1. Changed1 schema field changed
    • changedInput schema / properties / year / description
      Previous value: -"Katalogjahr (z. B. 2026). Leer lassen für das aktuellste verfügbare Jahr."New value: +"Katalogjahr — nur angeben, wenn ausdrücklich eine bestimmte Fassung gebraucht wird. Leer lassen (empfohlen): dann kommt die jüngste Fassung, in der es den Kode gibt, auch für inzwischen entfallene Kodes; welcher Jahrgang das ist, steht in 'year' der Antwort."
  2. Changed1 schema field changed
    • addedOutput schema / properties / info
      Added value: +{
      +  "description": "Was über den Jahrgang zu wissen ist, etwa «Version 2026» (ICD-10-GM 2027) oder «Vorabfassung». Null ohne.",
      +  "properties": {
      +    "subname": {
      +      "description": "Zusatz zum Namen des Jahrgangs, etwa «Version 2026» oder «Vorabfassung». Null ohne Zusatz.",
      +      "type": [
      +        "string",
      +        "null"
      +      ]
      +    },
      +    "subnameComment": {
      +      "description": "Erläuterung zum Zusatz in einem Satz oder zwei. Null ohne Erläuterung.",
      +      "type": [
      +        "string",
      +        "null"
      +      ]
      +    }
      +  },
      +  "type": [
      +    "object",
      +    "null"
      +  ]
      +}
  3. Changed3 schema fields changed
    • addedOutput schema / properties / focus / properties / peppZusatzentgelte
      Added value: +{
      +  "description": "Zusatzentgelte des PEPP-Entgeltkatalogs (ZP, Psychiatrie und Psychosomatik), die dieselben OPS-Einträge listen, mit Betrag. Bei einem ZE mit Unterpositionen das übergeordnete ZP (z. B. ZP04 zu ZE30).",
      +  "properties": {
      +    "sourceYear": {
      +      "description": "Jahrgang des Katalogs, aus dem der Wert stammt. Weicht er vom abgefragten Jahr ab, liegen für das abgefragte Jahr noch keine Daten vor und es wird der letzte verfügbare Jahrgang gezeigt.",
      +      "type": "integer"
      +    },
      +    "value": {
      +      "description": "Der eigentliche Wert.",
      +      "items": {
      +        "properties": {
      +          "code": {
      +            "description": "Normalisierter Schlüssel ohne Trennzeichen, wie er für Abfragen und URLs verwendet wird (z. B. 'A010' für den ICD-Kode A01.0). Dieser Wert ist als 'code' an alle Katalog-Funktionen zurückzugeben.",
      +            "type": [
      +              "string",
      +              "null"
      +            ]
      +          },
      +          "description": {
      +            "description": "Amtlicher Titel des Kodes (Diagnose-, Prozedur- bzw. Entgeltbezeichnung).",
      +            "type": [
      +              "string",
      +              "null"
      +            ]
      +          },
      +          "fullCode": {
      +            "description": "Der Kode in der amtlichen Schreibweise, wie er dem Anwender angezeigt und in Dokumenten kodiert wird (z. B. 'A01.0', '5-470.0').",
      +            "type": [
      +              "string",
      +              "null"
      +            ]
      +          },
      +          "price": {
      +            "description": "Bundeseinheitlicher Betrag des Zusatzentgelts in Euro. Null bei unbewerteten Zusatzentgelten und bei ZP, deren Betrag erst die Differenzierung (ZPD) nach Dosis oder Menge trägt.",
      +            "type": [
      +              "number",
      +              "null"
      +            ]
      +          },
      +          "source": {
      +            "description": "Herkunft: 'Bewertet' = Anlage 3 mit bundeseinheitlichem Betrag, 'Unbewertet' = Anlage 4, krankenhausindividuell zu vereinbaren.",
      +            "enum": [
      +              "Undefined",
      +              "Bewertet",
      +              "Unbewertet"
      +            ],
      +            "type": "string"
      +          }
      +        },
      +        "type": "object"
      +      },
      +      "type": "array"
      +    }
      +  },
      +  "type": [
      +    "object",
      +    "null"
      +  ]
      +}
    • addedOutput schema / properties / focus / properties / wirkstoffe
      Added value: +{
      +  "description": "Wirkstoff(e) im ATC zu den auslösenden Medikamenten-Kodes 6-00x (geprüfte Zuordnung OPS ↔ ATC).",
      +  "properties": {
      +    "sourceYear": {
      +      "description": "Jahrgang des Katalogs, aus dem der Wert stammt. Weicht er vom abgefragten Jahr ab, liegen für das abgefragte Jahr noch keine Daten vor und es wird der letzte verfügbare Jahrgang gezeigt.",
      +      "type": "integer"
      +    },
      +    "value": {
      +      "description": "Der eigentliche Wert.",
      +      "items": {
      +        "properties": {
      +          "code": {
      +            "description": "Normalisierter Schlüssel ohne Trennzeichen, wie er für Abfragen und URLs verwendet wird (z. B. 'A010' für den ICD-Kode A01.0). Dieser Wert ist als 'code' an alle Katalog-Funktionen zurückzugeben.",
      +            "type": [
      +              "string",
      +              "null"
      +            ]
      +          },
      +          "description": {
      +            "description": "Amtlicher Titel des Kodes (Diagnose-, Prozedur- bzw. Entgeltbezeichnung).",
      +            "type": [
      +              "string",
      +              "null"
      +            ]
      +          },
      +          "fullCode": {
      +            "description": "Der Kode in der amtlichen Schreibweise, wie er dem Anwender angezeigt und in Dokumenten kodiert wird (z. B. 'A01.0', '5-470.0').",
      +            "type": [
      +              "string",
      +              "null"
      +            ]
      +          }
      +        },
      +        "type": "object"
      +      },
      +      "type": "array"
      +    }
      +  },
      +  "type": [
      +    "object",
      +    "null"
      +  ]
      +}
    • addedOutput schema / properties / items / items / properties / peppZusatzentgelte
      Added value: +{
      +  "description": "Zusatzentgelte des PEPP-Entgeltkatalogs (ZP, Psychiatrie und Psychosomatik), die dieselben OPS-Einträge listen — mit Betrag; bei einem ZE mit Unterpositionen das übergeordnete ZP.",
      +  "properties": {
      +    "sourceYear": {
      +      "description": "Jahrgang des Katalogs, aus dem der Wert stammt. Weicht er vom abgefragten Jahr ab, liegen für das abgefragte Jahr noch keine Daten vor und es wird der letzte verfügbare Jahrgang gezeigt.",
      +      "type": "integer"
      +    },
      +    "value": {
      +      "$ref": "#/properties/focus/properties/peppZusatzentgelte/properties/value",
      +      "description": "Der eigentliche Wert.",
      +      "items": {}
      +    }
      +  },
      +  "type": [
      +    "object",
      +    "null"
      +  ]
      +}
  4. Changed4 schema fields changed
    • removedOutput schema / properties / focus / properties / descriptionHighlight
      Removed value: -{
      -  "description": "Nur für die Trefferhervorhebung im Web-Katalog: Gewicht je Zeichen von 'description' — wie wörtlich die Suchanfrage das jeweilige Wort getroffen hat. 1,00 das Wort selbst, 0,75 eine Wortform oder ein Präfix, 0,50 ein Bestandteil eines zusammengesetzten Wortes, 0,25 ein Synonym oder ein korrigierter Tippfehler. Null, wenn die Anfrage diesen Text nicht berührt hat. Über MCP immer null.",
      -  "items": {
      -    "type": "number"
      -  },
      -  "type": [
      -    "array",
      -    "null"
      -  ]
      -}
    • removedOutput schema / properties / focus / properties / matchedTermHighlight
      Removed value: -{
      -  "description": "Nur für die Trefferhervorhebung im Web-Katalog: Gewicht je Zeichen von 'matchedTerm', gleiche Skala wie 'descriptionHighlight'. Über MCP immer null.",
      -  "items": {
      -    "type": "number"
      -  },
      -  "type": [
      -    "array",
      -    "null"
      -  ]
      -}
    • removedOutput schema / properties / items / items / properties / descriptionHighlight
      Removed value: -{
      -  "description": "Nur für die Trefferhervorhebung im Web-Katalog: Gewicht je Zeichen von 'description' — wie wörtlich die Suchanfrage das jeweilige Wort getroffen hat. 1,00 das Wort selbst, 0,75 eine Wortform oder ein Präfix, 0,50 ein Bestandteil eines zusammengesetzten Wortes, 0,25 ein Synonym oder ein korrigierter Tippfehler. Null, wenn die Anfrage diesen Text nicht berührt hat. Über MCP immer null.",
      -  "items": {
      -    "type": "number"
      -  },
      -  "type": [
      -    "array",
      -    "null"
      -  ]
      -}
    • removedOutput schema / properties / items / items / properties / matchedTermHighlight
      Removed value: -{
      -  "description": "Nur für die Trefferhervorhebung im Web-Katalog: Gewicht je Zeichen von 'matchedTerm', gleiche Skala wie 'descriptionHighlight'. Über MCP immer null.",
      -  "items": {
      -    "type": "number"
      -  },
      -  "type": [
      -    "array",
      -    "null"
      -  ]
      -}
  5. Changed4 schema fields changed
    • changedOutput schema / properties / focus / properties / ops / items / properties / appliesToAllSubcodes / description
      Previous value: -"True, wenn der Kode mit '*)' gekennzeichnet ist und damit für alle fünf- und sechsstelligen Kodes darunter gilt."New value: +"True, wenn der Katalog ein Muster mit '*' druckt, das mehrere fünf- oder sechsstellige Kodes erfasst — siehe 'pattern'."
    • changedOutput schema / properties / focus / properties / ops / items / properties / code / description
      Previous value: -"Normalisierter Schlüssel des OPS-Kodes, wie er an die OPS-Funktionen zurückzugeben ist (z. B. '8836n1')."New value: +"Normalisierter Schlüssel des OPS-Kodes, wie er an die OPS-Funktionen zurückzugeben ist (z. B. '8836n1'). Bei einem Muster mit '*' der feste Teil davor — der Kode, unter dem alle erfassten Kodes liegen (bei 8-826.*2 also '8826')."
    • changedOutput schema / properties / focus / properties / ops / items / properties / fullCode / description
      Previous value: -"Der OPS-Kode in amtlicher Schreibweise (z. B. '8-836.n1')."New value: +"Der OPS-Kode in amtlicher Schreibweise, bei einem Muster mit '*' wie gedruckt (z. B. '8-836.n1', '8-826.*2')."
    • addedOutput schema / properties / focus / properties / ops / items / properties / pattern
      Added value: +{
      +  "description": "Normalisiertes Muster, wenn der Katalog statt eines Kodes ein Muster druckt: jedes '*' steht für genau eine beliebige Stelle (z. B. '8826*2' für 8-826.*2 = 8-826.02, 8-826.12). Erfasst sind alle Kodes, deren Anfang auf das Muster passt. Null bei einem einzelnen Kode.",
      +  "type": [
      +    "string",
      +    "null"
      +  ]
      +}
  6. Changed15 schema fields changed
    • changedOutput schema / properties / focus / properties / descriptionHighlight / description
      Previous value: -"Nur für die Trefferhervorhebung im Web-Katalog: Gewicht je Zeichen von 'description'. Über MCP immer null."New value: +"Nur für die Trefferhervorhebung im Web-Katalog: Gewicht je Zeichen von 'description' — wie wörtlich die Suchanfrage das jeweilige Wort getroffen hat. 1,00 das Wort selbst, 0,75 eine Wortform oder ein Präfix, 0,50 ein Bestandteil eines zusammengesetzten Wortes, 0,25 ein Synonym oder ein korrigierter Tippfehler. Null, wenn die Anfrage diesen Text nicht berührt hat. Über MCP immer null."
    • addedOutput schema / properties / focus / properties / groupCode
      Added value: +{
      +  "description": "Nur bei einer Suche: die Rubrik, unter der die Suche diesen Treffer einordnet — beim ICD die dreistellige Kategorie, beim OPS der vierstellige Kode. Die Liste bleibt flach; wer mag, gruppiert danach. Null außerhalb der Suche.",
      +  "type": [
      +    "string",
      +    "null"
      +  ]
      +}
    • addedOutput schema / properties / focus / properties / isGroupHeader
      Added value: +{
      +  "description": "Nur bei einer Suche: True, wenn diese Zeile die Rubrik selbst ist und die folgenden Zeilen mit gleichem 'groupCode' ihre Kodes sind.",
      +  "type": "boolean"
      +}
    • addedOutput schema / properties / focus / properties / isSemanticMatch
      Added value: +{
      +  "description": "Nur bei einer Suche: True, wenn kein Wort der Anfrage diesen Kode erreicht hat und er über die Bedeutung gefunden wurde. Dann gibt es nichts hervorzuheben.",
      +  "type": "boolean"
      +}
    • addedOutput schema / properties / focus / properties / matchedTerm
      Added value: +{
      +  "description": "Nur bei einer Suche: die Formulierung, über die der Treffer gefunden wurde, wenn sie etwas sagt, was 'description' nicht sagt — etwa der Eintrag des Alphabetischen Verzeichnisses, unter dem der Kode nachgewiesen ist. Null, wenn der Treffer sich aus der Bezeichnung selbst erklärt.",
      +  "type": [
      +    "string",
      +    "null"
      +  ]
      +}
    • addedOutput schema / properties / focus / properties / matchedTermHighlight
      Added value: +{
      +  "description": "Nur für die Trefferhervorhebung im Web-Katalog: Gewicht je Zeichen von 'matchedTerm', gleiche Skala wie 'descriptionHighlight'. Über MCP immer null.",
      +  "items": {
      +    "type": "number"
      +  },
      +  "type": [
      +    "array",
      +    "null"
      +  ]
      +}
    • changedOutput schema / properties / focus / properties / treeDepth / description
      Previous value: -"Nur wenn die Liste ein aufgeklapptes Teilbaum-Listing ist: Tiefe dieser Zeile innerhalb der Liste (0 = direkt unter dem abgefragten Kode, 1 = dessen Kind usw.). Null bedeutet, dass die Zeilen der Liste in keinem Über-/Unterordnungsverhältnis zueinander stehen — etwa bei einer Suche."New value: +"Nur wenn die Liste ein aufgeklapptes Teilbaum-Listing ist: Tiefe dieser Zeile innerhalb der Liste (0 = direkt unter dem abgefragten Kode, 1 = dessen Kind usw.). Bei einer Suche null — dort sagt 'groupCode', wohin eine Zeile gehört, und die Gliederung entsteht durch Blöcke statt durch Einrückung."
    • addedOutput schema / properties / interpretation
      Added value: +{
      +  "description": "Nur bei einer Suche: wie die Suche die Anfrage gelesen hat. Null außerhalb der Suche.",
      +  "properties": {
      +    "detectedCode": {
      +      "description": "Im Suchtext erkannte Schlüsselnummer, normalisiert (z. B. 'I219', '5820'). Null, wenn die Anfrage nur Text war.",
      +      "type": [
      +        "string",
      +        "null"
      +      ]
      +    },
      +    "expandedTerms": {
      +      "description": "Aufgelöste Abkürzungen, mit denen zusätzlich gesucht wurde — etwa 'KHK' auch als 'Koronare Herzkrankheit'.",
      +      "items": {
      +        "type": "string"
      +      },
      +      "type": "array"
      +    },
      +    "usedSemanticSearch": {
      +      "description": "True, wenn die Wortsuche keinen sicheren Treffer hatte und zusätzlich nach Bedeutung gesucht wurde.",
      +      "type": "boolean"
      +    }
      +  },
      +  "type": [
      +    "object",
      +    "null"
      +  ]
      +}
    • changedOutput schema / properties / items / items / properties / descriptionHighlight / description
      Previous value: -"Nur für die Trefferhervorhebung im Web-Katalog: Gewicht je Zeichen von 'description'. Über MCP immer null."New value: +"Nur für die Trefferhervorhebung im Web-Katalog: Gewicht je Zeichen von 'description' — wie wörtlich die Suchanfrage das jeweilige Wort getroffen hat. 1,00 das Wort selbst, 0,75 eine Wortform oder ein Präfix, 0,50 ein Bestandteil eines zusammengesetzten Wortes, 0,25 ein Synonym oder ein korrigierter Tippfehler. Null, wenn die Anfrage diesen Text nicht berührt hat. Über MCP immer null."
    • addedOutput schema / properties / items / items / properties / groupCode
      Added value: +{
      +  "description": "Nur bei einer Suche: die Rubrik, unter der die Suche diesen Treffer einordnet — beim ICD die dreistellige Kategorie, beim OPS der vierstellige Kode. Die Liste bleibt flach; wer mag, gruppiert danach. Null außerhalb der Suche.",
      +  "type": [
      +    "string",
      +    "null"
      +  ]
      +}
    • addedOutput schema / properties / items / items / properties / isGroupHeader
      Added value: +{
      +  "description": "Nur bei einer Suche: True, wenn diese Zeile die Rubrik selbst ist und die folgenden Zeilen mit gleichem 'groupCode' ihre Kodes sind.",
      +  "type": "boolean"
      +}
    • addedOutput schema / properties / items / items / properties / isSemanticMatch
      Added value: +{
      +  "description": "Nur bei einer Suche: True, wenn kein Wort der Anfrage diesen Kode erreicht hat und er über die Bedeutung gefunden wurde. Dann gibt es nichts hervorzuheben.",
      +  "type": "boolean"
      +}
    • addedOutput schema / properties / items / items / properties / matchedTerm
      Added value: +{
      +  "description": "Nur bei einer Suche: die Formulierung, über die der Treffer gefunden wurde, wenn sie etwas sagt, was 'description' nicht sagt — etwa der Eintrag des Alphabetischen Verzeichnisses, unter dem der Kode nachgewiesen ist. Null, wenn der Treffer sich aus der Bezeichnung selbst erklärt.",
      +  "type": [
      +    "string",
      +    "null"
      +  ]
      +}
    • addedOutput schema / properties / items / items / properties / matchedTermHighlight
      Added value: +{
      +  "description": "Nur für die Trefferhervorhebung im Web-Katalog: Gewicht je Zeichen von 'matchedTerm', gleiche Skala wie 'descriptionHighlight'. Über MCP immer null.",
      +  "items": {
      +    "type": "number"
      +  },
      +  "type": [
      +    "array",
      +    "null"
      +  ]
      +}
    • changedOutput schema / properties / items / items / properties / treeDepth / description
      Previous value: -"Nur wenn die Liste ein aufgeklapptes Teilbaum-Listing ist: Tiefe dieser Zeile innerhalb der Liste (0 = direkt unter dem abgefragten Kode, 1 = dessen Kind usw.). Null bedeutet, dass die Zeilen der Liste in keinem Über-/Unterordnungsverhältnis zueinander stehen — etwa bei einer Suche."New value: +"Nur wenn die Liste ein aufgeklapptes Teilbaum-Listing ist: Tiefe dieser Zeile innerhalb der Liste (0 = direkt unter dem abgefragten Kode, 1 = dessen Kind usw.). Bei einer Suche null — dort sagt 'groupCode', wohin eine Zeile gehört, und die Gliederung entsteht durch Blöcke statt durch Einrückung."
  7. First observed

TDQS

A3.7/5.0
Behavior4/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations already declare readOnly, idempotent and closed-world, so the safety profile is covered. The description still adds behavioral value by spelling out the depth of the payload, including the subtle 'grau hinterlegte Kombinationspartner' on OPS codes and footnote contents (age limits, minimum stay, exclusions).

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness4/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Two sentences, front-loaded with the core behavior and followed by the no-argument case. The middle enumeration is dense but each item maps to real output content, so little is wasted.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness4/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

With annotations covering safety and an output schema present, the description does not need to explain return structure, yet it helpful does. What remains thin is the get-vs-search relationship, which matters given the ze_search sibling.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema coverage is 100%, so both parameters are already documented, including the year fallback behavior. The description's remark about calling without a code returning the catalog top level merely restates the schema's 'Leer lassen' note, adding no format or semantics beyond it — baseline 3 applies.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose4/5

Does the description clearly state what the tool does and how it differs from similar tools?

States a specific verb and resource ('Liefert ... alle Angaben zu einem Zusatzentgelt') and enumerates exactly what comes back: amount, triggering OPS codes, ICD codes, fallpauschalen, footnotes. It does not name the sibling ze_search to draw the get-vs-search boundary, so it stops short of a 5.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines3/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The note that calling without a code returns the top level of the catalog is an implied usage rule, but there is no explicit guidance on when to use this instead of ze_search or when a specific year should be supplied (that lives only in the schema). Usage is inferable rather than stated.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

Try in Browser

Glama MCP Gateway

Add one secure layer between your agents and this server.

Resources