Публикация пакета ресурсов с использованием HAPI FHIR - PullRequest
0 голосов
/ 13 июля 2020

Мне нужна помощь в том, как отправить пакет, содержащий несколько ресурсов, на сервер HAPI. Я запускаю [тестовый сервер] [1], и я пробовал использовать как сервер Jetty, так и запускать его как контейнер docker. Я могу успешно запустить сервер go в пользовательском интерфейсе и напрямую опубликовать пациента. И я также могу отправить пациента прямо из Почтальона:

POST /hapi-fhir-jpaserver/fhir/Patient HTTP/1.1
Host: localhost:8080
Content-Type: application/fhir+json
{
  "resourceType": "Patient",
  "name": [
    {
      "use": "official",
      "family": "Solo",
      "given": [
        "Han"
      ]
    }
  ]

Все это работает нормально. Однако, когда я пытаюсь опубликовать это:

{
  "resourceType": "Bundle",
  "type": "transaction",
  "entry": [
    {
      "resource": {
        "resourceType": "Patient",
        "name": [
          {
            "use": "official",
            "family": "Stark",
            "given": [
              "Anthony"
            ]
          }
        ]
      },
      "request": {
        "method": "PUT",
        "url": "Patient"
      }
    }
  ]
}

, я получаю сообщение об ошибке «OperationOutcome»: «Невозможно сохранить ресурс Bundle на этом сервере со значением Bundle.type: transaction»

Я получаю эту ошибку как из веб-интерфейса, так и от почтальона. Я могу изменить тип Bundle на что-то вроде «message», и я не получаю ту же ошибку. Однако, когда я ищу, пока весь пакет был опубликован, пациент внутри его не нашел. Кто-нибудь знает, как заставить сервер читать ресурсы внутри Bundle отдельно от самого Bundle?

  [1]: https://github.com/hapifhir/hapi-fhir-jpaserver-starter

1 Ответ

1 голос
/ 14 июля 2020

Чтобы выполнить транзакцию или пакет, отправьте POST на конечную точку сервера 'root', а не на конечную точку пакета - поэтому .../hapi-fhir-jpaserver/fhir, а не .../hapi-fhir-jpaserver/fhir/Bundle

...