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

SCMCCV5.m

Go to the documentation of this file.
  1. SCMCCV5 ;ALB/JAM;Allow edits of invalid .03 field in 404.52;12/1/99@1055
  1. ;;5.3;Scheduling;**204,297,1015**;DEC 01, 1999;Build 21
  1. ;
  1. EDIT ;Entry point for cnahes to .03 field in file 404.52
  1. N SCEND
  1. D HDR(0)
  1. S SCEND=0
  1. F D PROCESS I SCEND Q
  1. K DIE,^TMP("PCMM PRACTITIONER",$J),DTOUT,DUOUT,DIROUT,DR,DA,X,Y
  1. Q
  1. ;
  1. PROCESS ;Get list of invalid .03 field in file 404.52, select and then edit
  1. N SCIEN,FND
  1. K ^TMP("PCMM PRACTITIONER",$J)
  1. S FND=$$LST()
  1. I 'FND W "No Entries found" S SCEND=1 Q
  1. ;select a valid IEN to edit
  1. S SCIEN=$$GETIEN() I 'SCIEN S SCEND=1 Q
  1. ;edit .03 field
  1. REP D TPHIS(SCIEN)
  1. K DA,DR,DIE S DIE="^SCTM(404.52,",DA=SCIEN
  1. S DR=".03Practitioner" D ^DIE K DR
  1. I $D(DTOUT)!($D(DUOUT)) S SCEND=1 Q
  1. I $G(Y)<0 Q
  1. ;verify practitioner response
  1. K DA,DIR,DIROUT,DIRUT,DTOUT,DUOUT
  1. S DIR(0)="Y",DIR("A")=" ...OK",DIR("B")="Yes"
  1. S DIR("?")="Enter Yes or <RT> to accept or No to change response"
  1. D ^DIR K DIR I Y Q
  1. I $D(DTOUT)!$D(DUOUT)!($D(DIROUT)) Q
  1. G REP
  1. Q
  1. ;
  1. GETIEN() ;Select IEN from FILE 404.52
  1. N DIR,X,Y
  1. S DIR("A")="Select IEN",DIR("?")="^D LSTIEN^SCMCCV5"
  1. S DIR(0)="FO^^K:'$D(^TMP(""PCMM PRACTITIONER"",$J,X)) X"
  1. D ^DIR I $D(DIRUT) Q 0
  1. D DSP(X)
  1. Q X
  1. ;
  1. LSTIEN ;Display a list of .03 entries stored in ^TMP("PCMM PRACTITIONER",$J
  1. N IEN,SCSTP
  1. S (IEN,SCSTP)=0
  1. D HDR(1)
  1. F S IEN=$O(^TMP("PCMM PRACTITIONER",$J,IEN)) Q:'IEN D I SCSTP Q
  1. . I ($Y+3>IOSL) D I 'Y S SCSTP=1 Q
  1. . . S DIR(0)="E",DIR("A")="Enter RETURN to continue or '^' to exit"
  1. . . D ^DIR D:Y HDR(1)
  1. . D DSP(IEN)
  1. I 'SCSTP W !,?20,"To Edit, enter an IEN number from the displayed list"
  1. Q
  1. ;
  1. HDR(FL) ;Print header for list of invalid entries in file 404.52
  1. W @IOF
  1. W !,?23,$S(FL:"LIST OF",1:"EDITING")_" INVALID PRACTITIONER ENTRY",!!
  1. I FL D
  1. . W ?20,"IEN",?27,"Effective Date",?44,"Team",?68,"Status",!
  1. . W ?20,"---",?27,"--------------",?44,"----",?68,"------",!
  1. Q
  1. ;
  1. DSP(DIEN) ;Display record from file 404.52 for DIEN entry
  1. N SCDAT,SCDT,SCSTA,SCTP
  1. I $G(DIEN)="" Q
  1. S SCDAT=$G(^SCTM(404.52,DIEN,0)),Y=$P(SCDAT,U,2) X ^DD("DD") S SCDT=Y
  1. S SCTP=$P(SCDAT,U) S:SCTP'="" SCTP=$P($G(^SCTM(404.57,SCTP,0)),U)
  1. S SCSTA=$S($P(SCDAT,U,4):"Active",1:"Inactive")
  1. W ?20,DIEN,?27,SCDT,?44,$E(SCTP,1,20),?68,SCSTA,!
  1. Q
  1. ;
  1. TPHIS(SCIEN) ;Display complete position history for team position
  1. N ZDATE,ZLIST,ZERROR,SCX,SCY,TP,C,SCSTP,SCNAM
  1. S TP=$P(^SCTM(404.52,SCIEN,0),U) I TP="" Q
  1. S ZDATE("BEGIN")=1,ZDATE("END")=9999999,ZDATE("INCL")=0,SCSTP=0,C=1
  1. S SCX=$$PRTP^SCAPMC(TP,"ZDATE","ZLIST","ZERROR",0,1)
  1. I 'SCX!($D(ZERROR)) Q
  1. W !?25,"TEAM POSITION HISTORY"
  1. W !?10,"Effective Date",?30,"Staff",?54,"Status",!
  1. S SCX=0 F S SCX=$O(ZLIST("ALL",404.52,SCX)) Q:'SCX D I SCSTP Q
  1. . S SCY=ZLIST("ALL",404.52,SCX),SCNAM=$P(SCY,U,6),C=C+1
  1. . I '(C#10) S DIR(0)="E" D ^DIR W ! I 'Y S SCSTP=1 Q
  1. . W:SCNAM="" ?6,"***"
  1. . W ?10,$P(SCY,U,4),?30,$E(SCNAM,1,20),?54,$P(SCY,U,2)
  1. . W:SCNAM="" " ***" W !
  1. Q
  1. ;
  1. LST() ;Returns list of invalid entries from file #404.52 for field .03
  1. ;This subroutine checks the POSITION ASSIGNMENT HISTORY FILE (#404.52)
  1. ;for invalid pointers stored in the PRACTITIONER field (#.03) and
  1. ;returns a list of all such entries ien.
  1. ;
  1. ; Output:-
  1. ; ^TMP("PCMM PRACTITIONER",$J,IEN - Name of array to return list
  1. ; Array subsripted by ien number
  1. ; Returns - 1 if entry found, 0 no entry found
  1. ;
  1. N IEN,PRAC
  1. S IEN=0
  1. F S IEN=$O(^SCTM(404.52,IEN)) Q:'IEN I $G(^SCTM(404.52,IEN,0))'="" D
  1. . S PRAC=$P(^SCTM(404.52,IEN,0),U,3)
  1. . I PRAC'>0!('$D(^VA(200,+PRAC))) S ^TMP("PCMM PRACTITIONER",$J,IEN)="" Q
  1. . I $D(^USR(8930.3,"B",PRAC))!('$$USEUSR^SCMCTPU) Q
  1. . S ^TMP("PCMM PRACTITIONER",$J,IEN)=""
  1. Q $S($D(^TMP("PCMM PRACTITIONER",$J)):1,1:0)