package specimen import ( "time" "service/internal/satusehat/common" ) type SpecimenRequest struct { OrganizationID string `json:"organization_id,omitempty"` SpecimenID string `json:"specimen_id,omitempty"` Status string `json:"status" binding:"required,oneof=available,unavailable,unsatisfactory,entered-in-error"` Type *common.CodeableConceptDTO `json:"type" binding:"required"` Subject *common.ReferenceDTO `json:"subject" binding:"required"` Collection *CollectionDTO `json:"collection,omitempty"` ReceivedDateTime *time.Time `json:"received_date_time,omitempty"` Processing []ProcessingDTO `json:"processing,omitempty"` Conditions []string `json:"conditions,omitempty"` Request []common.ReferenceDTO `json:"request,omitempty"` } type CollectionDTO struct { CollectedDateTime *time.Time `json:"collected_date_time,omitempty"` Collector *common.ReferenceDTO `json:"collector,omitempty"` Quantity *common.QuantityDTO `json:"quantity,omitempty"` Method *common.CodeableConceptDTO `json:"method,omitempty"` BodySite *common.CodeableConceptDTO `json:"body_site,omitempty"` FastingStatus *common.CodeableConceptDTO `json:"fasting_status,omitempty"` } type ProcessingDTO struct { Procedure *common.CodeableConceptDTO `json:"procedure,omitempty"` TimeDateTime *time.Time `json:"time_datetime,omitempty"` } type SpecimenPatchRequest []map[string]interface{}