DGREGTED ;ALB/BAJ,BDB,JAM,ARF,JAM - Temporary & Confidential Address Edits API ;23 May 2017 12:48 PM
Source file <DGREGTED.m>
| action | A | extended action | Ea | event driver | Ed | subscriber | Su | protocol | O | limited protocol | LP | run routine | RR | broker | B | edit | E | server | Se | P | screenman | SM | inquire | I |
| Name | Comments | DBIA/ICR reference |
|---|---|---|
| EN(DFN,TYPE,RET) | ;Entry point
; This routine controls Edits to Temp & Conf addresses ; ; Input ; DFN = Patient DFN ; TYPE = Type of address: "TEMP" or "CONF" ; RET = Flag to signal return to first prompt ; ; Output ; RET 0 = Return to first prompt in the address edit group ; 1 = Do not return (address was saved) |
|
| RETRY | ; Tag for reentering the address
|
|
| CHK | ; DG*5.3*1014; Prompt user and allow them to correct the address or continue to Validation service
|
|
| SVADD | ; Save the address - SVADD tag added for DG*5.3*1014; jam; ** End of 1014 changes **
; DG*5.3*1143 - If RTA update is active, save the data for RTA. |
|
| CLEAN(DGTYPE) | ; Clean edit data for Conf or Temp Address when user saves or discards
; DGTYPE: "CONF" or "TEMP" address edit vars to clean out |
|
| SAVERTA | ; DG*5.3*1143 - Save the address edits with RTA updates active
; If adddress is active, save the data in local array DGADDGRP3 (TEMP) or DGADDGRP4 (CONF) |
|
| ASK | ; Give user the option to retry edits
|
|
| SAVETOLOCAL(DGTYPE) | ; DG*5.3*1143 - Save DGINPUT array to RTA group array
|
|
| SENDRTAU(DGTYPE) | ; DG*5.3*1143 - send data to ES via webservice
|
|
| SAVEFROMLOCAL(DGTYPE) | ; DG*5.3*1143 Save data to the DB from the local array (TEMP or CONF)
|
|
| INPUT(DGINPUT,DFN,FSTR) | ;Let user input address changes
; Input: ; DGINPUT - Array to hold field values DGINPUT(field#) ; DFN - Patient DFN ; FSTR - String of fields (foreign or domestic) to work with ; ; Output: ; DGINPUT(field#)=external^internal(if any) ; |
|
| READ(DFN,DGOLD,DGN,Y,REP) | ;Read input, return success
; Input: ; DFN - Patient DFN ; DGOLD - Array of current field values. ; DGN - Current field to read ; Y - Current Field value ; REP - Flag -- should prompt be repeated ; ; Output ; SUCCESS 1 = Input successful go to next prompt ; 0 = Input unsuccessful Repeat or Abort as indicated by REP variable ; REP 1 = Error - Repeat prompt ; 0 = Error - Do not repeat ; Y New field value ; |
|
| SAVE(DGINPUT,DFN,FSTR,CNTRY) | ;Save changes
|
|
| ANSW(YIN,DGOLD,DGN,MSG,YOUT,REP,RET,REVERSE) | ;analyze input commands
; This API will process reads and set bits, messages and flags accordingly. ; Because there is different behavior depending on prompt and input, the input ; of each field needs to be evaluated separately at the time of input and before ; deciding to continue the edit. Input rules are loaded into array RPROC at the ; beginning of this routine in call to INIT^DGREGTE2. ; ; Input ; N - User input "Y" value ; DGOLD - Array of current values ; DGN - Current field ; MSG - Variable for Text message ; YOUT - User input ("Y") value ; REP - Flag to repeat prompt ; RET - Flag to return success or failure to calling module ; REVERSE - Flag to revert to first prompt in sequence ; ; Output ; MSG - Text message (for incorrect entries) ; REP - Repeat current prompt ; REVERSE - Revert to first prompt in sequence ; |
|
| REVERSE | ;
; DG*5.3*1040; LINE message for NULL "FSLINE1" is moved to REPEAT |
|
| REPEAT | ;
|
|
| OK | ;
|
|
| QUES | ;
|
|
| CONFIRM | ;
|
|
| INSTRUCT | ;
|
|
| PROC(VAL) | ;process the input and return a type of value
; input ; VAL - The value to examine ; ; output ; a value type ; VALUE = input - validation is a separate task and is not done here ; NULL = NULL input ; UPCAR = the "^" character ; DELETE = the "@" character |
|
| EOP | ;End of page prompt
|
|
| ZIPINP(DGINPUT,DFN) | ;get ZIP+4 input
|
|
| SKIP(DGN,DGINPUT,FLG) | ; determine whether or not to skip this step
|
|
| UPCT | ;Indicate "^" or "^^" are unacceptable inputs.
|
| Name | Field # of Occurrence |
|---|---|
| $$FOREIGN^DGADDUTL | RETRY+2 |
| $$EN^DGADDVAL | CHK+16 |
| $$UPD^DGENDBS | SAVE+29 |
| UPD^DGENDBS | EN+27 |
| $$GETACT^DGREGTE2 | EN+23 |
| $$INPT1^DGREGTE2 | RETRY+5 |
| $$SKIP^DGREGTE2 | INPUT+12 |
| $$SURE^DGREGTE2 | CONFIRM+1 |
| DISPFGN^DGREGTE2 | RETRY+28 |
| DISPUS^DGREGTE2 | RETRY+29 |
| GETOLD^DGREGTE2 | EN+33 |
| INIT^DGREGTE2 | EN+32 |
| EN^DGREGTZL | ZIPINP+6 |
| $$EN^DGRTAUPD | SENDRTAU+2, SENDRTAU+3 |
| $$ISRTAUON^DGRTAUPD | EN+19 |
| FILE^DIE | SAVEFROMLOCAL+21 |
| UPDATE^DIE | SAVEFROMLOCAL+38, SAVE+27 |
| ^DIK | SAVEFROMLOCAL+29, SAVE+19 |
| ^DIR | CHK+6, ASK+4, READ+29, EOP+4 |
| ^DIWP | SENDRTAU+10, SENDRTAU+18 |
| Name | Line Occurrences |
|---|---|
| Function Call: WRITE |
|
| Function Call: WRITE |
|
| Function Call: WRITE |
|
| Function Call: WRITE |
|
| Function Call: WRITE |
|
| Function Call: WRITE |
|
| Function Call: WRITE |
|
| Function Call: WRITE |
|
| Function Call: WRITE |
|
| Function Call: WRITE |
|
| Function Call: WRITE |
|
| Function Call: WRITE |
|
| Function Call: WRITE |
|
| Function Call: WRITE |
|
| Function Call: WRITE |
|
| Function Call: WRITE |
|
| Routine Call |
|
| Routine Call |
|
| Routine Call |
|
| Name | Line Occurrences (* Changed, ! Killed) |
|---|---|
| ^DPT - [#2] | EN+34, SAVEFROMLOCAL+29, SAVE+19 |
| ^HL(779.004 - [#779.004] | RETRY+22, SAVETOLOCAL+7, SAVE+4 |
| ^UTILITY($J | SENDRTAU+9!, SENDRTAU+11, SENDRTAU+17!, SENDRTAU+19 |
| Name | Line Occurrences |
|---|---|
| $$PROC | ANSW+31 |
| $$READ | INPUT+15 |
| $$SENDRTAU | SAVERTA+9 |
| @( | ANSW+35, INSTRUCT+1 |
| ANSW | READ+31 |
| ASK | ASK+11 |
| CHK | CHK+13 |
| CLEAN | SAVEFROMLOCAL+41 |
| EOP | CHK+11, CHK+23, SAVERTA+12, SENDRTAU+22 |
| INPUT | RETRY+5 |
| RETRY | RETRY+10, RETRY+15, CHK+12, SVADD+2 |
| SAVE | SVADD+4 |
| SAVEFROMLOCAL | SAVERTA+10 |
| SAVERTA | EN+29, SVADD+2 |
| SAVETOLOCAL | SAVERTA+2 |
| SVADD | RETRY+20 |
| ZIPINP | INPUT+14 |
| >> | Not killed explicitly |
| * | Changed |
| ! | Killed |
| ~ | Newed |
| Name | Field # of Occurrence |
|---|---|
| ACT | ANSW+22~, ANSW+34*, ANSW+35 |
| BAD | EN+16~, RETRY+4* |
| CNTRY | EN+12~, EN+34*, RETRY+2, RETRY+3, RETRY+22, SVADD+4, SAVETOLOCAL+7, SAVE~, SAVE+4 |
| CNTYFLD | READ+15~, READ+16*, READ+26 |
| CPEICE | EN+14~, EN+34 |
| DA | SAVEFROMLOCAL+29*, INPUT+9~, READ+15~, READ+18*, SAVE+1~, SAVE+19* |
| DA(1 | SAVEFROMLOCAL+27*, SAVE+17* |
| DATA | SAVETOLOCAL+1~, SAVETOLOCAL+12, SAVETOLOCAL+13, SAVE+1~, SAVE+29 |
| DATA( | SAVETOLOCAL+11*, SAVETOLOCAL+12*, SAVETOLOCAL+13*, SAVE+9*, SAVE+11*, SAVE+13* |
| DFN | EN~, EN+17, EN+23, EN+27, EN+33, EN+34, RETRY+2, RETRY+5, SVADD+4, SENDRTAU+2 , SENDRTAU+3, SAVEFROMLOCAL+7, SAVEFROMLOCAL+11, SAVEFROMLOCAL+13, SAVEFROMLOCAL+15, SAVEFROMLOCAL+18, SAVEFROMLOCAL+20, SAVEFROMLOCAL+27, SAVEFROMLOCAL+28, SAVEFROMLOCAL+29 , SAVEFROMLOCAL+34, INPUT~, INPUT+14, INPUT+15, READ~, READ+18, SAVE~, SAVE+2, SAVE+17, SAVE+18 , SAVE+19, SAVE+23, ZIPINP~, ZIPINP+6 |
| DGACTIVE | EN+16~, EN+23, EN+25, SAVERTA+2 |
| DGADDEDIT | EN+19~ |
| DGADDEDIT(3 | CLEAN+3!, SAVERTA+4* |
| DGADDEDIT(4 | CLEAN+6!, SAVERTA+5* |
| DGADDGRP3 | EN+19~, EN+37, CLEAN+3!, SAVETOLOCAL+2!, SAVETOLOCAL+12*, SENDRTAU+2 |
| DGADDGRP3( | EN+37, SAVEFROMLOCAL+8, SAVEFROMLOCAL+10*, SAVEFROMLOCAL+11, SAVEFROMLOCAL+13, ZIPINP+4 |
| DGADDGRP3("DELETE" | SAVEFROMLOCAL+7, SAVEFROMLOCAL+10 |
| DGADDGRP4 | EN+19~, EN+38, CLEAN+6!, SAVETOLOCAL+3!, SAVETOLOCAL+13*, SENDRTAU+3 |
| DGADDGRP4( | EN+38, SAVEFROMLOCAL+16, SAVEFROMLOCAL+17*, SAVEFROMLOCAL+18, SAVEFROMLOCAL+20, ZIPINP+5 |
| DGADDGRP4("CCATS" | SAVETOLOCAL+15*, SAVEFROMLOCAL+33, SAVEFROMLOCAL+36, SAVEFROMLOCAL+37 |
| DGADDGRP4("DELETE" | SAVEFROMLOCAL+15, SAVEFROMLOCAL+17, SAVEFROMLOCAL+31 |
| DGADVRET | CHK+15~, CHK+16*, CHK+21, CHK+23 |
| DGCMP | EN+12~, EN+33! |
| DGCMP("OLD" | EN+33 |
| DGDEFCITY | ZIPINP+3~, ZIPINP+4*, ZIPINP+5*, ZIPINP+6 |
| DGDEFZIP | ZIPINP+3~, ZIPINP+4*, ZIPINP+5*, ZIPINP+6 |
| DGENDA | SAVE+1~, SAVE+2*, SAVE+29 |
| DGERROR | EN+15~, EN+27 |
| DGERRS | SENDRTAU+1~, SENDRTAU+2, SENDRTAU+3 |
| DGERRS( | SENDRTAU+14, SENDRTAU+16 |
| DGFDA | SAVEFROMLOCAL+1~, SAVEFROMLOCAL+32!, SAVEFROMLOCAL+39!, SAVE+1~, SAVE+21!, SAVE+28! |
| DGFDA( | SAVEFROMLOCAL+36*, SAVEFROMLOCAL+37*, SAVE+25*, SAVE+26* |
| DGFDA(2 | SAVEFROMLOCAL+7*, SAVEFROMLOCAL+11*, SAVEFROMLOCAL+13*, SAVEFROMLOCAL+15*, SAVEFROMLOCAL+18*, SAVEFROMLOCAL+20* |
| DGI | SENDRTAU+5~, SENDRTAU+14*, SENDRTAU+15, SENDRTAU+16 |
| DGIEN | SAVEFROMLOCAL+25~, SAVEFROMLOCAL+33*, SAVEFROMLOCAL+36, SAVEFROMLOCAL+37, SAVE+15~, SAVE+22*, SAVE+25, SAVE+26 |
| DGINPUT | EN+12~, EN+23, EN+27, RETRY+5*, RETRY+6, RETRY+26, CHK+16, SVADD+4, INPUT~, INPUT+10 , INPUT+12, INPUT+14, INPUT+17*, SAVE~, ZIPINP~, ZIPINP+9*, ZIPINP+10*, SKIP~ |
| DGINPUT( | RETRY+10, RETRY+15, RETRY+22*, SAVETOLOCAL+7*, SAVETOLOCAL+10*, SAVETOLOCAL+11, INPUT+22*, READ+22, READ+23, READ+25 , SAVE+4*, SAVE+8*, SAVE+9, ZIPINP+11*, ZIPINP+12*, SKIP+3, SKIP+4 |
| DGINPUT("CCATS" | SAVETOLOCAL+15, SAVE+20, SAVE+22, SAVE+25, SAVE+26 |
| DGINPUT("overrideKey" | CHK+19 |
| DGL | SENDRTAU+5~, SENDRTAU+12*, SENDRTAU+20* |
| DGLINE | SENDRTAU+5~, SENDRTAU+11*, SENDRTAU+12, SENDRTAU+19*, SENDRTAU+20 |
| DGLINE( | SENDRTAU+12, SENDRTAU+20 |
| DGN | SAVEFROMLOCAL+1~, SAVEFROMLOCAL+2*, SAVEFROMLOCAL+8*, SAVEFROMLOCAL+10, SAVEFROMLOCAL+11, SAVEFROMLOCAL+13, SAVEFROMLOCAL+16*, SAVEFROMLOCAL+17, SAVEFROMLOCAL+18, SAVEFROMLOCAL+20 , INPUT+9~, INPUT+10*, INPUT+12, INPUT+14, INPUT+15, INPUT+22, READ~, READ+17, READ+22, READ+23 , READ+24, READ+28, READ+31, ANSW~, ANSW+31, ANSW+32, REPEAT+2, CONFIRM+1, SKIP~, SKIP+3 , SKIP+4, SKIP+5 |
| DGNEWADD | RETRY+25~, RETRY+28, RETRY+29, RETRY+30! |
| DGNEWADD("NEW" | RETRY+26* |
| DGNEWIEN | SAVEFROMLOCAL+25~, SAVEFROMLOCAL+34*, SAVEFROMLOCAL+35*, SAVEFROMLOCAL+36, SAVEFROMLOCAL+37, SAVE+15~, SAVE+23*, SAVE+24*, SAVE+25, SAVE+26 |
| DGOLD | EN+12~, EN+33*, EN+37*, EN+38*, INPUT+15, READ~, READ+31, ANSW~ |
| DGOLD( | READ+17, READ+23, READ+28, ANSW+31, CONFIRM+1 |
| DGOVERKEY | CHK+15~, CHK+19*, SAVETOLOCAL+10, SAVE+8 |
| DGR | INPUT+9~, ZIPINP+1~, ZIPINP+6, ZIPINP+9, ZIPINP+10 |
| DGRETRY | EN+19~, SVADD+2*, ASK+10* |
| >> DGRTAHOLD | SAVERTA+7 |
| DGRTAON | EN+19~*, EN+27, EN+29, SVADD+2 |
| DGRTARET | SENDRTAU+1~, SENDRTAU+2*, SENDRTAU+3*, SENDRTAU+4, SENDRTAU+8, SENDRTAU+23 |
| DGST | READ+15~ |
| >> DGTMOT | RETRY+2*, CHK+8*, CHK+21*, CHK+23, SAVERTA+15, ASK+6*, INPUT+14*, INPUT+17*, EOP+6* |
| DGTYPE | CLEAN~, CLEAN+2, CLEAN+5, SAVETOLOCAL~, SAVETOLOCAL+2, SAVETOLOCAL+3, SAVETOLOCAL+9, SAVETOLOCAL+10, SAVETOLOCAL+12, SAVETOLOCAL+13 , SAVETOLOCAL+15, SENDRTAU~, SENDRTAU+2, SENDRTAU+3, SAVEFROMLOCAL~, SAVEFROMLOCAL+4, SAVEFROMLOCAL+14, SAVEFROMLOCAL+24, SAVEFROMLOCAL+41 |
| DGX | ZIPINP+1~, ZIPINP+11*, ZIPINP+12* |
| DIE | EN+12~ |
| DIK | SAVEFROMLOCAL+25~, SAVEFROMLOCAL+28*, SAVE+15~, SAVE+18* |
| DIR | CHK+1~, CHK+6!, SAVERTA+18~, ASK+4!, INPUT+9~, READ+15~, EOP+1~ |
| DIR("?" | CHK+5*, ASK+3* |
| DIR("A" | CHK+2*, CHK+3*, ASK+1*, READ+26*, EOP+3* |
| DIR("B" | READ+17*, READ+23*, READ+28* |
| DIR(0 | CHK+4*, ASK+2*, READ+17*, READ+25*, EOP+2* |
| DIROUT | INPUT+9~, READ+15~, READ+20!, EOP+1~ |
| DIRUT | READ+15~, READ+31, ANSW+22~ |
| DIWF | SENDRTAU+5~, SENDRTAU+6* |
| DIWL | SENDRTAU+5~, SENDRTAU+6* |
| DIWR | SENDRTAU+5~, SENDRTAU+6* |
| DR | EN+12~ |
| DTOUT | CHK+8, SAVERTA+15, ASK+6, INPUT+9~, READ+15~, READ+20!, READ+30, ANSW+22~, EOP+1~, EOP+6 |
| DUOUT | CHK+11, SAVERTA+17, ASK+8, INPUT+9~, READ+15~, READ+20!, ANSW+22~, EOP+1~ |
| ERROR | SAVE+1~, SAVE+29 |
| FCITY | EN+13~, SAVETOLOCAL+9, SAVE+7, ZIPINP+4, ZIPINP+5 |
| FCNTRY | EN+14~, RETRY+2, RETRY+22, SAVETOLOCAL+7, SAVETOLOCAL+8, SAVE+4, SAVE+5 |
| FCOUNTY | EN+13~, SAVETOLOCAL+9, READ+22, READ+24, SAVE+7, ZIPINP+11 |
| FILE | SAVE+1~, SAVE+2*, SAVE+29 |
| FLG | SKIP~ |
| FLG(1 | SKIP+5 |
| FNODE1 | EN+14~ |
| FNODE2 | EN+14~, EN+34 |
| FORGN | EN+12~, RETRY+2*, RETRY+5, RETRY+10, RETRY+11, RETRY+12, RETRY+15, RETRY+16, RETRY+17, RETRY+28 , RETRY+29 |
| FPHONE | EN+13~, SKIP+5 |
| FPROV | EN+14~ |
| FPSTAL | EN+14~ |
| FSACTIVE | EN+15~, SAVETOLOCAL+9, SAVE+7 |
| FSEND | EN+15~, SAVETOLOCAL+9, SAVE+7 |
| FSLINE1 | EN+13~, REPEAT+2, SKIP+3 |
| FSLINE2 | EN+13~, SKIP+3, SKIP+4 |
| FSLINE3 | EN+13~, SKIP+3, SKIP+4 |
| FSSTART | EN+15~, SAVETOLOCAL+9, SAVE+7 |
| FSTATE | EN+13~, SAVETOLOCAL+9, READ+22, READ+25, SAVE+7, ZIPINP+12 |
| FSTR | EN+12~, RETRY+5*, SVADD+4, SAVETOLOCAL+8*, SAVETOLOCAL+9*, SAVETOLOCAL+10*, SAVETOLOCAL+11, INPUT~, INPUT+10, SAVE~ , SAVE+5*, SAVE+7*, SAVE+8*, SAVE+9 |
| FZIP | EN+13~, INPUT+14, ZIPINP+4, ZIPINP+5 |
| I | EN+16~ |
| ICNTRY | EN+12~, EN+34*, EN+37*, EN+38*, RETRY+2 |
| L | SAVETOLOCAL+1~, SAVETOLOCAL+11*, INPUT+9~, INPUT+10*, INPUT+19*, READ+15~, SAVE+1~, SAVE+9* |
| LOOP | SAVE+1~ |
| LOOP1 | SAVE+1~ |
| LOOP2 | SAVE+1~ |
| MSG | READ+21*, READ+31*, ANSW~ |
| MSUB | REPEAT+1~, REPEAT+2*, REPEAT+3 |
| NEWVAL | ANSW+23~, ANSW+31*, ANSW+32, ANSW+33, ANSW+34 |
| OLDC | EN+14~ |
| OLDVAL | ANSW+23~, ANSW+31*, ANSW+32, ANSW+33, ANSW+34 |
| POP | READ+15~, READ+16*, READ+19, READ+22*, READ+30*, READ+33* |
| PRMPT | ANSW+22~, ANSW+25*, ANSW+26 |
| PSTR | EN+12~, RETRY+5 |
| REP | INPUT+9~, INPUT+11*, INPUT+15, INPUT+17, READ~, READ+31, READ+32*, ANSW~, REPEAT+4*, QUES+2* , CONFIRM+1*, CONFIRM+2*, INSTRUCT+2* |
| RET | EN~, RETRY+2*, RETRY+6*, READ+31, ANSW~ |
| REVERSE | READ+15~, READ+16*, READ+31*, READ+32, ANSW~, REVERSE+6* |
| RMSG | ANSW+22~ |
| RMSG( | REPEAT+3 |
| RMSG("INSTRUCT" | ANSW+30*, INSTRUCT+1 |
| RMSG("LINE" | ANSW+26* |
| RMSG("QUES" | ANSW+29*, QUES+1 |
| RMSG("REPEAT" | ANSW+28* |
| RMSG("REVERSE" | ANSW+27*, REVERSE+5 |
| RPROC | EN+14~ |
| RPROC( | ANSW+32, ANSW+33*, ANSW+34 |
| SKIP | SKIP+1~, SKIP+2*, SKIP+3*, SKIP+4*, SKIP+5*, SKIP+6 |
| SUCCESS | INPUT+9~, INPUT+15*, READ+15~, READ+16*, READ+30*, READ+31*, READ+32*, READ+34 |
| T | SAVETOLOCAL+1~, SAVETOLOCAL+11*, READ+15~, READ+28*, SAVE+1~, SAVE+9* |
| TDGN | ANSW+22~, ANSW+32*, ANSW+33, ANSW+34 |
| TYPE | EN~, EN+23, EN+33, EN+37, EN+38, RETRY+10, RETRY+15, RETRY+20, SAVERTA+2, SAVERTA+4 , SAVERTA+5, SAVERTA+9, SAVERTA+10, SAVETOLOCAL+9, READ+16, SAVE+7, SAVE+8, SAVE+11, SAVE+12, ANSW+25 , ANSW+30, ZIPINP+4, ZIPINP+5 |
| U | SAVETOLOCAL+11, READ+25, SAVE+9 |
| VAL | PROC~, PROC+10 |
| X | EN+16~, CHK+12, CHK+13, SAVERTA+18~, ASK+10, SENDRTAU+5~, SENDRTAU+8*, SENDRTAU+16*, INPUT+9~, READ+15~ , READ+31, ANSW+22~, EOP+1~ |
| Y | EN+16~, SAVERTA+18~, INPUT+9~, INPUT+15, INPUT+21*, INPUT+22, READ~, READ+31, ANSW+22~, EOP+1~ |
| YIN | ANSW~, ANSW+31, CONFIRM+2 |
| YOUT | ANSW~, CONFIRM+1*, CONFIRM+2* |
| Z | SENDRTAU+5~ |