Lotus/Notes Form Question


I am working on Lotus/Notes Designer v6.5. Following my client's requirements, I need to ceate multiple forms in order to process documents saved in a database already. There is already a configuration file (form) therefore I can not create more configuration form files.

My code is a Java agent and it should realize the following function.

for each form
     if the form applies to the document
           then process the document
           skip this form

Notice that there may be more than one form applicable to the same document; but this is ok.

If I have several forms, then how can I retrieve them?

Any help is geatly appreciated.
Who is Participating?
Sjef BosmanConnect With a Mentor Groupware ConsultantCommented:
Okay, I think I get it now, but you may have to correct me later on.

You say there is ONE user profile document. Do you mean that there is ONE profile document, and that it is used for all users? Why hide them as profile documents? (rethorical question)

Apparently, you need to separate the enity USER from the entity MESSAGE. You need a descriptive document per message, with fields and values. Who or what decides what type of message will be sent? As soon as you know what message you have to send, say HL7ABC, you do some form of DbLookup in the view with MESSAGE documents using the message-code as key. The name/value-pairs in that document will help you to create the HL-7 message.

Does this make some sense??
davidw88Author Commented:
Sorry I should tell clearer... The configuration file that I mentioned is a configuration profile. I will convert the current configuration profile into regular form file.
davidw88Author Commented:
The forms that I would like to create are still confirguration forms, but NONE of them are profile forms. I need to have more than one configuration form to process the saved documents.

Besides the question that I mentioned earlier, I also hope to know how to retrieve the field values in the different forms. The items/field_values are different for different forms.
Introducing Cloud Class® training courses

Tech changes fast. You can learn faster. That’s why we’re bringing professional training courses to Experts Exchange. With a subscription, you can access all the Cloud Class® courses to expand your education, prep for certifications, and get top-notch instructions.

madheeswarConnect With a Mentor Commented:
getting values is easy from other documents.

use @Dblookup ..


and as for having multiple config docs, you can have a key for each document created and dump them into one category. So, based on the category, you can get those corresponding values.
Sjef BosmanGroupware ConsultantCommented:
> There is already a configuration file (form) therefore
> I can not create more configuration form files.
Not true, you can have as many as you like, but you have to support them yourself. You can create other configuration profile forms and documents. What do you mean with "file"? There's no such thing as a "file" in a Notes database...

>      if the form applies to the document
Can you define "applies"?

> ...how to retrieve the field values in the different forms...
Am I correct that this is one of the first projects you have to do on Notes/Domino? There's no shame in that, we'd only like to know that before we take off. Assuming I'm right, there's some misconception probably in your question. Forms have no values, but documents do. A Notes database contains documents. Design elements to handle these documents are views, forms and agents. Forms are only used to present the content of a document on the screen.
Sjef BosmanGroupware ConsultantCommented:
Ah, forgot... My question therefore: can you describe in easy terms what it is that you want to accomplish? No details, not the "how", only the "what"?
davidw88Author Commented:
Hi Sjef,

Thanks so much for your comments.

Yes, I am a newbie in this Notes/Domino field. I am still in my "learning curve" period and I need to spend more time on the basic concepts.

Here is what I want to do.
How can I let my computer know other user-specific values besides the values collected from the profile form already?

Here is a little background information.
I have a Notes database containing medical records. Just imagine the medical records in a physician's office. They are totally the same thing.
In order to let all computers in different offices to understand the records, we use a protocol called "HL7" to re-format the records before sending them out electronically. For a same medical record, we sometimes need to generate a little different "HL7" messages. We need to tell the computer what HL7 fields to create. At the moment I use a profile form to collect these user-specific values (i.e. HL7 fields), but it only generates one format of HL7 messages.

Is it clearer?
Sjef BosmanGroupware ConsultantCommented:
For my understanding, some questions and remarks:
- there are per-user profile documents; are these real profile documents or just documents in a database (visible in a view)?
- who maintains these profile documents?
- a "record" in Notes' terms is a document; Notes is not a relational database, and there are no tables or records...
- what is your interface to create HL7-messages? is it mail?
- I suppose not all offices use Notes?
- whether it's clearer: a little, but there are still some missing links (Input, Process, Output)

You want to collect a lot of data from somewhere, process it into an HL7-message and send it away. Is that it? You just have to define the words "collect", "data", "somewhere", "process", "message", and "send" and we're there...

Madheeswar seems to have understood your question a lot better than I have. Since there are no relations between documents (as in a relational database), you have to look for the data yourself. That could be an @DbLookup in formula language, or GetDocumentByKey in LotusScript or Java. You'd have to know where you want to get the data from. You'd have to ask your administrator or development manager for that information.
davidw88Author Commented:
Hi Sjef: Thanks for your reply.

Hi Madheeswar: Thanks for your reply too. Can you explain your answer in more details? I have the following questions.
>     @Iferror(@dbLookup("":"Nocache";"";"ViewName";"Key";columnnumberOr"FieldName");"")
Where should I write this formula?

>and as for having multiple config docs, you can have a key for each document created and dump them into one category. So, based on the category, you can get those corresponding values.
davidw88Author Commented:
>    and as for having multiple config docs, you can have a key for each document created and dump them into one category
Where is the "category"?

>   So, based on the category, you can get those corresponding values.
How to do this?

Can you also give me several lines of Java code? In this way I know where to start.

Thanks again!
Sjef BosmanGroupware ConsultantCommented:
Your situation: you at point A, you want to go to point B, you describe the interesting characteristics of point B to us, but you seem to know little about the road from A to B or the startingpoint A itself. Where does that leave us, do you think?

To look things up, you need something like @DbLookup. It requires a database (usually the current one), a sorted view, a key that matches some entry (or entries) in the first column, and the name of the field (or column number) you want to have the data from.

Please be more specific, because our guesswork won't help you at all. It'll only lead to more questions...
davidw88Author Commented:
Hello Sjef,

Thanks for your prompt reply.

Here is the information.
- at present there is one user profile document; it is real profile document and not visible in a view. This profile document is used to define the "fields" and "values" in the HL-7 messages. A user can input a "field" and "value" in this profile.
- my company maintains this profile document.
- there is no interface to create the HL-7 messages. My code creates the HL-7 messages by calling HL-7 library functions.
- it does not matter if an office uses Notes or not as HL-7 is a universal "language" in medical/health industry.
- Input data: the inputted medical records are saved in a Domino database on my computer. Specifically, it is an "UnprocessedView".
- Output: each document, containing one patient's medical information, will be used to create one HL-7 message and this message is saved in a folder on the local disk.

Right now my code generates HL-7 messages correctly with one profile document. By changing the values on the profile, I can certainly create different HL-7 messages but this needs extra time. Therefore it would be best to have several configuration files(?). In this way my code uses the values from different configuration files(?) and generates HL-7 messages accordingly.

Do you need any other information?

davidw88Author Commented:
Yes, there is ONE profile document and it is used for all users. A profile form requires that it is not included in any view.

Though I am still not quite clear about every implementation details, I indeed have got enough clues from your replies to start with. Let me start with DbLookup, sorted view and key. I will turn to you later when I have more questions.

Your replies certainly make sense.

Many thanks!
Sjef BosmanGroupware ConsultantCommented:
About profile documents: they don't appear in view by definition, they just are that way. There are two types of profile documents: a user-dependent one and a database one. It is possible to create a separate profile document for each user, so you could store user-related info in a convenient (hidden) place. I think that it is better to store information in your database in a visible way.

What seems to be missing in your thoughts is an Entity-Relationship Diagram: what data do I have and where is it stored? If you need multiple different messages, it would have been immediately visible in the diagram what changes are necessary to incorporate them.
davidw88Author Commented:
Hi Sjef and Madheeswar,

Thanks so much for your replies! Both of your replies are equally important and correct therefore I splited the points between you. Madheeswar's reply is clearer and came earlier, but Sjef showed more enthusiasm and was more helpful. As a newbie in this field I have a lot to learn. Many questions are just as simple as ABC to you experts but they are much difficult to me as I never did them before. In this case I certainly hope you give more explenations and details for your replies. I reget to say that Madheeswar did not answer my further questions. Though this is the case, I still keep fair to him by assigning him nearly half points for his reply.

Hi Sjef: Again thanks for your replies! Now I now why you are No. 1 on the yearly list! (knowledge + enthusiasm)

Have a greate Thanksgiving holiday!
Sjef BosmanGroupware ConsultantCommented:
Thanks! ;) Honestly, I'm (also) number one because the real numbers 1 and 2 have better things to do. See the overall list. But I'm making progress...
Question has a verified solution.

Are you are experiencing a similar issue? Get a personalized answer when you ask a related question.

Have a better answer? Share it in a comment.

All Courses

From novice to tech pro — start learning today.