Was die acht Ziffern einer Versichererummer erzählen — Gesetzestyp-Nummern, Präfekturnummern und Prüfziffern aus der Implementierung eines Abrechnungscomputers gelesen

· · Medizin-IT, ORCA, Versicherernummer, Abrechnungscomputer, Krankenkassenabrechnung, Arztpraxisverwaltung

Die Versicherernummer, die auf einer Krankenversicherungskarte (heutzutage auf dem Berechtigungsinformations-Bildschirm einer My-Number-Krankenversicherungskarte) gedruckt ist. Es ist die acht- (manchmal sechs-) stellige Nummer, die bei jeder Abrechnung auftaucht — doch überraschend wenige Ingenieure wissen, dass „sich diese Nummer tatsächlich lesen lässt“. Die ersten beiden Ziffern verraten, zu welchem System die Person gehört, die nächsten beiden, in welcher Präfektur der Versicherer sitzt, und mit der letzten Ziffer lässt sich das Ganze sogar verifizieren. Mit anderen Worten: Eine Versicherernummer ist keine bloße laufende Nummer, sondern ein Code mit Struktur.

Der vierte Artikel der ORCA-Serie stellt das angekündigte Thema der Abrechnungsprüfung zurück und seziert stattdessen die Versicherernummer als eigenständiges Sonderkapitel. Wir behandeln vier Dinge.

  • Der Aufbau einer Versicherernummer — Gesetzestyp-Nummer, Präfekturnummer, versichererbezogene Nummer, Prüfziffer
  • Die Prüfziffer von Hand berechnen, und ORCAs COBOL-Implementierung davon
  • Die historische Sonderregelung, nach der allein die alte staatlich verwaltete Krankenversicherung (heute Kyokai Kenpo) „vier Stellen“ hatte
  • Die Spuren dieser Sonderregelung, die im 2026 veröffentlichten ORCA-Quellcode noch lebendig sind

Für die regulatorische Seite ist die Primärquelle die Richtlinie des Gesundheitsministeriums „Richtlinien zur Festlegung von Versicherernummern, Kostenträgernummern, Empfängernummern für öffentlich finanzierte medizinische Versorgung, Gesundheitsdienstleister-Codes und Apothekencodes“ (im Folgenden „die Festlegungsrichtlinien“); für die Implementierungsseite stützen sich die Aussagen, wie in den vorangegangenen Folgen, auf das tatsächliche Lesen des offiziell veröffentlichten Nichi-Rece-Kerns, Quellcode der 5.2er-Serie (Schnappschuss veröffentlicht im Juli 2026).

Inhaltsverzeichnis

  1. Zunächst das Fazit — eine Versicherernummer ist „System + Region + laufende Nummer + Prüfsumme“
  2. Die Gesetzestyp-Nummer — die ersten beiden Ziffern verraten das System
  3. Die Präfekturnummer und die versichererbezogene Nummer — bis hin zu welchem Versicherer
  4. Die Prüfziffer — Modulus 10 Gewicht 2-1 von Hand durchrechnen
  5. Die Ausnahme — die alte staatlich verwaltete Krankenversicherung hatte „vier Stellen“
  6. Was eine Versicherernummer nicht verrät
  7. Wie ORCA es implementiert — zwei Stammdatentabellen und eine Verzweigung nach Stellenzahl
  8. Praktische Punkte für alle, die Systeme bauen, die diese Nummern verarbeiten
  9. Zusammenfassung
  10. Referenzlinks

1. Zunächst das Fazit — eine Versicherernummer ist „System + Region + laufende Nummer + Prüfsumme“

Artikel 1 der Festlegungsrichtlinien definiert die Versicherernummer wie folgt.

Position Stellen Name Bedeutung
Ziffern 1–2 2 Gesetzestyp-Nummer Das Krankenversicherungssystem (Kyokai Kenpo, gesellschaftsverwaltete Krankenversicherung, Medizinversorgung für Ältere im fortgeschrittenen Alter …)
Ziffern 3–4 2 Präfekturnummer Die Präfektur, in der der Versicherer sitzt
Ziffern 5–7 3 Versichererbezogene Nummer Die Nummer des einzelnen Versicherers innerhalb dieses Systems und dieser Präfektur
Ziffer 8 1 Prüfziffer Prüfziffer (Modulus 10 Gewicht 2-1)

Es gibt jedoch eine Ausnahme, die direkt in die Hauptregel geschrieben ist. Allein die nationale Krankenversicherung (ohne Rentnermedizinversorgung) hat keine Gesetzestyp-Nummer, was insgesamt sechs Stellen ergibt: 2-stellige Präfekturnummer + 3-stellige versichererbezogene Nummer + 1-stellige Prüfziffer. Ist die Versicherernummer auf einer Karte sechsstellig, verrät das allein bereits, dass es sich entweder um die kommunale NHI oder einen NHI-Verband handelt.

Nimmt man das in den Festlegungsrichtlinien angegebene Beispiel unverändert, liest sich die Versicherernummer 06130488 so.

06  13  048  8
│   │   │    └ Prüfziffer (wir verifizieren sie in Kapitel 4)
│   │   └ Versichererbezogene Nummer: Gesellschaft Nr. 048 innerhalb Tokios
│   └ Präfekturnummer: 13 = Tokio
└ Gesetzestyp-Nummer: 06 = gesellschaftsverwaltete Krankenversicherung

Die Nummer allein bringt Sie also, ohne einen Stamm zu konsultieren, so weit wie „eine der in Tokio ansässigen Krankenversicherungsgesellschaften“. Die folgenden Kapitel betrachten jede Komponente der Reihe nach.

2. Die Gesetzestyp-Nummer — die ersten beiden Ziffern verraten das System

Gesetzestyp-Nummern sind in Anhangstabelle 1(1) der Festlegungsrichtlinien definiert, „Tabelle der Gesetzestyp-Nummern und Systemabkürzungen“. Hier ein Auszug der wichtigsten Krankenversicherungssysteme.

Gesetzestyp-Nummer System Abkürzung
01 Kyokai Kenpo (Krankenversicherung verwaltet von der Japan Health Insurance Association; ehemals staatlich verwaltete Krankenversicherung) (協)
02 Seeleutenversicherung (船)
03 / 04 Versicherung für Tagelöhner-Sonderfall-Versicherte (allgemeine medizinische Versorgung / besondere Heilbehandlungskosten) (日)
06 Gesellschaftsverwaltete Krankenversicherung (組)
07 Heilleistungen für Angehörige der Selbstverteidigungsstreitkräfte und andere (自)
31–34 Versorgungskassen (nationale Beamte / kommunale Beamte und andere / Polizei / öffentliche Schulen und Förderung privater Schulen) (共)
39 Medizinversorgung für Ältere im fortgeschrittenen Alter (高)
63, 72–75 Sonderfall-Rentner (spezifizierte Krankenversicherungsgesellschaften / die verschiedenen spezifizierten Versorgungskassen) (退)
67 Rentnermedizinversorgung nach dem Gesetz über nationale Krankenversicherung
(keine, 6 Stellen) Nationale Krankenversicherung (ohne Rentnermedizinversorgung)

Es gibt drei praktische Punkte beim Lesen.

  1. Sie bestimmen, wohin die Abrechnung geht. Abrechnungen für arbeitnehmerbezogene Versicherungen (01–34, 63, 72–75) werden an den Sozialversicherungs-Abrechnungsfonds übermittelt; jene für die nationale Krankenversicherung (sechsstellig, sowie Gesetzestyp 67) und die Medizinversorgung für Ältere im fortgeschrittenen Alter (39) gehen an die Verbände der nationalen Krankenversicherung. Die Unterscheidung, die die Abrechnungswelt „shaho“ gegenüber „kokuho“ nennt, lässt sich mechanisch allein durch einen Blick auf den Anfang der Versicherernummer feststellen.
  2. Manche NHI-Familien-Nummern sind achtstellig. Die NHI-Rentnermedizinversorgung (67) ist ausnahmsweise eine achtstellige Nummer mit Gesetzestyp-Nummer, obwohl sie Teil des NHI-Systems ist. Vereinfachen Sie dies in Ihrer Implementierung zu „6 Stellen = NHI, 8 Stellen = Arbeitnehmerversicherung“, stolpern Sie genau hier.
  3. Ein Versicherer bedeutet nicht eine Nummer. Wie die Anmerkungen zu Anhangstabelle 1 festhalten, sind 63 und 72–75 Gesetzestyp-Nummern für Sonderfall-Rentner-Versicherte. Dieselbe Krankenversicherungsgesellschaft kann mehrere Versicherernummern führen — eine 06-Nummer für ihre gewöhnlichen Versicherten und eine 63-Nummer für ihre Sonderfall-Rentner.

Es gibt außerdem eine sehr ähnliche achtstellige Nummer, die Kostenträgernummer (12 für Sozialhilfe, 21 für ambulante psychiatrische Versorgung und so weiter). Ihr Aufbau — 2-stelliger Gesetzestyp + 2-stellige Präfektur + 3-stellige durchführende Stelle + 1-stellige Prüfziffer — sieht identisch aus, ist aber ein separates Codesystem gegenüber der Versicherernummer der Krankenversicherung. Abrechnungen haben sogar getrennte Eingabefelder dafür. Wir kommen in Kapitel 6 auf das Risiko der Verwechslung beider zurück.

3. Die Präfekturnummer und die versichererbezogene Nummer — bis hin zu welchem Versicherer

Die Präfekturnummer in den Ziffern 3–4 ist in Anhangstabelle 2 der Festlegungsrichtlinien definiert und läuft von 01 (Hokkaido) bis 47 (Okinawa). Die Reihenfolge entspricht den gebräuchlichen JIS-Präfekturcodes: Tokio ist 13, Osaka ist 27. Das Kriterium ist der Sitz des Versicherers, sodass selbst für ein Unternehmen mit landesweiten Versetzungen die Nummer 13 lautet, wenn die Krankenversicherungsgesellschaft ihren Sitz in Tokio hat.

Die versichererbezogene Nummer in den Ziffern 5–7 ist die Nummer, die jedem Versicherer innerhalb dieses Systems und dieser Präfektur zugewiesen wird. Auch wer sie vergibt, ist in den Rundschreiben festgelegt: Nach den geltenden Bestimmungen werden Kyokai-Kenpo-Nummern pro Präfekturfiliale von der Krankenversicherungsbehörde des Gesundheitsministeriums vergeben, Nummern der gesellschaftsverwalteten Krankenversicherung pro Gesellschaft von den regionalen Gesundheits- und Wohlfahrtsämtern, NHI-Nummern pro Gemeinde oder NHI-Verband von der Präfektur, Nummern der Medizinversorgung für Ältere im fortgeschrittenen Alter von den entsprechenden regionalen Zweckverbänden, und Nummern der Versorgungskassen von den jeweils zuständigen Ministerien. (Bei Einführung des Systems 1976 waren der Generaldirektor der Sozialversicherungsbehörde und die Gouverneure der Präfekturen die vergebenden Stellen, doch diese Zuständigkeit ist mit der Umorganisation der Verwaltungsstruktur auf die heutigen Stellen übergegangen.)

Mit anderen Worten: Versicherernummern werden nicht landesweit zentral vergeben, sondern verteilt innerhalb des Rahmens „System × Präfektur“ nummeriert. Der laufende Nummernteil allein ist bedeutungslos; erst gepaart mit Gesetzestyp-Nummer und Präfekturnummer zeigt er eindeutig auf einen Versicherer. Das stimmt mit ORCAs Stammdatendesign überein, das wir später betrachten (der Schlüssel des Versichererstamms ist die Versicherernummer selbst).

Nebenbei bemerkt: Obwohl Kyokai Kenpo als juristische Person eine einzige Einheit ist — die Japan Health Insurance Association —, werden ihre Versicherernummern pro Präfekturfiliale vergeben (Agenturmitteilung Versicherung Nr. 0918001 vom 18. September 2008). Es ist ein gutes Beispiel dafür, dass „die von einer Versicherernummer identifizierte Einheit“ und „der Versicherer als juristische Person“ nicht immer übereinstimmen.

4. Die Prüfziffer — Modulus 10 Gewicht 2-1 von Hand durchrechnen

Die Festlegungsrichtlinien geben auch das Verfahren zur Berechnung der abschließenden Prüfziffer an.

  1. Multiplizieren Sie jede Ziffer außer der Prüfziffer der Reihe nach mit 2 und 1, beginnend bei der letzten Ziffer
  2. Summieren Sie die Produkte; hat ein Produkt zwei Ziffern, verwenden Sie die Summe seiner ersten und zweiten Ziffer
  3. Die Prüfziffer ist die Differenz zwischen 10 und der letzten Ziffer der Summe aus Schritt 2 — außer wenn diese letzte Ziffer 0 ist, dann ist die Prüfziffer 0

Dies ist das als Modulus 10 Gewicht 2-1 (M10W21) bekannte Schema. Verifizieren wir es anhand von 06130488 aus Kapitel 1.

Ziffer:      0   6   1   3   0   4   8
Gewicht:     2   1   2   1   2   1   2   <- 2,1,2,1… beginnend am rechten Ende (8)
Produkt:     0   6   2   3   0   4   16
Summe:       0 + 6 + 2 + 3 + 0 + 4 + (1+6) = 22
Prüfziffer: 10 - 2 = 8  ✓ (stimmt mit der abschließenden 8 überein)

Im Code sind es wenige Zeilen.

def check_digit(code: str) -> int:
    """Berechnet die Prüfziffer aus den Ziffern einer Versicherernummer, ohne die Prüfziffer selbst"""
    total = 0
    for i, ch in enumerate(reversed(code)):
        n = int(ch) * (2 if i % 2 == 0 else 1)
        total += n // 10 + n % 10
    return (10 - total % 10) % 10

assert check_digit("0613048") == 8

Hier ist eine Implementierungsfalle. Die Gewichtung „2,1,2,1…“ ist definiert als beginnend am rechten Ende. Wie es sich trifft, ist die zu prüfende Ziffernfolge bei Versicherernummern speziell sieben Stellen (bei einer 8-stelligen Nummer) oder fünf (bei einer 6-stelligen NHI-Nummer) — beide ungerade —, sodass eine Multiplikation mit 2,1,2,1… vom linken Ende aus genau dieselben Gewichte zuweist (bei ungerader Länge ist die Gewichtsfolge symmetrisch). Die Gefahr entsteht in dem Moment, in dem Sie diese Routine auf eine Nummer mit gerader Ziffernzahl wiederverwenden. Zum Beispiel besteht die Empfängernummer für öffentlich finanzierte medizinische Versorgung aus einer 6-stelligen Empfängerklassifikation plus einer 1-stelligen Prüfziffer — sechs zu prüfende Stellen, eine gerade Zahl. Eine vom linken Ende aus geschriebene Implementierung hat jedes Gewicht um eins verschoben und liefert einen anderen Wert. Das Tückische daran: Ein Test allein mit Versicherernummern kann dies niemals aufdecken.

Amüsanterweise trägt der ORCA-Quellcode genau die Spuren dieser Falle. Das gemeinsame Unterprogramm, das die gesamte Prüfziffernberechnung und -verifikation übernimmt, cobol/common/ORCSCHKDGT.CBL (Komponentenname „Prüfziffernberechnung (Prüfung)“), ist eine allgemeine Routine, die Nummern mit bis zu 20 Stellen entgegennimmt, nicht speziell Versicherernummern — und seine Änderungshistorie lautet:

*  Programm-Änderungshistorie
* Maj/Min/Rev  Geändert von  Datum      Inhalt
*  01.00.01    MCC-Ota       01/04/17  Die Arithmetik beginnend vom rechten Ende durchführen

Vier Monate nach der Neuerstellung im Dezember 2000, im April 2001, ging eine Änderung ein, die lautete „die Arithmetik beginnend vom rechten Ende durchführen“ — und liest man den auskommentiert zurückgelassenen alten Code, sieht man, dass die erste Version die Gewichte vom linken Ende aus multiplizierte. Wie oben erwähnt, ergibt der Start vom linken Ende bei Versicherernummern ungerader Länge zufällig dasselbe Ergebnis, sodass der Fehler erst zutage tritt, sobald man eine Nummer gerader Länge verifiziert. Der korrigierte Code nimmt den Index des rechten Endes der Ziffernfolge in IDY, verringert IDY, während er die Gewichte vom rechten Ende her anwendet, zerlegt ein zweistelliges Produkt als WRK-CD2-1 + WRK-CD2-2 und summiert diese, und gibt schließlich 10 - (Summe mod 10) zurück — genau das Verfahren der Festlegungsrichtlinien. Eine einzige Zeile Änderungshistorie von vor fünfundzwanzig Jahren dient bis heute als Merkzettel: Schreiben Sie Prüfziffern vom rechten Ende aus, und lassen Sie sich nicht durch Tests mit ungerader Länge in Sicherheit wiegen.

5. Die Ausnahme — die alte staatlich verwaltete Krankenversicherung hatte „vier Stellen“

Bis hierhin war alles die allgemeine Regel. Und Versicherernummern hatten eine historisch enorme Ausnahme. Artikel 1, Absatz 7 der Festlegungsrichtlinien besagt:

Sonderregelung zur Versicherernummer der staatlich verwalteten Krankenversicherung (ohne Versicherung für Tagelöhner-Sonderfall-Versicherte) Ungeachtet der obigen Absätze 1 und 3 besteht die Versicherernummer der staatlich verwalteten Krankenversicherung (…) bis auf Weiteres aus der vierstelligen Nummer, die sich aus der Kombination einer 2-stelligen Präfekturnummer und einer 2-stelligen versichererbezogenen (gemeindebezogenen) Nummer ergibt, wobei die Präfekturnummer in diesem Fall die in Anhangstabelle 3 für jede Präfektur, in der sich das Sozialversicherungsamt befindet, festgelegte Nummer ist.

Die staatlich verwaltete Krankenversicherung („seikan kenpo“), die Vorläuferin von Kyokai Kenpo, war das System, das Angestellte kleiner und mittlerer Unternehmen abdeckte — mitgliederzahlmäßig eines der größten des Landes. Und die Versicherernummer dieses größten Systems war:

  1. Vier statt acht Stellen (keine Gesetzestyp-Nummer, und auch keine Prüfziffer)
  2. Eine Präfekturnummer nicht aus der üblichen Anhangstabelle 2, sondern aus einer eigenen Anhangstabelle 3
  3. Nummeriert pro Sozialversicherungsamt, obwohl der Versicherer eine einzelne Stelle war (der Staat)

— eine dreifache Ausnahme. Die Nummern in Anhangstabelle 3 sehen den Nummern in der gewöhnlichen Tabelle überhaupt nicht ähnlich.

Präfektur Gewöhnliche Präfekturnummer (Anhangstabelle 2) Nur staatlich verwaltet (Anhangstabelle 3)
Tokio 13 21
Kanagawa 14 31
Aichi 23 51
Osaka 27 41
Fukuoka 40 75
Okinawa 47 82

Diese Sonderregelung blieb „bis auf Weiteres“ mehrere Jahrzehnte lang bestehen und wurde erst mit dem Start der Japan Health Insurance Association (Kyokai Kenpo) am 1. Oktober 2008 aufgelöst. Nach den heutigen Richtlinien (der aktuellen Fassung des Rundschreibens von 1976) sind Kyokai-Kenpo-Versicherernummern achtstellige, pro Präfekturfiliale vergebene Nummern (gemäß der oben genannten Agenturmitteilung Versicherung Nr. 0918001). Die Gesetzestyp-Nummer ist 01, dieselbe wie in der Ära der staatlich verwalteten Krankenversicherung.

Spuren von „seikan“ im ORCA-Quellcode

Regulatorisch endete die Geschichte 2008, doch ein Abrechnungscomputer verarbeitet weiterhin alte Daten. Der 2026 veröffentlichte ORCA-5.2er-Quellcode trägt noch heute lebendige Spuren der 4-stelligen Ära der staatlich verwalteten Krankenversicherung.

Spur 1: Ableitung des Systems aus der Stellenzahl. Das bei der Patientenregistrierung verwendete Eingabeprüf-Unterprogramm für Versicherungen, cobol/orca12/ORCSP03A.CBL, beschränkt die eingegebene Versicherernummer auf 4, 6 oder 8 Stellen (alles andere ist ein Fehler) und leitet dann für nicht im Versichererstamm registrierte Nummern das System (ORCAs interne „Versicherungsnummer“) aus der Stellenzahl ab.

*        Bearbeitung anhand des Gesetzestyps
EVALUATE    WRK-MOJ-MAX
    WHEN    4
*                Staatlich verwaltet
        MOVE    "001"           TO  WRK-HKNJA-HKNNUM
    WHEN    6
*                Nationale Krankenversicherung
        MOVE    "060"           TO  WRK-HKNJA-HKNNUM
    WHEN    8
*            Sonstige
        PERFORM 1003-HKNNUM-HBTNUM-SEC
END-EVALUATE

Vier Stellen bedeutet staatlich verwaltet (interner Code 001); sechs bedeutet NHI (060); acht bedeutet, den Stamm anhand der führenden 2-stelligen Gesetzestyp-Nummer nachschlagen. Das Wissen über das Nummerierungssystem aus den Kapiteln 1–3 ist zu einer COBOL-Verzweigung geworden, genau so. Und weil 4-stellige, staatlich verwaltete Nummern keine Prüfziffer haben, läuft die unmittelbar davor stehende Modulus-10-Prüfung nur „wenn die Stellenzahl größer als 4 ist“. Die Sonderregelung reicht bis in die Verifikationslogik hinein.

Spur 2: Übersetzung von staatlich verwaltet zu Kyokai. Es gibt auch eine Behandlung auf der Datenmigrations- und Importseite. Der Batch, der Patientenversicherungsinformationen importiert, cobol/orcabt/ORCVTPTHKNINF.CBL, enthält:

*    Unterstützung für Kyokai Kenpo
IF      PTHKN-HKNNUM        =   "001"
*        Falls es als staatlich verwaltet einging, die Versicherernummer aber 8 Stellen hat, als Kyokai behandeln
    IF      WRK-LEN             =   8
        MOVE    "009"           TO  PTHKN-HKNNUM
    END-IF
END-IF

— das heißt: „Falls es als staatlich verwaltet (001) einging, die Versicherernummer aber acht Stellen hat, als Kyokai Kenpo (009) neu interpretieren.“ Intern koexistieren das alte staatlich verwaltete System und das heutige Kyokai Kenpo als verschiedene Versicherungsnummern, und die Stellenzahl ist der Hinweis, der Alt von Neu unterscheidet. Auf der Seite der Abrechnungsaggregation bündelt cobol/orcabt/ORCBG014.CBL 001 und 009 in dieselbe Klassifikation, mit einem Kommentar, der lautet: „Staatlich verwaltet wechselt zu Kyokai.“

Spur 3: Umschreiben des Anzeigenamens. Das Paradebeispiel ist die gemeinsame Routine zur Bearbeitung von Versicherungsnamen, cobol/common/ORCSHKNMEI.CBL.

01  CONST-H201001               PIC X(08)   VALUE   "20081001".
...
IF    ( ORCSHKNMEI-SRYYMD   >=      CONST-H201001 )
 AND  ( COMB-HKNNUM         =      "001" )
        INSPECT COMB-SYU-TANSEIDONAME
                REPLACING    ALL    "政管"   BY  "協会"
END-IF

Das Startdatum von Kyokai Kenpo 20081001 ist als Konstante eingebettet, und liegt das Behandlungsdatum an oder nach diesem Datum, wird die Zeichenkette „政管“ (staatlich verwaltet) im Kurznamen des Systems durch „協会“ (Kyokai) ersetzt. Der Name im Stamm bleibt unverändert, und nur die Anzeige wechselt je nach Behandlungsdatum — sodass eine Behandlung mit Datum am oder vor dem 30. September 2008 auch heute noch als „政管“ angezeigt wird. Die Geschichte des Systems wird zur Laufzeit durch eine einzige Zeichenkettenersetzung reproduziert.

6. Was eine Versicherernummer nicht verrät

Nachdem wir verfolgt haben, „wie viel man erfahren kann“, ziehen wir auch die Grenze: die Dinge, die eine Versicherernummer nicht verrät.

  • Sie können keine Einzelperson identifizieren. Eine Versicherernummer weist nur bis zum Versicherer (als Einheit). Die Identifizierung einer Einzelperson übernehmen das Symbol und die Nummer auf der Versicherungskarte (und die zweistellige Zweignummer, die mit der Umstellung der Online-Berechtigungsprüfung auf individuelle Identifizierung hinzukam). Bei der Online-Berechtigungsprüfung, die wir letztes Mal betrachtet haben, waren die Abfragebedingungen die Kombination aus Versicherernummer + Symbol und Nummer + Zweignummer.
  • Sie bestimmt nicht den Eigenanteil. Die Gesetzestyp-Nummer verrät das System, doch der am Empfangsschalter zu zahlende Betrag variiert je nach Alter und Einkommensklasse. Abkürzungen wie „39, also 10 %“ sind tabu; der Eigenanteil wird aus dem Ergebnis der Berechtigungsprüfung bestimmt (Bescheinigung für ältere Leistungsempfänger, Informationen zur Bestätigung der Belastungsobergrenze und so weiter).
  • Der Name und die Kontaktdaten des Versicherers ergeben sich nicht daraus. Die Nummer bringt Sie so weit wie „Gesellschaft Nr. 048 unter Tokios gesellschaftsverwalteten Krankenversicherungen“, doch welche Gesellschaft das ist, wird erst durch den Abgleich mit dem Versichererstamm klar. Das Nummerierungssystem liefert lediglich einen Suchschlüssel.
  • Kostenträgernummern sind eine andere Welt. Die achtstelligen Nummern für Sozialhilfe (Gesetzestyp 12), Dienste und Unterstützung für Menschen mit Behinderungen (medizinische Versorgung, 21) und Ähnliches sind Kostenträgernummern, vergeben aus einer anderen Tabelle als der Gesetzestyp-Tabelle der Versicherernummer. Weil die Struktur identisch ist — „8 Stellen: 2-stelliger Gesetzestyp + 2-stellige Präfektur + 3 Stellen + 1-stellige Prüfung“ —, führt es allein anhand des Formats zu Unfällen, sie gleichzusetzen. Auch auf einer Abrechnung haben Versicherung und öffentliche Finanzierung getrennte Spalten.

7. Wie ORCA es implementiert — zwei Stammdatentabellen und eine Verzweigung nach Stellenzahl

Legen wir das Datendesign rund um Versicherernummern in ORCA dar, das hinter der in Kapitel 5 gesehenen Verzweigung steht. Es sind im Wesentlichen zwei Stammdatentabellen beteiligt.

Der Versicherungsnummernstamm tbl_hknnum ist die „System“-Schicht. Systeme werden durch einen 3-stelligen internen Code identifiziert, die „Versicherungsnummer“ (001 = staatlich verwaltet, 009 = Kyokai Kenpo, 060 = NHI, 039 = Ältere im fortgeschrittenen Alter …). Der tatsächliche Primärschlüssel ist jedoch nicht die Versicherungsnummer allein, sondern ein zusammengesetzter Schlüssel einschließlich Gesundheitsdienstleisternummer, Anwendungsstartdatum und Klassifikation (HOSPNUM, HKNNUM, TEKSTYMD, PAYKBN) — eine Struktur, die es erlaubt, Datensätze desselben Systems als Generationen nach Gültigkeitszeitraum zu stapeln —, sodass sich Attribute wie Eigenanteilsraten, die sich mit einer regulatorischen Revision ändern, nach Zeitraum auflösen lassen. Die Definition (record/tbl_hknnum.db) enthält die Gesetzestyp-Nummer HBTNUM, den Systemnamen SEIDONAME und den Kurznamen TANSEIDONAME, sowie Felder für Eigenanteilsraten und Obergrenzen für jede Kombination aus Hauptversichertem/Angehörigem × stationär/ambulant. Bemerkenswert sind die drei Prüfklassifikationen.

  • HBTNUMCHKKBN — Prüfklassifikation für die Gesetzestyp-Nummer
  • KENSNUMCHKKBN — Prüfziffernprüfklassifikation (für die Kostenträgernummer)
  • JKYSKENSNUMCHKKBN — Prüfziffernprüfklassifikation für die Empfängernummer

Mit anderen Worten: Ob die Nummernprüfung angewendet wird oder nicht, ist eine Stammdateneinstellung pro System. Liest man tatsächlich das Eingabeprüf-Unterprogramm für öffentlich finanzierte Leistungen cobol/orca12/ORCSP03B.CBL, läuft die Modulus-10-Prüfung der Kostenträgernummer nur, wenn KENSNUMCHKKBN = "1" ist, und für die Empfängernummer bedeutet die Klassifikation "3", dass sie als Warnung statt als Fehler behandelt wird (Sie können bestätigen und fortfahren). Empfängernummern für öffentlich finanzierte Versorgung umfassen Systeme ohne Prüfziffer, die je nach Kommune variieren, daher wird die Stärke der Prüfung über Daten anpassbar gemacht. Dieses Design — Validierung in die Stammdaten auszulagern, statt sie direkt in den Code zu schreiben — lässt sich durchaus als die Weisheit eines Abrechnungscomputers bezeichnen, der seit fünfundzwanzig Jahren mit regulatorischer Vielfalt lebt.

Der Versichererstamm tbl_hknjainf ist die „Versicherer“-Schicht. Sein Schlüssel ist die Gesundheitsdienstleisternummer plus die Versicherernummer selbst, und er enthält den Namen des Versicherers, die Postleitzahl, die Adresse, die Telefonnummer, das Symbol der Versicherungskarte und das System (die Versicherungsnummer), zu dem er gehört (record/tbl_hknjainf.db). Die Verarbeitungsreihenfolge in ORCSP03A.CBL aus Kapitel 5 setzt diese zweischichtige Struktur voraus.

  1. Ist die Stellenzahl der Versicherernummer etwas anderes als 4, 6 oder 8, sofort einen Fehler ausgeben
  2. Zuerst den Versichererstamm (tbl_hknjainf) durchsuchen. Ist er registriert, stehen Name, Adresse, Leistungsrate und System allesamt fest
  3. Ist er nicht registriert, mit Modulus 10 verifizieren — aber nur für mehr als vier Stellen (Aufruf von ORCSCHKDGT)
  4. Das System aus Stellenzahl und Gesetzestyp-Nummer ableiten (4 Stellen → staatlich verwaltet, 6 → NHI, 8 → tbl_hknnum anhand der Gesetzestyp-Nummer durchsuchen)

Das heißt, „was aus dem Nummerierungssystem abgeleitet werden kann“ ist der Ausweichmechanismus für den unregistrierten Fall, und die Priorität lautet, dass der Stamm maßgeblich ist. Diese zweistufige Anordnung ist die Antwort der Implementierung auf die Einschränkung aus Kapitel 6, dass „die Nummer nicht den Namen verrät“.

Nebenbei bemerkt: Das Feld, das die Versicherernummer hält, HKNJANUM, ist PIC X(08) — definiert nicht als numerischer Typ, sondern als 8-Zeichen-Zeichenkette — und wird aus über 650 COBOL-Quellen referenziert. Die Wahl des Typs umgeht von vornherein den im nächsten Abschnitt behandelten Vorbehalt: Halten Sie eine mit 0 beginnende Nummer (Gesetzestypen 01–07 und so weiter) numerisch, fällt die führende Null weg.

8. Praktische Punkte für alle, die Systeme bauen, die diese Nummern verarbeiten

Eine Zusammenfassung der Schlüsselpunkte beim Entwurf und der Implementierung eines Systems, das Versicherernummern (und die gleich aufgebauten Kostenträgernummern) verarbeitet.

  1. Als Zeichenketten halten, nicht als Zahlen. Nummern im Gesetzestypbereich 01–07 beginnen mit 0. Der Verlust der führenden Null in dem Moment, in dem die Daten durch Excel laufen, sodass sieben Stellen übrig bleiben, ist ein klassisches Problem bei der Integration medizinischer Daten. Bauen Sie auf der CSV-Importseite ein Design, das „Nummern mit zu wenigen Stellen“ erkennt und ablehnt — oder davor warnt.
  2. Gehen Sie von drei möglichen Stellenzahlen aus: 4, 6 und 8. Aktuelle neue Daten sind sechsstellig (NHI) oder achtstellig, doch historische Daten können die alten 4-stelligen, staatlich verwalteten Nummern enthalten (Kapitel 5). Dass ORCA weiterhin vier Stellen akzeptiert, ist ein Zugeständnis an diese Geschichte. Alles leichtfertig auf „8 Stellen, mit Nullen aufgefüllt“ zu normalisieren, führt beim Abgleich mit alten Daten oder Daten aus anderen Systemen zu Diskrepanzen.
  3. Wenden Sie die Prüfziffernverifikation nur auf Nummern an, die eine haben. Die M10W21-Verifikation ist leistungsfähig, doch die alten 4-stelligen, staatlich verwalteten Nummern haben keine Prüfziffer, und manche Empfängernummernsysteme für öffentlich finanzierte Versorgung haben ebenfalls keine. Der praktische Ansatz ist der von ORCA: Lagern Sie „welche Nummern werden verifiziert“ in Stammdateneinstellungen aus und unterscheiden Sie Warnungen von Fehlern.
  4. Machen Sie die Verzweigung nach der Gesetzestyp-Nummer stammdatengesteuert. Wenn Sie die Gesetzestyp-Nummer verwenden, um zu entscheiden, wohin eine Abrechnung geht (Zahlungsfonds oder NHI-Verband) oder Ähnliches, codieren Sie die Zuordnung von Gesetzestyp zu System nicht fest — halten Sie sie in einer Stammdatentabelle. Gesetzestyp-Nummern haben eine Geschichte, in der sie mit regulatorischen Änderungen hinzugefügt wurden, und es können noch weitere hinzukommen.
  5. Legen Sie Versicherernummern und Kostenträgernummern nicht in dieselbe Spalte. Identische Struktur, unterschiedliche Codesysteme (Kapitel 6). Halten Sie sie auch im Datenmodell als getrennte Felder, und beziehen Sie „die Art der Nummer“ in jeden Abgleichschlüssel ein.
  6. Versicherernummern sind auch im Zeitalter der Online-Berechtigungsprüfung weiterhin aktuell. Der Wechsel zu My-Number-Krankenversicherungskarten bedeutet, dass seltener jemand über Symbole und Nummern nachdenkt, doch InsurerNumber (die Versicherernummer) ist in der Online-Berechtigungsabfrage und -Antwort-XML quicklebendig, und die Bestimmung, wohin eine Abrechnung übermittelt wird, basiert weiterhin auf der Versicherernummer. Entwerfen Sie unter der Annahme, dass es keine Nummer ist, die still verschwinden wird, sondern eine, die als Kernschlüssel der Berechtigungsinformationen bestehen bleibt.

9. Zusammenfassung

  • Eine Versicherernummer besteht aus 8 Stellen: einer 2-stelligen Gesetzestyp-Nummer + 2-stelliger Präfekturnummer + 3-stelliger versichererbezogener Nummer + 1-stelliger Prüfziffer (nur NHI hat sechs Stellen ohne Gesetzestyp). Die ersten beiden Ziffern verraten das System und wohin die Abrechnung geht (Zahlungsfonds oder NHI-Verband); die nächsten beiden verraten die Präfektur des Versicherers.
  • Die abschließende Prüfziffer verwendet Modulus 10 Gewicht 2-1. Die Gewichte beginnen am rechten Ende; bei Versicherernummern ungerader Länge stimmt eine fehlerhafte Implementierung mit Start am linken Ende zufällig überein, doch wird sie auf eine Nummer gerader Länge (etwa eine Empfängernummer für öffentlich finanzierte Versorgung) wiederverwendet, bricht sie zusammen. ORCAs gemeinsames Unterprogramm ORCSCHKDGT.CBL trägt bis heute den Änderungshistorien-Eintrag aus dem Jahr 2001, „die Arithmetik beginnend vom rechten Ende durchführen“.
  • Die größte Ausnahme war die alte staatlich verwaltete Krankenversicherung. Sie lief jahrzehntelang „bis auf Weiteres“ auf vier Stellen mit einer eigenen Präfekturnummerntabelle (ohne Gesetzestyp-Nummer und ohne Prüfziffer) und wurde erst mit dem Start von Kyokai Kenpo im Oktober 2008 achtstellig.
  • ORCAs Quellcode trägt noch heute die Spuren dieser Sonderregelung als lebendigen Code im Jahr 2026: eine Verzweigung, die aus vier Stellen auf staatlich verwaltet schließt, eine Importverarbeitung, die acht Stellen als Kyokai Kenpo neu interpretiert, und eine Verarbeitung, die „政管“ im Anzeigenamen durch „協会“ ersetzt, wenn das Behandlungsdatum am oder nach dem 1. Oktober 2008 liegt.
  • Was eine Nummer verrät, endet bei der Einheit des Versicherers. Die Einzelperson, der Eigenanteil und der Name des Versicherers stehen nicht darin. Die Implementierung in zwei Schichten zu halten — Systemstamm plus Versichererstamm — und die Ableitung aus dem Nummerierungssystem auf den Ausweichmechanismus für den unregistrierten Fall zu beschränken, ist die ORCA-Art, und sie verallgemeinert sich auf jedes System, das strukturierte Nummern verarbeitet.

Die nächste Folge dieser Serie wird, wie ursprünglich angekündigt, die Logik von Abrechnungsprüfung und -bewertung behandeln. Wir zerlegen, was die Datenprüfung innerhalb des Gesundheitsdienstleisters und die Computerprüfungen auf Seiten der Abrechnungsprüfungs- und Zahlungsstelle jeweils betrachten, wiederum anhand des Quellcodes und öffentlicher Dokumente.

Aktuelle Artikel mit denselben Schlagwörtern führen zu verwandten Themen weiter.

Diese Seiten ordnen den Artikel in einen größeren Leistungs- und Entscheidungskontext ein.

Dieser Artikel ist direkt mit den folgenden Leistungen verbunden.

Technische Beratung und Design-Review

Der Entwurf von Geschäftscode-Systemen wie Versicherer- und Kostenträgernummern sowie die Festlegung einer Validierungsrichtlinie dafür ist ein Standardthema für technische Beratung und Design-Review bei Geschäftssystemen — nicht nur medizinischen.

Windows-App-Entwicklung

Empfangs- und Abrechnungsanwendungen mit Eingabevalidierung für Versicherernummern und Stammdatenabgleich laufen meist auf Windows-Rechnern in einer Praxis oder einem Büro, was in den Bereich der Windows-App-Entwicklung fällt.

Häufige Fragen

Fragen, die in Beratungen zu diesem Artikelthema häufig gestellt werden.

Kann man aus einer Versicherernummer eine Einzelperson identifizieren?
Nein. Eine Versicherernummer identifiziert lediglich, um welchen Versicherer es sich handelt (eine bestimmte Kyokai-Kenpo-Präfekturfiliale, eine bestimmte Krankenversicherungsgesellschaft, das nationale Krankenversicherungssystem einer bestimmten Gemeinde und so weiter). Die Identifizierung der Einzelperson übernehmen das Symbol und die Nummer auf der Versicherungskarte (einschließlich der zweistelligen Zweignummer, die mit der Umstellung der Online-Berechtigungsprüfung auf individuelle Identifizierung hinzukam) — ein von der Versicherernummer getrenntes Feld.
Warum haben manche Versicherungskarten eine 6-stellige Versicherernummer und andere 8 Stellen?
Weil allein die nationale Krankenversicherung (ohne Rentnermedizinversorgung) so definiert ist, dass sie keine Gesetzestyp-Nummer besitzt, was sechs Stellen ergibt (2-stellige Präfekturnummer + 3-stellige versichererbezogene Nummer + 1-stellige Prüfziffer). Arbeitnehmerbezogene Versicherungen (Kyokai Kenpo, gesellschaftsverwaltete Krankenversicherung, Versorgungskassen und so weiter), die Medizinversorgung für Ältere im fortgeschrittenen Alter und die NHI-Rentnermedizinversorgung (Gesetzestyp 67) tragen alle eine 2-stellige Gesetzestyp-Nummer vorangestellt, was acht Stellen ergibt.
Was ist die letzte Ziffer einer Versicherernummer?
Es ist die Prüfziffer. Jede Ziffer außer der letzten wird, beginnend vom rechten Ende, mit 2, 1, 2, 1… multipliziert; ergibt ein Produkt zwei Ziffern, wird es in seine Einzelziffern zerlegt und diese werden summiert; die Prüfziffer ist 10 minus der letzten Ziffer dieser Summe (oder 0, falls diese letzte Ziffer 0 ist). Dies ist das Schema Modulus 10 Gewicht 2-1, und diese eine Ziffer fängt die meisten Eingabefehler ab.
Stimmt es, dass die alten Kyokai-Kenpo-Versicherernummern (staatlich verwaltete Krankenversicherung) nur vier Stellen hatten?
Ja. Die Festlegungsrichtlinien des Gesundheitsministeriums enthielten eine ausdrückliche Sonderregelung: „Die Versicherernummer der staatlich verwalteten Krankenversicherung besteht bis auf Weiteres aus den vier Stellen, die sich aus einer 2-stelligen Präfekturnummer plus einer 2-stelligen versichererbezogenen Nummer zusammensetzen.“ Und mehr noch: Die Präfekturnummer stammte aus einer eigenen Tabelle, getrennt von der üblichen (Tokio = 21, Osaka = 41 und so weiter). Mit dem Start von Kyokai Kenpo im Oktober 2008 wurde auf achtstellige, pro Präfekturfiliale vergebene Nummern umgestellt.

Autorenprofil

Profilseite des Artikelautors.

Go Komura

Geschäftsführer von KomuraSoft LLC

Spezialisiert auf Windows-Softwareentwicklung, technische Beratung und Fehleranalyse, insbesondere bei bestehenden Systemen und schwer reproduzierbaren Störungen.

Zurück zum Blog