npm 包 @asymmetrik/node-fhir-server-core 使用教程

阅读时长 6 分钟读完

介绍

@asymmetrik/node-fhir-server-core 是一个 Node.js 包,提供了一个可扩展的、符合 FHIR 规范的服务器框架,用于创建自己的 FHIR 服务器。 它是基于 Express 和 MongoDB 构建的,并提供了许多扩展接口和插件,以方便开发自己的 FHIR 服务器。

安装

首先,你需要使用 npm 安装该包:

使用

创建服务器

使用如下代码创建服务器:

-- -------------------- ---- -------
----- - ------- --------- - - ---------------------------------------------

----- ------ - -
  ------- -
    ----- ----------
    ----- -----
    ----------- -------------------
    ----------- -----
  --
  -------- -
    ------ --------
  --
  ------ -
    ---- ---------------------------------
  --
--

----- -------- - --- ---------------
----------------
展开代码

插件机制

该服务器框架提供了一个灵活的插件机制,用于扩展服务器并添加自定义功能。 插件是以类的形式提供的,并且需要实现以下方法:

  • beforeInitialize(server, callback):在初始化服务器之前调用。
  • afterInitialize(server, callback):在初始化服务器之后调用。
  • beforeMiddleware(server, callback):在添加中间件之前调用。
  • afterMiddleware(server, callback):在添加中间件之后调用。
  • beforeRoutes(server, callback):在添加路由之前调用。
  • afterRoutes(server, callback):在添加路由之后调用。

以下是如何添加插件的示例代码:

-- -------------------- ---- -------
----- - ---------- - - ---------------------------------------------

----- -------- ------- ---------- -
  ----------------------- -
    --------------------- ----- -------------
  -
-

-- ----
------------------- ------------
展开代码

自定义路由

可以通过继承 FHIRBaseService 类来自定义路由。 以下是一个自定义路由的示例代码:

-- -------------------- ---- -------
----- --------- ------- --------------- -
  -------------------- -
    ---------------
    ------------ - --------
  -
  ---------------- ---- ----- -
    -- ----
  -
-
展开代码

并通过 myServer.addResources 方法添加路由:

实现自定义逻辑

可以使用 FHIRContext 类来管理 FHIR 数据。以下是如何实现自定义逻辑的示例代码:

更多示例

以下代码是完整的使用示例:

-- -------------------- ---- -------
----- - ------- ---------- ---------------- ----------- ----------- - - ---------------------------------------------

----- --------- ------- --------------- -
  -------------------- -
    ---------------
    ------------ - --------
  -
  ---------------- ---- ----- -
    -- ----
  -
-

----- -------- ------- ---------- -
  ----------------------- -
    --------------------- ----- -------------
  -
-

----- -------- ------ -
  ----- ------ - -
    ------- -
      ----- ----------
      ----- -----
      ----------- -------------------
      ----------- -----
    --
    -------- -
      ------ --------
    --
    ------ -
      ---- ---------------------------------
    --
  --

  ----- -------- - --- ---------------
  ------------------- ------------
  -----------------------
    -
      ------------- ---------------
      -------- --- ----------- ------------- ------------ --
    -
  ---
  ----- ----------------

  ----- ------- - --- --------------
  ----------------- -----------------------------
-

-------
展开代码

总结

@asymmetrik/node-fhir-server-core 是一个实现了 FHIR 规范的 Node.js 服务器框架,可以用于创建自己的 FHIR 服务器。 它提供了灵活的插件机制、自定义路由和自定义逻辑的功能,具有较高的可扩展性和自定义性。

来源:JavaScript中文网 ,转载请注明来源 https://www.javascriptcn.com/post/152371