done with BSDX07
This commit is contained in:
parent
6a421d751d
commit
bce0324b63
100
m/BSDX07.m
100
m/BSDX07.m
|
@ -1,4 +1,4 @@
|
||||||
BSDX07 ; VW/UJO/SMH - WINDOWS SCHEDULING RPCS ; 6/19/12 5:34pm
|
BSDX07 ; VW/UJO/SMH - WINDOWS SCHEDULING RPCS ; 6/20/12 3:28pm
|
||||||
;;1.7T1;BSDX;;Aug 31, 2011;Build 18
|
;;1.7T1;BSDX;;Aug 31, 2011;Build 18
|
||||||
; Licensed under LGPL
|
; Licensed under LGPL
|
||||||
;
|
;
|
||||||
|
@ -11,6 +11,7 @@ BSDX07 ; VW/UJO/SMH - WINDOWS SCHEDULING RPCS ; 6/19/12 5:34pm
|
||||||
; v1.5 Mar 15 2011 - End time does not have to have time anymore.
|
; v1.5 Mar 15 2011 - End time does not have to have time anymore.
|
||||||
; It could be midnight of the next day
|
; It could be midnight of the next day
|
||||||
; v1.6 Apr 11 2011 - Support for Scheduling Radiology Exams...
|
; v1.6 Apr 11 2011 - Support for Scheduling Radiology Exams...
|
||||||
|
; v1.7 Jun 20 2012 - Refactoring to remove transactions - many changes
|
||||||
;
|
;
|
||||||
; Error Reference:
|
; Error Reference:
|
||||||
; -1: Patient Record is locked. This means something is wrong!!!!
|
; -1: Patient Record is locked. This means something is wrong!!!!
|
||||||
|
@ -37,7 +38,7 @@ UT ; Unit Tests - Assumes you have Patients with DFNs 1,2 and 3
|
||||||
D
|
D
|
||||||
. N $ET S $ET="D ^%ZTER B"
|
. N $ET S $ET="D ^%ZTER B"
|
||||||
. S HLRESIENS=$$UTCR^BSDX35(RESNAM)
|
. S HLRESIENS=$$UTCR^BSDX35(RESNAM)
|
||||||
. I HLRESIENS<0 S $EC=",U1," ; not supposed to happen
|
. I HLRESIENS<0 S $EC=",U1," ; not supposed to happen - hard crash if so
|
||||||
;
|
;
|
||||||
N HLIEN,RESIEN
|
N HLIEN,RESIEN
|
||||||
S HLIEN=$P(HLRESIENS,U)
|
S HLIEN=$P(HLRESIENS,U)
|
||||||
|
@ -83,21 +84,37 @@ UT ; Unit Tests - Assumes you have Patients with DFNs 1,2 and 3
|
||||||
S BSDX("PAT")=DFN
|
S BSDX("PAT")=DFN
|
||||||
S BSDX("CLN")=HLIEN
|
S BSDX("CLN")=HLIEN
|
||||||
S BSDX("ADT")=APPTTIME
|
S BSDX("ADT")=APPTTIME
|
||||||
D BSDXDEL^BSDX07(APPID)
|
D ROLLBACK(APPID,.BSDX)
|
||||||
S %=$$UNMAKE^BSDXAPI(.BSDX)
|
|
||||||
I +$G(^BSDXAPPT(APPID,0)) W "Error in deleting appointment-1",!
|
I +$G(^BSDXAPPT(APPID,0)) W "Error in deleting appointment-1",!
|
||||||
I $D(^DPT(DFN,"S",APPTTIME)) W "Error in deleting appointment-2",!
|
I $D(^DPT(DFN,"S",APPTTIME)) W "Error in deleting appointment-2",!
|
||||||
I $$SCIEN^BSDXAPI(DFN,HLIEN,APPTTIME) W "Error in deleting appointment-3",!
|
I $$SCIEN^BSDXAPI(DFN,HLIEN,APPTTIME) W "Error in deleting appointment-3",!
|
||||||
;
|
;
|
||||||
|
; Again for a different patient (5)
|
||||||
|
S DFN=5
|
||||||
|
D APPADD(.ZZZ,APPTTIME,ENDTIME,DFN,RESNAM,30,"Sam's Note",1)
|
||||||
|
N APPID S APPID=+$P(^BSDXTMP($J,1),U)
|
||||||
|
I 'APPID W "Error Making Appt-13" QUIT
|
||||||
|
I +^BSDXAPPT(APPID,0)'=APPTTIME W "Error Making Appt-14"
|
||||||
|
I '$D(^DPT(DFN,"S",APPTTIME)) W "Error Making Appt-15"
|
||||||
|
I '$$SCIEN^BSDXAPI(DFN,HLIEN,APPTTIME) W "Error Making Appt-16"
|
||||||
|
; Now cancel that appointment
|
||||||
|
D APPDEL^BSDX08(.ZZZ,APPID,"PC",1,"Sam's Cancel Note")
|
||||||
|
; Now make it again
|
||||||
|
D APPADD(.ZZZ,APPTTIME,ENDTIME,DFN,RESNAM,30,"Sam's Note",1)
|
||||||
|
N APPID S APPID=+$P(^BSDXTMP($J,1),U)
|
||||||
|
I 'APPID W "Error Making Appt-17" QUIT
|
||||||
|
I +^BSDXAPPT(APPID,0)'=APPTTIME W "Error Making Appt-18"
|
||||||
|
I '$D(^DPT(DFN,"S",APPTTIME)) W "Error Making Appt-19"
|
||||||
|
I '$$SCIEN^BSDXAPI(DFN,HLIEN,APPTTIME) W "Error Making Appt-20"
|
||||||
|
;
|
||||||
; Delete appointment set for Patient 1 (not made)... needs to not crash
|
; Delete appointment set for Patient 1 (not made)... needs to not crash
|
||||||
D
|
D
|
||||||
. N $ET S $ET="D ^%ZTER S $EC="""" W ""Failure to del non-existent appt"",!"
|
. N $ET S $ET="D ^%ZTER S $EC="""" W ""Failure to del non-existent appt"",!"
|
||||||
. D BSDXDEL^BSDX07(9999999)
|
|
||||||
. N BSDX
|
. N BSDX
|
||||||
. S BSDX("PAT")=1
|
. S BSDX("PAT")=1
|
||||||
. S BSDX("CLN")=HLIEN
|
. S BSDX("CLN")=HLIEN
|
||||||
. S BSDX("ADT")=APPTTIME
|
. S BSDX("ADT")=APPTTIME
|
||||||
. S %=$$UNMAKE^BSDXAPI(.BSDX)
|
. D ROLLBACK(APPID,.BSDX)
|
||||||
;
|
;
|
||||||
; Test for bad start date
|
; Test for bad start date
|
||||||
D APPADD(.ZZZ,2100123,3100123.3,2,RESNAM,30,"Sam's Note",1)
|
D APPADD(.ZZZ,2100123,3100123.3,2,RESNAM,30,"Sam's Note",1)
|
||||||
|
@ -140,6 +157,42 @@ UT ; Unit Tests - Assumes you have Patients with DFNs 1,2 and 3
|
||||||
D APPADD(.ZZZ,APPTTIME,ENDTIME,3,RESNAM,30,"Sam's Note",1)
|
D APPADD(.ZZZ,APPTTIME,ENDTIME,3,RESNAM,30,"Sam's Note",1)
|
||||||
D APPADD(.ZZZ,APPTTIME,ENDTIME,3,RESNAM,30,"Sam's Note",1)
|
D APPADD(.ZZZ,APPTTIME,ENDTIME,3,RESNAM,30,"Sam's Note",1)
|
||||||
I +$P(^BSDXTMP($J,1),U,2)'=-10 W "Error in -10",!
|
I +$P(^BSDXTMP($J,1),U,2)'=-10 W "Error in -10",!
|
||||||
|
;
|
||||||
|
; Test that rollback occurs properly in various places
|
||||||
|
N TIMES S TIMES=$$TIMES^BSDX35 ; appt time^end time
|
||||||
|
N APPTTIME S APPTTIME=$P(TIMES,U)
|
||||||
|
N ENDTIME S ENDTIME=$P(TIMES,U,2)
|
||||||
|
S DFN=4
|
||||||
|
N BSDXSIMERR1 S BSDXSIMERR1=1
|
||||||
|
D APPADD(.ZZZ,APPTTIME,ENDTIME,DFN,RESNAM,30,"Sam's Note",1)
|
||||||
|
N APPID S APPID=$O(^BSDXAPPT("B",APPTTIME,""))
|
||||||
|
I +APPID W "Error in deleting appointment-4",!
|
||||||
|
I $D(^DPT(DFN,"S",APPTTIME)) W "Error in deleting appointment-5",!
|
||||||
|
I $$SCIEN^BSDXAPI(DFN,HLIEN,APPTTIME) W "Error in deleting appointment-6",!
|
||||||
|
;
|
||||||
|
K BSDXSIMERR1
|
||||||
|
N BSDXSIMERR2 S BSDXSIMERR2=1
|
||||||
|
D APPADD(.ZZZ,APPTTIME,ENDTIME,DFN,RESNAM,30,"Sam's Note",1)
|
||||||
|
N APPID S APPID=$O(^BSDXAPPT("B",APPTTIME,""))
|
||||||
|
I +APPID W "Error in deleting appointment-7",!
|
||||||
|
I $D(^DPT(DFN,"S",APPTTIME)) W "Error in deleting appointment-8",!
|
||||||
|
I $$SCIEN^BSDXAPI(DFN,HLIEN,APPTTIME) W "Error in deleting appointment-9",!
|
||||||
|
;
|
||||||
|
K BSDXSIMERR2
|
||||||
|
N BSDXSIMERR4 S BSDXSIMERR4=1
|
||||||
|
D APPADD(.ZZZ,APPTTIME,ENDTIME,DFN,RESNAM,30,"Sam's Note",1)
|
||||||
|
N APPID S APPID=$O(^BSDXAPPT("B",APPTTIME,""))
|
||||||
|
I +APPID W "Error in deleting appointment-16",!
|
||||||
|
I $D(^DPT(DFN,"S",APPTTIME)) W "Error in deleting appointment-17",!
|
||||||
|
I $$SCIEN^BSDXAPI(DFN,HLIEN,APPTTIME) W "Error in deleting appointment-18",!
|
||||||
|
;
|
||||||
|
K BSDXSIMERR4
|
||||||
|
N BSDXSIMERR5 S BSDXSIMERR5=1
|
||||||
|
D APPADD(.ZZZ,APPTTIME,ENDTIME,DFN,RESNAM,30,"Sam's Note",1)
|
||||||
|
N APPID S APPID=$O(^BSDXAPPT("B",APPTTIME,""))
|
||||||
|
I +APPID W "Error in deleting appointment-19",!
|
||||||
|
I $D(^DPT(DFN,"S",APPTTIME)) W "Error in deleting appointment-20",!
|
||||||
|
I $$SCIEN^BSDXAPI(DFN,HLIEN,APPTTIME) W "Error in deleting appointment-21",!
|
||||||
QUIT
|
QUIT
|
||||||
;
|
;
|
||||||
APPADD(BSDXY,BSDXSTART,BSDXEND,BSDXPATID,BSDXRES,BSDXLEN,BSDXNOTE,BSDXATID,BSDXRADEXAM) ;EP
|
APPADD(BSDXY,BSDXSTART,BSDXEND,BSDXPATID,BSDXRES,BSDXLEN,BSDXNOTE,BSDXATID,BSDXRADEXAM) ;EP
|
||||||
|
@ -168,6 +221,9 @@ APPADD(BSDXY,BSDXSTART,BSDXEND,BSDXPATID,BSDXRES,BSDXLEN,BSDXNOTE,BSDXATID,BSDXR
|
||||||
; ADO.net Recordset having fields:
|
; ADO.net Recordset having fields:
|
||||||
; AppointmentID and ErrorNumber
|
; AppointmentID and ErrorNumber
|
||||||
;
|
;
|
||||||
|
; NB: Specifying BSDXLEN and BSDXEND is redundant. For future programmers
|
||||||
|
; to sort out
|
||||||
|
;
|
||||||
;Test lines:
|
;Test lines:
|
||||||
;BSDX ADD NEW APPOINTMENT^3091122.0930^3091122.1000^370^Dr Office^30^EXAM^WALKIN
|
;BSDX ADD NEW APPOINTMENT^3091122.0930^3091122.1000^370^Dr Office^30^EXAM^WALKIN
|
||||||
;
|
;
|
||||||
|
@ -260,7 +316,11 @@ APPADD(BSDXY,BSDXSTART,BSDXEND,BSDXPATID,BSDXRES,BSDXLEN,BSDXNOTE,BSDXATID,BSDXR
|
||||||
N BSDXAPPTID
|
N BSDXAPPTID
|
||||||
S BSDXAPPTID=$$BSDXADD(BSDXSTART,BSDXEND,BSDXPATID,BSDXRESD,BSDXATID,BSDXRADEXAM)
|
S BSDXAPPTID=$$BSDXADD(BSDXSTART,BSDXEND,BSDXPATID,BSDXRESD,BSDXATID,BSDXRADEXAM)
|
||||||
I 'BSDXAPPTID D ERR(BSDXI,"-9~BSDX07 Error: Unable to add appointment to BSDX APPOINTMENT file.") Q ; no roll back needed! No appts made.
|
I 'BSDXAPPTID D ERR(BSDXI,"-9~BSDX07 Error: Unable to add appointment to BSDX APPOINTMENT file.") Q ; no roll back needed! No appts made.
|
||||||
I BSDXNOTE]"" D BSDXWP(BSDXAPPTID,BSDXNOTE) ; TODO: check for error and rollback
|
I BSDXNOTE]"" D BSDXWP(BSDXAPPTID,BSDXNOTE) ; no error checks are made here
|
||||||
|
; I don't think it's important b/c users can detect right away if the WP
|
||||||
|
; filing fails.
|
||||||
|
;
|
||||||
|
I $G(BSDXSIMERR1) D ERR(BSDXI,"-11~BSDX07 Error: Simulated Error"),ROLLBACK(BSDXAPPTID,.BSDXC) Q ; UT Line
|
||||||
;
|
;
|
||||||
; Only if we have a valid Hosp Loc can we make an appointment in 2/44
|
; Only if we have a valid Hosp Loc can we make an appointment in 2/44
|
||||||
; Use BSDXC array from before.
|
; Use BSDXC array from before.
|
||||||
|
@ -268,8 +328,7 @@ APPADD(BSDXY,BSDXSTART,BSDXEND,BSDXPATID,BSDXRES,BSDXLEN,BSDXNOTE,BSDXATID,BSDXR
|
||||||
I +BSDXSCD,$D(^SC(BSDXSCD,0)) D I +BSDXERR D ERR(BSDXI,"-10~BSDX07 Error: MAKE^BSDXAPI returned error code: "_BSDXERR),ROLLBACK(BSDXAPPTID,.BSDXC) Q
|
I +BSDXSCD,$D(^SC(BSDXSCD,0)) D I +BSDXERR D ERR(BSDXI,"-10~BSDX07 Error: MAKE^BSDXAPI returned error code: "_BSDXERR),ROLLBACK(BSDXAPPTID,.BSDXC) Q
|
||||||
. S BSDXERR=$$MAKE^BSDXAPI(.BSDXC)
|
. S BSDXERR=$$MAKE^BSDXAPI(.BSDXC)
|
||||||
. Q:BSDXERR
|
. Q:BSDXERR
|
||||||
. ;Update RPMS Clinic availability
|
. D AVUPDT(BSDXSCD,BSDXSTART,BSDXLEN) ; Update RPMS Clinic availability
|
||||||
. D AVUPDT(BSDXSCD,BSDXSTART,BSDXLEN)
|
|
||||||
;
|
;
|
||||||
;Return Recordset
|
;Return Recordset
|
||||||
L -^BSDXAPPT(BSDXPATID)
|
L -^BSDXAPPT(BSDXPATID)
|
||||||
|
@ -345,20 +404,13 @@ ADDEVT3(BSDXRES) ;
|
||||||
D EVENT^BMXMEVN("BSDX SCHEDULE",BSDXRESN)
|
D EVENT^BMXMEVN("BSDX SCHEDULE",BSDXRESN)
|
||||||
Q
|
Q
|
||||||
;
|
;
|
||||||
ERR(BSDXI,BSDXERR) ;Error processing
|
|
||||||
S BSDXI=BSDXI+1
|
|
||||||
S BSDXERR=$TR(BSDXERR,"^","~")
|
|
||||||
S ^BSDXTMP($J,BSDXI)="0^"_BSDXERR_$C(30)
|
|
||||||
S BSDXI=BSDXI+1
|
|
||||||
S ^BSDXTMP($J,BSDXI)=$C(31)
|
|
||||||
L -^BSDXAPPT(BSDXPATID)
|
|
||||||
Q
|
|
||||||
;
|
|
||||||
ROLLBACK(BSDXAPPTID,BSDXC) ; Private EP; Roll back appointment set
|
ROLLBACK(BSDXAPPTID,BSDXC) ; Private EP; Roll back appointment set
|
||||||
; DO NOT USE except as an emergency measure - only if unforseen error occurs
|
; DO NOT USE except as an emergency measure - only if unforseen error occurs
|
||||||
; Input:
|
; Input:
|
||||||
; Appointment ID to remove from ^BSDXAPPT
|
; Appointment ID to remove from ^BSDXAPPT
|
||||||
; BSDXC array (see array format in $$MAKE^BSDXAPI)
|
; BSDXC array (see array format in $$MAKE^BSDXAPI)
|
||||||
|
; NB: I am not sure whether I want to do $G to protect??
|
||||||
|
; I send the variables to this EP from the Symbol Table in ETRAP
|
||||||
D BSDXDEL^BSDX07(BSDXAPPTID)
|
D BSDXDEL^BSDX07(BSDXAPPTID)
|
||||||
S:$D(BSDXC) %=$$UNMAKE^BSDXAPI(.BSDXC) ; rtn value always 0
|
S:$D(BSDXC) %=$$UNMAKE^BSDXAPI(.BSDXC) ; rtn value always 0
|
||||||
QUIT
|
QUIT
|
||||||
|
@ -370,14 +422,24 @@ BSDXDEL(BSDXAPPTID) ;Private EP ; Deletes appointment BSDXAPPTID from ^BSDXAPPT
|
||||||
D ^DIK
|
D ^DIK
|
||||||
Q
|
Q
|
||||||
;
|
;
|
||||||
|
ERR(BSDXI,BSDXERR) ;Error processing - different from error trap.
|
||||||
|
S BSDXI=BSDXI+1
|
||||||
|
S BSDXERR=$TR(BSDXERR,"^","~")
|
||||||
|
S ^BSDXTMP($J,BSDXI)="0^"_BSDXERR_$C(30)
|
||||||
|
S BSDXI=BSDXI+1
|
||||||
|
S ^BSDXTMP($J,BSDXI)=$C(31)
|
||||||
|
L -^BSDXAPPT(BSDXPATID)
|
||||||
|
Q
|
||||||
|
;
|
||||||
ETRAP ;EP Error trap entry
|
ETRAP ;EP Error trap entry
|
||||||
N $ET S $ET="D ^%ZTER HALT" ; Emergency Error Trap
|
N $ET S $ET="D ^%ZTER HALT" ; Emergency Error Trap
|
||||||
D ^%ZTER
|
D ^%ZTER
|
||||||
S $EC="" ; Clear Error
|
S $EC="" ; Clear Error
|
||||||
|
I +$G(BSDXAPPTID) D ROLLBACK(BSDXAPPTID,.BSDXC) ; Rollback if BSDXAPPTID exists
|
||||||
; Log error message and send to client
|
; Log error message and send to client
|
||||||
I '$D(BSDXI) N BSDXI S BSDXI=0
|
I '$D(BSDXI) N BSDXI S BSDXI=0
|
||||||
D ERR(BSDXI,"-100~BSDX07 Error: "_$G(%ZTERZE))
|
D ERR(BSDXI,"-100~BSDX07 Error: "_$G(%ZTERZE))
|
||||||
Q
|
Q:$Q 1_U_"Mumps Error" Q
|
||||||
;
|
;
|
||||||
DAY ;;^SUN^MON^TUES^WEDNES^THURS^FRI^SATUR
|
DAY ;;^SUN^MON^TUES^WEDNES^THURS^FRI^SATUR
|
||||||
;
|
;
|
||||||
|
|
31
m/BSDX08.m
31
m/BSDX08.m
|
@ -1,5 +1,5 @@
|
||||||
BSDX08 ; VW/UJO/SMH - WINDOWS SCHEDULING RPCS ; 4/28/11 10:17am
|
BSDX08 ; VW/UJO/SMH - WINDOWS SCHEDULING RPCS ; 6/20/12 3:52pm
|
||||||
;;1.6T2;BSDX;;May 16, 2011
|
;;1.6;BSDX;;Aug 31, 2011;Build 18
|
||||||
;
|
;
|
||||||
; Original by HMW. New Written by Sam Habiel. Licensed under LGPL.
|
; Original by HMW. New Written by Sam Habiel. Licensed under LGPL.
|
||||||
;
|
;
|
||||||
|
@ -34,18 +34,35 @@ BSDX08 ; VW/UJO/SMH - WINDOWS SCHEDULING RPCS ; 4/28/11 10:17am
|
||||||
;
|
;
|
||||||
APPDELD(BSDXY,BSDXAPTID,BSDXTYP,BSDXCR,BSDXNOT) ;EP
|
APPDELD(BSDXY,BSDXAPTID,BSDXTYP,BSDXCR,BSDXNOT) ;EP
|
||||||
;Entry point for debugging
|
;Entry point for debugging
|
||||||
D DEBUG^%Serenji("APPDEL^BSDX08(.BSDXY,BSDXAPTID,BSDXTYP,BSDXCR,BSDXNOT)")
|
;D DEBUG^%Serenji("APPDEL^BSDX08(.BSDXY,BSDXAPTID,BSDXTYP,BSDXCR,BSDXNOT)")
|
||||||
Q
|
Q
|
||||||
;
|
;
|
||||||
UT ; Unit Tests
|
UT ; Unit Tests
|
||||||
|
N RESNAM S RESNAM="UTCLINIC"
|
||||||
|
N HLRESIENS ; holds output of UTCR^BSDX35 - HL IEN^Resource IEN
|
||||||
|
D
|
||||||
|
. N $ET S $ET="D ^%ZTER B"
|
||||||
|
. S HLRESIENS=$$UTCR^BSDX35(RESNAM)
|
||||||
|
. I HLRESIENS<0 S $EC=",U1," ; not supposed to happen - hard crash if so
|
||||||
|
;
|
||||||
|
N HLIEN,RESIEN
|
||||||
|
S HLIEN=$P(HLRESIENS,U)
|
||||||
|
S RESIEN=$P(HLRESIENS,U,2)
|
||||||
|
;
|
||||||
|
; Get start and end times
|
||||||
|
N TIMES S TIMES=$$TIMES^BSDX35 ; appt time^end time
|
||||||
|
N APPTTIME S APPTTIME=$P(TIMES,U)
|
||||||
|
N ENDTIME S ENDTIME=$P(TIMES,U,2)
|
||||||
|
;
|
||||||
; Test 1: Make normal appointment and cancel it. See if every thing works
|
; Test 1: Make normal appointment and cancel it. See if every thing works
|
||||||
N ZZZ
|
N ZZZ,DFN
|
||||||
D APPADD^BSDX07(.ZZZ,3110123.2,3110123.3,4,"Dr Office",10,"Sam's Note",1)
|
S DFN=3
|
||||||
|
D APPADD^BSDX07(.ZZZ,APPTTIME,ENDTIME,DFN,RESNAM,30,"Sam's Note",1)
|
||||||
S APPID=+$P(^BSDXTMP($J,1),U)
|
S APPID=+$P(^BSDXTMP($J,1),U)
|
||||||
D APPDEL^BSDX08(.ZZZ,APPID,"PC",1,"Sam's Cancel Note")
|
D APPDEL^BSDX08(.ZZZ,APPID,"PC",1,"Sam's Cancel Note")
|
||||||
I $P(^BSDXAPPT(APPID,0),U,12)'>0 W "Error in Cancellation-1"
|
I $P(^BSDXAPPT(APPID,0),U,12)'>0 W "Error in Cancellation-1"
|
||||||
I $O(^SC(2,"S",3110123.2,1,0))]"" W "Error in Cancellation-2"
|
I $O(^SC(2,"S",APPTTIME,1,0))]"" W "Error in Cancellation-2"
|
||||||
I $P(^DPT(4,"S",3110123.2,0),U,2)'="PC" W "Error in Cancellation-3"
|
I $P(^DPT(4,"S",APPTTIME,0),U,2)'="PC" W "Error in Cancellation-3"
|
||||||
I ^DPT(4,"S",3110123.2,"R")'="Sam's Cancel Note" W "Error in Cancellation-4"
|
I ^DPT(4,"S",3110123.2,"R")'="Sam's Cancel Note" W "Error in Cancellation-4"
|
||||||
;
|
;
|
||||||
; Test 2: Check for -1
|
; Test 2: Check for -1
|
||||||
|
|
|
@ -1,5 +1,5 @@
|
||||||
BSDX09 ; IHS/OIT/HMW - WINDOWS SCHEDULING RPCS ; ; 4/28/11 10:18am
|
BSDX09 ; IHS/OIT/HMW - WINDOWS SCHEDULING RPCS ; ; 4/28/11 10:18am
|
||||||
;;1.6T2;BSDX;;May 16, 2011;Build 7
|
;;1.6;BSDX;;Aug 31, 2011;Build 18
|
||||||
; Licensed under LGPL
|
; Licensed under LGPL
|
||||||
;
|
;
|
||||||
; Change Log:
|
; Change Log:
|
||||||
|
|
16
m/BSDXAPI.m
16
m/BSDXAPI.m
|
@ -1,9 +1,9 @@
|
||||||
BSDXAPI ; IHS/ANMC/LJF & VW/SMH - SCHEDULING APIs ; 6/19/12 5:42pm
|
BSDXAPI ; IHS/ANMC/LJF & VW/SMH - SCHEDULING APIs ; 6/20/12 12:40pm
|
||||||
;;1.7T1;BSDX;;Aug 31, 2011;Build 18
|
;;1.7T1;BSDX;;Aug 31, 2011;Build 18
|
||||||
; Licensed under LGPL
|
; Licensed under LGPL
|
||||||
;
|
;
|
||||||
;Orignal routine is BSDAPI by IHS/LJF, HMW, and MAW
|
;Orignal routine is BSDAPI by IHS/LJF, HMW, and MAW
|
||||||
;local mods (many) by WV/SMH
|
; mods (many) by WV/SMH
|
||||||
;Move to BSDX namespace as BSDXAPI from BSDAPI by WV/SMH
|
;Move to BSDX namespace as BSDXAPI from BSDAPI by WV/SMH
|
||||||
; Change History:
|
; Change History:
|
||||||
; 2010-11-5: (1.42)
|
; 2010-11-5: (1.42)
|
||||||
|
@ -86,11 +86,14 @@ MAKE(BSDR) ;PEP; call to store appt made
|
||||||
. S BSDXFDA(2.98,BSDXIENS,"14")=""
|
. S BSDXFDA(2.98,BSDXIENS,"14")=""
|
||||||
. S BSDXFDA(2.98,BSDXIENS,"15")=""
|
. S BSDXFDA(2.98,BSDXIENS,"15")=""
|
||||||
. S BSDXFDA(2.98,BSDXIENS,"16")=""
|
. S BSDXFDA(2.98,BSDXIENS,"16")=""
|
||||||
|
. S BSDXFDA(2.98,BSDXIENS,"17")="@" ; v 1.7; cancellation remarks were left over
|
||||||
. S BSDXFDA(2.98,BSDXIENS,"19")=""
|
. S BSDXFDA(2.98,BSDXIENS,"19")=""
|
||||||
. S BSDXFDA(2.98,BSDXIENS,"20")=$$NOW^XLFDT
|
. S BSDXFDA(2.98,BSDXIENS,"20")=$$NOW^XLFDT
|
||||||
. D FILE^DIE("","BSDXFDA","BSDXMSG")
|
. D FILE^DIE("","BSDXFDA","BSDXMSG")
|
||||||
Q:$D(BSDXMSG) 1_U_"Fileman edit to DPT error: Patient="_BSDR("PAT")_" Appt="_BSDR("ADT")_" Error="_BSDXMSG("DIERR",1,"TEXT",1)
|
Q:$D(BSDXMSG) 1_U_"Fileman edit to DPT error: Patient="_BSDR("PAT")_" Appt="_BSDR("ADT")_" Error="_BSDXMSG("DIERR",1,"TEXT",1)
|
||||||
;
|
;
|
||||||
|
Q:$G(BSDXSIMERR2) 1_U_$NA(BSDXSIMERR2) ; Unit Test line
|
||||||
|
;
|
||||||
E D ; File new appointment/edit existing appointment in file 2
|
E D ; File new appointment/edit existing appointment in file 2
|
||||||
. S BSDXIENS="?+2,"_BSDR("PAT")_","
|
. S BSDXIENS="?+2,"_BSDR("PAT")_","
|
||||||
. S BSDXIENS(2)=BSDR("ADT")
|
. S BSDXIENS(2)=BSDR("ADT")
|
||||||
|
@ -101,6 +104,8 @@ MAKE(BSDR) ;PEP; call to store appt made
|
||||||
. D UPDATE^DIE("","BSDXFDA","BSDXIENS","BSDXMSG")
|
. D UPDATE^DIE("","BSDXFDA","BSDXIENS","BSDXMSG")
|
||||||
Q:$D(BSDXMSG) 1_U_"FileMan add to DPT error: Patient="_BSDR("PAT")_" Appt="_BSDR("ADT")_" Error="_BSDXMSG("DIERR",1,"TEXT",1)
|
Q:$D(BSDXMSG) 1_U_"FileMan add to DPT error: Patient="_BSDR("PAT")_" Appt="_BSDR("ADT")_" Error="_BSDXMSG("DIERR",1,"TEXT",1)
|
||||||
;
|
;
|
||||||
|
Q:$G(BSDXSIMERR3) 1_U_$NA(BSDXSIMERR3) ; Unit Test line
|
||||||
|
;
|
||||||
; add appt to file 44. This adds it to the FIRST subfile (Appointment)
|
; add appt to file 44. This adds it to the FIRST subfile (Appointment)
|
||||||
N DIC,DA,Y,X,DD,DO,DLAYGO
|
N DIC,DA,Y,X,DD,DO,DLAYGO
|
||||||
I '$D(^SC(BSDR("CLN"),"S",0)) S ^SC(BSDR("CLN"),"S",0)="^44.001DA^^"
|
I '$D(^SC(BSDR("CLN"),"S",0)) S ^SC(BSDR("CLN"),"S",0)="^44.001DA^^"
|
||||||
|
@ -109,6 +114,8 @@ MAKE(BSDR) ;PEP; call to store appt made
|
||||||
. S DIC("P")="44.001DA",DIC(0)="L",DLAYGO=44.001
|
. S DIC("P")="44.001DA",DIC(0)="L",DLAYGO=44.001
|
||||||
. S Y=1 I '$D(@(DIC_X_")")) D FILE^DICN
|
. S Y=1 I '$D(@(DIC_X_")")) D FILE^DICN
|
||||||
;
|
;
|
||||||
|
Q:$G(BSDXSIMERR4) 1_U_$NA(BSDXSIMERR4) ; Unit Test line
|
||||||
|
;
|
||||||
; add appt for file 44, second subfile (Appointment/Patient)
|
; add appt for file 44, second subfile (Appointment/Patient)
|
||||||
; Sep 28 2010: Changed old style API to new style API. Keep for reference //smh
|
; Sep 28 2010: Changed old style API to new style API. Keep for reference //smh
|
||||||
;K DIC,DA,X,Y,DLAYGO,DD,DO,DINUM
|
;K DIC,DA,X,Y,DLAYGO,DD,DO,DINUM
|
||||||
|
@ -130,6 +137,9 @@ MAKE(BSDR) ;PEP; call to store appt made
|
||||||
;
|
;
|
||||||
I $D(BSDXERR) Q 1_U_"Error adding appt to file 44: Clinic="_BSDR("CLN")_" Date="_BSDR("ADT")_" Patient="_BSDR("PAT")_" Error: "_BSDXERR("DIERR",1,"TEXT",1)
|
I $D(BSDXERR) Q 1_U_"Error adding appt to file 44: Clinic="_BSDR("CLN")_" Date="_BSDR("ADT")_" Patient="_BSDR("PAT")_" Error: "_BSDXERR("DIERR",1,"TEXT",1)
|
||||||
;
|
;
|
||||||
|
;Q:$G(BSDXSIMERR5) 1_U_$NA(BSDXSIMERR5) ; Unit Test line
|
||||||
|
S:$G(BSDXSIMERR5) X=1/0
|
||||||
|
;
|
||||||
; call event driver
|
; call event driver
|
||||||
NEW DFN,SDT,SDCL,SDDA,SDMODE
|
NEW DFN,SDT,SDCL,SDDA,SDMODE
|
||||||
S DFN=BSDR("PAT"),SDT=BSDR("ADT"),SDCL=BSDR("CLN"),SDMODE=2
|
S DFN=BSDR("PAT"),SDT=BSDR("ADT"),SDCL=BSDR("CLN"),SDMODE=2
|
||||||
|
@ -175,7 +185,7 @@ UNMAKE(BSDR) ; Reverse Make - Private $$
|
||||||
; Output: Always 0
|
; Output: Always 0
|
||||||
NEW DIK,DA
|
NEW DIK,DA
|
||||||
S DIK="^DPT("_BSDR("PAT")_",""S"","
|
S DIK="^DPT("_BSDR("PAT")_",""S"","
|
||||||
S DA(1)=BSDR("PAT"),DA=BSDX("ADT")
|
S DA(1)=BSDR("PAT"),DA=BSDR("ADT")
|
||||||
D ^DIK
|
D ^DIK
|
||||||
;
|
;
|
||||||
N IEN S IEN=$$SCIEN(BSDR("PAT"),BSDR("CLN"),BSDR("ADT"))
|
N IEN S IEN=$$SCIEN(BSDR("PAT"),BSDR("CLN"),BSDR("ADT"))
|
||||||
|
|
Loading…
Reference in New Issue