你当前正在访问 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 开放源代码行为准则。 有关详细信息,请参阅行为准则常见问题解答,或如果有任何其他问题或意见,请与 联系。