public override async Tasks.Task <OperationResultEnum> Execute() { Questionnaire questionnaire = _generator.GenerateQuestionnaireFromFlatFile(_arguments); if (questionnaire == null) { _issues.Add(new Issue { Details = $"Failed to extract Questionnaire from flat file format\nLocation: '{_arguments.Questionnaire.Path}'.", Severity = IssueSeverityEnum.Error, }); } string filename = $"{questionnaire.Name}-{ questionnaire.Language}-{questionnaire.Version}.{_arguments.MimeType}"; IOUtility.GenerateLegalFilename(filename); questionnaire.SerializeResourceToDisk(FhirVersion.R4, filename, _arguments.MimeType); _logger.LogInformation($"Questionnaire written in '{_arguments.MimeType}' format to local disk: {filename}"); _logger.LogInformation($"Questionnaire will be assigned the Id: {questionnaire.Id}"); if (!_arguments.SkipValidation) { var opts = new VerifyValidationItemsOptions { Questionnaire = new WithFhirFile(filename), MimeType = _arguments.MimeType }; var verifyValidationOperation = new VerifyValidationItems(opts, _loggerFactory); await verifyValidationOperation.Execute(); _issues.AddRange(verifyValidationOperation.Issues); } return(_issues.Any(issue => issue.Severity == IssueSeverityEnum.Error) ? OperationResultEnum.Failed : OperationResultEnum.Succeeded); }