本文整理汇总了PHP中CIdSante400::loadLatestFor方法的典型用法代码示例。如果您正苦于以下问题:PHP CIdSante400::loadLatestFor方法的具体用法?PHP CIdSante400::loadLatestFor怎么用?PHP CIdSante400::loadLatestFor使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类CIdSante400
的用法示例。
在下文中一共展示了CIdSante400::loadLatestFor方法的13个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的PHP代码示例。
示例1:
/**
* Chargement du dernier identifiant id400
*
* @param string $tag Tag à utiliser comme filtre
*
* @return CIdSante400
*/
function loadLastId400($tag = null)
{
$idex = new CIdSante400();
if ($idex->_ref_module) {
$idex->loadLatestFor($this, $tag);
$this->_ref_last_id400 = $idex;
}
return $idex;
}
示例2: getTagIPP
/**
* Construit le tag IPP en fonction des variables de configuration
*
* @param int $group_id Permet de charger l'IPP pour un établissement donné si non null
*
* @return string|null
*/
static function getTagIPP($group_id = null)
{
// Recherche de l'établissement
$group = CGroups::get($group_id);
if (!$group_id) {
$group_id = $group->_id;
}
$cache = new Cache(__METHOD__, array($group_id), Cache::INNER);
if ($cache->exists()) {
return $cache->get();
}
// Gestion du tag IPP par son domaine d'identification
if (CAppUI::conf("eai use_domain")) {
return $cache->put(CDomain::getMasterDomain("CPatient", $group_id)->tag, false);
}
// Pas de tag IPP => pas d'affichage d'IPP
if (null == ($tag_ipp = CAppUI::conf("dPpatients CPatient tag_ipp"))) {
return $cache->put(null, false);
}
// Si on est dans le cas d'un établissement gérant la numérotation
$group->loadConfigValues();
if ($group->_configs["sip_idex_generator"]) {
$tag_ipp = CAppUI::conf("sip tag_ipp");
}
// Préférer un identifiant externe de l'établissement
if ($tag_group_idex = CAppUI::conf("dPpatients CPatient tag_ipp_group_idex")) {
$idex = new CIdSante400();
$idex->loadLatestFor($group, $tag_group_idex);
$group_id = $idex->id400;
}
return $cache->put(str_replace('$g', $group_id, $tag_ipp), false);
}
示例3: getMatchFor
/**
* Static shortcut to to idex for a given object
*
* @param CMbObject $mbObject Object
* @param string $tag Tag
*
* @return CIdSante400
*/
static function getMatchFor(CMbObject $mbObject, $tag = null)
{
$idex = new CIdSante400();
$idex->loadLatestFor($mbObject, $tag);
return $idex;
}
示例4: onAfterStore
//.........这里部分代码省略.........
$sejour->_receiver = $receiver;
$code = "A06";
// On récupère l'affectation courante qui n'a pas été transmise (affectation suite à la mutation)
$current_affectation = $sejour->getCurrAffectation();
$sejour->_ref_hl7_affectation = $current_affectation;
} elseif ($sejour->fieldModified("type", "urg") && $sejour->_cancel_hospitalization) {
$sejour->loadRefPatient();
$sejour->loadLastLog();
$sejour->_receiver = $receiver;
$code = "A07";
// On récupère l'affectation courante qui n'a pas été transmise (affectation suite à la mutation)
$current_affectation = $sejour->getCurrAffectation();
$sejour->_ref_hl7_affectation = $current_affectation;
} elseif ($rpu && $rpu->mutation_sejour_id && $rpu->sejour_id != $rpu->mutation_sejour_id) {
return;
}
$code = $code ? $code : $this->getCodeSejour($sejour);
// Dans le cas d'une création et que l'on renseigne entrée réelle et sortie réelle,
// il est nécessaire de créer deux flux (A01 et A03)
if ($sejour->_ref_last_log->type == "create" && $sejour->entree_reelle && $sejour->sortie_reelle) {
$code = "A01";
// Cas où :très souvent
// * on est l'initiateur du message
// * le destinataire ne supporte pas le message
if (!$this->isMessageSupported($this->transaction, $this->message, $code, $receiver)) {
return;
}
if (!$sejour->_NDA) {
// Génération du NDA dans le cas de la création, ce dernier n'était pas créé
if ($msg = $sejour->generateNDA()) {
CAppUI::setMsg($msg, UI_MSG_ERROR);
}
$NDA = new CIdSante400();
$NDA->loadLatestFor($sejour, $receiver->_tag_sejour);
$sejour->_NDA = $NDA->id400;
}
$patient = $sejour->_ref_patient;
$patient->loadIPP($receiver->group_id);
if (!$patient->_IPP) {
if ($msg = $patient->generateIPP()) {
CAppUI::setMsg($msg, UI_MSG_ERROR);
}
}
// Cas où lors de l'entrée réelle j'ai une affectation qui n'a pas été envoyée
if ($sejour->fieldModified("entree_reelle") && !$sejour->_old->entree_reelle) {
$current_affectation = $sejour->getCurrAffectation();
}
$this->createMovement($code, $sejour, $current_affectation);
// Envoi de l'événement
$this->sendITI($this->profil, $this->transaction, $this->message, $code, $sejour);
$code = "A03";
}
if (!$code) {
return;
}
// Cas où :
// * on est l'initiateur du message
// * le destinataire ne supporte pas le message
if (!$this->isMessageSupported($this->transaction, $this->message, $code, $receiver)) {
return;
}
if (!$sejour->_NDA) {
// Génération du NDA dans le cas de la création, ce dernier n'était pas créé
if ($msg = $sejour->generateNDA()) {
CAppUI::setMsg($msg, UI_MSG_ERROR);
}
示例5: redirect
if (!$mb_prescription_id) {
CAppUI::setMsg("Veuillez spécifier une prescription", UI_MSG_ERROR);
redirect();
}
if ($mbPrescription->load($mb_prescription_id)) {
$mbPrescription->loadRefs();
}
// Chargement de l'id400 "labo code4" du praticien
$prat =& $mbPrescription->_ref_praticien;
$tagCode4 = "labo code4";
$idSantePratCode4 = new CIdSante400();
$idSantePratCode4->loadLatestFor($prat, $tagCode4);
// Chargement de l'id400 "labo code9" du praticien
$tagCode9 = "labo code9";
$idSantePratCode9 = new CIdSante400();
$idSantePratCode9->loadLatestFor($prat, $tagCode9);
// Si le praticien n'a pas d'id400, il ne peut pas envoyer la prescription
if (!$idSantePratCode4->_id || !$idSantePratCode9->_id) {
CAppUI::setMsg("Le praticien n'a pas d'id400 pour le catalogue LABO", UI_MSG_ERROR);
redirect();
}
$tagCatalogue = CAppUI::conf('dPlabo CCatalogueLabo remote_name');
// Chargement de la valeur de l'id externe de la prescription ==> retourne uniquement l'id400
$idexPresc = $mbPrescription->loadIdPresc();
// Gestion du sexe du patient
$transSexe["m"] = "1";
$transSexe["f"] = "2";
$mbPatient =& $mbPrescription->_ref_patient;
// Gestion du titre du patient
if ($mbPatient->sexe == "m") {
if ($mbPatient->_annees >= 0 && $mbPatient->_annees <= 3) {
示例6: CPrescriptionLabo
* @version $Revision: 19285 $
*/
$verouillee = CValue::post("verouillee");
// Si la prescription est verouillée, un id externe est créé pour identifier la prescription
if ($verouillee) {
$tagCatalogue = CAppUI::conf('dPlabo CCatalogueLabo remote_name');
$prescription_labo_id = CValue::post("prescription_labo_id");
$prescription = new CPrescriptionLabo();
$prescription->load($prescription_labo_id);
if (!$prescription->verouillee) {
$prescription->loadRefsFwd();
// Chargement de l'id400 "labo code4" du praticien
$prat =& $prescription->_ref_praticien;
$tagCode4 = "labo code4";
$idSantePratCode4 = new CIdSante400();
$idSantePratCode4->loadLatestFor($prat, $tagCode4);
// creation de l'id400 de la prescription
$idPresc = new CIdSante400();
//Paramétrage de l'id 400
$idPresc->tag = "{$tagCatalogue} Prat:" . str_pad($idSantePratCode4->id400, 4, '0', STR_PAD_LEFT);
// tag LABO Prat: 0017
$idPresc->object_class = "CPrescriptionLabo";
// Chargement du dernier id externe de prescription du praticien s'il existe
$idPresc->loadMatchingObject("id400 DESC");
// Incrementation de l'id400
$idPresc->id400++;
$idPresc->id400 = str_pad($idPresc->id400, 4, '0', STR_PAD_LEFT);
$idPresc->_id = null;
$idPresc->last_update = CMbDT::dateTime();
$idPresc->object_id = $prescription->_id;
$idPresc->store();
示例7: onAfterStore
/**
* Trigger after event store
*
* @param CMbObject $mbObject Object
*
* @throws CMbException
*
* @return bool
*/
function onAfterStore(CMbObject $mbObject)
{
if (!$this->isHandled($mbObject)) {
return false;
}
$receiver = $mbObject->_receiver;
// Traitement Sejour
if ($mbObject instanceof CSejour) {
$sejour = $mbObject;
$sejour->loadRefPraticien();
$sejour->loadNDA();
$sejour->loadLastLog();
$sejour->loadRefPatient();
$sejour->loadRefAdresseParPraticien();
// Si Serveur
if (CAppUI::conf('smp server')) {
$echange_hprim = new CEchangeHprim();
if (isset($sejour->_eai_exchange_initiator_id)) {
$echange_hprim->load($sejour->_eai_exchange_initiator_id);
}
$initiateur = $receiver->_id == $echange_hprim->sender_id ? $echange_hprim->_id : null;
$group = new CGroups();
$group->load($receiver->group_id);
$group->loadConfigValues();
$mbObject->_id400 = null;
$idexPatient = new CIdSante400();
$idexPatient->loadLatestFor($sejour, $receiver->_tag_sejour);
$mbObject->_id400 = $idexPatient->id400;
$this->generateTypeEvenement("CHPrimXMLVenuePatient", $sejour, true, $initiateur);
} else {
if (!$receiver->isMessageSupported("CHPrimXMLVenuePatient")) {
return false;
}
if (CGroups::loadCurrent()->_id != $receiver->group_id) {
return false;
}
if (!$sejour->_NDA) {
// Génération du NDA dans le cas de la création, ce dernier n'était pas créé
if ($msg = $sejour->generateNDA()) {
CAppUI::setMsg($msg, UI_MSG_ERROR);
}
$NDA = new CIdSante400();
$NDA->loadLatestFor($sejour, $receiver->_tag_sejour);
$sejour->_NDA = $NDA->id400;
}
if (!$sejour->_ref_patient->_IPP) {
$IPP = new CIdSante400();
//Paramétrage de l'id 400
$IPP->loadLatestFor($sejour->_ref_patient, $receiver->_tag_patient);
$sejour->_ref_patient->_IPP = $IPP->id400;
}
$this->sendEvenementPatient("CHPrimXMLVenuePatient", $sejour);
if ($receiver->isMessageSupported("CHPrimXMLDebiteursVenue") && $sejour->_ref_patient->code_regime) {
$this->sendEvenementPatient("CHPrimXMLDebiteursVenue", $sejour);
}
if ($receiver->isMessageSupported("CHPrimXMLMouvementPatient") && $sejour->_ref_last_log->type == "create") {
$affectation = $sejour->loadRefFirstAffectation();
// $this->sendEvenementPatient("CHPrimXMLMouvementPatient", $affectation);
}
$sejour->_NDA = null;
}
return true;
} elseif ($mbObject instanceof CAffectation) {
$affectation = $mbObject;
$current_log = $affectation->_ref_current_log;
if (!$current_log || $affectation->_no_synchro || !in_array($current_log->type, array("create", "store"))) {
return false;
}
// Cas où :
// * on est l'initiateur du message
// * le destinataire ne supporte pas le message
if (!$receiver->isMessageSupported("CHPrimXMLMouvementPatient")) {
return false;
}
// Affectation non liée à un séjour
$sejour = $affectation->loadRefSejour();
if (!$sejour->_id) {
return false;
}
$sejour->loadRefPatient();
$sejour->_receiver = $receiver;
// Envoi de l'événement
$this->sendEvenementPatient("CHPrimXMLMouvementPatient", $affectation);
}
return true;
}
示例8: onAfterStore
/**
* Trigger after event store
*
* @param CMbObject $mbObject Object
*
* @throws CMbException
*
* @return bool
*/
function onAfterStore(CMbObject $mbObject)
{
if (!$this->isHandled($mbObject)) {
return false;
}
$receiver = $mbObject->_receiver;
if ($mbObject instanceof CCorrespondantPatient) {
$patient = $mbObject->loadRefPatient();
$patient->_receiver = $receiver;
} else {
$patient = $mbObject;
}
// Si Serveur
if (CAppUI::conf('sip server')) {
$echange_hprim = new CEchangeHprim();
if (isset($patient->_eai_exchange_initiator_id)) {
$echange_hprim->load($patient->_eai_exchange_initiator_id);
}
$initiateur = $receiver->_id == $echange_hprim->sender_id ? $echange_hprim->_id : null;
$group = new CGroups();
$group->load($receiver->group_id);
$group->loadConfigValues();
if (!$initiateur && !$group->_configs["sip_notify_all_actors"]) {
return false;
}
$patient->_id400 = null;
$idexPatient = new CIdSante400();
$idexPatient->loadLatestFor($patient, $receiver->_tag_patient);
$patient->_id400 = $idexPatient->id400;
$this->generateTypeEvenement("CHPrimXMLEnregistrementPatient", $patient, true, $initiateur);
} else {
if (!$receiver->isMessageSupported("CHPrimXMLEnregistrementPatient")) {
return false;
}
if (!$patient->_IPP) {
// Génération de l'IPP dans le cas de la création, ce dernier n'était pas créé
if ($msg = $patient->generateIPP()) {
CAppUI::setMsg($msg, UI_MSG_ERROR);
}
$IPP = new CIdSante400();
$IPP->loadLatestFor($patient, $receiver->_tag_patient);
$patient->_IPP = $IPP->id400;
}
// Envoi pas les patients qui n'ont pas d'IPP
if (!$receiver->_configs["send_all_patients"] && !$patient->_IPP) {
return false;
}
$this->sendEvenementPatient("CHPrimXMLEnregistrementPatient", $patient);
if ($receiver->_configs["send_insured_without_admit"]) {
if (!$receiver->isMessageSupported("CHPrimXMLDebiteursVenue")) {
return false;
}
$sejour = new CSejour();
$where = array();
$where["patient_id"] = "= '{$patient->_id}'";
$where["group_id"] = "= '{$receiver->group_id}'";
$datetime = CMbDT::dateTime();
$where["sortie"] = ">= '{$datetime}'";
/** @var CSejour[] $sejours */
$sejours = $sejour->loadList($where);
// On va transmettre les informations sur le débiteur pour le séjour en cours, et ceux à venir
foreach ($sejours as $_sejour) {
if (!$patient->code_regime) {
continue;
}
$_sejour->_receiver = $receiver;
$_sejour->loadLastLog();
$_sejour->loadRefPatient();
if (!$_sejour->_NDA) {
// Génération du NDA dans le cas de la création, ce dernier n'était pas créé
if ($msg = $_sejour->generateNDA()) {
CAppUI::setMsg($msg, UI_MSG_ERROR);
}
$NDA = new CIdSante400();
$NDA->loadLatestFor($_sejour, $receiver->_tag_sejour);
$sejour->_NDA = $NDA->id400;
}
if ($receiver->isMessageSupported("CHPrimXMLDebiteursVenue")) {
$this->sendEvenementPatient("CHPrimXMLDebiteursVenue", $_sejour);
}
}
}
$patient->_IPP = null;
}
return true;
}
示例9: getTransactionId
/**
* Get transaction ID
*
* @param CDocumentItem $docItem Document
*
* @return string
*/
function getTransactionId($docItem)
{
$idex = new CIdSante400();
$idex->loadLatestFor($docItem, CMedinetSender::$tag);
$transactionId = $idex->id400;
if (!$transactionId) {
return;
}
return $transactionId;
}
示例10: getIdExterne
function getIdExterne()
{
$idExterne = new CIdSante400();
// Chargement de l'id externe de la prescription (tag: Imeds)
$idExterne->loadLatestFor($this, "iMeds");
if (!$idExterne->_id) {
// Afactoriser : assez complexe (concatenation du code 4 praticien et du code 4 prescription)
$tagCatalogue = CAppUI::conf('dPlabo CCatalogueLabo remote_name');
$this->loadRefsFwd();
$prat =& $this->_ref_praticien;
$tagCode4 = "labo code4";
$idSantePratCode4 = new CIdSante400();
$idSantePratCode4->loadLatestFor($prat, $tagCode4);
$idPresc = new CIdSante400();
$idPresc->tag = "{$tagCatalogue} Prat:" . str_pad($idSantePratCode4->id400, 4, '0', STR_PAD_LEFT);
// tag LABO Prat: 0017
$idPresc->object_class = "CPrescriptionLabo";
$idPresc->loadMatchingObject("id400 DESC");
$numprovisoire = str_pad($idSantePratCode4->id400, 4, '0', STR_PAD_LEFT) . str_pad($idPresc->id400, 4, '0', STR_PAD_LEFT);
// Envoi à la source créée 'get_id_prescriptionlabo' (SOAP)
$exchange_source = CExchangeSource::get("get_id_prescriptionlabo", "soap");
$exchange_source->setData(array("NumMedi" => $numprovisoire, "pwd" => $exchange_source->password));
$exchange_source->send("NDOSLAB");
$idExterne->tag = "iMeds";
$idExterne->object_class = "CPrescriptionLabo";
$idExterne->object_id = $this->_id;
$idExterne->id400 = $exchange_source->getACQ()->NDOSLABResult;
$idExterne->last_update = CMbDT::dateTime();
$idExterne->store();
}
return $idExterne;
}
示例11: onAfterStore
//.........这里部分代码省略.........
$code = "A31";
} elseif ($mbObject instanceof CIdSante400) {
$idex = $mbObject;
// Concerne pas les patients / Pas en mode modification
if ($idex->object_class != "CPatient" || !$idex->_old->_id) {
return;
}
// Pas un tag IPP
if ($idex->tag != CPatient::getTagIPP()) {
return;
}
// Vraiment une modif de l'idex ?
if ($idex->id400 == $idex->_old->id400) {
return;
}
$code = "A47";
$patient = new CPatient();
$patient->load($idex->object_id);
$patient->_receiver = $receiver;
$patient->_patient_elimine = clone $patient;
// Affecte le nouvel IPP au patient
$patient->_IPP = $idex->id400;
// Affecte l'ancien IPP au "patient éliminé"
$patient->_patient_elimine->_IPP = $idex->_old->id400;
if (!$this->isMessageSupported($this->transaction, $this->message, $code, $receiver)) {
return;
}
$this->sendITI($this->profil, $this->transaction, $this->message, $code, $patient);
return;
} else {
if ($mbObject->_naissance) {
return;
}
switch ($mbObject->_ref_current_log->type) {
case "create":
$code = "A28";
break;
case "store":
// Patient lié
if ($mbObject->fieldModified("patient_link_id")) {
$code = "A24";
break;
}
// Annulation de la liaison avec le patient lié
if ($mbObject->_old->patient_link_id && !$mbObject->patient_link_id) {
$code = "A37";
break;
}
if ($receiver->_configs["send_patient_with_visit"]) {
/** @var CPatient $mbObject */
$sejour = $mbObject->loadRefsSejours(array("entree_reelle" => "IS NOT NULL"));
if (count($sejour) < 1) {
$code = null;
break;
}
}
if ($receiver->_configs["send_patient_with_current_admit"]) {
// On charge seulement le séjour courant pour le patient
$sejours = $mbObject->getCurrSejour(null, $receiver->group_id);
if (!$sejours) {
break;
}
$sejour = reset($sejours);
if (!$sejour->_id) {
break;
}
$mbObject->_ref_sejour = $sejour;
}
// Dans tous les autres cas il s'agit d'une modification
$code = $receiver->_configs["send_update_patient_information"] == "A08" ? "A08" : "A31";
break;
default:
$code = null;
}
}
if (!$code) {
return;
}
$patient = $mbObject;
if (!$this->isMessageSupported($this->transaction, $this->message, $code, $receiver)) {
return;
}
if (!$patient->_IPP) {
// Génération de l'IPP dans le cas de la création, ce dernier n'était pas créé
if ($msg = $patient->generateIPP()) {
CAppUI::setMsg($msg, UI_MSG_ERROR);
}
if (!$patient->_IPP) {
$IPP = new CIdSante400();
$IPP->loadLatestFor($patient, $receiver->_tag_patient);
$patient->_IPP = $IPP->id400;
}
}
// Envoi pas les patients qui n'ont pas d'IPP
if (!$receiver->_configs["send_all_patients"] && !$patient->_IPP) {
return;
}
$this->sendITI($this->profil, $this->transaction, $this->message, $code, $patient);
$patient->_IPP = null;
}
示例12:
$pdf->writeHTML(utf8_encode("<b>Prélèvement du " . CMbDT::transform($prescription->date, null, '%d-%m-%y à %H:%M') . " " . $urgent . "</b>"));
$pdf->setY(80);
// Affichage des analyses
$pdf->writeHTML(utf8_encode("<b>Analyses demandées:</b>"));
$pdf->SetFillColor(246, 246, 246);
$pdf->Cell(25, 7, utf8_encode("Identifiant"), 1, 0, 'C', 1);
$pdf->Cell(105, 7, utf8_encode("Libellé de l'analyse"), 1, 0, 'C', 1);
$pdf->Cell(30, 7, utf8_encode("Type"), 1, 0, 'C', 1);
$pdf->Cell(20, 7, utf8_encode("Loc."), 1, 0, 'C', 1);
$pdf->Ln();
$tagCatalogue = CAppUI::conf('dPlabo CCatalogueLabo remote_name');
// Chargement de l'id externe labo code4 du praticien
// Chargement de l'id400 "labo code4" du praticien
$tagCode4 = "labo code4";
$idex = new CIdSante400();
$idex->loadLatestFor($praticien, $tagCode4);
if ($idex->id400) {
$numPrat = $idex->id400;
$numPrat = str_pad($numPrat, 4, '0', STR_PAD_LEFT);
} else {
$numPrat = "xxxx";
}
// Chargement de la valeur de l'id externe de la prescription ==> retourne uniquement l'id400
if ($prescription->verouillee) {
$idex = $prescription->loadIdPresc();
$idex = str_pad($idex, 4, '0', STR_PAD_LEFT);
} else {
$idex = "xxxx";
}
$num = $numPrat . $idex;
// Initialisation du code barre, => utilisation par default du codage C128B
示例13: getTagNDA
/**
* Construit le tag NDA en fonction des variables de configuration
*
* @param int $group_id Permet de charger le NDA pour un établissement donné si non null
* @param string $type_tag Permet de spécifier le type de tag
*
* @return string|void
*/
static function getTagNDA($group_id = null, $type_tag = "tag_dossier")
{
// Recherche de l'établissement
$group = CGroups::get($group_id);
if (!$group_id) {
$group_id = $group->_id;
}
$cache = new Cache(__METHOD__, array($group_id, $type_tag), Cache::INNER);
if ($cache->exists()) {
return $cache->get();
}
// Gestion du tag NDA par son domaine d'identification
if (CAppUI::conf("eai use_domain")) {
$tag_NDA = CDomain::getMasterDomain("CSejour", $group_id)->tag;
if ($type_tag != "tag_dossier") {
$tag_NDA = CAppUI::conf("dPplanningOp CSejour {$type_tag}") . $tag_NDA;
}
return $cache->put($tag_NDA, false);
}
$tag_NDA = CAppUI::conf("dPplanningOp CSejour tag_dossier");
if ($type_tag != "tag_dossier") {
$tag_NDA = CAppUI::conf("dPplanningOp CSejour {$type_tag}") . $tag_NDA;
}
// Si on est dans le cas d'un établissement gérant la numérotation
$group->loadConfigValues();
if ($group->_configs["smp_idex_generator"]) {
$tag_NDA = CAppUI::conf("smp tag_nda");
}
// Pas de tag Num dossier
if (null == $tag_NDA) {
return $cache->put(null, false);
}
// Préférer un identifiant externe de l'établissement
if ($tag_group_idex = CAppUI::conf("dPplanningOp CSejour tag_dossier_group_idex")) {
$idex = new CIdSante400();
$idex->loadLatestFor($group, $tag_group_idex);
$group_id = $idex->id400;
}
return $cache->put(str_replace('$g', $group_id, $tag_NDA), false);
}