LOG #007 · · INSIGHT

86,912件中たった1件、97年前から開業してる歯科があったれく

~ gold の MAX が炙り出した昭和4年の謎 ~

gold view で MAX を打ったれく

ETL パイプラインの整備が一段落して、gold view に業種ごとの「最古指定年」を出す集計を書いたれく。関東信越10県の 86,912 件を対象に、MAX(years_since_shitei) を業種別にかけたら、こうなったれく。

-- 業種別・最古指定年数(gold view)
業種  |  件数  |  最古指定日       |  経過年数
──────────────────────────────────────────
医科  | 36,401 |  1957/07/01      |  69 年
歯科  | 27,374 |  1929/05/01      |  97 年  ←
薬局  | 23,137 |  1957/02/01      |  69 年

皆保険制度(1961年)・健康保険指定の本格運用(1957年)から考えると、69年が自然な上限れく。医科も薬局もきれいに 1957 年で揃っているのれく。歯科だけ 1929 年——97年。ぶっくりしたれく✨

該当レコードを掘ったら、矛盾が4つ揃ったれく

1件だけ降りていくと、長野県内のある歯科クリニックが該当れく。PDF と Excel の両方に「昭和 4 年 5 月 1 日 (1929/05/01)」と指定日が書かれていたれく。

老舗か……と思って眺めていたら、おかしい点が4つ 同時に見えてきたれく。

① 「クリニック」は戦後語彙れく
施設名に「クリニック」が入っているれく。この呼称が日本で一般的になったのは 1970〜80 年代以降れく。昭和4年(1929年)に「クリニック」という看板はないれく。

② 登録理由が「新規」なのれく
1929 年から続く老舗なら「承継」「組織変更」等のはずれく。それが「新規」になっているのれく。新規開業なのに 97 年前——これは矛盾れく。

③ 指定期間始が「令和 4 年 5 月 1 日」と同日なのれく
保険医療機関の指定は 6 年更新れく。昭和4年から始まったとすると 15 回以上更新を重ねたはずれく。なのに直近の指定期間始が、指定日とまったく同じ「5 月 1 日」で揃っているれく。これは 令和 4 年 5 月 1 日が真の新規指定日で、第 1 期目の期間始も同日、と読むほうがずっと自然れく。

④ 戦前指定が全業種でこの 1 件だけなのれく
3 業種 86,912 件のうち、1957 年より古い指定は歯科のこの 1 件のみれく。外れ値というより、孤立した点れく。

結論:「令4. 5. 1」を「昭4. 5. 1」と書いちゃったれく

4つの矛盾をぜんぶ整合的に説明できる仮説は、たった1つれく。

令和 4 年 5 月 1 日(2022年)に新規開業した歯科クリニックの届出入力時に、元号を「令」ではなく「昭」と書き間違えた。

「令4」→「昭4」は字形こそ似ていないれく。でも和暦の入力は IME 変換やプルダウン選択で間違えうるれく。その1文字のミスが PDF と Excel の両方の公開データに流れて、ETL 側まで届いてきたれく。

間違えた人を責めるわけじゃないれく。うちも「令和元年 → NULL」でやらかした経験があるれく(LOG #001 参照)。和暦の入力ミスはどこでも起きうるのれく。

-- 戦前指定(昭和32年=1957年未満)のレコードを探す
SELECT 'dent' AS sector, COUNT(*) AS suspicious
FROM `tracebase-core.bronze.shitei_dent`
WHERE REGEXP_CONTAINS(shitei_date_raw, r'^昭(\d+)\.')
  AND SAFE_CAST(REGEXP_EXTRACT(shitei_date_raw, r'^昭(\d+)\.') AS INT64) < 32

-- 結果: dent = 1   /   medi = 0   /   phar = 0

MAX 1 発で浮かぶ——それが gold の仕事れく

今回のレコードは、bronze にあるデータを丸ごと信頼していたら見逃していたれく。bronze は「PDF に何が書いてあったか」をそのまま保持するれく。silver で西暦変換し、gold で years_since_shitei という派生フィールドを作ったからこそ、業種横断で「69 年が上限のはずなのに 97 年が 1 件ある」という比較が 1 行の SQL で見えたれく。

TraceBase が持っている 4 層の役割を整理するとこうれく。

  • bronze: 上流データを raw のまま保持。改変しないれく。
  • silver: ドメイン整形(和暦 → 西暦、住所正規化など)。
  • gold: 公開・分析向けの派生フィールドを生成。

TraceBase はデータを整理して並べるだけで、それ以上のことはしないれく。でも整理して横並びにするだけで、上流の入力ミスが自然に浮かび上がってくるれく——今回はそれを改めて実感したれく✨

なお、該当クリニックは実在する現役の歯科医院れく。指定日の入力ミスがあっても、診療そのものとは無関係れく。「97年継続中の老舗」のように表示してしまうと誤った情報になるので、継続年数を表示する際に妥当性チェックが必要なのれく——それが次の設計課題れく。

"こうこくはノイズ。なまデータこそがしんじつ。"