sHelp
                                     SCH.PAT
     i   2
   sch.pat.locals
   scheduling.patient.file
     sch.pat.appointments
       sch.pat.additional.slots
       sch.pat.clinic.appt.letters
       sch.pat.appt.merged.data
       sch.pat.appt.visit.letters
       sch.web.reasons
       sch.web.comments
     sch.pat.appts.by.queue
   sch.session.counts
   sch.visit.letters
     sch.pat.visit.letters.signed
     sch.visit.letters.text
   sch.pat.wl.referral.main
     sch.pat.wl.referrals
       sch.pat.wl.referral.clinic
   zcus.uk.locals
   sch.saf.load
     saf.load.results
   sch.saf.main
     sch.saf.errors
     sch.saf.warning

 Ì     i   2
sch.pat.locals    (locals) 


 Field Name                 Len Dat Typ  J  DPM            Offset/Local/VAL                                        
 adm.urn                     30 URN      L  ADM.PAT                                                                
 admit.con                   10 FREE     L  MIS.DOC.DICT   VAL=admit.con                                           
 admit.facility              10 FREE     L  MIS.FACILITY   VAL=admit.facility                                      
 admit.intent                10 FREE     L  WL.MANAGEMENT  VAL=admit.intent                                        
 admit.loc                   10 FREE     L  MIS.LOCN.DICT  VAL=admit.loc                                           
 admit.source                10 FREE     L  MIS.ADM.SOURCE VAL=admit.source                                        
 appt.consultant             10 FREE     L                 VAL=@SCH.CLIN.DICT.doctor[@appt.clinic]                     
 appt.date.out               10 FREE     L                 VAL=%Z.date.out(@appt.date)                                 
 appt.fr.to.time              9 FREE     L                 VAL=%Z.zcus.uk.min.to.hhmm(@appt.time)_"-"_%Z.zcus.uk.      
                                                           VAL=min.to.hhmm(@appt.time+@appt.length)                    
 clinic                      10 FREE     L  SCH.CLIN.DICT  VAL=clinic                                              
 clinic.location             10 FREE     L  MIS.LOCN.DICT  VAL=@SCH.CLIN.DICT.location[@appt.clinic]               
 clinic.service              10 FREE     L                 VAL=IF{@SCH.CLIN.DICT.consultant.service[@ref.clinic,@      
                                                           VAL=ref.consultant];@SCH.CLIN.DICT.spec.service[@ref.c      
                                                           VAL=linic]}                                                 
 comment.50                  50 FREE     L                 VAL=comment.50                                              
 ctr                          3 PINT     R                                                                             
 date.x                       8 DATE     L                                                                             
 facility                    10 FREE     L  MIS.FACILITY                                                           
 held.by                     10 FREE     L  MIS.DOC.TYPE                                                           
 letter.date                 10 FREE     L                 VAL=%Z.date.out(@WL.PAT.ref.date[@ref.subscript])           
 letter.type                 11 CHOICE   L                                                                             
 model.box.number            10 FREE     L                 VAL=model.box.number                                        
 num.booked                   3 PINT     R                                                                             
 num.fu.appts                 3 PINT     R                                                                             
 num.new.appts                3 PINT     R                                                                             
 num.weeks.booked             3 PINT     R                 VAL=%Z.date.sub(@appt.date,@appt.enter.date)/7              
 old.patient                 30 FREE     L                 VAL=@MRI.PAT.unit.number                                    
 pri.map.dis                  3 FREE     L                 VAL="("_@WL.PRIOR.DICT.maps.to[@appt.priority]_")"          
 select.appt.option           1 CHOICE   L                                                                             
 session.end                  4 ZCUS.MIN L                                                                             
 slot.can.reason             10 FREE     L  SCH.CAN.DICT                                                           
 sort.date                   10 DATE     L                 VAL=sort.date                                               
 sort.end.time                4 ZCUS.MIN L                                                                             
 sort.resource               10 FREE     L                                                                             
 sort.session                 4 FREE     L                                                                             
 sort.status                 20 FREE     L                                                                             
 sort.visit.type              1 FREE     L                                                                             
 srch.start.date              8 FREE     L                                                                             
 srch.start.time              4 ZCUS.MIN L                                                                             
 temp.count                   5 FREE     L                 VAL=temp.count                                              
 temp.expected.delivery       8 DATE     L                 VAL=temp.expected.delivery                                  
 temp.sort.sub                1 FREE     L                                                                             
 temp.specialty              10 FREE     L                 VAL=temp.specialty                                          
 temp.suspension.reason      10 FREE     L  SCH.SUSPEND                                                            
 undo                         1 YN       L                                                                             
 visit.type                   1 CHOICE   L                                                                             
 wl.queue.comment            50 FREE     L                 VAL=wl.queue.comment                                        
 wl.queue.priority           10 FREE     L  MIS.ADM.PRIORT VAL=wl.queue.priority                                   
 wl.queue.reason             50 FREE     L                 VAL=wl.queue.reason                                         
 yn                           1 YN       L                                                                             
 Ì     i   2
scheduling.patient.file    (main) 
[patient]
*SP[ea]

 Field Name                 Len Dat Typ  J  DPM            Offset/Local/VAL                                        
 patient                     25 URN      L  MRI.PAT        ea                                                      
 id                          30 FREE     L                                                                             
 name                        25 URN      L  MRI.PAT                                                                
 num.of.appts                10 PINT     R                 *SP[ea]|0                                                   
 number.and.name             25 URN      L  MRI.PAT                                                                
 Ì      i   2
sch.pat.appointments    (appointments) 
[patient, appt.date,appt.time,appt.counter]
*SP[ea]A[spad,spat,spac]

 Field Name                 Len Dat Typ  J  DPM            Offset/Local/VAL                                        
 appt.date                    8 DATE     L                 spad                                                        
 appt.time                    4 ZCUS.MIN L                 spat                                                        
 appt.counter                10 PINT     R                 spac                                                        
 ..not.is.use                 0 FREE     L                 *SP[ea]A[spad,spat,spac]|18                                 
 .not.being.used              0 FREE     L                 *SP[ea]A[spad,spat,spac]CL|14                               
 .not.used                   10 FREE     L                 *SP[ea]A[spad,spat,spac]|0                                  
 appt.account.number         12 FREE     L                 *SP[ea]A[spad,spat,spac]|23                                 
 appt.attend.marker          10 FREE     L  SCH.ATTEND.MRK *SP[ea]A[spad,spat,spac]|22                             
 appt.book.in.date            8 DATE     L                 *SP[ea]A[spad,spat,spac]TR|9                                
 appt.book.in.time            4 ZCUS.MIN L                 *SP[ea]A[spad,spat,spac]TR|10                               
 appt.book.in.user           10 FREE     L  MIS.USER       *SP[ea]A[spad,spat,spac]TR|11                           
 appt.book.out.date           8 DATE     L                 *SP[ea]A[spad,spat,spac]TR|12                               
 appt.book.out.time           4 ZCUS.MIN L                 *SP[ea]A[spad,spat,spac]TR|13                               
 appt.book.out.user          10 FREE     L  MIS.USER       *SP[ea]A[spad,spat,spac]TR|14                           
 appt.calc.wait              10 FREE     L                 VAL=%Z.date.sub(appt.date,@appt.waiting.date)               
 appt.can.reason             10 FREE     L  SCH.CAN.DICT   *SP[ea]A[spad,spat,spac]CAN|0                           
 appt.can.to.counter         10 PINT     R                 *SP[ea]A[spad,spat,spac]CAN|1                               
 appt.cancel.date             8 DATE     L                 *SP[ea]A[spad,spat,spac]TR|6                                
 appt.cancel.time             4 ZCUS.MIN L                 *SP[ea]A[spad,spat,spac]TR|7                                
 appt.cancel.user            10 FREE     L  MIS.USER       *SP[ea]A[spad,spat,spac]TR|8                            
 appt.clinic                 10 FREE     L  SCH.CLIN.DICT  *SP[ea]A[spad,spat,spac]|1                              
 appt.clinic.adm.fac         10 FREE     L  MIS.FACILITY   *SP[ea]A[spad,spat,spac]CL|6                            
 appt.clinic.adm.urn         30 URN      L  ADM.PAT        *SP[ea]A[spad,spat,spac]CL|5                            
 appt.clinic.book.in          4 ZCUS.MIN L                 *SP[ea]A[spad,spat,spac]CL|2                                
 appt.clinic.book.out         4 ZCUS.MIN L                 *SP[ea]A[spad,spat,spac]CL|3                                
 appt.clinic.client          10 FREE     L                 *SP[ea]A[spad,spat,spac]CL|16                               
 appt.clinic.fin.class       10 FREE     L  MIS.FIN.CLASS  *SP[ea]A[spad,spat,spac]CL|15                           
 appt.clinic.fu.counter       3 PINT     R                 *SP[ea]A[spad,spat,spac]CL|10                               
 appt.clinic.hrg              5 FREE     L                 *SP[ea]A[spad,spat,spac]CL|18                               
 appt.clinic.outcome         20 FREE     L                 *SP[ea]A[spad,spat,spac]CL|7                                
 appt.clinic.outcome.com     50 FREE     L                 *SP[ea]A[spad,spat,spac]CL|11                               
 appt.clinic.period           8 DATE     L                 *SP[ea]A[spad,spat,spac]CL|0                                
 appt.clinic.ref.reason      10 FREE     L  WL.REF.REASON  *SP[ea]A[spad,spat,spac]CL|13                           
 appt.clinic.ref.source      10 FREE     L  WL.REF.SOURCE  *SP[ea]A[spad,spat,spac]CL|12                           
 appt.clinic.seen.by         10 FREE     L  MIS.DOC.TYPE   *SP[ea]A[spad,spat,spac]CL|4                            
 appt.clinic.seen.time        4 ZCUS.MIN L                 *SP[ea]A[spad,spat,spac]CL|8                                
 appt.clinic.session          4 ZCUS.MIN L                 *SP[ea]A[spad,spat,spac]CL|1                                
 appt.clinic.session.end      4 ZCUS.MIN L                 *SP[ea]A[spad,spat,spac]CL|9                                
 appt.clinic.ward.dis         1 YN       L                 *SP[ea]A[spad,spat,spac]CL|17                               
 appt.con.approval            1 FREE     L                 VAL=ref.clinic.con.approval                                 
 appt.con.approval.no        20 FREE     L                 VAL=ref.clinic.con.approval.no                              
 appt.enter.date              8 DATE     L                 *SP[ea]A[spad,spat,spac]TR|0                                
 appt.enter.time              4 ZCUS.MIN L                 *SP[ea]A[spad,spat,spac]TR|1                                
 appt.enter.user             10 FREE     L  MIS.USER       *SP[ea]A[spad,spat,spac]TR|2                            
 appt.er.depart               1 FREE     L                 *SP[ea]A[spad,spat,spac]|20                                 
 appt.force.booked            1 YN       L                 *SP[ea]A[spad,spat,spac]|14                                 
 appt.from.counter            3 PINT     R                 *SP[ea]A[spad,spat,spac]|13                                 
 appt.from.date               8 DATE     L                 *SP[ea]A[spad,spat,spac]|16                                 
 appt.from.time               4 ZCUS.MIN L                 *SP[ea]A[spad,spat,spac]|17                                 
 appt.gp                     10 FREE     L                 VAL=@WL.PAT.ref.gp[@appt.ref.subscript]                     
 appt.last.edit.date          8 DATE     L                 *SP[ea]A[spad,spat,spac]TR|3                                
 appt.last.edit.time          4 ZCUS.MIN L                 *SP[ea]A[spad,spat,spac]TR|4                                
 appt.last.edit.user         10 FREE     L  MIS.USER       *SP[ea]A[spad,spat,spac]TR|5                            
 appt.length                  4 PINT     R                 *SP[ea]A[spad,spat,spac]|8                                  
 appt.location               10 FREE     L  MIS.LOCN.DICT  VAL=@SCH.CLIN.DICT.location[@appt.clinic]               
 appt.mri.con.act            10 FREE     L  WL.ACTION.DICT *SP[ea]A[spad,spat,spac]CA|2                            
 appt.mri.con.comment        50 FREE     L                 *SP[ea]A[spad,spat,spac]CA|4                                
 appt.mri.con.date            8 DATE     L                 *SP[ea]A[spad,spat,spac]CA|0                                
 appt.mri.con.diag           10 FREE     L                 *SP[ea]A[spad,spat,spac]CA|5                                
 appt.mri.con.letter.sent     8 DATE     L                 *SP[ea]A[spad,spat,spac]CA|6                                
 appt.mri.con.reason         30 FREE     L                 *SP[ea]A[spad,spat,spac]CA|3                                
 appt.mri.con.time            4 HHMM     L                 *SP[ea]A[spad,spat,spac]CA|1                                
 appt.old.waiting.date        8 DATE     L                 *SP[ea]A[spad,spat,spac]|21                                 
 appt.path                    1 YN       L                 *SP[ea]A[spad,spat,spac]|6                                  
 appt.priority               10 FREE     L  MIS.ADM.PRIORT *SP[ea]A[spad,spat,spac]|2                              
 appt.ref.subscript           3 PINT     R                 *SP[ea]A[spad,spat,spac]|9                                  
 appt.times.dna               2 PINT     R                 *SP[ea]A[spad,spat,spac]|19                                 
 appt.times.rescheduled       2 PINT     R                 *SP[ea]A[spad,spat,spac]|15                                 
 appt.transport              10 FREE     L  MIS.ARRIV.DICT *SP[ea]A[spad,spat,spac]|5                              
 appt.type                   10 FREE     L  SCH.APP.TYP    *SP[ea]A[spad,spat,spac]|7                              
 appt.visit.type              1 CHOICE   L                 *SP[ea]A[spad,spat,spac]|3                                  
 appt.waiting.date            8 DATE     L                 *SP[ea]A[spad,spat,spac]|12                                 
 appt.walk.in                 1 YN       L                 *SP[ea]A[spad,spat,spac]|10                                 
 appt.web.protocol           10 FREE     L  MIS.ZCUS.PROTO *SP[ea]A[spad,spat,spac]|24                             
 appt.xray                    1 YN       L                 *SP[ea]A[spad,spat,spac]|4                                  
 sch.web.protocol            10 FREE     L  MIS.ZCUS.PROTO *SP[ea]A[spad,spat,spac]WEB|0                           
 sch.web.rescheduled          1 YN       L                 *SP[ea]A[spad,spat,spac]WEB|1                               
 Ì      i   2
sch.pat.additional.slots    (additional.slots) 
[patient,appt.date,appt.time,appt.counter, slot.start]
*SP[ea]A[spad,spat,spac]AS[slst]

 Field Name                 Len Dat Typ  J  DPM            Offset/Local/VAL                                        
 slot.start                   0 ZCUS.MIN L                 slst                                                        
 Ì      i   2
sch.pat.clinic.appt.letters    (appointment.letters) 
[patient,appt.date,appt.time,appt.counter, letter.type.sent]
*SP[ea]A[spad,spat,spac]LET[sclt]

 Field Name                 Len Dat Typ  J  DPM            Offset/Local/VAL                                        
 letter.type.sent            11 CHOICE   L                 sclt                                                        
 letter.date.sent             8 DATE     L                 *SP[ea]A[spad,spat,spac]LET[sclt]|0                         
 letter.letter.sent          10 FREE     L  SCH.LET        *SP[ea]A[spad,spat,spac]LET[sclt]|2                     
 letter.time.sent             4 ZCUS.MIN L                 *SP[ea]A[spad,spat,spac]LET[sclt]|1                         
 Ì      i   2
sch.pat.appt.merged.data    (appointment.merge) 
[patient,appt.date,appt.time,appt.counter, appt.merged.from]
*SP[ea]A[spad,spat,spac]MF[amrf]

 Field Name                 Len Dat Typ  J  DPM            Offset/Local/VAL                                        
 appt.merged.from            30 FREE     L                 amrf                                                        
 Ì      i   2
sch.pat.appt.visit.letters    (appointment.visit.letters) 
[patient,appt.date,appt.time,appt.counter, appt.visit.letter]
*SP[ea]A[spad,spat,spac]VL[spvl]

 Field Name                 Len Dat Typ  J  DPM            Offset/Local/VAL                                        
 appt.visit.letter            4 URN      L                 spvl                                                        
 appt.visit.letter.ee.date    8 DATE     L                 *SP[ea]A[spad,spat,spac]VL[spvl]|0                          
 appt.visit.letter.ee.time    4 ZCUS.MIN L                 *SP[ea]A[spad,spat,spac]VL[spvl]|1                          
 appt.visit.letter.ee.user   10 FREE     L  MIS.USER       *SP[ea]A[spad,spat,spac]VL[spvl]|2                      
 appt.visit.letter.pr.date    8 DATE     L                 *SP[ea]A[spad,spat,spac]VL[spvl]|3                          
 appt.visit.letter.pr.time    4 ZCUS.MIN L                 *SP[ea]A[spad,spat,spac]VL[spvl]|4                          
 appt.visit.letter.pr.user   10 FREE     L  MIS.USER       *SP[ea]A[spad,spat,spac]VL[spvl]|5                      
 Ì      i   2
sch.web.reasons    (sch.web.reasons) 
[patient,appt.date,appt.time,appt.counter, sch.web.reason.ct]
*SP[ea]A[spad,spat,spac]WEB["RSN",swrCT]

 Field Name                 Len Dat Typ  J  DPM            Offset/Local/VAL                                        
 sch.web.reason.ct            2 PINT     R                 swrCT                                                       
 sch.web.reason              10 FREE     L                 *SP[ea]A[spad,spat,spac]WEB["RSN",swrCT]|0                  
 Ì      i   2
sch.web.comments    (sch.web.comments) 
[patient,appt.date,appt.time,appt.counter, sch.web.comment.line]
*SP[ea]A[spad,spat,spac]WC[scl]

 Field Name                 Len Dat Typ  J  DPM            Offset/Local/VAL                                        
 sch.web.comment.line         3 URN      L                 scl                                                         
 sch.web.comment.exists       0 YN       L                 VAL=IF{+@t.sch.web.comments[,,,,""] "Exist"_@Set.attr(      
                                                           VAL=@Z.color.labels1)_(" ":IF{@.gui 15;7})_@Set.attr(@      
                                                           VAL=Z.color.data1);"Do Not Exist"}                          
 sch.web.comment.text        50 FREE     L                 *SP[ea]A[spad,spat,spac]WC[scl]                             
 sch.web.comment.view         1 YN       L                 *SP[ea]A[spad,spat,spac]WC[scl]|1                           
 Ì      i   2
sch.pat.appts.by.queue    (appointments.by.queue) 
[patient, appt.counter.q]
*SP[ea]A[spacq]

 Field Name                 Len Dat Typ  J  DPM            Offset/Local/VAL                                        
 appt.counter.q              10 PINT     R                 spacq                                                       
 .not.used.q                 10 FREE     L                 *SP[ea]A[spacq]|2                                           
 appt.clinic.q               10 FREE     L  SCH.CLIN.DICT  *SP[ea]A[spacq]|3                                       
 appt.date.q                  8 DATE     L                 *SP[ea]A[spacq]|0                                           
 appt.length.q                4 PINT     R                 *SP[ea]A[spacq]|10                                          
 appt.path.q                  1 YN       L                 *SP[ea]A[spacq]|8                                           
 appt.priority.q             10 FREE     L  MIS.ADM.PRIORT *SP[ea]A[spacq]|4                                       
 appt.q.visit.type            1 CHOICE   L                 *SP[ea]A[spacq]|5                                           
 appt.reason.for.visit.q     30 FREE     L                 *SP[ea]A[spacq]|12                                          
 appt.ref.ltr.q               3 PINT     R                 *SP[ea]A[spacq]|11                                          
 appt.time.q                  4 ZCUS.MIN L                 *SP[ea]A[spacq]|1                                           
 appt.transport.q.           10 FREE     L  MIS.ARRIV.DICT *SP[ea]A[spacq]|7                                       
 appt.type.q                 10 FREE     L  SCH.APP.TYP    *SP[ea]A[spacq]|9                                       
 appt.wl.con.q               10 FREE     L  MIS.DOC.DICT   *SP[ea]A[spacq]|13                                      
 appt.wl.tci.date             8 DATE     L                 *SP[ea]A[spacq]|14                                          
 appt.wl.tci.time             4 HHMM     L                 *SP[ea]A[spacq]|15                                          
 appt.xray.q                  1 YN       L                 *SP[ea]A[spacq]|6                                           
 Ì     i   2
sch.session.counts    (session.counts) 
[session.count.clinic,session.count.date,session.count.start]
:SPC[scc,scod,scos]

 Field Name                 Len Dat Typ  J  DPM            Offset/Local/VAL                                        
 session.count.clinic        10 FREE     L  SCH.CLIN.DICT  scc                                                     
 session.count.date           8 DATE     L                 scod                                                        
 session.count.start          4 ZCUS.MIN L                 scos                                                        
 session.count.fb             4 INT      R                 :SPC[scc,scod,scos]|2                                       
 session.count.fu             4 INT      R                 :SPC[scc,scod,scos]|1                                       
 session.count.new            4 INT      R                 :SPC[scc,scod,scos]|0                                       
 Ì     i   2
sch.visit.letters    (visit.letters) 
[visit.letter]
*SPVL[spvl]

 Field Name                 Len Dat Typ  J  DPM            Offset/Local/VAL                                        
 visit.letter                10 URN      L                 spvl                                                        
 archiving.in.process         1 YN       L                 *SPVL[spvl]|4                                               
 line.no                      3 FREE     L                                                                             
 page.break                   1 FREE     L                                                                             
 page.no                      3 FREE     L                                                                             
 screen.editor                0 FREE     L                 VAL=%SCH.PAT.text.ed.shell(^/SPVL[visit.letter]L,8,27,      
                                                           VAL=/SPVL[visit.letter]|3,4,"D")                            
 screen.editor.d              0 FREE     L                 VAL=IF{'*SPVL[visit.letter] "LETTER HAS BEEN PURGED":(      
                                                           VAL=/.WW_"C");1^/.VIEW.ONLY,%SCH.PAT.text.ed.shell(^*S      
                                                           VAL=PVL[visit.letter]L,8,25,*SPVL[visit.letter]|3,10),      
                                                           VAL=""^/.VIEW.ONLY}                                         
 screen.editor.mis            0 FREE     L                 VAL=""                                                      
 screen.editor.mis.d          0 FREE     L                 VAL=%SCH.PAT.enter.visit.letters.M.process(1),""            
 visit.letter.copies          2 FREE     L                 *SPVL[spvl]|2                                               
 visit.letter.ee.date         8 DATE     L                 *SPVL[spvl]D|0                                              
 visit.letter.ee.time         4 ZCUS.MIN L                 *SPVL[spvl]D|1                                              
 visit.letter.ee.user        10 FREE     L  MIS.USER       *SPVL[spvl]D|2                                          
 visit.letter.pr.date         8 DATE     L                 *SPVL[spvl]D|3                                              
 visit.letter.pr.time         4 ZCUS.MIN L                 *SPVL[spvl]D|4                                              
 visit.letter.pr.user        10 FREE     L  MIS.USER       *SPVL[spvl]D|5                                          
 visit.letter.ref.urn        10 PINT     R                 *SPVL[spvl]|0                                               
 visit.letter.sch.urn        10 PINT     R                 *SPVL[spvl]|1                                               
 visit.letter.width           2 PINT     R                 *SPVL[spvl]|3                                               
 Ì      i   2
sch.pat.visit.letters.signed    (visit.letters.signed) 
[visit.letter, visit.letter.sign.q]
*SPVL[spvl]ES[spvlE]

 Field Name                 Len Dat Typ  J  DPM            Offset/Local/VAL                                        
 visit.letter.sign.q          2 URN      L                 spvlE                                                       
 visit.letter.sign.date       8 DATE     L                 *SPVL[spvl]ES[spvlE]|0                                      
 visit.letter.sign.time       4 HHMM     L                 *SPVL[spvl]ES[spvlE]|1                                      
 visit.letter.sign.user      10 FREE     L  MIS.USER       *SPVL[spvl]ES[spvlE]|2                                  
 Ì      i   2
sch.visit.letters.text    (visit.letters.text) 
[visit.letter, urn]
*SPVL[spvl]L[spvlt]

 Field Name                 Len Dat Typ  J  DPM            Offset/Local/VAL                                        
 urn                          4 URN      L                 spvlt                                                       
 line                        79 FREE     L                 *SPVL[spvl]L[spvlt]                                         
 Ì     i   2
sch.pat.wl.referral.main    (wl.ref.main) 
[ref.mri.urn]
?WLR[ea]

 Field Name                 Len Dat Typ  J  DPM            Offset/Local/VAL                                        
 ref.mri.urn                 25 URN      L  MRI.PAT        ea                                                      
 Ì      i   2
sch.pat.wl.referrals    (referrals) 
[ref.mri.urn, ref.subscript]
?WLR[ea]REF[eaR]

 Field Name                 Len Dat Typ  J  DPM            Offset/Local/VAL                                        
 ref.subscript               10 FREE     L                 eaR                                                         
 ee.setup.referral            0 FREE     L                 VAL=IF{%WL.PAT.ee.setup.referral("")}                       
 ref.clinic.first.attend     10 PINT     R                 ?WLR[ea]REF[eaR]|22                                         
 ref.comment                 50 FREE     L                 ?WLR[ea]REF[eaR]["COM"]                                     
 ref.complete.date            8 DATE     L                 ?WLR[ea]REF[eaR]|7                                          
 ref.con.schedule.urn        10 FREE     L                 ?WLR[ea]REF[eaR]|13                                         
 ref.consultant              10 FREE     L  MIS.DOC.DICT   ?WLR[ea]REF[eaR]|4                                      
 ref.current.meds            50 FREE     L                 ?WLR[ea]REF[eaR]["CM"]                                      
 ref.date                     8 DATE     L                 ?WLR[ea]REF[eaR]|1                                          
 ref.date.first.attend        8 DATE     L                 ?WLR[ea]REF[eaR]|26                                         
 ref.diagnosis               10 FREE     L                 ?WLR[ea]REF[eaR]|10                                         
 ref.expected.delivery        8 DATE     L                 ?WLR[ea]REF[eaR]|8                                          
 ref.fin.class               10 FREE     L  MIS.FIN.CLASS  ?WLR[ea]REF[eaR]|12                                     
 ref.gp                      10 FREE     L  MIS.DOC.DICT   ?WLR[ea]REF[eaR]|3                                      
 ref.gp.referral.num         10 FREE     L                 ?WLR[ea]REF[eaR]|6                                          
 ref.letter.sent.date         8 DATE     L                 ?WLR[ea]REF[eaR]|11                                         
 ref.number.attend            3 PINT     R                 ?WLR[ea]REF[eaR]|21                                         
 ref.pcg                     10 FREE     L  MIS.ZCUS.PCG   ?WLR[ea]REF[eaR]|23                                     
 ref.priority                10 FREE     L  MIS.ADM.PRIORT ?WLR[ea]REF[eaR]|25                                     
 ref.reason                  50 FREE     L                 ?WLR[ea]REF[eaR]["RS"]                                      
 ref.referral.source         10 FREE     L  WL.REF.SOURCE  ?WLR[ea]REF[eaR]|15                                     
 ref.referrer                10 FREE     L  MIS.REF.DICT   ?WLR[ea]REF[eaR]|24                                     
 ref.referrer.org            10 FREE     L  MIS.REF.ORG    ?WLR[ea]REF[eaR]|27                                     
 ref.service                 10 FREE     L  MIS.SVC.DICT   ?WLR[ea]REF[eaR]|5                                      
 ref.short.notice             1 YN       L                 ?WLR[ea]REF[eaR]|9                                          
 ref.signon.facility         10 FREE     L                 ?WLR[ea]REF[eaR]|14                                         
 ref.status                  10 FREE     L                 ?WLR[ea]REF[eaR]|0                                          
 ref.time                     4 HHMM     L                 ?WLR[ea]REF[eaR]|2                                          
 zcus.ref.cancer.type        10 FREE     L  MIS.ZCUS.CANCER?WLR[ea]REF[eaR]ZCUSDD|2                                
 zcus.ref.decide.date         8 DATE     L                 ?WLR[ea]REF[eaR]ZCUSDD|0                                    
 zcus.ref.suspect.cancer      1 YN       L                 ?WLR[ea]REF[eaR]ZCUSDD|1                                    
 Ì      i   2
sch.pat.wl.referral.clinic    (referral.clinic) 
[ref.mri.urn,ref.subscript, ref.schedule.urn]
?WLR[ea]REF[eaR]CL[eaSU]

 Field Name                 Len Dat Typ  J  DPM            Offset/Local/VAL                                        
 ref.schedule.urn            10 FREE     L                 eaSU                                                        
 ..not.in.use                 0 FREE     L                 ?WLR[ea]REF[eaR]CL[eaSU]|20                                 
 ref.clin.calc.wait           5 FREE     L                 VAL=%Z.date.sub(@.today,IF{@ref.clinic.waiting.date;@r      
                                                           VAL=ef.date})                                               
 ref.clinic                  10 FREE     L  SCH.CLIN.DICT  ?WLR[ea]REF[eaR]CL[eaSU]|1                              
 ref.clinic.adm.fac          10 FREE     L  MIS.FACILITY   ?WLR[ea]REF[eaR]CL[eaSU]|8                              
 ref.clinic.adm.urn          30 URN      L  ADM.PAT        ?WLR[ea]REF[eaR]CL[eaSU]|7                              
 ref.clinic.appt.date         8 DATE     L                 ?WLR[ea]REF[eaR]CL[eaSU]|3                                  
 ref.clinic.appt.priority    10 FREE     L  MIS.ADM.PRIORT ?WLR[ea]REF[eaR]CL[eaSU]|10                             
 ref.clinic.appt.time         4 ZCUS.MIN L                 ?WLR[ea]REF[eaR]CL[eaSU]|4                                  
 ref.clinic.appt.type        10 FREE     L  SCH.APP.TYP    ?WLR[ea]REF[eaR]CL[eaSU]|2                              
 ref.clinic.can.to            3 PINT     R                 ?WLR[ea]REF[eaR]CL[eaSU]|12                                 
 ref.clinic.cancel.reason    10 FREE     L  SCH.CAN.DICT   ?WLR[ea]REF[eaR]CL[eaSU]|17                             
 ref.clinic.client           10 FREE     L                 ?WLR[ea]REF[eaR]CL[eaSU]|25                                 
 ref.clinic.con.approv.no    10 FREE     L                 ?WLR[ea]REF[eaR]CL[eaSU]PUR|5                               
 ref.clinic.con.approv.req    8 DATE     L                 ?WLR[ea]REF[eaR]CL[eaSU]PUR|7                               
 ref.clinic.con.approval      1 YN       L                 VAL=@WL.CONTRACTS.approval.needed[@ref.clinic.contract      
                                                           VAL=]                                                       
 ref.clinic.contract         20 FREE     L  WL.CONTRACTS   ?WLR[ea]REF[eaR]CL[eaSU]PUR|2                           
 ref.clinic.contract.date     8 DATE     L                 ?WLR[ea]REF[eaR]CL[eaSU]PUR|3                               
 ref.clinic.contract.ecr      1 YN       L                 ?WLR[ea]REF[eaR]CL[eaSU]PUR|4                               
 ref.clinic.fin.class        10 FREE     L  MIS.FIN.CLASS  ?WLR[ea]REF[eaR]CL[eaSU]|23                             
 ref.clinic.from.ctr          3 PINT     R                 ?WLR[ea]REF[eaR]CL[eaSU]|5                                  
 ref.clinic.from.ctr.fu       3 PINT     R                 ?WLR[ea]REF[eaR]CL[eaSU]|16                                 
 ref.clinic.from.date         8 DATE     L                 ?WLR[ea]REF[eaR]CL[eaSU]|14                                 
 ref.clinic.from.time         4 ZCUS.MIN L                 ?WLR[ea]REF[eaR]CL[eaSU]|15                                 
 ref.clinic.fu.ctr            3 PINT     R                 ?WLR[ea]REF[eaR]CL[eaSU]|13                                 
 ref.clinic.held.by          10 FREE     L  MIS.DOC.TYPE   ?WLR[ea]REF[eaR]CL[eaSU]|9                              
 ref.clinic.initiative       10 FREE     L  WL.INITIATIVE  ?WLR[ea]REF[eaR]CL[eaSU]PUR|8                           
 ref.clinic.man.pur.entry     1 YN       L                 ?WLR[ea]REF[eaR]CL[eaSU]PUR|9                               
 ref.clinic.old.appt.date     8 DATE     L                 ?WLR[ea]REF[eaR]CL[eaSU]|28                                 
 ref.clinic.old.wait.date     8 DATE     L                 ?WLR[ea]REF[eaR]CL[eaSU]|29                                 
 ref.clinic.outcome.com      50 FREE     L                 ?WLR[ea]REF[eaR]CL[eaSU]["OCOM"]                            
 ref.clinic.preoperative      1 YN       L                 ?WLR[ea]REF[eaR]CL[eaSU]|27                                 
 ref.clinic.purchaser        10 FREE     L  MIS.INS.DICT   ?WLR[ea]REF[eaR]CL[eaSU]PUR|0                           
 ref.clinic.purchaser.cat    10 FREE     L  MIS.INS.GROUP  ?WLR[ea]REF[eaR]CL[eaSU]PUR|1                           
 ref.clinic.purchaser.user   10 FREE     L  MIS.USER       ?WLR[ea]REF[eaR]CL[eaSU]PUR|6                           
 ref.clinic.ref.reason       10 FREE     L  WL.REF.REASON  ?WLR[ea]REF[eaR]CL[eaSU]|19                             
 ref.clinic.ref.source       10 FREE     L  WL.REF.SOURCE  ?WLR[ea]REF[eaR]CL[eaSU]|18                             
 ref.clinic.review.date       8 DATE     L                 ?WLR[ea]REF[eaR]CL[eaSU]|24                                 
 ref.clinic.service          10 FREE     L  MIS.SVC.DICT   VAL=IF{@SCH.CLIN.DICT.consultant.service[@ref.clinic,@  
                                                           VAL=ref.consultant];@SCH.CLIN.DICT.spec.service[@ref.c      
                                                           VAL=linic]}                                                 
 ref.clinic.status           10 FREE     L                 ?WLR[ea]REF[eaR]CL[eaSU]|0                                  
 ref.clinic.times.dna         2 PINT     R                 ?WLR[ea]REF[eaR]CL[eaSU]|22                                 
 ref.clinic.times.resch       2 PINT     R                 ?WLR[ea]REF[eaR]CL[eaSU]|11                                 
 ref.clinic.visit.type        1 CHOICE   L                 ?WLR[ea]REF[eaR]CL[eaSU]|6                                  
 ref.clinic.waiting.date      8 DATE     L                 ?WLR[ea]REF[eaR]CL[eaSU]|21                                 
 ref.clinic.ward.dis          1 YN       L                 ?WLR[ea]REF[eaR]CL[eaSU]|26                                 
 zcus.purchaser.expdate       8 DATE     L                 ?WLR[ea]REF[eaR]CL[eaSU]ZCUSPUR|0                           
 Ì     i   2
sch.saf.load    (zcus.uk.saf.load) 
*SPZCUSSAF

 Field Name                 Len Dat Typ  J  DPM            Offset/Local/VAL                                        
 zcus.current.volume          2 PINT     R                 *SPZCUSSAF|1                                                
 zcus.facility               10 FREE     L  MIS.FACILITY   *SPZCUSSAF|2                                            
 zcus.file.number             1 PINT     R                 *SPZCUSSAF|0                                                
 Ì     i   2
saf.load.results    (zcus.uk.saf.load.results) 
[zcus.saf.volume]
*SPZCUSSAF[vol]

 Field Name                 Len Dat Typ  J  DPM            Offset/Local/VAL                                        
 zcus.saf.volume              4 PINT     R                 vol                                                         
 zcus.saf.errors              8 FREE     L                 *SPZCUSSAF[vol]|4                                           
 zcus.saf.finish.time        10 FREE     L                 *SPZCUSSAF[vol]|1                                           
 zcus.saf.finish.urn         12 FREE     L                 *SPZCUSSAF[vol]|6                                           
 zcus.saf.last.filed.time    10 FREE     L                 *SPZCUSSAF[vol]|7                                           
 zcus.saf.master.job.num      4 FREE     L                 *SPZCUSSAF[vol]|9                                           
 zcus.saf.master.job.seg     10 FREE     L                 *SPZCUSSAF[vol]|8                                           
 zcus.saf.record.99          10 FREE     L                 *SPZCUSSAF[vol]|10                                          
 zcus.saf.records.read        8 FREE     L                 *SPZCUSSAF[vol]|3                                           
 zcus.saf.start.time         10 FREE     L                 *SPZCUSSAF[vol]|0                                           
 zcus.saf.start.urn          12 FREE     L                 *SPZCUSSAF[vol]|5                                           
 zcus.saf.status             15 FREE     L                 *SPZCUSSAF[vol]|2                                           
 Ì     i   2
sch.saf.main    (zcus.uk.saf.main) 
[zcus.volume,zcus.patient,zcus.episode,zcus.error,zcus.error.cnt]
*SPZCUS[vol,eaU,epno,er,ercnt]

 Field Name                 Len Dat Typ  J  DPM            Offset/Local/VAL                                        
 zcus.volume                  2 FREE     L                 vol                                                         
 zcus.patient                10 FREE     L                 eaU                                                         
 zcus.episode                 2 FREE     L                 epno                                                        
 zcus.error                  15 CHOICE   L                 er                                                          
 zcus.error.cnt              12 PINT     R                 ercnt                                                       
 zcus.error.description      50 FREE     L                 *SPZCUS[vol,eaU,epno,er,ercnt]|1                            
 zcus.error.value            20 FREE     L                 *SPZCUS[vol,eaU,epno,er,ercnt]|2                            
 zcus.record.type             2 FREE     L                 *SPZCUS[vol,eaU,epno,er,ercnt]|0                            
 Ì      i   2
sch.saf.errors    (zcus.uk.saf.errors) 
[zcus.volume,zcus.patient,zcus.episode,zcus.error,zcus.error.cnt, zcus.appt.counter.e]
*SPZCUS[vol,eaU,epno,er,ercnt]ZCUSE[appno]

 Field Name                 Len Dat Typ  J  DPM            Offset/Local/VAL                                        
 zcus.appt.counter.e          3 FREE     L                 appno                                                       
 zcus.error.clin.date         8 FREE     L                 *SPZCUS[vol,eaU,epno,er,ercnt]ZCUSE[appno]|1                
 zcus.error.clin.time         4 FREE     L                 *SPZCUS[vol,eaU,epno,er,ercnt]ZCUSE[appno]|2                
 zcus.error.clinic           10 FREE     L                 *SPZCUS[vol,eaU,epno,er,ercnt]ZCUSE[appno]|0                
 zcus.error.desc             50 FREE     L                 *SPZCUS[vol,eaU,epno,er,ercnt]ZCUSE[appno]|3                
 Ì      i   2
sch.saf.warning    (zcus.uk.saf.warning) 
[zcus.volume,zcus.patient,zcus.episode,zcus.error,zcus.error.cnt, zcus.appt.counter.w]
*SPZCUS[vol,eaU,epno,er,ercnt]ZCUSW[appno]

 Field Name                 Len Dat Typ  J  DPM            Offset/Local/VAL                                        
 zcus.appt.counter.w          3 FREE     L                 appno                                                       
 zcus.warn.clin.date          8 FREE     L                 *SPZCUS[vol,eaU,epno,er,ercnt]ZCUSW[appno]|1                
 zcus.warn.clin.time          4 FREE     L                 *SPZCUS[vol,eaU,epno,er,ercnt]ZCUSW[appno]|2                
 zcus.warn.clinic            10 FREE     L                 *SPZCUS[vol,eaU,epno,er,ercnt]ZCUSW[appno]|0                
 zcus.warn.desc              50 FREE     L                 *SPZCUS[vol,eaU,epno,er,ercnt]ZCUSW[appno]|3                
 Ì       2
 INDEX FILE/INTERNAL NAME           SUBSCRIPTS/PHYSICAL BASE

 sch.appt.by.clinic.index           [appt.clinic,appt.date,appt.time,patient,appt.counter]
   appt.by.clinic.x                   :SPCLX[scc,spad,spat,ea,spac]

 appt.wait.date.change.x            [appt.date,ref.subscript,ref.schedule.urn]
   appt.wait.date.change.x            :SPAWDX[spad,eaR,eaSU]

 sch.pat.auto.cancel.index          [date.x,ref.subscript,appt.date,appt.time,appt.counter]
   auto.cancel.x                      :SPACI[date,eaR,spad,spat,spac]

 sch.can.appt.by.clinic.index       [clinic,appt.date,appt.time,patient,appt.counter]
   cancelled.appts.x                  :SPAC[scc,spad,spat,ea,spac]

 wl.clinic.queue.index              [clinic,ref.subscript,ref.schedule.urn]
   clinic.queue.x                     ?WLR.CLI[scc,eaR,eaSU]

 sch.pat.letters.index              [clinic,MRI.PAT.unit.number,ref.subscript,appt.date,appt.time,appt.counter,lette
   letters.x                          :SPLX[scc,eaN,eaR,spad,spat,spac,sclt]

 sch.pat.wl.referral.index          [ref.subscript]
   referral.x                         ?WLR.RI[eaR]

 sch.sessions.appts.made.index      [clinic,appt.date,appt.time] = num.booked
   session.appts.made.x               :SPAM[scc,spad,spat]

 sch.cancelled.slots.index          [clinic,appt.date,appt.time] = slot.can.reason
   session.slots.cancel.x             :SPACS[scc,spad,spat]

 sch.sessions.cancelled.index       [clinic,appt.date,SCH.CLIN.DICT.session.start.time] = @SCH.CLIN.DICT.session.end
   sessions.cancelled                 :SPSCAN[scc,spad,scpss]

 sch.sessions.closed.index          [clinic,appt.date,SCH.CLIN.DICT.session.start.time] = @SCH.CLIN.DICT.session.end
   sessions.closed                    :SPSC[scc,spad,scpss]

 sch.sessions.full.index            [clinic,appt.date,SCH.CLIN.DICT.session.start.time]
   sessions.full                      :SPSF[scc,spad,scpss]

 sch.suspended.appts.index          [clinic,sch.suspend.date,ref.subscript,sch.counter]
   suspended.x                        :SPSX[scc,susd,eaR,eaSU]

 sch.visit.letters.entry.index      [appt.visit.letter.ee.date,visit.letter]
   visit.letters.ee.x                 :SPVLEX[veed,spvl]

 sch visit letters queue            [clinic,MRI.PAT.unit.number,ref.subscript,appt.date,appt.time,appt.counter,visit
   visit.letters.x                    :SPVLX[scc,eaN,eaR,spad,spat,spac,spvl]