- PSON52 ;BIR/DSD - files new entries in prescription file ;06-Dec-2013 08:18;DU
- ;;7.0;OUTPATIENT PHARMACY;**1,16,23,27,32,46,71,111,124,117,131,139,157,1005,1006,1007,1008,1011,1013,1014,143,219,148,239,201,268,260,225,303,1015,1016,1017**;DEC 1997;Build 40
- ;External reference ^PS(55 supported by DBIA 2228
- ;External reference to PSOUL^PSSLOCK supported by DBIA 2789
- ;External reference to ^XUSEC supported by DBIA 10076
- ;External reference SWSTAT^IBBAPI supported by DBIA 4663
- ;External reference SAVNDC^PSSNDCUT supported by DBIA 4707
- ; Modified - IHS/CIA/PLS - 12/30/03 - Starting at line DD+37
- ; IHS/MSC/PLS - 09/17/07 - Added CLININD and CLININD2 to $T region
- ; IHS/MSC/PLS - 12/08/08 - Added CASH DUE set
- ; 07/30/10 - Line IBQ+1
- ; 04/15/11 - Added PRV* and DEA* fields
- ; 09/27/11 - Added APSPPRIO references
- ; 10/13/11 - Line INIT+5,INIT+9
- ; 05/22/12 - Line DT+2
- ; 11/20/12 - Line DT+15
- ; 03/06/13 - Line DD-2
- ; 06/04/13 - Added DSCMED reference
- ; IHS/MSC/MGH 08/05/13 - Line DT+16
- EN(PSOX) ;Entry Point
- START ;
- D:$D(XRTL) T0^%ZOSV ; Start RT Monitor
- D INIT G:PSON52("QFLG") END D NFILE Q:$G(PSONEW("DFLG")) D PS55,DIK
- S:$D(XRT0) XRTN=$T(+0) D:$D(XRT0) T1^%ZOSV ; Stop RT Monitor
- D FINISH
- I $P(^PSRX(PSOX("IRXN"),0),"^",11)="W",$G(^("IB")) S ^PSRX("ACP",$P(^PSRX(PSOX("IRXN"),0),"^",2),$P(^(2),"^",2),0,PSOX("IRXN"))=""
- END D EOJ
- Q
- INIT ;
- K X,%DT S:$G(PSOID) PSOX("ISSUE DATE")=PSOID
- S PSOX("CS")=0
- F DEA=1:1 Q:$E(PSODRUG("DEA"),DEA)="" I $E(+PSODRUG("DEA"),DEA)>1,$E(+PSODRUG("DEA"),DEA)<6 S $P(PSOX("CS"),"^")=1 S:$E(+PSODRUG("DEA"),DEA)=2 $P(PSOX("CS"),"^",2)=1
- S PSON52("QFLG")=0,X1=PSOX("ISSUE DATE"),X2=PSOX("DAYS SUPPLY")*(PSOX("# OF REFILLS")+1)\1
- ;IHS/MSC/PLS - 10/13/2011
- ;I $D(CLOZPAT) S X2=$S(X2=14:14,X2=7:7,1:X2) G DT
- I $D(CLOZPAT) S X2=$S(X2=28:28,X2=21:21,X2=14:14,X2=7:7,1:X2) G DT
- ;S X2=$S(PSOX("DAYS SUPPLY")=X2:X2,+$G(PSOX("CS")):184,+$G(DEA("CS")):184,1:366)
- S X2=$S(PSOX("DAYS SUPPLY")=X2:X2,+$P($G(PSOX("CS")),U,2):184,+$G(PSOX("CS")):184,+$G(DEA("CS")):184,1:366)
- ;
- ;IHS/MSC/PLS - 10/13/2011 - Next three lines commented out
- ;I X2<30 D
- ;. N % S %=$P($G(PSORX("PATIENT STATUS")),"^"),X2=30
- ;. S:%?.N %=$P($G(^PS(53,+%,0)),"^") I %["AUTH ABS" S X2=5
- DT ;IHS/MSC/PLS - 02/13/2012
- ;S X2=$S(+$G(PSODIR("CS")):184,1:366)
- ;IHS/MSC/PLS - 05/22/2012
- S X2=$S(+PSOX("CS"):184,1:366)
- ;IHS/MSC/PLS - 04/21/2011 - Added next three lines
- N EXTEXP
- S EXTEXP=$$GET1^DIQ(50,PSODRUG("IEN"),9999999.08)
- S X2=$S(EXTEXP:EXTEXP,1:X2)
- D C^%DTC S PSOX("STOP DATE")=$P(X,".") K X
- I PSOX("# OF REFILLS")>0 S X1=PSOX("FILL DATE"),X2=$S((PSOX("DAYS SUPPLY")-10\1)<1:1,1:PSOX("DAYS SUPPLY")-10\1) D C^%DTC S PSOX("NEXT POSSIBLE REFILL")=$P(X,".") K X
- S PSOX("TYPE OF RX")=0,PSOX("DISPENSED DATE")=PSOX("FILL DATE") D NOW^%DTC S PSOX("LOGIN DATE")=$S($P($G(OR0),"^",12):$P($G(OR0),"^",12),1:%) K %,X
- S PSOX("STATUS")=$S($G(PSOX("STATUS"))]"":PSOX("STATUS"),$D(PSORX("VERIFY")):1,1:0)
- S PSOX("COPIES")=$S($G(PSOX("COPIES"))]"":PSOX("COPIES"),1:1)
- I $G(PSORX("PHARM"))]"" S PSOX("PHARMACIST")=PSORX("PHARM") K PSORX("PHARM")
- S:$L($G(APSPPRIO)) PSOX("APSPPRIO")=APSPPRIO ;IHS/MSC/PLS - 09/27/11
- ;S PSOX("RXNORM")=$$RXNORM^APSPFNC1($G(PSOX("NDC"))) ;IHS/MSC/PLS - 11/20/2012
- ;IHS/MSC/MGH Patch 1017 changed depending on pickup location
- I $G(PSOX("PICKUP"))'="" S PSOX("NDC")=$$GETNDC^APSPFNC1($G(PSODRUG("IEN")),$G(PSOX("PICKUP")))
- S PSOX("RXNORM")=$$RXNORM^APSPFNC1($G(PSOX("NDC"))) ;IHS/MSC/MGH - 10/25/2013
- D INITPRV
- INITX Q
- ;
- INITPRV ;EP -
- N PRV
- S PRV=PSOX("PROVIDER")
- S PSOX("PRV STR ADD1")=$$GET1^DIQ(200,PRV,.111)
- S PSOX("PRV STR ADD2")=$$GET1^DIQ(200,PRV,.112)
- S PSOX("PRV STR ADD3")=$$GET1^DIQ(200,PRV,.113)
- S PSOX("PRV CITY")=$$GET1^DIQ(200,PRV,.114)
- S PSOX("PRV STATE")=$$GET1^DIQ(200,PRV,.115)
- S PSOX("PRV ZIP")=$$GET1^DIQ(200,PRV,.116)
- S PSOX("DEA_VA_USPHS")=$S($$ISSCH^APSPFNC2(PSODRUG("IEN"),"2345"):$$DEAVAUS^APSPFUNC(PRV),1:"")
- Q
- ;
- NFILE I $G(OR0) D Q:$G(PSONEW("DFLG"))
- .D NOOR^PSONEW Q:$G(PSONEW("DFLG"))
- .I $G(PSOSIGFL)!($G(PSODRUG("OI"))'=$P(OR0,"^",8)) S PSONEW("CLERK CODE")=DUZ,PSONEW("REMARKS")=$G(PSONEW("REMARKS"))_" CPRS Order #"_$P(OR0,"^")_" Edited."
- S DIC="^PSRX(",DLAYGO=52,DIC(0)="L",X=PSOX("RX #") K DD,DO D FILE^DICN S PSOX("IRXN")=+Y K DLAYGO,X,Y,DIC,DD,DO D:+$G(DGI) TECH^PSODGDGI
- F PSOX1=0:1 S PSON52=$P($T(DD+PSOX1),";;",2,4) Q:PSON52="" K PSOY S PSOY=$P(PSON52,";;") I $G(@PSOY)]"" S $P(PSON52(PSOX("IRXN"),$P(PSON52,";;",2)),"^",$P(PSON52,";;",3))=@PSOY
- F I=1:1:PSOX("ENT") S ^PSRX(PSOX("IRXN"),6,I,0)=PSOX("DOSE",I)_"^"_$G(PSOX("DOSE ORDERED",I))_"^"_$G(PSOX("UNITS",I))_"^"_$G(PSOX("NOUN",I))_"^" D
- .S ^PSRX(PSOX("IRXN"),6,I,0)=^PSRX(PSOX("IRXN"),6,I,0)_$G(PSOX("DURATION",I))_"^"_$G(PSOX("CONJUNCTION",I))_"^"_$G(PSOX("ROUTE",I))_"^"_$G(PSOX("SCHEDULE",I))_"^"_$G(PSOX("VERB",I))
- .I $G(PSOX("ODOSE",I))]"" S ^PSRX(PSOX("IRXN"),6,I,1)=PSOX("ODOSE",I)
- S ^PSRX(PSOX("IRXN"),6,0)="^52.0113^"_PSOX("ENT")_"^"_PSOX("ENT")
- K PSOX1,PSOY
- S PSOX1="" F S PSOX1=$O(PSON52(PSOX("IRXN"),PSOX1)) Q:PSOX1="" S ^PSRX(PSOX("IRXN"),PSOX1)=$G(PSON52(PSOX("IRXN"),PSOX1))
- I $O(PSOX("SIG",0)) D
- .S D=0 F S D=$O(PSOX("SIG",D)) Q:'D S ^PSRX(PSOX("IRXN"),"INS1",D,0)=PSOX("SIG",D),TP=$G(TP)+1
- .S ^PSRX(PSOX("IRXN"),"INS1",0)="^52.0115^"_TP_"^"_TP_"^"_DT_"^^" K TP,D
- I $G(PSOX("SINS"))]"" S ^PSRX(PSOX("IRXN"),"INSS")=PSOX("SINS")
- I $G(SIGOK) D
- .S $P(^PSRX(PSOX("IRXN"),"SIG"),"^",2)=1,^PSRX(PSOX("IRXN"),"SIG1",0)="^52.04A^^"
- .S D=0 F S D=$O(SIG(D)) Q:'D S ^PSRX(PSOX("IRXN"),"SIG1",D,0)=SIG(D),$P(^PSRX(PSOX("IRXN"),"SIG1",0),"^",3)=+$P(^PSRX(PSOX("IRXN"),"SIG1",0),"^",3)+1,$P(^(0),"^",4)=+$P(^(0),"^",4)+1 Q:'$O(SIG(D))
- .K SIG
- I $D(PSOINSFL) S ^PSRX(PSOX("IRXN"),"A",0)="^52.3DA^1^1",^PSRX(PSOX("IRXN"),"A",1,0)=DT_"^G^^0^Patient Instructions "_$S(PSOINSFL=1:"",1:"Not ")_"Sent By Provider."
- I $G(OR0) S:$P(OR0,"^",24) ^PSRX(PSOX("IRXN"),"PKI")=1
- K PSOX1,PSOFINFL,HLDSIG,D,PSOINSFL,D
- D:$G(^TMP("PSODAI",$J,0))
- .S $P(^PSRX(PSOX("IRXN"),3),"^",6)=1
- .I $O(^TMP("PSODAI",$J,0)) S DAI=0 F S DAI=$O(^TMP("PSODAI",$J,DAI)) Q:'DAI D
- ..S:'$D(^PSRX(PSOX("IRXN"),"DAI",0)) ^PSRX(PSOX("IRXN"),"DAI",0)="^52.03^^" S ^PSRX(PSOX("IRXN"),"DAI",DAI,0)=^TMP("PSODAI",$J,DAI,0)
- ..S $P(^PSRX(PSOX("IRXN"),"DAI",0),"^",3)=+$P(^PSRX(PSOX("IRXN"),"DAI",0),"^",3)+1,$P(^(0),"^",4)=+$P(^(0),"^",4)+1
- .K ^TMP("PSODAI",$J),DAI
- I $G(PSOX("CHCS NUMBER"))'="" S $P(^PSRX(PSOX("IRXN"),"EXT"),"^")=$G(PSOX("CHCS NUMBER"))
- I $G(PSOX("EXTERNAL SYSTEM"))'="" S $P(^PSRX(PSOX("IRXN"),"EXT"),"^",2)=$G(PSOX("EXTERNAL SYSTEM"))
- I $G(PSOX("NEWCOPAY")) S ^PSRX(PSOX("IRXN"),"IB")=$G(PSOX("NEWCOPAY"))
- ;Next line, set SC question based on Copay status?
- IBQ ;I $G(PSOBILL)=2 S ^PSRX(PSOX("IRXN"),"IBQ")=$S($G(PSOX("NEWCOPAY")):0,1:1)
- S PSOSCP="" ;IHS/MSC/PLS - 07/30/10 - Prevent undefined during autofinish
- N PSOSCFLD S PSOSCFLD=$S(PSOSCP'="":$G(PSOANSQ("SC")),1:"")_"^"_$G(PSOANSQ("MST"))_"^"_$G(PSOANSQ("VEH"))_"^"_$G(PSOANSQ("RAD"))_"^"_$G(PSOANSQ("PGW"))_"^"_$G(PSOANSQ("HNC"))_"^"_$G(PSOANSQ("CV"))_"^"_$G(PSOANSQ("SHAD"))
- I PSOSCP<50&($TR(PSOSCFLD,"^")'="")&($P($G(^PS(53,+$G(PSONEW("PATIENT STATUS")),0)),"^",7)'=1) D
- . S ^PSRX(PSOX("IRXN"),"IBQ")=PSOSCFLD K PSOSCFLD ;don't set if SC % is null or 0, just set it in ICD node
- D ICD^PSODIAG
- ;D:$$SWSTAT^IBBAPI() GACT^PSOPFSU0(PSOX("IRXN"),0) ;IHS/MSC/PLS - 03/15/10
- K PSOANSQ,PSOANSQD,PSOX("NEWCOPAY")
- L -^PSRX("B",PSOX("IRXN"))
- Q
- ;
- PS55 ;
- L +^PS(55,PSODFN,"P"):$S(+$G(^DD("DILOCKTM"))>0:+^DD("DILOCKTM"),1:3)
- S:'$D(^PS(55,PSODFN,"P",0)) ^(0)="^55.03PA^^"
- F PSOX1=$P(^PS(55,PSODFN,"P",0),"^",3):1 Q:'$D(^PS(55,PSODFN,"P",PSOX1))
- S PSOX("55 IEN")=PSOX1
- S ^PS(55,PSODFN,"P",PSOX1,0)=PSOX("IRXN"),$P(^PS(55,PSODFN,"P",0),"^",3,4)=PSOX1_"^"_($P(^PS(55,PSODFN,"P",0),"^",4)+1)
- S ^PS(55,PSODFN,"P","A",PSONEW("STOP DATE"),PSOX("IRXN"))=""
- PS55X L -^PS(55,PSODFN,"P")
- K PSOX1
- Q
- DIK ;
- I $D(^XUSEC("PSORPH",DUZ)) S DA=PSOX("IRXN"),DIE=52,DR="41////"_PSOCOU_";S:'X Y=""@1"";42////"_PSOCOUU_";@1" D ^DIE K DIE,DR
- K DIK,DA S DIK="^PSRX(",DA=PSOX("IRXN") D IX1^DIK K DIK
- S DA=PSOX("IRXN") D ORC^PSORN52C
- Q
- FINISH ;
- ANQ I $G(ANQDATA)]"" D NOW^%DTC G:$D(^PS(52.52,"B",%)) ANQ D
- .K DD,DO S DIC="^PS(52.52,",DIC(0)="L",DLAYGO=52.52,X=% D FILE^DICN K DIC,DLAYGO,DD,DO
- .S ^PS(52.52,+Y,0)=$P(Y,"^",2)_"^"_PSOX("IRXN")_"^"_ANQDATA,^PS(52.52,"A",PSOX("IRXN"),+Y)="" K ANQDATA,X,Y,%,ANQREM
- G:PSOX("STATUS")=4 FINISHP
- I $D(PSORX("VERIFY")) D G FINISHX
- .K DIC,DLAYGO,DINUM,DIADD,X,DD,DO S DIC="^PS(52.4,",DLAYGO=52.4,DINUM=PSOX("IRXN"),DIC(0)="ML",X=PSOX("IRXN")
- .D FILE^DICN K DD,DO,DIC,DLAYGO,DINUM S ^PS(52.4,PSOX("IRXN"),0)=PSOX("IRXN")_"^"_PSODFN_"^"_DUZ_"^"_"^"_$E(PSOX("LOGIN DATE"),1,7)_"^"_PSOX("IRXN")_"^"_PSOX("STOP DATE")
- .K DIK,DA S DIK="^PS(52.4,",DA=PSOX("IRXN") D IX^DIK K DIK,DA
- ;
- I PSOX("FILL DATE")>DT,$P(PSOPAR,"^",6) S DA=PSOX("IRXN"),RXFL(PSOX("IRXN"))=0 D SUS^PSORXL K DA G FINISHX
- ;
- ; - Calling ECME for claims generation and transmission / REJECT handling
- N ACTION,PSOERX
- S PSOERX=PSOX("IRXN")
- I $$SUBMIT^PSOBPSUT(PSOERX,0) D I ACTION="Q"!(ACTION="^") Q
- . S ACTION="" D ECMESND^PSOBPSU1(PSOERX,0,PSOX("FILL DATE"),"OF")
- . I $$FIND^PSOREJUT(PSOERX,0) D
- . . S ACTION=$$HDLG^PSOREJU1(PSOERX,0,"79,88","OF","IOQ","Q")
- . I $$STATUS^PSOBPSUT(PSOERX,0)="E PAYABLE" D
- . . D SAVNDC^PSSNDCUT(+$$GET1^DIQ(52,PSOERX,6,"I"),$G(PSOSITE),$$GETNDC^PSONDCUT(PSOERX,0))
- ;
- FINISHP ;
- I $G(PSORX("PSOL",1))']"" S PSORX("PSOL",1)=PSOX("IRXN")_",",RXFL(PSOX("IRXN"))=0 G FINISHX
- F PSOX1=0:0 S PSOX1=$O(PSORX("PSOL",PSOX1)) Q:'PSOX1 S PSOX2=PSOX1
- I $L(PSORX("PSOL",PSOX2))+$L(PSOX("IRXN"))<220 S PSORX("PSOL",PSOX2)=PSORX("PSOL",PSOX2)_PSOX("IRXN")_","
- E S PSORX("PSOL",PSOX2+1)=PSOX("IRXN")_","
- S RXFL(PSOX("IRXN"))=0
- FINISHX ;call to build Rx array for bingo board
- I $G(PSORX("MAIL/WINDOW"))["W" S BINGCRT=1,BINGRTE="W",BBFLG=1 D BBRX^PSORN52C
- K PSOX1,PSOX2
- Q
- EOJ ;
- ;B xref locked in routine PSONRXN
- L -^PSRX("B",PSOX("IRXN")) K OTHDOS,DA,PSON52,PSOPRC,RTE,SCH,PSOX("INS"),PSONEW("INS"),PSORXED("INS"),PSONEW("ENT"),PSORXED("ENT"),OLENT
- D PSOUL^PSSLOCK(PSOX("IRXN"))
- Q
- ;
- ;;PSODRUG("DAW");;EPH;;1
- ;;PSOX("SIG");;SIG;;1
- DD ;;PSOX("RX #");;0;;1
- ;;PSOX("ISSUE DATE");;0;;13
- ;;PSODFN;;0;;2
- ;;PSOX("PATIENT STATUS");;0;;3
- ;;PSOX("PROVIDER");;0;;4
- ;;PSOX("CLINIC");;0;;5
- ;;PSODRUG("IEN");;0;;6
- ;;PSODRUG("TRADE NAME");;TN;;1
- ;;PSOX("QTY");;0;;7
- ;;PSOX("DAYS SUPPLY");;0;;8
- ;;PSOX("# OF REFILLS");;0;;9
- ;;PSOX("COPIES");;0;;18
- ;;PSOX("MAIL/WINDOW");;0;;11
- ;;PSOX("REMARKS");;3;;7
- ;;PSOX("CLERK CODE");;0;;16
- ;;PSODRUG("COST");;0;;17
- ;;PSOSITE;;2;;9
- ;;PSOX("LOGIN DATE");;2;;1
- ;;PSOX("FILL DATE");;2;;2
- ;;PSOX("PHARMACIST");;2;;3
- ;;PSOX("LOT #");;2;;4
- ;;PSOX("DISPENSED DATE");;2;;5
- ;;PSOX("STOP DATE");;2;;6
- ;;PSODRUG("NDC");;2;;7
- ;;PSODRUG("MANUFACTURER");;2;;8
- ;;PSOX("EXPIRATION DATE");;2;;11
- ;;PSOX("GENERIC PROVIDER");;2;;12
- ;;PSOX("RELEASED DATE/TIME");;2;;13
- ;;PSOX("METHOD OF PICK-UP");;MP;;1
- ;;PSOX("STATUS");;STA;;1
- ;;PSOX("LAST DISPENSED DATE");;3;;1
- ;;PSOX("NEXT POSSIBLE REFILL");;3;;2
- ;;PSOX("COSIGNING PROVIDER");;3;;3
- ;;PSOX("TYPE OF RX");;TYPE;;1
- ;;PSOX("SAND");;SAND;;1
- ;;PSOX("POE");;POE;;1
- ;;PSOX("INS");;INS;;1
- ;;PSOX("CM");;9999999;;2
- ;;PSOX("CLININD");;999999921;;1
- ;;PSOX("CLININD2");;999999921;;2
- ;;PSOX("AUTOFIN");;999999921;;3
- ;;PSOX("ELECTRONIC PHARMACY");;999999921;;4
- ;;PSOX("CASH DUE");;999999921;;6
- ;;PSOX("RXNORM");;999999921;;7
- ;;PSOX("DAW");;999999921;;5
- ;;PSOX("COST");;0;;17
- ;;PSOX("NDC");;2;;7
- ;;PSODRUG("AWP");;9999999;;6
- ;;PSOX("AWP");;9999999;;6
- ;;PSOX("BST");;9999999;;7
- ;;PSOX("INSURER");;9999999;;12
- ;;PSOX("DUR");;9999999;;13
- ;;PSOX("TRIP");;9999999;;14
- ;;PSOX("MANUFACTURER");;2;;8
- ;;PSOX("PRV STR ADD1");;999999931;;1
- ;;PSOX("PRV STR ADD2");;999999931;;2
- ;;PSOX("PRV STR ADD3");;999999931;;3
- ;;PSOX("PRV CITY");;999999931;;4
- ;;PSOX("PRV STATE");;999999931;;5
- ;;PSOX("PRV ZIP");;999999931;;6
- ;;PSOX("DEA_VA_USPHS");;999999931;;7
- ;;PSOX("APSPPRIO");;999999931;;8
- ;;PSOX("DSCMED");;999999921;;8
- PSON52 ;BIR/DSD - files new entries in prescription file ;06-Dec-2013 08:18;DU
- +1 ;;7.0;OUTPATIENT PHARMACY;**1,16,23,27,32,46,71,111,124,117,131,139,157,1005,1006,1007,1008,1011,1013,1014,143,219,148,239,201,268,260,225,303,1015,1016,1017**;DEC 1997;Build 40
- +2 ;External reference ^PS(55 supported by DBIA 2228
- +3 ;External reference to PSOUL^PSSLOCK supported by DBIA 2789
- +4 ;External reference to ^XUSEC supported by DBIA 10076
- +5 ;External reference SWSTAT^IBBAPI supported by DBIA 4663
- +6 ;External reference SAVNDC^PSSNDCUT supported by DBIA 4707
- +7 ; Modified - IHS/CIA/PLS - 12/30/03 - Starting at line DD+37
- +8 ; IHS/MSC/PLS - 09/17/07 - Added CLININD and CLININD2 to $T region
- +9 ; IHS/MSC/PLS - 12/08/08 - Added CASH DUE set
- +10 ; 07/30/10 - Line IBQ+1
- +11 ; 04/15/11 - Added PRV* and DEA* fields
- +12 ; 09/27/11 - Added APSPPRIO references
- +13 ; 10/13/11 - Line INIT+5,INIT+9
- +14 ; 05/22/12 - Line DT+2
- +15 ; 11/20/12 - Line DT+15
- +16 ; 03/06/13 - Line DD-2
- +17 ; 06/04/13 - Added DSCMED reference
- +18 ; IHS/MSC/MGH 08/05/13 - Line DT+16
- EN(PSOX) ;Entry Point
- START ;
- +1 ; Start RT Monitor
- IF $DATA(XRTL)
- DO T0^%ZOSV
- +2 DO INIT
- IF PSON52("QFLG")
- GOTO END
- DO NFILE
- IF $GET(PSONEW("DFLG"))
- QUIT
- DO PS55
- DO DIK
- +3 ; Stop RT Monitor
- IF $DATA(XRT0)
- SET XRTN=$TEXT(+0)
- IF $DATA(XRT0)
- DO T1^%ZOSV
- +4 DO FINISH
- +5 IF $PIECE(^PSRX(PSOX("IRXN"),0),"^",11)="W"
- IF $GET(^("IB"))
- SET ^PSRX("ACP",$PIECE(^PSRX(PSOX("IRXN"),0),"^",2),$PIECE(^(2),"^",2),0,PSOX("IRXN"))=""
- END DO EOJ
- +1 QUIT
- INIT ;
- +1 KILL X,%DT
- IF $GET(PSOID)
- SET PSOX("ISSUE DATE")=PSOID
- +2 SET PSOX("CS")=0
- +3 FOR DEA=1:1
- IF $EXTRACT(PSODRUG("DEA"),DEA)=""
- QUIT
- IF $EXTRACT(+PSODRUG("DEA"),DEA)>1
- IF $EXTRACT(+PSODRUG("DEA"),DEA)<6
- SET $PIECE(PSOX("CS"),"^")=1
- IF $EXTRACT(+PSODRUG("DEA"),DEA)=2
- SET $PIECE(PSOX("CS"),"^",2)=1
- +4 SET PSON52("QFLG")=0
- SET X1=PSOX("ISSUE DATE")
- SET X2=PSOX("DAYS SUPPLY")*(PSOX("# OF REFILLS")+1)\1
- +5 ;IHS/MSC/PLS - 10/13/2011
- +6 ;I $D(CLOZPAT) S X2=$S(X2=14:14,X2=7:7,1:X2) G DT
- +7 IF $DATA(CLOZPAT)
- SET X2=$SELECT(X2=28:28,X2=21:21,X2=14:14,X2=7:7,1:X2)
- GOTO DT
- +8 ;S X2=$S(PSOX("DAYS SUPPLY")=X2:X2,+$G(PSOX("CS")):184,+$G(DEA("CS")):184,1:366)
- +9 SET X2=$SELECT(PSOX("DAYS SUPPLY")=X2:X2,+$PIECE($GET(PSOX("CS")),U,2):184,+$GET(PSOX("CS")):184,+$GET(DEA("CS")):184,1:366)
- +10 ;
- +11 ;IHS/MSC/PLS - 10/13/2011 - Next three lines commented out
- +12 ;I X2<30 D
- +13 ;. N % S %=$P($G(PSORX("PATIENT STATUS")),"^"),X2=30
- +14 ;. S:%?.N %=$P($G(^PS(53,+%,0)),"^") I %["AUTH ABS" S X2=5
- DT ;IHS/MSC/PLS - 02/13/2012
- +1 ;S X2=$S(+$G(PSODIR("CS")):184,1:366)
- +2 ;IHS/MSC/PLS - 05/22/2012
- +3 SET X2=$SELECT(+PSOX("CS"):184,1:366)
- +4 ;IHS/MSC/PLS - 04/21/2011 - Added next three lines
- +5 NEW EXTEXP
- +6 SET EXTEXP=$$GET1^DIQ(50,PSODRUG("IEN"),9999999.08)
- +7 SET X2=$SELECT(EXTEXP:EXTEXP,1:X2)
- +8 DO C^%DTC
- SET PSOX("STOP DATE")=$PIECE(X,".")
- KILL X
- +9 IF PSOX("# OF REFILLS")>0
- SET X1=PSOX("FILL DATE")
- SET X2=$SELECT((PSOX("DAYS SUPPLY")-10\1)<1:1,1:PSOX("DAYS SUPPLY")-10\1)
- DO C^%DTC
- SET PSOX("NEXT POSSIBLE REFILL")=$PIECE(X,".")
- KILL X
- +10 SET PSOX("TYPE OF RX")=0
- SET PSOX("DISPENSED DATE")=PSOX("FILL DATE")
- DO NOW^%DTC
- SET PSOX("LOGIN DATE")=$SELECT($PIECE($GET(OR0),"^",12):$PIECE($GET(OR0),"^",12),1:%)
- KILL %,X
- +11 SET PSOX("STATUS")=$SELECT($GET(PSOX("STATUS"))]"":PSOX("STATUS"),$DATA(PSORX("VERIFY")):1,1:0)
- +12 SET PSOX("COPIES")=$SELECT($GET(PSOX("COPIES"))]"":PSOX("COPIES"),1:1)
- +13 IF $GET(PSORX("PHARM"))]""
- SET PSOX("PHARMACIST")=PSORX("PHARM")
- KILL PSORX("PHARM")
- +14 ;IHS/MSC/PLS - 09/27/11
- IF $LENGTH($GET(APSPPRIO))
- SET PSOX("APSPPRIO")=APSPPRIO
- +15 ;S PSOX("RXNORM")=$$RXNORM^APSPFNC1($G(PSOX("NDC"))) ;IHS/MSC/PLS - 11/20/2012
- +16 ;IHS/MSC/MGH Patch 1017 changed depending on pickup location
- +17 IF $GET(PSOX("PICKUP"))'=""
- SET PSOX("NDC")=$$GETNDC^APSPFNC1($GET(PSODRUG("IEN")),$GET(PSOX("PICKUP")))
- +18 ;IHS/MSC/MGH - 10/25/2013
- SET PSOX("RXNORM")=$$RXNORM^APSPFNC1($GET(PSOX("NDC")))
- +19 DO INITPRV
- INITX QUIT
- +1 ;
- INITPRV ;EP -
- +1 NEW PRV
- +2 SET PRV=PSOX("PROVIDER")
- +3 SET PSOX("PRV STR ADD1")=$$GET1^DIQ(200,PRV,.111)
- +4 SET PSOX("PRV STR ADD2")=$$GET1^DIQ(200,PRV,.112)
- +5 SET PSOX("PRV STR ADD3")=$$GET1^DIQ(200,PRV,.113)
- +6 SET PSOX("PRV CITY")=$$GET1^DIQ(200,PRV,.114)
- +7 SET PSOX("PRV STATE")=$$GET1^DIQ(200,PRV,.115)
- +8 SET PSOX("PRV ZIP")=$$GET1^DIQ(200,PRV,.116)
- +9 SET PSOX("DEA_VA_USPHS")=$SELECT($$ISSCH^APSPFNC2(PSODRUG("IEN"),"2345"):$$DEAVAUS^APSPFUNC(PRV),1:"")
- +10 QUIT
- +11 ;
- NFILE IF $GET(OR0)
- Begin DoDot:1
- +1 DO NOOR^PSONEW
- IF $GET(PSONEW("DFLG"))
- QUIT
- +2 IF $GET(PSOSIGFL)!($GET(PSODRUG("OI"))'=$PIECE(OR0,"^",8))
- SET PSONEW("CLERK CODE")=DUZ
- SET PSONEW("REMARKS")=$GET(PSONEW("REMARKS"))_" CPRS Order #"_$PIECE(OR0,"^")_" Edited."
- End DoDot:1
- IF $GET(PSONEW("DFLG"))
- QUIT
- +3 SET DIC="^PSRX("
- SET DLAYGO=52
- SET DIC(0)="L"
- SET X=PSOX("RX #")
- KILL DD,DO
- DO FILE^DICN
- SET PSOX("IRXN")=+Y
- KILL DLAYGO,X,Y,DIC,DD,DO
- IF +$GET(DGI)
- DO TECH^PSODGDGI
- +4 FOR PSOX1=0:1
- SET PSON52=$PIECE($TEXT(DD+PSOX1),";;",2,4)
- IF PSON52=""
- QUIT
- KILL PSOY
- SET PSOY=$PIECE(PSON52,";;")
- IF $GET(@PSOY)]""
- SET $PIECE(PSON52(PSOX("IRXN"),$PIECE(PSON52,";;",2)),"^",$PIECE(PSON52,";;",3))=@PSOY
- +5 FOR I=1:1:PSOX("ENT")
- SET ^PSRX(PSOX("IRXN"),6,I,0)=PSOX("DOSE",I)_"^"_$GET(PSOX("DOSE ORDERED",I))_"^"_$GET(PSOX("UNITS",I))_"^"_$GET(PSOX("NOUN",I))_"^"
- Begin DoDot:1
- +6 SET ^PSRX(PSOX("IRXN"),6,I,0)=^PSRX(PSOX("IRXN"),6,I,0)_$GET(PSOX("DURATION",I))_"^"_$GET(PSOX("CONJUNCTION",I))_"^"_$GET(PSOX("ROUTE",I))_"^"_$GET(PSOX("SCHEDULE",I))_"^"_$GET(PSOX("VERB",I))
- +7 IF $GET(PSOX("ODOSE",I))]""
- SET ^PSRX(PSOX("IRXN"),6,I,1)=PSOX("ODOSE",I)
- End DoDot:1
- +8 SET ^PSRX(PSOX("IRXN"),6,0)="^52.0113^"_PSOX("ENT")_"^"_PSOX("ENT")
- +9 KILL PSOX1,PSOY
- +10 SET PSOX1=""
- FOR
- SET PSOX1=$ORDER(PSON52(PSOX("IRXN"),PSOX1))
- IF PSOX1=""
- QUIT
- SET ^PSRX(PSOX("IRXN"),PSOX1)=$GET(PSON52(PSOX("IRXN"),PSOX1))
- +11 IF $ORDER(PSOX("SIG",0))
- Begin DoDot:1
- +12 SET D=0
- FOR
- SET D=$ORDER(PSOX("SIG",D))
- IF 'D
- QUIT
- SET ^PSRX(PSOX("IRXN"),"INS1",D,0)=PSOX("SIG",D)
- SET TP=$GET(TP)+1
- +13 SET ^PSRX(PSOX("IRXN"),"INS1",0)="^52.0115^"_TP_"^"_TP_"^"_DT_"^^"
- KILL TP,D
- End DoDot:1
- +14 IF $GET(PSOX("SINS"))]""
- SET ^PSRX(PSOX("IRXN"),"INSS")=PSOX("SINS")
- +15 IF $GET(SIGOK)
- Begin DoDot:1
- +16 SET $PIECE(^PSRX(PSOX("IRXN"),"SIG"),"^",2)=1
- SET ^PSRX(PSOX("IRXN"),"SIG1",0)="^52.04A^^"
- +17 SET D=0
- FOR
- SET D=$ORDER(SIG(D))
- IF 'D
- QUIT
- SET ^PSRX(PSOX("IRXN"),"SIG1",D,0)=SIG(D)
- SET $PIECE(^PSRX(PSOX("IRXN"),"SIG1",0),"^",3)=+$PIECE(^PSRX(PSOX("IRXN"),"SIG1",0),"^",3)+1
- SET $PIECE(^(0),"^",4)=+$PIECE(^(0),"^",4)+1
- IF '$ORDER(SIG(D))
- QUIT
- +18 KILL SIG
- End DoDot:1
- +19 IF $DATA(PSOINSFL)
- SET ^PSRX(PSOX("IRXN"),"A",0)="^52.3DA^1^1"
- SET ^PSRX(PSOX("IRXN"),"A",1,0)=DT_"^G^^0^Patient Instructions "_$SELECT(PSOINSFL=1:"",1:"Not ")_"Sent By Provider."
- +20 IF $GET(OR0)
- IF $PIECE(OR0,"^",24)
- SET ^PSRX(PSOX("IRXN"),"PKI")=1
- +21 KILL PSOX1,PSOFINFL,HLDSIG,D,PSOINSFL,D
- +22 IF $GET(^TMP("PSODAI",$JOB,0))
- Begin DoDot:1
- +23 SET $PIECE(^PSRX(PSOX("IRXN"),3),"^",6)=1
- +24 IF $ORDER(^TMP("PSODAI",$JOB,0))
- SET DAI=0
- FOR
- SET DAI=$ORDER(^TMP("PSODAI",$JOB,DAI))
- IF 'DAI
- QUIT
- Begin DoDot:2
- +25 IF '$DATA(^PSRX(PSOX("IRXN"),"DAI",0))
- SET ^PSRX(PSOX("IRXN"),"DAI",0)="^52.03^^"
- SET ^PSRX(PSOX("IRXN"),"DAI",DAI,0)=^TMP("PSODAI",$JOB,DAI,0)
- +26 SET $PIECE(^PSRX(PSOX("IRXN"),"DAI",0),"^",3)=+$PIECE(^PSRX(PSOX("IRXN"),"DAI",0),"^",3)+1
- SET $PIECE(^(0),"^",4)=+$PIECE(^(0),"^",4)+1
- End DoDot:2
- +27 KILL ^TMP("PSODAI",$JOB),DAI
- End DoDot:1
- +28 IF $GET(PSOX("CHCS NUMBER"))'=""
- SET $PIECE(^PSRX(PSOX("IRXN"),"EXT"),"^")=$GET(PSOX("CHCS NUMBER"))
- +29 IF $GET(PSOX("EXTERNAL SYSTEM"))'=""
- SET $PIECE(^PSRX(PSOX("IRXN"),"EXT"),"^",2)=$GET(PSOX("EXTERNAL SYSTEM"))
- +30 IF $GET(PSOX("NEWCOPAY"))
- SET ^PSRX(PSOX("IRXN"),"IB")=$GET(PSOX("NEWCOPAY"))
- +31 ;Next line, set SC question based on Copay status?
- IBQ ;I $G(PSOBILL)=2 S ^PSRX(PSOX("IRXN"),"IBQ")=$S($G(PSOX("NEWCOPAY")):0,1:1)
- +1 ;IHS/MSC/PLS - 07/30/10 - Prevent undefined during autofinish
- SET PSOSCP=""
- +2 NEW PSOSCFLD
- SET PSOSCFLD=$SELECT(PSOSCP'="":$GET(PSOANSQ("SC")),1:"")_"^"_$GET(PSOANSQ("MST"))_"^"_$GET(PSOANSQ("VEH"))_"^"_$GET(PSOANSQ("RAD"))_"^"_$GET(PSOANSQ("PGW"))_"^"_$GET(PSOANSQ("HNC"))_"^"_$GET(PSOANSQ("CV"))_"^"_$GET(PSOANSQ("SHAD"))
- +3 IF PSOSCP<50&($TRANSLATE(PSOSCFLD,"^")'="")&($PIECE($GET(^PS(53,+$GET(PSONEW("PATIENT STATUS")),0)),"^",7)'=1)
- Begin DoDot:1
- +4 ;don't set if SC % is null or 0, just set it in ICD node
- SET ^PSRX(PSOX("IRXN"),"IBQ")=PSOSCFLD
- KILL PSOSCFLD
- End DoDot:1
- +5 DO ICD^PSODIAG
- +6 ;D:$$SWSTAT^IBBAPI() GACT^PSOPFSU0(PSOX("IRXN"),0) ;IHS/MSC/PLS - 03/15/10
- +7 KILL PSOANSQ,PSOANSQD,PSOX("NEWCOPAY")
- +8 LOCK -^PSRX("B",PSOX("IRXN"))
- +9 QUIT
- +10 ;
- PS55 ;
- +1 LOCK +^PS(55,PSODFN,"P"):$SELECT(+$GET(^DD("DILOCKTM"))>0:+^DD("DILOCKTM"),1:3)
- +2 IF '$DATA(^PS(55,PSODFN,"P",0))
- SET ^(0)="^55.03PA^^"
- +3 FOR PSOX1=$PIECE(^PS(55,PSODFN,"P",0),"^",3):1
- IF '$DATA(^PS(55,PSODFN,"P",PSOX1))
- QUIT
- +4 SET PSOX("55 IEN")=PSOX1
- +5 SET ^PS(55,PSODFN,"P",PSOX1,0)=PSOX("IRXN")
- SET $PIECE(^PS(55,PSODFN,"P",0),"^",3,4)=PSOX1_"^"_($PIECE(^PS(55,PSODFN,"P",0),"^",4)+1)
- +6 SET ^PS(55,PSODFN,"P","A",PSONEW("STOP DATE"),PSOX("IRXN"))=""
- PS55X LOCK -^PS(55,PSODFN,"P")
- +1 KILL PSOX1
- +2 QUIT
- DIK ;
- +1 IF $DATA(^XUSEC("PSORPH",DUZ))
- SET DA=PSOX("IRXN")
- SET DIE=52
- SET DR="41////"_PSOCOU_";S:'X Y=""@1"";42////"_PSOCOUU_";@1"
- DO ^DIE
- KILL DIE,DR
- +2 KILL DIK,DA
- SET DIK="^PSRX("
- SET DA=PSOX("IRXN")
- DO IX1^DIK
- KILL DIK
- +3 SET DA=PSOX("IRXN")
- DO ORC^PSORN52C
- +4 QUIT
- FINISH ;
- ANQ IF $GET(ANQDATA)]""
- DO NOW^%DTC
- IF $DATA(^PS(52.52,"B",%))
- GOTO ANQ
- Begin DoDot:1
- +1 KILL DD,DO
- SET DIC="^PS(52.52,"
- SET DIC(0)="L"
- SET DLAYGO=52.52
- SET X=%
- DO FILE^DICN
- KILL DIC,DLAYGO,DD,DO
- +2 SET ^PS(52.52,+Y,0)=$PIECE(Y,"^",2)_"^"_PSOX("IRXN")_"^"_ANQDATA
- SET ^PS(52.52,"A",PSOX("IRXN"),+Y)=""
- KILL ANQDATA,X,Y,%,ANQREM
- End DoDot:1
- +3 IF PSOX("STATUS")=4
- GOTO FINISHP
- +4 IF $DATA(PSORX("VERIFY"))
- Begin DoDot:1
- +5 KILL DIC,DLAYGO,DINUM,DIADD,X,DD,DO
- SET DIC="^PS(52.4,"
- SET DLAYGO=52.4
- SET DINUM=PSOX("IRXN")
- SET DIC(0)="ML"
- SET X=PSOX("IRXN")
- +6 DO FILE^DICN
- KILL DD,DO,DIC,DLAYGO,DINUM
- SET ^PS(52.4,PSOX("IRXN"),0)=PSOX("IRXN")_"^"_PSODFN_"^"_DUZ_"^"_"^"_$EXTRACT(PSOX("LOGIN DATE"),1,7)_"^"_PSOX("IRXN")_"^"_PSOX("STOP DATE")
- +7 KILL DIK,DA
- SET DIK="^PS(52.4,"
- SET DA=PSOX("IRXN")
- DO IX^DIK
- KILL DIK,DA
- End DoDot:1
- GOTO FINISHX
- +8 ;
- +9 IF PSOX("FILL DATE")>DT
- IF $PIECE(PSOPAR,"^",6)
- SET DA=PSOX("IRXN")
- SET RXFL(PSOX("IRXN"))=0
- DO SUS^PSORXL
- KILL DA
- GOTO FINISHX
- +10 ;
- +11 ; - Calling ECME for claims generation and transmission / REJECT handling
- +12 NEW ACTION,PSOERX
- +13 SET PSOERX=PSOX("IRXN")
- +14 IF $$SUBMIT^PSOBPSUT(PSOERX,0)
- Begin DoDot:1
- +15 SET ACTION=""
- DO ECMESND^PSOBPSU1(PSOERX,0,PSOX("FILL DATE"),"OF")
- +16 IF $$FIND^PSOREJUT(PSOERX,0)
- Begin DoDot:2
- +17 SET ACTION=$$HDLG^PSOREJU1(PSOERX,0,"79,88","OF","IOQ","Q")
- End DoDot:2
- +18 IF $$STATUS^PSOBPSUT(PSOERX,0)="E PAYABLE"
- Begin DoDot:2
- +19 DO SAVNDC^PSSNDCUT(+$$GET1^DIQ(52,PSOERX,6,"I"),$GET(PSOSITE),$$GETNDC^PSONDCUT(PSOERX,0))
- End DoDot:2
- End DoDot:1
- IF ACTION="Q"!(ACTION="^")
- QUIT
- +20 ;
- FINISHP ;
- +1 IF $GET(PSORX("PSOL",1))']""
- SET PSORX("PSOL",1)=PSOX("IRXN")_","
- SET RXFL(PSOX("IRXN"))=0
- GOTO FINISHX
- +2 FOR PSOX1=0:0
- SET PSOX1=$ORDER(PSORX("PSOL",PSOX1))
- IF 'PSOX1
- QUIT
- SET PSOX2=PSOX1
- +3 IF $LENGTH(PSORX("PSOL",PSOX2))+$LENGTH(PSOX("IRXN"))<220
- SET PSORX("PSOL",PSOX2)=PSORX("PSOL",PSOX2)_PSOX("IRXN")_","
- +4 IF '$TEST
- SET PSORX("PSOL",PSOX2+1)=PSOX("IRXN")_","
- +5 SET RXFL(PSOX("IRXN"))=0
- FINISHX ;call to build Rx array for bingo board
- +1 IF $GET(PSORX("MAIL/WINDOW"))["W"
- SET BINGCRT=1
- SET BINGRTE="W"
- SET BBFLG=1
- DO BBRX^PSORN52C
- +2 KILL PSOX1,PSOX2
- +3 QUIT
- EOJ ;
- +1 ;B xref locked in routine PSONRXN
- +2 LOCK -^PSRX("B",PSOX("IRXN"))
- KILL OTHDOS,DA,PSON52,PSOPRC,RTE,SCH,PSOX("INS"),PSONEW("INS"),PSORXED("INS"),PSONEW("ENT"),PSORXED("ENT"),OLENT
- +3 DO PSOUL^PSSLOCK(PSOX("IRXN"))
- +4 QUIT
- +5 ;
- +6 ;;PSODRUG("DAW");;EPH;;1
- +7 ;;PSOX("SIG");;SIG;;1
- DD ;;PSOX("RX #");;0;;1
- +1 ;;PSOX("ISSUE DATE");;0;;13
- +2 ;;PSODFN;;0;;2
- +3 ;;PSOX("PATIENT STATUS");;0;;3
- +4 ;;PSOX("PROVIDER");;0;;4
- +5 ;;PSOX("CLINIC");;0;;5
- +6 ;;PSODRUG("IEN");;0;;6
- +7 ;;PSODRUG("TRADE NAME");;TN;;1
- +8 ;;PSOX("QTY");;0;;7
- +9 ;;PSOX("DAYS SUPPLY");;0;;8
- +10 ;;PSOX("# OF REFILLS");;0;;9
- +11 ;;PSOX("COPIES");;0;;18
- +12 ;;PSOX("MAIL/WINDOW");;0;;11
- +13 ;;PSOX("REMARKS");;3;;7
- +14 ;;PSOX("CLERK CODE");;0;;16
- +15 ;;PSODRUG("COST");;0;;17
- +16 ;;PSOSITE;;2;;9
- +17 ;;PSOX("LOGIN DATE");;2;;1
- +18 ;;PSOX("FILL DATE");;2;;2
- +19 ;;PSOX("PHARMACIST");;2;;3
- +20 ;;PSOX("LOT #");;2;;4
- +21 ;;PSOX("DISPENSED DATE");;2;;5
- +22 ;;PSOX("STOP DATE");;2;;6
- +23 ;;PSODRUG("NDC");;2;;7
- +24 ;;PSODRUG("MANUFACTURER");;2;;8
- +25 ;;PSOX("EXPIRATION DATE");;2;;11
- +26 ;;PSOX("GENERIC PROVIDER");;2;;12
- +27 ;;PSOX("RELEASED DATE/TIME");;2;;13
- +28 ;;PSOX("METHOD OF PICK-UP");;MP;;1
- +29 ;;PSOX("STATUS");;STA;;1
- +30 ;;PSOX("LAST DISPENSED DATE");;3;;1
- +31 ;;PSOX("NEXT POSSIBLE REFILL");;3;;2
- +32 ;;PSOX("COSIGNING PROVIDER");;3;;3
- +33 ;;PSOX("TYPE OF RX");;TYPE;;1
- +34 ;;PSOX("SAND");;SAND;;1
- +35 ;;PSOX("POE");;POE;;1
- +36 ;;PSOX("INS");;INS;;1
- +37 ;;PSOX("CM");;9999999;;2
- +38 ;;PSOX("CLININD");;999999921;;1
- +39 ;;PSOX("CLININD2");;999999921;;2
- +40 ;;PSOX("AUTOFIN");;999999921;;3
- +41 ;;PSOX("ELECTRONIC PHARMACY");;999999921;;4
- +42 ;;PSOX("CASH DUE");;999999921;;6
- +43 ;;PSOX("RXNORM");;999999921;;7
- +44 ;;PSOX("DAW");;999999921;;5
- +45 ;;PSOX("COST");;0;;17
- +46 ;;PSOX("NDC");;2;;7
- +47 ;;PSODRUG("AWP");;9999999;;6
- +48 ;;PSOX("AWP");;9999999;;6
- +49 ;;PSOX("BST");;9999999;;7
- +50 ;;PSOX("INSURER");;9999999;;12
- +51 ;;PSOX("DUR");;9999999;;13
- +52 ;;PSOX("TRIP");;9999999;;14
- +53 ;;PSOX("MANUFACTURER");;2;;8
- +54 ;;PSOX("PRV STR ADD1");;999999931;;1
- +55 ;;PSOX("PRV STR ADD2");;999999931;;2
- +56 ;;PSOX("PRV STR ADD3");;999999931;;3
- +57 ;;PSOX("PRV CITY");;999999931;;4
- +58 ;;PSOX("PRV STATE");;999999931;;5
- +59 ;;PSOX("PRV ZIP");;999999931;;6
- +60 ;;PSOX("DEA_VA_USPHS");;999999931;;7
- +61 ;;PSOX("APSPPRIO");;999999931;;8
- +62 ;;PSOX("DSCMED");;999999921;;8