Home   Package List   Routine Alphabetical List   Global Alphabetical List   FileMan Files List   FileMan Sub-Files List   Package Component Lists   Package-Namespace Mapping  
Routine: BJPNPEDT

BJPNPEDT.m

Go to the documentation of this file.
  1. BJPNPEDT ;GDIT/HS/BEE-Prenatal Care Module PIP Edit Calls ; 08 May 2012 12:00 PM
  1. ;;2.0;PRENATAL CARE MODULE;**7**;Feb 24, 2015;Build 53
  1. ;
  1. Q
  1. ;
  1. SSET(DATA,PRBIEN,STAT) ;EP - BJPN SET IPL STATUS
  1. ;
  1. ;Update the IPL status from the PIP
  1. ;
  1. NEW UID,II,TMP,STAT2,IPLUPD,ERROR,CLASS,VAPR,DFN,RESULT
  1. ;
  1. S UID=$S($G(ZTSK):"Z"_ZTSK,1:$J)
  1. S DATA=$NA(^TMP("BJPNPEDT",UID))
  1. K @DATA
  1. I $G(DT)=""!($G(U)="") D DT^DICRW
  1. ;
  1. S II=0
  1. NEW $ESTACK,$ETRAP S $ETRAP="D ERR^BJPNPEDT D UNWIND^%ZTER" ; SAC 2009 2.2.3.17
  1. ;
  1. S @DATA@(II)="T00001RESULT^T00100ERROR_MESSAGE"_$C(30)
  1. ;
  1. ;Input validation
  1. I $G(PRBIEN)="" S II=II+1,@DATA@(II)="-1^MISSING PRBIEN"_$C(30) G XSSET
  1. I $G(STAT)="" S II=II+1,@DATA@(II)="-1^MISSING STATUS"_$C(30) G XSSET
  1. ;
  1. S DFN=$$GET1^DIQ(9000011,PRBIEN_",",.02,"I")
  1. ;
  1. ;Reset CLASS value and handle personal history
  1. S CLASS="@"
  1. I STAT="Personal History" S CLASS="P",STAT="Inactive"
  1. ;
  1. S STAT2=$S(STAT="Chronic":"A",STAT="Inactive":"I",STAT="Sub-acute":"S",STAT="Episodic":"E",STAT="Social/Environmental":"O",STAT="Routine/Admin":"R",STAT="Admin":"R",1:"E")
  1. S VAPR=$S(STAT2="A":"C",STAT2="S":"C",STAT2="O":"C",STAT2="E":"A",1:"@")
  1. S IPLUPD(9000011,PRBIEN_",",.14)=DUZ
  1. S IPLUPD(9000011,PRBIEN_",",.03)=$$NOW^XLFDT
  1. S IPLUPD(9000011,PRBIEN_",",.12)=STAT2
  1. S IPLUPD(9000011,PRBIEN_",",.04)=CLASS
  1. S IPLUPD(9000011,PRBIEN_",",1.14)=VAPR
  1. D FILE^DIE("","IPLUPD","ERROR")
  1. ;
  1. S RESULT="1^"
  1. I $D(ERROR) S RESULT="0^Unable to update IPL status"
  1. S II=II+1,@DATA@(II)=RESULT_$C(30)
  1. ;
  1. ;Broadcast update
  1. D FIREEV^BJPNPDET("","PCC."_DFN_".PIP")
  1. ;
  1. XSSET S II=II+1,@DATA@(II)=$C(31)
  1. Q
  1. ;
  1. DSET(DATA,PRBIEN,ONSDT) ;EP - BJPN SET DATE OF ONSET
  1. ;
  1. ;Update the IPL date of onset from the PIP
  1. ;
  1. NEW UID,II,TMP,IPLUPD,ERROR,DFN
  1. ;
  1. S UID=$S($G(ZTSK):"Z"_ZTSK,1:$J)
  1. S DATA=$NA(^TMP("BJPNPEDT",UID))
  1. K @DATA
  1. I $G(DT)=""!($G(U)="") D DT^DICRW
  1. ;
  1. S II=0
  1. NEW $ESTACK,$ETRAP S $ETRAP="D ERR^BJPNPEDT D UNWIND^%ZTER" ; SAC 2009 2.2.3.17
  1. ;
  1. S @DATA@(II)="T00001RESULT^T00100ERROR_MESSAGE"_$C(30)
  1. ;
  1. ;Input validation
  1. I $G(PRBIEN)="" S II=II+1,@DATA@(II)="-1^MISSING PRBIEN"_$C(30) G XDSET
  1. ;
  1. S DFN=$$GET1^DIQ(9000011,PRBIEN_",",.02,"I")
  1. ;
  1. ;Convert the Date of Onset to internal
  1. I ONSDT]"" D S ONSDT=$$CVTDATE^BGOUTL(ONSDT)
  1. . NEW MONTH
  1. . I ONSDT?4N S ONSDT="3"_$E(ONSDT,3,4)_"0000" Q ;Year only
  1. . I $L(ONSDT,"/")=2 D Q ;Month and Year
  1. .. S:$L($P(ONSDT,"/"))=1 ONSDT="0"_ONSDT
  1. .. S ONSDT="3"_$E($P(ONSDT,"/",2),3,4)_$P(ONSDT,"/")_"00" Q ;Month/Year
  1. . S:ONSDT]"" ONSDT=$$DATE^BJPNPRUT($P(ONSDT," "))
  1. S:ONSDT="" ONSDT="@"
  1. ;
  1. S IPLUPD(9000011,PRBIEN_",",.14)=DUZ
  1. S IPLUPD(9000011,PRBIEN_",",.03)=$$NOW^XLFDT
  1. S IPLUPD(9000011,PRBIEN_",",.13)=ONSDT
  1. D FILE^DIE("","IPLUPD","ERROR")
  1. ;
  1. S RESULT="1^"
  1. I $D(ERROR) S RESULT="0^Unable to update IPL Date of Onset"
  1. S II=II+1,@DATA@(II)=RESULT_$C(30)
  1. ;
  1. ;Broadcast update
  1. D FIREEV^BJPNPDET("","PCC."_DFN_".PIP")
  1. ;
  1. XDSET S II=II+1,@DATA@(II)=$C(31)
  1. Q
  1. ;
  1. ERR ;
  1. D ^%ZTER
  1. NEW Y,ERRDTM
  1. S Y=$$NOW^XLFDT() X ^DD("DD") S ERRDTM=Y
  1. S II=II+1,@DATA@(II)=$C(31)
  1. Q