@@ -230,7 +230,6 @@ void When_MappingStubbedCodeableConceptAsActiveAllergy_Expect_HL7CdObjectXml(Str
230230
231231 @ Nested
232232 class WhenMappingStubbedCodeableConceptForBloodPressure {
233-
234233 @ Test
235234 void When_WithoutCoding_Expect_NullFlavorCdXmlWithoutOriginalText () {
236235 var inputJson = """
@@ -247,31 +246,6 @@ void When_WithoutCoding_Expect_NullFlavorCdXmlWithoutOriginalText() {
247246 assertThat (outputMessage ).isEqualToIgnoringWhitespace (expectedOutput );
248247 }
249248
250- @ Test
251- void When_WithNonSnomedCodingWithDisplay_Expect_NullFlavorCdXmlWithOriginalText () {
252- var inputJson = """
253- {
254- "resourceType": "Observation",
255- "code": {
256- "coding": [
257- {
258- "display": "Prothrombin time"
259- }
260- ]
261- }
262- }""" ;
263-
264- var expectedOutput = """
265- <code nullFlavor="UNK">
266- <originalText>Prothrombin time</originalText>
267- </code>""" ;
268- var codeableConcept = fhirParseService .parseResource (inputJson , Observation .class ).getCode ();
269-
270- var outputMessage = codeableConceptCdMapper .mapCodeableConceptToCdForBloodPressure (codeableConcept );
271-
272- assertThat (outputMessage ).isEqualToIgnoringWhitespace (expectedOutput );
273- }
274-
275249 @ Test
276250 void When_WithSnomedCodingWithDisplay_Expect_SnomedCdXmlWithOriginalText () {
277251 var inputJson = """
@@ -298,33 +272,6 @@ void When_WithSnomedCodingWithDisplay_Expect_SnomedCdXmlWithOriginalText() {
298272 assertThat (outputMessage ).isEqualToIgnoringWhitespace (expectedOutput );
299273 }
300274
301- @ Test
302- void When_WithSnomedCodingWithoutCode_Expect_SnomedCdXmlWithOriginalTextFromText () {
303- var inputJson = """
304- {
305- "resourceType": "Observation",
306- "code": {
307- "coding": [
308- {
309- "system": "http://snomed.info/sct",
310- "display": "Prothrombin time",
311- "code": "852471000000107"
312- }
313- ],
314- "text": "Prothrombin time observed"
315- }
316- }""" ;
317- var expectedOutput = """
318- <code code="852471000000107" codeSystem="2.16.840.1.113883.2.1.3.2.4.15" displayName="Prothrombin time">
319- <originalText>Prothrombin time observed</originalText>
320- </code>""" ;
321- var codeableConcept = fhirParseService .parseResource (inputJson , Observation .class ).getCode ();
322-
323- var outputMessage = codeableConceptCdMapper .mapCodeableConceptToCdForBloodPressure (codeableConcept );
324-
325- assertThat (outputMessage ).isEqualToIgnoringWhitespace (expectedOutput );
326- }
327-
328275 @ Test
329276 void When_WithSnomedCodingWithoutDisplayWithDescriptionExtensionWithoutDisplay_Expect_SnomedCdXml () {
330277 var inputJson = """
@@ -397,7 +344,7 @@ <originalText>Prothrombin time (observed)</originalText>
397344 }
398345
399346 @ Test
400- void When_WithoutSnomedCodingWithText_Expect_NullFlavorUnkCDWithOriginalTextFromText () {
347+ void When_WithNonSnomedCodingWithText_Expect_NullFlavorUnkCDWithOriginalTextFromText () {
401348 var inputJson = """
402349 {
403350 "resourceType": "Observation",
@@ -423,6 +370,33 @@ <originalText>Prothrombin time (observed)</originalText>
423370 assertThat (outputMessage ).isEqualToIgnoringWhitespace (expectedOutput );
424371 }
425372
373+ @ Test
374+ void When_WithNonSnomedCodingNoTextWithDisplay_Expect_NullFlavorCdXmlWithOriginalTextFromDisplay () {
375+ var inputJson = """
376+ {
377+ "resourceType": "Observation",
378+ "code": {
379+ "coding": [
380+ {
381+ "system": "http://read.info/readv2",
382+ "code": "42Q5.00",
383+ "display": "Prothrombin time"
384+ }
385+ ]
386+ }
387+ }""" ;
388+
389+ var expectedOutput = """
390+ <code nullFlavor="UNK">
391+ <originalText>Prothrombin time</originalText>
392+ </code>""" ;
393+ var codeableConcept = fhirParseService .parseResource (inputJson , Observation .class ).getCode ();
394+
395+ var outputMessage = codeableConceptCdMapper .mapCodeableConceptToCdForBloodPressure (codeableConcept );
396+
397+ assertThat (outputMessage ).isEqualToIgnoringWhitespace (expectedOutput );
398+ }
399+
426400 @ Test
427401 void When_WithNonSnomedCodingWithDescriptionExtensionWithoutDisplay_Expect_SnomedCdXmlWithOriginalTextFromDisplay () {
428402 var inputJson = """
@@ -500,24 +474,23 @@ <originalText>Prothrombin time (observed)</originalText>
500474
501475 @ Nested
502476 class WhenMappingToNullFlavorCodeableConcept {
503-
504477 @ Test
505- void When_WithNonSnomedCodingWithNoDisplayNoTextAndDescriptionExtensionNoDisplayExtension_Expect_SnomedCdXmlWithoutOriginalText () {
478+ void When_WithSnomedCodingNoTextNoDisplayWithDescriptionExtensionWithDisplayExtension_Expect_SnomedCdXmlWithoutOriginalText () {
506479 var inputJson = """
507480 {
508481 "resourceType": "Observation",
509482 "code": {
510483 "coding": [
511484 {
512- "system": "http://read .info/readv2 ",
513- "code": "42Q5.00 ",
485+ "system": "http://snomed .info/sct ",
486+ "code": "852471000000107 ",
514487 "extension": [
515488 {
516489 "url": "https://fhir.nhs.uk/STU3/StructureDefinition/Extension-coding-sctdescid",
517490 "extension": [
518491 {
519- "url": "descriptionId ",
520- "valueString": "123456789 "
492+ "url": "descriptionDisplay ",
493+ "valueString": "Prothrombin time (observed) "
521494 }
522495 ]
523496 }
@@ -538,7 +511,7 @@ void When_WithNonSnomedCodingWithNoDisplayNoTextAndDescriptionExtensionNoDisplay
538511 }
539512
540513 @ Test
541- void When_WithSnomedCodingNoTextNoDisplayWithDescriptionExtensionWithDisplayExtension_Expect_SnomedCdXmlWithoutOriginalText () {
514+ void When_WithSnomedCodingNoTextNoDisplayWithNonDescriptionExtension_Expect_SnomedCdXmlWithoutOriginalText () {
542515 var inputJson = """
543516 {
544517 "resourceType": "Observation",
@@ -574,33 +547,25 @@ void When_WithSnomedCodingNoTextNoDisplayWithDescriptionExtensionWithDisplayExte
574547 }
575548
576549 @ Test
577- void When_WithSnomedCodingNoTextNoDisplayWithNonDescriptionExtension_Expect_SnomedCdXmlWithoutOriginalText () {
550+ void When_WithNonSnomedCodingWithText_Expect_SnomedCdXmlWithOriginalTexFromText () {
578551 var inputJson = """
579552 {
580553 "resourceType": "Observation",
581554 "code": {
582555 "coding": [
583556 {
584- "system": "http://snomed.info/sct",
585- "code": "852471000000107",
586- "extension": [
587- {
588- "url": "https://fhir.nhs.uk/STU3/StructureDefinition/Extension-coding-sctdescid",
589- "extension": [
590- {
591- "url": "descriptionDisplay",
592- "valueString": "Prothrombin time (observed)"
593- }
594- ]
595- }
596- ]
557+ "system": "http://read.info/readv2",
558+ "code": "42Q5.00",
559+ "display": "Observed Prothrombin time"
597560 }
598- ]
561+ ],
562+ "text": "Prothrombin time (observed)"
599563 }
600564 }""" ;
601565
602566 var expectedOutput = """
603567 <code nullFlavor="UNK">
568+ <originalText>Prothrombin time (observed)</originalText>
604569 </code>""" ;
605570 var codeableConcept = fhirParseService .parseResource (inputJson , Observation .class ).getCode ();
606571
@@ -610,7 +575,7 @@ void When_WithSnomedCodingNoTextNoDisplayWithNonDescriptionExtension_Expect_Snom
610575 }
611576
612577 @ Test
613- void When_WithNonSnomedCodingWithText_Expect_SnomedCdXmlWithOriginalTexFromText () {
578+ void When_WithNonSnomedCodingWithNoTextWithNonDescriptionExtension_Expect_SnomedCdXmlWithOriginalTextFromDisplay () {
614579 var inputJson = """
615580 {
616581 "resourceType": "Observation",
@@ -619,16 +584,26 @@ void When_WithNonSnomedCodingWithText_Expect_SnomedCdXmlWithOriginalTexFromText(
619584 {
620585 "system": "http://read.info/readv2",
621586 "code": "42Q5.00",
622- "display": "Observed Prothrombin time"
587+ "display": "Observed Prothrombin time",
588+ "extension": [
589+ {
590+ "url": "https://fhir.nhs.uk/STU3/StructureDefinition/Extension-some-otherUrl",
591+ "extension": [
592+ {
593+ "url": "descriptionDisplay",
594+ "valueString": "Prothrombin time"
595+ }
596+ ]
597+ }
598+ ]
623599 }
624- ],
625- "text": "Prothrombin time (observed)"
600+ ]
626601 }
627602 }""" ;
628603
629604 var expectedOutput = """
630605 <code nullFlavor="UNK">
631- <originalText>Prothrombin time (observed) </originalText>
606+ <originalText>Observed Prothrombin time</originalText>
632607 </code>""" ;
633608 var codeableConcept = fhirParseService .parseResource (inputJson , Observation .class ).getCode ();
634609
@@ -638,7 +613,7 @@ <originalText>Prothrombin time (observed)</originalText>
638613 }
639614
640615 @ Test
641- void When_WithNonSnomedCodingWithNoTextWithNonDescriptionExtension_Expect_SnomedCdXmlWithOriginalTextFromDisplay () {
616+ void When_WithNonSnomedCodingWithNoDisplayNoTextWithDescriptionExtNoDisplayExt_Expect_SnomedCdXmlWithoutOriginalText () {
642617 var inputJson = """
643618 {
644619 "resourceType": "Observation",
@@ -647,14 +622,13 @@ void When_WithNonSnomedCodingWithNoTextWithNonDescriptionExtension_Expect_Snomed
647622 {
648623 "system": "http://read.info/readv2",
649624 "code": "42Q5.00",
650- "display": "Observed Prothrombin time",
651625 "extension": [
652626 {
653- "url": "https://fhir.nhs.uk/STU3/StructureDefinition/Extension-some-otherUrl ",
627+ "url": "https://fhir.nhs.uk/STU3/StructureDefinition/Extension-coding-sctdescid ",
654628 "extension": [
655629 {
656- "url": "descriptionDisplay ",
657- "valueString": "Prothrombin time "
630+ "url": "descriptionId ",
631+ "valueString": "123456789 "
658632 }
659633 ]
660634 }
@@ -666,7 +640,6 @@ void When_WithNonSnomedCodingWithNoTextWithNonDescriptionExtension_Expect_Snomed
666640
667641 var expectedOutput = """
668642 <code nullFlavor="UNK">
669- <originalText>Observed Prothrombin time</originalText>
670643 </code>""" ;
671644 var codeableConcept = fhirParseService .parseResource (inputJson , Observation .class ).getCode ();
672645
@@ -676,7 +649,7 @@ void When_WithNonSnomedCodingWithNoTextWithNonDescriptionExtension_Expect_Snomed
676649 }
677650
678651 @ Test
679- void When_WithNonSnomedCodingWithNoTextWithDescriptionExtensionNoDisplayExtension_Expect_SnomedCdXmlWithOriginalTextFromDisplay () {
652+ void When_WithNonSnomedCodingWithDisplayNoTextWithDescriptionExtNoDisplayExt_Expect_SnomedCdXmlWithOriginalTextFromDisplay () {
680653 var inputJson = """
681654 {
682655 "resourceType": "Observation",
0 commit comments