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

AGAGERP2.m

Go to the documentation of this file.
  1. AGAGERP2 ;VNGT/IHS/DLS - Patient Age Specific Report ; April 29, 2010
  1. ;;7.1;PATIENT REGISTRATION;**8,9,12,14**;AUG 25, 2005;Build 1
  1. ;
  1. ;IHS/OIT/NKD AG*7.1*12 INSURER TYPE
  1. ;IHS/OIT/NKD AG*7.1*14 BUG FIX PREVENTING RRE COVERAGE
  1. ;
  1. PRINT ; Print the report
  1. I $D(^TMP("AGAGERP",$J))<11 W !,"No Records Found!" H 2 Q
  1. N RPTDT,POP,%H,X,Y,AGLOC,AGLINE
  1. S %H=$H D YX^%DTC S RPTDT=Y
  1. S $P(AGLINE("EQ"),"=",80)=""
  1. S $P(AGLINE("DASH"),"-",80)=""
  1. ;
  1. START ; Begin the output process
  1. I $G(AGIO)="" U IO
  1. I $G(EXCL("Specific Patient"))'="" D PRTPNT Q
  1. I $G(EXCL("Alternate Resource"))["MEDICARE" D PRTMEDC^AGAGERP3 Q
  1. I $G(EXCL("Alternate Resource"))["MEDICAID" D PRTMEDD^AGAGERP3 Q
  1. I $G(EXCL("Alternate Resource"))["CHIP" D PRTPRVT^AGAGERP3 Q
  1. I $G(EXCL("Alternate Resource"))["PRIVATE INSURANCE" D PRTPRVT^AGAGERP3 Q
  1. I $G(EXCL("Alternate Resource"))["PRIVATE + WORK" D PRTPRVT^AGAGERP3 Q
  1. I $G(EXCL("Alternate Resource"))["SPECIFIC INSURER" D PRTPRVT^AGAGERP3 Q
  1. D PRTNOAR
  1. Q
  1. ;
  1. PRTNOAR ; Print for selections without an Alternate Resource
  1. N PAGENO,PATNUM,PATIEN,LINECT,ESCAPE,PATNAM,AGTOTAL
  1. S (PAGENO,ESCAPE,AGTOTAL)=0
  1. D HDR
  1. S PATNAM=""
  1. F S PATNAM=$O(^TMP("AGAGERP",$J,PATNAM)) Q:(PATNAM="")!(ESCAPE) D
  1. . S PATIEN=""
  1. . F S PATIEN=$O(^TMP("AGAGERP",$J,PATNAM,PATIEN)) Q:PATIEN="" D
  1. . . N CHRTNO,PHONE,ADDR1,ADDR2,ADDR3,CITY,ST,ZIP,DOB,LASTUPD,APPSTAT,APPSTDT,APPNODE,STABB,AGE
  1. . . S CHRTNO=$P($G(^AUPNPAT(PATIEN,41,DUZ(2),0)),U,2)
  1. . . S PHONE=$$GET1^DIQ(2,PATIEN,.131)
  1. . . S ADDR1=$$GET1^DIQ(2,PATIEN,.111)
  1. . . S ADDR2=$$GET1^DIQ(2,PATIEN,.112)
  1. . . S ADDR3=$$GET1^DIQ(2,PATIEN,.113)
  1. . . S CITY=$$GET1^DIQ(2,PATIEN,.114)
  1. . . S STABB=$$GET1^DIQ(2,PATIEN,.115,"I")
  1. . . S ST=$$GET1^DIQ(5,STABB,1)
  1. . . S ZIP=$$GET1^DIQ(2,PATIEN,.116)
  1. . . N Y S Y=$$GET1^DIQ(2,PATIEN,.03,"I") D DD^%DT S DOB=Y
  1. . . S AGE=$$GET1^DIQ(9000001,PATIEN,1102.98)
  1. . . S LASTUPD=$$GET1^DIQ(9000001,PATIEN,.03)
  1. . . S APPNODE=$O(^AUPNAPPS("B",PATIEN,""))
  1. . . I APPNODE'="" D
  1. . . . S APPNOD2=""
  1. . . . F S APPNOD2=$O(^AUPNAPPS(APPNODE,11,APPNOD2)) Q:($O(^AUPNAPPS(APPNODE,11,APPNOD2))="B")!(APPNOD2="")
  1. . . . I APPNOD2'="" D
  1. . . . . S APPSTDT=$$GET1^DIQ(9000045.11,APPNOD2_","_APPNODE,.01)
  1. . . . . S APPSTAT=$$GET1^DIQ(9000045.11,APPNOD2_","_APPNODE,.04)
  1. . . W !,PATNAM," (",CHRTNO,")",?51,PHONE
  1. . . W !,?10,ADDR1,?51,DOB," ("
  1. . . I AGE["MOS" W AGE,")"
  1. . . I AGE'["MOS" W +AGE,")"
  1. . . I $G(ADDR2)'="" W !,?10,ADDR2
  1. . . I $G(ADDR3)'="" W !,?10,ADDR3
  1. . . W !,?10,CITY," ",ST," ",ZIP
  1. . . W !,LASTUPD,?51,$G(APPSTAT)
  1. . . I $G(APPSTDT)'="" W "/",$G(APPSTDT)
  1. . . W !,AGLINE("DASH") S LINECT=LINECT+11
  1. . . S AGTOTAL=$G(AGTOTAL)+1
  1. . . I $E(IOST)="C",$Y>(IOSL-5) K DIR D RTRN^AG S ESCAPE=X=U D:'ESCAPE HDR
  1. . . I $E(IOST)'="C",$Y>(IOSL-17) W !! D HDR
  1. W !,"TOTAL RECORDS:",?20,$G(AGTOTAL),!!
  1. I $E(IOST)="C",PATNAM="" K DIR D RTRN^AG
  1. I $E(IOST)'="C" D CLOSE^%ZISH(IO)
  1. Q
  1. ;
  1. PRTPNT ; Print Specific Patient
  1. N PAGENO,PATNUM,PATIEN,LINECT,ESCAPE,PATNAM,I
  1. S PAGENO=0,ESCAPE=0
  1. D HDRCHK
  1. I '$D(AGINS) D HDR
  1. I $D(AGINS) D HDR2
  1. S PATNAM=$P(EXCL("Specific Patient"),"^",2)
  1. S PATIEN=+EXCL("Specific Patient")
  1. N CHRTNO,PHONE,ADDR1,ADDR2,ADDR3,CITY,ST,ZIP,DOB,LASTUPD
  1. N APPSTAT,APPSTDT,APPIEN,APPSTAT1,APPNODE,STABB,APPNOD2,AGE,ARNO
  1. S CHRTNO=$P($G(^AUPNPAT(PATIEN,41,DUZ(2),0)),U,2)
  1. S PHONE=$$GET1^DIQ(2,PATIEN,.131)
  1. S ADDR1=$$GET1^DIQ(2,PATIEN,.111)
  1. S ADDR2=$$GET1^DIQ(2,PATIEN,.112)
  1. S ADDR3=$$GET1^DIQ(2,PATIEN,.113)
  1. S CITY=$$GET1^DIQ(2,PATIEN,.114)
  1. S STABB=$$GET1^DIQ(2,PATIEN,.115,"I")
  1. S ST=$$GET1^DIQ(5,STABB,1)
  1. S ZIP=$$GET1^DIQ(2,PATIEN,.116)
  1. N Y S Y=$$GET1^DIQ(2,PATIEN,.03,"I") D DD^%DT S DOB=Y
  1. S AGE=$$GET1^DIQ(9000001,PATIEN,1102.98)
  1. S LASTUPD=$$GET1^DIQ(9000001,PATIEN,.03)
  1. S APPNODE=$O(^AUPNAPPS("B",PATIEN,""))
  1. I APPNODE'="" D
  1. . S APPNOD2=""
  1. . F S APPNOD2=$O(^AUPNAPPS(APPNODE,11,APPNOD2)) Q:($O(^AUPNAPPS(APPNODE,11,APPNOD2))="B")!(APPNOD2="")
  1. . I APPNOD2'="" D
  1. . . S APPSTDT=$$GET1^DIQ(9000045.11,APPNOD2_","_APPNODE,.01)
  1. . . S APPSTAT=$$GET1^DIQ(9000045.11,APPNOD2_","_APPNODE,.04)
  1. W !,PATNAM," (",CHRTNO,")"
  1. S ARNO=$O(AGINS(0))
  1. I ARNO'="",$D(AGINS) D
  1. . I AGE["MOS" W " (",AGE,")"
  1. . I AGE'["MOS" W " (",+AGE,")"
  1. . I ARNO'="",$D(AGINS(ARNO)) D
  1. . . D AGARNO
  1. I '$D(AGINS) W ?51,PHONE
  1. W !,?10,ADDR1
  1. I '$D(AGINS) D
  1. . W ?51,DOB
  1. . I AGE["MOS" W " (",AGE,")"
  1. . I AGE'["MOS" W " (",+AGE,")"
  1. I ARNO'="",$D(AGINS(ARNO)) D AGARNO
  1. I $G(ADDR2)'="" W !,?10,ADDR2 I ARNO'="",$D(AGINS(ARNO)) D AGARNO
  1. I $G(ADDR3)'="" W !,?10,ADDR3 I ARNO'="",$D(AGINS(ARNO)) D AGARNO
  1. W !,?10,CITY," ",ST," ",ZIP I ARNO'="",$D(AGINS(ARNO)) D AGARNO
  1. I '$D(AGINS) D
  1. . W !,LASTUPD,?51,$G(APPSTAT)
  1. . I $G(APPSTDT)'="" W "/",$G(APPSTDT)
  1. I $D(AGINS) D
  1. . W !,LASTUPD
  1. I ARNO'="",$D(AGINS(ARNO)) D AGARNO
  1. I ARNO'="",$D(AGINS(ARNO)) F I=ARNO:1 Q:'$D(AGINS(I)) W ! D AGARNO
  1. I $G(EXCL("Alternate Resource"))=""!($G(EXCL("Alternate Resource"))["NO RESOURCES") D
  1. . I '$D(AGINS),$G(APPSTAT)="" W ?51,"No Alternate Resources"
  1. . I '$D(AGINS),$G(APPSTAT)'="" W !,?51,"No Alternate Resources"
  1. I $G(EXCL("Alternate Resource"))'="",($G(EXCL("Alternate Resource"))'["NO RESOURCES") D
  1. . I '$D(AGINS),$G(APPSTAT)="" W ?51,"Resource Not Found"
  1. . I '$D(AGINS),$G(APPSTAT)'="" W !,?51,"Resource Not Found"
  1. W !,AGLINE("EQ") S LINECT=LINECT+7
  1. I $E(IOST)="C",$Y>(IOSL-5) K DIR D RTRN^AG S ESCAPE=X=U D:'ESCAPE HDR
  1. I $E(IOST)'="C",$Y>(IOSL-17) W !! D HDR
  1. I $E(IOST)="C" K DIR D RTRN^AG
  1. I $E(IOST)'="C" D CLOSE^%ZISH(IO)
  1. Q
  1. ;
  1. HDRTOP ; Top of Header
  1. S LINECT=11
  1. I $E(IOST)'="C",PAGENO>0 W @IOF
  1. I $E(IOST)="C" W @IOF
  1. S PAGENO=PAGENO+1
  1. I $G(EXCL("Age Range"))="" S EXCL("Age Range")="^ALL"
  1. W !,$$GET1^DIQ(200,DUZ,.01)
  1. N HOMESIT S HOMESIT=$$GET1^DIQ(4,DUZ(2),.01)
  1. W ?(80-$L(HOMESIT))/2,HOMESIT
  1. W ?69,"Page ",PAGENO
  1. I $D(EXCL("Age Range")) W !,?(53-$L($P(EXCL("Age Range"),"^",2))/2),"Active Patients Age Range: ",$P(EXCL("Age Range"),"^",2)
  1. I $D(EXCL("Alternate Resource")) W !,?(60-$L($P(EXCL("Alternate Resource"),"^",2))/2),"Alternate Resource: ",$P(EXCL("Alternate Resource"),"^",2)
  1. I $D(EXCL("Location")) W !,?(70-$L($P($G(EXCL("Location")),"^",2))/2),"Location: ",$P($G(EXCL("Location")),"^",2)
  1. I $D(EXCL("Visit Date Range")) W !,?18,"Visit Date Range: ",$P($G(EXCL("Visit Date Range")),"^",2)," - ",$P($G(EXCL("Visit Date Range")),"^",4)
  1. I $D(EXCL("Elig Date Range")) W !,?18,"Elig Date Range: ",$P($G(EXCL("Elig Date Range")),"^",2)," - ",$P($G(EXCL("Elig Date Range")),"^",4)
  1. I $D(EXCL("Eligibility Status")) W !,?(60-$L($P($G(EXCL("Eligibility Status")),"^",2))/2),"Eligibility Status: ",$P($G(EXCL("Eligibility Status")),"^",2)
  1. I $D(EXCL("Specific Patient")) W !,?(65-$L($P($G(EXCL("Specific Patient")),"^",2))/2),"Specific Patient: ",$P($G(EXCL("Specific Patient")),"^",2)
  1. I $D(EXCL("Specific Insurer")) W !,?(65-$L($P($G(EXCL("Specific Insurer")),"^",2))/2),"Specific Insurer: ",$P($G(EXCL("Specific Insurer")),"^",2)
  1. W !,?23,"Report Date: ",RPTDT
  1. W !
  1. Q
  1. ;
  1. HDR ; Report Header
  1. D HDRTOP
  1. W !,"Name (CHART #)",?51,"HOME PHONE"
  1. W !,"ADDRESS",?51,"DATE OF BIRTH (AGE)"
  1. W !,"DATE OF LAST UPDATE",?51,"APPLICATION STATUS/DATE"
  1. W !,AGLINE("EQ")
  1. Q
  1. ;
  1. HDR2 ; Report Header for Specific Patient with Qualifying Alt. Resources
  1. D HDRTOP
  1. W !,"Name (CHART #) (AGE)"
  1. W !,"ADDRESS"
  1. W !,"DATE OF LAST UPDATE",?40,"Alternate Resource",?62,"Policy #/Coverage"
  1. W !,AGLINE("EQ")
  1. Q
  1. ;
  1. MRHDR ; MEDICARE Report Header
  1. D HDRTOP
  1. W !,"Name (CHART #)(AGE)",?47,"MEDICARE(M)"
  1. W !,"DATE OF LAST UPDATE",?47,"RAILROAD(R)",?69,"COVERAGE"
  1. W !,AGLINE("EQ")
  1. Q
  1. ;
  1. MDHDR ; MEDICAID Report Header
  1. D HDRTOP
  1. W !,"Name (CHART #)(AGE)",?35,"MEDICAID (STATE)",?55,"PLAN NAME"
  1. W !,"DATE OF LAST UPDATE",?55,"COVERAGE TYPE"
  1. W !,AGLINE("EQ")
  1. Q
  1. ;
  1. PRVTHDR ; Private Report Header
  1. D HDRTOP
  1. W !,"Name (CHART #)(AGE)",?35,"POLICY NUMBER",?53,"INSURER"
  1. W !,"DATE OF LAST UPDATE",?53,"COVERAGE TYPE"
  1. W !,AGLINE("EQ")
  1. Q
  1. ;
  1. MCOV ; Get Medicare Coverage
  1. N IEN,NODE,FROMDT,TODT,COV,COV1,ELGFR,ELGTO
  1. S IEN=0,COVERAGE=""
  1. F S IEN=$O(^AUPNMCR(MCRNUM,11,IEN)) Q:(IEN="B")!(IEN="") D
  1. . S NODE=$G(^AUPNMCR(MCRNUM,11,IEN,0))
  1. . I NODE'="" D
  1. . . I '$D(EXCL("Elig Date Range")) D
  1. . . . S FROMDT=$P(NODE,U),TODT=$P(NODE,U,2)
  1. . . . I TODT="" S TODT=9999999
  1. . . . I '((TODT<DT)!(DT<FROMDT)) D
  1. . . . . S COV1=$P(NODE,U,3)
  1. . . . . I COV1'="" S COV(COV1)=""
  1. . . I $D(EXCL("Elig Date Range")) D
  1. . . . S ELGFR=$P($G(EXCL("Elig Date Range")),U),ELGTO=$P($G(EXCL("Elig Date Range")),U,3)
  1. . . . S FROMDT=$P(NODE,U),TODT=$P(NODE,U,2)
  1. . . . I TODT="" S TODT=9999999
  1. . . . I '((TODT<ELGFR)!(ELGTO<FROMDT)) D
  1. . . . . S COV1=$P(NODE,U,3)
  1. . . . . I COV1'="" S COV(COV1)=""
  1. S COV1=""
  1. F S COV1=$O(COV(COV1)) Q:COV1="" S COVERAGE=COVERAGE_"/"_COV1
  1. S COVERAGE=$E(COVERAGE,2,($L(COVERAGE)))
  1. Q
  1. ;
  1. PCOV ; Get Private Insurance Coverage
  1. N FROMDT,TODT,COV,COV1,ELGFR,ELGTO
  1. S COVERAGE=""
  1. S NODE=$G(^AUPNPRVT(PATIEN,11,+PNODE,0))
  1. I NODE'="" D
  1. . I '$D(EXCL("Elig Date Range")) D
  1. . . S FROMDT=$P(NODE,U,6),TODT=$P(NODE,U,7)
  1. . . I TODT="" S TODT=9999999
  1. . . I '((TODT<DT)!(DT<FROMDT)) D
  1. . . . S COV1=$P(NODE,U,3)
  1. . . . I COV1'="" S COVERAGE=$$GET1^DIQ(9999999.65,COV1,.01)
  1. . I $D(EXCL("Elig Date Range")) D
  1. . . S ELGFR=$P($G(EXCL("Elig Date Range")),U),ELGTO=$P($G(EXCL("Elig Date Range")),U,3)
  1. . . S FROMDT=$P(NODE,U,6),TODT=$P(NODE,U,7)
  1. . . I TODT="" S TODT=9999999
  1. . . I '((TODT<ELGFR)!(ELGTO<FROMDT)) D
  1. . . . S COV1=$P(NODE,U,3)
  1. . . . I COV1'="" S COVERAGE=$$GET1^DIQ(9999999.65,COV1,.01)
  1. Q
  1. ;
  1. DCOV ; Get Medicaid Coverage
  1. N IEN,NODE,FROMDT,TODT,COV,COV1,ELGFR,ELGTO
  1. S IEN=0,COVERAGE=""
  1. F S IEN=$O(^AUPNMCD(MCDNUM,11,IEN)) Q:(IEN="B")!(IEN="") D
  1. . S NODE=$G(^AUPNMCD(MCDNUM,11,IEN,0))
  1. . I NODE'="" D
  1. . . I '$D(EXCL("Elig Date Range")) D
  1. . . . S FROMDT=$P(NODE,U),TODT=$P(NODE,U,2)
  1. . . . I TODT="" S TODT=9999999
  1. . . . I '((TODT<DT)!(DT<FROMDT)) D
  1. . . . . S COV1=$P(NODE,U,3)
  1. . . . . I COV1'="" S COV(COV1)=""
  1. . . I $D(EXCL("Elig Date Range")) D
  1. . . . S ELGFR=$P($G(EXCL("Elig Date Range")),U),ELGTO=$P($G(EXCL("Elig Date Range")),U,3)
  1. . . . S FROMDT=$P(NODE,U),TODT=$P(NODE,U,2)
  1. . . . I TODT="" S TODT=9999999
  1. . . . I '((TODT<ELGFR)!(ELGTO<FROMDT)) D
  1. . . . . S COV1=$P(NODE,U,3)
  1. . . . . I COV1'="" S COV(COV1)=""
  1. S COV1=""
  1. F S COV1=$O(COV(COV1)) Q:COV1="" S COVERAGE=COVERAGE_"/"_COV1
  1. S COVERAGE=$E(COVERAGE,2,($L(COVERAGE)))
  1. Q
  1. ;
  1. RCOV ; Get Railroad Coverage
  1. ;N IEN,NODE,FROMDT,TODT,COV,COV1,ELGFR,ELGTO,COVERAGE ;IHS/OIT/NKD AG*7.1*14 REMOVED LOCAL SCOPE OF COVERAGE
  1. N IEN,NODE,FROMDT,TODT,COV,COV1,ELGFR,ELGTO
  1. S IEN=0,COVERAGE=""
  1. F S IEN=$O(^AUPNRRE(MCRNUM,11,IEN)) Q:(IEN="B")!(IEN="") D
  1. . S NODE=$G(^AUPNRRE(MCRNUM,11,IEN,0))
  1. . I NODE'="" D
  1. . . I '$D(EXCL("Elig Date Range")) D
  1. . . . S FROMDT=$P(NODE,U),TODT=$P(NODE,U,2)
  1. . . . I TODT="" S TODT=9999999
  1. . . . I '((TODT<DT)!(DT<FROMDT)) D
  1. . . . . S COV1=$P(NODE,U,3)
  1. . . . . I COV1'="" S COV(COV1)=""
  1. . . I $D(EXCL("Elig Date Range")) D
  1. . . . S ELGFR=$P($G(EXCL("Elig Date Range")),U),ELGTO=$P($G(EXCL("Elig Date Range")),U,3)
  1. . . . S FROMDT=$P(NODE,U),TODT=$P(NODE,U,2)
  1. . . . I TODT="" S TODT=9999999
  1. . . . I '((TODT<ELGFR)!(ELGTO<FROMDT)) D
  1. . . . . S COV1=$P(NODE,U,3)
  1. . . . . I COV1'="" S COV(COV1)=""
  1. S COV1=""
  1. F S COV1=$O(COV(COV1)) Q:COV1="" S COVERAGE=COVERAGE_"/"_COV1
  1. S COVERAGE=$E(COVERAGE,2,($L(COVERAGE)))
  1. Q
  1. ;
  1. HDRCHK ; Check AGINS agains the users selections
  1. Q:$G(EXCL("Alternate Resource"))=""!($G(EXCL("Alternate Resource"))["NO RESOURCES")
  1. N ARNO,ARVAL,ARNOTYP
  1. S ARNO=0
  1. S ARVAL=$P(EXCL("Alternate Resource"),U,2)
  1. F S ARNO=$O(AGINS(ARNO)) Q:ARNO="" D
  1. . S ARNOTYP=$P(AGINS(ARNO),U,10)
  1. . I (ARVAL["MEDICARE")&(ARNOTYP'="M")&(ARNOTYP'="R") K AGINS(ARNO)
  1. . I (ARVAL["MEDICAID")&(ARNOTYP'="D") K AGINS(ARNO)
  1. . I (ARVAL["PRIVATE")&(ARNOTYP'="P") K AGINS(ARNO)
  1. Q
  1. ;
  1. AGARNO ; Get Alternate Resource Information
  1. N ARINS,ARNAME,ARCOV,ARPOLNO,ARNOTYP,PLAN,ARPLNTYP,ARINS,AGMCD,AGST
  1. S ARINS=$P(AGINS(ARNO),U,2)
  1. S ARNAME=$$GET1^DIQ(9999999.18,ARINS,.01)
  1. S ARCOV=$P(AGINS(ARNO),U,4)
  1. S ARPOLNO=$P(AGINS(ARNO),U,9)
  1. S ARNOTYP=$P(AGINS(ARNO),U,10)
  1. I ARNOTYP="D" D
  1. . S PLAN=$P(AGINS(ARNO),U,12)
  1. . I PLAN'="" D
  1. . . ;S ARPLNTYP=$$GET1^DIQ(9999999.18,PLAN,.21,"I")
  1. . . S ARPLNTYP=$$INSTYP^AGUTL(PLAN) ;IHS/OIT/NKD AG*7.1*12
  1. . . I ARPLNTYP="K" D
  1. . . . S ARNAME=$$GET1^DIQ(9999999.18,PLAN,.01)
  1. . . . S ARNOTYP="K"
  1. . . . S AGMCD=$E($P($G(AGINS(ARNO)),U,7),2,99)
  1. . . . I AGMCD'="" S AGST=$P($G(^AUPNMCD(AGMCD,0)),U,4)
  1. . . . I $G(AGST)'="" S AGST=$P($G(^DIC(5,AGST,0)),U,2)
  1. . . . I $G(AGST)'="" S ARNAME=AGST_" "_ARNAME
  1. W ?40,$E(ARNAME,1,21)
  1. I ARNOTYP="R"!(ARNOTYP="M") W ?62,ARNOTYP,"-",$E(ARPOLNO,1,18)
  1. I (ARNOTYP'="R")&(ARNOTYP'="M") W ?62,$E(ARPOLNO,1,18)
  1. I $G(ARCOV)'="" D
  1. . W "/"
  1. . I $X>(80-$L(ARCOV)) W !
  1. . W ?62,$E(ARCOV,1,18)
  1. S ARNO=$O(AGINS(ARNO))
  1. Q