Circle V2 API Docs
    Preparing search index...

    Bulk-fetches episodes from the EMR for a given date range and upserts the subset whose external_patient_id resolves to an existing patient in our DB. Unmatched rows are reported but not upserted — Phase 2C will pair this with a patient backfill so unmatched goes to zero.

    Per-EMR behavior is delegated to EMRAdapter.fetchEpisodesInRange():

    • Kipu: pulls admissions in range via getAdmissions(start, end)
    • LightningStep: queries ice filtered by dateadmission window
    • Sunwave: pulls admitted + discharged census for the window, dedupes

    Hierarchy (View Summary)

    Index

    Constructors

    Properties

    serviceName: "SyncIntegrationEpisodesService"

    Stable, human-readable name for the service. Must be set explicitly on each subclass because this.constructor.name gets mangled by minification in production builds, which breaks tracing/observability span names.

    Accessors

    • get name(): string

      Returns string

    Methods

    • Optional hook for subclasses to attach extra non-PII span attributes derived from params. The returned attributes appear on the service.${serviceName} span (and, for jobs, on job.enqueue.* and job.run.* spans too).

      Safe ID-like keys on params (e.g. patientId, templateIds, limit, cursor) are already auto-extracted via toSpanAttributes("service.input", params) — you don't need to enumerate them here. Use this hook for derived/computed attributes (counts, flags, computed names) or for fields you've explicitly verified safe but that aren't in the global allowlist. Hook output overrides auto-extracted attributes on key collision.

      Safe by default: returns {} when not overridden. Only declare keys you've confirmed are non-PII. Never include emails, names, dob, free-text, etc.

      Returns Attributes

    • Optional hook for subclasses to attach extra non-PII span attributes derived from the successful service result. Only called when run resolves successfully; on error, the span is marked via markSpanError instead.

      Safe by default: returns {} when not overridden. Only declare keys you've confirmed are non-PII (e.g. counts, status flags, computed summaries). Never include emails, names, dob, free-text, etc.

      Returns Attributes