RE: [Hardhats-members] How to obtain a write access of ^ ?

2005-02-14 Thread Holloway, Thomas (EDS)
   The use of ^ as a lock is a neat programmer trick to enforce
security on a field.  It can't be stored in #200 because it will alter
the number of pieces in the node (since it is the delimiter, as Kevin
noted).  It can't even be entered as a lock character through the normal
FM field edit functions because it is the abort character when entered
at a prompt.  And even if you set it into your own DUZ(0), FileMan
doesn't honor it.  The only way to create it is for a programmer to Set
it.  Of course a programmer could Kill it or change it but that might
have unintended consequences.
   I suspect that there is a considerable amount of processing
associated with entering a provider that is hard coded into the routines
and a decision was made that it should not be bypassed no matter what
the security level of the user.  If that is the case, altering
^DD(2,.104,9) would let you use the field through FM but might cause
data integrity issues down the road.  It would be nice if the Input
Transform, the Triggers and all of the other cross references in the DD
covered every business rule associated with a field but that is not the
case.  Some of the rules are so complex and so dependant on the data
entry situation that whole sets of routines are required to carry out
the appropriate data updates and linkages.

   tjh

-Original Message-
From: [EMAIL PROTECTED]
[mailto:[EMAIL PROTECTED] On Behalf Of Chris
Richardson
Sent: Monday, February 14, 2005 2:34 AM
To: hardhats-members@lists.sourceforge.net
Subject: Re: [Hardhats-members] How to obtain a write access of ^ ?

Stephen;

Then that sounds like the loading of this field is programatic (data
loaded
at the time of the action being recorded) and doesn't use Fileman to
Fill
the field.  That would keep most users (except for programmers) from
changing the data.  Interesting business rule.  I see the value of it.

- Original Message -
From: steven mcphelan [EMAIL PROTECTED]
To: hardhats-members@lists.sourceforge.net
Sent: Sunday, February 13, 2005 7:50 PM
Subject: Re: [Hardhats-members] How to obtain a write access of ^ ?


 If a field is write protected with the ^ then no DUZ(0) will allow
you
to
 edit that field using Fileman enter/edit.

 - Original Message -
 From: Nancy Anthracite [EMAIL PROTECTED]
 To: hardhats-members@lists.sourceforge.net
 Sent: Sunday, February 13, 2005 9:57 PM
 Subject: Re: [Hardhats-members] How to obtain a write access of ^ ?


  Maybe it is because you don't have a patient who has been admitted!
Note
 that
  it says inpatient below.
 
  On Sunday 13 February 2005 09:18 pm, Nancy Anthracite wrote:
   I noted that only active providers are allowed, so do your docs
have
the
   PROVIDER key and the only thing I could see that might have to do
with
 that
   and show activity was the PERSON CLASS, in file 200, which has an
   expiration date which I believe you can leave blank.  Do your docs
have
 a
   person class of physician or one of those variants?
  
   2,.104PROVIDER   .104;1 POINTER TO NEW PERSON
FILE
   (#200)
  
 INPUT TRANSFORM:  S DIC(S)=I
$$SCREEN^DGPMDD(Y,DA,DT)
 D
   ^DIC K DIC S DIC=DIE,X=+Y K:Y0 X
 LAST EDITED:  DEC 07, 1994
 HELP-PROMPT:  The provider currently assigned to
this
   inpatient applicant.
 DESCRIPTION:  From the available listing select
the
   provider who is currently treating this patient.
  
 SCREEN:   S DIC(S)=I
$$SCREEN^DGPMDD(Y,DA,DT)
 EXPLANATION:  Allow only active providers.
 EXECUTABLE HELP:  D HELP^DGPMDD(DA,DT)
 CROSS-REFERENCE:  2^APR
   1)= S ^DPT(APR,$E(X,1,30),DA)=
   2)= K ^DPT(APR,$E(X,1,30),DA)
  
   On Sunday 13 February 2005 08:26 pm, Kevin Toppenberg wrote:
I also thought @ was a master access setting.  But
here is a screen log of what I am seeing.
   
   
GTMzwr DUZ
DUZ=90
DUZ(0)=@
DUZ(1)=
DUZ(2)=69
DUZ(AG)=O
DUZ(AUTO)=1
DUZ(BUF)=1
DUZ(LANG)=1
   
GTMd ^XUP
   
Setting up programmer environment
Terminal Type set to: C-VT102
   
Select OPTION NAME: diedit
   
INPUT TO WHAT FILE: NEW PERSON// 2  PATIENT  (69454
entries)
EDIT WHICH FIELD: ALL// Provider??
EDIT WHICH FIELD: ALL// .104??
EDIT WHICH FIELD: ALL// .1041??
EDIT WHICH FIELD: ALL//
   
   
Is there something else wrong that I am doing?
   
Thanks
Kevin
   
   
   
--- Marianne Susaanti Follingstad
   
[EMAIL PROTECTED] wrote:
 Actually, the @ is a superaccess that should be
 sufficient for any situation, no matter what
 the file DD, read, write, delete access code is.  In
 other words, you should not have any
 difficulty doing anything in any file.  Are you
 having difficulty or are you just
 anticipating having difficult, 

Re: [Hardhats-members] How to obtain a write access of ^ ?

2005-02-14 Thread Greg Kreis




BUFFER ERROR That should have been 'it is a way', not 'it was a
want'. If only I could keep my typing buffer in sync with my thinking
buffer ;-)

Greg Kreis wrote:

  
Has this been changed? It used to be that you could set DUZ(0)="^" and
it would permit the edit. As mentioned here, it was a want to 'write
protect' a field so that only a trigger could enter the data (a trigger
asks if you want to write protect a field).
  
Holloway, Thomas (EDS) wrote:
  
   The use of "^" as a lock is a neat programmer trick to enforce
security on a field.  It can't be stored in #200 because it will alter
the number of pieces in the node (since it is the delimiter, as Kevin
noted).  It can't even be entered as a lock character through the normal
FM field edit functions because it is the "abort" character when entered
at a prompt.  And even if you set it into your own DUZ(0), FileMan
doesn't honor it.  The only way to create it is for a programmer to Set
it.  Of course a programmer could Kill it or change it but that might
have unintended consequences.
   I suspect that there is a considerable amount of processing
associated with entering a provider that is hard coded into the routines
and a decision was made that it should not be bypassed no matter what
the security level of the user.  If that is the case, altering
^DD(2,.104,9) would let you use the field through FM but might cause
data integrity issues down the road.  It would be nice if the Input
Transform, the Triggers and all of the other cross references in the DD
covered every business rule associated with a field but that is not the
case.  Some of the rules are so complex and so dependant on the data
entry situation that whole sets of routines are required to carry out
the appropriate data updates and linkages.

   tjh

-Original Message-
From: [EMAIL PROTECTED]
[mailto:[EMAIL PROTECTED]] On Behalf Of Chris
Richardson
Sent: Monday, February 14, 2005 2:34 AM
To: hardhats-members@lists.sourceforge.net
Subject: Re: [Hardhats-members] How to obtain a write access of "^" ?

Stephen;

Then that sounds like the loading of this field is programatic (data
loaded
at the time of the action being recorded) and doesn't use Fileman to
Fill
the field.  That would keep most users (except for programmers) from
changing the data.  Interesting business rule.  I see the value of it.

- Original Message -
From: "steven mcphelan" [EMAIL PROTECTED]
To: hardhats-members@lists.sourceforge.net
Sent: Sunday, February 13, 2005 7:50 PM
Subject: Re: [Hardhats-members] How to obtain a write access of "^" ?


  

  If a field is write protected with the "^" then no DUZ(0) will allow


you
to
  

  edit that field using Fileman enter/edit.

- Original Message -
From: "Nancy Anthracite" [EMAIL PROTECTED]
To: hardhats-members@lists.sourceforge.net
Sent: Sunday, February 13, 2005 9:57 PM
Subject: Re: [Hardhats-members] How to obtain a write access of "^" ?



  
Maybe it is because you don't have a patient who has been admitted!
  
  

Note
  

  that

  
it says inpatient below.

On Sunday 13 February 2005 09:18 pm, Nancy Anthracite wrote:
  

  I noted that only active providers are allowed, so do your docs


  

have
the
  

  

  PROVIDER key and the only thing I could see that might have to do


  

with
  

  that

  

  and show activity was the PERSON CLASS, in file 200, which has an
expiration date which I believe you can leave blank.  Do your docs


  

have
  

  a

  

  person class of physician or one of those variants?

2,.104PROVIDER   .104;1 POINTER TO NEW PERSON


  

FILE
  

  

  (#200)

  INPUT TRANSFORM:  S DIC("S")="I


  

$$SCREEN^DGPMDD(Y,DA,DT)"
  

  D

  

  ^DIC K DIC S DIC=DIE,X=+Y K:Y0 X
  LAST EDITED:  DEC 07, 1994
  HELP-PROMPT:  The provider currently assigned to


  

this
  

  

  inpatient applicant.
  DESCRIPTION:  From the available listing select


  

the
  

  

  provider who is currently treating this patient.

  SCREEN:   S DIC("S")="I


  

$$SCREEN^DGPMDD(Y,DA,DT)"
  

  

EXPLANATION:  Allow only active providers.
  EXECUTABLE HELP:  D HELP^DGPMDD(DA,DT)
  CROSS-REFERENCE:  2^APR
1)= S ^DPT("APR",$E(X,1,30),DA)=""
2)= K 

RE: [Hardhats-members] How to obtain a write access of ^ ?

2005-02-14 Thread Holloway, Thomas (EDS)



Greg asked: "Has this been changed?"

I don't know Greg. I just tested it by putting a ^ in 
DUZ(0) and that stilldidn't allow me to select the field. Based on 
that result,it was an assumption on my part that FileMan doesn't honor 
that particular character as a key to unlock the lock. Possibly there was 
a flaw in my test?

 tjh

"It's a philosophy of life - - go whole hog and 
accept the consequences.", Robert Fulghum


From: 
[EMAIL PROTECTED] 
[mailto:[EMAIL PROTECTED] On Behalf Of Greg 
KreisSent: Monday, February 14, 2005 10:22 AMTo: 
hardhats-members@lists.sourceforge.netSubject: Re: [Hardhats-members] 
How to obtain a write access of "^" ?
BUFFER ERROR That should have been 'it is a way', not 'it was 
a want'. If only I could keep my typing buffer in sync with my thinking 
buffer ;-)Greg Kreis wrote: 
Has this 
  been changed? It used to be that you could set DUZ(0)="^" and it would 
  permit the edit. As mentioned here, it was a want to 'write protect' a 
  field so that only a trigger could enter the data (a trigger asks if you want 
  to write protect a field).Holloway, Thomas (EDS) wrote: 
 The use of "^" as a lock is a neat programmer trick to enforce
security on a field.  It can't be stored in #200 because it will alter
the number of pieces in the node (since it is the delimiter, as Kevin
noted).  It can't even be entered as a lock character through the normal
FM field edit functions because it is the "abort" character when entered
at a prompt.  And even if you set it into your own DUZ(0), FileMan
doesn't honor it.  The only way to create it is for a programmer to Set
it.  Of course a programmer could Kill it or change it but that might
have unintended consequences.
   I suspect that there is a considerable amount of processing
associated with entering a provider that is hard coded into the routines
and a decision was made that it should not be bypassed no matter what
the security level of the user.  If that is the case, altering
^DD(2,.104,9) would let you use the field through FM but might cause
data integrity issues down the road.  It would be nice if the Input
Transform, the Triggers and all of the other cross references in the DD
covered every business rule associated with a field but that is not the
case.  Some of the rules are so complex and so dependant on the data
entry situation that whole sets of routines are required to carry out
the appropriate data updates and linkages.

   tjh

-Original Message-
From: [EMAIL PROTECTED]
[mailto:[EMAIL PROTECTED]] On Behalf Of Chris
Richardson
Sent: Monday, February 14, 2005 2:34 AM
To: hardhats-members@lists.sourceforge.net
Subject: Re: [Hardhats-members] How to obtain a write access of "^" ?

Stephen;

Then that sounds like the loading of this field is programatic (data
loaded
at the time of the action being recorded) and doesn't use Fileman to
Fill
the field.  That would keep most users (except for programmers) from
changing the data.  Interesting business rule.  I see the value of it.

- Original Message -
From: "steven mcphelan" [EMAIL PROTECTED]
To: hardhats-members@lists.sourceforge.net
Sent: Sunday, February 13, 2005 7:50 PM
Subject: Re: [Hardhats-members] How to obtain a write access of "^" ?


  
If a field is write protected with the "^" then no DUZ(0) will allow
you
to
  
edit that field using Fileman enter/edit.

- Original Message -
From: "Nancy Anthracite" [EMAIL PROTECTED]
To: hardhats-members@lists.sourceforge.net
Sent: Sunday, February 13, 2005 9:57 PM
Subject: Re: [Hardhats-members] How to obtain a write access of "^" ?



  Maybe it is because you don't have a patient who has been admitted!
  Note
  
that

  it says inpatient below.

On Sunday 13 February 2005 09:18 pm, Nancy Anthracite wrote:
  
I noted that only active providers are allowed, so do your docs
have
the
  

  
PROVIDER key and the only thing I could see that might have to do
with
  
that

  
and show activity was the PERSON CLASS, in file 200, which has an
expiration date which I believe you can leave blank.  Do your docs
have
  
a

  
person class of physician or one of those variants?

2,.104PROVIDER   .104;1 POINTER TO NEW PERSON
FILE
  

  
(#200)

  INPUT TRANSFORM:  S DIC("S")="I
$$SCREEN^DGPMDD(Y,DA,DT)"
  
D

  
^DIC K DIC S DIC=DIE,X=+Y K:Y0 X
  LAST EDITED:  DEC 07, 1994
  HELP-PROMPT:  The provider currently assigned to
this
  

  
inpatient applicant.
  DESCRIPTION:  From the available listing select
the
  

  
provider who is currently treating this patient.

  SCREEN:   S DIC("S")="I
$$SCREEN^DGPMDD(Y,DA,DT)"
  

  
  

RE: [Hardhats-members] How to obtain a write access of ^ ?

2005-02-14 Thread Greg Woodhouse
Does this trick offer any advantages over using the Uneditable Data
option in Fileman to make the field uneditable? The effect is basically
the same: Fileman disallows writes and deletes.


--- Holloway, Thomas (EDS) [EMAIL PROTECTED] wrote:

The use of ^ as a lock is a neat programmer trick to enforce
 security on a field.  It can't be stored in #200 because it will
 alter
 the number of pieces in the node (since it is the delimiter, as Kevin
 noted).  It can't even be entered as a lock character through the
 normal
 FM field edit functions because it is the abort character when
 entered
 at a prompt.  And even if you set it into your own DUZ(0), FileMan
 doesn't honor it.  The only way to create it is for a programmer to
 Set
 it.  Of course a programmer could Kill it or change it but that might
 have unintended consequences.
I suspect that there is a considerable amount of processing
 associated with entering a provider that is hard coded into the
 routines
 and a decision was made that it should not be bypassed no matter what
 the security level of the user.  If that is the case, altering
 ^DD(2,.104,9) would let you use the field through FM but might cause
 data integrity issues down the road.  It would be nice if the Input
 Transform, the Triggers and all of the other cross references in the
 DD
 covered every business rule associated with a field but that is not
 the
 case.  Some of the rules are so complex and so dependant on the data
 entry situation that whole sets of routines are required to carry out
 the appropriate data updates and linkages.
 
tjh
 
 -Original Message-
 From: [EMAIL PROTECTED]
 [mailto:[EMAIL PROTECTED] On Behalf Of
 Chris
 Richardson
 Sent: Monday, February 14, 2005 2:34 AM
 To: hardhats-members@lists.sourceforge.net
 Subject: Re: [Hardhats-members] How to obtain a write access of ^ ?
 
 Stephen;
 
 Then that sounds like the loading of this field is programatic (data
 loaded
 at the time of the action being recorded) and doesn't use Fileman to
 Fill
 the field.  That would keep most users (except for programmers) from
 changing the data.  Interesting business rule.  I see the value of
 it.
 
 - Original Message -
 From: steven mcphelan [EMAIL PROTECTED]
 To: hardhats-members@lists.sourceforge.net
 Sent: Sunday, February 13, 2005 7:50 PM
 Subject: Re: [Hardhats-members] How to obtain a write access of ^ ?
 
 
  If a field is write protected with the ^ then no DUZ(0) will
 allow
 you
 to
  edit that field using Fileman enter/edit.
 
  - Original Message -
  From: Nancy Anthracite [EMAIL PROTECTED]
  To: hardhats-members@lists.sourceforge.net
  Sent: Sunday, February 13, 2005 9:57 PM
  Subject: Re: [Hardhats-members] How to obtain a write access of ^
 ?
 
 
   Maybe it is because you don't have a patient who has been
 admitted!
 Note
  that
   it says inpatient below.
  
   On Sunday 13 February 2005 09:18 pm, Nancy Anthracite wrote:
I noted that only active providers are allowed, so do your docs
 have
 the
PROVIDER key and the only thing I could see that might have to
 do
 with
  that
and show activity was the PERSON CLASS, in file 200, which has
 an
expiration date which I believe you can leave blank.  Do your
 docs
 have
  a
person class of physician or one of those variants?
   
2,.104PROVIDER   .104;1 POINTER TO NEW
 PERSON
 FILE
(#200)
   
  INPUT TRANSFORM:  S DIC(S)=I
 $$SCREEN^DGPMDD(Y,DA,DT)
  D
^DIC K DIC S DIC=DIE,X=+Y K:Y0 X
  LAST EDITED:  DEC 07, 1994
  HELP-PROMPT:  The provider currently assigned
 to
 this
inpatient applicant.
  DESCRIPTION:  From the available listing
 select
 the
provider who is currently treating this patient.
   
  SCREEN:   S DIC(S)=I
 $$SCREEN^DGPMDD(Y,DA,DT)
  EXPLANATION:  Allow only active providers.
  EXECUTABLE HELP:  D HELP^DGPMDD(DA,DT)
  CROSS-REFERENCE:  2^APR
1)= S
 ^DPT(APR,$E(X,1,30),DA)=
2)= K ^DPT(APR,$E(X,1,30),DA)
   
On Sunday 13 February 2005 08:26 pm, Kevin Toppenberg wrote:
 I also thought @ was a master access setting.  But
 here is a screen log of what I am seeing.


 GTMzwr DUZ
 DUZ=90
 DUZ(0)=@
 DUZ(1)=
 DUZ(2)=69
 DUZ(AG)=O
 DUZ(AUTO)=1
 DUZ(BUF)=1
 DUZ(LANG)=1

 GTMd ^XUP

 Setting up programmer environment
 Terminal Type set to: C-VT102

 Select OPTION NAME: diedit

 INPUT TO WHAT FILE: NEW PERSON// 2  PATIENT  (69454
 entries)
 EDIT WHICH FIELD: ALL// Provider??
 EDIT WHICH FIELD: ALL// .104??
 EDIT WHICH FIELD: ALL// .1041??
 EDIT WHICH FIELD: ALL//


 Is there something else wrong that I am doing?

 Thanks
 Kevin



  

RE: [Hardhats-members] How to obtain a write access of ^ ?

2005-02-14 Thread Greg Woodhouse
Here's an example of what happens when you try to edit an uneditable
field. (TEST is both the field name and the .01 field of the record
with ien 1, which is a little confusing.)


Select MESSAGE TEMPLATE NAME: `1  TEST
TEST: U


Select MESSAGE TEMPLATE NAME: `1  TEST
TEST: U//   (No Editing)


Select MESSAGE TEMPLATE NAME: 

--- Greg Woodhouse [EMAIL PROTECTED] wrote:

 Does this trick offer any advantages over using the Uneditable Data
 option in Fileman to make the field uneditable? The effect is
 basically
 the same: Fileman disallows writes and deletes.
 
 
 --- Holloway, Thomas (EDS) [EMAIL PROTECTED] wrote:
 
 The use of ^ as a lock is a neat programmer trick to enforce
  security on a field.  It can't be stored in #200 because it will
  alter
  the number of pieces in the node (since it is the delimiter, as
 Kevin
  noted).  It can't even be entered as a lock character through the
  normal
  FM field edit functions because it is the abort character when
  entered
  at a prompt.  And even if you set it into your own DUZ(0), FileMan
  doesn't honor it.  The only way to create it is for a programmer to
  Set
  it.  Of course a programmer could Kill it or change it but that
 might
  have unintended consequences.
 I suspect that there is a considerable amount of processing
  associated with entering a provider that is hard coded into the
  routines
  and a decision was made that it should not be bypassed no matter
 what
  the security level of the user.  If that is the case, altering
  ^DD(2,.104,9) would let you use the field through FM but might
 cause
  data integrity issues down the road.  It would be nice if the Input
  Transform, the Triggers and all of the other cross references in
 the
  DD
  covered every business rule associated with a field but that is not
  the
  case.  Some of the rules are so complex and so dependant on the
 data
  entry situation that whole sets of routines are required to carry
 out
  the appropriate data updates and linkages.
  
 tjh
  
  -Original Message-
  From: [EMAIL PROTECTED]
  [mailto:[EMAIL PROTECTED] On Behalf Of
  Chris
  Richardson
  Sent: Monday, February 14, 2005 2:34 AM
  To: hardhats-members@lists.sourceforge.net
  Subject: Re: [Hardhats-members] How to obtain a write access of ^
 ?
  
  Stephen;
  
  Then that sounds like the loading of this field is programatic
 (data
  loaded
  at the time of the action being recorded) and doesn't use Fileman
 to
  Fill
  the field.  That would keep most users (except for programmers)
 from
  changing the data.  Interesting business rule.  I see the value of
  it.
  
  - Original Message -
  From: steven mcphelan [EMAIL PROTECTED]
  To: hardhats-members@lists.sourceforge.net
  Sent: Sunday, February 13, 2005 7:50 PM
  Subject: Re: [Hardhats-members] How to obtain a write access of ^
 ?
  
  
   If a field is write protected with the ^ then no DUZ(0) will
  allow
  you
  to
   edit that field using Fileman enter/edit.
  
   - Original Message -
   From: Nancy Anthracite [EMAIL PROTECTED]
   To: hardhats-members@lists.sourceforge.net
   Sent: Sunday, February 13, 2005 9:57 PM
   Subject: Re: [Hardhats-members] How to obtain a write access of
 ^
  ?
  
  
Maybe it is because you don't have a patient who has been
  admitted!
  Note
   that
it says inpatient below.
   
On Sunday 13 February 2005 09:18 pm, Nancy Anthracite wrote:
 I noted that only active providers are allowed, so do your
 docs
  have
  the
 PROVIDER key and the only thing I could see that might have
 to
  do
  with
   that
 and show activity was the PERSON CLASS, in file 200, which
 has
  an
 expiration date which I believe you can leave blank.  Do your
  docs
  have
   a
 person class of physician or one of those variants?

 2,.104PROVIDER   .104;1 POINTER TO NEW
  PERSON
  FILE
 (#200)

   INPUT TRANSFORM:  S DIC(S)=I
  $$SCREEN^DGPMDD(Y,DA,DT)
   D
 ^DIC K DIC S DIC=DIE,X=+Y K:Y0 X
   LAST EDITED:  DEC 07, 1994
   HELP-PROMPT:  The provider currently
 assigned
  to
  this
 inpatient applicant.
   DESCRIPTION:  From the available listing
  select
  the
 provider who is currently treating this patient.

   SCREEN:   S DIC(S)=I
  $$SCREEN^DGPMDD(Y,DA,DT)
   EXPLANATION:  Allow only active providers.
   EXECUTABLE HELP:  D HELP^DGPMDD(DA,DT)
   CROSS-REFERENCE:  2^APR
 1)= S
  ^DPT(APR,$E(X,1,30),DA)=
 2)= K
 ^DPT(APR,$E(X,1,30),DA)

 On Sunday 13 February 2005 08:26 pm, Kevin Toppenberg wrote:
  I also thought @ was a master access setting.  But
  here is a screen log of what I am seeing.
 
 
  GTMzwr DUZ
  DUZ=90
  DUZ(0)=@
  DUZ(1)=
  

RE: [Hardhats-members] How to obtain a write access of ^ ?

2005-02-14 Thread Holloway, Thomas (EDS)
You've got me, Greg. I was curious about Kevin's issue and just tried a
few things.  What I wrote is just my observation,  I didn't have
anything to do with the design, and the things that I work on don't
generally require the use of this technique.

   tjh

-Original Message-
From: [EMAIL PROTECTED]
[mailto:[EMAIL PROTECTED] On Behalf Of Greg
Woodhouse
Sent: Monday, February 14, 2005 10:58 AM
To: hardhats-members@lists.sourceforge.net
Subject: RE: [Hardhats-members] How to obtain a write access of ^ ?

Does this trick offer any advantages over using the Uneditable Data
option in Fileman to make the field uneditable? The effect is basically
the same: Fileman disallows writes and deletes.


--- Holloway, Thomas (EDS) [EMAIL PROTECTED] wrote:

The use of ^ as a lock is a neat programmer trick to enforce
 security on a field.  It can't be stored in #200 because it will
 alter
 the number of pieces in the node (since it is the delimiter, as Kevin
 noted).  It can't even be entered as a lock character through the
 normal
 FM field edit functions because it is the abort character when
 entered
 at a prompt.  And even if you set it into your own DUZ(0), FileMan
 doesn't honor it.  The only way to create it is for a programmer to
 Set
 it.  Of course a programmer could Kill it or change it but that might
 have unintended consequences.
I suspect that there is a considerable amount of processing
 associated with entering a provider that is hard coded into the
 routines
 and a decision was made that it should not be bypassed no matter what
 the security level of the user.  If that is the case, altering
 ^DD(2,.104,9) would let you use the field through FM but might cause
 data integrity issues down the road.  It would be nice if the Input
 Transform, the Triggers and all of the other cross references in the
 DD
 covered every business rule associated with a field but that is not
 the
 case.  Some of the rules are so complex and so dependant on the data
 entry situation that whole sets of routines are required to carry out
 the appropriate data updates and linkages.
 
tjh
 
 -Original Message-
 From: [EMAIL PROTECTED]
 [mailto:[EMAIL PROTECTED] On Behalf Of
 Chris
 Richardson
 Sent: Monday, February 14, 2005 2:34 AM
 To: hardhats-members@lists.sourceforge.net
 Subject: Re: [Hardhats-members] How to obtain a write access of ^ ?
 
 Stephen;
 
 Then that sounds like the loading of this field is programatic (data
 loaded
 at the time of the action being recorded) and doesn't use Fileman to
 Fill
 the field.  That would keep most users (except for programmers) from
 changing the data.  Interesting business rule.  I see the value of
 it.
 
 - Original Message -
 From: steven mcphelan [EMAIL PROTECTED]
 To: hardhats-members@lists.sourceforge.net
 Sent: Sunday, February 13, 2005 7:50 PM
 Subject: Re: [Hardhats-members] How to obtain a write access of ^ ?
 
 
  If a field is write protected with the ^ then no DUZ(0) will
 allow
 you
 to
  edit that field using Fileman enter/edit.
 
  - Original Message -
  From: Nancy Anthracite [EMAIL PROTECTED]
  To: hardhats-members@lists.sourceforge.net
  Sent: Sunday, February 13, 2005 9:57 PM
  Subject: Re: [Hardhats-members] How to obtain a write access of ^
 ?
 
 
   Maybe it is because you don't have a patient who has been
 admitted!
 Note
  that
   it says inpatient below.
  
   On Sunday 13 February 2005 09:18 pm, Nancy Anthracite wrote:
I noted that only active providers are allowed, so do your docs
 have
 the
PROVIDER key and the only thing I could see that might have to
 do
 with
  that
and show activity was the PERSON CLASS, in file 200, which has
 an
expiration date which I believe you can leave blank.  Do your
 docs
 have
  a
person class of physician or one of those variants?
   
2,.104PROVIDER   .104;1 POINTER TO NEW
 PERSON
 FILE
(#200)
   
  INPUT TRANSFORM:  S DIC(S)=I
 $$SCREEN^DGPMDD(Y,DA,DT)
  D
^DIC K DIC S DIC=DIE,X=+Y K:Y0 X
  LAST EDITED:  DEC 07, 1994
  HELP-PROMPT:  The provider currently assigned
 to
 this
inpatient applicant.
  DESCRIPTION:  From the available listing
 select
 the
provider who is currently treating this patient.
   
  SCREEN:   S DIC(S)=I
 $$SCREEN^DGPMDD(Y,DA,DT)
  EXPLANATION:  Allow only active providers.
  EXECUTABLE HELP:  D HELP^DGPMDD(DA,DT)
  CROSS-REFERENCE:  2^APR
1)= S
 ^DPT(APR,$E(X,1,30),DA)=
2)= K ^DPT(APR,$E(X,1,30),DA)
   
On Sunday 13 February 2005 08:26 pm, Kevin Toppenberg wrote:
 I also thought @ was a master access setting.  But
 here is a screen log of what I am seeing.


 GTMzwr DUZ
 DUZ=90
 DUZ(0)=@
 DUZ(1)=
 DUZ(2)=69
 

Re: [Hardhats-members] How to obtain a write access of ^ ?

2005-02-14 Thread Greg Woodhouse
I suspect something else must be going on. I tried setting the write
protection to ^ (BTW, you can do this because the field sits by
itself on a global node in the DD) and, sure enough, DUZ(0)=@ does
trump ^, just as Marianne said. If yhou were using DIC, I'd think
perhaps you had a pre-selection action. Does the file have a special
lookup routine?

--- Greg Kreis [EMAIL PROTECTED] wrote:

 Has this been changed?  It used to be that you could set DUZ(0)=^
 and 
 it would permit the edit.  As mentioned here, it was a want to 'write
 
 protect' a field so that only a trigger could enter the data (a
 trigger 
 asks if you want to write protect a field).
 
 Holloway, Thomas (EDS) wrote:
 
The use of ^ as a lock is a neat programmer trick to enforce
 security on a field.  It can't be stored in #200 because it will
 alter
 the number of pieces in the node (since it is the delimiter, as
 Kevin
 noted).  It can't even be entered as a lock character through the
 normal
 FM field edit functions because it is the abort character when
 entered
 at a prompt.  And even if you set it into your own DUZ(0), FileMan
 doesn't honor it.  The only way to create it is for a programmer to
 Set
 it.  Of course a programmer could Kill it or change it but that
 might
 have unintended consequences.
I suspect that there is a considerable amount of processing
 associated with entering a provider that is hard coded into the
 routines
 and a decision was made that it should not be bypassed no matter
 what
 the security level of the user.  If that is the case, altering
 ^DD(2,.104,9) would let you use the field through FM but might cause
 data integrity issues down the road.  It would be nice if the Input
 Transform, the Triggers and all of the other cross references in the
 DD
 covered every business rule associated with a field but that is not
 the
 case.  Some of the rules are so complex and so dependant on the data
 entry situation that whole sets of routines are required to carry
 out
 the appropriate data updates and linkages.
 
tjh
 
 -Original Message-
 From: [EMAIL PROTECTED]
 [mailto:[EMAIL PROTECTED] On Behalf Of
 Chris
 Richardson
 Sent: Monday, February 14, 2005 2:34 AM
 To: hardhats-members@lists.sourceforge.net
 Subject: Re: [Hardhats-members] How to obtain a write access of ^
 ?
 
 Stephen;
 
 Then that sounds like the loading of this field is programatic (data
 loaded
 at the time of the action being recorded) and doesn't use Fileman to
 Fill
 the field.  That would keep most users (except for programmers) from
 changing the data.  Interesting business rule.  I see the value of
 it.
 
 - Original Message -
 From: steven mcphelan [EMAIL PROTECTED]
 To: hardhats-members@lists.sourceforge.net
 Sent: Sunday, February 13, 2005 7:50 PM
 Subject: Re: [Hardhats-members] How to obtain a write access of ^
 ?
 
 
   
 
 If a field is write protected with the ^ then no DUZ(0) will
 allow
 
 
 you
 to
   
 
 edit that field using Fileman enter/edit.
 
 - Original Message -
 From: Nancy Anthracite [EMAIL PROTECTED]
 To: hardhats-members@lists.sourceforge.net
 Sent: Sunday, February 13, 2005 9:57 PM
 Subject: Re: [Hardhats-members] How to obtain a write access of ^
 ?
 
 
 
 
 Maybe it is because you don't have a patient who has been
 admitted!
   
 
 Note
   
 
 that
 
 
 it says inpatient below.
 
 On Sunday 13 February 2005 09:18 pm, Nancy Anthracite wrote:
   
 
 I noted that only active providers are allowed, so do your docs
 
 
 have
 the
   
 
 PROVIDER key and the only thing I could see that might have to do
 
 
 with
   
 
 that
 
 
 and show activity was the PERSON CLASS, in file 200, which has an
 expiration date which I believe you can leave blank.  Do your
 docs
 
 
 have
   
 
 a
 
 
 person class of physician or one of those variants?
 
 2,.104PROVIDER   .104;1 POINTER TO NEW PERSON
 
 
 FILE
   
 
 (#200)
 
   INPUT TRANSFORM:  S DIC(S)=I
 
 
 $$SCREEN^DGPMDD(Y,DA,DT)
   
 
 D
 
 
 ^DIC K DIC S DIC=DIE,X=+Y K:Y0 X
   LAST EDITED:  DEC 07, 1994
   HELP-PROMPT:  The provider currently assigned
 to
 
 
 this
   
 
 inpatient applicant.
   DESCRIPTION:  From the available listing select
 
 
 the
   
 
 provider who is currently treating this patient.
 
   SCREEN:   S DIC(S)=I
 
 
 $$SCREEN^DGPMDD(Y,DA,DT)
   
 
   EXPLANATION:  Allow only active providers.
   EXECUTABLE HELP:  D HELP^DGPMDD(DA,DT)
   CROSS-REFERENCE:  2^APR
 1)= S
 ^DPT(APR,$E(X,1,30),DA)=
 2)= K ^DPT(APR,$E(X,1,30),DA)
 
 On Sunday 13 February 2005 08:26 pm, Kevin Toppenberg wrote:
 
 
 I also thought @ was a master access setting.  But
 here is a screen log of what I am seeing.
 
 
 

RE: [Hardhats-members] Adding / Editing patients

2005-02-14 Thread Kevin Toppenberg
Thurman,

This will only help you edit them after you have added
them.  If you want help doing a batch upload, let me
know off list.

Kevin

--- Thurman Pedigo [EMAIL PROTECTED] wrote:

 This should be a great help to me. I have around
 18,000 file I need to
 convert. Will move me a long way toward complete
 conversiontx/t
 
  -Original Message-
  From: [EMAIL PROTECTED]
 [mailto:hardhats-
  [EMAIL PROTECTED] On Behalf Of
 Nancy Anthracite
  Sent: Sunday, February 13, 2005 7:21 PM
  To: hardhats-members@lists.sourceforge.net
  Subject: Re: [Hardhats-members] Adding / Editing
 patients
  
  Nice going, Kevin!  The VistA Office folks might
 like this once you get
  your
  last problem solved.
  
  On Sunday 13 February 2005 08:03 pm, Kevin
 Toppenberg wrote:
   Hey all,
  
   I have some code to offer othes here (if they
 want
   it), and some thoughts and questions.
  
   First, I wrote some custom code that
 bulk-created
   patient records in the PATIENT file.  I ported
 over
   around 70,000 patients.  Now, as I use these
 patients,
   I am finding that some tweeking needs to be
 done...
   ie. completing the records etc.  So I have been
 trying
   to decide how best to edit this data.  I am
   comfortable now doing it directly in Fileman. 
 But
   that wouldn't be good for my receptionists.  So
 I
   looked at the DG REGISTER... menus.  And there I
 ran
   into the same problem that Nick was having about
 the
   system trying to connect to the MPI.  Plus, it
 was
   getting to way too many questions (i.e. it was
 getting
   ready to admit a patient into the hospital),
 rather
   than just editing the patient record.
  
   So I have cut, pasted, and trimmed down this
 code
   (originally from DGREG.m) to make the following
   function.  It can be called with a parameter=1
 if
   adding new patients is to be allowed.  Here is
 the
   code.  And FYI, it uses a standard VistA
 screenman
   based system of editing.  (Questions below)
  
   EDITPT(AddOK)
 ;Purpose: Ask for patient name, and allow
 editing
 ;Input: AddOK: if 1, adding new patients
 allowed
 ;Result: none
  
 do LO^DGUTL
 set DGCLPR=
 new DGDIV set DGDIV=$$PRIM^VASITE
  
 if DGDIV0 set
  
 %ZIS(B)=$piece($get(^DG(40.8,+DGDIV,DEV)),U,1)
  
 kill %ZIS(B)
 if '$data(DGIO),$piece(^DG(43,1,0),U,30) do
   . set %ZIS=N,IOP=HOME
   . do ^%ZIS
  
   A do ENDREG^DGREG($get(DFN))
   do  if (Y0) goto EditDone
   . W !!
   . if $get(AddOK)=1 do
   . . set DIC=2,DIC(0)=ALEQM
   . . set DLAYGO=2
   . else  do
   . . set DIC=2,DIC(0)=AEQM
   . . set DLAYGO=0
   . kill DIC(S)
   . do ^DIC
   . kill DLAYGO
   . if Y0 quit
   . set (DFN,DA)=+Y
   . set DGNEW=$P(Y,^,3)
   . new Y
   . do PAUSE^DG10
   . do BEGINREG^DGREG(DFN)
   . if DGNEW D NEW^DGRP
  
 if +$get(DGNEW) do
 . ; query CMOR for Patient Record Flag
 Assignments
   if NEW patient and
 . ; display results.
 . if $$PRFQRY^DGPFAPI(DFN) do
 DISPPRF^DGPFAPI(DFN)
  
 set (DGFC,CURR)=0
 set DA=DFN
   set DGFC=^1
   set
  

VET=$select($data(^DPT(DFN,VET)):^(VET)'=Y,1:0)
  
 set %ZIS=N,IOP=HOME
   do ^%ZIS
   set DGELVER=0
   ;do EN^DGRPD
   ;if $data(DGRPOUT) do  goto A
   ;. do ENDREG^DGREG($G(DFN))
   ;. do HL7A08^VAFCDD01
   ;. kill DFN,DGRPOUT
  
 ;do HINQ^DG10
 if $D(^DIC(195.4,1,UP)) if ^(UP) do
 ADM^RTQ3
  
 do REG^IVMCQ($G(DFN))  ; send financial query
  
 set DGRPV=0
 do EN1^DGRP
  
   EditDone
 quit
  
  
   OK, the next issue I need to solve is the actual
   addition of a NEW patient (i.e. LAYGO).  If I
 supply a
   new name of a patient, it asks if I want to add
 a new
   patient.  If I say YES, it goes into roll and
 scroll
   mode, asking many more questions than my setting
   needs, and only comes back to the screenman
 (nicer)
   editing screens after aborting with a ^ (and,
 oh by
   the way, you have to know how many questions you
 have
   to answer before jumping out, or the record is
 not
   created).
  
   So It seems that an input template might help
 here.
   But how would I tell ^DIC to use an input
 template in
   event of Laygo?
  
   Thanks
   Kevin
  
  
  
  
 __
   Do You Yahoo!?
   Tired of spam?  Yahoo! Mail has the best spam
 protection around
   http://mail.yahoo.com
  
  
  

---
   SF email is sponsored by - The IT Product Guide
   Read honest  candid reviews on hundreds of IT
 Products from real users.
   Discover which products truly live up to the
 hype. Start reading now.
  

http://ads.osdn.com/?ad_id=6595alloc_id=14396op=click
   ___
   Hardhats-members mailing list