Как вывести данные из базы в формате JSON (с помощью php)?
Держи<?php
    /* создаем соедиенение с бд*/
    $link = mysqli_connect("localhost", "root", "", "test");

    /* для примера возьмем такой doctorid*/
    $doctorid = 2; 

    /* создаем подготавливаемый запрос */
    $stmt = mysqli_stmt_init($link);
    $sql = '
        SELECT
            cal.`doctorid`,
            doc.`doctor-name`,
            cal.`clinicid`,
            clin.`clinic-name`,
            cal.`start`,
            cal.`end`
        FROM
            `bio_vet_calendar` cal 
            JOIN `bio_vet_clinic_department` clin ON cal.`clinicid` = clin.`clinicid`
            JOIN `bio_vet_doctor` doc ON cal.`doctorid` = doc.`doctorid`
        WHERE
            cal.`doctorid` = ?
    ';
    if (mysqli_stmt_prepare($stmt, $sql)) {
        /* привязываем переменные к параметрам */
        mysqli_stmt_bind_param($stmt, "i", $doctorid);
        /* выполняем запрос */
        mysqli_stmt_execute($stmt);
        /* выбираем данные из результата */
        $response = mysqli_stmt_get_result($stmt);
        /* преобразовываем в ассоциативный массив*/
        $result = mysqli_fetch_all($response, MYSQLI_ASSOC);
        /* закрываем запрос */
        mysqli_stmt_close($stmt);
    }
    
    /* закрываем соединение с бд*/
    mysqli_close($link);
    
    /* выводим JSON */
    echo json_encode($result);
Только соединение с БД поправь на своё.
Хотите сложную структуру в виде иерархии, используйте ORM. 
Мне кажется, так даже быстрее и качественней.