imednet.endpoints package

Endpoints package for the iMedNet SDK.

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

class imednet.endpoints.AsyncCodingsEndpoint[source]

Bases: EdcAsyncListGetEndpoint[Coding]

MODEL

alias of Coding

PATH = 'codings'
STUDY_KEY_STRATEGY: Optional[StudyKeyStrategy] = <imednet.core.endpoint.strategies.PopStudyKeyStrategy object>
class imednet.endpoints.AsyncFormsEndpoint[source]

Bases: EdcAsyncListGetEndpoint[Form]

MODEL

alias of Form

PAGE_SIZE: int = 500
PATH = 'forms'
STUDY_KEY_STRATEGY: Optional[StudyKeyStrategy] = <imednet.core.endpoint.strategies.PopStudyKeyStrategy object>
class imednet.endpoints.AsyncIntervalsEndpoint[source]

Bases: EdcAsyncListGetEndpoint[Interval]

MODEL

alias of Interval

PAGE_SIZE: int = 500
PATH = 'intervals'
STUDY_KEY_STRATEGY: Optional[StudyKeyStrategy] = <imednet.core.endpoint.strategies.PopStudyKeyStrategy object>
class imednet.endpoints.AsyncJobsEndpoint[source]

Bases: EdcAsyncListGetEndpoint[JobStatus]

ASYNC_PAGINATOR_CLS

alias of AsyncJsonListPaginator

MODEL

alias of JobStatus

PAGINATOR_CLS

alias of JsonListPaginator

PATH = 'jobs'
async async_get(study_key, item_id)[source]
Return type:

JobStatus

Parameters:
  • study_key (str | None) –

  • item_id (str | int) –

class imednet.endpoints.AsyncQueriesEndpoint[source]

Bases: EdcAsyncListGetEndpoint[Query]

MODEL

alias of Query

PATH = 'queries'
class imednet.endpoints.AsyncRecordRevisionsEndpoint[source]

Bases: EdcAsyncListGetEndpoint[RecordRevision]

MODEL

alias of RecordRevision

PATH = 'recordRevisions'
class imednet.endpoints.AsyncRecordsEndpoint[source]

Bases: EdcAsyncListGetEndpoint[Record]

MODEL

alias of Record

PARAM_PROCESSOR: Optional[ParamProcessor] = <imednet.core.endpoint.strategies.MappingParamProcessor object>
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:

ClientError – If email_notify contains invalid characters

class imednet.endpoints.AsyncSitesEndpoint[source]

Bases: EdcAsyncListGetEndpoint[Site]

MODEL

alias of Site

PATH = 'sites'
STUDY_KEY_STRATEGY: Optional[StudyKeyStrategy] = <imednet.core.endpoint.strategies.PopStudyKeyStrategy object>
class imednet.endpoints.AsyncStudiesEndpoint[source]

Bases: EdcAsyncListGetEndpoint[Study]

MODEL

alias of Study

PATH = ''
requires_study_key: bool = False

Whether this endpoint requires a study key. Defaults to True. Override in subclasses if needed.

class imednet.endpoints.AsyncSubjectsEndpoint[source]

Bases: EdcAsyncListGetEndpoint[Subject]

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

class imednet.endpoints.AsyncUsersEndpoint[source]

Bases: EdcAsyncListGetEndpoint[User]

MODEL

alias of User

PARAM_PROCESSOR: Optional[ParamProcessor] = <imednet.core.endpoint.strategies.MappingParamProcessor object>
PATH = 'users'
STUDY_KEY_STRATEGY: Optional[StudyKeyStrategy] = <imednet.core.endpoint.strategies.PopStudyKeyStrategy object>
class imednet.endpoints.AsyncVariablesEndpoint[source]

Bases: EdcAsyncListGetEndpoint[Variable]

MODEL

alias of Variable

PAGE_SIZE: int = 500
PATH = 'variables'
STUDY_KEY_STRATEGY: Optional[StudyKeyStrategy] = <imednet.core.endpoint.strategies.PopStudyKeyStrategy object>
class imednet.endpoints.AsyncVisitsEndpoint[source]

Bases: EdcAsyncListGetEndpoint[Visit]

MODEL

alias of Visit

PATH = 'visits'
class imednet.endpoints.CodingsEndpoint[source]

Bases: EdcSyncListGetEndpoint[Coding]

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

Provides methods to list and retrieve individual codings.

MODEL

alias of Coding

PATH = 'codings'
STUDY_KEY_STRATEGY: Optional[StudyKeyStrategy] = <imednet.core.endpoint.strategies.PopStudyKeyStrategy object>
class imednet.endpoints.FormsEndpoint[source]

Bases: EdcSyncListGetEndpoint[Form]

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

Provides methods to list and retrieve individual forms.

MODEL

alias of Form

PAGE_SIZE: int = 500
PATH = 'forms'
STUDY_KEY_STRATEGY: Optional[StudyKeyStrategy] = <imednet.core.endpoint.strategies.PopStudyKeyStrategy object>
class imednet.endpoints.IntervalsEndpoint[source]

Bases: EdcSyncListGetEndpoint[Interval]

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

Provides methods to list and retrieve individual intervals.

MODEL

alias of Interval

PAGE_SIZE: int = 500
PATH = 'intervals'
STUDY_KEY_STRATEGY: Optional[StudyKeyStrategy] = <imednet.core.endpoint.strategies.PopStudyKeyStrategy object>
class imednet.endpoints.JobsEndpoint[source]

Bases: EdcSyncListGetEndpoint[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.

ASYNC_PAGINATOR_CLS

alias of AsyncJsonListPaginator

MODEL

alias of JobStatus

PAGINATOR_CLS

alias of JsonListPaginator

PATH = 'jobs'
get(study_key, item_id)[source]
Return type:

JobStatus

Parameters:
  • study_key (str | None) –

  • item_id (str | int) –

class imednet.endpoints.QueriesEndpoint[source]

Bases: EdcSyncListGetEndpoint[Query]

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

Provides methods to list and retrieve queries.

MODEL

alias of Query

PATH = 'queries'
class imednet.endpoints.RecordRevisionsEndpoint[source]

Bases: EdcSyncListGetEndpoint[RecordRevision]

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

Provides methods to list and retrieve record revisions.

MODEL

alias of RecordRevision

PATH = 'recordRevisions'
class imednet.endpoints.RecordsEndpoint[source]

Bases: EdcSyncListGetEndpoint[Record]

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

Provides methods to list, retrieve, and create records.

MODEL

alias of Record

PARAM_PROCESSOR: Optional[ParamProcessor] = <imednet.core.endpoint.strategies.MappingParamProcessor object>
PATH = 'records'
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:

ClientError – If email_notify contains invalid characters

class imednet.endpoints.SitesEndpoint[source]

Bases: EdcSyncListGetEndpoint[Site]

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

Provides methods to list and retrieve individual sites.

MODEL

alias of Site

PATH = 'sites'
STUDY_KEY_STRATEGY: Optional[StudyKeyStrategy] = <imednet.core.endpoint.strategies.PopStudyKeyStrategy object>
class imednet.endpoints.StudiesEndpoint[source]

Bases: EdcSyncListGetEndpoint[Study]

API endpoint for interacting with studies in the iMedNet system.

Provides methods to list available studies and retrieve specific studies.

MODEL

alias of Study

PATH = ''
requires_study_key: bool = False

Whether this endpoint requires a study key. Defaults to True. Override in subclasses if needed.

class imednet.endpoints.SubjectsEndpoint[source]

Bases: EdcSyncListGetEndpoint[Subject]

API endpoint for interacting with subjects in an iMedNet study.

Provides methods to list and retrieve individual subjects.

MODEL

alias of Subject

PATH = 'subjects'
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[source]

Bases: EdcSyncListGetEndpoint[User]

API endpoint for interacting with users in an iMedNet study.

Provides methods to list and retrieve user information.

MODEL

alias of User

PARAM_PROCESSOR: Optional[ParamProcessor] = <imednet.core.endpoint.strategies.MappingParamProcessor object>
PATH = 'users'
STUDY_KEY_STRATEGY: Optional[StudyKeyStrategy] = <imednet.core.endpoint.strategies.PopStudyKeyStrategy object>
class imednet.endpoints.VariablesEndpoint[source]

Bases: EdcSyncListGetEndpoint[Variable]

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

Provides methods to list and retrieve individual variables.

MODEL

alias of Variable

PAGE_SIZE: int = 500
PATH = 'variables'
STUDY_KEY_STRATEGY: Optional[StudyKeyStrategy] = <imednet.core.endpoint.strategies.PopStudyKeyStrategy object>
class imednet.endpoints.VisitsEndpoint[source]

Bases: EdcSyncListGetEndpoint[Visit]

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

Provides methods to list and retrieve individual visits.

MODEL

alias of Visit

PATH = 'visits'

Submodules

imednet.endpoints.codings module

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

class imednet.endpoints.codings.AsyncCodingsEndpoint[source]

Bases: EdcAsyncListGetEndpoint[Coding]

MODEL

alias of Coding

PATH = 'codings'
STUDY_KEY_STRATEGY: Optional[StudyKeyStrategy] = <imednet.core.endpoint.strategies.PopStudyKeyStrategy object>
class imednet.endpoints.codings.CodingsEndpoint[source]

Bases: EdcSyncListGetEndpoint[Coding]

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

Provides methods to list and retrieve individual codings.

MODEL

alias of Coding

PATH = 'codings'
STUDY_KEY_STRATEGY: Optional[StudyKeyStrategy] = <imednet.core.endpoint.strategies.PopStudyKeyStrategy object>

imednet.endpoints.forms module

Endpoint for managing forms (eCRFs) in a study.

class imednet.endpoints.forms.AsyncFormsEndpoint[source]

Bases: EdcAsyncListGetEndpoint[Form]

MODEL

alias of Form

PAGE_SIZE: int = 500
PATH = 'forms'
STUDY_KEY_STRATEGY: Optional[StudyKeyStrategy] = <imednet.core.endpoint.strategies.PopStudyKeyStrategy object>
class imednet.endpoints.forms.FormsEndpoint[source]

Bases: EdcSyncListGetEndpoint[Form]

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

Provides methods to list and retrieve individual forms.

MODEL

alias of Form

PAGE_SIZE: int = 500
PATH = 'forms'
STUDY_KEY_STRATEGY: Optional[StudyKeyStrategy] = <imednet.core.endpoint.strategies.PopStudyKeyStrategy object>

imednet.endpoints.intervals module

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

class imednet.endpoints.intervals.AsyncIntervalsEndpoint[source]

Bases: EdcAsyncListGetEndpoint[Interval]

MODEL

alias of Interval

PAGE_SIZE: int = 500
PATH = 'intervals'
STUDY_KEY_STRATEGY: Optional[StudyKeyStrategy] = <imednet.core.endpoint.strategies.PopStudyKeyStrategy object>
class imednet.endpoints.intervals.IntervalsEndpoint[source]

Bases: EdcSyncListGetEndpoint[Interval]

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

Provides methods to list and retrieve individual intervals.

MODEL

alias of Interval

PAGE_SIZE: int = 500
PATH = 'intervals'
STUDY_KEY_STRATEGY: Optional[StudyKeyStrategy] = <imednet.core.endpoint.strategies.PopStudyKeyStrategy object>

imednet.endpoints.jobs module

Endpoint for checking job status in a study.

class imednet.endpoints.jobs.AsyncJobsEndpoint[source]

Bases: EdcAsyncListGetEndpoint[JobStatus]

ASYNC_PAGINATOR_CLS

alias of AsyncJsonListPaginator

MODEL

alias of JobStatus

PAGINATOR_CLS

alias of JsonListPaginator

PATH = 'jobs'
async async_get(study_key, item_id)[source]
Return type:

JobStatus

Parameters:
  • study_key (str | None) –

  • item_id (str | int) –

class imednet.endpoints.jobs.JobsEndpoint[source]

Bases: EdcSyncListGetEndpoint[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.

ASYNC_PAGINATOR_CLS

alias of AsyncJsonListPaginator

MODEL

alias of JobStatus

PAGINATOR_CLS

alias of JsonListPaginator

PATH = 'jobs'
get(study_key, item_id)[source]
Return type:

JobStatus

Parameters:
  • study_key (str | None) –

  • item_id (str | int) –

imednet.endpoints.queries module

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

class imednet.endpoints.queries.AsyncQueriesEndpoint[source]

Bases: EdcAsyncListGetEndpoint[Query]

MODEL

alias of Query

PATH = 'queries'
class imednet.endpoints.queries.QueriesEndpoint[source]

Bases: EdcSyncListGetEndpoint[Query]

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

Provides methods to list and retrieve queries.

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.AsyncRecordRevisionsEndpoint[source]

Bases: EdcAsyncListGetEndpoint[RecordRevision]

MODEL

alias of RecordRevision

PATH = 'recordRevisions'
class imednet.endpoints.record_revisions.RecordRevisionsEndpoint[source]

Bases: EdcSyncListGetEndpoint[RecordRevision]

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

Provides methods to list and retrieve record revisions.

MODEL

alias of RecordRevision

PATH = 'recordRevisions'

imednet.endpoints.records module

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

class imednet.endpoints.records.AsyncRecordsEndpoint[source]

Bases: EdcAsyncListGetEndpoint[Record]

MODEL

alias of Record

PARAM_PROCESSOR: Optional[ParamProcessor] = <imednet.core.endpoint.strategies.MappingParamProcessor object>
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:

ClientError – If email_notify contains invalid characters

class imednet.endpoints.records.RecordsEndpoint[source]

Bases: EdcSyncListGetEndpoint[Record]

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

Provides methods to list, retrieve, and create records.

MODEL

alias of Record

PARAM_PROCESSOR: Optional[ParamProcessor] = <imednet.core.endpoint.strategies.MappingParamProcessor object>
PATH = 'records'
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:

ClientError – If email_notify contains invalid characters

imednet.endpoints.registry module

Registry for all available API endpoints.

This module decouples the endpoint implementations from the main SDK class, allowing for easier extension and maintenance.

imednet.endpoints.sites module

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

class imednet.endpoints.sites.AsyncSitesEndpoint[source]

Bases: EdcAsyncListGetEndpoint[Site]

MODEL

alias of Site

PATH = 'sites'
STUDY_KEY_STRATEGY: Optional[StudyKeyStrategy] = <imednet.core.endpoint.strategies.PopStudyKeyStrategy object>
class imednet.endpoints.sites.SitesEndpoint[source]

Bases: EdcSyncListGetEndpoint[Site]

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

Provides methods to list and retrieve individual sites.

MODEL

alias of Site

PATH = 'sites'
STUDY_KEY_STRATEGY: Optional[StudyKeyStrategy] = <imednet.core.endpoint.strategies.PopStudyKeyStrategy object>

imednet.endpoints.studies module

Endpoint for managing studies in the iMedNet system.

class imednet.endpoints.studies.AsyncStudiesEndpoint[source]

Bases: EdcAsyncListGetEndpoint[Study]

MODEL

alias of Study

PATH = ''
requires_study_key: bool = False

Whether this endpoint requires a study key. Defaults to True. Override in subclasses if needed.

class imednet.endpoints.studies.StudiesEndpoint[source]

Bases: EdcSyncListGetEndpoint[Study]

API endpoint for interacting with studies in the iMedNet system.

Provides methods to list available studies and retrieve specific studies.

MODEL

alias of Study

PATH = ''
requires_study_key: bool = False

Whether this endpoint requires a study key. Defaults to True. Override in subclasses if needed.

imednet.endpoints.subjects module

Endpoint for managing subjects in a study.

class imednet.endpoints.subjects.AsyncSubjectsEndpoint[source]

Bases: EdcAsyncListGetEndpoint[Subject]

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

class imednet.endpoints.subjects.SubjectsEndpoint[source]

Bases: EdcSyncListGetEndpoint[Subject]

API endpoint for interacting with subjects in an iMedNet study.

Provides methods to list and retrieve individual subjects.

MODEL

alias of Subject

PATH = 'subjects'
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.AsyncUsersEndpoint[source]

Bases: EdcAsyncListGetEndpoint[User]

MODEL

alias of User

PARAM_PROCESSOR: Optional[ParamProcessor] = <imednet.core.endpoint.strategies.MappingParamProcessor object>
PATH = 'users'
STUDY_KEY_STRATEGY: Optional[StudyKeyStrategy] = <imednet.core.endpoint.strategies.PopStudyKeyStrategy object>
class imednet.endpoints.users.UsersEndpoint[source]

Bases: EdcSyncListGetEndpoint[User]

API endpoint for interacting with users in an iMedNet study.

Provides methods to list and retrieve user information.

MODEL

alias of User

PARAM_PROCESSOR: Optional[ParamProcessor] = <imednet.core.endpoint.strategies.MappingParamProcessor object>
PATH = 'users'
STUDY_KEY_STRATEGY: Optional[StudyKeyStrategy] = <imednet.core.endpoint.strategies.PopStudyKeyStrategy object>

imednet.endpoints.variables module

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

class imednet.endpoints.variables.AsyncVariablesEndpoint[source]

Bases: EdcAsyncListGetEndpoint[Variable]

MODEL

alias of Variable

PAGE_SIZE: int = 500
PATH = 'variables'
STUDY_KEY_STRATEGY: Optional[StudyKeyStrategy] = <imednet.core.endpoint.strategies.PopStudyKeyStrategy object>
class imednet.endpoints.variables.VariablesEndpoint[source]

Bases: EdcSyncListGetEndpoint[Variable]

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

Provides methods to list and retrieve individual variables.

MODEL

alias of Variable

PAGE_SIZE: int = 500
PATH = 'variables'
STUDY_KEY_STRATEGY: Optional[StudyKeyStrategy] = <imednet.core.endpoint.strategies.PopStudyKeyStrategy object>

imednet.endpoints.visits module

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

class imednet.endpoints.visits.AsyncVisitsEndpoint[source]

Bases: EdcAsyncListGetEndpoint[Visit]

MODEL

alias of Visit

PATH = 'visits'
class imednet.endpoints.visits.VisitsEndpoint[source]

Bases: EdcSyncListGetEndpoint[Visit]

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

Provides methods to list and retrieve individual visits.

MODEL

alias of Visit

PATH = 'visits'