Skip to main content
Glama

DRGSystem — German medical coding catalogs

OPS durchsuchen

ops_search
Read-onlyIdempotent

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 Schema

TableJSON Schema
NameRequiredDescriptionDefault
yearNoKatalogjahr (z. B. 2026). Leer lassen für das aktuellste verfügbare Jahr.
limitNoMaximale Anzahl Treffer, 1 bis 100. Standard 25.
queryYesSuchbegriff: OPS-Kode (z. B. '5-470', '5470', '5-820.00') oder Prozedurtext (z. B. 'Appendektomie', 'Endoprothese Hüftgelenk').

Output Schema

TableJSON Schema
NameRequiredDescriptionDefault
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. Changed15 schema fields changed
    • addedOutput schema / properties / focus / properties / atcItems
      Added value: +{
      +  "description": "ATC-Kodes des Wirkstoffs, nur bei Medikamenten-Kodes 6-00x. Die Zuordnung pflegt das Portal; der OPS selbst verweist nicht auf ATC-Kodes. Null, wenn es keine gibt.",
      +  "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": {
      +          "classificationLevel": {
      +            "description": "Tiefe des Kodes in der Katalog-Hierarchie (0 = oberste Ebene).",
      +            "type": "integer"
      +          },
      +          "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"
      +            ]
      +          },
      +          "ddd": {
      +            "description": "Definierte Tagesdosis (DDD) des Wirkstoffs mit Einheit und Applikationsweg, wie im amtlichen ATC-Index angegeben.",
      +            "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"
      +            ]
      +          },
      +          "groupCode": {
      +            "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"
      +            ]
      +          },
      +          "icdCodes": {
      +            "description": "ICD-10-Kodes der Indikationen, denen der Wirkstoff zugeordnet ist — Kode und Bezeichnung. Die vollständigen Datensätze liefert die Detailabfrage des Kodes.",
      +            "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"
      +            ]
      +          },
      +          "isGroupHeader": {
      +            "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"
      +          },
      +          "isSemanticMatch": {
      +            "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"
      +          },
      +          "isTerminal": {
      +            "description": "True, wenn der Kode ein Blatt der Hierarchie ist und damit selbst kodiert werden kann; false, wenn er nur eine Gruppe untergeordneter Kodes ist.",
      +            "type": [
      +              "boolean",
      +              "null"
      +            ]
      +          },
      +          "matchedTerm": {
      +            "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"
      +            ]
      +          },
      +          "opsCodes": {
      +            "description": "OPS-Medikamenten-Kodes (6-00x) für die Gabe dieses Wirkstoffs — Kode und Bezeichnung. Die Zuordnung pflegt das Portal; der OPS selbst verweist nicht auf ATC-Kodes.",
      +            "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"
      +            ]
      +          },
      +          "treeDepth": {
      +            "description": "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.",
      +            "type": [
      +              "integer",
      +              "null"
      +            ]
      +          }
      +        },
      +        "type": "object"
      +      },
      +      "type": "array"
      +    }
      +  },
      +  "type": [
      +    "object",
      +    "null"
      +  ]
      +}
    • removedOutput schema / properties / focus / properties / dkrReferences
      Removed value: -{
      -  "description": "Deutsche Kodierrichtlinien (DKR), die diesen Kode ausdrücklich nennen.",
      -  "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 / focus / properties / regellage
      Added value: +{
      +  "description": "Regellage: alle Regeln außerhalb des Katalogs, die für diesen Kode im Katalogjahr gelten — Kodierrichtlinien, Schlichtungsentscheidungen, SEG-4-Kodierempfehlungen —, die verbindlichste zuerst. Null, wenn es keine gibt. Für einen konkreten Fall mit Aufnahmedatum 'rules_for_code' mit 'aufnahmedatum' verwenden.",
      +  "properties": {
      +    "aufnahme": {
      +      "description": "Nur bei 'rules_for_case': Aufnahmedatum des Falls (yyyy-MM-dd).",
      +      "type": [
      +        "string",
      +        "null"
      +      ]
      +    },
      +    "gesamt": {
      +      "description": "Anzahl aller Ereignisse in 'items'.",
      +      "type": "integer"
      +    },
      +    "items": {
      +      "description": "Die Ereignisse, das verbindlichste zuerst, innerhalb gleicher Verbindlichkeit das jüngste zuerst.",
      +      "items": {
      +        "properties": {
      +          "aktenzeichen": {
      +            "description": "Aktenzeichen oder Nummer in der Quelle.",
      +            "type": [
      +              "string",
      +              "null"
      +            ]
      +          },
      +          "aktualisiert": {
      +            "description": "Datum der letzten Überarbeitung durch die Quelle (yyyy-MM-dd).",
      +            "type": [
      +              "string",
      +              "null"
      +            ]
      +          },
      +          "anhaenge": {
      +            "description": "Dokumente der Quelle zu diesem Ereignis, je Fassung mit Geltungsjahren (neueste zuerst).",
      +            "items": {
      +              "properties": {
      +                "groesse": {
      +                  "description": "Größe laut Quelle, z. B. '150KB'.",
      +                  "type": [
      +                    "string",
      +                    "null"
      +                  ]
      +                },
      +                "jahrBis": {
      +                  "description": "Letztes Katalogjahr dieser Fassung; null = gilt weiter bzw. unbekannt.",
      +                  "type": [
      +                    "integer",
      +                    "null"
      +                  ]
      +                },
      +                "jahrVon": {
      +                  "description": "Erstes Katalogjahr dieser Fassung, falls die Quelle es nennt.",
      +                  "type": [
      +                    "integer",
      +                    "null"
      +                  ]
      +                },
      +                "titel": {
      +                  "description": "Titel des Dokuments.",
      +                  "type": "string"
      +                },
      +                "url": {
      +                  "description": "Adresse des Dokuments.",
      +                  "type": "string"
      +                }
      +              },
      +              "type": "object"
      +            },
      +            "type": [
      +              "array",
      +              "null"
      +            ]
      +          },
      +          "anwendbarkeit": {
      +            "description": "Nur bei der Prüfung eines Falls: ob das Ereignis für diesen Fall gilt.",
      +            "enum": [
      +              "Gilt",
      +              "NurBeiLaufenderPruefung",
      +              "GiltWegenLaufenderPruefung",
      +              "NachAufnahmeVeroeffentlicht",
      +              "AnderesAufnahmedatum",
      +              "AndererJahrgang",
      +              null
      +            ],
      +            "type": [
      +              "string",
      +              "null"
      +            ]
      +          },
      +          "fachgebiete": {
      +            "description": "Fachgebiete, die das Ereignis vor allem betrifft (Destatis-Fallverteilung bzw. OPS-Kodebereich). Leer = fachübergreifend.",
      +            "items": {
      +              "type": "string"
      +            },
      +            "type": [
      +              "array",
      +              "null"
      +            ]
      +          },
      +          "geerbtVon": {
      +            "description": "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.",
      +            "type": [
      +              "string",
      +              "null"
      +            ]
      +          },
      +          "gilt": {
      +            "description": "Wofür das Ereignis gilt.",
      +            "properties": {
      +              "aufnahmeBis": {
      +                "description": "Gilt für Aufnahmen bis zu diesem Tag (yyyy-MM-dd).",
      +                "type": [
      +                  "string",
      +                  "null"
      +                ]
      +              },
      +              "aufnahmeVon": {
      +                "description": "Gilt für Aufnahmen ab diesem Tag (yyyy-MM-dd).",
      +                "type": [
      +                  "string",
      +                  "null"
      +                ]
      +              },
      +              "katalogJahrBis": {
      +                "description": "Letzter Katalogjahrgang, für den das Ereignis gilt. Leer: bis heute.",
      +                "type": [
      +                  "integer",
      +                  "null"
      +                ]
      +              },
      +              "katalogJahrVon": {
      +                "description": "Erster Katalogjahrgang, für den das Ereignis gilt.",
      +                "type": [
      +                  "integer",
      +                  "null"
      +                ]
      +              },
      +              "laufendePruefungAm": {
      +                "description": "Gilt außerdem für Rechnungen, die an diesem Stichtag (yyyy-MM-dd) in einer laufenden MD-Prüfung waren — auch wenn die Aufnahme vor 'aufnahmeVon' liegt.",
      +                "type": [
      +                  "string",
      +                  "null"
      +                ]
      +              }
      +            },
      +            "type": [
      +              "object",
      +              "null"
      +            ]
      +          },
      +          "id": {
      +            "description": "Kennung des Ereignisses, an 'rules_get' zurückzugeben.",
      +            "type": "string"
      +          },
      +          "kurzfassung": {
      +            "description": "Worum es geht, in ein bis drei Sätzen.",
      +            "type": [
      +              "string",
      +              "null"
      +            ]
      +          },
      +          "pruefstatus": {
      +            "description": "Wie die Angaben entstanden sind.",
      +            "enum": [
      +              "Automatisch",
      +              "Ki",
      +              "Geprueft"
      +            ],
      +            "type": "string"
      +          },
      +          "quelle": {
      +            "description": "Art der Quelle.",
      +            "enum": [
      +              "Dkr",
      +              "Schlichtung",
      +              "Klarstellung",
      +              "BfarmFaq",
      +              "Seg4",
      +              "MdRichtlinie",
      +              "Bsg",
      +              "Lsg",
      +              "Foka",
      +              "Verband"
      +            ],
      +            "type": "string"
      +          },
      +          "rolle": {
      +            "description": "Rolle des abgefragten Kodes in diesem Ereignis. Null in Listen ohne Kodebezug.",
      +            "enum": [
      +              "Betrifft",
      +              "Abgrenzung",
      +              "Erwaehnt",
      +              "Beispiel",
      +              null
      +            ],
      +            "type": [
      +              "string",
      +              "null"
      +            ]
      +          },
      +          "seite": {
      +            "description": "Seite dieses Portals mit dem vollständigen Text, falls vorhanden.",
      +            "type": [
      +              "string",
      +              "null"
      +            ]
      +          },
      +          "stellungnahmen": {
      +            "description": "Positionen Dritter, z. B. FoKA: Konsens / Dissens. Ein Dissens heißt: die Frage ist zwischen MD und Krankenhäusern umstritten.",
      +            "items": {
      +              "properties": {
      +                "position": {
      +                  "description": "Position: 'Konsens', 'Konsens mit Kommentar', 'Dissens'.",
      +                  "type": "string"
      +                },
      +                "stand": {
      +                  "description": "Stand der Position (yyyy-MM-dd), falls angegeben.",
      +                  "type": [
      +                    "string",
      +                    "null"
      +                  ]
      +                },
      +                "url": {
      +                  "description": "Seite mit der Stellungnahme.",
      +                  "type": [
      +                    "string",
      +                    "null"
      +                  ]
      +                },
      +                "von": {
      +                  "description": "Wer Stellung nimmt, z. B. 'FoKA'.",
      +                  "type": "string"
      +                }
      +              },
      +              "type": "object"
      +            },
      +            "type": [
      +              "array",
      +              "null"
      +            ]
      +          },
      +          "titel": {
      +            "description": "Titel, wie ihn die Quelle führt.",
      +            "type": "string"
      +          },
      +          "url": {
      +            "description": "Adresse der Originalquelle.",
      +            "type": [
      +              "string",
      +              "null"
      +            ]
      +          },
      +          "verbindlichkeit": {
      +            "description": "Für wen das Ereignis bindend ist.",
      +            "enum": [
      +              "Amtlich",
      +              "FuerAlle",
      +              "FuerMd",
      +              "Rechtsprechung",
      +              "Meinung"
      +            ],
      +            "type": "string"
      +          },
      +          "veroeffentlicht": {
      +            "description": "Datum der Veröffentlichung (yyyy-MM-dd).",
      +            "type": [
      +              "string",
      +              "null"
      +            ]
      +          },
      +          "volltext": {
      +            "description": "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.",
      +            "items": {
      +              "properties": {
      +                "text": {
      +                  "description": "Text unverändert; Absätze durch Leerzeilen, «### » Zwischenüberschrift, «- » Aufzählung, «| » Tabellenzeile.",
      +                  "type": "string"
      +                },
      +                "titel": {
      +                  "description": "Überschrift des Abschnitts, wie in der Quelle.",
      +                  "type": "string"
      +                }
      +              },
      +              "type": "object"
      +            },
      +            "type": [
      +              "array",
      +              "null"
      +            ]
      +          },
      +          "volltextZeichen": {
      +            "description": "Länge des Wortlauts in Zeichen, wenn er in der Liste nicht mitgeliefert wird.",
      +            "type": [
      +              "integer",
      +              "null"
      +            ]
      +          }
      +        },
      +        "type": "object"
      +      },
      +      "type": "array"
      +    },
      +    "jahr": {
      +      "description": "Katalogjahr, auf das die Ereignisse gefiltert sind. Null: alle Jahrgänge.",
      +      "type": [
      +        "integer",
      +        "null"
      +      ]
      +    },
      +    "katalog": {
      +      "description": "Katalog des abgefragten Kodes.",
      +      "enum": [
      +        "ATC",
      +        "DRG",
      +        "DKR",
      +        "ICD",
      +        "IcdStats",
      +        "Orphanet",
      +        "OPS",
      +        "OpsStats",
      +        "PEPP",
      +        "ZE",
      +        "KH",
      +        "IcdAlpha",
      +        "SEG4KDE",
      +        "OpsAlpha",
      +        "LG",
      +        "BFW"
      +      ],
      +      "type": "string"
      +    },
      +    "kode": {
      +      "description": "Der abgefragte Kode, normalisiert.",
      +      "type": "string"
      +    },
      +    "pruefungAm": {
      +      "description": "Nur bei 'rules_for_case': Datum, an dem die Rechnung in MD-Prüfung war (yyyy-MM-dd).",
      +      "type": [
      +        "string",
      +        "null"
      +      ]
      +    },
      +    "strittig": {
      +      "description": "Anzahl der Ereignisse mit Dissens (z. B. FoKA widerspricht der SEG-4-Empfehlung) — offene Streitfragen.",
      +      "type": "integer"
      +    },
      +    "verbindlich": {
      +      "description": "Anzahl der Ereignisse, die für alle verbindlich sind (amtlich, Kodierrichtlinie, Schlichtung).",
      +      "type": "integer"
      +    },
      +    "zuletztVeroeffentlicht": {
      +      "description": "Datum des jüngsten Ereignisses (yyyy-MM-dd).",
      +      "type": [
      +        "string",
      +        "null"
      +      ]
      +    }
      +  },
      +  "type": [
      +    "object",
      +    "null"
      +  ]
      +}
    • removedOutput schema / properties / focus / properties / seg4KdeReferences
      Removed value: -{
      -  "description": "Kodierempfehlungen der SEG-4 der MDK-Gemeinschaft, die diesen Kode nennen.",
      -  "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": "Nummer der SEG-4-Kodierempfehlung.",
      -            "type": "string"
      -          },
      -          "description": {
      -            "description": "Titel der Kodierempfehlung.",
      -            "type": "string"
      -          }
      -        },
      -        "type": "object"
      -      },
      -      "type": "array"
      -    }
      -  },
      -  "type": [
      -    "object",
      -    "null"
      -  ]
      -}
    • changedOutput schema / properties / focus / properties / zusatzentgeltCodes / description
      Previous value: -"Zusatzentgelte, die dieser Kode auslöst — weil der Zusatzentgelte-Katalog ihn listet oder einen übergeordneten Kode mit '*)' für alle Subkodes. Nur die Kodes in amtlicher Schreibweise (z. B. 'ZE105.01'); Betrag, Kombinationspartner und Fußnoten liefert die Detailabfrage."New value: +"Zusatzentgelte, die dieser Kode auslöst — weil der Zusatzentgelte-Katalog ihn listet oder einen übergeordneten Kode mit '*)' für alle Subkodes. Kode (z. B. 'ZE105.01') und Bezeichnung; Betrag, Kombinationspartner und Fußnoten liefert die Detailabfrage."
    • addedOutput schema / properties / focus / properties / zusatzentgeltCodes / properties / value / items / properties
      Added value: +{
      +  "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 oder wenn der Katalog einen Verweis abdruckt.",
      +    "type": [
      +      "number",
      +      "null"
      +    ]
      +  },
      +  "priceNote": {
      +    "description": "Wortlaut der Betragsspalte, wenn dort statt einer Zahl ein Verweis steht (z. B. 'siehe Anlage 5').",
      +    "type": [
      +      "string",
      +      "null"
      +    ]
      +  },
      +  "source": {
      +    "description": "Herkunft des Zusatzentgelts: 'Bewertet' = mit bundeseinheitlichem Betrag, 'Unbewertet' = krankenhausindividuell zu vereinbaren.",
      +    "enum": [
      +      "Undefined",
      +      "Bewertet",
      +      "Unbewertet"
      +    ],
      +    "type": "string"
      +  }
      +}
    • changedOutput schema / properties / focus / properties / zusatzentgeltCodes / properties / value / items / type
      Previous value: -"string"New value: +"object"
    • addedOutput schema / properties / items / items / properties / atc
      Added value: +{
      +  "description": "ATC-Kodes des Wirkstoffs, nur bei Medikamenten-Kodes 6-00x (Kode, Bezeichnung). Die Zuordnung pflegt das Portal; der OPS selbst verweist nicht auf ATC-Kodes. Null, wenn es keine gibt.",
      +  "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"
      +  ]
      +}
    • removedOutput schema / properties / items / items / properties / dkrReferences
      Removed value: -{
      -  "description": "Deutsche Kodierrichtlinien (DKR), die diesen Kode ausdrücklich nennen.",
      -  "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/dkrReferences/properties/value",
      -      "description": "Der eigentliche Wert.",
      -      "items": {}
      -    }
      -  },
      -  "type": [
      -    "object",
      -    "null"
      -  ]
      -}
    • addedOutput schema / properties / items / items / properties / ruleCount
      Added value: +{
      +  "description": "Anzahl der Regeln außerhalb des Katalogs, die für diesen Kode im Katalogjahr gelten: Kodierrichtlinien, Schlichtungsentscheidungen, SEG-4-Kodierempfehlungen (ohne Beispiele, einschließlich der vom übergeordneten Kode geerbten). Null, wenn es keine gibt. Die Regeln selbst liefert 'rules_for_code'.",
      +  "type": [
      +    "integer",
      +    "null"
      +  ]
      +}
    • removedOutput schema / properties / items / items / properties / seg4KdeReferences
      Removed value: -{
      -  "description": "Kodierempfehlungen der SEG-4 der MDK-Gemeinschaft, die diesen Kode nennen.",
      -  "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/seg4KdeReferences/properties/value",
      -      "description": "Der eigentliche Wert.",
      -      "items": {}
      -    }
      -  },
      -  "type": [
      -    "object",
      -    "null"
      -  ]
      -}
    • changedOutput schema / properties / items / items / properties / zusatzentgeltCodes / description
      Previous value: -"Zusatzentgelte, die dieser Kode auslöst — weil der Zusatzentgelte-Katalog ihn listet oder einen übergeordneten Kode mit '*)' für alle Subkodes. Nur die Kodes in amtlicher Schreibweise (z. B. 'ZE105.01'); Betrag, Kombinationspartner und Fußnoten liefert die Detailabfrage."New value: +"Zusatzentgelte, die dieser Kode auslöst — weil der Zusatzentgelte-Katalog ihn listet oder einen übergeordneten Kode mit '*)' für alle Subkodes. Kode (z. B. 'ZE105.01') und Bezeichnung; Betrag, Kombinationspartner und Fußnoten liefert die Detailabfrage."
    • addedOutput schema / properties / parents / items / $ref
      Added value: +"#/properties/focus/properties/atcItems/properties/value/items/properties/opsCodes/properties/value/items"
    • removedOutput schema / properties / parents / items / properties
      Removed value: -{
      -  "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"
      -    ]
      -  }
      -}
    • removedOutput schema / properties / parents / items / type
      Removed value: -"object"
  2. Changed8 schema fields changed
    • removedOutput schema / properties / focus / properties / alphaEntries / properties / value / items / properties / code
      Removed value: -{
      -  "description": "Fortlaufende Satznummer des BfArM innerhalb des Alphabetischen Verzeichnisses. Kein OPS-Kode.",
      -  "type": [
      -    "string",
      -    "null"
      -  ]
      -}
    • removedOutput schema / properties / focus / properties / alphaEntries / properties / value / items / properties / textHighlight
      Removed value: -{
      -  "description": "Nur für die Trefferhervorhebung im Web-Katalog: Gewicht je Zeichen von 'text' — 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 außerhalb einer Textsuche. Über MCP immer null.",
      -  "items": {
      -    "type": "number"
      -  },
      -  "type": [
      -    "array",
      -    "null"
      -  ]
      -}
    • 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 / focus / properties / ownTitle
      Removed value: -{
      -  "description": "Titel dieser Stelle allein, ohne die Titel der übergeordneten Stellen: bei 5-820.00 also 'Nicht zementiert' statt der zusammengesetzten Bezeichnung.",
      -  "type": [
      -    "string",
      -    "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"
      -  ]
      -}
    • removedOutput schema / properties / items / items / properties / ownTitle
      Removed value: -{
      -  "description": "Titel dieser Stelle allein, ohne die Titel der übergeordneten Stellen: bei 5-820.00 also 'Nicht zementiert' statt der zusammengesetzten Bezeichnung. Null bei Kapiteln und Bereichen.",
      -  "type": [
      -    "string",
      -    "null"
      -  ]
      -}
  3. Changed5 schema fields changed
    • addedOutput schema / properties / focus / properties / statistics
      Added value: +{
      +  "description": "Wie oft der Kode in deutschen Krankenhäusern erbracht wird (Destatis, DRG-Statistik) — gezählt werden Operationen und Prozeduren, nicht Fälle, hier mit der Aufteilung nach Altersgruppen. Bereichsüberschriften und Kapitel tragen die Summe ihrer Viersteller, Fünf- und Sechssteller die Zahlen ihres Vierstellers; welcher Fall vorliegt, sagt 'scope'. Der Jahrgang ist das Datenjahr der Statistik und hinkt dem Katalog hinterher.",
      +  "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.",
      +      "properties": {
      +        "ageGroups": {
      +          "description": "Aufteilung nach Altersgruppen, aufsteigend. Nur in der Detailansicht eines einzelnen Kodes; in Listen null.",
      +          "items": {
      +            "properties": {
      +              "female": {
      +                "description": "Davon bei weiblichen Patienten.",
      +                "type": "integer"
      +              },
      +              "fromYears": {
      +                "description": "Untergrenze der Altersgruppe in Jahren, einschließlich.",
      +                "type": "integer"
      +              },
      +              "label": {
      +                "description": "Beschriftung der Altersgruppe, wie sie der Bericht führt.",
      +                "type": "string"
      +              },
      +              "male": {
      +                "description": "Davon bei männlichen Patienten.",
      +                "type": "integer"
      +              },
      +              "procedures": {
      +                "description": "Operationen und Prozeduren in dieser Altersgruppe.",
      +                "type": "integer"
      +              },
      +              "toYears": {
      +                "description": "Obergrenze der Altersgruppe in Jahren, ausschließlich. Null bei der offenen obersten Gruppe.",
      +                "type": [
      +                  "integer",
      +                  "null"
      +                ]
      +              }
      +            },
      +            "type": "object"
      +          },
      +          "type": [
      +            "array",
      +            "null"
      +          ]
      +        },
      +        "code": {
      +          "description": "Der Kode, für den die Zahlen gelten. Weicht er vom abgefragten Kode ab, stammen sie vom vierstelligen Obercode.",
      +          "type": "string"
      +        },
      +        "female": {
      +          "description": "Davon bei weiblichen Patienten.",
      +          "type": "integer"
      +        },
      +        "male": {
      +          "description": "Davon bei männlichen Patienten.",
      +          "type": "integer"
      +        },
      +        "procedures": {
      +          "description": "Anzahl der Operationen und Prozeduren im Datenjahr. Gezählt werden Prozeduren, nicht Fälle.",
      +          "type": "integer"
      +        },
      +        "rank": {
      +          "description": "Rang nach Anzahl unter allen Kodes derselben Katalogebene (1 = am häufigsten). 0, wenn kein Rang gebildet wird.",
      +          "type": "integer"
      +        },
      +        "rankTotal": {
      +          "description": "Anzahl der Kodes derselben Katalogebene, unter denen der Rang gebildet ist.",
      +          "type": "integer"
      +        },
      +        "scope": {
      +          "description": "Worauf sich die Zahlen beziehen: 'Code' = der vierstellige Kode selbst, 'Subtree' = zusammengezählt über alle Viersteller unter dieser Bereichsüberschrift oder diesem Kapitel, 'Parent' = der vierstellige Obercode, weil die Statistik feiner nicht aufteilt.",
      +          "enum": [
      +            "Code",
      +            "Subtree",
      +            "Parent"
      +          ],
      +          "type": "string"
      +        },
      +        "shareOfYear": {
      +          "description": "Anteil an allen Operationen und Prozeduren des Datenjahres, zwischen 0 und 1.",
      +          "type": "number"
      +        },
      +        "unknown": {
      +          "description": "Davon ohne Geschlechtsangabe — die Differenz zwischen Gesamtwert und den beiden Geschlechtern. Meist 0.",
      +          "type": "integer"
      +        }
      +      },
      +      "type": "object"
      +    }
      +  },
      +  "type": [
      +    "object",
      +    "null"
      +  ]
      +}
    • addedOutput schema / properties / focus / properties / zusatzentgeltCodes
      Added value: +{
      +  "description": "Zusatzentgelte, die dieser Kode auslöst — weil der Zusatzentgelte-Katalog ihn listet oder einen übergeordneten Kode mit '*)' für alle Subkodes. Nur die Kodes in amtlicher Schreibweise (z. B. 'ZE105.01'); Betrag, Kombinationspartner und Fußnoten liefert die Detailabfrage.",
      +  "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": {
      +        "type": "string"
      +      },
      +      "type": "array"
      +    }
      +  },
      +  "type": [
      +    "object",
      +    "null"
      +  ]
      +}
    • addedOutput schema / properties / focus / properties / zusatzentgelte
      Added value: +{
      +  "description": "Zusatzentgelte, die an diesem Kode hängen, mit Betrag, Art der Verbindung, Kombinationspartnern und den Fußnoten, die über die Abrechenbarkeit entscheiden. Bei Vierstellern und nicht endständigen Fünfstellern auch die Zusatzentgelte, die erst ihre Subkodes auslösen ('match' = 'Subcode').",
      +  "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": {
      +          "allowedDrgCount": {
      +            "description": "Anzahl der Fallpauschalen, neben denen das Zusatzentgelt allein abrechenbar ist (Anlage 8). 0, wenn es keine solche Beschränkung gibt.",
      +            "type": "integer"
      +          },
      +          "combinedWith": {
      +            "description": "Kombinationspartner nach der Fußnote 'Nur abrechenbar in Kombination mit einem der grau hinterlegten OPS-Kodes': für einen grau hinterlegten Kode die Hauptprozeduren, für eine Hauptprozedur die grau hinterlegten Kodes. Null, wenn das Zusatzentgelt keine solche Kombination verlangt.",
      +            "items": {
      +              "$ref": "#/properties/focus/properties/zusatzentgelte/properties/value/items/properties/matchedOps/items"
      +            },
      +            "type": [
      +              "array",
      +              "null"
      +            ]
      +          },
      +          "footnotes": {
      +            "description": "Fußnoten des Katalogs zu diesem Zusatzentgelt und seinem übergeordneten Zusatzentgelt im Volltext — Altersgrenzen, Mindestverweildauer, Schwellenwerte, Kombinationspflichten.",
      +            "items": {
      +              "properties": {
      +                "marker": {
      +                  "description": "Fußnotenzeichen, wie es im Katalog abgedruckt ist, ohne schließende Klammer (z. B. '6', '*').",
      +                  "type": "string"
      +                },
      +                "scope": {
      +                  "description": "Katalogblatt, zu dem der Fußnotenblock gehört (z. B. 'Deckblatt', 'Anlage 5'). Fußnotenzeichen sind nur innerhalb ihres Blocks eindeutig.",
      +                  "type": [
      +                    "string",
      +                    "null"
      +                  ]
      +                },
      +                "text": {
      +                  "description": "Text der Fußnote.",
      +                  "type": "string"
      +                }
      +              },
      +              "type": "object"
      +            },
      +            "type": "array"
      +          },
      +          "groupDescription": {
      +            "description": "Titel des übergeordneten Zusatzentgelts.",
      +            "type": [
      +              "string",
      +              "null"
      +            ]
      +          },
      +          "groupFullCode": {
      +            "description": "Kode des übergeordneten Zusatzentgelts, wenn 'zusatzentgelt' eine Unterposition ist (z. B. 'ZE105' zu ZE105.01). Der Titel einer Unterposition ('1 Metallspirale') ist ohne ihn nicht verständlich.",
      +            "type": [
      +              "string",
      +              "null"
      +            ]
      +          },
      +          "icd": {
      +            "description": "Alle dem Zusatzentgelt zugeordneten ICD-Kodes (Anlage 7). Leer bei den meisten Zusatzentgelten.",
      +            "items": {
      +              "$ref": "#/properties/focus/properties/zusatzentgelte/properties/value/items/properties/matchedIcd/items"
      +            },
      +            "type": "array"
      +          },
      +          "isBillable": {
      +            "description": "True, wenn 'zusatzentgelt' selbst abgerechnet wird; false bei einer Überschrift, unter der die abrechenbare Unterposition nach Menge oder Dosis zu wählen ist.",
      +            "type": "boolean"
      +          },
      +          "match": {
      +            "description": "Wie der abgefragte Kode mit dem Zusatzentgelt verbunden ist: 'Code' = genau dieser Kode ist gelistet, 'Pattern' = der Katalog druckt ein Muster mit '*' (je Stern eine beliebige Stelle), auf das dieser Kode passt, 'Subcode' = Subkodes dieses Kodes sind gelistet.",
      +            "enum": [
      +              "Code",
      +              "Pattern",
      +              "Subcode"
      +            ],
      +            "type": "string"
      +          },
      +          "matchedIcd": {
      +            "description": "Die in Anlage 7 gelisteten ICD-Kodes, über die die Verbindung zustande kommt — bei einer OPS-Abfrage leer.",
      +            "items": {
      +              "properties": {
      +                "code": {
      +                  "description": "Normalisierter Schlüssel des ICD-Kodes, wie er an die ICD-Funktionen zurückzugeben ist (z. B. 'D6800').",
      +                  "type": "string"
      +                },
      +                "fullCode": {
      +                  "description": "Der ICD-Kode in amtlicher Schreibweise (z. B. 'D68.00').",
      +                  "type": "string"
      +                },
      +                "text": {
      +                  "description": "Der Text, wie ihn der Zusatzentgelte-Katalog abdruckt.",
      +                  "type": [
      +                    "string",
      +                    "null"
      +                  ]
      +                }
      +              },
      +              "type": "object"
      +            },
      +            "type": "array"
      +          },
      +          "matchedOps": {
      +            "description": "Die im Zusatzentgelte-Katalog gelisteten OPS-Kodes, über die die Verbindung zustande kommt — bei einer ICD-Abfrage leer.",
      +            "items": {
      +              "properties": {
      +                "appliesToAllSubcodes": {
      +                  "description": "True, wenn der Katalog ein Muster mit '*' druckt, das mehrere fünf- oder sechsstellige Kodes erfasst — siehe 'pattern'.",
      +                  "type": "boolean"
      +                },
      +                "code": {
      +                  "description": "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').",
      +                  "type": "string"
      +                },
      +                "fullCode": {
      +                  "description": "Der OPS-Kode in amtlicher Schreibweise, bei einem Muster mit '*' wie gedruckt (z. B. '8-836.n1', '8-826.*2').",
      +                  "type": "string"
      +                },
      +                "highlighted": {
      +                  "description": "True, wenn der Kode im Katalog grau hinterlegt ist. Graue Kodes sind die Kombinationspartner der Anlage-5-Fußnote 'Nur abrechenbar in Kombination mit einem der grau hinterlegten OPS-Kodes'.",
      +                  "type": "boolean"
      +                },
      +                "pattern": {
      +                  "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"
      +                  ]
      +                },
      +                "text": {
      +                  "description": "Der Text, wie ihn der Zusatzentgelte-Katalog abdruckt — vom InEK gekürzt, nicht der vollständige OPS-Titel.",
      +                  "type": [
      +                    "string",
      +                    "null"
      +                  ]
      +                }
      +              },
      +              "type": "object"
      +            },
      +            "type": "array"
      +          },
      +          "ops": {
      +            "description": "Alle OPS-Kodes, die das Zusatzentgelt auslösen. Bei einer ICD-Abfrage die Prozeduren, die zur Diagnose hinzukommen müssen.",
      +            "items": {
      +              "$ref": "#/properties/focus/properties/zusatzentgelte/properties/value/items/properties/matchedOps/items"
      +            },
      +            "type": "array"
      +          },
      +          "priceMax": {
      +            "description": "Größter Betrag der Unterpositionen in Euro, siehe 'priceMin'.",
      +            "type": [
      +              "number",
      +              "null"
      +            ]
      +          },
      +          "priceMin": {
      +            "description": "Kleinster Betrag der Unterpositionen in Euro, wenn das Zusatzentgelt selbst keinen Betrag trägt (gestaffelt nach Menge oder Dosis). Bei 'match' = 'Subcode' nur über die Unterpositionen, die dieser Kode auslöst.",
      +            "type": [
      +              "number",
      +              "null"
      +            ]
      +          },
      +          "subpositionCount": {
      +            "description": "Anzahl der Unterpositionen, die hier zusammengefasst sind (nur bei 'match' = 'Subcode'); sonst 0.",
      +            "type": "integer"
      +          },
      +          "zusatzentgelt": {
      +            "description": "Das Zusatzentgelt mit Betrag. Bei 'match' = 'Subcode' mit mehreren Unterpositionen ist es das übergeordnete Zusatzentgelt (z. B. ZE105 statt ZE105.01).",
      +            "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 oder wenn der Katalog einen Verweis abdruckt.",
      +                "type": [
      +                  "number",
      +                  "null"
      +                ]
      +              },
      +              "priceNote": {
      +                "description": "Wortlaut der Betragsspalte, wenn dort statt einer Zahl ein Verweis steht (z. B. 'siehe Anlage 5').",
      +                "type": [
      +                  "string",
      +                  "null"
      +                ]
      +              },
      +              "source": {
      +                "description": "Herkunft des Zusatzentgelts: 'Bewertet' = mit bundeseinheitlichem Betrag, 'Unbewertet' = krankenhausindividuell zu vereinbaren.",
      +                "enum": [
      +                  "Undefined",
      +                  "Bewertet",
      +                  "Unbewertet"
      +                ],
      +                "type": "string"
      +              }
      +            },
      +            "type": "object"
      +          }
      +        },
      +        "type": "object"
      +      },
      +      "type": "array"
      +    }
      +  },
      +  "type": [
      +    "object",
      +    "null"
      +  ]
      +}
    • addedOutput schema / properties / items / items / properties / statistics
      Added value: +{
      +  "description": "Wie oft der Kode in deutschen Krankenhäusern erbracht wird (Destatis, DRG-Statistik) — gezählt werden Operationen und Prozeduren, nicht Fälle. Bereichsüberschriften und Kapitel tragen die Summe ihrer Viersteller, Fünf- und Sechssteller die Zahlen ihres Vierstellers; welcher Fall vorliegt, sagt 'scope'. Der Jahrgang ist das Datenjahr der Statistik und hinkt dem Katalog hinterher.",
      +  "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/statistics/properties/value",
      +      "description": "Der eigentliche Wert."
      +    }
      +  },
      +  "type": [
      +    "object",
      +    "null"
      +  ]
      +}
    • addedOutput schema / properties / items / items / properties / zusatzentgeltCodes
      Added value: +{
      +  "description": "Zusatzentgelte, die dieser Kode auslöst — weil der Zusatzentgelte-Katalog ihn listet oder einen übergeordneten Kode mit '*)' für alle Subkodes. Nur die Kodes in amtlicher Schreibweise (z. B. 'ZE105.01'); Betrag, Kombinationspartner und Fußnoten liefert die Detailabfrage.",
      +  "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/zusatzentgeltCodes/properties/value",
      +      "description": "Der eigentliche Wert.",
      +      "items": {}
      +    }
      +  },
      +  "type": [
      +    "object",
      +    "null"
      +  ]
      +}
  4. Changed15 schema fields changed
    • addedOutput schema / properties / focus / properties / abbreviations
      Added value: +{
      +  "description": "Abkürzungen aus dem amtlichen Abkürzungsverzeichnis des OPS, die im Text dieses Kodes vorkommen, mit ihrer Auflösung.",
      +  "items": {
      +    "properties": {
      +      "abbreviation": {
      +        "description": "Abkürzung, wie im amtlichen Verzeichnis geschrieben.",
      +        "type": "string"
      +      },
      +      "meaning": {
      +        "description": "Auflösung der Abkürzung.",
      +        "type": "string"
      +      }
      +    },
      +    "type": "object"
      +  },
      +  "type": [
      +    "array",
      +    "null"
      +  ]
      +}
    • addedOutput schema / properties / focus / properties / appendices
      Added value: +{
      +  "description": "Anhänge des Systematischen Verzeichnisses, die zu diesem Kode gehören — die Tabellen, aus denen sich Aufwandspunkte bzw. anrechenbare Therapieeinheiten errechnen.",
      +  "items": {
      +    "properties": {
      +      "codePrefixes": {
      +        "description": "Kodes, zu denen dieser Anhang gehört, als Präfix (z. B. '8-980').",
      +        "items": {
      +          "type": "string"
      +        },
      +        "type": [
      +          "array",
      +          "null"
      +        ]
      +      },
      +      "id": {
      +        "description": "Kennung des Anhangs, z. B. 'aufwandspunkte-erwachsene'.",
      +        "type": "string"
      +      },
      +      "intro": {
      +        "description": "Erläuternder Text vor den Tabellen.",
      +        "items": {
      +          "type": "string"
      +        },
      +        "type": [
      +          "array",
      +          "null"
      +        ]
      +      },
      +      "tables": {
      +        "description": "Die Tabellen des Anhangs.",
      +        "items": {
      +          "properties": {
      +            "caption": {
      +              "description": "Tabellenüberschrift.",
      +              "type": [
      +                "string",
      +                "null"
      +              ]
      +            },
      +            "footnote": {
      +              "description": "Fußnoten unter der Tabelle.",
      +              "type": [
      +                "string",
      +                "null"
      +              ]
      +            },
      +            "rows": {
      +              "description": "Zeilen der Tabelle; die erste ist in der Regel die Kopfzeile.",
      +              "items": {
      +                "items": {
      +                  "type": "string"
      +                },
      +                "type": "array"
      +              },
      +              "type": "array"
      +            }
      +          },
      +          "type": "object"
      +        },
      +        "type": "array"
      +      },
      +      "title": {
      +        "description": "Überschrift des Anhangs.",
      +        "type": "string"
      +      }
      +    },
      +    "type": "object"
      +  },
      +  "type": [
      +    "array",
      +    "null"
      +  ]
      +}
    • addedOutput schema / properties / focus / properties / branch
      Added value: +{
      +  "description": "Der Dreisteller, unter dem dieser Kode steht, samt der Hinweise, die für den ganzen Zweig gelten.",
      +  "properties": {
      +    "code": {
      +      "description": "Dreisteller in amtlicher Schreibweise, z. B. '5-82'.",
      +      "type": "string"
      +    },
      +    "description": {
      +      "description": "Titel des Dreistellers.",
      +      "type": "string"
      +    },
      +    "rubrics": {
      +      "description": "Hinweise und Exklusiva, die für den ganzen Zweig gelten und damit auch für diesen Kode.",
      +      "items": {
      +        "$ref": "#/properties/focus/properties/rubrics/items"
      +      },
      +      "type": [
      +        "array",
      +        "null"
      +      ]
      +    }
      +  },
      +  "type": [
      +    "object",
      +    "null"
      +  ]
      +}
    • addedOutput schema / properties / focus / properties / edition
      Added value: +{
      +  "description": "Die Ausgabe, aus der dieser Kode stammt: Version, Stand, OID und Urheberrechtsvermerk des Herausgebers.",
      +  "properties": {
      +    "copyright": {
      +      "description": "Urheberrechtsvermerk des Herausgebers.",
      +      "type": [
      +        "string",
      +        "null"
      +      ]
      +    },
      +    "date": {
      +      "description": "Stand der Klassifikationsdateien.",
      +      "format": "date",
      +      "type": [
      +        "string",
      +        "null"
      +      ]
      +    },
      +    "isPreliminary": {
      +      "description": "Vorabfassung (noch nicht endgültig).",
      +      "type": "boolean"
      +    },
      +    "oid": {
      +      "description": "OID der Klassifikation.",
      +      "type": [
      +        "string",
      +        "null"
      +      ]
      +    },
      +    "title": {
      +      "description": "Kurztitel, z. B. 'OPS'.",
      +      "type": [
      +        "string",
      +        "null"
      +      ]
      +    },
      +    "titleLong": {
      +      "description": "Langtitel, z. B. 'Operationen- und Prozedurenschlüssel'.",
      +      "type": [
      +        "string",
      +        "null"
      +      ]
      +    },
      +    "version": {
      +      "description": "Version, z. B. '2026'.",
      +      "type": [
      +        "string",
      +        "null"
      +      ]
      +    }
      +  },
      +  "type": [
      +    "object",
      +    "null"
      +  ]
      +}
    • addedOutput schema / properties / focus / properties / hasCodingGuidance
      Added value: +{
      +  "description": "True, wenn für diesen Jahrgang die amtliche ClaML-Fassung vorliegt — nur sie führt Inklusiva, Exklusiva und Hinweise. False bei einer Vorabfassung: dann sagt eine leere Kodieranleitung nichts über den Kode aus, sondern nur über den Stand der Veröffentlichung.",
      +  "type": "boolean"
      +}
    • addedOutput schema / properties / focus / properties / khgValidity
      Added value: +{
      +  "description": "Geltungsbereich nach dem Krankenhausfinanzierungsgesetz: 'Drg' = nur § 17b (DRG-System), 'Pepp' = nur § 17d (PEPP-System), 'Both' = beide (Regelfall), 'Neither' = in keinem der beiden Systeme zu verwenden.",
      +  "enum": [
      +    "Drg",
      +    "Pepp",
      +    "Both",
      +    "Neither"
      +  ],
      +  "type": "string"
      +}
    • addedOutput schema / properties / focus / properties / modifiers
      Added value: +{
      +  "description": "Subklassifikationslisten, aus denen die nächste Stelle dieses Kodes gebildet wird. Leer, wenn der Kode seine Subkodes selbst ausschreibt.",
      +  "items": {
      +    "properties": {
      +      "isRestricted": {
      +        "description": "True, wenn die Liste für diesen Kode eingeschränkt ist — dann sind nicht alle ihre Werte kombinierbar.",
      +        "type": "boolean"
      +      },
      +      "note": {
      +        "description": "Einleitungssatz der Subklassifikationsliste; er nennt die belegte Stelle und was sie kodiert.",
      +        "type": [
      +          "string",
      +          "null"
      +        ]
      +      },
      +      "values": {
      +        "description": "Die Werte der Liste in amtlicher Reihenfolge, beschränkt auf die für diesen Kode zulässigen.",
      +        "items": {
      +          "properties": {
      +            "code": {
      +              "description": "Zeichen an der belegten Stelle, z. B. '0' oder 'x'.",
      +              "type": "string"
      +            },
      +            "description": {
      +              "description": "Bedeutung des Zeichens, z. B. 'Offen chirurgisch abdominal'.",
      +              "type": "string"
      +            }
      +          },
      +          "type": "object"
      +        },
      +        "type": "array"
      +      }
      +    },
      +    "type": "object"
      +  },
      +  "type": [
      +    "array",
      +    "null"
      +  ]
      +}
    • addedOutput schema / properties / focus / properties / ownTitle
      Added value: +{
      +  "description": "Titel dieser Stelle allein, ohne die Titel der übergeordneten Stellen: bei 5-820.00 also 'Nicht zementiert' statt der zusammengesetzten Bezeichnung.",
      +  "type": [
      +    "string",
      +    "null"
      +  ]
      +}
    • addedOutput schema / properties / focus / properties / referencedBy
      Added value: +{
      +  "description": "Kodes, die auf diesen Kode verweisen — die Gegenrichtung der Verweise in den Rubriken. Wer sie nicht kennt, übersieht, dass ein anderer Kode die Angabe dieses Kodes verlangt.",
      +  "items": {
      +    "$ref": "#/properties/focus/properties/rubrics/items/properties/references/items"
      +  },
      +  "type": [
      +    "array",
      +    "null"
      +  ]
      +}
    • addedOutput schema / properties / focus / properties / rubrics
      Added value: +{
      +  "description": "Was der Katalog zu diesem Kode sagt: Inklusiva, Exklusiva und Hinweise, mit aufgelösten Verweisen.",
      +  "items": {
      +    "properties": {
      +      "kind": {
      +        "description": "Art der Rubrik: 'Inclusion' = Inklusivum (gehört zu diesem Kode), 'Exclusion' = Exklusivum (anderswo zu kodieren), 'Note' = Hinweis, 'PreferredLong' = ausführlicher Titel.",
      +        "enum": [
      +          "None",
      +          "Inclusion",
      +          "Exclusion",
      +          "Note",
      +          "PreferredLong",
      +          "Text"
      +        ],
      +        "type": "string"
      +      },
      +      "references": {
      +        "description": "Kodes, auf die diese Rubrik verweist, mit ihrer Bezeichnung.",
      +        "items": {
      +          "properties": {
      +            "code": {
      +              "description": "Kode in der Schreibweise, mit der er im Katalog nachgeschlagen wird.",
      +              "type": "string"
      +            },
      +            "description": {
      +              "description": "Bezeichnung des verwiesenen Kodes. Null, wenn der Verweis auf einen Kode zeigt, den dieser Jahrgang nicht führt.",
      +              "type": [
      +                "string",
      +                "null"
      +              ]
      +            },
      +            "fullCode": {
      +              "description": "Amtliche Schreibweise des Kodes, z. B. '5-829.1'.",
      +              "type": "string"
      +            },
      +            "isBranch": {
      +              "description": "True, wenn der Verweis auf einen Dreisteller zeigt, also auf einen ganzen Zweig statt auf einen einzelnen Kode. Ein Dreisteller hat keine eigene Kodeseite; er wird über den Kodezweig aufgeschlagen.",
      +              "type": "boolean"
      +            },
      +            "text": {
      +              "description": "Text der Verweisstelle, wenn er vom Kode abweicht — etwa '5-93b ff.' für eine ganze Gruppe.",
      +              "type": [
      +                "string",
      +                "null"
      +              ]
      +            }
      +          },
      +          "type": "object"
      +        },
      +        "type": [
      +          "array",
      +          "null"
      +        ]
      +      },
      +      "text": {
      +        "description": "Wortlaut der Rubrik.",
      +        "type": "string"
      +      }
      +    },
      +    "type": "object"
      +  },
      +  "type": [
      +    "array",
      +    "null"
      +  ]
      +}
    • addedOutput schema / properties / items / items / properties / exclusionCount
      Added value: +{
      +  "description": "Anzahl der Exklusiva — Prozeduren, die ausdrücklich nicht hierher gehören, sondern an eine andere Stelle.",
      +  "type": "integer"
      +}
    • addedOutput schema / properties / items / items / properties / inclusionCount
      Added value: +{
      +  "description": "Anzahl der Inklusiva des Kodes — Formulierungen, die ausdrücklich mit ihm kodiert werden.",
      +  "type": "integer"
      +}
    • addedOutput schema / properties / items / items / properties / khgValidity
      Added value: +{
      +  "description": "Geltungsbereich nach dem Krankenhausfinanzierungsgesetz: 'Drg' = nur § 17b (DRG-System), 'Pepp' = nur § 17d (PEPP-System), 'Both' = beide (Regelfall), 'Neither' = in keinem der beiden Systeme zu verwenden.",
      +  "enum": [
      +    "Drg",
      +    "Pepp",
      +    "Both",
      +    "Neither"
      +  ],
      +  "type": "string"
      +}
    • addedOutput schema / properties / items / items / properties / noteCount
      Added value: +{
      +  "description": "Anzahl der Hinweise zur Verschlüsselung dieses Kodes.",
      +  "type": "integer"
      +}
    • addedOutput schema / properties / items / items / properties / ownTitle
      Added value: +{
      +  "description": "Titel dieser Stelle allein, ohne die Titel der übergeordneten Stellen: bei 5-820.00 also 'Nicht zementiert' statt der zusammengesetzten Bezeichnung. Null bei Kapiteln und Bereichen.",
      +  "type": [
      +    "string",
      +    "null"
      +  ]
      +}
  5. Changed17 schema fields changed
    • changedInput schema / properties / query / description
      Previous value: -"Suchbegriff: OPS-Kode (z. B. '5-470') oder Prozedurtext (z. B. 'Appendektomie')."New value: +"Suchbegriff: OPS-Kode (z. B. '5-470', '5470', '5-820.00') oder Prozedurtext (z. B. 'Appendektomie', 'Endoprothese Hüftgelenk')."
    • addedOutput schema / properties / focus / properties / alphaEntries / properties / value / items / properties / textHighlight
      Added value: +{
      +  "description": "Nur für die Trefferhervorhebung im Web-Katalog: Gewicht je Zeichen von 'text' — 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 außerhalb einer Textsuche. Über MCP immer null.",
      +  "items": {
      +    "type": "number"
      +  },
      +  "type": [
      +    "array",
      +    "null"
      +  ]
      +}
    • 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."
  6. First observed

TDQS

A4.5/5.0
Behavior5/5

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

Annotations cover safety (readOnly, idempotent, closed-world), and the description goes well beyond them: it discloses that only terminal/codable codes are returned (four-character codes with children are headings), that items are flat and relevance-ordered, and what coding flags, §115b ambulatory markers, structure checks and DKR/SEG-4 references are attached.

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?

Front-loaded with purpose and scope, then earns its length by explaining result semantics. Slightly heavy — the German and English halves largely duplicate each other, and some return-field explanation overlaps the output schema.

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?

An output schema exists, yet the description still spends sentences defining 'items', 'groupCode', 'matchedTerm' and 'interpretation'. That is helpful but partly redundant; nothing essential for correct invocation is missing.

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 query/year/limit are already documented with formats and defaults. The description's query examples ('5-820', 'Hüft-TEP') reinforce the schema but add no new parameter meaning, so the baseline 3 applies.

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

Purpose5/5

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

States a specific verb and resource ('Durchsucht den OPS') and pins the scope precisely: codes, clinical terms, abbreviations and even misspellings, searched across official titles and the alphabetical index. It is immediately distinguishable from ops_get (single-code detail) and opsalpha_search.

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

Usage Guidelines5/5

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

Explicitly positions itself as 'der erste Griff für jede Frage nach einer Prozedur' and gives the routing rule for the follow-up: 'Für alle Angaben zu einem einzelnen Kode anschließend ops_get aufrufen.' When-to-use and the alternative are both 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