- AZAXSND ; IHS/PHXAO/AEF - Re-send several AZ Medicaid batches to AHCCCS
- ;;1.0;ANNE'S SPECIAL ROUTINES;;MAR 19, 2004
- ;;
- DESC ;
- ;;
- ;;This routine contains code from routines ABMERSND and ABMEF10 and
- ;;is used to gather up bills from more than one batch and re-create an
- ;;EMC file for submission to AHCCCS.
- ;;
- ;;Only batches with an export of UB-92-E V4 and Insurer of Arizona
- ;;Medicaid can be selected.
- ;
- EN ;----- MAIN ENTRY POINT
- ;
- ;
- S ABMP("INS")=$$INS("ARIZONA MEDICAID")
- I ABMP("INS")'>0 D
- . S ABMP("INS")=0
- . W !?5,"CAN'T FIND 'ARIZONA MEDICAID' IN INSURER FILE"
- . W !?5,"CANNOT CONTINUE!!!"
- Q:'ABMP("INS")
- ;
- Q
- INS(X) ;
- ;----- CHECK FOR INSURER IN INSURER FILE
- ;
- ; INPUT:
- ; X = INSURANCE COMPANY NAME
- ;
- ; OUTPUT:
- ; Y = INSURANCE COMPANY IEN
- ;
- N DIC,Y
- S DIC="^AUTNINS("
- S DIC(0)="I"
- D ^DIC
- Q +Y
- ;
- ;
- ;----- OLD CODE BELOW THIS LINE -----
- START ; *** THIS IS OLD CODE ***
- ;START HERE
- I '$D(ABMP("INS")) D
- .S ABMP("INS")=$P(^ABMDTXST(DUZ(2),ABMP("XMIT"),0),"^",4)
- .I 'ABMP("INS") D
- ..S DIC="^AUTNINS("
- ..S DIC(0)="AEMQ"
- ..D ^DIC
- ..Q:Y<0
- ..S ABMP("INS")=+Y
- .S ABMP("ITYPE")=$P($G(^AUTNINS(ABMP("INS"),2)),"^",1)
- I 'ABMP("INS") D Q
- .W !,"Insurer NOT identified.",!
- .S DIR="E"
- .D ^DIR
- .K DIR
- .Q
- S ABMP("FTYPE")=$P($G(^ABMDPARM(DUZ(2),1,3)),"^",4)
- S:ABMP("FTYPE")="" ABMP("FTYPE")="H"
- D OPEN
- I $G(POP) W !,"File could not be created/opened.",! Q
- S DIE="^ABMDTXST(DUZ(2),"
- S DA=ABMP("XMIT")
- S DR=".14///"_ABMFN
- D ^DIE
- ;
- LOOP ;
- ; LOOP THROUGH BILLS
- S ABMP("L#")=0
- S ABMEF("BATCH#")=0
- S ABMP("MP")=1
- K ABMR,ABMRT
- D ^ABMER01
- I $$RCID^ABMERUTL(ABMP("INS"))="00400" U 0 W !,"BATCH #",ABMR(1,170),!
- U 0 W !,"Writing bills to file.",!
- S ABMEF("LINE")=ABMREC(1)
- D WRITE
- S ABMP("OLDFN")=0
- S ABMP("OBTYP")=0
- S ABMP("ORD")=0
- F S ABMP("ORD")=$O(^ABMDTXST(DUZ(2),ABMP("XMIT"),2,ABMP("ORD"))) Q:'ABMP("ORD") D
- .S ABMP("BDFN")=+^ABMDTXST(DUZ(2),ABMP("XMIT"),2,ABMP("ORD"),0)
- .Q:'$D(^ABMDBILL(DUZ(2),ABMP("BDFN"),0))
- .Q:$P(^ABMDBILL(DUZ(2),ABMP("BDFN"),0),"^",4)="X"
- .S ABMBIL0=$G(^ABMDBILL(DUZ(2),ABMP("BDFN"),0))
- .S ABMP("BTYP")=$P(ABMBIL0,U,2)
- .S ABMP("LDFN")=$P(ABMBIL0,U,3)
- .S ABMP("VTYP")=$P(ABMBIL0,U,7)
- .I ABMP("BTYP")'=ABMP("OBTYP")!(ABMP("LDFN")'=ABMP("OLDFN")) D
- ..;new code patch #1
- ..I $$RCID^ABMERUTL(ABMP("INS"))=61044,$G(ABMEF("BATCH#")) Q
- ..;end new code
- ..S ABMEF("BATCH#")=ABMEF("BATCH#")+1
- ..I ABMP("OBTYP") D
- ...D ^ABMER95
- ...S ABMEF("LINE")=ABMREC(95)
- ...D WRITE
- ..D ^ABMER10
- ..S ABMEF("LINE")=ABMREC(10)
- ..D WRITE
- ..S ABMP("OBTYP")=ABMP("BTYP")
- ..S ABMP("OLDFN")=ABMP("LDFN")
- .W "."
- .K ABMR
- .D ^ABMER20
- .S ABMEF("LINE")=ABMREC(20)
- .D WRITE
- .K ABMR
- .D ^ABMER30
- .F I=1:1:3 D
- ..I $D(ABMREC(30,I)) D
- ...S ABMEF("LINE")=ABMREC(30,I)
- ...D WRITE
- ..I $D(ABMREC(31,I)) D
- ...S ABMEF("LINE")=ABMREC(31,I)
- ...D WRITE
- .K ABMR
- .D ^ABMER40
- .F I=1:1:3 D
- ..I $D(ABMREC(40,I)) D
- ...S ABMEF("LINE")=ABMREC(40,I)
- ...D WRITE
- .I $D(^ABMDBILL(DUZ(2),ABMP("BDFN"),53))!($D(^ABMDBILL(DUZ(2),ABMP("BDFN"),55))) D
- ..D ^ABMER41
- ..F I=1:1:3 D
- ...I $D(ABMREC(41,I)) D
- ....S ABMEF("LINE")=ABMREC(41,I)
- ....D WRITE
- .; If inpatient
- .I $E(ABMP("BTYP"),1,2)=11 D
- ..K ABMR
- ..D ^ABMER50
- ..S I=0
- ..F S I=$O(ABMREC(50,I)) Q:'I D
- ...S ABMEF("LINE")=ABMREC(50,I)
- ...D WRITE
- ..Q:+$G(ABMR(50,40))=100
- ..K ABMR
- ..D ^ABMER60
- ..S I=0
- ..F S I=$O(ABMREC(60,I)) Q:'I D
- ...S ABMEF("LINE")=ABMREC(60,I)
- ...D WRITE
- .; If outpatient
- .I $E(ABMP("BTYP"),1,2)'=11 D
- ..K ABMR
- ..D ^ABMER61
- ..S I=0
- ..F S I=$O(ABMREC(61,I)) Q:'I D
- ...S ABMEF("LINE")=ABMREC(61,I)
- ...D WRITE
- .K ABMR
- .D ^ABMER70
- .S ABMEF("LINE")=ABMREC(70)
- .D WRITE
- .K ABMR
- .D ^ABMER80
- .F I=1:1:3 D
- ..I $D(ABMREC(80,I)) D
- ...S ABMEF("LINE")=ABMREC(80,I)
- ...D WRITE
- .K ABMR
- .D ^ABMER90
- .S ABMEF("LINE")=ABMREC(90)
- .D WRITE
- .S DIE="^ABMDBILL(DUZ(2),"
- .S DA=ABMP("BDFN")
- .S DR=".04////B;.16////A;.17////"_ABMP("XMIT")
- .D ^DIE
- K ABMR
- D ^ABMER95
- S ABMEF("LINE")=ABMREC(95)
- D WRITE
- K ABMR
- D ^ABMER99
- S ABMEF("LINE")=ABMREC(99)
- D WRITE
- D CLOSE
- W !!,"Finished.",!!
- K ABME,ABM,ABMEF,ABMREC,ABMR,ABMRV,ABMFN,ABMLF,ABMLNUM,ABMPATH
- Q
- ;
- OPEN ;
- ; OPEN FILE
- I ABMP("FTYPE")="K" D
- .S POP=0
- .S DIC="^DIZ(8980,"
- .S DIC(0)="AEMQL"
- .S DIC("S")="I $P(^(0),""^"",5)=DUZ"
- .D ^DIC
- .K DIC
- .I Y<0 S POP=1 Q
- .S ABMP("FILE#")=+Y
- .S ABMFN=$P(Y,"^",2)
- .I $O(^DIZ(8980,ABMP("FILE#"),2,0)) D
- ..W !,*7,"Data already exists in this file!",!
- ..S DIR("A")="Delete"
- ..S DIR(0)="Y"
- ..S DIR("B")="NO"
- ..D ^DIR
- ..K DIR
- ..I Y=1 K ^DIZ(8980,ABMP("FILE#"),2)
- ..I Y=0 S POP=1
- I ABMP("FTYPE")="H" D
- .S DIR(0)="9002274.5,.47"
- .S DIR("A")="Enter Path"
- .S DIR("B")=$P($G(^ABMDPARM(DUZ(2),1,4)),"^",7)
- .D ^DIR K DIR
- .I Y["^" S POP=1 Q
- .S ABMPATH=Y
- .S ABMRCID=$P(^AUTNINS(ABMP("INS"),0),"^",8)
- .I $L(ABMRCID)<5 D
- ..S ABMRCID=$E("00000",1,5-$L(ABMRCID))_ABMRCID
- .S ABMJDT=$$JDT^XBFUNC(DT)
- .S ABMLF=$G(^ABMNINS("ALF",ABMP("INS")))
- .S:$P(ABMLF,".",2)'=ABMJDT ABMLF=""
- .S ABMLNUM=+$E($P(ABMLF,".",1),7,8)
- .S ABMLNUM=ABMLNUM+1
- .I ABMLNUM<10 S ABMLNUM="0"_ABMLNUM
- .S ABMFN="E"_ABMRCID_ABMLNUM_"."_ABMJDT
- . S DIR(0)="F^1:15"
- . S DIR("A")="Enter File Name: "
- . S DIR("B")=ABMFN
- .D ^DIR K DIR
- .I Y["^" S POP=1 Q
- .S ABMFN=Y
- .D OPEN^%ZISH("EMCFILE",ABMPATH,ABMFN,"W")
- .S:'POP ^ABMNINS("ALF",ABMP("INS"))=ABMFN
- I ABMP("FTYPE")="M" D
- .S ABMP("DOMAIN")=$P($G(^ABMDPARM(DUZ(2),1,3)),"^",9)
- .I 'ABMP("DOMAIN") W !,"MM SEND TO DOMAIN NOT DEFINED.",! S POP=1 Q
- .S ABMP("DOMAIN")=$P(^DIC(4.2,ABMP("DOMAIN"),0),"^",1)
- .S XMSUB="EMC FILE FROM "_$P($G(^AUTTLOC(DUZ(2),0)),"^",2)
- .S XMDUZ=DUZ
- .D XMZ^XMA2
- .I XMZ<1 S POP=1 Q
- .S ABMFN="MAIL MSG# "_XMZ
- .W !!,"MAIL MSG# ",XMZ," CREATED.",!
- Q
- ;
- WRITE ;
- ;WRITE RECORD TO FILE
- I ABMP("FTYPE")="K" D
- .S ABMP("L#")=ABMP("L#")+1
- .S ^DIZ(8980,ABMP("FILE#"),2,ABMP("L#"),0)=ABMEF("LINE")
- I ABMP("FTYPE")="H" D
- .U IO
- .W ABMEF("LINE"),$C(13,10)
- .U IO(0)
- I ABMP("FTYPE")="M" D
- .S ABMP("L#")=ABMP("L#")+1
- .S ^XMB(3.9,XMZ,2,ABMP("L#"),0)=ABMEF("LINE")
- Q
- ;
- CLOSE ;
- ;CLOSE FILE
- I ABMP("FTYPE")="H" D ^%ZISC
- I ABMP("FTYPE")="K" S ^DIZ(8980,ABMP("FILE#"),2,0)="^^"_I_"^"_I_"^"_DT
- I ABMP("FTYPE")="M" D
- .S ^XMB(3.9,XMZ,2,0)="^3.92A^"_ABMP("L#")_"^"_ABMP("L#")_"^"_DT
- .S XMY(".5@"_ABMP("DOMAIN"))=""
- .D ENT1^XMD
- Q
- AZAXSND ; IHS/PHXAO/AEF - Re-send several AZ Medicaid batches to AHCCCS
- +1 ;;1.0;ANNE'S SPECIAL ROUTINES;;MAR 19, 2004
- +2 ;;
- DESC ;
- +1 ;;
- +2 ;;This routine contains code from routines ABMERSND and ABMEF10 and
- +3 ;;is used to gather up bills from more than one batch and re-create an
- +4 ;;EMC file for submission to AHCCCS.
- +5 ;;
- +6 ;;Only batches with an export of UB-92-E V4 and Insurer of Arizona
- +7 ;;Medicaid can be selected.
- +8 ;
- EN ;----- MAIN ENTRY POINT
- +1 ;
- +2 ;
- +3 SET ABMP("INS")=$$INS("ARIZONA MEDICAID")
- +4 IF ABMP("INS")'>0
- Begin DoDot:1
- +5 SET ABMP("INS")=0
- +6 WRITE !?5,"CAN'T FIND 'ARIZONA MEDICAID' IN INSURER FILE"
- +7 WRITE !?5,"CANNOT CONTINUE!!!"
- End DoDot:1
- +8 IF 'ABMP("INS")
- QUIT
- +9 ;
- +10 QUIT
- INS(X) ;
- +1 ;----- CHECK FOR INSURER IN INSURER FILE
- +2 ;
- +3 ; INPUT:
- +4 ; X = INSURANCE COMPANY NAME
- +5 ;
- +6 ; OUTPUT:
- +7 ; Y = INSURANCE COMPANY IEN
- +8 ;
- +9 NEW DIC,Y
- +10 SET DIC="^AUTNINS("
- +11 SET DIC(0)="I"
- +12 DO ^DIC
- +13 QUIT +Y
- +14 ;
- +15 ;
- +16 ;----- OLD CODE BELOW THIS LINE -----
- START ; *** THIS IS OLD CODE ***
- +1 ;START HERE
- +2 IF '$DATA(ABMP("INS"))
- Begin DoDot:1
- +3 SET ABMP("INS")=$PIECE(^ABMDTXST(DUZ(2),ABMP("XMIT"),0),"^",4)
- +4 IF 'ABMP("INS")
- Begin DoDot:2
- +5 SET DIC="^AUTNINS("
- +6 SET DIC(0)="AEMQ"
- +7 DO ^DIC
- +8 IF Y<0
- QUIT
- +9 SET ABMP("INS")=+Y
- End DoDot:2
- +10 SET ABMP("ITYPE")=$PIECE($GET(^AUTNINS(ABMP("INS"),2)),"^",1)
- End DoDot:1
- +11 IF 'ABMP("INS")
- Begin DoDot:1
- +12 WRITE !,"Insurer NOT identified.",!
- +13 SET DIR="E"
- +14 DO ^DIR
- +15 KILL DIR
- +16 QUIT
- End DoDot:1
- QUIT
- +17 SET ABMP("FTYPE")=$PIECE($GET(^ABMDPARM(DUZ(2),1,3)),"^",4)
- +18 IF ABMP("FTYPE")=""
- SET ABMP("FTYPE")="H"
- +19 DO OPEN
- +20 IF $GET(POP)
- WRITE !,"File could not be created/opened.",!
- QUIT
- +21 SET DIE="^ABMDTXST(DUZ(2),"
- +22 SET DA=ABMP("XMIT")
- +23 SET DR=".14///"_ABMFN
- +24 DO ^DIE
- +25 ;
- LOOP ;
- +1 ; LOOP THROUGH BILLS
- +2 SET ABMP("L#")=0
- +3 SET ABMEF("BATCH#")=0
- +4 SET ABMP("MP")=1
- +5 KILL ABMR,ABMRT
- +6 DO ^ABMER01
- +7 IF $$RCID^ABMERUTL(ABMP("INS"))="00400"
- USE 0
- WRITE !,"BATCH #",ABMR(1,170),!
- +8 USE 0
- WRITE !,"Writing bills to file.",!
- +9 SET ABMEF("LINE")=ABMREC(1)
- +10 DO WRITE
- +11 SET ABMP("OLDFN")=0
- +12 SET ABMP("OBTYP")=0
- +13 SET ABMP("ORD")=0
- +14 FOR
- SET ABMP("ORD")=$ORDER(^ABMDTXST(DUZ(2),ABMP("XMIT"),2,ABMP("ORD")))
- IF 'ABMP("ORD")
- QUIT
- Begin DoDot:1
- +15 SET ABMP("BDFN")=+^ABMDTXST(DUZ(2),ABMP("XMIT"),2,ABMP("ORD"),0)
- +16 IF '$DATA(^ABMDBILL(DUZ(2),ABMP("BDFN"),0))
- QUIT
- +17 IF $PIECE(^ABMDBILL(DUZ(2),ABMP("BDFN"),0),"^",4)="X"
- QUIT
- +18 SET ABMBIL0=$GET(^ABMDBILL(DUZ(2),ABMP("BDFN"),0))
- +19 SET ABMP("BTYP")=$PIECE(ABMBIL0,U,2)
- +20 SET ABMP("LDFN")=$PIECE(ABMBIL0,U,3)
- +21 SET ABMP("VTYP")=$PIECE(ABMBIL0,U,7)
- +22 IF ABMP("BTYP")'=ABMP("OBTYP")!(ABMP("LDFN")'=ABMP("OLDFN"))
- Begin DoDot:2
- +23 ;new code patch #1
- +24 IF $$RCID^ABMERUTL(ABMP("INS"))=61044
- IF $GET(ABMEF("BATCH#"))
- QUIT
- +25 ;end new code
- +26 SET ABMEF("BATCH#")=ABMEF("BATCH#")+1
- +27 IF ABMP("OBTYP")
- Begin DoDot:3
- +28 DO ^ABMER95
- +29 SET ABMEF("LINE")=ABMREC(95)
- +30 DO WRITE
- End DoDot:3
- +31 DO ^ABMER10
- +32 SET ABMEF("LINE")=ABMREC(10)
- +33 DO WRITE
- +34 SET ABMP("OBTYP")=ABMP("BTYP")
- +35 SET ABMP("OLDFN")=ABMP("LDFN")
- End DoDot:2
- +36 WRITE "."
- +37 KILL ABMR
- +38 DO ^ABMER20
- +39 SET ABMEF("LINE")=ABMREC(20)
- +40 DO WRITE
- +41 KILL ABMR
- +42 DO ^ABMER30
- +43 FOR I=1:1:3
- Begin DoDot:2
- +44 IF $DATA(ABMREC(30,I))
- Begin DoDot:3
- +45 SET ABMEF("LINE")=ABMREC(30,I)
- +46 DO WRITE
- End DoDot:3
- +47 IF $DATA(ABMREC(31,I))
- Begin DoDot:3
- +48 SET ABMEF("LINE")=ABMREC(31,I)
- +49 DO WRITE
- End DoDot:3
- End DoDot:2
- +50 KILL ABMR
- +51 DO ^ABMER40
- +52 FOR I=1:1:3
- Begin DoDot:2
- +53 IF $DATA(ABMREC(40,I))
- Begin DoDot:3
- +54 SET ABMEF("LINE")=ABMREC(40,I)
- +55 DO WRITE
- End DoDot:3
- End DoDot:2
- +56 IF $DATA(^ABMDBILL(DUZ(2),ABMP("BDFN"),53))!($DATA(^ABMDBILL(DUZ(2),ABMP("BDFN"),55)))
- Begin DoDot:2
- +57 DO ^ABMER41
- +58 FOR I=1:1:3
- Begin DoDot:3
- +59 IF $DATA(ABMREC(41,I))
- Begin DoDot:4
- +60 SET ABMEF("LINE")=ABMREC(41,I)
- +61 DO WRITE
- End DoDot:4
- End DoDot:3
- End DoDot:2
- +62 ; If inpatient
- +63 IF $EXTRACT(ABMP("BTYP"),1,2)=11
- Begin DoDot:2
- +64 KILL ABMR
- +65 DO ^ABMER50
- +66 SET I=0
- +67 FOR
- SET I=$ORDER(ABMREC(50,I))
- IF 'I
- QUIT
- Begin DoDot:3
- +68 SET ABMEF("LINE")=ABMREC(50,I)
- +69 DO WRITE
- End DoDot:3
- +70 IF +$GET(ABMR(50,40))=100
- QUIT
- +71 KILL ABMR
- +72 DO ^ABMER60
- +73 SET I=0
- +74 FOR
- SET I=$ORDER(ABMREC(60,I))
- IF 'I
- QUIT
- Begin DoDot:3
- +75 SET ABMEF("LINE")=ABMREC(60,I)
- +76 DO WRITE
- End DoDot:3
- End DoDot:2
- +77 ; If outpatient
- +78 IF $EXTRACT(ABMP("BTYP"),1,2)'=11
- Begin DoDot:2
- +79 KILL ABMR
- +80 DO ^ABMER61
- +81 SET I=0
- +82 FOR
- SET I=$ORDER(ABMREC(61,I))
- IF 'I
- QUIT
- Begin DoDot:3
- +83 SET ABMEF("LINE")=ABMREC(61,I)
- +84 DO WRITE
- End DoDot:3
- End DoDot:2
- +85 KILL ABMR
- +86 DO ^ABMER70
- +87 SET ABMEF("LINE")=ABMREC(70)
- +88 DO WRITE
- +89 KILL ABMR
- +90 DO ^ABMER80
- +91 FOR I=1:1:3
- Begin DoDot:2
- +92 IF $DATA(ABMREC(80,I))
- Begin DoDot:3
- +93 SET ABMEF("LINE")=ABMREC(80,I)
- +94 DO WRITE
- End DoDot:3
- End DoDot:2
- +95 KILL ABMR
- +96 DO ^ABMER90
- +97 SET ABMEF("LINE")=ABMREC(90)
- +98 DO WRITE
- +99 SET DIE="^ABMDBILL(DUZ(2),"
- +100 SET DA=ABMP("BDFN")
- +101 SET DR=".04////B;.16////A;.17////"_ABMP("XMIT")
- +102 DO ^DIE
- End DoDot:1
- +103 KILL ABMR
- +104 DO ^ABMER95
- +105 SET ABMEF("LINE")=ABMREC(95)
- +106 DO WRITE
- +107 KILL ABMR
- +108 DO ^ABMER99
- +109 SET ABMEF("LINE")=ABMREC(99)
- +110 DO WRITE
- +111 DO CLOSE
- +112 WRITE !!,"Finished.",!!
- +113 KILL ABME,ABM,ABMEF,ABMREC,ABMR,ABMRV,ABMFN,ABMLF,ABMLNUM,ABMPATH
- +114 QUIT
- +115 ;
- OPEN ;
- +1 ; OPEN FILE
- +2 IF ABMP("FTYPE")="K"
- Begin DoDot:1
- +3 SET POP=0
- +4 SET DIC="^DIZ(8980,"
- +5 SET DIC(0)="AEMQL"
- +6 SET DIC("S")="I $P(^(0),""^"",5)=DUZ"
- +7 DO ^DIC
- +8 KILL DIC
- +9 IF Y<0
- SET POP=1
- QUIT
- +10 SET ABMP("FILE#")=+Y
- +11 SET ABMFN=$PIECE(Y,"^",2)
- +12 IF $ORDER(^DIZ(8980,ABMP("FILE#"),2,0))
- Begin DoDot:2
- +13 WRITE !,*7,"Data already exists in this file!",!
- +14 SET DIR("A")="Delete"
- +15 SET DIR(0)="Y"
- +16 SET DIR("B")="NO"
- +17 DO ^DIR
- +18 KILL DIR
- +19 IF Y=1
- KILL ^DIZ(8980,ABMP("FILE#"),2)
- +20 IF Y=0
- SET POP=1
- End DoDot:2
- End DoDot:1
- +21 IF ABMP("FTYPE")="H"
- Begin DoDot:1
- +22 SET DIR(0)="9002274.5,.47"
- +23 SET DIR("A")="Enter Path"
- +24 SET DIR("B")=$PIECE($GET(^ABMDPARM(DUZ(2),1,4)),"^",7)
- +25 DO ^DIR
- KILL DIR
- +26 IF Y["^"
- SET POP=1
- QUIT
- +27 SET ABMPATH=Y
- +28 SET ABMRCID=$PIECE(^AUTNINS(ABMP("INS"),0),"^",8)
- +29 IF $LENGTH(ABMRCID)<5
- Begin DoDot:2
- +30 SET ABMRCID=$EXTRACT("00000",1,5-$LENGTH(ABMRCID))_ABMRCID
- End DoDot:2
- +31 SET ABMJDT=$$JDT^XBFUNC(DT)
- +32 SET ABMLF=$GET(^ABMNINS("ALF",ABMP("INS")))
- +33 IF $PIECE(ABMLF,".",2)'=ABMJDT
- SET ABMLF=""
- +34 SET ABMLNUM=+$EXTRACT($PIECE(ABMLF,".",1),7,8)
- +35 SET ABMLNUM=ABMLNUM+1
- +36 IF ABMLNUM<10
- SET ABMLNUM="0"_ABMLNUM
- +37 SET ABMFN="E"_ABMRCID_ABMLNUM_"."_ABMJDT
- +38 SET DIR(0)="F^1:15"
- +39 SET DIR("A")="Enter File Name: "
- +40 SET DIR("B")=ABMFN
- +41 DO ^DIR
- KILL DIR
- +42 IF Y["^"
- SET POP=1
- QUIT
- +43 SET ABMFN=Y
- +44 DO OPEN^%ZISH("EMCFILE",ABMPATH,ABMFN,"W")
- +45 IF 'POP
- SET ^ABMNINS("ALF",ABMP("INS"))=ABMFN
- End DoDot:1
- +46 IF ABMP("FTYPE")="M"
- Begin DoDot:1
- +47 SET ABMP("DOMAIN")=$PIECE($GET(^ABMDPARM(DUZ(2),1,3)),"^",9)
- +48 IF 'ABMP("DOMAIN")
- WRITE !,"MM SEND TO DOMAIN NOT DEFINED.",!
- SET POP=1
- QUIT
- +49 SET ABMP("DOMAIN")=$PIECE(^DIC(4.2,ABMP("DOMAIN"),0),"^",1)
- +50 SET XMSUB="EMC FILE FROM "_$PIECE($GET(^AUTTLOC(DUZ(2),0)),"^",2)
- +51 SET XMDUZ=DUZ
- +52 DO XMZ^XMA2
- +53 IF XMZ<1
- SET POP=1
- QUIT
- +54 SET ABMFN="MAIL MSG# "_XMZ
- +55 WRITE !!,"MAIL MSG# ",XMZ," CREATED.",!
- End DoDot:1
- +56 QUIT
- +57 ;
- WRITE ;
- +1 ;WRITE RECORD TO FILE
- +2 IF ABMP("FTYPE")="K"
- Begin DoDot:1
- +3 SET ABMP("L#")=ABMP("L#")+1
- +4 SET ^DIZ(8980,ABMP("FILE#"),2,ABMP("L#"),0)=ABMEF("LINE")
- End DoDot:1
- +5 IF ABMP("FTYPE")="H"
- Begin DoDot:1
- +6 USE IO
- +7 WRITE ABMEF("LINE"),$CHAR(13,10)
- +8 USE IO(0)
- End DoDot:1
- +9 IF ABMP("FTYPE")="M"
- Begin DoDot:1
- +10 SET ABMP("L#")=ABMP("L#")+1
- +11 SET ^XMB(3.9,XMZ,2,ABMP("L#"),0)=ABMEF("LINE")
- End DoDot:1
- +12 QUIT
- +13 ;
- CLOSE ;
- +1 ;CLOSE FILE
- +2 IF ABMP("FTYPE")="H"
- DO ^%ZISC
- +3 IF ABMP("FTYPE")="K"
- SET ^DIZ(8980,ABMP("FILE#"),2,0)="^^"_I_"^"_I_"^"_DT
- +4 IF ABMP("FTYPE")="M"
- Begin DoDot:1
- +5 SET ^XMB(3.9,XMZ,2,0)="^3.92A^"_ABMP("L#")_"^"_ABMP("L#")_"^"_DT
- +6 SET XMY(".5@"_ABMP("DOMAIN"))=""
- +7 DO ENT1^XMD
- End DoDot:1
- +8 QUIT