当前位置: 首页 > article >正文

开源临床试验软件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 文件

#!/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 文件

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/"

然后执行下面的命令

# 新建文件夹 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

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

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/


http://www.kler.cn/a/503300.html

相关文章:

  • 分多个AndroidManifest.xml来控制项目编译
  • 浅谈云计算06 | 云管理系统架构
  • LeetCode-493. Reverse Pairs
  • 【Python】数据容器:列表,元组,字符串,集合字典及通用操作
  • Full GC 日志
  • 宝塔面板使用 GoAccess Web 日志分析教程
  • x86-64架构的Linux服务器上运行.NET 6.0应用程序,安装runtimes
  • UE5中制作地形材质
  • 按键精灵ios越狱脚本教程:多选框联动的ui界面
  • JavaScript系列(22)--模块化进阶
  • 16. C语言 字符串详解
  • 代码随想录算法训练营第 7 天(哈希表2)| 454.四数相加II 383. 赎金信 15. 三数之和 18. 四数之和
  • 如何知道深度学习模型中,每个模块的功能是什么
  • 腾讯云下架印度云服务器节点,印度云服务器租用何去何从
  • 【面试经典】单词规律
  • 【Vue】点击侧边导航栏,右侧main对应显示
  • Keil C51 与 Keil MDK(ARM-stm32?):嵌入式开发的利器
  • 区块链技术在商贸物流中的变革性作用:透明、安全与高效
  • Vue2+OpenLayers实现折线绘制、起始点标记和轨迹打点的完整功能(提供Gitee源码)
  • Spring MVC简单数据绑定
  • 通过高效的侦察发现关键漏洞接管整个IT基础设施
  • MATLAB中rescale函数用法
  • 【Uniapp-Vue3】响应式单位rpx及搭配使用UI产品工具
  • 力扣56. 合并区间
  • API接口技术开发小红书笔记详情api采集笔记图片视频参数解析
  • 【STM32】HAL库USB实现软件升级DFU的功能操作及配置