- PSSJXR2 ; COMPILED XREF FOR FILE #55.01 ; 10/05/22
- ;
- S DA(1)=DA S DA=0
- A1 ;
- I $D(DIKILL) K DIKLM S:DIKM1=1 DIKLM=1 G @DIKM1
- 0 ;
- K ^PS(55,DA(1),"IV","AIN")
- K ^PS(55,DA(1),"IV","CIMOI")
- A S DA=$O(^PS(55,DA(1),"IV",DA)) I DA'>0 S DA=0 G END
- 1 ;
- S DIKZ(0)=$G(^PS(55,DA(1),"IV",DA,0))
- S X=$P($G(DIKZ(0)),U,2)
- I X'="" X ^DD(55.01,.02,1,1,2)
- S X=$P($G(DIKZ(0)),U,2)
- I X'="" K ^PS(55,"AIVS",$E(X,1,30),DA(1),DA)
- S DIKZ(0)=$G(^PS(55,DA(1),"IV",DA,0))
- S X=$P($G(DIKZ(0)),U,3)
- I X'="" K ^PS(55,"AIV",+$E(X,1,30),DA(1),DA)
- S X=$P($G(DIKZ(0)),U,3)
- I X'="" X ^DD(55.01,.03,1,2,2)
- S X=$P($G(DIKZ(0)),U,3)
- I X'="" K ^PS(55,DA(1),"IV","AIS",+X,DA)
- S X=$P($G(DIKZ(0)),U,3)
- I X'="" I $P($G(^PS(55,DA(1),"IV",DA,0)),U,4)]"" K ^PS(55,DA(1),"IV","AIT",$P(^(0),U,4),+X,DA)
- S DIKZ(0)=$G(^PS(55,DA(1),"IV",DA,0))
- S X=$P($G(DIKZ(0)),U,4)
- I X'="" X ^DD(55.01,.04,1,1,2)
- S DIKZ(0)=$G(^PS(55,DA(1),"IV",DA,0))
- S X=$P($G(DIKZ(0)),U,6)
- I X'="" X ^DD(55.01,.06,1,1,2)
- S DIKZ(0)=$G(^PS(55,DA(1),"IV",DA,0))
- S X=$P($G(DIKZ(0)),U,8)
- I X'="" X ^DD(55.01,.08,1,1,2)
- S DIKZ(0)=$G(^PS(55,DA(1),"IV",DA,0))
- S X=$P($G(DIKZ(0)),U,9)
- I X'="" X ^DD(55.01,.09,1,1,2)
- S DIKZ(1)=$G(^PS(55,DA(1),"IV",DA,1))
- S X=$P($G(DIKZ(1)),U,1)
- I X'="" X ^DD(55.01,.1,1,1,2)
- S DIKZ(0)=$G(^PS(55,DA(1),"IV",DA,0))
- S X=$P($G(DIKZ(0)),U,11)
- I X'="" X ^DD(55.01,.12,1,1,2)
- S DIKZ(3)=$G(^PS(55,DA(1),"IV",DA,3))
- S X=$P($G(DIKZ(3)),U,1)
- I X'="" X ^DD(55.01,31,1,1,2)
- S DIKZ(0)=$G(^PS(55,DA(1),"IV",DA,0))
- S X=$P($G(DIKZ(0)),U,17)
- I X'="" X ^DD(55.01,100,1,1,2)
- S X=$P($G(DIKZ(0)),U,17)
- I X'="" K:X'="N" ^PS(55,"ANVO",DA(1),DA)
- S X=$P($G(DIKZ(0)),U,17)
- I X'="" K:X'="D"&($D(^PS(55,DA(1),"IV",DA,"ADC"))) ^PS(55,"ADC",^PS(55,DA(1),"IV",DA,"ADC"),DA(1),DA)
- S DIKZ(4)=$G(^PS(55,DA(1),"IV",DA,4))
- S X=$P($G(DIKZ(4)),U,9)
- I X'="" X ^DD(55.01,142,1,1,2)
- S X=$P($G(DIKZ(4)),U,9)
- I X'="" K ^PS(55,"APIV",DA(1),DA)
- S DIKZ(4)=$G(^PS(55,DA(1),"IV",DA,4))
- S X=$P($G(DIKZ(4)),U,10)
- I X'="" X ^DD(55.01,143,1,1,2)
- S X=$P($G(DIKZ(4)),U,10)
- I X'="" K ^PS(55,"ANIV",DA(1),DA)
- S DIKZ(0)=$G(^PS(55,DA(1),"IV",DA,0))
- S X=$P($G(DIKZ(0)),U,1)
- I X'="" K ^PS(55,DA(1),"IV","B",$E(X,1,30),DA)
- CR1 S DIXR=415
- K X
- S DIKZ(.2)=$G(^PS(55,DA(1),"IV",DA,.2))
- S X(1)=$P(DIKZ(.2),U,8)
- S X(2)=$P(DIKZ(0),U,21)
- S X=$G(X(1))
- I $G(X(1))]"",$G(X(2))]"" D
- . K X1,X2 M X1=X,X2=X
- . S:$D(DIKIL) (X2,X2(1),X2(2))=""
- . N DIKXARR M DIKXARR=X S DIKCOND=1
- . S X=1
- . S DIKCOND=$G(X) K X M X=DIKXARR
- . Q:'DIKCOND
- . K ^PS(55,"ACX",$E(X(1),1,30),$E(X(2),1,30),DA_"V")
- CR2 S DIXR=466
- K X
- S DIKZ(0)=$G(^PS(55,DA(1),"IV",DA,0))
- S X(1)=$P(DIKZ(0),U,2)
- S X(2)=$P(DIKZ(0),U,3)
- S X=$G(X(1))
- I $G(X(1))]"",$G(X(2))]"" D
- . K X1,X2 M X1=X,X2=X
- . S:$D(DIKIL) (X2,X2(1),X2(2))=""
- . N DIKXARR M DIKXARR=X S DIKCOND=1
- . S X=$$PATCH^XPDUTL("PXRM*1.5*12")
- . S DIKCOND=$G(X) K X M X=DIKXARR
- . Q:'DIKCOND
- . D KPSPA^PSJXRFK(.X,.DA,"IV")
- CR3 S DIXR=498
- K X
- S DIKZ(0)=$G(^PS(55,DA(1),"IV",DA,0))
- S X(1)=$P(DIKZ(0),U,3)
- S DIKZ("DSS")=$G(^PS(55,DA(1),"IV",DA,"DSS"))
- S X(2)=$P(DIKZ("DSS"),U,1)
- S X=$G(X(1))
- I $G(X(1))]"",$G(X(2))]"" D
- . K X1,X2 M X1=X,X2=X
- . S:$D(DIKIL) (X2,X2(1),X2(2))=""
- . K ^PS(55,"AIVC",$E(X(1),1,20),$E(X(2),1,20),DA(1),DA)
- CR4 S DIXR=500
- K X
- S DIKZ(0)=$G(^PS(55,DA(1),"IV",DA,0))
- S X(1)=$P(DIKZ(0),U,3)
- S DIKZ("DSS")=$G(^PS(55,DA(1),"IV",DA,"DSS"))
- S X(2)=$P(DIKZ("DSS"),U,1)
- S X=$G(X(1))
- I $G(X(1))]"",$G(X(2))]"" D
- . K X1,X2 M X1=X,X2=X
- . S:$D(DIKIL) (X2,X2(1),X2(2))=""
- . K ^PS(55,DA(1),"IV","AIN",X(1),X(2),DA)
- CR5 S DIXR=809
- K X
- S DIKZ("DSS")=$G(^PS(55,DA(1),"IV",DA,"DSS"))
- S X(1)=$P(DIKZ("DSS"),U,1)
- S X=$G(X(1))
- I $G(X(1))]"" D
- . K X1,X2 M X1=X,X2=X
- . S:$D(DIKIL) (X2,X2(1))=""
- . K ^PS(55,"CIMOCLI",X,DA(1),DA)
- CR6 S DIXR=1122
- K X
- S DIKZ("DSS")=$G(^PS(55,DA(1),"IV",DA,"DSS"))
- S X(1)=$P(DIKZ("DSS"),U,1)
- S DIKZ(0)=$G(^PS(55,DA(1),"IV",DA,0))
- S X(2)=$P(DIKZ(0),U,3)
- S X=$G(X(1))
- I $G(X(1))]"",$G(X(2))]"" D
- . K X1,X2 M X1=X,X2=X
- . S:$D(DIKIL) (X2,X2(1),X2(2))=""
- . K ^PS(55,DA(1),"IV","CIMOI",X(1),X(2),DA)
- CR7 K X
- G:'$D(DIKLM) A Q:$D(DIKILL)
- END G ^PSSJXR3
- --- Routine Detail --- with STRUCTURED ROUTINE LISTING ---[H[J[2J[HPSSJXR2 4210 printed Apr 23, 2025@18:46:25 Page 2
- PSSJXR2 ; COMPILED XREF FOR FILE #55.01 ; 10/05/22
- +1 ;
- +2 SET DA(1)=DA
- SET DA=0
- A1 ;
- +1 IF $DATA(DIKILL)
- KILL DIKLM
- if DIKM1=1
- SET DIKLM=1
- GOTO @DIKM1
- 0 ;
- +1 KILL ^PS(55,DA(1),"IV","AIN")
- +2 KILL ^PS(55,DA(1),"IV","CIMOI")
- A SET DA=$ORDER(^PS(55,DA(1),"IV",DA))
- IF DA'>0
- SET DA=0
- GOTO END
- 1 ;
- +1 SET DIKZ(0)=$GET(^PS(55,DA(1),"IV",DA,0))
- +2 SET X=$PIECE($GET(DIKZ(0)),U,2)
- +3 IF X'=""
- XECUTE ^DD(55.01,.02,1,1,2)
- +4 SET X=$PIECE($GET(DIKZ(0)),U,2)
- +5 IF X'=""
- KILL ^PS(55,"AIVS",$EXTRACT(X,1,30),DA(1),DA)
- +6 SET DIKZ(0)=$GET(^PS(55,DA(1),"IV",DA,0))
- +7 SET X=$PIECE($GET(DIKZ(0)),U,3)
- +8 IF X'=""
- KILL ^PS(55,"AIV",+$EXTRACT(X,1,30),DA(1),DA)
- +9 SET X=$PIECE($GET(DIKZ(0)),U,3)
- +10 IF X'=""
- XECUTE ^DD(55.01,.03,1,2,2)
- +11 SET X=$PIECE($GET(DIKZ(0)),U,3)
- +12 IF X'=""
- KILL ^PS(55,DA(1),"IV","AIS",+X,DA)
- +13 SET X=$PIECE($GET(DIKZ(0)),U,3)
- +14 IF X'=""
- IF $PIECE($GET(^PS(55,DA(1),"IV",DA,0)),U,4)]""
- KILL ^PS(55,DA(1),"IV","AIT",$PIECE(^(0),U,4),+X,DA)
- +15 SET DIKZ(0)=$GET(^PS(55,DA(1),"IV",DA,0))
- +16 SET X=$PIECE($GET(DIKZ(0)),U,4)
- +17 IF X'=""
- XECUTE ^DD(55.01,.04,1,1,2)
- +18 SET DIKZ(0)=$GET(^PS(55,DA(1),"IV",DA,0))
- +19 SET X=$PIECE($GET(DIKZ(0)),U,6)
- +20 IF X'=""
- XECUTE ^DD(55.01,.06,1,1,2)
- +21 SET DIKZ(0)=$GET(^PS(55,DA(1),"IV",DA,0))
- +22 SET X=$PIECE($GET(DIKZ(0)),U,8)
- +23 IF X'=""
- XECUTE ^DD(55.01,.08,1,1,2)
- +24 SET DIKZ(0)=$GET(^PS(55,DA(1),"IV",DA,0))
- +25 SET X=$PIECE($GET(DIKZ(0)),U,9)
- +26 IF X'=""
- XECUTE ^DD(55.01,.09,1,1,2)
- +27 SET DIKZ(1)=$GET(^PS(55,DA(1),"IV",DA,1))
- +28 SET X=$PIECE($GET(DIKZ(1)),U,1)
- +29 IF X'=""
- XECUTE ^DD(55.01,.1,1,1,2)
- +30 SET DIKZ(0)=$GET(^PS(55,DA(1),"IV",DA,0))
- +31 SET X=$PIECE($GET(DIKZ(0)),U,11)
- +32 IF X'=""
- XECUTE ^DD(55.01,.12,1,1,2)
- +33 SET DIKZ(3)=$GET(^PS(55,DA(1),"IV",DA,3))
- +34 SET X=$PIECE($GET(DIKZ(3)),U,1)
- +35 IF X'=""
- XECUTE ^DD(55.01,31,1,1,2)
- +36 SET DIKZ(0)=$GET(^PS(55,DA(1),"IV",DA,0))
- +37 SET X=$PIECE($GET(DIKZ(0)),U,17)
- +38 IF X'=""
- XECUTE ^DD(55.01,100,1,1,2)
- +39 SET X=$PIECE($GET(DIKZ(0)),U,17)
- +40 IF X'=""
- if X'="N"
- KILL ^PS(55,"ANVO",DA(1),DA)
- +41 SET X=$PIECE($GET(DIKZ(0)),U,17)
- +42 IF X'=""
- if X'="D"&($DATA(^PS(55,DA(1),"IV",DA,"ADC")))
- KILL ^PS(55,"ADC",^PS(55,DA(1),"IV",DA,"ADC"),DA(1),DA)
- +43 SET DIKZ(4)=$GET(^PS(55,DA(1),"IV",DA,4))
- +44 SET X=$PIECE($GET(DIKZ(4)),U,9)
- +45 IF X'=""
- XECUTE ^DD(55.01,142,1,1,2)
- +46 SET X=$PIECE($GET(DIKZ(4)),U,9)
- +47 IF X'=""
- KILL ^PS(55,"APIV",DA(1),DA)
- +48 SET DIKZ(4)=$GET(^PS(55,DA(1),"IV",DA,4))
- +49 SET X=$PIECE($GET(DIKZ(4)),U,10)
- +50 IF X'=""
- XECUTE ^DD(55.01,143,1,1,2)
- +51 SET X=$PIECE($GET(DIKZ(4)),U,10)
- +52 IF X'=""
- KILL ^PS(55,"ANIV",DA(1),DA)
- +53 SET DIKZ(0)=$GET(^PS(55,DA(1),"IV",DA,0))
- +54 SET X=$PIECE($GET(DIKZ(0)),U,1)
- +55 IF X'=""
- KILL ^PS(55,DA(1),"IV","B",$EXTRACT(X,1,30),DA)
- CR1 SET DIXR=415
- +1 KILL X
- +2 SET DIKZ(.2)=$GET(^PS(55,DA(1),"IV",DA,.2))
- +3 SET X(1)=$PIECE(DIKZ(.2),U,8)
- +4 SET X(2)=$PIECE(DIKZ(0),U,21)
- +5 SET X=$GET(X(1))
- +6 IF $GET(X(1))]""
- IF $GET(X(2))]""
- Begin DoDot:1
- +7 KILL X1,X2
- MERGE X1=X,X2=X
- +8 if $DATA(DIKIL)
- SET (X2,X2(1),X2(2))=""
- +9 NEW DIKXARR
- MERGE DIKXARR=X
- SET DIKCOND=1
- +10 SET X=1
- +11 SET DIKCOND=$GET(X)
- KILL X
- MERGE X=DIKXARR
- +12 if 'DIKCOND
- QUIT
- +13 KILL ^PS(55,"ACX",$EXTRACT(X(1),1,30),$EXTRACT(X(2),1,30),DA_"V")
- End DoDot:1
- CR2 SET DIXR=466
- +1 KILL X
- +2 SET DIKZ(0)=$GET(^PS(55,DA(1),"IV",DA,0))
- +3 SET X(1)=$PIECE(DIKZ(0),U,2)
- +4 SET X(2)=$PIECE(DIKZ(0),U,3)
- +5 SET X=$GET(X(1))
- +6 IF $GET(X(1))]""
- IF $GET(X(2))]""
- Begin DoDot:1
- +7 KILL X1,X2
- MERGE X1=X,X2=X
- +8 if $DATA(DIKIL)
- SET (X2,X2(1),X2(2))=""
- +9 NEW DIKXARR
- MERGE DIKXARR=X
- SET DIKCOND=1
- +10 SET X=$$PATCH^XPDUTL("PXRM*1.5*12")
- +11 SET DIKCOND=$GET(X)
- KILL X
- MERGE X=DIKXARR
- +12 if 'DIKCOND
- QUIT
- +13 DO KPSPA^PSJXRFK(.X,.DA,"IV")
- End DoDot:1
- CR3 SET DIXR=498
- +1 KILL X
- +2 SET DIKZ(0)=$GET(^PS(55,DA(1),"IV",DA,0))
- +3 SET X(1)=$PIECE(DIKZ(0),U,3)
- +4 SET DIKZ("DSS")=$GET(^PS(55,DA(1),"IV",DA,"DSS"))
- +5 SET X(2)=$PIECE(DIKZ("DSS"),U,1)
- +6 SET X=$GET(X(1))
- +7 IF $GET(X(1))]""
- IF $GET(X(2))]""
- Begin DoDot:1
- +8 KILL X1,X2
- MERGE X1=X,X2=X
- +9 if $DATA(DIKIL)
- SET (X2,X2(1),X2(2))=""
- +10 KILL ^PS(55,"AIVC",$EXTRACT(X(1),1,20),$EXTRACT(X(2),1,20),DA(1),DA)
- End DoDot:1
- CR4 SET DIXR=500
- +1 KILL X
- +2 SET DIKZ(0)=$GET(^PS(55,DA(1),"IV",DA,0))
- +3 SET X(1)=$PIECE(DIKZ(0),U,3)
- +4 SET DIKZ("DSS")=$GET(^PS(55,DA(1),"IV",DA,"DSS"))
- +5 SET X(2)=$PIECE(DIKZ("DSS"),U,1)
- +6 SET X=$GET(X(1))
- +7 IF $GET(X(1))]""
- IF $GET(X(2))]""
- Begin DoDot:1
- +8 KILL X1,X2
- MERGE X1=X,X2=X
- +9 if $DATA(DIKIL)
- SET (X2,X2(1),X2(2))=""
- +10 KILL ^PS(55,DA(1),"IV","AIN",X(1),X(2),DA)
- End DoDot:1
- CR5 SET DIXR=809
- +1 KILL X
- +2 SET DIKZ("DSS")=$GET(^PS(55,DA(1),"IV",DA,"DSS"))
- +3 SET X(1)=$PIECE(DIKZ("DSS"),U,1)
- +4 SET X=$GET(X(1))
- +5 IF $GET(X(1))]""
- Begin DoDot:1
- +6 KILL X1,X2
- MERGE X1=X,X2=X
- +7 if $DATA(DIKIL)
- SET (X2,X2(1))=""
- +8 KILL ^PS(55,"CIMOCLI",X,DA(1),DA)
- End DoDot:1
- CR6 SET DIXR=1122
- +1 KILL X
- +2 SET DIKZ("DSS")=$GET(^PS(55,DA(1),"IV",DA,"DSS"))
- +3 SET X(1)=$PIECE(DIKZ("DSS"),U,1)
- +4 SET DIKZ(0)=$GET(^PS(55,DA(1),"IV",DA,0))
- +5 SET X(2)=$PIECE(DIKZ(0),U,3)
- +6 SET X=$GET(X(1))
- +7 IF $GET(X(1))]""
- IF $GET(X(2))]""
- Begin DoDot:1
- +8 KILL X1,X2
- MERGE X1=X,X2=X
- +9 if $DATA(DIKIL)
- SET (X2,X2(1),X2(2))=""
- +10 KILL ^PS(55,DA(1),"IV","CIMOI",X(1),X(2),DA)
- End DoDot:1
- CR7 KILL X
- +1 if '$DATA(DIKLM)
- GOTO A
- if $DATA(DIKILL)
- QUIT
- END GOTO ^PSSJXR3