Exemplo n.º 1
0
    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");
}
Exemplo n.º 2
0
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;
}