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.Immunization;
import gov.va.med.pbm.ampl.model.VaccineInfoStatement;
import gov.va.med.pbm.ampl.model.ValueQuantity;
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 ImmunizationData {
private String patientId;
/**
* The application logger.
*/
static final Logger LOGGER = LoggerFactory.getLogger(ImmunizationData.class);
/**
* Single parameter constructor.
*
* @param patientId {@link Long}
*/
public ImmunizationData(String patientId) {
this.patientId = patientId;
}
/**
* Generates a {@link Immunization} {@link Collection} used in mock cases.
*
* @param c the count of {@link Immunization} to create
* @return a {@link Collection} of {@link Immunization} with mock data
*/
public Collection<Immunization> testImmunizationsForPatient(int c) {
Collection<Immunization> ic = new ArrayList<Immunization>();
FacilityData f = new FacilityData();
for (int i = 1; i <= c; i++) {
Immunization im = new Immunization();
String s = Immunization.class.getSimpleName().toUpperCase() + i;
int k = NumberUtility.randomBetween(MockDataConstants.ZERO, MockDataConstants.SEVEN);
double d = NumberUtility.randomFloatBetween(MockDataConstants.NINETY_FIVE_ZERO, MockDataConstants.ONE_O_ONE_ZERO);
int is = NumberUtility.randomBetween(MockDataConstants.ONE, MockDataConstants.THREE);
OffsetDateTime dt = DateUtility.randomOffsetDateTime(MockDataConstants.TWO_K, MockDataConstants.TWO_K_EIGHTTEEN);
OffsetDateTime edt = DateUtility.randomOffsetDateTime(MockDataConstants.TWO_K_TWENTY,
MockDataConstants.TWO_K_THIRTY);
im.setAdminBodySite("LA");
im.setAdministered(dt);
im.setAdministeredBy("RN:" + i);
im.setAdminRoute("IM");
im.setComments("A COMMENT: " + i);
im.setContraindicated("Contraindication");
im.setDose(new ValueQuantity(String.format("%.2f", d), "mg"));
im.setExpirationDate(edt);
im.setFacility(f.testFacilityForPatient(k));
im.setFullName(s + " Name");
im.setLocation("Location:" + i);
im.setLotNumber(NumberUtility.randomBetween(MockDataConstants.ONE_K, MockDataConstants.TEN_K - 1) + "");
im.setManufacturer("ACME");
im.setMaxInSeries(MockDataConstants.THREE);
im.setName(s);
im.setNdc("DTP");
im.setOrderedBy("MD:" + i);
im.setPatientId(patientId);
im.setReaction("LOCAL REACTION OR SWELLING");
im.setSeries(is);
im.setVaccineInfoStatement(this.createVis());
ic.add(im);
}
return ic;
}
/**
* creates Mock VaccineInfoStatements
*
* @return mock VaccineInfoStatements
*/
private Collection<VaccineInfoStatement> createVis() {
ArrayList<VaccineInfoStatement> rtn = new ArrayList<VaccineInfoStatement>();
VaccineInfoStatement vis = new VaccineInfoStatement();
String s = VaccineInfoStatement.class.getSimpleName().toUpperCase();
vis.setEditionDate(OffsetDateTime.now());
vis.setEditionLang("English");
vis.setName(s);
rtn.add(vis);
return rtn;
}
}