public interface ILiveCaptureService
{
    /// <summary>
    /// Records observations against an existing VigilCareClinical encounter.
    /// Validates clinician attestation, creates a live_capture batch, promotes
    /// synchronously, and returns live observation IDs with any critical alerts.
    /// </summary>
    Task<LiveCaptureResponse> RecordObservationsAsync(
        Guid encounterId,
        RecordObservationsRequest request,
        Guid clinicianUserId);

    /// <summary>
    /// Opens a new encounter in VigilCareClinical and records initial vitals
    /// in a single atomic operation. Used for outpatient workflows.
    /// </summary>
    Task<LiveCaptureResponse> OpenEncounterWithVitalsAsync(
        OpenEncounterWithVitalsRequest request,
        Guid clinicianUserId);
}