diff --git a/app/components/pub/my-ui/data-table/data-table.vue b/app/components/pub/my-ui/data-table/data-table.vue index ecf2bf46..408b6d9d 100644 --- a/app/components/pub/my-ui/data-table/data-table.vue +++ b/app/components/pub/my-ui/data-table/data-table.vue @@ -22,7 +22,7 @@ const selected = ref([]) function toggleSelection(row: any, event?: Event) { if (event) event.stopPropagation() // cegah event bubble ke TableRow - const isMultiple = props.selectMode === 'multiple' // props.selectMode === 'multi' || + const isMultiple = props.selectMode === 'multiple' // props.selectMode === 'multi' || // gunakan pembanding berdasarkan id atau stringify data const findIndex = selected.value.findIndex((r) => JSON.stringify(r) === JSON.stringify(row)) @@ -85,7 +85,7 @@ function handleActionCellClick(event: Event, _cellRef: string) { v-for="(th, idx) in headers[hrIdx]" :key="`head-${idx}`" :class="`border ${th.classVal || ''}`" - :style="{ width: cols[idx]?.width ? `${cols[idx].width}px` : undefined }" + :style="{ width: cols[idx]?.width ? `${cols[idx].width}${cols[idx].widthUnit ?? 'px'}` : '' }" > {{ th.label }} @@ -128,7 +128,7 @@ function handleActionCellClick(event: Event, _cellRef: string) { 'bg-green-50': props.selectMode === 'single' && selected.some((r) => JSON.stringify(r) === JSON.stringify(row)), 'bg-blue-50': - (props.selectMode === 'multiple') && // props.selectMode === 'multi' || + (props.selectMode === 'multiple') && // props.selectMode === 'multi' || selected.some((r) => JSON.stringify(r) === JSON.stringify(row)), }" @click="toggleSelection(row)" diff --git a/app/lib/clinical-const.ts b/app/lib/clinical-const.ts new file mode 100644 index 00000000..d6a37b43 --- /dev/null +++ b/app/lib/clinical-const.ts @@ -0,0 +1,226 @@ +export type SubjectCode = 'detail' | 'pri-complain' | 'sec-complain' | 'cur-disea-hist' | 'pas-disea-hist' | 'fam-disea-hist' | 'alg-hist' | 'alg-react' | 'med-hist' | 'blood-type' +export type ObjectCode = 'detail' | 'consc-level' | 'consc-level-det' | 'syst-bp' | 'diast-bp' | 'pulse' | 'resp-rate' | 'hear-rt' | 'neuro-cranialis' | 'sensoris' | 'reflect-fisio' | 'reflect-pato' | 'autonom-neuron' | 'neck-rom' | 'body-rom' | 'aga-rom' | 'agb-rom' | 'neck-mmt' | 'body-mmt' | 'aga-mmt' | 'agb-mmt' | 'localis' | 'medical-trouble' | 'rehab-medic-trouble' | 'temp' | 'spo2' | 'weight' | 'height' | 'head-to-toe' +export type AssessmentCode = 'detail' | 'early-med-diag' | 'late-med-diag' | 'sec-med-diag' | 'early-func-diag' | 'late-func-diag' | 'sec-func-diag' | 'patient-dev' +export type PlanCode = 'detail' | 'plan' +export type InstructionCode = 'detail' | 'medical-act' | 'supporting-exam' | 'therapy' | 'medication' | 'material' | 'rehab-program' | 'physic-modal' | 'exercise' | 'ortes-protesa' | 'education' | 'other' +export type HeadToToeCode = 'head' | 'eye' | 'ear' | 'nose' | 'mouth-throat' | 'head-others' | 'thorax' | 'heart' | 'lung' | 'abdomen' | 'liver' | 'back' | 'ekstremitas' | 'gender' | 'rectum' | 'neuron' | 'body-others' +export type McuUrgencyLevelCode = 'cito' | 'cito-igd' | 'ponek' | 'blood-gas' | 'priority-form' | 'routine' +export type McuScopeCode = 'cp-lab' | 'mic-lab' | 'ap-lab' | 'rad' +export type SoapiTypeCode = 'early-medic' | 'early-rehab' | 'function' | 'progress' | 'dev-record' | 'kfr-adm' | 'kfr-series' +export type MedicalActionTypeCode = 'chemo' | 'hemo' | 'thalasemia' | 'echocardio' | 'spirometry' +export type VehicleTypeCode = 'ambulance' | 'transport' | 'hearse' +export type GeneralEduCode = 'right-obg' | 'general-consent' | 'service' | 'alt-care-src' | 'home-plan' | 'home-care' | 'orientation' | 'fall-risk-prevention' | 'alt-care' | 'act-delay' | 'others' +export type SpecialEduCode = 'disease-diag-dev' | 'safe-med-usage' | 'side-effect' | 'diet' | 'pain-mgmt' | 'medical-eq-usage' | 'rehab-technique' | 'prevention-act' +export type EduAssessmentCode = 'learn-ability' | 'learn-will' | 'obstacle' | 'learn-method' | 'lang' | 'lang-obstacle' | 'belief' +export type AbilityCode = 'able' | 'not-able' +export type WillCode = 'ready' | 'interested' | 'not-interested' +export type MedObstacleCode = 'hearing' | 'sight' | 'physical' | 'emotional' | 'cognitif' +export type LearnMethodCode = 'demo' | 'discuss-leaflet' +export type LangClassCode = 'ind' | 'region' | 'foreign' +export type TranslatorSrcCode = 'team' | 'family' + +export const subjectCodes: Record = { + detail: 'Detail', + 'pri-complain': 'Keluhan Utama', + 'sec-complain': 'Secondary Complaint', + 'cur-disea-hist': 'Current Disease History', + 'pas-disea-hist': 'Past Disease History', + 'fam-disea-hist': 'Family Disease History', + 'alg-hist': 'Allergic Hist', + 'alg-react': 'Allergic Reaction', + 'med-hist': 'Medication Hist', + 'blood-type': 'Golongan Darah', +} + +export const objectCodes: Record = { + detail: 'Detail', + 'consc-level': 'Tingkat Kesadaran', + 'consc-level-det': 'Detail Tingkat Kesadaran', + 'syst-bp': 'Tekanan Darah Systolic', + 'diast-bp': 'Tekanan Darah Diastolic', + 'pulse': 'Nadi', + 'resp-rate': 'Pernafasan', + 'hear-rt': 'Detak Jantung', + 'neuro-cranialis': 'Neurologist Cranialist', + 'sensoris': 'Sensoris', + 'reflect-fisio': 'Refleks Fisiologi', + 'reflect-pato': 'Refleks Patologi', + 'autonom-neuron': 'Saraf Otonom', + 'neck-rom': 'ROM - Leher', + 'body-rom': 'ROM - Batang Tubuh', + 'aga-rom': 'ROM - AGA', + 'agb-rom': 'ROM - AGB', + 'neck-mmt': 'MMT - Leher', + 'body-mmt': 'MMT - Batang Tubuh', + 'aga-mmt': 'MMT - AGA', + 'agb-mmt': 'MMT - AGB', + 'localis': 'Status Lokalis', + 'medical-trouble': 'Masalah Medis', + 'rehab-medic-trouble': 'Masalah Rehab Medik', + 'temp': 'Suhu', + 'spo2': 'SpO2', + 'weight': 'Berat Badan', + 'height': 'Tinggi Badan', + 'head-to-toe': 'Kepala Sampai Kaki', +} + +export const assessmentCodes: Record = { + detail: 'Detail', + 'early-med-diag': 'Diagnosis Medis Awal', + 'late-med-diag': 'Diagnosis Medis Akhir', + 'sec-med-diag': 'Diagnosis Medis Sekunder', + 'early-func-diag': 'Diagnosis Fungsi Awal', + 'late-func-diag': 'Diagnosis Fungsi Akhir', + 'sec-func-diag': 'Diagnosis Fungsi Sekunder', + 'patient-dev': 'Catatan Perkembangan Patient', +} + +export const planCodes: Record = { + detail: 'Detail', + 'plan': 'Rencana', +} + +export const instructionCodes: Record = { + detail: 'Detail Instruksi', + 'medical-act': 'Tindakan medis', + 'supporting-exam': 'Pemeriksaan Penunjang', + 'therapy': 'Terapi', + 'medication': 'Obat', + 'material': 'BMHP', + 'rehab-program': 'Program Rehab', + 'physic-modal': 'Modalitas Fisik', + 'exercise': 'Latihan', + 'ortes-protesa': 'Ortesa Protesa', + 'education': 'Edukasi', + 'other': 'Lain-lain', +} + +export const headToToeCodes: Record = { + head: 'Kepala', + eye: 'Mata', + ear: 'Telinga', + nose: 'Hidung', + 'mouth-throat': 'Mulut - Tenggorokan', + 'head-others': 'Kepala - Lainnya', + thorax: 'Toraks', + heart: 'Jantung', + lung: 'Paru', + abdomen: 'Perut', + liver: 'Hati', + back: 'Punggung', + ekstremitas: 'Ekstermitas', + gender: 'Kelamin', + rectum: 'Dubur', + neuron: 'Syaraf', + 'body-others': 'Badan - Lainnya', +} + +export const mcuUrgencyLevelCodes: Record = { + cito: 'CITO', + 'cito-igd': 'CITO IGD', + ponek: 'PONEK', + 'blood-gas': 'Analisa Gas Darah', + 'priority-form': 'Form Prioritas', + routine: 'Pemeriksaan Rutin', +} + +export const mcuScopeCodes: Record = { + 'cp-lab': 'Laboratorium', + 'mic-lab': 'Microbacterial Laboratorium', + 'ap-lab': 'Patology Anatomy Laboratorium', + rad: 'Radiology', +} + +export const soapiTypeCodes: Record = { + 'early-medic': 'Kajian Awal Medis', + 'early-rehab': 'Kajian Awal Rehab Medik', + 'function': 'Assessmen Fungsi', + 'progress': 'CPPT', + 'dev-record': 'Catatan Perkembangan', + 'kfr-adm': 'Soapi Untuk KFR', + 'kfr-series': 'Soapi Untuk KFR', +} + +export const medicalActionTypeCodes: Record = { + chemo: 'Kemoterapi', + hemo: 'Hemofilia', + thalasemia: 'Talasemi', + echocardio: 'Echokardio', + spirometry: 'Spirometri', +} + +export const vehicleTypeCodes: Record = { + ambulance: 'Ambulans', + transport: 'Transport', + hearse: 'Jenazah', +} + +export const generalEduCodes: Record = { + 'right-obg': 'Hak dan kewajiban pasien dan keluarga', + 'general-consent': 'General Consent', + 'service': 'Pelayanan yang disediakan (jam pelayanan, akses pelayanan dan proses pelayanan)', + 'alt-care-src': 'Sumber alternatif asuhan di tempat lain/faskes lain', + 'home-plan': 'Rencana tindakan di rumah', + 'home-care': 'Kebutuhan perawatan di rumah', + 'orientation': 'Orientasi ruangan', + 'fall-risk-prevention': 'Pencegahan risiko jatuh', + 'alt-care': 'Alternatif pelayanan', + 'act-delay': 'Penundaan Tindakan', + 'others': 'Lain - lain', +} + +export const specialEduCodes: Record = { + 'disease-diag-dev': 'Diagnosa penyakit dan perkembangannya', + 'safe-med-usage': 'Penggunaan obat yang aman,', + 'side-effect': 'efek samping dan reaksi obat', + 'diet': 'Diet/Nutrisi', + 'pain-mgmt': 'Managemen nyeri', + 'medical-eq-usage': 'Penggunaan Peralatan Medis', + 'rehab-technique': 'Tehnik Rehabilitasi', + 'prevention-act': 'Tindakan pencegahan (cuci tangan, pemasangan gelang)', +} + +export const eduAssessmentCodes: Record = { + 'learn-ability': 'Kemampuan Belajar', + 'learn-will': 'Kemauan Belajar', + 'obstacle': 'Hambatan', + 'learn-method': 'Metode Pembelajaran', + 'lang': 'Bahasa', + 'lang-obstacle': 'Hambatan Bahasa', + 'belief': 'Keyakinan', +} + +export const abilityCodes: Record = { + able: 'Mampu', + 'not-able': 'Tidak Mampu', +} + +export const willCodes: Record = { + ready: 'Siap', + interested: 'Tertarik', + 'not-interested': 'Tidak Tertarik', +} + +export const medObstacleCodes: Record = { + hearing: 'Pendengaran', + sight: 'Penglihatan', + physical: 'Fisik', + emotional: 'Emosional', + cognitif: 'Kognitif', +} + +export const learnMethodCodes: Record = { + demo: 'Demonstrasi', + 'discuss-leaflet': 'Diskusi Leaflet', +} + +export const langClassCodes: Record = { + ind: 'Indonesia', + region: 'Daerah', + foreign: 'Asing', +} + +export const translatorSrcCodes: Record = { + team: 'Tim Penerjemah', + family: 'Keluarga', +} diff --git a/app/lib/common-const.ts b/app/lib/common-const.ts new file mode 100644 index 00000000..81e0f1ae --- /dev/null +++ b/app/lib/common-const.ts @@ -0,0 +1,84 @@ +export type ActiveStatusCode = 'active' | 'inactive' +export type DataStatusCode = 'new' | 'review' | 'process' | 'done' | 'canceled' | 'rejected' | 'skipped' +export type DataApprovalCode = 'new' | 'approved' | 'rejected' +export type DataAvailabilityCode = 'review' | 'available' | 'unavailble' +export type DataVerifiedCode = 'new' | 'verified' | 'rejected' +export type UserStatusCode = 'new' | 'active' | 'inactive' | 'blocked' | 'suspended' +export type ProcessStatusCode = 'success' | 'failed' +export type TimeUnitCode = 'sec' | 'min' | 'hour' | 'day' | 'week' | 'month' | 'year' +export type DayCode = '0' | '1' | '2' | '3' | '4' | '5' | '6' +export type PaymentMethodCode = 'cash' | 'debit' | 'credit' | 'insurance' | 'membership' + +export const activeStatusCodes: Record = { + active: 'Aktif', + inactive: 'Tidak Aktif', +} + +export const dataStatusCodes: Record = { + new: 'Baru', + review: 'Review', + process: 'Proses', + done: 'Selesai', + canceled: 'Dibatalkan', + rejected: 'Ditolak', + skipped: 'Dilewati', +} + +export const dataApprovalCodes: Record = { + new: 'Baru', + approved: 'Diterima', + rejected: 'Ditolak', +} + +export const dataAvailabilityCodes: Record = { + review: 'Konfirmasi', + available: 'Tersedia', + unavailble: 'Tidak Tersedia', +} + +export const dataVerifiedCodes: Record = { + new: 'Baru', + verified: 'Terverifikasi', + rejected: 'Ditolak', +} + +export const userStatusCodes: Record = { + new: 'Baru', + active: 'Aktif', + inactive: 'Tidak Aktif', + blocked: 'Diblokir', + suspended: 'Dibekukan', +} + +export const processStatusCodes: Record = { + success: 'Sukses', + failed: 'Gagal', +} + +export const timeUnitCodes: Record = { + sec: 'Detik', + min: 'Menit', + hour: 'Jam', + day: 'Hari', + week: 'Minggu', + month: 'Bulan', + year: 'Tahun', +} + +export const dayCodes: Record = { + '0': 'Minggu', + '1': '', + '2': '', + '3': '', + '4': '', + '5': '', + '6': 'Sabtu', +} + +export const paymentMethodCodes: Record = { + cash: 'Cash', + debit: 'Debit', + credit: 'Kredit', + insurance: 'Asuransi', + membership: 'Membership', +} diff --git a/app/lib/encounter-const.ts b/app/lib/encounter-const.ts new file mode 100644 index 00000000..edd8ea29 --- /dev/null +++ b/app/lib/encounter-const.ts @@ -0,0 +1,141 @@ +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 = { + wait: 'Tunggu', + proc: 'Proses', + done: 'Selesai', + cancel: 'Batal', + skip: 'Dilewati', +} + +export const encounterClassCodes: Record = { + ambulatory: 'Rawat Jalan', + emergency: 'Gawat Darurat', + inpatient: 'Rawat Inap', +} + +export const dischageMethodCodes: Record = { + 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 = { + 'consul-poly': 'Konsultasi Poliklinik Lain', + 'consul-executive': 'Konsultasi Antar Dokter Eksekutif', +} + +export const refTypeCode: Record = { + none: 'Tidak Ada', + gov: 'Pemerintah', + private: 'Swasta', + bpjs: 'BPJS', +} + +export const transportationCode: Record = { + ambulance: 'Ambulans', + car: 'Mobil', + 'motor-cycle': 'Motor', + other: 'Lainnya', +} + +export const personConditionCode: Record = { + res: 'Resutiasi', + emg: 'Darurat', + urg: 'Mendesak', + lurg: 'Kurang Mendesak', + nurg: 'Mendesak', + doa: 'Meninggal Saat Tiba', +} + +export const ambulatoryClassCode: Record = { + reg: 'Reguler', + rehab: 'Rehab Medik', + chemo: 'Kemoterapi', +} + +export const emergencyClassCode: Record = { + emg: 'Darurat', + eon: 'Ponek', +} + +export const inpatientClassCode: Record = { + op: 'Rawat Inap', + icu: 'ICU', + hcu: 'HCU', + vk: 'Kamar Bersalin', +} + +export const chemoClassCode: Record = { + adm: 'Administrasi', + act: 'Tindakan', +} + +export const ambulanceFacilityCode: Record = { + std: 'Standar', + icu: 'ICU', +} + +export const ambulanceNeedsCode: Record = { + assist: 'Dengan Pendampingan', + 'non-assist': 'Tanpa Pendampingan', +} + +export const docTypeCode: Record = { + '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 = { + jkn: 'JKN', + jkmm: 'JKMM', + spm: 'SPM', + pks: 'PKS', + umum: 'Umum', +} + +export const sepRefTypCode: Record = { + internal: 'Rujukan Internal', + external: 'Faskes Lain', +} + +export const visitModeCode: Record = { + adm: 'Administrasi', + readm: 'Administrasi', + series: 'Tindakan', +} diff --git a/app/lib/org-const.ts b/app/lib/org-const.ts new file mode 100644 index 00000000..49f16e68 --- /dev/null +++ b/app/lib/org-const.ts @@ -0,0 +1,69 @@ +export type InfragroupCode = 'building' | 'floor' | 'warehouse' | 'room' | 'chamber' | 'bed' | 'counter' | 'public-screen' +export type ItemGroupCode = 'infra' | 'medicine' | 'device' | 'material' | 'employee-fee' | 'doctor-fee' +export type UnitTypeCode = 'reg' | 'exa' | 'pay' | 'pha' | 'lab' | 'rad' +export type ContractStatusCode = 'system' | 'employee' | 'intern' | 'other' +export type EmployeePositionCode = 'reg' | 'nur' | 'doc' | 'miw' | 'thr' | 'nut' | 'lab' | 'pha' | 'nom' +export type InternPositionCode = 'specialist' | 'nurse' | 'non-medic' +export type DoctorFeeTypeCodes = 'outpatient' | 'emergency' | 'inpatient' | 'medic-rehab' + +export const infragroupCodes: Record = { + building: 'Bangunan', + floor: 'Lantai', + warehouse: 'Gudang / Depo', + room: 'Ruang', + chamber: 'Kamar', + bed: 'Ranjang', + counter: 'Counter', + 'public-screen': 'Public Screen', +} + +export const itemGroupCodes: Record = { + infra: 'Infrastruktur', + medicine: 'Obat', + device: 'Peralatan', + material: 'Perlengkapan', + 'employee-fee': 'Gaji Karyawan', + 'doctor-fee': 'Gaji Dokter', +} + +export const unitTypeCodes: Record = { + reg: 'Registrasi', + exa: 'Pemeriksaan', + pay: 'Pembayaran', + pha: 'Farmasai', + lab: 'Laboratorium', + rad: 'Radiologi', +} + +export const contractStatusCodes: Record = { + system: 'Sistem', + employee: 'Pegawai', + intern: 'Magang', + other: 'Lainnya', +} + +export const employeePositionCodes: Record = { + reg: 'Admisi / Pendaftaran', + nur: 'Perawat', + doc: 'Dokter', + miw: 'Bidan', + thr: 'Terapis', + nut: 'Ahli Gisi', + lab: 'Laboran', + pha: 'Farmasi', + nom: 'Non Medis', +} + +export const internPositionCodes: Record = { + specialist: 'PPDS', + nurse: 'Perawat', + 'non-medic': 'Non Medis', +} + +export const doctorFeeTypeCodes: Record = { + outpatient: 'Rawat Jalan', + emergency: 'Darurat', + inpatient: 'Rawat Inap', + 'medic-rehab': 'Rehab Medik', +} + diff --git a/app/lib/person-const.ts b/app/lib/person-const.ts new file mode 100644 index 00000000..f4f18fdb --- /dev/null +++ b/app/lib/person-const.ts @@ -0,0 +1,80 @@ +export type GenderCode = 'male' | 'female' | 'not-stated' | 'unknown' +export type ReligionCode = 'islam' | 'protestan' | 'katolik' | 'hindu' | 'buda' | 'konghucu' +export type EducationCode = 'TS' | 'TK' | 'SD' | 'SMP' | 'SMA' | 'D1' | 'D2' | 'D3' | 'S1' | 'S2' | 'S3' +export type OccupationCode = 'tidak-bekerja' | 'pns' | 'polisi' | 'tni' | 'guru' | 'wiraswasta' | 'kary-swasta' | 'lainnya' +export type AddressLocationTypeCode = 'identity' | 'domicile' +export type PersonContactType = 'phone' | 'm-phone' | 'email' | 'fax' +export type RelationshipCode = 'mother' | 'father' | 'uncle' | 'aunt' | 'sibling' | 'gd-mother' | 'gd-father' | 'child' | 'nephew' | 'gd-child' | 'friend' | 'spouse' | 'self' | 'other' +export type MaritalStatus_Code = 'S' | 'M' | 'D' | 'W' + +export const genderCodes: Record = { + male: 'Laki', + female: 'Perempuan', + 'not-stated': 'Tidak Disebutkan', + unknown: 'Tidak Diketahui', +} + +export const religionCodes: Record = { + islam: 'Islam', + protestan: 'Protestan', + katolik: 'Katolik', + hindu: 'Hindu', + buda: 'Buda', + konghucu: 'Konghucu', +} + +export const educationCodes: Record = { + TS: 'TS', + TK: 'TK', + SD: 'SD', + SMP: 'SMP', + SMA: 'SMA', + D1: 'D1', + D2: 'D2', + D3: 'D3', + S1: 'S1', + S2: 'S2', + S3: 'S3', +} + +export const occupationCodes: Record = { + 'tidak-bekerja': 'Tidak Bekerja', + pns: 'Pegawai Negeri Sipil', + polisi: 'Polisi', + tni: 'TNI', + guru: 'Guru', + wiraswasta: 'Wiraswasta', + 'kary-swasta': 'Karyawan Swasta', + lainnya: 'Lainnya', +} + +export const personContactTypes: Record = { + phone: 'Telepon', + 'm-phone': 'HP / Ponsel', + email: 'Email', + fax: 'Fax', +} + +export const relationshipCodes: Record = { + mother: 'Ibu', + father: 'Ayah', + uncle: 'Paman', + aunt: 'Bibi', + sibling: 'Saudara', + 'gd-mother': 'Nenek', + 'gd-father': 'Kakek', + child: 'Anak', + nephew: 'Keponakan', + 'gd-child': 'Cucu', + friend: 'Teman', + spouse: 'Pasangan (Suami / Istri)', + self: 'Diri sendiri', + other: 'Lainnya', +} + +export const maritalStatusCodes: Record = { + S: 'Single (Belum Kawin)', + M: 'Married (Kawin)', + D: 'Divorced (Cerai Hidup)', + W: 'Widowed (Cerai Mati)', +}