Documento de integración · confidencial

Propuesta de integración · TrustCare para GHIPS

Qué necesitamos de GHIPS y para qué

TrustCare acompaña al paciente desde que busca un especialista hasta que termina su recuperación. El contacto con GHIPS empieza cuando entra el especialista y se concentra cuando la clínica opera el caso. Este documento muestra ese recorrido, señala los nueve momentos de contacto y lista exactamente qué servicios de su API usaríamos y cuáles no.

Fecha 14 de agosto de 2026 Base del análisis documentación pública de GHIPS 44.6 Servicios solicitados 40 de 334 · 33 de consulta, 7 de registro

01

El recorrido del paciente

Ocho etapas, y el contacto con GHIPS no empieza al principio. Mientras el paciente busca, se registra y paga su consulta todavía no ha elegido especialista ni clínica: no hay historia clínica que consultar, y no consultamos ninguna. Nuestra frontera con GHIPS se abre en dos zonas:

Los nueve pines naranjas marcan los momentos exactos de contacto.

EL RECORRIDO DEL PACIENTE Búsqueda habla con Aurora Registro crea su cuenta Paga consulta pasarela propia Videoconsulta con el especialista Cotización plan de tratamiento Reserva elige especialista Tratamiento operación clínica Cierre reseña P1 P2 P3 P4 P9 SIN CONTACTO CON GHIPS · aún no hay clínica elegida ZONA A · conversación con el especialista ZONA B · SISTEMA DE CLÍNICAS el tratamiento es el caso quirúrgico que la clínica gestiona en el sistema de clínicas y en GHIPS ETAPAS DEL CASO · lo que la clínica opera admisión documentos programación pre-anestesia prefacturación cirugía post-operatorio P8 P6 P7 P9 P5 · la etapa quirúrgica, consultada en cada avance LO QUE VE EL PACIENTE EN SU APP Preparando tu caso Documentos pendientes Cirugía programada Pre-anestesia completa no se muestra Día de cirugía En recuperación momento en que consultamos o registramos algo en GHIPS información interna de la clínica que el paciente nunca ve Cinco de los nueve puntos están en la zona B: la integración es, sobre todo, para el personal de la clínica. La prefacturación avanza sin que el paciente vea nada: es información administrativa de la clínica. El progreso mostrado al paciente nunca retrocede, aunque el proceso interno cambie de orden.
La integración es sobre todo para el personal de la clínica, no para el buscador del paciente. Mientras el paciente explora no tocamos GHIPS: aún no ha elegido clínica. Cuatro puntos aparecen cuando entra el especialista, y seis cuando la clínica opera el caso en el sistema de clínicas de TrustCare — que es justo donde hoy se registra dos veces la misma información. La etapa clínica se traduce a un lenguaje que el paciente entiende y se filtra lo que no le corresponde ver; en ningún caso mostramos el estado operativo tal cual sale de GHIPS.

02

Los nueve puntos de contacto

Para cada punto: qué está pasando en ese momento, qué necesitamos de GHIPS, y con qué servicios de su API creemos que se resuelve.

Zona A · La conversación con el especialista

El paciente ya eligió con quién hablar, y con ello quedó definida la clínica. A partir de aquí hay una historia clínica que consultar y una agenda real que respetar. Nota importante de alcance: no consultamos su directorio para poblar un buscador público. Consultamos la agenda del especialista que el paciente ya eligió, y solo los datos de ese paciente.

P1Videoconsulta

El paciente debe existir en el registro clínico

Apenas el especialista entra en la conversación, su caso deja de ser una exploración y pasa a ser un paciente de esa clínica. Es el momento correcto para verificar si ya existe en GHIPS y, si no, crearlo — antes de que haya que agendarle nada.

Necesitamos
Verificar existencia por documento, crear el paciente si no está, y recibir su identificador interno para las llamadas siguientes.
Servicios
POST LeonCitas/VerificarPaciente · POST LeonCitas/VerificarPacienteParticular · POST LeonCitas/RegistrarPacienteNuevo · GET api/ConsultarPaciente · GET LeonCitas/GetTipoDocuentos · GET LeonCitas/GetEstadosCivil · GET LeonCitas/GetNacionalidades
Dirección
Registra un paciente
P2Cotización

Disponibilidad real de la agenda del especialista

Tras la videoconsulta el especialista suele pedir una valoración presencial o exámenes previos. Si él agenda también en GHIPS, la disponibilidad que mostremos sin consultarlos estará incompleta y le ofreceremos al paciente horas ya ocupadas.

Necesitamos
Sedes y especialidades de esa clínica, agendas del profesional y sus horarios libres. Festivos, para no ofrecer días no hábiles.
Servicios
GET api/Sedes · GET api/ServiciosById · GET api/EspecialidadesServicioById · POST LeonCitas/GetAllMedicosDisponibles · POST LeonCitas/GetAllHorariosDisponibles · POST LeonCitas/GetDiasConDisponibilidad · GET Festivo/GetFestivosDesdeEsteMes
Dirección
Solo consulta
P3Cotización

Tarifa del procedimiento por código CUPS

La cotización que recibe el paciente lleva un precio. Si la clínica ya tiene su tarifario cargado en GHIPS, ese valor debería salir de ahí en vez de teclearse, y así lo que el paciente compara es lo que la clínica efectivamente factura.

Necesitamos
Valor particular por CUPS y sede, y el catálogo de CUPS y diagnósticos.
Servicios
GET LeonCitas/ObtenerValorServicioParticular/{IdSede}/{Cups}/{Institucional} · GET CupsPorFormato/ConsultarTodos · GET ConsultarDiagnostico/{descripcion}
Dirección
Solo consulta
P4Reserva

Agendar, reprogramar y cancelar citas

Es el punto de mayor valor inmediato, y sigue vigente durante todo el tratamiento. El paciente le pide a Aurora reprogramar su cita y no llama a la clínica; el personal la ve al instante en el sistema de clínicas. Si esa cita no baja a GHIPS, alguien tiene que copiarla a mano y el riesgo de choque de agenda es real.

Necesitamos
Crear la cita sobre una agenda concreta, listar las pendientes del paciente, cancelarla y reprogramarla.
Servicios
POST LeonCitas/GenerarCitaPaciente · POST LeonCitas/GetAllCitasPendientesByPaciente · POST LeonCitas/CancelarCitaPaciente · POST LeonCitas/ReprogramarCitaPaciente · GET Rutas/GetCitasActivasPaciente/{Documento}/{Tipo}
Dirección
Registra, cancela y reprograma citas

Zona B · La clínica opera el caso en el sistema de clínicas de TrustCare

Aquí está el grueso de la integración: cinco de los nueve puntos. Es el tramo en que hoy el personal de la clínica registra en el sistema de clínicas lo mismo que registra en GHIPS. Cada punto de esta zona elimina una de esas duplicaciones.

P5Todo el caso

La etapa quirúrgica del paciente

Es el servicio de mayor impacto de toda la lista. Mientras el caso avanza dentro de la clínica, el paciente quiere saber en qué va: si ya está programado, si falta la valoración pre-anestésica, si le toca firmar algo. Ese dato ya lo tiene GHIPS. Si podemos consultarlo, el caso avanza solo en el sistema de clínicas y el paciente ve su progreso actualizado — sin que nadie de la clínica tenga que mover el estado dos veces. Es la duplicación más costosa de todas, porque ocurre en cada transición.

Necesitamos
La etapa actual del paciente en el flujo quirúrgico, y la lista cerrada de valores posibles con su significado para traducirla correctamente.
Servicios
GET Ticorange/GetEtapa/{numeroIdentificacion}/{tipoIdentificacion}
Dirección
Solo consulta
P6Documentos

Consentimientos firmados de vuelta a la historia clínica

El paciente firma electrónicamente el consentimiento informado, el habeas data y demás documentos desde la app, con validez legal. Ese PDF tiene que terminar archivado en GHIPS — si no, la clínica va a volver a pedirlo en papel el día de la cirugía y el trabajo digital no habrá servido de nada.

Necesitamos
Subir un PDF firmado al archivador del paciente, con y sin atención asociada. También leer los formatos que la clínica ya generó, para mostrárselos.
Servicios
POST Files/GuargarConsentimientoInformado · POST Files/GuardarEnArchivadorv2 · GET Files/GetReporteByFormatoId/{IdPacienteAtencion}/{Formato}
Dirección
Archiva documentos firmados
P7Pre-anestesia

Resultados de laboratorio y ayudas diagnósticas

La valoración pre-anestésica depende de exámenes. Hoy le pedimos al paciente que los suba como archivo. Si la clínica los procesa en su propio laboratorio, ya están en GHIPS y podemos mostrárselos sin pedirle nada — y sabemos cuándo su proceso puede avanzar.

Necesitamos
Listado de resultados disponibles del paciente y descarga del reporte en PDF, que consultamos en el momento de mostrarlo y no almacenamos.
Servicios
GET LeonCitas/GetResultsLaboratoriosDisponibles · GET LeonCitas/GetResultsAyudasDxDisponibles · GET LeonCitas/GetReporteLaboratorio/{IdPacienteAtencion}/{Numero} · GET LeonCitas/GetReporteAyudaDx
Dirección
Solo consulta
P8Admisión

El número de atención

Cuando la clínica abre la atención del paciente, ese identificador se vuelve la llave de casi todo lo demás en GHIPS: archivador, formatos, resultados, notas. Sin él, los puntos P6 y P7 se quedan sin el parámetro que necesitan.

Necesitamos
Poder consultar la atención vigente del paciente. Nuestra preferencia es solo leerla — que la abra la clínica, como ya lo hace.
Servicios
GET api/GetEncabezadoHospitalizacionDatosPaciente?atencionId= · POST api/Admision/RegistrarAtencionRapida solo si ustedes lo prefieren
Dirección
Consulta preferentemente
P9Cierre

El egreso confirma que el tratamiento terminó

Al cerrarse el proceso le pedimos al paciente una reseña. Hoy eso lo dispara el especialista a mano; el egreso registrado en GHIPS es la señal más fiable de que el procedimiento efectivamente ocurrió y terminó.

Necesitamos
Egresos por sede y rango de fechas.
Servicios
GET Informes/ConsultarEgresos/{Sede}/{FechaInicial}/{FechaFinal}
Dirección
Solo consulta · deseable, no crítico

03

Servicios que necesitamos

La lista consolidada, agrupada por función. 40 servicios de los 334 que expone GHIPS. Treinta y tres son consultas; siete escriben, y de esos siete, cinco son citas del propio paciente y dos son documentos que él mismo firmó.

La columna «Punto» remite a la sección anterior: P1 a P4 son la zona A (conversación con el especialista) y P5 a P9 son la zona B (la clínica operando el caso en el sistema de clínicas).

ServicioPara quéPuntoTipo
Acceso
GET api/login/echopingVerificar conectividadConsulta
POST api/login/authenticateObtener tokenConsulta
Catálogos y directorio
GET api/Sedes · GET api/SedesID?id=Sedes activasP2Consulta
GET api/ServiciosById?id=Servicios por sedeP2Consulta
GET api/EspecialidadesServicioById?id=Especialidades por servicioP2Consulta
GET LeonCitas/GetAllSedesSedes del módulo de agendaP2Consulta
GET LeonCitas/GetAllTipoCitaBySede/{IdSede}/{Particular}Tipos de citaP2Consulta
GET LeonCitas/GetTipoDocuentosTipos de documentoP1Consulta
GET LeonCitas/GetEstadosCivil · GetNacionalidadesCatálogos para crear el pacienteP1Consulta
GET Festivo/GetFestivosDesdeEsteMes/{mes}/{ano}Días no hábilesP2Consulta
GET CupsPorFormato/ConsultarTodosCatálogo CUPSP3Consulta
GET ConsultarDiagnostico/{descripcion}Catálogo de diagnósticosP3Consulta
Pacientes
POST LeonCitas/VerificarPaciente · VerificarPacienteParticularVer si ya existeP1Consulta
GET api/ConsultarPacienteDatos del pacienteP1Consulta
POST LeonCitas/RegistrarPacienteNuevoCrear pacienteP1Registra
Disponibilidad y agenda
POST LeonCitas/GetAllMedicosDisponiblesProfesionales con agendaP2Consulta
POST LeonCitas/GetProfesionalesConCitasDisponiblesProfesionales con cupo a 30 díasP2Consulta
POST LeonCitas/GetAllHorariosDisponiblesHoras libresP2Consulta
POST LeonCitas/GetAgendasDisponiblesAgendas disponiblesP2Consulta
POST LeonCitas/GetDiasConDisponibilidadDías con cupo en el añoP2Consulta
GET LeonCitas/ObtenerValorServicioParticular/{IdSede}/{Cups}/{Institucional}Tarifa particularP3Consulta
Citas
POST LeonCitas/GenerarCitaPacienteAgendarP4Registra
POST LeonCitas/GetAllCitasPendientesByPacienteCitas pendientesP4Consulta
GET Rutas/GetCitasActivasPaciente/{Documento}/{Tipo}Citas activasP4Consulta
POST LeonCitas/CancelarCitaPacienteCancelarP4Modifica
POST LeonCitas/ReprogramarCitaPacienteReprogramarP4Modifica
Proceso quirúrgico
GET Ticorange/GetEtapa/{numeroIdentificacion}/{tipoIdentificacion}Etapa actual del casoP5Consulta
GET api/GetEncabezadoHospitalizacionDatosPaciente?atencionId=Datos de la atenciónP8Consulta
POST api/Admision/RegistrarAtencionRapidaAbrir atenciónP8Solo si lo prefieren
GET Informes/ConsultarEgresos/{Sede}/{FechaInicial}/{FechaFinal}EgresosP9Consulta
Documentos y resultados
POST Files/GuargarConsentimientoInformadoArchivar consentimiento firmadoP6Registra
POST Files/GuardarEnArchivadorv2Archivar sin atención asociadaP6Registra
GET Files/GetReporteByFormatoId/{IdPacienteAtencion}/{Formato}Leer formato de atenciónP6Consulta
GET LeonCitas/GetResultsLaboratoriosDisponiblesResultados de laboratorioP7Consulta
GET LeonCitas/GetResultsAyudasDxDisponiblesAyudas diagnósticasP7Consulta
GET LeonCitas/GetReporteLaboratorio/{IdPacienteAtencion}/{Numero}PDF de laboratorioP7Consulta
GET LeonCitas/GetReporteAyudaDx/…PDF de ayuda diagnósticaP7Consulta

Lo que no vamos a tocar

Conviene decirlo explícitamente: el 88 % de su API queda fuera de nuestro alcance y no pedimos acceso a nada de esto.

GrupoServiciosPor qué no lo necesitamos
Activos78Inventario, traslados, compras y proveedores de farmacia
GhipsLite55Dispensación, kardex y recepción de medicamentos intrahospitalaria
Financiero · Crue · RPA · Tableau · Informe29RIPS, facturación, reportes gerenciales y de gestión
Mipres · MedicamentosGrupoAfin9Prescripción y dispensación de medicamentos
Hospitalizacion · Encabezados · NotasEvolucion · RondasInterconsultas9Operación de piso y hospitalización
SignalR · Mirth · Prodiagnostico · Configuration15Mensajería interna, interoperabilidad HL7 e integraciones de terceros
Autorizaciones · Aseguradoras · otros módulos de agenda y grupos menores99Autorizaciones de EPS (el procedimiento es particular), agendas alternativas, docencia, turnos, SSTDC, Calipsu, Livinglab
Una pregunta que condiciona todo lo demás

Su documentación expone seis módulos de agendamiento distintosLeonCitas, Telemed, BonnetCitas, CocoCitas, CeroCitas y DonDoctor — con modelos de datos que no parecen intercambiables. Todo este documento asume LeonCitas por ser el más completo, pero es una suposición nuestra. Necesitamos que nos confirmen cuál usa esta clínica; si es otro, reharemos el mapeo sobre el módulo correcto.

04

Seguridad de la información

Toda la información que viaja por TrustCare va cifrada, de extremo a extremo del recorrido: entre el paciente y nosotros, entre nuestros servicios, y entre nosotros y GHIPS. Las credenciales que ustedes nos entreguen quedan cifradas en reposo y nunca salen del servidor.

Dónde vive la información clínica

TrustCare no es un sistema de historia clínica y no aspira a serlo. La historia clínica del paciente es de la institución y vive en GHIPS; nosotros no la replicamos ni construimos un repositorio paralelo. Ese es precisamente el papel que le corresponde al software clínico, y la razón por la que preferimos consultarles a ustedes antes que acumular información de nuestro lado.

No guardamos Nada del expediente clínico
  • Historia clínica, notas de evolución y órdenes médicas
  • Diagnósticos codificados y medicación
  • Censos, listados de pacientes o cualquier dato de pacientes ajenos al proceso
  • Información administrativa interna de la clínica — la prefacturación, por ejemplo, ni la pedimos ni la mostramos
Consultamos sin guardar Por referencia, no por copia
  • Resultados de laboratorio y ayudas diagnósticas: los pedimos a GHIPS en el momento de mostrárselos al paciente y no conservamos copia
  • La etapa del caso: de lo que nos devuelve Ticorange solo persistimos la fase ya traducida y visible («Cirugía programada»), nunca el estado clínico crudo
  • Formatos de atención que ustedes ya generaron
Guardamos, y por qué Lo mínimo para operar el proceso
  • Identificación y contacto: nombre, documento, correo y teléfono — necesarios para identificar al paciente contra GHIPS
  • Sus citas: fecha, hora, especialista y el identificador que ustedes nos devuelvan
  • Lo que el paciente le escribe al asistente sobre lo que busca. Es información que él nos da voluntariamente en el marco del servicio; no es historia clínica ni la sustituye
  • Los documentos que él firma. La copia buena se archiva en GHIPS (punto P6); de nuestro lado queda la referencia y el estado de firma
El principio

Cuando un dato clínico existe en GHIPS, esa es la copia buena. Nosotros lo mostramos, no lo poseemos. Es una decisión de diseño de la integración y estamos dispuestos a dejarla escrita en el acuerdo de tratamiento de datos, incluyendo el compromiso de no persistir resultados clínicos consultados a través de su API.

Cómo viaja y quién puede llamar

App del paciente navegador o móvil nunca ve credenciales Sistema de clínicas personal de la clínica nunca ve credenciales HTTPS HTTPS Plataforma TrustCare servidores propios sesiones con token firmado contraseñas con hash irreversible avisos entre servicios firmados (HMAC) credenciales externas cifradas en reposo aislamiento por clínica Punto único de salida servidor a servidor IP fija para lista blanca GHIPS infraestructura de la clínica 40 servicios acordados 33 consultas agenda · etapa · resultados · tarifas 7 escrituras paciente · citas · documentos firmados TLS en todo el trayecto Sus credenciales viven cifradas en nuestro servidor. No se envían al navegador, no aparecen en el código de la app, y ninguna llamada a GHIPS se origina en el equipo del paciente ni en el del personal de la clínica.
Un solo canal, servidor a servidor, cifrado y con IP conocida. Ni la app del paciente ni el sistema de clínicas hablan con GHIPS: ambas hablan únicamente con nuestros servidores, y son ellos —desde una dirección fija que ustedes pueden autorizar en su lista blanca— los que consultan a GHIPS. Si en algún momento quieren cortar el acceso, basta con revocar unas credenciales o quitar una IP.
En tránsito Todo el trayecto va cifrado

HTTPS entre el paciente y nosotros, y HTTPS entre nosotros y GHIPS. Ningún dato clínico viaja en claro en ningún tramo del recorrido.

En reposo Sus credenciales quedan cifradas

El usuario, la contraseña y cualquier clave que nos entreguen se guardan cifrados en base de datos y se descifran solo en el momento de usarlos. Nadie de nuestro equipo las lee en texto plano.

Identidad Nada de credenciales en el navegador

Ni la app del paciente ni el sistema de clínicas reciben o ven las credenciales de GHIPS. Las sesiones usan cookies seguras que el navegador no puede leer, y toda llamada a GHIPS se origina en nuestro servidor.

Integridad Avisos firmados entre sistemas

Los mensajes automáticos entre nuestros propios servicios van firmados criptográficamente (HMAC-SHA256) y se rechazan si la firma no coincide. Aplicaremos el mismo criterio a cualquier canal que definamos con ustedes.

Alcance Pedimos lo mínimo

40 servicios de 334, y solo los datos del paciente que ya eligió a un especialista de esa clínica. No poblamos un buscador con su directorio, no consultamos censos ni listados masivos, y no accedemos a pacientes ajenos al proceso. Lo clínico se consulta, no se acumula.

Control Revocable en cualquier momento

Un único punto de salida con IP fija. Revocar credenciales o retirar la IP de su lista blanca corta el acceso por completo, de inmediato y sin efectos colaterales en su sistema.

Sobre el tratamiento de datos personales quedamos atentos a firmar el acuerdo que la institución requiera, definiendo qué información podemos almacenar de nuestro lado, por cuánto tiempo y bajo qué condiciones se elimina. El paciente ya firma su autorización de habeas data dentro de TrustCare y podemos compartir ese registro.

05

Para empezar

Con los cuatro primeros puntos ya podemos escribir código y mostrarles algo funcionando. El resto se puede resolver sobre la marcha.

Accesos

Un ambiente de pruebas con credenciales propias.

Idealmente contra una base que no sea la de producción, con al menos un paciente de prueba de documento conocido y una agenda con cupos libres. Si no existe ambiente de pruebas, díganlo y planteamos alternativas.

Cuál de los seis módulos de agenda usa esta clínica.

Es la definición que más determina el trabajo. Si son varios según la sede, necesitamos la correspondencia sede → módulo.

Requisitos de red.

Si hay lista blanca de IP, VPN o certificado de cliente. Salimos desde una dirección fija, así que darla de alta es sencillo — solo necesitamos saberlo antes de desplegar.

Un contacto técnico.

Alguien a quien escribirle cuando una respuesta no coincida con lo esperado. Nos ahorra días a ambos lados.

Definiciones técnicas

Cómo funciona el token.

Cuánto dura, cómo se renueva, si puede viajar en la cabecera Authorization y qué significa el campo Encrypt del login. Notamos que varios servicios lo reciben como segmento de la URL; preferiríamos cabecera, porque las URLs quedan registradas en los intermediarios de red. Si no es posible, lo manejamos sin registrar esas rutas.

Los catálogos de identificadores.

IdSede, IdServicio, IdEspecialidad, IdAgenda, tipos de cita, tipos de documento y CUPS. Basta una entrega inicial más una forma de refrescarlos; sin ellos no podemos armar ni una sola llamada real.

Ejemplos de respuesta y códigos de error.

La documentación pública detalla muy bien los cuerpos de petición, pero deja casi todas las respuestas en blanco. Un ejemplo real por servicio, y saber qué devuelven ante «paciente no existe», «sin cupo disponible» y «no autorizado», nos evita adivinar.

Los valores posibles de Ticorange/GetEtapa.

La lista cerrada de etapas y qué significa cada una. De esto depende por completo el punto P5, que es el que le ahorra a su personal mover el estado del caso dos veces.

Cómo nos enteramos de los cambios.

No encontramos un mecanismo por el que GHIPS nos avise de un cambio. Si existe, nos interesa mucho. Si no, propongamos consulta periódica y acordemos frecuencia y volumen aceptables — no queremos generarles carga innecesaria. Un servicio de «cambios desde tal fecha» sería la solución más eficiente para ambos.

Cómo evitar citas duplicadas.

Si nuestra petición de agendamiento se corta después de que ustedes ya la procesaron, el reintento podría crear dos citas. ¿Aceptan una clave de idempotencia, o preferimos acordar una regla de deduplicación por paciente, agenda y hora?

Zona horaria y formato de fechas.

FechaCita, HoraInicial y HoraFinal viajan como texto. Confirmarnos que son hora local de Colombia y su formato exacto evita desfases que el paciente vería directamente en su cita.

Quién manda sobre la cita.

Si la clínica mueve una cita en GHIPS y el paciente la mueve desde la app, ¿cuál prevalece? Preferimos acordarlo antes de que ocurra. Nuestra propuesta por defecto: GHIPS es la fuente de verdad y nosotros nos ajustamos.

Sobre el alcance de este análisis

Todo lo anterior se construyó leyendo la documentación pública de GHIPS 44.6. No hemos ejecutado ninguna llamada real contra su API, así que los mapeos son por nombre y descripción, no por comportamiento observado. Es muy probable que en la primera sesión técnica corrijamos varios: lo damos por descontado y preferimos llegar con una propuesta concreta que con preguntas abiertas.