Open source / Community Edition

Community Edition manual

The latest available installation and usage manual for the HealthTAG open-source edition.

Product
HealthTAG Community Edition
Manual language
Thai
Source type
Open source

Separate product line

Community Edition is a separate open-source codebase from the Data Source Node currently used by HealthTAG. Commands, services, and configuration files from the two products are not interchangeable.

Contents

The source manual is available in Thai. Product status and support navigation are provided in English.

ข้อควรระวังก่อนติดตั้ง

รหัสผ่าน พอร์ต และข้อมูลรับรองการเข้าใช้ระบบในตัวอย่างมาจากคู่มือ Community Edition เดิม โปรดใช้เฉพาะในเครือข่ายทดสอบที่แยกจากระบบจริง เปลี่ยนข้อมูลรับรองทุกค่าก่อนเชื่อมต่อระบบจริง และห้ามใช้ข้อมูลผู้ป่วยจริงในการทดสอบ

การติดตั้ง HAPI FHIR Server สำหรับการจัดเก็บข้อมูลของโรงพยาบาล

ความต้องการขั้นต่ำของเครื่องเซิร์ฟเวอร์

  1. หน่วยประมวลผลกลาง 2 หน่วยขึ้นไป (CPU ที่มี 2 Cores ขึ้นไป)
  2. หน่วยความจำของคอมพิวเตอร์ 4 GB ขึ้นไป (RAM ที่มีขนาด 4 GB ขึ้นไป)
  3. พื้นที่จัดเก็บข้อมูล 20 GB ขึ้นไป
  4. ระบบปฏิบัติการแบบ Linux (Ubuntu เวอร์ชั่น 18.04 ขึ้นไป)

ขั้นตอนการติดตั้งโปรแกรมสำหรับเครื่องเซิร์ฟเวอร์

ติดตั้ง Docker Engine

  1. อัปเดต package index และติดตั้ง package ที่ต้องใช้
sudo apt-get update
sudo apt-get install ca-certificates curl gnupg lsb-release
  1. เพิ่ม Docker GPG key
curl -fsSL https://download.docker.com/linux/ubuntu/gpg \
  | sudo gpg --dearmor -o /usr/share/keyrings/docker-archive-keyring.gpg
  1. เพิ่ม Docker repository
echo "deb [arch=$(dpkg --print-architecture) signed-by=/usr/share/keyrings/docker-archive-keyring.gpg] https://download.docker.com/linux/ubuntu $(lsb_release -cs) stable" \
  | sudo tee /etc/apt/sources.list.d/docker.list > /dev/null
  1. ติดตั้ง Docker Engine แล้วทดสอบด้วย hello-world
sudo apt-get update
sudo apt-get install docker-ce docker-ce-cli containerd.io
sudo docker run hello-world

(อ้างอิง https://docs.docker.com/engine/install/ubuntu/)

ติดตั้ง Docker Compose

  1. ดาวน์โหลด Docker Compose 1.29.2 ตามเวอร์ชันที่ Community Edition ใช้
sudo curl -L \
  "https://github.com/docker/compose/releases/download/1.29.2/docker-compose-$(uname -s)-$(uname -m)" \
  -o /usr/local/bin/docker-compose
  1. กำหนดสิทธิ์และตรวจสอบเวอร์ชัน
sudo chmod +x /usr/local/bin/docker-compose
docker-compose --version

(อ้างอิง https://docs.docker.com/compose/install/)

ติดตั้ง HAPI FHIR Server

  1. Clone source code จาก GitHub: https://github.com/health-tag/hospital-fhir-node

  2. สร้างไฟล์ .pgenv สำหรับฐานข้อมูล Kong โดยเปลี่ยน placeholder ก่อนใช้งาน

POSTGRES_DB=kong
POSTGRES_USER=kong
POSTGRES_PASSWORD=<CHANGE_ME_KONG_DB>
  1. สร้างไฟล์ .kongenv และใช้รหัสผ่านเดียวกับ POSTGRES_PASSWORD
KONG_PROXY_ACCESS_LOG=/dev/stdout
KONG_ADMIN_ACCESS_LOG=/dev/stdout
KONG_PROXY_ERROR_LOG=/dev/stderr
KONG_ADMIN_ERROR_LOG=/dev/stderr
KONG_ADMIN_LISTEN=0.0.0.0:8001, 0.0.0.0:8444 ssl
KONG_DATABASE=postgres
KONG_PG_HOST=db
KONG_PG_DATABASE=kong
KONG_PG_USER=kong
KONG_PG_PASSWORD=<CHANGE_ME_KONG_DB>
  1. สร้างไฟล์ .hapimysqlenv สำหรับฐานข้อมูล HAPI
MYSQL_DATABASE=ha1pi
MYSQL_USER=<CHANGE_ME_HAPI_DB_USER>
MYSQL_PASSWORD=<CHANGE_ME_HAPI_DB_PASSWORD>
MYSQL_ROOT_PASSWORD=<CHANGE_ME_HAPI_ROOT_PASSWORD>
  1. Build และเปิด container
docker-compose up --build -d
docker ps
  1. ตรวจสอบ service ภายในเครือข่ายที่กำหนด
  • Konga: http://ip_address:1337
  • HAPI UI: http://ip_address:8080
  • CSOP upload: http://ip_address:8888

ตั้งค่ารหัสสำหรับการเข้าหน้าอัพโหลดไฟล์ CSOP เข้าสู่ระบบ

เข้าสู่ระบบด้วย url http://ip_address:8888 จะแสดงหน้า Login ให้ใส่ Username ว่า admin และ password ว่า admin เช่นเดียวกัน เมื่อเข้าสู่ระบบได้แล้วให้เลือกเมนู Settings

หน้าจอแสดงภาพรวมระบบ

หน้าจอแสดงภาพรวมระบบ

ให้ทำการเปลี่ยนรหัสผ่านของ admin ใหม่และกด Update

หน้าจอแสดงขั้นตอนการเปลี่ยนรหัสผ่าน

หน้าจอแสดงขั้นตอนการเปลี่ยนรหัสผ่าน

หมายเหตุ เพื่อความปลอดภัยสำหรับระบบ ผู้จัดทำแนะนำให้เปิด port สำหรับการเข้าถึง server เพียง 1 port ดังนี้คือ 80(http) หรือ 443(https) ส่วนการเข้าถึงระบบด้วย port อื่นๆเช่น 22(ssh), 1337(KONGA), 8000-8001(KONG http), 8443-8444(KONG https), 8080(HAPI UI), 8888(Upload) ให้เข้าถึงได้เพียง intranet IP เท่านั้นโดยการจัดการที่ระดับ Network

การติดตั้งระบบ KONG API Gateway ด้วย KONGA

การตั้งค่าเริ่มต้นการใช้งาน KONGA

เข้าไปยัง http://ip_address:1337 โดยระบบจะให้สร้าง Username และ Password สำหรับ Administrator ที่ดูแลระบบ

หน้าจอการใช้งานครั้งแรกของ KONGA

หน้าจอการใช้งานครั้งแรกของ KONGA

การกรอกข้อมูลเพื่อสร้างบัญชีของ Administrator

การกรอกข้อมูลเพื่อสร้างบัญชีของ Administrator

ภายหลังการสร้างบัญชีของ Administrator เรียบร้อยแล้ว ระบบจะนำไปสู่หน้า Sign in ให้กรอก Username และ Password ที่กำหนดในขั้นตอนก่อนหน้า จากนั้นเลือก Sign in

การ Sign in เข้าใช้งาน KONGA

การ Sign in เข้าใช้งาน KONGA

การกรอกข้อมูลเพื่อเข้าระบบ KONGA

การกรอกข้อมูลเพื่อเข้าระบบ KONGA

ระบบ KONGA จะให้ผู้ใช้งานกรอกข้อมูลเพื่อเชื่อมต่อกับ KONG API Gateway โดยให้กรอกข้อมูลในการเชื่อมต่อ KONG โดยกำหนดชื่อ Connection และ KONG Admin URL ดังนี้

การกรอกข้อมูลเพื่อสร้าง Connection

การกรอกข้อมูลเพื่อสร้าง Connection

การกรอกข้อมูลเพื่อสร้าง KONG GATEWAY

การกรอกข้อมูลเพื่อสร้าง KONG GATEWAY

เมื่อติดตั้งสำเร็จ ระบบ KONGA จะแสดงผลดังรูป

หน้าจอ Dashboard การใช้งาน KONGA

หน้าจอ Dashboard การใช้งาน KONGA

การสร้าง Service สำหรับทำ Proxy API สู่ FHIR API

ข้ามหัวข้อนี้ไปที่ 2.4 การสร้าง Consumer สำหรับ KONG Administration API ได้ เพราะ Docker image ในหัวข้อ 1.2.3 มี script ตั้งค่าให้อัตโนมัติแล้ว หัวข้อ 2.2 อธิบายขั้นตอนที่ script ดำเนินการ

ภายใต้หัวข้อ Service เลือก Add New Service

การสร้าง Service ใหม่

การสร้าง Service ใหม่

ระบบจะแสดงหน้าต่าง Create Service ให้กรอกข้อมูลดังนี้

การกรอกข้อมูลเพื่อสร้าง Service fhir-api

การกรอกข้อมูลเพื่อสร้าง Service fhir-api

เมื่อสร้าง Service เรียบร้อยแล้ว ระบบจะแสดงชื่อ และรายละเอียดของ Service

รายละเอียดของ fhir-api ที่มีการสร้างเรียบร้อยแล้ว

รายละเอียดของ fhir-api ที่มีการสร้างเรียบร้อยแล้ว

เลือก Service fhir-api ที่ได้ทำการสร้างไว้ โดยระบบจะแสดงหน้าใหม่เพื่อใช้จัดการ Service

รายละเอียดของ Service fhir-api

รายละเอียดของ Service fhir-api

จัดการสร้างการเข้าถึง API โดยเลือกที่ Routes และ Add Route

การสร้าง Route ให้กับ Service fhir-api

การสร้าง Route ให้กับ Service fhir-api

กรอกข้อมูลของการสร้าง Route to FHIR API โดยการกรอกข้อมูลดังนี้

  • Name: fhir-api

  • Paths: /fhir-api (เมื่อพิมพ์เสร็จแล้วให้กด Enter)

การเพิ่มข้อมูล Route ให้กับ fhir-api

การเพิ่มข้อมูล Route ให้กับ fhir-api

การเปิดใช้งานและตั้งค่า Plugins สำหรับ FHIR API เพื่อทำการเพิ่มความปลอดภัยของ API

เลือก Plugins จากนั้นกด Add Plugin

การเพิ่ม Plugin ให้กับ Service fhir-api

การเพิ่ม Plugin ให้กับ Service fhir-api

Basic Auth

ภายใต้หมวด Authentication เลือก Basic Auth จากนั้นกด Add Plugin (เพื่อใช้ในการเข้าถึงข้อมูลจาก User Interface ของโรงพยาบาลเพื่อดูข้อมูลยาในลำดับต่อไป)

การเพิ่ม Basic Auth Plugin

การเพิ่ม Basic Auth Plugin

ระบบจะแสดงหน้าจอเพื่อให้กรอกข้อมูลเพื่อกำหนดค่า Plugin จากนั้นเลือก Add Plugin

การกำหนดค่า Basic Auth Plugin

การกำหนดค่า Basic Auth Plugin

Cors

ภายใต้หมวด Security เลือก CORS แล้วกด Add Plugin ปลั๊กอินนี้กำหนดให้เว็บแอปพลิเคชันจากโดเมนอื่นเรียก API นี้ได้

การเพิ่ม Cors Plugin

การเพิ่ม Cors Plugin

ระบบจะแสดงหน้าจอเพื่อให้กรอกข้อมูลเพื่อกำหนดค่า Plugin โดยกำหนดค่าดังนี้ จากนั้นเลือก Add Plugin เพื่อยืนยัน

  • Origins: *

  • Headers: *

  • Exposed headers: *

การกำหนดค่า Cors Plugin

การกำหนดค่า Cors Plugin

การสร้าง Service สำหรับทำ Proxy API สำหรับ KONG Administration API

ข้ามหัวข้อนี้ไปที่ 2.4 การสร้าง Consumer สำหรับ KONG Administration API ได้ เพราะ Docker image ในหัวข้อ 1.2.3 มี script ตั้งค่าให้อัตโนมัติแล้ว หัวข้อ 2.3 อธิบายขั้นตอนที่ script ดำเนินการ

ภายใต้หัวข้อ Service เลือก Add New Service

การสร้าง Service ใหม่

การสร้าง Service ใหม่

ระบบจะแสดงหน้าต่าง Create Service ให้กรอกข้อมูลดังนี้

การกรอกข้อมูลเพื่อสร้างสร้าง Service admin-api

การกรอกข้อมูลเพื่อสร้างสร้าง Service admin-api

หลังจากสร้างสำเร็จระบบจะแสดงรายละเอียด service

รายละเอียดของ Service admin-api ที่มีการสร้างเรียบร้อยแล้ว

รายละเอียดของ Service admin-api ที่มีการสร้างเรียบร้อยแล้ว

เลือก Service admin -api ที่ได้ทำการสร้างไว้ โดยระบบจะแสดงหน้าใหม่เพื่อใช้จัดการ Service เพื่อเข้าไปจัดการเส้นทางการเข้าถึง

รายละเอียดของ Service admin-api

รายละเอียดของ Service admin-api

จัดการสร้างการเข้าถึง API ด้วยการสร้าง Routes

การสร้าง Route ให้กับ Service fhir-api

การสร้าง Route ให้กับ Service fhir-api

การกรอกข้อมูลดังนี้

  • Name: admin-api

  • Paths: /admin-api (เมื่อพิมพ์เสร็จแล้วให้กด Enter)

การเพิ่มข้อมูล Route ให้กับ admin-api

การเพิ่มข้อมูล Route ให้กับ admin-api

เปิดใช้งานและตั้งค่า Plugins สำหรับ KONG Administration API เพื่อทำการเพิ่มความปลอดภัย

เลือก Plugins จากนั้นกด Add Plugin

การเพิ่ม Plugin ให้กับ Service admin-api

การเพิ่ม Plugin ให้กับ Service admin-api

Basic Auth

ภายใต้หมวด Authentication เลือก Basic Auth แล้วกด Add Plugin ปลั๊กอินนี้จำกัดการเข้าถึง Administration API ด้วย Username และ Password ที่กำหนด ข้อมูลชุดเดียวกันใช้เข้าสู่หน้าจอสำหรับเจ้าหน้าที่โรงพยาบาลที่สร้าง Username และ Password ให้ผู้ป่วย

เพิ่ม Basic Auth Plugin

เพิ่ม Basic Auth Plugin

กด Add Plugin เพื่อเพิ่ม Basic Auth

การกำหนดค่า Basic Auth Plugin

การกำหนดค่า Basic Auth Plugin

IP Restriction

ภายใต้หมวด Security เลือก IP Restriction จากนั้นกด Add Plugin ซึ่ง Plugin นี้ใช้จำกัดการเข้าถึงของ API โดยให้เข้าถึงได้จาก IP Address ที่กำหนดเท่านั้น

การเพิ่ม IP Restriction Plugin

การเพิ่ม IP Restriction Plugin

ใส่ค่า IP Intranet ของโรงพยาบาล (ที่ติดตั้ง Server ส่วนของ User Interface ของโรงพยาบาลซึ่งจะเรียก Administration API นี้)

การกำหนดค่า IP Restriction Plugin

การกำหนดค่า IP Restriction Plugin

Cors

การเปิดใช้และตั้งค่า Cors plugin ของ Administration API นี้ ตั้งค่าเหมือนกับการตั้งค่าของ FHIR API ตามหัวข้อ 2.2.1 การเปิดใช้งานและตั้งค่า Plugins สำหรับ FHIR APIสร้าง User (Consumer) สำหรับ KONG Administration API

การสร้าง Consumer เพื่อใช้งาน KONG Administration API

เลือกเมนู Consumers แล้วกด Create Consumer จากนั้นตั้งชื่อ Username ว่า admin-api

การสร้าง Consumers

การสร้าง Consumers

การสร้าง Consumers

การสร้าง Consumers

จากนั้นกด Submit Consumer เพื่อยืนยันการสร้างผู้ใช้

การยืนยันการสร้าง Consumers

การยืนยันการสร้าง Consumers

กำหนด Username และ Password สำหรับ admin-api user โดยเลือกหัวข้อ Credentials แล้วเลือก Basic จากนั้นกด Create Credentials

การกำหนดค่าสำหรับ Consumer admin-api

การกำหนดค่าสำหรับ Consumer admin-api

กำหนด Username และ Password ที่ต้องการ

การตั้งค่า username password สำหรับ Basic Auth

การตั้งค่า username password สำหรับ Basic Auth

เลือก Submit เพื่อยืนยันการสร้าง Credential สำหรับผู้ใช้งานนี้

การยืนยันสร้าง credential

การยืนยันสร้าง credential

การดำเนินการกับไฟล์ CSOP

การนำไฟล์ CSOP เข้าสู่ระบบผ่าน User Interface เพื่ออัพโหลดไฟล์

  1. เข้าสู่ http://ip_address:8888 ด้วย Username และ Password ที่ตั้งไว้

หน้าจอการ Login เข้าระบบ File browser

หน้าจอการ Login เข้าระบบ File browser

  1. อัพโหลดไฟล์ CSOP โดยไฟล์ต้องมีโครงสร้างชื่อไฟล์ดังนี้
    • ไฟล์ CSOP ตั้งชื่อว่า BILLTRAN<YYYYMMDD>.txt สำหรับ CSOP ประเภท Bill Trans
    • ไฟล์ CSOP ตั้งชื่อว่า BILLTDISP<YYYYMMDD>.txt สำหรับ CSOP ประเภท Bill Disp

หมายเหตุ: ระบบไม่รองรับไฟล์ ZIP ให้แตกไฟล์ .txt ภายในก่อนอัปโหลด และตั้งชื่อไฟล์ตามรูปแบบข้างต้นเท่านั้น

แสดงไฟล์ที่อัปโหลดเรียบร้อยแล้ว

แสดงไฟล์ที่อัปโหลดเรียบร้อยแล้ว

การใช้งาน Script แปลงข้อมูล CSOP เป็น FHIR

เจ้าหน้าที่ไอทีต้องเตรียม directory สำหรับรัน Python script ที่แปลงไฟล์ CSOP เป็นข้อมูลตามมาตรฐาน HL7 FHIR แล้วอัปโหลดผลลัพธ์ไปยัง HAPI FHIR Server

สิ่งที่จำเป็นต้องมี

  1. ระบบ HAPI FHIR Server ที่ใช้โครงสร้างมาตรฐานข้อมูลแบบ HL7 FHIR (IP address หรือ domain name)

  2. เครื่องคอมพิวเตอร์ที่มี Python version 3.8 ขึ้นไป และ Library xmltodict

pip3 install xmltodict

ขั้นตอนการใช้งาน Script

  1. นำ Script ไปอยู่ในโฟลเดอร์ไว้ที่ Root โฟลเดอร์

  2. ใน Root โฟลเดอร์ สร้างโฟลเดอร์ uploads เพื่อใช้สำหรับการเก็บไฟล์ CSOP

    • ไฟล์ CSOP ตั้งชื่อว่า BILLTRAN<YYYYMMDD>.txt สำหรับ CSOP ประเภท Bill Trans

    • ไฟล์ CSOP ตั้งชื่อว่า BILLTDISP<YYYYMMDD>.txt สำหรับ CSOP ประเภท Bill Disp

  3. นำไฟล์ในข้อ 5.3,5.4 วางในโฟลเดอร์ uploads

  4. ปรับเปลี่ยนการตั้งค่าใน Script โดย

    - กรณีรันจากเครื่องคอมพิวเตอร์ข้างนอก ที่ไม่ใช่ FHIR เซิร์ฟเวอร์ ให้แก้ค่า
      base_fhir_url ใน script เป็น IP Address หรือ domain เพื่อส่งข้อมูลไปถึง
      FHIR เซิร์ฟเวอร์ รวมถึงการใส่ค่าต่างๆเพื่อให้ผ่านระบบความปลอดภัยที่ติดตั้งไว้
    
    - กรณีรันจากเครื่องเซิร์ฟเวอร์ที่ติดตั้ง HAPI FHIR Server แล้ว ให้ใช้ internal URL
base_fhir_url = "http://hapi-fhir-jpaserver-start:8080/fhir"
(อ้างอิง [https://github.com/health-tag/hospital-fhir-node](https://github.com/health-tag/hospital-fhir-node))

แสดงการตั้งค่า Script

แสดงการตั้งค่า Script

  1. รัน script
python3 transform_fhir.py
เจ้าหน้าที่ไอทีต้องรัน script นี้ทุกวัน หรือกำหนด Cron job ให้ระบบรันโดยอัตโนมัติ

6. ตรวจสอบข้อมูลที่เข้าสู่ระบบหลังจาก script ทำงานเสร็จสิ้น

วิธีการใช้งาน Web application

การสร้าง Username และ Password ให้กับผู้ป่วยสำหรับเจ้าหน้าที่โรงพยาบาล (Admin)

  1. เข้าสู่ระบบ User Interface ด้วย http://ip_address/admin

  2. กรอก Username และ Password สำหรับผู้ดูแลระบบ ที่ตั้งในข้อก่อนหน้า แล้วเข้าสู่ระบบ

หน้าจอเพื่อเข้าสู่ระบบ

หน้าจอเพื่อเข้าสู่ระบบ

  1. ระบบจะแสดงหน้าจอศูนย์จัดการระบบ ในเลือก ลงทะเบียนผู้รับบริการ

หน้าจอศูนย์จัดการระบบ

หน้าจอศูนย์จัดการระบบ

  1. ระบบจะแสดงหน้าจอลงทะเบียนผู้รับบริการ สำหรับการสร้างชื่อผู้ใช้งาน (Username) และรหัสผ่าน (Password) ให้กับผู้ป่วย

  2. ให้ผู้ดูแลระบบกรอกหมายเลขประจำตัวผู้ป่วย (Hospital Number: HN) ซึ่งจะเป็น Username ให้ผู้ป่วย จากนั้นให้ผู้ป่วยกำหนดรหัสผ่านด้วยตัวเองเป็นตัวเลขทั้งหมด 6 หลัก

หน้าจอลงทะเบียนผู้รับบริการ และการกำหนดชื่อผู้ใช้งานแลรหัสผ่านของผู้ป่วย

หน้าจอลงทะเบียนผู้รับบริการ และการกำหนดชื่อผู้ใช้งานแลรหัสผ่านของผู้ป่วย

  1. กดยืนยันการสร้าง User ให้ผู้ป่วย เพื่อใช้ในการดูข้อมูลยาผ่านระบบ User Interface

หน้าจอแสดงการลงทะเบียนสำเร็จ

หน้าจอแสดงการลงทะเบียนสำเร็จ

การดูข้อมูลยาผ่าน Username และ Password สำหรับผู้ป่วย

  1. เข้าสู่ระบบ User Interface ด้วย http://ip_address

  2. กรอก Username และ Password ของผู้ป่วยที่ได้ทำการสมัครผ่านเจ้าหน้าที่โรงพยาบาลในขั้นตอนก่อนหน้า

การกรอกรหัสของผู้ป่วยสำหรับดูข้อมูลยา

การกรอกรหัสของผู้ป่วยสำหรับดูข้อมูลยา

  1. ระบบจะแสดงหน้าข้อมูลสุขภาพ โดยที่หัวข้อยาจะแสดงข้อมูลยาที่ผู้ป่วยได้รับ โดยอ้างอิงฐานข้อมูลซึ่งจัดเก็บข้อมูลในรูปแบบ HL7 FHIR

การดูข้อมูลยาของผู้ป่วย

การดูข้อมูลยาของผู้ป่วย

ติดต่อฝ่ายสนับสนุน

เมื่อติดต่อฝ่ายสนับสนุน โปรดระบุว่าใช้ Community Edition พร้อม revision ของ source code ระบบปฏิบัติการ ขั้นตอนที่เกิดปัญหา และ log ที่ปกปิดข้อมูลลับแล้ว ห้ามส่งข้อมูลผู้ป่วย รหัสผ่าน ข้อมูลรับรองการเข้าใช้ระบบ private key หรือ log ที่ยังมีข้อมูลลับ

support@healthtag.io