amin0x / hl7_php_api_lib
project to implement Nabidh HL7
Installs: 4
Dependents: 0
Suggesters: 0
Security: 0
Stars: 2
Watchers: 1
Forks: 1
Open Issues: 0
Type:libarary
Requires
- php: >=7.4
- ext-curl: *
Requires (Dev)
- phpunit/phpunit: 9.5
This package is auto-updated.
Last update: 2025-06-15 13:36:08 UTC
README
project to implement Nabidh HL7 using PHP
Amin Omer garogigi@gmail.com
install
composer require amin0x/hl7_php_api_lib
useage
Patient transfer message
$nabidh = new Nabidh();
$pt = new ADT_A02_Patient_Transfer();
$pt->getMSH()->setSendingFacility('TESTHOS20');
$pt->getMSH()->setDateTimeofMessage(date('YmdHis'));
$pt->getMSH()->setProcessingID('D');
$pt->getPID()->setDateTimeofBirth(date('Ymd', strtotime('19990507')));
$pt->getPID()->setPhoneNumberHome('0123456789', 'abc@example.com');
$pt->getPID()->addPatientIdentifierList('123123','TESTHOS20', 'MRN');
$pt->getPID()->setPatientAddress('Dubai', 'Dubai', '', '784');
$pt->getPID()->setPatientName('amin', 'o', 'mohamed');
$pt->getPID()->setLastUpdateDateTime(date('YmdHis'));
$pt->getPID()->setAdministrativeSex('M');
$pt->getPID()->setPrimaryLanguage('ENG');
$pt->getPID()->setNationality(Nationality::Canadian[0]);
$pt->getPID()->setMaritalStatus('M');
$pt->getPID()->setReligion('MOS');
$pt->getPID()->setSSNNumberPatient('111111111111111');
$pt->getPID()->setPatientDeathIndicator('N');
$pt->getPID()->setIdentityUnknownIndicator('T');
$pt->getEVN()->setRecordedDateTime(date('YmdHis'));
$pt->getEVN()->setEventFacility('1111111');
$pt->getEVN()->setEventTypeCode('A02');
$pt->getEVN()->setEventOccurred(date('YmdHis'));
$pt->getPV1()->setID(1);
$pt->getPV1()->setAdmissionType('O');
$pt->getPV1()->setAdmitDateTime(date('YmdHis'));
$pt->getPV1()->setHospitalService(HospitalService::Unknown);
$pt->getPV1()->setVisitNumber('99999');
$apl = new PL();
$apl->setPointOfCare('');
$apl->setFacility('TCODE10');
$apl->setLocationDescription('Test Hospital 20');
$pt->getPV1()->setAssignedPatientLocation($apl);
$AttendingDoctor = new XCN();
$AttendingDoctor->setIdNumber('445566');
$AttendingDoctor->setLastName('Ahmed');
$AttendingDoctor->setFirstName('omer');
$AttendingDoctor->setMiddleName('mohamed');
$AttendingDoctor->setAssigningAuthority('SHERYAN');
$AttendingDoctor->setPrefex('Dr.');
$pt->getPV1()->setAttendingDoctor($AttendingDoctor);
$res = $nabidh->sendMessage($pt, 'http://example.com/adt?app_id=&api_key=');
if ($res !== false && $res->isSuccess()){
//success
} else {
//error
}
Patient Admit
$nabidh = new Nabidh();
$pt = new ADT_A01_Admit_Patient();
$pt->getMSH()->setSendingFacility('TESTHOS20');
$pt->getMSH()->setDateTimeofMessage(date('YmdHis'));
$pt->getMSH()->setProcessingID('D');
$pt->getPID()->setAdministrativeSex('M');
$pt->getPID()->setDateTimeofBirth(date('Ymd', strtotime('19990507')));
$pt->getPID()->setPhoneNumberHome('0123456789', 'abc@example.com');
$pt->getEVN()->setRecordedDateTime(date('r'));
$pt->getEVN()->setEventFacility('TCODE10');
$pt->getPID()->addPatientIdentifierList('123123', 'TESTHOS20', 'PPN');
$pt->getPID()->setPatientAddress('abc', 'abc state', '123', 'UK');
$pt->getPID()->setNationality('USA');
$pt->getPID()->setPhoneNumberHome('0123456789');
$apl = new PL();
$apl->setFacility('TCODE10');
$apl->setLocationDescription('Test Hospital 20');
$pt->getPV1()->setAssignedPatientLocation($apl);
Supported Messages
- ADT_A01_Admit_Patient
- ADT_A02_Patient_Transfer
- ADT_A03_Discharge_Event
- ADT_A04_Register_Patient
- ADT_A05_Pre_Admit_Patient
- ADT_A06_Change_Outpatient_To_Inpatient
- ADT_A07_Change_Inpatient_To_Outpatient
- ADT_A08_Update_Patient_Information
- ADT_A09_Patient_Departed
- ADT_A10_Patient_Arrived
- ADT_A11_Cancel_Admit
- ADT_A12_Cancel_Transfer
- ADT_A13_Cancel_discharge_event
- ADT_A23_Delete_Patient_Record
- ADT_A28_Add_patient_information
- ADT_A30_Merge_Patient_Information
- ADT_A31_Update_patient_information
- ADT_A39_Merge_Patient
- ADT_A47_Change_Patient_Identifier_List
- MDM_T02_Original_Document_Notification
- MDM_T11_Document_Cancel_Notification
- ORM_O01_Medication_Orders
- ORU_R01_Observation_Results
- PPR_PC1_Add_Probalem
- PPR_PC2_Update_Probalem
- PPR_PC3_Delete_Probalem
- VXU_V04_Vaccination_Record_Message