Files
satusehat-service/internal/satusehat/usecase/specimen/dto.go
T

37 lines
1.6 KiB
Go

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{}