| 1 | RMPRPIXN ;HINCIO/ODJ - PIP STOCK ORDERS 661.41 file APIs ;3/8/01 | 
|---|
| 2 | ;;3.0;PROSTHETICS;**61**;Feb 09, 1996 | 
|---|
| 3 | Q | 
|---|
| 4 | ; | 
|---|
| 5 | ;***** GET - read in a HCPCS Item order record (661.41) | 
|---|
| 6 | ; | 
|---|
| 7 | ; Inputs: | 
|---|
| 8 | ;    RMPR41 - array of order data fields... | 
|---|
| 9 | ;    RMPR41("IEN") - ien of 661.41 record being read | 
|---|
| 10 | ; | 
|---|
| 11 | ; Outputs: | 
|---|
| 12 | ;    RMPR11 - HCPCS Item array | 
|---|
| 13 | ;    RMPR11("STATION") - Station name | 
|---|
| 14 | ;    RMPR11("HCPCS")   - HCPCS code | 
|---|
| 15 | ;    RMPR11("ITEM")    - HCPCS Item | 
|---|
| 16 | ; | 
|---|
| 17 | ;    RMPR41 - Order data fields array | 
|---|
| 18 | ;    RMPR41("DATE ORDER")   - Order date (external) | 
|---|
| 19 | ;    RMPR41("VENDOR")       - Vendor name | 
|---|
| 20 | ;    RMPR41("DATE RECEIVE") - Date of last receipt against the order | 
|---|
| 21 | ;                             (external) | 
|---|
| 22 | ;    RMPR41("ORDER QTY")    - Quantity ordered | 
|---|
| 23 | ;    RMPR41("RECEIVE QTY")  - Quantity received against the order | 
|---|
| 24 | ;    RMPR41("COMMENT")      - optional comment | 
|---|
| 25 | ;    RMPR41("BALANCE QTY")  - Balance quantity still on order | 
|---|
| 26 | ;    RMPR41("STATUS")       - Status (external) | 
|---|
| 27 | ; | 
|---|
| 28 | ;    RMPRERR - error status returned by function | 
|---|
| 29 | ;               0 - no problems | 
|---|
| 30 | ;               1 - invalid RMPR41("IEN") entered | 
|---|
| 31 | ;               2 - Problem with FM call | 
|---|
| 32 | ; | 
|---|
| 33 | GET(RMPR41,RMPR11) ; | 
|---|
| 34 | N RMPRERR,RMPRIEN,RMPROUP,RMPRFME,X,Y,DA | 
|---|
| 35 | S RMPRERR=0 | 
|---|
| 36 | I $G(RMPR41("IEN"))="" S RMPRERR=1 G GETX | 
|---|
| 37 | S RMPRIEN=RMPR41("IEN")_"," | 
|---|
| 38 | D GETS^DIQ(661.41,RMPRIEN,"*","","RMPROUP","RMPRFME") | 
|---|
| 39 | I $D(RMPRFME) S RMPRERR=2 G GETX | 
|---|
| 40 | S RMPR11("STATION")=RMPROUP(661.41,RMPRIEN,2) | 
|---|
| 41 | S RMPR11("HCPCS")=RMPROUP(661.41,RMPRIEN,5) | 
|---|
| 42 | S RMPR11("ITEM")=RMPROUP(661.41,RMPRIEN,1) | 
|---|
| 43 | S RMPR41("VENDOR")=RMPROUP(661.41,RMPRIEN,4) | 
|---|
| 44 | S RMPR41("DATE ORDER")=RMPROUP(661.41,RMPRIEN,.01) | 
|---|
| 45 | S RMPR41("DATE RECEIVE")=RMPROUP(661.41,RMPRIEN,6) | 
|---|
| 46 | S RMPR41("ORDER QTY")=RMPROUP(661.41,RMPRIEN,7) | 
|---|
| 47 | S RMPR41("RECEIVE QTY")=RMPROUP(661.41,RMPRIEN,8) | 
|---|
| 48 | S RMPR41("COMMENT")=RMPROUP(661.41,RMPRIEN,9) | 
|---|
| 49 | S RMPR41("BALANCE QTY")=RMPR41("ORDER QTY")-RMPR41("RECEIVE QTY") | 
|---|
| 50 | S RMPR41("STATUS")=RMPROUP(661.41,RMPRIEN,10) | 
|---|
| 51 | GETX Q RMPRERR | 
|---|
| 52 | ; | 
|---|
| 53 | ;***** GETI - get internal form of Order data fields | 
|---|
| 54 | ; | 
|---|
| 55 | ; Inputs and Outputs same as above for GET, except all internal values | 
|---|
| 56 | ; ie pointer's not names, internal not display date formats, etc. | 
|---|
| 57 | ; | 
|---|
| 58 | GETI(RMPR41,RMPR11) ; | 
|---|
| 59 | N RMPRERR,RMPRIEN,RMPROUP,RMPRFME,X,Y,DA | 
|---|
| 60 | S RMPRERR=0 | 
|---|
| 61 | I $G(RMPR41("IEN"))="" S RMPRERR=1 G GETX | 
|---|
| 62 | S RMPRIEN=RMPR41("IEN")_"," | 
|---|
| 63 | D GETS^DIQ(661.41,RMPRIEN,"*","I","RMPROUP","RMPRFME") | 
|---|
| 64 | I $D(RMPRFME) S RMPRERR=2 G GETX | 
|---|
| 65 | S RMPR11("STATION")=RMPROUP(661.41,RMPRIEN,2,"I") | 
|---|
| 66 | S RMPR11("HCPCS")=RMPROUP(661.41,RMPRIEN,5,"I") | 
|---|
| 67 | S RMPR11("ITEM")=RMPROUP(661.41,RMPRIEN,1,"I") | 
|---|
| 68 | S RMPR41("VENDOR")=RMPROUP(661.41,RMPRIEN,4,"I") | 
|---|
| 69 | S RMPR41("DATE ORDER")=RMPROUP(661.41,RMPRIEN,.01,"I") | 
|---|
| 70 | S RMPR41("DATE RECEIVE")=RMPROUP(661.41,RMPRIEN,6,"I") | 
|---|
| 71 | S RMPR41("ORDER QTY")=RMPROUP(661.41,RMPRIEN,7,"I") | 
|---|
| 72 | S RMPR41("RECEIVE QTY")=RMPROUP(661.41,RMPRIEN,8,"I") | 
|---|
| 73 | S RMPR41("COMMENT")=RMPROUP(661.41,RMPRIEN,9,"I") | 
|---|
| 74 | S RMPR41("BALANCE QTY")=RMPR41("ORDER QTY")-RMPR41("RECEIVE QTY") | 
|---|
| 75 | S RMPR41("STATUS")=RMPROUP(661.41,RMPRIEN,10,"I") | 
|---|
| 76 | GETIX Q RMPRERR | 
|---|
| 77 | ; | 
|---|
| 78 | ;***** UPD - Update an existing Order 661.41 record | 
|---|
| 79 | ; | 
|---|
| 80 | ; Inputs/Outputs - see above | 
|---|
| 81 | ; See GETI above for structure of RMPR41 and RMPR11 input arrays | 
|---|
| 82 | ; values must be in internal form | 
|---|
| 83 | ; | 
|---|
| 84 | UPD(RMPR41,RMPR11) ; | 
|---|
| 85 | N RMPRERR,RMPRIEN,RMPROUP,RMPRFME,X,Y,DA | 
|---|
| 86 | S RMPRERR=0 | 
|---|
| 87 | I $G(RMPR41("IEN"))="" S RMPRERR=1 G UPDX | 
|---|
| 88 | S RMPRIEN=RMPR41("IEN")_"," | 
|---|
| 89 | S:$D(RMPR11("STATION")) RMPROUP(661.41,RMPRIEN,2)=RMPR11("STATION") | 
|---|
| 90 | S:$D(RMPR11("HCPCS")) RMPROUP(661.41,RMPRIEN,5)=RMPR11("HCPCS") | 
|---|
| 91 | S:$D(RMPR11("ITEM")) RMPROUP(661.41,RMPRIEN,1)=RMPR11("ITEM") | 
|---|
| 92 | S:$D(RMPR41("DATE ORDER")) RMPROUP(661.41,RMPRIEN,.01)=RMPR41("DATE ORDER") | 
|---|
| 93 | S:$D(RMPR41("DATE RECEIVE")) RMPROUP(661.41,RMPRIEN,6)=RMPR41("DATE RECEIVE") | 
|---|
| 94 | S:$D(RMPR41("VENDOR")) RMPROUP(661.41,RMPRIEN,4)=RMPR41("VENDOR") | 
|---|
| 95 | S:$D(RMPR41("ORDER QTY")) RMPROUP(661.41,RMPRIEN,7)=RMPR41("ORDER QTY") | 
|---|
| 96 | S:$D(RMPR41("RECEIVE QTY")) RMPROUP(661.41,RMPRIEN,8)=RMPR41("RECEIVE QTY") | 
|---|
| 97 | S:$D(RMPR41("COMMENT")) RMPROUP(661.41,RMPRIEN,9)=RMPR41("COMMENT") | 
|---|
| 98 | S:$D(RMPR41("STATUS")) RMPROUP(661.41,RMPRIEN,10)=RMPR41("STATUS") | 
|---|
| 99 | D:$D(RMPROUP) FILE^DIE("","RMPROUP","RMPRFME") | 
|---|
| 100 | I $D(RMPRFME) S RMPRERR=2 | 
|---|
| 101 | UPDX Q RMPRERR | 
|---|
| 102 | ; | 
|---|
| 103 | ;***** CRE - Create an Order 661.41 record | 
|---|
| 104 | ; | 
|---|
| 105 | ; Inputs/Outputs - see above | 
|---|
| 106 | ; See GETI above for structure of RMPR41 and RMPR11 input arrays | 
|---|
| 107 | ; values must be in internal form | 
|---|
| 108 | ; | 
|---|
| 109 | CRE(RMPR41,RMPR11) ; | 
|---|
| 110 | N RMPRERR,RMPRIEN,RMPROUP,RMPRFME,X,Y,DA | 
|---|
| 111 | S RMPRERR=0 | 
|---|
| 112 | S RMPROUP(661.41,"+1,",2)=RMPR11("STATION") | 
|---|
| 113 | S RMPROUP(661.41,"+1,",5)=RMPR11("HCPCS") | 
|---|
| 114 | S RMPROUP(661.41,"+1,",1)=RMPR11("ITEM") | 
|---|
| 115 | S:$D(RMPR41("DATE ORDER")) RMPROUP(661.41,"+1,",.01)=RMPR41("DATE ORDER") | 
|---|
| 116 | S:$D(RMPR41("DATE RECEIVE")) RMPROUP(661.41,"+1,",6)=RMPR41("DATE RECEIVE") | 
|---|
| 117 | S:$D(RMPR41("VENDOR")) RMPROUP(661.41,"+1,",4)=RMPR41("VENDOR") | 
|---|
| 118 | S:$D(RMPR41("ORDER QTY")) RMPROUP(661.41,"+1,",7)=RMPR41("ORDER QTY") | 
|---|
| 119 | S:$D(RMPR41("RECEIVE QTY")) RMPROUP(661.41,"+1,",8)=RMPR41("RECEIVE QTY") | 
|---|
| 120 | S RMPROUP(661.41,"+1,",9)=$G(RMPR41("COMMENT")) | 
|---|
| 121 | S RMPROUP(661.41,"+1,",10)=RMPR41("STATUS") | 
|---|
| 122 | D UPDATE^DIE("","RMPROUP","RMPRIEN","RMPRFME") | 
|---|
| 123 | I $D(RMPRFME) S RMPRERR=1 | 
|---|
| 124 | S RMPR41("IEN")=RMPRIEN(1) | 
|---|
| 125 | CREX Q RMPRERR | 
|---|