Client/Server Lookups
The technique to select one, or a list of records from a DPM and detail segment via selection on a field that allows the user to use “lookups” varies from module to module. In some modules, you should use NO index and a selection on URN. In others, you must use an index and a selection on a subscript of the index file. Here is a table with the values to use for several DPMs to save you time and trouble.
DPM | Detail Segment | Index | Field and Comments |
ABS.PAT | main | abs.pat.number.x | account.number |
ADM.PAT | main | do not use one | urn |
BAR.PAT | top | bar.acct.number.x | number |
BAR.PAT | top | bar.acct.guar.index | select on guar.id with IG then set up select as below: |
LAB.L.SPEC | various | do not use one | urn |
LAB.B.SPEC | various | do not use one | urn |
LAB.M.SPEC | various | do not use one | urn |
PHA.RX | main | pha.rx.number.x | number |
PHA.RX | main | pha.rx.patient.index | PHA.PAT.patient IG then patient EQ (/[“aa”]) does not work for LI |
PHA.RX | main | pha.rx.number.x | urn Select urn IG and number EQ (c.urn) |
NOTE: Do not write a PHA.RX report with a select on urn. Your value of c.urn will end up being the “number” field and you will therefore select the RX from a different patient if the urn of an rx matches the “number” of the patient’s RX you selected. This is an unfortunate result of the ID code attached to the urn field, which returns the value of “number” to c.urn when the ID program runs. | |||
PP.PER | main | pp.employee.name.index | sort.name |
PP.PER | main | pp.employee.ss.si.index | ss.number |
MAGIC Record Lookups
DPM | Detail Segment | Index | Field and Comments | ||
ABS.PAT | abs.pat | abs.pat.number.x | account.number | ||
ADM.PAT | adm.patient.file | do not use one | urn | ||
BAR.PAT | bar.acct | bar.acct.number.x | number | ||
BAR.PAT | bar.acct | bar.acct.guar.index | select on guar.id with IG then set up select as below: |
||
BAR.RPT | do not use one | list.urn | |||
ID=%Z.id.non.dict.rev.color(^?BRI[TYPE],A,”File#”:12L_(“Printed ID=On”:21L)_(“By”:10L),”CD:12L_(%Z.date.out(*BR[CD]|1):9L)_(*BR[CD]|2:12L)_*BR[CD]|3″) ID.ARG=BR TYPE = GSTMTS, BD XFER, BILLS, CL BILLS, CPU, FORMS, LETTERS(TX) SEL.RPTS or STMTS |
|||||
LAB.L.SPEC | Various | do not use one | urn | ||
LAB.B.SPEC | various | do not use one | urn | ||
LAB.M.SPEC | various | do not use one | urn | ||
MRI.PAT | mri.patient.file | do not use one | mri.urn EQ or IG then medical.record EQ c.mri.urn |
||
PHA.RX | pha.rx.file | pha.rx.number.x | number | ||
PHA.RX | pha.rx.file | pha.rx.patient.index | PHA.PAT.patient IG then patient EQ (/[“aa”]) does not work for LI |
||
PHA.RX | pha.rx.file | pha.rx.number.x | urn Select urn IG and number EQ (c.urn) |
||
NOTE: Do not write a PHA.RX report with a select on urn. Your value of c.urn will end up being the “number” field and you will therefore select the RX from a different patient if the urn of an rx matches the “number” of the patient’s RX you selected. This is an unfortunate result of the ID code attached to the urn field, which returns the value of “number” to c.urn when the ID program runs. | |||||
PP.PER | pp.employee.file | pp.employee.name.index | sort.name | ||
PP.PER | pp.employee.file | pp.employee.ss.si.index | ss.number | ||
RADRW.EXAM | radiology.exam.information | do not use one | rad | ||
SCH.APPT | sch.appointment | do not need one | patient IG and mri.urn EQ /[“ea”] |
||
PC File ID | %Z.dos.link.long(1) |
Resources
Related Information