CRHD9 ; CAIRO/CLC - HANDOFF TEAM LIST ;4/24/08 12:49 ;;1.0;CRHD;****;Jan 28, 2008;Build 19 ;================================================================= HOTMSAVE(CRHDRTN,CRHDTM) ; ;create a team name N CRHDFDA,CRHDOUT,CRHDERR K CRHDRTN S CRHDRTN=0 I (CRHDTM'?1A.E)&(CRHDTM'?1N.E) Q S CRHDFDA(183.3,"?+1,",.01)=CRHDTM D UPDATE^DIE("","CRHDFDA","CRHDOUT","CRHDERR") I '$D(CRHDERR) S CRHDRTN=CRHDOUT(1) Q HOTMDEL(CRHDRTN,CRHDTM) ; ;delete a Hand off team N DIK,DA K CRHDRTN S CRHDRTN=0 I +CRHDTM S DIK="^CRHD(183.3,",DA=+CRHDTM D ^DIK S CRHDRTN=1 Q HOLIST(CRHDRTN) ; ;return a list of teams N CRHDX,CRHDX1,CRHDTDT,CRHDCT K CRHDRTN S CRHDX="" S CRHDCT=0 S CRHDRTN(0)="0^No List Found" F S CRHDX=$O(^CRHD(183.3,"B",CRHDX)) Q:CRHDX="" D .S CRHDX1=0 .F S CRHDX1=$O(^CRHD(183.3,"B",CRHDX,CRHDX1)) Q:'CRHDX1 D ..;check to see if team list is active, if date is less then today then inactive ..S CRHDTDT=$P($G(^CRHD(183.3,CRHDX1,0)),"^",2) ..I CRHDTDT&(CRHDTDT<$$DT^XLFDT) Q ..S CRHDCT=CRHDCT+1,CRHDRTN(CRHDCT)=CRHDX1_"^"_CRHDX_"^"_"HOTEAM" I CRHDCT>0 K CRHDRTN(0) Q HOPLIST(CRHDRTN,CRHDTM) ; ;Get list of Patients for a HO team N CRHDX,CRHDPT,CRHDPD,CRHDTLST,CRHDCT,CRHDPD2,VAIP,DFN,DIE,DA,DR K CRHDRTN S CRHDRTN(1)="No Patients Found" Q:'CRHDTM I '$D(^CRHD(183.3,"B",$P(CRHDTM,"^",2),+CRHDTM)) Q S CRHDX=0 F S CRHDX=$O(^CRHD(183.3,+CRHDTM,1,CRHDX)) Q:'CRHDX D .S CRHDPT=+$G(^CRHD(183.3,+CRHDTM,1,CRHDX,0)) .;check to see if patient has been discharged, if so delete from list .S DFN=CRHDPT D IN5^VADPT .I VAIP(1)="" D Q ..S DA(1)=+CRHDTM,DIE="^CRHD(183.3,"_DA(1)_",1,",DA=CRHDX,DR=".01///@" D ^DIE .S CRHDPD=$$PATDATA(CRHDPT) .K CRHDPD2 .D PATPRV(.CRHDPD2,CRHDTM,CRHDPT) .I $P(CRHDPD,"^",2)'="" S CRHDTLST($P(CRHDPD,"^",2))=CRHDPD .I $G(CRHDPD2)'="" S CRHDTLST($P(CRHDPD,"^",2))=CRHDTLST($P(CRHDPD,"^",2))_"^*"_CRHDPD2 I $D(CRHDTLST) D .S CRHDCT=0 .S CRHDX="" .F S CRHDX=$O(CRHDTLST(CRHDX)) Q:CRHDX="" S CRHDCT=CRHDCT+1,CRHDRTN(CRHDCT)=CRHDTLST(CRHDX) Q PATDATA(DFN) ; ; N CRHDNAME,CRHDSSN,CRHDDOB,CRHDAGE,CRHDSEX,VAIP,VADM K VAIP,VADM D DEM^VADPT,IN5^VADPT S CRHDNAME=VADM(1),CRHDSSN=$P(VADM(2),U,1),CRHDDOB=$P(VADM(3),U,1) S CRHDAGE=VADM(4),CRHDSEX=$P(VADM(5),U,1) K VAIP,VADM Q DFN_U_CRHDNAME_U_CRHDSSN_U_CRHDDOB_U_CRHDAGE_U_CRHDSEX ; HODLIST(CRHDRTN,CRHDTM) ;Get list of Providers for a HO team N CRHDX,CRHDPRV,CRHDTLST,CRHDCT,CRHDZ0,CRHDSORT,CRHDUT N CRHDPX,CRHDPX0,CRHDNAM K CRHDRTN I '$D(^CRHD(183.3,"B",$P(CRHDTM,"^",2),+CRHDTM)) Q S CRHDX=0 F S CRHDX=$O(^CRHD(183.3,+CRHDTM,2,CRHDX)) Q:'CRHDX D .S CRHDPRV=+$G(^CRHD(183.3,+CRHDTM,2,CRHDX,0)) .S CRHDNAM=$$GET1^DIQ(200,+CRHDPRV,.01,"E") .;Delete Provider if inactive, 1st check to see if assigned to a patient, if so remove .I '$$ACTIVE^XUSER(+CRHDPRV) D Q ..S CRHDPX=0 F S CRHDPX=$O(^CRHD(183.3,+CRHDTM,1,CRHDPX)) Q:'CRHDPX D ...S CRHDPX0=^CRHD(183.3,+CRHDTM,1,CRHDPX,0) ...I CRHDPX0[+CRHDPRV F CRHDI=2:1:$L(CRHDPX0,"^") I $P(CRHDPX0,"^",CRHDI)=+CRHDPRV S $P(^CRHD(183.3,+CRHDTM,1,CRHDPX,0),"^",CRHDI)="" ..S DA(1)=+CRHDTM,DIE="^CRHD(183.3,"_DA(1)_",2,",DA=CRHDX,DR=".01///@" D ^DIE .I CRHDNAM'="" D ..S CRHDZ0=$G(^CRHD(183.3,+CRHDTM,2,+CRHDX,0)) ..S CRHDUT=$P(CRHDZ0,"^",2) ..I CRHDUT="" S CRHDUT="ZNOTYPE" ..S CRHDSORT(CRHDUT,CRHDNAM)=CRHDPRV_"^"_CRHDNAM_"^"_$P(CRHDZ0,"^",2)_"^"_+$P(CRHDZ0,"^",3)_"^"_+$P(CRHDZ0,"^",4)_"^"_$P(CRHDZ0,"^",5)_"^"_$P(CRHDZ0,"^",6) S CRHDI="" F S CRHDI=$O(CRHDSORT(CRHDI)) Q:CRHDI="" D .S CRHDPRV="" .F S CRHDPRV=$O(CRHDSORT(CRHDI,CRHDPRV)) Q:CRHDPRV="" D ..S CRHDTLST(CRHDPRV)=CRHDSORT(CRHDI,CRHDPRV) ..;S CRHDTLST(CRHDNAM)=CRHDPRV_"^"_CRHDNAM_"^"_$P(CRHDZ0,"^",2)_"^"_+$P(CRHDZ0,"^",3)_"^"_+$P(CRHDZ0,"^",4)_"^"_$P(CRHDZ0,"^",5)_"^"_$P(CRHDZ0,"^",6) I $D(CRHDTLST) D .S CRHDCT=0 .S CRHDX="" .F S CRHDX=$O(CRHDTLST(CRHDX)) Q:CRHDX="" S CRHDCT=CRHDCT+1,CRHDRTN(CRHDCT)=CRHDTLST(CRHDX) Q CANEDIT(CRHDRTN,CRHDTM,DUZ) ; ;Can user edit team list N CRHDPRV,CRHDMGR,CRHDA Q:CRHDTM="" ;S CRHDRTN="1^1" S CRHDA=$$GET1^DIQ(200,+DUZ,3,"I") S CRHDRTN="0^0" I CRHDA["@" S CRHDRTN="1^1" Q D HOTMMGR^CRHD1(.CRHDMGR,DUZ) I CRHDMGR S CRHDRTN="1^1" Q S CRHDPRV=$O(^CRHD(183.3,+CRHDTM,2,"B",+DUZ,0)) I 'CRHDPRV Q E S CRHDRTN=+$P($G(^CRHD(183.3,+CRHDTM,2,+CRHDPRV,0)),"^",3)_"^"_+$P($G(^CRHD(183.3,+CRHDTM,2,+CRHDPRV,0)),"^",4) Q PATPRV(CRHDRTN,CRHDTM,CRHDDFN) ; ;return Providers assigned to patient on list N CRHDPAT,CRHDNAM,CRHDZ0,CRHDP,CRHDATTN,CRHDRES,CRHDINT,CRHDFEL,CRHDMST,CRHDNUR,CRHDVP,CRHDI,CRHDI2 S CRHDVP="^CRHDATTN^CRHDRES^CRHDINT^CRHDFEL^CRHDMST^CRHDNUR" S CRHDPAT=$O(^CRHD(183.3,+CRHDTM,1,"B",+CRHDDFN,0)) I 'CRHDPAT Q S CRHDZ0=$G(^CRHD(183.3,+CRHDTM,1,+CRHDPAT,0)) ;I need to add, if the physician is not on team list delete from patient. F CRHDI=2:1:7 S CRHDP=$P(CRHDZ0,"^",CRHDI) D .I '$D(@$P(CRHDVP,"^",CRHDI)) S @$P(CRHDVP,"^",CRHDI)="" .I CRHDP["," D ..F CRHDI2=1:1:$L(CRHDP,",") D ...I '$D(^CRHD(183.3,CRHDTM,2,"B",$P(CRHDP,",",CRHDI2))) Q ...S CRHDNAM=$$GET1^DIQ(200,+$P(CRHDP,",",CRHDI2),.01,"E") ...S @$P(CRHDVP,"^",CRHDI)=@$P(CRHDVP,"^",CRHDI)_+$P(CRHDP,",",CRHDI2)_"^"_CRHDNAM_"+" .;E S:+CRHDP&($D(^CRHD(183.3,+CRHDTM,2,"B",+CRHDP))) @$P(CRHDVP,"^",CRHDI)=+CRHDP_"^"_$$GET1^DIQ(200,+CRHDP,.01,"E") .E S:+CRHDP @$P(CRHDVP,"^",CRHDI)=+CRHDP_"^"_$$GET1^DIQ(200,+CRHDP,.01,"E") F CRHDI=2:1:7 I $E(@$P(CRHDVP,"^",CRHDI),$L(@$P(CRHDVP,"^",CRHDI)))="+" S @$P(CRHDVP,"^",CRHDI)=$E(@$P(CRHDVP,"^",CRHDI),1,$L(@$P(CRHDVP,"^",CRHDI))-1) S CRHDRTN=CRHDDFN_";"_$G(CRHDATTN)_";"_$G(CRHDRES)_";"_$G(CRHDINT)_";"_$G(CRHDFEL)_";"_$G(CRHDMST)_";"_$G(CRHDNUR) Q USERPHPG(CRHDRTN,DUZ) ; N CRHDOP,CRHDPG S CRHDOP=$$GET1^DIQ(200,+DUZ_",",.132,"E") ;OFFICE PHONE S CRHDPG=$$GET1^DIQ(200,+DUZ_",",.138,"E") ;PAGER S CRHDRTN=$S($L(CRHDOP)>2:CRHDOP,1:"")_"^"_$S($L(CRHDPG)>2:CRHDPG,1:"") Q PRVINFO(CRHDRTN,CRHDTM,DUZ) ; ;return user information N CRHDPRV,CRHDZ0,CRHDMGR Q:CRHDTM="" ;S CRHDRTN(1)="0^0" S CRHDPRV=$O(^CRHD(183.3,+CRHDTM,2,"B",+DUZ,0)) I 'CRHDPRV Q S CRHDZ0=$G(^CRHD(183.3,+CRHDTM,2,+CRHDPRV,0)) D MGR^CRHD7(.CRHDMGR,DUZ) I ($$GET1^DIQ(200,+DUZ,3,"E")["@")!(+CRHDMGR) S $P(CRHDZ0,"^",3)=1,$P(CRHDZ0,"^",4)=1 S CRHDRTN=$P(CRHDZ0,"^",1)_"^"_$$GET1^DIQ(200,+CRHDZ0,.01,"E")_"^"_$P(CRHDZ0,"^",2,$L(CRHDZ0,"^")) Q MOD(CRHDRTN,CRHDTM,CRHDLTYP,CRHDTXT,CRHDKFG) ; N CRHDX,CRHDFDA,CRHDOUT,CRHDERR K CRHDRTN S CRHDRTN(0)=0 I '$D(^CRHD(183.3,"B",$P(CRHDTM,"^",2),+CRHDTM)) Q I CRHDLTYP="P" D .K:CRHDKFG ^CRHD(183.3,+CRHDTM,1) .S CRHDX=0 .F S CRHDX=$O(CRHDTXT(CRHDX)) Q:'CRHDX D ..I CRHDTXT(CRHDX)["~" S CRHDTXT(CRHDX)=$P(CRHDTXT(CRHDX),"~",2) ..S CRHDFDA(183.31,"?+"_(CRHDX+1)_","_+CRHDTM_","_"",.01)=+$P(CRHDTXT(CRHDX),"^",1) ..S CRHDFDA(183.31,"?+"_(CRHDX+1)_","_+CRHDTM_","_"",1)=+$P(CRHDTXT(CRHDX),";",2) ..S CRHDFDA(183.31,"?+"_(CRHDX+1)_","_+CRHDTM_","_"",2)=+$P(CRHDTXT(CRHDX),";",3) ..S CRHDFDA(183.31,"?+"_(CRHDX+1)_","_+CRHDTM_","_"",3)=+$P(CRHDTXT(CRHDX),";",4) ..S CRHDFDA(183.31,"?+"_(CRHDX+1)_","_+CRHDTM_","_"",4)=+$P(CRHDTXT(CRHDX),";",5) ..S CRHDFDA(183.31,"?+"_(CRHDX+1)_","_+CRHDTM_","_"",5)=+$P(CRHDTXT(CRHDX),";",6) ..S CRHDFDA(183.31,"?+"_(CRHDX+1)_","_+CRHDTM_","_"",6)=+$P(CRHDTXT(CRHDX),";",7) .D UPDATE^DIE("","CRHDFDA","CRHDOUT","CRHDERR") .I '$D(CRHDERR) S CRHDRTN(0)=1 .E S CRHDRTN(1)=1 I CRHDLTYP="D" D .K:CRHDKFG ^CRHD(183.3,+CRHDTM,2) .S CRHDX=0 .F S CRHDX=$O(CRHDTXT(CRHDX)) Q:'CRHDX D ..I CRHDTXT(CRHDX)["~" S CRHDTXT(CRHDX)=$P(CRHDTXT(CRHDX),"~",2) ..S CRHDFDA(183.32,"?+"_(CRHDX+1)_","_+CRHDTM_","_"",.01)=$P(CRHDTXT(CRHDX),"^",1) ..S CRHDFDA(183.32,"?+"_(CRHDX+1)_","_+CRHDTM_","_"",1)=$P(CRHDTXT(CRHDX),"^",3) ..S CRHDFDA(183.32,"?+"_(CRHDX+1)_","_+CRHDTM_","_"",2)=$P(CRHDTXT(CRHDX),"^",4) ..S CRHDFDA(183.32,"?+"_(CRHDX+1)_","_+CRHDTM_","_"",3)=$P(CRHDTXT(CRHDX),"^",5) ..S CRHDFDA(183.32,"?+"_(CRHDX+1)_","_+CRHDTM_","_"",4)=$P(CRHDTXT(CRHDX),"^",6) ..S CRHDFDA(183.32,"?+"_(CRHDX+1)_","_+CRHDTM_","_"",5)=$P(CRHDTXT(CRHDX),"^",7) .D UPDATE^DIE("","CRHDFDA","CRHDOUT","CRHDERR") .I '$D(CRHDERR) S CRHDRTN(0)=1 .E S CRHDRTN(1)=1 K CRHDFDA,CRHDOUT,CRHDERR Q FILENSAV(CRHDRTN,CRHDTM,CRHDFNM) ; ;save filename for a team N CRHDFDA,CRHDOUT,CRHDERR,CRHDA K CRHDRTN S CRHDRTN=0 ;I CRHDTM'?1A.E Q S CRHDFDA(183.4,"?+1,",.01)=$P(CRHDTM,"^",2) D UPDATE^DIE("","CRHDFDA","CRHDOUT","CRHDERR") I '$D(CRHDERR) D .S CRHDA=CRHDOUT(1) .K CRHDFDA,CRHDOUT .I CRHDA D ..S CRHDFDA(183.4,CRHDA_",",2)=CRHDFNM ..D FILE^DIE("","CRHDFDA") ..S CRHDRTN=1 Q FILENGET(CRHDRTN,CRHDTM) ; ;get filename for a team S CRHDRTN=$$GET1^DIQ(183.4,+$$FIND1^DIC(183.4,"","X",$P(CRHDTM,"^",2),"","","ERR")_",",2,"I") Q