簡體   English   中英

FHIR:使用擴展擴展基本資源

[英]FHIR: Extending the Basic resource with extensions

我是絕對的 FHIR 新手,我正在嘗試為即將進行的醫療項目創建一組StructureDefinitions和示例。

對於這個項目,我們需要一個非常特殊的資源,目前還沒有任何 FHIR 資源支持它。 這是我們的用例:

我們在患者執行某些鍛煉(例如腿部下蹲)時將傳感器放在他們身上——我們捕獲傳感器測量值,並根據這些測量值為每個患者分配一個預先計算的生物力學身體模型。 這些身體模型是在我們系統的其他地方計算和分配的(這個過程在這里不相關)。 第一步,我想將所有預先計算的身體模型本身作為資源添加到我們的 FHIR 數據集中——這樣我就能夠輸出我們系統中所有現有的身體模型。

這樣的身體模型由唯一標識符、人類可讀的標題和描述身體模型的一組屬性組成。 關鍵部分是屬性 - 每個身體模型的屬性可能會有所不同,我們事先不知道可能的屬性集,因此我需要一個動態格式來表示每個屬性的鍵和值。 如果我要用一個簡單的 json 結構來表示它,我將如下所示:

{
    "id": "0",
    "title": "SAMPLE_BODY_MODEL",
    "attributes": [
        {
            "key": "ATTRIBUTE_1",
            "value": "EXAMPLE_1"
        },
        {
            "key": "ATTRIBUTE_2",
            "value": "EXAMPLE_2"
        }
    ]
}

我現在的目標是創建一個與我在上面描述的自定義資源相對應的StructureDefinition

因此,我查找了“自定義資源”主題,並在 HL7 站點上找到了這篇文章: https ://hl7.org/fhir/basic.html - 解釋了Basic資源應該用於自定義資源。

所以我繼續嘗試創建一個基本資源並擴展它:

{
    "resourceType": "StructureDefinition",
    ...
    "type": "Basic",
    "differential": {
        "element": [
            {
                "id" : "Basic",
                "path": "Basic",
                "definition": "This element describes a general body model captured during an exercise or a movement, e.g. whilst doing leg squats."
            },
            {
                "id" : "Basic.id",
                "path": "Basic.id",
                "definition": "ID of the body model"
            }
            {
                "id": "Basic.extension:title",
                "path": "Basic.extension",
                "sliceName": "definition",
                "definition": "Title of the body model",
                "min": 0,
                "max": "1",
                "type":  [
                    {
                        "code": "string" // I know that's wrong, but I somehow would like to restrict this to a string only
                    }
                ]
            },
            {
                "id": "Basic.extension:attributes",
                "path": "Basic.extension",
                "sliceName": "attributes",
                "definition": "Attributes of the body model",
                // This is where I'm stuck - how do I define this to be a list of objects consisting of attributes key and value?
            }
        ]
    }
}

總結一下:我如何從一個基本資源創建一個新的StructureDefinition允許我指定一個名為“attributes”的新必需屬性,它由一對多元素組成,這些元素再次包含屬性鍵和值身體模型屬性的鍵和值?

希望這是有道理的 - 否則請隨時告訴我,我會嘗試重新表述我的問題。

提前謝謝了!

首先,對於一個新手來說,你做得很好:)(而且在很好地構建問題方面也做得很好!)

您的第一個擴展切片有幾個問題:

  • sliceName 應該是“title”,而不是“definition”——本質上,id 中的“額外”位是 slicename
  • “類型”需要是擴展。 (所有擴展的類型始終是 Extension。)但是,您還應該在 Extension 上指定一個特定的配置文件,該配置文件指示您用於定義“title”擴展的 StructureDefinition 的規范 URL。 該擴展將有一個 Basic 上下文,並將限制 extension.value[x] 為字符串類型,並且還將為 extension.url 建立一個固定的 URL。

你的第二片將是相似的。 但是,指向的擴展配置文件不會限制 extension.value。 相反,它會將 extension.extension 切片為兩個切片,一個具有固定 url“name”,另一個具有固定 url“value”。 這里有一個 2 元素復雜擴展的示例。 您的切片名稱和數據類型會有所不同,上下文也會有所不同,但它應該為您提供一個很好的模型。

如果您仍然有問題,請將您的修訂版本添加到您的問題中,我們將看看是否可以提供進一步的幫助。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM