Skip to main content
Doktorlar ve asistanlar klinikteki kullanıcı hesaplarıdır. Doktor, klinikte doctor rolüne; asistan, assistant rolüne sahip kullanıcıdır. Odalar ise randevuya atanan fiziksel mekânlardır. Bu sayfa üç kaynağın endpoint’lerini ve doktorlara tedavi bağlama işlemini anlatır. Tedavi kaynağının kendisi için Tedaviler sayfasına bakın. Randevu formundaki seçim listeleri için Randevular sayfasına bakın.

Endpoint özeti

Bu kaynaklara yalnızca X-Tenant başlığıyla seçtiğiniz klinik içinde erişirsiniz. Başka kliniğe ait bir kayıt 404 döner. Bu kaynaklarda “kendi kayıtlarını görme” gibi bir sahiplik kısıtı yoktur. View:Doctor izni olan kullanıcı klinikteki tüm doktorları görür. İzinlerin genel işleyişi için İzinler ve görünürlük sayfasına bakın.

Doktorlar

Doktor nesnesi

Listeleme

GET /doctors sayfalı döner. Sayfalama için Sayfalama, sıralama için Filtreleme ve sıralama sayfasına bakın.

Doktor oluşturma ve güncelleme

string
gerekli
En fazla 255 karakter.
string
gerekli
Geçerli ve en fazla 255 karakterli e-posta. Silinmemiş kullanıcılar arasında benzersiz olmalıdır.
boolean
true ise password zorunludur. Parola göndermezseniz sistem rastgele bir parola atar ve doktora “parolanızı belirleyin” e-postası gönderir.
string
En az 8 karakter. password_confirmation ile birlikte gönderilir.
string
En fazla 20 karakter.
string
Unvan listesindeki bir değer.
string
Kan grubu listesindeki bir değer.
array
Dil listesi.
string
En fazla 1000 karakter; depolama yolu olarak gönderilir.
boolean
Varsayılan olarak doktor etkin oluşturulur.
string
En fazla 1000 karakter.
integer
Kliniğe ait bir fatura hesabının kimliği.
array
Doktora bağlanacak tedavi kimlikleri. Hepsi kliniğe ait olmalıdır.
PUT /doctors/{id} aynı alanları kabul eder; hepsi isteğe bağlıdır.
Doktor ve asistan oluştururken kliniğin etkin kullanıcı sayısı, klinik için tanımlı en yüksek kullanıcı sayısını aşamaz. Etkin olmayan bir doktoru is_active: true ile etkinleştirirken de aynı sınır geçerlidir.

Hata kodları

Genel hata biçimi için Hata kodları sayfasına bakın.

Örnek: doktor oluşturma

Başarılı yanıt 201 ve doktor nesnesidir.

Doktor-tedavi eşleştirme

Doktorlar ile tedaviler çoktan çoğa ilişkilidir. Randevuda bir doktor seçildiğinde, o doktorun bağlı tedavileri sunulur. Eşleştirmeyi iki yoldan yönetirsiniz.
  • POST /doctors/{id}/treatments ve DELETE /doctors/{id}/treatments: mevcut bağlantılara dokunmadan ekler veya çıkarır.
  • PUT /doctors/{id} ile treatment_ids: bu kliniğin tedavi bağlantılarını gönderdiğiniz listeyle değiştirir.
İki uç da aynı gövdeyi kullanır.
array
gerekli
En az bir, birbirinden farklı tamsayı. Tüm kimlikler bu kliniğin tedavilerine ait olmalıdır.
Geçersiz kimlik 422 döner; hata errors.treatment_ids altında gelir. Yanıt, güncel treatments listesiyle birlikte doktor nesnesidir. Her bağlantı değişikliği doktorun aktivite kaydına yazılır.
Randevu oluşturan bir istemci doktor, oda ve asistan listesini /appointments/options/doctors, /appointments/options/rooms ve /appointments/options/assistants uçlarından alabilir. Bu uçlar Create:Appointment veya Update:Appointment izni yeter; View:Doctor gibi izinler gerekmez. Listelerde yalnızca etkin kayıtlar gelir. Doktorun tedavileri için /appointments/options/doctors/{id}/treatments kullanılır.

Asistanlar

Asistan nesnesi doktor nesnesiyle aynı alanları taşır; treatments, has_calendar_integration, preferred_invoice_account_id ve import_source alanları yoktur. GET /assistants doktor listesindeki search, per_page, page, sort_by, sort_order, is_active, title ve tarih aralığı parametrelerini aynı şekilde kabul eder. Asistan oluştururken yalnızca şu alanları gönderebilirsiniz. PUT /assistants/{id} bu alanları isteğe bağlı olarak kabul eder. title, bio, acil durum kişisi ve kan grubu asistan isteklerinde kabul edilmez. Asistan olmayan ya da başka kliniğe ait bir kimlik 404 ve Asistan bulunamadı mesajı döner. Oluşturma hataları doktorlarla aynıdır; rol bulunamazsa mesaj Bu klinik için asistan rolü bulunamadı. Kliniğin doğru biçimde kurulduğundan emin olun. olur. Başarılı silme yanıtı {"message": "Asistan başarıyla silindi"} biçimindedir.

Odalar

Oda; id, name, status, created_at, updated_at ve deleted_at alanlarından oluşur. GET /rooms için parametreler: search (ada göre, kısmi ve büyük/küçük harf duyarsız), per_page (1–100), page, status, sort_by (name, status, created_at, updated_at) ve sort_order. POST /rooms için name (en fazla 255 karakter) ve status zorunludur. PUT /rooms/{id} ikisini de isteğe bağlı kabul eder. Tamsayı olmayan bir {id} 422 döner.

Silmenin etkisi

Silmeden önce GET /doctors/{id}/deletion-relations veya GET /assistants/{id}/deletion-relations ile etkilenen kayıtları görün. Yanıt, relation, label, count ve deleted alanlı bir listedir. Bu kaynaklarda deleted her zaman false olur; yani liste “silinmeyecek, korunacak” kayıtları sayar. Sayımlar yalnızca bu klinik için yapılır. Odalar için önizleme endpoint’i yoktur.
DELETE /doctors/{id} ve DELETE /assistants/{id} kullanıcının genel hesabını siler. Aynı kişi başka kliniklerde de çalışıyorsa, o kliniklerden de kaybolur. Randevu, satış ve destek talebi geçmişi korunur.
Oda silme, odayı kullanan randevular olsa bile başarılı olur. Randevular room_id değerini korur. Silinen oda liste ve detay yanıtlarında görünmez.
Silinen kayıtlar için genel kurallar Silme yaşam döngüsü sayfasındadır. Doktor, asistan ve odalar Geri Dönüşüm Kutusu’ndan geri yüklenemez.

Gereken scope’lar ve izinler

Uygulamanızın erişim token’ı doctors:read, doctors:write, assistants:read, assistants:write, rooms:read ve rooms:write scope’larından ihtiyaç duyduklarını içermelidir. Scope’ların nasıl istendiği için Scope’lar sayfasına bakın. Token’ın sahibi olan kullanıcıda ayrıca yukarıdaki tablolardaki izin de bulunmalıdır; eksikse yanıt 403 olur.