Home   Package List   Routine Alphabetical List   Global Alphabetical List   FileMan Files List   FileMan Sub-Files List   Package Component Lists   Package-Namespace Mapping  
Routine: RMPRPIXA

RMPRPIXA.m

Go to the documentation of this file.
  1. RMPRPIXA ;HINCIO/ODJ - FILE 661.6 API ;3/8/01
  1. ;;3.0;PROSTHETICS;**61**;Feb 09, 1996
  1. Q
  1. ;
  1. ; SRCH
  1. SRCH(RMPR,RMPRXREF,RMPRLEV,RMPRT,RMPRFIND,RMPREOF) ;
  1. N RMPRRET,RMPRK1,RMPRK2,RMPRK3,RMPRK4
  1. S RMPRRET=0
  1. S RMPREOF=0
  1. I RMPRXREF="XHDS" D G SRCHX
  1. . S RMPRK1=$G(RMPR("HCPCS"))
  1. . S RMPRK2=$G(RMPR("DATE&TIME"))
  1. . S RMPRK3=$G(RMPR("SEQUENCE"))
  1. . S RMPRK4=$G(RMPR("IEN"))
  1. . S RMPRFIND=0
  1. . I RMPRK1="" D
  1. .. S RMPRK1=$O(^RMPR(661.6,RMPRXREF,""),RMPRT)
  1. .. Q
  1. . E D
  1. .. I '$D(^RMPR(661.6,RMPRXREF,RMPRK1)) D Q
  1. ... S RMPRK1=$O(^RMPR(661.6,RMPRXREF,RMPRK1),RMPRT)
  1. ... Q
  1. .. S RMPRFIND=1
  1. .. Q
  1. . I RMPRK1="" S RMPREOF=1 Q
  1. . S RMPR("HCPCS")=RMPRK1
  1. . I RMPRLEV="HCPCS" Q
  1. . S RMPRFIND=0
  1. . I RMPRK2="" D
  1. .. S RMPRK2=$O(^RMPR(661.6,RMPRXREF,RMPRK1,""),RMPRT)
  1. .. Q
  1. . E D
  1. .. I '$D(^RMPR(661.6,RMPRXREF,RMPRK1,RMPRK2)) D Q
  1. ... S RMPRK2=$O(^RMPR(661.6,RMPRXREF,RMPRK1,RMPRK2),RMPRT)
  1. ... Q
  1. .. S RMPRFIND=1
  1. .. Q
  1. . I RMPRK2="" S RMPREOF=1 Q
  1. . S RMPR("DATE&TIME")=RMPRK2
  1. . I RMPRLEV="DATE&TIME" Q
  1. . S RMPRFIND=0
  1. . I RMPRK3="" D
  1. .. S RMPRK3=$O(^RMPR(661.6,RMPRXREF,RMPRK1,RMPRK2,""),RMPRT)
  1. .. Q
  1. . E D
  1. .. I '$D(^RMPR(661.6,RMPRXREF,RMPRK1,RMPRK2,RMPRK3)) D Q
  1. ... S RMPRK3=$O(^RMPR(661.6,RMPRXREF,RMPRK1,RMPRK2,RMPRK3),RMPRT)
  1. ... Q
  1. .. S RMPRFIND=1
  1. .. Q
  1. . I RMPRK3="" S RMPREOF=1 Q
  1. . S RMPR("SEQUENCE")=RMPRK3
  1. . I RMPRLEV="SEQUENCE" Q
  1. . S RMPRFIND=0
  1. . I RMPRK4="" D
  1. .. S RMPRK4=$O(^RMPR(661.6,RMPRXREF,RMPRK1,RMPRK2,RMPRK3,""),RMPRT)
  1. .. Q
  1. . E D
  1. .. I '$D(^RMPR(661.6,RMPRXREF,RMPRK1,RMPRK2,RMPRK3,RMPRK4)) D Q
  1. ... S RMPRK4=$O(^RMPR(661.6,RMPRXREF,RMPRK1,RMPRK2,RMPRK3,RMPRK4),RMPRT)
  1. ... Q
  1. .. S RMPRFIND=1
  1. .. Q
  1. . I RMPRK4="" S RMPREOF=1 Q
  1. . S RMPR("IEN")=RMPRK4
  1. . Q
  1. SRCHX Q RMPRRET
  1. ;
  1. ; NEXT
  1. NEXT(RMPR,RMPRXREF,RMPRLEV,RMPRT,RMPROLD,RMPREOF) ;
  1. N RMPRRET,RMPRK1,RMPRK2,RMPRK3,RMPRK4,RMPRK5,RMPRK6,RMPRK7
  1. I $G(RMPRT)'=-1 S RMPRT=1
  1. S RMPRRET=0,RMPREOF=0
  1. ;
  1. ; HCPCS, Date&Time, Sequence X-ref
  1. I RMPRXREF="XHDS" D G NEXTX
  1. . S RMPRK1=$G(RMPR("HCPCS"))
  1. . S RMPRK2=$G(RMPR("DATE&TIME"))
  1. . S RMPRK3=$G(RMPR("SEQUENCE"))
  1. . S RMPRK4=$G(RMPR("IEN"))
  1. . I RMPRLEV="HCPCS" D Q:RMPREOF
  1. .. S RMPRK1=$O(^RMPR(661.6,RMPRXREF,RMPRK1),RMPRT)
  1. .. I RMPRK1="" S RMPREOF=1 K RMPROLD Q
  1. .. S (RMPRK2,RMPRK3,RMPRK4)=""
  1. .. Q
  1. . I RMPRLEV="DATE&TIME",RMPRK1'="" D
  1. .. S RMPRK2=$O(^RMPR(661.6,RMPRXREF,RMPRK1,RMPRK2),RMPRT)
  1. .. I RMPRK2="" S RMPREOF=1
  1. .. S (RMPRK3,RMPRK4)=""
  1. .. Q
  1. . I RMPRLEV="SEQUENCE",RMPRK2'="" D
  1. .. S RMPRK3=$O(^RMPR(661.6,RMPRXREF,RMPRK1,RMPRK2,RMPRK3),RMPRT)
  1. .. I RMPRK3="" S RMPREOF=1
  1. .. S RMPRK4=""
  1. .. Q
  1. . I RMPRLEV="",RMPRK3'="" D
  1. .. S RMPRK4=$O(^RMPR(661.6,RMPRXREF,RMPRK1,RMPRK2,RMPRK3,RMPRK4),RMPRT)
  1. .. I RMPRK4="" S RMPREOF=1
  1. .. Q
  1. . K RMPROLD
  1. . I RMPREOF D
  1. .. I RMPRK4="" S:RMPRK3'="" RMPRK3=$O(^RMPR(661.6,RMPRXREF,RMPRK1,RMPRK2,RMPRK3),RMPRT)
  1. .. I RMPRK3="" S:RMPRK2'="" RMPRK2=$O(^RMPR(661.6,RMPRXREF,RMPRK1,RMPRK2),RMPRT)
  1. .. I RMPRK2="" S:RMPRK1'="" RMPRK1=$O(^RMPR(661.6,RMPRXREF,RMPRK1),RMPRT) S:RMPRK1="" RMPREOF=1
  1. .. Q
  1. . I RMPRK1="",RMPREOF Q
  1. . S RMPREOF=0
  1. . M RMPROLD=RMPR
  1. . I RMPRK1="" S RMPRK1=$O(^RMPR(661.6,RMPRXREF,""),RMPRT)
  1. . I RMPRK2="" S RMPRK2=$O(^RMPR(661.6,RMPRXREF,RMPRK1,""),RMPRT)
  1. . I RMPRK3="" S RMPRK3=$O(^RMPR(661.6,RMPRXREF,RMPRK1,RMPRK2,""),RMPRT)
  1. . I RMPRK3="" W !,"*** HCPCS = ",RMPRK1,!,"*** DATE = ",RMPRK2,!,"*** is not in file #661.6",!,"*** Please investigate!!!!" Q
  1. . I RMPRK4="" S RMPRK4=$O(^RMPR(661.6,RMPRXREF,RMPRK1,RMPRK2,RMPRK3,""),RMPRT)
  1. . S RMPR("HCPCS")=RMPRK1
  1. . S RMPR("DATE&TIME")=RMPRK2
  1. . S RMPR("DATE")=$P(RMPRK2,".",1)
  1. . S RMPR("TIME")=$P(RMPRK2,".",2)
  1. . S RMPR("SEQUENCE")=RMPRK3
  1. . S RMPR("IEN")=RMPRK4
  1. . Q
  1. ;
  1. ; Station, Trans. Type, HCPCS, Item, Date&Time, Sequence X-ref.
  1. I RMPRXREF="ASTHIDS" D G NEXTX
  1. . S RMPRK1=$G(RMPR("STATION"))
  1. . S RMPRK2=$G(RMPR("TRAN TYPE"))
  1. . S RMPRK3=$G(RMPR("HCPCS"))
  1. . S RMPRK4=$G(RMPR("ITEM"))
  1. . S RMPRK5=$G(RMPR("DATE&TIME"))
  1. . S RMPRK6=$G(RMPR("SEQUENCE"))
  1. . S RMPRK7=$G(RMPR("IEN"))
  1. . I RMPRLEV="STATION" D Q:RMPREOF
  1. .. S RMPRK1=$O(^RMPR(661.6,RMPRXREF,RMPRK1),RMPRT)
  1. .. I RMPRK1="" S RMPREOF=1 K RMPROLD Q
  1. .. S (RMPRK2,RMPRK3,RMPRK4,RMPRK5,RMPRK6,RMPRK7)=""
  1. .. Q
  1. . I RMPRLEV="TRAN TYPE",RMPRK1'="" D
  1. .. S RMPRK2=$O(^RMPR(661.6,RMPRXREF,RMPRK1,RMPRK2),RMPRT)
  1. .. I RMPRK2="" S RMPREOF=1
  1. .. S (RMPRK3,RMPRK4,RMPRK5,RMPRK6,RMPRK7)=""
  1. .. Q
  1. . I RMPRLEV="HCPCS",RMPRK2'="" D
  1. .. S RMPRK3=$O(^RMPR(661.6,RMPRXREF,RMPRK1,RMPRK2,RMPRK3),RMPRT)
  1. .. I RMPRK3="" S RMPREOF=1
  1. .. S (RMPRK4,RMPRK5,RMPRK6,RMPRK7)=""
  1. .. Q
  1. . I RMPRLEV="ITEM",RMPRK3'="" D
  1. .. S RMPRK4=$O(^RMPR(661.6,RMPRXREF,RMPRK1,RMPRK2,RMPRK3,RMPRK4),RMPRT)
  1. .. I RMPRK4="" S RMPREOF=1
  1. .. S (RMPRK5,RMPRK6,RMPRK7)=""
  1. .. Q
  1. . I RMPRLEV="DATE&TIME",RMPRK4'="" D
  1. .. S RMPRK5=$O(^RMPR(661.6,RMPRXREF,RMPRK1,RMPRK2,RMPRK3,RMPRK4,RMPRK5),RMPRT)
  1. .. I RMPRK5="" S RMPREOF=1
  1. .. S (RMPRK6,RMPRK7)=""
  1. .. Q
  1. . I RMPRLEV="SEQUENCE",RMPRK5'="" D
  1. .. S RMPRK6=$O(^RMPR(661.6,RMPRXREF,RMPRK1,RMPRK2,RMPRK3,RMPRK4,RMPRK5,RMPRK6),RMPRT)
  1. .. I RMPRK6="" S RMPREOF=1
  1. .. S RMPRK7=""
  1. .. Q
  1. . I RMPRLEV="",RMPRK6'="" D
  1. .. S RMPRK7=$O(^RMPR(661.6,RMPRXREF,RMPRK1,RMPRK2,RMPRK3,RMPRK4,RMPRK5,RMPRK6,RMPRK7),RMPRT)
  1. .. I RMPRK7="" S RMPREOF=1
  1. .. Q
  1. . K RMPROLD
  1. . I RMPREOF D
  1. .. I RMPRK7="" S:RMPRK6'="" RMPRK6=$O(^RMPR(661.6,RMPRXREF,RMPRK1,RMPRK2,RMPRK3,RMPRK4,RMPRK5,RMPRK6),RMPRT)
  1. .. I RMPRK6="" S:RMPRK5'="" RMPRK5=$O(^RMPR(661.6,RMPRXREF,RMPRK1,RMPRK2,RMPRK3,RMPRK4,RMPRK5),RMPRT)
  1. .. I RMPRK5="" S:RMPRK4'="" RMPRK4=$O(^RMPR(661.6,RMPRXREF,RMPRK1,RMPRK2,RMPRK3,RMPRK4),RMPRT)
  1. .. I RMPRK4="" S:RMPRK3'="" RMPRK3=$O(^RMPR(661.6,RMPRXREF,RMPRK1,RMPRK2,RMPRK3),RMPRT)
  1. .. I RMPRK3="" S:RMPRK2'="" RMPRK2=$O(^RMPR(661.6,RMPRXREF,RMPRK1,RMPRK2),RMPRT)
  1. .. I RMPRK2="" S:RMPRK1'="" RMPRK1=$O(^RMPR(661.6,RMPRXREF,RMPRK1),RMPRT) S:RMPRK1="" RMPREOF=1
  1. .. Q
  1. . I RMPRK1="",RMPREOF Q
  1. . M RMPROLD=RMPR
  1. . I RMPRK1="" S RMPRK1=$O(^RMPR(661.6,RMPRXREF,""),RMPRT)
  1. . I RMPRK2="" S RMPRK2=$O(^RMPR(661.6,RMPRXREF,RMPRK1,""),RMPRT)
  1. . I RMPRK3="" S RMPRK3=$O(^RMPR(661.6,RMPRXREF,RMPRK1,RMPRK2,""),RMPRT)
  1. . I RMPRK4="" S RMPRK4=$O(^RMPR(661.6,RMPRXREF,RMPRK1,RMPRK2,RMPRK3,""),RMPRT)
  1. . I RMPRK5="" S RMPRK5=$O(^RMPR(661.6,RMPRXREF,RMPRK1,RMPRK2,RMPRK3,RMPRK4,""),RMPRT)
  1. . I RMPRK6="" S RMPRK6=$O(^RMPR(661.6,RMPRXREF,RMPRK1,RMPRK2,RMPRK3,RMPRK4,RMPRK5,""),RMPRT)
  1. . I RMPRK7="" S RMPRK7=$O(^RMPR(661.6,RMPRXREF,RMPRK1,RMPRK2,RMPRK3,RMPRK4,RMPRK5,RMPRK6,""),RMPRT)
  1. . S RMPR("STATION")=RMPRK1
  1. . S RMPR("TRAN TYPE")=RMPRK2
  1. . S RMPR("HCPCS")=RMPRK3
  1. . S RMPR("ITEM")=RMPRK4
  1. . S RMPR("DATE&TIME")=RMPRK5
  1. . S RMPR("SEQUENCE")=RMPRK6
  1. . S RMPR("IEN")=RMPRK7
  1. . Q
  1. NEXTX Q RMPRRET
  1. ;
  1. ; CRE
  1. CRE(RMPR616,RMPR6111) ;
  1. N RMPRRET,RMPRIENA,RMPRFDA,RMPRFME,X,Y,%
  1. N %,%H,%I,X
  1. S RMPRRET=0
  1. ;
  1. ; Get DATE&TIME for transaction and lock the file
  1. S RMPR616("DATE&TIME")=""
  1. F D Q:RMPR616("DATE&TIME")'=""
  1. . D NOW^%DTC
  1. . I $D(^RMPR(661.6,"XHDS",RMPR616("HCPCS"),%,1)) H (1+$R(3)) Q
  1. . L +^RMPR(661.6,"XHDS",RMPR616("HCPCS"),%):0 E Q
  1. . S RMPR616("DATE&TIME")=%
  1. . Q
  1. S RMPRFDA(661.6,"+1,",.01)=RMPR6111("HCPCS")
  1. S RMPRFDA(661.6,"+1,",2)=RMPR616("DATE&TIME")
  1. S RMPRFDA(661.6,"+1,",3)=RMPR616("SEQUENCE")
  1. S RMPRFDA(661.6,"+1,",4)=RMPR616("TRAN TYPE")
  1. S RMPRFDA(661.6,"+1,",5)=RMPR616("QUANTITY")
  1. S RMPRFDA(661.6,"+1,",6)=RMPR616("VALUE")
  1. S RMPRFDA(661.6,"+1,",8)=RMPR616("COMMENT")
  1. S RMPRFDA(661.6,"+1,",9)=RMPR616("USER")
  1. S RMPRFDA(661.6,"+1,",11)=RMPR6111("ITEM")
  1. S RMPRFDA(661.6,"+1,",12)=RMPR616("VENDOR")
  1. S RMPRFDA(661.6,"+1,",13)=RMPR6111("STATION")
  1. S RMPRFDA(661.6,"+1,",14)=RMPR616("LOCATION")
  1. D UPDATE^DIE("","RMPRFDA","RMPRIENA","RMPRFME")
  1. L -^RMPR(661.6,"XHDS",RMPR616("HCPCS"),RMPR616("DATE&TIME"))
  1. I $D(RMPRFME) S RMPRRET=1 G CREX
  1. S RMPR616("IEN")=RMPRIENA(1)
  1. CREX Q RMPRRET
  1. ;
  1. ; GET
  1. GET(RMPR) ;
  1. N RMPRRET,RMPRFME,RMPRIEN,RMPRKEY,RMPRERR,RMPROUP
  1. S RMPRRET=0
  1. I $G(RMPR("IEN"))="" D
  1. . I $G(RMPR("HCPCS"))="" S RMPRRET=1 Q
  1. . I $G(RMPR("DATE&TIME"))="" S RMPRRET=2 Q
  1. . S RMPRKEY("HCPCS")=RMPR("HCPCS")
  1. . S RMPRKEY("DATE&TIME")=RMPR("DATE&TIME")
  1. . S RMPRERR=$$NEXT(.RMPRKEY,"XHDS","",-1,,.RMPREOF)
  1. . I RMPRERR S RMPRRET=3 Q
  1. . I RMPRKEY("SEQUENCE")'=1 S RMPRRET=4 Q
  1. . S RMPR("IEN")=RMPRKEY("IEN")
  1. . Q
  1. I RMPRRET G GETX
  1. S RMPRIEN=RMPR("IEN")_","
  1. D GETS^DIQ(661.6,RMPRIEN,"*","","RMPROUP","RMPRFME")
  1. I $D(RMPRFME) S RMPRRET=5 G GETX
  1. S RMPR("HCPCS")=RMPROUP(661.6,RMPRIEN,.01)
  1. S RMPR("DATE&TIME")=RMPROUP(661.6,RMPRIEN,2)
  1. S RMPR("SEQUENCE")=RMPROUP(661.6,RMPRIEN,3)
  1. S RMPR("TRAN TYPE")=RMPROUP(661.6,RMPRIEN,4)
  1. S RMPR("QUANTITY")=RMPROUP(661.6,RMPRIEN,5)
  1. S RMPR("VALUE")=RMPROUP(661.6,RMPRIEN,6)
  1. S RMPR("COMMENT")=RMPROUP(661.6,RMPRIEN,8)
  1. S RMPR("USER")=RMPROUP(661.6,RMPRIEN,9)
  1. S RMPR("ITEM")=RMPROUP(661.6,RMPRIEN,11)
  1. S RMPR("VENDOR")=RMPROUP(661.6,RMPRIEN,12)
  1. S RMPR("STATION")=RMPROUP(661.6,RMPRIEN,13)
  1. S RMPR("LOCATION")=RMPROUP(661.6,RMPRIEN,14)
  1. GETX Q RMPRRET