def METHOD_NAME(
    process_group_identifier: str | None = None, page: int = 1, per_page: int = 100
) -> flask.wrappers.Response:
    process_groups = ProcessModelService.get_process_groups_for_api(process_group_identifier)
    batch = ProcessModelService.get_batch(items=process_groups, page=page, per_page=per_page)
    pages = len(process_groups) // per_page
    remainder = len(process_groups) % per_page
    if remainder > 0:
        pages += 1
    response_json = {
        "results": ProcessGroupSchema(many=True).dump(batch),
        "pagination": {
            "count": len(batch),
            "total": len(process_groups),
            "pages": pages,
        },
    }
    return make_response(jsonify(response_json), 200)