SubstituteMultiple ( Text ; List ; replaceString )
Average rating: 4.8 (30 votes) Log in to vote
Koen Van Hulle
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.
Michael Mead, Sydney/Australia
Oct 19, 2014
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
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...
Feb 16, 2015
The changes below allow this to replace with an empty string, and replace non-list text.
IsEmpty ( SearchList )
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) )
Note: these functions are not guaranteed or supported by BrianDunning.com. Please contact the individual developer with any questions or problems.