package immunization

import "time"

type ImmunizationRequest struct {
	PatientID          string    `json:"patient_id" binding:"required"`
	PatientName        string    `json:"patient_name" binding:"required"`
	EncounterID        string    `json:"encounter_id" binding:"required"`
	Status             string    `json:"status" binding:"required,oneof=completed entered-in-error not-done"`
	VaccineCode        string    `json:"vaccine_code" binding:"required"` // KFA Code for Vaccine
	VaccineDisplay     string    `json:"vaccine_display" binding:"required"`
	OccurrenceDateTime time.Time `json:"occurrence_date_time" binding:"required"`
	PrimarySource      bool      `json:"primary_source"`
	LotNumber          string    `json:"lot_number,omitempty"`
	PractitionerID     string    `json:"practitioner_id" binding:"required"`
	PractitionerName   string    `json:"practitioner_name" binding:"required"`
}

type ImmunizationPatchRequest []map[string]interface{}
