YONAPO RESEARCH
研究記録
MedDSL(仮称)

RESEARCH / RECORD

MedDSL(仮称)目的・設計・進め方research

先行仕様・研究の調査メモ

原文 docs/research.md

24 KB

GitHubで見る

版 be280c0

この文書の目次 5項目

更新日:2026-10-20。会話で挙がった候補と追加の一次資料を、調査の入口として整理したものです。包括的な文献レビューや優位性の検証はまだ行っていません。

調べる順序、決定事項、成果物、完了条件は 調査フェーズのロードマップ を参照してください。本ファイルは参照先と調査記録の方針を管理します。

最終目標 は、未来永劫、原理的に変化に耐えうる医療コード体系の確立です。R1 では目的の階層を整理し、コード移行の意味の監査を中間目標に位置付けています。R2 の一次比較 は主にその中間用途に関する調査です。HAPI FHIR と ROBOT は移行実験の候補で、体系の原理やコアの選定ではありません。

R2 の検索方法、出典、参照版・コミット、確認範囲は 出典・調査記録 に残しています。R2b の基礎調査 では、変化 8 分類、不変条件の候補 8 項目、三つの設計案、形式的な比較方法を整理しました。14 件の机上例・反例 と 一次資料の確認記録 も用意しています。

保守的拡張、用途に応じた論理差分、institution、知識改訂の先行理論を調べました。資料の確認済み範囲と、本プロジェクトの作業定義・導出は区別しています。採用仕様・永続性の証明・実行検証は未完了です。

R3 の資料・条件確認 で、RxNorm CPC の二版と FHIR の版付き定義を初期材料に選定し、4 ファイルの取得・初期照合 を完了しました。出典 と 取得状態・実測値の台帳 を残しています。WHO・LOINC 等の内容を独自体系開発に取り込む条件は保留します。

R4 の評価設計 では、体系の原理と中間用途を分け、14 原理ケース・架空 40 ケース の期待結果草案と指標を用意しました。CPC 9 月→10 月を主実験とし、実資料の部分追跡 と 一次資料の確認範囲 を残しました。独立確認・正解凍結・実行は未完了です。

R5 の設計比較 で、定義追加・意味モジュール・コア改訂を分ける構成と、役割付き事象・主張・採用判断の分離を研究用に選びました。原理と小さな導出、原著・仕様の追加確認 を残しています。条件内の保存と意味の引き継ぎを示す入口で、全将来の意味への対応・実行性能の証明ではありません。

R6 で最初の P0 の範囲と着手条件を決め、意味・入出力・22 件の受入契約 と 三つの架空 JSON 例 を作成しました。P0-a の実行記録 では、事実照合と主張選択、草案 P07/P10 との一致と開発テストを記録しています。P0-b で S1/S2 の認定と定義推論を追加し、共有記号・循環・新規所属データの境界を検証しました。P0-c で主張・否定・未知能力のケースを具体化し、18 ケースの 27 JSON と停止理由を検証しました。P0-d で比較を実装し、22ケースの37 JSON・指定チェック221件を照合しました。P1 の研究設計、意味・引き継ぎ契約、20受入条件、一次資料の確認範囲 を作成しました。続いて P1-a の実行契約 と有限予測を実装し、147開発テスト・7条件・31 JSON・141必須パスと P0 回帰 を照合しました。続いて P1-b の実行契約 を具体化し、177開発テスト・6条件・22 JSON・150必須パスと既存回帰 を照合しました。役割表から新側の回答を求め、原履歴も読み戻します。有限照合の一致を全モデルの認定とはしません。P1-c の実行契約 と 216開発テスト・7条件・27 JSON・126必須パスと既存回帰 では、参考モデルの反例、既知条件による合成認定、射影の喪失、原保存と旧実行環境の可用性を分けました。各段階で全20条件の実行例が揃い、8設計JSONは設計資料のまま保持しています。P1-d の総合評価 で、共通台帳と168ファイルの実体を固定し、231開発テスト・P1全20条件/80 JSON/417必須パス・別枠のP0回帰を照合しました。独立レビューは未完了です。草案との工学的な一致と、独立確認後の評価用正解による検証を分けます。

保存条件の形式化 で12の証明義務と手作業の導出を整理し、追加の有限監査 で定義追加200プログラムと参考意味を検査しました。独立レビュー計画書 と 記録様式 を作成済みです。担当割当・独立レビュー・正解凍結は未実施でしたが、続けて AI による単独の内部レビューを最後まで実施しました(利用者が兼任を了承)。レビュー記録 AI-001 と 追補、内部実施の完了記録 に、RV-01〜RV-08 の処理、契約版 p0-draft-2(確認は対象の主張以後に限る)、外部レビューでの再開点を残しています。独立レビュー・独立確認済みの正解凍結は未実施です。続いて、未確認だった経路の追加検査(compare・split_roles・Python 3.11)を実施し、次の段階 P2 の研究設計(意味能力の拡張契約)を作成し、P2-a として既存の handler 10件に宣言を後付けして登録・非干渉・再検証範囲を検査しました(実行契約、結果)。続いて、引き継ぎの族のホストと操作の分離、防護例の追加、宣言の固定対象への追加を行いました(追加作業)。宣言は作成者の主張で意味の正しさの証拠ではなく、防護例のない義務が3件残り、独立確認は未実施です。さらに P2-b として、新しい意味能力「概念の分割」を拡張契約に沿って設計・実装しました(設計、結果)。契約には R2 に収まらない公理つきの能力のためにクラス R6 を加えました。続いて P2-c として、併用の検査(独立な拡張の機械的な判定、記号を共有する分割の併用の全数の判定、入れ子の鎖)を実装しました(設計、結果)。契約には併用のためのクラス JOINT を加えました。最後に P2-d として、統合評価・共通予算の不変条件・版の手順の実演・独立確認の資料(PO13〜PO18)を整えました(設計、結果)。独立確認は未実施です。

P2-e「有効期間つきの主張」は 意味設計・実装前の正例と反例 に続き、最小実装・内部評価 を完了しました。参照時点と対象期間を区別し、部分訂正を旧全体訂正とは別の方針のR5診断として扱います。意味20件・入力境界10件・資源4件を61 JSON・462必須パスへ展開し、区間差分の参照計算・変異・予算・既存回帰をPython二版で照合しました。旧基底への変換・保存認定は行いません。続く単位つき数量の進捗は下記に記録します。独立確認は現在の進行条件にせず、運用方針 に従います。

その後、候補CをP2-fとして 単位つき数量の意味設計・手指定の意味24/入力境界12/資源4条件 を作成しました。一次資料の対象箇所 を確認し、量の種類・次元・単位の倍率・数値領域・測定の不確かさ・表示の射影を分けました。初回は臨床台帳を読まないR2の数値リテラル計算とし、採用との接続は別契約の課題です。続いて 最小実装と内部評価 を追加し、79 JSON・609必須パス、厳密な参照計算・停止・予算を検査しました。外部単位表は取り込んでいません。その接続を、P2-gで限定して実装しています。

P2-gとして 数量と測定主張の接続契約 と 手指定のM36/N12/B4条件 を作成しました。一次資料の対象箇所 を確認し、測定の枠と記録版、値の型、内容を特定した確認、文脈一致の限定方針、計算変数の同一性を分けました。初回は専用台帳のR5診断とし、MB-1〜12の個別義務を設計します。続いて 最小実装・内部評価 を追加し、137 JSON・1425必須パスと参照計算17,607行を照合しました。確認は内容への構造的な拘束に限り、医学的妥当性や人の認証を保証しません。設計時の有限照合と実装後の検査を区別します。

続いてP2-hの 表示射影の設計 と P36/N12/B4の手指定期待 を作成しました。一次資料の確認 と独自の作業定義を分け、型付きの表示だけを射影対象とし、原値・出所・別添えの情報を混同しません。R4の7必須義務とDP-1〜12の個別義務を設計し、丸め・セル・閾値の式を有限点検しました。続いて 最小実装・内部評価 と145 JSON・2128必須パスを追加しました。設計時の式の点検と、実装後の別計算・予算・衝突の照合を区別します。表示を認定する問いの範囲は原値一般・臨床の真実を含みません。

P2-iとして 時間と測定の併用契約の意味設計43 と C32/N12/B4の手指定期待44 を作成しました。内部契約の比較から、瞬間の測定を期間へ広げず、期間について明示された数量主張を選択・換算する専用R5を選びました。部分訂正の外側、内容全体への確認、両時点・出自の保持、表示との境界を定めます。選択式と区間差引きだけをPython二版で有限照合し、runtimeの実証と区別します。続いて 最小実装・内部評価45 と151 JSON・1676必須パスを追加しました。設計式の点検と、実装後の選択・換算・確認・予算の照合は別に記録します。

P2-jとして 期間つき数量と表示の接続契約46 と J36/N12/B4の期待47 を作成しました。P2-iの計画を固定版で再検証するR4を選び、数値artifactと二時点・記録・確認の根拠を分けます。新しい原情報の問いは、入力族を明示して表示の保存範囲と区別します。内部契約に基づく設計で、新しい外部データや標準適合の確認は行っていません。続いて 170例と専用R4の最小実装・内部評価48 を追加しました。表示の保存範囲と原情報の保持を分け、続いて接続ごとの原理・反例・再検証範囲を 拡張の設計原理の草案49 に整理しました(作成者側の草案。導出・有限確認・仮説を分け、次の検証課題の候補を比較しています)。その候補から確認済みの期間不明記録の精密化をP2-kとして 設計50・期待51 で固定し、66例と専用R5の最小実装・内部評価52 を追加しました。続いて拡張の版を上げる手順をP2-lとして 設計53・期待54 で固定し、数量の単位表の改訂と依存4拡張の再固定を 結果55 に記録しました。続いて縦断比較をP2-mとして 設計56・期待57 で固定し、P2-iの二端点を独立な変数としてP2-fの比較へ渡す専用R5の実装と内部評価を 結果58 に記録しました。続いて、利用者の指示で拡張の宣言に継承の欄(inherits、書式 draft-2)を足し、設計59・期待60 で固定して、20宣言の再宣言と登録・列挙・独立への影響を 結果61 に記録しました。続いて、薄い臨床ライブラリをP2-oとして 範囲選定62・設計63・期待64 で固定し、医療者の操作から台帳を組み立てて出力先の要求の充足を診断する専用R5の実装と内部評価を 結果65 に記録しました。新しい外部資料は参照していません。続いて、D03 が選定済みの FHIR R5 のページ(Observation・Specimen・データ型・Provenance など)を取得して 接地の監査66 を行い、満たされた出力が出力先の構造で丸めず・閉じず・補わずに表せるかを診断する合成の専用R5を、P2-pとして 設計67・期待68 で固定し、実装と内部評価を 結果69 に記録しました。取得したページの本文は Git に入れず、台帳にハッシュを記録しています。続いて、利用者の指示で、Observation の status・code の写像と Provenance への出力を、宣言を使い足りなければ依頼にする合成の専用R5としてP2-qに設計・実装しました(設計70・期待71・結果72)。続いて、そこで見つかった記録モデルの穴(観察者がない)を直すため、期間つき数量の記録に任意の観察者を足す版の更新を、中核モデルの変更の伝播の測定としてP2-rで行いました(設計73・期待74・結果75)。続いて、利用者の指示で、その観察者を必須にして不明を明示の値にする版の更新(旧入力を拒否する)をP2-sで行いました(設計76・期待77・結果78)。続いて、P2-q の範囲外だった Provenance の activity の符号と revision の entity を、P2-q の上に足す合成の専用R5としてP2-tで行いました(設計79・期待80・結果81)。取得したのは、HL7 の provenance-entity-role の符号系ページ1つです。続いて、取得済みの RxNorm CPC の2版の版更新を旧版の参照ごとに監査する契約をP2-uとして設計・実装し、実データに適用しました(設計82・期待83・結果84)。実データの行は Git に入れず、集計だけを文書に残しています。

最初に読む一次資料

以下の公式ページは 2026-10-18 に確認しました。リンク先の確認と個々の機能・適合性の検証は区別し、詳細仕様、対象版、利用条件は各調査で記録します。

資料 調べること
WHO ICD API Foundation と線形化、版の指定、複合表現、対応リソースの対象範囲
HL7 FHIR R5 ConceptMap 対応の方向、用途、意味関係、条件、複数候補、$translate。R4 との差も確認する
HL7 FHIR R5 $translate 入出力、候補と結果の解釈、条件情報、対象版の指定
SNOMED CT 合成文法 合成表現の構文。概念モデルによる妥当性検証と区別して調べる
OHDSI OMOP Common Data Model 標準概念、語彙間の関係、Athena の提供範囲、版管理
OHDSI 語彙構築の説明 概念と関係の管理、マッピングの意味と制約
NLM UMLS 概念統合と対応関係の範囲、異なる語彙の粒度、ライセンス条件
openEHR Specifications 情報モデルと知識モデルの分離、ADL、用語の束縛、臨床文脈
HAPI FHIR 用語サービス文書 対応表の取り込み、変換操作、採用版ごとの機能と実行条件
SNOMED International Snowstorm 用語サーバーの責務、合成・検索・対応付けの機能範囲、必要データと導入条件
OWL 2 Primer 含意、知識の不足と否定の区別、採用する推論範囲。R1 では基本概念のみ確認
SKOS Reference マッピング関係と推移性。R1 では近い対応の連鎖が同等性を保証しない点を確認
W3C PROV Overview 由来、生成、導出の記録。R1 では概要のみ確認
OMOP CDM 5.4 共通概念と原情報の併存。R1 では傷病情報の原コード保持を確認

計画を支える確認事項

FHIR R5 ConceptMap は、対応付けを入力から出力への方向を持つ関係として定義し、逆方向や別用途での利用が常に成立するとはしていません。したがって、最初の対象は方向と用途を含めて決定します。公式仕様の Scope and Usage

SNOMED CT には公式の合成文法があり、HAPI FHIR や Snowstorm には実装の公開資料があります。独自の表現や実行エンジンの要否は、これらの具体的な適合性を比較して判断する計画です。各候補で必要な変換を実現できるかは未検証です。合成文法仕様、HAPI FHIR、Snowstorm

次に所在と内容を確かめる候補

  • GALEN / GRAIL、Rector の臨床用語・合成モデルに関する詳細な仕様と後続評価。R2 で OpenGALEN の短報と Rector 1999 の抄録を確認。
  • FMA、Terminologia Anatomica / TA2 と解剖学的参照モデル。
  • 医学用語のラテン語・ギリシャ語由来の形態素解析。
  • OWL / RDF、記述論理、臨床概念の合成と推論の適用範囲。R2 で論理差分の先行研究を確認し、個別記録の監査への適用は保留。
  • LOINC、MEDIS、国内レセプト電算マスターの公式資料。
  • 選定した実行基盤の対象版ごとの機能、導入条件、公開評価セット。R2 の文書・一部ソース確認と、今後の実行検証を区別する。

会話中の論文名・著者・年は一括して確認済みとはしません。R2 で照合した書誌と実際に読めた範囲は 出典・調査記録 を参照し、それ以外を確定引用しません。ラテン語の構成を文法設計の着想にする案も、意味の一意性を保証する根拠とはせず、探索課題として扱います。

検証する仮説

最終目標に向けて、まず以下を形式化・調査します。現在は成立を確認した性質ではありません。

  • どの範囲の将来変化を定義し、何を不変条件として要求できるか。
  • 新しい概念・関係・領域を受け止める仕組みと、既存の意味の保存をどう両立させるか。
  • 定義・知識・コア仕様の改訂を、過去の記録や複数の解釈とどう共存させるか。
  • 表現の普遍性と、機械的な検証・推論・差分計算をどの範囲で実現できるか。

以下は中間用途に関する仮説です。これらの成功だけで最終目標の達成とはしません。

  1. 定義済みの意味と規則を使って、喪失・追加・矛盾を根拠付きで判定でき、移行の点検負担を改善できるか。
  2. 既存の合成文法・概念モデル・用語サーバーで、意味差分の監査をどこまで実現できるか。
  3. 新しい体系・版へ接続する際、比較ロジックを再利用でき、定義追加・モデル変更・再検証の量を抑えられるか。
  4. 未解釈、未実装、根拠不足を比較不能として報告しつつ、有効に比較できる範囲を増やせるか。
  5. 対応付けの目的、版、国・地域、臨床文脈を追加すると、曖昧さをどこまで減らせるか。

R1 で定めた H1〜H4 の評価対象は 用途定義 に記録しています。将来の体系への接続や機械的な差分判定は、実装・検証済みの機能ではありません。

「既存方式は静的辞書だけ」「公式対応なら常に完全一致」「コード識別子だけなら自由に配布できる」「外部注入なら権利問題を解決できる」といった会話中の断定は、採用済みの事実として扱いません。

調査結果に残す項目

各調査結果には以下を記録します。未確認の項目は空欄にせず、未確認と記します。

項目 内容
問い ロードマップの段階と、どの決定に必要な調査か
出典 資料名、発行主体・著者、URL または識別子、公開日・版、確認日
対象 体系・版・国・地域・用途、実装の場合はリリースやコミット
方法 検索式、資料の採否理由、再現手順、使った入力と補助情報
確認結果 資料に記載された事実、実際に確認した挙動、自分の解釈を分ける
適用範囲 限界、例外、利用条件、他の資料との不一致
状態 資料確認済み/仮説/検証済み/保留。結果から決めた事項は別記
次の行動 未解決の疑問、次に見る資料、見直す条件

既存方式との差は、比較対象と具体例を示せた段階で README に反映します。調査した事実と、今後調べる予定の項目を混ぜません。