add hw2
This commit is contained in:
103
labs/lab2/1.svg
103
labs/lab2/1.svg
File diff suppressed because one or more lines are too long
|
Before Width: | Height: | Size: 12 KiB After Width: | Height: | Size: 198 KiB |
103
labs/lab2/2.svg
103
labs/lab2/2.svg
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 |
131
labs/lab2/ЛР2_ClassDiagram_IS_Hospital.mmd
Normal file
131
labs/lab2/ЛР2_ClassDiagram_IS_Hospital.mmd
Normal 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
|
||||
73
labs/lab2/ЛР2_UseCase_IS_Hospital.mmd
Normal file
73
labs/lab2/ЛР2_UseCase_IS_Hospital.mmd
Normal 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
|
||||
Binary file not shown.
Binary file not shown.
Reference in New Issue
Block a user