Home   Package List   Routine Alphabetical List   Global Alphabetical List   FileMan Files List   FileMan Sub-Files List   Package Component Lists   Package-Namespace Mapping  
Routine: BLRAG06

BLRAG06.m

Go to the documentation of this file.
  1. BLRAG06 ; IHS/MSC/SAT - LABORATORY ACCESSION GUI RPCS ;
  1. ;;5.2;IHS LABORATORY;**1031**;NOV 01, 1997;Build 185
  1. ;
  1. ; BLR REF LAB USING LEDI - UL^BLRAG02 = return the value of the 'REF LAB USING LEDI?' field in the BLR MASTER CONTROL file
  1. ; BLR ICD LOOKUP - ICDLKUP^BLRAG07 = ICD code lookup
  1. ; BLR ORDER REASON LKUP - ORL^BLRAG07 = return order reasons from file 100.03
  1. ; BLR PATIENT LOOKUP - PTLK^BLRAG04 = Patient Lookup
  1. ; BLR PRINTERS AVAILABLE - DEVICE^BLRAG10 = return available printers from the DEVICE file
  1. ; BLR USER LOOKUP - NP^BLRAG06 = return entries from the NEW PERSON table 200 that are 'active'
  1. ;
  1. ; BLR ACCESSION - ACC^BLRAG05 = lab accession processor
  1. ; BLR ACCESSION PRINT - ABR^BLRAG02 = reprint accession label or manifest
  1. ; BLR ALL NON-ACCESSIONED - ANA^BLRAG01 = return all non-accessioned lab records
  1. ; BLR ALL-ACCESSIONED - ABD^BLRAG02 = return all accessioned records for given date range
  1. ; BLR COLLECTION INFO - BLC^BLRAG06 = check BLR PT CONFIRM parameter and return insurances for patient
  1. ; BLR DELETE TEST - DELTST^BLRAG08 = Cancel tests - Test are no longer deleted, instead the status is changed to Not Performed.
  1. ; BLR ORDER/TEST STATUS - LROS^BLRAG03 = return order/test status for given patient and date range
  1. ;
  1. ; BLR SHIP CONF - SC^BLRAG09A = select a shipping configuration
  1. ; BLR MANIFEST BUILD - BM^BLRAG09B = build a shipping manifest
  1. ; BLR MANIFEST CLOSE/SHIP - CLSHIP^BLRAG09C = Close/ship a shipping manifest
  1. ; BLR MANIFEST DISPLAY - DISP^BLRAG09G = screen formatted text for manifest display
  1. ; BLR MANIFEST START - SMONLY^BLRAG09C = Start a shipping manifest only, no building
  1. ; BLR MANIFEST TEST ADD - ADDTEST^BLRAG09C= Add tests to an existing manifest\
  1. ; BLR MANIFEST TEST REMOVE - REMVTST^BLRAG09C= Remove a test from manifest - actually flags test as "removed".
  1. ; BLR MANIFEST TESTS TO ADD- TARPC^BLRAG09B = return tests that can be added to a manifest
  1. ;
  1. BLC(BLRY,BLRDFN) ;check BLR PT CONFIRM parameter and return insurances for patient
  1. ; RPC = BLR COLLECTION INFO
  1. ;INPUT:
  1. ; .BLRY = returned pointer to appointment data
  1. ; BLRDFN = (required) pointer to VA PATIENT file 2
  1. ;
  1. ; Returns in first record:
  1. ; Patient IEN
  1. ; Current User IEN
  1. ; Current User Name
  1. ; Patient Confirmation enabled; 0='no' (default); 1='yes'
  1. ; 2nd and following records are INSURANCE_DATA as returned in ^AGINS:
  1. ; INS_NAME^INS_IEN^??^COVERAGE_NUMBER^ELIGIBILITY_DATE^EXP_DATE^
  1. ; INS_FILE_POINTER^POLICY_HOLDER_NAME^POLICY^...
  1. ;
  1. N BLRI
  1. N BLRINSD,BLRINSI,BLRINS,BLRPTCF,BLRUSERN
  1. S (BLRINSD,BLRINSI,BLRINS)=""
  1. D ^XBKVAR S X="ERROR^BLRAGUT",@^%ZOSF("TRAP")
  1. K BLRIFNL,BLRLTMP
  1. S BLRI=0
  1. K ^TMP("BLRAG",$J)
  1. S BLRY="^TMP(""BLRAG"","_$J_")"
  1. S ^TMP("BLRAG",$J,0)="ERROR_ID"
  1. ;
  1. I '+$G(BLRDFN) D ERR^BLRAGUT("BLRAG06: Invalid patient.") Q
  1. I '+$G(DUZ) D ERR^BLRAGUT("BLRAG06: Invalid user defined.") Q
  1. ;
  1. S BLRUSERN=$$GET1^DIQ(200,DUZ_",",.01) ;get user name
  1. S BLRPTCF=$$PTC^BLRAGUT() ;get patient confirmation flag
  1. S BLRI=BLRI+1 S ^TMP("BLRAG",$J,BLRI)=BLRDFN_U_DUZ_U_BLRUSERN_U_BLRPTCF
  1. K AGINS
  1. S DFN=BLRDFN
  1. D ^AGINS
  1. S BLRINSI="" F S BLRINSI=$O(AGINS(BLRINSI)) Q:BLRINSI="" D
  1. .S BLRINSD=AGINS(BLRINSI)
  1. .;S BLRINS=BLRINS_$S(BLRINS'="":"|",1:"")_$P(BLRINSD,U,1)_":"_$P(BLRINSD,U,2)_":"_$P(BLRINSD,U,9)_":"_$P(BLRINSD,U,6)
  1. .S BLRI=BLRI+1 S ^TMP("BLRAG",$J,BLRI)=BLRINSD
  1. ; 0 1 2 3 4
  1. S ^TMP("BLRAG",$J,0)="T00020DFN^T00020DEFAULT_USER_IEN^T00020DEFAULT_USER_NAME^T00020PT_CONFIRM^T00400INSURANCE_DATA"
  1. Q
  1. ;
  1. NP(BLRY,BLRPN) ;EP BLR USER LOOKUP remote procedure
  1. ; return entries from the NEW PERSON table 200 that are 'active'
  1. ;INPUT:
  1. ; BLRPN = text representing partial name for NEW PERSON lookup; must be at least 3 characters
  1. ;RETURN:
  1. ; Global array containing entries from the NEW PERSON file 200.
  1. ; NEW_PERSON_IEN^NAME
  1. N BLRC,BLRN,BLRI,BLRNPS
  1. ;
  1. D ^XBKVAR S X="ERROR^BLRAGUT",@^%ZOSF("TRAP")
  1. S BLRI=0
  1. K ^TMP("BLRAG",$J)
  1. S BLRY="^TMP(""BLRAG"","_$J_")"
  1. S ^TMP("BLRAG",$J,0)="ERROR_ID"
  1. I $L($G(BLRPN))<3 D ERR^BLRAGUT("BLRAG06: User name lookup requires at least 3 characters.") Q
  1. S BLRN=$$PREP(BLRPN) F S BLRN=$O(^VA(200,"B",BLRN)) Q:BLRN="" Q:BLRPN'[$E(BLRN,1,$L(BLRPN)) D
  1. . S BLRC=$O(^VA(200,"B",BLRN,""))
  1. . S BLRNPS=$G(^VA(200,BLRC,"PS"))
  1. . I ($P(BLRNPS,U,4)="") D
  1. . . S BLRI=BLRI+1 S ^TMP("BLRAG",$J,BLRI)=BLRC_U_BLRN
  1. S ^TMP("BLRAG",$J,0)="T00020NEW_PERSON_IEN^T00020NAME"
  1. Q
  1. ;
  1. PREP(NAME) ;prep input for partial name lookup - decrement last char of name for $O; up-shift all alpha characters
  1. N BLRL
  1. Q:$G(NAME)="" -1
  1. S NAME=$$UPS(NAME)
  1. Q:$E(NAME,$L(NAME))'?1A NAME
  1. S BLRL=$E(NAME,$L(NAME))
  1. S BLRL=$A(BLRL)-1
  1. Q $E(NAME,1,$L(NAME)-1)_$C(BLRL)_"~"
  1. ;
  1. UPS(NAME) ;upshift and check punctuation of input
  1. N BLRDGC,BLRDGI
  1. F BLRDGI=1:1:$L(NAME) S BLRDGC=$E(NAME,BLRDGI) D:$$FC1(.BLRDGC,1)
  1. .S NAME=$E(NAME,0,BLRDGI-1)_BLRDGC_$E(NAME,BLRDGI+1,999)
  1. .Q
  1. Q NAME
  1. ;
  1. FC1(DGC,DGCOMA) ;Transform single character
  1. ;Input: DGC=character to transform (pass by reference)
  1. ; DGCOMA=comma indicator
  1. ;Output: 1 if value is changed, 0 otherwise
  1. ;
  1. S DGC=$E(DGC) Q:'$L(DGC) 0
  1. ;See if comma stays
  1. I DGCOMA'=3,DGC?1"," Q 0
  1. ;Retain uppercase, numeric, hyphen, apostrophe and space
  1. Q:DGC?1U!(DGC?1N)!(DGC?1"-")!(DGC?1"'")!(DGC?1" ") 0
  1. ;Retain parenthesis, bracket and brace characters
  1. Q:DGC?1"("!(DGC?1")")!(DGC?1"[")!(DGC?1"]")!(DGC?1"{")!(DGC?1"}") 0
  1. ;Transform lowercase to uppercase
  1. I DGC?1L S DGC=$C($A(DGC)-32) Q 1
  1. ;Set all other characters to space
  1. S DGC=" " Q 1