This is a Python library for creating XML documents for direct submission to WQX Web without using an import configuration file. If your use-case is complex, this feature may save you the hassle of uploading incremental changes to an import configuration file as you detect more edge cases or struggle to make an import configuration file which is flexible enough for your purposes. Just modify your code to produce the proper XML file and use the WQXWeb
class from the sister project wqxweblib
to upload it. It's also useful for submitting new monitoring locations or other types of data which are one-off situations. Sometimes it's easier to just build the XML file directly than it is to first create an import configuration file (or copy one) and specify the parameters in a CSV or XSL file. If you find a bug, please submit a pull request on Github or open an issue there. I'm also open to suggestions for how to improve the creation of XML files. Currently, it's quite complex due to its flexibility.
This code is supported by the National Science Foundation under Award No. OIA-1458952. Any opinions, findings and conclusions, or recommendations expressed in this material are those of the author(s) and do not necessarily reflect the views of the National Science Foundation.
- Python library for WQX (wqxlib)
- WQXLib XML API Reference
- WQXLib's WQX v3.0 XML API Reference
- Activity
- ActivityDescription
- ActivityGroup
- ActivityLocation
- ActivityMetric
- ActivityMetricType
- AlternateMonitoringLocationIdentity
- AquiferInformation
- AttachedBinaryObject
- BibliographicReference
- BiologicalActivityDescription
- BiologicalHabitatCollectionInformation
- BiologicalHabitatIndex
- BiologicalResultDescription
- CollectionEffort
- ComparableAnalyticalMethod
- DataQualityIndicator
- DetectionQuantitationLimit
- ElectronicAddress
- Entity_Update_Identifiers
- FrequencyClassInformation
- HorizontalAccuracyMeasure
- IndexType
- LabSamplePreparation
- Measure
- MeasureCompact
- MonitoringLocation
- MonitoringLocationGeospatial
- MonitoringLocationIdentity
- NetInformation
- Organization
- OrganizationAddress
- OrganizationDescription
- Organization_Delete
- Project
- ProjectMonitoringLocationWeighting
- ReferenceMethod
- Result
- ResultAnalyticalMethod
- ResultDescription
- ResultLabInformation
- SampleDescription
- SamplePreparation
- SimpleContent
- TaxonomicDetails
- Telephonic
- WellInformation
- WQX
- WQXTime
- WQXDelete
- WQXUpdateIdentifiers
Look in the examples
directory for a more complete example with sample data.
-
Install this package using
pip
pip install wqxlib
-
Import the
WQXSubmission
classfrom wqxlib import WQXSubmission
-
Use the
with ... as
syntax to create the submissionwith WQXSubmission(filename='example.xml') as submission: # Manipulate submission object properties
-
After creating the submission, submit it using the
wqxweblib
package or manually in WQX Web.
This package uses a five-segment version number. The first two segments of the version number indicate the version of WQX it supports. The last three segments follow the Semantic Versioning standard and are specific to only this package, not any WQX release. They are in the format x.y.z
where x
is the major version number, y
is the minor version number, and z
is the patch version number.
The major version number increments when incompatible API changes are made. The minor version number increments when functionality is added in a backward compatible manner. The patch version number increments when there are backward compatible bug fixes.
It is a good practice to lock the first three digits of the version in your requirements.txt
file, if you are using one. That allow you to safely rebuild your environment without accidentally introducing breaking changes. For the current version, that would mean adding a line to your requirements.txt
file like this:
wqxlib<3.0.1
The following low-level classes describe the larger structure of a valid XML document for WQXWeb submission. These classes contain the building blocks provided by WQX v3.0. You are not required to interact with these directly. Use of the with ... as
syntax is highly recommended.
The base document type used for submission to WQXWeb.
Parameters:
id
(ID)header
(Header)payload
(List[Payload])
Parameters:
author
(str)organization
(str)title
(str)creationTime
(datetime)comment
(str)dataService
(str)contactInfo
(str)notification
(List[str])sensitivity
(str)property
(dict)
The Payload section of the document contains the WQX data.
operation
(OperationType) - either "UPDATE_INSERT" or "DELETE".wqx
(WQX) - this must be a v3.0WQX
object as described in the next section, if provided.wqxUpdateIdentifiers
(WQXUpdateIdentifiers) - this must be a v3.0WQXUpdateIdentifiers
object as described in the next section, if provided.wqxDelete
(WQXDelete) - this must be a v3.0WQXDelete
object as described in the next section, if provided.
This is the container of the entire submission.
Parameters:
document
(Document)
The following classes describe the building blocks of a v3.0 XML document for WQXWeb submission. This is the current version of the standard and there are no plans to create an API for the older versions. If you want to, please use the pattern of the v3.0 code and submit a pull request so others can benefit from your code too.
All of the described classes come directly from the XSD files which are used by WQX to validate input.
To import any of the following types, pull them from wqxlib
like this:
from wqxlib import (
MonitoringLocation,
MonitoringLocationGeospatial,
MonitoringLocationIdentity,
Organization,
OrganizationDescription,
WQX
)
Allows for the reporting of monitoring activities conducted at a Monitoring Location.
Parameters:
activityDescription
(ActivityDescription)activityLocation
(ActivityLocation)biologicalActivityDescription
(BiologicalActivityDescription)sampleDescription
(SampleDescription)activityMetric
(List of ActivityMetric)attachedBinaryObject
(List of AttachedBinaryObject)result
(List of Result)
Basic identification information for an activity conducted within a project.
Parameters:
activityIdentifier
(ActivityIdentifier)activityIdentifierUserSupplied
(ActivityIdentifierUserSupplied)activityTypeCode
(ActivityTypeCode)activityMediaName
(ActivityMediaName)activityMediaSubdivisionName
(ActivityMediaSubdivisionName)activityStartDate
(ActivityStartDate)activityStartTime
(WQXTime)activityEndDate
(ActivityEndDate)activityEndTime
(WQXTime)activityRelativeDepthName
(ActivityRelativeDepthName)activityDepthHeightMeasure
(MeasureCompact)activityTopDepthHeightMeasure
(MeasureCompact)activityBottomDepthHeightMeasure
(MeasureCompact)activityDepthAltitudeReferencePointText
(DepthAltitudeReferencePointText)projectIdentifier
(ProjectIdentifier)activityConductingOrganizationText
(List of ActivityConductingOrganizationText)monitoringLocationIdentifier
(MonitoringLocationIdentifier)samplingComponentName
(SamplingComponentName)activityCommentText
(CommentText)
Allows for the grouping of activities.
Parameters:
activityGroupIdentifier
(ActivityGroupIdentifier)activityGroupName
(ActivityGroupName)activityGroupTypeCode
(ActivityGroupTypeCode)activityIdentifier
(ActivityIdentifier)replaceActivities
(bool)
Geospatial description of monitoring site, if it is different from that described in the station description.
Parameters:
latitudeMeasure
(LatitudeMeasure)longitudeMeasure
(LongitudeMeasure)sourceMapScale
(SourceMapScale)horizontalAccuracyMeasure
(MeasureCompact)horizontalCollectionMethodName
(HorizontalCollectionMethodName)horizontalCoordinateReferenceSystemDatumName
(HorizontalCoordinateReferenceSystemDatumName)activityLocationDescriptionText
(ActivityLocationDescriptionText)
This section allows for the reporting of metrics to support habitat or biotic integrity indices.
Parameters:
activityMetricType
(ActivityMetricType)metricValueMeasure
(MeasureCompact)metricScore
(MetricScore)metricSamplingPointPlaceInSeries
(MetricSamplingPointPlaceInSeries)metricCommentText
(CommentText)indexIdentifier
(IndexIdentifier)
This section identifies the metric type reported as part of an activity metric.
Parameters:
metricTypeIdentifier
(MetricTypeIdentifier),metricTypeIdentifierContext
(MetricTypeIdentifierContext),metricTypeName
(MetricTypeName),metricTypeCitation
(BibliographicReference),metricTypeScaleText
(MetricTypeScaleText),formulaDescriptionText
(FormulaDescriptionText)
Alternate identifications of a monitoring location.
Parameters:
monitoringLocationIdentifier
(MonitoringLocationIdentifier)monitoringLocationIdentifierContext
(MonitoringLocationIdentifierContext)
Identifies the procedures, processes, and references required to determine the methods used to obtain a result.
Parameters:
localAquiferCode
(LocalAquiferCode)localAquiferCodeContext
(LocalAquiferCodeContext)localAquiferName
(LocalAquiferName)localAquiferDescriptionText
(LocalAquiferDescriptionText)
Reference document, image, photo, GIS data layer, laboratory material or other electronic object attached within a data exchange, as well as information used to describe the object.
Parameters:
binaryObjectFileName
(BinaryObjectFileName)binaryObjectFileTypeCode
(BinaryObjectFileTypeCode)
The descriptors used to identify and catalog an object.
Parameters:
resourceTitleName
(ResourceTitleName)resourceCreatorName
(ResourceCreatorName)resourceSubjectText
(ResourceSubjectText)resourcePublisherName
(ResourcePublisherName)resourceDate
(ResourceDate)resourceIdentifier
(ResourceIdentifier)
Allows for the reporting of biological monitoring activities conducted at a Monitoring Location.
Parameters:
assemblageSampledName
(AssemblageSampledName)biologicalHabitatCollectionInformation
(BiologicalHabitatCollectionInformation)toxicityTestType
(ToxicityTestType)habitatSelectionMethod
(HabitatSelectionMethod)
Allows for the reporting of biological habitat sample collection information.
Parameters:
collectionDuration
(MeasureCompact)collectionArea
(MeasureCompact)collectionEffort
(CollectionEffort)reachLengthMeasure
(MeasureCompact)reachWidthMeasure
(MeasureCompact)collectionDescriptionText
(CollectionDescriptionText)passCount
(PassCount)netInformation
(NetInformation)
This section allows for the reporting of habitat and biotic integrity indices as a representation of water quality conditions.
Parameters:
indexIdentifier
(IndexIdentifier)indexType
(IndexType)indexScore
(IndexScore)indexQualifierCode
(IndexQualifierCode)indexCommentText
(CommentText)indexCalculatedDate
(IndexCalculatedDate)monitoringLocationIdentifier
(MonitoringLocationIdentifier)
Allows for the reporting of biological result information.
Parameters:
biologicalIntentName
(BiologicalIntentName)biologicalIndividualIdentifier
(BiologicalIndividualIdentifier)subjectTaxonomicName
(SubjectTaxonomicName)subjectTaxonomicNameUserSupplied
(SubjectTaxonomicNameUserSupplied)subjectTaxonomicNameUserSuppliedReferenceText
(SubjectTaxonomicNameUserSuppliedReferenceText)unidentifiedSpeciesIdentifier
(UnidentifiedSpeciesIdentifier)sampleTissueAnatomyName
(SampleTissueAnatomyName)groupSummaryCount
(GroupSummaryCount)groupSummaryWeightMeasure
(MeasureCompact)taxonomicDetails
(TaxonomicDetails)frequencyClassInformation
(FrequencyClassInformation)
The fields to describe the effort used a collection.
Parameters:
measureValue
(MeasureValue)gearProcedureUnitCode
(GearProcedureUnitCode)
Identifies the procedures, processes, and references required to determine the analytical methods used to obtain a result.
Parameters:
methodIdentifier
(MethodIdentifier)methodIdentifierContext
(MethodIdentifierContext)methodModificationText
(MethodModificationText)
The quantitative statistics and qualitative descriptors that are used to interpret the degree of acceptability or utility of data to the user.
Parameters:
precisionValue
(PrecisionValue)biasValue
(BiasValue)confidenceIntervalValue
(ConfidenceIntervalValue)upperConfidenceLimitValue
(UpperConfidenceLimitValue)lowerConfidenceLimitValue
(LowerConfidenceLimitValue)
Information that describes one of a variety of detection or quantitation limits determined in a laboratory.
Parameters:
detectionQuantitationLimitTypeName
(DetectionQuantitationLimitTypeName)detectionQuantitationLimitMeasure
(MeasureCompact)detectionQuantitationLimitCommentText
(DetectionQuantitationLimitCommentText)
A location within a system of worldwide electronic communication where a computer user can access information or receive electronic mail.
Parameters:
electronicAddressText
(ElectronicAddressText)electronicAddressTypeName
(ElectronicAddressTypeName)
Allows a Project Identifier to be changed.
Parameters:
oldIdentifier
(OldIdentifier)newIdentifier
(NewIdentifier)
This section allows for the definition of a subgroup of biological communities by life stage, physical attribute, or abnormality to support frequency class studies.
Parameters:
frequencyClassDescriptorCode
(FrequencyClassDescriptorCode)frequencyClassDescriptorUnitCode
(FrequencyClassDescriptorUnitCode)lowerClassBoundValue
(LowerClassBoundValue)upperClassBoundValue
(UpperClassBoundValue)
This file was not converted from XSD because it is does not define a complex type. It only creates an element called "HorizontalAccuracyMeasure" of type "MeasureCompact".
This section identifies the index type reported as part of a biological or habitat index.
Parameters:
indexTypeIdentifier
(IndexTypeIdentifier)indexTypeIdentifierContext
(IndexTypeIdentifierContext)indexTypeName
(IndexTypeName)indexTypeCitation
(BibliographicReference)indexTypeScaleText
(IndexTypeScaleText)
Describes Lab Sample Preparation procedures which may alter the original state of the Sample and produce Lab subsamples. These Lab Subsamples are analyized and reported by the Lab as Sample results.
Parameters:
labSamplePreparationMethod
(ReferenceMethod)preparationStartDate
(PreparationStartDate)preparationStartTime
(WQXTime)preparationEndDate
(PreparationEndDate)preparationEndTime
(WQXTime)substanceDilutionFactor
(SubstanceDilutionFactor)
Identifies the value, associated units of measure, and qualifier for measuring the observation or analytical result value.
Parameters:
resultMeasureValue
(ResultMeasureValue)measureUnitCode
(MeasureUnitCode)measureQualifierCode
(List[MeasureQualifierCode])
Identifies only the value and the associated units of measure for measuring the observation or analytical result value.
Parameters:
measureValue
(MeasureValue)measureUnitCode
(MeasureUnitCode)
An identifiable location where an environmental sample, onsite measurement, and/or observation is determined.
Parameters:
monitoringLocationIdentity
(MonitoringLocationIdentity)monitoringLocationGeospatial
(MonitoringLocationGeospatial)wellInformation
(WellInformation)attachedBinaryObject
(List[AttachedBinaryObject])
Monitoring location geographic location.
Parameters:
latitudeMeasure
(LatitudeMeasure)longitudeMeasure
(LongitudeMeasure)sourceMapScale
(SourceMapScale)horizontalAccuracyMeasure
(MeasureCompact)verticalAccuracyMeasure
(MeasureCompact)horizontalCollectionMethodName
(HorizontalCollectionMethodName)horizontalCoordinateReferenceSystemDatumName
(HorizontalCoordinateReferenceSystemDatumName)verticalMeasure
(MeasureCompact)verticalCollectionMethodName
(VerticalCollectionMethodName)verticalCoordinateReferenceSystemDatumName
(VerticalCoordinateReferenceSystemDatumName)countryCode
(CountryCode)stateCode
(StateCode)countyCode
(CountyCode)
Basic identification information for the location/site that is monitored or used for sampling.
Parameters:
monitoringLocationIdentifier
(MonitoringLocationIdentifier)monitoringLocationName
(MonitoringLocationName)monitoringLocationTypeName
(MonitoringLocationTypeName)monitoringLocationDescriptionText
(MonitoringLocationDescriptionText)hucEightDigitCode
(HUCEightDigitCode)hucTwelveDigitCode
(HUCTwelveDigitCode)tribalLandIndicator
(TribalLandIndicator)tribalLandName
(TribalLandName)alternateMonitoringLocationIdentity
(List[AlternateMonitoringLocationIdentity])drainageAreaMeasure
(MeasureCompact)contributingDrainageAreaMeasure
(MeasureCompact)
Allows for the reporting of net sample collection information.
Parameters:
netTypeName
(NetTypeName)netSurfaceAreaMeasure
(MeasureCompact)netMeshSizeMeasure
(MeasureCompact)boatSpeedMeasure
(MeasureCompact)currentSpeedMeasure
(MeasureCompact)
Schema used to transfer organization information.
Parameters:
organizationDescription
(OrganizationDescription)electronicAddress
(List[ElectronicAddress])telephonic
(List[Telephonic])organizationAddress
(List[OrganizationAddress])project
(List[Project])monitoringLocation
(List[MonitoringLocation])biologicalHabitatIndex
(List[BiologicalHabitatIndex])activity
(List[Activity])activityGroup
(List[ActivityGroup])
The physical address of an organization.
Parameters:
addressTypeName
(AddressTypeName)addressText
(AddressText)supplementalAddressText
(SupplementalAddressText)localityName
(LocalityName)stateCode
(StateCode)postalCode
(PostalCode)countryCode
(CountryCode)countyCode
(CountyCode)
The particular word(s) regularly connected with a unique framework of authority within which a person or persons act, or are designated to act, towards some purpose.
Parameters:
organizationIdentifier
(OrganizationIdentifier)organizationFormalName
(OrganizationFormalName)organizationDescriptionText
(OrganizationDescriptionText)tribalCode
(TribalCode)
Schema used to delete organization information.
Parameters:
organizationIdentifier
(OrganizationIdentifier)projectIdentifier
(List[ProjectIdentifier])monitoringLocationIdentifier
(List[MonitoringLocationIdentifier])activityIdentifier
(List[ActivityIdentifier])activityGroupIdentifier
(List[ActivityGroupIdentifier])indexIdentifier
(List[IndexIdentifier])
An environmental data collection effort that has a stated purpose and puts a series of samples and results into a meaningful context.
Parameters:
projectIdentifier
(ProjectIdentifier)projectName
(ProjectName)projectDescriptionText
(ProjectDescriptionText)samplingDesignTypeCode
(SamplingDesignTypeCode)qAPPApprovedIndicator
(QAPPApprovedIndicator)qAPPApprovalAgencyName
(QAPPApprovalAgencyName)attachedBinaryObject
(List[AttachedBinaryObject])projectMonitoringLocationWeighting
(List[ProjectMonitoringLocationWeighting])
Describes the probability weighting information for a given Project / Monitoring Location Assignment.
Parameters:
monitoringLocationIdentifier
(MonitoringLocationIdentifier)locationWeightingFactorMeasure
(MeasureCompact)statisticalStratumText
(StatisticalStratumText)locationCategoryName
(LocationCategoryName)locationStatusName
(LocationStatusName)referenceLocationTypeCode
(ReferenceLocationTypeCode)referenceLocationStartDate
(ReferenceLocationStartDate)referenceLocationEndDate
(ReferenceLocationEndDate)referenceLocationCitation
(BibliographicReference)commentText
(CommentText)
Identifies the procedures, processes, and references required to determine the methods used to obtain a result.
Parameters:
methodIdentifier
(MethodIdentifier)methodIdentifierContext
(MethodIdentifierContext)methodName
(MethodName)methodQualifierTypeName
(MethodQualifierTypeName)methodDescriptionText
(MethodDescriptionText)
Describes the results of a field measurement, observation, or laboratory analysis.
Parameters:
resultDescription
(ResultDescription)biologicalResultDescription
(BiologicalResultDescription)attachedBinaryObject
(List[AttachedBinaryObject])resultAnalyticalMethod
(ResultAnalyticalMethod)comparableAnalyticalMethod
(ComparableAnalyticalMethod)resultLabInformation
(ResultLabInformation)labSamplePreparation
(List[LabSamplePreparation])
Identifies the procedures, processes, and references required to determine the analytical methods used to obtain a result.
Parameters:
methodIdentifier
(MethodIdentifier)methodIdentifierContext
(MethodIdentifierContext)methodName
(MethodName)methodQualifierTypeName
(MethodQualifierTypeName)methodDescriptionText
(MethodDescriptionText)
Describes the results of a field measurement, observation, or laboratory analysis.
Parameters:
dataLoggerLineName
(DataLoggerLineName)resultDetectionConditionText
(ResultDetectionConditionText)characteristicName
(CharacteristicName)characteristicNameUserSupplied
(CharacteristicNameUserSupplied)methodSpeciationName
(MethodSpeciationName)resultSampleFractionText
(ResultSampleFractionText)resultMeasure
(Measure)targetCount
(TargetCount)proportionSampleProcessedNumeric
(ProportionSampleProcessedNumeric)resultStatusIdentifier
(ResultStatusIdentifier)statisticalBaseCode
(StatisticalBaseCode)statisticalNValueNumeric
(StatisticalNValueNumeric)resultValueTypeName
(ResultValueTypeName)resultWeightBasisText
(ResultWeightBasisText)resultTimeBasisText
(ResultTimeBasisText)resultTemperatureBasisText
(ResultTemperatureBasisText)resultParticleSizeBasisText
(ResultParticleSizeBasisText)dataQuality
(DataQuality)resultCommentText
(CommentText)resultDepthHeightMeasure
(MeasureCompact)resultDepthAltitudeReferencePointText
(DepthAltitudeReferencePointText)resultSamplingPointName
(ResultSamplingPointName)resultSamplingPointType
(ResultSamplingPointType)resultSamplingPointPlaceInSeries
(ResultSamplingPointPlaceInSeries)resultSamplingPointCommentText
(ResultSamplingPointCommentText)recordIdentifierUserSupplied
(RecordIdentifierUserSupplied)
Describes information obtained by a laboratory related to a specific laboratory analysis.
Parameters:
laboratoryName
(LaboratoryName)analysisStartDate
(AnalysisStartDate)analysisStartTime
(WQXTime)analysisEndDate
(AnalysisEndDate)analysisEndTime
(WQXTime)laboratoryCommentText
(LaboratoryCommentText)resultDetectionQuantitationLimit
(DetectionQuantitationLimit)laboratorySampleSplitRatio
(LaboratorySampleSplitRatio)laboratoryAccreditationIndicator
(LaboratoryAccreditationIndicator)laboratoryAccreditationAuthorityName
(LaboratoryAccreditationAuthorityName)taxonomistAccreditationIndicator
(TaxonomistAccreditationIndicator)taxonomistAccreditationAuthorityName
(TaxonomistAccreditationAuthorityName)
Basic identification information for the sample collected as part of a monitoring activity.
Parameters:
sampleCollectionMethod
(ReferenceMethod)sampleCollectionEquipmentName
(SampleCollectionEquipmentName)sampleCollectionEquipmentCommentText
(SampleCollectionEquipmentCommentText)samplePreparation
(SamplePreparation)hydrologicCondition
(HydrologicCondition)hydrologicEvent
(HydrologicEvent)
Describes a sample preparation procedure which may be conducted on an initial Sample or on subsequent subsamples.
Parameters:
samplePreparationMethod
(ReferenceMethod)sampleContainerLabelName
(SampleContainerLabelName)sampleContainerTypeName
(SampleContainerTypeName)sampleContainerColorName
(SampleContainerColorName)chemicalPreservativeUsedName
(ChemicalPreservativeUsedName)thermalPreservativeUsedName
(ThermalPreservativeUsedName)sampleTransportStorageDescription
(SampleTransportStorageDescription)
There are several data types which are strings or other basic data types with rules added. SimpleContent
is the name of an XSD
file and also the name of the Python file which defines those same types. They do not need to be used directly in your code. Just use regular Python types and they will be converted when possible.
This section allows for the further definition of user-defined details for taxa.
Parameters:
cellFormName
(CellFormName)cellShapeName
(CellShapeName)habitName
(HabitName)voltinismName
(VoltinismName)taxonomicPollutionTolerance
(TaxonomicPollutionTolerance)taxonomicPollutionToleranceScaleText
(TaxonomicPollutionToleranceScaleText)trophicLevelName
(TrophicLevelName)functionalFeedingGroupName
(FunctionalFeedingGroupName)taxonomicDetailsCitation
(BibliographicReference)
An identification of a telephone connection.
Parameters:
telephoneNumberText
(TelephoneNumberText)telephoneNumberTypeName
(TelephoneNumberTypeName)telephoneExtensionNumberText
(TelephoneExtensionNumberText)
Description of the attributes of a well.
Parameters:
wellTypeText
(WellTypeText)aquiferTypeName
(AquiferTypeName)nationalAquiferCode
(NationalAquiferCode)aquiferInformation
(AquiferInformation)formationTypeText
(FormationTypeText)wellHoleDepthMeasure
(MeasureCompact)constructionDate
(ConstructionDate)wellDepthMeasure
(MeasureCompact)
Main Schema used to transfer water monitoring results to EPA Office of Water.
Parameters:
organization
(Organization)
Custom WQX datatype that defines a local time and corresponding time zone in which the time is measured.
Parameters:
time
(Time)timeZoneCode
(TimeZoneCode)
Main Schema used to delete a portion of water monitoring results from EPA Office of Water system.
Parameters:
organizationDelete
(List[OrganizationDelete])
Main Schema used to update identifiers for major entities (projects, monitoring locations, activity, activity groups, and indexes).
Parameters:
updateIdentifiers
(List[UpdateIdentifiers])