[613] | 1 | SCMCLN ;swo/oifobp temp clean up routine
|
---|
| 2 | ;;5.3;Scheduling;**498**;8.13.1993;Build 23
|
---|
| 3 | ;lets clean-up danglers in 404.43 PATIENT TEAM POSITION ASSIGNMENT
|
---|
| 4 | ;1st run thru 404.43 and find the pointers to 404.42 PATIENT TEAM ASSIGNMENT
|
---|
| 5 | ;pointer is piece one of 404.43
|
---|
| 6 | N CNT1,CNT2,DA,DIK,DIR,V1,V2,V3,V4,ZNODE
|
---|
| 7 | S (CNT1,CNT2)=0
|
---|
| 8 | W !,"Checking for ""Ghost Entries"" in the PATIENT TEAM POSITION ASSIGNMENT FILE."
|
---|
| 9 | W !,"This may take a moment. You will be provided with a list showing corrupted"
|
---|
| 10 | W !,"file entries. To perform a clean-up accept the ""Yes"" prompt after the list"
|
---|
| 11 | W !,"is displayed. Answer ""No"" to abort the clean-up.",!
|
---|
| 12 | S V1=0 F S V1=$O(^SCPT(404.43,V1)) Q:'V1 D
|
---|
| 13 | . S CNT1=CNT1+1
|
---|
| 14 | . S ZNODE=$G(^SCPT(404.43,V1,0))
|
---|
| 15 | . S V2=$P(ZNODE,U) Q:V2=""
|
---|
| 16 | . S V3=$G(^SCPT(404.42,V2,0)) I V3="" D LOG
|
---|
| 17 | D SHOW Q:POP
|
---|
| 18 | I $G(CNT2)<1 W !,"Nothing to clean up...." Q
|
---|
| 19 | S DIR("?")="Answerng Yes will perform a clean-up of the ghost entries"
|
---|
| 20 | S DIR("A")="Perform File Clean-Up"
|
---|
| 21 | S DIR(0)="Y",DIR("B")="No" D ^DIR
|
---|
| 22 | I Y D DEL
|
---|
| 23 | D CLEAN
|
---|
| 24 | Q
|
---|
| 25 | LOG ;build a list in ^TMP("SCMCLN",$J
|
---|
| 26 | S ^TMP("SCMCLN",$J,V1)=""
|
---|
| 27 | S CNT2=CNT2+1
|
---|
| 28 | Q
|
---|
| 29 | SHOW ;see what we got
|
---|
| 30 | S DIOEND="D FOOT^SCMCLN"
|
---|
| 31 | S DIC="^SCPT(404.43,",L=0,BY="@.03",(FR,TO)="",FLDS="[CAPTIONED]"
|
---|
| 32 | S BY(0)="^TMP(""SCMCLN"",$J,"
|
---|
| 33 | S L(0)=1 D EN1^DIP
|
---|
| 34 | Q
|
---|
| 35 | DEL ;delete the danglers
|
---|
| 36 | ;check #404.48 -- PCMM HL7 EVENT FILE .07 field EVENT POINTER points to 404.43
|
---|
| 37 | ;variable pointer, yeck!
|
---|
| 38 | S DIK="^SCPT(404.43,"
|
---|
| 39 | S V1=0 F S V1=$O(^TMP("SCMCLN",$J,V1)) Q:'V1 D
|
---|
| 40 | .S V4=""""_V1_";SCPT(404.43,"_""""
|
---|
| 41 | .I $O(^SCPT(404.48,"AACXMIT",V4,"")) D Q ;
|
---|
| 42 | .. S ^TMP("SCMCLN2",$J,V1)=""
|
---|
| 43 | .. W !,"Pointer to HL7 EVENT file - the entry ("_V1_") was not deleted."
|
---|
| 44 | .S DA=V1
|
---|
| 45 | .D ^DIK
|
---|
| 46 | W !,"Clean-up completed",!
|
---|
| 47 | Q
|
---|
| 48 | CLEAN ;clean-up
|
---|
| 49 | K ^TMP("SCMCLN",$J)
|
---|
| 50 | K ^TMP("SCMCLN2",$J)
|
---|
| 51 | Q
|
---|
| 52 | FOOT ;footer message
|
---|
| 53 | W !,CNT1_" entries searched. Ghost entries found: "_CNT2
|
---|
| 54 | Q
|
---|
| 55 | TEST ;
|
---|
| 56 | S X=0 F S X=$O(^SCPT(404.48,X)) Q:'X D
|
---|
| 57 | . Q:($P(^SCPT(404.48,X,0),U,7)'[404.43)
|
---|
| 58 | . W ^SCPT(404.43,$P($P(^SCPT(404.48,X,0),U,7),";"),0),!
|
---|
| 59 | . Q
|
---|