อุบัติการณ์ ความชุก และตัวหารที่ถูกต้อง: ระบาดวิทยาเบื้องหลังต้นทุนความเจ็บป่วยและแบบจำลองมาร์คอฟ

Health EconomicsClinical Epidemiology ResearchMethodology and Research Design TH
อุบัติการณ์ ความชุก และตัวหารที่ถูกต้อง: ระบาดวิทยาเบื้องหลังต้นทุนความเจ็บป่วยและแบบจำลองมาร์คอฟ
On this page

Read the English version

บทคัดย่อ

อุบัติการณ์ (incidence) ความชุก (prevalence) ความเสี่ยง (risk) อัตรา (rate) และออดส์ (odds) เป็นคนละปริมาณ แม้กล่าวถึงโรคเดียวกัน แต่ละค่าต้องมีตัวหารและกรอบเวลาก่อนเข้าแบบจำลองเศรษฐศาสตร์ ความชุกนับผู้ป่วยที่มีอยู่ อุบัติการณ์เติมผู้ป่วยใหม่ ส่วนการหายและการตายระบายออก การรอดชีวิตนานขึ้นจึงเพิ่มความชุกได้โดยไม่เกิดโรคเร็วขึ้น การสุ่มจากผู้ป่วยที่มีอยู่ยังพบคนที่ป่วยนานได้มากกว่า ตัวอย่างสมมติของเราแยกค่าดูแลรายปีจากต้นทุนตลอดช่วงป่วยที่คิดลดและรวมไว้กับผู้ป่วยใหม่ พร้อมระบุข้อประมาณเมื่อใช้ประชากรทั้งหมดแทนเวลาปลอดโรค การป้องกันเปลี่ยนต้นทุนอนาคตก่อนผู้ป่วยเดิมหมด ต้นทุนตลอดช่วงป่วยที่หลีกเลี่ยงได้จึงไม่ใช่เงินสดที่ประหยัดทันที การแปลงความเสี่ยงระยะยาวเป็นความน่าจะเป็นรายปีต้องสมมติรูปแบบอัตราอันตรายตามเวลา และต้องคำนึงถึงการตายที่ขัดขวางการเกิดโรค ความแตกต่างเหล่านี้ช่วยให้แพทย์ตรวจจำนวนจากทะเบียน เลือกค่าป้อนแบบจำลอง และอธิบายว่ายอดต้นทุนตอบคำถามนโยบายใด


Visual summary · ภาพสรุป

ระบุตัวหารก่อนคิดต้นทุน

เริ่มจากเหตุการณ์ คนที่มีสิทธิเกิดเหตุการณ์ และช่วงสังเกต ความเสี่ยง (risk) คือความน่าจะเป็นของเหตุการณ์ใหม่ภายในช่วงเวลาที่ระบุ: $R(t)=\Pr(T\leq t)$ โดย $T$ คือเวลาจนเกิดเหตุการณ์ในคนที่เริ่มต้นยังไม่เกิดเหตุการณ์

อัตราอุบัติการณ์ (incidence rate) หารเหตุการณ์ใหม่ด้วยบุคคล-เวลาปลอดโรค (disease-free person-time) ซึ่งคือเวลาสะสมขณะที่คนยังถูกสังเกตและมีสิทธิเกิดโรค เมื่อนับการเกิดโรคครั้งแรก การสะสมหยุดเมื่อเกิดโรค เสียชีวิต หรือสิ้นสุดการสังเกต

ออดส์ (odds) เปรียบเทียบความน่าจะเป็นของเหตุการณ์กับส่วนเติมเต็ม: $O=R/(1-R)$ จึงไม่ใช่สัดส่วนคนที่เกิดโรค ความชุก ณ จุดเวลา (point prevalence) หารผู้ป่วยที่มีอยู่ด้วยประชากรที่ยังมีชีวิต ณ เวลาเดียวกัน รวมคนที่วินิจฉัยมาก่อนแล้ว [1]

แหล่งสะสมเปลี่ยนตามการเข้าและระยะเวลาป่วย

ความชุกเป็นจำนวนสะสม (stock) คือแหล่งผู้ป่วยที่มีอยู่ ณ จุดเวลา อุบัติการณ์เป็นการไหล (flow) ของผู้ป่วยใหม่ ส่วนการหายและการตายระบายออก ในประชากรคงที่ที่อุบัติการณ์และระยะเวลาป่วยคงที่ $P/(1-P)=I\bar D$ [2] โดย $I$ คืออุบัติการณ์ต่อบุคคล-เวลาปลอดโรค และ $\bar D$ คือระยะเวลาป่วยเฉลี่ย

ค่าประมาณ $P\approx I\bar D$ ใช้ได้เมื่อความชุกต่ำ การเปลี่ยนวิธีวินิจฉัย การย้ายถิ่น หรือการรอดชีวิตอาจทำให้ความสัมพันธ์ในภาวะคงที่ใช้ไม่ได้ การรอดชีวิตนานขึ้นเพิ่มความชุกได้แม้การเกิดโรคไม่เพิ่ม

การสุ่มจากผู้ป่วยที่มีอยู่มีโอกาสพบคนที่ป่วยนานมากกว่า เพราะคนเหล่านั้นอยู่ให้สุ่มได้นานกว่า [3] นี่คืออคติจากความยาว (length bias) ตัวอย่างเช่นนี้อาจมีผู้เสียชีวิตเร็วและต้นทุนช่วงวินิจฉัยน้อยเกินไป จึงควรศึกษาช่วงเหล่านี้จากกลุ่มผู้ป่วยรายใหม่ (incident cohort) ที่เริ่มติดตามตั้งแต่เกิดโรค

ผู้ป่วยใหม่เติมเข้าแหล่งสะสม การหายและการตายระบายออก การอยู่นานขึ้นทำให้แหล่งสะสมใหญ่ขึ้นได้แม้ไม่มีผู้ป่วยใหม่เข้าเร็วขึ้น ความชุกเทียบผู้ป่วยในแหล่งสะสมกับประชากรที่มีชีวิต ณ จุดเวลาเดียวกัน

ค่าดูแลรายปีหรือต้นทุนของผู้ป่วยใหม่

ต้นทุนความเจ็บป่วยแบบอิงความชุก (prevalence-based cost-of-illness) นับค่าดูแลผู้มีโรคในช่วงปีปฏิทิน จึงช่วยประมาณภาระรายปีและวางแผนบริการ การนำความชุก ณ จุดเวลาคูณต้นทุนรายปีเป็นตัวแทนอย่างง่าย รายจ่ายจริงยังขึ้นกับคนที่เข้าและออกระหว่างปี

ต้นทุนความเจ็บป่วยแบบอิงอุบัติการณ์ (incidence-based cost-of-illness) รวมต้นทุนโรคในอนาคตไว้กับผู้ป่วยรายใหม่ [5] จึงช่วยตีมูลค่าการป้องกัน เพราะการป้องกันการเกิดโรคหลีกเลี่ยงเส้นทางการดูแลในอนาคต แบบจำลองที่เริ่มจากผู้ป่วยที่มีอยู่ก็ประเมินการป้องกันได้ หากจำลองอุบัติการณ์ที่เปลี่ยนไปด้วย

ประชากรสมมติของเรามี 1,000,000 คน อุบัติการณ์เท่ากับ 2 ต่อ 1,000 บุคคล-ปีปลอดโรค ระยะเวลาป่วยเฉลี่ย 5 ปี ค่าดูแลรายปีเท่ากับ 20,000 บาทต่อคน และอัตราคิดลดรายปี 3.00% ทั้งหมดเป็นค่าป้อนเพื่อการสอน ไม่ใช่ต้นทุนไทยที่สังเกตจริงหรือคำแนะนำเชิงนโยบาย

การคิดลด (discounting) ให้น้ำหนักรายจ่ายอนาคตน้อยกว่ารายจ่ายปัจจุบัน สมมติว่าผู้ป่วยใหม่แต่ละคนจ่ายเท่ากันทุกสิ้นปีเป็นเวลา 5 ปี ระยะเวลาป่วยเฉลี่ยเพียงอย่างเดียวไม่ได้รองรับตารางรายจ่ายนี้ จึงต้องระบุเป็นสมมติฐานเพิ่มเติมของตัวอย่าง

ประชากรเดียวกัน คำถามต้นทุนต่างกัน

ให้ $N$ คือประชากร $c$ คือต้นทุนรายปี และ $d$ คืออัตราคิดลด คำนวณก่อนปัดเศษ

  1. ประมาณจำนวนผู้ป่วยที่มีอยู่

    \[ P=\frac{I\bar D}{1+I\bar D} \]

    ความชุกเท่ากับ 0.99% จึงมีผู้ป่วยที่มีอยู่ประมาณ 9,901 คน

  2. คิดค่าดูแลรายปี

    \[ C_P=NPc \]

    ค่าดูแลรายปีประมาณ 198.0 ล้านบาท

  3. ประมาณกลุ่มผู้ป่วยใหม่

    \[ n\approx NI \]

    มีผู้ป่วยใหม่ประมาณ 2,000 รายต่อปี เมื่อใช้ประชากรทั้งหมดแทนเวลาปลอดโรคโดยประมาณ

  4. รวมต้นทุนอนาคตไว้กับกลุ่มนั้น

    \[ C_I=nc\sum_{t=1}^{5}(1+d)^{-t} \]

    กลุ่มผู้ป่วยใหม่มีต้นทุนตลอดช่วงป่วยที่คิดลดแล้ว 183.2 ล้านบาท

ผลลัพธ์: การลดการเกิดโรคลงครึ่งหนึ่งหลีกเลี่ยงต้นทุนตลอดช่วงป่วยของกลุ่มรายปีนั้นได้ 91.6 ล้านบาท

จำนวนเกิดโรคใช้ข้อประมาณเมื่อความชุกต่ำ จำนวนที่สอดคล้องกับประชากรคงที่คือ $N(1-P)I$ ผู้ป่วยเดิมยังต้องรับการดูแล ต้นทุนตลอดช่วงป่วยที่หลีกเลี่ยงได้ไม่ใช่เงินสดที่ประหยัดทันที และต้องนับต้นทุนโครงการแยกด้วย

โค้ด R burden.R
# Illustrative inputs. Writes: stdout only.
population <- 1000000; incidence <- 2 / 1000
duration <- 5; annual_cost <- 20000; discount <- 0.03
prevalence <- incidence * duration / (1 + incidence * duration)
new_cases <- population * incidence
cohort_cost <- new_cases * annual_cost * sum((1 + discount)^-(1:duration))
cat("Prevalence (%):", formatC(100 * prevalence, format = "f", digits = 2), "\n")
cat("Existing cases (rounded):", round(population * prevalence), "\n")
cat("Annual care (THB m):", formatC(population*prevalence*annual_cost/1e6, 1, format="f"), "\n")
cat("New cases per year (approximate):", new_cases, "\n")
cat("Cohort lifetime cost (THB m):", formatC(cohort_cost / 1e6, 1, format="f"), "\n")
cat("Halving onset avoids (THB m):", formatC(cohort_cost / 2e6, 1, format="f"), "\n")
ผลลัพธ์จากการรัน burden.log
Prevalence (%): 0.99
Existing cases (rounded): 9901
Annual care (THB m): 198.0
New cases per year (approximate): 2000
Cohort lifetime cost (THB m): 183.2
Halving onset avoids (THB m): 91.6
การคำนวณจำนวนผู้ป่วยที่มีอยู่และกลุ่มผู้ป่วยใหม่จากค่าสมมติ THB m หมายถึงล้านบาท
แถบนี้แสดงแนวคิด ไม่ใช่ข้อมูลผู้ป่วยหรือมาตราส่วนเวลาเชิงตัวเลข เวลาปลอดโรคที่แรเงาเป็นตัวหารของอัตราอุบัติการณ์ ต้นทุนรายปีนับค่าดูแลภายในปีของผู้ป่วยเดิมและใหม่ ต้นทุนผู้ป่วยใหม่ติดตามเฉพาะคนที่เริ่มป่วยในปีนั้นไปสู่ค่าดูแลอนาคตพร้อมการคิดลด

แปลงความเสี่ยงให้ตรงรอบแบบจำลอง

อัตราอันตราย (hazard) คืออัตราเกิดเหตุการณ์ ณ ขณะหนึ่งในคนที่ยังไม่เกิดเหตุการณ์ เมื่ออัตราอันตราย $r$ คงที่และไม่มีเหตุการณ์แข่งขัน ความน่าจะเป็นต่อรอบคือ $p=1-e^{-rt}$ [4] ความยาวรอบ $t$ ต้องใช้หน่วยเวลาเดียวกับอัตราอันตราย

สมมติความเสี่ยงใน 5 ปีเท่ากับ 30.00% ออดส์เท่ากับ 0.429 การรักษาความน่าจะเป็นของการรอดเหตุการณ์ให้ตรงเดิมให้ความเสี่ยงรายปี 6.89% แต่การหารความเสี่ยงด้วยจำนวนปีให้ 6.00% การหารเช่นนั้นละเลยจำนวนคนที่ยังไม่เกิดเหตุการณ์ที่ลดลง

ใช้ความน่าจะเป็นที่แปลงแล้วโดยยังไม่ปัดเศษในแบบจำลอง หากอัตราอันตรายเปลี่ยนตามอายุหรือเวลาหลังเริ่มป่วย ให้ใช้แบบจำลองที่รองรับการเปลี่ยนนั้น

โค้ด R rates.R
# Illustrative inputs; constant hazard, no competing event. Writes: stdout only.
risk <- 0.30
years <- 5
odds <- risk / (1 - risk)
hazard <- -log(1 - risk) / years
annual_risk <- 1 - exp(-hazard)
divided_risk <- risk / years
cat("Odds:", formatC(odds, format = "f", digits = 3), "\n")
cat("Annual risk (%):", formatC(100 * annual_risk, format = "f", digits = 2), "\n")
cat("Risk divided by years (%):", formatC(100 * divided_risk, format = "f", digits = 2), "\n")
ผลลัพธ์จากการรัน rates.log
Odds: 0.429
Annual risk (%): 6.89
Risk divided by years (%): 6.00
ออดส์และความเสี่ยงรายปีจากค่าสมมติ เมื่ออัตราอันตรายคงที่และไม่มีเหตุการณ์แข่งขัน

ความชุกใช้แทนการเปลี่ยนสถานะไม่ได้

แบบจำลองมาร์คอฟ (Markov model) ย้ายคนระหว่างสถานะด้วยความน่าจะเป็นที่มีเงื่อนไขตามสถานะปัจจุบัน แบบจำลองเริ่มจากกลุ่มผู้ป่วยใหม่หรือประชากรที่มีผู้ป่วยอยู่แล้วก็ได้ ความชุกกำหนดสัดส่วนคนเริ่มต้น ส่วนการเกิดโรค การหาย และการตายกำหนดการเคลื่อนย้ายต่อไป

การตายก่อนเกิดโรคเป็นความเสี่ยงแข่งขัน (competing risk) เพราะทำให้เกิดโรคภายหลังไม่ได้ การถือว่าการตายเหล่านี้เป็นเพียงการเซ็นเซอร์ (censoring) ทำให้ $1-\mathrm{KM}$ ประมาณอุบัติการณ์สะสมสูงเกินจริง [6] โดย KM หมายถึงความน่าจะเป็นของการรอดเหตุการณ์จาก Kaplan-Meier ใช้ Aalen-Johansen ซึ่งรวมอัตราอันตรายของเหตุการณ์กับการรอดพ้นเหตุการณ์แข่งขันทุกชนิด

แปลงทางออกที่แข่งขันกันร่วมกัน เพราะใช้ประชากรเสี่ยงเดียวกัน รวมโอกาสอยู่ในสถานะเดิมเพื่อให้แต่ละแถวของความน่าจะเป็นมีผลรวมเท่ากับหนึ่ง เก็บค่าความไม่แน่นอนไว้คู่กับอัตราที่นำเข้า

แก้ตัวหารก่อนเพิ่มความซับซ้อน

  • จำนวนครั้งรับบริการกลายเป็นจำนวนเริ่มป่วย

    การเบิกจ่ายซ้ำทำให้อุบัติการณ์ดูสูงเกินจริงและทำให้การประหยัดจากการป้องกันดูมากขึ้น

    วิธีแก้: ตัดคนซ้ำและกำหนดช่วงย้อนหลังที่ปลอดโรคก่อนระบุการเกิดโรคครั้งแรก

  • ตัวอย่างผู้รอดชีวิตถูกใช้แทนต้นทุนเริ่มป่วย

    ตอนป่วยที่ยาวครองตัวอย่างความชุก จึงบดบังต้นทุนและการเสียชีวิตช่วงแรก

    วิธีแก้: เชื่อมกลุ่มผู้ป่วยรายใหม่กับต้นทุนตั้งแต่การวินิจฉัยและรวมคนที่ออกจากกลุ่มเร็ว

  • ต้นทุนที่ประหยัดตลอดช่วงป่วยกลายเป็นเงินสดปีนี้

    มีการนับค่าดูแลอนาคตที่หลีกเลี่ยงได้ก่อนผู้ป่วยเดิมจะออกจากแหล่งสะสม

    วิธีแก้: จำลองรายจ่ายตามปีปฏิทินแยกต่างหาก โดยรวมต้นทุนโครงการและการรักษาผู้ป่วยเดิม

ตรวจจำนวนกับเวลาติดตามที่สังเกตได้

เมื่อใช้ทะเบียนโรคหรือข้อมูลเบิกจ่ายไทย ให้ระบุการเกิดโรคครั้งแรกและตัดการรับบริการซ้ำก่อนนับผู้ป่วย จับคู่ตัวเศษกับคนที่สังเกตเวลาติดตามขณะมีสิทธิเกิดโรคได้ จำนวนที่ไม่มีบุคคล-เวลาปลอดโรคยังไม่ใช่อัตราอุบัติการณ์

บันทึกการเริ่มติดตาม โรคเดิม การตาย และการสิ้นสุดการสังเกต สำหรับต้นทุน ให้ระบุว่านับทรัพยากรของใครและใช้ราคาในปีใด อ่านต่อเรื่องอัตรา [[incidence-rate-vs-cumulative-incidence]] และเหตุการณ์แข่งขัน [[cumulative-incidence-competing-risks-kaplan-meier-th]]

อภิธานศัพท์

Person-time (บุคคล-เวลา)
เวลาสะสมขณะที่แต่ละคนมีสิทธิเกิดเหตุการณ์และยังอยู่ในการสังเกต เป็นตัวหารของอัตราอุบัติการณ์
Stock and flow (จำนวนสะสมและการไหล)
จำนวนสะสมนับคนที่มีอยู่ ณ จุดเวลา ส่วนการไหลนับการเข้าหรือออกตามเวลา
Length bias (อคติจากความยาว)
ตอนป่วยที่ยาวมีโอกาสเข้าตัวอย่างความชุกมากกว่า เพราะอยู่ให้สุ่มได้นานกว่า
Competing risk (ความเสี่ยงแข่งขัน)
เหตุการณ์ที่ขัดขวางผลลัพธ์ที่สนใจ เช่น เสียชีวิตก่อนเริ่มเกิดโรค
Discounting (การคิดลด)
การให้น้ำหนักต้นทุนอนาคตน้อยกว่าต้นทุนปัจจุบัน โดยระบุอัตรารายปีและเวลาจ่าย

เอกสารอ้างอิง

  1. Noordzij M, Dekker FW, Zoccali C, Jager KJ. Measures of disease frequency: prevalence and incidence. Nephron Clin Pract. 2010;115(1):c17-c20. doi:10.1159/000286345
  2. Alho JM. On prevalence, incidence, and duration in general stable populations. Biometrics. 1992;48(2):587-592. doi:10.2307/2532312
  3. Zelen M, Feinleib M. On the theory of screening for chronic diseases. Biometrika. 1969;56(3):601-614. doi:10.1093/biomet/56.3.601
  4. Fleurence RL, Hollenbeak CS. Rates and probabilities in economic modelling: transformation, translation and appropriate application. Pharmacoeconomics. 2007;25(1):3-6. doi:10.2165/00019053-200725010-00002
  5. Drummond MF, Sculpher MJ, Claxton K, Stoddart GL, Torrance GW. Methods for the Economic Evaluation of Health Care Programmes. 4th ed. Oxford: Oxford University Press; 2015. ISBN 9780199665884
  6. Putter H, Fiocco M, Geskus RB. Tutorial in biostatistics: competing risks and multi-state models. Stat Med. 2007;26(11):2389-2430. doi:10.1002/sim.2712

ลำดับการเรียนในชุดนี้

  1. คู่มือชุดบทความเศรษฐศาสตร์สุขภาพ: อ่านหลักฐานก่อนอ่านต้นทุน
  2. อุบัติการณ์ ความชุก และตัวหารที่ถูกต้อง: ระบาดวิทยาเบื้องหลังต้นทุนความเจ็บป่วยและแบบจำลองมาร์คอฟ (บทความนี้)
  3. รูปแบบการศึกษา แบบจำลองทางสถิติ และเป้าหมายการประมาณค่า: แต่ละรูปแบบการศึกษาประมาณค่าอะไรได้จริง
  4. อัตราส่วนความเสี่ยง อัตราส่วนออดส์ ผลต่างความเสี่ยง และจำนวนที่ต้องรักษา: ตารางสองคูณสองเดียว คำตอบสี่แบบ
  5. อัตราส่วนฮาซาร์ดไม่ใช่อัตราส่วนความเสี่ยง: ข้อสมมติความเป็นสัดส่วนของฮาซาร์ด เวลารอดชีพเฉลี่ยแบบจำกัดช่วง และข้อมูลนำเข้าแบบจำลอง
  6. ความบังเอิญ อคติ และปัจจัยกวน: เหตุใดความสัมพันธ์ที่พบจึงยังไม่ใช่ผลของการรักษา
  7. พ้นจากพีระมิดหลักฐาน: ระดับความเชื่อมั่นตามแนวทาง GRADE และการเลือกข้อมูลประสิทธิผลเข้าสู่แบบจำลองทางเศรษฐศาสตร์
  8. จากความไวสู่ต้นทุนต่อผู้ป่วยหนึ่งรายที่ตรวจพบ: ค่าทำนายผลบวก ความชุก และเศรษฐศาสตร์ของการคัดกรอง
  9. ต้นทุนของใคร ณ ปีใด: มุมมองการวิเคราะห์ ต้นทุนค่าเสียโอกาส การปรับค่าเงินเฟ้อ และการปรับลดค่าตามเวลา
  10. ปีสุขภาวะ ปีสุขภาวะที่สูญเสีย และค่าอรรถประโยชน์: เรากำลังวัดอะไรกันแน่
  11. อัตราส่วนต้นทุนประสิทธิผลส่วนเพิ่มและระนาบต้นทุนประสิทธิผล: ทางเลือกที่ด้อยกว่า ผลประโยชน์สุทธิ และเกณฑ์ 160,000 บาทต่อปีสุขภาวะ
  12. ต้นไม้การตัดสินใจ แบบจำลองมาร์คอฟ และการวิเคราะห์ความไวเชิงความน่าจะเป็น: แบบจำลองแปลงหลักฐานเป็นการตัดสินใจได้อย่างไร
  13. คุ้มค่าไม่ได้แปลว่าจ่ายไหว มีประสิทธิภาพไม่ได้แปลว่าเป็นธรรม: ผลกระทบด้านงบประมาณและความเป็นธรรมทางสุขภาพ

ประเด็นสำคัญ

  • ระบุตัวหารที่มีสิทธิเกิดเหตุการณ์และกรอบเวลาก่อนเลือกค่าป้อนแบบจำลองเศรษฐศาสตร์
  • ความชุกสะท้อนทั้งการเกิดโรคและระยะเวลาป่วย แหล่งสะสมที่ใหญ่ขึ้นอาจเกิดจากการรอดชีวิตที่ดีขึ้น
  • ภาระรายปีช่วยวางแผนบริการ ส่วนกลุ่มที่เริ่มป่วยรวมต้นทุนอนาคตที่เกี่ยวข้องกับการป้องกัน
  • แปลงอัตราอันตรายร่วมกันเมื่อทางออกแข่งขัน และคงความไม่แน่นอนคู่กับค่าประมาณ
  • แยกต้นทุนตลอดช่วงป่วยที่หลีกเลี่ยงได้ออกจากเงินสดที่ประหยัดปัจจุบันและต้นทุนโครงการ

อ่านต่อในวิกิ: Rate-Based Measures in Clinical Research: Cumulative Incidence vs Incidence Rate · ทำไม 1 ลบ Kaplan-Meier จึงประเมินความเสี่ยงสูงเกินจริงเมื่อผู้ป่วยอาจเสียชีวิตไปก่อน

0
ถึงนักอ่านชาวไทยและต่างชาติทำความเข้าใจบริบททางการแพทย์ของผมอ่านต่อ →ถึงนักอ่านชาวไทยและต่างชาติทำความเข้าใจเนื้อหาของผมที่นอกเหนือจากการแพทย์อ่านต่อ →

ความคิดเห็น

ยังไม่มีความคิดเห็น มาเป็นคนแรกกันเลย

เข้าสู่ระบบเพื่อแสดงความคิดเห็น