Servicio (Service)

En el objeto Service destacan los siguientes atributos:

  • id: Identificador del servicio
  • status_id: Identificador de estado (Category)
  • coverage_id: Identificador de cobertura (Coverage)
  • subscription_id: identificador de la suscripción (Subscription)
  • requester_id: Identificador de solicitante (User)
  • patient_id: Identificador de paciente (User)
  • begin_at: Momento de solicitud/inicio (DateTime)
  • end_at: Momento de fin (DateTime)
  • status: Objeto estado (Category)
  • speciality_id: Identificador de la especialidad del servicio

1.1. Servicios Web

Creación/Solicitud de Servicio

https://developers.gadaca.com/#api-Services-ServicePost

En la solicitud del servicio se debe enviar el ID de usuario del solicitante “requester_id”. El solicitante debe ser siempre un adulto. En caso de que el solicitante sea el mismo usuario que el paciente, no será necesario enviar el campo “patient_id”, ya que éste se definirá automáticamente como el “requester_id”.

En el caso de los menores de edad, se deberá enviar el ID de usuario del menor en el campo “patient_id”. Es obligatorio que el menor conste como tutelado del usuario “requester_id”.

Para solicitar un servicio se debe disponer de una suscripción y, más concretamente, de una cobertura, que es la que indicará el tipo de servicio a prestar. La cobertura se enviará en el campo “coverage_id”. Si no se envía, se utilizará por defecto la cobertura de medicina general de la suscripción por defecto del usuario.

Si se envía el campo “speciality_id”, ésta, debe de estar presente en la cobertura. Si no se envía, se tratará de resolver a partir de la cobertura. Si la cobertura tiene una cobertura, se le asignará esa, si tiene más de una especialidad asignada se le asignará la primera especialidad encontrada en la cobertura. Si no, se asignará medicina general.

Al crear/solicitar un servicio, se creará automáticamente la primera asistencia vinculada al servicio. Ésta puede ser actualmente de dos tipos (enfermería y consulta). Para incluir los datos de la asistencia creada en la respuesta se puede enviar el parámetro GET include=”assistances” en la petición como se muestra en la documentación de la API.

Se puede obtener información del servicio y de las asistencias utilizando los endpoints GET correspondientes de Service y Assistance.

Una vez creado el servicio y la asistencia, la siguiente interacción con el usuario se producirá cuando el personal de Homedoctor realice las videollamadas.

Recuperar Servicio

https://developers.gadaca.com/#api-Services-ServiceGet

Obtener información del servicio por su ID.

Respuesta de ejemplo:

HTTP/1.1 200 OK
{
   "data": {
        "object": "Service",
        "id": "xopxon45qlekj78m9gzy0avdbr96m37n",
        "domain_id": "xopxon45qlekj78m9gzy0avdbr96m37n",
        "coverage_id": "xopxon45qlekj78m9gzy0avdbr96m37n",
        "status_id": "xopxon45qlekj78m9gzy0avdbr96m37n",
        "requester_id": "xopxon45qlekj78m9gzy0avdbr96m37n",
        "patient_id": "xopxon45qlekj78m9gzy0avdbr96m37n",
        "speciality_id": "xopxon45qlekj78m9gzy0avdbr96m37n",
        "subscription_id": "xopxon45qlekj78m9gzy0avdbr96m37n",
        "price": "87.82",
        "begin_at": {
            "date": "2017-04-09 12:02:46.000000",
            "timezone_type": 3,
            "timezone": "Europe/Madrid"
        },
        "end_at": {
            "date": "2017-04-09 12:02:46.000000",
            "timezone_type": 3,
            "timezone": "Europe/Madrid"
        },
        "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"
        },
        "status": {
            "data": {
                "object": "Category",
                "id": "xopxon45qlekj78m9gzy0avdbr96m37n",
                "code": "opened",
                "name": "Abierto",
                "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"
                },
                "real_id": 3,
                "deleted_at": null
            }
        }
    }
}

1.2. Estados

Un servicio puede encontrarse en diferentes estados dependiendo siempre del estado de las asistencias vinculadas al mismo. A continuación se enumeran dichos estados por su código:

  • opened: El servicio está abierto, es decir, tiene alguna asistencia abierta (ver estados de asistencias).
  • waiting: El servicio está abierto pero en espera. Un servicio se encuentra en este estado cuando el usuario tiene una cita futura.
  • finished: El servicio ha finalizado normalmente.
  • cancelled: El servicio ha sido cancelado.
  • invalid: El servicio ha sido invalidado por el personal de Homedoctor o por el personal médico debido a alguna incidencia.