Files
satusehat-bridging/internal/model/medicationstatement.go
2025-11-24 09:13:08 +07:00

61 lines
2.2 KiB
Go

package model
type MedicationStatementRequest struct {
Id string `json:"id,omitempty"`
ResourceType string `json:"resourceType"`
Contained []Medication `json:"contained" binding:"required"`
Status string `json:"status" binding:"required"`
Category Category `json:"category"`
MedicationReference Reference `json:"medicationReference" binding:"required"`
Subject Reference `json:"subject" binding:"required"`
Dosage []Dosage `json:"dosage"`
EffectiveDateTime string `json:"effectiveDateTime" binding:"required"`
DateAsserted string `json:"dateAsserted" binding:"required"`
InformationSource Reference `json:"informationSource" binding:"required"`
Context Reference `json:"context"`
}
type Medication struct {
Code CodeableConcept `json:"code"`
Extension []MedicationExtension `json:"extension"`
Form CodeableConcept `json:"form"`
ID string `json:"id"`
Identifier []Identifier `json:"identifier"`
Ingredient []MedicationIngredient `json:"ingredient"`
Batch MedicationBatch `json:"batch"`
Meta Meta `json:"meta"`
ResourceType string `json:"resourceType"`
Status string `json:"status"`
}
type MedicationExtension struct {
URL string `json:"url"`
ValueCodeableConcept CodeableConcept `json:"valueCodeableConcept"`
}
type MedicationIngredient struct {
IsActive bool `json:"isActive"`
ItemCodeableConcept CodeableConcept `json:"itemCodeableConcept"`
Strength MedicationStrength `json:"strength"`
}
type MedicationStrength struct {
Denominator Quantity `json:"denominator"`
Numerator Quantity `json:"numerator"`
}
type MedicationBatch struct {
LotNumber string `json:"lotNumber"`
ExpirationDate string `json:"expirationDate"`
}
type Timing struct {
Repeat TimingRepeat `json:"repeat"`
}
type TimingRepeat struct {
Frequency int `json:"frequency"`
Period float64 `json:"period"`
PeriodUnit string `json:"periodUnit"`
}