package medicationstatement import ( "time" "service/internal/satusehat/common" ) type MedicationStatementRequest struct { OrganizationID string `json:"organization_id,omitempty"` StatementID string `json:"statement_id,omitempty"` Status string `json:"status" binding:"required,oneof=active completed entered-in-error intended stopped on-hold unknown not-taken"` Category *common.CodeableConceptDTO `json:"category,omitempty"` Medication *common.CodeableConceptDTO `json:"medication" binding:"required"` Subject *common.ReferenceDTO `json:"subject" binding:"required"` Context *common.ReferenceDTO `json:"context,omitempty"` // Encounter EffectiveDateTime *time.Time `json:"effective_date_time,omitempty"` DateAsserted *time.Time `json:"date_asserted,omitempty"` InformationSource *common.ReferenceDTO `json:"information_source,omitempty"` Dosage []DosageDTO `json:"dosage,omitempty"` } type DosageDTO struct { Sequence int `json:"sequence,omitempty"` Text string `json:"text,omitempty"` PatientInstruction string `json:"patient_instruction,omitempty"` Route *common.CodeableConceptDTO `json:"route,omitempty"` DoseAndRate []DoseAndRateDTO `json:"dose_and_rate,omitempty"` } type DoseAndRateDTO struct { DoseQuantity *common.QuantityDTO `json:"dose_quantity,omitempty"` } type MedicationStatementPatchRequest []map[string]interface{}