private void Initialize()

in src/Microsoft.Health.Dicom.Core/Features/Query/QueryResponseBuilder.cs [119:156]


        private void Initialize(QueryExpression queryExpression)
        {
            switch (queryExpression.QueryResource)
            {
                case QueryResource.AllStudies:
                    _tagsToReturn = new HashSet<DicomTag>(queryExpression.IncludeFields.All ? AllStudyTags : DefaultStudyTags);
                    break;
                case QueryResource.AllSeries:
                    _tagsToReturn = new HashSet<DicomTag>(queryExpression.IncludeFields.All ? AllStudySeriesTags : DefaultStudySeriesTags);
                    break;
                case QueryResource.StudySeries:
                    _tagsToReturn = new HashSet<DicomTag>(queryExpression.IncludeFields.All ? AllSeriesTags : DefaultSeriesTags);
                    break;
                case QueryResource.AllInstances:
                    _tagsToReturn = new HashSet<DicomTag>(queryExpression.IncludeFields.All ? AllStudySeriesInstanceTags : DefaultStudySeriesInstanceTags);
                    break;
                case QueryResource.StudyInstances:
                    _tagsToReturn = new HashSet<DicomTag>(queryExpression.IncludeFields.All ? AllSeriesInstanceTags : DefaultSeriesInstanceTags);
                    break;
                case QueryResource.StudySeriesInstances:
                    _tagsToReturn = new HashSet<DicomTag>(queryExpression.IncludeFields.All ? AllInstancesTags : DefaultInstancesTags);
                    break;
                default:
                    Debug.Fail("A newly added queryResource is not implemeted here");
                    break;
            }

            foreach (DicomTag tag in queryExpression.IncludeFields.DicomTags)
            {
                // we will allow any valid include tag. This will allow customers to get any extended query tags in resposne.
                _tagsToReturn.Add(tag);
            }

            foreach (var cond in queryExpression.FilterConditions)
            {
                _tagsToReturn.Add(cond.QueryTag.Tag);
            }
        }