Udostępnij za pośrednictwem


Biblioteka klienta profilowania raka usługi Azure Cognitive Services Health Insights dla platformy .NET — wersja 1.0.0-beta.1

Health Insights to usługa Azure Applied AI Service utworzona za pomocą platformy Azure Cognitive Services Framework, która korzysta z wielu usług Cognitive Services, usług Healthcare API i innych zasobów platformy Azure.

Model profilowania raka otrzymuje rejestry kliniczne pacjentów onkologicznych i wyprowadza inscenizacji raka, takie jak kategorie TNM etapu klinicznego i TNM etapu patologicznego, a także miejsce nowotworu, histologia.

Kod | źródłowy Pakiet (NuGet) | Dokumentacja referencyjna interfejsu | API Dokumentacja produktu

Wprowadzenie

Wymagania wstępne

  • Do korzystania z tego pakietu potrzebna jest subskrypcja platformy Azure .
  • Istniejące wystąpienie usługi Cognitive Services Health Insights.

Instalowanie pakietu

Zainstaluj bibliotekę profilowania raka klienta usługi Azure Health Insights dla platformy .NET przy użyciu narzędzia NuGet:

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

W tej tabeli przedstawiono relację między wersjami zestawu SDK i obsługiwanymi wersjami interfejsu API usługi:

Wersja zestawu SDK Obsługiwana wersja usługi interfejsu API
1.0.0-beta.1 2023-03-01-preview

Uwierzytelnianie klienta

Punkt końcowy zasobu usługi Health Insights można znaleźć za pomocą witryny Azure Portal lub interfejsu wiersza polecenia platformy Azure

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

Pobieranie klucza interfejsu API

Klucz interfejsu API można uzyskać z zasobu usługi Health Insights w witrynie Azure Portal. Alternatywnie możesz użyć poniższego fragmentu kodu interfejsu wiersza polecenia platformy Azure , aby uzyskać klucz interfejsu API zasobu.

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

Tworzenie elementu CancerProfilingClient za pomocą elementu AzureKeyCredential

Po utworzeniu wartości klucza interfejsu API utwórz element AzureKeyCredential. Za pomocą punktu końcowego i poświadczeń klucza możesz utworzyć element CancerProfilingClient:

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

Kluczowe pojęcia

Model profilowania raka pozwala wywnioskować atrybuty raka, takie jak miejsce nowotworu, histologia, kategorie TNM etapu klinicznego i kategorie TNM etapu TNM z nieustrukturyzowanego dokumentu klinicznego.

Przykłady

Profilowanie raka

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

Rozwiązywanie problemów

Konfigurowanie rejestrowania konsoli

Najprostszym sposobem wyświetlenia dzienników jest włączenie rejestrowania konsoli. Aby utworzyć odbiornik dziennika zestawu Azure SDK, który generuje komunikaty do konsoli, użyj metody AzureEventSourceListener.CreateConsoleLogger.

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

Aby dowiedzieć się więcej na temat innych mechanizmów rejestrowania, zobacz Przykłady diagnostyczne.

Następne kroki

Dodatkowa dokumentacja

Aby uzyskać bardziej obszerną dokumentację dotyczącą profilowania raka usługi Azure Health Insights, zobacz dokumentację dotyczącą profilowania raka w docs.microsoft.com.

Współtworzenie

W tym projekcie zachęcamy do współtworzenia i zgłaszania sugestii. Współtworzenie w większości przypadków wymaga zgody na umowę licencyjną dotyczącą współautorów (CLA, Contributor License Agreement), zgodnie z którą współautor ma prawo udzielić i faktycznie udziela nam praw do używania wytworzonej przez siebie zawartości. Aby uzyskać szczegółowe informacje, odwiedź cla.microsoft.com.

Po przesłaniu żądania ściągnięcia robot CLA automatycznie określi, czy musisz przekazać umowę CLA, i doda odpowiednie informacje do tego żądania (na przykład etykietę czy komentarz). Po prostu postępuj zgodnie z instrukcjami robota. Wystarczy zrobić to raz dla wszystkich repozytoriów, w przypadku których jest używana nasza umowa CLA.

W tym projekcie przyjęto Kodeks postępowania oprogramowania Open Source firmy Microsoft. Aby uzyskać więcej informacji, zobacz Często zadawane pytania dotyczące kodeksu postępowania lub skontaktuj się z opencode@microsoft.com dodatkowymi pytaniami lub komentarzami.