FHIR:用扩展扩展基本资源

  • 本文关键字:扩展 资源 FHIR hl7-fhir
  • 更新时间 :
  • 英文 :


我是一个绝对的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"的新必需属性,它由一对多元素组成,其中再次包含属性key和value,用于body模型属性的键和值?

希望这是有意义的-否则请随时让我知道,我会尝试重新表达我的问题。

提前感谢!

首先,对于一个新手来说,你做得很好:)(你也很好地提出了这个问题!)

您的第一个扩展片有几个问题:

  • sliceName应该是"title"而不是"definition"- id中的"额外"位实际上是slicename
  • "类型"需要是扩展。(所有扩展的类型都是Extension。)但是,您还应该在Extension上指定一个特定的配置文件,该配置文件指示用于定义'title'扩展的StructureDefinition的规范URL。该扩展将具有Basic上下文,并将约束扩展。value[x]为字符串类型,并将为extension.url建立一个固定的URL。

第二个切片将是类似的。但是,它指向的扩展名上的配置文件不会约束extension.value。相反,它将切片扩展。扩展有两个片,一个具有固定的url "name"另一个是固定url & value"这里有一个2元复扩展的例子。您的切片名称和数据类型会有所不同,上下文也会有所不同,但这应该是一个很好的模型。

如果您还有问题,请在问题后面加上修改后的版本,我们会看看是否能进一步提供帮助。

最新更新