41 lines
1.7 KiB
Go
41 lines
1.7 KiB
Go
package encounter
|
|
|
|
import (
|
|
"service/internal/satusehat/common"
|
|
"service/pkg/utils/custom"
|
|
)
|
|
|
|
type EncounterRequest struct {
|
|
OrganizationID string `json:"organization_id,omitempty"`
|
|
EncounterID string `json:"encounter_id,omitempty"`
|
|
Status string `json:"status" binding:"required,oneof=planned arrived triaged in-progress onleave finished cancelled entered-in-error unknown"`
|
|
Class string `json:"class" binding:"required,oneof=AMB EMER IMP"`
|
|
Subject *common.ReferenceDTO `json:"subject" binding:"required"`
|
|
Participant []common.ReferenceDTO `json:"participant,omitempty"`
|
|
Location []LocationDTO `json:"location,omitempty"`
|
|
PeriodStart *custom.CustomTime `json:"period_start" binding:"required"`
|
|
PeriodEnd *custom.CustomTime `json:"period_end,omitempty"`
|
|
Diagnosis []DiagnosisDTO `json:"diagnosis,omitempty"`
|
|
StatusHistory []StatusHistoryDTO `json:"status_history,omitempty"`
|
|
}
|
|
|
|
type LocationDTO struct {
|
|
Location *common.ReferenceDTO `json:"location,omitempty"`
|
|
PeriodStart *custom.CustomTime `json:"period_start,omitempty"`
|
|
PeriodEnd *custom.CustomTime `json:"period_end,omitempty"`
|
|
}
|
|
|
|
type DiagnosisDTO struct {
|
|
Condition *common.ReferenceDTO `json:"condition,omitempty"`
|
|
Use *common.CodeableConceptDTO `json:"use,omitempty"`
|
|
Rank int `json:"rank,omitempty"`
|
|
}
|
|
|
|
type StatusHistoryDTO struct {
|
|
Status string `json:"status,omitempty"`
|
|
PeriodStart *custom.CustomTime `json:"period_start,omitempty"`
|
|
PeriodEnd *custom.CustomTime `json:"period_end,omitempty"`
|
|
}
|
|
|
|
type EncounterPatchRequest []map[string]interface{}
|