Sie sind auf Seite 1von 12

Apply group security :

Create a query having data item


Dataitem1: -- #sq(CSVIdentityame!ist (""#
#hen create a $oolean varia%le :--
&'roup security()&Data Item1( not contains *C+,e-cl*
#hen attach page .ith the a%ove query then add dataitem in report
properties:
#hen apply render varia%le on the %loc/ to hide
Automatic De0ault value selection in prompt using 1avascript
<script type="text/javascript">
var fW = (typeof getFormWarpRequest == "function" ? getFormWarpRequest()
!ocument"forms#"formWarpRequest"$)%
if (fW)
&
'ist(oxprompt)mont*"se'ect+''()%
'ist(ox,tart"se'ect+''()%
'ist(ox-n!"se'ect+''()%
if (fW"e'ements#"cv"i!"$"va'ue == "R,")
set.imeout(/o01R,"prompt+ction(2/3nis*2/)/4 5666)%
e'se
set.imeout(/o01)7,)"prompt+ction(2/3nis*2/)/4 5666)%
8
</script>
2estrict hierarchy in prompt:
9ata :tem; or!ina'('eve'(current<em=er(#>rt*ova')?eriop$"#?artner$"#?artner$)))
9ata :tem;<@
9efau't vieA is at Beve' *aving some set of mem=ers an! report !ri'' 'eve' su!
c*ange accor!ing to prompt 'eve' se'ecte!
De0ault set:
*ea!(c*i'!ren(#:npatient$)4 if(caption(item(set(#>rt*ova')Fin$"#0'inica')Crouping$"
#0'inica')Crouping$"#0'inica')Crouping$D>?
p)0BCroup?)46))=caption(#0'inica')Crouping$)) t*en (count (; Ait*in
set(c*i'!ren(#:npatient$)))) e'se (6))
3rompt Set
*ea!(#0'inica' Crouping prompt$4 if(caption(item(set(#ort*ova')0>$"
#0'inica')Crouping$"#0'inica')Crouping$"#0'inica')Crouping$D>?
p)0BCrouping?)46))=caption(#0'inica')Crouping$)) t*en(6) e'se(count (; Ait*in
set(#0'inica' Crouping prompt$))) )
4nion 54sed in 2eport
union(#9efau't set$4#?rompt set$)
3rompt De0ault level
0'inica'Crouping
Security 6or/ing 0or multiple user
caption(#>rt*ova')Fin$"#?artner$"#?artner$"#'ocation7ame$)
in
(if((Esq(Faccount"parameters"Bocation)E)=/+''/)
t*en(caption(#>rt*ova')Fin$"#?artner$"#?artner$"#'ocation7ame$))
e'se(Esq(Faccount"parameters"Bocation)E)
)
7ilter to 8lter the value passed 0rom D92 report to relational 2eport:#o
:andle #op level and various drill levels)
3aramter value is passed in drill through)
(
(#>rt*ova')9ev$"#vieAcoro''upreporting$"#system7ame$
in
(if(?p)'eve';?=/?artner/)
t*en(#>rt*ova')9ev$"#vieAcoro''upreporting$"#system7ame$)
e'se(?p)'eve';?)))
>R
(#>rt*ova')9ev$"#vieAcoro''upreporting$"#'ocation7ame$
in
(if(?p)'eve'G?=/?artner/)
t*en(#>rt*ova')9ev$"#vieAcoro''upreporting$"#'ocation7ame$)
e'se(?p)'eve'G?))
)
)
Applying Slicer:%ased on 8lter selected
set(#>rt*ova')Fin$"#?artner$"#?artner$"#?artner$D>?p)partner?)
9ragging *ierarc*y in prompt Ai'' generate tree prompt A*i'e 9ragging t*e 'eve'
Ai'' generate va'ue prompt"
.o c*ange t*e !efau't auto generate! prompt type 4c*ange t*e property in F< over
t*at particu'ar !ataitem"Select prompt type
!ast 1; months:
'ast?erio!s(;G4#>rt*ova')Fin$"#9isc*arge)9ate)<ont*)'eve'$"
#9isc*arge)9ate)<ont*)'eve'$D> ?p).ime?)
3revious year last 1; month Volume
tup'e(para''e'?erio!(#>rt*ova')Fin$"#9isc*arge)9ate)<ont*)'eve'$"
#9isc*arge)9ate)<ont*)'eve'$"#Hear$4;4current<em=er(*ierarc*y(#Bast ;G
mont*s$)))4#1o'ume$)
Current year last 1; months volume
tup'e(current<em=er(*ierarc*y(#Bast ;G mont*s$))4#1o'ume$)
#op 1< 3ayor
9ataitem .opIpayer=top0ount(#?ayor <ix$4I4#1o'ume$)
9ataitem 9esc= !escen!ants(#>rt*ova')Fin$"#?ayer$"#?ayer$"#?ayer$4;)
9ataitem .ota'1o'= tota'(#1o'ume$ Ait*in set(#?ayor <ix$))
0a'cu'ate! <em=er ?ayors=union(#.op I ?ayors$4#>t*ers$)
,et expression >t*ers=#.ota' 1o'$Dtota'(#1o'ume$ Ait*in set(#.op I ?ayors$))
,et expression payor<ix=union (#9efau't ,et$4#?rompt ,et$)
,et expression ?rompt set= *ea!(#,e'ecte! ?ayor$4 if(caption(item(#,e'ecte!
?ayor$46))=caption(#?ayer$)) t*en (6) e'se(count(; Ait*in set(#,e'ecte! ?ayor$))))
,et expression 9efau't set= *ea!(#9esc$4if(caption(item(#,e'ecte!
?ayor$46))=caption(#?ayer$)) t*en (count(; Ait*in set(!escen!ants(#,e'ecte!
?ayor$4;)))) e'se (6))
!+S trend
B>, (ucJet
set(mem=er(tota'(current<easure Ait*in set 3'ter(#B>,
!esc$4caption(current<em=er(*ierarc*y(#>rt*ova')Fin$"#B>, (ucJet$"#B>, (ucJet$"
#B>, (ucJet$))) in (/;/4/G/)))4/;DG/4/;DG/4*ierarc*y(#>rt*ova')Fin$"#B>, (ucJet$"#B>,
(ucJet$"#B>, (ucJet$))4
mem=er(tota'(current<easure Ait*in set 3'ter(#B>,
!esc$4caption(current<em=er(*ierarc*y(#>rt*ova')Fin$"#B>, (ucJet$"#B>, (ucJet$"
#B>, (ucJet$))) =/K/))4/K/4/K/4*ierarc*y(#>rt*ova')Fin$"#B>, (ucJet$"#B>, (ucJet$"#B>,
(ucJet$))4
mem=er(tota'(current<easure Ait*in set 3'ter(#B>,
!esc$4caption(current<em=er(*ierarc*y(#>rt*ova')Fin$"#B>, (ucJet$"#B>, (ucJet$"
#B>, (ucJet$))) =/@/))4/@/4/@/4*ierarc*y(#>rt*ova')Fin$"#B>, (ucJet$"#B>, (ucJet$"#B>,
(ucJet$))4
mem=er(tota'(current<easure Ait*in set 3'ter(#B>,
!esc$4caption(current<em=er(*ierarc*y(#>rt*ova')Fin$"#B>, (ucJet$"#B>, (ucJet$"
#B>, (ucJet$))) =/5/))4/5/4/5/4*ierarc*y(#>rt*ova')Fin$"#B>, (ucJet$"#B>, (ucJet$"#B>,
(ucJet$))4
mem=er(tota'(current<easure Ait*in set 3'ter(#B>,
!esc$4caption(current<em=er(*ierarc*y(#>rt*ova')Fin$"#B>, (ucJet$"#B>, (ucJet$"
#B>, (ucJet$))) =/L/))4/L/4/L/4*ierarc*y(#>rt*ova')Fin$"#B>, (ucJet$"#B>, (ucJet$"#B>,
(ucJet$))4
mem=er(tota'(current<easure Ait*in set 3'ter(#B>,
!esc$4caption(current<em=er(*ierarc*y(#>rt*ova')Fin$"#B>, (ucJet$"#B>, (ucJet$"
#B>, (ucJet$))) =/M/))4/M/4/M/4*ierarc*y(#>rt*ova')Fin$"#B>, (ucJet$"#B>, (ucJet$"#B>,
(ucJet$))4
mem=er(tota'(current<easure Ait*in set 3'ter(#B>,
!esc$4caption(current<em=er(*ierarc*y(#>rt*ova')Fin$"#B>, (ucJet$"#B>, (ucJet$"
#B>, (ucJet$))) not in (/;/4/G/4/K/4/@/4/5/4/L/4/M/)))4/>M/4/>M/4*ierarc*y(#>rt*ova')Fin$"
#B>, (ucJet$"#B>, (ucJet$"#B>, (ucJet$))
)
Di=erence %et.een Automatic summary and #otal
+utomatic summary ca'cu'ates t*e summariNe roA accor!ing to t*e !ata item for
examp'e some !ataitem is average t*en summary Ai'' a'so =e average =ut tota' Ai''
sum up t*e averages in a'' roAs"
C>#D
perio!s.o9ate (#>rt*ova')Fin$"#9isc*arge)9ate)<ont*)'eve'$"
#9isc*arge)9ate)<ont*)'eve'$"#Hear$4 #,e'ecte! .ime$)
3>#D
perio!s.o9ate (#>rt*ova')Fin$"#9isc*arge)9ate)<ont*)'eve'$"
#9isc*arge)9ate)<ont*)'eve'$"#Hear$4para''e'?erio! (#>rt*ova')Fin$"
#9isc*arge)9ate)<ont*)'eve'$"#9isc*arge)9ate)<ont*)'eve'$"#Hear$4;4#,e'ecte!
.ime$))
Current 2ange 0rom Calender
intersect('ast?erio!s(DIIII4 E/#>rt*ova')Fin$"#9isc*arge)9ate$"#9isc*arge)9ate$"
#9ate$D>#?0$"#O<-<(-R$"
#/Psu=stitute(/D/4//4su=stitute(/D/4//4prompt(/p)start9ate/4/!ate/)))P/$/E)4
'ast?erio!s(IIII4 E/#>rt*ova')Fin$"#9isc*arge)9ate$"#9isc*arge)9ate$"#9ate$D>
#?0$"#O<-<(-R$"#/Psu=stitute(/D/4//4su=stitute(/D/4//4prompt(/p)en!9ate/4/!ate/)))
P/$/E))
3re Start 2ange
'ast?erio!s (DIIII4para''e'?erio! (#>rt*ova')Fin$"#9isc*arge)9ate$"#9isc*arge)9ate$"
#Hear$4;4E/#>rt*ova')Fin$"#9isc*arge)9ate$"#9isc*arge)9ate$"#9ate$D>#?0$"
#O<-<(-R$"#/Psu=stitute(/D/4//4su=stitute(/D/4//4prompt(/p)start9ate/4/!ate/)))P/$/E))
3re?nd 2ange
'ast?erio!s (IIII4para''e'?erio! (#>rt*ova')Fin$"#9isc*arge)9ate$"#9isc*arge)9ate$"
#Hear$4;4E/#>rt*ova')Fin$"#9isc*arge)9ate$"#9isc*arge)9ate$"#9ate$D>#?0$"
#O<-<(-R$"#/Psu=stitute(/D/4//4su=stitute(/D/4//4prompt(/p)en!9ate/4/!ate/)))P/$/E))
3re 2ange
intersect (#prestart range$4#preen! range$)
Current time period
#*&+rthoval,7in()&Discharge,Date()&Discharge,Date()&9onth(-@:&3C()
&A9?9$?2()
&*Btimestamp9as/(,8rst,o0,month(Ccurrent,timestamp"D*yyyymmdd*"
B*-*Btimestamp9as/(,last,o0,month(Ccurrent,timestamp"D*yyyymmdd*"
B*(*#
?*ysician Report
.op 5 surgeon =y vo'
top0ount (#>rt*ova')Fin$"#?*ysician$"#?*ysician$"#p*ysicianCroup$454tota'(#1o'ume$
Ait*in set(#>rt*ova')Fin$"#9isc*arge)9ate$"#9isc*arge)9ate$"#9isc*arge)9ate$D>?
p).ime?)))
?erioperative 9as*=oar!
9acros :
Esq(csv(sp'it(///4prompt(/p)start9ate/))))E
Esu=stitute(///4//4su=stitute(/D/4//4su=stitute(/D/4//4prompt(/p)start9ate/)))))E
(2elational 2eport "3ateint Detail 2eport (Drill 0rom Dimensional 2eport"
Start:
cast(cast(reverse(su=string(reverse(?p)!te?)4#9ata :temG$4Q))4integer)4 !ate)
?nd:
cast(cast(reverse(su=string(reverse(?p)!te?)4G4Q))4integer)4 !ate)
Dataitem;:
position(/D/4reverse(?p)!te?))P;
7ilterE
#!isc*arge9ate$ >=#,tart$
#!isc*arge9ate$ <=#-n!$
(?p)section? in (/>vera''/)) >R (#?roce!ura'grouping$ in (?p)section?)) >R ((?
p)section? in (/Roint >n'y/)) +79 (#?roce!ura'grouping$ in (/Sip/4/Tnee/)))
Clinical grpinng 8lter:
(
(?p)c'inica')grp? in (/0'inica')Crouping/))
>R
(#patient.ype9esc$ in (?p)c'inica')grp?))
>R
(#category9escription$ in (?p)c'inica')grp?))
>R
(#=ase9RC9esc$ in (?p)c'inica')grp?))
>R
(#!rg:!$ in (?p)c'inica')grp?))
>R
( (&icdCode( in (Fp,clinical,grpF"" AD (&drgId( in (&drg 3arent uniq name(""
" ---done since icdcode are present in multiple drgid)
)
drg 3arent uniq name-- reverse(su=string(reverse(su=string(?
p)!rgi!?4Q;4G66))4G4G66))
3artner 7ilter:
(
((?p)partner? in (/?artner/))>R (#system7ame$ in (?p)partner?)) >R (#system7ame$
is 7u''))
>R
((#'ocation7ame$=/?artner/)>R (#'ocation7ame$ in (?p)partner?)) >R
(#'ocation7ame$ is 7u''))
)
Ravascript to restrict user from se'ecting same va'ues in tAo !iUerent va'ue prompt%
<script>
function compare,urveys()
&
var fW = (typeof getFormWarpRequest == "function" ? getFormWarpRequest()
!ocument"forms#"formWarpRequest"$)%
if(fW)
&
var survey;=fW")oBst0*oices,urvey;"va'ue%
var surveyG=fW")oBst0*oices,urveyG"va'ue%
var surveyK=fW")oBst0*oices,urveyK"va'ue%
var survey@=fW")oBst0*oices,urvey@"va'ue%
if((survey;==surveyG)VV(survey;==surveyK)VV(survey;==survey@)VV
(surveyG==surveyK)VV(surveyG==survey@)VV(surveyK==survey@))
&
a'ert("?'ease se'ect !iUerent surveys")%
prompt(uttonReprompt()%
8
e'se
&
prompt(uttonFinis*()%
8
8
8
</script>
<!iv onmouse!oAn=compare,urveys()> Finis* =utton </!iv>
.ree prompt an! va'ue prompt use! simu'taneous'y for !efau't va'ue se'ection an!
*i!e t*e tree prompt"
Ravascript to *i!e co'umns =esi!e !ataitem on c'icJ over !ata item
<script>
function *i!eFunc()
&
var e'=!ocument"get-'ement(y:!(/+/)%
var t='=e'"parent-'ement"parent-'ement"parent-'ement"parent-'ement%
var roAs = t='"get-'ements(y.ag7ame(/tr/)%
for(i=6%i<roAs"'engt*%iPP)
&
var ce's = roAs#i$"get-'ements(y.ag7ame(/t!/)
if(i>6)
&
if (ce's#Q$"sty'e"!isp'ay=="none")
&

ce's#Q$"sty'e"!isp'ay= "='ocJ"%
ce's#I$"sty'e"!isp'ay= "='ocJ"%
8
e'se&
ce's#Q$"sty'e"!isp'ay= "none"
ce's#I$"sty'e"!isp'ay= "none"%
8
8
e'se&
if (ce's#M$"sty'e"!isp'ay=="none")
&
ce's#M$"sty'e"!isp'ay= "='ocJ"%
ce's#Q$"sty'e"!isp'ay= "='ocJ"%
8
e'se&
ce's#M$"sty'e"!isp'ay= "none"
ce's#Q$"sty'e"!isp'ay= "none"%
8
8
8
return fa'se%
8
*i!eFunc()
</script>
De0ault selection in case o0 Dash%oard design is very important:-
1)#o provide de0ault selection o0 system name and 0or all location Dapply
cascading) .ith location name as optional parameter) And 8lters o0 %oth as
system as required and location as optional

Das könnte Ihnen auch gefallen