1 | RMPRPIUJ ;HINES OIFO/ODJ - CONVERT OLD PIP TO NEW PIP ;3/8/05 11:47
|
---|
2 | ;;3.0;PROSTHETICS;**61**;Feb 09, 1996
|
---|
3 | ; DBIA #10090 - Read Access to entire file #4.
|
---|
4 | Q
|
---|
5 | ;
|
---|
6 | ;***** LOCN - Convert Locations in 661.3 to new 661.5 file
|
---|
7 | ; A GENERIC location will be created as a scratch
|
---|
8 | ; area.
|
---|
9 | ; Duplicate location names will not be allowed.
|
---|
10 | ; Build map file in ^TMP($J,"LOCN" which maps old
|
---|
11 | ; to new location iens.
|
---|
12 | ;
|
---|
13 | LOCN N RMPRSTN,RMPRLCN,RMPRTOD,RMPRL,RMPRCNT,RMPRREC,RMPRERR,RMPR5,RMPRI
|
---|
14 | N X,Y,DA
|
---|
15 | I '$D(IO("Q")) D
|
---|
16 | . W !,"Creating Locations in file 661.5 "
|
---|
17 | . Q
|
---|
18 | K ^TMP($J,"LOCN")
|
---|
19 | D NOW^%DTC
|
---|
20 | S RMPRTOD=X ; today's date
|
---|
21 | ;
|
---|
22 | ; Init RMPR5
|
---|
23 | S RMPR5("STATUS")="A" ;active status
|
---|
24 | S RMPR5("STATUS DATE")=RMPRTOD ;status date is today's date
|
---|
25 | S RMPR5("USER")=""
|
---|
26 | S RMPRDUZ=$$GETUSR^RMPRPIU0(DUZ)
|
---|
27 | I $G(DUZ)'="",(RMPRDUZ'="") S RMPR5("USER")=DUZ
|
---|
28 | ;
|
---|
29 | ; Loop on Locations 661.3
|
---|
30 | S RMPRL=0
|
---|
31 | LOC1 S RMPRL=$O(^RMPR(661.3,RMPRL))
|
---|
32 | I '+RMPRL G LOCNX ;exit if no more Locations
|
---|
33 | I '$D(IO("Q")) D
|
---|
34 | . W:$X=79 ! W "."
|
---|
35 | . Q
|
---|
36 | S RMPRREC=$G(^RMPR(661.3,RMPRL,0))
|
---|
37 | K RMPR5("IEN")
|
---|
38 | S RMPR5("STATION")=$P(RMPRREC,"^",3) ; Station
|
---|
39 | I RMPR5("STATION")="" G LOC1 ;ignore if null Station
|
---|
40 | I '$D(^DIC(4,RMPR5("STATION"),0)) G LOC1 ;ignore if bad ptr.
|
---|
41 | ;
|
---|
42 | ; Create GENERIC stock location if 1st location @ Station
|
---|
43 | I '$D(^RMPR(661.5,"XSL",RMPR5("STATION"))) D
|
---|
44 | . S RMPR5("NAME")="GENERIC"
|
---|
45 | . S RMPR5("ADDRESS")="GENERIC STOCK LOCATION (SYSTEM)"
|
---|
46 | . S RMPRERR=$$CRE^RMPRPIX5(.RMPR5)
|
---|
47 | . K RMPR5("IEN")
|
---|
48 | . Q
|
---|
49 | ;
|
---|
50 | ; Create Location
|
---|
51 | S RMPR5("NAME")=$P(RMPRREC,"^",1)
|
---|
52 | S RMPR5("ADDRESS")=$P(RMPRREC,"^",2)
|
---|
53 | ;
|
---|
54 | ; Check for duplicate location name and force to be unique
|
---|
55 | I $D(^RMPR(661.5,"XSL",RMPR5("STATION"),RMPR5("NAME"))) D
|
---|
56 | . S RMPRCNT=2
|
---|
57 | . F D Q:'$D(^RMPR(661.5,"XSL",RMPR5("STATION"),RMPR5("NAME")))
|
---|
58 | .. S RMPR5("NAME")=RMPR5("NAME")_" ("_RMPRCNT_")"
|
---|
59 | .. S RMPRCNT=1+RMPRCNT
|
---|
60 | .. Q
|
---|
61 | . Q
|
---|
62 | ;
|
---|
63 | ; Create Location in new 661.5 file
|
---|
64 | S RMPRERR=$$CRE^RMPRPIX5(.RMPR5)
|
---|
65 | S ^TMP($J,"LOCN",RMPRL)=RMPR5("IEN") ; map old to new Locn. ien
|
---|
66 | ;
|
---|
67 | G LOC1 ;next Location
|
---|
68 | ;
|
---|
69 | ;exit
|
---|
70 | LOCNX Q
|
---|
71 | ;
|
---|
72 | UNIT ;update UNIT of issue #661.7
|
---|
73 | N RI,RMDA,RMU,RHC,RIT,RST,R11DA,R11
|
---|
74 | F RI=0:0 S RI=$O(^RMPR(661.7,RI)) Q:RI'>0 S RMDA=$G(^RMPR(661.7,RI,0)) D
|
---|
75 | .S RMU=$P(RMDA,U,9)
|
---|
76 | .Q:$G(RMU)
|
---|
77 | .S RHC=$P(RMDA,U,1),RIT=$P(RMDA,U,4),RST=$P(RMDA,U,5)
|
---|
78 | .S R11=$O(^RMPR(661.11,"ASHI",RST,RHC,RIT,0))
|
---|
79 | .Q:'$G(R11)
|
---|
80 | .Q:'$D(^RMPR(661.11,R11,0))
|
---|
81 | .S R11DA=$G(^RMPR(661.11,R11,0)),RMU=$P(R11DA,U,6)
|
---|
82 | .Q:'$G(RMU)
|
---|
83 | .S $P(^RMPR(661.7,RI,0),U,9)=RMU
|
---|
84 | Q
|
---|