| 1 | ORRHCU ; SLC/KCM - CPRS Query Tools - Utilities ; [8/6/03 1:27Pm]
 | 
|---|
| 2 |  ;;3.0;ORDER ENTRY/RESULTS REPORTING;**153,174**;Dec 17, 1997
 | 
|---|
| 3 |  ;
 | 
|---|
| 4 | NXT() ; Increment ILST
 | 
|---|
| 5 |  S ILST=ILST+1
 | 
|---|
| 6 |  Q ILST
 | 
|---|
| 7 |  ;
 | 
|---|
| 8 | RNG2FM(RNG)     ; convert a relative date range to Fileman dates
 | 
|---|
| 9 |  N FMRNG
 | 
|---|
| 10 |  I $E(RNG,1)="Y" D
 | 
|---|
| 11 |  . N YR,TYP,QTR
 | 
|---|
| 12 |  . S YR=$E(DT,1,3),TYP=$E(RNG,2) I (TYP="F"),(+$E(DT,4,5)>9) S YR=YR+1
 | 
|---|
| 13 |  . S YR=YR+$E(RNG,3,999)
 | 
|---|
| 14 |  . I (RNG["Q"),($P(RNG,"Q",2)="") S RNG=RNG_$$CURQTR($E(RNG,2)="F")
 | 
|---|
| 15 |  . I $P(RNG,"Q",2)="" D  Q
 | 
|---|
| 16 |  . . I TYP="C" S FMRNG=YR_"0101:"_YR_"1231"
 | 
|---|
| 17 |  . . I TYP="F" S FMRNG=(YR-1)_"1001:"_YR_"0930"
 | 
|---|
| 18 |  . S QTR=+$P(RNG,"Q",2)
 | 
|---|
| 19 |  . I TYP="F" S:QTR=1 YR=YR-1 S QTR=QTR-1 S:QTR=0 QTR=4
 | 
|---|
| 20 |  . S FMRNG=YR_$P("0101^0401^0701^1001",U,QTR)_":"_YR
 | 
|---|
| 21 |  . S FMRNG=FMRNG_$P("0331^0630^0930^1231",U,QTR)
 | 
|---|
| 22 |  E  D
 | 
|---|
| 23 |  . N BDT,EDT,%DT,X,Y
 | 
|---|
| 24 |  . S BDT=$P(RNG,":",1),EDT=$P(RNG,":",2)
 | 
|---|
| 25 |  . I $L(BDT) S X=BDT D ^%DT S BDT=Y
 | 
|---|
| 26 |  . I $L(EDT) S X=EDT D ^%DT S EDT=Y
 | 
|---|
| 27 |  . I '$L(BDT) S BDT=0
 | 
|---|
| 28 |  . I '$L(EDT) S EDT=9999999
 | 
|---|
| 29 |  . S FMRNG=BDT_":"_EDT
 | 
|---|
| 30 |  Q FMRNG
 | 
|---|
| 31 | CURQTR(ISFY)    ; return the current fiscal or calendar quarter
 | 
|---|
| 32 |  N QTR
 | 
|---|
| 33 |  S QTR=$P(($E(DT,4,5)-1)/3,".")+1
 | 
|---|
| 34 |  I ISFY S QTR=QTR+1 S:QTR=5 QTR=1
 | 
|---|
| 35 |  Q QTR
 | 
|---|
| 36 | ID2EXT(LST,FN,IDLST)     ; Return the external values for a set if IENs
 | 
|---|
| 37 |  N I
 | 
|---|
| 38 |  S I=0 F  S I=$O(IDLST(I)) Q:'I  D
 | 
|---|
| 39 |  . I +IDLST(I)=0 S LST(I)=IDLST(I) Q
 | 
|---|
| 40 |  . S LST(I)=IDLST(I)_U_$$GET1^DIQ(FN,IDLST(I),.01)
 | 
|---|
| 41 |  Q
 | 
|---|
| 42 | BYREG(LST,NAM,MOD)      ; List patients from registry
 | 
|---|
| 43 |  N ILST,RC,ITR,PATID S ILST=0
 | 
|---|
| 44 |  I $$PATITER^RORAPI01(.ITR,NAM,MOD)<0 Q
 | 
|---|
| 45 |  F  S RC=$$NEXTPAT^RORAPI01(.ITR)  Q:RC'>0  D
 | 
|---|
| 46 |  . S PATID=$P(RC,U)
 | 
|---|
| 47 |  . S LST($$NXT)=PATID_U_$P(^DPT(PATID,0),U)
 | 
|---|
| 48 |  Q
 | 
|---|
| 49 | REGLST(LST)     ; List available local registries
 | 
|---|
| 50 |  S LST(1)="VA HEPC^Local HepC Registry"
 | 
|---|
| 51 |  Q
 | 
|---|
| 52 | REGNAM(VAL,ID)  ; Return the full name of a registry
 | 
|---|
| 53 |  S VAL="Unknown Registry"
 | 
|---|
| 54 |  I ID="VA HEPC" S VAL="Local HepC Registry"
 | 
|---|
| 55 |  Q
 | 
|---|
| 56 | NMVAL(NM,VAL)   ; Set a name=value pair
 | 
|---|
| 57 |  Q:NM=""  Q:VAL=""
 | 
|---|
| 58 |  S LST($$NXT)=NM_"="_VAL
 | 
|---|
| 59 |  Q
 | 
|---|
| 60 | DFLDS(LST,TYP)  ; List display fields
 | 
|---|
| 61 |  N I,J,ILST,X0 S ILST=0
 | 
|---|
| 62 |  S TYP=$$DFLDTRAN(TYP) ; consults, orders return same fields
 | 
|---|
| 63 |  S I=0 F  S I=$O(^ORD(102.24,I)) Q:'I  D
 | 
|---|
| 64 |  . S X0=^ORD(102.24,I,0)
 | 
|---|
| 65 |  . Q:TYP'[$E(X0)  ; 1st char of name corresponds to type
 | 
|---|
| 66 |  . ; S LST($$NXT)=X0
 | 
|---|
| 67 |  . D NMVAL("DisplayName",$P(X0,U,2))  ; must be first
 | 
|---|
| 68 |  . D NMVAL("InternalName",$P(X0,U))
 | 
|---|
| 69 |  . D NMVAL("HeaderName",$P(X0,U,3))
 | 
|---|
| 70 |  . D NMVAL("SortType",$P(X0,U,4))
 | 
|---|
| 71 |  . S J=0 F  S J=$O(^ORD(102.24,I,1,J)) Q:'J  D
 | 
|---|
| 72 |  . . D NMVAL("SampleData",$G(^ORD(102.24,I,1,J,0)))
 | 
|---|
| 73 |  Q
 | 
|---|
| 74 | COLTYP(LST,SRC) ; List the column types
 | 
|---|
| 75 |  N I,IEN
 | 
|---|
| 76 |  S I=0 F  S I=$O(SRC(I)) Q:'I  D
 | 
|---|
| 77 |  . S IEN=$O(^ORD(102.24,"B",SRC(I),0))
 | 
|---|
| 78 |  . I 'IEN S LST(I)=SRC(I)_"^0"
 | 
|---|
| 79 |  . E  S LST(I)=SRC(I)_U_$P($G(^ORD(102.24,IEN,0)),U,4)
 | 
|---|
| 80 |  Q
 | 
|---|
| 81 |  ;
 | 
|---|
| 82 | DFLDMAP(LST)    ; Returns a mapping of constraint types to display field types
 | 
|---|
| 83 |  N FLDLIST S FLDLIST=$$GETFLDLS
 | 
|---|
| 84 |  N TRANSLST S TRANSLST=$$DFLDTRAN(FLDLIST)
 | 
|---|
| 85 |  N I S I=0
 | 
|---|
| 86 |  F  S I=I+1 Q:I>$L(FLDLIST)  D
 | 
|---|
| 87 |  .S LST(I)=$E(FLDLIST,I)_"="_$E(TRANSLST,I)
 | 
|---|
| 88 |  Q
 | 
|---|
| 89 |  ;
 | 
|---|
| 90 | DFLDTRAN(FLD)   ;Translates the constraint types to the display field types
 | 
|---|
| 91 |  Q $TR(FLD,"C","O")
 | 
|---|
| 92 |  ;
 | 
|---|
| 93 | GETFLDLS()      ;Returns a list of defined display fields
 | 
|---|
| 94 |  N LIST
 | 
|---|
| 95 |  S LIST="PODVC"
 | 
|---|
| 96 |  Q LIST
 | 
|---|
| 97 |  ;
 | 
|---|