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

TIUCCRHL7P2.m

Go to the documentation of this file.
  1. TIUCCRHL7P2 ; CCRA/PB - TIUHL7 Msg Processing; March 23, 2005
  1. ;;1.0;TEXT INTEGRATION UTILITIES;**337,348,349,352,354,356,366,371**;Sep 27, 2023;Build 4
  1. ; Reference to CMT^GMRCGUIB in ICR #2980
  1. ; Reference to SETCOM^GMRCGUIB, SETDA^GMRCGUIB in ICR #7223
  1. ; Reference to ^TMP("CSLSUR1" supported by DBIA #3498
  1. ; Reference to ^GMR(123 supported by DBIA #7342
  1. ; Reference to ^GMR(123 supported by DBA #3983
  1. ;
  1. ;PB - Patch 348 modification to parse the note text from NTE segments rather than the OBX segment
  1. ;PB - Patch 349 modification to parse and file the consult factor from the note and file as a comment with the consult
  1. ;PB - Patch 352 modifications to set field 1205 in file 8925 to the value in field 2 in file 123 for the consult
  1. ;PB - Patch 354 modifications to keep the status of the consult after the note/addendum is filed whether the note/addendum
  1. ; originates in CPRS or in HSRM.
  1. ;PB - Patch 356 modifications to file the note as a stand-alone note and not linked to a consult
  1. ;PB - Patch 371 removes unused code
  1. Q
  1. CONTINUE ; data verification
  1. ; DOCUMENT TEXT
  1. N STOP,TIUI,TIUIF
  1. S (TIUIF,STOP)=0
  1. D
  1. . I '$D(TIUZ("TEXT")) S MSGTEXT="Missing DOCUMENT TEXT.",STOP=1 D MESSAGE^TIUCCRHL7P3(MSGID,$G(CONSULTID),MSGTEXT),ANAK^TIUCCHL7UT(MSGID,MSGTEXT,$G(CONSULTID))
  1. . Q:$G(STOP)=1
  1. Q:$G(STOP)=1
  1. ; DOCUMENT TITLE
  1. I +TIU("TDA")'>0 S MSGTEXT="Could not resolve the document title "_TIU("TITLE"),STOP=1 D MESSAGE^TIUCCRHL7P3(MSGID,$G(CONSULTID),MSGTEXT),ANAK^TIUCCHL7UT(MSGID,MSGTEXT,$G(CONSULTID)) Q
  1. I +$$GET1^DIQ(8925.1,TIU("TDA"),.07,"I")'=11 S MSGTEXT="The document title "_TIU("TITLE")_" must be ACTIVE before use",STOP=1 D MESSAGE^TIUCCRHL7P3(MSGID,$G(CONSULTID),MSGTEXT),ANAK^TIUCCHL7UT(MSGID,MSGTEXT,$G(CONSULTID)) Q
  1. Q:+$G(TIU("TDA"))'>0!(+$$GET1^DIQ(8925.1,TIU("TDA"),.07,"I")'=11)
  1. S TIU("ELSIG")=$$GET1^DIQ(200,$G(TIU("AUIEN")),20.4)
  1. I $G(TIU("ELSIG"))="" D
  1. .N MSGTEXT
  1. .S MSGTEXT="No valid Electronic Signature for "_$G(TIU("AUNAME"))_" Note is not signed." D MESSAGE^TIUCCRHL7P3(MSGID,$G(CONSULTID),MSGTEXT) ;
  1. .K TIU("SIGNED"),TIU("CSIGNED")
  1. S CONSERVICEIEN=$$GET1^DIQ(123,CONSULTID_",",1,"I")
  1. S VLOC=$$GETLOC(CONSERVICEIEN),TIU("LOC")=VLOC
  1. D CONTINUE^TIUCCRHL7P3
  1. Q
  1. MAKE(SUCCESS,DFN,TITLE,VDT,VLOC,VSIT,TIUX,VSTR,SUPPRESS,NOASF) ; New Document
  1. ; SUCCESS = (by ref) TIU DOCUMENT # (PTR to 8925)
  1. ; = 0^Explanatory message if no SUCCESS
  1. ; DFN = Patient (#2)
  1. ; TITLE = TIU Document Definition (#8925.1)
  1. ; [VDT] = Date(/Time) of Visit
  1. ; [VLOC] = Visit Location (HOSPITAL LOCATION)
  1. ; [VSIT] = Visit file ien (#9000010)
  1. ; [VSTR] = Visit string (i.e., VLOC;VDT;VTYPE)
  1. ; [NOASF] = if 1=Do Not Set ASAVE cross-reference
  1. ; TIUX = (by ref) array containing field data and document body
  1. N CONSERVICEIEN
  1. S CONSERVICEIEN=$$GET1^DIQ(123,CONSULTID_",",1,"I")
  1. N TIU,TIUDA,LDT,NEWREC
  1. S SUCCESS=0
  1. I +$G(VSIT) S VSTR=$$VSTRBLD(+VSIT)
  1. I $L($G(VSTR)) D
  1. . S VDT=$S(+$G(VDT):+$G(VDT),1:$P(VSTR,";",2))
  1. . S LDT=$S(+$G(VDT):$$FMADD^XLFDT(VDT,"","",1),1:"")
  1. . S VLOC=$$GETLOC(CONSERVICEIEN),TIU("LOC")=VLOC
  1. . ; If note is for Ward Location, call MAIN^TIUMOVE
  1. . I $P($G(^SC(+VLOC,0)),U,3)="W" D MAIN^TIUMOVE(.TIU,DFN,"",VDT,LDT,1,"LAST",0,+VLOC) Q
  1. . ; Otherwise, call PATVADPT^TIULV
  1. . D PATVADPT^TIULV(.TIU,DFN,"",VSTR)
  1. I '+$G(VSIT),'$L($G(VSTR)),+$G(VDT),+$G(VLOC) D
  1. . S VDT=$G(VDT),LDT=$S(+$G(VDT):$$FMADD^XLFDT(VDT,"","",1),1:"")
  1. . ; If note is for Ward Location, call MAIN^TIUMOVE
  1. . I $P($G(^SC(+VLOC,0)),U,3)="W" D MAIN^TIUMOVE(.TIU,DFN,"",VDT,LDT,1,"LAST",0,+VLOC) Q
  1. . ; Otherwise, call MAIN^TIUVSIT
  1. . D MAIN^TIUVSIT(.TIU,DFN,"",VDT,LDT,"LAST",0,VLOC)
  1. I '+$G(TIU("VSTR")) D
  1. . S VLOC=$$GETLOC($G(CONSERVICEIEN)),TIU("LOC")=VLOC
  1. . D EVENT^TIUSRVP1(.TIU,DFN)
  1. S TIU("INST")=$$DIVISION^TIULC1(+TIU("LOC"))
  1. I $S($D(TIU)'>9:1,+$G(DFN)'>0:1,1:0) S SUCCESS="0^"_$$EZBLD^DIALOG(89250001) Q
  1. N % D NOW^%DTC
  1. S (TIU("LOC"),TIU("VLOC"))=VLOC_"^"_$$GET1^DIQ(44,VLOC_",",.01,"E"),TIU("VSTR")=VLOC_"^"_%
  1. S TIUDA=$$GETREC(DFN,.TIU,TITLE,.NEWREC)
  1. I +TIUDA'>0 S SUCCESS="0^"_$$EZBLD^DIALOG(89250002) Q
  1. S SUCCESS=+TIUDA
  1. D STUFREC^TIUSRVP1(+TIUDA,.TIUX,DFN,,TITLE,.TIU)
  1. S:'+$G(NOASF) ^TIU(8925,"ASAVE",DUZ,TIUDA)=""
  1. K ^TIU(8925,+TIUDA,"TEMP")
  1. M ^TIU(8925,+TIUDA,"TEMP")=TIUX("TEXT") K TIUX("TEXT")
  1. D SETXT0(TIUDA)
  1. D FILE(.SUCCESS,+TIUDA,.TIUX,+$G(SUPPRESS))
  1. I +SUCCESS'>0 D DIK^TIURB2(TIUDA) Q
  1. I +$O(^TIU(8925,+TIUDA,"TEMP",0)) D MERGTEXT^TIUEDI1(+TIUDA,.TIU)
  1. I +$G(TIU("STOP")) D DEFER^TIUVSIT(TIUDA,TIU("STOP")) I 1
  1. E D QUE^TIUPXAP1
  1. I '+$G(SUPPRESS) D
  1. . D RELEASE^TIUT(TIUDA,1)
  1. . D UPDTIRT^TIUDIRT(.TIU,TIUDA)
  1. ;Patch 352 - PB update field 1205 to be the FROM field (#2) in file 123
  1. I $G(TIUDA)>0 D
  1. .Q
  1. .N FDA
  1. .S FDA(1,8925,TIUDA_",",1205)=$$GET1^DIQ(123,CONSULTID_",",2,"I") ;PB - Sep 23 - Patch 356 changed to used the CONSULTID variable
  1. .S FDA(1,8925,TIUDA_",",1211)=VLOC
  1. .D UPDATE^DIE("","FDA(1)","ZERR")
  1. K ^TIU(8925,+TIUDA,"TEMP")
  1. Q
  1. FILE(SUCCESS,TIUDA,TIUX,SUPPRESS,TIUCPF) ; Call FM Filer & commit
  1. N FDA,FDARR,IENS,FLAGS,TIUMSG,TIUCMMTX
  1. S IENS=""""_TIUDA_",""",FDARR="FDA(8925,"_IENS_")",FLAGS=""
  1. I +$G(TIUX(1202)) S TIUX(1204)=+$G(TIUX(1202))
  1. I +$G(TIUX(1209)) S TIUX(1208)=+$G(TIUX(1209))
  1. ;If the document is a member of the Clinical Procedures Class, set the
  1. ;Entered By field to the Author/Dictator field
  1. I $G(TIUCPF),+$G(TIUX(1202)) S TIUX(1302)=+$G(TIUX(1202))
  1. S:$G(TIUX(1301)) TIUX(1301)=+TIUX(1301)
  1. M @FDARR=TIUX
  1. D FILE^DIE(FLAGS,"FDA","TIUMSG")
  1. I $D(TIUMSG)>9 S SUCCESS=0_U_$G(TIUMSG("DIERR",1,"TEXT",1)) Q
  1. S SUCCESS=TIUDA
  1. I '+$G(SUPPRESS) D
  1. . N DA
  1. . S DA=TIUDA
  1. . S TIUCMMTX=$$COMMIT^TIULC1(+$G(^TIU(8925,+TIUDA,0)))
  1. . K ^TIU(8925,"ASAVE",DUZ,TIUDA)
  1. Q
  1. SETXT0(TIUDA) ; Set root node of "TEMP" WP-field
  1. N TIUC,TIUI S (TIUC,TIUI)=0
  1. F S TIUI=$O(^TIU(8925,TIUDA,"TEMP",TIUI)) Q:+TIUI'>0 D
  1. . S:$D(^TIU(8925,TIUDA,"TEMP",TIUI,0)) TIUC=TIUC+1
  1. S ^TIU(8925,TIUDA,"TEMP",0)="^^"_TIUC_U_TIUC_U_DT_"^^"
  1. Q
  1. VSTRBLD(VSIT) ; Given Visit ien, build Visit-Descriptor String
  1. Q ;Patch 371 - PB - stopping this code block from running as CCRA doesn't link to a visit at this time, however leaving
  1. ; the code in case we need to track and update the visit in the future.
  1. N TIUY,VSIT0,VLOC,VDT,VSVCAT
  1. S VSIT0=$G(^AUPNVSIT(+VSIT,0)),VDT=+$P(VSIT0,U),VLOC=+$P(VSIT0,U,22)
  1. S VSVCAT=$P(VSIT0,U,7)
  1. S TIUY=VLOC_";"_VDT_";"_VSVCAT
  1. Q TIUY
  1. GETREC(DFN,TIU,TITLE,TIUNEW) ; Get/create document record
  1. N DA,DIC,DIE,DLAYGO,DR,X,Y,TIUDPRM,TIUFPRIV,TIUHIT,TIUSCAT
  1. S (TIUHIT,DA)=0,TIUFPRIV=1
  1. S (DIC,DLAYGO)=8925,DIC(0)="FL"
  1. S X=""""_"`"_+TITLE_"""" D ^DIC K DIC("S")
  1. I +Y'>0 Q Y_U_" Insufficient data to create a new record."
  1. S DA=+Y,TIUNEW=+$P(Y,U,3)
  1. N DIE,DR,TIUVISIT S DIE=8925
  1. S TIUVISIT=$S(+$G(TIU("VISIT")):+$G(TIU("VISIT")),1:"")
  1. S TIUSCAT=$S(+$L($P($G(TIU("CAT")),U)):$P($G(TIU("CAT")),U),+$L($P($G(TIU("VSTR")),";",3)):$P($G(TIU("VSTR")),";",3),1:"")
  1. S DR=".04////"_$$DOCCLASS^TIULC1(+$P(Y,U,2))_";.13////"_TIUSCAT_";1205////"_$P($G(TIU("LOC")),U)_";1211////"_$P($G(TIU("VLOC")),U)_";1212////"_$P($G(TIU("INST")),U)
  1. D ^DIE
  1. Q +$G(DA)
  1. SIGNDOC(TIUDA) ;
  1. N TIUDEL
  1. I $G(TIU("COMP"))="LA",'+TIU("EC") D
  1. . I '+$G(TIU("SIGNED")),'+$G(TIU("CSIGNED")) D Q
  1. . . I TIU("AVAIL")'="AV" D DELDOC(TIUDA),ERR("TIU","","2100.040","SIGNATURE DATE[TIME] missing from HL7 message & availability not 'AV'; document has been deleted.")
  1. . I +TIU("SIGNED") D
  1. . . N TIUACT,TIUAUTH,TIUES,TIUSTAT S TIUACT="SIGNATURE",TIUAUTH=$$CANDO^TIULP(TIUDA,TIUACT,TIU("AUDA")) I '+TIUAUTH D
  1. . . . D ERR("TIU","15","0000.000",$P(TIUAUTH,U,2)) I TIU("AVAIL")="AV" Q
  1. . . . S TIUDEL=1 D ERR("TIU","","0000.000","Legal authentication failed & availability not 'AV'; document has been deleted.")
  1. . . I '+$G(TIUDEL) S TIUES=1_U_$$GET1^DIQ(200,TIU("AUDA"),20.2)_U_$$GET1^DIQ(200,TIU("AUDA"),20.3)
  1. . . I '+$G(TIUDEL) D ES(TIUDA,TIUES,"",TIU("AUDA"))
  1. . . I '+$G(TIUDEL) S TIUSTAT=$P($G(^TIU(8925,TIUDA,0)),U,5) I TIUSTAT<6,TIU("AVAIL")'="AV" D
  1. . . . S TIUDEL=1 D ERR("TIU","","0000.000","Legal authentication failed & availability not 'AV'; document has been deleted.")
  1. . I +TIU("CSIGNED") D
  1. . . N TIUACT,TIUAUTH,TIUES,TIUSTAT S TIUACT="COSIGNATURE",TIUAUTH=$$CANDO^TIULP(TIUDA,TIUACT,TIU("CSDA")) I '+TIUAUTH D
  1. . . . D ERR("TIU","29","0000.000",$P(TIUAUTH,U,2)) I TIU("AVAIL")="AV" Q
  1. . . . S TIUDEL=1 D ERR("TIU","29","0000.000","Legal authentication failed & availability not 'AV'; document has been deleted.")
  1. . . I '+$G(TIUDEL) S TIUES=1_U_$$GET1^DIQ(200,TIU("CSDA"),20.2)_U_$$GET1^DIQ(200,TIU("CSDA"),20.3)
  1. . . I '+$G(TIUDEL) D ES^TIURS(TIUDA,TIUES,"",TIU("CSDA"))
  1. . . I '+$G(TIUDEL) S TIUSTAT=$P($G(^TIU(8925,TIUDA,0)),U,5) I TIUSTAT'=7,TIU("AVAIL")'="AV" D
  1. . . . S TIUDEL=1 D ERR("TIU","29","0000.000","Legal authentication failed & availability not 'AV'; document has been deleted.")
  1. I +$G(TIUDEL) D DELDOC(TIUDA)
  1. Q
  1. DELDOC(TIUDA) ;
  1. N ERR
  1. D DELETE^TIUSRVP(.ERR,TIUDA,"",1)
  1. Q
  1. ERR(TIUSEG,TIUP,TIUNUM,TIUTXT) ;
  1. S TIU("EC")=TIU("EC")+1
  1. S @TIUNAME@("MSGERR",TIU("EC"))="ERR"_TIUFS_TIUSEG_TIUFS_TIUP_TIUFS_TIUFS_TIUNUM_TIUCS_TIUTXT
  1. Q
  1. ES(DA,TIUES,TIUI,TIUESIG) ; ^DIE call for /es/
  1. N SIGNER,DR,DIE,ESDT,TIUSTAT,TIUSTNOW,COSIGNER,SVCHIEF,CSREQ,TIUPRINT
  1. N CSNEED,TIUTTL,TIUPSIG,TIUDPRM,DAO,TIUSTWAS,TIUSTIS,DAORIG,TIUCHNG
  1. S TIUSTWAS=$P($G(^TIU(8925,DA,0)),U,5) S:'+$G(TIUESIG) TIUESIG=DUZ
  1. D DOCPRM^TIULC1(+$G(^TIU(8925,+DA,0)),.TIUDPRM,DA)
  1. S TIUSTAT=$P($G(^TIU(8925,+DA,0)),U,5),ESDT=$$NOW^TIULC
  1. S SVCHIEF=+$$ISA^USRLM(TIUESIG,"CLINICAL SERVICE CHIEF")
  1. S SIGNER=$P(^TIU(8925,+DA,12),U,4),COSIGNER=$P(^(12),U,8),CSREQ=0
  1. S CSNEED=+$P($G(^TIU(8925,+DA,15)),U,6)
  1. I +CSNEED,(TIUESIG'=COSIGNER),'+$G(SVCHIEF),(TIUSTAT'=6) S CSREQ=1
  1. I TIUSTAT=5 D
  1. . S DR=".05////"_$S(+CSREQ:6,1:7)_";1501////"_ESDT_";1502////"_+TIUESIG
  1. . I '+$G(CSREQ),+CSNEED,$S(TIUESIG=COSIGNER:1,+$G(SVCHIEF):1,1:0) D
  1. . . S DR=DR_";1506////0;1507////"_ESDT_";1508////"_+TIUESIG_";1509///^S X=$P(TIUES,U,2);1510///^S X=$P(TIUES,U,3);1511////E"
  1. I TIUSTAT=6 S DR=".05////7;1506////0;1507////"_ESDT_";1508////"_+TIUESIG
  1. Q:'$D(DR)
  1. S DIE=8925 D ^DIE
  1. I TIUSTAT=5 S DR="1503///^S X=$P(TIUES,U,2);1504///^S X=$P(TIUES,U,3);1505////E"
  1. I TIUSTAT=6 D
  1. . N TIUSBY S DR="",TIUSBY=$P($G(^TIU(8925,+DA,15)),U,2)
  1. . I +TIUSBY>0 S DR="1503///^S X=$$SIGNAME^TIULS("_TIUSBY_");1504///^S X=$$SIGTITL^TIULS("_TIUSBY_");"
  1. . S DR=$G(DR)_"1509///^S X=$P(TIUES,U,2);1510///^S X=$P(TIUES,U,3);1511////E"
  1. S DIE=8925 D ^DIE S:'+$G(TIUCHNG) TIUCHNG=1
  1. D SEND^TIUALRT(DA),SIGNIRT^TIUDIRT(+DA)
  1. S DAORIG=DA
  1. I +$$ISADDNDM^TIULC1(DA) S DA=+$P($G(^TIU(8925,+DA,0)),U,6)
  1. I +$G(CSREQ)'>0 D MAIN^TIUPD(DA,"S") I 1
  1. I +$P(^TIU(8925,+DA,0),U,11) D REMFLAG^TIUVSIT(+DA)
  1. I $D(^TIU(8925,+DA,0)),$P(^(0),U,3)'>0,($P(^(0),U,13)="E"!($$BROKER^XWBLIB)) D
  1. . N D0,DFN,TIU,TIUVSIT
  1. . ;Try to link docmt to an existing visit, quit if successful
  1. . I $$LNKVST^TIUPXAP3(DA,.TIUVSIT) Q
  1. . ;Otherwise set TIU array and DFN to use TIU API which calls PCE
  1. . ;to resolve multiple visits or creates a new visit
  1. . D GETTIU^TIULD(.TIU,DA)
  1. . S DFN=$P($G(^TIU(8925,+DA,0)),U,2)
  1. . D QUE^TIUPXAP1
  1. ; post-signature action
  1. N TIUCONS S TIUCONS=-1
  1. D ISCNSLT^TIUCNSLT(.TIUCONS,+$G(^TIU(8925,DA,0)))
  1. I TIUCONS S DA=DAORIG
  1. S TIUSTIS=$P($G(^TIU(8925,DA,0)),U,5)
  1. S TIUTTL=+$G(^TIU(8925,+DA,0)),TIUPSIG=$$POSTSIGN^TIULC1(TIUTTL)
  1. I +$L(TIUPSIG),'+$G(CSREQ) X TIUPSIG
  1. I TIUCONS,TIUSTIS=7,TIUSTWAS<7,$$HASKIDS^TIUSRVLI(DA) D
  1. . N SEQUENCE,TIUKIDS,TIUINT,TIUK
  1. . S SEQUENCE="D",TIUKIDS="TIUKIDS",TIUINT=0,TIUK=0
  1. . D SETKIDS^TIUSRVLI(TIUKIDS,DA,TIUINT)
  1. . F S TIUK=$O(TIUKIDS(TIUK)) Q:'TIUK D
  1. . . I $P(TIUKIDS(TIUK),U,7)="completed" X TIUPSIG
  1. N GMRCA,GMRCAD,GMRCDUZ,GMRCMT,GMRCO,GMRCSTS,GMRCDA
  1. ;Patch 354 - PB - link the note or addendum to the consult then update the status of the consult to the original status
  1. D POST^TIUCNSLT(+DA,"ACTIVE")
  1. S GMRCO=$G(CONSULTID),GMRCSTS=ORIGSTAT,GMRCA=3 ;PB - Sep 23 - changed to use CONSULTID for the lookup
  1. D STATUS^GMRCP
  1. S GMRCAD=$$NOW^XLFDT
  1. S DA=$$SETDA^GMRCGUIB ;7223
  1. S GMRCMT(1)="HSRM added a note and reset the status.",GMRCDUZ=$G(TIU("AUDA")),GMRCAD=""
  1. D SETCOM^GMRCGUIB(.GMRCMT,GMRCDUZ) ;ICR 7223
  1. ;PB - Feb 16, 2022 - patch 349 added code to add a comment to the consult activity log
  1. N COMMENT,NOTEDT
  1. S COMMENT(1)=$G(CFNOTE),NOTEDT=$$NOW^XLFDT,GMRCDA=CONSULTID ;PB - Sep 23 - Patch 356 changed to use CONSULTID for the lookup
  1. D CMT^GMRCGUIB(GMRCDA,.COMMENT,GMRCDUZ,NOTEDT,GMRCDUZ) ;icr 2980
  1. Q
  1. POST(TIUDA) ;Patch 354 - PB - link the note or addendum to the consult then update the status of the consult to the original status
  1. N GMRCO,GMRCSTS,GMRCA
  1. S GMRCA=3,GMRCO=$P($P(^TIU(8925,TIUDA,14),"^",5),";",1)
  1. S GMRCSTS=$$GET1^DIQ(123,GMRCO_",",8,"I") ;ICR 3983
  1. D STATUS^GMRCP
  1. S DA=TIUDA
  1. Q
  1. POST1(TIUDA) ;Patch 354 - PB - link the note or addendum to the consult then update the status of the consult to the original status
  1. N GMRCO,GMRCSTS,GMRCA
  1. S GMRCO=+$P($G(^TIU(8925,+TIUDA,14)),U,5),GMRCSTS=$$GET1^DIQ(123,GMRCO_",",8,"I"),GMRCA=3 ;ICR 3983
  1. D POST^TIUCNSLT(DA,"INCOMPLETE")
  1. D STATUS^GMRCP
  1. Q
  1. GETLOC(CONSERV) ;
  1. ;gets the location for the visit from the consult service default clinic
  1. N VLOCX,IENS
  1. I CONSERV="" Q 0
  1. S IENS="1,"_CONSERV_"," S VLOCX=$$GET1^DIQ(123.56,IENS,.01,"I")
  1. S IENS=CONSERV_","
  1. I $G(VLOCX)="" S VLOCX=$$CHECKLST^TIUCCHL7UT($$GET1^DIQ(123.5,IENS,.01,"E"))
  1. Q VLOCX