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* |