Напишите правильный JSON о PlanDefinition и ActivityDefinition на 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"
  } ]
}

1 ответ

Решение

Обычно в FHIR мы не храним ресурсы друг в друге. Ссылки вместо этого указывают на другие независимо поддерживаемые экземпляры ресурсов. Например, несколько PlanDefinitions могут указывать на одно и то же ActivityDefinition, потому что это одно действие является "шагом" в нескольких наборах протоколов / порядков.

Если у вас есть ситуация, когда определение действия привязано к одному PlanDefinition и не может существовать независимо от этого PlanDefinition (например, если PlanDefinition был удален, ActivityDefinition тоже будет работать; никакое другое PlanDefinition не может указывать на Activity, любое обновление для действие будет считаться обновлением плана и т. д.), вы можете отправить ActivityDefinition как "содержащийся" ресурс. Ваш экземпляр будет выглядеть так:

{
  "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"
  } ]
}
Другие вопросы по тегам