init push
This commit is contained in:
114
internal/transport/http/dto/patient_data_dto.go
Normal file
114
internal/transport/http/dto/patient_data_dto.go
Normal file
@@ -0,0 +1,114 @@
|
||||
package dto
|
||||
|
||||
// JSON:API PatientData DTOs
|
||||
|
||||
type PatientDataOPC struct {
|
||||
ID string `json:"id,omitempty" example:"018f3a5c-7a6f-7c2a-8d4a-4b5b1f6c8e9d"`
|
||||
Title string `json:"title,omitempty" example:"Primary OPC"`
|
||||
}
|
||||
|
||||
type PatientDataInsuranceDetail struct {
|
||||
ID string `json:"id,omitempty" example:"018f3a5c-7a6f-7c2a-8d4a-4b5b1f6c8e9d"`
|
||||
HealthInsuranceCompanyID string `json:"health_insurance_companies_id,omitempty" example:"018f3a5c-7a6f-7c2a-8d4a-4b5b1f6c8e9d"`
|
||||
FederalStateID string `json:"federal_state_id,omitempty" example:"018f3a5c-7a6f-7c2a-8d4a-4b5b1f6c8e9d"`
|
||||
HealthInsuranceCompany *InsurancePatientDataHealthInsuranceCompany `json:"health_insurance_company,omitempty"`
|
||||
FederalState *InsurancePatientDataFederalState `json:"federal_state,omitempty"`
|
||||
}
|
||||
|
||||
type PatientDataAttributes struct {
|
||||
FamilyName string `json:"family_name" example:"Muster"`
|
||||
FirstName string `json:"first_name" example:"Max"`
|
||||
OPCId string `json:"opc_id,omitempty" example:"018f3a5c-7a6f-7c2a-8d4a-4b5b1f6c8e9d"`
|
||||
BirthDate string `json:"birth_date,omitempty" example:"1990-01-15"`
|
||||
Age *int `json:"age,omitempty" example:"35"`
|
||||
Gender string `json:"gender" example:"male"`
|
||||
Street string `json:"street,omitempty" example:"Hauptstraße 1"`
|
||||
SVNR string `json:"svnr,omitempty" example:"1234150190"`
|
||||
Email string `json:"email,omitempty" example:"max.muster@example.com"`
|
||||
Phone string `json:"phone,omitempty" example:"+431234567"`
|
||||
CoInsured bool `json:"co_insured" example:"false"`
|
||||
InsurancePatientDataId string `json:"insurance_patient_data_id,omitempty" example:"018f3a5c-7a6f-7c2a-8d4a-4b5b1f6c8e9d"`
|
||||
OPC *PatientDataOPC `json:"opc,omitempty"`
|
||||
InsurancePatientData *PatientDataInsuranceDetail `json:"insurance_patient_data,omitempty"`
|
||||
CreatedAt string `json:"created_at,omitempty" example:"2026-03-12T03:04:05Z"`
|
||||
CreatedBy string `json:"created_by,omitempty" example:"018f3a5c-7a6f-7c2a-8d4a-4b5b1f6c8e9d"`
|
||||
UpdatedAt string `json:"updated_at,omitempty" example:"2026-03-12T03:04:05Z"`
|
||||
UpdatedBy string `json:"updated_by,omitempty" example:"018f3a5c-7a6f-7c2a-8d4a-4b5b1f6c8e9d"`
|
||||
DeletedAt string `json:"deleted_at,omitempty" example:"2026-03-12T03:04:05Z"`
|
||||
DeletedBy string `json:"deleted_by,omitempty" example:"018f3a5c-7a6f-7c2a-8d4a-4b5b1f6c8e9d"`
|
||||
}
|
||||
|
||||
type PatientDataResource struct {
|
||||
Type string `json:"type" example:"patient_data"`
|
||||
ID string `json:"id" example:"018f3a5c-7a6f-7c2a-8d4a-4b5b1f6c8e9d"`
|
||||
Attributes PatientDataAttributes `json:"attributes"`
|
||||
}
|
||||
|
||||
type PatientDataResponse struct {
|
||||
Data PatientDataResource `json:"data"`
|
||||
}
|
||||
|
||||
type PatientDataListResponse struct {
|
||||
Data []PatientDataResource `json:"data"`
|
||||
Meta struct {
|
||||
PageNumber int `json:"page_number" example:"1"`
|
||||
PageSize int `json:"page_size" example:"20"`
|
||||
Total int64 `json:"total" example:"120"`
|
||||
} `json:"meta"`
|
||||
}
|
||||
|
||||
type PatientDataDataTableResponse struct {
|
||||
Data []PatientDataResource `json:"data"`
|
||||
Meta struct {
|
||||
Draw int `json:"draw" example:"1"`
|
||||
RecordsTotal int64 `json:"records_total" example:"120"`
|
||||
RecordsFiltered int64 `json:"records_filtered" example:"12"`
|
||||
} `json:"meta"`
|
||||
}
|
||||
|
||||
type PatientDataCreateAttributes struct {
|
||||
FamilyName string `json:"family_name" validate:"required" example:"Muster"`
|
||||
FirstName string `json:"first_name" validate:"required" example:"Max"`
|
||||
OPCId *string `json:"opc_id,omitempty" example:"018f3a5c-7a6f-7c2a-8d4a-4b5b1f6c8e9d"`
|
||||
BirthDate *string `json:"birth_date,omitempty" example:"1990-01-15"`
|
||||
Gender string `json:"gender" validate:"required,oneof=male female" example:"male"`
|
||||
Street *string `json:"street,omitempty" example:"Hauptstraße 1"`
|
||||
SVNR *string `json:"svnr,omitempty" example:"1234150190"`
|
||||
Email *string `json:"email,omitempty" example:"max.muster@example.com"`
|
||||
Phone *string `json:"phone,omitempty" example:"+431234567"`
|
||||
CoInsured *bool `json:"co_insured,omitempty" example:"false"`
|
||||
InsurancePatientDataId *string `json:"insurance_patient_data_id,omitempty" example:"018f3a5c-7a6f-7c2a-8d4a-4b5b1f6c8e9d"`
|
||||
}
|
||||
|
||||
type PatientDataCreateData struct {
|
||||
Type string `json:"type" validate:"required,oneof=patient_data_create patient_data" example:"patient_data_create"`
|
||||
Attributes PatientDataCreateAttributes `json:"attributes" validate:"required"`
|
||||
}
|
||||
|
||||
type PatientDataCreateRequest struct {
|
||||
Data PatientDataCreateData `json:"data" validate:"required"`
|
||||
}
|
||||
|
||||
type PatientDataUpdateAttributes struct {
|
||||
FamilyName *string `json:"family_name,omitempty" example:"Muster"`
|
||||
FirstName *string `json:"first_name,omitempty" example:"Max"`
|
||||
OPCId *string `json:"opc_id,omitempty" example:"018f3a5c-7a6f-7c2a-8d4a-4b5b1f6c8e9d"`
|
||||
BirthDate *string `json:"birth_date,omitempty" example:"1990-01-15"`
|
||||
Gender *string `json:"gender,omitempty" example:"male"`
|
||||
Street *string `json:"street,omitempty" example:"Hauptstraße 1"`
|
||||
SVNR *string `json:"svnr,omitempty" example:"1234150190"`
|
||||
Email *string `json:"email,omitempty" example:"max.muster@example.com"`
|
||||
Phone *string `json:"phone,omitempty" example:"+431234567"`
|
||||
CoInsured *bool `json:"co_insured,omitempty" example:"false"`
|
||||
InsurancePatientDataId *string `json:"insurance_patient_data_id,omitempty" example:"018f3a5c-7a6f-7c2a-8d4a-4b5b1f6c8e9d"`
|
||||
}
|
||||
|
||||
type PatientDataUpdateData struct {
|
||||
Type string `json:"type" validate:"required,oneof=patient_data_update patient_data" example:"patient_data_update"`
|
||||
ID string `json:"id" example:"018f3a5c-7a6f-7c2a-8d4a-4b5b1f6c8e9d"`
|
||||
Attributes PatientDataUpdateAttributes `json:"attributes" validate:"required"`
|
||||
}
|
||||
|
||||
type PatientDataUpdateRequest struct {
|
||||
Data PatientDataUpdateData `json:"data" validate:"required"`
|
||||
}
|
||||
Reference in New Issue
Block a user