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

Grupos de categorías

Request

Obtiene los grupos de cada categoría de Ofimedic

Query
tokenstringrequired

Código o Token de la sesión.

Example: token=1234
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/GetTarifasGrupos?fechaModificacion=01%2F01%2F1970&token=1234'

Responses

Relación de grupos

Bodyapplication/jsonArray [
idinteger

Identificador del grupo.

Example: 1
descripcionstring

Nombre del grupo.

Example: "Grupo 1"
categoriaIdinteger

Identificador de la categoría.

Example: 1
]
Response
application/json
[ { "id": 1, "descripcion": "Grupo 1", "categoriaId": 1 } ]

Líneas de presupuesto

Request

Obtiene las líneas de presupuesto de Ofimedic.

Query
tokenstringrequired

Código o Token de la sesión.

Example: token=1234
presupuestoIDstring

Identificador del presupuesto.

Example: presupuestoID=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 presupuestoID.
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 presupuestoID.
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/GetPresupuestosLineas?delegacionID=1&fechaFin=31%2F12%2F2024&fechaInicio=01%2F01%2F2024&fechaModificacion=01%2F01%2F1970&pacienteID=1&presupuestoID=1&token=1234'

Responses

Relación de líneas de presupuestos

Bodyapplication/jsonArray [
idinteger

Identificador de la línea de presupuesto.

Example: 1
fechastring(date)

Fecha de la línea de presupuesto.
El formato de fecha es "aaaa-mm-dd".

Example: "2024-04-29"
idPresupuestointeger

Identificador del presupuesto.

Example: 1
servicioArticuloIdinteger

Identificador del Servicio/Artículo de la línea del presupuesto.

Example: 1
servicioArticulostring

Nombre del Servicio/Artículo de la línea de presupuesto.

Example: "Consultas"
estadoPresupuestostring

Estado del presupuesto.

Example: "En edición"
cantidadinteger

Cantidad de la línea de presupuesto

Example: 5
precioUnitarionumber(float)

Precio unitario de la línea de presupuesto.
Admite decimales.

Example: 15
ImporteDescuentonumber(float)

Importe del descuento de la línea del presupuesto.
Admite decimales.

Example: 1
baseImponiblenumber(float)

Base imponible del presupuesto.
Este valor es la multiplicación de cantidad por precioUnitario, restando posteriormente ImporteDescuento.
Admite decimales.

Example: 74
ivanumber(float)

Porcentaje de IVA de la línea de presupuesto.
Admite decimales.

Example: 10
importeIVAnumber(float)

Importe de IVA de la línea de presupuesto.
Admite decimales.

Example: 7.4
importeTotalLineanumber(float)

Importe total de la línea del presupuesto.
Este valor es la suma de los valores baseImponible e importeIVA.
Admite decimales.

Example: 81.4
]
Response
application/json
[ { "id": 1, "fecha": "2024-04-29", "idPresupuesto": 1, "servicioArticuloId": 1, "servicioArticulo": "Consultas", "estadoPresupuesto": "En edición", "cantidad": 5, "precioUnitario": 15, "ImporteDescuento": 1, "baseImponible": 74, "iva": 10, "importeIVA": 7.4, "importeTotalLinea": 81.4 } ]

Paciente (identificador)

Request

Obtiene el identificador del paciente en Ofimedic.

Es obligatorio indicar, como mínimo, uno de los dos parámetros de entrada.

Query
emailstring(email)

Correo del paciente.

Example: email=example@email.com
dnistring

Documento de identidad del paciente.

Example: dni=00000000A
curl -i -X GET \
  -u <username>:<password> \
  'https://ws.ofimedic.com/ofimedicws/test/services.asmx/GetPacienteId?dni=00000000A&email=example%40email.com'

Responses

Relación de identificadores

Bodyapplication/jsonArray [
idinteger

Identificador del paciente.

Example: 1
]
Response
application/json
[ { "id": 1 } ]

Otras acciones

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

Operations