# Useful clinical FHIR resources - 下列數個用途廣泛之 FHIR resources: -- [Observation](https://hackmd.io/EzLeXI_kQoK474myGTJdcQ?both#Observations): 可記錄各式健康醫療客觀觀察資訊,如生理監測、檢驗、影像發現等資訊。 如[vitalSign Template](https://hackmd.io/EzLeXI_kQoK474myGTJdcQ?view#Vital-sign-template) -- [Condition](https://hackmd.io/EzLeXI_kQoK474myGTJdcQ?view#Conditions): 病人或醫護人員主觀陳述之問題及狀況,含各式身心疾病,以及民眾居家問題狀況 -- Questionnaire and QuestionnaireResponse: [問卷、及問卷回應(針對此問卷某人某次的答題結果)問卷表單](https://hackmd.io/_fdIMw_tQXWiR_hUne7GNQ?view) 、[問卷表單chatGPT 版](https://hackmd.io/P9WCJntUROaSvQLAqZ36zg?view) - 上述泛用 resources,針對特定應用,可引用或自訂編碼、可採用特定數值型態、可決定是否同時採檢多值 - 上述規格,目前在許多健康醫療領尚未確立 ## 發展簡單、明確清楚的國際標準 - 以標準化規格,清楚描述病人問題狀況及治療處置方式 -- [標準化評估表單、問題及診斷、觀察及檢測資料](https://hackmd.io/EzLeXI_kQoK474myGTJdcQ?both#FHIR-condition-observation-questionnaire-for-PHR) -- 標準化用藥、處置、保健、及照護模式 --- [常見疾病及痛苦,可以透過相似的醫療照護介入來治療、治癒、或緩解](https://chat.openai.com/share/303fff99-343e-4a38-a4fc-776b20efa29e) ## FHIR condition, observation, questionnaire for PHR - FHIR 個人健康紀錄: 個人端之標準化問題狀況、監測與觀察、以及[問卷紀錄](https://hackmd.io/1AYPKLv_RDSAMcD91gXwpA) -- [匿名 PHR 及PHR 端 observation 及 condition PPTs](https://drive.google.com/drive/folders/1_YlsKBzXqVcWC_su78R378i8FdKQ_NvA) ## FHIR JSON examples 以下提供 FHIR Observation 及 Condition 範例說明,及 FHIR 官網範例連結,以利修改產生新範例及模板,在尚未訂立標準的健康醫療領域應用(目前很多醫護專業領域皆尚未訂立 FHIR 標準規範)。 ## Observations - 官網[ Observations 說明連結](https://build.fhir.org/observation.html)、 [官網發布的 observation 範例](https://build.fhir.org/observation-examples.html),但 observation 用途廣泛,尚有非常多檢測產生的資訊需進一步規範。下列數個典型範例,以利修改擴充應用。 ### Body temperature ```json { "resourceType": "Observation", "status": "final", "category" : [{ "coding": [ { "system": "http://terminology.hl7.org/CodeSystem/observation-category", "code": "vital-signs", "display": "Vital Signs" }]}], "code": { "coding": [ { "system": "http://loinc.org", "code": "8310-5", "display": "Body temperature" } ] }, "subject": { "reference": "Patient/1411132" }, "encounter":{ "reference": "Encounter/1439656" }, "effectiveDateTime": "2016-03-28", "valueQuantity": { "value": 36.5, "unit": "Cel", "system": "http://unitsofmeasure.org", "code": "Cel" } } ``` 上述為 FHIR 之體溫範例。各類觀察及檢測資料可用 FHIR observation 描述,其主要欄位說明如下: - resourceType: FHIR 定義上百種的 resource。resourceType 指定其基於的 resourceType。FHIR 定義的 resource 具通用性, 同一種 resource 可用來描述許多不同的資訊。如: FHIR Observation 可記錄體溫、血壓、血糖、頭髮顏色、影像發現等各式觀察或檢查資料 - status: 表示此檢測處理狀態。可用下列規範的狀態:registered | preliminary | final | amended +。簡單的檢測狀態可為 final - category: observation 的分類,可分為 social-history、vital-signs、imaging、laboratory 等類別 - code: 明訂是哪種 observation。code.coding[] 表示可選用多種編碼系統。此範例在陣列當中只使用一種編碼系統(loinc), 8310-5 代表體溫,display 可基於不同國家語言置換,如改為"體溫"。 - subject: reference to 受測者(patient) - encounter: reference to encounter(指定是哪次就醫所作的檢測) - effectiveDateTime: 量測時間 - valueQuantity: 量測的數值,以 code systems 明確描述其編碼 註: 1. 每種 FHIR resource 通常包含許多選用的欄位,利於彈性調整應用,但這也造成 FHIR resource 較難了解。因此整理上述簡化說明,利於入門了解。 2. 也由於 FHIR resource 的通用性,需基於應用情境及其處理的資料,進一步確立其規格及範例。雖然 FHIR 有 profile 及 IG 可產生規範文件。但這規範文件太過複雜,不利於入門及醫護專業人員了解。而各專業醫療應用,卻很需要有人來確立規格及範例。各式專業健康醫療應用情境,也許參考本文件修改延伸應用。 3. observation.value 選用多種資料型態,如數值、陰性陽性、比例等 ![](https://i.imgur.com/xaNsTRc.png) 4. 某些檢測,會產生多個量測資料,其結果就不記錄在 value 當中,而是記錄在 component 中,如下範例: ```json= [{"code": { "coding": [{ "system": "http://loinc.org", "code": "8480-6", "display": "Systolic blood pressure"}] }, "valueQuantity": { "value": 107, "unit": "mmHg", "system": "http://unitsofmeasure.org", "code": "mm[Hg]" } }, {"code": {"coding": [ { "system": "http://loinc.org", "code": "8462-4", "display": "Diastolic blood pressure" } ] }, "valueQuantity": { "value": 60, "unit": "mmHg", "system": "http://unitsofmeasure.org", "code": "mm[Hg]" } }] ``` 如上 observation.component[] 陣列當中可放多組資料,每組資料主要有 code 及 value 兩個欄位。 - code: 明訂是哪種量測數值。 - valueQuantity: 紀錄量測的數值 ### 附上 [目前官網發布的 observation 範例](https://build.fhir.org/observation-examples.html)。 ## Vital sign template - 利用此模板: 1.撰寫各式程式,產生體重資料。2. 改成其他種類檢測,如改成呼吸 ![image](https://hackmd.io/_uploads/HJjbrS8Sa.png) 基於FHIR 公告之 vital sign 規範,可包含上述七個欄位。對應到某種生理監測(如體溫),紅色欄位資訊不會改變,程式可更動黃色標註(sugject, effectiveDateTime, valueQuantity) 三個欄位的數值,可產生 vital sign instance (實例) 上傳 FHIR server observation 用途廣泛,尚有非常多檢測產生的資訊需進一步規範。可從現行規範擴充,例如修改 code 代碼及 valueQuantity 量測單位,及形成其他生理監測規範模板。如下: ![image](https://hackmd.io/_uploads/HJweFSIST.png) ![image](https://hackmd.io/_uploads/B1bQYrISp.png) ## 血糖 observation 範例 ```json { "resourceType" : "Observation", "identifier" : [{ "use" : "official", "system" : "http://www.bmc.nl/zorgportal/identifiers/observations", "value" : "6323" }], "status" : "final", "code" : { "coding" : [{ "system" : "http://loinc.org", "code" : "15074-8", "display" : "Glucose [Moles/volume] in Blood" }] }, "subject" : { "reference" : "Patient/f001"}, "effectiveDateTime" : "2013-04-02T09:30:10+01:00", "valueQuantity" : { "value" : 6.3, "unit" : "mmol/l", "system" : "http://unitsofmeasure.org", "code" : "mmol/L" } } ``` ```json { "resourceType" : "Observation", "status" : "final", "category" : [{ "coding" : [{ "system" : "http://terminology.hl7.org/CodeSystem/observation-category", "code" : "vital-signs", "display" : "Vital Signs" }] }], "code" : { "coding" : [{ "system" : "http://loinc.org", "code" : "29463-7", "display" : "Body Weight" }, "subject" : { "reference" : "Patient/example"}, "encounter" : { "reference" : "Encounter/example" }, "effectiveDateTime" : "2016-03-28", "valueQuantity" : { "value" : 185, "unit" : "lbs", "system" : "http://unitsofmeasure.org", "code" : "[lb_av]" }} ``` ## Conditions - 描述病人或醫護人員主觀陳述的問題,及醫護人員判定之病人狀況。附上 [官網說明連結](https://www.hl7.org/fhir/condition.html)、 [目前官網發布的 conditions 範例](https://www.hl7.org/fhir/condition-examples.html) - FHIR condition可描述病人身體或心理的問題或狀況,下列數個典型範例,以利修改擴充應用。 ## 醫師判定之狀況範例: 糖尿病且引起腎功能異常 ```json= { "resourceType": "Condition", "clinicalStatus": { "coding": [ {"system": "http://terminology.hl7.org/CodeSystem/condition-clinical", "code": "active", "display": "Active" } ], "text": "Active" }, "verificationStatus": { "coding": [ {"system": "http://terminology.hl7.org/CodeSystem/condition-ver-status", "code": "confirmed", "display": "Confirmed" } ], "text": "Confirmed" }, "category": [ {"coding": [ { "system": "http://terminology.hl7.org/CodeSystem/condition-category", "code": "encounter-diagnosis", "display": "Encounter Diagnosis" } ], "text": "Encounter Diagnosis" } ], "code": { "coding": [ { "system": "http://hl7.org/fhir/sid/icd-10-cm", "code": "E08.29", "display": "Diabetes mellitus due to underlying condition with other diabetic kidney complication" } ], "text": "E08.29: Diabetes mellitus due to underlying condition with other diabetic kidney complication" }, "subject": { "reference": "Patient/ra-patient01" }, "severity" : "moderate", "encounter": { "reference": "Encounter/pre-sugery-Encounter-ID" }, "onsetDateTime": "2021-01-31" } ``` 上述範例參考自: https://build.fhir.org/ig/HL7/davinci-ra/branches/master/artifacts.html 其主要欄位說明如下: - resourceType: FHIR 定義上百種的 resource。resourceType 指定其基於的 resourceType。FHIR 定義的 resource 具通用性, 同一種 resource 可用來描述許多不同的資訊。如: FHIR condition 可記錄頭暈、肚痛、不想上學、擔心錢不夠等病人主觀陳述之身心問題,或醫護人員判定之疾病,如糖尿病、氣喘、心房顫動等疾病狀況 - clinicalStatus: 表示此狀況目前的狀態,可為 active | recurrence | relapse | inactive | remission | resolved 等狀態 - category: condition 的分類,可分為 problem-list-item | encounter-diagnosis 等類別。problem-list-item(陳述病人問題)、encounter-diagnosis(醫護人員判定之病人狀況) - verificationStatus: 狀況之確認狀態,可用 unconfirmed | provisional | differential | confirmed | refuted | entered-in-error 等代碼。某些病人狀況需嚴謹地再次判定,可用此欄位描述。某些狀況則不須此欄位 - code: 明訂是哪種 condition。condition.coding[] 表示可選用多種編碼系統。此範例在陣列當中使用 ICD 10 編碼系統, E08.29 代表糖尿病且引起腎功能異常代表,display 可基於不同國家語言置換,如以中文或英文描述此疾病 - severity: 問題狀況的嚴重程度,建議使用 severe、moderate、mild 三種編碼(註) - subject: reference to patient - encounter: reference to encounter(指定是哪次就醫判定的結果) - onsetDateTime: 問題狀況產生的時間 ## 病人陳述之問題範例: 頭暈 ```json= { "resourceType": "Condition", "clinicalStatus": { "coding": [ {"system": "http://terminology.hl7.org/CodeSystem/condition-clinical", "code": "active", "display": "Active" } ], "text": "Active" }, "category": [ {"coding": [ { "system": "http://terminology.hl7.org/CodeSystem/condition-category", "code": "problem-list-item", "display": "Patient problem" } ], "text": "病人問題" } ], "code": { "coding": [ { { "system": "http://MISAC/codeSystem/patientProblem", "code": "dizziness", "display": "暈眩" }, } ], "text": "头晕" }, "subject": { "reference": "Patient/ra-patient01" }, "severity" : "moderate", "encounter": { "reference": "Encounter/pre-sugery-Encounter-ID" }, "onsetDateTime": "2022-02-22T13:30:00" } ``` 如上範例,病人或醫護人員陳述的問題也可用 FHIR condition 紀錄,其主要欄位說明如下: - resourceType: condition 可記錄頭暈、肚痛、不想上學、擔心錢不夠等病人主觀陳述問題 - clinicalStatus: 表示此狀況目前的狀態,可為 active | recurrence | relapse | inactive | remission | resolved 等狀態 - category: condition 的分類,病人或醫護人員陳述的問題使用 problem-list-item 代碼 - code: 明訂是哪種 condition。condition.coding[] 表示可選用多種編碼系統。(註)病人陳述的問題目前無國際標準編碼。或需訂立,如上範例,以英文為代碼,display 及 text 可用他國語言描述 - subject: reference to patient - severity: 問題狀況的嚴重程度,建議使用 severe、moderate、mild 三種編碼(註) - onsetDateTime: 問題狀況產生的時間 註: 台灣並無與 SNOMED 簽約,因此不建議採用 SNOMED 編碼。另外,即使是最精細的 SNOMED 編碼,也難以精確描述許多臨床診治資訊。例如,[影像發現部位](https://hackmd.io/LIW2QsVxTauVdEmF5pQ2qQ?view),以英文解剖術語描述,會比SNOMED 編碼精確,且易於了解應用