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