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

AMQQAPT.m

Go to the documentation of this file.
  1. AMQQAPT ; IHS/CMI/THL - PATIENT APPOINTMENTS;
  1. ;;2.0;IHS PCC SUITE;**5**;MAY 14, 2009
  1. ;
  1. APT(DFN,ADT,EDT,JOB) ;EP;
  1. ;CREATE AND DISPLAY LIST OF FUTURE APPOINTMENTS FOR A PATIENT
  1. ;DFN - PATIENT IEN
  1. ;CLN - CLINIC(S) TO INCLUDE
  1. ;ADT - START DATE
  1. ;EDT - END DATE
  1. ;JOB - $J
  1. ;AMQQCLN - CLINIC
  1. ;AMQQDT - DISPLAYED DATA
  1. ;AMQQPOV - APPT PURPOSE
  1. ;AMQQTYP - TYPE OF APPT
  1. ;
  1. N AMQQCLN,AMQQDT,AMQQPOV,AMQQTYP,POV
  1. N X,Y,Z
  1. S:'$G(JOB) JOB=$J
  1. S AMQQJOB=JOB
  1. S ADT=$$FMADD^XLFDT(DT,-1) ;always start with yesterday
  1. S:'$G(EDT) EDT=9999999
  1. S ADT=ADT_".9999" ;start with last time yesterday
  1. F S ADT=$O(^DPT(DFN,"S",ADT)) Q:'ADT!($P(ADT,".")>EDT) S X=^(ADT,0) D
  1. .I $O(^TMP(AMQQJOB,"AMQQAPT","AMQQCLN",0)),$G(^TMP(AMQQJOB,"AMQQAPT","AMQQCLN"))'="ALL"&'$D(^TMP(AMQQJOB,"AMQQAPT","AMQQCLN",+X)) Q
  1. .S AMQQCLN=$E($P($G(^SC(+X,0)),U),1,15)
  1. .S AMQQDT=$E(ADT,4,5)_"/"_$E(ADT,6,7)_"/"_($E(ADT,1,3)+1700)
  1. .S AMQQTYP=+$P(X,U,16)
  1. .S AMQQTYP=$E($P($G(^SD(409.1,AMQQTYP,0)),U),1,15)
  1. .S AMQQPOV=$P(X,U,7)
  1. .I AMQQPOV D I 1
  1. ..S AMQQPOV=$P($P($P(^DD(2.98,9,0),U,3),(AMQQPOV_":"),2),";")
  1. .E S AMQQPOV="NOT STATED"
  1. .S AMQQPOV=$E(AMQQPOV,1,13)
  1. .S X=""
  1. .S $E(X,10)=AMQQDT
  1. .S $E(X,25)=AMQQCLN
  1. .S $E(X,42)=AMQQPOV
  1. .S $E(X,57)=AMQQTYP
  1. .S ^TMP($J,"AMQQAPT",DFN,ADT)=X
  1. .W !,X
  1. .S AMQQTOT=$G(AMQQTOT)+1
  1. .I AMQQTOT#(IOSL-6-(5*($E(IOST,1,2)="P-")))=1 D ^AMQQDOH I AMQP(AMQQOV)=99999999999 Q
  1. Q
  1. QAPT ;EP;
  1. ;QUERY WHETHER TO INCLUDE PATIENT APPOINTMENTS IN QMAN DISPLAY
  1. NEW X,Y,X2
  1. D CAPT
  1. S AMQQJOB=$J
  1. K DIR
  1. S DIR(0)="YO"
  1. S DIR("A")="Include list of upcoming appts for the patient"
  1. S DIR("B")="NO"
  1. W !!
  1. D ^DIR
  1. K DIR
  1. I 'Y D CAPT Q
  1. S X1=DT
  1. S X2=365
  1. D C^%DTC
  1. S DIR(0)="D^::EF"
  1. S DIR("A")="End date for appointments to include.........."
  1. S DIR("B")=X
  1. S Y=X
  1. X ^DD("DD")
  1. S DIR("B")=Y
  1. D ^DIR
  1. K DIR
  1. I 'Y D CAPT Q
  1. S ^TMP($J,"AMQQAPT")=Y
  1. S AMQQEDT=Y
  1. S AMQQADT=DT-.0001
  1. K ^TMP($J,"AMQQAPT","AMQQCLN"),AMQQSTOP,CLN
  1. S DIR(0)="YO"
  1. S DIR("A")="Include appointments for all clinics.........."
  1. S DIR("B")="YES"
  1. D ^DIR
  1. K DIR
  1. I Y=1 S ^TMP($J,"AMQQAPT","AMQQCLN")="ALL" Q
  1. W !!
  1. F D SC Q:$D(AMQQSTOP)
  1. K AMQSTOP
  1. Q:'$D(^TMP($J,"AMQQAPT","AMQQCLN"))
  1. Q
  1. SC ;SELECT CLINICS AND CREATE CLINIC ARRAY
  1. K DIC
  1. S DIC="^SC("
  1. S DIC(0)="AMQEZ"
  1. S DIC("A")="Select"_$S($O(^TMP($J,"AMQQAPT","AMQQCLN",0)):" another",1:"")_" Clinic: "
  1. W !
  1. D ^DIC
  1. K DIC,DD,DR,DA
  1. I Y<1 S AMQQSTOP="" Q
  1. S ^TMP($J,"AMQQAPT","AMQQCLN",+Y)=""
  1. Q
  1. CAPT ;CLEAN UP
  1. K AMQQDT,AMQQADT,AMQQEDT,AMQQCLN,AMQQPOV,AMQQTYP,AMQQJOB
  1. K ^TMP($J,"AMQQAPT")
  1. Q