Summary Table
Categories |
Total Count |
PII |
0 |
URL |
0 |
DNS |
0 |
EKL |
0 |
IP |
0 |
PORT |
0 |
VsID |
0 |
CF |
0 |
AI |
0 |
VPD |
0 |
PL |
0 |
Other |
0 |
File Content
package gov.va.med.pbm.ampl.controller;
import java.util.Optional;
import org.springframework.http.ResponseEntity;
import gov.va.med.pbm.ampl.model.Allergy;
import gov.va.med.pbm.ampl.model.Consult;
import gov.va.med.pbm.ampl.model.Immunization;
import gov.va.med.pbm.ampl.model.Measurement;
import gov.va.med.pbm.ampl.model.ProgressNote;
import gov.va.med.pbm.ampl.model.patientdemographics.PatientDetails;
import gov.va.med.pbm.ampl.utility.operations.comparator.AmplComparator;
/**
*
* IBaseController is the interface for all controllers, providing the minimum operational requirements.
*
* @author Ian Meinert
* @since 1.0
*
*/
public interface IBaseController {
/**
* The template URL endpoint for retrieving a {@link PatientDetails}.
*
* @param patientId the patient id
* @param sort the sort field and direction
* @param search the searchable field, {@link AmplComparator}, value
* @param page the page number
* @param size the page size
* @return ResponseEntity
*/
ResponseEntity<Object> getPatientById(String patientId, Optional<String> sort, Optional<String> search,
Optional<Integer> page, Optional<Integer> size);
/**
* The template URL endpoint for retrieving a collection of {@link Allergy} for a {@link PatientDetails}.
*
* @param patientId the patient id
* @param sort the sort field and direction
* @param search the searchable field, {@link AmplComparator}, value
* @param page the page number
* @param size the page size
* @return ResponseEntity
*/
ResponseEntity<Object> getAllergiesByPatientId(String patientId, Optional<String> sort, Optional<String> search,
Optional<Integer> page, Optional<Integer> size);
/**
* The template URL endpoint for retrieving a collection of {@link ProgressNote} for a {@link PatientDetails}.
*
* @param patientId the patient id
* @param sort the sort field and direction
* @param search the searchable field, {@link AmplComparator}, value
* @param page the page number
* @param size the page size
* @return ResponseEntity
*/
ResponseEntity<Object> getProgressNotesByPatientId(String patientId, Optional<String> sort, Optional<String> search,
Optional<Integer> page, Optional<Integer> size);
/**
* The template URL endpoint for retrieving a collection of {@link Consult} for a {@link PatientDetails}.
*
* @param patientId the patient id
* @param sort the sort field and direction
* @param search the searchable field, {@link AmplComparator}, value
* @param page the page number
* @param size the page size
* @return ResponseEntity
*/
ResponseEntity<Object> getConsultsByPatientId(String patientId, Optional<String> sort, Optional<String> search,
Optional<Integer> page, Optional<Integer> size);
/**
* The template URL endpoint for retrieving a collection of {@link Immunization} for a {@link PatientDetails}.
*
* @param patientId the patient id
* @param sort the sort field and direction
* @param search the searchable field, {@link AmplComparator}, value
* @param page the page number
* @param size the page size
* @return ResponseEntity
*/
ResponseEntity<Object> getImmunizationsByPatientId(String patientId, Optional<String> sort, Optional<String> search,
Optional<Integer> page, Optional<Integer> size);
/**
* The template URL endpoint for retrieving a collection of {@link Problem} for a {@link PatientDetails}.
*
* @param patientId the patient id
* @param sort the sort field and direction
* @param search the searchable field, {@link AmplComparator}, value
* @param page the page number
* @param size the page size
* @return ResponseEntity
*/
ResponseEntity<Object> getProblemListByPatientId(String patientId, Optional<String> sort, Optional<String> search,
Optional<Integer> page, Optional<Integer> size);
/**
* The template URL endpoint for retrieving a collection of {@link Appointment} for a {@link PatientDetails}.
*
* @param patientId the patient id
* @param sort the sort field and direction
* @param search the searchable field, {@link AmplComparator}, value
* @param page the page number
* @param size the page size
* @return ResponseEntity
*/
ResponseEntity<Object> getAppointmentsByPatientId(String patientId, Optional<String> sort, Optional<String> search,
Optional<Integer> page, Optional<Integer> size);
/**
* The template URL endpoint for retrieving a collection of {@link Measurement} for a {@link PatientDetails}..
*
* @param patientId the patient id
* @param sort the sort field and direction
* @param search the searchable field, {@link AmplComparator}, value
* @param page the page number
* @param size the page size
* @return ResponseEntity
*/
ResponseEntity<Object> getMeasurementsByPatientId(String patientId, Optional<String> sort, Optional<String> search,
Optional<Integer> page, Optional<Integer> size);
/**
* The template URL endpoint for retrieving a collection of {@link Measurement} for a {@link PatientDetails}.
*
* @param patientId ID of patient to return
* @param search the searchable field, {@link AmplComparator}, value
* @return ResponseEntity
*/
ResponseEntity<Object> getMeasurementsLastMeasureByPatientId(String patientId, Optional<String> search);
}