Skip to content

Latest commit

 

History

History
242 lines (210 loc) · 11.3 KB

File metadata and controls

242 lines (210 loc) · 11.3 KB

Спецификация формата .case_database.json

Обзор

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

Версии

  • v1.0 - Базовая функциональность (декабрь 2024)
  • v1.1 - Добавлена поддержка задач юристов и внешних систем (текущая)

Структура файла

{
  "version": "1.1",
  "lastUpdated": "2024-01-01T12:00:00Z",
  "metadata": { ... },
  "documents": [ ... ],
  "facts": [ ... ],
  "evidences": [ ... ],
  "circumstances": [ ... ],
  "lawyerTasks": [ ... ],
  "tags": [ ... ],
  "relations": [ ... ]
}

Основные объекты

CaseMetadata

Информация о деле:

  • caseName: string - Название дела
  • caseNumber: string - Номер дела
  • description: string - Описание дела
  • goals: string - Цели ведения дела
  • userRole: string - Роль пользователя (истец, ответчик, представитель)
  • strategy: string - Стратегия ведения дела
  • participants: Array - Участники дела
  • court: string - Наименование суда
  • category: string - Категория дела
  • status: string - Статус дела

CaseParticipant

Участник дела:

  • id: UUID - Уникальный идентификатор
  • name: string - ФИО или наименование
  • role: string - Роль (истец, ответчик, третье лицо и т.д.)
  • type: string - Тип (физлицо, юрлицо)
  • inn: string? - ИНН
  • address: string? - Адрес
  • phone: string? - Телефон
  • email: string? - Email

DocumentRecord

Запись о документе:

  • id: UUID - Уникальный идентификатор
  • filePath: string - Относительный путь к файлу
  • fileName: string - Имя файла
  • fileSize: Int64 - Размер файла в байтах
  • fileModified: Date - Дата последней модификации
  • fileHash: string? - SHA256 хеш для отслеживания изменений
  • extractedText: string? - Извлеченный текст документа
  • extractionDate: Date - Дата извлечения текста
  • extractionMethod: string? - Метод извлечения (PDFKit, textutil, OCR)
  • documentType: string? - Тип документа (иск, договор, решение и т.д.)
  • documentDate: Date? - Дата документа (не файла)
  • tags: Array - Теги документа
  • notes: string? - Заметки
  • importance: ImportanceLevel - Уровень важности
  • isEvidence: boolean - Является ли доказательством
  • evidenceDescription: string? - Описание как доказательства
  • confidentialityLevel: ConfidentialityLevel - Уровень конфиденциальности
  • legalRelevance: LegalRelevance - Правовая значимость
  • processingStatus: ProcessingStatus - Статус обработки
  • isExternal: boolean - Файл находится вне папки дела

CaseFact

Факт по делу:

  • id: UUID - Уникальный идентификатор
  • title: string - Название факта
  • description: string - Описание факта
  • category: string - Категория факта
  • importance: ImportanceLevel - Важность
  • isProven: boolean - Доказан ли факт
  • isDisputed: boolean - Оспаривается ли факт
  • relatedDocumentIds: Array - Связанные документы
  • relatedEvidenceIds: Array - Связанные доказательства
  • relatedCircumstanceIds: Array - Связанные обстоятельства
  • sourceFilePaths: Array - Файлы-источники
  • analysisFilePaths: Array - Файлы с анализом
  • notes: string? - Заметки
  • createdDate: Date - Дата создания
  • updatedDate: Date - Дата обновления

CaseEvidence

Доказательство по делу:

  • id: UUID - Уникальный идентификатор
  • title: string - Название доказательства
  • description: string - Описание доказательства
  • evidenceType: EvidenceType - Тип доказательства
  • strength: EvidenceStrength - Сила доказательства
  • isAdmissible: boolean? - Допустимость (null = не определено)
  • relatedDocumentIds: Array - Связанные документы
  • relatedFactIds: Array - Связанные факты
  • relatedCircumstanceIds: Array - Связанные обстоятельства
  • sourceFilePaths: Array - Файлы-источники
  • analysisFilePaths: Array - Файлы с анализом
  • extractedDataPaths: Array - Файлы с извлеченными данными
  • notes: string? - Заметки
  • createdDate: Date - Дата создания
  • updatedDate: Date - Дата обновления

CaseCircumstance

Обстоятельство дела:

  • id: UUID - Уникальный идентификатор
  • title: string - Название обстоятельства
  • description: string - Описание обстоятельства
  • category: string - Категория
  • isEstablished: boolean - Установлено ли обстоятельство
  • isDisputed: boolean - Оспаривается ли обстоятельство
  • importance: ImportanceLevel - Важность
  • relatedDocumentIds: Array - Связанные документы
  • relatedFactIds: Array - Связанные факты
  • relatedEvidenceIds: Array - Связанные доказательства
  • sourceFilePaths: Array - Файлы-источники
  • analysisFilePaths: Array - Файлы с анализом
  • notes: string? - Заметки
  • createdDate: Date - Дата создания
  • updatedDate: Date - Дата обновления

LawyerTask

Задача для юриста:

  • id: UUID - Уникальный идентификатор
  • task: string - Описание задачи
  • description: string? - Подробное описание
  • priority: TaskPriority - Приоритет
  • status: TaskStatus - Статус выполнения
  • deadline: string? - Срок выполнения (формат: "dd.MM.yyyy")
  • responsible: string? - Ответственный
  • resources: string? - Необходимые ресурсы
  • expectedResult: string? - Ожидаемый результат
  • category: TaskCategory - Категория задачи
  • relatedGapDescription: string? - Связанный пробел в доказательствах
  • createdDate: Date - Дата создания
  • updatedDate: Date - Дата обновления
  • completedDate: Date? - Дата завершения
  • notes: string? - Заметки
  • relatedFactIds: Array - Связанные факты
  • relatedEvidenceIds: Array - Связанные доказательства
  • relatedCircumstanceIds: Array - Связанные обстоятельства
  • relatedDocumentIds: Array - Связанные документы

Перечисления (Enums)

ImportanceLevel

  • low - Низкая важность
  • normal - Обычная важность
  • high - Высокая важность
  • critical - Критическая важность

EvidenceType

  • documentary - Документальное
  • testimonial - Свидетельское
  • physical - Вещественное
  • expert - Экспертное
  • circumstantial - Косвенное
  • other - Иное

EvidenceStrength

  • weak - Слабое
  • medium - Среднее
  • strong - Сильное
  • decisive - Решающее

ConfidentialityLevel

  • public - Отправлять в ИИ исходный текст
  • restricted - Отправлять в ИИ только обезличенный текст
  • confidential - Отправлять в ИИ только описание без текста
  • secret - Никогда не отправлять в ИИ ничего

LegalRelevance

  • irrelevant - Не относится к делу
  • minor - Незначительная
  • normal - Обычная
  • important - Важная
  • key - Ключевая
  • decisive - Решающая

ProcessingStatus

  • pending - Ожидает обработки
  • reviewed - Просмотрен
  • analyzed - Проанализирован
  • processed - Обработан
  • archived - Архивирован

TaskPriority

  • urgent - Срочный
  • high - Высокий
  • medium - Средний
  • low - Низкий

TaskStatus

  • pending - Ожидает
  • inProgress - В работе
  • completed - Выполнена
  • cancelled - Отменена
  • onHold - Приостановлена

TaskCategory

  • evidenceCollection - Сбор доказательств
  • documentPreparation - Подготовка документов
  • expertiseOrdering - Заказ экспертизы
  • witnessPreparation - Подготовка свидетелей
  • legalResearch - Правовые исследования
  • clientCommunication - Работа с клиентом
  • courtPreparation - Подготовка к суду
  • negotiation - Переговоры
  • other - Прочее

Валидация

Файлы должны соответствовать JSON Schema соответствующей версии. Схемы доступны в папке schemas/.

Совместимость

  • Формат обратно совместим
  • Новые версии могут добавлять поля, но не изменять существующие без необходимости
  • Миграция между версиями должна быть автоматизирована

Безопасность и конфиденциальность

  • Формат поддерживает уровни конфиденциальности для каждого документа
  • Данные могут быть анонимизированы перед передачей в ИИ
  • Поддерживается частичное шифрование чувствительных данных

Расширения

Формат может быть расширен для специфических нужд:

  • Добавление новых полей в существующие объекты
  • Создание новых типов объектов
  • Кастомные перечисления для специфических доменов