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 ответ
У вас есть разрешения на запись в каталог? Если вы можете читать и выполнять поиск, но не можете создавать или обновлять, вы не сможете писать в каталог.