Ignore:
Timestamp:
Dec 4, 2009, 12:11:15 AM (14 years ago)
Author:
George Lilly
Message:

revised back to 6/30/08 version

File:
1 edited

Legend:

Unmodified
Added
Removed
  • WorldVistAEHR/trunk/r/CLINICAL_PROCEDURES-MD/MDHL7X.m

    r613 r623  
    1 MDHL7X  ; HOIFO/WAA -Generate HL7 Error Message ; 06/08/00
    2         ;;1.0;CLINICAL PROCEDURES;**6**;Apr 01, 2004;Build 102
    3         ; Reference IA #1131 for ^XMB("NETNAME") access.
    4         ; Reference IA #2165 for HLMA1 calls.
    5         ; Reference IA #2729 for XMXAPI calls.
    6         D GENERR,GENACK Q
    7 GENERR  ; Generate error message
    8         N TXT,INST,MG,XMTO,XMDUZ,XMSUBJ,XMBODY,N,X S MG=0
    9         S INST=DEVIEN
    10         I INST>1 S MG=$P($G(^MDS(702.09,INST,0)),"^",2)
    11         I 'MG!('$$MG^MDHL7U2(MG)) S MG=$$FIND1^DIC(3.8,"","BX","MD DEVICE ERRORS") Q:'MG
    12         S MG=$$GET1^DIQ(3.8,+MG_",",.01)
    13         S XMTO="G."_MG_"@"_^XMB("NETNAME"),XMINSTR("FROM")=.5
    14         I '$D(X) S X=$G(ECODE(0))
    15         S TXT(1)=ERRTX,TXT(2)=X,TXT(3)=" "
    16         S N=3
    17         I '$G(ECODE,1) D  ; This is to process Device errors
    18         . N X
    19         . S X=0
    20         . F  S X=$O(ECODE(X)) Q:X<1  S N=N+1,TXT(N)=ECODE(X)
    21         . S N=N+1,TXT(N)=" "
    22         . Q
    23         F X="MSH","PID","OBR","OBX" I $D(SEG(X)) S N=N+1,TXT(N)=SEG(X)
    24         S XMSUBJ="A Clinical Instrument HL7 Error has occurred."
    25         S XMBODY="TXT"
    26         D SENDMSG^XMXAPI(DUZ,XMSUBJ,XMBODY,XMTO,.XMINSTR)
    27         Q
    28 GENACK  ; Generate an HL7 ACK message
    29         ; Reference IA #2165 for GENACK^HLMA1 call
    30         N HLA,HLEID,HLEIDS,HLARYTYP,HLFORMAT,HLRESLTA
    31         S HLA("HLA",1)="MSA"_HL("FS")_$S($D(ERRTX):"AR",1:"AA")_HL("FS")_HL("MID")_$S($D(ERRTX):HL("FS")_ERRTX,1:"")
    32         S HLEID=HL("EID"),HLEIDS=HL("EIDS"),HLARYTYP="LM",HLFORMAT=1,HLRESLTA=HL("MID")
    33         D GENACK^HLMA1(HLEID,HLMTIENS,HLEIDS,HLARYTYP,HLFORMAT,.HLRESTLA)
    34         N ERRTX Q
     1MDHL7X ; HOIFO/WAA -Generate HL7 Error Message ; 06/08/00
     2 ;;1.0;CLINICAL PROCEDURES;;Apr 01, 2004
     3 ; Reference IA #1131 for ^XMB("NETNAME") access.
     4 ; Reference IA #2165 for HLMA1 calls.
     5 ; Reference IA #2729 for XMXAPI calls.
     6 D GENERR,GENACK Q
     7GENERR ; Generate error message
     8 N TXT,INST,MG,XMTO,XMDUZ,XMSUBJ,XMBODY,N,X S MG=0
     9 S INST=DEVIEN
     10 I INST>1 S MG=$P($G(^MDS(702.09,INST,0)),"^",2)
     11 I 'MG!('$$MG^MDHL7U2(MG)) S MG=$$FIND1^DIC(3.8,"","BX","MD DEVICE ERRORS") Q:'MG
     12 S MG=$$GET1^DIQ(3.8,+MG_",",.01)
     13 S XMTO="G."_MG_"@"_^XMB("NETNAME"),XMINSTR("FROM")=.5
     14 I '$D(X) S X=ECODE(0)
     15 S TXT(1)=ERRTX,TXT(2)=X,TXT(3)=" "
     16 S N=3
     17 I 'ECODE D  ; This is to process Device errors
     18 . N X
     19 . S X=0
     20 . F  S X=$O(ECODE(X)) Q:X<1  S N=N+1,TXT(N)=ECODE(X)
     21 . S N=N+1,TXT(N)=" "
     22 . Q
     23 F X="MSH","PID","OBR","OBX" I $D(SEG(X)) S N=N+1,TXT(N)=SEG(X)
     24 S XMSUBJ="A Clinical Instrument HL7 Error has occurred."
     25 S XMBODY="TXT"
     26 D SENDMSG^XMXAPI(DUZ,XMSUBJ,XMBODY,XMTO,.XMINSTR)
     27 Q
     28GENACK ; Generate an HL7 ACK message
     29 ; Reference IA #2165 for GENACK^HLMA1 call
     30 N HLA,HLEID,HLEIDS,HLARYTYP,HLFORMAT,HLRESLTA
     31 S HLA("HLA",1)="MSA"_HL("FS")_$S($D(ERRTX):"AR",1:"AA")_HL("FS")_HL("MID")_$S($D(ERRTX):HL("FS")_ERRTX,1:"")
     32 S HLEID=HL("EID"),HLEIDS=HL("EIDS"),HLARYTYP="LM",HLFORMAT=1,HLRESLTA=HL("MID")
     33 D GENACK^HLMA1(HLEID,HLMTIENS,HLEIDS,HLARYTYP,HLFORMAT,.HLRESTLA)
     34 N ERRTX Q
Note: See TracChangeset for help on using the changeset viewer.