Index: backend/src/main/java/medora/controller/LabController.java
===================================================================
--- backend/src/main/java/medora/controller/LabController.java	(revision 946877f508647dc88cbaa9c515c5a587126d0206)
+++ backend/src/main/java/medora/controller/LabController.java	(revision ccb5a6b951950c8dc8a7fd91a1588f3051aea026)
@@ -278,4 +278,36 @@
     }
 
+    @GetMapping("/requests/pending")
+    public ResponseEntity<?> getPendingLabTests(HttpServletRequest httpRequest) {
+        try {
+            String role = securityUtil.getRoleFromRequest(httpRequest);
+            if (role == null) {
+                return ResponseEntity.status(HttpStatus.UNAUTHORIZED)
+                        .body(Map.of("error", "Unauthorized"));
+            }
+
+
+            if (!role.equals("LAB_TECHNICIAN")) {
+                return ResponseEntity.status(HttpStatus.FORBIDDEN)
+                        .body(Map.of("error", "Only lab technicians can view pending tests"));
+            }
+
+            logger.info("Fetching pending lab tests");
+            List<PerformedLabTests> pendingTests = labService.getPendingLabTests();
+            List<LabTestRequestDTO> dtos = pendingTests.stream()
+                    .map(this::convertPerformedTestToDTO)
+                    .collect(Collectors.toList());
+            return ResponseEntity.ok(dtos);
+        } catch (RuntimeException e) {
+            logger.error("Error fetching pending lab tests: {}", e.getMessage());
+            return ResponseEntity.badRequest()
+                    .body(Map.of("error", e.getMessage()));
+        } catch (Exception e) {
+            logger.error("Unexpected error fetching pending lab tests: {}", e.getMessage());
+            return ResponseEntity.status(HttpStatus.INTERNAL_SERVER_ERROR)
+                    .body(Map.of("error", "Failed to fetch pending lab tests: " + e.getMessage()));
+        }
+    }
+
     private LabTestDTO convertToDTO(LabTests labTest) {
         return new LabTestDTO(
@@ -295,4 +327,5 @@
                 performedTest.getDoctor().getDoctorId(),
                 performedTest.getDoctor().getFirstName() + " " + performedTest.getDoctor().getLastName(),
+                performedTest.getCreatedAt() != null ? performedTest.getCreatedAt().toLocalDate() : performedTest.getTestDate(),
                 performedTest.getTestDate(),
                 performedTest.getNotes()
Index: backend/src/main/java/medora/dto/LabTestRequestDTO.java
===================================================================
--- backend/src/main/java/medora/dto/LabTestRequestDTO.java	(revision 946877f508647dc88cbaa9c515c5a587126d0206)
+++ backend/src/main/java/medora/dto/LabTestRequestDTO.java	(revision ccb5a6b951950c8dc8a7fd91a1588f3051aea026)
@@ -5,5 +5,4 @@
 import lombok.NoArgsConstructor;
 import lombok.Setter;
-
 import java.time.LocalDate;
 
@@ -20,4 +19,5 @@
     private String doctorName;
     private LocalDate requestDate;
+    private LocalDate testDate;
     private String notes;
 }
Index: backend/src/main/java/medora/models/domain/PerformedLabTests.java
===================================================================
--- backend/src/main/java/medora/models/domain/PerformedLabTests.java	(revision 946877f508647dc88cbaa9c515c5a587126d0206)
+++ backend/src/main/java/medora/models/domain/PerformedLabTests.java	(revision ccb5a6b951950c8dc8a7fd91a1588f3051aea026)
@@ -6,4 +6,5 @@
 
 import java.time.LocalDate;
+import java.time.LocalDateTime;
 
 @Getter
@@ -38,4 +39,7 @@
     private LocalDate testDate;
 
+    @Column(name = "created_at")
+    private LocalDateTime createdAt;
+
     private String notes;
 
@@ -44,10 +48,10 @@
 
     public PerformedLabTests(Long performedTestId,
-                            LabTests labTest,
-                            Patient patient,
-                            Doctors doctor,
-                            LabTechnician technician,
-                            LocalDate testDate,
-                            String notes) {
+                             LabTests labTest,
+                             Patient patient,
+                             Doctors doctor,
+                             LabTechnician technician,
+                             LocalDate testDate,
+                             String notes) {
         this.performedTestId = performedTestId;
         this.labTest = labTest;
Index: backend/src/main/java/medora/repository/PerformedLabTestRepository.java
===================================================================
--- backend/src/main/java/medora/repository/PerformedLabTestRepository.java	(revision 946877f508647dc88cbaa9c515c5a587126d0206)
+++ backend/src/main/java/medora/repository/PerformedLabTestRepository.java	(revision ccb5a6b951950c8dc8a7fd91a1588f3051aea026)
@@ -22,3 +22,4 @@
     """)
     List<PerformedLabTests> findByPatientAndDate(@Param("patientId") Long patientId, @Param("testDate") java.time.LocalDate testDate);
+
 }
Index: backend/src/main/java/medora/service/LabService.java
===================================================================
--- backend/src/main/java/medora/service/LabService.java	(revision 946877f508647dc88cbaa9c515c5a587126d0206)
+++ backend/src/main/java/medora/service/LabService.java	(revision ccb5a6b951950c8dc8a7fd91a1588f3051aea026)
@@ -13,5 +13,5 @@
 
 /**
- * LabService handles lab test and lab result operations.
+ *
  * UC013 – Record Lab Test Request
  * UC014 – Store Lab Results
@@ -53,5 +53,5 @@
     }
 
-    // ================= LAB TEST =================
+
 
     @Transactional
@@ -107,5 +107,5 @@
     }
 
-    // ================= LAB TEST REQUESTS (UC013) =================
+    // UC013
 
     @Transactional
@@ -172,5 +172,5 @@
     }
 
-    // ================= LAB RESULTS (UC014, UC015) =================
+    //UC014, UC015
 
     @Transactional
@@ -220,3 +220,28 @@
         return medicalRecordLabResultRepository.findByMedicalRecordRecordId(medicalRecordId);
     }
+
+    @Transactional(readOnly = true)
+    public List<PerformedLabTests> getPendingLabTests() {
+        // Get all performed tests and filter to only those without results
+        List<PerformedLabTests> allTests = performedLabTestRepository.findAll();
+
+        return allTests.stream()
+                .filter(test -> {
+                    // Get the patient's medical record
+                    Optional<MedicalRecord> recordOpt = medicalRecordRepository.findByPatientPatientId(test.getPatient().getPatientId());
+                    if (recordOpt.isEmpty()) {
+                        return true; // No medical record, so no results possible
+                    }
+
+                    MedicalRecord record = recordOpt.get();
+                    // Check if this test has results in this medical record
+                    List<MedicalRecordLabResults> results = medicalRecordLabResultRepository
+                            .findByMedicalRecordRecordId(record.getRecordId());
+
+                    // Filter to only results for this specific test
+                    return results.stream()
+                            .noneMatch(r -> r.getLabResult().getLabTest().getTestId().equals(test.getLabTest().getTestId()));
+                })
+                .toList();
+    }
 }
