ServicesCrelio AppArchitectureApp Modules

Specialized Apps

Architecture overview of specialized apps - inventory, operation, crm, support, nabl, pacs, assistant

Specialized Apps Architecture

This document covers the smaller, specialized apps in the codebase.


inventory

Domain Responsibility

  • Reagent and consumable tracking
  • Inventory consumption per test
  • Stock levels and alerts
  • Approval workflows for requisitions

Key Models

ModelResponsibility
InventoryItemStock items
InventoryConsumptionUsage tracking
ApprovalActivityRequisition approvals

File Map

FilePurpose
inventory/models/Models (52 files)
inventory/views/API views

operation

Domain Responsibility

  • Lab operation scheduling
  • Workload management
  • Operational dashboards
  • TAT tracking

Key Models

ModelResponsibility
OperationLogOperation records
OperationScheduleScheduling

File Map

FilePurpose
operation/models/Models (2 files)
operation/services/Business logic

crm

Domain Responsibility

  • Customer relationship management
  • Promotions and campaigns
  • Store management (online booking)
  • Section management

Structure

crm/
├── base/           # Shared utilities
├── listview/       # List configurations
├── promotion/      # Promotions
├── section_manager/ # UI sections
└── store/          # Online store

File Map

FilePurpose
crm/promotion/Promotion management
crm/store/Store/booking

support

Domain Responsibility

  • Internal support dashboard
  • User login exports
  • Lab health monitoring
  • Support ticket helpers

Key Models

ModelResponsibility
SupportTicketSupport cases
SupportNoteCase notes

File Map

FilePurpose
support/models/Models (10 files)
support/views/Dashboard views

nabl

Domain Responsibility

  • NABL accreditation compliance
  • Quality documentation
  • Audit trail for compliance

Key Models

ModelResponsibility
NABLDocumentCompliance docs
NABLAuditAudit records

File Map

FilePurpose
nabl/models/Models (6 files)

pacs

Domain Responsibility

  • DICOM/radiology image integration
  • Link sharing for images
  • PACS viewer integration

Key Models

ModelResponsibility
PACSStudyRadiology studies
PACSLinkShare links

File Map

FilePurpose
pacs/models/Models (3 files)
pacs/views/link_sharing_via_email.pyLink sharing

assistant

Domain Responsibility

  • AI assistant integration
  • LLM-powered features
  • Conversation management

Key Models

ModelResponsibility
AssistantSessionChat sessions
AssistantMessageMessages

Clients

assistant/clients/
├── openai_client.py
└── anthropic_client.py

File Map

FilePurpose
assistant/models/Models (3 files)
assistant/clients/AI clients

Common Patterns Across Specialized Apps

Extension Guidelines

  1. Small scope - Keep these apps focused
  2. Minimal coupling - Depend only on core/ and admin/
  3. Clear boundaries - Don't duplicate logic from main apps

When to Create New Specialized App

Create a new app when:

  • Feature is self-contained
  • Has unique data models
  • Minimal cross-app dependencies
  • Could be disabled without breaking core flow

On this page