Skip to content

Commit

Permalink
Rebase and fixes
Browse files Browse the repository at this point in the history
  • Loading branch information
pmanko committed Apr 16, 2021
1 parent 4e3333f commit 4e8ac11
Show file tree
Hide file tree
Showing 4 changed files with 51 additions and 48 deletions.
Original file line number Diff line number Diff line change
Expand Up @@ -26,12 +26,12 @@
import org.openmrs.module.fhir2.FhirConstants;
import org.openmrs.module.fhir2.api.translators.EncounterLocationTranslator;
import org.openmrs.module.fhir2.api.translators.EncounterParticipantTranslator;
import org.openmrs.module.fhir2.api.translators.EncounterPeriodTranslator;
import org.openmrs.module.fhir2.api.translators.EncounterReferenceTranslator;
import org.openmrs.module.fhir2.api.translators.EncounterTranslator;
import org.openmrs.module.fhir2.api.translators.EncounterTypeTranslator;
import org.openmrs.module.fhir2.api.translators.PatientReferenceTranslator;
import org.openmrs.module.fhir2.api.translators.ProvenanceTranslator;
import org.openmrs.module.fhir2.api.translators.EncounterPeriodTranslator;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Component;

Expand Down Expand Up @@ -59,7 +59,7 @@ public class EncounterTranslatorImpl extends BaseEncounterTranslator implements

@Autowired
private EncounterPeriodTranslator encounterPeriodTranslator;

@Override
public Encounter toFhirResource(@Nonnull org.openmrs.Encounter openMrsEncounter) {
notNull(openMrsEncounter, "The Openmrs Encounter object should not be null");
Expand All @@ -82,7 +82,7 @@ public Encounter toFhirResource(@Nonnull org.openmrs.Encounter openMrsEncounter)
}

encounter.setPeriod(encounterPeriodTranslator.toFhirResource(openMrsEncounter.getEncounterDatetime()));

encounter.getMeta().addTag(FhirConstants.OPENMRS_FHIR_EXT_ENCOUNTER_TAG, "encounter", "Encounter");
encounter.getMeta().setLastUpdated(openMrsEncounter.getDateChanged());
encounter.addContained(provenanceTranslator.getCreateProvenance(openMrsEncounter));
Expand Down Expand Up @@ -121,7 +121,7 @@ public org.openmrs.Encounter toOpenmrsType(@Nonnull org.openmrs.Encounter existi
existingEncounter.setVisit(visitReferenceTranlator.toOpenmrsType(encounter.getPartOf()));

existingEncounter.setEncounterDatetime(encounterPeriodTranslator.toOpenmrsType(encounter.getPeriod()));

return existingEncounter;
}
}
Original file line number Diff line number Diff line change
Expand Up @@ -53,7 +53,7 @@ public class VisitTranslatorImpl extends BaseEncounterTranslator implements Enco

@Autowired
private VisitPeriodTranslator visitPeriodTranslator;

@Override
public Encounter toFhirResource(@Nonnull Visit visit) {
notNull(visit, "The OpenMrs Visit object should not be null");
Expand All @@ -67,12 +67,12 @@ public Encounter toFhirResource(@Nonnull Visit visit) {
if (visit.getLocation() != null) {
encounterLocationTranslator.toFhirResource(visit.getLocation());
}

encounter.setClass_(mapLocationToClass(visit.getLocation()));

encounter.setPeriod(
visitPeriodTranslator.toFhirResource(new ImmutablePair(visit.getStartDatetime(), visit.getStopDatetime())));

encounter.getMeta().addTag(FhirConstants.OPENMRS_FHIR_EXT_ENCOUNTER_TAG, "visit", "Visit");
encounter.getMeta().setLastUpdated(visit.getDateChanged());
encounter.addContained(provenanceTranslator.getCreateProvenance(visit));
Expand Down Expand Up @@ -105,7 +105,7 @@ public Visit toOpenmrsType(@Nonnull Visit existingVisit, @Nonnull Encounter enco
if (translatedPeriod != null && translatedPeriod.getValue() != null) {
existingVisit.setStopDatetime(translatedPeriod.getValue());
}

existingVisit.setPatient(patientReferenceTranslator.toOpenmrsType(encounter.getSubject()));
existingVisit.setLocation(encounterLocationTranslator.toOpenmrsType(encounter.getLocationFirstRep()));

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -25,6 +25,7 @@
import org.hl7.fhir.r4.model.CodeableConcept;
import org.hl7.fhir.r4.model.Encounter;
import org.hl7.fhir.r4.model.IdType;
import org.hl7.fhir.r4.model.Period;
import org.hl7.fhir.r4.model.Provenance;
import org.hl7.fhir.r4.model.Reference;
import org.hl7.fhir.r4.model.Resource;
Expand Down Expand Up @@ -105,7 +106,7 @@ public class EncounterTranslatorImplTest {

@Mock
private EncounterPeriodTranslator encounterPeriodTranslator;

@Mock
private EncounterClassMap encounterClassMap;

Expand Down Expand Up @@ -134,7 +135,7 @@ public void setUp() {
encounterTranslator.setVisitReferenceTranlator(visitReferenceTranslator);
encounterTranslator.setEncounterTypeTranslator(encounterTypeTranslator);
encounterTranslator.setEncounterPeriodTranslator(encounterPeriodTranslator);

PatientIdentifier identifier = new PatientIdentifier();
identifier.setIdentifier(PATIENT_IDENTIFIER);

Expand Down Expand Up @@ -361,18 +362,18 @@ public void toOpenMrsType_shouldTranslateTypeToEncounterType() {
public void toOpenMrsType_shouldTranslatePeriodToEncounterDatetime() {
Date encounterDate = new java.util.Date();
Period period = new Period();

fhirEncounter.setPeriod(period);

when(encounterPeriodTranslator.toOpenmrsType(period)).thenReturn(encounterDate);
when(patientReferenceTranslator.toOpenmrsType(patientRef)).thenReturn(patient);

org.openmrs.Encounter result = encounterTranslator.toOpenmrsType(fhirEncounter);

assertThat(result, notNullValue());
assertThat(result.getEncounterDatetime(), equalTo(encounterDate));
}

@Test
public void toFhirResource_shouldTranslateToPartOf() {
Visit visit = new Visit();
Expand Down Expand Up @@ -483,31 +484,31 @@ public void toFhirResource_shouldTranslateEncounterTypeToEncounterTypeField() {
assertThat(result.getType(), not(empty()));
assertThat(result.getTypeFirstRep(), equalTo(fhirEncounterType));
}

@Test
public void toFhirResource_shouldHaveEncounterTag() {
Encounter result = encounterTranslator.toFhirResource(omrsEncounter);

assertThat(result, notNullValue());
assertThat(result.getMeta().getTag(), notNullValue());
assertThat(result.getMeta().getTag().get(0).getSystem(), equalTo(FhirConstants.OPENMRS_FHIR_EXT_ENCOUNTER_TAG));
assertThat(result.getMeta().getTag().get(0).getCode(), equalTo(TYPE_CODE));
assertThat(result.getMeta().getTag().get(0).getDisplay(), equalTo(TYPE_DISPLAY));
}

@Test
public void toFhirResource_shouldTranslateEncounterDatetimeToPeriod() {
Date encounterDate = new java.util.Date();
Period period = new Period();

omrsEncounter.setEncounterDatetime(encounterDate);

period.setStart(encounterDate);

when(encounterPeriodTranslator.toFhirResource(encounterDate)).thenReturn(period);

Encounter result = encounterTranslator.toFhirResource(omrsEncounter);

assertThat(result, notNullValue());
assertThat(result.getPeriod(), equalTo(period));
}
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -15,6 +15,7 @@
import static org.hamcrest.Matchers.is;
import static org.hamcrest.Matchers.not;
import static org.hamcrest.Matchers.notNullValue;
import static org.hamcrest.Matchers.nullValue;
import static org.mockito.Mockito.when;

import java.text.SimpleDateFormat;
Expand All @@ -29,6 +30,7 @@
import org.hl7.fhir.r4.model.CodeableConcept;
import org.hl7.fhir.r4.model.Encounter;
import org.hl7.fhir.r4.model.IdType;
import org.hl7.fhir.r4.model.Period;
import org.hl7.fhir.r4.model.Provenance;
import org.hl7.fhir.r4.model.Reference;
import org.hl7.fhir.r4.model.Resource;
Expand Down Expand Up @@ -89,14 +91,14 @@ public class VisitTranslatorImplTest {

@Mock
private VisitPeriodTranslatorImpl visitPeriodTranslator;

@Mock
private EncounterClassMap encounterClassMap;

private VisitTranslatorImpl visitTranslator;

private Date periodStart, periodEnd;

@SneakyThrows
@Before
public void setup() {
Expand All @@ -107,7 +109,7 @@ public void setup() {
visitTranslator.setEncounterClassMap(encounterClassMap);
visitTranslator.setVisitTypeTranslator(visitTypeTranslator);
visitTranslator.setVisitPeriodTranslator(visitPeriodTranslator);

periodStart = new SimpleDateFormat("dd-MMM-yyyy HH:mm:ss").parse("10-Jan-2019 10:11:00");
periodEnd = new SimpleDateFormat("dd-MMM-yyyy HH:mm:ss").parse("10-Jan-2019 11:00:00");
}
Expand Down Expand Up @@ -144,41 +146,41 @@ public void toOpenmrsType_shouldConvertIdToUuid() {
@Test
public void toOpenmrsType_shouldConvertPeriodToStartStopDatetime() {
Encounter encounter = new Encounter();

Period period = new Period();
period.setStart(periodStart);
period.setEnd(periodEnd);
encounter.setPeriod(period);

ImmutablePair<Date, Date> pair = new ImmutablePair(periodStart, periodEnd);

when(visitPeriodTranslator.toOpenmrsType(period)).thenReturn(pair);

Visit result = visitTranslator.toOpenmrsType(new Visit(), encounter);

assertThat(result, notNullValue());
assertThat(result.getStartDatetime(), equalTo(periodStart));
assertThat(result.getStopDatetime(), equalTo(periodEnd));
}

@Test
public void toOpenmrsType_shouldConvertPeriodWithNullValues() {
Encounter encounter = new Encounter();

Period period = new Period();
encounter.setPeriod(period);

ImmutablePair<Date, Date> pair = new ImmutablePair(null, null);

when(visitPeriodTranslator.toOpenmrsType(period)).thenReturn(pair);

Visit result = visitTranslator.toOpenmrsType(new Visit(), encounter);

assertThat(result, notNullValue());
assertThat(result.getStartDatetime(), nullValue());
assertThat(result.getStopDatetime(), nullValue());
}

@Test(expected = NullPointerException.class)
public void toFhirResource_shouldThrowExceptionWhenVisitIsNull() {
visitTranslator.toFhirResource(null);
Expand Down Expand Up @@ -341,37 +343,37 @@ public void toFhirResource_shouldTranslateTypeToEncounterType() {
assertThat(result.getType(), not(empty()));
assertThat(result.getTypeFirstRep(), equalTo(codeableConcept));
}

@Test
public void toFhirResource_shouldHaveEncounterTag() {
Visit visit = new Visit();
visit.setUuid(VISIT_UUID);

Encounter result = visitTranslator.toFhirResource(visit);

assertThat(result, notNullValue());
assertThat(result.getMeta().getTag(), notNullValue());
assertThat(result.getMeta().getTag().get(0).getSystem(), equalTo(FhirConstants.OPENMRS_FHIR_EXT_ENCOUNTER_TAG));
assertThat(result.getMeta().getTag().get(0).getCode(), equalTo(TYPE_CODE));
assertThat(result.getMeta().getTag().get(0).getDisplay(), equalTo(TYPE_DISPLAY));
}

@Test
public void toFhirResource_shouldTranslateDateStartedStoppedToPeriod() {
Visit visit = new Visit();
visit.setUuid(VISIT_UUID);

Period period = new Period();
period.setStart(periodStart);
period.setEnd(periodEnd);

visit.setStartDatetime(periodStart);
visit.setStartDatetime(periodEnd);

when(visitPeriodTranslator.toFhirResource(ArgumentMatchers.any())).thenReturn(period);

Encounter result = visitTranslator.toFhirResource(visit);

assertThat(result, notNullValue());
assertThat(result.getPeriod().getStart(), equalTo(periodStart));
assertThat(result.getPeriod().getEnd(), equalTo(periodEnd));
Expand Down

0 comments on commit 4e8ac11

Please sign in to comment.