hl7-hapi-fhir-obs-api

License: MIT

Java CI with Maven

Overview

The HL7 Application Programming Interface (HAPI) Fast Healthcare Interoperability Resources (FHIR) is an open-source implementation of the HL7 FHIR standard designed for healthcare interoperability, providing a robust toolkit for developers to create applications that facilitate the exchange of healthcare data.

QUICK START: Build & Run API

./mvnw clean package spring-boot:run

Step-By-Step Guide

Build Project
./mvnw clean package
Run API with JDK 25 (LTS)
java -jar target/hl7-hapi-fhir-obs-api-2.2-RELEASE.jar ie.rcsi.example.Application
Run Test Script for Automated Batch of API calls
cd demo
./demo.sh
Demo Video (Shell View)

Sample API Requests (Manual Run)

Care Plan GET

curl -X GET -H 'Accept: application/json' 'http://localhost:8080/api/care/plan?resourceId=1566160'                                                                                                                                                                                                                            

GET Device

curl -X GET -H 'Accept: application/json' 'http://localhost:8080/api/device?resourceId=581517'

GET Device Request

curl -X GET -H 'Accept: application/json' 'http://localhost:8080/api/device/request?resourceId=1723173'                                                                                                                                                                                                                                

GET Patient

curl -X GET -H 'Accept: application/json' 'http://localhost:8080/api/patient?resourceId=113798'

GET Observations by Code (WHERE Patients Considered Obese)

curl -X GET -H 'Accept: application/json' 'http://localhost:8080/api/obese/observation?code=39156-5'                                                                                                                                      

Console Output

[ {
  "bmi" : 34.9,
  "patientId" : "Patient/1201",
  "observationId" : "102791"
}, {
  "bmi" : 36.2,
  "patientId" : "Patient/1203",
  "observationId" : "102803"
}, {
  "bmi" : 41.8,
  "patientId" : "Patient/1316",
  "observationId" : "102839"
}, {
  "bmi" : 34.7,
  "patientId" : null,
  "observationId" : "106394"
} ]

GET Observations by Code (WHERE Patients have BMI Observations Recorded)