第 6 章 患者情報管理で利用されるメッセージの定義
6.7 コード仕様
附属書 A(参考) 入退院歴・受診歴情報の照会処理
ここでは、6.5 入退院歴メッセージで定義されたメッセージを生成するための入退院 歴・受診歴の管理及び照会の内部処理について説明する。
図A-1 に示したように複数の医療機関から入退院歴情報・受診歴情報が XDS Manager (Document Repository/Document Registry)に登録される。複数の医療機関からデータが 登録されるため、階層構造を持ったデータを複数個、Document Repositoryに格納するこ ととなる。そのため、Document Registryが提供するクエリ機能にて必要な検索を行うに は、Document Registryへ登録するメタデータが複雑となるので、医療機関、患者、文書 種別が識別できる程度のシンプルなメタデータを登録し、地域患者IDをキーとしたとき の該当患者の入退院歴・受診歴情報を全て一旦取得し、取得されたHL7メッセージを解 析し、QBP^ZV1 で依頼されたクエリの応答である RSP^ZV2 を編集して、Patient Demographics Consumerに結果を返すことを推奨する。
図A-1:入退院歴・受診歴情報のXDS/PDQの利用方法
入退院歴・受診歴情報を照会するユースケースにおけるシーケンス図を図 A-2 に示す。
図 A-2 において、「HIS(Client)」は、各医療機関に配置され、地域医療連携システムに接 続する。
なお、入退院歴・受診歴情報は、XDS Managerに格納することを前提にする。そのため、
PDQ Managerはこれらデータセットに対してXDS Manager内に格納された情報の照会
機能を提供することになる。
図A-2:入退院歴・受診歴情報照会シーケンス図
PDQ→XDS(XDS Manager : Document Registry)間連携 ここでは図における⑤⑥のインタフェースについて説明する。
患者 ID(地域患者 ID)をベースとして、ストアドクエリに基づく検索要求を発行し、
UUIDのリストを得て、それを元に⑦⑧でXDS Manager (Document Repository)にアクセ スする。
⑤⑥で使用されるSOAPメッセージに関してはIHE XDS統合プロファイルの仕様に従 うため、詳細については、「地域医療情報連携システム 診療情報共有化のためのIHE XDS 適用ガイド」を参照すること。
PDQ→XDS(XDS Manager : Document Repository)間連携 ここでは、図A-1における⑦⑧のインタフェースについて説明する。
⑦⑧で使用されるSOAPメッセージに関してはIHE XDS統合プロファイルの仕様に従 うため、詳細については、「地域医療情報連携システム 診療情報共有化のためのIHE XDS 適用ガイド」を参照すること。
附属書 B(参考) プログラム作成時命名規約
IHE ITI-TF2 (Revision 2.0 – Final Text August 15, 2005)の 「C.1: HL7 Implementation Notes」には、「HL7 Implementation Guide」のAppendix Cに記載され ているMinimal Lower Layer Protocolをネットワーク通信プロトコルとして使用すること が推奨されているが、本ガイドではIHEにおいてSOAP使用が検討されていたことから、
IHEトランザクションをSOAPによるWebサービスとして実装する方法を例示している。
各種命名規約をIHE ITI-TF1、IHE ITI-TF2との紐付けが行いやすいよう以下のように 定義する。
IHE ITI-TF1で定義されている統合プロファイル名は、IHE ITI-TF2で定義されてい る各ユースケース図におけるサプライヤー側となるIHEアクタの親クラス名に用いる。
IHE ITI-TF1で定義されている統合プロファイル名は、SOAPサービスのサービス名に
用いる。
IHE ITI-TF2で定義されているトランザクション名は、各ユースケース図におけるコン
シューマ側となる IHE アクタで、そのトランザクションを一括して処理するためのメ ソッド名に用いる。
IHE ITI-TF2で定義されている各ユースケース図のIHEアクタ名は、そのIHEアクタ を実現するクラスのクラス名に用いる。
IHE ITI-TF2で定義されている各相互作用図のサプライヤー側へのメッセージ名は、サ
プライヤー側IHEアクタクラスの同メッセージを処理するためのメソッド名に用いる。
サプライヤー側IHEアクタクラスにおけるメソッドの引数については、IHE ITI-TF2 で定義されている各相互作用図におけるメッセージ名とHL7V2.5にて定義されるメッ セージ種を「_」で繋いだものとする。
サプライヤー側IHEアクタクラスにおけるメソッドの引数にIHE ITI-TF2で定義され ていないものを使用する場合は、各相互作用図におけるメッセージ名と独自定義名を
「_」で繋いだものとする。
各種名称に、「 」スペースが含まれる場合は、スペースを省いたものを名称とする。ま た「-」ハイフン、「/」スラッシュなどプログラミング言語で使用できない記号が現れた 場合は、「_」アンダーバーに置換する。
以上の命名規約を用いることにより、IHEテクニカルフレームワーク(IHE ITI-TF1、
IHE ITI-TF2)、設計書(インタフェース設計、クラス設計など)、実際のソースコードを 相互に紐付け、内容の理解を容易にするように配慮するものとする。この命名規約は、
PIX、PDQの設計において共通で用いるものとする。PIX・PDQに関連する各種名称例
の一覧を表B-1に、命名規約に従った場合の実装概念図を図B-1に示す。
表 B-1:PIX・PDQに関連する各種名称例
統合プロファイル名 ITI番号 トランザクション名 アクタ名 アクタ名 相互作用図のメッセージ
メッセージのセマンティクスで定義され る内容(及び設計書で独自に追加する パラメータ)
コンシューマ側 サプライヤー側
ADT^* - A01,A04,A05,A08 DuplicateCheckOption
← - ACK
→ PatientIdentityMerge ADT^A40
← - ACK
→ GetCorrenspondingIdentifers QBP^Q23
←
ReturnCorrespondingIdentifiers RSP^K23
→
PatientDemographicsQuery QBP^Q22
← PatientDemographicsResponse RSP^K22
→
PatientDemographicsandVisitQuery QBP^ZV1
← PatientDemographicsandVisitResponsRSP^ZV2 PIX
ITI-9
メッ セー ジの 向き
Patient
DemographicsConsu mer
PDQ Patient
DemographicsConsu mer
PatientDemographic sSupplier
PatientDemographic sSupplier
ITI-22 PatientDemographicsan d VisitQuery
ITI-21 PatientDemographicsQu ery
PIXQuery
PatientIdentityFeed
ITI-8 PatientIdentitySour →
ce
QueryPatientIdentifi
erCross-referenceConsumer
Admit_RegisterorUpdatePatient PatientIdentifierCros
s-RefferenceManager
Patient IdentifierCross-referenceManager
図 B-1:命名規約に従った場合の実装概念図
附属書 C(参考) SOAPメッセージ仕様
C-1 患者基本情報登録・更新・照会
IHE ITI-TF2 (Revision 2.0 – Final Text August 15, 2005)の 「C.1: HL7 Implementation Notes」には、「HL7 Implementation Guide」のAppendix Cに記載され ているMinimal Lower Layer Protocolをネットワーク通信プロトコルとして使用すること が推奨されているが、本ガイドではIHEにおいてSOAP使用が検討されていたことから、
IHEトランザクションをSOAPによるWebサービスとして実装する方法を例示している。
本システムで実装されるIHEトランザクションとの対応関係を表C-1に示す。
表C-1 サービス名とIHEトランザクションの対応 サービス名 IHEトランザクション名
PIX Service Patient Identity Feed[ITI-8]
PIX Query[ITI-9]
PDQ Service Patient Demographics Query[ITI-21]
各サービスの詳細インタフェース仕様を表 C-2 に示す。クラス名、メソッド名、パラメ ータは、それぞれWSDL文書のサービス名、オペレーション名、メッセージ名に相当する。
WSDL文書例を以下に示した。なお、SOAPインタフェースの詳細については、表C-2を 基に実際に使用するSOAPミドルウェアにより生成されるWSDL文書にて定義される。
各インタフェース使用時の応答メッセージに含まれるエラーコード(ERR-3)の一覧、
意味、クライアントアプリケーションの取るべき対応を表C-3に示した。
表 C-2:インタフェース仕様
ク ラ ス 名
メソッド名 IN/Ret urn
パラメータ成分 データ型 備考
( サ ー ビス名)
(オペレーション名) (メッセージ要素名)
PIX Service
Admit_RegisterOrU pdatePatient
IN Admit_RegisterOrUpda tePatient_ADT
String Admit_RegisterOrUpda
tePatient_
IDStatusOption
string 施設患者ID・地 域患者 ID 無効 化オプション 0:有効(デフォ ルト) 1:施 設患者 ID の無 効
2:地域患者ID の無効化 Admit_RegisterOrUpda
tePatient_DuplicateChe ckOption
string 患者重複チェッ
クオプション 0:重複チェック する(デフォル ト) 1:重複 チェックしない Admit_RegisterOrUpda
tePatient_UserId
string 利用者ID Return Admit_RegisterOrUpda
tePatient_ACK
string PatientIdentityMer
ge
IN PatientIdentityMerge_A DT
string 今回対応しない Return PatientIdentityMerge_A
CK
string 今回対応しない GetCorrenspondingI
dentifiers
IN GetCorrenspondingIden tifiers_QBP
string Return GetCorrenspondingIden
tifiers_RSP
string PDQ
Service
PatientDemographi csQuery
IN PatientDemographicsQ uery_QBP
string Return PatientDemographicsQ
uery_RSP
string
表 C-3:ERR-3 HL7エラーコードの意味及びクライアントアプリケーションの対応 クラス名 メソッド名 ERR-3 意味 クライアントアプリケーショ
ンの対応
( サ ー ビ ス名)
(オペレーシ ョン名)
PIX Service
Admit_Regist erOrUpdateP atient
100 メッセージ不正 正しいメッセージをセットす る
101 メッセージ不正 正しいメッセージをセットす る
102 メッセージ不正 正しいメッセージをセットす る
103 メッセージ不正 正しいメッセージをセットす る
200 メッセージ不正 正しいメッセージをセットす る
203 メッセージ不正 正しいメッセージをセットす る
204 患 者 基 本 情 報 の 更 新 要 求 時 に、地域患者ID、施設患者ID のいずれかが見つからない、
または、地域患者ID、施設患 者IDの組み合わせがDBに登 録されていない
正しい地域患者 ID をセット する
205 患者基本情報登録時に同一患 者と思われる患者が既に登録 されている場合にセットされ る
PDQサーバにより患者基本情 報を検索し、同一患者有無を 人間系で確認後、正しい情報 をセットする。
206 アプリケーションレコードが ロックされている
所定回数のリトライする 207 サーバの内部エラー なし
GetCorrensp ondingIdentif iers
100 メッセージ不正 正しいメッセージをセットす る
101 メッセージ不正 正しいメッセージをセットす る
102 メッセージ不正 正しいメッセージをセットす る
103 メッセージ不正 正しいメッセージをセットす る
200 メッセージ不正 正しいメッセージをセットす る
203 メッセージ不正 正しいメッセージをセットす る
207 サーバの内部エラー なし
クラス名 メソッド名 ERR-3 意味 クライアントアプリケーショ ンの対応
( サ ー ビ ス名)
(オペレーシ ョン名)
PDQ Service
PatientDemo graphicsQuer y
100 メッセージ不正 正しいメッセージをセットす る
101 メッセージ不正 正しいメッセージをセットす る
102 メッセージ不正 正しいメッセージをセットす る
103 メッセージ不正 正しいメッセージをセットす る
200 メッセージ不正 正しいメッセージをセットす る
203 メッセージ不正 正しいメッセージをセットす る
207 サーバの内部エラー なし