IBSDU ;ALB/TMP - ACRP API UTILITIES ;16-SEP-97
Source file <IBSDU.m>
Name | Comments | DBIA/ICR reference |
---|---|---|
SCAN(IBINDX,IBVAL,IBFILTER,IBCBK,IBCLOSE,IBQUERY,IBDIR,IBZXERR) | ; Scan encountrs
; *** NOTE *** When using this call, the variable passed as IBQUERY ; must be newed or killed in the calling program ; IBINDX = index name property of the query object ; IBVAL = array of data elements for start/end of search ; IBVAL("DFN") = patient DFN ; IBVAL("BDT") = begin date ; IBVAL("EDT") = end date ; IBVAL("VIS") = encounter file ien ; IBFILTER = the executable code to use to screen entries ; IBCBK = the executable scan callback code to create the result set ; IBCLOSE = Flag that says whether or not to close the QUERY object ; 1 = Perform close 0 or null = Do not close object ; IBQUERY = the # of the current query, if not a new query. If passed ; by reference and query closed, this variable will be nulled ; IBDIR = the direction of the scan (optional) ; null, undefined or FORWARD : Scan forwards ; BACKWARD : Scan backwards ; IBZXERR = the name of the error array to be returned (or none if null) |
|
CLOSE(IBQUERY) | ; Close the query
|
|
CLOSEQ | ||
SETINDX(IBQUERY,IBINDX) | ;
|
|
PAT | ; Verify patient
|
|
DATE | ; Verify date range
|
|
VIS | ; Verify visit
|
|
EPTR(IBOE) | ; Function returns extended pointer for encounter (IBOE) 0-node
|
|
SCE(IBOE,PC,NODE,IBZXERR) | ; Returns the specific piece or entire node of the enctr
; NODE = the node to return ... if undefined, the 0-node is assumed ; If PC is null or undefined, the whole node is returned, otherwise ; just the PC-piece is returned ; IBZXERR = the name of the array where errors should be passed back in ; (pass in quotes I.E.: "IBERR"). If no name passed, errors are ; not returned |
|
SCEQ | ||
DISND(IBOE,IBOE0,PC,NODE) | ; Returns the specific piece or all pieces of "DIS"
; (disposition) of the PATIENT file entry for the encounter IBOE ; NODE = the node to return ... if undefined, the 0-node is assumed ; If PC is null or undefined, the whole node is returned, otherwise ; just the PC-piece is returned ; IBOE0 = 0-node of encounter file (optional) |
|
LAST(IBDFN) | ; Returns the patient's Last Appointment
; ARRAYS IN DFN MUST BE LOCAL or ^TMP or ^UTILITY ; pass in single DFN or an open array reference (local or global) ; for array of patients, array will = last appt ; if '$d(array(dfn)) returned then unknown for that patient ; Unknown - cannot be determined, N/A - patient has none ; |
|
LASTQ | ||
NEXT(IBDFN) | ; Returns the patient's Next Appointment
; ARRAYS IN DFN MUST BE LOCAL or ^TMP or ^UTILITY ; pass in single DFN or an open array reference (local or global) ; for array of patients, array will = next appt ; if '$d(array(dfn)) returned then unknown for that patient ; Unknown - cannot be determined, N/A - patient has none ; Pass DATA by reference for list or $$ return for single ; |
|
NEXTQ |
Name | Field # of Occurrence |
---|---|
$$EPTR^IBSDU | DISND+9 |
$$GETICN^MPIF001 | LAST+10, LAST+11, NEXT+11, NEXT+12 |
$$IFLOCAL^MPIF001 | LAST+10, LAST+11, NEXT+11, NEXT+12 |
$$SDAPI^SDAMA301 | LAST+20, NEXT+20 |
$$ER^SDOE | EPTR+1 |
$$GETOE^SDOE | SCE+9 |
GETGEN^SDOE | SCE+10 |
ACTIVE^SDQ | SCAN+29, SCAN+31 |
CLOSE^SDQ | CLOSE+3 |
DATE^SDQ | DATE+1 |
FILTER^SDQ | SCAN+27 |
INDEX^SDQ | SCAN+26 |
OPEN^SDQ | SCAN+25 |
PAT^SDQ | PAT+1 |
SCAN^SDQ | SCAN+33 |
SCANCB^SDQ | SCAN+28 |
VISIT^SDQ | VIS+1 |
Name | Line Occurrences (* Changed, ! Killed) |
---|---|
^DPT - [#2] | DISND+9 |
^TMP("DIERR" | SCAN+22!, SCAN+35!, SCEQ! |
^TMP($J | LAST+8!, LAST+21, LAST+22, LASTQ!, NEXT+9!, NEXT+21, NEXT+22, NEXTQ! |
>> | Not killed explicitly |
* | Changed |
! | Killed |
~ | Newed |
Name | Field # of Occurrence |
---|---|
DATA | DISND+6~, DISND+9*, DISND+10*, DISND+11, LAST+8~, LAST+9*, LAST+10*, LAST+12*, LAST+20*, LAST+21* , LAST+22*, LASTQ+1, NEXT+9~, NEXT+10*, NEXT+11*, NEXT+13*, NEXT+20*, NEXT+21*, NEXT+22*, NEXTQ+1 |
DFN | LAST+8~, LAST+11*, LAST+22*, NEXT+9~, NEXT+12*, NEXT+22* |
DT | LAST+13, NEXT+14 |
IBARRAY | LAST+8~, LAST+20, NEXT+9~, NEXT+20 |
IBARRAY("FLDS" | LAST+16*, NEXT+17* |
IBARRAY("MAX" | LAST+17*, NEXT+18* |
IBARRAY("PURGED" | LAST+18* |
IBARRAY("SORT" | LAST+19*, NEXT+19* |
IBARRAY(1 | LAST+13*, NEXT+14* |
IBARRAY(3 | LAST+14*, NEXT+15* |
IBARRAY(4 | LAST+15*, NEXT+16* |
IBCBK | SCAN~, SCAN+28 |
IBCLOSE | SCAN~, SCAN+34 |
IBDFN | LAST~, LAST+9, LAST+10, LAST+11, LAST+12, LAST+15, LAST+17, LAST+21, LAST+22, NEXT~ , NEXT+10, NEXT+11, NEXT+12, NEXT+13, NEXT+16, NEXT+18, NEXT+21, NEXT+22 |
IBDIR | SCAN~, SCAN+32*, SCAN+33 |
IBERROR | CLOSE+1~ |
IBFILTER | SCAN~, SCAN+27 |
IBINDX | SCAN~, SCAN+26, SCAN+30, SETINDX~, SETINDX+1, SETINDX+2, SETINDX+3, SETINDX+4 |
IBOE | EPTR~, EPTR+1, SCE~, SCE+9, SCE+10, DISND~, DISND+8, DISND+9 |
IBOE0 | DISND~, DISND+6~, DISND+8*, DISND+9 |
IBQUERY | SCAN~, SCAN+21, SCAN+25, SCAN+26, SCAN+27, SCAN+28, SCAN+29, SCAN+30, SCAN+31, SCAN+33 , SCAN+34, CLOSE~, CLOSE+2, CLOSE+3, SETINDX~, PAT+1, DATE+1, VIS+1 |
IBVAL | SCAN~ |
IBVAL("BDT" | DATE+1 |
IBVAL("DFN" | PAT+1 |
IBVAL("EDT" | DATE+1 |
IBVAL("VIS" | VIS+1 |
IBX | SCE+7~, SCE+9*, SCE+11*, SCEQ+1 |
IBX( | SCE+11 |
IBZXERR | SCAN~, SCAN+22, SCAN+23, SCAN+25, SCAN+26, SCAN+27, SCAN+28, SCAN+29, SCAN+31, SCAN+33 , SCAN+35, PAT+1, DATE+1, VIS+1, SCE~, SCE+9, SCE+10, SCEQ |
NODE | SCE~, SCE+8*, SCE+9, SCE+11, DISND~, DISND+7*, DISND+9 |
PC | SCE~, SCE+9, SCE+11, DISND~, DISND+10 |
QUERY | SCAN+20~, SCAN+21*, SCAN+24, SCAN+29 |
U | SCE+11, DISND+9, DISND+10 |
X | LAST+8~, LAST+22*, NEXT+9~, NEXT+22* |