RMPOPAT3 ;HINES-CIOFO/RVD-Detail Display Patient 10-2319 Transaction;11/04/04
 ;;3.0;PROSTHETICS;**70,92,99,182,194**;Feb 09, 1996;Build 5
 ;
 ; RVD 7/8/02 patch #70 - this routine is a copy of RMPRPAT3.
 ;                        For Read Only 2319.
 ; AAC 08/03/04 Patch 92 - Code Set Versioning (CSV) 
 ;Used API=ICDDX^ICDCODE to replace direct calls to global ICD9(80).
 ;
 ;DBIA # 10082 - file #80, global read.
 ;
 ;RMPR*3.0*182 Modified system to be able to pull the 
 ;             ext code and description for ICD10.
 ;
 ;expect ANS,IT(ANS)
 ;          +IT(ANS)=ien of file 660
 ;expect variables from GETPAT^RMPRUTIL
 ;    RMPRSSNE (external form of SSN)
 ;    RMPRNAM (name of patient)
 ;    RMPRDOB
 ;display detailed record
PRINT ;called from RMPOPAT2
 ;get 2319 transaction
 ;
 N DIC,DIQ,DR,DA,RMPRV,RMPRDA,RV
 S DIC=660,DIQ="R19",DR=".01:96",DIQ(0)="EN"
 S (RMPRDA,DA)=+IT(ANS)
 D EN^DIQ1
 S DIQ="R19",DR=72,DIQ(0)="I" D EN^DIQ1
 ;get vendor info
 S DA=$P(^RMPR(660,RMPRDA,0),U,9)
 I DA D
 .S DIC=440,DIQ="RV",DR=".01:6",DIQ(0)="EN"
 .S (RMPRV,DA)=$P(^RMPR(660,RMPRDA,0),U,9)
 .D EN^DIQ1
 ;
 ;array defined for record in following format:
 ;R19(filenumber,ien,field,E)=external form of data
 ;RV(filenumber,ien,field,E)=external form of data
 ;example
 ;R19(660,100,.01,"E")=APR 27, 1995
 ;R19(660,100,.02,"E")=FUDGE,CHOCOLATE
 ;RV(440,131,.01,"E")=ORTHOTIC LAB
 ;
 D HDR
 W !,"TYPE OF FORM: ",$G(R19(660,RMPRDA,11,"E"))
 W ?25,"INITIATOR: ",$G(R19(660,RMPRDA,27,"E"))
 ;historical item
 W !,"ITEM DESCRIPTION: ",$G(R19(660,RMPRDA,89,"E"))
 W ?55,"DATE: ",$G(R19(660,RMPRDA,1,"E"))
 W !,"DELIVER TO: ",$G(R19(660,RMPRDA,25,"E"))
 W !,"TYPE TRANS: ",$G(R19(660,RMPRDA,2,"E"))
 W ?30,"QTY: ",$G(R19(660,RMPRDA,5,"E"))
 W:$G(R19(660,RMPRDA,29,"E")) ?40,"INVENTORY POINT: ",R19(660,RMPRDA,29,"E"),!
 W ?40,"SOURCE: ",$G(R19(660,RMPRDA,12,"E"))
 ;vendor tracking number
 I $G(R19(660,RMPRDA,11,"E"))="VISA" D
 .W !,"VENDOR TRACKING: ",$G(R19(660,RMPRDA,4.2,"E"))
 .W ?38,"BANK AUTHORIZATION: ",$G(R19(660,RMPRDA,4.3,"E"))
 W !,"VENDOR: ",?15,$G(R19(660,RMPRDA,7,"E"))
 I $D(RV) D
 .W !?15,$G(RV(440,RMPRV,1,"E"))
 .W !?15,$G(RV(440,RMPRV,4.2,"E")),","
 .W ?$X+3,$G(RV(440,RMPRV,4.4,"E")),?$X+5,$G(RV(440,RMPRV,4.6,"E"))
 W !,"DELIVERY DATE: "
 I $D(R19(660,RMPRDA,10,"E")) W R19(660,RMPRDA,10,"E")
 W !
 I '$P(IT(AN),U,3) D
 .W "TOTAL COST: "
 .I $G(R19(660,RMPRDA,14,"E"))'="" W "$"_$J(R19(660,RMPRDA,14,"E"),2)
 .I $G(R19(660,RMPRDA,14,"E"))="" W $S($G(R19(660,RMPRDA,6,"E"))'="":"$"_$J(R19(660,RMPRDA,6,"E"),2),$G(R19(660,RMPRDA,48,"E"))'="":"$"_$J(R19(660,RMPRDA,48,"E"),2),1:"")
 ;
 ;lab data
 I $D(^RMPR(660,RMPRDA,"LB")) D
 .N DIC,DIQ,DR,L19,DA
 .S (DA,RMPRLA)=$P(^RMPR(660,RMPRDA,"LB"),U,10)
 .Q:DA=""
 .S DIC=664.1,DIQ="L19",DR="15",DIQ(0)="E"
 .D EN^DIQ1
 .W !,"WORK ORDER: ",$G(R19(660,RMPRDA,71,"E"))
 .W ?40,"RECEIVING STATION: ",$G(R19(660,RMPRDA,70,"E"))
 .W !,"TECHNICIAN: ",$G(L19(664.1,RMPRLA,15,"E"))
 .W !,"TOTAL LABOR HOURS: ",$G(R19(660,RMPRDA,45,"E"))
 .W ?40,"TOTAL LABOR COST: ",$G(R19(660,RMPRDA,46,"E"))
 .W !,"TOTAL MATERIAL COST: ",$G(R19(660,RMPRDA,47,"E"))
 .W ?40,"TOTAL LAB COST: ",$G(R19(660,RMPRDA,48,"E"))
 .W !,"COMPLETION DATE: ",$G(R19(660,RMPRDA,50,"E"))
 .W ?40,"LAB REMARKS: ",$G(R19(660,RMPRDA,51,"E"))
 W !,"REMARKS: ",?15,$G(R19(660,RMPRDA,16,"E"))
 I $G(R19(660,RMPRDA,17.5,"E")) W ?40,"RETURN STATUS: ",R19(660,RMPRDA,17.5,"E")
 ;
 ;historical data
 I $G(R19(660,RMPRDA,15,"E"))["*" D
 .;include records that have been merged
 .W !!,"HISTORICAL DATA",!
 .Q:'$D(R19(660,RMPRDA,89))
 .W !,?15,"ITEM: ",$G(R19(660,RMPRDA,89,"E"))
 .W !,?15,"STATION: ",$G(R19(660,RMPRDA,90,"E"))
 .W !,?15,"VENDOR: ",$G(R19(660,RMPRDA,91,"E"))
 .W !,?23,$G(R19(660,RMPRDA,93,"E")),!,?23,$G(R19(660,RMPRDA,94,"E"))
 .W "   ",$G(R19(660,RMPRDA,95,"E")),"  ",$G(R19(660,RMPRDA,96,"E"))
 ;put in lab display here fields 45,46,47,48 and 51
 ;lab amis
 I $G(R19(660,RMPRDA,73,"E")) D
 .W ?40,"ORTHOTICS LAB CODE: "
 .W $S($D(R19(660,RMPRDA,74,"E")):R19(660,RMPRDA,74,"E"),$D(R19(660,RMPRDA,75,"E")):R19(660,RMPRDA,75,"E"),1:"")
 .W !?40,"RESTORATIONS LAB CODE: "
 .W $S($D(R19(660,RMPRDA,76,"E")):R19(660,RMPRDA,76,"E"),$D(R19(660,RMPRDA,77,"E")):R19(660,RMPRDA,77,"E"),1:"")
 ;purchasing and issue from stock amis
 W !,"DISABILITY SERVED: ",$G(R19(660,RMPRDA,62,"E"))
 ;appliance/item information
 ;historical/original item
 W !,"ITEM DESCRIPTION: ",$G(R19(660,RMPRDA,89,"E"))
 ;check for changes to item description
 I $G(R19(660,RMPRDA,89,"E"))'=$G(R19(660,RMPRDA,4,"E")) W !,"*** See Above For Original Item Description ***"
 W !,"APPLIANCE: ",$G(R19(660,RMPRDA,4,"E"))
 W !,"PSAS HCPCS: ",$G(R19(660,RMPRDA,4.5,"E"))
 I $P($G(^RMPR(660,RMPRDA,1)),U,4) W ?22,$P($G(^RMPR(661.1,$P(^RMPR(660,RMPRDA,1),U,4),0)),U,2)
 ;added by #69
 ;
 ; PATCH 92 - Code Set Versioning (CSV) changes below
 ; AAC      - 08/03/04
 ; RMPR*3*182 Changes to handle BOTH ICD9 and ICD10 internal pointers
 ; RMPR*3.0*194 New variables and updates to use ICD API
 N RMPRDRG,RMPRICDD,RMPRICDC,RMPRICD,RMPRIC9,RMPRCOD,RMPRDAT
 S (RMPRICD,RMPRIC9,RMPRCOD,RMPRDAT)="" S RMPRERR=0
 S RMPRDAT=$P($G(^RMPR(660,RMPRDA,0)),U)
 I $D(^RMPR(660,RMPRDA,10)) S RMPRICD=$P($G(^RMPR(660,RMPRDA,10)),U,8)
 I RMPRICD D
 . S RMPRDRG=$$ICDDX^ICDEX(RMPRICD,RMPRDAT,,"I") ;RMPR*3.0*194 Check if null before setting RMPRICDC
 . S RMPRICDC=$P(RMPRDRG,U,2),RMPRICDD=$P(RMPRDRG,U,4)
 S RMPRICDT=$S(RMPRICD<50000:9,1:10)
 I RMPRICD="" W !,"ICD Message:  ** NO CODE AVAILABLE **"
 I RMPRICD'="" W !,"ICD",RMPRICDT,": ",RMPRICDC,"   ",RMPRICDD
 ;
 ; End Patch 92
 ;
 W !,"CPT MODIFIER: ",$G(R19(660,RMPRDA,4.7,"E"))
 W !,"DESCRIPTION: ",$G(R19(660,RMPRDA,24,"E"))
 W !,"EXTENDED DESCRIPTION: ",!
 I $D(R19(660,RMPRDA,28)) D  G:$D(DUOUT)!$D(DTOUT) EX1
 .N R28
 .;command part of new standards
 .MERGE R28=R19(660,RMPRDA,28)
 .I $P($G(^RMPR(660,RMPRDA,"DES",0)),U,3)>1 N DIR S DIR(0)="E" D ^DIR Q:$D(DUOUT)!$D(DTOUT)  D HDR W !,"EXTENDED DESCRIPTION: ",!
 .D EN^DDIOL(.R28)
 ;NPPD key items consolidated, example L5300 limb order
 I $P(IT(AN),U,3) W !!,"*** Return For DETAIL REPORT ***" N DIR S DIR(0)="E" D ^DIR G:$D(DUOUT)!$D(DTOUT) EX1  W @IOF D HDR,^RMPRPAT7
 ;display work order if it is a 2529-3 form
 ;must pass ien to file 664.1 NOT 664.2
 I $G(R19(660,RMPRDA,72,"I"))'="" D  G EX1
 .S DIR(0)="E" D ^DIR Q:$D(DTOUT)!$D(DUOUT)
 .S RMPRBCK=RMPRDA
 .N DIC
 .S RMPRDA=R19(660,RMPRBCK,72,"I")
 .D DISP^RMPR293(RMPRDA)
 .S RMPRDA=RMPRBCK K RMPRBCK
 ;return from work order
 G EXIT
 ;
HDR ;display heading
 W @IOF,RMPRNAM,?30," SSN: "
 W $E(RMPRSSN,1,3)_"-"_$E(RMPRSSN,4,5)_"-"_$E(RMPRSSN,6,10),?50
 W $G(R19(660,RMPRDA,8,"E")),?70,"DOB: "
 W $S(RMPRDOB:$E(RMPRDOB,4,5)_"-"_$E(RMPRDOB,6,7)_"-"_(1700+$E(RMPRDOB,1,3)),1:"Unknown")
 W !?20,"APPLIANCE/REPAIR LINE ITEM DETAIL ",?70,"<4-",ANS,">",!
 Q
EXIT ;common exit point
 I $Y>(IOSL-4) F  W ! Q:$Y>(IOSL-3)
 N DIR S DIR(0)="E" D ^DIR
 S RMOXY=Y
 ;duout,dtout is evaluated in dis+1^rmpopat2
EX1 ;back out through that point to clean up
 K R19,RV,RMPRICC,RMPRICD,RMPRIC9,RMPRCOD,RMPRDAT,RMPRERR,Y W @IOF
 Q
 ;end
 
--- Routine Detail   --- with STRUCTURED ROUTINE LISTING ---[H[J[2J[HRMPOPAT3   7215     printed  Sep 23, 2025@20:07:24                                                                                                                                                                                                    Page 2
RMPOPAT3  ;HINES-CIOFO/RVD-Detail Display Patient 10-2319 Transaction;11/04/04
 +1       ;;3.0;PROSTHETICS;**70,92,99,182,194**;Feb 09, 1996;Build 5
 +2       ;
 +3       ; RVD 7/8/02 patch #70 - this routine is a copy of RMPRPAT3.
 +4       ;                        For Read Only 2319.
 +5       ; AAC 08/03/04 Patch 92 - Code Set Versioning (CSV) 
 +6       ;Used API=ICDDX^ICDCODE to replace direct calls to global ICD9(80).
 +7       ;
 +8       ;DBIA # 10082 - file #80, global read.
 +9       ;
 +10      ;RMPR*3.0*182 Modified system to be able to pull the 
 +11      ;             ext code and description for ICD10.
 +12      ;
 +13      ;expect ANS,IT(ANS)
 +14      ;          +IT(ANS)=ien of file 660
 +15      ;expect variables from GETPAT^RMPRUTIL
 +16      ;    RMPRSSNE (external form of SSN)
 +17      ;    RMPRNAM (name of patient)
 +18      ;    RMPRDOB
 +19      ;display detailed record
PRINT     ;called from RMPOPAT2
 +1       ;get 2319 transaction
 +2       ;
 +3        NEW DIC,DIQ,DR,DA,RMPRV,RMPRDA,RV
 +4        SET DIC=660
           SET DIQ="R19"
           SET DR=".01:96"
           SET DIQ(0)="EN"
 +5        SET (RMPRDA,DA)=+IT(ANS)
 +6        DO EN^DIQ1
 +7        SET DIQ="R19"
           SET DR=72
           SET DIQ(0)="I"
           DO EN^DIQ1
 +8       ;get vendor info
 +9        SET DA=$PIECE(^RMPR(660,RMPRDA,0),U,9)
 +10       IF DA
               Begin DoDot:1
 +11               SET DIC=440
                   SET DIQ="RV"
                   SET DR=".01:6"
                   SET DIQ(0)="EN"
 +12               SET (RMPRV,DA)=$PIECE(^RMPR(660,RMPRDA,0),U,9)
 +13               DO EN^DIQ1
               End DoDot:1
 +14      ;
 +15      ;array defined for record in following format:
 +16      ;R19(filenumber,ien,field,E)=external form of data
 +17      ;RV(filenumber,ien,field,E)=external form of data
 +18      ;example
 +19      ;R19(660,100,.01,"E")=APR 27, 1995
 +20      ;R19(660,100,.02,"E")=FUDGE,CHOCOLATE
 +21      ;RV(440,131,.01,"E")=ORTHOTIC LAB
 +22      ;
 +23       DO HDR
 +24       WRITE !,"TYPE OF FORM: ",$GET(R19(660,RMPRDA,11,"E"))
 +25       WRITE ?25,"INITIATOR: ",$GET(R19(660,RMPRDA,27,"E"))
 +26      ;historical item
 +27       WRITE !,"ITEM DESCRIPTION: ",$GET(R19(660,RMPRDA,89,"E"))
 +28       WRITE ?55,"DATE: ",$GET(R19(660,RMPRDA,1,"E"))
 +29       WRITE !,"DELIVER TO: ",$GET(R19(660,RMPRDA,25,"E"))
 +30       WRITE !,"TYPE TRANS: ",$GET(R19(660,RMPRDA,2,"E"))
 +31       WRITE ?30,"QTY: ",$GET(R19(660,RMPRDA,5,"E"))
 +32       if $GET(R19(660,RMPRDA,29,"E"))
               WRITE ?40,"INVENTORY POINT: ",R19(660,RMPRDA,29,"E"),!
 +33       WRITE ?40,"SOURCE: ",$GET(R19(660,RMPRDA,12,"E"))
 +34      ;vendor tracking number
 +35       IF $GET(R19(660,RMPRDA,11,"E"))="VISA"
               Begin DoDot:1
 +36               WRITE !,"VENDOR TRACKING: ",$GET(R19(660,RMPRDA,4.2,"E"))
 +37               WRITE ?38,"BANK AUTHORIZATION: ",$GET(R19(660,RMPRDA,4.3,"E"))
               End DoDot:1
 +38       WRITE !,"VENDOR: ",?15,$GET(R19(660,RMPRDA,7,"E"))
 +39       IF $DATA(RV)
               Begin DoDot:1
 +40               WRITE !?15,$GET(RV(440,RMPRV,1,"E"))
 +41               WRITE !?15,$GET(RV(440,RMPRV,4.2,"E")),","
 +42               WRITE ?$X+3,$GET(RV(440,RMPRV,4.4,"E")),?$X+5,$GET(RV(440,RMPRV,4.6,"E"))
               End DoDot:1
 +43       WRITE !,"DELIVERY DATE: "
 +44       IF $DATA(R19(660,RMPRDA,10,"E"))
               WRITE R19(660,RMPRDA,10,"E")
 +45       WRITE !
 +46       IF '$PIECE(IT(AN),U,3)
               Begin DoDot:1
 +47               WRITE "TOTAL COST: "
 +48               IF $GET(R19(660,RMPRDA,14,"E"))'=""
                       WRITE "$"_$JUSTIFY(R19(660,RMPRDA,14,"E"),2)
 +49               IF $GET(R19(660,RMPRDA,14,"E"))=""
                       WRITE $SELECT($GET(R19(660,RMPRDA,6,"E"))'="":"$"_$JUSTIFY(R19(660,RMPRDA,6,"E"),2),$GET(R19(660,RMPRDA,48,"E"))'="":"$"_$JUSTIFY(R19(660,RMPRDA,48,"E"),2),1:"")
               End DoDot:1
 +50      ;
 +51      ;lab data
 +52       IF $DATA(^RMPR(660,RMPRDA,"LB"))
               Begin DoDot:1
 +53               NEW DIC,DIQ,DR,L19,DA
 +54               SET (DA,RMPRLA)=$PIECE(^RMPR(660,RMPRDA,"LB"),U,10)
 +55               if DA=""
                       QUIT 
 +56               SET DIC=664.1
                   SET DIQ="L19"
                   SET DR="15"
                   SET DIQ(0)="E"
 +57               DO EN^DIQ1
 +58               WRITE !,"WORK ORDER: ",$GET(R19(660,RMPRDA,71,"E"))
 +59               WRITE ?40,"RECEIVING STATION: ",$GET(R19(660,RMPRDA,70,"E"))
 +60               WRITE !,"TECHNICIAN: ",$GET(L19(664.1,RMPRLA,15,"E"))
 +61               WRITE !,"TOTAL LABOR HOURS: ",$GET(R19(660,RMPRDA,45,"E"))
 +62               WRITE ?40,"TOTAL LABOR COST: ",$GET(R19(660,RMPRDA,46,"E"))
 +63               WRITE !,"TOTAL MATERIAL COST: ",$GET(R19(660,RMPRDA,47,"E"))
 +64               WRITE ?40,"TOTAL LAB COST: ",$GET(R19(660,RMPRDA,48,"E"))
 +65               WRITE !,"COMPLETION DATE: ",$GET(R19(660,RMPRDA,50,"E"))
 +66               WRITE ?40,"LAB REMARKS: ",$GET(R19(660,RMPRDA,51,"E"))
               End DoDot:1
 +67       WRITE !,"REMARKS: ",?15,$GET(R19(660,RMPRDA,16,"E"))
 +68       IF $GET(R19(660,RMPRDA,17.5,"E"))
               WRITE ?40,"RETURN STATUS: ",R19(660,RMPRDA,17.5,"E")
 +69      ;
 +70      ;historical data
 +71       IF $GET(R19(660,RMPRDA,15,"E"))["*"
               Begin DoDot:1
 +72      ;include records that have been merged
 +73               WRITE !!,"HISTORICAL DATA",!
 +74               if '$DATA(R19(660,RMPRDA,89))
                       QUIT 
 +75               WRITE !,?15,"ITEM: ",$GET(R19(660,RMPRDA,89,"E"))
 +76               WRITE !,?15,"STATION: ",$GET(R19(660,RMPRDA,90,"E"))
 +77               WRITE !,?15,"VENDOR: ",$GET(R19(660,RMPRDA,91,"E"))
 +78               WRITE !,?23,$GET(R19(660,RMPRDA,93,"E")),!,?23,$GET(R19(660,RMPRDA,94,"E"))
 +79               WRITE "   ",$GET(R19(660,RMPRDA,95,"E")),"  ",$GET(R19(660,RMPRDA,96,"E"))
               End DoDot:1
 +80      ;put in lab display here fields 45,46,47,48 and 51
 +81      ;lab amis
 +82       IF $GET(R19(660,RMPRDA,73,"E"))
               Begin DoDot:1
 +83               WRITE ?40,"ORTHOTICS LAB CODE: "
 +84               WRITE $SELECT($DATA(R19(660,RMPRDA,74,"E")):R19(660,RMPRDA,74,"E"),$DATA(R19(660,RMPRDA,75,"E")):R19(660,RMPRDA,75,"E"),1:"")
 +85               WRITE !?40,"RESTORATIONS LAB CODE: "
 +86               WRITE $SELECT($DATA(R19(660,RMPRDA,76,"E")):R19(660,RMPRDA,76,"E"),$DATA(R19(660,RMPRDA,77,"E")):R19(660,RMPRDA,77,"E"),1:"")
               End DoDot:1
 +87      ;purchasing and issue from stock amis
 +88       WRITE !,"DISABILITY SERVED: ",$GET(R19(660,RMPRDA,62,"E"))
 +89      ;appliance/item information
 +90      ;historical/original item
 +91       WRITE !,"ITEM DESCRIPTION: ",$GET(R19(660,RMPRDA,89,"E"))
 +92      ;check for changes to item description
 +93       IF $GET(R19(660,RMPRDA,89,"E"))'=$GET(R19(660,RMPRDA,4,"E"))
               WRITE !,"*** See Above For Original Item Description ***"
 +94       WRITE !,"APPLIANCE: ",$GET(R19(660,RMPRDA,4,"E"))
 +95       WRITE !,"PSAS HCPCS: ",$GET(R19(660,RMPRDA,4.5,"E"))
 +96       IF $PIECE($GET(^RMPR(660,RMPRDA,1)),U,4)
               WRITE ?22,$PIECE($GET(^RMPR(661.1,$PIECE(^RMPR(660,RMPRDA,1),U,4),0)),U,2)
 +97      ;added by #69
 +98      ;
 +99      ; PATCH 92 - Code Set Versioning (CSV) changes below
 +100     ; AAC      - 08/03/04
 +101     ; RMPR*3*182 Changes to handle BOTH ICD9 and ICD10 internal pointers
 +102     ; RMPR*3.0*194 New variables and updates to use ICD API
 +103      NEW RMPRDRG,RMPRICDD,RMPRICDC,RMPRICD,RMPRIC9,RMPRCOD,RMPRDAT
 +104      SET (RMPRICD,RMPRIC9,RMPRCOD,RMPRDAT)=""
           SET RMPRERR=0
 +105      SET RMPRDAT=$PIECE($GET(^RMPR(660,RMPRDA,0)),U)
 +106      IF $DATA(^RMPR(660,RMPRDA,10))
               SET RMPRICD=$PIECE($GET(^RMPR(660,RMPRDA,10)),U,8)
 +107      IF RMPRICD
               Begin DoDot:1
 +108     ;RMPR*3.0*194 Check if null before setting RMPRICDC
                   SET RMPRDRG=$$ICDDX^ICDEX(RMPRICD,RMPRDAT,,"I")
 +109              SET RMPRICDC=$PIECE(RMPRDRG,U,2)
                   SET RMPRICDD=$PIECE(RMPRDRG,U,4)
               End DoDot:1
 +110      SET RMPRICDT=$SELECT(RMPRICD<50000:9,1:10)
 +111      IF RMPRICD=""
               WRITE !,"ICD Message:  ** NO CODE AVAILABLE **"
 +112      IF RMPRICD'=""
               WRITE !,"ICD",RMPRICDT,": ",RMPRICDC,"   ",RMPRICDD
 +113     ;
 +114     ; End Patch 92
 +115     ;
 +116      WRITE !,"CPT MODIFIER: ",$GET(R19(660,RMPRDA,4.7,"E"))
 +117      WRITE !,"DESCRIPTION: ",$GET(R19(660,RMPRDA,24,"E"))
 +118      WRITE !,"EXTENDED DESCRIPTION: ",!
 +119      IF $DATA(R19(660,RMPRDA,28))
               Begin DoDot:1
 +120              NEW R28
 +121     ;command part of new standards
 +122              MERGE R28=R19(660,RMPRDA,28)
 +123              IF $PIECE($GET(^RMPR(660,RMPRDA,"DES",0)),U,3)>1
                       NEW DIR
                       SET DIR(0)="E"
                       DO ^DIR
                       if $DATA(DUOUT)!$DATA(DTOUT)
                           QUIT 
                       DO HDR
                       WRITE !,"EXTENDED DESCRIPTION: ",!
 +124              DO EN^DDIOL(.R28)
               End DoDot:1
               if $DATA(DUOUT)!$DATA(DTOUT)
                   GOTO EX1
 +125     ;NPPD key items consolidated, example L5300 limb order
 +126      IF $PIECE(IT(AN),U,3)
               WRITE !!,"*** Return For DETAIL REPORT ***"
               NEW DIR
               SET DIR(0)="E"
               DO ^DIR
               if $DATA(DUOUT)!$DATA(DTOUT)
                   GOTO EX1
               WRITE @IOF
               DO HDR
               DO ^RMPRPAT7
 +127     ;display work order if it is a 2529-3 form
 +128     ;must pass ien to file 664.1 NOT 664.2
 +129      IF $GET(R19(660,RMPRDA,72,"I"))'=""
               Begin DoDot:1
 +130              SET DIR(0)="E"
                   DO ^DIR
                   if $DATA(DTOUT)!$DATA(DUOUT)
                       QUIT 
 +131              SET RMPRBCK=RMPRDA
 +132              NEW DIC
 +133              SET RMPRDA=R19(660,RMPRBCK,72,"I")
 +134              DO DISP^RMPR293(RMPRDA)
 +135              SET RMPRDA=RMPRBCK
                   KILL RMPRBCK
               End DoDot:1
               GOTO EX1
 +136     ;return from work order
 +137      GOTO EXIT
 +138     ;
HDR       ;display heading
 +1        WRITE @IOF,RMPRNAM,?30," SSN: "
 +2        WRITE $EXTRACT(RMPRSSN,1,3)_"-"_$EXTRACT(RMPRSSN,4,5)_"-"_$EXTRACT(RMPRSSN,6,10),?50
 +3        WRITE $GET(R19(660,RMPRDA,8,"E")),?70,"DOB: "
 +4        WRITE $SELECT(RMPRDOB:$EXTRACT(RMPRDOB,4,5)_"-"_$EXTRACT(RMPRDOB,6,7)_"-"_(1700+$EXTRACT(RMPRDOB,1,3)),1:"Unknown")
 +5        WRITE !?20,"APPLIANCE/REPAIR LINE ITEM DETAIL ",?70,"<4-",ANS,">",!
 +6        QUIT 
EXIT      ;common exit point
 +1        IF $Y>(IOSL-4)
               FOR 
                   WRITE !
                   if $Y>(IOSL-3)
                       QUIT 
 +2        NEW DIR
           SET DIR(0)="E"
           DO ^DIR
 +3        SET RMOXY=Y
 +4       ;duout,dtout is evaluated in dis+1^rmpopat2
EX1       ;back out through that point to clean up
 +1        KILL R19,RV,RMPRICC,RMPRICD,RMPRIC9,RMPRCOD,RMPRDAT,RMPRERR,Y
           WRITE @IOF
 +2        QUIT 
 +3       ;end