Vaccinations

POST /api/Vaccinations

Changed on

Request

Request body

patientIdstring required
appointmentIdstring nullable
vaccineTypeIdstring required
administeredDatestring date-time required
administrationGroupIdstring nullable

Groups the per-antigen records of one combo administration (ITE-692). Set by the dispense fan-out; null for manual entries.

expirationDatestring date-time nullable
vaccineExpirationDatestring date-time nullable

Physical vaccine vial/lot expiration date (distinct from the next-due DateTime? CreateVaccinationRecordRequest.ExpirationDate).

lotNumberstring nullable
manufacturerstring nullable
routestring nullable
sitestring nullable
administeredByIdstring nullable

Who physically gave the injection. Null = not recorded / external — never defaulted to the caller (PR #858).

doctorOfRecordIdstring nullable

The DVM of record for this dose. Null = resolve the default: the appointment's assigned provider when string? CreateVaccinationRecordRequest.AppointmentId is set and that user is provider-flagged, else none. Set bool CreateVaccinationRecordRequest.NoDoctorOfRecord to force "no doctor" despite an appointment default. The two "unset" meanings are deliberately separate fields — an empty string is never a sentinel here (see the PR #858 ""-collision).

noDoctorOfRecordboolean

True = explicitly no doctor of record (external dose); suppresses the appointment default.

notesstring nullable
inventoryTransactionIdstring nullable

Response

Created

idstring
patientIdstring
appointmentIdstring nullable
administrationGroupIdstring nullable

Shared by the per-antigen records of one combo administration (ITE-692); null for legacy/manual records. Voiding any member retracts the group.

administeredDatestring date-time
expirationDatestring date-time nullable

Next-due date (when the current dose lapses). Not the vial expiry — see DateTime? VaccinationRecordDto.VaccineExpirationDate.

vaccineExpirationDatestring date-time nullable

Physical vaccine vial/lot expiration date (distinct from the next-due DateTime? VaccinationRecordDto.ExpirationDate).

lotNumberstring nullable
manufacturerstring nullable
routestring nullable
sitestring nullable
notesstring nullable
inventoryTransactionIdstring nullable
hasUnresolvedLotboolean

True when the underlying inventory lot is a temporary placeholder awaiting resolution. Certificate generation is blocked while this is true.

isVoidedboolean

True when the dose was retracted (billing line voided, or a mis-entry corrected). The record stays on the chart for audit but is not a valid dose: it drives no reminders, does not count toward vaccination status or schedule stage, and cannot be certified. Render it struck through.

voidedAtstring date-time nullable
voidReasonstring nullable
createdAtstring date-time
updatedAtstring date-time

Changes

    • info

      added the new optional request property (media type: application/json)

    • info

      added the new optional request property (media type: text/json)

    • info

      added the new optional request property (media type: application/*+json)

    • info

      added the optional property to the response with the status (media type: text/plain)

    • info

      added the optional property to the response with the status (media type: application/json)

    • info

      added the optional property to the response with the status (media type: text/json)

    • info

      added the new optional request property (media type: application/json)

    • info

      added the new optional request property (media type: text/json)

    • info

      added the new optional request property (media type: application/*+json)

    • info

      added the new optional request property (media type: application/json)

    • info

      added the new optional request property (media type: text/json)

    • info

      added the new optional request property (media type: application/*+json)

    • info

      added the optional property to the response with the status (media type: text/plain)

    • info

      added the optional property to the response with the status (media type: application/json)

    • info

      added the optional property to the response with the status (media type: text/json)

    • info

      added the optional property to the response with the status (media type: text/plain)

    • info

      added the optional property to the response with the status (media type: application/json)

    • info

      added the optional property to the response with the status (media type: text/json)

    • info

      added the optional property to the response with the status (media type: text/plain)

    • info

      added the optional property to the response with the status (media type: application/json)

    • info

      added the optional property to the response with the status (media type: text/json)

    • info

      added the optional property to the response with the status (media type: text/plain)

    • info

      added the optional property to the response with the status (media type: application/json)

    • info

      added the optional property to the response with the status (media type: text/json)

    • info

      added the optional property to the response with the status (media type: text/plain)

    • info

      added the optional property to the response with the status (media type: application/json)

    • info

      added the optional property to the response with the status (media type: text/json)

    • info

      added the optional property to the response with the status (media type: text/plain)

    • info

      added the optional property to the response with the status (media type: application/json)

    • info

      added the optional property to the response with the status (media type: text/json)