{"activeVersionTag":"latest","latestAvailableVersionTag":"latest","collection":{"info":{"_postman_id":"eb83ff73-9372-469b-824d-c229f4f7e9ff","name":"Medtech ALEX®","description":"This document covers the Authentication process, Request Message details and Error Messages that will be required to integrate with Medtech’s FHIR® API Solution (ALEX).\n\n# Changelog\n\n25 Feburary 2026\n\n- v2.10 (please refer to ALEX 2.10 Release Notes for more detail)\n    \n- New \"Attention To\" extension and search capability for DiagnosticReport (unfiled message retrieval)\n    \n- Enabled provider-based retrieval of Lab & Radiology Results\n    \n- Corrected RTF MIME type in DiagnosticReport (V2)\n    \n- Improved Inbox \"To\" routing logic for Post Media & Post Communication\n    \n- Stablised Get DiagnosticReport when INFORMAT is blank or null\n    \n\n3 September 2025\n\n- v2.9 (please refer to ALEX 2.9 Release Notes for more detail)\n    \n- New status for inactive consultation notes\n    \n- Casual & Registered patient differences\n    \n- New extension to GET patient for no contact/ no SMS flags\n    \n- Bug fixes for SMS reminders and inactive observation via direct read\n    \n\n18 June 2025\n\n- v2.8 (please refer to ALEX 2.8 Release Note for more detail)\n    \n- Inactive AllergyIntolerance records are now retrievable by EHR key\n    \n- Account group update in PUT Patient\n    \n- GET/POST Condition: new asseter field and recorder mapping fix\n    \n- DocumentReference enhancements: location type extensions (V2 only)\n    \n\n14 May 2025\n\n- v2.7 (please refer to ALEX 2.7 Release Note for more detail)\n    \n- Practitioner status correction\n    \n- Enhanced privacy flag handling - \"Do not upload to MMH\"\n    \n- Standardized empty resources (V2)\n    \n- Patient contact validation\n    \n\n4 March 2025\n\n- v2.6 (please refer to ALEX 2.6 Release Note for more detail)\n    \n- Updated GET Practitioner retrieval by ignoring Facility ID header checks for specific cases\n    \n- Added GET Provider by NZNC (nursing-council-id)\n    \n\n15 Aug 2024\n\n- v2.2 release (please refer to ALEX 2.2 Release Note for more detail)\n    \n- Added GET Media and GET Communication operation\n    \n- Added image file support for POST Media operation\n    \n\n6 June 2024\n\n- v2.1 release (please refer to ALEX 2.1 Release Note for more detail)\n    \n- Added POST Observation operation\n    \n\n24 Apr 2024\n\n- v2.0 release (please refer to ALEX 2.0 Release Note for more detail)\n    \n- Non long term records for Conditions and MedicationRequest for the past 6 months are now included in Patient Summary\n    \n\n15 Nov 2023\n\n- Added POST Condition operation\n    \n\nPlease refer to \"Classification (Condition)\" for details.\n\n20 Oct 2023\n\n- Added GET Account operation\n    \n\nPlease refer to \"Account\" for details.\n\n- Enhancement & Bug Fixes\n    \n\n24 July 2023\n\n- Added GET Task and POST Task operations\n    \n\nPlease refer to \"Task\" for details.\n\n- Added GET Accident Details operations\n    \n\nPlease refer to \"Accident Details\" for details.\n\n- Allow retrieval of medication approval status and rejection response using MedicationRequest bundle ID or individual ID.\n    \n\nPlease refer to \"Medication\" for details.\n\n16 May 2023\n\n- Added Invoice Write Back and Retrieval of Services/Subsidies functionality\n    \n\nPlease refer to \"Invoice\" and \"ChargeItem\" for details.\n\n- GET Patient and GET IPS Update\n    \n\nRetrieve A/C Holder Details  \nThe new Invoice write back will require vendors to send the A/C Holder details for the invoice, currently we are not sending these details as part of GET Patient response, hence this needs to be updated to include them.\n\nNew extensions were created to retrieve these details.\n\nPlease Note - this change is for GET Patient & GET IPS as well but these new extensions will not be part of POST Patient. This is due to the fact that POST patient will automatically add patients as A/C Holder and account held by is selected as self.\n\nA/C Holder Extension to state if the A/C Holder is selected or not in the Patient Register:\n\n``` json\n{\n  \"url\": \"http://alexapi.medtechglobal.com/fhir/StructureDefinition/acholder\",\n  \"valueBoolean\": false\n}\n\n ```\n\nIf the A/C Holder extensions states \"true\" then the Account Held by will be self and no point stating this, so the account held by details are not required.\n\nIf the A/C Holder extension states \"false\" then the Account Held by details will be retrieved as well under a new extension given below.\n\n``` json\n{\n  \"url\": \"http://alexapi.medtechglobal.com/fhir/StructureDefinition/acheldby\",\n  \"valueReference\": {\n    \"reference\": \"https://alexapitest.medtechglobal.com/fhir/Patient/e58617ad094e9779d243c64e565e33ce\",\n    \"display\": \"Test A/C Holder\"\n  }\n}\n\n ```\n\nWhere the reference will contain the EHR key for the patient who has been selected as the A/C Holder for the patient.\n\nRetrieve WINZ No for a Patient from Patient Register  \nThe GET Patient & GET IPS has been updated to enable the retrieving of WINZ No, this is available under the Patient Register.\n\nA new extension was created to retrieve this data:\n\n``` json\n{\n  \"url\": \"http://alexapi.medtechglobal.com/fhir/StructureDefinition/winzno\",\n  \"valueString\": \"ABC36475758\"\n}\n\n ```\n\n11 April 2023\n\n- Added Approved Repeat Prescriptions Write Back functionality\n    \n\nPlease refer to MedicationRequest section for details.\n\n- **Level 4 Ethnicity support**\n    \n\nChanges have been carried out in ALEX® API (GET Patient, GET IPS, POST Patient, POST Bundle with Patient) to support Level 4 ethnicity upgrade in upcoming Evo v6.3 and Medtech32 v25.1. This is an internal change in ALEX and no changes required at ALEX customers' end.\n\n1 March 2023\n\n- **Added POST of Bundle to enable insertion of patient demographics, patient ID documents, enrolment form to Evolution v6.2+**\n    \n\nPlease refer to \"POST Patient Bundle to PMS\" for details.\n\n- **Added a new communication.category code to route Online Enrolment Form to the new Online Form folder of the inbox**\n    \n\nPlease refer to \"POST Patient Bundle to PMS\" for details.\n\n- **Allow retrieval of ALEX Online Form configuration data from GET Location**\n    \n\nPlease refer to \"ALEX Online Form Configuration Retrieval\" for details.\n\n11 Nov 2022\n\n- Added gender and sex-at-birth for POST Patient\n    \n\nThe new Extension will be included for adding the patient’s Sex at Birth (Assigned Sex in Medtech PMS).  \nIf sex at birth (assigned sex) extension is not provided in the payload, then add Unknown (U) as the default assigned sex in the PMS.  \nThe Medtech PMS “Assigned Sex” to FHIR “gender” mapping will be as follows:-\n\n| S.No | Medtech PMS Assigned Sex | FHIR “Sex at Birth” selection |\n| --- | --- | --- |\n| 1 | Male (M) | Male |\n| 2 | Female (F) | Female |\n| 3 | Indeterminate (I) | Other |\n| 4 | Unknown (U) | Unknown |\n\nThe “gender” element in the Patient resource will be mapped to \"Gender Group\" field in the Medtech PMS for POST Patient.  \nBased on the Gender Group, the Gender will be derived and added to the PMS Gender field, the Medtech PMS has multiple “Gender” selections, but FHIR only supports 4 options, so based on the Gender Group in the payload, the 1 specific Gender will be derived to be added to Gender field.  \nPlease see the mapping table below for the Gender to be selected for each Gender Group.  \nPlease note that “unknown” FHIR Gender will still be Unknown under Gender Group field, but this will be added as Don't Know under Gender field of the Medtech PMS. The mapping will be as follows:-\n\n| S.No | FHIR “gender” selection | Medtech PMS Gender selection | Medtech PMS Gender Group selection |\n| --- | --- | --- | --- |\n| 1 | Male | Male | Male |\n| 2 | Female | Female | Female |\n| 3 | Other | Another Gender | Another Gender |\n| 4 | Unknown | Don’t Know | Unknown |\n\nThe “sex-at-birth” extension details are provided below-\n\n``` json\n\"extension\" : [\n                  {\n                       \"url\" : \"http://hl7.org.nz/fhir/StructureDefinition/sex-at-birth\",\n                       \"valueCodeableConcept\" : {\n                           \"coding\" : [\n                              {\n                                  \"system\" : \"http://hl7.org/fhir/administrative-gender\",\n                                  \"code\" : \"female\"\n                              }\n                           ]\n                       }\n                   }\n                ],\n\n ```\n\nIf the Assigned Sex/Gender provided doesn’t match the allowed FHIR based gender, then 400 error will be thrown-\n\n“The ‘assigned sex’ provided is invalid: X”\n\n“The ‘gender’ provided is invalid: X”\n\nPlease note that gender changes are available only in Medtech Evolution from v6.0 and above. These changes are not supported in Medtech32.  \nIf a vendor passes the Sex at Birth extension for Evolution builds lesser than v6.0 and for Medtech32, then the following error message will be displayed,and the POST payload will fail-  \n\"Sex at Birth is not supported by PMS\"\n\n- Added country data to GET and POST Patient\n    \n\nAllow support for Country data given below for GET and POST Patient,  \n• Country of Birth  \n• Country of Origin  \n• Country  \n• Postal Country  \nPlease supply the ISO:3166 Country codes as part of POST Payload to add the country data listed above.\n\n``` json\n\"extension\": [\n   {\n      \"url\": \"http://alexapi.medtechglobal.com/fhir/StructureDefinition/country-of-birth\",\n      \"valueCodeableConcept\": {\n        \"coding\": [\n          {\n            \"system\": \"urn:iso:std:iso:3166\",\n            \"code\": \"EG\",\n            \"display\": \"Egypt\"\n          }\n        ]\n      }\n    },\n    {\n      \"url\": \"http://alexapi.medtechglobal.com/fhir/StructureDefinition/country-of-origin\",\n      \"valueCodeableConcept\": {\n        \"coding\": [\n          {\n            \"system\": \"urn:iso:std:iso:3166\",\n            \"code\": \"KR\",\n            \"display\": \"Korea (South)\"\n          }\n        ]\n      } \n},\n\n ```\n\nCurrently the Main Address Country & Postal Country details are only retrievable via a GET query, but in a POST of address this is not supported.  \nGoing forward, we will allow write back of address country for POST.\n\nThe 2 letter ALPHA code of the ISO:3166 Country code must be used in the payload to enter the country details into the address field of the Medtech PMS.\n\n<img src=\"https://content.pstmn.io/572e6dc1-4cb3-44a2-9929-4383a617d199/aW1hZ2UucG5n\" width=\"307\" height=\"389\">\n\n- Added visa status to GET and POST Patient\n    \n\nThe following data types will be included in GET and POST Patient (these are only supported in Medtech Evolution)  \n• Eligible Doc Type\n\nA new extension will be created for this-\n\n{  \n\"url\": \"[http://alexapi.medtechglobal.com/fhir/StructureDefinition/eligible-doc-type\"](https://),  \n\"valueCodeableConcept\": {  \n\"coding\": \\[  \n{  \n\"system\": \"[https://nzhts.digital.health.nz/fhir/ValueSet/information-source-code\"](https://),  \n\"code\": \"BRCT\",  \n\"display\": \"Birth Certificate\"  \n}  \n\\]  \n}\n\nThe Mapping for Information Source Code valueset is provided below-\n\n• Eligible Doc Status\n\nA new extension will be created for this-\n\n{  \n\"url\": \"[http://alexapi.medtechglobal.com/fhir/StructureDefinition/eligible-doc-status\"](https://),  \n\"valueBoolean\": true  \n},\n\nThe mapping for valueBoolean is provided below-\n\nS.NoMedtech PMS ValueFHIR Value1Given (G)true2Not Given (N)\n\nfalse  \n• Visa Type\n\nA new extension will be created for this-\n\n{  \n\"url\": \"[http://alexapi.medtechglobal.com/fhir/StructureDefinition/visa-type\"](https://),  \n\"valueCodeableConcept\": {  \n\"coding\": \\[  \n{  \n\"system\": \"[https://alexapi.medtechglobal.com/fhir/ValueSet/visa-type\"](https://),  \n\"code\": \"W\",  \n\"display\": \"Work Visa\"  \n}  \n\\]  \n}\n\nThe PMS has following Visa Types-\n\n<img src=\"https://content.pstmn.io/bf78d6b8-517c-46c4-80da-29d538d551e9/aW1hZ2UucG5n\" width=\"290\" height=\"141\">\n\n• Visa Expiry\n\nA new extension will be created for this-\n\n{  \n\"url\": \"[http://alexapi.medtechglobal.com/fhir/StructureDefinition/visa-expiry\"](https://),  \n\"valueDate\": \"2023-07-23\"\n\n}\n\n- Support routing of Radiology messages to Radiology inbox folder for POST Communication\n    \n\nThere is a new communication.category code (LOINC) that will allow the routing of the Radiology messages from Radiology service vendors to go into the Radiology folder of the Inbox.\n\nSince the end point for Repeat Prescriptions, General Communication & Radiology are all same which is the communication resource, this will mean that FHIR server will pass this end point and Odin will have to check the specific category LOINC Code and add the message into the different folders accordingly.\n\n<img src=\"https://content.pstmn.io/b374777b-3723-4c9c-8acf-476847d2b35a/aW1hZ2UucG5n\" width=\"609\" height=\"296\">\n\nA new role is added for allowing the routing of the Radiology messages into the Radiology folder-\n\n<img src=\"https://content.pstmn.io/b37ff604-6b39-47a6-b0ae-264ab2f25bda/aW1hZ2UucG5n\" width=\"573\" height=\"69\">\n\n- PDF attachment support for GET DiagnosticReport\n    \n\nThe GET DiagnosticReport at present only displays the text/rtf content or application/xml content for the Message tab data for Radiology folder Inbox records.\n\nWhen Radiology Report is added via ALEX® into Inbox Radiology (RA) folder, then in this case this will be a PDF document and performing a GET DiagnosticReport for the Radiology message will not show the PDF attachment details.\n\nChanges have been made to GET DiagnosticReport such that the PDF data is referenced as Binary URL, as shown in example below under presentedForm-\n\n``` json\n\"presentedForm\": [\n                    {\n                        \"contentType\": \"application/xml\",\n                        \"data\": \"e1xydGYxXGFuc2lcZGVmZjBcZGVmbGFuZzUxMjl7XGZvbnR0Ymx7XGYwXGZtb2Rlcm4gQ291cmllcjt9fQ0KXHZpZXdraW5kNFx1YzFccGFyZFx0eDM3NDRcYlxmMFxmczIwIFMuIEdsdWNvc2U6XHRhYlxiMCA1LjYgbW1vbC9MICggMy4wIC0gNi4wIClccGFyDQpccGFyDQpcYiBPcmRlcmVkIGJ5Olx0YWJcYjAgQXBpIEFsZXhccGFyDQpcYiBMYWJvcmF0b3J5Olx0YWJcYjBccGFyDQpcYiBPYnNlcnZhdGlvbiBkYXRlOlx0YWJcYjAgMDUtTWF5LTIwMDNccGFyDQpccGFyDQp9DQo=\"\n                    },\n{\n                        \"contentType\": \"application/pdf\",\n                        \"url\": \"https://alexapidev.medtechglobal.com/fhir/Binary/362f6b085cd822e10eda1bcf59a9e17b\"\n   }\n]\n\n ```\n\n# **High Level Design for Medtech FHIR® API (ALEX)**\n\n<img src=\"https://content.pstmn.io/18f82274-2000-47ca-84a7-2576fa834fe0/aW1hZ2UucG5n\" width=\"655\" height=\"335\">\n\nThe solution is made up of the following components: -\n\n1. Application Gateway – this provides web traffic load balancing that enables the management of traffic to the FHIR® web application. It also provides a Web Application Firewall that helps protect web applications by filtering and monitoring HTTP traffic between a web application and the Internet. It typically protects web applications from attacks such as cross-site forgery, cross-site-scripting (XSS), file inclusion, and SQL injection, among others.\n    \n2. Azure Active Directory – this will provide an authorisation service for access to application and services, provides OAuth2.0 client credential authorisation.\n    \n3. API Gateway – this provides a platform to publish and control access to the FHIR® API, also can provide access to future API’s.\n    \n4. FHIR® Server – Microsoft Open Source FHIR® implementation running as a .Net Web Application, it will NOT contain a persistence store (SQL or Cosmos), instead will get all data on the fly from the on-premises databases.\n    \n5. Middleware – this provides the hosting for the Core application microservices that transform the on-premises database schema to provide FHIR® resource data. This will be built using an Azure Kubernetes Service.\n    \n6. Azure Relay - The Azure Relay service enables secure exposure of services that run in the on-premises network to the public cloud.\n    \n7. On-Premises Service - this provides connectivity to the Azure Relay and transforms requests from web calls into native database queries.\n    \n8. Event HUB – this provides a mechanism of collecting events from the API Gateway, FHIR® Server or Functions and storing in the data lake.\n    \n9. Data Lake – provides storage for events, Data sent to an event hub can be transformed and stored by using any real-time analytics provider or batching/storage adapters.\n    \n10. Table Storage – this will contain a lookup table containing HPI Facility Code to Azure Relay Endpoint, this will also include any Health Status information about the PMS\n    \n11. Self-Hosted DevOps Agent – as the deployment of application code will be to the FHIR® Server and Function apps and as these will be VNet integrated and will not be accessible via there Public IP Address, we will need a Azure DevOps deployment agent within the VNet to allow access to the resources.\n    \n\n# Integration Connectivity for UAT Testing\n\nIntegration testing will take place via a Sandbox which is the Medtech’s UAT environment. Medtech would connect the UAT environment to a counterpart test server at a Third Party Vendor partner integrating with ALEX.  \nMedtech would like to have the integration testing to be fairly close to a production use-case (therefore an external Vendor partner server is preferable to a dedicated resource within the Medtech’s Azure tenancy).  \nAt present Medtech expects that the UAT environment will connect through to known test instances of various Medtech PMS versions that would be hosted within Medtech’s Azure tenancy.  \nHowever, Medtech are investigating the possibility of making vendor partners test instances of Medtech PMS’s available under UAT environment of ALEX, this will allow vendors to do true “end-to-end” testing with their own PMS instances.\n\n# Requirements for Integration Connectivity to Test Server\n\nThe vendor partner test server connection would involve (at least) the following: -  \n• Setting up an ALEX Azure AD account for vendor partner-Test.  \nThis is a “per-service” account so if vendor partner has various services that need access to Medtech with different access-right requirements then Medtech will set up multiple accounts. Similarly, it is important that there is a distinct “Vendor Partner” account (or accounts) that are distinct from other connections to ALEX from the same vendor.  \n• Assigning the appropriate API scopes (permissions) to that AAD account.  \n• Assigning an Application ID – associated with the AAD account - that vendor partner will pass with a token on every API request.  \nPlease Note: The token is obtained through an authentication call to AAD using a shared secret.  \n• Allow-listing the vendor partner server IP address on the UAT ALEX API endpoints.  \n• Approving the vendor partner Application ID for access to the test instances of Medtech (i.e. simulating practice consenting).\n\n# Vendor Partner Authentication Process while Connecting to ALEX\n\n## Overview\n\nIn order for a vendor application to make requests to the Medtech FHIR® API, a valid access token must be included in the requests. To obtain an access token, an authentication request is made to the identity provider service and the returned access token is then included in the headers of subsequent requests to the Medtech FHIR® API.\n\n## Request for an Access Token\n\nTo obtain an access token an authentication request is sent to the identity provider.  \nMedtech uses the following Microsoft Azure AD identity provider:  \n[https://login.microsoftonline.com/8a024e99-aba3-4b25-b875-28b0c0ca6096/oauth2/v2.0/token](https://)  \nNote: The unique identifier above is relative to the particular Azure Tenant. In the case of Medtech, this is always as above, regardless of environment.\n\nExample Request:\n\n``` bash\ncurl --request POST 'https://login.microsoftonline.com/8a024e99-aba3-4b25-b875-28b0c0ca6096/oauth2/v2.0/token'\\\n--form 'Client_id=\"xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxx\"' \\\n--form 'Client_secret=\"xxxxxxxxxxxxxxxxxxxxxxxxxxxxx\"' \\\n--form 'Grant_type=\"client_credentials\"' \\\n--form 'Scope=\"api://bf0c0db0-08e7-4ed8-bb85-8d5676869424/.default\"'\n\n ```\n\n## Request Details\n\n| **Form Value** | **Example** | **Description** |\n| --- | --- | --- |\n| client_id | xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxx | Unique identifier of the vendor application. Provided to the vendor by Medtech. |\n| client_secret | xxxxxxxxxxxxxxxxxxxxxxxxxxxxx | Secret associated with above unique identifier. Provided to the vendor by Medtech. |\n| scope | api://bf0c0db0-08e7-4ed8-bb85-8d5676869424/.default | Unique identifier of the Medtech FHIR® API. Provided to the vendor by Medtech. |\n| grant_type | client_credentials | Always this value. |\n\n## Example Response\n\nIf the request was accepted, the identity provider will provide a response containing the access token. The access token can now be used to make requests to the Medtech FHIR® API.\n\n``` json\n{\n    \"token_type\": \"Bearer\",\n    \"expires_in\": 3599,\n    \"ext_expires_in\": 3599,\n    \"access_token\": \"xxx\"\n}\n\n ```\n\n**⚠️ Note:**\n\n- The access token has an expiry time (1 hour by default currently). Once this has elapsed, a new access token needs to be requested from the identity provider.\n    \n\n# Subsequent Requests to Medtech FHIR® API (ALEX) Post Authorisation\n\n## Overview\n\nThe access token which was obtained from the identity provider can now be used to make authenticated requests to the Medtech FHIR® API. Depending on which environment is being accessed e.g. UAT / PRODUCTION, the host name will vary.  \nThe Authorization header should now be added to every request, with the value of the access token prefixed by \"Bearer \".  \nThe second call is to the APIM and should contain the access token and facility id as request headers. The APIM will validate the access token and generate a correlation ID request header. It will then forward the request to the FHIR® Server. The FHIR® Server will also validate the access token, verify the scopes, extract the scopes from the access token (into a new request header) and then forward the request to the NeXT endpoint.\n\n## UAT & Production End Points\n\n| Environment | Audience | API Endpoint URL |\n| --- | --- | --- |\n| UAT (Sandbox) | Vendors for Development and Test | alexapiuat.medtechglobal.com/FHIR |\n| Production | Vendors for Production use | alexapi.medtechglobal.com/FHIR |\n\n## Authentication/Authorisation Request Header Details\n\n| Request header | Example | Added by | Consumed by | Description |\n| --- | --- | --- | --- | --- |\n| Authorization | Bearer xxxxxxxxxxx | Vendor | APIM, FHIR® Server | (Required) JWT, issued by AAD, required for every request |\n| Content-Type | application/fhir+json |  | FHIR Server \\[POST/PUT/PATCH\\] | (Required) Content format. |\n\n## Custom Request Header Details\n\n| **Request header** | **Example** | **Added by** | **Consumed by** | **Description** |\n| --- | --- | --- | --- | --- |\n| **mt-facilityid** | 12345678 | Vendor | NeXT | Facility ID for which the request is intended |\n| **mt-correlationid** | d28e3c6e-5f9a-4527-b567-faae0f8e9c46 | APIM (Azure API Management) | Multiple | Random GUID value |\n| **mt-appid** | `xxxxxxx` | APIM | NeXT | Azure client app registration ID of the Vendor |\n| **mt-roles** | patient.healthsummary.read; patient.condition.confidential.read | FHIR Server | NeXT | \";\" separated list of vendor's roles |\n| **mt-env** | [https://alexapitest.medtechglobal.com/fhir](https://) | APIM | FHIR/NeXT | Base environment URL dependent on ENVIRONMENT |\n\n## Example\n\n``` bash\nUAT - curl --request GET 'https://alexapiuat.medtechglobal.com/FHIR/Patient/1'\\ \nProduction - curl --request GET 'https://alexapi.medtechglobal.com/FHIR/Patient/1'\\ \n--header 'Authorization: Bearer xxxxx'\n\n ```\n\nAn invalid token will result in a HTTP 401 error\n\n``` json\n{\n    \"statusCode\": 401,\n    \"message\": \"Unauthorized. Access token is missing or invalid.\"\n}\n\n ```\n\nFor illustration purpose in this document, UAT URL is used. Another URL should be used in Production environment.\n\n**UAT** - alexapiuat.medtechglobal.com/FHIR  \n**Production** - alexapi.medtechglobal.com/FHIR","schema":"https://schema.getpostman.com/json/collection/v2.0.0/collection.json","isPublicCollection":false,"owner":"29693797","team":4794856,"collectionId":"eb83ff73-9372-469b-824d-c229f4f7e9ff","publishedId":"2sAXjNYWSC","public":true,"publicUrl":"https://alexapidoc.medtechglobal.com","privateUrl":"https://go.postman.co/documentation/29693797-eb83ff73-9372-469b-824d-c229f4f7e9ff","customColor":{"top-bar":"FFFFFF","right-sidebar":"303030","highlight":"FF6C37"},"documentationLayout":"classic-double-column","customisation":{"metaTags":[{"name":"description","value":""},{"name":"title","value":""}],"appearance":{"default":"light","themes":[{"name":"dark","logo":"https://content.pstmn.io/63dc75fc-ef2f-481e-9216-49b7d38a53d5/bWVkdGVjaF9sb2dvLnBuZw==","colors":{"top-bar":"212121","right-sidebar":"303030","highlight":"FF6C37"}},{"name":"light","logo":"https://content.pstmn.io/63dc75fc-ef2f-481e-9216-49b7d38a53d5/bWVkdGVjaF9sb2dvLnBuZw==","colors":{"top-bar":"FFFFFF","right-sidebar":"303030","highlight":"FF6C37"}}]}},"version":"8.10.1","publishDate":"2024-09-04T03:10:11.000Z","activeVersionTag":"latest","documentationTheme":"light","metaTags":{"title":"","description":""},"logos":{"logoLight":"https://content.pstmn.io/63dc75fc-ef2f-481e-9216-49b7d38a53d5/bWVkdGVjaF9sb2dvLnBuZw==","logoDark":"https://content.pstmn.io/63dc75fc-ef2f-481e-9216-49b7d38a53d5/bWVkdGVjaF9sb2dvLnBuZw=="}},"statusCode":200},"environments":[{"name":"UAT","id":"b64a5893-91e8-4731-8912-b7377c58098c","owner":"26464826","values":[{"key":"SSH-PORT","value":"50003","enabled":false,"type":"default"},{"key":"EVO-FacilityId","value":"F2N060-E","enabled":true,"type":"default"},{"key":"Token","value":"eyJ0eXAiOiJKV1QiLCJhbGciOiJSUzI1NiIsIng1dCI6IjJaUXBKM1VwYmpBWVhZR2FYRUpsOGxWMFRPSSIsImtpZCI6IjJaUXBKM1VwYmpBWVhZR2FYRUpsOGxWMFRPSSJ9.eyJhdWQiOiJhcGk6Ly9iZjc5NDVhNi1lODEyLTQxMjEtODk4YS03NmZlYTdjMTNmNGQiLCJpc3MiOiJodHRwczovL3N0cy53aW5kb3dzLm5ldC84YTAyNGU5OS1hYmEzLTRiMjUtYjg3NS0yOGIwYzBjYTYwOTYvIiwiaWF0IjoxNjY0MzQzODAzLCJuYmYiOjE2NjQzNDM4MDMsImV4cCI6MTY2NDM0NzcwMywiYWlvIjoiRTJaZ1lOZ1FYYWxRYytDVnlxcmZWOTY5dERpVkJBQT0iLCJhcHBpZCI6IjI0YjNkMGU4LTkwOTYtNDc2My1hMWU1LTRhNGIxMzI1N2E3YSIsImFwcGlkYWNyIjoiMSIsImlkcCI6Imh0dHBzOi8vc3RzLndpbmRvd3MubmV0LzhhMDI0ZTk5LWFiYTMtNGIyNS1iODc1LTI4YjBjMGNhNjA5Ni8iLCJvaWQiOiI5Y2ZkMGM2Yi04Y2I0LTRjY2UtOWRiYy1jZjA4ZWNiYjJjZjYiLCJyaCI6IjAuQVdjQW1VNENpcU9ySlV1NGRTaXd3TXBnbHFaRmViOFM2Q0ZCaVlwMl9xZkJQMDFuQUFBLiIsInJvbGVzIjpbInBhdGllbnQub2JzZXJ2YXRpb24uY29uZmlkZW50aWFsLnJlYWQiLCJwYXRpZW50LmRvY3VtZW50cmVmZXJlbmNlLmNvbnN1bHRub3Rlcy5yZWFkIiwicGF0aWVudC5tZWRpY2F0aW9ucmVxdWVzdC5jb25maWRlbnRpYWwucmVhZCIsInBhdGllbnQuYmluYXJ5LmF0dGFjaG1lbnQuY29uZmlkZW50aWFsLnJlYWQiLCJwYXRpZW50LmNvbmRpdGlvbi5jb25maWRlbnRpYWwucmVhZCIsInBhdGllbnQuZG9jdW1lbnRyZWZlcmVuY2UuY29uc3VsdG5vdGVzLmNvbmZpZGVudGlhbC5yZWFkIiwicGF0aWVudC5kaWFnbm9zdGljcmVwb3J0LmNvbmZpZGVudGlhbC5yZWFkIiwicGF0aWVudC5kb2N1bWVudHJlZmVyZW5jZS5jb25zdWx0bm90ZXMud3JpdGUiLCJwcmFjdGl0aW9uZXIuYXBwb2ludG1lbnRzbG90LnJlYWQiLCJwYXRpZW50LmJpbmFyeS5hdHRhY2htZW50LnJlYWQiLCJwYXRpZW50LmNvbW11bmljYXRpb24ucmVwZWF0cHJlc2NyaXB0aW9uLndyaXRlIiwicGF0aWVudC5ub25uaGlzZWFyY2gucmVhZCIsInBhdGllbnQubmhpc2VhcmNoLnJlYWQiLCJwYXRpZW50Lm1lZGlhLndyaXRlIiwicHJhY3RpdGlvbmVyLmFwcG9pbnRtZW50LnJlYWQiLCJwcmFjdGl0aW9uZXIuYXBwb2ludG1lbnQud3JpdGUiLCJwYXRpZW50LmltbXVuaXphdGlvbi5yZWFkIiwicGF0aWVudC5kaWFnbm9zdGljcmVwb3J0LnJlYWQiLCJwYXRpZW50Lm9ic2VydmF0aW9uLnJlYWQiLCJwcmFjdGl0aW9uZXIucmVhZCIsInBhdGllbnQuaGVhbHRoc3VtbWFyeS5yZWFkIiwicGF0aWVudC5tZWRpY2F0aW9ucmVxdWVzdC5yZWFkIiwicGF0aWVudC5jb25kaXRpb24ucmVhZCIsInBhdGllbnQuZG9jdW1lbnRyZWZlcmVuY2UucnNkaW5ib3guY29uZmlkZW50aWFsLnJlYWQiLCJwYXRpZW50LnVwZGF0ZS53cml0ZSIsInBhdGllbnQuZG9jdW1lbnRyZWZlcmVuY2UucnNkaW5ib3gucmVhZCIsInByYWN0aWNlLmxvY2F0aW9uLnJlYWQiLCJwYXRpZW50LmFsbGVyZ3lpbnRvbGVyYW5jZS5yZWFkIiwicGF0aWVudC5jb21tdW5pY2F0aW9uLmdlbmVyYWxjb21tdW5pY2F0aW9uLndyaXRlIiwicGF0aWVudC5jcmVhdGUud3JpdGUiLCJwYXRpZW50Lm1lZGljYXRpb25yZXF1ZXN0LndyaXRlIl0sInN1YiI6IjljZmQwYzZiLThjYjQtNGNjZS05ZGJjLWNmMDhlY2JiMmNmNiIsInRpZCI6IjhhMDI0ZTk5LWFiYTMtNGIyNS1iODc1LTI4YjBjMGNhNjA5NiIsInV0aSI6IjNjV3RRaVp2SWtLcU5TSDZ0SkFJQUEiLCJ2ZXIiOiIxLjAifQ.SSnMrc3joIpYW1bSmG68KVIeKjHdHaWzR-8fCX_ROW_pIezvXQLYLAmNDRs9cZCBCZStNJmICNQchP8lYENqIOoNSDXF5CceL3d1I3cx_shjhj_RXkTkB3zYgE63DtfYbqYun1eU34Z6Fc4Go9BdFDxp721xrj4sSp0hknptBeqbeTkZ_pP2H6I8LrEvK74zq0vbY2t-vXa_S6ZVJWuJwgF5P0jFoMqG82d6jYoAqTxL_Y6O8JifZFCrELtyHe7unxmgqLR6LvbUCKOi_3lZjui4u-ux3KixIFL808yDGR9Pd1ZlT2pmEOhBPtlodMqrXlf_ZMhsy4V8m5ljMnWkuQ","enabled":true,"type":"secret"},{"key":"Base URL","value":"https://alexapiuat.medtechglobal.com","enabled":true,"type":"default"},{"key":"Authorization","value":"xxxxx","enabled":true,"type":"default"},{"key":"Client ID","value":"24b3d0e8-9096-4763-a1e5-4a4b13257a7a","enabled":true,"type":"secret"},{"key":"Client Secret","value":"n610M.n42KG_5la1.f_OnVJ7RMSUjermZG","enabled":true,"type":"secret"},{"key":"Scope","value":"api://bf7945a6-e812-4121-898a-76fea7c13f4d/.default","enabled":true,"type":"default"},{"key":"patientEHRKey","value":"14e52e16edb7a435bfa05e307afd008b","enabled":true,"type":"default"},{"key":"REQUEST-CONTEXT","value":"","enabled":true,"type":"any"},{"key":"KEYCLOAK_TOKEN","value":"","enabled":true,"type":"any"}],"published":true}],"user":{"authenticated":false,"permissions":{"publish":false}},"run":{"button":{"js":"https://run.pstmn.io/button.js","css":"https://run.pstmn.io/button.css"}},"web":"https://www.getpostman.com/","team":{"logo":"https://res.cloudinary.com/postman/image/upload/t_team_logo_pubdoc/v1/team/768118b36f06c94b0306958b980558e6915839447e859fe16906e29d683976f0","favicon":"https://medtechglobal.com/favicon.ico"},"isEnvFetchError":false,"languages":"[{\"key\":\"csharp\",\"label\":\"C#\",\"variant\":\"HttpClient\"},{\"key\":\"csharp\",\"label\":\"C#\",\"variant\":\"RestSharp\"},{\"key\":\"curl\",\"label\":\"cURL\",\"variant\":\"cURL\"},{\"key\":\"dart\",\"label\":\"Dart\",\"variant\":\"http\"},{\"key\":\"go\",\"label\":\"Go\",\"variant\":\"Native\"},{\"key\":\"http\",\"label\":\"HTTP\",\"variant\":\"HTTP\"},{\"key\":\"java\",\"label\":\"Java\",\"variant\":\"OkHttp\"},{\"key\":\"java\",\"label\":\"Java\",\"variant\":\"Unirest\"},{\"key\":\"javascript\",\"label\":\"JavaScript\",\"variant\":\"Fetch\"},{\"key\":\"javascript\",\"label\":\"JavaScript\",\"variant\":\"jQuery\"},{\"key\":\"javascript\",\"label\":\"JavaScript\",\"variant\":\"XHR\"},{\"key\":\"c\",\"label\":\"C\",\"variant\":\"libcurl\"},{\"key\":\"nodejs\",\"label\":\"NodeJs\",\"variant\":\"Axios\"},{\"key\":\"nodejs\",\"label\":\"NodeJs\",\"variant\":\"Native\"},{\"key\":\"nodejs\",\"label\":\"NodeJs\",\"variant\":\"Request\"},{\"key\":\"nodejs\",\"label\":\"NodeJs\",\"variant\":\"Unirest\"},{\"key\":\"objective-c\",\"label\":\"Objective-C\",\"variant\":\"NSURLSession\"},{\"key\":\"ocaml\",\"label\":\"OCaml\",\"variant\":\"Cohttp\"},{\"key\":\"php\",\"label\":\"PHP\",\"variant\":\"cURL\"},{\"key\":\"php\",\"label\":\"PHP\",\"variant\":\"Guzzle\"},{\"key\":\"php\",\"label\":\"PHP\",\"variant\":\"HTTP_Request2\"},{\"key\":\"php\",\"label\":\"PHP\",\"variant\":\"pecl_http\"},{\"key\":\"powershell\",\"label\":\"PowerShell\",\"variant\":\"RestMethod\"},{\"key\":\"python\",\"label\":\"Python\",\"variant\":\"http.client\"},{\"key\":\"python\",\"label\":\"Python\",\"variant\":\"Requests\"},{\"key\":\"r\",\"label\":\"R\",\"variant\":\"httr\"},{\"key\":\"r\",\"label\":\"R\",\"variant\":\"RCurl\"},{\"key\":\"ruby\",\"label\":\"Ruby\",\"variant\":\"Net::HTTP\"},{\"key\":\"shell\",\"label\":\"Shell\",\"variant\":\"Httpie\"},{\"key\":\"shell\",\"label\":\"Shell\",\"variant\":\"wget\"},{\"key\":\"swift\",\"label\":\"Swift\",\"variant\":\"URLSession\"}]","languageSettings":[{"key":"csharp","label":"C#","variant":"HttpClient"},{"key":"csharp","label":"C#","variant":"RestSharp"},{"key":"curl","label":"cURL","variant":"cURL"},{"key":"dart","label":"Dart","variant":"http"},{"key":"go","label":"Go","variant":"Native"},{"key":"http","label":"HTTP","variant":"HTTP"},{"key":"java","label":"Java","variant":"OkHttp"},{"key":"java","label":"Java","variant":"Unirest"},{"key":"javascript","label":"JavaScript","variant":"Fetch"},{"key":"javascript","label":"JavaScript","variant":"jQuery"},{"key":"javascript","label":"JavaScript","variant":"XHR"},{"key":"c","label":"C","variant":"libcurl"},{"key":"nodejs","label":"NodeJs","variant":"Axios"},{"key":"nodejs","label":"NodeJs","variant":"Native"},{"key":"nodejs","label":"NodeJs","variant":"Request"},{"key":"nodejs","label":"NodeJs","variant":"Unirest"},{"key":"objective-c","label":"Objective-C","variant":"NSURLSession"},{"key":"ocaml","label":"OCaml","variant":"Cohttp"},{"key":"php","label":"PHP","variant":"cURL"},{"key":"php","label":"PHP","variant":"Guzzle"},{"key":"php","label":"PHP","variant":"HTTP_Request2"},{"key":"php","label":"PHP","variant":"pecl_http"},{"key":"powershell","label":"PowerShell","variant":"RestMethod"},{"key":"python","label":"Python","variant":"http.client"},{"key":"python","label":"Python","variant":"Requests"},{"key":"r","label":"R","variant":"httr"},{"key":"r","label":"R","variant":"RCurl"},{"key":"ruby","label":"Ruby","variant":"Net::HTTP"},{"key":"shell","label":"Shell","variant":"Httpie"},{"key":"shell","label":"Shell","variant":"wget"},{"key":"swift","label":"Swift","variant":"URLSession"}],"languageOptions":[{"label":"C# - HttpClient","value":"csharp - HttpClient - C#"},{"label":"C# - RestSharp","value":"csharp - RestSharp - C#"},{"label":"cURL - cURL","value":"curl - cURL - cURL"},{"label":"Dart - http","value":"dart - http - Dart"},{"label":"Go - Native","value":"go - Native - Go"},{"label":"HTTP - HTTP","value":"http - HTTP - HTTP"},{"label":"Java - OkHttp","value":"java - OkHttp - Java"},{"label":"Java - Unirest","value":"java - Unirest - Java"},{"label":"JavaScript - Fetch","value":"javascript - Fetch - JavaScript"},{"label":"JavaScript - jQuery","value":"javascript - jQuery - JavaScript"},{"label":"JavaScript - XHR","value":"javascript - XHR - JavaScript"},{"label":"C - libcurl","value":"c - libcurl - C"},{"label":"NodeJs - Axios","value":"nodejs - Axios - NodeJs"},{"label":"NodeJs - Native","value":"nodejs - Native - NodeJs"},{"label":"NodeJs - Request","value":"nodejs - Request - NodeJs"},{"label":"NodeJs - Unirest","value":"nodejs - Unirest - NodeJs"},{"label":"Objective-C - NSURLSession","value":"objective-c - NSURLSession - Objective-C"},{"label":"OCaml - Cohttp","value":"ocaml - Cohttp - OCaml"},{"label":"PHP - cURL","value":"php - cURL - PHP"},{"label":"PHP - Guzzle","value":"php - Guzzle - PHP"},{"label":"PHP - HTTP_Request2","value":"php - HTTP_Request2 - PHP"},{"label":"PHP - pecl_http","value":"php - pecl_http - PHP"},{"label":"PowerShell - RestMethod","value":"powershell - RestMethod - PowerShell"},{"label":"Python - http.client","value":"python - http.client - Python"},{"label":"Python - Requests","value":"python - Requests - Python"},{"label":"R - httr","value":"r - httr - R"},{"label":"R - RCurl","value":"r - RCurl - R"},{"label":"Ruby - Net::HTTP","value":"ruby - Net::HTTP - Ruby"},{"label":"Shell - Httpie","value":"shell - Httpie - Shell"},{"label":"Shell - wget","value":"shell - wget - Shell"},{"label":"Swift - URLSession","value":"swift - URLSession - Swift"}],"layoutOptions":[{"value":"classic-single-column","label":"Single Column"},{"value":"classic-double-column","label":"Double Column"}],"versionOptions":[],"environmentOptions":[{"value":"0","label":"No Environment"},{"label":"UAT","value":"26464826-b64a5893-91e8-4731-8912-b7377c58098c"}],"canonicalUrl":"https://alexapidoc.medtechglobal.com/view/metadata/2sAXjNYWSC"}