General

Glossary

Spine

General

/:type/:id

The most low-level getter for objects in the interface. Returns a single instance of the identified object

/:type/multiple (POST)

This is a way of batching requests to the above call. Provide the type in the URL, and a list of IDs in JSON format - e.g. [ 3, 32, 66 ] in the body of the call. Note - ensure that the content type of the request is also set to application/json.

Pipelines

/pipeline/bykey/:key

WSDL equivalent - PipelineClient

Get the pipeline specified by the given key

Data returned is a JSON representation of that instance of the pipeline.

/pipeline/list

Legacy - see /pipeline/list/:lod below - equivalent to /pipeline/list/names

/pipeline/list/:lod

WSDL equivalent - PipelineKeysClient

Get the pipelines in IMPReSS

Data is returned as a map with the pipeline ID as the key.

Schedules

/schedule/belongingtopipeline/:lod/:pipelineID

Gets the schedules beloinging to the provided pipeline

Procedures

/procedure/belongingtopipeline/:lod/:id

WSDL equivalent - ProcedureKeysClient

Gets the procedures belonging to the provided pipeline

/procedure/belongingtoschedule/:id

Gets the procedures belonging to the provided schedule

Data is returned as a map with the procedure ID as the key.

/procedure/bykey/:key

Gets all instances of the procedure with the given key

/procedure/bykey/:key/:pipekey

WSDL equivalent - ProcedureClient

Gets the procedure with the given key in the specified pipeline

Data returned is a JSON representation of that instance of the procedure.

/procedure/byname/:name

Retrieves all instances of procedures which have the provided name. (Be wary of URL-encoding)

/procedure/listnames

Convenience method - lists all unique procedure names

/procedure/getotherversions/:id

Returns a JSON object consisting of all the procedures in a pipeline, broken down by the schedule ID, procedure name, and procedure versions (earliest to latest)

Parameter

Note that at this point in the spine, due to the denormalisation, it no longer makes sense for this call to just accept a procedure key as a parameter.

This is because there could be multiple instances of the procedure key, due to the denormalisation, so the user needs to clarify which instance they are requesting.

This should be done by obtaining the procedure ID and using that in these subsequent calls. The preferred way of doing this is to make use of the /procedure/belongingtopipeline/:lod/:id call documented above, providing keys as the level of detail and the pipeline key as the id. The resulting JSON contains key-value pairs consisting of the unique procedure instance ID, and the corresponding procedure key. This can be stored in memory locally to provide a lookup to obtain the IDs for the following calls.

/parameter/byname/:name

Retrieves all instances of parameters which have the provided name. (Be wary of URL-encoding)

/parameter/belongingtoprocedure/:lod/:id

WSDL equivalent - ParametersClient

Gets the parameters belonging to the provided procedure instance

Data is returned as a map with the parameter ID as the key.

parameter/listnames

Convenience method - lists all unique parameter names

parameter/relatedtopipeline/:id

Returns all parameters that exist in the provided pipeline, grouped by procedure id.

Options

Calls to this level of the spine cannot be performed solely with a parameter key, due to the denormalisation. Before using these calls, obtain the id for the parameter instance you're working with by using one of the parameter calls above.

option/belongingtoparameter/:lod/:id

WSDL equivalent - ParameterOptionsClient

Gets the option records belonging to the provided parameter instance

option/relatedtoprocedure/:id

Returns a object containing the id of each parameter within the procedure along with an array of the options contained in those parameters

/option/listnames

Convenience method - lists all unique option names

Increments

Calls to this level of the spine cannot be performed solely with a parameter key, due to the denormalisation. Before using these calls, obtain the id for the parameter instance you're working with by using one of the parameter calls above.

/increment/belongingtoparameter/:lod/:id

WSDL equivalent - ParameterIncrementsClient

Gets the increment records belonging to the provided parameter instance

increment/relatedtoprocedure/:id

Returns a object containing the id of each parameter within the procedure along with an array of the increments contained in those parameters

Ontology and MP Terms

Ontology Groups

/ontologygroup/list

Convenience method - Lists the names of the ontology groups on the system.

/ontologygroup/byname/:name

Works the same as /ontologygroup/:id, but allows the user to provide the name (Be wary of URL-encoding)

Ontology Options

/ontologyoption/optionsingroup/:id

Takes an ontology Group ID and returns details of all the ontology options within that group.

Ontology Terms

/ontologyterm/index

Convenience method - Provides an key-value index of ontology terms and ontology names.

/ontologyterm/belongingtoparameter/:parameterID

Produces a list of the ontology terms that are used with the provided procedure (that is, the MP* terms)

/ontologyterm/byterm/:term

Works the same as /ontologyterm/:id, but allows the user to provide the ontologyterm in format MP:0000000

/ontologyterm/linksbelongingtoparameter/:parameterID

Produces a list of the terms linked to the given parameter, such as INCREASED/DECREASED/ABNORMAL etc.

/ontologyterm/list

Convenience method - Lists the ontology terms on the system.

/ontologyterm/termtree/:term

Returns part of the DAG where the provided ontology term is referenced

Other

Units

/unit/list

Returns a list of the units in use on the system.

Appendix

'Data Wrapper'

Previously some items were wrapped in JSON like so

 {data : content}

This has now been phased out of standard usage, however if you have a legacy system that depends on this format, you can append the following to the querystring of the API URLs to add the wrapper back in

usewrapper=true