5 บทเรียนจากการบูรณาการระบบ EHR ข้ามพรมแดน

ฉันใช้เวลาหลายเดือนในการเชื่อมต่อระเบียนผู้ป่วยระหว่างสองประเทศที่แตกต่างกัน ฉันได้ทำงานร่วมกับ Lead Business Analyst ที่มีประสบการณ์ทางคลินิกถึงสิบปี แนวทางของเธอเปลี่ยนมุมมองที่ฉันมีต่อซอฟต์แวร์ด้านสุขภาพไปอย่างสิ้นเชิง

นี่คือห้าบทเรียนจากโปรเจกต์นั้น

  1. การทำ Terminology mapping ยากกว่าการทำ Data mapping

วิศวกรมักมองว่าการบูรณาการเป็นเพียงปัญหาเรื่อง schema คุณแค่จับคู่ฟิลด์ A เข้ากับฟิลด์ B ก็จบ แต่ในด้านสุขภาพ วิธีนี้ใช้ไม่ได้ผล

ระบบหนึ่งใช้ ICD-10 ในขณะที่อีกระบบใช้ ICD-11 ซึ่งไม่สามารถจับคู่กันได้อย่างสมบูรณ์ ระบบหนึ่งใช้ LOINC สำหรับผลแล็บ ในขณะที่อีกระบบใช้รหัสภายในแบบเก่า

BA ของเราสร้าง concept crosswalk ขึ้นมาก่อนที่เราจะเริ่มเขียนโค้ด เธอจับคู่รหัสท้องถิ่นเข้ากับชุดมาตรฐานอย่าง SNOMED CT หากไม่มีสิ่งนี้ ความหมายทางคลินิกของเราจะผิดเพี้ยนไป

การจับคู่ฟิลด์ที่ผิดพลาดทำให้เกิดค่าที่ผิด แต่การจับคู่คำศัพท์ (terminology mapping) ที่ผิดพลาดจะทำให้เกิดค่าที่ดูเหมือนจะถูกต้องแต่ผิดหลักคลินิก ซึ่งอย่างหลังนั้นอันตรายกว่ามาก

  1. กฎหมายข้อมูลกำหนดโครงสร้างสถาปัตยกรรมตั้งแต่เนิ่นๆ

ฉันเคยคิดว่าเราจะออกแบบโมเดลข้อมูลก่อนแล้วค่อยจัดการเรื่องการปฏิบัติตามกฎระเบียบ (compliance) ทีหลัง แต่ฉันคิดผิด

ข้อมูลผู้ป่วยที่ข้ามพรมแดนต้องเผชิญกับกฎหมายหลายฉบับ เช่น HIPAA หรือ GDPR บางประเทศสั่งห้ามไม่ให้ข้อมูลสุขภาพออกนอกพรมแดนของตน

BA ของเราทำงานร่วมกับทีมกฎหมายตั้งแต่เนิ่นๆ เธอตัดสินใจว่าฟิลด์ใดสามารถทำสำเนา (replicate) ได้ และฟิลด์ใดจำเป็นต้องทำ de-identification

สิ่งนี้เปลี่ยนสถาปัตยกรรมของเรา เราสร้าง federated query layer แทนที่จะใช้ฐานข้อมูลที่ทำสำเนาไว้ที่เดียว (single replicated database) และเราได้เพิ่มแท็กการจัดประเภทข้อมูล (data classification tags) ลงใน schema ของเราโดยตรง

เชิญผู้เชี่ยวชาญด้านการปฏิบัติตามกฎระเบียบและ BA เข้ามาร่วมประชุมก่อนที่คุณจะเริ่มออกแบบโมเดลข้อมูล

  1. มาตรฐานเพียงอย่างเดียวไม่เพียงพอ

ทั้งสองระบบรองรับ HL7 อย่างไรก็ตาม ระบบหนึ่งใช้ HL7 v2 ในขณะที่อีกระบบใช้ FHIR R4 ทำให้ไม่สามารถสื่อสารกันได้หากไม่มีเลเยอร์การแปลข้อมูล (translation layer)

แม้แต่ภายใน FHIR เรายังพบปัญหาความไม่สอดคล้องของโปรไฟล์ (profile mismatches) ทั้งสองระบบอ้างว่าปฏิบัติตามมาตรฐาน แต่กลับใช้คู่มือการนำไปใช้งาน (implementation guides) ที่แตกต่างกัน

อย่าทึกทักเอาเองว่าการบูรณาการจะเป็นเรื่องง่ายเพียงเพราะระบบรองรับมาตรฐาน ให้ถามถึงเวอร์ชันและโปรไฟล์ที่เฉพาะเจาะจงเสมอ และควรเผื่อเวลาสำหรับเลเยอร์ตัวปรับเปลี่ยน (adapter layer) ด้วย

  1. แผนภาพเวิร์กโฟลว์ช่วยตรวจพบกรณีขอบ (edge cases) ที่ซ่อนอยู่

เมื่อก่อนฉันเคยมองว่าแผนภาพเวิร์กโฟลว์เป็นเพียงเอกสารส่วนเกิน แต่ฉันคิดผิด

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

สิ่งเหล่านี้ไม่ใช่กรณีขอบ (edge cases) ในโรงพยาบาล แต่มันเกิดขึ้นทุกวัน

แผนภาพเหล่านี้เปลี่ยนโมเดลข้อมูลของเรา เราได้เพิ่มแนวคิดเรื่องช่วงเวลาการดูแล (care episode) เพื่อติดตามการดูแลที่ต่อเนื่องระหว่างทั้งสองระบบ

  1. สร้างพจนานุกรมคำศัพท์ส่วนกลางตั้งแต่เนิ่นๆ

คำอย่าง encounter หรือ discharge มีความหมายต่างกันในแต่ละระบบ เราเสียเวลาไปมากเพราะทีมตีความคำศัพท์ต่างกัน

BA ของเราสร้างพจนานุกรมคำศัพท์ส่วนกลาง (shared glossary) ขึ้นมา ผู้มีส่วนได้ส่วนเสียทุกคนได้ตรวจสอบและยอมรับคำนิยามเหล่านี้ และเราได้อ้างอิงเอกสารนี้ในทุกๆ ข้อกำหนด (requirement)

ให้สันนิษฐานไว้ก่อนว่าคำศัพท์เฉพาะทางทุกคำอาจมีความคลุมเครือ และกำหนดนิยามไว้ในเอกสารที่มีทั้งสองฝ่ายลงนามรับรอง

Summary

BA ที่เก่งทำได้มากกว่าแค่การเขียน ticket พวกเขาทำหน้าที่เป็นสถาปนิกสำหรับข้อจำกัดด้านกฎระเบียบและความหมายทางคลินิก หากคุณกำลังสร้างซอฟต์แวร์ที่ซับซ้อน อย่ามองว่าบทบาทนี้เป็นภาระส่วนเกิน เพราะมันจะช่วยป้องกันไม่ให้ความสำเร็จทางเทคนิคกลายเป็นความล้มเหลวทางคลินิก

Source: https://dev.to/arpit_mishra1/5-things-i-learned-working-with-a-lead-ba-on-a-cross-border-ehr-system-5545

Optional learning community: https://t.me/GyaanSetuAi