Here are some ideas using T-SQL.
WITH SampleData(String) AS(
SELECT 'LAT|BOX|5290113661|BP9744524|PHY|JAI|GREWAL|1|BI|Vacc Bill|MED|191.2||SHI||20131015|50242006001|||||6|116820411||' UNION ALL
SELECT 'LAT|BARDI|TAMMY|20020 44th|PHY|MARK|MORADI|BI|Vacc Bill|MED|183.0||SHI||20131016|50242006001|||||6|116899590||' UNION ALL
SELECT 'LAT|ARRE|SONIA|344 RICH|PHY|IAN|HANT|1|BI|Vacc Bill|MED|153||SHI||20131016|50242006|||||3|116786607|')
SELECT String,
LEFT( String, CHARINDEX( '|PHY|', String)) AS LAT,
SUBSTRING( String, CHARINDEX( 'PHY|', String), CHARINDEX( '|BI|', String) - CHARINDEX( '|PHY|', String)) AS PHY,
SUBSTRING( String, CHARINDEX( 'BI|', String), CHARINDEX( '|MED|', String) - CHARINDEX( '|BI|', String)) AS BI,
SUBSTRING( String, CHARINDEX( 'MED|', String), CHARINDEX( '|SHI|', String) - CHARINDEX( '|MED|', String)) AS MED,
RIGHT( String, LEN(String) - CHARINDEX( '|SHI|', String)) AS SHI
FROM SampleData;
WITH SampleData(String) AS(
SELECT 'LAT|BOX|5290113661|BP9744524|PHY|JAI|GREWAL|1|BI|Vacc Bill|MED|191.2||SHI||20131015|50242006001|||||6|116820411||' UNION ALL
SELECT 'LAT|BARDI|TAMMY|20020 44th|PHY|MARK|MORADI|BI|Vacc Bill|MED|183.0||SHI||20131016|50242006001|||||6|116899590||' UNION ALL
SELECT 'LAT|ARRE|SONIA|344 RICH|PHY|IAN|HANT|1|BI|Vacc Bill|MED|153||SHI||20131016|50242006|||||3|116786607|'),
Delimited AS(
SELECT String Original, REPLACE( REPLACE( REPLACE( REPLACE( String, '|PHY|', ',|PHY|'), '|BI|', ',|BI|'), '|MED|', ',|MED|'), '|SHI|', ',|SHI|') String
FROM SampleData
)
SELECT *
FROM Delimited
CROSS APPLY dbo.DelimitedSplit8K(String, ',');
WITH SampleData(String) AS(
SELECT 'LAT|BOX|5290113661|BP9744524|PHY|JAI|GREWAL|1|BI|Vacc Bill|MED|191.2||SHI||20131015|50242006001|||||6|116820411||' UNION ALL
SELECT 'LAT|BARDI|TAMMY|20020 44th|PHY|MARK|MORADI|BI|Vacc Bill|MED|183.0||SHI||20131016|50242006001|||||6|116899590||' UNION ALL
SELECT 'LAT|ARRE|SONIA|344 RICH|PHY|IAN|HANT|1|BI|Vacc Bill|MED|153||SHI||20131016|50242006|||||3|116786607|')
SELECT REPLACE( REPLACE( REPLACE( REPLACE( String, '|PHY|', '|' + CHAR(10) + 'PHY|'), '|BI|', '|' + CHAR(10) + 'BI|'), '|MED|', '|' + CHAR(10) + 'MED|'), '|SHI|', '|' + CHAR(10) + 'SHI|') String
FROM SampleData;