Ofimedic TD (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:
    • http://{URL}/services.asmx/{NombreMétodo}
    • https://{URL}/services.asmx/{NombreMétodo}

  • Todos los parámetros de entrada son obligatorios a no ser que se indique lo contrario.
    • 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.

  • Todos los mensajes de respuesta estarán formateados en JSON.

  • En todas las respuestas de las llamadas se devuelve el NIF del cliente en la cabecera con la etiqueta “X-Ofimedic-NIF”.

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.

29/01/2025

  • Creación de la función GetPatients

03/10/2024

  • Añadido el identificador de Ofimedic en las respuestas de GetLocations, GetResources, GetInsurances y GetUsers

18/09/2024

  • Modificación en UpdateAppointment

05/09/2024

  • Modificaciones en SetLlamada, AddAppointment y UpdateAppointment
  • Creación de GetTDActivitiesSincro y AddAppointmentSincro

05/06/2024

  • Modificación en AddAppointment

16/05/2024

  • Modificaciones en SearchAvailabilities, CheckAvailability y AddAppointment

07/03/2024

  • Modificación en GetActivities

20/02/2024

  • Modificación en GetActivities

15/01/2024

  • Modificación en GetInsurances

09/01/2024

  • Creación de la función CheckAvailability

03/01/2024

  • Modificación en GetActivities

14/11/2023

  • Modificación en GetActivities

07/11/2023

  • Modificaciones en GetActivities y SearchAvailabilities

05/10/2023

  • Modificaciones en AddAppointment y SearchAvailabilities

28/06/2023

  • Eliminación, por motivos de desuso, de la función AddPatients
  • Ajustes en AddAppointment

21/06/2023

  • Ajustes en AddAppointment

09/06/2023

  • Ajustes en GetInsurances

25/05/2023

  • Ajustes en GetAppointments

23/05/2023

  • Ajustes en UpdateAppointment

16/05/2023

  • Ajustes en GetActivities, GetInsurances, AddPatient y AddAppointment

05/05/2023

  • Ajustes en GetActivities, GetInsurances, SearchAvailabilities, GetAppointments y AddAppointment

03/05/2023

  • Ajustes en AddPatient, AddAppointment y UpdateAppointment

25/04/2023

  • Creación del documento
Languages
Servers

https://www.ofimedic.com/

Conexión

Prueba de conexión.

Operations

Citas

Respuesta de las acciones relativas a las citas en Ofimedic.

Operations

Obtención

Request

Obtiene las citas de Ofimedic.
Función actualmente inhabilitada.

Query
APP_IDstring

Identificador de la cita.

Example: APP_ID=1
START_DATEstring(date)

Fecha de inicio de la cita. Se indica en formato de fecha (dd/mm/aaaa).
Obligatorio indicar este parámetro si no se indica el parámetro APP_ID.
En caso de indicarlo, la diferencia de tiempo máxima entre este parámetro y END_DATE será de 31 días.
Debe ser anterior a END_DATE.

Example: START_DATE=01/01/2024
END_DATEstring(date)

Fecha de finalización de la cita. Se indica en formato de fecha (dd/mm/aaaa).
Obligatorio indicar este parámetro si no se indica el parámetro APP_ID.
En caso de indicarlo, la diferencia de tiempo máxima entre este parámetro y START_DATE será de 31 días.
Debe ser posterior a START_DATE.

Example: END_DATE=31/01/2024
PATIENT_IDstring

Identificador del paciente.
Obligatorio indicar este parámetro si no se indica el parámetro PATIENT_ID_NUMBER.

Example: PATIENT_ID=1
RESOURCE_IDstring

Identificador del facultativo.

Example: RESOURCE_ID=1
LOCATION_IDstring

Identificador del centro/delegación.

Example: LOCATION_ID=1
curl -i -X GET \
  -u <username>:<password> \
  'https://www.ofimedic.com/GetAppointments?APP_ID=1&END_DATE=31%2F01%2F2024&LOCATION_ID=1&PATIENT_ID=1&RESOURCE_ID=1&START_DATE=01%2F01%2F2024'

Responses

Relación de citas

Bodyapplication/jsonArray [
APP_IDinteger

Identificador de la cita.

Example: 1
APP_STATUSstring

Estado de la cita.
NotAttended si está Pendiente.
Cancelled si está Anulada.
Confirmed en en cualquier otro caso.

Example: "Confirmed"
APP_DATEstring(date)

Fecha de la cita.
Formato de fecha en "dd/mm/aaaa".

Example: "14/07/2023"
APP_START_TIMEstring(date)

Hora de inicio de la cita.
Formato de tiempo "hh:mm".

Example: "16:00"
APP_END_TIMEstring(date)

Finalización de la cita.
Formato de tiempo "hh:mm".

Example: "16:30"
APP_CREATEDstring(date)

Fecha de creación de la cita.

Example: "25/02/2023"
PATIENT_IDinteger

Identificador del paciente.

Example: 1
PATIENT_FIRST_NAMEstring

Nombre del paciente.

Example: "A"
PATIENT_SECOND_NAMEstring

Apellidos del paciente.

Example: "A"
PATIENT_DATE_OF_BIRTHstring(date)

Fecha de nacimiento del paciente.

Example: "01/01/1970"
PATIENT_PLACE_OF_BIRTHstring

Población del paciente.

Example: "Barcelona"
PATIENT_ID_NUMBERstring

DNI del paciente.

Example: "00000000A"
PATIENT_GENDERstring

Sexo del paciente:
H = hombre
M = mujer

Example: "H"
PATIENT_ZIP_CODEstring

Código postal del paciente.

Example: "01234"
PATIENT_LANDLINE_PHONEstring

Teléfono fijo del paciente.

Example: "900000000"
PATIENT_MOBILE_PHONEstring

Teléfono móvil del paciente.

Example: "600000000"
PATIENT_WORK_PHONEstring

Teléfono del trabajo del paciente.

Example: "910000000"
PATIENT_EMAILstring(email)

Email del paciente.

Example: "example@ofimedic.com"
PATIENT_DATEstring(date)

Fecha de alta del paciente.

Example: "01/01/1970"
PATIENT_PRIVACYinteger

1 si el paciente acepta el tratamiento de sus datos.
0 en caso contrario.

Example: 1
PATIENT_PRIVACY_PROMOTIONSinteger

1 si acepta acciones de marketing.
0 en caso contrario.

Example: 1
ACTIVITY_IDinteger

Identificador del tipo de visita.

Example: 2
APPOINTMENT_TYPEinteger

Identificador del tipo de cita.

Example: 1
RESOURCE_IDinteger

Identificador del facultativo.

Example: 1
INSURANCE_IDinteger

Identificador de la compañía.

Example: 4
LOCATION_IDinteger

Identificador del centro/delegación.

Example: 2
]
Response
application/json
[ { "APP_ID": 1, "APP_STATUS": "Confirmed", "APP_DATE": "14/07/2023", "APP_START_TIME": "16:00", "APP_END_TIME": "16:30", "APP_CREATED": "25/02/2023", "PATIENT_ID": 1, "PATIENT_FIRST_NAME": "A", "PATIENT_SECOND_NAME": "A", "PATIENT_DATE_OF_BIRTH": "01/01/1970", "PATIENT_PLACE_OF_BIRTH": "Barcelona", "PATIENT_ID_NUMBER": "00000000A", "PATIENT_GENDER": "H", "PATIENT_ZIP_CODE": "01234", "PATIENT_LANDLINE_PHONE": "900000000", "PATIENT_MOBILE_PHONE": "600000000", "PATIENT_WORK_PHONE": "910000000", "PATIENT_EMAIL": "example@ofimedic.com", "PATIENT_DATE": "01/01/1970", "PATIENT_PRIVACY": 1, "PATIENT_PRIVACY_PROMOTIONS": 1, "ACTIVITY_ID": 2, "APPOINTMENT_TYPE": 1, "RESOURCE_ID": 1, "INSURANCE_ID": 4, "LOCATION_ID": 2 } ]

Creación

Request

Crea una cita en Ofimedic.

Query
APP_IDstring

Identificador de la cita.

Example: APP_ID=1
APP_DATEstring(date)

Fecha de inicio de la cita. Se indica en formato de fecha (dd/mm/aaaa).
Antes de crear una cita, se comprueba si APP_ID existe en Ofimedic.

Example: APP_DATE=09/06/2022
APP_START_TIMEstring(time)required

Hora de inicio de la cita. Se indica en formato de hora (hh:mm).

Example: APP_START_TIME=08:00
PATIENT_IDstring

Identificador del paciente.
Obligatorio indicar este parámetro si no se indica el parámetro PATIENT_FIRST_NAME.

Example: PATIENT_ID=1
RESOURCE_IDstringrequired

Identificador del facultativo.

Example: RESOURCE_ID=1
ACTIVITY_IDstringrequired

Identificador del tipo de visita.
Corresponde al tipo de servicio de TopDoctors.
0 si es primera visita.
1 si es una visita de seguimiento.

Example: ACTIVITY_ID=1
APPOINTMENT_TYPEstringrequired

Identificador del tipo de cita.
Se trata del tipo de atención en Ofimedic.
0 o 2 si es una cita presencial.
1 o 3 si es cita digital.

Example: APPOINTMENT_TYPE=0
APPOINTMENT_REASONstring

Motivo de la visita.

Example: APPOINTMENT_REASON=Primera visita
INSURANCE_IDstring

Identificador de la compañía.

Example: INSURANCE_ID=1
LOCATION_IDstring

Identificador del centro/delegación.

Example: LOCATION_ID=1
PATIENT_FIRST_NAMEstring

Nombre del paciente.
Obligatorio indicar este parámetro si el parámetro PATIENT_ID no existe en Ofimedic.

Example: PATIENT_FIRST_NAME=Nombre
PATIENT_SECOND_NAMEstring

Apellidos del paciente.
Solo es posible indicar este parámetro, de forma opcional, si el parámetro PATIENT_ID no existe en Ofimedic.
En caso de que PATIENT_ID exista, es obligatorio dejar este parámetro en blanco.

Example: PATIENT_SECOND_NAME=Apellidos
PATIENT_MOBILE_PHONEstring

Teléfono móvil del paciente.
Solo es posible indicar este parámetro, de forma opcional, si el parámetro PATIENT_ID no existe en Ofimedic.
En caso de que PATIENT_ID exista, es obligatorio dejar este parámetro en blanco.

Example: PATIENT_MOBILE_PHONE=600000000
PATIENT_EMAILstring

Email del paciente.
Solo es posible indicar este parámetro, de forma opcional, si el parámetro PATIENT_ID no existe en Ofimedic.
En caso de que PATIENT_ID exista, es obligatorio dejar este parámetro en blanco.

Example: PATIENT_EMAIL=patient.email@example.com
PATIENT_ID_NUMBERstring

DNI/NIF del paciente.
Solo es posible indicar este parámetro, de forma opcional, si el parámetro PATIENT_ID no existe en Ofimedic.
En caso de que PATIENT_ID exista, es obligatorio dejar este parámetro en blanco.

Example: PATIENT_ID_NUMBER=00000000A
OTHER_FIRST_NAMEstring

Nombre si la cita es para otra persona.

Example: OTHER_FIRST_NAME=Nombre
OTHER_SECOND_NAMEstring

Apellidos si la cita es para otra persona.

Example: OTHER_SECOND_NAME=Apellidos
OTHER_DATE_OF_BIRTHstring(date)

Fecha de nacimiento si la cita es para otra persona Se indica en formato de fecha (dd/mm/aaaa).

Example: OTHER_DATE_OF_BIRTH=27/12/1976
OTHER_GENDERstring

Sexo si la cita es para otra persona.
H si es Hombre.
M si es una mujer.

Example: OTHER_GENDER=M
PAYMENT_TYPEstring

Tipo de pago en la visita.
0 si es un pago en consulta.
1 si es un pago anticipado.
En caso de no indicar este parámetro, será 0 por defecto.

Example: PAYMENT_TYPE=0
curl -i -X GET \
  -u <username>:<password> \
  'https://www.ofimedic.com/AddAppointment?ACTIVITY_ID=1&APPOINTMENT_REASON=Primera%20visita&APPOINTMENT_TYPE=0&APP_DATE=09%2F06%2F2022&APP_ID=1&APP_START_TIME=08%3A00&INSURANCE_ID=1&LOCATION_ID=1&OTHER_DATE_OF_BIRTH=27%2F12%2F1976&OTHER_FIRST_NAME=Nombre&OTHER_GENDER=M&OTHER_SECOND_NAME=Apellidos&PATIENT_EMAIL=patient.email%40example.com&PATIENT_FIRST_NAME=Nombre&PATIENT_ID=1&PATIENT_ID_NUMBER=00000000A&PATIENT_MOBILE_PHONE=600000000&PATIENT_SECOND_NAME=Apellidos&PAYMENT_TYPE=0&RESOURCE_ID=1'

Responses

Resultado

Bodyapplication/jsonArray [
RESULTstring

Respuesta de creación de la cita.
OK en caso de creación correcta.
ERROR en caso de error.

Example: "OK"
ERROR_MESSAGEstring

Descripción del error en caso de error.

APP_IDinteger

Identificador de la cita.

Example: 1
PATIENT_IDinteger

Identificador del paciente.

Example: 2
ROOM_IDinteger

Identificador de la sala de videoconsulta.
Sólo se indica si la visita es de tipo de atención Online o E-Consulta.

Example: 2
]
Response
application/json
[ { "RESULT": "OK", "ERROR_MESSAGE": "", "APP_ID": 1, "PATIENT_ID": 2, "ROOM_ID": 2 } ]

Modificación

Request

Modifica una cita en Ofimedic.

Query
APP_IDstring

Identificador de la cita.

Example: APP_ID=1
APP_DATEstring(date)

Fecha de inicio de la cita. Se indica en formato de fecha (dd/mm/aaaa).
Antes de crear una cita, se comprueba si APP_ID existe en Ofimedic.

Example: APP_DATE=09/06/2022
APP_START_TIMEstring(time)

Hora de inicio de la cita. Se indica en formato de hora (hh:mm).

Example: APP_START_TIME=08:00
APP_ARRIVE_TIMEstring(time)

Hora de llegada del paciente al centro médico. Se indica en formato de hora (hh:mm).

Example: APP_ARRIVE_TIME=07:55
APP_ACCESS_TIMEstring(time)

Hora de entrada del paciente a la consulta del facultativo. Se indica en formato de hora (hh:mm).

Example: APP_ACCESS_TIME=07:59
APP_END_TIMEstring(time)

Hora de salida del paciente del centro. Se indica en formato de hora (hh:mm).

Example: APP_END_TIME=08:30
PAYMENT_STATUSstring

Estado del pago por la cita.
0 si la cita no se ha pagado. En caso de indicar este valor, se eliminarán los cobros que tenga la visita en Ofimedic.
1 si la cita se ha pagado. En caso de indicar este valor, en caso de que la visita o cita no tenga cobros, se crearán los cobros en Ofimedic correspondientes a las ventas de la visita.

Example: PAYMENT_STATUS=1
INSURANCE_IDstring

Identificador de la compañía.

Example: INSURANCE_ID=1
LOCATION_IDstring

Identificador del centro/delegación.

Example: LOCATION_ID=1
curl -i -X GET \
  -u <username>:<password> \
  'https://www.ofimedic.com/UpdateAppointment?APP_ACCESS_TIME=07%3A59&APP_ARRIVE_TIME=07%3A55&APP_DATE=09%2F06%2F2022&APP_END_TIME=08%3A30&APP_ID=1&APP_START_TIME=08%3A00&INSURANCE_ID=1&LOCATION_ID=1&PAYMENT_STATUS=1'

Responses

Resultado

Bodyapplication/jsonArray [
RESULTstring

Respuesta de creación de la cita.
OK en caso de creación correcta.
ERROR en caso de error.

Example: "OK"
ERROR_MESSAGEstring

Descripción del error en caso de error.

APP_IDinteger

Identificador de la cita.

Example: 1
PATIENT_IDinteger

Identificador del paciente.

Example: 2
ROOM_IDinteger

Identificador de la sala de videoconsulta.
Sólo se indica si la visita es de tipo de atención Online o E-Consulta.

Example: 2
]
Response
application/json
[ { "RESULT": "OK", "ERROR_MESSAGE": "", "APP_ID": 2, "PATIENT_ID": 2 } ]

Eliminación

Request

Elimina una cita en Ofimedic.

Query
APP_IDstringrequired

Identificador de la cita.

Example: APP_ID=1
curl -i -X GET \
  -u <username>:<password> \
  'https://www.ofimedic.com/DeleteAppointment?APP_ID=1'

Responses

Resultado

Bodyapplication/jsonArray [
RESULTstring

Respuesta de creación de la cita.
OK en caso de creación correcta.
ERROR en caso de error.

Example: "OK"
APP_IDinteger

Identificador de la cita.

Example: 1
]
Response
application/json
[ { "RESULT": "OK", "APP_ID": 2 } ]

Disponibilidad

Búsqueda de datos de disponibilidad a partir de parámetros y valores indicados.

Operations

Llamadas

Recepción de notificaciones a partir de parámetros indicados.

Operations

Obtención de listados

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

Operations