private void mergeVisits(Patient preferred, Patient notPreferred, PersonMergeLogData mergedData) { // move all visits, including voided ones (encounters will be handled below) //TODO: this should be a copy, not a move VisitService visitService = Context.getVisitService(); for (Visit visit : visitService.getVisitsByPatient(notPreferred, true, true)) { if (log.isDebugEnabled()) { log.debug("Merging visit " + visit.getVisitId() + " to " + preferred.getPatientId()); } visit.setPatient(preferred); Visit persisted = visitService.saveVisit(visit); mergedData.addMovedVisit(persisted.getUuid()); } }
/** * @see VisitService#saveVisit(Visit) */ @Test public void saveVisit_shouldAddANewVisitToTheDatabase() { Integer originalSize = visitService.getAllVisits().size(); Visit visit = new Visit(new Patient(2), new VisitType(1), new Date()); visit = visitService.saveVisit(visit); assertNotNull(visit.getId()); assertNotNull(visit.getUuid()); assertNotNull(visit.getCreator()); assertNotNull(visit.getDateCreated()); assertEquals(originalSize + 1, visitService.getAllVisits().size()); }
assertNotNull(visit.getUuid()); assertNotNull(visit.getCreator()); assertNotNull(visit.getDateCreated());
@Test public void createEncounter_shouldEditVisitPropertyForAnExisitingEncounter() throws Exception { EncounterService es = Context.getEncounterService(); VisitService vs = Context.getVisitService(); Encounter encounter = es.getEncounterByUuid(getUuid()); Visit newVisit = new Visit(encounter.getPatient(), vs.getVisitTypeByUuid(RestTestConstants1_9.VISIT_TYPE_UUID), new SimpleDateFormat("yyyy-MM-dd").parse("2008-08-01")); vs.saveVisit(newVisit); String json = "{\"visit\":\"" + newVisit.getUuid() + "\"}"; SimpleObject post = new ObjectMapper().readValue(json, SimpleObject.class); Object newEncounterObject = handle(newPostRequest(getURI() + "/" + getUuid(), post)); Assert.assertNotNull(newEncounterObject); Encounter update = es.getEncounterByUuid(getUuid()); //the encounter should have been res assigned to the new visit Assert.assertEquals(newVisit, update.getVisit()); }
@Test public void createEncounter_shouldCreateANewEncounterWithAVisitProperty() throws Exception { long before = getAllCount(); final String visitUuid = "1e5d5d48-6b78-11e0-93c3-18a905e044dc"; String json = "{\"visit\":\"" + visitUuid + "\",\"location\":\"9356400c-a5a2-4532-8f2b-2361b3446eb8\", \"encounterType\": \"61ae96f4-6afe-4351-b6f8-cd4fc383cce1\", \"encounterDatetime\": \"2011-01-15\", \"patient\": \"da7f524f-27ce-4bb2-86d6-6d1d05312bd5\", \"provider\":\"ba1b19c2-3ed6-4f63-b8c0-f762dc8d7562\"}"; SimpleObject post = new ObjectMapper().readValue(json, SimpleObject.class); Object newEncounterObject = deserialize(handle(newPostRequest(getURI(), post))); Assert.assertNotNull(newEncounterObject); Encounter newEncounter = Context.getEncounterService().getEncounterByUuid( ((SimpleObject) newEncounterObject).get("uuid").toString()); Assert.assertEquals(before + 1, getAllCount()); //the encounter should have been assigned to the visit Assert.assertNotNull(newEncounter); Assert.assertNotNull(newEncounter.getVisit()); Assert.assertEquals(visitUuid, newEncounter.getVisit().getUuid()); }