前言
在医疗领域的应用开发中,共享健康数据是一个非常大的挑战。出于数据安全、隐私保护等方面的考虑,医疗数据经常被存储在各种不同的系统中。为了使应用程序可以方便地访问这些数据,FHIR(Fast Healthcare Interoperability Resources)标准被提出,这是一个用于创建互操作性医疗应用程序的国际标准。
FHIR 系统中心智能应用程序(SMART)是一种能够访问和连接 FHIR 服务器和其他 API 的标准。 fhir-smartr npm 包提供了一个简单的方法来创建和部署 SMART 应用程序,本文将详细介绍如何使用 fhir-smartr 包创建、部署和测试 SMART 应用程序。
安装和配置
要使用 fhir-smartr 包,首先需要在本地安装 npm。使用以下命令检查系统是否已经安装了 npm:
npm -v
如果没有安装 npm,则需要按照 npm 官方文档提供的说明进行安装:https://www.npmjs.com/get-npm
安装后,创建一个新目录并在其中初始化 npm 项目:
mkdir my-smart-app cd my-smart-app npm init
在此过程中,将提示您设置项目名称、版本、作者等信息,最后会自动生成一个 package.json 文件。
接下来,安装 fhir-smartr 包:
npm install fhir-smartr
安装完成后,使用以下命令启动开发服务器:
npx fhir-smartr start
该命令将启动一个本地服务器,监听端口为 8000,并在自动打开浏览器中显示欢迎页面。
创建和部署 SMART 应用
要创建一个 SMART 应用程序,首先需要在 fhir-smartr 目录中创建一个新的子目录,该目录将用于保存应用程序代码:
cd node_modules/fhir-smartr mkdir my-smart-app cd my-smart-app
在此目录中,创建一个名为 index.html 的文件,并添加以下内容:
-- -------------------- ---- ------- --------- ----- ------ ------ --------- ----- ----------- ----- ---------------- ----- ---------------------------- ------------------ ----- --------------- ---------------------------- ----------------- ----- ---------------- ---------------------- ------- ------ ------ ----- -------- -------- ---------- ------- ---------------------------- ------- -------
此示例代码中,定义了一个简单的 HTML 页面,其中包含一个标题和一个段落。还添加了两个外部脚本,可以将它们添加到项目的 /public 目录中。
接下来,请在项目的 /public 目录中创建一个名为 index.js 的文件,并添加以下内容:
window.addEventListener('fhirClientReady', function (e) { var client = e.detail.client; client.patient.read().then(function (patient) { alert(JSON.stringify(patient)); }); });
此示例代码中,如果在 fhirClientReady 事件中收到信号,则使用 SMART Client API 从当前患者读取数据,并使用 JavaScript 警告框将 JSON 作为字符串呈现。稍后,将看到如何在 SMART 客户端上启动或测试此应用程序。
现在,需要将应用程序上传到 FHIR 服务器。可以通过修改应用程序配置文件 package.json 来上传应用程序。将以下示例代码添加到 package.json 文件中:
"smartr": { "appUri": "https://my-fhir-server.com/my-smart-app/", "description": "My SMART App Description", "name": "My SMART App Name", "scope": "patient/*.*" }
在这个片段中,定义了应用程序上传的细节,其中包括应用程序的 URI(这将是应用程序的访问路径)、应用程序描述、应用程序名称和应用程序访问的 Scopes。
要上传应用程序,使用以下命令:
npm run smartr deploy
此命令将应用程序部署到指定 FHIR 服务器上。这将需要您首先提供服务器的 URL、FHIR 访问设备令牌等信息。
启动 SMART 应用程序
要在 SMART 服务器上启动应用程序,请在 Web 浏览器中访问应用程序的 URI。
例如,如果在 package.json 文件中设置了 appUri 属性的值为 https://my-fhir-server.com/my-smart-app/,则在浏览器中访问该 URL。
如果应用程序已正确配置,则将看到 SMART 授权屏幕,提示您授权本地应用程序访问服务器上的数据。
测试 SMART 应用程序
要测试 SMART 应用程序,请在 FHIR 服务器上选择适当的患者数据。然后,在应用程序的启动屏幕上,选择正确的 Scopes 并授权应用程序。
接下来,应用程序将能够访问所选患者的数据,并执行针对其数据的计算或依赖于这些数据的其他操作。
以下代码演示了如何在 SMART 应用程序的 JavaScript 文件中访问患者的所有 al名字
client.patient.api.searchAll({type: "Observation", query: {code: 'http://loinc.org|8310-5'}}) .then((response) => { let observation = response.data.entry; for (let i = 0; i < observation.length; i++) { let family = observation[i].resource.subject.reference.split('/')[1]; console.log(family); } });
以上代码使用 SMART 客户端 API 搜索一个特定类型的资源,并使用 JavaScript 控制台日志将患者的所有 al 名字记录到输出中。
结论
通过 fhir-smartr npm 包,我们可以轻松地部署并运行 SMART 应用程序,这是一个用于访问健康数据的标准。本文提供了详细的指南,详细介绍了 fhir-smartr 的安装、配置、创建、部署和测试过程,并包含示例代码。通过这些信息,读者可以在自己的健康应用程序中使用 SMART 技术来解决数据管理和安全性等挑战。
来源:JavaScript中文网 ,转载请注明来源 https://www.javascriptcn.com/post/600572fe81e8991b448e9259