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

AQAOPC80.m

Go to the documentation of this file.
  1. AQAOPC80 ; IHS/ORDC/LJF - OCC BY PROVIDER ;
  1. ;;1.01;QAI MANAGEMENT;;OCT 05, 1995
  1. ;
  1. ;This trending report by provider is similar to the one by special
  1. ;review type. It adds the provider as an additional sort on top of
  1. ;one of the 3 main trending reports.
  1. ;Added for Enhancement #1; called by AQAOPC8
  1. ;
  1. S AQAOXSM="PROV" ;line label used by ^aqaopcx
  1. S AQAOXSN=$O(^AQAO1(9,"B","PROVIDER",0)) I AQAOXSN="" D EXIT Q
  1. ;
  1. PROV ; -- ask for provider or person or vendor
  1. W !! K DIR S DIR(0)="N^1:5",DIR("B")=1
  1. S DIR("A",1)=" Who do you want included in the Trending Report?"
  1. S DIR("A",2)=" "
  1. S DIR("A",3)=" 1. One IHS PROVIDER"
  1. S DIR("A",4)=" 2. One IHS EMPLOYEE"
  1. S DIR("A",5)=" 3. One CHS PROVIDER"
  1. S DIR("A",6)=" 4. All IHS PROVIDERS within a Class"
  1. S DIR("A",7)=" 5. All CHS PROVIDERS within a Type"
  1. S DIR("A",8)=" 6. ALL Providers/Employees"
  1. S DIR("A",9)=" "
  1. S DIR("A")=" Select ONE by number"
  1. S DIR("?",1)="Choose #1 to print a report for one IHS provider;"
  1. S DIR("?",2)="Choose #2 to print a report for one non-provider employee."
  1. S DIR("?",3)="Choose #3 for a specific CHS provider."
  1. S DIR("?",4)="Choose #4 to print the report for all IHS providers"
  1. S DIR("?",5)=" within a specific provider class (i.e., Surgeon)"
  1. S DIR("?",6)="Choose #5 to print the report for all CHS providers"
  1. S DIR("?",7)=" within a specific CHS provider type."
  1. S DIR("?",8)="Choose #6 to include all providers/persons in the report."
  1. S DIR("?",7)=" ",DIR("?")="Make your selection by number."
  1. D ^DIR I $D(DTOUT)!$D(DUOUT) D EXIT Q
  1. ;
  1. K AQAOXS S AQAOSRT=+Y
  1. I Y=6 S AQAOXS(0)="" D RPT Q ;multiple categories sorted by name
  1. ;
  1. S X=$S(AQAOSRT=1:"I $D(^XUSEC(""PROVIDER"",+Y))",1:"")
  1. I AQAOSRT=1 D ASK(200,"IHS PROVIDER",X)
  1. I AQAOSRT=2 D ASK(200,"IHS EMPLOYEE",X)
  1. I AQAOSRT=3 D ASK(9999999.11,"CHS PROVIDER",X)
  1. I AQAOSRT=4 D ASK(7,"IHS PROVIDER CLASS",X)
  1. I AQAOSRT=5 D ASK(9999999.34,"CHS PROVIDER TYPE",X)
  1. I '$D(AQAOXS) D PROV Q
  1. ;
  1. RPT ; -- ask user to select report to run
  1. W !!," AVAILABLE OCCURRENCE REPORTS:",! K DIR S DIR(0)="NO^1:4"
  1. S DIR("A")=" Select REPORT to print"
  1. F I=1:1:4 S DIR("A",I)=" "_I_". "_$P($T(RTN+I),";;",2)
  1. S DIR("A",5)=" " D ^DIR G EXIT:$D(DTOUT),PROV:$D(DIRUT),RPT:Y=-1
  1. S AQAORTN=$P($T(RTN+Y),";;",3) D @AQAORTN
  1. ;
  1. EXIT ; -- eoj
  1. D KILL^AQAOUTIL Q
  1. ;
  1. ;
  1. ASK(DIC,DICA,DICS) ; -- SUBRTN to ask user to choose one item
  1. S:DICA["" DIC("A")="Select "_DICA_": " S:DICS]"" DIC("S")=DICS
  1. S DIC(0)="AEMQZ" W !! D ^DIC Q:$D(DTOUT) Q:$D(DUOUT) Q:Y=-1
  1. I AQAOSRT<4 S AQAOXS(1,+Y)=+Y Q
  1. ;
  1. S AQAOK=$O(^DIC(19.1,"B","PROVIDER",0)) I AQAOSRT=4,AQAOK]"" D Q
  1. .W !,"Searching for all ACTIVE IHS Providers within this CLASS. . ."
  1. .S X=0 F S X=$O(^VA(200,"AB",AQAOK,X)) Q:X="" D
  1. ..I $P($G(^VA(200,X,"PS")),U,4)]"",$P(^("PS"),U,4)'>DT Q ;inactive
  1. ..Q:$P($G(^VA(200,X,"PS")),U,5)'=+Y ;wrong prov class
  1. ..S AQAOXS(1,X)=X
  1. ;
  1. W !,"Searching for all ACTIVE CHS Providers within this TYPE. . ."
  1. S X=0 F S X=$O(^AUTTVNDR(X)) Q:X'=+X D
  1. .Q:$$VAL^XBDIQ1(9999999.11,X,.05)]"" ;inactive provider
  1. .Q:$$VALI^XBDIQ1(9999999.11,X,1103)'=+Y ;wrong prov type
  1. .S AQAOXS(1,X)=X
  1. Q
  1. ;
  1. ;
  1. PROFILE1 ;EP; -- SUBRTN to ask for provider or person or vendor
  1. ; called by AQAOPC8
  1. W !! K DIR S DIR(0)="N^1:3",DIR("B")=1
  1. S DIR("A")="Select ONE by Number"
  1. S DIR("A",1)=" 1. IHS PROVIDER Profile"
  1. S DIR("A",2)=" 2. IHS PERSON Profile"
  1. S DIR("A",3)=" 3. CHS PROVIDER Profile",DIR("A",4)=" "
  1. S DIR("?",1)="Choose #1 for a profile on a direct care provider"
  1. S DIR("?",2)="Choose #2 for an IHS employee or volunteer"
  1. S DIR("?",3)="Choose #3 for a contract health care provider"
  1. S DIR("?")="Choose the type of profile you want to print"
  1. D ^DIR Q:$D(DTOUT) Q:$D(DUOUT)
  1. S X=$S(Y=1:"I $D(^XUSEC(""PROVIDER"",+Y))",1:"")
  1. I Y=1 D ASKP(200,"IHS PROVIDER",X,.AQAOPROV,.AQAOPRVN)
  1. I Y=2 D ASKP(200,"IHS PERSON",X,.AQAOPROV,.AQAOPRVN)
  1. I Y=3 D ASKP(9999999.11,"CHS PROVIDER",X,.AQAOPROV,.AQAOPRVN)
  1. I '$D(AQAOPROV) D PROFILE1
  1. Q
  1. ;
  1. ;
  1. ASKP(DIC,DICA,DICS,AQAOPROV,AQAOPRVN) ; -- SUBRTN to ask prov,pers,vendr name
  1. N X S:DICA]"" DIC("A")="Select "_DICA_": " S:DICS]"" DIC("S")=DICS
  1. W !! S DIC(0)="AEMQZ" D ^DIC Q:$D(DTOUT) Q:$D(DUOUT) Q:Y=-1
  1. S AQAOPROV=+Y_";"_$P(DIC,U,2)
  1. S AQAOPRVN=Y(0,0)
  1. Q
  1. ;
  1. ;
  1. RTN ;;
  1. ;;Occurrences By REVIEW CRITERIA;;^AQAOPC1
  1. ;;Occurrences By DIAGNOSIS/PROCEDURE;;^AQAOPC2
  1. ;;Occurrences By FINDINGS/ACTIONS;;^AQAOPC4
  1. ;;Occurrences for SINGLE CRIERION by MONTH;;^AQAOPC7