...CONTINUO
//Original mode

static String Send_message_DSR (String disp ,Vector query ,String QRD , String QRF)

{

try
{

Message_Type = (String)query.elementAt(8); // va inserito in MSA
Messagge_Control_id = (String)query.elementAt(9); // identificativo unico della query
Sending_Application = (String)query.elementAt(2); // Applicazione che trasmette
Sending_Facility = (String)query.elementAt(3); // Istituzione che trasmette
String messaggiohl7out=msh(1,"DSR")+msa("AA")+QRD+delim1+ QRF+delim1+dsp(disp);
outToClient.writeBytes (+messaggiohl7out);
}

catch (SQLException e)
{
System.out.println ("Non riesco ad inviare il messaggio");
System.out.println (e);
gestione_errore (1);
}
}




// Ricerca della disponibilità nella tabella servizi



static String ricerca (String What_department_Data_Code)

{

try

{

PreparedStatement seleziona = c.prepareStatement("SELECT * FROM servizi WHERE id LIKE ?");
seleziona.setString(What_department_Data_Code);
ResultSet res=seleziona.executeQuery(); // conterrà la riga desiderata se presente
String disp = rs.getString("disponibilita");
seleziona.close ();
}


catch (SQLException e)
{
System.out.println ("Non riesco ad accedere alla tabella servizi");
System.out.println (e);
gestione_errore (1);
}



return disp;
}




/*Controllo . La procedura può essere estesa anche ad altri tipi di
segmenti. */


static String controllo_messaggio (String segmento ,String delim , int indice )

{
String flag="OK";
StringTokenizer segment = new StringTokenizer(segmento,delim);
int count = fields.countTokens ( );
count=count-1;
String tipo = fields.nextToken ( );
switch (indice)
{
case 1 : //MSH

{
if (count!=20 || tipo!="MSH")
{
flag=" - Errore nel segmento MSH";
}
} break;

case 2 : //QRD

{
if (count!=12 || tipo!="QRD")
{
flag=" - Errore nel segmento QRD";
}
}break;

case 3 : //QRF

{
if (count!=9 || tipo!="QRF")
{
flag=" - Errore nel segmento QRF";
}
}break;
}



return flag;
}





static void gestione_errore (int errore )

{

switch (errore)
{
case 1 :

{
messaggiohl7out = msh (2,"")+msa("AR_r");
outToClient.writeBytes (+messaggiohl7out);

}break;

case 2 :

{
messaggiohl7out=msh(1,"ACK")+msa("AR_m")+err();
outToClient.writeBytes (+messaggiohl7out);
}break;


}



}


...Continua