2019年9月19日 星期四

HL7 FHIR 核心觀念 - Slicing

累積了一些基礎知識,又講完Terminology之後,應該可以走到Slicing。
光看英文真的不好懂,翻譯成中文叫「切片」,也不好理解。還好圖勝於文,看完下圖應該能理解一點。

圖中的左邊方塊結構化定義的部分。有一個Resource當他的code被定義成某特定用途時,他的其他子元素就必須被限定範圍。就好像是從原始Resource切出來的部分。
例如說血壓為例,用Observation來描述血壓其LOINC Code為55384-4,查表得知要有兩個值,也就是有兩個component。(抱歉,標準的世界,沒有想當然耳的事情,凡事要有依據)

依據Resource Formats,Slicing的符號是,但是,翻遍所有已經Normative的Resource,都無此符號。
而範例所提到的Observation的結構表中沒有看到此符號。
那到底在哪裡呢?
注意看第一張圖的右邊,有個熟悉的字眼--> Profile。是的,要不要Slicing,是profile決定的。
有連到嗎?
剛剛不是說,因為Observation被用在BP時,其實這句話的意思就是Profile。而BP會有兩個Component,這個得用Slicing。
以下就是血壓的Profile結構。

NameFlagsCard.TypeDescription & Constraints
.. Observation0..*FHIR Blood Pressure Profile
... code1..1CodeableConceptBlood Pressure
.... codingCodingSlice: Unordered, Open by value:code, value:system
.... coding1..1Coding
..... system1..1uriFixed Value: http://loinc.org
..... code1..1codeFixed Value: 85354-9
... valueQuantity0..0
... componentBackboneElementSlice: Unordered, Open by value:code.coding.code, value:code.coding.system
... component1..1BackboneElement
.... code1..1CodeableConcept
..... codingCodingSystolic Blood Pressure
Slice: Unordered, Open by value:code, value:system
..... coding1..1CodingSystolic Blood Pressure
...... system1..1uriFixed Value: http://loinc.org
...... code1..1codeFixed Value: 8480-6
.... valueQuantity0..1Quantity
..... valueS1..1decimal
..... unitS1..1string
..... systemS1..1uriFixed Value: http://unitsofmeasure.org
..... codeS1..1codeCoded responses from the common UCUM units for vital signs value set.
Fixed Value: mm[Hg]
... component1..1BackboneElement
.... code1..1CodeableConcept
..... codingCodingDiastolic Blood Pressure
Slice: Unordered, Open by value:code, value:system
..... coding1..1CodingDiastolic Blood Pressure
...... system1..1uriFixed Value: http://loinc.org
...... code1..1codeFixed Value: 8462-4
.... valueQuantity0..1Quantity
..... valueS1..1decimal
..... unitS1..1string
..... systemS1..1uriFixed Value: http://unitsofmeasure.org
..... codeS1..1codeCoded responses from the common UCUM units for vital signs value set.
Fixed Value: mm[Hg]