diff --git a/src/test/java/org/openmrs/performance/Constants.java b/src/test/java/org/openmrs/performance/Constants.java
index ccb5c44..6b2e74d 100644
--- a/src/test/java/org/openmrs/performance/Constants.java
+++ b/src/test/java/org/openmrs/performance/Constants.java
@@ -42,4 +42,10 @@ public class Constants {
 	public static final String ALLERGY_REACTION_UUID = "162553AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA";
 	public static final String CODED_ALLERGEN_UUID = "71617AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA";
 	public static final String SEVERITY_UUID = "1498AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA";
+
+	//Visit Notes
+	public static final String VISIT_NOTE_FORM_UUID = "c75f120a-04ec-11e3-8780-2b40bef9a44b";
+	public static final String CLINICIAN_ENCOUNTER_ROLE = "240b26f9-dd88-4172-823d-4a8bfeb7841f";
+	public static final String VISIT_NOTE_ENCOUNTER_TYPE_UUID = "d7151f82-c1f3-4152-a605-2f9ea7414a79";
+	public static final String VISIT_NOTE_CONCEPT_UUID = "162169AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA";
 }
diff --git a/src/test/java/org/openmrs/performance/http/DoctorHttpService.java b/src/test/java/org/openmrs/performance/http/DoctorHttpService.java
index 22f0657..df90443 100644
--- a/src/test/java/org/openmrs/performance/http/DoctorHttpService.java
+++ b/src/test/java/org/openmrs/performance/http/DoctorHttpService.java
@@ -13,10 +13,12 @@
 
 import static io.gatling.javaapi.core.CoreDsl.StringBody;
 import static io.gatling.javaapi.core.CoreDsl.bodyString;
+import static io.gatling.javaapi.core.CoreDsl.exec;
 import static io.gatling.javaapi.core.CoreDsl.jsonPath;
 import static io.gatling.javaapi.http.HttpDsl.http;
 import static org.openmrs.performance.Constants.ALLERGY_REACTION_UUID;
 import static org.openmrs.performance.Constants.CARE_SETTING_UUID;
+import static org.openmrs.performance.Constants.CLINICIAN_ENCOUNTER_ROLE;
 import static org.openmrs.performance.Constants.CODED_ALLERGEN_UUID;
 import static org.openmrs.performance.Constants.DAYS;
 import static org.openmrs.performance.Constants.DEFAULT_DOSING_TYPE;
@@ -27,6 +29,9 @@
 import static org.openmrs.performance.Constants.OUTPATIENT_CLINIC_LOCATION_UUID;
 import static org.openmrs.performance.Constants.SEVERITY_UUID;
 import static org.openmrs.performance.Constants.TABLET;
+import static org.openmrs.performance.Constants.VISIT_NOTE_CONCEPT_UUID;
+import static org.openmrs.performance.Constants.VISIT_NOTE_ENCOUNTER_TYPE_UUID;
+import static org.openmrs.performance.Constants.VISIT_NOTE_FORM_UUID;
 
 public class DoctorHttpService extends HttpService {
 	
@@ -36,15 +41,11 @@ public HttpRequestActionBuilder getVisitTypes() {
 	}
 	
 	public HttpRequestActionBuilder getVisitsOfPatient(String patientUuid) {
-		String customRepresentation = "custom:(uuid,encounters:(uuid,diagnoses:(uuid,display,rank,diagnosis),"
-				+ "form:(uuid,display),encounterDatetime,orders:full,"
-				+ "obs:(uuid,concept:(uuid,display,conceptClass:(uuid,display)),display,"
-				+ "groupMembers:(uuid,concept:(uuid,display),value:(uuid,display),display),"
-				+ "value,obsDatetime),encounterType:(uuid,display,viewPrivilege,editPrivilege),"
-				+ "encounterProviders:(uuid,display,encounterRole:(uuid,display),"
-				+ "provider:(uuid,person:(uuid,display)))),visitType:(uuid,name,display),"
-				+ "startDatetime,stopDatetime,patient,"
-				+ "attributes:(attributeType:ref,display,uuid,value))";
+		String customRepresentation = "custom:(uuid,display,voided,indication,startDatetime,stopDatetime,"
+		        + "encounters:(uuid,display,encounterDatetime,form:(uuid,name),location:ref,encounterType:ref,encounterProviders:(uuid,display,provider:(uuid,display))),"
+		        + "patient:(uuid,display)," + "visitType:(uuid,name,display),"
+		        + "attributes:(uuid,display,attributeType:(name,datatypeClassname,uuid),value),"
+		        + "location:(uuid,name,display))";
 		
 		return http("Get Visits of Patient")
 				.get("/openmrs/ws/rest/v1/visit?patient=" + patientUuid + "&v=" + customRepresentation);
@@ -287,4 +288,37 @@ public HttpRequestActionBuilder saveOrder(String patientUuid, String visitUuid,
             throw new RuntimeException(e);
         }
     }
+
+	public HttpRequestActionBuilder saveVisitNote(String patientUuid, String currentUser, String value) {
+		ZonedDateTime now = ZonedDateTime.now();
+		String encounterDatetime = now.format(DateTimeFormatter.ofPattern("yyyy-MM-dd'T'HH:mm:ss.SSSZ"));
+
+		Map<String, Object> visitNote = new HashMap<>();
+		visitNote.put("form", VISIT_NOTE_FORM_UUID);
+		visitNote.put("patient", patientUuid);
+		visitNote.put("location", OUTPATIENT_CLINIC_LOCATION_UUID);
+		visitNote.put("encounterType", VISIT_NOTE_ENCOUNTER_TYPE_UUID);
+		visitNote.put("encounterDatetime", encounterDatetime);
+		
+		Map<String, Object> encounterProvider = new HashMap<>();
+		encounterProvider.put("encounterRole", CLINICIAN_ENCOUNTER_ROLE);
+		encounterProvider.put("provider", currentUser);
+		
+		Map<String, Object> obs = new HashMap<>();
+		obs.put("concept", Map.of("uuid", VISIT_NOTE_CONCEPT_UUID));
+		obs.put("value", value);
+		
+		visitNote.put("encounterProviders", List.of(encounterProvider));
+		visitNote.put("obs", List.of(obs));
+		
+		try {
+			String body = new ObjectMapper().writeValueAsString(visitNote); // Convert Map to JSON
+			
+			return http("Save Visit Note").post("/openmrs/ws/rest/v1/encounter").body(StringBody(body))
+			        .check(jsonPath("$.uuid").saveAs("encounterUuid")); // Store encounter UUID
+		}
+		catch (JsonProcessingException e) {
+			throw new RuntimeException("Error converting visitNote to JSON", e);
+		}
+	}
 }
diff --git a/src/test/java/org/openmrs/performance/http/HttpService.java b/src/test/java/org/openmrs/performance/http/HttpService.java
index 9a7522d..02a2257 100644
--- a/src/test/java/org/openmrs/performance/http/HttpService.java
+++ b/src/test/java/org/openmrs/performance/http/HttpService.java
@@ -82,7 +82,7 @@ public HttpRequestActionBuilder getVisitQueueEntry(String patientUuid) {
 	
 	public HttpRequestActionBuilder getCurrentVisit(String patientUuid) {
 		return http("Get Patient's current visit")
-				.get("/openmrs/ws/rest/v1/visit?patient="+patientUuid+"&v=custom:(uuid,encounters:(uuid,encounterDatetime,form:(uuid,name),location:ref,encounterType:ref,encounterProviders:(uuid,display,provider:(uuid,display,person:(display))),patient:(uuid,uuid),visitType:(uuid,name,display),attributes:(uuid,display,attributeType:(name,datatypeClassname,uuid),value),location:(uuid,name,display),startDatetime,stopDatetime)&includeInactive=false");
+				.get("/openmrs/ws/rest/v1/visit?patient="+patientUuid+"&v=custom:(uuid,encounters:(uuid,diagnoses:(uuid,display,rank,diagnosis),form:(uuid,display),encounterDatetime,orders:full,obs:full,encounterType:(uuid,display,viewPrivilege,editPrivilege),encounterProviders:(uuid,display,encounterRole:(uuid,display),provider:(uuid,person:(uuid,display)))),visitType:(uuid,name,display),startDatetime,stopDatetime,patient,attributes:(attributeType:ref,display,uuid,value)&limit=5");
 	}
 	
 	public HttpRequestActionBuilder getPatientSummaryData(String patientUuid) {
diff --git a/src/test/java/org/openmrs/performance/registries/DoctorRegistry.java b/src/test/java/org/openmrs/performance/registries/DoctorRegistry.java
index d37fc0f..dc6760d 100644
--- a/src/test/java/org/openmrs/performance/registries/DoctorRegistry.java
+++ b/src/test/java/org/openmrs/performance/registries/DoctorRegistry.java
@@ -144,4 +144,9 @@ public ChainBuilder addDrugOrder(String patientUuid, String visitUuid, String cu
 		);
 	
 	}
+
+	public ChainBuilder addVisitNote(String patientUuid, String currentUserUuid) {
+		String visitNoteText = "Patient visit note";
+		return exec(httpService.saveVisitNote(patientUuid, currentUserUuid, visitNoteText));
+	}
 }
diff --git a/src/test/java/org/openmrs/performance/scenarios/VisitPatientScenario.java b/src/test/java/org/openmrs/performance/scenarios/VisitPatientScenario.java
index ba215df..cbb37fe 100644
--- a/src/test/java/org/openmrs/performance/scenarios/VisitPatientScenario.java
+++ b/src/test/java/org/openmrs/performance/scenarios/VisitPatientScenario.java
@@ -35,6 +35,9 @@ public ScenarioBuilder getScenarioBuilder() {
 				.exec(registry.openImmunizationsTab("#{patient_uuid}"))
 				.exec(registry.openAttachmentsTab("#{patient_uuid}"))
 				.exec(registry.addDrugOrder("#{patient_uuid}", "#{visitUuid}", "#{currentUserUuid}"))
+				.pause(5)
+				.exec(registry.addVisitNote("#{patient_uuid}", "#{currentUserUuid}"))
+				.pause(10)
 				.exec(registry.endVisit("#{patient_uuid}"));
 	}
 }