Skip to content

Commit 8d837eb

Browse files
committedJan 3, 2025
Save visit note
1 parent e1d02dc commit 8d837eb

File tree

4 files changed

+92
-2
lines changed

4 files changed

+92
-2
lines changed
 

‎src/test/java/org/openmrs/performance/Constants.java

+5
Original file line numberDiff line numberDiff line change
@@ -12,6 +12,9 @@ public class Constants {
1212

1313
public static final String CARE_SETTING_UUID = "6f0c9a92-6f24-11e3-af88-005056821db0";
1414
public static final String DRUG_ORDER = "131168f4-15f5-102d-96e4-000c29c2a5d7";
15+
16+
public static final String VISIT_NOTE_FORM_UUID = "c75f120a-04ec-11e3-8780-2b40bef9a44b";
17+
public static final String CLINICIAN_ENCOUNTER_ROLE = "240b26f9-dd88-4172-823d-4a8bfeb7841f";
1518

1619
// Observation Types
1720
public static final String SYSTOLIC_BLOOD_PRESSURE = "5085AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA";
@@ -32,6 +35,8 @@ public class Constants {
3235
public static final String ONCE_DAILY = "136ebdb7-e989-47cf-8ec2-4e8b2ffe0ab3";
3336
public static final String DAYS = "1072AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA";
3437
public static final String ORDER = "39da3525-afe4-45ff-8977-c53b7b359158";
38+
public static final String VISIT_NOTE_ENCOUNTER_TYPE_UUID = "d7151f82-c1f3-4152-a605-2f9ea7414a79";
39+
public static final String VISIT_NOTE_CONCEPT_UUID = "162169AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA";
3540

3641
public static final String DEFAULT_DOSING_TYPE = "org.openmrs.SimpleDosingInstructions";
3742

‎src/test/java/org/openmrs/performance/http/DoctorHttpService.java

+69
Original file line numberDiff line numberDiff line change
@@ -1,18 +1,23 @@
11
package org.openmrs.performance.http;
22

33
import com.google.gson.Gson;
4+
import com.google.gson.GsonBuilder;
45
import io.gatling.javaapi.http.HttpRequestActionBuilder;
56

67
import java.time.ZonedDateTime;
78
import java.time.format.DateTimeFormatter;
9+
import java.util.ArrayList;
810
import java.util.HashMap;
11+
import java.util.List;
912
import java.util.Map;
1013

1114
import static io.gatling.javaapi.core.CoreDsl.StringBody;
1215
import static io.gatling.javaapi.core.CoreDsl.bodyString;
16+
import static io.gatling.javaapi.core.CoreDsl.exec;
1317
import static io.gatling.javaapi.core.CoreDsl.jsonPath;
1418
import static io.gatling.javaapi.http.HttpDsl.http;
1519
import static org.openmrs.performance.Constants.CARE_SETTING_UUID;
20+
import static org.openmrs.performance.Constants.CLINICIAN_ENCOUNTER_ROLE;
1621
import static org.openmrs.performance.Constants.DAYS;
1722
import static org.openmrs.performance.Constants.DEFAULT_DOSING_TYPE;
1823
import static org.openmrs.performance.Constants.DRUG_ORDER;
@@ -21,6 +26,9 @@
2126
import static org.openmrs.performance.Constants.ORDER;
2227
import static org.openmrs.performance.Constants.OUTPATIENT_CLINIC_LOCATION_UUID;
2328
import static org.openmrs.performance.Constants.TABLET;
29+
import static org.openmrs.performance.Constants.VISIT_NOTE_CONCEPT_UUID;
30+
import static org.openmrs.performance.Constants.VISIT_NOTE_ENCOUNTER_TYPE_UUID;
31+
import static org.openmrs.performance.Constants.VISIT_NOTE_FORM_UUID;
2432

2533
public class DoctorHttpService extends HttpService {
2634

@@ -232,4 +240,65 @@ public HttpRequestActionBuilder saveOrder(String patientUuid, String visitUuid,
232240
.post("/openmrs/ws/rest/v1/encounter")
233241
.body(StringBody(body));
234242
}
243+
244+
public HttpRequestActionBuilder saveVisitNote(String patientUuid, String currentUser, String value) {
245+
Map<String, Object> visitNote = new HashMap<>();
246+
visitNote.put("form", VISIT_NOTE_FORM_UUID);
247+
visitNote.put("patient", patientUuid);
248+
visitNote.put("location", OUTPATIENT_CLINIC_LOCATION_UUID);
249+
visitNote.put("encounterType", VISIT_NOTE_ENCOUNTER_TYPE_UUID);
250+
251+
Map<String, Object> encounterProvider = new HashMap<>();
252+
encounterProvider.put("encounterRole", CLINICIAN_ENCOUNTER_ROLE);
253+
encounterProvider.put("provider", currentUser);
254+
255+
visitNote.put("encounterProviders", List.of(encounterProvider));
256+
257+
Map<String, Object> concept = new HashMap<>();
258+
concept.put("uuid", VISIT_NOTE_CONCEPT_UUID);
259+
260+
261+
Map<String, Object> obs = new HashMap<>();
262+
obs.put("concept", concept);
263+
obs.put("value", value);
264+
visitNote.put("obs", List.of(obs));
265+
266+
Gson gson = new Gson();
267+
String body = gson.toJson(visitNote);
268+
269+
exec(session -> {
270+
System.out.println(body);
271+
return session;
272+
});
273+
274+
return http("Save Visit Note").post("/openmrs/ws/rest/v1/encounter").body(StringBody(body))
275+
.check(jsonPath("$.uuid").saveAs("encounter_uuid"));
276+
}
277+
278+
public HttpRequestActionBuilder saveDiagnosis(String patientUuid, String encounterUuid, String diagnosisUuid,
279+
String certainty, int rank) {
280+
Map<String, Object> patientDiagnosis = new HashMap<>();
281+
patientDiagnosis.put("patient", patientUuid);
282+
patientDiagnosis.put("encounter", encounterUuid);
283+
patientDiagnosis.put("certainty", certainty);
284+
patientDiagnosis.put("rank", rank);
285+
patientDiagnosis.put("condition", null);
286+
287+
Map<String, Object> diagnosis = new HashMap<>();
288+
diagnosis.put("coded", diagnosisUuid);
289+
patientDiagnosis.put("diagnosis", diagnosis);
290+
291+
Gson gson = new GsonBuilder().serializeNulls().create();
292+
String body = gson.toJson(patientDiagnosis);
293+
294+
exec(seassion -> {
295+
System.out.println(body);
296+
return seassion;
297+
});
298+
299+
return http("Save Patient Diagnosis")
300+
.post("/openmrs/ws/rest/v1/patientdiagnoses")
301+
.body(StringBody(body));
302+
}
303+
235304
}

‎src/test/java/org/openmrs/performance/registries/DoctorRegistry.java

+15-1
Original file line numberDiff line numberDiff line change
@@ -121,6 +121,20 @@ public ChainBuilder addDrugOrder(String patientUuid, String visitUuid, String cu
121121
httpService.searchForDrug("Tylenol"),
122122
httpService.saveOrder(patientUuid, visitUuid, currentUserUuid, asprin_162_5mg, asprinConcept)
123123
);
124-
124+
}
125+
126+
public ChainBuilder addVisitNote(String patientUuid, String currentUserUuid) {
127+
String visitNoteText = "Patient visit note";
128+
String diabeticKetosisConcept = "119441AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA";
129+
String diabeticFootUlcerConcept = "142451AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA";
130+
String fatigueConcept = "140501AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA";
131+
String certainty = "PROVISIONAL";
132+
String encounterUuid = "#{encounter_uuid}";
133+
return exec(
134+
httpService.saveVisitNote(patientUuid, currentUserUuid, visitNoteText),
135+
httpService.saveDiagnosis(patientUuid, encounterUuid, diabeticKetosisConcept, certainty, 1),
136+
httpService.saveDiagnosis(patientUuid, encounterUuid, diabeticFootUlcerConcept, certainty, 1),
137+
httpService.saveDiagnosis(patientUuid, encounterUuid, fatigueConcept, certainty, 2)
138+
);
125139
}
126140
}

‎src/test/java/org/openmrs/performance/scenarios/VisitPatientScenario.java

+3-1
Original file line numberDiff line numberDiff line change
@@ -32,7 +32,9 @@ public ScenarioBuilder getScenarioBuilder() {
3232
.exec(registry.openConditionsTab("#{patient_uuid}"))
3333
.exec(registry.openImmunizationsTab("#{patient_uuid}"))
3434
.exec(registry.openAttachmentsTab("#{patient_uuid}"))
35-
.exec(registry.addDrugOrder("#{patient_uuid}", "#{visitUuid}", "#{currentUserUuid}"))
35+
// .exec(registry.addDrugOrder("#{patient_uuid}", "#{visitUuid}", "#{currentUserUuid}"))
36+
.exec(registry.addVisitNote("#{patient_uuid}", "#{currentUserUuid}"))
37+
.pause(7)
3638
.exec(registry.endVisit("#{patient_uuid}"));
3739
}
3840
}

0 commit comments

Comments
 (0)
Failed to load comments.