/** * @see EncounterDAO#getAllEncounters(org.openmrs.Cohort) */ @Override public Map<Integer, List<Encounter>> getAllEncounters(Cohort patients) { Map<Integer, List<Encounter>> encountersBypatient = new HashMap<>(); @SuppressWarnings("unchecked") List<Encounter> allEncounters = createEncounterCriteria(patients).list(); // set up the return map for (Encounter encounter : allEncounters) { Integer patientId = encounter.getPatient().getPersonId(); List<Encounter> encounters = encountersBypatient.get(patientId); if (encounters == null) { encounters = new ArrayList<>(); } encounters.add(encounter); if (!encountersBypatient.containsKey(patientId)) { encountersBypatient.put(patientId, encounters); } } return encountersBypatient; }
private void setPersonFromEncounter(Obs obs) { Encounter encounter = obs.getEncounter(); if (encounter != null) { obs.setPerson(encounter.getPatient()); } }
/** * @see org.openmrs.api.handler.SaveHandler#handle(org.openmrs.OpenmrsObject, org.openmrs.User, * java.util.Date, java.lang.String) */ @Override public void handle(Order order, User creator, Date dateCreated, String other) { if (order.getPatient() == null && order.getEncounter() != null) { order.setPatient(order.getEncounter().getPatient()); } } }
/** * @see java.lang.Object#toString() * @should not fail with empty object */ @Override public String toString() { String ret = ""; ret += encounterId == null ? "(no ID) " : encounterId.toString() + " "; ret += this.getEncounterDatetime() == null ? "(no Date) " : this.getEncounterDatetime().toString() + " "; ret += this.getEncounterType() == null ? "(no Type) " : this.getEncounterType().getName() + " "; ret += this.getLocation() == null ? "(no Location) " : this.getLocation().getName() + " "; ret += this.getPatient() == null ? "(no Patient) " : this.getPatient().getPatientId().toString() + " "; ret += this.getForm() == null ? "(no Form) " : this.getForm().getName() + " "; ret += "num Obs: " + this.getObsAtTopLevel(false) + " "; ret += "num Orders: " + this.getOrders().size() + " "; return "Encounter: [" + ret + "]"; }
private void validateSamePatientInOrderAndEncounter(Order order, Errors errors) { if (order.getEncounter() != null && order.getPatient() != null && !order.getEncounter().getPatient().equals(order.getPatient())) { errors.rejectValue("encounter", "Order.error.encounterPatientMismatch"); } }
patients.add(encounter.getPatient());
/** * @see EncounterService#saveEncounter(Encounter) */ @Test public void saveEncounter_shouldCascadePatientToOrdersInTheEncounter() { Encounter enc = Context.getEncounterService().getEncounter(15); Order existing = enc.getOrders().iterator().next(); // for some reason the xml for the existing encounter has already given // this order a different patient than the encounter that it's contained // in, but let's verify that: Assert.assertNotSame(enc.getPatient().getId(), existing.getPatient().getId()); Context.getEncounterService().saveEncounter(enc); Assert.assertEquals(enc.getPatient().getId(), existing.getPatient().getId()); }
visit.setStartDatetime(encounter.getEncounterDatetime()); visit.setLocation(encounter.getLocation()); visit.setPatient(encounter.getPatient());
/** * @see EncounterValidator#validate(Object,Errors) */ @Test public void validate_shouldFailIfEncounterDateTimeIsAfterVisitStopDateTime() { Encounter encounter = Context.getEncounterService().getEncounter(3); Visit visit = Context.getVisitService().getVisit(1); visit.setPatient(encounter.getPatient()); encounter.setVisit(visit); //Set encounter dateTime to after the visit stopDateTime. visit.setStopDatetime(new Date()); Date date = new Date(visit.getStopDatetime().getTime() + 1); encounter.setEncounterDatetime(date); errors = new BindException(encounter, "encounter"); encounterValidator.validate(encounter, errors); Assert.assertEquals(true, errors.hasFieldErrors("encounterDatetime")); }
/** * @see EncounterValidator#validate(Object,Errors) */ @Test public void validate_shouldFailIfEncounterDateTimeIsBeforeVisitStartDateTime() { Encounter encounter = Context.getEncounterService().getEncounter(3); Visit visit = Context.getVisitService().getVisit(1); visit.setPatient(encounter.getPatient()); encounter.setVisit(visit); //Set encounter dateTime to before the visit startDateTime. Date date = new Date(visit.getStartDatetime().getTime() - 1); encounter.setEncounterDatetime(date); errors = new BindException(encounter, "encounter"); encounterValidator.validate(encounter, errors); Assert.assertEquals(true, errors.hasFieldErrors("encounterDatetime")); }
@Test public void saveObs_shouldOverwriteObsPersonValueWithEncounterPatient() { String changeMessage = "Testing TRUNK-3283"; executeDataSet(ENCOUNTER_OBS_XML); ObsService obsService = Context.getObsService(); Obs obs = obsService.getObs(13); //overwrite ObsPerson with EncounterPatient Obs obsSaved = obsService.saveObs(obs, changeMessage); assertEquals(obs.getPerson(), obsSaved.getEncounter().getPatient()); }
/** * @see ConceptService#mapConceptProposalToConcept(ConceptProposal,Concept,Locale) */ @Test public void mapConceptProposalToConcept_shouldNotSetValueCodedNameWhenAddConceptIsSelected() { ConceptProposal cp = conceptService.getConceptProposal(2); Assert.assertEquals(OpenmrsConstants.CONCEPT_PROPOSAL_UNMAPPED, cp.getState()); final Concept civilStatusConcept = conceptService.getConcept(4); final int mappedConceptId = 6; Assert.assertTrue(Context.getObsService().getObservationsByPersonAndConcept(cp.getEncounter().getPatient(), civilStatusConcept).isEmpty()); Concept mappedConcept = conceptService.getConcept(mappedConceptId); cp.setObsConcept(civilStatusConcept); cp.setState(OpenmrsConstants.CONCEPT_PROPOSAL_CONCEPT); conceptService.mapConceptProposalToConcept(cp, mappedConcept, null); mappedConcept = conceptService.getConcept(mappedConceptId); List<Obs> observations = Context.getObsService().getObservationsByPersonAndConcept(cp.getEncounter().getPatient(), civilStatusConcept); Assert.assertEquals(1, observations.size()); Obs obs = observations.get(0); Assert.assertNull(obs.getValueCodedName()); }
Assert.assertEquals(targetPatient, transferredEncounter.getPatient());
@Test public void saveEncounter_shouldSaveEncounterWithComplexObs() { executeDataSet(ENC_OBS_HIERARCHY_DATA_XML); EncounterService es = Context.getEncounterService(); Encounter encounter = es.getEncounter(101); Obs observation = buildObs(); observation.setLocation(encounter.getLocation()); observation.setPerson(encounter.getPatient()); encounter.addObs(observation); es.saveEncounter(encounter); Context.flushSession(); Context.clearSession(); encounter = es.getEncounter(101); assertEquals(2, encounter.getObsAtTopLevel(true).size()); }
/** * @see ConceptService#mapConceptProposalToConcept(ConceptProposal,Concept,Locale) */ @Test public void mapConceptProposalToConcept_shouldSetValueCodedNameWhenAddSynonymIsSelected() { ConceptProposal cp = conceptService.getConceptProposal(2); Assert.assertEquals(OpenmrsConstants.CONCEPT_PROPOSAL_UNMAPPED, cp.getState()); final Concept civilStatusConcept = conceptService.getConcept(4); final int mappedConceptId = 6; final String finalText = "Weight synonym"; Assert.assertTrue(Context.getObsService().getObservationsByPersonAndConcept(cp.getEncounter().getPatient(), civilStatusConcept).isEmpty()); Concept mappedConcept = conceptService.getConcept(mappedConceptId); mappedConcept.addDescription(new ConceptDescription("some description",Context.getLocale())); cp.setFinalText(finalText); cp.setObsConcept(civilStatusConcept); cp.setState(OpenmrsConstants.CONCEPT_PROPOSAL_SYNONYM); conceptService.mapConceptProposalToConcept(cp, mappedConcept, null); mappedConcept = conceptService.getConcept(mappedConceptId); List<Obs> observations = Context.getObsService().getObservationsByPersonAndConcept(cp.getEncounter().getPatient(), civilStatusConcept); Assert.assertEquals(1, observations.size()); Obs obs = observations.get(0); Assert.assertNotNull(obs.getValueCodedName()); Assert.assertEquals(finalText, obs.getValueCodedName().getName()); }
/** * @see VisitValidator#validate(Object,Errors) */ @Test public void validate_shouldFailIfTheStartDatetimeIsAfterAnyEncounter() { Visit visit = Context.getVisitService().getVisit(1); Encounter encounter = Context.getEncounterService().getEncounter(3); visit.setPatient(encounter.getPatient()); encounter.setVisit(visit); encounter.setEncounterDatetime(visit.getStartDatetime()); Context.getEncounterService().saveEncounter(encounter); //Set visit start date to after the encounter date. Date date = new Date(encounter.getEncounterDatetime().getTime() + 1); visit.setStartDatetime(date); Errors errors = new BindException(visit, "visit"); new VisitValidator().validate(visit, errors); assertEquals(true, errors.hasFieldErrors("startDatetime")); }
/** * @see VisitValidator#validate(Object,Errors) */ @Test public void validate_shouldFailIfTheStopDatetimeIsBeforeAnyEncounter() { Visit visit = Context.getVisitService().getVisit(1); Encounter encounter = Context.getEncounterService().getEncounter(3); visit.setPatient(encounter.getPatient()); encounter.setVisit(visit); encounter.setEncounterDatetime(visit.getStartDatetime()); Context.getEncounterService().saveEncounter(encounter); //Set visit stop date to before the encounter date. Date date = new Date(encounter.getEncounterDatetime().getTime() - 1); visit.setStopDatetime(date); Errors errors = new BindException(visit, "visit"); new VisitValidator().validate(visit, errors); assertEquals(true, errors.hasFieldErrors("stopDatetime")); }
OrderGroup orderGroup = new OrderGroup(); orderGroup.setOrderSet(orderSet); orderGroup.setPatient(encounter.getPatient());
Patient origPatient = encounter.getPatient(); Location origLocation = encounter.getLocation(); Date origDate = encounter.getEncounterDatetime(); DateUtil.truncateToSeconds(newestEnc.getEncounterDatetime()).equals(DateUtil.truncateToSeconds(d2))); assertFalse("The patient should be different", origPatient.equals(pat2)); assertTrue("The patient should have been set", newestEnc.getPatient().equals(pat2));
OrderGroup orderGroup = new OrderGroup(); orderGroup.setOrderSet(orderSet); orderGroup.setPatient(encounter.getPatient()); orderGroup.setEncounter(Context.getEncounterService().getEncounter(encounterId));