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.asset.mock;
import java.time.OffsetDateTime;
import java.util.ArrayList;
import java.util.Collection;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
import gov.va.med.pbm.ampl.constant.MockDataConstants;
import gov.va.med.pbm.ampl.controller.EnvironmentInternalController;
import gov.va.med.pbm.ampl.model.Consult;
import gov.va.med.pbm.ampl.utility.CollectionUtility;
import gov.va.med.pbm.ampl.utility.DateUtility;
import gov.va.med.pbm.ampl.utility.NumberUtility;
/**
* This class generates mock data for the {@link EnvironmentInternalController} end points .
*
* @author Ian Meinert
* @author Pavani Mukthipudi
*
* @since 1.0
*/
public class ConsultsData {
private String patientId;
/**
* The application logger.
*/
static final Logger LOGGER = LoggerFactory.getLogger(ConsultsData.class);
/**
* Single parameter constructor.
*
* @param patientId {@link Long}
*/
public ConsultsData(String patientId) {
this.patientId = patientId;
}
/**
* Generates a {@link Consult} {@link Collection} used in mock cases.
*
* @param c the count of {@link Consult} to create
* @return a {@link Collection} of {@link Consult} with mock data
*/
public Collection<Consult> testConsultsForPatient(int c) {
Collection<Consult> cc = new ArrayList<Consult>();
FacilityData f = new FacilityData();
ProviderData prov = new ProviderData();
for (int i = 1; i <= c; i++) {
String s = Consult.class.getSimpleName().toUpperCase() + i;
int k = NumberUtility.randomBetween(MockDataConstants.ZERO, MockDataConstants.SEVEN);
OffsetDateTime dt = DateUtility.randomOffsetDateTime(MockDataConstants.TWO_K, MockDataConstants.TWO_K_EIGHTTEEN);
Consult con = new Consult();
con.setActivity("activity_" + s);
con.setActivityDateTime(
dt.plusDays(NumberUtility.randomBetween(MockDataConstants.ZERO, MockDataConstants.TWENTY_THREE)));
con.setActivityEnteredBy("activityEnteredBy" + k);
con.setAttention("attention_" + k);
con.setClinicallyIndicatedDate(
dt.plusDays(NumberUtility.randomBetween(MockDataConstants.ZERO, MockDataConstants.TWENTY_THREE)));
con.setClinicalProcedure("clinicalProcedure_" + s);
con.setEncounterStartDateTime(
dt.plusDays(NumberUtility.randomBetween(MockDataConstants.ZERO, MockDataConstants.FIFTEEN)));
if ((boolean) CollectionUtility.getRandom(new Boolean[] { true, false })) {
con.setEncounterEndDateTime(con.getEncounterStartDateTime()
.plusDays(NumberUtility.randomBetween(MockDataConstants.SIXTEEN, MockDataConstants.THIRTY)));
}
if ((boolean) CollectionUtility.getRandom(new Boolean[] { true, false })) {
con.setEncounterType("inpatient");
con.setProcedureConsult("procedureConsult_" + k);
} else {
con.setEncounterType("outpatient");
con.setProcedureConsult(new String());
}
con.setFacility(f.testFacilityForPatient(k));
con.setFromService("fromService_" + k);
con.setLastAction("lastAction_" + s);
con.setOrderableItem("orderableItem" + k);
con.setPatientId(patientId);
con.setPatientLocation("patientLocation" + k);
con.setPersonResponsibleForActivity(prov.testProviderForPatient(s));
con.setPlaceOfConsultation("placeOfConsultation_" + k);
con.setProvisionalDiagnosis("diagnosis_" + s);
con.setProvisionalDiagnosisCode("diagnosisCode_" + k);
con.setProvisionalDiagnosisDate(
dt.plusDays(NumberUtility.randomBetween(MockDataConstants.ZERO, MockDataConstants.TWENTY_THREE)));
con.setProvisionalDiagnosisSystem("diagnosisSystem_" + k);
con.setReportText("reportText_" + s);
con.setRequestDate(dt);
con.setRequestingProvider(prov.testProviderForPatient(s));
con.setRequestReason("requestReason_" + s);
con.setRoomAndBed(NumberUtility.randomBetween(1, MockDataConstants.ONE_K - 1) + "-"
+ NumberUtility.randomBetween(1, MockDataConstants.TEN));
con.setSignificantFindings("significantFindings_" + s);
con.setStatus("status" + k);
con.setToService("toService_" + k);
con.setUrgency("urgency_" + k);
con.setWardLocation(NumberUtility.randomBetween(1, MockDataConstants.ONE_HUNDRED - 1) + "W");
cc.add(con);
}
return cc;
}
}