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
|
---|