/// <summary> /// Save new and update existing acquisition site /// </summary> /// <param name="siteStationNumber">Location of the acquisition site going to be stored at</param> /// <param name="acquisitionSite">Acquisition site to be updated</param> public void SaveAcquisitionSite(string siteStationNumber, PathologyAcquisitionSiteType acquisitionSite) { Log.Debug("Saving acquisition site to VistA..."); // input check if (string.IsNullOrWhiteSpace(siteStationNumber)) { throw new MagVixFailureException("Missing parameter: site station number."); } if (acquisitionSite == null) { throw new MagVixFailureException("Missing parameter: acquisition site."); } string URI = String.Format("pathology/acquisition/{0}", siteStationNumber); IRestResponse response; try { string requestBody = ResponseParser.SerializeToXml<PathologyAcquisitionSiteType>(acquisitionSite); response = ExecutePost(URI, VixServiceTypes.Pathology, requestBody); ValidateRestResponse(response); } catch (MagResponseParsingFailureException rpf) { throw new MagVixFailureException("Could not serialize reading site object.", rpf); } catch (MagVixFailureException) { throw; } catch (Exception ex) { throw new MagVixFailureException("Could not complete request to save acquisition site.", ex); } }
/// <summary> /// Removing an acquisition site from the acquisition site list in VistA /// </summary> /// <param name="siteStationNumber">The site to be removed from</param> /// <param name="acquisitionSite">The site being removed</param> public void RemoveAcquisitionSite(string siteStationNumber, PathologyAcquisitionSiteType acquisitionSite) { if (vixClient != null) { vixClient.RemoveAcquisitionSite(siteStationNumber, acquisitionSite); } else { throw new MagVixFailureException("VIX client is null."); } }