GENERAL DESCRIPTION |
Silently (i.e. without user interaction) receive input
from a calling program for building a vendor query. The input would be in a
structured local array as in CLSIN shown below. CSLPRVQ* would use the input
to build an HL7 message, obtain the Message Control ID (MID), and send the
message to the CoreFLS database. When the results of the query were returned
by HL7, CSLPRVQ* would build an ^XTMP(SUB) global with that data. SUB equals
the string "CSLPRVQ" concatenated with the MID (ex. "CSLPRVQ516124898").
The expected structure of the input array (CSLIN) is as follows:
CSLIN(2.1) - VENDOR NAME
CSLIN(2.2) - TAX ID
CSLIN(2.3) - CITY
CSLIN(2.4) - STATE
CSLIN(2.5) - VENDOR SITE
CSLIN(2.6) - VENDOR ID
CSLIN(2.7) - AREA CODE
CSLIN(2.8) - PHONE NO
CSLIN(3.1) - ADDRESS 1
CSLIN(3.2) - ADDRESS 2
CSLIN(3.3) - ADDRESS 3
CSLIN(4) - ZIP
CSLIN(5) - CHAIN NO
Note that if any of the above nodes are not defined or are set to NULL then
those fields will not be used in composing the query. The data in every field
that is defined will have the "%" wildcard appended to it. For example, if
CSLIN(2.1)="MED" then the value "MED%" will be used in building the query.
An example of the structure of the output array (^XTMP(SUB)) appears below,
where SUB is as described above and N holds the information for the Nth result
returned from CoreFLS:
^XTMP(SUB,N,"ADDRESS1")=2010 59TH ST W STE 4700
^XTMP(SUB,N,"ATTRIBUTES",1,"CODE")=4
^XTMP(SUB,N,"ATTRIBUTES",1,"DESCRIPTION")=PURCHASING SITE
^XTMP(SUB,N,"ATTRIBUTES",2,"CODE")=5
^XTMP(SUB,N,"ATTRIBUTES",2,"DESCRIPTION")=PAY-TO-SITE
^XTMP(SUB,N,"CITY")=BRADENTON
^XTMP(SUB,N,"COUNTRY")=US
^XTMP(SUB,N,"COUNTY")=
^XTMP(SUB,N,"INACTIVE")=3031010.24
^XTMP(SUB,N,"LAST_UPDATED")=3010917.10344
^XTMP(SUB,N,"NAME")=MED ARTS REHAB INC
^XTMP(SUB,N,"NUMBER")=
^XTMP(SUB,N,"SITE_CODE")=BRADENTON-FL-00
^XTMP(SUB,N,"STATE")=FL
^XTMP(SUB,N,"TAXID")=592199074
^XTMP(SUB,N,"ZIP")=342094687
Note that each subscript shown above will be defined in the output array even
if that node contains no data (as in ^XTMP(SUB,N,"COUNTY") above). The first
50 results of the query will be returned in the ^XTMP(SUB) global. Because
^XTMP is used to hold the query results, the results would be deletable after
7 days.
The entry point for the silent vendor query: >W $$CSVQ^CSLPRVQ(.CSLIN) where
CSLIN is an array structured as shown above. If the query runs successfully,
the return value will look like "^CSLPRVQ516124898". If the query encounters
an error condition, the return value will look like "3^Not Found", with a
positive number in the first "^"-peice and a short descriptive message of the
error in the second "^"-peice. The different possible errors along with
comments are shown below.
CSLPRVQ* would return the ^XTMP subscript SUB as described above to the
calling application in the format "^SUB". If the first "^"-piece is nonzero
then an error occurred and the second "^"-piece will contain an error message.
The list below shows the error messages that could be returned along with
comments. Note that these error messages, unless specified in the comments to
the right, will appear as the return value for the routine call described
above.
Invalid input parameter list HL7 error - the input message
string sent to CoreFLS was invalid
Query aborted due to error: HL7 error when initializing HL7
parameters
Message send failure: HL7 error when transmitting
message to CoreFLS
Network Timeout the query request to CoreFLS
timed or the check for results
in ^XTMP timed out
Not Found no results obtained for query in
CoreFLS
104^wrong segment name HL7 errors when processing
201^application error incoming response from 202^application
reject CoreFLS - these will appear in 401^missing segments
nodes ^XTMP(SUB,"ERR"), 402^ERR segment received
^XTMP(SUB,"ETEXT"), and 403^wrong segment name (expected QAK)
^XTMP(SUB,"ENUMBER"). 404^missing segments 407^RDT segments expected
408^wrong segment name (RDT expected) 500^Can't find entry in ITEM QUERY file
999^unknown error wrong number of columns 900
a general error occurred. this
will also be in ^XTMP(SUB)
|