BSDAPI4 ; IHS/ITSC/LJF & HMW - PCC API FOR RPMS [ 03/24/2005 1:44 PM ]
Source file <BSDAPI4.m>
Package | Total | Call Graph |
---|---|---|
IHS Changes To Scheduling | 3 | ($$CHECKIN,$$MAKE)^BSDAPI ($$GETVST,$$SCIEN)^BSDU2 $$SERCAT^BSDV |
Kernel | 2 | ($$FMADD,$$FMDIFF)^XLFDT $$ABS^XLFMTH |
Patient Care Component | 1 | ^APCDALV |
VA Fileman | 1 | $$GET1^DIQ |
Name | Comments | DBIA/ICR reference |
---|---|---|
HAVEREQ(IN,OUT) | ; check required fields
|
|
WALKIN(BSDATA,OUT) | ;EP; create walkin appt which is checked in and visit created
; also called by BSDAPI3 to create ancillary walkin appt |
|
APPTDT | ;
|
|
TRIAGE(VST) | ; returns 1 if visit's hosp loc is triage type ;IHS/ITSC/LJF 4/22/2005 PATCH 1003
|
|
ADDVIST(BSDTMP,BSDOUT) | ||
MATCH(IN,OUT) | ; find matching visits based on IN array
|
|
TIMEDIF(VDTTM,VIEN) | ; return time diff between incoming time and current visit
|
|
TIME(RANGE,VISIT,DATE,END) | ; set DATE and END based on TIME RANGE setting in minutes
|
|
PRVMTCH() | ; do visits match on provider?
|
|
GETVISIT(BSDIN,BSDOUT) | ;Private Entry Point with PCC - API for PCC visit Creation by RPMS applications
; >> All date/time variables must be in FileMan internal format ; Special Incoming Variables: ; BSDIN("FORCE ADD") = 1 ; no matter what, create new visit (Optional) ; BSDIN ("NEVER ADD") = 1 ; never add visit, just try to find one or more (Optional) ; BSDIN("ANCILLARY") = 1 ; for ancillary packages to create noon visit if no match found (Optional) ; BSDIN("SHOW VISITS") = 1 ; this will display visits if more than one match ; Incoming Variables used in Matching: REQUIRED ; BSDIN("PAT") = patient IEN (file 2 or 9000001) ; BSDIN("VISIT DATE") = visit date & time (same as check-in date & time) ; BSDIN ("SITE") = location of encounter IEN (file 4 or 9999999.06) ; BSDIN("VISIT TYPE") = internal value for field .03 in Visit file ; BSDIN("SRV CAT") = internal value for service category ; BSDIN("TIME RANGE") = # ; range in minutes for matching on visit time; REQUIRED unless FORCE ADD set ; ; zero=exact matches only; -1=don't match on time ; These are used to match if sent (Optional) ; BSDIN("PROVIDER") = IEN for provider to match from file 200 ; BSDIN("CLINIC CODE") = IEN of clinic stop code (file 40.7) ; BSDIN("HOS LOC") = IEN of hospital location (file 44, field .22 in VISIT file) ; BSDIN("DEF CC") = IEN of default clinic code for package making call PATCH 1009 ; BSDIN("DEF HL") = IEN of default hospital location for package making call PATCH 1009 ; Incoming Variables used in creating appt and visit ; BSDIN("APPT DATE") = appt date & time (Required for scheduled appts and walk-ins; check-in will be performed) ; BSDIN("USR") = user IEN in file 200; REQUIRED ; BSDIN("OPT") = name for Option Used To Create field, for check-in only (Optional) ; BSDIN("OI") = reason for appointment; for walk-ins (Optional) ; Incoming PCC variables for adding additional info to visit (Optional) ; BSDIN("APCDTPB") = Third Party Billed (#.04) ; BSDIN("APCDPVL") = Parent Visit Link (#.12) ; BSDIN("APCDAPPT") = WalkIn/Appt (#.16) ; BSDIN("APCDEVM") = Evaluation and Management Code (#.17) ; BSDIN("APCDCODT") = Check Out Date & Time (#.18) ; BSDIN("APCDLS") = Level of Service -PCC Form (#.19). ; BSDIN("APCDVELG") = Eligibility (#.21) ; BSDIN("APCDPROT") = Protocol (#.25). ; BSDIN("APCDOPT") = Option Used To Create (#.24) ;IHS/OIT/LJF 09/15/2005 PATCH 1004 ; BSDIN("APCDOLOC") = Outside Location (#2101) ;IHS/OIT/LJF 12/21/2005 PATCH 1005 ; Outgoing Array: ; BSDOUT(0) always set; if = 0 none found and may have error message in 2nd piece ; if = 1 and BSDOUT(visit ien)="ADD" new visit just created ; if = 1 and BSDOUT(visit ien)=#; # is time difference in minutes ; if >1, multiple BSDOUT(visit ien) entries exist |
Name | Field # of Occurrence |
---|---|
^APCDALV | ADDVIST+15 |
$$CHECKIN^BSDAPI | APPTDT+17, WALKIN+15 |
$$MAKE^BSDAPI | WALKIN+9 |
$$GETVST^BSDU2 | APPTDT+20, WALKIN+19 |
$$SCIEN^BSDU2 | APPTDT+8 |
$$SERCAT^BSDV | HAVEREQ+11 |
$$GET1^DIQ | MATCH+8, MATCH+9, MATCH+10, MATCH+14, MATCH+15, MATCH+16, MATCH+17, MATCH+27, MATCH+28, MATCH+32 , MATCH+34, WALKIN+7, HAVEREQ+9, TRIAGE+2, TRIAGE+3 |
$$FMADD^XLFDT | TIME+3, TIME+4 |
$$FMDIFF^XLFDT | TIMEDIF+1 |
$$ABS^XLFMTH | MATCH+22 |
FileNo | Call Tags |
---|---|
^SC - [#44] | GET1^DIQ |
^AUPNVSIT - [#9000010] | GET1^DIQ |
^BSDSC - [#9009017.2] | GET1^DIQ |
Name | Line Occurrences (* Changed, ! Killed) |
---|---|
^AUPNVPRV - [#9000010.06] | PRVMTCH+8 |
^AUPNVPRV("AD" | PRVMTCH+7 |
^AUPNVSIT - [#9000010] | TIMEDIF+1 |
^AUPNVSIT("AA" | MATCH+5, MATCH+7 |
^DIC(19 - [#19] | GETVISIT+50, GETVISIT+52, GETVISIT+54 |
Name | Line Occurrences |
---|---|
$$HAVEREQ | GETVISIT+44 |
$$PRVMTCH | MATCH+23 |
$$TIMEDIF | MATCH+21, MATCH+37 |
$$TRIAGE | MATCH+34, PRVMTCH+5 |
ADDVIST | GETVISIT+55, GETVISIT+72, APPTDT+3 |
MATCH | GETVISIT+57, GETVISIT+69 |
TIME | MATCH+4 |
WALKIN | APPTDT+23 |
>> | Not killed explicitly |
* | Changed |
! | Killed |
~ | Newed |
Name | Field # of Occurrence |
---|---|
%DT | ADDVIST+1~ |
APCDALVR | ADDVIST+1!, ADDVIST+21! |
APCDALVR( | ADDVIST+2* |
APCDALVR("APCDADD" | ADDVIST+13* |
APCDALVR("APCDANE" | ADDVIST+3* |
APCDALVR("APCDAPDT" | ADDVIST+11* |
APCDALVR("APCDCAT" | ADDVIST+7* |
APCDALVR("APCDCLN" | ADDVIST+9* |
APCDALVR("APCDDATE" | ADDVIST+8* |
APCDALVR("APCDHL" | ADDVIST+10* |
APCDALVR("APCDLOC" | ADDVIST+4* |
APCDALVR("APCDPAT" | ADDVIST+5* |
APCDALVR("APCDTYPE" | ADDVIST+6* |
APCDALVR("APCDVSIT" | ADDVIST+17, ADDVIST+20 |
APCDALVR("AUPNTALK" | ADDVIST+3* |
BSDATA | WALKIN~, WALKIN+9, WALKIN+15 |
BSDATA("ADT" | WALKIN+6* |
BSDATA("APPT | DATE" , WALKIN+6, WALKIN+19 |
BSDATA("CC" | WALKIN+12* |
BSDATA("CDT" | WALKIN+11* |
BSDATA("CLINI | C CODE" , WALKIN+12 |
BSDATA("CLN" | WALKIN+4*, WALKIN+7 |
BSDATA("HOS L | OC" , WALKIN+4 |
BSDATA("LEN" | WALKIN+7* |
BSDATA("PAT" | WALKIN+19 |
BSDATA("PROVIDER" | WALKIN+13 |
BSDATA("PRV" | WALKIN+13* |
BSDATA("TYP" | WALKIN+5* |
BSDATA("VISIT | DATE" , WALKIN+11 |
BSDIN | GETVISIT~, GETVISIT+43 |
BSDOUT | GETVISIT~, GETVISIT+42!, GETVISIT+44, GETVISIT+55, GETVISIT+57, GETVISIT+69, GETVISIT+72, APPTDT+3, APPTDT+23, ADDVIST~ |
BSDOUT( | APPTDT+20*, ADDVIST+20* |
BSDOUT(0 | GETVISIT+61, GETVISIT+64, GETVISIT+69, APPTDT+5, APPTDT+20*, APPTDT+21*, ADDVIST+18*, ADDVIST+20* |
BSDTMP | GETVISIT+42~, GETVISIT+43*, GETVISIT+44, GETVISIT+55, GETVISIT+57, GETVISIT+69, GETVISIT+72, APPTDT+3, APPTDT+17, APPTDT+23 , ADDVIST~ |
BSDTMP( | ADDVIST+2 |
BSDTMP("ADT" | APPTDT+16* |
BSDTMP("ANCILLARY" | GETVISIT+67, GETVISIT+68! |
BSDTMP("APCDOPT" | GETVISIT+49, GETVISIT+50*, GETVISIT+51*, GETVISIT+52*, GETVISIT+53*, GETVISIT+54* |
BSDTMP("APPT | DATE" , APPTDT+3, APPTDT+8, APPTDT+16, APPTDT+20, ADDVIST+11 |
BSDTMP("CALLER" | APPTDT+1 |
BSDTMP("CC" | APPTDT+12* |
BSDTMP("CDT" | APPTDT+11* |
BSDTMP("CLINI | C CODE" , APPTDT+12, ADDVIST+9 |
BSDTMP("CLN" | APPTDT+15* |
BSDTMP("FORCE | ADD" , GETVISIT+55 |
BSDTMP("HOS L | OC" , APPTDT+8, APPTDT+15, ADDVIST+10 |
BSDTMP("NEVER | ADD" , GETVISIT+70, GETVISIT+74 |
BSDTMP("OPT" | GETVISIT+50, GETVISIT+51, GETVISIT+52 |
BSDTMP("PAT" | APPTDT+8, APPTDT+20, ADDVIST+5 |
BSDTMP("PROVIDER" | GETVISIT+68!, APPTDT+13 |
BSDTMP("PRV" | APPTDT+13* |
BSDTMP("SITE" | ADDVIST+4 |
BSDTMP("SRV C | AT" , ADDVIST+7 |
BSDTMP("VIEN" | APPTDT+5*, APPTDT+20, WALKIN+19 |
BSDTMP("VISIT | DATE" , GETVISIT+71*, APPTDT+11, ADDVIST+8, TYPE" , ADDVIST+6 |
DATE | MATCH+2~, MATCH+4, MATCH+5*, MATCH+7, TIME~, TIME+3*, TIME+5*, TIME+6*, TIME+8* |
DIFF | MATCH+2~, MATCH+21*, MATCH+22 |
END | MATCH+2~, MATCH+4, MATCH+5, TIME~, TIME+4*, TIME+5*, TIME+7*, TIME+8* |
ERR | APPTDT+7~, APPTDT+17*, APPTDT+20, APPTDT+21, WALKIN+2~, WALKIN+9*, WALKIN+15*, WALKIN+19, WALKIN+20 |
HL | TRIAGE+1~, TRIAGE+2*, TRIAGE+3 |
IEN | APPTDT+7~, APPTDT+8*, APPTDT+9, PRVMTCH+1~, PRVMTCH+7*, PRVMTCH+8 |
IN | MATCH~, HAVEREQ~ |
IN("ANCILLARY" | MATCH+16, MATCH+17, MATCH+26, PRVMTCH+5 |
IN("APPT DATE | " , MATCH+34, HAVEREQ+11 |
IN("CLINIC CO | DE" , MATCH+27*, MATCH+28, HAVEREQ+9* |
IN("FORCE ADD | " , HAVEREQ+1 |
IN("HOS LOC" | MATCH+27, MATCH+32, HAVEREQ+9, HAVEREQ+11 |
IN("PAT" | MATCH+5, MATCH+7, HAVEREQ+2, HAVEREQ+11 |
IN("PROVIDER" | PRVMTCH+2, PRVMTCH+10 |
IN("SITE" | MATCH+9, HAVEREQ+4 |
IN("SRV CAT" | MATCH+13, MATCH+15, MATCH+16, MATCH+17, HAVEREQ+6, HAVEREQ+11* |
IN("TIME RANG | E" , MATCH+4, MATCH+20, MATCH+22, HAVEREQ+1 |
IN("USR" | HAVEREQ+7 |
IN("VISIT DAT | E" , MATCH+4, MATCH+21, MATCH+37, HAVEREQ+3 |
IN("VISIT TYP | E" , MATCH+10, HAVEREQ+5 |
MATCH | MATCH+2~, MATCH+3*, MATCH+15*, MATCH+16*, MATCH+17*, MATCH+18 |
OUT | MATCH~, WALKIN~, HAVEREQ~ |
OUT( | MATCH+37*, WALKIN+19* |
OUT(0 | MATCH+1*, MATCH+36*, WALKIN+3*, WALKIN+9*, WALKIN+19*, WALKIN+20*, HAVEREQ+1*, HAVEREQ+2*, HAVEREQ+3*, HAVEREQ+4* , HAVEREQ+5*, HAVEREQ+6*, HAVEREQ+7* |
PRVS | PRVMTCH+1~ |
PRVS( | PRVMTCH+8*, PRVMTCH+10 |
RANGE | TIME~, TIME+2, TIME+8 |
STOP | MATCH+2~, MATCH+20*, MATCH+22*, MATCH+26*, MATCH+28*, MATCH+32*, MATCH+34* |
SUB | ADDVIST+1~, ADDVIST+2* |
SW | TIME+1~, TIME+5* |
TMDIF | TIME+1~, TIME+2*, TIME+3, TIME+4 |
U | APPTDT+21, WALKIN+9, WALKIN+20 |
V | APPTDT+7~, APPTDT+20*, WALKIN+2~, WALKIN+19* |
VDTTM | TIMEDIF~, TIMEDIF+1 |
VIEN | MATCH+2~, MATCH+6*, MATCH+7*, MATCH+8, MATCH+9, MATCH+10, MATCH+14, MATCH+15, MATCH+16, MATCH+17 , MATCH+21, MATCH+28, MATCH+32, MATCH+34, MATCH+37, PRVMTCH+5, PRVMTCH+7, TIMEDIF~, TIMEDIF+1 |
VISIT | TIME~, TIME+3, TIME+4 |
VST | TRIAGE~, TRIAGE+2 |