実施日:2026-10-18。R3 の取得・初期構造検査に続き、実際の二版のレコードを部分比較しました。全概念の医学的意味の検証、変換器の実行、独立した正解確認は行っていません。R4 本文 の評価設計の根拠です。
RxNorm の資料提供:Courtesy of the U.S. National Library of Medicine。NLM による本プロジェクトの推薦を意味しません。以下の CPC は 2026 年 9 月・10 月の固定した資料です。
CPC:同じ ID、名称変更、片版のみの収載
入力ファイルは R3 台帳 の CPC 二版です。追跡スクリプト は、台帳の SHA-256 と R3 検査済み状態を確認してから ZIP を読みます。配布された SQL・シェル等は実行しません。実レコードの保存先は Git 管理外の data/research/r4/cpc-probe.json です。
集計方法と実測
RXNCONSO の SAB=RXNORM の行だけを使い、各 RXCUI に対して (TTY, STR) の集合を作りました。別出典の行、同じ組の重複、行順序はこの集計に入りません。集合を同一 ID で照合した結果です。
| 集計 | 件数 |
|---|---|
| 2026-09-08 の該当 RXCUI | 81,468 |
| 2026-10-05 の該当 RXCUI | 81,620 |
| 両版にあり、名称・用語種別の集合も同一 | 81,296 |
| 両版にあり、その集合が異なる | 2 |
| 9 月版だけにある | 170 |
| 10 月版だけにある | 322 |
81,296+2+170=81,468、81,296+2+322=81,620 です。これは 指定出典の収載と名称行の集合の差であって、81,296 件の意味保存や、170 件の廃止・322 件の新薬を示した数ではありません。
各四分類から、SCD の行を持つ RXCUI の数値最小の一件を選びました。SCD がなければ全用語種別の数値最小を選ぶ手順です。今回の四分類はいずれも SCD の例がありました。関係は RXNREL の SAB=RXNORM かつ両端 STYPE=CUI、RXCUI2 が選定 ID の行を使い、(RELA,RXCUI1,REL) の集合として比較します。属性は RXNSAT の同出典・同 RXCUI の (STYPE,ATN,ATV) の集合です。関係 ID・atom ID・重複は投影で落としているため、完全なレコード一致とはしません。
関係の向きは NLM 技術文書 §12.5 と Appendix 1 に従い、RXCUI2 から RELA を通じて RXCUI1 を読むことを確認しました。列の並びを根拠に向きを逆にしません。配合の consists_of と剤形の has_dose_form は、同じ関係として平坦化しません。
| 追跡票 | 観察したこと | 期待する評価結果 | 今回確認していないこと |
|---|---|---|---|
| P-CPC-1:名称集合不変の選定例 | 名称集合、投影した出方向の関係、投影した属性は前後で同一 | 同じ ID を参照候補にできる。確認した投影では差なし、比較範囲を明示 | 全依存先の再帰的な定義、全臨床意味、治療上の代替 |
| P-CPC-2:名称集合変更の選定例 | 一つの同義語行がなくなった。SCD と PSN の文字列、投影した関係・属性は不変 | 表示・同義語の変更として報告。含量が変わったと推定しない。確認した意味観点以外は未判定 | 名称削除の発行者の意図、同義性の全根拠、全意味の保存 |
| P-CPC-3:旧版のみの選定例 | 新版の該当出典には同 ID の概念行がない | 「この CPC の対象出典では未収載」、後継候補は確定不可。必要情報は公式履歴等の追加根拠 | 廃止か収載条件の変化か、置換先、旧概念の現在の状態 |
| P-CPC-4:新版のみの選定例 | 旧版の該当出典には同 ID の概念行がない | 新版側の収載を報告。旧記録の後継・新概念の初出と無条件に結び付けない | 全体版での過去の収載、他の概念からの分割・統合 |
(その後、この少数追跡の一般化として、全参照への監査を P2-u で実装しました:84。)追跡票の実 ID、各版の名称、関係参照先と属性はローカル JSON にあります。実データを架空例へ混ぜず、文書には集計と追跡方法を残しました。関係参照先の名称集合もローカルで比較しますが、名称が同じことだけを参照先の意味不変の証明にはしません。
NLM の CPC 説明 の収載範囲と、今回の三 RRF に履歴ファイルがないことから、片版での不在だけでは廃止・後継を確定できないと判断しました。これは本プロジェクトの評価上の制限です。フルリリースの一般的な履歴機能を、この取得済み CPC の内容に含めません。
再現方法
Python 3.9 以降、リポジトリのルートで実行します。ネットワーク通信、展開、資料台帳の書換えはありません。
python3 scripts/research/probe-r4-materials.py
ハッシュ不一致・ファイル不足等なら終了コード 1、成功なら 0 です。再実行でローカル追跡票を更新します。生成日時を除く選定・集合・比較は同じ入力で決定的です。このスクリプト自体は語の意味の分解器や、意味保存を判定する評価器ではありません。
FHIR:処置の時点という狭い構造変更
R3 の保存済み HTML と版付き公式定義を照合しました。扱うのは 時点部分であり、Procedure 全体の変換の正解票ではありません。
| 対象 | 項目・型 | 一次定義 |
|---|---|---|
| R4 v4.0.1 | performed[x]、0..1、dateTime・Period・string・Age・Range |
R4 Procedure の詳細定義 |
| R5 v5.0.0 | occurrence[x]、0..1、上記の型と Timing |
R5 Procedure の詳細定義 |
両定義とも実際または推定の実施時点を扱いますが、型の共通性だけで全リソースの無損失移行とは判断しません。次の入力・期待結果は本プロジェクトの限定した架空評価です。
| 追跡票 | 入力・比較対象 | 期待結果 |
|---|---|---|
| P-FHIR-1:共通の dateTime | R4 の時点部分 performedDateTime="2026-01-10T10:00:00Z" を、R5 の occurrenceDateTime の同じ値と比較。事象・確度は同じと仮定 |
この時点問い合わせでは同じ。名前の差を時刻の喪失としない。その他のリソース項目の適合性は未評価 |
| P-FHIR-2:型の拡張 | R5 の occurrenceTiming に複数回の日時を構造化して保持。比較先は R4 の performed[x] に同じ型を要求 |
R4 に Timing の直接の選択肢がないと報告。Period 等へ射影すれば繰返しの意味を失う場合がある。文字列・拡張・別リソースで保存する案は別の意味対応を要する |
P-FHIR-2 は構造拡張と旧消費側の能力を試すための逆向きの補助例で、D04 の CPC 一方向監査の分母には入りません。「R4 では原理的にどんな方法でも表せない」という主張もしません。新しい表現能力を持つ言語と旧側を接続する際の、表現・保存・解釈の区別を R5 の三案で検討します。
R4 へ反映した判断
今回の追跡を受け、名称行の差・収載差・解釈できた意味の差を別に集計します。参照先の意味が未確認の範囲に「差分なし」を広げません。公式履歴が不足する場合は情報不足を結果とし、最も名称が近いコードを後継と断定しません。時点の型が増えた場合には、原値を保存したことと、旧消費側が意味を解釈できたことを別に評価します。
R3 台帳の content_verified=false は維持します。この少数の部分追跡は、全資料の意味検証完了や評価用正解の独立確認を意味しません。