Mediloop
CLINICAL DEVICE CONNECTORS

Protocols & Standards

4 of 10

Connect clinical devices and professional peripherals through standards-based local, network and vendor-specific interfaces.

IEEE 11073HL7 / FHIRBLE / GATTASTMUSB / HIDVendor SDKs
Protocols & standards matrix
Standard / protocolCommon usageTypical Mediloop outputNotes
IEEE 11073Personal / professional health device communicationObservation, Device, DeviceMetricGood interoperability baseline for measurements
HL7 v2Device gateways and legacy enterprise feedsObservation, DiagnosticReport, ADT-linked workflowsOften seen behind vendor middleware
FHIR R4/R5Modern device/cloud APIsObservation, Device, Encounter-linked resourcesBest fit for canonical exchange
BLE / GATTLocal wireless devicesMeasurements, status, battery, metadataUsually requires local Agent/mobile bridge
ASTMPOC / analyzer workflowsResults mapped to Observation / DiagnosticReportLegacy but still relevant in some settings
USB / HID / SerialWorkstation-connected peripheralsWorkflow events, identifiers, raw device outputsOften mediated by Workstation Agent
Vendor SDK / proprietarySpecialty or advanced device functionsConnector-specific canonical model then FHIRPreserve provenance and versioning
Practical interpretation
Protocol support is about both transport and meaning.
Structural interoperability alone is not enough; map semantics too.
Always preserve device ID, model and firmware metadata when available.
Avoid discarding raw measurements if normalization could change meaning.
MSIS boundary
MSIS is typically used after payload parsing, when you need unit normalization, terminology alignment or provenance-aware reconciliation of clinical values.
Canonical mapping targets
Device identityFHIR Device / DeviceMetric
MeasurementsFHIR Observation
Diagnostic resultsFHIR DiagnosticReport with Observations
WaveformsFHIR Observation or referenced binary/derived assets depending on modality
AlertsEvent / alert stream + workflow events
Operational metadataConnector canonical model with provenance
Illustrative transformation
typescriptCopy
const parsed = parseVendorPayload(payload);
const normalized = await msis.normalize({
  value: parsed.value,
  unit: parsed.unit,
  code: parsed.code,
  sourceSystem: parsed.vendor,
});

return {
  resourceType: 'Observation',
  status: 'final',
  code: normalized.code,
  valueQuantity: {
    value: normalized.value,
    unit: normalized.ucumUnit,
  },
  device: { reference: 'Device/dev-123' },
};