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()