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

EDPBCF.m

Go to the documentation of this file.
  1. EDPBCF ;SLC/KCM - Display Board Configuration ; 3/29/23 12:17pm
  1. ;;2.0;EMERGENCY DEPARTMENT;**6,23**;Feb 24, 2012;Build 4
  1. ;
  1. LOAD(AREA) ; Load General Configuration for an Area
  1. N I,NODE
  1. ;
  1. D XML^EDPX("<colorMaps>")
  1. D COLORS^EDPBCM
  1. D XML^EDPX("</colorMaps>")
  1. D LOAD^EDPBCM(AREA) ; load the color spec
  1. ;
  1. D LOAD^EDPBRM(AREA) ; load rooms/beds
  1. D DFLTRM^EDPBRM(AREA) ; load multi rooms
  1. ;
  1. D LOAD^EDPBPM(AREA) ; load parameters
  1. ;
  1. D XML^EDPX("<columnList>") ; load available columns
  1. F I=1:1 S NODE=$P($T(COLUMNS+I),";",3,99) Q:$E(NODE,1,5)="zzzzz" D
  1. . N X
  1. . S X("label")=$P(NODE,U)
  1. . S X("att")=$P(NODE,U,2)
  1. . S X("header")=$P(NODE,U,3)
  1. . S X("width")=50
  1. . D XML^EDPX($$XMLA^EDPX("col",.X))
  1. D XML^EDPX("</columnList>")
  1. ;
  1. D CHOICES^EDPBRM ; load 'display when' choices
  1. ;
  1. N EDPSCRNS D GETLST^XPAR(.EDPSCRNS,"ALL","EDPF SCREEN SIZES","I")
  1. D XML^EDPX("<screenSizes>")
  1. S I=0 F S I=$O(EDPSCRNS(I)) Q:'I D
  1. . S EDPSCRNS(I)=$TR(EDPSCRNS(I),"X","x")
  1. . N X
  1. . S X("label")=EDPSCRNS(I)
  1. . S X("width")=$P(EDPSCRNS(I),"x")
  1. . S X("height")=$P(EDPSCRNS(I),"x",2)
  1. . D XML^EDPX($$XMLA^EDPX("size",.X))
  1. D XML^EDPX("</screenSizes>")
  1. Q
  1. LOADBRD(AREA,IEN) ; Load Named Board Spec
  1. N I,X,TOKEN
  1. S:'IEN IEN=$O(^EDPB(231.9,AREA,4,0)) Q:'IEN
  1. ;
  1. D READL^EDPBLK(AREA,"board",.TOKEN) ; read lock the board config
  1. D LOAD^EDPBPM(AREA) ;Load Parameters *23
  1. D XML^EDPX("<boardToken>"_TOKEN_"</boardToken>")
  1. D BRDLST(AREA)
  1. S X("boardID")=IEN,X("boardName")=$P(^EDPB(231.9,AREA,4,IEN,0),U)
  1. D XML^EDPX($$XMLA^EDPX("spec",.X,""))
  1. S I=0 F S I=$O(^EDPB(231.9,AREA,4,IEN,1,I)) Q:'I D
  1. . D XML^EDPX(^EDPB(231.9,AREA,4,IEN,1,I,0))
  1. D XML^EDPX("</spec>")
  1. D READU^EDPBLK(AREA,"board",.TOKEN) ; read unlock the board config
  1. Q
  1. BRDLST(AREA) ; List of boards
  1. N I,X
  1. D XML^EDPX("<boards>")
  1. S I=0 F S I=$O(^EDPB(231.9,AREA,4,I)) Q:'I D
  1. . S X=$P(^EDPB(231.9,AREA,4,I,0),U)
  1. . D XML^EDPX($$XMLS^EDPX("board",I,X))
  1. D XML^EDPX("</boards>")
  1. Q
  1. SAVEBRD(REQ) ; Save Configuration
  1. N X,AREA,DFLTNM
  1. S X="col-",AREA=$G(REQ("area",1)),DFLTNM="Main (default)"
  1. I 'AREA D SAVERR^EDPX("fail","Missing area") Q
  1. ;
  1. N NAME,IEN,WP,MSG
  1. S NAME=$G(REQ("boardName",1)),IEN=+$G(REQ("boardID",1))
  1. I (IEN>0),($P(^EDPB(231.9,AREA,4,IEN,0),U)=DFLTNM),(NAME'=DFLTNM) D Q
  1. . D SAVERR^EDPX("fail","Default name may not be changed.")
  1. I NAME="" D Q
  1. . D SAVERR^EDPX("fail","Missing name")
  1. I (IEN=0),$O(^EDPB(231.9,AREA,4,"B",NAME,0)) D Q
  1. . D SAVERR^EDPX("fail","Board name must be unique")
  1. ;
  1. ; save XML spec as word processing
  1. N TOKEN,LOCKERR
  1. S TOKEN=$G(REQ("boardToken",1))
  1. D SAVEL^EDPBLK(AREA,"board",.TOKEN,.LOCKERR) ; save board config -- LOCK
  1. I $L(LOCKERR) D SAVERR^EDPX("collide",LOCKERR),LOADBRD(AREA,IEN) Q
  1. ;
  1. F S X=$O(REQ(X)) Q:$E(X,1,4)'="col-" S WP(+$P(X,"-",2))=REQ(X,1)
  1. D UPDBRD(AREA,.IEN,NAME,.WP,.MSG)
  1. D SAVEU^EDPBLK(AREA,"board",.TOKEN) ; save board config -- UNLOCK
  1. ;
  1. I $L(MSG) D SAVERR^EDPX("fail",MSG) Q
  1. D UPDLAST(AREA) ; update last config save date
  1. ;
  1. D XML^EDPX("<save status='ok' boardID='"_+IEN_"' />")
  1. D LOADBRD(AREA,+IEN)
  1. Q
  1. UPDLAST(AREA) ; update last config save date
  1. N FDA,FDAIEN,DIERR
  1. S FDA(231.9,AREA_",",.03)=$$NOW^XLFDT
  1. D FILE^DIE("","FDA","ERR")
  1. D CLEAN^DILF
  1. Q
  1. UPDBRD(AREA,EDPIEN,NAME,SPEC,MSG) ; Add/Update a Spec
  1. S MSG=""
  1. S:'EDPIEN EDPIEN="+1" S EDPIEN=EDPIEN_","_AREA_","
  1. ;
  1. N FDA,FDAIEN,DIERR,ERR
  1. S FDA(231.94,EDPIEN,.01)=NAME
  1. I $E(EDPIEN,1,2)="+1" D
  1. . D UPDATE^DIE("","FDA","FDAIEN","ERR")
  1. E D
  1. . D FILE^DIE("","FDA","ERR")
  1. I $D(DIERR) S MSG="save board name failed: "_$G(EDPIEN)
  1. I '$D(DIERR) D
  1. . I $E(EDPIEN,1,2)="+1" S EDPIEN=+FDAIEN(1)_","_AREA_","
  1. . D WP^DIE(231.94,EDPIEN,1,"","SPEC")
  1. . I $D(DIERR) S MSG="save board spec failed: "_$G(EDPIEN)
  1. D CLEAN^DILF
  1. Q
  1. ;bwf - 3/1/2013 removed below lines from column list per request from Dr. T
  1. ;;Patient X9999^@last4^Patient
  1. ;;Alerts^@alerts^Alerts
  1. COLUMNS ;; Available Columns
  1. ;;Room / Bed^@bedNm^Room
  1. ;;Patient Name^@ptNm^Patient
  1. ;;Visit Created^@visit^Visit
  1. ;;Clinic^@clinicNm^Clinic
  1. ;;Complaint^@complaint^Complaint
  1. ;;Comment^@comment^Comment
  1. ;;Provider Initials^@mdNm^Prv
  1. ;;Resident Initials^@resNm^Res
  1. ;;Nurse Initials^@rnNm^RN
  1. ;;Acuity^@acuityNm^Acuity
  1. ;;Status^@statusNm^Status
  1. ;;Lab Active/Complete^@lab^L
  1. ;;Imaging Active/Complete^@rad^I
  1. ;;New (Unverified) Orders^@ordNew^New
  1. ;;Total Minutes^@emins^E Mins
  1. ;;Minutes at Location^@lmins^Mins
  1. ;;Disposition^@disposition^Disposition
  1. ;;Admittance Delay^@amins^Adm Delay
  1. ;;zzzzz