export type QueueStatusCode = 'wait' | 'proc' | 'done' | 'cancel' | 'skip'
export type EncounterClassCode = 'ambulatory' | 'emergency' | 'inpatient'
export type DischargeMethodCode = 'home' | 'home-request' | 'consul-back' | 'consul-poly' | 'consul-executive' | 'consul-ch-day' | 'emergency' | 'emergency-covid' | 'inpatient' | 'external' | 'death' | 'death-on-arrival' | 'run-away'
export type PolySwitchCode = 'consul-poly' | 'consul-executive'
export type RefTypeCode = 'none' | 'gov' | 'private' | 'bpjs'
export type TransportationCode = 'ambulance' | 'car' | 'motor-cycle' | 'other'
export type PersonConditionCode = 'res' | 'emg' | 'urg' | 'lurg' | 'nurg' | 'doa'
export type AmbulatoryClassCode = 'reg' | 'rehab' | 'chemo'
export type EmergencyClassCode = 'emg' | 'eon'
export type InpatientClassCode = 'op' | 'icu' | 'hcu' | 'vk'
export type ChemoClassCode = 'adm' | 'act'
export type AmbulanceFacilityCode = 'std' | 'icu'
export type AmbulanceNeedsCode = 'assist' | 'non-assist'
export type DocTypeCode = 'person-resident-number' | 'person-driving-license' | 'person-passport' | 'person-family-card' | 'encounter-patient' | 'encounter-suport' | 'encounter-other' | 'mcu-item-result' | 'vclaim-sep' | 'vclaim-sipp' | 'general-consent'
export type AltPaymentMethodCode = 'jkn' | 'jkmm' | 'spm' | 'pks' | 'umum'
export type SEPRefTypCode = 'internal' | 'external'
export type VisitModeCode = 'adm' | 'readm' | 'series'

export const queueStatusCodes: Record<QueueStatusCode, string> = {
  wait: 'Tunggu',
  proc: 'Proses',
  done: 'Selesai',
  cancel: 'Batal',
  skip: 'Dilewati',
}

export const encounterClassCodes: Record<EncounterClassCode, string> = {
  ambulatory: 'Rawat Jalan',
  emergency: 'Gawat Darurat',
  inpatient: 'Rawat Inap',
}

export const dischageMethodCodes: Record<DischargeMethodCode, string> = {
  home: 'Pulang',
  'home-request': 'Pulang Atas Permintaan Sendiri',
  'consul-back': 'Konsultasi Balik / Lanjutan',
  'consul-poly': 'Konsultasi Poliklinik Lain',
  'consul-executive': 'Konsultasi Antar Dokter Eksekutif',
  'consul-ch-day': 'Konsultasi Hari Lain',
  emergency: 'Rujuk IGD',
  'emergency-covid': 'Rujuk IGD Covid',
  inpatient: 'Rujuk Rawat Inap',
  external: 'Rujuk Faskes Lain',
  death: 'Meninggal',
  'death-on-arrival': 'Meninggal Saat Tiba',
  'run-away': 'Kabur / Lari',
}

export const polySwitchCode: Record<PolySwitchCode, string> = {
  'consul-poly': 'Konsultasi Poliklinik Lain',
  'consul-executive': 'Konsultasi Antar Dokter Eksekutif',
}

export const refTypeCode: Record<RefTypeCode, string> = {
  none: 'Tidak Ada',
  gov: 'Pemerintah',
  private: 'Swasta',
  bpjs: 'BPJS',
}

export const transportationCode: Record<TransportationCode, string> = {
  ambulance: 'Ambulans',
  car: 'Mobil',
  'motor-cycle': 'Motor',
  other: 'Lainnya',
}

export const personConditionCode: Record<PersonConditionCode, string> = {
  res: 'Resutiasi',
  emg: 'Darurat',
  urg: 'Mendesak',
  lurg: 'Kurang Mendesak',
  nurg: 'Mendesak',
  doa: 'Meninggal Saat Tiba',
}

export const ambulatoryClassCode: Record<AmbulatoryClassCode, string> = {
  reg: 'Reguler',
  rehab: 'Rehab Medik',
  chemo: 'Kemoterapi',
}

export const emergencyClassCode: Record<EmergencyClassCode, string> = {
  emg: 'Darurat',
  eon: 'Ponek',
}

export const inpatientClassCode: Record<InpatientClassCode, string> = {
  op: 'Rawat Inap',
  icu: 'ICU',
  hcu: 'HCU',
  vk: 'Kamar Bersalin',
}

export const chemoClassCode: Record<ChemoClassCode, string> = {
  adm: 'Administrasi',
  act: 'Tindakan',
}

export const ambulanceFacilityCode: Record<AmbulanceFacilityCode, string> = {
  std: 'Standar',
  icu: 'ICU',
}

export const ambulanceNeedsCode: Record<AmbulanceNeedsCode, string> = {
  assist: 'Dengan Pendampingan',
  'non-assist': 'Tanpa Pendampingan',
}

export const docTypeCode: Record<DocTypeCode, string> = {
  'person-resident-number': '',
  'person-driving-license': '',
  'person-passport': '',
  'person-family-card': '',
  'encounter-patient': '',
  'encounter-suport': '',
  'encounter-other': '',
  'mcu-item-result': '',
  'vclaim-sep': '',
  'vclaim-sipp': '',
  'general-consent': '',
}

export const altPaymentMethodCode: Record<AltPaymentMethodCode, string> = {
  jkn: 'JKN',
  jkmm: 'JKMM',
  spm: 'SPM',
  pks: 'PKS',
  umum: 'Umum',
}

export const sepRefTypCode: Record<SEPRefTypCode, string> = {
  internal: 'Rujukan Internal',
  external: 'Faskes Lain',
}

export const visitModeCode: Record<VisitModeCode, string> = {
  adm: 'Administrasi',
  readm: 'Administrasi',
  series: 'Tindakan',
}
