Ambra Clone tools for technical services
Project description
Ambra_Clone
The Clone account class can be used to copy Ambra data from one account into another. These accounts can be in different Ambra instances. This Module is intended to be used within the Ambra scripting platform (future release) but can be downloaded and run locally as well.
The data that can be copied at this time is limited to the corresponding ambra api calls and can be specified with the clone_items parameter.
Get started with cloning Ambra data from local machine.
- pip install Ambra_Clone
- Import the Clone class from the file labeled Clone.py
from Ambra_Clone.Clone Import Clone
- Create a cloning instance. See initialization parameters for more details. For this example I am creating a new account although you can copy/update records to an existing account by specifying it's uuid.
example_clone = Clone(
sid="e9d41c71-b8fb-4119-8456-xxxxxxxxxx",
original_url="https://uat.ambrahealth.com/api/v3/",
original_account_uuid="",
clone_items="all")
example_clone.run()
- Once satisfied with the Clone parameters (see methods section for other customizable parameters) use the .run() method to perform the cloning task.
Initialization parameters
-
sid (str): session id for original_url
-
original_url (str): the original url with "api/v3" included. ie. https://access.ambrahealth.com/api/v3
-
original_account_uuid (str): original account uuid
-
clone_items (str/list, optional): list of items to clone. Defaults to "all".
["customfield", "role", "group", "location", "account/users", "webhook", "route", "group_location_users", "namespace_settings", "terminology", "hl7/template", "hl7/transform", "dictionary", "mail_templates", "account_settings", "radreport/template", "share_settings", "site"]
-
copy_url_base (str, optional): [description]. Defaults to None.
-
copy_account_uuid (str, optional): If unspecified a new account will be created. The uuid of the duplicate account if it already exists. Defaults to None.
-
sid_copy (str, optional): If unspecified, same as original session id. The session id for the duplicate account. Defaults to None.
-
account_name (str,optional): Account Name. If unspecified or "", Account name will be be "Copy of "
Methods
add_special_field
Instead of copying the value for the specified field and apistr. Default a preset value. For example if you wanted to suspend all webhooks in the newly cloned account - apistr='webhook',field_key='suspended',value=1
Args:
- field_key (str): field key for specified value. Use : to separate fields in a seeded json.
- apistr (str): api endpoint string ie. webhook, route, customfield, ect.
- value (any): value to default for the api endpoint value
add_special_uuid
For a specific uuid. Instead of copying the original field data use the specified value
Args:
- uuid (str): uuid of the original item with a special field
- field_key (str): field key for the special value. separate seeded json fields by a :
- value (any): value of the uuid field.
update_uuid_map
Ambra items are generally mapped to their new uuid by the name of the record. However you can manually map records with this parameter instead. Args: - dict (dictionary): map of uuids {original_uuid : new_uuid}
Architectural Design
Copying records from original_account to copy_account. Items are mapped by name unless the item uuid is manually mapped prior to running. When the .run() method is used the script first prints out the cloning information to the terminal then for each clone_item listed a cooresponding clone method is called. These methods all operate simmilarly and follow this procedure.
- map records to the uuid_map parameter- orignal_account uuids are the key, copy_account uuids are the values.
- add records that don't exist and add them to the uuid_map
- update mapped records to match the original
uuid substitutions are automatic and rely on the uuid_map. If a uuid cannot be found the item is skipped and an error is printed.
Requirements
The clone script requires up to date versions of the python requests package and ambra-sdk package
pip install requests
pip install ambra-sdk
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
File details
Details for the file ambra_clone_eyork_rad-0.0.3.tar.gz
.
File metadata
- Download URL: ambra_clone_eyork_rad-0.0.3.tar.gz
- Upload date:
- Size: 29.2 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/4.0.2 CPython/3.9.2
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | 4c981cf9d7b72f0bcf65ebf01b9f61882196f2bc94331536fce059b2d3944b73 |
|
MD5 | 69d304c707674ae64ccbefec382db887 |
|
BLAKE2b-256 | 1607e0244a52e896c978b4a4bafd2ade52c5dff565ff20324b52ccae9d4c4720 |
File details
Details for the file ambra_clone_eyork_rad-0.0.3-py3-none-any.whl
.
File metadata
- Download URL: ambra_clone_eyork_rad-0.0.3-py3-none-any.whl
- Upload date:
- Size: 30.0 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/4.0.2 CPython/3.9.2
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | 48d24b000803765a9e103cbefbc10264e22930ce314c695281ed73b4cbce4158 |
|
MD5 | 75181e4975f0aa8fa58f69534b9b0aeb |
|
BLAKE2b-256 | b8718fce287ace8efd4bcc4528e1b6e402b2aeda11e7a093be2194b02fa96750 |