37 lines
1.6 KiB
Go
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{}
|