SDCCRSEN2 ;CCRA/LB,PB - Appointment retrieval API;
;;5.3;Scheduling;**912,936**;;Build 65
;SAC EXEMPTION 202505291453-05 : CCRA use of vendor specific code
;Patch 912 change to add a new comment to the consult
;Patch 936 fixes an issue with address formatting
Q
;Check the status of the consult. if it is scheduled or canceled return 1, otherwise return 0
CHKAPPT(CONSID,TYPE) ;
I CONSID="" Q 0
S ST=0
I TYPE="SCHEDULE" D
.S TSTATUS=$O(^ORD(100.01,"B","SCHEDULED",0))
.S:$P(^GMR(123,CONSID,0),"^",12)=TSTATUS ST=1
;When checking cancel, check status, if status = scheduled, then check to see if there is an appointment
;for the appointment date/time (SDECSTART). if status = scheduled and there is an appointment for the
;patient on the SDECSTART time, then it is considered the original and return 1. otherwise return 0
I TYPE="CANCEL" D
.S TSTATUS=$O(^ORD(100.01,"B","CANCELLED",0))
.S:$P(^GMR(123,CONSID,0),"^",12)=TSTATUS ST=1
.I ST=0 D
..S:'$D(^DPT(DFN,"S",STARTFM1)) ST=1
I TYPE="NOSHOW" D
.S TSTATUS=$O(^ORD(100.01,"B","SCHEDULED",0))
.;S:$P(^GMR(123,CONSID,0),"^",12)=TSTATUS ST=1
.I ST=0 D
..S:'$D(^DPT(DFN,"S",STARTFM1)) ST=1
Q ST
S I=1
S COMMENT(I)="Patient has an appointment on "_SDECSTART_" with "_$G(PROV)_".",I=I+1
S:$G(PROVIDERADDRESS)'="" COMMENT(I)="at "_$G(PROVIDERADDRESS),I=I+1
S:$G(PROVIDERPHONE)'="" COMMENT(I)="PHONE NUMBER: "_$G(PROVIDERPHONE),I=I+1
D NOW^%DTC
D CMT^GMRCGUIB(CONID,.COMMENT,DUZ,%,DUZ)
K ZIP,TSTATUS,STREET2,STATE,ST,PHONE,OFFICE,COMMENT,CITY,%,I
Q
D NOW^%DTC
S I=1
S CANCELEDBY=$P(USERMAIL,"@")
S COMMENT(I)="Patient's appointment on "_SDECSTART_" with "_$G(PROV),I=I+1
S:$G(PROVIDERADDRESS)'="" COMMENT(I)="at "_$G(PROVIDERADDRESS),I=I+1
S:$G(PROVIDERPHONE)'="" COMMENT(I)="PHONE NUMBER: "_$G(PROVIDERPHONE),I=I+1
S COMMENT(I)="was canceled by "_$P($G(CANCELEDBY),".",1)_" "_$P($G(CANCELEDBY),".",2)_" on "_SDECSTART_".",I=I+1
D NOW^%DTC
D CMT^GMRCGUIB(CONID,.COMMENT,DUZ,%,DUZ)
K ZIP,TSTATUS,STREET2,STATE,ST,PHONE,OFFICE,COMMENT,CITY,CANCELEDBY,%,I
Q
S I=1
S CANCELEDBY=$P(USERMAIL,"@")
S COMMENT(I)="Patient failed to make an appointment on "_SDECSTART_" with "_$G(PROV),I=I+1
S:$G(PROVIDERADDRESS)'="" COMMENT(I)="at "_$G(PROVIDERADDRESS),I=I+1
S:$G(PROVIDERPHONE)'="" COMMENT(I)="PHONE NUMBER: "_$G(PROVIDERPHONE),I=I+1
D NOW^%DTC
D CMT^GMRCGUIB(CONID,.COMMENT,DUZ,%,DUZ)
K ZIP,TSTATUS,STREET2,STATE,ST,PHONE,OFFICE,COMMENT,CITY,%,I
Q
--- Routine Detail --- with STRUCTURED ROUTINE LISTING ---[H[J[2J[HSDCCRSEN2 2696 printed May 25, 2026@12:53:11 Page 2
SDCCRSEN2 ;CCRA/LB,PB - Appointment retrieval API;
+1 ;;5.3;Scheduling;**912,936**;;Build 65
+2 ;SAC EXEMPTION 202505291453-05 : CCRA use of vendor specific code
+3 ;Patch 912 change to add a new comment to the consult
+4 ;Patch 936 fixes an issue with address formatting
+5 QUIT
+6 ;Check the status of the consult. if it is scheduled or canceled return 1, otherwise return 0
CHKAPPT(CONSID,TYPE) ;
+1 IF CONSID=""
QUIT 0
+2 SET ST=0
+3 IF TYPE="SCHEDULE"
Begin DoDot:1
+4 SET TSTATUS=$ORDER(^ORD(100.01,"B","SCHEDULED",0))
+5 if $PIECE(^GMR(123,CONSID,0),"^",12)=TSTATUS
SET ST=1
End DoDot:1
+6 ;When checking cancel, check status, if status = scheduled, then check to see if there is an appointment
+7 ;for the appointment date/time (SDECSTART). if status = scheduled and there is an appointment for the
+8 ;patient on the SDECSTART time, then it is considered the original and return 1. otherwise return 0
+9 IF TYPE="CANCEL"
Begin DoDot:1
+10 SET TSTATUS=$ORDER(^ORD(100.01,"B","CANCELLED",0))
+11 if $PIECE(^GMR(123,CONSID,0),"^",12)=TSTATUS
SET ST=1
+12 IF ST=0
Begin DoDot:2
+13 if '$DATA(^DPT(DFN,"S",STARTFM1))
SET ST=1
End DoDot:2
End DoDot:1
+14 IF TYPE="NOSHOW"
Begin DoDot:1
+15 SET TSTATUS=$ORDER(^ORD(100.01,"B","SCHEDULED",0))
+16 ;S:$P(^GMR(123,CONSID,0),"^",12)=TSTATUS ST=1
+17 IF ST=0
Begin DoDot:2
+18 if '$DATA(^DPT(DFN,"S",STARTFM1))
SET ST=1
End DoDot:2
End DoDot:1
+19 QUIT ST
+1 SET I=1
+2 SET COMMENT(I)="Patient has an appointment on "_SDECSTART_" with "_$GET(PROV)_"."
SET I=I+1
+3 if $GET(PROVIDERADDRESS)'=""
SET COMMENT(I)="at "_$GET(PROVIDERADDRESS)
SET I=I+1
+4 if $GET(PROVIDERPHONE)'=""
SET COMMENT(I)="PHONE NUMBER: "_$GET(PROVIDERPHONE)
SET I=I+1
+5 DO NOW^%DTC
+6 DO CMT^GMRCGUIB(CONID,.COMMENT,DUZ,%,DUZ)
+7 KILL ZIP,TSTATUS,STREET2,STATE,ST,PHONE,OFFICE,COMMENT,CITY,%,I
+8 QUIT
+1 DO NOW^%DTC
+2 SET I=1
+3 SET CANCELEDBY=$PIECE(USERMAIL,"@")
+4 SET COMMENT(I)="Patient's appointment on "_SDECSTART_" with "_$GET(PROV)
SET I=I+1
+5 if $GET(PROVIDERADDRESS)'=""
SET COMMENT(I)="at "_$GET(PROVIDERADDRESS)
SET I=I+1
+6 if $GET(PROVIDERPHONE)'=""
SET COMMENT(I)="PHONE NUMBER: "_$GET(PROVIDERPHONE)
SET I=I+1
+7 SET COMMENT(I)="was canceled by "_$PIECE($GET(CANCELEDBY),".",1)_" "_$PIECE($GET(CANCELEDBY),".",2)_" on "_SDECSTART_"."
SET I=I+1
+8 DO NOW^%DTC
+9 DO CMT^GMRCGUIB(CONID,.COMMENT,DUZ,%,DUZ)
+10 KILL ZIP,TSTATUS,STREET2,STATE,ST,PHONE,OFFICE,COMMENT,CITY,CANCELEDBY,%,I
+11 QUIT
+1 SET I=1
+2 SET CANCELEDBY=$PIECE(USERMAIL,"@")
+3 SET COMMENT(I)="Patient failed to make an appointment on "_SDECSTART_" with "_$GET(PROV)
SET I=I+1
+4 if $GET(PROVIDERADDRESS)'=""
SET COMMENT(I)="at "_$GET(PROVIDERADDRESS)
SET I=I+1
+5 if $GET(PROVIDERPHONE)'=""
SET COMMENT(I)="PHONE NUMBER: "_$GET(PROVIDERPHONE)
SET I=I+1
+6 DO NOW^%DTC
+7 DO CMT^GMRCGUIB(CONID,.COMMENT,DUZ,%,DUZ)
+8 KILL ZIP,TSTATUS,STREET2,STATE,ST,PHONE,OFFICE,COMMENT,CITY,%,I
+9 QUIT