/** * Mass load mechanism for forward references of an object collection * * @param self[] $patients Array of objects * @param string $group_id Tag * * @return self[] Loaded collection, null if unavailable, with ids as keys of guids for meta references */ static function massLoadIPP($patients, $group_id = null) { // Aucune configuration de numéro de dossier if (null == ($tag_ipp = self::getTagIPP($group_id))) { foreach ($patients as $_patient) { $_patient->_IPP = str_pad($_patient->_id, 6, "0", STR_PAD_LEFT); } return null; } // Récupération de la valeur des idex $ideces = CIdSante400::massGetMatchFor($patients, $tag_ipp); // Association idex-séjours foreach ($ideces as $_idex) { $patient = $patients[$_idex->object_id]; $patient->_ref_IPP = $_idex; $patient->_IPP = $_idex->id400; } foreach ($patients as $_patient) { if ($_patient->_ref_IPP) { continue; } $_patient->_ref_IPP = new CIdSante400(); $_patient->_ref_IPP->tag = $tag_ipp; } return null; }
/** * Mass load mechanism for forward references of an object collection * * @param self[] $sejours Array of objects * @param string $group_id Tag * * @return self[] Loaded collection, null if unavailable, with ids as keys of guids for meta references */ static function massLoadNPA($sejours, $group_id = null) { // Aucune configuration de numéro de dossier if (null == ($tag_NDA = self::getTagNDA($group_id, "tag_dossier_pa"))) { foreach ($sejours as $_sejour) { $_sejour->_NPA = str_pad($_sejour->_id, 6, "0", STR_PAD_LEFT); } return null; } foreach ($sejours as $_sejour) { $_sejour->_ref_NPA = new CIdSante400(); } // Récupération de la valeur des idex $ideces = CIdSante400::massGetMatchFor($sejours, $tag_NDA); // Association idex-séjours foreach ($ideces as $_idex) { $sejour = $sejours[$_idex->object_id]; $sejour->_ref_NPA = $_idex; $sejour->_NPA = $_idex->id400; } return null; }