Ofimedic Web Service (1.0.0)

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.

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
Languages
Servers
Test

https://ws.ofimedic.com/ofimedicws/test/services.asmx/

Autenticación

Autenticación con el servidor.

Operations

Obtención de datos

Obtiene las listas con los datos a partir de los valores especificados.

Operations

Ventas

Request

Obtiene las ventas de Ofimedic.

Query
tokenstringrequired

Código o Token de la sesión.

Example: token=1234
ventaIDstring

Identificador de la venta.

Example: ventaID=1
pacienteIDstring

Identificador del paciente.

Example: pacienteID=1
fechaIniciostring(date)

Fecha de inicio. Se indica en formato de fecha (dd/mm/aaaa).
Obligatorio indicar este parámetro si no se indica el parámetro ventaID.
La diferencia máxima entre este parámetro y fechaFin debe ser de un año natural. Debe ser anterior a fechaFin.

Example: fechaInicio=01/01/2024
fechaFinstring(date)

Fecha de finalización. Se indica en formato de fecha (dd/mm/aaaa).
Obligatorio indicar este parámetro si no se indica el parámetro ventaID.
La diferencia máxima entre fechaInicio y este parámetro debe ser de un año natural. Debe ser posterior a fechaInicio.

Example: fechaFin=31/12/2024
delegacionIDstring

Identificador de la delegación.

Example: delegacionID=1
fechaModificacionstring(date)

Fecha de modificación.

Example: fechaModificacion=01/01/1970
curl -i -X GET \
  -u <username>:<password> \
  'https://ws.ofimedic.com/ofimedicws/test/services.asmx/GetVentas?delegacionID=1&fechaFin=31%2F12%2F2024&fechaInicio=01%2F01%2F2024&fechaModificacion=01%2F01%2F1970&pacienteID=1&token=1234&ventaID=1'

Responses

Relación de ventas

Bodyapplication/jsonArray [
idinteger

Identificador de la venta.

Example: 1
tipostring

Tipo de venta.

Example: "Visita"
fechastring(date)

Fecha de la venta.
El formato de fecha es "aaaa-mm-dd".

Example: "2024-04-29"
pacienteIdinteger

Identificador del paciente de la venta.

Example: 1
visitaIdinteger

Identificador de la visita de la venta, si está asociado.

Example: 1
presupuestoIdinteger

Identificador del presupuesto de la venta, si está asociado.

Example: 1
bonoIdinteger

Identificador del bono de la venta, si está asociado.

Example: 1
ventaDirectaIdinteger

Identificador de la venta directa de la venta, si está asociado.

Example: 1
estadostring

Estado de la venta.

Example: "Finalizado"
previsionnumber(float)

Previsión de la venta.
Se tienen en cuenta variables como ImporteDescuento.
Admite decimales.

Example: 19.99
baseImponiblenumber(float)

Base imponible de la venta.
Admite decimales.

Example: 15
precioCostenumber(float)

Precio coste de la venta.
Admite decimales.

Example: 5.02
ImporteDescuentonumber(float)

Importe del descuento de la venta.
Admite decimales.

Example: 4.99
motivoDescuentostring

Motivo del descuento, en caso de que lo tenga.

Example: "Referencia: Amigos"
formaPagostring

Forma de pago del cobro asociado a la venta.

Example: "Efectivo"
tarifaIdinteger

Identificador de la tarifa de la venta.

Example: 1
categoriaIdinteger

Identificador de la categoría de la tarifa de la venta.

Example: 1
grupoIdinteger

Identificador del grupo de la categoría de la tarifa de la venta.

Example: 1
subGrupoIdinteger

Identificador del SubGrupo de la venta.

Example: 1
subGrupostring

Nombre del SubGrupo de la venta.

Example: "Medicina"
servicioArticuloIdinteger

Identificador del Servicio/Artículo de la venta.

Example: 1
servicioArticulostring

Nombre del Servicio/Artículo de la venta.

Example: "Primera consulta"
servicioArticuloMargennumber(float)

Porcentaje de margen del Servicio/Artículo de la venta.
Admite decimales.

Example: 95
doctorIdinteger

Identificador del facultativo de la venta.

Example: 1
derivadoIdinteger

Identificador del derivado de la venta.
Está relacionado con doctorId.

Example: 2
origenstring

Origen de la venta.

Example: "Visita"
fechaCobrostring(date)

Fecha del cobro asociado a la venta.
El formato de fecha es "aaaa-mm-dd".

Example: "2024-06-14"
delegacionIdinteger

Identificador de la delegación de la venta.

Example: 1
fechaAltastring(date)

Fecha de alta del paciente de la venta.
El formato de fecha es "aaaa-mm-dd".

Example: "2022-10-06"
fechaConsumoSesionBonostring(date)

Fecha de consumo de la sesión del bono, si está asociado.
El formato de fecha es "aaaa-mm-dd".

Example: "2024-03-01"
fechaRealizadostring(date)

Fecha de realización de la venta.
El formato de fecha es "aaaa-mm-dd".

Example: "2024-08-23"
cantidadinteger

Unidades vendidas.

Example: 7
facturaIDinteger

Identificador de la factura asociada a la venta.

Example: 1
fechaFacturastring(date)

Fecha de la factura asociada a la venta.
El formato de fecha es "aaaa-mm-dd".

Example: "2024-04-29"
]
Response
application/json
[ { "id": 1, "tipo": "Visita", "fecha": "2024-04-29", "pacienteId": 1, "visitaId": 6583, "presupuestoId": 402, "bonoId": 102, "ventaDirectaId": 57, "estado": "Finalizado", "prevision": 72.98, "baseImponible": 80, "precioCoste": 15, "ImporteDescuento": 7.02, "motivoDescuento": "Referencia: Amigos", "formaPago": "Efectivo", "tarifaId": 1, "categoriaId": 5, "grupoId": 2, "subGrupoId": 1, "subGrupo": "Medicina", "servicioArticuloId": 1, "servicioArticulo": "Primera consulta", "servicioArticuloMargen": 90, "doctorId": 7, "derivadoId": 5, "origen": "Visita", "fechaCobro": "2024-06-14", "delegacionId": 1, "fechaAlta": "2022-10-06", "fechaConsumoSesionBono": "2024-03-01", "fechaRealizado": "2024-08-23", "cantidad": 7, "facturaID": 1, "fechaFactura": "2024-04-29" } ]

Ventas directas

Request

Obtiene las ventas directas de Ofimedic.

Query
tokenstringrequired

Código o Token de la sesión.

Example: token=1234
ventaDirectaIDstring

Identificador de la venta directa.

Example: ventaDirectaID=1
pacienteIDstring

Identificador del paciente.

Example: pacienteID=1
fechaIniciostring(date)

Fecha de inicio. Se indica en formato de fecha (dd/mm/aaaa).
Obligatorio indicar este parámetro si no se indica el parámetro ventaDirectaID.
La diferencia máxima entre este parámetro y fechaFin debe ser de un año natural. Debe ser anterior a fechaFin.

Example: fechaInicio=01/01/2024
fechaFinstring(date)

Fecha de finalización. Se indica en formato de fecha (dd/mm/aaaa).
Obligatorio indicar este parámetro si no se indica el parámetro ventaDirectaID.
La diferencia máxima entre fechaInicio y este parámetro debe ser de un año natural. Debe ser posterior a fechaInicio.

Example: fechaFin=31/12/2024
delegacionIDstring

Identificador de la delegación.

Example: delegacionID=1
fechaModificacionstring(date)

Fecha de modificación.

Example: fechaModificacion=01/01/1970
curl -i -X GET \
  -u <username>:<password> \
  'https://ws.ofimedic.com/ofimedicws/test/services.asmx/GetVentasDirectas?delegacionID=1&fechaFin=31%2F12%2F2024&fechaInicio=01%2F01%2F2024&fechaModificacion=01%2F01%2F1970&pacienteID=1&token=1234&ventaDirectaID=1'

Responses

Relación de ventas directas

Bodyapplication/jsonArray [
idinteger

Identificador de la venta directa.

Example: 1
fechastring(date)

Fecha de la venta directa.
El formato de fecha es "aaaa-mm-dd".

Example: "2023-11-22"
pacienteIdinteger

Identificador del paciente de la venta directa.

Example: 1
doctorIdinteger

Identificador del facultativo de la venta directa.

Example: 1
delegacionIdinteger

Identificador de la delegación de la venta directa.

Example: 1
]
Response
application/json
[ { "id": 1, "fecha": "2023-11-22", "pacienteId": 1, "doctorId": 1, "delegacionId": 1 } ]

Visitas

Request

Obtiene las visitas de Ofimedic.

Query
tokenstringrequired

Código o Token de la sesión.

Example: token=1234
visitaIDstring

Identificador de la visita.

Example: visitaID=1
pacienteIDstring

Identificador del paciente.

Example: pacienteID=1
fechaIniciostring(date)

Fecha de inicio. Se indica en formato de fecha (dd/mm/aaaa).
Obligatorio indicar este parámetro si no se indica el parámetro visitaID.
La diferencia máxima entre este parámetro y fechaFin debe ser de un año natural. Debe ser anterior a fechaFin.

Example: fechaInicio=01/01/2024
fechaFinstring(date)

Fecha de finalización. Se indica en formato de fecha (dd/mm/aaaa).
Obligatorio indicar este parámetro si no se indica el parámetro visitaID.
La diferencia máxima entre fechaInicio y este parámetro debe ser de un año natural. Debe ser posterior a fechaInicio.

Example: fechaFin=31/12/2024
delegacionIDstring

Identificador de la delegación.

Example: delegacionID=1
fechaModificacionstring(date)

Fecha de modificación.

Example: fechaModificacion=01/01/1970
curl -i -X GET \
  -u <username>:<password> \
  'https://ws.ofimedic.com/ofimedicws/test/services.asmx/GetVisitas?delegacionID=1&fechaFin=31%2F12%2F2024&fechaInicio=01%2F01%2F2024&fechaModificacion=01%2F01%2F1970&pacienteID=1&token=1234&visitaID=1'

Responses

Relación de visitas

Bodyapplication/jsonArray [
idinteger

Identificador de la visita.

Example: 1
pacienteIdinteger

Identificador del paciente de la visita.

Example: 1
pacientestring

Nombre del paciente de la visita.

Example: ""
telefonoMovilstring

Teléfono móvil del paciente de la visita.

Example: "600000000"
telefonoFijostring

Teléfono fijo del paciente de la visita.

Example: "900000000"
dnistring

DNI del paciente de la visita.

Example: "00000000A"
emailstring(email)

Email del paciente de la visita.

Example: "example@ofimedic.com"
tipusVisitaIdinteger

Tipo de visita de la visita.

Example: 1
motivostring

Motivo de la visita.

Example: "Motivo"
fechastring(date)

Fecha de la visita.

Example: "01/01/1970"
horaIniciostring(time)

Hora de inicio de la visita.

Example: "00:00"
horaFinalstring(time)

Hora final de la visita.

Example: "00:00"
doctorIdinteger

Facultativo de la visita.

Example: 1
estadoIdinteger

Estado de la visita.

Example: 1
mutuaIdinteger

Tarifa de la visita.

Example: 1
tipoBaremointeger

Tipo de la tarifa de la visita.

Example: 1
presupuestoIdinteger

Presupuesto asociado a la visita.

Example: 1
bonoIdinteger

Bono asociado a la visita.

Example: 1
fechaCreacionstring(date)

Fecha de creación de la visita.

Example: "01/01/1970"
horaCreacionstring(time)

Hora de creación de la visita.

Example: "00:00"
reservastring

Tipo de visita general (Telefónica, Presencial, Online).

Example: "Telefónica"
tipoAtencionstring

Tipo de atención de la visita.

Example: "Presencial"
referenciastring

Referencia de la visita.

Example: "amigos"
campanastring

Campaña asociada a la visita.

Example: "Cita Online"
delegacionIdinteger

Delegación asociada a la visita.

Example: 1
horaLlegadastring(time)

Hora de llegada del paciente de la visita.

Example: "00:00"
horaEntradastring(time)

Hora de entrada a consulta del paciente de la visita.

Example: "00:00"
horaSalidastring(time)

Hora de salida de la consulta del paciente de la visita.

Example: "00:00"
observacionesstring

Observaciones de la visita.

salaIDinteger

Identificador de la sala de espera.

Example: 1
consultorioIDinteger

Identificador del consultorio.

Example: 1
]
Response
application/json
[ { "id": 1, "pacienteId": 1, "paciente": "A", "telefonoMovil": "600000000", "telefonoFijo": "900000000", "dni": "00000000A", "email": "example@ofimedic.com", "tipusVisitaId": 1, "motivo": "Bulto espalda", "fecha": "01/01/1970", "horaInicio": "00:00", "horaFinal": "00:00", "doctorId": 1, "estadoId": 1, "mutuaId": 1, "tipoBaremo": 1, "presupuestoId": 1, "bonoId": 1, "fechaCreacion": "01/01/1970", "horaCreacion": "00:00", "reserva": "Telefónica", "tipoAtencion": "Presencial", "referencia": "Amigos", "campana": "Cita Online", "delegacionId": 1, "horaLlegada": "00:00", "horaEntrada": "00:00", "horaSalida": "00:00", "observaciones": "", "salaID": 1, "consultorioID": 1 } ]

Otras acciones

Respuesta de búsqueda de datos a partir de los parámetros y valores especificados.

Operations