Skip to main content

Records Rocket Data Model

Understanding the core data structures in Records Rocket is key to leveraging our platform and API. Our system is built around a set of interconnected records, each with a specific purpose.

All records in our database share a set of base properties defined in BaseRecord:

  • id: A unique identifier for the record.
  • recordType: The type of the record (e.g., caseRecord, documentRecord).
  • tenantId: The ID of the organization that owns the record, ensuring strict data isolation.
  • status: The current status (active, archived, deleted).
  • createdAt, updatedAt, createdBy, updatedBy: Auditing timestamps and user references.

Key Record Types

Here are the most important record types you'll interact with:

TenantRecord

Represents a customer organization. All other data is scoped to a tenant.

UserRecord

Represents an individual user account. Each user belongs to a tenant and has a specific role.

CaseRecord

This is the central container for an individual medical evaluation.

  • caseId: The unique ID for the case.
  • title, description: Human-readable information about the case.
  • caseType: The type of evaluation, such as IME or PeerReview.

DocumentRecord

Represents a single file (e.g., a PDF of medical notes) uploaded to a case.

  • documentId: The unique ID for the document.
  • caseId: Links the document back to its case.
  • fileName, size, contentType: Original file metadata.
  • processStatus: The status of the AI processing pipeline (uploaded, processing, completed, error).

PageRecord

Represents a single page within a DocumentRecord.

  • pageId: A unique identifier formatted as {documentId}-{pageNumber}.
  • ocrText: The full text extracted from the page by our OCR engine.

EventRecord

Represents a single, discrete event extracted from the records by the AI, such as a doctor's visit, a surgery, or a prescription.

  • eventId: The unique ID for the event.
  • eventDate: The date the event occurred, used for building the case timeline.
  • eventRecordType: The category of the event (medical, legal, administrative).
  • pageIds: An array of page IDs where this event was mentioned, linking it back to the source.

AnnotationRecord

Represents a user-created annotation, like a note or a bookmark, attached to a page or an event.

FindingRecord

Represents a single piece of evidence extracted by the ReportOrchestrator during the report generation process. Each finding is subject to user review before being included in a final report.

ReportRecord

Represents the final, generated narrative report, synthesized from a collection of approved FindingRecords.