1 | DGPMV321 ;ALB/MIR - ASIH TRANSFER ; 10 DEC 89 @9
|
---|
2 | ;;5.3;Registration;**40,208,713**;Aug 13, 1993
|
---|
3 | ECA ;Edit corresponding admission for ASIH transfers
|
---|
4 | S DGPMTN=DGPMA,DGPMNI=DGPMCA D FINDLAST^DGPMV32
|
---|
5 | S DGPMNA=0,DGPMAA=$P(DGPMA,"^",15) I '$D(^DGPM(+DGPMAA,0)) D NEW S DGPMNA=1,DIE("NO^")=""
|
---|
6 | W !,"Editing Corresponding Hospital Admission",!
|
---|
7 | I 'DGPMNA,$D(^DGPM(+DGPMAA,0)) S DA=$P(^(0),"^",16) I $D(^DGPT(+DA,0)) S DIE="^DGPT(",DR="2////"_+DGPMA_";20;" K DQ,DG D ^DIE W ! ;update admission d/t in PTF
|
---|
8 | ;update pseudo discharge
|
---|
9 | S X1=+DGPMAB,X2=30 D C^%DTC
|
---|
10 | I 'DGPMNA,(+DGPMA'=+DGPMP) S DA=$P(DGPMAN,"^",17) I $D(^DGPM(+DA,0)) S ^UTILITY("DGPM",$J,3,DA,"P")=$S($D(^UTILITY("DGPM",$J,3,DA,"P")):^("P"),1:^DGPM(DA,0)),DIE="^DGPM(",DR=".01///"_X K DQ,DG D ^DIE S ^UTILITY("DGPM",$J,3,DA,"A")=^DGPM(DA,0)
|
---|
11 | S DA=DGPMAA,DR="[DGPM ASIH ADMIT]",DIE="^DGPM(" I $D(^DGPM(+DA,0)) S ^UTILITY("DGPM",$J,1,DA,"P")=$S($D(^UTILITY("DGPM",$J,1,DA,"P")):^("P"),1:^DGPM(DA,0)) S:DGPMN DIE("NO^")="" K DQ,DG D ^DIE S ^UTILITY("DGPM",$J,1,DA,"A")=^DGPM(DA,0)
|
---|
12 | I '$P(^DGPM(DGPMDA,0),"^",6) D UNDO^DGPMV322 Q
|
---|
13 | S:$D(Y) DGPMOUT=1 S Y=DGPMAA_"^1" D:'DGPMOUT SPEC^DGPMV36
|
---|
14 | I '$D(^DGPM("APHY",DGPMAA)) D UNDO^DGPMV322 Q
|
---|
15 | ; DG*713 - send admission bulletin
|
---|
16 | D ^DGPMVBUR
|
---|
17 | K DGPMAA,DGPMAB,DGPMNA,DGPMPTF Q
|
---|
18 | UHD ;Update hospital discharge and PTF record
|
---|
19 | S X=("^"_$P(DGPM0,"^",18)_"^") G:"^43^45^"[X DEL Q:"^13^44^"'[X
|
---|
20 | ;Update hospital discharge
|
---|
21 | G DEL:(+DGPMA=+DGPMP)
|
---|
22 | S DA=$S($D(^DGPM(+$P(DGPM0,"^",15),0)):$P(^(0),"^",17),1:0)
|
---|
23 | I $D(^DGPM(+DA,0)) S ^UTILITY("DGPM",$J,3,DA,"P")=$S($D(^UTILITY("DGPM",$J,3,DA,"P")):^("P"),1:^DGPM(DA,0)),DR=".01///"_+DGPMA_";102////"_DUZ_";103///NOW",DIE="^DGPM(" K DQ,DG D ^DIE S ^UTILITY("DGPM",$J,3,DA,"A")=^DGPM(DA,0)
|
---|
24 | I +DGPMP'=+DGPMA S DA=$P(^DGPM(+$P(DGPM0,"^",15),0),"^",16) I $D(^DGPT(+DA,0)) S DIE="^DGPT(",DR="70////"_+DGPMA K DQ,DG D ^DIE ;update discharge date for hospital PTF
|
---|
25 | DEL ;conditionally delete WHILE ASIH or DISCHARGE FROM NHCU/DOM WHILE ASIH discharge if no longer ASIH
|
---|
26 | I DGPMTYP="^14^",$P(DGPMAN,U,17) D
|
---|
27 | . N X
|
---|
28 | . S X=$G(^DGPM(+$P(DGPMAN,U,17),0)) ; discharge node
|
---|
29 | . I $P(X,"^",18)'=42,($P(X,"^",18)'=47) Q ; not WHILE ASIH or DISCHARGE FROM NHCU/DOM WHILE ASIH
|
---|
30 | . S X=9999999.9999999-+X ; inverse date of discharge movement
|
---|
31 | . S X=$O(^DGPM("APMV",DFN,DGPMCA,X)),X=$O(^(+X,0)) ; last movement ien
|
---|
32 | . S X=$P($G(^DGPM(+X,0)),"^",18) I "^13^43^44^45^"[("^"_X_"^") Q ; still actively ASIH
|
---|
33 | . S DGPMAA=DGPMAN,DGPMAI=DGPMCA
|
---|
34 | . D DEL^DGPMV331
|
---|
35 | Q
|
---|
36 | NEW ;Add new corresponding admission to file
|
---|
37 | W !!,"Creating new hospital admission"
|
---|
38 | S DGMAS=40 D FAMT^DGPMV30 ; get active mvt type for TO ASIH admission
|
---|
39 | S X=+DGPMA,DGPM0ND=+DGPMA_"^"_1_"^"_DFN_"^"_DGFAC_"^^^^^^^^^^"_DA_"^^^^^^^"_+DGPMDA_"^"_2 D NEW^DGPMV3 S DGPMAA=+Y K DGFAC
|
---|
40 | S ^UTILITY("DGPM",$J,1,+Y,"P")="",^UTILITY("DGPM",$J,1,+Y,"A")=$G(^DGPM(+Y,0))
|
---|
41 | ;
|
---|
42 | ;now update transfer movement with ASIH ADMISSION and ASIH SEQUENCE
|
---|
43 | S DIE="^DGPM(",DA=DGPMDA,DR=".15////"_DGPMAA_";.22////"_1 K DQ,DG D ^DIE
|
---|
44 | ;
|
---|
45 | ;create new PTF entry
|
---|
46 | W !,"Creating PTF record for new hospital admission",!
|
---|
47 | S Y=+DGPMA D CREATE^DGPTFCR S DGPMPTF=+Y
|
---|
48 | ;
|
---|
49 | ;update hospital admission with PTF NUMBER
|
---|
50 | S DIE="^DGPM(",DA=DGPMAA,DR=".16////"_DGPMPTF K DQ,DG I $D(^DGPM(+DA,0)) S ^UTILITY("DGPM",$J,1,DA,"P")=$S($D(^UTILITY("DGPM",$J,1,DA,"P")):^("P"),1:^DGPM(DA,0)) D ^DIE S ^UTILITY("DGPM",$J,1,DA,"A")=^DGPM(DA,0)
|
---|
51 | Q:DGPMTYP="^44^" ;if RESUME ASIH, already have 30 day discharge
|
---|
52 | ;
|
---|
53 | ASIHOF ;entry when transferring TO ASIH (OTHER FACILITY) to create 30 day discharge
|
---|
54 | ;create pseudo discharge for NHCU/DOM admission - 30 days from first transfer of TO ASIH or TO ASIH (OTHER FACILITY)
|
---|
55 | W !,"Creating 30 day pseudo discharge for NHCU/DOM admission"
|
---|
56 | S DGMAS=42 D FAMT^DGPMV30 ; get active mvt type for WHILE ASIH discharge
|
---|
57 | S X1=+DGPMAB,X2=30 D C^%DTC S DGPMPD=X,DGPM0ND=X_"^"_3_"^"_DFN_"^"_DGFAC_"^^^^^^^^^^"_+DGPMCA,Y=+$P($G(^DGPM(+DGPMCA,0)),U,17)
|
---|
58 | I $P($G(^DGPM(+Y,0)),U,4)=DGFAC D
|
---|
59 | .N DIE,DA S DIE="^DGPM(",DA=+Y N Y S DR=".01////^S X="_X D ^DIE
|
---|
60 | D:'Y NEW^DGPMV3 S DGPMAD=+Y K DGFAC
|
---|
61 | S ^UTILITY("DGPM",$J,3,+Y,"P")="",^UTILITY("DGPM",$J,3,+Y,"A")=$G(^DGPM(+Y,0))
|
---|
62 | ;
|
---|
63 | ;update NHCU/DOM PTF entry with DISCHARGE DATE, TYPE OF DISPOSITION
|
---|
64 | S DIE="^DGPT(",DA=$P(DGPMAN,"^",16),DR="70////"_DGPMPD_";72////"_1 K DQ,DG I $D(^DGPT(+DA,0)) D ^DIE
|
---|
65 | ;
|
---|
66 | ;update NHCU admission with DISCHARGE MOVEMENT
|
---|
67 | K DGPMAD,DGPMPD,DGPMPTF Q
|
---|