Calling An NPR Report From An Attribute
In this example, we added a query to our CBC screen to allow the ordering user to generate a re-print of the Admitting form.


The output was sent to VIEW, like an ordinary NPR report run from a menu.

To print the report, we pass control to a macro residing in our macro library.

;------------------------------------------------------------------------------------
;Macro loads appropriate / variables and calls Admissions form
;------------------------------------------------------------------------------------
@SETUP.PATIENT,
@SETUP.PROGRAM,
@GET.ADM.DATABASE,
@OPEN.TO.ADM.AND.KEEP.SLASH,
@CALL.PROGRAM,
@RESTORE.PREFIXES,
@SEG.BACK,
END;
;-------------------------------------------------------------------------------------
SETUP.PATIENT
A^/["urn"]
SETUP.PROGRAM
"ADM.PAT.zcus.adm.form4"^/PR,
"%"_/PR_".S("_D(34)_/PR_".R"_D(34)_","_D(34)_0_D(34)_")"^/PR
GET.ADM.DATABASE
/.FAC^MIS.FACILITY.mnemonic,
"ADM"^MIS.FACILITY.database,
@Next(MIS.FACILITY.database),
MIS.FACILITY.database^/ADM.DB
OPEN.TO.ADM.AND.KEEP.SLASH
"SEGS"^MEW
$[MEW](@MIS.APPL.database.segment[/ADM.DB],@MIS.APPL.database.directory[/ADM.DB]),
CL(\S,*S,?S,:S,&S),
ZZ%OP(!S,"P"),MOVE(/,!),ZZ%OP(/S,"P"),MOVE(!,/),CL(!U)
CALL.PROGRAM
%Z.sign.on.direct(/.MIS,/ADM.DB,"",/.USR,/PR,.,1)X
RESTORE.PREFIXES
CL(\U,*U,?U,:U,&U,/U)
SEG.BACK
CL($U,%U)
