public AppointmentTO makeAppointment(string clinicId, string appointmentTimestamp, string purpose, string purposeSubcategory, string appointmentLength, string appointmentType) { AppointmentTO result = new AppointmentTO(); if (!_mySession.ConnectionSet.IsAuthorized) { result.fault = new FaultTO("Connections not ready for operation", "Need to login?"); } else if (String.IsNullOrEmpty(clinicId)) { result.fault = new FaultTO("Missing clinic ID"); } else if (String.IsNullOrEmpty(appointmentTimestamp)) { result.fault = new FaultTO("Missing appointment timestamp"); } else if (String.IsNullOrEmpty(appointmentType)) { result.fault = new FaultTO("Missing appointment type"); } else if (String.IsNullOrEmpty(appointmentLength)) { result.fault = new FaultTO("Missing appointment length"); } else if (String.IsNullOrEmpty(purpose)) { result.fault = new FaultTO("Missing appointment purpose"); } if (result.fault != null) { return result; } try { Appointment appt = new Appointment() { AppointmentType = new AppointmentType() { ID = appointmentType }, Clinic = new HospitalLocation() { Id = clinicId }, Length = appointmentLength, Purpose = purpose, PurposeSubcategory = purposeSubcategory, Timestamp = appointmentTimestamp }; appt = new EncounterApi().makeAppointment(_mySession.ConnectionSet.BaseConnection, appt); result = new AppointmentTO(appt); } catch (Exception exc) { result.fault = new FaultTO(exc); } return result; }