Brian Dunning's FileMaker Custom Functions

SubstituteMultiple ( Text ; List ; replaceString )

Substitute Multiple

  Average rating: 4.8 (30 votes) Log in to vote

Koen Van Hulle   Koen Van Hulle
SHpartners
http://www.shpartners.com

Share on Facebook Share on Twitter

  Sample input:
SubstituteMultiple( Waterloo av. 12  ;"Av¶Aven¶av.¶av¶aven.¶aven" ; "avenue" )
  Sample output:
Waterloo avenue 12

  Function definition: (Copy & paste into FileMaker's Edit Custom Function window)

Substitute a list of items by one value in a string. Can be used in combination with valuelistitems and other custom function.

 

Comments

Michael Mead   Michael Mead, Sydney/Australia
Oct 19, 2014
Hi,
I am joining a medical mission with Rotary International in Sittwe, NE Myanmar in December. We are donating a PC and free software but cannot afford dispensing software.
We would like to label medicines we give to people who get treatment at the mission. Often our doctors write 'shorthand instructions' which is translated in a 'lookup' type table. e.g." ii aid " is TWO to be taken four times a day; 3 bd is THREE to be taken twice a day and so on ( I can provide a cut down table - it would be the list & replace string values)
I want to ensure that the people I train don't label medications with the wrong instructions so I want to set up the labelling as a input of Dr's instructions and output of label instructions are not incorrectly prepared.
I have the patient, Drug name & Doctor all OK but instruction are not yet functional.
I'm sure using Filemaker multiple substitute is the answer but my Filemaker skills fall short here.

A SHORT list/ replacestring table is like what follows:
tds thee times a day
qid four times a day
pc after food
n at night
& and
mdu as directed by your doctor

So: 2 qid & n becomes Take TWO tablets four times a day and at night
and 1 tds pc Take ONE tablet three time a day after food.

I hope you can help and understand what this . I sure this function seems to be what will work...

Many Thanks,

Michael Mead

mbmead1@gmail.com
 
iNexi.com   iNexi.com, CA
Feb 16, 2015
The changes below allow this to replace with an empty string, and replace non-list text.

If
(
IsEmpty ( SearchList )
;
Text
;
Let ( [
Item = LeftValues ( SearchList; 1 ) ;
Item = Left ( Item ; Length(Item)-1 );
CountItems = ValueCount(SearchList) ;
newList = RightValues(SearchList; CountItems-1) ;
newText = Substitute(Text;Item;replaceString)
]
;
If ( CountItems = 0 ; newText ; SubstituteMultiple(newText ; newList ; replaceString) )
)
)
 

Log in to post comments.

 

Note: these functions are not guaranteed or supported by BrianDunning.com. Please contact the individual developer with any questions or problems.

Under construction. Email me your wish list for improvements.