This commit is contained in:
nik
2025-10-03 22:27:28 +03:00
parent 829fad0e17
commit 871cf7e792
16520 changed files with 2967597 additions and 3 deletions

File diff suppressed because one or more lines are too long

Before

Width:  |  Height:  |  Size: 12 KiB

After

Width:  |  Height:  |  Size: 198 KiB

File diff suppressed because one or more lines are too long

Before

Width:  |  Height:  |  Size: 15 KiB

After

Width:  |  Height:  |  Size: 141 KiB

File diff suppressed because one or more lines are too long

Before

Width:  |  Height:  |  Size: 9.0 KiB

View File

@@ -0,0 +1,131 @@
%% ЛР2 — Диаграмма классов (ИС регистрации пациента в больнице)
classDiagram
class User {
+id: UUID
+login: string
+passwordHash: string
+fullName: string
+role: Role
}
class Registrar
class Doctor {
+specialty: string
}
class HeadOfDepartment
class Admin
User <|-- Registrar
User <|-- Doctor
User <|-- HeadOfDepartment
User <|-- Admin
class Patient {
+id: UUID
+fullName: string
+birthDate: date
+sex: string
+phone: string
+policyNumber: string
}
class Department {
+id: UUID
+name: string
}
class Admission {
+id: UUID
+admitDate: datetime
+dischargeDate: datetime
+status: AdmissionStatus
}
class Appointment {
+id: UUID
+dateTime: datetime
+status: ApptStatus
}
class MedicalRecord {
+id: UUID
+createdAt: datetime
}
class Diagnosis {
+code: string
+name: string
+notes: string
}
class TreatmentPlan {
+id: UUID
+createdAt: datetime
+notes: string
}
class Prescription {
+id: UUID
+drugName: string
+dosage: string
+schedule: string
}
class Procedure {
+id: UUID
+name: string
+dateTime: datetime
+result: string
}
class Invoice {
+id: UUID
+issueDate: date
+total: money
+status: InvoiceStatus
}
class InvoiceItem {
+name: string
+qty: int
+price: money
+amount(): money
}
class Payment {
+id: UUID
+dateTime: datetime
+amount: money
+method: PayMethod
}
class Report {
+id: UUID
+title: string
+periodStart: date
+periodEnd: date
+generatedAt: datetime
}
%% Associations & multiplicities
Patient "1" --> "0..*" Appointment
Doctor "1" --> "0..*" Appointment
Appointment "*" --> "0..1" Diagnosis
Patient "1" --> "1" MedicalRecord
MedicalRecord "1" --> "0..*" Diagnosis
MedicalRecord "1" --> "0..*" TreatmentPlan
TreatmentPlan "1" --> "0..*" Prescription
TreatmentPlan "1" --> "0..*" Procedure
Registrar "1" --> "0..*" Admission
Patient "1" --> "0..*" Admission
Department "1" --> "0..*" Admission
Admission "1" --> "0..1" TreatmentPlan
Invoice "1" --> "1..*" InvoiceItem
Patient "1" --> "0..*" Invoice
Admission "0..1" --> "0..*" Invoice
Invoice "1" --> "0..*" Payment
HeadOfDepartment "1" --> "0..*" Report
Department "1" --> "0..*" Report

View File

@@ -0,0 +1,73 @@
%% ЛР2 — Диаграмма вариантов использования (ИС регистрации пациента в больнице)
%% Акторы
%% Пациент, Регистратор, Врач, Заведующий отделением, Бухгалтерия, Администратор системы
---
title: Use Case — ИС регистрации пациента в больнице
---
flowchart TB
%% Actors
actor_P["Пациент"]
actor_R["Регистратор"]
actor_D["Врач"]
actor_H["Заведующий отделением"]
actor_F["Бухгалтерия"]
actor_A["Администратор системы"]
%% System boundary
subgraph System[ИС регистрации пациента]
UC_Login["Авторизация пользователя"]
UC_Register["Регистрация пациента"]
UC_Find["Поиск пациента"]
UC_Edit["Редактирование данных пациента"]
UC_Admission["Госпитализация пациента"]
UC_Appointment["Запись на приём"]
UC_Treatment["Назначить лечение"]
UC_MedRec["Создать запись в медкарте"]
UC_Prescription["Выписать рецепт/назначения"]
UC_Discharge["Выписка пациента"]
UC_Invoice["Выставить счёт"]
UC_Calc["Рассчитать стоимость услуг"]
UC_Payment["Принять оплату"]
UC_Report["Просмотр отчётов"]
UC_ReportGen["Сформировать отчёт"]
UC_UserAdmin["Управление пользователями"]
end
%% Associations (actors -> use cases)
actor_R --- UC_Login
actor_D --- UC_Login
actor_H --- UC_Login
actor_F --- UC_Login
actor_A --- UC_Login
actor_R --- UC_Register
actor_R --- UC_Find
actor_R --- UC_Edit
actor_R --- UC_Admission
actor_R --- UC_Appointment
actor_D --- UC_Treatment
actor_D --- UC_MedRec
actor_D --- UC_Prescription
actor_D --- UC_Discharge
actor_F --- UC_Invoice
actor_F --- UC_Payment
actor_H --- UC_Report
actor_A --- UC_UserAdmin
%% Includes / Extends (modeled as dotted arrows with labels)
UC_Register -. включает .-> UC_Find
UC_Treatment -. включает .-> UC_MedRec
UC_Treatment -. включает .-> UC_Prescription
UC_Invoice -. включает .-> UC_Calc
UC_Report -. включает .-> UC_ReportGen
UC_Admission -. расширяет .-> UC_Register
UC_Discharge -. расширяет .-> UC_Treatment
%% Patient-facing actions
actor_P --- UC_Appointment
actor_P --- UC_Payment