[13/Apr/2026:04:31:49] (root_api-) token =  IP = 17.241.227.198
[13/Apr/2026:04:31:49] (root_api-) 
[13/Apr/2026:04:31:49] (root_api-) OP=  of page root_api.php
[13/Apr/2026:04:31:49] (root_api-) Final JSON =  { "status":"error",
					"message":"Invalid Session",
					"Errorcode":"err100",
					"data":{}}
[13/Apr/2026:04:31:52] (root_api-) token =  IP = 17.241.227.96
[13/Apr/2026:04:31:52] (root_api-) op => getFrontCategoryMenu ,categoryId =>  ,clid => 66bbc87451ad3590b670daae13ee0619 ,serviceName => category_data ,
[13/Apr/2026:04:31:52] (root_api-) OP= getFrontCategoryMenu of page root_api.php
[13/Apr/2026:04:31:52] (root_api-) serviceName category_data
[13/Apr/2026:04:31:52] (root_api-) getFrontCategoryMenu : [1] get category with category default root.
[13/Apr/2026:04:31:52] (root_api-) Query~select ct.cat_id,ct.cat_name,ct.short_name,ct.`status`,
	fn_getChildCount(ct.cat_id) as childNodes,fn_getParentPath(ct.cat_id) as parentPath
	from tbl_category ct
	left join tbl_category ctp on ct.cat_parent_id = ctp.cat_id
	 where ct.cat_parent_id='1' AND ct.status = 'active'
	order by fn_getParentPath(ct.cat_id), ct.cat_name~2026-04-13 04:31:52:0452~2026-04-13 04:31:52~success
[13/Apr/2026:04:31:52] (root_api-) getFrontCategoryMenu : [1] get category with category default root.
[13/Apr/2026:04:31:52] (root_api-) Query~select ct.cat_id,ct.cat_name,ct.short_name,ct.`status`,
	fn_getChildCount(ct.cat_id) as childNodes,fn_getParentPath(ct.cat_id) as parentPath
	from tbl_category ct
	left join tbl_category ctp on ct.cat_parent_id = ctp.cat_id
	 where ct.cat_parent_id='410' AND ct.status = 'active'
	order by fn_getParentPath(ct.cat_id), ct.cat_name~2026-04-13 04:31:52:0452~2026-04-13 04:31:52~success
[13/Apr/2026:04:31:52] (root_api-) getFrontCategoryMenu : [1] get category with category default root.
[13/Apr/2026:04:31:52] (root_api-) Query~select ct.cat_id,ct.cat_name,ct.short_name,ct.`status`,
	fn_getChildCount(ct.cat_id) as childNodes,fn_getParentPath(ct.cat_id) as parentPath
	from tbl_category ct
	left join tbl_category ctp on ct.cat_parent_id = ctp.cat_id
	 where ct.cat_parent_id='411' AND ct.status = 'active'
	order by fn_getParentPath(ct.cat_id), ct.cat_name~2026-04-13 04:31:52:0452~2026-04-13 04:31:52~success
[13/Apr/2026:04:31:52] (root_api-) getFrontCategoryMenu : [1] get category with category default root.
[13/Apr/2026:04:31:52] (root_api-) Query~select ct.cat_id,ct.cat_name,ct.short_name,ct.`status`,
	fn_getChildCount(ct.cat_id) as childNodes,fn_getParentPath(ct.cat_id) as parentPath
	from tbl_category ct
	left join tbl_category ctp on ct.cat_parent_id = ctp.cat_id
	 where ct.cat_parent_id='433' AND ct.status = 'active'
	order by fn_getParentPath(ct.cat_id), ct.cat_name~2026-04-13 04:31:52:0452~2026-04-13 04:31:52~success
[13/Apr/2026:04:31:52] (root_api-) getFrontCategoryMenu : [1] get category with category default root.
[13/Apr/2026:04:31:52] (root_api-) Query~select ct.cat_id,ct.cat_name,ct.short_name,ct.`status`,
	fn_getChildCount(ct.cat_id) as childNodes,fn_getParentPath(ct.cat_id) as parentPath
	from tbl_category ct
	left join tbl_category ctp on ct.cat_parent_id = ctp.cat_id
	 where ct.cat_parent_id='458' AND ct.status = 'active'
	order by fn_getParentPath(ct.cat_id), ct.cat_name~2026-04-13 04:31:52:0452~2026-04-13 04:31:52~success
[13/Apr/2026:04:31:52] (root_api-) getFrontCategoryMenu : [1] get category with category default root.
[13/Apr/2026:04:31:52] (root_api-) Query~select ct.cat_id,ct.cat_name,ct.short_name,ct.`status`,
	fn_getChildCount(ct.cat_id) as childNodes,fn_getParentPath(ct.cat_id) as parentPath
	from tbl_category ct
	left join tbl_category ctp on ct.cat_parent_id = ctp.cat_id
	 where ct.cat_parent_id='485' AND ct.status = 'active'
	order by fn_getParentPath(ct.cat_id), ct.cat_name~2026-04-13 04:31:52:0452~2026-04-13 04:31:52~success
[13/Apr/2026:04:31:52] (root_api-) getFrontCategoryMenu : [1] get category with category default root.
[13/Apr/2026:04:31:52] (root_api-) Query~select ct.cat_id,ct.cat_name,ct.short_name,ct.`status`,
	fn_getChildCount(ct.cat_id) as childNodes,fn_getParentPath(ct.cat_id) as parentPath
	from tbl_category ct
	left join tbl_category ctp on ct.cat_parent_id = ctp.cat_id
	 where ct.cat_parent_id='499' AND ct.status = 'active'
	order by fn_getParentPath(ct.cat_id), ct.cat_name~2026-04-13 04:31:52:0452~2026-04-13 04:31:52~success
[13/Apr/2026:04:31:52] (root_api-) getFrontCategoryMenu : [1] get category with category default root.
[13/Apr/2026:04:31:52] (root_api-) Query~select ct.cat_id,ct.cat_name,ct.short_name,ct.`status`,
	fn_getChildCount(ct.cat_id) as childNodes,fn_getParentPath(ct.cat_id) as parentPath
	from tbl_category ct
	left join tbl_category ctp on ct.cat_parent_id = ctp.cat_id
	 where ct.cat_parent_id='514' AND ct.status = 'active'
	order by fn_getParentPath(ct.cat_id), ct.cat_name~2026-04-13 04:31:52:0452~2026-04-13 04:31:52~success
[13/Apr/2026:04:31:52] (root_api-) getFrontCategoryMenu : [1] get category with category default root.
[13/Apr/2026:04:31:52] (root_api-) Query~select ct.cat_id,ct.cat_name,ct.short_name,ct.`status`,
	fn_getChildCount(ct.cat_id) as childNodes,fn_getParentPath(ct.cat_id) as parentPath
	from tbl_category ct
	left join tbl_category ctp on ct.cat_parent_id = ctp.cat_id
	 where ct.cat_parent_id='64' AND ct.status = 'active'
	order by fn_getParentPath(ct.cat_id), ct.cat_name~2026-04-13 04:31:52:0452~2026-04-13 04:31:52~success
[13/Apr/2026:04:31:52] (root_api-) getFrontCategoryMenu : [1] get category with category default root.
[13/Apr/2026:04:31:52] (root_api-) Query~select ct.cat_id,ct.cat_name,ct.short_name,ct.`status`,
	fn_getChildCount(ct.cat_id) as childNodes,fn_getParentPath(ct.cat_id) as parentPath
	from tbl_category ct
	left join tbl_category ctp on ct.cat_parent_id = ctp.cat_id
	 where ct.cat_parent_id='2' AND ct.status = 'active'
	order by fn_getParentPath(ct.cat_id), ct.cat_name~2026-04-13 04:31:52:0452~2026-04-13 04:31:52~success
[13/Apr/2026:04:31:52] (root_api-) getFrontCategoryMenu : [1] get category with category default root.
[13/Apr/2026:04:31:52] (root_api-) Query~select ct.cat_id,ct.cat_name,ct.short_name,ct.`status`,
	fn_getChildCount(ct.cat_id) as childNodes,fn_getParentPath(ct.cat_id) as parentPath
	from tbl_category ct
	left join tbl_category ctp on ct.cat_parent_id = ctp.cat_id
	 where ct.cat_parent_id='605' AND ct.status = 'active'
	order by fn_getParentPath(ct.cat_id), ct.cat_name~2026-04-13 04:31:52:0452~2026-04-13 04:31:52~success
[13/Apr/2026:04:31:52] (root_api-) getFrontCategoryMenu : [1] get category with category default root.
[13/Apr/2026:04:31:52] (root_api-) Query~select ct.cat_id,ct.cat_name,ct.short_name,ct.`status`,
	fn_getChildCount(ct.cat_id) as childNodes,fn_getParentPath(ct.cat_id) as parentPath
	from tbl_category ct
	left join tbl_category ctp on ct.cat_parent_id = ctp.cat_id
	 where ct.cat_parent_id='598' AND ct.status = 'active'
	order by fn_getParentPath(ct.cat_id), ct.cat_name~2026-04-13 04:31:52:0452~2026-04-13 04:31:52~success
[13/Apr/2026:04:31:52] (root_api-) getFrontCategoryMenu : [1] get category with category default root.
[13/Apr/2026:04:31:52] (root_api-) Query~select ct.cat_id,ct.cat_name,ct.short_name,ct.`status`,
	fn_getChildCount(ct.cat_id) as childNodes,fn_getParentPath(ct.cat_id) as parentPath
	from tbl_category ct
	left join tbl_category ctp on ct.cat_parent_id = ctp.cat_id
	 where ct.cat_parent_id='23' AND ct.status = 'active'
	order by fn_getParentPath(ct.cat_id), ct.cat_name~2026-04-13 04:31:52:0452~2026-04-13 04:31:52~success
[13/Apr/2026:04:31:52] (root_api-) getFrontCategoryMenu : [1] get category with category default root.
[13/Apr/2026:04:31:52] (root_api-) Query~select ct.cat_id,ct.cat_name,ct.short_name,ct.`status`,
	fn_getChildCount(ct.cat_id) as childNodes,fn_getParentPath(ct.cat_id) as parentPath
	from tbl_category ct
	left join tbl_category ctp on ct.cat_parent_id = ctp.cat_id
	 where ct.cat_parent_id='396' AND ct.status = 'active'
	order by fn_getParentPath(ct.cat_id), ct.cat_name~2026-04-13 04:31:52:0452~2026-04-13 04:31:52~success
[13/Apr/2026:04:31:52] (root_api-) getFrontCategoryMenu : [1] get category with category default root.
[13/Apr/2026:04:31:52] (root_api-) Query~select ct.cat_id,ct.cat_name,ct.short_name,ct.`status`,
	fn_getChildCount(ct.cat_id) as childNodes,fn_getParentPath(ct.cat_id) as parentPath
	from tbl_category ct
	left join tbl_category ctp on ct.cat_parent_id = ctp.cat_id
	 where ct.cat_parent_id='81' AND ct.status = 'active'
	order by fn_getParentPath(ct.cat_id), ct.cat_name~2026-04-13 04:31:52:0452~2026-04-13 04:31:52~success
[13/Apr/2026:04:31:52] (root_api-) getFrontCategoryMenu : [1] get category with category default root.
[13/Apr/2026:04:31:52] (root_api-) Query~select ct.cat_id,ct.cat_name,ct.short_name,ct.`status`,
	fn_getChildCount(ct.cat_id) as childNodes,fn_getParentPath(ct.cat_id) as parentPath
	from tbl_category ct
	left join tbl_category ctp on ct.cat_parent_id = ctp.cat_id
	 where ct.cat_parent_id='90' AND ct.status = 'active'
	order by fn_getParentPath(ct.cat_id), ct.cat_name~2026-04-13 04:31:52:0452~2026-04-13 04:31:52~success
[13/Apr/2026:04:31:52] (root_api-) getFrontCategoryMenu : [1] get category with category default root.
[13/Apr/2026:04:31:52] (root_api-) Query~select ct.cat_id,ct.cat_name,ct.short_name,ct.`status`,
	fn_getChildCount(ct.cat_id) as childNodes,fn_getParentPath(ct.cat_id) as parentPath
	from tbl_category ct
	left join tbl_category ctp on ct.cat_parent_id = ctp.cat_id
	 where ct.cat_parent_id='107' AND ct.status = 'active'
	order by fn_getParentPath(ct.cat_id), ct.cat_name~2026-04-13 04:31:52:0452~2026-04-13 04:31:52~success
[13/Apr/2026:04:31:52] (root_api-) getFrontCategoryMenu : [1] get category with category default root.
[13/Apr/2026:04:31:52] (root_api-) Query~select ct.cat_id,ct.cat_name,ct.short_name,ct.`status`,
	fn_getChildCount(ct.cat_id) as childNodes,fn_getParentPath(ct.cat_id) as parentPath
	from tbl_category ct
	left join tbl_category ctp on ct.cat_parent_id = ctp.cat_id
	 where ct.cat_parent_id='117' AND ct.status = 'active'
	order by fn_getParentPath(ct.cat_id), ct.cat_name~2026-04-13 04:31:52:0452~2026-04-13 04:31:52~success
[13/Apr/2026:04:31:52] (root_api-) getFrontCategoryMenu : [1] get category with category default root.
[13/Apr/2026:04:31:52] (root_api-) Query~select ct.cat_id,ct.cat_name,ct.short_name,ct.`status`,
	fn_getChildCount(ct.cat_id) as childNodes,fn_getParentPath(ct.cat_id) as parentPath
	from tbl_category ct
	left join tbl_category ctp on ct.cat_parent_id = ctp.cat_id
	 where ct.cat_parent_id='137' AND ct.status = 'active'
	order by fn_getParentPath(ct.cat_id), ct.cat_name~2026-04-13 04:31:52:0452~2026-04-13 04:31:52~success
[13/Apr/2026:04:31:52] (root_api-) getFrontCategoryMenu : [1] get category with category default root.
[13/Apr/2026:04:31:52] (root_api-) Query~select ct.cat_id,ct.cat_name,ct.short_name,ct.`status`,
	fn_getChildCount(ct.cat_id) as childNodes,fn_getParentPath(ct.cat_id) as parentPath
	from tbl_category ct
	left join tbl_category ctp on ct.cat_parent_id = ctp.cat_id
	 where ct.cat_parent_id='138' AND ct.status = 'active'
	order by fn_getParentPath(ct.cat_id), ct.cat_name~2026-04-13 04:31:52:0452~2026-04-13 04:31:52~success
[13/Apr/2026:04:31:52] (root_api-) getFrontCategoryMenu : [1] get category with category default root.
[13/Apr/2026:04:31:52] (root_api-) Query~select ct.cat_id,ct.cat_name,ct.short_name,ct.`status`,
	fn_getChildCount(ct.cat_id) as childNodes,fn_getParentPath(ct.cat_id) as parentPath
	from tbl_category ct
	left join tbl_category ctp on ct.cat_parent_id = ctp.cat_id
	 where ct.cat_parent_id='144' AND ct.status = 'active'
	order by fn_getParentPath(ct.cat_id), ct.cat_name~2026-04-13 04:31:52:0452~2026-04-13 04:31:52~success
[13/Apr/2026:04:31:52] (root_api-) getFrontCategoryMenu : [1] get category with category default root.
[13/Apr/2026:04:31:52] (root_api-) Query~select ct.cat_id,ct.cat_name,ct.short_name,ct.`status`,
	fn_getChildCount(ct.cat_id) as childNodes,fn_getParentPath(ct.cat_id) as parentPath
	from tbl_category ct
	left join tbl_category ctp on ct.cat_parent_id = ctp.cat_id
	 where ct.cat_parent_id='164' AND ct.status = 'active'
	order by fn_getParentPath(ct.cat_id), ct.cat_name~2026-04-13 04:31:52:0452~2026-04-13 04:31:52~success
[13/Apr/2026:04:31:52] (root_api-) getFrontCategoryMenu : [1] get category with category default root.
[13/Apr/2026:04:31:52] (root_api-) Query~select ct.cat_id,ct.cat_name,ct.short_name,ct.`status`,
	fn_getChildCount(ct.cat_id) as childNodes,fn_getParentPath(ct.cat_id) as parentPath
	from tbl_category ct
	left join tbl_category ctp on ct.cat_parent_id = ctp.cat_id
	 where ct.cat_parent_id='179' AND ct.status = 'active'
	order by fn_getParentPath(ct.cat_id), ct.cat_name~2026-04-13 04:31:52:0452~2026-04-13 04:31:52~success
[13/Apr/2026:04:31:52] (root_api-) getFrontCategoryMenu : [1] get category with category default root.
[13/Apr/2026:04:31:52] (root_api-) Query~select ct.cat_id,ct.cat_name,ct.short_name,ct.`status`,
	fn_getChildCount(ct.cat_id) as childNodes,fn_getParentPath(ct.cat_id) as parentPath
	from tbl_category ct
	left join tbl_category ctp on ct.cat_parent_id = ctp.cat_id
	 where ct.cat_parent_id='82' AND ct.status = 'active'
	order by fn_getParentPath(ct.cat_id), ct.cat_name~2026-04-13 04:31:52:0452~2026-04-13 04:31:52~success
[13/Apr/2026:04:31:52] (root_api-) getFrontCategoryMenu : [1] get category with category default root.
[13/Apr/2026:04:31:52] (root_api-) Query~select ct.cat_id,ct.cat_name,ct.short_name,ct.`status`,
	fn_getChildCount(ct.cat_id) as childNodes,fn_getParentPath(ct.cat_id) as parentPath
	from tbl_category ct
	left join tbl_category ctp on ct.cat_parent_id = ctp.cat_id
	 where ct.cat_parent_id='200' AND ct.status = 'active'
	order by fn_getParentPath(ct.cat_id), ct.cat_name~2026-04-13 04:31:52:0452~2026-04-13 04:31:52~success
[13/Apr/2026:04:31:52] (root_api-) getFrontCategoryMenu : [1] get category with category default root.
[13/Apr/2026:04:31:52] (root_api-) Query~select ct.cat_id,ct.cat_name,ct.short_name,ct.`status`,
	fn_getChildCount(ct.cat_id) as childNodes,fn_getParentPath(ct.cat_id) as parentPath
	from tbl_category ct
	left join tbl_category ctp on ct.cat_parent_id = ctp.cat_id
	 where ct.cat_parent_id='218' AND ct.status = 'active'
	order by fn_getParentPath(ct.cat_id), ct.cat_name~2026-04-13 04:31:52:0452~2026-04-13 04:31:52~success
[13/Apr/2026:04:31:52] (root_api-) getFrontCategoryMenu : [1] get category with category default root.
[13/Apr/2026:04:31:52] (root_api-) Query~select ct.cat_id,ct.cat_name,ct.short_name,ct.`status`,
	fn_getChildCount(ct.cat_id) as childNodes,fn_getParentPath(ct.cat_id) as parentPath
	from tbl_category ct
	left join tbl_category ctp on ct.cat_parent_id = ctp.cat_id
	 where ct.cat_parent_id='272' AND ct.status = 'active'
	order by fn_getParentPath(ct.cat_id), ct.cat_name~2026-04-13 04:31:52:0452~2026-04-13 04:31:52~success
[13/Apr/2026:04:31:52] (root_api-) getFrontCategoryMenu : [1] get category with category default root.
[13/Apr/2026:04:31:52] (root_api-) Query~select ct.cat_id,ct.cat_name,ct.short_name,ct.`status`,
	fn_getChildCount(ct.cat_id) as childNodes,fn_getParentPath(ct.cat_id) as parentPath
	from tbl_category ct
	left join tbl_category ctp on ct.cat_parent_id = ctp.cat_id
	 where ct.cat_parent_id='292' AND ct.status = 'active'
	order by fn_getParentPath(ct.cat_id), ct.cat_name~2026-04-13 04:31:52:0452~2026-04-13 04:31:52~success
[13/Apr/2026:04:31:52] (root_api-) getFrontCategoryMenu : [1] get category with category default root.
[13/Apr/2026:04:31:52] (root_api-) Query~select ct.cat_id,ct.cat_name,ct.short_name,ct.`status`,
	fn_getChildCount(ct.cat_id) as childNodes,fn_getParentPath(ct.cat_id) as parentPath
	from tbl_category ct
	left join tbl_category ctp on ct.cat_parent_id = ctp.cat_id
	 where ct.cat_parent_id='623' AND ct.status = 'active'
	order by fn_getParentPath(ct.cat_id), ct.cat_name~2026-04-13 04:31:52:0452~2026-04-13 04:31:52~success
[13/Apr/2026:04:31:52] (root_api-) getFrontCategoryMenu : [1] get category with category default root.
[13/Apr/2026:04:31:52] (root_api-) Query~select ct.cat_id,ct.cat_name,ct.short_name,ct.`status`,
	fn_getChildCount(ct.cat_id) as childNodes,fn_getParentPath(ct.cat_id) as parentPath
	from tbl_category ct
	left join tbl_category ctp on ct.cat_parent_id = ctp.cat_id
	 where ct.cat_parent_id='366' AND ct.status = 'active'
	order by fn_getParentPath(ct.cat_id), ct.cat_name~2026-04-13 04:31:52:0452~2026-04-13 04:31:52~success
[13/Apr/2026:04:31:52] (root_api-) getFrontCategoryMenu : [1] get category with category default root.
[13/Apr/2026:04:31:52] (root_api-) Query~select ct.cat_id,ct.cat_name,ct.short_name,ct.`status`,
	fn_getChildCount(ct.cat_id) as childNodes,fn_getParentPath(ct.cat_id) as parentPath
	from tbl_category ct
	left join tbl_category ctp on ct.cat_parent_id = ctp.cat_id
	 where ct.cat_parent_id='311' AND ct.status = 'active'
	order by fn_getParentPath(ct.cat_id), ct.cat_name~2026-04-13 04:31:52:0452~2026-04-13 04:31:52~success
[13/Apr/2026:04:31:52] (root_api-) getFrontCategoryMenu : [1] get category with category default root.
[13/Apr/2026:04:31:52] (root_api-) Query~select ct.cat_id,ct.cat_name,ct.short_name,ct.`status`,
	fn_getChildCount(ct.cat_id) as childNodes,fn_getParentPath(ct.cat_id) as parentPath
	from tbl_category ct
	left join tbl_category ctp on ct.cat_parent_id = ctp.cat_id
	 where ct.cat_parent_id='325' AND ct.status = 'active'
	order by fn_getParentPath(ct.cat_id), ct.cat_name~2026-04-13 04:31:52:0452~2026-04-13 04:31:52~success
[13/Apr/2026:04:31:52] (root_api-) getFrontCategoryMenu : [1] get category with category default root.
[13/Apr/2026:04:31:52] (root_api-) Query~select ct.cat_id,ct.cat_name,ct.short_name,ct.`status`,
	fn_getChildCount(ct.cat_id) as childNodes,fn_getParentPath(ct.cat_id) as parentPath
	from tbl_category ct
	left join tbl_category ctp on ct.cat_parent_id = ctp.cat_id
	 where ct.cat_parent_id='11' AND ct.status = 'active'
	order by fn_getParentPath(ct.cat_id), ct.cat_name~2026-04-13 04:31:52:0452~2026-04-13 04:31:52~success
[13/Apr/2026:04:31:52] (root_api-) getFrontCategoryMenu : [1] get category with category default root.
[13/Apr/2026:04:31:52] (root_api-) Query~select ct.cat_id,ct.cat_name,ct.short_name,ct.`status`,
	fn_getChildCount(ct.cat_id) as childNodes,fn_getParentPath(ct.cat_id) as parentPath
	from tbl_category ct
	left join tbl_category ctp on ct.cat_parent_id = ctp.cat_id
	 where ct.cat_parent_id='611' AND ct.status = 'active'
	order by fn_getParentPath(ct.cat_id), ct.cat_name~2026-04-13 04:31:52:0452~2026-04-13 04:31:52~success
[13/Apr/2026:04:31:52] (root_api-) getFrontCategoryMenu : [1] get category with category default root.
[13/Apr/2026:04:31:52] (root_api-) Query~select ct.cat_id,ct.cat_name,ct.short_name,ct.`status`,
	fn_getChildCount(ct.cat_id) as childNodes,fn_getParentPath(ct.cat_id) as parentPath
	from tbl_category ct
	left join tbl_category ctp on ct.cat_parent_id = ctp.cat_id
	 where ct.cat_parent_id='38' AND ct.status = 'active'
	order by fn_getParentPath(ct.cat_id), ct.cat_name~2026-04-13 04:31:52:0452~2026-04-13 04:31:52~success
[13/Apr/2026:04:31:52] (root_api-) getFrontCategoryMenu : [1] get category with category default root.
[13/Apr/2026:04:31:52] (root_api-) Query~select ct.cat_id,ct.cat_name,ct.short_name,ct.`status`,
	fn_getChildCount(ct.cat_id) as childNodes,fn_getParentPath(ct.cat_id) as parentPath
	from tbl_category ct
	left join tbl_category ctp on ct.cat_parent_id = ctp.cat_id
	 where ct.cat_parent_id='525' AND ct.status = 'active'
	order by fn_getParentPath(ct.cat_id), ct.cat_name~2026-04-13 04:31:52:0452~2026-04-13 04:31:52~success
[13/Apr/2026:04:31:52] (root_api-) getFrontCategoryMenu : [1] get category with category default root.
[13/Apr/2026:04:31:52] (root_api-) Query~select ct.cat_id,ct.cat_name,ct.short_name,ct.`status`,
	fn_getChildCount(ct.cat_id) as childNodes,fn_getParentPath(ct.cat_id) as parentPath
	from tbl_category ct
	left join tbl_category ctp on ct.cat_parent_id = ctp.cat_id
	 where ct.cat_parent_id='528' AND ct.status = 'active'
	order by fn_getParentPath(ct.cat_id), ct.cat_name~2026-04-13 04:31:52:0452~2026-04-13 04:31:52~success
[13/Apr/2026:04:31:52] (root_api-) getFrontCategoryMenu : [1] get category with category default root.
[13/Apr/2026:04:31:52] (root_api-) Query~select ct.cat_id,ct.cat_name,ct.short_name,ct.`status`,
	fn_getChildCount(ct.cat_id) as childNodes,fn_getParentPath(ct.cat_id) as parentPath
	from tbl_category ct
	left join tbl_category ctp on ct.cat_parent_id = ctp.cat_id
	 where ct.cat_parent_id='529' AND ct.status = 'active'
	order by fn_getParentPath(ct.cat_id), ct.cat_name~2026-04-13 04:31:52:0452~2026-04-13 04:31:52~success
[13/Apr/2026:04:31:52] (root_api-) getFrontCategoryMenu : [1] get category with category default root.
[13/Apr/2026:04:31:52] (root_api-) Query~select ct.cat_id,ct.cat_name,ct.short_name,ct.`status`,
	fn_getChildCount(ct.cat_id) as childNodes,fn_getParentPath(ct.cat_id) as parentPath
	from tbl_category ct
	left join tbl_category ctp on ct.cat_parent_id = ctp.cat_id
	 where ct.cat_parent_id='551' AND ct.status = 'active'
	order by fn_getParentPath(ct.cat_id), ct.cat_name~2026-04-13 04:31:52:0452~2026-04-13 04:31:52~success
[13/Apr/2026:04:31:52] (root_api-) getFrontCategoryMenu : [1] get category with category default root.
[13/Apr/2026:04:31:52] (root_api-) Query~select ct.cat_id,ct.cat_name,ct.short_name,ct.`status`,
	fn_getChildCount(ct.cat_id) as childNodes,fn_getParentPath(ct.cat_id) as parentPath
	from tbl_category ct
	left join tbl_category ctp on ct.cat_parent_id = ctp.cat_id
	 where ct.cat_parent_id='552' AND ct.status = 'active'
	order by fn_getParentPath(ct.cat_id), ct.cat_name~2026-04-13 04:31:52:0452~2026-04-13 04:31:52~success
[13/Apr/2026:04:31:52] (root_api-) getFrontCategoryMenu : [1] get category with category default root.
[13/Apr/2026:04:31:52] (root_api-) Query~select ct.cat_id,ct.cat_name,ct.short_name,ct.`status`,
	fn_getChildCount(ct.cat_id) as childNodes,fn_getParentPath(ct.cat_id) as parentPath
	from tbl_category ct
	left join tbl_category ctp on ct.cat_parent_id = ctp.cat_id
	 where ct.cat_parent_id='581' AND ct.status = 'active'
	order by fn_getParentPath(ct.cat_id), ct.cat_name~2026-04-13 04:31:52:0452~2026-04-13 04:31:52~success
[13/Apr/2026:04:31:52] (root_api-) getFrontCategoryMenu : [1] get category with category default root.
[13/Apr/2026:04:31:52] (root_api-) Query~select ct.cat_id,ct.cat_name,ct.short_name,ct.`status`,
	fn_getChildCount(ct.cat_id) as childNodes,fn_getParentPath(ct.cat_id) as parentPath
	from tbl_category ct
	left join tbl_category ctp on ct.cat_parent_id = ctp.cat_id
	 where ct.cat_parent_id='341' AND ct.status = 'active'
	order by fn_getParentPath(ct.cat_id), ct.cat_name~2026-04-13 04:31:52:0452~2026-04-13 04:31:52~success
[13/Apr/2026:04:31:52] (root_api-) Final JSON =  {"status":"ok","message":"","Errorcode":"","data":[{"cat_id":"410","cat_name":"Business & Finance","short_name":"Business & Finance","childNodes":"7","parentPath":"00001","sub_categories":[{"cat_id":"411","cat_name":"Accounting","short_name":"Accounting","childNodes":"21","parentPath":"00410-00001","sub_categories":[{"cat_id":"431","cat_name":"                    Accounting","short_name":"Taxation Partnership","childNodes":"0","parentPath":"00411-00410-00001"},{"cat_id":"412","cat_name":"AAT","short_name":"AAT","childNodes":"0","parentPath":"00411-00410-00001"},{"cat_id":"413","cat_name":"Accounting","short_name":"Accounting","childNodes":"0","parentPath":"00411-00410-00001"},{"cat_id":"414","cat_name":"Accounting Information Systems","short_name":"Accounting Information Systems","childNodes":"0","parentPath":"00411-00410-00001"},{"cat_id":"415","cat_name":"Accounting Theory","short_name":"Accounting Theory","childNodes":"0","parentPath":"00411-00410-00001"},{"cat_id":"416","cat_name":"Appraisal","short_name":"Appraisal","childNodes":"0","parentPath":"00411-00410-00001"},{"cat_id":"417","cat_name":"Audit","short_name":"Audit","childNodes":"0","parentPath":"00411-00410-00001"},{"cat_id":"418","cat_name":"Audit & Assurance","short_name":"Audit & Assurance","childNodes":"0","parentPath":"00411-00410-00001"},{"cat_id":"419","cat_name":"Audit Sampling","short_name":"Audit Sampling","childNodes":"0","parentPath":"00411-00410-00001"},{"cat_id":"420","cat_name":"Bookkeeping","short_name":"Bookkeeping","childNodes":"0","parentPath":"00411-00410-00001"},{"cat_id":"421","cat_name":"Cost Accounting","short_name":"Cost Accounting","childNodes":"0","parentPath":"00411-00410-00001"},{"cat_id":"422","cat_name":"Enrolled Agent","short_name":"Enrolled Agent","childNodes":"0","parentPath":"00411-00410-00001"},{"cat_id":"423","cat_name":"Federal Income Tax","short_name":"Federal Income Tax","childNodes":"0","parentPath":"00411-00410-00001"},{"cat_id":"627","cat_name":"Finanace","short_name":"Finanace","childNodes":"0","parentPath":"00411-00410-00001"},{"cat_id":"424","cat_name":"Financial Accounting","short_name":"Financial Accounting","childNodes":"0","parentPath":"00411-00410-00001"},{"cat_id":"425","cat_name":"Fraud","short_name":"Fraud","childNodes":"0","parentPath":"00411-00410-00001"},{"cat_id":"426","cat_name":"Income Tax","short_name":"Income Tax","childNodes":"0","parentPath":"00411-00410-00001"},{"cat_id":"427","cat_name":"Intermediate Accounting","short_name":"Intermediate Accounting","childNodes":"0","parentPath":"00411-00410-00001"},{"cat_id":"428","cat_name":"Managerial Accounting","short_name":"Managerial Accounting","childNodes":"0","parentPath":"00411-00410-00001"},{"cat_id":"429","cat_name":"Public Finance","short_name":"Public Finance","childNodes":"0","parentPath":"00411-00410-00001"},{"cat_id":"430","cat_name":"Taxation","short_name":"Taxation","childNodes":"0","parentPath":"00411-00410-00001"}]},{"cat_id":"433","cat_name":"Business","short_name":"Business","childNodes":"23","parentPath":"00410-00001","sub_categories":[{"cat_id":"434","cat_name":"Accounting","short_name":"Accounting","childNodes":"0","parentPath":"00433-00410-00001"},{"cat_id":"435","cat_name":"Advertising","short_name":"Advertising","childNodes":"0","parentPath":"00433-00410-00001"},{"cat_id":"436","cat_name":"Business","short_name":"Business","childNodes":"0","parentPath":"00433-00410-00001"},{"cat_id":"437","cat_name":"Business Analysis","short_name":"Business Analysis","childNodes":"0","parentPath":"00433-00410-00001"},{"cat_id":"438","cat_name":"Business Analytics","short_name":"Business Analytics","childNodes":"0","parentPath":"00433-00410-00001"},{"cat_id":"439","cat_name":"Business Communication","short_name":"Business Communication","childNodes":"0","parentPath":"00433-00410-00001"},{"cat_id":"440","cat_name":"Business Ethics","short_name":"Business Ethics","childNodes":"0","parentPath":"00433-00410-00001"},{"cat_id":"441","cat_name":"Employee Training Demo","short_name":"Employee Training Demo","childNodes":"0","parentPath":"00433-00410-00001"},{"cat_id":"442","cat_name":"Entrepreneurship","short_name":"Entrepreneurship","childNodes":"0","parentPath":"00433-00410-00001"},{"cat_id":"443","cat_name":"Fashion","short_name":"Fashion","childNodes":"0","parentPath":"00433-00410-00001"},{"cat_id":"444","cat_name":"Finance","short_name":"Finance","childNodes":"0","parentPath":"00433-00410-00001"},{"cat_id":"445","cat_name":"Global Business","short_name":"Global Business","childNodes":"0","parentPath":"00433-00410-00001"},{"cat_id":"446","cat_name":"Human Resources","short_name":"Human Resources","childNodes":"0","parentPath":"00433-00410-00001"},{"cat_id":"447","cat_name":"Insurance","short_name":"Insurance","childNodes":"0","parentPath":"00433-00410-00001"},{"cat_id":"448","cat_name":"International Business","short_name":"International Business","childNodes":"0","parentPath":"00433-00410-00001"},{"cat_id":"449","cat_name":"Life & Health Insurance","short_name":"Life & Health Insurance","childNodes":"0","parentPath":"00433-00410-00001"},{"cat_id":"450","cat_name":"Logistics","short_name":"Logistics","childNodes":"0","parentPath":"00433-00410-00001"},{"cat_id":"451","cat_name":"Procurement","short_name":"Procurement","childNodes":"0","parentPath":"00433-00410-00001"},{"cat_id":"452","cat_name":"Project Management","short_name":"Project Management","childNodes":"0","parentPath":"00433-00410-00001"},{"cat_id":"453","cat_name":"Risk Management","short_name":"Risk Management","childNodes":"0","parentPath":"00433-00410-00001"},{"cat_id":"454","cat_name":"Salesforce","short_name":"Salesforce","childNodes":"0","parentPath":"00433-00410-00001"},{"cat_id":"455","cat_name":"Supply Chain","short_name":"Supply Chain","childNodes":"0","parentPath":"00433-00410-00001"},{"cat_id":"456","cat_name":"Tourism","short_name":"Tourism","childNodes":"0","parentPath":"00433-00410-00001"}]},{"cat_id":"458","cat_name":"Economics","short_name":"Economics","childNodes":"24","parentPath":"00410-00001","sub_categories":[{"cat_id":"459","cat_name":"Behavioral Economics","short_name":"Behavioral Economics","childNodes":"0","parentPath":"00458-00410-00001"},{"cat_id":"471","cat_name":"Capital Markets","short_name":"Capital Markets","childNodes":"0","parentPath":"00458-00410-00001"},{"cat_id":"472","cat_name":"Corporate Finance","short_name":"Corporate Finance","childNodes":"0","parentPath":"00458-00410-00001"},{"cat_id":"460","cat_name":"Econometrics","short_name":"Econometrics","childNodes":"0","parentPath":"00458-00410-00001"},{"cat_id":"461","cat_name":"Economic Development","short_name":"Economic Development","childNodes":"0","parentPath":"00458-00410-00001"},{"cat_id":"462","cat_name":"Economics","short_name":"Economics","childNodes":"0","parentPath":"00458-00410-00001"},{"cat_id":"463","cat_name":"Environmental Economics","short_name":"Environmental Economics","childNodes":"0","parentPath":"00458-00410-00001"},{"cat_id":"473","cat_name":"Finance","short_name":"Finance","childNodes":"0","parentPath":"00458-00410-00001"},{"cat_id":"474","cat_name":"Financial Exams","short_name":"Financial Exams","childNodes":"0","parentPath":"00458-00410-00001"},{"cat_id":"475","cat_name":"Financial Literacy","short_name":"Financial Literacy","childNodes":"0","parentPath":"00458-00410-00001"},{"cat_id":"476","cat_name":"Financial Markets","short_name":"Financial Markets","childNodes":"0","parentPath":"00458-00410-00001"},{"cat_id":"477","cat_name":"Fixed Income","short_name":"Fixed Income","childNodes":"0","parentPath":"00458-00410-00001"},{"cat_id":"464","cat_name":"Game Theory","short_name":"Game Theory","childNodes":"0","parentPath":"00458-00410-00001"},{"cat_id":"465","cat_name":"Globalization","short_name":"Globalization","childNodes":"0","parentPath":"00458-00410-00001"},{"cat_id":"478","cat_name":"International Finance","short_name":"International Finance","childNodes":"0","parentPath":"00458-00410-00001"},{"cat_id":"479","cat_name":"Investment Analysis","short_name":"Investment Analysis","childNodes":"0","parentPath":"00458-00410-00001"},{"cat_id":"480","cat_name":"Investment Banking","short_name":"Investment Banking","childNodes":"0","parentPath":"00458-00410-00001"},{"cat_id":"466","cat_name":"Macroeconomics","short_name":"Macroeconomics","childNodes":"0","parentPath":"00458-00410-00001"},{"cat_id":"467","cat_name":"Managerial Economics","short_name":"Managerial Economics","childNodes":"0","parentPath":"00458-00410-00001"},{"cat_id":"468","cat_name":"Microeconomics","short_name":"Microeconomics","childNodes":"0","parentPath":"00458-00410-00001"},{"cat_id":"481","cat_name":"Personal Finance","short_name":"Personal Finance","childNodes":"0","parentPath":"00458-00410-00001"},{"cat_id":"469","cat_name":"Principles of Economics","short_name":"Principles of Economics","childNodes":"0","parentPath":"00458-00410-00001"},{"cat_id":"482","cat_name":"Private Equity","short_name":"Private Equity","childNodes":"0","parentPath":"00458-00410-00001"},{"cat_id":"483","cat_name":"Real Estate Finance","short_name":"Real Estate Finance","childNodes":"0","parentPath":"00458-00410-00001"}]},{"cat_id":"470","cat_name":"Finance","short_name":"Finance","childNodes":"0","parentPath":"00410-00001"},{"cat_id":"485","cat_name":"Management","short_name":"Management","childNodes":"12","parentPath":"00410-00001","sub_categories":[{"cat_id":"486","cat_name":"Business Administration","short_name":"Business Administration","childNodes":"0","parentPath":"00485-00410-00001"},{"cat_id":"487","cat_name":"Business Management","short_name":"Business Management","childNodes":"0","parentPath":"00485-00410-00001"},{"cat_id":"488","cat_name":"Effective Supervisory Practices","short_name":"Effective Supervisory Practices","childNodes":"0","parentPath":"00485-00410-00001"},{"cat_id":"489","cat_name":"Facilities Management","short_name":"Facilities Management","childNodes":"0","parentPath":"00485-00410-00001"},{"cat_id":"490","cat_name":"Healthcare Management","short_name":"Healthcare Management","childNodes":"0","parentPath":"00485-00410-00001"},{"cat_id":"491","cat_name":"Higher Business Management","short_name":"Higher Business Management","childNodes":"0","parentPath":"00485-00410-00001"},{"cat_id":"492","cat_name":"Human Resource Management","short_name":"Human Resource Management","childNodes":"0","parentPath":"00485-00410-00001"},{"cat_id":"493","cat_name":"Management 101","short_name":"Management 101","childNodes":"0","parentPath":"00485-00410-00001"},{"cat_id":"494","cat_name":"Operations Management","short_name":"Operations Management","childNodes":"0","parentPath":"00485-00410-00001"},{"cat_id":"495","cat_name":"Organizational Behavior","short_name":"Organizational Behavior","childNodes":"0","parentPath":"00485-00410-00001"},{"cat_id":"496","cat_name":"Principles of Management","short_name":"Principles of Management","childNodes":"0","parentPath":"00485-00410-00001"},{"cat_id":"497","cat_name":"Strategic Management","short_name":"Strategic Management","childNodes":"0","parentPath":"00485-00410-00001"}]},{"cat_id":"499","cat_name":"Marketing","short_name":"Marketing","childNodes":"13","parentPath":"00410-00001","sub_categories":[{"cat_id":"500","cat_name":"B2B Marketing","short_name":"B2B Marketing","childNodes":"0","parentPath":"00499-00410-00001"},{"cat_id":"501","cat_name":"Consumer Behavior","short_name":"Consumer Behavior","childNodes":"0","parentPath":"00499-00410-00001"},{"cat_id":"502","cat_name":"Digital Marketing","short_name":"Digital Marketing","childNodes":"0","parentPath":"00499-00410-00001"},{"cat_id":"503","cat_name":"Global Marketing","short_name":"Global Marketing","childNodes":"0","parentPath":"00499-00410-00001"},{"cat_id":"504","cat_name":"International Marketing","short_name":"International Marketing","childNodes":"0","parentPath":"00499-00410-00001"},{"cat_id":"505","cat_name":"Marketing 101","short_name":"Marketing 101","childNodes":"0","parentPath":"00499-00410-00001"},{"cat_id":"506","cat_name":"Marketing Research","short_name":"Marketing Research","childNodes":"0","parentPath":"00499-00410-00001"},{"cat_id":"507","cat_name":"Neuromarketing","short_name":"Neuromarketing","childNodes":"0","parentPath":"00499-00410-00001"},{"cat_id":"508","cat_name":"Principles of Marketing","short_name":"Principles of Marketing","childNodes":"0","parentPath":"00499-00410-00001"},{"cat_id":"509","cat_name":"Sales & Marketing","short_name":"Sales & Marketing","childNodes":"0","parentPath":"00499-00410-00001"},{"cat_id":"510","cat_name":"Service Marketing","short_name":"Service Marketing","childNodes":"0","parentPath":"00499-00410-00001"},{"cat_id":"511","cat_name":"Social Marketing","short_name":"Social Marketing","childNodes":"0","parentPath":"00499-00410-00001"},{"cat_id":"512","cat_name":"Strategic Marketing","short_name":"Strategic Marketing","childNodes":"0","parentPath":"00499-00410-00001"}]},{"cat_id":"514","cat_name":"Real Estate","short_name":"Real Estate","childNodes":"10","parentPath":"00410-00001","sub_categories":[{"cat_id":"515","cat_name":"Real Estate - General","short_name":"Real Estate - General","childNodes":"0","parentPath":"00514-00410-00001"},{"cat_id":"516","cat_name":"Real Estate Agent","short_name":"Real Estate Agent","childNodes":"0","parentPath":"00514-00410-00001"},{"cat_id":"517","cat_name":"Real Estate Appraisal","short_name":"Real Estate Appraisal","childNodes":"0","parentPath":"00514-00410-00001"},{"cat_id":"518","cat_name":"Real Estate Exam","short_name":"Real Estate Exam","childNodes":"0","parentPath":"00514-00410-00001"},{"cat_id":"519","cat_name":"Real Estate Finance","short_name":"Real Estate Finance","childNodes":"0","parentPath":"00514-00410-00001"},{"cat_id":"520","cat_name":"Real Estate Law","short_name":"Real Estate Law","childNodes":"0","parentPath":"00514-00410-00001"},{"cat_id":"521","cat_name":"Real Estate Math","short_name":"Real Estate Math","childNodes":"0","parentPath":"00514-00410-00001"},{"cat_id":"522","cat_name":"Real Estate Post-Licensing","short_name":"Real Estate Post-Licensing","childNodes":"0","parentPath":"00514-00410-00001"},{"cat_id":"523","cat_name":"Real Estate Practice","short_name":"Real Estate Practice","childNodes":"0","parentPath":"00514-00410-00001"},{"cat_id":"524","cat_name":"Real Estate Principles","short_name":"Real Estate Principles","childNodes":"0","parentPath":"00514-00410-00001"}]}]},{"cat_id":"64","cat_name":"English","short_name":"English","childNodes":"16","parentPath":"00001","sub_categories":[{"cat_id":"65","cat_name":"American Literature","short_name":"American Literature","childNodes":"0","parentPath":"00064-00001"},{"cat_id":"66","cat_name":"British Literature","short_name":"British Literature","childNodes":"0","parentPath":"00064-00001"},{"cat_id":"67","cat_name":"Classic Novels","short_name":"Classic Novels","childNodes":"0","parentPath":"00064-00001"},{"cat_id":"68","cat_name":"Creative Writing","short_name":"Creative Writing","childNodes":"0","parentPath":"00064-00001"},{"cat_id":"69","cat_name":"English","short_name":"English","childNodes":"0","parentPath":"00064-00001"},{"cat_id":"70","cat_name":"English Grammar","short_name":"English Grammar","childNodes":"0","parentPath":"00064-00001"},{"cat_id":"71","cat_name":"Fiction","short_name":"Fiction","childNodes":"0","parentPath":"00064-00001"},{"cat_id":"72","cat_name":"Higher English","short_name":"Higher English","childNodes":"0","parentPath":"00064-00001"},{"cat_id":"73","cat_name":"Literature","short_name":"Literature","childNodes":"0","parentPath":"00064-00001"},{"cat_id":"74","cat_name":"Medieval literature","short_name":"Medieval literature","childNodes":"0","parentPath":"00064-00001"},{"cat_id":"75","cat_name":"Phonics","short_name":"Phonics","childNodes":"0","parentPath":"00064-00001"},{"cat_id":"76","cat_name":"Poetry","short_name":"Poetry","childNodes":"0","parentPath":"00064-00001"},{"cat_id":"77","cat_name":"Proverbs and Idioms","short_name":"Proverbs and Idioms","childNodes":"0","parentPath":"00064-00001"},{"cat_id":"78","cat_name":"Shakespeare","short_name":"Shakespeare","childNodes":"0","parentPath":"00064-00001"},{"cat_id":"79","cat_name":"Spelling","short_name":"Spelling","childNodes":"0","parentPath":"00064-00001"},{"cat_id":"80","cat_name":"Vocab Builder","short_name":"Vocab Builder","childNodes":"0","parentPath":"00064-00001"}]},{"cat_id":"2","cat_name":"Entrance Exams","short_name":"Entrance Exams","childNodes":"8","parentPath":"00001","sub_categories":[{"cat_id":"3","cat_name":"A Level Exams","short_name":"A Level Exams","childNodes":"0","parentPath":"00002-00001"},{"cat_id":"4","cat_name":"AP Exams","short_name":"AP Exams","childNodes":"0","parentPath":"00002-00001"},{"cat_id":"5","cat_name":"GCSE Exams","short_name":"GCSE Exams","childNodes":"0","parentPath":"00002-00001"},{"cat_id":"6","cat_name":"Graduate Entrance Exams","short_name":"Graduate Entrance Exams","childNodes":"0","parentPath":"00002-00001"},{"cat_id":"7","cat_name":"IGCSE Exams","short_name":"IGCSE Exams","childNodes":"0","parentPath":"00002-00001"},{"cat_id":"8","cat_name":"International Baccalaureate","short_name":"International Baccalaureate","childNodes":"0","parentPath":"00002-00001"},{"cat_id":"9","cat_name":"National 5 Exams","short_name":"National 5 Exams","childNodes":"0","parentPath":"00002-00001"},{"cat_id":"10","cat_name":"University Entrance Exams","short_name":"University Entrance Exams","childNodes":"0","parentPath":"00002-00001"}]},{"cat_id":"605","cat_name":"Fine Arts","short_name":"Fine Arts","childNodes":"5","parentPath":"00001","sub_categories":[{"cat_id":"606","cat_name":"Art","short_name":"Art","childNodes":"0","parentPath":"00605-00001"},{"cat_id":"607","cat_name":"Art History","short_name":"Art History","childNodes":"0","parentPath":"00605-00001"},{"cat_id":"608","cat_name":"Dance","short_name":"Dance","childNodes":"0","parentPath":"00605-00001"},{"cat_id":"609","cat_name":"Music","short_name":"Music","childNodes":"0","parentPath":"00605-00001"},{"cat_id":"610","cat_name":"Other Fine Arts","short_name":"Other Fine Arts","childNodes":"0","parentPath":"00605-00001"}]},{"cat_id":"598","cat_name":"Food & Beverage","short_name":"Food & Beverage","childNodes":"6","parentPath":"00001","sub_categories":[{"cat_id":"599","cat_name":"Bartending","short_name":"Bartending","childNodes":"0","parentPath":"00598-00001"},{"cat_id":"600","cat_name":"Cooking","short_name":"Cooking","childNodes":"0","parentPath":"00598-00001"},{"cat_id":"601","cat_name":"Culinary Arts","short_name":"Culinary Arts","childNodes":"0","parentPath":"00598-00001"},{"cat_id":"602","cat_name":"Hospitality","short_name":"Hospitality","childNodes":"0","parentPath":"00598-00001"},{"cat_id":"603","cat_name":"Nutrition","short_name":"Nutrition","childNodes":"0","parentPath":"00598-00001"},{"cat_id":"604","cat_name":"Wine & Spirits","short_name":"Wine & Spirits","childNodes":"0","parentPath":"00598-00001"}]},{"cat_id":"23","cat_name":"Foreign Languages","short_name":"Foreign Languages","childNodes":"14","parentPath":"00001","sub_categories":[{"cat_id":"24","cat_name":"Arabic","short_name":"Arabic","childNodes":"0","parentPath":"00023-00001"},{"cat_id":"25","cat_name":"Chinese","short_name":"Chinese","childNodes":"0","parentPath":"00023-00001"},{"cat_id":"26","cat_name":"French","short_name":"French","childNodes":"0","parentPath":"00023-00001"},{"cat_id":"27","cat_name":"German","short_name":"German","childNodes":"0","parentPath":"00023-00001"},{"cat_id":"28","cat_name":"Hebrew","short_name":"Hebrew","childNodes":"0","parentPath":"00023-00001"},{"cat_id":"29","cat_name":"Italian","short_name":"Italian","childNodes":"0","parentPath":"00023-00001"},{"cat_id":"30","cat_name":"Japanese","short_name":"Japanese","childNodes":"0","parentPath":"00023-00001"},{"cat_id":"31","cat_name":"Korean","short_name":"Korean","childNodes":"0","parentPath":"00023-00001"},{"cat_id":"32","cat_name":"Linguistics","short_name":"Linguistics","childNodes":"0","parentPath":"00023-00001"},{"cat_id":"33","cat_name":"Other Foreign Languages","short_name":"Other Foreign Languages","childNodes":"0","parentPath":"00023-00001"},{"cat_id":"34","cat_name":"Portuguese","short_name":"Portuguese","childNodes":"0","parentPath":"00023-00001"},{"cat_id":"35","cat_name":"Russian","short_name":"Russian","childNodes":"0","parentPath":"00023-00001"},{"cat_id":"36","cat_name":"Spanish","short_name":"Spanish","childNodes":"0","parentPath":"00023-00001"},{"cat_id":"37","cat_name":"TOEFL","short_name":"TOEFL","childNodes":"0","parentPath":"00023-00001"}]},{"cat_id":"396","cat_name":"Health & Fitness","short_name":"Health & Fitness","childNodes":"13","parentPath":"00001","sub_categories":[{"cat_id":"409","cat_name":"ACE Health Coach","short_name":"ACE Health Coach","childNodes":"0","parentPath":"00396-00001"},{"cat_id":"397","cat_name":"Alternative Medicine","short_name":"Alternative Medicine","childNodes":"0","parentPath":"00396-00001"},{"cat_id":"398","cat_name":"Health & Fitness Class","short_name":"Health & Fitness Class","childNodes":"0","parentPath":"00396-00001"},{"cat_id":"399","cat_name":"Health & Human Development","short_name":"Health & Human Development","childNodes":"0","parentPath":"00396-00001"},{"cat_id":"400","cat_name":"Health Class","short_name":"Health Class","childNodes":"0","parentPath":"00396-00001"},{"cat_id":"401","cat_name":"Health Science","short_name":"Health Science","childNodes":"0","parentPath":"00396-00001"},{"cat_id":"402","cat_name":"Human Development","short_name":"Human Development","childNodes":"0","parentPath":"00396-00001"},{"cat_id":"403","cat_name":"Human Growth & Development","short_name":"Human Growth & Development","childNodes":"0","parentPath":"00396-00001"},{"cat_id":"404","cat_name":"Mental Health","short_name":"Mental Health","childNodes":"0","parentPath":"00396-00001"},{"cat_id":"406","cat_name":"NASM CPT","short_name":"NASM CPT","childNodes":"0","parentPath":"00396-00001"},{"cat_id":"405","cat_name":"Public Health","short_name":"Public Health","childNodes":"0","parentPath":"00396-00001"},{"cat_id":"407","cat_name":"Sports & Kinesiology","short_name":"Sports & Kinesiology","childNodes":"0","parentPath":"00396-00001"},{"cat_id":"408","cat_name":"Yoga","short_name":"Yoga","childNodes":"0","parentPath":"00396-00001"}]},{"cat_id":"81","cat_name":"Humanities & Social Studies","short_name":"Humanities & Social Studies","childNodes":"16","parentPath":"00001","sub_categories":[{"cat_id":"90","cat_name":"Anthropology","short_name":"Anthropology","childNodes":"16","parentPath":"00081-00001","sub_categories":[{"cat_id":"91","cat_name":"Anthropology","short_name":"Anthropology","childNodes":"0","parentPath":"00090-00081-00001"},{"cat_id":"92","cat_name":"Archaeology","short_name":"Archaeology","childNodes":"0","parentPath":"00090-00081-00001"},{"cat_id":"93","cat_name":"Biological Anthropology","short_name":"Biological Anthropology","childNodes":"0","parentPath":"00090-00081-00001"},{"cat_id":"94","cat_name":"Cultural Anthropology","short_name":"Cultural Anthropology","childNodes":"0","parentPath":"00090-00081-00001"},{"cat_id":"95","cat_name":"Ethnobotany","short_name":"Ethnobotany","childNodes":"0","parentPath":"00090-00081-00001"},{"cat_id":"96","cat_name":"Evolutionary Genetics","short_name":"Evolutionary Genetics","childNodes":"0","parentPath":"00090-00081-00001"},{"cat_id":"97","cat_name":"Forensic Anthropology","short_name":"Forensic Anthropology","childNodes":"0","parentPath":"00090-00081-00001"},{"cat_id":"98","cat_name":"Fossils","short_name":"Fossils","childNodes":"0","parentPath":"00090-00081-00001"},{"cat_id":"99","cat_name":"Gender Studies","short_name":"Gender Studies","childNodes":"0","parentPath":"00090-00081-00001"},{"cat_id":"100","cat_name":"Human Biology","short_name":"Human Biology","childNodes":"0","parentPath":"00090-00081-00001"},{"cat_id":"101","cat_name":"Human Evolution","short_name":"Human Evolution","childNodes":"0","parentPath":"00090-00081-00001"},{"cat_id":"102","cat_name":"Human Genetics","short_name":"Human Genetics","childNodes":"0","parentPath":"00090-00081-00001"},{"cat_id":"103","cat_name":"Human Reproduction","short_name":"Human Reproduction","childNodes":"0","parentPath":"00090-00081-00001"},{"cat_id":"104","cat_name":"Linguistics","short_name":"Linguistics","childNodes":"0","parentPath":"00090-00081-00001"},{"cat_id":"105","cat_name":"Physical Anthropology","short_name":"Physical Anthropology","childNodes":"0","parentPath":"00090-00081-00001"},{"cat_id":"106","cat_name":"Primate Behavior","short_name":"Primate Behavior","childNodes":"0","parentPath":"00090-00081-00001"}]},{"cat_id":"307","cat_name":"Citizenship","short_name":"Citizenship","childNodes":"0","parentPath":"00081-00001"},{"cat_id":"308","cat_name":"Civics","short_name":"Civics","childNodes":"0","parentPath":"00081-00001"},{"cat_id":"107","cat_name":"Classics","short_name":"Classics","childNodes":"9","parentPath":"00081-00001","sub_categories":[{"cat_id":"108","cat_name":"Ancient Greek","short_name":"Ancient Greek","childNodes":"0","parentPath":"00107-00081-00001"},{"cat_id":"109","cat_name":"Classical Architecture","short_name":"Classical Architecture","childNodes":"0","parentPath":"00107-00081-00001"},{"cat_id":"110","cat_name":"Classical Art","short_name":"Classical Art","childNodes":"0","parentPath":"00107-00081-00001"},{"cat_id":"111","cat_name":"Classical Mythology","short_name":"Classical Mythology","childNodes":"0","parentPath":"00107-00081-00001"},{"cat_id":"112","cat_name":"Greek Civilization","short_name":"Greek Civilization","childNodes":"0","parentPath":"00107-00081-00001"},{"cat_id":"113","cat_name":"Greek History","short_name":"Greek History","childNodes":"0","parentPath":"00107-00081-00001"},{"cat_id":"114","cat_name":"Latin","short_name":"Latin","childNodes":"0","parentPath":"00107-00081-00001"},{"cat_id":"115","cat_name":"Roman Civilization","short_name":"Roman Civilization","childNodes":"0","parentPath":"00107-00081-00001"},{"cat_id":"116","cat_name":"Roman History","short_name":"Roman History","childNodes":"0","parentPath":"00107-00081-00001"}]},{"cat_id":"117","cat_name":"Communications","short_name":"Communications","childNodes":"19","parentPath":"00081-00001","sub_categories":[{"cat_id":"118","cat_name":"Argumentation","short_name":"Argumentation","childNodes":"0","parentPath":"00117-00081-00001"},{"cat_id":"119","cat_name":"Business Communication","short_name":"Business Communication","childNodes":"0","parentPath":"00117-00081-00001"},{"cat_id":"120","cat_name":"Communication Theory","short_name":"Communication Theory","childNodes":"0","parentPath":"00117-00081-00001"},{"cat_id":"121","cat_name":"Communications","short_name":"Communications","childNodes":"0","parentPath":"00117-00081-00001"},{"cat_id":"122","cat_name":"Debate","short_name":"Debate","childNodes":"0","parentPath":"00117-00081-00001"},{"cat_id":"123","cat_name":"Human Relationships","short_name":"Human Relationships","childNodes":"0","parentPath":"00117-00081-00001"},{"cat_id":"124","cat_name":"Interpersonal Communication","short_name":"Interpersonal Communication","childNodes":"0","parentPath":"00117-00081-00001"},{"cat_id":"125","cat_name":"Mass Communication","short_name":"Mass Communication","childNodes":"0","parentPath":"00117-00081-00001"},{"cat_id":"126","cat_name":"Mass Media","short_name":"Mass Media","childNodes":"0","parentPath":"00117-00081-00001"},{"cat_id":"127","cat_name":"Media Studies","short_name":"Media Studies","childNodes":"0","parentPath":"00117-00081-00001"},{"cat_id":"128","cat_name":"Nonverbal Communication","short_name":"Nonverbal Communication","childNodes":"0","parentPath":"00117-00081-00001"},{"cat_id":"129","cat_name":"Organizational Communication","short_name":"Organizational Communication","childNodes":"0","parentPath":"00117-00081-00001"},{"cat_id":"130","cat_name":"Persuasion","short_name":"Persuasion","childNodes":"0","parentPath":"00117-00081-00001"},{"cat_id":"131","cat_name":"Professional Communication","short_name":"Professional Communication","childNodes":"0","parentPath":"00117-00081-00001"},{"cat_id":"132","cat_name":"Public Relations","short_name":"Public Relations","childNodes":"0","parentPath":"00117-00081-00001"},{"cat_id":"133","cat_name":"Public Speaking","short_name":"Public Speaking","childNodes":"0","parentPath":"00117-00081-00001"},{"cat_id":"134","cat_name":"Rhetoric","short_name":"Rhetoric","childNodes":"0","parentPath":"00117-00081-00001"},{"cat_id":"135","cat_name":"Small Group Communication","short_name":"Small Group Communication","childNodes":"0","parentPath":"00117-00081-00001"},{"cat_id":"136","cat_name":"Speech Communication","short_name":"Speech Communication","childNodes":"0","parentPath":"00117-00081-00001"}]},{"cat_id":"137","cat_name":"Counseling","short_name":"Counseling","childNodes":"6","parentPath":"00081-00001","sub_categories":[{"cat_id":"138","cat_name":"Counseling","short_name":"Counseling","childNodes":"1","parentPath":"00137-00081-00001","sub_categories":[{"cat_id":"629","cat_name":"Counseling","short_name":"Accounting","childNodes":"0","parentPath":"00138-00137-00081-00001"}]},{"cat_id":"139","cat_name":"Counseling Theory","short_name":"Counseling Theory","childNodes":"0","parentPath":"00137-00081-00001"},{"cat_id":"140","cat_name":"Family Therapy","short_name":"Family Therapy","childNodes":"0","parentPath":"00137-00081-00001"},{"cat_id":"141","cat_name":"LMSW Exam","short_name":"LMSW Exam","childNodes":"0","parentPath":"00137-00081-00001"},{"cat_id":"142","cat_name":"MFT Exam","short_name":"MFT Exam","childNodes":"0","parentPath":"00137-00081-00001"},{"cat_id":"143","cat_name":"NCMHCE","short_name":"NCMHCE","childNodes":"0","parentPath":"00137-00081-00001"}]},{"cat_id":"144","cat_name":"Criminal Justice","short_name":"Criminal Justice","childNodes":"19","parentPath":"00081-00001","sub_categories":[{"cat_id":"145","cat_name":"CIB","short_name":"CIB","childNodes":"0","parentPath":"00144-00081-00001"},{"cat_id":"146","cat_name":"Civil Rights","short_name":"Civil Rights","childNodes":"0","parentPath":"00144-00081-00001"},{"cat_id":"147","cat_name":"Corrections","short_name":"Corrections","childNodes":"0","parentPath":"00144-00081-00001"},{"cat_id":"148","cat_name":"Crime & Deviance","short_name":"Crime & Deviance","childNodes":"0","parentPath":"00144-00081-00001"},{"cat_id":"149","cat_name":"Crime & Punishment","short_name":"Crime & Punishment","childNodes":"0","parentPath":"00144-00081-00001"},{"cat_id":"150","cat_name":"Criminal Investigation","short_name":"Criminal Investigation","childNodes":"0","parentPath":"00144-00081-00001"},{"cat_id":"151","cat_name":"Criminal Justice","short_name":"Criminal Justice","childNodes":"0","parentPath":"00144-00081-00001"},{"cat_id":"152","cat_name":"Criminal Psychology","short_name":"Criminal Psychology","childNodes":"0","parentPath":"00144-00081-00001"},{"cat_id":"153","cat_name":"Criminology","short_name":"Criminology","childNodes":"0","parentPath":"00144-00081-00001"},{"cat_id":"154","cat_name":"Cybercrime","short_name":"Cybercrime","childNodes":"0","parentPath":"00144-00081-00001"},{"cat_id":"155","cat_name":"Forensic Pathology","short_name":"Forensic Pathology","childNodes":"0","parentPath":"00144-00081-00001"},{"cat_id":"156","cat_name":"Forensic Science","short_name":"Forensic Science","childNodes":"0","parentPath":"00144-00081-00001"},{"cat_id":"157","cat_name":"History of Crime","short_name":"History of Crime","childNodes":"0","parentPath":"00144-00081-00001"},{"cat_id":"158","cat_name":"Intro to Criminology","short_name":"Intro to Criminology","childNodes":"0","parentPath":"00144-00081-00001"},{"cat_id":"159","cat_name":"Law Enforcement","short_name":"Law Enforcement","childNodes":"0","parentPath":"00144-00081-00001"},{"cat_id":"160","cat_name":"Police Administration","short_name":"Police Administration","childNodes":"0","parentPath":"00144-00081-00001"},{"cat_id":"161","cat_name":"Police Studies","short_name":"Police Studies","childNodes":"0","parentPath":"00144-00081-00001"},{"cat_id":"162","cat_name":"Policing","short_name":"Policing","childNodes":"0","parentPath":"00144-00081-00001"},{"cat_id":"163","cat_name":"Prosecution","short_name":"Prosecution","childNodes":"0","parentPath":"00144-00081-00001"}]},{"cat_id":"164","cat_name":"Geography","short_name":"Geography","childNodes":"14","parentPath":"00081-00001","sub_categories":[{"cat_id":"165","cat_name":"Cartography","short_name":"Cartography","childNodes":"0","parentPath":"00164-00081-00001"},{"cat_id":"166","cat_name":"Climate Change","short_name":"Climate Change","childNodes":"0","parentPath":"00164-00081-00001"},{"cat_id":"167","cat_name":"Cultural Geography","short_name":"Cultural Geography","childNodes":"0","parentPath":"00164-00081-00001"},{"cat_id":"168","cat_name":"Environmental Science","short_name":"Environmental Science","childNodes":"0","parentPath":"00164-00081-00001"},{"cat_id":"169","cat_name":"Geography","short_name":"Geography","childNodes":"0","parentPath":"00164-00081-00001"},{"cat_id":"170","cat_name":"Human Geography","short_name":"Human Geography","childNodes":"0","parentPath":"00164-00081-00001"},{"cat_id":"171","cat_name":"Hydrology","short_name":"Hydrology","childNodes":"0","parentPath":"00164-00081-00001"},{"cat_id":"172","cat_name":"Landforms","short_name":"Landforms","childNodes":"0","parentPath":"00164-00081-00001"},{"cat_id":"173","cat_name":"Physical Geography","short_name":"Physical Geography","childNodes":"0","parentPath":"00164-00081-00001"},{"cat_id":"174","cat_name":"U.S. Geography","short_name":"U.S. Geography","childNodes":"0","parentPath":"00164-00081-00001"},{"cat_id":"175","cat_name":"Urban Geography","short_name":"Urban Geography","childNodes":"0","parentPath":"00164-00081-00001"},{"cat_id":"176","cat_name":"Weather and Climate","short_name":"Weather and Climate","childNodes":"0","parentPath":"00164-00081-00001"},{"cat_id":"177","cat_name":"World Capitals","short_name":"World Capitals","childNodes":"0","parentPath":"00164-00081-00001"},{"cat_id":"178","cat_name":"World Geography","short_name":"World Geography","childNodes":"0","parentPath":"00164-00081-00001"}]},{"cat_id":"179","cat_name":"History","short_name":"History","childNodes":"20","parentPath":"00081-00001","sub_categories":[{"cat_id":"180","cat_name":"African History","short_name":"African History","childNodes":"0","parentPath":"00179-00081-00001"},{"cat_id":"181","cat_name":"American West","short_name":"American West","childNodes":"0","parentPath":"00179-00081-00001"},{"cat_id":"182","cat_name":"Ancient Greece","short_name":"Ancient Greece","childNodes":"0","parentPath":"00179-00081-00001"},{"cat_id":"183","cat_name":"Ancient History","short_name":"Ancient History","childNodes":"0","parentPath":"00179-00081-00001"},{"cat_id":"184","cat_name":"Ancient Rome","short_name":"Ancient Rome","childNodes":"0","parentPath":"00179-00081-00001"},{"cat_id":"185","cat_name":"British History","short_name":"British History","childNodes":"0","parentPath":"00179-00081-00001"},{"cat_id":"186","cat_name":"Chinese History","short_name":"Chinese History","childNodes":"0","parentPath":"00179-00081-00001"},{"cat_id":"187","cat_name":"Christian History","short_name":"Christian History","childNodes":"0","parentPath":"00179-00081-00001"},{"cat_id":"188","cat_name":"Cold War","short_name":"Cold War","childNodes":"0","parentPath":"00179-00081-00001"},{"cat_id":"189","cat_name":"European History","short_name":"European History","childNodes":"0","parentPath":"00179-00081-00001"},{"cat_id":"190","cat_name":"Islamic History","short_name":"Islamic History","childNodes":"0","parentPath":"00179-00081-00001"},{"cat_id":"191","cat_name":"Jewish History","short_name":"Jewish History","childNodes":"0","parentPath":"00179-00081-00001"},{"cat_id":"192","cat_name":"Latin American History","short_name":"Latin American History","childNodes":"0","parentPath":"00179-00081-00001"},{"cat_id":"193","cat_name":"Medieval History","short_name":"Medieval History","childNodes":"0","parentPath":"00179-00081-00001"},{"cat_id":"194","cat_name":"Modern World History","short_name":"Modern World History","childNodes":"0","parentPath":"00179-00081-00001"},{"cat_id":"195","cat_name":"US History","short_name":"US History","childNodes":"0","parentPath":"00179-00081-00001"},{"cat_id":"196","cat_name":"Western Civilization","short_name":"Western Civilization","childNodes":"0","parentPath":"00179-00081-00001"},{"cat_id":"197","cat_name":"Womens History","short_name":"Womens History","childNodes":"0","parentPath":"00179-00081-00001"},{"cat_id":"198","cat_name":"World Civilizations","short_name":"World Civilizations","childNodes":"0","parentPath":"00179-00081-00001"},{"cat_id":"199","cat_name":"World History","short_name":"World History","childNodes":"0","parentPath":"00179-00081-00001"}]},{"cat_id":"82","cat_name":"Philosophy","short_name":"Philosophy","childNodes":"7","parentPath":"00081-00001","sub_categories":[{"cat_id":"83","cat_name":"Critical Thinking","short_name":"Critical Thinking","childNodes":"0","parentPath":"00082-00081-00001"},{"cat_id":"84","cat_name":"Ethics","short_name":"Ethics","childNodes":"0","parentPath":"00082-00081-00001"},{"cat_id":"85","cat_name":"Intro Philosophy","short_name":"Intro Philosophy","childNodes":"0","parentPath":"00082-00081-00001"},{"cat_id":"86","cat_name":"Logic","short_name":"Logic","childNodes":"0","parentPath":"00082-00081-00001"},{"cat_id":"87","cat_name":"Philosophy","short_name":"Philosophy","childNodes":"0","parentPath":"00082-00081-00001"},{"cat_id":"88","cat_name":"Plato","short_name":"Plato","childNodes":"0","parentPath":"00082-00081-00001"},{"cat_id":"89","cat_name":"Rhetoric","short_name":"Rhetoric","childNodes":"0","parentPath":"00082-00081-00001"}]},{"cat_id":"200","cat_name":"Political Science","short_name":"Political Science","childNodes":"17","parentPath":"00081-00001","sub_categories":[{"cat_id":"201","cat_name":"American Government","short_name":"American Government","childNodes":"0","parentPath":"00200-00081-00001"},{"cat_id":"202","cat_name":"Comparative Politics","short_name":"Comparative Politics","childNodes":"0","parentPath":"00200-00081-00001"},{"cat_id":"203","cat_name":"Foreign Policy","short_name":"Foreign Policy","childNodes":"0","parentPath":"00200-00081-00001"},{"cat_id":"204","cat_name":"Global Issues","short_name":"Global Issues","childNodes":"0","parentPath":"00200-00081-00001"},{"cat_id":"205","cat_name":"Human Rights","short_name":"Human Rights","childNodes":"0","parentPath":"00200-00081-00001"},{"cat_id":"206","cat_name":"International Political Economy","short_name":"International Political Economy","childNodes":"0","parentPath":"00200-00081-00001"},{"cat_id":"207","cat_name":"International Relations","short_name":"International Relations","childNodes":"0","parentPath":"00200-00081-00001"},{"cat_id":"208","cat_name":"Intro Political Science","short_name":"Intro Political Science","childNodes":"0","parentPath":"00200-00081-00001"},{"cat_id":"209","cat_name":"Policy Analysis","short_name":"Policy Analysis","childNodes":"0","parentPath":"00200-00081-00001"},{"cat_id":"210","cat_name":"Political Science","short_name":"Political Science","childNodes":"0","parentPath":"00200-00081-00001"},{"cat_id":"211","cat_name":"Presidency","short_name":"Presidency","childNodes":"0","parentPath":"00200-00081-00001"},{"cat_id":"212","cat_name":"Public Administration","short_name":"Public Administration","childNodes":"0","parentPath":"00200-00081-00001"},{"cat_id":"213","cat_name":"Public Policy","short_name":"Public Policy","childNodes":"0","parentPath":"00200-00081-00001"},{"cat_id":"214","cat_name":"Social Justice","short_name":"Social Justice","childNodes":"0","parentPath":"00200-00081-00001"},{"cat_id":"215","cat_name":"Terrorism","short_name":"Terrorism","childNodes":"0","parentPath":"00200-00081-00001"},{"cat_id":"216","cat_name":"UK Politics","short_name":"UK Politics","childNodes":"0","parentPath":"00200-00081-00001"},{"cat_id":"217","cat_name":"US Congress Leadership","short_name":"US Congress Leadership","childNodes":"0","parentPath":"00200-00081-00001"}]},{"cat_id":"218","cat_name":"Psychology","short_name":"Psychology","childNodes":"53","parentPath":"00081-00001","sub_categories":[{"cat_id":"219","cat_name":"Behavior Analysis","short_name":"Behavior Analysis","childNodes":"0","parentPath":"00218-00081-00001"},{"cat_id":"220","cat_name":"Behavioral Neuroscience","short_name":"Behavioral Neuroscience","childNodes":"0","parentPath":"00218-00081-00001"},{"cat_id":"221","cat_name":"Behavioral Statistics","short_name":"Behavioral Statistics","childNodes":"0","parentPath":"00218-00081-00001"},{"cat_id":"222","cat_name":"Biological Psychology","short_name":"Biological Psychology","childNodes":"0","parentPath":"00218-00081-00001"},{"cat_id":"223","cat_name":"Biopsychology","short_name":"Biopsychology","childNodes":"0","parentPath":"00218-00081-00001"},{"cat_id":"224","cat_name":"Brain and Behavior","short_name":"Brain and Behavior","childNodes":"0","parentPath":"00218-00081-00001"},{"cat_id":"225","cat_name":"Child Development","short_name":"Child Development","childNodes":"0","parentPath":"00218-00081-00001"},{"cat_id":"226","cat_name":"Child Psychology","short_name":"Child Psychology","childNodes":"0","parentPath":"00218-00081-00001"},{"cat_id":"227","cat_name":"Clinical Psychology","short_name":"Clinical Psychology","childNodes":"0","parentPath":"00218-00081-00001"},{"cat_id":"228","cat_name":"Cognitive Biases","short_name":"Cognitive Biases","childNodes":"0","parentPath":"00218-00081-00001"},{"cat_id":"229","cat_name":"Cognitive Neuroscience","short_name":"Cognitive Neuroscience","childNodes":"0","parentPath":"00218-00081-00001"},{"cat_id":"230","cat_name":"Cognitive Psychology","short_name":"Cognitive Psychology","childNodes":"0","parentPath":"00218-00081-00001"},{"cat_id":"231","cat_name":"Cognitive Science","short_name":"Cognitive Science","childNodes":"0","parentPath":"00218-00081-00001"},{"cat_id":"232","cat_name":"Community Psychology","short_name":"Community Psychology","childNodes":"0","parentPath":"00218-00081-00001"},{"cat_id":"233","cat_name":"Cultural Psychology","short_name":"Cultural Psychology","childNodes":"0","parentPath":"00218-00081-00001"},{"cat_id":"234","cat_name":"Developmental Psychology","short_name":"Developmental Psychology","childNodes":"0","parentPath":"00218-00081-00001"},{"cat_id":"235","cat_name":"Drugs and Behavior","short_name":"Drugs and Behavior","childNodes":"0","parentPath":"00218-00081-00001"},{"cat_id":"236","cat_name":"DSM","short_name":"DSM","childNodes":"0","parentPath":"00218-00081-00001"},{"cat_id":"237","cat_name":"DSM-5","short_name":"DSM-5","childNodes":"0","parentPath":"00218-00081-00001"},{"cat_id":"238","cat_name":"Educational Psychology","short_name":"Educational Psychology","childNodes":"0","parentPath":"00218-00081-00001"},{"cat_id":"239","cat_name":"Environmental Psychology","short_name":"Environmental Psychology","childNodes":"0","parentPath":"00218-00081-00001"},{"cat_id":"240","cat_name":"Evolutionary Psychology","short_name":"Evolutionary Psychology","childNodes":"0","parentPath":"00218-00081-00001"},{"cat_id":"241","cat_name":"Experimental Psychology","short_name":"Experimental Psychology","childNodes":"0","parentPath":"00218-00081-00001"},{"cat_id":"242","cat_name":"Forensic Pscyhology","short_name":"Forensic Pscyhology","childNodes":"0","parentPath":"00218-00081-00001"},{"cat_id":"243","cat_name":"Gender Psychology","short_name":"Gender Psychology","childNodes":"0","parentPath":"00218-00081-00001"},{"cat_id":"244","cat_name":"General Psychology","short_name":"General Psychology","childNodes":"0","parentPath":"00218-00081-00001"},{"cat_id":"245","cat_name":"Health Psychology","short_name":"Health Psychology","childNodes":"0","parentPath":"00218-00081-00001"},{"cat_id":"246","cat_name":"Human Behavior","short_name":"Human Behavior","childNodes":"0","parentPath":"00218-00081-00001"},{"cat_id":"247","cat_name":"Human Sexuality","short_name":"Human Sexuality","childNodes":"0","parentPath":"00218-00081-00001"},{"cat_id":"248","cat_name":"Industrial Psychology","short_name":"Industrial Psychology","childNodes":"0","parentPath":"00218-00081-00001"},{"cat_id":"249","cat_name":"Intro Psychology","short_name":"Intro Psychology","childNodes":"0","parentPath":"00218-00081-00001"},{"cat_id":"250","cat_name":"Language Development","short_name":"Language Development","childNodes":"0","parentPath":"00218-00081-00001"},{"cat_id":"251","cat_name":"Learning and Memory","short_name":"Learning and Memory","childNodes":"0","parentPath":"00218-00081-00001"},{"cat_id":"252","cat_name":"Lifespan Psychology","short_name":"Lifespan Psychology","childNodes":"0","parentPath":"00218-00081-00001"},{"cat_id":"253","cat_name":"Neuropsychology","short_name":"Neuropsychology","childNodes":"0","parentPath":"00218-00081-00001"},{"cat_id":"254","cat_name":"Phonology","short_name":"Phonology","childNodes":"0","parentPath":"00218-00081-00001"},{"cat_id":"255","cat_name":"Positive Psychology","short_name":"Positive Psychology","childNodes":"0","parentPath":"00218-00081-00001"},{"cat_id":"256","cat_name":"Psychobiology","short_name":"Psychobiology","childNodes":"0","parentPath":"00218-00081-00001"},{"cat_id":"257","cat_name":"Psychological Assessment","short_name":"Psychological Assessment","childNodes":"0","parentPath":"00218-00081-00001"},{"cat_id":"258","cat_name":"Psychological Statistics","short_name":"Psychological Statistics","childNodes":"0","parentPath":"00218-00081-00001"},{"cat_id":"259","cat_name":"Psychological Testing","short_name":"Psychological Testing","childNodes":"0","parentPath":"00218-00081-00001"},{"cat_id":"260","cat_name":"Psychology","short_name":"Psychology","childNodes":"0","parentPath":"00218-00081-00001"},{"cat_id":"261","cat_name":"Psychology Ethics","short_name":"Psychology Ethics","childNodes":"0","parentPath":"00218-00081-00001"},{"cat_id":"262","cat_name":"Psychopathology","short_name":"Psychopathology","childNodes":"0","parentPath":"00218-00081-00001"},{"cat_id":"263","cat_name":"Psychopharmacology","short_name":"Psychopharmacology","childNodes":"0","parentPath":"00218-00081-00001"},{"cat_id":"264","cat_name":"Psychosocial","short_name":"Psychosocial","childNodes":"0","parentPath":"00218-00081-00001"},{"cat_id":"265","cat_name":"Psychotherapy","short_name":"Psychotherapy","childNodes":"0","parentPath":"00218-00081-00001"},{"cat_id":"266","cat_name":"Psychotropic Drugs","short_name":"Psychotropic Drugs","childNodes":"0","parentPath":"00218-00081-00001"},{"cat_id":"267","cat_name":"Research Methods in Psych","short_name":"Research Methods in Psych","childNodes":"0","parentPath":"00218-00081-00001"},{"cat_id":"268","cat_name":"Sensation and Perception","short_name":"Sensation and Perception","childNodes":"0","parentPath":"00218-00081-00001"},{"cat_id":"269","cat_name":"Social Psychology","short_name":"Social Psychology","childNodes":"0","parentPath":"00218-00081-00001"},{"cat_id":"270","cat_name":"The Brain","short_name":"The Brain","childNodes":"0","parentPath":"00218-00081-00001"},{"cat_id":"271","cat_name":"Theories of Personality","short_name":"Theories of Personality","childNodes":"0","parentPath":"00218-00081-00001"}]},{"cat_id":"272","cat_name":"Religion and Bible","short_name":"Religion and Bible","childNodes":"19","parentPath":"00081-00001","sub_categories":[{"cat_id":"273","cat_name":"Aramaic","short_name":"Aramaic","childNodes":"0","parentPath":"00272-00081-00001"},{"cat_id":"274","cat_name":"Bible","short_name":"Bible","childNodes":"0","parentPath":"00272-00081-00001"},{"cat_id":"275","cat_name":"Bible Verses","short_name":"Bible Verses","childNodes":"0","parentPath":"00272-00081-00001"},{"cat_id":"276","cat_name":"Biblical Greek","short_name":"Biblical Greek","childNodes":"0","parentPath":"00272-00081-00001"},{"cat_id":"277","cat_name":"Buddhism","short_name":"Buddhism","childNodes":"0","parentPath":"00272-00081-00001"},{"cat_id":"278","cat_name":"Catholicism","short_name":"Catholicism","childNodes":"0","parentPath":"00272-00081-00001"},{"cat_id":"279","cat_name":"Christianity","short_name":"Christianity","childNodes":"0","parentPath":"00272-00081-00001"},{"cat_id":"280","cat_name":"Hebrew","short_name":"Hebrew","childNodes":"0","parentPath":"00272-00081-00001"},{"cat_id":"281","cat_name":"Hinduism","short_name":"Hinduism","childNodes":"0","parentPath":"00272-00081-00001"},{"cat_id":"282","cat_name":"Islam","short_name":"Islam","childNodes":"0","parentPath":"00272-00081-00001"},{"cat_id":"283","cat_name":"Judaism","short_name":"Judaism","childNodes":"0","parentPath":"00272-00081-00001"},{"cat_id":"284","cat_name":"New Testament","short_name":"New Testament","childNodes":"0","parentPath":"00272-00081-00001"},{"cat_id":"285","cat_name":"Old Testament","short_name":"Old Testament","childNodes":"0","parentPath":"00272-00081-00001"},{"cat_id":"286","cat_name":"Quran","short_name":"Quran","childNodes":"0","parentPath":"00272-00081-00001"},{"cat_id":"287","cat_name":"Religion","short_name":"Religion","childNodes":"0","parentPath":"00272-00081-00001"},{"cat_id":"288","cat_name":"Religious Studies","short_name":"Religious Studies","childNodes":"0","parentPath":"00272-00081-00001"},{"cat_id":"289","cat_name":"Sanskrit","short_name":"Sanskrit","childNodes":"0","parentPath":"00272-00081-00001"},{"cat_id":"290","cat_name":"Theology","short_name":"Theology","childNodes":"0","parentPath":"00272-00081-00001"},{"cat_id":"291","cat_name":"Torah","short_name":"Torah","childNodes":"0","parentPath":"00272-00081-00001"}]},{"cat_id":"309","cat_name":"Social Studies","short_name":"Social Studies","childNodes":"0","parentPath":"00081-00001"},{"cat_id":"310","cat_name":"Social Work","short_name":"Social Work","childNodes":"0","parentPath":"00081-00001"},{"cat_id":"292","cat_name":"Sociology","short_name":"Sociology","childNodes":"14","parentPath":"00081-00001","sub_categories":[{"cat_id":"293","cat_name":"Civil Rights","short_name":"Civil Rights","childNodes":"0","parentPath":"00292-00081-00001"},{"cat_id":"294","cat_name":"Cultural Diversity","short_name":"Cultural Diversity","childNodes":"0","parentPath":"00292-00081-00001"},{"cat_id":"295","cat_name":"Gender Studies","short_name":"Gender Studies","childNodes":"0","parentPath":"00292-00081-00001"},{"cat_id":"296","cat_name":"Group Dynamcis","short_name":"Group Dynamcis","childNodes":"0","parentPath":"00292-00081-00001"},{"cat_id":"297","cat_name":"Intro Sociology","short_name":"Intro Sociology","childNodes":"0","parentPath":"00292-00081-00001"},{"cat_id":"298","cat_name":"Juvenile Delinquency","short_name":"Juvenile Delinquency","childNodes":"0","parentPath":"00292-00081-00001"},{"cat_id":"299","cat_name":"Marriage & Family","short_name":"Marriage & Family","childNodes":"0","parentPath":"00292-00081-00001"},{"cat_id":"300","cat_name":"Mass Media Sociology","short_name":"Mass Media Sociology","childNodes":"0","parentPath":"00292-00081-00001"},{"cat_id":"301","cat_name":"Medical Sociology","short_name":"Medical Sociology","childNodes":"0","parentPath":"00292-00081-00001"},{"cat_id":"302","cat_name":"Social Control","short_name":"Social Control","childNodes":"0","parentPath":"00292-00081-00001"},{"cat_id":"303","cat_name":"Social Institutions","short_name":"Social Institutions","childNodes":"0","parentPath":"00292-00081-00001"},{"cat_id":"304","cat_name":"Sociology","short_name":"Sociology","childNodes":"0","parentPath":"00292-00081-00001"},{"cat_id":"305","cat_name":"Subcultures","short_name":"Subcultures","childNodes":"0","parentPath":"00292-00081-00001"},{"cat_id":"306","cat_name":"Youth Subcultures","short_name":"Youth Subcultures","childNodes":"0","parentPath":"00292-00081-00001"}]}]},{"cat_id":"623","cat_name":"Languages","short_name":"Languages","childNodes":"3","parentPath":"00001","sub_categories":[{"cat_id":"626","cat_name":"Africans","short_name":"Africans","childNodes":"0","parentPath":"00623-00001"},{"cat_id":"624","cat_name":"Xkhosa","short_name":"Xkhosa","childNodes":"0","parentPath":"00623-00001"},{"cat_id":"625","cat_name":"Zulu","short_name":"Zulu","childNodes":"0","parentPath":"00623-00001"}]},{"cat_id":"366","cat_name":"Law","short_name":"Law","childNodes":"29","parentPath":"00001","sub_categories":[{"cat_id":"368","cat_name":"Bankruptcy","short_name":"Bankruptcy","childNodes":"0","parentPath":"00366-00001"},{"cat_id":"369","cat_name":"Bar Exam","short_name":"Bar Exam","childNodes":"0","parentPath":"00366-00001"},{"cat_id":"370","cat_name":"Business Law","short_name":"Business Law","childNodes":"0","parentPath":"00366-00001"},{"cat_id":"371","cat_name":"California Bar Exam","short_name":"California Bar Exam","childNodes":"0","parentPath":"00366-00001"},{"cat_id":"372","cat_name":"CIPP Exam","short_name":"CIPP Exam","childNodes":"0","parentPath":"00366-00001"},{"cat_id":"373","cat_name":"Civil Procedure","short_name":"Civil Procedure","childNodes":"0","parentPath":"00366-00001"},{"cat_id":"374","cat_name":"Constitutional Law","short_name":"Constitutional Law","childNodes":"0","parentPath":"00366-00001"},{"cat_id":"375","cat_name":"Contract Law","short_name":"Contract Law","childNodes":"0","parentPath":"00366-00001"},{"cat_id":"376","cat_name":"Corporate Law","short_name":"Corporate Law","childNodes":"0","parentPath":"00366-00001"},{"cat_id":"377","cat_name":"Criminal Law","short_name":"Criminal Law","childNodes":"0","parentPath":"00366-00001"},{"cat_id":"378","cat_name":"Evidence","short_name":"Evidence","childNodes":"0","parentPath":"00366-00001"},{"cat_id":"379","cat_name":"Family Law","short_name":"Family Law","childNodes":"0","parentPath":"00366-00001"},{"cat_id":"380","cat_name":"Florida Bar Exam","short_name":"Florida Bar Exam","childNodes":"0","parentPath":"00366-00001"},{"cat_id":"381","cat_name":"Insurance Law","short_name":"Insurance Law","childNodes":"0","parentPath":"00366-00001"},{"cat_id":"382","cat_name":"Intellectual Property","short_name":"Intellectual Property","childNodes":"0","parentPath":"00366-00001"},{"cat_id":"383","cat_name":"International Law","short_name":"International Law","childNodes":"0","parentPath":"00366-00001"},{"cat_id":"384","cat_name":"Law","short_name":"Law","childNodes":"0","parentPath":"00366-00001"},{"cat_id":"385","cat_name":"Law & Ethics","short_name":"Law & Ethics","childNodes":"0","parentPath":"00366-00001"},{"cat_id":"386","cat_name":"Legal Studies","short_name":"Legal Studies","childNodes":"0","parentPath":"00366-00001"},{"cat_id":"367","cat_name":"Legislation Acts Policies","short_name":"Legislation Acts Policies","childNodes":"0","parentPath":"00366-00001"},{"cat_id":"387","cat_name":"Litigation","short_name":"Litigation","childNodes":"0","parentPath":"00366-00001"},{"cat_id":"388","cat_name":"MBE","short_name":"MBE","childNodes":"0","parentPath":"00366-00001"},{"cat_id":"389","cat_name":"MPRE","short_name":"MPRE","childNodes":"0","parentPath":"00366-00001"},{"cat_id":"390","cat_name":"Pharmacy Law","short_name":"Pharmacy Law","childNodes":"0","parentPath":"00366-00001"},{"cat_id":"391","cat_name":"Property Law","short_name":"Property Law","childNodes":"0","parentPath":"00366-00001"},{"cat_id":"392","cat_name":"Real Estate Law","short_name":"Real Estate Law","childNodes":"0","parentPath":"00366-00001"},{"cat_id":"393","cat_name":"Texas Bar Exam","short_name":"Texas Bar Exam","childNodes":"0","parentPath":"00366-00001"},{"cat_id":"394","cat_name":"Torts","short_name":"Torts","childNodes":"0","parentPath":"00366-00001"},{"cat_id":"395","cat_name":"Trusts & Estates","short_name":"Trusts & Estates","childNodes":"0","parentPath":"00366-00001"}]},{"cat_id":"311","cat_name":"Mathematics","short_name":"Mathematics","childNodes":"13","parentPath":"00001","sub_categories":[{"cat_id":"312","cat_name":"Algebra","short_name":"Algebra","childNodes":"0","parentPath":"00311-00001"},{"cat_id":"313","cat_name":"Algebra II","short_name":"Algebra II","childNodes":"0","parentPath":"00311-00001"},{"cat_id":"314","cat_name":"Arithmetic","short_name":"Arithmetic","childNodes":"0","parentPath":"00311-00001"},{"cat_id":"315","cat_name":"Calculus","short_name":"Calculus","childNodes":"0","parentPath":"00311-00001"},{"cat_id":"316","cat_name":"Geometry","short_name":"Geometry","childNodes":"0","parentPath":"00311-00001"},{"cat_id":"317","cat_name":"Linear Algebra","short_name":"Linear Algebra","childNodes":"0","parentPath":"00311-00001"},{"cat_id":"318","cat_name":"Math","short_name":"Math","childNodes":"0","parentPath":"00311-00001"},{"cat_id":"319","cat_name":"Multiplication Tables","short_name":"Multiplication Tables","childNodes":"0","parentPath":"00311-00001"},{"cat_id":"320","cat_name":"Precalculus","short_name":"Precalculus","childNodes":"0","parentPath":"00311-00001"},{"cat_id":"321","cat_name":"Probability","short_name":"Probability","childNodes":"0","parentPath":"00311-00001"},{"cat_id":"322","cat_name":"Statistical Methods","short_name":"Statistical Methods","childNodes":"0","parentPath":"00311-00001"},{"cat_id":"323","cat_name":"Statistics","short_name":"Statistics","childNodes":"0","parentPath":"00311-00001"},{"cat_id":"324","cat_name":"Trigonometry","short_name":"Trigonometry","childNodes":"0","parentPath":"00311-00001"}]},{"cat_id":"325","cat_name":"Medical & Nursing","short_name":"Medical & Nursing","childNodes":"15","parentPath":"00001","sub_categories":[{"cat_id":"326","cat_name":"Anatomy","short_name":"Anatomy","childNodes":"0","parentPath":"00325-00001"},{"cat_id":"327","cat_name":"Body Systems","short_name":"Body Systems","childNodes":"0","parentPath":"00325-00001"},{"cat_id":"328","cat_name":"Dentistry","short_name":"Dentistry","childNodes":"0","parentPath":"00325-00001"},{"cat_id":"329","cat_name":"Medical Courses & Subject Areas","short_name":"Medical Courses & Subject Areas","childNodes":"0","parentPath":"00325-00001"},{"cat_id":"330","cat_name":"Medical Exams","short_name":"Medical Exams","childNodes":"0","parentPath":"00325-00001"},{"cat_id":"331","cat_name":"Medical Subspecialties","short_name":"Medical Subspecialties","childNodes":"0","parentPath":"00325-00001"},{"cat_id":"332","cat_name":"Medical Terminology","short_name":"Medical Terminology","childNodes":"0","parentPath":"00325-00001"},{"cat_id":"333","cat_name":"Misc Healthcare Topics","short_name":"Misc Healthcare Topics","childNodes":"0","parentPath":"00325-00001"},{"cat_id":"334","cat_name":"Nursing Courses & Subject Areas","short_name":"Nursing Courses & Subject Areas","childNodes":"0","parentPath":"00325-00001"},{"cat_id":"335","cat_name":"Nursing Subspecialties","short_name":"Nursing Subspecialties","childNodes":"0","parentPath":"00325-00001"},{"cat_id":"336","cat_name":"Other Healthcare Fields","short_name":"Other Healthcare Fields","childNodes":"0","parentPath":"00325-00001"},{"cat_id":"337","cat_name":"Pharmacology","short_name":"Pharmacology","childNodes":"0","parentPath":"00325-00001"},{"cat_id":"338","cat_name":"Physiology","short_name":"Physiology","childNodes":"0","parentPath":"00325-00001"},{"cat_id":"339","cat_name":"Radiology & Diagnostic Imaging","short_name":"Radiology & Diagnostic Imaging","childNodes":"0","parentPath":"00325-00001"},{"cat_id":"340","cat_name":"Veterinary","short_name":"Veterinary","childNodes":"0","parentPath":"00325-00001"}]},{"cat_id":"11","cat_name":"Professional Certifications","short_name":"Professional Certifications","childNodes":"11","parentPath":"00001","sub_categories":[{"cat_id":"12","cat_name":"Bar Exam","short_name":"Bar Exam","childNodes":"0","parentPath":"00011-00001"},{"cat_id":"13","cat_name":"Drivers Ed","short_name":"Drivers Ed","childNodes":"0","parentPath":"00011-00001"},{"cat_id":"14","cat_name":"Financial Exams","short_name":"Financial Exams","childNodes":"0","parentPath":"00011-00001"},{"cat_id":"15","cat_name":"Management Certifications","short_name":"Management Certifications","childNodes":"0","parentPath":"00011-00001"},{"cat_id":"16","cat_name":"Medical & Nursing Certifications","short_name":"Medical & Nursing Certifications","childNodes":"0","parentPath":"00011-00001"},{"cat_id":"17","cat_name":"Military Exams","short_name":"Military Exams","childNodes":"0","parentPath":"00011-00001"},{"cat_id":"18","cat_name":"MPRE","short_name":"MPRE","childNodes":"0","parentPath":"00011-00001"},{"cat_id":"19","cat_name":"Other Certifications","short_name":"Other Certifications","childNodes":"0","parentPath":"00011-00001"},{"cat_id":"20","cat_name":"Technology Certifications","short_name":"Technology Certifications","childNodes":"0","parentPath":"00011-00001"},{"cat_id":"21","cat_name":"TOEFL","short_name":"TOEFL","childNodes":"0","parentPath":"00011-00001"},{"cat_id":"22","cat_name":"Wine & Spirits","short_name":"Wine & Spirits","childNodes":"0","parentPath":"00011-00001"}]},{"cat_id":"611","cat_name":"Random Knowledge","short_name":"Random Knowledge","childNodes":"11","parentPath":"00001","sub_categories":[{"cat_id":"612","cat_name":"Astrology","short_name":"Astrology","childNodes":"0","parentPath":"00611-00001"},{"cat_id":"613","cat_name":"Blackjack","short_name":"Blackjack","childNodes":"0","parentPath":"00611-00001"},{"cat_id":"614","cat_name":"Cultural Literacy","short_name":"Cultural Literacy","childNodes":"0","parentPath":"00611-00001"},{"cat_id":"615","cat_name":"Knowledge Rehab","short_name":"Knowledge Rehab","childNodes":"0","parentPath":"00611-00001"},{"cat_id":"616","cat_name":"Mythology","short_name":"Mythology","childNodes":"0","parentPath":"00611-00001"},{"cat_id":"617","cat_name":"National Capitals","short_name":"National Capitals","childNodes":"0","parentPath":"00611-00001"},{"cat_id":"618","cat_name":"People You Should Know","short_name":"People You Should Know","childNodes":"0","parentPath":"00611-00001"},{"cat_id":"619","cat_name":"Poker","short_name":"Poker","childNodes":"0","parentPath":"00611-00001"},{"cat_id":"620","cat_name":"Quiz Bowl","short_name":"Quiz Bowl","childNodes":"0","parentPath":"00611-00001"},{"cat_id":"621","cat_name":"Sports Trivia","short_name":"Sports Trivia","childNodes":"0","parentPath":"00611-00001"},{"cat_id":"622","cat_name":"Tarot Cards","short_name":"Tarot Cards","childNodes":"0","parentPath":"00611-00001"}]},{"cat_id":"38","cat_name":"Science","short_name":"Science","childNodes":"25","parentPath":"00001","sub_categories":[{"cat_id":"39","cat_name":"Anatomy","short_name":"Anatomy","childNodes":"0","parentPath":"00038-00001"},{"cat_id":"40","cat_name":"Astronomy","short_name":"Astronomy","childNodes":"0","parentPath":"00038-00001"},{"cat_id":"41","cat_name":"Biochemistry","short_name":"Biochemistry","childNodes":"0","parentPath":"00038-00001"},{"cat_id":"42","cat_name":"Biology","short_name":"Biology","childNodes":"0","parentPath":"00038-00001"},{"cat_id":"43","cat_name":"Cellular Biology","short_name":"Cellular Biology","childNodes":"0","parentPath":"00038-00001"},{"cat_id":"44","cat_name":"Chemistry","short_name":"Chemistry","childNodes":"0","parentPath":"00038-00001"},{"cat_id":"45","cat_name":"Earth Science","short_name":"Earth Science","childNodes":"0","parentPath":"00038-00001"},{"cat_id":"46","cat_name":"Environmental Science","short_name":"Environmental Science","childNodes":"0","parentPath":"00038-00001"},{"cat_id":"47","cat_name":"Genetics","short_name":"Genetics","childNodes":"0","parentPath":"00038-00001"},{"cat_id":"48","cat_name":"Geology","short_name":"Geology","childNodes":"0","parentPath":"00038-00001"},{"cat_id":"49","cat_name":"Life Science","short_name":"Life Science","childNodes":"0","parentPath":"00038-00001"},{"cat_id":"50","cat_name":"Marine Biology","short_name":"Marine Biology","childNodes":"0","parentPath":"00038-00001"},{"cat_id":"51","cat_name":"Meteorology","short_name":"Meteorology","childNodes":"0","parentPath":"00038-00001"},{"cat_id":"52","cat_name":"Microbiology","short_name":"Microbiology","childNodes":"0","parentPath":"00038-00001"},{"cat_id":"53","cat_name":"Molecular Biology","short_name":"Molecular Biology","childNodes":"0","parentPath":"00038-00001"},{"cat_id":"54","cat_name":"Natural Science","short_name":"Natural Science","childNodes":"0","parentPath":"00038-00001"},{"cat_id":"55","cat_name":"Oceanography","short_name":"Oceanography","childNodes":"0","parentPath":"00038-00001"},{"cat_id":"56","cat_name":"Organic Chemistry","short_name":"Organic Chemistry","childNodes":"0","parentPath":"00038-00001"},{"cat_id":"57","cat_name":"Periodic Table","short_name":"Periodic Table","childNodes":"0","parentPath":"00038-00001"},{"cat_id":"58","cat_name":"Physical Science","short_name":"Physical Science","childNodes":"0","parentPath":"00038-00001"},{"cat_id":"59","cat_name":"Physics","short_name":"Physics","childNodes":"0","parentPath":"00038-00001"},{"cat_id":"60","cat_name":"Physiology","short_name":"Physiology","childNodes":"0","parentPath":"00038-00001"},{"cat_id":"61","cat_name":"Plant Science","short_name":"Plant Science","childNodes":"0","parentPath":"00038-00001"},{"cat_id":"62","cat_name":"Science Class","short_name":"Science Class","childNodes":"0","parentPath":"00038-00001"},{"cat_id":"63","cat_name":"Zoology","short_name":"Zoology","childNodes":"0","parentPath":"00038-00001"}]},{"cat_id":"525","cat_name":"Technology & Engineering","short_name":"Technology & Engineering","childNodes":"9","parentPath":"00001","sub_categories":[{"cat_id":"526","cat_name":"Architecture","short_name":"Architecture","childNodes":"0","parentPath":"00525-00001"},{"cat_id":"527","cat_name":"Biotechnology","short_name":"Biotechnology","childNodes":"0","parentPath":"00525-00001"},{"cat_id":"528","cat_name":"Computer Programming","short_name":"Computer Programming","childNodes":"22","parentPath":"00525-00001","sub_categories":[{"cat_id":"529","cat_name":"Agile","short_name":"Agile","childNodes":"1","parentPath":"00528-00525-00001","sub_categories":[{"cat_id":"628","cat_name":"test category","short_name":"test category","childNodes":"0","parentPath":"00529-00528-00525-00001"}]},{"cat_id":"530","cat_name":"AWS","short_name":"AWS","childNodes":"0","parentPath":"00528-00525-00001"},{"cat_id":"550","cat_name":"Brainscape Certified (\u00c2\u00a0See All\u00c2\u00a0)","short_name":"Brainscape Certified (\u00c2\u00a0See All\u00c2\u00a0)","childNodes":"0","parentPath":"00528-00525-00001"},{"cat_id":"531","cat_name":"Computer Programming","short_name":"Computer Programming","childNodes":"0","parentPath":"00528-00525-00001"},{"cat_id":"532","cat_name":"Cryptography","short_name":"Cryptography","childNodes":"0","parentPath":"00528-00525-00001"},{"cat_id":"533","cat_name":"Git Commands","short_name":"Git Commands","childNodes":"0","parentPath":"00528-00525-00001"},{"cat_id":"534","cat_name":"HTML","short_name":"HTML","childNodes":"0","parentPath":"00528-00525-00001"},{"cat_id":"535","cat_name":"Java","short_name":"Java","childNodes":"0","parentPath":"00528-00525-00001"},{"cat_id":"536","cat_name":"Javascript","short_name":"Javascript","childNodes":"0","parentPath":"00528-00525-00001"},{"cat_id":"537","cat_name":"Keyboard Shortcuts","short_name":"Keyboard Shortcuts","childNodes":"0","parentPath":"00528-00525-00001"},{"cat_id":"538","cat_name":"Kubernetes","short_name":"Kubernetes","childNodes":"0","parentPath":"00528-00525-00001"},{"cat_id":"539","cat_name":"Linux","short_name":"Linux","childNodes":"0","parentPath":"00528-00525-00001"},{"cat_id":"540","cat_name":"Mac OS","short_name":"Mac OS","childNodes":"0","parentPath":"00528-00525-00001"},{"cat_id":"541","cat_name":"Objective-C","short_name":"Objective-C","childNodes":"0","parentPath":"00528-00525-00001"},{"cat_id":"542","cat_name":"PHP","short_name":"PHP","childNodes":"0","parentPath":"00528-00525-00001"},{"cat_id":"543","cat_name":"Python","short_name":"Python","childNodes":"0","parentPath":"00528-00525-00001"},{"cat_id":"544","cat_name":"React","short_name":"React","childNodes":"0","parentPath":"00528-00525-00001"},{"cat_id":"545","cat_name":"Ruby","short_name":"Ruby","childNodes":"0","parentPath":"00528-00525-00001"},{"cat_id":"546","cat_name":"Ruby on Rails","short_name":"Ruby on Rails","childNodes":"0","parentPath":"00528-00525-00001"},{"cat_id":"547","cat_name":"Swift","short_name":"Swift","childNodes":"0","parentPath":"00528-00525-00001"},{"cat_id":"548","cat_name":"Tech Startup Genius","short_name":"Tech Startup Genius","childNodes":"0","parentPath":"00528-00525-00001"},{"cat_id":"549","cat_name":"Wordpress","short_name":"Wordpress","childNodes":"0","parentPath":"00528-00525-00001"}]},{"cat_id":"551","cat_name":"Computer Science","short_name":"Computer Science","childNodes":"28","parentPath":"00525-00001","sub_categories":[{"cat_id":"552","cat_name":"Algorithms","short_name":"Algorithms","childNodes":"1","parentPath":"00551-00525-00001","sub_categories":[{"cat_id":"630","cat_name":"               ","short_name":"               ","childNodes":"0","parentPath":"00552-00551-00525-00001"}]},{"cat_id":"553","cat_name":"Artificial Intelligence","short_name":"Artificial Intelligence","childNodes":"0","parentPath":"00551-00525-00001"},{"cat_id":"554","cat_name":"Computer Architecture","short_name":"Computer Architecture","childNodes":"0","parentPath":"00551-00525-00001"},{"cat_id":"555","cat_name":"Computer Concepts","short_name":"Computer Concepts","childNodes":"0","parentPath":"00551-00525-00001"},{"cat_id":"556","cat_name":"Computer Literacy","short_name":"Computer Literacy","childNodes":"0","parentPath":"00551-00525-00001"},{"cat_id":"557","cat_name":"Computer Science","short_name":"Computer Science","childNodes":"0","parentPath":"00551-00525-00001"},{"cat_id":"558","cat_name":"Computer Security","short_name":"Computer Security","childNodes":"0","parentPath":"00551-00525-00001"},{"cat_id":"559","cat_name":"Computer Systems","short_name":"Computer Systems","childNodes":"0","parentPath":"00551-00525-00001"},{"cat_id":"560","cat_name":"Computing","short_name":"Computing","childNodes":"0","parentPath":"00551-00525-00001"},{"cat_id":"561","cat_name":"Cybersecurity","short_name":"Cybersecurity","childNodes":"0","parentPath":"00551-00525-00001"},{"cat_id":"562","cat_name":"Data Mining","short_name":"Data Mining","childNodes":"0","parentPath":"00551-00525-00001"},{"cat_id":"563","cat_name":"Data Science","short_name":"Data Science","childNodes":"0","parentPath":"00551-00525-00001"},{"cat_id":"564","cat_name":"Data Structures","short_name":"Data Structures","childNodes":"0","parentPath":"00551-00525-00001"},{"cat_id":"565","cat_name":"Database","short_name":"Database","childNodes":"0","parentPath":"00551-00525-00001"},{"cat_id":"566","cat_name":"Database Management","short_name":"Database Management","childNodes":"0","parentPath":"00551-00525-00001"},{"cat_id":"567","cat_name":"Deep Learning","short_name":"Deep Learning","childNodes":"0","parentPath":"00551-00525-00001"},{"cat_id":"568","cat_name":"Discrete Structures","short_name":"Discrete Structures","childNodes":"0","parentPath":"00551-00525-00001"},{"cat_id":"569","cat_name":"Human Computer Interaction","short_name":"Human Computer Interaction","childNodes":"0","parentPath":"00551-00525-00001"},{"cat_id":"570","cat_name":"Informatics","short_name":"Informatics","childNodes":"0","parentPath":"00551-00525-00001"},{"cat_id":"571","cat_name":"Intro to Computers","short_name":"Intro to Computers","childNodes":"0","parentPath":"00551-00525-00001"},{"cat_id":"572","cat_name":"Machine Learning","short_name":"Machine Learning","childNodes":"0","parentPath":"00551-00525-00001"},{"cat_id":"573","cat_name":"Network Security","short_name":"Network Security","childNodes":"0","parentPath":"00551-00525-00001"},{"cat_id":"574","cat_name":"Networking","short_name":"Networking","childNodes":"0","parentPath":"00551-00525-00001"},{"cat_id":"575","cat_name":"Object Oriented Programming","short_name":"Object Oriented Programming","childNodes":"0","parentPath":"00551-00525-00001"},{"cat_id":"576","cat_name":"Operating Systems","short_name":"Operating Systems","childNodes":"0","parentPath":"00551-00525-00001"},{"cat_id":"577","cat_name":"Programming","short_name":"Programming","childNodes":"0","parentPath":"00551-00525-00001"},{"cat_id":"578","cat_name":"Robotics","short_name":"Robotics","childNodes":"0","parentPath":"00551-00525-00001"},{"cat_id":"579","cat_name":"Software Development","short_name":"Software Development","childNodes":"0","parentPath":"00551-00525-00001"}]},{"cat_id":"581","cat_name":"Engineering","short_name":"Engineering","childNodes":"12","parentPath":"00525-00001","sub_categories":[{"cat_id":"582","cat_name":"Amateur Radio","short_name":"Amateur Radio","childNodes":"0","parentPath":"00581-00525-00001"},{"cat_id":"583","cat_name":"Architecture","short_name":"Architecture","childNodes":"0","parentPath":"00581-00525-00001"},{"cat_id":"584","cat_name":"Circuits","short_name":"Circuits","childNodes":"0","parentPath":"00581-00525-00001"},{"cat_id":"585","cat_name":"Civil Engineering","short_name":"Civil Engineering","childNodes":"0","parentPath":"00581-00525-00001"},{"cat_id":"586","cat_name":"Construction","short_name":"Construction","childNodes":"0","parentPath":"00581-00525-00001"},{"cat_id":"587","cat_name":"Electrical Engineering","short_name":"Electrical Engineering","childNodes":"0","parentPath":"00581-00525-00001"},{"cat_id":"588","cat_name":"Engineering Science","short_name":"Engineering Science","childNodes":"0","parentPath":"00581-00525-00001"},{"cat_id":"589","cat_name":"Materials Science","short_name":"Materials Science","childNodes":"0","parentPath":"00581-00525-00001"},{"cat_id":"590","cat_name":"Mechanical Engineering","short_name":"Mechanical Engineering","childNodes":"0","parentPath":"00581-00525-00001"},{"cat_id":"591","cat_name":"Millwright","short_name":"Millwright","childNodes":"0","parentPath":"00581-00525-00001"},{"cat_id":"592","cat_name":"Morse Code","short_name":"Morse Code","childNodes":"0","parentPath":"00581-00525-00001"},{"cat_id":"593","cat_name":"Power Engineering","short_name":"Power Engineering","childNodes":"0","parentPath":"00581-00525-00001"}]},{"cat_id":"594","cat_name":"Graphic Design","short_name":"Graphic Design","childNodes":"0","parentPath":"00525-00001"},{"cat_id":"595","cat_name":"Information Security","short_name":"Information Security","childNodes":"0","parentPath":"00525-00001"},{"cat_id":"596","cat_name":"Information Technology","short_name":"Information Technology","childNodes":"0","parentPath":"00525-00001"},{"cat_id":"597","cat_name":"Management Information Systems","short_name":"Management Information Systems","childNodes":"0","parentPath":"00525-00001"}]},{"cat_id":"341","cat_name":"Vocations","short_name":"Vocations","childNodes":"24","parentPath":"00001","sub_categories":[{"cat_id":"342","cat_name":"ASVAB","short_name":"ASVAB","childNodes":"0","parentPath":"00341-00001"},{"cat_id":"343","cat_name":"Automotive","short_name":"Automotive","childNodes":"0","parentPath":"00341-00001"},{"cat_id":"344","cat_name":"Aviation","short_name":"Aviation","childNodes":"0","parentPath":"00341-00001"},{"cat_id":"345","cat_name":"Barbering","short_name":"Barbering","childNodes":"0","parentPath":"00341-00001"},{"cat_id":"346","cat_name":"Boating","short_name":"Boating","childNodes":"0","parentPath":"00341-00001"},{"cat_id":"347","cat_name":"Cosmetology","short_name":"Cosmetology","childNodes":"0","parentPath":"00341-00001"},{"cat_id":"348","cat_name":"Diamonds","short_name":"Diamonds","childNodes":"0","parentPath":"00341-00001"},{"cat_id":"349","cat_name":"Electrical","short_name":"Electrical","childNodes":"0","parentPath":"00341-00001"},{"cat_id":"350","cat_name":"Electrician","short_name":"Electrician","childNodes":"0","parentPath":"00341-00001"},{"cat_id":"351","cat_name":"Firefighting","short_name":"Firefighting","childNodes":"0","parentPath":"00341-00001"},{"cat_id":"352","cat_name":"Gardening","short_name":"Gardening","childNodes":"0","parentPath":"00341-00001"},{"cat_id":"353","cat_name":"Home Economics","short_name":"Home Economics","childNodes":"0","parentPath":"00341-00001"},{"cat_id":"354","cat_name":"Horticulture","short_name":"Horticulture","childNodes":"0","parentPath":"00341-00001"},{"cat_id":"355","cat_name":"HVAC","short_name":"HVAC","childNodes":"0","parentPath":"00341-00001"},{"cat_id":"356","cat_name":"Interior Design","short_name":"Interior Design","childNodes":"0","parentPath":"00341-00001"},{"cat_id":"357","cat_name":"Landscape Architecture","short_name":"Landscape Architecture","childNodes":"0","parentPath":"00341-00001"},{"cat_id":"358","cat_name":"Massage Therapy","short_name":"Massage Therapy","childNodes":"0","parentPath":"00341-00001"},{"cat_id":"359","cat_name":"Metallurgy","short_name":"Metallurgy","childNodes":"0","parentPath":"00341-00001"},{"cat_id":"360","cat_name":"Military","short_name":"Military","childNodes":"0","parentPath":"00341-00001"},{"cat_id":"361","cat_name":"Pest Control","short_name":"Pest Control","childNodes":"0","parentPath":"00341-00001"},{"cat_id":"362","cat_name":"Plumbing","short_name":"Plumbing","childNodes":"0","parentPath":"00341-00001"},{"cat_id":"363","cat_name":"Policing","short_name":"Policing","childNodes":"0","parentPath":"00341-00001"},{"cat_id":"364","cat_name":"Wastewater","short_name":"Wastewater","childNodes":"0","parentPath":"00341-00001"},{"cat_id":"365","cat_name":"Welding","short_name":"Welding","childNodes":"0","parentPath":"00341-00001"}]}]}
[13/Apr/2026:06:40:26] (root_api-) token =  IP = 217.113.194.9
[13/Apr/2026:06:40:26] (root_api-) 
[13/Apr/2026:06:40:26] (root_api-) OP=  of page root_api.php
[13/Apr/2026:06:40:26] (root_api-) Final JSON =  { "status":"error",
					"message":"Invalid Session",
					"Errorcode":"err100",
					"data":{}}
[13/Apr/2026:12:57:46] (root_api-) token =  IP = 122.167.187.129
[13/Apr/2026:12:57:46] (root_api-) 
[13/Apr/2026:12:57:46] (root_api-) OP=  of page root_api.php
[13/Apr/2026:12:57:46] (root_api-) Final JSON =  { "status":"error",
					"message":"Invalid Session",
					"Errorcode":"err100",
					"data":{}}
[13/Apr/2026:12:57:47] (root_api-) token = 66bbc87451ad3590b670daae13ee0619 IP = 122.167.187.129
[13/Apr/2026:12:57:47] (root_api-) op => getFrontCategoryMenu ,categoryId =>  ,clid => 66bbc87451ad3590b670daae13ee0619 ,serviceName => category_data ,
[13/Apr/2026:12:57:47] (root_api-) OP= getFrontCategoryMenu of page root_api.php
[13/Apr/2026:12:57:47] (root_api-) serviceName category_data
[13/Apr/2026:12:57:47] (root_api-) getFrontCategoryMenu : [1] get category with category default root.
[13/Apr/2026:12:57:47] (root_api-) Query~select ct.cat_id,ct.cat_name,ct.short_name,ct.`status`,
	fn_getChildCount(ct.cat_id) as childNodes,fn_getParentPath(ct.cat_id) as parentPath
	from tbl_category ct
	left join tbl_category ctp on ct.cat_parent_id = ctp.cat_id
	 where ct.cat_parent_id='1' AND ct.status = 'active'
	order by fn_getParentPath(ct.cat_id), ct.cat_name~2026-04-13 12:57:47:0447~2026-04-13 12:57:47~success
[13/Apr/2026:12:57:47] (root_api-) getFrontCategoryMenu : [1] get category with category default root.
[13/Apr/2026:12:57:47] (root_api-) Query~select ct.cat_id,ct.cat_name,ct.short_name,ct.`status`,
	fn_getChildCount(ct.cat_id) as childNodes,fn_getParentPath(ct.cat_id) as parentPath
	from tbl_category ct
	left join tbl_category ctp on ct.cat_parent_id = ctp.cat_id
	 where ct.cat_parent_id='410' AND ct.status = 'active'
	order by fn_getParentPath(ct.cat_id), ct.cat_name~2026-04-13 12:57:47:0447~2026-04-13 12:57:47~success
[13/Apr/2026:12:57:47] (root_api-) getFrontCategoryMenu : [1] get category with category default root.
[13/Apr/2026:12:57:47] (root_api-) Query~select ct.cat_id,ct.cat_name,ct.short_name,ct.`status`,
	fn_getChildCount(ct.cat_id) as childNodes,fn_getParentPath(ct.cat_id) as parentPath
	from tbl_category ct
	left join tbl_category ctp on ct.cat_parent_id = ctp.cat_id
	 where ct.cat_parent_id='411' AND ct.status = 'active'
	order by fn_getParentPath(ct.cat_id), ct.cat_name~2026-04-13 12:57:47:0447~2026-04-13 12:57:47~success
[13/Apr/2026:12:57:47] (root_api-) getFrontCategoryMenu : [1] get category with category default root.
[13/Apr/2026:12:57:47] (root_api-) Query~select ct.cat_id,ct.cat_name,ct.short_name,ct.`status`,
	fn_getChildCount(ct.cat_id) as childNodes,fn_getParentPath(ct.cat_id) as parentPath
	from tbl_category ct
	left join tbl_category ctp on ct.cat_parent_id = ctp.cat_id
	 where ct.cat_parent_id='433' AND ct.status = 'active'
	order by fn_getParentPath(ct.cat_id), ct.cat_name~2026-04-13 12:57:47:0447~2026-04-13 12:57:47~success
[13/Apr/2026:12:57:47] (root_api-) getFrontCategoryMenu : [1] get category with category default root.
[13/Apr/2026:12:57:47] (root_api-) Query~select ct.cat_id,ct.cat_name,ct.short_name,ct.`status`,
	fn_getChildCount(ct.cat_id) as childNodes,fn_getParentPath(ct.cat_id) as parentPath
	from tbl_category ct
	left join tbl_category ctp on ct.cat_parent_id = ctp.cat_id
	 where ct.cat_parent_id='458' AND ct.status = 'active'
	order by fn_getParentPath(ct.cat_id), ct.cat_name~2026-04-13 12:57:47:0447~2026-04-13 12:57:47~success
[13/Apr/2026:12:57:47] (root_api-) getFrontCategoryMenu : [1] get category with category default root.
[13/Apr/2026:12:57:47] (root_api-) Query~select ct.cat_id,ct.cat_name,ct.short_name,ct.`status`,
	fn_getChildCount(ct.cat_id) as childNodes,fn_getParentPath(ct.cat_id) as parentPath
	from tbl_category ct
	left join tbl_category ctp on ct.cat_parent_id = ctp.cat_id
	 where ct.cat_parent_id='485' AND ct.status = 'active'
	order by fn_getParentPath(ct.cat_id), ct.cat_name~2026-04-13 12:57:47:0447~2026-04-13 12:57:47~success
[13/Apr/2026:12:57:47] (root_api-) getFrontCategoryMenu : [1] get category with category default root.
[13/Apr/2026:12:57:47] (root_api-) Query~select ct.cat_id,ct.cat_name,ct.short_name,ct.`status`,
	fn_getChildCount(ct.cat_id) as childNodes,fn_getParentPath(ct.cat_id) as parentPath
	from tbl_category ct
	left join tbl_category ctp on ct.cat_parent_id = ctp.cat_id
	 where ct.cat_parent_id='499' AND ct.status = 'active'
	order by fn_getParentPath(ct.cat_id), ct.cat_name~2026-04-13 12:57:47:0447~2026-04-13 12:57:47~success
[13/Apr/2026:12:57:47] (root_api-) getFrontCategoryMenu : [1] get category with category default root.
[13/Apr/2026:12:57:47] (root_api-) Query~select ct.cat_id,ct.cat_name,ct.short_name,ct.`status`,
	fn_getChildCount(ct.cat_id) as childNodes,fn_getParentPath(ct.cat_id) as parentPath
	from tbl_category ct
	left join tbl_category ctp on ct.cat_parent_id = ctp.cat_id
	 where ct.cat_parent_id='514' AND ct.status = 'active'
	order by fn_getParentPath(ct.cat_id), ct.cat_name~2026-04-13 12:57:47:0447~2026-04-13 12:57:47~success
[13/Apr/2026:12:57:47] (root_api-) getFrontCategoryMenu : [1] get category with category default root.
[13/Apr/2026:12:57:47] (root_api-) Query~select ct.cat_id,ct.cat_name,ct.short_name,ct.`status`,
	fn_getChildCount(ct.cat_id) as childNodes,fn_getParentPath(ct.cat_id) as parentPath
	from tbl_category ct
	left join tbl_category ctp on ct.cat_parent_id = ctp.cat_id
	 where ct.cat_parent_id='64' AND ct.status = 'active'
	order by fn_getParentPath(ct.cat_id), ct.cat_name~2026-04-13 12:57:47:0447~2026-04-13 12:57:47~success
[13/Apr/2026:12:57:47] (root_api-) getFrontCategoryMenu : [1] get category with category default root.
[13/Apr/2026:12:57:47] (root_api-) Query~select ct.cat_id,ct.cat_name,ct.short_name,ct.`status`,
	fn_getChildCount(ct.cat_id) as childNodes,fn_getParentPath(ct.cat_id) as parentPath
	from tbl_category ct
	left join tbl_category ctp on ct.cat_parent_id = ctp.cat_id
	 where ct.cat_parent_id='2' AND ct.status = 'active'
	order by fn_getParentPath(ct.cat_id), ct.cat_name~2026-04-13 12:57:47:0447~2026-04-13 12:57:47~success
[13/Apr/2026:12:57:47] (root_api-) getFrontCategoryMenu : [1] get category with category default root.
[13/Apr/2026:12:57:47] (root_api-) Query~select ct.cat_id,ct.cat_name,ct.short_name,ct.`status`,
	fn_getChildCount(ct.cat_id) as childNodes,fn_getParentPath(ct.cat_id) as parentPath
	from tbl_category ct
	left join tbl_category ctp on ct.cat_parent_id = ctp.cat_id
	 where ct.cat_parent_id='605' AND ct.status = 'active'
	order by fn_getParentPath(ct.cat_id), ct.cat_name~2026-04-13 12:57:47:0447~2026-04-13 12:57:47~success
[13/Apr/2026:12:57:47] (root_api-) getFrontCategoryMenu : [1] get category with category default root.
[13/Apr/2026:12:57:47] (root_api-) Query~select ct.cat_id,ct.cat_name,ct.short_name,ct.`status`,
	fn_getChildCount(ct.cat_id) as childNodes,fn_getParentPath(ct.cat_id) as parentPath
	from tbl_category ct
	left join tbl_category ctp on ct.cat_parent_id = ctp.cat_id
	 where ct.cat_parent_id='598' AND ct.status = 'active'
	order by fn_getParentPath(ct.cat_id), ct.cat_name~2026-04-13 12:57:47:0447~2026-04-13 12:57:47~success
[13/Apr/2026:12:57:47] (root_api-) getFrontCategoryMenu : [1] get category with category default root.
[13/Apr/2026:12:57:47] (root_api-) Query~select ct.cat_id,ct.cat_name,ct.short_name,ct.`status`,
	fn_getChildCount(ct.cat_id) as childNodes,fn_getParentPath(ct.cat_id) as parentPath
	from tbl_category ct
	left join tbl_category ctp on ct.cat_parent_id = ctp.cat_id
	 where ct.cat_parent_id='23' AND ct.status = 'active'
	order by fn_getParentPath(ct.cat_id), ct.cat_name~2026-04-13 12:57:47:0447~2026-04-13 12:57:47~success
[13/Apr/2026:12:57:47] (root_api-) getFrontCategoryMenu : [1] get category with category default root.
[13/Apr/2026:12:57:47] (root_api-) Query~select ct.cat_id,ct.cat_name,ct.short_name,ct.`status`,
	fn_getChildCount(ct.cat_id) as childNodes,fn_getParentPath(ct.cat_id) as parentPath
	from tbl_category ct
	left join tbl_category ctp on ct.cat_parent_id = ctp.cat_id
	 where ct.cat_parent_id='396' AND ct.status = 'active'
	order by fn_getParentPath(ct.cat_id), ct.cat_name~2026-04-13 12:57:47:0447~2026-04-13 12:57:47~success
[13/Apr/2026:12:57:47] (root_api-) getFrontCategoryMenu : [1] get category with category default root.
[13/Apr/2026:12:57:47] (root_api-) Query~select ct.cat_id,ct.cat_name,ct.short_name,ct.`status`,
	fn_getChildCount(ct.cat_id) as childNodes,fn_getParentPath(ct.cat_id) as parentPath
	from tbl_category ct
	left join tbl_category ctp on ct.cat_parent_id = ctp.cat_id
	 where ct.cat_parent_id='81' AND ct.status = 'active'
	order by fn_getParentPath(ct.cat_id), ct.cat_name~2026-04-13 12:57:47:0447~2026-04-13 12:57:47~success
[13/Apr/2026:12:57:47] (root_api-) getFrontCategoryMenu : [1] get category with category default root.
[13/Apr/2026:12:57:47] (root_api-) Query~select ct.cat_id,ct.cat_name,ct.short_name,ct.`status`,
	fn_getChildCount(ct.cat_id) as childNodes,fn_getParentPath(ct.cat_id) as parentPath
	from tbl_category ct
	left join tbl_category ctp on ct.cat_parent_id = ctp.cat_id
	 where ct.cat_parent_id='90' AND ct.status = 'active'
	order by fn_getParentPath(ct.cat_id), ct.cat_name~2026-04-13 12:57:47:0447~2026-04-13 12:57:47~success
[13/Apr/2026:12:57:47] (root_api-) getFrontCategoryMenu : [1] get category with category default root.
[13/Apr/2026:12:57:47] (root_api-) Query~select ct.cat_id,ct.cat_name,ct.short_name,ct.`status`,
	fn_getChildCount(ct.cat_id) as childNodes,fn_getParentPath(ct.cat_id) as parentPath
	from tbl_category ct
	left join tbl_category ctp on ct.cat_parent_id = ctp.cat_id
	 where ct.cat_parent_id='107' AND ct.status = 'active'
	order by fn_getParentPath(ct.cat_id), ct.cat_name~2026-04-13 12:57:47:0447~2026-04-13 12:57:47~success
[13/Apr/2026:12:57:47] (root_api-) getFrontCategoryMenu : [1] get category with category default root.
[13/Apr/2026:12:57:47] (root_api-) Query~select ct.cat_id,ct.cat_name,ct.short_name,ct.`status`,
	fn_getChildCount(ct.cat_id) as childNodes,fn_getParentPath(ct.cat_id) as parentPath
	from tbl_category ct
	left join tbl_category ctp on ct.cat_parent_id = ctp.cat_id
	 where ct.cat_parent_id='117' AND ct.status = 'active'
	order by fn_getParentPath(ct.cat_id), ct.cat_name~2026-04-13 12:57:47:0447~2026-04-13 12:57:47~success
[13/Apr/2026:12:57:47] (root_api-) getFrontCategoryMenu : [1] get category with category default root.
[13/Apr/2026:12:57:47] (root_api-) Query~select ct.cat_id,ct.cat_name,ct.short_name,ct.`status`,
	fn_getChildCount(ct.cat_id) as childNodes,fn_getParentPath(ct.cat_id) as parentPath
	from tbl_category ct
	left join tbl_category ctp on ct.cat_parent_id = ctp.cat_id
	 where ct.cat_parent_id='137' AND ct.status = 'active'
	order by fn_getParentPath(ct.cat_id), ct.cat_name~2026-04-13 12:57:47:0447~2026-04-13 12:57:47~success
[13/Apr/2026:12:57:47] (root_api-) getFrontCategoryMenu : [1] get category with category default root.
[13/Apr/2026:12:57:47] (root_api-) Query~select ct.cat_id,ct.cat_name,ct.short_name,ct.`status`,
	fn_getChildCount(ct.cat_id) as childNodes,fn_getParentPath(ct.cat_id) as parentPath
	from tbl_category ct
	left join tbl_category ctp on ct.cat_parent_id = ctp.cat_id
	 where ct.cat_parent_id='138' AND ct.status = 'active'
	order by fn_getParentPath(ct.cat_id), ct.cat_name~2026-04-13 12:57:47:0447~2026-04-13 12:57:47~success
[13/Apr/2026:12:57:47] (root_api-) getFrontCategoryMenu : [1] get category with category default root.
[13/Apr/2026:12:57:47] (root_api-) Query~select ct.cat_id,ct.cat_name,ct.short_name,ct.`status`,
	fn_getChildCount(ct.cat_id) as childNodes,fn_getParentPath(ct.cat_id) as parentPath
	from tbl_category ct
	left join tbl_category ctp on ct.cat_parent_id = ctp.cat_id
	 where ct.cat_parent_id='144' AND ct.status = 'active'
	order by fn_getParentPath(ct.cat_id), ct.cat_name~2026-04-13 12:57:47:0447~2026-04-13 12:57:47~success
[13/Apr/2026:12:57:47] (root_api-) getFrontCategoryMenu : [1] get category with category default root.
[13/Apr/2026:12:57:47] (root_api-) Query~select ct.cat_id,ct.cat_name,ct.short_name,ct.`status`,
	fn_getChildCount(ct.cat_id) as childNodes,fn_getParentPath(ct.cat_id) as parentPath
	from tbl_category ct
	left join tbl_category ctp on ct.cat_parent_id = ctp.cat_id
	 where ct.cat_parent_id='164' AND ct.status = 'active'
	order by fn_getParentPath(ct.cat_id), ct.cat_name~2026-04-13 12:57:47:0447~2026-04-13 12:57:47~success
[13/Apr/2026:12:57:47] (root_api-) getFrontCategoryMenu : [1] get category with category default root.
[13/Apr/2026:12:57:47] (root_api-) Query~select ct.cat_id,ct.cat_name,ct.short_name,ct.`status`,
	fn_getChildCount(ct.cat_id) as childNodes,fn_getParentPath(ct.cat_id) as parentPath
	from tbl_category ct
	left join tbl_category ctp on ct.cat_parent_id = ctp.cat_id
	 where ct.cat_parent_id='179' AND ct.status = 'active'
	order by fn_getParentPath(ct.cat_id), ct.cat_name~2026-04-13 12:57:47:0447~2026-04-13 12:57:47~success
[13/Apr/2026:12:57:47] (root_api-) getFrontCategoryMenu : [1] get category with category default root.
[13/Apr/2026:12:57:47] (root_api-) Query~select ct.cat_id,ct.cat_name,ct.short_name,ct.`status`,
	fn_getChildCount(ct.cat_id) as childNodes,fn_getParentPath(ct.cat_id) as parentPath
	from tbl_category ct
	left join tbl_category ctp on ct.cat_parent_id = ctp.cat_id
	 where ct.cat_parent_id='82' AND ct.status = 'active'
	order by fn_getParentPath(ct.cat_id), ct.cat_name~2026-04-13 12:57:47:0447~2026-04-13 12:57:47~success
[13/Apr/2026:12:57:47] (root_api-) getFrontCategoryMenu : [1] get category with category default root.
[13/Apr/2026:12:57:47] (root_api-) Query~select ct.cat_id,ct.cat_name,ct.short_name,ct.`status`,
	fn_getChildCount(ct.cat_id) as childNodes,fn_getParentPath(ct.cat_id) as parentPath
	from tbl_category ct
	left join tbl_category ctp on ct.cat_parent_id = ctp.cat_id
	 where ct.cat_parent_id='200' AND ct.status = 'active'
	order by fn_getParentPath(ct.cat_id), ct.cat_name~2026-04-13 12:57:47:0447~2026-04-13 12:57:47~success
[13/Apr/2026:12:57:47] (root_api-) getFrontCategoryMenu : [1] get category with category default root.
[13/Apr/2026:12:57:47] (root_api-) Query~select ct.cat_id,ct.cat_name,ct.short_name,ct.`status`,
	fn_getChildCount(ct.cat_id) as childNodes,fn_getParentPath(ct.cat_id) as parentPath
	from tbl_category ct
	left join tbl_category ctp on ct.cat_parent_id = ctp.cat_id
	 where ct.cat_parent_id='218' AND ct.status = 'active'
	order by fn_getParentPath(ct.cat_id), ct.cat_name~2026-04-13 12:57:47:0447~2026-04-13 12:57:47~success
[13/Apr/2026:12:57:47] (root_api-) getFrontCategoryMenu : [1] get category with category default root.
[13/Apr/2026:12:57:47] (root_api-) Query~select ct.cat_id,ct.cat_name,ct.short_name,ct.`status`,
	fn_getChildCount(ct.cat_id) as childNodes,fn_getParentPath(ct.cat_id) as parentPath
	from tbl_category ct
	left join tbl_category ctp on ct.cat_parent_id = ctp.cat_id
	 where ct.cat_parent_id='272' AND ct.status = 'active'
	order by fn_getParentPath(ct.cat_id), ct.cat_name~2026-04-13 12:57:47:0447~2026-04-13 12:57:47~success
[13/Apr/2026:12:57:47] (root_api-) getFrontCategoryMenu : [1] get category with category default root.
[13/Apr/2026:12:57:47] (root_api-) Query~select ct.cat_id,ct.cat_name,ct.short_name,ct.`status`,
	fn_getChildCount(ct.cat_id) as childNodes,fn_getParentPath(ct.cat_id) as parentPath
	from tbl_category ct
	left join tbl_category ctp on ct.cat_parent_id = ctp.cat_id
	 where ct.cat_parent_id='292' AND ct.status = 'active'
	order by fn_getParentPath(ct.cat_id), ct.cat_name~2026-04-13 12:57:47:0447~2026-04-13 12:57:47~success
[13/Apr/2026:12:57:47] (root_api-) getFrontCategoryMenu : [1] get category with category default root.
[13/Apr/2026:12:57:47] (root_api-) Query~select ct.cat_id,ct.cat_name,ct.short_name,ct.`status`,
	fn_getChildCount(ct.cat_id) as childNodes,fn_getParentPath(ct.cat_id) as parentPath
	from tbl_category ct
	left join tbl_category ctp on ct.cat_parent_id = ctp.cat_id
	 where ct.cat_parent_id='623' AND ct.status = 'active'
	order by fn_getParentPath(ct.cat_id), ct.cat_name~2026-04-13 12:57:47:0447~2026-04-13 12:57:47~success
[13/Apr/2026:12:57:47] (root_api-) getFrontCategoryMenu : [1] get category with category default root.
[13/Apr/2026:12:57:47] (root_api-) Query~select ct.cat_id,ct.cat_name,ct.short_name,ct.`status`,
	fn_getChildCount(ct.cat_id) as childNodes,fn_getParentPath(ct.cat_id) as parentPath
	from tbl_category ct
	left join tbl_category ctp on ct.cat_parent_id = ctp.cat_id
	 where ct.cat_parent_id='366' AND ct.status = 'active'
	order by fn_getParentPath(ct.cat_id), ct.cat_name~2026-04-13 12:57:47:0447~2026-04-13 12:57:47~success
[13/Apr/2026:12:57:47] (root_api-) getFrontCategoryMenu : [1] get category with category default root.
[13/Apr/2026:12:57:47] (root_api-) Query~select ct.cat_id,ct.cat_name,ct.short_name,ct.`status`,
	fn_getChildCount(ct.cat_id) as childNodes,fn_getParentPath(ct.cat_id) as parentPath
	from tbl_category ct
	left join tbl_category ctp on ct.cat_parent_id = ctp.cat_id
	 where ct.cat_parent_id='311' AND ct.status = 'active'
	order by fn_getParentPath(ct.cat_id), ct.cat_name~2026-04-13 12:57:47:0447~2026-04-13 12:57:47~success
[13/Apr/2026:12:57:47] (root_api-) getFrontCategoryMenu : [1] get category with category default root.
[13/Apr/2026:12:57:47] (root_api-) Query~select ct.cat_id,ct.cat_name,ct.short_name,ct.`status`,
	fn_getChildCount(ct.cat_id) as childNodes,fn_getParentPath(ct.cat_id) as parentPath
	from tbl_category ct
	left join tbl_category ctp on ct.cat_parent_id = ctp.cat_id
	 where ct.cat_parent_id='325' AND ct.status = 'active'
	order by fn_getParentPath(ct.cat_id), ct.cat_name~2026-04-13 12:57:47:0447~2026-04-13 12:57:47~success
[13/Apr/2026:12:57:47] (root_api-) getFrontCategoryMenu : [1] get category with category default root.
[13/Apr/2026:12:57:47] (root_api-) Query~select ct.cat_id,ct.cat_name,ct.short_name,ct.`status`,
	fn_getChildCount(ct.cat_id) as childNodes,fn_getParentPath(ct.cat_id) as parentPath
	from tbl_category ct
	left join tbl_category ctp on ct.cat_parent_id = ctp.cat_id
	 where ct.cat_parent_id='11' AND ct.status = 'active'
	order by fn_getParentPath(ct.cat_id), ct.cat_name~2026-04-13 12:57:47:0447~2026-04-13 12:57:47~success
[13/Apr/2026:12:57:47] (root_api-) getFrontCategoryMenu : [1] get category with category default root.
[13/Apr/2026:12:57:47] (root_api-) Query~select ct.cat_id,ct.cat_name,ct.short_name,ct.`status`,
	fn_getChildCount(ct.cat_id) as childNodes,fn_getParentPath(ct.cat_id) as parentPath
	from tbl_category ct
	left join tbl_category ctp on ct.cat_parent_id = ctp.cat_id
	 where ct.cat_parent_id='611' AND ct.status = 'active'
	order by fn_getParentPath(ct.cat_id), ct.cat_name~2026-04-13 12:57:47:0447~2026-04-13 12:57:47~success
[13/Apr/2026:12:57:47] (root_api-) getFrontCategoryMenu : [1] get category with category default root.
[13/Apr/2026:12:57:47] (root_api-) Query~select ct.cat_id,ct.cat_name,ct.short_name,ct.`status`,
	fn_getChildCount(ct.cat_id) as childNodes,fn_getParentPath(ct.cat_id) as parentPath
	from tbl_category ct
	left join tbl_category ctp on ct.cat_parent_id = ctp.cat_id
	 where ct.cat_parent_id='38' AND ct.status = 'active'
	order by fn_getParentPath(ct.cat_id), ct.cat_name~2026-04-13 12:57:47:0447~2026-04-13 12:57:47~success
[13/Apr/2026:12:57:47] (root_api-) getFrontCategoryMenu : [1] get category with category default root.
[13/Apr/2026:12:57:47] (root_api-) Query~select ct.cat_id,ct.cat_name,ct.short_name,ct.`status`,
	fn_getChildCount(ct.cat_id) as childNodes,fn_getParentPath(ct.cat_id) as parentPath
	from tbl_category ct
	left join tbl_category ctp on ct.cat_parent_id = ctp.cat_id
	 where ct.cat_parent_id='525' AND ct.status = 'active'
	order by fn_getParentPath(ct.cat_id), ct.cat_name~2026-04-13 12:57:47:0447~2026-04-13 12:57:47~success
[13/Apr/2026:12:57:47] (root_api-) getFrontCategoryMenu : [1] get category with category default root.
[13/Apr/2026:12:57:47] (root_api-) Query~select ct.cat_id,ct.cat_name,ct.short_name,ct.`status`,
	fn_getChildCount(ct.cat_id) as childNodes,fn_getParentPath(ct.cat_id) as parentPath
	from tbl_category ct
	left join tbl_category ctp on ct.cat_parent_id = ctp.cat_id
	 where ct.cat_parent_id='528' AND ct.status = 'active'
	order by fn_getParentPath(ct.cat_id), ct.cat_name~2026-04-13 12:57:47:0447~2026-04-13 12:57:47~success
[13/Apr/2026:12:57:47] (root_api-) getFrontCategoryMenu : [1] get category with category default root.
[13/Apr/2026:12:57:47] (root_api-) Query~select ct.cat_id,ct.cat_name,ct.short_name,ct.`status`,
	fn_getChildCount(ct.cat_id) as childNodes,fn_getParentPath(ct.cat_id) as parentPath
	from tbl_category ct
	left join tbl_category ctp on ct.cat_parent_id = ctp.cat_id
	 where ct.cat_parent_id='529' AND ct.status = 'active'
	order by fn_getParentPath(ct.cat_id), ct.cat_name~2026-04-13 12:57:47:0447~2026-04-13 12:57:47~success
[13/Apr/2026:12:57:47] (root_api-) getFrontCategoryMenu : [1] get category with category default root.
[13/Apr/2026:12:57:47] (root_api-) Query~select ct.cat_id,ct.cat_name,ct.short_name,ct.`status`,
	fn_getChildCount(ct.cat_id) as childNodes,fn_getParentPath(ct.cat_id) as parentPath
	from tbl_category ct
	left join tbl_category ctp on ct.cat_parent_id = ctp.cat_id
	 where ct.cat_parent_id='551' AND ct.status = 'active'
	order by fn_getParentPath(ct.cat_id), ct.cat_name~2026-04-13 12:57:47:0447~2026-04-13 12:57:47~success
[13/Apr/2026:12:57:47] (root_api-) getFrontCategoryMenu : [1] get category with category default root.
[13/Apr/2026:12:57:47] (root_api-) Query~select ct.cat_id,ct.cat_name,ct.short_name,ct.`status`,
	fn_getChildCount(ct.cat_id) as childNodes,fn_getParentPath(ct.cat_id) as parentPath
	from tbl_category ct
	left join tbl_category ctp on ct.cat_parent_id = ctp.cat_id
	 where ct.cat_parent_id='552' AND ct.status = 'active'
	order by fn_getParentPath(ct.cat_id), ct.cat_name~2026-04-13 12:57:47:0447~2026-04-13 12:57:47~success
[13/Apr/2026:12:57:47] (root_api-) getFrontCategoryMenu : [1] get category with category default root.
[13/Apr/2026:12:57:47] (root_api-) Query~select ct.cat_id,ct.cat_name,ct.short_name,ct.`status`,
	fn_getChildCount(ct.cat_id) as childNodes,fn_getParentPath(ct.cat_id) as parentPath
	from tbl_category ct
	left join tbl_category ctp on ct.cat_parent_id = ctp.cat_id
	 where ct.cat_parent_id='581' AND ct.status = 'active'
	order by fn_getParentPath(ct.cat_id), ct.cat_name~2026-04-13 12:57:47:0447~2026-04-13 12:57:47~success
[13/Apr/2026:12:57:47] (root_api-) getFrontCategoryMenu : [1] get category with category default root.
[13/Apr/2026:12:57:47] (root_api-) Query~select ct.cat_id,ct.cat_name,ct.short_name,ct.`status`,
	fn_getChildCount(ct.cat_id) as childNodes,fn_getParentPath(ct.cat_id) as parentPath
	from tbl_category ct
	left join tbl_category ctp on ct.cat_parent_id = ctp.cat_id
	 where ct.cat_parent_id='341' AND ct.status = 'active'
	order by fn_getParentPath(ct.cat_id), ct.cat_name~2026-04-13 12:57:47:0447~2026-04-13 12:57:47~success
[13/Apr/2026:12:57:47] (root_api-) Final JSON =  {"status":"ok","message":"","Errorcode":"","data":[{"cat_id":"410","cat_name":"Business & Finance","short_name":"Business & Finance","childNodes":"7","parentPath":"00001","sub_categories":[{"cat_id":"411","cat_name":"Accounting","short_name":"Accounting","childNodes":"21","parentPath":"00410-00001","sub_categories":[{"cat_id":"431","cat_name":"                    Accounting","short_name":"Taxation Partnership","childNodes":"0","parentPath":"00411-00410-00001"},{"cat_id":"412","cat_name":"AAT","short_name":"AAT","childNodes":"0","parentPath":"00411-00410-00001"},{"cat_id":"413","cat_name":"Accounting","short_name":"Accounting","childNodes":"0","parentPath":"00411-00410-00001"},{"cat_id":"414","cat_name":"Accounting Information Systems","short_name":"Accounting Information Systems","childNodes":"0","parentPath":"00411-00410-00001"},{"cat_id":"415","cat_name":"Accounting Theory","short_name":"Accounting Theory","childNodes":"0","parentPath":"00411-00410-00001"},{"cat_id":"416","cat_name":"Appraisal","short_name":"Appraisal","childNodes":"0","parentPath":"00411-00410-00001"},{"cat_id":"417","cat_name":"Audit","short_name":"Audit","childNodes":"0","parentPath":"00411-00410-00001"},{"cat_id":"418","cat_name":"Audit & Assurance","short_name":"Audit & Assurance","childNodes":"0","parentPath":"00411-00410-00001"},{"cat_id":"419","cat_name":"Audit Sampling","short_name":"Audit Sampling","childNodes":"0","parentPath":"00411-00410-00001"},{"cat_id":"420","cat_name":"Bookkeeping","short_name":"Bookkeeping","childNodes":"0","parentPath":"00411-00410-00001"},{"cat_id":"421","cat_name":"Cost Accounting","short_name":"Cost Accounting","childNodes":"0","parentPath":"00411-00410-00001"},{"cat_id":"422","cat_name":"Enrolled Agent","short_name":"Enrolled Agent","childNodes":"0","parentPath":"00411-00410-00001"},{"cat_id":"423","cat_name":"Federal Income Tax","short_name":"Federal Income Tax","childNodes":"0","parentPath":"00411-00410-00001"},{"cat_id":"627","cat_name":"Finanace","short_name":"Finanace","childNodes":"0","parentPath":"00411-00410-00001"},{"cat_id":"424","cat_name":"Financial Accounting","short_name":"Financial Accounting","childNodes":"0","parentPath":"00411-00410-00001"},{"cat_id":"425","cat_name":"Fraud","short_name":"Fraud","childNodes":"0","parentPath":"00411-00410-00001"},{"cat_id":"426","cat_name":"Income Tax","short_name":"Income Tax","childNodes":"0","parentPath":"00411-00410-00001"},{"cat_id":"427","cat_name":"Intermediate Accounting","short_name":"Intermediate Accounting","childNodes":"0","parentPath":"00411-00410-00001"},{"cat_id":"428","cat_name":"Managerial Accounting","short_name":"Managerial Accounting","childNodes":"0","parentPath":"00411-00410-00001"},{"cat_id":"429","cat_name":"Public Finance","short_name":"Public Finance","childNodes":"0","parentPath":"00411-00410-00001"},{"cat_id":"430","cat_name":"Taxation","short_name":"Taxation","childNodes":"0","parentPath":"00411-00410-00001"}]},{"cat_id":"433","cat_name":"Business","short_name":"Business","childNodes":"23","parentPath":"00410-00001","sub_categories":[{"cat_id":"434","cat_name":"Accounting","short_name":"Accounting","childNodes":"0","parentPath":"00433-00410-00001"},{"cat_id":"435","cat_name":"Advertising","short_name":"Advertising","childNodes":"0","parentPath":"00433-00410-00001"},{"cat_id":"436","cat_name":"Business","short_name":"Business","childNodes":"0","parentPath":"00433-00410-00001"},{"cat_id":"437","cat_name":"Business Analysis","short_name":"Business Analysis","childNodes":"0","parentPath":"00433-00410-00001"},{"cat_id":"438","cat_name":"Business Analytics","short_name":"Business Analytics","childNodes":"0","parentPath":"00433-00410-00001"},{"cat_id":"439","cat_name":"Business Communication","short_name":"Business Communication","childNodes":"0","parentPath":"00433-00410-00001"},{"cat_id":"440","cat_name":"Business Ethics","short_name":"Business Ethics","childNodes":"0","parentPath":"00433-00410-00001"},{"cat_id":"441","cat_name":"Employee Training Demo","short_name":"Employee Training Demo","childNodes":"0","parentPath":"00433-00410-00001"},{"cat_id":"442","cat_name":"Entrepreneurship","short_name":"Entrepreneurship","childNodes":"0","parentPath":"00433-00410-00001"},{"cat_id":"443","cat_name":"Fashion","short_name":"Fashion","childNodes":"0","parentPath":"00433-00410-00001"},{"cat_id":"444","cat_name":"Finance","short_name":"Finance","childNodes":"0","parentPath":"00433-00410-00001"},{"cat_id":"445","cat_name":"Global Business","short_name":"Global Business","childNodes":"0","parentPath":"00433-00410-00001"},{"cat_id":"446","cat_name":"Human Resources","short_name":"Human Resources","childNodes":"0","parentPath":"00433-00410-00001"},{"cat_id":"447","cat_name":"Insurance","short_name":"Insurance","childNodes":"0","parentPath":"00433-00410-00001"},{"cat_id":"448","cat_name":"International Business","short_name":"International Business","childNodes":"0","parentPath":"00433-00410-00001"},{"cat_id":"449","cat_name":"Life & Health Insurance","short_name":"Life & Health Insurance","childNodes":"0","parentPath":"00433-00410-00001"},{"cat_id":"450","cat_name":"Logistics","short_name":"Logistics","childNodes":"0","parentPath":"00433-00410-00001"},{"cat_id":"451","cat_name":"Procurement","short_name":"Procurement","childNodes":"0","parentPath":"00433-00410-00001"},{"cat_id":"452","cat_name":"Project Management","short_name":"Project Management","childNodes":"0","parentPath":"00433-00410-00001"},{"cat_id":"453","cat_name":"Risk Management","short_name":"Risk Management","childNodes":"0","parentPath":"00433-00410-00001"},{"cat_id":"454","cat_name":"Salesforce","short_name":"Salesforce","childNodes":"0","parentPath":"00433-00410-00001"},{"cat_id":"455","cat_name":"Supply Chain","short_name":"Supply Chain","childNodes":"0","parentPath":"00433-00410-00001"},{"cat_id":"456","cat_name":"Tourism","short_name":"Tourism","childNodes":"0","parentPath":"00433-00410-00001"}]},{"cat_id":"458","cat_name":"Economics","short_name":"Economics","childNodes":"24","parentPath":"00410-00001","sub_categories":[{"cat_id":"459","cat_name":"Behavioral Economics","short_name":"Behavioral Economics","childNodes":"0","parentPath":"00458-00410-00001"},{"cat_id":"471","cat_name":"Capital Markets","short_name":"Capital Markets","childNodes":"0","parentPath":"00458-00410-00001"},{"cat_id":"472","cat_name":"Corporate Finance","short_name":"Corporate Finance","childNodes":"0","parentPath":"00458-00410-00001"},{"cat_id":"460","cat_name":"Econometrics","short_name":"Econometrics","childNodes":"0","parentPath":"00458-00410-00001"},{"cat_id":"461","cat_name":"Economic Development","short_name":"Economic Development","childNodes":"0","parentPath":"00458-00410-00001"},{"cat_id":"462","cat_name":"Economics","short_name":"Economics","childNodes":"0","parentPath":"00458-00410-00001"},{"cat_id":"463","cat_name":"Environmental Economics","short_name":"Environmental Economics","childNodes":"0","parentPath":"00458-00410-00001"},{"cat_id":"473","cat_name":"Finance","short_name":"Finance","childNodes":"0","parentPath":"00458-00410-00001"},{"cat_id":"474","cat_name":"Financial Exams","short_name":"Financial Exams","childNodes":"0","parentPath":"00458-00410-00001"},{"cat_id":"475","cat_name":"Financial Literacy","short_name":"Financial Literacy","childNodes":"0","parentPath":"00458-00410-00001"},{"cat_id":"476","cat_name":"Financial Markets","short_name":"Financial Markets","childNodes":"0","parentPath":"00458-00410-00001"},{"cat_id":"477","cat_name":"Fixed Income","short_name":"Fixed Income","childNodes":"0","parentPath":"00458-00410-00001"},{"cat_id":"464","cat_name":"Game Theory","short_name":"Game Theory","childNodes":"0","parentPath":"00458-00410-00001"},{"cat_id":"465","cat_name":"Globalization","short_name":"Globalization","childNodes":"0","parentPath":"00458-00410-00001"},{"cat_id":"478","cat_name":"International Finance","short_name":"International Finance","childNodes":"0","parentPath":"00458-00410-00001"},{"cat_id":"479","cat_name":"Investment Analysis","short_name":"Investment Analysis","childNodes":"0","parentPath":"00458-00410-00001"},{"cat_id":"480","cat_name":"Investment Banking","short_name":"Investment Banking","childNodes":"0","parentPath":"00458-00410-00001"},{"cat_id":"466","cat_name":"Macroeconomics","short_name":"Macroeconomics","childNodes":"0","parentPath":"00458-00410-00001"},{"cat_id":"467","cat_name":"Managerial Economics","short_name":"Managerial Economics","childNodes":"0","parentPath":"00458-00410-00001"},{"cat_id":"468","cat_name":"Microeconomics","short_name":"Microeconomics","childNodes":"0","parentPath":"00458-00410-00001"},{"cat_id":"481","cat_name":"Personal Finance","short_name":"Personal Finance","childNodes":"0","parentPath":"00458-00410-00001"},{"cat_id":"469","cat_name":"Principles of Economics","short_name":"Principles of Economics","childNodes":"0","parentPath":"00458-00410-00001"},{"cat_id":"482","cat_name":"Private Equity","short_name":"Private Equity","childNodes":"0","parentPath":"00458-00410-00001"},{"cat_id":"483","cat_name":"Real Estate Finance","short_name":"Real Estate Finance","childNodes":"0","parentPath":"00458-00410-00001"}]},{"cat_id":"470","cat_name":"Finance","short_name":"Finance","childNodes":"0","parentPath":"00410-00001"},{"cat_id":"485","cat_name":"Management","short_name":"Management","childNodes":"12","parentPath":"00410-00001","sub_categories":[{"cat_id":"486","cat_name":"Business Administration","short_name":"Business Administration","childNodes":"0","parentPath":"00485-00410-00001"},{"cat_id":"487","cat_name":"Business Management","short_name":"Business Management","childNodes":"0","parentPath":"00485-00410-00001"},{"cat_id":"488","cat_name":"Effective Supervisory Practices","short_name":"Effective Supervisory Practices","childNodes":"0","parentPath":"00485-00410-00001"},{"cat_id":"489","cat_name":"Facilities Management","short_name":"Facilities Management","childNodes":"0","parentPath":"00485-00410-00001"},{"cat_id":"490","cat_name":"Healthcare Management","short_name":"Healthcare Management","childNodes":"0","parentPath":"00485-00410-00001"},{"cat_id":"491","cat_name":"Higher Business Management","short_name":"Higher Business Management","childNodes":"0","parentPath":"00485-00410-00001"},{"cat_id":"492","cat_name":"Human Resource Management","short_name":"Human Resource Management","childNodes":"0","parentPath":"00485-00410-00001"},{"cat_id":"493","cat_name":"Management 101","short_name":"Management 101","childNodes":"0","parentPath":"00485-00410-00001"},{"cat_id":"494","cat_name":"Operations Management","short_name":"Operations Management","childNodes":"0","parentPath":"00485-00410-00001"},{"cat_id":"495","cat_name":"Organizational Behavior","short_name":"Organizational Behavior","childNodes":"0","parentPath":"00485-00410-00001"},{"cat_id":"496","cat_name":"Principles of Management","short_name":"Principles of Management","childNodes":"0","parentPath":"00485-00410-00001"},{"cat_id":"497","cat_name":"Strategic Management","short_name":"Strategic Management","childNodes":"0","parentPath":"00485-00410-00001"}]},{"cat_id":"499","cat_name":"Marketing","short_name":"Marketing","childNodes":"13","parentPath":"00410-00001","sub_categories":[{"cat_id":"500","cat_name":"B2B Marketing","short_name":"B2B Marketing","childNodes":"0","parentPath":"00499-00410-00001"},{"cat_id":"501","cat_name":"Consumer Behavior","short_name":"Consumer Behavior","childNodes":"0","parentPath":"00499-00410-00001"},{"cat_id":"502","cat_name":"Digital Marketing","short_name":"Digital Marketing","childNodes":"0","parentPath":"00499-00410-00001"},{"cat_id":"503","cat_name":"Global Marketing","short_name":"Global Marketing","childNodes":"0","parentPath":"00499-00410-00001"},{"cat_id":"504","cat_name":"International Marketing","short_name":"International Marketing","childNodes":"0","parentPath":"00499-00410-00001"},{"cat_id":"505","cat_name":"Marketing 101","short_name":"Marketing 101","childNodes":"0","parentPath":"00499-00410-00001"},{"cat_id":"506","cat_name":"Marketing Research","short_name":"Marketing Research","childNodes":"0","parentPath":"00499-00410-00001"},{"cat_id":"507","cat_name":"Neuromarketing","short_name":"Neuromarketing","childNodes":"0","parentPath":"00499-00410-00001"},{"cat_id":"508","cat_name":"Principles of Marketing","short_name":"Principles of Marketing","childNodes":"0","parentPath":"00499-00410-00001"},{"cat_id":"509","cat_name":"Sales & Marketing","short_name":"Sales & Marketing","childNodes":"0","parentPath":"00499-00410-00001"},{"cat_id":"510","cat_name":"Service Marketing","short_name":"Service Marketing","childNodes":"0","parentPath":"00499-00410-00001"},{"cat_id":"511","cat_name":"Social Marketing","short_name":"Social Marketing","childNodes":"0","parentPath":"00499-00410-00001"},{"cat_id":"512","cat_name":"Strategic Marketing","short_name":"Strategic Marketing","childNodes":"0","parentPath":"00499-00410-00001"}]},{"cat_id":"514","cat_name":"Real Estate","short_name":"Real Estate","childNodes":"10","parentPath":"00410-00001","sub_categories":[{"cat_id":"515","cat_name":"Real Estate - General","short_name":"Real Estate - General","childNodes":"0","parentPath":"00514-00410-00001"},{"cat_id":"516","cat_name":"Real Estate Agent","short_name":"Real Estate Agent","childNodes":"0","parentPath":"00514-00410-00001"},{"cat_id":"517","cat_name":"Real Estate Appraisal","short_name":"Real Estate Appraisal","childNodes":"0","parentPath":"00514-00410-00001"},{"cat_id":"518","cat_name":"Real Estate Exam","short_name":"Real Estate Exam","childNodes":"0","parentPath":"00514-00410-00001"},{"cat_id":"519","cat_name":"Real Estate Finance","short_name":"Real Estate Finance","childNodes":"0","parentPath":"00514-00410-00001"},{"cat_id":"520","cat_name":"Real Estate Law","short_name":"Real Estate Law","childNodes":"0","parentPath":"00514-00410-00001"},{"cat_id":"521","cat_name":"Real Estate Math","short_name":"Real Estate Math","childNodes":"0","parentPath":"00514-00410-00001"},{"cat_id":"522","cat_name":"Real Estate Post-Licensing","short_name":"Real Estate Post-Licensing","childNodes":"0","parentPath":"00514-00410-00001"},{"cat_id":"523","cat_name":"Real Estate Practice","short_name":"Real Estate Practice","childNodes":"0","parentPath":"00514-00410-00001"},{"cat_id":"524","cat_name":"Real Estate Principles","short_name":"Real Estate Principles","childNodes":"0","parentPath":"00514-00410-00001"}]}]},{"cat_id":"64","cat_name":"English","short_name":"English","childNodes":"16","parentPath":"00001","sub_categories":[{"cat_id":"65","cat_name":"American Literature","short_name":"American Literature","childNodes":"0","parentPath":"00064-00001"},{"cat_id":"66","cat_name":"British Literature","short_name":"British Literature","childNodes":"0","parentPath":"00064-00001"},{"cat_id":"67","cat_name":"Classic Novels","short_name":"Classic Novels","childNodes":"0","parentPath":"00064-00001"},{"cat_id":"68","cat_name":"Creative Writing","short_name":"Creative Writing","childNodes":"0","parentPath":"00064-00001"},{"cat_id":"69","cat_name":"English","short_name":"English","childNodes":"0","parentPath":"00064-00001"},{"cat_id":"70","cat_name":"English Grammar","short_name":"English Grammar","childNodes":"0","parentPath":"00064-00001"},{"cat_id":"71","cat_name":"Fiction","short_name":"Fiction","childNodes":"0","parentPath":"00064-00001"},{"cat_id":"72","cat_name":"Higher English","short_name":"Higher English","childNodes":"0","parentPath":"00064-00001"},{"cat_id":"73","cat_name":"Literature","short_name":"Literature","childNodes":"0","parentPath":"00064-00001"},{"cat_id":"74","cat_name":"Medieval literature","short_name":"Medieval literature","childNodes":"0","parentPath":"00064-00001"},{"cat_id":"75","cat_name":"Phonics","short_name":"Phonics","childNodes":"0","parentPath":"00064-00001"},{"cat_id":"76","cat_name":"Poetry","short_name":"Poetry","childNodes":"0","parentPath":"00064-00001"},{"cat_id":"77","cat_name":"Proverbs and Idioms","short_name":"Proverbs and Idioms","childNodes":"0","parentPath":"00064-00001"},{"cat_id":"78","cat_name":"Shakespeare","short_name":"Shakespeare","childNodes":"0","parentPath":"00064-00001"},{"cat_id":"79","cat_name":"Spelling","short_name":"Spelling","childNodes":"0","parentPath":"00064-00001"},{"cat_id":"80","cat_name":"Vocab Builder","short_name":"Vocab Builder","childNodes":"0","parentPath":"00064-00001"}]},{"cat_id":"2","cat_name":"Entrance Exams","short_name":"Entrance Exams","childNodes":"8","parentPath":"00001","sub_categories":[{"cat_id":"3","cat_name":"A Level Exams","short_name":"A Level Exams","childNodes":"0","parentPath":"00002-00001"},{"cat_id":"4","cat_name":"AP Exams","short_name":"AP Exams","childNodes":"0","parentPath":"00002-00001"},{"cat_id":"5","cat_name":"GCSE Exams","short_name":"GCSE Exams","childNodes":"0","parentPath":"00002-00001"},{"cat_id":"6","cat_name":"Graduate Entrance Exams","short_name":"Graduate Entrance Exams","childNodes":"0","parentPath":"00002-00001"},{"cat_id":"7","cat_name":"IGCSE Exams","short_name":"IGCSE Exams","childNodes":"0","parentPath":"00002-00001"},{"cat_id":"8","cat_name":"International Baccalaureate","short_name":"International Baccalaureate","childNodes":"0","parentPath":"00002-00001"},{"cat_id":"9","cat_name":"National 5 Exams","short_name":"National 5 Exams","childNodes":"0","parentPath":"00002-00001"},{"cat_id":"10","cat_name":"University Entrance Exams","short_name":"University Entrance Exams","childNodes":"0","parentPath":"00002-00001"}]},{"cat_id":"605","cat_name":"Fine Arts","short_name":"Fine Arts","childNodes":"5","parentPath":"00001","sub_categories":[{"cat_id":"606","cat_name":"Art","short_name":"Art","childNodes":"0","parentPath":"00605-00001"},{"cat_id":"607","cat_name":"Art History","short_name":"Art History","childNodes":"0","parentPath":"00605-00001"},{"cat_id":"608","cat_name":"Dance","short_name":"Dance","childNodes":"0","parentPath":"00605-00001"},{"cat_id":"609","cat_name":"Music","short_name":"Music","childNodes":"0","parentPath":"00605-00001"},{"cat_id":"610","cat_name":"Other Fine Arts","short_name":"Other Fine Arts","childNodes":"0","parentPath":"00605-00001"}]},{"cat_id":"598","cat_name":"Food & Beverage","short_name":"Food & Beverage","childNodes":"6","parentPath":"00001","sub_categories":[{"cat_id":"599","cat_name":"Bartending","short_name":"Bartending","childNodes":"0","parentPath":"00598-00001"},{"cat_id":"600","cat_name":"Cooking","short_name":"Cooking","childNodes":"0","parentPath":"00598-00001"},{"cat_id":"601","cat_name":"Culinary Arts","short_name":"Culinary Arts","childNodes":"0","parentPath":"00598-00001"},{"cat_id":"602","cat_name":"Hospitality","short_name":"Hospitality","childNodes":"0","parentPath":"00598-00001"},{"cat_id":"603","cat_name":"Nutrition","short_name":"Nutrition","childNodes":"0","parentPath":"00598-00001"},{"cat_id":"604","cat_name":"Wine & Spirits","short_name":"Wine & Spirits","childNodes":"0","parentPath":"00598-00001"}]},{"cat_id":"23","cat_name":"Foreign Languages","short_name":"Foreign Languages","childNodes":"14","parentPath":"00001","sub_categories":[{"cat_id":"24","cat_name":"Arabic","short_name":"Arabic","childNodes":"0","parentPath":"00023-00001"},{"cat_id":"25","cat_name":"Chinese","short_name":"Chinese","childNodes":"0","parentPath":"00023-00001"},{"cat_id":"26","cat_name":"French","short_name":"French","childNodes":"0","parentPath":"00023-00001"},{"cat_id":"27","cat_name":"German","short_name":"German","childNodes":"0","parentPath":"00023-00001"},{"cat_id":"28","cat_name":"Hebrew","short_name":"Hebrew","childNodes":"0","parentPath":"00023-00001"},{"cat_id":"29","cat_name":"Italian","short_name":"Italian","childNodes":"0","parentPath":"00023-00001"},{"cat_id":"30","cat_name":"Japanese","short_name":"Japanese","childNodes":"0","parentPath":"00023-00001"},{"cat_id":"31","cat_name":"Korean","short_name":"Korean","childNodes":"0","parentPath":"00023-00001"},{"cat_id":"32","cat_name":"Linguistics","short_name":"Linguistics","childNodes":"0","parentPath":"00023-00001"},{"cat_id":"33","cat_name":"Other Foreign Languages","short_name":"Other Foreign Languages","childNodes":"0","parentPath":"00023-00001"},{"cat_id":"34","cat_name":"Portuguese","short_name":"Portuguese","childNodes":"0","parentPath":"00023-00001"},{"cat_id":"35","cat_name":"Russian","short_name":"Russian","childNodes":"0","parentPath":"00023-00001"},{"cat_id":"36","cat_name":"Spanish","short_name":"Spanish","childNodes":"0","parentPath":"00023-00001"},{"cat_id":"37","cat_name":"TOEFL","short_name":"TOEFL","childNodes":"0","parentPath":"00023-00001"}]},{"cat_id":"396","cat_name":"Health & Fitness","short_name":"Health & Fitness","childNodes":"13","parentPath":"00001","sub_categories":[{"cat_id":"409","cat_name":"ACE Health Coach","short_name":"ACE Health Coach","childNodes":"0","parentPath":"00396-00001"},{"cat_id":"397","cat_name":"Alternative Medicine","short_name":"Alternative Medicine","childNodes":"0","parentPath":"00396-00001"},{"cat_id":"398","cat_name":"Health & Fitness Class","short_name":"Health & Fitness Class","childNodes":"0","parentPath":"00396-00001"},{"cat_id":"399","cat_name":"Health & Human Development","short_name":"Health & Human Development","childNodes":"0","parentPath":"00396-00001"},{"cat_id":"400","cat_name":"Health Class","short_name":"Health Class","childNodes":"0","parentPath":"00396-00001"},{"cat_id":"401","cat_name":"Health Science","short_name":"Health Science","childNodes":"0","parentPath":"00396-00001"},{"cat_id":"402","cat_name":"Human Development","short_name":"Human Development","childNodes":"0","parentPath":"00396-00001"},{"cat_id":"403","cat_name":"Human Growth & Development","short_name":"Human Growth & Development","childNodes":"0","parentPath":"00396-00001"},{"cat_id":"404","cat_name":"Mental Health","short_name":"Mental Health","childNodes":"0","parentPath":"00396-00001"},{"cat_id":"406","cat_name":"NASM CPT","short_name":"NASM CPT","childNodes":"0","parentPath":"00396-00001"},{"cat_id":"405","cat_name":"Public Health","short_name":"Public Health","childNodes":"0","parentPath":"00396-00001"},{"cat_id":"407","cat_name":"Sports & Kinesiology","short_name":"Sports & Kinesiology","childNodes":"0","parentPath":"00396-00001"},{"cat_id":"408","cat_name":"Yoga","short_name":"Yoga","childNodes":"0","parentPath":"00396-00001"}]},{"cat_id":"81","cat_name":"Humanities & Social Studies","short_name":"Humanities & Social Studies","childNodes":"16","parentPath":"00001","sub_categories":[{"cat_id":"90","cat_name":"Anthropology","short_name":"Anthropology","childNodes":"16","parentPath":"00081-00001","sub_categories":[{"cat_id":"91","cat_name":"Anthropology","short_name":"Anthropology","childNodes":"0","parentPath":"00090-00081-00001"},{"cat_id":"92","cat_name":"Archaeology","short_name":"Archaeology","childNodes":"0","parentPath":"00090-00081-00001"},{"cat_id":"93","cat_name":"Biological Anthropology","short_name":"Biological Anthropology","childNodes":"0","parentPath":"00090-00081-00001"},{"cat_id":"94","cat_name":"Cultural Anthropology","short_name":"Cultural Anthropology","childNodes":"0","parentPath":"00090-00081-00001"},{"cat_id":"95","cat_name":"Ethnobotany","short_name":"Ethnobotany","childNodes":"0","parentPath":"00090-00081-00001"},{"cat_id":"96","cat_name":"Evolutionary Genetics","short_name":"Evolutionary Genetics","childNodes":"0","parentPath":"00090-00081-00001"},{"cat_id":"97","cat_name":"Forensic Anthropology","short_name":"Forensic Anthropology","childNodes":"0","parentPath":"00090-00081-00001"},{"cat_id":"98","cat_name":"Fossils","short_name":"Fossils","childNodes":"0","parentPath":"00090-00081-00001"},{"cat_id":"99","cat_name":"Gender Studies","short_name":"Gender Studies","childNodes":"0","parentPath":"00090-00081-00001"},{"cat_id":"100","cat_name":"Human Biology","short_name":"Human Biology","childNodes":"0","parentPath":"00090-00081-00001"},{"cat_id":"101","cat_name":"Human Evolution","short_name":"Human Evolution","childNodes":"0","parentPath":"00090-00081-00001"},{"cat_id":"102","cat_name":"Human Genetics","short_name":"Human Genetics","childNodes":"0","parentPath":"00090-00081-00001"},{"cat_id":"103","cat_name":"Human Reproduction","short_name":"Human Reproduction","childNodes":"0","parentPath":"00090-00081-00001"},{"cat_id":"104","cat_name":"Linguistics","short_name":"Linguistics","childNodes":"0","parentPath":"00090-00081-00001"},{"cat_id":"105","cat_name":"Physical Anthropology","short_name":"Physical Anthropology","childNodes":"0","parentPath":"00090-00081-00001"},{"cat_id":"106","cat_name":"Primate Behavior","short_name":"Primate Behavior","childNodes":"0","parentPath":"00090-00081-00001"}]},{"cat_id":"307","cat_name":"Citizenship","short_name":"Citizenship","childNodes":"0","parentPath":"00081-00001"},{"cat_id":"308","cat_name":"Civics","short_name":"Civics","childNodes":"0","parentPath":"00081-00001"},{"cat_id":"107","cat_name":"Classics","short_name":"Classics","childNodes":"9","parentPath":"00081-00001","sub_categories":[{"cat_id":"108","cat_name":"Ancient Greek","short_name":"Ancient Greek","childNodes":"0","parentPath":"00107-00081-00001"},{"cat_id":"109","cat_name":"Classical Architecture","short_name":"Classical Architecture","childNodes":"0","parentPath":"00107-00081-00001"},{"cat_id":"110","cat_name":"Classical Art","short_name":"Classical Art","childNodes":"0","parentPath":"00107-00081-00001"},{"cat_id":"111","cat_name":"Classical Mythology","short_name":"Classical Mythology","childNodes":"0","parentPath":"00107-00081-00001"},{"cat_id":"112","cat_name":"Greek Civilization","short_name":"Greek Civilization","childNodes":"0","parentPath":"00107-00081-00001"},{"cat_id":"113","cat_name":"Greek History","short_name":"Greek History","childNodes":"0","parentPath":"00107-00081-00001"},{"cat_id":"114","cat_name":"Latin","short_name":"Latin","childNodes":"0","parentPath":"00107-00081-00001"},{"cat_id":"115","cat_name":"Roman Civilization","short_name":"Roman Civilization","childNodes":"0","parentPath":"00107-00081-00001"},{"cat_id":"116","cat_name":"Roman History","short_name":"Roman History","childNodes":"0","parentPath":"00107-00081-00001"}]},{"cat_id":"117","cat_name":"Communications","short_name":"Communications","childNodes":"19","parentPath":"00081-00001","sub_categories":[{"cat_id":"118","cat_name":"Argumentation","short_name":"Argumentation","childNodes":"0","parentPath":"00117-00081-00001"},{"cat_id":"119","cat_name":"Business Communication","short_name":"Business Communication","childNodes":"0","parentPath":"00117-00081-00001"},{"cat_id":"120","cat_name":"Communication Theory","short_name":"Communication Theory","childNodes":"0","parentPath":"00117-00081-00001"},{"cat_id":"121","cat_name":"Communications","short_name":"Communications","childNodes":"0","parentPath":"00117-00081-00001"},{"cat_id":"122","cat_name":"Debate","short_name":"Debate","childNodes":"0","parentPath":"00117-00081-00001"},{"cat_id":"123","cat_name":"Human Relationships","short_name":"Human Relationships","childNodes":"0","parentPath":"00117-00081-00001"},{"cat_id":"124","cat_name":"Interpersonal Communication","short_name":"Interpersonal Communication","childNodes":"0","parentPath":"00117-00081-00001"},{"cat_id":"125","cat_name":"Mass Communication","short_name":"Mass Communication","childNodes":"0","parentPath":"00117-00081-00001"},{"cat_id":"126","cat_name":"Mass Media","short_name":"Mass Media","childNodes":"0","parentPath":"00117-00081-00001"},{"cat_id":"127","cat_name":"Media Studies","short_name":"Media Studies","childNodes":"0","parentPath":"00117-00081-00001"},{"cat_id":"128","cat_name":"Nonverbal Communication","short_name":"Nonverbal Communication","childNodes":"0","parentPath":"00117-00081-00001"},{"cat_id":"129","cat_name":"Organizational Communication","short_name":"Organizational Communication","childNodes":"0","parentPath":"00117-00081-00001"},{"cat_id":"130","cat_name":"Persuasion","short_name":"Persuasion","childNodes":"0","parentPath":"00117-00081-00001"},{"cat_id":"131","cat_name":"Professional Communication","short_name":"Professional Communication","childNodes":"0","parentPath":"00117-00081-00001"},{"cat_id":"132","cat_name":"Public Relations","short_name":"Public Relations","childNodes":"0","parentPath":"00117-00081-00001"},{"cat_id":"133","cat_name":"Public Speaking","short_name":"Public Speaking","childNodes":"0","parentPath":"00117-00081-00001"},{"cat_id":"134","cat_name":"Rhetoric","short_name":"Rhetoric","childNodes":"0","parentPath":"00117-00081-00001"},{"cat_id":"135","cat_name":"Small Group Communication","short_name":"Small Group Communication","childNodes":"0","parentPath":"00117-00081-00001"},{"cat_id":"136","cat_name":"Speech Communication","short_name":"Speech Communication","childNodes":"0","parentPath":"00117-00081-00001"}]},{"cat_id":"137","cat_name":"Counseling","short_name":"Counseling","childNodes":"6","parentPath":"00081-00001","sub_categories":[{"cat_id":"138","cat_name":"Counseling","short_name":"Counseling","childNodes":"1","parentPath":"00137-00081-00001","sub_categories":[{"cat_id":"629","cat_name":"Counseling","short_name":"Accounting","childNodes":"0","parentPath":"00138-00137-00081-00001"}]},{"cat_id":"139","cat_name":"Counseling Theory","short_name":"Counseling Theory","childNodes":"0","parentPath":"00137-00081-00001"},{"cat_id":"140","cat_name":"Family Therapy","short_name":"Family Therapy","childNodes":"0","parentPath":"00137-00081-00001"},{"cat_id":"141","cat_name":"LMSW Exam","short_name":"LMSW Exam","childNodes":"0","parentPath":"00137-00081-00001"},{"cat_id":"142","cat_name":"MFT Exam","short_name":"MFT Exam","childNodes":"0","parentPath":"00137-00081-00001"},{"cat_id":"143","cat_name":"NCMHCE","short_name":"NCMHCE","childNodes":"0","parentPath":"00137-00081-00001"}]},{"cat_id":"144","cat_name":"Criminal Justice","short_name":"Criminal Justice","childNodes":"19","parentPath":"00081-00001","sub_categories":[{"cat_id":"145","cat_name":"CIB","short_name":"CIB","childNodes":"0","parentPath":"00144-00081-00001"},{"cat_id":"146","cat_name":"Civil Rights","short_name":"Civil Rights","childNodes":"0","parentPath":"00144-00081-00001"},{"cat_id":"147","cat_name":"Corrections","short_name":"Corrections","childNodes":"0","parentPath":"00144-00081-00001"},{"cat_id":"148","cat_name":"Crime & Deviance","short_name":"Crime & Deviance","childNodes":"0","parentPath":"00144-00081-00001"},{"cat_id":"149","cat_name":"Crime & Punishment","short_name":"Crime & Punishment","childNodes":"0","parentPath":"00144-00081-00001"},{"cat_id":"150","cat_name":"Criminal Investigation","short_name":"Criminal Investigation","childNodes":"0","parentPath":"00144-00081-00001"},{"cat_id":"151","cat_name":"Criminal Justice","short_name":"Criminal Justice","childNodes":"0","parentPath":"00144-00081-00001"},{"cat_id":"152","cat_name":"Criminal Psychology","short_name":"Criminal Psychology","childNodes":"0","parentPath":"00144-00081-00001"},{"cat_id":"153","cat_name":"Criminology","short_name":"Criminology","childNodes":"0","parentPath":"00144-00081-00001"},{"cat_id":"154","cat_name":"Cybercrime","short_name":"Cybercrime","childNodes":"0","parentPath":"00144-00081-00001"},{"cat_id":"155","cat_name":"Forensic Pathology","short_name":"Forensic Pathology","childNodes":"0","parentPath":"00144-00081-00001"},{"cat_id":"156","cat_name":"Forensic Science","short_name":"Forensic Science","childNodes":"0","parentPath":"00144-00081-00001"},{"cat_id":"157","cat_name":"History of Crime","short_name":"History of Crime","childNodes":"0","parentPath":"00144-00081-00001"},{"cat_id":"158","cat_name":"Intro to Criminology","short_name":"Intro to Criminology","childNodes":"0","parentPath":"00144-00081-00001"},{"cat_id":"159","cat_name":"Law Enforcement","short_name":"Law Enforcement","childNodes":"0","parentPath":"00144-00081-00001"},{"cat_id":"160","cat_name":"Police Administration","short_name":"Police Administration","childNodes":"0","parentPath":"00144-00081-00001"},{"cat_id":"161","cat_name":"Police Studies","short_name":"Police Studies","childNodes":"0","parentPath":"00144-00081-00001"},{"cat_id":"162","cat_name":"Policing","short_name":"Policing","childNodes":"0","parentPath":"00144-00081-00001"},{"cat_id":"163","cat_name":"Prosecution","short_name":"Prosecution","childNodes":"0","parentPath":"00144-00081-00001"}]},{"cat_id":"164","cat_name":"Geography","short_name":"Geography","childNodes":"14","parentPath":"00081-00001","sub_categories":[{"cat_id":"165","cat_name":"Cartography","short_name":"Cartography","childNodes":"0","parentPath":"00164-00081-00001"},{"cat_id":"166","cat_name":"Climate Change","short_name":"Climate Change","childNodes":"0","parentPath":"00164-00081-00001"},{"cat_id":"167","cat_name":"Cultural Geography","short_name":"Cultural Geography","childNodes":"0","parentPath":"00164-00081-00001"},{"cat_id":"168","cat_name":"Environmental Science","short_name":"Environmental Science","childNodes":"0","parentPath":"00164-00081-00001"},{"cat_id":"169","cat_name":"Geography","short_name":"Geography","childNodes":"0","parentPath":"00164-00081-00001"},{"cat_id":"170","cat_name":"Human Geography","short_name":"Human Geography","childNodes":"0","parentPath":"00164-00081-00001"},{"cat_id":"171","cat_name":"Hydrology","short_name":"Hydrology","childNodes":"0","parentPath":"00164-00081-00001"},{"cat_id":"172","cat_name":"Landforms","short_name":"Landforms","childNodes":"0","parentPath":"00164-00081-00001"},{"cat_id":"173","cat_name":"Physical Geography","short_name":"Physical Geography","childNodes":"0","parentPath":"00164-00081-00001"},{"cat_id":"174","cat_name":"U.S. Geography","short_name":"U.S. Geography","childNodes":"0","parentPath":"00164-00081-00001"},{"cat_id":"175","cat_name":"Urban Geography","short_name":"Urban Geography","childNodes":"0","parentPath":"00164-00081-00001"},{"cat_id":"176","cat_name":"Weather and Climate","short_name":"Weather and Climate","childNodes":"0","parentPath":"00164-00081-00001"},{"cat_id":"177","cat_name":"World Capitals","short_name":"World Capitals","childNodes":"0","parentPath":"00164-00081-00001"},{"cat_id":"178","cat_name":"World Geography","short_name":"World Geography","childNodes":"0","parentPath":"00164-00081-00001"}]},{"cat_id":"179","cat_name":"History","short_name":"History","childNodes":"20","parentPath":"00081-00001","sub_categories":[{"cat_id":"180","cat_name":"African History","short_name":"African History","childNodes":"0","parentPath":"00179-00081-00001"},{"cat_id":"181","cat_name":"American West","short_name":"American West","childNodes":"0","parentPath":"00179-00081-00001"},{"cat_id":"182","cat_name":"Ancient Greece","short_name":"Ancient Greece","childNodes":"0","parentPath":"00179-00081-00001"},{"cat_id":"183","cat_name":"Ancient History","short_name":"Ancient History","childNodes":"0","parentPath":"00179-00081-00001"},{"cat_id":"184","cat_name":"Ancient Rome","short_name":"Ancient Rome","childNodes":"0","parentPath":"00179-00081-00001"},{"cat_id":"185","cat_name":"British History","short_name":"British History","childNodes":"0","parentPath":"00179-00081-00001"},{"cat_id":"186","cat_name":"Chinese History","short_name":"Chinese History","childNodes":"0","parentPath":"00179-00081-00001"},{"cat_id":"187","cat_name":"Christian History","short_name":"Christian History","childNodes":"0","parentPath":"00179-00081-00001"},{"cat_id":"188","cat_name":"Cold War","short_name":"Cold War","childNodes":"0","parentPath":"00179-00081-00001"},{"cat_id":"189","cat_name":"European History","short_name":"European History","childNodes":"0","parentPath":"00179-00081-00001"},{"cat_id":"190","cat_name":"Islamic History","short_name":"Islamic History","childNodes":"0","parentPath":"00179-00081-00001"},{"cat_id":"191","cat_name":"Jewish History","short_name":"Jewish History","childNodes":"0","parentPath":"00179-00081-00001"},{"cat_id":"192","cat_name":"Latin American History","short_name":"Latin American History","childNodes":"0","parentPath":"00179-00081-00001"},{"cat_id":"193","cat_name":"Medieval History","short_name":"Medieval History","childNodes":"0","parentPath":"00179-00081-00001"},{"cat_id":"194","cat_name":"Modern World History","short_name":"Modern World History","childNodes":"0","parentPath":"00179-00081-00001"},{"cat_id":"195","cat_name":"US History","short_name":"US History","childNodes":"0","parentPath":"00179-00081-00001"},{"cat_id":"196","cat_name":"Western Civilization","short_name":"Western Civilization","childNodes":"0","parentPath":"00179-00081-00001"},{"cat_id":"197","cat_name":"Womens History","short_name":"Womens History","childNodes":"0","parentPath":"00179-00081-00001"},{"cat_id":"198","cat_name":"World Civilizations","short_name":"World Civilizations","childNodes":"0","parentPath":"00179-00081-00001"},{"cat_id":"199","cat_name":"World History","short_name":"World History","childNodes":"0","parentPath":"00179-00081-00001"}]},{"cat_id":"82","cat_name":"Philosophy","short_name":"Philosophy","childNodes":"7","parentPath":"00081-00001","sub_categories":[{"cat_id":"83","cat_name":"Critical Thinking","short_name":"Critical Thinking","childNodes":"0","parentPath":"00082-00081-00001"},{"cat_id":"84","cat_name":"Ethics","short_name":"Ethics","childNodes":"0","parentPath":"00082-00081-00001"},{"cat_id":"85","cat_name":"Intro Philosophy","short_name":"Intro Philosophy","childNodes":"0","parentPath":"00082-00081-00001"},{"cat_id":"86","cat_name":"Logic","short_name":"Logic","childNodes":"0","parentPath":"00082-00081-00001"},{"cat_id":"87","cat_name":"Philosophy","short_name":"Philosophy","childNodes":"0","parentPath":"00082-00081-00001"},{"cat_id":"88","cat_name":"Plato","short_name":"Plato","childNodes":"0","parentPath":"00082-00081-00001"},{"cat_id":"89","cat_name":"Rhetoric","short_name":"Rhetoric","childNodes":"0","parentPath":"00082-00081-00001"}]},{"cat_id":"200","cat_name":"Political Science","short_name":"Political Science","childNodes":"17","parentPath":"00081-00001","sub_categories":[{"cat_id":"201","cat_name":"American Government","short_name":"American Government","childNodes":"0","parentPath":"00200-00081-00001"},{"cat_id":"202","cat_name":"Comparative Politics","short_name":"Comparative Politics","childNodes":"0","parentPath":"00200-00081-00001"},{"cat_id":"203","cat_name":"Foreign Policy","short_name":"Foreign Policy","childNodes":"0","parentPath":"00200-00081-00001"},{"cat_id":"204","cat_name":"Global Issues","short_name":"Global Issues","childNodes":"0","parentPath":"00200-00081-00001"},{"cat_id":"205","cat_name":"Human Rights","short_name":"Human Rights","childNodes":"0","parentPath":"00200-00081-00001"},{"cat_id":"206","cat_name":"International Political Economy","short_name":"International Political Economy","childNodes":"0","parentPath":"00200-00081-00001"},{"cat_id":"207","cat_name":"International Relations","short_name":"International Relations","childNodes":"0","parentPath":"00200-00081-00001"},{"cat_id":"208","cat_name":"Intro Political Science","short_name":"Intro Political Science","childNodes":"0","parentPath":"00200-00081-00001"},{"cat_id":"209","cat_name":"Policy Analysis","short_name":"Policy Analysis","childNodes":"0","parentPath":"00200-00081-00001"},{"cat_id":"210","cat_name":"Political Science","short_name":"Political Science","childNodes":"0","parentPath":"00200-00081-00001"},{"cat_id":"211","cat_name":"Presidency","short_name":"Presidency","childNodes":"0","parentPath":"00200-00081-00001"},{"cat_id":"212","cat_name":"Public Administration","short_name":"Public Administration","childNodes":"0","parentPath":"00200-00081-00001"},{"cat_id":"213","cat_name":"Public Policy","short_name":"Public Policy","childNodes":"0","parentPath":"00200-00081-00001"},{"cat_id":"214","cat_name":"Social Justice","short_name":"Social Justice","childNodes":"0","parentPath":"00200-00081-00001"},{"cat_id":"215","cat_name":"Terrorism","short_name":"Terrorism","childNodes":"0","parentPath":"00200-00081-00001"},{"cat_id":"216","cat_name":"UK Politics","short_name":"UK Politics","childNodes":"0","parentPath":"00200-00081-00001"},{"cat_id":"217","cat_name":"US Congress Leadership","short_name":"US Congress Leadership","childNodes":"0","parentPath":"00200-00081-00001"}]},{"cat_id":"218","cat_name":"Psychology","short_name":"Psychology","childNodes":"53","parentPath":"00081-00001","sub_categories":[{"cat_id":"219","cat_name":"Behavior Analysis","short_name":"Behavior Analysis","childNodes":"0","parentPath":"00218-00081-00001"},{"cat_id":"220","cat_name":"Behavioral Neuroscience","short_name":"Behavioral Neuroscience","childNodes":"0","parentPath":"00218-00081-00001"},{"cat_id":"221","cat_name":"Behavioral Statistics","short_name":"Behavioral Statistics","childNodes":"0","parentPath":"00218-00081-00001"},{"cat_id":"222","cat_name":"Biological Psychology","short_name":"Biological Psychology","childNodes":"0","parentPath":"00218-00081-00001"},{"cat_id":"223","cat_name":"Biopsychology","short_name":"Biopsychology","childNodes":"0","parentPath":"00218-00081-00001"},{"cat_id":"224","cat_name":"Brain and Behavior","short_name":"Brain and Behavior","childNodes":"0","parentPath":"00218-00081-00001"},{"cat_id":"225","cat_name":"Child Development","short_name":"Child Development","childNodes":"0","parentPath":"00218-00081-00001"},{"cat_id":"226","cat_name":"Child Psychology","short_name":"Child Psychology","childNodes":"0","parentPath":"00218-00081-00001"},{"cat_id":"227","cat_name":"Clinical Psychology","short_name":"Clinical Psychology","childNodes":"0","parentPath":"00218-00081-00001"},{"cat_id":"228","cat_name":"Cognitive Biases","short_name":"Cognitive Biases","childNodes":"0","parentPath":"00218-00081-00001"},{"cat_id":"229","cat_name":"Cognitive Neuroscience","short_name":"Cognitive Neuroscience","childNodes":"0","parentPath":"00218-00081-00001"},{"cat_id":"230","cat_name":"Cognitive Psychology","short_name":"Cognitive Psychology","childNodes":"0","parentPath":"00218-00081-00001"},{"cat_id":"231","cat_name":"Cognitive Science","short_name":"Cognitive Science","childNodes":"0","parentPath":"00218-00081-00001"},{"cat_id":"232","cat_name":"Community Psychology","short_name":"Community Psychology","childNodes":"0","parentPath":"00218-00081-00001"},{"cat_id":"233","cat_name":"Cultural Psychology","short_name":"Cultural Psychology","childNodes":"0","parentPath":"00218-00081-00001"},{"cat_id":"234","cat_name":"Developmental Psychology","short_name":"Developmental Psychology","childNodes":"0","parentPath":"00218-00081-00001"},{"cat_id":"235","cat_name":"Drugs and Behavior","short_name":"Drugs and Behavior","childNodes":"0","parentPath":"00218-00081-00001"},{"cat_id":"236","cat_name":"DSM","short_name":"DSM","childNodes":"0","parentPath":"00218-00081-00001"},{"cat_id":"237","cat_name":"DSM-5","short_name":"DSM-5","childNodes":"0","parentPath":"00218-00081-00001"},{"cat_id":"238","cat_name":"Educational Psychology","short_name":"Educational Psychology","childNodes":"0","parentPath":"00218-00081-00001"},{"cat_id":"239","cat_name":"Environmental Psychology","short_name":"Environmental Psychology","childNodes":"0","parentPath":"00218-00081-00001"},{"cat_id":"240","cat_name":"Evolutionary Psychology","short_name":"Evolutionary Psychology","childNodes":"0","parentPath":"00218-00081-00001"},{"cat_id":"241","cat_name":"Experimental Psychology","short_name":"Experimental Psychology","childNodes":"0","parentPath":"00218-00081-00001"},{"cat_id":"242","cat_name":"Forensic Pscyhology","short_name":"Forensic Pscyhology","childNodes":"0","parentPath":"00218-00081-00001"},{"cat_id":"243","cat_name":"Gender Psychology","short_name":"Gender Psychology","childNodes":"0","parentPath":"00218-00081-00001"},{"cat_id":"244","cat_name":"General Psychology","short_name":"General Psychology","childNodes":"0","parentPath":"00218-00081-00001"},{"cat_id":"245","cat_name":"Health Psychology","short_name":"Health Psychology","childNodes":"0","parentPath":"00218-00081-00001"},{"cat_id":"246","cat_name":"Human Behavior","short_name":"Human Behavior","childNodes":"0","parentPath":"00218-00081-00001"},{"cat_id":"247","cat_name":"Human Sexuality","short_name":"Human Sexuality","childNodes":"0","parentPath":"00218-00081-00001"},{"cat_id":"248","cat_name":"Industrial Psychology","short_name":"Industrial Psychology","childNodes":"0","parentPath":"00218-00081-00001"},{"cat_id":"249","cat_name":"Intro Psychology","short_name":"Intro Psychology","childNodes":"0","parentPath":"00218-00081-00001"},{"cat_id":"250","cat_name":"Language Development","short_name":"Language Development","childNodes":"0","parentPath":"00218-00081-00001"},{"cat_id":"251","cat_name":"Learning and Memory","short_name":"Learning and Memory","childNodes":"0","parentPath":"00218-00081-00001"},{"cat_id":"252","cat_name":"Lifespan Psychology","short_name":"Lifespan Psychology","childNodes":"0","parentPath":"00218-00081-00001"},{"cat_id":"253","cat_name":"Neuropsychology","short_name":"Neuropsychology","childNodes":"0","parentPath":"00218-00081-00001"},{"cat_id":"254","cat_name":"Phonology","short_name":"Phonology","childNodes":"0","parentPath":"00218-00081-00001"},{"cat_id":"255","cat_name":"Positive Psychology","short_name":"Positive Psychology","childNodes":"0","parentPath":"00218-00081-00001"},{"cat_id":"256","cat_name":"Psychobiology","short_name":"Psychobiology","childNodes":"0","parentPath":"00218-00081-00001"},{"cat_id":"257","cat_name":"Psychological Assessment","short_name":"Psychological Assessment","childNodes":"0","parentPath":"00218-00081-00001"},{"cat_id":"258","cat_name":"Psychological Statistics","short_name":"Psychological Statistics","childNodes":"0","parentPath":"00218-00081-00001"},{"cat_id":"259","cat_name":"Psychological Testing","short_name":"Psychological Testing","childNodes":"0","parentPath":"00218-00081-00001"},{"cat_id":"260","cat_name":"Psychology","short_name":"Psychology","childNodes":"0","parentPath":"00218-00081-00001"},{"cat_id":"261","cat_name":"Psychology Ethics","short_name":"Psychology Ethics","childNodes":"0","parentPath":"00218-00081-00001"},{"cat_id":"262","cat_name":"Psychopathology","short_name":"Psychopathology","childNodes":"0","parentPath":"00218-00081-00001"},{"cat_id":"263","cat_name":"Psychopharmacology","short_name":"Psychopharmacology","childNodes":"0","parentPath":"00218-00081-00001"},{"cat_id":"264","cat_name":"Psychosocial","short_name":"Psychosocial","childNodes":"0","parentPath":"00218-00081-00001"},{"cat_id":"265","cat_name":"Psychotherapy","short_name":"Psychotherapy","childNodes":"0","parentPath":"00218-00081-00001"},{"cat_id":"266","cat_name":"Psychotropic Drugs","short_name":"Psychotropic Drugs","childNodes":"0","parentPath":"00218-00081-00001"},{"cat_id":"267","cat_name":"Research Methods in Psych","short_name":"Research Methods in Psych","childNodes":"0","parentPath":"00218-00081-00001"},{"cat_id":"268","cat_name":"Sensation and Perception","short_name":"Sensation and Perception","childNodes":"0","parentPath":"00218-00081-00001"},{"cat_id":"269","cat_name":"Social Psychology","short_name":"Social Psychology","childNodes":"0","parentPath":"00218-00081-00001"},{"cat_id":"270","cat_name":"The Brain","short_name":"The Brain","childNodes":"0","parentPath":"00218-00081-00001"},{"cat_id":"271","cat_name":"Theories of Personality","short_name":"Theories of Personality","childNodes":"0","parentPath":"00218-00081-00001"}]},{"cat_id":"272","cat_name":"Religion and Bible","short_name":"Religion and Bible","childNodes":"19","parentPath":"00081-00001","sub_categories":[{"cat_id":"273","cat_name":"Aramaic","short_name":"Aramaic","childNodes":"0","parentPath":"00272-00081-00001"},{"cat_id":"274","cat_name":"Bible","short_name":"Bible","childNodes":"0","parentPath":"00272-00081-00001"},{"cat_id":"275","cat_name":"Bible Verses","short_name":"Bible Verses","childNodes":"0","parentPath":"00272-00081-00001"},{"cat_id":"276","cat_name":"Biblical Greek","short_name":"Biblical Greek","childNodes":"0","parentPath":"00272-00081-00001"},{"cat_id":"277","cat_name":"Buddhism","short_name":"Buddhism","childNodes":"0","parentPath":"00272-00081-00001"},{"cat_id":"278","cat_name":"Catholicism","short_name":"Catholicism","childNodes":"0","parentPath":"00272-00081-00001"},{"cat_id":"279","cat_name":"Christianity","short_name":"Christianity","childNodes":"0","parentPath":"00272-00081-00001"},{"cat_id":"280","cat_name":"Hebrew","short_name":"Hebrew","childNodes":"0","parentPath":"00272-00081-00001"},{"cat_id":"281","cat_name":"Hinduism","short_name":"Hinduism","childNodes":"0","parentPath":"00272-00081-00001"},{"cat_id":"282","cat_name":"Islam","short_name":"Islam","childNodes":"0","parentPath":"00272-00081-00001"},{"cat_id":"283","cat_name":"Judaism","short_name":"Judaism","childNodes":"0","parentPath":"00272-00081-00001"},{"cat_id":"284","cat_name":"New Testament","short_name":"New Testament","childNodes":"0","parentPath":"00272-00081-00001"},{"cat_id":"285","cat_name":"Old Testament","short_name":"Old Testament","childNodes":"0","parentPath":"00272-00081-00001"},{"cat_id":"286","cat_name":"Quran","short_name":"Quran","childNodes":"0","parentPath":"00272-00081-00001"},{"cat_id":"287","cat_name":"Religion","short_name":"Religion","childNodes":"0","parentPath":"00272-00081-00001"},{"cat_id":"288","cat_name":"Religious Studies","short_name":"Religious Studies","childNodes":"0","parentPath":"00272-00081-00001"},{"cat_id":"289","cat_name":"Sanskrit","short_name":"Sanskrit","childNodes":"0","parentPath":"00272-00081-00001"},{"cat_id":"290","cat_name":"Theology","short_name":"Theology","childNodes":"0","parentPath":"00272-00081-00001"},{"cat_id":"291","cat_name":"Torah","short_name":"Torah","childNodes":"0","parentPath":"00272-00081-00001"}]},{"cat_id":"309","cat_name":"Social Studies","short_name":"Social Studies","childNodes":"0","parentPath":"00081-00001"},{"cat_id":"310","cat_name":"Social Work","short_name":"Social Work","childNodes":"0","parentPath":"00081-00001"},{"cat_id":"292","cat_name":"Sociology","short_name":"Sociology","childNodes":"14","parentPath":"00081-00001","sub_categories":[{"cat_id":"293","cat_name":"Civil Rights","short_name":"Civil Rights","childNodes":"0","parentPath":"00292-00081-00001"},{"cat_id":"294","cat_name":"Cultural Diversity","short_name":"Cultural Diversity","childNodes":"0","parentPath":"00292-00081-00001"},{"cat_id":"295","cat_name":"Gender Studies","short_name":"Gender Studies","childNodes":"0","parentPath":"00292-00081-00001"},{"cat_id":"296","cat_name":"Group Dynamcis","short_name":"Group Dynamcis","childNodes":"0","parentPath":"00292-00081-00001"},{"cat_id":"297","cat_name":"Intro Sociology","short_name":"Intro Sociology","childNodes":"0","parentPath":"00292-00081-00001"},{"cat_id":"298","cat_name":"Juvenile Delinquency","short_name":"Juvenile Delinquency","childNodes":"0","parentPath":"00292-00081-00001"},{"cat_id":"299","cat_name":"Marriage & Family","short_name":"Marriage & Family","childNodes":"0","parentPath":"00292-00081-00001"},{"cat_id":"300","cat_name":"Mass Media Sociology","short_name":"Mass Media Sociology","childNodes":"0","parentPath":"00292-00081-00001"},{"cat_id":"301","cat_name":"Medical Sociology","short_name":"Medical Sociology","childNodes":"0","parentPath":"00292-00081-00001"},{"cat_id":"302","cat_name":"Social Control","short_name":"Social Control","childNodes":"0","parentPath":"00292-00081-00001"},{"cat_id":"303","cat_name":"Social Institutions","short_name":"Social Institutions","childNodes":"0","parentPath":"00292-00081-00001"},{"cat_id":"304","cat_name":"Sociology","short_name":"Sociology","childNodes":"0","parentPath":"00292-00081-00001"},{"cat_id":"305","cat_name":"Subcultures","short_name":"Subcultures","childNodes":"0","parentPath":"00292-00081-00001"},{"cat_id":"306","cat_name":"Youth Subcultures","short_name":"Youth Subcultures","childNodes":"0","parentPath":"00292-00081-00001"}]}]},{"cat_id":"623","cat_name":"Languages","short_name":"Languages","childNodes":"3","parentPath":"00001","sub_categories":[{"cat_id":"626","cat_name":"Africans","short_name":"Africans","childNodes":"0","parentPath":"00623-00001"},{"cat_id":"624","cat_name":"Xkhosa","short_name":"Xkhosa","childNodes":"0","parentPath":"00623-00001"},{"cat_id":"625","cat_name":"Zulu","short_name":"Zulu","childNodes":"0","parentPath":"00623-00001"}]},{"cat_id":"366","cat_name":"Law","short_name":"Law","childNodes":"29","parentPath":"00001","sub_categories":[{"cat_id":"368","cat_name":"Bankruptcy","short_name":"Bankruptcy","childNodes":"0","parentPath":"00366-00001"},{"cat_id":"369","cat_name":"Bar Exam","short_name":"Bar Exam","childNodes":"0","parentPath":"00366-00001"},{"cat_id":"370","cat_name":"Business Law","short_name":"Business Law","childNodes":"0","parentPath":"00366-00001"},{"cat_id":"371","cat_name":"California Bar Exam","short_name":"California Bar Exam","childNodes":"0","parentPath":"00366-00001"},{"cat_id":"372","cat_name":"CIPP Exam","short_name":"CIPP Exam","childNodes":"0","parentPath":"00366-00001"},{"cat_id":"373","cat_name":"Civil Procedure","short_name":"Civil Procedure","childNodes":"0","parentPath":"00366-00001"},{"cat_id":"374","cat_name":"Constitutional Law","short_name":"Constitutional Law","childNodes":"0","parentPath":"00366-00001"},{"cat_id":"375","cat_name":"Contract Law","short_name":"Contract Law","childNodes":"0","parentPath":"00366-00001"},{"cat_id":"376","cat_name":"Corporate Law","short_name":"Corporate Law","childNodes":"0","parentPath":"00366-00001"},{"cat_id":"377","cat_name":"Criminal Law","short_name":"Criminal Law","childNodes":"0","parentPath":"00366-00001"},{"cat_id":"378","cat_name":"Evidence","short_name":"Evidence","childNodes":"0","parentPath":"00366-00001"},{"cat_id":"379","cat_name":"Family Law","short_name":"Family Law","childNodes":"0","parentPath":"00366-00001"},{"cat_id":"380","cat_name":"Florida Bar Exam","short_name":"Florida Bar Exam","childNodes":"0","parentPath":"00366-00001"},{"cat_id":"381","cat_name":"Insurance Law","short_name":"Insurance Law","childNodes":"0","parentPath":"00366-00001"},{"cat_id":"382","cat_name":"Intellectual Property","short_name":"Intellectual Property","childNodes":"0","parentPath":"00366-00001"},{"cat_id":"383","cat_name":"International Law","short_name":"International Law","childNodes":"0","parentPath":"00366-00001"},{"cat_id":"384","cat_name":"Law","short_name":"Law","childNodes":"0","parentPath":"00366-00001"},{"cat_id":"385","cat_name":"Law & Ethics","short_name":"Law & Ethics","childNodes":"0","parentPath":"00366-00001"},{"cat_id":"386","cat_name":"Legal Studies","short_name":"Legal Studies","childNodes":"0","parentPath":"00366-00001"},{"cat_id":"367","cat_name":"Legislation Acts Policies","short_name":"Legislation Acts Policies","childNodes":"0","parentPath":"00366-00001"},{"cat_id":"387","cat_name":"Litigation","short_name":"Litigation","childNodes":"0","parentPath":"00366-00001"},{"cat_id":"388","cat_name":"MBE","short_name":"MBE","childNodes":"0","parentPath":"00366-00001"},{"cat_id":"389","cat_name":"MPRE","short_name":"MPRE","childNodes":"0","parentPath":"00366-00001"},{"cat_id":"390","cat_name":"Pharmacy Law","short_name":"Pharmacy Law","childNodes":"0","parentPath":"00366-00001"},{"cat_id":"391","cat_name":"Property Law","short_name":"Property Law","childNodes":"0","parentPath":"00366-00001"},{"cat_id":"392","cat_name":"Real Estate Law","short_name":"Real Estate Law","childNodes":"0","parentPath":"00366-00001"},{"cat_id":"393","cat_name":"Texas Bar Exam","short_name":"Texas Bar Exam","childNodes":"0","parentPath":"00366-00001"},{"cat_id":"394","cat_name":"Torts","short_name":"Torts","childNodes":"0","parentPath":"00366-00001"},{"cat_id":"395","cat_name":"Trusts & Estates","short_name":"Trusts & Estates","childNodes":"0","parentPath":"00366-00001"}]},{"cat_id":"311","cat_name":"Mathematics","short_name":"Mathematics","childNodes":"13","parentPath":"00001","sub_categories":[{"cat_id":"312","cat_name":"Algebra","short_name":"Algebra","childNodes":"0","parentPath":"00311-00001"},{"cat_id":"313","cat_name":"Algebra II","short_name":"Algebra II","childNodes":"0","parentPath":"00311-00001"},{"cat_id":"314","cat_name":"Arithmetic","short_name":"Arithmetic","childNodes":"0","parentPath":"00311-00001"},{"cat_id":"315","cat_name":"Calculus","short_name":"Calculus","childNodes":"0","parentPath":"00311-00001"},{"cat_id":"316","cat_name":"Geometry","short_name":"Geometry","childNodes":"0","parentPath":"00311-00001"},{"cat_id":"317","cat_name":"Linear Algebra","short_name":"Linear Algebra","childNodes":"0","parentPath":"00311-00001"},{"cat_id":"318","cat_name":"Math","short_name":"Math","childNodes":"0","parentPath":"00311-00001"},{"cat_id":"319","cat_name":"Multiplication Tables","short_name":"Multiplication Tables","childNodes":"0","parentPath":"00311-00001"},{"cat_id":"320","cat_name":"Precalculus","short_name":"Precalculus","childNodes":"0","parentPath":"00311-00001"},{"cat_id":"321","cat_name":"Probability","short_name":"Probability","childNodes":"0","parentPath":"00311-00001"},{"cat_id":"322","cat_name":"Statistical Methods","short_name":"Statistical Methods","childNodes":"0","parentPath":"00311-00001"},{"cat_id":"323","cat_name":"Statistics","short_name":"Statistics","childNodes":"0","parentPath":"00311-00001"},{"cat_id":"324","cat_name":"Trigonometry","short_name":"Trigonometry","childNodes":"0","parentPath":"00311-00001"}]},{"cat_id":"325","cat_name":"Medical & Nursing","short_name":"Medical & Nursing","childNodes":"15","parentPath":"00001","sub_categories":[{"cat_id":"326","cat_name":"Anatomy","short_name":"Anatomy","childNodes":"0","parentPath":"00325-00001"},{"cat_id":"327","cat_name":"Body Systems","short_name":"Body Systems","childNodes":"0","parentPath":"00325-00001"},{"cat_id":"328","cat_name":"Dentistry","short_name":"Dentistry","childNodes":"0","parentPath":"00325-00001"},{"cat_id":"329","cat_name":"Medical Courses & Subject Areas","short_name":"Medical Courses & Subject Areas","childNodes":"0","parentPath":"00325-00001"},{"cat_id":"330","cat_name":"Medical Exams","short_name":"Medical Exams","childNodes":"0","parentPath":"00325-00001"},{"cat_id":"331","cat_name":"Medical Subspecialties","short_name":"Medical Subspecialties","childNodes":"0","parentPath":"00325-00001"},{"cat_id":"332","cat_name":"Medical Terminology","short_name":"Medical Terminology","childNodes":"0","parentPath":"00325-00001"},{"cat_id":"333","cat_name":"Misc Healthcare Topics","short_name":"Misc Healthcare Topics","childNodes":"0","parentPath":"00325-00001"},{"cat_id":"334","cat_name":"Nursing Courses & Subject Areas","short_name":"Nursing Courses & Subject Areas","childNodes":"0","parentPath":"00325-00001"},{"cat_id":"335","cat_name":"Nursing Subspecialties","short_name":"Nursing Subspecialties","childNodes":"0","parentPath":"00325-00001"},{"cat_id":"336","cat_name":"Other Healthcare Fields","short_name":"Other Healthcare Fields","childNodes":"0","parentPath":"00325-00001"},{"cat_id":"337","cat_name":"Pharmacology","short_name":"Pharmacology","childNodes":"0","parentPath":"00325-00001"},{"cat_id":"338","cat_name":"Physiology","short_name":"Physiology","childNodes":"0","parentPath":"00325-00001"},{"cat_id":"339","cat_name":"Radiology & Diagnostic Imaging","short_name":"Radiology & Diagnostic Imaging","childNodes":"0","parentPath":"00325-00001"},{"cat_id":"340","cat_name":"Veterinary","short_name":"Veterinary","childNodes":"0","parentPath":"00325-00001"}]},{"cat_id":"11","cat_name":"Professional Certifications","short_name":"Professional Certifications","childNodes":"11","parentPath":"00001","sub_categories":[{"cat_id":"12","cat_name":"Bar Exam","short_name":"Bar Exam","childNodes":"0","parentPath":"00011-00001"},{"cat_id":"13","cat_name":"Drivers Ed","short_name":"Drivers Ed","childNodes":"0","parentPath":"00011-00001"},{"cat_id":"14","cat_name":"Financial Exams","short_name":"Financial Exams","childNodes":"0","parentPath":"00011-00001"},{"cat_id":"15","cat_name":"Management Certifications","short_name":"Management Certifications","childNodes":"0","parentPath":"00011-00001"},{"cat_id":"16","cat_name":"Medical & Nursing Certifications","short_name":"Medical & Nursing Certifications","childNodes":"0","parentPath":"00011-00001"},{"cat_id":"17","cat_name":"Military Exams","short_name":"Military Exams","childNodes":"0","parentPath":"00011-00001"},{"cat_id":"18","cat_name":"MPRE","short_name":"MPRE","childNodes":"0","parentPath":"00011-00001"},{"cat_id":"19","cat_name":"Other Certifications","short_name":"Other Certifications","childNodes":"0","parentPath":"00011-00001"},{"cat_id":"20","cat_name":"Technology Certifications","short_name":"Technology Certifications","childNodes":"0","parentPath":"00011-00001"},{"cat_id":"21","cat_name":"TOEFL","short_name":"TOEFL","childNodes":"0","parentPath":"00011-00001"},{"cat_id":"22","cat_name":"Wine & Spirits","short_name":"Wine & Spirits","childNodes":"0","parentPath":"00011-00001"}]},{"cat_id":"611","cat_name":"Random Knowledge","short_name":"Random Knowledge","childNodes":"11","parentPath":"00001","sub_categories":[{"cat_id":"612","cat_name":"Astrology","short_name":"Astrology","childNodes":"0","parentPath":"00611-00001"},{"cat_id":"613","cat_name":"Blackjack","short_name":"Blackjack","childNodes":"0","parentPath":"00611-00001"},{"cat_id":"614","cat_name":"Cultural Literacy","short_name":"Cultural Literacy","childNodes":"0","parentPath":"00611-00001"},{"cat_id":"615","cat_name":"Knowledge Rehab","short_name":"Knowledge Rehab","childNodes":"0","parentPath":"00611-00001"},{"cat_id":"616","cat_name":"Mythology","short_name":"Mythology","childNodes":"0","parentPath":"00611-00001"},{"cat_id":"617","cat_name":"National Capitals","short_name":"National Capitals","childNodes":"0","parentPath":"00611-00001"},{"cat_id":"618","cat_name":"People You Should Know","short_name":"People You Should Know","childNodes":"0","parentPath":"00611-00001"},{"cat_id":"619","cat_name":"Poker","short_name":"Poker","childNodes":"0","parentPath":"00611-00001"},{"cat_id":"620","cat_name":"Quiz Bowl","short_name":"Quiz Bowl","childNodes":"0","parentPath":"00611-00001"},{"cat_id":"621","cat_name":"Sports Trivia","short_name":"Sports Trivia","childNodes":"0","parentPath":"00611-00001"},{"cat_id":"622","cat_name":"Tarot Cards","short_name":"Tarot Cards","childNodes":"0","parentPath":"00611-00001"}]},{"cat_id":"38","cat_name":"Science","short_name":"Science","childNodes":"25","parentPath":"00001","sub_categories":[{"cat_id":"39","cat_name":"Anatomy","short_name":"Anatomy","childNodes":"0","parentPath":"00038-00001"},{"cat_id":"40","cat_name":"Astronomy","short_name":"Astronomy","childNodes":"0","parentPath":"00038-00001"},{"cat_id":"41","cat_name":"Biochemistry","short_name":"Biochemistry","childNodes":"0","parentPath":"00038-00001"},{"cat_id":"42","cat_name":"Biology","short_name":"Biology","childNodes":"0","parentPath":"00038-00001"},{"cat_id":"43","cat_name":"Cellular Biology","short_name":"Cellular Biology","childNodes":"0","parentPath":"00038-00001"},{"cat_id":"44","cat_name":"Chemistry","short_name":"Chemistry","childNodes":"0","parentPath":"00038-00001"},{"cat_id":"45","cat_name":"Earth Science","short_name":"Earth Science","childNodes":"0","parentPath":"00038-00001"},{"cat_id":"46","cat_name":"Environmental Science","short_name":"Environmental Science","childNodes":"0","parentPath":"00038-00001"},{"cat_id":"47","cat_name":"Genetics","short_name":"Genetics","childNodes":"0","parentPath":"00038-00001"},{"cat_id":"48","cat_name":"Geology","short_name":"Geology","childNodes":"0","parentPath":"00038-00001"},{"cat_id":"49","cat_name":"Life Science","short_name":"Life Science","childNodes":"0","parentPath":"00038-00001"},{"cat_id":"50","cat_name":"Marine Biology","short_name":"Marine Biology","childNodes":"0","parentPath":"00038-00001"},{"cat_id":"51","cat_name":"Meteorology","short_name":"Meteorology","childNodes":"0","parentPath":"00038-00001"},{"cat_id":"52","cat_name":"Microbiology","short_name":"Microbiology","childNodes":"0","parentPath":"00038-00001"},{"cat_id":"53","cat_name":"Molecular Biology","short_name":"Molecular Biology","childNodes":"0","parentPath":"00038-00001"},{"cat_id":"54","cat_name":"Natural Science","short_name":"Natural Science","childNodes":"0","parentPath":"00038-00001"},{"cat_id":"55","cat_name":"Oceanography","short_name":"Oceanography","childNodes":"0","parentPath":"00038-00001"},{"cat_id":"56","cat_name":"Organic Chemistry","short_name":"Organic Chemistry","childNodes":"0","parentPath":"00038-00001"},{"cat_id":"57","cat_name":"Periodic Table","short_name":"Periodic Table","childNodes":"0","parentPath":"00038-00001"},{"cat_id":"58","cat_name":"Physical Science","short_name":"Physical Science","childNodes":"0","parentPath":"00038-00001"},{"cat_id":"59","cat_name":"Physics","short_name":"Physics","childNodes":"0","parentPath":"00038-00001"},{"cat_id":"60","cat_name":"Physiology","short_name":"Physiology","childNodes":"0","parentPath":"00038-00001"},{"cat_id":"61","cat_name":"Plant Science","short_name":"Plant Science","childNodes":"0","parentPath":"00038-00001"},{"cat_id":"62","cat_name":"Science Class","short_name":"Science Class","childNodes":"0","parentPath":"00038-00001"},{"cat_id":"63","cat_name":"Zoology","short_name":"Zoology","childNodes":"0","parentPath":"00038-00001"}]},{"cat_id":"525","cat_name":"Technology & Engineering","short_name":"Technology & Engineering","childNodes":"9","parentPath":"00001","sub_categories":[{"cat_id":"526","cat_name":"Architecture","short_name":"Architecture","childNodes":"0","parentPath":"00525-00001"},{"cat_id":"527","cat_name":"Biotechnology","short_name":"Biotechnology","childNodes":"0","parentPath":"00525-00001"},{"cat_id":"528","cat_name":"Computer Programming","short_name":"Computer Programming","childNodes":"22","parentPath":"00525-00001","sub_categories":[{"cat_id":"529","cat_name":"Agile","short_name":"Agile","childNodes":"1","parentPath":"00528-00525-00001","sub_categories":[{"cat_id":"628","cat_name":"test category","short_name":"test category","childNodes":"0","parentPath":"00529-00528-00525-00001"}]},{"cat_id":"530","cat_name":"AWS","short_name":"AWS","childNodes":"0","parentPath":"00528-00525-00001"},{"cat_id":"550","cat_name":"Brainscape Certified (\u00c2\u00a0See All\u00c2\u00a0)","short_name":"Brainscape Certified (\u00c2\u00a0See All\u00c2\u00a0)","childNodes":"0","parentPath":"00528-00525-00001"},{"cat_id":"531","cat_name":"Computer Programming","short_name":"Computer Programming","childNodes":"0","parentPath":"00528-00525-00001"},{"cat_id":"532","cat_name":"Cryptography","short_name":"Cryptography","childNodes":"0","parentPath":"00528-00525-00001"},{"cat_id":"533","cat_name":"Git Commands","short_name":"Git Commands","childNodes":"0","parentPath":"00528-00525-00001"},{"cat_id":"534","cat_name":"HTML","short_name":"HTML","childNodes":"0","parentPath":"00528-00525-00001"},{"cat_id":"535","cat_name":"Java","short_name":"Java","childNodes":"0","parentPath":"00528-00525-00001"},{"cat_id":"536","cat_name":"Javascript","short_name":"Javascript","childNodes":"0","parentPath":"00528-00525-00001"},{"cat_id":"537","cat_name":"Keyboard Shortcuts","short_name":"Keyboard Shortcuts","childNodes":"0","parentPath":"00528-00525-00001"},{"cat_id":"538","cat_name":"Kubernetes","short_name":"Kubernetes","childNodes":"0","parentPath":"00528-00525-00001"},{"cat_id":"539","cat_name":"Linux","short_name":"Linux","childNodes":"0","parentPath":"00528-00525-00001"},{"cat_id":"540","cat_name":"Mac OS","short_name":"Mac OS","childNodes":"0","parentPath":"00528-00525-00001"},{"cat_id":"541","cat_name":"Objective-C","short_name":"Objective-C","childNodes":"0","parentPath":"00528-00525-00001"},{"cat_id":"542","cat_name":"PHP","short_name":"PHP","childNodes":"0","parentPath":"00528-00525-00001"},{"cat_id":"543","cat_name":"Python","short_name":"Python","childNodes":"0","parentPath":"00528-00525-00001"},{"cat_id":"544","cat_name":"React","short_name":"React","childNodes":"0","parentPath":"00528-00525-00001"},{"cat_id":"545","cat_name":"Ruby","short_name":"Ruby","childNodes":"0","parentPath":"00528-00525-00001"},{"cat_id":"546","cat_name":"Ruby on Rails","short_name":"Ruby on Rails","childNodes":"0","parentPath":"00528-00525-00001"},{"cat_id":"547","cat_name":"Swift","short_name":"Swift","childNodes":"0","parentPath":"00528-00525-00001"},{"cat_id":"548","cat_name":"Tech Startup Genius","short_name":"Tech Startup Genius","childNodes":"0","parentPath":"00528-00525-00001"},{"cat_id":"549","cat_name":"Wordpress","short_name":"Wordpress","childNodes":"0","parentPath":"00528-00525-00001"}]},{"cat_id":"551","cat_name":"Computer Science","short_name":"Computer Science","childNodes":"28","parentPath":"00525-00001","sub_categories":[{"cat_id":"552","cat_name":"Algorithms","short_name":"Algorithms","childNodes":"1","parentPath":"00551-00525-00001","sub_categories":[{"cat_id":"630","cat_name":"               ","short_name":"               ","childNodes":"0","parentPath":"00552-00551-00525-00001"}]},{"cat_id":"553","cat_name":"Artificial Intelligence","short_name":"Artificial Intelligence","childNodes":"0","parentPath":"00551-00525-00001"},{"cat_id":"554","cat_name":"Computer Architecture","short_name":"Computer Architecture","childNodes":"0","parentPath":"00551-00525-00001"},{"cat_id":"555","cat_name":"Computer Concepts","short_name":"Computer Concepts","childNodes":"0","parentPath":"00551-00525-00001"},{"cat_id":"556","cat_name":"Computer Literacy","short_name":"Computer Literacy","childNodes":"0","parentPath":"00551-00525-00001"},{"cat_id":"557","cat_name":"Computer Science","short_name":"Computer Science","childNodes":"0","parentPath":"00551-00525-00001"},{"cat_id":"558","cat_name":"Computer Security","short_name":"Computer Security","childNodes":"0","parentPath":"00551-00525-00001"},{"cat_id":"559","cat_name":"Computer Systems","short_name":"Computer Systems","childNodes":"0","parentPath":"00551-00525-00001"},{"cat_id":"560","cat_name":"Computing","short_name":"Computing","childNodes":"0","parentPath":"00551-00525-00001"},{"cat_id":"561","cat_name":"Cybersecurity","short_name":"Cybersecurity","childNodes":"0","parentPath":"00551-00525-00001"},{"cat_id":"562","cat_name":"Data Mining","short_name":"Data Mining","childNodes":"0","parentPath":"00551-00525-00001"},{"cat_id":"563","cat_name":"Data Science","short_name":"Data Science","childNodes":"0","parentPath":"00551-00525-00001"},{"cat_id":"564","cat_name":"Data Structures","short_name":"Data Structures","childNodes":"0","parentPath":"00551-00525-00001"},{"cat_id":"565","cat_name":"Database","short_name":"Database","childNodes":"0","parentPath":"00551-00525-00001"},{"cat_id":"566","cat_name":"Database Management","short_name":"Database Management","childNodes":"0","parentPath":"00551-00525-00001"},{"cat_id":"567","cat_name":"Deep Learning","short_name":"Deep Learning","childNodes":"0","parentPath":"00551-00525-00001"},{"cat_id":"568","cat_name":"Discrete Structures","short_name":"Discrete Structures","childNodes":"0","parentPath":"00551-00525-00001"},{"cat_id":"569","cat_name":"Human Computer Interaction","short_name":"Human Computer Interaction","childNodes":"0","parentPath":"00551-00525-00001"},{"cat_id":"570","cat_name":"Informatics","short_name":"Informatics","childNodes":"0","parentPath":"00551-00525-00001"},{"cat_id":"571","cat_name":"Intro to Computers","short_name":"Intro to Computers","childNodes":"0","parentPath":"00551-00525-00001"},{"cat_id":"572","cat_name":"Machine Learning","short_name":"Machine Learning","childNodes":"0","parentPath":"00551-00525-00001"},{"cat_id":"573","cat_name":"Network Security","short_name":"Network Security","childNodes":"0","parentPath":"00551-00525-00001"},{"cat_id":"574","cat_name":"Networking","short_name":"Networking","childNodes":"0","parentPath":"00551-00525-00001"},{"cat_id":"575","cat_name":"Object Oriented Programming","short_name":"Object Oriented Programming","childNodes":"0","parentPath":"00551-00525-00001"},{"cat_id":"576","cat_name":"Operating Systems","short_name":"Operating Systems","childNodes":"0","parentPath":"00551-00525-00001"},{"cat_id":"577","cat_name":"Programming","short_name":"Programming","childNodes":"0","parentPath":"00551-00525-00001"},{"cat_id":"578","cat_name":"Robotics","short_name":"Robotics","childNodes":"0","parentPath":"00551-00525-00001"},{"cat_id":"579","cat_name":"Software Development","short_name":"Software Development","childNodes":"0","parentPath":"00551-00525-00001"}]},{"cat_id":"581","cat_name":"Engineering","short_name":"Engineering","childNodes":"12","parentPath":"00525-00001","sub_categories":[{"cat_id":"582","cat_name":"Amateur Radio","short_name":"Amateur Radio","childNodes":"0","parentPath":"00581-00525-00001"},{"cat_id":"583","cat_name":"Architecture","short_name":"Architecture","childNodes":"0","parentPath":"00581-00525-00001"},{"cat_id":"584","cat_name":"Circuits","short_name":"Circuits","childNodes":"0","parentPath":"00581-00525-00001"},{"cat_id":"585","cat_name":"Civil Engineering","short_name":"Civil Engineering","childNodes":"0","parentPath":"00581-00525-00001"},{"cat_id":"586","cat_name":"Construction","short_name":"Construction","childNodes":"0","parentPath":"00581-00525-00001"},{"cat_id":"587","cat_name":"Electrical Engineering","short_name":"Electrical Engineering","childNodes":"0","parentPath":"00581-00525-00001"},{"cat_id":"588","cat_name":"Engineering Science","short_name":"Engineering Science","childNodes":"0","parentPath":"00581-00525-00001"},{"cat_id":"589","cat_name":"Materials Science","short_name":"Materials Science","childNodes":"0","parentPath":"00581-00525-00001"},{"cat_id":"590","cat_name":"Mechanical Engineering","short_name":"Mechanical Engineering","childNodes":"0","parentPath":"00581-00525-00001"},{"cat_id":"591","cat_name":"Millwright","short_name":"Millwright","childNodes":"0","parentPath":"00581-00525-00001"},{"cat_id":"592","cat_name":"Morse Code","short_name":"Morse Code","childNodes":"0","parentPath":"00581-00525-00001"},{"cat_id":"593","cat_name":"Power Engineering","short_name":"Power Engineering","childNodes":"0","parentPath":"00581-00525-00001"}]},{"cat_id":"594","cat_name":"Graphic Design","short_name":"Graphic Design","childNodes":"0","parentPath":"00525-00001"},{"cat_id":"595","cat_name":"Information Security","short_name":"Information Security","childNodes":"0","parentPath":"00525-00001"},{"cat_id":"596","cat_name":"Information Technology","short_name":"Information Technology","childNodes":"0","parentPath":"00525-00001"},{"cat_id":"597","cat_name":"Management Information Systems","short_name":"Management Information Systems","childNodes":"0","parentPath":"00525-00001"}]},{"cat_id":"341","cat_name":"Vocations","short_name":"Vocations","childNodes":"24","parentPath":"00001","sub_categories":[{"cat_id":"342","cat_name":"ASVAB","short_name":"ASVAB","childNodes":"0","parentPath":"00341-00001"},{"cat_id":"343","cat_name":"Automotive","short_name":"Automotive","childNodes":"0","parentPath":"00341-00001"},{"cat_id":"344","cat_name":"Aviation","short_name":"Aviation","childNodes":"0","parentPath":"00341-00001"},{"cat_id":"345","cat_name":"Barbering","short_name":"Barbering","childNodes":"0","parentPath":"00341-00001"},{"cat_id":"346","cat_name":"Boating","short_name":"Boating","childNodes":"0","parentPath":"00341-00001"},{"cat_id":"347","cat_name":"Cosmetology","short_name":"Cosmetology","childNodes":"0","parentPath":"00341-00001"},{"cat_id":"348","cat_name":"Diamonds","short_name":"Diamonds","childNodes":"0","parentPath":"00341-00001"},{"cat_id":"349","cat_name":"Electrical","short_name":"Electrical","childNodes":"0","parentPath":"00341-00001"},{"cat_id":"350","cat_name":"Electrician","short_name":"Electrician","childNodes":"0","parentPath":"00341-00001"},{"cat_id":"351","cat_name":"Firefighting","short_name":"Firefighting","childNodes":"0","parentPath":"00341-00001"},{"cat_id":"352","cat_name":"Gardening","short_name":"Gardening","childNodes":"0","parentPath":"00341-00001"},{"cat_id":"353","cat_name":"Home Economics","short_name":"Home Economics","childNodes":"0","parentPath":"00341-00001"},{"cat_id":"354","cat_name":"Horticulture","short_name":"Horticulture","childNodes":"0","parentPath":"00341-00001"},{"cat_id":"355","cat_name":"HVAC","short_name":"HVAC","childNodes":"0","parentPath":"00341-00001"},{"cat_id":"356","cat_name":"Interior Design","short_name":"Interior Design","childNodes":"0","parentPath":"00341-00001"},{"cat_id":"357","cat_name":"Landscape Architecture","short_name":"Landscape Architecture","childNodes":"0","parentPath":"00341-00001"},{"cat_id":"358","cat_name":"Massage Therapy","short_name":"Massage Therapy","childNodes":"0","parentPath":"00341-00001"},{"cat_id":"359","cat_name":"Metallurgy","short_name":"Metallurgy","childNodes":"0","parentPath":"00341-00001"},{"cat_id":"360","cat_name":"Military","short_name":"Military","childNodes":"0","parentPath":"00341-00001"},{"cat_id":"361","cat_name":"Pest Control","short_name":"Pest Control","childNodes":"0","parentPath":"00341-00001"},{"cat_id":"362","cat_name":"Plumbing","short_name":"Plumbing","childNodes":"0","parentPath":"00341-00001"},{"cat_id":"363","cat_name":"Policing","short_name":"Policing","childNodes":"0","parentPath":"00341-00001"},{"cat_id":"364","cat_name":"Wastewater","short_name":"Wastewater","childNodes":"0","parentPath":"00341-00001"},{"cat_id":"365","cat_name":"Welding","short_name":"Welding","childNodes":"0","parentPath":"00341-00001"}]}]}
[13/Apr/2026:12:58:10] (root_api-) token =  IP = 122.167.187.129
[13/Apr/2026:12:58:10] (root_api-) 
[13/Apr/2026:12:58:10] (root_api-) OP=  of page root_api.php
[13/Apr/2026:12:58:10] (root_api-) Final JSON =  { "status":"error",
					"message":"Invalid Session",
					"Errorcode":"err100",
					"data":{}}
[13/Apr/2026:12:58:11] (root_api-) token = 66bbc87451ad3590b670daae13ee0619 IP = 122.167.187.129
[13/Apr/2026:12:58:11] (root_api-) op => getFrontCategoryMenu ,categoryId =>  ,clid => 66bbc87451ad3590b670daae13ee0619 ,serviceName => category_data ,
[13/Apr/2026:12:58:11] (root_api-) OP= getFrontCategoryMenu of page root_api.php
[13/Apr/2026:12:58:11] (root_api-) serviceName category_data
[13/Apr/2026:12:58:11] (root_api-) getFrontCategoryMenu : [1] get category with category default root.
[13/Apr/2026:12:58:11] (root_api-) Query~select ct.cat_id,ct.cat_name,ct.short_name,ct.`status`,
	fn_getChildCount(ct.cat_id) as childNodes,fn_getParentPath(ct.cat_id) as parentPath
	from tbl_category ct
	left join tbl_category ctp on ct.cat_parent_id = ctp.cat_id
	 where ct.cat_parent_id='1' AND ct.status = 'active'
	order by fn_getParentPath(ct.cat_id), ct.cat_name~2026-04-13 12:58:11:0411~2026-04-13 12:58:11~success
[13/Apr/2026:12:58:11] (root_api-) getFrontCategoryMenu : [1] get category with category default root.
[13/Apr/2026:12:58:11] (root_api-) Query~select ct.cat_id,ct.cat_name,ct.short_name,ct.`status`,
	fn_getChildCount(ct.cat_id) as childNodes,fn_getParentPath(ct.cat_id) as parentPath
	from tbl_category ct
	left join tbl_category ctp on ct.cat_parent_id = ctp.cat_id
	 where ct.cat_parent_id='410' AND ct.status = 'active'
	order by fn_getParentPath(ct.cat_id), ct.cat_name~2026-04-13 12:58:11:0411~2026-04-13 12:58:11~success
[13/Apr/2026:12:58:11] (root_api-) getFrontCategoryMenu : [1] get category with category default root.
[13/Apr/2026:12:58:11] (root_api-) Query~select ct.cat_id,ct.cat_name,ct.short_name,ct.`status`,
	fn_getChildCount(ct.cat_id) as childNodes,fn_getParentPath(ct.cat_id) as parentPath
	from tbl_category ct
	left join tbl_category ctp on ct.cat_parent_id = ctp.cat_id
	 where ct.cat_parent_id='411' AND ct.status = 'active'
	order by fn_getParentPath(ct.cat_id), ct.cat_name~2026-04-13 12:58:11:0411~2026-04-13 12:58:11~success
[13/Apr/2026:12:58:11] (root_api-) getFrontCategoryMenu : [1] get category with category default root.
[13/Apr/2026:12:58:11] (root_api-) Query~select ct.cat_id,ct.cat_name,ct.short_name,ct.`status`,
	fn_getChildCount(ct.cat_id) as childNodes,fn_getParentPath(ct.cat_id) as parentPath
	from tbl_category ct
	left join tbl_category ctp on ct.cat_parent_id = ctp.cat_id
	 where ct.cat_parent_id='433' AND ct.status = 'active'
	order by fn_getParentPath(ct.cat_id), ct.cat_name~2026-04-13 12:58:11:0411~2026-04-13 12:58:11~success
[13/Apr/2026:12:58:11] (root_api-) getFrontCategoryMenu : [1] get category with category default root.
[13/Apr/2026:12:58:11] (root_api-) Query~select ct.cat_id,ct.cat_name,ct.short_name,ct.`status`,
	fn_getChildCount(ct.cat_id) as childNodes,fn_getParentPath(ct.cat_id) as parentPath
	from tbl_category ct
	left join tbl_category ctp on ct.cat_parent_id = ctp.cat_id
	 where ct.cat_parent_id='458' AND ct.status = 'active'
	order by fn_getParentPath(ct.cat_id), ct.cat_name~2026-04-13 12:58:11:0411~2026-04-13 12:58:11~success
[13/Apr/2026:12:58:11] (root_api-) getFrontCategoryMenu : [1] get category with category default root.
[13/Apr/2026:12:58:11] (root_api-) Query~select ct.cat_id,ct.cat_name,ct.short_name,ct.`status`,
	fn_getChildCount(ct.cat_id) as childNodes,fn_getParentPath(ct.cat_id) as parentPath
	from tbl_category ct
	left join tbl_category ctp on ct.cat_parent_id = ctp.cat_id
	 where ct.cat_parent_id='485' AND ct.status = 'active'
	order by fn_getParentPath(ct.cat_id), ct.cat_name~2026-04-13 12:58:11:0411~2026-04-13 12:58:11~success
[13/Apr/2026:12:58:11] (root_api-) getFrontCategoryMenu : [1] get category with category default root.
[13/Apr/2026:12:58:11] (root_api-) Query~select ct.cat_id,ct.cat_name,ct.short_name,ct.`status`,
	fn_getChildCount(ct.cat_id) as childNodes,fn_getParentPath(ct.cat_id) as parentPath
	from tbl_category ct
	left join tbl_category ctp on ct.cat_parent_id = ctp.cat_id
	 where ct.cat_parent_id='499' AND ct.status = 'active'
	order by fn_getParentPath(ct.cat_id), ct.cat_name~2026-04-13 12:58:11:0411~2026-04-13 12:58:11~success
[13/Apr/2026:12:58:11] (root_api-) getFrontCategoryMenu : [1] get category with category default root.
[13/Apr/2026:12:58:11] (root_api-) Query~select ct.cat_id,ct.cat_name,ct.short_name,ct.`status`,
	fn_getChildCount(ct.cat_id) as childNodes,fn_getParentPath(ct.cat_id) as parentPath
	from tbl_category ct
	left join tbl_category ctp on ct.cat_parent_id = ctp.cat_id
	 where ct.cat_parent_id='514' AND ct.status = 'active'
	order by fn_getParentPath(ct.cat_id), ct.cat_name~2026-04-13 12:58:11:0411~2026-04-13 12:58:11~success
[13/Apr/2026:12:58:11] (root_api-) getFrontCategoryMenu : [1] get category with category default root.
[13/Apr/2026:12:58:11] (root_api-) Query~select ct.cat_id,ct.cat_name,ct.short_name,ct.`status`,
	fn_getChildCount(ct.cat_id) as childNodes,fn_getParentPath(ct.cat_id) as parentPath
	from tbl_category ct
	left join tbl_category ctp on ct.cat_parent_id = ctp.cat_id
	 where ct.cat_parent_id='64' AND ct.status = 'active'
	order by fn_getParentPath(ct.cat_id), ct.cat_name~2026-04-13 12:58:11:0411~2026-04-13 12:58:11~success
[13/Apr/2026:12:58:11] (root_api-) getFrontCategoryMenu : [1] get category with category default root.
[13/Apr/2026:12:58:11] (root_api-) Query~select ct.cat_id,ct.cat_name,ct.short_name,ct.`status`,
	fn_getChildCount(ct.cat_id) as childNodes,fn_getParentPath(ct.cat_id) as parentPath
	from tbl_category ct
	left join tbl_category ctp on ct.cat_parent_id = ctp.cat_id
	 where ct.cat_parent_id='2' AND ct.status = 'active'
	order by fn_getParentPath(ct.cat_id), ct.cat_name~2026-04-13 12:58:11:0411~2026-04-13 12:58:11~success
[13/Apr/2026:12:58:11] (root_api-) getFrontCategoryMenu : [1] get category with category default root.
[13/Apr/2026:12:58:11] (root_api-) Query~select ct.cat_id,ct.cat_name,ct.short_name,ct.`status`,
	fn_getChildCount(ct.cat_id) as childNodes,fn_getParentPath(ct.cat_id) as parentPath
	from tbl_category ct
	left join tbl_category ctp on ct.cat_parent_id = ctp.cat_id
	 where ct.cat_parent_id='605' AND ct.status = 'active'
	order by fn_getParentPath(ct.cat_id), ct.cat_name~2026-04-13 12:58:11:0411~2026-04-13 12:58:11~success
[13/Apr/2026:12:58:11] (root_api-) getFrontCategoryMenu : [1] get category with category default root.
[13/Apr/2026:12:58:11] (root_api-) Query~select ct.cat_id,ct.cat_name,ct.short_name,ct.`status`,
	fn_getChildCount(ct.cat_id) as childNodes,fn_getParentPath(ct.cat_id) as parentPath
	from tbl_category ct
	left join tbl_category ctp on ct.cat_parent_id = ctp.cat_id
	 where ct.cat_parent_id='598' AND ct.status = 'active'
	order by fn_getParentPath(ct.cat_id), ct.cat_name~2026-04-13 12:58:11:0411~2026-04-13 12:58:11~success
[13/Apr/2026:12:58:11] (root_api-) getFrontCategoryMenu : [1] get category with category default root.
[13/Apr/2026:12:58:11] (root_api-) Query~select ct.cat_id,ct.cat_name,ct.short_name,ct.`status`,
	fn_getChildCount(ct.cat_id) as childNodes,fn_getParentPath(ct.cat_id) as parentPath
	from tbl_category ct
	left join tbl_category ctp on ct.cat_parent_id = ctp.cat_id
	 where ct.cat_parent_id='23' AND ct.status = 'active'
	order by fn_getParentPath(ct.cat_id), ct.cat_name~2026-04-13 12:58:11:0411~2026-04-13 12:58:11~success
[13/Apr/2026:12:58:11] (root_api-) getFrontCategoryMenu : [1] get category with category default root.
[13/Apr/2026:12:58:11] (root_api-) Query~select ct.cat_id,ct.cat_name,ct.short_name,ct.`status`,
	fn_getChildCount(ct.cat_id) as childNodes,fn_getParentPath(ct.cat_id) as parentPath
	from tbl_category ct
	left join tbl_category ctp on ct.cat_parent_id = ctp.cat_id
	 where ct.cat_parent_id='396' AND ct.status = 'active'
	order by fn_getParentPath(ct.cat_id), ct.cat_name~2026-04-13 12:58:11:0411~2026-04-13 12:58:11~success
[13/Apr/2026:12:58:11] (root_api-) getFrontCategoryMenu : [1] get category with category default root.
[13/Apr/2026:12:58:11] (root_api-) Query~select ct.cat_id,ct.cat_name,ct.short_name,ct.`status`,
	fn_getChildCount(ct.cat_id) as childNodes,fn_getParentPath(ct.cat_id) as parentPath
	from tbl_category ct
	left join tbl_category ctp on ct.cat_parent_id = ctp.cat_id
	 where ct.cat_parent_id='81' AND ct.status = 'active'
	order by fn_getParentPath(ct.cat_id), ct.cat_name~2026-04-13 12:58:11:0411~2026-04-13 12:58:11~success
[13/Apr/2026:12:58:11] (root_api-) getFrontCategoryMenu : [1] get category with category default root.
[13/Apr/2026:12:58:11] (root_api-) Query~select ct.cat_id,ct.cat_name,ct.short_name,ct.`status`,
	fn_getChildCount(ct.cat_id) as childNodes,fn_getParentPath(ct.cat_id) as parentPath
	from tbl_category ct
	left join tbl_category ctp on ct.cat_parent_id = ctp.cat_id
	 where ct.cat_parent_id='90' AND ct.status = 'active'
	order by fn_getParentPath(ct.cat_id), ct.cat_name~2026-04-13 12:58:11:0411~2026-04-13 12:58:11~success
[13/Apr/2026:12:58:11] (root_api-) getFrontCategoryMenu : [1] get category with category default root.
[13/Apr/2026:12:58:11] (root_api-) Query~select ct.cat_id,ct.cat_name,ct.short_name,ct.`status`,
	fn_getChildCount(ct.cat_id) as childNodes,fn_getParentPath(ct.cat_id) as parentPath
	from tbl_category ct
	left join tbl_category ctp on ct.cat_parent_id = ctp.cat_id
	 where ct.cat_parent_id='107' AND ct.status = 'active'
	order by fn_getParentPath(ct.cat_id), ct.cat_name~2026-04-13 12:58:11:0411~2026-04-13 12:58:11~success
[13/Apr/2026:12:58:11] (root_api-) getFrontCategoryMenu : [1] get category with category default root.
[13/Apr/2026:12:58:11] (root_api-) Query~select ct.cat_id,ct.cat_name,ct.short_name,ct.`status`,
	fn_getChildCount(ct.cat_id) as childNodes,fn_getParentPath(ct.cat_id) as parentPath
	from tbl_category ct
	left join tbl_category ctp on ct.cat_parent_id = ctp.cat_id
	 where ct.cat_parent_id='117' AND ct.status = 'active'
	order by fn_getParentPath(ct.cat_id), ct.cat_name~2026-04-13 12:58:11:0411~2026-04-13 12:58:11~success
[13/Apr/2026:12:58:11] (root_api-) getFrontCategoryMenu : [1] get category with category default root.
[13/Apr/2026:12:58:11] (root_api-) Query~select ct.cat_id,ct.cat_name,ct.short_name,ct.`status`,
	fn_getChildCount(ct.cat_id) as childNodes,fn_getParentPath(ct.cat_id) as parentPath
	from tbl_category ct
	left join tbl_category ctp on ct.cat_parent_id = ctp.cat_id
	 where ct.cat_parent_id='137' AND ct.status = 'active'
	order by fn_getParentPath(ct.cat_id), ct.cat_name~2026-04-13 12:58:11:0411~2026-04-13 12:58:11~success
[13/Apr/2026:12:58:11] (root_api-) getFrontCategoryMenu : [1] get category with category default root.
[13/Apr/2026:12:58:11] (root_api-) Query~select ct.cat_id,ct.cat_name,ct.short_name,ct.`status`,
	fn_getChildCount(ct.cat_id) as childNodes,fn_getParentPath(ct.cat_id) as parentPath
	from tbl_category ct
	left join tbl_category ctp on ct.cat_parent_id = ctp.cat_id
	 where ct.cat_parent_id='138' AND ct.status = 'active'
	order by fn_getParentPath(ct.cat_id), ct.cat_name~2026-04-13 12:58:11:0411~2026-04-13 12:58:11~success
[13/Apr/2026:12:58:11] (root_api-) getFrontCategoryMenu : [1] get category with category default root.
[13/Apr/2026:12:58:11] (root_api-) Query~select ct.cat_id,ct.cat_name,ct.short_name,ct.`status`,
	fn_getChildCount(ct.cat_id) as childNodes,fn_getParentPath(ct.cat_id) as parentPath
	from tbl_category ct
	left join tbl_category ctp on ct.cat_parent_id = ctp.cat_id
	 where ct.cat_parent_id='144' AND ct.status = 'active'
	order by fn_getParentPath(ct.cat_id), ct.cat_name~2026-04-13 12:58:11:0411~2026-04-13 12:58:11~success
[13/Apr/2026:12:58:11] (root_api-) getFrontCategoryMenu : [1] get category with category default root.
[13/Apr/2026:12:58:11] (root_api-) Query~select ct.cat_id,ct.cat_name,ct.short_name,ct.`status`,
	fn_getChildCount(ct.cat_id) as childNodes,fn_getParentPath(ct.cat_id) as parentPath
	from tbl_category ct
	left join tbl_category ctp on ct.cat_parent_id = ctp.cat_id
	 where ct.cat_parent_id='164' AND ct.status = 'active'
	order by fn_getParentPath(ct.cat_id), ct.cat_name~2026-04-13 12:58:11:0411~2026-04-13 12:58:11~success
[13/Apr/2026:12:58:11] (root_api-) getFrontCategoryMenu : [1] get category with category default root.
[13/Apr/2026:12:58:11] (root_api-) Query~select ct.cat_id,ct.cat_name,ct.short_name,ct.`status`,
	fn_getChildCount(ct.cat_id) as childNodes,fn_getParentPath(ct.cat_id) as parentPath
	from tbl_category ct
	left join tbl_category ctp on ct.cat_parent_id = ctp.cat_id
	 where ct.cat_parent_id='179' AND ct.status = 'active'
	order by fn_getParentPath(ct.cat_id), ct.cat_name~2026-04-13 12:58:11:0411~2026-04-13 12:58:11~success
[13/Apr/2026:12:58:11] (root_api-) getFrontCategoryMenu : [1] get category with category default root.
[13/Apr/2026:12:58:11] (root_api-) Query~select ct.cat_id,ct.cat_name,ct.short_name,ct.`status`,
	fn_getChildCount(ct.cat_id) as childNodes,fn_getParentPath(ct.cat_id) as parentPath
	from tbl_category ct
	left join tbl_category ctp on ct.cat_parent_id = ctp.cat_id
	 where ct.cat_parent_id='82' AND ct.status = 'active'
	order by fn_getParentPath(ct.cat_id), ct.cat_name~2026-04-13 12:58:11:0411~2026-04-13 12:58:11~success
[13/Apr/2026:12:58:11] (root_api-) getFrontCategoryMenu : [1] get category with category default root.
[13/Apr/2026:12:58:11] (root_api-) Query~select ct.cat_id,ct.cat_name,ct.short_name,ct.`status`,
	fn_getChildCount(ct.cat_id) as childNodes,fn_getParentPath(ct.cat_id) as parentPath
	from tbl_category ct
	left join tbl_category ctp on ct.cat_parent_id = ctp.cat_id
	 where ct.cat_parent_id='200' AND ct.status = 'active'
	order by fn_getParentPath(ct.cat_id), ct.cat_name~2026-04-13 12:58:11:0411~2026-04-13 12:58:11~success
[13/Apr/2026:12:58:11] (root_api-) getFrontCategoryMenu : [1] get category with category default root.
[13/Apr/2026:12:58:11] (root_api-) Query~select ct.cat_id,ct.cat_name,ct.short_name,ct.`status`,
	fn_getChildCount(ct.cat_id) as childNodes,fn_getParentPath(ct.cat_id) as parentPath
	from tbl_category ct
	left join tbl_category ctp on ct.cat_parent_id = ctp.cat_id
	 where ct.cat_parent_id='218' AND ct.status = 'active'
	order by fn_getParentPath(ct.cat_id), ct.cat_name~2026-04-13 12:58:11:0411~2026-04-13 12:58:11~success
[13/Apr/2026:12:58:11] (root_api-) getFrontCategoryMenu : [1] get category with category default root.
[13/Apr/2026:12:58:11] (root_api-) Query~select ct.cat_id,ct.cat_name,ct.short_name,ct.`status`,
	fn_getChildCount(ct.cat_id) as childNodes,fn_getParentPath(ct.cat_id) as parentPath
	from tbl_category ct
	left join tbl_category ctp on ct.cat_parent_id = ctp.cat_id
	 where ct.cat_parent_id='272' AND ct.status = 'active'
	order by fn_getParentPath(ct.cat_id), ct.cat_name~2026-04-13 12:58:11:0411~2026-04-13 12:58:11~success
[13/Apr/2026:12:58:11] (root_api-) getFrontCategoryMenu : [1] get category with category default root.
[13/Apr/2026:12:58:11] (root_api-) Query~select ct.cat_id,ct.cat_name,ct.short_name,ct.`status`,
	fn_getChildCount(ct.cat_id) as childNodes,fn_getParentPath(ct.cat_id) as parentPath
	from tbl_category ct
	left join tbl_category ctp on ct.cat_parent_id = ctp.cat_id
	 where ct.cat_parent_id='292' AND ct.status = 'active'
	order by fn_getParentPath(ct.cat_id), ct.cat_name~2026-04-13 12:58:11:0411~2026-04-13 12:58:11~success
[13/Apr/2026:12:58:11] (root_api-) getFrontCategoryMenu : [1] get category with category default root.
[13/Apr/2026:12:58:11] (root_api-) Query~select ct.cat_id,ct.cat_name,ct.short_name,ct.`status`,
	fn_getChildCount(ct.cat_id) as childNodes,fn_getParentPath(ct.cat_id) as parentPath
	from tbl_category ct
	left join tbl_category ctp on ct.cat_parent_id = ctp.cat_id
	 where ct.cat_parent_id='623' AND ct.status = 'active'
	order by fn_getParentPath(ct.cat_id), ct.cat_name~2026-04-13 12:58:11:0411~2026-04-13 12:58:11~success
[13/Apr/2026:12:58:11] (root_api-) getFrontCategoryMenu : [1] get category with category default root.
[13/Apr/2026:12:58:11] (root_api-) Query~select ct.cat_id,ct.cat_name,ct.short_name,ct.`status`,
	fn_getChildCount(ct.cat_id) as childNodes,fn_getParentPath(ct.cat_id) as parentPath
	from tbl_category ct
	left join tbl_category ctp on ct.cat_parent_id = ctp.cat_id
	 where ct.cat_parent_id='366' AND ct.status = 'active'
	order by fn_getParentPath(ct.cat_id), ct.cat_name~2026-04-13 12:58:11:0411~2026-04-13 12:58:11~success
[13/Apr/2026:12:58:11] (root_api-) getFrontCategoryMenu : [1] get category with category default root.
[13/Apr/2026:12:58:11] (root_api-) Query~select ct.cat_id,ct.cat_name,ct.short_name,ct.`status`,
	fn_getChildCount(ct.cat_id) as childNodes,fn_getParentPath(ct.cat_id) as parentPath
	from tbl_category ct
	left join tbl_category ctp on ct.cat_parent_id = ctp.cat_id
	 where ct.cat_parent_id='311' AND ct.status = 'active'
	order by fn_getParentPath(ct.cat_id), ct.cat_name~2026-04-13 12:58:11:0411~2026-04-13 12:58:11~success
[13/Apr/2026:12:58:11] (root_api-) getFrontCategoryMenu : [1] get category with category default root.
[13/Apr/2026:12:58:11] (root_api-) Query~select ct.cat_id,ct.cat_name,ct.short_name,ct.`status`,
	fn_getChildCount(ct.cat_id) as childNodes,fn_getParentPath(ct.cat_id) as parentPath
	from tbl_category ct
	left join tbl_category ctp on ct.cat_parent_id = ctp.cat_id
	 where ct.cat_parent_id='325' AND ct.status = 'active'
	order by fn_getParentPath(ct.cat_id), ct.cat_name~2026-04-13 12:58:11:0411~2026-04-13 12:58:11~success
[13/Apr/2026:12:58:11] (root_api-) getFrontCategoryMenu : [1] get category with category default root.
[13/Apr/2026:12:58:11] (root_api-) Query~select ct.cat_id,ct.cat_name,ct.short_name,ct.`status`,
	fn_getChildCount(ct.cat_id) as childNodes,fn_getParentPath(ct.cat_id) as parentPath
	from tbl_category ct
	left join tbl_category ctp on ct.cat_parent_id = ctp.cat_id
	 where ct.cat_parent_id='11' AND ct.status = 'active'
	order by fn_getParentPath(ct.cat_id), ct.cat_name~2026-04-13 12:58:11:0411~2026-04-13 12:58:11~success
[13/Apr/2026:12:58:11] (root_api-) getFrontCategoryMenu : [1] get category with category default root.
[13/Apr/2026:12:58:11] (root_api-) Query~select ct.cat_id,ct.cat_name,ct.short_name,ct.`status`,
	fn_getChildCount(ct.cat_id) as childNodes,fn_getParentPath(ct.cat_id) as parentPath
	from tbl_category ct
	left join tbl_category ctp on ct.cat_parent_id = ctp.cat_id
	 where ct.cat_parent_id='611' AND ct.status = 'active'
	order by fn_getParentPath(ct.cat_id), ct.cat_name~2026-04-13 12:58:11:0411~2026-04-13 12:58:11~success
[13/Apr/2026:12:58:11] (root_api-) getFrontCategoryMenu : [1] get category with category default root.
[13/Apr/2026:12:58:11] (root_api-) Query~select ct.cat_id,ct.cat_name,ct.short_name,ct.`status`,
	fn_getChildCount(ct.cat_id) as childNodes,fn_getParentPath(ct.cat_id) as parentPath
	from tbl_category ct
	left join tbl_category ctp on ct.cat_parent_id = ctp.cat_id
	 where ct.cat_parent_id='38' AND ct.status = 'active'
	order by fn_getParentPath(ct.cat_id), ct.cat_name~2026-04-13 12:58:11:0411~2026-04-13 12:58:11~success
[13/Apr/2026:12:58:11] (root_api-) getFrontCategoryMenu : [1] get category with category default root.
[13/Apr/2026:12:58:11] (root_api-) Query~select ct.cat_id,ct.cat_name,ct.short_name,ct.`status`,
	fn_getChildCount(ct.cat_id) as childNodes,fn_getParentPath(ct.cat_id) as parentPath
	from tbl_category ct
	left join tbl_category ctp on ct.cat_parent_id = ctp.cat_id
	 where ct.cat_parent_id='525' AND ct.status = 'active'
	order by fn_getParentPath(ct.cat_id), ct.cat_name~2026-04-13 12:58:11:0411~2026-04-13 12:58:11~success
[13/Apr/2026:12:58:11] (root_api-) getFrontCategoryMenu : [1] get category with category default root.
[13/Apr/2026:12:58:11] (root_api-) Query~select ct.cat_id,ct.cat_name,ct.short_name,ct.`status`,
	fn_getChildCount(ct.cat_id) as childNodes,fn_getParentPath(ct.cat_id) as parentPath
	from tbl_category ct
	left join tbl_category ctp on ct.cat_parent_id = ctp.cat_id
	 where ct.cat_parent_id='528' AND ct.status = 'active'
	order by fn_getParentPath(ct.cat_id), ct.cat_name~2026-04-13 12:58:11:0411~2026-04-13 12:58:11~success
[13/Apr/2026:12:58:11] (root_api-) getFrontCategoryMenu : [1] get category with category default root.
[13/Apr/2026:12:58:11] (root_api-) Query~select ct.cat_id,ct.cat_name,ct.short_name,ct.`status`,
	fn_getChildCount(ct.cat_id) as childNodes,fn_getParentPath(ct.cat_id) as parentPath
	from tbl_category ct
	left join tbl_category ctp on ct.cat_parent_id = ctp.cat_id
	 where ct.cat_parent_id='529' AND ct.status = 'active'
	order by fn_getParentPath(ct.cat_id), ct.cat_name~2026-04-13 12:58:11:0411~2026-04-13 12:58:11~success
[13/Apr/2026:12:58:11] (root_api-) getFrontCategoryMenu : [1] get category with category default root.
[13/Apr/2026:12:58:11] (root_api-) Query~select ct.cat_id,ct.cat_name,ct.short_name,ct.`status`,
	fn_getChildCount(ct.cat_id) as childNodes,fn_getParentPath(ct.cat_id) as parentPath
	from tbl_category ct
	left join tbl_category ctp on ct.cat_parent_id = ctp.cat_id
	 where ct.cat_parent_id='551' AND ct.status = 'active'
	order by fn_getParentPath(ct.cat_id), ct.cat_name~2026-04-13 12:58:11:0411~2026-04-13 12:58:11~success
[13/Apr/2026:12:58:11] (root_api-) getFrontCategoryMenu : [1] get category with category default root.
[13/Apr/2026:12:58:11] (root_api-) Query~select ct.cat_id,ct.cat_name,ct.short_name,ct.`status`,
	fn_getChildCount(ct.cat_id) as childNodes,fn_getParentPath(ct.cat_id) as parentPath
	from tbl_category ct
	left join tbl_category ctp on ct.cat_parent_id = ctp.cat_id
	 where ct.cat_parent_id='552' AND ct.status = 'active'
	order by fn_getParentPath(ct.cat_id), ct.cat_name~2026-04-13 12:58:11:0411~2026-04-13 12:58:11~success
[13/Apr/2026:12:58:11] (root_api-) getFrontCategoryMenu : [1] get category with category default root.
[13/Apr/2026:12:58:11] (root_api-) Query~select ct.cat_id,ct.cat_name,ct.short_name,ct.`status`,
	fn_getChildCount(ct.cat_id) as childNodes,fn_getParentPath(ct.cat_id) as parentPath
	from tbl_category ct
	left join tbl_category ctp on ct.cat_parent_id = ctp.cat_id
	 where ct.cat_parent_id='581' AND ct.status = 'active'
	order by fn_getParentPath(ct.cat_id), ct.cat_name~2026-04-13 12:58:11:0411~2026-04-13 12:58:11~success
[13/Apr/2026:12:58:11] (root_api-) getFrontCategoryMenu : [1] get category with category default root.
[13/Apr/2026:12:58:11] (root_api-) Query~select ct.cat_id,ct.cat_name,ct.short_name,ct.`status`,
	fn_getChildCount(ct.cat_id) as childNodes,fn_getParentPath(ct.cat_id) as parentPath
	from tbl_category ct
	left join tbl_category ctp on ct.cat_parent_id = ctp.cat_id
	 where ct.cat_parent_id='341' AND ct.status = 'active'
	order by fn_getParentPath(ct.cat_id), ct.cat_name~2026-04-13 12:58:11:0411~2026-04-13 12:58:11~success
[13/Apr/2026:12:58:11] (root_api-) Final JSON =  {"status":"ok","message":"","Errorcode":"","data":[{"cat_id":"410","cat_name":"Business & Finance","short_name":"Business & Finance","childNodes":"7","parentPath":"00001","sub_categories":[{"cat_id":"411","cat_name":"Accounting","short_name":"Accounting","childNodes":"21","parentPath":"00410-00001","sub_categories":[{"cat_id":"431","cat_name":"                    Accounting","short_name":"Taxation Partnership","childNodes":"0","parentPath":"00411-00410-00001"},{"cat_id":"412","cat_name":"AAT","short_name":"AAT","childNodes":"0","parentPath":"00411-00410-00001"},{"cat_id":"413","cat_name":"Accounting","short_name":"Accounting","childNodes":"0","parentPath":"00411-00410-00001"},{"cat_id":"414","cat_name":"Accounting Information Systems","short_name":"Accounting Information Systems","childNodes":"0","parentPath":"00411-00410-00001"},{"cat_id":"415","cat_name":"Accounting Theory","short_name":"Accounting Theory","childNodes":"0","parentPath":"00411-00410-00001"},{"cat_id":"416","cat_name":"Appraisal","short_name":"Appraisal","childNodes":"0","parentPath":"00411-00410-00001"},{"cat_id":"417","cat_name":"Audit","short_name":"Audit","childNodes":"0","parentPath":"00411-00410-00001"},{"cat_id":"418","cat_name":"Audit & Assurance","short_name":"Audit & Assurance","childNodes":"0","parentPath":"00411-00410-00001"},{"cat_id":"419","cat_name":"Audit Sampling","short_name":"Audit Sampling","childNodes":"0","parentPath":"00411-00410-00001"},{"cat_id":"420","cat_name":"Bookkeeping","short_name":"Bookkeeping","childNodes":"0","parentPath":"00411-00410-00001"},{"cat_id":"421","cat_name":"Cost Accounting","short_name":"Cost Accounting","childNodes":"0","parentPath":"00411-00410-00001"},{"cat_id":"422","cat_name":"Enrolled Agent","short_name":"Enrolled Agent","childNodes":"0","parentPath":"00411-00410-00001"},{"cat_id":"423","cat_name":"Federal Income Tax","short_name":"Federal Income Tax","childNodes":"0","parentPath":"00411-00410-00001"},{"cat_id":"627","cat_name":"Finanace","short_name":"Finanace","childNodes":"0","parentPath":"00411-00410-00001"},{"cat_id":"424","cat_name":"Financial Accounting","short_name":"Financial Accounting","childNodes":"0","parentPath":"00411-00410-00001"},{"cat_id":"425","cat_name":"Fraud","short_name":"Fraud","childNodes":"0","parentPath":"00411-00410-00001"},{"cat_id":"426","cat_name":"Income Tax","short_name":"Income Tax","childNodes":"0","parentPath":"00411-00410-00001"},{"cat_id":"427","cat_name":"Intermediate Accounting","short_name":"Intermediate Accounting","childNodes":"0","parentPath":"00411-00410-00001"},{"cat_id":"428","cat_name":"Managerial Accounting","short_name":"Managerial Accounting","childNodes":"0","parentPath":"00411-00410-00001"},{"cat_id":"429","cat_name":"Public Finance","short_name":"Public Finance","childNodes":"0","parentPath":"00411-00410-00001"},{"cat_id":"430","cat_name":"Taxation","short_name":"Taxation","childNodes":"0","parentPath":"00411-00410-00001"}]},{"cat_id":"433","cat_name":"Business","short_name":"Business","childNodes":"23","parentPath":"00410-00001","sub_categories":[{"cat_id":"434","cat_name":"Accounting","short_name":"Accounting","childNodes":"0","parentPath":"00433-00410-00001"},{"cat_id":"435","cat_name":"Advertising","short_name":"Advertising","childNodes":"0","parentPath":"00433-00410-00001"},{"cat_id":"436","cat_name":"Business","short_name":"Business","childNodes":"0","parentPath":"00433-00410-00001"},{"cat_id":"437","cat_name":"Business Analysis","short_name":"Business Analysis","childNodes":"0","parentPath":"00433-00410-00001"},{"cat_id":"438","cat_name":"Business Analytics","short_name":"Business Analytics","childNodes":"0","parentPath":"00433-00410-00001"},{"cat_id":"439","cat_name":"Business Communication","short_name":"Business Communication","childNodes":"0","parentPath":"00433-00410-00001"},{"cat_id":"440","cat_name":"Business Ethics","short_name":"Business Ethics","childNodes":"0","parentPath":"00433-00410-00001"},{"cat_id":"441","cat_name":"Employee Training Demo","short_name":"Employee Training Demo","childNodes":"0","parentPath":"00433-00410-00001"},{"cat_id":"442","cat_name":"Entrepreneurship","short_name":"Entrepreneurship","childNodes":"0","parentPath":"00433-00410-00001"},{"cat_id":"443","cat_name":"Fashion","short_name":"Fashion","childNodes":"0","parentPath":"00433-00410-00001"},{"cat_id":"444","cat_name":"Finance","short_name":"Finance","childNodes":"0","parentPath":"00433-00410-00001"},{"cat_id":"445","cat_name":"Global Business","short_name":"Global Business","childNodes":"0","parentPath":"00433-00410-00001"},{"cat_id":"446","cat_name":"Human Resources","short_name":"Human Resources","childNodes":"0","parentPath":"00433-00410-00001"},{"cat_id":"447","cat_name":"Insurance","short_name":"Insurance","childNodes":"0","parentPath":"00433-00410-00001"},{"cat_id":"448","cat_name":"International Business","short_name":"International Business","childNodes":"0","parentPath":"00433-00410-00001"},{"cat_id":"449","cat_name":"Life & Health Insurance","short_name":"Life & Health Insurance","childNodes":"0","parentPath":"00433-00410-00001"},{"cat_id":"450","cat_name":"Logistics","short_name":"Logistics","childNodes":"0","parentPath":"00433-00410-00001"},{"cat_id":"451","cat_name":"Procurement","short_name":"Procurement","childNodes":"0","parentPath":"00433-00410-00001"},{"cat_id":"452","cat_name":"Project Management","short_name":"Project Management","childNodes":"0","parentPath":"00433-00410-00001"},{"cat_id":"453","cat_name":"Risk Management","short_name":"Risk Management","childNodes":"0","parentPath":"00433-00410-00001"},{"cat_id":"454","cat_name":"Salesforce","short_name":"Salesforce","childNodes":"0","parentPath":"00433-00410-00001"},{"cat_id":"455","cat_name":"Supply Chain","short_name":"Supply Chain","childNodes":"0","parentPath":"00433-00410-00001"},{"cat_id":"456","cat_name":"Tourism","short_name":"Tourism","childNodes":"0","parentPath":"00433-00410-00001"}]},{"cat_id":"458","cat_name":"Economics","short_name":"Economics","childNodes":"24","parentPath":"00410-00001","sub_categories":[{"cat_id":"459","cat_name":"Behavioral Economics","short_name":"Behavioral Economics","childNodes":"0","parentPath":"00458-00410-00001"},{"cat_id":"471","cat_name":"Capital Markets","short_name":"Capital Markets","childNodes":"0","parentPath":"00458-00410-00001"},{"cat_id":"472","cat_name":"Corporate Finance","short_name":"Corporate Finance","childNodes":"0","parentPath":"00458-00410-00001"},{"cat_id":"460","cat_name":"Econometrics","short_name":"Econometrics","childNodes":"0","parentPath":"00458-00410-00001"},{"cat_id":"461","cat_name":"Economic Development","short_name":"Economic Development","childNodes":"0","parentPath":"00458-00410-00001"},{"cat_id":"462","cat_name":"Economics","short_name":"Economics","childNodes":"0","parentPath":"00458-00410-00001"},{"cat_id":"463","cat_name":"Environmental Economics","short_name":"Environmental Economics","childNodes":"0","parentPath":"00458-00410-00001"},{"cat_id":"473","cat_name":"Finance","short_name":"Finance","childNodes":"0","parentPath":"00458-00410-00001"},{"cat_id":"474","cat_name":"Financial Exams","short_name":"Financial Exams","childNodes":"0","parentPath":"00458-00410-00001"},{"cat_id":"475","cat_name":"Financial Literacy","short_name":"Financial Literacy","childNodes":"0","parentPath":"00458-00410-00001"},{"cat_id":"476","cat_name":"Financial Markets","short_name":"Financial Markets","childNodes":"0","parentPath":"00458-00410-00001"},{"cat_id":"477","cat_name":"Fixed Income","short_name":"Fixed Income","childNodes":"0","parentPath":"00458-00410-00001"},{"cat_id":"464","cat_name":"Game Theory","short_name":"Game Theory","childNodes":"0","parentPath":"00458-00410-00001"},{"cat_id":"465","cat_name":"Globalization","short_name":"Globalization","childNodes":"0","parentPath":"00458-00410-00001"},{"cat_id":"478","cat_name":"International Finance","short_name":"International Finance","childNodes":"0","parentPath":"00458-00410-00001"},{"cat_id":"479","cat_name":"Investment Analysis","short_name":"Investment Analysis","childNodes":"0","parentPath":"00458-00410-00001"},{"cat_id":"480","cat_name":"Investment Banking","short_name":"Investment Banking","childNodes":"0","parentPath":"00458-00410-00001"},{"cat_id":"466","cat_name":"Macroeconomics","short_name":"Macroeconomics","childNodes":"0","parentPath":"00458-00410-00001"},{"cat_id":"467","cat_name":"Managerial Economics","short_name":"Managerial Economics","childNodes":"0","parentPath":"00458-00410-00001"},{"cat_id":"468","cat_name":"Microeconomics","short_name":"Microeconomics","childNodes":"0","parentPath":"00458-00410-00001"},{"cat_id":"481","cat_name":"Personal Finance","short_name":"Personal Finance","childNodes":"0","parentPath":"00458-00410-00001"},{"cat_id":"469","cat_name":"Principles of Economics","short_name":"Principles of Economics","childNodes":"0","parentPath":"00458-00410-00001"},{"cat_id":"482","cat_name":"Private Equity","short_name":"Private Equity","childNodes":"0","parentPath":"00458-00410-00001"},{"cat_id":"483","cat_name":"Real Estate Finance","short_name":"Real Estate Finance","childNodes":"0","parentPath":"00458-00410-00001"}]},{"cat_id":"470","cat_name":"Finance","short_name":"Finance","childNodes":"0","parentPath":"00410-00001"},{"cat_id":"485","cat_name":"Management","short_name":"Management","childNodes":"12","parentPath":"00410-00001","sub_categories":[{"cat_id":"486","cat_name":"Business Administration","short_name":"Business Administration","childNodes":"0","parentPath":"00485-00410-00001"},{"cat_id":"487","cat_name":"Business Management","short_name":"Business Management","childNodes":"0","parentPath":"00485-00410-00001"},{"cat_id":"488","cat_name":"Effective Supervisory Practices","short_name":"Effective Supervisory Practices","childNodes":"0","parentPath":"00485-00410-00001"},{"cat_id":"489","cat_name":"Facilities Management","short_name":"Facilities Management","childNodes":"0","parentPath":"00485-00410-00001"},{"cat_id":"490","cat_name":"Healthcare Management","short_name":"Healthcare Management","childNodes":"0","parentPath":"00485-00410-00001"},{"cat_id":"491","cat_name":"Higher Business Management","short_name":"Higher Business Management","childNodes":"0","parentPath":"00485-00410-00001"},{"cat_id":"492","cat_name":"Human Resource Management","short_name":"Human Resource Management","childNodes":"0","parentPath":"00485-00410-00001"},{"cat_id":"493","cat_name":"Management 101","short_name":"Management 101","childNodes":"0","parentPath":"00485-00410-00001"},{"cat_id":"494","cat_name":"Operations Management","short_name":"Operations Management","childNodes":"0","parentPath":"00485-00410-00001"},{"cat_id":"495","cat_name":"Organizational Behavior","short_name":"Organizational Behavior","childNodes":"0","parentPath":"00485-00410-00001"},{"cat_id":"496","cat_name":"Principles of Management","short_name":"Principles of Management","childNodes":"0","parentPath":"00485-00410-00001"},{"cat_id":"497","cat_name":"Strategic Management","short_name":"Strategic Management","childNodes":"0","parentPath":"00485-00410-00001"}]},{"cat_id":"499","cat_name":"Marketing","short_name":"Marketing","childNodes":"13","parentPath":"00410-00001","sub_categories":[{"cat_id":"500","cat_name":"B2B Marketing","short_name":"B2B Marketing","childNodes":"0","parentPath":"00499-00410-00001"},{"cat_id":"501","cat_name":"Consumer Behavior","short_name":"Consumer Behavior","childNodes":"0","parentPath":"00499-00410-00001"},{"cat_id":"502","cat_name":"Digital Marketing","short_name":"Digital Marketing","childNodes":"0","parentPath":"00499-00410-00001"},{"cat_id":"503","cat_name":"Global Marketing","short_name":"Global Marketing","childNodes":"0","parentPath":"00499-00410-00001"},{"cat_id":"504","cat_name":"International Marketing","short_name":"International Marketing","childNodes":"0","parentPath":"00499-00410-00001"},{"cat_id":"505","cat_name":"Marketing 101","short_name":"Marketing 101","childNodes":"0","parentPath":"00499-00410-00001"},{"cat_id":"506","cat_name":"Marketing Research","short_name":"Marketing Research","childNodes":"0","parentPath":"00499-00410-00001"},{"cat_id":"507","cat_name":"Neuromarketing","short_name":"Neuromarketing","childNodes":"0","parentPath":"00499-00410-00001"},{"cat_id":"508","cat_name":"Principles of Marketing","short_name":"Principles of Marketing","childNodes":"0","parentPath":"00499-00410-00001"},{"cat_id":"509","cat_name":"Sales & Marketing","short_name":"Sales & Marketing","childNodes":"0","parentPath":"00499-00410-00001"},{"cat_id":"510","cat_name":"Service Marketing","short_name":"Service Marketing","childNodes":"0","parentPath":"00499-00410-00001"},{"cat_id":"511","cat_name":"Social Marketing","short_name":"Social Marketing","childNodes":"0","parentPath":"00499-00410-00001"},{"cat_id":"512","cat_name":"Strategic Marketing","short_name":"Strategic Marketing","childNodes":"0","parentPath":"00499-00410-00001"}]},{"cat_id":"514","cat_name":"Real Estate","short_name":"Real Estate","childNodes":"10","parentPath":"00410-00001","sub_categories":[{"cat_id":"515","cat_name":"Real Estate - General","short_name":"Real Estate - General","childNodes":"0","parentPath":"00514-00410-00001"},{"cat_id":"516","cat_name":"Real Estate Agent","short_name":"Real Estate Agent","childNodes":"0","parentPath":"00514-00410-00001"},{"cat_id":"517","cat_name":"Real Estate Appraisal","short_name":"Real Estate Appraisal","childNodes":"0","parentPath":"00514-00410-00001"},{"cat_id":"518","cat_name":"Real Estate Exam","short_name":"Real Estate Exam","childNodes":"0","parentPath":"00514-00410-00001"},{"cat_id":"519","cat_name":"Real Estate Finance","short_name":"Real Estate Finance","childNodes":"0","parentPath":"00514-00410-00001"},{"cat_id":"520","cat_name":"Real Estate Law","short_name":"Real Estate Law","childNodes":"0","parentPath":"00514-00410-00001"},{"cat_id":"521","cat_name":"Real Estate Math","short_name":"Real Estate Math","childNodes":"0","parentPath":"00514-00410-00001"},{"cat_id":"522","cat_name":"Real Estate Post-Licensing","short_name":"Real Estate Post-Licensing","childNodes":"0","parentPath":"00514-00410-00001"},{"cat_id":"523","cat_name":"Real Estate Practice","short_name":"Real Estate Practice","childNodes":"0","parentPath":"00514-00410-00001"},{"cat_id":"524","cat_name":"Real Estate Principles","short_name":"Real Estate Principles","childNodes":"0","parentPath":"00514-00410-00001"}]}]},{"cat_id":"64","cat_name":"English","short_name":"English","childNodes":"16","parentPath":"00001","sub_categories":[{"cat_id":"65","cat_name":"American Literature","short_name":"American Literature","childNodes":"0","parentPath":"00064-00001"},{"cat_id":"66","cat_name":"British Literature","short_name":"British Literature","childNodes":"0","parentPath":"00064-00001"},{"cat_id":"67","cat_name":"Classic Novels","short_name":"Classic Novels","childNodes":"0","parentPath":"00064-00001"},{"cat_id":"68","cat_name":"Creative Writing","short_name":"Creative Writing","childNodes":"0","parentPath":"00064-00001"},{"cat_id":"69","cat_name":"English","short_name":"English","childNodes":"0","parentPath":"00064-00001"},{"cat_id":"70","cat_name":"English Grammar","short_name":"English Grammar","childNodes":"0","parentPath":"00064-00001"},{"cat_id":"71","cat_name":"Fiction","short_name":"Fiction","childNodes":"0","parentPath":"00064-00001"},{"cat_id":"72","cat_name":"Higher English","short_name":"Higher English","childNodes":"0","parentPath":"00064-00001"},{"cat_id":"73","cat_name":"Literature","short_name":"Literature","childNodes":"0","parentPath":"00064-00001"},{"cat_id":"74","cat_name":"Medieval literature","short_name":"Medieval literature","childNodes":"0","parentPath":"00064-00001"},{"cat_id":"75","cat_name":"Phonics","short_name":"Phonics","childNodes":"0","parentPath":"00064-00001"},{"cat_id":"76","cat_name":"Poetry","short_name":"Poetry","childNodes":"0","parentPath":"00064-00001"},{"cat_id":"77","cat_name":"Proverbs and Idioms","short_name":"Proverbs and Idioms","childNodes":"0","parentPath":"00064-00001"},{"cat_id":"78","cat_name":"Shakespeare","short_name":"Shakespeare","childNodes":"0","parentPath":"00064-00001"},{"cat_id":"79","cat_name":"Spelling","short_name":"Spelling","childNodes":"0","parentPath":"00064-00001"},{"cat_id":"80","cat_name":"Vocab Builder","short_name":"Vocab Builder","childNodes":"0","parentPath":"00064-00001"}]},{"cat_id":"2","cat_name":"Entrance Exams","short_name":"Entrance Exams","childNodes":"8","parentPath":"00001","sub_categories":[{"cat_id":"3","cat_name":"A Level Exams","short_name":"A Level Exams","childNodes":"0","parentPath":"00002-00001"},{"cat_id":"4","cat_name":"AP Exams","short_name":"AP Exams","childNodes":"0","parentPath":"00002-00001"},{"cat_id":"5","cat_name":"GCSE Exams","short_name":"GCSE Exams","childNodes":"0","parentPath":"00002-00001"},{"cat_id":"6","cat_name":"Graduate Entrance Exams","short_name":"Graduate Entrance Exams","childNodes":"0","parentPath":"00002-00001"},{"cat_id":"7","cat_name":"IGCSE Exams","short_name":"IGCSE Exams","childNodes":"0","parentPath":"00002-00001"},{"cat_id":"8","cat_name":"International Baccalaureate","short_name":"International Baccalaureate","childNodes":"0","parentPath":"00002-00001"},{"cat_id":"9","cat_name":"National 5 Exams","short_name":"National 5 Exams","childNodes":"0","parentPath":"00002-00001"},{"cat_id":"10","cat_name":"University Entrance Exams","short_name":"University Entrance Exams","childNodes":"0","parentPath":"00002-00001"}]},{"cat_id":"605","cat_name":"Fine Arts","short_name":"Fine Arts","childNodes":"5","parentPath":"00001","sub_categories":[{"cat_id":"606","cat_name":"Art","short_name":"Art","childNodes":"0","parentPath":"00605-00001"},{"cat_id":"607","cat_name":"Art History","short_name":"Art History","childNodes":"0","parentPath":"00605-00001"},{"cat_id":"608","cat_name":"Dance","short_name":"Dance","childNodes":"0","parentPath":"00605-00001"},{"cat_id":"609","cat_name":"Music","short_name":"Music","childNodes":"0","parentPath":"00605-00001"},{"cat_id":"610","cat_name":"Other Fine Arts","short_name":"Other Fine Arts","childNodes":"0","parentPath":"00605-00001"}]},{"cat_id":"598","cat_name":"Food & Beverage","short_name":"Food & Beverage","childNodes":"6","parentPath":"00001","sub_categories":[{"cat_id":"599","cat_name":"Bartending","short_name":"Bartending","childNodes":"0","parentPath":"00598-00001"},{"cat_id":"600","cat_name":"Cooking","short_name":"Cooking","childNodes":"0","parentPath":"00598-00001"},{"cat_id":"601","cat_name":"Culinary Arts","short_name":"Culinary Arts","childNodes":"0","parentPath":"00598-00001"},{"cat_id":"602","cat_name":"Hospitality","short_name":"Hospitality","childNodes":"0","parentPath":"00598-00001"},{"cat_id":"603","cat_name":"Nutrition","short_name":"Nutrition","childNodes":"0","parentPath":"00598-00001"},{"cat_id":"604","cat_name":"Wine & Spirits","short_name":"Wine & Spirits","childNodes":"0","parentPath":"00598-00001"}]},{"cat_id":"23","cat_name":"Foreign Languages","short_name":"Foreign Languages","childNodes":"14","parentPath":"00001","sub_categories":[{"cat_id":"24","cat_name":"Arabic","short_name":"Arabic","childNodes":"0","parentPath":"00023-00001"},{"cat_id":"25","cat_name":"Chinese","short_name":"Chinese","childNodes":"0","parentPath":"00023-00001"},{"cat_id":"26","cat_name":"French","short_name":"French","childNodes":"0","parentPath":"00023-00001"},{"cat_id":"27","cat_name":"German","short_name":"German","childNodes":"0","parentPath":"00023-00001"},{"cat_id":"28","cat_name":"Hebrew","short_name":"Hebrew","childNodes":"0","parentPath":"00023-00001"},{"cat_id":"29","cat_name":"Italian","short_name":"Italian","childNodes":"0","parentPath":"00023-00001"},{"cat_id":"30","cat_name":"Japanese","short_name":"Japanese","childNodes":"0","parentPath":"00023-00001"},{"cat_id":"31","cat_name":"Korean","short_name":"Korean","childNodes":"0","parentPath":"00023-00001"},{"cat_id":"32","cat_name":"Linguistics","short_name":"Linguistics","childNodes":"0","parentPath":"00023-00001"},{"cat_id":"33","cat_name":"Other Foreign Languages","short_name":"Other Foreign Languages","childNodes":"0","parentPath":"00023-00001"},{"cat_id":"34","cat_name":"Portuguese","short_name":"Portuguese","childNodes":"0","parentPath":"00023-00001"},{"cat_id":"35","cat_name":"Russian","short_name":"Russian","childNodes":"0","parentPath":"00023-00001"},{"cat_id":"36","cat_name":"Spanish","short_name":"Spanish","childNodes":"0","parentPath":"00023-00001"},{"cat_id":"37","cat_name":"TOEFL","short_name":"TOEFL","childNodes":"0","parentPath":"00023-00001"}]},{"cat_id":"396","cat_name":"Health & Fitness","short_name":"Health & Fitness","childNodes":"13","parentPath":"00001","sub_categories":[{"cat_id":"409","cat_name":"ACE Health Coach","short_name":"ACE Health Coach","childNodes":"0","parentPath":"00396-00001"},{"cat_id":"397","cat_name":"Alternative Medicine","short_name":"Alternative Medicine","childNodes":"0","parentPath":"00396-00001"},{"cat_id":"398","cat_name":"Health & Fitness Class","short_name":"Health & Fitness Class","childNodes":"0","parentPath":"00396-00001"},{"cat_id":"399","cat_name":"Health & Human Development","short_name":"Health & Human Development","childNodes":"0","parentPath":"00396-00001"},{"cat_id":"400","cat_name":"Health Class","short_name":"Health Class","childNodes":"0","parentPath":"00396-00001"},{"cat_id":"401","cat_name":"Health Science","short_name":"Health Science","childNodes":"0","parentPath":"00396-00001"},{"cat_id":"402","cat_name":"Human Development","short_name":"Human Development","childNodes":"0","parentPath":"00396-00001"},{"cat_id":"403","cat_name":"Human Growth & Development","short_name":"Human Growth & Development","childNodes":"0","parentPath":"00396-00001"},{"cat_id":"404","cat_name":"Mental Health","short_name":"Mental Health","childNodes":"0","parentPath":"00396-00001"},{"cat_id":"406","cat_name":"NASM CPT","short_name":"NASM CPT","childNodes":"0","parentPath":"00396-00001"},{"cat_id":"405","cat_name":"Public Health","short_name":"Public Health","childNodes":"0","parentPath":"00396-00001"},{"cat_id":"407","cat_name":"Sports & Kinesiology","short_name":"Sports & Kinesiology","childNodes":"0","parentPath":"00396-00001"},{"cat_id":"408","cat_name":"Yoga","short_name":"Yoga","childNodes":"0","parentPath":"00396-00001"}]},{"cat_id":"81","cat_name":"Humanities & Social Studies","short_name":"Humanities & Social Studies","childNodes":"16","parentPath":"00001","sub_categories":[{"cat_id":"90","cat_name":"Anthropology","short_name":"Anthropology","childNodes":"16","parentPath":"00081-00001","sub_categories":[{"cat_id":"91","cat_name":"Anthropology","short_name":"Anthropology","childNodes":"0","parentPath":"00090-00081-00001"},{"cat_id":"92","cat_name":"Archaeology","short_name":"Archaeology","childNodes":"0","parentPath":"00090-00081-00001"},{"cat_id":"93","cat_name":"Biological Anthropology","short_name":"Biological Anthropology","childNodes":"0","parentPath":"00090-00081-00001"},{"cat_id":"94","cat_name":"Cultural Anthropology","short_name":"Cultural Anthropology","childNodes":"0","parentPath":"00090-00081-00001"},{"cat_id":"95","cat_name":"Ethnobotany","short_name":"Ethnobotany","childNodes":"0","parentPath":"00090-00081-00001"},{"cat_id":"96","cat_name":"Evolutionary Genetics","short_name":"Evolutionary Genetics","childNodes":"0","parentPath":"00090-00081-00001"},{"cat_id":"97","cat_name":"Forensic Anthropology","short_name":"Forensic Anthropology","childNodes":"0","parentPath":"00090-00081-00001"},{"cat_id":"98","cat_name":"Fossils","short_name":"Fossils","childNodes":"0","parentPath":"00090-00081-00001"},{"cat_id":"99","cat_name":"Gender Studies","short_name":"Gender Studies","childNodes":"0","parentPath":"00090-00081-00001"},{"cat_id":"100","cat_name":"Human Biology","short_name":"Human Biology","childNodes":"0","parentPath":"00090-00081-00001"},{"cat_id":"101","cat_name":"Human Evolution","short_name":"Human Evolution","childNodes":"0","parentPath":"00090-00081-00001"},{"cat_id":"102","cat_name":"Human Genetics","short_name":"Human Genetics","childNodes":"0","parentPath":"00090-00081-00001"},{"cat_id":"103","cat_name":"Human Reproduction","short_name":"Human Reproduction","childNodes":"0","parentPath":"00090-00081-00001"},{"cat_id":"104","cat_name":"Linguistics","short_name":"Linguistics","childNodes":"0","parentPath":"00090-00081-00001"},{"cat_id":"105","cat_name":"Physical Anthropology","short_name":"Physical Anthropology","childNodes":"0","parentPath":"00090-00081-00001"},{"cat_id":"106","cat_name":"Primate Behavior","short_name":"Primate Behavior","childNodes":"0","parentPath":"00090-00081-00001"}]},{"cat_id":"307","cat_name":"Citizenship","short_name":"Citizenship","childNodes":"0","parentPath":"00081-00001"},{"cat_id":"308","cat_name":"Civics","short_name":"Civics","childNodes":"0","parentPath":"00081-00001"},{"cat_id":"107","cat_name":"Classics","short_name":"Classics","childNodes":"9","parentPath":"00081-00001","sub_categories":[{"cat_id":"108","cat_name":"Ancient Greek","short_name":"Ancient Greek","childNodes":"0","parentPath":"00107-00081-00001"},{"cat_id":"109","cat_name":"Classical Architecture","short_name":"Classical Architecture","childNodes":"0","parentPath":"00107-00081-00001"},{"cat_id":"110","cat_name":"Classical Art","short_name":"Classical Art","childNodes":"0","parentPath":"00107-00081-00001"},{"cat_id":"111","cat_name":"Classical Mythology","short_name":"Classical Mythology","childNodes":"0","parentPath":"00107-00081-00001"},{"cat_id":"112","cat_name":"Greek Civilization","short_name":"Greek Civilization","childNodes":"0","parentPath":"00107-00081-00001"},{"cat_id":"113","cat_name":"Greek History","short_name":"Greek History","childNodes":"0","parentPath":"00107-00081-00001"},{"cat_id":"114","cat_name":"Latin","short_name":"Latin","childNodes":"0","parentPath":"00107-00081-00001"},{"cat_id":"115","cat_name":"Roman Civilization","short_name":"Roman Civilization","childNodes":"0","parentPath":"00107-00081-00001"},{"cat_id":"116","cat_name":"Roman History","short_name":"Roman History","childNodes":"0","parentPath":"00107-00081-00001"}]},{"cat_id":"117","cat_name":"Communications","short_name":"Communications","childNodes":"19","parentPath":"00081-00001","sub_categories":[{"cat_id":"118","cat_name":"Argumentation","short_name":"Argumentation","childNodes":"0","parentPath":"00117-00081-00001"},{"cat_id":"119","cat_name":"Business Communication","short_name":"Business Communication","childNodes":"0","parentPath":"00117-00081-00001"},{"cat_id":"120","cat_name":"Communication Theory","short_name":"Communication Theory","childNodes":"0","parentPath":"00117-00081-00001"},{"cat_id":"121","cat_name":"Communications","short_name":"Communications","childNodes":"0","parentPath":"00117-00081-00001"},{"cat_id":"122","cat_name":"Debate","short_name":"Debate","childNodes":"0","parentPath":"00117-00081-00001"},{"cat_id":"123","cat_name":"Human Relationships","short_name":"Human Relationships","childNodes":"0","parentPath":"00117-00081-00001"},{"cat_id":"124","cat_name":"Interpersonal Communication","short_name":"Interpersonal Communication","childNodes":"0","parentPath":"00117-00081-00001"},{"cat_id":"125","cat_name":"Mass Communication","short_name":"Mass Communication","childNodes":"0","parentPath":"00117-00081-00001"},{"cat_id":"126","cat_name":"Mass Media","short_name":"Mass Media","childNodes":"0","parentPath":"00117-00081-00001"},{"cat_id":"127","cat_name":"Media Studies","short_name":"Media Studies","childNodes":"0","parentPath":"00117-00081-00001"},{"cat_id":"128","cat_name":"Nonverbal Communication","short_name":"Nonverbal Communication","childNodes":"0","parentPath":"00117-00081-00001"},{"cat_id":"129","cat_name":"Organizational Communication","short_name":"Organizational Communication","childNodes":"0","parentPath":"00117-00081-00001"},{"cat_id":"130","cat_name":"Persuasion","short_name":"Persuasion","childNodes":"0","parentPath":"00117-00081-00001"},{"cat_id":"131","cat_name":"Professional Communication","short_name":"Professional Communication","childNodes":"0","parentPath":"00117-00081-00001"},{"cat_id":"132","cat_name":"Public Relations","short_name":"Public Relations","childNodes":"0","parentPath":"00117-00081-00001"},{"cat_id":"133","cat_name":"Public Speaking","short_name":"Public Speaking","childNodes":"0","parentPath":"00117-00081-00001"},{"cat_id":"134","cat_name":"Rhetoric","short_name":"Rhetoric","childNodes":"0","parentPath":"00117-00081-00001"},{"cat_id":"135","cat_name":"Small Group Communication","short_name":"Small Group Communication","childNodes":"0","parentPath":"00117-00081-00001"},{"cat_id":"136","cat_name":"Speech Communication","short_name":"Speech Communication","childNodes":"0","parentPath":"00117-00081-00001"}]},{"cat_id":"137","cat_name":"Counseling","short_name":"Counseling","childNodes":"6","parentPath":"00081-00001","sub_categories":[{"cat_id":"138","cat_name":"Counseling","short_name":"Counseling","childNodes":"1","parentPath":"00137-00081-00001","sub_categories":[{"cat_id":"629","cat_name":"Counseling","short_name":"Accounting","childNodes":"0","parentPath":"00138-00137-00081-00001"}]},{"cat_id":"139","cat_name":"Counseling Theory","short_name":"Counseling Theory","childNodes":"0","parentPath":"00137-00081-00001"},{"cat_id":"140","cat_name":"Family Therapy","short_name":"Family Therapy","childNodes":"0","parentPath":"00137-00081-00001"},{"cat_id":"141","cat_name":"LMSW Exam","short_name":"LMSW Exam","childNodes":"0","parentPath":"00137-00081-00001"},{"cat_id":"142","cat_name":"MFT Exam","short_name":"MFT Exam","childNodes":"0","parentPath":"00137-00081-00001"},{"cat_id":"143","cat_name":"NCMHCE","short_name":"NCMHCE","childNodes":"0","parentPath":"00137-00081-00001"}]},{"cat_id":"144","cat_name":"Criminal Justice","short_name":"Criminal Justice","childNodes":"19","parentPath":"00081-00001","sub_categories":[{"cat_id":"145","cat_name":"CIB","short_name":"CIB","childNodes":"0","parentPath":"00144-00081-00001"},{"cat_id":"146","cat_name":"Civil Rights","short_name":"Civil Rights","childNodes":"0","parentPath":"00144-00081-00001"},{"cat_id":"147","cat_name":"Corrections","short_name":"Corrections","childNodes":"0","parentPath":"00144-00081-00001"},{"cat_id":"148","cat_name":"Crime & Deviance","short_name":"Crime & Deviance","childNodes":"0","parentPath":"00144-00081-00001"},{"cat_id":"149","cat_name":"Crime & Punishment","short_name":"Crime & Punishment","childNodes":"0","parentPath":"00144-00081-00001"},{"cat_id":"150","cat_name":"Criminal Investigation","short_name":"Criminal Investigation","childNodes":"0","parentPath":"00144-00081-00001"},{"cat_id":"151","cat_name":"Criminal Justice","short_name":"Criminal Justice","childNodes":"0","parentPath":"00144-00081-00001"},{"cat_id":"152","cat_name":"Criminal Psychology","short_name":"Criminal Psychology","childNodes":"0","parentPath":"00144-00081-00001"},{"cat_id":"153","cat_name":"Criminology","short_name":"Criminology","childNodes":"0","parentPath":"00144-00081-00001"},{"cat_id":"154","cat_name":"Cybercrime","short_name":"Cybercrime","childNodes":"0","parentPath":"00144-00081-00001"},{"cat_id":"155","cat_name":"Forensic Pathology","short_name":"Forensic Pathology","childNodes":"0","parentPath":"00144-00081-00001"},{"cat_id":"156","cat_name":"Forensic Science","short_name":"Forensic Science","childNodes":"0","parentPath":"00144-00081-00001"},{"cat_id":"157","cat_name":"History of Crime","short_name":"History of Crime","childNodes":"0","parentPath":"00144-00081-00001"},{"cat_id":"158","cat_name":"Intro to Criminology","short_name":"Intro to Criminology","childNodes":"0","parentPath":"00144-00081-00001"},{"cat_id":"159","cat_name":"Law Enforcement","short_name":"Law Enforcement","childNodes":"0","parentPath":"00144-00081-00001"},{"cat_id":"160","cat_name":"Police Administration","short_name":"Police Administration","childNodes":"0","parentPath":"00144-00081-00001"},{"cat_id":"161","cat_name":"Police Studies","short_name":"Police Studies","childNodes":"0","parentPath":"00144-00081-00001"},{"cat_id":"162","cat_name":"Policing","short_name":"Policing","childNodes":"0","parentPath":"00144-00081-00001"},{"cat_id":"163","cat_name":"Prosecution","short_name":"Prosecution","childNodes":"0","parentPath":"00144-00081-00001"}]},{"cat_id":"164","cat_name":"Geography","short_name":"Geography","childNodes":"14","parentPath":"00081-00001","sub_categories":[{"cat_id":"165","cat_name":"Cartography","short_name":"Cartography","childNodes":"0","parentPath":"00164-00081-00001"},{"cat_id":"166","cat_name":"Climate Change","short_name":"Climate Change","childNodes":"0","parentPath":"00164-00081-00001"},{"cat_id":"167","cat_name":"Cultural Geography","short_name":"Cultural Geography","childNodes":"0","parentPath":"00164-00081-00001"},{"cat_id":"168","cat_name":"Environmental Science","short_name":"Environmental Science","childNodes":"0","parentPath":"00164-00081-00001"},{"cat_id":"169","cat_name":"Geography","short_name":"Geography","childNodes":"0","parentPath":"00164-00081-00001"},{"cat_id":"170","cat_name":"Human Geography","short_name":"Human Geography","childNodes":"0","parentPath":"00164-00081-00001"},{"cat_id":"171","cat_name":"Hydrology","short_name":"Hydrology","childNodes":"0","parentPath":"00164-00081-00001"},{"cat_id":"172","cat_name":"Landforms","short_name":"Landforms","childNodes":"0","parentPath":"00164-00081-00001"},{"cat_id":"173","cat_name":"Physical Geography","short_name":"Physical Geography","childNodes":"0","parentPath":"00164-00081-00001"},{"cat_id":"174","cat_name":"U.S. Geography","short_name":"U.S. Geography","childNodes":"0","parentPath":"00164-00081-00001"},{"cat_id":"175","cat_name":"Urban Geography","short_name":"Urban Geography","childNodes":"0","parentPath":"00164-00081-00001"},{"cat_id":"176","cat_name":"Weather and Climate","short_name":"Weather and Climate","childNodes":"0","parentPath":"00164-00081-00001"},{"cat_id":"177","cat_name":"World Capitals","short_name":"World Capitals","childNodes":"0","parentPath":"00164-00081-00001"},{"cat_id":"178","cat_name":"World Geography","short_name":"World Geography","childNodes":"0","parentPath":"00164-00081-00001"}]},{"cat_id":"179","cat_name":"History","short_name":"History","childNodes":"20","parentPath":"00081-00001","sub_categories":[{"cat_id":"180","cat_name":"African History","short_name":"African History","childNodes":"0","parentPath":"00179-00081-00001"},{"cat_id":"181","cat_name":"American West","short_name":"American West","childNodes":"0","parentPath":"00179-00081-00001"},{"cat_id":"182","cat_name":"Ancient Greece","short_name":"Ancient Greece","childNodes":"0","parentPath":"00179-00081-00001"},{"cat_id":"183","cat_name":"Ancient History","short_name":"Ancient History","childNodes":"0","parentPath":"00179-00081-00001"},{"cat_id":"184","cat_name":"Ancient Rome","short_name":"Ancient Rome","childNodes":"0","parentPath":"00179-00081-00001"},{"cat_id":"185","cat_name":"British History","short_name":"British History","childNodes":"0","parentPath":"00179-00081-00001"},{"cat_id":"186","cat_name":"Chinese History","short_name":"Chinese History","childNodes":"0","parentPath":"00179-00081-00001"},{"cat_id":"187","cat_name":"Christian History","short_name":"Christian History","childNodes":"0","parentPath":"00179-00081-00001"},{"cat_id":"188","cat_name":"Cold War","short_name":"Cold War","childNodes":"0","parentPath":"00179-00081-00001"},{"cat_id":"189","cat_name":"European History","short_name":"European History","childNodes":"0","parentPath":"00179-00081-00001"},{"cat_id":"190","cat_name":"Islamic History","short_name":"Islamic History","childNodes":"0","parentPath":"00179-00081-00001"},{"cat_id":"191","cat_name":"Jewish History","short_name":"Jewish History","childNodes":"0","parentPath":"00179-00081-00001"},{"cat_id":"192","cat_name":"Latin American History","short_name":"Latin American History","childNodes":"0","parentPath":"00179-00081-00001"},{"cat_id":"193","cat_name":"Medieval History","short_name":"Medieval History","childNodes":"0","parentPath":"00179-00081-00001"},{"cat_id":"194","cat_name":"Modern World History","short_name":"Modern World History","childNodes":"0","parentPath":"00179-00081-00001"},{"cat_id":"195","cat_name":"US History","short_name":"US History","childNodes":"0","parentPath":"00179-00081-00001"},{"cat_id":"196","cat_name":"Western Civilization","short_name":"Western Civilization","childNodes":"0","parentPath":"00179-00081-00001"},{"cat_id":"197","cat_name":"Womens History","short_name":"Womens History","childNodes":"0","parentPath":"00179-00081-00001"},{"cat_id":"198","cat_name":"World Civilizations","short_name":"World Civilizations","childNodes":"0","parentPath":"00179-00081-00001"},{"cat_id":"199","cat_name":"World History","short_name":"World History","childNodes":"0","parentPath":"00179-00081-00001"}]},{"cat_id":"82","cat_name":"Philosophy","short_name":"Philosophy","childNodes":"7","parentPath":"00081-00001","sub_categories":[{"cat_id":"83","cat_name":"Critical Thinking","short_name":"Critical Thinking","childNodes":"0","parentPath":"00082-00081-00001"},{"cat_id":"84","cat_name":"Ethics","short_name":"Ethics","childNodes":"0","parentPath":"00082-00081-00001"},{"cat_id":"85","cat_name":"Intro Philosophy","short_name":"Intro Philosophy","childNodes":"0","parentPath":"00082-00081-00001"},{"cat_id":"86","cat_name":"Logic","short_name":"Logic","childNodes":"0","parentPath":"00082-00081-00001"},{"cat_id":"87","cat_name":"Philosophy","short_name":"Philosophy","childNodes":"0","parentPath":"00082-00081-00001"},{"cat_id":"88","cat_name":"Plato","short_name":"Plato","childNodes":"0","parentPath":"00082-00081-00001"},{"cat_id":"89","cat_name":"Rhetoric","short_name":"Rhetoric","childNodes":"0","parentPath":"00082-00081-00001"}]},{"cat_id":"200","cat_name":"Political Science","short_name":"Political Science","childNodes":"17","parentPath":"00081-00001","sub_categories":[{"cat_id":"201","cat_name":"American Government","short_name":"American Government","childNodes":"0","parentPath":"00200-00081-00001"},{"cat_id":"202","cat_name":"Comparative Politics","short_name":"Comparative Politics","childNodes":"0","parentPath":"00200-00081-00001"},{"cat_id":"203","cat_name":"Foreign Policy","short_name":"Foreign Policy","childNodes":"0","parentPath":"00200-00081-00001"},{"cat_id":"204","cat_name":"Global Issues","short_name":"Global Issues","childNodes":"0","parentPath":"00200-00081-00001"},{"cat_id":"205","cat_name":"Human Rights","short_name":"Human Rights","childNodes":"0","parentPath":"00200-00081-00001"},{"cat_id":"206","cat_name":"International Political Economy","short_name":"International Political Economy","childNodes":"0","parentPath":"00200-00081-00001"},{"cat_id":"207","cat_name":"International Relations","short_name":"International Relations","childNodes":"0","parentPath":"00200-00081-00001"},{"cat_id":"208","cat_name":"Intro Political Science","short_name":"Intro Political Science","childNodes":"0","parentPath":"00200-00081-00001"},{"cat_id":"209","cat_name":"Policy Analysis","short_name":"Policy Analysis","childNodes":"0","parentPath":"00200-00081-00001"},{"cat_id":"210","cat_name":"Political Science","short_name":"Political Science","childNodes":"0","parentPath":"00200-00081-00001"},{"cat_id":"211","cat_name":"Presidency","short_name":"Presidency","childNodes":"0","parentPath":"00200-00081-00001"},{"cat_id":"212","cat_name":"Public Administration","short_name":"Public Administration","childNodes":"0","parentPath":"00200-00081-00001"},{"cat_id":"213","cat_name":"Public Policy","short_name":"Public Policy","childNodes":"0","parentPath":"00200-00081-00001"},{"cat_id":"214","cat_name":"Social Justice","short_name":"Social Justice","childNodes":"0","parentPath":"00200-00081-00001"},{"cat_id":"215","cat_name":"Terrorism","short_name":"Terrorism","childNodes":"0","parentPath":"00200-00081-00001"},{"cat_id":"216","cat_name":"UK Politics","short_name":"UK Politics","childNodes":"0","parentPath":"00200-00081-00001"},{"cat_id":"217","cat_name":"US Congress Leadership","short_name":"US Congress Leadership","childNodes":"0","parentPath":"00200-00081-00001"}]},{"cat_id":"218","cat_name":"Psychology","short_name":"Psychology","childNodes":"53","parentPath":"00081-00001","sub_categories":[{"cat_id":"219","cat_name":"Behavior Analysis","short_name":"Behavior Analysis","childNodes":"0","parentPath":"00218-00081-00001"},{"cat_id":"220","cat_name":"Behavioral Neuroscience","short_name":"Behavioral Neuroscience","childNodes":"0","parentPath":"00218-00081-00001"},{"cat_id":"221","cat_name":"Behavioral Statistics","short_name":"Behavioral Statistics","childNodes":"0","parentPath":"00218-00081-00001"},{"cat_id":"222","cat_name":"Biological Psychology","short_name":"Biological Psychology","childNodes":"0","parentPath":"00218-00081-00001"},{"cat_id":"223","cat_name":"Biopsychology","short_name":"Biopsychology","childNodes":"0","parentPath":"00218-00081-00001"},{"cat_id":"224","cat_name":"Brain and Behavior","short_name":"Brain and Behavior","childNodes":"0","parentPath":"00218-00081-00001"},{"cat_id":"225","cat_name":"Child Development","short_name":"Child Development","childNodes":"0","parentPath":"00218-00081-00001"},{"cat_id":"226","cat_name":"Child Psychology","short_name":"Child Psychology","childNodes":"0","parentPath":"00218-00081-00001"},{"cat_id":"227","cat_name":"Clinical Psychology","short_name":"Clinical Psychology","childNodes":"0","parentPath":"00218-00081-00001"},{"cat_id":"228","cat_name":"Cognitive Biases","short_name":"Cognitive Biases","childNodes":"0","parentPath":"00218-00081-00001"},{"cat_id":"229","cat_name":"Cognitive Neuroscience","short_name":"Cognitive Neuroscience","childNodes":"0","parentPath":"00218-00081-00001"},{"cat_id":"230","cat_name":"Cognitive Psychology","short_name":"Cognitive Psychology","childNodes":"0","parentPath":"00218-00081-00001"},{"cat_id":"231","cat_name":"Cognitive Science","short_name":"Cognitive Science","childNodes":"0","parentPath":"00218-00081-00001"},{"cat_id":"232","cat_name":"Community Psychology","short_name":"Community Psychology","childNodes":"0","parentPath":"00218-00081-00001"},{"cat_id":"233","cat_name":"Cultural Psychology","short_name":"Cultural Psychology","childNodes":"0","parentPath":"00218-00081-00001"},{"cat_id":"234","cat_name":"Developmental Psychology","short_name":"Developmental Psychology","childNodes":"0","parentPath":"00218-00081-00001"},{"cat_id":"235","cat_name":"Drugs and Behavior","short_name":"Drugs and Behavior","childNodes":"0","parentPath":"00218-00081-00001"},{"cat_id":"236","cat_name":"DSM","short_name":"DSM","childNodes":"0","parentPath":"00218-00081-00001"},{"cat_id":"237","cat_name":"DSM-5","short_name":"DSM-5","childNodes":"0","parentPath":"00218-00081-00001"},{"cat_id":"238","cat_name":"Educational Psychology","short_name":"Educational Psychology","childNodes":"0","parentPath":"00218-00081-00001"},{"cat_id":"239","cat_name":"Environmental Psychology","short_name":"Environmental Psychology","childNodes":"0","parentPath":"00218-00081-00001"},{"cat_id":"240","cat_name":"Evolutionary Psychology","short_name":"Evolutionary Psychology","childNodes":"0","parentPath":"00218-00081-00001"},{"cat_id":"241","cat_name":"Experimental Psychology","short_name":"Experimental Psychology","childNodes":"0","parentPath":"00218-00081-00001"},{"cat_id":"242","cat_name":"Forensic Pscyhology","short_name":"Forensic Pscyhology","childNodes":"0","parentPath":"00218-00081-00001"},{"cat_id":"243","cat_name":"Gender Psychology","short_name":"Gender Psychology","childNodes":"0","parentPath":"00218-00081-00001"},{"cat_id":"244","cat_name":"General Psychology","short_name":"General Psychology","childNodes":"0","parentPath":"00218-00081-00001"},{"cat_id":"245","cat_name":"Health Psychology","short_name":"Health Psychology","childNodes":"0","parentPath":"00218-00081-00001"},{"cat_id":"246","cat_name":"Human Behavior","short_name":"Human Behavior","childNodes":"0","parentPath":"00218-00081-00001"},{"cat_id":"247","cat_name":"Human Sexuality","short_name":"Human Sexuality","childNodes":"0","parentPath":"00218-00081-00001"},{"cat_id":"248","cat_name":"Industrial Psychology","short_name":"Industrial Psychology","childNodes":"0","parentPath":"00218-00081-00001"},{"cat_id":"249","cat_name":"Intro Psychology","short_name":"Intro Psychology","childNodes":"0","parentPath":"00218-00081-00001"},{"cat_id":"250","cat_name":"Language Development","short_name":"Language Development","childNodes":"0","parentPath":"00218-00081-00001"},{"cat_id":"251","cat_name":"Learning and Memory","short_name":"Learning and Memory","childNodes":"0","parentPath":"00218-00081-00001"},{"cat_id":"252","cat_name":"Lifespan Psychology","short_name":"Lifespan Psychology","childNodes":"0","parentPath":"00218-00081-00001"},{"cat_id":"253","cat_name":"Neuropsychology","short_name":"Neuropsychology","childNodes":"0","parentPath":"00218-00081-00001"},{"cat_id":"254","cat_name":"Phonology","short_name":"Phonology","childNodes":"0","parentPath":"00218-00081-00001"},{"cat_id":"255","cat_name":"Positive Psychology","short_name":"Positive Psychology","childNodes":"0","parentPath":"00218-00081-00001"},{"cat_id":"256","cat_name":"Psychobiology","short_name":"Psychobiology","childNodes":"0","parentPath":"00218-00081-00001"},{"cat_id":"257","cat_name":"Psychological Assessment","short_name":"Psychological Assessment","childNodes":"0","parentPath":"00218-00081-00001"},{"cat_id":"258","cat_name":"Psychological Statistics","short_name":"Psychological Statistics","childNodes":"0","parentPath":"00218-00081-00001"},{"cat_id":"259","cat_name":"Psychological Testing","short_name":"Psychological Testing","childNodes":"0","parentPath":"00218-00081-00001"},{"cat_id":"260","cat_name":"Psychology","short_name":"Psychology","childNodes":"0","parentPath":"00218-00081-00001"},{"cat_id":"261","cat_name":"Psychology Ethics","short_name":"Psychology Ethics","childNodes":"0","parentPath":"00218-00081-00001"},{"cat_id":"262","cat_name":"Psychopathology","short_name":"Psychopathology","childNodes":"0","parentPath":"00218-00081-00001"},{"cat_id":"263","cat_name":"Psychopharmacology","short_name":"Psychopharmacology","childNodes":"0","parentPath":"00218-00081-00001"},{"cat_id":"264","cat_name":"Psychosocial","short_name":"Psychosocial","childNodes":"0","parentPath":"00218-00081-00001"},{"cat_id":"265","cat_name":"Psychotherapy","short_name":"Psychotherapy","childNodes":"0","parentPath":"00218-00081-00001"},{"cat_id":"266","cat_name":"Psychotropic Drugs","short_name":"Psychotropic Drugs","childNodes":"0","parentPath":"00218-00081-00001"},{"cat_id":"267","cat_name":"Research Methods in Psych","short_name":"Research Methods in Psych","childNodes":"0","parentPath":"00218-00081-00001"},{"cat_id":"268","cat_name":"Sensation and Perception","short_name":"Sensation and Perception","childNodes":"0","parentPath":"00218-00081-00001"},{"cat_id":"269","cat_name":"Social Psychology","short_name":"Social Psychology","childNodes":"0","parentPath":"00218-00081-00001"},{"cat_id":"270","cat_name":"The Brain","short_name":"The Brain","childNodes":"0","parentPath":"00218-00081-00001"},{"cat_id":"271","cat_name":"Theories of Personality","short_name":"Theories of Personality","childNodes":"0","parentPath":"00218-00081-00001"}]},{"cat_id":"272","cat_name":"Religion and Bible","short_name":"Religion and Bible","childNodes":"19","parentPath":"00081-00001","sub_categories":[{"cat_id":"273","cat_name":"Aramaic","short_name":"Aramaic","childNodes":"0","parentPath":"00272-00081-00001"},{"cat_id":"274","cat_name":"Bible","short_name":"Bible","childNodes":"0","parentPath":"00272-00081-00001"},{"cat_id":"275","cat_name":"Bible Verses","short_name":"Bible Verses","childNodes":"0","parentPath":"00272-00081-00001"},{"cat_id":"276","cat_name":"Biblical Greek","short_name":"Biblical Greek","childNodes":"0","parentPath":"00272-00081-00001"},{"cat_id":"277","cat_name":"Buddhism","short_name":"Buddhism","childNodes":"0","parentPath":"00272-00081-00001"},{"cat_id":"278","cat_name":"Catholicism","short_name":"Catholicism","childNodes":"0","parentPath":"00272-00081-00001"},{"cat_id":"279","cat_name":"Christianity","short_name":"Christianity","childNodes":"0","parentPath":"00272-00081-00001"},{"cat_id":"280","cat_name":"Hebrew","short_name":"Hebrew","childNodes":"0","parentPath":"00272-00081-00001"},{"cat_id":"281","cat_name":"Hinduism","short_name":"Hinduism","childNodes":"0","parentPath":"00272-00081-00001"},{"cat_id":"282","cat_name":"Islam","short_name":"Islam","childNodes":"0","parentPath":"00272-00081-00001"},{"cat_id":"283","cat_name":"Judaism","short_name":"Judaism","childNodes":"0","parentPath":"00272-00081-00001"},{"cat_id":"284","cat_name":"New Testament","short_name":"New Testament","childNodes":"0","parentPath":"00272-00081-00001"},{"cat_id":"285","cat_name":"Old Testament","short_name":"Old Testament","childNodes":"0","parentPath":"00272-00081-00001"},{"cat_id":"286","cat_name":"Quran","short_name":"Quran","childNodes":"0","parentPath":"00272-00081-00001"},{"cat_id":"287","cat_name":"Religion","short_name":"Religion","childNodes":"0","parentPath":"00272-00081-00001"},{"cat_id":"288","cat_name":"Religious Studies","short_name":"Religious Studies","childNodes":"0","parentPath":"00272-00081-00001"},{"cat_id":"289","cat_name":"Sanskrit","short_name":"Sanskrit","childNodes":"0","parentPath":"00272-00081-00001"},{"cat_id":"290","cat_name":"Theology","short_name":"Theology","childNodes":"0","parentPath":"00272-00081-00001"},{"cat_id":"291","cat_name":"Torah","short_name":"Torah","childNodes":"0","parentPath":"00272-00081-00001"}]},{"cat_id":"309","cat_name":"Social Studies","short_name":"Social Studies","childNodes":"0","parentPath":"00081-00001"},{"cat_id":"310","cat_name":"Social Work","short_name":"Social Work","childNodes":"0","parentPath":"00081-00001"},{"cat_id":"292","cat_name":"Sociology","short_name":"Sociology","childNodes":"14","parentPath":"00081-00001","sub_categories":[{"cat_id":"293","cat_name":"Civil Rights","short_name":"Civil Rights","childNodes":"0","parentPath":"00292-00081-00001"},{"cat_id":"294","cat_name":"Cultural Diversity","short_name":"Cultural Diversity","childNodes":"0","parentPath":"00292-00081-00001"},{"cat_id":"295","cat_name":"Gender Studies","short_name":"Gender Studies","childNodes":"0","parentPath":"00292-00081-00001"},{"cat_id":"296","cat_name":"Group Dynamcis","short_name":"Group Dynamcis","childNodes":"0","parentPath":"00292-00081-00001"},{"cat_id":"297","cat_name":"Intro Sociology","short_name":"Intro Sociology","childNodes":"0","parentPath":"00292-00081-00001"},{"cat_id":"298","cat_name":"Juvenile Delinquency","short_name":"Juvenile Delinquency","childNodes":"0","parentPath":"00292-00081-00001"},{"cat_id":"299","cat_name":"Marriage & Family","short_name":"Marriage & Family","childNodes":"0","parentPath":"00292-00081-00001"},{"cat_id":"300","cat_name":"Mass Media Sociology","short_name":"Mass Media Sociology","childNodes":"0","parentPath":"00292-00081-00001"},{"cat_id":"301","cat_name":"Medical Sociology","short_name":"Medical Sociology","childNodes":"0","parentPath":"00292-00081-00001"},{"cat_id":"302","cat_name":"Social Control","short_name":"Social Control","childNodes":"0","parentPath":"00292-00081-00001"},{"cat_id":"303","cat_name":"Social Institutions","short_name":"Social Institutions","childNodes":"0","parentPath":"00292-00081-00001"},{"cat_id":"304","cat_name":"Sociology","short_name":"Sociology","childNodes":"0","parentPath":"00292-00081-00001"},{"cat_id":"305","cat_name":"Subcultures","short_name":"Subcultures","childNodes":"0","parentPath":"00292-00081-00001"},{"cat_id":"306","cat_name":"Youth Subcultures","short_name":"Youth Subcultures","childNodes":"0","parentPath":"00292-00081-00001"}]}]},{"cat_id":"623","cat_name":"Languages","short_name":"Languages","childNodes":"3","parentPath":"00001","sub_categories":[{"cat_id":"626","cat_name":"Africans","short_name":"Africans","childNodes":"0","parentPath":"00623-00001"},{"cat_id":"624","cat_name":"Xkhosa","short_name":"Xkhosa","childNodes":"0","parentPath":"00623-00001"},{"cat_id":"625","cat_name":"Zulu","short_name":"Zulu","childNodes":"0","parentPath":"00623-00001"}]},{"cat_id":"366","cat_name":"Law","short_name":"Law","childNodes":"29","parentPath":"00001","sub_categories":[{"cat_id":"368","cat_name":"Bankruptcy","short_name":"Bankruptcy","childNodes":"0","parentPath":"00366-00001"},{"cat_id":"369","cat_name":"Bar Exam","short_name":"Bar Exam","childNodes":"0","parentPath":"00366-00001"},{"cat_id":"370","cat_name":"Business Law","short_name":"Business Law","childNodes":"0","parentPath":"00366-00001"},{"cat_id":"371","cat_name":"California Bar Exam","short_name":"California Bar Exam","childNodes":"0","parentPath":"00366-00001"},{"cat_id":"372","cat_name":"CIPP Exam","short_name":"CIPP Exam","childNodes":"0","parentPath":"00366-00001"},{"cat_id":"373","cat_name":"Civil Procedure","short_name":"Civil Procedure","childNodes":"0","parentPath":"00366-00001"},{"cat_id":"374","cat_name":"Constitutional Law","short_name":"Constitutional Law","childNodes":"0","parentPath":"00366-00001"},{"cat_id":"375","cat_name":"Contract Law","short_name":"Contract Law","childNodes":"0","parentPath":"00366-00001"},{"cat_id":"376","cat_name":"Corporate Law","short_name":"Corporate Law","childNodes":"0","parentPath":"00366-00001"},{"cat_id":"377","cat_name":"Criminal Law","short_name":"Criminal Law","childNodes":"0","parentPath":"00366-00001"},{"cat_id":"378","cat_name":"Evidence","short_name":"Evidence","childNodes":"0","parentPath":"00366-00001"},{"cat_id":"379","cat_name":"Family Law","short_name":"Family Law","childNodes":"0","parentPath":"00366-00001"},{"cat_id":"380","cat_name":"Florida Bar Exam","short_name":"Florida Bar Exam","childNodes":"0","parentPath":"00366-00001"},{"cat_id":"381","cat_name":"Insurance Law","short_name":"Insurance Law","childNodes":"0","parentPath":"00366-00001"},{"cat_id":"382","cat_name":"Intellectual Property","short_name":"Intellectual Property","childNodes":"0","parentPath":"00366-00001"},{"cat_id":"383","cat_name":"International Law","short_name":"International Law","childNodes":"0","parentPath":"00366-00001"},{"cat_id":"384","cat_name":"Law","short_name":"Law","childNodes":"0","parentPath":"00366-00001"},{"cat_id":"385","cat_name":"Law & Ethics","short_name":"Law & Ethics","childNodes":"0","parentPath":"00366-00001"},{"cat_id":"386","cat_name":"Legal Studies","short_name":"Legal Studies","childNodes":"0","parentPath":"00366-00001"},{"cat_id":"367","cat_name":"Legislation Acts Policies","short_name":"Legislation Acts Policies","childNodes":"0","parentPath":"00366-00001"},{"cat_id":"387","cat_name":"Litigation","short_name":"Litigation","childNodes":"0","parentPath":"00366-00001"},{"cat_id":"388","cat_name":"MBE","short_name":"MBE","childNodes":"0","parentPath":"00366-00001"},{"cat_id":"389","cat_name":"MPRE","short_name":"MPRE","childNodes":"0","parentPath":"00366-00001"},{"cat_id":"390","cat_name":"Pharmacy Law","short_name":"Pharmacy Law","childNodes":"0","parentPath":"00366-00001"},{"cat_id":"391","cat_name":"Property Law","short_name":"Property Law","childNodes":"0","parentPath":"00366-00001"},{"cat_id":"392","cat_name":"Real Estate Law","short_name":"Real Estate Law","childNodes":"0","parentPath":"00366-00001"},{"cat_id":"393","cat_name":"Texas Bar Exam","short_name":"Texas Bar Exam","childNodes":"0","parentPath":"00366-00001"},{"cat_id":"394","cat_name":"Torts","short_name":"Torts","childNodes":"0","parentPath":"00366-00001"},{"cat_id":"395","cat_name":"Trusts & Estates","short_name":"Trusts & Estates","childNodes":"0","parentPath":"00366-00001"}]},{"cat_id":"311","cat_name":"Mathematics","short_name":"Mathematics","childNodes":"13","parentPath":"00001","sub_categories":[{"cat_id":"312","cat_name":"Algebra","short_name":"Algebra","childNodes":"0","parentPath":"00311-00001"},{"cat_id":"313","cat_name":"Algebra II","short_name":"Algebra II","childNodes":"0","parentPath":"00311-00001"},{"cat_id":"314","cat_name":"Arithmetic","short_name":"Arithmetic","childNodes":"0","parentPath":"00311-00001"},{"cat_id":"315","cat_name":"Calculus","short_name":"Calculus","childNodes":"0","parentPath":"00311-00001"},{"cat_id":"316","cat_name":"Geometry","short_name":"Geometry","childNodes":"0","parentPath":"00311-00001"},{"cat_id":"317","cat_name":"Linear Algebra","short_name":"Linear Algebra","childNodes":"0","parentPath":"00311-00001"},{"cat_id":"318","cat_name":"Math","short_name":"Math","childNodes":"0","parentPath":"00311-00001"},{"cat_id":"319","cat_name":"Multiplication Tables","short_name":"Multiplication Tables","childNodes":"0","parentPath":"00311-00001"},{"cat_id":"320","cat_name":"Precalculus","short_name":"Precalculus","childNodes":"0","parentPath":"00311-00001"},{"cat_id":"321","cat_name":"Probability","short_name":"Probability","childNodes":"0","parentPath":"00311-00001"},{"cat_id":"322","cat_name":"Statistical Methods","short_name":"Statistical Methods","childNodes":"0","parentPath":"00311-00001"},{"cat_id":"323","cat_name":"Statistics","short_name":"Statistics","childNodes":"0","parentPath":"00311-00001"},{"cat_id":"324","cat_name":"Trigonometry","short_name":"Trigonometry","childNodes":"0","parentPath":"00311-00001"}]},{"cat_id":"325","cat_name":"Medical & Nursing","short_name":"Medical & Nursing","childNodes":"15","parentPath":"00001","sub_categories":[{"cat_id":"326","cat_name":"Anatomy","short_name":"Anatomy","childNodes":"0","parentPath":"00325-00001"},{"cat_id":"327","cat_name":"Body Systems","short_name":"Body Systems","childNodes":"0","parentPath":"00325-00001"},{"cat_id":"328","cat_name":"Dentistry","short_name":"Dentistry","childNodes":"0","parentPath":"00325-00001"},{"cat_id":"329","cat_name":"Medical Courses & Subject Areas","short_name":"Medical Courses & Subject Areas","childNodes":"0","parentPath":"00325-00001"},{"cat_id":"330","cat_name":"Medical Exams","short_name":"Medical Exams","childNodes":"0","parentPath":"00325-00001"},{"cat_id":"331","cat_name":"Medical Subspecialties","short_name":"Medical Subspecialties","childNodes":"0","parentPath":"00325-00001"},{"cat_id":"332","cat_name":"Medical Terminology","short_name":"Medical Terminology","childNodes":"0","parentPath":"00325-00001"},{"cat_id":"333","cat_name":"Misc Healthcare Topics","short_name":"Misc Healthcare Topics","childNodes":"0","parentPath":"00325-00001"},{"cat_id":"334","cat_name":"Nursing Courses & Subject Areas","short_name":"Nursing Courses & Subject Areas","childNodes":"0","parentPath":"00325-00001"},{"cat_id":"335","cat_name":"Nursing Subspecialties","short_name":"Nursing Subspecialties","childNodes":"0","parentPath":"00325-00001"},{"cat_id":"336","cat_name":"Other Healthcare Fields","short_name":"Other Healthcare Fields","childNodes":"0","parentPath":"00325-00001"},{"cat_id":"337","cat_name":"Pharmacology","short_name":"Pharmacology","childNodes":"0","parentPath":"00325-00001"},{"cat_id":"338","cat_name":"Physiology","short_name":"Physiology","childNodes":"0","parentPath":"00325-00001"},{"cat_id":"339","cat_name":"Radiology & Diagnostic Imaging","short_name":"Radiology & Diagnostic Imaging","childNodes":"0","parentPath":"00325-00001"},{"cat_id":"340","cat_name":"Veterinary","short_name":"Veterinary","childNodes":"0","parentPath":"00325-00001"}]},{"cat_id":"11","cat_name":"Professional Certifications","short_name":"Professional Certifications","childNodes":"11","parentPath":"00001","sub_categories":[{"cat_id":"12","cat_name":"Bar Exam","short_name":"Bar Exam","childNodes":"0","parentPath":"00011-00001"},{"cat_id":"13","cat_name":"Drivers Ed","short_name":"Drivers Ed","childNodes":"0","parentPath":"00011-00001"},{"cat_id":"14","cat_name":"Financial Exams","short_name":"Financial Exams","childNodes":"0","parentPath":"00011-00001"},{"cat_id":"15","cat_name":"Management Certifications","short_name":"Management Certifications","childNodes":"0","parentPath":"00011-00001"},{"cat_id":"16","cat_name":"Medical & Nursing Certifications","short_name":"Medical & Nursing Certifications","childNodes":"0","parentPath":"00011-00001"},{"cat_id":"17","cat_name":"Military Exams","short_name":"Military Exams","childNodes":"0","parentPath":"00011-00001"},{"cat_id":"18","cat_name":"MPRE","short_name":"MPRE","childNodes":"0","parentPath":"00011-00001"},{"cat_id":"19","cat_name":"Other Certifications","short_name":"Other Certifications","childNodes":"0","parentPath":"00011-00001"},{"cat_id":"20","cat_name":"Technology Certifications","short_name":"Technology Certifications","childNodes":"0","parentPath":"00011-00001"},{"cat_id":"21","cat_name":"TOEFL","short_name":"TOEFL","childNodes":"0","parentPath":"00011-00001"},{"cat_id":"22","cat_name":"Wine & Spirits","short_name":"Wine & Spirits","childNodes":"0","parentPath":"00011-00001"}]},{"cat_id":"611","cat_name":"Random Knowledge","short_name":"Random Knowledge","childNodes":"11","parentPath":"00001","sub_categories":[{"cat_id":"612","cat_name":"Astrology","short_name":"Astrology","childNodes":"0","parentPath":"00611-00001"},{"cat_id":"613","cat_name":"Blackjack","short_name":"Blackjack","childNodes":"0","parentPath":"00611-00001"},{"cat_id":"614","cat_name":"Cultural Literacy","short_name":"Cultural Literacy","childNodes":"0","parentPath":"00611-00001"},{"cat_id":"615","cat_name":"Knowledge Rehab","short_name":"Knowledge Rehab","childNodes":"0","parentPath":"00611-00001"},{"cat_id":"616","cat_name":"Mythology","short_name":"Mythology","childNodes":"0","parentPath":"00611-00001"},{"cat_id":"617","cat_name":"National Capitals","short_name":"National Capitals","childNodes":"0","parentPath":"00611-00001"},{"cat_id":"618","cat_name":"People You Should Know","short_name":"People You Should Know","childNodes":"0","parentPath":"00611-00001"},{"cat_id":"619","cat_name":"Poker","short_name":"Poker","childNodes":"0","parentPath":"00611-00001"},{"cat_id":"620","cat_name":"Quiz Bowl","short_name":"Quiz Bowl","childNodes":"0","parentPath":"00611-00001"},{"cat_id":"621","cat_name":"Sports Trivia","short_name":"Sports Trivia","childNodes":"0","parentPath":"00611-00001"},{"cat_id":"622","cat_name":"Tarot Cards","short_name":"Tarot Cards","childNodes":"0","parentPath":"00611-00001"}]},{"cat_id":"38","cat_name":"Science","short_name":"Science","childNodes":"25","parentPath":"00001","sub_categories":[{"cat_id":"39","cat_name":"Anatomy","short_name":"Anatomy","childNodes":"0","parentPath":"00038-00001"},{"cat_id":"40","cat_name":"Astronomy","short_name":"Astronomy","childNodes":"0","parentPath":"00038-00001"},{"cat_id":"41","cat_name":"Biochemistry","short_name":"Biochemistry","childNodes":"0","parentPath":"00038-00001"},{"cat_id":"42","cat_name":"Biology","short_name":"Biology","childNodes":"0","parentPath":"00038-00001"},{"cat_id":"43","cat_name":"Cellular Biology","short_name":"Cellular Biology","childNodes":"0","parentPath":"00038-00001"},{"cat_id":"44","cat_name":"Chemistry","short_name":"Chemistry","childNodes":"0","parentPath":"00038-00001"},{"cat_id":"45","cat_name":"Earth Science","short_name":"Earth Science","childNodes":"0","parentPath":"00038-00001"},{"cat_id":"46","cat_name":"Environmental Science","short_name":"Environmental Science","childNodes":"0","parentPath":"00038-00001"},{"cat_id":"47","cat_name":"Genetics","short_name":"Genetics","childNodes":"0","parentPath":"00038-00001"},{"cat_id":"48","cat_name":"Geology","short_name":"Geology","childNodes":"0","parentPath":"00038-00001"},{"cat_id":"49","cat_name":"Life Science","short_name":"Life Science","childNodes":"0","parentPath":"00038-00001"},{"cat_id":"50","cat_name":"Marine Biology","short_name":"Marine Biology","childNodes":"0","parentPath":"00038-00001"},{"cat_id":"51","cat_name":"Meteorology","short_name":"Meteorology","childNodes":"0","parentPath":"00038-00001"},{"cat_id":"52","cat_name":"Microbiology","short_name":"Microbiology","childNodes":"0","parentPath":"00038-00001"},{"cat_id":"53","cat_name":"Molecular Biology","short_name":"Molecular Biology","childNodes":"0","parentPath":"00038-00001"},{"cat_id":"54","cat_name":"Natural Science","short_name":"Natural Science","childNodes":"0","parentPath":"00038-00001"},{"cat_id":"55","cat_name":"Oceanography","short_name":"Oceanography","childNodes":"0","parentPath":"00038-00001"},{"cat_id":"56","cat_name":"Organic Chemistry","short_name":"Organic Chemistry","childNodes":"0","parentPath":"00038-00001"},{"cat_id":"57","cat_name":"Periodic Table","short_name":"Periodic Table","childNodes":"0","parentPath":"00038-00001"},{"cat_id":"58","cat_name":"Physical Science","short_name":"Physical Science","childNodes":"0","parentPath":"00038-00001"},{"cat_id":"59","cat_name":"Physics","short_name":"Physics","childNodes":"0","parentPath":"00038-00001"},{"cat_id":"60","cat_name":"Physiology","short_name":"Physiology","childNodes":"0","parentPath":"00038-00001"},{"cat_id":"61","cat_name":"Plant Science","short_name":"Plant Science","childNodes":"0","parentPath":"00038-00001"},{"cat_id":"62","cat_name":"Science Class","short_name":"Science Class","childNodes":"0","parentPath":"00038-00001"},{"cat_id":"63","cat_name":"Zoology","short_name":"Zoology","childNodes":"0","parentPath":"00038-00001"}]},{"cat_id":"525","cat_name":"Technology & Engineering","short_name":"Technology & Engineering","childNodes":"9","parentPath":"00001","sub_categories":[{"cat_id":"526","cat_name":"Architecture","short_name":"Architecture","childNodes":"0","parentPath":"00525-00001"},{"cat_id":"527","cat_name":"Biotechnology","short_name":"Biotechnology","childNodes":"0","parentPath":"00525-00001"},{"cat_id":"528","cat_name":"Computer Programming","short_name":"Computer Programming","childNodes":"22","parentPath":"00525-00001","sub_categories":[{"cat_id":"529","cat_name":"Agile","short_name":"Agile","childNodes":"1","parentPath":"00528-00525-00001","sub_categories":[{"cat_id":"628","cat_name":"test category","short_name":"test category","childNodes":"0","parentPath":"00529-00528-00525-00001"}]},{"cat_id":"530","cat_name":"AWS","short_name":"AWS","childNodes":"0","parentPath":"00528-00525-00001"},{"cat_id":"550","cat_name":"Brainscape Certified (\u00c2\u00a0See All\u00c2\u00a0)","short_name":"Brainscape Certified (\u00c2\u00a0See All\u00c2\u00a0)","childNodes":"0","parentPath":"00528-00525-00001"},{"cat_id":"531","cat_name":"Computer Programming","short_name":"Computer Programming","childNodes":"0","parentPath":"00528-00525-00001"},{"cat_id":"532","cat_name":"Cryptography","short_name":"Cryptography","childNodes":"0","parentPath":"00528-00525-00001"},{"cat_id":"533","cat_name":"Git Commands","short_name":"Git Commands","childNodes":"0","parentPath":"00528-00525-00001"},{"cat_id":"534","cat_name":"HTML","short_name":"HTML","childNodes":"0","parentPath":"00528-00525-00001"},{"cat_id":"535","cat_name":"Java","short_name":"Java","childNodes":"0","parentPath":"00528-00525-00001"},{"cat_id":"536","cat_name":"Javascript","short_name":"Javascript","childNodes":"0","parentPath":"00528-00525-00001"},{"cat_id":"537","cat_name":"Keyboard Shortcuts","short_name":"Keyboard Shortcuts","childNodes":"0","parentPath":"00528-00525-00001"},{"cat_id":"538","cat_name":"Kubernetes","short_name":"Kubernetes","childNodes":"0","parentPath":"00528-00525-00001"},{"cat_id":"539","cat_name":"Linux","short_name":"Linux","childNodes":"0","parentPath":"00528-00525-00001"},{"cat_id":"540","cat_name":"Mac OS","short_name":"Mac OS","childNodes":"0","parentPath":"00528-00525-00001"},{"cat_id":"541","cat_name":"Objective-C","short_name":"Objective-C","childNodes":"0","parentPath":"00528-00525-00001"},{"cat_id":"542","cat_name":"PHP","short_name":"PHP","childNodes":"0","parentPath":"00528-00525-00001"},{"cat_id":"543","cat_name":"Python","short_name":"Python","childNodes":"0","parentPath":"00528-00525-00001"},{"cat_id":"544","cat_name":"React","short_name":"React","childNodes":"0","parentPath":"00528-00525-00001"},{"cat_id":"545","cat_name":"Ruby","short_name":"Ruby","childNodes":"0","parentPath":"00528-00525-00001"},{"cat_id":"546","cat_name":"Ruby on Rails","short_name":"Ruby on Rails","childNodes":"0","parentPath":"00528-00525-00001"},{"cat_id":"547","cat_name":"Swift","short_name":"Swift","childNodes":"0","parentPath":"00528-00525-00001"},{"cat_id":"548","cat_name":"Tech Startup Genius","short_name":"Tech Startup Genius","childNodes":"0","parentPath":"00528-00525-00001"},{"cat_id":"549","cat_name":"Wordpress","short_name":"Wordpress","childNodes":"0","parentPath":"00528-00525-00001"}]},{"cat_id":"551","cat_name":"Computer Science","short_name":"Computer Science","childNodes":"28","parentPath":"00525-00001","sub_categories":[{"cat_id":"552","cat_name":"Algorithms","short_name":"Algorithms","childNodes":"1","parentPath":"00551-00525-00001","sub_categories":[{"cat_id":"630","cat_name":"               ","short_name":"               ","childNodes":"0","parentPath":"00552-00551-00525-00001"}]},{"cat_id":"553","cat_name":"Artificial Intelligence","short_name":"Artificial Intelligence","childNodes":"0","parentPath":"00551-00525-00001"},{"cat_id":"554","cat_name":"Computer Architecture","short_name":"Computer Architecture","childNodes":"0","parentPath":"00551-00525-00001"},{"cat_id":"555","cat_name":"Computer Concepts","short_name":"Computer Concepts","childNodes":"0","parentPath":"00551-00525-00001"},{"cat_id":"556","cat_name":"Computer Literacy","short_name":"Computer Literacy","childNodes":"0","parentPath":"00551-00525-00001"},{"cat_id":"557","cat_name":"Computer Science","short_name":"Computer Science","childNodes":"0","parentPath":"00551-00525-00001"},{"cat_id":"558","cat_name":"Computer Security","short_name":"Computer Security","childNodes":"0","parentPath":"00551-00525-00001"},{"cat_id":"559","cat_name":"Computer Systems","short_name":"Computer Systems","childNodes":"0","parentPath":"00551-00525-00001"},{"cat_id":"560","cat_name":"Computing","short_name":"Computing","childNodes":"0","parentPath":"00551-00525-00001"},{"cat_id":"561","cat_name":"Cybersecurity","short_name":"Cybersecurity","childNodes":"0","parentPath":"00551-00525-00001"},{"cat_id":"562","cat_name":"Data Mining","short_name":"Data Mining","childNodes":"0","parentPath":"00551-00525-00001"},{"cat_id":"563","cat_name":"Data Science","short_name":"Data Science","childNodes":"0","parentPath":"00551-00525-00001"},{"cat_id":"564","cat_name":"Data Structures","short_name":"Data Structures","childNodes":"0","parentPath":"00551-00525-00001"},{"cat_id":"565","cat_name":"Database","short_name":"Database","childNodes":"0","parentPath":"00551-00525-00001"},{"cat_id":"566","cat_name":"Database Management","short_name":"Database Management","childNodes":"0","parentPath":"00551-00525-00001"},{"cat_id":"567","cat_name":"Deep Learning","short_name":"Deep Learning","childNodes":"0","parentPath":"00551-00525-00001"},{"cat_id":"568","cat_name":"Discrete Structures","short_name":"Discrete Structures","childNodes":"0","parentPath":"00551-00525-00001"},{"cat_id":"569","cat_name":"Human Computer Interaction","short_name":"Human Computer Interaction","childNodes":"0","parentPath":"00551-00525-00001"},{"cat_id":"570","cat_name":"Informatics","short_name":"Informatics","childNodes":"0","parentPath":"00551-00525-00001"},{"cat_id":"571","cat_name":"Intro to Computers","short_name":"Intro to Computers","childNodes":"0","parentPath":"00551-00525-00001"},{"cat_id":"572","cat_name":"Machine Learning","short_name":"Machine Learning","childNodes":"0","parentPath":"00551-00525-00001"},{"cat_id":"573","cat_name":"Network Security","short_name":"Network Security","childNodes":"0","parentPath":"00551-00525-00001"},{"cat_id":"574","cat_name":"Networking","short_name":"Networking","childNodes":"0","parentPath":"00551-00525-00001"},{"cat_id":"575","cat_name":"Object Oriented Programming","short_name":"Object Oriented Programming","childNodes":"0","parentPath":"00551-00525-00001"},{"cat_id":"576","cat_name":"Operating Systems","short_name":"Operating Systems","childNodes":"0","parentPath":"00551-00525-00001"},{"cat_id":"577","cat_name":"Programming","short_name":"Programming","childNodes":"0","parentPath":"00551-00525-00001"},{"cat_id":"578","cat_name":"Robotics","short_name":"Robotics","childNodes":"0","parentPath":"00551-00525-00001"},{"cat_id":"579","cat_name":"Software Development","short_name":"Software Development","childNodes":"0","parentPath":"00551-00525-00001"}]},{"cat_id":"581","cat_name":"Engineering","short_name":"Engineering","childNodes":"12","parentPath":"00525-00001","sub_categories":[{"cat_id":"582","cat_name":"Amateur Radio","short_name":"Amateur Radio","childNodes":"0","parentPath":"00581-00525-00001"},{"cat_id":"583","cat_name":"Architecture","short_name":"Architecture","childNodes":"0","parentPath":"00581-00525-00001"},{"cat_id":"584","cat_name":"Circuits","short_name":"Circuits","childNodes":"0","parentPath":"00581-00525-00001"},{"cat_id":"585","cat_name":"Civil Engineering","short_name":"Civil Engineering","childNodes":"0","parentPath":"00581-00525-00001"},{"cat_id":"586","cat_name":"Construction","short_name":"Construction","childNodes":"0","parentPath":"00581-00525-00001"},{"cat_id":"587","cat_name":"Electrical Engineering","short_name":"Electrical Engineering","childNodes":"0","parentPath":"00581-00525-00001"},{"cat_id":"588","cat_name":"Engineering Science","short_name":"Engineering Science","childNodes":"0","parentPath":"00581-00525-00001"},{"cat_id":"589","cat_name":"Materials Science","short_name":"Materials Science","childNodes":"0","parentPath":"00581-00525-00001"},{"cat_id":"590","cat_name":"Mechanical Engineering","short_name":"Mechanical Engineering","childNodes":"0","parentPath":"00581-00525-00001"},{"cat_id":"591","cat_name":"Millwright","short_name":"Millwright","childNodes":"0","parentPath":"00581-00525-00001"},{"cat_id":"592","cat_name":"Morse Code","short_name":"Morse Code","childNodes":"0","parentPath":"00581-00525-00001"},{"cat_id":"593","cat_name":"Power Engineering","short_name":"Power Engineering","childNodes":"0","parentPath":"00581-00525-00001"}]},{"cat_id":"594","cat_name":"Graphic Design","short_name":"Graphic Design","childNodes":"0","parentPath":"00525-00001"},{"cat_id":"595","cat_name":"Information Security","short_name":"Information Security","childNodes":"0","parentPath":"00525-00001"},{"cat_id":"596","cat_name":"Information Technology","short_name":"Information Technology","childNodes":"0","parentPath":"00525-00001"},{"cat_id":"597","cat_name":"Management Information Systems","short_name":"Management Information Systems","childNodes":"0","parentPath":"00525-00001"}]},{"cat_id":"341","cat_name":"Vocations","short_name":"Vocations","childNodes":"24","parentPath":"00001","sub_categories":[{"cat_id":"342","cat_name":"ASVAB","short_name":"ASVAB","childNodes":"0","parentPath":"00341-00001"},{"cat_id":"343","cat_name":"Automotive","short_name":"Automotive","childNodes":"0","parentPath":"00341-00001"},{"cat_id":"344","cat_name":"Aviation","short_name":"Aviation","childNodes":"0","parentPath":"00341-00001"},{"cat_id":"345","cat_name":"Barbering","short_name":"Barbering","childNodes":"0","parentPath":"00341-00001"},{"cat_id":"346","cat_name":"Boating","short_name":"Boating","childNodes":"0","parentPath":"00341-00001"},{"cat_id":"347","cat_name":"Cosmetology","short_name":"Cosmetology","childNodes":"0","parentPath":"00341-00001"},{"cat_id":"348","cat_name":"Diamonds","short_name":"Diamonds","childNodes":"0","parentPath":"00341-00001"},{"cat_id":"349","cat_name":"Electrical","short_name":"Electrical","childNodes":"0","parentPath":"00341-00001"},{"cat_id":"350","cat_name":"Electrician","short_name":"Electrician","childNodes":"0","parentPath":"00341-00001"},{"cat_id":"351","cat_name":"Firefighting","short_name":"Firefighting","childNodes":"0","parentPath":"00341-00001"},{"cat_id":"352","cat_name":"Gardening","short_name":"Gardening","childNodes":"0","parentPath":"00341-00001"},{"cat_id":"353","cat_name":"Home Economics","short_name":"Home Economics","childNodes":"0","parentPath":"00341-00001"},{"cat_id":"354","cat_name":"Horticulture","short_name":"Horticulture","childNodes":"0","parentPath":"00341-00001"},{"cat_id":"355","cat_name":"HVAC","short_name":"HVAC","childNodes":"0","parentPath":"00341-00001"},{"cat_id":"356","cat_name":"Interior Design","short_name":"Interior Design","childNodes":"0","parentPath":"00341-00001"},{"cat_id":"357","cat_name":"Landscape Architecture","short_name":"Landscape Architecture","childNodes":"0","parentPath":"00341-00001"},{"cat_id":"358","cat_name":"Massage Therapy","short_name":"Massage Therapy","childNodes":"0","parentPath":"00341-00001"},{"cat_id":"359","cat_name":"Metallurgy","short_name":"Metallurgy","childNodes":"0","parentPath":"00341-00001"},{"cat_id":"360","cat_name":"Military","short_name":"Military","childNodes":"0","parentPath":"00341-00001"},{"cat_id":"361","cat_name":"Pest Control","short_name":"Pest Control","childNodes":"0","parentPath":"00341-00001"},{"cat_id":"362","cat_name":"Plumbing","short_name":"Plumbing","childNodes":"0","parentPath":"00341-00001"},{"cat_id":"363","cat_name":"Policing","short_name":"Policing","childNodes":"0","parentPath":"00341-00001"},{"cat_id":"364","cat_name":"Wastewater","short_name":"Wastewater","childNodes":"0","parentPath":"00341-00001"},{"cat_id":"365","cat_name":"Welding","short_name":"Welding","childNodes":"0","parentPath":"00341-00001"}]}]}
[13/Apr/2026:13:23:50] (root_api-) token =  IP = 122.167.187.129
[13/Apr/2026:13:23:50] (root_api-) 
[13/Apr/2026:13:23:50] (root_api-) OP=  of page root_api.php
[13/Apr/2026:13:23:50] (root_api-) Final JSON =  { "status":"error",
					"message":"Invalid Session",
					"Errorcode":"err100",
					"data":{}}
[13/Apr/2026:13:23:50] (root_api-) token = 66bbc87451ad3590b670daae13ee0619 IP = 122.167.187.129
[13/Apr/2026:13:23:50] (root_api-) op => getFrontCategoryMenu ,categoryId =>  ,clid => 66bbc87451ad3590b670daae13ee0619 ,serviceName => category_data ,
[13/Apr/2026:13:23:50] (root_api-) OP= getFrontCategoryMenu of page root_api.php
[13/Apr/2026:13:23:50] (root_api-) serviceName category_data
[13/Apr/2026:13:23:50] (root_api-) getFrontCategoryMenu : [1] get category with category default root.
[13/Apr/2026:13:23:50] (root_api-) Query~select ct.cat_id,ct.cat_name,ct.short_name,ct.`status`,
	fn_getChildCount(ct.cat_id) as childNodes,fn_getParentPath(ct.cat_id) as parentPath
	from tbl_category ct
	left join tbl_category ctp on ct.cat_parent_id = ctp.cat_id
	 where ct.cat_parent_id='1' AND ct.status = 'active'
	order by fn_getParentPath(ct.cat_id), ct.cat_name~2026-04-13 13:23:50:0450~2026-04-13 13:23:50~success
[13/Apr/2026:13:23:50] (root_api-) getFrontCategoryMenu : [1] get category with category default root.
[13/Apr/2026:13:23:50] (root_api-) Query~select ct.cat_id,ct.cat_name,ct.short_name,ct.`status`,
	fn_getChildCount(ct.cat_id) as childNodes,fn_getParentPath(ct.cat_id) as parentPath
	from tbl_category ct
	left join tbl_category ctp on ct.cat_parent_id = ctp.cat_id
	 where ct.cat_parent_id='410' AND ct.status = 'active'
	order by fn_getParentPath(ct.cat_id), ct.cat_name~2026-04-13 13:23:50:0450~2026-04-13 13:23:50~success
[13/Apr/2026:13:23:50] (root_api-) getFrontCategoryMenu : [1] get category with category default root.
[13/Apr/2026:13:23:50] (root_api-) Query~select ct.cat_id,ct.cat_name,ct.short_name,ct.`status`,
	fn_getChildCount(ct.cat_id) as childNodes,fn_getParentPath(ct.cat_id) as parentPath
	from tbl_category ct
	left join tbl_category ctp on ct.cat_parent_id = ctp.cat_id
	 where ct.cat_parent_id='411' AND ct.status = 'active'
	order by fn_getParentPath(ct.cat_id), ct.cat_name~2026-04-13 13:23:50:0450~2026-04-13 13:23:50~success
[13/Apr/2026:13:23:50] (root_api-) getFrontCategoryMenu : [1] get category with category default root.
[13/Apr/2026:13:23:50] (root_api-) Query~select ct.cat_id,ct.cat_name,ct.short_name,ct.`status`,
	fn_getChildCount(ct.cat_id) as childNodes,fn_getParentPath(ct.cat_id) as parentPath
	from tbl_category ct
	left join tbl_category ctp on ct.cat_parent_id = ctp.cat_id
	 where ct.cat_parent_id='433' AND ct.status = 'active'
	order by fn_getParentPath(ct.cat_id), ct.cat_name~2026-04-13 13:23:50:0450~2026-04-13 13:23:50~success
[13/Apr/2026:13:23:50] (root_api-) getFrontCategoryMenu : [1] get category with category default root.
[13/Apr/2026:13:23:50] (root_api-) Query~select ct.cat_id,ct.cat_name,ct.short_name,ct.`status`,
	fn_getChildCount(ct.cat_id) as childNodes,fn_getParentPath(ct.cat_id) as parentPath
	from tbl_category ct
	left join tbl_category ctp on ct.cat_parent_id = ctp.cat_id
	 where ct.cat_parent_id='458' AND ct.status = 'active'
	order by fn_getParentPath(ct.cat_id), ct.cat_name~2026-04-13 13:23:50:0450~2026-04-13 13:23:50~success
[13/Apr/2026:13:23:50] (root_api-) getFrontCategoryMenu : [1] get category with category default root.
[13/Apr/2026:13:23:50] (root_api-) Query~select ct.cat_id,ct.cat_name,ct.short_name,ct.`status`,
	fn_getChildCount(ct.cat_id) as childNodes,fn_getParentPath(ct.cat_id) as parentPath
	from tbl_category ct
	left join tbl_category ctp on ct.cat_parent_id = ctp.cat_id
	 where ct.cat_parent_id='485' AND ct.status = 'active'
	order by fn_getParentPath(ct.cat_id), ct.cat_name~2026-04-13 13:23:50:0450~2026-04-13 13:23:50~success
[13/Apr/2026:13:23:50] (root_api-) getFrontCategoryMenu : [1] get category with category default root.
[13/Apr/2026:13:23:50] (root_api-) Query~select ct.cat_id,ct.cat_name,ct.short_name,ct.`status`,
	fn_getChildCount(ct.cat_id) as childNodes,fn_getParentPath(ct.cat_id) as parentPath
	from tbl_category ct
	left join tbl_category ctp on ct.cat_parent_id = ctp.cat_id
	 where ct.cat_parent_id='499' AND ct.status = 'active'
	order by fn_getParentPath(ct.cat_id), ct.cat_name~2026-04-13 13:23:50:0450~2026-04-13 13:23:50~success
[13/Apr/2026:13:23:50] (root_api-) getFrontCategoryMenu : [1] get category with category default root.
[13/Apr/2026:13:23:50] (root_api-) Query~select ct.cat_id,ct.cat_name,ct.short_name,ct.`status`,
	fn_getChildCount(ct.cat_id) as childNodes,fn_getParentPath(ct.cat_id) as parentPath
	from tbl_category ct
	left join tbl_category ctp on ct.cat_parent_id = ctp.cat_id
	 where ct.cat_parent_id='514' AND ct.status = 'active'
	order by fn_getParentPath(ct.cat_id), ct.cat_name~2026-04-13 13:23:50:0450~2026-04-13 13:23:50~success
[13/Apr/2026:13:23:50] (root_api-) getFrontCategoryMenu : [1] get category with category default root.
[13/Apr/2026:13:23:50] (root_api-) Query~select ct.cat_id,ct.cat_name,ct.short_name,ct.`status`,
	fn_getChildCount(ct.cat_id) as childNodes,fn_getParentPath(ct.cat_id) as parentPath
	from tbl_category ct
	left join tbl_category ctp on ct.cat_parent_id = ctp.cat_id
	 where ct.cat_parent_id='64' AND ct.status = 'active'
	order by fn_getParentPath(ct.cat_id), ct.cat_name~2026-04-13 13:23:50:0450~2026-04-13 13:23:50~success
[13/Apr/2026:13:23:50] (root_api-) getFrontCategoryMenu : [1] get category with category default root.
[13/Apr/2026:13:23:50] (root_api-) Query~select ct.cat_id,ct.cat_name,ct.short_name,ct.`status`,
	fn_getChildCount(ct.cat_id) as childNodes,fn_getParentPath(ct.cat_id) as parentPath
	from tbl_category ct
	left join tbl_category ctp on ct.cat_parent_id = ctp.cat_id
	 where ct.cat_parent_id='2' AND ct.status = 'active'
	order by fn_getParentPath(ct.cat_id), ct.cat_name~2026-04-13 13:23:50:0450~2026-04-13 13:23:50~success
[13/Apr/2026:13:23:50] (root_api-) getFrontCategoryMenu : [1] get category with category default root.
[13/Apr/2026:13:23:50] (root_api-) Query~select ct.cat_id,ct.cat_name,ct.short_name,ct.`status`,
	fn_getChildCount(ct.cat_id) as childNodes,fn_getParentPath(ct.cat_id) as parentPath
	from tbl_category ct
	left join tbl_category ctp on ct.cat_parent_id = ctp.cat_id
	 where ct.cat_parent_id='605' AND ct.status = 'active'
	order by fn_getParentPath(ct.cat_id), ct.cat_name~2026-04-13 13:23:50:0450~2026-04-13 13:23:50~success
[13/Apr/2026:13:23:50] (root_api-) getFrontCategoryMenu : [1] get category with category default root.
[13/Apr/2026:13:23:50] (root_api-) Query~select ct.cat_id,ct.cat_name,ct.short_name,ct.`status`,
	fn_getChildCount(ct.cat_id) as childNodes,fn_getParentPath(ct.cat_id) as parentPath
	from tbl_category ct
	left join tbl_category ctp on ct.cat_parent_id = ctp.cat_id
	 where ct.cat_parent_id='598' AND ct.status = 'active'
	order by fn_getParentPath(ct.cat_id), ct.cat_name~2026-04-13 13:23:50:0450~2026-04-13 13:23:50~success
[13/Apr/2026:13:23:50] (root_api-) getFrontCategoryMenu : [1] get category with category default root.
[13/Apr/2026:13:23:50] (root_api-) Query~select ct.cat_id,ct.cat_name,ct.short_name,ct.`status`,
	fn_getChildCount(ct.cat_id) as childNodes,fn_getParentPath(ct.cat_id) as parentPath
	from tbl_category ct
	left join tbl_category ctp on ct.cat_parent_id = ctp.cat_id
	 where ct.cat_parent_id='23' AND ct.status = 'active'
	order by fn_getParentPath(ct.cat_id), ct.cat_name~2026-04-13 13:23:50:0450~2026-04-13 13:23:50~success
[13/Apr/2026:13:23:50] (root_api-) getFrontCategoryMenu : [1] get category with category default root.
[13/Apr/2026:13:23:50] (root_api-) Query~select ct.cat_id,ct.cat_name,ct.short_name,ct.`status`,
	fn_getChildCount(ct.cat_id) as childNodes,fn_getParentPath(ct.cat_id) as parentPath
	from tbl_category ct
	left join tbl_category ctp on ct.cat_parent_id = ctp.cat_id
	 where ct.cat_parent_id='396' AND ct.status = 'active'
	order by fn_getParentPath(ct.cat_id), ct.cat_name~2026-04-13 13:23:50:0450~2026-04-13 13:23:50~success
[13/Apr/2026:13:23:50] (root_api-) getFrontCategoryMenu : [1] get category with category default root.
[13/Apr/2026:13:23:50] (root_api-) Query~select ct.cat_id,ct.cat_name,ct.short_name,ct.`status`,
	fn_getChildCount(ct.cat_id) as childNodes,fn_getParentPath(ct.cat_id) as parentPath
	from tbl_category ct
	left join tbl_category ctp on ct.cat_parent_id = ctp.cat_id
	 where ct.cat_parent_id='81' AND ct.status = 'active'
	order by fn_getParentPath(ct.cat_id), ct.cat_name~2026-04-13 13:23:50:0450~2026-04-13 13:23:50~success
[13/Apr/2026:13:23:50] (root_api-) getFrontCategoryMenu : [1] get category with category default root.
[13/Apr/2026:13:23:50] (root_api-) Query~select ct.cat_id,ct.cat_name,ct.short_name,ct.`status`,
	fn_getChildCount(ct.cat_id) as childNodes,fn_getParentPath(ct.cat_id) as parentPath
	from tbl_category ct
	left join tbl_category ctp on ct.cat_parent_id = ctp.cat_id
	 where ct.cat_parent_id='90' AND ct.status = 'active'
	order by fn_getParentPath(ct.cat_id), ct.cat_name~2026-04-13 13:23:50:0450~2026-04-13 13:23:50~success
[13/Apr/2026:13:23:50] (root_api-) getFrontCategoryMenu : [1] get category with category default root.
[13/Apr/2026:13:23:50] (root_api-) Query~select ct.cat_id,ct.cat_name,ct.short_name,ct.`status`,
	fn_getChildCount(ct.cat_id) as childNodes,fn_getParentPath(ct.cat_id) as parentPath
	from tbl_category ct
	left join tbl_category ctp on ct.cat_parent_id = ctp.cat_id
	 where ct.cat_parent_id='107' AND ct.status = 'active'
	order by fn_getParentPath(ct.cat_id), ct.cat_name~2026-04-13 13:23:50:0450~2026-04-13 13:23:50~success
[13/Apr/2026:13:23:50] (root_api-) getFrontCategoryMenu : [1] get category with category default root.
[13/Apr/2026:13:23:50] (root_api-) Query~select ct.cat_id,ct.cat_name,ct.short_name,ct.`status`,
	fn_getChildCount(ct.cat_id) as childNodes,fn_getParentPath(ct.cat_id) as parentPath
	from tbl_category ct
	left join tbl_category ctp on ct.cat_parent_id = ctp.cat_id
	 where ct.cat_parent_id='117' AND ct.status = 'active'
	order by fn_getParentPath(ct.cat_id), ct.cat_name~2026-04-13 13:23:50:0450~2026-04-13 13:23:50~success
[13/Apr/2026:13:23:50] (root_api-) getFrontCategoryMenu : [1] get category with category default root.
[13/Apr/2026:13:23:50] (root_api-) Query~select ct.cat_id,ct.cat_name,ct.short_name,ct.`status`,
	fn_getChildCount(ct.cat_id) as childNodes,fn_getParentPath(ct.cat_id) as parentPath
	from tbl_category ct
	left join tbl_category ctp on ct.cat_parent_id = ctp.cat_id
	 where ct.cat_parent_id='137' AND ct.status = 'active'
	order by fn_getParentPath(ct.cat_id), ct.cat_name~2026-04-13 13:23:50:0450~2026-04-13 13:23:50~success
[13/Apr/2026:13:23:50] (root_api-) getFrontCategoryMenu : [1] get category with category default root.
[13/Apr/2026:13:23:50] (root_api-) Query~select ct.cat_id,ct.cat_name,ct.short_name,ct.`status`,
	fn_getChildCount(ct.cat_id) as childNodes,fn_getParentPath(ct.cat_id) as parentPath
	from tbl_category ct
	left join tbl_category ctp on ct.cat_parent_id = ctp.cat_id
	 where ct.cat_parent_id='138' AND ct.status = 'active'
	order by fn_getParentPath(ct.cat_id), ct.cat_name~2026-04-13 13:23:50:0450~2026-04-13 13:23:50~success
[13/Apr/2026:13:23:50] (root_api-) getFrontCategoryMenu : [1] get category with category default root.
[13/Apr/2026:13:23:50] (root_api-) Query~select ct.cat_id,ct.cat_name,ct.short_name,ct.`status`,
	fn_getChildCount(ct.cat_id) as childNodes,fn_getParentPath(ct.cat_id) as parentPath
	from tbl_category ct
	left join tbl_category ctp on ct.cat_parent_id = ctp.cat_id
	 where ct.cat_parent_id='144' AND ct.status = 'active'
	order by fn_getParentPath(ct.cat_id), ct.cat_name~2026-04-13 13:23:50:0450~2026-04-13 13:23:50~success
[13/Apr/2026:13:23:50] (root_api-) getFrontCategoryMenu : [1] get category with category default root.
[13/Apr/2026:13:23:50] (root_api-) Query~select ct.cat_id,ct.cat_name,ct.short_name,ct.`status`,
	fn_getChildCount(ct.cat_id) as childNodes,fn_getParentPath(ct.cat_id) as parentPath
	from tbl_category ct
	left join tbl_category ctp on ct.cat_parent_id = ctp.cat_id
	 where ct.cat_parent_id='164' AND ct.status = 'active'
	order by fn_getParentPath(ct.cat_id), ct.cat_name~2026-04-13 13:23:50:0450~2026-04-13 13:23:50~success
[13/Apr/2026:13:23:50] (root_api-) getFrontCategoryMenu : [1] get category with category default root.
[13/Apr/2026:13:23:50] (root_api-) Query~select ct.cat_id,ct.cat_name,ct.short_name,ct.`status`,
	fn_getChildCount(ct.cat_id) as childNodes,fn_getParentPath(ct.cat_id) as parentPath
	from tbl_category ct
	left join tbl_category ctp on ct.cat_parent_id = ctp.cat_id
	 where ct.cat_parent_id='179' AND ct.status = 'active'
	order by fn_getParentPath(ct.cat_id), ct.cat_name~2026-04-13 13:23:50:0450~2026-04-13 13:23:50~success
[13/Apr/2026:13:23:50] (root_api-) getFrontCategoryMenu : [1] get category with category default root.
[13/Apr/2026:13:23:50] (root_api-) Query~select ct.cat_id,ct.cat_name,ct.short_name,ct.`status`,
	fn_getChildCount(ct.cat_id) as childNodes,fn_getParentPath(ct.cat_id) as parentPath
	from tbl_category ct
	left join tbl_category ctp on ct.cat_parent_id = ctp.cat_id
	 where ct.cat_parent_id='82' AND ct.status = 'active'
	order by fn_getParentPath(ct.cat_id), ct.cat_name~2026-04-13 13:23:50:0450~2026-04-13 13:23:50~success
[13/Apr/2026:13:23:50] (root_api-) getFrontCategoryMenu : [1] get category with category default root.
[13/Apr/2026:13:23:50] (root_api-) Query~select ct.cat_id,ct.cat_name,ct.short_name,ct.`status`,
	fn_getChildCount(ct.cat_id) as childNodes,fn_getParentPath(ct.cat_id) as parentPath
	from tbl_category ct
	left join tbl_category ctp on ct.cat_parent_id = ctp.cat_id
	 where ct.cat_parent_id='200' AND ct.status = 'active'
	order by fn_getParentPath(ct.cat_id), ct.cat_name~2026-04-13 13:23:50:0450~2026-04-13 13:23:50~success
[13/Apr/2026:13:23:50] (root_api-) getFrontCategoryMenu : [1] get category with category default root.
[13/Apr/2026:13:23:50] (root_api-) Query~select ct.cat_id,ct.cat_name,ct.short_name,ct.`status`,
	fn_getChildCount(ct.cat_id) as childNodes,fn_getParentPath(ct.cat_id) as parentPath
	from tbl_category ct
	left join tbl_category ctp on ct.cat_parent_id = ctp.cat_id
	 where ct.cat_parent_id='218' AND ct.status = 'active'
	order by fn_getParentPath(ct.cat_id), ct.cat_name~2026-04-13 13:23:50:0450~2026-04-13 13:23:50~success
[13/Apr/2026:13:23:50] (root_api-) getFrontCategoryMenu : [1] get category with category default root.
[13/Apr/2026:13:23:50] (root_api-) Query~select ct.cat_id,ct.cat_name,ct.short_name,ct.`status`,
	fn_getChildCount(ct.cat_id) as childNodes,fn_getParentPath(ct.cat_id) as parentPath
	from tbl_category ct
	left join tbl_category ctp on ct.cat_parent_id = ctp.cat_id
	 where ct.cat_parent_id='272' AND ct.status = 'active'
	order by fn_getParentPath(ct.cat_id), ct.cat_name~2026-04-13 13:23:50:0450~2026-04-13 13:23:50~success
[13/Apr/2026:13:23:50] (root_api-) getFrontCategoryMenu : [1] get category with category default root.
[13/Apr/2026:13:23:50] (root_api-) Query~select ct.cat_id,ct.cat_name,ct.short_name,ct.`status`,
	fn_getChildCount(ct.cat_id) as childNodes,fn_getParentPath(ct.cat_id) as parentPath
	from tbl_category ct
	left join tbl_category ctp on ct.cat_parent_id = ctp.cat_id
	 where ct.cat_parent_id='292' AND ct.status = 'active'
	order by fn_getParentPath(ct.cat_id), ct.cat_name~2026-04-13 13:23:50:0450~2026-04-13 13:23:50~success
[13/Apr/2026:13:23:50] (root_api-) getFrontCategoryMenu : [1] get category with category default root.
[13/Apr/2026:13:23:50] (root_api-) Query~select ct.cat_id,ct.cat_name,ct.short_name,ct.`status`,
	fn_getChildCount(ct.cat_id) as childNodes,fn_getParentPath(ct.cat_id) as parentPath
	from tbl_category ct
	left join tbl_category ctp on ct.cat_parent_id = ctp.cat_id
	 where ct.cat_parent_id='623' AND ct.status = 'active'
	order by fn_getParentPath(ct.cat_id), ct.cat_name~2026-04-13 13:23:50:0450~2026-04-13 13:23:50~success
[13/Apr/2026:13:23:50] (root_api-) getFrontCategoryMenu : [1] get category with category default root.
[13/Apr/2026:13:23:50] (root_api-) Query~select ct.cat_id,ct.cat_name,ct.short_name,ct.`status`,
	fn_getChildCount(ct.cat_id) as childNodes,fn_getParentPath(ct.cat_id) as parentPath
	from tbl_category ct
	left join tbl_category ctp on ct.cat_parent_id = ctp.cat_id
	 where ct.cat_parent_id='366' AND ct.status = 'active'
	order by fn_getParentPath(ct.cat_id), ct.cat_name~2026-04-13 13:23:50:0450~2026-04-13 13:23:50~success
[13/Apr/2026:13:23:50] (root_api-) getFrontCategoryMenu : [1] get category with category default root.
[13/Apr/2026:13:23:50] (root_api-) Query~select ct.cat_id,ct.cat_name,ct.short_name,ct.`status`,
	fn_getChildCount(ct.cat_id) as childNodes,fn_getParentPath(ct.cat_id) as parentPath
	from tbl_category ct
	left join tbl_category ctp on ct.cat_parent_id = ctp.cat_id
	 where ct.cat_parent_id='311' AND ct.status = 'active'
	order by fn_getParentPath(ct.cat_id), ct.cat_name~2026-04-13 13:23:50:0450~2026-04-13 13:23:50~success
[13/Apr/2026:13:23:50] (root_api-) getFrontCategoryMenu : [1] get category with category default root.
[13/Apr/2026:13:23:50] (root_api-) Query~select ct.cat_id,ct.cat_name,ct.short_name,ct.`status`,
	fn_getChildCount(ct.cat_id) as childNodes,fn_getParentPath(ct.cat_id) as parentPath
	from tbl_category ct
	left join tbl_category ctp on ct.cat_parent_id = ctp.cat_id
	 where ct.cat_parent_id='325' AND ct.status = 'active'
	order by fn_getParentPath(ct.cat_id), ct.cat_name~2026-04-13 13:23:50:0450~2026-04-13 13:23:50~success
[13/Apr/2026:13:23:50] (root_api-) getFrontCategoryMenu : [1] get category with category default root.
[13/Apr/2026:13:23:50] (root_api-) Query~select ct.cat_id,ct.cat_name,ct.short_name,ct.`status`,
	fn_getChildCount(ct.cat_id) as childNodes,fn_getParentPath(ct.cat_id) as parentPath
	from tbl_category ct
	left join tbl_category ctp on ct.cat_parent_id = ctp.cat_id
	 where ct.cat_parent_id='11' AND ct.status = 'active'
	order by fn_getParentPath(ct.cat_id), ct.cat_name~2026-04-13 13:23:50:0450~2026-04-13 13:23:50~success
[13/Apr/2026:13:23:50] (root_api-) getFrontCategoryMenu : [1] get category with category default root.
[13/Apr/2026:13:23:50] (root_api-) Query~select ct.cat_id,ct.cat_name,ct.short_name,ct.`status`,
	fn_getChildCount(ct.cat_id) as childNodes,fn_getParentPath(ct.cat_id) as parentPath
	from tbl_category ct
	left join tbl_category ctp on ct.cat_parent_id = ctp.cat_id
	 where ct.cat_parent_id='611' AND ct.status = 'active'
	order by fn_getParentPath(ct.cat_id), ct.cat_name~2026-04-13 13:23:50:0450~2026-04-13 13:23:50~success
[13/Apr/2026:13:23:50] (root_api-) getFrontCategoryMenu : [1] get category with category default root.
[13/Apr/2026:13:23:50] (root_api-) Query~select ct.cat_id,ct.cat_name,ct.short_name,ct.`status`,
	fn_getChildCount(ct.cat_id) as childNodes,fn_getParentPath(ct.cat_id) as parentPath
	from tbl_category ct
	left join tbl_category ctp on ct.cat_parent_id = ctp.cat_id
	 where ct.cat_parent_id='38' AND ct.status = 'active'
	order by fn_getParentPath(ct.cat_id), ct.cat_name~2026-04-13 13:23:50:0450~2026-04-13 13:23:50~success
[13/Apr/2026:13:23:50] (root_api-) getFrontCategoryMenu : [1] get category with category default root.
[13/Apr/2026:13:23:50] (root_api-) Query~select ct.cat_id,ct.cat_name,ct.short_name,ct.`status`,
	fn_getChildCount(ct.cat_id) as childNodes,fn_getParentPath(ct.cat_id) as parentPath
	from tbl_category ct
	left join tbl_category ctp on ct.cat_parent_id = ctp.cat_id
	 where ct.cat_parent_id='525' AND ct.status = 'active'
	order by fn_getParentPath(ct.cat_id), ct.cat_name~2026-04-13 13:23:50:0450~2026-04-13 13:23:50~success
[13/Apr/2026:13:23:50] (root_api-) getFrontCategoryMenu : [1] get category with category default root.
[13/Apr/2026:13:23:50] (root_api-) Query~select ct.cat_id,ct.cat_name,ct.short_name,ct.`status`,
	fn_getChildCount(ct.cat_id) as childNodes,fn_getParentPath(ct.cat_id) as parentPath
	from tbl_category ct
	left join tbl_category ctp on ct.cat_parent_id = ctp.cat_id
	 where ct.cat_parent_id='528' AND ct.status = 'active'
	order by fn_getParentPath(ct.cat_id), ct.cat_name~2026-04-13 13:23:50:0450~2026-04-13 13:23:50~success
[13/Apr/2026:13:23:50] (root_api-) getFrontCategoryMenu : [1] get category with category default root.
[13/Apr/2026:13:23:50] (root_api-) Query~select ct.cat_id,ct.cat_name,ct.short_name,ct.`status`,
	fn_getChildCount(ct.cat_id) as childNodes,fn_getParentPath(ct.cat_id) as parentPath
	from tbl_category ct
	left join tbl_category ctp on ct.cat_parent_id = ctp.cat_id
	 where ct.cat_parent_id='529' AND ct.status = 'active'
	order by fn_getParentPath(ct.cat_id), ct.cat_name~2026-04-13 13:23:50:0450~2026-04-13 13:23:50~success
[13/Apr/2026:13:23:50] (root_api-) getFrontCategoryMenu : [1] get category with category default root.
[13/Apr/2026:13:23:50] (root_api-) Query~select ct.cat_id,ct.cat_name,ct.short_name,ct.`status`,
	fn_getChildCount(ct.cat_id) as childNodes,fn_getParentPath(ct.cat_id) as parentPath
	from tbl_category ct
	left join tbl_category ctp on ct.cat_parent_id = ctp.cat_id
	 where ct.cat_parent_id='551' AND ct.status = 'active'
	order by fn_getParentPath(ct.cat_id), ct.cat_name~2026-04-13 13:23:50:0450~2026-04-13 13:23:50~success
[13/Apr/2026:13:23:50] (root_api-) getFrontCategoryMenu : [1] get category with category default root.
[13/Apr/2026:13:23:50] (root_api-) Query~select ct.cat_id,ct.cat_name,ct.short_name,ct.`status`,
	fn_getChildCount(ct.cat_id) as childNodes,fn_getParentPath(ct.cat_id) as parentPath
	from tbl_category ct
	left join tbl_category ctp on ct.cat_parent_id = ctp.cat_id
	 where ct.cat_parent_id='552' AND ct.status = 'active'
	order by fn_getParentPath(ct.cat_id), ct.cat_name~2026-04-13 13:23:50:0450~2026-04-13 13:23:50~success
[13/Apr/2026:13:23:50] (root_api-) getFrontCategoryMenu : [1] get category with category default root.
[13/Apr/2026:13:23:51] (root_api-) Query~select ct.cat_id,ct.cat_name,ct.short_name,ct.`status`,
	fn_getChildCount(ct.cat_id) as childNodes,fn_getParentPath(ct.cat_id) as parentPath
	from tbl_category ct
	left join tbl_category ctp on ct.cat_parent_id = ctp.cat_id
	 where ct.cat_parent_id='581' AND ct.status = 'active'
	order by fn_getParentPath(ct.cat_id), ct.cat_name~2026-04-13 13:23:50:0450~2026-04-13 13:23:51~success
[13/Apr/2026:13:23:51] (root_api-) getFrontCategoryMenu : [1] get category with category default root.
[13/Apr/2026:13:23:51] (root_api-) Query~select ct.cat_id,ct.cat_name,ct.short_name,ct.`status`,
	fn_getChildCount(ct.cat_id) as childNodes,fn_getParentPath(ct.cat_id) as parentPath
	from tbl_category ct
	left join tbl_category ctp on ct.cat_parent_id = ctp.cat_id
	 where ct.cat_parent_id='341' AND ct.status = 'active'
	order by fn_getParentPath(ct.cat_id), ct.cat_name~2026-04-13 13:23:51:0451~2026-04-13 13:23:51~success
[13/Apr/2026:13:23:51] (root_api-) Final JSON =  {"status":"ok","message":"","Errorcode":"","data":[{"cat_id":"410","cat_name":"Business & Finance","short_name":"Business & Finance","childNodes":"7","parentPath":"00001","sub_categories":[{"cat_id":"411","cat_name":"Accounting","short_name":"Accounting","childNodes":"21","parentPath":"00410-00001","sub_categories":[{"cat_id":"431","cat_name":"                    Accounting","short_name":"Taxation Partnership","childNodes":"0","parentPath":"00411-00410-00001"},{"cat_id":"412","cat_name":"AAT","short_name":"AAT","childNodes":"0","parentPath":"00411-00410-00001"},{"cat_id":"413","cat_name":"Accounting","short_name":"Accounting","childNodes":"0","parentPath":"00411-00410-00001"},{"cat_id":"414","cat_name":"Accounting Information Systems","short_name":"Accounting Information Systems","childNodes":"0","parentPath":"00411-00410-00001"},{"cat_id":"415","cat_name":"Accounting Theory","short_name":"Accounting Theory","childNodes":"0","parentPath":"00411-00410-00001"},{"cat_id":"416","cat_name":"Appraisal","short_name":"Appraisal","childNodes":"0","parentPath":"00411-00410-00001"},{"cat_id":"417","cat_name":"Audit","short_name":"Audit","childNodes":"0","parentPath":"00411-00410-00001"},{"cat_id":"418","cat_name":"Audit & Assurance","short_name":"Audit & Assurance","childNodes":"0","parentPath":"00411-00410-00001"},{"cat_id":"419","cat_name":"Audit Sampling","short_name":"Audit Sampling","childNodes":"0","parentPath":"00411-00410-00001"},{"cat_id":"420","cat_name":"Bookkeeping","short_name":"Bookkeeping","childNodes":"0","parentPath":"00411-00410-00001"},{"cat_id":"421","cat_name":"Cost Accounting","short_name":"Cost Accounting","childNodes":"0","parentPath":"00411-00410-00001"},{"cat_id":"422","cat_name":"Enrolled Agent","short_name":"Enrolled Agent","childNodes":"0","parentPath":"00411-00410-00001"},{"cat_id":"423","cat_name":"Federal Income Tax","short_name":"Federal Income Tax","childNodes":"0","parentPath":"00411-00410-00001"},{"cat_id":"627","cat_name":"Finanace","short_name":"Finanace","childNodes":"0","parentPath":"00411-00410-00001"},{"cat_id":"424","cat_name":"Financial Accounting","short_name":"Financial Accounting","childNodes":"0","parentPath":"00411-00410-00001"},{"cat_id":"425","cat_name":"Fraud","short_name":"Fraud","childNodes":"0","parentPath":"00411-00410-00001"},{"cat_id":"426","cat_name":"Income Tax","short_name":"Income Tax","childNodes":"0","parentPath":"00411-00410-00001"},{"cat_id":"427","cat_name":"Intermediate Accounting","short_name":"Intermediate Accounting","childNodes":"0","parentPath":"00411-00410-00001"},{"cat_id":"428","cat_name":"Managerial Accounting","short_name":"Managerial Accounting","childNodes":"0","parentPath":"00411-00410-00001"},{"cat_id":"429","cat_name":"Public Finance","short_name":"Public Finance","childNodes":"0","parentPath":"00411-00410-00001"},{"cat_id":"430","cat_name":"Taxation","short_name":"Taxation","childNodes":"0","parentPath":"00411-00410-00001"}]},{"cat_id":"433","cat_name":"Business","short_name":"Business","childNodes":"23","parentPath":"00410-00001","sub_categories":[{"cat_id":"434","cat_name":"Accounting","short_name":"Accounting","childNodes":"0","parentPath":"00433-00410-00001"},{"cat_id":"435","cat_name":"Advertising","short_name":"Advertising","childNodes":"0","parentPath":"00433-00410-00001"},{"cat_id":"436","cat_name":"Business","short_name":"Business","childNodes":"0","parentPath":"00433-00410-00001"},{"cat_id":"437","cat_name":"Business Analysis","short_name":"Business Analysis","childNodes":"0","parentPath":"00433-00410-00001"},{"cat_id":"438","cat_name":"Business Analytics","short_name":"Business Analytics","childNodes":"0","parentPath":"00433-00410-00001"},{"cat_id":"439","cat_name":"Business Communication","short_name":"Business Communication","childNodes":"0","parentPath":"00433-00410-00001"},{"cat_id":"440","cat_name":"Business Ethics","short_name":"Business Ethics","childNodes":"0","parentPath":"00433-00410-00001"},{"cat_id":"441","cat_name":"Employee Training Demo","short_name":"Employee Training Demo","childNodes":"0","parentPath":"00433-00410-00001"},{"cat_id":"442","cat_name":"Entrepreneurship","short_name":"Entrepreneurship","childNodes":"0","parentPath":"00433-00410-00001"},{"cat_id":"443","cat_name":"Fashion","short_name":"Fashion","childNodes":"0","parentPath":"00433-00410-00001"},{"cat_id":"444","cat_name":"Finance","short_name":"Finance","childNodes":"0","parentPath":"00433-00410-00001"},{"cat_id":"445","cat_name":"Global Business","short_name":"Global Business","childNodes":"0","parentPath":"00433-00410-00001"},{"cat_id":"446","cat_name":"Human Resources","short_name":"Human Resources","childNodes":"0","parentPath":"00433-00410-00001"},{"cat_id":"447","cat_name":"Insurance","short_name":"Insurance","childNodes":"0","parentPath":"00433-00410-00001"},{"cat_id":"448","cat_name":"International Business","short_name":"International Business","childNodes":"0","parentPath":"00433-00410-00001"},{"cat_id":"449","cat_name":"Life & Health Insurance","short_name":"Life & Health Insurance","childNodes":"0","parentPath":"00433-00410-00001"},{"cat_id":"450","cat_name":"Logistics","short_name":"Logistics","childNodes":"0","parentPath":"00433-00410-00001"},{"cat_id":"451","cat_name":"Procurement","short_name":"Procurement","childNodes":"0","parentPath":"00433-00410-00001"},{"cat_id":"452","cat_name":"Project Management","short_name":"Project Management","childNodes":"0","parentPath":"00433-00410-00001"},{"cat_id":"453","cat_name":"Risk Management","short_name":"Risk Management","childNodes":"0","parentPath":"00433-00410-00001"},{"cat_id":"454","cat_name":"Salesforce","short_name":"Salesforce","childNodes":"0","parentPath":"00433-00410-00001"},{"cat_id":"455","cat_name":"Supply Chain","short_name":"Supply Chain","childNodes":"0","parentPath":"00433-00410-00001"},{"cat_id":"456","cat_name":"Tourism","short_name":"Tourism","childNodes":"0","parentPath":"00433-00410-00001"}]},{"cat_id":"458","cat_name":"Economics","short_name":"Economics","childNodes":"24","parentPath":"00410-00001","sub_categories":[{"cat_id":"459","cat_name":"Behavioral Economics","short_name":"Behavioral Economics","childNodes":"0","parentPath":"00458-00410-00001"},{"cat_id":"471","cat_name":"Capital Markets","short_name":"Capital Markets","childNodes":"0","parentPath":"00458-00410-00001"},{"cat_id":"472","cat_name":"Corporate Finance","short_name":"Corporate Finance","childNodes":"0","parentPath":"00458-00410-00001"},{"cat_id":"460","cat_name":"Econometrics","short_name":"Econometrics","childNodes":"0","parentPath":"00458-00410-00001"},{"cat_id":"461","cat_name":"Economic Development","short_name":"Economic Development","childNodes":"0","parentPath":"00458-00410-00001"},{"cat_id":"462","cat_name":"Economics","short_name":"Economics","childNodes":"0","parentPath":"00458-00410-00001"},{"cat_id":"463","cat_name":"Environmental Economics","short_name":"Environmental Economics","childNodes":"0","parentPath":"00458-00410-00001"},{"cat_id":"473","cat_name":"Finance","short_name":"Finance","childNodes":"0","parentPath":"00458-00410-00001"},{"cat_id":"474","cat_name":"Financial Exams","short_name":"Financial Exams","childNodes":"0","parentPath":"00458-00410-00001"},{"cat_id":"475","cat_name":"Financial Literacy","short_name":"Financial Literacy","childNodes":"0","parentPath":"00458-00410-00001"},{"cat_id":"476","cat_name":"Financial Markets","short_name":"Financial Markets","childNodes":"0","parentPath":"00458-00410-00001"},{"cat_id":"477","cat_name":"Fixed Income","short_name":"Fixed Income","childNodes":"0","parentPath":"00458-00410-00001"},{"cat_id":"464","cat_name":"Game Theory","short_name":"Game Theory","childNodes":"0","parentPath":"00458-00410-00001"},{"cat_id":"465","cat_name":"Globalization","short_name":"Globalization","childNodes":"0","parentPath":"00458-00410-00001"},{"cat_id":"478","cat_name":"International Finance","short_name":"International Finance","childNodes":"0","parentPath":"00458-00410-00001"},{"cat_id":"479","cat_name":"Investment Analysis","short_name":"Investment Analysis","childNodes":"0","parentPath":"00458-00410-00001"},{"cat_id":"480","cat_name":"Investment Banking","short_name":"Investment Banking","childNodes":"0","parentPath":"00458-00410-00001"},{"cat_id":"466","cat_name":"Macroeconomics","short_name":"Macroeconomics","childNodes":"0","parentPath":"00458-00410-00001"},{"cat_id":"467","cat_name":"Managerial Economics","short_name":"Managerial Economics","childNodes":"0","parentPath":"00458-00410-00001"},{"cat_id":"468","cat_name":"Microeconomics","short_name":"Microeconomics","childNodes":"0","parentPath":"00458-00410-00001"},{"cat_id":"481","cat_name":"Personal Finance","short_name":"Personal Finance","childNodes":"0","parentPath":"00458-00410-00001"},{"cat_id":"469","cat_name":"Principles of Economics","short_name":"Principles of Economics","childNodes":"0","parentPath":"00458-00410-00001"},{"cat_id":"482","cat_name":"Private Equity","short_name":"Private Equity","childNodes":"0","parentPath":"00458-00410-00001"},{"cat_id":"483","cat_name":"Real Estate Finance","short_name":"Real Estate Finance","childNodes":"0","parentPath":"00458-00410-00001"}]},{"cat_id":"470","cat_name":"Finance","short_name":"Finance","childNodes":"0","parentPath":"00410-00001"},{"cat_id":"485","cat_name":"Management","short_name":"Management","childNodes":"12","parentPath":"00410-00001","sub_categories":[{"cat_id":"486","cat_name":"Business Administration","short_name":"Business Administration","childNodes":"0","parentPath":"00485-00410-00001"},{"cat_id":"487","cat_name":"Business Management","short_name":"Business Management","childNodes":"0","parentPath":"00485-00410-00001"},{"cat_id":"488","cat_name":"Effective Supervisory Practices","short_name":"Effective Supervisory Practices","childNodes":"0","parentPath":"00485-00410-00001"},{"cat_id":"489","cat_name":"Facilities Management","short_name":"Facilities Management","childNodes":"0","parentPath":"00485-00410-00001"},{"cat_id":"490","cat_name":"Healthcare Management","short_name":"Healthcare Management","childNodes":"0","parentPath":"00485-00410-00001"},{"cat_id":"491","cat_name":"Higher Business Management","short_name":"Higher Business Management","childNodes":"0","parentPath":"00485-00410-00001"},{"cat_id":"492","cat_name":"Human Resource Management","short_name":"Human Resource Management","childNodes":"0","parentPath":"00485-00410-00001"},{"cat_id":"493","cat_name":"Management 101","short_name":"Management 101","childNodes":"0","parentPath":"00485-00410-00001"},{"cat_id":"494","cat_name":"Operations Management","short_name":"Operations Management","childNodes":"0","parentPath":"00485-00410-00001"},{"cat_id":"495","cat_name":"Organizational Behavior","short_name":"Organizational Behavior","childNodes":"0","parentPath":"00485-00410-00001"},{"cat_id":"496","cat_name":"Principles of Management","short_name":"Principles of Management","childNodes":"0","parentPath":"00485-00410-00001"},{"cat_id":"497","cat_name":"Strategic Management","short_name":"Strategic Management","childNodes":"0","parentPath":"00485-00410-00001"}]},{"cat_id":"499","cat_name":"Marketing","short_name":"Marketing","childNodes":"13","parentPath":"00410-00001","sub_categories":[{"cat_id":"500","cat_name":"B2B Marketing","short_name":"B2B Marketing","childNodes":"0","parentPath":"00499-00410-00001"},{"cat_id":"501","cat_name":"Consumer Behavior","short_name":"Consumer Behavior","childNodes":"0","parentPath":"00499-00410-00001"},{"cat_id":"502","cat_name":"Digital Marketing","short_name":"Digital Marketing","childNodes":"0","parentPath":"00499-00410-00001"},{"cat_id":"503","cat_name":"Global Marketing","short_name":"Global Marketing","childNodes":"0","parentPath":"00499-00410-00001"},{"cat_id":"504","cat_name":"International Marketing","short_name":"International Marketing","childNodes":"0","parentPath":"00499-00410-00001"},{"cat_id":"505","cat_name":"Marketing 101","short_name":"Marketing 101","childNodes":"0","parentPath":"00499-00410-00001"},{"cat_id":"506","cat_name":"Marketing Research","short_name":"Marketing Research","childNodes":"0","parentPath":"00499-00410-00001"},{"cat_id":"507","cat_name":"Neuromarketing","short_name":"Neuromarketing","childNodes":"0","parentPath":"00499-00410-00001"},{"cat_id":"508","cat_name":"Principles of Marketing","short_name":"Principles of Marketing","childNodes":"0","parentPath":"00499-00410-00001"},{"cat_id":"509","cat_name":"Sales & Marketing","short_name":"Sales & Marketing","childNodes":"0","parentPath":"00499-00410-00001"},{"cat_id":"510","cat_name":"Service Marketing","short_name":"Service Marketing","childNodes":"0","parentPath":"00499-00410-00001"},{"cat_id":"511","cat_name":"Social Marketing","short_name":"Social Marketing","childNodes":"0","parentPath":"00499-00410-00001"},{"cat_id":"512","cat_name":"Strategic Marketing","short_name":"Strategic Marketing","childNodes":"0","parentPath":"00499-00410-00001"}]},{"cat_id":"514","cat_name":"Real Estate","short_name":"Real Estate","childNodes":"10","parentPath":"00410-00001","sub_categories":[{"cat_id":"515","cat_name":"Real Estate - General","short_name":"Real Estate - General","childNodes":"0","parentPath":"00514-00410-00001"},{"cat_id":"516","cat_name":"Real Estate Agent","short_name":"Real Estate Agent","childNodes":"0","parentPath":"00514-00410-00001"},{"cat_id":"517","cat_name":"Real Estate Appraisal","short_name":"Real Estate Appraisal","childNodes":"0","parentPath":"00514-00410-00001"},{"cat_id":"518","cat_name":"Real Estate Exam","short_name":"Real Estate Exam","childNodes":"0","parentPath":"00514-00410-00001"},{"cat_id":"519","cat_name":"Real Estate Finance","short_name":"Real Estate Finance","childNodes":"0","parentPath":"00514-00410-00001"},{"cat_id":"520","cat_name":"Real Estate Law","short_name":"Real Estate Law","childNodes":"0","parentPath":"00514-00410-00001"},{"cat_id":"521","cat_name":"Real Estate Math","short_name":"Real Estate Math","childNodes":"0","parentPath":"00514-00410-00001"},{"cat_id":"522","cat_name":"Real Estate Post-Licensing","short_name":"Real Estate Post-Licensing","childNodes":"0","parentPath":"00514-00410-00001"},{"cat_id":"523","cat_name":"Real Estate Practice","short_name":"Real Estate Practice","childNodes":"0","parentPath":"00514-00410-00001"},{"cat_id":"524","cat_name":"Real Estate Principles","short_name":"Real Estate Principles","childNodes":"0","parentPath":"00514-00410-00001"}]}]},{"cat_id":"64","cat_name":"English","short_name":"English","childNodes":"16","parentPath":"00001","sub_categories":[{"cat_id":"65","cat_name":"American Literature","short_name":"American Literature","childNodes":"0","parentPath":"00064-00001"},{"cat_id":"66","cat_name":"British Literature","short_name":"British Literature","childNodes":"0","parentPath":"00064-00001"},{"cat_id":"67","cat_name":"Classic Novels","short_name":"Classic Novels","childNodes":"0","parentPath":"00064-00001"},{"cat_id":"68","cat_name":"Creative Writing","short_name":"Creative Writing","childNodes":"0","parentPath":"00064-00001"},{"cat_id":"69","cat_name":"English","short_name":"English","childNodes":"0","parentPath":"00064-00001"},{"cat_id":"70","cat_name":"English Grammar","short_name":"English Grammar","childNodes":"0","parentPath":"00064-00001"},{"cat_id":"71","cat_name":"Fiction","short_name":"Fiction","childNodes":"0","parentPath":"00064-00001"},{"cat_id":"72","cat_name":"Higher English","short_name":"Higher English","childNodes":"0","parentPath":"00064-00001"},{"cat_id":"73","cat_name":"Literature","short_name":"Literature","childNodes":"0","parentPath":"00064-00001"},{"cat_id":"74","cat_name":"Medieval literature","short_name":"Medieval literature","childNodes":"0","parentPath":"00064-00001"},{"cat_id":"75","cat_name":"Phonics","short_name":"Phonics","childNodes":"0","parentPath":"00064-00001"},{"cat_id":"76","cat_name":"Poetry","short_name":"Poetry","childNodes":"0","parentPath":"00064-00001"},{"cat_id":"77","cat_name":"Proverbs and Idioms","short_name":"Proverbs and Idioms","childNodes":"0","parentPath":"00064-00001"},{"cat_id":"78","cat_name":"Shakespeare","short_name":"Shakespeare","childNodes":"0","parentPath":"00064-00001"},{"cat_id":"79","cat_name":"Spelling","short_name":"Spelling","childNodes":"0","parentPath":"00064-00001"},{"cat_id":"80","cat_name":"Vocab Builder","short_name":"Vocab Builder","childNodes":"0","parentPath":"00064-00001"}]},{"cat_id":"2","cat_name":"Entrance Exams","short_name":"Entrance Exams","childNodes":"8","parentPath":"00001","sub_categories":[{"cat_id":"3","cat_name":"A Level Exams","short_name":"A Level Exams","childNodes":"0","parentPath":"00002-00001"},{"cat_id":"4","cat_name":"AP Exams","short_name":"AP Exams","childNodes":"0","parentPath":"00002-00001"},{"cat_id":"5","cat_name":"GCSE Exams","short_name":"GCSE Exams","childNodes":"0","parentPath":"00002-00001"},{"cat_id":"6","cat_name":"Graduate Entrance Exams","short_name":"Graduate Entrance Exams","childNodes":"0","parentPath":"00002-00001"},{"cat_id":"7","cat_name":"IGCSE Exams","short_name":"IGCSE Exams","childNodes":"0","parentPath":"00002-00001"},{"cat_id":"8","cat_name":"International Baccalaureate","short_name":"International Baccalaureate","childNodes":"0","parentPath":"00002-00001"},{"cat_id":"9","cat_name":"National 5 Exams","short_name":"National 5 Exams","childNodes":"0","parentPath":"00002-00001"},{"cat_id":"10","cat_name":"University Entrance Exams","short_name":"University Entrance Exams","childNodes":"0","parentPath":"00002-00001"}]},{"cat_id":"605","cat_name":"Fine Arts","short_name":"Fine Arts","childNodes":"5","parentPath":"00001","sub_categories":[{"cat_id":"606","cat_name":"Art","short_name":"Art","childNodes":"0","parentPath":"00605-00001"},{"cat_id":"607","cat_name":"Art History","short_name":"Art History","childNodes":"0","parentPath":"00605-00001"},{"cat_id":"608","cat_name":"Dance","short_name":"Dance","childNodes":"0","parentPath":"00605-00001"},{"cat_id":"609","cat_name":"Music","short_name":"Music","childNodes":"0","parentPath":"00605-00001"},{"cat_id":"610","cat_name":"Other Fine Arts","short_name":"Other Fine Arts","childNodes":"0","parentPath":"00605-00001"}]},{"cat_id":"598","cat_name":"Food & Beverage","short_name":"Food & Beverage","childNodes":"6","parentPath":"00001","sub_categories":[{"cat_id":"599","cat_name":"Bartending","short_name":"Bartending","childNodes":"0","parentPath":"00598-00001"},{"cat_id":"600","cat_name":"Cooking","short_name":"Cooking","childNodes":"0","parentPath":"00598-00001"},{"cat_id":"601","cat_name":"Culinary Arts","short_name":"Culinary Arts","childNodes":"0","parentPath":"00598-00001"},{"cat_id":"602","cat_name":"Hospitality","short_name":"Hospitality","childNodes":"0","parentPath":"00598-00001"},{"cat_id":"603","cat_name":"Nutrition","short_name":"Nutrition","childNodes":"0","parentPath":"00598-00001"},{"cat_id":"604","cat_name":"Wine & Spirits","short_name":"Wine & Spirits","childNodes":"0","parentPath":"00598-00001"}]},{"cat_id":"23","cat_name":"Foreign Languages","short_name":"Foreign Languages","childNodes":"14","parentPath":"00001","sub_categories":[{"cat_id":"24","cat_name":"Arabic","short_name":"Arabic","childNodes":"0","parentPath":"00023-00001"},{"cat_id":"25","cat_name":"Chinese","short_name":"Chinese","childNodes":"0","parentPath":"00023-00001"},{"cat_id":"26","cat_name":"French","short_name":"French","childNodes":"0","parentPath":"00023-00001"},{"cat_id":"27","cat_name":"German","short_name":"German","childNodes":"0","parentPath":"00023-00001"},{"cat_id":"28","cat_name":"Hebrew","short_name":"Hebrew","childNodes":"0","parentPath":"00023-00001"},{"cat_id":"29","cat_name":"Italian","short_name":"Italian","childNodes":"0","parentPath":"00023-00001"},{"cat_id":"30","cat_name":"Japanese","short_name":"Japanese","childNodes":"0","parentPath":"00023-00001"},{"cat_id":"31","cat_name":"Korean","short_name":"Korean","childNodes":"0","parentPath":"00023-00001"},{"cat_id":"32","cat_name":"Linguistics","short_name":"Linguistics","childNodes":"0","parentPath":"00023-00001"},{"cat_id":"33","cat_name":"Other Foreign Languages","short_name":"Other Foreign Languages","childNodes":"0","parentPath":"00023-00001"},{"cat_id":"34","cat_name":"Portuguese","short_name":"Portuguese","childNodes":"0","parentPath":"00023-00001"},{"cat_id":"35","cat_name":"Russian","short_name":"Russian","childNodes":"0","parentPath":"00023-00001"},{"cat_id":"36","cat_name":"Spanish","short_name":"Spanish","childNodes":"0","parentPath":"00023-00001"},{"cat_id":"37","cat_name":"TOEFL","short_name":"TOEFL","childNodes":"0","parentPath":"00023-00001"}]},{"cat_id":"396","cat_name":"Health & Fitness","short_name":"Health & Fitness","childNodes":"13","parentPath":"00001","sub_categories":[{"cat_id":"409","cat_name":"ACE Health Coach","short_name":"ACE Health Coach","childNodes":"0","parentPath":"00396-00001"},{"cat_id":"397","cat_name":"Alternative Medicine","short_name":"Alternative Medicine","childNodes":"0","parentPath":"00396-00001"},{"cat_id":"398","cat_name":"Health & Fitness Class","short_name":"Health & Fitness Class","childNodes":"0","parentPath":"00396-00001"},{"cat_id":"399","cat_name":"Health & Human Development","short_name":"Health & Human Development","childNodes":"0","parentPath":"00396-00001"},{"cat_id":"400","cat_name":"Health Class","short_name":"Health Class","childNodes":"0","parentPath":"00396-00001"},{"cat_id":"401","cat_name":"Health Science","short_name":"Health Science","childNodes":"0","parentPath":"00396-00001"},{"cat_id":"402","cat_name":"Human Development","short_name":"Human Development","childNodes":"0","parentPath":"00396-00001"},{"cat_id":"403","cat_name":"Human Growth & Development","short_name":"Human Growth & Development","childNodes":"0","parentPath":"00396-00001"},{"cat_id":"404","cat_name":"Mental Health","short_name":"Mental Health","childNodes":"0","parentPath":"00396-00001"},{"cat_id":"406","cat_name":"NASM CPT","short_name":"NASM CPT","childNodes":"0","parentPath":"00396-00001"},{"cat_id":"405","cat_name":"Public Health","short_name":"Public Health","childNodes":"0","parentPath":"00396-00001"},{"cat_id":"407","cat_name":"Sports & Kinesiology","short_name":"Sports & Kinesiology","childNodes":"0","parentPath":"00396-00001"},{"cat_id":"408","cat_name":"Yoga","short_name":"Yoga","childNodes":"0","parentPath":"00396-00001"}]},{"cat_id":"81","cat_name":"Humanities & Social Studies","short_name":"Humanities & Social Studies","childNodes":"16","parentPath":"00001","sub_categories":[{"cat_id":"90","cat_name":"Anthropology","short_name":"Anthropology","childNodes":"16","parentPath":"00081-00001","sub_categories":[{"cat_id":"91","cat_name":"Anthropology","short_name":"Anthropology","childNodes":"0","parentPath":"00090-00081-00001"},{"cat_id":"92","cat_name":"Archaeology","short_name":"Archaeology","childNodes":"0","parentPath":"00090-00081-00001"},{"cat_id":"93","cat_name":"Biological Anthropology","short_name":"Biological Anthropology","childNodes":"0","parentPath":"00090-00081-00001"},{"cat_id":"94","cat_name":"Cultural Anthropology","short_name":"Cultural Anthropology","childNodes":"0","parentPath":"00090-00081-00001"},{"cat_id":"95","cat_name":"Ethnobotany","short_name":"Ethnobotany","childNodes":"0","parentPath":"00090-00081-00001"},{"cat_id":"96","cat_name":"Evolutionary Genetics","short_name":"Evolutionary Genetics","childNodes":"0","parentPath":"00090-00081-00001"},{"cat_id":"97","cat_name":"Forensic Anthropology","short_name":"Forensic Anthropology","childNodes":"0","parentPath":"00090-00081-00001"},{"cat_id":"98","cat_name":"Fossils","short_name":"Fossils","childNodes":"0","parentPath":"00090-00081-00001"},{"cat_id":"99","cat_name":"Gender Studies","short_name":"Gender Studies","childNodes":"0","parentPath":"00090-00081-00001"},{"cat_id":"100","cat_name":"Human Biology","short_name":"Human Biology","childNodes":"0","parentPath":"00090-00081-00001"},{"cat_id":"101","cat_name":"Human Evolution","short_name":"Human Evolution","childNodes":"0","parentPath":"00090-00081-00001"},{"cat_id":"102","cat_name":"Human Genetics","short_name":"Human Genetics","childNodes":"0","parentPath":"00090-00081-00001"},{"cat_id":"103","cat_name":"Human Reproduction","short_name":"Human Reproduction","childNodes":"0","parentPath":"00090-00081-00001"},{"cat_id":"104","cat_name":"Linguistics","short_name":"Linguistics","childNodes":"0","parentPath":"00090-00081-00001"},{"cat_id":"105","cat_name":"Physical Anthropology","short_name":"Physical Anthropology","childNodes":"0","parentPath":"00090-00081-00001"},{"cat_id":"106","cat_name":"Primate Behavior","short_name":"Primate Behavior","childNodes":"0","parentPath":"00090-00081-00001"}]},{"cat_id":"307","cat_name":"Citizenship","short_name":"Citizenship","childNodes":"0","parentPath":"00081-00001"},{"cat_id":"308","cat_name":"Civics","short_name":"Civics","childNodes":"0","parentPath":"00081-00001"},{"cat_id":"107","cat_name":"Classics","short_name":"Classics","childNodes":"9","parentPath":"00081-00001","sub_categories":[{"cat_id":"108","cat_name":"Ancient Greek","short_name":"Ancient Greek","childNodes":"0","parentPath":"00107-00081-00001"},{"cat_id":"109","cat_name":"Classical Architecture","short_name":"Classical Architecture","childNodes":"0","parentPath":"00107-00081-00001"},{"cat_id":"110","cat_name":"Classical Art","short_name":"Classical Art","childNodes":"0","parentPath":"00107-00081-00001"},{"cat_id":"111","cat_name":"Classical Mythology","short_name":"Classical Mythology","childNodes":"0","parentPath":"00107-00081-00001"},{"cat_id":"112","cat_name":"Greek Civilization","short_name":"Greek Civilization","childNodes":"0","parentPath":"00107-00081-00001"},{"cat_id":"113","cat_name":"Greek History","short_name":"Greek History","childNodes":"0","parentPath":"00107-00081-00001"},{"cat_id":"114","cat_name":"Latin","short_name":"Latin","childNodes":"0","parentPath":"00107-00081-00001"},{"cat_id":"115","cat_name":"Roman Civilization","short_name":"Roman Civilization","childNodes":"0","parentPath":"00107-00081-00001"},{"cat_id":"116","cat_name":"Roman History","short_name":"Roman History","childNodes":"0","parentPath":"00107-00081-00001"}]},{"cat_id":"117","cat_name":"Communications","short_name":"Communications","childNodes":"19","parentPath":"00081-00001","sub_categories":[{"cat_id":"118","cat_name":"Argumentation","short_name":"Argumentation","childNodes":"0","parentPath":"00117-00081-00001"},{"cat_id":"119","cat_name":"Business Communication","short_name":"Business Communication","childNodes":"0","parentPath":"00117-00081-00001"},{"cat_id":"120","cat_name":"Communication Theory","short_name":"Communication Theory","childNodes":"0","parentPath":"00117-00081-00001"},{"cat_id":"121","cat_name":"Communications","short_name":"Communications","childNodes":"0","parentPath":"00117-00081-00001"},{"cat_id":"122","cat_name":"Debate","short_name":"Debate","childNodes":"0","parentPath":"00117-00081-00001"},{"cat_id":"123","cat_name":"Human Relationships","short_name":"Human Relationships","childNodes":"0","parentPath":"00117-00081-00001"},{"cat_id":"124","cat_name":"Interpersonal Communication","short_name":"Interpersonal Communication","childNodes":"0","parentPath":"00117-00081-00001"},{"cat_id":"125","cat_name":"Mass Communication","short_name":"Mass Communication","childNodes":"0","parentPath":"00117-00081-00001"},{"cat_id":"126","cat_name":"Mass Media","short_name":"Mass Media","childNodes":"0","parentPath":"00117-00081-00001"},{"cat_id":"127","cat_name":"Media Studies","short_name":"Media Studies","childNodes":"0","parentPath":"00117-00081-00001"},{"cat_id":"128","cat_name":"Nonverbal Communication","short_name":"Nonverbal Communication","childNodes":"0","parentPath":"00117-00081-00001"},{"cat_id":"129","cat_name":"Organizational Communication","short_name":"Organizational Communication","childNodes":"0","parentPath":"00117-00081-00001"},{"cat_id":"130","cat_name":"Persuasion","short_name":"Persuasion","childNodes":"0","parentPath":"00117-00081-00001"},{"cat_id":"131","cat_name":"Professional Communication","short_name":"Professional Communication","childNodes":"0","parentPath":"00117-00081-00001"},{"cat_id":"132","cat_name":"Public Relations","short_name":"Public Relations","childNodes":"0","parentPath":"00117-00081-00001"},{"cat_id":"133","cat_name":"Public Speaking","short_name":"Public Speaking","childNodes":"0","parentPath":"00117-00081-00001"},{"cat_id":"134","cat_name":"Rhetoric","short_name":"Rhetoric","childNodes":"0","parentPath":"00117-00081-00001"},{"cat_id":"135","cat_name":"Small Group Communication","short_name":"Small Group Communication","childNodes":"0","parentPath":"00117-00081-00001"},{"cat_id":"136","cat_name":"Speech Communication","short_name":"Speech Communication","childNodes":"0","parentPath":"00117-00081-00001"}]},{"cat_id":"137","cat_name":"Counseling","short_name":"Counseling","childNodes":"6","parentPath":"00081-00001","sub_categories":[{"cat_id":"138","cat_name":"Counseling","short_name":"Counseling","childNodes":"1","parentPath":"00137-00081-00001","sub_categories":[{"cat_id":"629","cat_name":"Counseling","short_name":"Accounting","childNodes":"0","parentPath":"00138-00137-00081-00001"}]},{"cat_id":"139","cat_name":"Counseling Theory","short_name":"Counseling Theory","childNodes":"0","parentPath":"00137-00081-00001"},{"cat_id":"140","cat_name":"Family Therapy","short_name":"Family Therapy","childNodes":"0","parentPath":"00137-00081-00001"},{"cat_id":"141","cat_name":"LMSW Exam","short_name":"LMSW Exam","childNodes":"0","parentPath":"00137-00081-00001"},{"cat_id":"142","cat_name":"MFT Exam","short_name":"MFT Exam","childNodes":"0","parentPath":"00137-00081-00001"},{"cat_id":"143","cat_name":"NCMHCE","short_name":"NCMHCE","childNodes":"0","parentPath":"00137-00081-00001"}]},{"cat_id":"144","cat_name":"Criminal Justice","short_name":"Criminal Justice","childNodes":"19","parentPath":"00081-00001","sub_categories":[{"cat_id":"145","cat_name":"CIB","short_name":"CIB","childNodes":"0","parentPath":"00144-00081-00001"},{"cat_id":"146","cat_name":"Civil Rights","short_name":"Civil Rights","childNodes":"0","parentPath":"00144-00081-00001"},{"cat_id":"147","cat_name":"Corrections","short_name":"Corrections","childNodes":"0","parentPath":"00144-00081-00001"},{"cat_id":"148","cat_name":"Crime & Deviance","short_name":"Crime & Deviance","childNodes":"0","parentPath":"00144-00081-00001"},{"cat_id":"149","cat_name":"Crime & Punishment","short_name":"Crime & Punishment","childNodes":"0","parentPath":"00144-00081-00001"},{"cat_id":"150","cat_name":"Criminal Investigation","short_name":"Criminal Investigation","childNodes":"0","parentPath":"00144-00081-00001"},{"cat_id":"151","cat_name":"Criminal Justice","short_name":"Criminal Justice","childNodes":"0","parentPath":"00144-00081-00001"},{"cat_id":"152","cat_name":"Criminal Psychology","short_name":"Criminal Psychology","childNodes":"0","parentPath":"00144-00081-00001"},{"cat_id":"153","cat_name":"Criminology","short_name":"Criminology","childNodes":"0","parentPath":"00144-00081-00001"},{"cat_id":"154","cat_name":"Cybercrime","short_name":"Cybercrime","childNodes":"0","parentPath":"00144-00081-00001"},{"cat_id":"155","cat_name":"Forensic Pathology","short_name":"Forensic Pathology","childNodes":"0","parentPath":"00144-00081-00001"},{"cat_id":"156","cat_name":"Forensic Science","short_name":"Forensic Science","childNodes":"0","parentPath":"00144-00081-00001"},{"cat_id":"157","cat_name":"History of Crime","short_name":"History of Crime","childNodes":"0","parentPath":"00144-00081-00001"},{"cat_id":"158","cat_name":"Intro to Criminology","short_name":"Intro to Criminology","childNodes":"0","parentPath":"00144-00081-00001"},{"cat_id":"159","cat_name":"Law Enforcement","short_name":"Law Enforcement","childNodes":"0","parentPath":"00144-00081-00001"},{"cat_id":"160","cat_name":"Police Administration","short_name":"Police Administration","childNodes":"0","parentPath":"00144-00081-00001"},{"cat_id":"161","cat_name":"Police Studies","short_name":"Police Studies","childNodes":"0","parentPath":"00144-00081-00001"},{"cat_id":"162","cat_name":"Policing","short_name":"Policing","childNodes":"0","parentPath":"00144-00081-00001"},{"cat_id":"163","cat_name":"Prosecution","short_name":"Prosecution","childNodes":"0","parentPath":"00144-00081-00001"}]},{"cat_id":"164","cat_name":"Geography","short_name":"Geography","childNodes":"14","parentPath":"00081-00001","sub_categories":[{"cat_id":"165","cat_name":"Cartography","short_name":"Cartography","childNodes":"0","parentPath":"00164-00081-00001"},{"cat_id":"166","cat_name":"Climate Change","short_name":"Climate Change","childNodes":"0","parentPath":"00164-00081-00001"},{"cat_id":"167","cat_name":"Cultural Geography","short_name":"Cultural Geography","childNodes":"0","parentPath":"00164-00081-00001"},{"cat_id":"168","cat_name":"Environmental Science","short_name":"Environmental Science","childNodes":"0","parentPath":"00164-00081-00001"},{"cat_id":"169","cat_name":"Geography","short_name":"Geography","childNodes":"0","parentPath":"00164-00081-00001"},{"cat_id":"170","cat_name":"Human Geography","short_name":"Human Geography","childNodes":"0","parentPath":"00164-00081-00001"},{"cat_id":"171","cat_name":"Hydrology","short_name":"Hydrology","childNodes":"0","parentPath":"00164-00081-00001"},{"cat_id":"172","cat_name":"Landforms","short_name":"Landforms","childNodes":"0","parentPath":"00164-00081-00001"},{"cat_id":"173","cat_name":"Physical Geography","short_name":"Physical Geography","childNodes":"0","parentPath":"00164-00081-00001"},{"cat_id":"174","cat_name":"U.S. Geography","short_name":"U.S. Geography","childNodes":"0","parentPath":"00164-00081-00001"},{"cat_id":"175","cat_name":"Urban Geography","short_name":"Urban Geography","childNodes":"0","parentPath":"00164-00081-00001"},{"cat_id":"176","cat_name":"Weather and Climate","short_name":"Weather and Climate","childNodes":"0","parentPath":"00164-00081-00001"},{"cat_id":"177","cat_name":"World Capitals","short_name":"World Capitals","childNodes":"0","parentPath":"00164-00081-00001"},{"cat_id":"178","cat_name":"World Geography","short_name":"World Geography","childNodes":"0","parentPath":"00164-00081-00001"}]},{"cat_id":"179","cat_name":"History","short_name":"History","childNodes":"20","parentPath":"00081-00001","sub_categories":[{"cat_id":"180","cat_name":"African History","short_name":"African History","childNodes":"0","parentPath":"00179-00081-00001"},{"cat_id":"181","cat_name":"American West","short_name":"American West","childNodes":"0","parentPath":"00179-00081-00001"},{"cat_id":"182","cat_name":"Ancient Greece","short_name":"Ancient Greece","childNodes":"0","parentPath":"00179-00081-00001"},{"cat_id":"183","cat_name":"Ancient History","short_name":"Ancient History","childNodes":"0","parentPath":"00179-00081-00001"},{"cat_id":"184","cat_name":"Ancient Rome","short_name":"Ancient Rome","childNodes":"0","parentPath":"00179-00081-00001"},{"cat_id":"185","cat_name":"British History","short_name":"British History","childNodes":"0","parentPath":"00179-00081-00001"},{"cat_id":"186","cat_name":"Chinese History","short_name":"Chinese History","childNodes":"0","parentPath":"00179-00081-00001"},{"cat_id":"187","cat_name":"Christian History","short_name":"Christian History","childNodes":"0","parentPath":"00179-00081-00001"},{"cat_id":"188","cat_name":"Cold War","short_name":"Cold War","childNodes":"0","parentPath":"00179-00081-00001"},{"cat_id":"189","cat_name":"European History","short_name":"European History","childNodes":"0","parentPath":"00179-00081-00001"},{"cat_id":"190","cat_name":"Islamic History","short_name":"Islamic History","childNodes":"0","parentPath":"00179-00081-00001"},{"cat_id":"191","cat_name":"Jewish History","short_name":"Jewish History","childNodes":"0","parentPath":"00179-00081-00001"},{"cat_id":"192","cat_name":"Latin American History","short_name":"Latin American History","childNodes":"0","parentPath":"00179-00081-00001"},{"cat_id":"193","cat_name":"Medieval History","short_name":"Medieval History","childNodes":"0","parentPath":"00179-00081-00001"},{"cat_id":"194","cat_name":"Modern World History","short_name":"Modern World History","childNodes":"0","parentPath":"00179-00081-00001"},{"cat_id":"195","cat_name":"US History","short_name":"US History","childNodes":"0","parentPath":"00179-00081-00001"},{"cat_id":"196","cat_name":"Western Civilization","short_name":"Western Civilization","childNodes":"0","parentPath":"00179-00081-00001"},{"cat_id":"197","cat_name":"Womens History","short_name":"Womens History","childNodes":"0","parentPath":"00179-00081-00001"},{"cat_id":"198","cat_name":"World Civilizations","short_name":"World Civilizations","childNodes":"0","parentPath":"00179-00081-00001"},{"cat_id":"199","cat_name":"World History","short_name":"World History","childNodes":"0","parentPath":"00179-00081-00001"}]},{"cat_id":"82","cat_name":"Philosophy","short_name":"Philosophy","childNodes":"7","parentPath":"00081-00001","sub_categories":[{"cat_id":"83","cat_name":"Critical Thinking","short_name":"Critical Thinking","childNodes":"0","parentPath":"00082-00081-00001"},{"cat_id":"84","cat_name":"Ethics","short_name":"Ethics","childNodes":"0","parentPath":"00082-00081-00001"},{"cat_id":"85","cat_name":"Intro Philosophy","short_name":"Intro Philosophy","childNodes":"0","parentPath":"00082-00081-00001"},{"cat_id":"86","cat_name":"Logic","short_name":"Logic","childNodes":"0","parentPath":"00082-00081-00001"},{"cat_id":"87","cat_name":"Philosophy","short_name":"Philosophy","childNodes":"0","parentPath":"00082-00081-00001"},{"cat_id":"88","cat_name":"Plato","short_name":"Plato","childNodes":"0","parentPath":"00082-00081-00001"},{"cat_id":"89","cat_name":"Rhetoric","short_name":"Rhetoric","childNodes":"0","parentPath":"00082-00081-00001"}]},{"cat_id":"200","cat_name":"Political Science","short_name":"Political Science","childNodes":"17","parentPath":"00081-00001","sub_categories":[{"cat_id":"201","cat_name":"American Government","short_name":"American Government","childNodes":"0","parentPath":"00200-00081-00001"},{"cat_id":"202","cat_name":"Comparative Politics","short_name":"Comparative Politics","childNodes":"0","parentPath":"00200-00081-00001"},{"cat_id":"203","cat_name":"Foreign Policy","short_name":"Foreign Policy","childNodes":"0","parentPath":"00200-00081-00001"},{"cat_id":"204","cat_name":"Global Issues","short_name":"Global Issues","childNodes":"0","parentPath":"00200-00081-00001"},{"cat_id":"205","cat_name":"Human Rights","short_name":"Human Rights","childNodes":"0","parentPath":"00200-00081-00001"},{"cat_id":"206","cat_name":"International Political Economy","short_name":"International Political Economy","childNodes":"0","parentPath":"00200-00081-00001"},{"cat_id":"207","cat_name":"International Relations","short_name":"International Relations","childNodes":"0","parentPath":"00200-00081-00001"},{"cat_id":"208","cat_name":"Intro Political Science","short_name":"Intro Political Science","childNodes":"0","parentPath":"00200-00081-00001"},{"cat_id":"209","cat_name":"Policy Analysis","short_name":"Policy Analysis","childNodes":"0","parentPath":"00200-00081-00001"},{"cat_id":"210","cat_name":"Political Science","short_name":"Political Science","childNodes":"0","parentPath":"00200-00081-00001"},{"cat_id":"211","cat_name":"Presidency","short_name":"Presidency","childNodes":"0","parentPath":"00200-00081-00001"},{"cat_id":"212","cat_name":"Public Administration","short_name":"Public Administration","childNodes":"0","parentPath":"00200-00081-00001"},{"cat_id":"213","cat_name":"Public Policy","short_name":"Public Policy","childNodes":"0","parentPath":"00200-00081-00001"},{"cat_id":"214","cat_name":"Social Justice","short_name":"Social Justice","childNodes":"0","parentPath":"00200-00081-00001"},{"cat_id":"215","cat_name":"Terrorism","short_name":"Terrorism","childNodes":"0","parentPath":"00200-00081-00001"},{"cat_id":"216","cat_name":"UK Politics","short_name":"UK Politics","childNodes":"0","parentPath":"00200-00081-00001"},{"cat_id":"217","cat_name":"US Congress Leadership","short_name":"US Congress Leadership","childNodes":"0","parentPath":"00200-00081-00001"}]},{"cat_id":"218","cat_name":"Psychology","short_name":"Psychology","childNodes":"53","parentPath":"00081-00001","sub_categories":[{"cat_id":"219","cat_name":"Behavior Analysis","short_name":"Behavior Analysis","childNodes":"0","parentPath":"00218-00081-00001"},{"cat_id":"220","cat_name":"Behavioral Neuroscience","short_name":"Behavioral Neuroscience","childNodes":"0","parentPath":"00218-00081-00001"},{"cat_id":"221","cat_name":"Behavioral Statistics","short_name":"Behavioral Statistics","childNodes":"0","parentPath":"00218-00081-00001"},{"cat_id":"222","cat_name":"Biological Psychology","short_name":"Biological Psychology","childNodes":"0","parentPath":"00218-00081-00001"},{"cat_id":"223","cat_name":"Biopsychology","short_name":"Biopsychology","childNodes":"0","parentPath":"00218-00081-00001"},{"cat_id":"224","cat_name":"Brain and Behavior","short_name":"Brain and Behavior","childNodes":"0","parentPath":"00218-00081-00001"},{"cat_id":"225","cat_name":"Child Development","short_name":"Child Development","childNodes":"0","parentPath":"00218-00081-00001"},{"cat_id":"226","cat_name":"Child Psychology","short_name":"Child Psychology","childNodes":"0","parentPath":"00218-00081-00001"},{"cat_id":"227","cat_name":"Clinical Psychology","short_name":"Clinical Psychology","childNodes":"0","parentPath":"00218-00081-00001"},{"cat_id":"228","cat_name":"Cognitive Biases","short_name":"Cognitive Biases","childNodes":"0","parentPath":"00218-00081-00001"},{"cat_id":"229","cat_name":"Cognitive Neuroscience","short_name":"Cognitive Neuroscience","childNodes":"0","parentPath":"00218-00081-00001"},{"cat_id":"230","cat_name":"Cognitive Psychology","short_name":"Cognitive Psychology","childNodes":"0","parentPath":"00218-00081-00001"},{"cat_id":"231","cat_name":"Cognitive Science","short_name":"Cognitive Science","childNodes":"0","parentPath":"00218-00081-00001"},{"cat_id":"232","cat_name":"Community Psychology","short_name":"Community Psychology","childNodes":"0","parentPath":"00218-00081-00001"},{"cat_id":"233","cat_name":"Cultural Psychology","short_name":"Cultural Psychology","childNodes":"0","parentPath":"00218-00081-00001"},{"cat_id":"234","cat_name":"Developmental Psychology","short_name":"Developmental Psychology","childNodes":"0","parentPath":"00218-00081-00001"},{"cat_id":"235","cat_name":"Drugs and Behavior","short_name":"Drugs and Behavior","childNodes":"0","parentPath":"00218-00081-00001"},{"cat_id":"236","cat_name":"DSM","short_name":"DSM","childNodes":"0","parentPath":"00218-00081-00001"},{"cat_id":"237","cat_name":"DSM-5","short_name":"DSM-5","childNodes":"0","parentPath":"00218-00081-00001"},{"cat_id":"238","cat_name":"Educational Psychology","short_name":"Educational Psychology","childNodes":"0","parentPath":"00218-00081-00001"},{"cat_id":"239","cat_name":"Environmental Psychology","short_name":"Environmental Psychology","childNodes":"0","parentPath":"00218-00081-00001"},{"cat_id":"240","cat_name":"Evolutionary Psychology","short_name":"Evolutionary Psychology","childNodes":"0","parentPath":"00218-00081-00001"},{"cat_id":"241","cat_name":"Experimental Psychology","short_name":"Experimental Psychology","childNodes":"0","parentPath":"00218-00081-00001"},{"cat_id":"242","cat_name":"Forensic Pscyhology","short_name":"Forensic Pscyhology","childNodes":"0","parentPath":"00218-00081-00001"},{"cat_id":"243","cat_name":"Gender Psychology","short_name":"Gender Psychology","childNodes":"0","parentPath":"00218-00081-00001"},{"cat_id":"244","cat_name":"General Psychology","short_name":"General Psychology","childNodes":"0","parentPath":"00218-00081-00001"},{"cat_id":"245","cat_name":"Health Psychology","short_name":"Health Psychology","childNodes":"0","parentPath":"00218-00081-00001"},{"cat_id":"246","cat_name":"Human Behavior","short_name":"Human Behavior","childNodes":"0","parentPath":"00218-00081-00001"},{"cat_id":"247","cat_name":"Human Sexuality","short_name":"Human Sexuality","childNodes":"0","parentPath":"00218-00081-00001"},{"cat_id":"248","cat_name":"Industrial Psychology","short_name":"Industrial Psychology","childNodes":"0","parentPath":"00218-00081-00001"},{"cat_id":"249","cat_name":"Intro Psychology","short_name":"Intro Psychology","childNodes":"0","parentPath":"00218-00081-00001"},{"cat_id":"250","cat_name":"Language Development","short_name":"Language Development","childNodes":"0","parentPath":"00218-00081-00001"},{"cat_id":"251","cat_name":"Learning and Memory","short_name":"Learning and Memory","childNodes":"0","parentPath":"00218-00081-00001"},{"cat_id":"252","cat_name":"Lifespan Psychology","short_name":"Lifespan Psychology","childNodes":"0","parentPath":"00218-00081-00001"},{"cat_id":"253","cat_name":"Neuropsychology","short_name":"Neuropsychology","childNodes":"0","parentPath":"00218-00081-00001"},{"cat_id":"254","cat_name":"Phonology","short_name":"Phonology","childNodes":"0","parentPath":"00218-00081-00001"},{"cat_id":"255","cat_name":"Positive Psychology","short_name":"Positive Psychology","childNodes":"0","parentPath":"00218-00081-00001"},{"cat_id":"256","cat_name":"Psychobiology","short_name":"Psychobiology","childNodes":"0","parentPath":"00218-00081-00001"},{"cat_id":"257","cat_name":"Psychological Assessment","short_name":"Psychological Assessment","childNodes":"0","parentPath":"00218-00081-00001"},{"cat_id":"258","cat_name":"Psychological Statistics","short_name":"Psychological Statistics","childNodes":"0","parentPath":"00218-00081-00001"},{"cat_id":"259","cat_name":"Psychological Testing","short_name":"Psychological Testing","childNodes":"0","parentPath":"00218-00081-00001"},{"cat_id":"260","cat_name":"Psychology","short_name":"Psychology","childNodes":"0","parentPath":"00218-00081-00001"},{"cat_id":"261","cat_name":"Psychology Ethics","short_name":"Psychology Ethics","childNodes":"0","parentPath":"00218-00081-00001"},{"cat_id":"262","cat_name":"Psychopathology","short_name":"Psychopathology","childNodes":"0","parentPath":"00218-00081-00001"},{"cat_id":"263","cat_name":"Psychopharmacology","short_name":"Psychopharmacology","childNodes":"0","parentPath":"00218-00081-00001"},{"cat_id":"264","cat_name":"Psychosocial","short_name":"Psychosocial","childNodes":"0","parentPath":"00218-00081-00001"},{"cat_id":"265","cat_name":"Psychotherapy","short_name":"Psychotherapy","childNodes":"0","parentPath":"00218-00081-00001"},{"cat_id":"266","cat_name":"Psychotropic Drugs","short_name":"Psychotropic Drugs","childNodes":"0","parentPath":"00218-00081-00001"},{"cat_id":"267","cat_name":"Research Methods in Psych","short_name":"Research Methods in Psych","childNodes":"0","parentPath":"00218-00081-00001"},{"cat_id":"268","cat_name":"Sensation and Perception","short_name":"Sensation and Perception","childNodes":"0","parentPath":"00218-00081-00001"},{"cat_id":"269","cat_name":"Social Psychology","short_name":"Social Psychology","childNodes":"0","parentPath":"00218-00081-00001"},{"cat_id":"270","cat_name":"The Brain","short_name":"The Brain","childNodes":"0","parentPath":"00218-00081-00001"},{"cat_id":"271","cat_name":"Theories of Personality","short_name":"Theories of Personality","childNodes":"0","parentPath":"00218-00081-00001"}]},{"cat_id":"272","cat_name":"Religion and Bible","short_name":"Religion and Bible","childNodes":"19","parentPath":"00081-00001","sub_categories":[{"cat_id":"273","cat_name":"Aramaic","short_name":"Aramaic","childNodes":"0","parentPath":"00272-00081-00001"},{"cat_id":"274","cat_name":"Bible","short_name":"Bible","childNodes":"0","parentPath":"00272-00081-00001"},{"cat_id":"275","cat_name":"Bible Verses","short_name":"Bible Verses","childNodes":"0","parentPath":"00272-00081-00001"},{"cat_id":"276","cat_name":"Biblical Greek","short_name":"Biblical Greek","childNodes":"0","parentPath":"00272-00081-00001"},{"cat_id":"277","cat_name":"Buddhism","short_name":"Buddhism","childNodes":"0","parentPath":"00272-00081-00001"},{"cat_id":"278","cat_name":"Catholicism","short_name":"Catholicism","childNodes":"0","parentPath":"00272-00081-00001"},{"cat_id":"279","cat_name":"Christianity","short_name":"Christianity","childNodes":"0","parentPath":"00272-00081-00001"},{"cat_id":"280","cat_name":"Hebrew","short_name":"Hebrew","childNodes":"0","parentPath":"00272-00081-00001"},{"cat_id":"281","cat_name":"Hinduism","short_name":"Hinduism","childNodes":"0","parentPath":"00272-00081-00001"},{"cat_id":"282","cat_name":"Islam","short_name":"Islam","childNodes":"0","parentPath":"00272-00081-00001"},{"cat_id":"283","cat_name":"Judaism","short_name":"Judaism","childNodes":"0","parentPath":"00272-00081-00001"},{"cat_id":"284","cat_name":"New Testament","short_name":"New Testament","childNodes":"0","parentPath":"00272-00081-00001"},{"cat_id":"285","cat_name":"Old Testament","short_name":"Old Testament","childNodes":"0","parentPath":"00272-00081-00001"},{"cat_id":"286","cat_name":"Quran","short_name":"Quran","childNodes":"0","parentPath":"00272-00081-00001"},{"cat_id":"287","cat_name":"Religion","short_name":"Religion","childNodes":"0","parentPath":"00272-00081-00001"},{"cat_id":"288","cat_name":"Religious Studies","short_name":"Religious Studies","childNodes":"0","parentPath":"00272-00081-00001"},{"cat_id":"289","cat_name":"Sanskrit","short_name":"Sanskrit","childNodes":"0","parentPath":"00272-00081-00001"},{"cat_id":"290","cat_name":"Theology","short_name":"Theology","childNodes":"0","parentPath":"00272-00081-00001"},{"cat_id":"291","cat_name":"Torah","short_name":"Torah","childNodes":"0","parentPath":"00272-00081-00001"}]},{"cat_id":"309","cat_name":"Social Studies","short_name":"Social Studies","childNodes":"0","parentPath":"00081-00001"},{"cat_id":"310","cat_name":"Social Work","short_name":"Social Work","childNodes":"0","parentPath":"00081-00001"},{"cat_id":"292","cat_name":"Sociology","short_name":"Sociology","childNodes":"14","parentPath":"00081-00001","sub_categories":[{"cat_id":"293","cat_name":"Civil Rights","short_name":"Civil Rights","childNodes":"0","parentPath":"00292-00081-00001"},{"cat_id":"294","cat_name":"Cultural Diversity","short_name":"Cultural Diversity","childNodes":"0","parentPath":"00292-00081-00001"},{"cat_id":"295","cat_name":"Gender Studies","short_name":"Gender Studies","childNodes":"0","parentPath":"00292-00081-00001"},{"cat_id":"296","cat_name":"Group Dynamcis","short_name":"Group Dynamcis","childNodes":"0","parentPath":"00292-00081-00001"},{"cat_id":"297","cat_name":"Intro Sociology","short_name":"Intro Sociology","childNodes":"0","parentPath":"00292-00081-00001"},{"cat_id":"298","cat_name":"Juvenile Delinquency","short_name":"Juvenile Delinquency","childNodes":"0","parentPath":"00292-00081-00001"},{"cat_id":"299","cat_name":"Marriage & Family","short_name":"Marriage & Family","childNodes":"0","parentPath":"00292-00081-00001"},{"cat_id":"300","cat_name":"Mass Media Sociology","short_name":"Mass Media Sociology","childNodes":"0","parentPath":"00292-00081-00001"},{"cat_id":"301","cat_name":"Medical Sociology","short_name":"Medical Sociology","childNodes":"0","parentPath":"00292-00081-00001"},{"cat_id":"302","cat_name":"Social Control","short_name":"Social Control","childNodes":"0","parentPath":"00292-00081-00001"},{"cat_id":"303","cat_name":"Social Institutions","short_name":"Social Institutions","childNodes":"0","parentPath":"00292-00081-00001"},{"cat_id":"304","cat_name":"Sociology","short_name":"Sociology","childNodes":"0","parentPath":"00292-00081-00001"},{"cat_id":"305","cat_name":"Subcultures","short_name":"Subcultures","childNodes":"0","parentPath":"00292-00081-00001"},{"cat_id":"306","cat_name":"Youth Subcultures","short_name":"Youth Subcultures","childNodes":"0","parentPath":"00292-00081-00001"}]}]},{"cat_id":"623","cat_name":"Languages","short_name":"Languages","childNodes":"3","parentPath":"00001","sub_categories":[{"cat_id":"626","cat_name":"Africans","short_name":"Africans","childNodes":"0","parentPath":"00623-00001"},{"cat_id":"624","cat_name":"Xkhosa","short_name":"Xkhosa","childNodes":"0","parentPath":"00623-00001"},{"cat_id":"625","cat_name":"Zulu","short_name":"Zulu","childNodes":"0","parentPath":"00623-00001"}]},{"cat_id":"366","cat_name":"Law","short_name":"Law","childNodes":"29","parentPath":"00001","sub_categories":[{"cat_id":"368","cat_name":"Bankruptcy","short_name":"Bankruptcy","childNodes":"0","parentPath":"00366-00001"},{"cat_id":"369","cat_name":"Bar Exam","short_name":"Bar Exam","childNodes":"0","parentPath":"00366-00001"},{"cat_id":"370","cat_name":"Business Law","short_name":"Business Law","childNodes":"0","parentPath":"00366-00001"},{"cat_id":"371","cat_name":"California Bar Exam","short_name":"California Bar Exam","childNodes":"0","parentPath":"00366-00001"},{"cat_id":"372","cat_name":"CIPP Exam","short_name":"CIPP Exam","childNodes":"0","parentPath":"00366-00001"},{"cat_id":"373","cat_name":"Civil Procedure","short_name":"Civil Procedure","childNodes":"0","parentPath":"00366-00001"},{"cat_id":"374","cat_name":"Constitutional Law","short_name":"Constitutional Law","childNodes":"0","parentPath":"00366-00001"},{"cat_id":"375","cat_name":"Contract Law","short_name":"Contract Law","childNodes":"0","parentPath":"00366-00001"},{"cat_id":"376","cat_name":"Corporate Law","short_name":"Corporate Law","childNodes":"0","parentPath":"00366-00001"},{"cat_id":"377","cat_name":"Criminal Law","short_name":"Criminal Law","childNodes":"0","parentPath":"00366-00001"},{"cat_id":"378","cat_name":"Evidence","short_name":"Evidence","childNodes":"0","parentPath":"00366-00001"},{"cat_id":"379","cat_name":"Family Law","short_name":"Family Law","childNodes":"0","parentPath":"00366-00001"},{"cat_id":"380","cat_name":"Florida Bar Exam","short_name":"Florida Bar Exam","childNodes":"0","parentPath":"00366-00001"},{"cat_id":"381","cat_name":"Insurance Law","short_name":"Insurance Law","childNodes":"0","parentPath":"00366-00001"},{"cat_id":"382","cat_name":"Intellectual Property","short_name":"Intellectual Property","childNodes":"0","parentPath":"00366-00001"},{"cat_id":"383","cat_name":"International Law","short_name":"International Law","childNodes":"0","parentPath":"00366-00001"},{"cat_id":"384","cat_name":"Law","short_name":"Law","childNodes":"0","parentPath":"00366-00001"},{"cat_id":"385","cat_name":"Law & Ethics","short_name":"Law & Ethics","childNodes":"0","parentPath":"00366-00001"},{"cat_id":"386","cat_name":"Legal Studies","short_name":"Legal Studies","childNodes":"0","parentPath":"00366-00001"},{"cat_id":"367","cat_name":"Legislation Acts Policies","short_name":"Legislation Acts Policies","childNodes":"0","parentPath":"00366-00001"},{"cat_id":"387","cat_name":"Litigation","short_name":"Litigation","childNodes":"0","parentPath":"00366-00001"},{"cat_id":"388","cat_name":"MBE","short_name":"MBE","childNodes":"0","parentPath":"00366-00001"},{"cat_id":"389","cat_name":"MPRE","short_name":"MPRE","childNodes":"0","parentPath":"00366-00001"},{"cat_id":"390","cat_name":"Pharmacy Law","short_name":"Pharmacy Law","childNodes":"0","parentPath":"00366-00001"},{"cat_id":"391","cat_name":"Property Law","short_name":"Property Law","childNodes":"0","parentPath":"00366-00001"},{"cat_id":"392","cat_name":"Real Estate Law","short_name":"Real Estate Law","childNodes":"0","parentPath":"00366-00001"},{"cat_id":"393","cat_name":"Texas Bar Exam","short_name":"Texas Bar Exam","childNodes":"0","parentPath":"00366-00001"},{"cat_id":"394","cat_name":"Torts","short_name":"Torts","childNodes":"0","parentPath":"00366-00001"},{"cat_id":"395","cat_name":"Trusts & Estates","short_name":"Trusts & Estates","childNodes":"0","parentPath":"00366-00001"}]},{"cat_id":"311","cat_name":"Mathematics","short_name":"Mathematics","childNodes":"13","parentPath":"00001","sub_categories":[{"cat_id":"312","cat_name":"Algebra","short_name":"Algebra","childNodes":"0","parentPath":"00311-00001"},{"cat_id":"313","cat_name":"Algebra II","short_name":"Algebra II","childNodes":"0","parentPath":"00311-00001"},{"cat_id":"314","cat_name":"Arithmetic","short_name":"Arithmetic","childNodes":"0","parentPath":"00311-00001"},{"cat_id":"315","cat_name":"Calculus","short_name":"Calculus","childNodes":"0","parentPath":"00311-00001"},{"cat_id":"316","cat_name":"Geometry","short_name":"Geometry","childNodes":"0","parentPath":"00311-00001"},{"cat_id":"317","cat_name":"Linear Algebra","short_name":"Linear Algebra","childNodes":"0","parentPath":"00311-00001"},{"cat_id":"318","cat_name":"Math","short_name":"Math","childNodes":"0","parentPath":"00311-00001"},{"cat_id":"319","cat_name":"Multiplication Tables","short_name":"Multiplication Tables","childNodes":"0","parentPath":"00311-00001"},{"cat_id":"320","cat_name":"Precalculus","short_name":"Precalculus","childNodes":"0","parentPath":"00311-00001"},{"cat_id":"321","cat_name":"Probability","short_name":"Probability","childNodes":"0","parentPath":"00311-00001"},{"cat_id":"322","cat_name":"Statistical Methods","short_name":"Statistical Methods","childNodes":"0","parentPath":"00311-00001"},{"cat_id":"323","cat_name":"Statistics","short_name":"Statistics","childNodes":"0","parentPath":"00311-00001"},{"cat_id":"324","cat_name":"Trigonometry","short_name":"Trigonometry","childNodes":"0","parentPath":"00311-00001"}]},{"cat_id":"325","cat_name":"Medical & Nursing","short_name":"Medical & Nursing","childNodes":"15","parentPath":"00001","sub_categories":[{"cat_id":"326","cat_name":"Anatomy","short_name":"Anatomy","childNodes":"0","parentPath":"00325-00001"},{"cat_id":"327","cat_name":"Body Systems","short_name":"Body Systems","childNodes":"0","parentPath":"00325-00001"},{"cat_id":"328","cat_name":"Dentistry","short_name":"Dentistry","childNodes":"0","parentPath":"00325-00001"},{"cat_id":"329","cat_name":"Medical Courses & Subject Areas","short_name":"Medical Courses & Subject Areas","childNodes":"0","parentPath":"00325-00001"},{"cat_id":"330","cat_name":"Medical Exams","short_name":"Medical Exams","childNodes":"0","parentPath":"00325-00001"},{"cat_id":"331","cat_name":"Medical Subspecialties","short_name":"Medical Subspecialties","childNodes":"0","parentPath":"00325-00001"},{"cat_id":"332","cat_name":"Medical Terminology","short_name":"Medical Terminology","childNodes":"0","parentPath":"00325-00001"},{"cat_id":"333","cat_name":"Misc Healthcare Topics","short_name":"Misc Healthcare Topics","childNodes":"0","parentPath":"00325-00001"},{"cat_id":"334","cat_name":"Nursing Courses & Subject Areas","short_name":"Nursing Courses & Subject Areas","childNodes":"0","parentPath":"00325-00001"},{"cat_id":"335","cat_name":"Nursing Subspecialties","short_name":"Nursing Subspecialties","childNodes":"0","parentPath":"00325-00001"},{"cat_id":"336","cat_name":"Other Healthcare Fields","short_name":"Other Healthcare Fields","childNodes":"0","parentPath":"00325-00001"},{"cat_id":"337","cat_name":"Pharmacology","short_name":"Pharmacology","childNodes":"0","parentPath":"00325-00001"},{"cat_id":"338","cat_name":"Physiology","short_name":"Physiology","childNodes":"0","parentPath":"00325-00001"},{"cat_id":"339","cat_name":"Radiology & Diagnostic Imaging","short_name":"Radiology & Diagnostic Imaging","childNodes":"0","parentPath":"00325-00001"},{"cat_id":"340","cat_name":"Veterinary","short_name":"Veterinary","childNodes":"0","parentPath":"00325-00001"}]},{"cat_id":"11","cat_name":"Professional Certifications","short_name":"Professional Certifications","childNodes":"11","parentPath":"00001","sub_categories":[{"cat_id":"12","cat_name":"Bar Exam","short_name":"Bar Exam","childNodes":"0","parentPath":"00011-00001"},{"cat_id":"13","cat_name":"Drivers Ed","short_name":"Drivers Ed","childNodes":"0","parentPath":"00011-00001"},{"cat_id":"14","cat_name":"Financial Exams","short_name":"Financial Exams","childNodes":"0","parentPath":"00011-00001"},{"cat_id":"15","cat_name":"Management Certifications","short_name":"Management Certifications","childNodes":"0","parentPath":"00011-00001"},{"cat_id":"16","cat_name":"Medical & Nursing Certifications","short_name":"Medical & Nursing Certifications","childNodes":"0","parentPath":"00011-00001"},{"cat_id":"17","cat_name":"Military Exams","short_name":"Military Exams","childNodes":"0","parentPath":"00011-00001"},{"cat_id":"18","cat_name":"MPRE","short_name":"MPRE","childNodes":"0","parentPath":"00011-00001"},{"cat_id":"19","cat_name":"Other Certifications","short_name":"Other Certifications","childNodes":"0","parentPath":"00011-00001"},{"cat_id":"20","cat_name":"Technology Certifications","short_name":"Technology Certifications","childNodes":"0","parentPath":"00011-00001"},{"cat_id":"21","cat_name":"TOEFL","short_name":"TOEFL","childNodes":"0","parentPath":"00011-00001"},{"cat_id":"22","cat_name":"Wine & Spirits","short_name":"Wine & Spirits","childNodes":"0","parentPath":"00011-00001"}]},{"cat_id":"611","cat_name":"Random Knowledge","short_name":"Random Knowledge","childNodes":"11","parentPath":"00001","sub_categories":[{"cat_id":"612","cat_name":"Astrology","short_name":"Astrology","childNodes":"0","parentPath":"00611-00001"},{"cat_id":"613","cat_name":"Blackjack","short_name":"Blackjack","childNodes":"0","parentPath":"00611-00001"},{"cat_id":"614","cat_name":"Cultural Literacy","short_name":"Cultural Literacy","childNodes":"0","parentPath":"00611-00001"},{"cat_id":"615","cat_name":"Knowledge Rehab","short_name":"Knowledge Rehab","childNodes":"0","parentPath":"00611-00001"},{"cat_id":"616","cat_name":"Mythology","short_name":"Mythology","childNodes":"0","parentPath":"00611-00001"},{"cat_id":"617","cat_name":"National Capitals","short_name":"National Capitals","childNodes":"0","parentPath":"00611-00001"},{"cat_id":"618","cat_name":"People You Should Know","short_name":"People You Should Know","childNodes":"0","parentPath":"00611-00001"},{"cat_id":"619","cat_name":"Poker","short_name":"Poker","childNodes":"0","parentPath":"00611-00001"},{"cat_id":"620","cat_name":"Quiz Bowl","short_name":"Quiz Bowl","childNodes":"0","parentPath":"00611-00001"},{"cat_id":"621","cat_name":"Sports Trivia","short_name":"Sports Trivia","childNodes":"0","parentPath":"00611-00001"},{"cat_id":"622","cat_name":"Tarot Cards","short_name":"Tarot Cards","childNodes":"0","parentPath":"00611-00001"}]},{"cat_id":"38","cat_name":"Science","short_name":"Science","childNodes":"25","parentPath":"00001","sub_categories":[{"cat_id":"39","cat_name":"Anatomy","short_name":"Anatomy","childNodes":"0","parentPath":"00038-00001"},{"cat_id":"40","cat_name":"Astronomy","short_name":"Astronomy","childNodes":"0","parentPath":"00038-00001"},{"cat_id":"41","cat_name":"Biochemistry","short_name":"Biochemistry","childNodes":"0","parentPath":"00038-00001"},{"cat_id":"42","cat_name":"Biology","short_name":"Biology","childNodes":"0","parentPath":"00038-00001"},{"cat_id":"43","cat_name":"Cellular Biology","short_name":"Cellular Biology","childNodes":"0","parentPath":"00038-00001"},{"cat_id":"44","cat_name":"Chemistry","short_name":"Chemistry","childNodes":"0","parentPath":"00038-00001"},{"cat_id":"45","cat_name":"Earth Science","short_name":"Earth Science","childNodes":"0","parentPath":"00038-00001"},{"cat_id":"46","cat_name":"Environmental Science","short_name":"Environmental Science","childNodes":"0","parentPath":"00038-00001"},{"cat_id":"47","cat_name":"Genetics","short_name":"Genetics","childNodes":"0","parentPath":"00038-00001"},{"cat_id":"48","cat_name":"Geology","short_name":"Geology","childNodes":"0","parentPath":"00038-00001"},{"cat_id":"49","cat_name":"Life Science","short_name":"Life Science","childNodes":"0","parentPath":"00038-00001"},{"cat_id":"50","cat_name":"Marine Biology","short_name":"Marine Biology","childNodes":"0","parentPath":"00038-00001"},{"cat_id":"51","cat_name":"Meteorology","short_name":"Meteorology","childNodes":"0","parentPath":"00038-00001"},{"cat_id":"52","cat_name":"Microbiology","short_name":"Microbiology","childNodes":"0","parentPath":"00038-00001"},{"cat_id":"53","cat_name":"Molecular Biology","short_name":"Molecular Biology","childNodes":"0","parentPath":"00038-00001"},{"cat_id":"54","cat_name":"Natural Science","short_name":"Natural Science","childNodes":"0","parentPath":"00038-00001"},{"cat_id":"55","cat_name":"Oceanography","short_name":"Oceanography","childNodes":"0","parentPath":"00038-00001"},{"cat_id":"56","cat_name":"Organic Chemistry","short_name":"Organic Chemistry","childNodes":"0","parentPath":"00038-00001"},{"cat_id":"57","cat_name":"Periodic Table","short_name":"Periodic Table","childNodes":"0","parentPath":"00038-00001"},{"cat_id":"58","cat_name":"Physical Science","short_name":"Physical Science","childNodes":"0","parentPath":"00038-00001"},{"cat_id":"59","cat_name":"Physics","short_name":"Physics","childNodes":"0","parentPath":"00038-00001"},{"cat_id":"60","cat_name":"Physiology","short_name":"Physiology","childNodes":"0","parentPath":"00038-00001"},{"cat_id":"61","cat_name":"Plant Science","short_name":"Plant Science","childNodes":"0","parentPath":"00038-00001"},{"cat_id":"62","cat_name":"Science Class","short_name":"Science Class","childNodes":"0","parentPath":"00038-00001"},{"cat_id":"63","cat_name":"Zoology","short_name":"Zoology","childNodes":"0","parentPath":"00038-00001"}]},{"cat_id":"525","cat_name":"Technology & Engineering","short_name":"Technology & Engineering","childNodes":"9","parentPath":"00001","sub_categories":[{"cat_id":"526","cat_name":"Architecture","short_name":"Architecture","childNodes":"0","parentPath":"00525-00001"},{"cat_id":"527","cat_name":"Biotechnology","short_name":"Biotechnology","childNodes":"0","parentPath":"00525-00001"},{"cat_id":"528","cat_name":"Computer Programming","short_name":"Computer Programming","childNodes":"22","parentPath":"00525-00001","sub_categories":[{"cat_id":"529","cat_name":"Agile","short_name":"Agile","childNodes":"1","parentPath":"00528-00525-00001","sub_categories":[{"cat_id":"628","cat_name":"test category","short_name":"test category","childNodes":"0","parentPath":"00529-00528-00525-00001"}]},{"cat_id":"530","cat_name":"AWS","short_name":"AWS","childNodes":"0","parentPath":"00528-00525-00001"},{"cat_id":"550","cat_name":"Brainscape Certified (\u00c2\u00a0See All\u00c2\u00a0)","short_name":"Brainscape Certified (\u00c2\u00a0See All\u00c2\u00a0)","childNodes":"0","parentPath":"00528-00525-00001"},{"cat_id":"531","cat_name":"Computer Programming","short_name":"Computer Programming","childNodes":"0","parentPath":"00528-00525-00001"},{"cat_id":"532","cat_name":"Cryptography","short_name":"Cryptography","childNodes":"0","parentPath":"00528-00525-00001"},{"cat_id":"533","cat_name":"Git Commands","short_name":"Git Commands","childNodes":"0","parentPath":"00528-00525-00001"},{"cat_id":"534","cat_name":"HTML","short_name":"HTML","childNodes":"0","parentPath":"00528-00525-00001"},{"cat_id":"535","cat_name":"Java","short_name":"Java","childNodes":"0","parentPath":"00528-00525-00001"},{"cat_id":"536","cat_name":"Javascript","short_name":"Javascript","childNodes":"0","parentPath":"00528-00525-00001"},{"cat_id":"537","cat_name":"Keyboard Shortcuts","short_name":"Keyboard Shortcuts","childNodes":"0","parentPath":"00528-00525-00001"},{"cat_id":"538","cat_name":"Kubernetes","short_name":"Kubernetes","childNodes":"0","parentPath":"00528-00525-00001"},{"cat_id":"539","cat_name":"Linux","short_name":"Linux","childNodes":"0","parentPath":"00528-00525-00001"},{"cat_id":"540","cat_name":"Mac OS","short_name":"Mac OS","childNodes":"0","parentPath":"00528-00525-00001"},{"cat_id":"541","cat_name":"Objective-C","short_name":"Objective-C","childNodes":"0","parentPath":"00528-00525-00001"},{"cat_id":"542","cat_name":"PHP","short_name":"PHP","childNodes":"0","parentPath":"00528-00525-00001"},{"cat_id":"543","cat_name":"Python","short_name":"Python","childNodes":"0","parentPath":"00528-00525-00001"},{"cat_id":"544","cat_name":"React","short_name":"React","childNodes":"0","parentPath":"00528-00525-00001"},{"cat_id":"545","cat_name":"Ruby","short_name":"Ruby","childNodes":"0","parentPath":"00528-00525-00001"},{"cat_id":"546","cat_name":"Ruby on Rails","short_name":"Ruby on Rails","childNodes":"0","parentPath":"00528-00525-00001"},{"cat_id":"547","cat_name":"Swift","short_name":"Swift","childNodes":"0","parentPath":"00528-00525-00001"},{"cat_id":"548","cat_name":"Tech Startup Genius","short_name":"Tech Startup Genius","childNodes":"0","parentPath":"00528-00525-00001"},{"cat_id":"549","cat_name":"Wordpress","short_name":"Wordpress","childNodes":"0","parentPath":"00528-00525-00001"}]},{"cat_id":"551","cat_name":"Computer Science","short_name":"Computer Science","childNodes":"28","parentPath":"00525-00001","sub_categories":[{"cat_id":"552","cat_name":"Algorithms","short_name":"Algorithms","childNodes":"1","parentPath":"00551-00525-00001","sub_categories":[{"cat_id":"630","cat_name":"               ","short_name":"               ","childNodes":"0","parentPath":"00552-00551-00525-00001"}]},{"cat_id":"553","cat_name":"Artificial Intelligence","short_name":"Artificial Intelligence","childNodes":"0","parentPath":"00551-00525-00001"},{"cat_id":"554","cat_name":"Computer Architecture","short_name":"Computer Architecture","childNodes":"0","parentPath":"00551-00525-00001"},{"cat_id":"555","cat_name":"Computer Concepts","short_name":"Computer Concepts","childNodes":"0","parentPath":"00551-00525-00001"},{"cat_id":"556","cat_name":"Computer Literacy","short_name":"Computer Literacy","childNodes":"0","parentPath":"00551-00525-00001"},{"cat_id":"557","cat_name":"Computer Science","short_name":"Computer Science","childNodes":"0","parentPath":"00551-00525-00001"},{"cat_id":"558","cat_name":"Computer Security","short_name":"Computer Security","childNodes":"0","parentPath":"00551-00525-00001"},{"cat_id":"559","cat_name":"Computer Systems","short_name":"Computer Systems","childNodes":"0","parentPath":"00551-00525-00001"},{"cat_id":"560","cat_name":"Computing","short_name":"Computing","childNodes":"0","parentPath":"00551-00525-00001"},{"cat_id":"561","cat_name":"Cybersecurity","short_name":"Cybersecurity","childNodes":"0","parentPath":"00551-00525-00001"},{"cat_id":"562","cat_name":"Data Mining","short_name":"Data Mining","childNodes":"0","parentPath":"00551-00525-00001"},{"cat_id":"563","cat_name":"Data Science","short_name":"Data Science","childNodes":"0","parentPath":"00551-00525-00001"},{"cat_id":"564","cat_name":"Data Structures","short_name":"Data Structures","childNodes":"0","parentPath":"00551-00525-00001"},{"cat_id":"565","cat_name":"Database","short_name":"Database","childNodes":"0","parentPath":"00551-00525-00001"},{"cat_id":"566","cat_name":"Database Management","short_name":"Database Management","childNodes":"0","parentPath":"00551-00525-00001"},{"cat_id":"567","cat_name":"Deep Learning","short_name":"Deep Learning","childNodes":"0","parentPath":"00551-00525-00001"},{"cat_id":"568","cat_name":"Discrete Structures","short_name":"Discrete Structures","childNodes":"0","parentPath":"00551-00525-00001"},{"cat_id":"569","cat_name":"Human Computer Interaction","short_name":"Human Computer Interaction","childNodes":"0","parentPath":"00551-00525-00001"},{"cat_id":"570","cat_name":"Informatics","short_name":"Informatics","childNodes":"0","parentPath":"00551-00525-00001"},{"cat_id":"571","cat_name":"Intro to Computers","short_name":"Intro to Computers","childNodes":"0","parentPath":"00551-00525-00001"},{"cat_id":"572","cat_name":"Machine Learning","short_name":"Machine Learning","childNodes":"0","parentPath":"00551-00525-00001"},{"cat_id":"573","cat_name":"Network Security","short_name":"Network Security","childNodes":"0","parentPath":"00551-00525-00001"},{"cat_id":"574","cat_name":"Networking","short_name":"Networking","childNodes":"0","parentPath":"00551-00525-00001"},{"cat_id":"575","cat_name":"Object Oriented Programming","short_name":"Object Oriented Programming","childNodes":"0","parentPath":"00551-00525-00001"},{"cat_id":"576","cat_name":"Operating Systems","short_name":"Operating Systems","childNodes":"0","parentPath":"00551-00525-00001"},{"cat_id":"577","cat_name":"Programming","short_name":"Programming","childNodes":"0","parentPath":"00551-00525-00001"},{"cat_id":"578","cat_name":"Robotics","short_name":"Robotics","childNodes":"0","parentPath":"00551-00525-00001"},{"cat_id":"579","cat_name":"Software Development","short_name":"Software Development","childNodes":"0","parentPath":"00551-00525-00001"}]},{"cat_id":"581","cat_name":"Engineering","short_name":"Engineering","childNodes":"12","parentPath":"00525-00001","sub_categories":[{"cat_id":"582","cat_name":"Amateur Radio","short_name":"Amateur Radio","childNodes":"0","parentPath":"00581-00525-00001"},{"cat_id":"583","cat_name":"Architecture","short_name":"Architecture","childNodes":"0","parentPath":"00581-00525-00001"},{"cat_id":"584","cat_name":"Circuits","short_name":"Circuits","childNodes":"0","parentPath":"00581-00525-00001"},{"cat_id":"585","cat_name":"Civil Engineering","short_name":"Civil Engineering","childNodes":"0","parentPath":"00581-00525-00001"},{"cat_id":"586","cat_name":"Construction","short_name":"Construction","childNodes":"0","parentPath":"00581-00525-00001"},{"cat_id":"587","cat_name":"Electrical Engineering","short_name":"Electrical Engineering","childNodes":"0","parentPath":"00581-00525-00001"},{"cat_id":"588","cat_name":"Engineering Science","short_name":"Engineering Science","childNodes":"0","parentPath":"00581-00525-00001"},{"cat_id":"589","cat_name":"Materials Science","short_name":"Materials Science","childNodes":"0","parentPath":"00581-00525-00001"},{"cat_id":"590","cat_name":"Mechanical Engineering","short_name":"Mechanical Engineering","childNodes":"0","parentPath":"00581-00525-00001"},{"cat_id":"591","cat_name":"Millwright","short_name":"Millwright","childNodes":"0","parentPath":"00581-00525-00001"},{"cat_id":"592","cat_name":"Morse Code","short_name":"Morse Code","childNodes":"0","parentPath":"00581-00525-00001"},{"cat_id":"593","cat_name":"Power Engineering","short_name":"Power Engineering","childNodes":"0","parentPath":"00581-00525-00001"}]},{"cat_id":"594","cat_name":"Graphic Design","short_name":"Graphic Design","childNodes":"0","parentPath":"00525-00001"},{"cat_id":"595","cat_name":"Information Security","short_name":"Information Security","childNodes":"0","parentPath":"00525-00001"},{"cat_id":"596","cat_name":"Information Technology","short_name":"Information Technology","childNodes":"0","parentPath":"00525-00001"},{"cat_id":"597","cat_name":"Management Information Systems","short_name":"Management Information Systems","childNodes":"0","parentPath":"00525-00001"}]},{"cat_id":"341","cat_name":"Vocations","short_name":"Vocations","childNodes":"24","parentPath":"00001","sub_categories":[{"cat_id":"342","cat_name":"ASVAB","short_name":"ASVAB","childNodes":"0","parentPath":"00341-00001"},{"cat_id":"343","cat_name":"Automotive","short_name":"Automotive","childNodes":"0","parentPath":"00341-00001"},{"cat_id":"344","cat_name":"Aviation","short_name":"Aviation","childNodes":"0","parentPath":"00341-00001"},{"cat_id":"345","cat_name":"Barbering","short_name":"Barbering","childNodes":"0","parentPath":"00341-00001"},{"cat_id":"346","cat_name":"Boating","short_name":"Boating","childNodes":"0","parentPath":"00341-00001"},{"cat_id":"347","cat_name":"Cosmetology","short_name":"Cosmetology","childNodes":"0","parentPath":"00341-00001"},{"cat_id":"348","cat_name":"Diamonds","short_name":"Diamonds","childNodes":"0","parentPath":"00341-00001"},{"cat_id":"349","cat_name":"Electrical","short_name":"Electrical","childNodes":"0","parentPath":"00341-00001"},{"cat_id":"350","cat_name":"Electrician","short_name":"Electrician","childNodes":"0","parentPath":"00341-00001"},{"cat_id":"351","cat_name":"Firefighting","short_name":"Firefighting","childNodes":"0","parentPath":"00341-00001"},{"cat_id":"352","cat_name":"Gardening","short_name":"Gardening","childNodes":"0","parentPath":"00341-00001"},{"cat_id":"353","cat_name":"Home Economics","short_name":"Home Economics","childNodes":"0","parentPath":"00341-00001"},{"cat_id":"354","cat_name":"Horticulture","short_name":"Horticulture","childNodes":"0","parentPath":"00341-00001"},{"cat_id":"355","cat_name":"HVAC","short_name":"HVAC","childNodes":"0","parentPath":"00341-00001"},{"cat_id":"356","cat_name":"Interior Design","short_name":"Interior Design","childNodes":"0","parentPath":"00341-00001"},{"cat_id":"357","cat_name":"Landscape Architecture","short_name":"Landscape Architecture","childNodes":"0","parentPath":"00341-00001"},{"cat_id":"358","cat_name":"Massage Therapy","short_name":"Massage Therapy","childNodes":"0","parentPath":"00341-00001"},{"cat_id":"359","cat_name":"Metallurgy","short_name":"Metallurgy","childNodes":"0","parentPath":"00341-00001"},{"cat_id":"360","cat_name":"Military","short_name":"Military","childNodes":"0","parentPath":"00341-00001"},{"cat_id":"361","cat_name":"Pest Control","short_name":"Pest Control","childNodes":"0","parentPath":"00341-00001"},{"cat_id":"362","cat_name":"Plumbing","short_name":"Plumbing","childNodes":"0","parentPath":"00341-00001"},{"cat_id":"363","cat_name":"Policing","short_name":"Policing","childNodes":"0","parentPath":"00341-00001"},{"cat_id":"364","cat_name":"Wastewater","short_name":"Wastewater","childNodes":"0","parentPath":"00341-00001"},{"cat_id":"365","cat_name":"Welding","short_name":"Welding","childNodes":"0","parentPath":"00341-00001"}]}]}
[13/Apr/2026:14:05:54] (root_api-) token =  IP = 169.1.82.177
[13/Apr/2026:14:05:54] (root_api-) 
[13/Apr/2026:14:05:54] (root_api-) OP=  of page root_api.php
[13/Apr/2026:14:05:54] (root_api-) Final JSON =  { "status":"error",
					"message":"Invalid Session",
					"Errorcode":"err100",
					"data":{}}
[13/Apr/2026:14:05:54] (root_api-) token =  IP = 169.1.82.177
[13/Apr/2026:14:05:54] (root_api-) 
[13/Apr/2026:14:05:54] (root_api-) OP=  of page root_api.php
[13/Apr/2026:14:05:54] (root_api-) Final JSON =  { "status":"error",
					"message":"Invalid Session",
					"Errorcode":"err100",
					"data":{}}
[13/Apr/2026:14:05:54] (root_api-) token = 66bbc87451ad3590b670daae13ee0619 IP = 169.1.82.177
[13/Apr/2026:14:05:54] (root_api-) op => getFrontCategoryMenu ,categoryId =>  ,clid => 66bbc87451ad3590b670daae13ee0619 ,serviceName => category_data ,
[13/Apr/2026:14:05:54] (root_api-) OP= getFrontCategoryMenu of page root_api.php
[13/Apr/2026:14:05:54] (root_api-) serviceName category_data
[13/Apr/2026:14:05:54] (root_api-) getFrontCategoryMenu : [1] get category with category default root.
[13/Apr/2026:14:05:54] (root_api-) Query~select ct.cat_id,ct.cat_name,ct.short_name,ct.`status`,
	fn_getChildCount(ct.cat_id) as childNodes,fn_getParentPath(ct.cat_id) as parentPath
	from tbl_category ct
	left join tbl_category ctp on ct.cat_parent_id = ctp.cat_id
	 where ct.cat_parent_id='1' AND ct.status = 'active'
	order by fn_getParentPath(ct.cat_id), ct.cat_name~2026-04-13 14:05:54:0454~2026-04-13 14:05:54~success
[13/Apr/2026:14:05:54] (root_api-) getFrontCategoryMenu : [1] get category with category default root.
[13/Apr/2026:14:05:54] (root_api-) token = 66bbc87451ad3590b670daae13ee0619 IP = 169.1.82.177
[13/Apr/2026:14:05:54] (root_api-) op => getSwitchRoles ,user_id => 184 ,org_id => 1 ,clid => 66bbc87451ad3590b670daae13ee0619 ,serviceName => user_data ,
[13/Apr/2026:14:05:54] (root_api-) OP= getSwitchRoles of page root_api.php
[13/Apr/2026:14:05:54] (root_api-) Query~SELECT count(u.user_id) as cnt FROM tbl_user_master u WHERE u.isActive = '1' AND u.user_id ='184'~2026-04-13 14:05:54:0454~2026-04-13 14:05:54~success
[13/Apr/2026:14:05:54] (root_api-) Query~SELECT count(1) as cnt FROM tbl_org  WHERE status = 'Active' AND org_id ='1'~2026-04-13 14:05:54:0454~2026-04-13 14:05:54~success
[13/Apr/2026:14:05:54] (root_api-) Query~SELECT count(1) as cnt FROM tbl_user_org u WHERE u.status = 'Active' AND u.user_id ='184' AND  org_id ='1'~2026-04-13 14:05:54:0454~2026-04-13 14:05:54~success
[13/Apr/2026:14:05:54] (root_api-) serviceName user_data
[13/Apr/2026:14:05:54] (root_api-) Query~select ct.cat_id,ct.cat_name,ct.short_name,ct.`status`,
	fn_getChildCount(ct.cat_id) as childNodes,fn_getParentPath(ct.cat_id) as parentPath
	from tbl_category ct
	left join tbl_category ctp on ct.cat_parent_id = ctp.cat_id
	 where ct.cat_parent_id='410' AND ct.status = 'active'
	order by fn_getParentPath(ct.cat_id), ct.cat_name~2026-04-13 14:05:54:0454~2026-04-13 14:05:54~success
[13/Apr/2026:14:05:54] (root_api-) getFrontCategoryMenu : [1] get category with category default root.
[13/Apr/2026:14:05:54] (root_api-) Query~SELECT u.user_org_id, u.org_id, u.role_id, um.email,o.org_name,r.role_name,o.short_name,CONCAT(u.role_id,'_',u.org_id) as user_org_role
            FROM tbl_user_org u 
            inner join tbl_org o on u.org_id=o.org_id
            inner join tbl_role_master r on r.role_id=u.role_id
            inner join tbl_user_master um on u.user_id = um.user_id
            where u.user_id= 184~2026-04-13 14:05:54:0454~2026-04-13 14:05:54~success
[13/Apr/2026:14:05:54] (root_api-) Final JSON =  {"status":"ok","message":"User Details fetched Successfully!!","Errorcode":"","data":[{"user_org_id":"225","org_id":"1","role_id":"3","email":"alhenaude20@gmail.com","org_name":"University Of Cape Town","role_name":"Learner","short_name":"UCT","user_org_role":"3_1"},{"user_org_id":"226","org_id":"2","role_id":"2","email":"alhenaude20@gmail.com","org_name":"C-Institute","role_name":"Educator","short_name":"C-Institute","user_org_role":"2_2"}]}
[13/Apr/2026:14:05:54] (root_api-) Query~select ct.cat_id,ct.cat_name,ct.short_name,ct.`status`,
	fn_getChildCount(ct.cat_id) as childNodes,fn_getParentPath(ct.cat_id) as parentPath
	from tbl_category ct
	left join tbl_category ctp on ct.cat_parent_id = ctp.cat_id
	 where ct.cat_parent_id='411' AND ct.status = 'active'
	order by fn_getParentPath(ct.cat_id), ct.cat_name~2026-04-13 14:05:54:0454~2026-04-13 14:05:54~success
[13/Apr/2026:14:05:54] (root_api-) getFrontCategoryMenu : [1] get category with category default root.
[13/Apr/2026:14:05:54] (root_api-) Query~select ct.cat_id,ct.cat_name,ct.short_name,ct.`status`,
	fn_getChildCount(ct.cat_id) as childNodes,fn_getParentPath(ct.cat_id) as parentPath
	from tbl_category ct
	left join tbl_category ctp on ct.cat_parent_id = ctp.cat_id
	 where ct.cat_parent_id='433' AND ct.status = 'active'
	order by fn_getParentPath(ct.cat_id), ct.cat_name~2026-04-13 14:05:54:0454~2026-04-13 14:05:54~success
[13/Apr/2026:14:05:54] (root_api-) getFrontCategoryMenu : [1] get category with category default root.
[13/Apr/2026:14:05:54] (root_api-) Query~select ct.cat_id,ct.cat_name,ct.short_name,ct.`status`,
	fn_getChildCount(ct.cat_id) as childNodes,fn_getParentPath(ct.cat_id) as parentPath
	from tbl_category ct
	left join tbl_category ctp on ct.cat_parent_id = ctp.cat_id
	 where ct.cat_parent_id='458' AND ct.status = 'active'
	order by fn_getParentPath(ct.cat_id), ct.cat_name~2026-04-13 14:05:54:0454~2026-04-13 14:05:54~success
[13/Apr/2026:14:05:54] (root_api-) getFrontCategoryMenu : [1] get category with category default root.
[13/Apr/2026:14:05:54] (root_api-) Query~select ct.cat_id,ct.cat_name,ct.short_name,ct.`status`,
	fn_getChildCount(ct.cat_id) as childNodes,fn_getParentPath(ct.cat_id) as parentPath
	from tbl_category ct
	left join tbl_category ctp on ct.cat_parent_id = ctp.cat_id
	 where ct.cat_parent_id='485' AND ct.status = 'active'
	order by fn_getParentPath(ct.cat_id), ct.cat_name~2026-04-13 14:05:54:0454~2026-04-13 14:05:54~success
[13/Apr/2026:14:05:54] (root_api-) getFrontCategoryMenu : [1] get category with category default root.
[13/Apr/2026:14:05:54] (root_api-) Query~select ct.cat_id,ct.cat_name,ct.short_name,ct.`status`,
	fn_getChildCount(ct.cat_id) as childNodes,fn_getParentPath(ct.cat_id) as parentPath
	from tbl_category ct
	left join tbl_category ctp on ct.cat_parent_id = ctp.cat_id
	 where ct.cat_parent_id='499' AND ct.status = 'active'
	order by fn_getParentPath(ct.cat_id), ct.cat_name~2026-04-13 14:05:54:0454~2026-04-13 14:05:54~success
[13/Apr/2026:14:05:54] (root_api-) getFrontCategoryMenu : [1] get category with category default root.
[13/Apr/2026:14:05:54] (root_api-) Query~select ct.cat_id,ct.cat_name,ct.short_name,ct.`status`,
	fn_getChildCount(ct.cat_id) as childNodes,fn_getParentPath(ct.cat_id) as parentPath
	from tbl_category ct
	left join tbl_category ctp on ct.cat_parent_id = ctp.cat_id
	 where ct.cat_parent_id='514' AND ct.status = 'active'
	order by fn_getParentPath(ct.cat_id), ct.cat_name~2026-04-13 14:05:54:0454~2026-04-13 14:05:54~success
[13/Apr/2026:14:05:54] (root_api-) getFrontCategoryMenu : [1] get category with category default root.
[13/Apr/2026:14:05:54] (root_api-) Query~select ct.cat_id,ct.cat_name,ct.short_name,ct.`status`,
	fn_getChildCount(ct.cat_id) as childNodes,fn_getParentPath(ct.cat_id) as parentPath
	from tbl_category ct
	left join tbl_category ctp on ct.cat_parent_id = ctp.cat_id
	 where ct.cat_parent_id='64' AND ct.status = 'active'
	order by fn_getParentPath(ct.cat_id), ct.cat_name~2026-04-13 14:05:54:0454~2026-04-13 14:05:54~success
[13/Apr/2026:14:05:54] (root_api-) getFrontCategoryMenu : [1] get category with category default root.
[13/Apr/2026:14:05:54] (root_api-) Query~select ct.cat_id,ct.cat_name,ct.short_name,ct.`status`,
	fn_getChildCount(ct.cat_id) as childNodes,fn_getParentPath(ct.cat_id) as parentPath
	from tbl_category ct
	left join tbl_category ctp on ct.cat_parent_id = ctp.cat_id
	 where ct.cat_parent_id='2' AND ct.status = 'active'
	order by fn_getParentPath(ct.cat_id), ct.cat_name~2026-04-13 14:05:54:0454~2026-04-13 14:05:54~success
[13/Apr/2026:14:05:54] (root_api-) getFrontCategoryMenu : [1] get category with category default root.
[13/Apr/2026:14:05:54] (root_api-) Query~select ct.cat_id,ct.cat_name,ct.short_name,ct.`status`,
	fn_getChildCount(ct.cat_id) as childNodes,fn_getParentPath(ct.cat_id) as parentPath
	from tbl_category ct
	left join tbl_category ctp on ct.cat_parent_id = ctp.cat_id
	 where ct.cat_parent_id='605' AND ct.status = 'active'
	order by fn_getParentPath(ct.cat_id), ct.cat_name~2026-04-13 14:05:54:0454~2026-04-13 14:05:54~success
[13/Apr/2026:14:05:54] (root_api-) getFrontCategoryMenu : [1] get category with category default root.
[13/Apr/2026:14:05:54] (root_api-) Query~select ct.cat_id,ct.cat_name,ct.short_name,ct.`status`,
	fn_getChildCount(ct.cat_id) as childNodes,fn_getParentPath(ct.cat_id) as parentPath
	from tbl_category ct
	left join tbl_category ctp on ct.cat_parent_id = ctp.cat_id
	 where ct.cat_parent_id='598' AND ct.status = 'active'
	order by fn_getParentPath(ct.cat_id), ct.cat_name~2026-04-13 14:05:54:0454~2026-04-13 14:05:54~success
[13/Apr/2026:14:05:54] (root_api-) getFrontCategoryMenu : [1] get category with category default root.
[13/Apr/2026:14:05:54] (root_api-) Query~select ct.cat_id,ct.cat_name,ct.short_name,ct.`status`,
	fn_getChildCount(ct.cat_id) as childNodes,fn_getParentPath(ct.cat_id) as parentPath
	from tbl_category ct
	left join tbl_category ctp on ct.cat_parent_id = ctp.cat_id
	 where ct.cat_parent_id='23' AND ct.status = 'active'
	order by fn_getParentPath(ct.cat_id), ct.cat_name~2026-04-13 14:05:54:0454~2026-04-13 14:05:54~success
[13/Apr/2026:14:05:54] (root_api-) getFrontCategoryMenu : [1] get category with category default root.
[13/Apr/2026:14:05:54] (root_api-) Query~select ct.cat_id,ct.cat_name,ct.short_name,ct.`status`,
	fn_getChildCount(ct.cat_id) as childNodes,fn_getParentPath(ct.cat_id) as parentPath
	from tbl_category ct
	left join tbl_category ctp on ct.cat_parent_id = ctp.cat_id
	 where ct.cat_parent_id='396' AND ct.status = 'active'
	order by fn_getParentPath(ct.cat_id), ct.cat_name~2026-04-13 14:05:54:0454~2026-04-13 14:05:54~success
[13/Apr/2026:14:05:54] (root_api-) getFrontCategoryMenu : [1] get category with category default root.
[13/Apr/2026:14:05:54] (root_api-) Query~select ct.cat_id,ct.cat_name,ct.short_name,ct.`status`,
	fn_getChildCount(ct.cat_id) as childNodes,fn_getParentPath(ct.cat_id) as parentPath
	from tbl_category ct
	left join tbl_category ctp on ct.cat_parent_id = ctp.cat_id
	 where ct.cat_parent_id='81' AND ct.status = 'active'
	order by fn_getParentPath(ct.cat_id), ct.cat_name~2026-04-13 14:05:54:0454~2026-04-13 14:05:54~success
[13/Apr/2026:14:05:54] (root_api-) getFrontCategoryMenu : [1] get category with category default root.
[13/Apr/2026:14:05:54] (root_api-) Query~select ct.cat_id,ct.cat_name,ct.short_name,ct.`status`,
	fn_getChildCount(ct.cat_id) as childNodes,fn_getParentPath(ct.cat_id) as parentPath
	from tbl_category ct
	left join tbl_category ctp on ct.cat_parent_id = ctp.cat_id
	 where ct.cat_parent_id='90' AND ct.status = 'active'
	order by fn_getParentPath(ct.cat_id), ct.cat_name~2026-04-13 14:05:54:0454~2026-04-13 14:05:54~success
[13/Apr/2026:14:05:54] (root_api-) getFrontCategoryMenu : [1] get category with category default root.
[13/Apr/2026:14:05:54] (root_api-) Query~select ct.cat_id,ct.cat_name,ct.short_name,ct.`status`,
	fn_getChildCount(ct.cat_id) as childNodes,fn_getParentPath(ct.cat_id) as parentPath
	from tbl_category ct
	left join tbl_category ctp on ct.cat_parent_id = ctp.cat_id
	 where ct.cat_parent_id='107' AND ct.status = 'active'
	order by fn_getParentPath(ct.cat_id), ct.cat_name~2026-04-13 14:05:54:0454~2026-04-13 14:05:54~success
[13/Apr/2026:14:05:54] (root_api-) getFrontCategoryMenu : [1] get category with category default root.
[13/Apr/2026:14:05:54] (root_api-) Query~select ct.cat_id,ct.cat_name,ct.short_name,ct.`status`,
	fn_getChildCount(ct.cat_id) as childNodes,fn_getParentPath(ct.cat_id) as parentPath
	from tbl_category ct
	left join tbl_category ctp on ct.cat_parent_id = ctp.cat_id
	 where ct.cat_parent_id='117' AND ct.status = 'active'
	order by fn_getParentPath(ct.cat_id), ct.cat_name~2026-04-13 14:05:54:0454~2026-04-13 14:05:54~success
[13/Apr/2026:14:05:54] (root_api-) getFrontCategoryMenu : [1] get category with category default root.
[13/Apr/2026:14:05:54] (root_api-) Query~select ct.cat_id,ct.cat_name,ct.short_name,ct.`status`,
	fn_getChildCount(ct.cat_id) as childNodes,fn_getParentPath(ct.cat_id) as parentPath
	from tbl_category ct
	left join tbl_category ctp on ct.cat_parent_id = ctp.cat_id
	 where ct.cat_parent_id='137' AND ct.status = 'active'
	order by fn_getParentPath(ct.cat_id), ct.cat_name~2026-04-13 14:05:54:0454~2026-04-13 14:05:54~success
[13/Apr/2026:14:05:54] (root_api-) getFrontCategoryMenu : [1] get category with category default root.
[13/Apr/2026:14:05:54] (root_api-) Query~select ct.cat_id,ct.cat_name,ct.short_name,ct.`status`,
	fn_getChildCount(ct.cat_id) as childNodes,fn_getParentPath(ct.cat_id) as parentPath
	from tbl_category ct
	left join tbl_category ctp on ct.cat_parent_id = ctp.cat_id
	 where ct.cat_parent_id='138' AND ct.status = 'active'
	order by fn_getParentPath(ct.cat_id), ct.cat_name~2026-04-13 14:05:54:0454~2026-04-13 14:05:54~success
[13/Apr/2026:14:05:54] (root_api-) getFrontCategoryMenu : [1] get category with category default root.
[13/Apr/2026:14:05:54] (root_api-) Query~select ct.cat_id,ct.cat_name,ct.short_name,ct.`status`,
	fn_getChildCount(ct.cat_id) as childNodes,fn_getParentPath(ct.cat_id) as parentPath
	from tbl_category ct
	left join tbl_category ctp on ct.cat_parent_id = ctp.cat_id
	 where ct.cat_parent_id='144' AND ct.status = 'active'
	order by fn_getParentPath(ct.cat_id), ct.cat_name~2026-04-13 14:05:54:0454~2026-04-13 14:05:54~success
[13/Apr/2026:14:05:54] (root_api-) getFrontCategoryMenu : [1] get category with category default root.
[13/Apr/2026:14:05:54] (root_api-) Query~select ct.cat_id,ct.cat_name,ct.short_name,ct.`status`,
	fn_getChildCount(ct.cat_id) as childNodes,fn_getParentPath(ct.cat_id) as parentPath
	from tbl_category ct
	left join tbl_category ctp on ct.cat_parent_id = ctp.cat_id
	 where ct.cat_parent_id='164' AND ct.status = 'active'
	order by fn_getParentPath(ct.cat_id), ct.cat_name~2026-04-13 14:05:54:0454~2026-04-13 14:05:54~success
[13/Apr/2026:14:05:54] (root_api-) getFrontCategoryMenu : [1] get category with category default root.
[13/Apr/2026:14:05:54] (root_api-) Query~select ct.cat_id,ct.cat_name,ct.short_name,ct.`status`,
	fn_getChildCount(ct.cat_id) as childNodes,fn_getParentPath(ct.cat_id) as parentPath
	from tbl_category ct
	left join tbl_category ctp on ct.cat_parent_id = ctp.cat_id
	 where ct.cat_parent_id='179' AND ct.status = 'active'
	order by fn_getParentPath(ct.cat_id), ct.cat_name~2026-04-13 14:05:54:0454~2026-04-13 14:05:54~success
[13/Apr/2026:14:05:54] (root_api-) getFrontCategoryMenu : [1] get category with category default root.
[13/Apr/2026:14:05:54] (root_api-) Query~select ct.cat_id,ct.cat_name,ct.short_name,ct.`status`,
	fn_getChildCount(ct.cat_id) as childNodes,fn_getParentPath(ct.cat_id) as parentPath
	from tbl_category ct
	left join tbl_category ctp on ct.cat_parent_id = ctp.cat_id
	 where ct.cat_parent_id='82' AND ct.status = 'active'
	order by fn_getParentPath(ct.cat_id), ct.cat_name~2026-04-13 14:05:54:0454~2026-04-13 14:05:54~success
[13/Apr/2026:14:05:54] (root_api-) getFrontCategoryMenu : [1] get category with category default root.
[13/Apr/2026:14:05:54] (root_api-) Query~select ct.cat_id,ct.cat_name,ct.short_name,ct.`status`,
	fn_getChildCount(ct.cat_id) as childNodes,fn_getParentPath(ct.cat_id) as parentPath
	from tbl_category ct
	left join tbl_category ctp on ct.cat_parent_id = ctp.cat_id
	 where ct.cat_parent_id='200' AND ct.status = 'active'
	order by fn_getParentPath(ct.cat_id), ct.cat_name~2026-04-13 14:05:54:0454~2026-04-13 14:05:54~success
[13/Apr/2026:14:05:54] (root_api-) getFrontCategoryMenu : [1] get category with category default root.
[13/Apr/2026:14:05:54] (root_api-) Query~select ct.cat_id,ct.cat_name,ct.short_name,ct.`status`,
	fn_getChildCount(ct.cat_id) as childNodes,fn_getParentPath(ct.cat_id) as parentPath
	from tbl_category ct
	left join tbl_category ctp on ct.cat_parent_id = ctp.cat_id
	 where ct.cat_parent_id='218' AND ct.status = 'active'
	order by fn_getParentPath(ct.cat_id), ct.cat_name~2026-04-13 14:05:54:0454~2026-04-13 14:05:54~success
[13/Apr/2026:14:05:54] (root_api-) getFrontCategoryMenu : [1] get category with category default root.
[13/Apr/2026:14:05:54] (root_api-) Query~select ct.cat_id,ct.cat_name,ct.short_name,ct.`status`,
	fn_getChildCount(ct.cat_id) as childNodes,fn_getParentPath(ct.cat_id) as parentPath
	from tbl_category ct
	left join tbl_category ctp on ct.cat_parent_id = ctp.cat_id
	 where ct.cat_parent_id='272' AND ct.status = 'active'
	order by fn_getParentPath(ct.cat_id), ct.cat_name~2026-04-13 14:05:54:0454~2026-04-13 14:05:54~success
[13/Apr/2026:14:05:54] (root_api-) getFrontCategoryMenu : [1] get category with category default root.
[13/Apr/2026:14:05:54] (root_api-) Query~select ct.cat_id,ct.cat_name,ct.short_name,ct.`status`,
	fn_getChildCount(ct.cat_id) as childNodes,fn_getParentPath(ct.cat_id) as parentPath
	from tbl_category ct
	left join tbl_category ctp on ct.cat_parent_id = ctp.cat_id
	 where ct.cat_parent_id='292' AND ct.status = 'active'
	order by fn_getParentPath(ct.cat_id), ct.cat_name~2026-04-13 14:05:54:0454~2026-04-13 14:05:54~success
[13/Apr/2026:14:05:54] (root_api-) getFrontCategoryMenu : [1] get category with category default root.
[13/Apr/2026:14:05:54] (root_api-) Query~select ct.cat_id,ct.cat_name,ct.short_name,ct.`status`,
	fn_getChildCount(ct.cat_id) as childNodes,fn_getParentPath(ct.cat_id) as parentPath
	from tbl_category ct
	left join tbl_category ctp on ct.cat_parent_id = ctp.cat_id
	 where ct.cat_parent_id='623' AND ct.status = 'active'
	order by fn_getParentPath(ct.cat_id), ct.cat_name~2026-04-13 14:05:54:0454~2026-04-13 14:05:54~success
[13/Apr/2026:14:05:54] (root_api-) getFrontCategoryMenu : [1] get category with category default root.
[13/Apr/2026:14:05:54] (root_api-) Query~select ct.cat_id,ct.cat_name,ct.short_name,ct.`status`,
	fn_getChildCount(ct.cat_id) as childNodes,fn_getParentPath(ct.cat_id) as parentPath
	from tbl_category ct
	left join tbl_category ctp on ct.cat_parent_id = ctp.cat_id
	 where ct.cat_parent_id='366' AND ct.status = 'active'
	order by fn_getParentPath(ct.cat_id), ct.cat_name~2026-04-13 14:05:54:0454~2026-04-13 14:05:54~success
[13/Apr/2026:14:05:54] (root_api-) getFrontCategoryMenu : [1] get category with category default root.
[13/Apr/2026:14:05:54] (root_api-) Query~select ct.cat_id,ct.cat_name,ct.short_name,ct.`status`,
	fn_getChildCount(ct.cat_id) as childNodes,fn_getParentPath(ct.cat_id) as parentPath
	from tbl_category ct
	left join tbl_category ctp on ct.cat_parent_id = ctp.cat_id
	 where ct.cat_parent_id='311' AND ct.status = 'active'
	order by fn_getParentPath(ct.cat_id), ct.cat_name~2026-04-13 14:05:54:0454~2026-04-13 14:05:54~success
[13/Apr/2026:14:05:54] (root_api-) getFrontCategoryMenu : [1] get category with category default root.
[13/Apr/2026:14:05:54] (root_api-) Query~select ct.cat_id,ct.cat_name,ct.short_name,ct.`status`,
	fn_getChildCount(ct.cat_id) as childNodes,fn_getParentPath(ct.cat_id) as parentPath
	from tbl_category ct
	left join tbl_category ctp on ct.cat_parent_id = ctp.cat_id
	 where ct.cat_parent_id='325' AND ct.status = 'active'
	order by fn_getParentPath(ct.cat_id), ct.cat_name~2026-04-13 14:05:54:0454~2026-04-13 14:05:54~success
[13/Apr/2026:14:05:54] (root_api-) getFrontCategoryMenu : [1] get category with category default root.
[13/Apr/2026:14:05:54] (root_api-) Query~select ct.cat_id,ct.cat_name,ct.short_name,ct.`status`,
	fn_getChildCount(ct.cat_id) as childNodes,fn_getParentPath(ct.cat_id) as parentPath
	from tbl_category ct
	left join tbl_category ctp on ct.cat_parent_id = ctp.cat_id
	 where ct.cat_parent_id='11' AND ct.status = 'active'
	order by fn_getParentPath(ct.cat_id), ct.cat_name~2026-04-13 14:05:54:0454~2026-04-13 14:05:54~success
[13/Apr/2026:14:05:54] (root_api-) getFrontCategoryMenu : [1] get category with category default root.
[13/Apr/2026:14:05:54] (root_api-) Query~select ct.cat_id,ct.cat_name,ct.short_name,ct.`status`,
	fn_getChildCount(ct.cat_id) as childNodes,fn_getParentPath(ct.cat_id) as parentPath
	from tbl_category ct
	left join tbl_category ctp on ct.cat_parent_id = ctp.cat_id
	 where ct.cat_parent_id='611' AND ct.status = 'active'
	order by fn_getParentPath(ct.cat_id), ct.cat_name~2026-04-13 14:05:54:0454~2026-04-13 14:05:54~success
[13/Apr/2026:14:05:54] (root_api-) getFrontCategoryMenu : [1] get category with category default root.
[13/Apr/2026:14:05:54] (root_api-) Query~select ct.cat_id,ct.cat_name,ct.short_name,ct.`status`,
	fn_getChildCount(ct.cat_id) as childNodes,fn_getParentPath(ct.cat_id) as parentPath
	from tbl_category ct
	left join tbl_category ctp on ct.cat_parent_id = ctp.cat_id
	 where ct.cat_parent_id='38' AND ct.status = 'active'
	order by fn_getParentPath(ct.cat_id), ct.cat_name~2026-04-13 14:05:54:0454~2026-04-13 14:05:54~success
[13/Apr/2026:14:05:54] (root_api-) getFrontCategoryMenu : [1] get category with category default root.
[13/Apr/2026:14:05:54] (root_api-) Query~select ct.cat_id,ct.cat_name,ct.short_name,ct.`status`,
	fn_getChildCount(ct.cat_id) as childNodes,fn_getParentPath(ct.cat_id) as parentPath
	from tbl_category ct
	left join tbl_category ctp on ct.cat_parent_id = ctp.cat_id
	 where ct.cat_parent_id='525' AND ct.status = 'active'
	order by fn_getParentPath(ct.cat_id), ct.cat_name~2026-04-13 14:05:54:0454~2026-04-13 14:05:54~success
[13/Apr/2026:14:05:54] (root_api-) getFrontCategoryMenu : [1] get category with category default root.
[13/Apr/2026:14:05:54] (root_api-) Query~select ct.cat_id,ct.cat_name,ct.short_name,ct.`status`,
	fn_getChildCount(ct.cat_id) as childNodes,fn_getParentPath(ct.cat_id) as parentPath
	from tbl_category ct
	left join tbl_category ctp on ct.cat_parent_id = ctp.cat_id
	 where ct.cat_parent_id='528' AND ct.status = 'active'
	order by fn_getParentPath(ct.cat_id), ct.cat_name~2026-04-13 14:05:54:0454~2026-04-13 14:05:54~success
[13/Apr/2026:14:05:54] (root_api-) getFrontCategoryMenu : [1] get category with category default root.
[13/Apr/2026:14:05:54] (root_api-) Query~select ct.cat_id,ct.cat_name,ct.short_name,ct.`status`,
	fn_getChildCount(ct.cat_id) as childNodes,fn_getParentPath(ct.cat_id) as parentPath
	from tbl_category ct
	left join tbl_category ctp on ct.cat_parent_id = ctp.cat_id
	 where ct.cat_parent_id='529' AND ct.status = 'active'
	order by fn_getParentPath(ct.cat_id), ct.cat_name~2026-04-13 14:05:54:0454~2026-04-13 14:05:54~success
[13/Apr/2026:14:05:54] (root_api-) getFrontCategoryMenu : [1] get category with category default root.
[13/Apr/2026:14:05:54] (root_api-) Query~select ct.cat_id,ct.cat_name,ct.short_name,ct.`status`,
	fn_getChildCount(ct.cat_id) as childNodes,fn_getParentPath(ct.cat_id) as parentPath
	from tbl_category ct
	left join tbl_category ctp on ct.cat_parent_id = ctp.cat_id
	 where ct.cat_parent_id='551' AND ct.status = 'active'
	order by fn_getParentPath(ct.cat_id), ct.cat_name~2026-04-13 14:05:54:0454~2026-04-13 14:05:54~success
[13/Apr/2026:14:05:54] (root_api-) getFrontCategoryMenu : [1] get category with category default root.
[13/Apr/2026:14:05:54] (root_api-) Query~select ct.cat_id,ct.cat_name,ct.short_name,ct.`status`,
	fn_getChildCount(ct.cat_id) as childNodes,fn_getParentPath(ct.cat_id) as parentPath
	from tbl_category ct
	left join tbl_category ctp on ct.cat_parent_id = ctp.cat_id
	 where ct.cat_parent_id='552' AND ct.status = 'active'
	order by fn_getParentPath(ct.cat_id), ct.cat_name~2026-04-13 14:05:54:0454~2026-04-13 14:05:54~success
[13/Apr/2026:14:05:54] (root_api-) getFrontCategoryMenu : [1] get category with category default root.
[13/Apr/2026:14:05:54] (root_api-) Query~select ct.cat_id,ct.cat_name,ct.short_name,ct.`status`,
	fn_getChildCount(ct.cat_id) as childNodes,fn_getParentPath(ct.cat_id) as parentPath
	from tbl_category ct
	left join tbl_category ctp on ct.cat_parent_id = ctp.cat_id
	 where ct.cat_parent_id='581' AND ct.status = 'active'
	order by fn_getParentPath(ct.cat_id), ct.cat_name~2026-04-13 14:05:54:0454~2026-04-13 14:05:54~success
[13/Apr/2026:14:05:54] (root_api-) getFrontCategoryMenu : [1] get category with category default root.
[13/Apr/2026:14:05:54] (root_api-) Query~select ct.cat_id,ct.cat_name,ct.short_name,ct.`status`,
	fn_getChildCount(ct.cat_id) as childNodes,fn_getParentPath(ct.cat_id) as parentPath
	from tbl_category ct
	left join tbl_category ctp on ct.cat_parent_id = ctp.cat_id
	 where ct.cat_parent_id='341' AND ct.status = 'active'
	order by fn_getParentPath(ct.cat_id), ct.cat_name~2026-04-13 14:05:54:0454~2026-04-13 14:05:54~success
[13/Apr/2026:14:05:54] (root_api-) Final JSON =  {"status":"ok","message":"","Errorcode":"","data":[{"cat_id":"410","cat_name":"Business & Finance","short_name":"Business & Finance","childNodes":"7","parentPath":"00001","sub_categories":[{"cat_id":"411","cat_name":"Accounting","short_name":"Accounting","childNodes":"21","parentPath":"00410-00001","sub_categories":[{"cat_id":"431","cat_name":"                    Accounting","short_name":"Taxation Partnership","childNodes":"0","parentPath":"00411-00410-00001"},{"cat_id":"412","cat_name":"AAT","short_name":"AAT","childNodes":"0","parentPath":"00411-00410-00001"},{"cat_id":"413","cat_name":"Accounting","short_name":"Accounting","childNodes":"0","parentPath":"00411-00410-00001"},{"cat_id":"414","cat_name":"Accounting Information Systems","short_name":"Accounting Information Systems","childNodes":"0","parentPath":"00411-00410-00001"},{"cat_id":"415","cat_name":"Accounting Theory","short_name":"Accounting Theory","childNodes":"0","parentPath":"00411-00410-00001"},{"cat_id":"416","cat_name":"Appraisal","short_name":"Appraisal","childNodes":"0","parentPath":"00411-00410-00001"},{"cat_id":"417","cat_name":"Audit","short_name":"Audit","childNodes":"0","parentPath":"00411-00410-00001"},{"cat_id":"418","cat_name":"Audit & Assurance","short_name":"Audit & Assurance","childNodes":"0","parentPath":"00411-00410-00001"},{"cat_id":"419","cat_name":"Audit Sampling","short_name":"Audit Sampling","childNodes":"0","parentPath":"00411-00410-00001"},{"cat_id":"420","cat_name":"Bookkeeping","short_name":"Bookkeeping","childNodes":"0","parentPath":"00411-00410-00001"},{"cat_id":"421","cat_name":"Cost Accounting","short_name":"Cost Accounting","childNodes":"0","parentPath":"00411-00410-00001"},{"cat_id":"422","cat_name":"Enrolled Agent","short_name":"Enrolled Agent","childNodes":"0","parentPath":"00411-00410-00001"},{"cat_id":"423","cat_name":"Federal Income Tax","short_name":"Federal Income Tax","childNodes":"0","parentPath":"00411-00410-00001"},{"cat_id":"627","cat_name":"Finanace","short_name":"Finanace","childNodes":"0","parentPath":"00411-00410-00001"},{"cat_id":"424","cat_name":"Financial Accounting","short_name":"Financial Accounting","childNodes":"0","parentPath":"00411-00410-00001"},{"cat_id":"425","cat_name":"Fraud","short_name":"Fraud","childNodes":"0","parentPath":"00411-00410-00001"},{"cat_id":"426","cat_name":"Income Tax","short_name":"Income Tax","childNodes":"0","parentPath":"00411-00410-00001"},{"cat_id":"427","cat_name":"Intermediate Accounting","short_name":"Intermediate Accounting","childNodes":"0","parentPath":"00411-00410-00001"},{"cat_id":"428","cat_name":"Managerial Accounting","short_name":"Managerial Accounting","childNodes":"0","parentPath":"00411-00410-00001"},{"cat_id":"429","cat_name":"Public Finance","short_name":"Public Finance","childNodes":"0","parentPath":"00411-00410-00001"},{"cat_id":"430","cat_name":"Taxation","short_name":"Taxation","childNodes":"0","parentPath":"00411-00410-00001"}]},{"cat_id":"433","cat_name":"Business","short_name":"Business","childNodes":"23","parentPath":"00410-00001","sub_categories":[{"cat_id":"434","cat_name":"Accounting","short_name":"Accounting","childNodes":"0","parentPath":"00433-00410-00001"},{"cat_id":"435","cat_name":"Advertising","short_name":"Advertising","childNodes":"0","parentPath":"00433-00410-00001"},{"cat_id":"436","cat_name":"Business","short_name":"Business","childNodes":"0","parentPath":"00433-00410-00001"},{"cat_id":"437","cat_name":"Business Analysis","short_name":"Business Analysis","childNodes":"0","parentPath":"00433-00410-00001"},{"cat_id":"438","cat_name":"Business Analytics","short_name":"Business Analytics","childNodes":"0","parentPath":"00433-00410-00001"},{"cat_id":"439","cat_name":"Business Communication","short_name":"Business Communication","childNodes":"0","parentPath":"00433-00410-00001"},{"cat_id":"440","cat_name":"Business Ethics","short_name":"Business Ethics","childNodes":"0","parentPath":"00433-00410-00001"},{"cat_id":"441","cat_name":"Employee Training Demo","short_name":"Employee Training Demo","childNodes":"0","parentPath":"00433-00410-00001"},{"cat_id":"442","cat_name":"Entrepreneurship","short_name":"Entrepreneurship","childNodes":"0","parentPath":"00433-00410-00001"},{"cat_id":"443","cat_name":"Fashion","short_name":"Fashion","childNodes":"0","parentPath":"00433-00410-00001"},{"cat_id":"444","cat_name":"Finance","short_name":"Finance","childNodes":"0","parentPath":"00433-00410-00001"},{"cat_id":"445","cat_name":"Global Business","short_name":"Global Business","childNodes":"0","parentPath":"00433-00410-00001"},{"cat_id":"446","cat_name":"Human Resources","short_name":"Human Resources","childNodes":"0","parentPath":"00433-00410-00001"},{"cat_id":"447","cat_name":"Insurance","short_name":"Insurance","childNodes":"0","parentPath":"00433-00410-00001"},{"cat_id":"448","cat_name":"International Business","short_name":"International Business","childNodes":"0","parentPath":"00433-00410-00001"},{"cat_id":"449","cat_name":"Life & Health Insurance","short_name":"Life & Health Insurance","childNodes":"0","parentPath":"00433-00410-00001"},{"cat_id":"450","cat_name":"Logistics","short_name":"Logistics","childNodes":"0","parentPath":"00433-00410-00001"},{"cat_id":"451","cat_name":"Procurement","short_name":"Procurement","childNodes":"0","parentPath":"00433-00410-00001"},{"cat_id":"452","cat_name":"Project Management","short_name":"Project Management","childNodes":"0","parentPath":"00433-00410-00001"},{"cat_id":"453","cat_name":"Risk Management","short_name":"Risk Management","childNodes":"0","parentPath":"00433-00410-00001"},{"cat_id":"454","cat_name":"Salesforce","short_name":"Salesforce","childNodes":"0","parentPath":"00433-00410-00001"},{"cat_id":"455","cat_name":"Supply Chain","short_name":"Supply Chain","childNodes":"0","parentPath":"00433-00410-00001"},{"cat_id":"456","cat_name":"Tourism","short_name":"Tourism","childNodes":"0","parentPath":"00433-00410-00001"}]},{"cat_id":"458","cat_name":"Economics","short_name":"Economics","childNodes":"24","parentPath":"00410-00001","sub_categories":[{"cat_id":"459","cat_name":"Behavioral Economics","short_name":"Behavioral Economics","childNodes":"0","parentPath":"00458-00410-00001"},{"cat_id":"471","cat_name":"Capital Markets","short_name":"Capital Markets","childNodes":"0","parentPath":"00458-00410-00001"},{"cat_id":"472","cat_name":"Corporate Finance","short_name":"Corporate Finance","childNodes":"0","parentPath":"00458-00410-00001"},{"cat_id":"460","cat_name":"Econometrics","short_name":"Econometrics","childNodes":"0","parentPath":"00458-00410-00001"},{"cat_id":"461","cat_name":"Economic Development","short_name":"Economic Development","childNodes":"0","parentPath":"00458-00410-00001"},{"cat_id":"462","cat_name":"Economics","short_name":"Economics","childNodes":"0","parentPath":"00458-00410-00001"},{"cat_id":"463","cat_name":"Environmental Economics","short_name":"Environmental Economics","childNodes":"0","parentPath":"00458-00410-00001"},{"cat_id":"473","cat_name":"Finance","short_name":"Finance","childNodes":"0","parentPath":"00458-00410-00001"},{"cat_id":"474","cat_name":"Financial Exams","short_name":"Financial Exams","childNodes":"0","parentPath":"00458-00410-00001"},{"cat_id":"475","cat_name":"Financial Literacy","short_name":"Financial Literacy","childNodes":"0","parentPath":"00458-00410-00001"},{"cat_id":"476","cat_name":"Financial Markets","short_name":"Financial Markets","childNodes":"0","parentPath":"00458-00410-00001"},{"cat_id":"477","cat_name":"Fixed Income","short_name":"Fixed Income","childNodes":"0","parentPath":"00458-00410-00001"},{"cat_id":"464","cat_name":"Game Theory","short_name":"Game Theory","childNodes":"0","parentPath":"00458-00410-00001"},{"cat_id":"465","cat_name":"Globalization","short_name":"Globalization","childNodes":"0","parentPath":"00458-00410-00001"},{"cat_id":"478","cat_name":"International Finance","short_name":"International Finance","childNodes":"0","parentPath":"00458-00410-00001"},{"cat_id":"479","cat_name":"Investment Analysis","short_name":"Investment Analysis","childNodes":"0","parentPath":"00458-00410-00001"},{"cat_id":"480","cat_name":"Investment Banking","short_name":"Investment Banking","childNodes":"0","parentPath":"00458-00410-00001"},{"cat_id":"466","cat_name":"Macroeconomics","short_name":"Macroeconomics","childNodes":"0","parentPath":"00458-00410-00001"},{"cat_id":"467","cat_name":"Managerial Economics","short_name":"Managerial Economics","childNodes":"0","parentPath":"00458-00410-00001"},{"cat_id":"468","cat_name":"Microeconomics","short_name":"Microeconomics","childNodes":"0","parentPath":"00458-00410-00001"},{"cat_id":"481","cat_name":"Personal Finance","short_name":"Personal Finance","childNodes":"0","parentPath":"00458-00410-00001"},{"cat_id":"469","cat_name":"Principles of Economics","short_name":"Principles of Economics","childNodes":"0","parentPath":"00458-00410-00001"},{"cat_id":"482","cat_name":"Private Equity","short_name":"Private Equity","childNodes":"0","parentPath":"00458-00410-00001"},{"cat_id":"483","cat_name":"Real Estate Finance","short_name":"Real Estate Finance","childNodes":"0","parentPath":"00458-00410-00001"}]},{"cat_id":"470","cat_name":"Finance","short_name":"Finance","childNodes":"0","parentPath":"00410-00001"},{"cat_id":"485","cat_name":"Management","short_name":"Management","childNodes":"12","parentPath":"00410-00001","sub_categories":[{"cat_id":"486","cat_name":"Business Administration","short_name":"Business Administration","childNodes":"0","parentPath":"00485-00410-00001"},{"cat_id":"487","cat_name":"Business Management","short_name":"Business Management","childNodes":"0","parentPath":"00485-00410-00001"},{"cat_id":"488","cat_name":"Effective Supervisory Practices","short_name":"Effective Supervisory Practices","childNodes":"0","parentPath":"00485-00410-00001"},{"cat_id":"489","cat_name":"Facilities Management","short_name":"Facilities Management","childNodes":"0","parentPath":"00485-00410-00001"},{"cat_id":"490","cat_name":"Healthcare Management","short_name":"Healthcare Management","childNodes":"0","parentPath":"00485-00410-00001"},{"cat_id":"491","cat_name":"Higher Business Management","short_name":"Higher Business Management","childNodes":"0","parentPath":"00485-00410-00001"},{"cat_id":"492","cat_name":"Human Resource Management","short_name":"Human Resource Management","childNodes":"0","parentPath":"00485-00410-00001"},{"cat_id":"493","cat_name":"Management 101","short_name":"Management 101","childNodes":"0","parentPath":"00485-00410-00001"},{"cat_id":"494","cat_name":"Operations Management","short_name":"Operations Management","childNodes":"0","parentPath":"00485-00410-00001"},{"cat_id":"495","cat_name":"Organizational Behavior","short_name":"Organizational Behavior","childNodes":"0","parentPath":"00485-00410-00001"},{"cat_id":"496","cat_name":"Principles of Management","short_name":"Principles of Management","childNodes":"0","parentPath":"00485-00410-00001"},{"cat_id":"497","cat_name":"Strategic Management","short_name":"Strategic Management","childNodes":"0","parentPath":"00485-00410-00001"}]},{"cat_id":"499","cat_name":"Marketing","short_name":"Marketing","childNodes":"13","parentPath":"00410-00001","sub_categories":[{"cat_id":"500","cat_name":"B2B Marketing","short_name":"B2B Marketing","childNodes":"0","parentPath":"00499-00410-00001"},{"cat_id":"501","cat_name":"Consumer Behavior","short_name":"Consumer Behavior","childNodes":"0","parentPath":"00499-00410-00001"},{"cat_id":"502","cat_name":"Digital Marketing","short_name":"Digital Marketing","childNodes":"0","parentPath":"00499-00410-00001"},{"cat_id":"503","cat_name":"Global Marketing","short_name":"Global Marketing","childNodes":"0","parentPath":"00499-00410-00001"},{"cat_id":"504","cat_name":"International Marketing","short_name":"International Marketing","childNodes":"0","parentPath":"00499-00410-00001"},{"cat_id":"505","cat_name":"Marketing 101","short_name":"Marketing 101","childNodes":"0","parentPath":"00499-00410-00001"},{"cat_id":"506","cat_name":"Marketing Research","short_name":"Marketing Research","childNodes":"0","parentPath":"00499-00410-00001"},{"cat_id":"507","cat_name":"Neuromarketing","short_name":"Neuromarketing","childNodes":"0","parentPath":"00499-00410-00001"},{"cat_id":"508","cat_name":"Principles of Marketing","short_name":"Principles of Marketing","childNodes":"0","parentPath":"00499-00410-00001"},{"cat_id":"509","cat_name":"Sales & Marketing","short_name":"Sales & Marketing","childNodes":"0","parentPath":"00499-00410-00001"},{"cat_id":"510","cat_name":"Service Marketing","short_name":"Service Marketing","childNodes":"0","parentPath":"00499-00410-00001"},{"cat_id":"511","cat_name":"Social Marketing","short_name":"Social Marketing","childNodes":"0","parentPath":"00499-00410-00001"},{"cat_id":"512","cat_name":"Strategic Marketing","short_name":"Strategic Marketing","childNodes":"0","parentPath":"00499-00410-00001"}]},{"cat_id":"514","cat_name":"Real Estate","short_name":"Real Estate","childNodes":"10","parentPath":"00410-00001","sub_categories":[{"cat_id":"515","cat_name":"Real Estate - General","short_name":"Real Estate - General","childNodes":"0","parentPath":"00514-00410-00001"},{"cat_id":"516","cat_name":"Real Estate Agent","short_name":"Real Estate Agent","childNodes":"0","parentPath":"00514-00410-00001"},{"cat_id":"517","cat_name":"Real Estate Appraisal","short_name":"Real Estate Appraisal","childNodes":"0","parentPath":"00514-00410-00001"},{"cat_id":"518","cat_name":"Real Estate Exam","short_name":"Real Estate Exam","childNodes":"0","parentPath":"00514-00410-00001"},{"cat_id":"519","cat_name":"Real Estate Finance","short_name":"Real Estate Finance","childNodes":"0","parentPath":"00514-00410-00001"},{"cat_id":"520","cat_name":"Real Estate Law","short_name":"Real Estate Law","childNodes":"0","parentPath":"00514-00410-00001"},{"cat_id":"521","cat_name":"Real Estate Math","short_name":"Real Estate Math","childNodes":"0","parentPath":"00514-00410-00001"},{"cat_id":"522","cat_name":"Real Estate Post-Licensing","short_name":"Real Estate Post-Licensing","childNodes":"0","parentPath":"00514-00410-00001"},{"cat_id":"523","cat_name":"Real Estate Practice","short_name":"Real Estate Practice","childNodes":"0","parentPath":"00514-00410-00001"},{"cat_id":"524","cat_name":"Real Estate Principles","short_name":"Real Estate Principles","childNodes":"0","parentPath":"00514-00410-00001"}]}]},{"cat_id":"64","cat_name":"English","short_name":"English","childNodes":"16","parentPath":"00001","sub_categories":[{"cat_id":"65","cat_name":"American Literature","short_name":"American Literature","childNodes":"0","parentPath":"00064-00001"},{"cat_id":"66","cat_name":"British Literature","short_name":"British Literature","childNodes":"0","parentPath":"00064-00001"},{"cat_id":"67","cat_name":"Classic Novels","short_name":"Classic Novels","childNodes":"0","parentPath":"00064-00001"},{"cat_id":"68","cat_name":"Creative Writing","short_name":"Creative Writing","childNodes":"0","parentPath":"00064-00001"},{"cat_id":"69","cat_name":"English","short_name":"English","childNodes":"0","parentPath":"00064-00001"},{"cat_id":"70","cat_name":"English Grammar","short_name":"English Grammar","childNodes":"0","parentPath":"00064-00001"},{"cat_id":"71","cat_name":"Fiction","short_name":"Fiction","childNodes":"0","parentPath":"00064-00001"},{"cat_id":"72","cat_name":"Higher English","short_name":"Higher English","childNodes":"0","parentPath":"00064-00001"},{"cat_id":"73","cat_name":"Literature","short_name":"Literature","childNodes":"0","parentPath":"00064-00001"},{"cat_id":"74","cat_name":"Medieval literature","short_name":"Medieval literature","childNodes":"0","parentPath":"00064-00001"},{"cat_id":"75","cat_name":"Phonics","short_name":"Phonics","childNodes":"0","parentPath":"00064-00001"},{"cat_id":"76","cat_name":"Poetry","short_name":"Poetry","childNodes":"0","parentPath":"00064-00001"},{"cat_id":"77","cat_name":"Proverbs and Idioms","short_name":"Proverbs and Idioms","childNodes":"0","parentPath":"00064-00001"},{"cat_id":"78","cat_name":"Shakespeare","short_name":"Shakespeare","childNodes":"0","parentPath":"00064-00001"},{"cat_id":"79","cat_name":"Spelling","short_name":"Spelling","childNodes":"0","parentPath":"00064-00001"},{"cat_id":"80","cat_name":"Vocab Builder","short_name":"Vocab Builder","childNodes":"0","parentPath":"00064-00001"}]},{"cat_id":"2","cat_name":"Entrance Exams","short_name":"Entrance Exams","childNodes":"8","parentPath":"00001","sub_categories":[{"cat_id":"3","cat_name":"A Level Exams","short_name":"A Level Exams","childNodes":"0","parentPath":"00002-00001"},{"cat_id":"4","cat_name":"AP Exams","short_name":"AP Exams","childNodes":"0","parentPath":"00002-00001"},{"cat_id":"5","cat_name":"GCSE Exams","short_name":"GCSE Exams","childNodes":"0","parentPath":"00002-00001"},{"cat_id":"6","cat_name":"Graduate Entrance Exams","short_name":"Graduate Entrance Exams","childNodes":"0","parentPath":"00002-00001"},{"cat_id":"7","cat_name":"IGCSE Exams","short_name":"IGCSE Exams","childNodes":"0","parentPath":"00002-00001"},{"cat_id":"8","cat_name":"International Baccalaureate","short_name":"International Baccalaureate","childNodes":"0","parentPath":"00002-00001"},{"cat_id":"9","cat_name":"National 5 Exams","short_name":"National 5 Exams","childNodes":"0","parentPath":"00002-00001"},{"cat_id":"10","cat_name":"University Entrance Exams","short_name":"University Entrance Exams","childNodes":"0","parentPath":"00002-00001"}]},{"cat_id":"605","cat_name":"Fine Arts","short_name":"Fine Arts","childNodes":"5","parentPath":"00001","sub_categories":[{"cat_id":"606","cat_name":"Art","short_name":"Art","childNodes":"0","parentPath":"00605-00001"},{"cat_id":"607","cat_name":"Art History","short_name":"Art History","childNodes":"0","parentPath":"00605-00001"},{"cat_id":"608","cat_name":"Dance","short_name":"Dance","childNodes":"0","parentPath":"00605-00001"},{"cat_id":"609","cat_name":"Music","short_name":"Music","childNodes":"0","parentPath":"00605-00001"},{"cat_id":"610","cat_name":"Other Fine Arts","short_name":"Other Fine Arts","childNodes":"0","parentPath":"00605-00001"}]},{"cat_id":"598","cat_name":"Food & Beverage","short_name":"Food & Beverage","childNodes":"6","parentPath":"00001","sub_categories":[{"cat_id":"599","cat_name":"Bartending","short_name":"Bartending","childNodes":"0","parentPath":"00598-00001"},{"cat_id":"600","cat_name":"Cooking","short_name":"Cooking","childNodes":"0","parentPath":"00598-00001"},{"cat_id":"601","cat_name":"Culinary Arts","short_name":"Culinary Arts","childNodes":"0","parentPath":"00598-00001"},{"cat_id":"602","cat_name":"Hospitality","short_name":"Hospitality","childNodes":"0","parentPath":"00598-00001"},{"cat_id":"603","cat_name":"Nutrition","short_name":"Nutrition","childNodes":"0","parentPath":"00598-00001"},{"cat_id":"604","cat_name":"Wine & Spirits","short_name":"Wine & Spirits","childNodes":"0","parentPath":"00598-00001"}]},{"cat_id":"23","cat_name":"Foreign Languages","short_name":"Foreign Languages","childNodes":"14","parentPath":"00001","sub_categories":[{"cat_id":"24","cat_name":"Arabic","short_name":"Arabic","childNodes":"0","parentPath":"00023-00001"},{"cat_id":"25","cat_name":"Chinese","short_name":"Chinese","childNodes":"0","parentPath":"00023-00001"},{"cat_id":"26","cat_name":"French","short_name":"French","childNodes":"0","parentPath":"00023-00001"},{"cat_id":"27","cat_name":"German","short_name":"German","childNodes":"0","parentPath":"00023-00001"},{"cat_id":"28","cat_name":"Hebrew","short_name":"Hebrew","childNodes":"0","parentPath":"00023-00001"},{"cat_id":"29","cat_name":"Italian","short_name":"Italian","childNodes":"0","parentPath":"00023-00001"},{"cat_id":"30","cat_name":"Japanese","short_name":"Japanese","childNodes":"0","parentPath":"00023-00001"},{"cat_id":"31","cat_name":"Korean","short_name":"Korean","childNodes":"0","parentPath":"00023-00001"},{"cat_id":"32","cat_name":"Linguistics","short_name":"Linguistics","childNodes":"0","parentPath":"00023-00001"},{"cat_id":"33","cat_name":"Other Foreign Languages","short_name":"Other Foreign Languages","childNodes":"0","parentPath":"00023-00001"},{"cat_id":"34","cat_name":"Portuguese","short_name":"Portuguese","childNodes":"0","parentPath":"00023-00001"},{"cat_id":"35","cat_name":"Russian","short_name":"Russian","childNodes":"0","parentPath":"00023-00001"},{"cat_id":"36","cat_name":"Spanish","short_name":"Spanish","childNodes":"0","parentPath":"00023-00001"},{"cat_id":"37","cat_name":"TOEFL","short_name":"TOEFL","childNodes":"0","parentPath":"00023-00001"}]},{"cat_id":"396","cat_name":"Health & Fitness","short_name":"Health & Fitness","childNodes":"13","parentPath":"00001","sub_categories":[{"cat_id":"409","cat_name":"ACE Health Coach","short_name":"ACE Health Coach","childNodes":"0","parentPath":"00396-00001"},{"cat_id":"397","cat_name":"Alternative Medicine","short_name":"Alternative Medicine","childNodes":"0","parentPath":"00396-00001"},{"cat_id":"398","cat_name":"Health & Fitness Class","short_name":"Health & Fitness Class","childNodes":"0","parentPath":"00396-00001"},{"cat_id":"399","cat_name":"Health & Human Development","short_name":"Health & Human Development","childNodes":"0","parentPath":"00396-00001"},{"cat_id":"400","cat_name":"Health Class","short_name":"Health Class","childNodes":"0","parentPath":"00396-00001"},{"cat_id":"401","cat_name":"Health Science","short_name":"Health Science","childNodes":"0","parentPath":"00396-00001"},{"cat_id":"402","cat_name":"Human Development","short_name":"Human Development","childNodes":"0","parentPath":"00396-00001"},{"cat_id":"403","cat_name":"Human Growth & Development","short_name":"Human Growth & Development","childNodes":"0","parentPath":"00396-00001"},{"cat_id":"404","cat_name":"Mental Health","short_name":"Mental Health","childNodes":"0","parentPath":"00396-00001"},{"cat_id":"406","cat_name":"NASM CPT","short_name":"NASM CPT","childNodes":"0","parentPath":"00396-00001"},{"cat_id":"405","cat_name":"Public Health","short_name":"Public Health","childNodes":"0","parentPath":"00396-00001"},{"cat_id":"407","cat_name":"Sports & Kinesiology","short_name":"Sports & Kinesiology","childNodes":"0","parentPath":"00396-00001"},{"cat_id":"408","cat_name":"Yoga","short_name":"Yoga","childNodes":"0","parentPath":"00396-00001"}]},{"cat_id":"81","cat_name":"Humanities & Social Studies","short_name":"Humanities & Social Studies","childNodes":"16","parentPath":"00001","sub_categories":[{"cat_id":"90","cat_name":"Anthropology","short_name":"Anthropology","childNodes":"16","parentPath":"00081-00001","sub_categories":[{"cat_id":"91","cat_name":"Anthropology","short_name":"Anthropology","childNodes":"0","parentPath":"00090-00081-00001"},{"cat_id":"92","cat_name":"Archaeology","short_name":"Archaeology","childNodes":"0","parentPath":"00090-00081-00001"},{"cat_id":"93","cat_name":"Biological Anthropology","short_name":"Biological Anthropology","childNodes":"0","parentPath":"00090-00081-00001"},{"cat_id":"94","cat_name":"Cultural Anthropology","short_name":"Cultural Anthropology","childNodes":"0","parentPath":"00090-00081-00001"},{"cat_id":"95","cat_name":"Ethnobotany","short_name":"Ethnobotany","childNodes":"0","parentPath":"00090-00081-00001"},{"cat_id":"96","cat_name":"Evolutionary Genetics","short_name":"Evolutionary Genetics","childNodes":"0","parentPath":"00090-00081-00001"},{"cat_id":"97","cat_name":"Forensic Anthropology","short_name":"Forensic Anthropology","childNodes":"0","parentPath":"00090-00081-00001"},{"cat_id":"98","cat_name":"Fossils","short_name":"Fossils","childNodes":"0","parentPath":"00090-00081-00001"},{"cat_id":"99","cat_name":"Gender Studies","short_name":"Gender Studies","childNodes":"0","parentPath":"00090-00081-00001"},{"cat_id":"100","cat_name":"Human Biology","short_name":"Human Biology","childNodes":"0","parentPath":"00090-00081-00001"},{"cat_id":"101","cat_name":"Human Evolution","short_name":"Human Evolution","childNodes":"0","parentPath":"00090-00081-00001"},{"cat_id":"102","cat_name":"Human Genetics","short_name":"Human Genetics","childNodes":"0","parentPath":"00090-00081-00001"},{"cat_id":"103","cat_name":"Human Reproduction","short_name":"Human Reproduction","childNodes":"0","parentPath":"00090-00081-00001"},{"cat_id":"104","cat_name":"Linguistics","short_name":"Linguistics","childNodes":"0","parentPath":"00090-00081-00001"},{"cat_id":"105","cat_name":"Physical Anthropology","short_name":"Physical Anthropology","childNodes":"0","parentPath":"00090-00081-00001"},{"cat_id":"106","cat_name":"Primate Behavior","short_name":"Primate Behavior","childNodes":"0","parentPath":"00090-00081-00001"}]},{"cat_id":"307","cat_name":"Citizenship","short_name":"Citizenship","childNodes":"0","parentPath":"00081-00001"},{"cat_id":"308","cat_name":"Civics","short_name":"Civics","childNodes":"0","parentPath":"00081-00001"},{"cat_id":"107","cat_name":"Classics","short_name":"Classics","childNodes":"9","parentPath":"00081-00001","sub_categories":[{"cat_id":"108","cat_name":"Ancient Greek","short_name":"Ancient Greek","childNodes":"0","parentPath":"00107-00081-00001"},{"cat_id":"109","cat_name":"Classical Architecture","short_name":"Classical Architecture","childNodes":"0","parentPath":"00107-00081-00001"},{"cat_id":"110","cat_name":"Classical Art","short_name":"Classical Art","childNodes":"0","parentPath":"00107-00081-00001"},{"cat_id":"111","cat_name":"Classical Mythology","short_name":"Classical Mythology","childNodes":"0","parentPath":"00107-00081-00001"},{"cat_id":"112","cat_name":"Greek Civilization","short_name":"Greek Civilization","childNodes":"0","parentPath":"00107-00081-00001"},{"cat_id":"113","cat_name":"Greek History","short_name":"Greek History","childNodes":"0","parentPath":"00107-00081-00001"},{"cat_id":"114","cat_name":"Latin","short_name":"Latin","childNodes":"0","parentPath":"00107-00081-00001"},{"cat_id":"115","cat_name":"Roman Civilization","short_name":"Roman Civilization","childNodes":"0","parentPath":"00107-00081-00001"},{"cat_id":"116","cat_name":"Roman History","short_name":"Roman History","childNodes":"0","parentPath":"00107-00081-00001"}]},{"cat_id":"117","cat_name":"Communications","short_name":"Communications","childNodes":"19","parentPath":"00081-00001","sub_categories":[{"cat_id":"118","cat_name":"Argumentation","short_name":"Argumentation","childNodes":"0","parentPath":"00117-00081-00001"},{"cat_id":"119","cat_name":"Business Communication","short_name":"Business Communication","childNodes":"0","parentPath":"00117-00081-00001"},{"cat_id":"120","cat_name":"Communication Theory","short_name":"Communication Theory","childNodes":"0","parentPath":"00117-00081-00001"},{"cat_id":"121","cat_name":"Communications","short_name":"Communications","childNodes":"0","parentPath":"00117-00081-00001"},{"cat_id":"122","cat_name":"Debate","short_name":"Debate","childNodes":"0","parentPath":"00117-00081-00001"},{"cat_id":"123","cat_name":"Human Relationships","short_name":"Human Relationships","childNodes":"0","parentPath":"00117-00081-00001"},{"cat_id":"124","cat_name":"Interpersonal Communication","short_name":"Interpersonal Communication","childNodes":"0","parentPath":"00117-00081-00001"},{"cat_id":"125","cat_name":"Mass Communication","short_name":"Mass Communication","childNodes":"0","parentPath":"00117-00081-00001"},{"cat_id":"126","cat_name":"Mass Media","short_name":"Mass Media","childNodes":"0","parentPath":"00117-00081-00001"},{"cat_id":"127","cat_name":"Media Studies","short_name":"Media Studies","childNodes":"0","parentPath":"00117-00081-00001"},{"cat_id":"128","cat_name":"Nonverbal Communication","short_name":"Nonverbal Communication","childNodes":"0","parentPath":"00117-00081-00001"},{"cat_id":"129","cat_name":"Organizational Communication","short_name":"Organizational Communication","childNodes":"0","parentPath":"00117-00081-00001"},{"cat_id":"130","cat_name":"Persuasion","short_name":"Persuasion","childNodes":"0","parentPath":"00117-00081-00001"},{"cat_id":"131","cat_name":"Professional Communication","short_name":"Professional Communication","childNodes":"0","parentPath":"00117-00081-00001"},{"cat_id":"132","cat_name":"Public Relations","short_name":"Public Relations","childNodes":"0","parentPath":"00117-00081-00001"},{"cat_id":"133","cat_name":"Public Speaking","short_name":"Public Speaking","childNodes":"0","parentPath":"00117-00081-00001"},{"cat_id":"134","cat_name":"Rhetoric","short_name":"Rhetoric","childNodes":"0","parentPath":"00117-00081-00001"},{"cat_id":"135","cat_name":"Small Group Communication","short_name":"Small Group Communication","childNodes":"0","parentPath":"00117-00081-00001"},{"cat_id":"136","cat_name":"Speech Communication","short_name":"Speech Communication","childNodes":"0","parentPath":"00117-00081-00001"}]},{"cat_id":"137","cat_name":"Counseling","short_name":"Counseling","childNodes":"6","parentPath":"00081-00001","sub_categories":[{"cat_id":"138","cat_name":"Counseling","short_name":"Counseling","childNodes":"1","parentPath":"00137-00081-00001","sub_categories":[{"cat_id":"629","cat_name":"Counseling","short_name":"Accounting","childNodes":"0","parentPath":"00138-00137-00081-00001"}]},{"cat_id":"139","cat_name":"Counseling Theory","short_name":"Counseling Theory","childNodes":"0","parentPath":"00137-00081-00001"},{"cat_id":"140","cat_name":"Family Therapy","short_name":"Family Therapy","childNodes":"0","parentPath":"00137-00081-00001"},{"cat_id":"141","cat_name":"LMSW Exam","short_name":"LMSW Exam","childNodes":"0","parentPath":"00137-00081-00001"},{"cat_id":"142","cat_name":"MFT Exam","short_name":"MFT Exam","childNodes":"0","parentPath":"00137-00081-00001"},{"cat_id":"143","cat_name":"NCMHCE","short_name":"NCMHCE","childNodes":"0","parentPath":"00137-00081-00001"}]},{"cat_id":"144","cat_name":"Criminal Justice","short_name":"Criminal Justice","childNodes":"19","parentPath":"00081-00001","sub_categories":[{"cat_id":"145","cat_name":"CIB","short_name":"CIB","childNodes":"0","parentPath":"00144-00081-00001"},{"cat_id":"146","cat_name":"Civil Rights","short_name":"Civil Rights","childNodes":"0","parentPath":"00144-00081-00001"},{"cat_id":"147","cat_name":"Corrections","short_name":"Corrections","childNodes":"0","parentPath":"00144-00081-00001"},{"cat_id":"148","cat_name":"Crime & Deviance","short_name":"Crime & Deviance","childNodes":"0","parentPath":"00144-00081-00001"},{"cat_id":"149","cat_name":"Crime & Punishment","short_name":"Crime & Punishment","childNodes":"0","parentPath":"00144-00081-00001"},{"cat_id":"150","cat_name":"Criminal Investigation","short_name":"Criminal Investigation","childNodes":"0","parentPath":"00144-00081-00001"},{"cat_id":"151","cat_name":"Criminal Justice","short_name":"Criminal Justice","childNodes":"0","parentPath":"00144-00081-00001"},{"cat_id":"152","cat_name":"Criminal Psychology","short_name":"Criminal Psychology","childNodes":"0","parentPath":"00144-00081-00001"},{"cat_id":"153","cat_name":"Criminology","short_name":"Criminology","childNodes":"0","parentPath":"00144-00081-00001"},{"cat_id":"154","cat_name":"Cybercrime","short_name":"Cybercrime","childNodes":"0","parentPath":"00144-00081-00001"},{"cat_id":"155","cat_name":"Forensic Pathology","short_name":"Forensic Pathology","childNodes":"0","parentPath":"00144-00081-00001"},{"cat_id":"156","cat_name":"Forensic Science","short_name":"Forensic Science","childNodes":"0","parentPath":"00144-00081-00001"},{"cat_id":"157","cat_name":"History of Crime","short_name":"History of Crime","childNodes":"0","parentPath":"00144-00081-00001"},{"cat_id":"158","cat_name":"Intro to Criminology","short_name":"Intro to Criminology","childNodes":"0","parentPath":"00144-00081-00001"},{"cat_id":"159","cat_name":"Law Enforcement","short_name":"Law Enforcement","childNodes":"0","parentPath":"00144-00081-00001"},{"cat_id":"160","cat_name":"Police Administration","short_name":"Police Administration","childNodes":"0","parentPath":"00144-00081-00001"},{"cat_id":"161","cat_name":"Police Studies","short_name":"Police Studies","childNodes":"0","parentPath":"00144-00081-00001"},{"cat_id":"162","cat_name":"Policing","short_name":"Policing","childNodes":"0","parentPath":"00144-00081-00001"},{"cat_id":"163","cat_name":"Prosecution","short_name":"Prosecution","childNodes":"0","parentPath":"00144-00081-00001"}]},{"cat_id":"164","cat_name":"Geography","short_name":"Geography","childNodes":"14","parentPath":"00081-00001","sub_categories":[{"cat_id":"165","cat_name":"Cartography","short_name":"Cartography","childNodes":"0","parentPath":"00164-00081-00001"},{"cat_id":"166","cat_name":"Climate Change","short_name":"Climate Change","childNodes":"0","parentPath":"00164-00081-00001"},{"cat_id":"167","cat_name":"Cultural Geography","short_name":"Cultural Geography","childNodes":"0","parentPath":"00164-00081-00001"},{"cat_id":"168","cat_name":"Environmental Science","short_name":"Environmental Science","childNodes":"0","parentPath":"00164-00081-00001"},{"cat_id":"169","cat_name":"Geography","short_name":"Geography","childNodes":"0","parentPath":"00164-00081-00001"},{"cat_id":"170","cat_name":"Human Geography","short_name":"Human Geography","childNodes":"0","parentPath":"00164-00081-00001"},{"cat_id":"171","cat_name":"Hydrology","short_name":"Hydrology","childNodes":"0","parentPath":"00164-00081-00001"},{"cat_id":"172","cat_name":"Landforms","short_name":"Landforms","childNodes":"0","parentPath":"00164-00081-00001"},{"cat_id":"173","cat_name":"Physical Geography","short_name":"Physical Geography","childNodes":"0","parentPath":"00164-00081-00001"},{"cat_id":"174","cat_name":"U.S. Geography","short_name":"U.S. Geography","childNodes":"0","parentPath":"00164-00081-00001"},{"cat_id":"175","cat_name":"Urban Geography","short_name":"Urban Geography","childNodes":"0","parentPath":"00164-00081-00001"},{"cat_id":"176","cat_name":"Weather and Climate","short_name":"Weather and Climate","childNodes":"0","parentPath":"00164-00081-00001"},{"cat_id":"177","cat_name":"World Capitals","short_name":"World Capitals","childNodes":"0","parentPath":"00164-00081-00001"},{"cat_id":"178","cat_name":"World Geography","short_name":"World Geography","childNodes":"0","parentPath":"00164-00081-00001"}]},{"cat_id":"179","cat_name":"History","short_name":"History","childNodes":"20","parentPath":"00081-00001","sub_categories":[{"cat_id":"180","cat_name":"African History","short_name":"African History","childNodes":"0","parentPath":"00179-00081-00001"},{"cat_id":"181","cat_name":"American West","short_name":"American West","childNodes":"0","parentPath":"00179-00081-00001"},{"cat_id":"182","cat_name":"Ancient Greece","short_name":"Ancient Greece","childNodes":"0","parentPath":"00179-00081-00001"},{"cat_id":"183","cat_name":"Ancient History","short_name":"Ancient History","childNodes":"0","parentPath":"00179-00081-00001"},{"cat_id":"184","cat_name":"Ancient Rome","short_name":"Ancient Rome","childNodes":"0","parentPath":"00179-00081-00001"},{"cat_id":"185","cat_name":"British History","short_name":"British History","childNodes":"0","parentPath":"00179-00081-00001"},{"cat_id":"186","cat_name":"Chinese History","short_name":"Chinese History","childNodes":"0","parentPath":"00179-00081-00001"},{"cat_id":"187","cat_name":"Christian History","short_name":"Christian History","childNodes":"0","parentPath":"00179-00081-00001"},{"cat_id":"188","cat_name":"Cold War","short_name":"Cold War","childNodes":"0","parentPath":"00179-00081-00001"},{"cat_id":"189","cat_name":"European History","short_name":"European History","childNodes":"0","parentPath":"00179-00081-00001"},{"cat_id":"190","cat_name":"Islamic History","short_name":"Islamic History","childNodes":"0","parentPath":"00179-00081-00001"},{"cat_id":"191","cat_name":"Jewish History","short_name":"Jewish History","childNodes":"0","parentPath":"00179-00081-00001"},{"cat_id":"192","cat_name":"Latin American History","short_name":"Latin American History","childNodes":"0","parentPath":"00179-00081-00001"},{"cat_id":"193","cat_name":"Medieval History","short_name":"Medieval History","childNodes":"0","parentPath":"00179-00081-00001"},{"cat_id":"194","cat_name":"Modern World History","short_name":"Modern World History","childNodes":"0","parentPath":"00179-00081-00001"},{"cat_id":"195","cat_name":"US History","short_name":"US History","childNodes":"0","parentPath":"00179-00081-00001"},{"cat_id":"196","cat_name":"Western Civilization","short_name":"Western Civilization","childNodes":"0","parentPath":"00179-00081-00001"},{"cat_id":"197","cat_name":"Womens History","short_name":"Womens History","childNodes":"0","parentPath":"00179-00081-00001"},{"cat_id":"198","cat_name":"World Civilizations","short_name":"World Civilizations","childNodes":"0","parentPath":"00179-00081-00001"},{"cat_id":"199","cat_name":"World History","short_name":"World History","childNodes":"0","parentPath":"00179-00081-00001"}]},{"cat_id":"82","cat_name":"Philosophy","short_name":"Philosophy","childNodes":"7","parentPath":"00081-00001","sub_categories":[{"cat_id":"83","cat_name":"Critical Thinking","short_name":"Critical Thinking","childNodes":"0","parentPath":"00082-00081-00001"},{"cat_id":"84","cat_name":"Ethics","short_name":"Ethics","childNodes":"0","parentPath":"00082-00081-00001"},{"cat_id":"85","cat_name":"Intro Philosophy","short_name":"Intro Philosophy","childNodes":"0","parentPath":"00082-00081-00001"},{"cat_id":"86","cat_name":"Logic","short_name":"Logic","childNodes":"0","parentPath":"00082-00081-00001"},{"cat_id":"87","cat_name":"Philosophy","short_name":"Philosophy","childNodes":"0","parentPath":"00082-00081-00001"},{"cat_id":"88","cat_name":"Plato","short_name":"Plato","childNodes":"0","parentPath":"00082-00081-00001"},{"cat_id":"89","cat_name":"Rhetoric","short_name":"Rhetoric","childNodes":"0","parentPath":"00082-00081-00001"}]},{"cat_id":"200","cat_name":"Political Science","short_name":"Political Science","childNodes":"17","parentPath":"00081-00001","sub_categories":[{"cat_id":"201","cat_name":"American Government","short_name":"American Government","childNodes":"0","parentPath":"00200-00081-00001"},{"cat_id":"202","cat_name":"Comparative Politics","short_name":"Comparative Politics","childNodes":"0","parentPath":"00200-00081-00001"},{"cat_id":"203","cat_name":"Foreign Policy","short_name":"Foreign Policy","childNodes":"0","parentPath":"00200-00081-00001"},{"cat_id":"204","cat_name":"Global Issues","short_name":"Global Issues","childNodes":"0","parentPath":"00200-00081-00001"},{"cat_id":"205","cat_name":"Human Rights","short_name":"Human Rights","childNodes":"0","parentPath":"00200-00081-00001"},{"cat_id":"206","cat_name":"International Political Economy","short_name":"International Political Economy","childNodes":"0","parentPath":"00200-00081-00001"},{"cat_id":"207","cat_name":"International Relations","short_name":"International Relations","childNodes":"0","parentPath":"00200-00081-00001"},{"cat_id":"208","cat_name":"Intro Political Science","short_name":"Intro Political Science","childNodes":"0","parentPath":"00200-00081-00001"},{"cat_id":"209","cat_name":"Policy Analysis","short_name":"Policy Analysis","childNodes":"0","parentPath":"00200-00081-00001"},{"cat_id":"210","cat_name":"Political Science","short_name":"Political Science","childNodes":"0","parentPath":"00200-00081-00001"},{"cat_id":"211","cat_name":"Presidency","short_name":"Presidency","childNodes":"0","parentPath":"00200-00081-00001"},{"cat_id":"212","cat_name":"Public Administration","short_name":"Public Administration","childNodes":"0","parentPath":"00200-00081-00001"},{"cat_id":"213","cat_name":"Public Policy","short_name":"Public Policy","childNodes":"0","parentPath":"00200-00081-00001"},{"cat_id":"214","cat_name":"Social Justice","short_name":"Social Justice","childNodes":"0","parentPath":"00200-00081-00001"},{"cat_id":"215","cat_name":"Terrorism","short_name":"Terrorism","childNodes":"0","parentPath":"00200-00081-00001"},{"cat_id":"216","cat_name":"UK Politics","short_name":"UK Politics","childNodes":"0","parentPath":"00200-00081-00001"},{"cat_id":"217","cat_name":"US Congress Leadership","short_name":"US Congress Leadership","childNodes":"0","parentPath":"00200-00081-00001"}]},{"cat_id":"218","cat_name":"Psychology","short_name":"Psychology","childNodes":"53","parentPath":"00081-00001","sub_categories":[{"cat_id":"219","cat_name":"Behavior Analysis","short_name":"Behavior Analysis","childNodes":"0","parentPath":"00218-00081-00001"},{"cat_id":"220","cat_name":"Behavioral Neuroscience","short_name":"Behavioral Neuroscience","childNodes":"0","parentPath":"00218-00081-00001"},{"cat_id":"221","cat_name":"Behavioral Statistics","short_name":"Behavioral Statistics","childNodes":"0","parentPath":"00218-00081-00001"},{"cat_id":"222","cat_name":"Biological Psychology","short_name":"Biological Psychology","childNodes":"0","parentPath":"00218-00081-00001"},{"cat_id":"223","cat_name":"Biopsychology","short_name":"Biopsychology","childNodes":"0","parentPath":"00218-00081-00001"},{"cat_id":"224","cat_name":"Brain and Behavior","short_name":"Brain and Behavior","childNodes":"0","parentPath":"00218-00081-00001"},{"cat_id":"225","cat_name":"Child Development","short_name":"Child Development","childNodes":"0","parentPath":"00218-00081-00001"},{"cat_id":"226","cat_name":"Child Psychology","short_name":"Child Psychology","childNodes":"0","parentPath":"00218-00081-00001"},{"cat_id":"227","cat_name":"Clinical Psychology","short_name":"Clinical Psychology","childNodes":"0","parentPath":"00218-00081-00001"},{"cat_id":"228","cat_name":"Cognitive Biases","short_name":"Cognitive Biases","childNodes":"0","parentPath":"00218-00081-00001"},{"cat_id":"229","cat_name":"Cognitive Neuroscience","short_name":"Cognitive Neuroscience","childNodes":"0","parentPath":"00218-00081-00001"},{"cat_id":"230","cat_name":"Cognitive Psychology","short_name":"Cognitive Psychology","childNodes":"0","parentPath":"00218-00081-00001"},{"cat_id":"231","cat_name":"Cognitive Science","short_name":"Cognitive Science","childNodes":"0","parentPath":"00218-00081-00001"},{"cat_id":"232","cat_name":"Community Psychology","short_name":"Community Psychology","childNodes":"0","parentPath":"00218-00081-00001"},{"cat_id":"233","cat_name":"Cultural Psychology","short_name":"Cultural Psychology","childNodes":"0","parentPath":"00218-00081-00001"},{"cat_id":"234","cat_name":"Developmental Psychology","short_name":"Developmental Psychology","childNodes":"0","parentPath":"00218-00081-00001"},{"cat_id":"235","cat_name":"Drugs and Behavior","short_name":"Drugs and Behavior","childNodes":"0","parentPath":"00218-00081-00001"},{"cat_id":"236","cat_name":"DSM","short_name":"DSM","childNodes":"0","parentPath":"00218-00081-00001"},{"cat_id":"237","cat_name":"DSM-5","short_name":"DSM-5","childNodes":"0","parentPath":"00218-00081-00001"},{"cat_id":"238","cat_name":"Educational Psychology","short_name":"Educational Psychology","childNodes":"0","parentPath":"00218-00081-00001"},{"cat_id":"239","cat_name":"Environmental Psychology","short_name":"Environmental Psychology","childNodes":"0","parentPath":"00218-00081-00001"},{"cat_id":"240","cat_name":"Evolutionary Psychology","short_name":"Evolutionary Psychology","childNodes":"0","parentPath":"00218-00081-00001"},{"cat_id":"241","cat_name":"Experimental Psychology","short_name":"Experimental Psychology","childNodes":"0","parentPath":"00218-00081-00001"},{"cat_id":"242","cat_name":"Forensic Pscyhology","short_name":"Forensic Pscyhology","childNodes":"0","parentPath":"00218-00081-00001"},{"cat_id":"243","cat_name":"Gender Psychology","short_name":"Gender Psychology","childNodes":"0","parentPath":"00218-00081-00001"},{"cat_id":"244","cat_name":"General Psychology","short_name":"General Psychology","childNodes":"0","parentPath":"00218-00081-00001"},{"cat_id":"245","cat_name":"Health Psychology","short_name":"Health Psychology","childNodes":"0","parentPath":"00218-00081-00001"},{"cat_id":"246","cat_name":"Human Behavior","short_name":"Human Behavior","childNodes":"0","parentPath":"00218-00081-00001"},{"cat_id":"247","cat_name":"Human Sexuality","short_name":"Human Sexuality","childNodes":"0","parentPath":"00218-00081-00001"},{"cat_id":"248","cat_name":"Industrial Psychology","short_name":"Industrial Psychology","childNodes":"0","parentPath":"00218-00081-00001"},{"cat_id":"249","cat_name":"Intro Psychology","short_name":"Intro Psychology","childNodes":"0","parentPath":"00218-00081-00001"},{"cat_id":"250","cat_name":"Language Development","short_name":"Language Development","childNodes":"0","parentPath":"00218-00081-00001"},{"cat_id":"251","cat_name":"Learning and Memory","short_name":"Learning and Memory","childNodes":"0","parentPath":"00218-00081-00001"},{"cat_id":"252","cat_name":"Lifespan Psychology","short_name":"Lifespan Psychology","childNodes":"0","parentPath":"00218-00081-00001"},{"cat_id":"253","cat_name":"Neuropsychology","short_name":"Neuropsychology","childNodes":"0","parentPath":"00218-00081-00001"},{"cat_id":"254","cat_name":"Phonology","short_name":"Phonology","childNodes":"0","parentPath":"00218-00081-00001"},{"cat_id":"255","cat_name":"Positive Psychology","short_name":"Positive Psychology","childNodes":"0","parentPath":"00218-00081-00001"},{"cat_id":"256","cat_name":"Psychobiology","short_name":"Psychobiology","childNodes":"0","parentPath":"00218-00081-00001"},{"cat_id":"257","cat_name":"Psychological Assessment","short_name":"Psychological Assessment","childNodes":"0","parentPath":"00218-00081-00001"},{"cat_id":"258","cat_name":"Psychological Statistics","short_name":"Psychological Statistics","childNodes":"0","parentPath":"00218-00081-00001"},{"cat_id":"259","cat_name":"Psychological Testing","short_name":"Psychological Testing","childNodes":"0","parentPath":"00218-00081-00001"},{"cat_id":"260","cat_name":"Psychology","short_name":"Psychology","childNodes":"0","parentPath":"00218-00081-00001"},{"cat_id":"261","cat_name":"Psychology Ethics","short_name":"Psychology Ethics","childNodes":"0","parentPath":"00218-00081-00001"},{"cat_id":"262","cat_name":"Psychopathology","short_name":"Psychopathology","childNodes":"0","parentPath":"00218-00081-00001"},{"cat_id":"263","cat_name":"Psychopharmacology","short_name":"Psychopharmacology","childNodes":"0","parentPath":"00218-00081-00001"},{"cat_id":"264","cat_name":"Psychosocial","short_name":"Psychosocial","childNodes":"0","parentPath":"00218-00081-00001"},{"cat_id":"265","cat_name":"Psychotherapy","short_name":"Psychotherapy","childNodes":"0","parentPath":"00218-00081-00001"},{"cat_id":"266","cat_name":"Psychotropic Drugs","short_name":"Psychotropic Drugs","childNodes":"0","parentPath":"00218-00081-00001"},{"cat_id":"267","cat_name":"Research Methods in Psych","short_name":"Research Methods in Psych","childNodes":"0","parentPath":"00218-00081-00001"},{"cat_id":"268","cat_name":"Sensation and Perception","short_name":"Sensation and Perception","childNodes":"0","parentPath":"00218-00081-00001"},{"cat_id":"269","cat_name":"Social Psychology","short_name":"Social Psychology","childNodes":"0","parentPath":"00218-00081-00001"},{"cat_id":"270","cat_name":"The Brain","short_name":"The Brain","childNodes":"0","parentPath":"00218-00081-00001"},{"cat_id":"271","cat_name":"Theories of Personality","short_name":"Theories of Personality","childNodes":"0","parentPath":"00218-00081-00001"}]},{"cat_id":"272","cat_name":"Religion and Bible","short_name":"Religion and Bible","childNodes":"19","parentPath":"00081-00001","sub_categories":[{"cat_id":"273","cat_name":"Aramaic","short_name":"Aramaic","childNodes":"0","parentPath":"00272-00081-00001"},{"cat_id":"274","cat_name":"Bible","short_name":"Bible","childNodes":"0","parentPath":"00272-00081-00001"},{"cat_id":"275","cat_name":"Bible Verses","short_name":"Bible Verses","childNodes":"0","parentPath":"00272-00081-00001"},{"cat_id":"276","cat_name":"Biblical Greek","short_name":"Biblical Greek","childNodes":"0","parentPath":"00272-00081-00001"},{"cat_id":"277","cat_name":"Buddhism","short_name":"Buddhism","childNodes":"0","parentPath":"00272-00081-00001"},{"cat_id":"278","cat_name":"Catholicism","short_name":"Catholicism","childNodes":"0","parentPath":"00272-00081-00001"},{"cat_id":"279","cat_name":"Christianity","short_name":"Christianity","childNodes":"0","parentPath":"00272-00081-00001"},{"cat_id":"280","cat_name":"Hebrew","short_name":"Hebrew","childNodes":"0","parentPath":"00272-00081-00001"},{"cat_id":"281","cat_name":"Hinduism","short_name":"Hinduism","childNodes":"0","parentPath":"00272-00081-00001"},{"cat_id":"282","cat_name":"Islam","short_name":"Islam","childNodes":"0","parentPath":"00272-00081-00001"},{"cat_id":"283","cat_name":"Judaism","short_name":"Judaism","childNodes":"0","parentPath":"00272-00081-00001"},{"cat_id":"284","cat_name":"New Testament","short_name":"New Testament","childNodes":"0","parentPath":"00272-00081-00001"},{"cat_id":"285","cat_name":"Old Testament","short_name":"Old Testament","childNodes":"0","parentPath":"00272-00081-00001"},{"cat_id":"286","cat_name":"Quran","short_name":"Quran","childNodes":"0","parentPath":"00272-00081-00001"},{"cat_id":"287","cat_name":"Religion","short_name":"Religion","childNodes":"0","parentPath":"00272-00081-00001"},{"cat_id":"288","cat_name":"Religious Studies","short_name":"Religious Studies","childNodes":"0","parentPath":"00272-00081-00001"},{"cat_id":"289","cat_name":"Sanskrit","short_name":"Sanskrit","childNodes":"0","parentPath":"00272-00081-00001"},{"cat_id":"290","cat_name":"Theology","short_name":"Theology","childNodes":"0","parentPath":"00272-00081-00001"},{"cat_id":"291","cat_name":"Torah","short_name":"Torah","childNodes":"0","parentPath":"00272-00081-00001"}]},{"cat_id":"309","cat_name":"Social Studies","short_name":"Social Studies","childNodes":"0","parentPath":"00081-00001"},{"cat_id":"310","cat_name":"Social Work","short_name":"Social Work","childNodes":"0","parentPath":"00081-00001"},{"cat_id":"292","cat_name":"Sociology","short_name":"Sociology","childNodes":"14","parentPath":"00081-00001","sub_categories":[{"cat_id":"293","cat_name":"Civil Rights","short_name":"Civil Rights","childNodes":"0","parentPath":"00292-00081-00001"},{"cat_id":"294","cat_name":"Cultural Diversity","short_name":"Cultural Diversity","childNodes":"0","parentPath":"00292-00081-00001"},{"cat_id":"295","cat_name":"Gender Studies","short_name":"Gender Studies","childNodes":"0","parentPath":"00292-00081-00001"},{"cat_id":"296","cat_name":"Group Dynamcis","short_name":"Group Dynamcis","childNodes":"0","parentPath":"00292-00081-00001"},{"cat_id":"297","cat_name":"Intro Sociology","short_name":"Intro Sociology","childNodes":"0","parentPath":"00292-00081-00001"},{"cat_id":"298","cat_name":"Juvenile Delinquency","short_name":"Juvenile Delinquency","childNodes":"0","parentPath":"00292-00081-00001"},{"cat_id":"299","cat_name":"Marriage & Family","short_name":"Marriage & Family","childNodes":"0","parentPath":"00292-00081-00001"},{"cat_id":"300","cat_name":"Mass Media Sociology","short_name":"Mass Media Sociology","childNodes":"0","parentPath":"00292-00081-00001"},{"cat_id":"301","cat_name":"Medical Sociology","short_name":"Medical Sociology","childNodes":"0","parentPath":"00292-00081-00001"},{"cat_id":"302","cat_name":"Social Control","short_name":"Social Control","childNodes":"0","parentPath":"00292-00081-00001"},{"cat_id":"303","cat_name":"Social Institutions","short_name":"Social Institutions","childNodes":"0","parentPath":"00292-00081-00001"},{"cat_id":"304","cat_name":"Sociology","short_name":"Sociology","childNodes":"0","parentPath":"00292-00081-00001"},{"cat_id":"305","cat_name":"Subcultures","short_name":"Subcultures","childNodes":"0","parentPath":"00292-00081-00001"},{"cat_id":"306","cat_name":"Youth Subcultures","short_name":"Youth Subcultures","childNodes":"0","parentPath":"00292-00081-00001"}]}]},{"cat_id":"623","cat_name":"Languages","short_name":"Languages","childNodes":"3","parentPath":"00001","sub_categories":[{"cat_id":"626","cat_name":"Africans","short_name":"Africans","childNodes":"0","parentPath":"00623-00001"},{"cat_id":"624","cat_name":"Xkhosa","short_name":"Xkhosa","childNodes":"0","parentPath":"00623-00001"},{"cat_id":"625","cat_name":"Zulu","short_name":"Zulu","childNodes":"0","parentPath":"00623-00001"}]},{"cat_id":"366","cat_name":"Law","short_name":"Law","childNodes":"29","parentPath":"00001","sub_categories":[{"cat_id":"368","cat_name":"Bankruptcy","short_name":"Bankruptcy","childNodes":"0","parentPath":"00366-00001"},{"cat_id":"369","cat_name":"Bar Exam","short_name":"Bar Exam","childNodes":"0","parentPath":"00366-00001"},{"cat_id":"370","cat_name":"Business Law","short_name":"Business Law","childNodes":"0","parentPath":"00366-00001"},{"cat_id":"371","cat_name":"California Bar Exam","short_name":"California Bar Exam","childNodes":"0","parentPath":"00366-00001"},{"cat_id":"372","cat_name":"CIPP Exam","short_name":"CIPP Exam","childNodes":"0","parentPath":"00366-00001"},{"cat_id":"373","cat_name":"Civil Procedure","short_name":"Civil Procedure","childNodes":"0","parentPath":"00366-00001"},{"cat_id":"374","cat_name":"Constitutional Law","short_name":"Constitutional Law","childNodes":"0","parentPath":"00366-00001"},{"cat_id":"375","cat_name":"Contract Law","short_name":"Contract Law","childNodes":"0","parentPath":"00366-00001"},{"cat_id":"376","cat_name":"Corporate Law","short_name":"Corporate Law","childNodes":"0","parentPath":"00366-00001"},{"cat_id":"377","cat_name":"Criminal Law","short_name":"Criminal Law","childNodes":"0","parentPath":"00366-00001"},{"cat_id":"378","cat_name":"Evidence","short_name":"Evidence","childNodes":"0","parentPath":"00366-00001"},{"cat_id":"379","cat_name":"Family Law","short_name":"Family Law","childNodes":"0","parentPath":"00366-00001"},{"cat_id":"380","cat_name":"Florida Bar Exam","short_name":"Florida Bar Exam","childNodes":"0","parentPath":"00366-00001"},{"cat_id":"381","cat_name":"Insurance Law","short_name":"Insurance Law","childNodes":"0","parentPath":"00366-00001"},{"cat_id":"382","cat_name":"Intellectual Property","short_name":"Intellectual Property","childNodes":"0","parentPath":"00366-00001"},{"cat_id":"383","cat_name":"International Law","short_name":"International Law","childNodes":"0","parentPath":"00366-00001"},{"cat_id":"384","cat_name":"Law","short_name":"Law","childNodes":"0","parentPath":"00366-00001"},{"cat_id":"385","cat_name":"Law & Ethics","short_name":"Law & Ethics","childNodes":"0","parentPath":"00366-00001"},{"cat_id":"386","cat_name":"Legal Studies","short_name":"Legal Studies","childNodes":"0","parentPath":"00366-00001"},{"cat_id":"367","cat_name":"Legislation Acts Policies","short_name":"Legislation Acts Policies","childNodes":"0","parentPath":"00366-00001"},{"cat_id":"387","cat_name":"Litigation","short_name":"Litigation","childNodes":"0","parentPath":"00366-00001"},{"cat_id":"388","cat_name":"MBE","short_name":"MBE","childNodes":"0","parentPath":"00366-00001"},{"cat_id":"389","cat_name":"MPRE","short_name":"MPRE","childNodes":"0","parentPath":"00366-00001"},{"cat_id":"390","cat_name":"Pharmacy Law","short_name":"Pharmacy Law","childNodes":"0","parentPath":"00366-00001"},{"cat_id":"391","cat_name":"Property Law","short_name":"Property Law","childNodes":"0","parentPath":"00366-00001"},{"cat_id":"392","cat_name":"Real Estate Law","short_name":"Real Estate Law","childNodes":"0","parentPath":"00366-00001"},{"cat_id":"393","cat_name":"Texas Bar Exam","short_name":"Texas Bar Exam","childNodes":"0","parentPath":"00366-00001"},{"cat_id":"394","cat_name":"Torts","short_name":"Torts","childNodes":"0","parentPath":"00366-00001"},{"cat_id":"395","cat_name":"Trusts & Estates","short_name":"Trusts & Estates","childNodes":"0","parentPath":"00366-00001"}]},{"cat_id":"311","cat_name":"Mathematics","short_name":"Mathematics","childNodes":"13","parentPath":"00001","sub_categories":[{"cat_id":"312","cat_name":"Algebra","short_name":"Algebra","childNodes":"0","parentPath":"00311-00001"},{"cat_id":"313","cat_name":"Algebra II","short_name":"Algebra II","childNodes":"0","parentPath":"00311-00001"},{"cat_id":"314","cat_name":"Arithmetic","short_name":"Arithmetic","childNodes":"0","parentPath":"00311-00001"},{"cat_id":"315","cat_name":"Calculus","short_name":"Calculus","childNodes":"0","parentPath":"00311-00001"},{"cat_id":"316","cat_name":"Geometry","short_name":"Geometry","childNodes":"0","parentPath":"00311-00001"},{"cat_id":"317","cat_name":"Linear Algebra","short_name":"Linear Algebra","childNodes":"0","parentPath":"00311-00001"},{"cat_id":"318","cat_name":"Math","short_name":"Math","childNodes":"0","parentPath":"00311-00001"},{"cat_id":"319","cat_name":"Multiplication Tables","short_name":"Multiplication Tables","childNodes":"0","parentPath":"00311-00001"},{"cat_id":"320","cat_name":"Precalculus","short_name":"Precalculus","childNodes":"0","parentPath":"00311-00001"},{"cat_id":"321","cat_name":"Probability","short_name":"Probability","childNodes":"0","parentPath":"00311-00001"},{"cat_id":"322","cat_name":"Statistical Methods","short_name":"Statistical Methods","childNodes":"0","parentPath":"00311-00001"},{"cat_id":"323","cat_name":"Statistics","short_name":"Statistics","childNodes":"0","parentPath":"00311-00001"},{"cat_id":"324","cat_name":"Trigonometry","short_name":"Trigonometry","childNodes":"0","parentPath":"00311-00001"}]},{"cat_id":"325","cat_name":"Medical & Nursing","short_name":"Medical & Nursing","childNodes":"15","parentPath":"00001","sub_categories":[{"cat_id":"326","cat_name":"Anatomy","short_name":"Anatomy","childNodes":"0","parentPath":"00325-00001"},{"cat_id":"327","cat_name":"Body Systems","short_name":"Body Systems","childNodes":"0","parentPath":"00325-00001"},{"cat_id":"328","cat_name":"Dentistry","short_name":"Dentistry","childNodes":"0","parentPath":"00325-00001"},{"cat_id":"329","cat_name":"Medical Courses & Subject Areas","short_name":"Medical Courses & Subject Areas","childNodes":"0","parentPath":"00325-00001"},{"cat_id":"330","cat_name":"Medical Exams","short_name":"Medical Exams","childNodes":"0","parentPath":"00325-00001"},{"cat_id":"331","cat_name":"Medical Subspecialties","short_name":"Medical Subspecialties","childNodes":"0","parentPath":"00325-00001"},{"cat_id":"332","cat_name":"Medical Terminology","short_name":"Medical Terminology","childNodes":"0","parentPath":"00325-00001"},{"cat_id":"333","cat_name":"Misc Healthcare Topics","short_name":"Misc Healthcare Topics","childNodes":"0","parentPath":"00325-00001"},{"cat_id":"334","cat_name":"Nursing Courses & Subject Areas","short_name":"Nursing Courses & Subject Areas","childNodes":"0","parentPath":"00325-00001"},{"cat_id":"335","cat_name":"Nursing Subspecialties","short_name":"Nursing Subspecialties","childNodes":"0","parentPath":"00325-00001"},{"cat_id":"336","cat_name":"Other Healthcare Fields","short_name":"Other Healthcare Fields","childNodes":"0","parentPath":"00325-00001"},{"cat_id":"337","cat_name":"Pharmacology","short_name":"Pharmacology","childNodes":"0","parentPath":"00325-00001"},{"cat_id":"338","cat_name":"Physiology","short_name":"Physiology","childNodes":"0","parentPath":"00325-00001"},{"cat_id":"339","cat_name":"Radiology & Diagnostic Imaging","short_name":"Radiology & Diagnostic Imaging","childNodes":"0","parentPath":"00325-00001"},{"cat_id":"340","cat_name":"Veterinary","short_name":"Veterinary","childNodes":"0","parentPath":"00325-00001"}]},{"cat_id":"11","cat_name":"Professional Certifications","short_name":"Professional Certifications","childNodes":"11","parentPath":"00001","sub_categories":[{"cat_id":"12","cat_name":"Bar Exam","short_name":"Bar Exam","childNodes":"0","parentPath":"00011-00001"},{"cat_id":"13","cat_name":"Drivers Ed","short_name":"Drivers Ed","childNodes":"0","parentPath":"00011-00001"},{"cat_id":"14","cat_name":"Financial Exams","short_name":"Financial Exams","childNodes":"0","parentPath":"00011-00001"},{"cat_id":"15","cat_name":"Management Certifications","short_name":"Management Certifications","childNodes":"0","parentPath":"00011-00001"},{"cat_id":"16","cat_name":"Medical & Nursing Certifications","short_name":"Medical & Nursing Certifications","childNodes":"0","parentPath":"00011-00001"},{"cat_id":"17","cat_name":"Military Exams","short_name":"Military Exams","childNodes":"0","parentPath":"00011-00001"},{"cat_id":"18","cat_name":"MPRE","short_name":"MPRE","childNodes":"0","parentPath":"00011-00001"},{"cat_id":"19","cat_name":"Other Certifications","short_name":"Other Certifications","childNodes":"0","parentPath":"00011-00001"},{"cat_id":"20","cat_name":"Technology Certifications","short_name":"Technology Certifications","childNodes":"0","parentPath":"00011-00001"},{"cat_id":"21","cat_name":"TOEFL","short_name":"TOEFL","childNodes":"0","parentPath":"00011-00001"},{"cat_id":"22","cat_name":"Wine & Spirits","short_name":"Wine & Spirits","childNodes":"0","parentPath":"00011-00001"}]},{"cat_id":"611","cat_name":"Random Knowledge","short_name":"Random Knowledge","childNodes":"11","parentPath":"00001","sub_categories":[{"cat_id":"612","cat_name":"Astrology","short_name":"Astrology","childNodes":"0","parentPath":"00611-00001"},{"cat_id":"613","cat_name":"Blackjack","short_name":"Blackjack","childNodes":"0","parentPath":"00611-00001"},{"cat_id":"614","cat_name":"Cultural Literacy","short_name":"Cultural Literacy","childNodes":"0","parentPath":"00611-00001"},{"cat_id":"615","cat_name":"Knowledge Rehab","short_name":"Knowledge Rehab","childNodes":"0","parentPath":"00611-00001"},{"cat_id":"616","cat_name":"Mythology","short_name":"Mythology","childNodes":"0","parentPath":"00611-00001"},{"cat_id":"617","cat_name":"National Capitals","short_name":"National Capitals","childNodes":"0","parentPath":"00611-00001"},{"cat_id":"618","cat_name":"People You Should Know","short_name":"People You Should Know","childNodes":"0","parentPath":"00611-00001"},{"cat_id":"619","cat_name":"Poker","short_name":"Poker","childNodes":"0","parentPath":"00611-00001"},{"cat_id":"620","cat_name":"Quiz Bowl","short_name":"Quiz Bowl","childNodes":"0","parentPath":"00611-00001"},{"cat_id":"621","cat_name":"Sports Trivia","short_name":"Sports Trivia","childNodes":"0","parentPath":"00611-00001"},{"cat_id":"622","cat_name":"Tarot Cards","short_name":"Tarot Cards","childNodes":"0","parentPath":"00611-00001"}]},{"cat_id":"38","cat_name":"Science","short_name":"Science","childNodes":"25","parentPath":"00001","sub_categories":[{"cat_id":"39","cat_name":"Anatomy","short_name":"Anatomy","childNodes":"0","parentPath":"00038-00001"},{"cat_id":"40","cat_name":"Astronomy","short_name":"Astronomy","childNodes":"0","parentPath":"00038-00001"},{"cat_id":"41","cat_name":"Biochemistry","short_name":"Biochemistry","childNodes":"0","parentPath":"00038-00001"},{"cat_id":"42","cat_name":"Biology","short_name":"Biology","childNodes":"0","parentPath":"00038-00001"},{"cat_id":"43","cat_name":"Cellular Biology","short_name":"Cellular Biology","childNodes":"0","parentPath":"00038-00001"},{"cat_id":"44","cat_name":"Chemistry","short_name":"Chemistry","childNodes":"0","parentPath":"00038-00001"},{"cat_id":"45","cat_name":"Earth Science","short_name":"Earth Science","childNodes":"0","parentPath":"00038-00001"},{"cat_id":"46","cat_name":"Environmental Science","short_name":"Environmental Science","childNodes":"0","parentPath":"00038-00001"},{"cat_id":"47","cat_name":"Genetics","short_name":"Genetics","childNodes":"0","parentPath":"00038-00001"},{"cat_id":"48","cat_name":"Geology","short_name":"Geology","childNodes":"0","parentPath":"00038-00001"},{"cat_id":"49","cat_name":"Life Science","short_name":"Life Science","childNodes":"0","parentPath":"00038-00001"},{"cat_id":"50","cat_name":"Marine Biology","short_name":"Marine Biology","childNodes":"0","parentPath":"00038-00001"},{"cat_id":"51","cat_name":"Meteorology","short_name":"Meteorology","childNodes":"0","parentPath":"00038-00001"},{"cat_id":"52","cat_name":"Microbiology","short_name":"Microbiology","childNodes":"0","parentPath":"00038-00001"},{"cat_id":"53","cat_name":"Molecular Biology","short_name":"Molecular Biology","childNodes":"0","parentPath":"00038-00001"},{"cat_id":"54","cat_name":"Natural Science","short_name":"Natural Science","childNodes":"0","parentPath":"00038-00001"},{"cat_id":"55","cat_name":"Oceanography","short_name":"Oceanography","childNodes":"0","parentPath":"00038-00001"},{"cat_id":"56","cat_name":"Organic Chemistry","short_name":"Organic Chemistry","childNodes":"0","parentPath":"00038-00001"},{"cat_id":"57","cat_name":"Periodic Table","short_name":"Periodic Table","childNodes":"0","parentPath":"00038-00001"},{"cat_id":"58","cat_name":"Physical Science","short_name":"Physical Science","childNodes":"0","parentPath":"00038-00001"},{"cat_id":"59","cat_name":"Physics","short_name":"Physics","childNodes":"0","parentPath":"00038-00001"},{"cat_id":"60","cat_name":"Physiology","short_name":"Physiology","childNodes":"0","parentPath":"00038-00001"},{"cat_id":"61","cat_name":"Plant Science","short_name":"Plant Science","childNodes":"0","parentPath":"00038-00001"},{"cat_id":"62","cat_name":"Science Class","short_name":"Science Class","childNodes":"0","parentPath":"00038-00001"},{"cat_id":"63","cat_name":"Zoology","short_name":"Zoology","childNodes":"0","parentPath":"00038-00001"}]},{"cat_id":"525","cat_name":"Technology & Engineering","short_name":"Technology & Engineering","childNodes":"9","parentPath":"00001","sub_categories":[{"cat_id":"526","cat_name":"Architecture","short_name":"Architecture","childNodes":"0","parentPath":"00525-00001"},{"cat_id":"527","cat_name":"Biotechnology","short_name":"Biotechnology","childNodes":"0","parentPath":"00525-00001"},{"cat_id":"528","cat_name":"Computer Programming","short_name":"Computer Programming","childNodes":"22","parentPath":"00525-00001","sub_categories":[{"cat_id":"529","cat_name":"Agile","short_name":"Agile","childNodes":"1","parentPath":"00528-00525-00001","sub_categories":[{"cat_id":"628","cat_name":"test category","short_name":"test category","childNodes":"0","parentPath":"00529-00528-00525-00001"}]},{"cat_id":"530","cat_name":"AWS","short_name":"AWS","childNodes":"0","parentPath":"00528-00525-00001"},{"cat_id":"550","cat_name":"Brainscape Certified (\u00c2\u00a0See All\u00c2\u00a0)","short_name":"Brainscape Certified (\u00c2\u00a0See All\u00c2\u00a0)","childNodes":"0","parentPath":"00528-00525-00001"},{"cat_id":"531","cat_name":"Computer Programming","short_name":"Computer Programming","childNodes":"0","parentPath":"00528-00525-00001"},{"cat_id":"532","cat_name":"Cryptography","short_name":"Cryptography","childNodes":"0","parentPath":"00528-00525-00001"},{"cat_id":"533","cat_name":"Git Commands","short_name":"Git Commands","childNodes":"0","parentPath":"00528-00525-00001"},{"cat_id":"534","cat_name":"HTML","short_name":"HTML","childNodes":"0","parentPath":"00528-00525-00001"},{"cat_id":"535","cat_name":"Java","short_name":"Java","childNodes":"0","parentPath":"00528-00525-00001"},{"cat_id":"536","cat_name":"Javascript","short_name":"Javascript","childNodes":"0","parentPath":"00528-00525-00001"},{"cat_id":"537","cat_name":"Keyboard Shortcuts","short_name":"Keyboard Shortcuts","childNodes":"0","parentPath":"00528-00525-00001"},{"cat_id":"538","cat_name":"Kubernetes","short_name":"Kubernetes","childNodes":"0","parentPath":"00528-00525-00001"},{"cat_id":"539","cat_name":"Linux","short_name":"Linux","childNodes":"0","parentPath":"00528-00525-00001"},{"cat_id":"540","cat_name":"Mac OS","short_name":"Mac OS","childNodes":"0","parentPath":"00528-00525-00001"},{"cat_id":"541","cat_name":"Objective-C","short_name":"Objective-C","childNodes":"0","parentPath":"00528-00525-00001"},{"cat_id":"542","cat_name":"PHP","short_name":"PHP","childNodes":"0","parentPath":"00528-00525-00001"},{"cat_id":"543","cat_name":"Python","short_name":"Python","childNodes":"0","parentPath":"00528-00525-00001"},{"cat_id":"544","cat_name":"React","short_name":"React","childNodes":"0","parentPath":"00528-00525-00001"},{"cat_id":"545","cat_name":"Ruby","short_name":"Ruby","childNodes":"0","parentPath":"00528-00525-00001"},{"cat_id":"546","cat_name":"Ruby on Rails","short_name":"Ruby on Rails","childNodes":"0","parentPath":"00528-00525-00001"},{"cat_id":"547","cat_name":"Swift","short_name":"Swift","childNodes":"0","parentPath":"00528-00525-00001"},{"cat_id":"548","cat_name":"Tech Startup Genius","short_name":"Tech Startup Genius","childNodes":"0","parentPath":"00528-00525-00001"},{"cat_id":"549","cat_name":"Wordpress","short_name":"Wordpress","childNodes":"0","parentPath":"00528-00525-00001"}]},{"cat_id":"551","cat_name":"Computer Science","short_name":"Computer Science","childNodes":"28","parentPath":"00525-00001","sub_categories":[{"cat_id":"552","cat_name":"Algorithms","short_name":"Algorithms","childNodes":"1","parentPath":"00551-00525-00001","sub_categories":[{"cat_id":"630","cat_name":"               ","short_name":"               ","childNodes":"0","parentPath":"00552-00551-00525-00001"}]},{"cat_id":"553","cat_name":"Artificial Intelligence","short_name":"Artificial Intelligence","childNodes":"0","parentPath":"00551-00525-00001"},{"cat_id":"554","cat_name":"Computer Architecture","short_name":"Computer Architecture","childNodes":"0","parentPath":"00551-00525-00001"},{"cat_id":"555","cat_name":"Computer Concepts","short_name":"Computer Concepts","childNodes":"0","parentPath":"00551-00525-00001"},{"cat_id":"556","cat_name":"Computer Literacy","short_name":"Computer Literacy","childNodes":"0","parentPath":"00551-00525-00001"},{"cat_id":"557","cat_name":"Computer Science","short_name":"Computer Science","childNodes":"0","parentPath":"00551-00525-00001"},{"cat_id":"558","cat_name":"Computer Security","short_name":"Computer Security","childNodes":"0","parentPath":"00551-00525-00001"},{"cat_id":"559","cat_name":"Computer Systems","short_name":"Computer Systems","childNodes":"0","parentPath":"00551-00525-00001"},{"cat_id":"560","cat_name":"Computing","short_name":"Computing","childNodes":"0","parentPath":"00551-00525-00001"},{"cat_id":"561","cat_name":"Cybersecurity","short_name":"Cybersecurity","childNodes":"0","parentPath":"00551-00525-00001"},{"cat_id":"562","cat_name":"Data Mining","short_name":"Data Mining","childNodes":"0","parentPath":"00551-00525-00001"},{"cat_id":"563","cat_name":"Data Science","short_name":"Data Science","childNodes":"0","parentPath":"00551-00525-00001"},{"cat_id":"564","cat_name":"Data Structures","short_name":"Data Structures","childNodes":"0","parentPath":"00551-00525-00001"},{"cat_id":"565","cat_name":"Database","short_name":"Database","childNodes":"0","parentPath":"00551-00525-00001"},{"cat_id":"566","cat_name":"Database Management","short_name":"Database Management","childNodes":"0","parentPath":"00551-00525-00001"},{"cat_id":"567","cat_name":"Deep Learning","short_name":"Deep Learning","childNodes":"0","parentPath":"00551-00525-00001"},{"cat_id":"568","cat_name":"Discrete Structures","short_name":"Discrete Structures","childNodes":"0","parentPath":"00551-00525-00001"},{"cat_id":"569","cat_name":"Human Computer Interaction","short_name":"Human Computer Interaction","childNodes":"0","parentPath":"00551-00525-00001"},{"cat_id":"570","cat_name":"Informatics","short_name":"Informatics","childNodes":"0","parentPath":"00551-00525-00001"},{"cat_id":"571","cat_name":"Intro to Computers","short_name":"Intro to Computers","childNodes":"0","parentPath":"00551-00525-00001"},{"cat_id":"572","cat_name":"Machine Learning","short_name":"Machine Learning","childNodes":"0","parentPath":"00551-00525-00001"},{"cat_id":"573","cat_name":"Network Security","short_name":"Network Security","childNodes":"0","parentPath":"00551-00525-00001"},{"cat_id":"574","cat_name":"Networking","short_name":"Networking","childNodes":"0","parentPath":"00551-00525-00001"},{"cat_id":"575","cat_name":"Object Oriented Programming","short_name":"Object Oriented Programming","childNodes":"0","parentPath":"00551-00525-00001"},{"cat_id":"576","cat_name":"Operating Systems","short_name":"Operating Systems","childNodes":"0","parentPath":"00551-00525-00001"},{"cat_id":"577","cat_name":"Programming","short_name":"Programming","childNodes":"0","parentPath":"00551-00525-00001"},{"cat_id":"578","cat_name":"Robotics","short_name":"Robotics","childNodes":"0","parentPath":"00551-00525-00001"},{"cat_id":"579","cat_name":"Software Development","short_name":"Software Development","childNodes":"0","parentPath":"00551-00525-00001"}]},{"cat_id":"581","cat_name":"Engineering","short_name":"Engineering","childNodes":"12","parentPath":"00525-00001","sub_categories":[{"cat_id":"582","cat_name":"Amateur Radio","short_name":"Amateur Radio","childNodes":"0","parentPath":"00581-00525-00001"},{"cat_id":"583","cat_name":"Architecture","short_name":"Architecture","childNodes":"0","parentPath":"00581-00525-00001"},{"cat_id":"584","cat_name":"Circuits","short_name":"Circuits","childNodes":"0","parentPath":"00581-00525-00001"},{"cat_id":"585","cat_name":"Civil Engineering","short_name":"Civil Engineering","childNodes":"0","parentPath":"00581-00525-00001"},{"cat_id":"586","cat_name":"Construction","short_name":"Construction","childNodes":"0","parentPath":"00581-00525-00001"},{"cat_id":"587","cat_name":"Electrical Engineering","short_name":"Electrical Engineering","childNodes":"0","parentPath":"00581-00525-00001"},{"cat_id":"588","cat_name":"Engineering Science","short_name":"Engineering Science","childNodes":"0","parentPath":"00581-00525-00001"},{"cat_id":"589","cat_name":"Materials Science","short_name":"Materials Science","childNodes":"0","parentPath":"00581-00525-00001"},{"cat_id":"590","cat_name":"Mechanical Engineering","short_name":"Mechanical Engineering","childNodes":"0","parentPath":"00581-00525-00001"},{"cat_id":"591","cat_name":"Millwright","short_name":"Millwright","childNodes":"0","parentPath":"00581-00525-00001"},{"cat_id":"592","cat_name":"Morse Code","short_name":"Morse Code","childNodes":"0","parentPath":"00581-00525-00001"},{"cat_id":"593","cat_name":"Power Engineering","short_name":"Power Engineering","childNodes":"0","parentPath":"00581-00525-00001"}]},{"cat_id":"594","cat_name":"Graphic Design","short_name":"Graphic Design","childNodes":"0","parentPath":"00525-00001"},{"cat_id":"595","cat_name":"Information Security","short_name":"Information Security","childNodes":"0","parentPath":"00525-00001"},{"cat_id":"596","cat_name":"Information Technology","short_name":"Information Technology","childNodes":"0","parentPath":"00525-00001"},{"cat_id":"597","cat_name":"Management Information Systems","short_name":"Management Information Systems","childNodes":"0","parentPath":"00525-00001"}]},{"cat_id":"341","cat_name":"Vocations","short_name":"Vocations","childNodes":"24","parentPath":"00001","sub_categories":[{"cat_id":"342","cat_name":"ASVAB","short_name":"ASVAB","childNodes":"0","parentPath":"00341-00001"},{"cat_id":"343","cat_name":"Automotive","short_name":"Automotive","childNodes":"0","parentPath":"00341-00001"},{"cat_id":"344","cat_name":"Aviation","short_name":"Aviation","childNodes":"0","parentPath":"00341-00001"},{"cat_id":"345","cat_name":"Barbering","short_name":"Barbering","childNodes":"0","parentPath":"00341-00001"},{"cat_id":"346","cat_name":"Boating","short_name":"Boating","childNodes":"0","parentPath":"00341-00001"},{"cat_id":"347","cat_name":"Cosmetology","short_name":"Cosmetology","childNodes":"0","parentPath":"00341-00001"},{"cat_id":"348","cat_name":"Diamonds","short_name":"Diamonds","childNodes":"0","parentPath":"00341-00001"},{"cat_id":"349","cat_name":"Electrical","short_name":"Electrical","childNodes":"0","parentPath":"00341-00001"},{"cat_id":"350","cat_name":"Electrician","short_name":"Electrician","childNodes":"0","parentPath":"00341-00001"},{"cat_id":"351","cat_name":"Firefighting","short_name":"Firefighting","childNodes":"0","parentPath":"00341-00001"},{"cat_id":"352","cat_name":"Gardening","short_name":"Gardening","childNodes":"0","parentPath":"00341-00001"},{"cat_id":"353","cat_name":"Home Economics","short_name":"Home Economics","childNodes":"0","parentPath":"00341-00001"},{"cat_id":"354","cat_name":"Horticulture","short_name":"Horticulture","childNodes":"0","parentPath":"00341-00001"},{"cat_id":"355","cat_name":"HVAC","short_name":"HVAC","childNodes":"0","parentPath":"00341-00001"},{"cat_id":"356","cat_name":"Interior Design","short_name":"Interior Design","childNodes":"0","parentPath":"00341-00001"},{"cat_id":"357","cat_name":"Landscape Architecture","short_name":"Landscape Architecture","childNodes":"0","parentPath":"00341-00001"},{"cat_id":"358","cat_name":"Massage Therapy","short_name":"Massage Therapy","childNodes":"0","parentPath":"00341-00001"},{"cat_id":"359","cat_name":"Metallurgy","short_name":"Metallurgy","childNodes":"0","parentPath":"00341-00001"},{"cat_id":"360","cat_name":"Military","short_name":"Military","childNodes":"0","parentPath":"00341-00001"},{"cat_id":"361","cat_name":"Pest Control","short_name":"Pest Control","childNodes":"0","parentPath":"00341-00001"},{"cat_id":"362","cat_name":"Plumbing","short_name":"Plumbing","childNodes":"0","parentPath":"00341-00001"},{"cat_id":"363","cat_name":"Policing","short_name":"Policing","childNodes":"0","parentPath":"00341-00001"},{"cat_id":"364","cat_name":"Wastewater","short_name":"Wastewater","childNodes":"0","parentPath":"00341-00001"},{"cat_id":"365","cat_name":"Welding","short_name":"Welding","childNodes":"0","parentPath":"00341-00001"}]}]}
[13/Apr/2026:14:05:57] (root_api-) token = 66bbc87451ad3590b670daae13ee0619 IP = 169.1.82.177
[13/Apr/2026:14:05:57] (root_api-) op => checklogin ,uname => alhenaude20@gmail.com ,pwd => 8c56e4d0f8c63dd2de2624a9d1a04827 ,clid => 66bbc87451ad3590b670daae13ee0619 ,serviceName => login_data ,
[13/Apr/2026:14:05:57] (root_api-) OP= checklogin of page root_api.php
[13/Apr/2026:14:05:57] (root_api-) serviceName login_data
[13/Apr/2026:14:05:57] (root_api-) Query~SELECT tbl_user_master.user_id,user_name,role_id,isAdmin,isActive,first_name,last_name,email,mobile,tbl_user_master.creation_date, tbl_user_details.profile_picture FROM tbl_user_master LEFT JOIN tbl_user_details ON tbl_user_details.user_id=tbl_user_master.user_id  WHERE email='alhenaude20@gmail.com' AND password='8c56e4d0f8c63dd2de2624a9d1a04827'~2026-04-13 14:05:57:0457~2026-04-13 14:05:57~success
[13/Apr/2026:14:05:57] (root_api-) Query~SELECT count(reg_id) AS verifiedCount, reg_status, reg_id, reg_type, resend_count
								FROM tbl_register WHERE reg_type='register' AND user_id='184'~2026-04-13 14:05:57:0457~2026-04-13 14:05:57~success
[13/Apr/2026:14:05:57] (root_api-) Query~SELECT ur.right_id,ur.right_key FROM vw_user_rights ur 
										WHERE ur.user_id='184' 
										AND ur.effective_right_value=1~2026-04-13 14:05:57:0457~2026-04-13 14:05:57~success
[13/Apr/2026:14:05:57] (root_api-) Query~SELECT * FROM tbl_user_org WHERE role_id='3' AND user_id='184'~2026-04-13 14:05:57:0457~2026-04-13 14:05:57~success
[13/Apr/2026:14:05:57] (root_api-) Query~SELECT count(cu.user_id) as my_course_count
	FROM tbl_course c
	INNER JOIN tbl_course_users cu ON c.course_id=cu.course_id
	INNER JOIN tbl_org org ON c.org_id=org.org_id
	WHERE c.status IN('Published') AND cu.user_id = '184'~2026-04-13 14:05:57:0457~2026-04-13 14:05:57~success
[13/Apr/2026:14:05:57] (root_api-) Final JSON =  {"status":"ok",
											"message":"login done successfully",
											"Errorcode":"",
											"data":{"user_id":"184","user_name":"","role_id":"3","isAdmin":null,"isActive":"1","first_name":"Alhena","last_name":"Udemans","email":"alhenaude20@gmail.com","mobile":"0678038927","creation_date":"2025-07-03 11:29:28","profile_picture":null,"user_rights":"","user_details":{"user_id":"184","user_name":"","role_id":"3","isAdmin":null,"isActive":"1","first_name":"Alhena","last_name":"Udemans","email":"alhenaude20@gmail.com","mobile":"0678038927","creation_date":"03 Jul 2025","action":"Login","profile_picture":null,"org_id":"1","userEnrolledCourse":"0"}}}
[13/Apr/2026:14:05:57] (root_api-) token = 66bbc87451ad3590b670daae13ee0619 IP = 169.1.82.177
[13/Apr/2026:14:05:57] (root_api-) op => getSwitchRoles ,user_id => 184 ,org_id => 1 ,clid => 66bbc87451ad3590b670daae13ee0619 ,serviceName => user_data ,
[13/Apr/2026:14:05:57] (root_api-) OP= getSwitchRoles of page root_api.php
[13/Apr/2026:14:05:57] (root_api-) Query~SELECT count(u.user_id) as cnt FROM tbl_user_master u WHERE u.isActive = '1' AND u.user_id ='184'~2026-04-13 14:05:57:0457~2026-04-13 14:05:57~success
[13/Apr/2026:14:05:57] (root_api-) Query~SELECT count(1) as cnt FROM tbl_org  WHERE status = 'Active' AND org_id ='1'~2026-04-13 14:05:57:0457~2026-04-13 14:05:57~success
[13/Apr/2026:14:05:57] (root_api-) Query~SELECT count(1) as cnt FROM tbl_user_org u WHERE u.status = 'Active' AND u.user_id ='184' AND  org_id ='1'~2026-04-13 14:05:57:0457~2026-04-13 14:05:57~success
[13/Apr/2026:14:05:57] (root_api-) serviceName user_data
[13/Apr/2026:14:05:57] (root_api-) Query~SELECT u.user_org_id, u.org_id, u.role_id, um.email,o.org_name,r.role_name,o.short_name,CONCAT(u.role_id,'_',u.org_id) as user_org_role
            FROM tbl_user_org u 
            inner join tbl_org o on u.org_id=o.org_id
            inner join tbl_role_master r on r.role_id=u.role_id
            inner join tbl_user_master um on u.user_id = um.user_id
            where u.user_id= 184~2026-04-13 14:05:57:0457~2026-04-13 14:05:57~success
[13/Apr/2026:14:05:57] (root_api-) Final JSON =  {"status":"ok","message":"User Details fetched Successfully!!","Errorcode":"","data":[{"user_org_id":"225","org_id":"1","role_id":"3","email":"alhenaude20@gmail.com","org_name":"University Of Cape Town","role_name":"Learner","short_name":"UCT","user_org_role":"3_1"},{"user_org_id":"226","org_id":"2","role_id":"2","email":"alhenaude20@gmail.com","org_name":"C-Institute","role_name":"Educator","short_name":"C-Institute","user_org_role":"2_2"}]}
[13/Apr/2026:14:05:58] (root_api-) token = 66bbc87451ad3590b670daae13ee0619 IP = 169.1.82.177
[13/Apr/2026:14:05:58] (root_api-) op => getUserOrganizations ,user_id => 184 ,clid => 66bbc87451ad3590b670daae13ee0619 ,serviceName => user_data ,
[13/Apr/2026:14:05:58] (root_api-) OP= getUserOrganizations of page root_api.php
[13/Apr/2026:14:05:58] (root_api-) Query~SELECT count(u.user_id) as cnt FROM tbl_user_master u WHERE u.isActive = '1' AND u.user_id ='184'~2026-04-13 14:05:58:0458~2026-04-13 14:05:58~success
[13/Apr/2026:14:05:58] (root_api-) serviceName user_data
[13/Apr/2026:14:05:58] (root_api-) Query~SELECT org.org_id, org.org_name, uo.role_id FROM tbl_user_org uo, tbl_org org WHERE uo.org_id = org.org_id AND uo.role_id = 3 AND uo.user_id = 184~2026-04-13 14:05:58:0458~2026-04-13 14:05:58~success
[13/Apr/2026:14:05:58] (root_api-) Final JSON =  {"status":"ok","message":"User Details fetched Successfully!!","Errorcode":"","data":[{"org_id":"1","org_name":"University Of Cape Town","role_id":"3"}]}
[13/Apr/2026:14:05:58] (root_api-) token = 66bbc87451ad3590b670daae13ee0619 IP = 169.1.82.177
[13/Apr/2026:14:05:58] (root_api-) op => getcourses ,learner_id => 184 ,course_status =>  ,layout => grid ,clid => 66bbc87451ad3590b670daae13ee0619 ,serviceName => course_data ,
[13/Apr/2026:14:05:58] (root_api-) OP= getcourses of page root_api.php
[13/Apr/2026:14:05:58] (root_api-) Query~SELECT count(u.user_id) as cnt FROM tbl_user_master u WHERE u.isActive = '1' AND u.user_id ='184'~2026-04-13 14:05:58:0458~2026-04-13 14:05:58~success
[13/Apr/2026:14:05:58] (root_api-) serviceName course_data
[13/Apr/2026:14:05:58] (root_api-) Query~SELECT c.*,cu.enroll_date, cu.start_date, cu.status as courseUserStatus, org.org_name
    							FROM tbl_course c
    							INNER JOIN tbl_course_users cu ON c.course_id=cu.course_id
                                INNER JOIN tbl_org org ON c.org_id=org.org_id
    							WHERE c.status IN('Published') AND cu.user_id = '184'ORDER BY c.course_id DESC~2026-04-13 14:05:58:0458~2026-04-13 14:05:58~success
[13/Apr/2026:14:05:58] (root_api-) Query~SELECT COUNT(1) AS courseEnrolled FROM tbl_course_users cu WHERE cu.user_id = '184'~2026-04-13 14:05:58:0458~2026-04-13 14:05:58~success
[13/Apr/2026:14:05:58] (root_api-) Final JSON =  {"status":"ok",
                "message":"",
                "Errorcode":"",
                "data":{"courseEnrolled":"0","layout":"grid"}}
[13/Apr/2026:14:05:59] (root_api-) token = 66bbc87451ad3590b670daae13ee0619 IP = 169.1.82.177
[13/Apr/2026:14:05:59] (root_api-) op => api-refresh ,clid => 66bbc87451ad3590b670daae13ee0619 ,serviceName => common_data ,
[13/Apr/2026:14:05:59] (root_api-) OP= api-refresh of page root_api.php
[13/Apr/2026:14:05:59] (root_api-) serviceName common_data
[13/Apr/2026:14:05:59] (root_api-) Final JSON =  {"status":"ok","message":"","Errorcode":"","data":""}
[13/Apr/2026:14:06:05] (root_api-) token =  IP = 169.1.82.177
[13/Apr/2026:14:06:05] (root_api-) 
[13/Apr/2026:14:06:05] (root_api-) OP=  of page root_api.php
[13/Apr/2026:14:06:05] (root_api-) Final JSON =  { "status":"error",
					"message":"Invalid Session",
					"Errorcode":"err100",
					"data":{}}
[13/Apr/2026:14:06:05] (root_api-) token = 66bbc87451ad3590b670daae13ee0619 IP = 169.1.82.177
[13/Apr/2026:14:06:05] (root_api-) op => getSwitchRoles ,user_id => 184 ,org_id => 1 ,clid => 66bbc87451ad3590b670daae13ee0619 ,serviceName => user_data ,
[13/Apr/2026:14:06:05] (root_api-) OP= getSwitchRoles of page root_api.php
[13/Apr/2026:14:06:05] (root_api-) Query~SELECT count(u.user_id) as cnt FROM tbl_user_master u WHERE u.isActive = '1' AND u.user_id ='184'~2026-04-13 14:06:05:0405~2026-04-13 14:06:05~success
[13/Apr/2026:14:06:05] (root_api-) Query~SELECT count(1) as cnt FROM tbl_org  WHERE status = 'Active' AND org_id ='1'~2026-04-13 14:06:05:0405~2026-04-13 14:06:05~success
[13/Apr/2026:14:06:05] (root_api-) Query~SELECT count(1) as cnt FROM tbl_user_org u WHERE u.status = 'Active' AND u.user_id ='184' AND  org_id ='1'~2026-04-13 14:06:05:0405~2026-04-13 14:06:05~success
[13/Apr/2026:14:06:05] (root_api-) serviceName user_data
[13/Apr/2026:14:06:05] (root_api-) Query~SELECT u.user_org_id, u.org_id, u.role_id, um.email,o.org_name,r.role_name,o.short_name,CONCAT(u.role_id,'_',u.org_id) as user_org_role
            FROM tbl_user_org u 
            inner join tbl_org o on u.org_id=o.org_id
            inner join tbl_role_master r on r.role_id=u.role_id
            inner join tbl_user_master um on u.user_id = um.user_id
            where u.user_id= 184~2026-04-13 14:06:05:0405~2026-04-13 14:06:05~success
[13/Apr/2026:14:06:05] (root_api-) Final JSON =  {"status":"ok","message":"User Details fetched Successfully!!","Errorcode":"","data":[{"user_org_id":"225","org_id":"1","role_id":"3","email":"alhenaude20@gmail.com","org_name":"University Of Cape Town","role_name":"Learner","short_name":"UCT","user_org_role":"3_1"},{"user_org_id":"226","org_id":"2","role_id":"2","email":"alhenaude20@gmail.com","org_name":"C-Institute","role_name":"Educator","short_name":"C-Institute","user_org_role":"2_2"}]}
[13/Apr/2026:14:06:05] (root_api-) token =  IP = 169.1.82.177
[13/Apr/2026:14:06:05] (root_api-) 
[13/Apr/2026:14:06:05] (root_api-) OP=  of page root_api.php
[13/Apr/2026:14:06:05] (root_api-) Final JSON =  { "status":"error",
					"message":"Invalid Session",
					"Errorcode":"err100",
					"data":{}}
[13/Apr/2026:14:06:05] (root_api-) token = 66bbc87451ad3590b670daae13ee0619 IP = 169.1.82.177
[13/Apr/2026:14:06:05] (root_api-) op => getCourseReport ,learner_id => 184 ,sortCol =>  ,clid => 66bbc87451ad3590b670daae13ee0619 ,serviceName => report_data ,
[13/Apr/2026:14:06:05] (root_api-) OP= getCourseReport of page root_api.php
[13/Apr/2026:14:06:05] (root_api-) Query~SELECT count(u.user_id) as cnt FROM tbl_user_master u WHERE u.isActive = '1' AND u.user_id ='184'~2026-04-13 14:06:05:0405~2026-04-13 14:06:05~success
[13/Apr/2026:14:06:05] (root_api-) serviceName report_data
[13/Apr/2026:14:06:05] (root_api-) Query~SELECT tcu.course_id,IFNULL(ROUND(sum(tucp.question_time+ tucp.feedback_time)),0) AS avgTime 
	FROM tbl_user_course_progress tucp
	INNER JOIN tbl_course_users tcu ON tcu.enroll_id = tucp.enroll_id AND tcu.user_id = '184'  
	GROUP BY tucp.enroll_id~2026-04-13 14:06:05:0405~2026-04-13 14:06:05~success
[13/Apr/2026:14:06:06] (root_api-) Query~SELECT tc.course_name,tc.course_id, COUNT(DISTINCT tcd.course_deck_id) AS DeckCount
                ,IFNULL(date_format(tcu.enroll_date, '%d-%m-%Y'),'') AS enrollDate, 
                IFNULL(date_format(tcu.last_access_date, '%d-%m-%Y'), '') AS lastAccessedDate,
                 COUNT(DISTINCT dc.deck_card_id)*cud.cycle_count  AS totalCards, 
                 COUNT(DISTINCT tcuc.enroll_card_id) AS completedCardsCount,
                 cud.cycle_count 
                 FROM tbl_course tc
                 INNER JOIN tbl_course_deck tcd ON tcd.course_id = tc.course_id
                 INNER JOIN tbl_deck d ON d.deck_id = tcd.deck_id AND d.`status` IN ('Published') AND d.deck_type = 'main'
                 INNER JOIN tbl_deck_card dc ON dc.deck_id = tcd.deck_id
                 INNER JOIN tbl_card c ON c.card_id = dc.card_id AND c.card_type= 'main' AND c.`status` IN('Published') 
				  AND (c.question_text <> '' AND c.question_text IS NOT NULL)
                 INNER JOIN tbl_course_users tcu ON tcu.course_id = tc.course_id AND tcu.user_id='184'
                 INNER JOIN tbl_course_users_decks cud ON cud.enroll_id = tcu.enroll_id
                 LEFT JOIN tbl_course_users_cards tcuc ON tcuc.enroll_deck_id = cud.enroll_deck_id AND tcuc.`status` IN('Complete')
                 WHERE tc.`status` IN('Published') 
                 GROUP BY tc.course_id~2026-04-13 14:06:05:0405~2026-04-13 14:06:06~success
[13/Apr/2026:14:06:06] (root_api-) Final JSON =  {"status":"ok","message":"","Errorcode":"","data":[]}
[13/Apr/2026:14:06:06] (root_api-) token = 66bbc87451ad3590b670daae13ee0619 IP = 169.1.82.177
[13/Apr/2026:14:06:06] (root_api-) op => api-refresh ,clid => 66bbc87451ad3590b670daae13ee0619 ,serviceName => common_data ,
[13/Apr/2026:14:06:06] (root_api-) OP= api-refresh of page root_api.php
[13/Apr/2026:14:06:06] (root_api-) serviceName common_data
[13/Apr/2026:14:06:06] (root_api-) Final JSON =  {"status":"ok","message":"","Errorcode":"","data":""}
[13/Apr/2026:14:06:13] (root_api-) token =  IP = 169.1.82.177
[13/Apr/2026:14:06:13] (root_api-) 
[13/Apr/2026:14:06:13] (root_api-) OP=  of page root_api.php
[13/Apr/2026:14:06:13] (root_api-) Final JSON =  { "status":"error",
					"message":"Invalid Session",
					"Errorcode":"err100",
					"data":{}}
[13/Apr/2026:14:06:13] (root_api-) token =  IP = 169.1.82.177
[13/Apr/2026:14:06:13] (root_api-) 
[13/Apr/2026:14:06:13] (root_api-) OP=  of page root_api.php
[13/Apr/2026:14:06:13] (root_api-) Final JSON =  { "status":"error",
					"message":"Invalid Session",
					"Errorcode":"err100",
					"data":{}}
[13/Apr/2026:14:06:13] (root_api-) token = 66bbc87451ad3590b670daae13ee0619 IP = 169.1.82.177
[13/Apr/2026:14:06:13] (root_api-) token =  IP = 169.1.82.177
[13/Apr/2026:14:06:13] (root_api-) op => getSwitchRoles ,user_id => 184 ,org_id => 1 ,clid => 66bbc87451ad3590b670daae13ee0619 ,serviceName => user_data ,
[13/Apr/2026:14:06:13] (root_api-) 
[13/Apr/2026:14:06:13] (root_api-) OP= getSwitchRoles of page root_api.php
[13/Apr/2026:14:06:13] (root_api-) OP=  of page root_api.php
[13/Apr/2026:14:06:13] (root_api-) Final JSON =  { "status":"error",
					"message":"Invalid Session",
					"Errorcode":"err100",
					"data":{}}
[13/Apr/2026:14:06:13] (root_api-) Query~SELECT count(u.user_id) as cnt FROM tbl_user_master u WHERE u.isActive = '1' AND u.user_id ='184'~2026-04-13 14:06:13:0413~2026-04-13 14:06:13~success
[13/Apr/2026:14:06:13] (root_api-) Query~SELECT count(1) as cnt FROM tbl_org  WHERE status = 'Active' AND org_id ='1'~2026-04-13 14:06:13:0413~2026-04-13 14:06:13~success
[13/Apr/2026:14:06:13] (root_api-) Query~SELECT count(1) as cnt FROM tbl_user_org u WHERE u.status = 'Active' AND u.user_id ='184' AND  org_id ='1'~2026-04-13 14:06:13:0413~2026-04-13 14:06:13~success
[13/Apr/2026:14:06:13] (root_api-) serviceName user_data
[13/Apr/2026:14:06:13] (root_api-) Query~SELECT u.user_org_id, u.org_id, u.role_id, um.email,o.org_name,r.role_name,o.short_name,CONCAT(u.role_id,'_',u.org_id) as user_org_role
            FROM tbl_user_org u 
            inner join tbl_org o on u.org_id=o.org_id
            inner join tbl_role_master r on r.role_id=u.role_id
            inner join tbl_user_master um on u.user_id = um.user_id
            where u.user_id= 184~2026-04-13 14:06:13:0413~2026-04-13 14:06:13~success
[13/Apr/2026:14:06:13] (root_api-) Final JSON =  {"status":"ok","message":"User Details fetched Successfully!!","Errorcode":"","data":[{"user_org_id":"225","org_id":"1","role_id":"3","email":"alhenaude20@gmail.com","org_name":"University Of Cape Town","role_name":"Learner","short_name":"UCT","user_org_role":"3_1"},{"user_org_id":"226","org_id":"2","role_id":"2","email":"alhenaude20@gmail.com","org_name":"C-Institute","role_name":"Educator","short_name":"C-Institute","user_org_role":"2_2"}]}
[13/Apr/2026:14:06:13] (root_api-) token = 66bbc87451ad3590b670daae13ee0619 IP = 169.1.82.177
[13/Apr/2026:14:06:13] (root_api-) op => getcourses ,learner_id => 184 ,course_status =>  ,current_role => 2_2 ,org_id => 2 ,layout => grid ,clid => 66bbc87451ad3590b670daae13ee0619 ,serviceName => course_data ,
[13/Apr/2026:14:06:13] (root_api-) OP= getcourses of page root_api.php
[13/Apr/2026:14:06:13] (root_api-) Query~SELECT count(u.user_id) as cnt FROM tbl_user_master u WHERE u.isActive = '1' AND u.user_id ='184'~2026-04-13 14:06:13:0413~2026-04-13 14:06:13~success
[13/Apr/2026:14:06:13] (root_api-) Query~SELECT count(1) as cnt FROM tbl_org  WHERE status = 'Active' AND org_id ='2'~2026-04-13 14:06:13:0413~2026-04-13 14:06:13~success
[13/Apr/2026:14:06:13] (root_api-) Query~SELECT count(1) as cnt FROM tbl_user_org u WHERE u.status = 'Active' AND u.user_id ='184' AND  org_id ='2'~2026-04-13 14:06:13:0413~2026-04-13 14:06:13~success
[13/Apr/2026:14:06:13] (root_api-) serviceName course_data
[13/Apr/2026:14:06:13] (root_api-) Query~SELECT c.*, org.org_name, IF((SELECT count(*) from tbl_course c1 WHERE c.course_parent_id= c1.course_parent_id AND (c.version + 1) = c1.version) > 0, 'PublishedWithDraft',c.status) AS status, ce.ed_role
                FROM tbl_course c
                INNER JOIN tbl_org org ON c.org_id=org.org_id
                INNER JOIN tbl_course_educator ce ON ce.course_id=c.course_id AND user_id = '184'
                WHERE org.org_id = 2 AND (c.status IN('Published') OR (c.status='Draft' AND c.version = 1))ORDER BY c.course_id DESC~2026-04-13 14:06:13:0413~2026-04-13 14:06:13~success
[13/Apr/2026:14:06:13] (root_api-) Query~SELECT course_id, COUNT(course_id) AS enroll_user_count FROM tbl_course_users 
                WHERE course_id IN (25) GROUP BY course_id~2026-04-13 14:06:13:0413~2026-04-13 14:06:13~success
[13/Apr/2026:14:06:13] (root_api-) token = 66bbc87451ad3590b670daae13ee0619 IP = 169.1.82.177
[13/Apr/2026:14:06:13] (root_api-) op => getCourseRoles ,clid => 66bbc87451ad3590b670daae13ee0619 ,serviceName => course_data ,
[13/Apr/2026:14:06:13] (root_api-) OP= getCourseRoles of page root_api.php
[13/Apr/2026:14:06:13] (root_api-) serviceName course_data
[13/Apr/2026:14:06:13] (root_api-) Query~SELECT first_name, last_name FROM tbl_user_master WHERE user_id = 184~2026-04-13 14:06:13:0413~2026-04-13 14:06:13~success
[13/Apr/2026:14:06:13] (root_api-) Query~SELECT course_id, course_image FROM tbl_course_images
                WHERE course_id IN (25) AND course_image IS NOT NULL AND course_image !=''  AND sequence = '1' AND status ='Active'~2026-04-13 14:06:13:0413~2026-04-13 14:06:13~success
[13/Apr/2026:14:06:13] (root_api-) Query~SELECT tce.course_id, um.first_name, um.last_name FROM tbl_course_educator tce LEFT JOIN tbl_user_master um ON um.user_id = tce.user_id
				WHERE tce.course_id IN (25) AND tce.ed_role IN('author') GROUP BY tce.course_id~2026-04-13 14:06:13:0413~2026-04-13 14:06:13~success
[13/Apr/2026:14:06:13] (root_api-) Query~SELECT tld.optionid, tld.display_name,tld.data_value FROM tbl_lookup_detail tld, tbl_lookup tl WHERE tl.dev_name = 'course_role' AND tl.keyid=tld.keyid ORDER BY tld.sequence~2026-04-13 14:06:13:0413~2026-04-13 14:06:13~success
[13/Apr/2026:14:06:13] (root_api-) Final JSON =  {"status":"ok","message":"Roles fetched Successfully","Errorcode":"","data":[{"optionid":"13","display_name":"Author","data_value":"author"},{"optionid":"14","display_name":"Editor","data_value":"editor"},{"optionid":"12","display_name":"Approver","data_value":"approver"},{"optionid":"15","display_name":"Reader","data_value":"reader"}]}
[13/Apr/2026:14:06:13] (root_api-) Query~SELECT cd.course_id, COUNT(dc.card_id) AS cardscount 
                FROM tbl_deck_card dc
                INNER JOIN tbl_course_deck cd ON dc.deck_id = cd.deck_id
                INNER JOIN tbl_deck d ON d.deck_id = cd.deck_id AND d.deck_type='main'
                INNER JOIN tbl_card card ON card.card_id = dc.card_id AND card.card_type = 'main'
                WHERE cd.course_id IN (25) AND card.question_text!='' AND card.answer_text !=''
                GROUP BY cd.course_id~2026-04-13 14:06:13:0413~2026-04-13 14:06:13~success
[13/Apr/2026:14:06:13] (root_api-) Query~SELECT cd.course_id, COUNT(1) AS deckcount 
                FROM tbl_course_deck cd 
                INNER JOIN tbl_deck d ON d.deck_id = cd.deck_id AND d.deck_type='main'
                WHERE cd.course_id IN(25)
                GROUP BY cd.course_id~2026-04-13 14:06:13:0413~2026-04-13 14:06:13~success
[13/Apr/2026:14:06:13] (root_api-) Query~SELECT preference FROM tbl_course_user_preference WHERE course_id = '25' AND status IN('active') AND user_id = '184' ORDER BY action_time DESC~2026-04-13 14:06:13:0413~2026-04-13 14:06:13~success
[13/Apr/2026:14:06:13] (root_api-) Query~SELECT COUNT(1) as prefLikeCount FROM tbl_course_user_preference WHERE course_id = '25' AND status IN('active')~2026-04-13 14:06:13:0413~2026-04-13 14:06:13~success
[13/Apr/2026:14:06:13] (root_api-) Query~SELECT COUNT(1) AS courseEnrolled FROM tbl_course_users cu WHERE cu.user_id = '184'~2026-04-13 14:06:13:0413~2026-04-13 14:06:13~success
[13/Apr/2026:14:06:13] (root_api-) Final JSON =  {"status":"ok",
                "message":"",
                "Errorcode":"",
                "data":{"my_course_count":1,"info":[{"course_id":"25","course_name":"Grade 8 Mathematics","course_version":"1","course_short_name":null,"course_status":null,"course_desc":"Grade 8 Mathematics aims to build strong foundational skills required to prepare learners for higher grades of mathematics and develop strong, appropriate mathematical reasoning and logical thinking. ","course_brief":null,"creation_date":"2025-07-16 13:21:03","launch_date":"271 day's ago","created_by":"184","organization_name":"C-Institute","background_color":"","text_color":"","course_image":"https:\/\/bo.coglearn.cioinfotech.com\/upload\/courses\/course-thumb.jpg","course_enroll_user_count":0,"deck_count":"26","cardscount":"1317","course_like_count":"","course_like_percentage":100,"course_duration":"16","courseStatus":"Draft","ed_role":"author","author":"Alhena Udemans"}],"preference":"","courseEnrolled":"0","layout":"grid"}}
[13/Apr/2026:14:06:13] (root_api-) token = 66bbc87451ad3590b670daae13ee0619 IP = 169.1.82.177
[13/Apr/2026:14:06:13] (root_api-) op => allcourses ,learner_id => 184 ,course_status =>  ,clid => 66bbc87451ad3590b670daae13ee0619 ,serviceName => course_data ,
[13/Apr/2026:14:06:13] (root_api-) OP= allcourses of page root_api.php
[13/Apr/2026:14:06:13] (root_api-) Query~SELECT count(u.user_id) as cnt FROM tbl_user_master u WHERE u.isActive = '1' AND u.user_id ='184'~2026-04-13 14:06:13:0413~2026-04-13 14:06:13~success
[13/Apr/2026:14:06:13] (root_api-) serviceName course_data
[13/Apr/2026:14:06:13] (root_api-) allcourses : [1] Get Course master data and organisation name.
[13/Apr/2026:14:06:13] (root_api-) Query~SELECT c.*, org.org_name
                        FROM tbl_course c
                        INNER JOIN tbl_org org ON c.org_id=org.org_id
                        WHERE c.status IN('Published') AND c.course_id NOT IN(
                SELECT cu.course_id FROM tbl_course_users cu
            WHERE cu.user_id = '184')ORDER BY c.course_id DESC~2026-04-13 14:06:13:0413~2026-04-13 14:06:13~success
[13/Apr/2026:14:06:13] (root_api-) allcourses : [2] Get the count of courses user enrolled in.
[13/Apr/2026:14:06:13] (root_api-) Query~SELECT course_id, COUNT(course_id) AS enroll_user_count FROM tbl_course_users 
                WHERE course_id IN (1) GROUP BY course_id~2026-04-13 14:06:13:0413~2026-04-13 14:06:13~success
[13/Apr/2026:14:06:13] (root_api-) Query~SELECT course_id, course_image  FROM tbl_course_images
            WHERE course_id IN (1) AND sequence = '1'~2026-04-13 14:06:13:0413~2026-04-13 14:06:13~success
[13/Apr/2026:14:06:13] (root_api-) Query~SELECT cd.course_id, COUNT(1) AS cardscount 
             FROM tbl_deck_card dc
             INNER JOIN tbl_course_deck cd ON dc.deck_id = cd.deck_id
             INNER JOIN tbl_deck d ON d.deck_id = cd.deck_id AND d.deck_type='main'
             INNER JOIN tbl_card card ON card.card_id = dc.card_id AND card.card_type = 'main'
             WHERE cd.course_id IN (1)
             GROUP BY cd.course_id~2026-04-13 14:06:13:0413~2026-04-13 14:06:13~success
[13/Apr/2026:14:06:13] (root_api-) Query~SELECT cd.course_id, COUNT(1) AS deckcount 
            FROM tbl_course_deck cd 
            INNER JOIN tbl_deck d ON d.deck_id = cd.deck_id AND d.deck_type='main'
            WHERE cd.course_id IN(1)
            GROUP BY cd.course_id~2026-04-13 14:06:13:0413~2026-04-13 14:06:13~success
[13/Apr/2026:14:06:13] (root_api-) Query~SELECT preference FROM tbl_course_user_preference WHERE course_id = '1' AND status IN('active')AND user_id = '184' ORDER BY action_time DESC~2026-04-13 14:06:13:0413~2026-04-13 14:06:13~success
[13/Apr/2026:14:06:13] (root_api-) Query~SELECT COUNT(1) as prefLikeCount FROM tbl_course_user_preference WHERE course_id = '1' AND status IN('active')~2026-04-13 14:06:13:0413~2026-04-13 14:06:13~success
[13/Apr/2026:14:06:13] (root_api-) Final JSON =  {"status":"ok",
            "message":"",
            "Errorcode":"",
            "data":{"info":[{"course_id":"1","course_name":"Applied Complexity Science","course_short_name":null,"course_status":"","course_desc":"This course will expose students to a range of niche complexity science areas. It will share both theoretical insights, as well as offer practice tools to ensure development of applied complexity skills to tame modern interlocked problems.","course_brief":"Develop skill and tools to deal with taming complex problems","creation_date":"2022-05-04 12:57:26","launch_date":"1440 day's ago","created_by":"1","organization_name":"University Of Cape Town","course_image":"https:\/\/bo.coglearn.cioinfotech.com\/upload\/courses\/course_1\/CE applied complexity science.png","course_enroll_user_count":"122","deck_count":"20","cardscount":"961","course_like_count":"54","course_like_percentage":100,"course_duration":"50"}],"preference":""}}
[13/Apr/2026:14:06:14] (root_api-) token = 66bbc87451ad3590b670daae13ee0619 IP = 169.1.82.177
[13/Apr/2026:14:06:14] (root_api-) op => api-refresh ,clid => 66bbc87451ad3590b670daae13ee0619 ,serviceName => common_data ,
[13/Apr/2026:14:06:14] (root_api-) OP= api-refresh of page root_api.php
[13/Apr/2026:14:06:14] (root_api-) serviceName common_data
[13/Apr/2026:14:06:14] (root_api-) Final JSON =  {"status":"ok","message":"","Errorcode":"","data":""}
[13/Apr/2026:14:06:27] (root_api-) token =  IP = 169.1.82.177
[13/Apr/2026:14:06:27] (root_api-) 
[13/Apr/2026:14:06:27] (root_api-) OP=  of page root_api.php
[13/Apr/2026:14:06:27] (root_api-) Final JSON =  { "status":"error",
					"message":"Invalid Session",
					"Errorcode":"err100",
					"data":{}}
[13/Apr/2026:14:06:27] (root_api-) token =  IP = 169.1.82.177
[13/Apr/2026:14:06:27] (root_api-) token = 66bbc87451ad3590b670daae13ee0619 IP = 169.1.82.177
[13/Apr/2026:14:06:27] (root_api-) 
[13/Apr/2026:14:06:27] (root_api-) op => getCourseDetail ,course_id => 25 ,clid => 66bbc87451ad3590b670daae13ee0619 ,serviceName => course_data ,
[13/Apr/2026:14:06:27] (root_api-) OP= getCourseDetail of page root_api.php
[13/Apr/2026:14:06:27] (root_api-) OP=  of page root_api.php
[13/Apr/2026:14:06:27] (root_api-) serviceName course_data
[13/Apr/2026:14:06:27] (root_api-) Final JSON =  { "status":"error",
					"message":"Invalid Session",
					"Errorcode":"err100",
					"data":{}}
[13/Apr/2026:14:06:27] (root_api-) Query~SELECT * FROM tbl_course where course_id = '25' AND status NOT IN('Discard')~2026-04-13 14:06:27:0427~2026-04-13 14:06:27~success
[13/Apr/2026:14:06:27] (root_api-) Query~SELECT course_image_id, course_image, sequence, status FROM tbl_course_images where course_id = 25 ORDER BY sequence DESC~2026-04-13 14:06:27:0427~2026-04-13 14:06:27~success
[13/Apr/2026:14:06:27] (root_api-) Query~select course_id as prev_course_id from tbl_course where course_parent_id = 25 AND version = 0 AND status NOT IN('Discard')~2026-04-13 14:06:27:0427~2026-04-13 14:06:27~success
[13/Apr/2026:14:06:27] (root_api-) Query~select course_id as next_course_id from tbl_course where course_parent_id = 25 AND version = 2 AND status NOT IN('Discard')~2026-04-13 14:06:27:0427~2026-04-13 14:06:27~success
[13/Apr/2026:14:06:27] (root_api-) Final JSON =  {"status":"ok","message":"Course Details fetched Successfully","Errorcode":"","data":[{"course_id":"25","course_parent_id":"25","version":"1","org_id":"2","course_name":"Grade 8 Mathematics","short_name":"","status":"Draft","eval_id":"1","course_desc":"Grade 8 Mathematics aims to build strong foundational skills required to prepare learners for higher grades of mathematics and develop strong, appropriate mathematical reasoning and logical thinking. ","amount":"0","currency":null,"pay_type":"paid","course_brief":null,"course_duration":"16","background_color":"","text_color":"","creation_date":"2025-07-16 13:21:03","created_by":"184","updation_date":"2026-01-07 12:53:22","updated_by":"184","images":[],"parentid":"","childid":""}]}
[13/Apr/2026:14:06:27] (root_api-) token = 66bbc87451ad3590b670daae13ee0619 IP = 169.1.82.177
[13/Apr/2026:14:06:27] (root_api-) op => getSwitchRoles ,user_id => 184 ,org_id => 1 ,clid => 66bbc87451ad3590b670daae13ee0619 ,serviceName => user_data ,
[13/Apr/2026:14:06:27] (root_api-) OP= getSwitchRoles of page root_api.php
[13/Apr/2026:14:06:27] (root_api-) Query~SELECT count(u.user_id) as cnt FROM tbl_user_master u WHERE u.isActive = '1' AND u.user_id ='184'~2026-04-13 14:06:27:0427~2026-04-13 14:06:27~success
[13/Apr/2026:14:06:27] (root_api-) Query~SELECT count(1) as cnt FROM tbl_org  WHERE status = 'Active' AND org_id ='1'~2026-04-13 14:06:27:0427~2026-04-13 14:06:27~success
[13/Apr/2026:14:06:27] (root_api-) Query~SELECT count(1) as cnt FROM tbl_user_org u WHERE u.status = 'Active' AND u.user_id ='184' AND  org_id ='1'~2026-04-13 14:06:27:0427~2026-04-13 14:06:27~success
[13/Apr/2026:14:06:27] (root_api-) serviceName user_data
[13/Apr/2026:14:06:27] (root_api-) Query~SELECT u.user_org_id, u.org_id, u.role_id, um.email,o.org_name,r.role_name,o.short_name,CONCAT(u.role_id,'_',u.org_id) as user_org_role
            FROM tbl_user_org u 
            inner join tbl_org o on u.org_id=o.org_id
            inner join tbl_role_master r on r.role_id=u.role_id
            inner join tbl_user_master um on u.user_id = um.user_id
            where u.user_id= 184~2026-04-13 14:06:27:0427~2026-04-13 14:06:27~success
[13/Apr/2026:14:06:27] (root_api-) Final JSON =  {"status":"ok","message":"User Details fetched Successfully!!","Errorcode":"","data":[{"user_org_id":"225","org_id":"1","role_id":"3","email":"alhenaude20@gmail.com","org_name":"University Of Cape Town","role_name":"Learner","short_name":"UCT","user_org_role":"3_1"},{"user_org_id":"226","org_id":"2","role_id":"2","email":"alhenaude20@gmail.com","org_name":"C-Institute","role_name":"Educator","short_name":"C-Institute","user_org_role":"2_2"}]}
[13/Apr/2026:14:06:27] (root_api-) token = 66bbc87451ad3590b670daae13ee0619 IP = 169.1.82.177
[13/Apr/2026:14:06:27] (root_api-) op => getUsersCourseRole ,user_id => 184 ,course_id => 25 ,clid => 66bbc87451ad3590b670daae13ee0619 ,serviceName => course_data ,
[13/Apr/2026:14:06:27] (root_api-) OP= getUsersCourseRole of page root_api.php
[13/Apr/2026:14:06:27] (root_api-) Query~SELECT count(u.user_id) as cnt FROM tbl_user_master u WHERE u.isActive = '1' AND u.user_id ='184'~2026-04-13 14:06:27:0427~2026-04-13 14:06:27~success
[13/Apr/2026:14:06:27] (root_api-) serviceName course_data
[13/Apr/2026:14:06:27] (root_api-) Query~SELECT ed_role FROM tbl_course_educator WHERE  course_id = '25' AND user_id = 184~2026-04-13 14:06:27:0427~2026-04-13 14:06:27~success
[13/Apr/2026:14:06:27] (root_api-) Final JSON =  {"status":"ok","message":"","Errorcode":"","data":{"ed_role":"author"}}
[13/Apr/2026:14:06:27] (root_api-) token = 66bbc87451ad3590b670daae13ee0619 IP = 169.1.82.177
[13/Apr/2026:14:06:27] (root_api-) op => getCourseDecks ,user_id => 184 ,course_id => 25 ,clid => 66bbc87451ad3590b670daae13ee0619 ,serviceName => course_data ,
[13/Apr/2026:14:06:27] (root_api-) OP= getCourseDecks of page root_api.php
[13/Apr/2026:14:06:27] (root_api-) Query~SELECT count(u.user_id) as cnt FROM tbl_user_master u WHERE u.isActive = '1' AND u.user_id ='184'~2026-04-13 14:06:27:0427~2026-04-13 14:06:27~success
[13/Apr/2026:14:06:27] (root_api-) serviceName course_data
[13/Apr/2026:14:06:27] (root_api-) Query~SELECT td.deck_id, td.status as deckStatus, td.created_by, tcd.course_id, 
            ifnull(tcd.deck_name,td.deck_name) deck_name,
            ifnull(tcd.short_name,td.short_name) short_name,
            ifnull(tcd.eval_id,td.eval_id) eval_id,
            ifnull(tcd.deck_desc,td.deck_desc) deck_desc,
            ifnull(tcd.deck_brief,td.deck_brief) deck_brief,
            td.version
            
            FROM tbl_deck td 
           /* INNER JOIN tbl_course_deck tcd ON tcd.deck_id = td.deck_id AND course_id = '25' AND tcd.created_by = '184'
            Where td.deck_type = 'main' AND td.created_by = '184'
            */
            INNER JOIN tbl_course_deck tcd ON tcd.deck_id = td.deck_id AND course_id = '25' 
            Where td.deck_type = 'main'
            ORDER BY td.deck_id~2026-04-13 14:06:27:0427~2026-04-13 14:06:27~success
[13/Apr/2026:14:06:27] (root_api-) Query~select count(*) as card_count FROM  tbl_deck_card dc
                                    INNER JOIN tbl_card tc ON tc.card_id = dc.card_id AND tc.card_type = 'main' AND tc.question_text !='' AND tc.answer_text !=''
                                    Where dc.deck_id = '66'~2026-04-13 14:06:27:0427~2026-04-13 14:06:27~success
[13/Apr/2026:14:06:27] (root_api-) Query~select count(*) as card_count FROM  tbl_deck_card dc
                                    INNER JOIN tbl_card tc ON tc.card_id = dc.card_id AND tc.card_type = 'main' AND tc.question_text !='' AND tc.answer_text !=''
                                    Where dc.deck_id = '67'~2026-04-13 14:06:27:0427~2026-04-13 14:06:27~success
[13/Apr/2026:14:06:27] (root_api-) Query~select count(*) as card_count FROM  tbl_deck_card dc
                                    INNER JOIN tbl_card tc ON tc.card_id = dc.card_id AND tc.card_type = 'main' AND tc.question_text !='' AND tc.answer_text !=''
                                    Where dc.deck_id = '68'~2026-04-13 14:06:27:0427~2026-04-13 14:06:27~success
[13/Apr/2026:14:06:27] (root_api-) Query~select count(*) as card_count FROM  tbl_deck_card dc
                                    INNER JOIN tbl_card tc ON tc.card_id = dc.card_id AND tc.card_type = 'main' AND tc.question_text !='' AND tc.answer_text !=''
                                    Where dc.deck_id = '69'~2026-04-13 14:06:27:0427~2026-04-13 14:06:27~success
[13/Apr/2026:14:06:27] (root_api-) Query~select count(*) as card_count FROM  tbl_deck_card dc
                                    INNER JOIN tbl_card tc ON tc.card_id = dc.card_id AND tc.card_type = 'main' AND tc.question_text !='' AND tc.answer_text !=''
                                    Where dc.deck_id = '70'~2026-04-13 14:06:27:0427~2026-04-13 14:06:27~success
[13/Apr/2026:14:06:27] (root_api-) Query~select count(*) as card_count FROM  tbl_deck_card dc
                                    INNER JOIN tbl_card tc ON tc.card_id = dc.card_id AND tc.card_type = 'main' AND tc.question_text !='' AND tc.answer_text !=''
                                    Where dc.deck_id = '71'~2026-04-13 14:06:27:0427~2026-04-13 14:06:27~success
[13/Apr/2026:14:06:27] (root_api-) Query~select count(*) as card_count FROM  tbl_deck_card dc
                                    INNER JOIN tbl_card tc ON tc.card_id = dc.card_id AND tc.card_type = 'main' AND tc.question_text !='' AND tc.answer_text !=''
                                    Where dc.deck_id = '72'~2026-04-13 14:06:27:0427~2026-04-13 14:06:27~success
[13/Apr/2026:14:06:27] (root_api-) Query~select count(*) as card_count FROM  tbl_deck_card dc
                                    INNER JOIN tbl_card tc ON tc.card_id = dc.card_id AND tc.card_type = 'main' AND tc.question_text !='' AND tc.answer_text !=''
                                    Where dc.deck_id = '73'~2026-04-13 14:06:27:0427~2026-04-13 14:06:27~success
[13/Apr/2026:14:06:27] (root_api-) Query~select count(*) as card_count FROM  tbl_deck_card dc
                                    INNER JOIN tbl_card tc ON tc.card_id = dc.card_id AND tc.card_type = 'main' AND tc.question_text !='' AND tc.answer_text !=''
                                    Where dc.deck_id = '74'~2026-04-13 14:06:27:0427~2026-04-13 14:06:27~success
[13/Apr/2026:14:06:27] (root_api-) Query~select count(*) as card_count FROM  tbl_deck_card dc
                                    INNER JOIN tbl_card tc ON tc.card_id = dc.card_id AND tc.card_type = 'main' AND tc.question_text !='' AND tc.answer_text !=''
                                    Where dc.deck_id = '75'~2026-04-13 14:06:27:0427~2026-04-13 14:06:27~success
[13/Apr/2026:14:06:27] (root_api-) Query~select count(*) as card_count FROM  tbl_deck_card dc
                                    INNER JOIN tbl_card tc ON tc.card_id = dc.card_id AND tc.card_type = 'main' AND tc.question_text !='' AND tc.answer_text !=''
                                    Where dc.deck_id = '76'~2026-04-13 14:06:27:0427~2026-04-13 14:06:27~success
[13/Apr/2026:14:06:27] (root_api-) Query~select count(*) as card_count FROM  tbl_deck_card dc
                                    INNER JOIN tbl_card tc ON tc.card_id = dc.card_id AND tc.card_type = 'main' AND tc.question_text !='' AND tc.answer_text !=''
                                    Where dc.deck_id = '77'~2026-04-13 14:06:27:0427~2026-04-13 14:06:27~success
[13/Apr/2026:14:06:27] (root_api-) Query~select count(*) as card_count FROM  tbl_deck_card dc
                                    INNER JOIN tbl_card tc ON tc.card_id = dc.card_id AND tc.card_type = 'main' AND tc.question_text !='' AND tc.answer_text !=''
                                    Where dc.deck_id = '78'~2026-04-13 14:06:27:0427~2026-04-13 14:06:27~success
[13/Apr/2026:14:06:27] (root_api-) Query~select count(*) as card_count FROM  tbl_deck_card dc
                                    INNER JOIN tbl_card tc ON tc.card_id = dc.card_id AND tc.card_type = 'main' AND tc.question_text !='' AND tc.answer_text !=''
                                    Where dc.deck_id = '79'~2026-04-13 14:06:27:0427~2026-04-13 14:06:27~success
[13/Apr/2026:14:06:27] (root_api-) Query~select count(*) as card_count FROM  tbl_deck_card dc
                                    INNER JOIN tbl_card tc ON tc.card_id = dc.card_id AND tc.card_type = 'main' AND tc.question_text !='' AND tc.answer_text !=''
                                    Where dc.deck_id = '80'~2026-04-13 14:06:27:0427~2026-04-13 14:06:27~success
[13/Apr/2026:14:06:27] (root_api-) Query~select count(*) as card_count FROM  tbl_deck_card dc
                                    INNER JOIN tbl_card tc ON tc.card_id = dc.card_id AND tc.card_type = 'main' AND tc.question_text !='' AND tc.answer_text !=''
                                    Where dc.deck_id = '81'~2026-04-13 14:06:27:0427~2026-04-13 14:06:27~success
[13/Apr/2026:14:06:27] (root_api-) Query~select count(*) as card_count FROM  tbl_deck_card dc
                                    INNER JOIN tbl_card tc ON tc.card_id = dc.card_id AND tc.card_type = 'main' AND tc.question_text !='' AND tc.answer_text !=''
                                    Where dc.deck_id = '82'~2026-04-13 14:06:27:0427~2026-04-13 14:06:27~success
[13/Apr/2026:14:06:27] (root_api-) Query~select count(*) as card_count FROM  tbl_deck_card dc
                                    INNER JOIN tbl_card tc ON tc.card_id = dc.card_id AND tc.card_type = 'main' AND tc.question_text !='' AND tc.answer_text !=''
                                    Where dc.deck_id = '83'~2026-04-13 14:06:27:0427~2026-04-13 14:06:27~success
[13/Apr/2026:14:06:27] (root_api-) Query~select count(*) as card_count FROM  tbl_deck_card dc
                                    INNER JOIN tbl_card tc ON tc.card_id = dc.card_id AND tc.card_type = 'main' AND tc.question_text !='' AND tc.answer_text !=''
                                    Where dc.deck_id = '84'~2026-04-13 14:06:27:0427~2026-04-13 14:06:27~success
[13/Apr/2026:14:06:27] (root_api-) Query~select count(*) as card_count FROM  tbl_deck_card dc
                                    INNER JOIN tbl_card tc ON tc.card_id = dc.card_id AND tc.card_type = 'main' AND tc.question_text !='' AND tc.answer_text !=''
                                    Where dc.deck_id = '85'~2026-04-13 14:06:27:0427~2026-04-13 14:06:27~success
[13/Apr/2026:14:06:27] (root_api-) Query~select count(*) as card_count FROM  tbl_deck_card dc
                                    INNER JOIN tbl_card tc ON tc.card_id = dc.card_id AND tc.card_type = 'main' AND tc.question_text !='' AND tc.answer_text !=''
                                    Where dc.deck_id = '86'~2026-04-13 14:06:27:0427~2026-04-13 14:06:27~success
[13/Apr/2026:14:06:27] (root_api-) Query~select count(*) as card_count FROM  tbl_deck_card dc
                                    INNER JOIN tbl_card tc ON tc.card_id = dc.card_id AND tc.card_type = 'main' AND tc.question_text !='' AND tc.answer_text !=''
                                    Where dc.deck_id = '87'~2026-04-13 14:06:27:0427~2026-04-13 14:06:27~success
[13/Apr/2026:14:06:27] (root_api-) Query~select count(*) as card_count FROM  tbl_deck_card dc
                                    INNER JOIN tbl_card tc ON tc.card_id = dc.card_id AND tc.card_type = 'main' AND tc.question_text !='' AND tc.answer_text !=''
                                    Where dc.deck_id = '88'~2026-04-13 14:06:27:0427~2026-04-13 14:06:27~success
[13/Apr/2026:14:06:27] (root_api-) Query~select count(*) as card_count FROM  tbl_deck_card dc
                                    INNER JOIN tbl_card tc ON tc.card_id = dc.card_id AND tc.card_type = 'main' AND tc.question_text !='' AND tc.answer_text !=''
                                    Where dc.deck_id = '89'~2026-04-13 14:06:27:0427~2026-04-13 14:06:27~success
[13/Apr/2026:14:06:27] (root_api-) Query~select count(*) as card_count FROM  tbl_deck_card dc
                                    INNER JOIN tbl_card tc ON tc.card_id = dc.card_id AND tc.card_type = 'main' AND tc.question_text !='' AND tc.answer_text !=''
                                    Where dc.deck_id = '90'~2026-04-13 14:06:27:0427~2026-04-13 14:06:27~success
[13/Apr/2026:14:06:27] (root_api-) Query~select count(*) as card_count FROM  tbl_deck_card dc
                                    INNER JOIN tbl_card tc ON tc.card_id = dc.card_id AND tc.card_type = 'main' AND tc.question_text !='' AND tc.answer_text !=''
                                    Where dc.deck_id = '91'~2026-04-13 14:06:27:0427~2026-04-13 14:06:27~success
[13/Apr/2026:14:06:27] (root_api-) Final JSON =  {"status":"ok",
                "message":"",
                "Errorcode":"",
                "data":{"66":{"deck_info":{"deck_id":"66","course_id":"25","deck_name":"Term 1: Whole Numbers","short_name":"Whole No. ","eval_id":"1","deck_desc":"Whole numbers deals with the explaination of different types of numbers, properties of operations, finance as well as estimation and rounding off. ","deck_brief":"","deck_status":"Draft","card_cnt":"56","version":"1"}},"67":{"deck_info":{"deck_id":"67","course_id":"25","deck_name":"Integers","short_name":"Integers","eval_id":"1","deck_desc":"Short questions regarding what integers are and how to solve expressions involving integers. ","deck_brief":"","deck_status":"Draft","card_cnt":"37","version":"1"}},"68":{"deck_info":{"deck_id":"68","course_id":"25","deck_name":"Exponents ","short_name":"Exponents","eval_id":"1","deck_desc":"This chapter of exponents provides information on the different ways to solve exponential expressions as well as the different laws of exponents. ","deck_brief":"","deck_status":"Draft","card_cnt":"55","version":"1"}},"69":{"deck_info":{"deck_id":"69","course_id":"25","deck_name":"Numeric and Geometric Patterns ","short_name":"Patterns","eval_id":"1","deck_desc":"Numeric and geomteric patterns revises concepts of commonly asked patterns as well as different ways patterns may be represented such an in a table, flow diagram as well as visually in pictures.  ","deck_brief":"","deck_status":"Draft","card_cnt":"23","version":"1"}},"70":{"deck_info":{"deck_id":"70","course_id":"25","deck_name":"Functions and Relationships ","short_name":"Functions and Relationships","eval_id":"1","deck_desc":"Functions and relationships is all about relating the input number to the output number in different ways and representing these relationships visually. ","deck_brief":"","deck_status":"Draft","card_cnt":"18","version":"1"}},"71":{"deck_info":{"deck_id":"71","course_id":"25","deck_name":"Algebraic Expressions 1 ","short_name":"Algebraic expressions","eval_id":"1","deck_desc":"Algebraic expressions involves taking a deeper look into the different components that make up an expression as well as ways in which we can simplify and solve them.","deck_brief":"","deck_status":"Draft","card_cnt":"36","version":"1"}},"72":{"deck_info":{"deck_id":"72","course_id":"25","deck_name":"Algebraic Equations 1 ","short_name":"Algebraic equations","eval_id":"1","deck_desc":"This deck of algebraic equations provides learners with a solid foundation of the standard procedure of solving equations and helping them to easily solve for the value of certain variables.","deck_brief":"","deck_status":"Draft","card_cnt":"24","version":"1"}},"73":{"deck_info":{"deck_id":"73","course_id":"25","deck_name":"Term 2: Algebraic Expressions 2 ","short_name":"Algenbraic Expressions 2 ","eval_id":"1","deck_desc":"Algebraic expressions 2 involves solving expressions using the distributative property and simplifying expressions with multiple operations. ","deck_brief":"","deck_status":"Draft","card_cnt":"53","version":"1"}},"74":{"deck_info":{"deck_id":"74","course_id":"25","deck_name":"Algebraic Equations 2 ","short_name":"Algebraic Equations 2 ","eval_id":"1","deck_desc":"Algebraic equations 2 uses flow diagrams and tables to help learners visualise and understand the concept of equations better as well as different ways to solve equations from left to right and right to left. ","deck_brief":"","deck_status":"Draft","card_cnt":"38","version":"1"}},"75":{"deck_info":{"deck_id":"75","course_id":"25","deck_name":"Construction of Geometric Figures","short_name":"Construction of shapes","eval_id":"1","deck_desc":"Construction of geometric figures helps emphasise the differences between parallel and perpendicular lines as well as different types of angles within different types of triangles and quadrilatrals. ","deck_brief":"","deck_status":"Draft","card_cnt":"55","version":"1"}},"76":{"deck_info":{"deck_id":"76","course_id":"25","deck_name":"Geometry of 2D Shapes","short_name":"Geometry of shapes","eval_id":"1","deck_desc":"This chapter of geometry of 2D shapes focuses on identifying and classifying different types of triangles and quadrilaterals as well as solving for missing sides and angles. ","deck_brief":"","deck_status":"Draft","card_cnt":"67","version":"1"}},"77":{"deck_info":{"deck_id":"77","course_id":"25","deck_name":"Geometry of straight lines","short_name":"Geometry of straight lines","eval_id":"1","deck_desc":"In this chapter of geometry of straight lines, the different mathematical reasons are taught in example form and shows the different ways in which learners are asked to find angles and identify them more easily. ","deck_brief":"","deck_status":"Draft","card_cnt":"68","version":"1"}},"78":{"deck_info":{"deck_id":"78","course_id":"25","deck_name":"Term 3: Common Fractions","short_name":"Common Fractions","eval_id":"1","deck_desc":"Common fractions helps learners perform the basic operations with fractions including addition, subtraction, multiplication and division. It also helps learners understand how to use and incorporate equivalent fractions and simplify fractions. ","deck_brief":"","deck_status":"Draft","card_cnt":"132","version":"1"}},"79":{"deck_info":{"deck_id":"79","course_id":"25","deck_name":"Decimal Fractions","short_name":"Decimals ","eval_id":"1","deck_desc":"Decimal fractions touches on how to convert fractions to decimals and decimals to fractions as well as how to perform operations with decimals and ordering, comparing and rounding off decimals. ","deck_brief":"","deck_status":"Draft","card_cnt":"108","version":"1"}},"80":{"deck_info":{"deck_id":"80","course_id":"25","deck_name":"Pythagoras Theorem ","short_name":"Pythagoras ","eval_id":"1","deck_desc":"This deck focuses on solving for lengths of right-angled triangles using the Pythagoras theorem and introduces learners to the converse Pythagoras theorem. ","deck_brief":"","deck_status":"Draft","card_cnt":"31","version":"1"}},"81":{"deck_info":{"deck_id":"81","course_id":"25","deck_name":"Area and Perimeter of 2D shapes","short_name":"Area and Perimeter","eval_id":"1","deck_desc":"Area and perimeter focuses on calculating the distances around shapes as well as how much space shapes such as rectangles, squares, circles and triangles take up. It focuses on understanding and logically solving the perimeter and area of other composite 2D\nshapes as well. ","deck_brief":"","deck_status":"Draft","card_cnt":"74","version":"1"}},"82":{"deck_info":{"deck_id":"82","course_id":"25","deck_name":"Surface Area and Volume of 3D Shapes","short_name":"Surface Area and Volume ","eval_id":"1","deck_desc":"Surface area and volume focuses on the different methods learners can use to solve for volume, surface area and capacity as well as how to get cubic units of measurements and when such measurements are used. ","deck_brief":"","deck_status":"Draft","card_cnt":"51","version":"1"}},"83":{"deck_info":{"deck_id":"83","course_id":"25","deck_name":"Data Handling ","short_name":"Data Handling","eval_id":"1","deck_desc":"Data handling helps learners interpret and understand the various pieces of information that may be collected when looking at data as well as different ways to summarise and read data. ","deck_brief":"","deck_status":"Draft","card_cnt":"46","version":"1"}},"84":{"deck_info":{"deck_id":"84","course_id":"25","deck_name":"Representing Data ","short_name":"Representing Data","eval_id":"1","deck_desc":"Data can be described in different ways and uses different types of visual aids to show information. In this chapter, you will learn how to read and interpret data from different graphs such as bar graphs and histograms. ","deck_brief":"","deck_status":"Draft","card_cnt":"26","version":"1"}},"85":{"deck_info":{"deck_id":"85","course_id":"25","deck_name":"Interpretting, Analysing and Reporting Data","short_name":"Interpretting and Analysing Data","eval_id":"1","deck_desc":"This chapter focuses on the information that can be gathered from data as well as the questions that may be asked from it. \n","deck_brief":"","deck_status":"Draft","card_cnt":"10","version":"1"}},"86":{"deck_info":{"deck_id":"86","course_id":"25","deck_name":"Term 4: Functions and Relationships","short_name":"Functions and relationships ","eval_id":"1","deck_desc":"Functions and relationships focuses on the different ways in which input values may be related to output values in a table, flow diagram or even verbally. ","deck_brief":"","deck_status":"Draft","card_cnt":"25","version":"1"}},"87":{"deck_info":{"deck_id":"87","course_id":"25","deck_name":"Algebraic Equations","short_name":"Equations ","eval_id":"1","deck_desc":"This chapter of algebraic equations focuses on getting the values of x and y alone as well as how to solve linear and exponential equations. ","deck_brief":"","deck_status":"Draft","card_cnt":"47","version":"1"}},"88":{"deck_info":{"deck_id":"88","course_id":"25","deck_name":"Graphs","short_name":"Graphs ","eval_id":"1","deck_desc":"Graphs focuses on being able to interpret information that can be gathered from graphs as well as how to read different types of graphs and how data can be spread out on a graph. ","deck_brief":"","deck_status":"Draft","card_cnt":"48","version":"1"}},"89":{"deck_info":{"deck_id":"89","course_id":"25","deck_name":"Transformation Geometry","short_name":"Transformations","eval_id":"1","deck_desc":"Transformation geometry focuses on the different types of transformations which included translations, reflections and rotations as well as applying these transformations to distinct points and shapes on the Cartesian plane and moving points across the x and y-axes. ","deck_brief":"","deck_status":"Draft","card_cnt":"111","version":"1"}},"90":{"deck_info":{"deck_id":"90","course_id":"25","deck_name":"Geometry of 3D shapes ","short_name":"3D shapes ","eval_id":"1","deck_desc":"Geometry of 3D shapes focuses on being able to differenciate between a face, vertice and edge as well as the different types of 3D shapes. Some of these shapes will also be represented as nets and learners should be able to identify what shapes these nets can make. ","deck_brief":"","deck_status":"Draft","card_cnt":"58","version":"1"}},"91":{"deck_info":{"deck_id":"91","course_id":"25","deck_name":"Probability ","short_name":"Probability ","eval_id":"1","deck_desc":"Probability looks at the possibility of an event occuring and in this deck we look at the basic terms used in probability as well as how to do probability calculations. ","deck_brief":"","deck_status":"Draft","card_cnt":"20","version":"1"}}}}
[13/Apr/2026:14:06:28] (root_api-) token = 66bbc87451ad3590b670daae13ee0619 IP = 169.1.82.177
[13/Apr/2026:14:06:28] (root_api-) op => api-refresh ,clid => 66bbc87451ad3590b670daae13ee0619 ,serviceName => common_data ,
[13/Apr/2026:14:06:28] (root_api-) OP= api-refresh of page root_api.php
[13/Apr/2026:14:06:28] (root_api-) serviceName common_data
[13/Apr/2026:14:06:28] (root_api-) Final JSON =  {"status":"ok","message":"","Errorcode":"","data":""}
[13/Apr/2026:14:06:46] (root_api-) token =  IP = 169.1.82.177
[13/Apr/2026:14:06:46] (root_api-) 
[13/Apr/2026:14:06:46] (root_api-) OP=  of page root_api.php
[13/Apr/2026:14:06:46] (root_api-) Final JSON =  { "status":"error",
					"message":"Invalid Session",
					"Errorcode":"err100",
					"data":{}}
[13/Apr/2026:14:06:46] (root_api-) token =  IP = 169.1.82.177
[13/Apr/2026:14:06:46] (root_api-) 
[13/Apr/2026:14:06:46] (root_api-) OP=  of page root_api.php
[13/Apr/2026:14:06:46] (root_api-) Final JSON =  { "status":"error",
					"message":"Invalid Session",
					"Errorcode":"err100",
					"data":{}}
[13/Apr/2026:14:06:46] (root_api-) token = 66bbc87451ad3590b670daae13ee0619 IP = 169.1.82.177
[13/Apr/2026:14:06:46] (root_api-) op => getDeckCard ,deckId => 91 ,clid => 66bbc87451ad3590b670daae13ee0619 ,serviceName => course_data ,
[13/Apr/2026:14:06:46] (root_api-) OP= getDeckCard of page root_api.php
[13/Apr/2026:14:06:46] (root_api-) serviceName course_data
[13/Apr/2026:14:06:46] (root_api-) Query~SELECT c.card_id, c.card_parent_id FROM tbl_card c, tbl_deck_card dc  WHERE dc.deck_id = '91' AND c.question_text='' AND c.answer_text='' AND dc.card_id = c.card_id ~2026-04-13 14:06:46:0446~2026-04-13 14:06:46~success
[13/Apr/2026:14:06:46] (root_api-) token = 66bbc87451ad3590b670daae13ee0619 IP = 169.1.82.177
[13/Apr/2026:14:06:46] (root_api-) op => getCourseDetail ,course_id => 25 ,clid => 66bbc87451ad3590b670daae13ee0619 ,serviceName => course_data ,
[13/Apr/2026:14:06:46] (root_api-) OP= getCourseDetail of page root_api.php
[13/Apr/2026:14:06:46] (root_api-) serviceName course_data
[13/Apr/2026:14:06:46] (root_api-) Query~DELETE from tbl_card WHERE card_id = '2853'~2026-04-13 14:06:46:0446~2026-04-13 14:06:46~success
[13/Apr/2026:14:06:46] (root_api-) Query~SELECT * FROM tbl_course where course_id = '25' AND status NOT IN('Discard')~2026-04-13 14:06:46:0446~2026-04-13 14:06:46~success
[13/Apr/2026:14:06:46] (root_api-) Query~SELECT course_image_id, course_image, sequence, status FROM tbl_course_images where course_id = 25 ORDER BY sequence DESC~2026-04-13 14:06:46:0446~2026-04-13 14:06:46~success
[13/Apr/2026:14:06:46] (root_api-) Query~select course_id as prev_course_id from tbl_course where course_parent_id = 25 AND version = 0 AND status NOT IN('Discard')~2026-04-13 14:06:46:0446~2026-04-13 14:06:46~success
[13/Apr/2026:14:06:46] (root_api-) Query~select course_id as next_course_id from tbl_course where course_parent_id = 25 AND version = 2 AND status NOT IN('Discard')~2026-04-13 14:06:46:0446~2026-04-13 14:06:46~success
[13/Apr/2026:14:06:46] (root_api-) Final JSON =  {"status":"ok","message":"Course Details fetched Successfully","Errorcode":"","data":[{"course_id":"25","course_parent_id":"25","version":"1","org_id":"2","course_name":"Grade 8 Mathematics","short_name":"","status":"Draft","eval_id":"1","course_desc":"Grade 8 Mathematics aims to build strong foundational skills required to prepare learners for higher grades of mathematics and develop strong, appropriate mathematical reasoning and logical thinking. ","amount":"0","currency":null,"pay_type":"paid","course_brief":null,"course_duration":"16","background_color":"","text_color":"","creation_date":"2025-07-16 13:21:03","created_by":"184","updation_date":"2026-01-07 12:53:22","updated_by":"184","images":[],"parentid":"","childid":""}]}
[13/Apr/2026:14:06:46] (root_api-) Query~DELETE from tbl_card_parent WHERE card_parent_id = '2853'~2026-04-13 14:06:46:0446~2026-04-13 14:06:46~success
[13/Apr/2026:14:06:46] (root_api-) Query~DELETE from tbl_deck_card WHERE card_id = '2853'~2026-04-13 14:06:46:0446~2026-04-13 14:06:46~success
[13/Apr/2026:14:06:46] (root_api-) Query~SELECT tc.card_id,tc.card_title,tc.card_image_url,tc.card_video_url, CASE WHEN tc.card_style = 0 THEN 'Text' ELSE 'Image' END AS card_style  , tc.question_text, tc.status AS cardStatus, tc.answer_text, dc.sequence as cardSequence, tc.version,DENSE_RANK() OVER (ORDER BY dc.sequence) cardRank
            FROM  tbl_deck_card dc
            INNER JOIN tbl_card tc ON tc.card_id = dc.card_id AND tc.card_type = 'main'
            Where dc.deck_id = '91'~2026-04-13 14:06:46:0446~2026-04-13 14:06:46~success
[13/Apr/2026:14:06:46] (root_api-) Query~SELECT deck_id, deck_name, status, version from tbl_deck WHERE deck_id = '91'~2026-04-13 14:06:46:0446~2026-04-13 14:06:46~success
[13/Apr/2026:14:06:46] (root_api-) Final JSON =  {"status":"ok",
                "message":"",
                "Errorcode":"",
                "data":{"deck_info":{"deck_id":"91","deck_name":"Probability ","status":"Draft","version":"1"},"card_info":[{"card_id":"2833","card_sequence":"1","card_style":"Text","question_text":"<p>What is probability?<\/p><p><br><\/p>","answer_text":"<p>Probability refers to the possibillites of an event occuring.<\/p><p>For example: What is the probability of landing heads in a coin toss?<\/p><p>There are only 2 sides to a coin, so either heads or tails. The probability is therefore 1\/2 or 0,5 of landing heads.&nbsp;<\/p>","card_title":"","card_status":"Draft","deck_id":"91","card_image_url":"","card_video_url":"","version":"1"},{"card_id":"2834","card_sequence":"2","card_style":"Text","question_text":"<p>How do you write probablity?<\/p><p><br><\/p>","answer_text":"<p>Your answer will<span style=\"background-color: rgb(214, 214, 231);\"> range from 0 to 1 <\/span>and may be represented as a fraction, decimal (which isn't often used) or percentage.<\/p><p><br><\/p>","card_title":"","card_status":"Draft","deck_id":"91","card_image_url":"","card_video_url":"","version":"1"},{"card_id":"2835","card_sequence":"3","card_style":"Text","question_text":"<p>What does it mean if something has a probability of 1?<\/p><p><br><\/p>","answer_text":"<p>It means something is<span style=\"background-color: rgb(214, 214, 231);\"> guaranteed (100%) to happen<\/span>.<\/p><p><br><\/p>","card_title":"","card_status":"Draft","deck_id":"91","card_image_url":"","card_video_url":"","version":"1"},{"card_id":"2836","card_sequence":"4","card_style":"Text","question_text":"<p>What does it mean if something has a probability of 0?<\/p><p><br><\/p>","answer_text":"<p>If an event has a probability of 0, it means there are 0 chances of a certain event occuring.<\/p><p> It will <span style=\"background-color: rgb(214, 214, 231);\">never happen<\/span>.<\/p>","card_title":"","card_status":"Draft","deck_id":"91","card_image_url":"","card_video_url":"","version":"1"},{"card_id":"2837","card_sequence":"5","card_style":"Text","question_text":"<p>What does it mean if something has a probability of 1\/2?<\/p><p><br><\/p>","answer_text":"<p>This means there is a <span style=\"background-color: rgb(214, 214, 231);\">equally likely chance of an event occuring or not occuring.<\/span><\/p><p><br><\/p>","card_title":"","card_status":"Draft","deck_id":"91","card_image_url":"","card_video_url":"","version":"1"},{"card_id":"2838","card_sequence":"6","card_style":"Text","question_text":"<p>What is an event?<\/p><p><br><\/p>","answer_text":"<p>An event refers to the total number of outcomes of a trial or experiment.<\/p><p>Example: &nbsp;Event of rolling an even number on a dice.&nbsp;<\/p><p>You can roll numbers 1 to 6 on a dice, therefore if an even number must be rolled, the event of that occuring are 3 as there are only 3 even number between 1 and 6.&nbsp;<\/p>","card_title":"","card_status":"Draft","deck_id":"91","card_image_url":"","card_video_url":"","version":"1"},{"card_id":"2839","card_sequence":"7","card_style":"Text","question_text":"<p>What is sample space?<\/p><p><br><\/p>","answer_text":"<p>Sample space refers to all the possible outcomes of an experiment. &nbsp;<\/p><p> Example: When rolling a dice, there are 6 possible values that you may roll. The sample space will therefore include {1;2;3;4;5;6} as all possible options of what can be rolled.&nbsp;<\/p>","card_title":"","card_status":"Draft","deck_id":"91","card_image_url":"","card_video_url":"","version":"1"},{"card_id":"2840","card_sequence":"8","card_style":"Text","question_text":"<p>What is the probability formula?<\/p><p><br><\/p>","answer_text":"<p>Probability (P) = Number of favourable outcomes \/ Total number of possible outcomes<\/p><p>OR<\/p><p> Probability (P) = Event \/ Sample Space<\/p><p>(Same formula, just said differently)&nbsp;<\/p>","card_title":"","card_status":"Draft","deck_id":"91","card_image_url":"","card_video_url":"","version":"1"},{"card_id":"2841","card_sequence":"9","card_style":"Text","question_text":"<p>Calculate the probabilty of rolling an even number playing with dice. <\/p><p>Use the probability formula.<\/p>","answer_text":"<p>P = Event \/ Sample Space<\/p><p>Event = rolling an even number such as 2;4 or 6 &nbsp; &nbsp; &nbsp; (this means there are 3 possible outcomes)<\/p><p>Sample Space = all possible outcomes of a dice (6)<\/p><p> P = 3\/6<\/p><p>.: P = 1\/2<\/p><p><span style=\"background-color: rgb(156, 198, 239);\">There is a probability of 1\/2 or 0,5 or 50% of rolling an even numbe<\/span>r.<\/p>","card_title":"","card_status":"Draft","deck_id":"91","card_image_url":"","card_video_url":"","version":"1"},{"card_id":"2842","card_sequence":"10","card_style":"Text","question_text":"<p>How many possible outcomes are there if you role a dice once?&nbsp;<\/p><p><br><\/p>","answer_text":"<p>There are <span style=\"background-color: rgb(214, 214, 231);\">6 possible outcomes<\/span> because there are 6 different sides.<\/p><p><br><\/p>","card_title":"","card_status":"Draft","deck_id":"91","card_image_url":"","card_video_url":"","version":"1"},{"card_id":"2843","card_sequence":"11","card_style":"Text","question_text":"<p>Are the chances of the dice landing on a certain number equally split?<\/p><p><br><\/p>","answer_text":"<p>Yes. The chances are all equal. <\/p><p>There is a 16,67% (1\/6) chance of the dice landing on any number.&nbsp;<\/p>","card_title":"","card_status":"Draft","deck_id":"91","card_image_url":"","card_video_url":"","version":"1"},{"card_id":"2844","card_sequence":"12","card_style":"Text","question_text":"<p>What is a trial?<\/p><p><br><\/p>","answer_text":"<p>A trial refers to a random experiment or activity that results in a certain outcome.<\/p><p><br><\/p>","card_title":"","card_status":"Draft","deck_id":"91","card_image_url":"","card_video_url":"","version":"1"},{"card_id":"2845","card_sequence":"13","card_style":"Text","question_text":"<p>What is frequency?<\/p><p><br><\/p>","answer_text":"<p>Frequency refers to the amount of times a specific outcome is observed in a series of trials.<\/p><p>Example: Rolling a 3 twice in a row out of 3 times that you've tried.&nbsp;<\/p>","card_title":"","card_status":"Draft","deck_id":"91","card_image_url":"","card_video_url":"","version":"1"},{"card_id":"2846","card_sequence":"14","card_style":"Text","question_text":"<p>What is relative frequency?<\/p><p><br><\/p>","answer_text":"<p>Relative frequency is the frequency of an event divided by the number of trials.<\/p><p>Relative frequency = frequency of an event \/ number of trials<\/p><p><br><\/p>","card_title":"","card_status":"Draft","deck_id":"91","card_image_url":"","card_video_url":"","version":"1"},{"card_id":"2847","card_sequence":"15","card_style":"Text","question_text":"<p>A coin is tossed 30 times. It lands on heads 19 times and lands on tails 11 times.<\/p><p>1) How many times could you <u>expect<\/u> to achieve tails given that a fair coin is tossed 30 times. <\/p><p>2) Calculate the relative frequency of tossing heads.<\/p>","answer_text":"<p>1) P(tails) = 15\/30 &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;(why 15? There are only 2 sides to a coin so the chances of tails occuring were 15 and 15 to heads)&nbsp;<\/p><p>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; =1\/2 &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;<\/p><p>.: 50% of the time OR 1\/2 OR 15 out of the 30 times<\/p><p> 2) Relative frequency = frequency\/no. of trials<\/p><p>.: Relative frequency = 19\/30&nbsp;<\/p>","card_title":"","card_status":"Draft","deck_id":"91","card_image_url":"","card_video_url":"","version":"1"},{"card_id":"2848","card_sequence":"16","card_style":"Text","question_text":"<p>A table records the results of Megan rolling a dice 40 times. Her results are recorded in the table.<\/p><p><br><\/p><table class=\"table table-bordered\"><tbody><tr><td>Number rolled<\/td><td><b>1<\/b><\/td><td><b>2<\/b><\/td><td><b>3<\/b><\/td><td><b>4<\/b><\/td><td><b>5<\/b><\/td><td><b>6<\/b><\/td><\/tr><tr><td>Frequency<\/td><td>5<\/td><td>14<\/td><td>8<\/td><td>6<\/td><td>4<\/td><td>3<\/td><\/tr><\/tbody><\/table><p><br><\/p><p>1) How many times did Megan roll a 1?<\/p><p> 2) What is Megan's relative frequency of rolling a 3 from her 40 rolls?<\/p><p>3) Calculate the relative frequency of Megan rolling a 5. Give your answer in fraction form as well as a percentage.<\/p>","answer_text":"<p>1) <font color=\"#000000\" style=\"background-color: rgb(206, 231, 247);\">5 times<\/font><\/p><p>2) Relative frequency = frequency \/ number of trials <\/p><p>&nbsp;Relative frequency = 8\/40 <\/p><p>Relative frequency =<span style=\"background-color: rgb(206, 231, 247);\"> 1\/5 OR 0,2 OR 20%<\/span><\/p><p> 3)Relative frequency = frequency \/ number of trials<\/p><p>Relative frequency = 4\/40<\/p><p>Relative frequency =<font color=\"#000000\" style=\"background-color: rgb(206, 231, 247);\"> 1\/10 OR 10%<\/font><\/p>","card_title":"","card_status":"Draft","deck_id":"91","card_image_url":"","card_video_url":"","version":"1"},{"card_id":"2849","card_sequence":"17","card_style":"Text","question_text":"<p>A plastic sleeve contains 20 different coloured marbles. <\/p><p>What is the probability of picking a red marble blind sighted from the sleeve?<\/p>","answer_text":"<p>P = Event \/ Sample Space<\/p><p> Event = picking a red marble (1 possible outcome)<\/p><p>Sample Space = all marbles (20)<\/p><p>.:<span style=\"background-color: rgb(206, 231, 247);\"> P = 1\/20 OR 0,05 OR 5%<\/span><\/p>","card_title":"","card_status":"Draft","deck_id":"91","card_image_url":"","card_video_url":"","version":"1"},{"card_id":"2850","card_sequence":"18","card_style":"Text","question_text":"<p>What is the difference between a trial and outcome?<\/p><p><br><\/p>","answer_text":"<p>A<font color=\"#000000\" style=\"background-color: rgb(214, 214, 231);\"> trial<\/font> refers to a <span style=\"background-color: rgb(214, 214, 231);\">random experiment <\/span>or activity that gives a cetain result, whereas as the <font color=\"#000000\" style=\"background-color: rgb(214, 214, 231);\">outcome<\/font><font color=\"#000000\" style=\"background-color: rgb(214, 214, 231);\"> is the result <\/font>you receive from the trial.<\/p><p><br><\/p>","card_title":"","card_status":"Draft","deck_id":"91","card_image_url":"","card_video_url":"","version":"1"},{"card_id":"2851","card_sequence":"19","card_style":"Text","question_text":"<p>What does it mean to be equally likely?<\/p><p><br><\/p>","answer_text":"<p>There is an equal probability of all possible outcomes to occur.<\/p><p><br><\/p>","card_title":"","card_status":"Draft","deck_id":"91","card_image_url":"","card_video_url":"","version":"1"},{"card_id":"2852","card_sequence":"20","card_style":"Text","question_text":"<p>True or false:<\/p><p> The more trials performed, the more likely the relative frequency will be closer to the probabilty.<\/p>","answer_text":"<p>True<\/p><p>Why?<\/p><p>If you repeat a trial enough times, then the random outcomes will start to even out and gets closer to the probability.&nbsp;<\/p>","card_title":"","card_status":"Draft","deck_id":"91","card_image_url":"","card_video_url":"","version":"1"}]}}
[13/Apr/2026:14:06:46] (root_api-) token = 66bbc87451ad3590b670daae13ee0619 IP = 169.1.82.177
[13/Apr/2026:14:06:46] (root_api-) op => getSwitchRoles ,user_id => 184 ,org_id => 1 ,clid => 66bbc87451ad3590b670daae13ee0619 ,serviceName => user_data ,
[13/Apr/2026:14:06:46] (root_api-) OP= getSwitchRoles of page root_api.php
[13/Apr/2026:14:06:46] (root_api-) Query~SELECT count(u.user_id) as cnt FROM tbl_user_master u WHERE u.isActive = '1' AND u.user_id ='184'~2026-04-13 14:06:46:0446~2026-04-13 14:06:46~success
[13/Apr/2026:14:06:46] (root_api-) Query~SELECT count(1) as cnt FROM tbl_org  WHERE status = 'Active' AND org_id ='1'~2026-04-13 14:06:46:0446~2026-04-13 14:06:46~success
[13/Apr/2026:14:06:46] (root_api-) Query~SELECT count(1) as cnt FROM tbl_user_org u WHERE u.status = 'Active' AND u.user_id ='184' AND  org_id ='1'~2026-04-13 14:06:46:0446~2026-04-13 14:06:46~success
[13/Apr/2026:14:06:46] (root_api-) serviceName user_data
[13/Apr/2026:14:06:46] (root_api-) Query~SELECT u.user_org_id, u.org_id, u.role_id, um.email,o.org_name,r.role_name,o.short_name,CONCAT(u.role_id,'_',u.org_id) as user_org_role
            FROM tbl_user_org u 
            inner join tbl_org o on u.org_id=o.org_id
            inner join tbl_role_master r on r.role_id=u.role_id
            inner join tbl_user_master um on u.user_id = um.user_id
            where u.user_id= 184~2026-04-13 14:06:46:0446~2026-04-13 14:06:46~success
[13/Apr/2026:14:06:46] (root_api-) Final JSON =  {"status":"ok","message":"User Details fetched Successfully!!","Errorcode":"","data":[{"user_org_id":"225","org_id":"1","role_id":"3","email":"alhenaude20@gmail.com","org_name":"University Of Cape Town","role_name":"Learner","short_name":"UCT","user_org_role":"3_1"},{"user_org_id":"226","org_id":"2","role_id":"2","email":"alhenaude20@gmail.com","org_name":"C-Institute","role_name":"Educator","short_name":"C-Institute","user_org_role":"2_2"}]}
[13/Apr/2026:14:06:47] (root_api-) token = 66bbc87451ad3590b670daae13ee0619 IP = 169.1.82.177
[13/Apr/2026:14:06:47] (root_api-) op => getUsersCourseRole ,user_id => 184 ,course_id => 25 ,clid => 66bbc87451ad3590b670daae13ee0619 ,serviceName => course_data ,
[13/Apr/2026:14:06:47] (root_api-) OP= getUsersCourseRole of page root_api.php
[13/Apr/2026:14:06:47] (root_api-) Query~SELECT count(u.user_id) as cnt FROM tbl_user_master u WHERE u.isActive = '1' AND u.user_id ='184'~2026-04-13 14:06:47:0447~2026-04-13 14:06:47~success
[13/Apr/2026:14:06:47] (root_api-) serviceName course_data
[13/Apr/2026:14:06:47] (root_api-) Query~SELECT ed_role FROM tbl_course_educator WHERE  course_id = '25' AND user_id = 184~2026-04-13 14:06:47:0447~2026-04-13 14:06:47~success
[13/Apr/2026:14:06:47] (root_api-) Final JSON =  {"status":"ok","message":"","Errorcode":"","data":{"ed_role":"author"}}
[13/Apr/2026:14:06:48] (root_api-) token = 66bbc87451ad3590b670daae13ee0619 IP = 169.1.82.177
[13/Apr/2026:14:06:48] (root_api-) op => api-refresh ,clid => 66bbc87451ad3590b670daae13ee0619 ,serviceName => common_data ,
[13/Apr/2026:14:06:48] (root_api-) OP= api-refresh of page root_api.php
[13/Apr/2026:14:06:48] (root_api-) serviceName common_data
[13/Apr/2026:14:06:48] (root_api-) Final JSON =  {"status":"ok","message":"","Errorcode":"","data":""}
[13/Apr/2026:14:06:52] (root_api-) token =  IP = 169.1.82.177
[13/Apr/2026:14:06:52] (root_api-) 
[13/Apr/2026:14:06:52] (root_api-) OP=  of page root_api.php
[13/Apr/2026:14:06:52] (root_api-) Final JSON =  { "status":"error",
					"message":"Invalid Session",
					"Errorcode":"err100",
					"data":{}}
[13/Apr/2026:14:06:52] (root_api-) token = 66bbc87451ad3590b670daae13ee0619 IP = 169.1.82.177
[13/Apr/2026:14:06:52] (root_api-) op => getSwitchRoles ,user_id => 184 ,org_id => 1 ,clid => 66bbc87451ad3590b670daae13ee0619 ,serviceName => user_data ,
[13/Apr/2026:14:06:52] (root_api-) OP= getSwitchRoles of page root_api.php
[13/Apr/2026:14:06:52] (root_api-) Query~SELECT count(u.user_id) as cnt FROM tbl_user_master u WHERE u.isActive = '1' AND u.user_id ='184'~2026-04-13 14:06:52:0452~2026-04-13 14:06:52~success
[13/Apr/2026:14:06:52] (root_api-) Query~SELECT count(1) as cnt FROM tbl_org  WHERE status = 'Active' AND org_id ='1'~2026-04-13 14:06:52:0452~2026-04-13 14:06:52~success
[13/Apr/2026:14:06:52] (root_api-) Query~SELECT count(1) as cnt FROM tbl_user_org u WHERE u.status = 'Active' AND u.user_id ='184' AND  org_id ='1'~2026-04-13 14:06:52:0452~2026-04-13 14:06:52~success
[13/Apr/2026:14:06:52] (root_api-) serviceName user_data
[13/Apr/2026:14:06:52] (root_api-) Query~SELECT u.user_org_id, u.org_id, u.role_id, um.email,o.org_name,r.role_name,o.short_name,CONCAT(u.role_id,'_',u.org_id) as user_org_role
            FROM tbl_user_org u 
            inner join tbl_org o on u.org_id=o.org_id
            inner join tbl_role_master r on r.role_id=u.role_id
            inner join tbl_user_master um on u.user_id = um.user_id
            where u.user_id= 184~2026-04-13 14:06:52:0452~2026-04-13 14:06:52~success
[13/Apr/2026:14:06:52] (root_api-) Final JSON =  {"status":"ok","message":"User Details fetched Successfully!!","Errorcode":"","data":[{"user_org_id":"225","org_id":"1","role_id":"3","email":"alhenaude20@gmail.com","org_name":"University Of Cape Town","role_name":"Learner","short_name":"UCT","user_org_role":"3_1"},{"user_org_id":"226","org_id":"2","role_id":"2","email":"alhenaude20@gmail.com","org_name":"C-Institute","role_name":"Educator","short_name":"C-Institute","user_org_role":"2_2"}]}
[13/Apr/2026:14:06:52] (root_api-) token = 66bbc87451ad3590b670daae13ee0619 IP = 169.1.82.177
[13/Apr/2026:14:06:52] (root_api-) op => createBlankCard ,course_id => 25 ,cardDeckId => 91 ,userId => 184 ,clid => 66bbc87451ad3590b670daae13ee0619 ,serviceName => deck_data ,
[13/Apr/2026:14:06:52] (root_api-) OP= createBlankCard of page root_api.php
[13/Apr/2026:14:06:52] (root_api-) serviceName deck_data
[13/Apr/2026:14:06:52] (root_api-) Query~SELECT count(1) as deckCount FROM tbl_deck WHERE deck_id = '91'~2026-04-13 14:06:52:0452~2026-04-13 14:06:52~success
[13/Apr/2026:14:06:52] (root_api-) Query~select ifnull(max(card_parent_id),0)+1 as maxId from tbl_card_parent~2026-04-13 14:06:52:0452~2026-04-13 14:06:52~success
[13/Apr/2026:14:06:52] (root_api-) In case tbl_card_parent Insert query = INSERT into tbl_card_parent (card_parent_id, last_version, draft_version, published_version, creation_date, created_by) 
                    VALUES (2853,'1','1','0', NOW(), '184')
[13/Apr/2026:14:06:52] (root_api-) Query~INSERT into tbl_card_parent (card_parent_id, last_version, draft_version, published_version, creation_date, created_by) 
                    VALUES (2853,'1','1','0', NOW(), '184')~2026-04-13 14:06:52:0452~2026-04-13 14:06:52~success
[13/Apr/2026:14:06:52] (root_api-) Query~select ifnull(max(card_parent_id),0) as lastInsertedId from tbl_card_parent~2026-04-13 14:06:52:0452~2026-04-13 14:06:52~success
[13/Apr/2026:14:06:52] (root_api-) Query~select ifnull(max(card_id),0)+1 as maxId from tbl_card~2026-04-13 14:06:52:0452~2026-04-13 14:06:52~success
[13/Apr/2026:14:06:52] (root_api-) In case tbl_card Insert query = INSERT into tbl_card (card_id, card_parent_id, version, card_style, status, card_type, question_text, answer_text, creation_date, created_by) 
                     VALUES (2853, 2853,  1, '0','Draft','main','','', NOW(), '184')
[13/Apr/2026:14:06:52] (root_api-) Query~INSERT into tbl_card (card_id, card_parent_id, version, card_style, status, card_type, question_text, answer_text, creation_date, created_by) 
                     VALUES (2853, 2853,  1, '0','Draft','main','','', NOW(), '184')~2026-04-13 14:06:52:0452~2026-04-13 14:06:52~success
[13/Apr/2026:14:06:52] (root_api-) Query~select ifnull(max(card_id),0) as lastInsertedId from tbl_card~2026-04-13 14:06:52:0452~2026-04-13 14:06:52~success
[13/Apr/2026:14:06:52] (root_api-) Query~UPDATE tbl_card set card_title = 'Card#2853' WHERE card_id= 2853~2026-04-13 14:06:52:0452~2026-04-13 14:06:52~success
[13/Apr/2026:14:06:52] (root_api-) Query~SELECT IFNULL(MAX(sequence), 0) as lastSequenceNumber FROM tbl_deck_card WHERE deck_id = '91'~2026-04-13 14:06:52:0452~2026-04-13 14:06:52~success
[13/Apr/2026:14:06:52] (root_api-) Query~select ifnull(max(deck_card_id),0)+1 as maxId from tbl_deck_card~2026-04-13 14:06:52:0452~2026-04-13 14:06:52~success
[13/Apr/2026:14:06:52] (root_api-) In case tbl_deck_card Insert query = INSERT into tbl_deck_card (deck_card_id, deck_id, card_id, sequence, creation_date, created_by) 
                        VALUES (2853,'91','2853','21', NOW(), '184')
[13/Apr/2026:14:06:52] (root_api-) Query~INSERT into tbl_deck_card (deck_card_id, deck_id, card_id, sequence, creation_date, created_by) 
                        VALUES (2853,'91','2853','21', NOW(), '184')~2026-04-13 14:06:52:0452~2026-04-13 14:06:52~success
[13/Apr/2026:14:06:52] (root_api-) Final JSON =  {"status":"ok","message":"Card inserted Successfully!!","Errorcode":"","data":"2853"}
[13/Apr/2026:14:06:52] (root_api-) token = 66bbc87451ad3590b670daae13ee0619 IP = 169.1.82.177
[13/Apr/2026:14:06:52] (root_api-) op => getSwitchRoles ,user_id => 184 ,org_id => 1 ,clid => 66bbc87451ad3590b670daae13ee0619 ,serviceName => user_data ,
[13/Apr/2026:14:06:52] (root_api-) OP= getSwitchRoles of page root_api.php
[13/Apr/2026:14:06:52] (root_api-) Query~SELECT count(u.user_id) as cnt FROM tbl_user_master u WHERE u.isActive = '1' AND u.user_id ='184'~2026-04-13 14:06:52:0452~2026-04-13 14:06:52~success
[13/Apr/2026:14:06:52] (root_api-) Query~SELECT count(1) as cnt FROM tbl_org  WHERE status = 'Active' AND org_id ='1'~2026-04-13 14:06:52:0452~2026-04-13 14:06:52~success
[13/Apr/2026:14:06:52] (root_api-) Query~SELECT count(1) as cnt FROM tbl_user_org u WHERE u.status = 'Active' AND u.user_id ='184' AND  org_id ='1'~2026-04-13 14:06:52:0452~2026-04-13 14:06:52~success
[13/Apr/2026:14:06:52] (root_api-) serviceName user_data
[13/Apr/2026:14:06:52] (root_api-) Query~SELECT u.user_org_id, u.org_id, u.role_id, um.email,o.org_name,r.role_name,o.short_name,CONCAT(u.role_id,'_',u.org_id) as user_org_role
            FROM tbl_user_org u 
            inner join tbl_org o on u.org_id=o.org_id
            inner join tbl_role_master r on r.role_id=u.role_id
            inner join tbl_user_master um on u.user_id = um.user_id
            where u.user_id= 184~2026-04-13 14:06:52:0452~2026-04-13 14:06:52~success
[13/Apr/2026:14:06:52] (root_api-) Final JSON =  {"status":"ok","message":"User Details fetched Successfully!!","Errorcode":"","data":[{"user_org_id":"225","org_id":"1","role_id":"3","email":"alhenaude20@gmail.com","org_name":"University Of Cape Town","role_name":"Learner","short_name":"UCT","user_org_role":"3_1"},{"user_org_id":"226","org_id":"2","role_id":"2","email":"alhenaude20@gmail.com","org_name":"C-Institute","role_name":"Educator","short_name":"C-Institute","user_org_role":"2_2"}]}
[13/Apr/2026:14:06:52] (root_api-) token = 66bbc87451ad3590b670daae13ee0619 IP = 169.1.82.177
[13/Apr/2026:14:06:52] (root_api-) op => getUsersCourseRole ,user_id => 184 ,course_id => 25 ,clid => 66bbc87451ad3590b670daae13ee0619 ,serviceName => course_data ,
[13/Apr/2026:14:06:52] (root_api-) OP= getUsersCourseRole of page root_api.php
[13/Apr/2026:14:06:52] (root_api-) Query~SELECT count(u.user_id) as cnt FROM tbl_user_master u WHERE u.isActive = '1' AND u.user_id ='184'~2026-04-13 14:06:52:0452~2026-04-13 14:06:52~success
[13/Apr/2026:14:06:52] (root_api-) serviceName course_data
[13/Apr/2026:14:06:52] (root_api-) Query~SELECT ed_role FROM tbl_course_educator WHERE  course_id = '25' AND user_id = 184~2026-04-13 14:06:52:0452~2026-04-13 14:06:52~success
[13/Apr/2026:14:06:52] (root_api-) Final JSON =  {"status":"ok","message":"","Errorcode":"","data":{"ed_role":"author"}}
[13/Apr/2026:14:06:53] (root_api-) token = 66bbc87451ad3590b670daae13ee0619 IP = 169.1.82.177
[13/Apr/2026:14:06:53] (root_api-) op => get-my-contents-card-info ,user_id => 184 ,course_id => 25 ,deckId => 91 ,cardId => 2853 ,clid => 66bbc87451ad3590b670daae13ee0619 ,serviceName => course_data ,
[13/Apr/2026:14:06:53] (root_api-) OP= get-my-contents-card-info of page root_api.php
[13/Apr/2026:14:06:53] (root_api-) Query~SELECT count(u.user_id) as cnt FROM tbl_user_master u WHERE u.isActive = '1' AND u.user_id ='184'~2026-04-13 14:06:53:0453~2026-04-13 14:06:53~success
[13/Apr/2026:14:06:53] (root_api-) serviceName course_data
[13/Apr/2026:14:06:53] (root_api-) Query~SELECT tc.card_id,tc.card_style,tc.card_title,tc.card_image_url,tc.card_video_url, CASE WHEN tc.card_style = 0 THEN 'Text' ELSE 'Image' END AS card_styleText  , tc.question_text, tc.status AS cardStatus, tc.answer_text, dc.deck_id,dc.sequence as cardSequence, tc.version, tc.card_parent_id
            FROM tbl_card tc
            INNER JOIN tbl_deck_card dc ON dc.card_id = tc.card_id
            Where dc.deck_id = '91' AND tc.card_id = '2853' AND tc.card_type = 'main' /*AND tc.created_by = '184'*/~2026-04-13 14:06:53:0453~2026-04-13 14:06:53~success
[13/Apr/2026:14:06:53] (root_api-) Query~select tc.card_parent_id, dc.deck_id as card_parent_deckid, tcd.course_id as card_parent_courseid from tbl_card tc, tbl_deck_card dc, tbl_course_deck tcd WHERE tc.card_parent_id=2853 AND tc.version = 0 AND tc.card_parent_id=dc.card_id AND dc.deck_id=tcd.deck_id~2026-04-13 14:06:53:0453~2026-04-13 14:06:53~success
[13/Apr/2026:14:06:53] (root_api-) Query~select tc.card_id as card_child_id, dc.deck_id as card_child_deckid, tcd.course_id as card_child_courseid from tbl_card tc, tbl_deck_card dc, tbl_course_deck tcd WHERE tc.card_parent_id=2853 AND tc.version = 2 AND tc.card_parent_id=dc.card_id AND dc.deck_id=tcd.deck_id~2026-04-13 14:06:53:0453~2026-04-13 14:06:53~success
[13/Apr/2026:14:06:53] (root_api-) Final JSON =  {"status":"ok",
                    "message":"",
                    "Errorcode":"",
                    "data":{"card_id":"2853","card_style":"0","card_title":"Card#2853","card_image_url":"","card_video_url":"","card_styleText":"Text","question_text":"","cardStatus":"Draft","answer_text":"","deck_id":"91","cardSequence":"21","version":"1","card_parent_id":null,"card_parent_deckid":null,"card_parent_courseid":null,"card_child_id":null,"card_child_deckid":null,"card_child_courseid":null}}
[13/Apr/2026:14:06:53] (root_api-) token = 66bbc87451ad3590b670daae13ee0619 IP = 169.1.82.177
[13/Apr/2026:14:06:53] (root_api-) op => getCourseDetail ,course_id => 25 ,clid => 66bbc87451ad3590b670daae13ee0619 ,serviceName => course_data ,
[13/Apr/2026:14:06:53] (root_api-) OP= getCourseDetail of page root_api.php
[13/Apr/2026:14:06:53] (root_api-) serviceName course_data
[13/Apr/2026:14:06:53] (root_api-) Query~SELECT * FROM tbl_course where course_id = '25' AND status NOT IN('Discard')~2026-04-13 14:06:53:0453~2026-04-13 14:06:53~success
[13/Apr/2026:14:06:53] (root_api-) Query~SELECT course_image_id, course_image, sequence, status FROM tbl_course_images where course_id = 25 ORDER BY sequence DESC~2026-04-13 14:06:53:0453~2026-04-13 14:06:53~success
[13/Apr/2026:14:06:53] (root_api-) Query~select course_id as prev_course_id from tbl_course where course_parent_id = 25 AND version = 0 AND status NOT IN('Discard')~2026-04-13 14:06:53:0453~2026-04-13 14:06:53~success
[13/Apr/2026:14:06:53] (root_api-) Query~select course_id as next_course_id from tbl_course where course_parent_id = 25 AND version = 2 AND status NOT IN('Discard')~2026-04-13 14:06:53:0453~2026-04-13 14:06:53~success
[13/Apr/2026:14:06:53] (root_api-) Final JSON =  {"status":"ok","message":"Course Details fetched Successfully","Errorcode":"","data":[{"course_id":"25","course_parent_id":"25","version":"1","org_id":"2","course_name":"Grade 8 Mathematics","short_name":"","status":"Draft","eval_id":"1","course_desc":"Grade 8 Mathematics aims to build strong foundational skills required to prepare learners for higher grades of mathematics and develop strong, appropriate mathematical reasoning and logical thinking. ","amount":"0","currency":null,"pay_type":"paid","course_brief":null,"course_duration":"16","background_color":"","text_color":"","creation_date":"2025-07-16 13:21:03","created_by":"184","updation_date":"2026-01-07 12:53:22","updated_by":"184","images":[],"parentid":"","childid":""}]}
[13/Apr/2026:14:06:53] (root_api-) token = 66bbc87451ad3590b670daae13ee0619 IP = 169.1.82.177
[13/Apr/2026:14:06:53] (root_api-) op => get-my-contents-deck-info ,user_id => 184 ,course_id => 25 ,deckId => 91 ,clid => 66bbc87451ad3590b670daae13ee0619 ,serviceName => course_data ,
[13/Apr/2026:14:06:53] (root_api-) OP= get-my-contents-deck-info of page root_api.php
[13/Apr/2026:14:06:53] (root_api-) Query~SELECT count(u.user_id) as cnt FROM tbl_user_master u WHERE u.isActive = '1' AND u.user_id ='184'~2026-04-13 14:06:53:0453~2026-04-13 14:06:53~success
[13/Apr/2026:14:06:53] (root_api-) serviceName course_data
[13/Apr/2026:14:06:53] (root_api-) Query~SELECT td.deck_id, td.created_by, tcd.course_id, 
            ifnull(tcd.deck_name,td.deck_name) deck_name,
            ifnull(tcd.short_name,td.short_name) short_name,
            ifnull(tcd.eval_id,td.eval_id) eval_id,
            ifnull(tcd.deck_desc,td.deck_desc) deck_desc,
            ifnull(tcd.deck_brief,td.deck_brief) deck_brief,
            td.status AS deckStatus,
            td.version
            FROM tbl_deck td 
            INNER JOIN tbl_course_deck tcd ON tcd.deck_id = td.deck_id AND course_id = '25' AND tcd.created_by = '184'
            Where td.deck_id = '91' AND td.deck_type = 'main' AND td.created_by = '184'~2026-04-13 14:06:53:0453~2026-04-13 14:06:53~success
[13/Apr/2026:14:06:53] (root_api-) Query~select td.deck_parent_id, cd.course_id as parent_courseid from tbl_deck td, tbl_course_deck cd where td.deck_id = 91 AND td.deck_parent_id <> 91 AND td.deck_parent_id = cd.deck_id~2026-04-13 14:06:53:0453~2026-04-13 14:06:53~success
[13/Apr/2026:14:06:53] (root_api-) Query~select td.deck_id as deck_child_id, cd.course_id as child_courseid from tbl_deck td, tbl_course_deck cd where td.deck_parent_id = 91 AND td.deck_id <> 91 AND td.deck_id = cd.deck_id~2026-04-13 14:06:53:0453~2026-04-13 14:06:53~success
[13/Apr/2026:14:06:53] (root_api-) Final JSON =  {"status":"ok",
                    "message":"",
                    "Errorcode":"",
                    "data":{"deck_id":"91","created_by":"184","course_id":"25","deck_name":"Probability ","short_name":"Probability ","eval_id":"1","deck_desc":"Probability looks at the possibility of an event occuring and in this deck we look at the basic terms used in probability as well as how to do probability calculations. ","deck_brief":"","deckStatus":"Draft","version":"1","parentid":"","childid":""}}
[13/Apr/2026:14:06:53] (root_api-) token = 66bbc87451ad3590b670daae13ee0619 IP = 169.1.82.177
[13/Apr/2026:14:06:53] (root_api-) op => api-refresh ,clid => 66bbc87451ad3590b670daae13ee0619 ,serviceName => common_data ,
[13/Apr/2026:14:06:53] (root_api-) OP= api-refresh of page root_api.php
[13/Apr/2026:14:06:53] (root_api-) serviceName common_data
[13/Apr/2026:14:06:53] (root_api-) Final JSON =  {"status":"ok","message":"","Errorcode":"","data":""}
[13/Apr/2026:14:18:54] (root_api-) token =  IP = 169.1.82.177
[13/Apr/2026:14:18:54] (root_api-) 
[13/Apr/2026:14:18:54] (root_api-) OP=  of page root_api.php
[13/Apr/2026:14:18:54] (root_api-) Final JSON =  { "status":"error",
					"message":"Invalid Session",
					"Errorcode":"err100",
					"data":{}}
[13/Apr/2026:14:18:54] (root_api-) token = 66bbc87451ad3590b670daae13ee0619 IP = 169.1.82.177
[13/Apr/2026:14:18:54] (root_api-) op => user-card-operation ,userId => 184 ,courseId => 25 ,cardDeckMode => edit ,cardDeckId => 91 ,questionText => <p>Anya plays with a packet of different types of sweets. She <u>picks a sweet out of the packet 20 times</u> before placing the sweet back in and trying again. Her results are recorded in the table</p><p>What is the relative frequency of Anya picking <u>either a lollipop or marshmallow</u>?</p><p><br></p><table class="table table-bordered"><tbody><tr><td>Sweet</td><td>Lollipop</td><td>Gummy</td><td>Marshmallow</td><td>Fudge&nbsp;</td></tr><tr><td>Frequency of sweet being drawn out</td><td>4</td><td>7</td><td>4</td><td>5</td></tr></tbody></table><p><br></p> ,answerText => <p>Relative frequency = frequency / number of trials&nbsp;</p><p>Frequency = picking either a lollipop or marshmallow </p><p>- occured 4 times for the lollipop</p><p>- occured 4 times for the marshmallow &nbsp;</p><p>Freqeuncy = 8&nbsp;</p><p>Number of trails = 20&nbsp;</p><p>.: <span style="background-color: rgb(206, 231, 247);">Relative frequency = 8/20&nbsp;</span></p><p>OR</p><p>.: <font color="#000000" style="background-color: rgb(206, 231, 247);">Relative freqeuncy = 2/5</font></p> ,editCardId => 2853 ,action => SAVE_AND_NEXT ,clid => 66bbc87451ad3590b670daae13ee0619 ,serviceName => deck_data ,
[13/Apr/2026:14:18:54] (root_api-) OP= user-card-operation of page root_api.php
[13/Apr/2026:14:18:54] (root_api-) serviceName deck_data
[13/Apr/2026:14:18:54] (root_api-) Query~SELECT count(1) as deckCardCount FROM tbl_deck_card WHERE deck_id = '91' AND card_id = '2853'~2026-04-13 14:18:54:0454~2026-04-13 14:18:54~success
[13/Apr/2026:14:18:54] (root_api-) Query~SELECT question_text, answer_text FROM tbl_card  WHERE card_id = '2853'~2026-04-13 14:18:54:0454~2026-04-13 14:18:54~success
[13/Apr/2026:14:18:54] (root_api-) In case Card Updated query = UPDATE tbl_card SET card_style = '0' , question_text = '<p>Anya plays with a packet of different types of sweets. She <u>picks a sweet out of the packet 20 times</u> before placing the sweet back in and trying again. Her results are recorded in the table</p><p>What is the relative frequency of Anya picking <u>either a lollipop or marshmallow</u>?</p><p><br></p><table class=\"table table-bordered\"><tbody><tr><td>Sweet</td><td>Lollipop</td><td>Gummy</td><td>Marshmallow</td><td>Fudge&nbsp;</td></tr><tr><td>Frequency of sweet being drawn out</td><td>4</td><td>7</td><td>4</td><td>5</td></tr></tbody></table><p><br></p>', answer_text = '<p>Relative frequency = frequency / number of trials&nbsp;</p><p>Frequency = picking either a lollipop or marshmallow </p><p>- occured 4 times for the lollipop</p><p>- occured 4 times for the marshmallow &nbsp;</p><p>Freqeuncy = 8&nbsp;</p><p>Number of trails = 20&nbsp;</p><p>.: <span style=\"background-color: rgb(206, 231, 247);\">Relative frequency = 8/20&nbsp;</span></p><p>OR</p><p>.: <font color=\"#000000\" style=\"background-color: rgb(206, 231, 247);\">Relative freqeuncy = 2/5</font></p>', card_type='main', updation_date = NOW(), updated_by = '184', card_title = '', card_image_url = '', 
                    onlyTextQuestion = '', onlyTextAnswer = '' 
                    WHERE card_id = '2853'
[13/Apr/2026:14:18:54] (root_api-) Query~UPDATE tbl_card SET card_style = '0' , question_text = '<p>Anya plays with a packet of different types of sweets. She <u>picks a sweet out of the packet 20 times</u> before placing the sweet back in and trying again. Her results are recorded in the table</p><p>What is the relative frequency of Anya picking <u>either a lollipop or marshmallow</u>?</p><p><br></p><table class=\"table table-bordered\"><tbody><tr><td>Sweet</td><td>Lollipop</td><td>Gummy</td><td>Marshmallow</td><td>Fudge&nbsp;</td></tr><tr><td>Frequency of sweet being drawn out</td><td>4</td><td>7</td><td>4</td><td>5</td></tr></tbody></table><p><br></p>', answer_text = '<p>Relative frequency = frequency / number of trials&nbsp;</p><p>Frequency = picking either a lollipop or marshmallow </p><p>- occured 4 times for the lollipop</p><p>- occured 4 times for the marshmallow &nbsp;</p><p>Freqeuncy = 8&nbsp;</p><p>Number of trails = 20&nbsp;</p><p>.: <span style=\"background-color: rgb(206, 231, 247);\">Relative frequency = 8/20&nbsp;</span></p><p>OR</p><p>.: <font color=\"#000000\" style=\"background-color: rgb(206, 231, 247);\">Relative freqeuncy = 2/5</font></p>', card_type='main', updation_date = NOW(), updated_by = '184', card_title = '', card_image_url = '', 
                    onlyTextQuestion = '', onlyTextAnswer = '' 
                    WHERE card_id = '2853'~2026-04-13 14:18:54:0454~2026-04-13 14:18:54~success
[13/Apr/2026:14:18:54] (root_api-) Final JSON =  {"status":"ok","message":"Card Created Successfully!!","Errorcode":"","data":"","action":"SAVE_AND_NEXT"}
[13/Apr/2026:14:18:56] (root_api-) token = 66bbc87451ad3590b670daae13ee0619 IP = 169.1.82.177
[13/Apr/2026:14:18:56] (root_api-) op => getSwitchRoles ,user_id => 184 ,org_id => 1 ,clid => 66bbc87451ad3590b670daae13ee0619 ,serviceName => user_data ,
[13/Apr/2026:14:18:56] (root_api-) OP= getSwitchRoles of page root_api.php
[13/Apr/2026:14:18:56] (root_api-) Query~SELECT count(u.user_id) as cnt FROM tbl_user_master u WHERE u.isActive = '1' AND u.user_id ='184'~2026-04-13 14:18:56:0456~2026-04-13 14:18:56~success
[13/Apr/2026:14:18:56] (root_api-) Query~SELECT count(1) as cnt FROM tbl_org  WHERE status = 'Active' AND org_id ='1'~2026-04-13 14:18:56:0456~2026-04-13 14:18:56~success
[13/Apr/2026:14:18:56] (root_api-) Query~SELECT count(1) as cnt FROM tbl_user_org u WHERE u.status = 'Active' AND u.user_id ='184' AND  org_id ='1'~2026-04-13 14:18:56:0456~2026-04-13 14:18:56~success
[13/Apr/2026:14:18:56] (root_api-) serviceName user_data
[13/Apr/2026:14:18:56] (root_api-) Query~SELECT u.user_org_id, u.org_id, u.role_id, um.email,o.org_name,r.role_name,o.short_name,CONCAT(u.role_id,'_',u.org_id) as user_org_role
            FROM tbl_user_org u 
            inner join tbl_org o on u.org_id=o.org_id
            inner join tbl_role_master r on r.role_id=u.role_id
            inner join tbl_user_master um on u.user_id = um.user_id
            where u.user_id= 184~2026-04-13 14:18:56:0456~2026-04-13 14:18:56~success
[13/Apr/2026:14:18:56] (root_api-) Final JSON =  {"status":"ok","message":"User Details fetched Successfully!!","Errorcode":"","data":[{"user_org_id":"225","org_id":"1","role_id":"3","email":"alhenaude20@gmail.com","org_name":"University Of Cape Town","role_name":"Learner","short_name":"UCT","user_org_role":"3_1"},{"user_org_id":"226","org_id":"2","role_id":"2","email":"alhenaude20@gmail.com","org_name":"C-Institute","role_name":"Educator","short_name":"C-Institute","user_org_role":"2_2"}]}
[13/Apr/2026:14:18:56] (root_api-) token = 66bbc87451ad3590b670daae13ee0619 IP = 169.1.82.177
[13/Apr/2026:14:18:56] (root_api-) op => createBlankCard ,course_id => 25 ,cardDeckId => 91 ,userId => 184 ,clid => 66bbc87451ad3590b670daae13ee0619 ,serviceName => deck_data ,
[13/Apr/2026:14:18:56] (root_api-) OP= createBlankCard of page root_api.php
[13/Apr/2026:14:18:56] (root_api-) serviceName deck_data
[13/Apr/2026:14:18:56] (root_api-) Query~SELECT count(1) as deckCount FROM tbl_deck WHERE deck_id = '91'~2026-04-13 14:18:56:0456~2026-04-13 14:18:56~success
[13/Apr/2026:14:18:56] (root_api-) Query~select ifnull(max(card_parent_id),0)+1 as maxId from tbl_card_parent~2026-04-13 14:18:56:0456~2026-04-13 14:18:56~success
[13/Apr/2026:14:18:56] (root_api-) In case tbl_card_parent Insert query = INSERT into tbl_card_parent (card_parent_id, last_version, draft_version, published_version, creation_date, created_by) 
                    VALUES (2854,'1','1','0', NOW(), '184')
[13/Apr/2026:14:18:56] (root_api-) Query~INSERT into tbl_card_parent (card_parent_id, last_version, draft_version, published_version, creation_date, created_by) 
                    VALUES (2854,'1','1','0', NOW(), '184')~2026-04-13 14:18:56:0456~2026-04-13 14:18:56~success
[13/Apr/2026:14:18:56] (root_api-) Query~select ifnull(max(card_parent_id),0) as lastInsertedId from tbl_card_parent~2026-04-13 14:18:56:0456~2026-04-13 14:18:56~success
[13/Apr/2026:14:18:56] (root_api-) Query~select ifnull(max(card_id),0)+1 as maxId from tbl_card~2026-04-13 14:18:56:0456~2026-04-13 14:18:56~success
[13/Apr/2026:14:18:56] (root_api-) In case tbl_card Insert query = INSERT into tbl_card (card_id, card_parent_id, version, card_style, status, card_type, question_text, answer_text, creation_date, created_by) 
                     VALUES (2854, 2854,  1, '0','Draft','main','','', NOW(), '184')
[13/Apr/2026:14:18:56] (root_api-) Query~INSERT into tbl_card (card_id, card_parent_id, version, card_style, status, card_type, question_text, answer_text, creation_date, created_by) 
                     VALUES (2854, 2854,  1, '0','Draft','main','','', NOW(), '184')~2026-04-13 14:18:56:0456~2026-04-13 14:18:56~success
[13/Apr/2026:14:18:56] (root_api-) Query~select ifnull(max(card_id),0) as lastInsertedId from tbl_card~2026-04-13 14:18:56:0456~2026-04-13 14:18:56~success
[13/Apr/2026:14:18:56] (root_api-) Query~UPDATE tbl_card set card_title = 'Card#2854' WHERE card_id= 2854~2026-04-13 14:18:56:0456~2026-04-13 14:18:56~success
[13/Apr/2026:14:18:56] (root_api-) Query~SELECT IFNULL(MAX(sequence), 0) as lastSequenceNumber FROM tbl_deck_card WHERE deck_id = '91'~2026-04-13 14:18:56:0456~2026-04-13 14:18:56~success
[13/Apr/2026:14:18:56] (root_api-) Query~select ifnull(max(deck_card_id),0)+1 as maxId from tbl_deck_card~2026-04-13 14:18:56:0456~2026-04-13 14:18:56~success
[13/Apr/2026:14:18:56] (root_api-) In case tbl_deck_card Insert query = INSERT into tbl_deck_card (deck_card_id, deck_id, card_id, sequence, creation_date, created_by) 
                        VALUES (2854,'91','2854','22', NOW(), '184')
[13/Apr/2026:14:18:56] (root_api-) Query~INSERT into tbl_deck_card (deck_card_id, deck_id, card_id, sequence, creation_date, created_by) 
                        VALUES (2854,'91','2854','22', NOW(), '184')~2026-04-13 14:18:56:0456~2026-04-13 14:18:56~success
[13/Apr/2026:14:18:56] (root_api-) Final JSON =  {"status":"ok","message":"Card inserted Successfully!!","Errorcode":"","data":"2854"}
[13/Apr/2026:14:18:56] (root_api-) token = 66bbc87451ad3590b670daae13ee0619 IP = 169.1.82.177
[13/Apr/2026:14:18:56] (root_api-) op => getSwitchRoles ,user_id => 184 ,org_id => 1 ,clid => 66bbc87451ad3590b670daae13ee0619 ,serviceName => user_data ,
[13/Apr/2026:14:18:56] (root_api-) OP= getSwitchRoles of page root_api.php
[13/Apr/2026:14:18:56] (root_api-) Query~SELECT count(u.user_id) as cnt FROM tbl_user_master u WHERE u.isActive = '1' AND u.user_id ='184'~2026-04-13 14:18:56:0456~2026-04-13 14:18:56~success
[13/Apr/2026:14:18:56] (root_api-) Query~SELECT count(1) as cnt FROM tbl_org  WHERE status = 'Active' AND org_id ='1'~2026-04-13 14:18:56:0456~2026-04-13 14:18:56~success
[13/Apr/2026:14:18:56] (root_api-) Query~SELECT count(1) as cnt FROM tbl_user_org u WHERE u.status = 'Active' AND u.user_id ='184' AND  org_id ='1'~2026-04-13 14:18:56:0456~2026-04-13 14:18:56~success
[13/Apr/2026:14:18:56] (root_api-) serviceName user_data
[13/Apr/2026:14:18:56] (root_api-) Query~SELECT u.user_org_id, u.org_id, u.role_id, um.email,o.org_name,r.role_name,o.short_name,CONCAT(u.role_id,'_',u.org_id) as user_org_role
            FROM tbl_user_org u 
            inner join tbl_org o on u.org_id=o.org_id
            inner join tbl_role_master r on r.role_id=u.role_id
            inner join tbl_user_master um on u.user_id = um.user_id
            where u.user_id= 184~2026-04-13 14:18:56:0456~2026-04-13 14:18:56~success
[13/Apr/2026:14:18:56] (root_api-) Final JSON =  {"status":"ok","message":"User Details fetched Successfully!!","Errorcode":"","data":[{"user_org_id":"225","org_id":"1","role_id":"3","email":"alhenaude20@gmail.com","org_name":"University Of Cape Town","role_name":"Learner","short_name":"UCT","user_org_role":"3_1"},{"user_org_id":"226","org_id":"2","role_id":"2","email":"alhenaude20@gmail.com","org_name":"C-Institute","role_name":"Educator","short_name":"C-Institute","user_org_role":"2_2"}]}
[13/Apr/2026:14:18:56] (root_api-) token = 66bbc87451ad3590b670daae13ee0619 IP = 169.1.82.177
[13/Apr/2026:14:18:56] (root_api-) op => getUsersCourseRole ,user_id => 184 ,course_id => 25 ,clid => 66bbc87451ad3590b670daae13ee0619 ,serviceName => course_data ,
[13/Apr/2026:14:18:56] (root_api-) OP= getUsersCourseRole of page root_api.php
[13/Apr/2026:14:18:56] (root_api-) Query~SELECT count(u.user_id) as cnt FROM tbl_user_master u WHERE u.isActive = '1' AND u.user_id ='184'~2026-04-13 14:18:56:0456~2026-04-13 14:18:56~success
[13/Apr/2026:14:18:56] (root_api-) serviceName course_data
[13/Apr/2026:14:18:56] (root_api-) Query~SELECT ed_role FROM tbl_course_educator WHERE  course_id = '25' AND user_id = 184~2026-04-13 14:18:56:0456~2026-04-13 14:18:56~success
[13/Apr/2026:14:18:56] (root_api-) Final JSON =  {"status":"ok","message":"","Errorcode":"","data":{"ed_role":"author"}}
[13/Apr/2026:14:18:56] (root_api-) token = 66bbc87451ad3590b670daae13ee0619 IP = 169.1.82.177
[13/Apr/2026:14:18:56] (root_api-) op => get-my-contents-card-info ,user_id => 184 ,course_id => 25 ,deckId => 91 ,cardId => 2854 ,clid => 66bbc87451ad3590b670daae13ee0619 ,serviceName => course_data ,
[13/Apr/2026:14:18:56] (root_api-) OP= get-my-contents-card-info of page root_api.php
[13/Apr/2026:14:18:56] (root_api-) Query~SELECT count(u.user_id) as cnt FROM tbl_user_master u WHERE u.isActive = '1' AND u.user_id ='184'~2026-04-13 14:18:56:0456~2026-04-13 14:18:56~success
[13/Apr/2026:14:18:56] (root_api-) serviceName course_data
[13/Apr/2026:14:18:56] (root_api-) Query~SELECT tc.card_id,tc.card_style,tc.card_title,tc.card_image_url,tc.card_video_url, CASE WHEN tc.card_style = 0 THEN 'Text' ELSE 'Image' END AS card_styleText  , tc.question_text, tc.status AS cardStatus, tc.answer_text, dc.deck_id,dc.sequence as cardSequence, tc.version, tc.card_parent_id
            FROM tbl_card tc
            INNER JOIN tbl_deck_card dc ON dc.card_id = tc.card_id
            Where dc.deck_id = '91' AND tc.card_id = '2854' AND tc.card_type = 'main' /*AND tc.created_by = '184'*/~2026-04-13 14:18:56:0456~2026-04-13 14:18:56~success
[13/Apr/2026:14:18:56] (root_api-) Query~select tc.card_parent_id, dc.deck_id as card_parent_deckid, tcd.course_id as card_parent_courseid from tbl_card tc, tbl_deck_card dc, tbl_course_deck tcd WHERE tc.card_parent_id=2854 AND tc.version = 0 AND tc.card_parent_id=dc.card_id AND dc.deck_id=tcd.deck_id~2026-04-13 14:18:56:0456~2026-04-13 14:18:56~success
[13/Apr/2026:14:18:56] (root_api-) Query~select tc.card_id as card_child_id, dc.deck_id as card_child_deckid, tcd.course_id as card_child_courseid from tbl_card tc, tbl_deck_card dc, tbl_course_deck tcd WHERE tc.card_parent_id=2854 AND tc.version = 2 AND tc.card_parent_id=dc.card_id AND dc.deck_id=tcd.deck_id~2026-04-13 14:18:56:0456~2026-04-13 14:18:56~success
[13/Apr/2026:14:18:56] (root_api-) Final JSON =  {"status":"ok",
                    "message":"",
                    "Errorcode":"",
                    "data":{"card_id":"2854","card_style":"0","card_title":"Card#2854","card_image_url":"","card_video_url":"","card_styleText":"Text","question_text":"","cardStatus":"Draft","answer_text":"","deck_id":"91","cardSequence":"22","version":"1","card_parent_id":null,"card_parent_deckid":null,"card_parent_courseid":null,"card_child_id":null,"card_child_deckid":null,"card_child_courseid":null}}
[13/Apr/2026:14:18:56] (root_api-) token = 66bbc87451ad3590b670daae13ee0619 IP = 169.1.82.177
[13/Apr/2026:14:18:56] (root_api-) op => getCourseDetail ,course_id => 25 ,clid => 66bbc87451ad3590b670daae13ee0619 ,serviceName => course_data ,
[13/Apr/2026:14:18:56] (root_api-) OP= getCourseDetail of page root_api.php
[13/Apr/2026:14:18:56] (root_api-) serviceName course_data
[13/Apr/2026:14:18:56] (root_api-) Query~SELECT * FROM tbl_course where course_id = '25' AND status NOT IN('Discard')~2026-04-13 14:18:56:0456~2026-04-13 14:18:56~success
[13/Apr/2026:14:18:56] (root_api-) Query~SELECT course_image_id, course_image, sequence, status FROM tbl_course_images where course_id = 25 ORDER BY sequence DESC~2026-04-13 14:18:56:0456~2026-04-13 14:18:56~success
[13/Apr/2026:14:18:56] (root_api-) Query~select course_id as prev_course_id from tbl_course where course_parent_id = 25 AND version = 0 AND status NOT IN('Discard')~2026-04-13 14:18:56:0456~2026-04-13 14:18:56~success
[13/Apr/2026:14:18:56] (root_api-) Query~select course_id as next_course_id from tbl_course where course_parent_id = 25 AND version = 2 AND status NOT IN('Discard')~2026-04-13 14:18:56:0456~2026-04-13 14:18:56~success
[13/Apr/2026:14:18:56] (root_api-) Final JSON =  {"status":"ok","message":"Course Details fetched Successfully","Errorcode":"","data":[{"course_id":"25","course_parent_id":"25","version":"1","org_id":"2","course_name":"Grade 8 Mathematics","short_name":"","status":"Draft","eval_id":"1","course_desc":"Grade 8 Mathematics aims to build strong foundational skills required to prepare learners for higher grades of mathematics and develop strong, appropriate mathematical reasoning and logical thinking. ","amount":"0","currency":null,"pay_type":"paid","course_brief":null,"course_duration":"16","background_color":"","text_color":"","creation_date":"2025-07-16 13:21:03","created_by":"184","updation_date":"2026-01-07 12:53:22","updated_by":"184","images":[],"parentid":"","childid":""}]}
[13/Apr/2026:14:18:56] (root_api-) token = 66bbc87451ad3590b670daae13ee0619 IP = 169.1.82.177
[13/Apr/2026:14:18:56] (root_api-) op => get-my-contents-deck-info ,user_id => 184 ,course_id => 25 ,deckId => 91 ,clid => 66bbc87451ad3590b670daae13ee0619 ,serviceName => course_data ,
[13/Apr/2026:14:18:56] (root_api-) OP= get-my-contents-deck-info of page root_api.php
[13/Apr/2026:14:18:56] (root_api-) Query~SELECT count(u.user_id) as cnt FROM tbl_user_master u WHERE u.isActive = '1' AND u.user_id ='184'~2026-04-13 14:18:56:0456~2026-04-13 14:18:56~success
[13/Apr/2026:14:18:56] (root_api-) serviceName course_data
[13/Apr/2026:14:18:56] (root_api-) Query~SELECT td.deck_id, td.created_by, tcd.course_id, 
            ifnull(tcd.deck_name,td.deck_name) deck_name,
            ifnull(tcd.short_name,td.short_name) short_name,
            ifnull(tcd.eval_id,td.eval_id) eval_id,
            ifnull(tcd.deck_desc,td.deck_desc) deck_desc,
            ifnull(tcd.deck_brief,td.deck_brief) deck_brief,
            td.status AS deckStatus,
            td.version
            FROM tbl_deck td 
            INNER JOIN tbl_course_deck tcd ON tcd.deck_id = td.deck_id AND course_id = '25' AND tcd.created_by = '184'
            Where td.deck_id = '91' AND td.deck_type = 'main' AND td.created_by = '184'~2026-04-13 14:18:56:0456~2026-04-13 14:18:56~success
[13/Apr/2026:14:18:56] (root_api-) Query~select td.deck_parent_id, cd.course_id as parent_courseid from tbl_deck td, tbl_course_deck cd where td.deck_id = 91 AND td.deck_parent_id <> 91 AND td.deck_parent_id = cd.deck_id~2026-04-13 14:18:56:0456~2026-04-13 14:18:56~success
[13/Apr/2026:14:18:56] (root_api-) Query~select td.deck_id as deck_child_id, cd.course_id as child_courseid from tbl_deck td, tbl_course_deck cd where td.deck_parent_id = 91 AND td.deck_id <> 91 AND td.deck_id = cd.deck_id~2026-04-13 14:18:56:0456~2026-04-13 14:18:56~success
[13/Apr/2026:14:18:56] (root_api-) Final JSON =  {"status":"ok",
                    "message":"",
                    "Errorcode":"",
                    "data":{"deck_id":"91","created_by":"184","course_id":"25","deck_name":"Probability ","short_name":"Probability ","eval_id":"1","deck_desc":"Probability looks at the possibility of an event occuring and in this deck we look at the basic terms used in probability as well as how to do probability calculations. ","deck_brief":"","deckStatus":"Draft","version":"1","parentid":"","childid":""}}
[13/Apr/2026:14:18:57] (root_api-) token = 66bbc87451ad3590b670daae13ee0619 IP = 169.1.82.177
[13/Apr/2026:14:18:57] (root_api-) op => api-refresh ,clid => 66bbc87451ad3590b670daae13ee0619 ,serviceName => common_data ,
[13/Apr/2026:14:18:57] (root_api-) OP= api-refresh of page root_api.php
[13/Apr/2026:14:18:57] (root_api-) serviceName common_data
[13/Apr/2026:14:18:57] (root_api-) Final JSON =  {"status":"ok","message":"","Errorcode":"","data":""}
[13/Apr/2026:14:20:00] (root_api-) token =  IP = 169.1.82.177
[13/Apr/2026:14:20:00] (root_api-) 
[13/Apr/2026:14:20:00] (root_api-) OP=  of page root_api.php
[13/Apr/2026:14:20:00] (root_api-) Final JSON =  { "status":"error",
					"message":"Invalid Session",
					"Errorcode":"err100",
					"data":{}}
[13/Apr/2026:14:20:00] (root_api-) token = 66bbc87451ad3590b670daae13ee0619 IP = 169.1.82.177
[13/Apr/2026:14:20:00] (root_api-) op => user-card-operation ,userId => 184 ,courseId => 25 ,cardDeckMode => edit ,cardDeckId => 91 ,questionText => <p>Hlumani plays with buttons in a packet. There are 60 buttons in the packet, each one bearing a dfferent pattern or size. </p><p>What fraction represents the chances of a drawing a small yellow button?</p><p><br></p> ,answerText => <p>P = Event / Sample Space</p><p>Event = picking a small yellow button (1 outcome)</p><p> Sample Space = all buttons (60)</p><p>.: <span style="background-color: rgb(206, 231, 247);">P = 1/60&nbsp;</span></p> ,editCardId => 2854 ,action => SAVE_AND_NEXT ,clid => 66bbc87451ad3590b670daae13ee0619 ,serviceName => deck_data ,
[13/Apr/2026:14:20:00] (root_api-) OP= user-card-operation of page root_api.php
[13/Apr/2026:14:20:00] (root_api-) serviceName deck_data
[13/Apr/2026:14:20:00] (root_api-) Query~SELECT count(1) as deckCardCount FROM tbl_deck_card WHERE deck_id = '91' AND card_id = '2854'~2026-04-13 14:20:00:0400~2026-04-13 14:20:00~success
[13/Apr/2026:14:20:00] (root_api-) Query~SELECT question_text, answer_text FROM tbl_card  WHERE card_id = '2854'~2026-04-13 14:20:00:0400~2026-04-13 14:20:00~success
[13/Apr/2026:14:20:00] (root_api-) In case Card Updated query = UPDATE tbl_card SET card_style = '0' , question_text = '<p>Hlumani plays with buttons in a packet. There are 60 buttons in the packet, each one bearing a dfferent pattern or size. </p><p>What fraction represents the chances of a drawing a small yellow button?</p><p><br></p>', answer_text = '<p>P = Event / Sample Space</p><p>Event = picking a small yellow button (1 outcome)</p><p> Sample Space = all buttons (60)</p><p>.: <span style=\"background-color: rgb(206, 231, 247);\">P = 1/60&nbsp;</span></p>', card_type='main', updation_date = NOW(), updated_by = '184', card_title = '', card_image_url = '', 
                    onlyTextQuestion = '', onlyTextAnswer = '' 
                    WHERE card_id = '2854'
[13/Apr/2026:14:20:00] (root_api-) Query~UPDATE tbl_card SET card_style = '0' , question_text = '<p>Hlumani plays with buttons in a packet. There are 60 buttons in the packet, each one bearing a dfferent pattern or size. </p><p>What fraction represents the chances of a drawing a small yellow button?</p><p><br></p>', answer_text = '<p>P = Event / Sample Space</p><p>Event = picking a small yellow button (1 outcome)</p><p> Sample Space = all buttons (60)</p><p>.: <span style=\"background-color: rgb(206, 231, 247);\">P = 1/60&nbsp;</span></p>', card_type='main', updation_date = NOW(), updated_by = '184', card_title = '', card_image_url = '', 
                    onlyTextQuestion = '', onlyTextAnswer = '' 
                    WHERE card_id = '2854'~2026-04-13 14:20:00:0400~2026-04-13 14:20:00~success
[13/Apr/2026:14:20:00] (root_api-) Final JSON =  {"status":"ok","message":"Card Created Successfully!!","Errorcode":"","data":"","action":"SAVE_AND_NEXT"}
[13/Apr/2026:14:20:01] (root_api-) token = 66bbc87451ad3590b670daae13ee0619 IP = 169.1.82.177
[13/Apr/2026:14:20:01] (root_api-) op => getSwitchRoles ,user_id => 184 ,org_id => 1 ,clid => 66bbc87451ad3590b670daae13ee0619 ,serviceName => user_data ,
[13/Apr/2026:14:20:01] (root_api-) OP= getSwitchRoles of page root_api.php
[13/Apr/2026:14:20:01] (root_api-) Query~SELECT count(u.user_id) as cnt FROM tbl_user_master u WHERE u.isActive = '1' AND u.user_id ='184'~2026-04-13 14:20:01:0401~2026-04-13 14:20:01~success
[13/Apr/2026:14:20:01] (root_api-) Query~SELECT count(1) as cnt FROM tbl_org  WHERE status = 'Active' AND org_id ='1'~2026-04-13 14:20:01:0401~2026-04-13 14:20:01~success
[13/Apr/2026:14:20:01] (root_api-) Query~SELECT count(1) as cnt FROM tbl_user_org u WHERE u.status = 'Active' AND u.user_id ='184' AND  org_id ='1'~2026-04-13 14:20:01:0401~2026-04-13 14:20:01~success
[13/Apr/2026:14:20:01] (root_api-) serviceName user_data
[13/Apr/2026:14:20:01] (root_api-) Query~SELECT u.user_org_id, u.org_id, u.role_id, um.email,o.org_name,r.role_name,o.short_name,CONCAT(u.role_id,'_',u.org_id) as user_org_role
            FROM tbl_user_org u 
            inner join tbl_org o on u.org_id=o.org_id
            inner join tbl_role_master r on r.role_id=u.role_id
            inner join tbl_user_master um on u.user_id = um.user_id
            where u.user_id= 184~2026-04-13 14:20:01:0401~2026-04-13 14:20:01~success
[13/Apr/2026:14:20:01] (root_api-) Final JSON =  {"status":"ok","message":"User Details fetched Successfully!!","Errorcode":"","data":[{"user_org_id":"225","org_id":"1","role_id":"3","email":"alhenaude20@gmail.com","org_name":"University Of Cape Town","role_name":"Learner","short_name":"UCT","user_org_role":"3_1"},{"user_org_id":"226","org_id":"2","role_id":"2","email":"alhenaude20@gmail.com","org_name":"C-Institute","role_name":"Educator","short_name":"C-Institute","user_org_role":"2_2"}]}
[13/Apr/2026:14:20:01] (root_api-) token = 66bbc87451ad3590b670daae13ee0619 IP = 169.1.82.177
[13/Apr/2026:14:20:01] (root_api-) op => createBlankCard ,course_id => 25 ,cardDeckId => 91 ,userId => 184 ,clid => 66bbc87451ad3590b670daae13ee0619 ,serviceName => deck_data ,
[13/Apr/2026:14:20:01] (root_api-) OP= createBlankCard of page root_api.php
[13/Apr/2026:14:20:01] (root_api-) serviceName deck_data
[13/Apr/2026:14:20:01] (root_api-) Query~SELECT count(1) as deckCount FROM tbl_deck WHERE deck_id = '91'~2026-04-13 14:20:01:0401~2026-04-13 14:20:01~success
[13/Apr/2026:14:20:01] (root_api-) Query~select ifnull(max(card_parent_id),0)+1 as maxId from tbl_card_parent~2026-04-13 14:20:01:0401~2026-04-13 14:20:01~success
[13/Apr/2026:14:20:01] (root_api-) In case tbl_card_parent Insert query = INSERT into tbl_card_parent (card_parent_id, last_version, draft_version, published_version, creation_date, created_by) 
                    VALUES (2855,'1','1','0', NOW(), '184')
[13/Apr/2026:14:20:01] (root_api-) Query~INSERT into tbl_card_parent (card_parent_id, last_version, draft_version, published_version, creation_date, created_by) 
                    VALUES (2855,'1','1','0', NOW(), '184')~2026-04-13 14:20:01:0401~2026-04-13 14:20:01~success
[13/Apr/2026:14:20:01] (root_api-) Query~select ifnull(max(card_parent_id),0) as lastInsertedId from tbl_card_parent~2026-04-13 14:20:01:0401~2026-04-13 14:20:01~success
[13/Apr/2026:14:20:01] (root_api-) Query~select ifnull(max(card_id),0)+1 as maxId from tbl_card~2026-04-13 14:20:01:0401~2026-04-13 14:20:01~success
[13/Apr/2026:14:20:01] (root_api-) In case tbl_card Insert query = INSERT into tbl_card (card_id, card_parent_id, version, card_style, status, card_type, question_text, answer_text, creation_date, created_by) 
                     VALUES (2855, 2855,  1, '0','Draft','main','','', NOW(), '184')
[13/Apr/2026:14:20:01] (root_api-) Query~INSERT into tbl_card (card_id, card_parent_id, version, card_style, status, card_type, question_text, answer_text, creation_date, created_by) 
                     VALUES (2855, 2855,  1, '0','Draft','main','','', NOW(), '184')~2026-04-13 14:20:01:0401~2026-04-13 14:20:01~success
[13/Apr/2026:14:20:01] (root_api-) Query~select ifnull(max(card_id),0) as lastInsertedId from tbl_card~2026-04-13 14:20:01:0401~2026-04-13 14:20:01~success
[13/Apr/2026:14:20:02] (root_api-) Query~UPDATE tbl_card set card_title = 'Card#2855' WHERE card_id= 2855~2026-04-13 14:20:01:0401~2026-04-13 14:20:02~success
[13/Apr/2026:14:20:02] (root_api-) Query~SELECT IFNULL(MAX(sequence), 0) as lastSequenceNumber FROM tbl_deck_card WHERE deck_id = '91'~2026-04-13 14:20:02:0402~2026-04-13 14:20:02~success
[13/Apr/2026:14:20:02] (root_api-) Query~select ifnull(max(deck_card_id),0)+1 as maxId from tbl_deck_card~2026-04-13 14:20:02:0402~2026-04-13 14:20:02~success
[13/Apr/2026:14:20:02] (root_api-) In case tbl_deck_card Insert query = INSERT into tbl_deck_card (deck_card_id, deck_id, card_id, sequence, creation_date, created_by) 
                        VALUES (2855,'91','2855','23', NOW(), '184')
[13/Apr/2026:14:20:02] (root_api-) Query~INSERT into tbl_deck_card (deck_card_id, deck_id, card_id, sequence, creation_date, created_by) 
                        VALUES (2855,'91','2855','23', NOW(), '184')~2026-04-13 14:20:02:0402~2026-04-13 14:20:02~success
[13/Apr/2026:14:20:02] (root_api-) Final JSON =  {"status":"ok","message":"Card inserted Successfully!!","Errorcode":"","data":"2855"}
[13/Apr/2026:14:20:02] (root_api-) token = 66bbc87451ad3590b670daae13ee0619 IP = 169.1.82.177
[13/Apr/2026:14:20:02] (root_api-) op => getSwitchRoles ,user_id => 184 ,org_id => 1 ,clid => 66bbc87451ad3590b670daae13ee0619 ,serviceName => user_data ,
[13/Apr/2026:14:20:02] (root_api-) OP= getSwitchRoles of page root_api.php
[13/Apr/2026:14:20:02] (root_api-) Query~SELECT count(u.user_id) as cnt FROM tbl_user_master u WHERE u.isActive = '1' AND u.user_id ='184'~2026-04-13 14:20:02:0402~2026-04-13 14:20:02~success
[13/Apr/2026:14:20:02] (root_api-) Query~SELECT count(1) as cnt FROM tbl_org  WHERE status = 'Active' AND org_id ='1'~2026-04-13 14:20:02:0402~2026-04-13 14:20:02~success
[13/Apr/2026:14:20:02] (root_api-) Query~SELECT count(1) as cnt FROM tbl_user_org u WHERE u.status = 'Active' AND u.user_id ='184' AND  org_id ='1'~2026-04-13 14:20:02:0402~2026-04-13 14:20:02~success
[13/Apr/2026:14:20:02] (root_api-) serviceName user_data
[13/Apr/2026:14:20:02] (root_api-) Query~SELECT u.user_org_id, u.org_id, u.role_id, um.email,o.org_name,r.role_name,o.short_name,CONCAT(u.role_id,'_',u.org_id) as user_org_role
            FROM tbl_user_org u 
            inner join tbl_org o on u.org_id=o.org_id
            inner join tbl_role_master r on r.role_id=u.role_id
            inner join tbl_user_master um on u.user_id = um.user_id
            where u.user_id= 184~2026-04-13 14:20:02:0402~2026-04-13 14:20:02~success
[13/Apr/2026:14:20:02] (root_api-) Final JSON =  {"status":"ok","message":"User Details fetched Successfully!!","Errorcode":"","data":[{"user_org_id":"225","org_id":"1","role_id":"3","email":"alhenaude20@gmail.com","org_name":"University Of Cape Town","role_name":"Learner","short_name":"UCT","user_org_role":"3_1"},{"user_org_id":"226","org_id":"2","role_id":"2","email":"alhenaude20@gmail.com","org_name":"C-Institute","role_name":"Educator","short_name":"C-Institute","user_org_role":"2_2"}]}
[13/Apr/2026:14:20:02] (root_api-) token = 66bbc87451ad3590b670daae13ee0619 IP = 169.1.82.177
[13/Apr/2026:14:20:02] (root_api-) op => getUsersCourseRole ,user_id => 184 ,course_id => 25 ,clid => 66bbc87451ad3590b670daae13ee0619 ,serviceName => course_data ,
[13/Apr/2026:14:20:02] (root_api-) OP= getUsersCourseRole of page root_api.php
[13/Apr/2026:14:20:02] (root_api-) Query~SELECT count(u.user_id) as cnt FROM tbl_user_master u WHERE u.isActive = '1' AND u.user_id ='184'~2026-04-13 14:20:02:0402~2026-04-13 14:20:02~success
[13/Apr/2026:14:20:02] (root_api-) serviceName course_data
[13/Apr/2026:14:20:02] (root_api-) Query~SELECT ed_role FROM tbl_course_educator WHERE  course_id = '25' AND user_id = 184~2026-04-13 14:20:02:0402~2026-04-13 14:20:02~success
[13/Apr/2026:14:20:02] (root_api-) Final JSON =  {"status":"ok","message":"","Errorcode":"","data":{"ed_role":"author"}}
[13/Apr/2026:14:20:02] (root_api-) token = 66bbc87451ad3590b670daae13ee0619 IP = 169.1.82.177
[13/Apr/2026:14:20:02] (root_api-) op => get-my-contents-card-info ,user_id => 184 ,course_id => 25 ,deckId => 91 ,cardId => 2855 ,clid => 66bbc87451ad3590b670daae13ee0619 ,serviceName => course_data ,
[13/Apr/2026:14:20:02] (root_api-) OP= get-my-contents-card-info of page root_api.php
[13/Apr/2026:14:20:02] (root_api-) Query~SELECT count(u.user_id) as cnt FROM tbl_user_master u WHERE u.isActive = '1' AND u.user_id ='184'~2026-04-13 14:20:02:0402~2026-04-13 14:20:02~success
[13/Apr/2026:14:20:02] (root_api-) serviceName course_data
[13/Apr/2026:14:20:02] (root_api-) Query~SELECT tc.card_id,tc.card_style,tc.card_title,tc.card_image_url,tc.card_video_url, CASE WHEN tc.card_style = 0 THEN 'Text' ELSE 'Image' END AS card_styleText  , tc.question_text, tc.status AS cardStatus, tc.answer_text, dc.deck_id,dc.sequence as cardSequence, tc.version, tc.card_parent_id
            FROM tbl_card tc
            INNER JOIN tbl_deck_card dc ON dc.card_id = tc.card_id
            Where dc.deck_id = '91' AND tc.card_id = '2855' AND tc.card_type = 'main' /*AND tc.created_by = '184'*/~2026-04-13 14:20:02:0402~2026-04-13 14:20:02~success
[13/Apr/2026:14:20:02] (root_api-) Query~select tc.card_parent_id, dc.deck_id as card_parent_deckid, tcd.course_id as card_parent_courseid from tbl_card tc, tbl_deck_card dc, tbl_course_deck tcd WHERE tc.card_parent_id=2855 AND tc.version = 0 AND tc.card_parent_id=dc.card_id AND dc.deck_id=tcd.deck_id~2026-04-13 14:20:02:0402~2026-04-13 14:20:02~success
[13/Apr/2026:14:20:02] (root_api-) token = 66bbc87451ad3590b670daae13ee0619 IP = 169.1.82.177
[13/Apr/2026:14:20:02] (root_api-) op => getCourseDetail ,course_id => 25 ,clid => 66bbc87451ad3590b670daae13ee0619 ,serviceName => course_data ,
[13/Apr/2026:14:20:02] (root_api-) OP= getCourseDetail of page root_api.php
[13/Apr/2026:14:20:02] (root_api-) serviceName course_data
[13/Apr/2026:14:20:02] (root_api-) Query~select tc.card_id as card_child_id, dc.deck_id as card_child_deckid, tcd.course_id as card_child_courseid from tbl_card tc, tbl_deck_card dc, tbl_course_deck tcd WHERE tc.card_parent_id=2855 AND tc.version = 2 AND tc.card_parent_id=dc.card_id AND dc.deck_id=tcd.deck_id~2026-04-13 14:20:02:0402~2026-04-13 14:20:02~success
[13/Apr/2026:14:20:02] (root_api-) Final JSON =  {"status":"ok",
                    "message":"",
                    "Errorcode":"",
                    "data":{"card_id":"2855","card_style":"0","card_title":"Card#2855","card_image_url":"","card_video_url":"","card_styleText":"Text","question_text":"","cardStatus":"Draft","answer_text":"","deck_id":"91","cardSequence":"23","version":"1","card_parent_id":null,"card_parent_deckid":null,"card_parent_courseid":null,"card_child_id":null,"card_child_deckid":null,"card_child_courseid":null}}
[13/Apr/2026:14:20:02] (root_api-) Query~SELECT * FROM tbl_course where course_id = '25' AND status NOT IN('Discard')~2026-04-13 14:20:02:0402~2026-04-13 14:20:02~success
[13/Apr/2026:14:20:02] (root_api-) Query~SELECT course_image_id, course_image, sequence, status FROM tbl_course_images where course_id = 25 ORDER BY sequence DESC~2026-04-13 14:20:02:0402~2026-04-13 14:20:02~success
[13/Apr/2026:14:20:02] (root_api-) Query~select course_id as prev_course_id from tbl_course where course_parent_id = 25 AND version = 0 AND status NOT IN('Discard')~2026-04-13 14:20:02:0402~2026-04-13 14:20:02~success
[13/Apr/2026:14:20:02] (root_api-) Query~select course_id as next_course_id from tbl_course where course_parent_id = 25 AND version = 2 AND status NOT IN('Discard')~2026-04-13 14:20:02:0402~2026-04-13 14:20:02~success
[13/Apr/2026:14:20:02] (root_api-) Final JSON =  {"status":"ok","message":"Course Details fetched Successfully","Errorcode":"","data":[{"course_id":"25","course_parent_id":"25","version":"1","org_id":"2","course_name":"Grade 8 Mathematics","short_name":"","status":"Draft","eval_id":"1","course_desc":"Grade 8 Mathematics aims to build strong foundational skills required to prepare learners for higher grades of mathematics and develop strong, appropriate mathematical reasoning and logical thinking. ","amount":"0","currency":null,"pay_type":"paid","course_brief":null,"course_duration":"16","background_color":"","text_color":"","creation_date":"2025-07-16 13:21:03","created_by":"184","updation_date":"2026-01-07 12:53:22","updated_by":"184","images":[],"parentid":"","childid":""}]}
[13/Apr/2026:14:20:02] (root_api-) token = 66bbc87451ad3590b670daae13ee0619 IP = 169.1.82.177
[13/Apr/2026:14:20:02] (root_api-) op => get-my-contents-deck-info ,user_id => 184 ,course_id => 25 ,deckId => 91 ,clid => 66bbc87451ad3590b670daae13ee0619 ,serviceName => course_data ,
[13/Apr/2026:14:20:02] (root_api-) OP= get-my-contents-deck-info of page root_api.php
[13/Apr/2026:14:20:02] (root_api-) Query~SELECT count(u.user_id) as cnt FROM tbl_user_master u WHERE u.isActive = '1' AND u.user_id ='184'~2026-04-13 14:20:02:0402~2026-04-13 14:20:02~success
[13/Apr/2026:14:20:02] (root_api-) serviceName course_data
[13/Apr/2026:14:20:02] (root_api-) Query~SELECT td.deck_id, td.created_by, tcd.course_id, 
            ifnull(tcd.deck_name,td.deck_name) deck_name,
            ifnull(tcd.short_name,td.short_name) short_name,
            ifnull(tcd.eval_id,td.eval_id) eval_id,
            ifnull(tcd.deck_desc,td.deck_desc) deck_desc,
            ifnull(tcd.deck_brief,td.deck_brief) deck_brief,
            td.status AS deckStatus,
            td.version
            FROM tbl_deck td 
            INNER JOIN tbl_course_deck tcd ON tcd.deck_id = td.deck_id AND course_id = '25' AND tcd.created_by = '184'
            Where td.deck_id = '91' AND td.deck_type = 'main' AND td.created_by = '184'~2026-04-13 14:20:02:0402~2026-04-13 14:20:02~success
[13/Apr/2026:14:20:02] (root_api-) Query~select td.deck_parent_id, cd.course_id as parent_courseid from tbl_deck td, tbl_course_deck cd where td.deck_id = 91 AND td.deck_parent_id <> 91 AND td.deck_parent_id = cd.deck_id~2026-04-13 14:20:02:0402~2026-04-13 14:20:02~success
[13/Apr/2026:14:20:02] (root_api-) Query~select td.deck_id as deck_child_id, cd.course_id as child_courseid from tbl_deck td, tbl_course_deck cd where td.deck_parent_id = 91 AND td.deck_id <> 91 AND td.deck_id = cd.deck_id~2026-04-13 14:20:02:0402~2026-04-13 14:20:02~success
[13/Apr/2026:14:20:02] (root_api-) Final JSON =  {"status":"ok",
                    "message":"",
                    "Errorcode":"",
                    "data":{"deck_id":"91","created_by":"184","course_id":"25","deck_name":"Probability ","short_name":"Probability ","eval_id":"1","deck_desc":"Probability looks at the possibility of an event occuring and in this deck we look at the basic terms used in probability as well as how to do probability calculations. ","deck_brief":"","deckStatus":"Draft","version":"1","parentid":"","childid":""}}
[13/Apr/2026:14:20:03] (root_api-) token = 66bbc87451ad3590b670daae13ee0619 IP = 169.1.82.177
[13/Apr/2026:14:20:03] (root_api-) op => api-refresh ,clid => 66bbc87451ad3590b670daae13ee0619 ,serviceName => common_data ,
[13/Apr/2026:14:20:03] (root_api-) OP= api-refresh of page root_api.php
[13/Apr/2026:14:20:03] (root_api-) serviceName common_data
[13/Apr/2026:14:20:03] (root_api-) Final JSON =  {"status":"ok","message":"","Errorcode":"","data":""}
[13/Apr/2026:14:20:58] (root_api-) token =  IP = 169.1.82.177
[13/Apr/2026:14:20:58] (root_api-) 
[13/Apr/2026:14:20:58] (root_api-) OP=  of page root_api.php
[13/Apr/2026:14:20:58] (root_api-) Final JSON =  { "status":"error",
					"message":"Invalid Session",
					"Errorcode":"err100",
					"data":{}}
[13/Apr/2026:14:20:58] (root_api-) token = 66bbc87451ad3590b670daae13ee0619 IP = 169.1.82.177
[13/Apr/2026:14:20:58] (root_api-) op => user-card-operation ,userId => 184 ,courseId => 25 ,cardDeckMode => edit ,cardDeckId => 91 ,questionText => <p>What is the difference between actual frequency and expected frequency?</p><p><br></p> ,answerText => <p><span style="background-color: rgb(214, 214, 231);">Actual frequency</span> refers to the number of<font color="#000000" style="background-color: rgb(214, 214, 231);"> times a certain outcome actually did occur,</font> whereas <font color="#000000" style="background-color: rgb(214, 214, 231);">expected frequency</font> is the<font color="#000000" style="background-color: rgb(214, 214, 231);"> amount of times you expected a certain outcome</font> to occur.</p><p><br></p> ,editCardId => 2855 ,action => SAVE_AND_NEXT ,clid => 66bbc87451ad3590b670daae13ee0619 ,serviceName => deck_data ,
[13/Apr/2026:14:20:58] (root_api-) OP= user-card-operation of page root_api.php
[13/Apr/2026:14:20:58] (root_api-) serviceName deck_data
[13/Apr/2026:14:20:58] (root_api-) Query~SELECT count(1) as deckCardCount FROM tbl_deck_card WHERE deck_id = '91' AND card_id = '2855'~2026-04-13 14:20:58:0458~2026-04-13 14:20:58~success
[13/Apr/2026:14:20:58] (root_api-) Query~SELECT question_text, answer_text FROM tbl_card  WHERE card_id = '2855'~2026-04-13 14:20:58:0458~2026-04-13 14:20:58~success
[13/Apr/2026:14:20:58] (root_api-) In case Card Updated query = UPDATE tbl_card SET card_style = '0' , question_text = '<p>What is the difference between actual frequency and expected frequency?</p><p><br></p>', answer_text = '<p><span style=\"background-color: rgb(214, 214, 231);\">Actual frequency</span> refers to the number of<font color=\"#000000\" style=\"background-color: rgb(214, 214, 231);\"> times a certain outcome actually did occur,</font> whereas <font color=\"#000000\" style=\"background-color: rgb(214, 214, 231);\">expected frequency</font> is the<font color=\"#000000\" style=\"background-color: rgb(214, 214, 231);\"> amount of times you expected a certain outcome</font> to occur.</p><p><br></p>', card_type='main', updation_date = NOW(), updated_by = '184', card_title = '', card_image_url = '', 
                    onlyTextQuestion = '', onlyTextAnswer = '' 
                    WHERE card_id = '2855'
[13/Apr/2026:14:20:58] (root_api-) Query~UPDATE tbl_card SET card_style = '0' , question_text = '<p>What is the difference between actual frequency and expected frequency?</p><p><br></p>', answer_text = '<p><span style=\"background-color: rgb(214, 214, 231);\">Actual frequency</span> refers to the number of<font color=\"#000000\" style=\"background-color: rgb(214, 214, 231);\"> times a certain outcome actually did occur,</font> whereas <font color=\"#000000\" style=\"background-color: rgb(214, 214, 231);\">expected frequency</font> is the<font color=\"#000000\" style=\"background-color: rgb(214, 214, 231);\"> amount of times you expected a certain outcome</font> to occur.</p><p><br></p>', card_type='main', updation_date = NOW(), updated_by = '184', card_title = '', card_image_url = '', 
                    onlyTextQuestion = '', onlyTextAnswer = '' 
                    WHERE card_id = '2855'~2026-04-13 14:20:58:0458~2026-04-13 14:20:58~success
[13/Apr/2026:14:20:58] (root_api-) Final JSON =  {"status":"ok","message":"Card Created Successfully!!","Errorcode":"","data":"","action":"SAVE_AND_NEXT"}
[13/Apr/2026:14:20:59] (root_api-) token = 66bbc87451ad3590b670daae13ee0619 IP = 169.1.82.177
[13/Apr/2026:14:20:59] (root_api-) op => getSwitchRoles ,user_id => 184 ,org_id => 1 ,clid => 66bbc87451ad3590b670daae13ee0619 ,serviceName => user_data ,
[13/Apr/2026:14:20:59] (root_api-) OP= getSwitchRoles of page root_api.php
[13/Apr/2026:14:20:59] (root_api-) Query~SELECT count(u.user_id) as cnt FROM tbl_user_master u WHERE u.isActive = '1' AND u.user_id ='184'~2026-04-13 14:20:59:0459~2026-04-13 14:20:59~success
[13/Apr/2026:14:20:59] (root_api-) Query~SELECT count(1) as cnt FROM tbl_org  WHERE status = 'Active' AND org_id ='1'~2026-04-13 14:20:59:0459~2026-04-13 14:20:59~success
[13/Apr/2026:14:20:59] (root_api-) Query~SELECT count(1) as cnt FROM tbl_user_org u WHERE u.status = 'Active' AND u.user_id ='184' AND  org_id ='1'~2026-04-13 14:20:59:0459~2026-04-13 14:20:59~success
[13/Apr/2026:14:20:59] (root_api-) serviceName user_data
[13/Apr/2026:14:20:59] (root_api-) Query~SELECT u.user_org_id, u.org_id, u.role_id, um.email,o.org_name,r.role_name,o.short_name,CONCAT(u.role_id,'_',u.org_id) as user_org_role
            FROM tbl_user_org u 
            inner join tbl_org o on u.org_id=o.org_id
            inner join tbl_role_master r on r.role_id=u.role_id
            inner join tbl_user_master um on u.user_id = um.user_id
            where u.user_id= 184~2026-04-13 14:20:59:0459~2026-04-13 14:20:59~success
[13/Apr/2026:14:20:59] (root_api-) Final JSON =  {"status":"ok","message":"User Details fetched Successfully!!","Errorcode":"","data":[{"user_org_id":"225","org_id":"1","role_id":"3","email":"alhenaude20@gmail.com","org_name":"University Of Cape Town","role_name":"Learner","short_name":"UCT","user_org_role":"3_1"},{"user_org_id":"226","org_id":"2","role_id":"2","email":"alhenaude20@gmail.com","org_name":"C-Institute","role_name":"Educator","short_name":"C-Institute","user_org_role":"2_2"}]}
[13/Apr/2026:14:20:59] (root_api-) token = 66bbc87451ad3590b670daae13ee0619 IP = 169.1.82.177
[13/Apr/2026:14:20:59] (root_api-) op => createBlankCard ,course_id => 25 ,cardDeckId => 91 ,userId => 184 ,clid => 66bbc87451ad3590b670daae13ee0619 ,serviceName => deck_data ,
[13/Apr/2026:14:20:59] (root_api-) OP= createBlankCard of page root_api.php
[13/Apr/2026:14:20:59] (root_api-) serviceName deck_data
[13/Apr/2026:14:20:59] (root_api-) Query~SELECT count(1) as deckCount FROM tbl_deck WHERE deck_id = '91'~2026-04-13 14:20:59:0459~2026-04-13 14:20:59~success
[13/Apr/2026:14:20:59] (root_api-) Query~select ifnull(max(card_parent_id),0)+1 as maxId from tbl_card_parent~2026-04-13 14:20:59:0459~2026-04-13 14:20:59~success
[13/Apr/2026:14:20:59] (root_api-) In case tbl_card_parent Insert query = INSERT into tbl_card_parent (card_parent_id, last_version, draft_version, published_version, creation_date, created_by) 
                    VALUES (2856,'1','1','0', NOW(), '184')
[13/Apr/2026:14:20:59] (root_api-) Query~INSERT into tbl_card_parent (card_parent_id, last_version, draft_version, published_version, creation_date, created_by) 
                    VALUES (2856,'1','1','0', NOW(), '184')~2026-04-13 14:20:59:0459~2026-04-13 14:20:59~success
[13/Apr/2026:14:20:59] (root_api-) Query~select ifnull(max(card_parent_id),0) as lastInsertedId from tbl_card_parent~2026-04-13 14:20:59:0459~2026-04-13 14:20:59~success
[13/Apr/2026:14:20:59] (root_api-) Query~select ifnull(max(card_id),0)+1 as maxId from tbl_card~2026-04-13 14:20:59:0459~2026-04-13 14:20:59~success
[13/Apr/2026:14:20:59] (root_api-) In case tbl_card Insert query = INSERT into tbl_card (card_id, card_parent_id, version, card_style, status, card_type, question_text, answer_text, creation_date, created_by) 
                     VALUES (2856, 2856,  1, '0','Draft','main','','', NOW(), '184')
[13/Apr/2026:14:20:59] (root_api-) Query~INSERT into tbl_card (card_id, card_parent_id, version, card_style, status, card_type, question_text, answer_text, creation_date, created_by) 
                     VALUES (2856, 2856,  1, '0','Draft','main','','', NOW(), '184')~2026-04-13 14:20:59:0459~2026-04-13 14:20:59~success
[13/Apr/2026:14:20:59] (root_api-) Query~select ifnull(max(card_id),0) as lastInsertedId from tbl_card~2026-04-13 14:20:59:0459~2026-04-13 14:20:59~success
[13/Apr/2026:14:20:59] (root_api-) Query~UPDATE tbl_card set card_title = 'Card#2856' WHERE card_id= 2856~2026-04-13 14:20:59:0459~2026-04-13 14:20:59~success
[13/Apr/2026:14:20:59] (root_api-) Query~SELECT IFNULL(MAX(sequence), 0) as lastSequenceNumber FROM tbl_deck_card WHERE deck_id = '91'~2026-04-13 14:20:59:0459~2026-04-13 14:20:59~success
[13/Apr/2026:14:20:59] (root_api-) Query~select ifnull(max(deck_card_id),0)+1 as maxId from tbl_deck_card~2026-04-13 14:20:59:0459~2026-04-13 14:20:59~success
[13/Apr/2026:14:20:59] (root_api-) In case tbl_deck_card Insert query = INSERT into tbl_deck_card (deck_card_id, deck_id, card_id, sequence, creation_date, created_by) 
                        VALUES (2856,'91','2856','24', NOW(), '184')
[13/Apr/2026:14:20:59] (root_api-) Query~INSERT into tbl_deck_card (deck_card_id, deck_id, card_id, sequence, creation_date, created_by) 
                        VALUES (2856,'91','2856','24', NOW(), '184')~2026-04-13 14:20:59:0459~2026-04-13 14:20:59~success
[13/Apr/2026:14:20:59] (root_api-) Final JSON =  {"status":"ok","message":"Card inserted Successfully!!","Errorcode":"","data":"2856"}
[13/Apr/2026:14:20:59] (root_api-) token = 66bbc87451ad3590b670daae13ee0619 IP = 169.1.82.177
[13/Apr/2026:14:20:59] (root_api-) op => getSwitchRoles ,user_id => 184 ,org_id => 1 ,clid => 66bbc87451ad3590b670daae13ee0619 ,serviceName => user_data ,
[13/Apr/2026:14:20:59] (root_api-) OP= getSwitchRoles of page root_api.php
[13/Apr/2026:14:20:59] (root_api-) Query~SELECT count(u.user_id) as cnt FROM tbl_user_master u WHERE u.isActive = '1' AND u.user_id ='184'~2026-04-13 14:20:59:0459~2026-04-13 14:20:59~success
[13/Apr/2026:14:20:59] (root_api-) Query~SELECT count(1) as cnt FROM tbl_org  WHERE status = 'Active' AND org_id ='1'~2026-04-13 14:20:59:0459~2026-04-13 14:20:59~success
[13/Apr/2026:14:20:59] (root_api-) Query~SELECT count(1) as cnt FROM tbl_user_org u WHERE u.status = 'Active' AND u.user_id ='184' AND  org_id ='1'~2026-04-13 14:20:59:0459~2026-04-13 14:20:59~success
[13/Apr/2026:14:20:59] (root_api-) serviceName user_data
[13/Apr/2026:14:20:59] (root_api-) Query~SELECT u.user_org_id, u.org_id, u.role_id, um.email,o.org_name,r.role_name,o.short_name,CONCAT(u.role_id,'_',u.org_id) as user_org_role
            FROM tbl_user_org u 
            inner join tbl_org o on u.org_id=o.org_id
            inner join tbl_role_master r on r.role_id=u.role_id
            inner join tbl_user_master um on u.user_id = um.user_id
            where u.user_id= 184~2026-04-13 14:20:59:0459~2026-04-13 14:20:59~success
[13/Apr/2026:14:20:59] (root_api-) Final JSON =  {"status":"ok","message":"User Details fetched Successfully!!","Errorcode":"","data":[{"user_org_id":"225","org_id":"1","role_id":"3","email":"alhenaude20@gmail.com","org_name":"University Of Cape Town","role_name":"Learner","short_name":"UCT","user_org_role":"3_1"},{"user_org_id":"226","org_id":"2","role_id":"2","email":"alhenaude20@gmail.com","org_name":"C-Institute","role_name":"Educator","short_name":"C-Institute","user_org_role":"2_2"}]}
[13/Apr/2026:14:20:59] (root_api-) token = 66bbc87451ad3590b670daae13ee0619 IP = 169.1.82.177
[13/Apr/2026:14:20:59] (root_api-) op => getUsersCourseRole ,user_id => 184 ,course_id => 25 ,clid => 66bbc87451ad3590b670daae13ee0619 ,serviceName => course_data ,
[13/Apr/2026:14:20:59] (root_api-) OP= getUsersCourseRole of page root_api.php
[13/Apr/2026:14:20:59] (root_api-) Query~SELECT count(u.user_id) as cnt FROM tbl_user_master u WHERE u.isActive = '1' AND u.user_id ='184'~2026-04-13 14:20:59:0459~2026-04-13 14:20:59~success
[13/Apr/2026:14:20:59] (root_api-) serviceName course_data
[13/Apr/2026:14:20:59] (root_api-) Query~SELECT ed_role FROM tbl_course_educator WHERE  course_id = '25' AND user_id = 184~2026-04-13 14:20:59:0459~2026-04-13 14:20:59~success
[13/Apr/2026:14:20:59] (root_api-) Final JSON =  {"status":"ok","message":"","Errorcode":"","data":{"ed_role":"author"}}
[13/Apr/2026:14:20:59] (root_api-) token = 66bbc87451ad3590b670daae13ee0619 IP = 169.1.82.177
[13/Apr/2026:14:20:59] (root_api-) op => get-my-contents-card-info ,user_id => 184 ,course_id => 25 ,deckId => 91 ,cardId => 2856 ,clid => 66bbc87451ad3590b670daae13ee0619 ,serviceName => course_data ,
[13/Apr/2026:14:20:59] (root_api-) OP= get-my-contents-card-info of page root_api.php
[13/Apr/2026:14:20:59] (root_api-) Query~SELECT count(u.user_id) as cnt FROM tbl_user_master u WHERE u.isActive = '1' AND u.user_id ='184'~2026-04-13 14:20:59:0459~2026-04-13 14:20:59~success
[13/Apr/2026:14:20:59] (root_api-) serviceName course_data
[13/Apr/2026:14:20:59] (root_api-) Query~SELECT tc.card_id,tc.card_style,tc.card_title,tc.card_image_url,tc.card_video_url, CASE WHEN tc.card_style = 0 THEN 'Text' ELSE 'Image' END AS card_styleText  , tc.question_text, tc.status AS cardStatus, tc.answer_text, dc.deck_id,dc.sequence as cardSequence, tc.version, tc.card_parent_id
            FROM tbl_card tc
            INNER JOIN tbl_deck_card dc ON dc.card_id = tc.card_id
            Where dc.deck_id = '91' AND tc.card_id = '2856' AND tc.card_type = 'main' /*AND tc.created_by = '184'*/~2026-04-13 14:20:59:0459~2026-04-13 14:20:59~success
[13/Apr/2026:14:20:59] (root_api-) Query~select tc.card_parent_id, dc.deck_id as card_parent_deckid, tcd.course_id as card_parent_courseid from tbl_card tc, tbl_deck_card dc, tbl_course_deck tcd WHERE tc.card_parent_id=2856 AND tc.version = 0 AND tc.card_parent_id=dc.card_id AND dc.deck_id=tcd.deck_id~2026-04-13 14:20:59:0459~2026-04-13 14:20:59~success
[13/Apr/2026:14:20:59] (root_api-) Query~select tc.card_id as card_child_id, dc.deck_id as card_child_deckid, tcd.course_id as card_child_courseid from tbl_card tc, tbl_deck_card dc, tbl_course_deck tcd WHERE tc.card_parent_id=2856 AND tc.version = 2 AND tc.card_parent_id=dc.card_id AND dc.deck_id=tcd.deck_id~2026-04-13 14:20:59:0459~2026-04-13 14:20:59~success
[13/Apr/2026:14:20:59] (root_api-) Final JSON =  {"status":"ok",
                    "message":"",
                    "Errorcode":"",
                    "data":{"card_id":"2856","card_style":"0","card_title":"Card#2856","card_image_url":"","card_video_url":"","card_styleText":"Text","question_text":"","cardStatus":"Draft","answer_text":"","deck_id":"91","cardSequence":"24","version":"1","card_parent_id":null,"card_parent_deckid":null,"card_parent_courseid":null,"card_child_id":null,"card_child_deckid":null,"card_child_courseid":null}}
[13/Apr/2026:14:20:59] (root_api-) token = 66bbc87451ad3590b670daae13ee0619 IP = 169.1.82.177
[13/Apr/2026:14:20:59] (root_api-) op => getCourseDetail ,course_id => 25 ,clid => 66bbc87451ad3590b670daae13ee0619 ,serviceName => course_data ,
[13/Apr/2026:14:20:59] (root_api-) token = 66bbc87451ad3590b670daae13ee0619 IP = 169.1.82.177
[13/Apr/2026:14:20:59] (root_api-) OP= getCourseDetail of page root_api.php
[13/Apr/2026:14:20:59] (root_api-) op => get-my-contents-deck-info ,user_id => 184 ,course_id => 25 ,deckId => 91 ,clid => 66bbc87451ad3590b670daae13ee0619 ,serviceName => course_data ,
[13/Apr/2026:14:20:59] (root_api-) serviceName course_data
[13/Apr/2026:14:20:59] (root_api-) OP= get-my-contents-deck-info of page root_api.php
[13/Apr/2026:14:20:59] (root_api-) Query~SELECT * FROM tbl_course where course_id = '25' AND status NOT IN('Discard')~2026-04-13 14:20:59:0459~2026-04-13 14:20:59~success
[13/Apr/2026:14:20:59] (root_api-) Query~SELECT count(u.user_id) as cnt FROM tbl_user_master u WHERE u.isActive = '1' AND u.user_id ='184'~2026-04-13 14:20:59:0459~2026-04-13 14:20:59~success
[13/Apr/2026:14:20:59] (root_api-) serviceName course_data
[13/Apr/2026:14:20:59] (root_api-) Query~SELECT course_image_id, course_image, sequence, status FROM tbl_course_images where course_id = 25 ORDER BY sequence DESC~2026-04-13 14:20:59:0459~2026-04-13 14:20:59~success
[13/Apr/2026:14:20:59] (root_api-) Query~SELECT td.deck_id, td.created_by, tcd.course_id, 
            ifnull(tcd.deck_name,td.deck_name) deck_name,
            ifnull(tcd.short_name,td.short_name) short_name,
            ifnull(tcd.eval_id,td.eval_id) eval_id,
            ifnull(tcd.deck_desc,td.deck_desc) deck_desc,
            ifnull(tcd.deck_brief,td.deck_brief) deck_brief,
            td.status AS deckStatus,
            td.version
            FROM tbl_deck td 
            INNER JOIN tbl_course_deck tcd ON tcd.deck_id = td.deck_id AND course_id = '25' AND tcd.created_by = '184'
            Where td.deck_id = '91' AND td.deck_type = 'main' AND td.created_by = '184'~2026-04-13 14:20:59:0459~2026-04-13 14:20:59~success
[13/Apr/2026:14:20:59] (root_api-) Query~select course_id as prev_course_id from tbl_course where course_parent_id = 25 AND version = 0 AND status NOT IN('Discard')~2026-04-13 14:20:59:0459~2026-04-13 14:20:59~success
[13/Apr/2026:14:20:59] (root_api-) Query~select td.deck_parent_id, cd.course_id as parent_courseid from tbl_deck td, tbl_course_deck cd where td.deck_id = 91 AND td.deck_parent_id <> 91 AND td.deck_parent_id = cd.deck_id~2026-04-13 14:20:59:0459~2026-04-13 14:20:59~success
[13/Apr/2026:14:20:59] (root_api-) Query~select course_id as next_course_id from tbl_course where course_parent_id = 25 AND version = 2 AND status NOT IN('Discard')~2026-04-13 14:20:59:0459~2026-04-13 14:20:59~success
[13/Apr/2026:14:20:59] (root_api-) Final JSON =  {"status":"ok","message":"Course Details fetched Successfully","Errorcode":"","data":[{"course_id":"25","course_parent_id":"25","version":"1","org_id":"2","course_name":"Grade 8 Mathematics","short_name":"","status":"Draft","eval_id":"1","course_desc":"Grade 8 Mathematics aims to build strong foundational skills required to prepare learners for higher grades of mathematics and develop strong, appropriate mathematical reasoning and logical thinking. ","amount":"0","currency":null,"pay_type":"paid","course_brief":null,"course_duration":"16","background_color":"","text_color":"","creation_date":"2025-07-16 13:21:03","created_by":"184","updation_date":"2026-01-07 12:53:22","updated_by":"184","images":[],"parentid":"","childid":""}]}
[13/Apr/2026:14:20:59] (root_api-) Query~select td.deck_id as deck_child_id, cd.course_id as child_courseid from tbl_deck td, tbl_course_deck cd where td.deck_parent_id = 91 AND td.deck_id <> 91 AND td.deck_id = cd.deck_id~2026-04-13 14:20:59:0459~2026-04-13 14:20:59~success
[13/Apr/2026:14:20:59] (root_api-) Final JSON =  {"status":"ok",
                    "message":"",
                    "Errorcode":"",
                    "data":{"deck_id":"91","created_by":"184","course_id":"25","deck_name":"Probability ","short_name":"Probability ","eval_id":"1","deck_desc":"Probability looks at the possibility of an event occuring and in this deck we look at the basic terms used in probability as well as how to do probability calculations. ","deck_brief":"","deckStatus":"Draft","version":"1","parentid":"","childid":""}}
[13/Apr/2026:14:21:00] (root_api-) token = 66bbc87451ad3590b670daae13ee0619 IP = 169.1.82.177
[13/Apr/2026:14:21:00] (root_api-) op => api-refresh ,clid => 66bbc87451ad3590b670daae13ee0619 ,serviceName => common_data ,
[13/Apr/2026:14:21:00] (root_api-) OP= api-refresh of page root_api.php
[13/Apr/2026:14:21:00] (root_api-) serviceName common_data
[13/Apr/2026:14:21:00] (root_api-) Final JSON =  {"status":"ok","message":"","Errorcode":"","data":""}
[13/Apr/2026:14:23:53] (root_api-) token =  IP = 169.1.82.177
[13/Apr/2026:14:23:53] (root_api-) 
[13/Apr/2026:14:23:53] (root_api-) OP=  of page root_api.php
[13/Apr/2026:14:23:53] (root_api-) Final JSON =  { "status":"error",
					"message":"Invalid Session",
					"Errorcode":"err100",
					"data":{}}
[13/Apr/2026:14:23:53] (root_api-) token = 66bbc87451ad3590b670daae13ee0619 IP = 169.1.82.177
[13/Apr/2026:14:23:53] (root_api-) op => user-card-operation ,userId => 184 ,courseId => 25 ,cardDeckMode => edit ,cardDeckId => 91 ,questionText => <p>The actual outcome and expected frequency of flipping a coin 20 times is given in the table below.</p><p> Write the total actual frequency and expected frequency in the table below as a simplified fraction of both heads and tails.</p><p><br></p><table class="table table-bordered"><tbody><tr><td><br></td><td>Actual freqeuncy&nbsp;</td><td>Expected frequency&nbsp;</td></tr><tr><td>Heads</td><td>7</td><td>&nbsp;10</td></tr><tr><td>Tails</td><td>13</td><td>&nbsp;10</td></tr></tbody></table><p><br></p> ,answerText => <p>Actual frequency of tails = 13/20</p><p>Expected frequency of tails = 10/20 = 1/2</p><p><br></p><p>Actual frequency of heads = 7/20</p><p> Expected frequency of heads = 10/20 = 1/2</p> ,editCardId => 2856 ,action => SAVE_AND_NEXT ,clid => 66bbc87451ad3590b670daae13ee0619 ,serviceName => deck_data ,
[13/Apr/2026:14:23:53] (root_api-) OP= user-card-operation of page root_api.php
[13/Apr/2026:14:23:53] (root_api-) serviceName deck_data
[13/Apr/2026:14:23:53] (root_api-) Query~SELECT count(1) as deckCardCount FROM tbl_deck_card WHERE deck_id = '91' AND card_id = '2856'~2026-04-13 14:23:53:0453~2026-04-13 14:23:53~success
[13/Apr/2026:14:23:53] (root_api-) Query~SELECT question_text, answer_text FROM tbl_card  WHERE card_id = '2856'~2026-04-13 14:23:53:0453~2026-04-13 14:23:53~success
[13/Apr/2026:14:23:53] (root_api-) In case Card Updated query = UPDATE tbl_card SET card_style = '0' , question_text = '<p>The actual outcome and expected frequency of flipping a coin 20 times is given in the table below.</p><p> Write the total actual frequency and expected frequency in the table below as a simplified fraction of both heads and tails.</p><p><br></p><table class=\"table table-bordered\"><tbody><tr><td><br></td><td>Actual freqeuncy&nbsp;</td><td>Expected frequency&nbsp;</td></tr><tr><td>Heads</td><td>7</td><td>&nbsp;10</td></tr><tr><td>Tails</td><td>13</td><td>&nbsp;10</td></tr></tbody></table><p><br></p>', answer_text = '<p>Actual frequency of tails = 13/20</p><p>Expected frequency of tails = 10/20 = 1/2</p><p><br></p><p>Actual frequency of heads = 7/20</p><p> Expected frequency of heads = 10/20 = 1/2</p>', card_type='main', updation_date = NOW(), updated_by = '184', card_title = '', card_image_url = '', 
                    onlyTextQuestion = '', onlyTextAnswer = '' 
                    WHERE card_id = '2856'
[13/Apr/2026:14:23:53] (root_api-) Query~UPDATE tbl_card SET card_style = '0' , question_text = '<p>The actual outcome and expected frequency of flipping a coin 20 times is given in the table below.</p><p> Write the total actual frequency and expected frequency in the table below as a simplified fraction of both heads and tails.</p><p><br></p><table class=\"table table-bordered\"><tbody><tr><td><br></td><td>Actual freqeuncy&nbsp;</td><td>Expected frequency&nbsp;</td></tr><tr><td>Heads</td><td>7</td><td>&nbsp;10</td></tr><tr><td>Tails</td><td>13</td><td>&nbsp;10</td></tr></tbody></table><p><br></p>', answer_text = '<p>Actual frequency of tails = 13/20</p><p>Expected frequency of tails = 10/20 = 1/2</p><p><br></p><p>Actual frequency of heads = 7/20</p><p> Expected frequency of heads = 10/20 = 1/2</p>', card_type='main', updation_date = NOW(), updated_by = '184', card_title = '', card_image_url = '', 
                    onlyTextQuestion = '', onlyTextAnswer = '' 
                    WHERE card_id = '2856'~2026-04-13 14:23:53:0453~2026-04-13 14:23:53~success
[13/Apr/2026:14:23:53] (root_api-) Final JSON =  {"status":"ok","message":"Card Created Successfully!!","Errorcode":"","data":"","action":"SAVE_AND_NEXT"}
[13/Apr/2026:14:23:54] (root_api-) token = 66bbc87451ad3590b670daae13ee0619 IP = 169.1.82.177
[13/Apr/2026:14:23:54] (root_api-) op => getSwitchRoles ,user_id => 184 ,org_id => 1 ,clid => 66bbc87451ad3590b670daae13ee0619 ,serviceName => user_data ,
[13/Apr/2026:14:23:54] (root_api-) OP= getSwitchRoles of page root_api.php
[13/Apr/2026:14:23:54] (root_api-) Query~SELECT count(u.user_id) as cnt FROM tbl_user_master u WHERE u.isActive = '1' AND u.user_id ='184'~2026-04-13 14:23:54:0454~2026-04-13 14:23:54~success
[13/Apr/2026:14:23:54] (root_api-) Query~SELECT count(1) as cnt FROM tbl_org  WHERE status = 'Active' AND org_id ='1'~2026-04-13 14:23:54:0454~2026-04-13 14:23:54~success
[13/Apr/2026:14:23:54] (root_api-) Query~SELECT count(1) as cnt FROM tbl_user_org u WHERE u.status = 'Active' AND u.user_id ='184' AND  org_id ='1'~2026-04-13 14:23:54:0454~2026-04-13 14:23:54~success
[13/Apr/2026:14:23:54] (root_api-) serviceName user_data
[13/Apr/2026:14:23:54] (root_api-) Query~SELECT u.user_org_id, u.org_id, u.role_id, um.email,o.org_name,r.role_name,o.short_name,CONCAT(u.role_id,'_',u.org_id) as user_org_role
            FROM tbl_user_org u 
            inner join tbl_org o on u.org_id=o.org_id
            inner join tbl_role_master r on r.role_id=u.role_id
            inner join tbl_user_master um on u.user_id = um.user_id
            where u.user_id= 184~2026-04-13 14:23:54:0454~2026-04-13 14:23:54~success
[13/Apr/2026:14:23:54] (root_api-) Final JSON =  {"status":"ok","message":"User Details fetched Successfully!!","Errorcode":"","data":[{"user_org_id":"225","org_id":"1","role_id":"3","email":"alhenaude20@gmail.com","org_name":"University Of Cape Town","role_name":"Learner","short_name":"UCT","user_org_role":"3_1"},{"user_org_id":"226","org_id":"2","role_id":"2","email":"alhenaude20@gmail.com","org_name":"C-Institute","role_name":"Educator","short_name":"C-Institute","user_org_role":"2_2"}]}
[13/Apr/2026:14:23:54] (root_api-) token = 66bbc87451ad3590b670daae13ee0619 IP = 169.1.82.177
[13/Apr/2026:14:23:54] (root_api-) op => createBlankCard ,course_id => 25 ,cardDeckId => 91 ,userId => 184 ,clid => 66bbc87451ad3590b670daae13ee0619 ,serviceName => deck_data ,
[13/Apr/2026:14:23:54] (root_api-) OP= createBlankCard of page root_api.php
[13/Apr/2026:14:23:54] (root_api-) serviceName deck_data
[13/Apr/2026:14:23:54] (root_api-) Query~SELECT count(1) as deckCount FROM tbl_deck WHERE deck_id = '91'~2026-04-13 14:23:54:0454~2026-04-13 14:23:54~success
[13/Apr/2026:14:23:54] (root_api-) Query~select ifnull(max(card_parent_id),0)+1 as maxId from tbl_card_parent~2026-04-13 14:23:54:0454~2026-04-13 14:23:54~success
[13/Apr/2026:14:23:54] (root_api-) In case tbl_card_parent Insert query = INSERT into tbl_card_parent (card_parent_id, last_version, draft_version, published_version, creation_date, created_by) 
                    VALUES (2857,'1','1','0', NOW(), '184')
[13/Apr/2026:14:23:54] (root_api-) Query~INSERT into tbl_card_parent (card_parent_id, last_version, draft_version, published_version, creation_date, created_by) 
                    VALUES (2857,'1','1','0', NOW(), '184')~2026-04-13 14:23:54:0454~2026-04-13 14:23:54~success
[13/Apr/2026:14:23:54] (root_api-) Query~select ifnull(max(card_parent_id),0) as lastInsertedId from tbl_card_parent~2026-04-13 14:23:54:0454~2026-04-13 14:23:54~success
[13/Apr/2026:14:23:54] (root_api-) Query~select ifnull(max(card_id),0)+1 as maxId from tbl_card~2026-04-13 14:23:54:0454~2026-04-13 14:23:54~success
[13/Apr/2026:14:23:54] (root_api-) In case tbl_card Insert query = INSERT into tbl_card (card_id, card_parent_id, version, card_style, status, card_type, question_text, answer_text, creation_date, created_by) 
                     VALUES (2857, 2857,  1, '0','Draft','main','','', NOW(), '184')
[13/Apr/2026:14:23:54] (root_api-) Query~INSERT into tbl_card (card_id, card_parent_id, version, card_style, status, card_type, question_text, answer_text, creation_date, created_by) 
                     VALUES (2857, 2857,  1, '0','Draft','main','','', NOW(), '184')~2026-04-13 14:23:54:0454~2026-04-13 14:23:54~success
[13/Apr/2026:14:23:54] (root_api-) Query~select ifnull(max(card_id),0) as lastInsertedId from tbl_card~2026-04-13 14:23:54:0454~2026-04-13 14:23:54~success
[13/Apr/2026:14:23:54] (root_api-) Query~UPDATE tbl_card set card_title = 'Card#2857' WHERE card_id= 2857~2026-04-13 14:23:54:0454~2026-04-13 14:23:54~success
[13/Apr/2026:14:23:54] (root_api-) Query~SELECT IFNULL(MAX(sequence), 0) as lastSequenceNumber FROM tbl_deck_card WHERE deck_id = '91'~2026-04-13 14:23:54:0454~2026-04-13 14:23:54~success
[13/Apr/2026:14:23:54] (root_api-) Query~select ifnull(max(deck_card_id),0)+1 as maxId from tbl_deck_card~2026-04-13 14:23:54:0454~2026-04-13 14:23:54~success
[13/Apr/2026:14:23:54] (root_api-) In case tbl_deck_card Insert query = INSERT into tbl_deck_card (deck_card_id, deck_id, card_id, sequence, creation_date, created_by) 
                        VALUES (2857,'91','2857','25', NOW(), '184')
[13/Apr/2026:14:23:54] (root_api-) Query~INSERT into tbl_deck_card (deck_card_id, deck_id, card_id, sequence, creation_date, created_by) 
                        VALUES (2857,'91','2857','25', NOW(), '184')~2026-04-13 14:23:54:0454~2026-04-13 14:23:54~success
[13/Apr/2026:14:23:54] (root_api-) Final JSON =  {"status":"ok","message":"Card inserted Successfully!!","Errorcode":"","data":"2857"}
[13/Apr/2026:14:23:55] (root_api-) token = 66bbc87451ad3590b670daae13ee0619 IP = 169.1.82.177
[13/Apr/2026:14:23:55] (root_api-) op => getSwitchRoles ,user_id => 184 ,org_id => 1 ,clid => 66bbc87451ad3590b670daae13ee0619 ,serviceName => user_data ,
[13/Apr/2026:14:23:55] (root_api-) OP= getSwitchRoles of page root_api.php
[13/Apr/2026:14:23:55] (root_api-) Query~SELECT count(u.user_id) as cnt FROM tbl_user_master u WHERE u.isActive = '1' AND u.user_id ='184'~2026-04-13 14:23:55:0455~2026-04-13 14:23:55~success
[13/Apr/2026:14:23:55] (root_api-) Query~SELECT count(1) as cnt FROM tbl_org  WHERE status = 'Active' AND org_id ='1'~2026-04-13 14:23:55:0455~2026-04-13 14:23:55~success
[13/Apr/2026:14:23:55] (root_api-) Query~SELECT count(1) as cnt FROM tbl_user_org u WHERE u.status = 'Active' AND u.user_id ='184' AND  org_id ='1'~2026-04-13 14:23:55:0455~2026-04-13 14:23:55~success
[13/Apr/2026:14:23:55] (root_api-) serviceName user_data
[13/Apr/2026:14:23:55] (root_api-) Query~SELECT u.user_org_id, u.org_id, u.role_id, um.email,o.org_name,r.role_name,o.short_name,CONCAT(u.role_id,'_',u.org_id) as user_org_role
            FROM tbl_user_org u 
            inner join tbl_org o on u.org_id=o.org_id
            inner join tbl_role_master r on r.role_id=u.role_id
            inner join tbl_user_master um on u.user_id = um.user_id
            where u.user_id= 184~2026-04-13 14:23:55:0455~2026-04-13 14:23:55~success
[13/Apr/2026:14:23:55] (root_api-) Final JSON =  {"status":"ok","message":"User Details fetched Successfully!!","Errorcode":"","data":[{"user_org_id":"225","org_id":"1","role_id":"3","email":"alhenaude20@gmail.com","org_name":"University Of Cape Town","role_name":"Learner","short_name":"UCT","user_org_role":"3_1"},{"user_org_id":"226","org_id":"2","role_id":"2","email":"alhenaude20@gmail.com","org_name":"C-Institute","role_name":"Educator","short_name":"C-Institute","user_org_role":"2_2"}]}
[13/Apr/2026:14:23:55] (root_api-) token = 66bbc87451ad3590b670daae13ee0619 IP = 169.1.82.177
[13/Apr/2026:14:23:55] (root_api-) op => getUsersCourseRole ,user_id => 184 ,course_id => 25 ,clid => 66bbc87451ad3590b670daae13ee0619 ,serviceName => course_data ,
[13/Apr/2026:14:23:55] (root_api-) OP= getUsersCourseRole of page root_api.php
[13/Apr/2026:14:23:55] (root_api-) Query~SELECT count(u.user_id) as cnt FROM tbl_user_master u WHERE u.isActive = '1' AND u.user_id ='184'~2026-04-13 14:23:55:0455~2026-04-13 14:23:55~success
[13/Apr/2026:14:23:55] (root_api-) serviceName course_data
[13/Apr/2026:14:23:55] (root_api-) Query~SELECT ed_role FROM tbl_course_educator WHERE  course_id = '25' AND user_id = 184~2026-04-13 14:23:55:0455~2026-04-13 14:23:55~success
[13/Apr/2026:14:23:55] (root_api-) Final JSON =  {"status":"ok","message":"","Errorcode":"","data":{"ed_role":"author"}}
[13/Apr/2026:14:23:55] (root_api-) token = 66bbc87451ad3590b670daae13ee0619 IP = 169.1.82.177
[13/Apr/2026:14:23:55] (root_api-) op => getCourseDetail ,course_id => 25 ,clid => 66bbc87451ad3590b670daae13ee0619 ,serviceName => course_data ,
[13/Apr/2026:14:23:55] (root_api-) OP= getCourseDetail of page root_api.php
[13/Apr/2026:14:23:55] (root_api-) serviceName course_data
[13/Apr/2026:14:23:55] (root_api-) Query~SELECT * FROM tbl_course where course_id = '25' AND status NOT IN('Discard')~2026-04-13 14:23:55:0455~2026-04-13 14:23:55~success
[13/Apr/2026:14:23:55] (root_api-) Query~SELECT course_image_id, course_image, sequence, status FROM tbl_course_images where course_id = 25 ORDER BY sequence DESC~2026-04-13 14:23:55:0455~2026-04-13 14:23:55~success
[13/Apr/2026:14:23:55] (root_api-) Query~select course_id as prev_course_id from tbl_course where course_parent_id = 25 AND version = 0 AND status NOT IN('Discard')~2026-04-13 14:23:55:0455~2026-04-13 14:23:55~success
[13/Apr/2026:14:23:55] (root_api-) Query~select course_id as next_course_id from tbl_course where course_parent_id = 25 AND version = 2 AND status NOT IN('Discard')~2026-04-13 14:23:55:0455~2026-04-13 14:23:55~success
[13/Apr/2026:14:23:55] (root_api-) Final JSON =  {"status":"ok","message":"Course Details fetched Successfully","Errorcode":"","data":[{"course_id":"25","course_parent_id":"25","version":"1","org_id":"2","course_name":"Grade 8 Mathematics","short_name":"","status":"Draft","eval_id":"1","course_desc":"Grade 8 Mathematics aims to build strong foundational skills required to prepare learners for higher grades of mathematics and develop strong, appropriate mathematical reasoning and logical thinking. ","amount":"0","currency":null,"pay_type":"paid","course_brief":null,"course_duration":"16","background_color":"","text_color":"","creation_date":"2025-07-16 13:21:03","created_by":"184","updation_date":"2026-01-07 12:53:22","updated_by":"184","images":[],"parentid":"","childid":""}]}
[13/Apr/2026:14:23:55] (root_api-) token = 66bbc87451ad3590b670daae13ee0619 IP = 169.1.82.177
[13/Apr/2026:14:23:55] (root_api-) op => get-my-contents-deck-info ,user_id => 184 ,course_id => 25 ,deckId => 91 ,clid => 66bbc87451ad3590b670daae13ee0619 ,serviceName => course_data ,
[13/Apr/2026:14:23:55] (root_api-) OP= get-my-contents-deck-info of page root_api.php
[13/Apr/2026:14:23:55] (root_api-) Query~SELECT count(u.user_id) as cnt FROM tbl_user_master u WHERE u.isActive = '1' AND u.user_id ='184'~2026-04-13 14:23:55:0455~2026-04-13 14:23:55~success
[13/Apr/2026:14:23:55] (root_api-) serviceName course_data
[13/Apr/2026:14:23:55] (root_api-) Query~SELECT td.deck_id, td.created_by, tcd.course_id, 
            ifnull(tcd.deck_name,td.deck_name) deck_name,
            ifnull(tcd.short_name,td.short_name) short_name,
            ifnull(tcd.eval_id,td.eval_id) eval_id,
            ifnull(tcd.deck_desc,td.deck_desc) deck_desc,
            ifnull(tcd.deck_brief,td.deck_brief) deck_brief,
            td.status AS deckStatus,
            td.version
            FROM tbl_deck td 
            INNER JOIN tbl_course_deck tcd ON tcd.deck_id = td.deck_id AND course_id = '25' AND tcd.created_by = '184'
            Where td.deck_id = '91' AND td.deck_type = 'main' AND td.created_by = '184'~2026-04-13 14:23:55:0455~2026-04-13 14:23:55~success
[13/Apr/2026:14:23:55] (root_api-) Query~select td.deck_parent_id, cd.course_id as parent_courseid from tbl_deck td, tbl_course_deck cd where td.deck_id = 91 AND td.deck_parent_id <> 91 AND td.deck_parent_id = cd.deck_id~2026-04-13 14:23:55:0455~2026-04-13 14:23:55~success
[13/Apr/2026:14:23:55] (root_api-) Query~select td.deck_id as deck_child_id, cd.course_id as child_courseid from tbl_deck td, tbl_course_deck cd where td.deck_parent_id = 91 AND td.deck_id <> 91 AND td.deck_id = cd.deck_id~2026-04-13 14:23:55:0455~2026-04-13 14:23:55~success
[13/Apr/2026:14:23:55] (root_api-) Final JSON =  {"status":"ok",
                    "message":"",
                    "Errorcode":"",
                    "data":{"deck_id":"91","created_by":"184","course_id":"25","deck_name":"Probability ","short_name":"Probability ","eval_id":"1","deck_desc":"Probability looks at the possibility of an event occuring and in this deck we look at the basic terms used in probability as well as how to do probability calculations. ","deck_brief":"","deckStatus":"Draft","version":"1","parentid":"","childid":""}}
[13/Apr/2026:14:23:55] (root_api-) token = 66bbc87451ad3590b670daae13ee0619 IP = 169.1.82.177
[13/Apr/2026:14:23:55] (root_api-) op => get-my-contents-card-info ,user_id => 184 ,course_id => 25 ,deckId => 91 ,cardId => 2857 ,clid => 66bbc87451ad3590b670daae13ee0619 ,serviceName => course_data ,
[13/Apr/2026:14:23:55] (root_api-) OP= get-my-contents-card-info of page root_api.php
[13/Apr/2026:14:23:55] (root_api-) Query~SELECT count(u.user_id) as cnt FROM tbl_user_master u WHERE u.isActive = '1' AND u.user_id ='184'~2026-04-13 14:23:55:0455~2026-04-13 14:23:55~success
[13/Apr/2026:14:23:55] (root_api-) serviceName course_data
[13/Apr/2026:14:23:55] (root_api-) Query~SELECT tc.card_id,tc.card_style,tc.card_title,tc.card_image_url,tc.card_video_url, CASE WHEN tc.card_style = 0 THEN 'Text' ELSE 'Image' END AS card_styleText  , tc.question_text, tc.status AS cardStatus, tc.answer_text, dc.deck_id,dc.sequence as cardSequence, tc.version, tc.card_parent_id
            FROM tbl_card tc
            INNER JOIN tbl_deck_card dc ON dc.card_id = tc.card_id
            Where dc.deck_id = '91' AND tc.card_id = '2857' AND tc.card_type = 'main' /*AND tc.created_by = '184'*/~2026-04-13 14:23:55:0455~2026-04-13 14:23:55~success
[13/Apr/2026:14:23:55] (root_api-) Query~select tc.card_parent_id, dc.deck_id as card_parent_deckid, tcd.course_id as card_parent_courseid from tbl_card tc, tbl_deck_card dc, tbl_course_deck tcd WHERE tc.card_parent_id=2857 AND tc.version = 0 AND tc.card_parent_id=dc.card_id AND dc.deck_id=tcd.deck_id~2026-04-13 14:23:55:0455~2026-04-13 14:23:55~success
[13/Apr/2026:14:23:55] (root_api-) Query~select tc.card_id as card_child_id, dc.deck_id as card_child_deckid, tcd.course_id as card_child_courseid from tbl_card tc, tbl_deck_card dc, tbl_course_deck tcd WHERE tc.card_parent_id=2857 AND tc.version = 2 AND tc.card_parent_id=dc.card_id AND dc.deck_id=tcd.deck_id~2026-04-13 14:23:55:0455~2026-04-13 14:23:55~success
[13/Apr/2026:14:23:55] (root_api-) Final JSON =  {"status":"ok",
                    "message":"",
                    "Errorcode":"",
                    "data":{"card_id":"2857","card_style":"0","card_title":"Card#2857","card_image_url":"","card_video_url":"","card_styleText":"Text","question_text":"","cardStatus":"Draft","answer_text":"","deck_id":"91","cardSequence":"25","version":"1","card_parent_id":null,"card_parent_deckid":null,"card_parent_courseid":null,"card_child_id":null,"card_child_deckid":null,"card_child_courseid":null}}
[13/Apr/2026:14:23:56] (root_api-) token = 66bbc87451ad3590b670daae13ee0619 IP = 169.1.82.177
[13/Apr/2026:14:23:56] (root_api-) op => api-refresh ,clid => 66bbc87451ad3590b670daae13ee0619 ,serviceName => common_data ,
[13/Apr/2026:14:23:56] (root_api-) OP= api-refresh of page root_api.php
[13/Apr/2026:14:23:56] (root_api-) serviceName common_data
[13/Apr/2026:14:23:56] (root_api-) Final JSON =  {"status":"ok","message":"","Errorcode":"","data":""}
[13/Apr/2026:14:26:49] (root_api-) token =  IP = 169.1.82.177
[13/Apr/2026:14:26:49] (root_api-) 
[13/Apr/2026:14:26:49] (root_api-) OP=  of page root_api.php
[13/Apr/2026:14:26:49] (root_api-) Final JSON =  { "status":"error",
					"message":"Invalid Session",
					"Errorcode":"err100",
					"data":{}}
[13/Apr/2026:14:26:49] (root_api-) token = 66bbc87451ad3590b670daae13ee0619 IP = 169.1.82.177
[13/Apr/2026:14:26:49] (root_api-) op => user-card-operation ,userId => 184 ,courseId => 25 ,cardDeckMode => edit ,cardDeckId => 91 ,questionText => <p>Answer questions based on the different chocolates found in a packet.</p><p>1) What fraction of the total number of chocolates is KitKat?</p><p>2) What fraction of the total is Snickers?</p><p><br></p><table class="table table-bordered"><tbody><tr><td>Type of chocolate</td><td>Mars</td><td>Crunchie</td><td>Snickers</td><td>Twix</td><td>Bubbly</td><td>KitKat</td></tr><tr><td>Frequency</td><td>7</td><td>8</td><td>3</td><td>11</td><td>6</td><td>9</td></tr></tbody></table><p><br></p> ,answerText => <p>Total number of chocolates = 44 </p><p>1) KitKat = 9/44</p><p> 2)Snickers = 3/44 &nbsp; &nbsp;</p> ,editCardId => 2857 ,action => SAVE_AND_NEXT ,clid => 66bbc87451ad3590b670daae13ee0619 ,serviceName => deck_data ,
[13/Apr/2026:14:26:49] (root_api-) OP= user-card-operation of page root_api.php
[13/Apr/2026:14:26:49] (root_api-) serviceName deck_data
[13/Apr/2026:14:26:49] (root_api-) Query~SELECT count(1) as deckCardCount FROM tbl_deck_card WHERE deck_id = '91' AND card_id = '2857'~2026-04-13 14:26:49:0449~2026-04-13 14:26:49~success
[13/Apr/2026:14:26:49] (root_api-) Query~SELECT question_text, answer_text FROM tbl_card  WHERE card_id = '2857'~2026-04-13 14:26:49:0449~2026-04-13 14:26:49~success
[13/Apr/2026:14:26:49] (root_api-) In case Card Updated query = UPDATE tbl_card SET card_style = '0' , question_text = '<p>Answer questions based on the different chocolates found in a packet.</p><p>1) What fraction of the total number of chocolates is KitKat?</p><p>2) What fraction of the total is Snickers?</p><p><br></p><table class=\"table table-bordered\"><tbody><tr><td>Type of chocolate</td><td>Mars</td><td>Crunchie</td><td>Snickers</td><td>Twix</td><td>Bubbly</td><td>KitKat</td></tr><tr><td>Frequency</td><td>7</td><td>8</td><td>3</td><td>11</td><td>6</td><td>9</td></tr></tbody></table><p><br></p>', answer_text = '<p>Total number of chocolates = 44 </p><p>1) KitKat = 9/44</p><p> 2)Snickers = 3/44 &nbsp; &nbsp;</p>', card_type='main', updation_date = NOW(), updated_by = '184', card_title = '', card_image_url = '', 
                    onlyTextQuestion = '', onlyTextAnswer = '' 
                    WHERE card_id = '2857'
[13/Apr/2026:14:26:49] (root_api-) Query~UPDATE tbl_card SET card_style = '0' , question_text = '<p>Answer questions based on the different chocolates found in a packet.</p><p>1) What fraction of the total number of chocolates is KitKat?</p><p>2) What fraction of the total is Snickers?</p><p><br></p><table class=\"table table-bordered\"><tbody><tr><td>Type of chocolate</td><td>Mars</td><td>Crunchie</td><td>Snickers</td><td>Twix</td><td>Bubbly</td><td>KitKat</td></tr><tr><td>Frequency</td><td>7</td><td>8</td><td>3</td><td>11</td><td>6</td><td>9</td></tr></tbody></table><p><br></p>', answer_text = '<p>Total number of chocolates = 44 </p><p>1) KitKat = 9/44</p><p> 2)Snickers = 3/44 &nbsp; &nbsp;</p>', card_type='main', updation_date = NOW(), updated_by = '184', card_title = '', card_image_url = '', 
                    onlyTextQuestion = '', onlyTextAnswer = '' 
                    WHERE card_id = '2857'~2026-04-13 14:26:49:0449~2026-04-13 14:26:49~success
[13/Apr/2026:14:26:49] (root_api-) Final JSON =  {"status":"ok","message":"Card Created Successfully!!","Errorcode":"","data":"","action":"SAVE_AND_NEXT"}
[13/Apr/2026:14:26:50] (root_api-) token = 66bbc87451ad3590b670daae13ee0619 IP = 169.1.82.177
[13/Apr/2026:14:26:50] (root_api-) op => getSwitchRoles ,user_id => 184 ,org_id => 1 ,clid => 66bbc87451ad3590b670daae13ee0619 ,serviceName => user_data ,
[13/Apr/2026:14:26:50] (root_api-) OP= getSwitchRoles of page root_api.php
[13/Apr/2026:14:26:50] (root_api-) Query~SELECT count(u.user_id) as cnt FROM tbl_user_master u WHERE u.isActive = '1' AND u.user_id ='184'~2026-04-13 14:26:50:0450~2026-04-13 14:26:50~success
[13/Apr/2026:14:26:50] (root_api-) Query~SELECT count(1) as cnt FROM tbl_org  WHERE status = 'Active' AND org_id ='1'~2026-04-13 14:26:50:0450~2026-04-13 14:26:50~success
[13/Apr/2026:14:26:50] (root_api-) Query~SELECT count(1) as cnt FROM tbl_user_org u WHERE u.status = 'Active' AND u.user_id ='184' AND  org_id ='1'~2026-04-13 14:26:50:0450~2026-04-13 14:26:50~success
[13/Apr/2026:14:26:50] (root_api-) serviceName user_data
[13/Apr/2026:14:26:50] (root_api-) Query~SELECT u.user_org_id, u.org_id, u.role_id, um.email,o.org_name,r.role_name,o.short_name,CONCAT(u.role_id,'_',u.org_id) as user_org_role
            FROM tbl_user_org u 
            inner join tbl_org o on u.org_id=o.org_id
            inner join tbl_role_master r on r.role_id=u.role_id
            inner join tbl_user_master um on u.user_id = um.user_id
            where u.user_id= 184~2026-04-13 14:26:50:0450~2026-04-13 14:26:50~success
[13/Apr/2026:14:26:50] (root_api-) Final JSON =  {"status":"ok","message":"User Details fetched Successfully!!","Errorcode":"","data":[{"user_org_id":"225","org_id":"1","role_id":"3","email":"alhenaude20@gmail.com","org_name":"University Of Cape Town","role_name":"Learner","short_name":"UCT","user_org_role":"3_1"},{"user_org_id":"226","org_id":"2","role_id":"2","email":"alhenaude20@gmail.com","org_name":"C-Institute","role_name":"Educator","short_name":"C-Institute","user_org_role":"2_2"}]}
[13/Apr/2026:14:26:50] (root_api-) token = 66bbc87451ad3590b670daae13ee0619 IP = 169.1.82.177
[13/Apr/2026:14:26:50] (root_api-) op => createBlankCard ,course_id => 25 ,cardDeckId => 91 ,userId => 184 ,clid => 66bbc87451ad3590b670daae13ee0619 ,serviceName => deck_data ,
[13/Apr/2026:14:26:50] (root_api-) OP= createBlankCard of page root_api.php
[13/Apr/2026:14:26:50] (root_api-) serviceName deck_data
[13/Apr/2026:14:26:50] (root_api-) Query~SELECT count(1) as deckCount FROM tbl_deck WHERE deck_id = '91'~2026-04-13 14:26:50:0450~2026-04-13 14:26:50~success
[13/Apr/2026:14:26:50] (root_api-) Query~select ifnull(max(card_parent_id),0)+1 as maxId from tbl_card_parent~2026-04-13 14:26:50:0450~2026-04-13 14:26:50~success
[13/Apr/2026:14:26:50] (root_api-) In case tbl_card_parent Insert query = INSERT into tbl_card_parent (card_parent_id, last_version, draft_version, published_version, creation_date, created_by) 
                    VALUES (2858,'1','1','0', NOW(), '184')
[13/Apr/2026:14:26:50] (root_api-) Query~INSERT into tbl_card_parent (card_parent_id, last_version, draft_version, published_version, creation_date, created_by) 
                    VALUES (2858,'1','1','0', NOW(), '184')~2026-04-13 14:26:50:0450~2026-04-13 14:26:50~success
[13/Apr/2026:14:26:50] (root_api-) Query~select ifnull(max(card_parent_id),0) as lastInsertedId from tbl_card_parent~2026-04-13 14:26:50:0450~2026-04-13 14:26:50~success
[13/Apr/2026:14:26:50] (root_api-) Query~select ifnull(max(card_id),0)+1 as maxId from tbl_card~2026-04-13 14:26:50:0450~2026-04-13 14:26:50~success
[13/Apr/2026:14:26:50] (root_api-) In case tbl_card Insert query = INSERT into tbl_card (card_id, card_parent_id, version, card_style, status, card_type, question_text, answer_text, creation_date, created_by) 
                     VALUES (2858, 2858,  1, '0','Draft','main','','', NOW(), '184')
[13/Apr/2026:14:26:50] (root_api-) Query~INSERT into tbl_card (card_id, card_parent_id, version, card_style, status, card_type, question_text, answer_text, creation_date, created_by) 
                     VALUES (2858, 2858,  1, '0','Draft','main','','', NOW(), '184')~2026-04-13 14:26:50:0450~2026-04-13 14:26:50~success
[13/Apr/2026:14:26:50] (root_api-) Query~select ifnull(max(card_id),0) as lastInsertedId from tbl_card~2026-04-13 14:26:50:0450~2026-04-13 14:26:50~success
[13/Apr/2026:14:26:50] (root_api-) Query~UPDATE tbl_card set card_title = 'Card#2858' WHERE card_id= 2858~2026-04-13 14:26:50:0450~2026-04-13 14:26:50~success
[13/Apr/2026:14:26:50] (root_api-) Query~SELECT IFNULL(MAX(sequence), 0) as lastSequenceNumber FROM tbl_deck_card WHERE deck_id = '91'~2026-04-13 14:26:50:0450~2026-04-13 14:26:50~success
[13/Apr/2026:14:26:50] (root_api-) Query~select ifnull(max(deck_card_id),0)+1 as maxId from tbl_deck_card~2026-04-13 14:26:50:0450~2026-04-13 14:26:50~success
[13/Apr/2026:14:26:50] (root_api-) In case tbl_deck_card Insert query = INSERT into tbl_deck_card (deck_card_id, deck_id, card_id, sequence, creation_date, created_by) 
                        VALUES (2858,'91','2858','26', NOW(), '184')
[13/Apr/2026:14:26:50] (root_api-) Query~INSERT into tbl_deck_card (deck_card_id, deck_id, card_id, sequence, creation_date, created_by) 
                        VALUES (2858,'91','2858','26', NOW(), '184')~2026-04-13 14:26:50:0450~2026-04-13 14:26:50~success
[13/Apr/2026:14:26:50] (root_api-) Final JSON =  {"status":"ok","message":"Card inserted Successfully!!","Errorcode":"","data":"2858"}
[13/Apr/2026:14:26:50] (root_api-) token = 66bbc87451ad3590b670daae13ee0619 IP = 169.1.82.177
[13/Apr/2026:14:26:50] (root_api-) op => getSwitchRoles ,user_id => 184 ,org_id => 1 ,clid => 66bbc87451ad3590b670daae13ee0619 ,serviceName => user_data ,
[13/Apr/2026:14:26:50] (root_api-) OP= getSwitchRoles of page root_api.php
[13/Apr/2026:14:26:50] (root_api-) Query~SELECT count(u.user_id) as cnt FROM tbl_user_master u WHERE u.isActive = '1' AND u.user_id ='184'~2026-04-13 14:26:50:0450~2026-04-13 14:26:50~success
[13/Apr/2026:14:26:50] (root_api-) Query~SELECT count(1) as cnt FROM tbl_org  WHERE status = 'Active' AND org_id ='1'~2026-04-13 14:26:50:0450~2026-04-13 14:26:50~success
[13/Apr/2026:14:26:50] (root_api-) Query~SELECT count(1) as cnt FROM tbl_user_org u WHERE u.status = 'Active' AND u.user_id ='184' AND  org_id ='1'~2026-04-13 14:26:50:0450~2026-04-13 14:26:50~success
[13/Apr/2026:14:26:50] (root_api-) serviceName user_data
[13/Apr/2026:14:26:50] (root_api-) Query~SELECT u.user_org_id, u.org_id, u.role_id, um.email,o.org_name,r.role_name,o.short_name,CONCAT(u.role_id,'_',u.org_id) as user_org_role
            FROM tbl_user_org u 
            inner join tbl_org o on u.org_id=o.org_id
            inner join tbl_role_master r on r.role_id=u.role_id
            inner join tbl_user_master um on u.user_id = um.user_id
            where u.user_id= 184~2026-04-13 14:26:50:0450~2026-04-13 14:26:50~success
[13/Apr/2026:14:26:50] (root_api-) Final JSON =  {"status":"ok","message":"User Details fetched Successfully!!","Errorcode":"","data":[{"user_org_id":"225","org_id":"1","role_id":"3","email":"alhenaude20@gmail.com","org_name":"University Of Cape Town","role_name":"Learner","short_name":"UCT","user_org_role":"3_1"},{"user_org_id":"226","org_id":"2","role_id":"2","email":"alhenaude20@gmail.com","org_name":"C-Institute","role_name":"Educator","short_name":"C-Institute","user_org_role":"2_2"}]}
[13/Apr/2026:14:26:51] (root_api-) token = 66bbc87451ad3590b670daae13ee0619 IP = 169.1.82.177
[13/Apr/2026:14:26:51] (root_api-) op => getUsersCourseRole ,user_id => 184 ,course_id => 25 ,clid => 66bbc87451ad3590b670daae13ee0619 ,serviceName => course_data ,
[13/Apr/2026:14:26:51] (root_api-) OP= getUsersCourseRole of page root_api.php
[13/Apr/2026:14:26:51] (root_api-) Query~SELECT count(u.user_id) as cnt FROM tbl_user_master u WHERE u.isActive = '1' AND u.user_id ='184'~2026-04-13 14:26:51:0451~2026-04-13 14:26:51~success
[13/Apr/2026:14:26:51] (root_api-) serviceName course_data
[13/Apr/2026:14:26:51] (root_api-) Query~SELECT ed_role FROM tbl_course_educator WHERE  course_id = '25' AND user_id = 184~2026-04-13 14:26:51:0451~2026-04-13 14:26:51~success
[13/Apr/2026:14:26:51] (root_api-) Final JSON =  {"status":"ok","message":"","Errorcode":"","data":{"ed_role":"author"}}
[13/Apr/2026:14:26:51] (root_api-) token = 66bbc87451ad3590b670daae13ee0619 IP = 169.1.82.177
[13/Apr/2026:14:26:51] (root_api-) op => get-my-contents-card-info ,user_id => 184 ,course_id => 25 ,deckId => 91 ,cardId => 2858 ,clid => 66bbc87451ad3590b670daae13ee0619 ,serviceName => course_data ,
[13/Apr/2026:14:26:51] (root_api-) OP= get-my-contents-card-info of page root_api.php
[13/Apr/2026:14:26:51] (root_api-) Query~SELECT count(u.user_id) as cnt FROM tbl_user_master u WHERE u.isActive = '1' AND u.user_id ='184'~2026-04-13 14:26:51:0451~2026-04-13 14:26:51~success
[13/Apr/2026:14:26:51] (root_api-) serviceName course_data
[13/Apr/2026:14:26:51] (root_api-) Query~SELECT tc.card_id,tc.card_style,tc.card_title,tc.card_image_url,tc.card_video_url, CASE WHEN tc.card_style = 0 THEN 'Text' ELSE 'Image' END AS card_styleText  , tc.question_text, tc.status AS cardStatus, tc.answer_text, dc.deck_id,dc.sequence as cardSequence, tc.version, tc.card_parent_id
            FROM tbl_card tc
            INNER JOIN tbl_deck_card dc ON dc.card_id = tc.card_id
            Where dc.deck_id = '91' AND tc.card_id = '2858' AND tc.card_type = 'main' /*AND tc.created_by = '184'*/~2026-04-13 14:26:51:0451~2026-04-13 14:26:51~success
[13/Apr/2026:14:26:51] (root_api-) Query~select tc.card_parent_id, dc.deck_id as card_parent_deckid, tcd.course_id as card_parent_courseid from tbl_card tc, tbl_deck_card dc, tbl_course_deck tcd WHERE tc.card_parent_id=2858 AND tc.version = 0 AND tc.card_parent_id=dc.card_id AND dc.deck_id=tcd.deck_id~2026-04-13 14:26:51:0451~2026-04-13 14:26:51~success
[13/Apr/2026:14:26:51] (root_api-) Query~select tc.card_id as card_child_id, dc.deck_id as card_child_deckid, tcd.course_id as card_child_courseid from tbl_card tc, tbl_deck_card dc, tbl_course_deck tcd WHERE tc.card_parent_id=2858 AND tc.version = 2 AND tc.card_parent_id=dc.card_id AND dc.deck_id=tcd.deck_id~2026-04-13 14:26:51:0451~2026-04-13 14:26:51~success
[13/Apr/2026:14:26:51] (root_api-) Final JSON =  {"status":"ok",
                    "message":"",
                    "Errorcode":"",
                    "data":{"card_id":"2858","card_style":"0","card_title":"Card#2858","card_image_url":"","card_video_url":"","card_styleText":"Text","question_text":"","cardStatus":"Draft","answer_text":"","deck_id":"91","cardSequence":"26","version":"1","card_parent_id":null,"card_parent_deckid":null,"card_parent_courseid":null,"card_child_id":null,"card_child_deckid":null,"card_child_courseid":null}}
[13/Apr/2026:14:26:51] (root_api-) token = 66bbc87451ad3590b670daae13ee0619 IP = 169.1.82.177
[13/Apr/2026:14:26:51] (root_api-) op => getCourseDetail ,course_id => 25 ,clid => 66bbc87451ad3590b670daae13ee0619 ,serviceName => course_data ,
[13/Apr/2026:14:26:51] (root_api-) OP= getCourseDetail of page root_api.php
[13/Apr/2026:14:26:51] (root_api-) serviceName course_data
[13/Apr/2026:14:26:51] (root_api-) Query~SELECT * FROM tbl_course where course_id = '25' AND status NOT IN('Discard')~2026-04-13 14:26:51:0451~2026-04-13 14:26:51~success
[13/Apr/2026:14:26:51] (root_api-) Query~SELECT course_image_id, course_image, sequence, status FROM tbl_course_images where course_id = 25 ORDER BY sequence DESC~2026-04-13 14:26:51:0451~2026-04-13 14:26:51~success
[13/Apr/2026:14:26:51] (root_api-) Query~select course_id as prev_course_id from tbl_course where course_parent_id = 25 AND version = 0 AND status NOT IN('Discard')~2026-04-13 14:26:51:0451~2026-04-13 14:26:51~success
[13/Apr/2026:14:26:51] (root_api-) Query~select course_id as next_course_id from tbl_course where course_parent_id = 25 AND version = 2 AND status NOT IN('Discard')~2026-04-13 14:26:51:0451~2026-04-13 14:26:51~success
[13/Apr/2026:14:26:51] (root_api-) Final JSON =  {"status":"ok","message":"Course Details fetched Successfully","Errorcode":"","data":[{"course_id":"25","course_parent_id":"25","version":"1","org_id":"2","course_name":"Grade 8 Mathematics","short_name":"","status":"Draft","eval_id":"1","course_desc":"Grade 8 Mathematics aims to build strong foundational skills required to prepare learners for higher grades of mathematics and develop strong, appropriate mathematical reasoning and logical thinking. ","amount":"0","currency":null,"pay_type":"paid","course_brief":null,"course_duration":"16","background_color":"","text_color":"","creation_date":"2025-07-16 13:21:03","created_by":"184","updation_date":"2026-01-07 12:53:22","updated_by":"184","images":[],"parentid":"","childid":""}]}
[13/Apr/2026:14:26:51] (root_api-) token = 66bbc87451ad3590b670daae13ee0619 IP = 169.1.82.177
[13/Apr/2026:14:26:51] (root_api-) op => get-my-contents-deck-info ,user_id => 184 ,course_id => 25 ,deckId => 91 ,clid => 66bbc87451ad3590b670daae13ee0619 ,serviceName => course_data ,
[13/Apr/2026:14:26:51] (root_api-) OP= get-my-contents-deck-info of page root_api.php
[13/Apr/2026:14:26:51] (root_api-) Query~SELECT count(u.user_id) as cnt FROM tbl_user_master u WHERE u.isActive = '1' AND u.user_id ='184'~2026-04-13 14:26:51:0451~2026-04-13 14:26:51~success
[13/Apr/2026:14:26:51] (root_api-) serviceName course_data
[13/Apr/2026:14:26:51] (root_api-) Query~SELECT td.deck_id, td.created_by, tcd.course_id, 
            ifnull(tcd.deck_name,td.deck_name) deck_name,
            ifnull(tcd.short_name,td.short_name) short_name,
            ifnull(tcd.eval_id,td.eval_id) eval_id,
            ifnull(tcd.deck_desc,td.deck_desc) deck_desc,
            ifnull(tcd.deck_brief,td.deck_brief) deck_brief,
            td.status AS deckStatus,
            td.version
            FROM tbl_deck td 
            INNER JOIN tbl_course_deck tcd ON tcd.deck_id = td.deck_id AND course_id = '25' AND tcd.created_by = '184'
            Where td.deck_id = '91' AND td.deck_type = 'main' AND td.created_by = '184'~2026-04-13 14:26:51:0451~2026-04-13 14:26:51~success
[13/Apr/2026:14:26:51] (root_api-) Query~select td.deck_parent_id, cd.course_id as parent_courseid from tbl_deck td, tbl_course_deck cd where td.deck_id = 91 AND td.deck_parent_id <> 91 AND td.deck_parent_id = cd.deck_id~2026-04-13 14:26:51:0451~2026-04-13 14:26:51~success
[13/Apr/2026:14:26:51] (root_api-) Query~select td.deck_id as deck_child_id, cd.course_id as child_courseid from tbl_deck td, tbl_course_deck cd where td.deck_parent_id = 91 AND td.deck_id <> 91 AND td.deck_id = cd.deck_id~2026-04-13 14:26:51:0451~2026-04-13 14:26:51~success
[13/Apr/2026:14:26:51] (root_api-) Final JSON =  {"status":"ok",
                    "message":"",
                    "Errorcode":"",
                    "data":{"deck_id":"91","created_by":"184","course_id":"25","deck_name":"Probability ","short_name":"Probability ","eval_id":"1","deck_desc":"Probability looks at the possibility of an event occuring and in this deck we look at the basic terms used in probability as well as how to do probability calculations. ","deck_brief":"","deckStatus":"Draft","version":"1","parentid":"","childid":""}}
[13/Apr/2026:14:26:52] (root_api-) token = 66bbc87451ad3590b670daae13ee0619 IP = 169.1.82.177
[13/Apr/2026:14:26:52] (root_api-) op => api-refresh ,clid => 66bbc87451ad3590b670daae13ee0619 ,serviceName => common_data ,
[13/Apr/2026:14:26:52] (root_api-) OP= api-refresh of page root_api.php
[13/Apr/2026:14:26:52] (root_api-) serviceName common_data
[13/Apr/2026:14:26:52] (root_api-) Final JSON =  {"status":"ok","message":"","Errorcode":"","data":""}
[13/Apr/2026:14:28:42] (root_api-) token =  IP = 169.1.82.177
[13/Apr/2026:14:28:42] (root_api-) deckId => 91 ,cardId => 2858 ,courseId => 25 ,mediafor => Q ,userId => 184 ,action => cardImage ,op => updateCardImage ,serviceName => course_data ,clid => 66bbc87451ad3590b670daae13ee0619 ,
[13/Apr/2026:14:28:42] (root_api-) OP= updateCardImage of page root_api.php
[13/Apr/2026:14:28:42] (root_api-) serviceName course_data
[13/Apr/2026:14:28:42] (root_api-) Final JSON =  {"status":"ok","message":"","Errorcode":"","data":{"mediafor":"Q","img_url":"https:\/\/bo.coglearn.cioinfotech.com\/upload\/courses\/course_25\/deck_91\/card_2858\/image 1 jpeg..jpg"}}
[13/Apr/2026:14:30:43] (root_api-) token =  IP = 169.1.82.177
[13/Apr/2026:14:30:43] (root_api-) 
[13/Apr/2026:14:30:43] (root_api-) OP=  of page root_api.php
[13/Apr/2026:14:30:43] (root_api-) Final JSON =  { "status":"error",
					"message":"Invalid Session",
					"Errorcode":"err100",
					"data":{}}
[13/Apr/2026:14:30:43] (root_api-) token = 66bbc87451ad3590b670daae13ee0619 IP = 169.1.82.177
[13/Apr/2026:14:30:43] (root_api-) op => user-card-operation ,userId => 184 ,courseId => 25 ,cardDeckMode => edit ,cardDeckId => 91 ,questionText => <p>A collection of buttons in a bag is given below. Answer the questions.</p><p>1) Are you more likely to randomly select the pink button or the orange button? Why?</p><p>2) How many times less likely are you to pick an orange button compared to perhaps picking a pink button.</p><p><img src="https://bo.coglearn.cioinfotech.com/upload/courses/course_25/deck_91/card_2858/image 1 jpeg..jpg" style="width: 381px;"><br></p> ,answerText => <p>1) You are more likely to choose a pink button rather than an orange button because there are more pink buttons than orange buttons in the bag, so you have a higher chance of choosing a pink button.</p><p>2) You are <span style="background-color: rgb(214, 165, 189);">2 times less likely</span> to choose an orange button because there are 4 pink buttons, and only 2 orange buttons. This makes the odds 2 times less likely to pick an orange button.&nbsp;</p> ,editCardId => 2858 ,action => SAVE_AND_NEXT ,clid => 66bbc87451ad3590b670daae13ee0619 ,serviceName => deck_data ,
[13/Apr/2026:14:30:43] (root_api-) OP= user-card-operation of page root_api.php
[13/Apr/2026:14:30:43] (root_api-) serviceName deck_data
[13/Apr/2026:14:30:43] (root_api-) Query~SELECT count(1) as deckCardCount FROM tbl_deck_card WHERE deck_id = '91' AND card_id = '2858'~2026-04-13 14:30:43:0443~2026-04-13 14:30:43~success
[13/Apr/2026:14:30:43] (root_api-) Query~SELECT question_text, answer_text FROM tbl_card  WHERE card_id = '2858'~2026-04-13 14:30:43:0443~2026-04-13 14:30:43~success
[13/Apr/2026:14:30:43] (root_api-) In case Card Updated query = UPDATE tbl_card SET card_style = '0' , question_text = '<p>A collection of buttons in a bag is given below. Answer the questions.</p><p>1) Are you more likely to randomly select the pink button or the orange button? Why?</p><p>2) How many times less likely are you to pick an orange button compared to perhaps picking a pink button.</p><p><img src=\"https://bo.coglearn.cioinfotech.com/upload/courses/course_25/deck_91/card_2858/image 1 jpeg..jpg\" style=\"width: 381px;\"><br></p>', answer_text = '<p>1) You are more likely to choose a pink button rather than an orange button because there are more pink buttons than orange buttons in the bag, so you have a higher chance of choosing a pink button.</p><p>2) You are <span style=\"background-color: rgb(214, 165, 189);\">2 times less likely</span> to choose an orange button because there are 4 pink buttons, and only 2 orange buttons. This makes the odds 2 times less likely to pick an orange button.&nbsp;</p>', card_type='main', updation_date = NOW(), updated_by = '184', card_title = '', card_image_url = '', 
                    onlyTextQuestion = '', onlyTextAnswer = '' 
                    WHERE card_id = '2858'
[13/Apr/2026:14:30:43] (root_api-) Query~UPDATE tbl_card SET card_style = '0' , question_text = '<p>A collection of buttons in a bag is given below. Answer the questions.</p><p>1) Are you more likely to randomly select the pink button or the orange button? Why?</p><p>2) How many times less likely are you to pick an orange button compared to perhaps picking a pink button.</p><p><img src=\"https://bo.coglearn.cioinfotech.com/upload/courses/course_25/deck_91/card_2858/image 1 jpeg..jpg\" style=\"width: 381px;\"><br></p>', answer_text = '<p>1) You are more likely to choose a pink button rather than an orange button because there are more pink buttons than orange buttons in the bag, so you have a higher chance of choosing a pink button.</p><p>2) You are <span style=\"background-color: rgb(214, 165, 189);\">2 times less likely</span> to choose an orange button because there are 4 pink buttons, and only 2 orange buttons. This makes the odds 2 times less likely to pick an orange button.&nbsp;</p>', card_type='main', updation_date = NOW(), updated_by = '184', card_title = '', card_image_url = '', 
                    onlyTextQuestion = '', onlyTextAnswer = '' 
                    WHERE card_id = '2858'~2026-04-13 14:30:43:0443~2026-04-13 14:30:43~success
[13/Apr/2026:14:30:43] (root_api-) Final JSON =  {"status":"ok","message":"Card Created Successfully!!","Errorcode":"","data":"","action":"SAVE_AND_NEXT"}
[13/Apr/2026:14:30:44] (root_api-) token = 66bbc87451ad3590b670daae13ee0619 IP = 169.1.82.177
[13/Apr/2026:14:30:44] (root_api-) op => getSwitchRoles ,user_id => 184 ,org_id => 1 ,clid => 66bbc87451ad3590b670daae13ee0619 ,serviceName => user_data ,
[13/Apr/2026:14:30:44] (root_api-) OP= getSwitchRoles of page root_api.php
[13/Apr/2026:14:30:44] (root_api-) Query~SELECT count(u.user_id) as cnt FROM tbl_user_master u WHERE u.isActive = '1' AND u.user_id ='184'~2026-04-13 14:30:44:0444~2026-04-13 14:30:44~success
[13/Apr/2026:14:30:44] (root_api-) Query~SELECT count(1) as cnt FROM tbl_org  WHERE status = 'Active' AND org_id ='1'~2026-04-13 14:30:44:0444~2026-04-13 14:30:44~success
[13/Apr/2026:14:30:44] (root_api-) Query~SELECT count(1) as cnt FROM tbl_user_org u WHERE u.status = 'Active' AND u.user_id ='184' AND  org_id ='1'~2026-04-13 14:30:44:0444~2026-04-13 14:30:44~success
[13/Apr/2026:14:30:44] (root_api-) serviceName user_data
[13/Apr/2026:14:30:44] (root_api-) Query~SELECT u.user_org_id, u.org_id, u.role_id, um.email,o.org_name,r.role_name,o.short_name,CONCAT(u.role_id,'_',u.org_id) as user_org_role
            FROM tbl_user_org u 
            inner join tbl_org o on u.org_id=o.org_id
            inner join tbl_role_master r on r.role_id=u.role_id
            inner join tbl_user_master um on u.user_id = um.user_id
            where u.user_id= 184~2026-04-13 14:30:44:0444~2026-04-13 14:30:44~success
[13/Apr/2026:14:30:44] (root_api-) Final JSON =  {"status":"ok","message":"User Details fetched Successfully!!","Errorcode":"","data":[{"user_org_id":"225","org_id":"1","role_id":"3","email":"alhenaude20@gmail.com","org_name":"University Of Cape Town","role_name":"Learner","short_name":"UCT","user_org_role":"3_1"},{"user_org_id":"226","org_id":"2","role_id":"2","email":"alhenaude20@gmail.com","org_name":"C-Institute","role_name":"Educator","short_name":"C-Institute","user_org_role":"2_2"}]}
[13/Apr/2026:14:30:44] (root_api-) token = 66bbc87451ad3590b670daae13ee0619 IP = 169.1.82.177
[13/Apr/2026:14:30:44] (root_api-) op => createBlankCard ,course_id => 25 ,cardDeckId => 91 ,userId => 184 ,clid => 66bbc87451ad3590b670daae13ee0619 ,serviceName => deck_data ,
[13/Apr/2026:14:30:44] (root_api-) OP= createBlankCard of page root_api.php
[13/Apr/2026:14:30:44] (root_api-) serviceName deck_data
[13/Apr/2026:14:30:44] (root_api-) Query~SELECT count(1) as deckCount FROM tbl_deck WHERE deck_id = '91'~2026-04-13 14:30:44:0444~2026-04-13 14:30:44~success
[13/Apr/2026:14:30:44] (root_api-) Query~select ifnull(max(card_parent_id),0)+1 as maxId from tbl_card_parent~2026-04-13 14:30:44:0444~2026-04-13 14:30:44~success
[13/Apr/2026:14:30:44] (root_api-) In case tbl_card_parent Insert query = INSERT into tbl_card_parent (card_parent_id, last_version, draft_version, published_version, creation_date, created_by) 
                    VALUES (2859,'1','1','0', NOW(), '184')
[13/Apr/2026:14:30:44] (root_api-) Query~INSERT into tbl_card_parent (card_parent_id, last_version, draft_version, published_version, creation_date, created_by) 
                    VALUES (2859,'1','1','0', NOW(), '184')~2026-04-13 14:30:44:0444~2026-04-13 14:30:44~success
[13/Apr/2026:14:30:44] (root_api-) Query~select ifnull(max(card_parent_id),0) as lastInsertedId from tbl_card_parent~2026-04-13 14:30:44:0444~2026-04-13 14:30:44~success
[13/Apr/2026:14:30:44] (root_api-) Query~select ifnull(max(card_id),0)+1 as maxId from tbl_card~2026-04-13 14:30:44:0444~2026-04-13 14:30:44~success
[13/Apr/2026:14:30:44] (root_api-) In case tbl_card Insert query = INSERT into tbl_card (card_id, card_parent_id, version, card_style, status, card_type, question_text, answer_text, creation_date, created_by) 
                     VALUES (2859, 2859,  1, '0','Draft','main','','', NOW(), '184')
[13/Apr/2026:14:30:44] (root_api-) Query~INSERT into tbl_card (card_id, card_parent_id, version, card_style, status, card_type, question_text, answer_text, creation_date, created_by) 
                     VALUES (2859, 2859,  1, '0','Draft','main','','', NOW(), '184')~2026-04-13 14:30:44:0444~2026-04-13 14:30:44~success
[13/Apr/2026:14:30:44] (root_api-) Query~select ifnull(max(card_id),0) as lastInsertedId from tbl_card~2026-04-13 14:30:44:0444~2026-04-13 14:30:44~success
[13/Apr/2026:14:30:44] (root_api-) Query~UPDATE tbl_card set card_title = 'Card#2859' WHERE card_id= 2859~2026-04-13 14:30:44:0444~2026-04-13 14:30:44~success
[13/Apr/2026:14:30:44] (root_api-) Query~SELECT IFNULL(MAX(sequence), 0) as lastSequenceNumber FROM tbl_deck_card WHERE deck_id = '91'~2026-04-13 14:30:44:0444~2026-04-13 14:30:44~success
[13/Apr/2026:14:30:44] (root_api-) Query~select ifnull(max(deck_card_id),0)+1 as maxId from tbl_deck_card~2026-04-13 14:30:44:0444~2026-04-13 14:30:44~success
[13/Apr/2026:14:30:44] (root_api-) In case tbl_deck_card Insert query = INSERT into tbl_deck_card (deck_card_id, deck_id, card_id, sequence, creation_date, created_by) 
                        VALUES (2859,'91','2859','27', NOW(), '184')
[13/Apr/2026:14:30:44] (root_api-) Query~INSERT into tbl_deck_card (deck_card_id, deck_id, card_id, sequence, creation_date, created_by) 
                        VALUES (2859,'91','2859','27', NOW(), '184')~2026-04-13 14:30:44:0444~2026-04-13 14:30:44~success
[13/Apr/2026:14:30:44] (root_api-) Final JSON =  {"status":"ok","message":"Card inserted Successfully!!","Errorcode":"","data":"2859"}
[13/Apr/2026:14:30:45] (root_api-) token = 66bbc87451ad3590b670daae13ee0619 IP = 169.1.82.177
[13/Apr/2026:14:30:45] (root_api-) op => getSwitchRoles ,user_id => 184 ,org_id => 1 ,clid => 66bbc87451ad3590b670daae13ee0619 ,serviceName => user_data ,
[13/Apr/2026:14:30:45] (root_api-) OP= getSwitchRoles of page root_api.php
[13/Apr/2026:14:30:45] (root_api-) Query~SELECT count(u.user_id) as cnt FROM tbl_user_master u WHERE u.isActive = '1' AND u.user_id ='184'~2026-04-13 14:30:45:0445~2026-04-13 14:30:45~success
[13/Apr/2026:14:30:45] (root_api-) Query~SELECT count(1) as cnt FROM tbl_org  WHERE status = 'Active' AND org_id ='1'~2026-04-13 14:30:45:0445~2026-04-13 14:30:45~success
[13/Apr/2026:14:30:45] (root_api-) Query~SELECT count(1) as cnt FROM tbl_user_org u WHERE u.status = 'Active' AND u.user_id ='184' AND  org_id ='1'~2026-04-13 14:30:45:0445~2026-04-13 14:30:45~success
[13/Apr/2026:14:30:45] (root_api-) serviceName user_data
[13/Apr/2026:14:30:45] (root_api-) Query~SELECT u.user_org_id, u.org_id, u.role_id, um.email,o.org_name,r.role_name,o.short_name,CONCAT(u.role_id,'_',u.org_id) as user_org_role
            FROM tbl_user_org u 
            inner join tbl_org o on u.org_id=o.org_id
            inner join tbl_role_master r on r.role_id=u.role_id
            inner join tbl_user_master um on u.user_id = um.user_id
            where u.user_id= 184~2026-04-13 14:30:45:0445~2026-04-13 14:30:45~success
[13/Apr/2026:14:30:45] (root_api-) Final JSON =  {"status":"ok","message":"User Details fetched Successfully!!","Errorcode":"","data":[{"user_org_id":"225","org_id":"1","role_id":"3","email":"alhenaude20@gmail.com","org_name":"University Of Cape Town","role_name":"Learner","short_name":"UCT","user_org_role":"3_1"},{"user_org_id":"226","org_id":"2","role_id":"2","email":"alhenaude20@gmail.com","org_name":"C-Institute","role_name":"Educator","short_name":"C-Institute","user_org_role":"2_2"}]}
[13/Apr/2026:14:30:45] (root_api-) token = 66bbc87451ad3590b670daae13ee0619 IP = 169.1.82.177
[13/Apr/2026:14:30:45] (root_api-) op => getUsersCourseRole ,user_id => 184 ,course_id => 25 ,clid => 66bbc87451ad3590b670daae13ee0619 ,serviceName => course_data ,
[13/Apr/2026:14:30:45] (root_api-) OP= getUsersCourseRole of page root_api.php
[13/Apr/2026:14:30:45] (root_api-) Query~SELECT count(u.user_id) as cnt FROM tbl_user_master u WHERE u.isActive = '1' AND u.user_id ='184'~2026-04-13 14:30:45:0445~2026-04-13 14:30:45~success
[13/Apr/2026:14:30:45] (root_api-) serviceName course_data
[13/Apr/2026:14:30:45] (root_api-) Query~SELECT ed_role FROM tbl_course_educator WHERE  course_id = '25' AND user_id = 184~2026-04-13 14:30:45:0445~2026-04-13 14:30:45~success
[13/Apr/2026:14:30:45] (root_api-) Final JSON =  {"status":"ok","message":"","Errorcode":"","data":{"ed_role":"author"}}
[13/Apr/2026:14:30:45] (root_api-) token = 66bbc87451ad3590b670daae13ee0619 IP = 169.1.82.177
[13/Apr/2026:14:30:45] (root_api-) op => get-my-contents-card-info ,user_id => 184 ,course_id => 25 ,deckId => 91 ,cardId => 2859 ,clid => 66bbc87451ad3590b670daae13ee0619 ,serviceName => course_data ,
[13/Apr/2026:14:30:45] (root_api-) OP= get-my-contents-card-info of page root_api.php
[13/Apr/2026:14:30:45] (root_api-) Query~SELECT count(u.user_id) as cnt FROM tbl_user_master u WHERE u.isActive = '1' AND u.user_id ='184'~2026-04-13 14:30:45:0445~2026-04-13 14:30:45~success
[13/Apr/2026:14:30:45] (root_api-) serviceName course_data
[13/Apr/2026:14:30:45] (root_api-) Query~SELECT tc.card_id,tc.card_style,tc.card_title,tc.card_image_url,tc.card_video_url, CASE WHEN tc.card_style = 0 THEN 'Text' ELSE 'Image' END AS card_styleText  , tc.question_text, tc.status AS cardStatus, tc.answer_text, dc.deck_id,dc.sequence as cardSequence, tc.version, tc.card_parent_id
            FROM tbl_card tc
            INNER JOIN tbl_deck_card dc ON dc.card_id = tc.card_id
            Where dc.deck_id = '91' AND tc.card_id = '2859' AND tc.card_type = 'main' /*AND tc.created_by = '184'*/~2026-04-13 14:30:45:0445~2026-04-13 14:30:45~success
[13/Apr/2026:14:30:45] (root_api-) Query~select tc.card_parent_id, dc.deck_id as card_parent_deckid, tcd.course_id as card_parent_courseid from tbl_card tc, tbl_deck_card dc, tbl_course_deck tcd WHERE tc.card_parent_id=2859 AND tc.version = 0 AND tc.card_parent_id=dc.card_id AND dc.deck_id=tcd.deck_id~2026-04-13 14:30:45:0445~2026-04-13 14:30:45~success
[13/Apr/2026:14:30:45] (root_api-) Query~select tc.card_id as card_child_id, dc.deck_id as card_child_deckid, tcd.course_id as card_child_courseid from tbl_card tc, tbl_deck_card dc, tbl_course_deck tcd WHERE tc.card_parent_id=2859 AND tc.version = 2 AND tc.card_parent_id=dc.card_id AND dc.deck_id=tcd.deck_id~2026-04-13 14:30:45:0445~2026-04-13 14:30:45~success
[13/Apr/2026:14:30:45] (root_api-) Final JSON =  {"status":"ok",
                    "message":"",
                    "Errorcode":"",
                    "data":{"card_id":"2859","card_style":"0","card_title":"Card#2859","card_image_url":"","card_video_url":"","card_styleText":"Text","question_text":"","cardStatus":"Draft","answer_text":"","deck_id":"91","cardSequence":"27","version":"1","card_parent_id":null,"card_parent_deckid":null,"card_parent_courseid":null,"card_child_id":null,"card_child_deckid":null,"card_child_courseid":null}}
[13/Apr/2026:14:30:45] (root_api-) token = 66bbc87451ad3590b670daae13ee0619 IP = 169.1.82.177
[13/Apr/2026:14:30:45] (root_api-) op => getCourseDetail ,course_id => 25 ,clid => 66bbc87451ad3590b670daae13ee0619 ,serviceName => course_data ,
[13/Apr/2026:14:30:45] (root_api-) OP= getCourseDetail of page root_api.php
[13/Apr/2026:14:30:45] (root_api-) serviceName course_data
[13/Apr/2026:14:30:45] (root_api-) Query~SELECT * FROM tbl_course where course_id = '25' AND status NOT IN('Discard')~2026-04-13 14:30:45:0445~2026-04-13 14:30:45~success
[13/Apr/2026:14:30:45] (root_api-) Query~SELECT course_image_id, course_image, sequence, status FROM tbl_course_images where course_id = 25 ORDER BY sequence DESC~2026-04-13 14:30:45:0445~2026-04-13 14:30:45~success
[13/Apr/2026:14:30:45] (root_api-) Query~select course_id as prev_course_id from tbl_course where course_parent_id = 25 AND version = 0 AND status NOT IN('Discard')~2026-04-13 14:30:45:0445~2026-04-13 14:30:45~success
[13/Apr/2026:14:30:45] (root_api-) Query~select course_id as next_course_id from tbl_course where course_parent_id = 25 AND version = 2 AND status NOT IN('Discard')~2026-04-13 14:30:45:0445~2026-04-13 14:30:45~success
[13/Apr/2026:14:30:45] (root_api-) Final JSON =  {"status":"ok","message":"Course Details fetched Successfully","Errorcode":"","data":[{"course_id":"25","course_parent_id":"25","version":"1","org_id":"2","course_name":"Grade 8 Mathematics","short_name":"","status":"Draft","eval_id":"1","course_desc":"Grade 8 Mathematics aims to build strong foundational skills required to prepare learners for higher grades of mathematics and develop strong, appropriate mathematical reasoning and logical thinking. ","amount":"0","currency":null,"pay_type":"paid","course_brief":null,"course_duration":"16","background_color":"","text_color":"","creation_date":"2025-07-16 13:21:03","created_by":"184","updation_date":"2026-01-07 12:53:22","updated_by":"184","images":[],"parentid":"","childid":""}]}
[13/Apr/2026:14:30:45] (root_api-) token = 66bbc87451ad3590b670daae13ee0619 IP = 169.1.82.177
[13/Apr/2026:14:30:45] (root_api-) op => get-my-contents-deck-info ,user_id => 184 ,course_id => 25 ,deckId => 91 ,clid => 66bbc87451ad3590b670daae13ee0619 ,serviceName => course_data ,
[13/Apr/2026:14:30:45] (root_api-) OP= get-my-contents-deck-info of page root_api.php
[13/Apr/2026:14:30:45] (root_api-) Query~SELECT count(u.user_id) as cnt FROM tbl_user_master u WHERE u.isActive = '1' AND u.user_id ='184'~2026-04-13 14:30:45:0445~2026-04-13 14:30:45~success
[13/Apr/2026:14:30:45] (root_api-) serviceName course_data
[13/Apr/2026:14:30:45] (root_api-) Query~SELECT td.deck_id, td.created_by, tcd.course_id, 
            ifnull(tcd.deck_name,td.deck_name) deck_name,
            ifnull(tcd.short_name,td.short_name) short_name,
            ifnull(tcd.eval_id,td.eval_id) eval_id,
            ifnull(tcd.deck_desc,td.deck_desc) deck_desc,
            ifnull(tcd.deck_brief,td.deck_brief) deck_brief,
            td.status AS deckStatus,
            td.version
            FROM tbl_deck td 
            INNER JOIN tbl_course_deck tcd ON tcd.deck_id = td.deck_id AND course_id = '25' AND tcd.created_by = '184'
            Where td.deck_id = '91' AND td.deck_type = 'main' AND td.created_by = '184'~2026-04-13 14:30:45:0445~2026-04-13 14:30:45~success
[13/Apr/2026:14:30:45] (root_api-) Query~select td.deck_parent_id, cd.course_id as parent_courseid from tbl_deck td, tbl_course_deck cd where td.deck_id = 91 AND td.deck_parent_id <> 91 AND td.deck_parent_id = cd.deck_id~2026-04-13 14:30:45:0445~2026-04-13 14:30:45~success
[13/Apr/2026:14:30:45] (root_api-) Query~select td.deck_id as deck_child_id, cd.course_id as child_courseid from tbl_deck td, tbl_course_deck cd where td.deck_parent_id = 91 AND td.deck_id <> 91 AND td.deck_id = cd.deck_id~2026-04-13 14:30:45:0445~2026-04-13 14:30:45~success
[13/Apr/2026:14:30:45] (root_api-) Final JSON =  {"status":"ok",
                    "message":"",
                    "Errorcode":"",
                    "data":{"deck_id":"91","created_by":"184","course_id":"25","deck_name":"Probability ","short_name":"Probability ","eval_id":"1","deck_desc":"Probability looks at the possibility of an event occuring and in this deck we look at the basic terms used in probability as well as how to do probability calculations. ","deck_brief":"","deckStatus":"Draft","version":"1","parentid":"","childid":""}}
[13/Apr/2026:14:30:46] (root_api-) token = 66bbc87451ad3590b670daae13ee0619 IP = 169.1.82.177
[13/Apr/2026:14:30:46] (root_api-) op => api-refresh ,clid => 66bbc87451ad3590b670daae13ee0619 ,serviceName => common_data ,
[13/Apr/2026:14:30:46] (root_api-) OP= api-refresh of page root_api.php
[13/Apr/2026:14:30:46] (root_api-) serviceName common_data
[13/Apr/2026:14:30:46] (root_api-) Final JSON =  {"status":"ok","message":"","Errorcode":"","data":""}
[13/Apr/2026:14:31:36] (root_api-) token =  IP = 169.1.82.177
[13/Apr/2026:14:31:36] (root_api-) 
[13/Apr/2026:14:31:36] (root_api-) OP=  of page root_api.php
[13/Apr/2026:14:31:36] (root_api-) Final JSON =  { "status":"error",
					"message":"Invalid Session",
					"Errorcode":"err100",
					"data":{}}
[13/Apr/2026:14:31:36] (root_api-) token = 66bbc87451ad3590b670daae13ee0619 IP = 169.1.82.177
[13/Apr/2026:14:31:36] (root_api-) op => user-card-operation ,userId => 184 ,courseId => 25 ,cardDeckMode => edit ,cardDeckId => 91 ,questionText => <p>There are 3 different chocolates that are placed into a packet.</p><p> How many possible events are there?</p> ,answerText => <p>3 possible events</p><p>Why?</p><p>Because there are 3 different chocolates meaning there are 3 different possible outcomes.&nbsp;</p> ,editCardId => 2859 ,action => SAVE_AND_NEXT ,clid => 66bbc87451ad3590b670daae13ee0619 ,serviceName => deck_data ,
[13/Apr/2026:14:31:36] (root_api-) OP= user-card-operation of page root_api.php
[13/Apr/2026:14:31:36] (root_api-) serviceName deck_data
[13/Apr/2026:14:31:36] (root_api-) Query~SELECT count(1) as deckCardCount FROM tbl_deck_card WHERE deck_id = '91' AND card_id = '2859'~2026-04-13 14:31:36:0436~2026-04-13 14:31:36~success
[13/Apr/2026:14:31:36] (root_api-) Query~SELECT question_text, answer_text FROM tbl_card  WHERE card_id = '2859'~2026-04-13 14:31:36:0436~2026-04-13 14:31:36~success
[13/Apr/2026:14:31:36] (root_api-) In case Card Updated query = UPDATE tbl_card SET card_style = '0' , question_text = '<p>There are 3 different chocolates that are placed into a packet.</p><p> How many possible events are there?</p>', answer_text = '<p>3 possible events</p><p>Why?</p><p>Because there are 3 different chocolates meaning there are 3 different possible outcomes.&nbsp;</p>', card_type='main', updation_date = NOW(), updated_by = '184', card_title = '', card_image_url = '', 
                    onlyTextQuestion = '', onlyTextAnswer = '' 
                    WHERE card_id = '2859'
[13/Apr/2026:14:31:36] (root_api-) Query~UPDATE tbl_card SET card_style = '0' , question_text = '<p>There are 3 different chocolates that are placed into a packet.</p><p> How many possible events are there?</p>', answer_text = '<p>3 possible events</p><p>Why?</p><p>Because there are 3 different chocolates meaning there are 3 different possible outcomes.&nbsp;</p>', card_type='main', updation_date = NOW(), updated_by = '184', card_title = '', card_image_url = '', 
                    onlyTextQuestion = '', onlyTextAnswer = '' 
                    WHERE card_id = '2859'~2026-04-13 14:31:36:0436~2026-04-13 14:31:36~success
[13/Apr/2026:14:31:36] (root_api-) Final JSON =  {"status":"ok","message":"Card Created Successfully!!","Errorcode":"","data":"","action":"SAVE_AND_NEXT"}
[13/Apr/2026:14:31:38] (root_api-) token = 66bbc87451ad3590b670daae13ee0619 IP = 169.1.82.177
[13/Apr/2026:14:31:38] (root_api-) op => getSwitchRoles ,user_id => 184 ,org_id => 1 ,clid => 66bbc87451ad3590b670daae13ee0619 ,serviceName => user_data ,
[13/Apr/2026:14:31:38] (root_api-) OP= getSwitchRoles of page root_api.php
[13/Apr/2026:14:31:38] (root_api-) Query~SELECT count(u.user_id) as cnt FROM tbl_user_master u WHERE u.isActive = '1' AND u.user_id ='184'~2026-04-13 14:31:38:0438~2026-04-13 14:31:38~success
[13/Apr/2026:14:31:38] (root_api-) Query~SELECT count(1) as cnt FROM tbl_org  WHERE status = 'Active' AND org_id ='1'~2026-04-13 14:31:38:0438~2026-04-13 14:31:38~success
[13/Apr/2026:14:31:38] (root_api-) Query~SELECT count(1) as cnt FROM tbl_user_org u WHERE u.status = 'Active' AND u.user_id ='184' AND  org_id ='1'~2026-04-13 14:31:38:0438~2026-04-13 14:31:38~success
[13/Apr/2026:14:31:38] (root_api-) serviceName user_data
[13/Apr/2026:14:31:38] (root_api-) Query~SELECT u.user_org_id, u.org_id, u.role_id, um.email,o.org_name,r.role_name,o.short_name,CONCAT(u.role_id,'_',u.org_id) as user_org_role
            FROM tbl_user_org u 
            inner join tbl_org o on u.org_id=o.org_id
            inner join tbl_role_master r on r.role_id=u.role_id
            inner join tbl_user_master um on u.user_id = um.user_id
            where u.user_id= 184~2026-04-13 14:31:38:0438~2026-04-13 14:31:38~success
[13/Apr/2026:14:31:38] (root_api-) Final JSON =  {"status":"ok","message":"User Details fetched Successfully!!","Errorcode":"","data":[{"user_org_id":"225","org_id":"1","role_id":"3","email":"alhenaude20@gmail.com","org_name":"University Of Cape Town","role_name":"Learner","short_name":"UCT","user_org_role":"3_1"},{"user_org_id":"226","org_id":"2","role_id":"2","email":"alhenaude20@gmail.com","org_name":"C-Institute","role_name":"Educator","short_name":"C-Institute","user_org_role":"2_2"}]}
[13/Apr/2026:14:31:38] (root_api-) token = 66bbc87451ad3590b670daae13ee0619 IP = 169.1.82.177
[13/Apr/2026:14:31:38] (root_api-) op => createBlankCard ,course_id => 25 ,cardDeckId => 91 ,userId => 184 ,clid => 66bbc87451ad3590b670daae13ee0619 ,serviceName => deck_data ,
[13/Apr/2026:14:31:38] (root_api-) OP= createBlankCard of page root_api.php
[13/Apr/2026:14:31:38] (root_api-) serviceName deck_data
[13/Apr/2026:14:31:38] (root_api-) Query~SELECT count(1) as deckCount FROM tbl_deck WHERE deck_id = '91'~2026-04-13 14:31:38:0438~2026-04-13 14:31:38~success
[13/Apr/2026:14:31:38] (root_api-) Query~select ifnull(max(card_parent_id),0)+1 as maxId from tbl_card_parent~2026-04-13 14:31:38:0438~2026-04-13 14:31:38~success
[13/Apr/2026:14:31:38] (root_api-) In case tbl_card_parent Insert query = INSERT into tbl_card_parent (card_parent_id, last_version, draft_version, published_version, creation_date, created_by) 
                    VALUES (2860,'1','1','0', NOW(), '184')
[13/Apr/2026:14:31:38] (root_api-) Query~INSERT into tbl_card_parent (card_parent_id, last_version, draft_version, published_version, creation_date, created_by) 
                    VALUES (2860,'1','1','0', NOW(), '184')~2026-04-13 14:31:38:0438~2026-04-13 14:31:38~success
[13/Apr/2026:14:31:38] (root_api-) Query~select ifnull(max(card_parent_id),0) as lastInsertedId from tbl_card_parent~2026-04-13 14:31:38:0438~2026-04-13 14:31:38~success
[13/Apr/2026:14:31:38] (root_api-) Query~select ifnull(max(card_id),0)+1 as maxId from tbl_card~2026-04-13 14:31:38:0438~2026-04-13 14:31:38~success
[13/Apr/2026:14:31:38] (root_api-) In case tbl_card Insert query = INSERT into tbl_card (card_id, card_parent_id, version, card_style, status, card_type, question_text, answer_text, creation_date, created_by) 
                     VALUES (2860, 2860,  1, '0','Draft','main','','', NOW(), '184')
[13/Apr/2026:14:31:38] (root_api-) Query~INSERT into tbl_card (card_id, card_parent_id, version, card_style, status, card_type, question_text, answer_text, creation_date, created_by) 
                     VALUES (2860, 2860,  1, '0','Draft','main','','', NOW(), '184')~2026-04-13 14:31:38:0438~2026-04-13 14:31:38~success
[13/Apr/2026:14:31:38] (root_api-) Query~select ifnull(max(card_id),0) as lastInsertedId from tbl_card~2026-04-13 14:31:38:0438~2026-04-13 14:31:38~success
[13/Apr/2026:14:31:38] (root_api-) Query~UPDATE tbl_card set card_title = 'Card#2860' WHERE card_id= 2860~2026-04-13 14:31:38:0438~2026-04-13 14:31:38~success
[13/Apr/2026:14:31:38] (root_api-) Query~SELECT IFNULL(MAX(sequence), 0) as lastSequenceNumber FROM tbl_deck_card WHERE deck_id = '91'~2026-04-13 14:31:38:0438~2026-04-13 14:31:38~success
[13/Apr/2026:14:31:38] (root_api-) Query~select ifnull(max(deck_card_id),0)+1 as maxId from tbl_deck_card~2026-04-13 14:31:38:0438~2026-04-13 14:31:38~success
[13/Apr/2026:14:31:38] (root_api-) In case tbl_deck_card Insert query = INSERT into tbl_deck_card (deck_card_id, deck_id, card_id, sequence, creation_date, created_by) 
                        VALUES (2860,'91','2860','28', NOW(), '184')
[13/Apr/2026:14:31:38] (root_api-) Query~INSERT into tbl_deck_card (deck_card_id, deck_id, card_id, sequence, creation_date, created_by) 
                        VALUES (2860,'91','2860','28', NOW(), '184')~2026-04-13 14:31:38:0438~2026-04-13 14:31:38~success
[13/Apr/2026:14:31:38] (root_api-) Final JSON =  {"status":"ok","message":"Card inserted Successfully!!","Errorcode":"","data":"2860"}
[13/Apr/2026:14:31:38] (root_api-) token = 66bbc87451ad3590b670daae13ee0619 IP = 169.1.82.177
[13/Apr/2026:14:31:38] (root_api-) op => getSwitchRoles ,user_id => 184 ,org_id => 1 ,clid => 66bbc87451ad3590b670daae13ee0619 ,serviceName => user_data ,
[13/Apr/2026:14:31:38] (root_api-) OP= getSwitchRoles of page root_api.php
[13/Apr/2026:14:31:38] (root_api-) Query~SELECT count(u.user_id) as cnt FROM tbl_user_master u WHERE u.isActive = '1' AND u.user_id ='184'~2026-04-13 14:31:38:0438~2026-04-13 14:31:38~success
[13/Apr/2026:14:31:38] (root_api-) Query~SELECT count(1) as cnt FROM tbl_org  WHERE status = 'Active' AND org_id ='1'~2026-04-13 14:31:38:0438~2026-04-13 14:31:38~success
[13/Apr/2026:14:31:38] (root_api-) Query~SELECT count(1) as cnt FROM tbl_user_org u WHERE u.status = 'Active' AND u.user_id ='184' AND  org_id ='1'~2026-04-13 14:31:38:0438~2026-04-13 14:31:38~success
[13/Apr/2026:14:31:38] (root_api-) serviceName user_data
[13/Apr/2026:14:31:38] (root_api-) Query~SELECT u.user_org_id, u.org_id, u.role_id, um.email,o.org_name,r.role_name,o.short_name,CONCAT(u.role_id,'_',u.org_id) as user_org_role
            FROM tbl_user_org u 
            inner join tbl_org o on u.org_id=o.org_id
            inner join tbl_role_master r on r.role_id=u.role_id
            inner join tbl_user_master um on u.user_id = um.user_id
            where u.user_id= 184~2026-04-13 14:31:38:0438~2026-04-13 14:31:38~success
[13/Apr/2026:14:31:38] (root_api-) Final JSON =  {"status":"ok","message":"User Details fetched Successfully!!","Errorcode":"","data":[{"user_org_id":"225","org_id":"1","role_id":"3","email":"alhenaude20@gmail.com","org_name":"University Of Cape Town","role_name":"Learner","short_name":"UCT","user_org_role":"3_1"},{"user_org_id":"226","org_id":"2","role_id":"2","email":"alhenaude20@gmail.com","org_name":"C-Institute","role_name":"Educator","short_name":"C-Institute","user_org_role":"2_2"}]}
[13/Apr/2026:14:31:38] (root_api-) token = 66bbc87451ad3590b670daae13ee0619 IP = 169.1.82.177
[13/Apr/2026:14:31:38] (root_api-) op => getUsersCourseRole ,user_id => 184 ,course_id => 25 ,clid => 66bbc87451ad3590b670daae13ee0619 ,serviceName => course_data ,
[13/Apr/2026:14:31:38] (root_api-) OP= getUsersCourseRole of page root_api.php
[13/Apr/2026:14:31:38] (root_api-) Query~SELECT count(u.user_id) as cnt FROM tbl_user_master u WHERE u.isActive = '1' AND u.user_id ='184'~2026-04-13 14:31:38:0438~2026-04-13 14:31:38~success
[13/Apr/2026:14:31:38] (root_api-) serviceName course_data
[13/Apr/2026:14:31:38] (root_api-) Query~SELECT ed_role FROM tbl_course_educator WHERE  course_id = '25' AND user_id = 184~2026-04-13 14:31:38:0438~2026-04-13 14:31:38~success
[13/Apr/2026:14:31:38] (root_api-) Final JSON =  {"status":"ok","message":"","Errorcode":"","data":{"ed_role":"author"}}
[13/Apr/2026:14:31:38] (root_api-) token = 66bbc87451ad3590b670daae13ee0619 IP = 169.1.82.177
[13/Apr/2026:14:31:38] (root_api-) op => get-my-contents-card-info ,user_id => 184 ,course_id => 25 ,deckId => 91 ,cardId => 2860 ,clid => 66bbc87451ad3590b670daae13ee0619 ,serviceName => course_data ,
[13/Apr/2026:14:31:38] (root_api-) OP= get-my-contents-card-info of page root_api.php
[13/Apr/2026:14:31:38] (root_api-) Query~SELECT count(u.user_id) as cnt FROM tbl_user_master u WHERE u.isActive = '1' AND u.user_id ='184'~2026-04-13 14:31:38:0438~2026-04-13 14:31:38~success
[13/Apr/2026:14:31:38] (root_api-) serviceName course_data
[13/Apr/2026:14:31:38] (root_api-) Query~SELECT tc.card_id,tc.card_style,tc.card_title,tc.card_image_url,tc.card_video_url, CASE WHEN tc.card_style = 0 THEN 'Text' ELSE 'Image' END AS card_styleText  , tc.question_text, tc.status AS cardStatus, tc.answer_text, dc.deck_id,dc.sequence as cardSequence, tc.version, tc.card_parent_id
            FROM tbl_card tc
            INNER JOIN tbl_deck_card dc ON dc.card_id = tc.card_id
            Where dc.deck_id = '91' AND tc.card_id = '2860' AND tc.card_type = 'main' /*AND tc.created_by = '184'*/~2026-04-13 14:31:38:0438~2026-04-13 14:31:38~success
[13/Apr/2026:14:31:38] (root_api-) Query~select tc.card_parent_id, dc.deck_id as card_parent_deckid, tcd.course_id as card_parent_courseid from tbl_card tc, tbl_deck_card dc, tbl_course_deck tcd WHERE tc.card_parent_id=2860 AND tc.version = 0 AND tc.card_parent_id=dc.card_id AND dc.deck_id=tcd.deck_id~2026-04-13 14:31:38:0438~2026-04-13 14:31:38~success
[13/Apr/2026:14:31:38] (root_api-) Query~select tc.card_id as card_child_id, dc.deck_id as card_child_deckid, tcd.course_id as card_child_courseid from tbl_card tc, tbl_deck_card dc, tbl_course_deck tcd WHERE tc.card_parent_id=2860 AND tc.version = 2 AND tc.card_parent_id=dc.card_id AND dc.deck_id=tcd.deck_id~2026-04-13 14:31:38:0438~2026-04-13 14:31:38~success
[13/Apr/2026:14:31:38] (root_api-) Final JSON =  {"status":"ok",
                    "message":"",
                    "Errorcode":"",
                    "data":{"card_id":"2860","card_style":"0","card_title":"Card#2860","card_image_url":"","card_video_url":"","card_styleText":"Text","question_text":"","cardStatus":"Draft","answer_text":"","deck_id":"91","cardSequence":"28","version":"1","card_parent_id":null,"card_parent_deckid":null,"card_parent_courseid":null,"card_child_id":null,"card_child_deckid":null,"card_child_courseid":null}}
[13/Apr/2026:14:31:38] (root_api-) token = 66bbc87451ad3590b670daae13ee0619 IP = 169.1.82.177
[13/Apr/2026:14:31:38] (root_api-) op => get-my-contents-deck-info ,user_id => 184 ,course_id => 25 ,deckId => 91 ,clid => 66bbc87451ad3590b670daae13ee0619 ,serviceName => course_data ,
[13/Apr/2026:14:31:38] (root_api-) OP= get-my-contents-deck-info of page root_api.php
[13/Apr/2026:14:31:38] (root_api-) Query~SELECT count(u.user_id) as cnt FROM tbl_user_master u WHERE u.isActive = '1' AND u.user_id ='184'~2026-04-13 14:31:38:0438~2026-04-13 14:31:38~success
[13/Apr/2026:14:31:38] (root_api-) serviceName course_data
[13/Apr/2026:14:31:38] (root_api-) Query~SELECT td.deck_id, td.created_by, tcd.course_id, 
            ifnull(tcd.deck_name,td.deck_name) deck_name,
            ifnull(tcd.short_name,td.short_name) short_name,
            ifnull(tcd.eval_id,td.eval_id) eval_id,
            ifnull(tcd.deck_desc,td.deck_desc) deck_desc,
            ifnull(tcd.deck_brief,td.deck_brief) deck_brief,
            td.status AS deckStatus,
            td.version
            FROM tbl_deck td 
            INNER JOIN tbl_course_deck tcd ON tcd.deck_id = td.deck_id AND course_id = '25' AND tcd.created_by = '184'
            Where td.deck_id = '91' AND td.deck_type = 'main' AND td.created_by = '184'~2026-04-13 14:31:38:0438~2026-04-13 14:31:38~success
[13/Apr/2026:14:31:38] (root_api-) Query~select td.deck_parent_id, cd.course_id as parent_courseid from tbl_deck td, tbl_course_deck cd where td.deck_id = 91 AND td.deck_parent_id <> 91 AND td.deck_parent_id = cd.deck_id~2026-04-13 14:31:38:0438~2026-04-13 14:31:38~success
[13/Apr/2026:14:31:38] (root_api-) Query~select td.deck_id as deck_child_id, cd.course_id as child_courseid from tbl_deck td, tbl_course_deck cd where td.deck_parent_id = 91 AND td.deck_id <> 91 AND td.deck_id = cd.deck_id~2026-04-13 14:31:38:0438~2026-04-13 14:31:38~success
[13/Apr/2026:14:31:38] (root_api-) Final JSON =  {"status":"ok",
                    "message":"",
                    "Errorcode":"",
                    "data":{"deck_id":"91","created_by":"184","course_id":"25","deck_name":"Probability ","short_name":"Probability ","eval_id":"1","deck_desc":"Probability looks at the possibility of an event occuring and in this deck we look at the basic terms used in probability as well as how to do probability calculations. ","deck_brief":"","deckStatus":"Draft","version":"1","parentid":"","childid":""}}
[13/Apr/2026:14:31:38] (root_api-) token = 66bbc87451ad3590b670daae13ee0619 IP = 169.1.82.177
[13/Apr/2026:14:31:38] (root_api-) op => getCourseDetail ,course_id => 25 ,clid => 66bbc87451ad3590b670daae13ee0619 ,serviceName => course_data ,
[13/Apr/2026:14:31:38] (root_api-) OP= getCourseDetail of page root_api.php
[13/Apr/2026:14:31:38] (root_api-) serviceName course_data
[13/Apr/2026:14:31:38] (root_api-) Query~SELECT * FROM tbl_course where course_id = '25' AND status NOT IN('Discard')~2026-04-13 14:31:38:0438~2026-04-13 14:31:38~success
[13/Apr/2026:14:31:38] (root_api-) Query~SELECT course_image_id, course_image, sequence, status FROM tbl_course_images where course_id = 25 ORDER BY sequence DESC~2026-04-13 14:31:38:0438~2026-04-13 14:31:38~success
[13/Apr/2026:14:31:38] (root_api-) Query~select course_id as prev_course_id from tbl_course where course_parent_id = 25 AND version = 0 AND status NOT IN('Discard')~2026-04-13 14:31:38:0438~2026-04-13 14:31:38~success
[13/Apr/2026:14:31:38] (root_api-) Query~select course_id as next_course_id from tbl_course where course_parent_id = 25 AND version = 2 AND status NOT IN('Discard')~2026-04-13 14:31:38:0438~2026-04-13 14:31:38~success
[13/Apr/2026:14:31:38] (root_api-) Final JSON =  {"status":"ok","message":"Course Details fetched Successfully","Errorcode":"","data":[{"course_id":"25","course_parent_id":"25","version":"1","org_id":"2","course_name":"Grade 8 Mathematics","short_name":"","status":"Draft","eval_id":"1","course_desc":"Grade 8 Mathematics aims to build strong foundational skills required to prepare learners for higher grades of mathematics and develop strong, appropriate mathematical reasoning and logical thinking. ","amount":"0","currency":null,"pay_type":"paid","course_brief":null,"course_duration":"16","background_color":"","text_color":"","creation_date":"2025-07-16 13:21:03","created_by":"184","updation_date":"2026-01-07 12:53:22","updated_by":"184","images":[],"parentid":"","childid":""}]}
[13/Apr/2026:14:31:39] (root_api-) token = 66bbc87451ad3590b670daae13ee0619 IP = 169.1.82.177
[13/Apr/2026:14:31:39] (root_api-) op => api-refresh ,clid => 66bbc87451ad3590b670daae13ee0619 ,serviceName => common_data ,
[13/Apr/2026:14:31:39] (root_api-) OP= api-refresh of page root_api.php
[13/Apr/2026:14:31:39] (root_api-) serviceName common_data
[13/Apr/2026:14:31:39] (root_api-) Final JSON =  {"status":"ok","message":"","Errorcode":"","data":""}
[13/Apr/2026:14:36:24] (root_api-) token =  IP = 169.1.82.177
[13/Apr/2026:14:36:24] (root_api-) 
[13/Apr/2026:14:36:24] (root_api-) OP=  of page root_api.php
[13/Apr/2026:14:36:24] (root_api-) Final JSON =  { "status":"error",
					"message":"Invalid Session",
					"Errorcode":"err100",
					"data":{}}
[13/Apr/2026:14:36:24] (root_api-) token = 66bbc87451ad3590b670daae13ee0619 IP = 169.1.82.177
[13/Apr/2026:14:36:24] (root_api-) op => user-card-operation ,userId => 184 ,courseId => 25 ,cardDeckMode => edit ,cardDeckId => 91 ,questionText => <p>The table shows how many chocolates are in a bag of different chocolates combined. How likely is event A to occur:</p><p>A: The event of KitKat being chosen</p><table class="table table-bordered"><tbody><tr><td>KitKat</td><td>Snickers</td><td>Twix</td></tr><tr><td>10</td><td>5</td><td>5</td></tr></tbody></table><p><br></p> ,answerText => <p>This is another way of asking for the probability of possible outcomes/events.</p><p> We should use the probability formula. </p><p>Sample space = 20 (sum of all the chocolates combined) </p><p>P(A) ~ probability of event A ( choosing KitKat)&nbsp;</p><p> P(A) = event/sample space</p><p> P(A) = 10/ 20 </p><p>P(A) = 10/20 &nbsp;</p><p><span style="background-color: rgb(206, 231, 247);">.: P(A) = 1/2</span><font color="#000000" style="background-color: rgb(206, 231, 247);"> OR 50% &nbsp;OR 0,5</font></p><p><br></p> ,editCardId => 2860 ,action => SAVE_AND_NEXT ,clid => 66bbc87451ad3590b670daae13ee0619 ,serviceName => deck_data ,
[13/Apr/2026:14:36:24] (root_api-) OP= user-card-operation of page root_api.php
[13/Apr/2026:14:36:24] (root_api-) serviceName deck_data
[13/Apr/2026:14:36:24] (root_api-) Query~SELECT count(1) as deckCardCount FROM tbl_deck_card WHERE deck_id = '91' AND card_id = '2860'~2026-04-13 14:36:24:0424~2026-04-13 14:36:24~success
[13/Apr/2026:14:36:24] (root_api-) Query~SELECT question_text, answer_text FROM tbl_card  WHERE card_id = '2860'~2026-04-13 14:36:24:0424~2026-04-13 14:36:24~success
[13/Apr/2026:14:36:24] (root_api-) In case Card Updated query = UPDATE tbl_card SET card_style = '0' , question_text = '<p>The table shows how many chocolates are in a bag of different chocolates combined. How likely is event A to occur:</p><p>A: The event of KitKat being chosen</p><table class=\"table table-bordered\"><tbody><tr><td>KitKat</td><td>Snickers</td><td>Twix</td></tr><tr><td>10</td><td>5</td><td>5</td></tr></tbody></table><p><br></p>', answer_text = '<p>This is another way of asking for the probability of possible outcomes/events.</p><p> We should use the probability formula. </p><p>Sample space = 20 (sum of all the chocolates combined) </p><p>P(A) ~ probability of event A ( choosing KitKat)&nbsp;</p><p> P(A) = event/sample space</p><p> P(A) = 10/ 20 </p><p>P(A) = 10/20 &nbsp;</p><p><span style=\"background-color: rgb(206, 231, 247);\">.: P(A) = 1/2</span><font color=\"#000000\" style=\"background-color: rgb(206, 231, 247);\"> OR 50% &nbsp;OR 0,5</font></p><p><br></p>', card_type='main', updation_date = NOW(), updated_by = '184', card_title = '', card_image_url = '', 
                    onlyTextQuestion = '', onlyTextAnswer = '' 
                    WHERE card_id = '2860'
[13/Apr/2026:14:36:24] (root_api-) Query~UPDATE tbl_card SET card_style = '0' , question_text = '<p>The table shows how many chocolates are in a bag of different chocolates combined. How likely is event A to occur:</p><p>A: The event of KitKat being chosen</p><table class=\"table table-bordered\"><tbody><tr><td>KitKat</td><td>Snickers</td><td>Twix</td></tr><tr><td>10</td><td>5</td><td>5</td></tr></tbody></table><p><br></p>', answer_text = '<p>This is another way of asking for the probability of possible outcomes/events.</p><p> We should use the probability formula. </p><p>Sample space = 20 (sum of all the chocolates combined) </p><p>P(A) ~ probability of event A ( choosing KitKat)&nbsp;</p><p> P(A) = event/sample space</p><p> P(A) = 10/ 20 </p><p>P(A) = 10/20 &nbsp;</p><p><span style=\"background-color: rgb(206, 231, 247);\">.: P(A) = 1/2</span><font color=\"#000000\" style=\"background-color: rgb(206, 231, 247);\"> OR 50% &nbsp;OR 0,5</font></p><p><br></p>', card_type='main', updation_date = NOW(), updated_by = '184', card_title = '', card_image_url = '', 
                    onlyTextQuestion = '', onlyTextAnswer = '' 
                    WHERE card_id = '2860'~2026-04-13 14:36:24:0424~2026-04-13 14:36:24~success
[13/Apr/2026:14:36:24] (root_api-) Final JSON =  {"status":"ok","message":"Card Created Successfully!!","Errorcode":"","data":"","action":"SAVE_AND_NEXT"}
[13/Apr/2026:14:36:25] (root_api-) token = 66bbc87451ad3590b670daae13ee0619 IP = 169.1.82.177
[13/Apr/2026:14:36:25] (root_api-) op => getSwitchRoles ,user_id => 184 ,org_id => 1 ,clid => 66bbc87451ad3590b670daae13ee0619 ,serviceName => user_data ,
[13/Apr/2026:14:36:25] (root_api-) OP= getSwitchRoles of page root_api.php
[13/Apr/2026:14:36:25] (root_api-) Query~SELECT count(u.user_id) as cnt FROM tbl_user_master u WHERE u.isActive = '1' AND u.user_id ='184'~2026-04-13 14:36:25:0425~2026-04-13 14:36:25~success
[13/Apr/2026:14:36:25] (root_api-) Query~SELECT count(1) as cnt FROM tbl_org  WHERE status = 'Active' AND org_id ='1'~2026-04-13 14:36:25:0425~2026-04-13 14:36:25~success
[13/Apr/2026:14:36:25] (root_api-) Query~SELECT count(1) as cnt FROM tbl_user_org u WHERE u.status = 'Active' AND u.user_id ='184' AND  org_id ='1'~2026-04-13 14:36:25:0425~2026-04-13 14:36:25~success
[13/Apr/2026:14:36:25] (root_api-) serviceName user_data
[13/Apr/2026:14:36:25] (root_api-) Query~SELECT u.user_org_id, u.org_id, u.role_id, um.email,o.org_name,r.role_name,o.short_name,CONCAT(u.role_id,'_',u.org_id) as user_org_role
            FROM tbl_user_org u 
            inner join tbl_org o on u.org_id=o.org_id
            inner join tbl_role_master r on r.role_id=u.role_id
            inner join tbl_user_master um on u.user_id = um.user_id
            where u.user_id= 184~2026-04-13 14:36:25:0425~2026-04-13 14:36:25~success
[13/Apr/2026:14:36:25] (root_api-) Final JSON =  {"status":"ok","message":"User Details fetched Successfully!!","Errorcode":"","data":[{"user_org_id":"225","org_id":"1","role_id":"3","email":"alhenaude20@gmail.com","org_name":"University Of Cape Town","role_name":"Learner","short_name":"UCT","user_org_role":"3_1"},{"user_org_id":"226","org_id":"2","role_id":"2","email":"alhenaude20@gmail.com","org_name":"C-Institute","role_name":"Educator","short_name":"C-Institute","user_org_role":"2_2"}]}
[13/Apr/2026:14:36:25] (root_api-) token = 66bbc87451ad3590b670daae13ee0619 IP = 169.1.82.177
[13/Apr/2026:14:36:25] (root_api-) op => createBlankCard ,course_id => 25 ,cardDeckId => 91 ,userId => 184 ,clid => 66bbc87451ad3590b670daae13ee0619 ,serviceName => deck_data ,
[13/Apr/2026:14:36:25] (root_api-) OP= createBlankCard of page root_api.php
[13/Apr/2026:14:36:25] (root_api-) serviceName deck_data
[13/Apr/2026:14:36:25] (root_api-) Query~SELECT count(1) as deckCount FROM tbl_deck WHERE deck_id = '91'~2026-04-13 14:36:25:0425~2026-04-13 14:36:25~success
[13/Apr/2026:14:36:25] (root_api-) Query~select ifnull(max(card_parent_id),0)+1 as maxId from tbl_card_parent~2026-04-13 14:36:25:0425~2026-04-13 14:36:25~success
[13/Apr/2026:14:36:25] (root_api-) In case tbl_card_parent Insert query = INSERT into tbl_card_parent (card_parent_id, last_version, draft_version, published_version, creation_date, created_by) 
                    VALUES (2861,'1','1','0', NOW(), '184')
[13/Apr/2026:14:36:25] (root_api-) Query~INSERT into tbl_card_parent (card_parent_id, last_version, draft_version, published_version, creation_date, created_by) 
                    VALUES (2861,'1','1','0', NOW(), '184')~2026-04-13 14:36:25:0425~2026-04-13 14:36:25~success
[13/Apr/2026:14:36:25] (root_api-) Query~select ifnull(max(card_parent_id),0) as lastInsertedId from tbl_card_parent~2026-04-13 14:36:25:0425~2026-04-13 14:36:25~success
[13/Apr/2026:14:36:25] (root_api-) Query~select ifnull(max(card_id),0)+1 as maxId from tbl_card~2026-04-13 14:36:25:0425~2026-04-13 14:36:25~success
[13/Apr/2026:14:36:25] (root_api-) In case tbl_card Insert query = INSERT into tbl_card (card_id, card_parent_id, version, card_style, status, card_type, question_text, answer_text, creation_date, created_by) 
                     VALUES (2861, 2861,  1, '0','Draft','main','','', NOW(), '184')
[13/Apr/2026:14:36:25] (root_api-) Query~INSERT into tbl_card (card_id, card_parent_id, version, card_style, status, card_type, question_text, answer_text, creation_date, created_by) 
                     VALUES (2861, 2861,  1, '0','Draft','main','','', NOW(), '184')~2026-04-13 14:36:25:0425~2026-04-13 14:36:25~success
[13/Apr/2026:14:36:25] (root_api-) Query~select ifnull(max(card_id),0) as lastInsertedId from tbl_card~2026-04-13 14:36:25:0425~2026-04-13 14:36:25~success
[13/Apr/2026:14:36:25] (root_api-) Query~UPDATE tbl_card set card_title = 'Card#2861' WHERE card_id= 2861~2026-04-13 14:36:25:0425~2026-04-13 14:36:25~success
[13/Apr/2026:14:36:25] (root_api-) Query~SELECT IFNULL(MAX(sequence), 0) as lastSequenceNumber FROM tbl_deck_card WHERE deck_id = '91'~2026-04-13 14:36:25:0425~2026-04-13 14:36:25~success
[13/Apr/2026:14:36:25] (root_api-) Query~select ifnull(max(deck_card_id),0)+1 as maxId from tbl_deck_card~2026-04-13 14:36:25:0425~2026-04-13 14:36:25~success
[13/Apr/2026:14:36:25] (root_api-) In case tbl_deck_card Insert query = INSERT into tbl_deck_card (deck_card_id, deck_id, card_id, sequence, creation_date, created_by) 
                        VALUES (2861,'91','2861','29', NOW(), '184')
[13/Apr/2026:14:36:25] (root_api-) Query~INSERT into tbl_deck_card (deck_card_id, deck_id, card_id, sequence, creation_date, created_by) 
                        VALUES (2861,'91','2861','29', NOW(), '184')~2026-04-13 14:36:25:0425~2026-04-13 14:36:25~success
[13/Apr/2026:14:36:25] (root_api-) Final JSON =  {"status":"ok","message":"Card inserted Successfully!!","Errorcode":"","data":"2861"}
[13/Apr/2026:14:36:26] (root_api-) token = 66bbc87451ad3590b670daae13ee0619 IP = 169.1.82.177
[13/Apr/2026:14:36:26] (root_api-) op => getSwitchRoles ,user_id => 184 ,org_id => 1 ,clid => 66bbc87451ad3590b670daae13ee0619 ,serviceName => user_data ,
[13/Apr/2026:14:36:26] (root_api-) OP= getSwitchRoles of page root_api.php
[13/Apr/2026:14:36:26] (root_api-) Query~SELECT count(u.user_id) as cnt FROM tbl_user_master u WHERE u.isActive = '1' AND u.user_id ='184'~2026-04-13 14:36:26:0426~2026-04-13 14:36:26~success
[13/Apr/2026:14:36:26] (root_api-) Query~SELECT count(1) as cnt FROM tbl_org  WHERE status = 'Active' AND org_id ='1'~2026-04-13 14:36:26:0426~2026-04-13 14:36:26~success
[13/Apr/2026:14:36:26] (root_api-) Query~SELECT count(1) as cnt FROM tbl_user_org u WHERE u.status = 'Active' AND u.user_id ='184' AND  org_id ='1'~2026-04-13 14:36:26:0426~2026-04-13 14:36:26~success
[13/Apr/2026:14:36:26] (root_api-) serviceName user_data
[13/Apr/2026:14:36:26] (root_api-) Query~SELECT u.user_org_id, u.org_id, u.role_id, um.email,o.org_name,r.role_name,o.short_name,CONCAT(u.role_id,'_',u.org_id) as user_org_role
            FROM tbl_user_org u 
            inner join tbl_org o on u.org_id=o.org_id
            inner join tbl_role_master r on r.role_id=u.role_id
            inner join tbl_user_master um on u.user_id = um.user_id
            where u.user_id= 184~2026-04-13 14:36:26:0426~2026-04-13 14:36:26~success
[13/Apr/2026:14:36:26] (root_api-) Final JSON =  {"status":"ok","message":"User Details fetched Successfully!!","Errorcode":"","data":[{"user_org_id":"225","org_id":"1","role_id":"3","email":"alhenaude20@gmail.com","org_name":"University Of Cape Town","role_name":"Learner","short_name":"UCT","user_org_role":"3_1"},{"user_org_id":"226","org_id":"2","role_id":"2","email":"alhenaude20@gmail.com","org_name":"C-Institute","role_name":"Educator","short_name":"C-Institute","user_org_role":"2_2"}]}
[13/Apr/2026:14:36:26] (root_api-) token = 66bbc87451ad3590b670daae13ee0619 IP = 169.1.82.177
[13/Apr/2026:14:36:26] (root_api-) op => getUsersCourseRole ,user_id => 184 ,course_id => 25 ,clid => 66bbc87451ad3590b670daae13ee0619 ,serviceName => course_data ,
[13/Apr/2026:14:36:26] (root_api-) OP= getUsersCourseRole of page root_api.php
[13/Apr/2026:14:36:26] (root_api-) Query~SELECT count(u.user_id) as cnt FROM tbl_user_master u WHERE u.isActive = '1' AND u.user_id ='184'~2026-04-13 14:36:26:0426~2026-04-13 14:36:26~success
[13/Apr/2026:14:36:26] (root_api-) serviceName course_data
[13/Apr/2026:14:36:26] (root_api-) Query~SELECT ed_role FROM tbl_course_educator WHERE  course_id = '25' AND user_id = 184~2026-04-13 14:36:26:0426~2026-04-13 14:36:26~success
[13/Apr/2026:14:36:26] (root_api-) Final JSON =  {"status":"ok","message":"","Errorcode":"","data":{"ed_role":"author"}}
[13/Apr/2026:14:36:26] (root_api-) token = 66bbc87451ad3590b670daae13ee0619 IP = 169.1.82.177
[13/Apr/2026:14:36:26] (root_api-) op => get-my-contents-card-info ,user_id => 184 ,course_id => 25 ,deckId => 91 ,cardId => 2861 ,clid => 66bbc87451ad3590b670daae13ee0619 ,serviceName => course_data ,
[13/Apr/2026:14:36:26] (root_api-) OP= get-my-contents-card-info of page root_api.php
[13/Apr/2026:14:36:26] (root_api-) Query~SELECT count(u.user_id) as cnt FROM tbl_user_master u WHERE u.isActive = '1' AND u.user_id ='184'~2026-04-13 14:36:26:0426~2026-04-13 14:36:26~success
[13/Apr/2026:14:36:26] (root_api-) serviceName course_data
[13/Apr/2026:14:36:26] (root_api-) Query~SELECT tc.card_id,tc.card_style,tc.card_title,tc.card_image_url,tc.card_video_url, CASE WHEN tc.card_style = 0 THEN 'Text' ELSE 'Image' END AS card_styleText  , tc.question_text, tc.status AS cardStatus, tc.answer_text, dc.deck_id,dc.sequence as cardSequence, tc.version, tc.card_parent_id
            FROM tbl_card tc
            INNER JOIN tbl_deck_card dc ON dc.card_id = tc.card_id
            Where dc.deck_id = '91' AND tc.card_id = '2861' AND tc.card_type = 'main' /*AND tc.created_by = '184'*/~2026-04-13 14:36:26:0426~2026-04-13 14:36:26~success
[13/Apr/2026:14:36:26] (root_api-) Query~select tc.card_parent_id, dc.deck_id as card_parent_deckid, tcd.course_id as card_parent_courseid from tbl_card tc, tbl_deck_card dc, tbl_course_deck tcd WHERE tc.card_parent_id=2861 AND tc.version = 0 AND tc.card_parent_id=dc.card_id AND dc.deck_id=tcd.deck_id~2026-04-13 14:36:26:0426~2026-04-13 14:36:26~success
[13/Apr/2026:14:36:26] (root_api-) Query~select tc.card_id as card_child_id, dc.deck_id as card_child_deckid, tcd.course_id as card_child_courseid from tbl_card tc, tbl_deck_card dc, tbl_course_deck tcd WHERE tc.card_parent_id=2861 AND tc.version = 2 AND tc.card_parent_id=dc.card_id AND dc.deck_id=tcd.deck_id~2026-04-13 14:36:26:0426~2026-04-13 14:36:26~success
[13/Apr/2026:14:36:26] (root_api-) Final JSON =  {"status":"ok",
                    "message":"",
                    "Errorcode":"",
                    "data":{"card_id":"2861","card_style":"0","card_title":"Card#2861","card_image_url":"","card_video_url":"","card_styleText":"Text","question_text":"","cardStatus":"Draft","answer_text":"","deck_id":"91","cardSequence":"29","version":"1","card_parent_id":null,"card_parent_deckid":null,"card_parent_courseid":null,"card_child_id":null,"card_child_deckid":null,"card_child_courseid":null}}
[13/Apr/2026:14:36:26] (root_api-) token = 66bbc87451ad3590b670daae13ee0619 IP = 169.1.82.177
[13/Apr/2026:14:36:26] (root_api-) op => get-my-contents-deck-info ,user_id => 184 ,course_id => 25 ,deckId => 91 ,clid => 66bbc87451ad3590b670daae13ee0619 ,serviceName => course_data ,
[13/Apr/2026:14:36:26] (root_api-) OP= get-my-contents-deck-info of page root_api.php
[13/Apr/2026:14:36:26] (root_api-) Query~SELECT count(u.user_id) as cnt FROM tbl_user_master u WHERE u.isActive = '1' AND u.user_id ='184'~2026-04-13 14:36:26:0426~2026-04-13 14:36:26~success
[13/Apr/2026:14:36:26] (root_api-) serviceName course_data
[13/Apr/2026:14:36:26] (root_api-) Query~SELECT td.deck_id, td.created_by, tcd.course_id, 
            ifnull(tcd.deck_name,td.deck_name) deck_name,
            ifnull(tcd.short_name,td.short_name) short_name,
            ifnull(tcd.eval_id,td.eval_id) eval_id,
            ifnull(tcd.deck_desc,td.deck_desc) deck_desc,
            ifnull(tcd.deck_brief,td.deck_brief) deck_brief,
            td.status AS deckStatus,
            td.version
            FROM tbl_deck td 
            INNER JOIN tbl_course_deck tcd ON tcd.deck_id = td.deck_id AND course_id = '25' AND tcd.created_by = '184'
            Where td.deck_id = '91' AND td.deck_type = 'main' AND td.created_by = '184'~2026-04-13 14:36:26:0426~2026-04-13 14:36:26~success
[13/Apr/2026:14:36:26] (root_api-) token = 66bbc87451ad3590b670daae13ee0619 IP = 169.1.82.177
[13/Apr/2026:14:36:26] (root_api-) op => getCourseDetail ,course_id => 25 ,clid => 66bbc87451ad3590b670daae13ee0619 ,serviceName => course_data ,
[13/Apr/2026:14:36:26] (root_api-) OP= getCourseDetail of page root_api.php
[13/Apr/2026:14:36:26] (root_api-) serviceName course_data
[13/Apr/2026:14:36:26] (root_api-) Query~select td.deck_parent_id, cd.course_id as parent_courseid from tbl_deck td, tbl_course_deck cd where td.deck_id = 91 AND td.deck_parent_id <> 91 AND td.deck_parent_id = cd.deck_id~2026-04-13 14:36:26:0426~2026-04-13 14:36:26~success
[13/Apr/2026:14:36:26] (root_api-) Query~select td.deck_id as deck_child_id, cd.course_id as child_courseid from tbl_deck td, tbl_course_deck cd where td.deck_parent_id = 91 AND td.deck_id <> 91 AND td.deck_id = cd.deck_id~2026-04-13 14:36:26:0426~2026-04-13 14:36:26~success
[13/Apr/2026:14:36:26] (root_api-) Final JSON =  {"status":"ok",
                    "message":"",
                    "Errorcode":"",
                    "data":{"deck_id":"91","created_by":"184","course_id":"25","deck_name":"Probability ","short_name":"Probability ","eval_id":"1","deck_desc":"Probability looks at the possibility of an event occuring and in this deck we look at the basic terms used in probability as well as how to do probability calculations. ","deck_brief":"","deckStatus":"Draft","version":"1","parentid":"","childid":""}}
[13/Apr/2026:14:36:26] (root_api-) Query~SELECT * FROM tbl_course where course_id = '25' AND status NOT IN('Discard')~2026-04-13 14:36:26:0426~2026-04-13 14:36:26~success
[13/Apr/2026:14:36:26] (root_api-) Query~SELECT course_image_id, course_image, sequence, status FROM tbl_course_images where course_id = 25 ORDER BY sequence DESC~2026-04-13 14:36:26:0426~2026-04-13 14:36:26~success
[13/Apr/2026:14:36:26] (root_api-) Query~select course_id as prev_course_id from tbl_course where course_parent_id = 25 AND version = 0 AND status NOT IN('Discard')~2026-04-13 14:36:26:0426~2026-04-13 14:36:26~success
[13/Apr/2026:14:36:26] (root_api-) Query~select course_id as next_course_id from tbl_course where course_parent_id = 25 AND version = 2 AND status NOT IN('Discard')~2026-04-13 14:36:26:0426~2026-04-13 14:36:26~success
[13/Apr/2026:14:36:26] (root_api-) Final JSON =  {"status":"ok","message":"Course Details fetched Successfully","Errorcode":"","data":[{"course_id":"25","course_parent_id":"25","version":"1","org_id":"2","course_name":"Grade 8 Mathematics","short_name":"","status":"Draft","eval_id":"1","course_desc":"Grade 8 Mathematics aims to build strong foundational skills required to prepare learners for higher grades of mathematics and develop strong, appropriate mathematical reasoning and logical thinking. ","amount":"0","currency":null,"pay_type":"paid","course_brief":null,"course_duration":"16","background_color":"","text_color":"","creation_date":"2025-07-16 13:21:03","created_by":"184","updation_date":"2026-01-07 12:53:22","updated_by":"184","images":[],"parentid":"","childid":""}]}
[13/Apr/2026:14:36:27] (root_api-) token = 66bbc87451ad3590b670daae13ee0619 IP = 169.1.82.177
[13/Apr/2026:14:36:27] (root_api-) op => api-refresh ,clid => 66bbc87451ad3590b670daae13ee0619 ,serviceName => common_data ,
[13/Apr/2026:14:36:27] (root_api-) OP= api-refresh of page root_api.php
[13/Apr/2026:14:36:27] (root_api-) serviceName common_data
[13/Apr/2026:14:36:27] (root_api-) Final JSON =  {"status":"ok","message":"","Errorcode":"","data":""}
[13/Apr/2026:14:37:53] (root_api-) token =  IP = 169.1.82.177
[13/Apr/2026:14:37:53] (root_api-) deckId => 91 ,cardId => 2861 ,courseId => 25 ,mediafor => Q ,userId => 184 ,action => cardImage ,op => updateCardImage ,serviceName => course_data ,clid => 66bbc87451ad3590b670daae13ee0619 ,
[13/Apr/2026:14:37:53] (root_api-) OP= updateCardImage of page root_api.php
[13/Apr/2026:14:37:53] (root_api-) serviceName course_data
[13/Apr/2026:14:37:53] (root_api-) Final JSON =  {"status":"ok","message":"","Errorcode":"","data":{"mediafor":"Q","img_url":"https:\/\/bo.coglearn.cioinfotech.com\/upload\/courses\/course_25\/deck_91\/card_2861\/image 2 jpeg..jpg"}}
[13/Apr/2026:14:41:33] (root_api-) token =  IP = 169.1.82.177
[13/Apr/2026:14:41:33] (root_api-) 
[13/Apr/2026:14:41:33] (root_api-) OP=  of page root_api.php
[13/Apr/2026:14:41:33] (root_api-) Final JSON =  { "status":"error",
					"message":"Invalid Session",
					"Errorcode":"err100",
					"data":{}}
[13/Apr/2026:14:41:33] (root_api-) token = 66bbc87451ad3590b670daae13ee0619 IP = 169.1.82.177
[13/Apr/2026:14:41:33] (root_api-) op => user-card-operation ,userId => 184 ,courseId => 25 ,cardDeckMode => edit ,cardDeckId => 91 ,questionText => <p>A small sack contains 15 buttons as shown below. Answer the questions that follow.</p><p>1) How many possible outcomes will produce event pink?</p><p>2) How many possible outcomes will produce event blue?</p><p>3) How many possible outcomes will produce event pink and blue NOT being chosen?</p><p><img src="https://bo.coglearn.cioinfotech.com/upload/courses/course_25/deck_91/card_2861/image 2 jpeg..jpg" style="width: 402px;"><br></p> ,answerText => <p>1) Event pink = 3 </p><p>2) Event blue = 2</p><p>3) Event pink and blue not being chosen = Total - (pink + blue)</p><p>Event pink and blue not being chosen = 15 - (3 + 2)</p><p>.: Event pink and blue not being chosen = 10<br></p> ,editCardId => 2861 ,action => SAVE_AND_NEXT ,clid => 66bbc87451ad3590b670daae13ee0619 ,serviceName => deck_data ,
[13/Apr/2026:14:41:33] (root_api-) OP= user-card-operation of page root_api.php
[13/Apr/2026:14:41:33] (root_api-) serviceName deck_data
[13/Apr/2026:14:41:33] (root_api-) Query~SELECT count(1) as deckCardCount FROM tbl_deck_card WHERE deck_id = '91' AND card_id = '2861'~2026-04-13 14:41:33:0433~2026-04-13 14:41:33~success
[13/Apr/2026:14:41:33] (root_api-) Query~SELECT question_text, answer_text FROM tbl_card  WHERE card_id = '2861'~2026-04-13 14:41:33:0433~2026-04-13 14:41:33~success
[13/Apr/2026:14:41:33] (root_api-) In case Card Updated query = UPDATE tbl_card SET card_style = '0' , question_text = '<p>A small sack contains 15 buttons as shown below. Answer the questions that follow.</p><p>1) How many possible outcomes will produce event pink?</p><p>2) How many possible outcomes will produce event blue?</p><p>3) How many possible outcomes will produce event pink and blue NOT being chosen?</p><p><img src=\"https://bo.coglearn.cioinfotech.com/upload/courses/course_25/deck_91/card_2861/image 2 jpeg..jpg\" style=\"width: 402px;\"><br></p>', answer_text = '<p>1) Event pink = 3 </p><p>2) Event blue = 2</p><p>3) Event pink and blue not being chosen = Total - (pink + blue)</p><p>Event pink and blue not being chosen = 15 - (3 + 2)</p><p>.: Event pink and blue not being chosen = 10<br></p>', card_type='main', updation_date = NOW(), updated_by = '184', card_title = '', card_image_url = '', 
                    onlyTextQuestion = '', onlyTextAnswer = '' 
                    WHERE card_id = '2861'
[13/Apr/2026:14:41:34] (root_api-) Query~UPDATE tbl_card SET card_style = '0' , question_text = '<p>A small sack contains 15 buttons as shown below. Answer the questions that follow.</p><p>1) How many possible outcomes will produce event pink?</p><p>2) How many possible outcomes will produce event blue?</p><p>3) How many possible outcomes will produce event pink and blue NOT being chosen?</p><p><img src=\"https://bo.coglearn.cioinfotech.com/upload/courses/course_25/deck_91/card_2861/image 2 jpeg..jpg\" style=\"width: 402px;\"><br></p>', answer_text = '<p>1) Event pink = 3 </p><p>2) Event blue = 2</p><p>3) Event pink and blue not being chosen = Total - (pink + blue)</p><p>Event pink and blue not being chosen = 15 - (3 + 2)</p><p>.: Event pink and blue not being chosen = 10<br></p>', card_type='main', updation_date = NOW(), updated_by = '184', card_title = '', card_image_url = '', 
                    onlyTextQuestion = '', onlyTextAnswer = '' 
                    WHERE card_id = '2861'~2026-04-13 14:41:33:0433~2026-04-13 14:41:34~success
[13/Apr/2026:14:41:34] (root_api-) Final JSON =  {"status":"ok","message":"Card Created Successfully!!","Errorcode":"","data":"","action":"SAVE_AND_NEXT"}
[13/Apr/2026:14:41:35] (root_api-) token = 66bbc87451ad3590b670daae13ee0619 IP = 169.1.82.177
[13/Apr/2026:14:41:35] (root_api-) op => getSwitchRoles ,user_id => 184 ,org_id => 1 ,clid => 66bbc87451ad3590b670daae13ee0619 ,serviceName => user_data ,
[13/Apr/2026:14:41:35] (root_api-) OP= getSwitchRoles of page root_api.php
[13/Apr/2026:14:41:35] (root_api-) Query~SELECT count(u.user_id) as cnt FROM tbl_user_master u WHERE u.isActive = '1' AND u.user_id ='184'~2026-04-13 14:41:35:0435~2026-04-13 14:41:35~success
[13/Apr/2026:14:41:35] (root_api-) Query~SELECT count(1) as cnt FROM tbl_org  WHERE status = 'Active' AND org_id ='1'~2026-04-13 14:41:35:0435~2026-04-13 14:41:35~success
[13/Apr/2026:14:41:35] (root_api-) Query~SELECT count(1) as cnt FROM tbl_user_org u WHERE u.status = 'Active' AND u.user_id ='184' AND  org_id ='1'~2026-04-13 14:41:35:0435~2026-04-13 14:41:35~success
[13/Apr/2026:14:41:35] (root_api-) serviceName user_data
[13/Apr/2026:14:41:35] (root_api-) Query~SELECT u.user_org_id, u.org_id, u.role_id, um.email,o.org_name,r.role_name,o.short_name,CONCAT(u.role_id,'_',u.org_id) as user_org_role
            FROM tbl_user_org u 
            inner join tbl_org o on u.org_id=o.org_id
            inner join tbl_role_master r on r.role_id=u.role_id
            inner join tbl_user_master um on u.user_id = um.user_id
            where u.user_id= 184~2026-04-13 14:41:35:0435~2026-04-13 14:41:35~success
[13/Apr/2026:14:41:35] (root_api-) Final JSON =  {"status":"ok","message":"User Details fetched Successfully!!","Errorcode":"","data":[{"user_org_id":"225","org_id":"1","role_id":"3","email":"alhenaude20@gmail.com","org_name":"University Of Cape Town","role_name":"Learner","short_name":"UCT","user_org_role":"3_1"},{"user_org_id":"226","org_id":"2","role_id":"2","email":"alhenaude20@gmail.com","org_name":"C-Institute","role_name":"Educator","short_name":"C-Institute","user_org_role":"2_2"}]}
[13/Apr/2026:14:41:35] (root_api-) token = 66bbc87451ad3590b670daae13ee0619 IP = 169.1.82.177
[13/Apr/2026:14:41:35] (root_api-) op => createBlankCard ,course_id => 25 ,cardDeckId => 91 ,userId => 184 ,clid => 66bbc87451ad3590b670daae13ee0619 ,serviceName => deck_data ,
[13/Apr/2026:14:41:35] (root_api-) OP= createBlankCard of page root_api.php
[13/Apr/2026:14:41:35] (root_api-) serviceName deck_data
[13/Apr/2026:14:41:35] (root_api-) Query~SELECT count(1) as deckCount FROM tbl_deck WHERE deck_id = '91'~2026-04-13 14:41:35:0435~2026-04-13 14:41:35~success
[13/Apr/2026:14:41:35] (root_api-) Query~select ifnull(max(card_parent_id),0)+1 as maxId from tbl_card_parent~2026-04-13 14:41:35:0435~2026-04-13 14:41:35~success
[13/Apr/2026:14:41:35] (root_api-) In case tbl_card_parent Insert query = INSERT into tbl_card_parent (card_parent_id, last_version, draft_version, published_version, creation_date, created_by) 
                    VALUES (2862,'1','1','0', NOW(), '184')
[13/Apr/2026:14:41:35] (root_api-) Query~INSERT into tbl_card_parent (card_parent_id, last_version, draft_version, published_version, creation_date, created_by) 
                    VALUES (2862,'1','1','0', NOW(), '184')~2026-04-13 14:41:35:0435~2026-04-13 14:41:35~success
[13/Apr/2026:14:41:35] (root_api-) Query~select ifnull(max(card_parent_id),0) as lastInsertedId from tbl_card_parent~2026-04-13 14:41:35:0435~2026-04-13 14:41:35~success
[13/Apr/2026:14:41:35] (root_api-) Query~select ifnull(max(card_id),0)+1 as maxId from tbl_card~2026-04-13 14:41:35:0435~2026-04-13 14:41:35~success
[13/Apr/2026:14:41:35] (root_api-) In case tbl_card Insert query = INSERT into tbl_card (card_id, card_parent_id, version, card_style, status, card_type, question_text, answer_text, creation_date, created_by) 
                     VALUES (2862, 2862,  1, '0','Draft','main','','', NOW(), '184')
[13/Apr/2026:14:41:35] (root_api-) Query~INSERT into tbl_card (card_id, card_parent_id, version, card_style, status, card_type, question_text, answer_text, creation_date, created_by) 
                     VALUES (2862, 2862,  1, '0','Draft','main','','', NOW(), '184')~2026-04-13 14:41:35:0435~2026-04-13 14:41:35~success
[13/Apr/2026:14:41:35] (root_api-) Query~select ifnull(max(card_id),0) as lastInsertedId from tbl_card~2026-04-13 14:41:35:0435~2026-04-13 14:41:35~success
[13/Apr/2026:14:41:35] (root_api-) Query~UPDATE tbl_card set card_title = 'Card#2862' WHERE card_id= 2862~2026-04-13 14:41:35:0435~2026-04-13 14:41:35~success
[13/Apr/2026:14:41:35] (root_api-) Query~SELECT IFNULL(MAX(sequence), 0) as lastSequenceNumber FROM tbl_deck_card WHERE deck_id = '91'~2026-04-13 14:41:35:0435~2026-04-13 14:41:35~success
[13/Apr/2026:14:41:35] (root_api-) Query~select ifnull(max(deck_card_id),0)+1 as maxId from tbl_deck_card~2026-04-13 14:41:35:0435~2026-04-13 14:41:35~success
[13/Apr/2026:14:41:35] (root_api-) In case tbl_deck_card Insert query = INSERT into tbl_deck_card (deck_card_id, deck_id, card_id, sequence, creation_date, created_by) 
                        VALUES (2862,'91','2862','30', NOW(), '184')
[13/Apr/2026:14:41:35] (root_api-) Query~INSERT into tbl_deck_card (deck_card_id, deck_id, card_id, sequence, creation_date, created_by) 
                        VALUES (2862,'91','2862','30', NOW(), '184')~2026-04-13 14:41:35:0435~2026-04-13 14:41:35~success
[13/Apr/2026:14:41:35] (root_api-) Final JSON =  {"status":"ok","message":"Card inserted Successfully!!","Errorcode":"","data":"2862"}
[13/Apr/2026:14:41:35] (root_api-) token = 66bbc87451ad3590b670daae13ee0619 IP = 169.1.82.177
[13/Apr/2026:14:41:35] (root_api-) op => getSwitchRoles ,user_id => 184 ,org_id => 1 ,clid => 66bbc87451ad3590b670daae13ee0619 ,serviceName => user_data ,
[13/Apr/2026:14:41:35] (root_api-) OP= getSwitchRoles of page root_api.php
[13/Apr/2026:14:41:35] (root_api-) Query~SELECT count(u.user_id) as cnt FROM tbl_user_master u WHERE u.isActive = '1' AND u.user_id ='184'~2026-04-13 14:41:35:0435~2026-04-13 14:41:35~success
[13/Apr/2026:14:41:35] (root_api-) Query~SELECT count(1) as cnt FROM tbl_org  WHERE status = 'Active' AND org_id ='1'~2026-04-13 14:41:35:0435~2026-04-13 14:41:35~success
[13/Apr/2026:14:41:35] (root_api-) Query~SELECT count(1) as cnt FROM tbl_user_org u WHERE u.status = 'Active' AND u.user_id ='184' AND  org_id ='1'~2026-04-13 14:41:35:0435~2026-04-13 14:41:35~success
[13/Apr/2026:14:41:35] (root_api-) serviceName user_data
[13/Apr/2026:14:41:35] (root_api-) Query~SELECT u.user_org_id, u.org_id, u.role_id, um.email,o.org_name,r.role_name,o.short_name,CONCAT(u.role_id,'_',u.org_id) as user_org_role
            FROM tbl_user_org u 
            inner join tbl_org o on u.org_id=o.org_id
            inner join tbl_role_master r on r.role_id=u.role_id
            inner join tbl_user_master um on u.user_id = um.user_id
            where u.user_id= 184~2026-04-13 14:41:35:0435~2026-04-13 14:41:35~success
[13/Apr/2026:14:41:35] (root_api-) Final JSON =  {"status":"ok","message":"User Details fetched Successfully!!","Errorcode":"","data":[{"user_org_id":"225","org_id":"1","role_id":"3","email":"alhenaude20@gmail.com","org_name":"University Of Cape Town","role_name":"Learner","short_name":"UCT","user_org_role":"3_1"},{"user_org_id":"226","org_id":"2","role_id":"2","email":"alhenaude20@gmail.com","org_name":"C-Institute","role_name":"Educator","short_name":"C-Institute","user_org_role":"2_2"}]}
[13/Apr/2026:14:41:35] (root_api-) token = 66bbc87451ad3590b670daae13ee0619 IP = 169.1.82.177
[13/Apr/2026:14:41:35] (root_api-) op => getUsersCourseRole ,user_id => 184 ,course_id => 25 ,clid => 66bbc87451ad3590b670daae13ee0619 ,serviceName => course_data ,
[13/Apr/2026:14:41:35] (root_api-) OP= getUsersCourseRole of page root_api.php
[13/Apr/2026:14:41:35] (root_api-) Query~SELECT count(u.user_id) as cnt FROM tbl_user_master u WHERE u.isActive = '1' AND u.user_id ='184'~2026-04-13 14:41:35:0435~2026-04-13 14:41:35~success
[13/Apr/2026:14:41:35] (root_api-) serviceName course_data
[13/Apr/2026:14:41:35] (root_api-) Query~SELECT ed_role FROM tbl_course_educator WHERE  course_id = '25' AND user_id = 184~2026-04-13 14:41:35:0435~2026-04-13 14:41:35~success
[13/Apr/2026:14:41:35] (root_api-) Final JSON =  {"status":"ok","message":"","Errorcode":"","data":{"ed_role":"author"}}
[13/Apr/2026:14:41:35] (root_api-) token = 66bbc87451ad3590b670daae13ee0619 IP = 169.1.82.177
[13/Apr/2026:14:41:35] (root_api-) op => get-my-contents-card-info ,user_id => 184 ,course_id => 25 ,deckId => 91 ,cardId => 2862 ,clid => 66bbc87451ad3590b670daae13ee0619 ,serviceName => course_data ,
[13/Apr/2026:14:41:35] (root_api-) OP= get-my-contents-card-info of page root_api.php
[13/Apr/2026:14:41:35] (root_api-) Query~SELECT count(u.user_id) as cnt FROM tbl_user_master u WHERE u.isActive = '1' AND u.user_id ='184'~2026-04-13 14:41:35:0435~2026-04-13 14:41:35~success
[13/Apr/2026:14:41:35] (root_api-) serviceName course_data
[13/Apr/2026:14:41:35] (root_api-) Query~SELECT tc.card_id,tc.card_style,tc.card_title,tc.card_image_url,tc.card_video_url, CASE WHEN tc.card_style = 0 THEN 'Text' ELSE 'Image' END AS card_styleText  , tc.question_text, tc.status AS cardStatus, tc.answer_text, dc.deck_id,dc.sequence as cardSequence, tc.version, tc.card_parent_id
            FROM tbl_card tc
            INNER JOIN tbl_deck_card dc ON dc.card_id = tc.card_id
            Where dc.deck_id = '91' AND tc.card_id = '2862' AND tc.card_type = 'main' /*AND tc.created_by = '184'*/~2026-04-13 14:41:35:0435~2026-04-13 14:41:35~success
[13/Apr/2026:14:41:35] (root_api-) Query~select tc.card_parent_id, dc.deck_id as card_parent_deckid, tcd.course_id as card_parent_courseid from tbl_card tc, tbl_deck_card dc, tbl_course_deck tcd WHERE tc.card_parent_id=2862 AND tc.version = 0 AND tc.card_parent_id=dc.card_id AND dc.deck_id=tcd.deck_id~2026-04-13 14:41:35:0435~2026-04-13 14:41:35~success
[13/Apr/2026:14:41:35] (root_api-) Query~select tc.card_id as card_child_id, dc.deck_id as card_child_deckid, tcd.course_id as card_child_courseid from tbl_card tc, tbl_deck_card dc, tbl_course_deck tcd WHERE tc.card_parent_id=2862 AND tc.version = 2 AND tc.card_parent_id=dc.card_id AND dc.deck_id=tcd.deck_id~2026-04-13 14:41:35:0435~2026-04-13 14:41:35~success
[13/Apr/2026:14:41:35] (root_api-) Final JSON =  {"status":"ok",
                    "message":"",
                    "Errorcode":"",
                    "data":{"card_id":"2862","card_style":"0","card_title":"Card#2862","card_image_url":"","card_video_url":"","card_styleText":"Text","question_text":"","cardStatus":"Draft","answer_text":"","deck_id":"91","cardSequence":"30","version":"1","card_parent_id":null,"card_parent_deckid":null,"card_parent_courseid":null,"card_child_id":null,"card_child_deckid":null,"card_child_courseid":null}}
[13/Apr/2026:14:41:35] (root_api-) token = 66bbc87451ad3590b670daae13ee0619 IP = 169.1.82.177
[13/Apr/2026:14:41:35] (root_api-) op => getCourseDetail ,course_id => 25 ,clid => 66bbc87451ad3590b670daae13ee0619 ,serviceName => course_data ,
[13/Apr/2026:14:41:35] (root_api-) OP= getCourseDetail of page root_api.php
[13/Apr/2026:14:41:35] (root_api-) serviceName course_data
[13/Apr/2026:14:41:35] (root_api-) Query~SELECT * FROM tbl_course where course_id = '25' AND status NOT IN('Discard')~2026-04-13 14:41:35:0435~2026-04-13 14:41:35~success
[13/Apr/2026:14:41:35] (root_api-) Query~SELECT course_image_id, course_image, sequence, status FROM tbl_course_images where course_id = 25 ORDER BY sequence DESC~2026-04-13 14:41:35:0435~2026-04-13 14:41:35~success
[13/Apr/2026:14:41:35] (root_api-) Query~select course_id as prev_course_id from tbl_course where course_parent_id = 25 AND version = 0 AND status NOT IN('Discard')~2026-04-13 14:41:35:0435~2026-04-13 14:41:35~success
[13/Apr/2026:14:41:35] (root_api-) Query~select course_id as next_course_id from tbl_course where course_parent_id = 25 AND version = 2 AND status NOT IN('Discard')~2026-04-13 14:41:35:0435~2026-04-13 14:41:35~success
[13/Apr/2026:14:41:35] (root_api-) Final JSON =  {"status":"ok","message":"Course Details fetched Successfully","Errorcode":"","data":[{"course_id":"25","course_parent_id":"25","version":"1","org_id":"2","course_name":"Grade 8 Mathematics","short_name":"","status":"Draft","eval_id":"1","course_desc":"Grade 8 Mathematics aims to build strong foundational skills required to prepare learners for higher grades of mathematics and develop strong, appropriate mathematical reasoning and logical thinking. ","amount":"0","currency":null,"pay_type":"paid","course_brief":null,"course_duration":"16","background_color":"","text_color":"","creation_date":"2025-07-16 13:21:03","created_by":"184","updation_date":"2026-01-07 12:53:22","updated_by":"184","images":[],"parentid":"","childid":""}]}
[13/Apr/2026:14:41:35] (root_api-) token = 66bbc87451ad3590b670daae13ee0619 IP = 169.1.82.177
[13/Apr/2026:14:41:35] (root_api-) op => get-my-contents-deck-info ,user_id => 184 ,course_id => 25 ,deckId => 91 ,clid => 66bbc87451ad3590b670daae13ee0619 ,serviceName => course_data ,
[13/Apr/2026:14:41:35] (root_api-) OP= get-my-contents-deck-info of page root_api.php
[13/Apr/2026:14:41:35] (root_api-) Query~SELECT count(u.user_id) as cnt FROM tbl_user_master u WHERE u.isActive = '1' AND u.user_id ='184'~2026-04-13 14:41:35:0435~2026-04-13 14:41:35~success
[13/Apr/2026:14:41:35] (root_api-) serviceName course_data
[13/Apr/2026:14:41:35] (root_api-) Query~SELECT td.deck_id, td.created_by, tcd.course_id, 
            ifnull(tcd.deck_name,td.deck_name) deck_name,
            ifnull(tcd.short_name,td.short_name) short_name,
            ifnull(tcd.eval_id,td.eval_id) eval_id,
            ifnull(tcd.deck_desc,td.deck_desc) deck_desc,
            ifnull(tcd.deck_brief,td.deck_brief) deck_brief,
            td.status AS deckStatus,
            td.version
            FROM tbl_deck td 
            INNER JOIN tbl_course_deck tcd ON tcd.deck_id = td.deck_id AND course_id = '25' AND tcd.created_by = '184'
            Where td.deck_id = '91' AND td.deck_type = 'main' AND td.created_by = '184'~2026-04-13 14:41:35:0435~2026-04-13 14:41:35~success
[13/Apr/2026:14:41:35] (root_api-) Query~select td.deck_parent_id, cd.course_id as parent_courseid from tbl_deck td, tbl_course_deck cd where td.deck_id = 91 AND td.deck_parent_id <> 91 AND td.deck_parent_id = cd.deck_id~2026-04-13 14:41:35:0435~2026-04-13 14:41:35~success
[13/Apr/2026:14:41:35] (root_api-) Query~select td.deck_id as deck_child_id, cd.course_id as child_courseid from tbl_deck td, tbl_course_deck cd where td.deck_parent_id = 91 AND td.deck_id <> 91 AND td.deck_id = cd.deck_id~2026-04-13 14:41:35:0435~2026-04-13 14:41:35~success
[13/Apr/2026:14:41:35] (root_api-) Final JSON =  {"status":"ok",
                    "message":"",
                    "Errorcode":"",
                    "data":{"deck_id":"91","created_by":"184","course_id":"25","deck_name":"Probability ","short_name":"Probability ","eval_id":"1","deck_desc":"Probability looks at the possibility of an event occuring and in this deck we look at the basic terms used in probability as well as how to do probability calculations. ","deck_brief":"","deckStatus":"Draft","version":"1","parentid":"","childid":""}}
[13/Apr/2026:14:41:36] (root_api-) token = 66bbc87451ad3590b670daae13ee0619 IP = 169.1.82.177
[13/Apr/2026:14:41:36] (root_api-) op => api-refresh ,clid => 66bbc87451ad3590b670daae13ee0619 ,serviceName => common_data ,
[13/Apr/2026:14:41:36] (root_api-) OP= api-refresh of page root_api.php
[13/Apr/2026:14:41:36] (root_api-) serviceName common_data
[13/Apr/2026:14:41:36] (root_api-) Final JSON =  {"status":"ok","message":"","Errorcode":"","data":""}
[13/Apr/2026:14:42:37] (root_api-) token =  IP = 169.1.82.177
[13/Apr/2026:14:42:37] (root_api-) 
[13/Apr/2026:14:42:37] (root_api-) OP=  of page root_api.php
[13/Apr/2026:14:42:37] (root_api-) Final JSON =  { "status":"error",
					"message":"Invalid Session",
					"Errorcode":"err100",
					"data":{}}
[13/Apr/2026:14:42:37] (root_api-) token = 66bbc87451ad3590b670daae13ee0619 IP = 169.1.82.177
[13/Apr/2026:14:42:37] (root_api-) op => user-card-operation ,userId => 184 ,courseId => 25 ,cardDeckMode => edit ,cardDeckId => 91 ,questionText => <p>What does it mean if an event has a 7/20 probability?</p><p><br></p> ,answerText => <p>This means the event has a 7 out of 20 chance of occuring.</p><p><br></p> ,editCardId => 2862 ,action => SAVE ,clid => 66bbc87451ad3590b670daae13ee0619 ,serviceName => deck_data ,
[13/Apr/2026:14:42:37] (root_api-) OP= user-card-operation of page root_api.php
[13/Apr/2026:14:42:37] (root_api-) serviceName deck_data
[13/Apr/2026:14:42:37] (root_api-) Query~SELECT count(1) as deckCardCount FROM tbl_deck_card WHERE deck_id = '91' AND card_id = '2862'~2026-04-13 14:42:37:0437~2026-04-13 14:42:37~success
[13/Apr/2026:14:42:37] (root_api-) Query~SELECT question_text, answer_text FROM tbl_card  WHERE card_id = '2862'~2026-04-13 14:42:37:0437~2026-04-13 14:42:37~success
[13/Apr/2026:14:42:37] (root_api-) In case Card Updated query = UPDATE tbl_card SET card_style = '0' , question_text = '<p>What does it mean if an event has a 7/20 probability?</p><p><br></p>', answer_text = '<p>This means the event has a 7 out of 20 chance of occuring.</p><p><br></p>', card_type='main', updation_date = NOW(), updated_by = '184', card_title = '', card_image_url = '', 
                    onlyTextQuestion = '', onlyTextAnswer = '' 
                    WHERE card_id = '2862'
[13/Apr/2026:14:42:37] (root_api-) Query~UPDATE tbl_card SET card_style = '0' , question_text = '<p>What does it mean if an event has a 7/20 probability?</p><p><br></p>', answer_text = '<p>This means the event has a 7 out of 20 chance of occuring.</p><p><br></p>', card_type='main', updation_date = NOW(), updated_by = '184', card_title = '', card_image_url = '', 
                    onlyTextQuestion = '', onlyTextAnswer = '' 
                    WHERE card_id = '2862'~2026-04-13 14:42:37:0437~2026-04-13 14:42:37~success
[13/Apr/2026:14:42:37] (root_api-) Final JSON =  {"status":"ok","message":"Card Created Successfully!!","Errorcode":"","data":"","action":"SAVE"}
[13/Apr/2026:14:42:39] (root_api-) token = 66bbc87451ad3590b670daae13ee0619 IP = 169.1.82.177
[13/Apr/2026:14:42:39] (root_api-) op => getSwitchRoles ,user_id => 184 ,org_id => 1 ,clid => 66bbc87451ad3590b670daae13ee0619 ,serviceName => user_data ,
[13/Apr/2026:14:42:39] (root_api-) OP= getSwitchRoles of page root_api.php
[13/Apr/2026:14:42:39] (root_api-) Query~SELECT count(u.user_id) as cnt FROM tbl_user_master u WHERE u.isActive = '1' AND u.user_id ='184'~2026-04-13 14:42:39:0439~2026-04-13 14:42:39~success
[13/Apr/2026:14:42:39] (root_api-) Query~SELECT count(1) as cnt FROM tbl_org  WHERE status = 'Active' AND org_id ='1'~2026-04-13 14:42:39:0439~2026-04-13 14:42:39~success
[13/Apr/2026:14:42:39] (root_api-) Query~SELECT count(1) as cnt FROM tbl_user_org u WHERE u.status = 'Active' AND u.user_id ='184' AND  org_id ='1'~2026-04-13 14:42:39:0439~2026-04-13 14:42:39~success
[13/Apr/2026:14:42:39] (root_api-) serviceName user_data
[13/Apr/2026:14:42:39] (root_api-) Query~SELECT u.user_org_id, u.org_id, u.role_id, um.email,o.org_name,r.role_name,o.short_name,CONCAT(u.role_id,'_',u.org_id) as user_org_role
            FROM tbl_user_org u 
            inner join tbl_org o on u.org_id=o.org_id
            inner join tbl_role_master r on r.role_id=u.role_id
            inner join tbl_user_master um on u.user_id = um.user_id
            where u.user_id= 184~2026-04-13 14:42:39:0439~2026-04-13 14:42:39~success
[13/Apr/2026:14:42:39] (root_api-) Final JSON =  {"status":"ok","message":"User Details fetched Successfully!!","Errorcode":"","data":[{"user_org_id":"225","org_id":"1","role_id":"3","email":"alhenaude20@gmail.com","org_name":"University Of Cape Town","role_name":"Learner","short_name":"UCT","user_org_role":"3_1"},{"user_org_id":"226","org_id":"2","role_id":"2","email":"alhenaude20@gmail.com","org_name":"C-Institute","role_name":"Educator","short_name":"C-Institute","user_org_role":"2_2"}]}
[13/Apr/2026:14:42:39] (root_api-) token = 66bbc87451ad3590b670daae13ee0619 IP = 169.1.82.177
[13/Apr/2026:14:42:39] (root_api-) op => getUsersCourseRole ,user_id => 184 ,course_id => 25 ,clid => 66bbc87451ad3590b670daae13ee0619 ,serviceName => course_data ,
[13/Apr/2026:14:42:39] (root_api-) OP= getUsersCourseRole of page root_api.php
[13/Apr/2026:14:42:39] (root_api-) Query~SELECT count(u.user_id) as cnt FROM tbl_user_master u WHERE u.isActive = '1' AND u.user_id ='184'~2026-04-13 14:42:39:0439~2026-04-13 14:42:39~success
[13/Apr/2026:14:42:39] (root_api-) serviceName course_data
[13/Apr/2026:14:42:39] (root_api-) Query~SELECT ed_role FROM tbl_course_educator WHERE  course_id = '25' AND user_id = 184~2026-04-13 14:42:39:0439~2026-04-13 14:42:39~success
[13/Apr/2026:14:42:39] (root_api-) Final JSON =  {"status":"ok","message":"","Errorcode":"","data":{"ed_role":"author"}}
[13/Apr/2026:14:42:39] (root_api-) token = 66bbc87451ad3590b670daae13ee0619 IP = 169.1.82.177
[13/Apr/2026:14:42:39] (root_api-) op => get-my-contents-card-info ,user_id => 184 ,course_id => 25 ,deckId => 91 ,cardId => 2862 ,clid => 66bbc87451ad3590b670daae13ee0619 ,serviceName => course_data ,
[13/Apr/2026:14:42:39] (root_api-) OP= get-my-contents-card-info of page root_api.php
[13/Apr/2026:14:42:39] (root_api-) Query~SELECT count(u.user_id) as cnt FROM tbl_user_master u WHERE u.isActive = '1' AND u.user_id ='184'~2026-04-13 14:42:39:0439~2026-04-13 14:42:39~success
[13/Apr/2026:14:42:39] (root_api-) serviceName course_data
[13/Apr/2026:14:42:39] (root_api-) token = 66bbc87451ad3590b670daae13ee0619 IP = 169.1.82.177
[13/Apr/2026:14:42:39] (root_api-) op => get-my-contents-deck-info ,user_id => 184 ,course_id => 25 ,deckId => 91 ,clid => 66bbc87451ad3590b670daae13ee0619 ,serviceName => course_data ,
[13/Apr/2026:14:42:39] (root_api-) OP= get-my-contents-deck-info of page root_api.php
[13/Apr/2026:14:42:39] (root_api-) Query~SELECT tc.card_id,tc.card_style,tc.card_title,tc.card_image_url,tc.card_video_url, CASE WHEN tc.card_style = 0 THEN 'Text' ELSE 'Image' END AS card_styleText  , tc.question_text, tc.status AS cardStatus, tc.answer_text, dc.deck_id,dc.sequence as cardSequence, tc.version, tc.card_parent_id
            FROM tbl_card tc
            INNER JOIN tbl_deck_card dc ON dc.card_id = tc.card_id
            Where dc.deck_id = '91' AND tc.card_id = '2862' AND tc.card_type = 'main' /*AND tc.created_by = '184'*/~2026-04-13 14:42:39:0439~2026-04-13 14:42:39~success
[13/Apr/2026:14:42:39] (root_api-) Query~SELECT count(u.user_id) as cnt FROM tbl_user_master u WHERE u.isActive = '1' AND u.user_id ='184'~2026-04-13 14:42:39:0439~2026-04-13 14:42:39~success
[13/Apr/2026:14:42:39] (root_api-) serviceName course_data
[13/Apr/2026:14:42:39] (root_api-) Query~select tc.card_parent_id, dc.deck_id as card_parent_deckid, tcd.course_id as card_parent_courseid from tbl_card tc, tbl_deck_card dc, tbl_course_deck tcd WHERE tc.card_parent_id=2862 AND tc.version = 0 AND tc.card_parent_id=dc.card_id AND dc.deck_id=tcd.deck_id~2026-04-13 14:42:39:0439~2026-04-13 14:42:39~success
[13/Apr/2026:14:42:39] (root_api-) Query~select tc.card_id as card_child_id, dc.deck_id as card_child_deckid, tcd.course_id as card_child_courseid from tbl_card tc, tbl_deck_card dc, tbl_course_deck tcd WHERE tc.card_parent_id=2862 AND tc.version = 2 AND tc.card_parent_id=dc.card_id AND dc.deck_id=tcd.deck_id~2026-04-13 14:42:39:0439~2026-04-13 14:42:39~success
[13/Apr/2026:14:42:39] (root_api-) Final JSON =  {"status":"ok",
                    "message":"",
                    "Errorcode":"",
                    "data":{"card_id":"2862","card_style":"0","card_title":"","card_image_url":"","card_video_url":"","card_styleText":"Text","question_text":"<p>What does it mean if an event has a 7\/20 probability?<\/p><p><br><\/p>","cardStatus":"Draft","answer_text":"<p>This means the event has a 7 out of 20 chance of occuring.<\/p><p><br><\/p>","deck_id":"91","cardSequence":"30","version":"1","card_parent_id":null,"card_parent_deckid":null,"card_parent_courseid":null,"card_child_id":null,"card_child_deckid":null,"card_child_courseid":null}}
[13/Apr/2026:14:42:39] (root_api-) Query~SELECT td.deck_id, td.created_by, tcd.course_id, 
            ifnull(tcd.deck_name,td.deck_name) deck_name,
            ifnull(tcd.short_name,td.short_name) short_name,
            ifnull(tcd.eval_id,td.eval_id) eval_id,
            ifnull(tcd.deck_desc,td.deck_desc) deck_desc,
            ifnull(tcd.deck_brief,td.deck_brief) deck_brief,
            td.status AS deckStatus,
            td.version
            FROM tbl_deck td 
            INNER JOIN tbl_course_deck tcd ON tcd.deck_id = td.deck_id AND course_id = '25' AND tcd.created_by = '184'
            Where td.deck_id = '91' AND td.deck_type = 'main' AND td.created_by = '184'~2026-04-13 14:42:39:0439~2026-04-13 14:42:39~success
[13/Apr/2026:14:42:39] (root_api-) Query~select td.deck_parent_id, cd.course_id as parent_courseid from tbl_deck td, tbl_course_deck cd where td.deck_id = 91 AND td.deck_parent_id <> 91 AND td.deck_parent_id = cd.deck_id~2026-04-13 14:42:39:0439~2026-04-13 14:42:39~success
[13/Apr/2026:14:42:39] (root_api-) Query~select td.deck_id as deck_child_id, cd.course_id as child_courseid from tbl_deck td, tbl_course_deck cd where td.deck_parent_id = 91 AND td.deck_id <> 91 AND td.deck_id = cd.deck_id~2026-04-13 14:42:39:0439~2026-04-13 14:42:39~success
[13/Apr/2026:14:42:39] (root_api-) Final JSON =  {"status":"ok",
                    "message":"",
                    "Errorcode":"",
                    "data":{"deck_id":"91","created_by":"184","course_id":"25","deck_name":"Probability ","short_name":"Probability ","eval_id":"1","deck_desc":"Probability looks at the possibility of an event occuring and in this deck we look at the basic terms used in probability as well as how to do probability calculations. ","deck_brief":"","deckStatus":"Draft","version":"1","parentid":"","childid":""}}
[13/Apr/2026:14:42:39] (root_api-) token = 66bbc87451ad3590b670daae13ee0619 IP = 169.1.82.177
[13/Apr/2026:14:42:39] (root_api-) op => getCourseDetail ,course_id => 25 ,clid => 66bbc87451ad3590b670daae13ee0619 ,serviceName => course_data ,
[13/Apr/2026:14:42:39] (root_api-) OP= getCourseDetail of page root_api.php
[13/Apr/2026:14:42:39] (root_api-) serviceName course_data
[13/Apr/2026:14:42:39] (root_api-) Query~SELECT * FROM tbl_course where course_id = '25' AND status NOT IN('Discard')~2026-04-13 14:42:39:0439~2026-04-13 14:42:39~success
[13/Apr/2026:14:42:39] (root_api-) Query~SELECT course_image_id, course_image, sequence, status FROM tbl_course_images where course_id = 25 ORDER BY sequence DESC~2026-04-13 14:42:39:0439~2026-04-13 14:42:39~success
[13/Apr/2026:14:42:39] (root_api-) Query~select course_id as prev_course_id from tbl_course where course_parent_id = 25 AND version = 0 AND status NOT IN('Discard')~2026-04-13 14:42:39:0439~2026-04-13 14:42:39~success
[13/Apr/2026:14:42:39] (root_api-) Query~select course_id as next_course_id from tbl_course where course_parent_id = 25 AND version = 2 AND status NOT IN('Discard')~2026-04-13 14:42:39:0439~2026-04-13 14:42:39~success
[13/Apr/2026:14:42:39] (root_api-) Final JSON =  {"status":"ok","message":"Course Details fetched Successfully","Errorcode":"","data":[{"course_id":"25","course_parent_id":"25","version":"1","org_id":"2","course_name":"Grade 8 Mathematics","short_name":"","status":"Draft","eval_id":"1","course_desc":"Grade 8 Mathematics aims to build strong foundational skills required to prepare learners for higher grades of mathematics and develop strong, appropriate mathematical reasoning and logical thinking. ","amount":"0","currency":null,"pay_type":"paid","course_brief":null,"course_duration":"16","background_color":"","text_color":"","creation_date":"2025-07-16 13:21:03","created_by":"184","updation_date":"2026-01-07 12:53:22","updated_by":"184","images":[],"parentid":"","childid":""}]}
[13/Apr/2026:14:42:40] (root_api-) token = 66bbc87451ad3590b670daae13ee0619 IP = 169.1.82.177
[13/Apr/2026:14:42:40] (root_api-) op => api-refresh ,clid => 66bbc87451ad3590b670daae13ee0619 ,serviceName => common_data ,
[13/Apr/2026:14:42:40] (root_api-) OP= api-refresh of page root_api.php
[13/Apr/2026:14:42:40] (root_api-) serviceName common_data
[13/Apr/2026:14:42:40] (root_api-) Final JSON =  {"status":"ok","message":"","Errorcode":"","data":""}
[13/Apr/2026:14:42:42] (root_api-) token = 66bbc87451ad3590b670daae13ee0619 IP = 169.1.82.177
[13/Apr/2026:14:42:42] (root_api-) op => getCourseDetail ,course_id => 25 ,clid => 66bbc87451ad3590b670daae13ee0619 ,serviceName => course_data ,
[13/Apr/2026:14:42:42] (root_api-) OP= getCourseDetail of page root_api.php
[13/Apr/2026:14:42:42] (root_api-) serviceName course_data
[13/Apr/2026:14:42:42] (root_api-) Query~SELECT * FROM tbl_course where course_id = '25' AND status NOT IN('Discard')~2026-04-13 14:42:42:0442~2026-04-13 14:42:42~success
[13/Apr/2026:14:42:42] (root_api-) Query~SELECT course_image_id, course_image, sequence, status FROM tbl_course_images where course_id = 25 ORDER BY sequence DESC~2026-04-13 14:42:42:0442~2026-04-13 14:42:42~success
[13/Apr/2026:14:42:42] (root_api-) Query~select course_id as prev_course_id from tbl_course where course_parent_id = 25 AND version = 0 AND status NOT IN('Discard')~2026-04-13 14:42:42:0442~2026-04-13 14:42:42~success
[13/Apr/2026:14:42:42] (root_api-) Query~select course_id as next_course_id from tbl_course where course_parent_id = 25 AND version = 2 AND status NOT IN('Discard')~2026-04-13 14:42:42:0442~2026-04-13 14:42:42~success
[13/Apr/2026:14:42:42] (root_api-) Final JSON =  {"status":"ok","message":"Course Details fetched Successfully","Errorcode":"","data":[{"course_id":"25","course_parent_id":"25","version":"1","org_id":"2","course_name":"Grade 8 Mathematics","short_name":"","status":"Draft","eval_id":"1","course_desc":"Grade 8 Mathematics aims to build strong foundational skills required to prepare learners for higher grades of mathematics and develop strong, appropriate mathematical reasoning and logical thinking. ","amount":"0","currency":null,"pay_type":"paid","course_brief":null,"course_duration":"16","background_color":"","text_color":"","creation_date":"2025-07-16 13:21:03","created_by":"184","updation_date":"2026-01-07 12:53:22","updated_by":"184","images":[],"parentid":"","childid":""}]}
[13/Apr/2026:14:42:42] (root_api-) token = 66bbc87451ad3590b670daae13ee0619 IP = 169.1.82.177
[13/Apr/2026:14:42:42] (root_api-) op => getSwitchRoles ,user_id => 184 ,org_id => 1 ,clid => 66bbc87451ad3590b670daae13ee0619 ,serviceName => user_data ,
[13/Apr/2026:14:42:42] (root_api-) OP= getSwitchRoles of page root_api.php
[13/Apr/2026:14:42:42] (root_api-) Query~SELECT count(u.user_id) as cnt FROM tbl_user_master u WHERE u.isActive = '1' AND u.user_id ='184'~2026-04-13 14:42:42:0442~2026-04-13 14:42:42~success
[13/Apr/2026:14:42:42] (root_api-) Query~SELECT count(1) as cnt FROM tbl_org  WHERE status = 'Active' AND org_id ='1'~2026-04-13 14:42:42:0442~2026-04-13 14:42:42~success
[13/Apr/2026:14:42:42] (root_api-) Query~SELECT count(1) as cnt FROM tbl_user_org u WHERE u.status = 'Active' AND u.user_id ='184' AND  org_id ='1'~2026-04-13 14:42:42:0442~2026-04-13 14:42:42~success
[13/Apr/2026:14:42:42] (root_api-) serviceName user_data
[13/Apr/2026:14:42:42] (root_api-) Query~SELECT u.user_org_id, u.org_id, u.role_id, um.email,o.org_name,r.role_name,o.short_name,CONCAT(u.role_id,'_',u.org_id) as user_org_role
            FROM tbl_user_org u 
            inner join tbl_org o on u.org_id=o.org_id
            inner join tbl_role_master r on r.role_id=u.role_id
            inner join tbl_user_master um on u.user_id = um.user_id
            where u.user_id= 184~2026-04-13 14:42:42:0442~2026-04-13 14:42:42~success
[13/Apr/2026:14:42:42] (root_api-) Final JSON =  {"status":"ok","message":"User Details fetched Successfully!!","Errorcode":"","data":[{"user_org_id":"225","org_id":"1","role_id":"3","email":"alhenaude20@gmail.com","org_name":"University Of Cape Town","role_name":"Learner","short_name":"UCT","user_org_role":"3_1"},{"user_org_id":"226","org_id":"2","role_id":"2","email":"alhenaude20@gmail.com","org_name":"C-Institute","role_name":"Educator","short_name":"C-Institute","user_org_role":"2_2"}]}
[13/Apr/2026:14:42:42] (root_api-) token = 66bbc87451ad3590b670daae13ee0619 IP = 169.1.82.177
[13/Apr/2026:14:42:42] (root_api-) op => getCourseDecks ,user_id => 184 ,course_id => 25 ,clid => 66bbc87451ad3590b670daae13ee0619 ,serviceName => course_data ,
[13/Apr/2026:14:42:42] (root_api-) OP= getCourseDecks of page root_api.php
[13/Apr/2026:14:42:42] (root_api-) Query~SELECT count(u.user_id) as cnt FROM tbl_user_master u WHERE u.isActive = '1' AND u.user_id ='184'~2026-04-13 14:42:42:0442~2026-04-13 14:42:42~success
[13/Apr/2026:14:42:42] (root_api-) serviceName course_data
[13/Apr/2026:14:42:42] (root_api-) Query~SELECT td.deck_id, td.status as deckStatus, td.created_by, tcd.course_id, 
            ifnull(tcd.deck_name,td.deck_name) deck_name,
            ifnull(tcd.short_name,td.short_name) short_name,
            ifnull(tcd.eval_id,td.eval_id) eval_id,
            ifnull(tcd.deck_desc,td.deck_desc) deck_desc,
            ifnull(tcd.deck_brief,td.deck_brief) deck_brief,
            td.version
            
            FROM tbl_deck td 
           /* INNER JOIN tbl_course_deck tcd ON tcd.deck_id = td.deck_id AND course_id = '25' AND tcd.created_by = '184'
            Where td.deck_type = 'main' AND td.created_by = '184'
            */
            INNER JOIN tbl_course_deck tcd ON tcd.deck_id = td.deck_id AND course_id = '25' 
            Where td.deck_type = 'main'
            ORDER BY td.deck_id~2026-04-13 14:42:42:0442~2026-04-13 14:42:42~success
[13/Apr/2026:14:42:42] (root_api-) token = 66bbc87451ad3590b670daae13ee0619 IP = 169.1.82.177
[13/Apr/2026:14:42:42] (root_api-) op => getUsersCourseRole ,user_id => 184 ,course_id => 25 ,clid => 66bbc87451ad3590b670daae13ee0619 ,serviceName => course_data ,
[13/Apr/2026:14:42:42] (root_api-) OP= getUsersCourseRole of page root_api.php
[13/Apr/2026:14:42:42] (root_api-) Query~select count(*) as card_count FROM  tbl_deck_card dc
                                    INNER JOIN tbl_card tc ON tc.card_id = dc.card_id AND tc.card_type = 'main' AND tc.question_text !='' AND tc.answer_text !=''
                                    Where dc.deck_id = '66'~2026-04-13 14:42:42:0442~2026-04-13 14:42:42~success
[13/Apr/2026:14:42:42] (root_api-) Query~SELECT count(u.user_id) as cnt FROM tbl_user_master u WHERE u.isActive = '1' AND u.user_id ='184'~2026-04-13 14:42:42:0442~2026-04-13 14:42:42~success
[13/Apr/2026:14:42:42] (root_api-) serviceName course_data
[13/Apr/2026:14:42:42] (root_api-) Query~select count(*) as card_count FROM  tbl_deck_card dc
                                    INNER JOIN tbl_card tc ON tc.card_id = dc.card_id AND tc.card_type = 'main' AND tc.question_text !='' AND tc.answer_text !=''
                                    Where dc.deck_id = '67'~2026-04-13 14:42:42:0442~2026-04-13 14:42:42~success
[13/Apr/2026:14:42:42] (root_api-) Query~SELECT ed_role FROM tbl_course_educator WHERE  course_id = '25' AND user_id = 184~2026-04-13 14:42:42:0442~2026-04-13 14:42:42~success
[13/Apr/2026:14:42:42] (root_api-) Final JSON =  {"status":"ok","message":"","Errorcode":"","data":{"ed_role":"author"}}
[13/Apr/2026:14:42:42] (root_api-) Query~select count(*) as card_count FROM  tbl_deck_card dc
                                    INNER JOIN tbl_card tc ON tc.card_id = dc.card_id AND tc.card_type = 'main' AND tc.question_text !='' AND tc.answer_text !=''
                                    Where dc.deck_id = '68'~2026-04-13 14:42:42:0442~2026-04-13 14:42:42~success
[13/Apr/2026:14:42:42] (root_api-) Query~select count(*) as card_count FROM  tbl_deck_card dc
                                    INNER JOIN tbl_card tc ON tc.card_id = dc.card_id AND tc.card_type = 'main' AND tc.question_text !='' AND tc.answer_text !=''
                                    Where dc.deck_id = '69'~2026-04-13 14:42:42:0442~2026-04-13 14:42:42~success
[13/Apr/2026:14:42:42] (root_api-) Query~select count(*) as card_count FROM  tbl_deck_card dc
                                    INNER JOIN tbl_card tc ON tc.card_id = dc.card_id AND tc.card_type = 'main' AND tc.question_text !='' AND tc.answer_text !=''
                                    Where dc.deck_id = '70'~2026-04-13 14:42:42:0442~2026-04-13 14:42:42~success
[13/Apr/2026:14:42:42] (root_api-) Query~select count(*) as card_count FROM  tbl_deck_card dc
                                    INNER JOIN tbl_card tc ON tc.card_id = dc.card_id AND tc.card_type = 'main' AND tc.question_text !='' AND tc.answer_text !=''
                                    Where dc.deck_id = '71'~2026-04-13 14:42:42:0442~2026-04-13 14:42:42~success
[13/Apr/2026:14:42:42] (root_api-) Query~select count(*) as card_count FROM  tbl_deck_card dc
                                    INNER JOIN tbl_card tc ON tc.card_id = dc.card_id AND tc.card_type = 'main' AND tc.question_text !='' AND tc.answer_text !=''
                                    Where dc.deck_id = '72'~2026-04-13 14:42:42:0442~2026-04-13 14:42:42~success
[13/Apr/2026:14:42:42] (root_api-) Query~select count(*) as card_count FROM  tbl_deck_card dc
                                    INNER JOIN tbl_card tc ON tc.card_id = dc.card_id AND tc.card_type = 'main' AND tc.question_text !='' AND tc.answer_text !=''
                                    Where dc.deck_id = '73'~2026-04-13 14:42:42:0442~2026-04-13 14:42:42~success
[13/Apr/2026:14:42:42] (root_api-) Query~select count(*) as card_count FROM  tbl_deck_card dc
                                    INNER JOIN tbl_card tc ON tc.card_id = dc.card_id AND tc.card_type = 'main' AND tc.question_text !='' AND tc.answer_text !=''
                                    Where dc.deck_id = '74'~2026-04-13 14:42:42:0442~2026-04-13 14:42:42~success
[13/Apr/2026:14:42:42] (root_api-) Query~select count(*) as card_count FROM  tbl_deck_card dc
                                    INNER JOIN tbl_card tc ON tc.card_id = dc.card_id AND tc.card_type = 'main' AND tc.question_text !='' AND tc.answer_text !=''
                                    Where dc.deck_id = '75'~2026-04-13 14:42:42:0442~2026-04-13 14:42:42~success
[13/Apr/2026:14:42:42] (root_api-) Query~select count(*) as card_count FROM  tbl_deck_card dc
                                    INNER JOIN tbl_card tc ON tc.card_id = dc.card_id AND tc.card_type = 'main' AND tc.question_text !='' AND tc.answer_text !=''
                                    Where dc.deck_id = '76'~2026-04-13 14:42:42:0442~2026-04-13 14:42:42~success
[13/Apr/2026:14:42:42] (root_api-) Query~select count(*) as card_count FROM  tbl_deck_card dc
                                    INNER JOIN tbl_card tc ON tc.card_id = dc.card_id AND tc.card_type = 'main' AND tc.question_text !='' AND tc.answer_text !=''
                                    Where dc.deck_id = '77'~2026-04-13 14:42:42:0442~2026-04-13 14:42:42~success
[13/Apr/2026:14:42:42] (root_api-) Query~select count(*) as card_count FROM  tbl_deck_card dc
                                    INNER JOIN tbl_card tc ON tc.card_id = dc.card_id AND tc.card_type = 'main' AND tc.question_text !='' AND tc.answer_text !=''
                                    Where dc.deck_id = '78'~2026-04-13 14:42:42:0442~2026-04-13 14:42:42~success
[13/Apr/2026:14:42:42] (root_api-) Query~select count(*) as card_count FROM  tbl_deck_card dc
                                    INNER JOIN tbl_card tc ON tc.card_id = dc.card_id AND tc.card_type = 'main' AND tc.question_text !='' AND tc.answer_text !=''
                                    Where dc.deck_id = '79'~2026-04-13 14:42:42:0442~2026-04-13 14:42:42~success
[13/Apr/2026:14:42:42] (root_api-) Query~select count(*) as card_count FROM  tbl_deck_card dc
                                    INNER JOIN tbl_card tc ON tc.card_id = dc.card_id AND tc.card_type = 'main' AND tc.question_text !='' AND tc.answer_text !=''
                                    Where dc.deck_id = '80'~2026-04-13 14:42:42:0442~2026-04-13 14:42:42~success
[13/Apr/2026:14:42:42] (root_api-) Query~select count(*) as card_count FROM  tbl_deck_card dc
                                    INNER JOIN tbl_card tc ON tc.card_id = dc.card_id AND tc.card_type = 'main' AND tc.question_text !='' AND tc.answer_text !=''
                                    Where dc.deck_id = '81'~2026-04-13 14:42:42:0442~2026-04-13 14:42:42~success
[13/Apr/2026:14:42:42] (root_api-) Query~select count(*) as card_count FROM  tbl_deck_card dc
                                    INNER JOIN tbl_card tc ON tc.card_id = dc.card_id AND tc.card_type = 'main' AND tc.question_text !='' AND tc.answer_text !=''
                                    Where dc.deck_id = '82'~2026-04-13 14:42:42:0442~2026-04-13 14:42:42~success
[13/Apr/2026:14:42:42] (root_api-) Query~select count(*) as card_count FROM  tbl_deck_card dc
                                    INNER JOIN tbl_card tc ON tc.card_id = dc.card_id AND tc.card_type = 'main' AND tc.question_text !='' AND tc.answer_text !=''
                                    Where dc.deck_id = '83'~2026-04-13 14:42:42:0442~2026-04-13 14:42:42~success
[13/Apr/2026:14:42:42] (root_api-) Query~select count(*) as card_count FROM  tbl_deck_card dc
                                    INNER JOIN tbl_card tc ON tc.card_id = dc.card_id AND tc.card_type = 'main' AND tc.question_text !='' AND tc.answer_text !=''
                                    Where dc.deck_id = '84'~2026-04-13 14:42:42:0442~2026-04-13 14:42:42~success
[13/Apr/2026:14:42:42] (root_api-) Query~select count(*) as card_count FROM  tbl_deck_card dc
                                    INNER JOIN tbl_card tc ON tc.card_id = dc.card_id AND tc.card_type = 'main' AND tc.question_text !='' AND tc.answer_text !=''
                                    Where dc.deck_id = '85'~2026-04-13 14:42:42:0442~2026-04-13 14:42:42~success
[13/Apr/2026:14:42:42] (root_api-) Query~select count(*) as card_count FROM  tbl_deck_card dc
                                    INNER JOIN tbl_card tc ON tc.card_id = dc.card_id AND tc.card_type = 'main' AND tc.question_text !='' AND tc.answer_text !=''
                                    Where dc.deck_id = '86'~2026-04-13 14:42:42:0442~2026-04-13 14:42:42~success
[13/Apr/2026:14:42:42] (root_api-) Query~select count(*) as card_count FROM  tbl_deck_card dc
                                    INNER JOIN tbl_card tc ON tc.card_id = dc.card_id AND tc.card_type = 'main' AND tc.question_text !='' AND tc.answer_text !=''
                                    Where dc.deck_id = '87'~2026-04-13 14:42:42:0442~2026-04-13 14:42:42~success
[13/Apr/2026:14:42:42] (root_api-) Query~select count(*) as card_count FROM  tbl_deck_card dc
                                    INNER JOIN tbl_card tc ON tc.card_id = dc.card_id AND tc.card_type = 'main' AND tc.question_text !='' AND tc.answer_text !=''
                                    Where dc.deck_id = '88'~2026-04-13 14:42:42:0442~2026-04-13 14:42:42~success
[13/Apr/2026:14:42:42] (root_api-) Query~select count(*) as card_count FROM  tbl_deck_card dc
                                    INNER JOIN tbl_card tc ON tc.card_id = dc.card_id AND tc.card_type = 'main' AND tc.question_text !='' AND tc.answer_text !=''
                                    Where dc.deck_id = '89'~2026-04-13 14:42:42:0442~2026-04-13 14:42:42~success
[13/Apr/2026:14:42:42] (root_api-) Query~select count(*) as card_count FROM  tbl_deck_card dc
                                    INNER JOIN tbl_card tc ON tc.card_id = dc.card_id AND tc.card_type = 'main' AND tc.question_text !='' AND tc.answer_text !=''
                                    Where dc.deck_id = '90'~2026-04-13 14:42:42:0442~2026-04-13 14:42:42~success
[13/Apr/2026:14:42:42] (root_api-) Query~select count(*) as card_count FROM  tbl_deck_card dc
                                    INNER JOIN tbl_card tc ON tc.card_id = dc.card_id AND tc.card_type = 'main' AND tc.question_text !='' AND tc.answer_text !=''
                                    Where dc.deck_id = '91'~2026-04-13 14:42:42:0442~2026-04-13 14:42:42~success
[13/Apr/2026:14:42:42] (root_api-) Final JSON =  {"status":"ok",
                "message":"",
                "Errorcode":"",
                "data":{"66":{"deck_info":{"deck_id":"66","course_id":"25","deck_name":"Term 1: Whole Numbers","short_name":"Whole No. ","eval_id":"1","deck_desc":"Whole numbers deals with the explaination of different types of numbers, properties of operations, finance as well as estimation and rounding off. ","deck_brief":"","deck_status":"Draft","card_cnt":"56","version":"1"}},"67":{"deck_info":{"deck_id":"67","course_id":"25","deck_name":"Integers","short_name":"Integers","eval_id":"1","deck_desc":"Short questions regarding what integers are and how to solve expressions involving integers. ","deck_brief":"","deck_status":"Draft","card_cnt":"37","version":"1"}},"68":{"deck_info":{"deck_id":"68","course_id":"25","deck_name":"Exponents ","short_name":"Exponents","eval_id":"1","deck_desc":"This chapter of exponents provides information on the different ways to solve exponential expressions as well as the different laws of exponents. ","deck_brief":"","deck_status":"Draft","card_cnt":"55","version":"1"}},"69":{"deck_info":{"deck_id":"69","course_id":"25","deck_name":"Numeric and Geometric Patterns ","short_name":"Patterns","eval_id":"1","deck_desc":"Numeric and geomteric patterns revises concepts of commonly asked patterns as well as different ways patterns may be represented such an in a table, flow diagram as well as visually in pictures.  ","deck_brief":"","deck_status":"Draft","card_cnt":"23","version":"1"}},"70":{"deck_info":{"deck_id":"70","course_id":"25","deck_name":"Functions and Relationships ","short_name":"Functions and Relationships","eval_id":"1","deck_desc":"Functions and relationships is all about relating the input number to the output number in different ways and representing these relationships visually. ","deck_brief":"","deck_status":"Draft","card_cnt":"18","version":"1"}},"71":{"deck_info":{"deck_id":"71","course_id":"25","deck_name":"Algebraic Expressions 1 ","short_name":"Algebraic expressions","eval_id":"1","deck_desc":"Algebraic expressions involves taking a deeper look into the different components that make up an expression as well as ways in which we can simplify and solve them.","deck_brief":"","deck_status":"Draft","card_cnt":"36","version":"1"}},"72":{"deck_info":{"deck_id":"72","course_id":"25","deck_name":"Algebraic Equations 1 ","short_name":"Algebraic equations","eval_id":"1","deck_desc":"This deck of algebraic equations provides learners with a solid foundation of the standard procedure of solving equations and helping them to easily solve for the value of certain variables.","deck_brief":"","deck_status":"Draft","card_cnt":"24","version":"1"}},"73":{"deck_info":{"deck_id":"73","course_id":"25","deck_name":"Term 2: Algebraic Expressions 2 ","short_name":"Algenbraic Expressions 2 ","eval_id":"1","deck_desc":"Algebraic expressions 2 involves solving expressions using the distributative property and simplifying expressions with multiple operations. ","deck_brief":"","deck_status":"Draft","card_cnt":"53","version":"1"}},"74":{"deck_info":{"deck_id":"74","course_id":"25","deck_name":"Algebraic Equations 2 ","short_name":"Algebraic Equations 2 ","eval_id":"1","deck_desc":"Algebraic equations 2 uses flow diagrams and tables to help learners visualise and understand the concept of equations better as well as different ways to solve equations from left to right and right to left. ","deck_brief":"","deck_status":"Draft","card_cnt":"38","version":"1"}},"75":{"deck_info":{"deck_id":"75","course_id":"25","deck_name":"Construction of Geometric Figures","short_name":"Construction of shapes","eval_id":"1","deck_desc":"Construction of geometric figures helps emphasise the differences between parallel and perpendicular lines as well as different types of angles within different types of triangles and quadrilatrals. ","deck_brief":"","deck_status":"Draft","card_cnt":"55","version":"1"}},"76":{"deck_info":{"deck_id":"76","course_id":"25","deck_name":"Geometry of 2D Shapes","short_name":"Geometry of shapes","eval_id":"1","deck_desc":"This chapter of geometry of 2D shapes focuses on identifying and classifying different types of triangles and quadrilaterals as well as solving for missing sides and angles. ","deck_brief":"","deck_status":"Draft","card_cnt":"67","version":"1"}},"77":{"deck_info":{"deck_id":"77","course_id":"25","deck_name":"Geometry of straight lines","short_name":"Geometry of straight lines","eval_id":"1","deck_desc":"In this chapter of geometry of straight lines, the different mathematical reasons are taught in example form and shows the different ways in which learners are asked to find angles and identify them more easily. ","deck_brief":"","deck_status":"Draft","card_cnt":"68","version":"1"}},"78":{"deck_info":{"deck_id":"78","course_id":"25","deck_name":"Term 3: Common Fractions","short_name":"Common Fractions","eval_id":"1","deck_desc":"Common fractions helps learners perform the basic operations with fractions including addition, subtraction, multiplication and division. It also helps learners understand how to use and incorporate equivalent fractions and simplify fractions. ","deck_brief":"","deck_status":"Draft","card_cnt":"132","version":"1"}},"79":{"deck_info":{"deck_id":"79","course_id":"25","deck_name":"Decimal Fractions","short_name":"Decimals ","eval_id":"1","deck_desc":"Decimal fractions touches on how to convert fractions to decimals and decimals to fractions as well as how to perform operations with decimals and ordering, comparing and rounding off decimals. ","deck_brief":"","deck_status":"Draft","card_cnt":"108","version":"1"}},"80":{"deck_info":{"deck_id":"80","course_id":"25","deck_name":"Pythagoras Theorem ","short_name":"Pythagoras ","eval_id":"1","deck_desc":"This deck focuses on solving for lengths of right-angled triangles using the Pythagoras theorem and introduces learners to the converse Pythagoras theorem. ","deck_brief":"","deck_status":"Draft","card_cnt":"31","version":"1"}},"81":{"deck_info":{"deck_id":"81","course_id":"25","deck_name":"Area and Perimeter of 2D shapes","short_name":"Area and Perimeter","eval_id":"1","deck_desc":"Area and perimeter focuses on calculating the distances around shapes as well as how much space shapes such as rectangles, squares, circles and triangles take up. It focuses on understanding and logically solving the perimeter and area of other composite 2D\nshapes as well. ","deck_brief":"","deck_status":"Draft","card_cnt":"74","version":"1"}},"82":{"deck_info":{"deck_id":"82","course_id":"25","deck_name":"Surface Area and Volume of 3D Shapes","short_name":"Surface Area and Volume ","eval_id":"1","deck_desc":"Surface area and volume focuses on the different methods learners can use to solve for volume, surface area and capacity as well as how to get cubic units of measurements and when such measurements are used. ","deck_brief":"","deck_status":"Draft","card_cnt":"51","version":"1"}},"83":{"deck_info":{"deck_id":"83","course_id":"25","deck_name":"Data Handling ","short_name":"Data Handling","eval_id":"1","deck_desc":"Data handling helps learners interpret and understand the various pieces of information that may be collected when looking at data as well as different ways to summarise and read data. ","deck_brief":"","deck_status":"Draft","card_cnt":"46","version":"1"}},"84":{"deck_info":{"deck_id":"84","course_id":"25","deck_name":"Representing Data ","short_name":"Representing Data","eval_id":"1","deck_desc":"Data can be described in different ways and uses different types of visual aids to show information. In this chapter, you will learn how to read and interpret data from different graphs such as bar graphs and histograms. ","deck_brief":"","deck_status":"Draft","card_cnt":"26","version":"1"}},"85":{"deck_info":{"deck_id":"85","course_id":"25","deck_name":"Interpretting, Analysing and Reporting Data","short_name":"Interpretting and Analysing Data","eval_id":"1","deck_desc":"This chapter focuses on the information that can be gathered from data as well as the questions that may be asked from it. \n","deck_brief":"","deck_status":"Draft","card_cnt":"10","version":"1"}},"86":{"deck_info":{"deck_id":"86","course_id":"25","deck_name":"Term 4: Functions and Relationships","short_name":"Functions and relationships ","eval_id":"1","deck_desc":"Functions and relationships focuses on the different ways in which input values may be related to output values in a table, flow diagram or even verbally. ","deck_brief":"","deck_status":"Draft","card_cnt":"25","version":"1"}},"87":{"deck_info":{"deck_id":"87","course_id":"25","deck_name":"Algebraic Equations","short_name":"Equations ","eval_id":"1","deck_desc":"This chapter of algebraic equations focuses on getting the values of x and y alone as well as how to solve linear and exponential equations. ","deck_brief":"","deck_status":"Draft","card_cnt":"47","version":"1"}},"88":{"deck_info":{"deck_id":"88","course_id":"25","deck_name":"Graphs","short_name":"Graphs ","eval_id":"1","deck_desc":"Graphs focuses on being able to interpret information that can be gathered from graphs as well as how to read different types of graphs and how data can be spread out on a graph. ","deck_brief":"","deck_status":"Draft","card_cnt":"48","version":"1"}},"89":{"deck_info":{"deck_id":"89","course_id":"25","deck_name":"Transformation Geometry","short_name":"Transformations","eval_id":"1","deck_desc":"Transformation geometry focuses on the different types of transformations which included translations, reflections and rotations as well as applying these transformations to distinct points and shapes on the Cartesian plane and moving points across the x and y-axes. ","deck_brief":"","deck_status":"Draft","card_cnt":"111","version":"1"}},"90":{"deck_info":{"deck_id":"90","course_id":"25","deck_name":"Geometry of 3D shapes ","short_name":"3D shapes ","eval_id":"1","deck_desc":"Geometry of 3D shapes focuses on being able to differenciate between a face, vertice and edge as well as the different types of 3D shapes. Some of these shapes will also be represented as nets and learners should be able to identify what shapes these nets can make. ","deck_brief":"","deck_status":"Draft","card_cnt":"58","version":"1"}},"91":{"deck_info":{"deck_id":"91","course_id":"25","deck_name":"Probability ","short_name":"Probability ","eval_id":"1","deck_desc":"Probability looks at the possibility of an event occuring and in this deck we look at the basic terms used in probability as well as how to do probability calculations. ","deck_brief":"","deck_status":"Draft","card_cnt":"30","version":"1"}}}}
[13/Apr/2026:14:42:43] (root_api-) token =  IP = 169.1.82.177
[13/Apr/2026:14:42:43] (root_api-) 
[13/Apr/2026:14:42:43] (root_api-) OP=  of page root_api.php
[13/Apr/2026:14:42:43] (root_api-) Final JSON =  { "status":"error",
					"message":"Invalid Session",
					"Errorcode":"err100",
					"data":{}}
[13/Apr/2026:14:42:43] (root_api-) token = 66bbc87451ad3590b670daae13ee0619 IP = 169.1.82.177
[13/Apr/2026:14:42:43] (root_api-) op => api-refresh ,clid => 66bbc87451ad3590b670daae13ee0619 ,serviceName => common_data ,
[13/Apr/2026:14:42:43] (root_api-) OP= api-refresh of page root_api.php
[13/Apr/2026:14:42:43] (root_api-) serviceName common_data
[13/Apr/2026:14:42:43] (root_api-) Final JSON =  {"status":"ok","message":"","Errorcode":"","data":""}
[13/Apr/2026:14:42:47] (root_api-) token = 66bbc87451ad3590b670daae13ee0619 IP = 169.1.82.177
[13/Apr/2026:14:42:47] (root_api-) op => getSwitchRoles ,user_id => 184 ,org_id => 1 ,clid => 66bbc87451ad3590b670daae13ee0619 ,serviceName => user_data ,
[13/Apr/2026:14:42:47] (root_api-) OP= getSwitchRoles of page root_api.php
[13/Apr/2026:14:42:47] (root_api-) Query~SELECT count(u.user_id) as cnt FROM tbl_user_master u WHERE u.isActive = '1' AND u.user_id ='184'~2026-04-13 14:42:47:0447~2026-04-13 14:42:47~success
[13/Apr/2026:14:42:47] (root_api-) Query~SELECT count(1) as cnt FROM tbl_org  WHERE status = 'Active' AND org_id ='1'~2026-04-13 14:42:47:0447~2026-04-13 14:42:47~success
[13/Apr/2026:14:42:47] (root_api-) Query~SELECT count(1) as cnt FROM tbl_user_org u WHERE u.status = 'Active' AND u.user_id ='184' AND  org_id ='1'~2026-04-13 14:42:47:0447~2026-04-13 14:42:47~success
[13/Apr/2026:14:42:47] (root_api-) serviceName user_data
[13/Apr/2026:14:42:47] (root_api-) Query~SELECT u.user_org_id, u.org_id, u.role_id, um.email,o.org_name,r.role_name,o.short_name,CONCAT(u.role_id,'_',u.org_id) as user_org_role
            FROM tbl_user_org u 
            inner join tbl_org o on u.org_id=o.org_id
            inner join tbl_role_master r on r.role_id=u.role_id
            inner join tbl_user_master um on u.user_id = um.user_id
            where u.user_id= 184~2026-04-13 14:42:47:0447~2026-04-13 14:42:47~success
[13/Apr/2026:14:42:47] (root_api-) Final JSON =  {"status":"ok","message":"User Details fetched Successfully!!","Errorcode":"","data":[{"user_org_id":"225","org_id":"1","role_id":"3","email":"alhenaude20@gmail.com","org_name":"University Of Cape Town","role_name":"Learner","short_name":"UCT","user_org_role":"3_1"},{"user_org_id":"226","org_id":"2","role_id":"2","email":"alhenaude20@gmail.com","org_name":"C-Institute","role_name":"Educator","short_name":"C-Institute","user_org_role":"2_2"}]}
[13/Apr/2026:14:42:47] (root_api-) token = 66bbc87451ad3590b670daae13ee0619 IP = 169.1.82.177
[13/Apr/2026:14:42:47] (root_api-) op => getcourses ,learner_id => 184 ,course_status =>  ,current_role => 2_2 ,org_id => 2 ,layout => grid ,clid => 66bbc87451ad3590b670daae13ee0619 ,serviceName => course_data ,
[13/Apr/2026:14:42:47] (root_api-) OP= getcourses of page root_api.php
[13/Apr/2026:14:42:47] (root_api-) Query~SELECT count(u.user_id) as cnt FROM tbl_user_master u WHERE u.isActive = '1' AND u.user_id ='184'~2026-04-13 14:42:47:0447~2026-04-13 14:42:47~success
[13/Apr/2026:14:42:47] (root_api-) Query~SELECT count(1) as cnt FROM tbl_org  WHERE status = 'Active' AND org_id ='2'~2026-04-13 14:42:47:0447~2026-04-13 14:42:47~success
[13/Apr/2026:14:42:47] (root_api-) Query~SELECT count(1) as cnt FROM tbl_user_org u WHERE u.status = 'Active' AND u.user_id ='184' AND  org_id ='2'~2026-04-13 14:42:47:0447~2026-04-13 14:42:47~success
[13/Apr/2026:14:42:47] (root_api-) serviceName course_data
[13/Apr/2026:14:42:47] (root_api-) Query~SELECT c.*, org.org_name, IF((SELECT count(*) from tbl_course c1 WHERE c.course_parent_id= c1.course_parent_id AND (c.version + 1) = c1.version) > 0, 'PublishedWithDraft',c.status) AS status, ce.ed_role
                FROM tbl_course c
                INNER JOIN tbl_org org ON c.org_id=org.org_id
                INNER JOIN tbl_course_educator ce ON ce.course_id=c.course_id AND user_id = '184'
                WHERE org.org_id = 2 AND (c.status IN('Published') OR (c.status='Draft' AND c.version = 1))ORDER BY c.course_id DESC~2026-04-13 14:42:47:0447~2026-04-13 14:42:47~success
[13/Apr/2026:14:42:47] (root_api-) Query~SELECT course_id, COUNT(course_id) AS enroll_user_count FROM tbl_course_users 
                WHERE course_id IN (25) GROUP BY course_id~2026-04-13 14:42:47:0447~2026-04-13 14:42:47~success
[13/Apr/2026:14:42:47] (root_api-) Query~SELECT first_name, last_name FROM tbl_user_master WHERE user_id = 184~2026-04-13 14:42:47:0447~2026-04-13 14:42:47~success
[13/Apr/2026:14:42:47] (root_api-) Query~SELECT course_id, course_image FROM tbl_course_images
                WHERE course_id IN (25) AND course_image IS NOT NULL AND course_image !=''  AND sequence = '1' AND status ='Active'~2026-04-13 14:42:47:0447~2026-04-13 14:42:47~success
[13/Apr/2026:14:42:47] (root_api-) Query~SELECT tce.course_id, um.first_name, um.last_name FROM tbl_course_educator tce LEFT JOIN tbl_user_master um ON um.user_id = tce.user_id
				WHERE tce.course_id IN (25) AND tce.ed_role IN('author') GROUP BY tce.course_id~2026-04-13 14:42:47:0447~2026-04-13 14:42:47~success
[13/Apr/2026:14:42:47] (root_api-) Query~SELECT cd.course_id, COUNT(dc.card_id) AS cardscount 
                FROM tbl_deck_card dc
                INNER JOIN tbl_course_deck cd ON dc.deck_id = cd.deck_id
                INNER JOIN tbl_deck d ON d.deck_id = cd.deck_id AND d.deck_type='main'
                INNER JOIN tbl_card card ON card.card_id = dc.card_id AND card.card_type = 'main'
                WHERE cd.course_id IN (25) AND card.question_text!='' AND card.answer_text !=''
                GROUP BY cd.course_id~2026-04-13 14:42:47:0447~2026-04-13 14:42:47~success
[13/Apr/2026:14:42:47] (root_api-) Query~SELECT cd.course_id, COUNT(1) AS deckcount 
                FROM tbl_course_deck cd 
                INNER JOIN tbl_deck d ON d.deck_id = cd.deck_id AND d.deck_type='main'
                WHERE cd.course_id IN(25)
                GROUP BY cd.course_id~2026-04-13 14:42:47:0447~2026-04-13 14:42:47~success
[13/Apr/2026:14:42:47] (root_api-) Query~SELECT preference FROM tbl_course_user_preference WHERE course_id = '25' AND status IN('active') AND user_id = '184' ORDER BY action_time DESC~2026-04-13 14:42:47:0447~2026-04-13 14:42:47~success
[13/Apr/2026:14:42:47] (root_api-) Query~SELECT COUNT(1) as prefLikeCount FROM tbl_course_user_preference WHERE course_id = '25' AND status IN('active')~2026-04-13 14:42:47:0447~2026-04-13 14:42:47~success
[13/Apr/2026:14:42:47] (root_api-) Query~SELECT COUNT(1) AS courseEnrolled FROM tbl_course_users cu WHERE cu.user_id = '184'~2026-04-13 14:42:47:0447~2026-04-13 14:42:47~success
[13/Apr/2026:14:42:47] (root_api-) Final JSON =  {"status":"ok",
                "message":"",
                "Errorcode":"",
                "data":{"my_course_count":1,"info":[{"course_id":"25","course_name":"Grade 8 Mathematics","course_version":"1","course_short_name":null,"course_status":null,"course_desc":"Grade 8 Mathematics aims to build strong foundational skills required to prepare learners for higher grades of mathematics and develop strong, appropriate mathematical reasoning and logical thinking. ","course_brief":null,"creation_date":"2025-07-16 13:21:03","launch_date":"271 day's ago","created_by":"184","organization_name":"C-Institute","background_color":"","text_color":"","course_image":"https:\/\/bo.coglearn.cioinfotech.com\/upload\/courses\/course-thumb.jpg","course_enroll_user_count":0,"deck_count":"26","cardscount":"1327","course_like_count":"","course_like_percentage":100,"course_duration":"16","courseStatus":"Draft","ed_role":"author","author":"Alhena Udemans"}],"preference":"","courseEnrolled":"0","layout":"grid"}}
[13/Apr/2026:14:42:47] (root_api-) token = 66bbc87451ad3590b670daae13ee0619 IP = 169.1.82.177
[13/Apr/2026:14:42:47] (root_api-) op => getCourseRoles ,clid => 66bbc87451ad3590b670daae13ee0619 ,serviceName => course_data ,
[13/Apr/2026:14:42:47] (root_api-) OP= getCourseRoles of page root_api.php
[13/Apr/2026:14:42:47] (root_api-) serviceName course_data
[13/Apr/2026:14:42:47] (root_api-) Query~SELECT tld.optionid, tld.display_name,tld.data_value FROM tbl_lookup_detail tld, tbl_lookup tl WHERE tl.dev_name = 'course_role' AND tl.keyid=tld.keyid ORDER BY tld.sequence~2026-04-13 14:42:47:0447~2026-04-13 14:42:47~success
[13/Apr/2026:14:42:47] (root_api-) Final JSON =  {"status":"ok","message":"Roles fetched Successfully","Errorcode":"","data":[{"optionid":"13","display_name":"Author","data_value":"author"},{"optionid":"14","display_name":"Editor","data_value":"editor"},{"optionid":"12","display_name":"Approver","data_value":"approver"},{"optionid":"15","display_name":"Reader","data_value":"reader"}]}
[13/Apr/2026:14:42:47] (root_api-) token = 66bbc87451ad3590b670daae13ee0619 IP = 169.1.82.177
[13/Apr/2026:14:42:47] (root_api-) op => allcourses ,learner_id => 184 ,course_status =>  ,clid => 66bbc87451ad3590b670daae13ee0619 ,serviceName => course_data ,
[13/Apr/2026:14:42:47] (root_api-) OP= allcourses of page root_api.php
[13/Apr/2026:14:42:47] (root_api-) Query~SELECT count(u.user_id) as cnt FROM tbl_user_master u WHERE u.isActive = '1' AND u.user_id ='184'~2026-04-13 14:42:47:0447~2026-04-13 14:42:47~success
[13/Apr/2026:14:42:47] (root_api-) serviceName course_data
[13/Apr/2026:14:42:47] (root_api-) allcourses : [1] Get Course master data and organisation name.
[13/Apr/2026:14:42:47] (root_api-) Query~SELECT c.*, org.org_name
                        FROM tbl_course c
                        INNER JOIN tbl_org org ON c.org_id=org.org_id
                        WHERE c.status IN('Published') AND c.course_id NOT IN(
                SELECT cu.course_id FROM tbl_course_users cu
            WHERE cu.user_id = '184')ORDER BY c.course_id DESC~2026-04-13 14:42:47:0447~2026-04-13 14:42:47~success
[13/Apr/2026:14:42:47] (root_api-) allcourses : [2] Get the count of courses user enrolled in.
[13/Apr/2026:14:42:47] (root_api-) Query~SELECT course_id, COUNT(course_id) AS enroll_user_count FROM tbl_course_users 
                WHERE course_id IN (1) GROUP BY course_id~2026-04-13 14:42:47:0447~2026-04-13 14:42:47~success
[13/Apr/2026:14:42:47] (root_api-) Query~SELECT course_id, course_image  FROM tbl_course_images
            WHERE course_id IN (1) AND sequence = '1'~2026-04-13 14:42:47:0447~2026-04-13 14:42:47~success
[13/Apr/2026:14:42:47] (root_api-) Query~SELECT cd.course_id, COUNT(1) AS cardscount 
             FROM tbl_deck_card dc
             INNER JOIN tbl_course_deck cd ON dc.deck_id = cd.deck_id
             INNER JOIN tbl_deck d ON d.deck_id = cd.deck_id AND d.deck_type='main'
             INNER JOIN tbl_card card ON card.card_id = dc.card_id AND card.card_type = 'main'
             WHERE cd.course_id IN (1)
             GROUP BY cd.course_id~2026-04-13 14:42:47:0447~2026-04-13 14:42:47~success
[13/Apr/2026:14:42:47] (root_api-) Query~SELECT cd.course_id, COUNT(1) AS deckcount 
            FROM tbl_course_deck cd 
            INNER JOIN tbl_deck d ON d.deck_id = cd.deck_id AND d.deck_type='main'
            WHERE cd.course_id IN(1)
            GROUP BY cd.course_id~2026-04-13 14:42:47:0447~2026-04-13 14:42:47~success
[13/Apr/2026:14:42:47] (root_api-) Query~SELECT preference FROM tbl_course_user_preference WHERE course_id = '1' AND status IN('active')AND user_id = '184' ORDER BY action_time DESC~2026-04-13 14:42:47:0447~2026-04-13 14:42:47~success
[13/Apr/2026:14:42:47] (root_api-) Query~SELECT COUNT(1) as prefLikeCount FROM tbl_course_user_preference WHERE course_id = '1' AND status IN('active')~2026-04-13 14:42:47:0447~2026-04-13 14:42:47~success
[13/Apr/2026:14:42:47] (root_api-) Final JSON =  {"status":"ok",
            "message":"",
            "Errorcode":"",
            "data":{"info":[{"course_id":"1","course_name":"Applied Complexity Science","course_short_name":null,"course_status":"","course_desc":"This course will expose students to a range of niche complexity science areas. It will share both theoretical insights, as well as offer practice tools to ensure development of applied complexity skills to tame modern interlocked problems.","course_brief":"Develop skill and tools to deal with taming complex problems","creation_date":"2022-05-04 12:57:26","launch_date":"1440 day's ago","created_by":"1","organization_name":"University Of Cape Town","course_image":"https:\/\/bo.coglearn.cioinfotech.com\/upload\/courses\/course_1\/CE applied complexity science.png","course_enroll_user_count":"122","deck_count":"20","cardscount":"961","course_like_count":"54","course_like_percentage":100,"course_duration":"50"}],"preference":""}}
[13/Apr/2026:14:42:48] (root_api-) token = 66bbc87451ad3590b670daae13ee0619 IP = 169.1.82.177
[13/Apr/2026:14:42:48] (root_api-) op => api-refresh ,clid => 66bbc87451ad3590b670daae13ee0619 ,serviceName => common_data ,
[13/Apr/2026:14:42:48] (root_api-) OP= api-refresh of page root_api.php
[13/Apr/2026:14:42:48] (root_api-) serviceName common_data
[13/Apr/2026:14:42:48] (root_api-) Final JSON =  {"status":"ok","message":"","Errorcode":"","data":""}
