ติดตั้ง Snowstorm Terminology Server และนำเข้า SNOMED CT release file (RF)

ในการ implement SNOMED CT ถ้าเราต้องเอา release file (RF) ไปเข้าสู่ฐานข้อมูลและจัดการเรื่องฟีเจอร์ต่าง ๆ เองทั้งหมด จะต้องใช้ความพยายามค่อนข้างสูง

Terminology server คือโปรแกรมที่จัดการความยุ่งยากเหล่านั้นให้เราหมดแล้ว เราแค่ต้อง import RF เข้าไป จากนั้นก็ใช้งานผ่าน API (terminology service) จะทำให้เราใช้งาน SNOMED CT ได้ง่ายกว่ามากครับ

ช่วงที่ผ่านมาผมได้มีโอกาสลอง deploy Snowstorm ผ่านทาง Docker จึงได้นำวิธีที่ทำมาแชร์ให้ทุกท่านครับ

Snowstorm เป็น Terminology server ของทาง SNOMED เอง มี API 2 แบบให้ใช้คือ Native Snowstorm API กับ FHIR terminology service API ไว้มีโอกาสผมมาบอกวิธีใช้ API ต่อไปครับ รอบนี้เป็นการ deploy server ก่อน

ต้องบอกก่อนว่าผมก็ไม่ใช่ expert สาย infra อะไรนะครับ ทำเล็ก ๆ พอใช้ทดสอบพอได้ แต่ถ้าใช้ใน production จริงไม่รู้มันต้องทำยังไงเหมือนกันครับ ท่านใดเชี่ยวชาญเรื่องนี้แชร์กันได้ครับ 😄

ขั้นตอนโดยสรุป

ขั้นที่ 1: เปิด Virtual Machine (VM) ใหม่

ในวิดีโอคือผมเป็นที่ DigitalOcean โดยผมเปิดเป็น Ubuntu

ขั้นที่ 2: Install Docker

ทำตามขั้นตอนในลิงค์นี้ https://docs.docker.com/engine/install/ubuntu/

ขั้นที่ 3: Install Docker Compose

ทำตามขั้นตอนในลิงค์นี้ https://docs.docker.com/compose/install/

ขั้นที่ 4: Clone Snowstorm

จาก GitHub นี้ https://github.com/IHTSDO/snowstorm

ขั้นที่ 5: แก้ vm.max_map_count

โดยใช้คำสั่ง

sysctl -w vm.max_map_count=262144

ขั้นที่ 6: run docker-compose

docker-compose up -d

ขั้นที่ 7: Import SNOMED-CT RF

รายละเอียดตามหน้านี้ https://github.com/IHTSDO/snowstorm/blob/master/docs/loading-snomed.md

ขั้นตอนคือ

  1. สร้าง import job จากใน Swagger จะได้ ID มา
  2. ส่ง SNOMED-CT release file ขึ้นไป
  3. ตรวจเช็คสถานะเป็นระยะจนสำเร็จ

มีคำแนะนำเพิ่มเติมอย่างไรแจ้งได้นะครับ

หมายเหตุ: ภาพ featured image โดย Sergey Pesterev จาก Unsplash

Leave a Reply

Your email address will not be published.