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 |