# การเสนอและพิจารณาร่างกฎหมาย เราทำการจัดเก็บข้อมูลกระบวนการนิติบัญญัติและสถานะของร่างกฎหมายที่เข้าสู่การพิจารณาของรัฐสภา โดยมี **`Bill`** เป็นตัวแทนของร่างกฎหมายแต่ละฉบับ ร่างกฎหมายแต่ละฉบับสามารถจำแนกประเภท แบ่งออกเป็น 3 ประเภท (Property `classification` ใน **`Bill`**) ดังนี้: 1. `NORMAL_BILL` (ร่างพระราชบัญญัติ): ร่างกฎหมายทั่วไปที่เสนอโดยคณะรัฐมนตรี, สมาชิกสภาผู้แทนราษฎร (สส.) หรือประชาชนผู้มีสิทธิเลือกตั้งเข้าชื่อกัน 2. `BUDGET_BILL` (ร่างพระราชบัญญัติงบประมาณรายจ่ายประจำปีงบประมาณ): ร่างกฎหมายที่เกี่ยวกับการจัดสรรงบประมาณรายจ่ายของแผ่นดิน 3. `EMERGENCY_DECREE` (พระราชกำหนด): กฎหมายซึ่งพระมหากษัตริย์ทรงตราขึ้นโดยคำแนะนำและยินยอมของคณะรัฐมนตรี โดยอาศัยอำนาจตามที่รัฐธรรมนูญวางไว้ว่าเป็นกรณีฉุกเฉิน ยกตัวอย่างร่างกฎหมายทั้ง 3 ประเภท ```graphql query Bills( $limit_a: Int $where_a: BillWhere $limit_b: Int $where_b: BillWhere $limit_c: Int $where_c: BillWhere ) { normal_bills: bills(limit: $limit_a, where: $where_a) { id title classification } budget_bills: bills(limit: $limit_b, where: $where_b) { id title classification } emergency_decree: bills(limit: $limit_c, where: $where_c) { id title classification } } ``` Variables: ```json { "limit_a": 1, "where_a": { "classification": { "eq": "NORMAL_BILL" } }, "limit_b": 1, "where_b": { "classification": { "eq": "BUDGET_BILL" } }, "limit_c": 1, "where_c": { "classification": { "eq": "EMERGENCY_DECREE" } } } ``` [Run this query in the playground](https://politigraph.wevis.info/graphql?explorerURLState=N4IgJg9gxgrgtgUwHYBcQC4QEcYIE4CeABAEICWANhQM4AUAOkkUQCQVlxkoD6AhukQCSqRsxYB3ABb4EfAeSoB1aXgSjW7TjwBGA4SnUSVs3aUoVlMw5q7coekU1ZSZd+ecurGASiLB1SBB4cLwU3Nrm1AIRVHQ2KAJsHLa8ADRELqqJmbK8vv5OzGRg6swoXBRqhURQFLzU1GQAZmRQvOUQSOoAvuraMGAA5gg6kdGRtPGJ8eHpOdnG4fmlRMUr5SiVK7X1jS1tHV1OvU4IiHjDSFAE3GAIUKoI47GTyQkab3ZzxguuUMvVNbVDZbao7BrNVrtMidHqMbogVIgABuvDwZF42kq1AwIAKzHoIBmvEJAgAjKl1IScnxSX4VoTwXsoYc6fjmBzCQgsHTCQA5ADyACUALIAQQAMtwSIIJRLCSsTsxupSnISZto6RSqSAaZqMPTqoy6hD9tDYQb2RyiFyeQbCSQAKoAEQA4gBRAAq0tl8pAip6qoJRM+UC1QZtusWYctDJATMhBxhXVj1WD3N5IHdIvdQo9fIAwgBNbjO90FoXu90K6pKognBHdIA) ### ผู้เสนอและผู้ร่วมเสนอร่างกฎหมาย ร่างกฎหมายแต่ละฉบับจะจำแนกที่มาของร่างกฎหมายได้จากผู้เสนอ 4 ประเภท (Property `creator_type` ใน **`Bill`**) 1. `POLITICIAN` สมาชิกสภาผู้แทนราษฎร 2. `ASSEMBLY` คณะรัฐมนตรี 3. `PEOPLE` ประชาชนผู้มีสิทธิเลือกตั้ง 4. `UNKNOWN` ใช้ในกรณีที่ไม่รู้ว่าผู้เสนอร่างกฎหมายอยู่ในกลุ่มใด โดยร่างกฎหมายแต่ละฉบับจะสามารถเชื่อมไปหาข้อมูลรายละเอียดของผู้เสนอ (Property `creators` ใน **`Bill`**) โดยมีเงื่อนไขตามประเภทผู้เสนอดังนี้: - ในกรณีที่กฎหมายถูกเสนอโดย _คณะรัฐมนตรี_ จะเชื่อมไปหา _คณะรัฐมนตรีผู้เสนอ_ ที่เป็น **`Organization`** - ในกรณีที่กฎหมายถูกเสนอโดย _สมาชิกสภาผู้แทนราษฎร_ จะเชื่อมไปหา _สมาชิกสภาผู้แทนราษฎรผู้เสนอ_ ที่เป็น **`Person`** - นอกจากนั้นร่างกฎหมายที่ถูกเสนอโดย*สมาชิกสภาผู้แทนราษฎร* จะสามารถมี**ผู้ร่วมเสนอ**อื่น ๆ ได้อีก (Property `co_creators` ใน **`Bill`**) โดยจะเชื่อมไปหา _สมาชิกสภาผู้แทนราษฎรผู้ร่วมเสนอ_ ที่เป็น **`Person`** - ในกรณีที่กฎหมายถูกเสนอโดย _ประชาชนผู้มีสิทธิเลือกตั้ง_ จะ**ไม่มีการเชื่อม**ไปหาข้อมูลผู้เสนอใด ๆ เลย ยกตัวอย่างร่างกฎหมายที่ถูกเสนอโดย _สมาชิกสภาผู้แทนราษฎร_ ```graphql query Bills($limit: Int, $where: BillWhere) { bills(limit: $limit, where: $where) { id title classification creator_type creators { ... on Person { id name } } co_creators { id name } } } ``` Variables: ```json { "limit": 1, "where": { "creator_type": { "eq": "POLITICIAN" } } } ``` [Run this query in the playground](https://politigraph.wevis.info/graphql?explorerURLState=N4IgJg9gxgrgtgUwHYBcQC4QEcYIE4CeABAEICWANhQM4AUAJBWXGSukQJKoA0R9A7gAt8CduSoB1YXgQBKIsAA6SIkQBGlGrSYs2fHa15CR7AdLkLlq1WTBXrKVhQT3VUCgENq1MgDMyUB6OEEiuRFAyQRB4APooBAAOLirWEQhReNSWKdZEAHQFRCFEAAr41MVKOblEtmG5SB6I9UQAvmHt1VAQMWkZWVU1tXbVqo3N1Z2qna0g3CAAbh54ZB5qztQYIINEiiAGKHvsAIzc9nvGMkfZuXt9KNFxiS4YNzV7CFjXeyUA8gAyHAAKhwAMIcACCADk9h17DMQK0gA) ### กระบวนการพิจารณาร่างกฎหมาย หลังจากที่ร่างกฎหมายแต่ละฉบับถูกเสนอเข้าสู่สภา จะเข้าสู่กระบวนการพิจารณาตามลำดับขั้นตอนต่าง ๆ ซึ่งจะถูกจัดเก็บอยู่ในรูปแบบรายการของอีเวนต์ (Property `events` ใน **`Bill`**) > **Note** > > สำหรับรายละเอียดลำดับขั้นตอนกระบวนการพิจารณาร่างกฎหมาย > สามารถศึกษาเพิ่มเติมได้ที่คู่มือ > > [กระบวนการพิจารณาร่างกฎหมาย](https://parliamentwatch.wevis.info/legislative-process) เนื่องจากแต่ละขั้นตอนมีรายละเอียดข้อมูลที่ต้องบันทึกแตกต่างกัน ระบบจึงใช้ Node แต่ละแบบที่แตกต่างกัน เพื่อแทนประเภทของขั้นตอนการพิจารณานั้น ๆ ดังนี้: 1. `BillVoteEvent` ขั้นตอนการลงมติ 2. `BillMergeEvent` ขั้นตอนการรวมร่างกฎหมายเป็นร่างหลัก 3. `BillRoyalAssentEvent` ขั้นตอนการนำขึ้นทูลเกล้าทูลกระหม่อมถวาย 4. `BillEnactEvent` ขั้นตอนการประกาศเป็นกฎหมาย 5. `BillRejectEvent` ขั้นตอนการประกาศร่างตกไป ##### ขั้นตอนการลงมติ (`BillVoteEvent`) ขั้นตอนการลงมติคืออีเวนต์ที่บันทึกการพิจารณาและลงคะแนนเสียงของรัฐสภา เพื่อตัดสินว่าจะรับรองหรือเห็นชอบร่างกฎหมายฉบับนั้นหรือไม่ โดยระบบจะแยกกระบวนการออกเป็น 2 สภาหลัก คือ สภาผู้แทนราษฎร (House of Representatives) และ วุฒิสภา (Senate) ลำดับขั้นการพิจารณาของแต่ละสภาจะถูกแบ่งออกเป็น 3 วาระหลัก (Property `classification` ใน **`BillVoteEvent`**) ดังนี้: 1. `MP_1` การพิจารณาของสภาผู้แทนราษฎร วาระที่ 1 2. `MP_2` การพิจารณาของสภาผู้แทนราษฎร วาระที่ 2 3. `MP_3` การพิจารณาของสภาผู้แทนราษฎร วาระที่ 3 4. `SENATE_1` การพิจารณาของวุฒิสภา วาระที่ 1 5. `SENATE_2` การพิจารณาของวุฒิสภา วาระที่ 2 6. `SENATE_3` การพิจารณาของวุฒิสภา วาระที่ 3 ในการพิจารณาแต่ละวาระ อาจมีการลงมติในรายละเอียดที่แตกต่างกัน ข้อมูลเหล่านี้จะเชื่อมโยงไปยัง **`VoteEvent`** ซึ่งเก็บรายละเอียดผลคะแนน และการลงคะแนนเสียงรายบุคคล (Property `vote_events` ใน **`BillVoteEvent`**) ยกตัวอย่างการพิจารณาของสภาผู้แทนราษฎร ร่างพระราชบัญญัติงบประมาณรายจ่ายประจำปีงบประมาณ พ.ศ. 2568 วาระที่ 3 ```graphql query BillVoteEvents($where: BillVoteEventWhere) { billVoteEvents(where: $where) { id title classification bills { id title classification } vote_events { id title classification result } } } ``` Variables: ```json { "where": { "id": { "eq": "b5813539-007a-47de-b09b-22f127e15aa8" } } } ``` [Run this query in the playground](https://politigraph.wevis.info/graphql?explorerURLState=N4IgJg9gxgrgtgUwHYBcQC4QEcYIE4CeABAEICWANhQGoQoICiAbsigM4AUAJAO4AW+BOlKUadRi1QB1AXgQBKIsAA6SIkQBGo2vWatO-QcN6yFS1evVkwFyyjIoKCW+qgUAhmzZkAZmSju9hBILpqibOZqllY2UdH2js5xlm6e3n4BQSHJAL6hTOIA+giS7JHRMaHqCU5VRKlevv6BZMF1cmwwFCiheVF9OSAANCBM7nhk7hpObBggKlHKIIZyS8IL0UvWa+UVSwhYO0saAKwAHACMAMwnVwCcALQADE8A7O4PACyvYAgPGk87hoHgAmEE+C4g14IC4ndzuM5LXq2AYgHJAA) ##### ขั้นตอนการรวมร่าง (`BillMergeEvent`) ขั้นตอนการรวมร่างคืออีเวนต์ที่เกิดขึ้นเมื่อมีการเสนอร่างกฎหมายที่มีเนื้อหาหรือหลักการในทำนองเดียวกันหลายฉบับเข้าสู่สภา โดยสภามีมติให้พิจารณาร่างเหล่านั้นไปพร้อมกัน และกำหนดให้มีร่างฉบับใดฉบับหนึ่งเป็น **"ร่างหลัก"** เพื่อใช้เป็นฐานในการพิจารณาในวาระถัดไป ในเชิงโครงสร้างข้อมูล ร่างพระราชบัญญัติ **`Bill`** ทุกฉบับที่อยู่ในกลุ่มการพิจารณาเดียวกัน จะเชื่อมโยงไปหา **`BillMergeEvent`** เดียวกัน เพื่อแสดงถึงจุดร่วมของการพิจารณา โดย **`BillMergeEvent`** จะเก็บ**ข้อมูลไอดี** (`id`) ของร่างกฎหมายฉบับที่สภาลงมติให้ใช้เป็นร่างหลักในการพิจารณาต่อไปไว้ (Property `main_bill_id` ใน **`BillMergeEvent`**) ยกตัวอย่างการพิจารณาร่างพระราชบัญญัติ เป็นร่างหลัก ของสภาผู้แทนราษฎร ```graphql query BillMergeEvents($where: BillMergeEventWhere) { billMergeEvents(where: $where) { id main_bill_id total_merged_bills bills { id title } } } ``` Variables: ```json { "where": { "id": { "eq": "f54b6def-9b4f-41d0-a6f3-72bdc7ae36af" } } } ``` [Run this query in the playground](https://politigraph.wevis.info/graphql?explorerURLState=N4IgJg9gxgrgtgUwHYBcQC4QEcYIE4CeABAEICWANhQLL4DmCAogG7IoDOAFACQDuAFvgTpSlGvSatUAdUF4EASiLAAOkiJEARmNp4GLNlwFCRfOYuVqNGsmCvW4AQzJIA+tqqvb9jSggpHCldEPQQwdzF2Hy1Iy3VrGzt4hJQyFAoEaIBfexykLJAAGhBmRzwyR00M9gwQVXiVEGN5RpF6hMbvDDiEjUaELFaiRoAzAFYAFk0ANjAEEYBaAE5NCcWJgEYwAAYFx2mRgGYFgHYAJk0wKBPHBEPpxxHG7Ny1AqygA) ##### ขั้นตอนการนำขึ้นทูลเกล้าทูลกระหม่อมถวาย (`BillRoyalAssentEvent`) ขั้นตอนการนำขึ้นทูลเกล้าทูลกระหม่อมถวาย คืออีเวนต์หลังจากที่รัฐสภาให้ความเห็นชอบร่างพระราชบัญญัติแล้ว และนายกรัฐมนตรีดำเนินการนำร่างกฎหมายดังกล่าวขึ้นทูลเกล้าทูลกระหม่อมถวายเพื่อให้พระมหากษัตริย์ทรงลงพระปรมาภิไธย ก่อนจะประกาศใช้เป็นกฎหมายต่อไป โดย **`BillRoyalAssentEvent`** จะเก็บข้อมูลผลพระบรมราชวินิจฉัย หรือสถานะการตอบรับของร่างกฎหมายไว้ (Property `result` ใน **`BillRoyalAssentEvent`**) ยกตัวอย่างขั้นตอนการนำขึ้นทูลเกล้าทูลกระหม่อมถวายของร่างพระราชบัญญัติควบคุมเครื่องดื่มแอลกอฮอล์ ```graphql query BillRoyalAssentEvents($where: BillRoyalAssentEventWhere) { billRoyalAssentEvents(where: $where) { id result bills { id title } } } ``` Variables: ```json { "where": { "id": { "eq": "0beac91b-e207-4476-acc7-09c91741caf9" } } } ``` [Run this query in the playground](https://politigraph.wevis.info/graphql?explorerURLState=N4IgJg9gxgrgtgUwHYBcQC4QEcYIE4CeABAEICWANhQEoQECGFAggM4vIoCiAbhywBQASAO4ALfAnSlKNOo1btUPDgHVxeBAEoiwADpIiRAEYzaDZmw7LUAsRKkj1WnfsOGyYV240sYFFF6GJlQsLgZu7p7hEShkKBQIgUQAvl6pSMkgADQg3PR4ZPRGCSwYIHrhuiB2GlVSFRFVHnVhEYZVCFgtVQAMRgj0UACcAIxGALQIAEw9AOzjACwLswBs44NQ8z1DwyOzCyNQ9ABmQ1VJ6YbpmclAA) ##### ขั้นตอนการประกาศเป็นกฎหมาย (`BillEnactEvent`) ขั้นตอนการประกาศเป็นกฎหมาย คืออีเวนต์ที่ร่างกฎหมายได้รับการประกาศใน ราชกิจจานุเบกษา ซึ่งเป็นขั้นตอนสุดท้ายของกระบวนการนิติบัญญัติ เพื่อส่งผลให้ร่างพระราชบัญญัติดังกล่าวมีผลบังคับใช้เป็นกฎหมายอย่างเป็นทางการ ยกตัวอย่างขั้นตอนการประกาศเป็นกฎหมายของร่างพระราชบัญญัติควบคุมเครื่องดื่มแอลกอฮอล์ ```graphql query BillEnactEvents($where: BillEnactEventWhere) { billEnactEvents(where: $where) { id start_date bills { id title } } } ``` Variables: ```json { "where": { "id": { "eq": "775ece1f-79ef-42eb-9412-51edc58fe235" } } } ``` [Run this query in the playground](https://politigraph.wevis.info/graphql?explorerURLState=N4IgJg9gxgrgtgUwHYBcQC4QEcYIE4CeABAEICWANhQKJICGUK1AbsigM4AUAJAO4AW+BOlKUa9RizYB1QXgQBKIsAA6SIkQBGY2gyatUXAUJF85i5Wo0ayYK9fYo6eFAH0wdFAnsbtVdpbq1jZ2QcEoZCgU3mFEAL72CUhxIAA0IMzOZHSa0ewYIKpBKiDG8iUiRcElthWBwRolCFh1JQDsbQCsCFAIAIwAZgC0bQCcCMMALABMCJpDo5N900OdfQhgUJ0AHAMI0wDMnSU+8YlqKXFAA) ##### ขั้นตอนการประกาศร่างตกไป (`BillRejectEvent`) ขั้นตอนการประกาศร่างตกไป คืออีเวนต์ที่บันทึกการสิ้นสุดกระบวนการพิจารณาของร่างพระราชบัญญัติในกรณีที่ไม่ได้รับความเห็นชอบ หรือมีเหตุการณ์ที่ทำให้ร่างกฎหมายนั้นไม่สามารถดำเนินตามขั้นตอนนิติบัญญัติต่อไปได้จนจบ โดย **`BillRejectEvent`** จะเก็บข้อมูลเหตุผลหรือสาเหตุที่ทำให้ร่างกฎหมายตกไป เช่น สภาผู้แทนราษฎรมีมติไม่รับหลักการในวาระที่ 1, ร่างกฎหมายถูกถอนโดยผู้เสนอ, หรือร่างกฎหมายตกไปเนื่องจากมีการยุบสภา (Property `reject_reason` ใน **`BillRejectEvent`**) ยกตัวอย่างขั้นตอนการประกาศร่างตกไปของร่างพระราชบัญญัติกองทุนการประมงแห่งชาติ ซึ่ง ตกไปเนื่องจากยุบสภา ```graphql query BillRejectEvents($where: BillRejectEventWhere) { billRejectEvents(where: $where) { id reject_reason bills { id title } } } ``` Variables: ```json { "where": { "id": { "eq": "55fa6fde-3ed3-4b4e-9665-bccadc5646f2" } } } ``` [Run this query in the playground](https://politigraph.wevis.info/graphql?explorerURLState=N4IgJg9gxgrgtgUwHYBcQC4QEcYIE4CeABAEICWANhQEoIBWCUKAogG7IoDOAFACQDuAC3wJ0pSjXqMW7VAHVheBAEoiwADpIiRAEYTaDJmw48hIsQMUq1m7drJhbdpYZQB9JQENOEJE+16VJw2Wnb2jqFhKGQoFAj+RAC+TslIiSAANCCsnnhknjpxnBggGqHqIGZKFWJlYRUONSFh2hUIWE0VAKxdAGaeAGy9YAgAtADMCGDjowAsOrNjAJwDA12jOlBQnmBQXQOzQwBMFQmp2qnpiUA) ### สถานะปัจจุบันของร่างกฎหมาย ร่างกฎหมายแต่ละฉบับจะแสดงสถานะปัจจุบัน ซึ่งสรุปมาจากอีเวนต์ล่าสุดที่เกิดขึ้นในกระบวนการพิจารณาร่างกฎหมายนั้น ๆ (Property `status` ใน **`Bill`**) โดยสถานะที่เป็นไปได้มีทั้งหมด 4 รูปแบบ ดังนี้: 1. `IN_PROGRESS` (**กำลังดำเนินการ**): ใช้สำหรับร่างกฎหมายที่ยังอยู่ภายใต้กระบวนการพิจารณาของรัฐสภา (วาระ 1-3) หรืออยู่ในขั้นตอนการนำขึ้นทูลเกล้าฯ โดยที่กระบวนการพิจารณายังไม่เสร็จสิ้นหรือยังไม่มีคำสั่งสุดท้าย 2. `MERGED` (**ถูกรวมร่าง**): ใช้สำหรับร่างกฎหมายที่ถูกมติสภาให้ "รวมร่าง" เข้ากับร่างฉบับหลักฉบับอื่น ทำให้การติดตามสถานะหลังจากนี้ของร่างฉบับนี้จะสิ้นสุดลง และต้องไปติดตามต่อที่ร่างหลักแทน (ดูรายละเอียดเพิ่มเติมใน **`BillMergeEvent`**) 3. `ENACTED` (**ออกเป็นกฎหมาย**): สถานะสิ้นสุดในทางบวก หมายถึงร่างพระราชบัญญัติได้รับพระปรมาภิไธยและลงประกาศในราชกิจจานุเบกษาเพื่อบังคับใช้เป็นกฎหมายเรียบร้อยแล้ว (**`BillEnactEvent`**) 4. `REJECTED` (**ตกไป**): สถานะสิ้นสุดในทางลบ หมายถึงกระบวนการพิจารณาสิ้นสุดลงเนื่องจากร่างกฎหมายถูกตีตก, ถูกถอน, หรือตกไปตามเงื่อนไขของรัฐธรรมนูญ (**`BillRejectEvent`**) ## การอัพเดตข้อมูลและสถานะการเผยแพร่ การเสนอและกระบวนการพิจารณาร่างกฎหมาย จะถูก [ระบบ Automation](https://github.com/wevisdemo/politigraph-automation) Scrape ข้อมูลมาจากเว็บไซต์ [ระบบสารสนเทศด้านนิติบัญญัติ](https://lis.parliament.go.th/index/index.php) ของสำนักงานเลขาธิการสภาผู้แทนราษฎรรายสัปดาห์เข้ามาในระบบ