地方公共団体情報システム標準化

デジタル庁がすすめている[地方公共団体情報システム標準化](https://www.digital.go.jp/policies/local_governments)の文書を見て、気がついたことです。2024年2月14日に掲載されたものを読んでいます。
間違っていたら、指摘をお願いします。

最新の仕様書はこちらです。
[データ要件・連携要件の標準仕様](https://www.digital.go.jp/policies/local_governments/specification/)

## 全般
ウォーターフォール　という開発手法である。
そして、「要求を事前に詳細に定義することは困難である」があてはまる。
仕様を作成したら、プロトタイプを作成して、その仕様の検証を行って、仕様の不具合を洗い出し、より良い仕様にするということが行われていないようだ。
GitHub や、GitLab に、今の仕様または、ちょっと前の仕様で作成されたプロトタイプが
ないかと探しても、まったく見つからない。

## 重複が多い
次の定義が、数10箇所で行われている。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/179446/6128bdc4-99c4-2f9a-fdfc-3a27dbfbed58.png)

私は、エクセルシートの中で、もう10回以上、見ています。
数10あるシステムで、性別のコードが異なることに対応するように、実装するのは、
困難だし、バグが入るもとです。

## テーブル名、コラム名
テーブル名、コラム名が、日本語でしか示されていない。
これは、実装する時に、各自が、英数字のテーブル名、英数字のコラム名を決めることになる。
それでは、データベース単位で、互換性を維持するのは、困難です。
A 社のデータベースをダンプして、B 社のシステムに取り込むことは、ほぼ不可能です。

## API の定義
RestAPI を使うと記述してあるが、
エンドポイント、引数が定義されていない。これでは、クライアントが、A 社と　B社の
システムにアクセスする時、サーバー名の変更だけで対応できない。
例えば、県庁のシステムが、X　市と　Y市から、API で情報をもらうとして、X 市がA社、
Y市が B社のシステムを使っていると、データの授受がかなり困難になる。

## 願望
2025年度末というデッドラインに対して、ITエンジニアの負荷を減らす方法です。

例えば、MariaDB に仕様を満たす、データベースを構築してそれを公開すること。
そうすれば、そのままデータベースのスキーマが使えます。

例えば、Web サーバーを立てて、そこの API をたたけるようにすること。
そうすれば、どういう　JSON が返ってくるか明確になるし、わざわざ、異なるコラム名
の JSON 出力を作成する必要がなくなります。

## 仕様の不具合

### ID の重複

012_固定資産税 内の
012_固定資産税_基本データリスト【第4.0版】_20240214.xlsx
で、
データ項目ID の重複があります。
012 00974 がふたつあります。

012_固定資産税
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/179446/7d249dfa-386a-93f6-caca-977c2e72b662.png)

### 日付のデータ型
028_子ども・子育て支援_基本データリスト【第2.3版】_20240214.xlsx
で
028-02117 登録日の型が、S9 (符号付き整数）になっている。

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/179446/97976184-cadf-25b9-2f0c-4d43e8352035.png)



## セルの書式指定のばらつき

データ項目ID の書式は、ほぼテキストです。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/179446/bf3a31aa-01cd-9cdc-cde1-7aa5476cd0d8.png)

ただし、
018_就学事務（就学援助）_基本データリスト【第3.0版】_20240214.xlsx
の 
018-01159
018-01160
の 018 は数になっています。

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/179446/72c6a8d6-5b91-9766-1927-bacdd7d3b5bd.png)

## 月データのサンプルが日付になっている

018_就学事務（就学援助）_基本データリスト【第3.0版】_20240214.xlsx
の　支給開始年月　のサンプルが、
テキスト　7文字でなく、
日付を、形式　'1999-12' で表している。その為に、サンプルデータは、
1964年7月でなく、1964年7月1日を意味している。

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/179446/91675346-e4e2-a50a-3bce-ea1c7f05e589.png)


![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/179446/3951960e-bdeb-d7aa-c051-ab6d5cfac45f.png)

## 不適切なサンプル

022_障害者福祉_基本データリスト【第2.2版】_20240214.xlsx
に日付のサンプルとして、
2021-10-00
が挙げられている。

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/179446/89ab6a1b-3973-68b3-73ed-f7fa7ae4f0af.png)

### 地域区分コード

023_介護保険_基本データリスト【第3.1版】_20240214.xlsx
で　地域区分コード　は一桁なのに、二桁のサンプルが示されている。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/179446/07be09b4-623e-2672-5406-672803db4ba6.png)

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/179446/22c2f7bc-fbe2-a9f8-34c5-ee51ac187a6b.png)

## 更に状況は悪化しました。
2024年4月30日に新しい版がでました。

zip ファイルを解凍するとこうなります。

```text
$ unzip 20240430_policies_local_governments_specification_02.zip
Archive:  20240430_policies_local_governments_specification_02.zip
  inflating: ГfБ[Г^ЧvМПБEШAМgЧvМПХWПАОdЧlПСБiСНШ_БjБyСц4.0Ф┼Бz/ГfБ[Г^ЧvМПБEШAМgЧvМПХWПАОdЧlПСБiСНШ_БjБyСц4.0Ф┼Бz .docx  
  inflating: ГfБ[Г^ЧvМПБEШAМgЧvМПХWПАОdЧlПСБiСНШ_БjБyСц4.0Ф┼Бz/ГfБ[Г^ЧvМПБEШAМgЧvМПХWПАОdЧlПСБiСНШ_БjБyСц4.0Ф┼Бz .pdf  
  inflating: ГfБ[Г^ЧvМПБEШAМgЧvМПХWПАОdЧlПСБiСНШ_БjБyСц4.0Ф┼Бz/ГfБ[Г^ЧvМПБEШAМgЧvМПХWПАОdЧlПСБiСНШ_БjВ╠Х╧НXЧЪЧЁ.xlsx
```

2月14日公開になった zip ファイルではこうでした。

```text
$ unzip 20240214_policies_local_governments_specification_outline_00.zip
Archive:  20240214_policies_local_governments_specification_outline_00.zip
   creating: データ要件・連携要件標準仕様書（総論）【第3.1版】/
  inflating: データ要件・連携要件標準仕様書（総論）【第3.1版】/データ要件・連携要件標準仕様書（総論）【第3.1版】.docx  
  inflating: データ要件・連携要件標準仕様書（総論）【第3.1版】/データ要件・連携要件標準仕様書（総論）【第3.1版】.pdf  
  inflating: データ要件・連携要件標準仕様書（総論）【第3.1版】/データ要件・連携要件標準仕様書（総論）の変更履歴.xlsx
  ```

  何故、文字コードを　UTF8 にしないのか理解に苦しみます。
  
解決方法

```bash
unzip -O sjis ***.zip
```

```text
$ unzip -O sjis 20240430_policies_local_governments_specification_02.zip
Archive:  20240430_policies_local_governments_specification_02.zip
  inflating: データ要件・連携要件標準仕様書（総論）【第4.0版】/データ要件・連携要件標準仕様書（総論）【第4.0版】 .docx  
  inflating: データ要件・連携要件標準仕様書（総論）【第4.0版】/データ要件・連携要件標準仕様書（総論）【第4.0版】 .pdf  
  inflating: データ要件・連携要件標準仕様書（総論）【第4.0版】/データ要件・連携要件標準仕様書（総論）の変更履歴.xlsx 
```

## 他システムの参照

次の書類の中に
>025_後期高齢者医療_基本データリスト【第3.0版】_20240430.xlsx

こんな表現があります。

```text
後期高齢者医療広域連合電算処理システム外部インターフェース仕様書を参照
```

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/179446/35199076-9281-c8f9-28a0-16d61549ea3a.png)

あまりにも、曖昧な定義です。

## データ項目IDが同じで、データ項目名が異なる　（個人住民税　010o008）

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/179446/9cdaa23c-5c67-f835-8983-7b926c76f461.png)

[FAQ](https://www.digital.go.jp/assets/contents/node/basic_page/field_ref_resources/4748d2a4-45c7-45de-a55f-dfac4cb04a70/a252a124/20240531_policies_local_governments_specification_outline_03.pdf) にこんな記述がありました。

質問:　連携ID：010o008で、データ項目IDが重複しているのはなぜか。
回答:　「個人住民税所得情報」「個人住民税控除情報」「個人住民税課税標準情報」
「個人住民税税額控除情報」については、基本データリストに記載のとおり、
コード値による正規化を行っております。そのため、Output時のデータ項目ID
は同一となります。

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/179446/2bb0f4fd-7f7b-e93c-b513-bb61881993ed.png)

データ項目ID 010 00480 の　データ項目名は、基本データリストで、「所得金額」と定義されています。

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/179446/a5758584-2d5c-dc79-d858-3cd24a9626ef.png)

## 機能の重複

滞納管理の次の連携IDは同じ機能です。（受け取りシステムが異なります。）

```text
015o001
015o021
```

健康管理の次も同じ機能です。データ集合名は異なります。

```text
019o014
019o015
```

## ダブルフィットのリスク

データ項目ID と　データ項目の対応を複数ヶ所で記述している

地方公共団体基幹業務システム_基本データリスト（戸籍附票）【第2.1版】
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/179446/0a8729d9-7472-51b3-046e-76381d02d2ab.png)

地方公共団体基幹業務システム_機能別連携仕様（戸籍附票）【第2.1版】
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/179446/d89330d6-188a-f717-b303-14d2f0e399e7.png)