API REST para gestión de información médica
/api/os/?id={id}
Obtiene una obra social específica por ID
/api/os/?search={término}
Busca obras sociales por nombre o código
/api/profesionales/?relations=true
Obtiene todos los profesionales con sus relaciones (especialidades, prácticas, obras sociales, categoría, abono)
/api/profesionales/?id={id}
Obtiene un profesional específico por ID (sin relaciones)
/api/profesionales/?id={id}&relations=true
Obtiene un profesional específico con sus relaciones
/api/profesionales/?search={término}
Busca profesionales por nombre, apellido, email o matrícula
/api/clinicas/?id={id}
Obtiene una clínica específica por ID
/api/clinicas/?search={término}
Busca clínicas por nombre, apellido, email o matrícula
/api/disponibilidades/?relations=true
Obtiene todas las disponibilidades con sus relaciones (especialidades, obras sociales, profesional, clínica, dirección)
/api/disponibilidades/?id={id}
Obtiene una disponibilidad específica por ID (sin relaciones)
/api/disponibilidades/?id={id}&relations=true
Obtiene una disponibilidad específica con sus relaciones
{
"success": true,
"data": {
"id": 1,
"nombre": "Juan",
"apellido": "Pérez",
"email": "juan@example.com",
"matricula": "MP123456",
"categoria_id": 5,
"abono_id": 3,
"rol": "profesional"
},
"message": "Profesional encontrado"
}
{
"success": true,
"data": {
"id": 1,
"nombre": "Juan",
"apellido": "Pérez",
"email": "juan@example.com",
"matricula": "MP123456",
"categoria_id": 5,
"abono_id": 3,
"rol": "profesional",
"especialidades": [
{"id": 1, "nombre": "Cardiología"},
{"id": 5, "nombre": "Medicina Interna"}
],
"practicas": [
{"id": 2, "nombre": "Consultorio A"},
{"id": 8, "nombre": "Consultorio B"}
],
"obras_sociales": [
{
"id": 3,
"nombre": "OSDE",
"codigo": "OSDE001",
"copago": 500,
"practica_id": 2
},
{
"id": 7,
"nombre": "Swiss Medical",
"codigo": "SM002",
"copago": 0,
"practica_id": null
}
],
"categoria": {
"id": 5,
"nombre": "Especialista",
"color": "#3498db"
},
"abono": {
"id": 3,
"nombre": "Plan Premium",
"dias": 365,
"precio": 25000.00,
"premium": 1
}
},
"message": "Profesional encontrado"
}
{
"success": true,
"data": {
"id": 15,
"usuario_id": 5,
"clinica_id": 2,
"dia_semana": 1,
"inicio": "09:00",
"fin": "13:00",
"direccione_id": 10,
"especialidad_id": 3,
"particular": 1,
"eco": 0,
"agenda_dy": 1,
"turnos_simultaneos": 2,
"habilitado": 1,
"especialidades": [
{"id": 3, "nombre": "Kinesiología Deportiva"},
{"id": 7, "nombre": "Rehabilitación"}
],
"obras_sociales": [
{"id": 1, "nombre": "OSDE", "codigo": "OSDE001"},
{"id": 3, "nombre": "Swiss Medical", "codigo": "SM002"},
{"id": 5, "nombre": "IOMA", "codigo": "IOMA001"}
],
"profesional": {
"id": 5,
"nombre": "Dr. Carlos",
"apellido": "García",
"email": "carlos@example.com",
"matricula": "MP789012",
"rol": "profesional"
},
"clinica": {
"id": 2,
"nombre": "Clínica San Martín",
"direccion": "Av. Corrientes 1234"
},
"direccion": {
"id": 10,
"calle": "Av. Corrientes",
"numero": "1234",
"ciudad": "Buenos Aires"
},
"especialidad_principal": {
"id": 3,
"nombre": "Kinesiología Deportiva"
}
},
"message": "Disponibilidad encontrada"
}
Al agregar el parámetro ?relations=true se incluyen las siguientes relaciones:
Al agregar el parámetro ?relations=true se incluyen las siguientes relaciones: