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

开源临床试验软件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 -epsql -v ON_ERROR_STOP=1 --username "$POSTGRES_USER" <<-EOSQLDO \$\$BEGINIF NOT EXISTS (SELECT 1 FROM pg_roles WHERE rolname = 'clinica') THENCREATE 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.5container_name: oc-dbrestart: unless-stoppedvolumes:- ./data:/var/lib/postgresql/data- ./init-db.sh:/docker-entrypoint-initdb.d/init-db.sh# ports:#   - "5436:5432"environment:POSTGRES_USER: clinicaPOSTGRES_PASSWORD: postgres123POSTGRES_DB: openclinicaPOSTGRES_INITDB_ARGS: "-E 'UTF-8' --locale=POSIX"openclinica:image: piegsaj/openclinica:oc-3.13container_name: oc-apprestart: unless-stoppedvolumes:- ./ocdata:/usr/local/tomcat/openclinica.dataports:- "8386:8080"environment:LOG_LEVEL: INFOTZ: Asia/ShanghaiDB_TYPE: postgresDB_HOST: postgresDB_NAME: openclinicaDB_USER: clinicaDB_PASS: postgres123DB_PORT: 5432SUPPORT_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/

相关文章:

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

本文是为帮网友 A萤火虫 解决安装问题做的记录&#xff1b; 简介 什么是 OpenClinica &#xff1f; OpenClinica 是世界上第一个商业开源临床试验软件&#xff0c;主要用于电子数据捕获&#xff08;EDC&#xff09;和临床数据管理&#xff08;CDM&#xff09;。它的设计旨在优…...

网络安全 | 网络安全法规:GDPR、CCPA与中国网络安全法

网络安全 | 网络安全法规&#xff1a;GDPR、CCPA与中国网络安全法 一、前言二、欧盟《通用数据保护条例》&#xff08;GDPR&#xff09;2.1 背景2.2 主要内容2.3 特点2.4 实施效果与影响 三、美国《加利福尼亚州消费者隐私法案》&#xff08;CCPA&#xff09;3.1 背景3.2 主要内…...

深入学习 Python 爬虫:从基础到实战

深入学习 Python 爬虫&#xff1a;从基础到实战 前言 Python 爬虫是一个强大的工具&#xff0c;可以帮助你从互联网上抓取各种数据。无论你是数据分析师、机器学习工程师&#xff0c;还是对网络数据感兴趣的开发者&#xff0c;爬虫都是一个非常实用的技能。在本文中&#xff…...

element plus 使用 upload 组件达到上传数量限制时隐藏上传按钮

最近在重构项目&#xff0c;使用了 element plus UI框架&#xff0c;有个功能是实现图片上传&#xff0c;且限制只能上传一张图片&#xff0c;结果&#xff0c;发现&#xff0c;可以限制只上传一张图片&#xff0c;但是上传按钮还在&#xff0c;如图&#xff1a; 解决办法&…...

音频DSP的发展历史

音频数字信号处理&#xff08;DSP&#xff09;的发展历史是电子技术、计算机科学和音频工程共同进步的结果。这个领域的进展不仅改变了音乐制作、音频后期制作和通信的方式&#xff0c;也影响了音频设备的设计和功能。以下是对音频DSP发展历史的概述&#xff1a; 早期概念和理论…...

2025低代码与人工智能AI新篇

在当今数字化浪潮汹涌澎湃的时代&#xff0c;低代码开发与人工智能&#xff08;AI&#xff09;犹如两颗璀璨的星辰&#xff0c;正逐渐交汇融合&#xff0c;为企业解锁前所未有的智能业务解决方案。今天&#xff0c;咱们就深入探讨一下低代码平台是如何集成 AI 技术&#xff0c;…...

【HarmonyOS Next NAPI 深度探索1】Node.js 和 CC++ 原生扩展简介

【HarmonyOS Next NAPI 深度探索1】Node.js 和 CC 原生扩展简介 如果你用过 Node.js&#xff0c;应该知道它强大的地方在于能处理各种场景&#xff0c;速度还很快。但你有没有想过&#xff0c;Node.js 的速度秘密是什么&#xff1f;今天我们来聊聊其中一个幕后英雄——原生扩展…...

redis的学习(四)

13. 渐进式遍历 通过渐进式遍历能够获取当前所有的key&#xff0c;又不会讲当前的服务器卡死。不是一个命令将所有的key获取&#xff0c;而是每执行一次命令&#xff0c;只获取到其中的一部分。所以想要获取到所有的key就需要多次遍历&#xff0c;即化整为零的思想。 渐进式遍历…...

C# winform 多线程 UI更新数据 报错:无法访问已释放的对象。

System.ObjectDisposedException HResult0x80131622 Message无法访问已释放的对象。 ObjectDisposed_ObjectName_Name SourceSystem.Windows.Forms StackTrace: at System.Windows.Forms.Control.MarshaledInvoke(Control caller, Delegate method, Object[] args, …...

error: linker `link.exe` not found

开始学习rust&#xff0c;安装好rust的环境&#xff0c;开始从hello world开始&#xff0c;结果用在win10环境下&#xff0c;使用vs code或cmd窗口编译rust报错&#xff1a; PS E:\study_codes\rust-demo\chart01> rustc hello.rs error: linker link.exe not found| note:…...

Vue.js组件开发-如何使用moment.js

在Vue.js组件开发中&#xff0c;需要处理日期和时间&#xff0c;moment.js 是一个非常有用的库。moment.js 提供了丰富的API来解析、验证、操作和显示日期和时间。 步骤&#xff1a; 1. 安装moment.js 首先&#xff0c;需要通过npm或yarn安装moment.js。在项目根目录下运行以…...

Linux第二课:LinuxC高级 学习记录day01

0、大纲 0.1、Linux 软件安装&#xff0c;用户管理&#xff0c;进程管理&#xff0c;shell 命令&#xff0c;硬链接和软连接&#xff0c;解压和压缩&#xff0c;功能性语句&#xff0c;结构性语句&#xff0c;分文件&#xff0c;make工具&#xff0c;shell脚本 0.2、C高级 …...

《DOM NodeList》

《DOM NodeList》 介绍 DOM&#xff08;文档对象模型&#xff09;是HTML和XML文档的编程接口&#xff0c;它允许开发者在JavaScript等编程语言中操作文档的结构、样式和内容。在DOM中&#xff0c;NodeList是一个重要的接口&#xff0c;它表示一个包含节点&#xff08;如元素、…...

Nginx代理同域名前后端分离项目的完整步骤

前后端分离项目&#xff0c;前后端共用一个域名。通过域名后的 url 前缀来区别前后端项目。 以 vue php 项目为例。直接上 server 模块的 nginx 配置。 server{ listen 80; #listen [::]:80 default_server ipv6onlyon; server_name demo.com;#二配置项目域名 index index.ht…...

uniapp页面高度设置(铺满可视区域、顶部状态栏高度、底部导航栏高度)

这里说几种在uniapp开发中,关于页面设置高度的几种情况。宽度就不说了哈,宽度设置百分比都会生效。 首先我们要知道平时开发中,如果说没在uniapp做特殊处理,即正常情况下,所有的页面(.vue文件)中都是没有高度的(和vue一样),也就是说给最外层的的view标签设置高度为1…...

解锁 RAG 技术:从原理、论文研读走向实战应用RAG

亲爱的小伙伴们&#x1f618;&#xff0c;在求知的漫漫旅途中&#xff0c;若你对深度学习的奥秘、Java 与 Python 的奇妙世界&#xff0c;亦或是读研论文的撰写攻略有所探寻&#x1f9d0;&#xff0c;那不妨给我一个小小的关注吧&#x1f970;。我会精心筹备&#xff0c;在未来…...

HTML5实现好看的中秋节网页源码

HTML5实现好看的中秋节网页源码 前言一、设计来源1.1 网站首页界面1.2 登录注册界面1.3 节日由来界面1.4 节日习俗界面1.5 节日文化界面1.6 节日美食界面1.7 节日故事界面1.8 节日民谣界面1.9 联系我们界面 二、效果和源码2.1 动态效果2.2 源代码 源码下载结束语 HTML5实现好看…...

数字孪生笔记 1 工业数字孪生的意义

什么是工业数字孪生&#xff1f; 很多在做这个工作研究的同学最开始都想问的一个问题。到底什么才是数字孪生&#xff1f;我在五年前做数字孪生的时候也在思考这个问题。五年时间从数字孪生兴起&#xff0c;到元宇宙爆发&#xff0c;再到数字孪生和元宇宙没人提起&#xff0c;…...

013:深度学习之神经网络

本文为合集收录&#xff0c;欢迎查看合集/专栏链接进行全部合集的系统学习。 合集完整版请参考这里。 深度学习是机器学习中重要的一个学科分支&#xff0c;它的特点就在于需要构建多层且“深度”的神经网络。 人们在探索人工智能初期&#xff0c;就曾设想构建一个用数学方式…...

计算机网络(四)网络层

4.1、网络层概述 简介 网络层的主要任务是实现网络互连&#xff0c;进而实现数据包在各网络之间的传输 这些异构型网络N1~N7如果只是需要各自内部通信&#xff0c;他们只要实现各自的物理层和数据链路层即可 但是如果要将这些异构型网络互连起来&#xff0c;形成一个更大的互…...

OpenClaw智能家居控制:Qwen3.5-9B通过HomeAssistant管理IoT设备

OpenClaw智能家居控制&#xff1a;Qwen3.5-9B通过HomeAssistant管理IoT设备 1. 为什么需要AI管理智能家居&#xff1f; 去年冬天的一个深夜&#xff0c;我被空调异常启动的声音惊醒。打开手机查看HomeAssistant日志&#xff0c;发现是温湿度传感器误报触发了自动化规则。这件…...

2026教培行业项目管理系统盘点:8款课程研发协同工具横评

本文将深入对比8款适合教育培训行业的项目管理工具&#xff1a;Worktile、Asana、monday.com、ClickUp、Jira、Confluence、Notion、Smartsheet。文章将围绕教研管理、课程开发协同、文档沉淀、进度追踪、安全合规与部署方式等维度展开分析&#xff0c;帮助教育培训机构判断不同…...

自适应交易利器:KAMA指标在Python中的高效实现与实战解析

1. 认识KAMA指标&#xff1a;让移动平均线"活"起来 第一次接触KAMA指标是在2018年的一个量化交易项目中。当时我们团队正在寻找能够适应不同市场环境的趋势指标&#xff0c;传统的均线系统在震荡市中频繁发出假信号&#xff0c;而在趋势行情中又显得过于滞后。直到一…...

RL训练像点外卖?ProRL底层逻辑拆解(非常详细),从入门到精通看这篇!

一句话讲清楚&#x1f449;&#x1f3fb; NVIDIA提出ProRL Agent&#xff0c;把多轮LLM Agent的RL训练中「轨迹生成&#xff08;Rollout&#xff09;」这一步从训练框架中彻底剥离出来&#xff0c;变成一个独立的HTTP服务&#xff0c;训练侧只需发HTTP请求就能拿到轨迹和奖励信…...

如何快速提升Windows性能:Win11Debloat一键优化指南

如何快速提升Windows性能&#xff1a;Win11Debloat一键优化指南 【免费下载链接】Win11Debloat A simple, lightweight PowerShell script that allows you to remove pre-installed apps, disable telemetry, as well as perform various other changes to declutter and cust…...

怎样高效激活Windows和Office:KMS_VL_ALL_AIO智能激活脚本完整指南

怎样高效激活Windows和Office&#xff1a;KMS_VL_ALL_AIO智能激活脚本完整指南 【免费下载链接】KMS_VL_ALL_AIO Smart Activation Script 项目地址: https://gitcode.com/gh_mirrors/km/KMS_VL_ALL_AIO KMS_VL_ALL_AIO是一款强大的智能激活脚本&#xff0c;专门用于Win…...

obsidian-skills投资者管理:高效管理投资者关系的终极指南

obsidian-skills投资者管理&#xff1a;高效管理投资者关系的终极指南 【免费下载链接】obsidian-skills Agent skills for Obsidian. Teach your agent to use Markdown, Bases, JSON Canvas, and use the CLI. 项目地址: https://gitcode.com/GitHub_Trending/ob/obsidian-…...

Windows Defender Remover:系统安全组件深度管理完全指南

Windows Defender Remover&#xff1a;系统安全组件深度管理完全指南 【免费下载链接】windows-defender-remover A tool which is uses to remove Windows Defender in Windows 8.x, Windows 10 (every version) and Windows 11. 项目地址: https://gitcode.com/gh_mirrors/…...

Qwen3-VL-2B-Instruct部署资源占用过高?显存压缩方案

Qwen3-VL-2B-Instruct部署资源占用过高&#xff1f;显存压缩方案 重要提示&#xff1a;本文介绍的显存优化方案适用于多种视觉语言模型部署场景&#xff0c;但具体效果可能因硬件配置和实际使用情况而有所差异。 1. 问题背景&#xff1a;为什么显存占用这么高&#xff1f; 如果…...

GModPatchTool:一站式Garry‘s Mod游戏问题解决方案与优化工具

GModPatchTool&#xff1a;一站式Garrys Mod游戏问题解决方案与优化工具 【免费下载链接】GModPatchTool &#x1f1ec;&#x1fa79;&#x1f6e0; Patches for Garrys Mod. Updates/Improves CEF and Fixes common launch/performance issues (esp. on Linux/Proton/macOS). …...