你当前正在访问 Microsoft Azure Global Edition 技术文档网站。 如果需要访问由世纪互联运营的 Microsoft Azure 中国技术文档网站,请访问 https://docs.azure.cn

适用于 .NET 的 Azure 认知服务运行状况见解癌症分析客户端库 - 版本 1.0.0-beta.1

Health Insights 是使用 Azure 认知服务框架构建的 Azure 应用 AI 服务,它利用多个认知服务、医疗保健 API 服务和其他 Azure 资源。

癌症分析模型接收肿瘤患者的临床记录,并输出癌症分期,如临床阶段TNM类别和病理阶段TNM类别以及肿瘤部位、组织学。

源代码 | 包 (NuGet) | API 参考文档 | 产品文档

入门

先决条件

  • 需要一个 Azure 订阅 才能使用此包。
  • 现有的认知服务运行状况见解实例。

安装包

使用 NuGet 安装适用于 .NET 的 Azure Health Insights 客户端 Cancer Profiling 库:

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

此表显示了 SDK 版本与服务支持的 API 版本之间的关系:

SDK 版本 服务支持的 API 版本
1.0.0-beta.1 2023-03-01-preview

验证客户端

可以使用 Azure 门户Azure CLI 查找 Health Insights 服务资源的终结点

# 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 密钥

可以从 Azure 门户中的 Health Insights 服务资源获取 API 密钥 。 或者,可以使用下面的 Azure CLI 代码片段获取资源的 API 密钥。

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

使用 AzureKeyCredential 创建 CancerProfilingClient

获得 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,并相应地修饰 PR(例如标签、注释)。 直接按机器人提供的说明操作。 只需使用 CLA 对所有存储库执行一次这样的操作。

此项目采用了 Microsoft 开放源代码行为准则。 有关详细信息,请参阅行为准则常见问题解答,或如果有任何其他问题或意见,请与 联系。