package ca.uhn.fhir.parser.i423; import java.util.List; import ca.uhn.fhir.model.api.IElement; import ca.uhn.fhir.model.api.annotation.Child; import ca.uhn.fhir.model.api.annotation.Description; import ca.uhn.fhir.model.api.annotation.ResourceDef; import ca.uhn.fhir.model.dstu2.resource.ProcedureRequest; import ca.uhn.fhir.util.ElementUtil; @ResourceDef(name = "ProcedureRequest", id = "custom-procedure-request", profile = "http://test/") public class CustomProcedureRequest extends ProcedureRequest { private static final long serialVersionUID = 1L; /** * scheduled */ @Child(name = FIELD_SCHEDULED, min = 0, max = 1, order = Child.REPLACE_PARENT, type = { CustomTimingDt.class }) @Description(shortDefinition = "When procedure should occur", formalDefinition = "The timing schedule for the proposed or ordered procedure. The Schedule data type allows many different expressions. E.g. \"Every 8 hours\"; \"Three times a day\"; \"1/2 an hour before breakfast for 10 days from 23-Dec 2011:\"; \"15 Oct 2013, 17 Oct 2013 and 1 Nov 2013\".") protected CustomTimingDt ourScheduled; public static final String FIELD_SCHEDULED = "scheduled"; public CustomTimingDt _getScheduled() { if (ourScheduled == null) ourScheduled = new CustomTimingDt(); return ourScheduled; } public CustomProcedureRequest _setScheduled(CustomTimingDt theValue) { ourScheduled = theValue; return this; } @Override public boolean isEmpty() { return super.isEmpty() && ElementUtil.isEmpty(ourScheduled); } @Override public <T extends IElement> List<T> getAllPopulatedChildElementsOfType(Class<T> theType) { return ElementUtil.allPopulatedChildElements(theType, ourScheduled); } }