DGADDUTL ;ALB/PHH,EG,BAJ,ERC,CKN,TDM,LBD,JAM,ARF,JAM - PATIENT ADDRESS ; 19 Jul 2017 3:03 PM
Source file <DGADDUTL.m>
| Name | Comments | DBIA/ICR reference |
|---|---|---|
| ADDR | ; validate/edit Patient address (entry for DG ADDRESS UPDATE option)
|
|
| ADDRLOOP | ;
|
|
| SAVEADDR() | ; DG*5.3*1143 - Save edits made with RTA updates enabled
; If successful, quit 1 ; otherwise return 0 and set DGRETRY=1 if user elects to re-enter the data |
|
| ASK | ; Prompt user and allow them to correct the address or quit
|
|
| ADD(DFN) | ; validate/edit Patient address (entry point for routine DGREG)
; Input -- DFN |
|
| ADDYN(PROMPT) | ; Yes/No Prompt to Edit/Validate Address
; Input -- None ; Output -- 1 = YES ; 2 = NO ; -1 = Aborted |
|
| UPDATE(DFN,TYPE) | ; Update the Address
; Input -- TYPE = "PERM" for Permanent Address ; = "TEMP" for Temporary Address ; Output -- None ; |
|
| UPDDTTM(DFN,TYPE) | ; Update the PATIENT file #2 with the current date and time
|
|
| ADDRED(DFN,FLG) | ; Address Edit (Code copied from DGREGAED and modified)
|
|
| GETPRIOR(DFN,DGPRIOR) | ; Get prior address fields.
|
|
| GETUPDTS(DFN,DGINPUT) | ; Get current address fields.
|
|
| FILEYN(DGOLD,DGNEW) | ; Determine whether or not to file to #301.7
|
|
| FOREIGN(DFN,CIEN,FILE,FIELD,COUNTRY) | ;
; ** NOTE we have to default the value for "US" into the prompt if it is blank |
|
| UPDADDLG(DFN,DGPRIOR,DGINPUT) | ; Update the IVM ADDRESS CHANGE LOG file #301.7
|
|
| EDITTADR(DFN) | ; Edit Temporary Address
|
|
| GETTADR(DFN,DGPRIOR) | ; Get prior temporary address fields.
|
|
| DISPTADR(DFN,DGARRY) | ; Display Temporary Address
|
|
| COUNTRY(DGC) | ;
|
|
| FOR(DGC) | ;returns a 1 if address is foreign, a 0 if domestic, -1 if DGC is not valid
; DGC is the external value of the country (.01 field of file 779.004) |
|
| CNTRYI(DGIEN) | ;where DGC is the internal value of the country
|
|
| FORIEN(DGC) | ;returns a 1 if address is foreign, a 0 if domestic, -1 if DGC is invalid
|
|
| PSOPAT(DFN) | ; DG*5.3*1143 - New tag - ICR 7620 - called from UPDATE^PSOBAI for address/cell phone update
|
|
| PSOASK | ; Loop for re-entering data
|
| Name | Field # of Occurrence |
|---|---|
| DISPADD^DGADDUT2 | ADD+6 |
| UPDADDLG^DGADDUT2 | UPDADDLG+2 |
| UPDDTTM^DGADDUT2 | UPDDTTM+2 |
| $$CNTRYI^DGADDUTL | FOREIGN+5 |
| EN^DGREGAED | ADDRED+9, PSOASK+10 |
| EN^DGREGTED | EDITTADR+18 |
| $$RTASEND^DGRPCADD | SAVEADDR+3 |
| DR115^DGRPE1 | PSOASK+20 |
| $$ISRTAUON^DGRTAUPD | ADDRLOOP+28, PSOASK+8 |
| $$UPPER^DGUTL | COUNTRY+13, CNTRYI+11 |
| ^DIC | ADDRLOOP+4 |
| YN^DICN | ADDYN+8 |
| ^DIE | PSOASK+18 |
| GETS^DIQ | GETPRIOR+2, GETUPDTS+2, GETTADR+2 |
| ^DIR | ASK+4, FOREIGN+7, PSOASK+3 |
| ^DIWP | ADDRLOOP+16 |
| $$FMTE^XLFDT | DISPTADR+24, DISPTADR+25 |
| 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 |
|
| Function Call: WRITE |
|
| Function Call: WRITE |
|
| Function Call: WRITE |
|
| Routine Call |
|
| Routine Call |
|
| Routine Call |
|
| FileNo | Call Tags |
|---|---|
| ^DPT - [#2] | Classic Fileman Calls, GETS^DIQ |
| Name | Line Occurrences (* Changed, ! Killed) |
|---|---|
| ^DIC(5 - [#5] | DISPTADR+12, DISPTADR+13, DISPTADR+17 |
| ^DPT - [#2] | ADDRLOOP+9, ADDRLOOP+37, ADD+15 |
| ^HL(779.004 - [#779.004] | COUNTRY+8, COUNTRY+10, COUNTRY+13, FOR+5, CNTRYI+6, CNTRYI+8, CNTRYI+11, FORIEN+6, FORIEN+7 |
| ^UTILITY($J | ADDRLOOP+16!, ADDRLOOP+17, ADDRLOOP+18, ADDRLOOP+19! |
| Name | Line Occurrences |
|---|---|
| $$ADDYN | ADD+11 |
| $$CNTRYI | DISPTADR+22 |
| $$FORIEN | FOREIGN+11, DISPTADR+21 |
| $$SAVEADDR | ADDRLOOP+35, PSOASK+25 |
| ADDR | ADDRLOOP+9 |
| ADDRED | UPDATE+10 |
| ADDRLOOP | ADDRLOOP+38 |
| ASK | ASK+11 |
| DISPTADR | EDITTADR+7 |
| EDITTADR | UPDATE+13 |
| GETTADR | EDITTADR+6 |
| PSOASK | PSOASK+25 |
| UPDATE | ADDRLOOP+29, ADDRLOOP+30, ADD+16, PSOASK+14 |
| >> | Not killed explicitly |
| * | Changed |
| ! | Killed |
| ~ | Newed |
| Name | Field # of Occurrence |
|---|---|
| % | ADDR+1~, ADDYN+6~, ADDYN+9, ADDRED+6~ |
| ADDYN | ADD+4~, ADD+7*, ADD+8, ADD+11*, ADD+12, ADD+13*, ADD+14, ADD+15 |
| CIEN | FOREIGN~, FOREIGN+5 |
| COUNTRY | FOREIGN~, FOREIGN+11* |
| DA | FOREIGN+2~, FOREIGN+4*, PSOPAT+1~, PSOASK+18* |
| DFN | ADDR+1~, ADDRLOOP+3!, ADDRLOOP+8*, ADDRLOOP+9, ADDRLOOP+29, ADDRLOOP+30, ADDRLOOP+37, SAVEADDR+3, ADD~, ADD+6 , ADD+15, ADD+16, UPDATE~, UPDATE+10, UPDATE+13, UPDDTTM~, UPDDTTM+2, ADDRED~, ADDRED+9, GETPRIOR~ , GETPRIOR+2, GETPRIOR+4, GETUPDTS~, GETUPDTS+2, GETUPDTS+4, FOREIGN~, FOREIGN+4, UPDADDLG~, UPDADDLG+2, EDITTADR~ , EDITTADR+2, EDITTADR+6, EDITTADR+7, EDITTADR+18, GETTADR~, GETTADR+2, GETTADR+4, DISPTADR~, PSOPAT~, PSOASK+10 , PSOASK+14, PSOASK+18 |
| DGADDEDIT | ADDRLOOP+28~, ADDRLOOP+35!, PSOASK+8~, PSOASK+25! |
| DGADDFG | ADD+4~*, ADDRED+7, ADDRED+12, EDITTADR+10, EDITTADR+20 |
| DGADDGRP2 | ADDRLOOP+28~, ADDRLOOP+35!, PSOASK+8~ |
| DGADDGRP3 | ADDRLOOP+28~, ADDRLOOP+35!, PSOASK+8~ |
| DGADDGRP5 | PSOASK+8~ |
| DGADR1 | DISPTADR+1~, DISPTADR+5*, DISPTADR+30 |
| DGADR2 | DISPTADR+1~, DISPTADR+6*, DISPTADR+31 |
| DGADR3 | DISPTADR+1~, DISPTADR+7*, DISPTADR+32 |
| DGADRACT | DISPTADR+1~, DISPTADR+4*, DISPTADR+16, DISPTADR+29 |
| DGARRY | GETPRIOR+1~, GETUPDTS+1~, GETTADR+1~, DISPTADR~ |
| DGARRY( | DISPTADR+4, DISPTADR+5, DISPTADR+6, DISPTADR+7, DISPTADR+8, DISPTADR+9, DISPTADR+10, DISPTADR+11, DISPTADR+18, DISPTADR+19 , DISPTADR+20, DISPTADR+23, DISPTADR+24, DISPTADR+25, DISPTADR+44, DISPTADR+45, DISPTADR+46 |
| DGARRY("NEW" | GETUPDTS+4*, GETUPDTS+5 |
| DGARRY("OLD" | GETPRIOR+4*, GETPRIOR+5, GETTADR+4*, GETTADR+5 |
| DGC | COUNTRY~, COUNTRY+6*, COUNTRY+8, FOR~, FOR+4, FOR+5, FOR+6, FORIEN~, FORIEN+4, FORIEN+5 , FORIEN+6, FORIEN+7 |
| DGCC | COUNTRY+4~, COUNTRY+10*, COUNTRY+12, COUNTRY+13*, COUNTRY+14, CNTRYI+4~, CNTRYI+8*, CNTRYI+10, CNTRYI+11*, CNTRYI+12 |
| DGCH | EDITTADR+1~ |
| DGCIEN | GETPRIOR+1~, GETTADR+1~ |
| DGCITY | DISPTADR+1~, DISPTADR+8*, DISPTADR+34, DISPTADR+36 |
| DGCNT | ADDRLOOP+1~, ADDRLOOP+17*, ADDRLOOP+18 |
| DGCNTRY | DISPTADR+2~, DISPTADR+20*, DISPTADR+21, DISPTADR+22* |
| DGCNTY | GETPRIOR+1~, GETTADR+1~ |
| DGCOUNTY | DISPTADR+2~, DISPTADR+11*, DISPTADR+12, DISPTADR+13*, DISPTADR+16*, DISPTADR+40 |
| DGCURR | GETPRIOR+1~, GETUPDTS+1~, GETTADR+1~ |
| DGCURR(2 | GETPRIOR+4, GETUPDTS+4, GETTADR+4 |
| DGDR | EDITTADR+1~ |
| DGFLG | PSOPAT+1~, PSOASK+10 |
| DGFLG(1 | PSOASK+10* |
| DGFOR | FOR+2~, FOR+3*, FOR+4, FOR+6*, FOR+7, FORIEN+2~, FORIEN+3*, FORIEN+4, FORIEN+7*, FORIEN+8 |
| DGFORN | DISPTADR+2~, DISPTADR+21*, DISPTADR+33, DISPTADR+36 |
| DGFROMDT | DISPTADR+2~, DISPTADR+24*, DISPTADR+42 |
| DGIEN | COUNTRY+4~, COUNTRY+8*, COUNTRY+10, COUNTRY+13, CNTRYI~, CNTRYI+5, CNTRYI+6, CNTRYI+8, CNTRYI+11 |
| DGINPUT | ADDRED+6~, GETUPDTS~, GETUPDTS+5*, UPDADDLG~, UPDADDLG+2 |
| DGLINE | ADDRLOOP+1~, ADDRLOOP+18* |
| DGLN | ADDRLOOP+1~, ADDRLOOP+18* |
| DGN | GETPRIOR+1~, GETPRIOR+3*, GETPRIOR+4, GETUPDTS+1~, GETUPDTS+3*, GETUPDTS+4, GETTADR+1~, GETTADR+3*, GETTADR+4 |
| DGNEW | FILEYN~ |
| DGNEW( | FILEYN+4, FILEYN+5, FILEYN+6, FILEYN+7, FILEYN+8, FILEYN+9, FILEYN+10, FILEYN+11, FILEYN+12, FILEYN+13 , FILEYN+14, FILEYN+15 |
| DGOLD | FILEYN~ |
| DGOLD( | FILEYN+4, FILEYN+5, FILEYN+6, FILEYN+7, FILEYN+8, FILEYN+9, FILEYN+10, FILEYN+11, FILEYN+12, FILEYN+13 , FILEYN+14, FILEYN+15 |
| DGPCODE | DISPTADR+2~, DISPTADR+19*, DISPTADR+36 |
| DGPHONE | DISPTADR+2~, DISPTADR+23*, DISPTADR+41 |
| DGPRIOR | GETPRIOR~, GETPRIOR+5*, UPDADDLG~, UPDADDLG+2, EDITTADR+1~, EDITTADR+6, EDITTADR+7, GETTADR~, GETTADR+5* |
| DGPROV | DISPTADR+2~, DISPTADR+18*, DISPTADR+36 |
| DGRETRY | ADDRLOOP+28~, ADDRLOOP+35*, ASK+10*, PSOPAT+1~, PSOASK+8~, PSOASK+25* |
| DGRPAN | EDITTADR+1~ |
| DGRPS | EDITTADR+1~ |
| DGRTAHOLD | ADDRLOOP+28~*, ADDRLOOP+35!, PSOASK+8~* |
| DGRTAON | ADDRLOOP+28~*, ADDRLOOP+35!, PSOASK+8~*, PSOASK+18 |
| DGSEL | PSOPAT+1~, PSOASK+5*, PSOASK+10, PSOASK+14 |
| DGST | GETPRIOR+1~, GETTADR+1~ |
| DGSTATE | DISPTADR+1~, DISPTADR+9*, DISPTADR+12, DISPTADR+13, DISPTADR+17*, DISPTADR+34 |
| DGTMOT | ADDRLOOP+32, SAVEADDR+6, ASK+6*, ADD+18, ADDRED+7~*, ADDRED+12, EDITTADR+10~*, EDITTADR+20, PSOASK+12, PSOASK+16 , PSOASK+22 |
| DGTODT | DISPTADR+2~, DISPTADR+25*, DISPTADR+42 |
| DGZIP | DISPTADR+1~, DISPTADR+10*, DISPTADR+34 |
| DIC | ADDR+1~, ADDRLOOP+3!, ADDRLOOP+4*, PSOPAT+1~ |
| DIC("A" | ADDRLOOP+4* |
| DIC(0 | ADDRLOOP+4* |
| DIE | PSOPAT+1~, PSOASK+18* |
| DIR | SAVEADDR+9~, ASK+4!, FOREIGN+2~, PSOPAT+1~, PSOASK+1! |
| DIR("?" | ASK+3* |
| DIR("A" | ASK+1*, PSOASK+2* |
| DIR("B" | FOREIGN+5*, PSOASK+3* |
| DIR(0 | ASK+2*, FOREIGN+4*, PSOASK+1* |
| DIROUT | FOREIGN+2~, FOREIGN+9 |
| >> DIRUT | FOREIGN+10, PSOASK+4 |
| DIWF | ADDRLOOP+1~, ADDRLOOP+16* |
| DIWL | ADDRLOOP+1~, ADDRLOOP+16* |
| DIWR | ADDRLOOP+1~, ADDRLOOP+16* |
| DONE | FOREIGN+2~, FOREIGN+4*, FOREIGN+6, FOREIGN+8*, FOREIGN+11* |
| DR | PSOPAT+1~, PSOASK+18* |
| DTOUT | ADDRLOOP+5, SAVEADDR+6, ASK+6, FOREIGN+2~, FOREIGN+8 |
| DUOUT | ADDRLOOP+5, ADDRLOOP+32, SAVEADDR+8, ASK+8, FOREIGN+2~, FOREIGN+9, PSOASK+12, PSOASK+16, PSOASK+22 |
| FIELD | FOREIGN~, FOREIGN+3*, FOREIGN+4 |
| FILE | FOREIGN~, FOREIGN+3*, FOREIGN+4 |
| FLG | UPDATE+9~, UPDATE+10, ADDRED~, ADDRED+9 |
| FLG(1 | UPDATE+9* |
| FLG(2 | UPDATE+9* |
| FORGN | FOREIGN+2~, FOREIGN+8*, FOREIGN+11*, FOREIGN+12 |
| I | ADDRED+6~ |
| INDX | FOREIGN+2~ |
| IOF | ADDRED+12, EDITTADR+20 |
| PROMPT | ADDYN~, ADDYN+7 |
| QUIT | ADDR+1~, ADDRLOOP+8*, ADDRLOOP+10, ADDRLOOP+22*, ADDRLOOP+32*, ADDRLOOP+36* |
| RETVAL | ADD+4~, ADD+7*, ADD+12*, ADD+13*, ADD+18*, ADD+19*, ADD+20, FILEYN+1~, FILEYN+2*, FILEYN+4* , FILEYN+5*, FILEYN+6*, FILEYN+7*, FILEYN+8*, FILEYN+9*, FILEYN+10*, FILEYN+11*, FILEYN+12*, FILEYN+13*, FILEYN+14* , FILEYN+15*, FILEYN+16 |
| SRC | ADDRED+6~, ADDRED+8*, ADDRED+9 |
| TYPE | UPDATE~, UPDATE+5, UPDATE+6, UPDATE+12, UPDDTTM~, UPDDTTM+2 |
| U | COUNTRY+10, COUNTRY+13, CNTRYI+8, CNTRYI+11 |
| USERSEL | ADDR+1~, ADDRLOOP+3!, ADDRLOOP+20*, ADDRLOOP+21*, ADDRLOOP+22, ADDRLOOP+23*, ADDRLOOP+24, ADDRLOOP+28, ADDRLOOP+29, ADDRLOOP+30 |
| X | ADDRLOOP+1~, ADDRLOOP+14*, SAVEADDR+9~, ASK+10, ADDRED+6~, PSOPAT+1~ |
| Y | ADDR+1~, ADDRLOOP+3!, ADDRLOOP+6, ADDRLOOP+8, SAVEADDR+9~, ADDRED+6~, FOREIGN+11, PSOPAT+1~, PSOASK+5 |