• 検索結果がありません。

検体検査マトリックスデータモデル

第3章 データ構造定義

3.1 データモデル定義

3.1.6 検体検査マトリックスデータモデル

<検体検査マトリックス情報>

項目 備 考

検体検査マトリックス情報 検体検査項目ごとの結果情報の繰り返し 下記<検体検査マトリックス行情報>参照 行:検査項目、列:検査日

<検体検査マトリックス行情報>

項目 備 考

検体検査マトリックス行情報 検査日における結果情報の繰り返し 下記<検体検査マトリックス列情報>参照

<検体検査マトリックス列情報>

項目 備 考

オーダ情報 検査日、オーダNo

検査情報 検査項目コード、検査項目名称、検査結果値、標準値、異常ありなし等

標準化ストレージ 共通モジュール 設計書

日本電気株式会社

初 2012/1/12 萩原 新規作成

2.1 標準化ストレージ構築アプリケーション... 5 2.1.1 処理内容... 5 2.2 標準化ストレージデータ取得 Web サービス... 6 2.2.1 処理内容... 6 2.2.2 データモデル... 7 2.3 標準化ストレージデータ取得ライブラリ... 10 2.3.1処理内容... 10 2.3.2 データモデル... 11

1

第1章 機能一覧

1.1 機能一覧表

2 各アプリケーション・ライブラリの機能について、一覧と内容の説明を以下に示します。

機能 内容

標準化ストレージ構築アプリケーション

HL7メッセージ受信 HIS等より、TCP/IPのソケット通信により送信されたHL7メッセージを受信する。

受信ポートの設定により複数での受信が可能。

連携用データ出力 TCP/IP通信において受信したHL7メッセージの内容をログファイルとして指定のディレクトリに保存する。

(SS-MIX派生アプリである臨床研究DB等の外部システムへの連携に利用可能)

HL7パース HL7メッセージをパース(解析)し標準化ストレージの構造に必要な項目値を取得する。

ここでのパースは、HL7応答メッセージや標準化ストレージへのファイル格納に必要な項目のみを読み取る。

(すべてのデータをパースするわけではない)

HL7ファイル格納 パースで取得した項目値を元に標準化ストレージ内の格納場所を決定し、HL7メッセージをファイル化して格 納する。

標準化ストレージデータ取得Webサービス

データ取得サーバ クライアントからの要求による通信によって指定条件を受け取り[Request]、標準化ストレージ内の該当ファイ ルを取得しデータモデルに展開した内容を返却する[Response]。

通信方法はWebサービス(SOAP)を用いるものとし、当処理部分はDLL等のライブラリではなくEXE型Web サーバまたはIIS配下稼働のWebサービスとなる。

※HL7パース・モデル展開機能を包含する

3 HL7パース・モデル展開 指定された条件に一致するHL7ファイルを読み取り、内容をパース(解析)しデータモデル*へ展開する。

*データモデルとはプログラムが処理しやすい形のメモリ内のオブジェクト構造を意味する。

外部ファイルへ出力する・Webサービス通信する等を考えXMLへ容易に加工できるモデルとする。

※標準化ストレージ物理アクセスを包含する

標準化ストレージ物理アクセス 指定された条件(患者ID、診療日範囲、データ種別)に一致する標準化ストレージの格納フォルダ一覧を取得す る。

指定された条件に一致する標準化ストレージの格納フォルダ探索し、フォルダ配下に格納されている HL7 フ ァイルを読み取る。

標準化ストレージデータ取得ライブラリ

データ取得ライブラリ 呼び出しアプリケーションから指定された条件(患者ID、診療日範囲、データ種別)に一致するデータの取得を 標準化ストレージデータ取得Webサービスに要求 [Request]し、受け取った[Response] データモデルを呼び 出し元に返却する。

クライアントアプリケーションに組み込むライブラリとして提供する。(単独実行するものではない)

4

第2章 機能詳細

2.1 標準化ストレージ構築アプリケーション 2.2 標準化ストレージデータ取得 Web サービス

2.3 標準化ストレージデータ取得ライブラリ

5

2.1 標準化ストレージ構築アプリケーション

2.1.1 処理内容

標準化ストレージ構築アプリケーションにおける処理の流れと内容を記述します。

標準化ストレージ構築に関しては「SS-MIX2 標準化ストレージ 構成の説明と構築ガイドライン」に則った処理を行っているため、詳細な処理内容について は前述の文書を参照して下さい。

処理説明

① TCP/IP ソケット通信による HL7 メッセージ受信

設定ファイルによって設定された受信待ち受けポートから TCP/IP の電文を受信する。

その際、受信時に受信バッファに空きがあるか、終了コード(0x1C0D)を受信したか、クライアントが切断した場合に一つのメッセージの終了とみなす。

その後、受信した電文を元に HL7 メッセージ解析を行う。

② HL7 メッセージ解析

受信した電文の開始が MSH かどうかを判断し、メッセージヘッダの解析を行う。

メッセージヘッダから区切り文字とメッセージ型を判断し、MSH 以降のセグメントについて区切り文字でフィールド単位に区切る。

正常に区切れた場合には、元の HL7 メッセージを連携データとして出力するとともに標準化ストレージへの格納を行う。

③ 連携データ出力

受信した HL7 メッセージを連携データ出力ファイルに追記する。追記する際にファイルサイズを取得し、すでに既定のサイズを超えている場合には別名 のファイルを作成し、追記を行う。

④ 標準化ストレージ格納

受信した HL7 メッセージ中の項目から標準化ストレージへ格納する際に必要になる項目(患者 ID、診療日、オーダ番号等)を取得し標準化ストレージ格納 仕様に従った形式で受信メッセージをファイル化し格納する。

6 2.2.1 処理内容

標準化ストレージデータ取得Webサービスが提供するWebメソッドの一覧とその内容を以下に示します。

処理名(Webメソッド名) 内容

GetPatientHL7BaseInfo 患者基本情報(病名・アレルギー含む)に関するHL7ファイルの内容を区切り文字で区切った構造を取得する

GetOrderHL7BaseInfo 各種オーダーに関するHL7ファイルの内容を区切り文字で区切った構造を取得する

GetPatientInfo 患者基本情報(病名・入退院歴含む)データモデルを取得する

GetShohoInfo 処方情報データモデルを取得する

GetChushaInfo 注射情報データモデル(処方情報データモデルと兼用)を取得する

GetKentaiTreeInfo 検体検査データモデルを取得する

GetKentaiMatrixInfo 検体検査マトリクスデータモデルを取得する

GetPatientFileInfoList 患者基本情報(病名・アレルギー含む)に関するHL7ファイルのファイルパスを表現する情報の一覧を取得する

GetOrderFileInfoList 各種オーダーに関するHL7ファイルのファイルパスを表現する情報の一覧を取得する

GetStorageFileBytes 上記ファイルパス情報をもとに実ファイルのバイトデータを取得する

GetOrderDates 有効なオーダーが含まれる日付のリストを取得する

7

2.2.2 データモデル

SOAP通信で使用するデータモデルには以下のものがあります。

ベース系 SOAPRequestBase, SOAPResponseBase, SOAPUserInfo

要求系 SOAPGetPatientHL7BaseInfoReq, SOAPGetOrderHL7BaseInfoReq, SOAPGetPatientInfoReq, SOAPGetShohoInfoReq,

SOAPGetChushaInfoReq, SOAPGetKentaiTreeInfoReq,

SOAPGetKentaiMatrixInfoReq, SOAPGetPatientFileInfoListReq,

SOAPGetOrderFileInfoListReq, SOAPGetStorageFileBytesReq, SOAPGetOrderDatesReq (全てSOAPRequestBaseクラスを継承している)

応答系 SOAPGetPatientHL7BaseInfoRes, SOAPGetOrderHL7BaseInfoRes SOAPGetPatientInfoRes, SOAPGetShohoInfoRes,

SOAPGetChushaInfoRes, SOAPGetKentaiTreeInfoRes,

SOAPGetKentaiMatrixInfoRes, SOAPGetPatientFileInfoListRes,

SOAPGetOrderFileInfoListRes, SOAPGetStorageFileBytesRes, SOAPGetOrderDatesRes (全てSOAPResponseBaseクラスを継承している)

8 全ての要求系SOAPデータモデルは、内部に取得対象を検索するためのキー項目(患者系は患者ID、その他のオーダー系は、患者ID・検索範囲の開始と終了 日付(YYYYMMDD形式)、データ種別リスト(OMP-01やOML-01など))を内包する形式をとっています。

例)患者基本データモデル取得要求(SOAPGetPatientInfoReq)

№ 項目名 型 内 容

1 UserInfo SOAPUserInfo型 利用者情報(ログ出力用)

2 PatientId 文字列型 患者ID

利用者データモデル(SOAPUserInfo)

№ 項目名 型 内 容

1 UserId 文字列型 利用者ID

2 UserName 文字列 利用者名

3 HostAddress 文字列型 利用者ホストIPアドレス

4 HostName 文字列型 利用者ホスト名

要求系データモデルベース部分(共通) (SOAPRequestBase)

要求キー項目(独自)

要求系データモデルベースにはログ出力用の利用者情報が含まれます。

利用者情報はユーザID及び利用ホスト情報が含まれており、標準化ストレージアクセスの ログ及び標準化ストレージデータ取得Webサービスのログに記録されます。

9 応答系SOAPデータモデルの構造について

全ての応答系SOAPデータモデルは、内部に取得対象のデータモデルを内包する形式をとっています。

たとえば、患者基本情報の取得であれば、内部に患者基本情報データモデル(患者IDや患者の氏名等、詳細は下記、2.3 標準化ストレージデータ取得ライブ ラリ参照)を内包する形になり、要求元のアプリケーションはこのデータモデルを元に利用者へのUIを形成することになります。

例)患者基本データモデル取得応答(SOAPGetPatientInfoRes)

№ 項目名 型 内 容

1 ResultCode 文字列型 結果コード 00:正常 以外:エラー

2 ResultMessage 文字列型 結果メッセージ

3 PatientInfo PatientInfo型 患者基本情報データモデル

応答系データモデルベース部分(共通) (SOAPResponseBase)

応答データモデル(独自)

応答系データモデルベースにはサービス内での処理結果を表す結果コード(ResultCode)と 補足メッセージ(ResultMessage)が含まれます。

利用者はResultCodeを判断してから、各種処理を行う必要があります。

10 2.3.1処理内容

ライブラリ名 内容

HL7MessageManager HL7 のデータ構造を解析し HL7 メッセージをセグメント毎、フィールド毎に指定された区切り文字によって区切っ

たデータモデルを生成します。

SSTAccessClient 標準化ストレージデータアクセスを利用するクライアントアプリケーション(Webアプリ及びWindowsアプリ)が参照

するためのライブラリです。標準化ストレージに直接アクセスする場合と、SOAP 通信を用いてデータを取得する場 合の2種類の形態に対応したI/Fを提供します。

SSTAccessLibrariesCommon 標準化ストレージデータアクセスを行うライブラリ群に共通化した内容(ログ出力やユーティリティ)を提供するライ

ブラリです。

SSTDataModel 標準化ストレージアクセスライブラリを利用して取得できるデータモデルを定義したライブラリです。SST に直接ア

クセスする場合にも、SOAP通信を用いてデータモデルを取得する場合にも共通のデータモデルを利用します。

SSTHL7Parser HL7 文字列から標準化ストレージデータモデルを生成するライブラリです。標準化ストレージデータモデルは全て

HL7基本データモデル(区切り文字で区切っただけの単純なデータモデル)から生成します。

SSTLogicalAccess 標準化ストレージへのアクセスに関して物理構造を意識しない形でデータモデルを取得するためのライブラリです。

指定範囲のHL7 ファイルを全て連結してSSTHL7Parserライブラリを呼び出し、取得したデータモデルを返却しま す。

SSTPhysicalAccess 標準化ストレージのディレクトリ構造や、ファイル名の取得を行う物理アクセスライブラリです。指定された範囲の

HL7ファイルをリストとして返したりするのみで、データモデルは意識しません。

関連したドキュメント