Skip to content

Commit

Permalink
Neha | bdshr-1156 | fixing openmrs to fhir visit type mapping.
Browse files Browse the repository at this point in the history
  • Loading branch information
nehashri committed Feb 25, 2016
1 parent 2a90ef0 commit ad74f82
Show file tree
Hide file tree
Showing 2 changed files with 31 additions and 10 deletions.
Original file line number Diff line number Diff line change
Expand Up @@ -78,7 +78,7 @@ private void setClass(org.openmrs.Encounter openMrsEncounter, Encounter encounte

private EncounterClassEnum identifyEncounterClass(final String visitType) {
try {
return EncounterClassEnum.valueOf(visitType);
return EncounterClassEnum.forCode(visitType);
} catch (Exception e) {
logger.warn("Could not identify FHIR Encounter.class for MRS visitType:" + visitType);
}
Expand Down
Original file line number Diff line number Diff line change
@@ -1,6 +1,7 @@
package org.openmrs.module.fhir.mapper.bundler;

import ca.uhn.fhir.model.dstu2.composite.ResourceReferenceDt;
import ca.uhn.fhir.model.dstu2.valueset.EncounterClassEnum;
import org.junit.Before;
import org.junit.Test;
import org.mockito.InjectMocks;
Expand Down Expand Up @@ -32,22 +33,42 @@ public void setUp(){

@Test
public void shouldSetSubject() throws Exception {
Encounter encounter = new Encounter();
encounter.setEncounterType(new EncounterType("foo", "bar"));
Patient patient = new Patient(1000);
encounter.setPatient(patient);
encounter.setVisit(getVisit());
String healthId = "1234";
Encounter encounter = getMrsEncounter("foo", "foo");
FHIREncounter fhirEncounter = encounterMapper.map(encounter, healthId, getSystemProperties("1"));

ResourceReferenceDt subject = fhirEncounter.getPatient();
assertEquals(healthId, subject.getDisplay().getValue());
assertEquals("http://public.com/api/default/patients/" + healthId, subject.getReference().getValue());
}

private Visit getVisit() {
Visit visit = new Visit(2000);
visit.setVisitType(new VisitType("foo", "bar"));
return visit;
@Test
public void shouldSetVisitType() throws Exception {
assertEquals(EncounterClassEnum.OUTPATIENT.getCode(), mapEncounterWithVisitType("LAB VISIT").getClassElement());
assertEquals(EncounterClassEnum.HOME.getCode(), mapEncounterWithVisitType("home").getClassElement());
assertEquals(EncounterClassEnum.FIELD.getCode(), mapEncounterWithVisitType("field").getClassElement());
assertEquals(EncounterClassEnum.AMBULATORY.getCode(), mapEncounterWithVisitType("ambulatory").getClassElement());
assertEquals(EncounterClassEnum.EMERGENCY.getCode(), mapEncounterWithVisitType("emergency").getClassElement());
assertEquals(EncounterClassEnum.OUTPATIENT.getCode(), mapEncounterWithVisitType("outpatient").getClassElement());
assertEquals(EncounterClassEnum.INPATIENT.getCode(), mapEncounterWithVisitType("inpatient").getClassElement());
assertEquals(EncounterClassEnum.OUTPATIENT.getCode(), mapEncounterWithVisitType("OPD").getClassElement());
assertEquals(EncounterClassEnum.INPATIENT.getCode(), mapEncounterWithVisitType("IPD").getClassElement());
}

private ca.uhn.fhir.model.dstu2.resource.Encounter mapEncounterWithVisitType(String visitType) {
String healthId = "1234";
Encounter encounter = getMrsEncounter("foo", visitType);
return encounterMapper.map(encounter, healthId, getSystemProperties("1")).getEncounter();
}

private Encounter getMrsEncounter(String encounterType, String visitType) {
Encounter encounter = new Encounter();
encounter.setEncounterType(new EncounterType(encounterType, "Desc"));
Patient patient = new Patient(1000);
encounter.setPatient(patient);
Visit visit = new Visit(3000);
visit.setVisitType(new VisitType(visitType, "Desc"));
encounter.setVisit(visit);
return encounter;
}
}

0 comments on commit ad74f82

Please sign in to comment.