VistA-WorldVistAEHR/r/REMOTE_ORDER_ENTRY_SYSTEM-R.../RMPFDT1.m

59 lines
3.1 KiB
Mathematica

RMPFDT1 ;DDC/KAW-PATIENT ORDER INFORMATION; [ 06/16/95 3:06 PM ]
;;2.0;REMOTE ORDER/ENTRY SYSTEM;;JUN 16, 1995
;;input: RMPFX,RMPFTE (for patient types)
;;output: RMPFTYP,RMPFST,RMPFHAT,RMPFTP
I $D(RMPFX),RMPFX,$D(^RMPF(791810,RMPFX,0))
E Q
S (RMPFNAM,RMPFDOB,RMPFSSN)="",S0=^RMPF(791810,RMPFX,0)
S DFN=$P(S0,U,4) I DFN D PAT^RMPFUTL
S RMPFTYP=$P(S0,U,2),RMPFST=$P(S0,U,3)
I RMPFTYP,$D(^RMPF(791810.1,RMPFTYP,0)) S RMPFHAT=$P(^(0),U,2),RMPFTP=$P(^(0),U,3)
D ^RMPFDT5 G END:$D(RMPFOUT)
G END:"PS"'[RMPFTP D @("HEAD"_RMPFTP),DISP
END K RMPFNAM,RMPFSSN,RMPFDOB,RMPFDOD,RMPFY,RMPFOD,RMPFMSG,CN Q
DISP S CN=1
S RMPFMGG="",X=0 F I=1:1 S X=$O(^RMPF(791810,RMPFX,201,X)) Q:'X S Y=0 F J=1:1 S Y=$O(^RMPF(791810,RMPFX,201,X,101,Y)) Q:'Y I $D(^(Y,0)),'$P(^(0),U,6) S RMPFMGG="***" Q
W ! I $D(RMPFMGG),RMPFMGG'="" W ?29,"*** UNREAD MESSAGE ***"
F I=1:1 S X=$P($T(PROMPT+I),";;",2) Q:X="" D
.X X
.Q:'$D(^RMPF(791810.1,RMPFTYP,100,CN,0)) S Y=$P(^(0),U,4),Z=$P(^(0),U,5)
.Q:Y=""!(Z="")!(Z="RMPFRMK") I $D(RMPFEDIT) W:$X>47 ! W ?43,"[",CN,"]"
.W:$X>47 ! W ?47,$J(Y,12),": ",$E(@Z,1,19) S CN=CN+1
S CR=CN-1 F L=1:1 S CR=$O(^RMPF(791810.1,RMPFTYP,100,CR)) Q:'CR D
.I $P(^RMPF(791810.1,RMPFTYP,100,CR,0),U,2)["RMPFMOD" W ! D ^RMPFDT2 Q
.S Y=$P(^RMPF(791810.1,RMPFTYP,100,CR,0),U,4),Z=$P(^(0),U,5)
.Q:Y=""!(Z="") W !
.I $D(RMPFEDIT) W:$X>47 ! W:Z'="RMPFRMK" ?43 W "[",CN,"]"
.W:$X>47 ! W:Z'="RMPFRMK" ?47 W:Z="RMPFRMK" ?2 W $J(Y,$S(Z'="RMPFRMK":12,1:8)),": ",$E(@Z,1,$S(Z'="RMPFRMK":19,1:70)) S CN=CN+1
CON W:$D(RMPFTA) !?27,"*** ROES Address ***"
I $D(RMPFERR) W !!,"Missing Required Information:" D
.S X=0 F I=1:1 S X=$O(RMPFERR(X)) Q:X="" W $C(7),!,"*** ",X," ***" I $Y>18,$O(RMPFERR(X))!$D(RMPFMSG) D CONT^RMPFDT2 Q:$D(RMPFOUT) W @IOF
I $D(RMPFMSG) W !!,"Message:" D
.S X=0 F I=1:1 S X=$O(RMPFMSG(X)) Q:X="" W $C(7),!,X I $Y>19,$O(RMPFMSG(X)) D CONT^RMPFDT2 Q:$D(RMPFOUT) W @IOF
S X=$P(^RMPF(791810.1,RMPFTYP,0),U,5) I $L(X) D CONT^RMPFDT2:$Y>19 S X="*** "_X_" ***" W $C(7),!!,?80-$L(X)\2,X
W:IOST?1"P-".E @IOF
D:$D(IO("S")) ^%ZISC
DISPE K RMPFADP,RMPFAPD,RMPFAPP,RMPFDC,RMPFDR,RMPFODP,RMPFDDC,RMPFDIS
K RMPFRMK,RMPFSTP,RMPFTF,RMPFURP,RMPFUS,RMPFCAT,RMPFCERD,RMPFCERU
K RMPFTDP,RMPFCUR,RMPFINV,RMPFMD,RMPFPO,RMPFRDC,RMPFDSN
K RMPFTA,RMPFTYPP,RMPFLIS,RMPFMGG,RMPFO,RMPFPCT,RMPFPG,RMPFPSC,RMPFTT
K RMPFAD,S4,X,Y,L,CX,CR,Z Q
HEADP W @IOF,!?22,"REMOTE ORDER/ENTRY ORDER INFORMATION"
HEADP1 W !,"Station: ",RMPFSTAP,?68,RMPFDAT
W !,"Patient: ",$E(RMPFNAM,1,25),?40,"SSN: ",RMPFSSN,?62,"DOB: ",RMPFDOB
W ! F I=1:1:80 W "-"
Q
HEADS W @IOF,!!?18,"REMOTE ORDER/ENTRY STATION ORDER INFORMATION"
W !,"Station: ",RMPFSTAP,?68,RMPFDAT
W ! F I=1:1:80 W "-"
Q
PROMPT ;;
;;W !?1,"Order Date/Time: ",RMPFTDP
;;W !?6,"Order Type: ",$E(RMPFTYPP,1,23)
;;W !?10,"Status: ",$E(RMPFSTP,1,23)
;;W !?6,"Entered By: ",$E(RMPFURP,1,23)
;;W:RMPFTP="P" !?5,"Eligibility: ",$E($P(RMPFTE,U,1),1,23)
;;W:RMPFAPP'="" !?2,$S(RMPFST'=7:" Approved ",1:"Disapproved "),"By: ",$E(RMPFAPP,1,23)
;;I RMPFAPD'="" W:RMPFST=7 !,"Disapproval Date: " W:RMPFST'=7 !?3,"Approval Date: " W RMPFAPD
;;W:RMPFDR'="" !,$S(RMPFST'=7:"Approval ",1:"Disapprov "),"Reason: ",$E(RMPFDR,1,23)