Sorry, I should have written in english before, my problem is that I am bringing data from DB, and I am saving it into an HL7 file. In order to avoid ambiguous data, I use a flag in the DB records(Processed='Y'), Once I mark the records after saving them into my hL7 file, Mirth still creates an aditional file with the template empty. If there is no more data...I don't want the Chanel to create any other file(less if it is empty)
Is there any instruction to hide the template?
I attached my transformer javascript file:
var dbConn = globalMap.get("dbConn");
if (dbConn == null || dbConn.getConnection().isClosed())
{
// Create the connection.
dbConn = DatabaseConnectionFactory.createDatabaseConnection (globalMap.get("dbDriver"),globalMap.get("dbUrl"), globalMap.get("dbUser"),globalMap.get("dbPassword" ));
// Put the new connection into the global map.
globalMap.put("dbConn", dbConn);
}
//informacion de paciente:
var sql="select distinct a.csxp_admi_secuencia as csxp_admi_secuencia,a.pac_id as pac_id, f.categoria, e.primer_apellido||' '||e.segundo_apellido||' '||e.apellido_de_casada||'^'||e.primer_nombre||' '||e.segundo_nombre nombres, e.id_paciente_flis, to_char(nvl(e.f_nac,e.fecha_nacimiento),'yyyymmdd' ) dob,e.residencia_direccion as direccion, e.telefono, e.telefono_movil, min(a.num_orden) nun_orden from tbl_cds_detalle_solicitud a,tbl_cds_centro_servicio b,tbl_cds_solicitud c,tbl_cds_procedimiento d, vw_adm_paciente e, tbl_adm_admision f where a.cod_procedimiento=d.codigo and c.codigo=a.cod_solicitud and c.admi_pac_codigo=a.csxp_admi_pac_codigo and c.admi_secuencia=a.csxp_admi_secuencia and c.admi_pac_fec_nac=a.csxp_admi_pac_fec_nac and a.cod_centro_servicio=b.codigo and e.pac_id = a.pac_id and a.pac_id = f.pac_id and a.csxp_admi_secuencia = f.secuencia and b.interfaz='LIS' and a.processed='N' and a.estado='S' and a.sent_retries <=3 and a.pac_id="+$('pacId')+" group by a.csxp_admi_secuencia,a.pac_id, f.categoria, e.primer_apellido||' '||e.segundo_apellido||' '||e.apellido_de_casada||'^'||e.primer_nombre||' '||e.segundo_nombre, e.id_paciente_flis, to_char(nvl(e.f_nac,e.fecha_nacimiento),'yyyymmdd' ), e.telefono,e.residencia_direccion, e.telefono_movil ";
var cont=0,pac_id="",id_paciente_flis="",nombres="",te lefono="",direccion="",dob="",csxp_admi_secuencia= "";
try
{
var rs = dbConn.executeCachedQuery(sql);
while(rs.next())
{
pac_id=rs.getString('pac_id');
id_paciente_flis=rs.getString('id_paciente_flis');
nombres=rs.getString('nombres');
csxp_admi_secuencia=rs.getString('csxp_admi_secuen cia');
dob=rs.getString('dob');
direccion=rs.getString('direccion');
telefono=rs.getString('telefono')+"^"+rs.getString ('telefono_movil');
cont++;
}
}
catch(e)
{
logger.error(sql+'\n'+e);
}
var sql2="select to_char(sysdate,'yyyymmddHH24miss')||'-'||a.codigo||'-'||a.cod_solicitud as messageid,a.codigo as codigo,a.cod_solicitud as cod_solicitud,a.csxp_admi_secuencia as csxp_admi_secuencia,a.pac_id as pac_id,a.cod_cita as cod_cita,a.fecha_cita as fecha_cita,a.cod_procedimiento as cod_procedimiento,a.cod_centro_servicio as cod_centro_servicio,coalesce(c.med_codigo_resp,(se lect medico from tbl_adm_admision where pac_id=a.pac_id and secuencia=a.csxp_admi_secuencia)) as med_codigo_resp,a.num_orden as num_orden,nvl(replace(replace(a.comentario,chr(10) ,'/'),chr(13),' '),'') as comentario,coalesce(d.observacion,d.descripcion) as cpt_desc,to_char(a.fecha_solicitud,'yyyyMMdd')||to _char(a.fecha_creac,'hh24miss') as fecha_solicitud, sf.fn_cds_get_idcitaris( a.pac_id, to_char(a.fecha_cargo,'dd/mm/yyyy'), a.cod_centro_servicio, a.cod_procedimiento) idcitaris from tbl_cds_detalle_solicitud a,tbl_cds_centro_servicio b,tbl_cds_solicitud c,tbl_cds_procedimiento d where a.cod_procedimiento=d.codigo and c.codigo=a.cod_solicitud and c.admi_pac_codigo=a.csxp_admi_pac_codigo and c.admi_secuencia=a.csxp_admi_secuencia and c.admi_pac_fec_nac=a.csxp_admi_pac_fec_nac and a.cod_centro_servicio=b.codigo and b.interfaz='LIS' and a.processed='N' and a.estado='S' and a.sent_retries <=3 AND A.PAC_ID="+$('pacId');
var size=0,ins2="",id="",num_orden="",fecha_solicitud= "",cod_procedimiento="",cpt_desc="",ins=tmp['OBR'],comentario="",i=0;
var codigo="",result="",mes="",cod_solicitud="",csxp_a dmi_secuencia="",fecha_cita="",cod_centro_servicio ="",med_cod_resp="";
try
{
var rs2 = dbConn.executeCachedQuery(sql2);
while(rs2.next())
{
size++;
}
}catch(e)
{
logger.error(sql+'\n'+e);
}
if(size>=1)
{
tmp['MSH']['MSH.7']['MSH.7.1']= DateUtil.getCurrentDate('yyyyMMddHHmmssSSS');
tmp['MSH']['MSH.10']['MSH.10.1']=msg['MESSAGEID'].toString();
tmp['PID']['PID.2']['PID.2.1']="";
tmp['PID']['PID.3']['PID.3.1']=msg['PAC_ID'].toString();
tmp['PID']['PID.4']['PID.4.1']=id_paciente_flis;
tmp['PID']['PID.5']['PID.5.1']=nombres;
tmp['PID']['PID.6']['PID.6.1']=dob;
tmp['PID']['PID.7']['PID.7.1']=csxp_admi_secuencia;
tmp['PID']['PID.8']['PID.8.1']=direccion;
tmp['PID']['PID.9']['PID.9.1']=telefono;
try{
var rs3 = dbConn.executeCachedQuery(sql2);
}
catch(e)
{
logger.error(sql+'\n'+e);
}
while(rs3.next())
{
num_orden =rs3.getString('NUM_ORDEN');
cod_procedimiento =rs3.getString('COD_PROCEDIMIENTO');
cpt_desc =rs3.getString('CPT_DESC');
comentario =rs3.getString('COMENTARIO');
fecha_solicitud=rs3.getString('FECHA_SOLICITUD');
codigo=rs3.getString('CODIGO');
cod_solicitud=rs3.getString('COD_SOLICITUD');
csxp_admi_secuencia=rs3.getString('CSXP_ADMI_SECUE NCIA');
cod_cita=rs3.getString('COD_CITA');
fecha_cita=rs3.getString('FECHA_CITA');
cod_centro_servicio=rs3.getString('COD_CENTRO_SERV ICIO');
med_cod_resp=rs3.getString('MED_CODIGO_RESP');
mes=rs3.getString('MESSAGEID');
tmp['OBR'][i] =ins; //copies the obr to a new segment
tmp['OBR'][i]['OBR.1']['OBR.1.1']=i+1;
tmp['OBR'][i]['OBR.2']['OBR.2.1']=num_orden;
tmp['OBR'][i]['OBR.4']['OBR.4.1']=cod_procedimiento;
tmp['OBR'][i]['OBR.4']['OBR.4.2']=cpt_desc;
tmp['OBR'][i]['OBR.5']['OBR.5.1']=comentario;
tmp['OBR'][i]['OBR.6']['OBR.6.1']=cod_solicitud;
tmp['OBR'][i]['OBR.7']['OBR.7.1']=fecha_solicitud;
tmp['OBR'][i]['OBR.9']['OBR.9.1']=cod_centro_servicio;
tmp['OBR'][i]['OBR.10']['OBR.10.1']=med_cod_resp;
i++;
}
}
//sql="update tbl_cds_detalle_solicitud set processed='Y',sent_retries=(sent_retries+1),time_s ent=sysdate where num_orden="+num_orden+" and pac_id="+$('pacId');
sql="update tbl_cds_detalle_solicitud set processed='Y',time_sent=null, sent_retries=(sent_retries+1) where pac_id="+$('pacId')+" and processed='N' and sent_retries<=0 and estado='S'";
//sql="update tbl_cds_detalle_solicitud set processed='Y',sent_retries=(sent_retries+1),time_s ent=sysdate,messageid='"+msg['MESSAGEID'].toString()+"' where codigo="+$('codigo')+" and cod_solicitud="+$('codSolicitud')+" and csxp_admi_secuencia="+$('admSecuencia')+" and pac_id="+$('pacId');
result=dbConn.executeUpdate(sql);
Is there any instruction to hide the template?
I attached my transformer javascript file:
var dbConn = globalMap.get("dbConn");
if (dbConn == null || dbConn.getConnection().isClosed())
{
// Create the connection.
dbConn = DatabaseConnectionFactory.createDatabaseConnection (globalMap.get("dbDriver"),globalMap.get("dbUrl"), globalMap.get("dbUser"),globalMap.get("dbPassword" ));
// Put the new connection into the global map.
globalMap.put("dbConn", dbConn);
}
//informacion de paciente:
var sql="select distinct a.csxp_admi_secuencia as csxp_admi_secuencia,a.pac_id as pac_id, f.categoria, e.primer_apellido||' '||e.segundo_apellido||' '||e.apellido_de_casada||'^'||e.primer_nombre||' '||e.segundo_nombre nombres, e.id_paciente_flis, to_char(nvl(e.f_nac,e.fecha_nacimiento),'yyyymmdd' ) dob,e.residencia_direccion as direccion, e.telefono, e.telefono_movil, min(a.num_orden) nun_orden from tbl_cds_detalle_solicitud a,tbl_cds_centro_servicio b,tbl_cds_solicitud c,tbl_cds_procedimiento d, vw_adm_paciente e, tbl_adm_admision f where a.cod_procedimiento=d.codigo and c.codigo=a.cod_solicitud and c.admi_pac_codigo=a.csxp_admi_pac_codigo and c.admi_secuencia=a.csxp_admi_secuencia and c.admi_pac_fec_nac=a.csxp_admi_pac_fec_nac and a.cod_centro_servicio=b.codigo and e.pac_id = a.pac_id and a.pac_id = f.pac_id and a.csxp_admi_secuencia = f.secuencia and b.interfaz='LIS' and a.processed='N' and a.estado='S' and a.sent_retries <=3 and a.pac_id="+$('pacId')+" group by a.csxp_admi_secuencia,a.pac_id, f.categoria, e.primer_apellido||' '||e.segundo_apellido||' '||e.apellido_de_casada||'^'||e.primer_nombre||' '||e.segundo_nombre, e.id_paciente_flis, to_char(nvl(e.f_nac,e.fecha_nacimiento),'yyyymmdd' ), e.telefono,e.residencia_direccion, e.telefono_movil ";
var cont=0,pac_id="",id_paciente_flis="",nombres="",te lefono="",direccion="",dob="",csxp_admi_secuencia= "";
try
{
var rs = dbConn.executeCachedQuery(sql);
while(rs.next())
{
pac_id=rs.getString('pac_id');
id_paciente_flis=rs.getString('id_paciente_flis');
nombres=rs.getString('nombres');
csxp_admi_secuencia=rs.getString('csxp_admi_secuen cia');
dob=rs.getString('dob');
direccion=rs.getString('direccion');
telefono=rs.getString('telefono')+"^"+rs.getString ('telefono_movil');
cont++;
}
}
catch(e)
{
logger.error(sql+'\n'+e);
}
var sql2="select to_char(sysdate,'yyyymmddHH24miss')||'-'||a.codigo||'-'||a.cod_solicitud as messageid,a.codigo as codigo,a.cod_solicitud as cod_solicitud,a.csxp_admi_secuencia as csxp_admi_secuencia,a.pac_id as pac_id,a.cod_cita as cod_cita,a.fecha_cita as fecha_cita,a.cod_procedimiento as cod_procedimiento,a.cod_centro_servicio as cod_centro_servicio,coalesce(c.med_codigo_resp,(se lect medico from tbl_adm_admision where pac_id=a.pac_id and secuencia=a.csxp_admi_secuencia)) as med_codigo_resp,a.num_orden as num_orden,nvl(replace(replace(a.comentario,chr(10) ,'/'),chr(13),' '),'') as comentario,coalesce(d.observacion,d.descripcion) as cpt_desc,to_char(a.fecha_solicitud,'yyyyMMdd')||to _char(a.fecha_creac,'hh24miss') as fecha_solicitud, sf.fn_cds_get_idcitaris( a.pac_id, to_char(a.fecha_cargo,'dd/mm/yyyy'), a.cod_centro_servicio, a.cod_procedimiento) idcitaris from tbl_cds_detalle_solicitud a,tbl_cds_centro_servicio b,tbl_cds_solicitud c,tbl_cds_procedimiento d where a.cod_procedimiento=d.codigo and c.codigo=a.cod_solicitud and c.admi_pac_codigo=a.csxp_admi_pac_codigo and c.admi_secuencia=a.csxp_admi_secuencia and c.admi_pac_fec_nac=a.csxp_admi_pac_fec_nac and a.cod_centro_servicio=b.codigo and b.interfaz='LIS' and a.processed='N' and a.estado='S' and a.sent_retries <=3 AND A.PAC_ID="+$('pacId');
var size=0,ins2="",id="",num_orden="",fecha_solicitud= "",cod_procedimiento="",cpt_desc="",ins=tmp['OBR'],comentario="",i=0;
var codigo="",result="",mes="",cod_solicitud="",csxp_a dmi_secuencia="",fecha_cita="",cod_centro_servicio ="",med_cod_resp="";
try
{
var rs2 = dbConn.executeCachedQuery(sql2);
while(rs2.next())
{
size++;
}
}catch(e)
{
logger.error(sql+'\n'+e);
}
if(size>=1)
{
tmp['MSH']['MSH.7']['MSH.7.1']= DateUtil.getCurrentDate('yyyyMMddHHmmssSSS');
tmp['MSH']['MSH.10']['MSH.10.1']=msg['MESSAGEID'].toString();
tmp['PID']['PID.2']['PID.2.1']="";
tmp['PID']['PID.3']['PID.3.1']=msg['PAC_ID'].toString();
tmp['PID']['PID.4']['PID.4.1']=id_paciente_flis;
tmp['PID']['PID.5']['PID.5.1']=nombres;
tmp['PID']['PID.6']['PID.6.1']=dob;
tmp['PID']['PID.7']['PID.7.1']=csxp_admi_secuencia;
tmp['PID']['PID.8']['PID.8.1']=direccion;
tmp['PID']['PID.9']['PID.9.1']=telefono;
try{
var rs3 = dbConn.executeCachedQuery(sql2);
}
catch(e)
{
logger.error(sql+'\n'+e);
}
while(rs3.next())
{
num_orden =rs3.getString('NUM_ORDEN');
cod_procedimiento =rs3.getString('COD_PROCEDIMIENTO');
cpt_desc =rs3.getString('CPT_DESC');
comentario =rs3.getString('COMENTARIO');
fecha_solicitud=rs3.getString('FECHA_SOLICITUD');
codigo=rs3.getString('CODIGO');
cod_solicitud=rs3.getString('COD_SOLICITUD');
csxp_admi_secuencia=rs3.getString('CSXP_ADMI_SECUE NCIA');
cod_cita=rs3.getString('COD_CITA');
fecha_cita=rs3.getString('FECHA_CITA');
cod_centro_servicio=rs3.getString('COD_CENTRO_SERV ICIO');
med_cod_resp=rs3.getString('MED_CODIGO_RESP');
mes=rs3.getString('MESSAGEID');
tmp['OBR'][i] =ins; //copies the obr to a new segment
tmp['OBR'][i]['OBR.1']['OBR.1.1']=i+1;
tmp['OBR'][i]['OBR.2']['OBR.2.1']=num_orden;
tmp['OBR'][i]['OBR.4']['OBR.4.1']=cod_procedimiento;
tmp['OBR'][i]['OBR.4']['OBR.4.2']=cpt_desc;
tmp['OBR'][i]['OBR.5']['OBR.5.1']=comentario;
tmp['OBR'][i]['OBR.6']['OBR.6.1']=cod_solicitud;
tmp['OBR'][i]['OBR.7']['OBR.7.1']=fecha_solicitud;
tmp['OBR'][i]['OBR.9']['OBR.9.1']=cod_centro_servicio;
tmp['OBR'][i]['OBR.10']['OBR.10.1']=med_cod_resp;
i++;
}
}
//sql="update tbl_cds_detalle_solicitud set processed='Y',sent_retries=(sent_retries+1),time_s ent=sysdate where num_orden="+num_orden+" and pac_id="+$('pacId');
sql="update tbl_cds_detalle_solicitud set processed='Y',time_sent=null, sent_retries=(sent_retries+1) where pac_id="+$('pacId')+" and processed='N' and sent_retries<=0 and estado='S'";
//sql="update tbl_cds_detalle_solicitud set processed='Y',sent_retries=(sent_retries+1),time_s ent=sysdate,messageid='"+msg['MESSAGEID'].toString()+"' where codigo="+$('codigo')+" and cod_solicitud="+$('codSolicitud')+" and csxp_admi_secuencia="+$('admSecuencia')+" and pac_id="+$('pacId');
result=dbConn.executeUpdate(sql);
Hacer que no Se muestre la plantilla Hl7
0 commentaires:
Enregistrer un commentaire