0

我一直在 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
    });
  };
4

1 回答 1

0

你对目录有写权限吗?如果您可以读取和搜索但不能创建或更新,则可能无法写入目录。

于 2015-07-09T18:40:00.463 回答