| 1 | ECXPRO2 ;ALB/GTS - Prosthetics Extract for DSS (Continued) ; July 16, 1998 | 
|---|
| 2 | ;;3.0;DSS EXTRACTS;**9,15,21,24,33**;Dec 22, 1997 | 
|---|
| 3 | ; | 
|---|
| 4 | ECXBUL(ECXLNE,ECXEBDT,ECXEEDT,ECNUM) ;* Set up the header for the exception msg | 
|---|
| 5 | ; | 
|---|
| 6 | ;   Input | 
|---|
| 7 | ;    ECXLNE  - The line number variable (passed by reference) | 
|---|
| 8 | ;    ECXEBDT - The Externally formated beginning date | 
|---|
| 9 | ;    ECXEEDT - The Externally formated ending date | 
|---|
| 10 | ;    ECNUM   - The Extract reference number | 
|---|
| 11 | ; | 
|---|
| 12 | ;   Output | 
|---|
| 13 | ;    ^TMP("ECX-PRO EXC",$J) - Array for the exception message | 
|---|
| 14 | ;    ECXLNE                 - The number of the next line in the msg | 
|---|
| 15 | ; | 
|---|
| 16 | S ^TMP("ECX-PRO EXC",$J,1)=" " | 
|---|
| 17 | S ^TMP("ECX-PRO EXC",$J,2)="The DSS-Prosthetic Extract #"_ECNUM_" for "_ECXEBDT_" through "_ECXEEDT | 
|---|
| 18 | S ^TMP("ECX-PRO EXC",$J,3)="has completed.  The following is a list of Prosthetics records that were NOT" | 
|---|
| 19 | S ^TMP("ECX-PRO EXC",$J,4)="extracted due to missing information in the Record of Pros Appliance/Repair" | 
|---|
| 20 | S ^TMP("ECX-PRO EXC",$J,5)="file (#660).  The Prosthetics record may be reviewed and the missing" | 
|---|
| 21 | S ^TMP("ECX-PRO EXC",$J,6)="information completed.  Once the missing information has been entered, it" | 
|---|
| 22 | S ^TMP("ECX-PRO EXC",$J,7)="will be necessary to re-generate the Prosthetics Extract for the above noted" | 
|---|
| 23 | S ^TMP("ECX-PRO EXC",$J,8)="date range." | 
|---|
| 24 | S ^TMP("ECX-PRO EXC",$J,9)=" " | 
|---|
| 25 | S ^TMP("ECX-PRO EXC",$J,10)="If you do not intend to transmit Prosthetics Extract #"_ECNUM_", then please" | 
|---|
| 26 | S ^TMP("ECX-PRO EXC",$J,11)="purge it before generating a new extract for the same date range." | 
|---|
| 27 | S ^TMP("ECX-PRO EXC",$J,12)=" " | 
|---|
| 28 | S ^TMP("ECX-PRO EXC",$J,13)=" " | 
|---|
| 29 | S ^TMP("ECX-PRO EXC",$J,14)=" PROSTHETICS FILE (#660)         MISSING DATA" | 
|---|
| 30 | S ^TMP("ECX-PRO EXC",$J,15)="       IEN                         ELEMENTS" | 
|---|
| 31 | S ^TMP("ECX-PRO EXC",$J,16)=" " | 
|---|
| 32 | S ECXLNE=15 | 
|---|
| 33 | Q | 
|---|
| 34 | ; | 
|---|
| 35 | ECXMISLN(ECXMISS,ECXLNE,ECXPIEN) ;** Report Missing Lines | 
|---|
| 36 | N ECXPCE,ECXFIRST,ECXFIELD | 
|---|
| 37 | S ECXFIRST=1 | 
|---|
| 38 | F ECXPCE=1:1:11 DO | 
|---|
| 39 | .I +$P(ECXMISS,"^",ECXPCE) DO | 
|---|
| 40 | ..S ECXFIELD=$P($T(ECXFLD+ECXPCE),";;",2) | 
|---|
| 41 | ..I 'ECXFIRST S ^TMP("ECX-PRO EXC",$J,ECXLNE)="                                   "_ECXFIELD | 
|---|
| 42 | ..I ECXFIRST DO | 
|---|
| 43 | ...S ^TMP("ECX-PRO EXC",$J,ECXLNE)="       "_ECXPIEN_"                          "_ECXFIELD | 
|---|
| 44 | ...S ECXFIRST=0 | 
|---|
| 45 | ..S ECXLNE=ECXLNE+1 | 
|---|
| 46 | S ^TMP("ECX-PRO EXC",$J,ECXLNE)=" " | 
|---|
| 47 | S ECXLNE=ECXLNE+1 | 
|---|
| 48 | Q | 
|---|
| 49 | ; | 
|---|
| 50 | ECXFLD ;* Missing Required fields | 
|---|
| 51 | ;;STATION | 
|---|
| 52 | ;;PATIENT NAME (Invalid) | 
|---|
| 53 | ;;SSN | 
|---|
| 54 | ;;NAME (In Patient file - #2) | 
|---|
| 55 | ;;DELIVERY DATE | 
|---|
| 56 | ;;TYPE OF TRANSACTION | 
|---|
| 57 | ;;SOURCE | 
|---|
| 58 | ;;HCPCS | 
|---|
| 59 | ;;REQUESTING STATION | 
|---|
| 60 | ;;FORM REQUESTED ON | 
|---|
| 61 | ;;RECEIVING STATION | 
|---|
| 62 | Q | 
|---|
| 63 | ; | 
|---|
| 64 | FEEDINFO(ECXSRCE,ECXHCPCS,ECXTYPE,ECXSTAT2,ECXRQST,ECXRCST,ECXLAB) ;Get Feeder Key and Feeder Location | 
|---|
| 65 | ;   Input | 
|---|
| 66 | ;    ECXSTAT2   - Station Number for extract | 
|---|
| 67 | ;    ECXTYPE   - Type of Transaction work performed | 
|---|
| 68 | ;    ECXSRCE   - Source of prosthesis | 
|---|
| 69 | ;    ECXHCPCS  - HCPCS code for prosthesis | 
|---|
| 70 | ;    ECXRQST   - Requesting Station | 
|---|
| 71 | ;    ECXRCST   - Receiving Station | 
|---|
| 72 | ;    ECXLAB    - Lab or non-Lab | 
|---|
| 73 | ;   Output (to be KILLed by calling routine) | 
|---|
| 74 | ;    ECXFELOC  - Feeder Location | 
|---|
| 75 | ;    ECXFEKEY  - Feeder Key | 
|---|
| 76 | ; | 
|---|
| 77 | ;* NOTE: If a Station # <> Requesting Station | 
|---|
| 78 | ;*         AND | 
|---|
| 79 | ;*       Station # <> Receiving Station, | 
|---|
| 80 | ;*       then Feeder Location will be NULL. | 
|---|
| 81 | ; | 
|---|
| 82 | S ECXFELOC="" | 
|---|
| 83 | S ECXFEKEY=ECXHCPCS_$S(ECXTYPE="X":"X",1:"N")_ECXSRCE | 
|---|
| 84 | ; | 
|---|
| 85 | ;* If processing a Non-Lab Transaction | 
|---|
| 86 | I ECXLAB="NONL" D  Q | 
|---|
| 87 | .S ECXFELOC=ECXSTAT2_"NONL" | 
|---|
| 88 | ; | 
|---|
| 89 | ;* If processing a Lab Transaction | 
|---|
| 90 | I ECXLAB="LAB" D  Q | 
|---|
| 91 | .I ECXSTAT2=ECXRCST D | 
|---|
| 92 | ..S ECXFELOC=ECXRCST_"LAB" | 
|---|
| 93 | ..S ECXFEKEY=ECXFEKEY_ECXRQST_"REQ" | 
|---|
| 94 | I ECXLAB="ORD" D  Q | 
|---|
| 95 | .I ECXSTAT2=ECXRQST D | 
|---|
| 96 | ..S ECXFELOC=ECXRQST_"ORD" | 
|---|
| 97 | ..S ECXFEKEY=ECXFEKEY_ECXRCST_"REC" | 
|---|
| 98 | ; | 
|---|
| 99 | Q | 
|---|