标签: hl7-fhir

如何在FHIR中存储用户健身/健身设备数据?

我们目前正在评估FHIR,作为我们医疗记录基础设施的一部分.对于EHR数据(过敏,访问,Rx等),HL7 FHIR似乎具有适当的映射.

但是,我们处理的大量数据与个人健身有关 - 想想Fitbit或Apple HealthKit:

  • 积极锻炼(有氧运动或锻炼):数量,能量,心率
  • 常规活动,如每日步骤或用水量
  • 睡眠模式/质量(在同一时间跨度内的间隔状态的奇数情况)
  • 其他用户提供:情绪评级,饮食活动,女性健康,紫外线

虽然有Observation资源,但这似乎最适合EHR域(!).特别地,用户健身数据在访问期间不被收集并且不是人工验证的.

目标是找到"标准化的FIHR方式"来模拟这种数据.

  • 使用带延伸的观察(?)?简介?特定领域的规则?

    FHIR具有非凡的灵活性,但每个扩展/配置文件可能会增加以后直接交换资源的成本.

    关于适当使用FHIR资源的解释 - 包括何时扩展,使用配置文件/标签,或通过编码值编码区分 - 将是有用的.

  • 定义新的/自定义资源类型?

    FHIR DSTU2未定义定义新资源类型的方法.想要这样做可能表明资源的作用 - 逻辑概念与实现接口? - 不明白.

  • 根本不使用FHIR?除汇总交换外,不要使用FHIR吗?

    也可能是FHIR不适合我们的消息传递格式.但是,与处理外部互操作性FIHRa <-> FIHRb相比x <-> FIHRc,它会更糟糕吗?

FHIR注册表似乎并没有包含任何用户特定的健身观测概况和没有任何的提议的资源似乎添加适当的资源,改进.

在一天结束时,能够声称能够 - 最少或没有翻译,即.以"标准方式" - 能够将用户健身数据作为FHIR流交换.

hl7-fhir dstu2-fhir

11
推荐指数
1
解决办法
1405
查看次数

使用 Qt 的 RESTful API 请求

我正在尝试从此链接中找到示例以使其工作。

GETandDELETE方法正在起作用,但我对PUTand有一些问题POST。我得到服务器回复:Bad Request。随着qDebug()我得到这个错误:

QNetworkReply::NetworkError(ProtocolInvalidOperationError)

对于httprequestworker.cpp,我已将请求类型更改为:

request_content.append("Content-Type: application/fhir+json");
Run Code Online (Sandbox Code Playgroud)

这是我从计算机获取 JSON 文件内容并为服务器执行整个请求输入的函数:

void MainWindow::on_pushButton_clicked()
{
    QString url_str = "http://hapi.fhir.org/baseDstu3/Patient/4705560";

    HttpRequestInput input(url_str, "PUT");

    QString settings;
    QFile file;

    file.setFileName("C:/Users/Lauri/Desktop/FHIR/Omia testeja/themostsimplepatientJSON.json");
    file.open(QIODevice::ReadOnly | QIODevice::Text);
    settings = file.readAll();
    file.close();

    settings.remove(QRegExp("[\\n]"));
    qDebug() << settings;
    settings.toUtf8();
    input.add_var("key1", settings);


    HttpRequestWorker *worker = new HttpRequestWorker(this);
    connect(worker, SIGNAL(on_execution_finished(HttpRequestWorker*)), this, SLOT(handle_result(HttpRequestWorker*)));
    worker->execute(&input);
}
Run Code Online (Sandbox Code Playgroud)

这是我要上传的简单 JSON:

{
  "resourceType": "Patient",
  "text": {
    "status": "generated",
    "div": "<div xmlns='http://www.w3.org/1999/xhtml'>This is a …
Run Code Online (Sandbox Code Playgroud)

c++ qt httprequest hl7-fhir hapi-fhir

8
推荐指数
1
解决办法
1万
查看次数

CDA FHIR映射

我正在尝试在EHR平台中添加对sidecar应用程序的支持.我正在采用纯粹的实现者的方法来构建用于映射CDA <---> FHIR的中间表示(例如XML).我使用smart-on-fhir作为参考实现.我试图使用的CDA是澳大利亚扩展 - ereferral(www.digitalhealth.gov.au/implementation-resources/clinical-documents/EP-0936-2012/NEHTA-0967-2012).

是否可以使用smart-on-fhir(或任何其他FHIR)参考实现来创建这样的中间表示?有没有人试过这个?

在搜索实际实现时,我遇到了这些回购:

FHIR小组有一些手工制作的例子.这些FHIR资源是否有任何等效的CDA示例?

我已经阅读了几篇关于变换之间的挑战的网络文章和白皮书文档,例如:

  • David Hay的博客说" FHIR文档就像是一个根植于合成资源的对象图 ",它们是否也是CDA的等效表示形式?
  • 刘若英Spronk的文章是否HL7 v3是一个消息或文档.对于必须处理和验证CDA和FHIR表示的实施者有什么影响
  • Lantana Group的立场文件 - " 如果FHIR能够容纳完整的CDA用例,未来将承诺临床文档和API之间的无缝集成和信息共享 ".这是否意味着在FHIR标准的这个阶段不可能进行CDA <---> FHIR变换?

在SO和FHIR社区论坛上交叉发布的道歉:http://community.fhir.org/t/cda-fhir-mapping-implementations/211/1

hl7 cda hl7-fhir hl7-cda

7
推荐指数
1
解决办法
1827
查看次数

如何将 HL7 v2.x 消息转换为 FHIR JSON?

我正在尝试使用 java 或 python 将 HL7 v2.x 消息转换为 FHIR JSON。但我找不到任何解决方案。有没有办法实现这一目标?

我发现 FHIR 能够转换为 JSON,但我不知道该怎么做。

json hl7 hl7-fhir hl7-v2

7
推荐指数
2
解决办法
1万
查看次数

Swagger 解析器错误,无法解析参考:

我正在建立一个新的 asp.net core 3.1 项目,以FHIR格式公开 RESTful API,这是一种扩展 JSON 的格式。
我想用SwaggerUI制作一个简单的用户界面。这就是我遇到的问题,即显示错误。

启动 SwaggerUI 时,没有错误。当扩展单个可用的 POST 请求时,会出现以下错误: 在此输入图像描述

完整列表:

Resolver error at paths./Bundle/$analyze.post.requestBody.content.text/json.schema.properties.parameter.items.properties.children.items.properties.children.items.$ref
Could not resolve reference:
Resolver error at paths./Bundle/$analyze.post.requestBody.content.text/json.schema.properties.parameter.items.properties.extension.items.properties.extension.items.$ref
Could not resolve reference:
Resolver error at paths./Bundle/$analyze.post.requestBody.content.text/json.schema.properties.idElement.properties.extension.items.properties.extension.items.$ref
Could not resolve reference:
Resolver error at paths./Bundle/$analyze.post.requestBody.content.text/json.schema.properties.idElement.properties.children.items.properties.children.items.$ref
Could not resolve reference:
Resolver error at paths./Bundle/$analyze.post.requestBody.content.text/json.schema.properties.meta.properties.children.items.properties.children.items.$ref
Could not resolve reference:
Resolver error at paths./Bundle/$analyze.post.requestBody.content.text/json.schema.properties.meta.properties.extension.items.properties.extension.items.$ref
Could not resolve reference:
Resolver error at paths./Bundle/$analyze.post.requestBody.content.text/json.schema.properties.implicitRulesElement.properties.extension.items.properties.extension.items.$ref
Could not resolve reference:
Resolver error at paths./Bundle/$analyze.post.requestBody.content.text/json.schema.properties.implicitRulesElement.properties.children.items.properties.children.items.$ref …
Run Code Online (Sandbox Code Playgroud)

swagger hl7-fhir asp.net-core

7
推荐指数
1
解决办法
2万
查看次数

AngularJS $http.get 异步执行顺序

我最近在 AngularJS 中做了很多编码。一段时间后,它开始对它感到满意,并且也变得非常高效。但不幸的是,有一件事我不明白:

在我的项目中,我需要通过 $http.get 和 RESTful API 服务器获取数据。这是我首先开始绊倒的地方。在处理需要继续的数据的函数中实现 promise($q.defer 等和 .then)后,我想我已经解决了这个问题。

但在这段代码中:

$scope.getObservationsByLocations = function() {
        var promise = $q.defer();
        var locationCount = 0;

        angular.forEach($scope.analysisData, function(loc) {   // for each location
            $http.get($scope.api + 'Device?_format=json', {     // get all devices
                params: {
                    location: loc.location.id
                }
            }).then(function (resultDevices) {
                var data = angular.fromJson(resultDevices);
                promise.resolve(data);
                // for each device in this location
                angular.forEach(angular.fromJson(resultDevices).data.entry.map(function (dev) {
                    http.get($scope.api + 'Observation?_format=json', {     // get all observations
                        params: {
                            device: dev.resource.id
                        }
                    }).then(function (resultObservations) {
                        var …
Run Code Online (Sandbox Code Playgroud)

javascript json angularjs hl7-fhir angularjs-http

6
推荐指数
1
解决办法
6485
查看次数

设置 HAPI FHIR IGenericClient 的超时

我正在尝试使用以下代码运行 fhir 搜索;

FhirContext ctx = FhirContext.forDstu2();
ctx.getRestfulClientFactory().setConnectTimeout(2000000);
IGenericClient client = ctx.newRestfulGenericClient("http://localhost:1080/hapi-fhir-jpaserver-example/baseDstu2");

Bundle results = client.search().forResource(Basic.class).returnBundle(ca.uhn.fhir.model.dstu2.resource.Bundle.class).execute();
Run Code Online (Sandbox Code Playgroud)

然而,当它运行时,它总是抛出异常“FhirClientConnectionException”,这是由异常“SocketTimeoutException”引起的。我是否可以假设这是服务器超时,而不是我的本地连接,因为我将本地设置为 2000000?

我该如何解决问题?我在开箱即用的配置中使用 HAPI,并且在大约 10-15 秒内搜索相对少量的资源时会超时。

hl7-fhir hapi-fhir dstu2-fhir

6
推荐指数
1
解决办法
2066
查看次数

FHIR 订阅在 hapi-fhir 中不起作用

我正在使用带有 jpa 的 hapi-fhir v4.2.0 服务器,它工作得很好。我添加了一些患者,并且能够向我的 hapi-fhir 本地主机环境发送 GET/POST 请求。

我还可以使用以下 URL 创建订阅:http://localhost:8080/hapi-fhir-jpaserver/fhir/Subscription并使用以下正文:

{
  "resourceType": "Subscription",
  "criteria": "Patient",
  "reason": "Give me the patient",
  "end": "2021-01-01T00:00:00Z",
  "status": "requested",
  "channel": {
    "type": "rest-hook",
    "endpoint": "http://localhost:1337",
    "payload": "application/json"
  }
}
Run Code Online (Sandbox Code Playgroud)

每当我对 a 进行 POST 或 PUT 操作时Patient,都会触发订阅并向 a 发送 POST 请求http://localhost:1337,但没有任何反应。

我尝试过的:

  1. 更改requestedactive
  2. 将标准从 更改PatientPatient?name=John
  3. 删除payload参数
  4. 阅读文档
  5. 更改为application/fhir+json

但仍然无法工作:(我在这里缺少什么?

编辑:我的后端是一个运行的简单 Nodejs morgan,因此它将在控制台中记录每个 POST/GET/PUT 尝试。

subscription hl7-fhir hapi-fhir

6
推荐指数
1
解决办法
1865
查看次数

Fhir Epic Sandbox:使用 JWT 获取后端服务的访问令牌

我正在尝试使用https://fhir.epic.com/的沙箱进行后端服务。

我正在关注本教程:https://fhir.epic.com/Documentation? docId=oauth2§ion=BackendOAuth2Guide :

  • 我已经注册了一个新应用程序,
  • 创建 JWT(使用 SSL 密钥)
  • 在https://jwt.io/上测试了 JWT :工作正常!

但我无法将 JWT POST 到端点以获取访问令牌。我应该向此 URL 发送 POST 请求:https://fhir.epic.com/interconnect-fhir-oauth/oauth2/token

我正在使用 python,这是到目前为止我的代码:

import json
import requests
from datetime import datetime, timedelta, timezone
from requests.structures import CaseInsensitiveDict
from jwt import (
    JWT,
    jwk_from_dict,
    jwk_from_pem,
)
from jwt.utils import get_int_from_datetime


def main():
    instance = JWT()
    message = {
        # Client ID for non-production
        'iss': '990573e-13e3-143b-8b03-4fbb577b660',
        'sub': '990573e-13e3-143b-8b03-4fbb577b660',
        'aud': 'https://fhir.epic.com/interconnect-fhir-oauth/oauth2/token',
        'jti': 'f9eaafba-2e49-11ea-8880-5ce0c5aee679',
        'iat': get_int_from_datetime(datetime.now(timezone.utc)),
        'exp': get_int_from_datetime(datetime.now(timezone.utc) + …
Run Code Online (Sandbox Code Playgroud)

python jwt python-requests hl7-fhir smart-on-fhir

6
推荐指数
1
解决办法
3920
查看次数

菲尔该怎么办?

我正在尝试学习 fhir 的基础知识并希望在 Node js 中实现。我遇到了以下代码https://github.com/FHIR/fhir.js

它说我必须创建一个 FHIR 客户端实例?我知道我的问题很愚蠢,所以我可以获得有关该主题的任何澄清吗?几天前我开始学习node。提前致谢!

var config = {
  // FHIR server base url
  baseUrl: 'http://myfhirserver.com',
  auth: {
     bearer: 'token',
     // OR for basic auth
     user: 'user',
     pass: 'secret'
  },
  // Valid Options are 'same-origin', 'include'
  credentials: 'same-origin',
  headers: {
    'X-Custom-Header': 'Custom Value',
    'X-Another-Custom': 'Another Value',
  }
}

myClient = fhir(config, adapter)
Run Code Online (Sandbox Code Playgroud)

上面是创建 Fhir 客户端实例的代码,我想知道我应该在哪里实现此代码并访问 fhir 服务器。

node.js hl7-fhir

5
推荐指数
1
解决办法
4282
查看次数