imednet.endpoints package

Submodules

imednet.endpoints.base module

imednet.endpoints.codings module

Endpoint for managing codings (medical coding) in a study.

class imednet.endpoints.codings.CodingsEndpoint(client, ctx, async_client=None)[source]

Bases: EdcStrictListGetEndpoint[Coding]

API endpoint for interacting with codings (medical coding) in an iMedNet study.

Provides methods to list and retrieve individual codings.

Parameters:
  • client (RequestorProtocol) –

  • ctx (Context) –

  • async_client (Optional[AsyncRequestorProtocol]) –

MODEL

alias of Coding

PATH = 'codings'

imednet.endpoints.forms module

Endpoint for managing forms (eCRFs) in a study.

class imednet.endpoints.forms.FormsEndpoint(client, ctx, async_client=None)[source]

Bases: EdcMetadataListGetEndpoint[Form]

API endpoint for interacting with forms (eCRFs) in an iMedNet study.

Provides methods to list and retrieve individual forms.

Parameters:
  • client (RequestorProtocol) –

  • ctx (Context) –

  • async_client (Optional[AsyncRequestorProtocol]) –

MODEL

alias of Form

PATH = 'forms'

imednet.endpoints.intervals module

Endpoint for managing intervals (visit definitions) in a study.

class imednet.endpoints.intervals.IntervalsEndpoint(client, ctx, async_client=None)[source]

Bases: EdcMetadataListGetEndpoint[Interval]

API endpoint for interacting with intervals (visit definitions) in an iMedNet study.

Provides methods to list and retrieve individual intervals.

Parameters:
  • client (RequestorProtocol) –

  • ctx (Context) –

  • async_client (Optional[AsyncRequestorProtocol]) –

MODEL

alias of Interval

PATH = 'intervals'

imednet.endpoints.jobs module

Endpoint for checking job status in a study.

class imednet.endpoints.jobs.JobsEndpoint(client, ctx, async_client=None)[source]

Bases: EdcListPathGetEndpoint[JobStatus]

API endpoint for retrieving status and details of jobs in an iMedNet study.

This endpoint provides methods to fetch individual job status by batch ID and list all jobs for a study.

Parameters:
  • client (RequestorProtocol) –

  • ctx (Context) –

  • async_client (Optional[AsyncRequestorProtocol]) –

ASYNC_PAGINATOR_CLS

alias of AsyncJsonListPaginator

MODEL

alias of JobStatus

PAGINATOR_CLS

alias of JsonListPaginator

PATH = 'jobs'
async async_get(study_key, batch_id)[source]

Asynchronously get a specific job by batch ID.

This is the async variant of get(). Like the sync version, it issues a direct request by batch_id without any caching.

Parameters:
  • study_key (Optional[str]) – Study identifier

  • batch_id (str) – Batch ID of the job

Return type:

JobStatus

Returns:

JobStatus object with current state and timestamps

Raises:

ValueError – If the job is not found

get(study_key, batch_id)[source]

Get a specific job by batch ID.

This method performs a direct API request using the provided batch_id; it does not use caching or the refresh flag.

Parameters:
  • study_key (Optional[str]) – Study identifier

  • batch_id (str) – Batch ID of the job

Return type:

JobStatus

Returns:

JobStatus object with current state and timestamps

Raises:

ValueError – If the job is not found

imednet.endpoints.queries module

Endpoint for managing queries (dialogue/questions) in a study.

class imednet.endpoints.queries.QueriesEndpoint(client, ctx, async_client=None)[source]

Bases: EdcListGetEndpoint[Query]

API endpoint for interacting with queries (dialogue/questions) in an iMedNet study.

Provides methods to list and retrieve queries.

Parameters:
  • client (RequestorProtocol) –

  • ctx (Context) –

  • async_client (Optional[AsyncRequestorProtocol]) –

MODEL

alias of Query

PATH = 'queries'

imednet.endpoints.record_revisions module

Endpoint for retrieving record revision history in a study.

class imednet.endpoints.record_revisions.RecordRevisionsEndpoint(client, ctx, async_client=None)[source]

Bases: EdcListGetEndpoint[RecordRevision]

API endpoint for accessing record revision history in an iMedNet study.

Provides methods to list and retrieve record revisions.

Parameters:
  • client (RequestorProtocol) –

  • ctx (Context) –

  • async_client (Optional[AsyncRequestorProtocol]) –

MODEL

alias of RecordRevision

PATH = 'recordRevisions'

imednet.endpoints.records module

Endpoint for managing records (eCRF instances) in a study.

class imednet.endpoints.records.RecordsEndpoint(client, ctx, async_client=None)[source]

Bases: EdcListGetEndpoint[Record], CreateEndpointMixin[Job]

API endpoint for interacting with records (eCRF instances) in an iMedNet study.

Provides methods to list, retrieve, and create records.

Parameters:
  • client (RequestorProtocol) –

  • ctx (Context) –

  • async_client (Optional[AsyncRequestorProtocol]) –

MODEL

alias of Record

PARAM_PROCESSOR_CLS

alias of RecordsParamProcessor

PATH = 'records'
async async_create(study_key, records_data, email_notify=None, *, schema=None)[source]

Asynchronously create new records in a study.

This is the async variant of create().

Parameters:
  • study_key (str) – Study identifier

  • records_data (List[Dict[str, Any]]) – List of record data objects to create

  • email_notify (Union[bool, str, None]) – Whether to send email notifications (True/False), or an email address as a string.

  • schema (Optional[SchemaCache]) – Optional SchemaCache instance used for local validation.

Return type:

Job

Returns:

Job object with information about the created job

Raises:

ValueError – If email_notify contains invalid characters

create(study_key, records_data, email_notify=None, *, schema=None)[source]

Create new records in a study.

Parameters:
  • study_key (str) – Study identifier

  • records_data (List[Dict[str, Any]]) – List of record data objects to create

  • email_notify (Union[bool, str, None]) – Whether to send email notifications (True/False), or an email address as a string.

  • schema (Optional[SchemaCache]) – Optional SchemaCache instance used for local validation.

Return type:

Job

Returns:

Job object with information about the created job

Raises:

ValueError – If email_notify contains invalid characters

class imednet.endpoints.records.RecordsParamProcessor(*args, **kwargs)[source]

Bases: ParamProcessor

Parameter processor for Records endpoint.

process_filters(filters)[source]

Extract ‘record_data_filter’ parameter.

Parameters:

filters (Dict[str, Any]) – The filters dictionary.

Return type:

Tuple[Dict[str, Any], Dict[str, Any]]

Returns:

Tuple of (cleaned filters, special parameters).

Record payloads may be validated locally by passing a SchemaCache instance to create().

imednet.endpoints.sites module

Endpoint for managing sites (study locations) in a study.

class imednet.endpoints.sites.SitesEndpoint(client, ctx, async_client=None)[source]

Bases: EdcStrictListGetEndpoint[Site]

API endpoint for interacting with sites (study locations) in an iMedNet study.

Provides methods to list and retrieve individual sites.

Parameters:
  • client (RequestorProtocol) –

  • ctx (Context) –

  • async_client (Optional[AsyncRequestorProtocol]) –

MODEL

alias of Site

PATH = 'sites'

imednet.endpoints.studies module

Endpoint for managing studies in the iMedNet system.

class imednet.endpoints.studies.StudiesEndpoint(client, ctx, async_client=None)[source]

Bases: EdcListGetEndpoint[Study]

API endpoint for interacting with studies in the iMedNet system.

Provides methods to list available studies and retrieve specific studies.

Parameters:
  • client (RequestorProtocol) –

  • ctx (Context) –

  • async_client (Optional[AsyncRequestorProtocol]) –

MODEL

alias of Study

PATH = ''
requires_study_key: bool = False

imednet.endpoints.subjects module

Endpoint for managing subjects in a study.

class imednet.endpoints.subjects.SubjectsEndpoint(client, ctx, async_client=None)[source]

Bases: EdcListGetEndpoint[Subject]

API endpoint for interacting with subjects in an iMedNet study.

Provides methods to list and retrieve individual subjects.

Parameters:
  • client (RequestorProtocol) –

  • ctx (Context) –

  • async_client (Optional[AsyncRequestorProtocol]) –

MODEL

alias of Subject

PATH = 'subjects'
async async_list_by_site(study_key, site_id)[source]

Asynchronously list subjects filtered by a specific site ID.

Return type:

List[Subject]

Parameters:
  • study_key (str) –

  • site_id (str | int) –

list_by_site(study_key, site_id)[source]

List subjects filtered by a specific site ID.

Migrated from TUI logic to core SDK to support filtering.

Return type:

List[Subject]

Parameters:
  • study_key (str) –

  • site_id (str | int) –

imednet.endpoints.users module

Endpoint for managing users in a study.

class imednet.endpoints.users.UsersEndpoint(client, ctx, async_client=None)[source]

Bases: EdcListGetEndpoint[User]

API endpoint for interacting with users in an iMedNet study.

Provides methods to list and retrieve user information.

Parameters:
  • client (RequestorProtocol) –

  • ctx (Context) –

  • async_client (Optional[AsyncRequestorProtocol]) –

MODEL

alias of User

PARAM_PROCESSOR_CLS

alias of UsersParamProcessor

PATH = 'users'
class imednet.endpoints.users.UsersParamProcessor(*args, **kwargs)[source]

Bases: ParamProcessor

Parameter processor for Users endpoint.

process_filters(filters)[source]

Extract ‘include_inactive’ parameter.

Parameters:

filters (Dict[str, Any]) – The filters dictionary.

Return type:

Tuple[Dict[str, Any], Dict[str, Any]]

Returns:

Tuple of (cleaned filters, special parameters).

imednet.endpoints.variables module

Endpoint for managing variables (data points on eCRFs) in a study.

class imednet.endpoints.variables.VariablesEndpoint(client, ctx, async_client=None)[source]

Bases: EdcMetadataListGetEndpoint[Variable]

API endpoint for interacting with variables (data points on eCRFs) in an iMedNet study.

Provides methods to list and retrieve individual variables.

Parameters:
  • client (RequestorProtocol) –

  • ctx (Context) –

  • async_client (Optional[AsyncRequestorProtocol]) –

MODEL

alias of Variable

PATH = 'variables'

imednet.endpoints.visits module

Endpoint for managing visits (interval instances) in a study.

class imednet.endpoints.visits.VisitsEndpoint(client, ctx, async_client=None)[source]

Bases: EdcListGetEndpoint[Visit]

API endpoint for interacting with visits (interval instances) in an iMedNet study.

Provides methods to list and retrieve individual visits.

Parameters:
  • client (RequestorProtocol) –

  • ctx (Context) –

  • async_client (Optional[AsyncRequestorProtocol]) –

MODEL

alias of Visit

PATH = 'visits'

Module contents

Endpoints package for the iMedNet SDK.

This package contains all API endpoint implementations for accessing iMedNet resources.

class imednet.endpoints.CodingsEndpoint(client, ctx, async_client=None)[source]

Bases: EdcStrictListGetEndpoint[Coding]

API endpoint for interacting with codings (medical coding) in an iMedNet study.

Provides methods to list and retrieve individual codings.

Parameters:
  • client (RequestorProtocol) –

  • ctx (Context) –

  • async_client (Optional[AsyncRequestorProtocol]) –

MODEL

alias of Coding

PATH = 'codings'
class imednet.endpoints.FormsEndpoint(client, ctx, async_client=None)[source]

Bases: EdcMetadataListGetEndpoint[Form]

API endpoint for interacting with forms (eCRFs) in an iMedNet study.

Provides methods to list and retrieve individual forms.

Parameters:
  • client (RequestorProtocol) –

  • ctx (Context) –

  • async_client (Optional[AsyncRequestorProtocol]) –

MODEL

alias of Form

PATH = 'forms'
class imednet.endpoints.IntervalsEndpoint(client, ctx, async_client=None)[source]

Bases: EdcMetadataListGetEndpoint[Interval]

API endpoint for interacting with intervals (visit definitions) in an iMedNet study.

Provides methods to list and retrieve individual intervals.

Parameters:
  • client (RequestorProtocol) –

  • ctx (Context) –

  • async_client (Optional[AsyncRequestorProtocol]) –

MODEL

alias of Interval

PATH = 'intervals'
class imednet.endpoints.JobsEndpoint(client, ctx, async_client=None)[source]

Bases: EdcListPathGetEndpoint[JobStatus]

API endpoint for retrieving status and details of jobs in an iMedNet study.

This endpoint provides methods to fetch individual job status by batch ID and list all jobs for a study.

Parameters:
  • client (RequestorProtocol) –

  • ctx (Context) –

  • async_client (Optional[AsyncRequestorProtocol]) –

ASYNC_PAGINATOR_CLS

alias of AsyncJsonListPaginator

MODEL

alias of JobStatus

PAGINATOR_CLS

alias of JsonListPaginator

PATH = 'jobs'
async async_get(study_key, batch_id)[source]

Asynchronously get a specific job by batch ID.

This is the async variant of get(). Like the sync version, it issues a direct request by batch_id without any caching.

Parameters:
  • study_key (Optional[str]) – Study identifier

  • batch_id (str) – Batch ID of the job

Return type:

JobStatus

Returns:

JobStatus object with current state and timestamps

Raises:

ValueError – If the job is not found

get(study_key, batch_id)[source]

Get a specific job by batch ID.

This method performs a direct API request using the provided batch_id; it does not use caching or the refresh flag.

Parameters:
  • study_key (Optional[str]) – Study identifier

  • batch_id (str) – Batch ID of the job

Return type:

JobStatus

Returns:

JobStatus object with current state and timestamps

Raises:

ValueError – If the job is not found

class imednet.endpoints.QueriesEndpoint(client, ctx, async_client=None)[source]

Bases: EdcListGetEndpoint[Query]

API endpoint for interacting with queries (dialogue/questions) in an iMedNet study.

Provides methods to list and retrieve queries.

Parameters:
  • client (RequestorProtocol) –

  • ctx (Context) –

  • async_client (Optional[AsyncRequestorProtocol]) –

MODEL

alias of Query

PATH = 'queries'
class imednet.endpoints.RecordRevisionsEndpoint(client, ctx, async_client=None)[source]

Bases: EdcListGetEndpoint[RecordRevision]

API endpoint for accessing record revision history in an iMedNet study.

Provides methods to list and retrieve record revisions.

Parameters:
  • client (RequestorProtocol) –

  • ctx (Context) –

  • async_client (Optional[AsyncRequestorProtocol]) –

MODEL

alias of RecordRevision

PATH = 'recordRevisions'
class imednet.endpoints.RecordsEndpoint(client, ctx, async_client=None)[source]

Bases: EdcListGetEndpoint[Record], CreateEndpointMixin[Job]

API endpoint for interacting with records (eCRF instances) in an iMedNet study.

Provides methods to list, retrieve, and create records.

Parameters:
  • client (RequestorProtocol) –

  • ctx (Context) –

  • async_client (Optional[AsyncRequestorProtocol]) –

MODEL

alias of Record

PARAM_PROCESSOR_CLS

alias of RecordsParamProcessor

PATH = 'records'
async async_create(study_key, records_data, email_notify=None, *, schema=None)[source]

Asynchronously create new records in a study.

This is the async variant of create().

Parameters:
  • study_key (str) – Study identifier

  • records_data (List[Dict[str, Any]]) – List of record data objects to create

  • email_notify (Union[bool, str, None]) – Whether to send email notifications (True/False), or an email address as a string.

  • schema (Optional[SchemaCache]) – Optional SchemaCache instance used for local validation.

Return type:

Job

Returns:

Job object with information about the created job

Raises:

ValueError – If email_notify contains invalid characters

create(study_key, records_data, email_notify=None, *, schema=None)[source]

Create new records in a study.

Parameters:
  • study_key (str) – Study identifier

  • records_data (List[Dict[str, Any]]) – List of record data objects to create

  • email_notify (Union[bool, str, None]) – Whether to send email notifications (True/False), or an email address as a string.

  • schema (Optional[SchemaCache]) – Optional SchemaCache instance used for local validation.

Return type:

Job

Returns:

Job object with information about the created job

Raises:

ValueError – If email_notify contains invalid characters

class imednet.endpoints.SitesEndpoint(client, ctx, async_client=None)[source]

Bases: EdcStrictListGetEndpoint[Site]

API endpoint for interacting with sites (study locations) in an iMedNet study.

Provides methods to list and retrieve individual sites.

Parameters:
  • client (RequestorProtocol) –

  • ctx (Context) –

  • async_client (Optional[AsyncRequestorProtocol]) –

MODEL

alias of Site

PATH = 'sites'
class imednet.endpoints.StudiesEndpoint(client, ctx, async_client=None)[source]

Bases: EdcListGetEndpoint[Study]

API endpoint for interacting with studies in the iMedNet system.

Provides methods to list available studies and retrieve specific studies.

Parameters:
  • client (RequestorProtocol) –

  • ctx (Context) –

  • async_client (Optional[AsyncRequestorProtocol]) –

MODEL

alias of Study

PATH = ''
requires_study_key: bool = False
class imednet.endpoints.SubjectsEndpoint(client, ctx, async_client=None)[source]

Bases: EdcListGetEndpoint[Subject]

API endpoint for interacting with subjects in an iMedNet study.

Provides methods to list and retrieve individual subjects.

Parameters:
  • client (RequestorProtocol) –

  • ctx (Context) –

  • async_client (Optional[AsyncRequestorProtocol]) –

MODEL

alias of Subject

PATH = 'subjects'
async async_list_by_site(study_key, site_id)[source]

Asynchronously list subjects filtered by a specific site ID.

Return type:

List[Subject]

Parameters:
  • study_key (str) –

  • site_id (str | int) –

list_by_site(study_key, site_id)[source]

List subjects filtered by a specific site ID.

Migrated from TUI logic to core SDK to support filtering.

Return type:

List[Subject]

Parameters:
  • study_key (str) –

  • site_id (str | int) –

class imednet.endpoints.UsersEndpoint(client, ctx, async_client=None)[source]

Bases: EdcListGetEndpoint[User]

API endpoint for interacting with users in an iMedNet study.

Provides methods to list and retrieve user information.

Parameters:
  • client (RequestorProtocol) –

  • ctx (Context) –

  • async_client (Optional[AsyncRequestorProtocol]) –

MODEL

alias of User

PARAM_PROCESSOR_CLS

alias of UsersParamProcessor

PATH = 'users'
class imednet.endpoints.VariablesEndpoint(client, ctx, async_client=None)[source]

Bases: EdcMetadataListGetEndpoint[Variable]

API endpoint for interacting with variables (data points on eCRFs) in an iMedNet study.

Provides methods to list and retrieve individual variables.

Parameters:
  • client (RequestorProtocol) –

  • ctx (Context) –

  • async_client (Optional[AsyncRequestorProtocol]) –

MODEL

alias of Variable

PATH = 'variables'
class imednet.endpoints.VisitsEndpoint(client, ctx, async_client=None)[source]

Bases: EdcListGetEndpoint[Visit]

API endpoint for interacting with visits (interval instances) in an iMedNet study.

Provides methods to list and retrieve individual visits.

Parameters:
  • client (RequestorProtocol) –

  • ctx (Context) –

  • async_client (Optional[AsyncRequestorProtocol]) –

MODEL

alias of Visit

PATH = 'visits'