So I've got an API integration that returns data in a single string field and I'd like to extract sections of the data to put into separate CDT fields. So the string that's returned will look something like this: "Advil 20 MG/ML Oral Suspension". I'd like to retrieve the data before the number, then everything after including the number. I've posted what I have so far below. What I'm wondering is how do I get the index of the first character that's a number? If I get that, then I can figure out the rest. Thanks!
a!forEach( items: rule!NLH_GetPrescriptionDrugs(searchTerm: ri!search).result.body.drugGroup.conceptGroup.conceptProperties, expression: a!forEach( items: fv!item, expression: 'type!{urn:com:appian:types:NLH}NLH_Prescription'( rxcui: fv!item.rxcui, medication: fv!item.synonym ) ) )
Discussion posts and replies are publicly visible
I'm sure there are more elegant ways, but you can use the following fragment to return a list of indices for every possible numeric value:
fn!wherecontains( {"0","1","2","3","4","5","6","7","8","9"}, fn!char(fn!code("Advil 20 MG/ML Oral Suspension")) )
If the returned array is empty, then your string contains no numerics, otherwise the first item in the array is the index of the first number.