diff --git a/src/test/java/org/openmrs/performance/Constants.java b/src/test/java/org/openmrs/performance/Constants.java
index 79704a93..ccb5c44f 100644
--- a/src/test/java/org/openmrs/performance/Constants.java
+++ b/src/test/java/org/openmrs/performance/Constants.java
@@ -6,13 +6,13 @@ public class Constants {
 	public static final String ENV_USER_INCREMENT_PER_TIER = "USER_INCREMENT_PER_TIER";
 	public static final String ENV_TIER_DURATION = "TIER_DURATION_MINUTES";
 	public static final String ENV_TIER_COUNT = "TIER_COUNT";
-	
+
 	public static final String OUTPATIENT_CLINIC_LOCATION_UUID = "44c3efb0-2583-4c80-a79e-1f756a03c0a1";
 	public static final String FACULTY_VISIT_TYPE_UUID = "7b0f5697-27e3-40c4-8bae-f4049abfb4ed";
-	
+
 	public static final String CARE_SETTING_UUID = "6f0c9a92-6f24-11e3-af88-005056821db0";
 	public static final String DRUG_ORDER = "131168f4-15f5-102d-96e4-000c29c2a5d7";
-	
+
 	// Observation Types
 	public static final String SYSTOLIC_BLOOD_PRESSURE = "5085AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA";
 	public static final String DIASTOLIC_BLOOD_PRESSURE = "5086AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA";
@@ -24,15 +24,22 @@ public class Constants {
 	public static final String RESPIRATORY_RATE = "5242AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA";
 	public static final String ARTERIAL_BLOOD_OXYGEN_SATURATION = "5092AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA";
 	public static final String UNKNOWN_OBSERVATION_TYPE = "165095AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA";
-	
+
 	public static final String PERSON_ATTRIBUTE_PHONE_NUMBER = "14d4f066-15f5-102d-96e4-000c29c2a5d7";
-	
+
 	public static final String TABLET = "1513AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA";
 	public static final String ORAL = "160240AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA";
 	public static final String ONCE_DAILY = "136ebdb7-e989-47cf-8ec2-4e8b2ffe0ab3";
 	public static final String DAYS = "1072AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA";
 	public static final String ORDER = "39da3525-afe4-45ff-8977-c53b7b359158";
-	
+
 	public static final String DEFAULT_DOSING_TYPE = "org.openmrs.SimpleDosingInstructions";
-	
+
+	// Allergies
+	public static final String DRUG_ALLERGEN_UUID = "162555AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA";
+	public static final String ENVIRONMENTAL_ALLERGEN_UUID = "162552AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA";
+	public static final String FOOD_ALLERGEN_UUID = "162554AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA";
+	public static final String ALLERGY_REACTION_UUID = "162553AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA";
+	public static final String CODED_ALLERGEN_UUID = "71617AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA";
+	public static final String SEVERITY_UUID = "1498AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA";
 }
diff --git a/src/test/java/org/openmrs/performance/http/DoctorHttpService.java b/src/test/java/org/openmrs/performance/http/DoctorHttpService.java
index 84a1f0f9..22f06571 100644
--- a/src/test/java/org/openmrs/performance/http/DoctorHttpService.java
+++ b/src/test/java/org/openmrs/performance/http/DoctorHttpService.java
@@ -6,14 +6,18 @@
 
 import java.time.ZonedDateTime;
 import java.time.format.DateTimeFormatter;
+import java.util.Collections;
 import java.util.HashMap;
+import java.util.List;
 import java.util.Map;
 
 import static io.gatling.javaapi.core.CoreDsl.StringBody;
 import static io.gatling.javaapi.core.CoreDsl.bodyString;
 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.CODED_ALLERGEN_UUID;
 import static org.openmrs.performance.Constants.DAYS;
 import static org.openmrs.performance.Constants.DEFAULT_DOSING_TYPE;
 import static org.openmrs.performance.Constants.DRUG_ORDER;
@@ -21,6 +25,7 @@
 import static org.openmrs.performance.Constants.ORAL;
 import static org.openmrs.performance.Constants.ORDER;
 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;
 
 public class DoctorHttpService extends HttpService {
@@ -60,6 +65,8 @@ public HttpRequestActionBuilder getActiveVisitOfPatient(String patientUuid) {
 		return http("Get Active Visits of Patient")
 				.get("/openmrs/ws/rest/v1/visit?patient=" + patientUuid + "&v=" + customRepresentation + "&includeInactive=false");
 	}
+
+
 	
 	public HttpRequestActionBuilder getProgramEnrollments(String patientUuid) {
 		String customRepresentation = "custom:(uuid,display,program,dateEnrolled,dateCompleted," +
@@ -153,6 +160,46 @@ public HttpRequestActionBuilder getAllergies(String patientUuid) {
 		return http("Get Allergies of Patient")
 				.get("/openmrs/ws/fhir2/R4/AllergyIntolerance?patient=" + patientUuid + "&_summary=data");
 	}
+
+	public HttpRequestActionBuilder getAllergens(String allergenType, String allergenUuid) {
+		return http("Get " + allergenType + " Allergens")
+				.get("/openmrs/ws/rest/v1/concept/" + allergenUuid + "?v=full");
+	}
+
+
+	public HttpRequestActionBuilder saveAllergy(String patientUuid) {
+		Map<String, Object> payload = new HashMap<>();
+
+		Map<String,String> codedAllergen = new HashMap<>();
+		codedAllergen.put("uuid", CODED_ALLERGEN_UUID);
+
+		Map<String,Object>allergen = new HashMap<>();
+		allergen.put("allergenType", "DRUG");
+		allergen.put("codedAllergen", codedAllergen);
+
+		Map<String,String>severity = new HashMap<>();
+		severity.put("uuid", SEVERITY_UUID);
+
+		Map<String, String> reactionUuid = new HashMap<>();
+		reactionUuid.put("uuid", ALLERGY_REACTION_UUID);
+
+		Map<String, Object> reaction = new HashMap<>();
+		reaction.put("reaction", reactionUuid);
+		List<Map<String, Object>> reactions = Collections.singletonList(reaction);
+
+		payload.put("allergen", allergen);
+		payload.put("severity", severity);
+		payload.put("comment", "test");
+		payload.put("reactions", reactions);
+		
+		try {
+			return http("Save an Allergy")
+					.post("/openmrs/ws/rest/v1/patient/" + patientUuid + "/allergy")
+					.body(StringBody(new ObjectMapper().writeValueAsString(payload)));
+		} catch (JsonProcessingException e) {
+			throw new RuntimeException(e);
+		}
+	}
 	
 	public HttpRequestActionBuilder getConditions(String patientUuid) {
 		return http("Get Conditions of Patient")
diff --git a/src/test/java/org/openmrs/performance/registries/DoctorRegistry.java b/src/test/java/org/openmrs/performance/registries/DoctorRegistry.java
index 27875e27..d37fc0f8 100644
--- a/src/test/java/org/openmrs/performance/registries/DoctorRegistry.java
+++ b/src/test/java/org/openmrs/performance/registries/DoctorRegistry.java
@@ -7,9 +7,13 @@
 import java.util.Set;
 
 import static io.gatling.javaapi.core.CoreDsl.exec;
+import static org.openmrs.performance.Constants.ALLERGY_REACTION_UUID;
 import static org.openmrs.performance.Constants.ARTERIAL_BLOOD_OXYGEN_SATURATION;
 import static org.openmrs.performance.Constants.DIASTOLIC_BLOOD_PRESSURE;
+import static org.openmrs.performance.Constants.DRUG_ALLERGEN_UUID;
+import static org.openmrs.performance.Constants.ENVIRONMENTAL_ALLERGEN_UUID;
 import static org.openmrs.performance.Constants.FACULTY_VISIT_TYPE_UUID;
+import static org.openmrs.performance.Constants.FOOD_ALLERGEN_UUID;
 import static org.openmrs.performance.Constants.HEIGHT_CM;
 import static org.openmrs.performance.Constants.MID_UPPER_ARM_CIRCUMFERENCE;
 import static org.openmrs.performance.Constants.OUTPATIENT_CLINIC_LOCATION_UUID;
@@ -21,6 +25,8 @@
 import static org.openmrs.performance.Constants.WEIGHT_KG;
 import static org.openmrs.performance.utils.CommonUtils.extractConceptIds;
 
+
+
 public class DoctorRegistry extends Registry<DoctorHttpService>{
 	
 	public DoctorRegistry() {
@@ -94,6 +100,21 @@ public ChainBuilder openLabResultsTab(String patientUuid) {
 	public ChainBuilder openAllergiesTab(String patientUuid) {
 		return exec(httpService.getAllergies(patientUuid));
 	}
+
+	public ChainBuilder openAllergiesForm(){
+		return exec(
+			httpService.getAllergens("Drug",DRUG_ALLERGEN_UUID),
+			httpService.getAllergens("Environment",ENVIRONMENTAL_ALLERGEN_UUID),
+			httpService.getAllergens("Food",FOOD_ALLERGEN_UUID),
+			httpService.getAllergens("Allergic Reactions",ALLERGY_REACTION_UUID)
+		);
+	}
+
+	public ChainBuilder recordAllergy(String patientUuid) {	
+		return exec(
+			httpService.saveAllergy(patientUuid)
+		);
+	}
 	
 	public ChainBuilder openConditionsTab(String patientUuid) {
 		return exec(httpService.getConditions(patientUuid));
diff --git a/src/test/java/org/openmrs/performance/scenarios/VisitPatientScenario.java b/src/test/java/org/openmrs/performance/scenarios/VisitPatientScenario.java
index f19ba71b..ba215dfc 100644
--- a/src/test/java/org/openmrs/performance/scenarios/VisitPatientScenario.java
+++ b/src/test/java/org/openmrs/performance/scenarios/VisitPatientScenario.java
@@ -29,6 +29,8 @@ public ScenarioBuilder getScenarioBuilder() {
 				.exec(registry.openOrdersTab("#{patient_uuid}"))
 				.exec(registry.openLabResultsTab("#{patient_uuid}"))
 				.exec(registry.openAllergiesTab("#{patient_uuid}"))
+				.exec(registry.openAllergiesForm())
+				.exec(registry.recordAllergy("#{patient_uuid}"))
 				.exec(registry.openConditionsTab("#{patient_uuid}"))
 				.exec(registry.openImmunizationsTab("#{patient_uuid}"))
 				.exec(registry.openAttachmentsTab("#{patient_uuid}"))