RCDPEU1 ;AITC/CJE - ELECTRONIC PAYER UTILITIES ; 7/1/19 1:08pm
Source file <RCDPEU1.m>
Name | Comments | DBIA/ICR reference |
---|---|---|
SELPAY(PARAM) | ; EP
; New all purpose payer selection subroutine. Based off file 344.6 ; Including options to include only given payer types (CHAMPVA/Medical/Pharmacy/Tricare/All) ; and to filter selection to include only payers that have entries in file 344.4 or 344.31 ; This subroutine may be used to replace all previous payer seletion prompts. ; Input - PARAM array of parameters passed by reference ; PARAM("TYPE") - Types of payers to include in the selection (optional defaults to A) ; C - CHAMPVA, P - Pharmacy, T - Tricare, M - Medical (neither P nor T), A - All ; PARAM("FILE") - Only include payers that have entries on the ERA or EFT file (optional) ; 344.4 - ERA, 344.31 - EFT ; PARAM("SRCH") - Search by payer name or TIN (optional defaults to N) ; N - Payer Name, T - TIN ; PARAM("SELC") - Seclect individual payers, or range of payers (optional defaults to S) ; S - Selected payers, R - Range of payers ; PARAM("DICA") - Text that will be used to prompt the user (optional) ; defaults to "Select payer "_$S(PARAM("SRCH")="N":"name",1:"TIN") |
|
PROMPT(PARAM,RCA) | ; Prompt for a payer from file 344.6 with various filter options
; Input: PARAM - array of parameters defined in subroutine SELPAY above ; Output: ^TMP("RCDPEU1",$J) as defined in subroutine SELPAY above ; Returns: 1 - Payer selected ; 0 - No payer selected ; -1 - user typed '^' or timed out |
|
EXPAND | ; Expand range of payer names given start and end points.
; Input: Start and end points of the range in the global ^TMP("RCDPEU1",$J) documented in SELPAY above. ; Output: More enntries in ^TMP("RCDPEU1",$J), one for each matching payer in the range. |
|
EXPANDX(NAME) | ; Add all payers with the same name into the list
; Input: NAME - Payer Name ; PARAM - Input parameters ; Output: ^TMP("RCDPEU1",$J) |
|
ADDPAY(PAYIEN) | ; Add payer to the output array.
; Input - PAYIEN = Internal entry number from file #344.6 ; Output - New entries in ^TMP("RCDPEU1",$J |
|
ADDTIN(TIN) | ; Add all payers with TIN to the output array
; Input - Payer Identifer string (TIN) matching one or more entries in file #344.6 |
|
SRCHTIN(RCX,PARAM) | ; Given user input narrow down the TIN that the user wants
; Input: RCX - User input to use in TIN lookup. ; PARAM - array of input parameters (see subroutine SELPAY for detailed description) |
|
CHKPAY(PAYIEN,TYPE,FILE) | ; Check if payer meets the filter requirements
; Input: PAYIEN - Internal entry number of the payer from file 344.6 ; TYPE - C - CHAMPVA, M - Medical, P - Pharmacy, T- Tricare, A - All ; FILE - 344.4 - ERA, 344.31 EFT - Payer must have entries in the given file ; Return: 1 - Payer matches the filter criteria, otherwise 0. |
|
CHKRNG(PAYIEN) | ; Check if second picked payer name follows the first
; Input: PAYIEN = Internal entry number of payer from file #344.6 ; ^TMP("RCDPEU1",$J global array contains previously picked payer ; Return: 1 - if PAYIEN's name follows that of payer in ^TMP, otherwise 0 |
|
CHKTIN(TIN,PARAM,OUT) | ; Given a TIN check filter criteria and add passing entries to the OUT array
; Input: TIN = Payer Identifier string that matches one or more payers in file #344.6 ; PARAM = Input parameter array. See subroutine SELPAY for detailed documentation ; Output: OUT (passed by reference) array of payers matching filter parameters. Sorted by TIN then NAME |
|
TLIST | ; List TINS for user help. Only TINS matching filter criteria are displayed.
|
|
INIT | ; Initialize parameters and return array
; Input - PARAM array see comments for SELPAY above |
|
CLEAN | ; Clean up output array if user aborts
|
|
RTYPE(DEF) | ;EP
; Input: DEF - Value to use a default ; Returns: -1 - User ^ or timed out ; A - User selected ALL ; C - User selected CHAMPVA ; M - User selected MEDICAL ; P - User selected PHARMACY ; B - User selected BOTH |
|
CLOSEDC(DEF) | ;EP
; PRCA*4.5*349 - Added subroutine ; Input: DEF - Value to use a default ; Optional, Defaults to "" ; Returns: -1 - User ^ or timed out ; A - User selected ALL ; C - User selected CLOSED |
|
PAYTYPE(NAME,TIN,TYPE) | ; EP
; Is a payer Medical, Pharmacy or Tricare based on flags in the payer exclusion file. ; Inputs: NAME - The free text name of the payer ; TIN - The ID if the payer ; TYPE - M : Medical, P : Pharmacy, T: Tricare ; Returns : 1 - Yes, payer matches type, 0 - No, payer does not match type |
|
GETPAY(NAME,TIN) | ; EP - Get payer IEN given name and TIN
; Inputs: NAME - The free text name of the payer ; TIN - The ID if the payer ; Returns: Internal entry number from file 344.6 |
|
CHKTYPE(IEN,TYPE) | ; EP
; Inputs: IEN - Internal entry number from file 344.6 ; TYPE - C - CHAMPVA, M : Medical, P : Pharmacy, T: Tricare, A: All ; Returns: 1 if the payer matches the type, otherwise 0 |
|
ISTYPE(FILE,IEN,TYPE) | ; EP
; Check if payer is a given type based on IEN from a FILE ; Input: FILE - file from which to get Payer name and TIN ; allowed values 344.4 - ERA, 344.31 - EFT, 361.1 - EOB ; IEN - Internal entry number of entry in FILE ; TYPE - C : CHAMPVA, M : Medical, P : Pharmacy, T: Tricare ; Return 1 - payer matches type, else 0. |
|
ISSEL(FILE,IEN,RCJOB) | ; EP
; Check if payer was selected by the user give the file and IEN ; Input: FILE - file from which to get Payer name and TIN ; allowed values 344.4 - ERA, 344.31 - EFT, 361.1 - EOB ; IEN - Internal entry number of entry in FILE ; Return 1 - payer was selected, else 0. |
|
GETNAME(FILE,IEN) | ; Get Payer Name give file and IEN
|
|
GETTIN(FILE,IEN) | ; Get Payer TIN give file and IEN
|
|
PAYRNG(MIXED,BLANKLN,NMORTIN,PROMPT) | ; How does the user want to select payers?
; Input: MIXED - 1 to display prompts in mixed case ; Optional, defaults to 0 ; BLANKLN - 0 skip initial blank line ; Optional, defaults to 1 ; NMORTIN - 1 to look-up Payer by Payer Name, 2 to look-up by TIN ; 0 or undefined - pre-326 behavior, look-up by payer name and don't include TIN in output array. ; Optional, defaults to 0 ; PROMPT - Alternative prompt |
|
EOBERA(IEN3611) | ; Get ERA that corresponds to an EOB so we can find payers.
; Input IEN3611 - Internal entry from file 361.1 EOB ; Returns - Internal entry number from file 344.4 ERA ; use reverse $Order to get the latest ERA in case there is more than one. |
|
EOBTYP(IEN3611,TYPE) | ; If EOB has no ERA, use TIN from EOB to determine M/P/T type
; Input IEN3611 - Internal entry from file 361.1 EOB ; TYPE - M : Medical, P : Pharmacy, T: Tricare ; Returns - 1 at least one payer with TIN is of type TYPE |
|
RMESS | ; Output message that entry is required.
|
|
WARN(TYPE) | ; Warn user that no payers of TYPE have been flagged
; Input: TYPE - C=CHAMPVA, P=Pharmacy, T=Tricare ; Output: warning message to screen. |
|
ASKAUTO(DEF) | ; EP from RCDPENR2 - added for PRCA*4.5*349
; Input: DEF - Value to use a default, optional, defaults to "BOTH" ; Returns: -1 - User ^ or timed out ; A - Include autoposted only ; N - Include manually posted only ; B - Include both types |
|
CHKEFT(EFTDA) | ; EP from RCDPENR3 - Check to see if a EFT is posted - added for PRCA*4.5*349
; Input EFTDA - Internal entru number from 344.31 ; Returns 1 if EFT is posted, otherwise 0 |
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 |
|
FileNo | Call Tags |
---|---|
^RCY(344 - [#344] | GET1^DIQ |
^RCY(344.31 - [#344.31] | GET1^DIQ |
^RCY(344.4 - [#344.4] | GET1^DIQ |
^RCY(344.6 - [#344.6] | GET1^DIQ |
^IBM(361.1 - [#361.1] | GET1^DIQ |