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

BWCVD.m

Go to the documentation of this file.
  1. BWCVD ;IHS/CIM/THL/CIA - WISE WOMEN'S PROJECT;10-Mar-2003 13:39;PLS
  1. ;;2.0;WOMEN'S HEALTH;**3,5,7,8**;MAY 16, 1996
  1. ;
  1. EN D EN1
  1. EXIT ;EP;
  1. K BWCVD,BWQUIT,BWPCDDA,BWTYPE,BWPCDN,BWX
  1. D KILLALL^BWUTL8
  1. Q
  1. EN1 ;
  1. D EXIT
  1. D SETVARS^BWUTL5
  1. N ERROR
  1. F D PATIENT Q:$D(BWQUIT)
  1. Q
  1. PATIENT ;EP
  1. D TITLE^BWUTL5("Add/Edit CVD Patient Case Data")
  1. PATIENT1 ;EP
  1. ;---> TO AVOID @IOF AND TITLE.
  1. ;---> SELECT PATIENT.
  1. N Y
  1. W !!," Select the patient you wish to add or edit."
  1. D PATLKUP^BWUTL8(.Y,"ADD")
  1. I Y<0 S BWQUIT=1 Q
  1. S BWDFN=+Y
  1. D CDCID(BWDFN)
  1. D ADDEDIT
  1. Q
  1. ADDEDIT ;
  1. K DIR
  1. S DIR(0)="SO^1:Add New Procedure;2:Edit Existing Procedure"
  1. S DIR("A")="Which function"
  1. W !
  1. D ^DIR
  1. K DIR
  1. Q:Y<1
  1. I Y=1 D ADD Q
  1. I Y=2 D LOOKUP
  1. Q
  1. ADD ;ADD A PROCEDURE
  1. S DIR(0)="SO^1:Enrollment;2:Annual Follow-up"
  1. S DIR("A")="Which type of Visit"
  1. W !
  1. D ^DIR
  1. K DIR
  1. Q:Y<1
  1. S BWTYPE=Y
  1. I BWTYPE=1 D Q:$G(BWPCDDA)
  1. .S BWX=0
  1. .F S BWX=$O(^BWPCD("C",BWDFN,BWX)) Q:'BWX!$G(BWPCDDA) D
  1. ..S X=+$G(^BWPCD(BWX,4))
  1. ..Q:X'=1
  1. ..W !,$P(^DPT(BWDFN,0),U)," Enrolled in Wise Women Project on "
  1. ..S Y=$P($G(^BWPCD(BWX,4)),U,2)
  1. ..X ^DD("DD")
  1. ..W Y
  1. ..H 3
  1. ..S BWPCDDA=BWX
  1. ..D EDIT
  1. ADD1 ;K DIR
  1. ;S DIR(0)="DO"
  1. ;S DIR("A")="WW Enrollment Date"
  1. ;S Y=DT
  1. ;X ^DD("DD")
  1. ;S DIR("B")=Y
  1. ;D ^DIR
  1. ;K DIR
  1. ;Q:'Y
  1. ;S BWDATE=Y
  1. S BWPCDN=$O(^BWPN("B","WISE WOMAN",0))
  1. I 'BWPCDN D Q
  1. .W !,"The WISE WOMAN procedure is missing."
  1. .W !,"Contact the computer department."
  1. D DATECHK^BWPROC Q:BWPOP
  1. S BWACC=$$ACCSSN^BWUTL5(BWPCDN)
  1. I BWACC']"" D Q
  1. .W !!?5,*7,"Unable to generate accession number. Contact your site manager."
  1. .S ERROR=-1 D DIRZ^BWUTL3
  1. ;K DA,DR,DIE
  1. N DRSTR
  1. S DRSTR=".02////"_BWDFN_";.03////"_BWPCDT_";.04////"_BWPCDN_";.1////"_$G(DUZ(2))_";.18////"_DUZ_";.19///"_$$DT^XLFDT_";.34////"_$G(DUZ(2))_";4.01////"_BWTYPE_";4.02////"_BWPCDT_";.12////"_BWPCDT_";4.33////1"
  1. D FILE^BWFMAN(9002086.1,DRSTR,"ML",BWACC,9002086,.Y)
  1. ;S DIC="^BWPCD("
  1. ;S DIC(0)="L"
  1. ;S DIC("DR")=".02////"_BWDFN_";.03////"_BWDATE_";4.01////"_BWTYPE_";4.02////"_BWDATE_";.12////"_BWDATE_";4.33////1"
  1. ;D FILE^DICN
  1. ;K DIC
  1. S BWPCDDA=+Y
  1. I BWPCDDA=-1 D Q
  1. .W !!?5,*7,"Unable to create new procedure. Contact your site manager."
  1. .S ERROR=-1 D DIRZ^BWUTL3
  1. EDIT D SCREEN(BWPCDDA)
  1. Q
  1. LOOKUP ;LOOKUP EXISTING WW PROCEDURE
  1. S (BWX,X)=0
  1. F S BWX=$O(^BWPCD("C",BWDFN,BWX)) Q:'BWX!X D
  1. .I +$G(^BWPCD(BWX,4))=1 S X=1 Q
  1. I X'=1 D Q
  1. .W !,$P(^DPT(BWDFN,0),U)," is not Enrolled in Wise Women Project."
  1. .W !,"She will now be enrolled."
  1. .H 3
  1. .S BWTYPE=1
  1. .D ADD1
  1. S X=BWDFN
  1. S D="C"
  1. S DIC="^BWPCD("
  1. S DIC(0)="EQZ"
  1. S DIC("S")="I $E(^(0),1,2)=""WW"",+$G(^(4))'=3"
  1. D IX^DIC
  1. Q:Y<1
  1. D SCREEN(+Y)
  1. Q
  1. ;
  1. SCREEN(BWPCDDA) ;EP
  1. ;---> EDIT PATIENT CASE DATA WITH SCREENMAN.
  1. ;---> REQUIRED VARIABLES: BWDFN=DFN OF PATIENT.
  1. N DR,DIR,STATUS
  1. S DR="[BW CVD PAGE 1]"
  1. D DDS^BWFMAN(9002086.1,DR,BWPCDDA,"","",.BWQUIT)
  1. S STATUS=+$$GET1^DIQ(9002086.1,BWPCDDA,4.33,"I")
  1. I STATUS'=2 D
  1. .W !,"Do you wish to CLOSE this procedure?"
  1. .S DIR(0)="Y",DIR("B")="NO" D ^DIR K DIR W !
  1. .I Y D
  1. ..D DIE^BWFMAN(9002086.1,"4.33////2",BWPCDDA,.BWPOP)
  1. .E I 'STATUS D
  1. ..D DIE^BWFMAN(9002086.1,"4.33////1",BWPCDDA,.BWPOP)
  1. Q
  1. Q:BWPOP
  1. K DIR
  1. W !,"Do you wish to PRINT this patient's Case Data?"
  1. S DIR(0)="Y"
  1. S DIR("B")="NO"
  1. D ^DIR
  1. K DIR
  1. W !
  1. D:Y PRTCASE^BWPATP(BWDFN)
  1. Q
  1. ;
  1. CDCID(BWDFN) ;
  1. ;---> ASSIGN A CDCID# TO THIS PATIENT.
  1. N X S X=$$CDCID^BWUTL5(BWDFN,DUZ(2))
  1. Q:X']""
  1. D DIE^BWFMAN(9002086,".2////"_X,BWDFN,.BWPOP)
  1. Q
  1. Q:'$G(DA)
  1. N X,Y,Z,J
  1. S X=$G(^BWPCD(DA,8))
  1. S Y=0
  1. F J=1:1:5 S:$P(X,U,J)'=99 Y=Y+$P(X,U,J)
  1. Q:'Y 0
  1. S Z=0
  1. F J=1:1:5 S:$P(X,U,J)&($P(X,U,J)'=99) Z=Z+1
  1. Q:'Z 0
  1. S SCORE=$E(Y/Z,1,4)
  1. Q SCORE
  1. PAV(DA) ;EP;TO CALCULATE THE AVERAGE PHYSICAL ACTIVITY SCORE
  1. Q:'$G(DA)
  1. N X,Y,Z,J
  1. S X=$G(^BWPCD(DA,6))
  1. S Y=0
  1. F J=1:1:8 S:$P(X,U,J)'=99 Y=Y+$P(X,U,J)
  1. Q:'Y 0
  1. S Z=0
  1. F J=1:1:8 S:$P(X,U,J)&($P(X,U,J)'=99) Z=Z+1
  1. Q:'Z 0
  1. S SCORE=$E(Y/Z,1,4)
  1. Q SCORE