我有基于觀察資源的自定義結構定義。使用HAPI進行驗證。有什么方法可以驗證值的組合嗎?
例子:
"code": {
"coding": [
{
"系統": "http://loinc.org",
"code": "76536-2",
"顯示": "平均動脈壓,袖帶"。
}
]
},
當使用這個時,來自valueQuantity的測量單位應該只有相應的值,而不是來自unitofmeasure的代碼值集的任何東西。
"valueQuantity": {
"value": 90,
"單位": "mm Hg"。
"系統"。"http://unitsofmeasure.org"。
"code": "mm[Hg]"
換句話說,對于Mean Arial Pressure的LOINC代碼,valueQuantity.code不應該允許kg,例如。
uj5u.com熱心網友回復:
我不是FHIRPath/臨床資料專家,但我認為這對你來說應該是可行的
{}。
"資源型別": "StructureDefinition",
"url": "https://test.com/test",
"type": "observation",
"status": "draft",
"baseDefinition": "http://hl7.org/fhir/StructureDefinition/Observation",
"快照": {
"元素": [/span>
{>
"path": "observation",
"id": "observation",
"min": 0,
"max": "*",
"base": {
"min": 0,
"max": "*"/span>
},
"constraint" : [{>
"嚴重性" : "錯誤",
"expression": "code.coding.where(system='http://loinc.org' and code='76536-2').existence() implies (value as Quantity).where(code='mm[Hg] ' and system='http://unitsofmeasure.org').existence()"
}]
}
]
}
}
條件的第一部分決定了你在哪里有一個具有相應代碼的觀察值。如果是這樣,它將要求你的值具有正確的單位。
編輯:為了增加一些關于這里發生的事情的資訊。
我們使用FHIRPath約束來表達這個更復雜的驗證規則。
.where(...)(docs)條件如果符合條件,就會過濾掉一個重復/單個欄位,在這種情況下,就是你所關心的LOINC代碼中匹配的代碼/系統組合。
.existence()(docs)如果集合非空,則回傳 true。
implies
implies (docs)只有當左邊的條件為真時才評估右邊的條件。
最后,(...as Quantity)運算子(docs)被用來將value[x]欄位轉換為特定型別,因此可以對其進行更多操作。
轉載請註明出處,本文鏈接:https://www.uj5u.com/net/311791.html
標籤:
上一篇:Java驗證欄位的條件是類的水平
下一篇:檢查串列是否是有效的塊狀物序列
