Skip to content

Campos Comunes

CampoTipoDescripción
transaction_idstringIdentificador único de la transacción
event_idstringIdentificador único del evento, útil para verificar idempotencia (duplicados)
event_typestringTipo de evento (ver lista abajo)
timestampstringTimestamp ISO 8601 del evento
dataobjectPayload específico del evento

Tipos de EHR Composition

TipoDescripción
encounter_outpatientConsulta médica ambulatoria
medication_requestPrescripción de medicamentos
service_requestPrescripción de servicios (laboratorio, imágenes, procedimientos, tratamientos, derivaciones)
device_requestPrescripción de dispositivos médicos
observationObservación clínica (signos vitales, antropometría, etc.)

Campos del Author

CampoTipoDescripción
author_typestringTipo de autor (ej: practitioner)
lastnamestringApellido del profesional
firstnamestringNombre del profesional
person_sexstringSexo del profesional
date_of_birthstringFecha de nacimiento del profesional
person_id_typestringTipo de documento del profesional
person_id_numberstringNúmero de documento del profesional
tinstringNúmero de identificación tributaria

Headers HTTP

http
POST /webhook
Authorization: Bearer tu-token-aqui
X-Webhook-Event: medication_request.created
X-Webhook-Signature: firma-hmac
Content-Type: application/json
User-Agent: Quralo-Webhooks/1.0

Índice de Eventos

Eventos Disponibles

encounter.created

Se dispara cuando se registra una nueva consulta médica.

Campos del Payload

CampoTipoDescripción
ehr_composition_typestringTipo de composición EHR
ehr_composition_idintegerID de la composición EHR
encounter_idintegerID del encuentro médico
created_atstringFecha de creación
personobjectInformación del paciente
authorobjectInformación del profesional
encounterobjectDetalles del encuentro
encounter.typestringTipo de encuentro
encounter.reasonobjectMotivo de consulta
encounter.statusstringEstado del encuentro
clinical_impressionobjectImpresión clínica
conditionsarrayCondiciones diagnosticadas

Payload completo:

json
{
  "transaction_id": "[AUTOGENERADO]",
  "event_id": "[AUTOGENERADO]",
  "event_type": "encounter.created",
  "timestamp": "[AUTOGENERADO]",
  "data": {
    "ehr_composition_type": "encounter_outpatient",
    "ehr_composition_id": 682,
    "encounter_id": 28,
    "created_at": "2025-06-02T13:10:34.309Z",
    "person": {
      "lastname": "Smith",
      "firstname": "John",
      "person_sex": "male",
      "date_of_birth": "1990-03-15",
      "person_id_type": "national_id",
      "person_id_number": "12345678"
    },
    "author": {
      "author_type": "practitioner",
      "lastname": "Johnson",
      "firstname": "Mary",
      "person_sex": "female",
      "date_of_birth": "1985-07-22",
      "person_id_type": "national_id",
      "person_id_number": "87654321",
      "tin": "98765432100"
    },
    "encounter": {
      "encounter_id": 28,
      "type": "outpatient",
      "reason": {
        "value": "Paciente masculino de 34 años que refiere dolor lumbar desde hace 5 días, sin irradiación, empeora con los movimientos y mejora con reposo. No fiebre, no pérdida de fuerza ni alteraciones urinarias.",
        "_version": 1
      },
      "status": "completed",
      "created_at": "2025-06-02T13:10:34.287",
      "start_date": "2025-06-02T13:10:34.286",
      "end_date": "2025-06-02T13:10:34.287"
    },
    "clinical_impression": {
      "summary": "lumbalgia mecánica",
      "findings": "Al examen se observa contractura para vertebral izquierda sin signos neurológicos."
    },
    "conditions": [
      {
        "code": "279039007",
        "name": "lumbalgia"
      }
    ]
  }
}

medication_request.created

Se dispara cuando un médico genera una nueva receta electrónica.

Campos del Payload

CampoTipoDescripción
ehr_composition_typestringTipo de composición EHR
ehr_composition_idintegerID de la composición EHR
encounter_idintegerID del encuentro médico
created_atstringFecha de creación
personobjectInformación del paciente
person.lastnamestringApellido del paciente
person.firstnamestringNombre del paciente
person.person_sexstringSexo del paciente
person.date_of_birthstringFecha de nacimiento
person.person_id_typestringTipo de documento
person.person_id_numberstringNúmero de documento
authorobjectInformación del profesional
medication_requestsarrayLista de recetas
medication_requests[].medication_request_idintegerID de la receta
medication_requests[].cuirstringCUIR de la receta
medication_requests[].reasonsarrayDiagnósticos asociados
medication_requests[].issued_atstringFecha de emisión
medication_requests[].postdatedbooleanIndica si es una receta diferida
medication_requests[].postdated_parent_idinteger/nullID de la receta original si es diferida
medication_requests[].created_atstringFecha de creación de la receta
medication_requests[].expires_atstringFecha de expiración de la receta
medication_requests[].medicine_posologyobjectPosología del medicamento
medication_requests[].medicine_quantityintegerCantidad prescrita
medication_requests[].medicine_longterm_treatmentbooleanIndica si es para tratamiento a largo plazo
medication_requests[].obfuscate_databooleanIndica si la receta está marcada como confidencial
medication_requests[].medicineobjectInformación del medicamento

Payload completo:

json
{
  "transaction_id": "[AUTOGENERADO]",
  "event_id": "[AUTOGENERADO]",
  "event_type": "medication_request.created",
  "timestamp": "[AUTOGENERADO]",
  "data": {
    "ehr_composition_type": "encounter_outpatient",
    "ehr_composition_id": 682,
    "encounter_id": 28,
    "created_at": "2025-06-02T13:10:34.309Z",
    "person": {
      "lastname": "Smith",
      "firstname": "John",
      "person_sex": "male",
      "date_of_birth": "1990-03-15",
      "person_id_type": "national_id",
      "person_id_number": "12345678"
    },
    "author": {
      "author_type": "practitioner",
      "lastname": "Johnson",
      "firstname": "Mary",
      "person_sex": "female",
      "date_of_birth": "1985-07-22",
      "person_id_type": "national_id",
      "person_id_number": "87654321",
      "tin": "98765432100"
    },
    "medication_requests": [
      {
        "medication_request_id": 272,
        "cuir": "9600000024696",
        "reasons": [
          {
            "code": "279039007",
            "fsn": "Lumbalgia (hallazgo)",
            "name": "lumbalgia"
          }
        ],
        "issued_at": "2025-06-02T13:13:48.79",
        "postdated": true,
        "postdated_parent_id": null,
        "created_at": "2025-06-02T13:13:48.789525",
        "expires_at": "2025-08-31T13:13:48.79",
        "medicine_posology": {
          "notes": "Administrar dos veces por día, recomendado que sea después de la comida o durante la comida.",
          "_version": 2
        },
        "medicine_quantity": 1,
        "medicine_longterm_treatment": true,
        "obfuscate_data": false,
        "medicine": {
          "alfabeta_drug_id": 3070,
          "alfabeta_prod_id": 23529,
          "name": "BLOKIUM FLEX",
          "presentation": "comp.x 15",
          "pharmaceutical_form": "Comprimidos/Pastillas/Tabletas/Grageas",
          "route": "oral",
          "drug": "diclofenac+pridinol",
          "pharmacotherapeutic_action": "Antiinflam.Analgésico.Miorrelajante",
          "potency": "50/4 mg",
          "units": "15 unidades"
        }
      }
    ]
  }
}

service_request.created

Se dispara cuando se genera una nueva prescripción de servicio (laboratorio, imágenes, procedimientos, tratamientos, derivaciones).

Campos del Payload

CampoTipoDescripción
ehr_composition_typestringTipo de composición EHR
ehr_composition_idintegerID de la composición EHR
encounter_idintegerID del encuentro médico
created_atstringFecha de creación
ecl_transaction_idstringID de la transacción ECL
ecl_metadataobjectMetadatos adicionales ECL
personobjectInformación del paciente
person.lastnamestringApellido del paciente
person.firstnamestringNombre del paciente
person.person_sexstringSexo del paciente
person.date_of_birthstringFecha de nacimiento
person.person_id_typestringTipo de documento
person.person_id_numberstringNúmero de documento
authorobjectInformación del profesional
service_requestsarrayLista de solicitudes de dispositivo
service_requests[].service_request_idintegerID de la solicitud
service_requests[].cuirstringCUIR de la solicitud
service_requests[].reasonsarrayDiagnósticos asociados
service_requests[].issued_atstringFecha de emisión
service_requests[].created_atstringFecha de creación de la solicitud
service_requests[].expires_atstringFecha de expiración de la solicitud
service_requests[].obfuscate_databooleanIndica si la solicitud está marcada como confidencial
service_requests[].serviceobjectInformación del dispositivo o servicio solicitado
service_requests[].service.categorystringCategoría del servicio (laboratory, imaging, procedure, referral)
service_requests[].service.codestringCódigo SNOMED CT del servicio
service_requests[].service.namestringNombre del servicio
service_requests[].service.notesstringNotas adicionales

Payload completo:

json
{
  "transaction_id": "[AUTOGENERADO]",
  "event_id": "[AUTOGENERADO]",
  "event_type": "device_request.created",
  "timestamp": "[AUTOGENERADO]",
  "data": {
    "ehr_composition_type": "encounter_outpatient",
    "ehr_composition_id": 682,
    "encounter_id": 28,
    "created_at": "2025-06-02T13:10:34.309Z",
    "ecl_transaction_id": "[AUTOGENERADO]",
    "ecl_metadata": {},
    "person": {
      "lastname": "Smith",
      "firstname": "John",
      "person_sex": "male",
      "date_of_birth": "1990-03-15",
      "person_id_type": "national_id",
      "person_id_number": "12345678"
    },
    "author": {
      "author_type": "practitioner",
      "lastname": "Johnson",
      "firstname": "Mary",
      "person_sex": "female",
      "date_of_birth": "1985-07-22",
      "person_id_type": "national_id",
      "person_id_number": "87654321",
      "tin": "98765432100"
    },
    "service_requests": [
      {
        "service_request_id": 272,
        "cuir": "9600000024696",
        "reasons": [
          {
            "code": "171409007",
            "fsn": "Examen médico individual (procedimiento)",
            "name": "Examen médico individual"
          }
        ],
        "issued_at": "2025-06-02T13:13:48.79",
        "created_at": "2025-06-02T13:13:48.789525",
        "expires_at": "2025-08-31T13:13:48.79",
        "obfuscate_data": false,
        "notes": "Ayuno de 8 horas previo al análisis.",
        "service": {
          "category": "laboratory",
          "code": "26604007",
          "name": "Hemograma completo",
        }
      }
    ]
  }
}

device_request.created

Se dispara cuando se genera una nueva prescripción de dispositivo médico.

Campos del Payload

CampoTipoDescripción
ehr_composition_typestringTipo de composición EHR
ehr_composition_idintegerID de la composición EHR
encounter_idintegerID del encuentro médico
created_atstringFecha de creación
ecl_transaction_idstringID de la transacción ECL
ecl_metadataobjectMetadatos adicionales ECL
personobjectInformación del paciente
person.lastnamestringApellido del paciente
person.firstnamestringNombre del paciente
person.person_sexstringSexo del paciente
person.date_of_birthstringFecha de nacimiento
person.person_id_typestringTipo de documento
person.person_id_numberstringNúmero de documento
authorobjectInformación del profesional
device_requestsarrayLista de solicitudes de dispositivo
device_requests[].device_request_idintegerID de la solicitud
device_requests[].cuirstringCUIR de la solicitud
device_requests[].reasonsarrayDiagnósticos asociados
device_requests[].issued_atstringFecha de emisión
device_requests[].created_atstringFecha de creación de la solicitud
device_requests[].expires_atstringFecha de expiración de la solicitud
device_requests[].obfuscate_databooleanIndica si la solicitud está marcada como confidencial
device_requests[].deviceobjectInformación del dispositivo o servicio solicitado
device_requests[].device.codestringCódigo SNOMED CT del servicio
device_requests[].device.namestringNombre del servicio
device_requests[].device.notesstringNotas adicionales

Payload completo:

json
{
  "transaction_id": "[AUTOGENERADO]",
  "event_id": "[AUTOGENERADO]",
  "event_type": "device_request.created",
  "timestamp": "[AUTOGENERADO]",
  "data": {
    "ehr_composition_type": "encounter_outpatient",
    "ehr_composition_id": 682,
    "encounter_id": 28,
    "created_at": "2025-06-02T13:10:34.309Z",
    "ecl_transaction_id": "[AUTOGENERADO]",
    "ecl_metadata": {},
    "person": {
      "lastname": "Smith",
      "firstname": "John",
      "person_sex": "male",
      "date_of_birth": "1990-03-15",
      "person_id_type": "national_id",
      "person_id_number": "12345678"
    },
    "author": {
      "author_type": "practitioner",
      "lastname": "Johnson",
      "firstname": "Mary",
      "person_sex": "female",
      "date_of_birth": "1985-07-22",
      "person_id_type": "national_id",
      "person_id_number": "87654321",
      "tin": "98765432100"
    },
    "device_requests": [
      {
        "device_request_id": 272,
        "cuir": "9600000024696",
        "reasons": [
          {
            "code": "171409007",
            "fsn": "Examen médico individual (procedimiento)",
            "name": "Examen médico individual"
          }
        ],
        "issued_at": "2025-06-02T13:13:48.79",
        "created_at": "2025-06-02T13:13:48.789525",
        "expires_at": "2025-08-31T13:13:48.79",
        "obfuscate_data": false,
        "notes": "Ayuno de 8 horas previo al análisis.",
        "device": {
          "code": "26604007",
          "name": "Hemograma completo",
        }
      }
    ]
  }
}

Documentación de Quralo