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

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

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. Changed4 schema fields changed
    • addedOutput schema / properties / focus / properties / hybridDrgLeistung / properties / value / properties / hybridDrgQuelle
      Added value: +{
      +  "description": "Woher die Hybrid-DRG in 'hybridDrgs' stammen. Null, wenn es keine gibt.",
      +  "enum": [
      +    "Leistungsbereich",
      +    "Definitionshandbuch",
      +    null
      +  ],
      +  "type": [
      +    "string",
      +    "null"
      +  ]
      +}
    • changedOutput schema / properties / focus / properties / hybridDrgLeistung / properties / value / properties / hybridDrgs / description
      Previous value: -"Die Hybrid-DRG dieses Leistungsbereichs mit Fallpauschale (2024, 2025). Welche davon ein Fall erhält, entscheidet der zertifizierte Grouper. Leer ab 2026."New value: +"Hybrid-DRG mit Fallpauschale, zu denen der Kode gehören kann: 2024 und 2025 die seines Leistungsbereichs, ab 2026 die, deren Definition im aG-DRG-Definitionshandbuch eine Prozedurentabelle mit dem Kode verlangt. Welche davon ein Fall erhält, entscheidet der zertifizierte Grouper."
    • changedOutput schema / properties / focus / properties / regellage / properties / items / items / properties / quelle / enum
      Previous value: -[
      -  "Dkr",
      -  "Schlichtung",
      -  "Klarstellung",
      -  "BfarmFaq",
      -  "Seg4",
      -  "MdRichtlinie",
      -  "Bsg",
      -  "Lsg",
      -  "Foka",
      -  "Verband"
      -]New value: +[
      +  "Dkr",
      +  "DkrPsych",
      +  "Schlichtung",
      +  "Klarstellung",
      +  "BfarmFaq",
      +  "Seg4",
      +  "MdRichtlinie",
      +  "Bsg",
      +  "Lsg",
      +  "Foka",
      +  "Verband"
      +]
    • changedOutput schema / properties / focus / properties / regellage / properties / katalog / enum
      Previous value: -[
      -  "ATC",
      -  "DRG",
      -  "DKR",
      -  "ICD",
      -  "IcdStats",
      -  "Orphanet",
      -  "OPS",
      -  "OpsStats",
      -  "PEPP",
      -  "ZE",
      -  "KH",
      -  "IcdAlpha",
      -  "SEG4KDE",
      -  "OpsAlpha",
      -  "LG",
      -  "BFW",
      -  "ZP",
      -  "ET",
      -  "HybridDRG"
      -]New value: +[
      +  "ATC",
      +  "DRG",
      +  "DKR",
      +  "ICD",
      +  "IcdStats",
      +  "Orphanet",
      +  "OPS",
      +  "OpsStats",
      +  "PEPP",
      +  "ZE",
      +  "KH",
      +  "IcdAlpha",
      +  "SEG4KDE",
      +  "OpsAlpha",
      +  "LG",
      +  "BFW",
      +  "ZP",
      +  "ET",
      +  "HybridDRG",
      +  "DkrPsych"
      +]
  2. Changed4 schema fields changed
    • addedOutput schema / properties / focus / properties / hybridDrgLeistung
      Added value: +{
      +  "description": "Hybrid-DRG (§ 115f SGB V, 2024–2027): ob der Kode im Leistungskatalog des Jahres steht, in welchen Jahren, sein Leistungsbereich mit den Hybrid-DRG und Fallpauschalen (2024, 2025) und die Abrechnungsregel des Jahres. Null, wenn weder der Kode noch ein Subkode im Leistungskatalog steht.",
      +  "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": {
      +        "alleJahre": {
      +          "description": "Alle Jahre, für die es einen Hybrid-DRG-Katalog gibt.",
      +          "items": {
      +            "type": "integer"
      +          },
      +          "type": "array"
      +        },
      +        "hybridDrgs": {
      +          "description": "Die Hybrid-DRG dieses Leistungsbereichs mit Fallpauschale (2024, 2025). Welche davon ein Fall erhält, entscheidet der zertifizierte Grouper. Leer ab 2026.",
      +          "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"
      +                ]
      +              },
      +              "leistungsbereich": {
      +                "description": "Leistungsbereich laut Anlage 2 (z. B. «Bestimmte Hernienoperationen»).",
      +                "type": [
      +                  "string",
      +                  "null"
      +                ]
      +              },
      +              "preis": {
      +                "description": "Fallpauschale in Euro ohne postoperative Nachbehandlung im Krankenhaus (Spalte A).",
      +                "type": [
      +                  "number",
      +                  "null"
      +                ]
      +              },
      +              "preisNachsorge": {
      +                "description": "Fallpauschale in Euro zuzüglich postoperativer Nachbehandlung durch das Krankenhaus (Spalte B). Null, wo es sie nicht gab (2024).",
      +                "type": [
      +                  "number",
      +                  "null"
      +                ]
      +              }
      +            },
      +            "type": "object"
      +          },
      +          "type": "array"
      +        },
      +        "inLeistungskatalog": {
      +          "description": "True, wenn genau dieser Kode im Hybrid-DRG-Leistungskatalog (Anlage 1) des Jahres steht.",
      +          "type": "boolean"
      +        },
      +        "jahre": {
      +          "description": "Die Jahre, in denen der Kode im Leistungskatalog steht.",
      +          "items": {
      +            "type": "integer"
      +          },
      +          "type": "array"
      +        },
      +        "leistungsbereich": {
      +          "description": "Leistungsbereich, unter dem Anlage 1 den Kode führt. Null ab 2026.",
      +          "type": [
      +            "string",
      +            "null"
      +          ]
      +        },
      +        "regel": {
      +          "description": "Abrechnungsregel des Jahres.",
      +          "type": [
      +            "string",
      +            "null"
      +          ]
      +        },
      +        "status": {
      +          "description": "Stand der Vergütung, wenn sie noch nicht feststeht.",
      +          "type": [
      +            "string",
      +            "null"
      +          ]
      +        },
      +        "subkodes": {
      +          "description": "Bei einem nicht endständigen Kode: wie viele seiner Subkodes der Leistungskatalog führt. 0 sonst.",
      +          "type": "integer"
      +        }
      +      },
      +      "type": "object"
      +    }
      +  },
      +  "type": [
      +    "object",
      +    "null"
      +  ]
      +}
    • changedOutput schema / properties / focus / properties / regellage / properties / katalog / enum
      Previous value: -[
      -  "ATC",
      -  "DRG",
      -  "DKR",
      -  "ICD",
      -  "IcdStats",
      -  "Orphanet",
      -  "OPS",
      -  "OpsStats",
      -  "PEPP",
      -  "ZE",
      -  "KH",
      -  "IcdAlpha",
      -  "SEG4KDE",
      -  "OpsAlpha",
      -  "LG",
      -  "BFW",
      -  "ZP",
      -  "ET"
      -]New value: +[
      +  "ATC",
      +  "DRG",
      +  "DKR",
      +  "ICD",
      +  "IcdStats",
      +  "Orphanet",
      +  "OPS",
      +  "OpsStats",
      +  "PEPP",
      +  "ZE",
      +  "KH",
      +  "IcdAlpha",
      +  "SEG4KDE",
      +  "OpsAlpha",
      +  "LG",
      +  "BFW",
      +  "ZP",
      +  "ET",
      +  "HybridDRG"
      +]
    • 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"
      +  ]
      +}
    • addedOutput schema / properties / items / items / properties / hybridDrg
      Added value: +{
      +  "description": "True, wenn genau dieser Kode im Hybrid-DRG-Leistungskatalog (§ 115f SGB V, Anlage 1) des Jahres steht. Hybrid-DRG gibt es 2024 bis 2027; Einzelheiten 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.",
      +      "type": "boolean"
      +    }
      +  },
      +  "type": [
      +    "object",
      +    "null"
      +  ]
      +}
  3. Changed7 schema fields changed
    • addedOutput schema / properties / focus / properties / ergaenzendeTagesentgeltCodes
      Added value: +{
      +  "description": "Ergänzende Tagesentgelte des PEPP-Entgeltkatalogs (Anlage 5), die dieser Kode je Tag auslöst. Kode (z. B. 'ET01.04') und Bezeichnung; Bewertungsrelation und Fußnoten in 'ergaenzendeTagesentgelte'.",
      +  "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": {
      +          "bewertungsrelation": {
      +            "description": "Bewertungsrelation je Tag der Differenzierung (ETD). Null beim ET selbst — seine Bewertungsrelation hängt von der Differenzierung ab.",
      +            "type": [
      +              "number",
      +              "null"
      +            ]
      +          },
      +          "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 / ergaenzendeTagesentgelte
      Added value: +{
      +  "description": "Ergänzende Tagesentgelte, die an diesem Kode hängen, mit Bewertungsrelation je Tag, Art der Verbindung und Fußnoten. Bei Vierstellern und nicht endständigen Fünfstellern auch die ET, 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": {
      +          "bewertungsrelationMax": {
      +            "description": "Größte Bewertungsrelation je Tag der Differenzierungen, siehe 'bewertungsrelationMin'.",
      +            "type": [
      +              "number",
      +              "null"
      +            ]
      +          },
      +          "bewertungsrelationMin": {
      +            "description": "Kleinste Bewertungsrelation je Tag der Differenzierungen, wenn 'tagesentgelt' selbst keine trägt.",
      +            "type": [
      +              "number",
      +              "null"
      +            ]
      +          },
      +          "footnotes": {
      +            "description": "Fußnoten des Katalogs zu diesem ergänzenden Tagesentgelt im Volltext.",
      +            "items": {
      +              "$ref": "#/properties/focus/properties/zusatzentgelte/properties/value/items/properties/footnotes/items"
      +            },
      +            "type": "array"
      +          },
      +          "groupDescription": {
      +            "description": "Titel des ET.",
      +            "type": [
      +              "string",
      +              "null"
      +            ]
      +          },
      +          "groupFullCode": {
      +            "description": "Kode des ET, wenn 'tagesentgelt' eine Differenzierung ist (z. B. 'ET01' zu ET01.04).",
      +            "type": [
      +              "string",
      +              "null"
      +            ]
      +          },
      +          "isBillable": {
      +            "description": "True, wenn 'tagesentgelt' selbst abgerechnet wird (eine Differenzierung); false beim ET, unter dem die Differenzierung nach Stunden bzw. Merkmalen zu wählen ist.",
      +            "type": "boolean"
      +          },
      +          "match": {
      +            "description": "Wie der abgefragte Kode mit dem ET verbunden ist: 'Code' = genau dieser Kode ist gelistet, 'Pattern' = er passt auf ein Muster mit '*', 'Subcode' = Subkodes dieses Kodes sind gelistet.",
      +            "enum": [
      +              "Code",
      +              "Pattern",
      +              "Subcode"
      +            ],
      +            "type": "string"
      +          },
      +          "matchedOps": {
      +            "description": "Die im Katalog gelisteten OPS-Kodes, über die die Verbindung zustande kommt.",
      +            "items": {
      +              "properties": {
      +                "appliesToAllSubcodes": {
      +                  "description": "True, wenn der Katalog ein Muster mit '*' druckt, das alle Kodes darunter erfasst — siehe 'pattern'.",
      +                  "type": "boolean"
      +                },
      +                "code": {
      +                  "description": "Normalisierter Schlüssel des OPS-Kodes, wie er an die OPS-Funktionen zurückzugeben ist (z. B. '964006'). Bei einem Muster mit '*' der feste Teil davor (bei 9-615.* also '9615').",
      +                  "type": "string"
      +                },
      +                "fullCode": {
      +                  "description": "Der OPS-Kode in amtlicher Schreibweise, bei einem Muster wie gedruckt (z. B. '9-640.06', '9-615.*').",
      +                  "type": "string"
      +                },
      +                "pattern": {
      +                  "description": "Normalisiertes Muster, wenn der Katalog statt eines Kodes ein Muster druckt (z. B. '9615*' für 9-615.*). Null bei einem einzelnen Kode.",
      +                  "type": [
      +                    "string",
      +                    "null"
      +                  ]
      +                },
      +                "text": {
      +                  "description": "Der Text, wie ihn der Katalog abdruckt — vom InEK gekürzt, nicht der vollständige OPS-Titel.",
      +                  "type": [
      +                    "string",
      +                    "null"
      +                  ]
      +                }
      +              },
      +              "type": "object"
      +            },
      +            "type": "array"
      +          },
      +          "subpositionCount": {
      +            "description": "Anzahl der zusammengefassten Differenzierungen (nur bei 'match' = 'Subcode'); sonst 0.",
      +            "type": "integer"
      +          },
      +          "tagesentgelt": {
      +            "description": "Das ergänzende Tagesentgelt mit Bewertungsrelation je Tag. Bei 'match' = 'Subcode' mit mehreren Differenzierungen das ET (z. B. ET01 statt ET01.04).",
      +            "properties": {
      +              "bewertungsrelation": {
      +                "description": "Bewertungsrelation je Tag der Differenzierung (ETD). Null beim ET selbst — seine Bewertungsrelation hängt von der Differenzierung ab.",
      +                "type": [
      +                  "number",
      +                  "null"
      +                ]
      +              },
      +              "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": "object"
      +      },
      +      "type": "array"
      +    }
      +  },
      +  "type": [
      +    "object",
      +    "null"
      +  ]
      +}
    • addedOutput schema / properties / focus / properties / peppZusatzentgeltCodes
      Added value: +{
      +  "description": "Zusatzentgelte des PEPP-Entgeltkatalogs (Psychiatrie und Psychosomatik, Anlage 3 und 4), die dieser Kode auslöst. Kode (z. B. 'ZP04.02') und Bezeichnung; Betrag und Fußnoten in 'peppZusatzentgelte'.",
      +  "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 / peppZusatzentgelte
      Added value: +{
      +  "description": "Zusatzentgelte des PEPP-Entgeltkatalogs, die an diesem Kode hängen, mit Betrag, Art der Verbindung und Fußnoten. Bei Vierstellern und nicht endständigen Fünfstellern auch die ZP, 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": {
      +          "footnotes": {
      +            "description": "Fußnoten des Katalogs zu diesem Zusatzentgelt und seinem übergeordneten ZP im Volltext — Altersgrenzen, Übergangsregeln.",
      +            "items": {
      +              "$ref": "#/properties/focus/properties/zusatzentgelte/properties/value/items/properties/footnotes/items"
      +            },
      +            "type": "array"
      +          },
      +          "groupDescription": {
      +            "description": "Titel des übergeordneten ZP.",
      +            "type": [
      +              "string",
      +              "null"
      +            ]
      +          },
      +          "groupFullCode": {
      +            "description": "Kode des übergeordneten ZP, wenn 'zusatzentgelt' eine Differenzierung ist (z. B. 'ZP04' zu ZP04.02). Der Titel einer Differenzierung ('3.500 IE bis unter 4.500 IE') ist ohne ihn nicht verständlich.",
      +            "type": [
      +              "string",
      +              "null"
      +            ]
      +          },
      +          "isBillable": {
      +            "description": "True, wenn 'zusatzentgelt' selbst abgerechnet wird; false bei einem ZP, unter dem die abrechenbare Differenzierung nach Dosis oder Menge 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 '*', auf das dieser Kode passt, 'Subcode' = Subkodes dieses Kodes sind gelistet.",
      +            "enum": [
      +              "Code",
      +              "Pattern",
      +              "Subcode"
      +            ],
      +            "type": "string"
      +          },
      +          "matchedOps": {
      +            "description": "Die im Katalog gelisteten OPS-Kodes, über die die Verbindung zustande kommt.",
      +            "items": {
      +              "properties": {
      +                "appliesToAllSubcodes": {
      +                  "description": "True, wenn der Katalog ein Muster mit '*' druckt, das alle fünf- oder sechsstelligen Kodes darunter erfasst — siehe 'pattern'.",
      +                  "type": "boolean"
      +                },
      +                "code": {
      +                  "description": "Normalisierter Schlüssel des OPS-Kodes, wie er an die OPS-Funktionen zurückzugeben ist (z. B. '881253'). Bei einem Muster mit '*' der feste Teil davor — der Kode, unter dem alle erfassten Kodes liegen (bei 6-001.4* also '60014').",
      +                  "type": "string"
      +                },
      +                "fullCode": {
      +                  "description": "Der OPS-Kode in amtlicher Schreibweise, bei einem Muster mit '*' wie gedruckt (z. B. '8-812.53', '6-001.4*').",
      +                  "type": "string"
      +                },
      +                "pattern": {
      +                  "description": "Normalisiertes Muster, wenn der Katalog statt eines Kodes ein Muster druckt: '*' steht für die weiteren Stellen (z. B. '60014*' für 6-001.4* = alle Kodes 6-001.4…). 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"
      +          },
      +          "priceMax": {
      +            "description": "Größter Betrag der Differenzierungen in Euro, siehe 'priceMin'.",
      +            "type": [
      +              "number",
      +              "null"
      +            ]
      +          },
      +          "priceMin": {
      +            "description": "Kleinster Betrag der Differenzierungen in Euro, wenn das Zusatzentgelt selbst keinen Betrag trägt. Bei 'match' = 'Subcode' nur über die Differenzierungen, die dieser Kode auslöst.",
      +            "type": [
      +              "number",
      +              "null"
      +            ]
      +          },
      +          "subpositionCount": {
      +            "description": "Anzahl der Differenzierungen, die hier zusammengefasst sind (nur bei 'match' = 'Subcode'); sonst 0.",
      +            "type": "integer"
      +          },
      +          "zusatzentgelt": {
      +            "description": "Das Zusatzentgelt mit Betrag. Bei 'match' = 'Subcode' mit mehreren Differenzierungen das übergeordnete ZP (z. B. ZP04 statt ZP04.02).",
      +            "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": "object"
      +      },
      +      "type": "array"
      +    }
      +  },
      +  "type": [
      +    "object",
      +    "null"
      +  ]
      +}
    • changedOutput schema / properties / focus / properties / regellage / properties / katalog / enum
      Previous value: -[
      -  "ATC",
      -  "DRG",
      -  "DKR",
      -  "ICD",
      -  "IcdStats",
      -  "Orphanet",
      -  "OPS",
      -  "OpsStats",
      -  "PEPP",
      -  "ZE",
      -  "KH",
      -  "IcdAlpha",
      -  "SEG4KDE",
      -  "OpsAlpha",
      -  "LG",
      -  "BFW"
      -]New value: +[
      +  "ATC",
      +  "DRG",
      +  "DKR",
      +  "ICD",
      +  "IcdStats",
      +  "Orphanet",
      +  "OPS",
      +  "OpsStats",
      +  "PEPP",
      +  "ZE",
      +  "KH",
      +  "IcdAlpha",
      +  "SEG4KDE",
      +  "OpsAlpha",
      +  "LG",
      +  "BFW",
      +  "ZP",
      +  "ET"
      +]
    • addedOutput schema / properties / items / items / properties / ergaenzendeTagesentgeltCodes
      Added value: +{
      +  "description": "Ergänzende Tagesentgelte des PEPP-Entgeltkatalogs, die dieser Kode je Tag auslöst — Kode (z. B. 'ET01.04') und Bezeichnung; die Bewertungsrelation 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/ergaenzendeTagesentgeltCodes/properties/value",
      +      "description": "Der eigentliche Wert.",
      +      "items": {}
      +    }
      +  },
      +  "type": [
      +    "object",
      +    "null"
      +  ]
      +}
    • addedOutput schema / properties / items / items / properties / peppZusatzentgeltCodes
      Added value: +{
      +  "description": "Zusatzentgelte des PEPP-Entgeltkatalogs (Psychiatrie und Psychosomatik), die dieser Kode auslöst — Kode (z. B. 'ZP04.02') und Bezeichnung; Betrag 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/peppZusatzentgeltCodes/properties/value",
      +      "description": "Der eigentliche Wert.",
      +      "items": {}
      +    }
      +  },
      +  "type": [
      +    "object",
      +    "null"
      +  ]
      +}
  4. 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"
  5. 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"
      -  ]
      -}
  6. 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"
      +  ]
      +}
  7. 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"
      +  ]
      +}
  8. 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."
  9. First observed

TDQS

A4.8/5.0
Behavior5/5

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

Annotations already confirm read-only and idempotent behavior, but the description adds substantial non-obvious context: it searches the alphabetical index with roughly 48,000 additional formulations, returns only terminal codable codes, sorts items flat by relevance, and includes coding markers, §115b information, OPS structure checks, DKR/SEG-4 references, and meanings of groupCode, matchedTerm and interpretation.

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?

The description front-loads the first-tool positioning and key scope, then gives useful behavioral detail. It is somewhat long and explains return fields even though an output schema exists, so parts are redundant rather than essential.

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

Completeness5/5

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

Given the rich input schema, annotations and output schema, the description covers what is searched, the terminal-code restriction, the structure of returned items, and the next-step routing to ops_get. No critical information needed to select or call the tool correctly is missing.

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

Parameters4/5

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

Schema description coverage is 100%, so the baseline is 3. The description adds useful query semantics beyond the schema by emphasizing abbreviations and misspellings such as 'appendektomi' and by reinforcing flexible code/text input, though year and limit remain documented only in the schema.

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 positions itself as the first tool for any procedure question. It explicitly points to ops_get for single-code details and clarifies that only terminal codable codes are returned, distinguishing headings from answer codes.

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 says this is the first tool for any procedure question, enumerates query types including codes, clinical terms, abbreviations and misspellings, and tells the agent to call ops_get afterward for all details on a single code.

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