proknow.ScorecardTemplates

ScorecardTemplates

class proknow.ScorecardTemplates.ScorecardTemplates(proknow, requestor)

This class should be used to interact with scorecard templates. It is instantiated for you as an attribute of the proknow.ProKnow.ProKnow class.

create(name, computed, custom)

Creates a new scorecard template.

Note

For information on how to construct computed metrics visit Computed Metrics.

For information on how to define scorecard objectives, see Scorecard Objectives.

Parameters:
  • name (str) – The scorecard name.

  • computed (list) – The computed metrics.

  • custom (list) – The custom metrics.

Returns:

A representation of the created scorecard template.

Return type:

proknow.ScorecardTemplates.ScorecardTemplateItem

Raises:

Example

This example creates a new scorecard template:

from proknow import ProKnow

pk = ProKnow('https://example.proknow.com', credentials_file="./credentials.json")
pk.scorecard_templates.create("My Scorecard", [{
    "type": "VOLUME",
    "roi_name": "BRAINSTEM",
    "arg_1": None,
    "arg_2": None
}, {
    "type": "VOLUME_CC_DOSE_RANGE_ROI",
    "roi_name": "BRAINSTEM",
    "arg_1": 30,
    "arg_2": 60,
    "objectives": [{
        "label": "IDEAL",
        "color": [18, 191, 0],
        "max": 0
    }, {
        "label": "GOOD",
        "color": [136, 223, 127],
        "max": 3
    }, {
        "label": "ACCEPTABLE",
        "color": [255, 216, 0],
        "max": 6
    }, {
        "label": "MARGINAL",
        "color": [255, 102, 0],
        "max": 9
    }, {
        "label": "UNACCEPTABLE",
        "color": [255, 0, 0]
    }]
}], [{
    "id": pk.custom_metrics.resolve_by_name("Genetic Type").id
}])
delete(scorecard_id)

Deletes a scorecard template by id.

Parameters:

scorecard_id (str) – The id of the scorecard template to delete.

Raises:

Example

If you know the scorecard template id, you can delete the scorecard template directly using this method:

from proknow import ProKnow

pk = ProKnow('https://example.proknow.com', credentials_file="./credentials.json")
pk.scorecard_templates.delete('5c463a6c040040f1efda74db75c1b121')
find(predicate=None, **props)

Finds the first scorecard that matches the input paramters.

Note

For more information on how to use this method, see Using Find Methods.

Parameters:
  • predicate (func) – A function that is passed a scorecard as input and which should return a bool indicating whether the scorecard is a match.

  • **props – A dictionary of keyword arguments that may include any scorecard attribute. These arguments are considered in turn to find matching scorecards.

Returns:

A summary representation of the matching scorecard.

Return type:

proknow.ScorecardTemplates.ScorecardTemplateSummary

Raises:

proknow.Exceptions.HttpError – If the HTTP request generated an error.

get(scorecard_id)

Gets a scorecard template by id.

Parameters:

scorecard_id (str) – The id of the scorecard template to get.

Returns:

A complete representation of the scorecard template

Return type:

proknow.ScorecardTemplates.ScorecardTemplateItem

Raises:

Example

If you know the scorecard template id, you can get the scorecard template directly using this method:

from proknow import ProKnow

pk = ProKnow('https://example.proknow.com', credentials_file="./credentials.json")
pk.scorecard_templates.get('5c463a6c040068100c7f665acad17ac4')
query()

Queries for scorecards templates.

Returns:

A list of proknow.ScorecardTemplates.ScorecardTemplateSummary objects, each representing a summarized scorecard template.

Return type:

list

Raises:

Example

This example queries the scorecard templates and prints the name of each scorecard:

from proknow import ProKnow

pk = ProKnow('https://example.proknow.com', credentials_file="./credentials.json")
for scorecard in pk.scorecard_templates.query():
    print(scorecard.name)
resolve(scorecard_template)

Resolves a scorecard template by id or name.

Parameters:

scorecard_template (str) – The scorecard template id or name.

Returns:

A summary representation of the resolved scorecard.

Return type:

proknow.ScorecardTemplates.ScorecardTemplateSummary

Raises:
resolve_by_id(scorecard_template_id)

Resolves a scorecard template id to a scorecard template.

Parameters:

scorecard_template_id (str) – The scorecard template id.

Returns:

A summary representation of the resolved scorecard.

Return type:

proknow.ScorecardTemplates.ScorecardTemplateSummary

Raises:
resolve_by_name(name)

Resolves a scorecard template name to a scorecard template in a case insensitive manner.

Parameters:

name (str) – The scorecard template name.

Returns:

A summary representation of the resolved scorecard.

Return type:

proknow.ScorecardTemplates.ScorecardTemplateSummary

Raises:

ScorecardTemplateSummary

class proknow.ScorecardTemplates.ScorecardTemplateSummary(scorecard_templates, scorecard)

This class represents a summary view of a scorecard template. It’s instantiated by the proknow.ScorecardTemplates.ScorecardTemplates.query() method to represent each of the scorecards returned in a query result.

id

The id of the scorecard (readonly).

Type:

str

name

The name of the scorecard (readonly).

Type:

str

data

The summary representation of the scorecard as returned from the API (readonly).

Type:

dict

get()

Gets the complete representation of the scorecard template.

Returns:

A complete representation of the scorecard template

Return type:

proknow.ScorecardTemplates.ScorecardTemplateItem

Raises:

proknow.Exceptions.HttpError – If the HTTP request generated an error.

Example

The following example shows how to turn a list of ScorecardTemplateSummary objects into a list of ScorecardTemplateItem objects:

from proknow import ProKnow

pk = ProKnow('https://example.proknow.com', credentials_file="./credentials.json")
scorecards = [scorecard.get() for scorecard in pk.scorecard_templates.query()]

ScorecardTemplateItem

class proknow.ScorecardTemplates.ScorecardTemplateItem(scorecard_templates, scorecard)

This class represents a scorecard template. It’s instantiated by the proknow.ScorecardTemplates.ScorecardTemplates class as a complete representation of the scorecard.

id

The id of the scorecard (readonly).

Type:

str

data

The complete representation of the scorecard as returned from the API (readonly).

Type:

dict

name

The name of the scorecard.

Type:

str

computed

The computed metrics of the scorecard.

Type:

list

custom

The custom metrics of the scorecard.

Type:

list

delete()

Deletes the scorecard template.

Raises:

proknow.Exceptions.HttpError – If the HTTP request generated an error.

Example

The following example shows how to find a scorecard template by its name and delete it:

from proknow import ProKnow

pk = ProKnow('https://example.proknow.com', credentials_file="./credentials.json")
scorecard = pk.scorecard_templates.find(name='My Scorecard').get()
scorecard.delete()
save()

Saves the changes made to a scorecard template.

Note

For information on how to construct computed metrics visit Computed Metrics.

For information on how to define scorecard objectives, see Scorecard Objectives.

Raises:

proknow.Exceptions.HttpError – If the HTTP request generated an error.

Example

The following example shows how to find a scorecard by its name, remove the associated custom metrics, and save it:

from proknow import ProKnow

pk = ProKnow('https://example.proknow.com', credentials_file="./credentials.json")
scorecard = pk.scorecard_templates.find(name='My Scorecard').get()
scorecard.custom = []
scorecard.save()