III.FHIR 周邊內容
再來要談到相對核心的內容,反覆地提到值集、代碼系統等,那他到底是什麼。
如果想要往下更深入,可以看一下HL7對Terminology的文件
http://hl7.org/fhir/terminologies.html
從CodeSystem開始談起,基本上從HL7 v2開始就一路繼承這個概念到FHIR,
他要表達的是在一個特定概念中的屬性,
在臨床上,不同醫事人員對於同一個症狀、病症或臨床觀察會有出入,
這使得要如何精準的描述一個事件變成大問題,
在醫資領域上,如果各家醫療院所都使用自己定義的代碼來描述一個醫療事件時,
在傳送電子病歷或單張時,收到的一方也沒辦法處理自定義的代碼,要再額外花精力去處理這些代碼的對應關係
就跟FHIR想要解決的問題一致,在描述事件上也必須要有一個統一的底層標準,
於是醫學端也產生了多個用於臨床描述的代碼集,通用於全球範圍,
以下簡介國際通用的幾個標準:這些標準的詳細定義我很難解釋的清楚,
若想深入了解請向醫學專業人員詢問或查詢
1.LOINC (Logical Observation Identifiers Names and Codes),觀測指標標識符邏輯命名與編碼系統,
主要處理的是臨床觀察與檢驗的指標,這個編碼由六項屬性構成:
Component - 檢驗項目
Property - 檢驗單位
Time - 檢驗時間
System - 檢體種類
Scale - 檢驗分類
Method - 檢驗方法
source: www.nrces.in
這六個屬性可以組成一種唯一的檢驗事件,但如果組成的結果沒有實質的臨床意義的話,不編代碼
實際上在臨床使用上之所以困難的原因是原先醫事機構就沒有採用這樣的編碼機制,
並且在對代碼的認知上也多少會有出入,導致同個概念的對應困難
另外的問題是,LOINC本身是偏向於檢驗的代碼標準,因此就算是醫療專業人員也不一定能完全正確對應,
造成使用上的困難,實務上的作法是去尋找專業醫事人員諮詢每一項要填答的LOINC內容是不是正確的,
筆者的個人經驗是按照報告按圖索驥的去搜尋
結果最後在review的時候發現LOINC使用幾乎全錯的場面,因為檢驗方法或是檢體種類的差異,
就有可能導致完全不同的LOINC代碼結果,
舉例來說,Leukocyte(白血球)的測定,
光是因為不同的測定方法(如全血套組、尿液測定、人工計數等)都會導致不同的LOINC代碼,
6690-2 Leukocytes [#/volume] in Blood by Automated count
6743-9 Leukocytes [#/volume] in Body fluid by Manual count
26464-8 Leukocytes [#/volume] in Blood
53316-6 Leukocytes [Presence] in Urine by Automated
20455-2 Leukocytes [Presence] in Urine sediment by Light microscopy
這也是前面提到為什麼對於資訊專業人員來說,FHIR會讓人很難學習的原因了,
而且在各個Resource之中,這些代碼所佔的重要性又非常高,如果一個代碼填錯可能會導致臨床判讀出問題。
2.SNOMED (Systematized Nomenclature of Medicine -- Clinical Terms) ,
醫學術語系統命名法-臨床術語,相比於LOINC是透過屬性構成代碼,
SNOMED採用的是UUID的組配邏輯,每一個概念代碼都是唯一的,
由不同的概念代碼組合成一個新的層級概念代碼,
下面是維基的範例:
284196006|Burn of skin|:
{246112005|Severity|=24484000|severe,
363698007|Finding Site|=
113185004|Structure of skin between fourth and fifth toes|:272741003|Laterality|=7771000|left|}
不過還是跟LOINC有類似的使用問題,在不理解醫學專業的情況下,
資訊人員很難準確的使用代碼來描述事件,或是嵌入FHIR格式,
要注意的一點是SNOMED正常是需要付費或是本身為會員國才能使用。
3.ICD (International Statistical Classification of Diseases and Related Health Problems),
國際疾病分類
ICD台灣現在主要使用的是ICD-10-2023,下分為ICD-10-CM與ICD-10-PCS,
分別掌管手術與疾病分類,由世界衛生組織制定,
現行版本已經到ICD-11了,但在台灣FHIR的使用仍然以ICD-10為主,
ICD按照疾病的種類與規則去編排,使用者可以按照編排規則如同圖書館尋書一樣找尋自己需要使用的疾病代碼。
要注意的一點是官方的IG都是使用台灣自己的ICD值集,若使用國際的來源可能會被Profile限制。
4.UCUM (Unified Code for Units of Measure),計量單位統一代碼,
這個標準就不限於醫學領域了,UCUM主要定義計量單位的代碼,
但由於藥品計量、使用單位等會與UCUM綁定,在此提及。
5.RxNorm是美國UMLS的一個分支代碼系統,主要在規範藥品的統一代碼,
但如果是用在官方的IG上,會比較少使用到,在此不多贅述。
前面提到這麼多的代碼系統跟他的使用用途,
如果今天我的Resource內所使用的代碼系統範圍可能不足以表達該Resource可提供的臨床判斷,怎麼辦?
於是乎在IG的部分欄位定義中,System的Binding欄位有時候給的並不是單一個CodeSystem,
反而是一個ValueSet。
ValueSet是多個CodeSystem的集合,如果一個IG的Profile中System的Binding欄位是一個ValueSet,
這代表了在這個ValueSet內的CodeSystem與Code都是可以填入的代碼,但實務上,System欄位仍然只接受CodeSystem的填入,
因此在填寫上,System的欄位還是要去人為選用ValueSet中有標註的CodeSystem,這點要特別注意。
另外,在FHIR的欄位中,包有CodeSystem與Code的欄位通常會以CodeableConcept呈現
https://www.hl7.org/fhir/R4/datatypes.html#CodeableConcept
這個資料型態是一個複合型態,下包含了coding與text,其中coding又包含了system, code, display等值,
所以在閱讀IG Profile的時候,看到CodeableConcept的時候要先去看一下他的binding是哪個CodeSystem或ValueSet,再來尋找我應該填入的Code/System
除了特別的規範欄位外,最常使用到的代碼系統就是LOINC, SNOMED兩個,次多的是ICD的描述,
總結來說,標準代碼是構成統一標準非常重要的一環,但對於資訊人員來說,
必須要有醫學專業背景的顧問可以諮詢,
否則在填答代碼上真的會錯得一蹋糊塗,因為代碼很大程度的決定了臨床診斷或觀察的Resource內涵,
會影響臨床的判斷。
明天談DICOM影像,DICOM也是FHIR中不可缺少的一部分,畢竟格式標準化了,代碼也標準化了,
醫學影像也需要標準化。