Jump to content
Sign in to follow this  
BugEye

heiarchical selection

Recommended Posts

BugEye

Being a new user, this is probably way too broad a question, but any assistance is welcome, even if it is a suggestion for a good book/tutorial.

 

I'd like to be able to creat a pick list of anatomic locations in which the person can choose the most specific item, but searches could also call up the more broad headings these fit under. For example, say I have a sample of the pylorus. Well, I'd like the user to specify pylorus, but the pylorus is part of the stomach which is part of the digestive system. It would be good if searches for stomach and digestive system also brought up all instances of their subheadings. So searches for stomach would bring up records with cardia and pylorus. Searches of Gastrointestial system would bring up stomach, duodenum, cardia, pylorus, large intestine...

 

Plus for entering data, when the user chooses a body system, it would be best if their choices of organs within it were limited and then the structures within each organ were again limited--pick lists would be great.

 

Does this make sense? Is it possible?

 

Thanks!!

Share this post


Link to post
Share on other sites
Maarten Witberg

A hierarchy is possible. Do I correctly assume that you will build the hierarchy yourself? I mean, you enter all the body parts and define to which system and subsystem they belong?

Then the user can select a body part and enter data about that body part.

But I'm assuming that he would want to do that multiple times? e.g. for different patients etc.

 

Man this is interesting!

In fact I have a prototype of such a system. It is intended for policymaking but I guess the idea of named hierarchies is the same. I was struggling (still am) with numbering procedures when reordering the hierarchy, but I guess you don't need that if you enter the anatomical system only once, you would not want to attach a left lung to the gastrointestinal system all of a sudden right (it is the kind of thing policymakers do all the time... laugh.gif ).

My prototype is based on some really good samples by Ugo di Luca, go to Andy Gaunt's website and locate the two multilevels samples.

 

It is not a system setup that I can explain the workings of in a short post. I am willing to share it if you're interested and we can see if we can help each other along and when and how. Send me a private message then.

 

kjoe

smile.gif

Share this post


Link to post
Share on other sites
Ender

Hey kjoe, don't go hogging all the good stuff. Share this info with the rest of us!

Share this post


Link to post
Share on other sites
Maarten Witberg

Hi Ender,

 

I don't intend to hog... sorry if it came across as such.

Much of what it is now I have to thank this site for.

still, the long story would be pretty long to put in a post.

the short story is, it builds chains of related records by setting parent records. you simply add a new record to a designated keychain, essentially a multikey.

then based on the number of keys in the chain the level is calculated. pick lists are in hierarchy always (portal based)

This is what you can find in Ugo's samples also.

I diverted from his setup because I rely more on scripts than he did in Multilevels. Because I believe a paragraph (re)numbering system I need for it can only be achieved through scripts. (the original paragraph number is calculated, but if you want to attach say paragraph 1.2 to chapter 2 (make it 2.2 essentially, you have to reset a lot of keychains. that's where i stopped working on it, in fact I still have a couple of posts from Ugo stapled to my pasteboard at the office on how to proceed....

you know how it is with r&d, if there's a paying job then it gets orphaned.

 

As to content, you can name the hierarchy levels, f.i. BugEyes

pulmonary system would be a top level name, then lungs would be a second level, bronchia a third etc. For policymaking, the levelnames would be something like "long term strategy", "targets for 2006" ,"projects", "cost", etc....

Then users can enter statements about each level. essentially paragraphs of text but calc and number fields should also be possible.

 

I believe it is possible to go down eight or ten levels before FM can't keep track of the relationships and updating will become problematic.

 

If you want to take a look, just send me your email address. It will take a couple of days because I will have to dig up the files and see which version actually does work - there's a few of them lying around in various states of being taken apart....but I'm sure there is one that has the core working (not the par. renumbering obviously)

 

kjoe

smile.gif

Share this post


Link to post
Share on other sites
Ugo DI LUCA

Hi Kjoe,

 

Thanks for the good words.

At first, it seems as the solution would fit BueEye's needs indeed.

 

However, our body is full of contradictions, and also probably the best example of a Many to Many relationships from one part/organ to the other, so I'd suppose the problem may arise here where an "item" is part of 2 groups, so 2 or more paths could be used to get its relevant parents and childrens.

 

As an example, the Thoratic duct, is logically a part of the Lymphatic System.

The Lymphatic System however is part either of the Immune System and of the Cardio-Vasular System, which are both part of the Organs System.

 

A Many to Many relationship can be handled even using the technique outlined, but would require some other settings, and a majorly scripted solution.

 

I would agree however that once keyed, in this particular situation, things should stay fixed. And this is good news.

 

I'm also open on this topic and ideas, either on or off-list.

 

Ugo

Share this post


Link to post
Share on other sites
Maarten Witberg

Hi Ugo, well obviously you're right.

In policymaking it is also seldom the case that one short term target is limited to one long term strategy. fi, cleaning up polluted water is good for human health but also good for reasons of ecology. however it helps to order your thoughts if you try to link everything into hierarchical systems. you can always make a crosslink later.

 

I once wrote a (paper) book on sustainable planning where crosslinks were a major structure. It was very educational to make and it all fit together but a lot of readers thought it was too hermetic. Should have been a website....but nobody had internet back then.

 

kjoe

smile.gif

Share this post


Link to post
Share on other sites
Ugo DI LUCA

Absolutely.

 

A train from New York to Los Angeles may use different trips, even with some same towns included in the middle.

 

Ask for a ticket and you'd be taught of all "through" stations from which you'd choose the correct trip. Each crossroad is a key.

 

Same thing here, we need to identify the next crossroad, so to determine the given path for the search.

Share this post


Link to post
Share on other sites
Maarten Witberg

Ugo,

 

in setting up a crosslink chain i'd think a separate keychain would be necessary so as not to disturb the hierarchy.

 

By the way I partly gave up making resequencing procedures.

It does not make sense to facilitate shifts between levels, because the levels are content driven (*). To get back to the anatomy example, you would not want an individual organ to appear on the systems level.

I succeeded in resequencing paragraph shifts under the same parent (**). This is not too hard because the keychains do not have to be changed, it just involves swapping paragraph number parts. e.g.

 

1.1.2

1.1.3

1.1.3.1

1.1.3.2

 

can be swapped to

 

1.1.2

1.1.2.1

1.1.2.2

1.1.3

 

every number in the paragraph format is a counter attached to a level. So the pseudoscript is

 

0- go to related records -show only related

1-set part_for_level to part_for_level-1

2-set a global to this value

3-replace the part_for_level value in the subparagraphs

4-find the paragraph to swap with using the global

5-repeat steps 0 to 4 on this record, only set the part_for_level +1

 

But what I need to achieve now is to shift paragraphs between parents and to delete paragraphs with their subparagraphs.

Working on that.....but I do need to go to the keychain level now. My first shot at a delete script seemed to work, but when I tried to make a new paragraph to the parent that had subparagraphs deleted, i got a loop in the chain.

I guess I can solve it with a

substitute(keychain;key_to_clip_out;"").

 

 

kjoe

smile.gif

 

 

(*) If that is not the case, OmniOutliner is a fine little program, and MsWord has outlining capability also.

(**) had to solve a major flaw in the original numbering procedure first. i relied on an almost fully calculated procedure. the problem was I could not get the counter to work properly. so if I had for instance

 

1.1

1.2

1.2.1

1.2.2.1

 

and then added another paragraph to 1 to get 1.3 i would get 1.5. (5 being the number of keys at level 2)

I solved that by going back to my old plan to have fully scripted numbering. A benefit of that is that there's much less overhead-a lot of calcs can be ditched as they are now part of the scripts that only called when necessary.

Share this post


Link to post
Share on other sites
This thread is quite old. Please start a new thread rather than reviving this one.

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

Guest
Reply to this topic...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

Sign in to follow this  



×
×
  • Create New...

Important Information

Terms of Use