AnyBio

FHIR Mapping

How AnyBio biosignals map to LOINC codes and FHIR Observation resources.

AnyBio biosignals are designed for clinical interoperability. Every observation the platform persists carries enough metadata to render as a FHIR Observation resource without further translation.

LOINC codes

Most vitals and derived rhythms in the catalog carry a LOINC code. The code is on the biosignal definition, so the same observation can be exported to FHIR without per-record lookup.

BiosignalLOINCDisplay
Heart Rate8867-4Heart rate
Respiratory Rate9279-1Respiratory rate
Body Temperature8310-5Body temperature
Oxygen Saturation59408-5Oxygen saturation in Arterial blood by Pulse oximetry
HRV (RMSSD)80404-7R-R interval.standard deviation
Glucose (CGM)41653-7Glucose [Mass/volume] in Capillary blood by Glucometer
Steps55423-8Number of steps in unspecified time Pedometer
Sleep Duration93832-4Sleep duration
Calories Burned41981-2Calories burned

ECG and PPG waveforms don't have direct LOINC scalar codes (LOINC isn't designed for high-rate continuous signals). They're exported as FHIR Observation resources with the waveform attached as a valueSampledData component.

Observation export

Use the export API to retrieve a FHIR Bundle for a subject and time range:

GET /api/v1/fhir/observations
  ?subject_id={id}
  &since={ISO 8601}
  &until={ISO 8601}

The response is a FHIR R4 Bundle of Observation resources, ready to POST to a downstream FHIR server. Bundle entries include the request element so the bundle can be submitted as a transaction.

{
  "resourceType": "Bundle",
  "type": "transaction",
  "entry": [
    {
      "resource": {
        "resourceType": "Observation",
        "status": "final",
        "code": {
          "coding": [{
            "system": "http://loinc.org",
            "code": "8867-4",
            "display": "Heart rate"
          }]
        },
        "subject": { "reference": "Patient/..." },
        "effectiveDateTime": "2026-05-08T14:32:11Z",
        "valueQuantity": {
          "value": 72,
          "unit": "bpm",
          "system": "http://unitsofmeasure.org",
          "code": "/min"
        }
      },
      "request": {
        "method": "POST",
        "url": "Observation"
      }
    }
  ]
}

Provenance and method coding

Every observation carries a method_code describing how it was derived:

  • device-reported - the device emitted the value directly (e.g., wrist-worn HR from a smartwatch).
  • algorithm:ecg_v1, algorithm:ppg_v1, ... - derived by an AnyBio DSP algorithm, with a version tag for traceability.

The corresponding FHIR Provenance resource is generated alongside each Observation in the bundle, linking back to the source device session.

Units

AnyBio uses UCUM-aligned units throughout. The unit field on an observation matches the valueQuantity.code in the FHIR export:

  • bpm (heart rate) maps to UCUM /min
  • Cel (temperature) maps to UCUM Cel
  • mg/dL (glucose) maps to UCUM mg/dL
  • uS (EDA) maps to UCUM uS (microsiemens)
  • mV (ECG) maps to UCUM mV

Downstream integration

The FHIR export is suitable for ingestion into any standards-compliant FHIR server. We've validated the bundle format against several common targets, including hosted FHIR services. If you have a specific downstream system in mind, contact us for integration notes.

On this page