Клиентская библиотека azure Cognitive Services Health Insights для .NET, версия 1.0.0-beta.1

Health Insights — это служба прикладного ИИ Azure, созданная с помощью Azure Cognitive Services Framework, которая использует несколько Cognitive Services, службы API для здравоохранения и другие ресурсы Azure.

Модель профилирования рака получает клинические записи онкологии пациентов и выводит стадии рака, такие как клинический этап TNM категорий и патологической стадии TNM категорий, а также опухоли сайта, гистологии.

Исходный код | Пакет (NuGet) | Справочная документация по | API Документация по продукту

Начало работы

Предварительные требования

  • Для использования этого пакета требуется подписка Azure .
  • Существующий экземпляр Cognitive Services Health Insights.

Установка пакета

Установите клиент azure Health Insights для библиотеки профилирования рака для .NET с помощью NuGet:

dotnet add package Azure.Health.Insights.CancerProfiling --prerelease

В этой таблице показано отношение между версиями пакета SDK и поддерживаемыми версиями API службы:

Версия пакета SDK Поддерживаемая версия API службы
1.0.0-beta.1 2023-03-01-preview

Аутентификация клиента

Вы можете найти конечную точку для ресурса службы Health Insights с помощью портала Azure или Azure CLI.

# Get the endpoint for the Health Insights service resource
az cognitiveservices account show --name "resource-name" --resource-group "resource-group-name" --query "properties.endpoint"

Получение ключа API

Ключ API можно получить из ресурса службы Health Insights на портале Azure. Кроме того, вы можете использовать приведенный ниже фрагмент кода Azure CLI , чтобы получить ключ API ресурса.

az cognitiveservices account keys list --resource-group <your-resource-group-name> --name <your-resource-name>

Создание CancerProfilingClient с помощью AzureKeyCredential

Получив значение для ключа API, создайте AzureKeyCredential. С помощью конечной точки и учетных данных ключа можно создать CancerProfilingClient:

string endpoint = "<endpoint>";
string apiKey = "<apiKey>";
var credential = new AzureKeyCredential(apiKey);
var client = new CancerProfilingClient(new Uri(endpoint), credential);

Основные понятия

Модель профилирования рака позволяет вывести признаки рака, такие как место опухоли, гистология, клинические категории TNM и патологической стадии TNM категории из неструктурированных клинических документов.

Примеры

Профилирование рака

OncoPhenotypeResult oncoPhenotypeResult = default;
try
{
    Operation<OncoPhenotypeResult> operation = await client.InferCancerProfileAsync(WaitUntil.Completed, oncoPhenotypeData);
    oncoPhenotypeResult = operation.Value;
}
catch (Exception ex)
{
    Console.WriteLine(ex.ToString());
    return;
}
// View operation results
if (oncoPhenotypeResult.Status == JobStatus.Succeeded)
{
    OncoPhenotypeResults oncoResults = oncoPhenotypeResult.Results;
    foreach (OncoPhenotypePatientResult patientResult in oncoResults.Patients)
    {
        Console.WriteLine($"\n==== Inferences of Patient {patientResult.Id} ====");
        foreach (OncoPhenotypeInference oncoInference in patientResult.Inferences)
        {
            Console.WriteLine($"\n=== Clinical Type: {oncoInference.Type.ToString()}  Value: {oncoInference.Value}   ConfidenceScore: {oncoInference.ConfidenceScore} ===");
            foreach (InferenceEvidence evidence in oncoInference.Evidence)
            {
                if (evidence.PatientDataEvidence != null)
                {
                    var dataEvidence = evidence.PatientDataEvidence;
                    Console.WriteLine($"Evidence {dataEvidence.Id} {dataEvidence.Offset} {dataEvidence.Length} {dataEvidence.Text}");
                }
                if (evidence.PatientInfoEvidence != null)
                {
                    var infoEvidence = evidence.PatientInfoEvidence;
                    Console.WriteLine($"Evidence {infoEvidence.System} {infoEvidence.Code} {infoEvidence.Name} {infoEvidence.Value}");
                }
            }
        }
    }
}
else
{
    IReadOnlyList<ResponseError> oncoErrors = oncoPhenotypeResult.Errors;
    foreach (ResponseError error in oncoErrors)
    {
        Console.WriteLine($"{error.Code} : {error.Message}");
    }
}

Устранение неполадок

Настройка ведения журнала консоли

Самый простой способ просмотреть журналы — включить ведение журнала консоли. Чтобы создать прослушиватель журнала пакета Azure SDK, который выводит сообщения в консоль, используйте метод AzureEventSourceListener.CreateConsoleLogger.

// Setup a listener to monitor logged events.
using AzureEventSourceListener listener = AzureEventSourceListener.CreateConsoleLogger();

Дополнительные сведения о других механизмах ведения журнала см. в разделе Примеры диагностики.

Дальнейшие действия

Дополнительная документация

Более подробную документацию по профилированию рака в Azure Health Insights см. в документации по профилированию рака на docs.microsoft.com.

Участие

На этом проекте приветствуются публикации и предложения. Для участия в большинстве процессов по разработке документации необходимо принять лицензионное соглашение участника (CLA), в котором указывается, что вы предоставляете нам права на использование ваших публикаций. Дополнительные сведения см. на странице cla.microsoft.com.

При отправке запроса на включение внесенных изменений CLA-бот автоматически определит необходимость предоставления соглашения CLA и соответствующего оформления запроса на включение внесенных изменений (например, добавление метки, комментария). Просто следуйте инструкциям бота. Будет достаточно выполнить их один раз для всех репозиториев, поддерживающих соглашение CLA.

В рамках этого проекта действуют правила поведения в отношении продуктов с открытым исходным кодом Майкрософт. Дополнительные сведения см. в разделе часто задаваемых вопросов о правилах поведения или обратитесь к opencode@microsoft.com с любыми дополнительными вопросами или комментариями.