[613] | 1 | PXCEPRV ;ISL/dee - Used to edit and display V PROVIDER ;5/10/05 6:23pm
|
---|
| 2 | ;;1.0;PCE PATIENT CARE ENCOUNTER;**7,27,124**;Aug 12, 1996
|
---|
| 3 | ;
|
---|
| 4 | Q
|
---|
| 5 | ;
|
---|
| 6 | ;Line with the line label "FORMAT"
|
---|
| 7 | ;;Long name~File Number~Node Subscripts~Allow Duplicate entries (1=yes, 0=no)~File global name
|
---|
| 8 | ; 1 2 3 4 5
|
---|
| 9 | ;
|
---|
| 10 | ;Followning lines:
|
---|
| 11 | ;;Node~Piece~,Field Number~Edit Label~Display Label~Display Routine~Edit Routine~Help Text for DIR("?")~Set of PXCEKEYS that can Edit~D if Detail Display Only~
|
---|
| 12 | ; 1 ~ 2 ~ 3 ~ 4 ~ 5 ~ 6 ~ 7 ~ 8 ~ 9 ~ 10
|
---|
| 13 | ;The Display & Edit routines are for special caces.
|
---|
| 14 | ; (The .01 field cannot have a special edit.)
|
---|
| 15 | ;
|
---|
| 16 | FORMAT ;;Provider~9000010.06~0,12,811,812~0~^AUPNVPRV
|
---|
| 17 | ;;0~1~.01~Provider: ~Provider: ~$$DISPLY01^PXCEPRV~EPROV^PXCEPRV~^D HELP^PXCEHELP~~B
|
---|
| 18 | ;;0~4~.04~Is this Provider Primary: ~Primary: ~$$DISPPRIM^PXCEPRV~EPRIMSEC^PXCEPRV~~~N
|
---|
| 19 | ;;0~5~.05~Is this Provider Attending: ~Attending: ~~EATTEND^PXCEPRV~~~N
|
---|
| 20 | ;;
|
---|
| 21 | ;
|
---|
| 22 | ;The interface for AICS to get list on form for help.
|
---|
| 23 | INTRFACE ;;SD SELECT PROVIDER
|
---|
| 24 | ;
|
---|
| 25 | ;********************************
|
---|
| 26 | ;Special cases for display.
|
---|
| 27 | ;
|
---|
| 28 | DISPPRIM(PXCEPRIM) ;
|
---|
| 29 | Q $S(PXCEPRIM="P":$$EXTERNAL^DILFD(9000010.06,".04","",PXCEPRIM,"PXCEDILF"),1:"")
|
---|
| 30 | ;
|
---|
| 31 | ;********************************
|
---|
| 32 | ;Special cases for edit.
|
---|
| 33 | ;
|
---|
| 34 | EPROV ;
|
---|
| 35 | K DIRUT
|
---|
| 36 | N DIC,DA,PXPRVDT
|
---|
| 37 | S PXPRVDT=+^TMP("PXK",$J,"VST",1,0,"AFTER")
|
---|
| 38 | I $P(PXCEAFTR($P(PXCETEXT,"~",1)),"^",$P(PXCETEXT,"~",2))'="" D
|
---|
| 39 | . N DIERR,PXCEDILF,PXCEINT,PXCEEXT
|
---|
| 40 | . S PXCEINT=$P(PXCEAFTR($P(PXCETEXT,"~",1)),"^",$P(PXCETEXT,"~",2))
|
---|
| 41 | . S PXCEEXT=$$EXTERNAL^DILFD(PXCEFILE,$P(PXCETEXT,"~",3),"",PXCEINT,"PXCEDILF")
|
---|
| 42 | . S DIC("B")=$S('$D(DIERR):PXCEEXT,1:PXCEINT)
|
---|
| 43 | S DIC=200
|
---|
| 44 | S DIC(0)="AEMQ"
|
---|
| 45 | S DIC("A")=$P(PXCETEXT,"~",4)
|
---|
| 46 | S DIC("S")="I $$ACTIVPRV^PXAPI(Y,PXPRVDT)"
|
---|
| 47 | D ^DIC
|
---|
| 48 | K DIR
|
---|
| 49 | I $D(DUOUT)!$D(DTOUT)!(X="") S DIRUT=1 Q
|
---|
| 50 | Q:$D(DIRUT)
|
---|
| 51 | S:'($D(X)#2) X=+Y
|
---|
| 52 | Q
|
---|
| 53 | ;
|
---|
| 54 | EPRIMSEC ;For Primary/Secondary field only allows one primary.
|
---|
| 55 | ; Also used by V-POV
|
---|
| 56 | K Y,DTOUT,DUOUT,PXCEPRIM
|
---|
| 57 | ;See if there is already a primary provider in V Provider for this Visit
|
---|
| 58 | S PXCEPRIM=$$PRIMSEC^PXUTL1(PXCEVIEN,PXCEAUPN,$P(PXCETEXT,"~",1),$P(PXCETEXT,"~",2))
|
---|
| 59 | I 'PXCEPRIM S Y="PRIMARY"
|
---|
| 60 | I $P(PXCEAFTR($P(PXCETEXT,"~",1)),"^",$P(PXCETEXT,"~",2))'="" D
|
---|
| 61 | . N DIERR,PXCEDILF,PXCEEXT,PXCEINT
|
---|
| 62 | . S PXCEINT=$P(PXCEAFTR($P(PXCETEXT,"~",1)),"^",$P(PXCETEXT,"~",2))
|
---|
| 63 | . S PXCEEXT=$$EXTERNAL^DILFD(PXCEFILE,$P(PXCETEXT,"~",3),"",PXCEINT,"PXCEDILF")
|
---|
| 64 | . S Y=$S('$D(DIERR):PXCEEXT,1:PXCEINT)
|
---|
| 65 | I $D(Y),'PXCEPRIM!($E(Y)="P") D
|
---|
| 66 | . S DIR("B")=$S($E(Y)="P":"YES",1:"NO")
|
---|
| 67 | . S DIR(0)="YAO"
|
---|
| 68 | . S DIR("A")=$P(PXCETEXT,"~",4)
|
---|
| 69 | . S:$P(PXCETEXT,"~",8)]"" DIR("?")=$P(PXCETEXT,"~",8)
|
---|
| 70 | . D ^DIR
|
---|
| 71 | . K DIR,DA
|
---|
| 72 | . S Y=$S(Y:"P",1:"S")
|
---|
| 73 | E S Y="S"
|
---|
| 74 | I $D(DTOUT)!$D(DUOUT) S (PXCEEND,PXCEQUIT)=1 Q ;This field is required.
|
---|
| 75 | S $P(PXCEAFTR($P(PXCETEXT,"~",1)),"^",$P(PXCETEXT,"~",2))=$P(Y,"^")
|
---|
| 76 | Q
|
---|
| 77 | ;
|
---|
| 78 | EATTEND ;Attending/Operating field only ask for Attending
|
---|
| 79 | S DIR("B")=$S($P(PXCEAFTR($P(PXCETEXT,"~",1)),"^",$P(PXCETEXT,"~",2))="A":"YES",1:"NO")
|
---|
| 80 | S DIR(0)="YAO"
|
---|
| 81 | S DIR("A")=$P(PXCETEXT,"~",4)
|
---|
| 82 | S:$P(PXCETEXT,"~",8)]"" DIR("?")=$P(PXCETEXT,"~",8)
|
---|
| 83 | D ^DIR
|
---|
| 84 | K DIR,DA
|
---|
| 85 | I X="@" S Y="@"
|
---|
| 86 | E I $D(DTOUT)!$D(DUOUT) S PXCEEND=1 Q
|
---|
| 87 | E I +Y S Y="A"
|
---|
| 88 | E I $P(PXCEAFTR($P(PXCETEXT,"~",1)),"^",$P(PXCETEXT,"~",2))="A" S Y="@"
|
---|
| 89 | E S Y=""
|
---|
| 90 | S $P(PXCEAFTR($P(PXCETEXT,"~",1)),"^",$P(PXCETEXT,"~",2))=$P(Y,"^")
|
---|
| 91 | Q
|
---|
| 92 | ;
|
---|
| 93 | EPROV12 ;
|
---|
| 94 | K DIRUT
|
---|
| 95 | N DIC,DA,PXPRVDT
|
---|
| 96 | S PXPRVDT=+^TMP("PXK",$J,"VST",1,0,"AFTER")
|
---|
| 97 | I $P(PXCEAFTR($P(PXCETEXT,"~",1)),"^",$P(PXCETEXT,"~",2))'="" D
|
---|
| 98 | . N DIERR,PXCEDILF,PXCEINT,PXCEEXT
|
---|
| 99 | . S PXCEINT=$P(PXCEAFTR($P(PXCETEXT,"~",1)),"^",$P(PXCETEXT,"~",2))
|
---|
| 100 | . S PXCEEXT=$$EXTERNAL^DILFD(PXCEFILE,$P(PXCETEXT,"~",3),"",PXCEINT,"PXCEDILF")
|
---|
| 101 | . S DIC("B")=$S('$D(DIERR):PXCEEXT,1:PXCEINT)
|
---|
| 102 | S DIC=200
|
---|
| 103 | S DIC(0)="AEMQ"
|
---|
| 104 | S DIC("A")=$P(PXCETEXT,"~",4)
|
---|
| 105 | S DIC("S")="I $$ACTIVPRV^PXAPI(Y,PXPRVDT)"
|
---|
| 106 | D ^DIC
|
---|
| 107 | K DIR
|
---|
| 108 | I $D(DUOUT)!$D(DTOUT) S PXCEEND=1 Q
|
---|
| 109 | Q:X=""
|
---|
| 110 | S $P(PXCEAFTR($P(PXCETEXT,"~",1)),"^",$P(PXCETEXT,"~",2))=$P(Y,"^")
|
---|
| 111 | ;S:'($D(X)#2) X=+Y
|
---|
| 112 | Q
|
---|
| 113 | ;
|
---|
| 114 | ;********************************
|
---|
| 115 | PERCLASS(PXCEPRV) ;Returns text for person class
|
---|
| 116 | N PXCEPERC
|
---|
| 117 | S PXCEPERC=$$OCCUP^PXBGPRV(PXCEPRV,+^AUPNVSIT(PXCEVIEN,0),"",2)
|
---|
| 118 | G PRCL
|
---|
| 119 | DPERCLAS(PXCECLAS) ;Returns text for person class
|
---|
| 120 | N PXCEPERC
|
---|
| 121 | S PXCEPERC=$S(PXCECLAS>0:$$OCCUP^PXBGPRV("","","",2,PXCECLAS),1:"")
|
---|
| 122 | PRCL ;
|
---|
| 123 | I PXCEPERC="" S PXCEPERC="## No Person Class ##"
|
---|
| 124 | E I PXCEPERC=-1 S PXCEPERC="!! No Person Class Defined !!"
|
---|
| 125 | E I PXCEPERC=-2 S PXCEPERC="** No Active Person Class **"
|
---|
| 126 | E I +PXCEPERC<0 S PXCEPERC=""
|
---|
| 127 | Q PXCEPERC
|
---|
| 128 | ;
|
---|
| 129 | ;********************************
|
---|
| 130 | ;Display text for the .01 field which is a pointer to ^ICPT.
|
---|
| 131 | ;(Must have is called by ASK^PXCEVFI2 and DEL^PXCEVFI2.)
|
---|
| 132 | DISPLY01(PXCEPRV) ;
|
---|
| 133 | N DIERR,PXCEDILF,PXCEEPRV,PXCEEPS,PXCEEAO,PXCEPERC,PXCERET
|
---|
| 134 | S PXCEEPRV=$$EXTERNAL^DILFD(9000010.06,".01","",$P(PXCEPRV,"^",1),"PXCEDILF")
|
---|
| 135 | S PXCEEPS=$$EXTERNAL^DILFD(9000010.06,".04","",$P(PXCEPRV,"^",4),"PXCEDILF")
|
---|
| 136 | S PXCEEAO=$$EXTERNAL^DILFD(9000010.06,".05","",$P(PXCEPRV,"^",5),"PXCEDILF")
|
---|
| 137 | S PXCEPERC=$$DPERCLAS($P(PXCEPRV,"^",6))
|
---|
| 138 | S PXCERET=PXCEEPRV_" "_$S($E(PXCEEPS)="P":PXCEEPS_" ",1:"")_$S(PXCEEAO]"":PXCEEAO_" ",1:"")
|
---|
| 139 | S PXCERET=PXCERET_$E(PXCEPERC,1,(65-$L(PXCERET)))
|
---|
| 140 | Q PXCERET
|
---|
| 141 | ;
|
---|