M routines to support Radiology Scheduling Integration; version bumped to 1.6t1

This commit is contained in:
sam 2011-05-11 11:57:58 +00:00
parent 931eaf0533
commit a93d9f05ed
37 changed files with 115 additions and 110 deletions

View File

@ -1,5 +1,5 @@
BSDX01 ; IHS/OIT/HMW - WINDOWS SCHEDULING RPCS ; 4/28/11 10:14am
;;1.5;BSDX;;Apr 28, 2011
;;1.6T1;BSDX;;May 11, 2011
; Licensed under LGPL
;
SUINFOD(BSDXY,BSDXDUZ) ;EP Debugging entry point
@ -319,71 +319,71 @@ UnitTestINDIV2
I $$INDIV2(27)'=1 W "ERROR",!
QUIT
;
GETRADEX(BSDXY,DFN,SCIEN) ; Get All Pending and On Hold Radiology Exams for Patient; RPC EP; UJO/SMH new in v 1.6
; RPC: BSDX GET RAD EXAM FOR PT; Return: Global Array
;
; Input: DFN - you should know; SCIEN - IEN of Hospital Location
; Output: ADO Datatable with the following columns:
; - BMXIEN: Radiology Exam IEN in file 75.1 (RAD/NUC MED ORDERS)
; - STATUS: Pending Or Hold Status
; - PROCEDURE: Text Procedure Name
; - REQUEST_DATE: Date Procedure was requested
;
; Error Processing: Silent failure.
;
S BSDXY=$NA(^BMXTEMP($J))
K @BSDXY
;
N BSDXI S BSDXI=0
S @BSDXY@(BSDXI)="I00015BMXIEN^T00015STATUS^T00100PROCEDURE^D00030REQUEST_DATE"_$C(30)
;
N BSDXRLIEN S BSDXRLIEN=$ORDER(^RA(79.1,"B",SCIEN,"")) ; IEN of HL in file 79.1, to get Radiology Imaging IEN
I 'BSDXRLIEN GOTO END
;
N BSDXOUT,BSDXERR ; Out, Error
;
; File 75.1 = RAD/NUC MED ORDERS
; Fields 5 = Request Status; 2 = Procedure; 16 = Requested Entered Date Time
; Filter Field: First piece is DFN, 5th piece is 3 or 5 (Status of Pending Or Hold); 20th piece is Radiology Location requested
D LIST^DIC(75.1,"","@;5;2;16","P","","","","B","I $P(^(0),U)=DFN&(35[$P(^(0),U,5))&($P(^(0),U,20)=BSDXRLIEN)","","BSDXOUT","BSDXERR")
;
IF $DATA(BSDXERR) GOTO END
;
I +BSDXOUT("DILIST",0)>0 FOR BSDXI=1:1:+BSDXOUT("DILIST",0) DO ; if we have data, fetch the data in each row and store it in the return variable
. N BMXIEN,BMXSTAUS,BMXPROC,BMXDATE ; Proc IEN, Proc Status, Proc Name
. S BMXIEN=$P(BSDXOUT("DILIST",BSDXI,0),U) ; IEN
. S BMXSTATUS=$P(BSDXOUT("DILIST",BSDXI,0),U,2) ; Status
. S BMXPROC=$P(BSDXOUT("DILIST",BSDXI,0),U,3) ; Procedure Name
. S BMXDATE=$TR($P(BSDXOUT("DILIST",BSDXI,0),U,4),"@"," ") ; Request Entered Date Time
. S @BSDXY@(BSDXI)=BMXIEN_U_BMXSTATUS_U_BMXPROC_U_BMXDATE_$C(30)
END ; Errors Jump Here...
S @BSDXY@(BSDXI+1)=$C(31)
QUIT
;
SCHRAEX(BSDXY,RADFN,RAOIFN,RAOSCH) ; Schedule a Radiology Exam; RPC EP; UJO/SMH new in v 1.6
; RPC: BSDX SCHEDULE RAD EXAM; Return: Single Value
;
; Input:
; - RADFN -> DFN
; - RAOIFN -> Radiology Order IEN in file 75.1
; - RAOSCH -> Scheduled Time for Exam
; Output: Always "1"
;
S RAOSCH=+RAOSCH ; Strip the trailing zeros from the Fileman Date produced by C#
N RAOSTS S RAOSTS=8 ; Status of Scheduled
D ^RAORDU ; API in Rad expects RADFN, RAOIFN, RAOSCH, and RAOSTS
S BSDXY=1 ; Success
QUIT
;
HOLDRAEX(BSDXY,RADFN,RAOIFN) ; Hold a Radiology Exam; RPC EP; UJO/SMH new in v 1.6
; RPC: BSDX HOLD RAD EXAM; Return: Single Vale
;
; Input:
; - RADFN -> DFN
; - RAOIFN -> Radiology Order IEN in file 75.1
; Output: Always "1"
N RAOSTS S RAOSTS=3 ; Status of Hold
N RAOREA S RAOREA=20 ; Reason: Exam Cancelled
D ^RAORDU
S BSDXY=1 ; Success
QUIT
GETRADEX(BSDXY,DFN,SCIEN) ; Get All Pending and On Hold Radiology Exams for Patient; RPC EP; UJO/SMH new in v 1.6
; RPC: BSDX GET RAD EXAM FOR PT; Return: Global Array
;
; Input: DFN - you should know; SCIEN - IEN of Hospital Location
; Output: ADO Datatable with the following columns:
; - BMXIEN: Radiology Exam IEN in file 75.1 (RAD/NUC MED ORDERS)
; - STATUS: Pending Or Hold Status
; - PROCEDURE: Text Procedure Name
; - REQUEST_DATE: Date Procedure was requested
;
; Error Processing: Silent failure.
;
S BSDXY=$NA(^BMXTEMP($J))
K @BSDXY
;
N BSDXI S BSDXI=0
S @BSDXY@(BSDXI)="I00015BMXIEN^T00015STATUS^T00100PROCEDURE^D00030REQUEST_DATE"_$C(30)
;
N BSDXRLIEN S BSDXRLIEN=$ORDER(^RA(79.1,"B",SCIEN,"")) ; IEN of HL in file 79.1, to get Radiology Imaging IEN
I 'BSDXRLIEN GOTO END
;
N BSDXOUT,BSDXERR ; Out, Error
;
; File 75.1 = RAD/NUC MED ORDERS
; Fields 5 = Request Status; 2 = Procedure; 16 = Requested Entered Date Time
; Filter Field: First piece is DFN, 5th piece is 3 or 5 (Status of Pending Or Hold); 20th piece is Radiology Location requested
D LIST^DIC(75.1,"","@;5;2;16","P","","","","B","I $P(^(0),U)=DFN&(35[$P(^(0),U,5))&($P(^(0),U,20)=BSDXRLIEN)","","BSDXOUT","BSDXERR")
;
IF $DATA(BSDXERR) GOTO END
;
I +BSDXOUT("DILIST",0)>0 FOR BSDXI=1:1:+BSDXOUT("DILIST",0) DO ; if we have data, fetch the data in each row and store it in the return variable
. N BMXIEN,BMXSTAUS,BMXPROC,BMXDATE ; Proc IEN, Proc Status, Proc Name
. S BMXIEN=$P(BSDXOUT("DILIST",BSDXI,0),U) ; IEN
. S BMXSTATUS=$P(BSDXOUT("DILIST",BSDXI,0),U,2) ; Status
. S BMXPROC=$P(BSDXOUT("DILIST",BSDXI,0),U,3) ; Procedure Name
. S BMXDATE=$TR($P(BSDXOUT("DILIST",BSDXI,0),U,4),"@"," ") ; Request Entered Date Time
. S @BSDXY@(BSDXI)=BMXIEN_U_BMXSTATUS_U_BMXPROC_U_BMXDATE_$C(30)
END ; Errors Jump Here...
S @BSDXY@(BSDXI+1)=$C(31)
QUIT
;
SCHRAEX(BSDXY,RADFN,RAOIFN,RAOSCH) ; Schedule a Radiology Exam; RPC EP; UJO/SMH new in v 1.6
; RPC: BSDX SCHEDULE RAD EXAM; Return: Single Value
;
; Input:
; - RADFN -> DFN
; - RAOIFN -> Radiology Order IEN in file 75.1
; - RAOSCH -> Scheduled Time for Exam
; Output: Always "1"
;
S RAOSCH=+RAOSCH ; Strip the trailing zeros from the Fileman Date produced by C#
N RAOSTS S RAOSTS=8 ; Status of Scheduled
D ^RAORDU ; API in Rad expects RADFN, RAOIFN, RAOSCH, and RAOSTS
S BSDXY=1 ; Success
QUIT
;
HOLDRAEX(BSDXY,RADFN,RAOIFN) ; Hold a Radiology Exam; RPC EP; UJO/SMH new in v 1.6
; RPC: BSDX HOLD RAD EXAM; Return: Single Vale
;
; Input:
; - RADFN -> DFN
; - RAOIFN -> Radiology Order IEN in file 75.1
; Output: Always "1"
N RAOSTS S RAOSTS=3 ; Status of Hold
N RAOREA S RAOREA=20 ; Reason: Exam Cancelled
D ^RAORDU
S BSDXY=1 ; Success
QUIT

View File

@ -1,5 +1,5 @@
BSDX02 ; IHS/OIT/HMW - WINDOWS SCHEDULING RPCS ; 4/28/11 10:14am
;;1.5;BSDX;;Apr 28, 2011
BSDX02 ; IHS/OIT/HMW - WINDOWS SCHEDULING RPCS ; 5/11/11 11:33am
;;1.6T1;BSDX;;May 11, 2011
;Licensed under LGPL
; Change Log
; July 15 2010: UJO/SMH - Pass FM dates in instead of US dates for i18n
@ -99,7 +99,7 @@ STCOMM(BSDXAD,BSDXRESN) ;
; Note strange way I retrieve the value. B/c DOB Output Transform
; Outputs it in MM/DD/YYYY format, which is ambigous for C#.
N DOB S DOB=$$FMTE^XLFDT($$GET1^DIQ(2,BSDXPATD,.03,"I")) ; DOB
N RADEX S RADEX=$P(BSDXNOD,U,14)
N RADEX S RADEX=$P(BSDXNOD,U,14) ;Radiology exam
S ^BSDXTMP($J,BSDXI)=SEX_U_PID_U_DOB_U_RADEX_$C(30)
; end new code
Q

View File

@ -1,5 +1,5 @@
BSDX03 ; IHS/OIT/HMW - WINDOWS SCHEDULING RPCS ; 4/28/11 10:14am
;;1.5;BSDX;;Apr 28, 2011
;;1.6T1;BSDX;;May 11, 2011
;Licensed under LGPL
;
;

View File

@ -1,5 +1,5 @@
BSDX04 ; IHS/OIT/HMW - WINDOWS SCHEDULING RPCS ; ; 4/28/11 10:15am
;;1.5;BSDX;;Apr 28, 2011
;;1.6T1;BSDX;;May 11, 2011
; Licensed under LGPL
; Change Log:
; July 11 2010: Pass BSDXSTART and END as FM dates rather than US formatted dates

View File

@ -1,5 +1,5 @@
BSDX05 ; IHS/OIT/HMW - WINDOWS SCHEDULING RPCS ; 4/28/11 10:16am
;;1.5;BSDX;;Apr 28, 2011
;;1.6T1;BSDX;;May 11, 2011
; Licensed under LGPL
;
; Change Log:

View File

@ -1,5 +1,5 @@
BSDX06 ; IHS/OIT/HMW - WINDOWS SCHEDULING RPCS ; 4/28/11 10:16am
;;1.5;BSDX;;Apr 28, 2011
;;1.6T1;BSDX;;May 11, 2011
; Licensed under LGPL
; Change Log:
; UJO/SMH: July 15 2010: Change in BSDXSTART and BSDXEND: get

View File

@ -1,5 +1,5 @@
BSDX07 ; VW/UJO/SMH - WINDOWS SCHEDULING RPCS ; 4/28/11 10:17am
;;1.5;BSDX;;Apr 28, 2011
;;1.6T1;BSDX;;May 11, 2011
; Licensed under LGPL
;
; Change Log:

View File

@ -1,5 +1,5 @@
BSDX08 ; VW/UJO/SMH - WINDOWS SCHEDULING RPCS ; 4/28/11 10:17am
;;1.5;BSDX;;Apr 28, 2011
;;1.6T1;BSDX;;May 11, 2011
;
; Original by HMW. New Written by Sam Habiel. Licensed under LGPL.
;

View File

@ -1,5 +1,5 @@
BSDX09 ; IHS/OIT/HMW - WINDOWS SCHEDULING RPCS ; ; 4/28/11 10:18am
;;1.5;BSDX;;Apr 28, 2011;Build 7
;;1.6T1;BSDX;;May 11, 2011;Build 7
; Licensed under LGPL
;
; Change Log:
@ -11,7 +11,7 @@ BSDX09 ; IHS/OIT/HMW - WINDOWS SCHEDULING RPCS ; ; 4/28/11 10:18am
;
; UJO/TH - v 1.3 on 3100715 - Change SSN to PID and get PID field instead
;
; UJO/TH - v 1.42 on 3101020 - Add Sex field.
; UJO/TH - v 1.42 on 3101020 - Add Sex field.
;
GETREGA(BSDXRET,BSDXPAT) ;EP
;

View File

@ -1,5 +1,5 @@
BSDX11 ; IHS/OIT/HMW - WINDOWS SCHEDULING RPCS ; 4/28/11 10:18am
;;1.5;BSDX;;Apr 28, 2011
;;1.6T1;BSDX;;May 11, 2011
; Licensed under LGPL
;
ENV0100 ;EP Version 1.0 Environment check

View File

@ -1,5 +1,5 @@
BSDX12 ; IHS/OIT/HMW - WINDOWS SCHEDULING RPCS ; 4/28/11 10:18am
;;1.5;BSDX;;Apr 28, 2011
;;1.6T1;BSDX;;May 11, 2011
; Licensed under LGPL
;
; Change Log:

View File

@ -1,5 +1,5 @@
BSDX13 ; IHS/OIT/HMW - WINDOWS SCHEDULING RPCS ; 4/28/11 10:19am
;;1.5;BSDX;;Apr 28, 2011
;;1.6T1;BSDX;;May 11, 2011
; Licensed under LGPL
;
; Change Log:

View File

@ -1,5 +1,5 @@
BSDX14 ; IHS/OIT/HMW - WINDOWS SCHEDULING RPCS ; 4/28/11 10:19am
;;1.5;BSDX;;Apr 28, 2011
;;1.6T1;BSDX;;May 11, 2011
; Licensed under LGPL
;
;

View File

@ -1,5 +1,5 @@
BSDX15 ; IHS/OIT/HMW - WINDOWS SCHEDULING RPCS ; 4/28/11 10:19am
;;1.5;BSDX;;Apr 28, 2011
;;1.6T1;BSDX;;May 11, 2011
; Licensed under LGPL
;
;

View File

@ -1,5 +1,5 @@
BSDX16 ; IHS/OIT/HMW - WINDOWS SCHEDULING RPCS ; ; 4/28/11 10:20am
;;1.5;BSDX;;Apr 28, 2011
;;1.6T1;BSDX;;May 11, 2011
; Licensed under LGPL
;
;

View File

@ -1,5 +1,5 @@
BSDX17 ; IHS/OIT/HMW - WINDOWS SCHEDULING RPCS ; 4/28/11 10:20am
;;1.5;BSDX;;Apr 28, 2011
;;1.6T1;BSDX;;May 11, 2011
; Licensed under LGPL
;
;

View File

@ -1,5 +1,5 @@
BSDX18 ; IHS/OIT/HMW - WINDOWS SCHEDULING RPCS ; 4/28/11 10:20am
;;1.5;BSDX;;Apr 28, 2011
;;1.6T1;BSDX;;May 11, 2011
; Licensed under LGPL
;
;

View File

@ -1,5 +1,5 @@
BSDX19 ; IHS/OIT/HMW - WINDOWS SCHEDULING RPCS ; 4/28/11 10:21am
;;1.5;BSDX;;Apr 28, 2011
;;1.6T1;BSDX;;May 11, 2011
; Licensed under LGPL
;
;

View File

@ -1,5 +1,5 @@
BSDX20 ; IHS/OIT/HMW - WINDOWS SCHEDULING RPCS ; 4/28/11 10:21am
;;1.5;BSDX;;Apr 28, 2011
;;1.6T1;BSDX;;May 11, 2011
; Licensed under LGPL
;
;

View File

@ -1,5 +1,5 @@
BSDX21 ; IHS/OIT/HMW - WINDOWS SCHEDULING RPCS ; 4/28/11 10:22am
;;1.5;BSDX;;Apr 28, 2011
;;1.6T1;BSDX;;May 11, 2011
; Licensed under LGPL
;
;

View File

@ -1,5 +1,5 @@
BSDX22 ; IHS/OIT/HMW - WINDOWS SCHEDULING RPCS ; 4/28/11 10:22am
;;1.5;BSDX;;Apr 28, 2011
;;1.6T1;BSDX;;May 11, 2011
; Licensed under LGPL
;
;

View File

@ -1,5 +1,5 @@
BSDX23 ; IHS/OIT/HMW - WINDOWS SCHEDULING RPCS ; 4/28/11 10:22am
;;1.5;BSDX;;Apr 28, 2011
;;1.6T1;BSDX;;May 11, 2011
; Licensed under LGPL
;
;

View File

@ -1,5 +1,5 @@
BSDX24 ; IHS/OIT/HMW - WINDOWS SCHEDULING RPCS ; 4/28/11 10:22am
;;1.5;BSDX;;Apr 28, 2011
;;1.6T1;BSDX;;May 11, 2011
; Licensed under LGPL
;
;

View File

@ -1,5 +1,5 @@
BSDX25 ; VW/UJO/SMH - WINDOWS SCHEDULING RPCS ; 4/28/11 10:24am
;;1.5;BSDX;;Apr 28, 2011
;;1.6T1;BSDX;;May 11, 2011
; Licensed under LGPL
;
; Change Log:

View File

@ -1,5 +1,5 @@
BSDX26 ; IHS/OIT/HMW - WINDOWS SCHEDULING RPCS ; 4/28/11 10:24am
;;1.5;BSDX;;Apr 28, 2011
;;1.6T1;BSDX;;May 11, 2011
; Licensed under LGPL
; Change History:
; 3101023 - UJO/SMH - Addition of restartable transaction; relocation of tx.

View File

@ -1,5 +1,5 @@
BSDX27 ; IHS/OIT/HMW - WINDOWS SCHEDULING RPCS ; 4/28/11 10:24am
;;1.5;BSDX;;Apr 28, 2011
;;1.6T1;BSDX;;May 11, 2011
; Licensed under LGPL
;
; Change Log: July 15, 2010

View File

@ -1,5 +1,5 @@
BSDX28 ; IHS/OIT/HMW - WINDOWS SCHEDULING RPCS ; 4/28/11 10:25am
;;1.5;BSDX;;Apr 28, 2011
;;1.6T1;BSDX;;May 11, 2011
; Licensed under LGPL
; Change Log:
; HMW 3050721 Added test for inactivated record
@ -27,7 +27,7 @@ PTLOOKRS(BSDXY,BSDXP,BSDXC) ;EP Patient Lookup
S BSDXRET="T00030NAME^T00030HRN^T00030PID^D00030DOB^T00030IEN"_$C(30)
I '+$G(DUZ) S BSDXY=BSDXRET_$C(31) Q
I '$D(DUZ(2)) S BSDXY=BSDXRET_$C(31) Q
DFN ;If DFN is passed as `nnnn, just return that patient
DFN ;If DFN is passed as `nnnn, just return that patient
I $E(BSDXP)="`" DO SET BSDXY=BSDXRET_$C(31) QUIT
. N BSDXIEN S BSDXIEN=$E(BSDXP,2,99)
. I BSDXIEN'=+BSDXIEN QUIT ; BSDXIEN must be numeric

View File

@ -1,5 +1,5 @@
BSDX29 ; IHS/OIT/HMW - WINDOWS SCHEDULING RPCS ; 4/28/11 10:25am
;;1.5;BSDX;;Apr 28, 2011
;;1.6T1;BSDX;;May 11, 2011
; Licensed under LGPL
;
; Change Log:

View File

@ -1,5 +1,5 @@
BSDX2E ;IHS/OIT/MJL - ENVIRONMENT CHECK FOR WINDOWS SCHEDULING [4/28/11 10:28am]
;;1.5;BSDX;;Apr 28, 2011
;;1.6T1;BSDX;;May 11, 2011
; Licensed under LGPL
;
S LINE="",$P(LINE,"*",81)=""

View File

@ -1,5 +1,5 @@
BSDX30 ; IHS/OIT/HMW - WINDOWS SCHEDULING RPCS ; [4/28/11 10:28am]
;;1.5;BSDX;;Apr 28, 2011
;;1.6T1;BSDX;;May 11, 2011
; Licensed under LGPL
;
;

View File

@ -1,5 +1,5 @@
BSDX31 ; IHS/OIT/HMW - WINDOWS SCHEDULING RPCS ; 4/28/11 10:28am
;;1.5;BSDX;;Apr 28, 2011
;;1.6T1;BSDX;;May 11, 2011
; Licensed under LGPL
; Change Log:
; v1.42 Oct 23 2010 WV/SMH

View File

@ -1,7 +1,11 @@
BSDX32 ; IHS/OIT/HMW - WINDOWS SCHEDULING RPCS ; 4/28/11 10:28am
;;1.5;BSDX;;Apr 28, 2011
BSDX32 ; IHS/OIT/HMW - WINDOWS SCHEDULING RPCS ; 5/11/11 10:39am
;;1.6T1;BSDX;;May 11, 2011
; Licensed under LGPL
;
; Change Log:
; April 2011: Added Field "IS_RADIOLOGY_LOCATION" to help decide if the Hospital Location
; should be treated in the GUI as a Radiology Location
;
;
ERROR ;
D ERR("RPMS Error")
@ -51,6 +55,7 @@ HOSPLOC(BSDXY) ;EP
. . Q
. ; Decide if this is a radiology location - Check "B" index of ^RA(79.1 global to see if HL is there
. N BSDXISRAD S BSDXISRAD=''$DATA(^RA(79.1,"B",BSDXIEN))
. ;
. S BSDXI=BSDXI+1
. S ^BSDXTMP($J,BSDXI)=BSDXIEN_U_BSDXNAM_U_BSDXPRV_U_BSDXSCOD_U_BSDXINA_U_BSDXREA_U_BSDXISRAD_$C(30)
. Q

View File

@ -1,5 +1,5 @@
BSDX33 ; IHS/OIT/HMW - WINDOWS SCHEDULING RPCS ; 4/28/11 10:29am
;;1.5;BSDX;;Apr 28, 2011
;;1.6T1;BSDX;;May 11, 2011
; Licensed under LGPL
; Mods by WV/STAR
;

View File

@ -1,5 +1,5 @@
BSDX34 ; IHS/OIT/HMW - WINDOWS SCHEDULING RPCS ; 4/28/11 10:29am
;;1.5;BSDX;;Apr 28, 2011
;;1.6T1;BSDX;;May 11, 2011
; Licensed under LGPL
;
; Change Log:

View File

@ -1,5 +1,5 @@
BSDX35 ; IHS/OIT/HMW - WINDOWS SCHEDULING RPCS ; 4/28/11 10:29am
;;1.5;BSDX;;Apr 28, 2011
;;1.6T1;BSDX;;May 11, 2011
; Licensed under LGPL
;
;

View File

@ -1,5 +1,5 @@
BSDXAPI ; IHS/ANMC/LJF & VW/SMH - SCHEDULING APIs ; 4/28/11 10:30am
;;1.5;BSDX;;Apr 28, 2011;Build 7
;;1.6T1;BSDX;;May 11, 2011;Build 7
; Licensed under LGPL
;
;Orignal routine is BSDAPI by IHS/LJF, HMW, and MAW

View File

@ -1,5 +1,5 @@
BSDXGPRV ; WV/SMH - WINDOWS SCHEDULING RPCS ; 4/28/11 10:31am
;;1.5;BSDX;;Apr 28, 2011
;;1.6T1;BSDX;;May 11, 2011
; Licensed under LGPL
;
;