Tüm isteklerde X-Tenant header’ı zorunludur. Tüm sorgular ve işlemler, yalnızca belirtilen tenant’a ait tedavi grupları ve tedaviler ile sınırlandırılmıştır.
Endpoint özeti
| Metot | Endpoint | Açıklama |
|---|
GET | /api/v1/treatment-groups | Tedavi gruplarını filtreli olarak listeler |
GET | /api/v1/treatment-groups/{id} | Tek bir tedavi grubunu detaylı getirir |
POST | /api/v1/treatment-groups | Yeni tedavi grubu oluşturur |
PUT | /api/v1/treatment-groups/{id} | Tedavi grubunu kısmi günceller |
DELETE | /api/v1/treatment-groups/{id} | Tedavi grubunu soft delete eder |
DELETE | /api/v1/treatment-groups/{id}/force | Tedavi grubunu kalıcı olarak siler |
Tüm parametreler, alanlar ve örnek istek/yanıtlar için API Referansı sekmesine bakın.
Tedavi grubu kavramı
Tedavi grupları, klinikte sunulan birden fazla tedaviyi (treatment) mantıksal veya fiyatsal bir paket altında toplamak için kullanılır.
Bir tedavi grubu; adı, açıklaması, aktiflik durumu, gruba bağlı alt tedaviler ve bu paketin toplam fiyatlandırma mantığı (otomatik veya manuel) ile birlikte yönetilir.
İş kuralları
Tedavi sync davranışı: treatment_ids gönderilirse, belirtilen tedaviler otomatik olarak bu gruba bağlanır. Daha önce başka gruba bağlı olanların eski grup bağı koparılır.
Otomatik fiyat hesaplama: is_price_manual=false ise sistem, grubun total_price değerini atanan tedavilerin fiyatlarını toplayarak otomatik hesaplar.
Fiyat güncelleme kuralı: İstekte is_price_manual=false gönderilirse veya veritabanındaki mevcut değeri false ise; güncelleme sonrasında sistem toplam fiyatı otomatik olarak yeniden hesaplar.
Silme kuralları
Bu modülde silme işlemleri oldukça katı kurallara bağlıdır. İçerisinde tedavi barındıran hiçbir grup silinemez.
Soft delete (DELETE /api/v1/treatment-groups/{id})
Katı kural: Grupta (aktif veya pasif fark etmeksizin) en ufak bir tedavi (treatment) kaydı bulunuyorsa silme işlemi reddedilir.Hata mesajı: This treatment group cannot be deleted because it has one or more treatments. Please remove all treatments from the group before deleting.
Force delete (DELETE /api/v1/treatment-groups/{id}/force)
Geri alınamaz.Katı kural: Grubun içinde soft delete edilmiş olanlar dahi herhangi bir tedavi bulunuyorsa kalıcı silme reddedilir.Hata mesajı: This treatment group cannot be permanently deleted because it has one or more treatments. Please remove all treatments from the group before deleting.
Yetkilendirme
Uygulama izinleri (permissions)
| İşlem | Permission |
|---|
| Listeleme | ViewAny:TreatmentGroup |
| Detay / Tek gösterme | View:TreatmentGroup |
| Oluşturma | Create:TreatmentGroup |
| Güncelleme | Update:TreatmentGroup |
| Silme (soft delete) | Delete:TreatmentGroup |
| Kalıcı silme (force delete) | ForceDelete:TreatmentGroup |
Token scope’ları (Passport)
| İşlem | Scope |
|---|
Okuma (index, show) | treatment_groups:read |
Yazma (store, update, destroy, forceDelete) | treatment_groups:write |