/** * Represents an HL7 ROL message segment (Role) * * @param CPatient $patient Patient * * @return void */ function addROLs(CPatient $patient) { $patient->loadRefsCorrespondants(); if ($patient->_ref_medecin_traitant->_id) { /** @var CHL7v2SegmentROL $ROL */ $ROL = CHL7v2Segment::create("ROL", $this->message); $ROL->medecin = $patient->_ref_medecin_traitant; $ROL->role_id = "ODRP"; // Mise à jour du médecin if ($patient->fieldModified("medecin_traitant")) { $ROL->action = "UP"; } $ROL->build($this); } foreach ($patient->_ref_medecins_correspondants as $_correspondant) { $medecin = $_correspondant->loadRefMedecin(); if ($medecin->type != "medecin") { continue; } /** @var CHL7v2SegmentROL $ROL */ $ROL = CHL7v2Segment::create("ROL", $this->message); $ROL->medecin = $medecin; $ROL->role_id = "RT"; $ROL->build($this); } }
$praticien =& $sejour->_ref_praticien; $praticien->canDo(); $patient =& $sejour->_ref_patient; $patient->loadRefsSejours(); $sejours =& $patient->_ref_sejours; } else { $patient = new CPatient(); $patient->load($patient_id); $patient->loadRefsSejours(); $sejours =& $patient->_ref_sejours; } $sejour->makeDatesOperations(); $sejour->loadNDA(); $sejour->loadRefCurrAffectation()->loadRefService(); $patient->loadRefsFwd(); $patient->loadRefsCorrespondants(); $patient->loadRefsCorrespondantsPatient(); $correspondantsMedicaux = array(); if ($patient->_ref_medecin_traitant->_id) { $correspondantsMedicaux["traitant"] = $patient->_ref_medecin_traitant; } foreach ($patient->_ref_medecins_correspondants as $correspondant) { $correspondantsMedicaux["correspondants"][] = $correspondant->_ref_medecin; } $medecin_adresse_par = ""; if ($sejour->adresse_par_prat_id && $sejour->adresse_par_prat_id != $patient->_ref_medecin_traitant->_id) { $medecin_adresse_par = new CMedecin(); $medecin_adresse_par->load($sejour->adresse_par_prat_id); } // L'utilisateur est-il un praticien $mediuser = CMediusers::get();