Cita (Appointment)

Del objeto Cita destacan los siguientes atributos:

  • id: Identificador de la cita
  • appointable_id: Identificador del propietario de la cita
  • appointable_type: Propietario de la cita (doctor, medical-speciality)
  • domain_id: Identificador del dominio
  • type_id: Identificador del tipo de cita
  • datetime_at: Fecha completa del inicio de la cita
  • date_at: Fecha del inicio de la cita
  • time_at: Hora del inicio de la cita
  • datetime_to: Fecha completa del final de la cita
  • time_to: Hola de finalización de la cita
  • duration: Duración en minutos de la cita
  • is_reserved: Determina si la cita ya está reservada o no
  • user_id: Identificador del usuario que ha reservado la cita
  • booked_at: Fecha en la que se reservó la cita
  • user_domain_id: Identificador del Dominio para el que el usuario ha reservado la cita.
  • user_speciality_id: Identificador de la especialidad para la que el usuario ha reservado la cita(Si el propietario de la cita es una especialidad, será esa misma especialidad)
  • user_type_id: Identificador del tipo de cita que ha reservado el usuario.
  • cie10: Texto indicando el motivo de la cita
  • comments: Observaciones adicionales de la cita
  • coverage_id: Identficador de la cobertura que el usuario va a usar la solicitar la cita
  • subscription_id: Subscripción del usuario que ha sido asignada en la cita.

5.1 Servicios web

Recuperar cita

https://developers.gadaca.com/#api-Appointments-AppointmentGet

Obtener información de la cita por su ID.

Respuesta de ejemplo:

HTTP/1.1 200 OK
{
   "data": {
        "object": "Appointment",
        "id": "xopxon45qlekj78m9gzy0avdbr96m37n",
        "doctor_id": "xopxon45qlekj78m9gzy0avdbr96m37n",
        "appointable_id": "xopxon45qlekj78m9gzy0avdbr96m37n",
        "appointable_type": "doctor",
        "domain_id": "xopxon45qlekj78m9gzy0avdbr96m37n",
        "type_id": "xopxon45qlekj78m9gzy0avdbr96m37n",
        "datetime_at": {
            "date": "2017-11-11 12:00:00.000000",
            "timezone_type": 3,
            "timezone": "Europe/Madrid"
        },
        "date_at": "2017-11-10",
        "time_at": "12:00:00",
        "datetime_to": {
            "date": "2017-11-11 12:10:00.000000",
            "timezone_type": 3,
            "timezone": "Europe/Madrid"
        },
        "time_to": "12:10:00",
        "duration": "10",
        "address": "Calle Marques de Monteagudo, 22",
        "room": "5",
        "is_reserved": 1,
        "user_id": "xopxon45qlekj78m9gzy0avdbr96m37n",
        "booked_at": {
            "date": "2017-05-07 11:10:00.000000",
            "timezone_type": 3,
            "timezone": "Europe/Madrid"
        },
        "user_domain_id": "xopxon45qlekj78m9gzy0avdbr96m37n",
        "user_speciality_id": "xopxon45qlekj78m9gzy0avdbr96m37n",
        "user_type_id": "xopxon45qlekj78m9gzy0avdbr96m37n",
        "cie10": "Dolor abdominal",
        "comments": null,
        "coverage_id": "xopxon45qlekj78m9gzy0avdbr96m37n",
        "subscription_id": "xopxon45qlekj78m9gzy0avdbr96m37n",
        "created_at": {
            "date": "2017-04-09 12:02:46.000000",
            "timezone_type": 3,
            "timezone": "Europe/Madrid"
        },
        "updated_at": {
            "date": "2017-06-26 21:00:02.000000",
            "timezone_type": 3,
            "timezone": "Europe/Madrid"
        },
        "type": {
            "data": {
                "object": "Category",
                "id": "xopxon45qlekj78m9gzy0avdbr96m37n",
                "code": "at-video",
                "name": "Video Consulta"
            }
        },
        "user_type": {
            "data": {
                "object": "Category",
                "id": "xopxon45qlekj78m9gzy0avdbr96m37n",
                "code": "at-video",
                "name": "Video Consulta"
            }
        },
        "user": {
            "data": {
                "object": "User",
                "id": "xopxon45qlekj78m9gzy0avdbr96m37n"
            }
        },
        "doctor": {
            "data": {
                "object": "Doctor",
                "id": "xopxon45qlekj78m9gzy0avdbr96m37n"
            }
        }
    }
}

Recuperar listado de citas

https://developers.gadaca.com/#api-Appointments-AppointmentListGet

Recupera un listado de citas basandose en los parámetros de búsqueda.

Los principales parámetros de búsqueda para este endpoint serán:

  • is_free: Nulo para todas las citas. 1 para las citas libres. 0 para las citas ocupadas
  • user_id: Identificador del usuario que tiene reservada la cita
  • doctor_id: Identificador del doctor propietario del hueco. Por ejemplo, el identificador del médico personal.
  • speciality_id: identificador de la especialidad que tiene la cita
  • datetime_at_from: Momento desde el cual buscar. Formato Y-m-d H:i:s. Busca huecos de cita cuyo momento de inicio sea posterior o igual al parámetro.
  • datetime_at_to: Momento desde el cual buscar. Formato Y-m-d H:i:s. Busca huecos de cita cuyo momento de inicio sea anterior o igual al parámetro.

La respuesta será un listado de objectos Appointment referidos en el anterior endpoint.

HTTP/1.1 200 OK
{
    "data": [
        {
            "object": "Appointment",
            "id": "xopxon45qlekj78m9gzy0avdbr96m37n",
            "doctor_id": "xopxon45qlekj78m9gzy0avdbr96m37n",
            "appointable_id": "xopxon45qlekj78m9gzy0avdbr96m37n",
            "appointable_type": "doctor",
            "domain_id": "xopxon45qlekj78m9gzy0avdbr96m37n",
            "type_id": "xopxon45qlekj78m9gzy0avdbr96m37n",
            "datetime_at": {
                "date": "2017-11-11 12:00:00.000000",
                "timezone_type": 3,
                "timezone": "Europe/Madrid"
            },
            "date_at": "2017-11-10",
            "time_at": "12:00:00",
            "datetime_to": {
                "date": "2017-11-11 12:10:00.000000",
                "timezone_type": 3,
                "timezone": "Europe/Madrid"
            },
            "time_to": "12:10:00",
            "duration": "10",
            "address": "Calle Marques de Monteagudo, 22",
            "room": "5",
            "is_reserved": 1,
            "user_id": "xopxon45qlekj78m9gzy0avdbr96m37n",
            "booked_at": {
                "date": "2017-05-07 11:10:00.000000",
                "timezone_type": 3,
                "timezone": "Europe/Madrid"
            },
            "user_domain_id": "xopxon45qlekj78m9gzy0avdbr96m37n",
            "user_speciality_id": "xopxon45qlekj78m9gzy0avdbr96m37n",
            "user_type_id": "xopxon45qlekj78m9gzy0avdbr96m37n",
            "cie10": "Dolor abdominal",
            "comments": null,
            "coverage_id": "xopxon45qlekj78m9gzy0avdbr96m37n",
            "subscription_id": "xopxon45qlekj78m9gzy0avdbr96m37n",
            "created_at": {
                "date": "2017-04-09 12:02:46.000000",
                "timezone_type": 3,
                "timezone": "Europe/Madrid"
            },
            "updated_at": {
                "date": "2017-06-26 21:00:02.000000",
                "timezone_type": 3,
                "timezone": "Europe/Madrid"
            },
            "type": {
                "data": {
                    "object": "Category",
                    "id": "xopxon45qlekj78m9gzy0avdbr96m37n",
                    "code": "at-video",
                    "name": "Video Consulta"
                }
            },
            "user_type": {
                "data": {
                    "object": "Category",
                    "id": "xopxon45qlekj78m9gzy0avdbr96m37n",
                    "code": "at-video",
                    "name": "Video Consulta"
                }
            },
            "user": {
                "data": {
                    "object": "User",
                    "id": "xopxon45qlekj78m9gzy0avdbr96m37n"
                }
            },
            "doctor": {
                "data": {
                    "object": "Doctor",
                    "id": "xopxon45qlekj78m9gzy0avdbr96m37n"
                }
            }
        },
        {
            "object": "Appointment",
            "id": "xopxon45qlekj78m9gzy0avdbr96m37n",
            "doctor_id": "xopxon45qlekj78m9gzy0avdbr96m37n",
            "appointable_id": "xopxon45qlekj78m9gzy0avdbr96m37n",
            "appointable_type": "doctor",
            "domain_id": "xopxon45qlekj78m9gzy0avdbr96m37n",
            "type_id": "xopxon45qlekj78m9gzy0avdbr96m37n",
            "datetime_at": {
                "date": "2017-11-11 12:00:00.000000",
                "timezone_type": 3,
                "timezone": "Europe/Madrid"
            },
            "date_at": "2017-11-10",
            "time_at": "12:00:00",
            "datetime_to": {
                "date": "2017-11-11 12:10:00.000000",
                "timezone_type": 3,
                "timezone": "Europe/Madrid"
            },
            "time_to": "12:10:00",
            "duration": "10",
            "address": "Calle Marques de Monteagudo, 22",
            "room": "5",
            "is_reserved": 1,
            "user_id": "xopxon45qlekj78m9gzy0avdbr96m37n",
            "booked_at": {
                "date": "2017-05-07 11:10:00.000000",
                "timezone_type": 3,
                "timezone": "Europe/Madrid"
            },
            "user_domain_id": "xopxon45qlekj78m9gzy0avdbr96m37n",
            "user_speciality_id": "xopxon45qlekj78m9gzy0avdbr96m37n",
            "user_type_id": "xopxon45qlekj78m9gzy0avdbr96m37n",
            "cie10": "Dolor abdominal",
            "comments": null,
            "coverage_id": null,
            "subscription_id": null,
            "created_at": {
                "date": "2017-04-09 12:02:46.000000",
                "timezone_type": 3,
                "timezone": "Europe/Madrid"
            },
            "updated_at": {
                "date": "2017-06-26 21:00:02.000000",
                "timezone_type": 3,
                "timezone": "Europe/Madrid"
            },
            "type": {
                "data": {
                    "object": "Category",
                    "id": "xopxon45qlekj78m9gzy0avdbr96m37n",
                    "code": "at-video",
                    "name": "Video Consulta"
                }
            },
            "user_type": {
                "data": {
                    "object": "Category",
                    "id": "xopxon45qlekj78m9gzy0avdbr96m37n",
                    "code": "at-video",
                    "name": "Video Consulta"
                }
            },
            "user": {
                "data": {
                    "object": "User",
                    "id": "xopxon45qlekj78m9gzy0avdbr96m37n"
                }
            },
            "doctor": {
                "data": {
                    "object": "Doctor",
                    "id": "xopxon45qlekj78m9gzy0avdbr96m37n"
                }
            }
        }
    ],
    "meta": {
        "pagination": {
            "total": 2,
            "count": 2,
            "per_page": 20,
            "current_page": 1,
            "total_pages": 1,
            "links": []
        }
    }
}

Reservar cita

https://developers.gadaca.com/#api-Appointments-AppointmentBookPut

Reserva una cita a un usuario de la plataforma.

Los parámetros más relevantes de este endpoint son

  • user_id: Identificador del usuario para el que reservar la cita.
  • user_domain_id: Identificador del dominio del usuario de la cita. Si no se envía, se resolverá el domain de autenticación(api client).
  • user_speciality_code: Identificador de la especialidad para la que se reserva la cita(obligatorio cuando la disponibilidad es de doctor).
  • coverage_id: Identificador de la cobertura para la que se va a solicitar la cita. Si no se envía se resolverá la cobertura por defecto para el dominio del usuario.
  • cie10: Texto indicando el motivo de la cita.
  • comments: Observaciones adicionales de la cita.

La Respuesta es la siguiente:

HTTP/1.1 200 OK
{
   "data": {
        "object": "Appointment",
        "id": "xopxon45qlekj78m9gzy0avdbr96m37n",
        "doctor_id": "xopxon45qlekj78m9gzy0avdbr96m37n",
        "appointable_id": "xopxon45qlekj78m9gzy0avdbr96m37n",
        "appointable_type": "doctor",
        "domain_id": "xopxon45qlekj78m9gzy0avdbr96m37n",
        "type_id": "xopxon45qlekj78m9gzy0avdbr96m37n",
        "datetime_at": {
            "date": "2017-11-11 12:00:00.000000",
            "timezone_type": 3,
            "timezone": "Europe/Madrid"
        },
        "date_at": "2017-11-10",
        "time_at": "12:00:00",
        "datetime_to": {
            "date": "2017-11-11 12:10:00.000000",
            "timezone_type": 3,
            "timezone": "Europe/Madrid"
        },
        "time_to": "12:10:00",
        "duration": "10",
        "address": "Calle Marques de Monteagudo, 22",
        "room": "5",
        "is_reserved": 1,
        "user_id": "xopxon45qlekj78m9gzy0avdbr96m37n",
        "booked_at": {
            "date": "2017-05-07 11:10:00.000000",
            "timezone_type": 3,
            "timezone": "Europe/Madrid"
        },
        "user_domain_id": "xopxon45qlekj78m9gzy0avdbr96m37n",
        "user_speciality_id": "xopxon45qlekj78m9gzy0avdbr96m37n",
        "user_type_id": "xopxon45qlekj78m9gzy0avdbr96m37n",
        "cie10": "Dolor abdominal",
        "comments": null,
        "coverage_id": "xopxon45qlekj78m9gzy0avdbr96m37n",
        "subscription_id": "xopxon45qlekj78m9gzy0avdbr96m37n",
        "created_at": {
            "date": "2017-04-09 12:02:46.000000",
            "timezone_type": 3,
            "timezone": "Europe/Madrid"
        },
        "updated_at": {
            "date": "2017-06-26 21:00:02.000000",
            "timezone_type": 3,
            "timezone": "Europe/Madrid"
        },
        "type": {
            "data": {
                "object": "Category",
                "id": "xopxon45qlekj78m9gzy0avdbr96m37n",
                "code": "at-video",
                "name": "Video Consulta"
            }
        },
        "user_type": {
            "data": {
                "object": "Category",
                "id": "xopxon45qlekj78m9gzy0avdbr96m37n",
                "code": "at-video",
                "name": "Video Consulta"
            }
        },
        "user": {
            "data": {
                "object": "User",
                "id": "xopxon45qlekj78m9gzy0avdbr96m37n"
            }
        },
        "doctor": {
            "data": {
                "object": "Doctor",
                "id": "xopxon45qlekj78m9gzy0avdbr96m37n"
            }
        }
    }
}

Cancelar cita

https://developers.gadaca.com/#api-Appointments-AppointmentCancelPut

Cancelar una cita de un usuario de la plataforma.

No requiere ningún parámetro extra, pero como opcional se puede enviar una razón para la cancelación.

  • reason: Motivo de la cancelación.

La Respuesta es la siguiente:

HTTP/1.1 200 OK
{
   "data": {
        "object": "Appointment",
        "id": "xopxon45qlekj78m9gzy0avdbr96m37n",
        "doctor_id": "xopxon45qlekj78m9gzy0avdbr96m37n",
        "appointable_id": "xopxon45qlekj78m9gzy0avdbr96m37n",
        "appointable_type": "doctor",
        "domain_id": "xopxon45qlekj78m9gzy0avdbr96m37n",
        "type_id": "xopxon45qlekj78m9gzy0avdbr96m37n",
        "datetime_at": {
            "date": "2017-11-11 12:00:00.000000",
            "timezone_type": 3,
            "timezone": "Europe/Madrid"
        },
        "date_at": "2017-11-10",
        "time_at": "12:00:00",
        "datetime_to": {
            "date": "2017-11-11 12:10:00.000000",
            "timezone_type": 3,
            "timezone": "Europe/Madrid"
        },
        "time_to": "12:10:00",
        "duration": "10",
        "address": "Calle Marques de Monteagudo, 22",
        "room": "5",
        "is_reserved": 1,
        "user_id": "xopxon45qlekj78m9gzy0avdbr96m37n",
        "booked_at": {
            "date": "2017-05-07 11:10:00.000000",
            "timezone_type": 3,
            "timezone": "Europe/Madrid"
        },
        "user_domain_id": "xopxon45qlekj78m9gzy0avdbr96m37n",
        "user_speciality_id": "xopxon45qlekj78m9gzy0avdbr96m37n",
        "user_type_id": "xopxon45qlekj78m9gzy0avdbr96m37n",
        "cie10": "Dolor abdominal",
        "comments": null,
        "coverage_id": "xopxon45qlekj78m9gzy0avdbr96m37n",
        "subscription_id": "xopxon45qlekj78m9gzy0avdbr96m37n",
        "created_at": {
            "date": "2017-04-09 12:02:46.000000",
            "timezone_type": 3,
            "timezone": "Europe/Madrid"
        },
        "updated_at": {
            "date": "2017-06-26 21:00:02.000000",
            "timezone_type": 3,
            "timezone": "Europe/Madrid"
        },
        "type": {
            "data": {
                "object": "Category",
                "id": "xopxon45qlekj78m9gzy0avdbr96m37n",
                "code": "at-video",
                "name": "Video Consulta"
            }
        },
        "user_type": {
            "data": {
                "object": "Category",
                "id": "xopxon45qlekj78m9gzy0avdbr96m37n",
                "code": "at-video",
                "name": "Video Consulta"
            }
        },
        "user": {
            "data": {
                "object": "User",
                "id": "xopxon45qlekj78m9gzy0avdbr96m37n"
            }
        },
        "doctor": {
            "data": {
                "object": "Doctor",
                "id": "xopxon45qlekj78m9gzy0avdbr96m37n"
            }
        }
    }
}