文書番号: EMUYN-NCD-SPEC-001
版番: 第1.0版
作成日: 2025年9月8日
最終更新日: 2025年9月8日
作成者: EMUYN LLC
承認者: EMUYN LLC 技術責任者
文書分類: 技術仕様書
配布先: 導入検討病院セキュリティ担当部署
NCD Helper 技術仕様書
1. ドキュメント概要
このドキュメントは、NCD Helper (以下、本ツール) ブラウザ拡張機能の技術仕様を記載したものです。主にセキュリティ要件の確認を目的としており、本ツールの動作原理、データ処理フロー、外部通信の詳細、およびプライバシー保護に関する情報をまとめています。
本ツールは、NCD (National Clinical Database) のウェブサイト上で症例データを効率的に抽出・注入するための補助ツールです。導入を検討される病院のセキュリティ担当部署・委員会向けに、臨床情報の取り扱いを特に強調して説明します。
- 作成日: 2025 年 9 月 8 日
- 提供元: EMUYN LLC (開発元)
2. ツールの概要
2.1 目的
NCD Helper は、NCD ウェブサイト上で医師が症例データを扱う際の作業を支援するブラウザ拡張機能です。主な機能は以下の通りです。
- NCD ページからの症例データの抽出 (クリップボードへのコピー)。
- 抽出データの注入 (NCD ページへの貼り付け)。
- 術者リストの抽出や集計レポートの生成。
- ライセンス管理 (ライセンスコードの入力と検証)。
これらの機能は、NCD のウェブサイト (system.ncd.or.jp) 内で動作し、ユーザーのブラウザ内部で完結します。
2.2 動作環境
- 対応ブラウザ: Google Chrome (拡張機能としてインストール)。
- プラットフォーム: Windows, macOS, Linux (Chrome が動作する環境)。
- 依存ライブラリ: jQuery (ブラウザ内部で動作)。
- インストール方法: Chrome Web Store からダウンロード・インストール。
- 実行モード: ブラウザのコンテンツスクリプトとして、NCD のページに注入される形で動作。
本ツールは、ブラウザの拡張機能としてローカルで動作するため、サーバーサイドのインストールは不要です。すべての処理はユーザーのブラウザ内で実行されます。
3. データ処理フロー
3.1 全体フロー
- ページ読み込み: NCD ウェブサイトのページがロードされると、本ツールのスクリプトが自動的に実行。
- データ抽出: NCD ページの HTML 要素からデータを抽出 (例: 患者 ID、術式、術者名)。抽出データはクリップボードにコピーされ、ユーザーがエクセル等に貼り付け可能。
- データ注入: クリップボードからデータを読み込み、NCD ページのフォーム要素に値を設定。
- 集計・レポート生成: 抽出データをブラウザ内で集計し、テキスト形式でクリップボードやダウンロードファイルとして出力。
- ライセンス検証: ライセンスコードをローカルストレージに保存し、ブラウザ内で検証。
重要: すべてのデータ処理 (抽出、注入、集計) は、ユーザーのブラウザ内部で完結します。臨床情報 (患者データ、症例データ) は、NCD サーバー (system.ncd.or.jp) との通信を除き、一切外部に送信されません。
3.2 臨床情報の取り扱い
- 臨床情報の定義: 患者 ID、症例データ、術式、術者名、検査値などの医療関連情報。
- 処理場所: ブラウザの JavaScript エンジン内で処理。NCD ページの DOM (Document Object Model) を直接操作。
- 保存: 一時的にローカルストレージ (ブラウザのストレージ領域) を使用する場合がありますが、臨床情報は保存せず、クリップボード経由で一時的に扱うのみ。
- 送信: 臨床情報は NCD サーバー以外に一切送信されません。外部 API への送信は、ツールのメタデータ (例: 要素情報、ライセンス情報) のみです (詳細は 4. 外部通信参照)。
- 削除: ブラウザを閉じると一時データは自動的に破棄。ユーザーが明示的にクリア可能。
本ツールは、NCD のウェブサイト内で動作するため、臨床情報の送信は NCD の標準的なフォーム投稿 (保存ボタン押下時) のみに限定されます。ツール自体が臨床情報を外部に漏洩させる機能はありません。
4. 外部通信
本ツールは最小限の外部通信のみを行います。通信の詳細を以下に記載します。
4.1 通信先一覧
- NCD サーバー (system.ncd.or.jp): NCD ページのロード、フォーム投稿 (保存)。これは NCD の標準動作であり、本ツールはこれを補助するのみ。臨床情報はここにのみ送信可能。
- EMUYN API (medeputize.sakura.ne.jp): ツールの設定データ取得、ライセンス検証、要素情報アップロード。
- 通信内容: JSON 形式のパラメータ (例: ライセンスコード、ページ要素のメタデータ)。
- 頻度: ツール起動時やライセンス登録時 (数回/日程度)。
- 臨床情報送信: なし。送信されるのはツールの動作に必要なメタデータ (例: ページの HTML 要素名、バージョン情報) のみ。
- Chrome Web Store (chrome.google.com): インストール時やレビュー投稿時 (オプション)。データ送信なし。
- その他: なし。インターネットアクセスは上記に限定。
4.2 通信プロトコル
- プロトコル: HTTPS (暗号化通信)。
- メソッド: POST/GET (主に POST)。
- タイムアウト: 60 秒 (通信エラー時はリトライなし)。
- エラーハンドリング: 通信失敗時はブラウザコンソールにログ出力。臨床情報は影響なし。
4.3 送信データの詳細
- 臨床情報: 一切送信されません。ソースコードを確認の上、elementInfoUpload 関数等で要素情報 (ページのフォームフィールド名など) を送信しますが、これは臨床データ (患者情報) を含みません。
- メタデータ送信例:
- ページ URL (クエリパラメータ除去後)。
- 要素情報 (oPageElementsInfo: フォームフィールドの名前とタイプ)。
- ライセンス情報 (コードのハッシュ値)。
- キャッシュ: 取得データをブラウザの localStorage にキャッシュ (有効期限: 1 日)。臨床情報はキャッシュ対象外。
5. セキュリティ機能
5.1 アクセス制御
- 権限: Chrome のコンテンツスクリプト権限を使用。NCD ドメイン (*.ncd.or.jp) のみで動作。
- ライセンス: ライセンスコードを入力し、ブラウザ内で検証。無効時は機能制限 (デモモード)。
- モード: デバッグモード (オプション) で追加機能有効化可能だが、臨床情報漏洩リスクなし。
5.2 データ保護
- 暗号化: ライセンスコードは Base64 エンコードで保存。臨床情報は保存せず。
- クリップボード: データ抽出/注入はクリップボード経由。ブラウザの標準セキュリティ (クリップボード権限) で保護。
- オーバーレイ: 自動処理中は画面オーバーレイを表示し、誤操作防止。
- クールダウン: 要素情報アップロードは 24 時間に 1 回限定 (デバッグモード: 1 秒)。
5.3 潜在リスクと対策
- リスク: ブラウザの脆弱性 (例: XSS)。対策: NCD ページの DOM 操作のみで、外部スクリプト注入なし。
- ログ: ブラウザコンソールにデバッグログ出力 (オプション)。臨床情報はログ対象外。
- 更新: Chrome Web Store 経由で自動更新。セキュリティパッチ適用可能。
- 監査: ソースコードは公開可能 (クエリで提供されたもの)。第三者レビュー対応可。
6. プライバシー保護
- GDPR/HIPAA 準拠: 臨床情報を外部送信しないため、準拠可能。個人情報はブラウザ内で扱うのみ。
- 同意: インストール時に利用規約表示 (Chrome Web Store 経由)。
- 削除: アンインストールで全データ削除 (localStorage クリア)。
7. 参考資料
- ソースコード: 提供された ver 7.1.6 ソースコード に基づく。
- 依存ファイル: constants.js, dataLoader.js, extraction.js 等 (すべてブラウザ内部)。
- 連絡先: EMUYN LLC (https://www.emuyn.net/ncdhelper/inquiry/)。
【免責事項】
本文書は技術的な詳細を説明するものであり、法的拘束力を持つものではありません。実際の導入にあたっては、各医療機関のセキュリティポリシーに従ってご検討ください。
【改訂履歴】
- 第1.0版 (2025年9月8日): 初版作成
【著作権】
© 2025 EMUYN LLC. All rights reserved.
EMUYN LLC
〒150-0001 東京都渋谷区神宮前六丁目23番4号 桑野ビル2階
Web: https://www.emuyn.net/
Email: emuyn.llc@emuyn.net