計測データの保持方法に関するノート
数値検査データのファイリング
基本フロー
ここでは内部的なデータ管理のしくみについて補足します。
RADIREC Webは、2023年版から、他の検査と統合して運用することを念頭に設計されています。具体的にはデータの保持方法を以下のように、
- 生データを記録するプール
- 仕分けされたデータを記録するプール
の2つから構成した保管方法をとっています。
サーバーサイドSPA(Single Page Application)
RADIREC WS では、ひとつのURLの中で、アプリケーションの基本要素が完結するように設計されています。
あるデータ、たとえば患者情報のAPIを考えたときに、最も基本的な操作として、(1)入力フォーム、(2)サーバーへ登録するアクション、(3)削除アクション、(4)編集アクション、以上の4アクションを記述するものとします。
SPAではない場合
特にシングルページにまとめない場合、
http://server-name/showform http://server-name/register http://server-name/delete http://server-name/edit
このように4つのスクリプトを作ることになります。
SPAの場合
SPAとして設計した場合、URLは以下のようになりスクリプトそのものは一つしか必要ありません。
http://server-name/patientinfo?action=showform http://server-name/patientinfo?action=register http://server-name/patientinfo?action=delete http://server-name/patientinfo?action=edit
http://server-name/patientinfoのコード量はSPAでない場合に比べて若干大きくなりますがメンテナンスの負担が小さくなります。
SPAに対するrawデータ
加えて、RADIREC WSでは、個々のSPA が取得するデータも個々のSPAの配下に設置されます。
例
/xlsconvert.meme に対して提出されたデータの参照URLは /xlsconvert.meme/stock/submitted/ 以下になる。
rawデータプール
所在 | /var/tmp/prixm/rawdata |
---|
rawデータプールでは、SPAから変換されたデータを記録します。データの実体はTSV(タブ区切りテキスト)形式です。
by-idデータプール
所在 | /var/tmp/prixm/by-id |
---|
後々一覧からのデータ検索に供することができるように、検査日時、登録日時、検体に関するメタデータ(年齢、性別、疾病、手術コード、IVR機器の型番など)も同時に登録することができる。