CRM клинического испытания
Создать с AI Agent
CRM для участников клинических испытаний Backend

Шаблон CRM для участников клинических испытаний Backend
Отслеживание пользователей, исследований, участников, скринингов, визитов и неблагоприятных событий

Готовый к производству CRM для участников клинических испытаний Backend на Back4app с Исследованием, Участником, Скринингом, Визитом, НеблагоприятнымСобытием и ЗаписьюУчастника рабочими процессами. Включает ER-диаграмму, словарь данных, JSON-схему, API-площадку и запрос AI Agent для быстрого развертывания.

Выводы испытания

Этот шаблон предоставляет вам бэкенд CRM для субъектов клинического испытания с классами User, Study, Subject, Screening, Visit, AdverseEvent и SubjectNote, чтобы координаторы могли выполнять операции с субъектами с меньшим количеством ручных доработок.

  1. Отслеживание статуса скринингаМоделируйте каждую запись Subject и Screening, чтобы координаторы могли видеть ожидающие, успешные, неуспешные или повторные состояния с screeningDate и заметками.
  2. Видимость расписания визитовИспользуйте Visit.visitType, scheduledAt, visitStatus, location и coordinator, чтобы поддерживать запланированные визиты и изменения расписания в запрашиваемом состоянии.
  3. Учёт нежелательных явленийЗаписывайте AdverseEvent.eventTerm, severity, serious, onsetDate, status и reportedBy для проверки безопасности.
  4. Дружественный к координатору рабочий процессПоддержка исследовательского персонала с назначениями Subject.coordinator, Screening.completedBy, Visit.coordinator и SubjectNote.author в одном бэкэнде.
  5. Многофункциональные операции клинических испытанийОбеспечьте веб-, мобильные и клинические панели управления через один REST и GraphQL API для субъектов, визитов, заметок по безопасности и неблагоприятных событий.

Что такое шаблон CRM для субъектов клинических испытаний?

Отчеты в CRM для субъектов клинических испытаний должны отвечать на вопросы руководства без необходимости вручную искать в папках и потоках сообщений. Это редко одинокая ошибка — это отклонение. Back4app закрепляет основные сущности для практики CRM субъектов клинических испытаний, которым нужны сроки, документы и коммуникации в одном разрешенном рабочем пространстве. Схема охватывает записи User, Study, Subject, Screening, Visit, AdverseEvent и SubjectNote с встроенными авторизацией и работами, учитывающими безопасность. Подключите ваш предпочтительный фронтенд и отправляйте быстрее.

Лучше всего для:

Приложения для операций клинических испытанийСистемы отслеживания отбора участниковИнструменты планирования визитовСистемы регистрации неблагоприятных событийПанели мониторинга клинических координаторовКоманды выбирают BaaS для регулируемых рабочих процессов

Обзор бэкэнда CRM участников клинических испытаний

Команды CRM участников клинических испытаний выигрывают, когда повседневная работа скучна: предсказуемые записи, очевидная ответственность и уведомления перед тем, как небольшие проблемы станут инцидентами.

Просмотрите сначала отслеживание назначения исследования, реестр участников, рабочий процесс отбора, затем откройте карточку стека, чтобы увидеть специальные заметки по SDK и схемы интеграции.

Основные функции клинических испытаний

Каждая карточка технологии в этом центре использует одну и ту же схему заднего плана клинического испытания с Пользователем, Исследованием, Темой, Скринингом, Визитом, НежелательнымСобытием и ЗапискойПоТемe.

Отслеживание назначения исследования

Исследование хранит protocolId, название, статус, главного исследователя и название сайта.

Реестр участников

Участник хранит subjectId, полное имя, статус скрининга, исследование, координатора, дату рождения, пол при рождении и дату подписания согласия.

Скрининг рабочий процесс

Скрининг связывает объект, исследование, статус скрининга, дату скрининга, выполнившего и заметки.

Запланированные посещения

Посещение включает объект, исследование, тип посещения, запланировано на, статус посещения, местоположение и координатора.

Регистрация событий безопасности

AdverseEvent хранит объект, исследование, термин события, степень тяжести, серьезность, дату начала, статус и информацию о том, кто сообщил.

Почему строить бэкенд для CRM субъектов клинических испытаний с Back4app?

Back4app предоставляет примитивы User, Study, Subject, Screening, Visit, AdverseEvent и SubjectNote, чтобы координаторы могли сосредоточиться на операциях испытаний, а не на прокладке инфраструктуры.

  • Скрининг и поток субъектов в одной схеме: Классы Subject и Screening хранят subjectId, fullName, screeningStatus, screeningDate и completedBy в одном месте.
  • Расписания посещений остаются доступными для запросов: Поля Visit и SubjectNote облегчают обзор запланированных встреч, переноса встреч и последующих действий персонала.
  • Журналирование безопасности явное: Записи AdverseEvent с eventTerm, severity, serious, onsetDate, status и reportedBy поддерживают проверяемые временные шкалы событий.

Создайте бэкенд для клинических испытаний, который поддерживает согласованность скринингов, посещений, заметок и неблагоприятных событий между командами.

Преимущества испытания

Задний план клинического испытания, который помогает координаторам работать быстрее, сохраняя структуру операций с субъектами.

Быстрый запуск испытания

Начните с полной схемы Пользователя, Исследования, Темы, Скрининга, Визита, НежелательногоСобытия и ЗапискиПоТемe, а не создавайте таблицы испытания с нуля.

Четкий статус скрининга

Используйте Subject.screeningStatus и Screening.screeningStatus, чтобы разделить ожидающие, прошедшие, неудачные и повторные случаи скрининга.

Координация визитов без догадок

Запланируйте и перенесите записи о визитах с visitType, scheduledAt, visitStatus и местоположением, чтобы сотрудники знали, что будет дальше.

Обзор безопасности

AdverseEvent.severity, serious, onsetDate, status и reportedBy предоставляют командам безопасности читаемую историю событий.

Заметки по субъекту остаются привязанными к записи

SubjectNote.noteType, noteText, author и subject сохраняют заметки о звонках, визитах и скринингах, прикрепленные к правильному участнику.

Рабочий процесс с поддержкой ИИ

Быстро создавайте серверную структуру и руководство по интеграции с помощью одного структурированного запроса.

Готовы запустить ваш CRM для субъектов клинических испытаний?

Позвольте Back4app AI Agent создать структуру вашего CRM для субъектов клинических испытаний и сгенерировать рабочие процессы для User, Study, Subject, Screening, Visit, AdverseEvent и SubjectNote из одного запроса.

Бесплатно для начала — 50 подсказок AI-агента в месяц, карта не требуется

Технический стек клинических испытаний

Всё включено в этот шаблон backend для клинических испытаний.

Фронтенд
13+ технологий
Бэкенд
Back4app
База данных
MongoDB
Аутентификация
Встроенная аутентификация + сессии
API
REST и GraphQL
Реальное время
Live Queries

Клиническая схема карты

Модель отношений между сущностями для схемы бэкэнда CRM для субъектов клинических испытаний.

Просмотреть источник диаграммы
Mermaid
erDiagram
    User ||--o{ Study : "principalInvestigator"
    User ||--o{ Subject : "coordinator"
    User ||--o{ Screening : "completedBy"
    User ||--o{ Visit : "coordinator"
    User ||--o{ AdverseEvent : "reportedBy"
    User ||--o{ SubjectNote : "author"
    Study ||--o{ Subject : "study"
    Study ||--o{ Screening : "study"
    Study ||--o{ Visit : "study"
    Study ||--o{ AdverseEvent : "study"
    Subject ||--o{ Screening : "subject"
    Subject ||--o{ Visit : "subject"
    Subject ||--o{ AdverseEvent : "subject"
    Subject ||--o{ SubjectNote : "subject"

    User {
        String objectId PK
        String username
        String email
        String password
        String role
        String siteName
        Date createdAt
        Date updatedAt
    }

    Study {
        String objectId PK
        String protocolId
        String title
        String status
        String principalInvestigatorId FK
        String siteName
        Date createdAt
        Date updatedAt
    }

    Subject {
        String objectId PK
        String subjectId
        String fullName
        String screeningStatus
        String studyId FK
        String coordinatorId FK
        Date dob
        String sexAtBirth
        Date consentSignedAt
        Date createdAt
        Date updatedAt
    }

    Screening {
        String objectId PK
        String subjectId FK
        String studyId FK
        String screeningStatus
        Date screeningDate
        String completedById FK
        String notes
        Date createdAt
        Date updatedAt
    }

    Visit {
        String objectId PK
        String subjectId FK
        String studyId FK
        String visitType
        Date scheduledAt
        String visitStatus
        String location
        String coordinatorId FK
        Date createdAt
        Date updatedAt
    }

    AdverseEvent {
        String objectId PK
        String subjectId FK
        String studyId FK
        String eventTerm
        String severity
        Boolean serious
        Date onsetDate
        String status
        String reportedById FK
        Date createdAt
        Date updatedAt
    }

    SubjectNote {
        String objectId PK
        String subjectId FK
        String authorId FK
        String noteType
        String noteText
        Date createdAt
        Date updatedAt
    }

Клиническая интеграция

Типичный поток выполнения для входа пользователя, скрининга субъекта, планирования визита, ввода примечания к субъекту и регистрации неблагоприятного события.

Просмотреть источник диаграммы
Mermaid
sequenceDiagram
  participant User
  participant App as Clinical Trial Subject CRM App
  participant Back4app as Back4app Cloud

  User->>App: Sign in
  App->>Back4app: POST /login
  Back4app-->>App: Session token

  User->>App: Open screening queue
  App->>Back4app: GET /classes/Screening?include=subject,study&order=-screeningDate
  Back4app-->>App: Screening rows with subjectId and screeningStatus

  User->>App: Add a visit schedule
  App->>Back4app: POST /classes/Visit
  Back4app-->>App: Visit objectId and scheduledAt

  User->>App: Log an adverse event
  App->>Back4app: POST /classes/AdverseEvent
  Back4app-->>App: AdverseEvent objectId and status

  App->>Back4app: Subscribe to live updates for Visit and AdverseEvent
  Back4app-->>App: Real-time subject activity

Полевой справочник

Полное ссылочное руководство по каждому классу в схеме клинических испытаний.

ПолеТипОписаниеОбязательный
objectIdStringAuto-generated unique identifierАвто
usernameStringUser login name
emailStringUser email address
passwordStringHashed password (write-only)
roleStringRole of the user, such as coordinator, investigator, or sponsor
siteNameStringClinical site or clinic name
createdAtDateAuto-generated creation timestampАвто
updatedAtDateAuto-generated last-update timestampАвто

8 поля в User

Контроль доступа в клинических испытаниях

Как стратегия ACL и CLP защищает исследования, субъекты, визиты, заметки о субъектах и журналы неблагоприятных событий.

Доступ с ограничением по координатору

Только одобренный персонал испытания может создавать или редактировать записи о Испытуемых, Скрининге, Визитах, НеблагоприятныхСобытиях и ЗаписяхИспытуемых.

Разделение данных на уровне сайта

Используйте владение исследованием и запросы на основе указателей, чтобы команды видели только испытуемых, назначенных их сайту.

Целостность журнала безопасности

Записи НеблагоприятныхСобытий должны быть ограничены для записи и проверены в Cloud Code перед поступлением на проверку.

JSON Схема

Сырая схема JSON готова к копированию в Back4app или для использования в качестве справочного материала для реализации.

JSON
{
  "classes": [
    {
      "className": "User",
      "fields": {
        "objectId": {
          "type": "String",
          "required": false
        },
        "username": {
          "type": "String",
          "required": true
        },
        "email": {
          "type": "String",
          "required": true
        },
        "password": {
          "type": "String",
          "required": true
        },
        "role": {
          "type": "String",
          "required": true
        },
        "siteName": {
          "type": "String",
          "required": false
        },
        "createdAt": {
          "type": "Date",
          "required": false
        },
        "updatedAt": {
          "type": "Date",
          "required": false
        }
      }
    },
    {
      "className": "Study",
      "fields": {
        "objectId": {
          "type": "String",
          "required": false
        },
        "protocolId": {
          "type": "String",
          "required": true
        },
        "title": {
          "type": "String",
          "required": true
        },
        "status": {
          "type": "String",
          "required": true
        },
        "principalInvestigator": {
          "type": "Pointer",
          "required": true,
          "targetClass": "User"
        },
        "siteName": {
          "type": "String",
          "required": true
        },
        "createdAt": {
          "type": "Date",
          "required": false
        },
        "updatedAt": {
          "type": "Date",
          "required": false
        }
      }
    },
    {
      "className": "Subject",
      "fields": {
        "objectId": {
          "type": "String",
          "required": false
        },
        "subjectId": {
          "type": "String",
          "required": true
        },
        "fullName": {
          "type": "String",
          "required": true
        },
        "screeningStatus": {
          "type": "String",
          "required": true
        },
        "study": {
          "type": "Pointer",
          "required": true,
          "targetClass": "Study"
        },
        "coordinator": {
          "type": "Pointer",
          "required": true,
          "targetClass": "User"
        },
        "dob": {
          "type": "Date",
          "required": false
        },
        "sexAtBirth": {
          "type": "String",
          "required": false
        },
        "consentSignedAt": {
          "type": "Date",
          "required": false
        },
        "createdAt": {
          "type": "Date",
          "required": false
        },
        "updatedAt": {
          "type": "Date",
          "required": false
        }
      }
    },
    {
      "className": "Screening",
      "fields": {
        "objectId": {
          "type": "String",
          "required": false
        },
        "subject": {
          "type": "Pointer",
          "required": true,
          "targetClass": "Subject"
        },
        "study": {
          "type": "Pointer",
          "required": true,
          "targetClass": "Study"
        },
        "screeningStatus": {
          "type": "String",
          "required": true
        },
        "screeningDate": {
          "type": "Date",
          "required": true
        },
        "completedBy": {
          "type": "Pointer",
          "required": true,
          "targetClass": "User"
        },
        "notes": {
          "type": "String",
          "required": false
        },
        "createdAt": {
          "type": "Date",
          "required": false
        },
        "updatedAt": {
          "type": "Date",
          "required": false
        }
      }
    },
    {
      "className": "Visit",
      "fields": {
        "objectId": {
          "type": "String",
          "required": false
        },
        "subject": {
          "type": "Pointer",
          "required": true,
          "targetClass": "Subject"
        },
        "study": {
          "type": "Pointer",
          "required": true,
          "targetClass": "Study"
        },
        "visitType": {
          "type": "String",
          "required": true
        },
        "scheduledAt": {
          "type": "Date",
          "required": true
        },
        "visitStatus": {
          "type": "String",
          "required": true
        },
        "location": {
          "type": "String",
          "required": false
        },
        "coordinator": {
          "type": "Pointer",
          "required": true,
          "targetClass": "User"
        },
        "createdAt": {
          "type": "Date",
          "required": false
        },
        "updatedAt": {
          "type": "Date",
          "required": false
        }
      }
    },
    {
      "className": "AdverseEvent",
      "fields": {
        "objectId": {
          "type": "String",
          "required": false
        },
        "subject": {
          "type": "Pointer",
          "required": true,
          "targetClass": "Subject"
        },
        "study": {
          "type": "Pointer",
          "required": true,
          "targetClass": "Study"
        },
        "eventTerm": {
          "type": "String",
          "required": true
        },
        "severity": {
          "type": "String",
          "required": true
        },
        "serious": {
          "type": "Boolean",
          "required": true
        },
        "onsetDate": {
          "type": "Date",
          "required": true
        },
        "status": {
          "type": "String",
          "required": true
        },
        "reportedBy": {
          "type": "Pointer",
          "required": true,
          "targetClass": "User"
        },
        "createdAt": {
          "type": "Date",
          "required": false
        },
        "updatedAt": {
          "type": "Date",
          "required": false
        }
      }
    },
    {
      "className": "SubjectNote",
      "fields": {
        "objectId": {
          "type": "String",
          "required": false
        },
        "subject": {
          "type": "Pointer",
          "required": true,
          "targetClass": "Subject"
        },
        "author": {
          "type": "Pointer",
          "required": true,
          "targetClass": "User"
        },
        "noteType": {
          "type": "String",
          "required": true
        },
        "noteText": {
          "type": "String",
          "required": true
        },
        "createdAt": {
          "type": "Date",
          "required": false
        },
        "updatedAt": {
          "type": "Date",
          "required": false
        }
      }
    }
  ]
}

Создать с помощью AI Agent

Используйте Back4app AI Agent для создания настоящего приложения CRM для испытуемых клинических испытаний из этого шаблона, включая фронтенд, бэкенд, аутентификацию и потоки скрининга, посещения, заметок и безопасности.

Back4app AI Agent
Готовы к разработке
Создайте безопасный бэкенд CRM для испытуемых клинических испытаний на Back4app с этой точной схемой и поведением.

Схема:
1. Пользователь (использовать встроенное Back4app): имя пользователя, электронная почта, пароль, роль, название сайта; objectId, createdAt, updatedAt (система).
2. Исследование: protocolId (String, обязательно), название (String, обязательно), статус (String, обязательно), главный исследователь (Указатель на Пользователя, обязательно), название сайта (String, обязательно); objectId, createdAt, updatedAt (система).
3. Испытуемый: subjectId (String, обязательно), полное имя (String, обязательно), статус скрининга (String, обязательно), исследование (Указатель на Исследование, обязательно), координатор (Указатель на Пользователя, обязательно), дата рождения, пол при рождении, согласие подписано в; objectId, createdAt, updatedAt (система).
4. Скрининг: subject (Указатель на Испытуемого, обязательно), study (Указатель на Исследование, обязательно), screeningStatus (String, обязательно), screeningDate (Date, обязательно), completedBy (Указатель на Пользователя, обязательно), notes (String); objectId, createdAt, updatedAt (система).
5. Посещение: subject (Указатель на Испытуемого, обязательно), research (Указатель на Исследование, обязательно), visitType (String, обязательно), scheduledAt (Date, обязательно), visitStatus (String, обязательно), location (String), координатор (Указатель на Пользователя, обязательно); objectId, createdAt, updatedAt (система).
6. Нежелательное событие: subject (Указатель на Испытуемого, обязательно), study (Указатель на Исследование, обязательно), eventTerm (String, обязательно), severity (String, обязательно), serious (Boolean, обязательно), onsetDate (Date, обязательно), status (String, обязательно), reportedBy (Указатель на Пользователя, обязательно); objectId, createdAt, updatedAt (система).
7. Заметка об испытуемом: subject (Указатель на Испытуемого, обязательно), author (Указатель на Пользователя, обязательно), noteType (String, обязательно), noteText (String, обязательно); objectId, createdAt, updatedAt (система).

Безопасность:
- Сохраните списки испытуемых только для аутентифицированного персонала.
- Позвольте координаторам редактировать Испытуемых и Посещения для их сайта.
- Ограничьте ввод Нежелательных событий только для аутентифицированных пользователей с ролями координатора или исследователя.
- Используйте ACL и CLP, чтобы статус скрининга, расписания посещений, заметки об испытуемых и журналы нежелательных событий были защищены от публичного доступа.

Аутентификация:
- Регистрация, вход, выход.

Поведение:
- Отслеживайте очередь скрининга, назначение испытуемых, расписания посещений, журналы нежелательных событий и заметки об испытуемых.
- Поддерживайте запросы, фильтруемые по исследованию, screeningStatus, visitStatus и серьезным нежелательным событиям.

Доставка:
- Приложение Back4app с схемой, ACL, CLP; фронтенд для панелей управления скринингом, планирования посещений, отчетности о нежелательных событиях и заметок об испытуемых.

Нажмите кнопку ниже, чтобы открыть Агент с предварительно заполненным шаблоном подсказки.

Это базовая подсказка без технологического суффикса. Вы можете адаптировать созданный стек фронтенда позже.

Развернуть за минуты50 бесплатных подсказок / месяцНе требуется кредитная карта

API песочница

Попробуйте конечные точки REST и GraphQL с использованием схемы клинического испытания. Ответы используют фиктивные данные и не требуют учетной записи Back4app

Загрузка песочницы…

Использует ту же схему, что и этот шаблон.

Выберите ваш стек

Разверните каждую карточку, чтобы увидеть, как интегрировать Изучение, Предмет и Скрининг с вашим выбранным стеком.

Flutter CRM для участников клинических испытаний

React CRM для участников клинических испытаний

React Native CRM для участников клинических испытаний

Next.js CRM для участников клинических испытаний

JavaScript CRM для участников клинических испытаний

Android CRM для участников клинических испытаний

iOS CRM для участников клинических испытаний

Vue CRM для участников клинических испытаний

Angular CRM для участников клинических испытаний

GraphQL CRM для участников клинических испытаний

REST API CRM для участников клинических испытаний

PHP CRM для участников клинических испытаний

.NET CRM для участников клинических испытаний

Что вы получаете с каждой технологией

Каждый стек использует одну и ту же схему бэкенда клинических испытаний и API-контракты.

Унифицированная структура данных операций испытаний

Легко управляйте записями Пользователя, Исследования, Предмета, Скрининга, Визита, Неблагоприятного события и Заметки по предмету с помощью единой схемы.

Контроль статуса скрининга для команд испытаний

Отслеживайте соответствие критериям и вехи зачисления с явными полями для предметов.

Запланирование визитов для координаторов

Координируйте запланированные, завершенные, пропущенные или отмененные визиты в одном месте.

Регистрация событий безопасности для клинических рабочих процессов

Записывайте неблагоприятные события с указанием степени тяжести и статуса последующего наблюдения.

Сравнение клинических стеков

Сравните скорость настройки, стиль SDK и поддержку ИИ среди всех поддерживаемых технологий.

ФреймворкВремя настройкиПреимущества клинических испытанийТип SDKПоддержка ИИ
Около 5 минутЕдиная кодовая база для координационных приложений на мобильных и веб-устройствах.Типизированный SDKПолный
Менее 5 минутБыстрая веб-панель для скрининга и планирования визитов.Типизированный SDKПолный
~3–7 минКроссплатформенное мобильное приложение для персонала сайта.Типизированный SDKПолный
Быстрая (5 мин) настройкаСерверный клинический панель операций.Типизированный SDKПолный
~3–5 минЛегкая веб-интеграция для пробных операций.Typed SDKПолный
Около 5 минНативное приложение Android для координаторов.Typed SDKПолный
Менее 5 минутНативное приложение iOS для обзора посещений и безопасности.Typed SDKПолный
~3–7 минReact веб-интерфейс для отслеживания предметов.Написанный SDKПолный
Быстрая (5 мин) настройкаКорпоративная панель мониторинга для клинических команд.Написанный SDKПолный
Менее 2 минутГибкий GraphQL API для вложенных запросов по испытаниям.GraphQL APIПолный
Быстрая (2 мин) настройкаREST API интеграция для клинических операций.REST APIПолный
~3 минСерверная интеграция PHP для инструментов координаторов.REST APIПолный
~3–7 мин.NET бэкенд для приложений с регулируемыми рабочими процессами.Типизированный SDKПолный

Время настройки отражает ожидаемую продолжительность от запуска проекта до первого запроса на тему или визита с использованием этой схемы шаблона.

Часто задаваемые вопросы о клинических испытаниях

Общие вопросы о создании бэкенда CRM для участников клинических испытаний с помощью этого шаблона.

Как практики CRM для участников клинических испытаний поддерживают высокое качество приема по мере роста объемов?
Как командам CRM для участников клинических испытаний моделировать клиентов, дела и внутренние передачи без неясности?
Можем ли мы интегрировать электронную подпись или хранение документов, не фрагментируя записи CRM для участников клинических испытаний?
Как мне запросить данные о субъектах и визитах с помощью Flutter?
Как мне управлять доступом к CRM данных субъектов клинических испытаний с помощью Next.js Server Actions?
Может ли React Native кэшировать нежелательные события в офлайн-режиме?
Как мне предотвратить несанкционированный доступ к данным субъектов?
Какой лучший способ продемонстрировать операции испытаний на Android?
Как работает процесс от скрининга до визита от начала до конца?

Доверяют разработчики со всего мира

Присоединяйтесь к командам, которые быстрее разрабатывают продукты CRM для участников клинических испытаний с шаблонами Back4app

G2 Users Love Us Badge

Готовы создать ваше приложение CRM для участников клинических испытаний?

Начните свой проект клинического испытания за пару минут. Кредитная карта не требуется.

Выберите технологию