package referral

type Response struct {
	MetaData MetaData        `json:"metaData"`
	Response *ReferralDetail `json:"response"` // nullable
}

type MetaData struct {
	Code    string `json:"code"`
	Message string `json:"message"`
}

type ReferralDetail struct {
	AsalFaskes string        `json:"asalFaskes"`
	Rujukan    RujukanDetail `json:"rujukan"`
}

type RujukanDetail struct {
	Diagnosa     Diagnosa  `json:"diagnosa"`
	Keluhan      *string   `json:"keluhan"` // nullable
	NoKunjungan  string    `json:"noKunjungan"`
	Pelayanan    Pelayanan `json:"pelayanan"`
	Peserta      Peserta   `json:"peserta"`
	PoliRujukan  Poli      `json:"poliRujukan"`
	ProvPerujuk  Provider  `json:"provPerujuk"`
	TglKunjungan string    `json:"tglKunjungan"`
}

type Diagnosa struct {
	Kode string `json:"kode"`
	Nama string `json:"nama"`
}

type Pelayanan struct {
	Kode string `json:"kode"`
	Nama string `json:"nama"`
}

type Peserta struct {
	Cob           Cob            `json:"cob"`
	HakKelas      KeteranganKode `json:"hakKelas"`
	Informasi     Informasi      `json:"informasi"`
	JenisPeserta  KeteranganKode `json:"jenisPeserta"`
	Mr            Mr             `json:"mr"`
	Nama          string         `json:"nama"`
	Nik           string         `json:"nik"`
	NoKartu       string         `json:"noKartu"`
	Pisa          string         `json:"pisa"`
	ProvUmum      Provider       `json:"provUmum"`
	Sex           string         `json:"sex"`
	StatusPeserta KeteranganKode `json:"statusPeserta"`
	TglCetakKartu string         `json:"tglCetakKartu"`
	TglLahir      string         `json:"tglLahir"`
	TglTAT        string         `json:"tglTAT"`
	TglTMT        string         `json:"tglTMT"`
	Umur          Umur           `json:"umur"`
}

type Cob struct {
	NmAsuransi *string `json:"nmAsuransi"` // nullable
	NoAsuransi *string `json:"noAsuransi"`
	TglTAT     *string `json:"tglTAT"`
	TglTMT     *string `json:"tglTMT"`
}

type KeteranganKode struct {
	Keterangan string `json:"keterangan"`
	Kode       string `json:"kode"`
}

type Informasi struct {
	Dinsos      *string `json:"dinsos"`
	ESep        *string `json:"eSEP"`
	NoSKTM      *string `json:"noSKTM"`
	ProlanisPRB *string `json:"prolanisPRB"`
}

type Mr struct {
	NoMR      string `json:"noMR"`
	NoTelepon string `json:"noTelepon"`
}

type Provider struct {
	Kode       string `son:"kode"`
	NmProvider string `json:"nama"`
}

type Poli struct {
	Kode string `json:"kode"`
	Nama string `json:"nama"`
}

type Umur struct {
	UmurSaatPelayanan string `json:"umurSaatPelayanan"`
	UmurSekarang      string `json:"umurSekarang"`
}
