static public QueryRequestCqlQuery createQueryRequestCqlQuery(string name, string[] queryModifierItems, ItemsChoiceType[] queryModifierItemsChoiceType1, Association targetAssociation, Group targetGroup) { var arg = new QueryRequestCqlQuery(); arg.CQLQuery = new CQLQuery(); arg.CQLQuery.Target = new Object(); arg.CQLQuery.Target.name = name; if ((queryModifierItems != null) && (queryModifierItemsChoiceType1 != null)) { arg.CQLQuery.QueryModifier = new QueryModifier(); arg.CQLQuery.QueryModifier.countOnly = false; arg.CQLQuery.QueryModifier.Items = queryModifierItems; arg.CQLQuery.QueryModifier.ItemsElementName = queryModifierItemsChoiceType1; } if (targetAssociation != null) { arg.CQLQuery.Target.Item = targetAssociation; } else if (targetGroup != null) { arg.CQLQuery.Target.Item = targetGroup; } return(arg); }
public static QueryRequestCqlQuery createQueryRequestCqlQuery(string name, string[] queryModifierItems, ItemsChoiceType[] queryModifierItemsChoiceType1, Association targetAssociation, Group targetGroup) { QueryRequestCqlQuery arg = new QueryRequestCqlQuery(); arg.CQLQuery = new CQLQuery(); arg.CQLQuery.Target = new Object(); arg.CQLQuery.Target.name = name; if ((queryModifierItems != null) && (queryModifierItemsChoiceType1 != null)) { arg.CQLQuery.QueryModifier = new QueryModifier(); arg.CQLQuery.QueryModifier.countOnly = false; arg.CQLQuery.QueryModifier.Items = queryModifierItems; arg.CQLQuery.QueryModifier.ItemsElementName = queryModifierItemsChoiceType1; } if (targetAssociation != null) arg.CQLQuery.Target.Item = targetAssociation; else if (targetGroup != null) arg.CQLQuery.Target.Item = targetGroup; return arg; }
internal static string ToXml(QueryRequestCqlQuery arg, QueryRequestCqlQuery arg1) { throw new NotImplementedException(); }
private CQLQueryResults getTrialDataProvenanceCQLInfo(string endPointUrl) { object[] obj; CQLQueryResults result; Association assoClinicalTrialSite = null; Association assoClinicalTrialProtocol = null; Association assoClinicalTrialSubject = null; Association assoImage = null; Association assoSeries = null; Association assoStudy = null; Association assoPatient = null; ArrayList results = new ArrayList(); NCIACoreServicePortTypeClient proxy = new NCIACoreServicePortTypeClient(); proxy.Endpoint.Address = new System.ServiceModel.EndpointAddress(endPointUrl); string[] items = new string[] { "project", "siteId", "siteName" }; // On caGrid site it has the front not "dpSiteId", "dpSiteName"!!! ItemsChoiceType[] itemsChoiceType1 = new ItemsChoiceType[] { ItemsChoiceType.AttributeNames, ItemsChoiceType.AttributeNames, ItemsChoiceType.AttributeNames }; // ClinicalTrial Site assoClinicalTrialSite = null; obj = null; results = new ArrayList(); if (!_queryParameters.SiteId.IsEmpty) { results.Add(this.CreateAttribute("siteId", _queryParameters.SiteId)); } if (!_queryParameters.SiteName.IsEmpty) { results.Add(this.CreateAttribute("siteName", _queryParameters.SiteName)); } if (results.Count > 0) { obj = (object[])results.ToArray(typeof(object)); } if (obj != null) { Group grpClinicalTrialSite = CreateQRAttrAssoGroup.createGroup(obj, LogicalOperator.AND); assoClinicalTrialSite = CreateQRAttrAssoGroup.createAssociation("gov.nih.nci.ncia.domain.ClinicalTrialSite", "site", grpClinicalTrialSite); } // ClinicalTrial Protocol assoClinicalTrialProtocol = null; obj = null; results = new ArrayList(); if (!_queryParameters.ProtocolId.IsEmpty) { results.Add(this.CreateAttribute("protocolId", _queryParameters.ProtocolId)); } if (!_queryParameters.ProtocolName.IsEmpty) { results.Add(this.CreateAttribute("protocolName", _queryParameters.ProtocolName)); } if (results.Count > 0) { obj = (object[])results.ToArray(typeof(object)); } if (obj != null) { Group grpClinicalTrialProtocol = CreateQRAttrAssoGroup.createGroup(obj, LogicalOperator.AND); assoClinicalTrialProtocol = CreateQRAttrAssoGroup.createAssociation("gov.nih.nci.ncia.domain.ClinicalTrialProtocol", "protocol", grpClinicalTrialProtocol); } // Clinical Trial Subject obj = null; results = new ArrayList(); assoClinicalTrialSubject = null; if (assoClinicalTrialSite != null) { results.Add(assoClinicalTrialSite); } if (assoClinicalTrialProtocol != null) { results.Add(assoClinicalTrialProtocol); } if (results.Count > 0) { obj = (object[])results.ToArray(typeof(object)); } if (obj != null) { Group grpClinicalTrialSubject = CreateQRAttrAssoGroup.createGroup(obj, LogicalOperator.AND); assoClinicalTrialSubject = CreateQRAttrAssoGroup.createAssociation("gov.nih.nci.ncia.domain.ClinicalTrialSubject", "subjectCollection", grpClinicalTrialSubject); } // Image assoImage = null; if (!_queryParameters.SliceThickness.IsEmpty) { Attribute attrPatient = this.CreateAttribute("sliceThickness", _queryParameters.SliceThickness); Group grpPatient = CreateQRAttrAssoGroup.createGroup(attrPatient, LogicalOperator.AND); assoImage = CreateQRAttrAssoGroup.createAssociation("gov.nih.nci.ncia.domain.Image", "imageCollection", grpPatient); } // Series results = new ArrayList(); assoSeries = null; obj = null; if (assoImage != null) { results.Add(assoImage); } if (!_queryParameters.Modality.IsEmpty) { results.Add(this.CreateAttribute("modality", _queryParameters.Modality)); } if (results.Count > 0) { obj = (object[])results.ToArray(typeof(object)); } if (obj != null) { Group grpSeries = CreateQRAttrAssoGroup.createGroup(obj, LogicalOperator.AND); assoSeries = CreateQRAttrAssoGroup.createAssociation("gov.nih.nci.ncia.domain.Series", "seriesCollection", grpSeries); } // Study obj = null; assoStudy = null; results = new ArrayList(); if (assoSeries != null) { results.Add(assoSeries); } if (!_queryParameters.StudyInstanceUID.IsEmpty) { results.Add(this.CreateAttribute("studyInstanceUID", _queryParameters.StudyInstanceUID)); } assoStudy = null; if (results.Count > 0) { obj = (object[])results.ToArray(typeof(object)); } if (obj != null) { Group groupStudy = CreateQRAttrAssoGroup.createGroup(obj, LogicalOperator.AND); assoStudy = CreateQRAttrAssoGroup.createAssociation("gov.nih.nci.ncia.domain.Study", "studyCollection", groupStudy); } // Patient obj = null; results = new ArrayList(); if (assoStudy != null) { results.Add(assoStudy); } if (assoClinicalTrialSubject != null) { results.Add(assoClinicalTrialSubject); } if (!_queryParameters.PatientBirthDate.IsEmpty) { results.Add(this.CreateAttribute("patientBirthDate", _queryParameters.PatientBirthDate)); } if (!_queryParameters.PatientId.IsEmpty) { results.Add(this.CreateAttribute("patientId", _queryParameters.PatientId)); } if (!_queryParameters.PatientName.IsEmpty) { results.Add(this.CreateAttribute("patientName", _queryParameters.PatientName)); } if (!_queryParameters.PatientSex.IsEmpty) { results.Add(this.CreateAttribute("patientSex", _queryParameters.PatientSex)); } if (results.Count > 0) { obj = (object[])results.ToArray(typeof(object)); } if (obj != null) { Group patientGroup = CreateQRAttrAssoGroup.createGroup(obj, LogicalOperator.AND); assoPatient = CreateQRAttrAssoGroup.createAssociation("gov.nih.nci.ncia.domain.Patient", "patientCollection", patientGroup); } // TrialDataProvenance (ROOT) obj = null; results = new ArrayList(); if (assoPatient != null) { results.Add(assoPatient); } if (!_queryParameters.ProjectName.IsEmpty) { results.Add(this.CreateAttribute("project", _queryParameters.ProjectName)); } if (results.Count > 0) { obj = (object[])results.ToArray(typeof(object)); } Group groupTrialDataProvenance = null; if (obj != null) { groupTrialDataProvenance = CreateQRAttrAssoGroup.createGroup(obj, LogicalOperator.AND); } QueryRequestCqlQuery arg = CreateQRAttrAssoGroup.createQueryRequestCqlQuery("gov.nih.nci.ncia.domain.TrialDataProvenance", items, itemsChoiceType1, null, groupTrialDataProvenance); XmlDocument doc = XMLSerializingDeserializing.Serialize(arg); Console.WriteLine(((System.Xml.XmlDocument)((System.Xml.XmlNode)(doc))).InnerXml); try { result = proxy.query(arg); } catch (System.Net.WebException ex) { System.Console.WriteLine(ex.Message); result = null; } catch (Exception e) { System.Console.WriteLine(e.Message); result = null; throw new GridServicerException("Error querying NCIA Grid", e); } return(result); }
private CQLQueryResults getImageAnnotationCQLInfo() { object[] obj = null; Attribute attrTemp = null; Association assoTemp = null; var proxy = new AIM3DataServicePortTypeClient(); proxy.Endpoint.Address = new System.ServiceModel.EndpointAddress(AIMDataServiceSettings.Default.AIMDataServiceUrl); var associationList = new ArrayList(); Association aecAssociation = null; foreach (var queryData in _queryParameters.AecQueryParameters) { var results = new ArrayList(); if (!queryData.CodeValue.IsEmpty) { results.Add(CreateAttribute("codeValue", queryData.CodeValue)); } //if (!queryData.CodeMeaning.IsEmpty) results.Add(CreateAttribute("codeMeaning", queryData.CodeMeaning)); if (!queryData.CodingSchemeDesignator.IsEmpty) { results.Add(CreateAttribute("codingSchemeDesignator", queryData.CodingSchemeDesignator)); } if (!queryData.CodingSchemeVersion.IsEmpty) { results.Add(CreateAttribute("codingSchemeVersion", queryData.CodingSchemeVersion)); } if (!queryData.Confidence.IsEmpty) { results.Add(CreateAttribute("annotatorConfidence", queryData.Confidence)); } if (results.Count > 0) { obj = (object[])results.ToArray(typeof(object)); } if (obj != null && obj.Length > 0) { Group grpAnnatomicEntityCharacteristic = null; if (obj.Length > 1) { grpAnnatomicEntityCharacteristic = CreateQRAttrAssoGroup.createGroup(obj, LogicalOperator.AND); obj = null; } else { attrTemp = obj[0] as Attribute; } aecAssociation = CreateQRAttrAssoGroup.createAssociation("edu.northwestern.radiology.aim.AnatomicEntityCharacteristic", "anatomicEntityCharacteristicCollection", grpAnnatomicEntityCharacteristic, attrTemp, null); } } obj = null; if (aecAssociation != null && _queryParameters.AeQueryParameters.Count == 0) { var queryData = new AimAnatomicEntityQueryData(); queryData.CodeMeaning = new QueryData(String.Empty, QueryPredicate.LIKE); _queryParameters.AeQueryParameters.Add(queryData); } foreach (var queryData in _queryParameters.AeQueryParameters) { var results = new ArrayList(); if (!queryData.CodeValue.IsEmpty) { results.Add(CreateAttribute("codeValue", queryData.CodeValue)); } //if (!queryData.CodeMeaning.IsEmpty) results.Add(CreateAttribute("codeMeaning", queryData.CodeMeaning)); if (!queryData.CodingSchemeDesignator.IsEmpty) { results.Add(CreateAttribute("codingSchemeDesignator", queryData.CodingSchemeDesignator)); } if (!queryData.CodingSchemeVersion.IsEmpty) { results.Add(CreateAttribute("codingSchemeVersion", queryData.CodingSchemeVersion)); } if (!queryData.Confidence.IsEmpty) { results.Add(CreateAttribute("annotatorConfidence", queryData.Confidence)); } if (aecAssociation != null) { results.Add(aecAssociation); } if (results.Count > 0) { obj = (object[])results.ToArray(typeof(object)); } if (obj != null && obj.Length > 0) { Group grpAnnatomicEntity = null; if (obj.Length > 1) { grpAnnatomicEntity = CreateQRAttrAssoGroup.createGroup(obj, LogicalOperator.AND); obj = null; } else { attrTemp = obj[0] as Attribute; } associationList.Add(CreateQRAttrAssoGroup.createAssociation("edu.northwestern.radiology.aim.AnatomicEntity", "anatomicEntityCollection", grpAnnatomicEntity, attrTemp, null)); } } obj = null; Association iocAssociation = null; foreach (var queryData in _queryParameters.ImcQueryParameters) { var results = new ArrayList(); if (!queryData.CodeValue.IsEmpty) { results.Add(CreateAttribute("codeValue", queryData.CodeValue)); } if (!queryData.CodeMeaning.IsEmpty) { results.Add(CreateAttribute("codeMeaning", queryData.CodeMeaning)); } if (!queryData.CodingSchemeDesignator.IsEmpty) { results.Add(CreateAttribute("codingSchemeDesignator", queryData.CodingSchemeDesignator)); } if (!queryData.CodingSchemeVersion.IsEmpty) { results.Add(CreateAttribute("codingSchemeVersion", queryData.CodingSchemeVersion)); } if (!queryData.Confidence.IsEmpty) { results.Add(CreateAttribute("annotatorConfidence", queryData.Confidence)); } if (!queryData.Comment.IsEmpty) { results.Add(CreateAttribute("comment", queryData.Comment)); } if (results.Count > 0) { obj = (object[])results.ToArray(typeof(object)); } if (obj != null && obj.Length > 0) { Group grpImagingObservationCharacteristic = null; if (obj.Length > 1) { grpImagingObservationCharacteristic = CreateQRAttrAssoGroup.createGroup(obj, LogicalOperator.AND); obj = null; } else { attrTemp = obj[0] as Attribute; } iocAssociation = CreateQRAttrAssoGroup.createAssociation("edu.northwestern.radiology.aim.ImagingObservationCharacteristic", "imagingObservationCharacteristicCollection", grpImagingObservationCharacteristic, attrTemp, null); } } obj = null; if (iocAssociation != null && _queryParameters.ImQueryParameters.Count == 0) { var queryData = new AimImagingObservationQueryData(); queryData.CodeMeaning = new QueryData(String.Empty, QueryPredicate.LIKE); _queryParameters.ImQueryParameters.Add(queryData); } foreach (var queryData in _queryParameters.ImQueryParameters) { var results = new ArrayList(); if (!queryData.CodeValue.IsEmpty) { results.Add(CreateAttribute("codeValue", queryData.CodeValue)); } //if (!queryData.CodeMeaning.IsEmpty) results.Add(CreateAttribute("codeMeaning", queryData.CodeMeaning)); if (!queryData.CodingSchemeDesignator.IsEmpty) { results.Add(CreateAttribute("codingSchemeDesignator", queryData.CodingSchemeDesignator)); } if (!queryData.CodingSchemeVersion.IsEmpty) { results.Add(CreateAttribute("codingSchemeVersion", queryData.CodingSchemeVersion)); } if (!queryData.Comment.IsEmpty) { results.Add(CreateAttribute("comment", queryData.Comment)); } if (!queryData.Confidence.IsEmpty) { results.Add(CreateAttribute("annotatorConfidence", queryData.Confidence)); } if (iocAssociation != null) { results.Add(iocAssociation); } if (results.Count > 0) { obj = (object[])results.ToArray(typeof(object)); } if (obj != null && obj.Length > 0) { attrTemp = null; Group grpImagingObservation = null; if (obj.Length > 1) { grpImagingObservation = CreateQRAttrAssoGroup.createGroup(obj, LogicalOperator.AND); obj = null; } else { attrTemp = obj[0] as Attribute; } associationList.Add(CreateQRAttrAssoGroup.createAssociation("edu.northwestern.radiology.aim.ImagingObservation", "imagingObservationCollection", grpImagingObservation, attrTemp, null)); } } obj = null; foreach (QueryData queryData in _queryParameters.UserParameters) { var results = new ArrayList(); if (!queryData.IsEmpty) { results.Add(CreateAttribute("loginName", queryData)); results.Add(CreateAttribute("name", queryData)); } if (results.Count > 0) { obj = (object[])results.ToArray(typeof(Attribute)); } if (obj != null && obj.Length > 0) { Group grpAnnatomicEntityCharacteristic = null; if (obj.Length > 1) { grpAnnatomicEntityCharacteristic = CreateQRAttrAssoGroup.createGroup(obj, LogicalOperator.OR); obj = null; } else { attrTemp = obj[0] as Attribute; } associationList.Add(CreateQRAttrAssoGroup.createAssociation("edu.northwestern.radiology.aim.User", "user", grpAnnatomicEntityCharacteristic, attrTemp, null)); } } var resultStudy = new ArrayList(); Association assoStudy = null; obj = null; foreach (QueryData queryData in _queryParameters.StudyInstanceUidParameters) { if (!queryData.IsEmpty) { resultStudy.Add(CreateAttribute("instanceUID", queryData)); } } if (resultStudy.Count > 0) { obj = (object[])resultStudy.ToArray(typeof(Attribute)); } if (obj != null && obj.Length > 0) { attrTemp = null; Group grpStudy = null; if (obj.Length > 1) { grpStudy = CreateQRAttrAssoGroup.createGroup(obj, LogicalOperator.OR); obj = null; } else { attrTemp = obj[0] as Attribute; } assoStudy = CreateQRAttrAssoGroup.createAssociation("edu.northwestern.radiology.aim.ImageStudy", "imageStudy", grpStudy, attrTemp, null); } if (assoStudy != null) { associationList.Add(CreateQRAttrAssoGroup.createAssociation("edu.northwestern.radiology.aim.DICOMImageReference", "imageReferenceCollection", null, null, assoStudy)); } obj = null; Group grpImageAnnotation = null; if (associationList.Count > 0) { obj = (object[])associationList.ToArray(typeof(Association)); } if (obj != null && obj.Length > 0) { assoTemp = null; if (obj.Length > 1) { grpImageAnnotation = CreateQRAttrAssoGroup.createGroup(obj, LogicalOperator.AND); } else { assoTemp = obj[0] as Association; } } QueryRequestCqlQuery arg = CreateQRAttrAssoGroup.createQueryRequestCqlQuery("edu.northwestern.radiology.aim.ImageAnnotation", null, null, assoTemp, grpImageAnnotation); var doc = XMLSerializingDeserializing.Serialize(arg); Console.WriteLine(doc.InnerXml); CQLQueryResults result; try { result = proxy.query(arg); } catch (System.Net.WebException ex) { Console.WriteLine(ex.Message); result = null; } catch (Exception e) { Console.WriteLine(e.Message); result = null; throw new GridServicerException("Error querying AIM data service", e); } return(result); }