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

APSPESG.m

Go to the documentation of this file.
  1. APSPESG ;IHS/MSC/MGH - Process entries from APSP REFILL REQUEST file ;24-Jul-2013 08:40;PLS
  1. ;;7.0;IHS PHARMACY MODIFICATIONS;**1016**;Sep 23,2004;Build 74
  1. ;==================================================================
  1. ;RPC calls for refill request component
  1. ;Input: FILTER - string containing status values
  1. ; TCHK - Flag indicating type of date check
  1. ; 0 - no date check (default)
  1. ; 1 - Message Date
  1. ; 2 - Last Updated Date ( used for denied entries)
  1. ; START - Start date (earliest date)
  1. ; STOP - Stop date (most recent date)
  1. GETLIST(RET,FILTER,TCHK,START,STOP) ; -- Return list of unprocessed refills
  1. N IEN,CNT
  1. S RET=$$TMPGBL()
  1. S FILTER=$G(FILTER,"0146")
  1. S (IEN,CNT)=0 F S IEN=$O(^APSPRREQ(IEN)) Q:'IEN D
  1. .; do not display if the status is 'processed', there is an OERR order number, or the HL7 data is misisng
  1. .;I $P(^APSPRREQ(IEN,0),U,2)!('$O(^APSPRREQ(IEN,5,0))) Q
  1. .Q:'$$CANSHOW(IEN,FILTER)
  1. .Q:'$$MATCHDT(IEN,TCHK,START,STOP)
  1. .S CNT=CNT+1
  1. .S @RET@(CNT)=$$GETITM(IEN)
  1. Q
  1. ; Return string containing data for a single item
  1. GETITM(IEN) ;EP-
  1. ;Array will include IEN [1] ^ MESSAGE ID;STATUS [2] ^ IEN;PATIENT NAME (DOB)[3] ^ DRUG NAME[4] ^ DATE [5] ^ PHARMACY [6] ^ PHARMACY ZIP [7] ^
  1. ; PROVIDER ID (IEN;NAME) [8] ^ LOCATION ID (IEN;NAME) [9] ^
  1. ;IEN_U_MSGID_";"_IND_U_PATNAME_U_DRUG_U_ITMDATE_U_PHARMNM_U_PHARMZIP_U_PRVID_U_LOCID
  1. N LINE,MSGID,SEG,HLDATA,APSPMSH,APSPPID,APSPORC,APSPRX0,APSPRXE,DRUG,PAT,PATLN,PATFN,LINEVAR,ITMDATE
  1. N PATNAME,STAT,PIEN,PNAM,PPHN,PADDR,IND,PTID,PRVID,PTPHN,DNYDT,DNYDTF,DNYUSR,DNYRSN,MATCH
  1. S STAT=+$$GET1^DIQ(9009033.91,IEN,.03,"I")
  1. S MSGID=$$GET1^DIQ(9009033.91,IEN,.01,"E"),HLMSG=$$GHLDAT(IEN)
  1. D SHLVARS
  1. S PATNAME=$$PATNAME(APSPPID) ; From HL7 Message content
  1. S PTPHN=$$GETPPHN(IEN)
  1. S DRUG=$$DRGNAME(APSPRXO)
  1. S ITMDATE=$$GET1^DIQ(9009033.91,IEN,.04,"I")
  1. S ITMDTFMT=$$FMTE^XLFDT(ITMDATE,"5Z")
  1. S ITMDTFMT=$TR(ITMDTFMT,"@"," ")
  1. S (DNYDT,DNYDTF,DNYUSR,DNYRSN)=""
  1. I STAT=3!(STAT=5) D
  1. .S DNYDT=$$GET1^DIQ(9009033.91,IEN,.07,"I")
  1. .S DNYDTF=$$FMTE^XLFDT(DNYDT,"5Z")
  1. .S DNYDTF=$TR(DNYDTF,"@"," ")
  1. .S DNYUSR=$$GET1^DIQ(9009033.91,IEN,.09)
  1. .S DNYRSN=$$GET1^DIQ(9009033.91,IEN,4)
  1. S PIEN=$$GET1^DIQ(9009033.91,IEN,1.7,"I")
  1. S PNAM=$$GET1^DIQ(9009033.9,PIEN,.01)
  1. S PPHN=$$FMTPHN^APSPES2($$GET1^DIQ(9009033.9,PIEN,2.1)) ;Pharmacy Phone
  1. S PFAX=$$FMTPHN^APSPES2($$GET1^DIQ(9009033.9,PIEN,2.2)) ;Pharmacy Fax
  1. S PADD=$$PADDR^APSPESG1(PIEN)
  1. S IND=$S(STAT=6:5,STAT=4:4,STAT=1:13,1:3)
  1. S PTID=$$GET1^DIQ(9009033.91,IEN,1.2,"I")_";"_$$GET1^DIQ(9009033.91,IEN,1.2)
  1. S PRVID=$$GET1^DIQ(9009033.91,IEN,1.3,"I")_";"_$$GET1^DIQ(9009033.91,IEN,1.3)
  1. S LOCID=$$GET1^DIQ(9009033.91,IEN,1.6,"I")_";"_$$GET1^DIQ(9009033.91,IEN,1.6)
  1. S MATCH=$$GET1^DIQ(9009033.91,IEN,.11)
  1. S ORDINFO=$$ORD(IEN) ;Order details D:30 QTY:30 RF:2 DAW:No Indication: 401.9
  1. S NTPHM=$$GET1^DIQ(9009033.91,IEN,4.1) ;Notes to Pharmacist
  1. Q IEN_U_MSGID_";"_IND_U_PATNAME_U_DRUG_U_ITMDATE_";"_ITMDTFMT_U_PIEN_";"_PNAM_U_PPHN_";"_PFAX_U_PTID_U_PRVID_U_LOCID_U_$$GETSIG(IEN)_U_PTPHN_U_PADD_U_DNYDT_";"_DNYDTF_U_DNYUSR_U_DNYRSN_U_MATCH_U_ORDINFO_U_NTPHM_U_$$GMATCHI(IEN)
  1. ;TODO - REFILL REQUEST DENIED;ACTIVITY ACTION USER;DENY REASON
  1. ;
  1. SHLVARS ; Set up HL segment data
  1. N SEGTYP,VAR
  1. F SEGTYP="MSH","PID","ORC","RXO","RXE","RXR","RXD","DG1" S VAR="APSP"_SEGTYP,@VAR="",@VAR=$$GETSEG(.HLDATA,SEGTYP)
  1. Q
  1. ; Input: DATA - HL7 data from APSP REFILL REQUEST file
  1. ; TYPE - Message segment requested
  1. GETSEG(DATA,TYPE) ;
  1. N X,RET,DAT,Q
  1. S RET="",(X,Q)=0 F S X=$O(DATA(X)) Q:'X!(Q) D
  1. .S DAT=$G(DATA(X)) I DAT="" S RET="" Q
  1. .I $P(DAT,"|")=TYPE S RET=DAT,Q=1 Q
  1. Q RET
  1. ;
  1. PATNAME(PIDSEG) ;
  1. N PAT,PATLN,PATFN,PATNAME,GENDER
  1. S PAT=$$GET1^DIQ(9009033.91,IEN,1.2,"I")
  1. S GENDER=$$GET1^DIQ(2,PAT,.02)
  1. I PAT,$$GET1^DIQ(9009033.91,IEN,1.2)="" S PAT=0,GENDER=""
  1. Q:PAT>0 PAT_";"_$$GET1^DIQ(9009033.91,IEN,1.2)_";"_$$FMTE^XLFDT($$DOB^AUPNPAT(PAT),"5Z")_";"_GENDER
  1. S PAT=$P(PIDSEG,"|",6) I '$L(PAT) Q ";"
  1. S PAT=$TR(PAT,";",":")
  1. S PATLN=$P(PAT,U),PATFN=$P(PAT,U,2)
  1. S PATNAME=PATLN_","_PATFN
  1. Q ";"_PATNAME_";"_$$GETPDOB(IEN)_";"_$$GETPGEN(IEN)
  1. ; Return Drug Name or mapped Orderable Item
  1. DRGNAME(APSPRXO) ;EP-
  1. N RET
  1. S RET=$$GET1^DIQ(9009033.91,IEN,1.1,"I")
  1. Q:RET>0 RET_";"_$P($P(APSPRXO,"|",2),U,2) ;$$GET1^DIQ(9009033.91,IEN,1.1)
  1. S RET=$P($P(APSPRXO,"|",2),U,2) I '$L(RET) Q ";"
  1. Q ";"_$TR(RET,";",":")
  1. ORD(IEN) ;Order details D:30 QTY:30 RF:2 DAW:No Indication: 401.9
  1. N SUP,QTY,REF,DAW,IND
  1. S SUP=+$$GET1^DIQ(9009033.91,IEN,1.5)
  1. S QTY=+$$GET1^DIQ(9009033.91,IEN,1.4)
  1. S REF=+$$GET1^DIQ(9009033.91,IEN,1.9)
  1. S DAW=$$GET1^DIQ(9009033.91,IEN,1.12)
  1. S IND=$$GET1^DIQ(9009033.91,IEN,7.2)
  1. Q "D:"_SUP_" QTY:"_QTY_" RF:"_REF_" DAW:"_DAW_" Indication: "_IND
  1. DUPS(IEN) ;Return if there are duplicate entries
  1. N CNT,RRNUM,NIEN
  1. S CNT=0
  1. S NIEN=0 F S NIEN=$O(^APSPRREQ(IEN,9,NIEN)) Q:'NIEN D
  1. .S CNT=CNT+1
  1. Q CNT
  1. GHLDAT(IEN) ; Get HL7 message data from APSP REFILL REQUEST FILE
  1. N HLMSG
  1. S HLMSG=$$GET1^DIQ(9009033.91,IEN,5,"","HLDATA")
  1. Q HLMSG
  1. TMPGBL() ;EP
  1. K ^TMP("APSPESG",$J) Q $NA(^($J))
  1. ; Return boolean flag if entry matches status filter
  1. CANSHOW(IEN,FILTER) ;EP -
  1. N STA
  1. S STA=+$P(^APSPRREQ(IEN,0),U,3)
  1. Q $S(FILTER[STA:1,1:0) ;$S(STA<2!(STA=4):1,1:0)
  1. ; Return boolean flag if entry matches date range criteria
  1. MATCHDT(IEN,TYPE,START,STOP) ;EP-
  1. Q:'TYPE 1 ; date check not requested
  1. N RES,N0,LD,MD,ACT
  1. S STOP=STOP+.99
  1. S N0=^APSPRREQ(IEN,0),MD=$P(N0,U,4),LD=$P(N0,U,7),ACT=$P(N0,U,8)
  1. S RES=1
  1. I TYPE=1 D ; Message Date
  1. .I (MD<START)!(MD>STOP) S RES=0
  1. E I TYPE=2 D ; Last Updated (.07) and Activity Action is either a 3 or 4
  1. .I (LD<START)!(LD>STOP)!("34"'[ACT) S RES=0
  1. Q RES
  1. ; Return Match Details
  1. GMATCHI(IEN) ;EP-
  1. N MATCH,TXT,CNT,STRING,X
  1. S STRING="",CNT=0,TXT=""
  1. S X=$$DUPS(IEN) ;Check for duplicate entries
  1. I X>0 D
  1. .S TXT="Duplicate Request ("_X_")" D ADD(TXT,.STRING)
  1. S MATCH=$$GET1^DIQ(9009033.91,IEN,.11)
  1. I MATCH["Z" S TXT="This order cannot be renewed" D ADD(TXT,.STRING)
  1. I MATCH'["O" S TXT="Failed to map Order Number" D ADD(TXT,.STRING)
  1. I MATCH'["D" S TXT="Failed to map Provider" D ADD(TXT,.STRING)
  1. I MATCH'["M" S TXT="Failed to map Med" D ADD(TXT,.STRING)
  1. I MATCH'["P" S TXT="Failed to map Patient" D ADD(TXT,.STRING)
  1. I FILTER'=1 D
  1. .I MATCH["Z"!(MATCH'["D") S TXT="[DENY ONLY]" D ADD(TXT,.STRING)
  1. .E S TXT="[MAP OR DENY]" D ADD(TXT,.STRING)
  1. Q STRING
  1. ADD(TXT,STRING) ;EP-
  1. S CNT=CNT+1
  1. I CNT>1 S STRING=STRING_";"_TXT
  1. E S STRING=TXT
  1. Q
  1. ; Return details of the SureScript Request
  1. ; Input: IEN - IEN to APSP REFILL REQUEST file
  1. DETAIL(DATA,IEN) ; EP-
  1. N HLMSG,DLM,APSPMSH,APSPPID,APSPORC,APSPRXO,APSPRXE,APSPRXR
  1. N PAT,QTY,PROVDAT,PROV,DRUG,INST,STR,UNITS,ROUTE,NOUN,CONJ
  1. N USCHDUR,MEDUNITS,REFILLS,PHARM,SIGDAT,HLECH,DONE,DUR
  1. N SCHITEM,SCHUPD,SCHARY,INTERVAL,TOTDUR
  1. S HLECH=$P($G(APSPMSH),"|",2) I '$L(HLECH) S HLECH="^~\&"
  1. F I=1:1:4 D
  1. .S HLECH(I)=$E(HLECH,I)
  1. S HLMSG=$$GHLDAT^APSPESLP(IEN)
  1. D SHLVARS^APSPESLP
  1. S DLM="|"
  1. S PAT=$$PATNAME^APSPESLP(APSPPID) I '$L(PAT) S PAT="**UNKNOWN**"
  1. S QTY=+$P(APSPRXO,DLM,12),PROVDAT=$P(APSPORC,DLM,13),PROV=$P(PROVDAT,HLECH(1),2)_","_$P(PROVDAT,HLECH(1),3)
  1. S DRUG=$P($P($G(APSPRXO),DLM,2),U,2),INST=$P($P($G(APSPRXO),DLM,7),U,2)
  1. S STR=$P($G(APSPRXO),DLM,3),UNITS=$P($P($G(APSPRXO),DLM,5),HLECH(1),2),ROUTE=$P($G(APSPRXR),DLM,2)
  1. S NOUN=$P($G(APSPRXO),DLM,6) I $L(NOUN) S NOUN=$O(^APSPNCP(9009033.7,"B",NOUN,0)),NOUN=$$GET1^DIQ(9009033.7,NOUN,1,"E")
  1. S USCHDUR=$P($G(APSPORC),DLM,8),MEDUNITS=$P($P($G(APSPRXO),DLM,20),HLECH(1),2)
  1. S REFILLS=0
  1. S PHARM=$$GET1^DIQ(9009033.91,IEN,1.7,"E")
  1. S SIGDAT=$P($P(APSPRXO,"|",8),"^",2)
  1. S DONE=0
  1. F I=1:1 D Q:DONE
  1. .S SCHITEM=$P(USCHDUR,HLECH(2),I)
  1. .I '$L(SCHITEM) S DONE=1 Q
  1. .S SCHUPD=$P(SCHITEM,HLECH(1)) I 'SCHUPD S SCHUPD=1
  1. .S INTERVAL=$P(SCHITEM,HLECH(1),2),DUR=$P(SCHITEM,HLECH(1),3),CONJ=$P(SCHITEM,HLECH(1),9)
  1. .S SCHARY(I)=SCHUPD_U_INTERVAL_U_DUR_U_CONJ
  1. .S TOTDUR=$G(TOTDUR)+DUR
  1. S DATA=$$TMPGBL^CIAVMRPC
  1. D CAPTURE^CIAUHFS("D DISPHL7^APSPESLP(PAT,QTY,PROV,DRUG,INST,STR,UNITS,ROUTE,NOUN,.SCHARY,MEDUNITS,REFILLS,PHARM,SIGDAT)",DATA)
  1. Q
  1. ; Supports the mapping process
  1. ; Update entry
  1. ; Input: IEN - IEN to APSP Refil Request File
  1. ; FLD - Field number
  1. ; VAL - Value to set
  1. ; NOSTS - Do not update status
  1. STORE(DATA,IEN,FLD,VAL,NOSTS) ;EP-
  1. N FDA,ERR,FILTER
  1. S FILTER=$G(FILTER,0)
  1. S NOSTS=+$G(NOSTS)
  1. S FDA(9009033.91,IEN_",",FLD)=VAL
  1. S:FLD=".08" FDA(9009033.91,IEN_",",.09)=$G(DUZ)
  1. I 'NOSTS D
  1. .S:$P($G(^APSPRREQ(IEN,0)),U,3)'=4 FDA(9009033.91,IEN_",",.03)=4
  1. D FILE^DIE("K","FDA","ERR")
  1. I '$D(ERR) S DATA=$$GETITM(IEN)
  1. E S DATA="0^Unable to update log"
  1. Q
  1. ; Return value for file/field
  1. GETVAL(DATA,FIL,IEN,FLD,FLG) ;EP-
  1. S DATA=$$GET1^DIQ(FIL,IEN,FLD,.FLG)
  1. Q
  1. ; Update entry with medication dosing information
  1. STOREDOS(DATA,IEN,FLDARY) ;EP-
  1. N FDA,ERR
  1. I 'IEN!'$D(FLDARY) S DATA="1^INSUFFICIENT DATA TO STORE"
  1. D FILE^DIE("K","FDA","ERR")
  1. I '$D(ERR) S DATA=1
  1. E S DATA="0^"_$G(ERR)
  1. Q
  1. ; Returns subset of active providers having a SPI number.
  1. NPSPI(DATA,FROM,DIR,MAX) ;EP-
  1. N IEN,CNT
  1. S FROM=$G(FROM),DIR=$G(DIR,1),MAX=$G(MAX,44),CNT=0
  1. F S FROM=$O(^VA(200,"B",FROM),DIR),IEN="" Q:FROM="" D:$E(FROM)'="*" Q:CNT'<MAX
  1. .F S IEN=$O(^VA(200,"B",FROM,IEN),DIR) Q:'IEN D
  1. ..I $D(^XUSEC("PROVIDER",IEN)),$$ACTIVE^XUSER(IEN),$$AUTH(IEN),$$SPI^APSPES1(IEN) S CNT=CNT+1,DATA(CNT)=IEN_U_FROM
  1. Q
  1. ; Return authorization of user to write meds
  1. AUTH(PRV) ;EP-
  1. N RES
  1. D AUTH^ORWDPS32(.RES,PRV)
  1. Q 'RES
  1. ; Return mapping details for a given entry
  1. GETREC(DATA,IEN) ;EP-
  1. N REC,TXT,CNT
  1. S DATA=$$TMPGBL,CNT=1
  1. I '$D(^APSPRREQ(IEN,0)) S DATA(0)="1^RECORD NOT FOUND"
  1. S REC=$G(^APSPRREQ(IEN,1))
  1. S @DATA@(0)=0
  1. S @DATA@(CNT)=$P(REC,U)_";"_$$GET1^DIQ(101.43,+$P(REC,U),.01)_U_$P(REC,U,4)_U_$P(REC,U,5)_U_$$GETDRUG(IEN)
  1. S CNT=CNT+1
  1. D ADDMISIG(2)
  1. D ADDMISIG(3)
  1. Q
  1. ; Adds Medication Instructions and SIG to output array
  1. ADDMISIG(NODE) ;EP-
  1. N LP
  1. S LP=0 F S LP=$O(^APSPRREQ(IEN,NODE,LP)) Q:'LP D
  1. .S TXT=$G(^APSPRREQ(IEN,NODE,LP,0))
  1. .Q:'$L(TXT)
  1. .S CNT=CNT+1
  1. .S @DATA@(CNT)=$S(NODE=2:"d~",NODE=3:"s~",1:"")_TXT
  1. Q
  1. ;
  1. GETDRUG(IEN) ;EP-
  1. N DLM,HLECH,I,HLMSG
  1. D HL7INIT(IEN)
  1. Q $P($P($G(APSPRXO),DLM,2),U,2)
  1. ; Return patient DOB from HL7 content
  1. GETPDOB(IEN) ;EP-
  1. N DLM,HLECH,I,HLMSG
  1. D HL7INIT(IEN)
  1. S HLMSG=$$GHLDAT^APSPESLP(IEN) D SHLVARS^APSPESLP
  1. Q $$FMTE^XLFDT($$FMDATE^HLFNC($P(APSPPID,DLM,8)),"5Z")
  1. ; Return patient Gender from HL7 context
  1. GETPGEN(IEN) ;EP-
  1. N DLM,HLECH,I,HLMSG,G
  1. D HL7INIT(IEN)
  1. S G=$P(APSPPID,DLM,9)
  1. Q $S(G="M":"MALE",G="F":"FEMALE",G="O":"OTHER",1:"UNKNOWN")
  1. ; Return Patient Phone Number from HL7 context
  1. GETPPHN(IEN) ;EP-
  1. N DLM,HLECH,I,HLMSG
  1. D HL7INIT(IEN)
  1. Q $$FMTPHN^APSPES2($P($P(APSPPID,DLM,14),HLECH(1),1))
  1. ; Return SIG from HL7 content
  1. GETSIG(IEN) ;EP-
  1. N DLM,HLECH,I,HLMSG
  1. D HL7INIT(IEN)
  1. Q $P($P(APSPRXO,DLM,8),HLECH(1),2)
  1. ; Return count and patient flag - used by REFREQ CIA EVENT
  1. QUECHECK(DFN) ;EP-
  1. N IEN,CNT,PFLG,FILTER
  1. S DFN=$G(DFN,$$GETVAR^CIANBUTL("PATIENT.ID.MRN",,"CONTEXT.PATIENT"))
  1. S FILTER="014"
  1. S (IEN,CNT)=0 F S IEN=$O(^APSPRREQ(IEN)) Q:'IEN D
  1. .Q:'$$CANSHOW(IEN,FILTER)
  1. .S CNT=CNT+1
  1. Q +$G(CNT)_U_$S(DFN>0:$O(^APSPRREQ("E",DFN,0))>0,1:0)
  1. ;
  1. QUEVWCNT(DATA,DFN) ;EP-
  1. S DATA=$$QUECHECK(DFN)
  1. Q
  1. ; Return data for a given IEN to refresh the ListView
  1. GETIDATA(DATA,IEN,FILTER) ;EP-
  1. S FILTER=$G(FILTER,0)
  1. I $G(IEN) S DATA=$$GETITM(IEN)
  1. E S DATA="0^Unable to obtain information"
  1. Q
  1. ; Init HL7 variables
  1. HL7INIT(IEN) ;EP--
  1. S DLM="|"
  1. S HLECH="^~\&"
  1. F I=1:1:4 D
  1. .S HLECH(I)=$E(HLECH,I)
  1. S HLMSG=$$GHLDAT^APSPESLP(IEN) D SHLVARS^APSPESLP
  1. Q
  1. ;Change provider on a refill request that has been processed
  1. CHGPRV(DATA,IEN,PRVIEN) ;EP
  1. N ORID,ORNP,ORL,ORVP,REASON,REC,DATA,PRMT,FDA
  1. S REASON="" S REASON=$O(^ORD(100.03,"B","Obsolete Order",REASON))
  1. S ORID=$$GET1^DIQ(9009033.91,IEN,.02,"I")
  1. S ORNP=$$GET1^DIQ(9009033.91,IEN,1.3,"I")
  1. S ORL=$$GET1^DIQ(9009033.91,IEN,1.6,"I")
  1. S ORVP=$$GET1^DIQ(9009033.91,IEN,1.2,"I")
  1. S ORDUZ=DUZ
  1. S PRMT="OR GTX SSRREQIEN"
  1. D RESP^ORCSAVE2(ORID,PRMT,"ZZ")
  1. ;Delete the old order
  1. D DC^ORWDXA(.REC,ORID,ORNP,ORL,REASON,0,1)
  1. ;Kill the alert
  1. N XQAKILL,ORNIFN
  1. S ORNIFN=$O(^ORD(100.9,"B","SS REFILL REQUEST SIGNATURE",0))
  1. S XQAKILL=$$XQAKILL^ORB3F1(ORNIFN) ; unsigned orders notif
  1. S XQAID=$P($G(^ORD(100.9,ORNIFN,0)),U,2)_","_+ORVP_","_ORNIFN D DELETEA^XQALERT K XQAID
  1. S ORNIFN=$O(^ORD(100.9,"B","ORDER REQUIRES ELEC SIGNATURE",0))
  1. S XQAKILL=$$XQAKILL^ORB3F1(ORNIFN) ; unsigned orders notif
  1. S XQAID=$P($G(^ORD(100.9,ORNIFN,0)),U,2)_","_+ORVP_","_ORNIFN D DELETEA^XQALERT K XQAID
  1. ;Update the APSP Refill request file
  1. S FDA(9009033.91,IEN_",",.02)="@"
  1. S FDA(9009033.91,IEN_",",.07)=$$NOW^XLFDT()
  1. S FDA(9009033.91,IEN_",",1.3)=PRVIEN
  1. S FDA(9009033.91,IEN_",",1.11)=1
  1. D FILE^DIE("","FDA","ERR")
  1. ;Redo the order
  1. D PROCESS^APSPESG2(.DATA,IEN)
  1. Q