Skip to content

Commit 4433c10

Browse files
Passed lab result as list for lab panels and reverted encounter.class.display changes (#129)
1 parent 57df5e1 commit 4433c10

8 files changed

+23
-13
lines changed

omod/src/main/java/org/bahmni/module/hip/web/model/FhirDiagnosticReport.java

+1-1
Original file line numberDiff line numberDiff line change
@@ -72,7 +72,7 @@ public static FhirDiagnosticReport fromOpenMrsDiagnosticReport(OpenMrsDiagnostic
7272
Patient patient = fhirResourceMapper.mapToPatient(openMrsDiagnosticReport.getPatient());
7373
Reference patientReference = FHIRUtils.getReferenceToResource(patient);
7474
Encounter encounter = fhirResourceMapper.mapToEncounter(openMrsDiagnosticReport.getEncounter());
75-
encounter.getClass_().setDisplay("Diagnostic Report");
75+
encounter.getClass_().setDisplay("ambulatory");
7676
Date visitDateTime = openMrsDiagnosticReport.getEncounter().getVisit().getStartDatetime();
7777
Integer encounterId = openMrsDiagnosticReport.getEncounter().getId();
7878
List<Practitioner> practitioners = getPractitionersFrom(fhirResourceMapper, openMrsDiagnosticReport.getEncounterProviders());

omod/src/main/java/org/bahmni/module/hip/web/model/FhirDischargeSummary.java

+1-1
Original file line numberDiff line numberDiff line change
@@ -86,7 +86,7 @@ public static FhirDischargeSummary fromOpenMrsDischargeSummary(OpenMrsDischargeS
8686
Patient patient = fhirResourceMapper.mapToPatient(openMrsDischargeSummary.getPatient());
8787
Reference patientReference = FHIRUtils.getReferenceToResource(patient);
8888
Encounter encounter = fhirResourceMapper.mapToEncounter(openMrsDischargeSummary.getEncounter());
89-
encounter.getClass_().setDisplay("Discharge Summary");
89+
encounter.getClass_().setDisplay("ambulatory");
9090
Date visitDatetime = openMrsDischargeSummary.getEncounter().getVisit().getStartDatetime();
9191
Integer encounterId = openMrsDischargeSummary.getEncounter().getId();
9292
List<Practitioner> practitioners = getPractitionersFrom(fhirResourceMapper, openMrsDischargeSummary.getEncounter().getEncounterProviders());

omod/src/main/java/org/bahmni/module/hip/web/model/FhirLabResult.java

+15-5
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,6 @@
11
package org.bahmni.module.hip.web.model;
22

3+
import org.bahmni.module.bahmnicore.service.OrderService;
34
import org.bahmni.module.hip.Config;
45
import org.bahmni.module.hip.web.service.FHIRResourceMapper;
56
import org.bahmni.module.hip.web.service.FHIRUtils;
@@ -88,16 +89,25 @@ public static FhirLabResult fromOpenMrsLabResults(OpenMrsLabResults labresult, F
8889
}
8990
}
9091
if(labresult.getLabResults() != null) {
91-
for(Map.Entry<LabOrderResult, Obs> labOrderResultObsMap: labresult.getLabResults().entrySet()){
92-
LabOrderResult labResult = labOrderResultObsMap.getKey();
93-
DiagnosticReport reports = map(labResult.getOrderUuid(),labOrderResultObsMap.getValue(),labResult.getTestName(),patient,practitioners);
94-
FhirLabResult.mapToObsFromLabResult(labResult, patient, reports, results);
92+
Map<String, List<Map.Entry<LabOrderResult, Obs>>> labOrderResultObsOrdersMap =
93+
labresult.getLabResults().entrySet().stream()
94+
.collect(Collectors.groupingBy(entry -> entry.getKey().getOrderUuid()));
95+
96+
for(Map.Entry<String, List<Map.Entry<LabOrderResult, Obs>>> labOrder: labOrderResultObsOrdersMap.entrySet()){
97+
String testName = labOrder.getValue().get(0).getKey().getPanelName();
98+
if (testName == null) {
99+
testName = labOrder.getValue().get(0).getKey().getTestName();
100+
}
101+
DiagnosticReport reports = map(labOrder.getKey(),null,testName,patient,practitioners);
102+
labOrder.getValue().forEach(entry -> {
103+
FhirLabResult.mapToObsFromLabResult(entry.getKey(), patient, reports, results);
104+
});
95105
reportList.add(reports);
96106
}
97107

98108
}
99109
Encounter encounter = fhirResourceMapper.mapToEncounter(labresult.getEncounter());
100-
encounter.getClass_().setDisplay("Diagnostic Report");
110+
encounter.getClass_().setDisplay("ambulatory");
101111

102112
return new FhirLabResult(fhirResourceMapper.mapToPatient(labresult.getPatient()),
103113
encounter, labresult.getEncounter().getEncounterDatetime(), reportList, results, practitioners);

omod/src/main/java/org/bahmni/module/hip/web/model/FhirOPConsult.java

+1-1
Original file line numberDiff line numberDiff line change
@@ -95,7 +95,7 @@ public static FhirOPConsult fromOpenMrsOPConsult(OpenMrsOPConsult openMrsOPConsu
9595
Patient patient = fhirResourceMapper.mapToPatient(openMrsOPConsult.getPatient());
9696
Reference patientReference = FHIRUtils.getReferenceToResource(patient);
9797
Encounter encounter = fhirResourceMapper.mapToEncounter(openMrsOPConsult.getEncounter());
98-
encounter.getClass_().setDisplay("OP Consultation");
98+
encounter.getClass_().setDisplay("ambulatory");
9999
Date visitDatetime = openMrsOPConsult.getEncounter().getVisit().getStartDatetime();
100100
Integer encounterId = openMrsOPConsult.getEncounter().getId();
101101
List<MedicationRequest> medicationRequestsList = openMrsOPConsult.getDrugOrders().stream().

omod/src/main/java/org/bahmni/module/hip/web/model/FhirPrescription.java

+1-1
Original file line numberDiff line numberDiff line change
@@ -51,7 +51,7 @@ public static FhirPrescription from(OpenMrsPrescription openMrsPrescription, FHI
5151
Patient patient = fhirResourceMapper.mapToPatient(openMrsPrescription.getPatient());
5252
Reference patientReference = FHIRUtils.getReferenceToResource(patient);
5353
Encounter encounter = fhirResourceMapper.mapToEncounter(openMrsPrescription.getEncounter());
54-
encounter.getClass_().setDisplay("Prescription");
54+
encounter.getClass_().setDisplay("ambulatory");
5555
List<Practitioner> practitioners = getPractitionersFrom(fhirResourceMapper, openMrsPrescription.getEncounterProviders());
5656
List<MedicationRequest> medicationRequests = medicationRequestsFor(fhirResourceMapper, openMrsPrescription.getDrugOrders());
5757
List<Medication> medications = medicationsFor(fhirResourceMapper, openMrsPrescription.getDrugOrders());

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

+2-2
Original file line numberDiff line numberDiff line change
@@ -35,7 +35,7 @@ public HealthDocumentRecordBundle build(Obs docObs, OrganizationContext organiza
3535
DocumentReference documentReference = documentTransformer.transForm(docObs, DocumentReference.class, AbdmConfig.HiTypeDocumentKind.HEALTH_DOCUMENT_RECORD);
3636
if (documentReference == null) return null;
3737
org.hl7.fhir.r4.model.Encounter docEncounter = fhirResourceMapper.mapToEncounter(docObs.getEncounter());
38-
docEncounter.getClass_().setDisplay("Health Document");
38+
docEncounter.getClass_().setDisplay("ambulatory");
3939
Patient patient = fhirResourceMapper.mapToPatient(docObs.getEncounter().getPatient());
4040
List<Practitioner> practitioners = docObs.getEncounter().getEncounterProviders()
4141
.stream()
@@ -87,7 +87,7 @@ public HealthDocumentRecordBundle build(Encounter encounter, List<Obs> obsDocLis
8787
if (documentRefs.isEmpty()) return null;
8888

8989
org.hl7.fhir.r4.model.Encounter docEncounter = fhirResourceMapper.mapToEncounter(encounter);
90-
docEncounter.getClass_().setDisplay("Health Document");
90+
docEncounter.getClass_().setDisplay("ambulatory");
9191
Patient patient = fhirResourceMapper.mapToPatient(encounter.getPatient());
9292
List<Practitioner> practitioners = encounter.getEncounterProviders()
9393
.stream()

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

+1-1
Original file line numberDiff line numberDiff line change
@@ -100,7 +100,7 @@ private boolean isYesTerm(Concept obsValue) {
100100
private ImmunizationRecordBundle buildImmunizationBundle(Obs obs, Encounter encounter) {
101101
Patient patient = fhirResourceMapper.mapToPatient(encounter.getPatient());
102102
org.hl7.fhir.r4.model.Encounter immunizationEncounter = encounterTranslator.toFhirResource(encounter);
103-
immunizationEncounter.getClass_().setDisplay("Immunization Record");
103+
immunizationEncounter.getClass_().setDisplay("ambulatory");
104104
List<Practitioner> practitioners = practitionersFrom(encounter.getEncounterProviders());
105105
Reference patientRef = FHIRUtils.getReferenceToResource(patient);
106106

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

+1-1
Original file line numberDiff line numberDiff line change
@@ -38,7 +38,7 @@ public WellnessRecordBundle build(Encounter encounter, Map<AbdmConfig.WellnessAt
3838
private WellnessRecordBundle buildWellnessBundle(Encounter encounter, Map<AbdmConfig.WellnessAttribute, List<Obs>> wellnessAttributeObsMap, OrganizationContext orgContext) {
3939
Patient patient = fhirResourceMapper.mapToPatient(encounter.getPatient());
4040
org.hl7.fhir.r4.model.Encounter wellnessEncounter = encounterTranslator.toFhirResource(encounter);
41-
wellnessEncounter.getClass_().setDisplay("Wellness Record");
41+
wellnessEncounter.getClass_().setDisplay("ambulatory");
4242
List<Practitioner> practitioners = practitionersFrom(encounter.getEncounterProviders());
4343
Reference patientRef = FHIRUtils.getReferenceToResource(patient);
4444
List<Observation> observations = new ArrayList<>();

0 commit comments

Comments
 (0)