ติดตั้ง HAPI FHIR แบบ local บน Mac M1 (มิ.ย. 64)

แวะมาบันทึกไว้เฉย ๆ นะครับ พอดีพยายามทำวันนี้ครับ โดยปกติแล้ว เวลา install HAPI ไว้ทดลองใช้ FHIR server ที่เครื่องตัวเอง ก็ทำตามนี้นะครับ

https://github.com/hapifhir/hapi-fhir-jpaserver-starter

เริ่มจากดาวน์โหลด docker image มาแล้ว docker run ปกติครับ ปรากฏว่าไม่ได้ มี error เกี่ยวกับ Spring

ก็เลยต้อง install แบบ manual ซึ่งก็คือต้องรัน Maven ซึ่งจะรันได้ก็ต้องติดตั้ง JDK ก่อน แต่ปัญหาคือตอนนี้ JDK ยังไม่มีแบบ official บน Mac M1 ดังนั้นเราเลยต้องไปติดตั้งของ Azul Zulu

การติดตั้ง Maven นี้สามารถดูแบบเป็นวิดีโอภาษาอังกฤษได้ที่

หรือถ้าอยากอ่านเอาก็ทำตามขั้นตอนข้างล่างนี้เลยครับ

ติดตั้ง Java และ Maven

เริ่มจากดาวน์โหลด Azul Zulu OpenJDK ที่นี่ครับ

https://www.azul.com/downloads/zulu-community/?os=macos&architecture=arm-64-bit&package=jdk

เลือกติดตั้งเป็น .dmg เลย ก็จะง่ายสุดครับ

หลังติดตั้งแล้ว ต้องตั้งค่า JAVA_HOME environment variable โดยเพิ่มบรรทัดนี้เข้าไปที่ .zshrc

export JAVA_HOME=/Library/Java/JavaVirtualMachines/zulu-16.jdk/Contents/Home

อย่าลืมแก้ Directory ให้เวอร์ชั่นตรงนะครับ ตอนนี้ของผมเป็น “zulu-16.jdk” ถ้าใช้เวอร์ชั่นอื่นต้องแก้ตรงนี้ด้วย

จากนั้นก็ไปดาวน์โหลด Maven ที่

https://maven.apache.org/download.cgi

โหลดแบบ binary มาก็ได้ครับ unzip แล้วเอาไปวางไว้ /opt คือจริง ๆ มันอาจเอาไว้ที่อื่นได้นะครับ แต่ผมเห็น tutorial เอาไว้นี่กันหมดเลยเลยทำบ้าง

sudo mv apache-maven-3.8.1-bin.tar.gz /opt
sudo tar xzvf apache-maven-3.8.1-bin.tar.gz

และตั้งค่า path

export PATH=/opt/apache-maven-3.8.1/bin:$PATH

สุดท้ายถ้าเราทดสอบด้วยคำสั่ง

mvn -v

ก็จะขึ้นมาว่าใช้ได้

ติดตั้ง HAPI FHIR

ขั้นตอนนี้ก็ไม่มีอะไรแล้วครับ ทำตามคู่มือได้เลย โดยไปโคลน git repo ของ HAPI FHIR มา

git clone https://github.com/hapifhir/hapi-fhir-jpaserver-starter.git

เข้าไปที่ directory นั้นแล้วสั่ง

mvn jetty:run

ผ่านการ install มากมายก็จะรันได้

สามารถเข้าได้ทาง browser โดยค่า default คือ http://localhost:8080

ลองดู CapabilityStatement ที่ http://localhost:8080/fhir/metadata

เสร็จครับ จบ รันได้ปกติ ที่ไม่เหมือนเครื่องอื่น ๆ คือตอนตั้งค่าพวก Java, Maven

Comments

  1. ผมทำแล้ว port 8080 มันซ้ำกับของ java อ่ะครับ มีวิธีแก้ไหมครับ ต้องเปลี่ยน port ของ fhir ไหมครับ

Leave a Reply

Your email address will not be published. Required fields are marked *