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

APCHS11D.m

Go to the documentation of this file.
  1. APCHS11D ; IHS/CMI/LAB - AND VISION EXAM CHECK ;
  1. ;;2.0;IHS PCC SUITE;**4**;MAY 14, 2009
  1. ;
  1. ;Checks in both V MEASUREMENT and V EXAM file to see if vision/hearing measurement or exam occurred
  1. ;
  1. ; ******************** SURVEILLANCE - HARD CODE ********************
  1. VISION ;
  1. I APCHSAGE>15!(APCHSAGE<7) G X1
  1. S APCHSDIS="VISION EXAM"
  1. S APCHS("NO DISPLAY")=0 ;This variable set to one if vision exam occurred based on check of V MEASUREMENT file or V EXAM file
  1. S APCHSEXC="S APCHSIVD=$$LASTMSR^APCHS11B(APCHSPAT,APCHSMSD)" F APCHSMSC="07","08" Q:APCHS("NO DISPLAY") D MEASDFN^APCHS11B I APCHSMSD D PROCESS
  1. I APCHS("NO DISPLAY") G X1
  1. S APCHSEXC="S APCHSIVD=$O(^AUPNVXAM(""AA"",APCHSPAT,APCHSEXD,""""))" F APCHSEXN=19 Q:APCHS("NO DISPLAY") D EXAMDFN^APCHS11 I APCHSEXD D PROCESS
  1. I 'APCHS("NO DISPLAY") S APCHSEXD=$O(^AUTTEXAM("C",19,0)),APCHSDF1=9999999.15 D REFDF^APCHS11,DISPLAY
  1. X1 K APCHS("NO DISPLAY"),APCHSYNG
  1. Q
  1. ;
  1. HEARING ;
  1. I APCHSAGE>15!(APCHSAGE<7) G X2
  1. S APCHSDIS="HEARING EXAM"
  1. S APCHS("NO DISPLAY")=0 ;This variable set to one if hearing exam occurred based on check of V MEASUREMENT file or V EXAM file
  1. S APCHSEXC="S APCHSIVD=$$LASTMSR^APCHS11B(APCHSPAT,APCHSMSD)" F APCHSMSC="10","09" Q:APCHS("NO DISPLAY") D MEASDFN^APCHS11B I APCHSMSD D PROCESS
  1. I APCHS("NO DISPLAY") G X2
  1. S APCHSEXC="S APCHSIVD=$O(^AUPNVXAM(""AA"",APCHSPAT,APCHSEXD,""""))" F APCHSEXN=17,23,24 Q:APCHS("NO DISPLAY") D EXAMDFN^APCHS11 I APCHSEXD D PROCESS
  1. I 'APCHS("NO DISPLAY") D
  1. .S APCHSEXD=$O(^AUTTEXAM("C",17,0)),APCHSDF1=9999999.15 D REFDF^APCHS11
  1. .I '$D(APCHSTEX) S APCHSEXD=$O(^AUTTEXAM("C",23,0)),APCHSDF1=9999999.15 D REFDF^APCHS11
  1. .I '$D(APCHSTEX) S APCHSEXD=$O(^AUTTEXAM("C",24,0)),APCHSDF1=9999999.15 D REFDF^APCHS11
  1. .D DISPLAY
  1. X2 K APCHS("NO DISPLAY"),APCHSYNG,APCHSEXC
  1. Q
  1. ;
  1. HEARACCL ;
  1. I APCHSAGE>18!(APCHSAGE<1) G X5
  1. S APCHSDIS="HEARING EXAM"
  1. S APCHSEXC="S APCHSIVD=$$LASTMSR^APCHS11B(APCHSPAT,APCHSMSD)" F APCHSMSC="10","09" D MEASDFN^APCHS11B I APCHSMSD D ACCLYR
  1. S APCHSEXC="S APCHSIVD=$O(^AUPNVXAM(""AA"",APCHSPAT,APCHSEXD,""""))" F APCHSEXN=17,23,24 D EXAMDFN^APCHS11 I APCHSEXD D ACCLYR
  1. I '$D(APCHSACL) S APCHSDIS="HEARING EXAM",APCHSDUE="MAY BE DUE NOW",APCHSDAT="" D G X5
  1. .S APCHSEXD=$O(^AUTTEXAM("C",17,0)),APCHSDF1=9999999.15 D REFDF^APCHS11
  1. .I '$D(APCHSTEX) S APCHSEXD=$O(^AUTTEXAM("C",23,0)),APCHSDF1=9999999.15 D REFDF^APCHS11
  1. .I '$D(APCHSTEX) S APCHSEXD=$O(^AUTTEXAM("C",24,0)),APCHSDF1=9999999.15 D REFDF^APCHS11
  1. .D DISPLAY^APCHS11
  1. D PROCACCL
  1. X5 K APCHSEXC,APCHSACL
  1. Q
  1. ;
  1. PROCESS ;CHECKS V MEASUREMENT FILE OR V EXAM FILE FOR ENTRIES
  1. X APCHSEXC
  1. I 'APCHSIVD G X3
  1. D PASTAGE^APCHS11
  1. I APCHSOLD<4 S APCHSYNG=$S('$D(APCHSYNG):APCHSIVD,APCHSYNG<APCHSIVD:APCHSYNG,1:APCHSIVD) ;Displays date on health summary of when last hearing/vision meas. occurred
  1. E S APCHS("NO DISPLAY")=1
  1. X3 Q
  1. ;
  1. ACCLYR ; PLACE DATES IN ARRAY
  1. X APCHSEXC
  1. I APCHSIVD S APCHSACL(APCHSIVD)=""
  1. K APCHSIVD
  1. Q
  1. ;
  1. PROCACCL ;DETERMINE IF HEARING TEST DUE BASED ON ACCELERATED (YEARLY) SCHEDULE
  1. S APCHSIVD=$O(APCHSACL(""))
  1. S APCHSINT=365
  1. S APCHSDIS="HEARING EXAM"
  1. D GETDATE^APCHS11,COMPARE^APCHS11
  1. S APCHSEXD=$O(^AUTTEXAM("C",17,0)),APCHSDF1=9999999.15 D REFDF^APCHS11
  1. I '$D(APCHSTEX) S APCHSEXD=$O(^AUTTEXAM("C",23,0)),APCHSDF1=9999999.15 D REFDF^APCHS11
  1. I '$D(APCHSTEX) S APCHSEXD=$O(^AUTTEXAM("C",24,0)),APCHSDF1=9999999.15 D REFDF^APCHS11
  1. D DISPLAY^APCHS11
  1. Q
  1. ;
  1. DISPLAY ;DISPLAY "MAY BE DUE NOW" PROMPT IF APPROPRIATE
  1. I $D(APCHSYNG) S APCHSDUE="MAY BE DUE NOW",APCHSIVD=APCHSYNG D GETDATE^APCHS11,DISPLAY^APCHS11 G X6
  1. S APCHSDUE="MAY BE DUE NOW",APCHSDAT="" D DISPLAY^APCHS11
  1. X6 Q
  1. ;