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

MCARDSS.m

Go to the documentation of this file.
  1. MCARDSS ;WISC/RMP-DECISION SUPPORT INTERFACE ;5/5/95 08:01
  1. ;;2.3;Medicine;;09/13/1996
  1. START(STDATE,ENDATE) ;REMOVE NEW OF SAME AND HARD SET OF SAME
  1. N TYPE,COUNT,CPTIEN,FILE,CDATE,IEN
  1. N MCARP,MCDHD,MCESKEY,MCESON,MCESS,MCESSES,MCPATFLD,MCPRO,MCOPT
  1. N PROC,OPTION,DIR,Y,DTOUT,DIRUT,DIROUT,DUOUT,DHIT,DIOEND,DIROUR
  1. S (MCARP)="",COUNT=0
  1. S TYPE="" ;"P" ;should be third input parameter
  1. K ^TMP($J)
  1. F S MCARP=$O(^MCAR(694.8,"PS",MCARP)) Q:MCARP'?1N.N D
  1. .S CPTIEN="" F S CPTIEN=$O(^MCAR(694.8,"PS",MCARP,CPTIEN)) Q:CPTIEN'?1N.N D
  1. ..N CPT
  1. ..S CPT=$$CPT(CPTIEN) Q:CPT=""
  1. ..D PROC(.MCARP,.MCESON,.MCESKEY,.MCPATFLD,.FILE,.MCPRO)
  1. ..Q:MCESON'=1
  1. ..S MCOPT=1 D PIEN
  1. ..Q
  1. Q
  1. CPT(IEN) ;
  1. N TEMP,CPT
  1. S CPT=""
  1. I $D(^MCAR(694.8,IEN,1,0)) S TEMP=0 D
  1. .F Q:CPT?1N.N S TEMP=$O(^MCAR(694.8,IEN,1,TEMP)) Q:TEMP'?1N.N D
  1. ..I $P($P(^(TEMP,0),U),";",2)["ICPT(" S CPT=$P($P(^(0),U),";")
  1. ..Q
  1. Q CPT
  1. PIEN ;
  1. N IEN,CDATE,PROV,FMDT
  1. S CDATE=$O(^MCAR(FILE,"B",STDATE),-1)
  1. F S IEN=$$NEXTD(FILE,ENDATE,.CDATE,MCOPT) Q:IEN="" D
  1. .S PROV=$P(^MCAR(FILE,IEN,"ES"),U,4)
  1. .S FMDT=$P(^MCAR(FILE,IEN,0),U)
  1. .Q:(+PROV=0)!(+FMDT=0)
  1. .S COUNT=COUNT+1
  1. .;W !,"200^2^FMDT,CPT: ",PROV_U_$$DFN(FILE,IEN,MCPATFLD)_U_FMDT_U_CPT
  1. .S ^TMP($J,COUNT)=PROV_U_$$DFN(FILE,IEN,MCPATFLD)_U_FMDT_U_CPT
  1. Q
  1. DFN(FILE,IEN,MCPATFLD) ;
  1. N TEMP
  1. S TEMP=$P(^DD(FILE,MCPATFLD,0),U,4)
  1. Q $P(^MCAR(FILE,IEN,$P(TEMP,";")),U,$P(TEMP,";",2))
  1. TEST(REC,OPT,FILE) ;Screens out information
  1. N STATUS,TEST
  1. S STATUS=$P($G(^MCAR(FILE,REC,"ES")),U,7) S:STATUS="" STATUS="D"
  1. S TEST=OPT+$S(STATUS["D":1,1:0)
  1. Q $S(STATUS="S":0,OPT=3:1,TEST=1:1,TEST=3:1,1:0)
  1. PROC(MCARP,MCESON,MCESKEY,MCPATFLD,FILE,MCPRO) ;
  1. N TEMP
  1. S TEMP=$G(^MCAR(697.2,MCARP,0)),MCESS=0
  1. S MCESON=+$P(TEMP,U,14),MCESKEY=$P(TEMP,U,15)
  1. S MCPATFLD=$P(TEMP,U,12)
  1. S MCESSES=$S(MCESON:1,1:0)
  1. S FILE=$P($P(TEMP,U,2),"(",2)
  1. S MCPRO=$P(TEMP,U)
  1. Q
  1. NEXTD(FILE,ENDATE,CDATE,MCOPT) ;
  1. N IEN
  1. S IEN=""
  1. F Q:IEN'="" S CDATE=$O(^MCAR(FILE,"B",CDATE)) Q:(CDATE="")!(CDATE>ENDATE) D
  1. .S IEN=$O(^MCAR(FILE,"B",CDATE,""))
  1. .S:'$$TEST(IEN,MCOPT,FILE) IEN=""
  1. .Q
  1. Q IEN