开源临床试验软件OpenClinica的安装

本文是为帮网友 A萤火虫 解决安装问题做的记录;

简介

什么是 OpenClinica ?

OpenClinica 是世界上第一个商业开源临床试验软件,主要用于电子数据捕获(EDC)和临床数据管理(CDM)。它的设计旨在优化临床试验的工作流程,提供智能且安全的解决方案。凭借其基于开放标准构建的优势,OpenClinica 在临床试验领域内迅速崛起,成为众多研究者和机构青睐的解决方案。不仅促进了数据的透明性和可访问性,还通过提供丰富的 API 接口和工具集,增强了软件的实用性和灵活性。

主要功能:

  • 构建研究:支持研究的设计和实施。
  • 创建电子病例报告表(eCRFs):便于数据输入和管理。
  • 监控和管理临床数据:提供数据审核跟踪和电子签名功能。
  • 角色基础访问控制:确保数据访问的安全性和合规性。
  • 数据导入/导出:方便进行数据分析和报告生成。

开源特性

OpenClinica 采用 GNU LGPL 许可证,允许用户自由使用、修改和分发软件,促进社区协作和创新。

该平台被广泛应用于生物技术、制药、学术机构等领域,支持数千个临床研究项目。

说明

OpenClinica 的源码已经有 2 年没更新了,能找到的镜像基本上都是 6~7 年以前的,应网友要求,只要部署运行即可,估计也就是想看看功能,所以版本并不重要。

安装

在群晖上以 Docker 方式安装。

软件部署涉及多容器,所以采用 docker-compose 安装方式比较简单

init-db.sh

原始 init-db.sh 的内容如下,但在重复执行时会显示错误

所以增加了个判断,只有在角色不存在时再创建。将下面的内容保存为 init-db.sh 文件

bash 复制代码
#!/bin/bash
set -e

psql -v ON_ERROR_STOP=1 --username "$POSTGRES_USER" <<-EOSQL
    DO \$\$
    BEGIN
        IF NOT EXISTS (SELECT 1 FROM pg_roles WHERE rolname = 'clinica') THEN
            CREATE ROLE clinica LOGIN ENCRYPTED PASSWORD 'clinica' SUPERUSER NOINHERIT NOCREATEDB NOCREATEROLE;
        END IF;
    END
    \$\$;

CREATE DATABASE openclinica WITH ENCODING='UTF8' OWNER=clinica;
EOSQL

docker-compose.yml

将下面的内容保存为 docker-compose.yml 文件

yaml 复制代码
version: '3.8'

services:
  postgres:
    image: postgres:9.5
    container_name: oc-db
    restart: unless-stopped
    volumes:
      - ./data:/var/lib/postgresql/data
      - ./init-db.sh:/docker-entrypoint-initdb.d/init-db.sh
    # ports:
    #   - "5436:5432"
    environment:
      POSTGRES_USER: clinica
      POSTGRES_PASSWORD: postgres123
      POSTGRES_DB: openclinica
      POSTGRES_INITDB_ARGS: "-E 'UTF-8' --locale=POSIX"

  openclinica:
    image: piegsaj/openclinica:oc-3.13
    container_name: oc-app
    restart: unless-stopped
    volumes:
      - ./ocdata:/usr/local/tomcat/openclinica.data
    ports:
      - "8386:8080"
    environment:
      LOG_LEVEL: INFO
      TZ: Asia/Shanghai
      DB_TYPE: postgres
      DB_HOST: postgres
      DB_NAME: openclinica
      DB_USER: clinica
      DB_PASS: postgres123
      DB_PORT: 5432
      SUPPORT_URL: "https://www.openclinica.com/community-edition-open-source-edc/"

然后执行下面的命令

bash 复制代码
# 新建文件夹 openclinica 和 子目录
mkdir -p /volume1/docker/openclinica/{data,ocdata}

# 进入 openclinica 目录
cd /volume1/docker/openclinica

# 将 docker-compose.yml 和 init-db.sh 放入当前目录

# 一键启动
docker-compose up -d

运行

软件的初始化需要一点时间

在浏览器中输入 http://群晖IP:8386/OpenClinica

如果你看到的是下面这样的,大概率是数据库设置有问题,例如:

log 复制代码
oc-db          | FATAL:  database "openclinica" does not exist

正常的话,应该能看到登录界面

默认的账号密码:root/12345678

第一次需要重置密码

登录成功后的主界面

接下来就交给专业人员使用了

参考文档

OpenClinica/OpenClinica: OpenClinica is the world's first commercial open source clinical trial software for Electronic Data Capture (EDC) Clinical Data Management (CDM).

地址:https://github.com/OpenClinica/OpenClinica
在 Linux 上安装 OpenClinica v3.6 及更高版本 · OpenClinica/OpenClinica Wiki

地址:https://github.com/OpenClinica/OpenClinica/wiki/Install-OpenClinica-v3.6-and-higher-on-Linux
OpenClinica Installation and Upgrade Guides - OpenClinica Reference Guide

地址:https://docs.openclinica.com/3-1/installation/
piegsaj/openclinica-Docker 镜像 | Docker Hub

地址:https://registry.hub.docker.com/r/piegsaj/openclinica
JensPiegsa/OpenClinica: Dockerfile for OpenClinica.

地址:https://github.com/JensPiegsa/OpenClinica/

相关推荐
love静思冥想24 分钟前
在 CentOS/Red Hat Linux 中安装 Docker
linux·docker·centos
王军新30 分钟前
CentOS下安装Docker
docker
wxuejunzi1 小时前
docker中jenkins流水线式部署GitLab中springboot项目
spring boot·docker·jenkins
庄小焱2 小时前
Mac——Docker desktop安装与使用教程
macos·docker·容器
PyAIGCMaster3 小时前
docker 自建rustdesk服务器测试
服务器·docker·容器
风尘浪子5 小时前
DevOps 企业级 CI/CD 实战 —— 整合 GitLab+Jenkins+Harbor+Docker 实现代码全自动化流程管理
ci/cd·docker·pipeline·gitlab·jenkins·harbor·devops·sshpublish
基哥的奋斗历程6 小时前
Docker与微服务实战2-基础篇
docker·微服务·架构