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

RMPRPIXE.m

Go to the documentation of this file.
  1. RMPRPIXE ;HINCIO/ODJ-FILE 661.7 API ;3/8/01
  1. ;;3.0;PROSTHETICS;**61**;Feb 09, 1996
  1. Q
  1. ;
  1. ; NEXT - is used to get the next (or previous) record keys
  1. ; from an input set of keys, on file 661.7, using a
  1. ; specified cross-reference and key level.
  1. ; The following cross-references are currently supported...
  1. ;
  1. ; XHDS - HCPCS, Date&Time and Sequence
  1. ; XSHIDS - Station, HCPCS, Item, Date&Time and Sequence
  1. ; XSLHIDS - Station, Location, HCPCS, Item,
  1. ; Date&Time and Sequence
  1. ;
  1. ; Inputs:
  1. ; RMPR - an array of key values which define a record.
  1. ; The specification of this array is dependent on which
  1. ; cross-reference is entered (see below)
  1. ; RMPRXREF - The cross-reference used to order on (see above)
  1. ; RMPRLEV - The level of traversal. This is also dependent on
  1. ; which cross-reference is used (see below)
  1. ; RMPRT - Direction of traversal: 1 - Next (ascending)
  1. ; -1 - Previous (descending)
  1. ; RMPROLD - This is a copy of RMPR prior to changing RMPR values
  1. ; RMPREOF - End Of File flag: 1 - End Of File, 0 - not end of file
  1. ;
  1. ; XHDS x-ref:
  1. ; RMPR("HCPCS")
  1. ; RMPR("DATE&TIME")
  1. ; RMPR("SEQUENCE")
  1. ; RMPR("IEN")
  1. ; Set RMPRLEV to...
  1. ; "HCPCS" - HCPCS
  1. ; "DATE&TIME" - DATE&TIME
  1. ; "SEQUENCE" - SEQUENCE
  1. ; "" - All records
  1. ;
  1. ; XSHIDS x-ref:
  1. ; RMPR("STATION")
  1. ; RMPR("HCPCS")
  1. ; RMPR("ITEM")
  1. ; RMPR("DATE&TIME")
  1. ; RMPR("SEQUENCE")
  1. ; Set RMPRLEV to...
  1. ; "STATION"
  1. ; "HCPCS"
  1. ; "ITEM"
  1. ; "DATE&TIME"
  1. ; "SEQUENCE"
  1. ; ""
  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.7,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.7,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.7,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.7,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.7,RMPRXREF,RMPRK1,RMPRK2,RMPRK3),RMPRT)
  1. .. I RMPRK3="" S:RMPRK2'="" RMPRK2=$O(^RMPR(661.7,RMPRXREF,RMPRK1,RMPRK2),RMPRT)
  1. .. I RMPRK2="" S:RMPRK1'="" RMPRK1=$O(^RMPR(661.7,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.7,RMPRXREF,""),RMPRT)
  1. . Q:RMPRK1=""
  1. . I RMPRK2="" S RMPRK2=$O(^RMPR(661.7,RMPRXREF,RMPRK1,""),RMPRT)
  1. . Q:RMPRK2=""
  1. . I RMPRK3="" S RMPRK3=$O(^RMPR(661.7,RMPRXREF,RMPRK1,RMPRK2,""),RMPRT)
  1. . Q:RMPRK3=""
  1. . I RMPRK4="" S RMPRK4=$O(^RMPR(661.7,RMPRXREF,RMPRK1,RMPRK2,RMPRK3,""),RMPRT)
  1. . S RMPR("HCPCS")=RMPRK1
  1. . S RMPR("DATE&TIME")=RMPRK2
  1. . S RMPR("SEQUENCE")=RMPRK3
  1. . S RMPR("IEN")=RMPRK4
  1. . Q
  1. ;
  1. ; Station, HCPCS, Item, Date&Time, Sequence X-ref.
  1. I RMPRXREF="XSHIDS" D G NEXTX
  1. . S (RMPRK2,RMPRK3,RMPRK4,RMPRK5,RMPRK6)=""
  1. . S RMPRK1=$G(RMPR("STATION"))
  1. . S:RMPRK1'="" RMPRK2=$G(RMPR("HCPCS"))
  1. . S:RMPRK2'="" RMPRK3=$G(RMPR("ITEM"))
  1. . S:RMPRK3'="" RMPRK4=$G(RMPR("DATE&TIME"))
  1. . S:RMPRK4'="" RMPRK5=$G(RMPR("SEQUENCE"))
  1. . S:RMPRK5'="" RMPRK6=$G(RMPR("IEN"))
  1. . I RMPRLEV="STATION" D Q:RMPREOF
  1. .. S RMPRK1=$O(^RMPR(661.7,RMPRXREF,RMPRK1),RMPRT)
  1. .. I RMPRK1="" S RMPREOF=1 K RMPROLD Q
  1. .. S (RMPRK2,RMPRK3,RMPRK4,RMPRK5,RMPRK6)=""
  1. .. Q
  1. . I RMPRLEV="HCPCS",RMPRK1'="" D
  1. .. S RMPRK2=$O(^RMPR(661.7,RMPRXREF,RMPRK1,RMPRK2),RMPRT)
  1. .. I RMPRK2="" S RMPREOF=1
  1. .. S (RMPRK3,RMPRK4,RMPRK5,RMPRK6)=""
  1. .. Q
  1. . I RMPRLEV="ITEM",RMPRK2'="" D
  1. .. S RMPRK3=$O(^RMPR(661.7,RMPRXREF,RMPRK1,RMPRK2,RMPRK3),RMPRT)
  1. .. I RMPRK3="" S RMPREOF=1
  1. .. S (RMPRK4,RMPRK5,RMPRK6)=""
  1. .. Q
  1. . I RMPRLEV="DATE&TIME",RMPRK3'="" D
  1. .. S RMPRK4=$O(^RMPR(661.7,RMPRXREF,RMPRK1,RMPRK2,RMPRK3,RMPRK4),RMPRT)
  1. .. I RMPRK4="" S RMPREOF=1
  1. .. S (RMPRK5,RMPRK6)=""
  1. .. Q
  1. . I RMPRLEV="SEQUENCE",RMPRK4'="" D
  1. .. S RMPRK5=$O(^RMPR(661.7,RMPRXREF,RMPRK1,RMPRK2,RMPRK3,RMPRK4,RMPRK5),RMPRT)
  1. .. I RMPRK5="" S RMPREOF=1
  1. .. S RMPRK6=""
  1. .. Q
  1. . I RMPRLEV="",RMPRK5'="" D
  1. .. S RMPRK6=$O(^RMPR(661.7,RMPRXREF,RMPRK1,RMPRK2,RMPRK3,RMPRK4,RMPRK5,RMPRK6),RMPRT)
  1. .. I RMPRK6="" S RMPREOF=1
  1. .. Q
  1. . K RMPROLD
  1. . I RMPREOF D
  1. .. I RMPRK6="" S:RMPRK5'="" RMPRK5=$O(^RMPR(661.7,RMPRXREF,RMPRK1,RMPRK2,RMPRK3,RMPRK4,RMPRK5),RMPRT)
  1. .. I RMPRK5="" S:RMPRK4'="" RMPRK4=$O(^RMPR(661.7,RMPRXREF,RMPRK1,RMPRK2,RMPRK3,RMPRK4),RMPRT)
  1. .. I RMPRK4="" S:RMPRK3'="" RMPRK3=$O(^RMPR(661.7,RMPRXREF,RMPRK1,RMPRK2,RMPRK3),RMPRT)
  1. .. I RMPRK3="" S:RMPRK2'="" RMPRK2=$O(^RMPR(661.7,RMPRXREF,RMPRK1,RMPRK2),RMPRT)
  1. .. I RMPRK2="" S:RMPRK1'="" RMPRK1=$O(^RMPR(661.7,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.7,RMPRXREF,""),RMPRT) I RMPRK1="" S RMPREOF=1 Q
  1. . I RMPRK2="" S RMPRK2=$O(^RMPR(661.7,RMPRXREF,RMPRK1,""),RMPRT) I RMPRK2="" S RMPREOF=1 Q
  1. . I RMPRK3="" S RMPRK3=$O(^RMPR(661.7,RMPRXREF,RMPRK1,RMPRK2,""),RMPRT) I RMPRK3="" S RMPREOF=1 Q
  1. . I RMPRK4="" S RMPRK4=$O(^RMPR(661.7,RMPRXREF,RMPRK1,RMPRK2,RMPRK3,""),RMPRT) I RMPRK4="" S RMPREOF=1 Q
  1. . I RMPRK5="" S RMPRK5=$O(^RMPR(661.7,RMPRXREF,RMPRK1,RMPRK2,RMPRK3,RMPRK4,""),RMPRT) I RMPRK5="" S RMPREOF=1 Q
  1. . I RMPRK6="" S RMPRK6=$O(^RMPR(661.7,RMPRXREF,RMPRK1,RMPRK2,RMPRK3,RMPRK4,RMPRK5,""),RMPRT) I RMPRK6="" S RMPREOF=1 Q
  1. . S RMPR("STATION")=RMPRK1
  1. . S RMPR("HCPCS")=RMPRK2
  1. . S RMPR("ITEM")=RMPRK3
  1. . S RMPR("DATE&TIME")=RMPRK4
  1. . S RMPR("SEQUENCE")=RMPRK5
  1. . S RMPR("IEN")=RMPRK6
  1. . Q
  1. ;
  1. ; Station, Location, HCPCS, Item, Date&Time, Sequence
  1. I RMPRXREF="XSLHIDS" D G NEXTX
  1. . S (RMPRK2,RMPRK3,RMPRK4,RMPRK5,RMPRK6,RMPRK7)=""
  1. . S RMPRK1=$G(RMPR("STATION"))
  1. . S:RMPRK1'="" RMPRK2=$G(RMPR("LOCATION"))
  1. . S:RMPRK2'="" RMPRK3=$G(RMPR("HCPCS"))
  1. . S:RMPRK3'="" RMPRK4=$G(RMPR("ITEM"))
  1. . S:RMPRK4'="" RMPRK5=$G(RMPR("DATE&TIME"))
  1. . S:RMPRK5'="" RMPRK6=$G(RMPR("SEQUENCE"))
  1. . S:RMPRK6'="" RMPRK7=$G(RMPR("IEN"))
  1. . I RMPRLEV="STATION" D Q:RMPREOF
  1. .. S RMPRK1=$O(^RMPR(661.7,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="LOCATION",RMPRK1'="" D
  1. .. S RMPRK2=$O(^RMPR(661.7,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.7,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.7,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.7,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.7,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.7,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.7,RMPRXREF,RMPRK1,RMPRK2,RMPRK3,RMPRK4,RMPRK5,RMPRK6),RMPRT)
  1. .. I RMPRK6="" S:RMPRK5'="" RMPRK5=$O(^RMPR(661.7,RMPRXREF,RMPRK1,RMPRK2,RMPRK3,RMPRK4,RMPRK5),RMPRT)
  1. .. I RMPRK5="" S:RMPRK4'="" RMPRK4=$O(^RMPR(661.7,RMPRXREF,RMPRK1,RMPRK2,RMPRK3,RMPRK4),RMPRT)
  1. .. I RMPRK4="" S:RMPRK3'="" RMPRK3=$O(^RMPR(661.7,RMPRXREF,RMPRK1,RMPRK2,RMPRK3),RMPRT)
  1. .. I RMPRK3="" S:RMPRK2'="" RMPRK2=$O(^RMPR(661.7,RMPRXREF,RMPRK1,RMPRK2),RMPRT)
  1. .. I RMPRK2="" S:RMPRK1'="" RMPRK1=$O(^RMPR(661.7,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.7,RMPRXREF,""),RMPRT) I RMPRK1="" S RMPREOF=1 Q
  1. . I RMPRK2="" S RMPRK2=$O(^RMPR(661.7,RMPRXREF,RMPRK1,""),RMPRT) I RMPRK2="" S RMPREOF=1 Q
  1. . I RMPRK3="" S RMPRK3=$O(^RMPR(661.7,RMPRXREF,RMPRK1,RMPRK2,""),RMPRT) I RMPRK3="" S RMPREOF=1 Q
  1. . I RMPRK4="" S RMPRK4=$O(^RMPR(661.7,RMPRXREF,RMPRK1,RMPRK2,RMPRK3,""),RMPRT) I RMPRK4="" S RMPREOF=1 Q
  1. . I RMPRK5="" S RMPRK5=$O(^RMPR(661.7,RMPRXREF,RMPRK1,RMPRK2,RMPRK3,RMPRK4,""),RMPRT) I RMPRK5="" S RMPREOF=1 Q
  1. . I RMPRK6="" S RMPRK6=$O(^RMPR(661.7,RMPRXREF,RMPRK1,RMPRK2,RMPRK3,RMPRK4,RMPRK5,""),RMPRT) I RMPRK6="" S RMPREOF=1 Q
  1. . I RMPRK7="" S RMPRK7=$O(^RMPR(661.7,RMPRXREF,RMPRK1,RMPRK2,RMPRK3,RMPRK4,RMPRK5,RMPRK6,""),RMPRT) I RMPRK7="" S RMPREOF=1 Q
  1. . S RMPR("STATION")=RMPRK1
  1. . S RMPR("LOCATION")=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