Напишите правильно JSON о PlanDefinition и ActivityDefinition на FHIR - PullRequest
0 голосов
/ 16 апреля 2020

Я хочу написать 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 Ответ

1 голос
/ 16 апреля 2020

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

Если у вас есть ситуация, когда определение действия привязано к одному PlanDefinition и может не существует независимо от этого PlanDefinition (например, если PlanDefinition был удален, ActivityDefinition тоже будет go; никакое другое PlanDefinition не может указывать на действие, любое обновление действия будет считаться обновлением плана, например, c .), вы можете отправить 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"
  } ]
}
...