CRHD5 ; CAIRO/CLC - MISC ROUTINE FOR CAIRO HAND-OFF TOOL ;20-Mar-2008 13:28;CLC ;;1.0;CRHD;****;Jan 28, 2008;Build 19 ;================================================================= SRV(CRHDY) ; RETURN LIST OF SERVICES/SECTIONS N CRHDI,CRHDIEN,CRHDNAME S CRHDI=1,CRHDNAME="" F S CRHDNAME=$O(^DIC(49,"B",CRHDNAME)) Q:CRHDNAME="" S CRHDIEN=$O(^(CRHDNAME,0)) D . S CRHDY(CRHDI)=CRHDIEN_"^"_CRHDNAME,CRHDI=CRHDI+1 Q DIV(CRHDY) ; RETURN LIST OF INSTITUTIONS N CRHDI,CRHDIEN,CRHDNAME,CRHDIVST,CRHDINA S CRHDI=1,CRHDNAME="" F S CRHDNAME=$O(^DIC(4,"B",CRHDNAME)) Q:CRHDNAME="" S CRHDIEN=$O(^(CRHDNAME,0)) D .S CRHDINA=$$GET1^DIQ(4,CRHDIEN_",",101,"I") .S CRHDIVST=$$GET1^DIQ(4,CRHDIEN_",",11,"I") .I 'CRHDINA S CRHDY(CRHDI)=CRHDIEN_"^"_CRHDNAME,CRHDI=CRHDI+1 Q SET(CRHDENT,CRHDP,CRHDS,CRHDVAL) ;Set the parameter ;D PUT^XPAR("DIV.`583","CRHD DNR ORDER TITLE",2,"Patient DNR Orders") ;CRHDENT=entity ;CRHDP=Parameter name ;CRHDS=Sequence (count) ;CRHDVAL=parameter value N CRHDERR,CRHDFG ; S CRHDFG=1 D PUT^XPAR(CRHDENT,CRHDP,+CRHDS,CRHDVAL,.CRHDERR) I CRHDERR>0 S CRHDFG=0 Q CRHDFG DEL(CRHDENT,CRHDP,CRHDS) ;Delete a parameter value N CRHDERR,CRHDFG S CRHDFG=1 D DEL^XPAR(CRHDENT,CRHDP,CRHDS,.CRHDERR) I CRHDERR>0 S CRHDFG=0 Q CRHDFG GET(CRHDRTN,CRHDENT,CRHDP) ;Get parameters from the parameter file D GETLST^XPAR(.CRHDRTN,CRHDENT,CRHDP,"E") Q DELALL(CRHDENT,CRHDP) ;Delete all instances N CRHDERR,CRHDFG S CRHDFG=1 D NDEL^XPAR(CRHDENT,CRHDP,.CRHDERR) I CRHDERR>0 S CRHDFG=0 Q CRHDFG USERDIV(CRHDRTN,CRHDDUZ) ; K CRHDRTN N CRHDX,CRHDR,CRHDC S CRHDC=0 D DIV4^XUSER(.CRHDR,CRHDDUZ) S CRHDX=0 F S CRHDX=$O(CRHDR(CRHDX)) Q:'CRHDX!($D(CRHDRTN(1))) D .I CRHDR(CRHDX)=1 S CRHDC=CRHDC+1,CRHDRTN(CRHDC)=CRHDX_"^"_$P($G(^DIC(4,+CRHDX,0)),"^",1)_"^1" K CRHDR(CRHDX) S CRHDX=0 F S CRHDX=$O(CRHDR(CRHDX)) Q:'CRHDX D .S CRHDC=CRHDC+1 .S CRHDRTN(CRHDC)=CRHDX_"^"_$P($G(^DIC(4,+CRHDX,0)),"^",1)_"^0" Q DELPREF(CRHDRTN,CRHDE) ;delete a preference N Y,X,CRHDE1,CRHDE2,CRHDE3,CRHDE4,CRHDE5,DA,DR,DIE,CRHDL N CRHDPN S CRHDRTN(1)=0 S CRHDE1=+CRHDE S CRHDE2=$P(CRHDE,"^",2) S CRHDL=$L(CRHDE,"^") S CRHDE3=$P(CRHDE,"^",CRHDL) S CRHDE4="DIV.`"_$P($P(CRHDE,"^",CRHDL),"-",2) S CRHDE5=CRHDE1_$S(CRHDE3="USR":";VA(200,",CRHDE3="OTL":";OR(100.21,",CRHDE3="DIV":";DIC(4,",CRHDE3="SRV":";DIC(49,",1:"") I CRHDE5'="" S DA=$O(^CRHD(183,"B",CRHDE5,0)) I DA D .K ^CRHD(183,DA) .K ^CRHD(183,"B",CRHDE5) .K ^CRHD(183,"AC",+CRHDE5) .;S DIE=183,DR=".01///@" D ^DIE .I '$D(^CRHD(183,"B",CRHDE5)) S CRHDRTN(1)=1 .S CRHDENT=CRHDE3_".`"_CRHDE1 .I CRHDE3="DIV" S CRHDPN(1)="CRHD DNR ORDERABLE ITEMS",CRHDPN(2)="CRHD DNR ORDER TITLE" .S CRHDX=0 .F S CRHDX=$O(CRHDPN(CRHDX)) Q:'CRHDX D ..D GETLST^XPAR(.CRHDOLST,CRHDENT,CRHDPN(CRHDX),"I") ..I $G(CRHDOLST) S CRHDFG=$$DELALL^CRHD5(CRHDENT,CRHDPN(CRHDX)) K CRHDOLST Q