oddb2xml 2.8.9 → 2.9.1

Sign up to get free protection for your applications and to get access to all the features.
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.