/** * Gets a list of non voided encounters * * @return the non voided encounter list * @since 1.11.0, 1.12.0 */ public List<Encounter> getNonVoidedEncounters() { return getEncounters().stream() .filter(e -> !e.getVoided()) .collect(Collectors.toList()); }
/** * adds an individual encounter to a visit * * @param encounter the encounter to add * @since 1.9.2, 1.10.0 */ public void addEncounter(Encounter encounter) { if (encounter != null) { encounter.setVisit(this); getEncounters().add(encounter); } } }
@Override public Encounter transferEncounter(Encounter encounter, Patient patient) { Encounter encounterCopy = encounter.copyAndAssignToAnotherPatient(patient); voidEncounter(encounter, "transfer to patient: id = " + patient.getId()); //void visit if voided encounter is the only one Visit visit = encounter.getVisit(); if (visit != null && visit.getEncounters().size() == 1) { Context.getVisitService().voidVisit(visit, "Visit does not contain non-voided encounters"); } return saveEncounter(encounterCopy); } }
@Override public boolean matches(Object argument) { Visit visit = (Visit) argument; return OpenmrsUtil.nullSafeEquals(visit.getLocation(), expected.getLocation()) && OpenmrsUtil.nullSafeEquals(visit.getVisitType(), expected.getVisitType()) && OpenmrsUtil.nullSafeEquals(visit.getIndication(), expected.getIndication()) && OpenmrsUtil.nullSafeEquals(visit.getStartDatetime(), expected.getStartDatetime()) && OpenmrsUtil.nullSafeEquals(visit.getStopDatetime(), expected.getStopDatetime()) && (visit.getEncounters().size() == expected.getEncounters().size()); } };
assertNotNull(visit.getDateCreated()); assertEquals(originalSize + 1, visitService.getAllVisits().size()); assertEquals(1, visit.getEncounters().size()); assertEquals(Integer.valueOf(4), ((Encounter) visit.getEncounters().toArray()[0]).getEncounterId());
/** * @see VisitService#saveVisit(Visit) */ @Test public void saveVisit_shouldAssociateEncounterWithVisitOnSaveEncounter() { Visit visit = visitService.getVisit(1); EncounterService es = Context.getEncounterService(); Encounter encounter = new Encounter(); encounter.setEncounterDatetime(new Date()); encounter.setPatient(visit.getPatient()); encounter.setLocation(visit.getLocation()); encounter.setEncounterType(es.getEncounterType(1)); visit.addEncounter(encounter); Context.getEncounterService().saveEncounter(encounter); Integer encounterId = encounter.getEncounterId(); Context.flushSession(); Context.clearSession(); // reload the visit visit = visitService.getVisit(1); assertEquals(1, visit.getEncounters().size()); assertEquals(encounterId, ((Encounter) visit.getEncounters().toArray()[0]).getEncounterId()); }
encounterUuidsThatShouldBeMoved.add(Context.getEncounterService().getEncounter(6).getUuid()); for (Visit v : Arrays.asList(visit1, visit2, visit3)) { for (Encounter e : v.getEncounters()) { encounterUuidsThatShouldBeMoved.add(e.getUuid()); for (Encounter e : v.getEncounters()) { assertThat(e.getPatient(), is(v.getPatient())); for (Obs o : e.getAllObs(true)) {
@Test public void shouldRemoveAnEncounterFromAnExistingVisitOnEdit() throws Exception { final String encounterId = "6519d653-393b-4118-9c83-a3715b82d4ac"; Visit visit = service.getVisitByUuid(RestTestConstants1_9.VISIT_UUID); //add an encounter to be removed for testing purposes visit.getEncounters().add(Context.getEncounterService().getEncounterByUuid(encounterId)); service.saveVisit(visit); Assert.assertEquals(1, visit.getEncounters().size()); String json = "{\"encounters\": [] }"; handle(newPostRequest(getURI() + "/" + getUuid(), json)); Visit updated = service.getVisitByUuid(RestTestConstants1_9.VISIT_UUID); Assert.assertEquals(0, updated.getEncounters().size()); }
@Test public void shouldAddEncountersToAnExistingVisitOnEdit() throws Exception { Visit visit = service.getVisitByUuid(RestTestConstants1_9.VISIT_UUID); Assert.assertEquals(0, visit.getEncounters().size()); String json = "{\"encounters\": [\"6519d653-393b-4118-9c83-a3715b82d4ac\", \"eec646cb-c847-45a7-98bc-91c8c4f70add\"] }"; handle(newPostRequest(getURI() + "/" + getUuid(), json)); Visit updated = service.getVisitByUuid(RestTestConstants1_9.VISIT_UUID); Assert.assertEquals(2, updated.getEncounters().size()); }
@Test public void shouldCreateAVisitWithEncounterAndObs() throws Exception { int originalCount = service.getAllVisits().size(); final String patientUuid = "5946f880-b197-400b-9caa-a3c661d23041"; Patient patient = Context.getPatientService().getPatientByUuid(patientUuid); Assert.assertEquals(0, service.getVisitsByPatient(patient).size()); String json = "{ \"patient\":\"5946f880-b197-400b-9caa-a3c661d23041\", \"visitType\":\"" + RestTestConstants1_9.VISIT_TYPE_UUID + "\", \"location\":\"" + RestTestConstants1_9.LOCATION_UUID + "\", \"startDatetime\":\"" + DATE_FORMAT.format(new Date()) + "\", \"encounters\": [{\"patient\":\"5946f880-b197-400b-9caa-a3c661d23041\", \"obs\": [{\"concept\":\"89ca642a-dab6-4f20-b712-e12ca4fc6d36\", \"value\":\"b055abd8-a420-4a11-8b98-02ee170a7b54\"}]}] }}] }"; Object newVisit = deserialize(handle(newPostRequest(getURI(), json))); Assert.assertNotNull(PropertyUtils.getProperty(newVisit, "uuid")); Assert.assertEquals(originalCount + 1, service.getAllVisits().size()); Assert.assertEquals(1, service.getVisitsByPatient(patient).get(0).getEncounters().size()); Iterator<Encounter> encouters = service.getVisitsByPatient(patient).get(0).getEncounters().iterator(); Assert.assertEquals(1, encouters.next().getObs().size()); }
@Test public void shouldCreateAVisitWithEncounters() throws Exception { int originalCount = service.getAllVisits().size(); final String patientUuid = "5946f880-b197-400b-9caa-a3c661d23041"; Patient patient = Context.getPatientService().getPatientByUuid(patientUuid); Assert.assertEquals(0, service.getVisitsByPatient(patient).size()); String json = "{ \"patient\":\"5946f880-b197-400b-9caa-a3c661d23041\", \"visitType\":\"" + RestTestConstants1_9.VISIT_TYPE_UUID + "\", \"location\":\"" + RestTestConstants1_9.LOCATION_UUID + "\", \"startDatetime\":\"" + DATE_FORMAT.format(new Date()) + "\", \"encounters\": [\"6519d653-393b-4118-9c83-a3715b82d4ac\", \"eec646cb-c847-45a7-98bc-91c8c4f70add\"] }"; Object newVisit = deserialize(handle(newPostRequest(getURI(), json))); Assert.assertNotNull(PropertyUtils.getProperty(newVisit, "uuid")); Assert.assertEquals(originalCount + 1, service.getAllVisits().size()); Assert.assertEquals(2, service.getVisitsByPatient(patient).get(0).getEncounters().size()); }