private AimTemplateTreeNode AimTemplateTreeNodeFromXsdComponent(TemplateComponent component) { AimTemplateTreeNode node = null; var allowedTerms = new List<AimTemplateTreeAllowedTerm>(); if (component.Items != null) { foreach (object item in component.Items) { if (item.GetType() == typeof(TemplateComponentAnatomicEntity)) { node = AimTemplateTreeAnatomicEntityNodeFromXsdAnatomicEntity(component, (TemplateComponentAnatomicEntity)item); } if (item.GetType() == typeof(TemplateComponentImagingObservation)) { node = AimTemplateTreeImagingObservationNodeFromXsdImagingObservation(component, (TemplateComponentImagingObservation)item); } if (item.GetType() == typeof(TemplateComponentInference)) { node = AimTemplateTreeInferenceNodeFromXsdInference(component, (TemplateComponentInference)item); } if (item.GetType() == typeof(TemplateComponentGeometricShape)) { node = AimTemplateTreeGeometricShapeNodeFromXsdGeometricShape(component, (TemplateComponentGeometricShape)item); } if (item.GetType() == typeof(TemplateComponentCalculation)) { node = AimTemplateTreeCalculationNodeFromXsdCalculation(component, (TemplateComponentCalculation)item); } if (item.GetType() == typeof(TemplateComponentAllowedTerm)) { //AllowedTerm term = AllowedTermFromXsdAllowedTerm((TemplateComponentAllowedTerm)item); //allowedTerms.Add(term); } } } return node; }
private AimTemplateTreeInferenceNode AimTemplateTreeInferenceNodeFromXsdInference(TemplateComponent component, TemplateComponentInference inference) { var allowedTerms = new List<AimTemplateTreeAllowedTerm>(); for (int index = 0; index < component.Items.Length; index++) { object item = component.Items[index]; if (item.GetType() == typeof(TemplateComponentAllowedTerm)) { var term = AllowedTermFromXsdAllowedTerm((TemplateComponentAllowedTerm)item); if (term != null) { term.PresentationIndex = index; allowedTerms.Add(term); } } } int itemNumber; int.TryParse(component.itemNumber, out itemNumber); int minCardinality; int.TryParse(component.minCardinality, out minCardinality); int maxCardinality; int.TryParse(component.maxCardinality, out maxCardinality); string label = component.label; if (component.QuestionType != null) label = component.QuestionType.codeMeaning; var node = new AimTemplateTreeInferenceNode( label, itemNumber, component.explanatoryText, minCardinality, maxCardinality, component.shouldDisplay, component.groupLabel, ValidTermFromXsdValidTerm(component.QuestionType), inference.annotatorConfidence, allowedTerms, component.id ); return node; }
private AimTemplateTreeGeometricShapeNode AimTemplateTreeGeometricShapeNodeFromXsdGeometricShape(TemplateComponent component, TemplateComponentGeometricShape geometricShape) { int itemNumber; int.TryParse(component.itemNumber, out itemNumber); int minCardinality; int.TryParse(component.minCardinality, out minCardinality); int maxCardinality; int.TryParse(component.maxCardinality, out maxCardinality); string label = component.label; if (component.QuestionType != null) label = component.QuestionType.codeMeaning; var node = new AimTemplateTreeGeometricShapeNode( label, itemNumber, component.explanatoryText, minCardinality, maxCardinality, component.shouldDisplay, component.groupLabel, ValidTermFromXsdValidTerm(component.QuestionType), geometricShape.noMoreQuestions, geometricShape.nextId, component.id, GeometricShapesFromXsdGeometricShapeValue(geometricShape.Value) ); return node; }
private AimTemplateTreeImagingObservationNode AimTemplateTreeImagingObservationNodeFromXsdImagingObservation(TemplateComponent component, TemplateComponentImagingObservation imagingObservation) { var allowedTerms = new List<AimTemplateTreeAllowedTerm>(); for (int index = 0; index < component.Items.Length; index++) { object item = component.Items[index]; if (item.GetType() == typeof(TemplateComponentAllowedTerm)) { var term = AllowedTermFromXsdAllowedTerm((TemplateComponentAllowedTerm)item); if (term != null) { term.PresentationIndex = index; allowedTerms.Add(term); } } } var imagingObservationCharacteristics = new List<AimTemplateTreeImagingObservationCharacteristicNode>(); if (imagingObservation.ImagingObservationCharacteristic != null) { imagingObservationCharacteristics.AddRange(imagingObservation.ImagingObservationCharacteristic.Select( anatomicEntityCharacteristic => AimTemplateTreeImagingObservationCharacteristicNodeFromXsdImagingObservationCharacteristic(anatomicEntityCharacteristic)).ToList()); } int itemNumber; int.TryParse(component.itemNumber, out itemNumber); int minCardinality; int.TryParse(component.minCardinality, out minCardinality); int maxCardinality; int.TryParse(component.maxCardinality, out maxCardinality); string label = component.label; if (component.QuestionType != null) label = component.QuestionType.codeMeaning; var node = new AimTemplateTreeImagingObservationNode( label, itemNumber, component.explanatoryText, minCardinality, maxCardinality, component.shouldDisplay, component.groupLabel, ValidTermFromXsdValidTerm(component.QuestionType), imagingObservation.annotatorConfidence, allowedTerms, imagingObservationCharacteristics, component.id ); return node; }
private AimTemplateTreeCalculationNode AimTemplateTreeCalculationNodeFromXsdCalculation(TemplateComponent component, TemplateComponentCalculation calculation) { int itemNumber; int.TryParse(component.itemNumber, out itemNumber); var calculationTypes = calculation.CalculationType.Select(calc => AimTemplateTreeCalculationTypeFromXsdCalculationType(calc)).ToList(); int minCardinality; int.TryParse(component.minCardinality, out minCardinality); int maxCardinality; int.TryParse(component.maxCardinality, out maxCardinality); string label = component.label; if (component.QuestionType != null) label = component.QuestionType.codeMeaning; return new AimTemplateTreeCalculationNode( label, itemNumber, component.explanatoryText, minCardinality, maxCardinality, component.shouldDisplay, component.groupLabel, ValidTermFromXsdValidTerm(component.QuestionType), calculation.noMoreQuestions, calculation.nextId, calculationTypes, component.id ); }