iT邦幫忙

1

關於 HAPI FHIR 伺服器建置

  • 分享至 

  • xImage

很多網路上的文章都跳過建置 FHIR 資料庫物件的建立(只有提到建立資料庫與 user)
相關 table/index/sequence... 都沒提到如何建立或匯入,請問各位大大,可否釋疑?

圖片
  直播研討會
圖片
{{ item.channelVendor }} {{ item.webinarstarted }} |
{{ formatDate(item.duration) }}
直播中

1 個回答

4
Ray
iT邦大神 1 級 ‧ 2023-05-24 09:14:44
最佳解答

FHIR 標準在此:
https://www.hl7.org/fhir/

他定義的是: 資料在跨平台交換時的格式和標準.
至於資料庫裏面怎麼儲存? 那是你自己這個平台決定的. 他只定義: 資料拿出來跟別人交換時的樣子, 不管你自己在內部儲存是長得甚麼樣子.

看更多先前的回應...收起先前的回應...
lijen iT邦新手 5 級 ‧ 2023-05-24 09:34:02 檢舉

我的疑問是, 安裝 HAPI FHIR 之後應該要在資料庫中建立對應的資料庫物件例如: table/index/sequence 才能使這個 HAPI FHIR Server 正常動作,不然徒有 web server 沒有對應的 database .

Ray iT邦大神 1 級 ‧ 2023-05-24 11:17:09 檢舉

HAPI 是一層 Middle Ware, 他對 Client 建立抽象層 API, 所以你的 Client 不需要知道詳細的 DB Schema, 只要打 API 過去, 就可以取得資料. 例如:

http://localhost:8080/example02/Patient/1

就可以取得病患 #1 的資料

同樣的, 你要塞資料進去, 就用 POST 把資料傳進去. 或者人工上傳你自建好的 FHIR 病歷:

./hapi-fhir-cli upload-examples --data examples-json.zip -t http://localhost:8080/baseDstu3

她不會預先建立 Schema, 要等你的 API 打進來之後才會開始建. 一但用了 HAPI 之後, 你也不應該自己去存取 db schema, 要完全放手讓他去管理, 不要再去使用 db 裡面原生的功能, 只能透過 HL7 的 API 協定去讀寫他; 如果又插手自己去直接連線存取 db 的話, 可能會造成 HAPI 內部的結構損壞.

HAPI FHIR 已經把絕大多數臨床醫療照護情境應用都幫你規畫好了
以最常見的兩個 resource 為例
https://hl7.org/fhir/patient.html#resource
https://hl7.org/fhir/observation.html#resource

可以參考慈濟大學蕭嘉宏副教授的資料
https://mos2718.github.io/FHIRspec/Spec/FHIR_Observation.pptx
https://mos2718.github.io/FHIRspec/Index.html

lijen iT邦新手 5 級 ‧ 2023-05-25 08:33:20 檢舉

所以架構 HAPI FHIR 後系統會自動建立所需 table 至資料庫中嗎?
何時建立的?
透過什麼機制建立的?

Ray iT邦大神 1 級 ‧ 2023-05-25 10:01:21 檢舉

HAPI FHIR 系統架構:

最底層的 db 可以有幾種選擇:

  1. 如果你安裝後都不改的話, 它會自動使用內嵌的 H2 Java Database
  2. 如果你自己去改 HAPI Config 的話, 可以使用外部的 DB Engine

說明在此:
https://hapifhir.io/hapi-fhir/docs/server_jpa/get_started.html

外部資料庫的支援種類:
https://hapifhir.io/hapi-fhir/docs/server_jpa/database_support.html

HAPI 資料庫內部的 Schema:
https://hapifhir.io/hapi-fhir/docs/server_jpa/schema.html

以上資訊, 都來自 HAPI 官方的文件庫:
https://hapifhir.io/hapi-fhir/docs

文件庫也告訴你, 可以去看他 Github 上的 Starter Module, 裡面會告訴你, 透過 JDBC 使用資料庫的設定方法:
https://github.com/hapifhir/hapi-fhir-jpaserver-starter

我要發表回答

立即登入回答