1 | DGPMEVT ;ALB/RMO - MAS MOVEMENT EVENT DRIVER; 26 DEC 89 ; 2/2/04 3:18pm
|
---|
2 | ;;5.3;Registration;**61,574**;Aug 13, 1993
|
---|
3 | ;
|
---|
4 | ;Required Variables:
|
---|
5 | ; DFN = Patient's IFN
|
---|
6 | ; DGPMDA = Movement's IFN
|
---|
7 | ; DGPMP = 0 Node of Primary Movement PRIOR to Add/Edit/Delete
|
---|
8 | ; DGPMA = 0 Node of Primary Movement AFTER Add/Edit/Delete
|
---|
9 | ; DGQUIET = If $G(DGQUIET) then the read/writes should not
|
---|
10 | ; occur (optional)
|
---|
11 | ;
|
---|
12 | K DTOUT,DIROUT
|
---|
13 | ; **************************************************************
|
---|
14 | ;-- establish visit & set pt movement ptr
|
---|
15 | I $P($G(^DIC(150.9,1,0)),U,2)["1" D VISIT
|
---|
16 | ; **************************************************************
|
---|
17 | N OROLD D INP^VADPT S X=$O(^ORD(101,"B","DGPM MOVEMENT EVENTS",0))_";ORD(101,"
|
---|
18 | I $P(X,";",1)="" D ERR K VAIN Q
|
---|
19 | D EN1^XQOR K VAIN,X
|
---|
20 | Q
|
---|
21 | ;
|
---|
22 | ERR ;
|
---|
23 | W !,"Serious error ! DGPM MOVEMENT EVENTS protocol not found"
|
---|
24 | W !,"in Protocol file #101. No events fired !"
|
---|
25 | W !
|
---|
26 | Q
|
---|
27 | ;
|
---|
28 | VISIT ;-- create visit file entry for new admissions
|
---|
29 | ;
|
---|
30 | ;-- Loop through ^UTILITY for admissions, if no prior movement
|
---|
31 | ; then new admission. This will capture admissions for ASIH.
|
---|
32 | N DGX,DGY
|
---|
33 | S DGX=""
|
---|
34 | F S DGX=$O(^UTILITY("DGPM",$J,1,DGX)) Q:'DGX D
|
---|
35 | . I $G(^UTILITY("DGPM",$J,1,DGX,"A"))]"",$G(^("P"))="" S DGY=^("A") D
|
---|
36 | .. S DGY=$$NEW(DGX,DGY)
|
---|
37 | .. S ^UTILITY("DGPM",$J,1,DGX,"A")=DGY
|
---|
38 | .. S:DGPMDA=DGX DGPMA=DGY
|
---|
39 | K VSIT
|
---|
40 | Q
|
---|
41 | ;
|
---|
42 | NEW(DGPM,DGPMA) ; --- add a new entry, new admit
|
---|
43 | ; INPUT : DGPM - IEN of admission movement
|
---|
44 | ; DGPMA - Oth node of admission movement
|
---|
45 | K VSIT
|
---|
46 | ;
|
---|
47 | ;-- define admission
|
---|
48 | ;
|
---|
49 | ;--location
|
---|
50 | I $D(^DIC(42,+$P(DGPMA,"^",6),44)) S VSIT("LOC")=+^(44)
|
---|
51 | I $D(VSIT("LOC")),'$D(^SC(+VSIT("LOC"),0)) K VSIT("LOC")
|
---|
52 | ;
|
---|
53 | ;--eligibility
|
---|
54 | S VSIT("ELG")=$S(+$P(DGPMA,U,20):+$P(DGPMA,U,20),1:+$G(^DPT($P(DGPMA,U,3),.36)))
|
---|
55 | G:'VSIT("ELG") NEWQ
|
---|
56 | ;
|
---|
57 | ;-- get vt ien
|
---|
58 | S VSIT=+DGPMA,VSIT(0)="F",VSIT("SVC")="H"
|
---|
59 | D ^VSIT
|
---|
60 | ;
|
---|
61 | ;-- add the vt entry to the admission
|
---|
62 | I +$G(VSIT("IEN")) D
|
---|
63 | . S DIE="^DGPM(",DA=+DGPM,DR=".27////"_+VSIT("IEN") D ^DIE
|
---|
64 | . K DIC,DIE,DA,DR
|
---|
65 | . S $P(DGPMA,"^",27)=+VSIT("IEN")
|
---|
66 | ;
|
---|
67 | NEWQ ;
|
---|
68 | K VSIT
|
---|
69 | Q DGPMA
|
---|
70 | ;
|
---|