[613] | 1 | IBCNEHLM ;DAOU/ALA - HL7 Registration MFN Message ;10-JUN-2002
|
---|
| 2 | ;;2.0;INTEGRATED BILLING;**184,251,300**;21-MAR-94
|
---|
| 3 | ;;Per VHA Directive 10-93-142, this routine should not be modified.
|
---|
| 4 | ;
|
---|
| 5 | ;**Program Description**
|
---|
| 6 | ; This program will process the outgoing registration MFN message
|
---|
| 7 | ;
|
---|
| 8 | ; Variables
|
---|
| 9 | ; MCT = Lines of MailMan message counter
|
---|
| 10 | ; QFL = Quit flag
|
---|
| 11 | ; HL* = HL7 package specific variables
|
---|
| 12 | ; TAXID = Tax ID
|
---|
| 13 | ; CNTCPH = Contact Phone
|
---|
| 14 | ; CNTCEM = Contact Email
|
---|
| 15 | ; FRSH = Freshness Days
|
---|
| 16 | ; MGRP = Mailgroup to email messages to
|
---|
| 17 | ; INACT = Inactive Insurance Flag
|
---|
| 18 | ; CNTC = Contact IEN
|
---|
| 19 | ; APP = Application
|
---|
| 20 | ; EVENT = HL7 Event
|
---|
| 21 | ; CODE = Values sent in the MFN message
|
---|
| 22 | ; IPP = IP Port
|
---|
| 23 | ; IPA = IP Address
|
---|
| 24 | ; RESP = Response Code
|
---|
| 25 | ; IHLP = Interface HL7 Processing Type
|
---|
| 26 | ; IHLT = Interface HL7 Batch Start Time
|
---|
| 27 | ; IHLS = Interface HL7 Batch Stop Time
|
---|
| 28 | ; IVER = Interface Version
|
---|
| 29 | ;
|
---|
| 30 | REG ; Registration message for when a site installs
|
---|
| 31 | NEW TAXID,CNTCPH,CNTCEM,CNTCNM,IBCNE,FRSH,MGRP,INACT,IHLP,MFE,HLSAN
|
---|
| 32 | NEW IHLT,CNTC,APP,EVENT,CODE,EDT,MFN,HL,HLFS,HLECH,MCT,HLPROD,HLX,ID
|
---|
| 33 | NEW HLEID,IPP,IPA,IBCNEDAT,HLCS,HLINST,HLN,RESP,HLHDR
|
---|
| 34 | NEW HLTYPE,HLQ,HLRESLT,IHLS,HLCDOM,HLCINS,HLCSTCP,HLIP,%I,ZMID
|
---|
| 35 | NEW VMFE,IVER
|
---|
| 36 | K ^TMP("HLS",$J) S MCT=0,QFL=0
|
---|
| 37 | ;
|
---|
| 38 | ; Get data from IB Parameters File
|
---|
| 39 | S TAXID=$TR($P($G(^IBE(350.9,1,1)),U,5),"-",""),CNTCPH="",CNTCEM="",CNTCNM=""
|
---|
| 40 | S IBCNE=$G(^IBE(350.9,1,51))
|
---|
| 41 | S FRSH=$P(IBCNE,U,1)
|
---|
| 42 | S MGRP=$$MGRP^IBCNEUT5()
|
---|
| 43 | S INACT=$E($$GET1^DIQ(350.9,"1,",51.08,"E"))
|
---|
| 44 | S IHLP=$P(IBCNE,U,13),IHLT=$P(IBCNE,U,14),CNTC=$P(IBCNE,U,16)
|
---|
| 45 | S IHLS=$P(IBCNE,U,19)
|
---|
| 46 | S IVER="3"
|
---|
| 47 | ;
|
---|
| 48 | I IHLP="I" S (IHLT,IHLS)=""
|
---|
| 49 | ;
|
---|
| 50 | ; Get contact specific information
|
---|
| 51 | I CNTC'="" D
|
---|
| 52 | . S CNTCNM=$P($G(^VA(200,CNTC,0)),U,1)
|
---|
| 53 | . S CNTCPH=$P($G(^VA(200,CNTC,.13)),U,2)
|
---|
| 54 | . S CNTCEM=$P($G(^VA(200,CNTC,.15)),U,1)
|
---|
| 55 | ;
|
---|
| 56 | ; Email if any missing data
|
---|
| 57 | I CNTC="" S MCT=MCT+1,MSG(MCT)="The Contact Person is not defined in the IIV Site Parameters. ",QFL=1
|
---|
| 58 | I CNTC'="",CNTCPH="" S MCT=MCT+1,MSG(MCT)="The office phone number of the IIV Contact Person is not defined (File 200, Field .132). ",QFL=1
|
---|
| 59 | I CNTC'="",CNTCEM="" S MCT=MCT+1,MSG(MCT)="The email address of the IIV Contact Person is not defined (File 200, Field .151). ",QFL=1
|
---|
| 60 | ;
|
---|
| 61 | I IHLP="B",IHLT=""!(IHLS="") D S QFL=1
|
---|
| 62 | . S MCT=MCT+1,MSG(MCT)="The ""HL7 Response Processing Method"" selected is Batch but the HL7 Batch "
|
---|
| 63 | . I IHLT="",IHLS="" S MSG(MCT)=MSG(MCT)_"Start and End Times are blank. " Q
|
---|
| 64 | . S MSG(MCT)=MSG(MCT)_$S(IHLT="":"Start",1:"End")_" Time is blank. "
|
---|
| 65 | ;
|
---|
| 66 | I FRSH=""!(INACT="")!(IHLP="") D
|
---|
| 67 | . S MCT=MCT+1,MSG(MCT)="The following IIV Site Parameters are not defined: "
|
---|
| 68 | . I FRSH="" S MCT=MCT+1,MSG(MCT)="""Days between electronic reverification checks"" is blank. "
|
---|
| 69 | . I INACT="" S MCT=MCT+1,MSG(MCT)="""Look at a patient's inactive insurance?"" is blank. "
|
---|
| 70 | . I IHLP="" S MCT=MCT+1,MSG(MCT)="""HL7 Response Processing Method"" is blank. "
|
---|
| 71 | . Q
|
---|
| 72 | ;
|
---|
| 73 | I $O(MSG(""))'="" D MLMN
|
---|
| 74 | I QFL=1 Q
|
---|
| 75 | ;
|
---|
| 76 | HL ; When a site installs, the enrollment should be an
|
---|
| 77 | ; "MUP" (update) record.
|
---|
| 78 | N VZRR
|
---|
| 79 | S MFE(1)="MUP"
|
---|
| 80 | ;
|
---|
| 81 | ; Initialize the HL7
|
---|
| 82 | D INIT^HLFNC2("IBCNE IIV REGISTER",.HL)
|
---|
| 83 | S HLFS=HL("FS"),HLECH=HL("ECH"),HL("SAF")=$P($$SITE^VASITE,U,2,3)
|
---|
| 84 | ; S HLEID=$$HLP^IBCNEHLU("IBCNE IIV REGISTER")
|
---|
| 85 | ;
|
---|
| 86 | ; Set the MFI segment
|
---|
| 87 | S ID="Facility Table",APP="",EVENT="UPD",RESP="NE"
|
---|
| 88 | S ^TMP("HLS",$J,1)=$$MFI^VAFHLMFI(ID,APP,EVENT,,,RESP)
|
---|
| 89 | ;
|
---|
| 90 | ; Set the MFE segment
|
---|
| 91 | S EVENT=MFE(1),MFN="",EDT=$$DT^XLFDT()
|
---|
| 92 | S CODE=$P($$SITE^VASITE,U,3)_$E(HLECH)
|
---|
| 93 | S VMFE=$$MFE^VAFHLMFE(EVENT,MFN,EDT,CODE)
|
---|
| 94 | S $P(VMFE,U,11)=$S($P(VMFE,U,11)="YES":"Y",1:"N")
|
---|
| 95 | S ^TMP("HLS",$J,2)=VMFE_HLFS_"CE"
|
---|
| 96 | ;
|
---|
| 97 | ; Set the ZRR segment
|
---|
| 98 | S VZRR="ZRR"_HLFS_"1"_HLFS_TAXID_HLFS_HLFS_$$HLNAME^HLFNC(CNTCNM,$E(HLECH))_"^C"_HLFS
|
---|
| 99 | S VZRR=VZRR_CNTCPH_$E(HLECH)_$E(HLECH)_$E(HLECH)_CNTCEM_HLFS_FRSH_HLFS_IHLP_HLFS_IHLT_$E(HLECH)_IHLS_HLFS_INACT_HLFS_IVER
|
---|
| 100 | S ^TMP("HLS",$J,3)=VZRR
|
---|
| 101 | ;
|
---|
| 102 | D GENERATE^HLMA("IBCNE IIV REGISTER","GM",1,.HLRESLT,"")
|
---|
| 103 | I $P(HLRESLT,U,2)]"" S HLRESLT="Error - "_$P(HLRESLT,U,2,99) D Q
|
---|
| 104 | . S MSG(1)="HL7 IIV Registration Message not created."
|
---|
| 105 | . S MSG(2)=HLRESLT
|
---|
| 106 | . D MLMN
|
---|
| 107 | K ^TMP("HLS",$J)
|
---|
| 108 | Q
|
---|
| 109 | ;
|
---|
| 110 | MLMN ; MailMan Message
|
---|
| 111 | D TXT^IBCNEUT7("MSG")
|
---|
| 112 | S XMSUB="IIV Registration Failure"
|
---|
| 113 | D MSG^IBCNEUT5(MGRP,XMSUB,"MSG(")
|
---|
| 114 | K XMSUB,XMY,MSG,XMZ,XMDUZ
|
---|
| 115 | Q
|
---|