v2
latestOpenAPI 3.1.12026-08-078549932.4 MBAdminister a vaccine dose — wraps dispense + VaccinationRecord enrichment + optional temp-lot + WorkTask.
Request body
Existing lot id when the clinician picks from stock. Mutually exclusive with InlineLotPayload? AdministerVaccineRequest.InlineLot and bool AdministerVaccineRequest.UseTemporaryLot.
When true, creates a temporary placeholder lot and follow-up WorkTask.
Route of administration: "SC" | "IM" | "IN" | "IV" | "Oral" | "Topical" | "Other".
Injection / administration site: "RF" | "LF" | "RR" | "LR" | "IN" | "SQ" | "Other".
Staff member who physically gave the injection (often a tech). Defaults to caller when omitted.
The DVM of record for this dose — who a certificate names by default. Null = accept the server default (the appointment's assigned provider, when provider-flagged). Set bool AdministerVaccineRequest.NoDoctorOfRecord to force "no doctor" despite an appointment default.
True = explicitly no doctor of record; suppresses the appointment default.
Explicit expiration / due date for the resulting vaccination record. For rabies this is the vet-certified effective due date — 1 year for a first/primary dose (even with a 3-year-labeled product), the product's labeled duration for a booster. When omitted, the dispense auto-create falls back to the vaccine type's labeled duration (unchanged behavior for non-rabies vaccines).
The physical vaccine <b>vial/lot expiration</b> date (distinct from the next-due DateTime? AdministerVaccineRequest.ExpirationDate). Populated from the selected/inline inventory lot in the UI and editable as a manual override for clinics not using inventory. When omitted, the server pulls it from the linked inventory lot. Persisted on the vaccination record and frozen onto the rabies certificate at issuance.
Attaches the resulting InventoryTransaction to this estimate in the same request.
When the administration is performing an existing estimate line (the in-visit Treatment Plan flow), the resulting transaction is linked to THIS line and the line is marked Performed — and the dispense skips the POS draft-estimate attach. This makes the vaccine dispense once: without it the line was performed (and dispensed) a second time afterwards, producing duplicate vaccination records + reminders.
Response
Created
Present when the request included string? AdministerVaccineRequest.InvoiceId and the dispense auto-created a matching line item. Lets the payments UI skip the unbilled-items poll and add the line directly.
The estimate the dispense was attached to — caller-supplied or auto-resolved server-side. Lets a payments UI that had no estimate of its own adopt the server's estimate instead of failing to reconcile the line.