Downloads Documentation Community Contribute Demo






Show Sidebar
Login | Register
Show
Ignore:
Timestamp:
07/09/08 13:38:50 (6 months ago)
Author:
tmdugan
Message:

-- sockethl7listener

* made changes to optimize the speed of the md5 calculation and duplicate message check

Files:

Legend:

Unmodified
Added
Removed
Modified
Copied
Moved
  • openmrs-modules/sockethl7listener/src/org/openmrs/module/sockethl7listener/impl/SocketHL7ListenerServiceImpl.java

    r4773 r4869  
    11package org.openmrs.module.sockethl7listener.impl; 
    22 
     3import java.security.DigestException; 
    34import java.util.Date; 
    45import java.util.List; 
     
    78import org.hibernate.HibernateException; 
    89import org.openmrs.Encounter; 
    9 import org.openmrs.hl7.HL7InQueue; 
    1010import org.openmrs.module.sockethl7listener.db.SocketHL7ListenerDAO; 
    1111import org.openmrs.module.sockethl7listener.hibernateBeans.HL7Outbound; 
     
    1313import org.openmrs.module.sockethl7listener.hibernateBeans.PatientMessage; 
    1414import org.openmrs.module.sockethl7listener.service.SocketHL7ListenerService; 
     15import org.openmrs.module.sockethl7listener.util.Util; 
    1516import org.springframework.transaction.annotation.Transactional; 
    1617 
     
    7778                        pm.setDateCreated(new Date()); 
    7879                        pm.setEncounter_id(encounter_id); 
     80                        try 
     81                        { 
     82                                int index = message.indexOf("PID"); 
     83                                if(index >=0) 
     84                                { 
     85                                        pm.setMd5(Util.computeMD5(message.substring(index))); 
     86                                } 
     87                        } catch (DigestException e) 
     88                        { 
     89                        } 
    7990                        getSocketHL7ListenerDAO().savePatientMessage(pm); 
    8091                } catch (HibernateException e) 
     
    127138                try 
    128139                { 
    129                         List<HL7InQueue> hl7Messages = getSocketHL7ListenerDAO().checkMD5(incoming); 
     140                        List<PatientMessage> hl7Messages = getSocketHL7ListenerDAO().checkMD5(incoming); 
    130141 
    131142                        int count = hl7Messages.size(); 
     
    143154 
    144155                        String oneMessage = ""; 
    145                         for(HL7InQueue currHL7InQueue: hl7Messages) 
     156                        for(PatientMessage currMessage: hl7Messages) 
    146157                        { 
    147                                 md5Logger.info(currHL7InQueue.getHL7InQueueId()); 
    148                                 oneMessage = "\r\n" + currHL7InQueue.getHL7Data(); 
     158                                md5Logger.info(currMessage.getMessage_id()); 
     159                                oneMessage = "\r\n" + currMessage.getHl7Message(); 
    149160                        } 
    150161                        // only want one of the messages as an example