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 +4 -4
- data/Gemfile.lock +1 -1
- data/lib/oddb2xml/builder.rb +14 -5
- data/lib/oddb2xml/extractor.rb +2 -1
- data/lib/oddb2xml/version.rb +1 -1
- data/lib/oddb2xml/xml_definitions.rb +1 -0
- data/oddb2xml.xsd +4 -4
- data/spec/artikelstamm_spec.rb +1 -1
- data/spec/data/Preparations.xml +23 -23
- metadata +3 -3
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA256:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: ef2f6995fe6bb0c2a270a41f12322b1796a3d544a579175bb4906072560fcbf6
|
4
|
+
data.tar.gz: '052907769a7933ee5e968f0d023b43f698b218df4e5f9907d56081b04cc8d7cf'
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 18faa95d729dd10b602a305a56bede4fe0f9b2943c1531f0fb4fdc951a50d712ba45fba69d381bd070f7fda45913fa79befa7f00cd03cb553bf815a8fead7677
|
7
|
+
data.tar.gz: db215dfc9458e45bdb6be130a156b30e12a8f500906014243a01153e5dcbe4b0503102682d4be0164a7b45d68902b8300b33189d9c6776b9dff79673f6621ce4
|
data/Gemfile.lock
CHANGED
data/lib/oddb2xml/builder.rb
CHANGED
@@ -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
|
-
|
1035
|
-
|
1036
|
-
|
1037
|
-
|
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
|
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
|
data/lib/oddb2xml/extractor.rb
CHANGED
@@ -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.
|
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 : ""
|
data/lib/oddb2xml/version.rb
CHANGED
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 =>
|
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>
|
data/spec/artikelstamm_spec.rb
CHANGED
@@ -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>
|
416
|
+
<DEDUCTIBLE>40</DEDUCTIBLE>
|
417
417
|
<PRODNO>5329001</PRODNO>
|
418
418
|
</ITEM>),
|
419
419
|
"Kolon with Pharmacode for EAN 7680002780013" => %(<ITEM PHARMATYPE="P">
|
data/spec/data/Preparations.xml
CHANGED
@@ -11,7 +11,7 @@
|
|
11
11
|
<SwissmedicNo5>585</SwissmedicNo5>
|
12
12
|
<FlagItLimitation>Y</FlagItLimitation>
|
13
13
|
<OrgGenCode />
|
14
|
-
<
|
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
|
-
<
|
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
|
-
<
|
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
|
-
<
|
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
|
-
<
|
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
|
-
<
|
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
|
-
<
|
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
|
-
<
|
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
|
-
<
|
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
|
-
<
|
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
|
-
<
|
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
|
-
<
|
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
|
-
<
|
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
|
-
<
|
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
|
-
<
|
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
|
-
<
|
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
|
-
<
|
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
|
-
<
|
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
|
-
<
|
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
|
-
<
|
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
|
-
<
|
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
|
-
<
|
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
|
-
<
|
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.
|
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-
|
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
|
553
|
+
rubygems_version: 3.5.4
|
554
554
|
signing_key:
|
555
555
|
specification_version: 4
|
556
556
|
summary: oddb2xml creates xml files.
|