我一直在 nodejs 中使用 fhir.js 库。我的阅读和搜索工作正常,但创建或更新却一直给我一个错误。有没有其他人使用过这个库?
我像这样实例化我的客户:
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') -- 类型错误,未定义不是函数。
我尝试过的事情:
所以我根据读取方法将其更改为 id = headers && headers('Content-Location') 。这给了我一个“内容类型”未定义但更新需要。所以我在标题中添加了一个 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
});
};