在 FHIR 上写出关于 PlanDefinition 和 ActivityDefinition 的正确 JSON
Write correct JSON about PlanDefinition and ActivityDefinition on FHIR
我想写一个 JSON 来创建一个 PlanDefinition
资源,里面有一些 ActivityDefinition
资源,以便在 FHIR r4 服务器上持久保存这些资源。
我的沙盒服务器是 Hapi FHIR
两个问题:
第一个:怎么写呢
第二种:当我编写正确的JSON时,结果将是创建一个PlanDefinition
资源和一些ActivityDefinition
资源,或者只会创建一个PlanDefinition
包含这些信息的资源?
这是我 JSON 创建一个简单的 PlanDefinition
,但我不知道如何在其中添加 ActivityDefinition
{
"resourceType": "PlanDefinition",
"id": "999999",
"meta": {
"versionId": "1",
"lastUpdated": "2020-04-16T11:10:45.868+00:00",
"source": "#YS2h8QIqvGKHDy4x"
},
"url": "www.myserver.it",
"identifier": [ {
"system": "www.myserver.it",
"value": "jtr-pd1"
} ],
"version": "versione 1",
"status": "active",
"action": [ {
"title": "A",
"definitionCanonical": "#Process_Alex1"
}, {
"title": "B",
"definitionCanonical": "#Process_Alex2"
}, {
"title": "C",
"definitionCanonical": "ActivityDefinition"
} ]
}
通常在 FHIR 中我们不包含彼此内部的资源。相反,引用指向其他独立维护的资源实例。例如,多个 PlanDefinition 可能指向同一个 ActivityDefinition,因为那个 activity 是多个 protocols/order 集合中的 'step'。
如果您遇到 activity 定义绑定到单个 PlanDefinition 并且不能独立于该 PlanDefinition 存在的情况(例如,如果 PlanDefinition 被删除,ActivityDefinition 将消失也是;没有其他 PlanDefinition 可以指向 Activity,对 activity 的任何更新都将被视为对计划的更新,等等),您可以将 ActivityDefinition 作为 'contained'资源。您的实例将如下所示:
{
"resourceType": "PlanDefinition",
"id": "999999",
"meta": {
"versionId": "1",
"lastUpdated": "2020-04-16T11:10:45.868+00:00",
"source": "#YS2h8QIqvGKHDy4x"
},
"contained": [ {
"resourceType": "ActivityDefinition",
"id": "Process_Alex1",
...
},
{
"resourceType": "ActivityDefinition",
"id": "Process_Alex2",
...
} ],
{
"url": "www.myserver.it",
"identifier": [ {
"system": "www.myserver.it",
"value": "jtr-pd1"
} ],
"version": "versione 1",
"status": "active",
"action": [ {
"title": "A",
"definitionCanonical": "#Process_Alex1"
}, {
"title": "B",
"definitionCanonical": "#Process_Alex2"
}, {
"title": "C",
"definitionCanonical": "http://somewhere.org/ActivityDefinition/foo"
} ]
}
我想写一个 JSON 来创建一个 PlanDefinition
资源,里面有一些 ActivityDefinition
资源,以便在 FHIR r4 服务器上持久保存这些资源。
我的沙盒服务器是 Hapi FHIR
两个问题:
第一个:怎么写呢
第二种:当我编写正确的JSON时,结果将是创建一个PlanDefinition
资源和一些ActivityDefinition
资源,或者只会创建一个PlanDefinition
包含这些信息的资源?
这是我 JSON 创建一个简单的 PlanDefinition
,但我不知道如何在其中添加 ActivityDefinition
{
"resourceType": "PlanDefinition",
"id": "999999",
"meta": {
"versionId": "1",
"lastUpdated": "2020-04-16T11:10:45.868+00:00",
"source": "#YS2h8QIqvGKHDy4x"
},
"url": "www.myserver.it",
"identifier": [ {
"system": "www.myserver.it",
"value": "jtr-pd1"
} ],
"version": "versione 1",
"status": "active",
"action": [ {
"title": "A",
"definitionCanonical": "#Process_Alex1"
}, {
"title": "B",
"definitionCanonical": "#Process_Alex2"
}, {
"title": "C",
"definitionCanonical": "ActivityDefinition"
} ]
}
通常在 FHIR 中我们不包含彼此内部的资源。相反,引用指向其他独立维护的资源实例。例如,多个 PlanDefinition 可能指向同一个 ActivityDefinition,因为那个 activity 是多个 protocols/order 集合中的 'step'。
如果您遇到 activity 定义绑定到单个 PlanDefinition 并且不能独立于该 PlanDefinition 存在的情况(例如,如果 PlanDefinition 被删除,ActivityDefinition 将消失也是;没有其他 PlanDefinition 可以指向 Activity,对 activity 的任何更新都将被视为对计划的更新,等等),您可以将 ActivityDefinition 作为 'contained'资源。您的实例将如下所示:
{
"resourceType": "PlanDefinition",
"id": "999999",
"meta": {
"versionId": "1",
"lastUpdated": "2020-04-16T11:10:45.868+00:00",
"source": "#YS2h8QIqvGKHDy4x"
},
"contained": [ {
"resourceType": "ActivityDefinition",
"id": "Process_Alex1",
...
},
{
"resourceType": "ActivityDefinition",
"id": "Process_Alex2",
...
} ],
{
"url": "www.myserver.it",
"identifier": [ {
"system": "www.myserver.it",
"value": "jtr-pd1"
} ],
"version": "versione 1",
"status": "active",
"action": [ {
"title": "A",
"definitionCanonical": "#Process_Alex1"
}, {
"title": "B",
"definitionCanonical": "#Process_Alex2"
}, {
"title": "C",
"definitionCanonical": "http://somewhere.org/ActivityDefinition/foo"
} ]
}