GENERAL DESCRIPTION |
AP Status Update
Purpose: To transmit a message from CoreFLS to VistA Prosthetics when a value
on a Prosthetics Purchase Order has been changed, either because of an Invoice
transaction, a price or quantity change on a PO. or a reconciliation of a line
item or the cancellation of a PO or the completion of a PO.
Behavior: There is no user prompting in this event. All information is
transmitted by CoreFLS. When the event occurs, a message is sent to VistA
Prosthetics via CSL. Upon receipt, an Application Acknowledgement ACK or NAK
is returned to CoreFLS.
Information is transmitted from CoreFLS in an HL7 format specified as "AP
Status Update Event from CoreFLS". Incoming information is read by routines
~CSLPRUP and ~CSLPRUPA. If the Order Status Field is "CA", the message is
considered a cancellation of the entire PO; otherwise, the message is a
transmission of a change to a specific line on a specified PO.
Information that is transmitted from CoreFLS is put into an ^XTMP global for
use by VistA Prosthetics.
The CSL routine calls a VistA routine, EN~RMPRCSL1(CSLSUB,.ERRAY), passing the
complete node structure of "CSLAPUP" concatenated with the Message Control ID,
for processing, plus any content or format errors that the CSL code has
identified.
NOTE: Quantity Invoiced and Invoice Line Amount are assumed to be transmitted
from CoreFLS as running totals for the line item on the PO. This means that
if 15 units were ordered and they were invoiced as they arrived as 1, 2, 3, 4
then 5 items, there would be 5 AP Status Update messages. The first would
reflect a quantity of 1, the second would be 3, the third would 6, the fourth
would be 10, and the fifth would be 15.
If the message transmitted is a cancellation of a complete Purchase Order, the
CSL process branches to ~CSLPRUPC to develop the ~XTMP global with less data
in the global but with the same structure. CSL invokes the same processing
routine for sending information to VistA Prosthetics.
The CSL routine evaluates the data sent by CoreFLS for the following structure
and content:
PO Number longer than 20 characters Quantity Ordered not numeric PO Line
number not numeric ACS longer than 200 characters Quantity Invoiced not
numeric Purchase card longer than 80 characters PO Line ID not numeric Unit
price not numeric Vendor Number longer than 30 characters Vendor Site longer
than 15 characters Update Date not formatted correctly Line Cancelled Quantity
not numeric Invoice Line Amount not numeric Order Line Amount not numeric
After VistA Prosthetics processes the supplied information, if an error is
detected, an error message is returned to CSL in sub-node 5 of the ~XTMP
global. This causes an Application NAK to be transmitted to CoreFLS for
evaluation and reprocessing. If no errors are detected, either by CSL or by
VistA Prosthetics, then an Application Acknowledgement ACK is sent from CSL to
CoreFLS. This completes the activities for AP Status Update
|
COMPONENT/ENTRY POINT |
COMPONENT/ENTRY POINT |
COMPONENT DESCRIPTION |
VARIABLES |
START |
The routine begins at START without any parameters
passed.
|
VARIABLES |
TYPE |
VARIABLES DESCRIPTION |
None |
|
|
~XTMP |
Output |
~XTMP - First Node Level = "CSLAPUP"+Message Control
ID Message Control ID is created by the HL7 package
~XTMP - Second Node Level = 0 through 6 ~XTMP(x,0) = Delete Record
Date^Transaction date~"Transmit message to Prosthetics for AP Status" Delete
Record Date - Date at which the ~XTMP nodes are killed. Transaction Date -
Date the ~XTMP nodes were built.
~XTMP(x,1)=Update Date~CoreFLS Purchase Order Number~CoreFLS Purchase Order
Line ID~Vendor Number~Vendor Name~Vendor Site Code Update Date - Date the
message was created. CoreFLS Purchase Order Number - Sequential number to
identify the Purchase Order Purchase Order Line ID - Sequential number to
identify the line item within the PO. Vendor Number, Name and Site Code -
Identifying information about the Vendor on the PO.
~XTMP(x,2)=Pcard Number~Item Number~Item description~Unit of Measure Code~UOM
description~Quantity Ordered~PO Unit Price Pcard Number - 16 digit number
without spaces. Item Description - Description of each item ordered on the
PO. Unit of Measure Code - Code describing the purchased item by quantity UOM
Description - Longer description of the purchased item by quantity Quantity
Ordered - Requested amount of each line on the PO. PO Unit Price - Price per
UOM for each line.
~XTMP(x,3)=Order Line Amount~Quantity Invoiced~Ivnoce Line Amount~Closed for
Invoice~Final Match~PO Line cancelled Quantity~PO Line Cancelled~PO Cancelled
Order Line Amount - Calculated value equal to Quantity Ordered times the Unit
Price Quantiy Invoiced - Quantity actually invoiced by the vendor Invoice Line
Amount - Calculated value equal to Quantity Invoiced times the Unit Price
Closed for Invoice - indicator flag equal to Y or N, to indicate that a PO has
closed for further invoicing. Final Match - Indicator flag equal to Y or N.
Y indicates that the message transmitted is the final transmission, and that
the line can be reconciled. PO Line Cancelled Quantity - If a specific line
on a PO is cancelled, this is the quantity that is cancelled. PO Line
Cancelled - An indicator flag equal to Y or N. A Y indicates that a specific
line on a PO is cancelled. PO Cancelled - an indicator flag equal to Y or N.
A Y indicates that the entire PO is cancelled
~XTMP(x,4)=ACS ACS - The complete Account Classification String for the PO
~XTMP(x,5)=Error Message Error Message - any text message indicating that
there is a problem with the message, from VistA or CSL to CoreFLS.
~XTMP(x,6)=Line Type~PO Header ID Line type - Either a "G" for goods and/or
services; "S" for shipping. PO Header ID - The CoreFLS PO Header ID Code.
|
|
|