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
LOINC code for the panel (e.g. CBC, CMP). Enables grouping of individual results.
Human-readable panel name (e.g. ‘Complete Blood Count’).
ISO 8601 UTC datetime when the specimen was collected.
NPI of the ordering provider.
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).
Who asserted this fact. Accepts a legacy string (e.g. ‘patient_self_report’) or a structured Source object.
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
Who asserted this fact. Accepts a legacy string (e.g. ‘patient_self_report’) or a structured Source object.
ISO 8601 UTC datetime of measurement.
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).
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
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, otherRecommended LOINC codes: 11506-3 (Progress note), 34117-2 (H&P), 11488-4 (Consultation note), 18842-5 (Discharge summary).
ISO 8601 date the note was authored.
Links this note to a care_encounter event.
Who asserted this fact. Accepts a legacy string (e.g. ‘patient_self_report’) or a structured Source 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).
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
Who asserted this fact. Accepts a legacy string (e.g. ‘patient_self_report’) or a structured Source object.
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
ISO 8601 UTC datetime when the specimen was collected.
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).
Who asserted this fact. Accepts a legacy string (e.g. ‘patient_self_report’) or a structured Source object.
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
Who asserted this fact. Accepts a legacy string (e.g. ‘patient_self_report’) or a structured Source object.
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
ISO 8601 UTC date of the imaging study.
Who asserted this fact. Legacy string or structured Source object.
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
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).
Who asserted this fact. Accepts a legacy string (e.g. ‘patient_self_report’) or a structured Source object.
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
Who asserted this fact. Legacy string or structured Source object.
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
Who asserted this fact. Legacy string or structured Source object.
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
Who asserted this fact. Legacy string or structured Source object.
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
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_packageRaw document content as plain text. Use this or content, not both.
Alternative to text for raw body.
Who asserted this fact. Legacy string or structured Source object.
ISO 8601 UTC datetime when the document was received.
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
Who asserted this fact. Legacy string or structured Source object.
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
Who asserted this fact. Legacy string or structured Source object.
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
Discriminates an alert from a task.. One of:
alert, taskShort headline for the alert/task.
Longer detail.
One-line synthesized summary.
e.g. low, medium, high, critical.
Lifecycle status (ClinicalStatus); defaults to active on log.. One of:
active, inactive, resolved, remission, entered_in_errorUpsert/dedup identity; defaults to title when omitted.
Who/what resolved the item.
Originating/related conversation id.
Originating/related encounter id.
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.
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).
Related types: Use
condition for clinical conditions, symptom_report for symptoms.
