Skip to main content
POST
Requires scope: sdk:event-log Olira maps it to one or more platform log types via the FHIR absorber (same schema mapper used by Epic/Cerner integrations and Console FHIR upload), then processes each event immediately for the patient — unlike olira.log(), you do not choose log_type or build Olira-shaped payloads yourself. One resource may produce zero events (unsupported type or unmappable fields), one event, or several (for example a treatment plan from an EHR). See Supported FHIR resources below for the full resourceType → event type matrix.

Parameters

str
required
Olira patient id (from create_patient or your patient registry).
dict[str, Any]
required
FHIR R4 resource object with resourceType set. Supported types are listed in Supported FHIR resources below (17 resource families, including Observation, Condition, MedicationRequest, Patient, DocumentReference, DiagnosticReport, etc.).
str | None
Optional. Set this if you might retry the call (timeout or 5xx). Pass the same key you sent the first time — one key per resource, not per mapped event. See Retries and idempotency.

Returns

BatchResult
int
Number of mapped events processed through patient state.
int
Number of mapped events skipped or failed.
list[BatchError]
Mapping or processing errors (e.g. unknown resource fields, replay conflict).

Supported FHIR resources

Per-resource examples

Each call accepts one FHIR resource. Linked resources in the same payload are not resolved together (for example, lab Observations referenced from a DiagnosticReport). Use historical ingestion or an EHR integration when you need multi-resource imports.
Unsupported resource types (zero events accepted): QuestionnaireResponse, ImagingStudy, ServiceRequest, Task, AdverseEvent, Device, EpisodeOfCare, ClinicalImpression, MolecularSequence, and standalone Binary. Support for additional FHIR resource types is added continuously.
Ingested data is stored as Olira event logs (type and payload), not as raw FHIR. Read it back with get_logs() or logs().
If you might retry, set idempotency_key. A resource with no usable date is timestamped at processing time, so two calls without a key can both be stored. See Retries and idempotency.

Raises