public void GivenAText_WhenPresidioAnonymizationCalled_ThenAnonymizedTextShouldBeReturned()
        {
            const string text             = "Text For Anonymization";
            string       analyzerUrl      = "localhost";
            string       anonymizerUrl    = "localhost";
            string       analyzerLanguage = "en";

            var anonymizedText = PresidioUtility.Anonymize(text, new PresidioApiHandlerMock(analyzerLanguage, analyzerUrl, anonymizerUrl));

            Assert.Equal("Anonymized Text", anonymizedText);
        }
        public ProcessResult Process(ElementNode node, ProcessContext context = null, Dictionary <string, object> settings = null)
        {
            var processResult = new ProcessResult();

            if (string.IsNullOrEmpty(node?.Value?.ToString()))
            {
                return(processResult);
            }

            var input = node.Value.ToString();

            node.Value = string.IsNullOrEmpty(input) ? input : PresidioUtility.Anonymize(input, presidioApiHandler);
            _logger.LogDebug($"Fhir value '{input}' at '{node.Location}' is anonymized with Presidio to '{node.Value}'.");

            processResult.AddProcessRecord(AnonymizationOperations.Presidio, node);
            return(processResult);
        }