exit; } ###### CONTROLLO SQL RICEVUTA $SQLResponse = array(); $SQLResponse_array = array(); $fp_SQLResponse = fopen($tmpQueryService_path . $idfile . "-SQLResponse-" . $idfile, "a+"); fwrite($fp_SQLResponse, "RISPOSTA DAL DB:\n"); $trovato = true; for ($SQcount = 0; $SQcount < $contaQuery && $trovato; $SQcount++) { $SQLQuery = $SQLStoredQuery[$SQcount]; $controllo_query_array = controllaQuery($SQLQuery, $Action, $MessageID); ######################################################################## ### ORA DEVO ESEGUIRE LA QUERY SUL DB DEL XDS_REGISTRY_QUERY REGISTRY ################ RISPOSTA ALLA QUERY (ARRAY) ###METTO A POSTO EVENTUALI STRINGHE DI COMANDO $SQLQuery_ESEGUITA = adjustQuery($SQLQuery); #### IMPORTANTE!!! ###SCRIVO LA QUERY CHE EFFETTIVAMENTE LANCIO A DB ###### ESEGUO LA QUERY $SQLResponse_array = query_select($SQLQuery_ESEGUITA); //writeTmpQueryFiles($SQLQuery_ESEGUITA,$idfile."-Query_eseguita-".$idfile); if ($SQLResponse_array[0] != "") { $SQLResponse = array_merge($SQLResponse, $SQLResponse_array); } else { $trovato = true; } } for ($uu = 0; $uu < count($SQLResponse); $uu++) { $value = $SQLResponse[$uu][0]; fwrite($fp_SQLResponse, "\n{$value}\n"); }
function validate_XDSSubmissionSetPatientIdInsert($dom, $connessione) { writeSQLQuery('--------------------------validate_XDSSubmissionSetPatientId---------------------------------'); //$ebxml_value = searchForIds($dom,'RegistryPackage','uniqueId'); $ebxml_value = ''; ##### RADICE DEL DOCUMENTO ebXML $root_ebXML = $dom->document_element(); $patientIdS = array(); ##### ARRAY DEI NODI REGISTRYPACKAGE $dom_ebXML_RegistryPackage_node_array = $root_ebXML->get_elements_by_tagname("RegistryPackage"); #### CICLO SU OGNI RegistryPackage #### $isEmpty_3 = false; $failure_3 = array(); $errorcode = array(); for ($index = 0; $index < count($dom_ebXML_RegistryPackage_node_array); $index++) { ##### NODO REGISTRYPACKAGE RELATIVO AL DOCUMENTO NUMERO $index $RegistryPackage_node = $dom_ebXML_RegistryPackage_node_array[$index]; #### ARRAY DEI FIGLI DEL NODO REGISTRYPACKAGE ############## $RegistryPackage_child_nodes = $RegistryPackage_node->child_nodes(); ################################################################# ################# PROCESSO TUTTI I NODI FIGLI DI REGISTRYPACKAGE for ($k = 0; $k < count($RegistryPackage_child_nodes); $k++) { #### SINGOLO NODO FIGLIO DI REGISTRYPACKAGE $RegistryPackage_child_node = $RegistryPackage_child_nodes[$k]; #### NOME DEL NODO $RegistryPackage_child_node_tagname = $RegistryPackage_child_node->node_name(); if ($RegistryPackage_child_node_tagname == 'ExternalIdentifier') { $externalidentifier_node = $RegistryPackage_child_node; //$value_value= avoidHtmlEntitiesInterpretation($externalidentifier_node->get_attribute('value')); $value_value = $externalidentifier_node->get_attribute('value'); #### NODI FIGLI DI EXTERNALIDENTIFIER $externalidentifier_child_nodes = $externalidentifier_node->child_nodes(); //print_r($name_node); for ($q = 0; $q < count($externalidentifier_child_nodes); $q++) { $externalidentifier_child_node = $externalidentifier_child_nodes[$q]; $externalidentifier_child_node_tagname = $externalidentifier_child_node->node_name(); if ($externalidentifier_child_node_tagname == 'Name') { $name_node = $externalidentifier_child_node; $LocalizedString_nodes = $name_node->child_nodes(); //print_r($LocalizedString_nodes); for ($p = 0; $p < count($LocalizedString_nodes); $p++) { $LocalizedString_node = $LocalizedString_nodes[$p]; //->node_name(); $LocalizedString_node_tagname = $LocalizedString_node->node_name(); if ($LocalizedString_node_tagname == 'LocalizedString') { $LocalizedString_value = $LocalizedString_node->get_attribute('value'); if (strpos(strtolower(trim($LocalizedString_value)), strtolower('SubmissionSet.patientId'))) { $ebxml_value = $value_value; } } } } } } } } //END OF for($index=0;$index<(count($dom_ebXML_RegistryPackage_node_array));$index++) //QUERY AL DB $query = "SELECT ID FROM Patient WHERE PID3 = '{$ebxml_value}'"; $res = query_select2($query, $connessione); //array bidimensionale writeSQLQuery($res . ": " . $query); $isEmpty_3 = empty($res); if ($isEmpty_3) { writeTimeFile("Registry: patId SCONOSCIUTO"); $insertPatient = adjustQuery("INSERT INTO Patient (ID,PID3,InsertDate) VALUES ('','{$ebxml_value}',CURRENT_TIMESTAMP)"); $ris = query_exec2($insertPatient, $connessione); writeSQLQuery($ris . ": " . $insertPatient); $isEmpty_3 = false; } $ret = array($isEmpty_3, $failure_3, $ebxml_value, $errorcode); return $ret; }