Files
meninjar dev 36cf47313b update docker
2024-09-30 01:34:09 +00:00

110 lines
3.9 KiB
Go

package satusehat
import (
"time"
"github.com/go-playground/validator/v10"
)
type Visit struct {
VisitID string
PatientSatusehatID string
PatientNIK string
PatientName string
PatientSex string
PatientBirthDate *time.Time
PatientAddress string
PractitionerNIK string
PractitionerSatusehatID string
PractitionerName string
ClinicSatusehatID string
ClinicName string
Systole string
Diastole string
HeartRate string
RespirationRate string
OxygenSaturation string
Temperature string
PeriodStartDate time.Time
PeriodEndDate time.Time
ArrivedStartTime *time.Time
ArrivedEndTime *time.Time
InProgressStartTime *time.Time
InProgressEndTime *time.Time
FinishStartTime *time.Time
FinishEndTime *time.Time
}
type VisitDetail struct {
VisitId string `json:"visit_id" validate:"required"`
PatientSatusehatId string `json:"patient_satusehat_id" validate:"required"`
PatientNik string `json:"patient_nik" `
PatientName string `json:"patient_name" validate:"required"`
PatientSex string `json:"patient_sex"`
PatientBirthDate *time.Time `json:"patient_birth_date"`
PatientAddress string `json:"patient_address"`
PractitionerNik string `json:"practitioner_nik"`
PractitionerId string `json:"practitioner_satusehat_id" validate:"required"`
PractitionerName string `json:"practitioner_name" validate:"required"`
ClinicName string `json:"clinic_name" validate:"required"`
ClinicSatuSehatId string `json:"clinic_id" validate:"required"`
PeriodStartDate time.Time `json:"period_start_date" validate:"required"`
PeriodEndDate time.Time `json:"period_end_date" validate:"required"`
ArrivedStartTime *time.Time `json:"arrived_start_time" validate:"required"`
ArrivedEndTime *time.Time `json:"arrived_end_time" validate:"required"`
InProgressStartTime *time.Time `json:"in_progress_start_time" validate:"required"`
InProgressEndTime *time.Time `json:"in_progress_end_time" validate:"required"`
FinishStartTime *time.Time `json:"finish_start_time" validate:"required"`
FinishEndTime *time.Time `json:"finish_end_time" validate:"required"`
}
func (v VisitDetail) Invalid() error {
val := validator.New()
return val.Struct(v)
}
type VitalSign struct {
Systole string `json:"sistole"`
Diastole string `json:"diastole"`
HeartRate string `json:"heart_rate"`
RespirationRate string `json:"respiration_rate"`
Temperature string `json:"temperature"`
OxygenSaturation string `json:"oxygen_saturation"`
}
func (v *Visit) VitalSign() VitalSign {
return VitalSign{
Systole: v.Systole,
Diastole: v.Diastole,
HeartRate: v.HeartRate,
RespirationRate: v.RespirationRate,
Temperature: v.Temperature,
OxygenSaturation: v.OxygenSaturation,
}
}
func (v *Visit) VisitDetail() VisitDetail {
return VisitDetail{
VisitId: v.VisitID,
PatientSatusehatId: v.PatientSatusehatID,
PatientNik: v.PatientNIK,
PatientName: v.PatientName,
PatientSex: v.PatientSex,
PatientBirthDate: v.PatientBirthDate,
PatientAddress: v.PatientAddress,
ClinicName: v.ClinicName,
ClinicSatuSehatId: v.ClinicSatusehatID,
PeriodStartDate: v.PeriodStartDate,
PeriodEndDate: v.PeriodEndDate,
PractitionerNik: v.PractitionerNIK,
PractitionerId: v.PractitionerSatusehatID,
PractitionerName: v.PractitionerName,
ArrivedStartTime: v.ArrivedStartTime,
ArrivedEndTime: v.ArrivedEndTime,
InProgressStartTime: v.InProgressStartTime,
InProgressEndTime: v.InProgressEndTime,
FinishStartTime: v.FinishStartTime,
FinishEndTime: v.FinishEndTime,
}
}