iT邦幫忙

2024 iThome 鐵人賽

DAY 3
0
Software Development

數位醫療與雲原生第一次的親密接觸系列 第 3

Day 3 [數位醫療] FHIR格式資料規範

  • 分享至 

  • xImage
  •  

前面介紹了FHIR和HAPI Server,不過在正式實作前再來了解一下FHIR的數據格式吧!

FHIR格式的資料主要以JSON(fhir-json)和XML格式傳遞及存儲。

FHIR資料是以Resource形式來存儲的,將所有的資料以單元的形式儲存,需要取用時再互相關聯他們,一個Resource就是一個單元資料,可以依Patient ID或Organization ID當作Key值,來關連到其他的資料。

舉例來說,病患的測量數值(Observation)在建立時就會有個Patient ID的數值,在進行搜尋時可以用Patient ID這個Key值來搜出所有含有這個Patient ID的測量數值(Observation)。

具體各Resource的規範在FHIR的官方網站上(https://hl7.org/fhir/),台灣在先前的疫情時,衛福部也有出過相應的IG(Implement Guide),與官方網站的非常相似,可以優先參考衛福部的IG(https://twcore.mohw.gov.tw/ig/twcore/)。

目前FHIR推出的版本有: R5、R4B、R4、R3、R2。R5最新,R2最舊,目前最流通使用的版本是R4,接下來的文章也會以R4版本為主。

以下是FHIR JSON格式的測量數據(Observation),以血糖為例。

{
  "resourceType": "Observation",
  "id": "f001",
  "text": {
    "status": "generated",
    "div": "<div xmlns=\"http://www.w3.org/1999/xhtml\"><p><b>Generated Narrative with Details</b></p><p><b>id</b>: f001</p><p><b>identifier</b>: 6323 (OFFICIAL)</p><p><b>status</b>: final</p><p><b>code</b>: Glucose [Moles/volume] in Blood <span>(Details : {LOINC code '15074-8' = 'Glucose [Moles/volume] in Blood', given as 'Glucose [Moles/volume] in Blood'})</span></p><p><b>subject</b>: <a>P. van de Heuvel</a></p><p><b>effective</b>: 02/04/2013 9:30:10 AM --&gt; (ongoing)</p><p><b>issued</b>: 03/04/2013 3:30:10 PM</p><p><b>performer</b>: <a>A. Langeveld</a></p><p><b>value</b>: 6.3 mmol/l<span> (Details: UCUM code mmol/L = 'mmol/L')</span></p><p><b>interpretation</b>: High <span>(Details : {http://terminology.hl7.org/CodeSystem/v3-ObservationInterpretation code 'H' = 'High', given as 'High'})</span></p><h3>ReferenceRanges</h3><table><tr><td>-</td><td><b>Low</b></td><td><b>High</b></td></tr><tr><td>*</td><td>3.1 mmol/l<span> (Details: UCUM code mmol/L = 'mmol/L')</span></td><td>6.2 mmol/l<span> (Details: UCUM code mmol/L = 'mmol/L')</span></td></tr></table></div>"
  },
  "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",
    "display": "P. van de Heuvel"
  },
  "effectivePeriod": {
    "start": "2013-04-02T09:30:10+01:00"
  },
  "issued": "2013-04-03T15:30:10+01:00",
  "performer": [
    {
      "reference": "Practitioner/f005",
      "display": "A. Langeveld"
    }
  ],
  "valueQuantity": {
    "value": 6.3,
    "unit": "mmol/l",
    "system": "http://unitsofmeasure.org",
    "code": "mmol/L"
  },
  "interpretation": [
    {
      "coding": [
        {
          "system": "http://terminology.hl7.org/CodeSystem/v3-ObservationInterpretation",
          "code": "H",
          "display": "High"
        }
      ]
    }
  ],
  "referenceRange": [
    {
      "low": {
        "value": 3.1,
        "unit": "mmol/l",
        "system": "http://unitsofmeasure.org",
        "code": "mmol/L"
      },
      "high": {
        "value": 6.2,
        "unit": "mmol/l",
        "system": "http://unitsofmeasure.org",
        "code": "mmol/L"
      }
    }
  ]
}


ResourceType是指這筆資料的格式,如先前所說,FHIR資料是以Resource為單元進行儲存,所以每個Resource會有各自的類別,血糖因為是單純的測量數據,所以歸類在Obeservation這個類別。

subject裡的reference為Patient/f001,代表這筆數據是來自ID為f001的病患。

performer裡的reference則為Practitioner/f005,代表這筆數據是由ID為f005的Practitioner所測量的。

valueQuantity則是這筆資料的數據,包含數值及單位。

明天會開始介紹HAPI Server的實作了!!! 敬請期待!


上一篇
Day 2 [數位醫療] 開源FHIR Server第一選擇--HAPI Server
下一篇
Day 4 [數位醫療] HAPI Server初體驗!
系列文
數位醫療與雲原生第一次的親密接觸30
圖片
  直播研討會
圖片
{{ item.channelVendor }} {{ item.webinarstarted }} |
{{ formatDate(item.duration) }}
直播中

尚未有邦友留言

立即登入留言