//#############################################################################
//#                                                                           #
//#  Copyright (C) <2015>  <IMS MAXIMS>                                       #
//#                                                                           #
//#  This program is free software: you can redistribute it and/or modify     #
//#  it under the terms of the GNU Affero General Public License as           #
//#  published by the Free Software Foundation, either version 3 of the       #
//#  License, or (at your option) any later version.                          # 
//#                                                                           #
//#  This program is distributed in the hope that it will be useful,          #
//#  but WITHOUT ANY WARRANTY; without even the implied warranty of           #
//#  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the            #
//#  GNU Affero General Public License for more details.                      #
//#                                                                           #
//#  You should have received a copy of the GNU Affero General Public License #
//#  along with this program.  If not, see <http://www.gnu.org/licenses/>.    #
//#                                                                           #
//#  IMS MAXIMS provides absolutely NO GUARANTEE OF THE CLINICAL SAFTEY of    #
//#  this program.  Users of this software do so entirely at their own risk.  #
//#  IMS MAXIMS only ensures the Clinical Safety of unaltered run-time        #
//#  software that it builds, deploys and maintains.                          #
//#                                                                           #
//#############################################################################
//#EOH
// This code was generated by Barbara Worwood using IMS Development Environment (version 1.80 build 5589.25814)
// Copyright (C) 1995-2015 IMS MAXIMS. All rights reserved.
// WARNING: DO NOT MODIFY the content of this file

package ims.ocrr.domain;

// Generated from form domain impl
public interface MyOrder extends ims.domain.DomainInterface
{
	// Generated from form domain interface definition
	/**
	* Returns a list of questions
	*/
	public ims.ocrr.vo.InvestigationQuestionsSelectOrderVo getQuestions(ims.ocrr.vo.MyOrderComponentVo component);

	// Generated from form domain interface definition
	/**
	* listHcp
	*/
	public ims.core.vo.HcpCollection listHcp(String text);

	// Generated from form domain interface definition
	public ims.core.vo.MemberOfStaffShortVoCollection listMos(String text);

	// Generated from form domain interface definition
	/**
	* saveOcsOrder
	*/
	public ims.ocrr.vo.OcsOrderVo saveOcsOrder(ims.ocrr.vo.OcsOrderVo ocsOrder, ims.ocrr.vo.SpecimenWorkListItemVoCollection workListItems, ims.ocrr.vo.enums.ORDERSTATE orderState, ims.RefMan.vo.CatsReferralRefVo catsReferral, ims.scheduling.vo.Booking_AppointmentRefVo appt) throws ims.domain.exceptions.StaleObjectException;

	// Generated from form domain interface definition
	/**
	* get
	*/
	public ims.ocrr.vo.InvestigationUnderSpecimenVo getInvestigationUnderSpecimen(Integer idInvestigation);

	// Generated from form domain interface definition
	/**
	* List the details for a collection method and a dayofWeek (passing date and then calculatiing day of week lookup instance)
	*/
	public ims.ocrr.vo.SpecimenCollectionListConfigDetailsVoCollection listSpecimenCollectionDetails(ims.ocrr.vo.lookups.SpecimenCollectionMethod type, ims.framework.utils.Date date);

	// Generated from form domain interface definition
	public ims.core.vo.ClinicalNotesLiteVoCollection listClinicalNotesByCareContextAndNoteType(ims.core.admin.vo.CareContextRefVo careContext, ims.core.vo.lookups.ClinicalNoteType noteType);

	// Generated from form domain interface definition
	public ims.core.vo.LocationLiteVoCollection listActiveLocationsByName(String name);

	// Generated from form domain interface definition
	/**
	* using the investiogationIndex id of a record marked as isProfile - retrieve the PathSpecimenContainer Record - also use a boolean to determine Paediatric or adult container to be returned
	*/
	public ims.ocrr.vo.PathSpecimenContainerVoCollection getAdultOrPaediatricContainerforProfileInvestigation(ims.ocrr.configuration.vo.InvestigationIndexRefVo invIndex, Boolean isUsePaediatricContainer);

	// Generated from form domain interface definition
	/**
	* retrieve the Path Inv Details for a specific investigation
	*/
	public ims.ocrr.vo.PathInvDetailsVo getPathInvDetailsForInvestigation(Integer idInvestigation);

	// Generated from form domain interface definition
	/**
	* listWardsForHospitalByName
	*/
	public ims.core.vo.LocationLiteVoCollection listWardsForHospitalByNameLite(ims.core.resource.place.vo.LocationRefVo location, String name);

	// Generated from form domain interface definition
	/**
	* listClinicsForHospitalByName
	*/
	public ims.core.vo.ClinicLiteVoCollection listClinicsForHospitalByNameLite(ims.core.resource.place.vo.LocationRefVo location, String name);

	// Generated from form domain interface definition
	public ims.core.vo.LocationLiteVoCollection listOutpatDeptsForHospitalByName(ims.core.resource.place.vo.LocationRefVo hospital, String nameFilter);

	// Generated from form domain interface definition
	/**
	* getInpatient
	*/
	public ims.ocrr.vo.MyOrderInpatEpisVo getInpatientEpisode(ims.core.patient.vo.PatientRefVo patient, ims.core.admin.pas.vo.PASEventRefVo pasEvent);

	// Generated from form domain interface definition
	public ims.ocrr.vo.MyOrderOutpatAttendVo getOutPatientAttendance(ims.core.patient.vo.PatientRefVo patient, ims.core.admin.pas.vo.PASEventRefVo pasEvent);

	// Generated from form domain interface definition
	/**
	* Lists GPs by Surname
	*/
	public ims.core.vo.GpShortVoCollection listGPsBySurname(String surname);

	// Generated from form domain interface definition
	/**
	* listClosedRounds
	*/
	public ims.ocrr.vo.PhlebotomyRoundShortVoCollection listClosedRounds(ims.framework.utils.Date date, ims.ocrr.vo.lookups.SpecimenCollectionTime round, ims.core.resource.place.vo.LocationRefVo ward);

	// Generated from form domain interface definition
	public ims.core.vo.HcpLiteVoCollection listHcpLiteByName(String hcpName);

	// Generated from form domain interface definition
	/**
	* List active locations where the location type is hospital
	*/
	public ims.core.vo.LocShortMappingsVoCollection listActiveHospitals();

	// Generated from form domain interface definition
	/**
	* listActiveWardsForHospitalByName
	*/
	public ims.core.vo.LocShortVoCollection listWardsForHospitalByNameShort(ims.core.resource.place.vo.LocationRefVo hospital, String name);

	// Generated from form domain interface definition
	public ims.core.vo.LocShortVoCollection listOutpatDeptsForHospitalByNameShort(ims.core.resource.place.vo.LocationRefVo hospital, String nameFilter);

	// Generated from form domain interface definition
	/**
	* listActiveServiceQuestions
	*/
	public ims.ocrr.vo.ServiceQuestionShortVoCollection listActiveServiceQuestions(Integer serviceId);

	// Generated from form domain interface definition
	/**
	* listCategoryQuestions
	*/
	public ims.ocrr.vo.CategoryQuestionShortVoCollection listActiveCategoryQuestions(ims.ocrr.vo.lookups.Category category);

	// Generated from form domain interface definition
	/**
	* gets the parent ILocation of type hopital for the ward or clinic
	*/
	public ims.framework.interfaces.ILocation getParentHospital(ims.vo.ValueObject wardOrClinic);

	// Generated from form domain interface definition
	/**
	* getOcsOrder
	*/
	public ims.ocrr.vo.OcsOrderVo getOcsOrder(ims.ocrr.orderingresults.vo.OcsOrderSessionRefVo ocsOrder);

	// Generated from form domain interface definition
	/**
	* listActiveMosByName
	*/
	public ims.core.vo.MemberOfStaffLiteVoCollection listActiveMosByName(String name);

	// Generated from form domain interface definition
	/**
	* getProfileLevelPhlebMayCollect
	*/
	public Boolean getProfileLevelPhlebMayCollect(Integer parentInvestigationId);

	// Generated from form domain interface definition
	/**
	* listActiveLocationForService
	*/
	public ims.core.vo.LocationLiteVoCollection listActiveLocationForService(ims.core.clinical.vo.ServiceRefVo service);

	// Generated from form domain interface definition
	/**
	* listAandEForHospitalByNameLite - list active Locations of Type A&E for this hospital by name
	*/
	public ims.core.vo.LocationLiteVoCollection listAandEForHospitalByNameLite(ims.core.resource.place.vo.LocationRefVo hosp, String name);

	// Generated from form domain interface definition
	/**
	* listUserEnteredLocationsForHospitalByNameLite - list all locations of a locationtype created by a user (ie not negative) for the hospital by name
	*/
	public ims.core.vo.LocationLiteVoCollection listUserEnteredLocationsForHospitalByNameLite(ims.core.resource.place.vo.LocationRefVo hosp, String name);

	// Generated from form domain interface definition
	/**
	* updateCatsReferralAdditionalInvStatus
	*/
	public void updateCatsReferralAdditionalInvStatus(ims.RefMan.vo.CatsReferralRefVo catsReferral) throws ims.domain.exceptions.StaleObjectException;

	// Generated from form domain interface definition
	/**
	* getReferrerGP
	*/
	public ims.core.vo.GpLiteVo getReferrerGP(ims.RefMan.vo.CatsReferralRefVo catsRef);

	// Generated from form domain interface definition
	/**
	* getInitiallySeenByHcpFromConsultationClinicalNotesByReferral
	*/
	public ims.core.vo.HcpLiteVo getInitiallySeenByHcpFromConsultationClinicalNotesByReferral(ims.RefMan.vo.CatsReferralRefVo referral);

	// Generated from form domain interface definition
	public ims.core.vo.LocationLiteVoCollection listActiveOutpatientDepartment(ims.core.resource.place.vo.LocationRefVo hospital);

	// Generated from form domain interface definition
	public ims.core.vo.LocationLiteVo getOutpatientDepartmentByClinic(ims.core.resource.place.vo.ClinicRefVo clinic);

	// Generated from form domain interface definition
	public ims.ocrr.vo.InvestigationHelpTextVo getInvestigationHelpText(Integer investigation);

	// Generated from form domain interface definition
	public ims.core.vo.HcpLiteVoCollection listResponsibleMedicsByName(String hcpName);

	// Generated from form domain interface definition
	public ims.RefMan.vo.CatsReferralListVo getCatsReferralListVo(ims.RefMan.vo.CatsReferralRefVo catsRefVo);

	// Generated from form domain interface definition
	public ims.ocrr.vo.MyOrderInpatEpisVo getInpatientEpisodeForPatient(ims.core.patient.vo.PatientRefVo patient);

	// Generated from form domain interface definition
	public ims.core.vo.LocationLiteVoCollection getDefaultEmergencyDepartment(ims.core.resource.place.vo.LocationRefVo hospital);

	// Generated from form domain interface definition
	public Boolean hasArrived(ims.RefMan.vo.CatsReferralRefVo referral);

	// Generated from form domain interface definition
	public ims.core.vo.HcpLiteVo getLeadConsultantForReferral(ims.RefMan.vo.CatsReferralRefVo referral);

	// Generated from form domain interface definition
	public ims.core.vo.HcpLiteVo getHCPbyMoS(ims.core.resource.people.vo.MemberOfStaffRefVo memberOfStaff);

	// Generated from form domain interface definition
	public ims.ocrr.vo.InvestigationQuestionAnswerVoCollection getInvestigationQuestionsAnswers(ims.ocrr.configuration.vo.InvestigationRefVo investigation, ims.ocrr.orderingresults.vo.OcsOrderSessionRefVo orderDetails);

	// Generated from form domain interface definition
	public ims.core.vo.GeneralQuestionAnswerVoCollection getServiceQuestionsAnswers(ims.ocrr.orderingresults.vo.OcsOrderSessionRefVo orderDetails, ims.core.clinical.vo.ServiceRefVo service);

	// Generated from form domain interface definition
	public ims.core.vo.GeneralQuestionAnswerVoCollection getCategoryQuestionsAnswers(ims.ocrr.orderingresults.vo.OcsOrderSessionRefVo orderDetails, ims.ocrr.vo.lookups.Category category);

	// Generated from form domain interface definition
	public ims.RefMan.vo.OrderInvWithStatusApptVo getOrderInvestigationAppointment(ims.ocrr.orderingresults.vo.OrderInvestigationRefVo investigation);

	// Generated from form domain interface definition
	public ims.ocrr.vo.OrderInvestigationBookingWithStatusVo getOrderInvestigationBooking(ims.ocrr.orderingresults.vo.OrderInvestigationRefVo investigation);

	// Generated from form domain interface definition
	public void updateOrderInvestigationAppointment(ims.RefMan.vo.OrderInvWithStatusApptVo orderInvestigationAppointment, ims.ocrr.vo.OrderInvestigationLiteVo investigationToAmend) throws ims.domain.exceptions.StaleObjectException;

	// Generated from form domain interface definition
	public ims.scheduling.vo.Booking_AppointmentVo cancelAppointment(ims.scheduling.vo.Booking_AppointmentVo appointment, ims.chooseandbook.vo.lookups.ActionRequestType requestType, String requestSource) throws ims.domain.exceptions.DomainInterfaceException, ims.domain.exceptions.StaleObjectException;

	// Generated from form domain interface definition
	public ims.ocrr.vo.OrderInvestigationForStatusChangeVo getOrderInvestigation(ims.ocrr.orderingresults.vo.OrderInvestigationRefVo investigation);

	// Generated from form domain interface definition
	public ims.ocrr.vo.OrderInvestigationLiteVo updateInvestigationStatus(ims.ocrr.vo.OrderInvestigationForStatusChangeVo investigation) throws ims.domain.exceptions.StaleObjectException;

	// Generated from form domain interface definition
	public ims.clinical.vo.SummaryClinicalInformationVo getLatestSummaryClinicalInformation(ims.core.patient.vo.PatientRefVo patient);

	// Generated from form domain interface definition
	public ims.core.vo.LocSiteShortVo getTypeOfLocSite(ims.core.resource.place.vo.LocationRefVo locRef);

	// Generated from form domain interface definition
	public ims.core.vo.HcpLiteVoCollection listResponsibleEdClinicians(String hcpName);

	// Generated from form domain interface definition
	public ims.core.vo.CareContextShortVo getCareContextByPasEvent(ims.core.admin.pas.vo.PASEventRefVo pasEvent);

	// Generated from form domain interface definition
	public ims.ocrr.vo.DFTCollectionTypesConfigVo getDFTCollectionTypes();

	// Generated from form domain interface definition
	public ims.ocrr.vo.lookups.OrderPriorityCollection listOrderPriority(Boolean requiresPathologyMappings, Boolean requiresRadiologyMappings, Boolean requiresClinicalMappings);

	// Generated from form domain interface definition
	public ims.core.vo.PasEventShortVo getLatestPasEvent(ims.core.patient.vo.PatientRefVo patient);

	// Generated from form domain interface definition
	public ims.ocrr.vo.lookups.OrderCategory getOrderCategoryByMap();
}
