Javascript Fhir на NodeJS

Я использовал библиотеку fhir.js в nodejs. У меня работает чтение и поиск, но нет создания или обновления, которое постоянно выдает мне ошибку. Кто-нибудь еще использовал эту библиотеку?

Я создаю экземпляр моего клиента следующим образом:

var client = new mkFhir({
    baseUrl: 'http://fhirtest.uhn.ca/baseDstu1'
    });

Разработайте запись для пациента следующим образом:

var entry =
{
    category: [{term: 'TAG term', schema: 'TAG schema', label: 'TAG label'}],
    content: 
    {
            resourceType: "Patient",
            name: 
            [
            {
                family: ["Bob"],
                given: ["Smith"]
            }
            ],
            birthDate: '1990-06-20' 
    }
};

Вызовите create из библиотеки следующим образом:

var test = client.create(entry, function(err, entry)
{
    console.log(entry.id);
    console.log(err);
});

В библиотеке ошибка, которую я получаю, находится в resource.js с указанием id = headers('Content-Location') - ошибка типа, undefined не является функцией.

Вещи, которые я пробовал:

Поэтому я изменил его на id = headers && headers('Content-Location') в соответствии с методом чтения. Это дало мне "Content-Type" не определен, но требуется для ОБНОВЛЕНИЯ. Поэтому я добавил Content-Type в заголовки. Это дало мне не может разобрать ошибку JSON. Поэтому я переписал метод и теперь извлекаю объект пациента, который обновляется в моей консоли, но не на сервере.

Вот метод создания:

exports.create = function(baseUrl, http, entry, cb, err) {
    var headers, resource, tagHeader, tags, type;
    tags = entry.category || [];
    resource = entry.content;
    assert(resource, 'entry.content with resource body should be present');
    type = 'Patient';
    assert(type, 'entry.content.resourceType with resourceType should be present');
    headers = {};
      headers['Content-Type'] = "application/json";
    tagHeader = tagsToHeader(tags);
    if (tagHeader.length > 0) {
      headers["Category"] = tagHeader;
    }
    return http({
      method: 'POST',
      url: "" + baseUrl + "/" + type,
      data: toJson(resource),
      headers: headers,
      success: function(data, status, headers, config) {
        var id;
        id = headers('Content-Location');
        tags = headerToTags(headers('Category')) || tags;
        return cb({
          id: id,
          category: tags || [],
          content: data || resource
        }, config);
      },
      error: err
    });
  };

1 ответ

У вас есть разрешения на запись в каталог? Если вы можете читать и выполнять поиск, но не можете создавать или обновлять, вы не сможете писать в каталог.

Другие вопросы по тегам