Skip to content

Credentialing

Resource

CredentialingResource

Operations on credentialing requests.

Source code in src/assured/resources/credentialing.py
class CredentialingResource:
    """Operations on credentialing requests."""

    def __init__(self, client: AssuredClient) -> None:
        self._client = client

    async def create_request(self, data: CredentialingRequestCreate) -> dict[str, Any]:
        """Create a new credentialing request."""
        return await self._client._post(_CREATE_PATH, json=data.model_dump(mode="json", exclude_none=False))

    async def get_request(self, request_id: str) -> CredentialingRequestDetail:
        """Get the detail/status of a credentialing request."""
        path = _DETAIL_PATH.format(id=request_id)
        data = await self._client._get(path)
        return CredentialingRequestDetail.model_validate(data)

    async def list_requests(
        self, params: CredentialingListParams | None = None, **kwargs: Any
    ) -> list[CredentialingRequest]:
        raw_params = params.model_dump(exclude_none=False) if params else {}
        raw_params.update(kwargs)
        data = await self._client._get_page(_LIST_PATH, params=raw_params)
        return [CredentialingRequest.model_validate(item) for item in data.get("results", [])]

    async def list_requests_all(
        self, params: CredentialingListParams | None = None, **kwargs: Any
    ) -> list[CredentialingRequest]:
        raw_params = params.model_dump(exclude_none=False) if params else {}
        raw_params.update(kwargs)
        records = await self._client._get_all_pages(_LIST_PATH, params=raw_params)
        return [CredentialingRequest.model_validate(item) for item in records]

    async def list_requests_df(self, params: CredentialingListParams | None = None, **kwargs: Any) -> pd.DataFrame:
        raw_params = params.model_dump(exclude_none=False) if params else {}
        raw_params.update(kwargs)
        records = await self._client._get_all_pages(_LIST_PATH, params=raw_params)
        return self._client.to_dataframe(records)

create_request(data) async

Create a new credentialing request.

Source code in src/assured/resources/credentialing.py
async def create_request(self, data: CredentialingRequestCreate) -> dict[str, Any]:
    """Create a new credentialing request."""
    return await self._client._post(_CREATE_PATH, json=data.model_dump(mode="json", exclude_none=False))

get_request(request_id) async

Get the detail/status of a credentialing request.

Source code in src/assured/resources/credentialing.py
async def get_request(self, request_id: str) -> CredentialingRequestDetail:
    """Get the detail/status of a credentialing request."""
    path = _DETAIL_PATH.format(id=request_id)
    data = await self._client._get(path)
    return CredentialingRequestDetail.model_validate(data)

Models

CredentialingRequest

Bases: BaseModel

A credentialing request as returned by the list endpoint.

Source code in src/assured/models/credentialing.py
class CredentialingRequest(BaseModel):
    """A credentialing request as returned by the list endpoint."""

    id: str | None = None
    provider_details: ProviderDetails | None = None
    client_details: ClientDetails | None = None
    state_codes: list[str] | None = None
    assignee: str | None = None
    credentialing_type: str | None = None
    request_completed_at: datetime | None = None
    oa_completed_at: datetime | None = None
    automation_status: str | None = None
    status: str | None = None
    created_at: datetime | None = None
    updated_at: datetime | None = None
    request_id: str | None = None
    attestation_url: str | None = None
    attestation_url_presigned: str | None = None
    request_type: str | None = None
    verifier_signed_off: bool | None = None
    is_signoff_allowed: SignoffAllowed | None = None
    assigned_at: datetime | None = None
    assignee_email: str | None = None
    assignee_full_name: str | None = None
    requested_by_full_name: str | None = None
    requested_by: str | None = None
    approval_date: str | None = None
    approver_name: str | None = None
    request_closed_by: str | None = None
    sla_days: int | None = None
    re_credentialing_date: str | None = None
    reason_for_termination: str | None = None

CredentialingRequestCreate

Bases: BaseModel

Payload to create a credentialing request.

Source code in src/assured/models/credentialing.py
class CredentialingRequestCreate(BaseModel):
    """Payload to create a credentialing request."""

    provider: str
    credentialing_type: str = "INITIAL_CREDENTIALING"
    state_codes: list[str] | None = None

CredentialingRequestDetail

Bases: CredentialingRequest

Detailed credentialing request (same fields, returned by detail endpoint).

Source code in src/assured/models/credentialing.py
class CredentialingRequestDetail(CredentialingRequest):
    """Detailed credentialing request (same fields, returned by detail endpoint)."""

CredentialingListParams

Bases: BaseModel

Query parameters for the credentialing request list.

Source code in src/assured/models/credentialing.py
class CredentialingListParams(BaseModel):
    """Query parameters for the credentialing request list."""

    assigned_at_after: datetime | None = None
    assigned_at_before: datetime | None = None
    assignee: str | None = None
    assignee_in: str | None = None
    automation_status: str | None = None
    client_ids: str | None = None
    created_at_after: datetime | None = None
    created_at_before: datetime | None = None
    created_at_month: str | None = None
    credentialing_type: str | None = None
    individual_npis: str | None = None
    limit: int | None = None
    oa_completed_at_after: datetime | None = None
    oa_completed_at_before: datetime | None = None
    offset: int | None = None
    ordering: str | None = None
    provider: str | None = None
    provider_in: str | None = None
    provider_type: str | None = None
    request_completed_at_after: datetime | None = None
    request_completed_at_before: datetime | None = None
    request_type: str | None = None
    requested_by: str | None = None
    requested_by_in: str | None = None
    search: str | None = None
    state_codes_in: str | None = None
    status: str | None = None
    status_in: str | None = None
    tab: str | None = None
    updated_at_after: datetime | None = None
    updated_at_before: datetime | None = None
    verifier_signed_off: bool | None = None

ProviderDetails

Bases: BaseModel

Nested provider info in credentialing responses.

Source code in src/assured/models/credentialing.py
class ProviderDetails(BaseModel):
    """Nested provider info in credentialing responses."""

    id: str | None = None
    email: str | None = None
    first_name: str | None = None
    last_name: str | None = None
    user_type: str | None = None
    is_active: bool | None = None
    provider_profile_id: str | None = None
    individual_npi: str | None = None
    provider_type: str | None = None