package procedure

import "time"

type ProcedureRequest 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=preparation in-progress not-done on-hold stopped completed entered-in-error unknown"` // preparation, in-progress, not-done, on-hold, stopped, completed, entered-in-error, unknown
	CategoryCode      string    `json:"category_code" binding:"required"`
	CategoryDisplay   string    `json:"category_display" binding:"required"`
	Code              string    `json:"code" binding:"required"`    // SNOMED-CT or ICD9CM code
	Display           string    `json:"display" binding:"required"` // Procedure name
	PractitionerID    string    `json:"practitioner_id" binding:"required"`
	PractitionerName  string    `json:"practitioner_name" binding:"required"`
	PerformedDateTime time.Time `json:"performed_date_time" binding:"required"`
}

type ProcedurePatchRequest []map[string]interface{}
