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

BXPARUTL.m

Go to the documentation of this file.
  1. BXPARUTL ;IHS/OIT/FBD - PARAMETER AUDIT REPORT UTILITIES ;
  1. ;;1.0;IHS EXTENSIONS TO KERNEL TOOLKIT;;Dec 19, 2013;Build 12
  1. ;
  1. ;
  1. DATESEL ;SPECIFY DATE RANGE OF REPORT
  1. K BXPABDT,BXPAEDT
  1. NEW Y
  1. S BXPABDT=$$DATE("B") ;BEGINNING DATE OF DATE RANGE
  1. I +BXPABDT'>0 S BXPAEXIT=1 Q
  1. S BXPAEDT=$$DATE("E") ;ENDING DATE OF DATE RANGE
  1. I +BXPAEDT'>0 S BXPAEXIT=1
  1. Q
  1. ;
  1. DATE(SPEC) ;SELECT DATE
  1. ;INPUT:
  1. ; SPEC DATE SPECIFICATION
  1. ; "B" = BEGINNING DATE OF DATE RANGE
  1. ; "E" = ENDING DATE OF DATE RANGE
  1. ;RETURNED VALUE:
  1. ; POSITIVE VALUE = SELECTED DATE (FM INTERNAL FORMAT)
  1. ; ZERO (0) VALUE = NO DATE SPECIFIED
  1. ;
  1. NEW DIR,DATE,PROMPT,BXBSLD
  1. I $G(DT)="" D DT^DICRW
  1. S DATE=0
  1. S PROMPT=$S(SPEC="B":"beginning",SPEC="E":"ending")
  1. I SPEC="B" D ;OPEN RANGE ON BEGINNING DATE,
  1. .S BXBSLD=$O(^BXPA(9002026.01,"B",""))\1
  1. .S DIR(0)="D^"_BXBSLD_":"_DT_".2359:AETX"
  1. E D ;BUT ENDING DATE MUST FOLLOW BEGINNING DATE
  1. .S DIR(0)="D^"_BXPABDT_":"_DT_".2359:AETX"
  1. S DIR("A")="Enter "_PROMPT_" date of report date range: "
  1. D ^DIR
  1. I +Y S DATE=+Y
  1. E S:$D(DIRUT) BXPAEXIT=1 ;SET FLAG IF USER ABORTED ENTRY
  1. Q DATE
  1. ;
  1. PROVSEL ;PROVIDER SELECTION
  1. K BXPAPRV
  1. NEW DIR,X,Y,BXPAPIEN,BXPAUNM,BXPASEL
  1. S DIR(0)="S^IP:Individual Provider;SEL:Selected Providers (User Defined);TAX:Provider Taxonomy List"
  1. S DIR("A")="Enter Selection" D ^DIR
  1. S BXPASEL=Y
  1. I BXPASEL="SEL" D PROVMAN
  1. I BXPASEL="IP" D PROVPICK
  1. I BXPASEL="TAX" D PROVTAX
  1. I $D(DIRUT) S BXPAEXIT=1 Q
  1. Q
  1. ;
  1. VALPROV(IEN,BDATE,EDATE) ;FUNCTION TO CHECK IF A
  1. Q
  1. ;
  1. ITMSEL ;EP - Select Audit items
  1. NEW ITMDONE,BXIEN,BXPINM
  1. K BXPAITM
  1. S ITMDONE=0,BXPAEXIT=0
  1. W !!,"Parameter Selection",!
  1. W !,"You may select one or more Parameters."
  1. W !,"Press the <Enter> key without entering a name to conclude the selection process."
  1. W !,"Enter ""^"" to abort the selection process.",!
  1. F D Q:ITMDONE
  1. .D ITMPICK Q:ITMDONE
  1. .S BXPAITM(BXPINM)=""
  1. I 'BXPAEXIT,'$D(BXPAITM) S BXPAEXIT=1 Q
  1. Q
  1. ;
  1. ITMPICK ;
  1. NEW DIC,DA,GLOBROOT,MSG
  1. S BXPAEXIT=0
  1. S DIC="^BXPA(9002026.02,",DIC(0)="AEMQ"
  1. S DIC("A")="Select a Parameter: "
  1. D ^DIC K DIC
  1. I +Y>0 D ;PROCESS SELECTION
  1. .S BXIEN=+Y
  1. .S BXPINM=$P(^BXPA(9002026.02,BXIEN,0),U,1)
  1. E D ;EXITING - SET FLAGS FOR WHY
  1. .S ITMDONE=1
  1. .S:$D(DTOUT) BXPAEXIT=1
  1. Q
  1. ;
  1. PROVMAN ;MANUAL PROVIDER SELECTION - USER SELECTS ONE OR MORE PROVIDERS INDIVIDUALLY
  1. S BXPAEXIT=0,PRVDONE=0 ;FLAG FOR ABORTING PROCESS
  1. W !!,"Manual Provider Selection",!
  1. W !,"You may select one or more providers."
  1. W !,"Press the <Enter> key without entering a name to conclude the selection process."
  1. W !,"Enter ""^"" to abort the selection process.",!
  1. F D Q:PRVDONE
  1. .D PROVPICK Q:PRVDONE
  1. .S BXPAPRV(BXPAPIEN)=BXPAUNM
  1. I 'BXPAEXIT,'$D(BXPAPRV) S BXPAEXIT=1
  1. Q
  1. ;
  1. PROVPICK ;SELECT AN INDIVIDUAL PROVIDER
  1. ;EXIT VALUE(S):
  1. ; BPXAUSER>0 BPXAUSER = FILE 200 IEN
  1. ; BPXAUSER=0 USER CONCLUDED QUERY PROCESS
  1. ; BPXAEXIT=1 USER ABORTED QUERY PROCESS
  1. NEW DIC,DA,GLOBROOT,MSG
  1. S BXPAEXIT=0
  1. S (DIC,GLOBROOT)="^VA(200,"
  1. S DIC(0)="AEMQ"
  1. S DIC("A")="Select a provider: "
  1. S DIC("S")="I $D(^VA(200,""AK.PROVIDER"",$P($G(^VA(200,+Y,0)),U),+Y))"
  1. D ^DIC K DIC
  1. I +Y>0 D ;PROCESS SELECTION
  1. .S BXPAPIEN=+Y ;NEW USER FILE #200 RECORD POINTER
  1. .S BXPAUNM=$P(^VA(200,BXPAPIEN,0),U,1) ;USER NAME
  1. .S BXPAPRV(BXPAPIEN)=BXPAUNM
  1. E D ;EXITING - SET FLAGS FOR WHY
  1. .S PRVDONE=1
  1. .S:$D(DTOUT) BXPAEXIT=1
  1. I 'BXPAEXIT,'$D(BXPAPRV) S BXPAEXIT=1
  1. Q
  1. ;
  1. PROVTAX ;SELECT PROVIDERS BASED ON AN EXISTING PROVIDER TAXONOMY
  1. NEW DIC,DA,BXN,BXTAX,BXPAUNM,BXPAPIEN
  1. K BXPAPROV
  1. S DIC="^ATXAX("
  1. S DIC(0)="AEMQ"
  1. S DIC("S")="I $P(^ATXAX(+Y,0),U,15)=200"
  1. S DIC("A")="Select provider taxonomy: "
  1. D ^DIC K DIC
  1. I +Y>0 D ;SCAN SPECIFIED TAXONOMY & EXTRACT SPECIFIED PROVIDERS
  1. .S BXTAX=+Y,BXN=0
  1. .F S BXN=$O(^ATXAX(BXTAX,21,BXN)) Q:'BXN D
  1. ..S BXPAPIEN=$P(^ATXAX(BXTAX,21,BXN,0),U,1)
  1. ..S BXPAUNM=$P($G(^VA(200,BXPAPIEN,0)),U,1)
  1. ..I BXPAUNM'="" S BXPAPRV(BXPAPIEN)=BXPAUNM
  1. E D ;EXITING - SET FLAGS FOR WHY
  1. .S PRVDONE=1
  1. .S:$D(DTOUT) BXPAEXIT=1
  1. I 'BXPAEXIT,'$D(BXPAPRV) S BXPAEXIT=1
  1. Q
  1. ;
  1. HIST(BXPAPRM,BXPADT) ;EP-History of parameter
  1. NEW PARIEN,BXI,DATE,STAT
  1. S PARIEN=$O(^BXPA(9002026.02,"B",BXPAPRM,"")) I PARIEN="" Q
  1. S BXI=0
  1. F S BXI=$O(^BXPA(9002026.02,PARIEN,11,BXI)) Q:'BXI D
  1. .S DATE=$P(^BXPA(9002026.02,PARIEN,11,BXI,0),U,1)\1
  1. .NEW DA,IENS
  1. .S DA(1)=PARIEN,DA=BXI,IENS=$$IENS^DILF(.DA)
  1. .S STAT=$$GET1^DIQ(9002026.21101,IENS,1,"E")
  1. .S BXPADT(BXPAPRM,DATE,STAT)=""
  1. Q