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

BCHADRS.m

Go to the documentation of this file.
  1. BCHADRS ; IHS/CMI/LAB - ROLL AND SCROLL POV ENTRY ;
  1. ;;2.0;IHS RPMS CHR SYSTEM;;OCT 23, 2012;Build 27
  1. ;
  1. POVS(BCHR) ;
  1. D EN^XBNEW("POVS1^BCHADRS","BCHR")
  1. K Y
  1. Q
  1. POVS1 ;
  1. NEW BCHC,BCHCM,BCHPAT
  1. S BCHPAT=$P(^BCHR(BCHR,0),U,4)
  1. POV1 W !!?3,"Assessments/Purpose of Visits"
  1. I '$O(^BCHRPROB("AD",BCHR,0)) S BCHC=0 W ": None currently recorded" G FM12
  1. D EN^DDIOL($$REPEAT^XLFSTR("~",75),"","!?3")
  1. W !?1,"#",?5,"PROBLEM",?27,"SERVICE",?48,"MINUTES"
  1. K BCHCM S X=0,BCHC=0 F S X=$O(^BCHRPROB("AD",BCHR,X)) Q:X'=+X D
  1. .S BCHC=BCHC+1,BCHCM(BCHC)=X
  1. .W !?1,BCHC,") ",?5,$E($$VAL^XBDIQ1(90002.01,X,.01),1,20),?27,$E($$VAL^XBDIQ1(90002.01,X,.04),1,20),?50,$$VAL^XBDIQ1(90002.01,X,.05),!?5,"NARRATIVE: ",$$VAL^XBDIQ1(90002.01,X,.06)
  1. FM12 ;
  1. D EN^DDIOL("","","!")
  1. K DIR
  1. S DIR(0)="S^A:Add a Problem/Activity"_$S(BCHC:";E:Edit an Existing Problem/Activity;D:Delete a Problem/Activity",1:"")_";Q:Quit, I'm Done with Assessment Entry"
  1. S DIR("A")="Which action",DIR("B")="" KILL DA D ^DIR KILL DIR
  1. I $D(DIRUT) G FM13
  1. I Y="Q" S BCHDONE=1 G FM13
  1. S Y="FM"_Y
  1. D @Y
  1. G POV1
  1. FM13 ;
  1. K Y
  1. Q
  1. ;
  1. FME ;
  1. D EN^DDIOL("","","!")
  1. K DIR
  1. S DIR(0)="N^1:"_BCHC_":0",DIR("A")="Edit Which One" KILL DA D ^DIR KILL DIR
  1. I $D(DIRUT) Q
  1. K DIC,DA,DR
  1. S DA=BCHCM(Y)
  1. S DA(1)=BCHTP,DIE="^BCHRPROB("_DA(1)_",17,",DR=".01;.02" D ^DIE K DIE,DA,DR
  1. Q
  1. FMD ;
  1. D EN^DDIOL("","","!")
  1. K DIR
  1. S DIR(0)="N^1:"_BCHC_":0",DIR("A")="Delete Which One" KILL DA D ^DIR KILL DIR
  1. I $D(DIRUT) Q
  1. S DA=BCHCM(Y)
  1. S DA(1)=BCHTP,DIE="^BCHRPROB("_DA(1)_",17,",DR=".01///@" D ^DIE K DIE,DA,DR
  1. K DIC,DA,DR
  1. Q
  1. FMA ;
  1. ;ADDING NEW
  1. S DIE="^BCHR(",DA=BCHR,DR="[BCH POV ADD (535)]"
  1. D ^DIE
  1. K DIE,DA,DR
  1. Q
  1. GETNARRS(PC,SC) ;
  1. K BCHCANNN,BCHCOUNT
  1. K ^BCHRPROB(DA,81)
  1. NEW PCSC,SCE,C,X
  1. S C=0
  1. S SC=$G(SC)
  1. I SC S SCE=$P(^BCHTSERV(SC,0),U,3)
  1. S PC=$G(PC)
  1. I PC S PC=$P(^BCHTPROB(PC,0),U,2)
  1. S PCSC=PC_"-"_SCE
  1. S X=0 F S X=$O(^BCHTCNAR(X)) Q:X'=+X D
  1. .I $D(^BCHTCNAR(X,11,"B",SC))!($D(^BCHTSERV(X,12,"B",PCSC))) D
  1. ..S C=C+1,BCHCANNN(C)=C_U_$$VAL^XBDIQ1(90002.59,X,.01)_U_X
  1. ..;D PUT^DDSVAL(90002.0181,.DA,.01,$P(BCHCANNN(C),U,1),"","E")
  1. ..;D PUT^DDSVAL(90002.0181,.DA,.02,$P(BCHCANNN(C),U,2),"","E")
  1. ..S ^BCHRPROB(DA,81,C,0)=C_U_$P(BCHCANNN(C),U,2)
  1. ..S ^BCHRPROB(DA,81,"B",C,C)=""
  1. S ^BCHRPROB(DA,81,0)="^90002.0181A^"_C_"^"_C
  1. S BCHCOUNT=C
  1. Q
  1. GETNARR(BCHRDA) ;
  1. D EN^XBNEW("GETNARR1^BCHADRS","BCHRDA")
  1. K Y
  1. Q
  1. CANNEDN(BCHRDA) ;EP - return canned narrative
  1. NEW BCHX
  1. ;*****CALLED FROM SCREENMAN
  1. S BCHX=$P(^BCHRPROB(BCHRDA,0),U,4) I BCHX,$P($G(^BCHTSERV(BCHX,0)),U,4) D EN^DDIOL("For services PC, HE, CF, CM, MP, EC and HS you must enter a narrative.") Q ""
  1. Q $E($P(^BCHTPROB($$VALI^XBDIQ1(90002.01,BCHRDA,.01),0),U),1,40)_":"_$E($P(^BCHTSERV($$VALI^XBDIQ1(90002.01,BCHRDA,.04),0),U),1,40)
  1. GETNARR1 ;
  1. NEW BCHC,BCHCM,BCHPAT,BCHX,BCHNARR,APCDOVRR
  1. ;S BCHPAT=$P(^BCHR(BCHR,0),U,4)
  1. CN ;
  1. W ! K DIR S DIR(0)="Y",DIR("A")=" Canned Narrative" KILL DA D ^DIR KILL DIR
  1. I X="^" W !,"Response is Required." G CN
  1. S APCDOVRR=1
  1. I Y G CN1
  1. S BCHX=$P(^BCHRPROB(BCHRDA,0),U,4) I BCHX,$P($G(^BCHTSERV(BCHX,0)),U,4) D EN^DDIOL("Please Note: For services PC, HE, CF, CM, MP, EC and HS you must enter a narrative.")
  1. GN ;K DIR S DIR(0)="90002.01,.06O",DIR("A")="NARRATIVE" KILL DA D ^DIR KILL DIR
  1. ;K DIR S DIR(0)="FO^1:80",DIR("A")="NARRATIVE" KILL DA D ^DIR KILL DIR
  1. S DA=BCHRDA,DIE="^BCHRPROB(",DR="9101NARRATIVE" D ^DIE K DIE,DA,DR
  1. S BCHNARR=$P($G(^BCHRPROB(BCHRDA,91)),U,1) I BCHNARR="" S BCHNARR=$$CANNEDN(BCHRDA) G:BCHNARR="" GN D Q
  1. .S DA=BCHRDA,DIE="^BCHRPROB(",DR=".06///"_BCHNARR D ^DIE K DIE,DA,DR
  1. S DA=BCHRDA,DIE="^BCHRPROB(",DR=".06////"_BCHNARR D ^DIE K DIE,DA,DR
  1. Q
  1. CN1 ;
  1. ;write out narratives
  1. W !,"Please select the narrative you wish to use.",!
  1. NEW PCSC,SCE,C,X,PC,SC
  1. S C=0
  1. S SC=$P(^BCHRPROB(BCHRDA,0),U,4)
  1. I SC S SCE=$P(^BCHTSERV(SC,0),U,3)
  1. S PC=$P(^BCHRPROB(BCHRDA,0),U,1)
  1. I PC S PC=$P(^BCHTPROB(PC,0),U,2)
  1. S PCSC=PC_"-"_SCE
  1. S X=0 F S X=$O(^BCHTCNAR(X)) Q:X'=+X D
  1. .I $D(^BCHTCNAR(X,11,"B",SC))!($D(^BCHTSERV(X,12,"B",PCSC))) D
  1. ..S C=C+1,BCHCANNN(C)=C_U_$$VAL^XBDIQ1(90002.59,X,.01)_U_X
  1. S BCHCOUNT=C
  1. S X=0 F S X=$O(BCHCANNN(X)) Q:X'=+X W !?5,X,") ",$P(BCHCANNN(X),U,2)
  1. K DIR S DIR(0)="NO^1:"_BCHCOUNT_":0",DIR("A")="Which Narrative" KILL DA D ^DIR KILL DIR
  1. I $D(DIRUT) D GN Q
  1. I Y="" D GN Q
  1. S BCHNARR=$P(BCHCANNN(Y),U,2) S DA=BCHRDA,DIE="^BCHRPROB(",DR=".06//"_BCHNARR D ^DIE K DIE,DA,DR
  1. Q
  1. WTD ;
  1. D EN^XBNEW("WTD1^BCHADRS","BCHDEL")
  1. K Y
  1. Q
  1. WTD1 ;
  1. K DIR
  1. S DIR(0)="S^G:GO Back and Enter an Assessment;D:Delete the Record and Quit Entry of this Record",DIR("A")="What would you like to do",DIR("B")="G" KILL DA D ^DIR KILL DIR
  1. I $D(DIRUT) S BCHDEL=0 Q
  1. I Y="G" S BCHDEL=0 Q
  1. S BCHDEL=1
  1. Q
  1. DEFNS(R) ;EP - called from screenman screen
  1. I '$G(R) Q ""
  1. NEW X,Y,G,Z
  1. S G=1
  1. S X=0 F S X=$O(^BCHRPROB("AD",R,X)) Q:X'=+X D
  1. .S Y=$P(^BCHRPROB(X,0),U,1)
  1. .I Y S Y=$P(^BCHTPROB(Y,0),U,2)
  1. .I Y="AM" S G=0 Q
  1. .I Y="LT" S G=0 Q
  1. .I Y["-" S G=0 Q
  1. .S Z=$P(^BCHRPROB(X,0),U,4)
  1. .I Z S Y=$P(^BCHTSERV(Z,0),U,3)
  1. .I Y="LT" S G=0 Q
  1. .I Y="AM" S G=0 Q
  1. .I Y="NF" S G=0 Q
  1. .I Y="OT" S G=0 Q
  1. .Q
  1. Q G
  1. DEFAL(R) ;EP - called from screenman screen
  1. I '$G(R) Q ""
  1. NEW X,Y,G,Z
  1. S G=""
  1. S X=0 F S X=$O(^BCHRPROB("AD",R,X)) Q:X'=+X D
  1. .S Y=$P(^BCHRPROB(X,0),U,1)
  1. .I Y S Y=$P(^BCHTPROB(Y,0),U,2)
  1. .;I Y="AM" S G=0 Q
  1. .I Y="LT" S G="NONE" Q
  1. .;I Y["-" S G=0 Q
  1. .S Z=$P(^BCHRPROB(X,0),U,4)
  1. .I Z S Y=$P(^BCHTSERV(Z,0),U,3)
  1. .I Y="LT" S G="NONE" Q
  1. .;I Y="AM" S G=0 Q
  1. .;I Y="NF" S G=0 Q
  1. .I Y="OT" S G="NONE" Q
  1. .Q
  1. I G]"" Q $O(^BCHTACTL("B",G,0))
  1. Q ""