| 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 | ;
|
---|