· 9 years ago · Dec 21, 2016, 12:02 PM
1
2
3package gosi.business.socialinsurance.occupationalhazards.injury.session;
4
5import gosi.core.util.ServiceLocator;
6import gosi.core.util.GOSIDebug;
7import javax.ejb.SessionBean;
8import javax.ejb.SessionContext;
9import javax.ejb.EJBException;
10import java.rmi.RemoteException;
11import javax.naming.Context;
12import javax.naming.InitialContext;
13import javax.naming.NamingException;
14import java.sql.Connection;
15import java.sql.Date;
16import java.sql.PreparedStatement;
17import java.sql.ResultSet;
18import java.sql.SQLException;
19import java.io.Serializable;
20import gosi.core.util.GOSIInstrumentationLog;
21import gosi.business.socialinsurance.occupationalhazards.injury.beans.SFDABean;
22import gosi.business.socialinsurance.occupationalhazards.
23injury.beans.TreatmentServiceBean;
24import gosi.business.socialinsurance.occupationalhazards.
25injury.beans.InjuryPopDetails;
26import gosi.business.socialinsurance.occupationalhazards.
27injury.beans.TreatmentTypeBean;
28import gosi.business.socialinsurance.occupationalhazards.
29injury.beans.TreatmentPeriodBean;
30import gosi.business.socialinsurance.occupationalhazards.
31injury.beans.TreatmentQueryBean;
32import gosi.business.socialinsurance.occupationalhazards.
33injury.beans.TreatmentHeaderBean;
34import gosi.database.socialinsurance.occupationalhazards.
35injury.entity.TreatmentServiceDetailEntity;
36import gosi.database.socialinsurance.occupationalhazards.
37injury.entity.TreatmentServiceDetailEntityHome;
38import gosi.database.socialinsurance.occupationalhazards.
39injury.entity.TreatmentServiceHeaderEntity;
40import gosi.database.socialinsurance.occupationalhazards.
41injury.entity.TreatmentServiceHeaderEntityHome;
42import gosi.business.socialinsurance.occupationalhazards.injury.
43beans.HospitalListBean;
44import gosi.business.socialinsurance.occupationalhazards.injury.
45beans.OHPopSearchBean;
46import gosi.rules.socialinsurance.occupationalhazards.beans.OHRuleBean;
47import gosi.core.util.GOSIException;
48import gosi.core.util.GOSIUtilities;
49import gosi.core.util.GOSIConstants;
50import gosi.core.util.GOSIErrorMessages;
51import gosi.core.util.GOSIDateUtilities;
52import gosi.core.util.GOSILdapService;
53import gosi.core.util.GOSIApplicationProperties;
54import java.util.ArrayList;
55import java.util.Hashtable;
56import java.sql.Timestamp;
57import gosi.core.util.beans.NavigationBean;
58import gosi.business.socialinsurance.occupationalhazards.common.beans.
59OHUtilities;
60import gosi.business.socialinsurance.occupationalhazards.common.beans.
61OHConstants;
62import gosi.business.socialinsurance.common.beans.SITables;
63import javax.rmi.PortableRemoteObject;
64import gosi.core.util.beans.AuditBean;
65import java.util.HashMap;
66import gosi.core.workflow.beans.WorkflowParamBean;
67import gosi.business.socialinsurance.common.beans.PersonBean;
68import gosi.business.socialinsurance.common.beans.PersonUtilities;
69import gosi.business.socialinsurance.registration.engagement.
70beans.ContributorBean;
71import gosi.business.socialinsurance.registration.engagement.
72beans.ContributorUtilities;
73import gosi.business.socialinsurance.registration.
74establishment.beans.EstablishmentUtility;
75import gosi.business.socialinsurance.registration.
76establishment.beans.EstablishmentBean;
77import gosi.business.socialinsurance.occupationalhazards.
78injury.beans.CompanionBean;
79import gosi.core.dms.beans.DMSRequestHeaderBean;
80import gosi.core.dms.beans.DMSConstants;
81import gosi.core.dms.util.DMSUtilities;
82import gosi.business.socialinsurance.occupationalhazards.
83injury.beans.TreatmentServiceBean;
84
85import gosi.business.socialinsurance.occupationalhazards.injury.beans.TrtmServiceHeaderBean;
86import gosi.business.socialinsurance.occupationalhazards.injury.beans.TrtmServiceDetailBean;
87import gosi.business.socialinsurance.occupationalhazards.injury.beans.TrtmServiceBean;
88import gosi.business.socialinsurance.occupationalhazards.medicalboard.beans.OHDAssessmentHeaderBean;
89import gosi.database.socialinsurance.occupationalhazards.injury.
90entity.TrtmServiceListEntityHome;
91import gosi.database.socialinsurance.occupationalhazards.injury.
92entity.TrtmServiceListEntity;
93import gosi.database.socialinsurance.occupationalhazards.injury.
94entity.TrtmServiceListHistoryEntityHome;
95import gosi.database.socialinsurance.occupationalhazards.injury.
96entity.TrtmServiceListHistoryEntity;
97
98import java.io.File;
99import java.io.BufferedInputStream;
100import java.io.DataInputStream;
101import java.io.FileInputStream;
102import java.io.FileNotFoundException;
103import java.io.IOException;
104import jxl.Cell;
105import jxl.CellType;
106import jxl.Sheet;
107import jxl.Workbook;
108import jxl.read.biff.BiffException;
109
110
111/**
112 *
113 * @stereotype SessionBean
114 * @homeInterface gosi.business.socialinsurance.occupationalhazards.injury.session.MaintainTreatmentServiceSessionHome
115 * @remoteInterface gosi.business.socialinsurance.occupationalhazards.injury.session.MaintainTreatmentServiceSession
116 */
117
118
119public class MaintainTreatmentServiceSessionEJB implements
120SessionBean
121{
122
123 private Connection con = null;
124 private ResultSet rs = null;
125 private PreparedStatement p = null;
126 private SessionContext ctx;
127
128 /* This method is used to get the injury details */
129 /**
130 * @METHOD NAME : searchInjuryList
131 * @INFORMATION : This method is to search Injury List
132 * @PARAM : class gosi.business.socialinsurance.occupationalhazards.injury.beans.InjuryPopDetails
133 * @RETURN : class java.util.ArrayList
134 * @EXCEPTION : class gosi.core.util.GOSIException
135 * @LAST MODIFIED BY :
136 * @LAST MODIFIED DATE :
137 **/
138 public ArrayList searchInjuryList
139 (InjuryPopDetails searchInjuryBean)
140 throws GOSIException
141 {
142 int injuryListSize = 0;
143 long timeCounter = 0;
144 long establishmentId = 0;
145 Timestamp injuryDate = null;
146 StringBuffer sbQuery = new StringBuffer();
147 String contributorName = "";
148 ArrayList injuryListTemp = new ArrayList();
149 ArrayList injuryList = new ArrayList();
150
151 try
152 {
153 GOSIDebug.debugMessages("inside the Function searchInjury");
154 Long socInsNum = searchInjuryBean.getSocialInsuranceNumber();
155
156 String entryFormat = searchInjuryBean.getInjuryDateEntFmt();
157 Short fieldOffice = searchInjuryBean.getFieldOffice();
158 GOSIDebug.debugMessages("fieldOffice in search &&&" +
159 fieldOffice);
160
161 timeCounter = System.currentTimeMillis();
162
163 if(OHConstants.HIJRAH.equals(searchInjuryBean.
164 getInjuryDateEntFmt()))
165 {
166 injuryDate = GOSIUtilities.getTimestamp
167 (GOSIDateUtilities.convertToGregorian
168 (searchInjuryBean.getInjuryDateStr()));
169 }
170 else
171 {
172 injuryDate = GOSIUtilities.getTimestamp(
173 searchInjuryBean.getInjuryDateStr());
174 }
175 searchInjuryBean.setInjuryDate(injuryDate);
176 GOSIDebug.debugMessages("SIN:"+socInsNum+"\n InjuryDate:"+
177 injuryDate);
178 /*
179
180 sbQuery = sbQuery.delete(0,sbQuery.length());
181 sbQuery.append(" SELECT A.INJURYID,A.SOCINSNUMBER, " );
182 sbQuery.append(" B.REGISTRATIONNUMBER,A.INJURYDATE, " );
183 sbQuery.append(" A.DATECOMPLICATION,A.INJURYNUMBER,A.DESCRIPTION, ");
184 sbQuery.append(" D.FIRSTNAME || ' ' || " );
185 sbQuery.append(" NVL(D.SECONDNAME,'')|| ' ' || ");
186 sbQuery.append(" NVL(D.THIRDNAME,'')||' ' || " );
187 sbQuery.append(" NVL(D.SURNAME,'') NAME,D.NAMEENGLISH, " );
188 sbQuery.append(" D.NATIONALITYCODE, ");
189 sbQuery.append(" A.CONTRIBUTORID, " );
190 sbQuery.append(" A.establishmentid FROM ");
191 sbQuery.append( SITables.T_INJURY + " A , " );
192 sbQuery.append( SITables.T_ESTABLISHMENT + " B, ");
193 sbQuery.append( SITables.T_CONTRIBUTOR + " C, ");
194 sbQuery.append( SITables.T_PERSON + " D WHERE ");
195 sbQuery.append(" A.ESTABLISHMENTID = B.ESTABLISHMENTID " );
196 sbQuery.append(" AND A.CONTRIBUTORID = C.CONTRIBUTORID ");
197 sbQuery.append(" AND C.PERSONID = D.PERSONID " );
198 sbQuery.append(" AND A.INJURYSTATUS NOT IN ( ? , ? ) " );
199 sbQuery.append(" AND A.INJURYDATE = ? ");
200 sbQuery.append(" AND A.SOCINSNUMBER = ? " );
201 */
202
203 sbQuery = sbQuery.delete(0,sbQuery.length());
204 sbQuery.append(" SELECT A.INJURYID,A.SOCINSNUMBER, " );
205 sbQuery.append(" A.INJURYDATE, " );
206 sbQuery.append(" A.DATECOMPLICATION,A.INJURYNUMBER,A.DESCRIPTION, ");
207 sbQuery.append(" A.CONTRIBUTORID, " );
208 sbQuery.append(" A.ESTABLISHMENTID FROM ");
209 sbQuery.append( SITables.T_INJURY + " A " );
210 sbQuery.append(" WHERE ");
211 sbQuery.append(" A.INJURYSTATUS != ? " );
212 sbQuery.append(" AND A.INJURYDATE = ? ");
213 sbQuery.append(" AND A.SOCINSNUMBER = ? " );
214
215 GOSIDebug.debugMessages("sqlQuery " +sbQuery);
216
217 con = GOSIUtilities.getConnection(GOSIConstants.
218 OCCUPATIONAL_HAZARDS_ID);
219
220
221 p = con.prepareStatement(sbQuery.toString());
222 int k =0;
223 //p.setShort(1,OHConstants.INJ_STS_REJECTED.shortValue());
224 p.setShort(++k,OHConstants.INJ_STS_CANCELLED.shortValue());
225 p.setTimestamp(++k,injuryDate);
226 p.setLong(++k,socInsNum.longValue());
227
228
229 rs = p.executeQuery();
230 while(rs.next())
231 {
232 GOSIDebug.debugMessages("SearchInjury Has Records");
233 InjuryPopDetails injuryDetails = new InjuryPopDetails();
234 injuryDetails.setInjuryID(new Long(rs.getLong("INJURYID")));
235 injuryDetails.setSocialInsuranceNumber
236 (new Long(rs.getLong("SOCINSNUMBER")));
237 injuryDetails.setInjuryDate(rs.getTimestamp("INJURYDATE"));
238 injuryDetails.setInjuryDateStr(OHUtilities.getDateStr(
239 injuryDetails.getInjuryDate(),entryFormat));
240 injuryDetails.setInjuryNumber
241 (new Long(rs.getLong("INJURYNUMBER")));
242 if(rs.getObject("DATECOMPLICATION")!=null)
243 {
244 injuryDetails.setComplicationDate
245 (rs.getTimestamp("DATECOMPLICATION"));
246 injuryDetails.setComplicationDateStr(OHUtilities.getDateStr
247 (injuryDetails.getComplicationDate(),entryFormat));
248 }
249 injuryDetails.setDescription(rs.getString("DESCRIPTION"));
250 //injuryDetails.setName(rs.getString("NAME"));
251 //injuryDetails.setNationality(new Short
252 // (rs.getShort("NATIONALITYCODE")));
253 //injuryDetails.setFieldOffice(new Short
254 //(rs.getShort("FIELDOFFICECODE")));
255 injuryDetails.setFieldOffice
256 (fieldOffice);
257 injuryDetails.setInjuryDateEntFmt(entryFormat);
258 injuryDetails.setContributorId(
259 new Long(rs.getLong("CONTRIBUTORID")));
260 establishmentId = rs.getLong("ESTABLISHMENTID");
261 GOSIDebug.debugMessages("est id *" + establishmentId );
262
263 ContributorBean oContributorBean =
264 new ContributorBean();
265 oContributorBean = ContributorUtilities.
266 displayContributor(injuryDetails.getContributorId());
267 GOSIDebug.debugMessages("PersonId::"+oContributorBean.
268 getPersonId());
269 PersonBean oPersonBean = new PersonBean();
270 oPersonBean = PersonUtilities.
271 displayPerson(oContributorBean.getPersonId());
272 GOSIDebug.debugMessages("first name" +
273 oPersonBean.getFirstName());
274 GOSIDebug.debugMessages("first name" +
275 oPersonBean.getFirstName());
276 GOSIDebug.debugMessages("second name" +
277 oPersonBean.getSecondName());
278 GOSIDebug.debugMessages("third name" +
279 oPersonBean.getThirdName());
280 GOSIDebug.debugMessages("surname" +
281 oPersonBean.getSurName());
282 GOSIDebug.debugMessages("name english" +
283 oPersonBean.getNameEnglish());
284 contributorName = oPersonBean.getFirstName();
285 if(oPersonBean.getSecondName() != null)
286 {
287 contributorName += " " + oPersonBean.getSecondName();
288 }
289 if(oPersonBean.getThirdName() != null)
290 {
291 contributorName += " " + oPersonBean.getThirdName();
292 }
293 if(oPersonBean.getSurName() != null)
294 {
295 contributorName += " " + oPersonBean.getSurName();
296 }
297 GOSIDebug.debugMessages("contributor Name ^^^" +
298 contributorName);
299
300 injuryDetails.setName(contributorName);
301 injuryDetails.setContributorNameEnglish(oPersonBean.getNameEnglish());
302
303 if(oPersonBean.getNationalityCode() != null)
304 {
305 injuryDetails.setNationality
306 (oPersonBean.getNationalityCode());
307 }
308 GOSIDebug.debugMessages("nationality code ^^^" +
309 oPersonBean.getNationalityCode());
310
311 EstablishmentBean oEstablishmentBean =
312 new EstablishmentBean();
313
314 EstablishmentUtility oEstablishmentUtility =
315 new EstablishmentUtility();
316
317 oEstablishmentBean = oEstablishmentUtility.
318 getEstablishmentDetails(establishmentId,
319 false,true);
320
321 GOSIDebug.debugMessages("reg no" + oEstablishmentBean.
322 getRegistrationNumber());
323 if(oEstablishmentBean != null)
324 {
325 injuryDetails.setRegistrationNumber
326 (oEstablishmentBean.
327 getRegistrationNumber());
328 }
329 injuryListTemp.add(injuryDetails);
330
331 }
332 GOSIUtilities.cleanUp(rs);
333
334 GOSIDebug.debugMessages("Records in InjuryList:"+
335 injuryListTemp.size());
336
337 sbQuery = sbQuery.delete(0,sbQuery.length());
338
339
340 if(injuryListTemp != null)
341 {
342 injuryListSize = injuryListTemp.size();
343 }
344 if(injuryListSize > 1)
345 {
346 for(int j = 0;j < injuryListSize;j++)
347 {
348 InjuryPopDetails injuryDetails = null;
349 injuryDetails = (InjuryPopDetails)
350 injuryListTemp.get(j);
351 injuryList.add(injuryDetails);
352 }
353 }
354 if(injuryListSize == 1)
355 {
356 InjuryPopDetails injuryDetails = null;
357 injuryDetails = (InjuryPopDetails)
358 injuryListTemp.get(0);
359 GOSIDebug.debugMessages("field office in sess" +
360 injuryDetails.getFieldOffice());
361
362 if(isSingleHospitalPresent(
363 con,injuryDetails.getInjuryID(),
364 injuryDetails.getFieldOffice()))
365 {
366
367 /*
368 sbQuery.append(" SELECT HOSP.HOSPITALCODE, ");
369 sbQuery.append(" HOSP.HOSPITALNAME, ");
370 sbQuery.append(" TRMT.PATIENTNUMBER FROM ");
371// sbQuery.append(" HOSP.HOSPITALNAMEENG FROM ");
372 sbQuery.append( SITables.T_HOSPITALCONTRACT + " HOSP, " );
373 sbQuery.append( SITables.T_TREATMENT );
374 sbQuery.append(" TRMT WHERE ");
375 sbQuery.append(" HOSP.HOSPITALCODE = ");
376 sbQuery.append(" TRMT.HOSPITALCODE ");
377 sbQuery.append(" AND HOSP.FIELDOFFICECODE " );
378 */
379
380 sbQuery.append(" SELECT DISTINCT HOSP.HOSPITALCODE, ");
381 sbQuery.append(" HOSP.HOSPITALNAMEARB, ");
382 sbQuery.append(" TRMT.PATIENTNUMBER , ");
383 sbQuery.append(" HOSP.HOSPITALNAMEENG FROM ");
384 sbQuery.append( SITables.T_HOSPITAL + " HOSP, " );
385 sbQuery.append( SITables.T_HOSPITALFOASSOCIATION + " HFO, " );
386 sbQuery.append( SITables.T_TREATMENT );
387 sbQuery.append(" TRMT WHERE ");
388 sbQuery.append(" HOSP.HOSPITALCODE = ");
389 sbQuery.append(" TRMT.HOSPITALCODE ");
390 sbQuery.append(" AND HOSP.HOSPITALCODE = ");
391 sbQuery.append(" HFO.HOSPITALCODE ");
392 sbQuery.append(" AND HFO.FIELDOFFICECODE " );
393 sbQuery.append(" = ? ");
394 sbQuery.append(" AND HOSP.HOSPITALTYPE = ? ");
395 sbQuery.append(" AND TRMT.TREATMENTSTATUS IN ( ?,? ) ");
396 sbQuery.append(" AND TRMT.INJURYID = ? " );
397
398 GOSIDebug.debugMessages("Query: \n"+sbQuery.toString());
399 p = con.prepareStatement(sbQuery.toString());
400
401 p.setShort
402 (1,injuryDetails.getFieldOffice().shortValue());
403 p.setShort
404 (2,OHConstants.REG_HOSPITAL.shortValue());
405 p.setShort(3,
406 OHConstants.TRMT_STS_ENTERED.shortValue());
407 p.setShort(4,
408 OHConstants.TRMT_STS_APPROVED.shortValue());
409 p.setLong(5,injuryDetails.getInjuryID()
410 .longValue());
411
412 GOSIDebug.debugMessages("sbQuery" + sbQuery);
413
414 rs = p.executeQuery();
415
416 if(rs.next())
417 {
418 injuryDetails.setHospitalCode
419 (new Long(rs.getLong("HOSPITALCODE")));
420 injuryDetails.setPatientNumber
421 (rs.getString("PATIENTNUMBER"));
422
423 injuryDetails.setHospitalNameEng(rs.getString("HOSPITALNAMEENG"));
424 injuryDetails.setHospitalNameArb(rs.getString("HOSPITALNAMEARB"));
425 //injuryDetails.setHospitalNameArb(rs.getString("HOSPITALNAME"));
426
427 }
428 GOSIUtilities.cleanUp(rs);
429 }
430 injuryList.add(injuryDetails);
431
432 }
433
434 sbQuery = sbQuery.delete(0,sbQuery.length());
435 }
436 catch (GOSIException ge)
437 {
438 throw ge;
439 }
440 catch(Exception e)
441 {
442 GOSIDebug.debugMessages("Exception inside PopInjury :"+e);
443 throw new GOSIException( GOSIConstants.SEVERITY_ONE,
444 GOSIConstants.SOCIAL_INSURANCE,
445 this.getClass().toString(),
446 "searchInjuryList()",e,"CMN_ERR_1000");
447
448 }
449 finally
450 {
451 GOSIUtilities.cleanUp(con, p, rs);
452 }
453
454 GOSIInstrumentationLog.writeInstrumentationToLog(
455 this.getClass().toString(),
456 "searchInjuryList()",
457 (System.currentTimeMillis() - timeCounter));
458
459 return injuryList ;
460 }
461
462/* This method is used to save treatment service */
463 /**
464 * @METHOD NAME : getTrtmServicesListByHospital
465 * @INFORMATION : This method is to get Treatment Services list
466 * @PARAM : class java.util.Long,
467 * @RETURN : class java.lang.ArrayList
468 * @EXCEPTION : class gosi.core.util.GOSIException
469 * @LAST MODIFIED BY :
470 * @LAST MODIFIED DATE :
471 **/
472 public HashMap getTrtmServicesListByHospital(Long hospitalCode)
473 throws GOSIException
474 {
475
476 String userName=null;
477 Long primarykeyHeader =null;
478 HashMap hospitalTreatmentListStock = null;
479 TrtmServiceBean objTrtmServiceBean = null;
480
481 Exception ex = null;
482 con = null;
483 PreparedStatement ps = null;
484 ResultSet rs = null;
485
486 String masterQuery = null;
487 String message = "";
488
489 masterQuery = new StringBuffer("Select ").
490 append("TRTMSERVICELISTID, ").
491 append("HOSPITALCODE, ").
492 append("TREATMENTCODE,TREATMENTDESCENG, ").
493 append("TREATMENTDESCARB, MEDCATEGORY, ").
494 append("PRICE, NEEDSAPPROVAL, ISNONDISCOUNT , ").
495 append("CREATEDBY, CREATIONTIMESTAMP, ").
496 append("LASTMODIFIEDBY, LASTMODIFIEDTIMESTAMP, ").
497 append("STATUS, DOCTORCOMMENTS from ").
498 append(SITables.T_TRTMSERVICELIST).
499 append(" where HOSPITALCODE = ? ").
500 toString();
501
502 try
503 {
504 con = GOSIUtilities.getConnection(GOSIConstants.OCCUPATIONAL_HAZARDS_ID);
505
506 // Load from the data base
507 ps = con.prepareStatement(masterQuery);
508 ps.setLong(1, hospitalCode);
509 rs = ps.executeQuery();
510 if(rs.next())
511 {
512 hospitalTreatmentListStock = new HashMap();
513 do
514 {
515
516 objTrtmServiceBean = new TrtmServiceBean();
517 objTrtmServiceBean.setTrtmServiceListId(
518 rs.getLong("TRTMSERVICELISTID"));
519 objTrtmServiceBean.setTreatmentCode(
520 rs.getString("TREATMENTCODE"));
521 objTrtmServiceBean.setHospitalCode(
522 rs.getLong("HOSPITALCODE"));
523 objTrtmServiceBean.setTreatmentDescEng(
524 rs.getString("TREATMENTDESCENG"));
525 objTrtmServiceBean.setTreatmentDescArb(
526 rs.getString("TREATMENTDESCARB"));
527 objTrtmServiceBean.setMedCategory(
528 rs.getString("MEDCATEGORY"));
529 objTrtmServiceBean.setPrice(
530 rs.getDouble("PRICE"));
531 objTrtmServiceBean.setNeedsApproval(
532 rs.getShort("NEEDSAPPROVAL"));
533 objTrtmServiceBean.setIsNonDiscount(
534 rs.getByte("ISNONDISCOUNT"));
535 objTrtmServiceBean.setCreatedBy(
536 rs.getLong("CREATEDBY"));
537 objTrtmServiceBean.setCreationTimestamp(
538 rs.getTimestamp("CREATIONTIMESTAMP"));
539 objTrtmServiceBean.setLastModifiedBy(
540 rs.getLong("LASTMODIFIEDBY"));
541 objTrtmServiceBean.setLastModifiedTimestamp(
542 rs.getTimestamp("LASTMODIFIEDTIMESTAMP"));
543 objTrtmServiceBean.setStatus(
544 rs.getShort("STATUS"));
545 objTrtmServiceBean.setDoctorComments(
546 rs.getString("DOCTORCOMMENTS"));
547
548 hospitalTreatmentListStock.put(objTrtmServiceBean.getTreatmentCode().toString(),objTrtmServiceBean);
549 }while(rs.next());
550 }
551
552 }
553 catch(GOSIException ge)
554 {
555 GOSIDebug.debugMessages("The error in getTrtmServicesListByHospital is:"+ge);
556 ctx.setRollbackOnly();
557 throw ge;
558 }
559 catch(Exception se)
560 {
561 GOSIDebug.debugMessages("The error in getTrtmServicesListByHospital is:"+se);
562 ctx.setRollbackOnly();
563 se.printStackTrace();
564
565 throw new GOSIException(GOSIConstants.SEVERITY_ONE,
566 GOSIConstants.SOCIAL_INSURANCE,
567 this.getClass().toString(),
568 "getTrtmServicesListByHospital()",
569 se,"CMN_ERR_1000" );
570 }
571 return hospitalTreatmentListStock;
572
573
574 }
575/* This method is used to save treatment service */
576 /**
577 * @METHOD NAME : getTrtmServicesListByHospital
578 * @INFORMATION : This method is to get Treatment Services list
579 * @PARAM : class java.util.Long,
580 * @RETURN : class java.lang.ArrayList
581 * @EXCEPTION : class gosi.core.util.GOSIException
582 * @LAST MODIFIED BY :
583 * @LAST MODIFIED DATE :
584 **/
585 private HashMap getTrtmServicesDescArbAndEngListByHospital(Long hospitalCode)
586 throws GOSIException
587 {
588
589 String userName=null;
590 Long primarykeyHeader =null;
591 HashMap result = null;
592 HashMap hospitalTreatmentDescArb= null;
593 HashMap hospitalTreatmentDescEng= null;
594 TrtmServiceBean objTrtmServiceBean = null;
595
596 Exception ex = null;
597 con = null;
598 PreparedStatement ps = null;
599 ResultSet rs = null;
600
601 String masterQuery = null;
602 String message = "";
603
604 masterQuery = new StringBuffer("Select ").
605 append("TRTMSERVICELISTID, ").
606 append("HOSPITALCODE, ").
607 append("TREATMENTCODE,TREATMENTDESCENG, ").
608 append("TREATMENTDESCARB, MEDCATEGORY, ").
609 append("PRICE, NEEDSAPPROVAL, ISNONDISCOUNT , ").
610 append("CREATEDBY, CREATIONTIMESTAMP, ").
611 append("LASTMODIFIEDBY, LASTMODIFIEDTIMESTAMP, ").
612 append("STATUS, DOCTORCOMMENTS from ").
613 append(SITables.T_TRTMSERVICELIST).
614 append(" where HOSPITALCODE = ? ").
615 toString();
616
617 try
618 {
619 con = GOSIUtilities.getConnection(GOSIConstants.OCCUPATIONAL_HAZARDS_ID);
620
621 // Load from the data base
622 ps = con.prepareStatement(masterQuery);
623 ps.setLong(1, hospitalCode);
624 rs = ps.executeQuery();
625 if(rs.next())
626 {
627 result = new HashMap();
628 hospitalTreatmentDescArb = new HashMap();
629 hospitalTreatmentDescEng = new HashMap();
630 do
631 {
632
633 objTrtmServiceBean = new TrtmServiceBean();
634 objTrtmServiceBean.setTrtmServiceListId(
635 rs.getLong("TRTMSERVICELISTID"));
636 objTrtmServiceBean.setTreatmentCode(
637 rs.getString("TREATMENTCODE"));
638 objTrtmServiceBean.setHospitalCode(
639 rs.getLong("HOSPITALCODE"));
640 objTrtmServiceBean.setTreatmentDescEng(
641 rs.getString("TREATMENTDESCENG"));
642 objTrtmServiceBean.setTreatmentDescArb(
643 rs.getString("TREATMENTDESCARB"));
644 objTrtmServiceBean.setMedCategory(
645 rs.getString("MEDCATEGORY"));
646 objTrtmServiceBean.setPrice(
647 rs.getDouble("PRICE"));
648 objTrtmServiceBean.setNeedsApproval(
649 rs.getShort("NEEDSAPPROVAL"));
650 objTrtmServiceBean.setIsNonDiscount(
651 rs.getByte("ISNONDISCOUNT"));
652 objTrtmServiceBean.setCreatedBy(
653 rs.getLong("CREATEDBY"));
654 objTrtmServiceBean.setCreationTimestamp(
655 rs.getTimestamp("CREATIONTIMESTAMP"));
656 objTrtmServiceBean.setLastModifiedBy(
657 rs.getLong("LASTMODIFIEDBY"));
658 objTrtmServiceBean.setLastModifiedTimestamp(
659 rs.getTimestamp("LASTMODIFIEDTIMESTAMP"));
660 objTrtmServiceBean.setStatus(
661 rs.getShort("STATUS"));
662 objTrtmServiceBean.setDoctorComments(
663 rs.getString("DOCTORCOMMENTS"));
664
665 hospitalTreatmentDescArb.put(objTrtmServiceBean.getTreatmentDescArb().toString(),objTrtmServiceBean);
666 hospitalTreatmentDescEng.put(objTrtmServiceBean.getTreatmentDescEng().toString(),objTrtmServiceBean);
667 }while(rs.next());
668 result.put("hospitalTreatmentDescArb", hospitalTreatmentDescArb);
669 result.put("hospitalTreatmentDescEng", hospitalTreatmentDescEng);
670 }
671
672 }
673 catch(GOSIException ge)
674 {
675 GOSIDebug.debugMessages("The error in getTrtmServicesListByHospital is:"+ge);
676 ctx.setRollbackOnly();
677 throw ge;
678 }
679 catch(Exception se)
680 {
681 GOSIDebug.debugMessages("The error in getTrtmServicesListByHospital is:"+se);
682 ctx.setRollbackOnly();
683 se.printStackTrace();
684
685 throw new GOSIException(GOSIConstants.SEVERITY_ONE,
686 GOSIConstants.SOCIAL_INSURANCE,
687 this.getClass().toString(),
688 "getTrtmServicesListByHospital()",
689 se,"CMN_ERR_1000" );
690 }
691 return result;
692
693
694 }
695
696 /**
697 * @METHOD NAME : getTrtmServiceDetail
698 * @INFORMATION : This method is to get Treatment Service Detail
699 * @PARAM : class java.lang.Long,
700 class java.lang.String
701 * @RETURN : class gosi.business.socialinsurance.occupationalhazards.injury.beans.TrtmServiceBean
702 * @EXCEPTION : class gosi.core.util.GOSIException
703 * @LAST MODIFIED BY :
704 * @LAST MODIFIED DATE :
705 **/
706 public TrtmServiceBean getTrtmServiceDetail(Long hospitalCode, String trtmCode)
707 throws GOSIException
708 {
709
710 String userName=null;
711 Long primarykeyHeader =null;
712 TrtmServiceBean objTrtmServiceBean = null;
713
714 Exception ex = null;
715 con = null;
716 PreparedStatement ps = null;
717 ResultSet rs = null;
718
719 String masterQuery = null;
720 String message = "";
721
722 masterQuery = new StringBuffer("Select ").
723 append("TRTMSERVICELISTID, ").
724 append("HOSPITALCODE, ").
725 append("TREATMENTCODE,TREATMENTDESCENG, ").
726 append("TREATMENTDESCARB, MEDCATEGORY, ").
727 append("PRICE, NEEDSAPPROVAL, ISNONDISCOUNT , ").
728 append("CREATEDBY, CREATIONTIMESTAMP, ").
729 append("LASTMODIFIEDBY, LASTMODIFIEDTIMESTAMP, ").
730 append("STATUS, DOCTORCOMMENTS from ").
731 append(SITables.T_TRTMSERVICELIST).
732 append(" where HOSPITALCODE = ? AND TREATMENTCODE = ? ").
733 toString();
734
735 try
736 {
737 con = GOSIUtilities.getConnection(GOSIConstants.OCCUPATIONAL_HAZARDS_ID);
738
739 // Load from the data base
740 ps = con.prepareStatement(masterQuery);
741 ps.setLong(1, hospitalCode);
742 ps.setString(2, trtmCode);
743 rs = ps.executeQuery();
744 if(rs.next())
745 {
746 objTrtmServiceBean = new TrtmServiceBean();
747 objTrtmServiceBean.setTrtmServiceListId(
748 rs.getLong("TRTMSERVICELISTID"));
749 objTrtmServiceBean.setTreatmentCode(
750 rs.getString("TREATMENTCODE"));
751 objTrtmServiceBean.setHospitalCode(
752 rs.getLong("HOSPITALCODE"));
753 objTrtmServiceBean.setTreatmentDescEng(
754 rs.getString("TREATMENTDESCENG"));
755 objTrtmServiceBean.setTreatmentDescArb(
756 rs.getString("TREATMENTDESCARB"));
757 objTrtmServiceBean.setMedCategory(
758 rs.getString("MEDCATEGORY"));
759 objTrtmServiceBean.setPrice(
760 rs.getDouble("PRICE"));
761 objTrtmServiceBean.setNeedsApproval(
762 rs.getShort("NEEDSAPPROVAL"));
763 objTrtmServiceBean.setIsNonDiscount(
764 rs.getByte("ISNONDISCOUNT"));
765 objTrtmServiceBean.setCreatedBy(
766 rs.getLong("CREATEDBY"));
767 objTrtmServiceBean.setCreationTimestamp(
768 rs.getTimestamp("CREATIONTIMESTAMP"));
769 objTrtmServiceBean.setLastModifiedBy(
770 rs.getLong("LASTMODIFIEDBY"));
771 objTrtmServiceBean.setLastModifiedTimestamp(
772 rs.getTimestamp("LASTMODIFIEDTIMESTAMP"));
773 objTrtmServiceBean.setStatus(
774 rs.getShort("STATUS"));
775 objTrtmServiceBean.setDoctorComments(
776 rs.getString("DOCTORCOMMENTS"));
777
778 }
779
780 }
781 catch(GOSIException ge)
782 {
783 GOSIDebug.debugMessages("The error in getTrtmServiceDetail is:"+ge);
784 ctx.setRollbackOnly();
785 throw ge;
786 }
787 catch(Exception se)
788 {
789 GOSIDebug.debugMessages("The error in getTrtmServiceDetail is:"+se);
790 ctx.setRollbackOnly();
791 se.printStackTrace();
792
793 throw new GOSIException(GOSIConstants.SEVERITY_ONE,
794 GOSIConstants.SOCIAL_INSURANCE,
795 this.getClass().toString(),
796 "getTrtmServiceDetail()",
797 se,"CMN_ERR_1000" );
798 }
799 return objTrtmServiceBean;
800
801
802 }
803
804 /* This method is used to save treatment service */
805 /**
806 * @METHOD NAME : getPendingTrtmServicesDetailsByHospital
807 * @INFORMATION : This method is to get pending Treatment Services details
808 * @PARAM : class java.util.Long,
809 class java.util.Long,
810 * @RETURN : class java.lang.ArrayList
811 * @EXCEPTION : class gosi.core.util.GOSIException
812 * @LAST MODIFIED BY :
813 * @LAST MODIFIED DATE :
814 **/
815 public HashMap getPendingTrtmServicesDetailsByHospital(Long hospitalCode,Long workflowId)
816 throws GOSIException
817 {
818
819 String userName=null;
820 Long primarykeyHeader =null;
821 HashMap hospitalPendingTreatmentDetails = null;
822 HashMap hospitalPendingTreatmentDescArb= null;
823 HashMap hospitalPendingTreatmentDescEng= null;
824 HashMap result= null;
825 TrtmServiceBean objTrtmServiceBean = null;
826
827 Exception ex = null;
828 con = null;
829 PreparedStatement ps = null;
830 ResultSet rs = null;
831
832 String masterQuery = null;
833 String message = "";
834
835
836 masterQuery = new StringBuffer("Select ").
837 append("D.HOSPITALCODE, ").
838 append("D.TREATMENTCODE,D.TREATMENTDESCENG, ").
839 append("D.TREATMENTDESCARB, D.MEDCATEGORY, ").
840 append("D.PRICE, D.NEEDSAPPROVAL, ISNONDISCOUNT , ").
841 append("D.STATUS, D.DOCTORCOMMENTS from ").
842 append(SITables.T_TRTMSERVICELISTDETAIL).append(" D, ").
843 append(SITables.T_TRTMSERVICELISTHEADER).append(" H ").
844 append(" where D.HOSPITALCODE = ? AND ").
845 append(" D.WORKFLOWID = H.WORKFLOWID AND ").
846 append(" H.WORKFLOWSTATUS NOT IN(?,?) AND ").
847 append(" H.WORKFLOWID != ? AND ").
848 append(" H.TRANSACTIONTYPE in (? , ?) ").
849 toString();
850
851 try
852 {
853 con = GOSIUtilities.getConnection(GOSIConstants.OCCUPATIONAL_HAZARDS_ID);
854
855 // Load from the data base
856 ps = con.prepareStatement(masterQuery);
857 ps.setLong(1, hospitalCode);
858 ps.setShort(2, OHConstants.WFS_TRTM_SRVC_LIST_HDR_APPROVED_FO_DIR);
859 ps.setShort(3, OHConstants.WFS_TRTM_SRVC_LIST_HDR_CANCELLED);
860 ps.setLong(4, workflowId);
861 ps.setShort(5, OHConstants.TRTM_TYPE_NEW);
862 ps.setShort(6, OHConstants.TRTM_TYPE_MODIFY);
863 rs = ps.executeQuery();
864 if(rs.next())
865 {
866 hospitalPendingTreatmentDetails = new HashMap();
867 hospitalPendingTreatmentDescArb= new HashMap();
868 hospitalPendingTreatmentDescEng= new HashMap();
869 result=new HashMap();
870
871 do
872 {
873
874 objTrtmServiceBean = new TrtmServiceBean();
875 objTrtmServiceBean.setTreatmentCode(
876 rs.getString("TREATMENTCODE"));
877 objTrtmServiceBean.setHospitalCode(
878 rs.getLong("HOSPITALCODE"));
879 objTrtmServiceBean.setTreatmentDescEng(
880 rs.getString("TREATMENTDESCENG"));
881 objTrtmServiceBean.setTreatmentDescArb(
882 rs.getString("TREATMENTDESCARB"));
883 objTrtmServiceBean.setMedCategory(
884 rs.getString("MEDCATEGORY"));
885 objTrtmServiceBean.setPrice(
886 rs.getDouble("PRICE"));
887 objTrtmServiceBean.setNeedsApproval(
888 rs.getShort("NEEDSAPPROVAL"));
889 objTrtmServiceBean.setIsNonDiscount(
890 rs.getByte("ISNONDISCOUNT"));
891 objTrtmServiceBean.setStatus(
892 rs.getShort("STATUS"));
893 objTrtmServiceBean.setDoctorComments(
894 rs.getString("DOCTORCOMMENTS"));
895 hospitalPendingTreatmentDetails.put(objTrtmServiceBean.getTreatmentCode().toString(),objTrtmServiceBean);
896 hospitalPendingTreatmentDescArb.put(objTrtmServiceBean.getTreatmentDescArb().toLowerCase(),objTrtmServiceBean);
897 hospitalPendingTreatmentDescEng.put(objTrtmServiceBean.getTreatmentDescEng().toLowerCase(),objTrtmServiceBean);
898
899 }while(rs.next());
900 result.put("hospitalPendingTreatmentDetails", hospitalPendingTreatmentDetails);
901 result.put("hospitalPendingTreatmentDescArb", hospitalPendingTreatmentDescArb);
902 result.put("hospitalPendingTreatmentDescEng", hospitalPendingTreatmentDescEng);
903 }
904
905 }
906 catch(GOSIException ge)
907 {
908 GOSIDebug.debugMessages("The error in getPendingTrtmServicesDetailsByHospital is:"+ge);
909 ctx.setRollbackOnly();
910 throw ge;
911 }
912 catch(Exception se)
913 {
914 GOSIDebug.debugMessages("The error in getPendingTrtmServicesDetailsByHospital is:"+se);
915 ctx.setRollbackOnly();
916 se.printStackTrace();
917
918 throw new GOSIException(GOSIConstants.SEVERITY_ONE,
919 GOSIConstants.SOCIAL_INSURANCE,
920 this.getClass().toString(),
921 "getPendingTrtmServicesDetailsByHospital()",
922 se,"CMN_ERR_1000" );
923 }
924 finally
925 {
926 GOSIUtilities.cleanUp(con, p, rs);
927 }
928 return result;
929
930
931 }
932
933
934/* This method is used to save treatment service */
935 /**
936 * @METHOD NAME : validateTrtmServicesDetails
937 * @INFORMATION : This method is to validate Treatment Services details
938 * @PARAM : class java.util.Long,
939 class java.util.ArrayList,
940 class java.util.String,
941 class java.util.Long,
942 * @RETURN : class java.lang.ArrayList
943 * @EXCEPTION : class gosi.core.util.GOSIException
944 * @LAST MODIFIED BY :
945 * @LAST MODIFIED DATE :
946 **/
947 public Hashtable validateTrtmServicesDetails(Long hospitalCode,ArrayList hospitalTreatmentList,
948 String mode,Long workflowId)
949 throws GOSIException
950 {
951
952 Hashtable result=new Hashtable();
953 ArrayList duplicateRecords = new ArrayList();
954 ArrayList duplicateRecordsEnter = new ArrayList();
955 ArrayList duplicateRecordsDescArb = new ArrayList();
956 ArrayList duplicateRecordsDescEng = new ArrayList();
957 ArrayList changedPriceRecords = new ArrayList();
958 TrtmServiceBean objTrtmServiceBeanStock=null;
959 TrtmServiceBean objTrtmServiceBeanPending=null;
960 HashMap hospitalPendingTreatmentDetails = null;
961 HashMap hospitalPendingTreatmentDescArb= null;
962 HashMap hospitalPendingTreatmentDescEng= null;
963 HashMap hospitalTreatmentDescArb = null;
964 HashMap hospitalTreatmentDescEng= null;
965 try
966 {
967 HashMap hospitalTreatmentListStock = getTrtmServicesListByHospital(hospitalCode);
968 HashMap trtmServicesDescArbAndEngList = getTrtmServicesDescArbAndEngListByHospital(hospitalCode);
969 if(trtmServicesDescArbAndEngList!=null){
970 hospitalTreatmentDescArb = (HashMap)trtmServicesDescArbAndEngList.get("hospitalTreatmentDescArb");
971 hospitalTreatmentDescEng = (HashMap) trtmServicesDescArbAndEngList.get("hospitalTreatmentDescEng");
972 }
973 HashMap pendingResult = getPendingTrtmServicesDetailsByHospital(hospitalCode,workflowId);
974 if( pendingResult!=null && pendingResult.containsKey("hospitalPendingTreatmentDetails")){
975 hospitalPendingTreatmentDetails =(HashMap) pendingResult.get("hospitalPendingTreatmentDetails");
976 hospitalPendingTreatmentDescArb =(HashMap) pendingResult.get("hospitalPendingTreatmentDescArb");
977 hospitalPendingTreatmentDescEng=(HashMap) pendingResult.get("hospitalPendingTreatmentDescEng");
978 }
979 if(hospitalTreatmentListStock != null)
980 {
981
982
983 for(int j=0;j<hospitalTreatmentList.size();j++)
984 {
985
986 TrtmServiceBean objTrtmServiceBean =
987 (TrtmServiceBean) hospitalTreatmentList.get(j);
988
989 String trtmCodeUpperCase = objTrtmServiceBean.getTreatmentCode().toUpperCase();
990 String trtmCodeLowerCase = objTrtmServiceBean.getTreatmentCode().toLowerCase();
991 if(hospitalTreatmentListStock.containsKey(trtmCodeUpperCase)){
992 objTrtmServiceBeanStock=(TrtmServiceBean)hospitalTreatmentListStock.get(trtmCodeUpperCase);
993 }
994 else if(hospitalTreatmentListStock.containsKey(trtmCodeLowerCase)) {
995 objTrtmServiceBeanStock=(TrtmServiceBean)hospitalTreatmentListStock.get(trtmCodeLowerCase);
996 }
997 if(objTrtmServiceBeanStock!=null){
998
999 if((objTrtmServiceBeanStock.getTreatmentCode().equals(
1000 trtmCodeUpperCase)) ||
1001 (objTrtmServiceBeanStock.getTreatmentCode().equals(
1002 trtmCodeLowerCase)))
1003 {
1004
1005 if(!objTrtmServiceBeanStock.getTreatmentDescArb().toLowerCase().equals(
1006 objTrtmServiceBean.getTreatmentDescArb().toLowerCase()) ||
1007 !objTrtmServiceBeanStock.getTreatmentDescEng().toLowerCase().equals(
1008 objTrtmServiceBean.getTreatmentDescEng().toLowerCase()) ||
1009 objTrtmServiceBeanStock.getPrice().equals(
1010 objTrtmServiceBean.getPrice()))
1011 {
1012 boolean addRecord = true;
1013 for(int k=0;k<duplicateRecords.size();k++)
1014 {
1015 TrtmServiceBean objTrtmServiceBeanTemp =
1016 (TrtmServiceBean) duplicateRecords.get(k);
1017
1018 if(objTrtmServiceBeanTemp.getTreatmentCode().equals(
1019 objTrtmServiceBeanStock.getTreatmentCode()))
1020 {
1021 addRecord = false;
1022 }
1023 }
1024
1025 if(addRecord)
1026 {
1027 duplicateRecords.add(objTrtmServiceBean);
1028 }
1029 }
1030 }
1031 if((objTrtmServiceBeanStock.getTreatmentCode().equals(
1032 trtmCodeUpperCase)) ||
1033 (objTrtmServiceBeanStock.getTreatmentCode().equals(
1034 trtmCodeLowerCase)))
1035 {
1036 if(!objTrtmServiceBeanStock.getPrice().equals(
1037 objTrtmServiceBean.getPrice()))
1038 {
1039 boolean addRecord = true;
1040 for(int k=0;k<changedPriceRecords.size();k++)
1041 {
1042 TrtmServiceBean objTrtmServiceBeanTemp =
1043 (TrtmServiceBean) changedPriceRecords.get(k);
1044
1045 if(objTrtmServiceBeanTemp.getTreatmentCode().equals(
1046 objTrtmServiceBeanStock.getTreatmentCode()))
1047 {
1048 addRecord = false;
1049 }
1050 }
1051 if(addRecord)
1052 {
1053 changedPriceRecords.add(objTrtmServiceBean);
1054 }
1055 }
1056 }
1057 }
1058 }
1059 }
1060 if(hospitalTreatmentDescArb != null)
1061 {
1062 for(int j=0;j<hospitalTreatmentList.size();j++)
1063 {
1064 TrtmServiceBean objTrtmServiceBean =
1065 (TrtmServiceBean) hospitalTreatmentList.get(j);
1066 String trtmDescArbLowerCase = objTrtmServiceBean.getTreatmentDescArb().toLowerCase();
1067 String trtmDescArbUpperCase = objTrtmServiceBean.getTreatmentDescArb().toUpperCase();
1068 if(hospitalTreatmentDescArb.containsKey(trtmDescArbLowerCase)) {
1069 objTrtmServiceBeanStock=(TrtmServiceBean)hospitalTreatmentDescArb.get(trtmDescArbLowerCase);
1070 if(!objTrtmServiceBeanStock.getTreatmentCode().equals(objTrtmServiceBean.getTreatmentCode())
1071 || objTrtmServiceBeanStock.getPrice().equals(objTrtmServiceBean.getPrice())){
1072
1073 boolean addRecord = true;
1074 for(int k=0;k<duplicateRecordsDescArb.size();k++)
1075 {
1076 TrtmServiceBean objTrtmServiceBeanTemp =
1077 (TrtmServiceBean) duplicateRecordsDescArb.get(k);
1078
1079 if(objTrtmServiceBeanTemp.getTreatmentCode().equals(
1080 objTrtmServiceBeanStock.getTreatmentCode()))
1081 {
1082 addRecord = false;
1083 }
1084 }
1085
1086 if(addRecord)
1087 {
1088 duplicateRecordsDescArb.add(objTrtmServiceBean);
1089 }
1090 }
1091 }
1092 else if(hospitalTreatmentDescArb.containsKey(trtmDescArbUpperCase)) {
1093 objTrtmServiceBeanStock=(TrtmServiceBean)hospitalTreatmentDescArb.get(trtmDescArbUpperCase);
1094 if(!objTrtmServiceBeanStock.getTreatmentCode().equals(objTrtmServiceBean.getTreatmentCode())
1095 || objTrtmServiceBeanStock.getPrice().equals(objTrtmServiceBean.getPrice())){
1096
1097 boolean addRecord = true;
1098 for(int k=0;k<duplicateRecordsDescArb.size();k++)
1099 {
1100 TrtmServiceBean objTrtmServiceBeanTemp =
1101 (TrtmServiceBean) duplicateRecordsDescArb.get(k);
1102
1103 if(objTrtmServiceBeanTemp.getTreatmentCode().equals(
1104 objTrtmServiceBeanStock.getTreatmentCode()))
1105 {
1106 addRecord = false;
1107 }
1108 }
1109
1110 if(addRecord)
1111 {
1112 duplicateRecordsDescArb.add(objTrtmServiceBean);
1113 }
1114 }
1115 }
1116
1117 }
1118
1119 }
1120 if(hospitalTreatmentDescEng != null)
1121 {
1122
1123
1124 for(int j=0;j<hospitalTreatmentList.size();j++)
1125 {
1126
1127 TrtmServiceBean objTrtmServiceBean =
1128 (TrtmServiceBean) hospitalTreatmentList.get(j);
1129
1130 String trtmDescEngLowerCase = objTrtmServiceBean.getTreatmentDescEng().toLowerCase();
1131 String trtmDescEngUpperCase = objTrtmServiceBean.getTreatmentDescEng().toUpperCase();
1132 if(hospitalTreatmentDescEng.containsKey(trtmDescEngLowerCase)) {
1133 objTrtmServiceBeanStock=(TrtmServiceBean)hospitalTreatmentDescEng.get(trtmDescEngLowerCase);
1134 if(!objTrtmServiceBeanStock.getTreatmentCode().equals(objTrtmServiceBean.getTreatmentCode())
1135 || objTrtmServiceBeanStock.getPrice().equals(objTrtmServiceBean.getPrice())){
1136 boolean addRecord = true;
1137 for(int k=0;k<duplicateRecordsDescEng.size();k++)
1138 {
1139 TrtmServiceBean objTrtmServiceBeanTemp =
1140 (TrtmServiceBean) duplicateRecordsDescEng.get(k);
1141
1142 if(objTrtmServiceBeanTemp.getTreatmentCode().equals(
1143 objTrtmServiceBeanStock.getTreatmentCode()))
1144 {
1145 addRecord = false;
1146 }
1147 }
1148
1149 if(addRecord)
1150 {
1151 duplicateRecordsDescEng.add(objTrtmServiceBean);
1152 }
1153 }
1154 }
1155 else if(hospitalTreatmentDescEng.containsKey(trtmDescEngUpperCase)) {
1156 objTrtmServiceBeanStock=(TrtmServiceBean)hospitalTreatmentDescEng.get(trtmDescEngUpperCase);
1157 if(!objTrtmServiceBeanStock.getTreatmentCode().equals(objTrtmServiceBean.getTreatmentCode())
1158 || objTrtmServiceBeanStock.getPrice().equals(objTrtmServiceBean.getPrice())){
1159
1160 boolean addRecord = true;
1161 for(int k=0;k<duplicateRecordsDescEng.size();k++)
1162 {
1163 TrtmServiceBean objTrtmServiceBeanTemp =
1164 (TrtmServiceBean) duplicateRecordsDescEng.get(k);
1165
1166 if(objTrtmServiceBeanTemp.getTreatmentCode().equals(
1167 objTrtmServiceBeanStock.getTreatmentCode()))
1168 {
1169 addRecord = false;
1170 }
1171 }
1172
1173 if(addRecord)
1174 {
1175 duplicateRecordsDescEng.add(objTrtmServiceBean);
1176 }
1177 }
1178 }
1179
1180 }
1181
1182 }
1183
1184
1185 if(hospitalPendingTreatmentDetails != null)
1186 {
1187
1188
1189 for(int j=0;j<hospitalTreatmentList.size();j++)
1190 {
1191
1192 TrtmServiceBean objTrtmServiceBean =
1193 (TrtmServiceBean) hospitalTreatmentList.get(j);
1194
1195 String trtmCodeUpperCase = objTrtmServiceBean.getTreatmentCode().toUpperCase();
1196 String trtmCodeLowerCase = objTrtmServiceBean.getTreatmentCode().toLowerCase();
1197 if(hospitalPendingTreatmentDetails.containsKey(trtmCodeUpperCase)){
1198 objTrtmServiceBeanPending=(TrtmServiceBean)hospitalPendingTreatmentDetails.get(trtmCodeUpperCase);
1199 }
1200 else if(hospitalPendingTreatmentDetails.containsKey(trtmCodeLowerCase)) {
1201 objTrtmServiceBeanPending=(TrtmServiceBean)hospitalPendingTreatmentDetails.get(trtmCodeLowerCase);
1202 }
1203 if(objTrtmServiceBeanPending!=null){
1204 if((objTrtmServiceBeanPending.getTreatmentCode().equals(
1205 trtmCodeUpperCase)) ||
1206 (objTrtmServiceBeanPending.getTreatmentCode().equals(
1207 trtmCodeLowerCase)))
1208 {
1209
1210 boolean addRecord = true;
1211 for(int k=0;k<duplicateRecords.size();k++)
1212 {
1213 TrtmServiceBean objTrtmServiceBeanTemp =
1214 (TrtmServiceBean) duplicateRecords.get(k);
1215
1216 if(objTrtmServiceBeanTemp.getTreatmentCode().equals(
1217 objTrtmServiceBeanPending.getTreatmentCode()))
1218 {
1219 addRecord = false;
1220 }
1221 }
1222
1223 if(addRecord)
1224 {
1225 duplicateRecords.add(objTrtmServiceBean);
1226 }
1227
1228 }
1229 }
1230
1231 }
1232 }
1233
1234 if(hospitalPendingTreatmentDescArb != null)
1235 {
1236
1237
1238 for(int j=0;j<hospitalTreatmentList.size();j++)
1239 {
1240
1241 TrtmServiceBean objTrtmServiceBean =
1242 (TrtmServiceBean) hospitalTreatmentList.get(j);
1243
1244 String trtmDescArbLowerCase = objTrtmServiceBean.getTreatmentDescArb().toLowerCase();
1245 String trtmDescArbUpperCase = objTrtmServiceBean.getTreatmentDescArb().toUpperCase();
1246 if(hospitalPendingTreatmentDescArb.containsKey(trtmDescArbLowerCase)) {
1247 objTrtmServiceBeanPending=(TrtmServiceBean)hospitalPendingTreatmentDescArb.get(trtmDescArbLowerCase);
1248 boolean addRecord = true;
1249 for(int k=0;k<duplicateRecordsDescArb.size();k++)
1250 {
1251 TrtmServiceBean objTrtmServiceBeanTemp =
1252 (TrtmServiceBean) duplicateRecordsDescArb.get(k);
1253
1254 if(objTrtmServiceBeanTemp.getTreatmentCode().equals(
1255 objTrtmServiceBeanPending.getTreatmentCode()))
1256 {
1257 addRecord = false;
1258 }
1259 }
1260
1261 if(addRecord)
1262 {
1263 duplicateRecordsDescArb.add(objTrtmServiceBean);
1264 }
1265 }
1266 else if(hospitalPendingTreatmentDescArb.containsKey(trtmDescArbUpperCase)) {
1267 objTrtmServiceBeanPending=(TrtmServiceBean)hospitalPendingTreatmentDescArb.get(trtmDescArbUpperCase);
1268 boolean addRecord = true;
1269 for(int k=0;k<duplicateRecordsDescArb.size();k++)
1270 {
1271 TrtmServiceBean objTrtmServiceBeanTemp =
1272 (TrtmServiceBean) duplicateRecordsDescArb.get(k);
1273
1274 if(objTrtmServiceBeanTemp.getTreatmentCode().equals(
1275 objTrtmServiceBeanPending.getTreatmentCode()))
1276 {
1277 addRecord = false;
1278 }
1279 }
1280
1281 if(addRecord)
1282 {
1283 duplicateRecordsDescArb.add(objTrtmServiceBean);
1284 }
1285 }
1286 }
1287
1288 }
1289 if(hospitalPendingTreatmentDescEng != null)
1290 {
1291
1292
1293 for(int j=0;j<hospitalTreatmentList.size();j++)
1294 {
1295
1296 TrtmServiceBean objTrtmServiceBean =
1297 (TrtmServiceBean) hospitalTreatmentList.get(j);
1298
1299 String trtmDescEngLowerCase = objTrtmServiceBean.getTreatmentDescEng().toLowerCase();
1300 String trtmDescEngUpperCase = objTrtmServiceBean.getTreatmentDescEng().toUpperCase();
1301 if(hospitalPendingTreatmentDescEng.containsKey(trtmDescEngLowerCase)) {
1302 objTrtmServiceBeanPending=(TrtmServiceBean)hospitalPendingTreatmentDescEng.get(trtmDescEngLowerCase);
1303 boolean addRecord = true;
1304 for(int k=0;k<duplicateRecordsDescEng.size();k++)
1305 {
1306 TrtmServiceBean objTrtmServiceBeanTemp =
1307 (TrtmServiceBean) duplicateRecordsDescEng.get(k);
1308
1309 if(objTrtmServiceBeanTemp.getTreatmentCode().equals(
1310 objTrtmServiceBeanPending.getTreatmentCode()))
1311 {
1312 addRecord = false;
1313 }
1314 }
1315
1316 if(addRecord)
1317 {
1318 duplicateRecordsDescEng.add(objTrtmServiceBean);
1319 }
1320
1321 }
1322 else if(hospitalPendingTreatmentDescEng.containsKey(trtmDescEngUpperCase)) {
1323 objTrtmServiceBeanPending=(TrtmServiceBean)hospitalPendingTreatmentDescEng.get(trtmDescEngLowerCase);
1324 boolean addRecord = true;
1325 for(int k=0;k<duplicateRecordsDescEng.size();k++)
1326 {
1327 TrtmServiceBean objTrtmServiceBeanTemp =
1328 (TrtmServiceBean) duplicateRecordsDescEng.get(k);
1329
1330 if(objTrtmServiceBeanTemp.getTreatmentCode().equals(
1331 objTrtmServiceBeanPending.getTreatmentCode()))
1332 {
1333 addRecord = false;
1334 }
1335 }
1336
1337 if(addRecord)
1338 {
1339 duplicateRecordsDescEng.add(objTrtmServiceBean);
1340 }
1341 }
1342 }
1343
1344 }
1345
1346
1347 if(hospitalTreatmentList != null)
1348 {
1349 for(int i=0;i<hospitalTreatmentList.size();i++)
1350 {
1351 TrtmServiceBean objTrtmServiceBeanDuplicated =
1352 (TrtmServiceBean) hospitalTreatmentList.get(i);
1353
1354 for(int j=i+1;j<hospitalTreatmentList.size();j++)
1355 {
1356 TrtmServiceBean objTrtmServiceBean =
1357 (TrtmServiceBean) hospitalTreatmentList.get(j);
1358
1359 String trtmCodeUpperCase = objTrtmServiceBean.getTreatmentCode().toUpperCase();
1360 String trtmCodeLowerCase = objTrtmServiceBean.getTreatmentCode().toLowerCase();
1361 String trtmDescArbUpperCase = objTrtmServiceBean.getTreatmentDescArb().toUpperCase();
1362 String trtmDescArbLowerCase = objTrtmServiceBean.getTreatmentDescArb().toLowerCase();
1363 String trtmDescEngUpperCase = objTrtmServiceBean.getTreatmentDescEng().toUpperCase();
1364 String trtmDescEngLowerCase = objTrtmServiceBean.getTreatmentDescEng().toLowerCase();
1365
1366
1367 if((objTrtmServiceBeanDuplicated.getTreatmentCode().equals(
1368 trtmCodeUpperCase)) ||
1369 (objTrtmServiceBeanDuplicated.getTreatmentCode().equals(
1370 trtmCodeLowerCase)))
1371 {
1372
1373 boolean addRecord = true;
1374 for(int k=0;k<duplicateRecordsEnter.size();k++)
1375 {
1376 TrtmServiceBean objTrtmServiceBeanTemp =
1377 (TrtmServiceBean) duplicateRecordsEnter.get(k);
1378
1379 if(objTrtmServiceBeanTemp.getTreatmentCode().equals(
1380 objTrtmServiceBeanDuplicated.getTreatmentCode()))
1381 {
1382 addRecord = false;
1383 }
1384 }
1385
1386 if(addRecord)
1387 {
1388 duplicateRecordsEnter.add(objTrtmServiceBean);
1389 }
1390 }
1391
1392 else if((objTrtmServiceBeanDuplicated.getTreatmentDescEng().equals(
1393 trtmDescEngUpperCase)) ||
1394 (objTrtmServiceBeanDuplicated.getTreatmentDescEng().equals(
1395 trtmDescEngLowerCase)))
1396 {
1397 boolean addRecord = true;
1398 for(int k=0;k<duplicateRecordsDescEng.size();k++)
1399 {
1400 TrtmServiceBean objTrtmServiceBeanTemp =
1401 (TrtmServiceBean) duplicateRecordsDescEng.get(k);
1402
1403 if(objTrtmServiceBeanTemp.getTreatmentCode().equals(
1404 objTrtmServiceBeanDuplicated.getTreatmentCode()))
1405 {
1406 addRecord = false;
1407 }
1408 }
1409
1410 if(addRecord)
1411 {
1412 duplicateRecordsDescEng.add(objTrtmServiceBean);
1413 }
1414 }
1415 else if((objTrtmServiceBeanDuplicated.getTreatmentDescArb().equals(
1416 trtmDescArbUpperCase)) ||
1417 (objTrtmServiceBeanDuplicated.getTreatmentDescArb().equals(
1418 trtmDescArbLowerCase)))
1419 {
1420
1421 boolean addRecord = true;
1422 for(int k=0;k<duplicateRecordsDescArb.size();k++)
1423 {
1424 TrtmServiceBean objTrtmServiceBeanTemp =
1425 (TrtmServiceBean) duplicateRecordsDescArb.get(k);
1426
1427 if(objTrtmServiceBeanTemp.getTreatmentCode().equals(
1428 objTrtmServiceBeanDuplicated.getTreatmentCode()))
1429 {
1430 addRecord = false;
1431 }
1432 }
1433
1434 if(addRecord)
1435 {
1436 duplicateRecordsDescArb.add(objTrtmServiceBean);
1437 }
1438 }
1439 }
1440
1441 }
1442 }
1443 }
1444 catch(GOSIException ge)
1445 {
1446 GOSIDebug.debugMessages("The error in validateTrtmServicesDetails is:"+ge);
1447 ctx.setRollbackOnly();
1448 throw ge;
1449 }
1450 catch(Exception se)
1451 {
1452 GOSIDebug.debugMessages("The error in validateTrtmServicesDetails is:"+se);
1453 ctx.setRollbackOnly();
1454 se.printStackTrace();
1455 throw new GOSIException(GOSIConstants.SEVERITY_ONE,
1456 GOSIConstants.SOCIAL_INSURANCE,
1457 this.getClass().toString(),
1458 "validateTrtmServicesDetails()",
1459 se,"CMN_ERR_1000" );
1460 }
1461 result.put("duplicateRecords", duplicateRecords);
1462 result.put("duplicateRecordsEnter", duplicateRecordsEnter);
1463 result.put("duplicateRecordsDescArb", duplicateRecordsDescArb);
1464 result.put("duplicateRecordsDescEng", duplicateRecordsDescEng);
1465 result.put("changedPriceRecords", changedPriceRecords);
1466
1467 return result;
1468
1469 }
1470 /**
1471 * @METHOD NAME : getTrtmServicesList
1472 * @INFORMATION : This method is to get Approved Treatment Services
1473 * List of hospital in Arraylist
1474 * @PARAM : Long
1475
1476 * @RETURN : class java.util.ArrayList
1477 * @EXCEPTION : class gosi.core.util.GOSIException
1478 * @LAST MODIFIED BY :
1479 * @LAST MODIFIED DATE :
1480 **/
1481 public ArrayList getTrtmServicesList(Long hospitalCode)
1482 throws GOSIException
1483 {
1484
1485
1486 ArrayList hospitalTreatmentList = null;
1487 TrtmServiceBean objTrtmServiceBean = null;
1488
1489 con = null;
1490 PreparedStatement ps = null;
1491 ResultSet rs = null;
1492 String masterQuery = null;
1493
1494 masterQuery = new StringBuffer("Select ").
1495 append("TRTMSERVICELISTID, ").
1496 append("HOSPITALCODE, ").
1497 append("TREATMENTCODE,TREATMENTDESCENG, ").
1498 append("TREATMENTDESCARB, MEDCATEGORY, ").
1499 append("PRICE, NEEDSAPPROVAL, ISNONDISCOUNT , ").
1500 append("CREATEDBY, CREATIONTIMESTAMP, ").
1501 append("LASTMODIFIEDBY, LASTMODIFIEDTIMESTAMP, ").
1502 append("STATUS, DOCTORCOMMENTS from ").
1503 append(SITables.T_TRTMSERVICELIST).
1504 append(" where HOSPITALCODE = ? AND STATUS=? ").
1505 toString();
1506
1507 try
1508 {
1509 con = GOSIUtilities.getConnection(GOSIConstants.OCCUPATIONAL_HAZARDS_ID);
1510
1511 // Load from the data base
1512 ps = con.prepareStatement(masterQuery);
1513 ps.setLong(1, hospitalCode);
1514 ps.setShort(2, OHConstants.TRTM_SRVC_LIST_DET_STATUS_APPROVED);
1515 rs = ps.executeQuery();
1516
1517 hospitalTreatmentList = new ArrayList();
1518 while(rs.next()){
1519
1520 objTrtmServiceBean = new TrtmServiceBean();
1521 objTrtmServiceBean.setTrtmServiceListId(
1522 rs.getLong("TRTMSERVICELISTID"));
1523 objTrtmServiceBean.setTreatmentCode(
1524 rs.getString("TREATMENTCODE"));
1525 objTrtmServiceBean.setHospitalCode(
1526 rs.getLong("HOSPITALCODE"));
1527 objTrtmServiceBean.setTreatmentDescEng(
1528 rs.getString("TREATMENTDESCENG"));
1529 objTrtmServiceBean.setTreatmentDescArb(
1530 rs.getString("TREATMENTDESCARB"));
1531 objTrtmServiceBean.setMedCategory(
1532 rs.getString("MEDCATEGORY"));
1533 objTrtmServiceBean.setPrice(
1534 rs.getDouble("PRICE"));
1535 objTrtmServiceBean.setNeedsApproval(
1536 rs.getShort("NEEDSAPPROVAL"));
1537 objTrtmServiceBean.setIsNonDiscount(
1538 rs.getByte("ISNONDISCOUNT"));
1539 objTrtmServiceBean.setCreatedBy(
1540 rs.getLong("CREATEDBY"));
1541 objTrtmServiceBean.setCreationTimestamp(
1542 rs.getTimestamp("CREATIONTIMESTAMP"));
1543 objTrtmServiceBean.setLastModifiedBy(
1544 rs.getLong("LASTMODIFIEDBY"));
1545 objTrtmServiceBean.setLastModifiedTimestamp(
1546 rs.getTimestamp("LASTMODIFIEDTIMESTAMP"));
1547 objTrtmServiceBean.setStatus(
1548 rs.getShort("STATUS"));
1549 objTrtmServiceBean.setDoctorComments(
1550 rs.getString("DOCTORCOMMENTS"));
1551
1552 hospitalTreatmentList.add(objTrtmServiceBean);
1553 }
1554 }catch(GOSIException ge)
1555 {
1556 GOSIDebug.debugMessages("The error in getTrtmServicesList is:"+ge);
1557 ctx.setRollbackOnly();
1558 throw ge;
1559 }
1560 catch(Exception se)
1561 {
1562 GOSIDebug.debugMessages("The error in getTrtmServicesList is:"+se);
1563 ctx.setRollbackOnly();
1564 se.printStackTrace();
1565
1566 throw new GOSIException(GOSIConstants.SEVERITY_ONE,
1567 GOSIConstants.SOCIAL_INSURANCE,
1568 this.getClass().toString(),
1569 "getTrtmServicesList()",
1570 se,"CMN_ERR_1000" );
1571 }
1572 finally{
1573 GOSIUtilities.cleanUp(con, p, rs);
1574 return hospitalTreatmentList;
1575
1576 }
1577
1578 }
1579
1580 /**
1581 * @METHOD NAME : getTrtmServicesListVersion
1582 * @INFORMATION : This method is to get Treatment Services List Version
1583 *
1584 * @PARAM : String
1585
1586 * @RETURN : class java.util.ArrayList
1587 * @EXCEPTION : class gosi.core.util.GOSIException
1588 * @LAST MODIFIED BY :
1589 * @LAST MODIFIED DATE :
1590 **/
1591 public String getTrtmServicesListVersion(Long hospitalCode)
1592 throws GOSIException
1593 {
1594
1595
1596 String hospitalTreatmentListVersion = "";
1597 TrtmServiceBean objTrtmServiceBean = null;
1598
1599 con = null;
1600 PreparedStatement ps = null;
1601 ResultSet rs = null;
1602
1603 String query = "select max(CREATIONTIMESTAMP) as maxCreation , max (LASTMODIFIEDTIMESTAMP) as maxLastMod from T_TRTMSERVICELIST";
1604
1605 try
1606 {
1607 con = GOSIUtilities.getConnection(GOSIConstants.OCCUPATIONAL_HAZARDS_ID);
1608
1609 // Load from the data base
1610 ps = con.prepareStatement(query);
1611 rs = ps.executeQuery();
1612
1613 if(rs.next()){
1614 Timestamp maxCreat=rs.getTimestamp("MAXCREATION");
1615 Timestamp maxModify=rs.getTimestamp("MAXLASTMOD");
1616 if(maxCreat.after(maxModify)){
1617 hospitalTreatmentListVersion=(maxCreat.getYear()%100)+""+((maxCreat.getMonth()+1)<10?"0"+(maxCreat.getMonth()+1):(maxCreat.getMonth()+1))+
1618 ""+(maxCreat.getDate()<10?"0"+ maxCreat.getDate():maxCreat.getDate())+""+maxCreat.getHours()+""+maxCreat.getMinutes()+"";
1619 }
1620 else {
1621 hospitalTreatmentListVersion=(maxModify.getYear()%100)+""+((maxModify.getMonth()+1)<10?"0"+(maxModify.getMonth()+1):(maxModify.getMonth()+1))+
1622 ""+(maxModify.getDate()<10?"0"+ maxModify.getDate():maxModify.getDate())+""+maxModify.getHours()+""+maxModify.getMinutes()+"";
1623 }
1624 }
1625
1626 }catch(GOSIException ge)
1627 {
1628 GOSIDebug.debugMessages("The error in getTrtmServicesList is:"+ge);
1629 ctx.setRollbackOnly();
1630 throw ge;
1631 }
1632 catch(Exception se)
1633 {
1634 GOSIDebug.debugMessages("The error in getTrtmServicesList is:"+se);
1635 ctx.setRollbackOnly();
1636 se.printStackTrace();
1637
1638 throw new GOSIException(GOSIConstants.SEVERITY_ONE,
1639 GOSIConstants.SOCIAL_INSURANCE,
1640 this.getClass().toString(),
1641 "getTrtmServicesListVersion()",
1642 se,"CMN_ERR_1000" );
1643 }
1644 finally{
1645 GOSIUtilities.cleanUp(con, p, rs);
1646 return hospitalTreatmentListVersion;
1647
1648 }
1649
1650 }
1651
1652
1653
1654/* This method is used to save treatment service */
1655 /**
1656 * @METHOD NAME : getTrtmServicesDetails
1657 * @INFORMATION : This method is to get Treatment Services details
1658 * @PARAM : class java.util.ArrayList,
1659 class gosi.core.workflow.beans.WorkflowParamBean,
1660 * @RETURN : class java.lang.String
1661 * @EXCEPTION : class gosi.core.util.GOSIException
1662 * @LAST MODIFIED BY :
1663 * @LAST MODIFIED DATE :
1664 **/
1665 public TrtmServiceHeaderBean getTrtmServicesDetails(long primaryKey)
1666 throws GOSIException
1667 {
1668
1669 String userName=null;
1670 Long primarykeyHeader =null;
1671 ArrayList hospitalTreatmentList = null;
1672 TrtmServiceHeaderBean objTrtmServiceHeaderBean = null;
1673 Long workflowID = new Long(primaryKey);
1674
1675 try
1676 {
1677
1678 TrtmServiceListHistoryEntityHome home = (TrtmServiceListHistoryEntityHome)
1679 ServiceLocator.getInstance().getRemoteHome(
1680 OHConstants.TRTM_SRVC_LIST_HISTORY_ENTITY_JNDI,
1681 TrtmServiceListHistoryEntityHome.class);
1682
1683 TrtmServiceListHistoryEntity remote =
1684 (TrtmServiceListHistoryEntity)home.findByPrimaryKey(workflowID);
1685
1686 objTrtmServiceHeaderBean = remote.getTrtmServiceHeaderBean();
1687
1688 }
1689 catch(GOSIException ge)
1690 {
1691 GOSIDebug.debugMessages("The error in getTrtmServicesDetails is:"+ge);
1692 ctx.setRollbackOnly();
1693 throw ge;
1694 }
1695 catch(Exception se)
1696 {
1697 GOSIDebug.debugMessages("The error in getTrtmServicesDetails is:"+se);
1698 ctx.setRollbackOnly();
1699 se.printStackTrace();
1700
1701 throw new GOSIException(GOSIConstants.SEVERITY_ONE,
1702 GOSIConstants.SOCIAL_INSURANCE,
1703 this.getClass().toString(),
1704 "getTrtmServicesDetails()",
1705 se,"CMN_ERR_1000" );
1706 }
1707 return objTrtmServiceHeaderBean;
1708
1709 }
1710
1711
1712
1713 /* This method is used to save treatment service */
1714 /**
1715 * @METHOD NAME : saveTrtmServicesDetails
1716 * @INFORMATION : This method is to save Treatment Services details
1717 * @PARAM : class TrtmServiceHeaderBean,
1718 class gosi.core.workflow.beans.WorkflowParamBean,
1719 * @RETURN : class java.lang.String
1720 * @EXCEPTION : class gosi.core.util.GOSIException
1721 * @LAST MODIFIED BY :
1722 * @LAST MODIFIED DATE :
1723 **/
1724 public String saveTrtmServicesDetails(TrtmServiceHeaderBean objTrtmServiceHeaderBean,
1725 WorkflowParamBean workflowParamBean)
1726 throws GOSIException
1727 {
1728
1729 String userName=null;
1730 Long primarykeyHeader =null;
1731 ArrayList hospitalTreatmentList = null;
1732 ArrayList trtmServiceDetailList = new ArrayList();
1733
1734 try
1735 {
1736
1737 if(objTrtmServiceHeaderBean != null )
1738 {
1739
1740 hospitalTreatmentList = objTrtmServiceHeaderBean.getTrtmServiceDetailList();
1741 primarykeyHeader = GOSIUtilities.getPrimaryKey("T_TRTMSERVICELISTHEADER",
1742 objTrtmServiceHeaderBean.getCreatedBy());
1743
1744
1745 objTrtmServiceHeaderBean.setWorkflowId(primarykeyHeader);
1746 objTrtmServiceHeaderBean.setCreationTimestamp(new Timestamp(
1747 System.currentTimeMillis()));
1748
1749
1750 for(int i = 0;i < hospitalTreatmentList.size();i++)
1751 {
1752
1753 TrtmServiceDetailBean objTrtmServiceDetailBean = new TrtmServiceDetailBean();
1754 objTrtmServiceDetailBean = (TrtmServiceDetailBean)hospitalTreatmentList.get(i);
1755
1756 Long primarykeyDetail = GOSIUtilities.getPrimaryKey("T_TRTMSERVICELISTDETAIL",
1757 objTrtmServiceHeaderBean.getCreatedBy());
1758
1759
1760 objTrtmServiceDetailBean.setTrtmServiceDetailId(primarykeyDetail);
1761 objTrtmServiceDetailBean.setWorkflowId(objTrtmServiceHeaderBean.getWorkflowId());
1762
1763 objTrtmServiceDetailBean.setStatus(OHConstants.TRTM_SRVC_LIST_DET_STATUS_ENTERED);
1764 objTrtmServiceDetailBean.setNeedsApproval(OHConstants.TRTM_NEEDSAPPROVAL_NO_NEED);
1765 objTrtmServiceDetailBean.setIsNonDiscount(OHConstants.TRTM_ISNONDISCOUNT_NO);
1766
1767
1768 trtmServiceDetailList.add(objTrtmServiceDetailBean);
1769
1770
1771 }
1772
1773 objTrtmServiceHeaderBean.setTrtmServiceDetailList(trtmServiceDetailList);
1774
1775 TrtmServiceListHistoryEntityHome home = (TrtmServiceListHistoryEntityHome)
1776 ServiceLocator.getInstance().getRemoteHome(
1777 OHConstants.TRTM_SRVC_LIST_HISTORY_ENTITY_JNDI,
1778 TrtmServiceListHistoryEntityHome.class);
1779
1780 TrtmServiceListHistoryEntity remote =
1781 (TrtmServiceListHistoryEntity)home.create(objTrtmServiceHeaderBean);
1782
1783 workflowParamBean.setPrimaryKeyOfTherecord(primarykeyHeader.toString());
1784 workflowParamBean.setKeyVal1(primarykeyHeader.toString());
1785 userName = GOSIUtilities.startWorkflow(workflowParamBean);
1786
1787
1788 }
1789
1790 }
1791 catch(GOSIException ge)
1792 {
1793 GOSIDebug.debugMessages("The error in saveTrtmServicesDetails is:"+ge);
1794 ctx.setRollbackOnly();
1795 throw ge;
1796 }
1797 catch(Exception se)
1798 {
1799 GOSIDebug.debugMessages("The error in saveTrtmServicesDetails is:"+se);
1800 ctx.setRollbackOnly();
1801 se.printStackTrace();
1802
1803 throw new GOSIException(GOSIConstants.SEVERITY_ONE,
1804 GOSIConstants.SOCIAL_INSURANCE,
1805 this.getClass().toString(),
1806 "saveTrtmServicesDetails()",
1807 se,"CMN_ERR_1000" );
1808 }
1809 return userName;
1810
1811 }
1812
1813/* This method is used to save treatment service */
1814 /**
1815 * @METHOD NAME : saveMaintainTrtmServicesDetails
1816 * @INFORMATION : This method is to save Treatment Services details
1817 * @PARAM : class TrtmServiceHeaderBean,
1818 class gosi.core.workflow.beans.WorkflowParamBean,
1819 * @RETURN : class java.lang.String
1820 * @EXCEPTION : class gosi.core.util.GOSIException
1821 * @LAST MODIFIED BY :
1822 * @LAST MODIFIED DATE :
1823 **/
1824 public String saveMaintainTrtmServicesDetails(TrtmServiceHeaderBean objTrtmServiceHeaderBean,
1825 WorkflowParamBean workflowParamBean)
1826 throws GOSIException
1827 {
1828
1829 String userName=null;
1830 Long primarykeyHeader =null;
1831 ArrayList hospitalTreatmentList = null;
1832 ArrayList trtmServiceDetailList = new ArrayList();
1833
1834 try
1835 {
1836
1837 if(objTrtmServiceHeaderBean != null )
1838 {
1839
1840 hospitalTreatmentList = objTrtmServiceHeaderBean.getTrtmServiceDetailList();
1841 primarykeyHeader = GOSIUtilities.getPrimaryKey("T_TRTMSERVICELISTHEADER",
1842 objTrtmServiceHeaderBean.getCreatedBy());
1843 objTrtmServiceHeaderBean.setWorkflowId(primarykeyHeader);
1844 objTrtmServiceHeaderBean.setCreationTimestamp(new Timestamp(
1845 System.currentTimeMillis()));
1846 for(int i = 0;i < hospitalTreatmentList.size();i++)
1847 {
1848 TrtmServiceDetailBean objTrtmServiceDetailBean = new TrtmServiceDetailBean();
1849 objTrtmServiceDetailBean = (TrtmServiceDetailBean)hospitalTreatmentList.get(i);
1850 Long primarykeyDetail = GOSIUtilities.getPrimaryKey("T_TRTMSERVICELISTDETAIL",
1851 objTrtmServiceHeaderBean.getCreatedBy());
1852 objTrtmServiceDetailBean.setTrtmServiceDetailId(primarykeyDetail);
1853 objTrtmServiceDetailBean.setWorkflowId(objTrtmServiceHeaderBean.getWorkflowId());
1854 objTrtmServiceDetailBean.setStatus(OHConstants.TRTM_SRVC_LIST_DET_STATUS_ENTERED);
1855 objTrtmServiceDetailBean.setMode(AuditBean.NEW_MODE);
1856 trtmServiceDetailList.add(objTrtmServiceDetailBean);
1857 }
1858 objTrtmServiceHeaderBean.setTrtmServiceDetailList(trtmServiceDetailList);
1859 TrtmServiceListHistoryEntityHome home = (TrtmServiceListHistoryEntityHome)
1860 ServiceLocator.getInstance().getRemoteHome(
1861 OHConstants.TRTM_SRVC_LIST_HISTORY_ENTITY_JNDI,
1862 TrtmServiceListHistoryEntityHome.class);
1863 TrtmServiceListHistoryEntity remote =
1864 (TrtmServiceListHistoryEntity)home.create(objTrtmServiceHeaderBean);
1865 workflowParamBean.setPrimaryKeyOfTherecord(primarykeyHeader.toString());
1866 workflowParamBean.setKeyVal1(primarykeyHeader.toString());
1867 userName = GOSIUtilities.startWorkflow(workflowParamBean);
1868 }
1869 }
1870 catch(GOSIException ge)
1871 {
1872 GOSIDebug.debugMessages("The error in saveTrtmServicesDetails is:"+ge);
1873 ctx.setRollbackOnly();
1874 throw ge;
1875 }
1876 catch(Exception se)
1877 {
1878 GOSIDebug.debugMessages("The error in saveTrtmServicesDetails is:"+se);
1879 ctx.setRollbackOnly();
1880 se.printStackTrace();
1881
1882 throw new GOSIException(GOSIConstants.SEVERITY_ONE,
1883 GOSIConstants.SOCIAL_INSURANCE,
1884 this.getClass().toString(),
1885 "saveTrtmServicesDetails()",
1886 se,"CMN_ERR_1000" );
1887 }
1888 return userName;
1889
1890 }
1891
1892
1893
1894/* This method is used to save treatment service */
1895 /**
1896 * @METHOD NAME : saveTrtmServicesDetailsReenter
1897 * @INFORMATION : This method is to save Treatment Services details
1898 * @PARAM : class TrtmServiceHeaderBean,
1899 class gosi.core.workflow.beans.WorkflowParamBean,
1900 * @RETURN : class java.lang.String
1901 * @EXCEPTION : class gosi.core.util.GOSIException
1902 * @LAST MODIFIED BY :
1903 * @LAST MODIFIED DATE :
1904 **/
1905 public String saveTrtmServicesDetailsReenter(TrtmServiceHeaderBean objTrtmServiceHeaderBean,
1906 WorkflowParamBean workflowParamBean)
1907 throws GOSIException
1908 {
1909
1910 String userName=null;
1911 Long primarykeyHeader =null;
1912
1913 try
1914 {
1915
1916
1917 if(objTrtmServiceHeaderBean != null )
1918 {
1919
1920 TrtmServiceListHistoryEntityHome home = getTrtmServiceListHistoryEntityHome();
1921
1922 TrtmServiceListHistoryEntity remote =
1923 home.findByPrimaryKey(
1924 objTrtmServiceHeaderBean.getWorkflowId());
1925
1926 remote.setTrtmServiceHeaderBean(objTrtmServiceHeaderBean);
1927 primarykeyHeader = objTrtmServiceHeaderBean.getWorkflowId();
1928
1929 workflowParamBean.setPrimaryKeyOfTherecord(primarykeyHeader.toString());
1930 workflowParamBean.setKeyVal1(primarykeyHeader.toString());
1931 userName = GOSIUtilities.startWorkflow(workflowParamBean);
1932
1933
1934
1935 }
1936
1937 }
1938 catch(GOSIException ge)
1939 {
1940 GOSIDebug.debugMessages("The error in saveTrtmServicesDetailsReenter is:"+ge);
1941 ctx.setRollbackOnly();
1942 throw ge;
1943 }
1944 catch(Exception se)
1945 {
1946 GOSIDebug.debugMessages("The error in saveTrtmServicesDetailsReenter is:"+se);
1947 ctx.setRollbackOnly();
1948 se.printStackTrace();
1949
1950 throw new GOSIException(GOSIConstants.SEVERITY_ONE,
1951 GOSIConstants.SOCIAL_INSURANCE,
1952 this.getClass().toString(),
1953 "saveTrtmServicesDetailsReenter()",
1954 se,"CMN_ERR_1000" );
1955 }
1956 return userName;
1957
1958 }
1959
1960 /* This method is used to persist treatment service details in workflow */
1961 /**
1962 * @METHOD NAME : persistTrtmServicesDetailsInWorkflow
1963 * @INFORMATION : This method is to persist Treatment Services details in workflow
1964 * @PARAM : class TrtmServiceHeaderBean
1965 * @RETURN : void
1966 * @EXCEPTION : class gosi.core.util.GOSIException
1967 * @LAST MODIFIED BY :
1968 * @LAST MODIFIED DATE :
1969 **/
1970 public void persistTrtmServicesDetailsInWorkflow(TrtmServiceHeaderBean objTrtmServiceHeaderBean) throws GOSIException
1971 {
1972 try
1973 {
1974 TrtmServiceListHistoryEntity remote =
1975 getTrtmServiceListHistoryEntityHome().findByPrimaryKey(objTrtmServiceHeaderBean.getWorkflowId());
1976
1977 remote.setTrtmServiceHeaderBean(objTrtmServiceHeaderBean);
1978 }
1979 catch(GOSIException ge)
1980 {
1981 GOSIDebug.debugMessages("The error in persistTrtmServicesDetailsInWorkflow is:"+ge);
1982 ctx.setRollbackOnly();
1983 throw ge;
1984 }
1985 catch(Exception se)
1986 {
1987 GOSIDebug.debugMessages("The error in persistTrtmServicesDetailsInWorkflow is:"+se);
1988 ctx.setRollbackOnly();
1989 se.printStackTrace();
1990
1991 throw new GOSIException(GOSIConstants.SEVERITY_ONE,
1992 GOSIConstants.SOCIAL_INSURANCE,
1993 this.getClass().toString(),
1994 "persistTrtmServicesDetailsInWorkflow()",
1995 se,"CMN_ERR_1000" );
1996 }
1997 }
1998
1999
2000
2001/* This method is used to save treatment service */
2002 /**
2003 * @METHOD NAME : approveTrtmServicesDetails
2004 * @INFORMATION : This method is to save Treatment Services details
2005 * @PARAM : class TrtmServiceHeaderBean,
2006 class java.util.ArrayList,
2007 class java.util.ArrayList,
2008 class gosi.core.workflow.beans.WorkflowParamBean,
2009 * @RETURN : class java.lang.String
2010 * @EXCEPTION : class gosi.core.util.GOSIException
2011 * @LAST MODIFIED BY :
2012 * @LAST MODIFIED DATE :
2013 **/
2014 public String approveTrtmServicesDetails(TrtmServiceHeaderBean objTrtmServiceHeaderBean,
2015 ArrayList hospitalTreatmentListSave, ArrayList hospitalTreatmentListReject,
2016 WorkflowParamBean workflowParamBean)
2017 throws GOSIException
2018 {
2019
2020 String userName=null;
2021 Long primarykeyHeader =null;
2022
2023 try
2024 {
2025
2026 if(objTrtmServiceHeaderBean != null )
2027 {
2028 if(hospitalTreatmentListSave != null )
2029 {
2030 for(int i = 0;i < hospitalTreatmentListSave.size();i++)
2031 {
2032
2033 TrtmServiceBean objTrtmServiceBean = new TrtmServiceBean();
2034 objTrtmServiceBean = (TrtmServiceBean)hospitalTreatmentListSave.get(i);
2035
2036 if(objTrtmServiceBean.getMode() == AuditBean.NEW_MODE)
2037 {
2038 Long primarykey = GOSIUtilities.getPrimaryKey("T_TRTMSERVICELIST",
2039 objTrtmServiceHeaderBean.getCreatedBy());
2040 objTrtmServiceBean.setTrtmServiceListId(primarykey);
2041 TrtmServiceListEntityHome home = (TrtmServiceListEntityHome)
2042 ServiceLocator.getInstance().getRemoteHome(
2043 OHConstants.TRTM_SRVC_LIST_ENTITY_JNDI,
2044 TrtmServiceListEntityHome.class);
2045 TrtmServiceListEntity remote =
2046 (TrtmServiceListEntity)home.create(objTrtmServiceBean);
2047 }
2048 if(objTrtmServiceBean.getMode() == AuditBean.MODIFY_MODE)
2049 {
2050 objTrtmServiceBean.setLastModifiedBy( objTrtmServiceBean.getCreatedBy());
2051 objTrtmServiceBean.setLastModifiedTimestamp( objTrtmServiceBean.getCreationTimestamp());
2052 TrtmServiceListEntityHome home = (TrtmServiceListEntityHome)
2053 ServiceLocator.getInstance().getRemoteHome(
2054 OHConstants.TRTM_SRVC_LIST_ENTITY_JNDI,
2055 TrtmServiceListEntityHome.class);
2056 Long primarykey = getTrtmServiceListKey(objTrtmServiceBean.getHospitalCode(),
2057 objTrtmServiceBean.getTreatmentCode());
2058 TrtmServiceListEntity remote =
2059 (TrtmServiceListEntity)home.findByPrimaryKey(primarykey);
2060 remote.modifyTrtmServiceBean(objTrtmServiceBean);
2061 }
2062 }
2063 }
2064 TrtmServiceListHistoryEntityHome home = getTrtmServiceListHistoryEntityHome();
2065
2066 TrtmServiceListHistoryEntity remote =
2067 home.findByPrimaryKey(
2068 objTrtmServiceHeaderBean.getWorkflowId());
2069
2070 remote.setTrtmServiceHeaderBean(objTrtmServiceHeaderBean);
2071
2072 if(workflowParamBean!=null)
2073 userName = GOSIUtilities.startWorkflow(workflowParamBean);
2074
2075 }
2076
2077 }
2078 catch(GOSIException ge)
2079 {
2080 GOSIDebug.debugMessages("The error in approveTrtmServicesDetails is:"+ge);
2081 ctx.setRollbackOnly();
2082 throw ge;
2083 }
2084 catch(Exception se)
2085 {
2086 GOSIDebug.debugMessages("The error in approveTrtmServicesDetails is:"+se);
2087 ctx.setRollbackOnly();
2088 se.printStackTrace();
2089
2090 throw new GOSIException(GOSIConstants.SEVERITY_ONE,
2091 GOSIConstants.SOCIAL_INSURANCE,
2092 this.getClass().toString(),
2093 "approveTrtmServicesDetails()",
2094 se,"CMN_ERR_1000" );
2095 }
2096 return userName;
2097
2098 }
2099
2100
2101/* This method is used to save treatment service */
2102 /**
2103 * @METHOD NAME : readTrtmServicesFileXLS
2104 * @INFORMATION : This method is to read Treatment Services list XLS File
2105 * @PARAM : class java.util.String,
2106 : class java.util.String
2107 * @RETURN : class java.util.ArrayList
2108 * @EXCEPTION : class gosi.core.util.GOSIException
2109 * @LAST MODIFIED BY :
2110 * @LAST MODIFIED DATE :
2111 **/
2112 public HashMap readTrtmServicesFileXLS(HashMap hashMapInterfaceInput)
2113 throws GOSIException
2114 {
2115
2116 short moduleId = 0;
2117 String filePath = "";
2118 String fileName = "";
2119 ArrayList inputList = null;
2120 HashMap interfaceOutput = new HashMap();
2121 String message="";
2122
2123 if(hashMapInterfaceInput != null)
2124 {
2125 inputList = (ArrayList)hashMapInterfaceInput.
2126 get("interfaceInput");
2127 moduleId = ((Short)inputList.get(0)).shortValue();
2128 filePath = (String)inputList.get(1);
2129 fileName = (String)inputList.get(2);
2130 }
2131
2132 GOSIDebug.debugMessages("file filePath: " + filePath);
2133 GOSIDebug.debugMessages("file fileName: " + fileName);
2134 String file = filePath +'/'+fileName;
2135
2136 GOSIDebug.debugMessages("file link: " + file);
2137
2138 ArrayList hospitalTreatmentList = new ArrayList();
2139 TrtmServiceBean objTrtmServiceBean = null;
2140
2141 File inputWorkbook = new File(file);
2142 Workbook w;
2143
2144 try {
2145 w = Workbook.getWorkbook(inputWorkbook);
2146 // Get the first sheet
2147 Sheet sheet = w.getSheet(0);
2148 // Loop over first 10 column and lines
2149
2150 for (int i = 1; i < sheet.getRows(); i++) {
2151
2152 objTrtmServiceBean = new TrtmServiceBean();
2153
2154 for (int j = 0; j < sheet.getColumns(); j++) {
2155
2156 Cell cell = sheet.getCell(j, i);
2157
2158 if(j==0)
2159 {
2160 objTrtmServiceBean.setTreatmentCode(cell.getContents());
2161 }
2162 else if(j==1)
2163 {
2164 objTrtmServiceBean.setTreatmentDescArb(cell.getContents());
2165
2166 }
2167 else if(j==2)
2168 {
2169 objTrtmServiceBean.setTreatmentDescEng(cell.getContents());
2170 }
2171 else if(j==3)
2172 {
2173 objTrtmServiceBean.setMedCategory(cell.getContents());
2174 }
2175 else if(j==4)
2176 {
2177 try{
2178 double servicePrice = Double.parseDouble(cell.getContents());
2179 objTrtmServiceBean.setPrice(servicePrice);
2180 }
2181 catch(Exception g){
2182 // message=GOSIErrorMessages.getErrorDesc("SOI_ERR_5804")+objTrtmServiceBean.getTreatmentCode();
2183 // interfaceOutput.put("message", message);
2184 }
2185 }
2186
2187 }// end for2
2188 if(!objTrtmServiceBean.getTreatmentCode().equals(""))
2189 hospitalTreatmentList.add(objTrtmServiceBean);
2190 GOSIDebug.debugMessages(i+" TreatmentCode : "+objTrtmServiceBean.getTreatmentCode()
2191 +" TreatmentDescArb : "+objTrtmServiceBean.getTreatmentDescArb()
2192 +" TreatmentDescEng: "+objTrtmServiceBean.getTreatmentDescEng()
2193 +" Price: "+objTrtmServiceBean.getPrice());
2194
2195 }// end for1
2196
2197
2198
2199 }
2200 catch (BiffException e) {
2201 e.printStackTrace();
2202 }
2203 catch(Exception se)
2204 {
2205 GOSIDebug.debugMessages("The error in readTrtmServicesFileXLS is:"+se);
2206 ctx.setRollbackOnly();
2207 se.printStackTrace();
2208 throw new GOSIException(GOSIConstants.SEVERITY_ONE,
2209 GOSIConstants.SOCIAL_INSURANCE,
2210 this.getClass().toString(),
2211 "readTrtmServicesFileXLS()",
2212 se,"SOI_ERR_5804");
2213 }
2214
2215 interfaceOutput.put("returnValue",hospitalTreatmentList);
2216 return interfaceOutput;
2217
2218 }
2219
2220
2221/* This method is used to save treatment service */
2222 /**
2223 * @METHOD NAME : readTrtmServicesFileXML
2224 * @INFORMATION : This method is to read Treatment Services list XML File
2225 * @PARAM : class java.util.String,
2226 : class java.util.String
2227 * @RETURN : class java.util.ArrayList
2228 * @EXCEPTION : class gosi.core.util.GOSIException
2229 * @LAST MODIFIED BY :
2230 * @LAST MODIFIED DATE :
2231 **/
2232 public HashMap readTrtmServicesFileXML(HashMap hashMapInterfaceInput)
2233 throws GOSIException
2234 {
2235
2236 short moduleId = 0;
2237 String filePath = "";
2238 String fileName = "";
2239 ArrayList inputList = null;
2240 HashMap interfaceOutput = new HashMap();
2241
2242 if(hashMapInterfaceInput != null)
2243 {
2244 inputList = (ArrayList)hashMapInterfaceInput.
2245 get("interfaceInput");
2246 moduleId = ((Short)inputList.get(0)).shortValue();
2247 filePath = (String)inputList.get(1);
2248 fileName = (String)inputList.get(2);
2249 }
2250
2251 GOSIDebug.debugMessages("file filePath: " + filePath);
2252 GOSIDebug.debugMessages("file fileName: " + fileName);
2253 String file = filePath +'/'+fileName;
2254
2255 GOSIDebug.debugMessages("file link: " + file);
2256
2257 FileInputStream fis = null;
2258 BufferedInputStream bis = null;
2259 DataInputStream dis = null;
2260 String dataxml = "";
2261
2262 ArrayList hospitalTreatmentList = new ArrayList();
2263
2264 try {
2265 fis = new FileInputStream(file);
2266
2267 // Here BufferedInputStream is added for fast reading.
2268 bis = new BufferedInputStream(fis);
2269 dis = new DataInputStream(bis);
2270
2271 // dis.available() returns 0 if the file does not have more lines.
2272 while (dis.available() != 0) {
2273
2274 // this statement reads the line from the file and print it to
2275 // the console.
2276 dataxml = dataxml + dis.readLine();
2277 }
2278
2279 int numAttributes = 5;
2280
2281 ArrayList parsedTreatmentServices = GOSIUtilities.xmlParser(dataxml,numAttributes);
2282
2283 TrtmServiceBean objTrtmServiceBean = null;
2284 GOSIDebug.debugMessages("parsedTreatmentServices size : "+
2285 parsedTreatmentServices.size());
2286 for (int k=0;k<(parsedTreatmentServices.size()/numAttributes);k++ )
2287 {
2288
2289 objTrtmServiceBean = new TrtmServiceBean();
2290
2291 int locator = k * numAttributes;
2292 objTrtmServiceBean.setTreatmentCode(GOSIUtilities.
2293 changeCharacterSet(parsedTreatmentServices.get(0+locator).toString()));
2294 objTrtmServiceBean.setTreatmentDescArb(GOSIUtilities.
2295 changeCharacterSet(parsedTreatmentServices.get(1+locator).toString()));
2296 objTrtmServiceBean.setTreatmentDescEng(GOSIUtilities.
2297 changeCharacterSet(parsedTreatmentServices.get(2+locator).toString()));
2298 objTrtmServiceBean.setMedCategory(GOSIUtilities.
2299 changeCharacterSet(parsedTreatmentServices.get(3+locator).toString()));
2300
2301 double servicePrice = Double.parseDouble(
2302 parsedTreatmentServices.get(4+locator).toString());
2303 objTrtmServiceBean.setPrice(servicePrice);
2304
2305 hospitalTreatmentList.add(objTrtmServiceBean);
2306 }
2307
2308
2309 // dispose all the resources after using them.
2310 fis.close();
2311 bis.close();
2312 dis.close();
2313
2314 interfaceOutput.put("returnValue",hospitalTreatmentList);
2315 return interfaceOutput;
2316
2317 }
2318 catch(GOSIException ge)
2319 {
2320 GOSIDebug.debugMessages("The error in readTrtmServicesFileXML is:"+ge);
2321 ctx.setRollbackOnly();
2322 throw ge;
2323 }
2324 catch(Exception se)
2325 {
2326 GOSIDebug.debugMessages("The error in readTrtmServicesFileXML is:"+se);
2327 ctx.setRollbackOnly();
2328 se.printStackTrace();
2329
2330 throw new GOSIException(GOSIConstants.SEVERITY_ONE,
2331 GOSIConstants.SOCIAL_INSURANCE,
2332 this.getClass().toString(),
2333 "readTrtmServicesFileXML()",
2334 se,"CMN_ERR_1000" );
2335 }
2336
2337 }
2338
2339/* This method is used to save treatment service */
2340 /**
2341 * @METHOD NAME : getTrtmServiceListKey
2342 * @INFORMATION : This method is to get Treatment Services list primaryKey
2343 * @PARAM : class java.util.Long,
2344 : class java.util.String
2345 * @RETURN : class java.lang.Long
2346 * @EXCEPTION : class gosi.core.util.GOSIException
2347 * @LAST MODIFIED BY :
2348 * @LAST MODIFIED DATE :
2349 **/
2350 public Long getTrtmServiceListKey(Long hospitalCode, String treatmentCode)
2351 throws GOSIException
2352 {
2353
2354 String userName=null;
2355 Long primarykey =null;
2356
2357 Exception ex = null;
2358 con = null;
2359 PreparedStatement ps = null;
2360 ResultSet rs = null;
2361
2362 String masterQuery = null;
2363 String message = "";
2364
2365 masterQuery = new StringBuffer("Select ").
2366 append("TRTMSERVICELISTID from ").
2367 append(SITables.T_TRTMSERVICELIST).
2368 append(" where HOSPITALCODE = ? AND TREATMENTCODE = ? ").
2369 toString();
2370
2371 try
2372 {
2373 con = GOSIUtilities.getConnection(GOSIConstants.OCCUPATIONAL_HAZARDS_ID);
2374
2375 // Load from the data base
2376 ps = con.prepareStatement(masterQuery);
2377 ps.setLong(1, hospitalCode);
2378 ps.setString(2, treatmentCode);
2379 rs = ps.executeQuery();
2380 if (!rs.next())
2381 {
2382 throw new GOSIException(GOSIConstants.SEVERITY_THREE,
2383 GOSIConstants.SOCIAL_INSURANCE,
2384 this.getClass().toString(),
2385 "getTrtmServiceListKey()",
2386 null,
2387 "CMN_ERR_1000"
2388 );
2389 }
2390
2391 primarykey = rs.getLong("TRTMSERVICELISTID");
2392
2393 }
2394 catch(GOSIException ge)
2395 {
2396 GOSIDebug.debugMessages("The error in getTrtmServiceListKey is:"+ge);
2397 ctx.setRollbackOnly();
2398 throw ge;
2399 }
2400 catch(Exception se)
2401 {
2402 GOSIDebug.debugMessages("The error in getTrtmServiceListKey is:"+se);
2403 ctx.setRollbackOnly();
2404 se.printStackTrace();
2405
2406 throw new GOSIException(GOSIConstants.SEVERITY_ONE,
2407 GOSIConstants.SOCIAL_INSURANCE,
2408 this.getClass().toString(),
2409 "getTrtmServiceListKey()",
2410 se,"CMN_ERR_1000" );
2411 }
2412 return primarykey;
2413
2414
2415 }
2416
2417/**
2418 * @METHOD NAME : getTrtmServiceListHistoryEntityHome
2419 * @INFORMATION : This method returns the Home reference of
2420 OvertimeRequestEntity
2421 * @PARAM : Nil
2422 * @RETURN : interface gosi.database.socialinsurance.
2423 occupationalhazards.injury.entity.TrtmServiceListHistoryEntityHome
2424 * @EXCEPTION : class gosi.core.util.GOSIException
2425 * @LAST MODIFIED BY :
2426 * @LAST MODIFIED DATE :
2427**/
2428private TrtmServiceListHistoryEntityHome getTrtmServiceListHistoryEntityHome()
2429 throws GOSIException
2430 {
2431 TrtmServiceListHistoryEntityHome trtmServiceListHistoryEntityHome =
2432 (TrtmServiceListHistoryEntityHome) ServiceLocator.getInstance().getRemoteHome
2433 (OHConstants.TRTM_SRVC_LIST_HISTORY_ENTITY_JNDI, TrtmServiceListHistoryEntityHome.class);
2434 return trtmServiceListHistoryEntityHome;
2435 }
2436
2437
2438 /* This method is used to save treatment service */
2439 /**
2440 * @METHOD NAME : saveTreatmentService
2441 * @INFORMATION : This method is to save Treatment Service
2442 * @PARAM : class java.util.ArrayList,
2443 class gosi.business.socialinsurance.occupationalhazards.injury.beans.InjuryPopDetails,
2444 class gosi.core.workflow.beans.WorkflowParamBean,
2445 class java.util.ArrayList,
2446 class gosi.core.dms.beans.DMSRequestHeaderBean
2447 * @RETURN : class java.lang.String
2448 * @EXCEPTION : class gosi.core.util.GOSIException
2449 * @LAST MODIFIED BY :
2450 * @LAST MODIFIED DATE :
2451 **/
2452 public String saveTreatmentService(ArrayList serviceList,
2453 InjuryPopDetails injuryBean,WorkflowParamBean workflowParamBean,
2454 ArrayList workflowIds,DMSRequestHeaderBean dmsHeaderBean)
2455 throws GOSIException
2456 {
2457 int listSize = 0;
2458 int serviceListSize = 0;
2459 int workFlowListSize = 0;
2460 long timeCounter = 0;
2461 String userName=null;
2462
2463 try
2464 {
2465
2466 ArrayList headerList = getHeaderList(serviceList,injuryBean);
2467 Long injuryId = ((TreatmentHeaderBean)headerList.get(0)).
2468 getInjuryId();
2469 GOSIDebug.debugMessages("Injury id______________"+injuryId);
2470
2471 timeCounter = System.currentTimeMillis();
2472
2473 if(headerList != null )
2474 {
2475 listSize = headerList.size();
2476 }
2477 for(int i = 0;i < listSize;i++)
2478 {
2479 TreatmentHeaderBean headerBean = new TreatmentHeaderBean();
2480 headerBean = (TreatmentHeaderBean)headerList.get(i);
2481 Long headerId =getHeader(headerBean);
2482 if(headerId == null)
2483 {
2484 headerBean.setTrmtServiceHdrId
2485 (GOSIUtilities.getPrimaryKey("T_TRMTSERVICESHDR",
2486 headerBean.getCreatedBy()));
2487 GOSIDebug.debugMessages("_________________::"+
2488 headerBean.getTrmtServiceHdrId());
2489 headerBean.setCreationTimestamp(new Timestamp(
2490 System.currentTimeMillis()));
2491 ((TreatmentHeaderBean)headerList.get(i)).
2492 setTrmtServiceHdrId
2493 (headerBean.getTrmtServiceHdrId());
2494 // Context cntx = GOSIUtilities.getInitialContext();
2495 // Object ref = cntx.lookup(OHConstants.
2496 // TRMT_SRVC_HDR_ENTITY_JNDI);
2497 // TreatmentServiceHeaderEntityHome home =
2498 // (TreatmentServiceHeaderEntityHome)PortableRemoteObject.
2499 // narrow(ref,TreatmentServiceHeaderEntityHome.class);
2500 TreatmentServiceHeaderEntityHome home = (TreatmentServiceHeaderEntityHome)
2501 ServiceLocator.getInstance().getRemoteHome(
2502 OHConstants.TRMT_SRVC_HDR_ENTITY_JNDI,
2503 TreatmentServiceHeaderEntityHome.class);
2504 TreatmentServiceHeaderEntity headerRemote =
2505 (TreatmentServiceHeaderEntity)home.create(headerBean);
2506 }
2507 else
2508 {
2509 GOSIDebug.debugMessages("header already present:"+
2510 headerId);
2511 ((TreatmentHeaderBean)headerList.get(i)).
2512 setTrmtServiceHdrId(headerId);
2513 }
2514 }
2515
2516 if(serviceList != null)
2517 {
2518 serviceListSize = serviceList.size();
2519 }
2520 for(int i = 0;i < serviceListSize;i++)
2521 {
2522 TreatmentServiceBean serviceBean = (TreatmentServiceBean)
2523 serviceList.get(i);
2524
2525 if(injuryBean.getFileNumber()!=null)
2526 {
2527 serviceBean.setFileNumber(injuryBean.getFileNumber());
2528 serviceBean.setPageNumber(injuryBean.getPageNumber());
2529 }
2530 for(int j = 0;j < listSize;j++)
2531 {
2532 TreatmentHeaderBean headerBean = (TreatmentHeaderBean)
2533 headerList.get(j);
2534 if((serviceBean.getHospitalCode().
2535 equals(headerBean.getHospitalCode()))
2536 &&(serviceBean.getPatientNumber().
2537 equals(headerBean.getPatientNumber())))
2538 {
2539 ((TreatmentServiceBean)serviceList.get(i)).
2540 setTrmtServiceHdrId
2541 (headerBean.getTrmtServiceHdrId());
2542 break;
2543 }
2544 GOSIDebug.debugMessages("HeaderId Not Found");
2545 }
2546 }
2547
2548 GOSIDebug.debugMessages("\nTreatment header created\n");
2549 for(int i = 0;i < serviceListSize;i++)
2550 {
2551 TreatmentServiceBean trmtServiceBean =
2552 new TreatmentServiceBean();
2553 trmtServiceBean =
2554 (TreatmentServiceBean)serviceList.get(i);
2555
2556 if((trmtServiceBean.getMedicineDescription() != null)
2557 &&(!(("").equals(trmtServiceBean.
2558 getMedicineDescription()))))
2559 {
2560 trmtServiceBean.setTrmtDesc
2561 (trmtServiceBean.getMedicineDescription()
2562 .replace('\'','\"'));
2563 trmtServiceBean.setTrmtAmt(
2564 trmtServiceBean.getMedicineAmount());
2565 trmtServiceBean.setTrmtCode
2566 (OHConstants.ICD_MEDICINE_CODE);
2567
2568 }
2569
2570 trmtServiceBean.setTrmtServiceDetId
2571 (GOSIUtilities.getPrimaryKey("T_TRMTSERVICESDET",
2572 trmtServiceBean.getCreatedBy()));
2573 GOSIDebug.debugMessages("DTL ID:"+
2574 trmtServiceBean.getTrmtServiceDetId());
2575 trmtServiceBean.setCreationTimestamp(
2576 new Timestamp(System.currentTimeMillis()));
2577 GOSIDebug.debugMessages("hdr id &&&&&&&" +
2578 trmtServiceBean.getTrmtServiceHdrId());
2579 // Context cntx=GOSIUtilities.getInitialContext();
2580 // Object ref=cntx.lookup
2581 // (OHConstants.TRMT_SRVC_DET_ENTITY_JNDI);
2582 // TreatmentServiceDetailEntityHome home =
2583 // (TreatmentServiceDetailEntityHome)PortableRemoteObject.
2584 // narrow(ref,TreatmentServiceDetailEntityHome.class);
2585 TreatmentServiceDetailEntityHome home = (TreatmentServiceDetailEntityHome)
2586 ServiceLocator.getInstance().getRemoteHome(
2587 OHConstants.TRMT_SRVC_DET_ENTITY_JNDI,
2588 TreatmentServiceDetailEntityHome.class);
2589 TreatmentServiceDetailEntity detailRemote =
2590 (TreatmentServiceDetailEntity)home.create(trmtServiceBean);
2591 }
2592 GOSIDebug.debugMessages("Treatment Detail created\n");
2593 if(workflowIds.size() > 0)
2594 {
2595 workFlowListSize = workflowIds.size();
2596 for(int i = 0;i < workFlowListSize;i++)
2597 {
2598 String primarykey = ((Long)workflowIds.get(i)).
2599 toString();
2600 workflowParamBean.setPrimaryKeyOfTherecord(primarykey);
2601 userName = GOSIUtilities.startWorkflow
2602 (workflowParamBean);
2603 }
2604 }
2605 if(dmsHeaderBean != null)
2606 {
2607 dmsHeaderBean.setSourceRecordId
2608 ("" + injuryBean.getInjuryID());
2609 dmsHeaderBean.
2610 setSourceTable(SITables.T_INJURY);
2611 dmsHeaderBean.setCreatedBy
2612 (new Long (workflowParamBean.getUserId()));
2613 dmsHeaderBean.setKeyList(DMSConstants.SI_NUMBER,
2614 ""+injuryBean.getSocialInsuranceNumber());
2615 dmsHeaderBean.setKeyList(DMSConstants.INJURY_NUMBER,
2616 ""+injuryBean.getInjuryNumber());
2617 dmsHeaderBean.setKeyList(OHConstants.DMS_SERVICE_TYPE,
2618 ""+OHConstants.SERVICE_TYPE_TRMT);
2619 DMSUtilities.startDMS(dmsHeaderBean);
2620 }
2621
2622
2623 GOSIInstrumentationLog.writeInstrumentationToLog(
2624 this.getClass().toString(),
2625 "saveTreatmentService()",
2626 (System.currentTimeMillis() - timeCounter));
2627 }
2628 catch(GOSIException ge)
2629 {
2630 GOSIDebug.debugMessages("The error in trmt srvc save is:"+ge);
2631 ctx.setRollbackOnly();
2632 throw ge;
2633 }
2634 catch(Exception se)
2635 {
2636 GOSIDebug.debugMessages("The error in trmt srvc save is:"+se);
2637 ctx.setRollbackOnly();
2638 se.printStackTrace();
2639
2640 throw new GOSIException(GOSIConstants.SEVERITY_ONE,
2641 GOSIConstants.SOCIAL_INSURANCE,
2642 this.getClass().toString(),
2643 "saveTreatmentService()",
2644 se,"CMN_ERR_1000" );
2645 }
2646 return userName;
2647 }
2648
2649 /* This method is used to get the header details */
2650 /**
2651 * @METHOD NAME : getHeaderList
2652 * @INFORMATION : This method is to get Header List
2653 * @PARAM : class java.util.ArrayList,
2654 class gosi.business.socialinsurance.occupationalhazards.injury.beans.InjuryPopDetails
2655 * @RETURN : class java.util.ArrayList
2656 * @EXCEPTION :
2657 * @LAST MODIFIED BY :
2658 * @LAST MODIFIED DATE :
2659 **/
2660 private ArrayList getHeaderList(ArrayList serviceList,
2661 InjuryPopDetails injuryBean)
2662 {
2663 ArrayList headerList = new ArrayList();
2664 int listSize = 0;
2665 int serviceListSize = 0;
2666 long timeCounter = 0;
2667
2668 timeCounter = System.currentTimeMillis();
2669 Long injuryId = injuryBean.getInjuryID();
2670 Long socInsNumber = injuryBean.getSocialInsuranceNumber();
2671 if(serviceList != null)
2672 {
2673 serviceListSize = serviceList.size();
2674 }
2675 for (int i = 0;i < serviceListSize;i++)
2676 {
2677 TreatmentServiceBean serviceBean =
2678 new TreatmentServiceBean();
2679 serviceBean = (TreatmentServiceBean)
2680 serviceList.get(i);
2681 boolean flag = true;
2682 if(headerList.size()!= 0)
2683 {
2684 listSize = headerList.size();
2685 for(int j = 0;j < listSize;j++)
2686 {
2687 TreatmentHeaderBean headerBean=new
2688 TreatmentHeaderBean();
2689 headerBean=(TreatmentHeaderBean)
2690 headerList.get(j);
2691 if((serviceBean.getHospitalCode().
2692 equals(headerBean.getHospitalCode()))&&
2693 (serviceBean.getPatientNumber().equals
2694 (headerBean.getPatientNumber())))
2695 {
2696 flag = false;
2697 break;
2698 }
2699 }
2700 }
2701 if(flag)
2702 {
2703 TreatmentHeaderBean trmtHeaderBean = new
2704 TreatmentHeaderBean();
2705 trmtHeaderBean.setInjuryId(injuryId);
2706 trmtHeaderBean.setSocInsNumber(socInsNumber);
2707 trmtHeaderBean.setHospitalCode
2708 (serviceBean.getHospitalCode());
2709 trmtHeaderBean.setPatientNumber
2710 (serviceBean.getPatientNumber());
2711 trmtHeaderBean.setCreatedBy
2712 (serviceBean.getCreatedBy());
2713 GOSIDebug.debugMessages("userId:"+
2714 serviceBean.getCreatedBy());
2715 headerList.add(trmtHeaderBean);
2716 }
2717 }
2718
2719 for (int i = 0;i < headerList.size();i++)
2720 {
2721 TreatmentHeaderBean bTreatmentHeader=
2722 new TreatmentHeaderBean();
2723 bTreatmentHeader = (TreatmentHeaderBean)headerList.get(i);
2724 GOSIDebug.debugMessages("Patient numbers in h are-"+
2725 bTreatmentHeader.getPatientNumber());
2726 }
2727
2728 GOSIInstrumentationLog.writeInstrumentationToLog(
2729 this.getClass().toString(),
2730 "getHeaderList()",
2731 (System.currentTimeMillis() - timeCounter));
2732
2733 return headerList;
2734 }
2735
2736 /**
2737 * @METHOD NAME : MaintainTreatmentServiceSessionEJB
2738 * @INFORMATION : This method is the constructor$
2739 * @PARAM : class java.lang.String
2740 * @RETURN : class java.lang.Class
2741 * @EXCEPTION :
2742 * @LAST MODIFIED BY :
2743 * @LAST MODIFIED DATE :
2744 **/
2745 public MaintainTreatmentServiceSessionEJB ()
2746 {
2747
2748 }
2749
2750 /**
2751 * @METHOD NAME : ejbCreate
2752 * @INFORMATION : This method is to ejb Create
2753 * @PARAM :
2754 * @RETURN : void
2755 * @EXCEPTION :
2756 * @LAST MODIFIED BY :
2757 * @LAST MODIFIED DATE :
2758 **/
2759 public void ejbCreate ()
2760 {
2761
2762 }
2763
2764 /**
2765 * @METHOD NAME : ejbRemove
2766 * @INFORMATION : This method is to ejb Remove
2767 * @PARAM :
2768 * @RETURN : void
2769 * @EXCEPTION :
2770 * @LAST MODIFIED BY :
2771 * @LAST MODIFIED DATE :
2772 **/
2773 public void ejbRemove ()
2774 {
2775
2776 }
2777
2778 /**
2779 * @METHOD NAME : ejbActivate
2780 * @INFORMATION : This method is to ejb Activate
2781 * @PARAM :
2782 * @RETURN : void
2783 * @EXCEPTION :
2784 * @LAST MODIFIED BY :
2785 * @LAST MODIFIED DATE :
2786 **/
2787 public void ejbActivate ()
2788 {
2789
2790 }
2791
2792 /**
2793 * @METHOD NAME : ejbPassivate
2794 * @INFORMATION : This method is to ejb Passivate
2795 * @PARAM :
2796 * @RETURN : void
2797 * @EXCEPTION :
2798 * @LAST MODIFIED BY :
2799 * @LAST MODIFIED DATE :
2800 **/
2801 public void ejbPassivate ()
2802 {
2803
2804 }
2805
2806
2807 /**
2808 * @METHOD NAME : setSessionContext
2809 * @INFORMATION : This method is to set Session Context
2810 * @PARAM : interface javax.ejb.SessionContext
2811 * @RETURN : void
2812 * @EXCEPTION : class javax.ejb.EJBException,
2813 class java.rmi.RemoteException
2814 * @LAST MODIFIED BY :
2815 * @LAST MODIFIED DATE :
2816 **/
2817 public void setSessionContext (SessionContext sessioncontext)
2818 throws EJBException,RemoteException
2819 {
2820 this.ctx = sessioncontext;
2821 }
2822
2823 /* This method is used to get the hospital code */
2824 /**
2825 * @METHOD NAME : getHospital
2826 * @INFORMATION : This method is to get Hospital
2827 * @PARAM : long,
2828 class java.sql.Date
2829 * @RETURN : long
2830 * @EXCEPTION : class gosi.core.util.GOSIException
2831 * @LAST MODIFIED BY :
2832 * @LAST MODIFIED DATE :
2833 **/
2834 public long getHospital(long injuryId,java.sql.Date treatmentDate)
2835 throws GOSIException
2836 {
2837 long timeCounter = 0;
2838 long hospitalCode = 0;
2839 StringBuffer sbQuery = new StringBuffer();
2840
2841 try
2842 {
2843
2844 timeCounter = System.currentTimeMillis();
2845
2846 sbQuery = sbQuery.delete(0,sbQuery.length());
2847 sbQuery.append(" SELECT HOSPITALCODE FROM ");
2848 sbQuery.append( SITables.T_TREATMENT + " WHERE ");
2849 sbQuery.append(" STARTDATE <= ? ");
2850 sbQuery.append(" AND ENDDATE >= ? ");
2851 sbQuery.append(" AND INJURYID = ? ");
2852
2853 GOSIDebug.debugMessages("sqlQuery " +sbQuery);
2854
2855 con = GOSIUtilities.getConnection
2856 (GOSIConstants.OCCUPATIONAL_HAZARDS_ID);
2857 p = con.prepareStatement(sbQuery.toString());
2858
2859 p.setDate(1,treatmentDate);
2860 p.setDate(2,treatmentDate);
2861 p.setLong(3,injuryId);
2862
2863 rs = p.executeQuery();
2864
2865 while(rs.next())
2866 {
2867 hospitalCode = rs.getLong(1);
2868 }
2869 sbQuery = sbQuery.delete(0,sbQuery.length());
2870
2871 }
2872 catch(Exception se)
2873 {
2874 se.printStackTrace();
2875 throw new GOSIException( GOSIConstants.SEVERITY_ONE,
2876 GOSIConstants.SOCIAL_INSURANCE,
2877 this.getClass().toString(),
2878 "getHospital()",se,"CMN_ERR_1000" );
2879 }
2880 finally
2881 {
2882 try
2883 {
2884 GOSIUtilities.cleanUp(con, p, rs);
2885 }
2886 catch(Exception se)
2887 {
2888 se.printStackTrace();
2889 throw new GOSIException( GOSIConstants.SEVERITY_ONE,
2890 GOSIConstants.SOCIAL_INSURANCE,
2891 this.getClass().toString(),
2892 "getHospital()",
2893 se,"CMN_ERR_1000" );
2894 }
2895 }
2896 GOSIInstrumentationLog.writeInstrumentationToLog(
2897 this.getClass().toString(),
2898 "getHospital()",
2899 (System.currentTimeMillis() - timeCounter));
2900
2901 return hospitalCode ;
2902
2903 }
2904
2905 /* This method is used to get the header id */
2906 /**
2907 * @METHOD NAME : getHeader
2908 * @INFORMATION : This method is to get Header
2909 * @PARAM : class gosi.business.socialinsurance.occupationalhazards.injury.beans.TreatmentHeaderBean
2910 * @RETURN : class java.lang.Long
2911 * @EXCEPTION : class gosi.core.util.GOSIException
2912 * @LAST MODIFIED BY :
2913 * @LAST MODIFIED DATE :
2914 **/
2915 private Long getHeader(TreatmentHeaderBean
2916 oTreatmentHeader)throws GOSIException
2917 {
2918 Long headerId = null;
2919 long timeCounter = 0;
2920 StringBuffer sbQuery = new StringBuffer();
2921
2922 try
2923 {
2924 timeCounter = System.currentTimeMillis();
2925 sbQuery = sbQuery.delete(0,sbQuery.length());
2926
2927 sbQuery.append(" SELECT trmtservicehdrid FROM ");
2928 sbQuery.append( SITables.T_TRMTSERVICESHDR + " WHERE ");
2929 sbQuery.append(" hospitalcode = ? ");
2930 sbQuery.append(" AND patientnumber = ? AND injuryid = ? ");
2931
2932 GOSIDebug.debugMessages("sqlQuery " +sbQuery);
2933
2934
2935 con = GOSIUtilities.getConnection(GOSIConstants.
2936 OCCUPATIONAL_HAZARDS_ID);
2937 p = con.prepareStatement(sbQuery.toString());
2938 p.setLong(1,oTreatmentHeader.getHospitalCode().longValue());
2939 p.setString(2,oTreatmentHeader.getPatientNumber());
2940 p.setLong(3,oTreatmentHeader.getInjuryId().longValue());
2941 GOSIDebug.debugMessages("HospitalCode_"+
2942 oTreatmentHeader.getHospitalCode());
2943 GOSIDebug.debugMessages("PatientNumber_"+
2944 oTreatmentHeader.getPatientNumber());
2945 rs = p.executeQuery();
2946
2947 while(rs.next())
2948 {
2949 if(rs.getLong("trmtServiceHdrId")!=0)
2950 {
2951 headerId= new Long(rs.getLong("trmtServiceHdrId"));
2952 }
2953 }
2954 sbQuery = sbQuery.delete(0,sbQuery.length());
2955 }
2956 catch(GOSIException ge)
2957 {
2958 throw ge;
2959 }
2960 catch(Exception se)
2961 {
2962 se.printStackTrace();
2963 throw new GOSIException( GOSIConstants.SEVERITY_ONE,
2964 GOSIConstants.SOCIAL_INSURANCE,
2965 this.getClass().toString(),
2966 "getHeader()",se,"CMN_ERR_1000" );
2967 }
2968 finally
2969 {
2970 GOSIUtilities.cleanUp(con, p, rs);
2971 }
2972
2973 GOSIInstrumentationLog.writeInstrumentationToLog(
2974 this.getClass().toString(),
2975 "getHeader()",
2976 (System.currentTimeMillis() - timeCounter));
2977
2978 GOSIDebug.debugMessages("headerId value:"+headerId);
2979
2980
2981 return headerId;
2982
2983 }
2984
2985 /* This method is used to get the primary key details */
2986 /**
2987 * @METHOD NAME : getPrimaryKeyDetails
2988 * @INFORMATION : This method is to get Primary Key Details
2989 * @PARAM :
2990 * @RETURN : class java.lang.Long
2991 * @EXCEPTION : class gosi.core.util.GOSIException
2992 * @LAST MODIFIED BY :
2993 * @LAST MODIFIED DATE :
2994 **/
2995 private Long getPrimaryKeyDetails()throws GOSIException
2996 {
2997 Long x = null;
2998 long timeCounter = 0;
2999 StringBuffer sbQuery = new StringBuffer();
3000
3001 try
3002 {
3003 timeCounter = System.currentTimeMillis();
3004 sbQuery = sbQuery.delete(0,sbQuery.length());
3005
3006 sbQuery.append(" SELECT MAX(TRMTSERVICEDETID) FROM " );
3007 sbQuery.append( SITables.T_TRMTSERVICESDET);
3008
3009 GOSIDebug.debugMessages("sqlQuery " +sbQuery);
3010
3011 con = GOSIUtilities.getConnection(GOSIConstants.
3012 OCCUPATIONAL_HAZARDS_ID);
3013 p = con.prepareStatement(sbQuery.toString());
3014 rs = p.executeQuery();
3015
3016 while(rs.next())
3017 {
3018 x = new Long(rs.getLong(1)+1);
3019 }
3020 sbQuery = sbQuery.delete(0,sbQuery.length());
3021
3022 }
3023 catch(Exception se)
3024 {
3025 se.printStackTrace();
3026 throw new GOSIException( GOSIConstants.SEVERITY_ONE,
3027 GOSIConstants.SOCIAL_INSURANCE,
3028 this.getClass().toString(),
3029 "getPrimaryKeyDetails()",
3030 se,"CMN_ERR_1000" );
3031 }
3032 finally
3033 {
3034 try
3035 {
3036 GOSIUtilities.cleanUp(con, p, rs);
3037 }
3038 catch(Exception se)
3039 {
3040 se.printStackTrace();
3041 throw new GOSIException( GOSIConstants.SEVERITY_ONE,
3042 GOSIConstants.SOCIAL_INSURANCE,
3043 this.getClass().toString(),
3044 "getPrimaryKeyDetails()",
3045 se,"CMN_ERR_1000" );
3046 }
3047 }
3048
3049 GOSIInstrumentationLog.writeInstrumentationToLog(
3050 this.getClass().toString(),
3051 "getPrimaryKeyDetails()",
3052 (System.currentTimeMillis() - timeCounter));
3053
3054 return x;
3055
3056 }
3057 /* This method is used to get the primary key header */
3058 /**
3059 * @METHOD NAME : getPrimaryKeyHeader
3060 * @INFORMATION : This method is to get Primary Key Header
3061 * @PARAM :
3062 * @RETURN : long
3063 * @EXCEPTION : class gosi.core.util.GOSIException
3064 * @LAST MODIFIED BY :
3065 * @LAST MODIFIED DATE :
3066 **/
3067 private long getPrimaryKeyHeader()throws GOSIException
3068 {
3069 long x = 0;
3070 long timeCounter = 0;
3071 StringBuffer sbQuery = new StringBuffer();
3072
3073 try
3074 {
3075
3076 timeCounter = System.currentTimeMillis();
3077 sbQuery = sbQuery.delete(0,sbQuery.length());
3078
3079 sbQuery.append(" SELECT MAX(TRMTSERVICEHDRID) FROM ");
3080 sbQuery.append( SITables.T_TRMTSERVICESHDR);
3081
3082
3083 GOSIDebug.debugMessages("sqlQuery " +sbQuery);
3084
3085 con = GOSIUtilities.getConnection
3086 (GOSIConstants.OCCUPATIONAL_HAZARDS_ID);
3087
3088 p = con.prepareStatement(sbQuery.toString());
3089 rs = p.executeQuery();
3090
3091 while(rs.next())
3092 {
3093 x = (rs.getLong(1)+1);
3094 }
3095 sbQuery = sbQuery.delete(0,sbQuery.length());
3096
3097 }
3098 catch(Exception se)
3099 {
3100 se.printStackTrace();
3101 throw new GOSIException( GOSIConstants.SEVERITY_ONE,
3102 GOSIConstants.SOCIAL_INSURANCE,
3103 this.getClass().toString(),
3104 "getPrimaryKeyHeader()",
3105 se,"CMN_ERR_1000" );
3106 }
3107 finally
3108 {
3109 GOSIUtilities.cleanUp(con, p, rs);
3110 }
3111
3112 GOSIInstrumentationLog.writeInstrumentationToLog(
3113 this.getClass().toString(),
3114 "getPrimaryKeyHeader()",
3115 (System.currentTimeMillis() - timeCounter));
3116
3117 return x;
3118
3119 }
3120 /* This method is used to get the header id */
3121 /**
3122 * @METHOD NAME : getHeaderId
3123 * @INFORMATION : This method is to get Header Id
3124 * @PARAM : class gosi.business.socialinsurance.occupationalhazards.injury.beans.TreatmentServiceBean,
3125 class java.lang.Long
3126 * @RETURN : class java.lang.Long
3127 * @EXCEPTION : class gosi.core.util.GOSIException
3128 * @LAST MODIFIED BY :
3129 * @LAST MODIFIED DATE :
3130 **/
3131 private Long getHeaderId(TreatmentServiceBean
3132 oTreatmentService,Long injuryId)throws GOSIException
3133 {
3134 Long x = null;
3135 long timeCounter = 0;
3136 StringBuffer sbQuery = new StringBuffer();
3137
3138 try
3139 {
3140 timeCounter = System.currentTimeMillis();
3141 sbQuery = sbQuery.delete(0,sbQuery.length());
3142
3143 sbQuery.append(" SELECT trmtservicehdrid FROM ");
3144 sbQuery.append( SITables.T_TRMTSERVICESHDR + " WHERE ");
3145 sbQuery.append(" hospitalcode = ? ");
3146 sbQuery.append(" AND patientnumber = ? AND injuryid = ? " );
3147
3148 GOSIDebug.debugMessages("sqlQuery " +sbQuery);
3149 GOSIDebug.debugMessages
3150 ("Injury id____"+injuryId+"___HospitalCode____"+
3151 oTreatmentService.getHospitalCode()+
3152 "___PatientNumber___"+oTreatmentService.getPatientNumber());
3153 con =GOSIUtilities.getConnection
3154 (GOSIConstants.OCCUPATIONAL_HAZARDS_ID);
3155
3156 p = con.prepareStatement(sbQuery.toString());
3157
3158 p.setLong(1,oTreatmentService.getHospitalCode().longValue());
3159 p.setString(2,oTreatmentService.getPatientNumber());
3160 p.setLong(3,injuryId.longValue());
3161 rs = p.executeQuery();
3162 GOSIDebug.debugMessages("b4 while in get header");
3163 while(rs.next())
3164 {
3165 x = new Long(rs.getLong(1));
3166 GOSIDebug.debugMessages("headerId___________________X"+x);
3167 }
3168 sbQuery = sbQuery.delete(0,sbQuery.length());
3169
3170 }
3171 catch (GOSIException ge)
3172 {
3173 GOSIDebug.debugMessages("error in getheaderId:"+ge);
3174 throw ge;
3175 }
3176 catch(Exception se)
3177 {
3178 GOSIDebug.debugMessages("error in getheaderId:"+se);
3179 se.printStackTrace();
3180 throw new GOSIException( GOSIConstants.SEVERITY_ONE,
3181 GOSIConstants.SOCIAL_INSURANCE,
3182 this.getClass().toString(),"getHeaderId()",
3183 se,"CMN_ERR_1000" );
3184 }
3185 finally
3186 {
3187 GOSIUtilities.cleanUp(con, p, rs);
3188 }
3189
3190 GOSIInstrumentationLog.writeInstrumentationToLog(
3191 this.getClass().toString(),
3192 "getHeaderId()",
3193 (System.currentTimeMillis() - timeCounter));
3194
3195 return x;
3196 }
3197
3198 /* This method is used to get the treatment periods*/
3199 /**
3200 * @METHOD NAME : getTreatmentPeriod
3201 * @INFORMATION : This method is to get Treatment Period
3202 * @PARAM : long
3203 * @RETURN : class [Ljava.sql.Date;
3204 * @EXCEPTION : class gosi.core.util.GOSIException
3205 * @LAST MODIFIED BY :
3206 * @LAST MODIFIED DATE :
3207 **/
3208 public java.sql.Date[] getTreatmentPeriod(long injuryId)
3209 throws GOSIException
3210 {
3211 long timeCounter = 0;
3212 java.sql.Date [] aDate = new java.sql.Date [2];
3213 StringBuffer sbQuery = new StringBuffer();
3214
3215 try
3216 {
3217 timeCounter = System.currentTimeMillis();
3218 sbQuery = sbQuery.delete(0,sbQuery.length());
3219
3220 sbQuery.append(" SELECT TREATMENTSTDATE, ");
3221 sbQuery.append(" TREATMENTENDDATE FROM ");
3222 sbQuery.append( SITables.T_INJURY + " WHERE INJURYID = ? ");
3223
3224 GOSIDebug.debugMessages("sqlQuery " +sbQuery);
3225
3226 con = GOSIUtilities.getConnection
3227 (GOSIConstants.OCCUPATIONAL_HAZARDS_ID);
3228
3229 p = con.prepareStatement(sbQuery.toString());
3230 p.setLong(1,injuryId);
3231
3232 rs = p.executeQuery();
3233
3234 while(rs.next())
3235 {
3236 aDate[0] = rs.getDate(1);
3237 aDate[1] = rs.getDate(2);
3238 }
3239 sbQuery = sbQuery.delete(0,sbQuery.length());
3240
3241 }
3242 catch(Exception e)
3243 {
3244 GOSIDebug.debugMessages("Excep inside Search Treatment Type:"+e);
3245 }
3246 finally
3247 {
3248 try
3249 {
3250 GOSIUtilities.cleanUp(con, p, rs);
3251 }
3252 catch(Exception e)
3253 {
3254 GOSIDebug.debugMessages("Exception Inside pop injury " +e);
3255 }
3256 }
3257
3258 GOSIInstrumentationLog.writeInstrumentationToLog(
3259 this.getClass().toString(),
3260 "getTreatmentPeriod()",
3261 (System.currentTimeMillis() - timeCounter));
3262
3263 return aDate;
3264
3265 }
3266 /* This method is used to search the treatment details */
3267 /**
3268 * @METHOD NAME : searchTreatmentTypeList
3269 * @INFORMATION : This method is to search Treatment Type List
3270 * @PARAM : class gosi.business.socialinsurance.occupationalhazards.injury.beans.TreatmentTypeBean
3271 * @RETURN : class java.util.ArrayList
3272 * @EXCEPTION : class gosi.core.util.GOSIException
3273 * @LAST MODIFIED BY :
3274 * @LAST MODIFIED DATE :
3275 **/
3276 public ArrayList searchTreatmentTypeList
3277 (TreatmentTypeBean searchBean) throws GOSIException
3278 {
3279 long hospitalCode = 0;
3280 long timeCounter = 0;
3281 String trmtCode = "";
3282 String trmtDate = "";
3283 ArrayList treatmentTypeList = new ArrayList();
3284 Connection con = null;
3285 PreparedStatement ps = null;
3286 ResultSet rs = null;
3287 StringBuffer sbQuery = new StringBuffer();
3288 Timestamp trmtDateGreg = null;
3289
3290 try
3291 {
3292 timeCounter = System.currentTimeMillis();
3293
3294 String entFmt = OHUtilities.getDateFormat(searchBean.getTrmtDateStr());
3295 trmtDateGreg = OHUtilities.getGregDate(searchBean.getTrmtDateStr(),entFmt);
3296 searchBean.setTrmtDate(trmtDateGreg);
3297
3298 GOSIDebug.debugMessages("trmt date str " +
3299 searchBean.getTrmtDateStr() );
3300 GOSIDebug.debugMessages("trmt format " +
3301 searchBean.getTrmtDateEntFmt());
3302
3303 /*
3304 if(OHConstants.HIJRAH.equals
3305 (searchBean.getTrmtDateEntFmt()))
3306 {
3307 trmtDate=GOSIDateUtilities.convertToGregorian
3308 (searchBean.getTrmtDateStr());
3309 searchBean.setTrmtDate
3310 (GOSIUtilities.getTimestamp(trmtDate));
3311 }
3312 else
3313 {
3314 trmtDate =GOSIUtilities.getDateFullString(
3315 GOSIUtilities.getTimestamp(
3316 searchBean.getTrmtDateStr()));
3317 searchBean.setTrmtDate
3318 (GOSIUtilities.getTimestamp(trmtDate));
3319 }
3320 */
3321 String trmtDesc ="";
3322 GOSIDebug.debugMessages("b4 if");
3323 if(searchBean.getHospitalCode()!=null)
3324 {
3325 GOSIDebug.debugMessages("Hospital code:"+
3326 searchBean.getHospitalCode());
3327 hospitalCode = ((Long)searchBean.getHospitalCode()).
3328 longValue();
3329 }
3330
3331 if( searchBean.getTrmtCode()!=null)
3332 {
3333 GOSIDebug.debugMessages("1");
3334 trmtCode=searchBean.getTrmtCode();
3335 GOSIDebug.debugMessages("2");
3336 }
3337 if(searchBean.getTrmtDesc()!=null)
3338 {
3339 GOSIDebug.debugMessages("3");
3340 trmtDesc=searchBean.getTrmtDesc();
3341 GOSIDebug.debugMessages("4");
3342 }
3343 GOSIDebug.debugMessages("b4 firstid");
3344 long firstID = searchBean.getFirstId();
3345 long lastID = searchBean.getLastId();
3346
3347 GOSIDebug.debugMessages("in in SessionBean thes in Modify Mode");
3348 if(searchBean.getSearchFlag()== NavigationBean.MODIFY_MODE)
3349 {
3350 lastID = searchBean.getFirstId();
3351 firstID = searchBean.getLastId();
3352 GOSIDebug.debugMessages("in Sess the vals in Mod Mode");
3353 }
3354
3355 String criteria = "";
3356 int queryCase = 0;
3357 String query = "";
3358 byte buttonClicked = searchBean.getButtonClicked();
3359 GOSIDebug.debugMessages("5");
3360 if (searchBean.getTrmtCode()!=null)
3361 {
3362 GOSIDebug.debugMessages("4");
3363 criteria = criteria+"1";
3364 }
3365 else
3366 {
3367 criteria = criteria+"0";
3368 }
3369 GOSIDebug.debugMessages("6");
3370 if (searchBean.getTrmtDesc()!=null)
3371 {
3372 GOSIDebug.debugMessages("6");
3373 criteria = criteria+"1";
3374 }
3375 else
3376 {
3377 criteria = criteria+"0";
3378 }
3379
3380 GOSIDebug.debugMessages("the value of criteria is " +criteria);
3381 queryCase = Integer.parseInt(criteria);
3382 GOSIDebug.debugMessages("in Ses the value of in Mod Mode");
3383
3384
3385 con=GOSIUtilities.getConnection
3386 (GOSIConstants.OCCUPATIONAL_HAZARDS_ID);
3387
3388 sbQuery = sbQuery.delete(0,sbQuery.length());
3389
3390
3391 if (buttonClicked == NavigationBean.BUTTON_SEARCH)
3392 {
3393 GOSIDebug.debugMessages("the value of criteria is inside if" );
3394
3395 switch (queryCase)
3396 {
3397 case 10:
3398
3399 sbQuery = sbQuery.delete(0,sbQuery.length());
3400
3401 sbQuery.append(" SELECT A.icd10trmtcode, ");
3402 sbQuery.append(" A.trmtdescarb, " );
3403 sbQuery.append(" A.hospitaldatarecid,A.unitprice, ");
3404 sbQuery.append(" B.hospitaldeptcode, ");
3405 sbQuery.append(" B.hospitaldeptdescarb FROM ");
3406 sbQuery.append( SITables.T_HOSPITALDEPTDATA + " A , ");
3407 sbQuery.append( SITables.T_HOSPITALDEPT + " B WHERE ");
3408 sbQuery.append(" A.hospitaldeptid = B.hospitaldeptid ");
3409 sbQuery.append(" AND B.hospitalcontractid IN ");
3410 sbQuery.append(" (SELECT hospcontrid FROM ");
3411 sbQuery.append( SITables.T_HOSPITALCONTRACT );
3412 sbQuery.append(" WHERE hospitalcode = ? ) AND " );
3413 sbQuery.append(" A.effstdate <= ? " );
3414 sbQuery.append(" AND NVL(A.effenddate,? ) >= " );
3415 sbQuery.append(" ? AND ");
3416 sbQuery.append(" ((A.icd10trmtcode LIKE ? ) " );
3417 sbQuery.append(" OR (A.icd10trmtcode LIKE ? )) ");
3418 sbQuery.append(" ORDER BY ");
3419 sbQuery.append(" A.hospitaldatarecid, ");
3420 sbQuery.append(" B.hospitaldeptcode");
3421
3422
3423
3424 ps = con.prepareStatement(sbQuery.toString(),
3425 ResultSet.TYPE_SCROLL_INSENSITIVE,
3426 ResultSet.CONCUR_READ_ONLY);
3427
3428
3429 ps.setLong(1,hospitalCode);
3430 ps.setTimestamp(2,trmtDateGreg);
3431 ps.setTimestamp(3,new Timestamp
3432 (System.currentTimeMillis()));
3433 ps.setTimestamp(4,trmtDateGreg);
3434 ps.setString(5,trmtCode+"%");
3435 ps.setString(6,trmtCode.toUpperCase()+"%");
3436
3437
3438
3439 break;
3440 case 1:
3441
3442
3443 sbQuery = sbQuery.delete(0,sbQuery.length());
3444
3445 sbQuery.append(" SELECT A.icd10trmtcode, ");
3446 sbQuery.append(" A.trmtdescarb, " );
3447 sbQuery.append(" A.hospitaldatarecid,A.unitprice, ");
3448 sbQuery.append(" B.hospitaldeptcode, ");
3449 sbQuery.append(" B.hospitaldeptdescarb FROM ");
3450 sbQuery.append( SITables.T_HOSPITALDEPTDATA + " A , ");
3451 sbQuery.append( SITables.T_HOSPITALDEPT + " B WHERE ");
3452 sbQuery.append(" A.hospitaldeptid = B.hospitaldeptid ");
3453 sbQuery.append(" AND B.hospitalcontractid IN ");
3454 sbQuery.append(" (SELECT hospcontrid FROM ");
3455 sbQuery.append( SITables.T_HOSPITALCONTRACT );
3456 sbQuery.append(" WHERE hospitalcode = ? ) AND " );
3457 sbQuery.append(" A.effstdate <= ? " );
3458 sbQuery.append(" AND NVL(A.effenddate,? ) >= " );
3459 sbQuery.append(" ? AND ");
3460 sbQuery.append(" ((A.trmtdescarb LIKE ? ) " );
3461 sbQuery.append(" OR (A.trmtdescarb LIKE ? )) ");
3462 sbQuery.append(" ORDER BY ");
3463 sbQuery.append(" A.hospitaldatarecid, ");
3464 sbQuery.append("B.hospitaldeptcode");
3465
3466
3467 ps = con.prepareStatement(sbQuery.toString(),
3468 ResultSet.TYPE_SCROLL_INSENSITIVE,
3469 ResultSet.CONCUR_READ_ONLY);
3470
3471
3472 ps.setLong(1,hospitalCode);
3473 ps.setString(2,trmtDate);
3474 ps.setTimestamp(3,new Timestamp
3475 (System.currentTimeMillis()));
3476 ps.setString(4,trmtDate);
3477 ps.setString(5,trmtDesc+"%");
3478 ps.setString(6,trmtDesc.toUpperCase()+"%");
3479
3480
3481 break;
3482 case 11:
3483
3484 sbQuery = sbQuery.delete(0,sbQuery.length());
3485
3486 sbQuery.append(" SELECT A.icd10trmtcode, ");
3487 sbQuery.append(" A.trmtdescarb, " );
3488 sbQuery.append(" A.hospitaldatarecid,A.unitprice, ");
3489 sbQuery.append(" B.hospitaldeptcode, ");
3490 sbQuery.append(" B.hospitaldeptdescarb FROM ");
3491 sbQuery.append( SITables.T_HOSPITALDEPTDATA + " A , ");
3492 sbQuery.append( SITables.T_HOSPITALDEPT + " B WHERE ");
3493 sbQuery.append(" A.hospitaldeptid = B.hospitaldeptid ");
3494 sbQuery.append(" AND B.hospitalcontractid IN ");
3495 sbQuery.append(" (SELECT hospcontrid FROM ");
3496 sbQuery.append( SITables.T_HOSPITALCONTRACT );
3497 sbQuery.append(" WHERE hospitalcode = ? ) AND " );
3498 sbQuery.append(" A.effstdate <= ? " );
3499 sbQuery.append(" AND NVL(A.effenddate,? ) >= " );
3500 sbQuery.append(" ? AND ");
3501 sbQuery.append(" ((A.icd10trmtcode LIKE ? ) " );
3502 sbQuery.append(" OR (A.icd10trmtcode LIKE ? )) ");
3503 sbQuery.append(" AND ((A.trmtdescarb LIKE ? ) ");
3504 sbQuery.append(" OR (A.trmtdescarb LIKE ? )) ");
3505 sbQuery.append(" ORDER BY " );
3506 sbQuery.append(" A.hospitaldatarecid, ");
3507 sbQuery.append(" B.hospitaldeptcode ");
3508
3509
3510 ps = con.prepareStatement(sbQuery.toString(),
3511 ResultSet.TYPE_SCROLL_INSENSITIVE,
3512 ResultSet.CONCUR_READ_ONLY);
3513
3514
3515 ps.setLong(1,hospitalCode);
3516 ps.setTimestamp(2,trmtDateGreg);
3517 ps.setTimestamp(3,new Timestamp
3518 (System.currentTimeMillis()));
3519 ps.setTimestamp(4,trmtDateGreg);
3520 ps.setString(5,trmtCode+"%");
3521 ps.setString(6,trmtCode.toUpperCase()+"%");
3522 ps.setString(7,trmtDesc+"%");
3523 ps.setString(8,trmtDesc.toUpperCase()+"%");
3524
3525 break;
3526 case 00:
3527
3528 sbQuery = sbQuery.delete(0,sbQuery.length());
3529
3530 sbQuery.append(" SELECT A.icd10trmtcode, ");
3531 sbQuery.append(" A.trmtdescarb, " );
3532 sbQuery.append(" A.hospitaldatarecid,A.unitprice, ");
3533 sbQuery.append(" B.hospitaldeptcode, ");
3534 sbQuery.append(" B.hospitaldeptdescarb FROM ");
3535 sbQuery.append( SITables.T_HOSPITALDEPTDATA + " A , ");
3536 sbQuery.append( SITables.T_HOSPITALDEPT + " B WHERE ");
3537 sbQuery.append(" A.hospitaldeptid = B.hospitaldeptid ");
3538 sbQuery.append(" AND B.hospitalcontractid IN ");
3539 sbQuery.append(" (SELECT hospcontrid FROM ");
3540 sbQuery.append( SITables.T_HOSPITALCONTRACT );
3541 sbQuery.append(" WHERE hospitalcode = ? ) AND " );
3542 sbQuery.append(" A.effstdate <= ? " );
3543 sbQuery.append(" AND NVL(A.effenddate,? ) >= " );
3544 sbQuery.append(" ? AND ");
3545 sbQuery.append(" ((A.icd10trmtcode LIKE ? ) " );
3546 sbQuery.append(" OR (A.icd10trmtcode LIKE ? )) ");
3547 sbQuery.append(" ORDER BY ");
3548 sbQuery.append(" A.hospitaldatarecid, ");
3549 sbQuery.append(" B.hospitaldeptcode");
3550
3551
3552
3553 ps = con.prepareStatement(sbQuery.toString(),
3554 ResultSet.TYPE_SCROLL_INSENSITIVE,
3555 ResultSet.CONCUR_READ_ONLY);
3556
3557
3558 ps.setLong(1,hospitalCode);
3559 ps.setTimestamp(2,trmtDateGreg);
3560 ps.setTimestamp(3,new Timestamp
3561 (System.currentTimeMillis()));
3562 ps.setTimestamp(4,trmtDateGreg);
3563 ps.setString(5,"%");
3564 ps.setString(6,"%");
3565
3566
3567
3568 break;
3569
3570
3571 default :
3572 break;
3573
3574 }
3575 }
3576 else if (buttonClicked == NavigationBean.BUTTON_NEXT)
3577 {
3578 GOSIDebug.debugMessages("the value of criteria is inside Forward" );
3579 switch (queryCase)
3580 {
3581 case 10:
3582
3583
3584 sbQuery = sbQuery.delete(0,sbQuery.length());
3585
3586 sbQuery.append(" SELECT A.icd10trmtcode, ");
3587 sbQuery.append(" A.trmtdescarb, " );
3588 sbQuery.append(" A.hospitaldatarecid,A.unitprice, ");
3589 sbQuery.append(" B.hospitaldeptcode, ");
3590 sbQuery.append(" B.hospitaldeptdescarb FROM ");
3591 sbQuery.append( SITables.T_HOSPITALDEPTDATA + " A , ");
3592 sbQuery.append( SITables.T_HOSPITALDEPT + " B WHERE ");
3593 sbQuery.append(" A.hospitaldeptid = B.hospitaldeptid ");
3594 sbQuery.append(" AND B.hospitalcontractid IN ");
3595 sbQuery.append(" (SELECT hospcontrid FROM ");
3596 sbQuery.append( SITables.T_HOSPITALCONTRACT );
3597 sbQuery.append(" WHERE hospitalcode = ? ) AND " );
3598 sbQuery.append(" A.effstdate <= ? " );
3599 sbQuery.append(" AND NVL(A.effenddate,? ) >= " );
3600 sbQuery.append(" ? AND ");
3601 sbQuery.append(" A.hospitaldatarecid > ? AND ");
3602 sbQuery.append(" ((A.icd10trmtcode LIKE ? ) " );
3603 sbQuery.append(" OR (A.icd10trmtcode LIKE ? )) ");
3604 sbQuery.append(" ORDER BY ");
3605 sbQuery.append(" A.hospitaldatarecid, ");
3606 sbQuery.append(" B.hospitaldeptcode");
3607
3608
3609 ps = con.prepareStatement(sbQuery.toString(),
3610 ResultSet.TYPE_SCROLL_INSENSITIVE,
3611 ResultSet.CONCUR_READ_ONLY);
3612
3613
3614 ps.setLong(1,hospitalCode);
3615 ps.setTimestamp(2,trmtDateGreg);
3616 ps.setTimestamp(3,new Timestamp
3617 (System.currentTimeMillis()));
3618 ps.setTimestamp(4,trmtDateGreg);
3619 ps.setLong(5,lastID);
3620 ps.setString(6,trmtCode+"%");
3621 ps.setString(7,trmtCode.toUpperCase()+"%");
3622
3623 break;
3624
3625 case 1:
3626
3627 sbQuery = sbQuery.delete(0,sbQuery.length());
3628
3629 sbQuery.append(" SELECT A.icd10trmtcode, ");
3630 sbQuery.append(" A.trmtdescarb, " );
3631 sbQuery.append(" A.hospitaldatarecid,A.unitprice, ");
3632 sbQuery.append(" B.hospitaldeptcode, ");
3633 sbQuery.append(" B.hospitaldeptdescarb FROM ");
3634 sbQuery.append( SITables.T_HOSPITALDEPTDATA + " A , ");
3635 sbQuery.append( SITables.T_HOSPITALDEPT + " B WHERE ");
3636 sbQuery.append(" A.hospitaldeptid = B.hospitaldeptid ");
3637 sbQuery.append(" AND B.hospitalcontractid IN ");
3638 sbQuery.append(" (SELECT hospcontrid FROM ");
3639 sbQuery.append( SITables.T_HOSPITALCONTRACT );
3640 sbQuery.append(" WHERE hospitalcode = ? ) AND " );
3641 sbQuery.append(" A.effstdate <= ? " );
3642 sbQuery.append(" AND NVL(A.effenddate,? ) >= " );
3643 sbQuery.append(" ? AND ");
3644 sbQuery.append(" A.hospitaldatarecid > ? AND " );
3645 sbQuery.append(" ((A.trmtdescarb LIKE ? ) " );
3646 sbQuery.append(" OR (A.trmtdescarb LIKE ? )) ");
3647 sbQuery.append(" ORDER BY ");
3648 sbQuery.append(" A.hospitaldatarecid, ");
3649 sbQuery.append("B.hospitaldeptcode");
3650
3651
3652
3653 ps = con.prepareStatement(sbQuery.toString(),
3654 ResultSet.TYPE_SCROLL_INSENSITIVE,
3655 ResultSet.CONCUR_READ_ONLY);
3656
3657 ps.setLong(1,hospitalCode);
3658 ps.setTimestamp(2,trmtDateGreg);
3659 ps.setTimestamp(3,new Timestamp
3660 (System.currentTimeMillis()));
3661 ps.setTimestamp(4,trmtDateGreg);
3662 ps.setLong(5,lastID);
3663 ps.setString(6,trmtDesc+"%");
3664 ps.setString(7,trmtDesc.toUpperCase()+"%");
3665
3666
3667 break;
3668
3669 case 11:
3670
3671 sbQuery = sbQuery.delete(0,sbQuery.length());
3672
3673 sbQuery.append(" SELECT A.icd10trmtcode, ");
3674 sbQuery.append(" A.trmtdescarb, " );
3675 sbQuery.append(" A.hospitaldatarecid,A.unitprice, ");
3676 sbQuery.append(" B.hospitaldeptcode, ");
3677 sbQuery.append(" B.hospitaldeptdescarb FROM ");
3678 sbQuery.append( SITables.T_HOSPITALDEPTDATA + " A , ");
3679 sbQuery.append( SITables.T_HOSPITALDEPT + " B WHERE ");
3680 sbQuery.append(" A.hospitaldeptid = B.hospitaldeptid ");
3681 sbQuery.append(" AND B.hospitalcontractid IN ");
3682 sbQuery.append(" (SELECT hospcontrid FROM ");
3683 sbQuery.append( SITables.T_HOSPITALCONTRACT );
3684 sbQuery.append(" WHERE hospitalcode = ? ) AND " );
3685 sbQuery.append(" A.effstdate <= ? " );
3686 sbQuery.append(" AND NVL(A.effenddate,?) >= " );
3687 sbQuery.append(" ? AND ");
3688 sbQuery.append(" A.hospitaldatarecid > ? AND ");
3689 sbQuery.append(" ((A.icd10trmtcode LIKE ? ) " );
3690 sbQuery.append(" OR (A.icd10trmtcode LIKE ? )) ");
3691 sbQuery.append(" AND ((A.trmtdescarb LIKE ? ) ");
3692 sbQuery.append(" OR (A.trmtdescarb LIKE ? )) ");
3693 sbQuery.append(" ORDER BY " );
3694 sbQuery.append(" A.hospitaldatarecid, ");
3695 sbQuery.append(" B.hospitaldeptcode ");
3696
3697 ps = con.prepareStatement(sbQuery.toString(),
3698 ResultSet.TYPE_SCROLL_INSENSITIVE,
3699 ResultSet.CONCUR_READ_ONLY);
3700
3701 ps.setLong(1,hospitalCode);
3702 ps.setTimestamp(2,trmtDateGreg);
3703 ps.setTimestamp(3,new Timestamp
3704 (System.currentTimeMillis()));
3705 ps.setTimestamp(4,trmtDateGreg);
3706 ps.setLong(5,lastID);
3707 if(trmtCode!=null||!"".equals(trmtCode))
3708 {
3709 ps.setString(6,trmtCode+"%");
3710 ps.setString(7,trmtCode.toUpperCase()+"%");
3711 }
3712 else
3713 {
3714 ps.setString(6,"%");
3715 ps.setString(7,"%");
3716 }
3717 if(trmtDesc!=null||!"".equals(trmtDesc))
3718 {
3719 ps.setString(8,trmtDesc+"%");
3720 ps.setString(9,trmtDesc.toUpperCase()+"%");
3721 }
3722 else
3723 {
3724 ps.setString(8,"%");
3725 ps.setString(9,"%");
3726
3727 }
3728
3729 break;
3730
3731 case 00:
3732
3733 sbQuery = sbQuery.delete(0,sbQuery.length());
3734
3735 sbQuery.append(" SELECT A.icd10trmtcode, ");
3736 sbQuery.append(" A.trmtdescarb, " );
3737 sbQuery.append(" A.hospitaldatarecid,A.unitprice, ");
3738 sbQuery.append(" B.hospitaldeptcode, ");
3739 sbQuery.append(" B.hospitaldeptdescarb FROM ");
3740 sbQuery.append( SITables.T_HOSPITALDEPTDATA + " A , ");
3741 sbQuery.append( SITables.T_HOSPITALDEPT + " B WHERE ");
3742 sbQuery.append(" A.hospitaldeptid = B.hospitaldeptid ");
3743 sbQuery.append(" AND B.hospitalcontractid IN ");
3744 sbQuery.append(" (SELECT hospcontrid FROM ");
3745 sbQuery.append( SITables.T_HOSPITALCONTRACT );
3746 sbQuery.append(" WHERE hospitalcode = ? ) AND " );
3747 sbQuery.append(" A.effstdate <= ? " );
3748 sbQuery.append(" AND NVL(A.effenddate,?) >= " );
3749 sbQuery.append(" ? AND ");
3750 sbQuery.append(" A.hospitaldatarecid > ? AND ");
3751 sbQuery.append(" ((A.icd10trmtcode LIKE ? ) " );
3752 sbQuery.append(" OR (A.icd10trmtcode LIKE ? )) ");
3753 sbQuery.append(" AND ((A.trmtdescarb LIKE ? ) ");
3754 sbQuery.append(" OR (A.trmtdescarb LIKE ? )) ");
3755 sbQuery.append(" ORDER BY " );
3756 sbQuery.append(" A.hospitaldatarecid, ");
3757 sbQuery.append(" B.hospitaldeptcode ");
3758
3759 ps = con.prepareStatement(sbQuery.toString(),
3760 ResultSet.TYPE_SCROLL_INSENSITIVE,
3761 ResultSet.CONCUR_READ_ONLY);
3762
3763 ps.setLong(1,hospitalCode);
3764 ps.setTimestamp(2,trmtDateGreg);
3765 ps.setTimestamp(3,new Timestamp
3766 (System.currentTimeMillis()));
3767 ps.setTimestamp(4,trmtDateGreg);
3768 ps.setLong(5,lastID);
3769 ps.setString(6,"%");
3770 ps.setString(7,"%");
3771 ps.setString(8,"%");
3772 ps.setString(9,"%");
3773
3774
3775 break;
3776
3777 default :
3778 break;
3779
3780 }
3781 }
3782
3783 else if (buttonClicked == NavigationBean.BUTTON_PREVIOUS)
3784 {
3785 switch (queryCase)
3786 {
3787 case 10:
3788
3789 sbQuery = sbQuery.delete(0,sbQuery.length());
3790
3791 sbQuery.append(" SELECT A.icd10trmtcode, ");
3792 sbQuery.append(" A.trmtdescarb, " );
3793 sbQuery.append(" A.hospitaldatarecid,A.unitprice, ");
3794 sbQuery.append(" B.hospitaldeptcode, ");
3795 sbQuery.append(" B.hospitaldeptdescarb FROM ");
3796 sbQuery.append( SITables.T_HOSPITALDEPTDATA + " A , ");
3797 sbQuery.append( SITables.T_HOSPITALDEPT + " B WHERE ");
3798 sbQuery.append(" A.hospitaldeptid = B.hospitaldeptid ");
3799 sbQuery.append(" AND B.hospitalcontractid IN ");
3800 sbQuery.append(" (SELECT hospcontrid FROM ");
3801 sbQuery.append( SITables.T_HOSPITALCONTRACT );
3802 sbQuery.append(" WHERE hospitalcode = ? ) AND " );
3803 sbQuery.append(" A.effstdate <= ? " );
3804 sbQuery.append(" AND NVL(A.effenddate,? ) >= " );
3805 sbQuery.append(" ? AND ");
3806 sbQuery.append(" A.hospitaldatarecid < ? AND ");
3807 sbQuery.append(" ((A.icd10trmtcode LIKE ? ) " );
3808 sbQuery.append(" OR (A.icd10trmtcode LIKE ? )) ");
3809 sbQuery.append(" ORDER BY ");
3810 sbQuery.append(" A.hospitaldatarecid DESC , ");
3811 sbQuery.append(" B.hospitaldeptcode ASC ");
3812
3813
3814
3815 ps = con.prepareStatement(sbQuery.toString(),
3816 ResultSet.TYPE_SCROLL_INSENSITIVE,
3817 ResultSet.CONCUR_READ_ONLY);
3818
3819 ps.setLong(1,hospitalCode);
3820 ps.setTimestamp(2,trmtDateGreg);
3821 ps.setTimestamp(3,new Timestamp
3822 (System.currentTimeMillis()));
3823 ps.setTimestamp(4,trmtDateGreg);
3824 ps.setLong(5,firstID);
3825 ps.setString(6,trmtCode+"%");
3826 ps.setString(7,trmtCode.toUpperCase()+"%");
3827
3828
3829 break;
3830
3831 case 1:
3832
3833 sbQuery = sbQuery.delete(0,sbQuery.length());
3834
3835 sbQuery.append(" SELECT A.icd10trmtcode, ");
3836 sbQuery.append(" A.trmtdescarb, " );
3837 sbQuery.append(" A.hospitaldatarecid,A.unitprice, ");
3838 sbQuery.append(" B.hospitaldeptcode, ");
3839 sbQuery.append(" B.hospitaldeptdescarb FROM ");
3840 sbQuery.append( SITables.T_HOSPITALDEPTDATA + " A , ");
3841 sbQuery.append( SITables.T_HOSPITALDEPT + " B WHERE ");
3842 sbQuery.append(" A.hospitaldeptid = B.hospitaldeptid ");
3843 sbQuery.append(" AND B.hospitalcontractid IN ");
3844 sbQuery.append(" (SELECT hospcontrid FROM ");
3845 sbQuery.append( SITables.T_HOSPITALCONTRACT );
3846 sbQuery.append(" WHERE hospitalcode = ? ) AND " );
3847 sbQuery.append(" A.effstdate <= ? " );
3848 sbQuery.append(" AND NVL(A.effenddate,?) >= " );
3849 sbQuery.append(" ? AND ");
3850 sbQuery.append(" A.hospitaldatarecid < ? AND " );
3851 sbQuery.append(" ((A.trmtdescarb LIKE ? ) " );
3852 sbQuery.append(" OR (A.trmtdescarb LIKE ? )) ");
3853 sbQuery.append(" ORDER BY ");
3854 sbQuery.append(" A.hospitaldatarecid DESC , ");
3855 sbQuery.append("B.hospitaldeptcode ASC ");
3856
3857
3858 ps = con.prepareStatement(sbQuery.toString(),
3859 ResultSet.TYPE_SCROLL_INSENSITIVE,
3860 ResultSet.CONCUR_READ_ONLY);
3861
3862 ps.setLong(1,hospitalCode);
3863 ps.setTimestamp(2,trmtDateGreg);
3864 ps.setTimestamp(3,new Timestamp
3865 (System.currentTimeMillis()));
3866 ps.setTimestamp(4,trmtDateGreg);
3867 ps.setLong(5,firstID);
3868 ps.setString(6,trmtDesc+"%");
3869 ps.setString(7,trmtDesc.toUpperCase()+"%");
3870
3871 break;
3872
3873 case 11:
3874
3875 sbQuery = sbQuery.delete(0,sbQuery.length());
3876
3877 sbQuery.append(" SELECT A.icd10trmtcode, ");
3878 sbQuery.append(" A.trmtdescarb, " );
3879 sbQuery.append(" A.hospitaldatarecid,A.unitprice, ");
3880 sbQuery.append(" B.hospitaldeptcode, ");
3881 sbQuery.append(" B.hospitaldeptdescarb FROM ");
3882 sbQuery.append( SITables.T_HOSPITALDEPTDATA + " A , ");
3883 sbQuery.append( SITables.T_HOSPITALDEPT + " B WHERE ");
3884 sbQuery.append(" A.hospitaldeptid = B.hospitaldeptid ");
3885 sbQuery.append(" AND B.hospitalcontractid IN ");
3886 sbQuery.append(" (SELECT hospcontrid FROM ");
3887 sbQuery.append( SITables.T_HOSPITALCONTRACT );
3888 sbQuery.append(" WHERE hospitalcode = ? ) AND " );
3889 sbQuery.append(" A.effstdate <= ? " );
3890 sbQuery.append(" AND NVL(A.effenddate,? ) >= " );
3891 sbQuery.append(" ? AND ");
3892 sbQuery.append(" A.hospitaldatarecid < ? AND ");
3893 sbQuery.append(" ((A.icd10trmtcode LIKE ? ) " );
3894 sbQuery.append(" OR (A.icd10trmtcode LIKE ? )) ");
3895 sbQuery.append(" AND ((A.trmtdescarb LIKE ? ) ");
3896 sbQuery.append(" OR (A.trmtdescarb LIKE ? )) ");
3897 sbQuery.append(" ORDER BY " );
3898 sbQuery.append(" A.hospitaldatarecid DESC , ");
3899 sbQuery.append(" B.hospitaldeptcode ASC ");
3900
3901 ps = con.prepareStatement(sbQuery.toString(),
3902 ResultSet.TYPE_SCROLL_INSENSITIVE,
3903 ResultSet.CONCUR_READ_ONLY);
3904
3905 ps.setLong(1,hospitalCode);
3906 ps.setTimestamp(2,trmtDateGreg);
3907 ps.setTimestamp(3,new Timestamp
3908 (System.currentTimeMillis()));
3909 ps.setTimestamp(4,trmtDateGreg);
3910 ps.setLong(5,firstID);
3911 ps.setString(6,trmtCode+"%");
3912 ps.setString(7,trmtCode.toUpperCase()+"%");
3913 ps.setString(8,trmtDesc+"%");
3914 ps.setString(9,trmtDesc.toUpperCase()+"%");
3915
3916 break;
3917
3918 case 00:
3919
3920 sbQuery = sbQuery.delete(0,sbQuery.length());
3921
3922 sbQuery.append(" SELECT A.icd10trmtcode, ");
3923 sbQuery.append(" A.trmtdescarb, " );
3924 sbQuery.append(" A.hospitaldatarecid,A.unitprice, ");
3925 sbQuery.append(" B.hospitaldeptcode, ");
3926 sbQuery.append(" B.hospitaldeptdescarb FROM ");
3927 sbQuery.append( SITables.T_HOSPITALDEPTDATA + " A , ");
3928 sbQuery.append( SITables.T_HOSPITALDEPT + " B WHERE ");
3929 sbQuery.append(" A.hospitaldeptid = B.hospitaldeptid ");
3930 sbQuery.append(" AND B.hospitalcontractid IN ");
3931 sbQuery.append(" (SELECT hospcontrid FROM ");
3932 sbQuery.append( SITables.T_HOSPITALCONTRACT );
3933 sbQuery.append(" WHERE hospitalcode = ? ) AND " );
3934 sbQuery.append(" A.effstdate <= ? " );
3935 sbQuery.append(" AND NVL(A.effenddate,? ) >= " );
3936 sbQuery.append(" ? AND ");
3937 sbQuery.append(" A.hospitaldatarecid < ? AND ");
3938 sbQuery.append(" ((A.icd10trmtcode LIKE ? ) " );
3939 sbQuery.append(" OR (A.icd10trmtcode LIKE ? )) ");
3940 sbQuery.append(" ORDER BY ");
3941 sbQuery.append(" A.hospitaldatarecid DESC , ");
3942 sbQuery.append(" B.hospitaldeptcode ASC ");
3943
3944
3945
3946 ps = con.prepareStatement(sbQuery.toString(),
3947 ResultSet.TYPE_SCROLL_INSENSITIVE,
3948 ResultSet.CONCUR_READ_ONLY);
3949
3950 ps.setLong(1,hospitalCode);
3951 ps.setTimestamp(2,trmtDateGreg);
3952 ps.setTimestamp(3,new Timestamp
3953 (System.currentTimeMillis()));
3954 ps.setTimestamp(4,trmtDateGreg);
3955 ps.setLong(5,firstID);
3956 ps.setString(6,"%");
3957 ps.setString(7,"%");
3958
3959
3960 break;
3961
3962 default :
3963
3964 break;
3965
3966 }
3967 }
3968
3969
3970 GOSIDebug.debugMessages("Before prep stmt:\n" +sbQuery );
3971
3972 sbQuery = sbQuery.delete(0,sbQuery.length());
3973 int count = 1;
3974
3975 GOSIDebug.debugMessages("after prep stmt..."+ps);
3976 ps.setMaxRows(GOSIApplicationProperties.MAX_PAGE_SIZE+1);
3977 rs = ps.executeQuery();
3978 GOSIDebug.debugMessages("after prep statement");
3979 TreatmentTypeBean treatmentType = null;
3980 if(rs.next())
3981 {
3982 rs.previous();
3983 while(rs.next())
3984 {
3985
3986 treatmentType = new TreatmentTypeBean();
3987 treatmentType.setTrmtCode(rs.getString("ICD10TRMTCODE"));
3988 treatmentType.setTrmtDescArb(rs.getString("TRMTDESCARB"));
3989 treatmentType.setTreatmentId(new Long
3990 (rs.getString("HOSPITALDATARECID")));
3991 treatmentType.setUnitPrice(new Double
3992 (rs.getString("UNITPRICE")));
3993 treatmentType.setDepartmentCode(new Long
3994 (rs.getString("HOSPITALDEPTCODE")));
3995 treatmentType.setDepartmentDesc(
3996 rs.getString("HOSPITALDEPTDESCARB"));
3997 treatmentTypeList.add(treatmentType);
3998 GOSIDebug.debugMessages("after adding to vector ");
3999 if(buttonClicked == NavigationBean.BUTTON_SEARCH
4000 || buttonClicked == NavigationBean.BUTTON_NEXT)
4001 {
4002 GOSIDebug.debugMessages("inside while in search");
4003 if (count == 1)
4004 {
4005 searchBean.setFirstId(
4006 treatmentType.getTreatmentId().longValue());
4007 }
4008 else if(count < GOSIApplicationProperties.
4009 MAX_PAGE_SIZE+1)
4010 {
4011 searchBean.setLastId(treatmentType.
4012 getTreatmentId().longValue());
4013 }
4014 GOSIDebug.debugMessages("inside while in search after");
4015 }
4016
4017 if(buttonClicked == NavigationBean.BUTTON_PREVIOUS)
4018 {
4019 GOSIDebug.debugMessages("inside while in back");
4020 if (count == 1)
4021 {
4022 searchBean.setLastId(treatmentType.getTreatmentId()
4023 .longValue());
4024 }
4025 else if(count <
4026 GOSIApplicationProperties.MAX_PAGE_SIZE+1)
4027 {
4028 searchBean.setFirstId(treatmentType.
4029 getTreatmentId().longValue());
4030 }
4031 GOSIDebug.debugMessages("inside while in back after");
4032 }
4033 count = count+1;
4034 }
4035 treatmentTypeList.add(searchBean);
4036 }
4037 sbQuery = sbQuery.delete(0,sbQuery.length());
4038
4039 }
4040 catch(GOSIException ge)
4041 {
4042 throw ge;
4043 }
4044 catch(Exception se)
4045 {
4046
4047 throw new GOSIException( GOSIConstants.SEVERITY_ONE,
4048 GOSIConstants.SOCIAL_INSURANCE,
4049 this.getClass().toString(),
4050 "searchTreatmentTypeList()",
4051 se,"CMN_ERR_1000");
4052 }
4053 finally
4054 {
4055 try
4056 {
4057 GOSIUtilities.cleanUp(con, ps, rs);
4058 }
4059 catch (Exception e)
4060 {
4061 GOSIDebug.debugMessages("exception in close :"+e);
4062 e.printStackTrace();
4063 }
4064
4065 }
4066 GOSIInstrumentationLog.writeInstrumentationToLog(
4067 this.getClass().toString(),
4068 "searchTreatmentTypeList()",
4069 (System.currentTimeMillis() - timeCounter));
4070
4071 return treatmentTypeList;
4072 }
4073
4074
4075 /* This method is used to get the treatment description
4076 for the treatment code entered by the user */
4077 /**
4078 * @METHOD NAME : searchTreatmentDescriptionList
4079 * @INFORMATION : This method is to search Treatment Description List
4080 * @PARAM : class gosi.business.socialinsurance.occupationalhazards.injury.beans.TreatmentTypeBean
4081 * @RETURN : class java.util.ArrayList
4082 * @EXCEPTION : class gosi.core.util.GOSIException
4083 * @LAST MODIFIED BY :
4084 * @LAST MODIFIED DATE :
4085 **/
4086 public ArrayList searchTreatmentDescriptionList
4087 (TreatmentTypeBean searchBean) throws GOSIException
4088 {
4089
4090 ArrayList treatmentTypeList = new ArrayList();
4091 Connection con = null;
4092 PreparedStatement ps = null;
4093 ResultSet rs = null;
4094 long hospitalCode = 0;
4095 long timeCounter = 0;
4096 String query = "";
4097 String trmtCode = "";
4098 String trmtDate = "";
4099 StringBuffer sbQuery = new StringBuffer();
4100 Timestamp trmtDateGreg = null;
4101
4102 try
4103 {
4104 timeCounter = System.currentTimeMillis();
4105 sbQuery = sbQuery.delete(0,sbQuery.length());
4106
4107 String entFmt = OHUtilities.getDateFormat(searchBean.getTrmtDateStr());
4108 trmtDateGreg = OHUtilities.getGregDate(searchBean.getTrmtDateStr(),entFmt);
4109 searchBean.setTrmtDate(trmtDateGreg);
4110
4111 /*
4112 if(OHConstants.HIJRAH.equals(searchBean.getTrmtDateEntFmt()))
4113 {
4114 trmtDate = GOSIDateUtilities.convertToGregorian
4115 (searchBean.getTrmtDateStr());
4116 searchBean.setTrmtDate
4117 (GOSIUtilities.getTimestamp(trmtDate));
4118 }
4119 else
4120 {
4121 trmtDate = GOSIUtilities.getDateFullString
4122 (GOSIUtilities.getTimestamp(
4123 searchBean.getTrmtDateStr()));
4124 searchBean.setTrmtDate
4125 (GOSIUtilities.getTimestamp(trmtDate));
4126 }
4127 */
4128
4129
4130 GOSIDebug.debugMessages("b4 if");
4131 if(searchBean.getHospitalCode()!= null)
4132 {
4133 GOSIDebug.debugMessages("Hospital code:" +
4134 searchBean.getHospitalCode());
4135 hospitalCode = ((Long)searchBean.getHospitalCode()).
4136 longValue();
4137 }
4138
4139 if( searchBean.getTrmtCode()!= null) {
4140 GOSIDebug.debugMessages("1");
4141 trmtCode=searchBean.getTrmtCode();
4142 GOSIDebug.debugMessages("2");
4143 }
4144
4145
4146 con = GOSIUtilities.getConnection
4147 (GOSIConstants.OCCUPATIONAL_HAZARDS_ID);
4148
4149 sbQuery.append(" SELECT A.icd10trmtcode,A.trmtdescarb, ");
4150 sbQuery.append(" A.hospitaldatarecid,A.unitprice, ");
4151 sbQuery.append(" B.hospitaldeptcode,B.hospitaldeptdescarb ");
4152 sbQuery.append(" FROM " + SITables.T_HOSPITALDEPTDATA + " A , ");
4153 sbQuery.append( SITables.T_HOSPITALDEPT + " B WHERE " );
4154 sbQuery.append(" A.hospitaldeptid = B.hospitaldeptid " );
4155 sbQuery.append(" AND B.hospitalcontractid IN " );
4156 sbQuery.append(" (SELECT hospcontrid FROM ");
4157 sbQuery.append( SITables.T_HOSPITALCONTRACT + " WHERE ");
4158 sbQuery.append(" hospitalcode = ? )AND ");
4159 sbQuery.append(" A.effstdate <= ? ");
4160 sbQuery.append(" AND NVL(A.effenddate,? ) >= ");
4161 sbQuery.append(" ? ");
4162 sbQuery.append(" AND ((A.icd10trmtcode LIKE ? ) ");
4163 sbQuery.append(" OR (A.icd10trmtcode LIKE ? )) ");
4164 sbQuery.append(" ORDER BY ");
4165 sbQuery.append(" A.hospitaldatarecid,B.hospitaldeptcode ");
4166
4167
4168 GOSIDebug.debugMessages("query" +sbQuery);
4169
4170
4171
4172 ps = con.prepareStatement(sbQuery.toString());
4173
4174 ps.setLong(1,hospitalCode);
4175 ps.setTimestamp(2,trmtDateGreg);
4176 ps.setTimestamp(3,new Timestamp
4177 (System.currentTimeMillis()));
4178 ps.setTimestamp(4,trmtDateGreg);
4179 ps.setString(5,trmtCode);
4180 ps.setString(6,trmtCode.toUpperCase());
4181
4182
4183 rs = ps.executeQuery();
4184 GOSIDebug.debugMessages("after prep statement");
4185 TreatmentTypeBean treatmentType = null;
4186 while(rs.next())
4187 {
4188 treatmentType = new TreatmentTypeBean();
4189 treatmentType.setTrmtCode(rs.getString("ICD10TRMTCODE"));
4190 treatmentType.setTrmtDescArb(rs.getString("TRMTDESCARB"));
4191 treatmentType.setTreatmentId(new Long
4192 (rs.getString("HOSPITALDATARECID")));
4193 treatmentType.setUnitPrice(new Double
4194 (rs.getString("UNITPRICE")));
4195 treatmentType.setDepartmentCode(new Long
4196 (rs.getString("HOSPITALDEPTCODE")));
4197 treatmentType.setDepartmentDesc(
4198 rs.getString("HOSPITALDEPTDESCARB"));
4199 treatmentTypeList.add(treatmentType);
4200
4201 }
4202 sbQuery = sbQuery.delete(0,sbQuery.length());
4203
4204
4205 }
4206 catch(GOSIException ge)
4207 {
4208 throw ge;
4209 }
4210 catch(Exception se)
4211 {
4212 throw new GOSIException( GOSIConstants.SEVERITY_ONE,
4213 GOSIConstants.SOCIAL_INSURANCE,
4214 this.getClass().toString(),
4215 "searchTreatmentDescriptionList()",
4216 se,"CMN_ERR_1000");
4217 }
4218
4219 finally
4220 {
4221 try
4222 {
4223 GOSIUtilities.cleanUp(con, ps, rs);
4224 }
4225 catch (Exception e)
4226 {
4227 GOSIDebug.debugMessages("exception in close :"+e);
4228 e.printStackTrace();
4229 }
4230
4231 }
4232 GOSIInstrumentationLog.writeInstrumentationToLog(
4233 this.getClass().toString(),
4234 "searchTreatmentDescriptionList()",
4235 (System.currentTimeMillis() - timeCounter));
4236
4237 return treatmentTypeList;
4238 }
4239
4240 /* This method is used to validate the treatment service */
4241
4242 /*
4243 public TreatmentServiceBean isValidTrmtService
4244 (TreatmentServiceBean trmtSrvcBean,
4245 Long injuryId,String mode)throws GOSIException
4246 {
4247
4248 StringBuffer sbQuery = new StringBuffer();
4249 String errorCode = "";
4250 String patientNumber = "";
4251 Timestamp trmtStartDate = null;
4252 Timestamp trmtEndDate = null;
4253 Long treatmentId = null;
4254 Long hospitalCode = null;
4255 Short trmtStatus = null;
4256 Short workflowStatus = null;
4257 long timeCounter = 0;
4258
4259 try
4260 {
4261
4262 timeCounter = System.currentTimeMillis();
4263
4264 sbQuery = sbQuery.delete(0,sbQuery.length());
4265 sbQuery.append(" SELECT TREATMENTID,STARTDATE, ");
4266 sbQuery.append(" ENDDATE,PATIENTNUMBER,HOSPITALCODE, ");
4267 sbQuery.append(" TREATMENTSTATUS,WORKFLOWSTATUS FROM " );
4268 sbQuery.append( SITables.T_TREATMENT + " WHERE ");
4269 sbQuery.append(" TREATMENTSTATUS IN ( ?,? ) AND ");
4270 sbQuery.append(" STARTDATE <= ? " );
4271 sbQuery.append(" AND ENDDATE >= ? " );
4272 sbQuery.append(" AND INJURYID = ? ");
4273
4274
4275 con = GOSIUtilities.getConnection
4276 (GOSIConstants.OCCUPATIONAL_HAZARDS_ID);
4277
4278 GOSIDebug.debugMessages("query" + sbQuery);
4279
4280 p = con.prepareStatement(sbQuery.toString());
4281
4282 p.setShort(1,
4283 OHConstants.TRMT_STS_ENTERED.shortValue());
4284 p.setShort(2,
4285 OHConstants.TRMT_STS_APPROVED.shortValue());
4286 p.setTimestamp(3,trmtSrvcBean.getTrmtDateGreg());
4287 p.setTimestamp(4,trmtSrvcBean.getTrmtDateGreg());
4288 p.setLong(5,injuryId.longValue());
4289 rs = p.executeQuery();
4290 while(rs.next())
4291 {
4292 treatmentId=new Long(rs.getLong("TREATMENTID"));
4293 trmtStartDate=rs.getTimestamp("STARTDATE");
4294 trmtEndDate =rs.getTimestamp("ENDDATE");
4295 patientNumber=rs.getString("PATIENTNUMBER");
4296 hospitalCode =new Long(rs.getLong("HOSPITALCODE"));
4297 trmtStatus =new Short(rs.getShort("TREATMENTSTATUS"));
4298 workflowStatus=new Short(rs.getShort("WORKFLOWSTATUS"));
4299 trmtSrvcBean.setTreatmentId(treatmentId);
4300 trmtSrvcBean.setTrmtStatus(trmtStatus);
4301
4302 }
4303 if(trmtStartDate == null)
4304 {
4305 errorCode = "SOI_ERR_4012";
4306 }
4307 else if(!(hospitalCode.equals(trmtSrvcBean.
4308 getHospitalCode())))
4309 {
4310 errorCode="SOI_ERR_4018";
4311 }
4312 else if(!(patientNumber.equals(trmtSrvcBean.
4313 getPatientNumber())))
4314 {
4315 errorCode = "SOI_ERR_4138";
4316 }
4317 else if(workflowStatus.equals
4318 (OHConstants.WFS_TRMT_PENDING_DATA_ENTRY))
4319 {
4320 errorCode = "SOI_ERR_4139";
4321 }
4322 else if(!OHConstants.TRMT_STS_APPROVED.equals(trmtStatus))
4323 {
4324 errorCode = "SOI_ERR_4622";
4325 }
4326 else
4327 {
4328 errorCode = "";
4329 }
4330 Long newDataStartValue = new Long ("1000000000");
4331 if("SOI_ERR_4012".equals(errorCode)&&
4332 (injuryId.longValue()< newDataStartValue.longValue()))
4333 {
4334 GOSIUtilities.cleanUp(p,rs);
4335 String sqlQuery = " select INJURYID from "+
4336 SITables.T_INJURY +" where "+
4337 " INJURYID = ? and TREATMENTSTDATE <= ? "+
4338 " and TREATMENTENDDATE >= ? ";
4339
4340 p = con.prepareStatement(sqlQuery);
4341 p.setLong(1,injuryId.longValue());
4342 p.setTimestamp(2,trmtSrvcBean.getTrmtDateGreg());
4343 p.setTimestamp(3,trmtSrvcBean.getTrmtDateGreg());
4344 rs = p.executeQuery();
4345 if(rs.next())
4346 {
4347 errorCode = "";
4348 trmtSrvcBean.setTrmtStatus(OHConstants.TRMT_STS_APPROVED);
4349
4350 }else
4351 {
4352 errorCode = "SOI_ERR_4012";
4353 }
4354 }
4355
4356
4357 sbQuery = sbQuery.delete(0,sbQuery.length());
4358 trmtSrvcBean.setErrorCode(errorCode);
4359
4360 GOSIInstrumentationLog.writeInstrumentationToLog(
4361 this.getClass().toString(),
4362 "isValidTrmtService()",
4363 (System.currentTimeMillis() - timeCounter));
4364
4365 return trmtSrvcBean;
4366 }
4367 catch(GOSIException ge)
4368 {
4369 throw ge;
4370 }
4371 catch(Exception se)
4372 {
4373 throw new GOSIException( GOSIConstants.SEVERITY_ONE,
4374 GOSIConstants.SOCIAL_INSURANCE,
4375 this.getClass().toString(),
4376 "isValidTrmtService()",
4377 se,"CMN_ERR_1000");
4378 }
4379 finally
4380 {
4381 GOSIUtilities.cleanUp(con,p, rs);
4382 }
4383 }
4384 */
4385
4386 /**
4387 * @METHOD NAME : isValidTrmtService
4388 * @INFORMATION : This method is to is Valid Trmt Service
4389 * @PARAM : class gosi.business.socialinsurance.occupationalhazards.injury.beans.TreatmentServiceBean,
4390 class java.lang.Long,
4391 class java.lang.String
4392 * @RETURN : class gosi.business.socialinsurance.occupationalhazards.injury.beans.TreatmentServiceBean
4393 * @EXCEPTION : class gosi.core.util.GOSIException
4394 * @LAST MODIFIED BY :
4395 * @LAST MODIFIED DATE :
4396 **/
4397 public TreatmentServiceBean isValidTrmtService
4398 (TreatmentServiceBean trmtSrvcBean,
4399 Long Id,String mode)throws GOSIException
4400 {
4401
4402 StringBuffer sbQuery = new StringBuffer();
4403 String patientNumber = "";
4404 Long treatmentId = null;
4405 Long hospitalCode = null;
4406 Short trmtStatus = null;
4407 Short workflowStatus = null;
4408 long timeCounter = 0;
4409 Timestamp trmtStartDate = null;
4410 Timestamp trmtEndDate = null;
4411 Timestamp injuryDate = null;
4412 Timestamp assessmentDate = null;
4413 String sqlQuery = "";
4414 String errorCode = "";
4415 try
4416 {
4417 timeCounter = System.currentTimeMillis();
4418 Timestamp currentDate = new Timestamp(System.currentTimeMillis());
4419 if(mode.equalsIgnoreCase("injuryId"))
4420 {
4421 sqlQuery = "select NVL(DATECOMPLICATION,INJURYDATE) INJURYDATE,"
4422 +" TREATMENTSTDATE , TREATMENTENDDATE ,INJURYSTATUS "
4423 +" from "+SITables.T_INJURY +" where INJURYID = ? ";
4424
4425 con = GOSIUtilities.getConnection(GOSIConstants.OCCUPATIONAL_HAZARDS_ID);
4426
4427 Short injuryStatus = null;
4428
4429 p = con.prepareStatement(sqlQuery);
4430 p.setLong(1,Id.longValue());
4431
4432 rs = p.executeQuery();
4433 if(rs.next())
4434 {
4435 trmtStartDate = rs.getTimestamp("TREATMENTSTDATE");
4436 trmtEndDate = rs.getTimestamp("TREATMENTENDDATE");
4437 injuryStatus = new Short(rs.getShort("INJURYSTATUS"));
4438 injuryDate = rs.getTimestamp("INJURYDATE");
4439 }
4440 if(trmtSrvcBean.getTrmtDateGreg().after(currentDate))
4441 {
4442 errorCode = "SOI_ERR_5198";
4443 }else
4444 if (OHConstants.INJ_STS_CURED_WITHOUT_DISABILITY.equals(injuryStatus)||
4445 OHConstants.INJ_STS_CURED_WITH_DISABILITY.equals(injuryStatus)||
4446 OHConstants.INJ_STS_RESULTED_IN_DEATH.equals(injuryStatus))
4447 {
4448 if(trmtSrvcBean.getTrmtDateGreg().before(trmtStartDate)||
4449 trmtSrvcBean.getTrmtDateGreg().after(trmtEndDate))
4450 {
4451 errorCode = "SOI_ERR_4012";
4452 }
4453 }
4454 else if(OHConstants.INJ_STS_APPROVED.equals(injuryStatus)||
4455 OHConstants.INJ_STS_REJECTED.equals(injuryStatus)||
4456 OHConstants.INJ_STS_TRANSFERED_DISEASE.equals(injuryStatus))
4457 {
4458 if(trmtSrvcBean.getTrmtDateGreg().before(injuryDate))
4459 {
4460 errorCode = "SOI_ERR_4632";
4461 }
4462 }
4463 else
4464 {
4465 errorCode = "SOI_ERR_4012";
4466 }
4467
4468 }
4469 else if (mode.equalsIgnoreCase("disabilityAssessmentID"))
4470 {
4471
4472 sqlQuery = "SELECT disabilityassessmentid, socialinsurancenumber, assessmentdate FROM "+
4473 SITables.T_DISBASSMT +" WHERE SCHEDULEID = ? AND assessmentstatus <> ? ";
4474
4475 con = GOSIUtilities.getConnection(GOSIConstants.OCCUPATIONAL_HAZARDS_ID);
4476 p = con.prepareStatement(sqlQuery);
4477 p.setLong (1, Id.longValue());
4478 p.setShort (2, OHConstants.ASSMT_CANCELLED);
4479 rs = p.executeQuery();
4480 if(rs.next())
4481 {
4482 assessmentDate = rs.getTimestamp("ASSESSMENTDATE");
4483 }
4484 if(trmtSrvcBean.getTrmtDateGreg().after(currentDate))
4485 {
4486 errorCode = "SOI_ERR_5198";
4487 }
4488 else if(trmtSrvcBean.getTrmtDateGreg().before(assessmentDate))
4489 {
4490 errorCode = "SOI_ERR_4386";
4491 }
4492 }
4493 trmtSrvcBean.setTrmtStatus(OHConstants.TRMT_STS_APPROVED);
4494 trmtSrvcBean.setErrorCode(errorCode);
4495 return trmtSrvcBean;
4496 }
4497 catch(GOSIException ge)
4498 {
4499 throw ge;
4500 }
4501 catch(Exception se)
4502 {
4503 throw new GOSIException( GOSIConstants.SEVERITY_ONE,
4504 GOSIConstants.SOCIAL_INSURANCE,
4505 this.getClass().toString(),
4506 "isValidTrmtService()",
4507 se,"CMN_ERR_1000");
4508 }
4509 finally
4510 {
4511 GOSIUtilities.cleanUp(con,p, rs);
4512 }
4513 }
4514
4515 /**
4516 * @METHOD NAME : isAlreadyEnteredService
4517 * @INFORMATION : This method is to is Already Entered Service
4518 * @PARAM : class gosi.business.socialinsurance.occupationalhazards.injury.beans.TreatmentServiceBean,
4519 class gosi.business.socialinsurance.occupationalhazards.injury.beans.InjuryPopDetails
4520 * @RETURN : boolean
4521 * @EXCEPTION : class gosi.core.util.GOSIException
4522 * @LAST MODIFIED BY :
4523 * @LAST MODIFIED DATE :
4524 **/
4525 public boolean isAlreadyEnteredService(TreatmentServiceBean trmtSrvcBean,
4526 InjuryPopDetails injuryDetails) throws GOSIException
4527 {
4528 GOSIDebug.debugMessages("--------isAlreadyEnteredService---------");
4529 PreparedStatement ps = null;
4530 ResultSet rs = null;
4531 boolean isAlreadyEntered = false;
4532 try
4533 {
4534 String sqlQuery = " select "+
4535 " b.TRMTSERVICEDETID, b.TRMTSERVICEHDRID from "+
4536 SITables.T_TRMTSERVICESHDR +" a , "+
4537 SITables.T_TRMTSERVICESDET +" b "+
4538 " where a.INJURYID = ? and a.HOSPITALCODE = ? and "+
4539 " a.TRMTSERVICEHDRID = b.TRMTSERVICEHDRID and b.TRMTAMT = ? "+
4540 " and b.TRMTDATE = ? and b.ICD10TRMTDIAGNOSISCODE =? "+
4541 " and b.TRMTSRVCSTATUS in (?,?)";
4542 con = GOSIUtilities.getConnection(GOSIConstants.OCCUPATIONAL_HAZARDS_ID);
4543 ps = con.prepareStatement(sqlQuery);
4544 ps.setLong(1,injuryDetails.getInjuryID().longValue());
4545 ps.setLong(2,trmtSrvcBean.getHospitalCode().longValue());
4546 ps.setDouble(3,trmtSrvcBean.getTrmtAmt().doubleValue());
4547 ps.setTimestamp(4,trmtSrvcBean.getTrmtDateGreg());
4548 ps.setString(5,trmtSrvcBean.getTrmtCode());
4549 ps.setShort(6,OHConstants.TRMT_SRVC_STS_APPROVED.shortValue());
4550 ps.setShort(7,OHConstants.TRMT_SRVC_STS_ENTERED.shortValue());
4551 rs = ps.executeQuery();
4552 while(rs.next())
4553 {
4554 isAlreadyEntered = true;
4555 }
4556
4557 /*
4558 if(!isAlreadyEntered)
4559 {
4560 for(int i=0;i<serviceList.size();i++)
4561 {
4562 TreatmentServiceBean serviceBean =
4563 (TreatmentServiceBean)serviceList.get(i);
4564 if(serviceBean.getMode()==serviceBean.DELETE_MODE)
4565 {
4566 continue;
4567 }
4568 if(serviceBean.getTrmtDateGreg().equals(trmtSrvcBean.getTrmtDateGreg())&&
4569 serviceBean.getTrmtCode().equals(trmtSrvcBean.getTrmtCode())&&
4570 serviceBean.getTrmtAmt().equals(trmtSrvcBean.getTrmtAmt()))
4571 {
4572 isAlreadyEntered = true;
4573 break;
4574 }
4575 }
4576 }
4577 */
4578 return isAlreadyEntered;
4579 }
4580 catch(GOSIException ge)
4581 {
4582 throw ge;
4583 }
4584 catch(Exception e)
4585 {
4586 throw new GOSIException( GOSIConstants.SEVERITY_ONE,
4587 GOSIConstants.SOCIAL_INSURANCE,
4588 this.getClass().toString(),
4589 "isAlreadyEnteredService()",
4590 e,"CMN_ERR_1000");
4591 }
4592 finally
4593 {
4594 GOSIUtilities.cleanUp(con,ps,rs);
4595 }
4596 }
4597/**
4598 * @METHOD NAME : isAlreadyEnteredTreatmentService
4599 * @INFORMATION : This method is to is Already Entered Service
4600 * @PARAM : class gosi.business.socialinsurance.occupationalhazards.injury.beans.TrtmServiceDetailBean
4601 * @RETURN : boolean
4602 * @EXCEPTION : class gosi.core.util.GOSIException
4603 * @LAST MODIFIED BY :
4604 * @LAST MODIFIED DATE :
4605 **/
4606 public boolean isAlreadyEnteredTreatmentService(TrtmServiceDetailBean trmtSrvcBean) throws GOSIException
4607 {
4608 GOSIDebug.debugMessages("--------isAlreadyEnteredTreatmentService---------");
4609 PreparedStatement ps = null;
4610 ResultSet rs = null;
4611 boolean isAlreadyEntered = false;
4612 try
4613 {
4614 String sqlQuery = " select TRTMSERVICEDETAILID from "+
4615 SITables.T_TRTMSERVICELISTDETAIL +
4616 " where HOSPITALCODE = ? and TREATMENTCODE = ? "+
4617 " and STATUS in (?,?,?,?,?)";
4618 con = GOSIUtilities.getConnection(GOSIConstants.OCCUPATIONAL_HAZARDS_ID);
4619 ps = con.prepareStatement(sqlQuery);
4620 ps.setLong(1,trmtSrvcBean.getHospitalCode().longValue());
4621 ps.setString(2,trmtSrvcBean.getTreatmentCode());
4622 ps.setShort(3,OHConstants.TRTM_SRVC_LIST_DET_STATUS_APPROVED1.shortValue());
4623 ps.setShort(4,OHConstants.TRTM_SRVC_LIST_DET_STATUS_APPROVED2.shortValue());
4624 ps.setShort(5,OHConstants.TRTM_SRVC_LIST_DET_STATUS_ENTERED.shortValue());
4625 ps.setShort(6,OHConstants.TRTM_SRVC_LIST_DET_STATUS_REJECTED.shortValue());
4626 ps.setShort(7,OHConstants.TRTM_SRVC_LIST_DET_STATUS_VERIFIED.shortValue());
4627 rs = ps.executeQuery();
4628 if(rs.next())
4629 {
4630 isAlreadyEntered = true;
4631 }
4632
4633
4634 return isAlreadyEntered;
4635 }
4636 catch(GOSIException ge)
4637 {
4638 throw ge;
4639 }
4640 catch(Exception e)
4641 {
4642 throw new GOSIException( GOSIConstants.SEVERITY_ONE,
4643 GOSIConstants.SOCIAL_INSURANCE,
4644 this.getClass().toString(),
4645 "isAlreadyEnteredTreatmentService()",
4646 e,"CMN_ERR_1000");
4647 }
4648 finally
4649 {
4650 GOSIUtilities.cleanUp(con,ps,rs);
4651 }
4652 }
4653
4654 /* This method is used to search and display the
4655 treatment details during modification */
4656 /**
4657 * @METHOD NAME : searchTreatmentServiceModify
4658 * @INFORMATION : This method is to search Treatment Service Modify
4659 * @PARAM : class gosi.business.socialinsurance.occupationalhazards.injury.beans.TreatmentPeriodBean
4660 * @RETURN : class java.util.HashMap
4661 * @EXCEPTION : class gosi.core.util.GOSIException
4662 * @LAST MODIFIED BY :
4663 * @LAST MODIFIED DATE :
4664 **/
4665 public HashMap searchTreatmentServiceModify
4666 (TreatmentPeriodBean srchTrmtPrdBean)
4667 throws GOSIException
4668 {
4669
4670 long timeCounter = 0;
4671 long establishmentId = 0;
4672 StringBuffer sbQuery = new StringBuffer();
4673 String contributorName = "";
4674 ResultSet rsTreatment = null;
4675
4676 try
4677 {
4678 timeCounter = System.currentTimeMillis();
4679
4680 con = GOSIUtilities.getConnection
4681 (GOSIConstants.OCCUPATIONAL_HAZARDS_ID);
4682
4683 sbQuery = sbQuery.delete(0,sbQuery.length());
4684
4685 sbQuery.append(" SELECT A.injuryid,A.socinsnumber, ");
4686 sbQuery.append(" A.injurydateentfmt,A.injurydate,A.DATECOMPLICATION, ");
4687 sbQuery.append(" A.injurynumber,B.registrationnumber, ");
4688 sbQuery.append(" D.firstname || ' ' || ");
4689 sbQuery.append(" NVL(D.secondname,'')|| ' ' || " );
4690 sbQuery.append(" NVL(D.thirdname,'')||' ' || ");
4691 sbQuery.append(" NVL(D.surname,'') NAME, ");
4692 sbQuery.append(" D.nationalitycode, " );
4693 sbQuery.append(" B.fieldofficecode, A.contributorid, ");
4694 sbQuery.append(" A.establishmentid FROM ");
4695 sbQuery.append( SITables.T_INJURY + " A ,");
4696 sbQuery.append( SITables.T_ESTABLISHMENT + " B, ");
4697 sbQuery.append( SITables.T_CONTRIBUTOR + " C, ");
4698 sbQuery.append( SITables.T_PERSON + " D where ");
4699 sbQuery.append(" A.establishmentid = B.establishmentid ");
4700 sbQuery.append(" AND A.contributorid = C.contributorid " );
4701 sbQuery.append(" AND C.personid = D.personid AND " );
4702 sbQuery.append(" A.injurystatus NOT IN ( ? , ? ) " );
4703 sbQuery.append(" AND A.injuryid = ? " );
4704
4705
4706 GOSIDebug.debugMessages("sqlQuery" + sbQuery);
4707 p = con.prepareStatement(sbQuery.toString());
4708
4709 p.setShort(1,OHConstants.INJ_STS_REJECTED.shortValue());
4710 p.setShort(2,OHConstants.INJ_STS_CANCELLED.shortValue());
4711 p.setLong(3,srchTrmtPrdBean.getInjuryId().longValue());
4712
4713
4714 rs = p.executeQuery();
4715 InjuryPopDetails injuryDetails = null;
4716 while(rs.next())
4717 {
4718 injuryDetails=new InjuryPopDetails();
4719 injuryDetails.setInjuryID( new Long
4720 (rs.getLong("INJURYID")));
4721 injuryDetails.setSocialInsuranceNumber
4722 ( new Long(rs.getLong("SOCINSNUMBER")));
4723
4724 injuryDetails.setInjuryDate(rs.getTimestamp
4725 ("INJURYDATE"));
4726 injuryDetails.setInjuryDateEntFmt
4727 (rs.getString("INJURYDATEENTFMT"));
4728 if (OHConstants.HIJRAH.equals
4729 (injuryDetails.getInjuryDateEntFmt()))
4730 {
4731 injuryDetails.setInjuryDateStr
4732 (GOSIDateUtilities.convertToHijra(
4733 GOSIUtilities.getDateFullString(
4734 injuryDetails.getInjuryDate())));
4735 }
4736 else
4737 {
4738 injuryDetails.setInjuryDateStr
4739 (GOSIUtilities.getDateFullString(
4740 injuryDetails.getInjuryDate()));
4741 }
4742
4743 if(rs.getObject("DATECOMPLICATION")!=null)
4744 {
4745 injuryDetails.setComplicationDate
4746 (rs.getTimestamp("DATECOMPLICATION"));
4747 injuryDetails.setComplicationDateStr(OHUtilities.getDateStr
4748 (injuryDetails.getComplicationDate(),injuryDetails.getInjuryDateEntFmt()));
4749 }
4750
4751 injuryDetails.setInjuryNumber
4752 ( new Long(rs.getLong("INJURYNUMBER")));
4753
4754 injuryDetails.setName(rs.getString("NAME"));
4755 injuryDetails.setNationality
4756 (new Short(rs.getShort("NATIONALITYCODE")));
4757 injuryDetails.setFieldOffice
4758 (new Short(rs.getShort("FIELDOFFICECODE")));
4759
4760 injuryDetails.setContributorId(
4761 new Long(rs.getLong("CONTRIBUTORID")));
4762
4763 establishmentId = rs.getLong
4764 ("ESTABLISHMENTID");
4765 GOSIDebug.debugMessages("est id ***" +
4766 establishmentId );
4767
4768 ContributorBean oContributorBean =
4769 new ContributorBean();
4770 oContributorBean = ContributorUtilities.
4771 displayContributor(injuryDetails.getContributorId());
4772 GOSIDebug.debugMessages("PersonId::"+oContributorBean.
4773 getPersonId());
4774 PersonBean oPersonBean = new PersonBean();
4775 oPersonBean = PersonUtilities.
4776 displayPerson(oContributorBean.getPersonId());
4777 GOSIDebug.debugMessages("first name" +
4778 oPersonBean.getFirstName());
4779 GOSIDebug.debugMessages("first name" +
4780 oPersonBean.getFirstName());
4781 GOSIDebug.debugMessages("second name" +
4782 oPersonBean.getSecondName());
4783 GOSIDebug.debugMessages("third name" +
4784 oPersonBean.getThirdName());
4785 GOSIDebug.debugMessages("surname" +
4786 oPersonBean.getSurName());
4787 contributorName = oPersonBean.getFirstName();
4788 if(oPersonBean.getSecondName() != null)
4789 {
4790 contributorName += " " + oPersonBean.getSecondName();
4791 }
4792 if(oPersonBean.getThirdName() != null)
4793 {
4794 contributorName += " " + oPersonBean.getThirdName();
4795 }
4796 if(oPersonBean.getSurName() != null)
4797 {
4798 contributorName += " " + oPersonBean.getSurName();
4799 }
4800 GOSIDebug.debugMessages("contributor Name ^^^" +
4801 contributorName);
4802
4803 injuryDetails.setName(contributorName);
4804
4805 if(oPersonBean.getNationalityCode() != null)
4806 {
4807 injuryDetails.setNationality
4808 (oPersonBean.getNationalityCode());
4809 }
4810 GOSIDebug.debugMessages("nationality code ^^^" +
4811 oPersonBean.getNationalityCode());
4812
4813 EstablishmentBean oEstablishmentBean =
4814 new EstablishmentBean();
4815
4816 EstablishmentUtility oEstablishmentUtility =
4817 new EstablishmentUtility();
4818
4819 oEstablishmentBean = oEstablishmentUtility.
4820 getEstablishmentDetails(establishmentId,
4821 false,true);
4822
4823 GOSIDebug.debugMessages("reg no" + oEstablishmentBean.
4824 getRegistrationNumber());
4825 if(oEstablishmentBean != null)
4826 {
4827 injuryDetails.setRegistrationNumber
4828 (oEstablishmentBean.
4829 getRegistrationNumber());
4830 }
4831
4832 }
4833
4834 GOSIDebug.debugMessages("injury details fetched:");
4835 sbQuery = sbQuery.delete(0,sbQuery.length());
4836
4837 String hospitalName = "";
4838 sbQuery.append(" SELECT a.TRMTSERVICEDETID, ");
4839 sbQuery.append(" a.TRMTSERVICEHDRID, ");
4840 sbQuery.append(" a.TRMTDATE, ");
4841 sbQuery.append(" a.TRMTDATEENTFMT,");
4842 sbQuery.append(" a.TRMTTIMEHR, ");
4843 sbQuery.append(" a.TRMTTIMEMIN,");
4844 sbQuery.append(" a.TRMTTIMEAMPM, ");
4845 sbQuery.append(" a.ICD10TRMTDIAGNOSISCODE, ");
4846 sbQuery.append(" a.TRMTDESC, ");
4847 sbQuery.append(" a.UNITS, ");
4848 sbQuery.append(" a.UNITPRICE, ");
4849 sbQuery.append(" a.TRMTAMT, ");
4850 sbQuery.append(" a.CREATEDBY, ");
4851 sbQuery.append(" a.CREATIONTIMESTAMP, ");
4852 sbQuery.append(" a.LASTMODIFIEDBY, ");
4853 sbQuery.append(" a.LASTMODIFIEDTIMESTAMP, ");
4854 sbQuery.append(" a.FILENUMBER , ");
4855 sbQuery.append(" a.PAGENUMBER , ");
4856 sbQuery.append(" a.REASONFORDEDUCTION , a.ISNONDISCOUNT");
4857 sbQuery.append(" b.HOSPITALNAMEARB FROM " );
4858 sbQuery.append( SITables.T_TRMTSERVICESDET + " a , ");
4859 sbQuery.append( SITables.T_HOSPITAL+ " b " );
4860 sbQuery.append(" WHERE a.TRMTSERVICEHDRID = " );
4861 sbQuery.append(" (SELECT TRMTSERVICEHDRID FROM ");
4862 sbQuery.append( SITables.T_TRMTSERVICESHDR);
4863 sbQuery.append(" WHERE PATIENTNUMBER = ? AND ");
4864 sbQuery.append(" HOSPITALCODE = ? AND ");
4865 sbQuery.append(" INJURYID = ? )" );
4866 sbQuery.append(" AND a.TRMTDATE >= ? ");
4867 sbQuery.append(" AND a.TRMTDATE <= ? " );
4868 sbQuery.append(" AND b.HOSPITALCODE = ? ");
4869 sbQuery.append(" AND a.WORKFLOWSTATUS = ? ");
4870
4871
4872
4873 GOSIDebug.debugMessages("sqlQuery" + sbQuery);
4874 Long fileNumber = null;
4875 Long pageNumber = null;
4876
4877 p = con.prepareStatement(sbQuery.toString());
4878
4879 p.setString(1,srchTrmtPrdBean.getPatientNumber());
4880 p.setLong(2,srchTrmtPrdBean.getHospitalCode().longValue());
4881 p.setLong(3,srchTrmtPrdBean.getInjuryId().longValue());
4882 p.setTimestamp(4,srchTrmtPrdBean.getStartDateGreg());
4883 p.setTimestamp(5,srchTrmtPrdBean.getEndDateGreg());
4884 p.setLong(6,srchTrmtPrdBean.getHospitalCode().longValue());
4885 p.setShort(7,(OHConstants.WFS_SRVC_PENDING_DATA_ENTRY).
4886 shortValue());
4887 rs = p.executeQuery();
4888 ArrayList serviceList = new ArrayList ();
4889 while(rs.next())
4890 {
4891 TreatmentServiceBean srvcBean= new TreatmentServiceBean();
4892 srvcBean.setTrmtServiceDetId(new Long
4893 (rs.getLong("TRMTSERVICEDETID")));
4894 srvcBean.setTrmtServiceHdrId(new Long
4895 (rs.getLong("TRMTSERVICEHDRID")));
4896 //GOSIDebug.debugMessages("hdr id:");
4897 srvcBean.setTrmtDateGreg(rs.getTimestamp("TRMTDATE"));
4898 //GOSIDebug.debugMessages("trmtdate:");
4899 srvcBean.setTrmtDateEntFmt(rs.getString("TRMTDATEENTFMT"));
4900 if(OHConstants.HIJRAH.equals
4901 (srvcBean.getTrmtDateEntFmt()))
4902 {
4903 srvcBean.setTrmtDateStr
4904 (GOSIDateUtilities.convertToHijra
4905 (GOSIUtilities.getDateFullString
4906 (srvcBean.getTrmtDateGreg())));
4907 }
4908 else
4909 {
4910 srvcBean.setTrmtDateStr
4911 (GOSIUtilities.getDateFullString
4912 (srvcBean.getTrmtDateGreg()));
4913 }
4914 srvcBean.setTrmtTimeHr(rs.getString("TRMTTIMEHR"));
4915 srvcBean.setTrmtTimeMin(rs.getString("TRMTTIMEMIN"));
4916
4917 if(rs.getObject("TRMTTIMEAMPM")!= null)
4918 {
4919 srvcBean.setTrmtTimeAmPm(new Short
4920 (rs.getShort("TRMTTIMEAMPM")));
4921 }
4922 srvcBean.setTrmtCode(rs.getString
4923 ("ICD10TRMTDIAGNOSISCODE"));
4924 srvcBean.setTrmtDesc(rs.getString("TRMTDESC"));
4925 if(rs.getObject("UNITS")!= null)
4926 {
4927 srvcBean.setUnits(rs.getFloat("UNITS"));
4928 }
4929 if(rs.getObject("UNITPRICE")!= null)
4930 {
4931 srvcBean.setUnitPrice(new Double
4932 (rs.getDouble("UNITPRICE")));
4933 }
4934 if(rs.getString("REASONFORDEDUCTION")!=null)
4935 {
4936 srvcBean.setReasonForDeduction(rs.getString("REASONFORDEDUCTION"));
4937 }
4938 if(rs.getString("ISNONDISCOUNT")!=null)
4939 {
4940 srvcBean.setIsNonDiscount(rs.getByte("ISNONDISCOUNT"));
4941 }
4942 srvcBean.setTrmtAmt(new Double(rs.getDouble("TRMTAMT")));
4943 srvcBean.setCreatedBy(new Long(rs.getLong("CREATEDBY")));
4944 srvcBean.setCreationTimestamp
4945 (rs.getTimestamp("CREATIONTIMESTAMP"));
4946 if(rs.getObject("LASTMODIFIEDBY")!= null)
4947 {
4948 srvcBean.setLastModifiedBy(new Long
4949 (rs.getLong("LASTMODIFIEDBY")));
4950 srvcBean.setLastModifiedTimestamp(
4951 rs.getTimestamp("LASTMODIFIEDTIMESTAMP"));
4952 }
4953 if(rs.getObject("FILENUMBER")!=null)
4954 {
4955 srvcBean.setFileNumber(new Long(rs.getLong("FILENUMBER")));
4956 fileNumber =srvcBean.getFileNumber();
4957 }
4958 if(rs.getObject("PAGENUMBER")!=null)
4959 {
4960 srvcBean.setPageNumber(new Long(rs.getLong("PAGENUMBER")));
4961 pageNumber =srvcBean.getPageNumber();
4962 }
4963
4964 sbQuery = sbQuery.delete(0,sbQuery.length());
4965
4966 if(srvcBean.getTrmtCode().equalsIgnoreCase
4967 (OHConstants.ICD_MEDICINE_CODE))
4968 {
4969 srvcBean.setTrmt(srvcBean.getTrmtDesc());
4970 srvcBean.setMedicineDescription
4971 (srvcBean.getTrmtDesc());
4972 srvcBean.setMedicineAmount(srvcBean.getTrmtAmt());
4973 srvcBean.setTrmtAmt(null);
4974 srvcBean.setTrmtCode("");
4975 srvcBean.setTrmtDesc("");
4976 }else if(srvcBean.getTrmtCode().equalsIgnoreCase
4977 (OHConstants.TRMT_SRVC_BULK_ENTRY))
4978 {
4979 srvcBean.setTrmt
4980 (GOSIErrorMessages.getErrorDesc("SOI_ERR_5309"));
4981 }
4982 else
4983 {
4984 /* This query is used to get the
4985 treatment description for the
4986 treatment code passed */
4987
4988
4989
4990 sbQuery.append(" SELECT icd10treatment FROM ");
4991 sbQuery.append( SITables.T_ICDTREATMENTDATA);
4992 sbQuery.append(" WHERE icd10treatmentcode LIKE ? " );
4993 sbQuery.append(" OR icd10treatmentcode LIKE ? " );
4994
4995 GOSIDebug.debugMessages("sqlQuery" + sbQuery);
4996
4997 p = con.prepareStatement(sbQuery.toString());
4998 p.setString(1,srvcBean.getTrmtCode());
4999 p.setString(2,srvcBean.getTrmtCode().toUpperCase());
5000
5001 rsTreatment = p.executeQuery();
5002
5003 if(rsTreatment.next())
5004 {
5005 srvcBean.setTrmt(rsTreatment.
5006 getString(1));
5007 }
5008 GOSIUtilities.cleanUp(rsTreatment);
5009 }
5010
5011
5012 srvcBean.setHospitalDesc
5013 (rs.getString("HOSPITALNAMEARB"));
5014 hospitalName = srvcBean.getHospitalDesc();
5015 srvcBean.setHospitalCode
5016 (srchTrmtPrdBean.getHospitalCode());
5017 srvcBean.setPatientNumber
5018 (srchTrmtPrdBean.getPatientNumber());
5019 srvcBean.setMode(AuditBean.OLD_MODE);
5020 serviceList.add(srvcBean);
5021 }
5022 injuryDetails.setHospitalNameArb
5023 (srchTrmtPrdBean.getHospitalNameArb());
5024 injuryDetails.setHospitalCode
5025 (srchTrmtPrdBean.getHospitalCode());
5026 injuryDetails.setPatientNumber
5027 (srchTrmtPrdBean.getPatientNumber());
5028 injuryDetails.setFileNumber(fileNumber);
5029 injuryDetails.setPageNumber(pageNumber);
5030 HashMap details = new HashMap();
5031 details.put("injuryDetails",injuryDetails);
5032 details.put("serviceList",serviceList);
5033 sbQuery = sbQuery.delete(0,sbQuery.length());
5034
5035 GOSIInstrumentationLog.writeInstrumentationToLog(
5036 this.getClass().toString(),
5037 "searchTreatmentServiceModify()",
5038 (System.currentTimeMillis() - timeCounter));
5039
5040 return details;
5041
5042 }
5043 catch(GOSIException ge)
5044 {
5045 throw ge;
5046 }
5047 catch(Exception e)
5048 {
5049 GOSIDebug.debugMessages("servlet : The exception is " +e);
5050 throw new GOSIException( GOSIConstants.SEVERITY_ONE,
5051 GOSIConstants.SOCIAL_INSURANCE,this.getClass().toString(),
5052 "searchTreatmentServiceModify()",e,"CMN_ERR_1000" );
5053 }
5054 finally
5055 {
5056 GOSIUtilities.cleanUp(con, p, rs);
5057 }
5058 }
5059 /* This method is used to search and display the
5060 treatment details during verification/approval */
5061 /**
5062 * @METHOD NAME : searchTreatmentServiceInbox
5063 * @INFORMATION : This method is to search Treatment Service Inbox
5064 * @PARAM : class java.lang.Long
5065 * @RETURN : class java.util.HashMap
5066 * @EXCEPTION : class gosi.core.util.GOSIException
5067 * @LAST MODIFIED BY :
5068 * @LAST MODIFIED DATE :
5069 **/
5070 public HashMap searchTreatmentServiceInbox
5071 (Long primaryKey)throws GOSIException
5072 {
5073
5074 long timeCounter = 0;
5075 long establishmentId = 0;
5076 String hospitalDesc = "";
5077 String patientNumber = "";
5078 String contributorName = "";
5079 Long hospitalCode = null;
5080 Long injuryId = null;
5081 Long disabilityAssessmentId = null;
5082 Long invoiceDetailsId = null;
5083 Short appealStatus=null;
5084 ResultSet rsTreatment = null;
5085 StringBuffer sbQuery = new StringBuffer();
5086 Long fileNumber = null;
5087 Long pageNumber = null;
5088 HashMap details = new HashMap();
5089 ResultSet rs2 = null;
5090
5091 try
5092 {
5093 timeCounter = System.currentTimeMillis();
5094
5095 con = GOSIUtilities.getConnection
5096 (GOSIConstants.OCCUPATIONAL_HAZARDS_ID);
5097
5098 sbQuery = sbQuery.delete(0,sbQuery.length());
5099
5100 sbQuery.append(" SELECT a.TRMTSERVICEDETID, " );
5101 sbQuery.append(" a.TRMTSERVICEHDRID,a.TRMTDATE, " );
5102 sbQuery.append(" a.TRMTDATEENTFMT,a.TRMTTIMEHR, ");
5103 sbQuery.append(" a.TRMTTIMEMIN,a.TRMTTIMEAMPM," );
5104 sbQuery.append(" a.ICD10TRMTDIAGNOSISCODE," );
5105 sbQuery.append(" a.TRMTDESC,a.UNITS,a.UNITPRICE,");
5106 sbQuery.append(" a.TRMTAMT,a.CREATEDBY,");
5107 sbQuery.append(" a.CREATIONTIMESTAMP,");
5108 sbQuery.append(" a.LASTMODIFIEDBY,");
5109 sbQuery.append(" a.LASTMODIFIEDTIMESTAMP,");
5110 sbQuery.append(" a.TRMTSRVCSTATUS,");
5111 sbQuery.append(" a.WORKFLOWSTATUS," );
5112 sbQuery.append(" a.TRMTSRVCWRKFLOID,");
5113 sbQuery.append(" a.APPROVEDUNITS,");
5114 sbQuery.append(" a.REJECTIONCODE,");
5115 sbQuery.append(" a.FILENUMBER,");
5116 sbQuery.append(" a.PAGENUMBER,");
5117 sbQuery.append(" a.routingflag,");
5118 sbQuery.append(" a.REASONFORDEDUCTION,");
5119 sbQuery.append(" a.SFDACODE,");
5120 sbQuery.append(" a.UOM, a.ISPERIODDEDUCTED , ");
5121 sbQuery.append(" a.DISCOUNTPERCENTAGE,");
5122 sbQuery.append(" a.APPROVEDDISCPERCENTAGE,");
5123 sbQuery.append(" a.IOFLAG,");
5124 sbQuery.append(" a.REASONOFAPPEALDEDCUTION, a.APPEALDEDCUTIONSTATUS, a.APPEALDEDCUTIONDATE,a.APPEALDEDCUTIONWFID ,");
5125 sbQuery.append(" a.REJECTEDTRMTAMT, a.ISNONDISCOUNT , ");
5126 sbQuery.append(" c.invoicedetailsid,c.APPEALSTATUS,");
5127 sbQuery.append(" c.HOSPITALCODE ,NVL(c.INJURYID,d.INJURYID) AS INJURYID,");
5128 sbQuery.append(" d.SCHEDULEID , c.PATIENTNUMBER,b.HOSPITALNAMEARB FROM ");
5129 sbQuery.append( SITables.T_TRMTSERVICESDET + " a , ");
5130 sbQuery.append( SITables.T_HOSPITAL + " b," );
5131 sbQuery.append( SITables.T_TRMTSERVICESHDR + " c LEFT JOIN " );
5132 sbQuery.append( SITables.T_MBAPPOINTMENT + " d ON c.DISASSMTID = d.SCHEDULEID WHERE " );
5133 sbQuery.append(" a.TRMTSERVICEHDRID = c.TRMTSERVICEHDRID ");
5134 sbQuery.append(" and c.HOSPITALCODE = b.HOSPITALCODE ");
5135 sbQuery.append(" AND ( a.TRMTSRVCWRKFLOID = ? OR (a.APPEALDEDCUTIONWFID=? and APPEALDEDCUTIONSTATUS <> ?)) ");
5136 sbQuery.append(" ORDER BY NVL(A.SFDACODE,A.ICD10TRMTDIAGNOSISCODE) , A.TRMTDATE ASC ");
5137
5138
5139 GOSIDebug.debugMessages("SqlQuery:\n"+sbQuery);
5140
5141
5142 p = con.prepareStatement(sbQuery.toString());
5143 p.setLong(1,primaryKey.longValue());
5144 p.setLong(2,primaryKey.longValue());
5145 p.setShort(3,OHConstants.TRMT_SRVC_APPEAL_STS_CANCELLED);
5146 rs = p.executeQuery();
5147
5148 ArrayList serviceList = new ArrayList ();
5149 while(rs.next())
5150 {
5151 TreatmentServiceBean srvcBean = new TreatmentServiceBean();
5152 srvcBean.setTrmtServiceDetId(new Long
5153 (rs.getLong("TRMTSERVICEDETID")));
5154 srvcBean.setTrmtServiceHdrId(new Long
5155 (rs.getLong("TRMTSERVICEHDRID")));
5156 //GOSIDebug.debugMessages("hdr id:");
5157 srvcBean.setTrmtDateGreg(rs.getTimestamp("TRMTDATE"));
5158 //GOSIDebug.debugMessages("trmtdate:");
5159 srvcBean.setTrmtDateEntFmt(rs.getString("TRMTDATEENTFMT"));
5160 if(OHConstants.HIJRAH.equals
5161 (srvcBean.getTrmtDateEntFmt()))
5162 {
5163 srvcBean.setTrmtDateStr
5164 (GOSIDateUtilities.convertToHijra
5165 (GOSIUtilities.getDateFullString
5166 (srvcBean.getTrmtDateGreg())));
5167 }
5168 else
5169 {
5170 srvcBean.setTrmtDateStr
5171 (GOSIUtilities.getDateFullString
5172 (srvcBean.getTrmtDateGreg()));
5173 }
5174 srvcBean.setTrmtTimeHr(rs.getString("TRMTTIMEHR"));
5175 srvcBean.setTrmtTimeMin(rs.getString("TRMTTIMEMIN"));
5176 if(rs.getObject("TRMTTIMEAMPM")!= null)
5177 {
5178 srvcBean.setTrmtTimeAmPm(new Short
5179 (rs.getShort("TRMTTIMEAMPM")));
5180 }
5181 srvcBean.setTrmtCode(rs.getString
5182 ("ICD10TRMTDIAGNOSISCODE"));
5183 srvcBean.setTrmtDesc(rs.getString("TRMTDESC"));
5184
5185 if(rs.getObject("UNITS")!= null)
5186 {
5187 srvcBean.setUnits(rs.getFloat("UNITS"));
5188 }
5189 if(rs.getObject("UNITPRICE")!= null)
5190 {
5191 srvcBean.setUnitPrice(new Double
5192 (rs.getDouble("UNITPRICE")));
5193 }
5194
5195 if(rs.getObject("SFDACODE")!= null)
5196 {
5197 srvcBean.setSFDACode(rs.getString("SFDACODE"));
5198 }
5199 if(rs.getObject("UOM")!= null)
5200 {
5201 srvcBean.setUOM(rs.getString("UOM"));
5202 }
5203 if(rs.getObject("DISCOUNTPERCENTAGE")!= null)
5204 {
5205 srvcBean.setDiscountPercentage(new Double
5206 (rs.getDouble("DISCOUNTPERCENTAGE")));
5207 }
5208 if(rs.getObject("APPROVEDDISCPERCENTAGE")!= null)
5209 {
5210 srvcBean.setApprovedDiscPercentage(new Double
5211 (rs.getDouble("APPROVEDDISCPERCENTAGE")));
5212 }
5213 if(rs.getObject("IOFLAG")!= null)
5214 {
5215 srvcBean.setIOFlag(rs.getString("IOFLAG").charAt(0));
5216 }
5217 if(rs.getObject("REJECTEDTRMTAMT")!= null)
5218 {
5219 srvcBean.setRejectedTrmtAmt(rs.getDouble("REJECTEDTRMTAMT"));
5220 }
5221 else
5222 srvcBean.setRejectedTrmtAmt(new Double("0"));
5223
5224 if(rs.getObject("ISPERIODDEDUCTED")!= null)
5225 {
5226 srvcBean.setIsPeriodDeducted(rs.getByte("ISPERIODDEDUCTED"));
5227 }
5228
5229 if(rs.getObject("SCHEDULEID")!= null)
5230 {
5231 srvcBean.setDisbAssmtId(rs.getLong("SCHEDULEID"));
5232 }
5233
5234 srvcBean.setTrmtAmt(new Double(rs.getDouble("TRMTAMT")));
5235 srvcBean.setCreatedBy(new Long(rs.getLong("CREATEDBY")));
5236 srvcBean.setCreationTimestamp
5237 (rs.getTimestamp("CREATIONTIMESTAMP"));
5238 if(rs.getObject("LASTMODIFIEDBY")!= null)
5239 {
5240 srvcBean.setLastModifiedBy(new Long
5241 (rs.getLong("LASTMODIFIEDBY")));
5242 srvcBean.setLastModifiedTimestamp(
5243 rs.getTimestamp("LASTMODIFIEDTIMESTAMP"));
5244 }
5245 srvcBean.setTrmtSrvcStatus
5246 (new Short(rs.getShort("TRMTSRVCSTATUS")));
5247 srvcBean.setWorkflowStatus
5248 (new Short(rs.getShort("WORKFLOWSTATUS")));
5249 srvcBean.setTrmtSrvcWrkfloId
5250 (new Long(rs.getLong("TRMTSRVCWRKFLOID")));
5251
5252 if(rs.getString("routingflag")!=null)
5253 {
5254 srvcBean.setRoutingFlag(new Short(
5255 rs.getShort("routingFlag")));
5256 }
5257 if(rs.getString("REASONFORDEDUCTION")!=null)
5258 {
5259 srvcBean.setReasonForDeduction(rs.getString("REASONFORDEDUCTION"));
5260 }
5261 srvcBean.setTrmtSrvcStatus(
5262 new Short(rs.getShort("TRMTSRVCSTATUS")));
5263
5264 if(rs.getObject("INVOICEDETAILSID") != null)
5265 {
5266 invoiceDetailsId = rs.getLong("INVOICEDETAILSID");
5267 }
5268 if(rs.getObject("APPEALSTATUS") != null)
5269 {
5270 appealStatus = rs.getShort("APPEALSTATUS");
5271 }
5272 if(rs.getObject("APPROVEDUNITS")!= null)
5273 {
5274 srvcBean.setApprovedUnits(rs.getFloat("APPROVEDUNITS"));
5275 }
5276 if(rs.getObject("REJECTIONCODE")!= null)
5277 {
5278 srvcBean.setRejectionCode
5279 (new Short(rs.getShort("REJECTIONCODE")));
5280 }
5281 if(rs.getObject("FILENUMBER")!=null)
5282 {
5283 srvcBean.setFileNumber
5284 (new Long(rs.getLong("FILENUMBER")));
5285 fileNumber = srvcBean.getFileNumber();
5286 }
5287 if(rs.getObject("PAGENUMBER")!=null)
5288 {
5289 srvcBean.setPageNumber
5290 (new Long(rs.getLong("PAGENUMBER")));
5291 pageNumber = srvcBean.getPageNumber();
5292 }
5293 if(rs.getObject("REASONOFAPPEALDEDCUTION")!=null)
5294 {
5295 srvcBean.setReasonOfAppealDedcution(rs.getString("REASONOFAPPEALDEDCUTION"));
5296 }
5297 if(rs.getObject("ISNONDISCOUNT")!=null)
5298 {
5299 srvcBean.setIsNonDiscount(rs.getByte("ISNONDISCOUNT"));
5300 }
5301 if(rs.getObject("APPEALDEDCUTIONSTATUS")!=null)
5302 {
5303 srvcBean.setAppealDedcutionStatus(rs.getShort("APPEALDEDCUTIONSTATUS"));
5304 }
5305 if(rs.getObject("APPEALDEDCUTIONDATE")!=null)
5306 {
5307 srvcBean.setAppealDedcutionDate(rs.getTimestamp("APPEALDEDCUTIONDATE"));
5308 }
5309 if(rs.getObject("APPEALDEDCUTIONWFID")!=null)
5310 {
5311 srvcBean.setAppealDedcutionWfId(rs.getLong("APPEALDEDCUTIONWFID"));
5312 }
5313 srvcBean.setHospitalCode
5314 (new Long (rs.getLong("HOSPITALCODE")));
5315
5316 sbQuery = sbQuery.delete(0,sbQuery.length());
5317
5318 //GOSIDebug.debugMessages("trmt code" + srvcBean.getTrmtCode());
5319 if(srvcBean.getTrmtCode().trim().
5320 equalsIgnoreCase(OHConstants.ICD_MEDICINE_CODE))
5321 {
5322 srvcBean.setMedicineDescription
5323 (srvcBean.getTrmtDesc());
5324 srvcBean.setMedicineAmount(srvcBean.getTrmtAmt());
5325
5326 if (invoiceDetailsId == null)
5327 {
5328 srvcBean.setTrmtAmt(null);
5329 srvcBean.setTrmtCode("");
5330 srvcBean.setTrmtDesc("");
5331 }
5332
5333 // get SFDA Medicine Details
5334 sbQuery.append("SELECT ID, REGISTRATIONNUM, GENERICNAME , TRADENAME, STRENGTHVALUE, ");
5335 sbQuery.append("UNITOFSTRENGTH, DOSAGEFORM , ROUTEOFADMINISTRATION, ATCCODE1, ATCCODE2, VOLUME, ");
5336 sbQuery.append("UNITOFVOLUME, PACKAGETYPE , PACKAGESIZE , LEGALSTATUS, PRODUCTCONTROL, PUBLICPRICE, ");
5337 sbQuery.append("SHELFLIFE , STORAGECONDITIONS , MANUFACTURERNAME, COUNTRYOFMANUFACTURER, ");
5338 sbQuery.append("MARKETINGCOMPANY, NATIONALITY , AGENTNAME , AUTHORIZATIONSTATUS , MARKETINGSTATUS,DRUGTYPE, ");
5339 sbQuery.append("REMARKS FROM T_SFDA WHERE REGISTRATIONNUM=? ");
5340
5341
5342 //GOSIDebug.debugMessages("SqlQuery trmt \n"+sbQuery);
5343 //GOSIDebug.debugMessages("SFDACode trmt \n"+srvcBean.getSFDACode());
5344
5345 p = con.prepareStatement(sbQuery.toString());
5346 p.setString(1,srvcBean.getSFDACode());
5347
5348 rsTreatment = p.executeQuery();
5349
5350 if(rsTreatment.next())
5351 {
5352
5353 SFDABean medicineBean = new SFDABean();
5354 medicineBean.setId(rsTreatment.getLong("ID"));
5355 medicineBean.setRegistrationNumber(rsTreatment.getString("REGISTRATIONNUM"));
5356 medicineBean.setGenericName(rsTreatment.getString("GENERICNAME"));
5357 medicineBean.setTradeName(rsTreatment.getString("TRADENAME"));
5358 medicineBean.setStrengthValue(rsTreatment.getString("STRENGTHVALUE"));
5359 medicineBean.setUnitOfStrength(rsTreatment.getString("UNITOFSTRENGTH"));
5360 medicineBean.setDosageForm(rsTreatment.getString("DOSAGEFORM"));
5361 medicineBean.setRouteOfAdministration(rsTreatment.getString("ROUTEOFADMINISTRATION"));
5362 medicineBean.setAtcCode1(rsTreatment.getString("ATCCODE1"));
5363 medicineBean.setAtcCode2(rsTreatment.getString("ATCCODE2"));
5364 medicineBean.setVolume(rsTreatment.getString("VOLUME"));
5365 medicineBean.setUnitOfVolume(rsTreatment.getString("UNITOFVOLUME"));
5366 medicineBean.setPackageType(rsTreatment.getString("PACKAGETYPE"));
5367 medicineBean.setPackageSize(rsTreatment.getInt("PACKAGESIZE"));
5368 medicineBean.setLegalStatus(rsTreatment.getString("LEGALSTATUS"));
5369 medicineBean.setProductControl(rsTreatment.getString("PRODUCTCONTROL"));
5370 medicineBean.setPublicPrice(rsTreatment.getDouble("PUBLICPRICE"));
5371 medicineBean.setShelfLife(rsTreatment.getInt("SHELFLIFE"));
5372 medicineBean.setStorageConditions(rsTreatment.getString("STORAGECONDITIONS"));
5373 medicineBean.setManufacturername(rsTreatment.getString("MANUFACTURERNAME"));
5374 medicineBean.setCountryOfManufacturer(rsTreatment.getString("COUNTRYOFMANUFACTURER"));
5375 medicineBean.setMarketingCompany(rsTreatment.getString("MARKETINGCOMPANY"));
5376 medicineBean.setNationality(rsTreatment.getString("NATIONALITY"));
5377 medicineBean.setAgentName(rsTreatment.getString("AGENTNAME"));
5378 medicineBean.setAuthorizationStatus(rsTreatment.getString("AUTHORIZATIONSTATUS"));
5379 medicineBean.setMarketingStatus(rsTreatment.getString("MARKETINGSTATUS"));
5380 medicineBean.setDrugType(rsTreatment.getString("DRUGTYPE").charAt(0));
5381 medicineBean.setRemarks(rsTreatment.getString("REMARKS"));
5382 details.put ("SFDABean", medicineBean);
5383 srvcBean.setSFDAMedicinePrice(medicineBean.getPublicPrice());
5384 srvcBean.setDrugType(medicineBean.getDrugType());
5385
5386
5387 }
5388 GOSIUtilities.cleanUp(rsTreatment);
5389
5390 }
5391 else if(srvcBean.getTrmtCode().trim().
5392 equalsIgnoreCase(OHConstants.TRMT_SRVC_BULK_ENTRY))
5393 {
5394 srvcBean.setTrmt
5395 (GOSIErrorMessages.getErrorDesc("SOI_ERR_5309"));
5396 }
5397 else if(invoiceDetailsId != null)
5398 {
5399 /* This query is used to get the
5400 treatment description for the
5401 treatment code passed */
5402
5403 sbQuery.append(" SELECT NVL (treatmentdescarb, treatmentdesceng) AS TRMT , MEDCATEGORY FROM ");
5404 sbQuery.append( SITables.T_TRTMSERVICELIST);
5405 sbQuery.append(" WHERE hospitalcode = ? " );
5406 sbQuery.append(" AND treatmentcode LIKE ? " );
5407 sbQuery.append(" AND status = ? " );
5408
5409 // GOSIDebug.debugMessages("SqlQuery trmt \n"+sbQuery);
5410
5411 p = con.prepareStatement(sbQuery.toString());
5412 p.setLong(1,srvcBean.getHospitalCode());
5413 p.setString(2,srvcBean.getTrmtCode());
5414 p.setShort(3,OHConstants.VS_APPROVED);
5415
5416 rsTreatment = p.executeQuery();
5417
5418 if(rsTreatment.next())
5419 {
5420 srvcBean.setTrmt(rsTreatment.
5421 getString(1));
5422 if(rsTreatment.getObject(2)!=null)
5423 srvcBean.setMedicalCategory(rsTreatment.
5424 getString(2));
5425 else
5426 srvcBean.setMedicalCategory("None");
5427
5428 }
5429 GOSIUtilities.cleanUp(rsTreatment);
5430 }
5431 else
5432 {
5433 /* This query is used to get the
5434 treatment description for the
5435 treatment code passed */
5436
5437 sbQuery.append(" SELECT icd10treatment FROM ");
5438 sbQuery.append( SITables.T_ICDTREATMENTDATA);
5439 sbQuery.append(" WHERE icd10treatmentcode LIKE ? " );
5440 sbQuery.append(" OR icd10treatmentcode LIKE ? " );
5441
5442 GOSIDebug.debugMessages("SqlQuery trmt \n"+sbQuery);
5443
5444 p = con.prepareStatement(sbQuery.toString());
5445 p.setString(1,srvcBean.getTrmtCode());
5446 p.setString(2,srvcBean.getTrmtCode().toUpperCase());
5447
5448 rsTreatment = p.executeQuery();
5449
5450 if(rsTreatment.next())
5451 {
5452 srvcBean.setTrmt(rsTreatment.
5453 getString(1));
5454 }
5455 GOSIUtilities.cleanUp(rsTreatment);
5456 }
5457
5458
5459 srvcBean.setPatientNumber
5460 (rs.getString("PATIENTNUMBER"));
5461 srvcBean.setMode(AuditBean.OLD_MODE);
5462 injuryId = new Long (rs.getLong("INJURYID"));
5463 disabilityAssessmentId = new Long (rs.getLong("SCHEDULEID"));
5464 srvcBean.setHospitalDesc(rs.getString("HOSPITALNAMEARB"));
5465 hospitalDesc = srvcBean.getHospitalDesc();
5466 hospitalCode = srvcBean.getHospitalCode();
5467 patientNumber = srvcBean.getPatientNumber();
5468 serviceList.add(srvcBean);
5469 }
5470
5471 sbQuery = sbQuery.delete(0,sbQuery.length());
5472 if(injuryId!=null && (disabilityAssessmentId==null || disabilityAssessmentId<=0))
5473 {
5474 GOSIDebug.debugMessages("injuryId "+injuryId);
5475 sbQuery.append(" SELECT A.injuryid,A.socinsnumber, ");
5476 sbQuery.append(" A.injurydateentfmt,A.injurydate,A.datecomplication, ");
5477 sbQuery.append(" A.injurynumber,B.registrationnumber, ");
5478 sbQuery.append(" D.firstname || ' ' || ");
5479 sbQuery.append(" NVL(D.secondname,'')|| ' ' || " );
5480 sbQuery.append(" NVL(D.thirdname,'')||' ' || ");
5481 sbQuery.append(" NVL(D.surname,'') NAME, ");
5482 sbQuery.append(" D.nationalitycode, " );
5483 sbQuery.append(" B.fieldofficecode, A.contributorid, ");
5484 sbQuery.append(" A.establishmentid FROM ");
5485 sbQuery.append( SITables.T_INJURY + " A ,");
5486 sbQuery.append( SITables.T_ESTABLISHMENT + " B, ");
5487 sbQuery.append( SITables.T_CONTRIBUTOR + " C, ");
5488 sbQuery.append( SITables.T_PERSON + " D where ");
5489 sbQuery.append(" A.establishmentid = B.establishmentid ");
5490 sbQuery.append(" AND A.contributorid = C.contributorid " );
5491 sbQuery.append(" AND C.personid = D.personid AND " );
5492 sbQuery.append(" A.injurystatus != ? " );
5493 sbQuery.append(" AND A.injuryid = ? " );
5494
5495
5496 GOSIDebug.debugMessages("SqlQuery \n"+sbQuery);
5497
5498 p = con.prepareStatement(sbQuery.toString());
5499
5500 //p.setShort(1,OHConstants.INJ_STS_REJECTED.shortValue());
5501 p.setShort(1,OHConstants.INJ_STS_CANCELLED.shortValue());
5502 p.setLong(2,injuryId.longValue());
5503
5504 rs = p.executeQuery();
5505 InjuryPopDetails injuryDetails = null;
5506 while(rs.next())
5507 {
5508 injuryDetails = new InjuryPopDetails();
5509 injuryDetails.setInjuryID( new Long
5510 (rs.getLong("INJURYID")));
5511 injuryDetails.setSocialInsuranceNumber
5512 ( new Long(rs.getLong("SOCINSNUMBER")));
5513
5514 injuryDetails.setInjuryDate(rs.getTimestamp
5515 ("INJURYDATE"));
5516 injuryDetails.setInjuryDateEntFmt
5517 (rs.getString("INJURYDATEENTFMT"));
5518 if(OHConstants.HIJRAH.equals
5519 (injuryDetails.getInjuryDateEntFmt()))
5520 {
5521 injuryDetails.setInjuryDateStr
5522 (GOSIDateUtilities.convertToHijra(
5523 GOSIUtilities.getDateFullString(
5524 injuryDetails.getInjuryDate())));
5525 }
5526 else
5527 {
5528 injuryDetails.setInjuryDateStr
5529 (GOSIUtilities.getDateFullString(
5530 injuryDetails.getInjuryDate()));
5531 }
5532 if(rs.getObject("DATECOMPLICATION")!=null)
5533 {
5534 injuryDetails.setComplicationDate
5535 (rs.getTimestamp("DATECOMPLICATION"));
5536 injuryDetails.setComplicationDateStr(OHUtilities.getDateStr
5537 (injuryDetails.getComplicationDate(),injuryDetails.getInjuryDateEntFmt()));
5538 }
5539
5540 injuryDetails.setInjuryNumber
5541 ( new Long(rs.getLong("INJURYNUMBER")));
5542 injuryDetails.setName(rs.getString("NAME"));
5543 injuryDetails.setNationality
5544 (new Short(rs.getShort("NATIONALITYCODE")));
5545
5546 injuryDetails.setFieldOffice
5547 (new Short(rs.getShort("FIELDOFFICECODE")));
5548
5549 injuryDetails.setContributorId(
5550 new Long(rs.getLong("CONTRIBUTORID")));
5551
5552 establishmentId = rs.getLong
5553 ("ESTABLISHMENTID");
5554 GOSIDebug.debugMessages("est id ***" +
5555 establishmentId );
5556
5557 injuryDetails.setHospitalCode(hospitalCode);
5558 injuryDetails.setHospitalNameArb(hospitalDesc);
5559 injuryDetails.setPatientNumber(patientNumber);
5560 injuryDetails.setFileNumber(fileNumber);
5561 injuryDetails.setPageNumber(pageNumber);
5562 ContributorBean oContributorBean =
5563 new ContributorBean();
5564 oContributorBean = ContributorUtilities.
5565 displayContributor(injuryDetails.getContributorId());
5566 GOSIDebug.debugMessages("PersonId::"+oContributorBean.
5567 getPersonId());
5568 PersonBean oPersonBean = new PersonBean();
5569 oPersonBean = PersonUtilities.
5570 displayPerson(oContributorBean.getPersonId());
5571 GOSIDebug.debugMessages("first name" +
5572 oPersonBean.getFirstName());
5573 GOSIDebug.debugMessages("first name" +
5574 oPersonBean.getFirstName());
5575 GOSIDebug.debugMessages("second name" +
5576 oPersonBean.getSecondName());
5577 GOSIDebug.debugMessages("third name" +
5578 oPersonBean.getThirdName());
5579 GOSIDebug.debugMessages("surname" +
5580 oPersonBean.getSurName());
5581 contributorName = oPersonBean.getFirstName();
5582 if(oPersonBean.getSecondName() != null)
5583 {
5584 contributorName += " " + oPersonBean.getSecondName();
5585 }
5586 if(oPersonBean.getThirdName() != null)
5587 {
5588 contributorName += " " + oPersonBean.getThirdName();
5589 }
5590 if(oPersonBean.getSurName() != null)
5591 {
5592 contributorName += " " + oPersonBean.getSurName();
5593 }
5594 GOSIDebug.debugMessages("contributor Name ^^^" +
5595 contributorName);
5596 injuryDetails.setName(contributorName);
5597
5598 if(oPersonBean.getNationalityCode() != null)
5599 {
5600 injuryDetails.setNationality
5601 (oPersonBean.getNationalityCode());
5602 }
5603 GOSIDebug.debugMessages("nationality code ^^^" +
5604 oPersonBean.getNationalityCode());
5605
5606 EstablishmentBean oEstablishmentBean =
5607 new EstablishmentBean();
5608
5609 EstablishmentUtility oEstablishmentUtility =
5610 new EstablishmentUtility();
5611
5612 oEstablishmentBean = oEstablishmentUtility.
5613 getEstablishmentDetails(establishmentId,
5614 false,true);
5615
5616 GOSIDebug.debugMessages("reg no" + oEstablishmentBean.
5617 getRegistrationNumber());
5618 if(oEstablishmentBean != null)
5619 {
5620 injuryDetails.setRegistrationNumber
5621 (oEstablishmentBean.
5622 getRegistrationNumber());
5623 }
5624
5625 details.put("injuryDetails",injuryDetails);
5626 }
5627 }
5628 else if (disabilityAssessmentId!=null)
5629 {
5630 GOSIDebug.debugMessages("disabilityAssessmentId "+disabilityAssessmentId);
5631 GOSIUtilities.cleanUp (p, rs);
5632 sbQuery = sbQuery.delete(0,sbQuery.length());
5633 sbQuery.append("SELECT d.SCHEDULEID,d.SOCINSNUMBER, d.ASSESSMENTTYPE ,d.SESSIONDATE, " );
5634 sbQuery.append(" d.FIELDOFFICECODE, per.firstname, per.secondname, per.thirdname, per.surname ");
5635 sbQuery.append(" FROM " + SITables.T_MBAPPOINTMENT + " d " );
5636 sbQuery.append(" LEFT JOIN " + SITables.T_CONTRIBUTOR + " con ON d.SOCINSNUMBER = con.socialinsurancenumber " );
5637 sbQuery.append(" LEFT JOIN " + SITables.T_PERSON + " per ON con.personid = per.personid " );
5638 sbQuery.append(" WHERE d.SCHEDULEID = ? ");
5639 sbQuery.append(" AND d.APPOINTMENTSTATUS <> ? ");
5640
5641 p = con.prepareStatement (sbQuery.toString());
5642
5643 p.setLong (1, disabilityAssessmentId);
5644 p.setShort (2, OHConstants.ASSMT_CANCELLED);
5645
5646 rs = p.executeQuery ();
5647
5648 if (rs.next())
5649 {
5650 OHDAssessmentHeaderBean disabilityAssessmentBean = new OHDAssessmentHeaderBean ();
5651
5652 disabilityAssessmentBean.setDisabilityAssessmentID (new Long(rs.getLong("SCHEDULEID")));
5653 disabilityAssessmentBean.setSocialInsuranceNumber (new Long(rs.getLong("SOCINSNUMBER")));
5654 disabilityAssessmentBean.setFieldOfficeCode (rs.getShort("FIELDOFFICECODE"));
5655 disabilityAssessmentBean.setContributorName (OHUtilities.getFullName(rs.getString("FIRSTNAME"), rs.getString("SECONDNAME"),
5656 rs.getString("THIRDNAME"), rs.getString("SURNAME")));
5657 disabilityAssessmentBean.setScheduleID(new Long(rs.getLong("SCHEDULEID")));
5658 disabilityAssessmentBean.setDisabilityType(new Short (rs.getShort("ASSESSMENTTYPE"))) ;
5659 disabilityAssessmentBean.setAssessmentDateTmsp((rs.getTimestamp("SESSIONDATE")));
5660 if(disabilityAssessmentBean.getDisabilityType().equals(OHConstants.HEIRDISB_ASSMT.shortValue()))
5661 {
5662 sbQuery = sbQuery.delete(0,sbQuery.length());
5663 sbQuery.append( "SELECT per.firstname, per.secondname, per.thirdname, per.surname ");
5664 sbQuery.append(" FROM " + SITables.T_MBAPPOINTMENT + " mba " );
5665 sbQuery.append(" LEFT JOIN " + SITables.T_PERSON + " per ON mba.heirpersonid = per.personid " );
5666 sbQuery.append(" WHERE mba.scheduleid = ? " );
5667 p = con.prepareStatement (sbQuery.toString());
5668 p.setLong (1, disabilityAssessmentBean.getScheduleID());
5669 rs2 = p.executeQuery ();
5670 if (rs2.next())
5671 {
5672 disabilityAssessmentBean.setHeirName(OHUtilities.getFullName(rs2.getString("FIRSTNAME"), rs2.getString("SECONDNAME"),
5673 rs2.getString("THIRDNAME"), rs2.getString("SURNAME")));
5674
5675 }
5676 }
5677 details.put ("disabilityAssessmentBean", disabilityAssessmentBean);
5678
5679 }
5680 }
5681
5682
5683 sbQuery = sbQuery.delete(0,sbQuery.length());
5684
5685 GOSIDebug.debugMessages("injury details fetched:");
5686
5687
5688 details.put("serviceList",serviceList);
5689
5690 if (invoiceDetailsId != null)
5691 details.put("invoiceDetailsId", invoiceDetailsId);
5692
5693 if (appealStatus != null)
5694 details.put("appealStatus", appealStatus);
5695
5696 GOSIInstrumentationLog.writeInstrumentationToLog(
5697 this.getClass().toString(),
5698 "searchTreatmentServiceInbox()",
5699 (System.currentTimeMillis() - timeCounter));
5700
5701 return details;
5702 }
5703 catch(GOSIException ge)
5704 {
5705 throw ge;
5706 }
5707 catch(Exception e)
5708 {
5709 GOSIDebug.debugMessages("servlet : The exception is " +e);
5710 throw new GOSIException( GOSIConstants.SEVERITY_ONE,
5711 GOSIConstants.SOCIAL_INSURANCE,this.getClass().toString(),
5712 "searchTreatmentServiceInbox()",e,"CMN_ERR_1000" );
5713 }
5714 finally
5715 {
5716 GOSIUtilities.cleanUp(con, p, rs);
5717 }
5718 }
5719
5720 /* This method is used to store the modified treatment
5721 details to the database */
5722 /**
5723 * @METHOD NAME : modifyTreatmentService
5724 * @INFORMATION : This method is to modify Treatment Service
5725 * @PARAM : class java.util.ArrayList,
5726 class gosi.business.socialinsurance.occupationalhazards.injury.beans.InjuryPopDetails,
5727 class gosi.core.workflow.beans.WorkflowParamBean,
5728 class gosi.core.dms.beans.DMSRequestHeaderBean
5729 * @RETURN : class java.lang.String
5730 * @EXCEPTION : class gosi.core.util.GOSIException
5731 * @LAST MODIFIED BY :
5732 * @LAST MODIFIED DATE :
5733 **/
5734 public String modifyTreatmentService(ArrayList serviceList,
5735 InjuryPopDetails injuryBean,
5736 WorkflowParamBean workflowParamBean,DMSRequestHeaderBean dmsHeaderBean)
5737 throws GOSIException
5738 {
5739 GOSIDebug.debugMessages("method modify");
5740
5741 String userName = "";
5742 int listSize = 0;
5743 int serviceListSize = 0;
5744 long timeCounter = 0;
5745
5746 try
5747 {
5748
5749 timeCounter = System.currentTimeMillis();
5750 TreatmentServiceDetailEntityHome home = (TreatmentServiceDetailEntityHome)
5751 ServiceLocator.getInstance().getRemoteHome(
5752 OHConstants.TRMT_SRVC_DET_ENTITY_JNDI,
5753 TreatmentServiceDetailEntityHome.class);
5754
5755 if(serviceList != null)
5756 {
5757 serviceListSize = serviceList.size();
5758 }
5759
5760 for(int i = 0;i < serviceListSize;i++)
5761 {
5762 TreatmentServiceBean trmtServiceBean = new
5763 TreatmentServiceBean();
5764 trmtServiceBean = (TreatmentServiceBean)serviceList.get(i);
5765
5766
5767 if((trmtServiceBean.getMedicineDescription() != null)
5768 &&(!(("").equals(trmtServiceBean.
5769 getMedicineDescription()))))
5770 {
5771 trmtServiceBean.setTrmtDesc
5772 (trmtServiceBean.getMedicineDescription()
5773 .replace('\'','\"'));
5774 trmtServiceBean.setTrmtCode
5775 (OHConstants.ICD_MEDICINE_CODE);
5776
5777 }
5778 GOSIDebug.debugMessages("\n\n mode:"+trmtServiceBean.getMode()+"\n\n");
5779 if(trmtServiceBean.getMode() == AuditBean.MODIFY_MODE)
5780 {
5781 GOSIDebug.debugMessages("record id" +
5782 trmtServiceBean.getTrmtServiceDetId());
5783 TreatmentServiceDetailEntity detailRemote =
5784 (TreatmentServiceDetailEntity)home.findByPrimaryKey
5785 (trmtServiceBean.getTrmtServiceDetId());
5786 if(trmtServiceBean.getAppealDedcutionStatus()!=null &&
5787 trmtServiceBean.getAppealDedcutionStatus().equals(OHConstants.TRMT_SRVC_APPEAL_STS_REJECTED))
5788 {
5789 detailRemote.modifyAppealDedcution(trmtServiceBean);
5790 }
5791 else
5792 {
5793 detailRemote.modifyTreatmentServices(trmtServiceBean);
5794 }
5795
5796 GOSIDebug.debugMessages("This Record was Modified");
5797 }
5798 else if(trmtServiceBean.getMode() == AuditBean.OLD_MODE)
5799 {
5800 GOSIDebug.debugMessages("This Record need not be Modified");
5801 }
5802 }
5803 GOSIDebug.debugMessages("Treatment Detail created\n");
5804 if(workflowParamBean != null)
5805 {
5806 userName = GOSIUtilities.startWorkflow(workflowParamBean);
5807 }
5808
5809 if(dmsHeaderBean != null)
5810 {
5811 if(injuryBean!=null){
5812 dmsHeaderBean.setSourceRecordId
5813 ("" + injuryBean.getInjuryID());
5814 dmsHeaderBean.
5815 setSourceTable(SITables.T_INJURY);
5816 dmsHeaderBean.setCreatedBy
5817 (new Long (workflowParamBean.getUserId()));
5818 dmsHeaderBean.setKeyList(DMSConstants.SI_NUMBER,
5819 "" + injuryBean.getSocialInsuranceNumber());
5820 dmsHeaderBean.setKeyList(DMSConstants.INJURY_NUMBER,
5821 "" + injuryBean.getInjuryNumber());
5822 dmsHeaderBean.setKeyList(OHConstants.DMS_SERVICE_TYPE,
5823 "" + OHConstants.SERVICE_TYPE_TRMT);
5824 }
5825
5826 }
5827
5828 GOSIInstrumentationLog.writeInstrumentationToLog(
5829 this.getClass().toString(),
5830 "modifyTreatmentService()",
5831 (System.currentTimeMillis() - timeCounter));
5832
5833 return userName;
5834 }
5835 catch(GOSIException ge)
5836 {
5837 GOSIDebug.debugMessages("The error in trmt srvc save is:"+ge);
5838 ctx.setRollbackOnly();
5839 throw ge;
5840 }
5841 catch(Exception se)
5842 {
5843 GOSIDebug.debugMessages("The error in trmt srvc save is:"+se);
5844 se.printStackTrace();
5845 ctx.setRollbackOnly();
5846 throw new GOSIException(GOSIConstants.SEVERITY_ONE,
5847 GOSIConstants.SOCIAL_INSURANCE,
5848 this.getClass().toString(),
5849 "modifyTreatmentService()",
5850 se,"CMN_ERR_1000" );
5851 }
5852 }
5853 /* This method is used to remove the treatment service details*/
5854 /**
5855 * @METHOD NAME : removeServiceDetils
5856 * @INFORMATION : This method is to remove Service Detils
5857 * @PARAM : class java.util.ArrayList
5858 * @RETURN : int
5859 * @EXCEPTION : class gosi.core.util.GOSIException
5860 * @LAST MODIFIED BY :
5861 * @LAST MODIFIED DATE :
5862 **/
5863 public int removeServiceDetils(ArrayList idList)throws GOSIException
5864 {
5865 int deleted = 0;
5866 long timeCounter = 0;
5867
5868 try
5869 {
5870 timeCounter = System.currentTimeMillis();
5871 // Context cntx = GOSIUtilities.getInitialContext();
5872 // Object ref = cntx.lookup
5873 // (OHConstants.TRMT_SRVC_DET_ENTITY_JNDI);
5874 // TreatmentServiceDetailEntityHome home =
5875 // (TreatmentServiceDetailEntityHome)PortableRemoteObject.
5876 // narrow(ref,TreatmentServiceDetailEntityHome.class);
5877 TreatmentServiceDetailEntityHome home = (TreatmentServiceDetailEntityHome)
5878 ServiceLocator.getInstance().getRemoteHome(
5879 OHConstants.TRMT_SRVC_DET_ENTITY_JNDI,
5880 TreatmentServiceDetailEntityHome.class);
5881 for(int i = 0;i < idList.size();i++)
5882 {
5883 Long primarykey = (Long)idList.get(i);
5884 TreatmentServiceDetailEntity detailRemote =
5885 (TreatmentServiceDetailEntity)home.findByPrimaryKey
5886 (primarykey);
5887 detailRemote.remove();
5888 deleted++;
5889 }
5890 GOSIInstrumentationLog.writeInstrumentationToLog(
5891 this.getClass().toString(),
5892 "removeServiceDetils()",
5893 (System.currentTimeMillis() - timeCounter));
5894
5895 return deleted;
5896 }
5897 catch(GOSIException ge)
5898 {
5899 ctx.setRollbackOnly();
5900 throw ge;
5901 }
5902 catch(Exception e)
5903 {
5904 GOSIDebug.debugMessages("servlet : The exception is " +e);
5905 ctx.setRollbackOnly();
5906 throw new GOSIException( GOSIConstants.SEVERITY_ONE,
5907 GOSIConstants.SOCIAL_INSURANCE,this.getClass().toString(),
5908 "removeServiceDetils()",e,"CMN_ERR_1000" );
5909 }
5910
5911 }
5912 /* This method is used to get the treatment period details */
5913 /**
5914 * @METHOD NAME : getTreatmentPeriodDetails
5915 * @INFORMATION : This method is to get Treatment Period Details
5916 * @PARAM : class java.lang.Long
5917 * @RETURN : class gosi.business.socialinsurance.occupationalhazards.injury.beans.TreatmentPeriodBean
5918 * @EXCEPTION : class gosi.core.util.GOSIException
5919 * @LAST MODIFIED BY :
5920 * @LAST MODIFIED DATE :
5921 **/
5922 public TreatmentPeriodBean getTreatmentPeriodDetails
5923 (Long treatmentId) throws GOSIException
5924 {
5925
5926 long timeCounter = 0;
5927 StringBuffer sbQuery = new StringBuffer();
5928
5929 try
5930 {
5931
5932 sbQuery = sbQuery.delete(0,sbQuery.length());
5933
5934 timeCounter = System.currentTimeMillis();
5935
5936 sbQuery.append(" SELECT a.TREATMENTID, a.PATIENTNUMBER, ");
5937 sbQuery.append(" a.STARTDATE,a.ENDDATE," );
5938 sbQuery.append(" a.HOSPITALCODE,b.HOSPITALNAMEARB, ");
5939 sbQuery.append(" a.TREATMENTSTATUS,a.WORKFLOWSTATUS ");
5940 sbQuery.append(" FROM "+ SITables.T_TREATMENT + " a , ");
5941 sbQuery.append( SITables.T_HOSPITAL + " b WHERE ");
5942 sbQuery.append(" a.HOSPITALCODE = b.HOSPITALCODE ");
5943 sbQuery.append(" AND a.TREATMENTID = ? " );
5944
5945
5946 GOSIDebug.debugMessages("sqlQuery " +sbQuery);
5947
5948 TreatmentPeriodBean trmtPrdBean = new TreatmentPeriodBean();
5949
5950 con = GOSIUtilities.getConnection
5951 (GOSIConstants.OCCUPATIONAL_HAZARDS_ID);
5952 p = con.prepareStatement(sbQuery.toString());
5953 p.setLong(1,treatmentId.longValue());
5954 rs = p.executeQuery();
5955 while(rs.next())
5956 {
5957 trmtPrdBean.setTreatmentId
5958 (new Long(rs.getLong("TREATMENTID")));
5959 trmtPrdBean.setPatientNumber(rs.getString
5960 ("PATIENTNUMBER"));
5961 trmtPrdBean.setStartDateGreg(rs.getTimestamp
5962 ("STARTDATE"));
5963 trmtPrdBean.setEndDateGreg(rs.getTimestamp
5964 ("ENDDATE"));
5965 trmtPrdBean.setTreatmentStatus
5966 (new Short(rs.getShort("TREATMENTSTATUS")));
5967 trmtPrdBean.setWorkflowStatus
5968 (new Short(rs.getShort("WORKFLOWSTATUS")));
5969 trmtPrdBean.setHospitalCode(new Long("HOSPITALCODE"));
5970 trmtPrdBean.setHospitalNameArb(rs.getString
5971 ("HOSPITALNAMEARB"));
5972 }
5973 sbQuery = sbQuery.delete(0,sbQuery.length());
5974
5975 GOSIInstrumentationLog.writeInstrumentationToLog(
5976 this.getClass().toString(),
5977 "getTreatmentPeriodDetails()",
5978 (System.currentTimeMillis() - timeCounter));
5979
5980 return trmtPrdBean;
5981 }
5982 catch(GOSIException ge)
5983 {
5984 throw ge;
5985 }
5986 catch(Exception se)
5987 {
5988 se.printStackTrace();
5989 throw new GOSIException( GOSIConstants.SEVERITY_ONE,
5990 GOSIConstants.SOCIAL_INSURANCE,
5991 this.getClass().toString(),
5992 "getTreatmentPeriodDetails()",se,"CMN_ERR_1000" );
5993 }
5994 finally
5995 {
5996 GOSIUtilities.cleanUp(con,p,rs);
5997 }
5998 }
5999 /* This method is used to store the injury date*/
6000 /**
6001 * @METHOD NAME : storeInjuryDetails
6002 * @INFORMATION : This method is to store Injury Details
6003 * @PARAM : class gosi.business.socialinsurance.occupationalhazards.injury.beans.InjuryPopDetails
6004 * @RETURN : class gosi.business.socialinsurance.occupationalhazards.injury.beans.InjuryPopDetails
6005 * @EXCEPTION : class gosi.core.util.GOSIException
6006 * @LAST MODIFIED BY :
6007 * @LAST MODIFIED DATE :
6008 **/
6009 public InjuryPopDetails storeInjuryDetails
6010 (InjuryPopDetails injuryDetails)throws GOSIException
6011 {
6012 try
6013 {
6014 Timestamp injuryDate = null;
6015 if(injuryDetails.getInjuryDateStr() != null &&
6016 !("").equals(injuryDetails.getInjuryDateStr()))
6017 {
6018
6019 if(OHConstants.HIJRAH.equals(injuryDetails.
6020 getInjuryDateEntFmt()))
6021 {
6022 injuryDate = GOSIUtilities.getTimestamp
6023 (GOSIDateUtilities.convertToGregorian
6024 (injuryDetails.getInjuryDateStr()));
6025 }
6026 else
6027 {
6028 injuryDate = GOSIUtilities.getTimestamp(
6029 injuryDetails.getInjuryDateStr());
6030 }
6031 injuryDetails.setInjuryDate(injuryDate);
6032 }
6033 return injuryDetails;
6034
6035 }
6036 catch(GOSIException ge)
6037 {
6038 GOSIDebug.debugMessages("session:storeInjuryDetails:ge:"+ge);
6039 throw ge;
6040 }
6041 catch(Exception e)
6042 {
6043 GOSIDebug.debugMessages("session:storeInjuryDetails:e:"+e);
6044 throw new GOSIException( GOSIConstants.SEVERITY_ONE,
6045 GOSIConstants.SOCIAL_INSURANCE,
6046 this.getClass().toString(),
6047 "storeInjuryDetails()",e,"CMN_ERR_1000" );
6048 }
6049 }
6050 /* This method is used to store the treatment date */
6051 /**
6052 * @METHOD NAME : storeTreatmentServiceDetails
6053 * @INFORMATION : This method is to store Treatment Service Details
6054 * @PARAM : class gosi.business.socialinsurance.occupationalhazards.injury.beans.TreatmentServiceBean
6055 * @RETURN : class gosi.business.socialinsurance.occupationalhazards.injury.beans.TreatmentServiceBean
6056 * @EXCEPTION : class gosi.core.util.GOSIException
6057 * @LAST MODIFIED BY :
6058 * @LAST MODIFIED DATE :
6059 **/
6060 public TreatmentServiceBean storeTreatmentServiceDetails
6061 (TreatmentServiceBean serviceBean)throws GOSIException
6062 {
6063 try
6064 {
6065 Timestamp trmtDate = null;
6066 if(serviceBean.getTrmtDateStr() != null &&
6067 !("").equals(serviceBean.getTrmtDateStr()))
6068 {
6069
6070 if(OHConstants.HIJRAH.equals(serviceBean.
6071 getTrmtDateEntFmt()))
6072 {
6073 trmtDate = GOSIUtilities.getTimestamp
6074 (GOSIDateUtilities.convertToGregorian
6075 (serviceBean.getTrmtDateStr()));
6076 }
6077 else
6078 {
6079 trmtDate = GOSIUtilities.getTimestamp(
6080 serviceBean.getTrmtDateStr());
6081 }
6082 serviceBean.setTrmtDateGreg (trmtDate);
6083 }
6084 return serviceBean;
6085
6086 }catch(GOSIException ge)
6087 {
6088 GOSIDebug.debugMessages("session:storeInjuryDetails:ge:"+ge);
6089 throw ge;
6090 }
6091 catch(Exception e)
6092 {
6093 GOSIDebug.debugMessages("session:storeInjuryDetails:e:"+e);
6094 throw new GOSIException(GOSIConstants.SEVERITY_ONE,
6095 GOSIConstants.SOCIAL_INSURANCE,
6096 this.getClass().toString(),
6097 "storeTreatmentServiceDetails()",e,"CMN_ERR_1000" );
6098 }
6099 }
6100
6101 /* This method is used to validate the treatment date
6102 by comparing it with injury date */
6103 /**
6104 * @METHOD NAME : isValidTreatmentDate
6105 * @INFORMATION : This method is to is Valid Treatment Date
6106 * @PARAM : class java.sql.Timestamp,
6107 class java.sql.Timestamp
6108 * @RETURN : boolean
6109 * @EXCEPTION : class gosi.core.util.GOSIException
6110 * @LAST MODIFIED BY :
6111 * @LAST MODIFIED DATE :
6112 **/
6113 public boolean isValidTreatmentDate(Timestamp injuryDate,
6114 Timestamp treatmentDate) throws GOSIException
6115 {
6116
6117 boolean isValidTreatmentDateFlag = true;
6118 try
6119 {
6120 if(injuryDate.compareTo(treatmentDate) > 0)
6121 {
6122 isValidTreatmentDateFlag = false;
6123
6124 }
6125 return isValidTreatmentDateFlag;
6126 }
6127 catch(Exception e)
6128 {
6129 e.printStackTrace();
6130 throw new GOSIException( GOSIConstants.SEVERITY_ONE,
6131 GOSIConstants.SOCIAL_INSURANCE,
6132 this.getClass().toString(),
6133 "isValidTreatmentDate()",
6134 e,"CMN_ERR_1000" );
6135 }
6136
6137 }
6138
6139 /* This method is used to validate the
6140 social insurance number entered by the user */
6141
6142 /**
6143 * @METHOD NAME : isValidSocInsNumber
6144 * @INFORMATION : This method is to is Valid Social Insurance Number
6145 * @PARAM : class gosi.business.socialinsurance.occupationalhazards.injury.beans.InjuryPopDetails
6146 * @RETURN : int
6147 * @EXCEPTION : class gosi.core.util.GOSIException
6148 * @LAST MODIFIED BY :
6149 * @LAST MODIFIED DATE :
6150 **/
6151 public int isValidSocInsNumber
6152 (InjuryPopDetails injuryDetails)
6153 throws GOSIException
6154 {
6155 /* Declaration and initialization of variables */
6156 Long socInsNumber = null;
6157 int checkSocInsNumber = 0;
6158 long timeCounter = 0;
6159 StringBuffer sbQuery = new StringBuffer();
6160
6161 /* Declaration of constants */
6162 final int INVALID_SOCIAL_INS_NO = 1;
6163 final int SOCIAL_INS_NO_NOT_PRESENT_IN_INJURY_TABLE = 2;
6164
6165 try
6166 {
6167 timeCounter = System.currentTimeMillis();
6168
6169 /* Get the social insurance number */
6170 socInsNumber = injuryDetails.getSocialInsuranceNumber();
6171
6172 /* Get the connection object */
6173 con = GOSIUtilities.getConnection
6174 (GOSIConstants.OCCUPATIONAL_HAZARDS_ID);
6175
6176 sbQuery = sbQuery.delete(0,sbQuery.length());
6177
6178 /* This query is used to determine if their
6179 exists a record in contributor table
6180 for the social insurance number entered by the user */
6181
6182 sbQuery.append(" SELECT contributorid " );
6183 sbQuery.append(" FROM " + SITables.T_CONTRIBUTOR);
6184 sbQuery.append(" WHERE socialinsurancenumber = ? ");
6185
6186 GOSIDebug.debugMessages("query" + sbQuery);
6187
6188
6189 p = con.prepareStatement(sbQuery.toString());
6190 p.setLong(1,socInsNumber.longValue());
6191 rs = p.executeQuery();
6192
6193 /* Error message is displayed if
6194 no record exists in the contributor table
6195 for the social insurance number entered by user*/
6196 if(!(rs.next()))
6197 {
6198 checkSocInsNumber = INVALID_SOCIAL_INS_NO;
6199 return checkSocInsNumber;
6200
6201 }
6202 GOSIUtilities.cleanUp(rs);
6203
6204 sbQuery = sbQuery.delete(0,sbQuery.length());
6205
6206 /* This query is used to determine if their
6207 exists a record in injury table
6208 for the social insurance number entered by the user */
6209
6210 sbQuery.append(" SELECT socinsnumber ");
6211 sbQuery.append(" FROM " + SITables.T_INJURY );
6212 sbQuery.append(" WHERE injurystatus != ? ");
6213 sbQuery.append(" AND socinsnumber = ? ");
6214
6215
6216 GOSIDebug.debugMessages("query" + sbQuery);
6217
6218 p = con.prepareStatement(sbQuery.toString());
6219
6220 //p.setShort(1,OHConstants.INJ_STS_REJECTED.shortValue());
6221 p.setShort(1,OHConstants.INJ_STS_CANCELLED.shortValue());
6222 p.setLong(2,socInsNumber.longValue());
6223
6224 rs = p.executeQuery();
6225
6226 /* Error message is displayed if
6227 no record exists in the injury table
6228 for the social insurance number entered by user*/
6229
6230 if(!(rs.next()))
6231 {
6232 checkSocInsNumber =
6233 SOCIAL_INS_NO_NOT_PRESENT_IN_INJURY_TABLE;
6234 return checkSocInsNumber;
6235
6236 }
6237 GOSIUtilities.cleanUp(rs);
6238
6239 sbQuery = sbQuery.delete(0,sbQuery.length());
6240 }
6241 catch (GOSIException ge)
6242 {
6243 throw ge;
6244 }
6245 catch(Exception e)
6246 {
6247 throw new GOSIException(GOSIConstants.SEVERITY_ONE,
6248 GOSIConstants.SOCIAL_INSURANCE,
6249 this.getClass().toString(),
6250 "isValidSocInsNumber()",
6251 e,"CMN_ERR_1000");
6252 }
6253 finally
6254 {
6255 GOSIUtilities.cleanUp(con, p, rs);
6256 }
6257
6258 GOSIInstrumentationLog.writeInstrumentationToLog(
6259 this.getClass().toString(),
6260 "isValidSocInsNumber()",
6261 (System.currentTimeMillis() - timeCounter));
6262
6263 return checkSocInsNumber;
6264 }
6265
6266 /* This method is used to get the registered
6267 hospitals for the passed injury id and
6268 field office code */
6269 /**
6270 * @METHOD NAME : searchRegisteredHospitalList
6271 * @INFORMATION : This method is to search Registered Hospital List
6272 * @PARAM : class java.lang.Long,
6273 class gosi.business.socialinsurance.occupationalhazards.injury.beans.OHPopSearchBean
6274 * @RETURN : class java.util.ArrayList
6275 * @EXCEPTION : class gosi.core.util.GOSIException
6276 * @LAST MODIFIED BY :
6277 * @LAST MODIFIED DATE :
6278 **/
6279 public ArrayList searchRegisteredHospitalList
6280 (Long injuryId,OHPopSearchBean hospitalSearchBean)
6281 throws GOSIException
6282 {
6283 /* Declaration and initialization of variables*/
6284 ArrayList hospitalArrayList = new ArrayList();
6285 StringBuffer sbQuery = new StringBuffer();
6286 long timeCounter = 0;
6287
6288 try
6289 {
6290 timeCounter = System.currentTimeMillis();
6291
6292 /* Get the connection object */
6293 con = GOSIUtilities.getConnection
6294 (GOSIConstants.OCCUPATIONAL_HAZARDS_ID);
6295
6296 sbQuery = sbQuery.delete(0,sbQuery.length());
6297
6298 long firstId = hospitalSearchBean.getFirstId();
6299 long lastId = hospitalSearchBean.getLastId();
6300
6301 GOSIDebug.debugMessages("firstId"+firstId);
6302 GOSIDebug.debugMessages("lastId"+lastId);
6303 GOSIDebug.debugMessages("field office" +
6304 hospitalSearchBean.getFieldOffice());
6305
6306 byte buttonClicked = hospitalSearchBean.
6307 getButtonClicked();
6308 GOSIDebug.debugMessages("buttonClicked" + buttonClicked);
6309
6310
6311 if (buttonClicked == NavigationBean.BUTTON_SEARCH)
6312 {
6313 /*
6314 sbQuery.append(" SELECT DISTINCT HOSP.HOSPITALCODE, ");
6315 sbQuery.append(" HOSP.HOSPITALNAME, ");
6316 sbQuery.append(" TRMT.PATIENTNUMBER FROM ");
6317 //sbQuery.append(" HOSP.HOSPITALNAMEENG FROM ");
6318 sbQuery.append( SITables.T_HOSPITALCONTRACT + " HOSP, " );
6319 sbQuery.append( SITables.T_TREATMENT );
6320 sbQuery.append(" TRMT WHERE ");
6321 sbQuery.append(" HOSP.HOSPITALCODE = ");
6322 sbQuery.append(" TRMT.HOSPITALCODE ");
6323 sbQuery.append(" AND HOSP.FIELDOFFICECODE " );
6324 */
6325 sbQuery.append(" SELECT DISTINCT HOSP.HOSPITALCODE, ");
6326 sbQuery.append(" HOSP.HOSPITALNAMEARB, ");
6327 sbQuery.append(" TRMT.PATIENTNUMBER , ");
6328 sbQuery.append(" HOSP.HOSPITALNAMEENG FROM ");
6329 sbQuery.append( SITables.T_HOSPITAL + " HOSP, " );
6330 sbQuery.append( SITables.T_HOSPITALFOASSOCIATION + " HFO, " );
6331 sbQuery.append( SITables.T_TREATMENT );
6332 sbQuery.append(" TRMT WHERE ");
6333 sbQuery.append(" HOSP.HOSPITALCODE = ");
6334 sbQuery.append(" TRMT.HOSPITALCODE ");
6335 sbQuery.append(" AND HOSP.HOSPITALCODE = ");
6336 sbQuery.append(" HFO.HOSPITALCODE ");
6337 sbQuery.append(" AND HFO.FIELDOFFICECODE " );
6338 sbQuery.append(" = ? ");
6339 sbQuery.append(" AND HOSP.HOSPITALTYPE = ? ");
6340 sbQuery.append(" AND TRMT.TREATMENTSTATUS IN ( ?,? ) ");
6341 sbQuery.append(" AND TRMT.INJURYID = ? " );
6342 sbQuery.append(" ORDER BY HOSP.HOSPITALCODE ");
6343
6344 p = con.prepareStatement(sbQuery.toString(),
6345 ResultSet.TYPE_SCROLL_INSENSITIVE,
6346 ResultSet.CONCUR_READ_ONLY);
6347
6348 p.setShort
6349 (1,hospitalSearchBean.getFieldOffice()
6350 .shortValue());
6351 p.setShort
6352 (2,OHConstants.REG_HOSPITAL.shortValue());
6353 p.setShort(3,
6354 OHConstants.TRMT_STS_ENTERED.shortValue());
6355 p.setShort(4,
6356 OHConstants.TRMT_STS_APPROVED.shortValue());
6357 p.setLong(5,injuryId.longValue());
6358
6359
6360 }
6361 else if (buttonClicked == NavigationBean.BUTTON_NEXT)
6362 {
6363 sbQuery.append(" SELECT DISTINCT HOSP.HOSPITALCODE, ");
6364 sbQuery.append(" HOSP.HOSPITALNAMEARB, ");
6365 sbQuery.append(" TRMT.PATIENTNUMBER , ");
6366 sbQuery.append(" HOSP.HOSPITALNAMEENG FROM ");
6367 sbQuery.append( SITables.T_HOSPITAL + " HOSP, " );
6368 sbQuery.append( SITables.T_HOSPITALFOASSOCIATION + " HFO, " );
6369 sbQuery.append( SITables.T_TREATMENT );
6370 sbQuery.append(" TRMT WHERE ");
6371 sbQuery.append(" HOSP.HOSPITALCODE = ");
6372 sbQuery.append(" TRMT.HOSPITALCODE ");
6373 sbQuery.append(" AND HOSP.HOSPITALCODE = ");
6374 sbQuery.append(" HFO.HOSPITALCODE ");
6375 sbQuery.append(" AND HFO.FIELDOFFICECODE " );
6376 sbQuery.append(" = ? ");
6377 sbQuery.append(" AND HOSP.HOSPITALTYPE = ? ");
6378 sbQuery.append(" AND TRMT.TREATMENTSTATUS IN ( ?,? ) ");
6379 sbQuery.append(" AND TRMT.INJURYID = ? " );
6380 sbQuery.append(" AND HOSP.HOSPITALCODE > ? ");
6381 sbQuery.append(" ORDER BY HOSP.HOSPITALCODE ");
6382
6383 p = con.prepareStatement(sbQuery.toString(),
6384 ResultSet.TYPE_SCROLL_INSENSITIVE,
6385 ResultSet.CONCUR_READ_ONLY);
6386
6387 p.setShort
6388 (1,hospitalSearchBean.getFieldOffice()
6389 .shortValue());
6390 p.setShort
6391 (2,OHConstants.REG_HOSPITAL.shortValue());
6392 p.setShort(3,
6393 OHConstants.TRMT_STS_ENTERED.shortValue());
6394 p.setShort(4,
6395 OHConstants.TRMT_STS_APPROVED.shortValue());
6396 p.setLong(5,injuryId.longValue());
6397 p.setLong(6,lastId);
6398
6399 }
6400 else if (buttonClicked == NavigationBean.BUTTON_PREVIOUS)
6401 {
6402
6403 sbQuery.append(" SELECT DISTINCT HOSP.HOSPITALCODE, ");
6404 sbQuery.append(" HOSP.HOSPITALNAMEARB, ");
6405 sbQuery.append(" TRMT.PATIENTNUMBER,");
6406 sbQuery.append(" HOSP.HOSPITALNAMEENG FROM ");
6407 sbQuery.append( SITables.T_HOSPITAL + " HOSP, " );
6408 sbQuery.append( SITables.T_HOSPITALFOASSOCIATION + " HFO, " );
6409 sbQuery.append( SITables.T_TREATMENT );
6410 sbQuery.append(" TRMT WHERE ");
6411 sbQuery.append(" HOSP.HOSPITALCODE = ");
6412 sbQuery.append(" TRMT.HOSPITALCODE ");
6413 sbQuery.append(" AND HOSP.HOSPITALCODE = ");
6414 sbQuery.append(" HFO.HOSPITALCODE ");
6415 sbQuery.append(" AND HFO.FIELDOFFICECODE " );
6416 sbQuery.append(" = ? ");
6417 sbQuery.append(" AND HOSP.HOSPITALTYPE = ? ");
6418 sbQuery.append(" AND TRMT.TREATMENTSTATUS IN ( ?,? ) ");
6419 sbQuery.append(" AND TRMT.INJURYID = ? " );
6420 sbQuery.append(" AND HOSP.HOSPITALCODE < ? ");
6421 sbQuery.append(" ORDER BY HOSP.HOSPITALCODE DESC ");
6422
6423
6424 p = con.prepareStatement(sbQuery.toString(),
6425 ResultSet.TYPE_SCROLL_INSENSITIVE,
6426 ResultSet.CONCUR_READ_ONLY);
6427
6428 p.setShort
6429 (1,hospitalSearchBean.getFieldOffice()
6430 .shortValue());
6431 p.setShort
6432 (2,OHConstants.REG_HOSPITAL.shortValue());
6433 p.setShort(3,
6434 OHConstants.TRMT_STS_ENTERED.shortValue());
6435 p.setShort(4,
6436 OHConstants.TRMT_STS_APPROVED.shortValue());
6437 p.setLong(5,injuryId.longValue());
6438 p.setLong(6,firstId);
6439
6440 }
6441 GOSIDebug.debugMessages("query" + sbQuery);
6442
6443 int count = 1;
6444 GOSIDebug.debugMessages("after prep stmt");
6445 p.setMaxRows(GOSIApplicationProperties.MAX_PAGE_SIZE+1);
6446 rs = p.executeQuery();
6447
6448 GOSIDebug.debugMessages("after prep statement");
6449 if(rs.next())
6450 {
6451 rs.previous();
6452 while(rs.next())
6453 {
6454 HospitalListBean hospital = new HospitalListBean();
6455
6456 hospital.setHospitalCode(new Long(rs.getLong("HOSPITALCODE")));
6457 hospital.setHospitalNameArb(rs.getString("HOSPITALNAMEARB"));
6458 hospital.setPatientNumber(rs.getString("PATIENTNUMBER"));
6459 hospital.setHospitalNameEng(rs.getString("HOSPITALNAMEENG"));
6460
6461 hospitalArrayList.add(hospital);
6462 if(buttonClicked == NavigationBean.BUTTON_SEARCH ||
6463 buttonClicked == NavigationBean.BUTTON_NEXT)
6464 {
6465 if (count == 1)
6466 {
6467 hospitalSearchBean.
6468 setFirstId(((Long)hospital.
6469 getHospitalCode()).longValue());
6470 }
6471 else if(count < GOSIApplicationProperties.
6472 MAX_PAGE_SIZE + 1)
6473 {
6474 hospitalSearchBean.
6475 setLastId(((Long)hospital.
6476 getHospitalCode()).longValue());
6477 }
6478
6479 }
6480 if(buttonClicked == NavigationBean.BUTTON_PREVIOUS)
6481 {
6482 if (count ==1)
6483 {
6484 hospitalSearchBean.
6485 setLastId(((Long)hospital.
6486 getHospitalCode()).longValue());
6487 }
6488 else if(count < GOSIApplicationProperties.
6489 MAX_PAGE_SIZE + 1)
6490 {
6491 hospitalSearchBean.
6492 setFirstId(((Long)hospital.
6493 getHospitalCode()).longValue());
6494 }
6495
6496 }
6497 count = count + 1;
6498 }
6499 hospitalArrayList.add(hospitalSearchBean);
6500 }
6501
6502 GOSIDebug.debugMessages("hospital list size" +
6503 hospitalArrayList.size());
6504
6505 sbQuery = sbQuery.delete(0,sbQuery.length());
6506
6507 }
6508 catch (GOSIException ge)
6509 {
6510 throw ge;
6511 }
6512 catch(Exception e)
6513 {
6514 throw new GOSIException(GOSIConstants.SEVERITY_ONE,
6515 GOSIConstants.SOCIAL_INSURANCE,
6516 this.getClass().toString(),
6517 "searchRegisteredHospitalList()",
6518 e,"CMN_ERR_1000");
6519 }
6520 finally
6521 {
6522 GOSIUtilities.cleanUp(con, p, rs);
6523 }
6524
6525 GOSIInstrumentationLog.writeInstrumentationToLog(
6526 this.getClass().toString(),
6527 "searchRegisteredHospitalList()",
6528 (System.currentTimeMillis() - timeCounter));
6529
6530
6531 return hospitalArrayList;
6532
6533 }
6534
6535 /* This method is used to determine if a single hospital
6536 is present for the selected injury id */
6537 /**
6538 * @METHOD NAME : isSingleHospitalPresent
6539 * @INFORMATION : This method is to is Single Hospital Present
6540 * @PARAM : interface java.sql.Connection,
6541 class java.lang.Long,
6542 class java.lang.Short
6543 * @RETURN : boolean
6544 * @EXCEPTION : class gosi.core.util.GOSIException
6545 * @LAST MODIFIED BY :
6546 * @LAST MODIFIED DATE :
6547 **/
6548 private boolean isSingleHospitalPresent(
6549 Connection con,Long injuryId,Short fieldOffice)
6550 throws GOSIException
6551 {
6552 /* Declaration and initialization of variables*/
6553 StringBuffer sbQuery = new StringBuffer();
6554 long timeCounter = 0;
6555 long recordCount = 0;
6556 boolean isSingleHospitalValue = false;
6557
6558 try
6559 {
6560 timeCounter = System.currentTimeMillis();
6561
6562
6563 sbQuery = sbQuery.delete(0,sbQuery.length());
6564
6565 sbQuery.append(" SELECT " );
6566 sbQuery.append(" COUNT(DISTINCT HOSP.HOSPITALCODE) ");
6567 sbQuery.append(" FROM ");
6568 sbQuery.append( SITables.T_HOSPITAL + " HOSP, " );
6569 sbQuery.append( SITables.T_HOSPITALFOASSOCIATION + " HOSPFO, " );
6570 sbQuery.append( SITables.T_TREATMENT );
6571 sbQuery.append(" TRMT WHERE ");
6572 sbQuery.append(" HOSP.HOSPITALCODE = ");
6573 sbQuery.append(" TRMT.HOSPITALCODE ");
6574 sbQuery.append(" AND HOSP.HOSPITALCODE = ");
6575 sbQuery.append(" HOSPFO.HOSPITALCODE ");
6576 sbQuery.append(" AND HOSPFO.FIELDOFFICECODE " );
6577 sbQuery.append(" = ? ");
6578 sbQuery.append(" AND HOSP.HOSPITALTYPE = ? ");
6579 sbQuery.append(" AND TRMT.TREATMENTSTATUS IN ( ?,? ) ");
6580 sbQuery.append(" AND TRMT.INJURYID = ? " );
6581
6582
6583 p = con.prepareStatement(sbQuery.toString());
6584
6585 p.setShort
6586 (1,fieldOffice.shortValue());
6587 p.setShort
6588 (2,OHConstants.REG_HOSPITAL.shortValue());
6589 p.setShort(3,
6590 OHConstants.TRMT_STS_ENTERED.shortValue());
6591 p.setShort(4,
6592 OHConstants.TRMT_STS_APPROVED.shortValue());
6593 p.setLong(5,injuryId.longValue());
6594
6595 GOSIDebug.debugMessages("sbQuery" + sbQuery);
6596
6597 rs = p.executeQuery();
6598
6599 if(rs.next())
6600 {
6601 recordCount = rs.getLong(1);
6602
6603 }
6604 GOSIDebug.debugMessages("recordCount" +
6605 recordCount);
6606 if(recordCount == 1)
6607 {
6608 isSingleHospitalValue = true;
6609
6610 }
6611 GOSIDebug.debugMessages("isSingleHospital" +
6612 isSingleHospitalValue);
6613
6614 }
6615 /* catch (GOSIException ge)
6616 {
6617 throw ge;
6618 }
6619 */
6620
6621 catch(Exception e)
6622 {
6623 throw new GOSIException(GOSIConstants.SEVERITY_ONE,
6624 GOSIConstants.SOCIAL_INSURANCE,
6625 this.getClass().toString(),
6626 "isSingleHospitalPresent()",
6627 e,"CMN_ERR_1000");
6628 }
6629 finally
6630 {
6631 GOSIUtilities.cleanUp(rs);
6632 }
6633
6634 GOSIInstrumentationLog.writeInstrumentationToLog(
6635 this.getClass().toString(),
6636 "isSingleHospitalPresent()",
6637 (System.currentTimeMillis() - timeCounter));
6638
6639 return isSingleHospitalValue;
6640
6641 }
6642
6643 /* This method is added for companion */
6644
6645 /**
6646 * @METHOD NAME : saveCompanionAsTreatmentService
6647 * @INFORMATION : This method is to save Companion As Treatment Service
6648 * @PARAM : class gosi.business.socialinsurance.occupationalhazards.injury.beans.CompanionBean
6649 * @RETURN : void
6650 * @EXCEPTION : class gosi.core.util.GOSIException
6651 * @LAST MODIFIED BY :
6652 * @LAST MODIFIED DATE :
6653 **/
6654 public void saveCompanionAsTreatmentService (CompanionBean companionBean)
6655 throws GOSIException
6656 {
6657 PreparedStatement ps = null;
6658 ResultSet rs= null;
6659 try
6660 {
6661 Long hospitalCode = null;
6662 String patientNumber = null;
6663 Long injuryId = companionBean.getInjuryId();
6664 Long userId = companionBean.getLastModifiedBy();
6665 con = GOSIUtilities.getConnection(GOSIConstants.OCCUPATIONAL_HAZARDS_ID);
6666 String sqlQuery = " select HOSPITALCODE,PATIENTNUMBER from "+
6667 SITables.T_TREATMENT +" where INJURYID = ? "+
6668 " and TREATMENTSTATUS = ? ";
6669 ps = con.prepareStatement(sqlQuery);
6670 ps.setLong(1,injuryId.longValue());
6671 ps.setShort(2,OHConstants.TRMT_STS_APPROVED.shortValue());
6672 rs = ps.executeQuery();
6673 while(rs.next())
6674 {
6675 hospitalCode = new Long(rs.getLong("HOSPITALCODE"));
6676 patientNumber = rs.getString("PATIENTNUMBER");
6677 }
6678 TreatmentServiceBean serviceBean = new TreatmentServiceBean();
6679 serviceBean.setHospitalCode(hospitalCode);
6680 serviceBean.setPatientNumber(patientNumber);
6681 Long headerId = this.getHeaderId(serviceBean, injuryId);
6682
6683 if(headerId == null)
6684 {
6685 TreatmentHeaderBean headerBean = new TreatmentHeaderBean();
6686 headerId =GOSIUtilities.getPrimaryKey("T_TRMTSERVICESHDR",userId);
6687
6688 headerBean.setTrmtServiceHdrId(headerId);
6689 GOSIDebug.debugMessages("HeaderId:"+headerBean.getTrmtServiceHdrId());
6690 headerBean.setHospitalCode(hospitalCode);
6691 headerBean.setPatientNumber(patientNumber);
6692 headerBean.setInjuryId(injuryId);
6693 headerBean.setCreatedBy(userId);
6694 headerBean.setCreationTimestamp(new Timestamp(
6695 System.currentTimeMillis()));
6696 //
6697 // Context cntx = GOSIUtilities.getInitialContext();
6698 // Object ref = cntx.lookup(OHConstants.TRMT_SRVC_HDR_ENTITY_JNDI);
6699 // TreatmentServiceHeaderEntityHome home =
6700 // (TreatmentServiceHeaderEntityHome)PortableRemoteObject.
6701 // narrow(ref,TreatmentServiceHeaderEntityHome.class);
6702 TreatmentServiceHeaderEntityHome home = (TreatmentServiceHeaderEntityHome)
6703 ServiceLocator.getInstance().getRemoteHome(
6704 OHConstants.TRMT_SRVC_HDR_ENTITY_JNDI,
6705 TreatmentServiceHeaderEntityHome.class);
6706 TreatmentServiceHeaderEntity headerRemote =
6707 (TreatmentServiceHeaderEntity)home.create(headerBean);
6708 }
6709 else
6710 {
6711 GOSIDebug.debugMessages("headerId already exists:"+headerId);
6712 }
6713
6714 serviceBean.setTrmtServiceDetId(
6715 GOSIUtilities.getPrimaryKey("T_TRMTSERVICESDET",userId));
6716 serviceBean.setTrmtServiceHdrId(headerId);
6717 serviceBean.setTrmtDateGreg(companionBean.getCompStDateGreg());
6718 serviceBean.setTrmtDateEntFmt(companionBean.getCompStDateEntFmt());
6719 if(OHConstants.COMPANION_TYPE_DOCTOR.equals
6720 (companionBean.getTypeOfComp()))
6721 {
6722 serviceBean.setTrmtCode(OHConstants.ICD_CODE_DOCTOR);
6723 int noDays = companionBean.getNumberDays();
6724 if(noDays > OHRuleBean.getMaxPayableDaysCompanion())
6725 {
6726 noDays=OHRuleBean.getMaxPayableDaysCompanion();
6727 }
6728 serviceBean.setUnits(new Float(noDays));
6729 serviceBean.setTrmtAmt(companionBean.getDailyAllowanceComp());
6730 serviceBean.setUnitPrice(new Double(OHRuleBean.getDailyAllowanceForDoctor()));
6731 }else
6732 {
6733 serviceBean.setTrmtCode(OHConstants.ICD_CODE_NURSE);
6734 int noDays = companionBean.getNumberDays();
6735 if(noDays > OHRuleBean.getMaxPayableDaysCompanion())
6736 {
6737 noDays=OHRuleBean.getMaxPayableDaysCompanion();
6738 }
6739 serviceBean.setUnits(new Float(noDays));
6740 serviceBean.setTrmtAmt(companionBean.getDailyAllowanceComp());
6741 serviceBean.setUnitPrice(new Double(OHRuleBean.getDailyAllowanceForNurse()));
6742 }
6743 serviceBean.setTrmtSrvcStatus(OHConstants.TRMT_SRVC_STS_APPROVED);
6744 serviceBean.setTrmtSrvcStatus(OHConstants.WFS_SRVC_APPROVED_OH_HEAD);
6745 serviceBean.setWorkflowStatus(OHConstants.WFS_SRVC_APPROVED_OH_HEAD);
6746 serviceBean.setTrmtSrvcWrkfloId
6747 (GOSIUtilities.getPrimaryKey("TRMTSRVCWRKFLOID",userId));
6748 serviceBean.setCreatedBy(userId);
6749 serviceBean.setCreationTimestamp
6750 (new Timestamp(System.currentTimeMillis()));
6751 //
6752 // Context ctx=GOSIUtilities.getInitialContext();
6753 // Object ref=ctx.lookup(OHConstants.TRMT_SRVC_DET_ENTITY_JNDI);
6754 // TreatmentServiceDetailEntityHome detailhome=
6755 // (TreatmentServiceDetailEntityHome)
6756 // PortableRemoteObject.narrow
6757 // (ref,TreatmentServiceDetailEntityHome.class);
6758 TreatmentServiceDetailEntityHome detailhome= (TreatmentServiceDetailEntityHome)
6759 ServiceLocator.getInstance().getRemoteHome(
6760 OHConstants.TRMT_SRVC_DET_ENTITY_JNDI,
6761 TreatmentServiceDetailEntityHome.class);
6762 TreatmentServiceDetailEntity remote = detailhome.create(serviceBean);
6763 GOSIDebug.debugMessages("---Companion details saved as service----");
6764 }
6765 catch (GOSIException ge)
6766 {
6767 GOSIDebug.debugMessages("session:saveCompanionAsTreatmentService:ge:"+ge);
6768 throw ge;
6769 }
6770 catch (Exception e)
6771 {
6772 GOSIDebug.debugMessages("session:saveCompanionAsTreatmentService:e:"+e);
6773 throw new GOSIException( GOSIConstants.SEVERITY_ONE,
6774 GOSIConstants.SOCIAL_INSURANCE,
6775 this.getClass().toString(),
6776 "saveCompanionAsTreatmentService()",
6777 e,
6778 "CMN_ERR_1000"
6779 );
6780 }
6781 finally
6782 {
6783 GOSIUtilities.cleanUp(con,ps,rs);
6784 }
6785 }
6786
6787
6788 /* This method is used to get the hospital name in internet
6789 scenario*/
6790 /**
6791 * @METHOD NAME : hospitalDetailsList
6792 * @INFORMATION : This method is to hospital Details List
6793 * @PARAM : class java.lang.Long
6794 * @RETURN : class [Ljava.lang.String;
6795 * @EXCEPTION : class gosi.core.util.GOSIException
6796 * @LAST MODIFIED BY :
6797 * @LAST MODIFIED DATE :
6798 **/
6799 public String[] hospitalDetailsList(Long hospitalCode)
6800 throws GOSIException
6801 {
6802 PreparedStatement ps = null;
6803 ResultSet rs= null;
6804
6805 try
6806 {
6807 GOSIDebug.debugMessages("inside the Function hospitalDetails"+hospitalCode);
6808
6809 con = GOSIUtilities.getConnection
6810 (GOSIConstants.OCCUPATIONAL_HAZARDS_ID);
6811
6812 String sqlQuery = "";
6813 sqlQuery = " SELECT HOSPITALNAMEARB, "
6814 +" HOSPITALNAMEENG FROM "+ SITables.T_HOSPITAL
6815 +" WHERE HOSPITALCODE = ? ";
6816 GOSIDebug.debugMessages("sqlQuery " +sqlQuery);
6817 ps = con.prepareStatement(sqlQuery);
6818 ps.setLong(1,hospitalCode.longValue());
6819 rs = ps .executeQuery();
6820 String hospitalName[] = new String[2];
6821 while(rs.next())
6822 {
6823 hospitalName[0] = rs.getString("HOSPITALNAMEARB");
6824 hospitalName[1] = rs.getString("HOSPITALNAMEENG");
6825 }
6826 return hospitalName;
6827 }
6828 catch(Exception e)
6829 {
6830 throw new GOSIException(GOSIConstants.SEVERITY_ONE,
6831 GOSIConstants.SOCIAL_INSURANCE,
6832 this.getClass().toString(),
6833 "hospitalDetailsList()",
6834 e,"CMN_ERR_1000");
6835 }
6836 finally
6837 {
6838 GOSIUtilities.cleanUp(con,ps,rs);
6839 }
6840 }
6841
6842 /**
6843 * @METHOD NAME : deleteApprovedTrmtSrvc
6844 * @INFORMATION : This method is to delete approved treatment services.
6845 * @PARAM : class java.lang.Long
6846 * @RETURN : void
6847 * @EXCEPTION : class gosi.core.util.GOSIException,
6848 class java.rmi.RemoteException
6849 * @LAST MODIFIED BY :
6850 * @LAST MODIFIED DATE :
6851 **/
6852 public void deleteApprovedTrmtSrvc(Long recordId ) throws GOSIException
6853 {
6854 try
6855 {
6856 TreatmentServiceDetailEntityHome home = (TreatmentServiceDetailEntityHome)
6857 ServiceLocator.getInstance().getRemoteHome(
6858 OHConstants.TRMT_SRVC_DET_ENTITY_JNDI,
6859 TreatmentServiceDetailEntityHome.class);
6860
6861 TreatmentServiceDetailEntity detailRemote =
6862 (TreatmentServiceDetailEntity)home.findByPrimaryKey
6863 (recordId);
6864
6865 detailRemote.remove();
6866 }
6867 catch(Exception e)
6868 {
6869 throw new GOSIException(GOSIConstants.SEVERITY_ONE,
6870 GOSIConstants.SOCIAL_INSURANCE,
6871 this.getClass().toString(),"deleteApprovedTrmtSrvc()",e,"CMN_ERR_1000");
6872 }
6873 }
6874
6875
6876
6877
6878 /**
6879 * @METHOD NAME : deleteApprovedTrmtSrvc
6880 * @INFORMATION : This method is to delete approved treatment services.
6881 * @PARAM : class java.lang.Long
6882 * @RETURN : void
6883 * @EXCEPTION : class gosi.core.util.GOSIException,
6884 class java.rmi.RemoteException
6885 * @LAST MODIFIED BY :
6886 * @LAST MODIFIED DATE :
6887 **/
6888 public void deleteApprovedTrmtSrvc(Long recordId,Long userId ) throws GOSIException
6889 {
6890 try
6891 {
6892 TreatmentServiceDetailEntityHome home = (TreatmentServiceDetailEntityHome)
6893 ServiceLocator.getInstance().getRemoteHome(
6894 OHConstants.TRMT_SRVC_DET_ENTITY_JNDI,
6895 TreatmentServiceDetailEntityHome.class);
6896
6897 TreatmentServiceDetailEntity detailRemote =
6898 (TreatmentServiceDetailEntity)home.findByPrimaryKey
6899 (recordId);
6900
6901 TreatmentServiceBean treatmentServiceBean = detailRemote.getTreatmentService();
6902
6903 treatmentServiceBean.setTrmtSrvcStatus(OHConstants.TRMT_SRVC_STS_CANCELLED);
6904 treatmentServiceBean.setPaymentStatus(OHConstants.TRMT_SRVC_PAY_STS_NOT_PAID);
6905 treatmentServiceBean.setLastModifiedBy(userId);
6906 detailRemote.modifyTreatmentServices(treatmentServiceBean);
6907 }
6908 catch(Exception e)
6909 {
6910 throw new GOSIException(GOSIConstants.SEVERITY_ONE,
6911 GOSIConstants.SOCIAL_INSURANCE,
6912 this.getClass().toString(),"deleteApprovedTrmtSrvc()",e,"CMN_ERR_1000");
6913 }
6914 }
6915}