HAPI-FHIR Database (一) ⇒ Database結構

Posted on Mon, Jan 17, 2022 HAPI-FHIR FHIR SQL
⚠️

注意此篇只研究Postgres,且只跟轉資料有關

由於出現了必須從HAPI-FHIR轉到另一個FHIR Server,且是完全不相同的結構。 小弟認為直接讀取HAPI-FHIR的Database應該會比FHIR WEB API還來得快,所以研究了一下HAPI-FHIR轉置資料所需要使用到的Data Tables。

HFJ_RESOURCE: Resource Master Table

記錄createupdate所有Resource相關資料,ID、version、resourceType等。

HFJ_RESOURCE

NameDataTypeDescription
res_verLong資料當前版本號,每次PUT時,此筆資料同步更新版本號
res_idbigint此資料在資料庫的唯一id
res_typeStringresource type.(e.g. Patient )

此資料表用來做以下事情:

HFJ_RES_VER: Resource Versions and Contents

記錄每一個version的資料,包含FHIR Resource JSON,此資料表為轉置資料最主要的資料表

HFJ_RES_VER

NameDataTypeDescription
res_verLong資料當前版本號,每次PUT時,都會新增一筆資料到此資料表
res_idbigint此資料在資料庫的唯一id
res_typeStringresource type.(e.g. Patient )
res_textbyte[] (SQL LOB)FHIR Resource資料,使用byte儲存

此資料表用來做以下事情:

➡️

下一篇將實作轉置資料的方法

參考資料