edifact_converter 2.0.13 → 2.0.14

Sign up to get free protection for your applications and to get access to all the features.
@@ -801,13 +801,31 @@
801
801
  </S18>
802
802
  <xsl:for-each select="$Samples">
803
803
  <xsl:variable name="pos" select="position()"/>
804
- <S18 hidden="true">
805
- <GIS>
806
- <Elm>
807
- <SubElm>N</SubElm>
808
- </Elm>
809
- </GIS>
810
- <xsl:if test="$pos=1">
804
+ <xsl:variable name="DiagOvs" select="$CodedFormat/m:DiagnosisHeadline"/>
805
+ <xsl:variable name="CodedRes" select="$CodedFormat/m:Sample/m:CodedResults"/>
806
+
807
+ <xsl:if test="$DiagOvs!=''">
808
+ <S18 hidden="true">
809
+ <GIS>
810
+ <Elm>
811
+ <SubElm>N</SubElm>
812
+ </Elm>
813
+ </GIS>
814
+ <xsl:if test="$pos=1">
815
+ <INV>
816
+ <Elm>
817
+ <SubElm>OE</SubElm>
818
+ </Elm>
819
+ <Elm>
820
+ <SubElm/>
821
+ <SubElm/>
822
+ <SubElm/>
823
+ <SubElm>
824
+ <xsl:value-of select="$DiagOvs"/>
825
+ </SubElm>
826
+ </Elm>
827
+ </INV>
828
+ </xsl:if>
811
829
  <INV>
812
830
  <Elm>
813
831
  <SubElm>OE</SubElm>
@@ -817,109 +835,100 @@
817
835
  <SubElm/>
818
836
  <SubElm/>
819
837
  <SubElm>
820
- <xsl:value-of select="$CodedFormat/m:DiagnosisHeadline"/>
838
+ <xsl:value-of select="m:CodedResults/m:Headline"/>
821
839
  </SubElm>
822
840
  </Elm>
823
841
  </INV>
824
- </xsl:if>
825
- <INV>
826
- <Elm>
827
- <SubElm>OE</SubElm>
828
- </Elm>
829
- <Elm>
830
- <SubElm/>
831
- <SubElm/>
832
- <SubElm/>
833
- <SubElm>
834
- <xsl:value-of select="m:CodedResults/m:Headline"/>
835
- </SubElm>
836
- </Elm>
837
- </INV>
838
- </S18>
839
- <S18 hidden="true">
840
- <GIS>
841
- <Elm>
842
- <SubElm>N</SubElm>
843
- </Elm>
844
- </GIS>
845
- <xsl:for-each select="m:CodedResults/m:Topography">
846
- <CIN>
847
- <Elm>
848
- <SubElm>CCI</SubElm>
849
- </Elm>
842
+ </S18>
843
+ </xsl:if>
844
+
845
+ <xsl:if test="$CodedRes!=''">
846
+ <S18 hidden="true">
847
+ <GIS>
850
848
  <Elm>
851
- <SubElm>
852
- <xsl:value-of select="m:Code"/>
853
- </SubElm>
854
- <SubElm>SNO</SubElm>
855
- <SubElm>SST</SubElm>
856
- <SubElm>
857
- <xsl:value-of select="m:Text"/>
858
- </SubElm>
849
+ <SubElm>N</SubElm>
859
850
  </Elm>
860
- </CIN>
861
- <xsl:if test="count(m:Comment)=1">
851
+ </GIS>
852
+ <xsl:for-each select="m:CodedResults/m:Topography">
862
853
  <CIN>
863
854
  <Elm>
864
- <SubElm>SPC</SubElm>
855
+ <SubElm>CCI</SubElm>
865
856
  </Elm>
866
857
  <Elm>
867
- <SubElm/>
868
- <SubElm/>
869
- <SubElm/>
870
858
  <SubElm>
871
- <xsl:value-of select="m:Comment"/>
859
+ <xsl:value-of select="m:Code"/>
860
+ </SubElm>
861
+ <SubElm>SNO</SubElm>
862
+ <SubElm>SST</SubElm>
863
+ <SubElm>
864
+ <xsl:value-of select="m:Text"/>
872
865
  </SubElm>
873
866
  </Elm>
874
867
  </CIN>
875
- </xsl:if>
876
- </xsl:for-each>
877
- <xsl:for-each select="m:CodedResults/m:Result">
878
- <CIN>
879
- <Elm>
880
- <SubElm>CCI</SubElm>
881
- </Elm>
882
- <Elm>
883
- <SubElm>
884
- <xsl:value-of select="m:Code"/>
885
- </SubElm>
886
- <SubElm>SNO</SubElm>
887
- <SubElm>SST</SubElm>
888
- <SubElm>
889
- <xsl:value-of select="m:Text"/>
890
- </SubElm>
891
- </Elm>
892
- </CIN>
893
- <xsl:if test="count(m:Comment)=1">
868
+ <xsl:if test="count(m:Comment)=1">
869
+ <CIN>
870
+ <Elm>
871
+ <SubElm>SPC</SubElm>
872
+ </Elm>
873
+ <Elm>
874
+ <SubElm/>
875
+ <SubElm/>
876
+ <SubElm/>
877
+ <SubElm>
878
+ <xsl:value-of select="m:Comment"/>
879
+ </SubElm>
880
+ </Elm>
881
+ </CIN>
882
+ </xsl:if>
883
+ </xsl:for-each>
884
+ <xsl:for-each select="m:CodedResults/m:Result">
894
885
  <CIN>
895
886
  <Elm>
896
- <SubElm>SPC</SubElm>
887
+ <SubElm>CCI</SubElm>
897
888
  </Elm>
898
889
  <Elm>
899
- <SubElm/>
900
- <SubElm/>
901
- <SubElm/>
902
890
  <SubElm>
903
- <xsl:value-of select="m:Comment"/>
891
+ <xsl:value-of select="m:Code"/>
892
+ </SubElm>
893
+ <SubElm>SNO</SubElm>
894
+ <SubElm>SST</SubElm>
895
+ <SubElm>
896
+ <xsl:value-of select="m:Text"/>
904
897
  </SubElm>
905
898
  </Elm>
906
899
  </CIN>
907
- </xsl:if>
908
- </xsl:for-each>
909
- <INV>
910
- <Elm>
911
- <SubElm>NR</SubElm>
912
- </Elm>
913
- </INV>
914
- <RFF>
915
- <Elm>
916
- <SubElm>ASL</SubElm>
917
- <SubElm>
918
- <xsl:value-of select="$pos"/>
919
- </SubElm>
920
- </Elm>
921
- </RFF>
922
- </S18>
900
+ <xsl:if test="count(m:Comment)=1">
901
+ <CIN>
902
+ <Elm>
903
+ <SubElm>SPC</SubElm>
904
+ </Elm>
905
+ <Elm>
906
+ <SubElm/>
907
+ <SubElm/>
908
+ <SubElm/>
909
+ <SubElm>
910
+ <xsl:value-of select="m:Comment"/>
911
+ </SubElm>
912
+ </Elm>
913
+ </CIN>
914
+ </xsl:if>
915
+ </xsl:for-each>
916
+ <INV>
917
+ <Elm>
918
+ <SubElm>NR</SubElm>
919
+ </Elm>
920
+ </INV>
921
+ <RFF>
922
+ <Elm>
923
+ <SubElm>ASL</SubElm>
924
+ <SubElm>
925
+ <xsl:value-of select="$pos"/>
926
+ </SubElm>
927
+ </Elm>
928
+ </RFF>
929
+ </S18>
930
+ </xsl:if>
931
+
923
932
  </xsl:for-each>
924
933
  <xsl:for-each select="$Macroscopic">
925
934
  <S18 hidden="true">
@@ -1147,24 +1156,6 @@
1147
1156
  </Elm>
1148
1157
  </FTX>
1149
1158
  </xsl:for-each>
1150
- <!--
1151
- <xsl:for-each select="m:CellTypesPercentage">
1152
- <FTX>
1153
- <Elm>
1154
- <SubElm>HEM</SubElm>
1155
- </Elm>
1156
- <Elm>
1157
- <SubElm>F00</SubElm>
1158
- </Elm>
1159
- <Elm/>
1160
- <Elm>
1161
- <SubElm>
1162
- <xsl:value-of select="."/>
1163
- </SubElm>
1164
- </Elm>
1165
- </FTX>
1166
- </xsl:for-each>
1167
- -->
1168
1159
  </S18>
1169
1160
  </xsl:for-each>
1170
1161
  <xsl:for-each select="$Comments">
@@ -11,6 +11,7 @@
11
11
  <xsl:variable name="CCReceiver" select="m:CCReceiver"/>
12
12
  <xsl:variable name="CCRPhysician" select="$CCReceiver/m:Physician"/>
13
13
  <xsl:variable name="Patient" select="m:Patient"/>
14
+ <xsl:variable name="Relative" select="m:Relative"/>
14
15
  <xsl:variable name="ReqInfo" select="m:RequisitionInformation"/>
15
16
  <xsl:variable name="LabResults" select="m:LaboratoryResults"/>
16
17
  <xsl:variable name="GeneralResultInformation" select="$LabResults/m:GeneralResultInformation"/>
@@ -505,36 +506,6 @@
505
506
  <Elm>
506
507
  <SubElm>06</SubElm>
507
508
  </Elm>
508
- <xsl:variable name="Person" select="$Patient"/>
509
- <xsl:variable name="Adr" select="$Person"/>
510
- <xsl:if
511
- test="count($Adr/m:StreetName)+count($Adr/m:SuburbName)+count($Adr/m:DistrictName)+count($Adr/m:PostCodeIdentifier)>0">
512
- <ADR>
513
- <Elm>
514
- <SubElm/>
515
- <SubElm>PO</SubElm>
516
- </Elm>
517
- <Elm>
518
- <SubElm>US</SubElm>
519
- <SubElm>
520
- <xsl:value-of select="$Adr//m:StreetName"/>
521
- </SubElm>
522
- <SubElm>
523
- <xsl:value-of select="$Adr/m:SuburbName"/>
524
- </SubElm>
525
- </Elm>
526
- <Elm>
527
- <SubElm>
528
- <xsl:value-of select="$Adr/m:DistrictName"/>
529
- </SubElm>
530
- </Elm>
531
- <Elm>
532
- <SubElm>
533
- <xsl:value-of select="$Adr/m:PostCodeIdentifier"/>
534
- </SubElm>
535
- </Elm>
536
- </ADR>
537
- </xsl:if>
538
509
  </S06>
539
510
  <S07>
540
511
  <xsl:if
@@ -600,6 +571,66 @@
600
571
  </HAN>
601
572
  </xsl:if>
602
573
  </S07>
574
+ <xsl:if test="count($Relative)=1">
575
+ <S07>
576
+ <xsl:variable name="Person" select="$Relative"/>
577
+ <Elm>
578
+ <SubElm>07</SubElm>
579
+ </Elm>
580
+ <PNA>
581
+ <Elm>
582
+ <SubElm>PER</SubElm>
583
+ </Elm>
584
+ <Elm>
585
+ <xsl:if test="count($Person/m:PersonIdentifier)=1">
586
+ <SubElm>
587
+ <xsl:value-of select="$Person/m:PersonIdentifier"/>
588
+ </SubElm>
589
+ <SubElm/>
590
+ <SubElm/>
591
+ <SubElm>CPR</SubElm>
592
+ <SubElm>IM</SubElm>
593
+ </xsl:if>
594
+ </Elm>
595
+ <Elm/>
596
+ <Elm/>
597
+ <Elm>
598
+ <SubElm>SU</SubElm>
599
+ <SubElm>
600
+ <xsl:value-of select="$Person/m:PersonSurnameName"/>
601
+ </SubElm>
602
+ </Elm>
603
+ <Elm>
604
+ <SubElm>
605
+ <xsl:if test="count($Person/m:PersonGivenName)=1">FO</xsl:if>
606
+ </SubElm>
607
+ <SubElm>
608
+ <xsl:value-of select="$Person/m:PersonGivenName"/>
609
+ </SubElm>
610
+ </Elm>
611
+ </PNA>
612
+ <REL>
613
+ <Elm>
614
+ <SubElm>PER</SubElm>
615
+ </Elm>
616
+ <Elm>
617
+ <SubElm>
618
+ <xsl:variable name="RC" select="$Person/m:RelationCode"/>
619
+ <xsl:choose>
620
+ <xsl:when test="$RC='uspec_paaroerende'">GU</xsl:when>
621
+ <xsl:when test="$RC='mor'">MO</xsl:when>
622
+ <xsl:when test="$RC='far'">FA</xsl:when>
623
+ <xsl:when test="$RC='barn'">SD</xsl:when>
624
+ <xsl:otherwise>
625
+ <FEJL>Kan ikke oversætte kode for pårørende: <xsl:value-of select="$RC"/>
626
+ </FEJL>
627
+ </xsl:otherwise>
628
+ </xsl:choose>
629
+ </SubElm>
630
+ </Elm>
631
+ </REL>
632
+ </S07>
633
+ </xsl:if>
603
634
  <xsl:if test="count($ReqInfo/m:ClinicalInformation | $ReqInfo/m:Reference)>0">
604
635
  <S10>
605
636
  <Elm>
@@ -684,12 +715,9 @@
684
715
  <GIS>
685
716
  <Elm>
686
717
  <SubElm>
687
- <xsl:variable name="RSC"
688
- select="$GeneralResultInformation/m:ResultStatusCode"/>
718
+ <xsl:variable name="RSC" select="$GeneralResultInformation/m:ResultStatusCode"/>
689
719
  <xsl:choose>
690
- <xsl:when
691
- test="$RSC='svar_endeligt' or $RSC='svar_midlertidigt' or $RSC='proeve_modtaget' "
692
- >N</xsl:when>
720
+ <xsl:when test="$RSC='svar_endeligt' or $RSC='svar_midlertidigt' or $RSC='proeve_modtaget' ">N</xsl:when>
693
721
  <xsl:when test="$RSC='svar_rettet' ">M</xsl:when>
694
722
  <xsl:otherwise>
695
723
  <FEJL>ukendt ResultStatusCode: <xsl:value-of select="$RSC"/>
@@ -701,12 +729,19 @@
701
729
  </GIS>
702
730
  <INV>
703
731
  <Elm>
704
- <SubElm>OE</SubElm>
732
+ <SubElm>MQ</SubElm>
705
733
  </Elm>
706
734
  <Elm>
707
- <SubElm/>
708
- <SubElm/>
709
- <SubElm/>
735
+ <xsl:variable name="Analysekode" select="$TableFormat/m:AnalysisCode"/>
736
+ <SubElm>
737
+ <xsl:value-of select="$Analysekode"/>
738
+ </SubElm>
739
+ <SubElm>
740
+ <xsl:if test="$Analysekode!=''">CQU</xsl:if>
741
+ </SubElm>
742
+ <SubElm>
743
+ <xsl:if test="$Analysekode!=''">SST</xsl:if>
744
+ </SubElm>
710
745
  <SubElm>
711
746
  <xsl:value-of select="$TableFormat/m:ResultHeadline"/>
712
747
  </SubElm>
@@ -729,22 +764,34 @@
729
764
  <xsl:variable name="RSC"
730
765
  select="$GeneralResultInformation/m:ResultStatusCode"/>
731
766
  <xsl:choose>
732
- <xsl:when test="$RSC='svar_endeligt' or $RSC='svar_rettet' "
733
- >FR</xsl:when>
734
- <xsl:when
735
- test="$RSC='svar_modtaget' or $RSC='svar_midlertidigt' "
736
- >PR</xsl:when>
767
+ <xsl:when test="$RSC='svar_endeligt' or $RSC='svar_rettet' ">FR</xsl:when>
768
+ <xsl:when test="$RSC='svar_modtaget' or $RSC='svar_midlertidigt' ">PR</xsl:when>
737
769
  <!-- <xsl:when test="$RSC='MR' ">modificeret</xsl:when>-->
738
770
  <xsl:otherwise>
739
- <FEJL>Kan ikke oversætte ResultsStatusCode: <xsl:value-of
740
- select="$RSC"/>
771
+ <FEJL>Kan ikke oversætte ResultsStatusCode: <xsl:value-of select="$RSC"/>
741
772
  </FEJL>
742
773
  </xsl:otherwise>
743
774
  </xsl:choose>
744
775
  </SubElm>
745
776
  </Elm>
746
777
  </STS>
747
- <xsl:for-each select="m:ToLabIdentifier">
778
+ <xsl:for-each select="$TableFormat/m:AnalysisCompleteName">
779
+ <XFTX maxOccurs="1">
780
+ <Elm>
781
+ <SubElm>ACM</SubElm>
782
+ </Elm>
783
+ <Elm>
784
+ <SubElm>P00</SubElm>
785
+ </Elm>
786
+ <Elm/>
787
+ <Elm>
788
+ <SubElm>
789
+ <xsl:copy-of select="./text()|./*"/>
790
+ </SubElm>
791
+ </Elm>
792
+ </XFTX>
793
+ </xsl:for-each>
794
+ <xsl:for-each select="$GeneralResultInformation/m:ToLabIdentifier">
748
795
  <RFF>
749
796
  <Elm>
750
797
  <SubElm>AHI</SubElm>
@@ -445,6 +445,7 @@
445
445
  </xsl:template>
446
446
 
447
447
 
448
+ <!--
448
449
  <xsl:template mode="SimplePresentation" match="*">
449
450
  <tr>
450
451
  <td>
@@ -474,6 +475,7 @@
474
475
  </td>
475
476
  </tr>
476
477
  </xsl:template>
478
+ -->
477
479
 
478
480
  <xsl:template match="m:MicroscopicFindings">
479
481
  <h4><xsl:value-of select="m:Headline"/></h4>