跳转到主要内容

GNU Health FHIR服务器

项目描述

https://www.gnuhealth.org/downloads/artwork/logos/gnu-health-HL7-FHIR.png

GNU HEALTH FHIR 服务器

GNU Health 快速健康互操作性资源(FHIR)服务器允许从运行的 GNU Health HMIS 节点查询不同的资源,返回 HL7 FHIR 消息。

历史

2014年3月,我开始为 Python 开发了 FHIR 的初始 alpha 项目,目的是用于 GNUHealth HMIS(服务器和客户端)和其他 EMRs。(https://pypi.ac.cn/project/fhir)

不久之后,我们的同事Chris Zimmerman博士加入了该项目,并出色地持续并领导了GNUHealth FHIR服务器多年的开发工作。

多年来,FHIR开发一直是GNU Health HMIS“后端”的一部分。虽然一开始方便,但我们觉得GNU Health FHIR组件应该有自己的仓库。2020年,我们在GNU Savannah创建了health-fhir-server mercurial仓库。这使得可以有一个专门负责FHIR资源的团队。

2020年,我们在Pypi上创建了GNU Health FHIR服务器包(https://pypi.ac.cn/project/gnuhealth-fhir-server

GNU Health FHIR服务器仍在开发中。我们很高兴与HL7 FHIR社区合作,添加新的资源和功能。

与其他GNU Health组件一样,其开发在GNU Savannah。

安装

GNU Health FHIR服务器可以通过pip安装

服务器需要Flask及其一些插件。当然,还需要一个正常工作的GNU Health HMIS实例。

$ pip3 install –upgrade –user gnuhealth-fhir-server

配置

服务器附带一个简单的生产配置文件(server/config.py)。但是,需要对其进行编辑。

TRYTON_DATABASE = ''    # GNU Health database
SERVER_NAME = ''        # Domain name of the server (e.g., fhir.example.com)
SECRET_KEY = ''         # Set this value to a long and random string

安全

使用TLS。敏感的医学信息必须受到保护和保密。

默认情况下,所有FHIR端点(除了Conformance声明)都需要用户身份验证。用户身份验证和访问遵循Tryton的模式,尊重模型和字段访问权限。

用于登录GNU Health的相同凭据也用于访问FHIR REST服务器。

运行服务器

对于开发,只需运行

python ./gnuhealth_fhir_server.py

对于生产环境,您应该从WSGI容器运行它,例如gunicorn、uWSGI或Tornado。

  • uwsgi server_uwsgi.ini

您可以在server_uwsgi.ini中更改端口号(默认8020)和套接字。

当前资源/端点

目前实现了以下资源(只读)

FHIR标准定义了一个REST API,一组与每个资源的交互。每个资源处理不同类型的信息。目前,GNU Health FHIR服务器支持12个资源

  • Conformance:描述服务器的FHIR功能。

  • Patient:患者信息,如电子邮件、地址、SSN等。

  • DiagnosticReport:完成的实验室测试,但不包括数据

  • Observation:实验室数据,如尿酸值

  • Practitioner:卫生专业人员及其信息

  • Procedure:手术/操作

  • Condition:疾病/诊断

  • FamilyHistory:患者的家族史

  • Medication:药物(不是处方!)

  • MedicationStatement:患者服用的药物

  • Immunization:疫苗接种

  • Organization:机构、部门、公司等。

每个资源都有自己的端点。例如,Patient端点位于/Patient,DiagnosticReport端点位于/DiagnosticReport,依此类推。唯一例外的是Conformance端点,位于/和/metadata。

查询GNU Health FHIR服务器

如果我们以资源名称作为端点,GNU Health将返回所有结果。

例如: https://federation.gnuhealth.org:8700/Patient

将检索当前数据库中的患者。

要搜索资源,只需向端点添加参数以细化搜索。例如,/Patient?name=ana将返回所有名字中包含Ana的患者

日志文件将存储在用户的家目录中,文件名为“fhir_server.log”。您也可以在运行uwsgi后的服务器中添加相应的日志。

技术

GNU Health HMIS FHIR服务器基于Flask技术(https://flask.org.cn/)构建。

有关Flask及其在GNU Health FHIR服务器中使用的插件更多信息

开发

GNU Health 项目的开发位于 GNU Savannah,使用 Mercurial 仓库。

任务、错误和邮件列表将在 health-dev@gnu.org 上,用于开发。

一般讨论在 health@gnu.org 邮件列表中进行。

主页

https://www.gnuhealth.org

文档

GNU Health FHIR 服务器文档将在 GNU Health Wikibook 的相应章节中

https://wikibooks.cn/wiki/GNU_Health

支持 GNU Health

GNU Health 是 GNU Solidario 项目。GNU Solidario 是一个在全球范围内工作的非营利性非政府组织(NGO),专注于社会医学。

健康和教育是社会发展和尊严的基础。

您也可以通过以下方式为我们项目 捐赠

https://www.gnuhealth.org/donate/

此外,您可以通过成为 GNU Solidario 的 成员 来长期支持 GNU Health,这样我们就可以共同努力,在全世界范围内实现医疗保健的自由和公平。

https://my.gnusolidario.org/join-us/

GNU Solidario 主办 IWEEE 和 GnuHealthCon

国际新兴经济体电子健康研讨会——支持 GNU Solidario 和了解最新电子健康的好方法就是参加这些会议。

https://www.gnuhealthcon.org/

需要帮助实施 GNU Health 吗?

我们致力于尽我们所能帮助那些可以改善您国家或地区健康的项目。我们希望项目取得成功,由于我们的资源有限,我们需要共同努力,打造一个伟大且可持续的项目。

为了有资格,我们需要您或您的非政府组织/政府提供以下信息

  • 当前需求介绍

  • 项目将仅使用自由软件技术

  • 将有一个当地指定的人负责项目,并将知识传授给其他社区成员。这个人必须从项目开始到项目完成后两年都致力于此。

  • 必须对知识传授给其他团队成员做出承诺。

我们将尽最大努力帮助您实施和培训当地团队,以建立当地能力并使您的项目具有可持续性。

请与我们联系,我们将尽快回复您

Thank you !
Dr. Luis Falcón, MD, MSc
Author and project leader
falcon@gnuhealth.org

电子邮件

info@gnuhealth.org

推特:@gnuhealth

许可

GNU Health,自由数字健康生态系统,采用 GPL v3+ 许可

Copyright (C) 2008-2023 Luis Falcon <falcon@gnuhealth.org>
Copyright (C) 2011-2023 GNU Solidario <health@gnusolidario.org>

This program is free software: you can redistribute it and/or modify
it under the terms of the GNU General Public License as published by
the Free Software Foundation, either version 3 of the License, or
(at your option) any later version.

This program is distributed in the hope that it will be useful,
but WITHOUT ANY WARRANTY; without even the implied warranty of
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
GNU General Public License for more details.

You should have received a copy of the GNU General Public License
along with this program.  If not, see <https://gnu.ac.cn/licenses/>.

项目详情


下载文件

下载适合您平台的文件。如果您不确定选择哪个,请了解有关 安装软件包 的更多信息。

源分发

gnuhealth-fhir-server-0.9b7.tar.gz (284.1 kB 查看哈希)

上传时间

由以下机构支持

AWS AWS 云计算和安全赞助商 Datadog Datadog 监控 Fastly Fastly CDN Google Google 下载分析 Microsoft Microsoft PSF 赞助商 Pingdom Pingdom 监控 Sentry Sentry 错误日志 StatusPage StatusPage 状态页面