Sdílet prostřednictvím


Klientská knihovna azure Cognitive Services Health Insights pro profilaci rakoviny pro .NET – verze 1.0.0-beta.1

Health Insights je služba Azure Applied AI Service vytvořená pomocí rozhraní Azure Cognitive Services Framework, která využívá více služeb Cognitive Services, služeb healthcare API a dalších prostředků Azure.

Model profilace rakoviny přijímá klinické záznamy onkologických pacientů a výstupy onkologických stagingů, jako jsou kategorie klinické fáze TNM a kategorie TNM s patologickou fází, stejně jako místo nádoru, latence.

Zdrojový kód | Balíček (NuGet) | Referenční dokumentace k | rozhraní API Dokumentace k produktu

Začínáme

Požadavky

  • K použití tohoto balíčku potřebujete předplatné Azure .
  • Existující instance Cognitive Services Health Insights

Instalace balíčku

Nainstalujte klientskou knihovnu profilace rakoviny azure Health Insights pro .NET pomocí NuGetu:

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

Tato tabulka ukazuje vztah mezi verzemi sady SDK a podporovanými verzemi rozhraní API služby:

SDK version (Verze sady SDK) Podporovaná verze služby rozhraní API
1.0.0-beta.1 2023-03-01-preview

Ověření klienta

Koncový bod pro prostředek služby Health Insights můžete najít pomocí webu Azure Portal nebo 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"

Získání klíče rozhraní API

Klíč rozhraní API můžete získat z prostředku služby Health Insights na webu Azure Portal. Případně můžete k získání klíče rozhraní API vašeho prostředku použít fragment kódu Azure CLI níže.

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

Vytvoření CancerProfilingClient pomocí AzureKeyCredential

Jakmile budete mít hodnotu pro klíč rozhraní API, vytvořte AzureKeyCredential. Pomocí koncového bodu a přihlašovacích údajů klíče můžete vytvořit CancerProfilingClient:

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

Klíčové koncepty

Model profilace rakoviny umožňuje odvozovat atributy rakoviny, jako je nádorové místo, latence, kategorie klinické fáze TNM a patologie fáze TNM kategorie z nestrukturovaných klinických dokumentů.

Příklady

Profilace rakoviny

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}");
    }
}

Řešení potíží

Nastavení protokolování konzoly

Nejjednodušší způsob, jak zobrazit protokoly, je povolit protokolování konzoly. K vytvoření naslouchacího procesu protokolů sady Azure SDK, který odesílá zprávy do konzoly, použijte metodu AzureEventSourceListener.CreateConsoleLogger.

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

Další informace o dalších mechanismech protokolování najdete v tématu Ukázky diagnostiky.

Další kroky

Další dokumentace

Podrobnější dokumentaci k profilaci rakoviny ve službě Azure Health Insights najdete v dokumentaci k profilaci rakoviny na docs.microsoft.com.

Přispívání

Tento projekt vítá příspěvky a návrhy. Většina příspěvků vyžaduje souhlas s licenční smlouvou s přispěvatelem (CLA), která stanoví, že máte právo udělit nám práva k používání vašeho příspěvku a skutečně tak činíte. Podrobnosti najdete v cla.microsoft.com.

Při odesílání žádosti o přijetí změn robot CLA automaticky určí, jestli je potřeba poskytnout smlouvu CLA, a příslušným způsobem žádost o přijetí změn upraví (např. přidáním jmenovky nebo komentáře). Stačí postupovat podle pokynů robota. Pro všechna úložiště používající naši smlouvu CLA to stačí udělat jenom jednou.

Tento projekt přijal pravidla chování pro Microsoft Open Source. Další informace najdete v nejčastějších dotazech k pravidlům chování nebo kontaktujte s opencode@microsoft.com případnými dalšími dotazy nebo připomínkami.