Skip to content

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

71 Commits
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

CLINICAL TRIAL

This project aims to model the process of defining a clinical trial, capturing the interactions among key stakeholders and ensuring a structured workflow. The model will the approval mechanisms necessary for conducting a clinical trial in a hospital setting. The process involves three main types of actors:

  • Initiator Hospital: The hospital that originates the research idea and defines the clinical trial protocol.
  • Collaborator Hospitals: Other hospitals participating in the trial by running the experiment based on the protocol set by the initiator and using their own data.
  • Ethical Committees: The regulatory body responsible for approving the trial protocol, one per Hospital.

Members:

  • Nicolo' Bossi, 10710040
  • Alessandro Assini, 10726342
  • Alessio Bezzi, 10710931

Project origin

This project was developed collaboratively in the original private repository BONSURHA/ProjectPSD.

This public repository is maintained as a portfolio version with the permission of the project contributors.

Choreographed process

Description

The collaboration begins with an initiator, who proposes a clinical research idea to a group of potential collaborators.

Each collaborator has 7 days to provide feasibility feedback. During this time, collaborators who are interested and capable of contributing to the research idea confirm their participation. Those who are not interested or unable to participate due to feasibility constraints are no longer considered active collaborators.

Once the initiator identifies the collaborators who wish to take part in the research, the process of defining the trial protocol begins. The initiator prepares and sends a draft protocol to each collaborator and awaits their responses. If all collaborators agree with the draft, the initiator formally sends the approved protocol back to them. If not, the initiator revises the protocol based on the received feedback and resubmits it for review.

This iterative process continues until all collaborators reach a consensus on the final version of the protocol.

Following protocol agreement, all collaborators proceed to sign a data sharing agreement, ensuring that all parties agree to the terms of data usage, access, and dissemination.

Afterward, the initiator handles the technical setup required to support the execution of the clinical trial. This may involve configuring systems, setting up secure communication channels, establishing data repositories, or preparing tools and platforms to facilitate collaborative work.

Image

BPMN Choreography diagram

pdf version

Collaboration Diagram

Collaboration diagram of the initiator

BPMN Collaborator diagram

pdf version

Petri Net

Petri Net of the collaboration diagram above

Petri Net of the Collaborator diagram

pdf version

Petri Nets of the subprocesses folder

Petri Nets of the subprocesses images folder

Third party services

  • TrialConnect
  • Collaborator-server

1. TrialConnect API

This service provides an API for discovering research lab collaborators for clinical trials.

Servers

Endpoints


GET /collaborators Find research lab collaborators matching criteria.

Query Parameters:

Name Type Required Description Example
disease_area string No Disease specialization filter oncology

Response:

[
  {
    "lab_id": "lab-7890",
    "lab_name": "Genomics Research Center",
    "institution": "Stanford University",
    "disease_specialties": ["oncology", "immunology"],
    "location": "Palo Alto, CA",
    "contact_email": "research@genomics.stanford.edu",
    "certifications": ["CLIA", "CAP"],
    "endpoint": "https://trialconnect.psd.polimi.it/v1/collaborators/lab-7890"
  }
]

2. Clinical Research API

This service exposes a RESTful API for clinical research workflows, enabling interactions between Initiator and Collaborators during feasibility, protocol review, data sharing, and technical setup phases.

Version: 1.2.0

Servers

Endpoints


POST /feasibility Check feasibility of a research idea.

Request Body:

{
  "title": "Effects of caffeine on cognitive function in elderly patients",
  "keywords": ["caffeine", "cognitive decline", "geriatrics"]
}

Response:

{
  "feasible": true,
  "reasons": [
    "Adequate sample size available",
    "Required equipment accessible"
  ]
}

POST /protocol-review Submit a protocol draft for review.

Request Body:

{
  "protocolId": "prot-2025-001",
  "title": "Double-blind trial on Drug X",
  "content": "This trial aims to evaluate the efficacy of Drug X in reducing blood pressure..."
}

Response:

{
  "approved": false,
  "modificationRequests": [
    "Increase sample size to 200 participants",
    "Add control group for placebo effect"
  ]
}

POST /finalprotocol Submit the final approved protocol.

Request Body:

{
  "protocolId": "prot-2025-001",
  "title": "Final Protocol: Double-blind trial on Drug X",
  "content": "Final approved protocol content including all revisions..."
}

Response:

{
  "protocolId": "prot-2025-001",
  "status": "ACCEPTED",
  "submittedAt": "2025-03-15T10:30:45Z"
}

POST /dataagreement Process Data Sharing Agreement (DSA).

Request Body:

{
  "id": "DSA-2023-06-25-ABC123",
  "dsaDocument": {
    "agreement_id": "DSA-2023-06-25-ABC123",
    "study_title": "COVID-19 Vaccine Efficacy Study",
    "initiator_org": "Research Institute of Health",
    "collaborators": ["collab-001", "collab-002"],
    "data_types": ["deidentified_patient_data", "clinical_outcomes"],
    "validity_period": {"start": "2023-06-25", "end": "2026-06-25"},
    "security_profile": "Level2_EncryptedAtRest",
    "signature_status": "PENDING",
    "generated_at": "2023-06-25T14:30:00.000Z",
    "clauses": [
      "Data shall be used exclusively for the approved research protocol",
      "All data transfers must use AES-256 encryption",
      "Data retention period: 3 years post-study completion"
    ]
  }
}

Response:

{
  "id": "DSA-2023-06-25-ABC123",
  "dsaDocument": {
    "agreement_id": "DSA-2023-06-25-ABC123",
    "study_title": "COVID-19 Vaccine Efficacy Study",
    "initiator_org": "Research Institute of Health",
    "collaborators": ["collab-001", "collab-002"],
    "data_types": ["deidentified_patient_data", "clinical_outcomes"],
    "validity_period": {"start": "2023-06-25", "end": "2026-06-25"},
    "security_profile": "Level2_EncryptedAtRest",
    "signature_status": "SIGNED",
    "generated_at": "2023-06-25T14:30:00.000Z",
    "signed_at": "2023-06-25T14:32:15.000Z",
    "clauses": [
      "Data shall be used exclusively for the approved research protocol",
      "All data transfers must use AES-256 encryption",
      "Data retention period: 3 years post-study completion"
    ]
  }
}

POST /technical-setup Submit technical setup configuration.

Request Body:

{
  "endpoint": "https://research-initiator.example.com/api",
  "requirements": [
    {"name": "Secure Network Access", "detail": ["Pipeline: Site Network → [VPN Client] → [IPsec Tunnel] → Trial Systems", "Config: Tunnel: site-to-site", "Encryption: AES-256", "Subnet: 192.0.2.0/24"]},
    {"name": "Clinical Data Repository", "detail": ["Pipeline: EHR Data → [FHIR Converter] → [Research DB] → API", "Config: Server: Azure FHIR", "Profile: ResearchSubject", "Auth: SMART-on-FHIR"]}
    // ... more requirements ...
  ]
}

Response:

{
  "setupId": "setup-2025-001",
  "status": "SUBMITTED",
  "submittedAt": "2025-07-11T10:30:45Z"
}

GET /technical-setup Check technical setup readiness.

Query Parameters:

Name Type Required Description Example
setupId string Yes Unique identifier for technical setup setup-2025-001

Response:

{
  "ready": true,
  "checklist": {
    "vpn": true,
    "dbAccess": true,
    "apiCredentials": true
  }
}

Executable process

Executable BPMN model of the initiator process:

Camunda Executable

pdf version

About

Public portfolio version of the ProjectPSD collaborative project

Resources

Stars

0 stars

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages