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

BDMVRL.m

Go to the documentation of this file.
  1. BDMVRL ; IHS/CMI/LAB - VIEW PT RECORD LT ; 29 Sep 2014 11:55 AM
  1. ;;2.0;DIABETES MANAGEMENT SYSTEM;**2,3,4,5,6,7,8,9,10,11,12**;JUN 14, 2007;Build 51
  1. ;
  1. ;This routine calls a list template to view a patient's record.
  1. ;The first screen displayed is the patient's health summary.
  1. ;
  1. ;cmi/anch/maw 3/8/2007 changed visit display to be browser based
  1. ;
  1. D REG^BDMFUTIL
  1. Q:$D(BDMQUIT)
  1. I '$$PKGCK^BDMVU("APCHS","PCC HEALTH SUMMARY") D D EXIT Q
  1. . D MSG^BDMVU("**HEALTH SUMMARY SOFTWARE NOT INSTALLED**",2,1,1)
  1. ;
  1. K DFN,BDMQUIT,BMOUT
  1. K ^TMP("BDMVR",$J)
  1. F D GETPAT^BDMVRL5 Q:$D(BDMQUIT)!$D(BDMOUT) D
  1. .Q:'$G(BDMRDA)!'$G(BDMRPDA)
  1. .D REGDAT
  1. .D FULL^VALM1
  1. .D EXIT
  1. K BDMQUIT,BDMOUT
  1. Q
  1. ;
  1. HAVEPAT ;EP; -- entry point when patient already known
  1. D REG^BDMFUTIL
  1. Q:$D(BDMQUIT)
  1. N APCHSPAT,APCHSTYP,APCHSTAT,APCHSMTY,AMCHDAYS,AMCHDOB,BDMVSAV
  1. D GETHSTYP^BDMVRL5
  1. I '$G(APCHSTYP) D EXIT Q
  1. S APCHSPAT=DFN,BDMVSAV=DFN
  1. D EN,FULL^VALM1,EXIT
  1. Q
  1. ;
  1. EN ;EP; -- main entry point for list template BDMV HS VIEW
  1. D CLEAR^VALM1
  1. D REG^BDMFUTIL
  1. Q:$D(BDMQUIT)
  1. N APCHSPAT,APCHSTYP,APCHSTAT,APCHSMTY,AMCHDAYS,AMCHDOB,BDMVSAV
  1. D GETHSTYP^BDMVRL5
  1. I '$G(APCHSTYP) D EXIT Q
  1. S APCHSPAT=DFN,BDMVSAV=DFN
  1. S BDMVALM="BDMV HS VIEW"
  1. D VALM(BDMVALM)
  1. Q
  1. VALM(BDMVALM) ;EP; -- main entry point for list templates
  1. D REG^BDMFUTIL
  1. Q:$D(BDMQUIT)
  1. S VALMCC=1 ;1=screen mode, 0=scrolling mode
  1. D TERM^VALM0
  1. D CLEAR^VALM1
  1. D EN^VALM(BDMVALM)
  1. D CLEAR^VALM1
  1. Q
  1. ;
  1. HDR ;EP; -- header code
  1. S VALMSG=$$VALMSG^BDMVU
  1. Q
  1. ;
  1. INIT ;EP; -- init variables and list array
  1. D GUIR^XBLM("EN^APCHS","^TMP(""BDMVR"",$J,")
  1. S X=0
  1. F S X=$O(^TMP("BDMVR",$J,X)) Q:'X D
  1. . S VALMCNT=X
  1. . S ^TMP("BDMVR",$J,X,0)=$G(^TMP("BDMVR",$J,X))
  1. S VALMSG=$$VALMSG^BDMVU
  1. Q
  1. ;
  1. HELP ;EP; -- help code
  1. S X="?" D DISP^XQORM1 W !!
  1. Q
  1. ;
  1. EXIT ;EP; -- exit code
  1. K ^TMP("BDMVR",$J)
  1. K BDM
  1. Q
  1. ;
  1. EXPND ;EP; -- expand code
  1. Q
  1. ;
  1. PAUSE ; -- end of action pause
  1. D RETURN^BDMVU
  1. Q
  1. ;
  1. CSS ;EP;TO REVIEW CASE SUMMARY
  1. K BDMQUIT,ACMQUIT
  1. K ACMMHS,ACMSTYP
  1. D REG^BDMFUTIL
  1. S ACMRG=BDMRDA
  1. S ACMRGNA=BDMREGNM
  1. Q:$D(BDMQUIT)
  1. D ^ACMLPAT
  1. Q:$D(ACMQUIT)!'$G(ACMPTNO)
  1. S DFN=ACMPTNO
  1. S BDMRPDA=ACMRGDFN
  1. I $P(^ACM(41.1,BDMRDA,0),U,10)=1 D
  1. .S DIR(0)="YO",DIR("A")="Include PCC HEALTH SUMMARY",DIR("B")="NO"
  1. .W !
  1. .D ^DIR K DIR
  1. .I Y=1 S ACMMHS="" D SELTYP^ACMPPDTX
  1. S (ZTRTN,BDMRTN)="CS1^BDMVRL"
  1. S BDMBROWS=1
  1. D ^BDMFZIS
  1. K BDMBROWS,ACMMHS,ACMSTYP,BDMRTN
  1. D EN^XBVK("ACM") ;,EN^XBVK("BDM")
  1. Q
  1. CS ;EP;TO REVIEW CASE SUMMARY
  1. D REG^BDMFUTIL
  1. Q:$D(BDMQUIT)
  1. D CLEAR^VALM1
  1. I $P(^ACM(41.1,BDMRDA,0),U,10)=1 D
  1. .S DIR(0)="YO",DIR("A")="Include PCC HEALTH SUMMARY",DIR("B")="NO"
  1. .W !
  1. .D ^DIR K DIR
  1. .I Y=1 S ACMMHS="" D SELTYP^ACMPPDTX
  1. S (ZTRTN,BDMRTN)="CS1^BDMVRL"
  1. D BROWSE^BDMFZIS
  1. Q
  1. CS1 ;EP;
  1. D REG^BDMFUTIL
  1. Q:$D(BDMQUIT)
  1. S ACMRG=BDMRDA
  1. S ACMRGDFN=BDMRPDA
  1. S ACMPTNO=DFN
  1. S X=$P(^DPT(DFN,0),U)
  1. S ACMPATNA=X
  1. S ACMPTNA2=$P($P(X,",",2)," ")_" "_$P(X,",")
  1. D ^ACMCTRL ;cmi/anch/maw 3/22/2007 for version 2.0
  1. D DQ^BDMPPDT
  1. Q
  1. AS ;EP;TO REVIEW AUDIT STATUS
  1. D REG^BDMFUTIL
  1. Q:$D(BDMQUIT)
  1. D CLEAR^VALM1
  1. N X,BDMY,BDMZ,BDMQUIT,BDMVRLY
  1. S BDMJOB=$J
  1. S BDMBTH=$H
  1. S BDMDMRG=BDMRDA
  1. S ^XTMP("BDMDM19",BDMJOB,BDMBTH,"PATS",DFN)=""
  1. S ^TMP("BDMDM19",BDMJOB,BDMBTH,"PATS",DFN)=""
  1. D TIME^BDMDG1
  1. Q:$G(BDMSTP)
  1. D EN^XBNEW("IAEP^BDMDG1","BDMJOB;BDMBTH;BDMDMRG;BDMADAT;BDMRED;BDMBDAT;BDMRBD")
  1. Q
  1. ;
  1. DLP ;EP;FOR DIABETES LAB PROFILE
  1. D REG^BDMFUTIL
  1. Q:$D(BDMQUIT)
  1. D CLEAR^VALM1
  1. N APCHSTYP,APCHSPAT
  1. I '$D(^APCHSCTL("B","DMS DIABETES LAB REPORT")) D NEWHS^BDMVRL5
  1. S APCHSTYP=$O(^APCHSCTL("B","DMS DIABETES LAB REPORT",0))
  1. Q:'APCHSTYP
  1. S APCHSPAT=DFN
  1. D EN^APCHS
  1. D PAUSE^BDMFMENU
  1. Q
  1. APPTS ;EP;TO DISPLAY APPOINTMENTS
  1. D REG^BDMFUTIL
  1. Q:$D(BDMQUIT)
  1. S BDMVALM="BDMV APPOINTMENTS"
  1. D VALM(BDMVALM)
  1. Q
  1. APPINIT ;EP;TO DISPLAY APPOINTMENTS
  1. D REG^BDMFUTIL
  1. Q:$D(BDMQUIT)
  1. K ^TMP("BDMVR",$J)
  1. N J,X,Y,Z,BDMAPPDA,BDMPAT0
  1. S VALMCNT=0
  1. S X=" CLINIC TIME DATE"
  1. D Z(X)
  1. S X=" ------------------------------ -------- ----------"
  1. D Z(X)
  1. S BDMAPPDA=DT-1
  1. F S BDMAPPDA=$O(^DPT(DFN,"S",BDMAPPDA)) Q:'BDMAPPDA D
  1. .S BDMPAT0=$G(^DPT(DFN,"S",BDMAPPDA,0))
  1. .Q:'+BDMPAT0!($P(BDMPAT0,U,2)]"")
  1. .S Z=$P($G(^SC(+BDMPAT0,0)),U)
  1. .S Y=BDMAPPDA
  1. .X ^DD("DD")
  1. .S X=""
  1. .S $E(X,6)=Z
  1. .S $E(X,36)=" at "_$P(Y,"@",2)_" on "_$P(Y,"@")
  1. .D Z(X)
  1. S:VALMCNT=2 ^TMP("BDMVR",$J,3,0)=" NO APPOINTMENTS LISTED"
  1. D BACK
  1. Q
  1. LVD ;EP;TO DISPLAY LAST VISIT
  1. D REG^BDMFUTIL
  1. Q:$D(BDMQUIT)
  1. N X
  1. S X=$O(^AUPNVSIT("AA",DFN,0))
  1. I 'X D Q
  1. .W !,"No visits on file for this patient."
  1. .D PAUSE^BDMFMENU
  1. S X=$O(^AUPNVSIT("AA",DFN,X,0))
  1. S APCDLOOK=X
  1. VISIT I APCDLOOK S APCDVSIT=APCDLOOK,APCDDATE=+^AUPNVSIT(APCDLOOK,0),APCDTYPE=$P(^AUPNVSIT(APCDLOOK,0),U,3),APCDCAT=$P(^(0),U,7),APCDLOC=$P(^(0),U,6),APCDCLN=$P(^(0),U,8)
  1. S APCDVDSP=APCDVSIT
  1. D CLEAR^VALM1
  1. D ^APCDVD ;cmi/anch/maw 3/8/2007 for browser display
  1. ;D ^APCDVDSP cmi/anch/maw 3/8/2007 orig line
  1. Q
  1. GETVISIT ;EP;TO GET VISIT
  1. D REG^BDMFUTIL
  1. Q:$D(BDMQUIT)
  1. S APCDPAT=DFN
  1. W !
  1. D GETVISIT^APCDDISP
  1. I $G(APCDVSIT) S APCDLOOK=APCDVSIT D VISIT:$G(APCDVSIT)
  1. Q
  1. FS ;EP;TO VIEW A FLOW SHEET
  1. D CLEAR^VALM1
  1. N APCHSTYP,APCHSPAT
  1. I '$D(^APCHSCTL("B","DMS DIABETIC FLOWSHEET")) D NEWHS^BDMVRL5
  1. ;S APCHSTYP=$O(^APCHSCTL("B","DMS DIABETIC FLOWSHEET",0))
  1. S DIC="^APCHSCTL("
  1. S DIC(0)="AEMQZ"
  1. S DIC("A")="Which FLOW SHEET: "
  1. S DIC("B")="DMS DIABETIC FLOWSHEET"
  1. W !
  1. D DIC^BDMFDIC
  1. I +Y<1 K BDMQUIT Q
  1. S APCHSTYP=+Y
  1. S APCHSPAT=DFN
  1. D EN^APCHS
  1. D PAUSE^BDMFMENU
  1. Q
  1. HS ;EP;TO VIEW A HEALTH SUMMARY
  1. D EN
  1. Q
  1. LP ;EP;TO DISPLAY LAB PROFILE
  1. D CLEAR^VALM1
  1. N APCHSTYP,APCHSPAT
  1. I '$D(^APCHSCTL("B","DMS LAB REPORT")) D NEWHS^BDMVRL5
  1. S APCHSTYP=$O(^APCHSCTL("B","DMS LAB REPORT",0))
  1. Q:'APCHSTYP
  1. S APCHSPAT=DFN
  1. D EN^APCHS
  1. D PAUSE^BDMFMENU
  1. Q
  1. REF ;EP;TO EDIT REFERRALS
  1. Q
  1. LOPT ;EP;TO EDIT LOCAL OPTION
  1. D REG^BDMFUTIL
  1. Q:$D(BDMQUIT)
  1. S DA=BDMRPDA
  1. S DIE="^ACM(41,"
  1. S DR="1101;1102"
  1. W !!
  1. D DIE^BDMFDIC
  1. D DXUPD^BDMVRL5
  1. S DA=BDMRPDA
  1. S DIE="^ACM(41,"
  1. S DR="11////"_DT
  1. D DIE^BDMFDIC
  1. D PP^BDMVRL5
  1. Q
  1. RS ;EP;TO EDIT REGISTER STATUS
  1. D FULL^VALM1
  1. D REG^BDMFUTIL
  1. Q:$D(BDMQUIT)
  1. S DA=BDMRPDA
  1. S DIE="^ACM(41,"
  1. S DR="1"
  1. W !!
  1. D DIE^BDMFDIC
  1. D DXUPD^BDMVRL5
  1. S DA=BDMRPDA
  1. S DIE="^ACM(41,"
  1. S DR="11////"_DT
  1. D DIE^BDMFDIC
  1. D PP^BDMVRL5
  1. Q
  1. WF ;EP;TO EDIT WHERE FOLLOWED
  1. D REG^BDMFUTIL
  1. Q:$D(BDMQUIT)
  1. S DA=BDMRPDA
  1. S DIE="^ACM(41,"
  1. S DR="10"
  1. W !!
  1. D DIE^BDMFDIC
  1. D DXUPD^BDMVRL5
  1. S DA=BDMRPDA
  1. S DIE="^ACM(41,"
  1. S DR="11////"_DT
  1. D DIE^BDMFDIC
  1. D PP^BDMVRL5
  1. Q
  1. CM ;EP;TO EDIT CASE MANAGER
  1. D REG^BDMFUTIL
  1. Q:$D(BDMQUIT)
  1. S DA=BDMRPDA
  1. S DIE="^ACM(41,"
  1. S DR="6"
  1. W !!
  1. D DIE^BDMFDIC
  1. D DXUPD^BDMVRL5
  1. S DA=BDMRPDA
  1. S DIE="^ACM(41,"
  1. S DR="11////"_DT
  1. D DIE^BDMFDIC
  1. D PP^BDMVRL5
  1. Q
  1. CC ;EP;TO EDIT CONTACT
  1. D REG^BDMFUTIL
  1. Q:$D(BDMQUIT)
  1. S DA=BDMRPDA
  1. S DIE="^ACM(41,"
  1. S DR="14"
  1. W !!
  1. D DIE^BDMFDIC
  1. D DXUPD^BDMVRL5
  1. S DA=BDMRPDA
  1. S DIE="^ACM(41,"
  1. S DR="11////"_DT
  1. D DIE^BDMFDIC
  1. D PP^BDMVRL5
  1. Q
  1. ERD ;EP;TO EDIT REGISTER DATA
  1. D REG^BDMFUTIL
  1. Q:$D(BDMQUIT)
  1. S DA=BDMRPDA
  1. S DIE=9002241
  1. S DR="[BDM CMS REGISTER]"
  1. D DDS^BDMFDIC
  1. D DXUPD^BDMVRL5
  1. S DA=BDMRPDA
  1. S DIE="^ACM(41,"
  1. S DR="11////"_DT
  1. D DIE^BDMFDIC
  1. D PP^BDMVRL5
  1. Q
  1. MM ;EP;TO SEND MAIL MESSAGE
  1. D REG^BDMFUTIL
  1. Q:$D(BDMQUIT)
  1. D CLEAR^VALM1
  1. W !!,"Send Mail Message"
  1. N XMLOAD,XMDF,XMMENU
  1. S XMMENU(0)="XMUSER"
  1. D LOCK^XM
  1. I Y D XMZ^XMA2 ;cmi/maw 9/7/06 new
  1. D UNLOCK^XM
  1. Q
  1. VFS ;EP;TO VIEW PATIENT REGISTRATION FACE SHEET
  1. D REG^BDMFUTIL
  1. Q:$D(BDMQUIT)
  1. Q:'$G(DFN)
  1. D CLEAR^VALM1
  1. W @IOF
  1. W !?5,"Display FACE SHEET for: ",$P(BDMPAT0,U),!!
  1. D VIEWR^XBLM("START^AGFACE")
  1. Q
  1. DPSC ;EP;DPSC
  1. D REG^BDMFUTIL
  1. Q:$D(BDMQUIT)
  1. Q:'$G(DFN)
  1. D CLEAR^VALM1
  1. W @IOF
  1. W !?5,"Display Diabetes Patient Care Summary for: ",$P(BDMPAT0,U),!!
  1. D VIEWR^XBLM("PRINT^BDMDMSP")
  1. Q
  1. PRD ;EP;TO VIEW PATIENT REGISTRATION DATA
  1. D REG^BDMFUTIL
  1. Q:$D(BDMQUIT)
  1. Q:'$G(DFN)
  1. S BDMSAV=DFN
  1. D CLEAR^VALM1
  1. D ^AGVAR
  1. S AGPAGE=1
  1. ;I '$D(^VA(200,+$G(DUZ),51,+$O(^DIC(19.1,"B","AGZMENU",0)))) D
  1. ;.S AGSEENLY=""
  1. D L2^AGSEENLY
  1. S DFN=BDMSAV
  1. Q
  1. REGDAT ;EP;TO GATHER AND DISPLAY PATIENT REGISTER DATA
  1. D REG^BDMFUTIL
  1. Q:$D(BDMQUIT)
  1. S BDMVALM="BDMV REGISTER"
  1. D VALM(BDMVALM)
  1. Q
  1. RDINIT ;EP;TO INITIALIZE PATIENT REGISTER DATA FOR DISPLAY
  1. D RDINIT^BDMVRL2
  1. Q
  1. BACK S VALMBCK="R"
  1. Q
  1. VSEL ;EP;TO SELECT VISIT TO DISPLAY
  1. D REG^BDMFUTIL
  1. Q:$D(BDMQUIT)
  1. S DIR(0)="NO^1:"_BDMJ
  1. S DIR("A")="Which Visit"
  1. W !
  1. D DIR^BDMFDIC
  1. Q:Y<1!'$D(BDM(+Y))
  1. S APCDLOOK=+BDM(Y)
  1. D VISIT
  1. Q
  1. PROB ;EP; called from protocol
  1. PL ;EP; called from protocol - changed in 2015 audit to display only per MU2
  1. D REG^BDMFUTIL
  1. Q:$D(BDMQUIT)
  1. D CLEAR^VALM1
  1. D FULL^VALM1
  1. S APCDOVRR=""
  1. S APCDPAT=DFN
  1. D EN1^BDMPL
  1. S (DFN,Y)=APCDPAT
  1. D ^AUPNPAT
  1. D BACK
  1. Q
  1. Z(X) ;SET TMP NODE
  1. S VALMCNT=VALMCNT+1
  1. S ^TMP("BDMVR",$J,VALMCNT,0)=X
  1. Q