Announcement

Collapse
No announcement yet.

Fields repetition

Collapse
X
 
  • Filter
  • Time
  • Show
Clear All
new posts

  • Fields repetition

    Hi,
    I have a question about fields repetition in HL7 message.
    I have my Outbound Message Template:
    Code:
    MSH|^~\\&|HIS|RIH|EKG|EKG|||ORM^001||P|2.5
    NTE||||^^^^^
    PID|||||||||||||||||||||||||||||||||||||||
    PD1|||||||||||||||||||||
    NTE||||
    NTE||||
    PV1|||||||||||||||||||||||||||||||||||||||||||||||||||||
    PV2||||||||||||||||||||||||||||||||||||||
    ORC||||||||||||||||||||||||||||||
    My interest is on PID segment and PID.11 field.

    An example of XML input message is :
    Code:
    <?xml version="1.0" encoding="UTF-8"?>
    <RispostaRicercaAmbulatori>
        <Esito/>
        <Ambulatori>
            <Anagrafica>
                <CodiceAnagrafico>123456789</CodiceAnagrafico>
                <Cognome>AAAA</Cognome>
                <Nome>BBBB</Nome>
                <ComuneNascita>001044</ComuneNascita>
                <DataNascita>10/07/1966</DataNascita>
                <Sesso>M</Sesso>
                <Libretto>608321423</Libretto>
                <Residenza Cap="37017" Comune="023043"
                    Indirizzo="VIA AAAAA 45"/>
                <Domicilio Indirizzo="VIA BBBBB 45"/>
    
            </Anagrafica>
        </Ambulatori>
    </RispostaRicercaAmbulatori>
    The code of my transformer is:

    Code:
    var field_PID11 = <PID.11><PID.11.1/><PID.11.2/><PID.11.3/><PID.11.4/><PID.11.5/><PID.11.6/><PID.11.7/><PID.11.8/><PID.11.9/><PID.11.10/><PID.11.11/><PID.11.12/><PID.11.13/><PID.11.14/></PID.11>;
    var counter = 0;
    if (msg['Ambulatori']['Anagrafica']['Residenza'] != null){
      java.lang.System.out.println("Counter - " + counter); 
      java.lang.System.out.println("Entrato in residenza"«»); 
      tmp['PID']['PID.11'][counter]=field_PID11
      tmp['PID']['PID.11'][counter]['PID.11.7']='L';
      tmp['PID']['PID.11'][counter]['PID.11.1']=msg['Ambulatori']['Anagrafica']['Residenza']['@Indirizzo'].toString();
      tmp['PID']['PID.11'][counter]['PID.11.5']=msg['Ambulatori']['Anagrafica']['Residenza']['@Cap'].toString();
      tmp['PID']['PID.11'][counter]['PID.11.9']=msg['Ambulatori']['Anagrafica']['Residenza']['@Comune'].toString();
    
      var comuneResidenza = msg['Ambulatori']['Anagrafica']['Residenza']['@Comune'].toString();
    
      if (comuneResidenza != ''){
          tmp['PID']['PID.11'][counter]['PID.11.3'] = "DESCRIZIONE COMUNE RESIDENZA";
          tmp['PID']['PID.11'][counter]['PID.11.4'] = "BB";
        }
      }
      counter++;
    }
    
    // domicilio
    if (msg['Ambulatori']['Anagrafica']['Domicilio']['@Indirizzo'].toString() != ''){
      java.lang.System.out.println("Counter - " + counter); 
      java.lang.System.out.println("Entrato in residenza"«»); 
      tmp['PID']['PID.11'][counter]=field_PID11
      tmp['PID']['PID.11'][counter]['PID.11.7']='C';
      tmp['PID']['PID.11'][counter]['PID.11.1']=msg['Ambulatori']['Anagrafica']['Domicilio']['@Indirizzo'].toString();
      tmp['PID']['PID.11'][counter]['PID.11.5']=msg['Ambulatori']['Anagrafica']['Domicilio']['@Cap'].toString();
      tmp['PID']['PID.11'][counter]['PID.11.2']=msg['Ambulatori']['Anagrafica']['Domicilio']['@Localita'].toString();
      counter++;
    }
    
    // nascita
    if (msg['Ambulatori']['Anagrafica']['ComuneNascita'].toString() != ''){
      java.lang.System.out.println("Counter - " + counter); 
      var comuneNascita = msg['Ambulatori']['Anagrafica']['ComuneNascita'].toString();
      var codiceComuneNascita = comuneNascita.substr(3,3);
      var codiceProvinciaNascita = comuneNascita.substr(0,3);
    
      tmp['PID']['PID.11'][counter]=field_PID11;
      tmp['PID']['PID.11'][counter]['PID.11.7']='N';
      tmp['PID']['PID.11'][counter]['PID.11.9'] = comuneNascita;
    
      if (comuneNascita != ''){
          tmp['PID']['PID.23']['PID.23.1'] = "DESCRIZIONE COMUNE NASCITA";
          tmp['PID']['PID.11'][counter]['PID.11.3'] = "DESCRIZIONE COMUNE NASCITA";
          tmp['PID']['PID.11'][counter]['PID.11.4'] = "AA";
          tmp['PID']['PID.11'][counter]['PID.11.5'] = "CAP";
        }
      }
    }
    The PID segment of output message is:
    PID|||||AAAA^BBBB||19660710|M|||VIA AAAAA 45^^DESCRIZIONE COMUNE RESIDENZA^BB^37017^^L^^023043^^^^^||||||||60832142 3||||DESCRIZIONE COMUNE NASCITA|||||||||||||||||VIA BBBBB 45^^^^^^C^^^^^^^~^^DESCRIZIONE COMUNE NASCITA^AA^CAP^^N^^001044^^^^^

    The fields ['PID']['PID.11'][1] and ['PID']['PID.11'][2] are at the end of HL7 message and
    not in the correct position within the message.
    Where is the error?
    Someone have a suggest.
    thanks
    Andrea
Working...
X