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

AMHEHR.m

Go to the documentation of this file.
  1. AMHEHR ; IHS/CMI/LAB - ADD NEW MHSS ACTIVITY RECORDS 13 Aug 2007 4:21 PM 03 Jun 2009 10:50 AM ;
  1. ;;4.0;IHS BEHAVIORAL HEALTH;**1,2,4,6,8**;JUN 02, 2010;Build 7
  1. ;
  1. EN ;PEP - ADD NEW OR EDIT EXISTING BH RECORD CREATED BY EHR
  1. S AMHVSIT=AUPNVSIT
  1. S AMHEHR=1
  1. S AMHR=$O(^AMHREC("AVISIT",AUPNVSIT,0))
  1. I AMHR,$P($G(^AMHREC(AMHR,11)),U,11) Q
  1. I AMHR D EDITREC Q
  1. Q:$P($G(^AMHSITE(DUZ(2),18)),U,5)
  1. S AMHDATE=$P(^AUPNVSIT(AMHVSIT,0),U)
  1. S (AMHPAT,DFN)=$P(^AUPNVSIT(AMHVSIT,0),U,5)
  1. ;create record
  1. K DIC S DIC(0)="EL",DIC="^AMHREC(",DLAYGO=9002011,DIADD=1,X=AMHDATE
  1. S DIC("DR")=".03///^S X=DT;.08////"_DFN_";.19////"_DUZ_";.33////R;.28////"_DUZ_";.22///A;.21////"_DT_";.16////"_AMHVSIT_";1110////1"
  1. K DD,DO,D0 D FILE^DICN K DIC,DR,DIE,DIADD,DLAYGO,X,D0
  1. I Y=-1 Q
  1. S AMHR=+Y
  1. D EV
  1. D RFILES
  1. D EXIT
  1. Q
  1. ALERT ;
  1. I $P(^AMHREC(AMHR,0),U,12)=""!($P(^AMHREC(AMHR,0),U,12)=0) D
  1. .;send alert to user only if one never sent
  1. .S (G,X)=0 F S X=$O(^AMHREC(AMHR,97,X)) Q:X'=+X!(G) D
  1. ..Q:$P(^AMHREC(AMHR,97,X,0),U,1)'=DT
  1. ..Q:$P(^AMHREC(AMHR,97,X,0),U,2)'=DUZ
  1. ..S G=1
  1. .Q:G
  1. .NEW %,P
  1. .S %=0 F S %=$O(^AMHRPROV("AD",AMHR,%)) Q:%'=+% S P=$P($G(^AMHRPROV(%,0)),U)
  1. .S XQA(P)=""
  1. .S XQAOPT=""
  1. .S XQAROU=""
  1. .S XQAFLG="D"
  1. .S AMHTEXT(1)=" "
  1. .S AMHTEXT(2)=" "
  1. .S AMHTEXT(3)="This Behavioral Health visit is missing an activity time. The activity"
  1. .S AMHTEXT(4)="time can be entered through EHR or with PCC data entry using the AT"
  1. .S AMHTEXT(5)="mnemonic."
  1. .S XQATEXT="AMHTEXT"
  1. .S XQAMSG="HRN: "_$$HRN^AUPNPAT($P(^AUPNVSIT(AUPNVSIT,0),U,5),DUZ(2))_" Date: "_$$VAL^XBDIQ1(9000010,AUPNVSIT,.01)_" is missing an activity time."
  1. .S XQAID="OR,"_$P(^AMHREC(AMHR,0),U,8)_",46"
  1. .D SETUP^XQALERT
  1. .S (G,X)=0 F S X=$O(^AMHREC(AMHR,97,X)) Q:X'=+X S G=X
  1. .S G=G+1
  1. .S ^AMHREC(AMHR,97,G,0)=DT_"^"_DUZ,^AMHREC(AMHR,97,"B",DT,G)=""
  1. .S ^AMHREC(AMHR,97,0)="^9002011.97DA^"_G_"^"_G
  1. Q
  1. EV ;
  1. ;now update other fields
  1. S AMHCLN=$$CLINIC^APCLV(AMHVSIT,"C")
  1. S AMH02=$S(AMHCLN="14":"M",AMHCLN=48:"S",AMHCLN="43":"C",AMHCLN="C4":"O",1:"O")
  1. ;location
  1. S AMH04=$P(^AUPNVSIT(AMHVSIT,0),U,6)
  1. ;community
  1. S AMH05=$P($G(^AMHSITE(DUZ(2),18)),U,4)
  1. I AMH05="" S AMH05=$P($G(^AMHSITE(DUZ(2),0)),U,6)
  1. I AMH05="" S AMH05=$P($G(^AMHSITE(DUZ(2),0)),U,21)
  1. I AMH05="" S AMH05=$P($G(^AMHSITE(DUZ(2),0)),U,29)
  1. ;activity code
  1. S AMH06=$P(^AMHREC(AMHR,0),U,6)
  1. I AMH06="" S AMH06=$O(^AMHTACT("B",99,0))
  1. ;TOC
  1. S AMH07=$$TOC($P(^AUPNVSIT(AMHVSIT,0),U,7))
  1. ;#SERVED
  1. S AMH09=1
  1. ;appt/walkin
  1. S AMH11=$P(^AUPNVSIT(AMHVSIT,0),U,16) I AMH11="" D
  1. .I $P(^AUPNVSIT(AMHVSIT,0),U,26)]"" S AMH11="A" Q
  1. .S AMH11="U"
  1. .Q
  1. ;activity time
  1. S AMH12=$$TIME(AMHVSIT)
  1. ;
  1. S AMH25=$P(^AUPNVSIT(AMHVSIT,0),U,8)
  1. S AMH26=$P($G(^AUPNVSIT(AMHVSIT,21)),U)
  1. ;SCREENS
  1. S (AMH1401,AMH1402,AMH1403,AMH1404,AMH1405,AMH1406,AMH1407,AMH1408,AMH1501,AMH1601,AMH1701,AMH1901)=""
  1. S AMHX=0 F S AMHX=$O(^AUPNVXAM("AD",AMHVSIT,AMHX)) Q:AMHX'=+AMHX D
  1. .S X=$P($G(^AUPNVXAM(AMHX,0)),U)
  1. .Q:'X
  1. .S X=$P($G(^AUTTEXAM(X,0)),U,2)
  1. .I X=34 D Q
  1. ..S R=$P(^AUPNVXAM(AMHX,0),U,4)
  1. ..Q:R=""
  1. ..S AMH1401=R
  1. ..S AMH1402=$P($G(^AUPNVXAM(AMHX,12)),U,4)
  1. ..I AMH1402="" S AMH1402=$$PRIMPROV^APCLV(AMHVSIT,"I")
  1. ..S AMH1501=$P($G(^AUPNVXAM(AMHX,811)),U)
  1. .I X=35 D Q
  1. ..S R=$P(^AUPNVXAM(AMHX,0),U,4)
  1. ..Q:R=""
  1. ..S AMH1403=R S:R="PO" AMH1403="P"
  1. ..S AMH1404=$P($G(^AUPNVXAM(AMHX,12)),U,4)
  1. ..I AMH1404="" S AMH1404=$$PRIMPROV^APCLV(AMHVSIT,"I")
  1. ..S AMH1601=$P($G(^AUPNVXAM(AMHX,811)),U)
  1. .I X=36 D Q
  1. ..S R=$P(^AUPNVXAM(AMHX,0),U,4)
  1. ..Q:R=""
  1. ..S AMH1405=R S:R="PO" AMH1405="P"
  1. ..S AMH1406=$P($G(^AUPNVXAM(AMHX,12)),U,4)
  1. ..I AMH1406="" S AMH1406=$$PRIMPROV^APCLV(AMHVSIT,"I")
  1. ..S AMH1701=$P($G(^AUPNVXAM(AMHX,811)),U)
  1. .I X=43 D Q
  1. ..S R=$P(^AUPNVXAM(AMHX,0),U,4)
  1. ..Q:R=""
  1. ..S AMH1407=R
  1. ..S AMH1408=$P($G(^AUPNVXAM(AMHX,12)),U,4)
  1. ..I AMH1408="" S AMH1408=$$PRIMPROV^APCLV(AMHVSIT,"I")
  1. ..S AMH1901=$P($G(^AUPNVXAM(AMHX,811)),U)
  1. S AMH1108="" S AMHX=$O(^AUPNVNOT("AD",AMHVSIT,0)) I AMHX S AMH1108=$P(^AUPNVNOT(AMHX,0),U)
  1. S AMH1117=$P(^AUPNVSIT(AMHVSIT,0),U,22) ;PATCH 8 CMI/LAB - HOSP LOC
  1. FILE ;
  1. D SETARRAY^AMHEHR1
  1. D FILE^DIE("K","AMHFDA","AMHERR(1)")
  1. I $G(AMHERR(1)) D Q
  1. .S AMHERROR="Could not create a MHSS Record entry.",AMHVFILE="9002011-MHSS RECORD"
  1. .D LBULL
  1. .Q
  1. ;
  1. ;update user last update/date edited
  1. S DIE="^AMHREC(",DA=AMHR,DR="5100///NOW",DR(2,9002011.5101)=".02////^S X=DUZ" D ^DIE K DIE,DA,DR
  1. ;update TIU
  1. TIUN ;
  1. ;
  1. ;get rid of all in multiple and rebuild
  1. K ^AMHREC(AMHR,54)
  1. S AMHX=0 F S AMHX=$O(^AUPNVNOT("AD",AMHVSIT,AMHX)) Q:AMHX'=+AMHX D
  1. .S AMHDOC=$P($G(^AUPNVNOT(AMHX,0)),U)
  1. .I 'AMHDOC Q
  1. .I '$D(^TIU(8925,AMHDOC)) Q
  1. .S DIE="^AMHREC(",DA=AMHR,DR="5400///`"_AMHDOC D ^DIE K DIE,DA,DR
  1. ;
  1. Q
  1. EDITREC ;
  1. S (DFN,AMHPAT)=$P(^AMHREC(AMHR,0),U,8)
  1. S DIE="^AMHREC(",DA=AMHR,DR=".21////"_DT_";.28////"_DUZ D ^DIE
  1. D EV
  1. ;now delete all v files
  1. S AMHX=0 F S AMHX=$O(^AMHRPRO("AD",AMHR,AMHX)) Q:AMHX'=+AMHX D
  1. .S DA=AMHX,DIK="^AMHRPRO(" D ^DIK
  1. S AMHX=0 F S AMHX=$O(^AMHRPROV("AD",AMHR,AMHX)) Q:AMHX'=+AMHX D
  1. .S DA=AMHX,DIK="^AMHRPROV(" D ^DIK
  1. S AMHX=0 F S AMHX=$O(^AMHRPROC("AD",AMHR,AMHX)) Q:AMHX'=+AMHX D
  1. .S DA=AMHX,DIK="^AMHRPROC(" D ^DIK
  1. S AMHX=0 F S AMHX=$O(^AMHREDU("AD",AMHR,AMHX)) Q:AMHX'=+AMHX D
  1. .S DA=AMHX,DIK="^AMHREDU(" D ^DIK
  1. S AMHX=0 F S AMHX=$O(^AMHRHF("AD",AMHR,AMHX)) Q:AMHX'=+AMHX D
  1. .S DA=AMHX,DIK="^AMHRHF(" D ^DIK
  1. S AMHX=0 F S AMHX=$O(^AMHRMSR("AD",AMHR,AMHX)) Q:AMHX'=+AMHX D
  1. .S DA=AMHX,DIK="^AMHRMSR(" D ^DIK
  1. D ^XBFMK
  1. D RFILES
  1. D EXIT
  1. Q
  1. ;
  1. GETDSM ;
  1. D GETDSM^AMHEHR1
  1. Q
  1. RFILES ;
  1. VPOV ;
  1. S AMHX=0 F S AMHX=$O(^AUPNVPOV("AD",AMHVSIT,AMHX)) Q:AMHX'=+AMHX D
  1. .S AMHCIEN=$P($G(^AUPNVPOV(AMHX,0)),U)
  1. .Q:AMHCIEN=""
  1. .S AMHCODE=$$VAL^XBDIQ1(9000010.07,AMHX,.01)
  1. .Q:AMHCODE=""
  1. .S AMHIMP=$$CS^AMHUTIL2(AMHCIEN) ;what is the coding system? 1=ICD9, 30=ICD10
  1. .S AMH45=$$DSMCS^AMHUTIL1(DUZ(2),$P($P(^AMHREC(AMHR,0),U),"."))
  1. .;S AMHDSM=$O(^AMHPROB("B",AMHCODE,0))
  1. .S AMHDSM="" D GETDSM
  1. .I AMHDSM="" D ;LAYGO INTO AMHPROB
  1. ..D ^XBFMK
  1. ..K AMHICNA
  1. ..S AMHPC=$O(^AMHPROBC("B",99.9,0))
  1. ..S X=AMHCODE,DLAYGO=9001012.2,DIADD=1,DIC="^AMHPROB("
  1. ..I AMHIMP=1 S AMHICNA=$$ICDD^ICDCODE(AMHCODE,"AMHICNA")
  1. ..I AMHIMP=30 S AMHICNA(1)=$P($$ICDDX^ICDEX(AMHCODE,$$VD^APCLV(AMHVSIT)),U,4)
  1. ..S DIC(0)="L",DIC("DR")=".02////"_$E($G(AMHICNA(1)),1,160)_";.03////"_AMHPC_";.1///"_$S(AMHIMP=1:9,1:0)_$S(AMHIMP=1:";.05////",1:";.17////")_AMHCODE
  1. ..K DD,D0,DO D FILE^DICN K DIADD,DLAYGO,DD,DIC,D0,DO
  1. ..I Y=-1 S AMHERROR="Could not Create POV: "_AMHCODE,AMHVFILE="MHSS RECORD PROBLEMS" D LBULL Q
  1. ..S AMHDSM=+Y
  1. .I AMHDSM="" S AMHERROR="Could not Create POV: "_AMHCODE,AMHVFILE="MHSS RECORD PROBLEMS" D LBULL Q
  1. .S AMH04=$P(^AUPNVPOV(AMHX,0),U,4)
  1. .D ^XBFMK
  1. .S X=AMHDSM,DIC("DR")=".02////"_$G(AMHPAT)_";.03////"_AMHR_";.04////"_AMH04
  1. .S DIC="^AMHRPRO(",DIC(0)="MLQ",DIADD=1,DLAYGO=9002011.01 K DD,DO D FILE^DICN
  1. .K DIC,DA,DO,DD,D0,DG,DH,DI,DIW,DIU,DIADD,DIE,DQ,DLAYGO
  1. .I Y=-1 S AMHERROR="Could not Create POV: "_AMHCODE,AMHVFILE="MHSS RECORD PROBLEMS" D LBULL Q
  1. .Q
  1. VPROV ;
  1. S AMHX=0 F S AMHX=$O(^AUPNVPRV("AD",AMHVSIT,AMHX)) Q:AMHX'=+AMHX D
  1. .S AMHPROV=$P($G(^AUPNVPRV(AMHX,0)),U)
  1. .Q:AMHPROV=""
  1. .S AMHPS=$P(^AUPNVPRV(AMHX,0),U,4)
  1. .I AMHPS="" S AMHPS="S"
  1. .S DIC="^AMHRPROV(",X=AMHPROV,DIC("DR")=".02////"_$G(AMHPAT)_";.03////"_AMHR_";.04////"_AMHPS,DIC="^AMHRPROV("
  1. .S DIC(0)="MLQ",DIADD=1,DLAYGO=9002011.02 K DD,DO D FILE^DICN
  1. .K DIC,DA,DO,DD,D0,DG,DH,DI,DIW,DIU,DIADD,DIE,DQ,DLAYGO
  1. .I Y=-1 S AMHERROR="Could not Create PROVIDER: "_$P(^VA(200,AMHPROV,0),U),AMHVFILE="MHSS RECORD PROVIDERS" D LBULL Q ;D SENDBUL
  1. .Q
  1. VCPT ;
  1. S AMHX=0 F S AMHX=$O(^AUPNVCPT("AD",AMHVSIT,AMHX)) Q:AMHX'=+AMHX D
  1. .S AMHCPT=$P($G(^AUPNVCPT(AMHX,0)),U)
  1. .Q:AMHCPT=""
  1. .S X=AMHCPT,DIC("DR")=".02////"_AMHPAT_";.03////"_AMHR_";.08////"_$P(^AUPNVCPT(AMHX,0),U,8)_";.09////"_$P(^AUPNVCPT(AMHX,0),U,9)_";.16////"_$P(^AUPNVCPT(AMHX,0),U,16)
  1. .S DIC="^AMHRPROC(",DIC(0)="MLQ",DIADD=1,DLAYGO=9002011.04 K DD,DO D FILE^DICN
  1. .K DIC,DA,DO,DD,D0,DG,DH,DI,DIW,DIU,DIADD,DIE,DQ,DLAYGO
  1. .I Y=-1 S AMHERROR="Could not Create CPT: "_$P(^ICPT(AMHCPT,0),U),AMHVFILE="MHSS RECORD PROCEDURES" D LBULL Q
  1. .Q
  1. VPED ;
  1. S AMHX=0 F S AMHX=$O(^AUPNVPED("AD",AMHVSIT,AMHX)) Q:AMHX'=+AMHX D
  1. .S AMHPED=$P($G(^AUPNVPED(AMHX,0)),U)
  1. .Q:AMHPED=""
  1. .S AMHP0=^AUPNVPED(AMHX,0)
  1. .S X=AMHPED
  1. .S DIC("DR")=".02////"_AMHPAT_";.03////"_AMHR_";.04////"_$P(AMHP0,U,5)_";.05////"_$P(AMHP0,U,7)_";.06////"_$P(AMHP0,U,8)_";.07////"_$P(AMHP0,U,9)
  1. .S DIC("DR")=DIC("DR")_";.08////"_$P(AMHP0,U,6)_";.11////"_$P(AMHP0,U,13)_";1102////"_$P($G(^AUPNVPED(AMHX,11)),U,2)
  1. .S DIC="^AMHREDU(",DIC(0)="MLQ",DIADD=1,DLAYGO=9002011.05 K DD,DO D FILE^DICN
  1. .K DIC,DA,DO,DD,D0,DG,DH,DI,DIW,DIU,DIADD,DIE,DQ,DLAYGO
  1. .I Y=-1 S AMHERROR="Could not Create EDUCATION: "_$P(^AUTTEDT(AMHPED,0),U),AMHVFILE="MHSS RECORD PATIENT EDUCATION" D LBULL Q ;D SENDBUL
  1. .I $P(AMHP0,U,11)]"" S $P(^AMHREDU(+Y,11),U)=$P(AMHP0,U,11) ;directly set due to ;
  1. .I $P(AMHP0,U,14)]"" S $P(^AMHREDU(+Y,0),U,9)=$P(AMHP0,U,14) ;due to ;
  1. .Q
  1. VHF ;
  1. S AMHX=0 F S AMHX=$O(^AUPNVHF("AD",AMHVSIT,AMHX)) Q:AMHX'=+AMHX D
  1. .S AMHHF=$P($G(^AUPNVHF(AMHX,0)),U)
  1. .Q:AMHHF=""
  1. .S AMHP0=^AUPNVHF(AMHX,0)
  1. .S X=AMHHF,DIC("DR")=".02////"_AMHPAT_";.03////"_AMHR_";.04////"_$P(AMHP0,U,4)_";.05////"_$P(AMHP0,U,5)_";.06////"_$P(AMHP0,U,6)
  1. .S DIC="^AMHRHF(",DIC(0)="MLQ",DIADD=1,DLAYGO=9002011.08 K DD,DO D FILE^DICN
  1. .K DIC,DA,DO,DD,D0,DG,DH,DI,DIW,DIU,DIADD,DIE,DQ,DLAYGO
  1. .I Y=-1 S AMHERROR="Could not Create Health Factor: "_$P(^AUTTHF(AMHHF,0),U),AMHVFILE="MHSS RECORD HEALTH FACTORS" D LBULL Q ;D SENDBUL
  1. .I $P($G(^AUPNVHF(AMHX,811)),U,1)]"" S $P(^AMHRHF(+Y,811),U)=$P(^AUPNVHF(AMHX,811),U) ;directly set due to ;
  1. .Q
  1. ;
  1. VMSR ;
  1. S AMHX=0 F S AMHX=$O(^AUPNVMSR("AD",AMHVSIT,AMHX)) Q:AMHX'=+AMHX D
  1. .S AMHMSR=$P($G(^AUPNVMSR(AMHX,0)),U)
  1. .Q:AMHMSR=""
  1. .Q:$P($G(^AUPNVMSR(AMHX,2)),U,1) ;entered in error
  1. .S AMHP0=^AUPNVMSR(AMHX,0)
  1. .S X=AMHMSR,DIC("DR")=".02////"_AMHPAT_";.03////"_AMHR_";.04////"_$P(AMHP0,U,4)
  1. .S DIC="^AMHRMSR(",DIC(0)="MLQ",DIADD=1,DLAYGO=9002011.12 K DD,DO,D0 D FILE^DICN
  1. .K DIC,DA,DO,D0,DD,DG,DH,DI,DIW,DIU,DIADD,DIE,DQ,DLAYGO
  1. .I Y=-1 S AMHERROR="Could not Create MEASUREMENT: "_AMHCODE,AMHVFILE="MHSS RECORD MEASUREMENTS" D LBULL Q ;D SENDBUL
  1. ;D ALERT
  1. SCRREF ;are there any screening refusals?
  1. D SCRREF^AMHEHR1
  1. Q
  1. EXIT ;
  1. D EN^XBVK("AMH")
  1. D ^XBFMK
  1. Q
  1. TIME(V) ;
  1. NEW X,T
  1. S X=0,T=""
  1. F S X=$O(^AUPNVTM("AD",V,X)) Q:X'=+X S T=T+$P(^AUPNVTM(X,0),U)
  1. I T Q T
  1. Q ""
  1. ;
  1. TOC(S) ;
  1. I S="A" Q 2
  1. I S="C" Q 7
  1. I S="H" Q 3
  1. I S="I" Q 10
  1. I S="N" Q 4
  1. I S="R" Q 4
  1. I S="T" Q 8
  1. Q 2
  1. ;
  1. EDITEHR ;EP - called from option
  1. W !!,"This option is used to edit the BH related fields of a visit"
  1. W !,"that was entered via EHR.",!
  1. EEHR1 ;
  1. D EDITEHRX
  1. F S AMHPAT="" D GETPAT Q:AMHPAT="" D EDIT
  1. Q
  1. D GETPAT
  1. I AMHPAT="" D EDITEHRX Q
  1. D GETDATE
  1. I AMHDATE="" D EDITEHRX Q
  1. D EDIT
  1. Q
  1. ;
  1. EDIT ;
  1. D GETDATE
  1. Q:AMHDATE=""
  1. ;display all EHR visits and allow user to select one
  1. I '$D(^AMHREC("AF",AMHPAT,AMHDATE)) W !!,"There are no EHR created visits for ",$P(^DPT(AMHPAT,0),U)," on ",$$FMTE^XLFDT(AMHDATE) Q
  1. S (AMHV,AMHC)=0
  1. F S AMHV=$O(^AMHREC("AF",AMHPAT,AMHDATE,AMHV)) Q:AMHV'=+AMHV D
  1. .I '$P($G(^AMHREC(AMHV,11)),U,10) Q
  1. .Q:'$$ALLOWVI^AMHUTIL(DUZ,AMHV)
  1. .S AMHC=AMHC+1,AMHV(AMHC)=AMHV
  1. .Q
  1. I AMHC=0 W !!,"There are no EHR created visits for ",$P(^DPT(AMHPAT,0),U)," on ",$$FMTE^XLFDT(AMHDATE) Q
  1. I AMHC=1 S AMHR=AMHV(1) G SCR
  1. S AMHC=0 F S AMHC=$O(AMHV(AMHC)) Q:AMHC'=+AMHC D
  1. .S AMHX=^AMHREC(AMHV(AMHC),0)
  1. .W !,AMHC,") TIME: ",$P($$FMTE^XLFDT($P(AMHX,U),"2P")," ",2,3)," TOC: ",$E($$VAL^XBDIQ1(9002011,AMHV(AMHC),.07),1,12)," CLINIC: ",$E($$VAL^XBDIQ1(9002011,AMHV(AMHC),.25),1,15)
  1. .W !?3,"Provider on Visit: ",$$PPNAME^AMHUTIL(AMHV(AMHC))
  1. .W !?3,"Primary POV: ",$$PRIMPOV^AMHUTIL1(AMHV(AMHC),"C")," ",$E($$PRIMPOV^AMHUTIL1(AMHV(AMHC),"N"),1,50)
  1. .Q
  1. K DIR
  1. S DIR(0)="N^1:"_AMHC,DIR("A")="Select" KILL DA D ^DIR KILL DIR
  1. I $D(DIRUT) Q
  1. S AMHR=AMHV(+Y)
  1. ;
  1. SCR ;EP
  1. S DA=AMHR,DDSFILE=9002011,DR=$S($$DSMCS^AMHUTIL1(DUZ(2),$P($P(^AMHREC(AMHR,0),U),"."))=4:"[AMH EHR EDIT RECORD]",1:"[AMHEH EHR EDIT RECORD") D ^DDS
  1. I $D(DIMSG) W !!,"ERROR IN SCREENMAN FORM!! ***NOTIFY PROGRAMMER***" D PAUSE^AMHLEA K DIMSG Q
  1. Q
  1. GETPAT ;
  1. D EDITEHRX
  1. S AMHPAT=""
  1. S DIC="^AUPNPAT(",DIC(0)="AEMQ" D ^DIC K DIC,DA,DR,DLAYGO,DIADD
  1. I Y<0 Q
  1. S AMHPAT=+Y
  1. S X=AMHPAT D ^AMHPEDIT I '$D(X) G GETPAT
  1. W !?25,"Ok" S %=1 D YN^DICN I %'=1 S AMHPAT="" K AMHC Q
  1. I AMHPAT,'$$ALLOWP^AMHUTIL(DUZ,AMHPAT) D NALLOWP^AMHUTIL D PAUSE^AMHLEA G GETPAT
  1. Q
  1. ;
  1. GETDATE ;EP - GET DATE OF ENCOUNTER
  1. W !!
  1. S AMHDATE="",DIR(0)="DO^:"_DT_":EPTX",DIR("A")="Enter ENCOUNTER DATE" D ^DIR K DIR S:$D(DUOUT) DIRUT=1
  1. Q:$D(DIRUT)
  1. S AMHDATE=Y
  1. Q
  1. EDITEHRX ;
  1. D EN^XBVK("AMH")
  1. D KILL^AUPNPAT
  1. D ^XBFMK
  1. Q
  1. ;
  1. TIU ;EP
  1. NEW AMHSTR,AMHC,AMHTIUD,AMHTIU,AMHGBL,AMHHLF,AMHX,AMHX1
  1. I '$O(^AMHREC(AMHR,54,0)) W !!,"There is no TIU document associated with this visit." D PAUSE^AMHLEA K AMHTIU Q
  1. ;D BROWS1^TIURA2("TIU BROWSE FOR READ ONLY",AMHTIU)
  1. D TIUDISP
  1. K AMHTIU
  1. Q
  1. TIUDISP ;
  1. K AMHTIUD S AMHC=0
  1. S X="" D S(X) D S("TIU DOCUMENTS") D S("-------------")
  1. S AMHDOC=0 F S AMHDOC=$O(^AMHREC(AMHR,54,"B",AMHDOC)) Q:AMHDOC'=+AMHDOC D
  1. .K AMHTIU,AMHERR
  1. .K ^TMP("AMHOENPS",$J)
  1. .D TIUDSP
  1. .K ^TMP("AMHEONPS",$J)
  1. .K AMHTIU
  1. .Q
  1. D ARRAY^XBLM("AMHTIUD(","TIU Document Display")
  1. Q
  1. TIUDSP ;
  1. D TIUDSP^AMHEHR1
  1. Q
  1. ;
  1. S(Y,F,C,T) ;EP - set up array
  1. I '$G(F) S F=0
  1. I '$G(T) S T=0
  1. ;blank lines
  1. F F=1:1:F S X="" D S1
  1. S X=Y
  1. I $G(C) S L=$L(Y),T=(80-L)/2 D D S1 Q
  1. .F %=1:1:(T-1) S X=" "_X
  1. F %=1:1:T S X=" "_Y
  1. D S1
  1. Q
  1. S1 ;
  1. S AMHC=AMHC+1
  1. S AMHTIUD(AMHC,0)=X
  1. Q
  1. EHRE ;EP
  1. W !,"This visit was created through EHR. Certain data fields can be edited using",!,"the EH action on the PDE screen. All other fields must be edited"
  1. W !,"through EHR.",!
  1. Q
  1. ;
  1. LBULL ;
  1. K XMB
  1. S XMDUZ="EHR TO BH"
  1. S XMB(1)=AMHVSIT,XMB(2)=$P(^DPT(AMHPAT,0),U)_" (DFN "_AMHPAT_")",Y=$P($P(^AUPNVSIT(AMHVSIT,0),U),".") D DD^%DT S XMB(3)=Y,XMB(4)="EHR TO PCC LINK FAILURE: "_AMHERROR,XMB(5)=$G(AMHVFILE),XMB="AMH EHR-PCC LINK FAIL " ;,AMHDUZ=DUZ,DUZ=.5
  1. D ^XMB K XMB,AMHERROR,AMHBN,AMHVFILE,XMDUZ
  1. Q