Skip to content

Commit ab256f7

Browse files
committed
Add unit test for #65
1 parent 3040828 commit ab256f7

File tree

1 file changed

+50
-0
lines changed

1 file changed

+50
-0
lines changed

tests/NHapi.NUnit/Parser/PipeParserV251Tests.cs

Lines changed: 50 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -206,5 +206,55 @@ public void ParseORDERGroupRepetitionsIn_OML_O33()
206206
var secondObr = secondOrder.OBSERVATION_REQUEST.OBR.UniversalServiceIdentifier;
207207
Assert.AreEqual("TT2", secondObr.Identifier.Value);
208208
}
209+
210+
/// <summary>
211+
/// https://github.com/nHapiNET/nHapi/issues/65.
212+
/// </summary>
213+
[Test]
214+
public void ParseORDERGroupRepetitionsIn_OML_O21()
215+
{
216+
const string message =
217+
"MSH|^~\\&|PracticeFusion|1|||20130903193451+0000||OML^O21^OML_O21|PFOMSGID999999999|T|2.5.1|||AL|NE|||||ELINCS_MT-OML-1_1.0\r"
218+
+ "PID|1||JD256960^^^^PT~b79a936f-eefb-4d39-8a8f-09ab61a8d6b4^^^^PI||Test^Patient^M||20040229|M|||10 Main St^^San Francisco^CA^94100||^^^[email protected]^^555^5555555~^^^^^555^5555555\r"
219+
+ "PV1|1|U||||||||||||||||||T\r"
220+
+ "IN1|1|Other|47198|Anthem Blue Cross|10 Main St^^Fairfax^CA^94930|||GRP100|||Acme Co|||||Doe^Jane^O|SPO^Spouse^HL70063|20000410|10 Main St^^San Francisco^CA^94100|||||||||||||||||887766\r"
221+
+ "GT1|1||Doe^John^M||10 Main St^^San Francisco^CA^94100|||||P\r"
222+
+ "ORC|NW|1403R8NY||1403R8NY||||||||1234567893^Provider^Test^^^^^^^^^^NPI||^^^^^555^5555555||||||||||420 Taylor St^^San Francisco^CA^94102\r"
223+
+ "TQ1|1||||||||S\r"
224+
+ "OBR|1|PF-13-00011||0029-9^ACID FAST BACILLI STAIN,SPUTUM^99BIO^^^LN|||20130815110800+0000||||O|||||||||RO\r"
225+
+ "NTE|1||Here is note with special characters like \\& and \\~ and even \\\\| just for you\r"
226+
+ "DG1|1||800.3^Closed fracture of vault of skull with other and unspecified intracranial hemorrhage^I9C|||F\r"
227+
+ "DG1|2||601.1^Chronic prostatitis^I9C|||F\r"
228+
+ "ORC|NW|1403R8NY||PF-13-00011||||||||1234567893^Provider^Test^^^^^^^^^^NPI||^^^^^555^5555555||||||||||420 Taylor St^^San Francisco^CA^94102\r"
229+
+ "OBR|2|PF-13-00011||0004-2^CHEM 12 PROFILE^99BIO^^^LN|||20130820111100+0000||||O|||||||||RO\r"
230+
+ "DG1|1||552^Other hernia of abdominal cavity, with obstruction, but without mention of gangrene^I9C|||F\r"
231+
+ "DG1|2||350.2^Atypical face pain^I9C|||F\r"
232+
+ "DG1|3||352.3^Disorders of pneumogastric [10th] nerve^I9C|||F\r"
233+
+ "DG1|4||401^Essential hypertension^I9C|||F\r"
234+
+ "OBX|1|ST|How are you feeling?^How are you feeling?^99BIO||True||||||F\r"
235+
+ "ORC|NW|1403R8NY||1403R8NY||||||||1234567893^Provider^Test^^^^^^^^^^NPI||^^^^^555^5||||||||||420 Taylor St^^San Francisco^CA^94102\r"
236+
+ "OBR|3|1403R8NY||1165-0^ANTI-JO^99BIO^^^LN|||20130814111300+0000||||O|||||||||RO\r"
237+
+ "NTE|1||And another note\r"
238+
+ "DG1|1||666^Postpartum hemorrhage^I9C|||F";
239+
240+
var parser = new PipeParser();
241+
var oml = parser.Parse(message, new ParserOptions { NonGreedyMode = true }) as OML_O21;
242+
243+
Assert.NotNull(oml);
244+
245+
Assert.AreEqual(3, oml.ORDERRepetitionsUsed);
246+
247+
var firstOrder = oml.ORDERs.ElementAt(0);
248+
var firstObr = firstOrder.OBSERVATION_REQUEST.OBR.UniversalServiceIdentifier;
249+
Assert.AreEqual("0029-9", firstObr.Identifier.Value);
250+
251+
var secondOrder = oml.ORDERs.ElementAt(1);
252+
var secondObr = secondOrder.OBSERVATION_REQUEST.OBR.UniversalServiceIdentifier;
253+
Assert.AreEqual("0004-2", secondObr.Identifier.Value);
254+
255+
var thirdOrder = oml.ORDERs.ElementAt(2);
256+
var thirdObr = thirdOrder.OBSERVATION_REQUEST.OBR.UniversalServiceIdentifier;
257+
Assert.AreEqual("1165-0", thirdObr.Identifier.Value);
258+
}
209259
}
210260
}

0 commit comments

Comments
 (0)