Skip to main content

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.

  1. pip install Ambra_Clone
  2. Import the Clone class from the file labeled Clone.py
from Ambra_Clone.Clone Import Clone
  1. 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()
  1. 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.

  1. map records to the uuid_map parameter- orignal_account uuids are the key, copy_account uuids are the values.
  2. add records that don't exist and add them to the uuid_map
  3. 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


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

ambra_clone_eyork_rad-0.0.3.tar.gz (29.2 kB view details)

Uploaded Source

Built Distribution

ambra_clone_eyork_rad-0.0.3-py3-none-any.whl (30.0 kB view details)

Uploaded Python 3

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

Hashes for ambra_clone_eyork_rad-0.0.3.tar.gz
Algorithm Hash digest
SHA256 4c981cf9d7b72f0bcf65ebf01b9f61882196f2bc94331536fce059b2d3944b73
MD5 69d304c707674ae64ccbefec382db887
BLAKE2b-256 1607e0244a52e896c978b4a4bafd2ade52c5dff565ff20324b52ccae9d4c4720

See more details on using hashes here.

File details

Details for the file ambra_clone_eyork_rad-0.0.3-py3-none-any.whl.

File metadata

File hashes

Hashes for ambra_clone_eyork_rad-0.0.3-py3-none-any.whl
Algorithm Hash digest
SHA256 48d24b000803765a9e103cbefbc10264e22930ce314c695281ed73b4cbce4158
MD5 75181e4975f0aa8fa58f69534b9b0aeb
BLAKE2b-256 b8718fce287ace8efd4bcc4528e1b6e402b2aeda11e7a093be2194b02fa96750

See more details on using hashes here.

Supported by

AWS AWS Cloud computing and Security Sponsor Datadog Datadog Monitoring Fastly Fastly CDN Google Google Download Analytics Microsoft Microsoft PSF Sponsor Pingdom Pingdom Monitoring Sentry Sentry Error logging StatusPage StatusPage Status page