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

BEHOPTP2.m

Go to the documentation of this file.
  1. BEHOPTP2 ;MSC/IND/DKM - Patient List Management ;20-Mar-2007 13:48;DKM
  1. ;;1.1;BEH COMPONENTS;**004002**;Mar 20, 2007
  1. ;=================================================================
  1. ; Retrieve a given list for a given user
  1. PLSTPTS(DATA,NAME) ;EP
  1. N TMP,ERR,CNT,LP,DFN,PTNM
  1. S DATA(1)="^No patients found.",(CNT,LP)=0
  1. D GETWP^XPAR(.TMP,"ALL",$$PARAM,$$GETNAME(NAME),.ERR)
  1. F S LP=$O(TMP(LP)) Q:'LP D
  1. .S DFN=+TMP(LP,0)
  1. .I DFN D
  1. ..S PTNM=$$GET1^DIQ(2,DFN_",",".01")
  1. ..S:$L(PTNM) CNT=CNT+1,DATA(CNT)=DFN_U_PTNM
  1. Q
  1. ; Retrieve a list of personal lists for a user
  1. PLSTLST(DATA) ;EP
  1. N ERR,LP
  1. S LP=0
  1. D GETLST^XPAR(.DATA,"ALL",$$PARAM,"Q",.ERR)
  1. F S LP=$O(DATA(LP)) Q:'LP S $P(DATA(LP),U)=$$GETIEN($P(DATA(LP),U,2))
  1. Q
  1. ; List management API
  1. MANAGE(DATA,ACTION,NAME,VAL) ;EP
  1. S DATA=$$VALIDATE(.NAME,ACTION="C")
  1. Q:DATA
  1. I ACTION="C" D SETLST(.DATA,NAME) Q
  1. I ACTION="R" D RENLST(.DATA,NAME,.VAL) Q
  1. I ACTION="S" D SETLST(.DATA,NAME,.VAL) Q
  1. I ACTION="D" D DELLST(.DATA,NAME) Q
  1. S DATA="-1^Unknown action"
  1. Q
  1. ; Validate list name
  1. VALIDATE(NAME,DUP) ;
  1. N L
  1. S NAME=$$TRIM^CIAU(NAME),L=$L(NAME),DUP=+$G(DUP)
  1. Q:L<3!(L>30) "-1^List name must be 3-30 characters in length."
  1. Q:NAME'?.(1A,1N,1"_",1" ") "-1^List name contains invalid characters."
  1. I DUP,$$GETIEN(NAME) Q "-1^List name already exists."
  1. I 'DUP,'$$GETIEN(NAME) Q "-1^List name not found."
  1. Q ""
  1. ; Rename existing list
  1. ; OLD - Existing Instance name (aka list name)
  1. ; NEW - New list name
  1. RENLST(DATA,OLD,NEW) ;EP
  1. S DATA=$$VALIDATE(NEW,1)
  1. D:'DATA REP^XPAR("USR",$$PARAM,$$GETNAME(OLD),NEW,.DATA)
  1. D:'DATA CHG^XPAR("USR",$$PARAM,NEW,NEW,.DATA)
  1. Q
  1. ; Set List
  1. SETLST(DATA,NAME,VAL) ;EP
  1. Q:'$L(NAME)
  1. S:NAME=+NAME NAME=$$GETNAME(NAME)
  1. S VAL=NAME
  1. S:$D(VAL)'=11 VAL(1,0)=""
  1. D EN^XPAR("USR",$$PARAM,NAME,.VAL,.DATA)
  1. Q
  1. ; Delete list
  1. ; NAME - List Name
  1. DELLST(DATA,NAME) ;EP
  1. D DEL^XPAR("USR",$$PARAM,$$GETNAME(NAME),.DATA)
  1. Q
  1. ; Return parameter name/ien
  1. PARAM(X) Q $S($G(X):$$FIND1^DIC(8989.51,,,$$PARAM),1:"BEHOPTPL PERSONAL LIST")
  1. ; Return IEN to file 8989.5
  1. GETIEN(NAME) ;
  1. Q $S(NAME=+NAME:NAME,1:$O(^XTV(8989.5,"AC",$$PARAM(1),+DUZ_";VA(200,",NAME,0)))
  1. ; Returns instance name for 8989.5 IEN
  1. GETNAME(IEN) ;
  1. Q $S(IEN=+IEN:$$GET1^DIQ(8989.5,IEN_",",.03),1:IEN)