Web Service CM (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 en el Centro Médico.

Especificaciones

  • La URL para acceder al servicio tendrá la siguiente estructura:
    • http://{URL}/services.asmx/{NombreMétodo}
    • 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.

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

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.

07/04/2022

  • Creación de la función SendDocumentosEmail.

11/03/2022

  • Modificación en GetSociedades: Inclusión de la tarifa "Particular".

03/03/2022

  • Modificación en BusquedaCitaNueva: Los días disponibles a buscar pasan de 15 a 45.

21/01/2022

  • Modificación en GetFacultativosByEspecialidadAndSociedad: Inclusión del parámetro de entrada TipoAtencion.

12/11/2021

  • Modificación en GetDocumentosImagenes: Inclusión del campo NombreArchivo.

29/10/2021

  • Modificación en GetDocumentosImagenes: Modificación del parámetro Año.

06/10/2021

  • Modificación en GetDocumentosImagenes: Inclusión de los parámetros TipoDocumentoID, Mes y Año.

04/10/2021

  • Modificación en GetDocumentoImagen: Modificación del parámetro SubtipoDocumentoID para obtener los resultados de las pruebas.

08/09/2021

  • Modificación en LoginFacultativo: Inclusión del parámetro SoloDesdeHora.
  • Modificación en BusquedaCitaNueva: Inclusión del parámetro SoloDesdeHora.

03/09/2021

  • Modificación en BusquedaCitaNueva: Los días disponibles a buscar pasan de 7 a 15.
Languages
Servers
Test

https://www.ofimedic.com/

Autenticación

Prueba de conexión.

Operations

Citas

Respuesta de las acciones relativas a las citas en Ofimedic.

Operations

Descargas

Respuesta de acciones relacionadas con la descarga de archivos específicos.

Operations

Envío

Envíos de tipos de datos por vías específicas.

Operations

Obtención de listados

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

Operations

Pacientes

Respuesta de acciones específicas relacionadas con pacientes.

Operations

Registro

Request

Autenticación del paciente.

Query
DNIstringrequired

DNI del paciente.

Example: DNI=00000000A
Emailstring(email)required

Email del paciente

Example: Email=example@email.com
curl -i -X GET \
  -u <username>:<password> \
  'https://www.ofimedic.com/AltaUsuario?DNI=00000000A&Email=example%40email.com'

Responses

Respuesta a los datos introducidos.
Se dará uno de los 4 siguientes casos.

Bodyapplication/json
0integer

El DNI existe pero no coincide con el Email de ningún paciente.

1integer

El Email existe pero no coincide con el DNI de ningún paciente.

2integer

No existe ningún paciente con la combinación de DNI y Email determinado.

3integer

Existen y coincide que hay un paciente que tiene el DNI y el Email determinado.

Response
application/json
3

Alta

Request

Creación de paciente en Ofimedic con los datos proporcionados.

Query
DNIstringrequired

DNI del paciente.

Example: DNI=00000000A
Espanolinteger

1 si el DNI es Español.
0 en caso contrario.
Si no se indica, será, por defecto, 1.

Example: Espanol=1
Nombrestringrequired

Nombre del paciente.

Apellidosstringrequired

Apellidos del paciente.

FechaNacimientostring(date)

Fecha de nacimiento del paciente.

Example: FechaNacimiento=01/01/2017
Direccionstring

Dirección del paciente.

Poblacionstring

Población del paciente.

Example: Poblacion=Barcelona
CPstring

Código postal del paciente.

Example: CP=08000
Provinciastring

Provincia del paciente.

Example: Provincia=Barcelona
Emailstring(email)required

Email del paciente

Example: Email=example@email.com
TelfFijostring

Teléfono fijo del paciente.
Obligatorio indicar este parámetro si no se indica el parámetro TlfMovil.

Example: TelfFijo=900000000
TlfMovilstring

Teléfono móvil del paciente.
Obligatorio indicar este parámetro si no se indica el parámetro TelfFijo.

Example: TlfMovil=600000000
Sociedadesstring(integer)

Sociedades médicas del paciente. Se indica introduciendo un número entero o varios números enteros separados por comas.

En caso de indicar uno o varios valores en este campo y sean correctos, es decir, que el entero o los enteros estén bien separados por comas y todas las sociedades indicadas existan en Ofimedic, se le eliminarán al paciente las sociedades que tenga y se le asignará la sociedad o las sociedades que se indiquen.

Si se indica sólo una sociedad, esta pasará a ser la que tenga por defecto. Si se indican varias, la sociedad indicada en primer lugar será la marcada por defecto en Ofimedic.

Passwordstringrequired

Contraseña del paciente.

Sexostringrequired

H = Hombre
M = Mujer

Example: Sexo=H
RecibirComunicadosinteger

1 si el paciente desea recibir comunicados comerciales.
0 en caso contrario.
Si no se indica, será, por defecto, 0.

Example: RecibirComunicados=1
PoliticaLeidaintegerrequired

1 si el paciente ha leído la Política de Privacidad.
0 en caso contrario.

Example: PoliticaLeida=1
DelegacionIDinteger

Identificador de la delegación.
Si no se indica este parámetro, su valor será, por defecto, 1.

Example: DelegacionID=1
curl -i -X GET \
  -u <username>:<password> \
  'https://www.ofimedic.com/AltaPaciente?Apellidos=string&CP=08000&DNI=00000000A&DelegacionID=1&Direccion=string&Email=example%40email.com&Espanol=1&FechaNacimiento=01%2F01%2F2017&Nombre=string&Password=string&Poblacion=Barcelona&PoliticaLeida=1&Provincia=Barcelona&RecibirComunicados=1&Sexo=H&Sociedades=string&TelfFijo=900000000&TlfMovil=600000000'

Responses

Respuesta a los datos introducidos.
Se dará uno de los 6 siguientes casos.

Bodyapplication/json
0integer

Error al crear paciente.

1integer

Ni DNI ni Email existen en la base de datos. Se crea el paciente con la Cita Online activa.

2integer

DNI existe pero Email no en la base de datos.

3integer

DNI no existe pero Email si en la base de datos.

4integer

DNI y Email existen en la base de datos y el usuario tiene activado el servicio de Cita Online.

5integer

DNI y Email existen en la base de datos, pero el usuario no tiene activado el servicio de Cita Online. Se le activa el servicio de Cita Online y le actualiza los datos de la base de datos con los introducidos.

Response
application/json
4

Email

Request

Obtiene el email de un paciente.

Query
PacienteIDintegerrequired

Identificador del paciente.

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

Responses

Resultado.

Bodyapplication/json
Emailstring

Email del paciente.

Response
application/json
"email@example.com"

Contraseña

Request

Modifica la contraseña de un paciente.

Query
PacienteIDintegerrequired

Identificador del paciente.

Example: PacienteID=1
Passwordstringrequired

Contraseña del paciente.

curl -i -X GET \
  -u <username>:<password> \
  'https://www.ofimedic.com/SetContrasenaPaciente?PacienteID=1&Password=string'

Responses

Resultado.

Bodyapplication/json
arrays
Response
application/json

Modificación realizada de forma correcta.

[ { "Resultado": true } ]

Consulta de datos

Request

Consulta de datos de un paciente.

Query
PacienteIDintegerrequired

Identificador del paciente.

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

Responses

Resultado.

Bodyapplication/jsonArray [
PacienteIDinteger

Identificador del paciente.

Example: 1
NumHistoriastring

Número de historia del paciente.

Example: "1"
DNIstring

DNI del paciente.

Example: "00000000A"
Espanolboolean

True si el DNI es español.
False en caso contrario.

Example: true
Nombrestring

Nombre del paciente.

Example: "A"
Apellidosstring

Apellidos del paciente.

Example: "A"
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"
Emailstring(email)

Email del paciente.

Example: "example@ofimedic.com"
TelfFijostring

Teléfono fijo del paciente.

Example: "900000000"
TlfMovilstring

Teléfono móvil del paciente.

Example: "600000000"
Sexostring

Sexo del paciente:
H = Hombre
M = Mujer

Example: "H"
AceptaAccionesComunicacionboolean

True si el paciente acepta recibir comunicados de marketing.
False en caso contrario.

Example: false
SociedadesArray of objects

Relación de sociedades médicas del paciente.

Passwordstring

Contraseña del paciente.

]
Response
application/json
[ { "PacienteID": 1, "NumHistoria": "1", "DNI": "00000000A", "Espanol": true, "Nombre": "A", "Apellidos": "B", "FechaNacimiento": "01/01/1970", "Direccion": "Gran Via 1", "Poblacion": "Barcelona", "CP": "01234", "Provincia": "Barcelona", "Email": "example@ofimedic.com", "TelfFijo": "900000000", "TlfMovil": "600000000", "Sexo": "H", "AceptaAccionesComunicacion": false, "Sociedades": [ … ], "Password": "" } ]

Modificación

Request

Modificación de paciente en Ofimedic con los datos proporcionados.

Query
PacienteIDintegerrequired

Identificador del paciente.

Example: PacienteID=1
DNIstring

DNI del paciente.

Example: DNI=00000000A
Espanolinteger

1 si el DNI es Español.
0 en caso contrario.
Si no se indica, será, por defecto, 1.

Example: Espanol=1
Nombrestring

Nombre del paciente.

Apellidosstring

Apellidos del paciente.

FechaNacimientostring(date)

Fecha de nacimiento del paciente.

Example: FechaNacimiento=01/01/2017
Direccionstring

Dirección del paciente.

Poblacionstring

Población del paciente.

Example: Poblacion=Barcelona
CPstring

Código postal del paciente.

Example: CP=08000
Provinciastring

Provincia del paciente.

Example: Provincia=Barcelona
Emailstring(email)

Email del paciente

Example: Email=example@email.com
TelfFijostring

Teléfono fijo del paciente.

Example: TelfFijo=900000000
TlfMovilstring

Teléfono móvil del paciente.

Example: TlfMovil=600000000
Sociedadesstring(integer)

Sociedades médicas del paciente. Se indica introduciendo un número entero o varios números enteros separados por comas.

En caso de indicar uno o varios valores en este campo y sean correctos, es decir, que el entero o los enteros estén bien separados por comas y todas las sociedades indicadas existan en Ofimedic, se le eliminarán al paciente las sociedades que tenga y se le asignará la sociedad o las sociedades que se indiquen.

Si se indica sólo una sociedad, esta pasará a ser la que tenga por defecto. Si se indican varias, la sociedad indicada en primer lugar será la marcada por defecto en Ofimedic.

Passwordstring

Contraseña del paciente.

Sexostring

H = Hombre
M = Mujer

Example: Sexo=H
RecibirComunicadosinteger

1 si el paciente desea recibir comunicados comerciales.
0 en caso contrario.
Si no se indica, será, por defecto, 0.

Example: RecibirComunicados=1
PoliticaLeidainteger

1 si el paciente ha leído la Política de Privacidad.
0 en caso contrario.

Example: PoliticaLeida=1
DelegacionIDinteger

Delegación del paciente.

Example: DelegacionID=1
curl -i -X GET \
  -u <username>:<password> \
  'https://www.ofimedic.com/ModificarPaciente?Apellidos=string&CP=08000&DNI=00000000A&DelegacionID=1&Direccion=string&Email=example%40email.com&Espanol=1&FechaNacimiento=01%2F01%2F2017&Nombre=string&PacienteID=1&Password=string&Poblacion=Barcelona&PoliticaLeida=1&Provincia=Barcelona&RecibirComunicados=1&Sexo=H&Sociedades=string&TelfFijo=900000000&TlfMovil=600000000'

Responses

Respuesta a los datos introducidos.

Bodyapplication/json
arrays
Response
application/json

Paciente modificado correctamente.

[ { "Resultado": true } ]