
sparkfhir/sparkSpark FHIR Server 是一个开源的数据服务器,基于HL7 FHIR(Fast Healthcare Interoperability Resources)标准构建,旨在提供标准化的保健资源(如患者、诊断、处方等)存储、查询、交换和管理能力,支持信息系统间的数据互操作,促进数据的标准化共享与利用。
通过以下命令快速部署基础版服务(适合测试环境):
bashdocker run -d \ --name spark-fhir-server \ -p 8080:8080 \ -e FHIR_VERSION=R4 \ -e STORAGE_TYPE=in-memory \ healthsamurai/spark-fhir-server:latest
参数说明:
-p 8080:8080:映射容器8080端口至主机,用于访问FHIR API端点-e FHIR_VERSION=R4:指定FHIR版本(支持R4/R5,默认R4)-e STORAGE_TYPE=in-memory:启用内存存储(数据非持久化,重启后丢失)使用PostgreSQL数据库实现数据持久化部署:
bashdocker run -d \ --name spark-fhir-server \ -p 8080:8080 \ -e FHIR_VERSION=R4 \ -e STORAGE_TYPE=postgresql \ -e DB_URL=jdbc:postgresql://db-host:5432/fhirdb \ -e DB_USER=fhirdbuser \ -e DB_PASSWORD=SecurePass123! \ -v ./conf:/app/conf \ # 挂载自定义配置文件 healthsamurai/spark-fhir-server:latest
核心环境变量说明:
| 变量名 | 说明 | 可选值 | 默认值 |
|---|---|---|---|
FHIR_VERSION | FHIR规范版本 | R4, R5 | R4 |
STORAGE_TYPE | 数据存储类型 | in-memory, postgresql, mysql | in-memory |
DB_URL | 数据库连接URL(存储类型为数据库时必填) | 如jdbc:postgresql://host:port/db | - |
DB_USER | 数据库用户名 | - | - |
DB_PASSWORD | 数据库密码 | - | - |
MAX_RESOURCE_SIZE | 单个FHIR资源最大大小(MB) | 正整数 | 10 |
创建docker-compose.yml实现服务与数据库一体化部署:
yamlversion: '3.8' services: fhir-server: image: healthsamurai/spark-fhir-server:latest container_name: spark-fhir ports: - "8080:8080" environment: - FHIR_VERSION=R4 - STORAGE_TYPE=postgresql - DB_URL=jdbc:postgresql://postgres:5432/fhirdb - DB_USER=postgres - DB_PASSWORD=postgres - AUTH_ENABLED=true - AUTH_TYPE=basic - BASIC_AUTH_USER=admin - BASIC_AUTH_PASSWORD=AdminPass123! depends_on: - postgres restart: unless-stopped volumes: - fhir-logs:/app/logs # 日志持久化 postgres: image: postgres:14-alpine container_name: fhir-db environment: - POSTGRES_DB=fhirdb - POSTGRES_USER=postgres - POSTGRES_PASSWORD=postgres volumes: - postgres-data:/var/lib/postgresql/data # 数据库数据持久化 restart: unless-stopped volumes: postgres-data: fhir-logs:
启动命令:docker-compose up -d
部署完成后,通过访问以下端点验证服务状态:
http://localhost:8080/fhir/metadata(返回FHIR能力声明文档)http://localhost:8080/fhir/Patient(返回患者资源列表,初始为空)AUTH_TYPE=basic启用,配置BASIC_AUTH_USER和BASIC_AUTH_PASSWORDAUTH_TYPE=oauth2及OAUTH2_ISSUER_URL(如Keycloak认证服务器地址)/app/certs目录,设置HTTPS_ENABLED=true及证书路径环境变量

manifest unknown 错误
TLS 证书验证失败
DNS 解析超时
410 错误:版本过低
402 错误:流量耗尽
身份认证失败错误
429 限流错误
凭证保存错误
来自真实用户的反馈,见证轩辕镜像的优质服务