/** * @see parent::build */ function build(CHPrimSanteEvent $event) { parent::build($event); /** @var CHPrimSanteAcknowledgment $acknowledgment */ $acknowledgment = $this->acknowledgment; /** @var CExchangeHprimSante $exchange_hpr */ $exchange_hpr = $event->_exchange_hpr; /** @var CHPrimSanteError $error */ $error = $acknowledgment->_error; list($segment, $rang, $identifier) = $error->address; $data = array(); // ERR-1: Segment Row $data[] = $rang; // ERR-2: Filename $data[] = $exchange_hpr->nom_fichier; // ERR-3: Date / Time of receipt $data[] = $exchange_hpr->date_production; // ERR-4: Severity $data[] = $error->type_error; // ERR-5: Line number $data[] = null; // ERR-6: Error Location $data[] = array(array($segment, $rang, array_values($identifier))); // ERR-7: Field Position $data[] = $error->field; // ERR-8: Error value $data[] = null; // ERR-9: Error type $data[] = null; // ERR-10: Original Text $data[] = $error->getCommentError(); $this->fill($data); }
/** * @see parent::build */ function build(CHPrimSanteEvent $event) { parent::build($event); $data = array(); // L-1 : Segment Row (optional) $data[] = null; // L-2 : Not Use (optional) $data[] = null; // L-3 : Number Segment P (optional) $data[] = null; // L-4 : Number Segment of Message (optional) $data[] = null; // L-5 : Lot Number (optional) $data[] = null; $this->fill($data); }
/** * @see parent::build */ function build(CHPrimSanteEvent $event) { parent::build($event); $message = $event->message; $data = array(); // H-1 : Field Separator $data[] = $message->fieldSeparator; // H-2: Encoding Characters (ST) $data[] = substr($message->getEncodingCharacters(), 1); // H-3 : Message ID $data[] = $event->_exchange_hpr->_id; // H-4 : Password $data[] = null; // H-5 : Sender ID $data[] = CAppUI::conf("hprimsante sending_application"); // H-6 : Sender address $data[] = null; // H-7 : Context $data[] = $event->type; // H-8 : Sender phone $data[] = null; // H-9 : Transmission characteristics $data[] = null; // H-10 : Receiver ID $receiver = $event->_receiver && $event->_receiver->_id ? $event->_receiver : $event->_sender; $data[] = array(array($receiver->_id, $receiver->nom)); // H-11 : Comment $data[] = null; // H-12 : Processing ID $data[] = CAppUI::conf("instance_role") == "prod" ? "P" : "T"; // H-13 : Version and Type $data[] = array(array($event->version, $event->type_liaison)); // H-14 : Date/Time of Message $data[] = CMbDT::dateTime(); $this->fill($data); }
/** * @see parent::build */ function build(CHPrimSanteEvent $event) { parent::build($event); $patient = $this->patient; $sejour = $this->sejour; $actor = isset($event->_sender->_id) ? $event->_sender : $event->_receiver; $group = $actor->loadRefGroup(); $patient->loadIPP($group->_id); // P-1: type segment - P(par défaut) (ST) // P-2: rang segment - (NM) $data[] = "1"; // P-3: Patient ID (SPEC) (optional) $data[] = array(array($patient->_IPP, $patient->_patient_elimine ? $patient->_patient_elimine->_IPP : null, $patient->_patient_elimine ? "FU" : null)); // P-4: Patient ID (ST) (optional) $data[] = null; // P-5: sejour ID (ST) (optional) $data[] = null; // P-6: Nom patient (PN) (optional) $data[] = array(array($patient->_p_last_name, $patient->_p_first_name, $patient->prenom_2, $patient->civilite)); // P-7: Nom de naissance (ST) (optional) $data[] = $patient->_p_maiden_name; // P-8: Date de naissance (TS) (optional) $data[] = $patient->_p_birth_date; // P-9: Sexe (ID) (optional) $data[] = CMbString::upper($patient->sexe); // P-10: race (forbidden) $data[] = null; $address = explode("\n", $patient->_p_street_address, 1); // P-11: adresse (AD) (optional) $data[] = array(array(CMbArray::get($address, 0), str_replace("\n", " ", CMbArray::get($address, 1)), $patient->_p_city, null, $patient->_p_postal_code, $patient->pays_insee)); // P-12: INS (version 2.3) (optional) $data[] = null; // P-13: téléphone (TN) (optional) (repeatable) $data[] = array($patient->_p_phone_number, $patient->_p_mobile_phone_number); // P-14: Médecins (CNA) (optional) (repeatable) $data[] = null; // P-15: Traitement local 1 (ST) (optional) $data[] = null; // P-16: Traitement local 2 (ST) (optional) $data[] = null; // P-17: Taille (CQ) (optional) $data[] = null; // P-18: Poids (CQ) (optional) $data[] = null; // P-19: Diagnostic (CE) (optional) (repeatable) $data[] = null; // P-20: Traitement (ST) (optional) (repeatable) $data[] = null; // P-21: Régime (ST) (optional) $data[] = null; // P-22: Commentaire 1 (ST) (optional) $data[] = null; // P-23: Commentaire 2 (ST) (optional) $data[] = null; // P-24: Date de mouvement (TS) (optional) (repeatable) $data[] = null; // P-25: Statut de l'admission (ID) (optional) $data[] = null; // P-26: Localisation (SPEC) (optional) $data[] = null; // P-27: classification diagnostic (CE) (optional) $data[] = null; // P-28: Religion (forbidden) $data[] = null; // P-29: Situation maritale (ID) (optional) $data[] = $this->getMaritalStatus($patient->situation_famille); // P-30: Précauton à prendre (ID) (optional) $data[] = null; // P-31: Langue (ST) (optional) $data[] = null; // P-32: Statut de confidentialité (ID) (optional) $data[] = null; // P-33: Date de dernière modification (TS) (optional) $data[] = null; // P-34: Date de décès (TS) (optional) $data[] = null; $this->fill($data); }
/** * Create a end segment * * @return void */ function addL() { $L = CHPrimSanteSegment::create("L", $this->message); $L->build($this); }