Version 21.1 by Robin Huisman on 2024/04/03 17:53

Hide last authors
Roelof Zwaan 9.2 1 = Creating a Delivery file and binding them to a customer =
2
3 This chapter contains the information needed to understand the lab delivery file. A Lab delivery file only has to be updated when there are changes. Otherwise TerraIndex will always show the last imported file.
4
Robin Huisman 11.1 5 {{warning}}
Robin Huisman 16.1 6 Latest version can be found here: [[https:~~/~~/www.sikb.nl/datastandaarden/sikb0101-bodembeheer>>url:https://www.sikb.nl/datastandaarden/sikb0101-bodembeheer]]
Robin Huisman 11.1 7 {{/warning}}
8
Roelof Zwaan 9.2 9 == What is a lab delivery file ==
10
11 A lab delivery file contains the Customer code of the customer that will be sending the lab assignment. It also contains the analyses that can be requested from the a lab by the customer. A Lab delivery file needs to be custom for every user and needs to be a XML file
12
Robin Huisman 21.1 13 **Example files**:  [[attach:Labdeliveryfile.xml||rel="noopener noreferrer" target="_blank"]]
Roelof Zwaan 9.2 14
Robin Huisman 21.1 15 **XSD**:  [[attach:LabDelivery_v14.8.0.xsd||rel="noopener noreferrer" target="_blank"]]
Robin Huisman 16.1 16
17 **Domaintable files**:  [[immetingen lookup v14.8.0.xml>>url:https://wiki.terraindex.com/bin/download/Implementation%20documentation/Setting%20up%20Lab%20communication%20by%20REST%20services%20with%20TerraIndex/Lab%20assignment%20file/WebHome/immetingen%20lookup%20v14.8.0.xml?rev=1.2]]   [[imsikb0101 lookup v14.8.0.xml>>url:https://wiki.terraindex.com/bin/download/Implementation%20documentation/Setting%20up%20Lab%20communication%20by%20REST%20services%20with%20TerraIndex/Lab%20assignment%20file/WebHome/imsikb0101%20lookup%20v14.8.0.xml?rev=1.1]]
18 extracted from: **[[https:~~/~~/codes.sikb.nl>>url:https://codes.sikb.nl/]] **
19
20
Roelof Zwaan 9.2 21 == File structure ==
22
23 In the image below the main structure of the XML file is shown. Every table is described in more detail later on in this chapter.
Robin Huisman 21.1 24 [[image:1712158795900-531.png||height="604" width="391"]]
Roelof Zwaan 9.2 25
26 (% class="table-hover" %)
27 |(% colspan="1" rowspan="1" %)**Attribute name**|(% colspan="1" rowspan="1" %)**Description**|(% colspan="1" rowspan="1" %)**Unit**
Robin Huisman 16.1 28 |(% colspan="1" rowspan="1" %)**version**|(% colspan="1" rowspan="1" %)SIKB version. This must be: **14.8.0**|(% colspan="1" rowspan="1" %)string
29 |(% colspan="1" %)**versionDeliveryData**|(% colspan="1" %)A lab indication of the version of the delivered data for this user. Could be a generation date with version: '12-7-2024' or a version 'v12.1'|(% colspan="1" %)string
30 |(% colspan="1" rowspan="1" %)**laboratory**|(% colspan="1" rowspan="1" %)A number given by SIKB/TerraIndex to the lab when requesting to connect to TerraIndex
31 [[Domaintable: Meetinstantie>>https://codes.sikb.nl/tablet/domain-table-details/4e270f0a-cefe-446e-9d4d-6666c91180a8]]|(% colspan="1" rowspan="1" %)integer
32 |(% colspan="1" rowspan="1" %)**language**|(% colspan="1" rowspan="1" %)(((
33 The language of the Delivery file content, like the package names, urgencies etc, in a three-letter ISO-639-2 code:
Roelof Zwaan 9.2 34
35 - dut = Dutch
36 - eng = English
Robin Huisman 16.1 37 - fra = French
38 - spa = Spanish
39 - ita = Italian
40 - deu = German
Roelof Zwaan 9.2 41 )))|(% colspan="1" rowspan="1" %)string
Robin Huisman 16.1 42 |(% colspan="1" rowspan="1" %)**Links**|(% colspan="1" rowspan="1" %)A table to connect the “AnalysisSet” and the “Clients”|(% colspan="1" rowspan="1" %)-
43 |(% colspan="1" rowspan="1" %)**AnalysisSets**|(% colspan="1" rowspan="1" %)A table containing the name and lab code of analysis set|(% colspan="1" rowspan="1" %)-
44 |(% colspan="1" rowspan="1" %)**Categories**|(% colspan="1" rowspan="1" %)A table containing all the possible lab categories|(% colspan="1" rowspan="1" %)-
45 |(% colspan="1" rowspan="1" %)**AnalysisLinks**|(% colspan="1" rowspan="1" %)A table containing all the analyses for an analysis set|(% colspan="1" rowspan="1" %)-
46 |(% colspan="1" rowspan="1" %)**Clients**|(% colspan="1" rowspan="1" %)A table of all the customer codes that are available for the company|(% colspan="1" rowspan="1" %)-
47 |(% colspan="1" rowspan="1" %)**LabSampleMatrices**|(% colspan="1" rowspan="1" %)A table of all the Lab sample Matrices a lab would like to have selectable.|(% colspan="1" rowspan="1" %)-
48 |(% colspan="1" rowspan="1" %)**SpecialAppointments**|(% colspan="1" rowspan="1" %)A table of all the special price agreements besides the default quote.|(% colspan="1" %)-
49 |(% colspan="1" rowspan="1" %)**Urgencies**|(% colspan="1" rowspan="1" %)A table containing a list of time frames in which the lab results need to be returned|(% colspan="1" %)-
50 |(% colspan="1" rowspan="1" %)StoragePeriods|(% colspan="1" rowspan="1" %)-not in use-|(% colspan="1" rowspan="1" %)
51 |(% colspan="1" rowspan="1" %)Reports|(% colspan="1" rowspan="1" %)-not in use-|(% colspan="1" rowspan="1" %)
52 |(% colspan="1" rowspan="1" %)FractionLinks|(% colspan="1" rowspan="1" %)-not in use-|(% colspan="1" rowspan="1" %)
Roelof Zwaan 9.2 53
Robin Huisman 21.1 54 == Structure explanation AnalysisSet ==
Roelof Zwaan 9.2 55
56 This table contains all the analyses packages that your lab supports. The “analysepakketcode” is your own identification code for the analysis packages.
57
58
59 (% class="table-hover" %)
60 |(% colspan="1" rowspan="1" %)**Attribute name**|(% colspan="1" rowspan="1" %)**Description**|(% colspan="1" rowspan="1" %)**Unit**
61 |(% colspan="1" rowspan="1" %)**analysepakketcode**|(% colspan="1" rowspan="1" %)The identification code of the lab for their analysis package code|(% colspan="1" rowspan="1" %)string
62 |(% colspan="1" rowspan="1" %)**omschrijving**|(% colspan="1" rowspan="1" %)The name/description of the analysis package (This will also be shown in the user interface)|(% colspan="1" rowspan="1" %)string
63 |(% colspan="1" rowspan="1" %)**volgorde**|(% colspan="1" rowspan="1" %)Field is redundant and does not have to be filled in|(% colspan="1" rowspan="1" %)string
64
65 == Structure explanation categorieen ==
66
67 “Categorie” does not need a lot of explanation. A category is a group defined by the lab where certain values in the “koppeltabel” can be grouped under. A category is determined by the lab and can be used in the “koppeltabel”
68
69 (% style="text-align:center" %)
70 [[image:1637578815582-615.png]]
71
72 (% class="table-hover" %)
73 |(% colspan="1" rowspan="1" %)**Attribute name**|(% colspan="1" rowspan="1" %)**Description**|(% colspan="1" rowspan="1" %)**Unit**
74 |(% colspan="1" rowspan="1" %)**Categoriecode**|(% colspan="1" rowspan="1" %)The category code of the category of the lab|(% colspan="1" rowspan="1" %)string
75 |(% colspan="1" rowspan="1" %)**Omschrijving**|(% colspan="1" rowspan="1" %)The name/description of the category (This will also be shown in the user interface)|(% colspan="1" rowspan="1" %)string
76 |(% colspan="1" rowspan="1" %)**volgorde**|(% colspan="1" rowspan="1" %)Field is redundant and does not have to be filled in|(% colspan="1" rowspan="1" %)integer
77
78 == Analysetabel ==
79
80 This table contains all the analyses that a analyses package can contain. Be sure the “analysepakketcode” corresponds to a code in the table: “analysepakketten”. The analysecode is your own identification code for the analyses.
81
82 (% style="text-align:center" %)
83 [[image:1637578915565-695.png]]
84
85 (% class="table-hover" %)
86 |(% colspan="1" rowspan="1" %)**Attribute name**|(% colspan="1" rowspan="1" %)**Description**|(% colspan="1" rowspan="1" %)**Unit**
87 |(% colspan="1" rowspan="1" %)**Analysepakketcode**|(% colspan="1" rowspan="1" %)The analyse package code that corresponds to a code in the “//analysepakketten//”|(% colspan="1" rowspan="1" %)string
88 |(% colspan="1" rowspan="1" %)**Analyse**|(% colspan="1" rowspan="1" %)A table containing ale the analyses that should be in this analysis package|(% colspan="1" rowspan="1" %)-
89 |(% colspan="1" rowspan="1" %)**Analyse > analysecode**|(% colspan="1" rowspan="1" %)The identification code of the lab for the analyses|(% colspan="1" rowspan="1" %)string
90 |(% colspan="1" rowspan="1" %)**Analyse > omschrijving**|(% colspan="1" rowspan="1" %)The name\description of the analysis (This will also be shown in the user interface)|(% colspan="1" rowspan="1" %)string
91
92 == Structure explanation debiteurtabel ==
93
94 A customer can have multiple “debiteuren”. There always needs to be one “debiteur” so that a lab assignment can be send. But for example when there is a price agreement for a certain project a new “debiteur” can be added. Or when a company has multiple offices every office can have its own “debiteur”
95
96 (% style="text-align:center" %)
97 [[image:1637578988501-147.png]]
98
99 |(% colspan="1" rowspan="1" %)**Attribute name**|(% colspan="1" rowspan="1" %)**Description**|(% colspan="1" rowspan="1" %)**Unit**
100 |(% colspan="1" rowspan="1" %)**klantcode**|(% colspan="1" rowspan="1" %)The customer code(s) for the company|(% colspan="1" rowspan="1" %)string
101 |(% colspan="1" rowspan="1" %)**omschrijving**|(% colspan="1" rowspan="1" %)De name\description of the customer code|(% colspan="1" rowspan="1" %)string
102
Robin Huisman 21.1 103 == Structure explanation Links ==
Roelof Zwaan 9.2 104
Robin Huisman 21.1 105 The “Links” is one of the most important sections of the XML. The “koppeltabel” defines the combination of Analysespackages, custeromcode, categories and sampletype. Without a combination in this table a customer will not be able to send in lab assignments to the laboratory.
106 [[image:1712158823685-514.png||height="563" width="531"]]
107
Roelof Zwaan 9.2 108
109 (% class="table-hover" %)
110 |(% colspan="1" rowspan="1" %)**Attribute name**|(% colspan="1" rowspan="1" %)**Description**|(% colspan="1" rowspan="1" %)**unit**
111 |(% colspan="1" rowspan="1" %)**Analysepakketcode**|(% colspan="1" rowspan="1" %)The analysepackagecode that corresponds to a code in the analysepakket|(% colspan="1" rowspan="1" %)string
112 |(% colspan="1" rowspan="1" %)**klantcode**|(% colspan="1" rowspan="1" %)A code that corresponds to a code in debiteuren|(% colspan="1" rowspan="1" %)string
113 |(% colspan="1" rowspan="1" %)**monstersoort**|(% colspan="1" rowspan="1" %)An SIKB code that determins to which matrix the analyses belongs. Sampletype
114 Codegroup 51 in the Attachments for all possible codes|(% colspan="1" rowspan="1" %)(((
115 integer
116
117
118 )))
119 |(% colspan="1" rowspan="1" %)**categoriecode**|(% colspan="1" rowspan="1" %)A code that corresponds to a category code in “//categorie//”|(% colspan="1" rowspan="1" %)string
120
121 == Structure explanation urgentietabel ==
122
123 This table contains a list with different delivery times for analyses results. For example 5 work days, overnight, within 48 hours and so on. The “urgentie code” is a code given by the lab.
124
125 (% style="text-align:center" %)
126 [[image:1637579214994-369.png]]
127
128 (% class="table-hover" %)
129 |(% colspan="1" rowspan="1" %)**Attribute name**|(% colspan="1" rowspan="1" %)**Description**|(% colspan="1" rowspan="1" %)**Unit**
130 |(% colspan="1" rowspan="1" %)**urgentiecode**|(% colspan="1" rowspan="1" %)The code of the lab for when the analysis results need to be returned to the customer|(% colspan="1" rowspan="1" %)string
131 |(% colspan="1" rowspan="1" %)**omschrijving**|(% colspan="1" rowspan="1" %)The name/ description of the urgentie|(% colspan="1" rowspan="1" %)string
132
Robin Huisman 21.1 133 ==
134 ==