Version 32.1 by Robin Huisman on 2024/04/03 19:11

Show last authors
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
5 {{warning}}
6 Latest version can be found here: [[https:~~/~~/www.sikb.nl/datastandaarden/sikb0101-bodembeheer>>url:https://www.sikb.nl/datastandaarden/sikb0101-bodembeheer]]
7 {{/warning}}
8
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
13 **Example files**:  [[attach:Labdeliveryfile.xml||rel="noopener noreferrer" target="_blank"]]
14
15 **XSD**:  [[attach:LabDelivery_v14.8.0.xsd||rel="noopener noreferrer" target="_blank"]]
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
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.
24 [[image:1712158795900-531.png||height="604" width="391"]]
25
26 (% class="table-hover" %)
27 |(% colspan="1" rowspan="1" %)**Attribute name**|(% colspan="1" rowspan="1" %)**Description**|(% colspan="1" rowspan="1" %)**Unit**
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:
34
35 - dut = Dutch
36 - eng = English
37 - fra = French
38 - spa = Spanish
39 - ita = Italian
40 - deu = German
41 )))|(% colspan="1" rowspan="1" %)string
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" %)
53
54 == Structure explanation AnalysisSet ==
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
103 == Structure explanation Links ==
104
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
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
133 ==
134 ==