| name | wamnet-provider-sync |
| description | WAM NET(障害福祉サービス等情報公表システム)からオープンデータを取得し、Neo4j親亡き後支援データベースのServiceProviderノードを同期するスキル。差分更新、廃止事業所検出、更新レポート生成機能を提供。 |
WAM NET事業所データ同期スキル
スキル概要
このスキルは、WAM NET(厚生労働省 障害福祉サービス等情報公表システム)が公開するオープンデータを取得し、Neo4j親亡き後支援データベースのServiceProviderノードを最新状態に保つためのものです。
対象ユーザー: 計画相談支援専門員、システム管理者
主な機能:
- WAM NETオープンデータのダウンロード
- CSV→Neo4j形式への変換・正規化
- 差分検出(新規・変更・廃止)
- Neo4jへの差分同期
- 廃止事業所の影響分析
- 更新レポート生成
WAM NETオープンデータについて
データソース
WAM NETは厚生労働省が運営する障害福祉サービス等情報公表システムです。
公式サイト: https://www.wam.go.jp/content/wamnet/pcpub/top/
オープンデータ: https://www.wam.go.jp/wamappl/shogaiservice_opendata.html
更新頻度
- 年2回更新(4月・10月頃)
- 各都道府県から報告されたデータを集約
データ形式
CSVファイルで提供され、以下のような項目を含みます:
- 事業所番号(一意識別子)
- 事業所名
- サービス種類
- 所在地(都道府県、市区町村、住所)
- 電話番号、FAX番号
- 定員
- 運営法人情報
- など
ディレクトリ構成
~/.claude/skills/wamnet-provider-sync/
├── SKILL.md # このファイル
├── scripts/
│ ├── sync_providers.py # メイン同期スクリプト
│ ├── detect_changes.py # 差分検出ロジック
│ ├── download_wamnet.py # WAM NETデータダウンロード
│ └── generate_report.py # 更新レポート生成
├── config/
│ ├── service_types.json # サービス種類マッピング
│ └── prefectures.json # 都道府県コード
└── data/ # ダウンロードしたCSVファイル(gitignore)
├── current/ # 現在のデータ
└── archive/ # 過去のデータ(比較用)
使用方法
基本的な同期フロー
1. データダウンロード
↓
2. 差分検出
↓
3. 影響分析(廃止事業所のクライアント確認)
↓
4. Neo4jへ同期
↓
5. レポート生成
AIへの依頼例
「WAM NETの最新データでServiceProviderを更新して」
「福岡県の障害福祉サービス事業所データを同期したい」
「前回の更新から変更があった事業所を確認して」
「廃止された事業所を利用しているクライアントがいないか確認して」
AI(Claude)による同期方法(推奨)
Claudeが直接CSVを読み込み、Neo4j MCPツールでデータを登録します。
Pythonスクリプトのインストールは不要です。
AIへの依頼方法
「WAM NETのCSVファイルをNeo4jに同期して」
「~/Downloads/wamnet_fukuoka.csv を読み込んでServiceProviderを登録して」
「福岡県の障害福祉サービス事業所データを更新して」
AIの処理フロー
- CSVファイルを読み込み(filesystem MCPツール使用)
- データを正規化(サービス種類名の統一など)
- Neo4jに登録(support-db:run_cypher_query使用)
- 結果を報告(登録件数、エラーなど)
Cypher登録クエリ例
// 単一事業所の登録
MERGE (sp:ServiceProvider {providerId: $providerId})
SET sp.name = $name,
sp.serviceType = $serviceType,
sp.prefecture = $prefecture,
sp.city = $city,
sp.address = $address,
sp.phone = $phone,
sp.capacity = $capacity,
sp.availability = '未確認',
sp.updatedAt = datetime()
// バッチ登録(複数件を一度に)
UNWIND $providers AS p
MERGE (sp:ServiceProvider {providerId: p.providerId})
SET sp += p, sp.updatedAt = datetime()
Pythonスクリプトの使い方(オプション)
大量データ(1000件以上)を高速処理したい場合は、Pythonスクリプトを使用できます。
環境構築(初回のみ)
cd ~/.claude/skills/wamnet-provider-sync
uv sync
1. フル同期(初回または全件更新)
cd ~/.claude/skills/wamnet-provider-sync
uv run python scripts/sync_providers.py --mode full --csv-file data/current/wamnet.csv
2. 差分同期(通常の更新)
uv run python scripts/sync_providers.py --mode diff --csv-file data/current/wamnet.csv
3. ドライラン(実際には更新しない)
uv run python scripts/sync_providers.py --mode diff --csv-file data/current/wamnet.csv --dry-run
データマッピング
WAM NET CSV → Neo4j ServiceProvider
| WAM NET項目 | Neo4j プロパティ | 説明 |
|---|
| 事業所番号 | providerId | 一意識別子(MERGE用キー) |
| 事業所名 | name | 事業所名称 |
| サービス種類 | serviceType | 正規化後のサービス種類 |
| 郵便番号 | postalCode | 郵便番号 |
| 都道府県 | prefecture | 都道府県名 |
| 市区町村 | city | 市区町村名 |
| 住所 | address | 番地以降 |
| 電話番号 | phone | ハイフン正規化 |
| FAX番号 | fax | ハイフン正規化 |
| 定員 | capacity | 数値変換 |
| 法人名 | corporateName | 運営法人名 |
| 指定年月日 | designationDate | 事業開始日 |
| - | availability | '未確認'(初期値) |
| - | updatedAt | 同期実行日時 |
| - | wamnetId | 事業所番号と同じ |
サービス種類の正規化
WAM NETのサービス種類名を統一形式に変換します:
{
"居宅介護": "居宅介護",
"重度訪問介護": "重度訪問介護",
"同行援護": "同行援護",
"行動援護": "行動援護",
"療養介護": "療養介護",
"生活介護": "生活介護",
"短期入所": "短期入所",
"共同生活援助": "グループホーム",
"施設入所支援": "施設入所支援",
"自立訓練(機能訓練)": "自立訓練(機能訓練)",
"自立訓練(生活訓練)": "自立訓練(生活訓練)",
"就労移行支援": "就労移行支援",
"就労継続支援A型": "就労継続支援A型",
"就労継続支援B型": "就労継続支援B型",
"就労定着支援":
差分検出ロジック
検出カテゴリ
- 新規(NEW): 前回データに存在しない事業所番号
- 変更(MODIFIED): 事業所番号は同じだが内容が変更
- 廃止(CLOSED): 前回データに存在するが今回データにない
- 変更なし(UNCHANGED): 完全一致
変更検出対象項目
以下の項目が変更された場合に「変更」と判定:
- 事業所名
- 住所(都道府県、市区町村、番地)
- 電話番号
- 定員
- サービス種類
廃止事業所の影響分析
廃止が検出された場合、以下を自動チェック:
// 廃止事業所を利用中のクライアントを検索
MATCH (c:Client)-[r:USES_SERVICE]->(sp:ServiceProvider)
WHERE sp.providerId = $closedProviderId
AND r.status = 'Active'
RETURN c.name AS クライアント名, sp.name AS 事業所名
AI運用プロトコル
トリガーワード
以下のワードを検出したら、このスキルを使用:
- 「WAM NET」「ワムネット」
- 「事業所データ更新」「事業所同期」
- 「オープンデータ」(障害福祉文脈で)
- 「新しい事業所」「廃止事業所」
同期実行前の確認事項
-
対象都道府県の確認
- デフォルト: 福岡県(40)
- 複数県の場合は順次実行
-
同期モードの確認
- 初回:
fullモード
- 通常更新:
diffモード
-
ドライランの推奨
同期後の報告事項
-
統計情報
-
注意事項
- 廃止事業所を利用中のクライアントがいる場合は警告
- 大量変更がある場合は確認を促す
-
次回更新予定
更新レポートテンプレート
# WAM NET事業所データ更新レポート
## 実行情報
- 実行日時: 2025-01-12 10:30:00
- 対象都道府県: 福岡県
- 同期モード: diff
## 更新結果サマリー
| カテゴリ | 件数 |
|---------|------|
| 🆕 新規登録 | 15件 |
| 📝 更新 | 42件 |
| ⚠️ 廃止 | 3件 |
| ✅ 変更なし | 1,240件 |
## ⚠️ 要確認事項
### 廃止事業所を利用中のクライアント
| クライアント | 廃止事業所 | サービス種類 |
|-------------|-----------|-------------|
| 山田健太 | ○○作業所 | 就労継続支援B型 |
→ **代替事業所の検討が必要です**
## 新規登録事業所(抜粋)
| 事業所名 | サービス種類 | 市区町村 |
|---------|-------------|---------|
| △△支援センター | 生活介護 | 北九州市 |
| □□ホーム | グループホーム | 福岡市 |
## 次回更新予定
WAM NETの次回更新は **2025年10月頃** の予定です。
トラブルシューティング
Q1: CSVファイルの文字化け
A: WAM NETのCSVはShift-JIS(CP932)エンコーディングです。スクリプトは自動的にUTF-8に変換します。
Q2: 事業所番号の重複
A: 同一事業所が複数サービスを提供している場合、事業所番号+サービス種類で一意になります。providerIdは {事業所番号}_{サービス種類コード} の形式で生成されます。
Q3: 大量のデータ更新で時間がかかる
A: --batch-sizeオプションでバッチサイズを調整できます(デフォルト: 100件)。
Q4: Neo4j接続エラー
A: 環境変数(NEO4J_URI, NEO4J_USERNAME, NEO4J_PASSWORD)が正しく設定されているか確認してください。
関連スキル
- neo4j-support-db: 親亡き後支援データベース本体
- ecomap-generator: エコマップ生成(ServiceProvider連携予定)
セキュリティ考慮事項
- ダウンロードしたCSVファイルには個人情報は含まれません(公開情報のみ)
- ただし、事業所の連絡先情報は適切に管理してください
data/ディレクトリは.gitignoreに追加することを推奨
更新履歴
| 日付 | バージョン | 内容 |
|---|
| 2026-01-14 | 1.1.0 | 事業所口コミ・評価機能を追加(ProviderFeedbackノード、ツール16-19) |
| 2025-01-12 | 1.0.0 | 初版作成 |
事業所口コミ・評価機能(v1.1.0追加)
支援者間で事業所の情報を共有するための機能です。
「行動障害への対応が難しかった」「送迎が柔軟」などの口コミ情報を記録・検索できます。
追加されたツール
| ツール名 | 説明 |
|---|
add_provider_feedback | 事業所への口コミ・評価を登録 |
get_provider_feedbacks | 事業所の口コミ一覧を取得 |
search_providers_by_feedback | 口コミ評価で事業所を検索 |
update_provider_availability | 事業所の空き状況を更新 |
ProviderFeedbackノードスキーマ
:ProviderFeedback (事業所口コミ・評価)
- feedbackId: string // 一意識別子
- category: string // カテゴリ
- content: string // 口コミ内容
- rating: string // 評価
- source: string // 情報源
- date: date // 登録日
- isConfirmed: boolean // 確認済みか
リレーション:
(:ServiceProvider)-[:HAS_FEEDBACK]->(:ProviderFeedback)
(:Supporter)-[:WROTE]->(:ProviderFeedback) // 任意
口コミカテゴリ
| カテゴリ | 説明 |
|---|
| 行動障害対応 | パニック、自傷、他害等への対応力 |
| コミュニケーション | 利用者との意思疎通、家族への連絡 |
| 環境 | 施設の清潔さ、バリアフリー、静けさ |
| 送迎 | 柔軟性、対応範囲、時間帯 |
| 食事 | アレルギー対応、形態食、嫌いなもの対応 |
| 医療連携 | 通院介助、急変時対応 |
| その他 | 上記以外 |
評価基準
| 評価 | 意味 | スコア |
|---|
| ◎良い | おすすめできる | 4 |
| ○普通 | 特に問題なし | 3 |
| △課題あり | 改善の余地あり | 2 |
| ×不可 | 推奨できない | 1 |
AIへの依頼例
口コミ登録
「nestワークSTATIONに口コミ登録: 行動障害対応、評価◎、パニック時の対応が上手でした」
「さくら作業所の口コミ: 送迎カテゴリ、評価△、急な変更に対応できなかった」
「○○ホームに口コミを追加したい。カテゴリは環境、評価は○、内容は『静かで感覚過敏の方に良い』」
口コミ確認
「nestワークSTATIONの口コミを見せて」
「さくら作業所の行動障害対応の評価は?」
「○○ホームの評判を確認したい」
口コミで事業所検索
「行動障害対応が良い事業所を探して」
「送迎の評価が◎のグループホームは?」
「北九州市でコミュニケーションが得意な生活介護を探して」
「食事対応の評価が高い事業所はどこ?」
空き状況更新
「nest地域生活サポートSTATIONの空き状況を『空きあり』に更新して」
「○○作業所の空き状況を『要相談』に、現在利用者数9名」
「さくらホームは満員になった。更新して」
活用シナリオ
1. クライアントに合った事業所探し
1. クライアントの特性を確認(例: 行動障害あり)
2. search_providers_by_feedback で該当カテゴリの評価が高い事業所を検索
3. search_service_providers で空き状況を確認
4. 候補をリストアップ
2. 支援者間の情報共有
1. 利用後に口コミを登録(add_provider_feedback)
2. 引き継ぎ時に口コミを参照
3. ケース会議で事業所情報を共有
3. 空き状況の継続的更新
1. 事業所訪問時に空き状況を確認
2. update_provider_availability で更新
3. 定期的に古い情報をリフレッシュ