CLINICAL DEVICE CONNECTORS
Protocols & Standards
4 of 10Connect clinical devices and professional peripherals through standards-based local, network and vendor-specific interfaces.
IEEE 11073HL7 / FHIRBLE / GATTASTMUSB / HIDVendor SDKs
Protocols & standards matrix
| Standard / protocol | Common usage | Typical Mediloop output | Notes |
|---|---|---|---|
| IEEE 11073 | Personal / professional health device communication | Observation, Device, DeviceMetric | Good interoperability baseline for measurements |
| HL7 v2 | Device gateways and legacy enterprise feeds | Observation, DiagnosticReport, ADT-linked workflows | Often seen behind vendor middleware |
| FHIR R4/R5 | Modern device/cloud APIs | Observation, Device, Encounter-linked resources | Best fit for canonical exchange |
| BLE / GATT | Local wireless devices | Measurements, status, battery, metadata | Usually requires local Agent/mobile bridge |
| ASTM | POC / analyzer workflows | Results mapped to Observation / DiagnosticReport | Legacy but still relevant in some settings |
| USB / HID / Serial | Workstation-connected peripherals | Workflow events, identifiers, raw device outputs | Often mediated by Workstation Agent |
| Vendor SDK / proprietary | Specialty or advanced device functions | Connector-specific canonical model then FHIR | Preserve 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' },
};