# 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 選用多種資料型態,如數值、陰性陽性、比例等

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. 改成其他種類檢測,如改成呼吸

基於FHIR 公告之 vital sign 規範,可包含上述七個欄位。對應到某種生理監測(如體溫),紅色欄位資訊不會改變,程式可更動黃色標註(sugject, effectiveDateTime, valueQuantity) 三個欄位的數值,可產生 vital sign instance (實例) 上傳 FHIR server
observation 用途廣泛,尚有非常多檢測產生的資訊需進一步規範。可從現行規範擴充,例如修改 code 代碼及 valueQuantity 量測單位,及形成其他生理監測規範模板。如下:


## 血糖 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 編碼精確,且易於了解應用