oddb2xml 2.8.9 → 2.9.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: bc1cb54b85ce6488efded5dad6429e0b8f740c93e42b09bf3ed5bdc9a6606ea5
4
- data.tar.gz: f89c819c7a1367e5a24393a848b7565aeb28b586f3ab0e892f5bc929d028d0d0
3
+ metadata.gz: ef2f6995fe6bb0c2a270a41f12322b1796a3d544a579175bb4906072560fcbf6
4
+ data.tar.gz: '052907769a7933ee5e968f0d023b43f698b218df4e5f9907d56081b04cc8d7cf'
5
5
  SHA512:
6
- metadata.gz: 8e9d59370ba5e03cd39ccda0087e6bc1decd8d7b40228d6921dcdc4cce985b46991353cc8ec6862873b431f805dbd3eb2e59bd780d043354308cd1dc8e6aaff2
7
- data.tar.gz: b357c023edb79730a8eafba74f0bedd7c45aaf5a32f2805aece763591b0f360daeceea948722bd6d109dfc60ff39d32ef9ea99f8437bc2706c05230e876834d5
6
+ metadata.gz: 18faa95d729dd10b602a305a56bede4fe0f9b2943c1531f0fb4fdc951a50d712ba45fba69d381bd070f7fda45913fa79befa7f00cd03cb553bf815a8fead7677
7
+ data.tar.gz: db215dfc9458e45bdb6be130a156b30e12a8f500906014243a01153e5dcbe4b0503102682d4be0164a7b45d68902b8300b33189d9c6776b9dff79673f6621ce4
data/Gemfile.lock CHANGED
@@ -1,7 +1,7 @@
1
1
  PATH
2
2
  remote: .
3
3
  specs:
4
- oddb2xml (2.8.9)
4
+ oddb2xml (2.9.1)
5
5
  htmlentities
6
6
  httpi
7
7
  mechanize
@@ -1031,10 +1031,12 @@ module Oddb2xml
1031
1031
  xml.SYN1F obj[:seq][:name_fr] unless obj[:seq][:name_fr].empty?
1032
1032
  end
1033
1033
  if obj[:seq]
1034
- case obj[:seq][:deductible]
1035
- when "Y" then xml.SLOPLUS 1; # 20%
1036
- when "N" then xml.SLOPLUS 2; # 10%
1037
- else xml.SLOPLUS "" # k.A.
1034
+ if obj[:seq][:deductible] == "Y" || obj[:seq][:deductible20] == "Y"
1035
+ xml.SLOPLUS 1; # 40%
1036
+ elsif obj[:seq][:deductible] == "N" || obj[:seq][:deductible20] == "N"
1037
+ xml.SLOPLUS 2; # 10%
1038
+ else
1039
+ xml.SLOPLUS "" # k.A.
1038
1040
  end
1039
1041
  end
1040
1042
  # xml.NOPCS
@@ -1649,7 +1651,14 @@ module Oddb2xml
1649
1651
  xml.LPPV "true" if @lppvs[pkg_gtin.to_s] # detect_nincd
1650
1652
  if item && item[:deductible]
1651
1653
  case item[:deductible]
1652
- when "Y" then xml.DEDUCTIBLE 20; # 20%
1654
+ when "Y" then xml.DEDUCTIBLE 40; # 40%
1655
+ when "N" then xml.DEDUCTIBLE 10; # 10%
1656
+ end
1657
+ elsif item && item[:deductible20]
1658
+ # TODO: Delete deductible20 after 2024/03/01
1659
+ # https://github.com/zdavatz/oddb2xml/issues/81
1660
+ case item[:deductible20]
1661
+ when "Y" then xml.DEDUCTIBLE 40; # 40%
1653
1662
  when "N" then xml.DEDUCTIBLE 10; # 10%
1654
1663
  end
1655
1664
  end
@@ -57,7 +57,8 @@ module Oddb2xml
57
57
  item[:name_it] = (name = seq.NameIt) ? name : ""
58
58
  item[:swissmedic_number5] = (num5 = seq.SwissmedicNo5) ? num5.rjust(5, "0") : ""
59
59
  item[:org_gen_code] = (orgc = seq.OrgGenCode) ? orgc : ""
60
- item[:deductible] = (ddbl = seq.FlagSB20) ? ddbl : ""
60
+ item[:deductible] = (ddbl = seq.FlagSB) ? ddbl : ""
61
+ item[:deductible20] = (ddbl20 = seq.FlagSB20) ? ddbl20 : ""
61
62
  item[:atc_code] = (atcc = seq.AtcCode) ? atcc : ""
62
63
  item[:comment_de] = (info = seq.CommentDe) ? info : ""
63
64
  item[:comment_fr] = (info = seq.CommentFr) ? info : ""
@@ -1,3 +1,3 @@
1
1
  module Oddb2xml
2
- VERSION = "2.8.9"
2
+ VERSION = "2.9.1"
3
3
  end
@@ -136,6 +136,7 @@ class PreparationContent
136
136
  element :SwissmedicNo5
137
137
  element :FlagItLimitation
138
138
  element :OrgGenCode
139
+ element :FlagSB
139
140
  element :FlagSB20
140
141
  element :CommentDe
141
142
  element :CommentFr
data/oddb2xml.xsd CHANGED
@@ -11,7 +11,7 @@
11
11
  Under http://dev.ywesee.com/Main/Oddb2xml you find more information on how the data is generated.
12
12
 
13
13
  In this XSD file we refer to the following sources:
14
- # swissINDEX
14
+ # swissINDEX
15
15
  ## Pharma: https://index.ws.e-mediat.net/Swissindex/Pharma/ws_Pharma_V101.asmx?WSDL"
16
16
  ## NonPharma https://index.ws.e-mediat.net/Swissindex/NonPharma/ws_NonPharma_V101.asmx?WSDL"
17
17
  # Preparations.xml
@@ -42,7 +42,7 @@
42
42
  PHAR Pharmacode: Taken from swissINDEX or ZurRose characters 3..9
43
43
  PEXF Price Ex-Factory (exkl. VAT): Taken from the ZurRose.dat characters 60..65
44
44
  PPUB Public Price (inkl. VAT): Taken from the ZurRose.dat characters 66..71
45
- SLOPLUS Selbsbehalt/deductilbe, where 1 => 20%, 2 => 10%, '' => not known
45
+ SLOPLUS Selbsbehalt/deductilbe, where 1 => 40%, 2 => 10%, '' => not known
46
46
  REF_DATA 1 in oddb_article if coming from a refdata source (migel, bag, swissmedic), else 0
47
47
 
48
48
  FIRST import all data from swissINDEX
@@ -88,7 +88,7 @@
88
88
  * Composition (column 'P') -> Field CompositionSwissmedic in oddb_product.xml
89
89
  * Packungsgrösse (column 'L') -> Field PackGrSwissmedic in oddb_article.xml
90
90
  * Packungseinheit(column 'L') -> Field EinheitSwissmedic in oddb_article.xml
91
-
91
+
92
92
  In oddb_product.xml PRODNO must be exactly 7 digits long. For all drugs appearing in the Packungen.xlsx the
93
93
  PRODNO is defined as IKSNR (column A Zulassungsnummer) + SEQ (column b Dosisstärkenummer) and the DSCRD is
94
94
  taken vom refdata.
@@ -96,7 +96,7 @@
96
96
 
97
97
  </xs:documentation>
98
98
  </xs:annotation>
99
-
99
+
100
100
  <xs:element name="ARTICLE">
101
101
  <xs:complexType>
102
102
  <xs:sequence>
@@ -413,7 +413,7 @@ describe Oddb2xml::Builder do
413
413
  <DOSAGE_FORMF>Solution injectable</DOSAGE_FORMF>
414
414
  <SL_ENTRY>true</SL_ENTRY>
415
415
  <IKSCAT>B</IKSCAT>
416
- <DEDUCTIBLE>20</DEDUCTIBLE>
416
+ <DEDUCTIBLE>40</DEDUCTIBLE>
417
417
  <PRODNO>5329001</PRODNO>
418
418
  </ITEM>),
419
419
  "Kolon with Pharmacode for EAN 7680002780013" => %(<ITEM PHARMATYPE="P">
@@ -11,7 +11,7 @@
11
11
  <SwissmedicNo5>585</SwissmedicNo5>
12
12
  <FlagItLimitation>Y</FlagItLimitation>
13
13
  <OrgGenCode />
14
- <FlagSB20>N</FlagSB20>
14
+ <FlagSB>N</FlagSB>
15
15
  <CommentDe />
16
16
  <CommentFr />
17
17
  <CommentIt />
@@ -147,7 +147,7 @@ Lo sconto deve essere fatto usufruire al debitore secondo l’articolo 56 capove
147
147
  <SwissmedicNo5>28486</SwissmedicNo5>
148
148
  <FlagItLimitation>Y</FlagItLimitation>
149
149
  <OrgGenCode />
150
- <FlagSB20>N</FlagSB20>
150
+ <FlagSB>N</FlagSB>
151
151
  <CommentDe />
152
152
  <CommentFr />
153
153
  <CommentIt />
@@ -294,7 +294,7 @@ Lo sconto deve essere fatto usufruire al debitore secondo l’articolo 56 capove
294
294
  <AtcCode>V06DF</AtcCode>
295
295
  <FlagItLimitation>Y</FlagItLimitation>
296
296
  <OrgGenCode />
297
- <FlagSB20>N</FlagSB20>
297
+ <FlagSB>N</FlagSB>
298
298
  <CommentDe />
299
299
  <CommentFr />
300
300
  <CommentIt />
@@ -439,7 +439,7 @@ Lo sconto deve essere fatto usufruire al debitore secondo l’articolo 56 capove
439
439
  <SwissmedicNo5>53662</SwissmedicNo5>
440
440
  <FlagItLimitation>Y</FlagItLimitation>
441
441
  <OrgGenCode>O</OrgGenCode>
442
- <FlagSB20>N</FlagSB20>
442
+ <FlagSB>N</FlagSB>
443
443
  <CommentDe />
444
444
  <CommentFr />
445
445
  <CommentIt />
@@ -547,7 +547,7 @@ Lo sconto deve essere fatto usufruire al debitore secondo l’articolo 56 capove
547
547
  <SwissmedicNo5>62069</SwissmedicNo5>
548
548
  <FlagItLimitation>Y</FlagItLimitation>
549
549
  <OrgGenCode />
550
- <FlagSB20>N</FlagSB20>
550
+ <FlagSB>N</FlagSB>
551
551
  <CommentDe />
552
552
  <CommentFr />
553
553
  <CommentIt />
@@ -661,7 +661,7 @@ Lo sconto deve essere fatto usufruire al debitore secondo l’articolo 56 capove
661
661
  <SwissmedicNo5>40333</SwissmedicNo5>
662
662
  <FlagItLimitation>Y</FlagItLimitation>
663
663
  <OrgGenCode />
664
- <FlagSB20>N</FlagSB20>
664
+ <FlagSB>N</FlagSB>
665
665
  <CommentDe />
666
666
  <CommentFr />
667
667
  <CommentIt />
@@ -786,7 +786,7 @@ Lo sconto deve essere fatto usufruire al debitore secondo l’articolo 56 capove
786
786
  <SwissmedicNo5>40662</SwissmedicNo5>
787
787
  <FlagItLimitation>Y</FlagItLimitation>
788
788
  <OrgGenCode />
789
- <FlagSB20>N</FlagSB20>
789
+ <FlagSB>N</FlagSB>
790
790
  <CommentDe />
791
791
  <CommentFr />
792
792
  <CommentIt />
@@ -964,7 +964,7 @@ Lo sconto deve essere fatto usufruire al debitore secondo l’articolo 56 capove
964
964
  <SwissmedicNo5>53290</SwissmedicNo5>
965
965
  <FlagItLimitation>Y</FlagItLimitation>
966
966
  <OrgGenCode />
967
- <FlagSB20>Y</FlagSB20> <!-- Manually patched on 2017.12.17 by Niklaus, to hava one Y in examples -->
967
+ <FlagSB>Y</FlagSB> <!-- Manually patched on 2017.12.17 by Niklaus, to hava one Y in examples -->
968
968
  <CommentDe />
969
969
  <CommentFr />
970
970
  <CommentIt />
@@ -1078,7 +1078,7 @@ Lo sconto deve essere fatto usufruire al debitore secondo l’articolo 56 capove
1078
1078
  <SwissmedicNo5>65856</SwissmedicNo5>
1079
1079
  <FlagItLimitation>Y</FlagItLimitation>
1080
1080
  <OrgGenCode />
1081
- <FlagSB20>N</FlagSB20>
1081
+ <FlagSB>N</FlagSB>
1082
1082
  <CommentDe />
1083
1083
  <CommentFr />
1084
1084
  <CommentIt />
@@ -1192,7 +1192,7 @@ Lo sconto deve essere fatto usufruire al debitore secondo l’articolo 56 capove
1192
1192
  <SwissmedicNo5>40502</SwissmedicNo5>
1193
1193
  <FlagItLimitation>Y</FlagItLimitation>
1194
1194
  <OrgGenCode />
1195
- <FlagSB20>N</FlagSB20>
1195
+ <FlagSB>N</FlagSB>
1196
1196
  <CommentDe />
1197
1197
  <CommentFr />
1198
1198
  <CommentIt />
@@ -1387,7 +1387,7 @@ Lo sconto deve essere fatto usufruire al debitore secondo l’articolo 56 capove
1387
1387
  <SwissmedicNo5>62132</SwissmedicNo5>
1388
1388
  <FlagItLimitation>Y</FlagItLimitation>
1389
1389
  <OrgGenCode />
1390
- <FlagSB20>N</FlagSB20>
1390
+ <FlagSB>N</FlagSB>
1391
1391
  <CommentDe />
1392
1392
  <CommentFr />
1393
1393
  <CommentIt />
@@ -1588,7 +1588,7 @@ Il medico curante si impegna a registrare costantemente i necessari dati nell'ap
1588
1588
  <SwissmedicNo5>16105</SwissmedicNo5>
1589
1589
  <FlagItLimitation>Y</FlagItLimitation>
1590
1590
  <OrgGenCode />
1591
- <FlagSB20>N</FlagSB20>
1591
+ <FlagSB>N</FlagSB>
1592
1592
  <CommentDe />
1593
1593
  <CommentFr />
1594
1594
  <CommentIt />
@@ -1761,7 +1761,7 @@ Il medico curante si impegna a registrare costantemente i necessari dati nell'ap
1761
1761
  <SwissmedicNo5>35366</SwissmedicNo5>
1762
1762
  <FlagItLimitation>Y</FlagItLimitation>
1763
1763
  <OrgGenCode />
1764
- <FlagSB20>N</FlagSB20>
1764
+ <FlagSB>N</FlagSB>
1765
1765
  <CommentDe />
1766
1766
  <CommentFr />
1767
1767
  <CommentIt />
@@ -1939,7 +1939,7 @@ Il medico curante si impegna a registrare costantemente i necessari dati nell'ap
1939
1939
  <SwissmedicNo5>55558</SwissmedicNo5>
1940
1940
  <FlagItLimitation>Y</FlagItLimitation>
1941
1941
  <OrgGenCode>O</OrgGenCode>
1942
- <FlagSB20>N</FlagSB20>
1942
+ <FlagSB>N</FlagSB>
1943
1943
  <CommentDe />
1944
1944
  <CommentFr />
1945
1945
  <CommentIt />
@@ -2070,7 +2070,7 @@ delle infezioni da Enterococcus faecium Vancomicina-resistente incluse le batter
2070
2070
  <SwissmedicNo5>55559</SwissmedicNo5>
2071
2071
  <FlagItLimitation>Y</FlagItLimitation>
2072
2072
  <OrgGenCode>O</OrgGenCode>
2073
- <FlagSB20>N</FlagSB20>
2073
+ <FlagSB>N</FlagSB>
2074
2074
  <CommentDe />
2075
2075
  <CommentFr />
2076
2076
  <CommentIt />
@@ -2201,7 +2201,7 @@ delle infezioni da Enterococcus faecium Vancomicina-resistente incluse le batter
2201
2201
  <SwissmedicNo5>56352</SwissmedicNo5>
2202
2202
  <FlagItLimitation>Y</FlagItLimitation>
2203
2203
  <OrgGenCode />
2204
- <FlagSB20>N</FlagSB20>
2204
+ <FlagSB>N</FlagSB>
2205
2205
  <CommentDe />
2206
2206
  <CommentFr />
2207
2207
  <CommentIt />
@@ -2326,7 +2326,7 @@ delle infezioni da Enterococcus faecium Vancomicina-resistente incluse le batter
2326
2326
  <SwissmedicNo5>54534</SwissmedicNo5>
2327
2327
  <FlagItLimitation>Y</FlagItLimitation>
2328
2328
  <OrgGenCode />
2329
- <FlagSB20>N</FlagSB20>
2329
+ <FlagSB>N</FlagSB>
2330
2330
  <CommentDe />
2331
2331
  <CommentFr />
2332
2332
  <CommentIt />
@@ -2597,7 +2597,7 @@ delle infezioni da Enterococcus faecium Vancomicina-resistente incluse le batter
2597
2597
  <SwissmedicNo5>58734</SwissmedicNo5>
2598
2598
  <FlagItLimitation>Y</FlagItLimitation>
2599
2599
  <OrgGenCode />
2600
- <FlagSB20>N</FlagSB20>
2600
+ <FlagSB>N</FlagSB>
2601
2601
  <CommentDe />
2602
2602
  <CommentFr />
2603
2603
  <CommentIt />
@@ -2722,7 +2722,7 @@ delle infezioni da Enterococcus faecium Vancomicina-resistente incluse le batter
2722
2722
  <SwissmedicNo5>55561</SwissmedicNo5>
2723
2723
  <FlagItLimitation>Y</FlagItLimitation>
2724
2724
  <OrgGenCode />
2725
- <FlagSB20>N</FlagSB20>
2725
+ <FlagSB>N</FlagSB>
2726
2726
  <CommentDe />
2727
2727
  <CommentFr />
2728
2728
  <CommentIt />
@@ -2847,7 +2847,7 @@ delle infezioni da Enterococcus faecium Vancomicina-resistente incluse le batter
2847
2847
  <SwissmedicNo5>57724</SwissmedicNo5>
2848
2848
  <FlagItLimitation>Y</FlagItLimitation>
2849
2849
  <OrgGenCode />
2850
- <FlagSB20>N</FlagSB20>
2850
+ <FlagSB>N</FlagSB>
2851
2851
  <CommentDe />
2852
2852
  <CommentFr />
2853
2853
  <CommentIt />
@@ -2959,7 +2959,7 @@ delle infezioni da Enterococcus faecium Vancomicina-resistente incluse le batter
2959
2959
  <SwissmedicNo5>65160</SwissmedicNo5>
2960
2960
  <FlagItLimitation>Y</FlagItLimitation>
2961
2961
  <OrgGenCode />
2962
- <FlagSB20>N</FlagSB20>
2962
+ <FlagSB>N</FlagSB>
2963
2963
  <CommentDe />
2964
2964
  <CommentFr />
2965
2965
  <CommentIt />
@@ -3098,7 +3098,7 @@ Il medico curante è tenuto a raccogliere costantemente i dati necessari nell’
3098
3098
  <SwissmedicNo5>615</SwissmedicNo5>
3099
3099
  <FlagItLimitation>Y</FlagItLimitation>
3100
3100
  <OrgGenCode />
3101
- <FlagSB20>N</FlagSB20>
3101
+ <FlagSB>N</FlagSB>
3102
3102
  <CommentDe />
3103
3103
  <CommentFr />
3104
3104
  <CommentIt />
@@ -3236,7 +3236,7 @@ Se il vaccino viene ottentuto al prezzo di serie summenzionato, il medico non pu
3236
3236
  <SwissmedicNo5>44447</SwissmedicNo5>
3237
3237
  <FlagItLimitation>Y</FlagItLimitation>
3238
3238
  <OrgGenCode />
3239
- <FlagSB20>N</FlagSB20>
3239
+ <FlagSB>N</FlagSB>
3240
3240
  <CommentDe />
3241
3241
  <CommentFr />
3242
3242
  <CommentIt />
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: oddb2xml
3
3
  version: !ruby/object:Gem::Version
4
- version: 2.8.9
4
+ version: 2.9.1
5
5
  platform: ruby
6
6
  authors:
7
7
  - Yasuhiro Asaka, Zeno R.R. Davatz, Niklaus Giger
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2024-01-07 00:00:00.000000000 Z
11
+ date: 2024-02-19 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: rubyzip
@@ -550,7 +550,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
550
550
  - !ruby/object:Gem::Version
551
551
  version: '0'
552
552
  requirements: []
553
- rubygems_version: 3.4.5
553
+ rubygems_version: 3.5.4
554
554
  signing_key:
555
555
  specification_version: 4
556
556
  summary: oddb2xml creates xml files.