訪問看護 算定要件データベース。数字ではなく、数字がどこから来たかの記録。
- ✓Actively maintained (<30d)
- ✓Clear description
- ✓Documented (README)
- !Licence file present but not machine-readable
git clone https://github.com/ogasurfproject-jpg/jhnrdTools overview
# JHNRD
**Japan Home-visit Nursing Reimbursement Database — 訪問看護 算定要件データベース**
[](https://github.com/ogasurfproject-jpg/jhnrd/actions/workflows/validate.yml)
[](https://github.com/ogasurfproject-jpg/jhnrd/actions/workflows/live.yml)
[](https://github.com/ogasurfproject-jpg/jhnrd/blob/main/status.json)
[](https://github.com/ogasurfproject-jpg/jhnrd/blob/main/status.json)
[](https://github.com/ogasurfproject-jpg/jhnrd/blob/main/status.json)
[](https://github.com/ogasurfproject-jpg/jhnrd/blob/main/status.json)
[](https://github.com/ogasurfproject-jpg/jhnrd/blob/main/status.json)
[](LICENSE)
[](https://doi.org/10.5281/zenodo.22083722)
<sub>*A record of Japanese home-visit nursing reimbursement rules in which every requirement carries the document it rests on. Sources declare their own standing in three tiers, unconfirmed requirements are published as unconfirmed, and conflicting readings are kept side by side. It does not decide whether a claim may be billed. → [English](README_en.md)*</sub>
**[公開MCP](#公開mcp-鍵なし読み取り専用) ・ [利益相反の開示](#利益相反の開示) ・ [運営と意思決定](GOVERNANCE.md) ・ [直し方](CONTRIBUTING.md) ・ [版ごとの記録](CHANGELOG.md) ・ [引用する](#引用する)**
訪問看護の減算・加算・指示書の期限について、**要件と、その要件がどの資料に基づくかを、一つずつ記録したもの**です。
数字そのものは公開情報です。ここが持っているのは数字ではなく、**その数字がどこから来たのかという記録**です。
---
## 請求の判断に、これだけを使わないでください
<!-- auto:caution:start -->
**いま、現行の告示・省令・通知の原文(`statute`)に基づく出典は 8 件です。**(`statute` は全 11 件。うち 5 件は改正前・改定前の版で、**現行の根拠には使えません。**版を知るためだけに残しています。)
残りは厚生労働省の資料(`agency` 8 件)と、民間の解説(`secondary` 7 件)です。
**未確認の要件が 54 件あります。** 我々が原文で確かめられていないものは、そう書いてあります。空欄にはしていません。
<!-- auto:caution:end -->
請求や届出の判断をする前に、必ず原文を確認してください。このデータベースが言えるのは「**この減算にはA・B・Cの要件があり、Cはまだ我々が原文で確認できていない**」までであって、「算定できます」でも「該当します」でもありません。
その線を引いている理由は単純です。**返戻になったとき、責任の所在が壊れるから**です。
---
## 利益相反の開示
**このデータベースを作っている The HORIZONs株式会社は、これを裏付けに使った有償のサービスを訪問看護事業所に販売しています。** 初期構築費と月額の形で対価を受け取っています。
つまり、**このデータベースが役に立つと思われることで、作っている側が収入を得ます。** 先に書いておかなければ、ここに並んでいる数字は使えません。出典の素性を三段階で名乗ることを規律にしている以上、**このデータベース自身の素性だけ名乗らない、という例外は作れないからです。**
歪みうる方向は 4 つあり(網羅して見せたくなる/危険を大きく見せたくなる/都合の悪い食い違いを消したくなる/直したことを隠したくなる)、それぞれに対して先に手を縛ってあります。**README に書いてある数字は `status.json` から機械生成しており、手で盛ると CI が落ちます。**
- 資金は**顧客からの対価のみ**。行政・業界団体・ベンダからの資金提供、掲載料、広告はありません。
- **有償の顧客だけが見られる別版・拡張版のデータはありません。** ここにあるものが全部です。
- 事業所から聞いた現場の運用は、**同意なしには入れません**(いま 0 件)。入っても**規則の出典にはしません**。
→ **全文と、何を決められて何を決められないかは [GOVERNANCE.md](GOVERNANCE.md)。**
---
## いまの状態
> この節の数字は `status.json` から生成しています。手で書き換えないでください。`python3 tools/update_readme.py --write` で書き直り、ずれていれば CI が止めます。
`status.json` が、検査器の出力そのままです。下の表は、そこから写したものです。**ずれていたら `status.json` が正です。**
<!-- auto:state:start -->
| | |
|---|---|
| 版 | `2024-kaitei.seed.22` |
| 項目数 | **33** |
| 出典 `statute`(告示・省令・通知の原文) | 11 件 |
| うち **現行版** | **8 件** |
| 出典 `agency`(厚生労働省の資料) | 8 件 |
| 出典 `secondary`(民間の解説) | 7 件 |
| 出典 合計 | 26 件(うち現行でないもの 5 件) |
| 未確認の要件 | **54 件** |
| 食い違い | 全 4 件 / うち未解決 **1 件** |
| 現場からの報告 | 0 件(規則の出典ではありません) |
| 最後に検査した日 | 2026-08-25 |
33 項目です。訪問看護の算定要件を網羅した数字ではありません。**名前が中身を先行しています。** そのことを隠さないために、項目数を先頭に置いています。
<!-- auto:state:end -->
---
## 規律
1. **出典の無い数字は1つも入れない。** 単位数も要件も、必ず `source` を持つ。
2. **出典の素性を三段階で名乗る。** `statute`(告示・省令・通知の原文)/`agency`(厚生労働省が出した資料)/`secondary`(民間の解説)。**「厚労省の資料」と「告示そのもの」を同じ扱いにしない。**
3. **確認できていない項目は、空欄にしない。** `confirmed: false` と `unconfirmed_reason` を書いて残す。空欄と未確認は違う。
4. **出典どうしが食い違ったら、片方を選んで黙らない。** `conflicts` に両方を書き、未解決であることを残す。選んだ瞬間に、選んだ理由が消える。
5. **「算定できます」と読める断定を、データの中に置かない。** 検査器が拒否する。
6. **改定で版を切る。旧版は消さない。** 過去の判断を後から検証できなくなるため。
7. **要件は、ヒアリングの設問と1対1で結ぶ。** 結べない要件は、聞けていない要件である。
これらは努力目標ではありません。`tools/validate.py` が機械的に検査し、**一つでも破れば CI が落ちてマージできません。**
---
## 検査する
```bash
python3 tools/validate.py
```
出るもの:
- 出典の素性の内訳(`statute` が 0 件なら、その旨を必ず表示する)
- 未確認の要件の一覧と、なぜ未確認かの理由
- 未解決の食い違いの一覧
- このデータベースが要求するヒアリング設問の id
- 検査の合否(赤なら非ゼロで終了)
---
## 公開MCP(鍵なし・読み取り専用)
**https://jhnrd-mcp.oga-surf-project.workers.dev**
このデータベースは、**MCP と素の HTTP の両方で配っています。鍵は要りません。書き込みの口はありません。**
```
POST /mcp MCP (JSON-RPC 2.0 / Streamable HTTP)
GET /status.json /items /items/<id> /sources /search?q=
/unconfirmed /conflicts /gaps /disclosure /cite
```
中身は CC BY 4.0 で公開しています。ですが **JSON を置いてあるだけでは、道具として使うたびに誰かがパーサを書くことになります。書くたびに、書いた人の解釈が混ざります。** ここで配れば、混ざるのは一箇所で済みます。
配る側にも、同じ線を引いてあります。
- **算定の可否を判定しません。**「算定できます」「該当します」を返さないことを、**試験で機械的に確かめています。**
- **どの応答にも、版と「算定の可否は判定しない」と利益相反の開示が必ず付きます。** 11個の道具すべてについて試験があります。
- **鍵を持たず、KV も D1 も繋ぎません。** 繋いだ瞬間に、預かるものが生まれます。
- **弱いところを見るための道具を先に置いています。** `jhnrd_unconfirmed`(確認できていない要件と理由)、`jhnrd_gaps`(取りに行って取れなかった記録を含む)、`jhnrd_conflicts`(両方の言い分を残したまま)。
配るデータ(`mcp/rules.data.js`)は本体からの生成物で、**実行時に外へ取りに行きません。** 一度、raw.githubusercontent の縁に古い版が残って、内部の MCP が古い数字を配ったためです。**写しが本体とずれたら CI が赤になります。**
さらに、**1日1回、本番に出ている版と、公式レジストリに載っている名刺を、リポジトリと突き合わせています**(上の `live` バッジ)。押したのに配っていない・**載せたつもりで載っていない**、を見つけるためです。**どちらも実際にやりました。**
この門は「**接続が立たなかったとき**」は赤にしません(届かないことは、古いことの証拠にならないため)。ただし「**HTTP の番号が返ったとき**」は答えとして扱い、200 以外なら赤にします。最初の版はここを一括りにしていて、**403 を受け取りながら毎日緑を出していました。** そして**その判定そのものを、偽の本番17通りで毎回の CI が確かめています**(1日1回しか走らない門が壊れていることは、壊れてから最大1日、誰にも分からないので)。
繋ぎ方:
```json
{ "mcpServers": { "jhnrd": { "type": "http", "url": "https://jhnrd-mcp.oga-surf-project.workers.dev/mcp" } } }
```
```bash
curl https://jhnrd-mcp.oga-surf-project.workers.dev/status.json
curl "https://jhnrd-mcp.oga-surf-project.workers.dev/search?q=特別管理"
curl https://jhnrd-mcp.oga-surf-project.workers.dev/disclosure
```
→ 詳細と、公式レジストリへの載せ方は **[`mcp/README.md`](mcp/README.md)**(名刺は [`server.json`](server.json))
---
## 中身
```
data/rules_2024.json 要件と出典の本体
tools/validate.py 検査器(fail-closed)。赤なら非ゼロで終了する
status.json 検査器が吐いた、いまの状態。README も名刺もここから生成する
tools/update_readme.py README の数字を status.json から引き直す(--check を CI が見る)
tools/make_metadata.py datapackage.json / .zenodo.json を生成(--check を CI が見る)
tools/make_changelog.py CHANGELOG.md を annotated tag から生成
mcp/worker.js 公開MCP(鍵なし・読み取り専用)
mcp/rules.data.js 公開MCPが配る写し(生成物。ずれたら CI が赤)
mcp/mcp_test.mjs 公開MCPの試験(網は要らない。72件)
tools/make_mcp_data.py 写しを本体から生成(--check を CI が見る)
tools/test_live_workflow.py 1日1回の門(live.yml)の判定を、偽の本番17通りで確かめる
```
`data/rules_2024.json` の構造:
```jsonc
{
"items": [
{
"id": "genzan-bcp",
"kind": "減算",
"name": "業務継続計画未策定減算",
"effect": { "value": "…", "confirmed": true, "source_ref": ["mhlw-001195261"] },
"requirements": [
{ "id": "bcp-plan", "text": "…", "ask": "q_nv_bcp_plan" }
],
"we_do_not_say": "この減算に該当します、とは言わない。"
}
],
"sources": {
"mhlw-001195261": { "tier": "agency", "url": "…", "retrieved_at": "2026-08-23" }
}
}
```
`ask` が、ヒアリングの設問 id です。ここが空の要件は、**聞けていない要件**として検査器が弾きます。
---
## 引用する
**版(seed 番号)を必ず添えてください。版が違えば中身が違います。**
訂正しても元の記述を消さない方針のため、**どの版を見たかが分からないと、後から突き合わせられません。**
```
The HORIZONs Inc. (2026). JHNRD — Japan Home-visit Nursing Reimbursement Database,
version 2024-kaitei.seed.19. Zenodo. https://doi.org/10.5281/zenodo.22083722 (CC BY 4.0)
```
**DOI: [`10.5281/zenodo.22083722`](https://doi.org/10.5281/zenodo.22083722)**
この DOI は**すべての版をまとめて指すもの**(concept DOI)で、常に最新版へ解決します。**版を特定したいときは、Zenodo の各版のページにある版ごとの DOI を使ってください。** 版が違えば中身が違います。
機械可読の記述は次のとおりです。**いずれも `status.json` から生成しており、手で書いていません。**
| ファイル | 何か |
| --- | --- |
| [`CITATION.cff`](CITATION.cff) | 引用情報(GitHub の "Cite this repository" が読む)。DOI 入り |
| [`datapackage.json`](datapackage.json) | Frictionless Data Package。項目数・出典の内訳・利益相反を機械可読で持つ |
| [`.zenodo.json`](.zenodo.json) | Zenodo 登録用。DOI を取るときの中身 |
| [`server.json`](server.json) | 公式 MCP レジストリ用。版番号はデータの版から機械的に作る |
| [`CHANGELOG.md`](CHANGELOG.md) | 版ごとに何をどう直したか(annotated tag から生成) |
各版には annotated tag が打ってあります。
```bash
git tag -l 'seed.*' # 版の一覧
git show seed.19 # その版に何が書いてあったか
```
---
## 間違いを見つけたら
**訂正は不具合として扱います。**
このデータベースの記述が間違っている、あるいは原文と食い違っている、と思われた場合は Issue を立ててください。事業所を運営されている必要はありません。
- 訂正すると、**元の記述は消しません。** 消すと、訂正が正しかったかどうかを後から確かめられなくなるためです。
- 訂正の根拠が `statute`(原文)であれば、`agency` や `secondary` に優先します。素性の強い出典が来たら、弱い出典に基づく記述は差し替えます。
- 我々が確認できなかった項目については、そう書いてあります。**「書いていない」ではなく「確認できていない」と書いてある箇所は、そのまま指摘してください。**
**指摘の出し方は [CONTRIBUTING.md](CONTRIBUTING.md) に、訂正がどう処理されるかは [GOVERNANCE.md](GOVERNANCE.md) 4 に書いてあります。**
Issue の様式は 2 つ用意してあります([訂正](../../issues/new?template=correction.yml) / [抜け](../../issues/new?template=gap.yml))。
連絡先: `contact@the-horizons-innovation.com`
---
## これから埋めるもの
<!-- auWhat people ask about jhnrd
What is ogasurfproject-jpg/jhnrd?
+
ogasurfproject-jpg/jhnrd is tools for the Claude AI ecosystem. 訪問看護 算定要件データベース。数字ではなく、数字がどこから来たかの記録。 It has 1 GitHub stars and its last recorded update is dated 2026-08-25.
How do I install jhnrd?
+
You can install jhnrd by cloning the repository (https://github.com/ogasurfproject-jpg/jhnrd) or following the README instructions on GitHub. ClaudeWave also provides quick install blocks on this page.
Is ogasurfproject-jpg/jhnrd safe to use?
+
Our security agent has analyzed ogasurfproject-jpg/jhnrd and assigned a Trust Score of 72/100 (tier: OK). See the full breakdown of passed checks and flags on this page.
Who maintains ogasurfproject-jpg/jhnrd?
+
ogasurfproject-jpg/jhnrd is maintained by ogasurfproject-jpg. The last recorded GitHub activity is dated 2026-08-25, with 0 open issues.
Are there alternatives to jhnrd?
+
Yes. On ClaudeWave you can browse similar tools at /categories/tools, sorted by popularity or recent activity.
Deploy jhnrd to your cloud
Ship this repo to production in minutes. Each platform spins up its own environment with editable env vars.
Maintain this repo? Add a badge to your README
Drop the badge into your GitHub README to show it's tracked on ClaudeWave. Each badge links back to this page and reflects the live Trust Score.
[](https://claudewave.com/repo/ogasurfproject-jpg-jhnrd)<a href="https://claudewave.com/repo/ogasurfproject-jpg-jhnrd"><img src="https://claudewave.com/api/badge/ogasurfproject-jpg-jhnrd" alt="Featured on ClaudeWave: ogasurfproject-jpg/jhnrd" width="320" height="64" /></a>More Tools
A single CLAUDE.md file to improve Claude Code behavior, derived from Andrej Karpathy's observations on LLM coding pitfalls.
An AI skill that provides design intelligence for building professional UI/UX across multiple platforms.
🪨 why use many token when few token do trick — Claude Code skill that cuts 65% of tokens by talking like caveman
CLI proxy that reduces LLM token consumption by 60-90% on common dev commands. Single Rust binary, zero dependencies
The best-benchmarked open-source AI memory system. And it's free.
The fastest, litest AI Gateway. Rust core with Python SDK. Call 100+ LLM APIs in OpenAI (or native) format with cost tracking, guardrails, load balancing, and logging [Bedrock, Azure, OpenAI, Anthropic, OpenAI, VertexAI, vLLM, Nvidia NIM]