[613] | 1 | IBCNRMFK ;DAOU/DMK - Send HL7 e-Pharmacy MFK Message ;23-OCT-2003
|
---|
| 2 | ;;2.0;INTEGRATED BILLING;**251**;21-MAR-94
|
---|
| 3 | ;;Per VHA Directive 10-93-142, this routine should not be modified.
|
---|
| 4 | ;
|
---|
| 5 | ; Description
|
---|
| 6 | ;
|
---|
| 7 | ; Send HL7 e-Pharmacy MFK Message
|
---|
| 8 | ; (Application Acknowledgement)
|
---|
| 9 | ;
|
---|
| 10 | ; Required segments listed in order
|
---|
| 11 | ; MSH (Message Header Segment)
|
---|
| 12 | ; MSA (Message Acknowledgement Segment)
|
---|
| 13 | ; MFI (Master File Identifier Segment)
|
---|
| 14 | ; MFA (Master File Acknowledgement)
|
---|
| 15 | ;
|
---|
| 16 | ; Called by IBCNEHLI if all of the following are true:
|
---|
| 17 | ; * File # (MFI Segment) = 365.12, 366.01, 366.02, or 366.03
|
---|
| 18 | ; * Primary Key Value (MFE Segment) does not contain "IIV"
|
---|
| 19 | ; * Segment ID (every segment) = MFE, ZCM, ZP0, ZPB, ZPL, ZPT, or ZRX
|
---|
| 20 | ;
|
---|
| 21 | ; Entry point
|
---|
| 22 | ;
|
---|
| 23 | 1000 ; Control MFK Message processing
|
---|
| 24 | ;
|
---|
| 25 | ; Possible future use
|
---|
| 26 | ; Quit if no error to report
|
---|
| 27 | ;I '$D(DATAMFK("ERROR")) Q
|
---|
| 28 | ;
|
---|
| 29 | N ERROR,MESSAGE
|
---|
| 30 | K HLA("HLA")
|
---|
| 31 | ;
|
---|
| 32 | D MSA
|
---|
| 33 | D MFI
|
---|
| 34 | D MFA
|
---|
| 35 | ;
|
---|
| 36 | D GENACK^HLMA1(HL("EID"),HLMTIENS,HL("EIDS"),"LM",1,.ERROR)
|
---|
| 37 | ;
|
---|
| 38 | ; Error?
|
---|
| 39 | I $D(ERROR) D ERROR
|
---|
| 40 | ;
|
---|
| 41 | K HLA("HLA")
|
---|
| 42 | Q
|
---|
| 43 | ;
|
---|
| 44 | ERROR ; Process error
|
---|
| 45 | S MESSAGE(1)="Outgoing HL7 IIV Application Acknowledgment Message error"
|
---|
| 46 | S MESSAGE(2)=ERROR
|
---|
| 47 | D MESSAGE
|
---|
| 48 | Q
|
---|
| 49 | ;
|
---|
| 50 | MESSAGE ; Send message
|
---|
| 51 | Q
|
---|
| 52 | ;
|
---|
| 53 | MFA ; Create MFA Segment
|
---|
| 54 | N SEGMENT
|
---|
| 55 | ;
|
---|
| 56 | ; Segment ID
|
---|
| 57 | S $P(SEGMENT,HLFS,1)="MFA"
|
---|
| 58 | ;
|
---|
| 59 | ; MFE-1 Record-Level Event Code (from MFN Message)
|
---|
| 60 | ; MAC = Activate
|
---|
| 61 | ; MAD = Add
|
---|
| 62 | ; MDC = Deactivate
|
---|
| 63 | ; MDL = Delete
|
---|
| 64 | ; MUP = Update
|
---|
| 65 | S $P(SEGMENT,HLFS,2)=DATAMFK("MFE-1")
|
---|
| 66 | ;
|
---|
| 67 | ; Record-Level Error Return (relative to MFN Message)
|
---|
| 68 | ; Piece 1 = ID
|
---|
| 69 | ; S = Saved
|
---|
| 70 | ; P = Previous (not saved)
|
---|
| 71 | ; U = Undefined (not saved)
|
---|
| 72 | ; and
|
---|
| 73 | ; Piece 2 = Error Code (optional - if error)
|
---|
| 74 | ; Format = "V"NNN where N = number (e.g. V128)
|
---|
| 75 | I '$D(DATAMFK("ERROR")) S $P(SEGMENT,HLFS,5)="S"
|
---|
| 76 | I $D(DATAMFK("ERROR")) S $P(SEGMENT,HLFS,5)=$S(DATAMFK("IEN")=-1:"U",1:"P")_$E(HLECH,1)_DATAMFK("ERROR")
|
---|
| 77 | ;
|
---|
| 78 | ; MFE-4 Primary Key Value (from MFN Message)
|
---|
| 79 | S $P(SEGMENT,HLFS,6)=DATAMFK("MFE-4")
|
---|
| 80 | ;
|
---|
| 81 | ; MFE-5 Primary Key Value Type (from MFN Message)
|
---|
| 82 | S $P(SEGMENT,HLFS,7)=DATAMFK("MFE-5")
|
---|
| 83 | ;
|
---|
| 84 | S HLA("HLA",3)=SEGMENT
|
---|
| 85 | Q
|
---|
| 86 | ;
|
---|
| 87 | MFI ; Create MFI Segment
|
---|
| 88 | N SEGMENT
|
---|
| 89 | ;
|
---|
| 90 | ; Segment ID
|
---|
| 91 | S $P(SEGMENT,HLFS,1)="MFI"
|
---|
| 92 | ;
|
---|
| 93 | ; MFI-1 Master File Identifier (from MFN Message)
|
---|
| 94 | S $P(SEGMENT,HLFS,2)=DATAMFK("MFI-1")
|
---|
| 95 | ;
|
---|
| 96 | ; MFI-3 File-Level Event Code (from MFN Message)
|
---|
| 97 | S $P(SEGMENT,HLFS,4)=DATAMFK("MFI-3")
|
---|
| 98 | ;
|
---|
| 99 | ; Response-Level Code
|
---|
| 100 | ; NE = Never (send response Application Acknowledgement Message)
|
---|
| 101 | S $P(SEGMENT,HLFS,7)="NE"
|
---|
| 102 | ;
|
---|
| 103 | S HLA("HLA",2)=SEGMENT
|
---|
| 104 | Q
|
---|
| 105 | ;
|
---|
| 106 | MSA ; Create MSA Segment
|
---|
| 107 | N SEGMENT
|
---|
| 108 | ;
|
---|
| 109 | ; Segment ID
|
---|
| 110 | S $P(SEGMENT,HLFS,1)="MSA"
|
---|
| 111 | ;
|
---|
| 112 | ; Acknowledgment Code (relative to MFN Message)
|
---|
| 113 | ; AA = application acknowledgement accept
|
---|
| 114 | ; AR = application acknowledgement reject
|
---|
| 115 | S $P(SEGMENT,HLFS,2)=$S($D(DATAMFK("ERROR")):"AR",1:"AA")
|
---|
| 116 | ;
|
---|
| 117 | ; MSH-10 Message Control ID (from MFN Message)
|
---|
| 118 | S $P(SEGMENT,HLFS,3)=HL("MID")
|
---|
| 119 | ;
|
---|
| 120 | S HLA("HLA",1)=SEGMENT
|
---|
| 121 | Q
|
---|