Skip to main content
Lab results, clinical notes, imaging, procedures, encounters, and other clinical observations. Submit these via POST /v1/logs/batch or the Python SDK; see How logs work for submission fields and the difference between lifecycle-tracked and point-in-time log types.

Lab results

Type: lab_results · Source: Python SDK / REST, Integration · Extensible Reserved for laboratory test results (blood, urine, etc.): results from a lab with test identity (loinc_code or test_name) and value (value_numeric/value_string + unit); single result, panel, or batch. Payload
panel_loinc_code
string | null
LOINC code for the panel (e.g. CBC, CMP). Enables grouping of individual results.
panel_name
string | null
Human-readable panel name (e.g. ‘Complete Blood Count’).
collection_datetime
string
ISO 8601 UTC datetime when the specimen was collected.
ordered_by_npi
string | null
NPI of the ordering provider.
performing_lab
object | null
results
object[]
required
extensions
object
Open key/value bag for client/source-specific fields that lack a typed slot; merged into the entry’s extensions (leaf-level, last-writer-wins by event timestamp).
source
string | object
Who asserted this fact. Accepts a legacy string (e.g. ‘patient_self_report’) or a structured Source object.
Example
import olira
from olira import OliraLogType

olira.log(
    log_type=OliraLogType.LAB_RESULTS,
    patient_id="your-patient-id",
    payload={
        "results": [...]
    },
)
Related types: Use vitals_measurement for vital signs, weight_measurement, spo2_reading or cgm_reading for device weight/SpO2/CGM, clinical_measurement for non-lab clinical measurements e.g. ejection fraction, procedure_result for pathology/procedure result narrative.

Vitals measurement

Type: vitals_measurement · Source: Python SDK / REST, App SDK (coming soon), Integration · Extensible Reserved for vital signs (BP, heart rate, SpO2, weight, temperature, respiratory rate) from any source: structured vitals from manual entry, EHR flowsheet, or connected device when not using device-specific events. Payload
measurements
object
required
context
object
required
source
string | object
required
Who asserted this fact. Accepts a legacy string (e.g. ‘patient_self_report’) or a structured Source object.
collection_datetime
string | null
required
ISO 8601 UTC datetime of measurement.
extensions
object
Open key/value bag for client/source-specific fields that lack a typed slot; merged into the entry’s extensions (leaf-level, last-writer-wins by event timestamp).
Example
import olira
from olira import OliraLogType

olira.log(
    log_type=OliraLogType.VITALS_MEASUREMENT,
    patient_id="your-patient-id",
    payload={
        "measurements": {...},
        "context": {...},
        "source": "...",
        "collection_datetime": "..."
    },
)
Related types: Use lab_results for lab test results, clinical_measurement for non-vital clinical measurements like ejection fraction. Not intended for device-only weight/SpO2 if using weight_measurement or spo2_reading. vital_type inferred from populated fields.

Clinical note

Type: clinical_note · Source: Python SDK / REST, Integration · Extensible Reserved for provider-authored clinical notes with structured sections: progress notes, H&P, discharge summary, etc., with required sections[] (section_label, content); source (manual_entry, ehr_integration, hie_integration). Payload
note_type
string
required
Category of clinical note.. One of: progress_note, history_and_physical, social_history, family_history, medical_history, surgical_history, psychosocial_history, financial_history, discharge_summary, consultation_note, other
loinc_code
string
Recommended LOINC codes: 11506-3 (Progress note), 34117-2 (H&P), 11488-4 (Consultation note), 18842-5 (Discharge summary).
authored_by
object
authored_date
string
ISO 8601 date the note was authored.
encounter_id
string
Links this note to a care_encounter event.
source
string | object
required
Who asserted this fact. Accepts a legacy string (e.g. ‘patient_self_report’) or a structured Source object.
sections
object[]
required
extensions
object
Open key/value bag for client/source-specific fields that lack a typed slot; merged into the entry’s extensions (leaf-level, last-writer-wins by event timestamp).
Example
import olira
from olira import OliraLogType

olira.log(
    log_type=OliraLogType.CLINICAL_NOTE,
    patient_id="your-patient-id",
    payload={
        "note_type": "progress_note",
        "source": "...",
        "sections": [...]
    },
)
Related types: Use conversation for patient-AI or patient-clinician conversation transcripts, unstructured_report for unstructured document blob. loinc_code optional for document type.

Clinical finding

Type: clinical_finding · Source: Python SDK / REST, Integration · Extensible Reserved for discrete clinical findings or observations from exam or assessment: findings[] with description (e.g. hepatomegaly, rash); body_site, severity, negation, recorded_at optional. Payload
findings
object[]
required
source
string | object
Who asserted this fact. Accepts a legacy string (e.g. ‘patient_self_report’) or a structured Source object.
Example
import olira
from olira import OliraLogType

olira.log(
    log_type=OliraLogType.CLINICAL_FINDING,
    patient_id="your-patient-id",
    payload={
        "findings": [...]
    },
)
Related types: Use clinical_measurement or lab_results for numeric measurements, imaging_result for imaging impressions, procedure_result for procedure outcomes.

Procedure result

Type: procedure_result · Source: Python SDK / REST, Integration · Extensible Reserved for pathology or procedure result narrative: results[] with result_type (pathology/procedure), test_name, value_string/value_numeric, specimen_site, performed_at; collection_datetime optional. Payload
results
object[]
required
collection_datetime
string
ISO 8601 UTC datetime when the specimen was collected.
extensions
object
Open key/value bag for client/source-specific fields that lack a typed slot; merged into the entry’s extensions (leaf-level, last-writer-wins by event timestamp).
source
string | object
Who asserted this fact. Accepts a legacy string (e.g. ‘patient_self_report’) or a structured Source object.
Example
import olira
from olira import OliraLogType

olira.log(
    log_type=OliraLogType.PROCEDURE_RESULT,
    patient_id="your-patient-id",
    payload={
        "results": [...]
    },
)
Related types: Use lab_results for routine lab test results, imaging_result for imaging, genomic_variant for genomic variants.

Genomic variant

Type: genomic_variant · Source: Python SDK / REST, Integration · Extensible Reserved for genomic or molecular variants: variants[] with gene, variant_designation, variant_type, classification, actionability, reported_at. Payload
variants
object[]
required
source
string | object
Who asserted this fact. Accepts a legacy string (e.g. ‘patient_self_report’) or a structured Source object.
Example
import olira
from olira import OliraLogType

olira.log(
    log_type=OliraLogType.GENOMIC_VARIANT,
    patient_id="your-patient-id",
    payload={
        "variants": [...]
    },
)
Related types: Use lab_results for other lab results, procedure_result for procedure or pathology. Not intended for condition/diagnosis (condition_updated).

Imaging result

Type: imaging_result · Source: Python SDK / REST, Integration · Extensible Reserved for imaging study findings: findings[] with modality (CT, MRI, PET, etc.), body_region, impression, finding_description, performed_at; study_date optional. Payload
findings
object[]
required
study_date
string
ISO 8601 UTC date of the imaging study.
source
string | object
Who asserted this fact. Legacy string or structured Source object.
Example
import olira
from olira import OliraLogType

olira.log(
    log_type=OliraLogType.IMAGING_RESULT,
    patient_id="your-patient-id",
    payload={
        "findings": [...]
    },
)
Related types: Use clinical_finding for clinical findings from physical exam, procedure_result for procedure/pathology, lab_results for lab results.

Clinical measurement

Type: clinical_measurement · Source: Python SDK / REST, Integration · Extensible Reserved for non-lab clinical measurements from physical exam, imaging, or procedure: ejection fraction, tumour diameter, ECOG, BMI from visit, QTc, and similar exam/imaging/procedure-derived values. Payload
measurements
object[]
required
extensions
object
Open key/value bag for client/source-specific fields that lack a typed slot; merged into the entry’s extensions (leaf-level, last-writer-wins by event timestamp).
source
string | object
Who asserted this fact. Accepts a legacy string (e.g. ‘patient_self_report’) or a structured Source object.
Example
import olira
from olira import OliraLogType

olira.log(
    log_type=OliraLogType.CLINICAL_MEASUREMENT,
    patient_id="your-patient-id",
    payload={
        "measurements": [...]
    },
)
Not intended for lab test results (CBC, Hgb, Hct, Plt, glucose, BUN, creatinine, etc.); use lab_results for those.

Treatment response assessment

Type: treatment_response_assessment · Source: Python SDK / REST, Integration · Extensible Reserved for treatment response or disease response assessment: assessments[] with response_category (e.g. CR, PR, SD, PD), treatment_description, assessment_method, reference_date. Payload
assessments
object[]
required
source
string | object
Who asserted this fact. Legacy string or structured Source object.
Example
import olira
from olira import OliraLogType

olira.log(
    log_type=OliraLogType.TREATMENT_RESPONSE_ASSESSMENT,
    patient_id="your-patient-id",
    payload={
        "assessments": [...]
    },
)
Related types: Use treatment_phase for treatment phase transition, imaging_result or procedure_result for imaging or procedure result. Not intended for condition/diagnosis (condition_updated).

Clinical plan item

Type: clinical_plan_item · Source: Python SDK / REST, Integration · Lifecycle-tracked · Extensible Reserved for discrete future plan items — things to remember that are coming up: orders, referrals, follow-up appointments, scheduled procedures (e.g. ‘colonoscopy 2026-03-01’, ‘referral to cardiology’). Payload
items
object[]
required
source
string | object
Who asserted this fact. Legacy string or structured Source object.
Example
import olira
from olira import OliraLogType

olira.log(
    log_type=OliraLogType.CLINICAL_PLAN_ITEM,
    patient_id="your-patient-id",
    payload={
        "items": [...]
    },
)
Not intended for standing medication instructions or ongoing regimens (e.g. ‘continue letrozole as prescribed’); use medication_list_update or medication_adherence for medications. Do not use for general care instructions that are not discrete future actions.

Care encounter

Type: care_encounter · Source: Python SDK / REST, Integration · Lifecycle-tracked · Extensible Reserved for care encounters or visits: encounters[] with encounter_type, facility, department, start_date, end_date, primary_reason, recorded_at. Payload
encounters
object[]
required
source
string | object
Who asserted this fact. Legacy string or structured Source object.
Example
import olira
from olira import OliraLogType

olira.log(
    log_type=OliraLogType.CARE_ENCOUNTER,
    patient_id="your-patient-id",
    payload={
        "encounters": [...]
    },
)
Related types: Use care_team for care team members, clinical_plan_item for future plan items or referrals, emergency_contact for emergency contact.

Unstructured report

Type: unstructured_report · Source: Python SDK / REST, Integration Reserved for unstructured document payloads to be processed by extraction: document_type + text (or content) for OCR/PDF/EHR export; document_type selects extraction config. Payload
document_type
string
required
Selects the extraction pipeline configuration to apply to the document.. One of: clinical_note, radiology_imaging, operative_procedure, cardiology_diagnostic, pathology_report, lab_report, genomic_report, discharge_summary, patient_intake, external_records_package
text
string
required
Raw document content as plain text. Use this or content, not both.
content
string
Alternative to text for raw body.
source
string | object
Who asserted this fact. Legacy string or structured Source object.
recorded_at
string
ISO 8601 UTC datetime when the document was received.
Example
import olira
from olira import OliraLogType

olira.log(
    log_type=OliraLogType.UNSTRUCTURED_REPORT,
    patient_id="your-patient-id",
    payload={
        "document_type": "clinical_note",
        "text": "..."
    },
)
Related types: Use clinical_note for structured clinical notes with sections, conversation for conversation transcript. Use when the source is a raw document blob, not already-structured event data.

Procedure

Type: procedure · Source: Python SDK / REST, Integration · Lifecycle-tracked · Extensible Reserved for recording procedures the patient has undergone (surgical, interventional, diagnostic): procedures[] with procedure_name, cpt_code, snomed_code, performed_date, body_site, status, outcome, performing_provider. Payload
procedures
object[]
required
source
string | object
Who asserted this fact. Legacy string or structured Source object.
Example
import olira
from olira import OliraLogType

olira.log(
    log_type=OliraLogType.PROCEDURE,
    patient_id="your-patient-id",
    payload={
        "procedures": [...]
    },
)
Related types: Use procedure_result for procedure/pathology results or lab values, clinical_plan_item for scheduled future procedures, imaging_result for imaging study results. Maps to FHIR Procedure resource.

Care goal

Type: care_goal · Source: Python SDK / REST, Integration · Lifecycle-tracked · Extensible Reserved for structured care goals (clinical targets, behavioral targets, patient preferences): goals[] with goal_description, goal_type, target_value, target_date, current_status, achievement_status, priority, category, notes. Distinct from clinical_plan_item (discrete future actions) — care goals are standing measurable targets or aspirational outcomes. Maps to FHIR Goal resource. Payload
goals
object[]
required
source
string | object
Who asserted this fact. Legacy string or structured Source object.
Example
import olira
from olira import OliraLogType

olira.log(
    log_type=OliraLogType.CARE_GOAL,
    patient_id="your-patient-id",
    payload={
        "goals": [...]
    },
)

Care action

Type: care_action · Source: Python SDK / REST, Integration · Lifecycle-tracked · Extensible Reserved for logging an alert or task surfaced for the care team: item_type (alert|task); title; description; summary; severity; status (active|inactive|resolved); entry_key as the upsert/dedup identity; resolved_by; linked_conversation_id / linked_encounter_id; source as a free-string generation source distilled into the entry’s sources. Payload
item_type
string
required
Discriminates an alert from a task.. One of: alert, task
title
string
required
Short headline for the alert/task.
description
string
Longer detail.
summary
string
One-line synthesized summary.
severity
string
e.g. low, medium, high, critical.
status
string
Lifecycle status (ClinicalStatus); defaults to active on log.. One of: active, inactive, resolved, remission, entered_in_error
entry_key
string
Upsert/dedup identity; defaults to title when omitted.
resolved_by
string
Who/what resolved the item.
linked_conversation_id
string
Originating/related conversation id.
linked_encounter_id
string
Originating/related encounter id.
source
string | object
Who asserted this fact. Accepts a legacy string (e.g. ‘patient_self_report’) or a structured Source object with type, asserter, reference_id, source_system.
extensions
object
Open key/value bag for client/source-specific fields that lack a typed slot; merged into the entry’s extensions (leaf-level, last-writer-wins by event timestamp).
Example
import olira
from olira import OliraLogType

olira.log(
    log_type=OliraLogType.CARE_ACTION,
    patient_id="your-patient-id",
    payload={
        "item_type": "alert",
        "title": "..."
    },
)
Related types: Use condition for clinical conditions, symptom_report for symptoms.