Update SamplesAnalysis and SamplesAnalysesReport schema
Update includes removal of Rock and Fluid specific objects, addition of SampleAnalysisTypeIDs array object.
SamplesAnalysis
{
"x-osdu-license": "TBD",
"x-osdu-schema-source": "exxonmobil:rafsddms:work-product-component--SamplesAnalysis:1.0.0",
"title": "SamplesAnalysis",
"description": "Attributes needed to find and retrieve the analysis of one particular rock or fluid sample analysis dataset, which contains one batch of analysis in one Analysis Family. This dataset can represent analysis pertaining to one or multiple specimens/samples, depending on the Analysis Family. For example, this could represent one table of data from a SamplesAnalysesReport, or one dataset delivered as a work-product-component from a lab.",
"type": "object",
"properties": {
"id": {
"description": "Previously called ResourceID or SRN which identifies this OSDU resource object without version.",
"title": "Entity ID",
"type": "string",
"pattern": "^[\\w\\-\\.]+:master-data\\-\\-SamplesAnalysis:[\\w\\-\\.\\:\\%]+$",
"example": "namespace:work-product-component--SamplesAnalysis:c69cf08a-ae35-5984-b855-f9b36ce1ea21"
},
"kind": {
"description": "The schema identification for the OSDU resource object following the pattern {Namespace}:{Source}:{Type}:{VersionMajor}.{VersionMinor}.{VersionPatch}. The versioning scheme follows the semantic versioning, https://semver.org/.",
"title": "Entity Kind",
"type": "string",
"pattern": "^[\\w\\-\\.]+:[\\w\\-\\.]+:[\\w\\-\\.]+:[0-9]+.[0-9]+.[0-9]+$",
"example": "exxonmobil:rafsddms:work-product-component--SamplesAnalysis:1.0.0"
},
"version": {
"description": "The version number of this OSDU resource; set by the framework.",
"title": "Version Number",
"type": "integer",
"format": "int64",
"example": 1562066009929332
},
"acl": {
"description": "The access control tags associated with this entity.",
"title": "Access Control List",
"$ref": "../abstract/AbstractAccessControlList.1.0.0.json"
},
"legal": {
"description": "The entity's legal tags and compliance status. The actual contents associated with the legal tags is managed by the Compliance Service.",
"title": "Legal Tags",
"$ref": "../abstract/AbstractLegalTags.1.0.0.json"
},
"tags": {
"title": "Tag Dictionary",
"description": "A generic dictionary of string keys mapping to string value. Only strings are permitted as keys and values.",
"type": "object",
"additionalProperties": {
"type": "string"
},
"example": {
"NameOfKey": "String value"
}
},
"createTime": {
"description": "Timestamp of the time at which initial version of this OSDU resource object was created. Set by the System. The value is a combined date-time string in ISO-8601 given in UTC.",
"title": "Resource Object Creation DateTime",
"type": "string",
"format": "date-time",
"example": "2020-12-16T11:46:20.163Z"
},
"createUser": {
"title": "Resource Object Creation User Reference",
"description": "The user reference, which created the first version of this resource object. Set by the System.",
"type": "string",
"example": "some-user@some-company-cloud.com"
},
"modifyTime": {
"description": "Timestamp of the time at which this version of the OSDU resource object was created. Set by the System. The value is a combined date-time string in ISO-8601 given in UTC.",
"title": "Resource Object Version Creation DateTime",
"type": "string",
"format": "date-time",
"example": "2020-12-16T11:52:24.477Z"
},
"modifyUser": {
"title": "Resource Object Version Creation User Reference",
"description": "The user reference, which created this version of this resource object. Set by the System.",
"type": "string",
"example": "some-user@some-company-cloud.com"
},
"ancestry": {
"description": "The links to data, which constitute the inputs, from which this record instance is derived.",
"title": "Ancestry",
"$ref": "../abstract/AbstractLegalParentList.1.0.0.json"
},
"meta": {
"description": "The Frame of Reference meta data section linking the named properties to self-contained definitions.",
"title": "Frame of Reference Meta Data",
"type": "array",
"items": {
"$ref": "../abstract/AbstractMetaItem.1.0.0.json"
}
},
"data": {
"allOf": [
{
"$ref": "../abstract/AbstractWorkProductComponent1.1.0.json"
}
],
{
"type": "object",
"properties": {
"SampleIDs": {
"type": "array",
"title": "SampleIDs",
"description": "OSDU Record IDs for the Rock and/or Fluid Sample or Samples on which this batch or batches of analysis were performed."
},
"ReportSampleIdentifiers": {
"type": "array",
"title": "ReportSampleIdentifiers",
"description": "The names or identifiers of the analyzed samples in this report or document. These names or identifiers are often assigned by the laboratory. This list can be used to assist in locating the appropriate OSDU Sample records or to find the dataset in the parent report."
},
"AnalysisDate": {
"type": "string",
"title": "Analysis Date",
"description": "The date the batch of sample analysis was performed.",
"format": "date"
},
"DepthShiftsID": {
"type": "string",
"title": "Depth Shifts ID",
"description": "The WellLog representation carrying the core-depth to logging-depth correction or mapping used or to be used with this analysis.",
"pattern": "^[\\w\\-\\.]+:work-product-component\\-\\-WellLog:[\\w\\-\\.\\:\\%]+:[0-9]*$",
"x-osdu-relationship": [
{
"GroupType": "work-product-component",
"EntityType": "WellLog"
}
]
},
"LaboratoryIDs": {
"type": "array",
"title": "LaboratoryIDs",
"description": "OSDU Record IDs for the laboratories used to conduct the sample analyses contained in this report."
},
"LaboratoryNames": {
"type": "array",
"title": "LaboratoryNames",
"description": "List of names of laboratories used to conduct the sample analyses contained in this report. This attribute is more freeform than Laboratory IDs and does not have relationships to OSDU Record IDs."
},
"LaboratoryContacts": {
"type": "array",
"title": "LaboratoryContacts",
"description": "The names of the analysts responsible for conducting and reporting on the analysis performed"
},
"Remarks": {
"type": "array",
"title": "Remarks",
"description": "An array containing operational or quality comments pertaining to the sample analysis represented by this work product component."
},
"DatePublished": {
"type": "string",
"title": "DatePublished",
"description": "The UTC date time and date that the results of the analysis containing observed measurements or calculations was published.",
"format": "date-time"
},
"ParentSamplesAnalysesReports": {
"type": "array",
"title": "ParentSamplesAnalysesReports",
"description": "Identifies the report from which this analysis was extracted or multiple reports from which this analysis was recontructed."
},
"SampleAnalysisTypeIDs": {
"type": "array",
"title": "SampleAnalysisTypeIDs",
"description": "A list of all sample analysis types represented by this report, whether the sample analysis type relates to Rock, Fluid, or both."
},
"SamplesAnalysisCategoryTagIDs": {
"type": "array",
"title": "SamplesAnalysisCategoryTagIDs",
"description": "List of higher level grouping terms that are often used within organisations to search for analysis types in addition to the formal Family and Method properties, but which are variable across organisations and therefore do not need to be governed strictly by the OSDU Forum. For example: SCAL, Static SCAL, Dynamic SCAL, Source Rock Analysis."
},
"AvailableSampleAnalysisProperties": {
"type": "array",
"title": "AvailableSampleAnalysisProperties",
"description": "A list of populated properties that are available in the dataset for this instance of a Sample Analysis."
}
}
}
},
"required": [
"kind",
"acl",
"legal"
],
"additionalProperties": false
}
SamplesAnalysesReport
{
"x-osdu-license": "TBD",
"x-osdu-schema-source": "exxonmobil:rafsddms:work-product-component--SamplesAnalysesReport:1.0.0",
"title": "SamplesAnalysesReport",
"description": "Attributes needed to find and retrieve a delivered report containing rock and/or fluid sample analysis data. Often this report contains more than one data frame of analysis data and/or more than one Analysis Family. Examples of this could include end-of-well reports, well completion reports, regional multi-well studies, or SCAL reports. This report can be decomposed into analysis sets via the SamplesAnalysis work-product-component. In other cases, this report contains part of a dataset which could then be aggregated into a SamplesAnalysis work-product-component.",
"type": "object",
"properties": {
"id": {
"description": "Previously called ResourceID or SRN which identifies this OSDU resource object without version.",
"title": "Entity ID",
"type": "string",
"pattern": "^[\\w\\-\\.]+:work-product-component\\-\\-SamplesAnalysis:[\\w\\-\\.\\:\\%]+$",
"example": "namespace:work-product-component--SamplesAnalysis:c69cf08a-ae35-5984-b855-f9b36ce1ea21"
},
"kind": {
"description": "The schema identification for the OSDU resource object following the pattern {Namespace}:{Source}:{Type}:{VersionMajor}.{VersionMinor}.{VersionPatch}. The versioning scheme follows the semantic versioning, https://semver.org/.",
"title": "Entity Kind",
"type": "string",
"pattern": "^[\\w\\-\\.]+:[\\w\\-\\.]+:[\\w\\-\\.]+:[0-9]+.[0-9]+.[0-9]+$",
"example": "exxonmobil:rafsddms:work-product-component--SamplesAnalysis:1.0.0"
},
"version": {
"description": "The version number of this OSDU resource; set by the framework.",
"title": "Version Number",
"type": "integer",
"format": "int64",
"example": 1562066009929332
},
"acl": {
"description": "The access control tags associated with this entity.",
"title": "Access Control List",
"$ref": "../abstract/AbstractAccessControlList.1.0.0.json"
},
"legal": {
"description": "The entity's legal tags and compliance status. The actual contents associated with the legal tags is managed by the Compliance Service.",
"title": "Legal Tags",
"$ref": "../abstract/AbstractLegalTags.1.0.0.json"
},
"tags": {
"title": "Tag Dictionary",
"description": "A generic dictionary of string keys mapping to string value. Only strings are permitted as keys and values.",
"type": "object",
"additionalProperties": {
"type": "string"
},
"example": {
"NameOfKey": "String value"
}
},
"createTime": {
"description": "Timestamp of the time at which initial version of this OSDU resource object was created. Set by the System. The value is a combined date-time string in ISO-8601 given in UTC.",
"title": "Resource Object Creation DateTime",
"type": "string",
"format": "date-time",
"example": "2020-12-16T11:46:20.163Z"
},
"createUser": {
"title": "Resource Object Creation User Reference",
"description": "The user reference, which created the first version of this resource object. Set by the System.",
"type": "string",
"example": "some-user@some-company-cloud.com"
},
"modifyTime": {
"description": "Timestamp of the time at which this version of the OSDU resource object was created. Set by the System. The value is a combined date-time string in ISO-8601 given in UTC.",
"title": "Resource Object Version Creation DateTime",
"type": "string",
"format": "date-time",
"example": "2020-12-16T11:52:24.477Z"
},
"modifyUser": {
"title": "Resource Object Version Creation User Reference",
"description": "The user reference, which created this version of this resource object. Set by the System.",
"type": "string",
"example": "some-user@some-company-cloud.com"
},
"ancestry": {
"description": "The links to data, which constitute the inputs, from which this record instance is derived.",
"title": "Ancestry",
"$ref": "../abstract/AbstractLegalParentList.1.0.0.json"
},
"meta": {
"description": "The Frame of Reference meta data section linking the named properties to self-contained definitions.",
"title": "Frame of Reference Meta Data",
"type": "array",
"items": {
"$ref": "../abstract/AbstractMetaItem.1.0.0.json"
}
},
"data": {
"allOf": [ {
"$ref": "{{schema-authority}}:wks:AbstractCommonResources:1.0.0"
},
{
"$ref": "{{schema-authority}}:wks:AbstractWPCGroupType:1.0.0"
},
{
"$ref": "{{schema-authority}}:wks:AbstractWorkProductComponent:1.0.0"
},
{
"$ref": "{{schema-authority}}:wks:AbstractWPCActivity:1.0.0"
},
],
{
"type": "object",
"properties": {
"DocumentTypeID": {
"type": "string",
"title": "DocumenTypeID",
"description": "The kind of document--from a business standpoint, e.g., multi-well study, etc."
},
"NumberOfPages": {
"type": "integer",
"title": "NumberOfPages",
"description": "Number of pages in the document, useful in cases where if it was described in the acquired manifest as opposed to a derived/calculated value."
},
"SubTitle": {
"type": "string",
"title": "SubTitle",
"description": "The sub-title of the document."
},
"DocumentSubject": {
"type": "string",
"title": "DocumentSubject",
"description": "A description text or an array of subjects covered by the document. If present this information must compliment the Tag and SubTitle"
},
"DatePublished": {
"type": "string",
"title": "DatePublished",
"description": "The UTC time and date of the document publication."
},
"DateModified": {
"type": "string",
"title": "DateModified",
"description": "The UTC time and date on which the document was last modified."
},
"DocumentLanguage": {
"type": "string",
"title": "DocumentLanguage",
"description": "Document language as listed in the ISO 639-3 https://en.wikipedia.org/wiki/ISO_639, https://en.wikipedia.org/wiki/List_of_ISO_639-3_codes"
},
"SampleIDs": {
"type": "array",
"title": "SampleIDs",
"description": "OSDU Record IDs for the Rock and/or Fluid Sample or Samples on which this batch or batches of analysis were performed."
},
"ReportSampleIdentifiers": {
"type": "array",
"title": "ReportSampleIdentifiers",
"description": "The names or identifiers of the analyzed samples in this report or document. These names or identifiers are often assigned by the laboratory. This list can be used to assist in locating the appropriate OSDU Sample records or to find the dataset in the parent report."
},
"SampleAnalysisTypeIDs": {
"type": "array",
"title": "SampleAnalysisTypeIDs",
"description": "A list of all sample analysis types represented by this report, whether the sample analysis type relates to Rock, Fluid, or both."
},
"SamplesAnalysisCategoryTagIDs": {
"type": "array",
"title": "SamplesAnalysisCategoryTagIDs",
"description": "List of terms that are often used within organisations to search for analysis types in addition to the formal SampleAnalysisType properties, but which are variable across organisations and therefore do not need to be governed strictly by the OSDU Forum. E.g SCAL, Static SCAL, Dynamic SCAL, Source Rock Analysis, Petrography"
},
"Remarks": {
"type": "array",
"title": "Analysis Remarks",
"description": "An array containing operational or quality comments pertaining to a rock sample analysis.",
"x-osdu-indexing": {
"type": "flattened"
},
"items": {
"type": "object",
"title": "Remark",
"description": "An array containing narrative remarks pertaining to a rock sample analysis.",
"properties": {
"RemarkID": {
"type": "string",
"title": "Remark ID",
"description": "A unique identifier for each remark record."
},
"Remark": {
"type": "string",
"title": "Remark",
"description": "A descriptive comment for this remark."
},
"RemarkSource": {
"type": "string",
"title": "Remark Source",
"description": "The person, vendor, interpreter or other provider of information."
}
}
}
},
"LaboratoryIDs": {
"type": "array",
"title": "LaboratoryIDs",
"description": "OSDU Record IDs for the laboratories used to conduct the sample analyses contained in this report. This could represent the laboratory company or the laboratory branch."
},
"LaboratoryNames": {
"type": "array",
"title": "LaboratoryNames",
"description": "List of names of laboratories used to conduct the sample analyses contained in this report. This attribute is more freeform than Laboratory IDs and does not have relationships to OSDU Record IDs. This attribute exists to help with a low bar of ingestion but best practice is to resolve each of these to an OSDU Record ID in the LaboratoryIDs attribute."
}
}
}
},
"required": [
"kind",
"acl",
"legal"
],
"additionalProperties": false
}
}
Edited by Siarhei Khaletski (EPAM)