| [613] | 1 | MDHL7MCX ; HIRMFO/WAA - Generate HL7 Error Message for MEDICINE ; [05-07-2001 10:38] | 
|---|
|  | 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 | ; Reference IA #10111 call to file 3.8 (Read w/FM). | 
|---|
|  | 7 | D BULL,GENACK S MDERROR=1 Q | 
|---|
|  | 8 | BULL ; Generate error message | 
|---|
|  | 9 | I $G(MDERROR,0)=0 S MDERROR=1 | 
|---|
|  | 10 | S INST=$O(^MCAR(690.7,"B",MCAPP,0)) Q:'INST | 
|---|
|  | 11 | S MG=$P($G(^MCAR(690.7,INST,0)),"^",2) Q:'MG | 
|---|
|  | 12 | S MG=$$GET1^DIQ(3.8,MG_",",.01) Q:MG="" | 
|---|
|  | 13 | S XMTO="G."_MG_"@"_^XMB("NETNAME"),XMINSTR("FROM")=.5 | 
|---|
|  | 14 | S TXT(1)=ERRTX,TXT(2)=X,TXT(3)=" " | 
|---|
|  | 15 | S N=3 F X="MSH","PID","OBR","OBX" I $D(SEG(X)) S N=N+1,TXT(N)=SEG(X) | 
|---|
|  | 16 | S XMSUBJ="A Clinical Instrument HL7 Error has occurred." | 
|---|
|  | 17 | S XMBODY="TXT" | 
|---|
|  | 18 | D SENDMSG^XMXAPI(DUZ,XMSUBJ,XMBODY,XMTO,.XMINSTR) | 
|---|
|  | 19 | K TXT Q | 
|---|
|  | 20 | GENACK ; Generate an HL7 ACK message | 
|---|
|  | 21 | I $G(MDERROR,0)=0 Q:$G(MDFLAG)=1  ; CP is the interface to HL7 at this point | 
|---|
|  | 22 | S HLA("HLA",1)="MSA"_HL("FS")_$S($D(ERRTX):"AR",1:"AA")_HL("FS")_HL("MID")_$S($D(ERRTX):HL("FS")_ERRTX,1:"") | 
|---|
|  | 23 | S HLEID=HL("EID"),HLEIDS=HL("EIDS"),HLARYTYP="LM",HLFORMAT=1,HLRESLTA=HL("MID") | 
|---|
|  | 24 | D GENACK^HLMA1(HLEID,HLMTIENS,HLEIDS,HLARYTYP,HLFORMAT,.HLRESTLA) | 
|---|
|  | 25 | K ERRTX Q | 
|---|