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

SDES2CANCELAPPT.m

Go to the documentation of this file.
  1. SDES2CANCELAPPT ;ALB/JAS,MCB,JAS,BLB,LAB,BLB,MGD,BWF,JAS - SDES2 CANCEL APPOINTMENT ; NOV 19 2024
  1. ;;5.3;Scheduling;**869,871,873,875,877,878,880,886,897**;Aug 13, 1993;Build 2
  1. ;;Per VHA Directive 6402, this routine should not be modified
  1. ;
  1. Q
  1. ;
  1. CANCELAPPT(JSONRETURN,SDCONTEXT,PARAMS) ;
  1. ;
  1. N APPTIEN,APPTIENS,GOODPARAMS,ORIGUSER,SDERRORS,SDRETURN
  1. ;
  1. D VALCONTEXT^SDES2VALCONTEXT(.SDERRORS,.SDCONTEXT)
  1. I $D(SDERRORS) M SDRETURN=SDERRORS S SDRETURN("Appointment",1)="" D BUILDJSON^SDES2JSON(.JSONRETURN,.SDRETURN) Q
  1. S ORIGUSER=$S($G(SDCONTEXT("USER DUZ"))'="":SDCONTEXT("USER DUZ"),1:DUZ)
  1. ;
  1. S GOODPARAMS=$$VALPARAMS(.PARAMS,.SDERRORS)
  1. I 'GOODPARAMS,$D(SDERRORS) M SDRETURN=SDERRORS S SDRETURN("Appointment",1)="" D BUILDJSON^SDES2JSON(.JSONRETURN,.SDRETURN) Q
  1. ;
  1. S PARAMS("NOTE")=$$VALNOTE($G(PARAMS("NOTE")),$G(PARAMS("CANCEL HASH")))
  1. S PARAMS("CANCEL REASON IEN")=$O(^SD(409.2,"B",PARAMS("CANCEL REASON"),0))
  1. S PARAMS("ORIGINAL USER")=ORIGUSER
  1. D TRY2CANCEL(.SDRETURN,.SDCONTEXT,.PARAMS,.SDERRORS)
  1. ;
  1. I '$D(SDRETURN) S SDRETURN("Appointment",1)=""
  1. I $D(SDERRORS) M SDRETURN=SDERRORS
  1. D BUILDJSON^SDES2JSON(.JSONRETURN,.SDRETURN)
  1. Q
  1. ;
  1. VALPARAMS(PARAMS,SDERRORS) ;
  1. N LINKEDCLINIC,PID,RESOURCEIEN,VALRET
  1. ;
  1. ; Validate APPT IEN
  1. D VALFILEIEN^SDES2VALUTIL(.VALRET,.SDERRORS,409.84,$G(PARAMS("APPT IEN")),1,0,14,15)
  1. Q:'VALRET 0
  1. I $$GET1^DIQ(409.84,PARAMS("APPT IEN"),.12,"I") D ERRLOG^SDES2JSON(.SDERRORS,449) Q 0
  1. ;
  1. ; Validate Clinic IEN
  1. D VALFILEIEN^SDES2VALUTIL(.VALRET,.SDERRORS,44,$G(PARAMS("CLINIC IEN")),1,0,18,19)
  1. Q:'VALRET 0
  1. S RESOURCEIEN=$$GET1^DIQ(409.84,PARAMS("APPT IEN"),.07,"I")
  1. S LINKEDCLINIC=$$GET1^DIQ(409.831,RESOURCEIEN,.04,"I")
  1. I PARAMS("CLINIC IEN")'=LINKEDCLINIC D ERRLOG^SDES2JSON(.SDERRORS,193) Q 0
  1. ;
  1. ; Validate DFN
  1. D VALFILEIEN^SDES2VALUTIL(.VALRET,.SDERRORS,2,$G(PARAMS("DFN")),1,0,1,2)
  1. Q:'VALRET 0
  1. I $$GET1^DIQ(409.84,PARAMS("APPT IEN"),.05,"I")'=PARAMS("DFN") D ERRLOG^SDES2JSON(.SDERRORS,194) Q 0
  1. ;
  1. ; Order Lock Check
  1. N APPTREQTYPE,REQTYPE,REQUESTIEN,APPOINTMENT
  1. S APPTREQTYPE=$$GET1^DIQ(409.84,PARAMS("APPT IEN"),.22,"I")
  1. S REQUESTIEN=$P($G(APPTREQTYPE),";")
  1. S REQTYPE=$$GET1^DIQ(409.85,REQUESTIEN,4,"I")
  1. ;
  1. ; Validate Cancelled By
  1. D VALFIELD^SDES2VALUTIL(.VALRET,.SDERRORS,409.84,.17,$G(PARAMS("CANCELLED BY")),1,0,190,189)
  1. Q:'VALRET 0
  1. I PARAMS("CANCELLED BY")'="C",PARAMS("CANCELLED BY")'="PC" D ERRLOG^SDES2JSON(.SDERRORS,189) Q 0
  1. I $$GET1^DIQ(409.84,PARAMS("APPT IEN"),.12,"I") D ERRLOG^SDES2JSON(.SDERRORS,449) Q 0
  1. ;
  1. ; Validate Cancel Reason
  1. D VALFIELD^SDES2VALUTIL(.VALRET,.SDERRORS,409.84,.122,$G(PARAMS("CANCEL REASON")),1,0,128,129)
  1. Q:'VALRET 0
  1. ;
  1. I $G(PARAMS("NEW PID"))'="" D Q:$D(SDERRORS) 0
  1. . S PID=$$ISOTFM^SDAMUTDT(PARAMS("NEW PID"))
  1. . I PID=-1!($P(PID,".",2)) D ERRLOG^SDES2JSON(.SDERRORS,160) Q
  1. . I PARAMS("CANCELLED BY")="C" D ERRLOG^SDES2JSON(.SDERRORS,448) Q
  1. . I $$DUPPIDCHK(REQUESTIEN,PID) D ERRLOG^SDES2JSON(.SDERRORS,545) Q
  1. . S PARAMS("NEW PID")=PID
  1. Q 1
  1. ;
  1. VALNOTE(NOTE,CANCELHASH) ;
  1. N SDECJ
  1. S NOTE=$$CTRL^XMXUTIL1(NOTE)
  1. S NOTE=$TR($G(NOTE),"^"," ") ;
  1. S CANCELHASH=$$CTRL^XMXUTIL1(CANCELHASH)
  1. I $G(CANCELHASH)'="" F SDECJ=$L(CANCELHASH,U):-1:1 S NOTE=$P(CANCELHASH,U,SDECJ)_"_"_NOTE
  1. I $E(NOTE,$L(NOTE))="_" S NOTE=$E(NOTE,1,$L(NOTE)-1)
  1. Q NOTE
  1. ;
  1. DUPPIDCHK(REQUESTIEN,NEWPID) ;
  1. N CHILDIEN,DUPPID,PARENTIEN S (CHILDIEN,DUPPID)=0
  1. S PARENTIEN=$$GET1^DIQ(409.85,REQUESTIEN_",",43.8,"I")
  1. I 'PARENTIEN Q DUPPID
  1. F S CHILDIEN=$O(^SDEC(409.85,PARENTIEN,2,"B",CHILDIEN)) Q:'CHILDIEN D
  1. . Q:CHILDIEN=REQUESTIEN
  1. . I NEWPID>0,$$GET1^DIQ(409.85,CHILDIEN,22,"I")=NEWPID S DUPPID=1
  1. Q DUPPID
  1. ;
  1. TRY2CANCEL(SDRETURN,SDCONTEXT,PARAMS,SDERRORS) ; Cancel Patient's Appt
  1. N APPTIEN,CLINICIEN,DFN,CANBYCLINORPAT,CANCELREASON,CANCELREASONIEN,NOTE,CANCELHASH,EAS,NEWPID,ORIGUSER
  1. S APPTIEN=PARAMS("APPT IEN"),CLINICIEN=PARAMS("CLINIC IEN"),DFN=PARAMS("DFN")
  1. S CANBYCLINORPAT=PARAMS("CANCELLED BY"),CANCELREASON=PARAMS("CANCEL REASON"),CANCELREASONIEN=PARAMS("CANCEL REASON IEN")
  1. S NOTE=$G(PARAMS("NOTE")),EAS=$G(SDCONTEXT("ACHERON AUDIT ID")),NEWPID=$G(PARAMS("NEW PID")),ORIGUSER=PARAMS("ORIGINAL USER")
  1. ;
  1. N SDATA,APPTENDTIME,APPTLENGTH,APPTSTARTTIME,APPTTYPE,CLINICSUBIEN,EDITED,MRTC,OLDRECALLPTR,PROVIEN
  1. N PARENTREQUEST,PARENTSTATUS,RECALLREQIEN,RECALLREQLINK,RECALLRET,REQUESTIEN,REQUESTTYPE,RESOURCE,IENS44
  1. ;
  1. D POPULATE(APPTIEN,.APPTSTARTTIME,.REQUESTTYPE,.REQUESTIEN,.APPTENDTIME,.APPTLENGTH,.APPTTYPE,.RESOURCE,.WALKIN,.MRTC,.PARENTREQUEST,.PARENTSTATUS,.SLOTSTATUSSTRING)
  1. S IENS44=$$GET44RECORDIENS(CLINICIEN,APPTSTARTTIME,DFN)
  1. ; first event handler
  1. S CLINICSUBIEN=$$BEFOREEVENT^SDES2CANCELAPPT1(DFN,APPTSTARTTIME,CLINICIEN,.SDATA)
  1. ;
  1. ; cancel appointments
  1. D CANCEL40984(.SDERRORS,APPTIEN,CANCELREASON,CANBYCLINORPAT,WALKIN,$G(EAS))
  1. D CANCEL44(.SDERRORS,CLINICIEN,APPTSTARTTIME,DFN,APPTIEN,WALKIN,IENS44)
  1. D CANCEL2(.SDERRORS,DFN,APPTSTARTTIME,CANBYCLINORPAT,CANCELREASON,$G(NOTE),APPTIEN,CLINICIEN,IENS44)
  1. Q:$D(SDERRORS)
  1. ;
  1. ; update linked appointment request records
  1. D UPDATEREQUEST(REQUESTIEN,APPTIEN,CLINICIEN,DFN,CANBYCLINORPAT,$G(NOTE),APPTSTARTTIME,RESOURCE,MRTC,PARENTREQUEST,PARENTSTATUS,$G(NEWPID),$G(SDCONTEXT("USER DUZ")))
  1. ;
  1. ; update compensation and pension records
  1. I APPTTYPE="COMPENSATION & PENSION" D AMIECAN^SDESCOMPPEN(.SDRETURN,DFN,APPTSTARTTIME)
  1. ;
  1. ; remove outpatient encounter
  1. D REMOVEENCOUNTER(APPTIEN,$$GET1^DIQ(2.98,APPTSTARTTIME_","_DFN_",",21,"I"),APPTSTARTTIME,DFN,IENS44)
  1. ;
  1. ; update clinic availability
  1. D INCREMENTAVAIL1^SDESUTIL(CLINICIEN,APPTSTARTTIME,APPTLENGTH) ;
  1. ;
  1. ; second event handler
  1. D AFTEREVENT^SDES2CANCELAPPT1($G(DFN),$G(APPTSTARTTIME),$G(CLINICIEN),$G(CLINICSUBIEN),.SDATA)
  1. ;
  1. S SDRETURN("Appointment","Cancelled")=$G(APPTIEN)
  1. Q
  1. ;
  1. CANCEL40984(SDERRORS,APPTIEN,CANCELREASON,CANBYCLINORPAT,WALKIN,EAS) ;
  1. N IENS,FDA,ERR84
  1. ;
  1. S IENS=APPTIEN_","
  1. ;
  1. I WALKIN="YES" D
  1. .S FDA(409.84,IENS,.03)=""
  1. .S FDA(409.84,IENS,.04)=""
  1. S FDA(409.84,IENS,.12)=$$NOW^XLFDT
  1. S FDA(409.84,IENS,.121)=ORIGUSER
  1. S FDA(409.84,IENS,.122)=CANCELREASONIEN
  1. S FDA(409.84,IENS,.17)=CANBYCLINORPAT
  1. S FDA(409.84,IENS,100)=EAS
  1. ;
  1. L +^SDEC(APPTIEN):3 I '$T D ERRLOG^SDES2JSON(.SDERRORS,192) Q
  1. D FILE^DIE("","FDA","ERR84") K FDA
  1. L -^SDEC(APPTIEN)
  1. I $D(ERR84) D ERRLOG^SDES2JSON(.SDERRORS,191) Q
  1. Q
  1. ;
  1. CANCEL44(SDERRORS,CLINICIEN,APPTSTARTTIME,DFN,APPTIEN,WALKIN,IENS44) ;
  1. N IENS,FDA44003,ERR44003
  1. ;
  1. I WALKIN="YES" D
  1. .S FDA44003(44.003,IENS44,309)=""
  1. S FDA44003(44.003,IENS44,310)="C"
  1. ;
  1. L +^SC(CLINICIEN):3 I '$T D ERRLOG^SDES2JSON(.SDERRORS,186),CLEAN40984(APPTIEN) Q
  1. D FILE^DIE("","FDA44003","ERR44003") K FDA44003
  1. L -^SC(CLINICIEN)
  1. I $D(ERR44003) D ERRLOG^SDES2JSON(.SDERRORS,191) D CLEAN40984(APPTIEN) Q
  1. Q
  1. ;
  1. CANCEL2(SDERRORS,DFN,APPTSTARTTIME,CANBYCLINORPAT,CANCELREASON,NOTE,APPTIEN,CLINICIEN,IENS44) ;
  1. N IENS,FDA298,ERR298
  1. S IENS=APPTSTARTTIME_","_DFN_","
  1. S FDA298(2.98,IENS,3)=CANBYCLINORPAT
  1. S FDA298(2.98,IENS,14)=ORIGUSER
  1. S FDA298(2.98,IENS,15)=$$NOW^XLFDT
  1. S FDA298(2.98,IENS,16)=CANCELREASONIEN
  1. S FDA298(2.98,IENS,17)=NOTE
  1. L +^DPT(DFN):3 I '$T D ERRLOG^SDES2JSON(.SDERRORS,187),CLEAN40984(APPTIEN),CLEAN44003(DFN,CLINICIEN,APPTSTARTTIME,IENS44) Q
  1. D FILE^DIE("","FDA298","ERR298") K FDA298
  1. L -^DPT(DFN)
  1. I $D(ERR298) D ERRLOG^SDES2JSON(.SDERRORS,191),CLEAN40984(APPTIEN),CLEAN44003(DFN,CLINICIEN,APPTSTARTTIME,IENS44) Q
  1. Q
  1. ;
  1. UPDATEREQUEST(REQUESTIEN,APPTIEN,CLINICIEN,DFN,CANBYCLINORPAT,NOTE,APPTSTARTTIME,RESOURCE,MRTC,PARENTREQUEST,PARENTSTATUS,NEWPID,USERID) ;
  1. N RECALLREQIEN,RECALLREQLINK,OLDRECALLPTR,PROVIDERIEN
  1. ;
  1. I REQUESTTYPE="APPTREQ"!(REQUESTTYPE="RTC")!(REQUESTTYPE="VETERAN")!(REQUESTTYPE="MOBILE") D
  1. .D DELETEAPPTDATA(REQUESTIEN)
  1. .D OPENAPPTREQUEST(REQUESTIEN,APPTIEN,MRTC,PARENTREQUEST,PARENTSTATUS,DFN,CANBYCLINORPAT)
  1. .D UPDCONTSEQ^SDESCONTACTS(DFN,REQUESTIEN)
  1. .I $G(NEWPID),CANBYCLINORPAT="PC" D
  1. ..D ADDPIDHISTORY^SDES2CRTAPREQ(REQUESTIEN,NEWPID,ORIGUSER)
  1. ;
  1. I REQUESTTYPE="RECALL" D
  1. .D REOPEN^SDESRECALLREQ(.RECALLRET,APPTIEN,,NEWPID,CANBYCLINORPAT,,USERID)
  1. .I '$D(RECALLRET) Q
  1. .S RECALLREQIEN=$P($G(RECALLRET),U)
  1. .S RECALLREQLINK=$P($G(RECALLRET),U,2)
  1. .S OLDRECALLPTR=$P($G(RECALLRET),U,3)
  1. .D UPDCONTSEQ^SDESCONTACTS($G(DFN),$G(RECALLREQIEN),$G(RECALLREQLINK),$G(OLDRECALLPTR))
  1. ;
  1. I REQUESTTYPE="CONSULT" D
  1. .S PROVIDERIEN=$$GETPROVIDER^SDESCREATEAPPT(CLINICIEN,"C")
  1. .D REQSET^SDESCONSULTUPD(REQUESTIEN,PROVIDERIEN,"",2,CANBYCLINORPAT,NOTE,APPTSTARTTIME,RESOURCE)
  1. .D UPDCONTSEQ^SDESCONTACTS(DFN,REQUESTIEN)
  1. .;
  1. .I $G(NEWPID) D
  1. ..D UPDATECONSULTPID^SDES2APPTUTIL(REQUESTIEN,NEWPID,DFN,USERID)
  1. ;
  1. Q
  1. ;
  1. OPENAPPTREQUEST(REQUESTIEN,APPTIEN,MRTC,PARENTREQUEST,PARENTSTATUS,DFN,CANBYCLINORPAT) ;
  1. N REQFDA,REQUESTERR,FDA,PARENTERR,REASONALLOWSOPEN,CANEDITPID
  1. ;
  1. S REASONALLOWSOPEN=$$GET1^DIQ(409.2,$$GET1^DIQ(409.84,APPTIEN,.122,"I"),5,"I")
  1. S CANEDITPID=$S(CANBYCLINORPAT="C":0,CANBYCLINORPAT="PC":1,1:"")
  1. ;
  1. I REASONALLOWSOPEN D
  1. .S REQFDA(409.85,REQUESTIEN_",",19)=""
  1. .S REQFDA(409.85,REQUESTIEN_",",20)=""
  1. .S REQFDA(409.85,REQUESTIEN_",",21)=""
  1. .S REQFDA(409.85,REQUESTIEN_",",23)="O"
  1. .S REQFDA(409.85,REQUESTIEN_",",49)=CANEDITPID
  1. .D FILE^DIE("","REQFDA","REQUESTERR") K REQFDA,REQUESTERR
  1. ;
  1. ; do not re-open
  1. I 'REASONALLOWSOPEN D
  1. .S REQFDA(409.85,REQUESTIEN_",",19)=$P($$GET1^DIQ(409.84,APPTIEN,.12,"I"),".",1)
  1. .S REQFDA(409.85,REQUESTIEN_",",20)=$$GET1^DIQ(409.84,APPTIEN,.121,"I")
  1. .S REQFDA(409.85,REQUESTIEN_",",21)=$O(^SDEC(409.853,"B","CANCELLED NOT RE-OPENED",""))
  1. .S REQFDA(409.85,REQUESTIEN_",",49)=CANEDITPID
  1. .D FILE^DIE("","REQFDA","REQUESTERR") K REQFDA,REQUESTERR
  1. ;
  1. I MRTC D
  1. .D REMOVEMRTCAPTIEN(REQUESTIEN,APPTIEN,PARENTREQUEST)
  1. .I PARENTSTATUS="C",REASONALLOWSOPEN D
  1. ..S FDA(409.85,PARENTREQUEST_",",19)=""
  1. ..S FDA(409.85,PARENTREQUEST_",",20)=""
  1. ..S FDA(409.85,PARENTREQUEST_",",21)=""
  1. ..S FDA(409.85,PARENTREQUEST_",",23)="O"
  1. ..D FILE^DIE("","FDA","PARENTERR") K FDA
  1. Q
  1. ;
  1. UPDATEMRTCSEQNUM(PARENTREQUEST,DFN) ;
  1. N COUNT,REQUESTIEN,IENS,NEXTSEQUENCENUM,CHILD,LASTCHILD,MRTCFDA,ERR
  1. ;
  1. S REQUESTIEN=0,COUNT=0,LASTCHILD=""
  1. F S REQUESTIEN=$O(^SDEC(409.85,"B",DFN,REQUESTIEN)) Q:'REQUESTIEN D
  1. .I $$GET1^DIQ(409.85,REQUESTIEN,43.8,"I")=PARENTREQUEST D
  1. ..I $$GET1^DIQ(409.85,REQUESTIEN,21,"I") Q
  1. ..S COUNT=COUNT+1
  1. ..S CHILD(REQUESTIEN)=COUNT
  1. ;
  1. S REQUESTIEN=0
  1. F S REQUESTIEN=$O(CHILD(REQUESTIEN)) Q:'REQUESTIEN D
  1. .S MRTCFDA(409.85,REQUESTIEN_",",43.1)=$G(CHILD(REQUESTIEN))
  1. .D FILE^DIE(,"MRTCFDA","ERR") K MRTCFDA
  1. Q
  1. ;
  1. REMOVEENCOUNTER(APPTIEN,ENCOUNTERIEN,APPTSTARTTIME,DFN,IENS44) ;
  1. N SECENCOUNTERIEN,VAR,PROCESSTYPE,APPTFDA,ENCOUNTERFDA,CHILDIEN,CHILDFDA,CHILDPROCESSTYPE,VISITUPDATE,PATIENTFDA,CLINICFDA,CLINICIENS,DISPOSITIONFDA,DISPOSITIONIEN,CLASSIEN,CLASSFDA
  1. ;
  1. I '$G(ENCOUNTERIEN)!('$$EDITOK^SDCO3($G(ENCOUNTERIEN),2)) Q
  1. ;
  1. S VAR=$$DELVFILE^PXAPI("ALL",$P($G(^SCE(ENCOUNTERIEN,0)),U,5),"","","",0)
  1. ;
  1. S PROCESSTYPE=$$GET1^DIQ(409.68,ENCOUNTERIEN,.08,"E")
  1. ;
  1. ; child encounters
  1. I $L($G(PROCESSTYPE)),$G(PROCESSTYPE)'="CREDIT STOP CODE" D
  1. .S CHILDIEN=0
  1. .F S CHILDIEN=$O(^SCE("APAR",ENCOUNTERIEN,CHILDIEN)) Q:'CHILDIEN D
  1. ..S CHILDFDA(409.68,CHILDIEN_",",.01)="@"
  1. ..D FILE^DIE(,"CHILDFDA") K CHILDFDA
  1. ..S VISITUPDATE=$$KILL^VSITKIL($$GET1^DIQ(409.68,CHILDIEN,.05,"I"))
  1. ;
  1. ; patient file and check-in from clinic file
  1. I PROCESSTYPE="APPOINTMENT" D
  1. .S PATIENTFDA(2.98,APPTSTARTTIME_","_DFN_",",21)="@"
  1. .D FILE^DIE(,"PATIENTFDA") K PATIENTFDA
  1. .S CLINICFDA(44.003,IENS44,303)="@"
  1. .D FILE^DIE(,"CLINICFDA") K CLINICFDA
  1. ;
  1. ; disposition subfile in patient file
  1. I PROCESSTYPE="DISPOSITION" D
  1. .S DISPOSITIONIEN=$$GET1^DIQ(409.68,ENCOUNTERIEN,.09,"I")
  1. .S DISPOSITIONFDA(2.101,DISPOSITIONIEN_","_DFN_",",18)="@"
  1. .D FILE^DIE(,"DISPOSITIONFDA") K DISPOSITIONFDA
  1. ;
  1. ; outpatient classification file
  1. I '$$GET1^DIQ(409.68,ENCOUNTERIEN,.06,"I"),$O(^SDD(409.42,"AO",ENCOUNTERIEN,0))>0 D
  1. .S CLASSIEN=0
  1. .F S CLASSIEN=$O(^SDD(409.42,"AO",ENCOUNTERIEN,CLASSIEN)) Q:'CLASSIEN D
  1. ..S CLASSFDA(409.42,CLASSIEN_",",.01)="@"
  1. ..D FILE^DIE(,"CLASSFDA") K CLASSFDA
  1. ;
  1. ; outpatient encounter file
  1. S ENCOUNTERFDA(409.68,ENCOUNTERIEN_",",.01)="@"
  1. D FILE^DIE(,"ENCOUNTERFDA") K ENCOUNTERFDA
  1. S VISITUPDATE=$$KILL^VSITKIL($$GET1^DIQ(409.68,ENCOUNTERIEN,.05,"I"))
  1. ;
  1. ; delete checkout in appointment file
  1. I $$GET1^DIQ(409.84,APPTIEN,.14,"I") D
  1. .S APPTFDA(409.84,APPTIEN_",",.14)="@"
  1. .S APPTFDA(409.84,APPTIEN_",",.08)=$G(ORIGUSER)
  1. .D FILE^DIE(,"APPTFDA") K APPTFDA
  1. Q
  1. ;
  1. DELETEAPPTDATA(REQUESTIEN) ;
  1. N FDA
  1. S REQUESTIEN=$G(REQUESTIEN)_","
  1. S FDA(409.85,REQUESTIEN,13)="@"
  1. S FDA(409.85,REQUESTIEN,13.1)="@"
  1. S FDA(409.85,REQUESTIEN,13.2)="@"
  1. S FDA(409.85,REQUESTIEN,13.3)="@"
  1. S FDA(409.85,REQUESTIEN,13.4)="@"
  1. S FDA(409.85,REQUESTIEN,13.6)="@"
  1. S FDA(409.85,REQUESTIEN,13.7)="@"
  1. S FDA(409.85,REQUESTIEN,13.8)="@"
  1. S FDA(409.85,REQUESTIEN,100)=$G(EAS)
  1. D FILE^DIE(,"FDA") K FDA
  1. Q
  1. ;
  1. REMOVEMRTCAPTIEN(REQUESTIEN,APPTIEN,PARENTIEN) ;
  1. N SUBIEN,FDA
  1. S SUBIEN=0
  1. S SUBIEN=$O(^SDEC(409.85,PARENTIEN,2,"B",REQUESTIEN,SUBIEN)) Q:'SUBIEN
  1. S FDA(409.852,SUBIEN_","_PARENTIEN_",",.02)="@"
  1. D FILE^DIE(,"FDA","FDAERR") K FDA
  1. Q
  1. ;
  1. GET44RECORDIENS(CLINICIEN,APPTSTARTTIME,DFN) ;
  1. N FOUND,IENS44003
  1. S FOUND=0
  1. S SUBIEN=0 F S SUBIEN=$O(^SC(CLINICIEN,"S",APPTSTARTTIME,1,SUBIEN)) Q:'SUBIEN!($G(FOUND)=1) D
  1. .I $$GET1^DIQ(44.003,SUBIEN_","_APPTSTARTTIME_","_CLINICIEN_",",310,"E")="CANCELLED" Q
  1. .I $$GET1^DIQ(44.003,SUBIEN_","_APPTSTARTTIME_","_CLINICIEN_",",.01,"I")=DFN D
  1. ..S IENS44003=SUBIEN_","_APPTSTARTTIME_","_CLINICIEN_",",FOUND=1 Q
  1. Q $G(IENS44003)
  1. ;
  1. CLEAN40984(APPTIEN) ;
  1. N FDA,IENS
  1. S IENS=APPTIEN_","
  1. S FDA(409.84,IENS,.12)=""
  1. S FDA(409.84,IENS,.121)=""
  1. S FDA(409.84,IENS,.122)=""
  1. S FDA(409.84,IENS,.17)=""
  1. S FDA(409.84,IENS,100)=""
  1. D FILE^DIE("","FDA") K FDA
  1. Q
  1. ;
  1. CLEAN44003(DFN,CLINICIEN,APPTSTARTTIME,IENS44) ;
  1. N FDA44003,IENS,ERR44003
  1. S FDA44003(44.003,IENS44,310)=""
  1. D FILE^DIE("","FDA44003","ERR44003") K FDA44003
  1. Q
  1. ;
  1. POPULATE(APPTIEN,APPTSTARTTIME,REQUESTTYPE,REQUESTIEN,APPTENDTIME,APPTLENGTH,APPTTYPE,RESOURCE,WALKIN,MRTC,PARENTREQUEST,PARENTSTATUS,SLOTSTATUSSTRING) ;
  1. S APPTSTARTTIME=$$GET1^DIQ(409.84,$G(APPTIEN),.01,"I")
  1. S REQUESTTYPE=$P($$GET1^DIQ(409.84,$G(APPTIEN),.22,"I"),";",2),REQUESTTYPE=$S(REQUESTTYPE="GMR(123,":"CONSULT",REQUESTTYPE="SD(403.5,":"RECALL",REQUESTTYPE="SDEC(409.85,":"APPTREQ",1:"")
  1. S REQUESTIEN=$P($$GET1^DIQ(409.84,$G(APPTIEN),.22,"I"),";")
  1. S APPTENDTIME=$$GET1^DIQ(409.84,$G(APPTIEN),.02,"I")
  1. S APPTLENGTH=$$GET1^DIQ(409.84,APPTIEN,.18,"I")
  1. S APPTTYPE=$$GET1^DIQ(409.84,APPTIEN,.06,"E")
  1. S RESOURCE=$$GET1^DIQ(409.84,$G(APPTIEN),.07,"I")
  1. S WALKIN=$$GET1^DIQ(409.84,APPTIEN,.13,"E")
  1. S MRTC=$$GET1^DIQ(409.85,REQUESTIEN,41,"I")
  1. S PARENTREQUEST=$$GET1^DIQ(409.85,REQUESTIEN,43.8,"I")
  1. S PARENTSTATUS=$$GET1^DIQ(409.85,PARENTREQUEST,23,"I")
  1. S SLOTSTATUSSTRING="#@!$* XXWVUTSRQPONMLKJIHGFEDCBA0123456789jklmnopqrstuvwxyz"
  1. Q