Exporting lab results to TerraIndex for a customer

Returning the labresults to the client, that requested the analysis on samples.

More information about SIKB0101 can be found here: https://www.sikb.nl/datastandaarden/sikb0101-bodembeheer 

What is a Lab result file?

A lab result file is an XML file contains all the lab results. The results are mapped tot their analyses samples. A lab result will be matched to the corresponding analyses sample based on the: “Labassignment Guid/SIKB-ID, projectCode, AnalysisSample Guid/SIKB-ID”

Example fileslabresultaat_MengmonsterGr.xmllabresultaat_IndividueelGr.xmllabresultaat_IndividueelGw.xml

XSD: Ask or SIKB Members can download from: https://www.sikb.nl/datastandaarden/richtlijnen/sikb0101

Controle XSLTLabresult_Controle.xsl

Domaintable filesimmetingen lookup v14.8.0.xml   imsikb0101 lookup v14.8.0.xml
extracted from: https://codes.sikb.nl 

Model Structure

IMSIKB0101 - Labresults.png

Metadata

Attribute nameDescriptionUnit
versionThe SIKB version of the lab results file. This must be: 14.8.0 or 14.9.0string
applicationThis is the application code of your LIMS system that you will get from TerraIndex. Be careful this is not the same code as your laboratory number. Your applicationcode can be requested of found here: https://codes.sikb.nl/tablet/domain-table-details/50be26c9-5e66-46c9-9373-9d402762876f Integer
reportDateThe date on which the lab result file was made

date

yyyy-mm-dd

supplierThe number you get from TerraIndex. This needs to be the same as the laboratorium number in the lab delivery file. Your supplier code can be requested of found here: https://codes.sikb.nl/tablet/domain-table-details/dc2ad4df-f958-4146-aee8-31f8c2f1c74bstring
dataflowShould be '1' in this case, what stands voor 'AnalysisResults'. Other option can be found here: https://codes.sikb.nl/tablet/domain-table-details/79365ded-f56a-4f10-ba45-16bac69752d9integer


Labassignment

The labassignmentpart is the same as in the labassignment: Lab assignment file - SIKB0101 v14 

With 3 differences:

  • Status on the labassignment itself
  • Status on the labassignment.sample link
  • The labassignment Report number can be send in: LabAssignmentCertificate

MeasureResult

Attribute NameDescription

numericValue Measure

Numeric Value - the numerical value of the observation. When no unit for the measurement is known, the unit 'Dimensionless' should be used.

valueProcessingMethod GenericName

Value Processing Method - a mathematical/statistical operation that is applied while the method of value determination/analysis standard remains unchanged.

The operation can be applied to a series of measurement values with the same parameter (quantity/component or typing or taxon or object) or to a series of measurement values with the same analysis method that are summed up to a sum parameter.

Domain table: Value Processing Method

qualityIndicatorType GenericName

Quality Indicator/Judgement -> Detection limit, etc.

Domain table: Quality Judgement

Accuracy

Attribute NameDescriptionUnit

recovery Float

The part (percentage) of material that is recovered in an analysis.

Percentage [%]

spread Float

Spread = the error measured (in %) in multiple repeated measurements of the same sample/situation (and by the same laboratory technician/measuring device).Percentage [%]

measurementUncertainty Float

Measurement uncertainty = the total error in the analysis (in %), considering sample collection, variation in measuring equipment/lab technician, and repeated measurements. It practically represents the value indicating the uncertainty of the measurement result.Percentage [%]

zScore Float

This is an optional value that indicates how the measurement value scores in relation to other techniques or laboratories. This could be from interlaboratory comparisons or comparisons between different measuring equipment. 

drift Float

This is the degree of sensor drift over time (in %/year). Sensors will age over time and experience more or less drift depending on the conditions. This drift can be quantified and depends partly on age. This is especially true for online sensors.Percentage [%]

AnalyticResult

The analyzed result of an observation, typically originating from a laboratory.

Attribute NameDescription

limitSymbol CharacterString

LimietSymbool, allowed values: '<' en '>'.

'<' stands for 'less than the lowest threshold'

'>' stands for 'greater than the highest threshold'

The boundary for the limit symbol can be specified in the DeterminationLimits (LimitSymbolReferenceCode) as a reference with the actual value of the limit. The value can be included in the exchange in two ways:

1) as a CData block: <![CDATA[<]]> or <![CDATA[>]]>

2) as HTML code: '&amp; lt;' or '&amp; gt;'

alphanumericValue CharacterString

Textual value associated with an analysis result

Structure projectgegevens

1637656734277-997.png

Attribute nameDescriptionUnit
idopdrachtThe TerraIndex id of the lab assignment the result belongs to.-
projectcodeThe project code of the project as it was delivered in the lab assignmentstring
projectnaamThe name of the project as it was delivered in the lab assignment.string
ordernummerNot relevant. The order in which the lab result could be shownstring
projectleiderThe project leader of the customer. This needs the be the “contactpersoon” from the lab assignment with the code PLstring
statusThe status of the lab assignment. See Labstatus Codegroup 76 in the attachments for all the options.integer
datumverwachtThe date on which the lab expects the certificate to be availableDate
yyyy-mm-dd
certificaatnummerThe number of the certificate that will be send to the user.string

analysemonsters

 

A table containing all the analysis sample with their corresponding results-

Structure analysemonsters

1637656914799-534.png

Attribute nameDescriptionUnit
IdanlmonsThe unique identification code of the analyses sample as given in the lab assignment filestring
AnlmonsThe name of the analyses sample as given in the lab assignment filestring
CertificaatThe way the name of the sample should be on the certificate. This is also given in the lab assignmentstring
MonstersoortThe code referencing the type the sample is. Check the attachment: Sample type codegroup 51 for all the optionsinteger
StatusThe status of the sample. See Labstatus Codegroup 76 in the attachments.integer
DatumverwachtThe date on which the results for the sample are expected

date

yyyy-mm-dd

VolgordeIs a unused field in TerraIndexinteger
analyseresultatenA table containing all the measurement values of the analysis samples.-

Structure analyseresultaten

1637657248973-790.png

Attribute nameDescriptionUnit
componentcodeThe SIKB component code. See ComponentCode Codegroup 52 in the attachements for all possible options.integer
meetwaardeWhat the measured value is for the analysesfloat
meetwaardeomschrijvingAlpha numerical description of the resultstring
eenheidcodeThe unit of the measured value. See Unit CodeGroup 40 in the attachements for all possible optionsinteger
referentiecodeThis defines what the reference for the measurement value is. See ReferenceType CodeGroup 41 for all the possible optionsinteger
analysenormAgainst which standard the analysis has been tested. See Laboratory method Codegroup 57 in the attachments for all the option. I your standard is not in the list leave this emptyinteger
datummonstervoorbehandelingThe date on which the sample was pre-treated. We don’t do anything with this value

date

yyyy-mm-dd

opmerkingA remark for this resultstring
certificeringUnder which certificate the analyses has been done. See CertificateCode Codegroup 48 for all the possible options. If you do not find you code leave this field emptyinteger
statusThe status of the labresult in the labassignemnt. See Labstatus Codegroep 76 in the attachmentsinteger
datumverwachtDate on which the analyses results are expected.date

What to exchange to bind the right results to the right sample?

The data stream ‘Lab Result’ is the feedback of analysis results on the requested lab assignment at a laboratory. At import we need to bind it onto the correct sample.

This requires importand field to match the samples in the xml to the samples in our database.

Important fields:

EntityFixed valueRemark
ProjectlokaalID (GUID)As submitted in the Lab assignment XML
 projectCodeAs submitted in the Lab assignment XML
LabassignmentlokaalID (GUID)As submitted in the Lab assignment XML
Sample (analysis sample)lokaalID (GUID)As submitted in the Lab assignment XML, if assignment in SIKB<11, but results in >=11; fill with old BISNR/IDANLMONS.
 NameAs submitted in the Lab assignment XML
Sample (field sample)

lokaalID (GUID)

Only if this entity is included, which is optional.

Remarks:

  • The entity ‘Analysis Result’ does not yet have a fixed lokaalID (GUID), connected laboratories cannot yet guarantee that a unique ID will be generated.
  • For Asbestos and Asphalt, new samples are also created at the Lab, which are therefore fed back with a reference to the sample from which they are derived.
  • There is still a desire to feedback from a lab whether an analysis sample has been modified at the lab in terms of sub-samples. For example, if a jar has broken and been replaced with another jar. This has not yet been included in current practices.

Importing the data will be done based on the following steps:

  • Search Project with Project.lokaalID (as placed in the Lab assignment XML).
  • Search Project with Project.ProjectCode (as placed in the Lab assignment XML) if searching on Project.LokaalID yields no results.
  • Search Project and Lab assignment with Labassignment.LokaalID (as placed in the Lab assignment XML) if the Project has not yet been found.
  • Search Project (if Project not yet found) and Analysis Sample with Sample.LokaalID as GUID (as placed in the Lab assignment XML, version 11 and higher).
  • Search Project (if Project not yet found) and Analysis Sample with Sample.LokaalID as BISNR (as placed in the Lab assignment XML, versions lower than 11, 'old' idanlmons/BISNR).
  • Search Analysis Sample with Sample.Name within the project, if the Analysis Sample has not been found but the project has.

What can be imported?

  • If an Analysis Sample is found, the Analysis Results are always updated or added.
  • If Project is found, but the analysis sample is not; then this analysis sample is imported as a new analysis sample with all results.
  • (If it concerns water samples, a new fictional/temporary measuring point and filter could be created.)
  •  

SIKB 14 Parameter result combinations

In the SIKB0101 version 14 exchange of labresults is combination needed for exchanging the result parameters of the Lab analysis.
It's based on PhysicalProperty, the combination of Quantity, Parameter and Condition.

1713183008796-215.png
*small remark, condition will be used as: [0..1] 

Domaintables bound to these fields:

The combinations are defined for different compartiments like soil/ground, groundwater, wastewater.
Below are some examples, and some attachments included to support all combinations.

2 Examples for Soil:

Parameter NameParameter IDQuantity IDQuantity nameCondition IDCondition Name
lood
(lead)
11162725Massafractie
(Massfraction)
1t.o.v. drooggewicht
(relative to dry weight)
minerale olie
(minerale oil)
12002725Massafractie
(Massfraction)
93koolwaterstoffractie C10-C40 / drooggewicht
(hydrocarbon fraction C10-C40 / dry weight)

2 Examples for Groundwater:

Parameter NameParameter IDQuantity IDQuantity nameCondition IDCondition Name 
cyanide-complex25952720(massa)Concentratie9opgeloste fractie (bijv. na filtratie)
som 29 dioxines (TEQ)21602720(massa)Concentratie10uitgedrukt in Toxiciteit equivalenten

2 Examples for Wastewater:

Parameter NameParameter IDQuantity IDQuantity nameCondition IDCondition Name 
cyanide-complex25952720(massa)Concentratie8Niet van toepassing
som 29 dioxines (TEQ)21602720(massa)Concentratie10uitgedrukt in Toxiciteit equivalenten

Full combinations sheet:  Full List of AnalysisResult combinations 04-2024.xlsx

We can help you with the right combinations and mappings to your own codes.

 

Tags:
 
TerraIndex
asd