Skip to content

Commit 77e3310

Browse files
BAH-2152 | Refactor. to use values from Configuration
1 parent 347a42e commit 77e3310

14 files changed

Lines changed: 59 additions & 114 deletions

api/src/main/java/org/bahmni/module/hip/api/dao/Constants.java

Lines changed: 0 additions & 14 deletions
Original file line numberDiff line numberDiff line change
@@ -4,19 +4,5 @@ public class Constants {
44

55
public static final String VISIT_TYPE = "VISIT_TYPE";
66
public static final String PROGRAM = "PROGRAM";
7-
8-
public static final String RADIOLOGY_ORDER = "Radiology Order";
9-
public static final String LAB_ORDER = "Lab Order";
107
public static final String ORDER_ACTION = "DISCONTINUE";
11-
12-
public static final String CONSULTATION = "Consultation";
13-
public static final String CHIEF_COMPLAINT = "Chief Complaint";
14-
public static final String PROCEDURE_NOTES = "Procedure Notes";
15-
public static final String DISCHARGE_SUMMARY = "Discharge Summary";
16-
public static final String RADIOLOGY_TYPE = "RADIOLOGY";
17-
public static final String PATIENT_DOCUMENT_TYPE = "Patient Document";
18-
public static final String DOCUMENT_TYPE = "Document";
19-
public static final String CODED_DIAGNOSIS = "Coded Diagnosis";
20-
public static final String NON_CODED_DIAGNOSIS = "Non-coded Diagnosis";
21-
public static final String LAB_REPORT = "LAB_REPORT";
228
}

api/src/main/java/org/bahmni/module/hip/api/dao/impl/ConsultationDaoImpl.java

Lines changed: 8 additions & 11 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,6 @@
11
package org.bahmni.module.hip.api.dao.impl;
22

3+
import org.bahmni.module.hip.Config;
34
import org.bahmni.module.hip.api.dao.ConsultationDao;
45
import org.bahmni.module.hip.api.dao.EncounterDao;
56
import org.openmrs.Encounter;
@@ -25,18 +26,14 @@
2526
import java.util.Set;
2627
import java.util.stream.Collectors;
2728

28-
import static org.bahmni.module.hip.api.dao.Constants.CHIEF_COMPLAINT;
29-
import static org.bahmni.module.hip.api.dao.Constants.CONSULTATION;
30-
import static org.bahmni.module.hip.api.dao.Constants.LAB_ORDER;
3129
import static org.bahmni.module.hip.api.dao.Constants.ORDER_ACTION;
32-
import static org.bahmni.module.hip.api.dao.Constants.RADIOLOGY_ORDER;
3330

3431
@Repository
3532
public class ConsultationDaoImpl implements ConsultationDao {
3633

3734
public static final ArrayList<String> ORDER_TYPES = new ArrayList<String>() {{
38-
add(LAB_ORDER);
39-
add(RADIOLOGY_ORDER);
35+
add(Config.LAB_ORDER.getValue());
36+
add(Config.RADIOLOGY_ORDER.getValue());
4037
}};
4138
private final ProgramWorkflowService programWorkflowService;
4239
private final EpisodeService episodeService;
@@ -55,7 +52,7 @@ public ConsultationDaoImpl(ObsService obsService, OrderService orderService, Pro
5552

5653
@Override
5754
public List<Obs> getChiefComplaints(Visit visit) {
58-
List<Obs> chiefComplaintObsMap = encounterDao.GetAllObsForVisit(visit,CONSULTATION,CHIEF_COMPLAINT)
55+
List<Obs> chiefComplaintObsMap = encounterDao.GetAllObsForVisit(visit,Config.CONSULTATION.getValue(),Config.CHIEF_COMPLAINT.getValue())
5956
.stream().filter(o -> o.getValueCoded() != null && o.getConcept().getName().getLocalePreferred())
6057
.collect(Collectors.toList());
6158
return chiefComplaintObsMap;
@@ -66,8 +63,8 @@ public List<Obs> getChiefComplaintForProgram(String programName, Date fromDate,
6663
List<Obs> obs = getAllObs(programName, fromDate, toDate, patient);
6764
List<Obs> obsSet = new ArrayList<>();
6865
for (Obs o : obs) {
69-
if (Objects.equals(o.getEncounter().getEncounterType().getName(), CONSULTATION)
70-
&& Objects.equals(o.getConcept().getName().getName(), CHIEF_COMPLAINT)
66+
if (Objects.equals(o.getEncounter().getEncounterType().getName(), Config.CONSULTATION.getValue())
67+
&& Objects.equals(o.getConcept().getName().getName(), Config.CHIEF_COMPLAINT.getValue())
7168
&& o.getValueCoded() != null
7269
&& o.getConcept().getName().getLocalePreferred()) {
7370
obsSet.add(o);
@@ -94,7 +91,7 @@ public List<Obs> getAllObs(String programName, Date fromDate, Date toDate, Patie
9491
public List<Obs> getPhysicalExamination(Visit visit) {
9592
final String[] formNames = new String[]{"Discharge Summary", "Death Note", "Delivery Note", "Opioid Substitution Therapy - Intake", "Opportunistic Infection",
9693
"Safe Abortion", "ECG Notes", "Operative Notes", "USG Notes", "Procedure Notes", "Triage Reference", "History and Examination", "Visit Diagnoses"};
97-
List<Obs> physicalExaminationObsMap = encounterDao.GetAllObsForVisit(visit,CONSULTATION,null)
94+
List<Obs> physicalExaminationObsMap = encounterDao.GetAllObsForVisit(visit,Config.CONSULTATION.getValue(),null)
9895
.stream().filter(o -> o.getValueCoded() == null && o.getObsGroup() == null
9996
&& !Arrays.asList(formNames).contains(o.getConcept().getName().getName()) )
10097
.collect(Collectors.toList());
@@ -135,7 +132,7 @@ public List<Obs> getPhysicalExaminationForProgram(String programName, Date fromD
135132
List<Obs> physicalExaminationObsMap = new ArrayList<>();
136133
List<Obs> obs = getAllObs(programName, fromDate, toDate, patient);
137134
for (Obs o : obs) {
138-
if (Objects.equals(o.getEncounter().getEncounterType().getName(), CONSULTATION)
135+
if (Objects.equals(o.getEncounter().getEncounterType().getName(), Config.CONSULTATION.getValue())
139136
&& o.getValueCoded() == null
140137
&& o.getConcept().getName().getLocalePreferred()
141138
&& o.getObsGroup() == null

api/src/main/java/org/bahmni/module/hip/api/dao/impl/DiagnosticReportDaoImpl.java

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,6 @@
11
package org.bahmni.module.hip.api.dao.impl;
22

3+
import org.bahmni.module.hip.Config;
34
import org.bahmni.module.hip.api.dao.DiagnosticReportDao;
45
import org.hibernate.Query;
56
import org.hibernate.SessionFactory;
@@ -23,7 +24,6 @@
2324
import java.util.Map;
2425
import java.util.stream.Collectors;
2526

26-
import static org.bahmni.module.hip.api.dao.Constants.LAB_REPORT;
2727

2828

2929
@Repository
@@ -53,7 +53,7 @@ public DiagnosticReportDaoImpl(PersonService personService, ObsService obsServic
5353

5454
private List<Obs> getAllObsForDiagnosticReports(String patientUUID, Boolean linkedWithOrder) {
5555
Person person = personService.getPersonByUuid(patientUUID);
56-
Concept concept = conceptService.getConcept(LAB_REPORT);
56+
Concept concept = conceptService.getConcept(Config.LAB_REPORT.getValue());
5757
List<Obs> obs = obsService.getObservationsByPersonAndConcept(person,concept);
5858
if(linkedWithOrder)
5959
return obs.stream().filter(o -> o.getOrder() != null).collect(Collectors.toList());

api/src/main/java/org/bahmni/module/hip/api/dao/impl/DischargeSummaryDaoImpl.java

Lines changed: 6 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,6 @@
11
package org.bahmni.module.hip.api.dao.impl;
22

3+
import org.bahmni.module.hip.Config;
34
import org.bahmni.module.hip.api.dao.DischargeSummaryDao;
45
import org.bahmni.module.hip.api.dao.EncounterDao;
56
import org.openmrs.Encounter;
@@ -22,9 +23,6 @@
2223
import java.util.Set;
2324
import java.util.stream.Collectors;
2425

25-
import static org.bahmni.module.hip.api.dao.Constants.CONSULTATION;
26-
import static org.bahmni.module.hip.api.dao.Constants.DISCHARGE_SUMMARY;
27-
import static org.bahmni.module.hip.api.dao.Constants.PROCEDURE_NOTES;
2826

2927
@Repository
3028
public class DischargeSummaryDaoImpl implements DischargeSummaryDao {
@@ -44,7 +42,7 @@ public DischargeSummaryDaoImpl(ObsService obsService, ProgramWorkflowService pro
4442

4543
@Override
4644
public List<Obs> getCarePlan(Visit visit) {
47-
List<Obs> carePlanObs = encounterDao.GetAllObsForVisit(visit, CONSULTATION, DISCHARGE_SUMMARY).stream()
45+
List<Obs> carePlanObs = encounterDao.GetAllObsForVisit(visit, Config.CONSULTATION.getValue(), Config.DISCHARGE_SUMMARY.getValue()).stream()
4846
.filter(obs -> obs.getConcept().getName().getLocalePreferred())
4947
.collect(Collectors.toList());
5048

@@ -61,7 +59,7 @@ public List<Obs> getCarePlanForProgram(String programName, Date fromDate, Date t
6159
Set<Encounter> encounterSet = episode.getEncounters();
6260
for (Encounter encounter : encounterSet) {
6361
for (Obs o : encounter.getAllObs()) {
64-
if (DISCHARGE_SUMMARY.equals(o.getConcept().getName().getName())
62+
if (Config.DISCHARGE_SUMMARY.getValue().equals(o.getConcept().getName().getName())
6563
&& o.getConcept().getName().getLocalePreferred()) {
6664
carePlanObs.add(o);
6765
}
@@ -73,7 +71,7 @@ public List<Obs> getCarePlanForProgram(String programName, Date fromDate, Date t
7371

7472
@Override
7573
public List<Obs> getProcedures(Visit visit) {
76-
List<Obs> proceduresObsMap = encounterDao.GetAllObsForVisit(visit,CONSULTATION, PROCEDURE_NOTES).stream()
74+
List<Obs> proceduresObsMap = encounterDao.GetAllObsForVisit(visit,Config.CONSULTATION.getValue(), Config.PROCEDURE_NOTES.getValue()).stream()
7775
.filter(obs -> obs.getObsGroup() == null)
7876
.collect(Collectors.toList());
7977
return proceduresObsMap;
@@ -89,9 +87,9 @@ public List<Obs> getProceduresForProgram(String programName, Date fromDate, Date
8987
Set<Encounter> encounterSet = episode.getEncounters();
9088
for (Encounter encounter : encounterSet) {
9189
for (Obs o : encounter.getAllObs()) {
92-
if (Objects.equals(o.getEncounter().getEncounterType().getName(), CONSULTATION)
90+
if (Objects.equals(o.getEncounter().getEncounterType().getName(), Config.CONSULTATION.getValue())
9391
&& o.getObsGroup() == null
94-
&& Objects.equals(o.getConcept().getName().getName(), PROCEDURE_NOTES)
92+
&& Objects.equals(o.getConcept().getName().getName(), Config.PROCEDURE_NOTES.getValue())
9593
) {
9694
proceduresObsSet.add(o);
9795
}

api/src/main/java/org/bahmni/module/hip/api/dao/impl/EncounterDaoImpl.java

Lines changed: 4 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,6 @@
11
package org.bahmni.module.hip.api.dao.impl;
22

3+
import org.bahmni.module.hip.Config;
34
import org.bahmni.module.hip.api.dao.EncounterDao;
45
import org.hibernate.Query;
56
import org.hibernate.SessionFactory;
@@ -16,9 +17,6 @@
1617
import java.util.Objects;
1718
import java.util.stream.Collectors;
1819

19-
import static org.bahmni.module.hip.api.dao.Constants.DOCUMENT_TYPE;
20-
import static org.bahmni.module.hip.api.dao.Constants.PATIENT_DOCUMENT_TYPE;
21-
import static org.bahmni.module.hip.api.dao.Constants.RADIOLOGY_TYPE;
2220

2321

2422
@Repository
@@ -106,8 +104,8 @@ public EncounterDaoImpl(SessionFactory sessionFactory) {
106104
" inner join encounter_type as et on et.encounter_type_id = e.encounter_type\n" +
107105
" where\n" +
108106
" (\n" +
109-
" et.name = '" + RADIOLOGY_TYPE + "'\n" +
110-
" or et.name = '" + PATIENT_DOCUMENT_TYPE + "'\n" +
107+
" et.name = '" + Config.RADIOLOGY_TYPE.getValue() + "'\n" +
108+
" or et.name = '" + Config.PATIENT_DOCUMENT.getValue() + "'\n" +
111109
" )\n" +
112110
" and visit_id in (\n" +
113111
" SELECT\n" +
@@ -120,7 +118,7 @@ public EncounterDaoImpl(SessionFactory sessionFactory) {
120118
" ) as t\n" +
121119
" INNER JOIN concept_name AS cn ON cn.concept_id = t.obs_concept_id\n" +
122120
" WHERE\n" +
123-
" name = '" + DOCUMENT_TYPE + "'\n" +
121+
" name = '" + Config.DOCUMENT_TYPE.getValue() + "'\n" +
124122
" and obs_void_reason is null\n" +
125123
" and person_uuid = :patientUUID\n" +
126124
" and pro_name = :programName\n" +

api/src/main/java/org/bahmni/module/hip/api/dao/impl/ExistingPatientDaoImpl.java

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,6 @@
11
package org.bahmni.module.hip.api.dao.impl;
22

3+
import org.bahmni.module.hip.Config;
34
import org.bahmni.module.hip.api.dao.ExistingPatientDao;
45
import org.hibernate.Criteria;
56
import org.hibernate.Query;
@@ -15,7 +16,6 @@
1516
public class ExistingPatientDaoImpl implements ExistingPatientDao {
1617

1718
private final SessionFactory sessionFactory;
18-
public static final String ABHA_ADDRESS = "ABHA Address";
1919

2020
@Autowired
2121
public ExistingPatientDaoImpl(SessionFactory sessionFactory) {
@@ -67,7 +67,7 @@ public String getPatientHealthIdWithPatientId(Integer patientId) {
6767
"\tand piy.name = :healthId ;";
6868
Query query = this.sessionFactory.openSession().createSQLQuery(getPatientHealthId);
6969
query.setParameter("patientId", patientId);
70-
query.setParameter("healthId", ABHA_ADDRESS);
70+
query.setParameter("healthId", Config.ABHA_ADDRESS.getValue());
7171
List<String> healthIds = query.list();
7272
return healthIds.size() > 0 ? healthIds.get(0) : null;
7373
}

api/src/main/java/org/bahmni/module/hip/api/dao/impl/OPConsultDaoImpl.java

Lines changed: 9 additions & 12 deletions
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,5 @@
11
package org.bahmni.module.hip.api.dao.impl;
2+
import org.bahmni.module.hip.Config;
23
import org.bahmni.module.hip.api.dao.EncounterDao;
34
import org.bahmni.module.hip.api.dao.OPConsultDao;
45
import org.openmrs.Concept;
@@ -30,10 +31,6 @@
3031
import java.util.Set;
3132
import java.util.stream.Collectors;
3233

33-
import static org.bahmni.module.hip.api.dao.Constants.CODED_DIAGNOSIS;
34-
import static org.bahmni.module.hip.api.dao.Constants.CONSULTATION;
35-
import static org.bahmni.module.hip.api.dao.Constants.NON_CODED_DIAGNOSIS;
36-
import static org.bahmni.module.hip.api.dao.Constants.PROCEDURE_NOTES;
3734

3835
@Repository
3936
public class OPConsultDaoImpl implements OPConsultDao {
@@ -61,7 +58,7 @@ public OPConsultDaoImpl(ObsService obsService, ConditionService conditionService
6158
public Map<Encounter, List<Condition>> getMedicalHistoryConditions(Visit visit) {
6259
final String conditionStatusHistoryOf = "HISTORY_OF";
6360
final String conditionStatusActive = "ACTIVE";
64-
List<Encounter> encounters = encounterDao.GetEncountersForVisit(visit, CONSULTATION);
61+
List<Encounter> encounters = encounterDao.GetEncountersForVisit(visit, Config.CONSULTATION.getValue());
6562
if(encounters.size() == 0)
6663
return new HashMap<>();
6764
List<org.openmrs.Condition> conditions = conditionService.getActiveConditions(visit.getPatient())
@@ -105,14 +102,14 @@ public Map<Encounter, List<Condition>> getMedicalHistoryConditions(Visit visit)
105102

106103
@Override
107104
public List<Obs> getMedicalHistoryDiagnosis(Visit visit) {
108-
List<Obs> medicalHistoryDiagnosisObsMap = encounterDao.GetAllObsForVisit(visit, CONSULTATION, CODED_DIAGNOSIS);
109-
medicalHistoryDiagnosisObsMap.addAll(encounterDao.GetAllObsForVisit(visit, CONSULTATION, NON_CODED_DIAGNOSIS));
105+
List<Obs> medicalHistoryDiagnosisObsMap = encounterDao.GetAllObsForVisit(visit, Config.CONSULTATION.getValue(), Config.CODED_DIAGNOSIS.getValue());
106+
medicalHistoryDiagnosisObsMap.addAll(encounterDao.GetAllObsForVisit(visit, Config.CONSULTATION.getValue(), Config.NON_CODED_DIAGNOSIS.getValue()));
110107
return medicalHistoryDiagnosisObsMap;
111108
}
112109

113110
@Override
114111
public List<Obs> getProcedures(Visit visit) {
115-
List<Obs> proceduresObsMap = encounterDao.GetAllObsForVisit(visit, CONSULTATION, PROCEDURE_NOTES).stream()
112+
List<Obs> proceduresObsMap = encounterDao.GetAllObsForVisit(visit, Config.CONSULTATION.getValue(), Config.PROCEDURE_NOTES.getValue()).stream()
116113
.filter(o -> !o.getVoided())
117114
.collect(Collectors.toList());
118115

@@ -129,9 +126,9 @@ public List<Obs> getProceduresForProgram(String programName, Date fromDate, Date
129126
Set<Encounter> encounterSet = episode.getEncounters();
130127
for (Encounter encounter : encounterSet) {
131128
for (Obs o : encounter.getAllObs()) {
132-
if (Objects.equals(o.getEncounter().getEncounterType().getName(), CONSULTATION)
129+
if (Objects.equals(o.getEncounter().getEncounterType().getName(), Config.CONSULTATION.getValue())
133130
&& !o.getVoided()
134-
&& Objects.equals(o.getConcept().getName().getName(), PROCEDURE_NOTES)
131+
&& Objects.equals(o.getConcept().getName().getName(), Config.PROCEDURE_NOTES.getValue())
135132
) {
136133
proceduresObsSet.add(o);
137134
}
@@ -202,8 +199,8 @@ public List<Obs> getMedicalHistoryDiagnosisForProgram(String programName, Date f
202199
Set<Encounter> encounterSet = episode.getEncounters();
203200
for (Encounter encounter: encounterSet) {
204201
for(Obs o : encounter.getAllObs()){
205-
if(Objects.equals(o.getEncounter().getEncounterType().getName(), CONSULTATION)
206-
&& Objects.equals(o.getConcept().getName().getName(), CODED_DIAGNOSIS)
202+
if(Objects.equals(o.getEncounter().getEncounterType().getName(), Config.CONSULTATION.getValue())
203+
&& Objects.equals(o.getConcept().getName().getName(), Config.CODED_DIAGNOSIS.getValue())
207204
&& o.getValueCoded() != null
208205
&& o.getConcept().getName().getLocalePreferred())
209206
{

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

Lines changed: 2 additions & 2 deletions
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.hip.Config;
34
import org.bahmni.module.hip.web.service.FHIRResourceMapper;
45
import org.bahmni.module.hip.web.service.FHIRUtils;
56
import org.hl7.fhir.r4.model.Bundle;
@@ -19,7 +20,6 @@
1920
import java.util.Set;
2021
import java.util.stream.Collectors;
2122

22-
import static org.bahmni.module.hip.web.service.Constants.DOCUMENT_TYPE;
2323

2424
public class FhirDiagnosticReport {
2525
private final List<DiagnosticReport> diagnosticReports;
@@ -73,7 +73,7 @@ public static FhirDiagnosticReport fromOpenMrsDiagnosticReport(OpenMrsDiagnostic
7373
Integer encounterId = openMrsDiagnosticReport.getEncounter().getId();
7474
List<Practitioner> practitioners = getPractitionersFrom(fhirResourceMapper, openMrsDiagnosticReport.getEncounterProviders());
7575
List<Obs> observationNotDocumentType = openMrsDiagnosticReport.getEncounter().getAllObs().stream()
76-
.filter(obs -> (!obs.getConcept().getName().getName().equals(DOCUMENT_TYPE))).collect(Collectors.toList());
76+
.filter(obs -> (!obs.getConcept().getName().getName().equals(Config.DOCUMENT_TYPE.getValue()))).collect(Collectors.toList());
7777
List<Observation> observations = observationNotDocumentType.stream()
7878
.map(fhirResourceMapper::mapToObs).collect(Collectors.toList());
7979
List<DiagnosticReport> diagnosticReports = observationNotDocumentType.stream()

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

Lines changed: 2 additions & 2 deletions
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.hip.Config;
34
import org.bahmni.module.hip.web.service.FHIRResourceMapper;
45
import org.bahmni.module.hip.web.service.FHIRUtils;
56
import org.hl7.fhir.r4.model.Attachment;
@@ -28,7 +29,6 @@
2829
import java.util.UUID;
2930
import java.util.stream.Collectors;
3031

31-
import static org.bahmni.module.hip.web.service.Constants.PATIENT_DOCUMENTS_PATH;
3232

3333
public class FhirLabResult {
3434

@@ -160,7 +160,7 @@ private static List<Attachment> getAttachments(Obs obs,String testNmae) throws I
160160

161161
Attachment attachment = new Attachment();
162162
attachment.setContentType(FHIRUtils.getTypeOfTheObsDocument(obs.getValueText()));
163-
byte[] fileContent = Files.readAllBytes(new File(PATIENT_DOCUMENTS_PATH + obs.getValueText()).toPath());
163+
byte[] fileContent = Files.readAllBytes(new File(Config.PATIENT_DOCUMENTS_PATH.getValue() + obs.getValueText()).toPath());
164164
attachment.setData(fileContent);
165165
attachment.setTitle("LAB REPORT : " + testNmae);
166166
attachments.add(attachment);

0 commit comments

Comments
 (0)