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