package kfa

type KfaListResponse struct {
	Status  string `json:"status"`
	Message string `json:"message"`
	Data    struct {
		Items struct {
			Data []KfaListItem `json:"data"`
		} `json:"items"`
		Page  int `json:"page"`
		Size  int `json:"size"`
		Total int `json:"total"`
	} `json:"data"`
}

type KfaListItem struct {
	KfaCode string `json:"kfa_code"`
}

type KfaDetailResponse struct {
	Status  string `json:"status"`
	Message string `json:"message"`
	Data    struct {
		Result KfaDetailResult `json:"result"`
	} `json:"data"`
}

type KfaDetailResult struct {
	Active            bool                        `json:"active"`
	ActiveIngredients []KfaDetailActiveIngredient `json:"active_ingredients"`
	AtcDdd            interface{}                 `json:"atc_ddd"`
	AtcL1             interface{}                 `json:"atc_l1"`
	AtcL2             interface{}                 `json:"atc_l2"`
	AtcL3             interface{}                 `json:"atc_l3"`
	AtcL4             interface{}                 `json:"atc_l4"`
	AtcL5             interface{}                 `json:"atc_l5"`
	ControlledDrug    interface{}                 `json:"controlled_drug"`
	Description       *string                     `json:"description"`
	DosageForm        interface{}                 `json:"dosage_form"`
	DosageUsage       interface{}                 `json:"dosage_usage"`
	DosePerUnit       *float64                    `json:"dose_per_unit"`
	FarmalkesHscode   *string                     `json:"farmalkes_hscode"`
	FarmalkesType     interface{}                 `json:"farmalkes_type"`
	FixPrice          *float64                    `json:"fix_price"`
	Generik           *bool                       `json:"generik"`
	HetPrice          *float64                    `json:"het_price"`
	IdentifierIds     interface{}                 `json:"identifier_ids"`
	Image             *string                     `json:"image"`
	Indication        *string                     `json:"indication"`
	KfaCode           string                      `json:"kfa_code"`
	KlasifikasiIzin   *string                     `json:"klasifikasi_izin"`
	KodeLkpp          *string                     `json:"kode_lkpp"`
	Manufacturer      *string                     `json:"manufacturer"`
	NamaDagang        *string                     `json:"nama_dagang"`
	Name              string                      `json:"name"`
	NetWeight         *float64                    `json:"net_weight"`
	NetWeightUomName  *string                     `json:"net_weight_uom_name"`
	Nie               *string                     `json:"nie"`
	PackagingIds      []KfaDetailPackaging        `json:"packaging_ids"`
	ProductTemplate   interface{}                 `json:"product_template"`
	ProduksiBuatan    *string                     `json:"produksi_buatan"`
	Registrar         *string                     `json:"registrar"`
	Replacement       interface{}                 `json:"replacement"`
	RutePemberian     interface{}                 `json:"rute_pemberian"`
	Rxterm            *int                        `json:"rxterm"`
	ScoreBmp          *float64                    `json:"score_bmp"`
	ScoreTkdn         *float64                    `json:"score_tkdn"`
	ScoreTkdnBmp      *float64                    `json:"score_tkdn_bmp"`
	SideEffect        *string                     `json:"side_effect"`
	State             *string                     `json:"state"`
	Tags              interface{}                 `json:"tags"`
	TayangLkpp        *bool                       `json:"tayang_lkpp"`
	Ucum              interface{}                 `json:"ucum"`
	Uom               interface{}                 `json:"uom"`
	UpdatedAt         *string                     `json:"updated_at"`
	Volume            *float64                    `json:"volume"`
	VolumeUomName     *string                     `json:"volume_uom_name"`
	Warning           *string                     `json:"warning"`
	Fornas            interface{}                 `json:"fornas"`
}

type KfaDetailActiveIngredient struct {
	Active           bool    `json:"active"`
	KekuatanZatAktif string  `json:"kekuatan_zat_aktif"`
	KfaCode          string  `json:"kfa_code"`
	State            string  `json:"state"`
	UpdatedAt        *string `json:"updated_at"`
	ZatAktif         string  `json:"zat_aktif"`
}

type KfaDetailPackaging struct {
	KfaCode   string   `json:"kfa_code"`
	Name      string   `json:"name"`
	PackPrice *float64 `json:"pack_price"`
	Qty       int      `json:"qty"`
	UomId     string   `json:"uom_id"`
}
