- SCMCCV6 ;BP/CMF - PCMM HL7 Baseline Xmit to AAC ; March 26, 2000
- ;;5.3;Scheduling;**212**;AUG 13, 1993
- ;
- ;Traverse PATIENT TEAM POSITION ASSIGNMENT file (#404.43)
- ;and create events in file (#404.48) for all entries that meet
- ;the following criteria:
- ; 1. Field PC ROLE=1 ;..Primary Care
- ; -- and one of the following --
- ; 2a. assignment is active as of SD*5.3*212 run date (now!)
- ; 2b. assignment was active as of SD*5.3*177 install date
- ; 2c. assignment was active between 2a and 2b
- ;
- ;
- W !,"This is not an interactive entry point."
- W !,"This routine should only be executed by IRM staff"
- W !," -- ONCE --"
- W !,"using Taskman to Queue option 'PCMM BASELINE SEEDING'"
- W !,"to run during a non-busy period."
- Q
- ;
- EN(SCTST,SCDFN) ;
- ; entry point for option 'SCMC PCMM BASELINE SEEDING'
- ; this option should not be on any users menu
- ; this option should be queued to run once
- ; it should not be run more than once without consulting NVS
- ;
- ; input
- ; SCTST - 1 = test [default = 0]
- ; SCDFN - Patient IEN used to seed for restarts only [default = 0]
- ;
- S SCTST=+$G(SCTST,0)
- S SCDFN=+$G(SCDFN,0)
- N SCP177 ; patch 177 install date
- N SCP212 ; patch 212 run date
- N SC1,SC2 ; message holders
- N SCARRAY ; message text array
- N SCSTIM ; process start time
- S SCSTIM=$$HTE^XLFDT($H)
- S SC1="PCMM PC Baseline Seed Process Aborted:"
- ;
- I $$VPATCH^SCUTBK3("SD*5.3*177")=0 D Q
- . S SC2=" PCMM Patch 'SD*5.3*177' has not been loaded!"
- . D MSG(SC1,SC2)
- . Q
- ;
- I $$VPROGMR^SCUTBK3()=0 D Q
- . S SC2=" User must have 'XUPROG' key!"
- . D MSG(SC1,SC2)
- . Q
- ;
- S SCP212=$$CHECK()
- I SCP212'="" D Q
- . I +SCP212 D Q
- . . S SC2=" PCMM Baseline seeded on "_$$FMTE^XLFDT(SCP212)_"."
- . . D MSG(SC1,SC2)
- . . Q
- . I SCP212=-1 D Q
- . . S SC2=" Missing PCMM Parameter file entry."
- . . D MSG(SC1,SC2)
- . . Q
- . I SCP212=-2 D Q
- . . S SC2=" FM Error retrieving data from PCMM Parameter file."
- . . D MSG(SC1,SC2)
- . . Q
- . S SC2=" Undefined Error."
- . D MSG(SC1,SC2)
- . Q
- ;
- S SCP177=$$PDAT^SCMCGU("SD*5.3*177")
- I +SCP177=0 D Q
- . S SC2=" Unable to obtain SD*5.3*177 Installation Date."
- . D MSG(SC1,SC2)
- . Q
- ;
- I $$BASELINE(SCP177,DT,SCDFN,SCTST)'=1 D Q
- . S SC2=" PCMM PC Baseline failed"_$$FMTE^XLFDT($$NOW^XLFDT)_"."
- . D MSG(SC1,SC2)
- . Q
- ;
- Q
- ;
- BASELINE(SCP177,SCP212,SCPDFN,SCPTST) ;
- ; input
- ; SCP177 = Patch 177 date (required)
- ; SCP212 = Patch 212 date (optional, default = today)
- ; SCPDFN = Patient ien (optional, default = 0)
- ; SCPTST = 1 := test [default = 0]
- ;
- ; output
- ; 1 = success
- ; 0 = failure
- ;
- N SCFLAG,SC1,SC2
- S SC1="PCMM PC Baseline Process Failure:"
- S SC177=$G(SCP177,"")
- I SC177="" D Q 0
- . S SC2=" Invalid SD*5.3*177 Date Parameter"
- . D MSG(SC1,SC2)
- . Q
- S SC212=$G(SCP212,DT)
- I SC212="" D Q 0
- . S SC2=" Invalid SD*5.3*212 Date (DT) Parameter"
- . D MSG(SC1,SC2)
- . Q
- S SCDFN=$G(SCPDFN,0)
- I SCDFN="" D Q 0
- . S SC2=" Invalid DFN Parameter"
- . D MSG(SC1,SC2)
- . Q
- I '$D(^SCPT(404.43,"APCPOS")) D Q 0
- . S SC2=" Missing ""APCPOS"" x-ref in file 404.43!"
- . D MSG(SC1,SC2)
- . Q
- ;
- S SCTST=+$G(SCPTST,0)
- S SCFLAG=$$EVENT(SC177,SC212,SCDFN,SCTST)
- ;
- I SCTST=1 D MSG("","",+SCFLAG) Q 1
- N SCFDA,SCERR,SC1,SC2
- S SC1="PCMM PC Baseline Seeding"
- S SC2=+$P(SCFLAG,U,2)
- S SCFLAG=+$P(SCFLAG,U)
- S SC1=SC1_$S(+SC2:" stopped by TM stop request:",1:" completed:")
- S SCFDA(1,404.44,"1,",17)=SC212
- D FILE^DIE("","SCFDA(1)","SCERR")
- I $D(SCERR) D
- . S SC2=" Caution: Baseline Date NOT updated in PCMM Parameter file"
- . D MSG(SC1,SC2)
- . Q
- S SC2=" "_SCFLAG_" assignments placed in HL7 transmission queue."
- D MSG(SC1,SC2)
- Q 1
- ;
- CHECK() ;
- ; Description: Determine whether or not the Baseline has run.
- ;
- ; Input: None
- ;
- ; Output:
- ; Function Value: Return date Baseline was run
- ;
- N SCX
- I '$D(^SCTM(404.44,1)) Q -1
- K ^TMP($J,"SCMCCV6")
- S SCX=$$GET1^DIQ(404.44,"1,",17,"I","","^TMP($J,""SCMCCV6"")")
- I $D(^TMP($J,"SCMCCV6")) S SCX=-2
- K ^TMP($J,"SCMCCV6")
- Q SCX
- ;
- ;
- EVENT(SC177,SC212,SCDFN,SCTST) ;
- ; Description: Create an Event in file (#404.48)
- ;
- ; Input:
- ; SC177 - date patch SD*5.3*177 was installed. [required]
- ; SC212 - date process runs [default = DT]
- ; SCDFN - patient ien (ptr file 2) [default = 0]
- ; SCTST - 1 = test [default = 0]
- ;
- ; Output:
- ; p1 = number of entries created
- ; p2 = stopped by Taskman
- ;
- N SCCNT ; counter
- N SCPAI ; position assignment IEN (ptr file 404.43)
- N SCTP ; team position IEN (ptr file 404.57)
- N SCADT ; position assignment start date
- N SCDDT ; position assignment end date
- N SCNOW ; time process starts
- N SCVAR ; variable pointer string for HL7
- N SC1 ; shorthand for ' "APCPOS",SCDFN,1 ' node
- N SCZ ; Taskman flag to stop process
- ;
- ; check for ZSTOP
- S SCZ=$$S^%ZTLOAD
- I +SCZ Q 0_U_1
- S SCTST=+$G(SCTST,0)
- K ^XTMP("SCMCCV6")
- S ^XTMP("SCMCCV6",0)=DT_U_$$FMADD^XLFDT(""_DT_"",7)_U_"SCMC PCMM BASELINE SEEDING"
- S SCNOW=$$NOW^XLFDT
- S SCCNT=0
- S SCDFN=+SCDFN
- F S SCDFN=$O(^SCPT(404.43,"APCPOS",SCDFN)) Q:(SCDFN="")!(SCZ) D
- . S SCZ=$$S^%ZTLOAD
- . Q:+SCZ
- . ;
- . S ^XTMP("SCMCCV6","LASTDFN")=SCDFN
- . S SC1="^SCPT(404.43,""APCPOS"",SCDFN,1)"
- . ;
- . ; quit if no PC assignments
- . Q:'$D(@SC1)
- . S SCADT=0
- . F S SCADT=$O(@SC1@(SCADT)) Q:SCADT="" D
- . . S SCTP=0
- . . F S SCTP=$O(@SC1@(SCADT,SCTP)) Q:'SCTP D
- . . . ;
- . . . ; quit if team position does not exist
- . . . Q:'$D(^SCTM(404.57,SCTP,0))
- . . . S SCPAI=0
- . . . F S SCPAI=$O(@SC1@(SCADT,SCTP,SCPAI)) Q:'SCPAI D
- . . . . S SCDDT=$P($G(^SCPT(404.43,SCPAI,0)),U,4)
- . . . . ;
- . . . . ; quit if not active within date range
- . . . . Q:$$DTCHK^SCAPU1(SC177,SC212,0,SCADT,SCDDT)<1
- . . . . S SCVAR=SCPAI_";SCPT(404.43,"
- . . . . ;
- . . . . ; add to HL7 event file
- . . . . Q:$$CHECK^SCMCHLB1(SCVAR)'=1
- . . . . ;
- . . . . ; queue for transmit or report
- . . . . I SCTST=0 D ADD^SCMCHLE("NOW",SCVAR,SCDFN,SCTP)
- . . . . I SCTST=1 S SCARRAY(SCCNT+3)=SCVAR_" ^ "_$$GET1^DIQ(2,SCDFN_",",.01)_" ^ "_$$GET1^DIQ(404.57,SCTP_",",.01)_" ^ "_$$FMTE^XLFDT(SCADT)_" ^ "_$$FMTE^XLFDT(SCDDT)
- . . . . ;
- . . . . ; increment counter
- . . . . S SCCNT=SCCNT+1
- . . . . Q
- . . . Q
- . . Q
- . Q
- ;
- Q SCCNT_U_SCZ
- ;
- MSG(SC1,SC2,SCTST) ;
- N XMY,XMDUZ,XMSUB,XMTEXT
- S SCTST=+$G(SCTST,0)
- S XMDUZ="PCMM Module"
- S (XMY(DUZ),XMY(XMDUZ))=""
- I SCTST=0 D
- . S XMSUB="PCMM PC Baseline Seeding Job"
- . K SCARRAY
- . S SCARRAY(1)=""
- . S SCARRAY(2)=SC1
- . S SCARRAY(3)=SC2
- . S SCARRAY(4)=""
- . S SCARRAY(5)="TaskMan Job Number: "_$G(ZTSK)
- . S SCARRAY(6)="Baseline Start Date/Time: "_$G(SCSTIM)
- . S SCARRAY(7)="Baseline End Date/Time: "_$$HTE^XLFDT($H)
- . S SCARRAY(8)="HL7 Transmit Limit: "_$$GET1^DIQ(404.44,"1,",15)
- . S SCARRAY(9)=""
- . Q
- E D
- . S XMSUB="PCMM PC Baseline Trial Entries ("_$G(ZTSK)_")"
- . S SCARRAY(1)=""
- . S SCARRAY(2)=SCTST_" entries would have been placed in HL7 queue:"
- . S SCARRAY(3)="==================================================="
- S XMTEXT="SCARRAY("
- D ^XMD
- Q
- ;
- RESTART(SCTST) ; alb/rpm
- ; This undocumented entry point allows a user to clear the Baseline
- ; date stored in file #404.44 field #17. Then the last patient IEN
- ; that was processed from the last run is retrieved from ^XTMP("SCMCCV6"
- ; and decremented to seed the restart point. If ^XTMP does not exist
- ; the IEN is set to 0.
- ;
- ; Input:
- ; SCTST - 1 = test [default = 0]
- ;
- S SCTST=+$G(SCTST,0)
- ;
- NEW SC1,SC2,SCDFA,SCDFN,SCERR
- S SC1="PCMM PC Baseline Seeding"
- S SCDFN=0
- ; Retrieve the last IEN processed
- I +$G(^XTMP("SCMCCV6","LASTDFN"))>0 D
- . S SCDFN=+$G(^XTMP("SCMCCV6","LASTDFN"))-1
- ; Delete the Baseline date from last run
- S SCFDA(1,404.44,"1,",17)="@"
- D FILE^DIE("","SCFDA(1)","SCERR")
- I $D(SCERR) D Q
- . S SC2=" Warning: Baseline Date NOT cleared in PCMM Parameter file"
- . D MSG(SC1,SC2)
- . Q
- ; Call interactive entry point
- D EN(SCTST,SCDFN)
- Q
- --- Routine Detail --- with STRUCTURED ROUTINE LISTING ---[H[J[2J[HSCMCCV6 8153 printed Jan 18, 2025@03:41:13 Page 2
- SCMCCV6 ;BP/CMF - PCMM HL7 Baseline Xmit to AAC ; March 26, 2000
- +1 ;;5.3;Scheduling;**212**;AUG 13, 1993
- +2 ;
- +3 ;Traverse PATIENT TEAM POSITION ASSIGNMENT file (#404.43)
- +4 ;and create events in file (#404.48) for all entries that meet
- +5 ;the following criteria:
- +6 ; 1. Field PC ROLE=1 ;..Primary Care
- +7 ; -- and one of the following --
- +8 ; 2a. assignment is active as of SD*5.3*212 run date (now!)
- +9 ; 2b. assignment was active as of SD*5.3*177 install date
- +10 ; 2c. assignment was active between 2a and 2b
- +11 ;
- +12 ;
- +13 WRITE !,"This is not an interactive entry point."
- +14 WRITE !,"This routine should only be executed by IRM staff"
- +15 WRITE !," -- ONCE --"
- +16 WRITE !,"using Taskman to Queue option 'PCMM BASELINE SEEDING'"
- +17 WRITE !,"to run during a non-busy period."
- +18 QUIT
- +19 ;
- EN(SCTST,SCDFN) ;
- +1 ; entry point for option 'SCMC PCMM BASELINE SEEDING'
- +2 ; this option should not be on any users menu
- +3 ; this option should be queued to run once
- +4 ; it should not be run more than once without consulting NVS
- +5 ;
- +6 ; input
- +7 ; SCTST - 1 = test [default = 0]
- +8 ; SCDFN - Patient IEN used to seed for restarts only [default = 0]
- +9 ;
- +10 SET SCTST=+$GET(SCTST,0)
- +11 SET SCDFN=+$GET(SCDFN,0)
- +12 ; patch 177 install date
- NEW SCP177
- +13 ; patch 212 run date
- NEW SCP212
- +14 ; message holders
- NEW SC1,SC2
- +15 ; message text array
- NEW SCARRAY
- +16 ; process start time
- NEW SCSTIM
- +17 SET SCSTIM=$$HTE^XLFDT($HOROLOG)
- +18 SET SC1="PCMM PC Baseline Seed Process Aborted:"
- +19 ;
- +20 IF $$VPATCH^SCUTBK3("SD*5.3*177")=0
- Begin DoDot:1
- +21 SET SC2=" PCMM Patch 'SD*5.3*177' has not been loaded!"
- +22 DO MSG(SC1,SC2)
- +23 QUIT
- End DoDot:1
- QUIT
- +24 ;
- +25 IF $$VPROGMR^SCUTBK3()=0
- Begin DoDot:1
- +26 SET SC2=" User must have 'XUPROG' key!"
- +27 DO MSG(SC1,SC2)
- +28 QUIT
- End DoDot:1
- QUIT
- +29 ;
- +30 SET SCP212=$$CHECK()
- +31 IF SCP212'=""
- Begin DoDot:1
- +32 IF +SCP212
- Begin DoDot:2
- +33 SET SC2=" PCMM Baseline seeded on "_$$FMTE^XLFDT(SCP212)_"."
- +34 DO MSG(SC1,SC2)
- +35 QUIT
- End DoDot:2
- QUIT
- +36 IF SCP212=-1
- Begin DoDot:2
- +37 SET SC2=" Missing PCMM Parameter file entry."
- +38 DO MSG(SC1,SC2)
- +39 QUIT
- End DoDot:2
- QUIT
- +40 IF SCP212=-2
- Begin DoDot:2
- +41 SET SC2=" FM Error retrieving data from PCMM Parameter file."
- +42 DO MSG(SC1,SC2)
- +43 QUIT
- End DoDot:2
- QUIT
- +44 SET SC2=" Undefined Error."
- +45 DO MSG(SC1,SC2)
- +46 QUIT
- End DoDot:1
- QUIT
- +47 ;
- +48 SET SCP177=$$PDAT^SCMCGU("SD*5.3*177")
- +49 IF +SCP177=0
- Begin DoDot:1
- +50 SET SC2=" Unable to obtain SD*5.3*177 Installation Date."
- +51 DO MSG(SC1,SC2)
- +52 QUIT
- End DoDot:1
- QUIT
- +53 ;
- +54 IF $$BASELINE(SCP177,DT,SCDFN,SCTST)'=1
- Begin DoDot:1
- +55 SET SC2=" PCMM PC Baseline failed"_$$FMTE^XLFDT($$NOW^XLFDT)_"."
- +56 DO MSG(SC1,SC2)
- +57 QUIT
- End DoDot:1
- QUIT
- +58 ;
- +59 QUIT
- +60 ;
- BASELINE(SCP177,SCP212,SCPDFN,SCPTST) ;
- +1 ; input
- +2 ; SCP177 = Patch 177 date (required)
- +3 ; SCP212 = Patch 212 date (optional, default = today)
- +4 ; SCPDFN = Patient ien (optional, default = 0)
- +5 ; SCPTST = 1 := test [default = 0]
- +6 ;
- +7 ; output
- +8 ; 1 = success
- +9 ; 0 = failure
- +10 ;
- +11 NEW SCFLAG,SC1,SC2
- +12 SET SC1="PCMM PC Baseline Process Failure:"
- +13 SET SC177=$GET(SCP177,"")
- +14 IF SC177=""
- Begin DoDot:1
- +15 SET SC2=" Invalid SD*5.3*177 Date Parameter"
- +16 DO MSG(SC1,SC2)
- +17 QUIT
- End DoDot:1
- QUIT 0
- +18 SET SC212=$GET(SCP212,DT)
- +19 IF SC212=""
- Begin DoDot:1
- +20 SET SC2=" Invalid SD*5.3*212 Date (DT) Parameter"
- +21 DO MSG(SC1,SC2)
- +22 QUIT
- End DoDot:1
- QUIT 0
- +23 SET SCDFN=$GET(SCPDFN,0)
- +24 IF SCDFN=""
- Begin DoDot:1
- +25 SET SC2=" Invalid DFN Parameter"
- +26 DO MSG(SC1,SC2)
- +27 QUIT
- End DoDot:1
- QUIT 0
- +28 IF '$DATA(^SCPT(404.43,"APCPOS"))
- Begin DoDot:1
- +29 SET SC2=" Missing ""APCPOS"" x-ref in file 404.43!"
- +30 DO MSG(SC1,SC2)
- +31 QUIT
- End DoDot:1
- QUIT 0
- +32 ;
- +33 SET SCTST=+$GET(SCPTST,0)
- +34 SET SCFLAG=$$EVENT(SC177,SC212,SCDFN,SCTST)
- +35 ;
- +36 IF SCTST=1
- DO MSG("","",+SCFLAG)
- QUIT 1
- +37 NEW SCFDA,SCERR,SC1,SC2
- +38 SET SC1="PCMM PC Baseline Seeding"
- +39 SET SC2=+$PIECE(SCFLAG,U,2)
- +40 SET SCFLAG=+$PIECE(SCFLAG,U)
- +41 SET SC1=SC1_$SELECT(+SC2:" stopped by TM stop request:",1:" completed:")
- +42 SET SCFDA(1,404.44,"1,",17)=SC212
- +43 DO FILE^DIE("","SCFDA(1)","SCERR")
- +44 IF $DATA(SCERR)
- Begin DoDot:1
- +45 SET SC2=" Caution: Baseline Date NOT updated in PCMM Parameter file"
- +46 DO MSG(SC1,SC2)
- +47 QUIT
- End DoDot:1
- +48 SET SC2=" "_SCFLAG_" assignments placed in HL7 transmission queue."
- +49 DO MSG(SC1,SC2)
- +50 QUIT 1
- +51 ;
- CHECK() ;
- +1 ; Description: Determine whether or not the Baseline has run.
- +2 ;
- +3 ; Input: None
- +4 ;
- +5 ; Output:
- +6 ; Function Value: Return date Baseline was run
- +7 ;
- +8 NEW SCX
- +9 IF '$DATA(^SCTM(404.44,1))
- QUIT -1
- +10 KILL ^TMP($JOB,"SCMCCV6")
- +11 SET SCX=$$GET1^DIQ(404.44,"1,",17,"I","","^TMP($J,""SCMCCV6"")")
- +12 IF $DATA(^TMP($JOB,"SCMCCV6"))
- SET SCX=-2
- +13 KILL ^TMP($JOB,"SCMCCV6")
- +14 QUIT SCX
- +15 ;
- +16 ;
- EVENT(SC177,SC212,SCDFN,SCTST) ;
- +1 ; Description: Create an Event in file (#404.48)
- +2 ;
- +3 ; Input:
- +4 ; SC177 - date patch SD*5.3*177 was installed. [required]
- +5 ; SC212 - date process runs [default = DT]
- +6 ; SCDFN - patient ien (ptr file 2) [default = 0]
- +7 ; SCTST - 1 = test [default = 0]
- +8 ;
- +9 ; Output:
- +10 ; p1 = number of entries created
- +11 ; p2 = stopped by Taskman
- +12 ;
- +13 ; counter
- NEW SCCNT
- +14 ; position assignment IEN (ptr file 404.43)
- NEW SCPAI
- +15 ; team position IEN (ptr file 404.57)
- NEW SCTP
- +16 ; position assignment start date
- NEW SCADT
- +17 ; position assignment end date
- NEW SCDDT
- +18 ; time process starts
- NEW SCNOW
- +19 ; variable pointer string for HL7
- NEW SCVAR
- +20 ; shorthand for ' "APCPOS",SCDFN,1 ' node
- NEW SC1
- +21 ; Taskman flag to stop process
- NEW SCZ
- +22 ;
- +23 ; check for ZSTOP
- +24 SET SCZ=$$S^%ZTLOAD
- +25 IF +SCZ
- QUIT 0_U_1
- +26 SET SCTST=+$GET(SCTST,0)
- +27 KILL ^XTMP("SCMCCV6")
- +28 SET ^XTMP("SCMCCV6",0)=DT_U_$$FMADD^XLFDT(""_DT_"",7)_U_"SCMC PCMM BASELINE SEEDING"
- +29 SET SCNOW=$$NOW^XLFDT
- +30 SET SCCNT=0
- +31 SET SCDFN=+SCDFN
- +32 FOR
- SET SCDFN=$ORDER(^SCPT(404.43,"APCPOS",SCDFN))
- if (SCDFN="")!(SCZ)
- QUIT
- Begin DoDot:1
- +33 SET SCZ=$$S^%ZTLOAD
- +34 if +SCZ
- QUIT
- +35 ;
- +36 SET ^XTMP("SCMCCV6","LASTDFN")=SCDFN
- +37 SET SC1="^SCPT(404.43,""APCPOS"",SCDFN,1)"
- +38 ;
- +39 ; quit if no PC assignments
- +40 if '$DATA(@SC1)
- QUIT
- +41 SET SCADT=0
- +42 FOR
- SET SCADT=$ORDER(@SC1@(SCADT))
- if SCADT=""
- QUIT
- Begin DoDot:2
- +43 SET SCTP=0
- +44 FOR
- SET SCTP=$ORDER(@SC1@(SCADT,SCTP))
- if 'SCTP
- QUIT
- Begin DoDot:3
- +45 ;
- +46 ; quit if team position does not exist
- +47 if '$DATA(^SCTM(404.57,SCTP,0))
- QUIT
- +48 SET SCPAI=0
- +49 FOR
- SET SCPAI=$ORDER(@SC1@(SCADT,SCTP,SCPAI))
- if 'SCPAI
- QUIT
- Begin DoDot:4
- +50 SET SCDDT=$PIECE($GET(^SCPT(404.43,SCPAI,0)),U,4)
- +51 ;
- +52 ; quit if not active within date range
- +53 if $$DTCHK^SCAPU1(SC177,SC212,0,SCADT,SCDDT)<1
- QUIT
- +54 SET SCVAR=SCPAI_";SCPT(404.43,"
- +55 ;
- +56 ; add to HL7 event file
- +57 if $$CHECK^SCMCHLB1(SCVAR)'=1
- QUIT
- +58 ;
- +59 ; queue for transmit or report
- +60 IF SCTST=0
- DO ADD^SCMCHLE("NOW",SCVAR,SCDFN,SCTP)
- +61 IF SCTST=1
- SET SCARRAY(SCCNT+3)=SCVAR_" ^ "_$$GET1^DIQ(2,SCDFN_",",.01)_" ^ "_$$GET1^DIQ(404.57,SCTP_",",.01)_" ^ "_$$FMTE^XLFDT(SCADT)_" ^ "_$$FMTE^XLFDT(SCDDT)
- +62 ;
- +63 ; increment counter
- +64 SET SCCNT=SCCNT+1
- +65 QUIT
- End DoDot:4
- +66 QUIT
- End DoDot:3
- +67 QUIT
- End DoDot:2
- +68 QUIT
- End DoDot:1
- +69 ;
- +70 QUIT SCCNT_U_SCZ
- +71 ;
- MSG(SC1,SC2,SCTST) ;
- +1 NEW XMY,XMDUZ,XMSUB,XMTEXT
- +2 SET SCTST=+$GET(SCTST,0)
- +3 SET XMDUZ="PCMM Module"
- +4 SET (XMY(DUZ),XMY(XMDUZ))=""
- +5 IF SCTST=0
- Begin DoDot:1
- +6 SET XMSUB="PCMM PC Baseline Seeding Job"
- +7 KILL SCARRAY
- +8 SET SCARRAY(1)=""
- +9 SET SCARRAY(2)=SC1
- +10 SET SCARRAY(3)=SC2
- +11 SET SCARRAY(4)=""
- +12 SET SCARRAY(5)="TaskMan Job Number: "_$GET(ZTSK)
- +13 SET SCARRAY(6)="Baseline Start Date/Time: "_$GET(SCSTIM)
- +14 SET SCARRAY(7)="Baseline End Date/Time: "_$$HTE^XLFDT($HOROLOG)
- +15 SET SCARRAY(8)="HL7 Transmit Limit: "_$$GET1^DIQ(404.44,"1,",15)
- +16 SET SCARRAY(9)=""
- +17 QUIT
- End DoDot:1
- +18 IF '$TEST
- Begin DoDot:1
- +19 SET XMSUB="PCMM PC Baseline Trial Entries ("_$GET(ZTSK)_")"
- +20 SET SCARRAY(1)=""
- +21 SET SCARRAY(2)=SCTST_" entries would have been placed in HL7 queue:"
- +22 SET SCARRAY(3)="==================================================="
- End DoDot:1
- +23 SET XMTEXT="SCARRAY("
- +24 DO ^XMD
- +25 QUIT
- +26 ;
- RESTART(SCTST) ; alb/rpm
- +1 ; This undocumented entry point allows a user to clear the Baseline
- +2 ; date stored in file #404.44 field #17. Then the last patient IEN
- +3 ; that was processed from the last run is retrieved from ^XTMP("SCMCCV6"
- +4 ; and decremented to seed the restart point. If ^XTMP does not exist
- +5 ; the IEN is set to 0.
- +6 ;
- +7 ; Input:
- +8 ; SCTST - 1 = test [default = 0]
- +9 ;
- +10 SET SCTST=+$GET(SCTST,0)
- +11 ;
- +12 NEW SC1,SC2,SCDFA,SCDFN,SCERR
- +13 SET SC1="PCMM PC Baseline Seeding"
- +14 SET SCDFN=0
- +15 ; Retrieve the last IEN processed
- +16 IF +$GET(^XTMP("SCMCCV6","LASTDFN"))>0
- Begin DoDot:1
- +17 SET SCDFN=+$GET(^XTMP("SCMCCV6","LASTDFN"))-1
- End DoDot:1
- +18 ; Delete the Baseline date from last run
- +19 SET SCFDA(1,404.44,"1,",17)="@"
- +20 DO FILE^DIE("","SCFDA(1)","SCERR")
- +21 IF $DATA(SCERR)
- Begin DoDot:1
- +22 SET SC2=" Warning: Baseline Date NOT cleared in PCMM Parameter file"
- +23 DO MSG(SC1,SC2)
- +24 QUIT
- End DoDot:1
- QUIT
- +25 ; Call interactive entry point
- +26 DO EN(SCTST,SCDFN)
- +27 QUIT