Mediclad

API to integrate the viewer with your system

Send a DICOM file from your backend and get the study's full technical sheet back as JSON: patient, equipment, technique, detector and the data needed to draw the image. Built for electronic health records, PACS, or any system that already receives radiographs and wants to show their metadata without building its own DICOM reader.

Getting started

  1. Write to us (the email is at the bottom of this page) or ask your Network BLU contact for a key. Keys are issued by hand for now: the API plan is not self-serve yet.
  2. Keep the key in your backend, never in client-side JavaScript on a public page: anyone who sees it could run queries at your expense.
  3. Send your files with a request like the one below.

Authentication

Every call carries the key in the X-Api-Key header. There is no session, no cookies, no token that expires: the key is valid until we revoke it (at your request, or if it leaks).

Endpoint

A single call, with the DICOM file as multipart/form-data:

POST /api/v1.php

curl -X POST https://images.emergencias.lat/api/v1.php \
  -H "X-Api-Key: emg_live_TU_LLAVE" \
  -F "file=@radiografia.dcm" \
  -F "formato=ficha"

Parameters

file (file, required)
The DICOM file. Limit: same as the site (64 MB by default).
formato (text, optional (defaults to "ficha"))
"ficha" returns the JSON below. "dicom" returns the same file already validated (Content-Type: application/dicom), useful to confirm it is a supported study before you forward or store it yourself.

Response (formato=ficha)

Example with made-up values (no real patient data leaves this page):

{
  "request_id": "req_3f9a1c2b7e4d",
  "llave": "Nombre del cliente",
  "quota": { "tier": "api", "limit": null, "used": 12, "remaining": null, "counted": true },
  "ficha": {
    "version": 1,
    "paciente": { "nombre_completo": "Doe John", "id": "0001", "sexo": "M", "nacimiento": "1990-04-12", "edad": "34A" },
    "estudio": { "sitio": "Clínica Ejemplo", "fecha": "2024-06-01", "hora": "14:32:00", "modalidad": "DX",
                 "parte_cuerpo": "TORAX", "vista": "PA", "descripcion": "Radiografía de tórax", "accession": "ACC0001" },
    "equipo": { "fabricante": "Ejemplo Medical", "modelo": "Modelo X100", "estacion": "SALA1" },
    "detector": { "fabricante": "Ejemplo Medical", "pixel_mm": 0.14, "ultima_calibracion": "2024-01-15" },
    "tecnica": { "kvp": 90, "mas": 3.2, "sid_mm": 1100 },
    "imagen": { "filas": 2048, "columnas": 2048, "bits_almacenados": 12, "fotometria": "MONOCHROME2", "comprimido": false }
  },
  "advertencias": [],
  "imagen": {
    "renderable": true, "pixel_offset": 3421, "pixel_length": 8388608,
    "rows": 2048, "columns": 2048, "window": { "center": 2048, "width": 4096 },
    "pixel_spacing": [0.14, 0.14]
  }
}

What the technical sheet includes

paciente (patient)
Name, ID, sex, birth date and age computed at the time of the study.
estudio (study)
Site, date and time, modality (DX, CR), protocol, body part, view, description, accession number.
equipo (equipment)
Manufacturer, model, station and software version of the machine that took the image.
detector
Manufacturer, model, pixel size in mm and the last known calibration date.
tecnica (technique)
kVp, mA, ms, mAs, grid, filter, focal spot size and source-to-detector distance (SID).
personal (staff)
Operator, who read the study, referring and requesting physician, when the file carries them.
imagen (image)
Rows, columns, bits, photometric interpretation, whether it is compressed, the window (center/width) suggested by the file, and whether it declares text burned into the pixels.

What about the actual pixels?

The response includes imagen.pixel_offset and imagen.pixel_length: the exact position of the pixel data inside the SAME file you already have. We do not need to send the image separately. If you want the full validated file, request formato=dicom.

Coming soon

A PNG or JPEG already rendered server-side (with windowing applied). Today your system can draw it from the data above using a client-side DICOM library (for example Cornerstone3D), the same way this site does.

Errors

401invalid_api_keyThe header is missing, the key does not exist, or it was revoked.
422validation_failedThe file is missing or "formato" is not one of the valid values.
422invalid_dicomThe file could not be read as DICOM.
422unsupported_content / unsupported_modalityThe study does not carry a single-image pixel data, or its modality is not supported.
413payload_too_largeThe file exceeds the site's limit.
500server_errorOur fault; write to us if it keeps happening.

Quota

Every response includes "quota" with today's usage. The API plan has no daily cap (limit: null): the same study (same Study UID) is only counted once a day even if you query it several times.

Privacy

The file is processed in memory/temp storage and discarded once we respond: we do not keep it, same as queries made from the browser. See the no-storage statement.

Write to us to request a key: desarrollo@gruponetblu.com
Version 1, September 27, 2026.