Share via


CancerProfilingClient.InferCancerProfile Method

Definition

Overloads

InferCancerProfile(WaitUntil, RequestContent, String, Nullable<DateTimeOffset>, RequestContext)

Create Onco Phenotype job.

InferCancerProfile(WaitUntil, OncoPhenotypeData, String, Nullable<DateTimeOffset>, CancellationToken)

Create Onco Phenotype job.

InferCancerProfile(WaitUntil, RequestContent, String, Nullable<DateTimeOffset>, RequestContext)

Source:
CancerProfilingClient.cs

Create Onco Phenotype job.

public virtual Azure.Operation<BinaryData> InferCancerProfile (Azure.WaitUntil waitUntil, Azure.Core.RequestContent content, string repeatabilityRequestId = default, DateTimeOffset? repeatabilityFirstSent = default, Azure.RequestContext context = default);
abstract member InferCancerProfile : Azure.WaitUntil * Azure.Core.RequestContent * string * Nullable<DateTimeOffset> * Azure.RequestContext -> Azure.Operation<BinaryData>
override this.InferCancerProfile : Azure.WaitUntil * Azure.Core.RequestContent * string * Nullable<DateTimeOffset> * Azure.RequestContext -> Azure.Operation<BinaryData>
Public Overridable Function InferCancerProfile (waitUntil As WaitUntil, content As RequestContent, Optional repeatabilityRequestId As String = Nothing, Optional repeatabilityFirstSent As Nullable(Of DateTimeOffset) = Nothing, Optional context As RequestContext = Nothing) As Operation(Of BinaryData)

Parameters

waitUntil
WaitUntil

Completed if the method should wait to return until the long-running operation has completed on the service; Started if it should return after starting the operation. For more information on long-running operations, please see Azure.Core Long-Running Operation samples.

content
RequestContent

The content to send as the body of the request. Details of the request body schema are in the Remarks section below.

repeatabilityRequestId
String

An opaque, globally-unique, client-generated string identifier for the request.

repeatabilityFirstSent
Nullable<DateTimeOffset>

Specifies the date and time at which the request was first created.

context
RequestContext

The request context, which can override default behaviors of the client pipeline on a per-call basis.

Returns

The Operation<T> from the service that will contain a BinaryData object once the asynchronous operation on the service has completed. Details of the body schema for the operation's final value are in the Remarks section below.

Exceptions

content is null.

Service returned a non-success status code.

Examples

This sample shows how to call InferCancerProfile with required parameters and request content, and how to parse the result.

var credential = new AzureKeyCredential("<key>");
var endpoint = new Uri("<https://my-service.azure.com>");
var client = new CancerProfilingClient(endpoint, credential);

var data = new {
    patients = new[] {
        new {
            id = "<id>",
        }
    },
};

var operation = client.InferCancerProfile(WaitUntil.Completed, RequestContent.Create(data));

BinaryData data = operation.Value;
JsonElement result = JsonDocument.Parse(data.ToStream()).RootElement;
Console.WriteLine(result.GetProperty("jobId").ToString());
Console.WriteLine(result.GetProperty("createdDateTime").ToString());
Console.WriteLine(result.GetProperty("expirationDateTime").ToString());
Console.WriteLine(result.GetProperty("lastUpdateDateTime").ToString());
Console.WriteLine(result.GetProperty("status").ToString());

This sample shows how to call InferCancerProfile with all parameters and request content, and how to parse the result.

var credential = new AzureKeyCredential("<key>");
var endpoint = new Uri("<https://my-service.azure.com>");
var client = new CancerProfilingClient(endpoint, credential);

var data = new {
    patients = new[] {
        new {
            id = "<id>",
            info = new {
                sex = "female",
                birthDate = "2022-05-10",
                clinicalInfo = new[] {
                    new {
                        system = "<system>",
                        code = "<code>",
                        name = "<name>",
                        value = "<value>",
                    }
                },
            },
            data = new[] {
                new {
                    type = "note",
                    clinicalType = "consultation",
                    id = "<id>",
                    language = "<language>",
                    createdDateTime = "2022-05-10T14:57:31.2311892-04:00",
                    content = new {
                        sourceType = "inline",
                        value = "<value>",
                    },
                }
            },
        }
    },
    configuration = new {
        verbose = true,
        includeEvidence = true,
        inferenceTypes = new[] {
            "tumorSite"
        },
        checkForCancerCase = true,
    },
};

var operation = client.InferCancerProfile(WaitUntil.Completed, RequestContent.Create(data), "<repeatabilityRequestId>", DateTimeOffset.UtcNow);

BinaryData data = operation.Value;
JsonElement result = JsonDocument.Parse(data.ToStream()).RootElement;
Console.WriteLine(result.GetProperty("jobId").ToString());
Console.WriteLine(result.GetProperty("createdDateTime").ToString());
Console.WriteLine(result.GetProperty("expirationDateTime").ToString());
Console.WriteLine(result.GetProperty("lastUpdateDateTime").ToString());
Console.WriteLine(result.GetProperty("status").ToString());
Console.WriteLine(result.GetProperty("errors")[0].GetProperty("code").ToString());
Console.WriteLine(result.GetProperty("errors")[0].GetProperty("message").ToString());
Console.WriteLine(result.GetProperty("errors")[0].GetProperty("target").ToString());
Console.WriteLine(result.GetProperty("errors")[0].GetProperty("innererror").GetProperty("code").ToString());
Console.WriteLine(result.GetProperty("results").GetProperty("patients")[0].GetProperty("id").ToString());
Console.WriteLine(result.GetProperty("results").GetProperty("patients")[0].GetProperty("inferences")[0].GetProperty("type").ToString());
Console.WriteLine(result.GetProperty("results").GetProperty("patients")[0].GetProperty("inferences")[0].GetProperty("value").ToString());
Console.WriteLine(result.GetProperty("results").GetProperty("patients")[0].GetProperty("inferences")[0].GetProperty("description").ToString());
Console.WriteLine(result.GetProperty("results").GetProperty("patients")[0].GetProperty("inferences")[0].GetProperty("confidenceScore").ToString());
Console.WriteLine(result.GetProperty("results").GetProperty("patients")[0].GetProperty("inferences")[0].GetProperty("evidence")[0].GetProperty("patientDataEvidence").GetProperty("id").ToString());
Console.WriteLine(result.GetProperty("results").GetProperty("patients")[0].GetProperty("inferences")[0].GetProperty("evidence")[0].GetProperty("patientDataEvidence").GetProperty("text").ToString());
Console.WriteLine(result.GetProperty("results").GetProperty("patients")[0].GetProperty("inferences")[0].GetProperty("evidence")[0].GetProperty("patientDataEvidence").GetProperty("offset").ToString());
Console.WriteLine(result.GetProperty("results").GetProperty("patients")[0].GetProperty("inferences")[0].GetProperty("evidence")[0].GetProperty("patientDataEvidence").GetProperty("length").ToString());
Console.WriteLine(result.GetProperty("results").GetProperty("patients")[0].GetProperty("inferences")[0].GetProperty("evidence")[0].GetProperty("patientInfoEvidence").GetProperty("system").ToString());
Console.WriteLine(result.GetProperty("results").GetProperty("patients")[0].GetProperty("inferences")[0].GetProperty("evidence")[0].GetProperty("patientInfoEvidence").GetProperty("code").ToString());
Console.WriteLine(result.GetProperty("results").GetProperty("patients")[0].GetProperty("inferences")[0].GetProperty("evidence")[0].GetProperty("patientInfoEvidence").GetProperty("name").ToString());
Console.WriteLine(result.GetProperty("results").GetProperty("patients")[0].GetProperty("inferences")[0].GetProperty("evidence")[0].GetProperty("patientInfoEvidence").GetProperty("value").ToString());
Console.WriteLine(result.GetProperty("results").GetProperty("patients")[0].GetProperty("inferences")[0].GetProperty("evidence")[0].GetProperty("importance").ToString());
Console.WriteLine(result.GetProperty("results").GetProperty("patients")[0].GetProperty("inferences")[0].GetProperty("caseId").ToString());
Console.WriteLine(result.GetProperty("results").GetProperty("modelVersion").ToString());

Remarks

Creates an Onco Phenotype job with the given request body.

Below is the JSON schema for the request and response payloads.

Request Body:

Schema for OncoPhenotypeData:

{
  patients: [
    {
      id: string, # Required. A given identifier for the patient. Has to be unique across all patients in a single request.
      info: {
        sex: "female" | "male" | "unspecified", # Optional. The patient's sex.
        birthDate: string (date), # Optional. The patient's date of birth.
        clinicalInfo: [ClinicalCodedElement], # Optional. Known clinical information for the patient, structured.
      }, # Optional. Patient structured information, including demographics and known structured clinical information.
      data: [PatientDocument], # Optional. Patient unstructured clinical data, given as documents.
    }
  ], # Required. The list of patients, including their clinical information and data.
  configuration: {
    verbose: boolean, # Optional. An indication whether the model should produce verbose output.
    includeEvidence: boolean, # Optional. An indication whether the model's output should include evidence for the inferences.
    inferenceTypes: ["tumorSite" | "histology" | "clinicalStageT" | "clinicalStageN" | "clinicalStageM" | "pathologicStageT" | "pathologicStageN" | "pathologicStageM"], # Optional. A list of inference types to be inferred for the current request.
This could be used if only part of the Onco Phenotype inferences are required.
If this list is omitted or empty, the model will return all the inference types.
    checkForCancerCase: boolean, # Optional. An indication whether to perform a preliminary step on the patient's documents to determine whether they relate to a Cancer case.
  }, # Optional. Configuration affecting the Onco Phenotype model's inference.
}

Response Body:

Schema for OncoPhenotypeResult:

{
  jobId: string, # Required. A processing job identifier.
  createdDateTime: string (date & time), # Required. The date and time when the processing job was created.
  expirationDateTime: string (date & time), # Required. The date and time when the processing job is set to expire.
  lastUpdateDateTime: string (date & time), # Required. The date and time when the processing job was last updated.
  status: "notStarted" | "running" | "succeeded" | "failed" | "partiallyCompleted", # Required. The status of the processing job.
  errors: [
    {
      code: string, # Required. One of a server-defined set of error codes.
      message: string, # Required. A human-readable representation of the error.
      target: string, # Optional. The target of the error.
      details: [Error], # Required. An array of details about specific errors that led to this reported error.
      innererror: {
        code: string, # Required. One of a server-defined set of error codes.
        innererror: InnerError, # Optional. Inner error.
      }, # Optional. An object containing more specific information than the current object about the error.
    }
  ], # Optional. An array of errors, if any errors occurred during the processing job.
  results: {
    patients: [OncoPhenotypePatientResult], # Required. Results for the patients given in the request.
    modelVersion: string, # Required. The version of the model used for inference, expressed as the model date.
  }, # Optional. The inference results for the Onco Phenotype request.
}

Applies to

InferCancerProfile(WaitUntil, OncoPhenotypeData, String, Nullable<DateTimeOffset>, CancellationToken)

Source:
CancerProfilingClient.cs

Create Onco Phenotype job.

public virtual Azure.Operation<Azure.Health.Insights.CancerProfiling.OncoPhenotypeResult> InferCancerProfile (Azure.WaitUntil waitUntil, Azure.Health.Insights.CancerProfiling.OncoPhenotypeData oncoPhenotypeData, string repeatabilityRequestId = default, DateTimeOffset? repeatabilityFirstSent = default, System.Threading.CancellationToken cancellationToken = default);
abstract member InferCancerProfile : Azure.WaitUntil * Azure.Health.Insights.CancerProfiling.OncoPhenotypeData * string * Nullable<DateTimeOffset> * System.Threading.CancellationToken -> Azure.Operation<Azure.Health.Insights.CancerProfiling.OncoPhenotypeResult>
override this.InferCancerProfile : Azure.WaitUntil * Azure.Health.Insights.CancerProfiling.OncoPhenotypeData * string * Nullable<DateTimeOffset> * System.Threading.CancellationToken -> Azure.Operation<Azure.Health.Insights.CancerProfiling.OncoPhenotypeResult>
Public Overridable Function InferCancerProfile (waitUntil As WaitUntil, oncoPhenotypeData As OncoPhenotypeData, Optional repeatabilityRequestId As String = Nothing, Optional repeatabilityFirstSent As Nullable(Of DateTimeOffset) = Nothing, Optional cancellationToken As CancellationToken = Nothing) As Operation(Of OncoPhenotypeResult)

Parameters

waitUntil
WaitUntil

Completed if the method should wait to return until the long-running operation has completed on the service; Started if it should return after starting the operation. For more information on long-running operations, please see Azure.Core Long-Running Operation samples.

oncoPhenotypeData
OncoPhenotypeData

The body of the Onco Phenotype request.

repeatabilityRequestId
String

An opaque, globally-unique, client-generated string identifier for the request.

repeatabilityFirstSent
Nullable<DateTimeOffset>

Specifies the date and time at which the request was first created.

cancellationToken
CancellationToken

The cancellation token to use.

Returns

Exceptions

oncoPhenotypeData is null.

Remarks

Creates an Onco Phenotype job with the given request body.

Applies to