A
download class.Handler_HL7v2_S12.php
Language: PHP
LOC: 28
Project Info
FreeMED Project(freemed)
Server: SourceForge
Type: cvs
...reemed\freemed\freemed\lib\
   acl.php
   API.php
   bcadd.php
   calendar-functions.php
   class.AdminModule.php
   class.Agata.php
   class.Authorizations.php
   class.BaseModule.php
   class.BillingModule.php
   class.CalendarModule.php
   class.ClaimLog.php
   class.Coverage.php
   class.Debug.php
   class.diagnosis_set.php
   class.Djvu.php
   class.EMRModule.php
   class.Fax.php
   class.FixedFormEntry.php
   ...s.FixedFormRenderer.php
   class.FormRenderer.php
   class.FreeMEDSelfTest.php
   class.GeneralConfig.php
   class.GraphModule.php
   class.Guarantor.php
   class.Handler_HL7v2.php
   ...s.Handler_HL7v2_A04.php
   ...s.Handler_HL7v2_A08.php
   ...s.Handler_HL7v2_S12.php
   ...s.Handler_HL7v2_S15.php
   class.InsuranceCompany.php
   class.LanguageRegistry.php
   class.Ledger.php
   ...s.MaintenanceModule.php
   class.Messages.php
   class.OMBS_Patient.php
   class.OMBS_Wrapper.php
   class.Parser_HL7v2.php
   class.Patient.php
   class.Payer.php
   class.PHPlot.php
   class.Physician.php
   class.Procedure.php
   class.RecordLock.php
   class.Remitt.php
   class.ReportsModule.php
   class.rxlist.php
   class.Scheduler.php
   class.TeX.php
   class.User.php
   class.UtilityModule.php
   class.vCalendar.php
   class.vCalendarEvent.php
   error_handler.php
   freemed.php
   i18n.php
   iso-set.php
   macros.php
   mail-functions.php
   settings.php
   settings.php.tmpl
   xml.php
   xmlrpc_services.php

<?php
	// $Id: class.Handler_HL7v2_S12.php,v 1.4 2004/09/03 02:28:40 rufustfirefly Exp $
	// $Author: rufustfirefly $

	// Handler for HL7 message S12 - Appointment Booking

LoadObjectDependency('_FreeMED.Handler_HL7v2');

class Handler_HL7v2_S12 extends Handler_HL7v2 {

	function Handle () {
		syslog(LOG_INFO, 'HL7 parser| Entered S12 parser');
		if (!is_object($this->parser)) {
			die('Handler_HL7v2_S12: parser object not present');
		}

		// FIXME: SHOULD HANDLE AIL SEGMENT FOR LOCATION

		// For now, one PID per message - FIXME
		$p = $this->parser->message['PID'][0];
		foreach ($this->parser->message['SCH'] AS $k => $v) {
			$pr = $this->parser->message['AIP'][$k];

			// Use scheduler API
			$c = CreateObject('_FreeMED.Scheduler');
			$c->set_appointment(array(
				'type' => 'pat', // hardcode as patient
				'date' => $this->parser->__date_to_sql($pr[HL7v2_AIP_DATETIME]),
				'hour' => $this->parser->__date_to_hour($pr[HL7v2_AIP_DATETIME]),
				'minute' => $this->parser->__date_to_minute($pr[HL7v2_AIP_DATETIME]),
				'duration' => ($pr[HL7v2_AIP_DURATION]+0),
				'patient' => $this->parser->__pid_to_patient($p[HL7v2_PID_ID]),
				'provider' => $this->parser->__aip_to_provider($pr[HL7v2_AIP_PROVIDER][HL7v2_AIP_PROVIDER_ID]),
				'note' => $v[HL7v2_SCH_EXTNOTE][HL7v2_SCH_EXTNOTE_LONG]
			));

			// Quickly log what has happened
			syslog(LOG_INFO, 'HL7 parser| accepted S12 appointment creation for patient #'.$this->parser->__pid_to_patient($p[HL7v2_PID_ID]).', provider #'.$this->parser->__aip_to_provider($pr[HL7v2_AIP_PROVIDER][HL7v2_AIP_PROVIDER_ID]));
		}
	} // end method Handle

	function Type () { return 'SIU'; }

} // end class Handler_HL7v2_S12

?>

About Koders | Resources | Downloads | Support | Black Duck | Terms of Service | DMCA | Privacy Policy | Contact Us