Answered step by step
Verified Expert Solution
Link Copied!

Question

1 Approved Answer

I think there is a bug in this code, but I cannot seem to identify it. Do you see any issues? package medical.com.medicalApplication.services; import java.util.ArrayList;

I think there is a bug in this code, but I cannot seem to identify it. Do you see any issues?

package medical.com.medicalApplication.services;

import java.util.ArrayList; import java.util.Collections; import java.util.List;

import medical.com.medicalApplication.model.MedicalRecord; import medical.com.medicalApplication.model.Patient; import medical.com.medicalApplication.model.PatientHistory; /** * * This class uses a singleton pattern to mock a service instead of using dependency injection * * In addition, it stores data in memory only using Lists * */ public class MedicalRecordService { private static MedicalRecordService reference = new MedicalRecordService(); private List patients; private List medicalRecords;

public static MedicalRecordService getReference() { return reference; }

MedicalRecordService() { this.patients = new ArrayList(); this.medicalRecords = new ArrayList(); }

public boolean addPatient(String name, String id) { boolean patientAdded = !patients.stream() .anyMatch(patient -> patient.getId().equals(id)); if (patientAdded) { Patient newPatient = new Patient(name, id); //FIXME: Add newHistory variable PatientHistory newHistory = new PatientHistory(); patients.add(newPatient); //FIXME: Add newHistory variable medicalRecords.add(new MedicalRecord(newPatient, newHistory)); } return patientAdded; } public MedicalRecord getMedicalRecord(String patientId) { return medicalRecords.stream() .filter(medicalRecord -> medicalRecord.getPatient().getId().equals(patientId)).findFirst().get(); }

public Patient getPatient(String patientId) { return patients.stream().filter(person -> person.getId().equals(patientId)) .findFirst().get(); }

public List getAllPatients() { return patients; } public List getPatientsWithAllergies(String allergyName){ for(Patient patient : getAllPatients()){ //Potential error in interating through patient list? if(getMedicalRecord(patient.getId()).getHistory().getAllergies().stream().filter(allergy -> allergy.getName().equals(allergyName)).findFirst().get() != null){ return Collections.singletonList(patient); } } return Collections.emptyList(); } }

Step by Step Solution

There are 3 Steps involved in it

Step: 1

blur-text-image

Get Instant Access to Expert-Tailored Solutions

See step-by-step solutions with expert insights and AI powered tools for academic success

Step: 2

blur-text-image

Step: 3

blur-text-image

Ace Your Homework with AI

Get the answers you need in no time with our AI-driven, step-by-step assistance

Get Started

Recommended Textbook for

Database Concepts

Authors: David M Kroenke, David J Auer

6th Edition

0132742926, 978-0132742924

More Books

Students also viewed these Databases questions