private CareContextRepatriationVo createCareContext(PatientRefVo patient, EpisodeOfCareRefVo episodeOfCare, PasEventRepatriationVo pasEvent, DateTime startDateTime, HcpLiteVo hcp, LocationRefVo location, ServiceLiteVo service, SourceOfReferral sourceOfReferral) { CareContextRepatriationVo careContext = new CareContextRepatriationVo(); careContext.setPasEvent(pasEvent); careContext.setContext(ContextType.REFERRAL); careContext.setEpisodeOfCare(episodeOfCare); careContext.setStartDateTime(startDateTime); careContext.setEndDateTime(null); careContext.setResponsibleHCP(hcp); CareContextStatusHistoryVo firstStatus = new CareContextStatusHistoryVo(); firstStatus.setStatus(CareContextStatus.OPEN); firstStatus.setStatusDateTime(startDateTime); careContext.setCurrentStatus(firstStatus); careContext.setStatusHistory(new CareContextStatusHistoryVoCollection()); careContext.getStatusHistory().add(firstStatus); return careContext; }
private CareContextForRequestServiceShortVo createCareContext(EpisodeOfCareForRequestServiceShortVo episodeOfCare, ContextType contextType, DateTime startDateTime, HcpRefVo responsibleHCP) { CareContextForRequestServiceShortVo careContext = new CareContextForRequestServiceShortVo(); careContext.setContext(contextType); careContext.setStartDateTime(startDateTime); careContext.setEndDateTime(null); careContext.setEpisodeOfCare(episodeOfCare); CareContextStatusHistoryVo firstStatus = new CareContextStatusHistoryVo(); firstStatus.setStatus(CareContextStatus.OPEN); firstStatus.setStatusDateTime(startDateTime); // careContext.setCurrentStatus(firstStatus); // careContext.setStatusHistory(new CareContextStatusHistoryVoCollection()); // careContext.getStatusHistory().add(firstStatus); if (episodeOfCare.getCareContexts() == null) episodeOfCare.setCareContexts(new CareContextForRequestServiceShortVoCollection()); episodeOfCare.getCareContexts().add(careContext); return careContext; }
private CareContextAdmitVo createCareContext(EpisodeOfCareAdmitVo episodeOfCare, ContextType contextType, PasEventAdmitVo pasEvent, DateTime startDateTime, Date estimatedDischargeDate, HcpRefVo responsibleHCP, ContactLocation locationType, String bedNumber) { CareContextAdmitVo careContext = new CareContextAdmitVo(); careContext.setContext(contextType); careContext.setStartDateTime(startDateTime); careContext.setEndDateTime(null); careContext.setResponsibleHCP(responsibleHCP); careContext.setEpisodeOfCare(episodeOfCare); careContext.setPasEvent(pasEvent); careContext.setBedNumber(bedNumber); careContext.setEstimatedDischargeDate(estimatedDischargeDate); CareContextStatusHistoryVo firstStatus = new CareContextStatusHistoryVo(); firstStatus.setStatus(CareContextStatus.OPEN); firstStatus.setStatusDateTime(startDateTime); careContext.setCurrentStatus(firstStatus); careContext.setStatusHistory(new CareContextStatusHistoryVoCollection()); careContext.getStatusHistory().add(firstStatus); if (episodeOfCare.getCareContexts() == null) episodeOfCare.setCareContexts(new CareContextAdmitVoCollection()); episodeOfCare.getCareContexts().add(careContext); return careContext; }
private CareSpellVo createCareSpellEpisodeCareContext(PatientShort patient, AdmissionDetailVo admission) { HcpLiteVo hcp = domain.getHcpFromIMos(form.ccConsultant().getValue()); BedSpaceStateLiteVo bedState = form.getGlobalContext().Core.getSelectedBedSpaceState(); CareSpellVo careSpell = new CareSpellVo(); careSpell.setStartDate(new Date()); careSpell.setEndDate(null); careSpell.setPatient(patient); EpisodeofCareVo episode = new EpisodeofCareVo(); episode.setCareSpell(careSpell); episode.setResponsibleHCP(hcp); episode.setSpecialty(form.cmbSpecialty().getValue()); episode.setRelationship(CareSpelltoEpisodeRelationship.PRIMARY); episode.setStartDate(new Date()); episode.setEndDate(null); CareContextVo careContext = new CareContextVo(); careContext.setPasEvent(null); careContext.setContext(ContextType.EMERGENCY_UNSCHEDULED); careContext.setEpisodeOfCare(episode); careContext.setOrderingHospital(null); careContext.setEstimatedDischargeDate(form.dteEstDischarge().getValue()); careContext.setStartDateTime(new DateTime()); careContext.setEndDateTime(null); careContext.setLocationType(null); careContext.setResponsibleHCP(hcp); careContext.setBedNumber((bedState != null && bedState.getBedSpace() != null) ? bedState.getBedSpace().getBedNumber() : null); careContext.setDischargeReason(null); careContext.setCareContextHistory(null); CareContextStatusHistoryVo contextStatus = new CareContextStatusHistoryVo(); contextStatus.setStatus(CareContextStatus.OPEN); contextStatus.setStatusDateTime(new DateTime()); careContext.setCurrentStatus(contextStatus); careContext.setStatusHistory(new CareContextStatusHistoryVoCollection()); careContext.getStatusHistory().add(contextStatus); episode.setCareContexts(new CareContextVoCollection()); episode.getCareContexts().add(careContext); episode.setLinkedReferrals(null); episode.setLinkedReferralsHistory(null); episode.setCurrentReferral(null); episode.setEpisodeOfCareHistory(null); EpisodeOfCareStatusHistoryVo episodeStatus = new EpisodeOfCareStatusHistoryVo(); episodeStatus.setStatus(EpisodeOfCareStatus.OPEN); episodeStatus.setStatusDateTime(new DateTime()); episode.setCurrentStatus(episodeStatus); episode.setStatusHistory(new EpisodeOfCareStatusHistoryVoCollection()); episode.getStatusHistory().add(episodeStatus); careSpell.setEpisodes(new EpisodeofCareVoCollection()); careSpell.getEpisodes().add(episode); CareSpellStatusHistoryVo careSpellStatus = new CareSpellStatusHistoryVo(); careSpellStatus.setStatus(ProblemGroupStatus.OPEN); careSpellStatus.setStatusDateTime(new DateTime()); careSpell.setCurrentStatus(careSpellStatus); careSpell.setStatusHistory(new CareSpellStatusHistoryVoCollection()); careSpell.getStatusHistory().add(careSpellStatus); return careSpell; }
public CareSpellVo createCareSpellVo(PasEventVo pas, PV1 pv)throws HL7Exception { CareSpellVo careSpell=new CareSpellVo(); if(pas!=null && pas.getEventDateTime()!=null) careSpell.setStartDate( pas.getEventDateTime().getDate()); else throw new HL7Exception("Validation of PasEvent failed. Set the Event Date Time in PV1-44"); careSpell.setPatient(pas.getPatient()); EpisodeofCareVo episode=new EpisodeofCareVo(); episode.setCareSpell(careSpell); episode.setResponsibleHCP(hcpAdmin.getHcpLiteByExternalCode(TaxonomyType.NAT_CONS_CODE, pv.getConsultingDoctor(0).getIDNumber().getValue())); // wdev-4883 Check for PAS code mapping if national consultant code not found if (!episode.getResponsibleHCPIsNotNull()) { episode.setResponsibleHCP(hcpAdmin.getHcpLiteByExternalCode(TaxonomyType.PAS, pv.getConsultingDoctor(1).getIDNumber().getValue())); } episode.setRelationship(CareSpelltoEpisodeRelationship.PRIMARY); episode.setSpecialty(pas.getSpecialty()); episode.setStartDate( pas.getEventDateTime().getDate()); EpisodeofCareVoCollection episodes=new EpisodeofCareVoCollection(); episodes.add(episode); CareContextVo careContext=new CareContextVo(); careContext.setEpisodeOfCare(episode); ContextType context=new ContextType(); if (pv.getPatientClass().getValue().equals("I")) { context = ContextType.INPATIENT; pas.setEventType(ims.core.vo.lookups.PasEventType.INPATIENT); } else if (pv.getPatientClass().getValue().equals("O")) { context = ContextType.OUTPATIENT; pas.setEventType(ims.core.vo.lookups.PasEventType.OUTPATIENT); } else if (pv.getPatientClass().getValue().equals("P")) { context = ContextType.TCI; pas.setEventType(ims.core.vo.lookups.PasEventType.TCI); } else { context = ContextType.GHGSURGERY; } careContext.setContext(context); careContext.setStartDateTime(pas.getEventDateTime()); careContext.setPasEvent(pas); careContext.setResponsibleHCP(episode.getResponsibleHCP()); //WDEV-10231 careContext.setCurrentStatus(new CareContextStatusHistoryVo()); careContext.getCurrentStatus().setStatus(CareContextStatus.OPEN); careContext.getCurrentStatus().setStatusDateTime(pas.getEventDateTime()); LocSiteShortVo loc = orgLoc.getLocSiteShortByTaxonomyType(pv.getAssignedPatientLocation().getBuilding().getValue(), TaxonomyType.PAS); LocSiteRefVo orderingHospRef = new LocSiteRefVo(); if (loc!=null) { orderingHospRef.setID_Location(loc.getBoId()); careContext.setOrderingHospital(orderingHospRef); } CareContextVoCollection careContexts=new CareContextVoCollection(); careContexts.add(careContext); episode.setCareContexts(careContexts); careSpell.setEpisodes(episodes); return careSpell; }
private void undoCancelCareContext() { try { Object selectedValue = form.dyngrdList().getValue(); if (!(selectedValue instanceof CareContextVo)) return; CareContextVo careContext = domain.getCareContextById((CareContextRefVo) selectedValue); if (careContext != null && careContext.getVersion_CareContext() != ((CareContextVo) selectedValue).getVersion_CareContext()) { engine.showMessage(ConfigFlag.UI.STALE_OBJECT_MESSAGE.getValue()); open(); return; } CareContextStatusHistoryVo status = new CareContextStatusHistoryVo(); status.setStatus(CareContextStatus.OPEN); status.setStatusDateTime(new DateTime()); careContext.setCurrentStatus(status); if (careContext.getStatusHistory() == null) careContext.setStatusHistory(new CareContextStatusHistoryVoCollection()); careContext.getStatusHistory().add(status); careContext.setEndDateTime(null); String[] errors = careContext.validate(); if (errors != null && errors.length > 0) { engine.showErrors(errors); return; } domain.saveCareContext(careContext); } catch (StaleObjectException e) { engine.showMessage(ConfigFlag.UI.STALE_OBJECT_MESSAGE.getValue()); } open(); reselectGrid(); }
private void undoCancelCareContext() { try { ValueObject selectedValue = form.grdList().getValue(); if (!(selectedValue instanceof CareContextVo)) return; CareContextVo careContext = domain.getCareContextById((CareContextRefVo) selectedValue); if (careContext != null && careContext.getVersion_CareContext() != ((CareContextVo)selectedValue).getVersion_CareContext()) { engine.showMessage(ConfigFlag.UI.STALE_OBJECT_MESSAGE.getValue()); open(); return; } CareContextStatusHistoryVo status = new CareContextStatusHistoryVo(); status.setStatus(CareContextStatus.OPEN); status.setStatusDateTime(new DateTime()); careContext.setCurrentStatus(status); if (careContext.getStatusHistory() == null) careContext.setStatusHistory(new CareContextStatusHistoryVoCollection()); careContext.getStatusHistory().add(status); careContext.setEndDateTime(null); String[] errors = careContext.validate(); if (errors != null && errors.length > 0) { engine.showErrors(errors); return; } domain.saveCareContext(careContext); } catch (StaleObjectException e) { engine.showMessage(ConfigFlag.UI.STALE_OBJECT_MESSAGE.getValue()); } open(); reselectGrid(); }
public CareSpellVo createCareSpellVo(PasEventVo pas, PV1 pv, ProviderSystemVo providerSystem)throws HL7Exception //WDEV-20278 { CareSpellVo careSpell=new CareSpellVo(); if(pas!=null && pas.getEventDateTime()!=null) careSpell.setStartDate( pas.getEventDateTime().getDate()); else throw new HL7Exception("Validation of PasEvent failed. Set the Event Date Time in PV1-44"); careSpell.setPatient(pas.getPatient()); EpisodeofCareVo episode=new EpisodeofCareVo(); episode.setCareSpell(careSpell); episode.setResponsibleHCP(hcpAdmin.getHcpLiteByExternalCode(TaxonomyType.NAT_CONS_CODE, pv.getConsultingDoctor(0).getIDNumber().getValue())); // wdev-4883 Check for PAS code mapping if national consultant code not found if (!episode.getResponsibleHCPIsNotNull()) { episode.setResponsibleHCP(hcpAdmin.getHcpLiteByExternalCode(TaxonomyType.PAS, pv.getConsultingDoctor(1).getIDNumber().getValue())); } episode.setRelationship(CareSpelltoEpisodeRelationship.PRIMARY); episode.setSpecialty(pas.getSpecialty()); episode.setStartDate( pas.getEventDateTime().getDate()); EpisodeofCareVoCollection episodes=new EpisodeofCareVoCollection(); episodes.add(episode); CareContextVo careContext=new CareContextVo(); careContext.setEpisodeOfCare(episode); ContextType context=new ContextType(); if (pv.getPatientClass().getValue().equals("I")) { context = ContextType.INPATIENT; pas.setEventType(ims.core.vo.lookups.PasEventType.INPATIENT); } else if (pv.getPatientClass().getValue().equals("O")) { context = ContextType.OUTPATIENT; pas.setEventType(ims.core.vo.lookups.PasEventType.OUTPATIENT); } else if (pv.getPatientClass().getValue().equals("P")) { context = ContextType.TCI; pas.setEventType(ims.core.vo.lookups.PasEventType.TCI); } else { context = ContextType.GHGSURGERY; } careContext.setContext(context); careContext.setStartDateTime(pas.getEventDateTime()); careContext.setPasEvent(pas); careContext.setResponsibleHCP(episode.getResponsibleHCP()); //WDEV-10231 careContext.setCurrentStatus(new CareContextStatusHistoryVo()); careContext.getCurrentStatus().setStatus(CareContextStatus.OPEN); careContext.getCurrentStatus().setStatusDateTime(pas.getEventDateTime()); //WDEV-20278 // LocSiteShortVo loc = orgLoc.getLocSiteShortByTaxonomyType(pv.getAssignedPatientLocation().getBuilding().getValue(), TaxonomyType.PAS); LocSiteShortVo loc = orgLoc.getLocSiteShortByTaxonomyType(pv.getAssignedPatientLocation().getBuilding().getValue(), providerSystem.getCodeSystem()); //WDEV-20278 LocSiteRefVo orderingHospRef = new LocSiteRefVo(); if (loc!=null) { orderingHospRef.setID_Location(loc.getBoId()); careContext.setOrderingHospital(orderingHospRef); } CareContextVoCollection careContexts=new CareContextVoCollection(); careContexts.add(careContext); episode.setCareContexts(careContexts); careSpell.setEpisodes(episodes); return careSpell; }