package com.jasamedika.medifirst2000.service;

import java.util.List;
import java.util.Map;

import org.springframework.orm.jpa.JpaSystemException;

import com.jasamedika.medifirst2000.entities.SkoringTindakanMedis;
import com.jasamedika.medifirst2000.vo.SkoringTindakanMedisVO;

public interface SkoringTindakanMedisService
		extends BaseVoService<SkoringTindakanMedis, SkoringTindakanMedisVO, String> {

	List<Map<String, Object>> findAllEnabled(List<Integer> listIdKelompokKerja, String namaProduk, String detailProduk,
			Boolean statusVerifikasi) throws JpaSystemException;

	List<Map<String, Object>> findDaftarInputTindakanByRuanganKelas(Integer idRuangan) throws JpaSystemException;

	List<Map<String, Object>> findDuplicateSkoring(String namaProduk, Integer idKelompokKerja, Double skor,
			String detailProduk, Long tglMulaiBerlaku, String noRec) throws JpaSystemException;

	Map<String, Object> findAkses(Integer idPegawai) throws JpaSystemException;

	/**
	 * 
	 * @param listIdKelompokKerja
	 *            Daftar ID Kelompok Kerja
	 * @return Daftar tindakan belum ada skor
	 */
	public List<Map<String, Object>> findTindakanBelumAdaSkor(List<Integer> listIdKelompokKerja);

	/**
	 * @param idProduk
	 *            ID tindakan medis
	 * @param idKelompokKerja
	 *            ID kelompok kerja
	 * @return Deskripsi Tindakan medis : tarif, ruangan pemeriksaan, dan dokter
	 *         pemeriksa terakhir
	 */
	public Map<String, String> findDeskripsiSkoringTindakanMedis(Integer idProduk, Integer idKelompokKerja);

	/**
	 * @return Daftar tindakan logbook skor dokter
	 */
	List<Map<String, Object>> findTindakanLogbookSkor(String namaProduk);

}
