ORWGAPIW ; SLC/STAFF - Graph API Utilities, Generic ;8/19/06 15:20 ;;3.0;ORDER ENTRY/RESULTS REPORTING;**243**;Dec 17, 1997;Build 242 ; DATA(ARRAY) ; $$(application results) -> single string of results N NUM,RESULT,SUB S OUT="" S SUB="" F S SUB=$O(ARRAY(SUB)) Q:SUB="" D . I $D(ARRAY(SUB,0)) D Q .. S OUT=OUT_SUB_"[" .. S NUM=0 .. F S NUM=$O(ARRAY(SUB,NUM)) Q:NUM<1 D ... S RESULT=$G(ARRAY(SUB,NUM,0)) ... S OUT=OUT_RESULT_";" .. S OUT=OUT_"]" . S RESULT=$G(ARRAY(SUB)) . S OUT=OUT_SUB_"["_RESULT_"]" S OUT=$TR(OUT,U,"~") Q OUT ; DATETFM(DATETIME) ; $$(external date/time) -> fm date/time else 0 N DATE,DAY,FMDT,HOUR,MIN,SEC,TIME,YEAR S DATE=$P(DATETIME,"@"),TIME=$P(DATETIME,"@",2) S YEAR=$P(DATE,",",2) I $L(YEAR)'=4 Q 0 S YEAR=YEAR-1700 I YEAR<270 Q 0 S MONTH=$P(DATE," ") S MONTH=$$MTN(MONTH) I MONTH<1 Q 0 I MONTH<10 S MONTH="0"_MONTH S DAY=$P(DATE," ",2),DAY=$P(DAY,",") I DAY<1 Q 0 I DAY<10 S DAY="0"_DAY S HOUR=$P(TIME,":") S MIN=$P(TIME,":",2) S SEC=$P(TIME,":",3) S TIME=HOUR_MIN_SEC S FMDT=YEAR_MONTH_DAY I '$L(TIME) Q FMDT Q FMDT_"."_TIME ; GENERIC(VAL,FROM,DIR,FILE,REF,XREF,SCREEN) ; Return a set of entries from xref in REF ; from ORWGAPI ; .VAL=returned list, FROM=text to $O from, DIR=$O direction, N CNT,IEN,NAME,NEXTNAME,NUM,OK,ROOT,ZERO S NUM=0,CNT=44 K VAL I FILE=405 Q S ROOT="" S FROM=$$UP^ORWGAPIX(FROM) I $E(REF,$L(REF))="," S ROOT=$E(REF,1,$L(REF)-1)_")" I $E(REF,$L(REF))="(" S ROOT=$P(REF,"(") I '$L(ROOT) Q S REF=REF_""""_XREF_""")" F Q:NUM'0 Q .. S ZERO=$G(@ROOT@(IEN,0)) I '$L(ZERO) Q .. X SCREEN I '$T Q .. S NUM=NUM+1 .. I FILE="45DX"!(FILE=9000010.07)!(FILE=9000011)!(FILE="63AP;I") D Q ... S VAL(NUM)=FILE_U_IEN_U_$$ICD9^ORWGAPIA(IEN) Q .. I FILE="45OP" S VAL(NUM)=FILE_U_IEN_U_$$ICD0^ORWGAPIA(IEN) Q .. I FILE=53.79 S VAL(NUM)=FILE_U_IEN_U_$$POINAME^ORWGAPIC(IEN) Q .. I FILE="55NVA" S VAL(NUM)=FILE_U_IEN_U_$$POINAME^ORWGAPIC(IEN) Q .. I FILE=9000010.18 S VAL(NUM)=FILE_U_IEN_U_$$ICPT^ORWGAPIA(IEN) Q .. I FILE=130 S VAL(NUM)=FILE_U_IEN_U_$$ICPT^ORWGAPIA(IEN) Q .. S VAL(NUM)=FILE_U_IEN_U_FROM I FILE=120.5 D . S (NUM,OK)=0 . F S NUM=$O(VAL(NUM)) Q:NUM<1 D Q:OK .. S NAME=$P(VAL(NUM),U,3) .. S NEXTNAME=$P($G(VAL(NUM+1)),U,3) .. I "BODY MASS INDEX"]NAME,NEXTNAME]"BODY MASS INDEX" D ... S OK=1 ... S VAL(NUM+.5)="120.5^99999^BODY MASS INDEX" Q ; MTN(MONTH) ; $$(external month) -> month number N MONTHS,NUM I $L(MONTH)'=3 Q 0 S MONTHS="JAN^FEB^MAR^APR^MAY^JUN^JUL^AUG^SEP^OCT^NOV^DEC" F NUM=1:1:13 I $P(MONTHS,U,NUM)=MONTH Q I NUM=13 Q 0 Q NUM ; OGROUP(OITEM) ; $$(orderable item) -> ien display group^display group - from ORWGAPIR N IEN S IEN=+$P($G(^ORD(101.43,+$G(OITEM),0)),U,5) Q IEN_U_"order - "_$P($G(^ORD(100.98,IEN,0)),U) ; RETURN(TMP,ITEMS) ; return TMP (0 use local, 1 use ^TMP(ITEMS,$J, where ITEMS is a namespaced string) ; from ORWGAPI, ORWGAPIP, ORWGAPIX N NMSP S NMSP=$G(ITEMS) K ITEMS S ITEMS="" S TMP=NMSP?1U1UN1.14UNP I TMP S ITEMS=NMSP Q ; SETUP(DATA,RESULT,TMP,CNT) ; from ORWGAPI1, ORWGAPI2, ORWGAPI3, ORWGAPI4, ORWGAPIP, ORWGAPIR, ORWGAPIX S CNT=CNT+1 I TMP=2 S ^TMP(DATA,$J,$P(RESULT,U,1,2))=RESULT Q I TMP S ^TMP(DATA,$J,CNT)=RESULT I 'TMP S DATA(CNT)=RESULT Q ;