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

ABMDEMRG.m

Go to the documentation of this file.
  1. ABMDEMRG ; IHS/ASDST/DMJ - MERGE CLAIMS ;
  1. ;;2.6;IHS 3P BILLING SYSTEM;**9,11,19,21**;NOV 12, 2009;Build 379
  1. ;
  1. ;IHS/DSD/DMJ - 9/14/1999 - NOIS NDA-1198-180003 Patch 3 #14
  1. ; By-passed $$NXNM and allowed duplicate claim numbers
  1. ;
  1. ; IHS/SD/SDR v2.5 p10 - IM20059 - Data was getting overwritten when merging;
  1. ; changed so minimal data will be lost
  1. ; IHS/SD/SDR - v2.5 p12 - UFMS - If user isn't logged into cashiering session they can't do
  1. ; this option; also added so if claims are deleted they will be added to cashiering session
  1. ; IHS/SD/SDR - v2.5 p13 - IM26006 - Fix for UNDEF error on page 9D of CE
  1. ; IHS/SD/SDR - v2.5 p13 - IM26259 - Fix <UNDEF>DEL+16^ABMDEMRG when capturing deleted claims
  1. ; in cashiering session (variable was being overwritten)
  1. ;
  1. ;IHS/SD/SDR - 2.6*19 - HEAT155799 - If user cancels claim it will now move into the 3P Cancelled Claim file with
  1. ; cancellation reason Cancelled due to Merged Claim automatically populated on claim.
  1. ;IHS/SD/SDR - 2.6*21 - HEAT242626 - Made it so claims that are already billed can't be merged.
  1. ;
  1. START ;START HERE
  1. ;start new code abm*2.6*9 NOHEAT - ensure UFMS is setup
  1. I $P($G(^ABMDPARM(DUZ(2),1,4)),U,15)="" D Q
  1. .W !!,"* * UFMS SETUP MUST BE DONE BEFORE ANY BILLING FUNCTIONS CAN BE USED! * *",!
  1. .S DIR(0)="E",DIR("A")="Enter RETURN to Continue" D ^DIR K DIR
  1. ;end new code
  1. I $P($G(^ABMDPARM(DUZ(2),1,4)),U,15)=1 D Q:+$G(ABMUOPNS)=0
  1. .S ABMUOPNS=$$FINDOPEN^ABMUCUTL(DUZ)
  1. .I +$G(ABMUOPNS)=0 D Q
  1. ..W !!,"* * YOU MUST SIGN IN TO BE ABLE TO PERFORM BILLING FUNCTIONS! * *",!
  1. ..S DIR(0)="E",DIR("A")="Enter RETURN to Continue" D ^DIR K DIR
  1. S DIC="^ABMDCLM(DUZ(2),"
  1. S DIC(0)="AEMQ"
  1. F ABMI=1:1 D Q:$G(ABM("F1"))
  1. .S DIC("A")="Enter "_ABMI_$S(ABMI=1:"st",ABMI=2:"nd",ABMI=3:"rd",1:"th")_" claim: "
  1. .W !
  1. .D ^DIC
  1. .I +Y<0 S ABM("F1")=1 Q
  1. .;start new abm*2.6*21 IHS/SD/SDR HEAT242626
  1. .I ("^F^E^P^"'[("^"_$P($G(^ABMDCLM(DUZ(2),+Y,0)),U,4)_"^")!($D(^ABMDCLM(DUZ(2),+Y,65,0)))) D Q
  1. ..W !,"Claim has already been billed or has active bills associated with it"
  1. ..W !,"and is therefore unselectable for merging."
  1. ..S ABMI=ABMI-1
  1. .;end new abm*2.6*21 IHS/SD/SDR HEAT242626
  1. .I ABMI=1 S ABM("PDFN")=$P(^ABMDCLM(DUZ(2),+Y,0),U),ABM("VTYP")=$P(^(0),"^",7)
  1. .I ABMI=1 S DIC("S")="I $P(^(0),""^"",1)=ABM(""PDFN"")"
  1. .Q:$D(ABM("CLM1",+Y))
  1. .S ABM("CLM1",+Y)=""
  1. .S ABMDL("CLM",ABMI)=+Y
  1. I '$D(ABMDL("CLM")) K ABM Q
  1. K DIC,ABMI
  1. W !,"PATIENT: ",$P($G(^DPT(ABM("PDFN"),0)),U)
  1. W !?3,"CLAIM #s: "
  1. S I=0,ABM("TOT")=0
  1. F S I=$O(ABMDL("CLM",I)) Q:'I D
  1. .W ABMDL("CLM",I)," "
  1. .S ABM("TOT")=ABM("TOT")+1
  1. W !,+$G(ABM("TOT"))," claims selected."
  1. I +$G(ABM("TOT"))<2 K ABM Q
  1. S DIR("A")="Proceed with merge"
  1. S DIR(0)="Y"
  1. D ^DIR
  1. K DIR
  1. I Y'=1 K ABM Q
  1. K DD,DO
  1. S DIC="^ABMDCLM(DUZ(2),"
  1. S DIC(0)="L"
  1. S X=ABM("PDFN")
  1. S DINUM=$$NXNM^ABMDUTL
  1. D FILE^DICN
  1. I +Y<0 W !,"Claim not created.",! K ABM Q
  1. S ABMP("CDFN")=+Y
  1. W !,"Claim # ",ABMP("CDFN")," created.",!
  1. W !,"Merging selected claims to claim ",ABMP("CDFN")
  1. S I=0
  1. F S I=$O(ABMDL("CLM",I)) Q:'I D
  1. .I $P($G(^ABMDCLM(DUZ(2),ABMP("CDFN"),0)),U,4)="U" W !,"Claim # ",ABMDL("CLM",I)," NOT merged-unbillable status." ;don't merge unbillable claims
  1. .;non-multiple nodes
  1. .M ^ABMDCLM(DUZ(2),ABMP("CDFN"),0)=^ABMDCLM(DUZ(2),ABMDL("CLM",I),0)
  1. .M ^ABMDCLM(DUZ(2),ABMP("CDFN"),4)=^ABMDCLM(DUZ(2),ABMDL("CLM",I),4)
  1. .M ^ABMDCLM(DUZ(2),ABMP("CDFN"),5)=^ABMDCLM(DUZ(2),ABMDL("CLM",I),5)
  1. .M ^ABMDCLM(DUZ(2),ABMP("CDFN"),6)=^ABMDCLM(DUZ(2),ABMDL("CLM",I),6)
  1. .M ^ABMDCLM(DUZ(2),ABMP("CDFN"),7)=^ABMDCLM(DUZ(2),ABMDL("CLM",I),7)
  1. .M ^ABMDCLM(DUZ(2),ABMP("CDFN"),8)=^ABMDCLM(DUZ(2),ABMDL("CLM",I),8)
  1. .M ^ABMDCLM(DUZ(2),ABMP("CDFN"),9)=^ABMDCLM(DUZ(2),ABMDL("CLM",I),9)
  1. .M ^ABMDCLM(DUZ(2),ABMP("CDFN"),10)=^ABMDCLM(DUZ(2),ABMDL("CLM",I),10)
  1. .M ^ABMDCLM(DUZ(2),ABMP("CDFN"),12)=^ABMDCLM(DUZ(2),ABMDL("CLM",I),12)
  1. .M ^ABMDCLM(DUZ(2),ABMP("CDFN"),70)=^ABMDCLM(DUZ(2),ABMDL("CLM",I),70)
  1. .;DINUMed multiples
  1. .M ^ABMDCLM(DUZ(2),ABMP("CDFN"),11)=^ABMDCLM(DUZ(2),ABMDL("CLM",I),11) ;PCC visits
  1. .M ^ABMDCLM(DUZ(2),ABMP("CDFN"),13)=^ABMDCLM(DUZ(2),ABMDL("CLM",I),13) ;Insurers
  1. .M ^ABMDCLM(DUZ(2),ABMP("CDFN"),15)=^ABMDCLM(DUZ(2),ABMDL("CLM",I),15) ;APC visits
  1. .I $D(ABMDXTST) D ;flag that coor. dxs need to be removed
  1. ..S ABMI=0
  1. ..F S ABMI=$O(^ABMDCLM(DUZ(2),ABMDL("CLM",I),17,ABMI)) Q:+ABMI=0 D Q:$G(ABMDXFLG)=1
  1. ...I $G(ABMDXTST(ABMI))="" S ABMDXFLG=1
  1. .I $G(ABMDXFLG)'=1 M ABMDXTST=^ABMDCLM(DUZ(2),ABMDL("CLM",I),17)
  1. .M ^ABMDCLM(DUZ(2),ABMP("CDFN"),17)=^ABMDCLM(DUZ(2),ABMDL("CLM",I),17) ;DXs
  1. .M ^ABMDCLM(DUZ(2),ABMP("CDFN"),19)=^ABMDCLM(DUZ(2),ABMDL("CLM",I),19) ;PXs-DINUMed in routine ABMDE5D
  1. .M ^ABMDCLM(DUZ(2),ABMP("CDFN"),51)=^ABMDCLM(DUZ(2),ABMDL("CLM",I),51) ;Occurrence Codes
  1. .M ^ABMDCLM(DUZ(2),ABMP("CDFN"),53)=^ABMDCLM(DUZ(2),ABMDL("CLM",I),53) ;Condition Codes
  1. .M ^ABMDCLM(DUZ(2),ABMP("CDFN"),59)=^ABMDCLM(DUZ(2),ABMDL("CLM",I),59) ;Special Program codes
  1. .;not DINUMED multiples
  1. .F ABMMULT=14,21,23,25,27,33,35,37,39,41,43,45,47,57,61 D MULT ;merge multiples into array
  1. .;weird DINUMed multiples
  1. .S ABMI=0
  1. .M ABMDCLM(55,0)=^ABMDCLM(DUZ(2),ABMDL("CLM",I),55,0)
  1. .F S ABMI=$O(^ABMDCLM(DUZ(2),ABMDL("CLM",I),55,ABMI)) Q:+ABMI=0 D
  1. ..I $G(ABMDCLM(55,ABMI,0))'="",($P($G(^ABMDCODE($P($G(^ABMDCLM(DUZ(2),ABMDL("CLM",I),55,ABMI,0)),U),0)),U,2)="V") S $P(ABMDCLM(55,ABMI,0),U,2)=$P(ABMDCLM(55,ABMI,0),U,2)+$P($G(^ABMDCLM(DUZ(2),ABMDL("CLM",I),55,ABMI,0)),U,2)
  1. ..E S ABMDCLM(55,ABMI,0)=$G(^ABMDCLM(DUZ(2),ABMDL("CLM",I),55,ABMI,0))
  1. .S ABM("SDF")=$P(^ABMDCLM(DUZ(2),ABMDL("CLM",I),7),U)
  1. .S ABM("SDT")=$P(^ABMDCLM(DUZ(2),ABMDL("CLM",I),7),U,2)
  1. .D
  1. ..I I=1 D Q
  1. ...S ABM("OSDF")=ABM("SDF")
  1. ...S ABM("OSDT")=ABM("SDT")
  1. ...Q
  1. ..I ABM("SDF")<ABM("OSDF"),ABM("SDF")'="" S ABM("OSDF")=ABM("SDF")
  1. ..I ABM("SDT")>ABM("OSDT") S ABM("OSDT")=ABM("SDT")
  1. .W !,"Claim # ",ABMDL("CLM",I)," merged."
  1. ;
  1. I ABM("OSDF")<$P(^ABMDCLM(DUZ(2),ABMP("CDFN"),7),U) D
  1. .S DIE="^ABMDCLM(DUZ(2),"
  1. .S DA=ABMP("CDFN")
  1. .S DR=".71///"_ABM("OSDF")
  1. .D ^DIE
  1. .Q
  1. I ABM("OSDT")>$P(^ABMDCLM(DUZ(2),ABMP("CDFN"),7),"^",2) D
  1. .S DIE="^ABMDCLM(DUZ(2),"
  1. .S DA=ABMP("CDFN")
  1. .S DR=".72///"_ABM("OSDT")
  1. .D ^DIE
  1. .Q
  1. ;
  1. ;each med necess. indicator only once on claim
  1. I $D(ABMDCLM(14)) D
  1. .S ABMIEN=0
  1. .F S ABMIEN=$O(ABMDCLM(14,ABMIEN)) Q:+ABMIEN=0 D
  1. ..I $G(ABMMED($G(ABMDCLM(14,ABMIEN,0))))'="" K ABMDCLM(14,ABMIEN,0)
  1. ..E S ABMMED($G(ABMDCLM(14,ABMIEN,0)))=1
  1. ;make sure only one attending provider
  1. I $D(ABMDCLM(41)) D
  1. .S ABMIEN=999 ;start at last entry and go up; want attending from last claim selected
  1. .F S ABMIEN=$O(ABMDCLM(41,ABMIEN),-1) Q:+ABMIEN=0 D
  1. ..I $P($G(ABMDCLM(41,ABMIEN,0)),U,2)="A",($G(ABMPRV("A"))'="") S $P(ABMDCLM(41,ABMIEN,0),U,2)="T"
  1. ..I $G(ABMPRV("A"))="" S ABMPRV("A")=ABMIEN
  1. ;
  1. ;merge line items into new claim
  1. S ABMMULT=""
  1. F S ABMMULT=$O(ABMDCLM(ABMMULT)) Q:$G(ABMMULT)="" D
  1. .S ABMIEN=0
  1. .M ^ABMDCLM(DUZ(2),ABMP("CDFN"),ABMMULT,0)=ABMDCLM(ABMMULT,0)
  1. .F S ABMIEN=$O(ABMDCLM(ABMMULT,ABMIEN)) Q:+ABMIEN=0 D
  1. ..M ^ABMDCLM(DUZ(2),ABMP("CDFN"),ABMMULT,ABMIEN)=ABMDCLM(ABMMULT,ABMIEN)
  1. ;
  1. ;check/remove coordinating Dxs because they will no longer be accurate
  1. I $G(ABMDXFLG)=1 D
  1. .W !!,"More than 1 DX exists on merging claims. All Current Coordinating"
  1. .W !,"DX pointers being removed"
  1. .F ABMI=21,23,27,33,35,37,39,43,45,47 D
  1. ..S ABMIEN=0
  1. ..F S ABMIEN=$O(^ABMDCLM(DUZ(2),ABMP("CDFN"),ABMI,ABMIEN)) Q:+ABMIEN=0 D
  1. ...K DIC,DIE,DA,DR,X,Y
  1. ...S DA(1)=ABMP("CDFN")
  1. ...S DA=ABMIEN
  1. ...S DIE="^ABMDCLM(DUZ(2),"_DA(1)_","_ABMI_","
  1. ...I ABMI=21 S DR=".04////@"
  1. ...I ABMI=23 S DR=".13////@"
  1. ...I ABMI=27 S DR=".06////@"
  1. ...I ABMI=33 S DR=".04////@"
  1. ...I ABMI=35 S DR=".08////@"
  1. ...I ABMI=37 S DR=".09////@"
  1. ...I ABMI=39 S DR=".1////@"
  1. ...I ABMI=43 S DR=".06////@"
  1. ...I ABMI=45 S DR=".06////@"
  1. ...I ABMI=47 S DR=".06////@"
  1. ...D ^DIE
  1. ;
  1. PRIO ;re-shuffle priority fields for new claim
  1. F I=13,17,19,21,41 D ; Add node 41 to have Xref's killed/rebuilt
  1. .Q:'$D(^ABMDCLM(DUZ(2),ABMP("CDFN"),I))
  1. .S J=0,L=0
  1. .F S J=$O(^ABMDCLM(DUZ(2),ABMP("CDFN"),I,"C",J)) Q:'J D
  1. ..S K=0
  1. ..F S K=$O(^ABMDCLM(DUZ(2),ABMP("CDFN"),I,"C",J,K)) Q:'K D
  1. ...Q:$D(ABM("PRIO",K))
  1. ...S ABM("PRIO",K)=""
  1. ...S L=L+1
  1. ...S $P(^ABMDCLM(DUZ(2),ABMP("CDFN"),I,K,0),"^",2)=L
  1. ...I $P(^ABMDCLM(DUZ(2),ABMP("CDFN"),I,K,0),"^",3)="I" D
  1. ....Q:$P(^ABMDCLM(DUZ(2),ABMP("CDFN"),0),"^",8)=K
  1. ....S $P(^ABMDCLM(DUZ(2),ABMP("CDFN"),I,K,0),"^",3)="P"
  1. ....Q
  1. .K ^ABMDCLM(DUZ(2),ABMP("CDFN"),I,"B")
  1. .K ^ABMDCLM(DUZ(2),ABMP("CDFN"),I,"C")
  1. .S DA(1)=ABMP("CDFN")
  1. .S DIK="^ABMDCLM(DUZ(2),DA(1),I,"
  1. .D IXALL^DIK
  1. W !!,"Cross referencing new claim # ",ABMP("CDFN"),!
  1. S DIK="^ABMDCLM(DUZ(2),"
  1. S DA=ABMP("CDFN")
  1. D IX1^DIK
  1. I $D(ABMDCLM(21))=10 D
  1. .S ABMIEN=0
  1. .F S ABMIEN=$O(ABMDCLM(21,ABMIEN)) Q:+ABMIEN=0 D
  1. ..Q:$P($G(ABMDCLM(21,ABMIEN,0)),U,3)=""
  1. ..K DIE,DA,DR,DIC,DIR,X,Y
  1. ..S DA(1)=ABMP("CDFN")
  1. ..S DA=ABMIEN
  1. ..S DIE="^ABMDCLM(DUZ(2),"_DA(1)_",21,"
  1. ..S DR=".03////"_$P(ABMDCLM(21,ABMIEN,0),U,3)
  1. ..D ^DIE
  1. I $D(ABMDCLM(23))=10 D
  1. .S ABMIEN=0
  1. .F S ABMIEN=$O(ABMDCLM(23,ABMIEN)) Q:+ABMIEN=0 D
  1. ..Q:$P($G(ABMDCLM(23,ABMIEN,0)),U,2)=""
  1. ..K DIE,DA,DR,DIC,DIR,X,Y
  1. ..S DA(1)=ABMP("CDFN")
  1. ..S DA=ABMIEN
  1. ..S DIE="^ABMDCLM(DUZ(2),"_DA(1)_",23,"
  1. ..S DR=".02////"_$P(ABMDCLM(23,ABMIEN,0),U,2)
  1. ..D ^DIE
  1. I $D(ABMDCLM(27))=10 D
  1. .S ABMIEN=0
  1. .F S ABMIEN=$O(ABMDCLM(27,ABMIEN)) Q:+ABMIEN=0 D
  1. ..Q:$P($G(ABMDCLM(27,ABMIEN,0)),U,2)=""
  1. ..K DIE,DA,DR,DIC,DIR,X,Y
  1. ..S DA(1)=ABMP("CDFN")
  1. ..S DA=ABMIEN
  1. ..S DIE="^ABMDCLM(DUZ(2),"_DA(1)_",27,"
  1. ..S DR=".02////"_$P(ABMDCLM(27,ABMIEN,0),U,2)
  1. ..D ^DIE
  1. I $D(ABMDCLM(33))=10 D
  1. .S ABMIEN=0
  1. .F S ABMIEN=$O(ABMDCLM(33,ABMIEN)) Q:+ABMIEN=0 D
  1. ..Q:$P($G(ABMDCLM(33,ABMIEN,0)),U,2)=""
  1. ..K DIE,DA,DR,DIC,DIR,X,Y
  1. ..S DA(1)=ABMP("CDFN")
  1. ..S DA=ABMIEN
  1. ..S DIE="^ABMDCLM(DUZ(2),"_DA(1)_",33,"
  1. ..S DR=".02////"_$P(ABMDCLM(33,ABMIEN,0),U,2)
  1. ..D ^DIE
  1. I $D(ABMDCLM(35))=10 D
  1. .S ABMIEN=0
  1. .F S ABMIEN=$O(ABMDCLM(35,ABMIEN)) Q:+ABMIEN=0 D
  1. ..Q:$P($G(ABMDCLM(35,ABMIEN,0)),U,2)=""
  1. ..K DIE,DA,DR,DIC,DIR,X,Y
  1. ..S DA(1)=ABMP("CDFN")
  1. ..S DA=ABMIEN
  1. ..S DIE="^ABMDCLM(DUZ(2),"_DA(1)_",35,"
  1. ..S DR=".02////"_$P(ABMDCLM(35,ABMIEN,0),U,2)
  1. ..D ^DIE
  1. I $D(ABMDCLM(37))=10 D
  1. .S ABMIEN=0
  1. .F S ABMIEN=$O(ABMDCLM(37,ABMIEN)) Q:+ABMIEN=0 D
  1. ..Q:$P($G(ABMDCLM(37,ABMIEN,0)),U,2)=""
  1. ..K DIE,DA,DR,DIC,DIR,X,Y
  1. ..S DA(1)=ABMP("CDFN")
  1. ..S DA=ABMIEN
  1. ..S DIE="^ABMDCLM(DUZ(2),"_DA(1)_",37,"
  1. ..S DR=".02////"_$P(ABMDCLM(37,ABMIEN,0),U,2)
  1. ..D ^DIE
  1. I $D(ABMDCLM(39))=10 D
  1. .S ABMIEN=0
  1. .F S ABMIEN=$O(ABMDCLM(39,ABMIEN)) Q:+ABMIEN=0 D
  1. ..I $P($G(ABMDCLM(39,ABMIEN,0)),U,3)'="" D
  1. ...K DIE,DA,DR,DIC,DIR,X,Y
  1. ...S DA(1)=ABMP("CDFN")
  1. ...S DA=ABMIEN
  1. ...S DIE="^ABMDCLM(DUZ(2),"_DA(1)_",39,"
  1. ...S DR=".03////"_$P(ABMDCLM(39,ABMIEN,0),U,3)
  1. ...D ^DIE
  1. ..I $P($G(ABMDCLM(39,ABMIEN,0)),U,2)'="" D
  1. ...K DIE,DA,DR,DIC,DIR,X,Y
  1. ...S DA(1)=ABMP("CDFN")
  1. ...S DA=ABMIEN
  1. ...S DIE="^ABMDCLM(DUZ(2),"_DA(1)_",39,"
  1. ...S DR=".02////"_$P(ABMDCLM(39,ABMIEN,0),U,2)
  1. ...D ^DIE
  1. I $D(ABMDCLM(43))=10 D
  1. .S ABMIEN=0
  1. .F S ABMIEN=$O(ABMDCLM(43,ABMIEN)) Q:+ABMIEN=0 D
  1. ..Q:$P($G(ABMDCLM(43,ABMIEN,0)),U,2)=""
  1. ..K DIE,DA,DR,DIC,DIR,X,Y
  1. ..S DA(1)=ABMP("CDFN")
  1. ..S DA=ABMIEN
  1. ..S DIE="^ABMDCLM(DUZ(2),"_DA(1)_",43,"
  1. ..S DR=".02////"_$P(ABMDCLM(43,ABMIEN,0),U,2)
  1. ..D ^DIE
  1. I $D(ABMDCLM(47))=10 D
  1. .S ABMIEN=0
  1. .F S ABMIEN=$O(ABMDCLM(47,ABMIEN)) Q:+ABMIEN=0 D
  1. ..Q:$P($G(ABMDCLM(47,ABMIEN,0)),U,2)=""
  1. ..K DIE,DA,DR,DIC,DIR,X,Y
  1. ..S DA(1)=ABMP("CDFN")
  1. ..S DA=ABMIEN
  1. ..S DIE="^ABMDCLM(DUZ(2),"_DA(1)_",47,"
  1. ..S DR=".02////"_$P(ABMDCLM(47,ABMIEN,0),U,2)
  1. ..D ^DIE
  1. K ABMDCLM,ABMPRV,ABMMED,ABMDXTST
  1. ;
  1. CLM ;go to claim editor
  1. S DIR("A")="Proceed to Claim Editor"
  1. S DIR(0)="Y"
  1. S DIR("B")="N"
  1. D ^DIR
  1. K DIR
  1. I Y=1 S ABMPP("CLM")="" D EXT^ABMDE
  1. ;
  1. DEL ;delete the claims merged from
  1. S DIR("A")="Delete claims merged from"
  1. S DIR(0)="Y"
  1. S DIR("B")="N"
  1. D ^DIR
  1. K DIR
  1. I Y=1 D
  1. .;S DIK="^ABMDCLM(DUZ(2)," ;abm*2.6*11 NOHEAT5
  1. .S ABMCLMI=0
  1. .F S ABMCLMI=$O(ABMDL("CLM",ABMCLMI)) Q:'ABMCLMI D
  1. ..;start old abm*2.6*19 IHS/SD/SDR HEAT155799
  1. ..;K DA,DIC,DIE,DR
  1. ..;D ADDBENTR^ABMUCUTL("CCLM",ABMDL("CLM",ABMCLMI)) ;add claim to UFMS Cash. Session
  1. ..;S DIK="^ABMDCLM(DUZ(2)," ;abm*2.6*11 NOHEAT5
  1. ..;S DA=ABMDL("CLM",ABMCLMI)
  1. ..;D ^DIK
  1. ..;W !,"Claim # ",DA,$S($D(^ABMDCLM(DUZ(2),DA)):" NOT",1:"")," deleted."
  1. ..;end old start new abm*2.6*19 IHS/SD/SDR HEAT155799
  1. ..S ABMP("CDFN")=ABMDL("CLM",ABMCLMI)
  1. ..S ABMREAS="CANCELLED DUE TO MERGED CLAIM"
  1. ..D ENT3^ABMDECAN
  1. ..;end new abm*2.6*19 IHS/SD/SDR HEAT155799
  1. W !
  1. K ABM
  1. Q
  1. MULT ;merge multiples into array by subfile to be stored on "master" claim when all are merged
  1. I $G(ABM(ABMMULT))="" S ABM(ABMMULT)=1
  1. S ABMIEN=0
  1. M ABMDCLM(ABMMULT,0)=^ABMDCLM(DUZ(2),ABMDL("CLM",I),ABMMULT,0)
  1. F S ABMIEN=$O(^ABMDCLM(DUZ(2),ABMDL("CLM",I),ABMMULT,ABMIEN)) Q:+ABMIEN=0 D
  1. .M ABMDCLM(ABMMULT,ABM(ABMMULT))=^ABMDCLM(DUZ(2),ABMDL("CLM",I),ABMMULT,ABMIEN)
  1. .S ABM(ABMMULT)=$G(ABM(ABMMULT))+1
  1. Q