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

WVNOTIF.m

Go to the documentation of this file.
  1. WVNOTIF ;HCIOFO/FT,JR-WV ADD/EDIT WV NOTIFICATIONS; ;6/10/99 17:14
  1. ;;1.0;WOMEN'S HEALTH;**7**;Sep 30, 1998
  1. ;; Original routine created by IHS/ANMC/MWR
  1. ;;* MICHAEL REMILLARD, DDS * ALASKA NATIVE MEDICAL CENTER *
  1. ;; CALLED BY DIFFERENT OPTIONS TO ADD/EDIT NOTIFICATIONS.
  1. ;
  1. ADD ;EP
  1. ;---> CALLED BY OPTION: "WV ADD A NEW NOTIFICATION".
  1. D SETVARS^WVUTL5
  1. D TITLE^WVUTL5("ADD NEW NOTIFICATION")
  1. D PATLKUP^WVUTL8(.Y)
  1. D:Y>0 NEW(+Y)
  1. D EXIT
  1. Q
  1. ;
  1. ;
  1. EDIT ;EP
  1. ;---> CALLED BY OPTION: "WV EDIT NOTIFICATION".
  1. ;---> EDIT AN EXISTING NOTIFICATION.
  1. N WVENFLAG S WVENFLAG=0
  1. F Q:WVENFLAG<0 D EDIT1
  1. Q
  1. EDIT1 ;
  1. D SETVARS^WVUTL5
  1. N WVDICB,Y
  1. D TITLE^WVUTL5("EDIT A NOTIFICATION")
  1. S WVDICB=+$G(^DISV(DUZ,"^WV(790.4,"))
  1. S WVDICB=$S(WVDICB>0:$$GET1^DIQ(2,+$P($G(^WV(790.4,WVDICB,0)),U),.01,"E"),1:"")
  1. I WVDICB="" D DIC^WVFMAN(790.4,"QEMA",.Y," Select PATIENT: ")
  1. I WVDICB]"" D DIC^WVFMAN(790.4,"QEMA",.Y," Select PATIENT: ",WVDICB)
  1. I Y<0 D EXIT S WVENFLAG=-1 Q
  1. D EDIT2(+Y),EXIT
  1. Q
  1. ;
  1. EXIT ;EP
  1. D KILLALL^WVUTL8
  1. Q
  1. ;
  1. ;
  1. NEW(WVDFN,WVACCN) ;EP
  1. ;---> STUFF NEW ENTRY IN WV NOTIFICATION FILE, .01=DFN.
  1. ;---> REQUIRED VARIABLE: WVDFN=IEN OF WV PATIENT, FILE 790.
  1. ;---> OPTIONAL VARIABLE: WVACCN=ACCESSION# FOR PROCEDURE.
  1. I $$DECEASED^WVUTL1(WVDFN) D Q
  1. .W !!?5,"This patient is registered as deceased." D DIRZ^WVUTL3
  1. N DA,DIC,X
  1. S X=WVDFN K DD,DO
  1. S DIC="^WV(790.4,",DIC(0)="ML",DLAYGO=790
  1. S DIC("DR")=".02///T;.06///"_$S($D(WVACCN):$P(WVACCN,","),1:"")
  1. S DIC("DR")=DIC("DR")_";.07////"_$G(DUZ(2))
  1. D FILE^DICN K DD,DO,DIC
  1. ;---> IF Y<0, CHECK PERMISSIONS.
  1. I Y<0 D ERROR1 Q
  1. D EDIT2(+Y)
  1. Q
  1. ;
  1. ;
  1. EDIT2(DA) ;EP - FROM WVBRNOT2
  1. ;---> REQUIRED VARIABLES: DA=IEN IN ^WV(790.4,.
  1. N WVDA D SETVARS^WVUTL5
  1. S WVDFN=$P(^WV(790.4,DA,0),U)
  1. D SCREEN(DA,WVDFN,.WVPOP)
  1. Q:WVPOP
  1. I $G(DA) S WVDA=DA D PRINTNOW
  1. ;---> OPPORTUNITY TO EDIT PATIENT'S CASE DATA.
  1. ;---> IF $D(WVLOOP), NEW (ABOVE) WAS CALLED FROM CASEDATA^WVPATE,
  1. ;---> SO DON'T LOOP THROUGH AGAIN.
  1. D:'$D(WVLOOP) CASEDATA^WVPATE(WVDFN)
  1. Q
  1. ;
  1. ;
  1. SCREEN(DA,WVDFN,WVPOP) ;EP
  1. ;---> EDIT WITH SCREENMAN.
  1. ;---> NEEDS WVDFN FOR SCREEN ON ACCESSION# FIELD LOOKUP.
  1. S DDSFILE=790.4,DR="[WV NOTIF-FORM-1]",WVPOP=0
  1. ;---> IF THIS NOTIFICATION HAS ALREADY BEEN PRINTED, THEN DISALLOW
  1. ;---> THE USER TO EDIT MOST FIELDS BY USING FORM-2 BELOW.
  1. S:$P(^WV(790.4,DA,0),U,10) DR="[WV NOTIF-FORM-2]"
  1. D DDS^WVFMAN(DDSFILE,DR,DA,"","",.WVPOP)
  1. Q
  1. ;
  1. ;
  1. PRINTNOW ;EP
  1. ;---> PRINT OR VIEW NOTIFICATION NOW, IF IT'S A LETTER.
  1. ;---> REQUIRED VARIABLE: WVDA=IEN IN ^WV(790.4,
  1. Q:'$D(WVDA)
  1. ;---> QUIT IF THIS NOTIFICATION DOES NOT HAVE A "TYPE OF NOTIFICATION".
  1. Q:'$P(^WV(790.4,WVDA,0),U,3)
  1. ;---> QUIT IF TYPE OF NOTIFICATION IS NOT PRINTABLE.
  1. Q:'$P(^WV(790.403,$P(^WV(790.4,WVDA,0),U,3),0),U,2)
  1. ;---> QUIT IF THIS NOTIFICATION HAS ALREADY BEEN PRINTED.
  1. ;Q:$P(^WV(790.4,WVDA,0),U,10) ;DISABLED FOR NOW, ALLOW VIEW OR REPRINT.
  1. F D Q:WVPOP Q:$P(^WV(790.4,WVDA,0),U,10)
  1. .N WVCRT,DA,DIR
  1. .N WVPRMT,WVPRMT1,WVPRMT2,WVPRMTQ
  1. .W !!,"Do you wish to PREVIEW or PRINT this letter now?"
  1. .S DIR(0)="Y",DIR("B")="NO" D HELP2
  1. .D ^DIR K DIR W !
  1. .I $D(DIRUT)!(Y<1) S WVPOP=1 Q
  1. .;---> QUIT IF NOT ASSOCIATED WITH THE USER'S CURRENT FACILITY.
  1. .N WVFACIL S WVFACIL=$P(^WV(790.4,WVDA,0),U,7)
  1. .I ((WVFACIL'=DUZ(2))&(WVFACIL)) D S WVPOP=1 Q
  1. ..D TEXT1^WVLETPR,DIRZ^WVUTL3
  1. .I Y D DEVICE^WVLETPR Q:WVPOP D PRINT^WVLETPR
  1. Q
  1. ;
  1. ERROR1 ;EP
  1. W !!?10,*7,"NEW NOTIFICATION ENTRY FOR THIS PATIENT FAILED."
  1. D DIRZ^WVUTL3
  1. Q
  1. ;
  1. ADDNOTIF ;EP
  1. ;---> ADD NEW NOTIFICATION.
  1. ;---> AT PRESENT THIS EP IS NOT CALLED BY ANTHING.
  1. W !,"Do you wish to add a NEW Notification for this patient?"
  1. S DIR(0)="Y",DIR("B")="NO" D HELP1
  1. D ^DIR K DIR W !
  1. I Y D
  1. .N WVLOOP,DIC,DIE,Y
  1. .S Y=WVDFN,WVLOOP=1 D NEW(WVDFN)
  1. Q
  1. ;
  1. HELP1 ;EP
  1. ;;Enter YES to add a NEW Notification for this patient. If the
  1. ;;notification is a letter, the letter may be queued to print shortly
  1. ;;before the patient's next appointment by selecting an appropriate
  1. ;;"Print Date".
  1. S WVTAB=5,WVLINL="HELP1" D HELPTX
  1. Q
  1. ;
  1. HELP2 ;EP
  1. ;;"Preview" allows you to look at the letter that has just been queued.
  1. ;;To preview this letter, select HOME at the "DEVICE: " prompt.
  1. ;;
  1. ;;"Print" will print the letter now (regardless of its "Print Date")
  1. ;;and remove it from the queue of letters waiting to print.
  1. ;;To print this letter now, select a printer at the "DEVICE: " prompt.
  1. S WVTAB=5,WVLINL="HELP2" D HELPTX
  1. Q
  1. ;
  1. HELPTX ;EP
  1. ;---> CREATES DIR ARRAY FOR DIR. REQUIRED VARIABLES: WVTAB,WVLINL.
  1. N I,T,X S T=$$REPEAT^XLFSTR(" ",WVTAB)
  1. F I=1:1 S X=$T(@WVLINL+I) Q:X'[";;" S DIR("?",I)=T_$P(X,";;",2)
  1. S DIR("?")=DIR("?",I-1) K DIR("?",I-1)
  1. Q