Learn More →
Learn More →
Learn More →
Learn More →
因應國際健康資訊交換第七層協定協會(HL7® International)之規定,本文件提及的「FHIR®」、「FHIR 標準」、「帶有火焰標示的 HL7 FHIR Logo」是 HL7 的註冊商標,並經由 HL7 許可授權使用。
本文件為 FHIR 教育訓練的相關資源收錄,並以 你他媽的想幹嘛就幹嘛公共授權條款 (WTFPL) 發布。惟本文件所連結或參考之各項文獻/圖片/影音素材,其著作權、智慧財產權與授權方式仍依該引用資料本身之規定為準。
本文件使用 HackMD 製作,並依開放原始碼精神將完整內容上傳至 GitHub,歡迎讀者自由提交 Commit 豐富本文內容。
FHIR 的官方網站涵蓋了大量且完整的資料,考量到許多不熟悉 FHIR 的新手若直接看官方網站的話可能會望之卻步。為了讓還在新手村的學員們能快速對這個標準上手,因此製作了這份文件。您可以在這份文件中,用(筆者認為)比較有系統性的方式對 FHIR 進行學習。這份文件收錄了筆者從以前到現在發布的各項教材/演講資料以及相關資源/參考連結,由幾個部分組成:
注意
FHIR 是一個仍在不斷發展中的標準,不同時期的的資料可能會因為 FHIR 的標準發展、文件更新而可能有不適用的狀況,筆者會盡量更新這份文件,以維持其準確性。然而仍有可能有疏漏的地方,所有對於 FHIR 標準的規範與解釋,請以 FHIR 官方網站為準。
若您發現本文件有任何有誤的地方,請 Email 至 Lorex<ceo@sita.tech>,或是直接在 GitHub 中提交 Issue,我會立即修正有誤的資料。
小小工商
本伺服器是筆者架設的臺灣公開測試伺服器,機房地點就在 我大發財市 高雄市,理論上連線速度應該會比較快。然而維護伺服器有成本,如果這份文件對您有幫助的話,歡迎用以下連結贊助支持 ❤https://p.ecpay.com.tw/8E309AC❤
筆者會在下次更新伺服器時,在贊助清單上放上您的芳名 m(_ _)m
!!!注意!!! 本情境演練中提到的各項案例,其未標注或明示「真實案例」者,為筆者基於出題需求自行產生之資料,其中的所有欄位皆屬虛構,如您發現有部分資料雷同,請立即透過 Email:Lorex<ceo@sita.tech> 告知,或是直接在 GitHub 中提交 Issue,我將會立即修正雷同的資料。
所有標注「真實案例」的資料,其資料來源為筆者自身的病歷資料,基於教學用途,於抹除個人資料後自願提供作為出題使用。
上述提到的所有資料,無論是否為真實案例,均僅限作為學術研究與教學用途,嚴禁為任何商業或營利之應用。資料之著作權及智慧財產權仍屬筆者本身,如有違反本規定之使用情事,筆者有權視情況取消讀者對該筆資料的授權利用。
本題目是為了評估您是否掌握將基本資料轉換為 Resource 的知識。
以下是某位病患的資料:
請運用您學到的 FHIR 知識,使用以上資料設計 FHIR Resource。並將結果儲存為 XML 或 JSON 格式擇一。
{
"resourceType": "Patient",
"identifier": [
{
"use": "official",
"type": {
"coding": [
{
"system": "http://terminology.hl7.org/CodeSystem/v2-0203",
"code": "PPN",
"display": "Passport Number"
}
]
},
"value": "65848725"
}
],
"name": [
{
"use": "official",
"text": "Connor Graham",
"family": "Graham",
"given": [
"Connor"
]
},
{
"use": "official",
"text": "葛康納"
}
],
"telecom": [
{
"system": "phone",
"value": "07-2159685",
"use": "home"
},
{
"system": "phone",
"value": "07-7938888",
"use": "work"
},
{
"system": "phone",
"value": "0912-354879",
"use": "mobile"
}
],
"gender": "male",
"address": [
{
"use": "home",
"type": "both",
"text": "高雄市橋頭區經武路58號24樓之11",
"line": [
"經武路58號24樓之11"
],
"city": "高雄市",
"district": "橋頭區",
"postalCode": "825006",
"country": "TW"
}
],
"contact": [
{
"relationship": [
{
"coding": [
{
"system": "http://terminology.hl7.org/CodeSystem/v2-0131",
"code": "C",
"display": "Emergency Contact"
}
],
"text": "父"
}
],
"name": {
"use": "official",
"text": "James Yates"
},
"telecom": [
{
"system": "phone",
"value": "0988-878545",
"use": "mobile"
}
]
}
],
"photo": [
{
"url": "https://i.imgur.com/VeTQheO.png"
}
],
"communication": [
{
"language": {
"coding": [
{
"system": "urn:ietf:bcp:47",
"code": "en-US"
}
],
"text": "English (US)"
}
}
]
}
本題目是為了評估您是否掌握以 REST API 與 FHIR Server 互動的知識。
請運用您學到的 REST API 相關知識,將您在演練 1 中完成的 FHIR 資料上傳至 FHIR Server 中。
本題目是為了評估您是否能就實際案例進行分析,並根據原始資料判別所屬的 Resource。
以下是某位病人的出院病歷摘要單:
請運用您學到的 FHIR 知識,判斷以上資料各部描述屬於哪個 FHIR Resource,並予以標註。
本題目是為了評估您是否能在分析實際案例並判別各部所屬的 Resource 後,進一步釐清各 Resource 之間的關聯,並繪製關聯圖以便與團隊協作。
以下是某個病人的就診資料:
患者楊XX,男,84年01月01日生,手機 0975123456。主訴為長期無法集中注意力與情緒障礙問題,於 110/01/05 至XX診所(醫事機構代碼 3507000000)就診,診斷醫師姓名為孫OO。
診斷結果如下,下列診斷代碼均使用 ICD-10 作為代碼參考:
本次診斷開立以下藥物,藥品代碼均為健保代碼
請運用您在課程學到的 FHIR 知識,判斷以上資料各部屬於哪個 FHIR Resource,並以 draw.io 等工具畫出關聯圖。
本題目是為了評估您是否掌握 Bundle Resource 的使用方法,並將完整的病歷資料標準化為 FHIR Resource 後進行資料上傳的能力。
在演練 4 中,我們將原始的病歷資料進行分類,找出各部資料所屬的 FHIR Resource,並以 draw.io 等工具繪製成關聯圖。
請運用您在課程學到的 REST API 相關知識,並參考您在演練 4 中完成的關聯圖,將原始資料以 FHIR 標準化後,產生 FHIR Bundle Resource,並以 Bundle (type: transaction) 的形式上傳至 FHIR Server 中。
幾個點要注意: Lorex L. YangSun, Jan 28, 2022 5:25 PM
"request": { "method": "PUT", "url": "<resourceType>/<id>" }
若您還不會使用 Bundle 進行資料上傳,也可以個別上傳每個 Resource,惟須注意每個 Resource 的關聯性並調整上傳的順序。
本題目是為了評估您是否掌握 Profile 的相關知識,並是否具備撰寫 Profile 的能力。
FHIR 實作指引(Implementation Guide)與 Profile 是 FHIR 維持一致性這項特性的實踐方式,而 Forge 是一個由 Simplifier.net 發布的 Profile 編輯器。現在請您試著使用該項工具,以任意 Resource 製作出一個自己的 Profile,並滿足以下條件:
您可以使用 Forge 工具(必須先註冊 Simplifier.net 帳號)或自行撰寫 StructureDefinition 來製作 Profile,並將完成的 Profile (StructureDefinition) 上傳至 FHIR Server。
完成 Profile 的上傳後,請撰寫出符合您的 Profile 要求的 FHIR Resource 資料,該筆資料的 meta.profile 欄位必須填入您的 Profile URL,完成後請上傳至 FHIR Server 中。
本題目是為了評估您是否具備開發基礎的 FHIR 應用程式的能力。
資料來源:衛生福利部胸腔醫院-初診病患基本資料卡
請根據以下表單實作病人資料登錄網頁,必須要能提供以下資料登記(塗掉的欄位不用寫),並能將使用者填寫的資料上傳到 FHIR Server 後,取得 Patient ID 並顯示於頁面中。
FHIR Universal Conversion Kit (Project F.U.C.K) 是一個通用的 FHIR 資料標準化工具,支援以設定檔及 Low Code 的方式,將任意資料標準化為 FHIR 格式,並具備自動上傳至 FHIR 伺服器的功能。
Author | License | Source Code |
---|---|---|
Lorex | CC BY-NC-SA 3.0 | GitHub Repository |
Burni 使用 Node.JS 、Express 框架以及 MongoDB 實作 FHIR R4 Server,經由簡單的設定即可產生指定 FHIR Resource的 Mongoose Schema、API程式碼並可自行更改,滿足需求。目前Burni支援Windows以及Linux,讓開發人員可以快速架設 FHIR Server。
Burni FHIR Server有別於關聯式資料庫,採用NoSQL架構,目前已100%通過 AEGIS Touchstone Basic-R4-Server驗證測試,包含 2,216測試情境。
Author | License | Source Code |
---|---|---|
CYLAB | Apache 2.0 | GitHub Repository |
Raccoon 是使用 no-SQL 資料庫實作的醫學影像儲存系統(DICOMweb PACS),目前主要由北護影像資訊學實驗室維護。 Raccoon 使用 MongoDB 管理 DICOM 影像並提供 DICOMweb 以及 FHIR ImagingStudy RESTful API 功能進行儲存、查詢、調閱。 另外 Raccoon 使用了 Burni FHIR Server為底延伸出 FHIR 與 DICOM 結合的功能。
Author | License | Source Code |
---|---|---|
CYLAB | MIT | GitHub Repository |