| [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 | 
|---|