XUSER ;SFISC/RWF - A common set of user functions ;11/07/2012 11:56
Source file <XUSER.m>
| Name | Comments | DBIA/ICR reference | 
|---|---|---|
| DEA(FG,IEN) | ;sr. ef. Return users DEA # or Facility DEA_"-"_user VA# or null | 
 
 | 
| HL7(IEN) | ;Return a HL7 name from the components file | |
| LOOKUP(XUF) | ;Do a user lookup | 
 
 | 
| SCR200() | ;Whole File Screen logic for file 200 | |
| VDEA(RETURN,IEN) | 
 
 | |
| PROVIDER(XUDA,XUF) | ;See if user qualifies as a CPRS provider | 
 
 | 
| DETOX(IEN) | ;Return the Detox/Maintenance ID in file 200 - p580/REM | 
 
 | 
| LKX | ||
| BULL | ;Called from bulletin in DD of file #200 for 'Sub Alt Name' fld. | |
| NAME(IEN,FL) | ;Return the full name from Name Components file | 
 
 | 
| ACTIVE(XUDA) | ;Get if a user is active. | 
 
 | 
| DIV4(XUROOT,XUDUZ) | ;Return the Divisions that this user is assigned to. | 
 
 
 
 | 
| SDEA(FG,IEN,PSDEA) | ;validation for new DEA regulations p580-JC(CPRS) | 
 
 | 
| LK1 | 
| Name | Line Occurrences | 
|---|---|
| Function Call: WRITE | 
 | 
| Routine Call | 
 | 
| Routine Call | 
 | 
| Routine Call | 
 | 
| Name | Line Occurrences (* Changed, ! Killed) | 
|---|---|
| ^DD("DD" | SDEA+12 | 
| ^DIC(4 - [#4] | DEA+12, DEA+15 | 
| ^VA(200 - [#200] | ACTIVE+2, ACTIVE+3, ACTIVE+5, BULL+5, PROVIDER+10, PROVIDER+26, PROVIDER+27, DEA+5, DETOX+7, SDEA+10 , SDEA+14, SDEA+15, SDEA+18, VDEA+16, VDEA+18, VDEA+20, VDEA+23, VDEA+25, VDEA+28, VDEA+30 , VDEA+37, VDEA+42, VDEA+51, DIV4+4 | 
| ^XUSEC("ORES" | VDEA+14 | 
| ^XUSEC("XUORES" | PROVIDER+13 | 
| ^XUSEC("XUSHOWSSN" | SCR200+9 | 
| Name | Line Occurrences | 
|---|---|
| $$ACTIVE | VDEA+9 | 
| $$DEA | SDEA+8 | 
| LK1 | LK1+1, LK1+4 | 
| LKX | LK1, LK1+2 | 
| Name | Field # of Occurrence | 
|---|---|
| ^( | DIV4+4 | 
| ^("PS" | SDEA+19* | 
| >> | Not killed explicitly | 
| * | Changed | 
| ! | Killed | 
| ~ | Newed | 
| Name | Field # of Occurrence | 
|---|---|
| % | ACTIVE+1~, ACTIVE+6*, PROVIDER+5~, PROVIDER+20*, DIV4+3~*, DIV4+4* | 
| %1 | DIV4+3~*, DIV4+4*, DIV4+5 | 
| A | SDEA+6~ | 
| A( | SDEA+16* | 
| A(1 | SDEA+20 | 
| A(2 | SDEA+21 | 
| A(3 | SDEA+22 | 
| A(4 | SDEA+23 | 
| A(5 | SDEA+24 | 
| A(6 | SDEA+25 | 
| ASCHED | VDEA+33~, VDEA+35*, VDEA+42*, VDEA+43, VDEA+44 | 
| DA | SDEA+6~, SDEA+11*, SDEA+12 | 
| DATE | VDEA+8~, VDEA+19~, VDEA+20*, VDEA+21, VDEA+22, VDEA+25*, VDEA+26 | 
| DEA | DEA+3~, DEA+6*, DEA+8, SDEA+6~, SDEA+8*, SDEA+14, SDEA+20, SDEA+21, SDEA+22, SDEA+23 , SDEA+24, SDEA+25, SDEA+26, VDEA+8~ | 
| DELIMIT | VDEA+45~, VDEA+46*, VDEA+48*, VDEA+49 | 
| DET | DETOX+6~, DETOX+8*, DETOX+9, DETOX+10 | 
| DIC | LOOKUP+4~, LK1* | 
| DIC(0 | LK1*, SCR200+3 | 
| >> DINDEX | SCR200+6 | 
| DIR | LOOKUP+4~ | 
| DIR("A" | LK1+3* | 
| DIR("B" | LK1+3* | 
| DIR(0 | LK1+3* | 
| >> DIRUT | LK1+4 | 
| DT | LK1+1, ACTIVE+6, PROVIDER+20, DEA+8, DETOX+9, DETOX+10, SDEA+12, VDEA+22, VDEA+26 | 
| DUZ | DEA+4, DIV4+3, SCR200+9 | 
| DUZ(2 | DEA+4 | 
| E | SDEA+6~, SDEA+8, SDEA+9*, SDEA+12* | 
| ERROR | VDEA+38~ | 
| FB | DEA+3~ | 
| FG | DEA~, DEA+11, SDEA~, SDEA+7*, SDEA+8 | 
| FL | NAME~, NAME+2*, NAME+3*, NAME+4 | 
| I | BULL+3~, BULL+5*, SDEA+6~, SDEA+16* | 
| IEN | DEA~, DEA+4*, DEA+5, DETOX~, DETOX+7, SDEA~, SDEA+7*, SDEA+8, SDEA+10, SDEA+14 , SDEA+15, SDEA+18, VDEA~, VDEA+9, VDEA+14, VDEA+16, VDEA+18, VDEA+20, VDEA+23, VDEA+25 , VDEA+28, VDEA+30, VDEA+37, VDEA+42, VDEA+51, NAME~, NAME+1, HL7~, HL7+1 | 
| IN | DEA+3~, DEA+12*, DEA+13, DEA+15*, DEA+17 | 
| INDEX | VDEA+45~, VDEA+47*, VDEA+48, VDEA+49 | 
| INN | DEA+3~, DEA+4*, DEA+12, DEA+14, DEA+15* | 
| LABEL | VDEA+38~, VDEA+39*, VDEA+40*, VDEA+41 | 
| N | DEA+3~, DEA+5*, DEA+6, DETOX+6~, DETOX+7*, DETOX+8, SDEA+6~, SDEA+10*, SDEA+11 | 
| N1 | DEA+3~, DEA+5*, DEA+6, DEA+8, DETOX+6~, DETOX+7*, DETOX+8, SDEA+6~, SDEA+10*, SDEA+11 | 
| N3 | SDEA+6~, SDEA+15*, SDEA+16 | 
| NA | NAME+1~, NAME+4, HL7+1~, HL7+2 | 
| NA("FIELD" | NAME+1*, HL7+1* | 
| NA("FILE" | NAME+1*, HL7+1* | 
| NA("IENS" | NAME+1*, HL7+1* | 
| NALL | SDEA+6~, SDEA+16*, SDEA+17 | 
| NODE | VDEA+29~, VDEA+30*, VDEA+31, VDEA+32 | 
| PIECE | VDEA+33~, VDEA+36*, VDEA+37, VDEA+39, VDEA+40, VDEA+42 | 
| PSD | BULL+3~, BULL+4*, BULL+5 | 
| PSDEA | SDEA~, SDEA+7*, SDEA+13, SDEA+20, SDEA+21, SDEA+22, SDEA+23, SDEA+24, SDEA+25 | 
| RETURN | VDEA~ | 
| RETURN("Does | not hold the ORES security key." , VDEA+15* | 
| RETURN("Has a | DEA number with no expiration date." , VDEA+21*, n expired DEA number." , VDEA+22* | 
| RETURN("Has n | either a DEA number nor a VA number." , VDEA+24* | 
| RETURN("Is no | longer able to write medication orders (inactive date)." , VDEA+27*, t authorized to write medication orders." , VDEA+17*, t permitted to prescribe any schedules." , VDEA+31* | 
| RETURN("Is pe | rmitted to prescribe all schedules." , VDEA+43*, VDEA+51*, rmitted to prescribe schedule" , VDEA+50* | 
| RETURN("User | account does not exist." , VDEA+10*, account status: " , VDEA+12*, cannot sign on." , VDEA+11* | 
| RETVAL | VDEA+8~, VDEA+9*, VDEA+10*, VDEA+11*, VDEA+12*, VDEA+13, VDEA+15*, VDEA+17*, VDEA+21*, VDEA+22* , VDEA+24*, VDEA+27*, VDEA+31*, VDEA+52 | 
| SCHED | VDEA+33~, VDEA+41*, VDEA+47, VDEA+48, VDEA+49, VDEA+50 | 
| SPEC | VDEA+33~, VDEA+39 | 
| SPEC("SCHEDUL | E " , VDEA+34* | 
| STATUS | VDEA+8~, VDEA+9*, VDEA+10, VDEA+11, VDEA+12, VDEA+13 | 
| TEXT | VDEA+45~, VDEA+49*, VDEA+50 | 
| U | LK1+3, ACTIVE+3, ACTIVE+4, ACTIVE+5, ACTIVE+6, PROVIDER+16, PROVIDER+20, DEA+6, DEA+8, DEA+12 , DEA+15, DETOX+8, SDEA+11, VDEA+12, VDEA+16, VDEA+18, VDEA+20, VDEA+23, VDEA+25, VDEA+30 , VDEA+37, VDEA+41, VDEA+42, VDEA+47, VDEA+48, VDEA+49, VDEA+50, DIV4+4 | 
| VA | DEA+3~, DEA+6*, DEA+11, DEA+17 | 
| X1 | ACTIVE+1~, ACTIVE+2*, ACTIVE+3, ACTIVE+4, ACTIVE+6, PROVIDER+5~, PROVIDER+10*, PROVIDER+16, PROVIDER+20 | 
| X2 | ACTIVE+1~, ACTIVE+2*, ACTIVE+3*, ACTIVE+4*, ACTIVE+5*, ACTIVE+6*, ACTIVE+7, PROVIDER+5~, PROVIDER+10* | 
| XD | SDEA+6~, SDEA+11*, SDEA+12 | 
| XDT | DEA+3~, DEA+6*, DETOX+6~, DETOX+8*, DETOX+9, DETOX+10 | 
| >> XMY( | BULL+5* | 
| XU1 | DEA+14~ | 
| XU1("P" | DEA+15 | 
| XUDA | LOOKUP+4~, LK1*, LK1+1*, LK1+3, LK1+4*, LKX, ACTIVE~, ACTIVE+2, ACTIVE+3, ACTIVE+5 , PROVIDER~, PROVIDER+7, PROVIDER+10, PROVIDER+13, PROVIDER+26, PROVIDER+27 | 
| XUDUZ | DIV4~, DIV4+3*, DIV4+4 | 
| XUF | LOOKUP~, LK1+1, LK1+2, PROVIDER~, PROVIDER+26 | 
| XUORES | PROVIDER+5~, PROVIDER+13*, PROVIDER+20, PROVIDER+23 | 
| XUROOT | DIV4~ | 
| XUROOT( | DIV4+4* | 
| Y | LOOKUP+4~, LK1, LK1+1*, LK1+4, SDEA+12* | 
| Y(0 | LK1+1 |