Skip to main content

Event catalog

This is the complete list of event_type values RCM can deliver to a subscription, whether over push webhooks or the pull API. Use it to decide what to put in subscribed_event_types.

Event families are enabled per provider

RCM does not emit events for a provider until OSIGU enables them for that provider and environment. Sandbox and production are switched on independently. Before debugging a consumer that receives nothing, confirm with the Integrations team which families are active for your account.

Contract status

StatusMeaning
StableFull payload spec published on this site. Field changes are announced in the changelog.
PreviewEmitted today, but the payload is not frozen: fields may be added, renamed or removed without a changelog entry. Subscribe explicitly and treat unknown fields as optional.
An empty subscribed_event_types means everything

A subscription created with subscribed_event_types: [] matches every event type in this catalog, including the preview families and the audit events. If you only want document outcomes, list them explicitly.

Stable events

event_typeentity_typeWhen it firesSpec
DOCUMENT_CLASSIFICATION_COMPLETEDsupport_documentDVS classified and associated a support file uploaded through the v2 auto-classify flow.Classification
DOCUMENT_CLASSIFICATION_FAILEDsupport_documentDVS could not classify or associate the file.Classification
DOCUMENT_VALIDATION_COMPLETEDsupport_fileThe support file passed the payer's validation rules (APPROVED).Validation
DOCUMENT_VALIDATION_REJECTEDsupport_fileOne or more validation rules failed (REJECTED).Validation
CHARGE_AUDIT_ACCEPTEDcharge_audit_itemAn Orizon RGA item was accepted as submitted.Audit events
CHARGE_AUDIT_UPDATEDcharge_audit_itemThe payer adjusted quantity or value of an item.Audit events
CHARGE_AUDIT_DELETEDcharge_audit_itemThe payer removed the item.Audit events
CHARGE_AUDIT_PENDINGcharge_audit_itemThe item is questioned and awaits justification.Audit events
ORIZON_RGA_RECEIVEDorizon_audit_reportA full RGA report arrived from Orizon, before per-item classification.Audit events

Preview events

These families follow the lifecycle of accounts, charges, invoices and settlement batches inside RCM. They are useful when your HIS or ERP wants to mirror RCM state without polling.

Payload field names in preview families are camelCase

The envelope (event_id, event_type, created_at…) is always snake_case. The payload object of the preview families is delivered as RCM stores it, with camelCase keys such as accountId and agreementCode. Stable events keep the casing documented on their own pages.

Accounts (entity_type: account)

event_typeWhen it fires
ACCOUNT_CREATEDThe first charge of a new account was accepted and the account was created.
ACCOUNT_SENTThe account was submitted to the payer.
ACCOUNT_PACKAGEDThe support-file package for the account was generated.
ACCOUNT_INVOICEDThe account received its invoice. Carries the list of enabled charges.
ACCOUNT_PENDING_AUDITThe account entered concurrent audit.
ACCOUNT_AUDIT_COMPLETEDConcurrent audit finished.
ACCOUNT_SETTLEDThe account was settled with the payer.
ACCOUNT_VOIDEDThe account was voided.

Key fields of the status events (ACCOUNT_SENT, ACCOUNT_PACKAGED, ACCOUNT_PENDING_AUDIT, ACCOUNT_AUDIT_COMPLETED, ACCOUNT_SETTLED, ACCOUNT_VOIDED): accountId, status, agreementCode, amount, providerSlug, providerBranchCode, payerId, payerName, baseAccount, baseAccountId, lastPatientId, lastPatientName, originEventId, supportFilesCompleted, missingSupports, concurrentAuditRequired, concurrentAuditCompleted, responsibleName, responsibleEmailAddress, uniqueVerificationCode, updatedAt.

ACCOUNT_CREATED adds patientId, patientName, serviceCode, serviceName, createdAt, createdBy. ACCOUNT_INVOICED adds charges[] (id, code, description, quantity, totalAmount, providerProductCode) and totalCharges.

Charges (entity_type: charge)

event_typeWhen it fires
CHARGE_CREATEDA charge was accepted and stored.
REFUND_CHARGE_CREATEDSame as above, when the charge has a negative total (a refund).
CHARGE_UPDATEDA charge was modified through PUT /v1/charges/{chargeCode}.
CHARGE_REJECTEDA charge failed RCM validation and was not stored. entity_id is a random UUID because no charge exists.

Key fields: chargeId, chargeCode, description, providerProductCode, additionalProviderProductCode, quantity, amount, totalAmount, currency, invoiceable, manuallyCreated, enabled, creationDateTime, diagnosisCode, diagnosisName, accountId, providerSlug, providerBranchId, payerId, executorServiceCode, serviceTypeCode, agreementCode, createdAt.

CHARGE_REJECTED carries the request instead: chargeCode, rejectionReason, ruleApplied, rejectedAt, requestedProviderProductCode, requestedDescription, requestedQuantity, requestedAmount, requestedTotalAmount, requestedCurrency, originEventId, providerSlug, agreementCode, serviceTypeCode, diagnosisCode.

Invoices (entity_type: invoice)

event_typeWhen it fires
INVOICE_CREATEDAn invoice was created, or an existing one became ASSIGNED to an account.

Key fields: invoiceId, invoiceNumber, invoiceSerial, invoicePrefix, electronicInvoiceNumber, status, amount, accountId, agreementCode, providerSlug, originProviderBranchCode, deliveryResponsible, invoiceSource, createdAt.

Invoice assignment (entity_type: invoice_assignment_status)

Emitted while RCM processes a POST /v1/invoices/assign-charges request.

event_typeWhen it fires
INVOICE_ASSIGNMENT_PENDINGThe assignment request was accepted and queued.
INVOICE_ASSIGNMENT_COMPLETEDEvery charge was assigned.
INVOICE_ASSIGNMENT_ERRORThe assignment finished with errors.

Key fields: invoiceAssignmentStatusId, status, invoiceNumber, settlementNumber, agreementCode, providerBranchId, invoiceMetadataPayload, providerSlug, timestamp. The counters totalCharges, processedCharges and errorCharges are present but not populated yet.

Invoice charge assignment (entity_type: invoice_charge_assignment_status)

One event per charge inside an assignment request.

event_typeWhen it fires
INVOICE_CHARGE_ASSIGNMENT_PENDINGThe charge is waiting to be assigned.
INVOICE_CHARGE_ASSIGNMENT_ASSIGNEDThe charge was assigned to the invoice.
INVOICE_CHARGE_ASSIGNMENT_ERRORThe charge could not be assigned; see errorCode and errorDescription.

Key fields: invoiceChargeAssignmentStatusId, status, chargeCode, attempts, errorCode, errorDescription, invoiceAssignmentStatusId, invoiceNumber, agreementCode, timestamp.

Settlement batches (entity_type: settlement_group)

A settlement group is the batch of invoices RCM delivers to a payer as one submission.

event_typeWhen it fires
SETTLEMENT_GROUP_CREATEDThe batch was assembled.
SETTLEMENT_GROUP_SENTThe batch was delivered to the payer.
SETTLEMENT_GROUP_SETTLEDThe payer settled the batch.
SETTLEMENT_GROUP_VOIDEDThe batch was voided.

Key fields: settlementGroupId, status, settlementNumber, deliveryResponsible, sentDate, providerSlug, originInvoiceGroupId, resolutionType, path, retryAttempts, nextRetryAt, timestamp.

Configuration (entity_type: provider_payer_configuration)

event_typeWhen it fires
AUTOMATIC_SETTLEMENT_DELIVERY_ENABLEDAutomatic settlement delivery was switched on for one of your agreements.

Fields: agreementCode, agreementName, channel (RPA or Webservice), enabledDate.

Reserved names that are never delivered

You may see these names in RCM materials. They are declared but no flow emits them today; do not wait for them.

ACCOUNT_UPDATED, INVOICE_SENT, INVOICE_VOIDED, SETTLEMENT_CREATED, SETTLEMENT_DELIVERED, DOCUMENT_VALIDATION_FAILED.

DOCUMENT_VALIDATION_FAILED in particular is reserved for technical failures of the validation pipeline. Today a technical failure is retried internally and produces no event; only the business outcomes COMPLETED and REJECTED are delivered.

Next steps