// 患者の基本データを取得する
// 来院情報と患者は ManyToOne の関係である
for (Iterator iter = result.iterator(); iter.hasNext(); ) {
PatientVisitModel pvt = (PatientVisitModel) iter.next();
PatientModel patient = pvt.getPatient();
// 健康保険はカルテオープン時に取得,病名数は addPvt で取得
// 患者の健康保険を取得する
//Collection insurances = em.createQuery("from HealthInsuranceModel h where h.patient.id = :pk")
//.setParameter("pk", patient.getId()).getResultList();
//patient.setHealthInsurances(insurances);
// トータルの病名数をセット
//pvt.setByomeiCount(getByomeiCount(patient.getId()));
// 今日の病名数をセット
//pvt.setByomeiCountToday(getByomeiCountToday(patient.getId()));
// 予約を検索する
if (searchAppo) {
List c = em.createQuery("from AppointmentModel a where a.date = :date "
+ "and a.karte.id = (select k.id from KarteBean k where k.patient.id = :pk)")
.setParameter("pk", patient.getId())
.setParameter("date", theDate)
.getResultList();
if (c != null && c.size() > 0) {
AppointmentModel appo = (AppointmentModel) c.get(0);
pvt.setAppointment(appo.getName());
}
}
}
//System.out.println("getPvt end at " + new Date());