- APCLPCT2 ; IHS/CMI/LAB - extension of APCLPCT ;
- ;;2.0;IHS PCC SUITE;;MAY 14, 2009
- S APCLBT=$H,APCLJOB=$J
- K ^XTMP("APCLPCT",APCLJOB,APCLBT),^XTMP("APCLPCTR",APCLJOB,APCLBT),^XTMP("APCLPCT","APCLSU",APCLJOB,APCLBT)
- D XTMP^APCLOSUT("APCLPCT","PCC REG PATS REPORT")
- D XTMP^APCLOSUT("APCLPCTR","PCC REG PATS REPORT")
- S APCLMAJ=$S(APCLSORT="C":"APCLCOMN",APCLSORT="T":"APCLTRI",1:"APCLSUR"),APCLMIN=$S(APCLSORT="C":"APCLTRI",1:"APCLCOMN")
- S APCLSDI=9999999-APCLSD,APCLEDI=9999999-APCLED,APCLJ=0
- I APCLFS="F" S ^XTMP("APCLPCT","APCLSU",APCLJOB,APCLBT,APCLSU)="" G PAT
- LOC S APCLJ=$O(^AUTTLOC(APCLJ)) G:APCLJ'=+APCLJ PAT S:$P(^AUTTLOC(APCLJ,0),U,5)=APCLSU ^XTMP("APCLPCT","APCLSU",APCLJOB,APCLBT,APCLJ)="" G LOC
- ;
- PAT S APCLDFN=0 F S APCLDFN=$O(^AUPNPAT(APCLDFN)) Q:APCLDFN'=+APCLDFN D C1
- K APCLDFN,APCLV,APCLSDI,APCLEDI,APCLGOTA,APCLGOTB
- S APCLET=$H
- Q
- C1 ;
- Q:'$D(^DPT(APCLDFN,0))
- Q:$P(^DPT(APCLDFN,0),U,19)]""
- Q:$$DEMO^APCLUTL(APCLDFN,$G(APCLDEMO))
- I '$D(^AUPNPAT(APCLDFN,11)),APCLIND=1 Q
- I '$D(^AUPNPAT(APCLDFN,11)),APCLIND=0 S APCLTRI="NO TRIBE ENTERED" G C11
- C1A I $P(^AUPNPAT(APCLDFN,11),U,8)="",APCLIND=0 S APCLTRI="NO TRIBE ENTERED" G C11
- Q:$P(^AUPNPAT(APCLDFN,11),U,8)=""
- S APCLTRI=$P(^AUPNPAT(APCLDFN,11),U,8)
- I '$D(^AUTTTRI(APCLTRI)),APCLIND=0 S APCLTRI="NO TRIBE ENTERED" G C11
- Q:'$D(^AUTTTRI(APCLTRI))
- S APCLTRIC=$P(^AUTTTRI(APCLTRI,0),U,2)
- I APCLIND=1 Q:'(+APCLTRIC&(APCLTRIC<969!(APCLTRIC=997)))
- S APCLTRI=$P(^AUTTTRI(APCLTRI,0),U)
- C11 S (APCLJ,APCLSVJ)=0 F S APCLJ=$O(^AUPNPAT(APCLDFN,51,APCLJ)) Q:APCLJ'=+APCLJ S APCLSVJ=APCLJ
- I 'APCLSVJ S APCLCOMN="NO COMMUNITY ENTERED *",APCLSUR="NO SU OF RESIDENCE" G HRN
- S APCLCOMM=+$P(^AUPNPAT(APCLDFN,51,APCLSVJ,0),U,3) I 'APCLCOMM S APCLCOMN="NO COMMUNITY ENTERED *",APCLSUR="NO SU OF RESIDENCE *" G HRN
- I '$D(^AUTTCOM(APCLCOMM,0)) S APCLCOMN="NO COMMUNITY ENTERED *",APCLSUR="NO SU OF RESIDENCE" G HRN
- S APCLCOMN=$P(^AUTTCOM(APCLCOMM,0),U)
- I $P(^AUTTCOM(APCLCOMM,0),"^",5)'=APCLSUF S APCLCOMN=APCLCOMN_" *"
- S APCLSUR=$P(^AUTTCOM(APCLCOMM,0),U,5)
- I APCLSUR="" S APCLSUR="NO SU OF RESIDENCE" G HRN
- S APCLSUR=$S($D(^AUTTSU(APCLSUR)):$P(^AUTTSU(APCLSUR,0),U),1:"")
- HRN S (APCLGOT1,APCLHRN)=0 F S APCLHRN=$O(^AUPNPAT(APCLDFN,41,APCLHRN)) Q:APCLHRN'=+APCLHRN!(APCLGOT1) D C2
- Q
- C2 I $D(^XTMP("APCLPCT","APCLSU",APCLJOB,APCLBT,$P(^AUPNPAT(APCLDFN,41,APCLHRN,0),U))) S APCLGOT1=1 D C3
- Q
- C3 I $D(^DPT(APCLDFN,.35)),$P(^(.35),U)]"" D C3SET G VISITS
- C3ND S ^(@APCLMIN)=$S($D(^XTMP("APCLPCT",APCLJOB,APCLBT,@APCLMAJ,@APCLMIN)):(+^(@APCLMIN)+1)_U_$P(^(@APCLMIN),U,2)_U_$P(^(@APCLMIN),U,3)_U_$P(^(@APCLMIN),U,4)_U_$P(^(@APCLMIN),U,5),1:"1^0^0^0^0")
- ;
- VISITS ;
- D ^APCLPCT3
- Q
- ;
- C3SET ;
- S ^(@APCLMIN)=$S($D(^XTMP("APCLPCT",APCLJOB,APCLBT,@APCLMAJ,@APCLMIN)):(+^(@APCLMIN)+0)_U_$P(^(@APCLMIN),U,2)_U_$P(^(@APCLMIN),U,3)_U_$P(^(@APCLMIN),U,4)_U_$P(^(@APCLMIN),U,5),1:"0^0^0^0^0")
- Q
- APCLPCT2 ; IHS/CMI/LAB - extension of APCLPCT ;
- +1 ;;2.0;IHS PCC SUITE;;MAY 14, 2009
- +2 SET APCLBT=$HOROLOG
- SET APCLJOB=$JOB
- +3 KILL ^XTMP("APCLPCT",APCLJOB,APCLBT),^XTMP("APCLPCTR",APCLJOB,APCLBT),^XTMP("APCLPCT","APCLSU",APCLJOB,APCLBT)
- +4 DO XTMP^APCLOSUT("APCLPCT","PCC REG PATS REPORT")
- +5 DO XTMP^APCLOSUT("APCLPCTR","PCC REG PATS REPORT")
- +6 SET APCLMAJ=$SELECT(APCLSORT="C":"APCLCOMN",APCLSORT="T":"APCLTRI",1:"APCLSUR")
- SET APCLMIN=$SELECT(APCLSORT="C":"APCLTRI",1:"APCLCOMN")
- +7 SET APCLSDI=9999999-APCLSD
- SET APCLEDI=9999999-APCLED
- SET APCLJ=0
- +8 IF APCLFS="F"
- SET ^XTMP("APCLPCT","APCLSU",APCLJOB,APCLBT,APCLSU)=""
- GOTO PAT
- LOC SET APCLJ=$ORDER(^AUTTLOC(APCLJ))
- IF APCLJ'=+APCLJ
- GOTO PAT
- IF $PIECE(^AUTTLOC(APCLJ,0),U,5)=APCLSU
- SET ^XTMP("APCLPCT","APCLSU",APCLJOB,APCLBT,APCLJ)=""
- GOTO LOC
- +1 ;
- PAT SET APCLDFN=0
- FOR
- SET APCLDFN=$ORDER(^AUPNPAT(APCLDFN))
- IF APCLDFN'=+APCLDFN
- QUIT
- DO C1
- +1 KILL APCLDFN,APCLV,APCLSDI,APCLEDI,APCLGOTA,APCLGOTB
- +2 SET APCLET=$HOROLOG
- +3 QUIT
- C1 ;
- +1 IF '$DATA(^DPT(APCLDFN,0))
- QUIT
- +2 IF $PIECE(^DPT(APCLDFN,0),U,19)]""
- QUIT
- +3 IF $$DEMO^APCLUTL(APCLDFN,$GET(APCLDEMO))
- QUIT
- +4 IF '$DATA(^AUPNPAT(APCLDFN,11))
- IF APCLIND=1
- QUIT
- +5 IF '$DATA(^AUPNPAT(APCLDFN,11))
- IF APCLIND=0
- SET APCLTRI="NO TRIBE ENTERED"
- GOTO C11
- C1A IF $PIECE(^AUPNPAT(APCLDFN,11),U,8)=""
- IF APCLIND=0
- SET APCLTRI="NO TRIBE ENTERED"
- GOTO C11
- +1 IF $PIECE(^AUPNPAT(APCLDFN,11),U,8)=""
- QUIT
- +2 SET APCLTRI=$PIECE(^AUPNPAT(APCLDFN,11),U,8)
- +3 IF '$DATA(^AUTTTRI(APCLTRI))
- IF APCLIND=0
- SET APCLTRI="NO TRIBE ENTERED"
- GOTO C11
- +4 IF '$DATA(^AUTTTRI(APCLTRI))
- QUIT
- +5 SET APCLTRIC=$PIECE(^AUTTTRI(APCLTRI,0),U,2)
- +6 IF APCLIND=1
- IF '(+APCLTRIC&(APCLTRIC<969!(APCLTRIC=997)))
- QUIT
- +7 SET APCLTRI=$PIECE(^AUTTTRI(APCLTRI,0),U)
- C11 SET (APCLJ,APCLSVJ)=0
- FOR
- SET APCLJ=$ORDER(^AUPNPAT(APCLDFN,51,APCLJ))
- IF APCLJ'=+APCLJ
- QUIT
- SET APCLSVJ=APCLJ
- +1 IF 'APCLSVJ
- SET APCLCOMN="NO COMMUNITY ENTERED *"
- SET APCLSUR="NO SU OF RESIDENCE"
- GOTO HRN
- +2 SET APCLCOMM=+$PIECE(^AUPNPAT(APCLDFN,51,APCLSVJ,0),U,3)
- IF 'APCLCOMM
- SET APCLCOMN="NO COMMUNITY ENTERED *"
- SET APCLSUR="NO SU OF RESIDENCE *"
- GOTO HRN
- +3 IF '$DATA(^AUTTCOM(APCLCOMM,0))
- SET APCLCOMN="NO COMMUNITY ENTERED *"
- SET APCLSUR="NO SU OF RESIDENCE"
- GOTO HRN
- +4 SET APCLCOMN=$PIECE(^AUTTCOM(APCLCOMM,0),U)
- +5 IF $PIECE(^AUTTCOM(APCLCOMM,0),"^",5)'=APCLSUF
- SET APCLCOMN=APCLCOMN_" *"
- +6 SET APCLSUR=$PIECE(^AUTTCOM(APCLCOMM,0),U,5)
- +7 IF APCLSUR=""
- SET APCLSUR="NO SU OF RESIDENCE"
- GOTO HRN
- +8 SET APCLSUR=$SELECT($DATA(^AUTTSU(APCLSUR)):$PIECE(^AUTTSU(APCLSUR,0),U),1:"")
- HRN SET (APCLGOT1,APCLHRN)=0
- FOR
- SET APCLHRN=$ORDER(^AUPNPAT(APCLDFN,41,APCLHRN))
- IF APCLHRN'=+APCLHRN!(APCLGOT1)
- QUIT
- DO C2
- +1 QUIT
- C2 IF $DATA(^XTMP("APCLPCT","APCLSU",APCLJOB,APCLBT,$PIECE(^AUPNPAT(APCLDFN,41,APCLHRN,0),U)))
- SET APCLGOT1=1
- DO C3
- +1 QUIT
- C3 IF $DATA(^DPT(APCLDFN,.35))
- IF $PIECE(^(.35),U)]""
- DO C3SET
- GOTO VISITS
- C3ND SET ^(@APCLMIN)=$SELECT($DATA(^XTMP("APCLPCT",APCLJOB,APCLBT,@APCLMAJ,@APCLMIN)):(+^(@APCLMIN)+1)_U_$PIECE(^(@APCLMIN),U,2)_U_$PIECE(^(@APCLMIN),U,3)_U_$PIECE(^(@APCLMIN),U,4)_U_$PIECE(^(@APCLMIN),U,5),1:"1^0^0^0^0")
- +1 ;
- VISITS ;
- +1 DO ^APCLPCT3
- +2 QUIT
- +3 ;
- C3SET ;
- +1 SET ^(@APCLMIN)=$SELECT($DATA(^XTMP("APCLPCT",APCLJOB,APCLBT,@APCLMAJ,@APCLMIN)):(+^(@APCLMIN)+0)_U_$PIECE(^(@APCLMIN),U,2)_U_$PIECE(^(@APCLMIN),U,3)_U_$PIECE(^(@APCLMIN),U,4)_U_$PIECE(^(@APCLMIN),U,5),1:"0^0^0^0^0")
- +2 QUIT