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

YSASSN.m

Go to the documentation of this file.
  1. YSASSN ;692/DCL-ASI SIGNATURE AND NARRATIVE ;4/7/98 14:08
  1. ;;5.01;MENTAL HEALTH;**24,39**;Dec 30, 1994
  1. Q
  1. ES(YSASS) ;Electronc Signature - Pass flag by reference
  1. ;YSASS= 0-FAILED, 1-SUCCESS
  1. N X,X1
  1. S YSASS=0
  1. D SIG^XUSESIG
  1. I X1="" D Q
  1. .W $C(7),!,"SIGNATURE FAILED"
  1. .W !,"< ASI SAVED - WITHOUT SIGNATURE >"
  1. .Q
  1. S YSASS=1 ;signature ok
  1. Q
  1. ;
  1. NARYN(YSAS1) ;Narrative Yes or No
  1. N YSAS2,DIR,X,Y
  1. S YSAS1=""
  1. S DIR(0)="Y"
  1. S DIR("A")="ENTER A NARRATIVE FOR THIS ASI "
  1. S DIR("B")="YES"
  1. D ^DIR
  1. S YSAS1=Y
  1. Q
  1. ;
  1. EN(YSAIEN) ;Entry point
  1. N YSAS,YSAS,YSASFLG,YSASINTV,DIC,DIE,DA,DR,X,Y,YSASPN,YSASPT,YSASPIEN
  1. N YSASSGNT,YSASSPL,YSASTRS,YSASBUL
  1. ;YSASSGNT=DATE/TIME SIGNED
  1. ;YSASFLG=to determine if any important fields are missing.
  1. ;YSASTRS=Transcriber -
  1. ;YSASBUL=Send Bulletin via e-mail informing the interviewer of the ASI to sign, which was transcribed by someonelse
  1. ;YSASINTV=Interviewer - can only be signed by interviewer or an ASI Manager
  1. S YSASCL=$$F(.04,"I")
  1. D:YSASCL'=2 OUT2^YSASO1(YSAIEN,.YSASFLG)
  1. D:YSASCL=2 OUT3^YSASO2(YSAIEN,.YSASFLG)
  1. S YSASSPL=$$F(.11,"I"),YSASPN=$P($G(^YSTX(604.8,1,0)),"^",5)
  1. D CHECKALL^YSASO2(YSAIEN,.YSASFLG) ;FULL REQUIREMENT CHECK
  1. I YSASSPL?1N&(YSASFLG=0) D
  1. .W $C(7),!!,"< ASI NOT COMPLETE - SPECIAL CODE:",$$F(.11)," >",!
  1. . K DIR S DIR(0)="Y",DIR("A")="Do you want to sign this ASI as complete even though the patient "_$S(YSASSPL=1:"terminated",YSASSPL=2:"refused",1:"was unable to respond")
  1. . D ^DIR S:Y=1 YSASFLG=1
  1. .Q
  1. I YSASFLG=0 D Q
  1. .W $C(7),!!,"< NO SIGNATURE REQUESTED, ASI HAS MISSING DATA >"
  1. .W !,"< MUST COMPLETE REQUIRED FIELDS >"
  1. .W !,"< ASI SAVED - WITHOUT SIGNATURE AND WITHOUT PROGRESS NOTE >"
  1. . K DIR S DIR(0)="Y",DIR("A")="Display missing required fields",DIR("B")="NO"
  1. . D ^DIR I Y=1 D REPTMSG^YSASO2(YSAIEN) Q
  1. .Q
  1. S YSASINTV=$$F(.09,"I"),YSASPT=$$F(.02,"I") ; $$GET1^DIQ(604,YSAIEN_",",.09,"I")
  1. S YSASTRS=$$F(.14,"I")
  1. I YSASINTV'>0 D Q
  1. . W $C(7),!!,"< NO SIGNATURE REQUESTED, ASI HAS MISSING DATA >"
  1. .W !,"< MUST COMPLETE NAME OF INTERVIEWER >"
  1. .W !,"< ASI SAVED - WITHOUT SIGNATURE AND WITHOUT PROGRESS NOTE >"
  1. .W !!,"<press <cr> to continue>"
  1. .R X:DTIME
  1. .Q
  1. XN ;
  1. D:YSASFLG=2
  1. . K DIR S DIR(0)="Y",DIR("A")="Display required fields answered X or N",DIR("B")="NO"
  1. . D ^DIR I Y=1 D REPTMSG^YSASO2(YSAIEN)
  1. ;
  1. I YSASFLG!(YSASSPL) D
  1. .I YSASINTV=YSASTRS,YSASTRS=DUZ,YSASTRS>0 D ES(.YSAS) Q
  1. .I $D(^YSTX(604.8,"AB",DUZ)) D Q
  1. ..W !,$$AS("ASI Package Manager")
  1. ..D ES(.YSAS)
  1. ..Q
  1. .I YSASINTV=DUZ D ES(.YSAS) Q
  1. .I YSASTRS=DUZ,YSASINTV'=DUZ D Q
  1. ..W !,$$AS("Transcriber")
  1. ..D ES(.YSAS)
  1. ..S:$G(YSAS) YSASBUL=1
  1. ..Q
  1. .Q
  1. I $G(YSAS),$G(YSASBUL) D Q
  1. .;send bulletin and change turn over responsibility for ASI to interviewer, who will be able to sign/create progress note
  1. .W !,"...Sending bulletin to Interviewer..."
  1. .D BUL^YSASBUL(YSAIEN,YSASTRS,YSASINTV)
  1. .W !,"...Turning over ASI to Interviewer for action..."
  1. .D CONV^YSASCR(YSAIEN,YSASINTV)
  1. .Q
  1. I '$G(YSAS),YSASPN>0 W !,"< NO PROGRESS NOTE >"
  1. Q:$G(YSAS)'>0
  1. S YSASSGNT=$$FMADD^XLFDT($$NOW^XLFDT,0,0,-1)
  1. I YSASPN>0 D
  1. .;W !!,"...Creating ASI Progress Note..."
  1. . ;D PN^YSASPN(YSAIEN,YSASPT,DUZ,YSASPN,.YSASPIEN,YSASSGNT)
  1. . D MAIN^YSASPNT(YSAIEN) ;TIU Pnotes
  1. .Q
  1. W !,"...Closing ASI Record..."
  1. D CR^YSASCR(YSAIEN,DUZ,$G(YSASPIEN))
  1. W "done!",!
  1. W !!,"<press <cr> to continue>"
  1. R X:DTIME
  1. Q
  1. ;other wise check id duz is interviewer and or transcriber and file in record
  1. ;
  1. ;
  1. F(YSASFLD,YSASFLG) ;Pass field name - IEN is expected to be in YSASIEN
  1. N DIERR
  1. Q:$G(YSASFLD)=""
  1. Q $$GET1^DIQ(604,YSAIEN_",",YSASFLD,$G(YSASFLG))
  1. ;
  1. AS(X) ;Requesting Electronic Signature as - passed in X
  1. Q "Requesting Electronic Signature as "_X