feat: add lab tests, patient file management, and prescription improvements

This commit is contained in:
SajjadMahmoody
2026-04-17 20:15:38 +03:30
parent 6a301c5529
commit bf0ada051f
53 changed files with 3201 additions and 387 deletions
@@ -0,0 +1,22 @@
<?php
use Illuminate\Database\Migrations\Migration;
use Illuminate\Database\Schema\Blueprint;
use Illuminate\Support\Facades\Schema;
return new class extends Migration
{
public function up(): void
{
Schema::table('doctors', function (Blueprint $table) {
$table->boolean('is_default')->default(false)->after('license_id');
});
}
public function down(): void
{
Schema::table('doctors', function (Blueprint $table) {
$table->dropColumn('is_default');
});
}
};
@@ -0,0 +1,28 @@
<?php
declare(strict_types=1);
use Illuminate\Database\Migrations\Migration;
use Illuminate\Database\Schema\Blueprint;
use Illuminate\Support\Facades\Schema;
return new class extends Migration
{
public function up(): void
{
Schema::create('lab_tests', function (Blueprint $table) {
$table->id();
$table->string('name', 255)->comment('نام آزمایش');
$table->string('category', 100)->nullable()->comment('دسته‌بندی (مثلاً هماتولوژی، بیوشیمی، سرولوژی)');
$table->text('notes')->nullable()->comment('یادداشت‌ها');
$table->boolean('is_default')->default(false);
$table->boolean('is_active')->default(true)->comment('فعال/غیرفعال');
$table->timestamps();
});
}
public function down(): void
{
Schema::dropIfExists('lab_tests');
}
};
@@ -0,0 +1,24 @@
<?php
declare(strict_types=1);
use Illuminate\Database\Migrations\Migration;
use Illuminate\Database\Schema\Blueprint;
use Illuminate\Support\Facades\Schema;
return new class extends Migration
{
public function up(): void
{
Schema::table('prescriptions', function (Blueprint $table) {
$table->json('lab_test_ids')->nullable()->after('medication_ids')->comment('آرایه شناسه‌های آزمایش‌های انتخاب‌شده');
});
}
public function down(): void
{
Schema::table('prescriptions', function (Blueprint $table) {
$table->dropColumn('lab_test_ids');
});
}
};
@@ -0,0 +1,24 @@
<?php
declare(strict_types=1);
use Illuminate\Database\Migrations\Migration;
use Illuminate\Database\Schema\Blueprint;
use Illuminate\Support\Facades\Schema;
return new class extends Migration
{
public function up(): void
{
Schema::table('lab_tests', function (Blueprint $table) {
$table->dropColumn('category');
});
}
public function down(): void
{
Schema::table('lab_tests', function (Blueprint $table) {
$table->string('category', 100)->nullable()->after('name');
});
}
};
@@ -0,0 +1,24 @@
<?php
declare(strict_types=1);
use Illuminate\Database\Migrations\Migration;
use Illuminate\Database\Schema\Blueprint;
use Illuminate\Support\Facades\Schema;
return new class extends Migration
{
public function up(): void
{
Schema::table('prescriptions', function (Blueprint $table) {
$table->mediumText('lab_content')->nullable()->after('content')->comment('متن درخواست آزمایش');
});
}
public function down(): void
{
Schema::table('prescriptions', function (Blueprint $table) {
$table->dropColumn('lab_content');
});
}
};