コードで語るマニフェスト:地方公共システムを技術で検証する(오카무視点)

IT 정책 제안
コードで語るマニフェスト:地方公共システムを技術で検証する(오카무視点)
  • 지방정부 정보시스템 표준화 법률과 디지털청의 로드맵을 기술 관점에서 검증한다
  • 공개데이터 품질은 PDF·스캔 문서가 병존해 기계가 읽기 어렵다 — API·CSV 우선 원칙 필요
  • 구체적 개선안: 공통OpenAPI·JSON Schema, CI 기반 데이터 품질 체크, 마이그레이션 전략

結論

どうも〜おかむーです!한국어로 가볍게 시작할게요~ 요약하면: 지금의 지방공공시스템 표준화는 정책 의지는 있으나 데이터 설계·배포 관점에서 미완성입니다. 에ンジニア적으로 보면 ‘표준은 정해놨는데 인터페이스·バージョン管理·機械可読性’가 빠져 있어요. 해결책은 API 우선, 명세( OpenAPI + JSON Schema ) 적용, 그리고 자동화된 데이터 품질 파이프라인 도입입니다.

レポート本文

현재 상태(무엇이 공개되어 있나・근거 자료)

これ見てくださいよ: デジタル庁의 지방公共団体向け標準化ページ(https://www.digital.go.jp/policies/local_governments)와 「地方公共団体情報システムの標準化に関する法律」(https://laws.e-gov.go.jp/law/503AC0000000040)を見ると、標準化対象事務は20事務に特定され、標準準拠システムの要件が示されています。しかし実運用でのAPI提供状況やデータフォーマットの統一はまだ途上。

  • e-Gov의 API 카탈로그(https://www.e-gov.go.jp/digital-government/api)와 Japan Dashboard(https://www.digital.go.jp/resources/japandashboard)、e-Stat 대시보드(https://dashboard.e-stat.go.jp/)는存在하지만、エンドポイントの一貫性やスキーマ保証が弱いです。

要するに:法律とダッシュボードはあるけど、エンジニアリング的に再利用可能な「契約」が足りないということです。

技術的課題の詳細

  • 機械可読性の欠如
  • - 多くの統計・報告がPDFやHTMLテーブルに埋められている。

    - PDF → 스크레이핑は可能だが、正確性と保守性が低い。CSV/JSONでの公開が最重要。

  • API設計のバラつき
  • - エンドポイント名、認証、レスポンス構造が自治体ごとにバラバラで、統合が難しい。

  • スキーマとバージョン管理の欠如
  • - スキーマ(型・必須項目・単位)の明記が少なく、データ連携時に変換ロジックが肥大化する。

  • 品質担保の仕組みが弱い
  • - 入力バリデーション、セマンティックチェック、試験用サンプルデータが不足している。

    エンジニア的にできること(実践的改善案)

    • APIファーストで標準を整備
    - OpenAPI 3.1 を採用し、各事務(住民票、税、福祉など)ごとに Spec を作る。要するに「契約」を先に決めるということです。
    • JSON Schema と 単位メタデータの標準化
    - 数値に単位を明記し、time-series は ISO8601 ベースに統一。
    • データ公開ポリシー: CSV/JSON優先、PDFは二次的に
    - PDFは人向け。機械処理用は必ずCSV/JSONを同時提供するルールにする。
    • CI/CD によるデータ品質パイプライン
    - GitHub/GitLab に OpenAPI と サンプルデータを置き、PR 時にスキーマチェック・サンプル検証を自動化。
    • フェデレーション方式のAPIゲートウェイ
    - 各自治体はローカルでAPIを公開し、国レベルでゲートウェイ(GraphQL or BFF)を作る。これで共通クエリを一括で投げられます。

    コード例:APIからCSVまたはJSONを安全に取り込む(Python)

    import requests
    

    import pandas as pd

    url = 'https://api.example.localgov.jp/v1/residents' # 仮のエンドポイント

    r = requests.get(url, headers={'Accept': 'application/json'})

    if r.headers.get('content-type','').startswith('application/json'):

    df = pd.json_normalize(r.json())

    elif 'text/csv' in r.headers.get('content-type',''):

    from io import StringIO

    df = pd.read_csv(StringIO(r.text))

    else:

    raise ValueError('Unsupported content type: ' + r.headers.get('content-type',''))

    スキーマチェック(簡易)

    expected_cols = {'id','name','birth_date'}

    if not expected_cols.issubset(set(df.columns)):

    raise AssertionError('Schema mismatch')

    print(df.head())

    要するに、Accept ヘッダで機械可読フォーマットを要求し、Content-Type を見て安全に取り込むのがエンジニア的な正攻法です。

    数字目標と実績のギャップ分析(概念フレーム)

    • 法律は「標準準拠システム」を要件化しているが、実際に「準拠済み」として分類される地方システムの割合は公開データで追いづらい。デジタル庁の資料では対象20事務が示されているが、自治体ごとの準拠状況を機械で収集・比較するAPIが整備されていないのが現状(出典: https://www.digital.go.jp/policies/local_governments)。
    • 政策評価を行うには、次のメトリクスが必要:
    - 対象事務のうちAPI公開済み比率

    - 公開データの機械可読化比率(PDF除外)

    - スキーマバージョン遵守率

    この3つを年度ごとにダッシュボード化すれば、政策の数値目標と実績のギャップが一目でわかりますよね!

    オープンデータ活用の可能性

    • 民間サービスと自治体間でのデータ連携が楽になると、行政手続きの自動化や地域サービスのサードパーティ開発が進む。
    • 例:福祉利用の要件判定API、空き家情報の統合API、災害時の避難所空室APIなど。API一本で解決する話なんですよね。

    まとめ

    • 法律とダッシュボードはあるが、実運用での『契約(API+スキーマ)』が足りない。
    • エンジニア的には「OpenAPI + JSON Schema + CIによる品質保証 + APIゲートウェイ」の組み合わせが即効性ある改善案。
    • PDFからのスクレイピングに頼るのをやめて、最初から機械可読で出す文化をつくろう!

    おかむーから一言

    テクノロジーで行政をアップデートするのは可能です。やるべきは「政策の言語化」じゃなくて「データと契約(API)で政策を実装すること」。エンジニアとして一緒に作りましょう!


    参考リンク:

    • 地方公共団体の基幹業務システムの統一・標準化(デジタル庁): https://www.digital.go.jp/policies/local_governments
    • 地方公共団体情報システムの標準化に関する法律: https://laws.e-gov.go.jp/law/503AC0000000040
    • 行政API | e-Govポータル: https://www.e-gov.go.jp/digital-government/api
    • Japan Dashboard(デジタル庁): https://www.digital.go.jp/resources/japandashboard
    • e-Stat ダッシュボード: https://dashboard.e-stat.go.jp/
    • 東京都オープンデータカタログ(API例): https://portal.data.metro.tokyo.lg.jp/opendata-api/

    공유하기