- ABMDACK ; IHS/ASDST/DMJ - APC Visit Edits ;
- ;;2.6;IHS 3P BILLING SYSTEM;;NOV 12, 2009
- ;Original;TMD;02/27/96 11:42 AM
- ;
- S U="^" K ABM,ABMP,ABML
- V ;
- S ABMP("ENDT")="" F S ABMP("ENDT")=$O(^AAPCRCDS("ABILL",ABMP("ENDT"))) Q:ABMP("ENDT")="" D
- .S ABMP("VDFN")="" F S ABMP("VDFN")=$O(^AAPCRCDS("ABILL",ABMP("ENDT"),ABMP("VDFN"))) Q:ABMP("VDFN")="" D V2 K ^AAPCRCDS("ABILL",ABMP("ENDT"),ABMP("VDFN"))
- G XIT
- ;
- V2 Q:'$D(^AAPCRCDS(ABMP("VDFN"),0)) S ABMP("V0")=^(0),ABMP("VDT")=$P($P(ABMP("V0"),U,3),".") Q:$D(^AAPCRCDS("ACAN",ABMP("VDFN")))
- I $D(^ABMDBILL(DUZ(2),"APC",ABMP("VDFN"))) Q
- I +$P($G(^ABMDPARM(DUZ(2),1,0)),U,16) S X1=DT,X2=0-($P(^(0),U,16)*30.417) D C^%DTC Q:ABMP("VDT")<X
- S ABMP("PDFN")=$P(ABMP("V0"),U),ABMP("CLN")=$P(ABMP("V0"),U,13),ABMP("LDFN")=$P(ABMP("V0"),U,2)
- I ABMP("PDFN")=""!(ABMP("LDFN")="") Q
- I $D(^ABPVFAC("PC",ABMP("PDFN"),ABMP("VDT"))) Q
- I ABMP("CLN")]"" Q:$D(^ABMDPARM(DUZ(2),1,15,ABMP("CLN")))
- I ABMP("CLN")="" S ABMP("CLN")=1
- I '$D(^DPT(ABMP("PDFN"),0))!'$D(^AUTTLOC(ABMP("LDFN"),0))!'$D(^DIC(40.7,ABMP("CLN"),0)) Q
- S ABM=0,ABM("QIT")=0
- F S ABM=$O(^ABMDCLM(DUZ(2),"B",ABMP("PDFN"),ABM)) Q:'ABM D
- .Q:$D(^ABMDCLM(DUZ(2),ABM,15,0))
- .Q:$P($G(^ABMDCLM(DUZ(2),ABM,0)),U,2)='ABMP("VDT")
- .Q:$P(^ABMDCLM(DUZ(2),ABM,0),U,3)='ABMP("LDFN")
- .Q:$P(^ABMDCLM(DUZ(2),ABM,0),U,6)='ABMP("CLN")
- .S ABM("QIT")=1
- Q:ABM("QIT")
- S ABMDFN=ABMP("PDFN"),ABMVDT=ABMP("VDT")
- D ELG^ABMDLCK("",.ABML,ABMDFN,ABMVDT) Q:'$D(ABML)
- S ABM("PRI")="" F S ABM("PRI")=$O(ABML(ABM("PRI"))) Q:'ABM("PRI") D INS
- Q
- ;
- INS S ABMP("INS")="" F S ABMP("INS")=$O(ABML(ABM("PRI"),ABMP("INS"))) Q:'ABMP("INS") S ABM("INS")=ABMP("INS") D ^ABMDAST L
- Q
- ;
- XIT K ABM,ABMP,ABML,ABMI,ABMR
- Q
- ABMDACK ; IHS/ASDST/DMJ - APC Visit Edits ;
- +1 ;;2.6;IHS 3P BILLING SYSTEM;;NOV 12, 2009
- +2 ;Original;TMD;02/27/96 11:42 AM
- +3 ;
- +4 SET U="^"
- KILL ABM,ABMP,ABML
- V ;
- +1 SET ABMP("ENDT")=""
- FOR
- SET ABMP("ENDT")=$ORDER(^AAPCRCDS("ABILL",ABMP("ENDT")))
- IF ABMP("ENDT")=""
- QUIT
- Begin DoDot:1
- +2 SET ABMP("VDFN")=""
- FOR
- SET ABMP("VDFN")=$ORDER(^AAPCRCDS("ABILL",ABMP("ENDT"),ABMP("VDFN")))
- IF ABMP("VDFN")=""
- QUIT
- DO V2
- KILL ^AAPCRCDS("ABILL",ABMP("ENDT"),ABMP("VDFN"))
- End DoDot:1
- +3 GOTO XIT
- +4 ;
- V2 IF '$DATA(^AAPCRCDS(ABMP("VDFN"),0))
- QUIT
- SET ABMP("V0")=^(0)
- SET ABMP("VDT")=$PIECE($PIECE(ABMP("V0"),U,3),".")
- IF $DATA(^AAPCRCDS("ACAN",ABMP("VDFN")))
- QUIT
- +1 IF $DATA(^ABMDBILL(DUZ(2),"APC",ABMP("VDFN")))
- QUIT
- +2 IF +$PIECE($GET(^ABMDPARM(DUZ(2),1,0)),U,16)
- SET X1=DT
- SET X2=0-($PIECE(^(0),U,16)*30.417)
- DO C^%DTC
- IF ABMP("VDT")<X
- QUIT
- +3 SET ABMP("PDFN")=$PIECE(ABMP("V0"),U)
- SET ABMP("CLN")=$PIECE(ABMP("V0"),U,13)
- SET ABMP("LDFN")=$PIECE(ABMP("V0"),U,2)
- +4 IF ABMP("PDFN")=""!(ABMP("LDFN")="")
- QUIT
- +5 IF $DATA(^ABPVFAC("PC",ABMP("PDFN"),ABMP("VDT")))
- QUIT
- +6 IF ABMP("CLN")]""
- IF $DATA(^ABMDPARM(DUZ(2),1,15,ABMP("CLN")))
- QUIT
- +7 IF ABMP("CLN")=""
- SET ABMP("CLN")=1
- +8 IF '$DATA(^DPT(ABMP("PDFN"),0))!'$DATA(^AUTTLOC(ABMP("LDFN"),0))!'$DATA(^DIC(40.7,ABMP("CLN"),0))
- QUIT
- +9 SET ABM=0
- SET ABM("QIT")=0
- +10 FOR
- SET ABM=$ORDER(^ABMDCLM(DUZ(2),"B",ABMP("PDFN"),ABM))
- IF 'ABM
- QUIT
- Begin DoDot:1
- +11 IF $DATA(^ABMDCLM(DUZ(2),ABM,15,0))
- QUIT
- +12 IF $PIECE($GET(^ABMDCLM(DUZ(2),ABM,0)),U,2)='ABMP("VDT")
- QUIT
- +13 IF $PIECE(^ABMDCLM(DUZ(2),ABM,0),U,3)='ABMP("LDFN")
- QUIT
- +14 IF $PIECE(^ABMDCLM(DUZ(2),ABM,0),U,6)='ABMP("CLN")
- QUIT
- +15 SET ABM("QIT")=1
- End DoDot:1
- +16 IF ABM("QIT")
- QUIT
- +17 SET ABMDFN=ABMP("PDFN")
- SET ABMVDT=ABMP("VDT")
- +18 DO ELG^ABMDLCK("",.ABML,ABMDFN,ABMVDT)
- IF '$DATA(ABML)
- QUIT
- +19 SET ABM("PRI")=""
- FOR
- SET ABM("PRI")=$ORDER(ABML(ABM("PRI")))
- IF 'ABM("PRI")
- QUIT
- DO INS
- +20 QUIT
- +21 ;
- INS SET ABMP("INS")=""
- FOR
- SET ABMP("INS")=$ORDER(ABML(ABM("PRI"),ABMP("INS")))
- IF 'ABMP("INS")
- QUIT
- SET ABM("INS")=ABMP("INS")
- DO ^ABMDAST
- LOCK
- +1 QUIT
- +2 ;
- XIT KILL ABM,ABMP,ABML,ABMI,ABMR
- +1 QUIT