我想添加一个自定义扩展程序到我的Schedule资源。 在我的应用程序中,附表有访问动机(原因)。我知道有一份分类约会/遇到理由的清单,但我想用我的。
我有这样的事情:
{
"resourceType":"Schedule",
"identifier":"logical_id",
"type":"schedule_speciality",
"actor":{
"practioner_id":"identifier",
"practioner_name":"practioner name"
},
"external_id":{
"extension":[
{
"url":"http://api.test.com/fhir/schedule/external_id",
"valueIdentifier":"external_id"
}
]
},
"visit_motives":{
"extension":[
{
"url":"https://api.test.com/fhir/ValueSet/schedule#visit_motives",
"valueString":"vist_motive1"
},
{
"url":"https://api.test.com/fhir/ValueSet/schedule#visit_motives",
"valueString":"vist_motive2"
},
{
"url":"https://api.test.com/fhir/ValueSet/schedule#visit_motives",
"valueString":"vist_motive3"
}
]
},
"practice_id":{
"extension":[
{
"url":"https://api.test.com/fhir/schedule/practice_id",
"valueIdentifier":"practice_id"
}
]
}
}
我不确定这一部分:
"visit_motives":{
"extension":[
{
"url":"https://api.test.com/fhir/ValueSet/schedule#visit_motives",
"valueString":"vist_motive1"
},
{
"url":"https://api.test.com/fhir/ValueSet/schedule#visit_motives",
"valueString":"vist_motive2"
},
{
"url":"https://api.test.com/fhir/ValueSet/schedule#visit_motives",
"valueString":"vist_motive3"
}
]
}
以这种方式添加扩展名是否正确?对于特定的时间表总是有多个访问动机,所以我必须列出它们。
我也见过这种事:
"visit_motives": {
"coding": [
{
"system": "https://api.test.com/fhir/ValueSet/schedule#visit_motives",
"code": "visit_motive1"
}
]
}
哪一个是正确的还是我错了?
答案 0 :(得分:4)
这里有几个问题:
捕捉"原因"似乎很奇怪在一个时间表上。时间表说明特定临床医生或诊所或其他资源何时可用。例如。 "博士。史密斯从下午1点到4点约会时间周一/周三/周五约会。因此,如果您要捕获资源上的原因,它将反映出#34;为什么史密斯博士有一个时间表?"通常会针对个人约会捕获原因。这是为计划访问预留特定位置的资源。并且预约已经有了一个元素,您可以自由使用自己的代码或只是发送文本。
您有扩展来传达标识符,但Schedule已经有一个标识符元素。为什么要使用扩展而不是标准元素?请注意,您可以使用"系统"和/或"键入"用于区分不同类型标识符的组件。
您正在发送"标识符","输入"," name"等作为简单的字符串 - 但他们'重新复杂的数据类型,因此您需要传达子元素
actor属于Reference类型 - 这意味着您需要指向Practitioner资源。您无法在线发送属性。 (如果从业者仅存在于附表的上下文中,您可以使用"包含"方法,该方法将使用内部引用,但在这个用例中,包含似乎没有意义。
您的扩展程序的网址包含ValueSet,它不是正确的 - 扩展程序都是结构定义。此外,URL中不应该是#符号。
您的扩展语法不正确。您无法在FHIR中引入新属性。所有扩展程序的属性名称仅为"扩展名"。您可以通过URL进行区分。所以你的语法应该是:
{
"resourceType":"Schedule",
"id":"logical_id",
"extension": [
{
"url":"https://api.test.com/fhir/StructureDefinition/schedule-visit_motive",
"valueString":"vist_motive1"
},
{
"url":"https://api.test.com/fhir/StructureDefinition/schedule-visit_motive",
"valueString":"vist_motive2"
},
{
"url":"https://api.test.com/fhir/StructureDefinition/schedule-visit_motives,
"valueString":"vist_motive3"
}
],
"identifier": [
{
"system": http://api.test.com/fhir/NamingSystem/external_id",
"value": "external_id"
}
{
"system": http://api.test.com/fhir/NamingSystem/practice_id",
"value": "practice_id"
}
]
"type": {
"coding": {
"system": "http://somewhere.org/fhir/CodeSystem/specialties",
"code": "schedule_speciality"
},
"text": "Some text description of specialty"
},
"actor":{
"reference": "http://myserver.org/fhir/Practitioner/12345"
"display": "Dr. smith"
}
}