@@ -24,6 +24,7 @@ public class OpenMrsOPConsult {
24
24
private final List <DrugOrder > drugOrders ;
25
25
private final List <Obs > procedure ;
26
26
private final List <Obs > patientDocuments ;
27
+ private final List <Obs > otherObs ;
27
28
private final List <Order > orders ;
28
29
29
30
public OpenMrsOPConsult (Encounter encounter ,
@@ -35,6 +36,7 @@ public OpenMrsOPConsult(Encounter encounter,
35
36
List <DrugOrder > drugOrders ,
36
37
List <Obs > procedure ,
37
38
List <Obs > patientDocuments ,
39
+ List <Obs > otherObs ,
38
40
List <Order > orders ) {
39
41
this .encounter = encounter ;
40
42
this .chiefComplaintConditions = chiefComplaintConditions ;
@@ -45,6 +47,7 @@ public OpenMrsOPConsult(Encounter encounter,
45
47
this .drugOrders = drugOrders ;
46
48
this .procedure = procedure ;
47
49
this .patientDocuments = patientDocuments ;
50
+ this .otherObs = otherObs ;
48
51
this .orders = orders ;
49
52
}
50
53
@@ -55,6 +58,7 @@ public static List<OpenMrsOPConsult> getOpenMrsOPConsultList(Map<Encounter, List
55
58
Map <Encounter , List <Obs >> encounterProcedureMap ,
56
59
Map <Encounter , List <Obs >> encounterPatientDocumentsMap ,
57
60
Map <Encounter , List <Order >> encounterOrdersMap ,
61
+ Map <Encounter , List <Obs >> encounteOtherObsMap ,
58
62
Patient patient ) {
59
63
List <OpenMrsOPConsult > openMrsOPConsultList = new ArrayList <>();
60
64
@@ -75,7 +79,13 @@ public static List<OpenMrsOPConsult> getOpenMrsOPConsultList(Map<Encounter, List
75
79
76
80
List <Obs > procedure = getEncounterObsProcedure (encounterProcedureMap , entry .getKey ());
77
81
78
- openMrsOPConsultList .add (new OpenMrsOPConsult (entry .getKey (), chiefComplaintList , medicalHistoryList , physicalExaminationList , patient , entry .getKey ().getEncounterProviders (), drugOrdersList , procedure , patientDocumentsList , new ArrayList <>()));
82
+ List <Obs > otherObsList = getEncounterObs (encounteOtherObsMap , entry .getKey ());
83
+ otherObsList = otherObsList == null ? new ArrayList <>() : otherObsList ;
84
+
85
+ List <Order > orderList = getEncounterOrder (encounterOrdersMap , entry .getKey ());
86
+ orderList = orderList == null ? new ArrayList <>() : orderList ;
87
+
88
+ openMrsOPConsultList .add (new OpenMrsOPConsult (entry .getKey (), chiefComplaintList , medicalHistoryList , physicalExaminationList , patient , entry .getKey ().getEncounterProviders (), drugOrdersList , procedure , patientDocumentsList , otherObsList , orderList ));
79
89
}
80
90
81
91
for (Map .Entry <Encounter , List <OpenMrsCondition >> entry : encounterChiefComplaintsMap .entrySet ()) {
@@ -92,7 +102,13 @@ public static List<OpenMrsOPConsult> getOpenMrsOPConsultList(Map<Encounter, List
92
102
93
103
List <Obs > procedure = getEncounterObsProcedure (encounterProcedureMap , entry .getKey ());
94
104
95
- openMrsOPConsultList .add (new OpenMrsOPConsult (entry .getKey (), chiefComplaintList , medicalHistoryList , physicalExaminationList , patient , entry .getKey ().getEncounterProviders (), new ArrayList <>(), procedure , patientDocumentsList , new ArrayList <>()));
105
+ List <Obs > otherObsList = getEncounterObs (encounteOtherObsMap , entry .getKey ());
106
+ otherObsList = otherObsList == null ? new ArrayList <>() : otherObsList ;
107
+
108
+ List <Order > orderList = getEncounterOrder (encounterOrdersMap , entry .getKey ());
109
+ orderList = orderList == null ? new ArrayList <>() : orderList ;
110
+
111
+ openMrsOPConsultList .add (new OpenMrsOPConsult (entry .getKey (), chiefComplaintList , medicalHistoryList , physicalExaminationList , patient , entry .getKey ().getEncounterProviders (), new ArrayList <>(), procedure , patientDocumentsList , otherObsList , orderList ));
96
112
}
97
113
98
114
for (Map .Entry <Encounter , List <OpenMrsCondition >> entry : encounterMedicalHistoryMap .entrySet ()) {
@@ -105,7 +121,14 @@ public static List<OpenMrsOPConsult> getOpenMrsOPConsultList(Map<Encounter, List
105
121
physicalExaminationList = physicalExaminationList == null ? new ArrayList <>() : physicalExaminationList ;
106
122
107
123
List <Obs > procedure = getEncounterObsProcedure (encounterProcedureMap , entry .getKey ());
108
- openMrsOPConsultList .add (new OpenMrsOPConsult (entry .getKey (), new ArrayList <>(), medicalHistoryList , physicalExaminationList , patient , entry .getKey ().getEncounterProviders (), new ArrayList <>(), procedure , patientDocumentsList , new ArrayList <>()));
124
+
125
+ List <Obs > otherObsList = getEncounterObs (encounteOtherObsMap , entry .getKey ());
126
+ otherObsList = otherObsList == null ? new ArrayList <>() : otherObsList ;
127
+
128
+ List <Order > orderList = getEncounterOrder (encounterOrdersMap , entry .getKey ());
129
+ orderList = orderList == null ? new ArrayList <>() : orderList ;
130
+
131
+ openMrsOPConsultList .add (new OpenMrsOPConsult (entry .getKey (), new ArrayList <>(), medicalHistoryList , physicalExaminationList , patient , entry .getKey ().getEncounterProviders (), new ArrayList <>(), procedure , patientDocumentsList , otherObsList , orderList ));
109
132
}
110
133
111
134
for (Map .Entry <Encounter , List <Obs >> entry : encounterPhysicalExaminationMap .entrySet ()) {
@@ -116,22 +139,47 @@ public static List<OpenMrsOPConsult> getOpenMrsOPConsultList(Map<Encounter, List
116
139
117
140
List <Obs > procedure = getEncounterObsProcedure (encounterProcedureMap , entry .getKey ());
118
141
119
- openMrsOPConsultList .add (new OpenMrsOPConsult (entry .getKey (), new ArrayList <>(), new ArrayList <>(), physicalExaminationList , patient , entry .getKey ().getEncounterProviders (), new ArrayList <>(), procedure , patientDocumentsList , new ArrayList <>()));
142
+ List <Obs > otherObsList = getEncounterObs (encounteOtherObsMap , entry .getKey ());
143
+ otherObsList = otherObsList == null ? new ArrayList <>() : otherObsList ;
144
+
145
+ List <Order > orderList = getEncounterOrder (encounterOrdersMap , entry .getKey ());
146
+ orderList = orderList == null ? new ArrayList <>() : orderList ;
147
+
148
+ openMrsOPConsultList .add (new OpenMrsOPConsult (entry .getKey (), new ArrayList <>(), new ArrayList <>(), physicalExaminationList , patient , entry .getKey ().getEncounterProviders (), new ArrayList <>(), procedure , patientDocumentsList , otherObsList , orderList ));
120
149
}
121
150
122
151
for (Map .Entry <Encounter , List <Obs >> entry : encounterProcedureMap .entrySet ()) {
123
152
List <Obs > patientDocumentsList = getEncounterObs (encounterPatientDocumentsMap , entry .getKey ());
124
153
patientDocumentsList = patientDocumentsList == null ? new ArrayList <>() : patientDocumentsList ;
125
154
126
- openMrsOPConsultList .add (new OpenMrsOPConsult (entry .getKey (), new ArrayList <>(), new ArrayList <>(), new ArrayList <>(), patient , entry .getKey ().getEncounterProviders (), new ArrayList <>(), entry .getValue (), patientDocumentsList , new ArrayList <>()));
155
+ List <Obs > otherObsList = getEncounterObs (encounteOtherObsMap , entry .getKey ());
156
+ otherObsList = otherObsList == null ? new ArrayList <>() : otherObsList ;
157
+
158
+ List <Order > orderList = getEncounterOrder (encounterOrdersMap , entry .getKey ());
159
+ orderList = orderList == null ? new ArrayList <>() : orderList ;
160
+
161
+ openMrsOPConsultList .add (new OpenMrsOPConsult (entry .getKey (), new ArrayList <>(), new ArrayList <>(), new ArrayList <>(), patient , entry .getKey ().getEncounterProviders (), new ArrayList <>(), entry .getValue (), patientDocumentsList , otherObsList , orderList ));
127
162
}
128
163
129
164
for (Map .Entry <Encounter , List <Obs >> entry : encounterPatientDocumentsMap .entrySet ()) {
130
- openMrsOPConsultList .add (new OpenMrsOPConsult (entry .getKey (), new ArrayList <>(), new ArrayList <>(), new ArrayList <>(), patient , entry .getKey ().getEncounterProviders (), new ArrayList <>(), new ArrayList <>(), encounterPatientDocumentsMap .get (entry .getKey ()), new ArrayList <>()));
165
+ List <Obs > otherObsList = getEncounterObs (encounteOtherObsMap , entry .getKey ());
166
+ otherObsList = otherObsList == null ? new ArrayList <>() : otherObsList ;
167
+
168
+ List <Order > orderList = getEncounterOrder (encounterOrdersMap , entry .getKey ());
169
+ orderList = orderList == null ? new ArrayList <>() : orderList ;
170
+
171
+ openMrsOPConsultList .add (new OpenMrsOPConsult (entry .getKey (), new ArrayList <>(), new ArrayList <>(), new ArrayList <>(), patient , entry .getKey ().getEncounterProviders (), new ArrayList <>(), new ArrayList <>(), encounterPatientDocumentsMap .get (entry .getKey ()), otherObsList , orderList ));
172
+ }
173
+
174
+ for (Map .Entry <Encounter , List <Obs >> entry : encounteOtherObsMap .entrySet ()) {
175
+ List <Order > orderList = getEncounterOrder (encounterOrdersMap , entry .getKey ());
176
+ orderList = orderList == null ? new ArrayList <>() : orderList ;
177
+
178
+ openMrsOPConsultList .add (new OpenMrsOPConsult (entry .getKey (), new ArrayList <>(), new ArrayList <>(), new ArrayList <>(), patient , entry .getKey ().getEncounterProviders (), new ArrayList <>(), new ArrayList <>(), new ArrayList <>(), encounteOtherObsMap .get (entry .getKey ()) , orderList ));
131
179
}
132
180
133
181
for (Map .Entry <Encounter , List <Order >> entry : encounterOrdersMap .entrySet ()){
134
- openMrsOPConsultList .add (new OpenMrsOPConsult (entry .getKey (), new ArrayList <>(), new ArrayList <>(), new ArrayList <>(), patient , entry .getKey ().getEncounterProviders (), new ArrayList <>(), new ArrayList <>(), new ArrayList <>(), encounterOrdersMap .get (entry .getKey ())));
182
+ openMrsOPConsultList .add (new OpenMrsOPConsult (entry .getKey (), new ArrayList <>(), new ArrayList <>(), new ArrayList <>(), patient , entry .getKey ().getEncounterProviders (), new ArrayList <>(), new ArrayList <>(), new ArrayList <>(),new ArrayList <>(), encounterOrdersMap .get (entry .getKey ())));
135
183
}
136
184
137
185
return openMrsOPConsultList ;
@@ -146,6 +194,15 @@ public static List<Obs> getEncounterObs(Map<Encounter, List<Obs>> map, Encounter
146
194
return null ;
147
195
}
148
196
197
+ public static List <Order > getEncounterOrder (Map <Encounter , List <Order >> map , Encounter encounter ) {
198
+ if (map .containsKey (encounter )) {
199
+ List <Order > obsList = map .get (encounter );
200
+ map .remove (encounter );
201
+ return obsList ;
202
+ }
203
+ return null ;
204
+ }
205
+
149
206
public static List <OpenMrsCondition > getEncounterConditions (Map <Encounter , List <OpenMrsCondition >> map , Encounter encounter ) {
150
207
if (map .containsKey (encounter )) {
151
208
List <OpenMrsCondition > conditionList = map .get (encounter );
0 commit comments