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

Pacientes

Request

Obtiene los pacientes de Ofimedic.

Query
tokenstringrequired

Código o Token de la sesión.

Example: token=1234
pacienteIDstring

Identificador del paciente.

Example: pacienteID=1
pageNumberstring

Número de página de resultados.
Si se indica este valor, se devolverá el resultado en dos bloques, uno con la información de paginación, llamado “info” (página actual, total de páginas y registros mostrados por página) y otro con los datos, llamado “data”. Si este parámetro se deja en blanco, se devuelven todos los registros.

Example: pageNumber=1
pageSizestring

Número de registros por página de resultados.
Sólo es posible indicarlo en caso de indicar también el parámetro pageNumber.
En caso de indicar el parámetro pageNumber dejando este parámetro en blanco, se devuelven 100 registros por página.

Example: pageSize=100
showBajasstring

Vacío o “1” para devolver todos los registros. “0” para devolver solo los registros dados de alta.

Example: showBajas=1
fechaModificacionstring(date)

Fecha de modificación.

Example: fechaModificacion=01/01/1970
showObsHistoriastring

Vacío o “1” para devolver el campo de observaciones de la historia médica. “0” para devolver el campo vacío.

Example: showObsHistoria=1
curl -i -X GET \
  -u <username>:<password> \
  'https://ws.ofimedic.com/ofimedicws/test/services.asmx/GetPacientes?fechaModificacion=01%2F01%2F1970&pacienteID=1&pageNumber=1&pageSize=100&showBajas=1&showObsHistoria=1&token=1234'

Responses

Relación de pacientes

Bodyapplication/jsonArray [
idinteger

Identificador del paciente.

Example: 1
numeroHistoriastring

Número de historia del paciente

Example: "1"
nombrestring

Nombre del paciente

Example: "A"
apellidosstring

Apellidos del paciente

Example: "A"
dnistring

DNI del paciente

Example: "00000000A"
fechaNacimientostring(date)

Fecha de nacimiento del paciente.

Example: "01/01/1970"
direccionstring

Dirección del paciente.

Example: "Gran Via 1"
poblacionstring

Población del paciente.

Example: "Barcelona"
cpstring

Código postal del paciente.

Example: "01234"
provinciastring

Provincia del paciente.

Example: "Barcelona"
paisstring

País del paciente.

Example: "España"
telefonoFijostring

Teléfono fijo del paciente.

Example: "900000000"
telefonoMovilstring

Teléfono móvil del paciente.

Example: "600000000"
emailstring(email)

Email del paciente.

Example: "example@ofimedic.com"
referenciaPacienteIdinteger

Identificador de la referencia del paciente.

Example: 1
tipoPacienteIdinteger

Tipo de paciente.

Example: 1
doctorIdinteger

Facultativo asignado al paciente.

Example: 1
tarifasArray of objects

Tarifas asignadas al paciente.

sexostring

Sexo del paciente.

Example: "Hombre"
alergiasstring

Alergias del paciente.

Example: "Ninguna"
antecedentesMedicosstring

Antecedentes médicos del paciente.

Example: "Ninguno"
medicacionstring

Medicación del paciente.

Example: "Ibuprofeno"
antecedentesQuirurgicosstring

Antecedentes quirúrgicos del paciente.

Example: "Ninguno"
habitosToxicosstring

Hábitos tóxicos del paciente.

Example: "Ninguno"
familiastring

Antecedentes familiares del paciente.

Example: "Ninguno"
observacionesHistoriastring

Observaciones de la historia del paciente.
Es un texto en formato RTF, lo cual puede provocar una sobrecarga.

Example: ""
aceptaTratamientoDatosboolean

True si acepta el tratamiento de sus datos. False en caso contrario.

Example: true
aceptaTratamientoImagenesboolean

True si acepta el tratamiento de sus imágenes. False en caso contrario.

Example: true
aceptaComunicacionesboolean

True si acepta comunicaciones. False en caso contrario.

Example: false
aceptaComunicacionesMarketingboolean

True si acepta comunicaciones de marketing. False en caso contrario.

Example: false
delegacionIdinteger

Identificador de la delegación del paciente.

Example: 1
exclusivaDelegacionboolean

True si es exclusivo de la delegación indicada. False en caso contrario.

Example: false
fechaUltimaVisitaFinalizadastring(date)

Fecha de la última visita finalizada.

Example: "01/01/1970"
idExternostring

Identificador externo del paciente.

Example: "1"
fechaAltastring(date)

Fecha de alta del paciente

Example: "01/01/1970"
]
Response
application/json
[ { "id": 1, "numeroHistoria": "1", "nombre": "A", "apellidos": "A", "dni": "00000000A", "fechaNacimiento": "01/01/1970", "direccion": "Gran Via 1", "poblacion": "Barcelona", "cp": "01234", "provincia": "Barcelona", "pais": "España", "telefonoFijo": "900000000", "telefonoMovil": "600000000", "email": "example@ofimedic.com", "referenciaPacienteId": 1, "tipoPacienteId": 1, "doctorId": 1, "tarifas": [], "sexo": "Hombre", "alergias": "Ninguna", "antecedentesMedicos": "Ninguno", "medicacion": "Ibuprofeno", "antecedentesQuirurgicos": "Ninguno", "habitosToxicos": "Ninguno", "familia": "Ninguno", "observacionesHistoria": "", "aceptaTratamientoDatos": true, "aceptaTratamientoImagenes": true, "aceptaComunicaciones": false, "aceptaComunicacionesMarketing": false, "delegacionId": 1, "exclusivaDelegacion": false, "fechaUltimaVisitaFinalizada": "01/01/1970", "idExterno": "2", "fechaAlta": "01/01/1970" } ]

Países

Request

Obtiene los países configurados en Ofimedic.

Query
tokenstringrequired

Código o Token de la sesión.

Example: token=1234
curl -i -X GET \
  -u <username>:<password> \
  'https://ws.ofimedic.com/ofimedicws/test/services.asmx/GetPaises?token=1234'

Responses

Relación de países

Bodyapplication/jsonArray [
idinteger

Identificador del país.

Example: 1
paisstring

Nombre del país.

Example: "España"
prefijostring

Prefijo telefónico del país.

Example: "+34"
]
Response
application/json
[ { "id": 1, "pais": "España", "prefijo": "+34" } ]

Presupuestos

Request

Obtiene los presupuestos 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/GetPresupuestos?delegacionID=1&fechaFin=31%2F12%2F2024&fechaInicio=01%2F01%2F2024&fechaModificacion=01%2F01%2F1970&pacienteID=1&presupuestoID=1&token=1234'

Responses

Relación de presupuestos

Bodyapplication/jsonArray [
idinteger

Identificador del presupuesto.

Example: 1
titulostring

Título del presupuesto.

Example: "Presupuesto visita médica"
fechastring(date)

Fecha del presupuesto.
El formato de fecha es "aaaa-mm-dd".

Example: "2024-04-29"
pacienteIdinteger

Identificador del paciente del presupuesto.

Example: 1
doctorIdinteger

Identificador del facultativo del presupuesto.

Example: 1
derivadoIdinteger

Identificador del derivado del presupuesto.
Está relacionado con doctorId.

Example: 2
estadostring

Estado del presupuesto.

Example: "Aceptado"
baseImponiblenumber(float)

Base imponible del presupuesto.
Admite decimales.

Example: 15
importeIVAnumber(float)

Importe de IVA del presupuesto.
Admite decimales.

Example: 4.99
previsionnumber(float)

Previsión del presupuesto.
Se tienen en cuenta variables como importeIVA.
Admite decimales.

Example: 19.99
fechaCaducidadstring(date)

Fecha de caducidad del presupuesto.
El formato de fecha es "aaaa-mm-dd".

Example: "2024-04-29"
comercialIdinteger

Identificador del comercial del presupuesto.
Está relacionado con doctorId.

Example: 5
observacionesstring

Observaciones del presupuesto

Example: "Presupuesto aceptado"
delegacionIdinteger

Identificador de la delegación del presupuesto.

Example: 1
]
Response
application/json
[ { "id": 1, "titulo": "Presupuesto visita médica", "fecha": "2024-04-29", "pacienteId": 1, "doctorId": 1, "derivadoId": 2, "estado": "Aceptado", "baseImponible": 15, "importeIVA": 4.99, "prevision": 19.99, "fechaCaducidad": "2024-04-29", "comercialId": 5, "observaciones": "Presupuesto aceptado", "delegacionId": 1 } ]

Otras acciones

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

Operations