DGMTDD ;ALB/RMO,CAW,CJM,LBD,PHH - Annual Means Test file (#408.31) Data Dictionary Calls ; 2/10/2005 9:12am ;;5.3;Registration;**33,182,411,456,618**;Aug 13, 1993 ; CUR ;Cross-reference on the Status field (#.03) ;to update the Current Means Test Status field (#.14) ;in the Patient file (#2) N DFN,DGCS,DGDT,DGIX,DGMTI,DGMTS,DGNAM S DFN=$P($G(^DGMT(408.31,DA,0)),U,2),DGCS=$P($G(^DPT(DFN,0)),U,14),(DGDT,DGMTS)="" ; S DGNAM=$P($G(^DPT(DFN,0)),"^",1) Q:DGNAM="" Q:'$D(^DPT("B",DGNAM)) ; S DGMTI=+$$MTIENLT^DGMTU3(1,DFN,"") I $D(^DGMT(408.31,DGMTI,0)) S DGMTS=$P(^(0),U,3) G CURQ:DGCS=DGMTS I DGCS]"" D .N DA,X .S DA=DFN,X=DGCS,DGIX=0 .F S DGIX=$O(^DD(2,.14,1,DGIX)) Q:'DGIX X ^(DGIX,2) S X=DGCS S $P(^DPT(DFN,0),U,14)=DGMTS I DGMTS]"" D .N DA,X .S DA=DFN,X=DGMTS,DGIX=0 .F S DGIX=$O(^DD(2,.14,1,DGIX)) Q:'DGIX X ^(DGIX,1) S X=DGMTS CURQ Q ; COM ;Input Transform check of the Completion date/time field (#.07) N DGDT,DGMT0,XMB,XMDUZ S DGMT0=$G(^DGMT(408.31,DA,0)) I X<+DGMT0 W !?5,"The completion date/time cannot be before the date of test." K X I $D(X) S DGDT=+$O(^DGMT(408.31,"AD",$P(DGMT0,U,19),$P(DGMT0,U,2),+DGMT0)) I DGDT,X'$G(DGTHA)) Y=1 ..S:((DGTSRC="VAMC")&(DGOMTS=4)) Y=0 .I DGMTS=6 D ..S:DGTHPF!(DGINT>$G(DGTHA)&(DGINT>$G(DGTHG))) Y=1 ..S:(DGOMTS=2)&($G(DGTHG)>$G(DGTHA)) Y=0 ..S:((DGTSRC="VAMC")&(DGOMTS=4)) Y=0 .I DGMTS=16 D ..S:$G(DGTHG)>$G(DGTHA)&(DGTHPF!(DGINT>$G(DGTHA))) Y=1 ..S:((DGTSRC="VAMC")&(DGOMTS=4)) Y=0 I DGMTYPT=2 D .I DGMTS=7 S Y=1 .I DGMTS=8 S Y=1 .I DGMTS=9 S Y=1 .I DGMTS=10 S Y=0 .I DGMTS=11 S Y=0 Q +$G(Y) ; STOPAUTO(DA) ; ;This is the kill logic for an xref on the Test Determined Status field. ;If the status changes, and there is a linked test via the Linked ;Rx Copay/Means Test field, the Test Determined Status of the linked ;test should be deleted. ; ;Input - DA is the ien of a test in the Annual Means Test file ;Output - none ; N LINKEDMT Q:'$G(DA) S LINKEDMT=$P($G(^DGMT(408.31,DA,2)),"^",6) I LINKEDMT D .S $P(^DGMT(408.31,LINKEDMT,2),"^",2)=$$NOW^XLFDT .S $P(^DGMT(408.31,LINKEDMT,2),"^",3)="" Q