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

VPRSDAM.m

Go to the documentation of this file.
  1. VPRSDAM ;SLC/MKB -- SDA Appointment utilities ;7/29/22 14:11
  1. ;;1.0;VIRTUAL PATIENT RECORD;**30,35**;Sep 01, 2011;Build 16
  1. ;;Per VHA Directive 6402, this routine should not be modified.
  1. ;
  1. ; External References DBIA#
  1. ; ------------------- -----
  1. ; ^DGS(41.1 3796
  1. ; ^DPT 10035
  1. ; DIQ 2056
  1. ; SDAMA301, ^TMP($J) 4433
  1. ; SDOE 2546
  1. ;
  1. ;
  1. APPTS ; -- get Appointments
  1. ; Query called from GET^DDE, returns DLIST(#)=ien
  1. ; Expects context variables DFN, DSTRT, DSTOP, DMAX
  1. ;
  1. N VPRX,VPRNUM,VPRDT,VPRN
  1. S VPRX(1)=DSTRT_";"_DSTOP,VPRX(4)=DFN
  1. S VPRX("FLDS")="1;2;3;5;6;8;9;10;11;12;16;18;22;25;29;32",VPRX("SORT")="P"
  1. ; appointments
  1. S VPRX(3)="R;I;NS;NSR;NT;CP;CPR;CC;CCR" ;p35 cancelled pats
  1. S VPRNUM=$$SDAPI^SDAMA301(.VPRX),(VPRDT,VPRN)=0
  1. F S VPRDT=$O(^TMP($J,"SDAMA301",DFN,VPRDT)) Q:VPRDT<1 D Q:VPRN'<DMAX
  1. . S VPRN=VPRN+1,DLIST(VPRN)=VPRDT_","_DFN ;^TMP($J,"SDAMA301",DFN,VPRDT)
  1. ;K ^TMP($J,"SDAMA301",DFN)
  1. Q
  1. ;
  1. SCHADMS ; -- get Scheduled Admissions
  1. ; Query called from GET^DDE, returns DLIST(#)=ien
  1. ; Expects context variables DFN, DSTRT, DSTOP, DMAX
  1. ;
  1. N VPRA,VPRX,X,VPRN S VPRN=0
  1. S VPRA=0 F S VPRA=$O(^DGS(41.1,"B",DFN,VPRA)) Q:VPRA<1 D Q:VPRN'<DMAX
  1. . S VPRX=$G(^DGS(41.1,VPRA,0))
  1. . S X=$P(VPRX,U,2) Q:X<DSTRT!(X>DSTOP) ;out of date range
  1. . ;Q:$P(VPRX,U,13) ;Q:$P(VPRX,U,17) ;cancelled or admitted
  1. . S VPRN=VPRN+1,DLIST(VPRN)=VPRA
  1. Q
  1. ;
  1. APPT1(VPRID) ; -- get ^TMP node for single appt, returns VPRAPPT
  1. N DFN,VPRDT S VPRID=$G(VPRID)
  1. S DFN=$P(VPRID,",",2),VPRDT=$P(VPRID,",")
  1. I 'DFN!'VPRDT S DDEOUT=1 Q
  1. I '$D(^TMP($J,"SDAMA301",DFN)) D
  1. . N VPRX,VPRNUM
  1. . S VPRX(1)=VPRDT_";"_VPRDT,VPRX(4)=DFN
  1. . S VPRX("FLDS")="1;2;3;5;6;8;9;10;11;12;16;18;22;25;29;32",VPRX("SORT")="P"
  1. . S VPRNUM=$$SDAPI^SDAMA301(.VPRX)
  1. S VPRAPPT=$G(^TMP($J,"SDAMA301",DFN,VPRDT)),VPRAPPT("C")=$G(^(VPRDT,"C"))
  1. S VPRAPPT(0)=$G(^TMP($J,"SDAMA301",DFN,VPRDT,0))
  1. S:VPRAPPT="" VPRAPPT=VPRDT_U_$P($G(^DPT(DFN,"S",VPRDT,0)),U,1,2) ;DDEOUT=1
  1. Q
  1. ;
  1. APPTPRV() ; -- return the default/primary provider for VPRAPPT
  1. N Y,I,SDOE,LOC,VPROV S Y=""
  1. S SDOE=$P($G(VPRAPPT),U,12) I SDOE D
  1. . D GETPRV^SDOE(SDOE,"VPROV") S I=0
  1. . F S I=$O(VPROV(I)) Q:I<1 I $P($G(VPROV(I)),U,4)="P" S Y=+VPROV(I) Q
  1. . I 'Y S I=$O(VPROV(0)) S:I Y=+VPROV(I) ;first, if no Primary
  1. I 'SDOE,+$G(VPRAPPT)>DT D ;future
  1. . S LOC=+$P($G(VPRAPPT),U,2),Y=$$GET1^DIQ(44,LOC,16,"I") Q:Y
  1. . ;S I=+$O(^SC("ADPR",LOC,0)) I I S Y=+$G(^SC(LOC,"PR",I,0))
  1. . D GETS^DIQ(44,LOC,"2600*","I","VPROV")
  1. . S I="" F S I=$O(VPROV(44.1,I)) Q:I="" I $G(VPROV(44.1,I,.02,"I"))=1 S Y=$G(VPROV(44.1,I,.01,"I"))
  1. Q Y