# Ofimedic Web Service
# Introducción
Especificaciones de los métodos que permiten interactuar con la información almacenada en las bases de datos de Ofimedic.
# Especificaciones
- La URL para acceder al servicio tendrá la siguiente estructura:
- https://{URL}/services.asmx/{NombreMétodo}
- Los parámetros de entrada que son obligatorios están marcados como tal.
- Hay parámetros de entrada que pueden no estar marcados como obligatorios, pero que lo sean bajo ciertas condiciones, las cuales están indicadas.
- Si un parámetro es opcional, hay que pasar un espacio en blanco.
- Todas las llamadas que incluyen los parámetros **fechaInicio** y **fechaFin** están limitados a un periodo máximo de un año.
- Si no se indica como parámetro el identificador único, solo se permiten llamadas entre las 21:00h y las 10:59h.
- Todos los mensajes de respuesta estarán formateados en JSON.
- En cada llamada hay que indicar como parámetro un código/token que se obtiene mediante 2FA vía email con la función SetAuth.
- El token tiene una validez de 2 horas.
- En todos los métodos de devolución de datos podemos indicar el parámetro **fechaModificacion**. Si se indica dicha fecha, se devolverán los registros modificados desde esa fecha (incluída) hasta el día actual.
# Historial de cambios
Lista actualizada con los cambios realizados. Se indican las fechas y la descripción de los cambios. Se muestra del cambio más reciente al más antiguo.
02/09/2025
- Incorporación en **SetPacienteAnamnesis** y **ImportarPDFMultimediaPacienteParams**
05/05/2025
- Modificación en **GetDelegaciones**: inclusión de todos los campos de Persona Jurídica y el campo ***textoLOPD***
26/02/2025
- Creación de **GetPacienteId** y **GetPaises**
- Modificación en **GetDoctores**: inclusión de los campos ***titulacion***, ***numColegiado***, ***observaciones*** y ***fotografia***
30/01/2025
- Modificaciones en **GetVisitas**: inclusión de los campos ***observaciones***, ***salaID*** y ***consultorioID***
- Modificación en **GetPacientes**: inclusión del campo ***observacionesHistoria***
18/10/2024
- Modificación en **GetPacientes**: inclusión del campo ***tipoPaciente***
08/10/2024
- Creación de **SetLlamada**
- Modificación en **GetDoctores**
03/10/2024
- Incorporación del parámetro ***pacienteID*** en **GetVisitas**, **GetVentas**, **GetCobros**, **GetPresupuestos**, **GetPresupuestosLineas**, **GetBonos** y **GetVentasDirectas**
06/08/2024
- Modificación en **GetPacientes**: inclusión del campo ***fechaAlta***
29/07/2024
- Modificación en **GetDocumentos**: inclusión del campo ***ext***
26/07/2024
- Creación de **GetDocumentos**
19/06/2024
- Ampliación de **GetDoctores**, **GetDelegaciones**, **GetVisitas**, **GetPresupuestos** y **GetTarifas**
- Creación de **GetConsultorios** y **GetPresupuestosLineas**
08/05/2024
- Ampliación de **GetVisitas**
12/04/2024
- Ampliación de **GetPacientes**
26/02/2024
- Modificación en **GetPacientes**, incluyendo paginación de resultados
19/02/2024
- Incorporación del parámetro de entrada ***fechaModificacion*** a todos los métodos de devolución de datos
15/02/2024
- Modificación de fechas
30/01/2024
- Modificación horario permitido de llamadas
- Añadido 2FA para todas las llamadas
19/12/2023
- Creación del documento
Version: 1.0.0
## Servers
Test
```
https://ws.ofimedic.com/ofimedicws/test/services.asmx
```
## Security
### basicAuth
Type: http
Scheme: basic
## Download OpenAPI description
[Ofimedic Web Service](https://ofimedic.redocly.app/_spec/ofimedic/ofimedicws/main.yaml)
## Autenticación
Autenticación con el servidor.
### Establecer autenticación
- [GET /SetAuth](https://ofimedic.redocly.app/ofimedic/ofimedicws/main/autenticacion/setauth.md): Realiza la autenticación y envía al correo electrónico indicado el código UUID de la sesión.
### Revocar autenticación
- [GET /RevokeAuth](https://ofimedic.redocly.app/ofimedic/ofimedicws/main/autenticacion/revokeauth.md): Revocación de la sesión actual e impide que se realicen más llamadas hasta llamar de nuevo a SetAuth y realizar de nuevo el 2FA.
### Prueba de conexión
- [GET /DatabaseConnectionTest](https://ofimedic.redocly.app/ofimedic/ofimedicws/main/autenticacion/databaseconnectiontest.md): Comprueba si la conexión con la base de datos es correcta.
## Obtención de datos
Obtiene las listas con los datos a partir de los valores especificados.
### Bonos
- [GET /GetBonos](https://ofimedic.redocly.app/ofimedic/ofimedicws/main/obtencion-de-datos/getbonos.md): Obtiene los bonos de Ofimedic.
### Categorías de tarifas
- [GET /GetTarifasCategorias](https://ofimedic.redocly.app/ofimedic/ofimedicws/main/obtencion-de-datos/gettarifascategorias.md): Obtiene las categorías de cada tarifa de Ofimedic.
### Cobros
- [GET /GetCobros](https://ofimedic.redocly.app/ofimedic/ofimedicws/main/obtencion-de-datos/getcobros.md): Obtiene los cobros de Ofimedic.
### Consultorios
- [GET /GetConsultorios](https://ofimedic.redocly.app/ofimedic/ofimedicws/main/obtencion-de-datos/getconsultorios.md): Obtiene los consultorios de Ofimedic.
### Delegaciones
- [GET /GetDelegaciones](https://ofimedic.redocly.app/ofimedic/ofimedicws/main/obtencion-de-datos/getdelegaciones.md): Obtiene las delegaciones de Ofimedic.
### Documentos
- [GET /GetDocumentos](https://ofimedic.redocly.app/ofimedic/ofimedicws/main/obtencion-de-datos/getdocumentos.md): Obtiene los documentos del paciente de Ofimedic.Si no indicamos el ni el , mostrará todos los documentos y el campo de archivo se mostrará vacío, es decir, el campo obtenido en Base64 solo tendrá datos cuando se liste un documento en concreto.
### Especialidades
- [GET /GetEspecialidades](https://ofimedic.redocly.app/ofimedic/ofimedicws/main/obtencion-de-datos/getespecialidades.md): Obtiene las especialidades de Ofimedic.
### Estados de visita
- [GET /GetEstadosVisita](https://ofimedic.redocly.app/ofimedic/ofimedicws/main/obtencion-de-datos/getestadosvisita.md): Obtiene los estados de visita de Ofimedic.
### Formas de pago
- [GET /GetFormasPago](https://ofimedic.redocly.app/ofimedic/ofimedicws/main/obtencion-de-datos/getformaspago.md): Obtiene las formas de pago de Ofimedic.
### Grupos de categorías
- [GET /GetTarifasGrupos](https://ofimedic.redocly.app/ofimedic/ofimedicws/main/obtencion-de-datos/gettarifasgrupos.md): Obtiene los grupos de cada categoría de Ofimedic
### Líneas de presupuesto
- [GET /GetPresupuestosLineas](https://ofimedic.redocly.app/ofimedic/ofimedicws/main/obtencion-de-datos/getpresupuestoslineas.md): Obtiene las líneas de presupuesto de Ofimedic.
### Paciente (identificador)
- [GET /GetPacienteId](https://ofimedic.redocly.app/ofimedic/ofimedicws/main/obtencion-de-datos/getpacienteid.md): Obtiene el identificador del paciente en Ofimedic.Es obligatorio indicar, como mínimo, uno de los dos parámetros de entrada.
### Pacientes
- [GET /GetPacientes](https://ofimedic.redocly.app/ofimedic/ofimedicws/main/obtencion-de-datos/getpacientes.md): Obtiene los pacientes de Ofimedic.
### Países
- [GET /GetPaises](https://ofimedic.redocly.app/ofimedic/ofimedicws/main/obtencion-de-datos/getpaises.md): Obtiene los países configurados en Ofimedic.
### Presupuestos
- [GET /GetPresupuestos](https://ofimedic.redocly.app/ofimedic/ofimedicws/main/obtencion-de-datos/getpresupuestos.md): Obtiene los presupuestos de Ofimedic.
### Referencias de paciente
- [GET /GetReferenciasPaciente](https://ofimedic.redocly.app/ofimedic/ofimedicws/main/obtencion-de-datos/getreferenciaspaciente.md): Obtiene las referencias de paciente de Ofimedic.
### Series de facturación
- [GET /GetFacturasSeries](https://ofimedic.redocly.app/ofimedic/ofimedicws/main/obtencion-de-datos/getfacturasseries.md): Obtiene las series de facturación de Ofimedic.
### Servicios y artículos
- [GET /GetServiciosArticulos](https://ofimedic.redocly.app/ofimedic/ofimedicws/main/obtencion-de-datos/getserviciosarticulos.md): Obtiene los Servicios/Artículos de Ofimedic.
### Tarifas
- [GET /GetTarifas](https://ofimedic.redocly.app/ofimedic/ofimedicws/main/obtencion-de-datos/gettarifas.md): Obtiene las tarifas de Ofimedic.
### Tipos de IVA
- [GET /GetTiposIVA](https://ofimedic.redocly.app/ofimedic/ofimedicws/main/obtencion-de-datos/gettiposiva.md): Obtiene los tipos de IVA de Ofimedic.
### Tipos de visita
- [GET /GetTiposVisita](https://ofimedic.redocly.app/ofimedic/ofimedicws/main/obtencion-de-datos/gettiposvisita.md): Obtiene los tipos de visita de Ofimedic.
### Usuarios y facultativos
- [GET /GetDoctores](https://ofimedic.redocly.app/ofimedic/ofimedicws/main/obtencion-de-datos/getdoctores.md): Obtiene los usuarios/facultativos de Ofimedic.
### Ventas
- [GET /GetVentas](https://ofimedic.redocly.app/ofimedic/ofimedicws/main/obtencion-de-datos/getventas.md): Obtiene las ventas de Ofimedic.
### Ventas directas
- [GET /GetVentasDirectas](https://ofimedic.redocly.app/ofimedic/ofimedicws/main/obtencion-de-datos/getventasdirectas.md): Obtiene las ventas directas de Ofimedic.
### Visitas
- [GET /GetVisitas](https://ofimedic.redocly.app/ofimedic/ofimedicws/main/obtencion-de-datos/getvisitas.md): Obtiene las visitas de Ofimedic.
## Otras acciones
Respuesta de búsqueda de datos a partir de los parámetros y valores especificados.
### Recepción de teléfono
- [GET /SetLlamada](https://ofimedic.redocly.app/ofimedic/ofimedicws/main/otras-acciones/setllamada.md): Recibe un teléfono y un usuario y muestra a ese usuario de Ofimedic el buscador de pacientes con una búsqueda por el teléfono recibido.
### Creación de paciente
- [GET /SetPaciente](https://ofimedic.redocly.app/ofimedic/ofimedicws/main/otras-acciones/setpaciente.md): Crea un paciente en Ofimedic.
### Creación de paciente con antecedentes
- [GET /SetPatientsAnamnesis](https://ofimedic.redocly.app/ofimedic/ofimedicws/main/otras-acciones/setpatientsanamnesis.md): Crea un paciente en Ofimedic.
### Importación de PDF
- [GET /ImportarPDFMultimediaPacienteParams](https://ofimedic.redocly.app/ofimedic/ofimedicws/main/otras-acciones/importarpdfmultimediapacienteparams.md): Importa un PDF en el apartado Multimedia del paciente en Ofimedic.