Skip to content

Commit fd4a4b8

Browse files
kavitha-sundararajanN0-man
authored andcommitted
BAH-2258 | fixed. initializing concept object and unproxied
1 parent 8e8bc0c commit fd4a4b8

1 file changed

Lines changed: 16 additions & 0 deletions

File tree

omod/src/main/java/org/bahmni/module/hip/web/service/FHIRResourceMapper.java

Lines changed: 16 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -2,6 +2,8 @@
22

33
import org.bahmni.module.hip.Config;
44
import org.bahmni.module.hip.web.model.OpenMrsCondition;
5+
import org.hibernate.Hibernate;
6+
import org.hibernate.proxy.HibernateProxy;
57
import org.hl7.fhir.r4.model.DiagnosticReport;
68
import org.hl7.fhir.r4.model.Encounter;
79
import org.hl7.fhir.r4.model.CarePlan;
@@ -25,6 +27,7 @@
2527
import org.openmrs.EncounterProvider;
2628
import org.openmrs.Obs;
2729
import org.openmrs.Order;
30+
import org.openmrs.Concept;
2831
import org.openmrs.module.fhir2.api.translators.MedicationRequestTranslator;
2932
import org.openmrs.module.fhir2.api.translators.MedicationTranslator;
3033
import org.openmrs.module.fhir2.api.translators.PatientTranslator;
@@ -216,6 +219,8 @@ public Condition mapToCondition(OpenMrsCondition openMrsCondition, Patient patie
216219
}
217220

218221
public Observation mapToObs(Obs obs) {
222+
Concept concept = initializeEntityAndUnproxy(obs.getConcept());
223+
obs.setConcept(concept);
219224
return observationTranslator.toFhirResource(obs);
220225
}
221226

@@ -266,4 +271,15 @@ public Medication mapToMedication(DrugOrder order) {
266271
}
267272
return medicationTranslator.toFhirResource(order.getDrug());
268273
}
274+
275+
public static <T> T initializeEntityAndUnproxy(T entity) {
276+
if (entity == null) {
277+
throw new NullPointerException("Entity passed for initialization is null");
278+
}
279+
Hibernate.initialize(entity);
280+
if (entity instanceof HibernateProxy) {
281+
entity = (T) ((HibernateProxy) entity).getHibernateLazyInitializer().getImplementation();
282+
}
283+
return entity;
284+
}
269285
}

0 commit comments

Comments
 (0)