diff --git a/provider/os-wellbore-ddms-azure/README.md b/provider/os-wellbore-ddms-azure/README.md
new file mode 100644
index 0000000000000000000000000000000000000000..23603d1804cdc5c5bb27f65433c82b0fb75ad23c
--- /dev/null
+++ b/provider/os-wellbore-ddms-azure/README.md
@@ -0,0 +1,110 @@
+# os-wellbore-ddms-azure
+
+Wellbore Data Management Services (WDMS) Open Subsurface Data Universe (OSDU) is one of the several backend services that comprise Schlumberger's Exploration and Production (E&P) software ecosystem. It is a single, containerized service written in Python that provides an API for wellbore related data.
+
+## Requirements
+
+In order to run this service locally, you will need the following:
+
+- [Python](https://www.python.org/downloads/) >=3.7
+- [FastAPI](https://fastapi.tiangolo.com/)
+- [OSDU on Azure infrastructure](https://community.opengroup.org/osdu/platform/deployment-and-operations/infra-azure-provisioning) deployed
+
+
+## Service Dependencies
+- [Storage Service](https://community.opengroup.org/osdu/platform/system/storage)
+- [Search Service](https://community.opengroup.org/osdu/platform/system/search-service)
+- [Entitlements Service](https://community.opengroup.org/osdu/platform/security-and-compliance/entitlements)
+
+> Add service dependencies here
+
+## General Tips
+
+**Environment Variable Management**
+The following tools make environment variable configuration simpler
+ - [direnv](https://direnv.net/) - for a shell/terminal environment
+
+## Environment Variables
+
+In order to run the service locally, you will need to have the following environment variables defined. We have created a helper script to generate .yaml files to set the environment variables to run and test the service using the InteliJ IDEA plugin and generate a .envrc file to set the environment variables to run and test the service using direnv [here](https://community.opengroup.org/osdu/platform/deployment-and-operations/infra-azure-provisioning/-/blob/master/tools/variables/os-wellbore-ddms.sh).
+
+**Note** The following command can be useful to pull secrets from keyvault:
+```bash
+az keyvault secret show --vault-name $KEY_VAULT_NAME --name $KEY_VAULT_SECRET_NAME --query value -otsv
+```
+
+**Required to run service**
+
+| name | value | description | sensitive? | source |
+| ---  | ---   | ---         | ---        | ---    |
+| `CLOUDPROVIDER` | `azure` | Cloud provider for this deployment | no | Constant |
+| `SERVICE_HOST` | `$DNS_HOST` | Description | no |  |
+| `SERVICE_PORT` | `8080` | Description | no |  |
+| `SERVICE_HOST_ENTITLEMENTS` | `https://${ENV_HOST}/entitlements/v1` | Entitlements service host | no | 
+| `SERVICE_HOST_STORAGE` | `https://${ENV_HOST}/api/storage/v2` | Storage service host | no | 
+| `SERVICE_HOST_SEARCH` | `https://${ENV_HOST}/api/search/v2` | Search service host | no | 
+| `SERVICE_HOST_PARTITION` | `https://${ENV_HOST}/api/partition/v2` | Partition service host | no | 
+| `KEYVAULT_URL` | `****` | The Key Vault url (needed by the Partition Service) | yes | 
+| `AZ_AI_INSTRUMENTATION_KEY` | `****` | Azure Application Insights instrumentation key | yes | 
+
+**Required to run integration tests**
+
+| name | value | description | sensitive? | source |
+| ---  | ---   | ---         | ---        | ---    |
+| `FILTER_TAG` | `basic` | Run integration tests locally | no | Constant |
+
+
+## Running Locally
+| name | value | description | sensitive? | source |
+| ---  | ---   | ---         | ---        | ---    |
+| `CLOUDPROVIDER` | `local` | Run locally | no | Constant |
+| `SERVICE_HOST` | `127.0.0.1` | Description | no |  |
+| `SERVICE_PORT` | `8080` | Description | no |  |
+| `STORAGE_SERVICE_PATH` | `tmpstorage` | Local record storage folder | no | 
+| `BLOB_STORAGE_PATH` | `tmpblob` | Local blob storage folder | no |  |
+
+
+### Configure Python environment
+
+Refer to **Project Startup** section in the top-level [README](/README.md)
+
+### Build and run the application
+
+After configuring your environment as specified above, you can follow these steps to build and run the application. These steps should be invoked from the repository root.
+
+```bash
+python main.py -e USE_INTERNAL_STORAGE_SERVICE_WITH_PATH $STORAGE_SERVICE_PATH -e USE_LOCALFS_BLOB_STORAGE_WITH_PATH $BLOB_STORAGE_PATH -e CLOUD_PROVIDER $CLOUDPROVIDER
+```
+
+Use the command above to run the service locally. Other options are in the top-level [README](/README.md)
+
+
+### Test the Application
+
+_After the service has started it should be accessible via a web browser by visiting [http://127.0.0.1:8080/api/os-wellbore-ddms/docs](http://127.0.0.1:8080/api/os-wellbore-ddms/docs). If the request does not fail, you can then run the integration tests._
+
+```bash
+# setup integration tests
+mkdir -p $STORAGE_SERVICE_PATH
+mkdir -p $BLOB_STORAGE_PATH
+python main.py -e USE_INTERNAL_STORAGE_SERVICE_WITH_PATH $STORAGE_SERVICE_PATH -e USE_LOCALFS_BLOB_STORAGE_WITH_PATH $BLOB_STORAGE_PATH -e CLOUD_PROVIDER $CLOUDPROVIDER
+# Note: this assumes that the environment variables for integration tests as outlined above are already exported in your environment.
+cd tests/integration
+python gen_postman_env.py --token $(pyjwt --key=secret encode email=nobody@example.com) --base_url "http://$SERVICE_HOST:$SERVICE_PORT/api/os-wellbore-ddms" --cloud_provider "local" --data_partition "dummy"
+pytest ./functional --environment="./generated/postman_environment.json" --filter-tag=$FILTER_TAG
+```
+
+## License
+Copyright © Schlumberger
+
+Licensed under the Apache License, Version 2.0 (the "License");
+you may not use this file except in compliance with the License.
+You may obtain a copy of the License at
+
+[http://www.apache.org/licenses/LICENSE-2.0](http://www.apache.org/licenses/LICENSE-2.0)
+
+Unless required by applicable law or agreed to in writing, software
+distributed under the License is distributed on an "AS IS" BASIS,
+WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+See the License for the specific language governing permissions and
+limitations under the License.