Vaccinations

post/api/Vaccinations

Request body

patientIdstring required
appointmentIdstring nullable
vaccineTypeIdstring required
administeredDatestring date-time required
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
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

Changed in 1 of the 6 revisions of this API.24

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

      new-optional-request-property

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

      new-optional-request-property

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

      new-optional-request-property

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

      new-optional-request-property

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

      new-optional-request-property

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

      new-optional-request-property

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

      response-optional-property-added

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

      response-optional-property-added

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

      response-optional-property-added

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

      response-optional-property-added

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

      response-optional-property-added

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

      response-optional-property-added

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

      response-optional-property-added

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

      response-optional-property-added

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

      response-optional-property-added

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

      response-optional-property-added

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

      response-optional-property-added

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

      response-optional-property-added

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

      response-optional-property-added

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

      response-optional-property-added

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

      response-optional-property-added

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

      response-optional-property-added

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

      response-optional-property-added

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

      response-optional-property-added

    This revision also has 1 change that name no endpoint, such as unreferenced schemas being removed. See the revision's changelog