@asymmetrik/fhir-response-util

中文文档
1.2.4发布于 2020/09/29MITCommonJS零依赖近 30 天下载 2493

用于处理响应头、内容和状态类型的工具.

中文使用文档
文档目录15 节
  1. 安装
  2. 使用量
  3. 读取
  4. 读取一个
  5. 创建
  6. 更新
  7. 删除
  8. 历史
  9. 参数
  10. 读取
  11. 读取一个
  12. 创建
  13. 更新
  14. 删除
  15. 历史

FHIR 反应工具

处理回复信头、内容和状态类型的工具

安装

yarn add @asymmetrik/fhir-response-util

使用量

反应效用暴露出下列方法,可用于不同的情景和不同类型的反应。 它们都对所收到的论点作出某些假设,这些论点载于下文 参数 节.

这是设计用于 节点-fhir-服务器核心 和类似的FHIR服务器. 每种方法的描述都有一些伪码,可以给出这个方法可能如何操作的概念. 如果您在节点-fhir-server-core读取了资源控制器的源代码,您可以看到我们内部是如何使用这个的.

读取

返回资源库时使用

这将在发送json返回客户端的同时设置正确的Content-Type和状态代码.

const handler = require('@asymmetrik/fhir-response-util');

// Some controller
function getPatientsController(req, res, next) {
  // The user may have some service to fetch results
  service
    .getPatients(req)
    .then((bundle) => {
      // Assuming bundle contains a bunch of patients
      handler.read(req, res, bundle);
    })
    .catch((err) => {
      next(err);
    });
}

读取一个

用于返回任何类型的单一资源.

这将在发送json返回客户端的同时设置正确的Content-Type和状态代码.

const handler = require('@asymmetrik/fhir-response-util');

// Some controller
function getPatientController(req, res, next) {
  // The user may have some service to fetch results
  service
    .getPatient(req)
    .then((patient) => {
      handler.readOne(req, res, patient);
    })
    .catch((err) => {
      next(err);
    });
}

创建

用于创建任何类型的单一资源 .

这将设置正确的内容-定位、位置和ETag标题 。 以及设定正确的状态代码.

const handler = require('@asymmetrik/fhir-response-util');

// Some controller
function createPatientController(req, res, next) {
  // The user may have some service to fetch results
  service
    .create(req)
    .then((patient) => {
      let json = { id: patient.id, resource_version: patient.meta.versionId };
      let options = { type: 'Patient' };

      handler.create(req, res, json, options);
    })
    .catch((err) => {
      next(err);
    });
}

更新

用于更新任何类型的单一资源

这将设置正确的内容定位、 最后修改、 位置和 ETag 标题 。 以及设置正确的内容-类型和状态代码.

const handler = require('@asymmetrik/fhir-response-util');

// Some controller
function updatePatientController(req, res, next) {
  // The user may have some service to fetch results
  service
    .update(req)
    .then((patient) => {
      let json = { id: patient.id, resource_version: patient.meta.versionId, created: false };
      let options = { type: 'Patient' };

      handler.update(req, res, json, options);
    })
    .catch((err) => {
      next(err);
    });
}

删除

删除任何类型的单一资源时使用

这将设置正确的ETag头和状态代码 .

const handler = require('@asymmetrik/fhir-response-util');

// Some controller
function removePatientController(req, res, next) {
  // The user may have some service to fetch results
  service
    .remove(req)
    .then((id) => {
      let json = { deleted: id };

      handler.remove(req, res, json);
    })
    .catch((err) => {
      next(err);
    });
}

历史

查询任何类型资源的历史时使用

这将在发送json返回客户端的同时设置正确的Content-Type和状态代码.

const handler = require('@asymmetrik/fhir-response-util');

// Some controller
function getPatientHistoryController(req, res, next) {
  // The user may have some service to fetch results
  service
    .history(req)
    .then((bundle) => {
      handler.history(req, res, bundle);
    })
    .catch((err) => {
      next(err);
    });
}

参数

req 财务报告和审定财务报表 res 在每种方法中,你所看见的都是快活的. res 只是一个普通的响应,但请求必须有一个 base version 参数(req.params.base_version) 具体而言,它应该是我们服务器中支持的有效版本之一,即"1 0 2","3 0 1"和"4 0 0". 如果您希望我们为此添加更多的版本,只要让我们知道,我们用这个来确定正确的内容类型以及响应类型和响应头的资源的url.

读取

a. 操作员. read(req, res, json);

req

特快请求.

类型 : Express.req
要求 : true

res

快速响应.

类型 : Express.req
要求 : true

json

Bundle FHIR 资源.

类型 : Object
要求 : true

读取一个

操作员. read One(req, res, json);

req

特快请求.

类型 : Express.req
要求 : true

res

快速响应.

类型 : Express.req
要求 : true

json

个人FHIR资源.

类型 : Object
要求 : true

创建

处理器.create(req, res, json, 选项);

req

特快请求.

类型 : Express.req
要求 : true

res

快速响应.

类型 : Express.req
要求 : true

json

属性从果. 一定有个 id

类型 : Object
要求 : true

json.id

创建的 FHIR 资源的ID .

类型 : String
要求 : true

json.resource_version

如果我们使用历史,我们创造了哪个版本的资源.

类型 : String
要求 : false

options

在响应中设置正确的标题需要额外的选项.

类型 : Object
要求 : true

options.type

这有助于我们设定内容位置和位置标题。 譬如说, handler.create(req, res, json, { type: 'Patient' }) 允许我们设置这样的标题, res.set('Location', '4_0_0/Patient/patient-identifier')。 。 。 .

类型 : “ string ”
要求 : “ true ”

更新

处理器.update(req, res, json, 选项);

req

特快请求.

类型 : Express.req
要求 : true

res

快速响应.

类型 : Express.req
要求 : true

json

属性从果. 一定有个 id

类型 : Object
要求 : true

json.id

创建的 FHIR 资源的ID .

类型 : String
要求 : true

json.resource_version

如果我们使用历史,我们创造了哪个版本的资源.

类型 : String
要求 : false

json.created

我们是否创造了资源。 如果我们创造了资源,我们需要知道,这样我们就可以设定 res.status 201,否则,我们将违约为200.

类型 : Boolean
要求 : false

options

在响应中设置正确的标题需要额外的选项.

类型 : Object
要求 : true

options.type

这有助于我们设定内容位置和位置标题。 譬如说, handler.create(req, res, json, { type: 'Patient' }) 允许我们设置这样的标题, res.set('Location', '4_0_0/Patient/patient-identifier')。 。 。 .

类型 : “ string ”
要求 : “ true ”

删除

a. 操作员.remove(req, res, json);

req

特快请求.

类型 : Express.req
要求 : true

res

快速响应.

类型 : Express.req
要求 : true

json

JSON回应. 不要求但包含可选被删除的属性 .

类型 : Object
要求 : false

json.deleted

被删除的属性应为被删除元素的ID. 譬如说, handler.remove(req, res, { deleted: 'qwerty-123' })。这允许我们在响应标题中添加标识符作为ETag.

类型 : Object
要求 : false

历史

历史管理者(req, res, json);

req

特快请求.

类型 : Express.req
要求 : true

res

快速响应.

类型 : Express.req
要求 : true

json

Bundle FHIR 资源.

类型 : Object
要求 : true

版本与发布记录

@asymmetrik/fhir-response-util 共发布 5 个版本,首次发布于 2019/02/13;过去 12 个月发布了 0 个版本。

版本发布日期距今
1.2.4latest2020/09/296 年前
1.2.32020/09/236 年前
1.2.22020/09/146 年前
1.2.02020/09/026 年前
1.0.02019/02/137 年前

关于 @asymmetrik/fhir-response-util 的常见问题

@asymmetrik/fhir-response-util 是什么?

用于处理响应头、内容和状态类型的工具.

如何安装 @asymmetrik/fhir-response-util?

在项目目录运行 npm install @asymmetrik/fhir-response-util,或使用 pnpm add / yarn add / bun add。

@asymmetrik/fhir-response-util 支持 TypeScript 吗?

该包的 package.json 没有声明类型入口。需要类型提示时,可以在 npm 上查找社区维护的 @types/asymmetrik__fhir-response-util 是否存在。

@asymmetrik/fhir-response-util 支持 ESM 还是 CommonJS?

以 CommonJS 形式发布,可以直接 require();在 ES Module 项目中也可以用 import 引入(Node.js 会把 module.exports 作为默认导出)。

@asymmetrik/fhir-response-util 可以商用吗?

@asymmetrik/fhir-response-util 使用 MIT 许可。宽松许可:允许商业使用、修改和再分发,通常只需在分发时保留原版权与许可声明。以上为概括,不构成法律意见,请以许可原文为准。

@asymmetrik/fhir-response-util 的下载量有多少?

根据 npm 官方下载统计,@asymmetrik/fhir-response-util 在 2026/10/07 – 2026/11/05 这 30 天内被下载 2,493 次,日均约 83 次。下载量会把 CI 构建、镜像同步和作为其他包依赖的安装一并计入,适合横向比较热度,不能直接等同于使用人数。

@asymmetrik/fhir-response-util 还在维护吗?

最新版本 1.2.4 发布于 2020/09/29(6 年前);至今共发布 5 个版本,其中过去 12 个月发布了 0 个;首次发布于 2019/02/13。发布频率只是参考信号:功能稳定的工具可能很少需要更新,建议结合源码仓库的 issue 和提交记录判断。