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

PSOPRVW.m

Go to the documentation of this file.
  1. PSOPRVW ;BIR/SAB,MHA-enter/edit/view provider ;3/10/22 16:20
  1. ;;7.0;OUTPATIENT PHARMACY;**11,146,153,263,268,264,398,391,450,630,545,731,743,762**;DEC 1997;Build 3
  1. ;
  1. ;Ref. to ^VA(200 supp. by IA 224
  1. ;Ref. to ^DIC(7 supp. by IA 491
  1. ;Ref. to $$NPI^XUSNPI supp. by IA 4532
  1. ;Ref. to XUSERNEW supp. by 10053
  1. ;External reference to sub-file NEW DEA #'S (#200.5321) is supported by DBIA 7000
  1. ;External reference to DEA NUMBERS file (#8991.9) is supported by DBIA 7002
  1. ;
  1. START W ! S DIC("A")="Select Provider: ",DIC("S")="I $D(^VA(200,+Y,""PS""))",DIC="^VA(200,",DIC(0)="AEQMZ" D ^DIC G:U[X EX G:Y<0 START K DIC S PRNO=+Y
  1. ;N PSOMARG,PRVNMLBL
  1. ;S PSOMARG=$S($G(IOM):$G(IOM)-6,1:74)
  1. ;W:$D(IOF) @IOF
  1. ;S PRVNMLBL="NAME: "_$P($G(^VA(200,PRNO,0)),"^")
  1. ;W !?((PSOMARG/2)-($L(PRVNMLBL)/2)),PRVNMLBL,!
  1. ;W @IOF,?2,"NAME: "_$P(^VA(200,PRNO,0),U) G:$$CHKP START
  1. ;I +$P(^VA(200,PRNO,"PS"),U,4),$P(^("PS"),U,4)'>DT W ?40,$C(7),"* * * INACTIVE AS OF ",$E($P(^("PS"),U,4),4,5),"/",$E($P(^("PS"),U,4),6,7),"/",$E($P(^("PS"),U,4),2,3)," * * *"
  1. ;W !?2,"INITIALS: "_$P(^VA(200,PRNO,0),U,2)
  1. D PRNAMDSP(PRNO)
  1. D DISPLAY(PRNO)
  1. G START
  1. EX K DIC,DIE,DA,DR,D0,PRNO,PRCLS,STAT,T,Y,X,L,LF,I,DIR,DIROUT,DUOUT,DTOUT,DIRUT,%,%Y,%W,%Z,C,DDH,DI,DIH,DLAYGO,DQ,X1,XMDT,XMN
  1. Q
  1. ASK ;edit providers
  1. K DIR,DTOUT,DUOUT,DIROUT,DIRUT,FMG,FMGO,FMGX,MSG,EXIT S EXIT=0
  1. W !! S DIC("A")="Select Provider: ",(DIC,DIE)=200,DIC(0)="AEQMZ" D ^DIC G:U[X EX G:Y<0 ASK S (FADA,DA)=+Y
  1. I '$D(^VA(200,DA,"PS")) G NPRV
  1. ASK1 ; Prompt for provider
  1. ;N PSOMARG,PRVNMLBL
  1. ;S PSOMARG=$S($G(IOM):$G(IOM)-6,1:74)
  1. ;W:$D(IOF) @IOF
  1. ;S PRVNMLBL="NAME: "_$P($G(^VA(200,DA,0)),"^")
  1. ;W !?((PSOMARG/2)-($L(PRVNMLBL)/2)),PRVNMLBL,! G:$$CHKP START
  1. D PRNAMDSP(DA)
  1. D DISPLAY(DA) G:$G(EXIT) START
  1. EDT W ! L +^VA(200,DA):$S(+$G(^DD("DILOCKTM"))>0:+^DD("DILOCKTM"),1:3)
  1. I '$T W $C(7),!!,"Provider Data is Being Edited by Another User!",! G QX
  1. N RTPB S RTPB=$G(^VA(200,DA,"TPB"))
  1. N PSOPOM S PSOPOM=$$GET1^DIQ(59.7,1,102,"I") ; JCH-PSO*7*630; Pharmacy Operating Mode=MBM or VAMC
  1. S DR="53.91;53.6" D ^DIE I $D(Y)!$D(DTOUT) G QX ; JCH-PSO*7*630; Prompt for PROVIDER TYPE after NON-VA
  1. I '$$GET1^DIQ(200,DA,53.91,"I"),$G(PSOTPBFG) G QX
  1. I $$GET1^DIQ(200,DA,53.91,"I") S DR="53.92R;53.93R;53.94R;53.95R"
  1. E S DR="53.92;53.93;53.94;53.95"
  1. S DR=DR_";D:X MS^PSOPRVW",DIE("NO^")="OUTOK" D ^DIE K DIE("NO^")
  1. I '$D(^VA(200,DA,"TPB")),$G(PSOTPBFG) G QX
  1. I $D(Y)!$D(DTOUT) D:$P($G(^VA(200,DA,"TPB")),U,3) G QX
  1. .I RTPB=""!('$P(RTPB,U,3)) S DR="53.96////"_DUZ D ^DIE
  1. I $P($G(^VA(200,DA,"TPB")),U,3) D
  1. .I RTPB=""!('$P(RTPB,U,3)) S DR="53.96////"_DUZ D ^DIE
  1. N PSORTPB S PSORTPB=$G(^VA(200,DA,"TPB"))
  1. I $P(PSORTPB,U,4)'=$P(RTPB,U,4)!($P(PSORTPB,U,5)'=$P(RTPB,U,5)) D
  1. .S DR="53.96////"_DUZ D ^DIE
  1. G:$G(PSOTPBFG) QX
  1. ; PSO*7*630; Move PROVIDER TYPE (53.6), DETOX/MAINTENANCE ID NUMBER to after check of PROVIDER TYPE and NON-VA PRESCRIBER
  1. ED1 ; Edit provider
  1. S DR="53.1"
  1. S DIE("NO^")="OUTOK" D ^DIE I $D(Y)!$D(DTOUT) G QX
  1. D DEAEDT^PSOPRVW1(DA)
  1. D VANUMEDT(DA) I $D(DTOUT) K DTOUT G QX
  1. S DR="53.4;53.5;D DR1^PSOPRVW"
  1. S DR(1,200,1)="D DR1^PSOPRVW" ;Just a place holder PSO*7.0*450
  1. S DIE("NO^")="OUTOK" D ^DIE K DIE("NO^") S FADA=DA D:'$D(Y) KEY
  1. QX K FADA,RTPB,PSORTPB L -^VA(200,DA) Q:$G(PSOTPBFG) K DR,DIC,DIQ G:+$G(VADA) ADD G ASK
  1. Q
  1. G:'$D(^VA(200,DA,"TPB")) ED1
  1. ADD ;add new providers (kernel 7)
  1. N PSDRSTR N VADA ;,PSOPX
  1. S PSDRSTR="53.91;53.6;S:'($$GET1^DIQ(200,DA,53.91,""I"")) Y=""@2"";53.92R;53.93R;53.94R;53.95R;D:X MS^PSOPRVW;@2;53.1;"
  1. W ! S VADA=$$ADD^XUSERNEW(PSDRSTR)
  1. S (FADA,DA)=+VADA,(DIC,DIE)="^VA(200,"
  1. I VADA>0,$P(VADA,U,3) D
  1. . D DEAEDT^PSOPRVW1(DA)
  1. . D VANUMEDT(DA) I $D(DTOUT) K DTOUT Q
  1. . K DR I $$EDITCHK^PSOPRVW(+$G(FADA)) S DR="29;8932.1;"
  1. . S DR=$G(DR)_"53.4;53.5;53.7;S:'X Y=""@1"";53.8;@1;53.9;.111:.116;.131:.134;.136;.141"
  1. . D ^DIE
  1. I VADA>0,$P(VADA,U,3),$P($G(^VA(200,DA,"TPB")),U) D
  1. .S DR="53.96////"_DUZ S DIE("NO^")="OUTOK" D ^DIE
  1. I VADA>0,'$P(VADA,U,3) S DIC(0)="AEQMZ" G:'$D(^VA(200,+VADA,"PS")) NPRV G:$D(^VA(200,+VADA,"PS")) ASK1
  1. I VADA>0 D KEY K DIK,DIC,Y,X,VADA,VA,DEA Q:$G(PSOTPBFG) K DA D EX G ADD
  1. Q
  1. NPRV W ! S DIR("A",1)=$P(^VA(200,DA,0),U)_" is NOT currently indicated as being a provider.",DIR("A")="Do you want to make "_$P(^VA(200,DA,0),U)_" a provider? (Y/N): ",DIR(0)="SA^1:YES;0:NO",DIR("B")="NO"
  1. S DIR("?",1)="Answer with '1' or 'Yes' if "_$P(^VA(200,DA,0),U)_" is to become a provider",DIR("?")="otherwise press return for 'No' and re-enter name." D ^DIR G:$D(DTOUT) EX
  1. G:'Y!($D(DIRUT))&('+$G(VADA)) ASK G:'$P(+$G(VADA),U,3)&('Y) ADD
  1. G EDT
  1. Q
  1. KEY I $D(^VA(200,DA,"PS")) D
  1. .I '$P(^VA(200,DA,"PS"),U,4)!($P(^("PS"),U,4)>DT) S PSOPDA=DA K DIC S DIC="^DIC(19.1,",DIC(0)="MZ",X="PROVIDER" D ^DIC K DIC S DA=PSOPDA K PSOPDA I +Y>0 S X=+Y D
  1. ..S:'$D(^VA(200,FADA,51,0)) ^VA(200,FADA,51,0)=U_$P(^DD(200,51,0),U,2)_"^^"
  1. ..S DIC="^VA(200,"_FADA_",51,",DIC(0)="LM",DIC("DR")="1////"_$S($G(DUZ):DUZ,1:"")_";2///"_DT,DLAYGO=200.051,DINUM=X,DA(1)=FADA
  1. ..L +^VA(200,FADA):$S(+$G(^DD("DILOCKTM"))>0:+^DD("DILOCKTM"),1:3) K DD,DO D FILE^DICN L -^VA(200,FADA) K DIC,DR,X,Y
  1. Q
  1. MS ;
  1. W !!,$C(7),"This provider will not be selectable during TPB medication order entry!!",!
  1. Q
  1. DR1 ;Added for processing of JUMP correctly PSO*7.0*450
  1. ; PSO*7*630; Use PROVIDER TYPE that was filed into $P(^VA(200,DA,"PS"),U,6), not X. The last field has been re-requenced, so can't rely on local X at this point.
  1. N PSOPX S PSOPX=$$GET1^DIQ(200,+$G(DA),53.6,"I")
  1. I PSOPX'?1N!(PSOPX'>0)!(PSOPX'<6) Q
  1. I $$EDITCHK(+$G(DA)) D Q ; PROVIDER TYPE="C&A"or"FEE BASIS" -OR- NON-VA PRESCRIBER="YES"
  1. .N TMPDR S TMPDR="D DR1^PSOPRVW;S Y=""@1"";53.1;53.3;53.4;53.5;@1;29;8932.1;53.7;"
  1. .S (DR,DR(1),DR(1,200,1))=TMPDR_"I 'X S Y=""@2"";53.8;@2;53.9;.111:.116;.131:.134;.136;.137;.138;.141" ;_";53.1;53.3:53.5"
  1. S (DR,DR(1),DR(1,200,1))="D DR1^PSOPRVW;S Y=""@1"";53.1;53.3;53.4;53.5;@1;53.7;I 'X S Y=""@2"";53.8;@2;53.9;.111:.116;.131:.134;.136;.137;.138;.141"
  1. Q
  1. CHKP(ROWPAD) ; Check for End Of Page
  1. N X,Y,DTOUT,DUOUT,DIRUT,DIR,RESPONSE S RESPONSE=0
  1. S:'$G(ROWPAD) ROWPAD=6
  1. I $Y>(IOSL-ROWPAD) S DIR(0)="E" D ^DIR S:$D(DIRUT) RESPONSE=1 W @IOF D PRNAMDSP(PRNO)
  1. Q RESPONSE
  1. VANUMEDT(DA) ; -- Code used to add/edit/delete the VA Number
  1. N ACNT,DIE,DIR,DR,X,Y
  1. VANUMEDC ; -- Loop Continuation Point
  1. S DIR(0)="200,53.3" D ^DIR
  1. I $G(X)="^" S DTOUT=1 Q
  1. I $G(X)["^" W !,$C(7)," No Jumping allowed??" G VANUMEDC
  1. I $G(X)="@" D Q
  1. . S DIR("A")="DO YOU STILL WANT TO DELETE THIS VA NUMBER"
  1. . S ACNT=0
  1. . S ACNT=ACNT+1,DIR("A",ACNT)="Removing the VA number does not affect previously written prescriptions."
  1. . I '$$NPDEACNT^PSOPRVW1(DA) D
  1. .. S ACNT=ACNT+1,DIR("A",ACNT)="There are no DEA#'s on file for this provider. The provider will no"
  1. .. S ACNT=ACNT+1,DIR("A",ACNT)="longer be able to prescribe controlled substances at the VA."
  1. . S ACNT=ACNT+1,DIR("A",ACNT)=" "
  1. . S DIR(0)="Y" D ^DIR
  1. . I Y=1 S DIE="^VA(200,",DR="53.3///@" D ^DIE Q
  1. ;S DIE="^VA(200,",DR="53.3////"_X D ^DIE
  1. N FDA S FDA(200,DA_",",53.3)=X D FILE^DIE("","FDA","MSGROOT")
  1. Q
  1. ;
  1. EDITCHK(PSOPRDA) ; Check fields to enable editing of DETOX NUMBER , EXPIRATION DATE , SERVICE/SECTION (29), PERSON CLASS (8932.1), SCHEDULES
  1. ; INPUT: PSOPRDA = Provider DUZ
  1. N PROVTYP K EDCHKRET S EDCHKRET="000"
  1. I '$L($$GET1^DIQ(200,PSOPRDA,.01)) Q ""
  1. I $$POM="MBM" S $E(EDCHKRET)=1
  1. I $$GET1^DIQ(200,PSOPRDA,53.91,"I") S $E(EDCHKRET,2)=1
  1. S PROVTYP=$$GET1^DIQ(200,PSOPRDA,53.6,"I")
  1. I PROVTYP=3!(PROVTYP=4) S $E(EDCHKRET,3)=1
  1. Q EDCHKRET
  1. ;
  1. DISPLAY(PRNO) ; Display Provider Info from NEW PERSON file (#200)
  1. ; Input: PRNO - Provider IEN from NEW PERSON file (#200)
  1. N PSAR,PSDATA S EXIT=0
  1. W ?2,"NAME: "_$P(^VA(200,PRNO,0),U)
  1. D GETS^DIQ(200,PRNO,53.4,"IE","PSINACT")
  1. S PSINACTE=$G(PSINACT(200,PRNO_",",53.4,"E"))
  1. S PSINACTI=$G(PSINACT(200,PRNO_",",53.4,"I"))
  1. W !?2,"INITIALS: "_$P(^VA(200,PRNO,0),"^",2) I PSINACTI D
  1. .I PSINACTI>DT W ?40,"INACTIVE DATE: ",PSINACTE
  1. .I PSINACTI'>DT W ?40,$C(7),"*** INACTIVE AS OF ",PSINACTE," ***"
  1. N NPI S NPI=$P($$NPI^XUSNPI("Individual_ID",PRNO),U) S NPI=$S(NPI>0:+NPI,1:"")
  1. D GETS^DIQ(200,PRNO,"53.91;53.92;53.93;53.94;53.95;53.96","E","PSAR")
  1. N PSLINE D LINEP(PRNO,.PSAR,53.91,,53.92),LINEP(PRNO,.PSAR,53.93,,53.95),LINEP(PRNO,.PSAR,53.94),LINEP(PRNO,.PSAR,53.96)
  1. D GETS^DIQ(200,PRNO,"29;53.1;53.3;53.4;53.5;53.6;53.7;53.8;53.9;55.1;55.2;55.3;55.4;55.5;55.6;.111;.112;.113;.114;.115;.116;.131;.132;.133;.134;.136;.137;.138;.141","E","PSAR")
  1. ; Don't print lines with no Data
  1. N PSLINE D LINEP(PRNO,.PSAR,53.1) ; "Authorized to Write Med Orders"
  1. ;
  1. ; PSO*7*545 - Multiple DEA Enhancements
  1. N NPDEAIEN,DNDEAIEN,EXIT
  1. W ! G:$$CHKP START
  1. N SET,SETARRAY,LINE S SET=0
  1. S NPDEAIEN=0 F S NPDEAIEN=$O(^VA(200,PRNO,"PS4",NPDEAIEN)) Q:'+NPDEAIEN D
  1. . N PSODOJE
  1. . S DNDEAIEN=$P(^VA(200,PRNO,"PS4",NPDEAIEN,0),U,3) Q:DNDEAIEN=""
  1. . S PSODOJE=$G(^XTV(8991.9,DNDEAIEN,0)) Q:PSODOJE=""
  1. . S SET=SET+1,LINE=0
  1. . S LINE=LINE+1,SETARRAY(SET,LINE)="DEA NUMBER: "_$P(PSODOJE,U,1)
  1. . S:$P(^VA(200,PRNO,"PS4",NPDEAIEN,0),U,2)'="" SETARRAY(SET,LINE)=SETARRAY(SET,LINE)_"-"_$P(^VA(200,PRNO,"PS4",NPDEAIEN,0),U,2)
  1. . S LINE=LINE+1,SETARRAY(SET,LINE)="DEA EXPIRATION DATE: " S T=+$P(^XTV(8991.9,DNDEAIEN,0),U,4) S:T SETARRAY(SET,LINE)=SETARRAY(SET,LINE)_$$FMTE^XLFDT(T)
  1. . S LINE=LINE+1,SETARRAY(SET,LINE)=" USE FOR INPATIENT ORDERS: " S T=+$P(^XTV(8991.9,DNDEAIEN,0),U,6) S SETARRAY(SET,LINE)=SETARRAY(SET,LINE)_$S(T:"YES",1:"NO")
  1. . ;P731 detox/x-waiver removal
  1. . ;S:$P(^XTV(8991.9,DNDEAIEN,0),U,3)'="" LINE=LINE+1,SETARRAY(SET,LINE)=" DETOX NUMBER: "_$P(^XTV(8991.9,DNDEAIEN,0),U,3)
  1. . N SCHNODE S SCHNODE=$G(^XTV(8991.9,DNDEAIEN,2)) D:SCHNODE'=""
  1. .. I $$GET1^DIQ(8991.9,DNDEAIEN,.07)="INSTITUTIONAL" S SCHNODE=$G(^VA(200,PRNO,"PS3"))
  1. .. S LINE=LINE+1,SETARRAY(SET,LINE)=" SCHEDULE II NARCOTIC: "_$S($P(SCHNODE,U,1):"YES",1:"NO")
  1. .. S LINE=LINE+1,SETARRAY(SET,LINE)=" SCHEDULE II NON-NARCOTIC: "_$S($P(SCHNODE,U,2):"YES",1:"NO")
  1. .. S LINE=LINE+1,SETARRAY(SET,LINE)=" SCHEDULE III NARCOTIC: "_$S($P(SCHNODE,U,3):"YES",1:"NO")
  1. .. S LINE=LINE+1,SETARRAY(SET,LINE)=" SCHEDULE III NON-NARCOTIC: "_$S($P(SCHNODE,U,4):"YES",1:"NO")
  1. .. S LINE=LINE+1,SETARRAY(SET,LINE)=" SCHEDULE IV: "_$S($P(SCHNODE,U,5):"YES",1:"NO")
  1. .. S LINE=LINE+1,SETARRAY(SET,LINE)=" SCHEDULE V: "_$S($P(SCHNODE,U,6):"YES",1:"NO")
  1. . S:'$D(SETARRAY(SET,10)) SETARRAY(SET,10)=""
  1. ;
  1. ;Print DEA data
  1. ;PSO*7*762 change to CHKP(12)
  1. S EXIT=0
  1. F SET=1:2:$O(SETARRAY(100),-1) Q:($G(EXIT)=1) D
  1. . W ! I $$CHKP(12) S EXIT=1 Q
  1. . F LINE=1:1:10 Q:EXIT D
  1. .. Q:'$D(SETARRAY(SET)) ; Should never happen - IEN in 200.5321 doesn't exist in 8991.9
  1. .. W SETARRAY(SET,LINE),?40,$G(SETARRAY(SET+1,LINE)),!
  1. .. I SETARRAY(SET,LINE)="" I $$CHKP(12) S EXIT=1 Q
  1. K SETARRAY,SET,LINE
  1. Q:EXIT=1 W ! I $$CHKP(20) S EXIT=1 Q
  1. ;
  1. D LINEP(PRNO,.PSAR,53.3,,53.5) I $$CHKP S EXIT=1 Q ; VA# and Provider Class
  1. N HASVANO
  1. S HASVANO=$$DEA^XUSER(1,PRNO)
  1. I HASVANO'="",HASVANO=$$GET1^DIQ(200,PRNO,53.3,"I") D SKED200
  1. D LINEP(PRNO,.PSAR,53.6,,,$S($L($G(NPI)):"NPI",1:""),,,$S($L($G(NPI)):NPI,1:"")) I $$CHKP S EXIT=1 Q ; Provider Type
  1. D LINEP(PRNO,.PSAR,53.7,,53.8) I $$CHKP S EXIT=1 Q ; Cosigners
  1. D LINEP(PRNO,.PSAR,53.9) I $$CHKP S EXIT=1 Q
  1. W !?2,"SYNONYM(S): "_$S($P($G(^VA(200,PRNO,.1)),U,4)]"":$P(^(.1),U,4)_",",1:"")_$S($P(^(0),U,2)]"":" "_$P(^(0),U,2),1:"") I $$CHKP S EXIT=1 Q
  1. W !?2,"SERVICE/SECTION: "_$G(PSAR(200,PRNO_",",29,"E")) I $$CHKP S EXIT=1 Q
  1. W ! D LINEP(PRNO,.PSAR,.111,,.112),LINEP(PRNO,.PSAR,.113,,.114),LINEP(PRNO,.PSAR,.115,,.116) I $$CHKP S EXIT=1 Q
  1. D LINEP(PRNO,.PSAR,.131,,.132),LINEP(PRNO,.PSAR,.133,,.134),LINEP(PRNO,.PSAR,.136,,.137),LINEP(PRNO,.PSAR,.138,,.141)
  1. K DIC,Y
  1. Q
  1. SKED200 ;
  1. N SKED200 S SKED200=$G(^VA(200,PRNO,"PS3")) D:SKED200'=""
  1. . W !," SCHEDULE II NARCOTIC: "_$S($P(SKED200,U,1):"YES",1:"NO")
  1. . W !," SCHEDULE II NON-NARCOTIC: "_$S($P(SKED200,U,2):"YES",1:"NO")
  1. . W !," SCHEDULE III NARCOTIC: "_$S($P(SKED200,U,3):"YES",1:"NO")
  1. . W !," SCHEDULE III NON-NARCOTIC: "_$S($P(SKED200,U,4):"YES",1:"NO")
  1. . W !," SCHEDULE IV: "_$S($P(SKED200,U,5):"YES",1:"NO")
  1. . W !," SCHEDULE V: "_$S($P(SKED200,U,6):"YES",1:"NO")
  1. . W !,""
  1. Q
  1. LINEP(DA,PSAR,F1,L1,F2,L2,DSPNUL,V1,V2) ; Print Line
  1. ; Input: DA - Provider IEN from NEW PERSON file (#200). (required)
  1. ; PSAR - Array returned from GETS^DIQ(200,DA. (required)
  1. ; F1 - Field number from NEW PERSON file (#200) to display in left column. (required)
  1. ; L1 - Label text to display with F1 field. (optional-label from ^DD(200 will be used if not passed).
  1. ; F2 - Field number from NEW PERSON file (#200) to display in right column. (optional)
  1. ; L2 - Label text to display with F2 field. (optional-label from ^DD(200 will be used if not passed).
  1. ; DSPNUL - Display Null data - 1:Only applies to first column/field, 2:Only applies to second column/field, 3: Both fields
  1. ; V1 - Constant value to be displayed with label 1
  1. ; V2 - Constant value to be displayed with label 2
  1. N PSDATA1,PSDATA2,LB1,LB2
  1. S PSDATA1="",PSDATA2="",LB1=$G(L1),LB2=$G(L2),DSPNUL=$G(DSPNUL),F1=$G(F1),F2=$G(F2),V1=$G(V1),V2=$G(V2)
  1. I $L(F1) S PSDATA1=$G(PSAR(200,DA_",",F1,"E"))
  1. I $L(F2) S PSDATA2=$G(PSAR(200,DA_",",F2,"E")) ; Get values from New Person file
  1. I $L(V1) S PSDATA1=V1
  1. I $L(V2) S PSDATA2=V2
  1. I '$G(DSPNUL) Q:'$L(PSDATA1_PSDATA2) ; display null labels?
  1. I '$L(LB1) D FIELD^DID(200,F1,,"LABEL","LABEL","ERR") S LB1=$S($L(LABEL("LABEL")):LABEL("LABEL"),1:"NO LABEL")
  1. Q:'$L(LB1)
  1. W !
  1. I '$L(LB2) I $L(F2) D FIELD^DID(200,F2,,"LABEL","LABEL","ERR") S LB2=$S($L(LABEL("LABEL")):LABEL("LABEL"),1:"NO LABEL")
  1. I $L(PSDATA1)!(DSPNUL=1)!(DSPNUL=3) W ?2,LB1_": ",PSDATA1
  1. I $L(PSDATA2)!(DSPNUL=2)!(DSPNUL=3) W ?40,LB2_": ",PSDATA2
  1. Q
  1. ;
  1. POM() ; Pharmacy Operating Mode
  1. N POM S POM=$$GET1^DIQ(59.7,1,102,"I")
  1. Q POM
  1. ;
  1. PRNAMDSP(PRNO) ; Display provider name and label
  1. N PSOMARG,PRVNMLBL
  1. S PSOMARG=$S($G(IOM):$G(IOM)-6,1:74)
  1. W:$D(IOF) @IOF
  1. S PRVNMLBL="NAME: "_$P($G(^VA(200,PRNO,0)),"^")
  1. W !?((PSOMARG/2)-($L(PRVNMLBL)/2)),PRVNMLBL,!
  1. Q