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

PXRMCQIN.m

Go to the documentation of this file.
  1. PXRMCQIN ;SLC/PKR - Clinical quality measure inquiry for general use. ;11/19/2014
  1. ;;2.0;CLINICAL REMINDERS;**47**;Feb 04, 2005;Build 291
  1. ;==========================================
  1. BMINQALL ;Clinical quality measure inquiry, return the formatted text OUTPUT.
  1. N BOP,INQTYPE,MIEN,NAME,OUTPUT
  1. S INQTYPE=$$GTYPE
  1. S BOP=$$BORP^PXRMUTIL("B")
  1. I BOP="" Q
  1. S NAME=""
  1. F S NAME=$O(^PXRM(802.3,"B",NAME)) Q:NAME="" D
  1. . S MIEN=$O(^PXRM(802.3,"B",NAME,""))
  1. . D CQMINQ(INQTYPE,MIEN,.OUTPUT)
  1. . I BOP="B" D BROWSE^DDBR("OUTPUT","NR","Clinical Quality Measure Inquiry")
  1. . I BOP="P" D GPRINT^PXRMUTIL("OUTPUT")
  1. Q
  1. ;
  1. ;==========================================
  1. BMINQ(MIEN) ;Display a clinical quality measure inquiry, defaults to the Browswer.
  1. N BOP,DIR0,INQTYPE,OUTPUT,TITLE
  1. I '$D(^PXRM(802.3,MIEN)) Q
  1. S INQTYPE=$$GTYPE
  1. S TITLE="Clinical Quality Measure Inquiry - "_$S(INQTYPE="C":"Condensed",INQTYPE="F":"Full",1:"")
  1. D CQMINQ(INQTYPE,MIEN,.OUTPUT)
  1. S BOP=$$BORP^PXRMUTIL("B")
  1. I BOP="" Q
  1. I BOP="B" D BROWSE^DDBR("OUTPUT","NR",TITLE)
  1. I BOP="P" D GPRINT^PXRMUTIL("OUTPUT")
  1. Q
  1. ;
  1. ;==========================================
  1. CQMINQ(INQTYPE,MIEN,OUTPUT) ;Clinical quality measure inquiry, return the
  1. ;formatted text OUTPUT. Use 80 column output.
  1. N CHDR,CODESYSN,CODESYSP,DUPL,IENSTR,IND,OCL,NL
  1. N LEXSAB,MNAME,NCODES,NCODESA,NCS,NOUT,NPAD,NUCODES,RM
  1. N TCODES,TEMP,TERM,TEXT,TEXTOUT
  1. S RM=80
  1. D MHDR(RM,IEN,.NL,.OUTPUT)
  1. I INQTYPE="F" D MLISTF(MIEN,.NL,.OUTPUT)
  1. S NL=NL+1,OUTPUT(NL)=""
  1. S NL=NL+1,OUTPUT(NL)="Value sets used in this measure:"
  1. I INQTYPE="C" D VSLISTC(MIEN,.NL,.OUTPUT)
  1. I INQTYPE="F" D VSLISTF(MIEN,.NL,.OUTPUT)
  1. Q
  1. ;
  1. ;==========================================
  1. GTYPE() ;Prompt the user for the type of output.
  1. N DIR,POP,X,Y
  1. S DIR(0)="SA"_U_"C:Condensed;F:Full"
  1. S DIR("A")="Condensed or full inquiry? "
  1. S DIR("B")="C"
  1. D ^DIR
  1. I $D(DIROUT) S DTOUT=1
  1. I $D(DTOUT)!($D(DUOUT)) Q "F"
  1. Q Y
  1. ;
  1. ;==========================================
  1. MHDR(RM,MIEN,NL,OUTPUT) ;Produce the measure header text.
  1. N IENSTR,NIN,NOUT,NPAD,TEMP,TEXT,TEXTIN,TEXTOUT
  1. S IENSTR="No. "_IEN
  1. S TEMP=$$REPEAT^XLFSTR("-",RM)
  1. S OUTPUT(1)=TEMP
  1. S TEXT=$P(^PXRM(802.3,IEN,0),U,1)
  1. D FORMATS^PXRMTEXT(1,70,TEXT,.NOUT,.TEXTOUT)
  1. S NPAD=RM-$L(TEXTOUT(1))-1
  1. S OUTPUT(2)=TEXTOUT(1)_$$RJ^XLFSTR(IENSTR,NPAD," ")
  1. S NL=2
  1. I NOUT>1 F IND=2:1:NOUT S NL=NL+1,OUTPUT(NL)=TEXTOUT(IND)
  1. S NL=NL+1,OUTPUT(NL)=TEMP
  1. S TEMP=^PXRM(802.3,MIEN,1)
  1. S NL=NL+1,OUTPUT(NL)=" CMS ID: "_$P(TEMP,U,1)
  1. S NL=NL+1,OUTPUT(NL)=" Version number: "_$P(TEMP,U,2)
  1. S NL=NL+1,OUTPUT(NL)=" GUID: "_$P(TEMP,U,3)
  1. S NL=NL+1,OUTPUT(NL)=" NQF number: "_$P(TEMP,U,4)
  1. S NL=NL+1,OUTPUT(NL)=""
  1. K TEXTIN,TEXTOUT
  1. S NIN=$P(^PXRM(802.3,MIEN,2,0),U,3)
  1. S TEXTIN(1)="Description: "_^PXRM(802.3,MIEN,2,1,0)
  1. F IND=2:1:NIN S TEXTIN(IND)=^PXRM(802.3,MIEN,2,IND,0)
  1. D FORMAT^PXRMTEXT(2,78,NIN,.TEXTIN,.NOUT,.TEXTOUT)
  1. F IND=1:1:NOUT S NL=NL+1,OUTPUT(NL)=TEXTOUT(IND)
  1. Q
  1. ;
  1. ;==========================================
  1. MLISTF(MIEN,NL,OUTPUT) ;Produce the full measure list.
  1. N IND,NIN,NOUT,STEWARD,NUM,TEMP,TEXTIN,TEXTOUT,VSIEN,VSNAME
  1. S TEXTIN="Steward: "_$G(^PXRM(802.3,MIEN,5))
  1. D FORMATS^PXRMTEXT(3,78,TEXTIN,.NOUT,.TEXTOUT)
  1. F IND=1:1:NOUT S NL=NL+1,OUTPUT(NL)=TEXTOUT(IND)
  1. K TEXTIN,TEXTOUT
  1. S TEMP=^PXRM(802.3,MIEN,3)
  1. S NL=NL+1,OUTPUT(NL)=""
  1. S NL=NL+1,OUTPUT(NL)=" Category: "_$P(TEMP,U,1)
  1. S NL=NL+1,OUTPUT(NL)=" Identifier: "_$P(TEMP,U,2)
  1. S NL=NL+1,OUTPUT(NL)=" Status: "_$P(TEMP,U,3)
  1. S NL=NL+1,OUTPUT(NL)=" Type: "_$P(TEMP,U,4)
  1. S NL=NL+1,OUTPUT(NL)=" Measure Set: "_$P(TEMP,U,5)
  1. S NL=NL+1,OUTPUT(NL)=" Sheetname: "_$P(TEMP,U,6)
  1. Q
  1. ;
  1. ;==========================================
  1. VSLIST(MIEN,NVS,VSLIST) ;Build a list of value sets used by a measure.
  1. N IND,VSIEN,VSNAME,VSOID,VSVDATE
  1. S (IND,NVS)=0
  1. F S IND=+$O(^PXRM(802.3,MIEN,7,IND)) Q:IND=0 D
  1. . S NVS=NVS+1
  1. . S VSOID=$P(^PXRM(802.3,MIEN,7,IND,0),U,1)
  1. . S VSVDATE=$P(^PXRM(802.3,MIEN,7,IND,0),U,2)
  1. . S VSIEN=$O(^PXRM(802.2,"OID",VSOID,""))
  1. . S VSNAME=$P(^PXRM(802.2,VSIEN,0),U,1)
  1. . S VSLIST(NVS)=VSNAME_U_VSOID_U_VSVDATE
  1. Q
  1. ;
  1. ;==========================================
  1. VSLISTC(MIEN,NL,OUTPUT) ;Produce the condensed value set list.
  1. N FMTSTR,IND,JND,NOUT,NVS,TEXTIN,TEXTOUT,VSLIST
  1. S FMTSTR="5R2^72L"
  1. D VSLIST(MIEN,.NVS,.VSLIST)
  1. F IND=1:1:NVS D
  1. . S TEXTIN=IND_".^"_$P(VSLIST(IND),U,1)
  1. . D COLFMT^PXRMTEXT(FMTSTR,TEXTIN," ",.NOUT,.TEXTOUT)
  1. . F JND=1:1:NOUT S NL=NL+1,OUTPUT(NL)=TEXTOUT(JND)
  1. Q
  1. ;
  1. ;==========================================
  1. VSLISTF(MIEN,NL,OUTPUT) ;Produce the full value set list.
  1. N FMTSTR,IND,JND,NVS,NOUT,TEXTIN,TEXTOUT,VSLIST
  1. S FMTSTR="5R2^72L"
  1. D VSLIST(MIEN,.NVS,.VSLIST)
  1. F IND=1:1:NVS D
  1. . S TEXTIN=IND_".^"_$P(VSLIST(IND),U,1)
  1. . D COLFMT^PXRMTEXT(FMTSTR,TEXTIN," ",.NOUT,.TEXTOUT)
  1. . F JND=1:1:NOUT S NL=NL+1,OUTPUT(NL)=TEXTOUT(JND)
  1. . S NL=NL+1,OUTPUT(NL)=" OID: "_$P(VSLIST(IND),U,2)
  1. . S NL=NL+1,OUTPUT(NL)=" Version Date: "_$$FMTE^XLFDT($P(VSLIST(IND),U,3))
  1. Q
  1. ;