feat: Enhance insurance billing system to support supplementary insurance
- Updated CoverageRule and related entities to include franchise_percent instead of franchise_rials. - Modified Appointment entity to carry supplementary insurance ID alongside base insurance. - Implemented SessionBillingService to ensure finalized invoices for insured patient sessions. - Created InvoiceFinalized event to trigger claims creation upon invoice finalization. - Added BackfillMissingClaimsCommand to generate claims for finalized invoices without existing claims. - Developed tests to validate the new functionality for supplementary insurance handling in appointments and claims.
This commit is contained in:
@@ -107,7 +107,7 @@ final readonly class CoverageRule
|
||||
| version | int | نسخهی قرارداد (۱، ۲، …) |
|
||||
| is_active | bool | غیرفعال بدون حذف |
|
||||
| coverage_percent | decimal(5,2) | پوشش پیشفرض قرارداد |
|
||||
| franchise_rials | int | فرانشیز پیشفرض |
|
||||
| franchise_percent | decimal(5,2) | فرانشیز **درصدی** — سهم اجباری بیمار از مبلغ تحت پوشش؛ فقط در قرارداد تکمیلی اثر دارد |
|
||||
| annual_ceiling_rials | int null | سقف تعهد سالانهی بیمار/بیمه |
|
||||
| effective_from | int (unix) | شروع اعتبار قرارداد |
|
||||
| effective_to | int null | پایان (null = جاری) |
|
||||
@@ -125,7 +125,7 @@ override پوشش یک خدمت خاص تحت یک بیمهی tenant (آیا
|
||||
| service_item_id | int FK→service_items |
|
||||
| covered | bool |
|
||||
| coverage_percent | decimal(5,2) null (null=ارث از قرارداد) |
|
||||
| franchise_rials | int null |
|
||||
| franchise_percent | decimal(5,2) null (null=ارث از قرارداد) |
|
||||
| ceiling_rials | int null |
|
||||
|
||||
UniqueConstraint: `(tenant_insurance_id, service_item_id)`.
|
||||
@@ -176,10 +176,6 @@ UniqueConstraint: `(service_item_id, year)`. `ServiceItem.priceRials` بهع
|
||||
| tariff_rials | int (تعرفهی واحد) |
|
||||
| quantity | int |
|
||||
| total_rials | int (= tariff × qty) |
|
||||
| base_coverage_percent | decimal(5,2) |
|
||||
| supp_coverage_percent | decimal(5,2) |
|
||||
| franchise_rials | int |
|
||||
| ceiling_rials | int null |
|
||||
| base_insurance_rials | int |
|
||||
| supplementary_rials | int |
|
||||
| patient_rials | int |
|
||||
|
||||
Reference in New Issue
Block a user