openapi: 3.2.0 info: version: v1 title: Pharmacy Unified API v1.0 3rd-Party Integration API servers: - url: https://pharmacy-unified.api.medadvisor.com.au tags: - name: 3rd-Party Integration paths: /api/v1/account/3rdpartylogin: post: tags: - 3rd-Party Integration summary: Login with pharmacy username and password(encoded). description: 'To login into MedAdvisor''s system, send a POST request to /loginthirdparty and provide userName and password which is encoded by Base64-encoded UTF8 string. MedAdvisor will provide integrators with a clientId and a clientSecret. Consequently, MedAdvisor is going to return a token, which is used for authentication purposes in APIs requiring token-based authentication. ' operationId: Account_LoginPharmacy responses: '200': description: OK content: application/json: schema: type: object text/json: schema: type: object application/xml: schema: type: object text/xml: schema: type: object '400': description: Bad Request content: application/json: schema: $ref: '#/components/schemas/MedAdvisor.HSH.Core.Structure.OperationResult_1__MedAdvisor.HSH.Core.Structure.IdResult__MedAdvisor.PharmacyUnifiedAPI__Version_5.85.0.0__Culture_neutral__PublicKeyToken_null' text/json: schema: $ref: '#/components/schemas/MedAdvisor.HSH.Core.Structure.OperationResult_1__MedAdvisor.HSH.Core.Structure.IdResult__MedAdvisor.PharmacyUnifiedAPI__Version_5.85.0.0__Culture_neutral__PublicKeyToken_null' application/xml: schema: $ref: '#/components/schemas/MedAdvisor.HSH.Core.Structure.OperationResult_1__MedAdvisor.HSH.Core.Structure.IdResult__MedAdvisor.PharmacyUnifiedAPI__Version_5.85.0.0__Culture_neutral__PublicKeyToken_null' text/xml: schema: $ref: '#/components/schemas/MedAdvisor.HSH.Core.Structure.OperationResult_1__MedAdvisor.HSH.Core.Structure.IdResult__MedAdvisor.PharmacyUnifiedAPI__Version_5.85.0.0__Culture_neutral__PublicKeyToken_null' '404': description: Not Found content: 'application/json ( Not found or feature is not available) ': example: "{\n \"errorData\": {},\n \"result\": 0,\n \"resultMessage\": null,\n \"data\": {\n \"httpStatusCode\": 404,\n \"result\": 0,\n \"resultMessage\": \"Entity not found.\"\n }\n}" deprecated: false requestBody: content: application/json: schema: $ref: '#/components/schemas/MedAdvisor.PharmacyUnifiedAPI.v1.Models.AuthLoginPharmacy' example: userName: abc@example.com password_encoded: cGFzc3dvcmQ= clientId: clientId clientSecret: clientSecret text/json: schema: $ref: '#/components/schemas/MedAdvisor.PharmacyUnifiedAPI.v1.Models.AuthLoginPharmacy' example: userName: abc@example.com password_encoded: cGFzc3dvcmQ= clientId: clientId clientSecret: clientSecret application/xml: schema: $ref: '#/components/schemas/MedAdvisor.PharmacyUnifiedAPI.v1.Models.AuthLoginPharmacy' example: userName: abc@example.com password_encoded: cGFzc3dvcmQ= clientId: clientId clientSecret: clientSecret text/xml: schema: $ref: '#/components/schemas/MedAdvisor.PharmacyUnifiedAPI.v1.Models.AuthLoginPharmacy' example: userName: abc@example.com password_encoded: cGFzc3dvcmQ= clientId: clientId clientSecret: clientSecret application/x-www-form-urlencoded: schema: $ref: '#/components/schemas/MedAdvisor.PharmacyUnifiedAPI.v1.Models.AuthLoginPharmacy' example: userName: abc@example.com password_encoded: cGFzc3dvcmQ= clientId: clientId clientSecret: clientSecret description: The identity model for logging in required: true /api/v1/drug/escript/{token}: get: tags: - 3rd-Party Integration summary: Retrieve details of a electronic prescription from PDS, given a EScript token description: "Patient is going to transfer this token, medication, patient information... from Mobile Patient App to MedAdvisor. \nDuring the MedAdvisor's process, patient can look into the information about medication, quantity, status... in Mobile Patient App, by making an API call GET /escript/{token} to retrieve all the information mentioned above. \nIntegrators put the token of the dispensation into parameters request, MedAdvisor responses dispense information" operationId: Drug_RetrieveEPrescription3rdParty parameters: - name: token in: path description: The EScript token required: true schema: type: string responses: '200': description: OK content: application/json: schema: type: object text/json: schema: type: object application/xml: schema: type: object text/xml: schema: type: object '400': description: Bad Request content: application/json: schema: $ref: '#/components/schemas/MedAdvisor.HSH.Core.Structure.OperationResult_1__MedAdvisor.HSH.Core.Structure.Patient.PdsEScriptModel__MedAdvisor.PharmacyUnifiedAPI__Version_5.85.0.0__Culture_neutral__PublicKeyToken_null' text/json: schema: $ref: '#/components/schemas/MedAdvisor.HSH.Core.Structure.OperationResult_1__MedAdvisor.HSH.Core.Structure.Patient.PdsEScriptModel__MedAdvisor.PharmacyUnifiedAPI__Version_5.85.0.0__Culture_neutral__PublicKeyToken_null' application/xml: schema: $ref: '#/components/schemas/MedAdvisor.HSH.Core.Structure.OperationResult_1__MedAdvisor.HSH.Core.Structure.Patient.PdsEScriptModel__MedAdvisor.PharmacyUnifiedAPI__Version_5.85.0.0__Culture_neutral__PublicKeyToken_null' text/xml: schema: $ref: '#/components/schemas/MedAdvisor.HSH.Core.Structure.OperationResult_1__MedAdvisor.HSH.Core.Structure.Patient.PdsEScriptModel__MedAdvisor.PharmacyUnifiedAPI__Version_5.85.0.0__Culture_neutral__PublicKeyToken_null' '401': description: Unauthorized content: 'application/json ( Authorization has been denied for this request.) ': example: "{\n \"message\": \"Authorization has been denied for this request.\"\n}" '500': description: Internal Server Error content: 'application/json ( An error has occurred) ': example: "{\n \"message\": \"An error has occurred\"\n}" deprecated: false security: - Bearer: [] /api/v1/pharmacy/{id}: get: tags: - 3rd-Party Integration summary: Retrieve pharmacy detail information including services information , delivery settings, etc. description: Retrieve pharmacy detail information including services information , delivery settings, etc. operationId: Pharmacy_PharmacyDetail parameters: - name: id in: path description: Id of receiving information pharmacy required: true schema: type: integer format: int32 responses: '200': description: OK content: application/json: schema: type: object text/json: schema: type: object application/xml: schema: type: object text/xml: schema: type: object '400': description: Bad Request content: 'application/json ( Pharmacy not found) ': example: "{\n \"message\": \"Pharmacy not found.\"\n}" '401': description: Unauthorized content: 'application/json ( Authorization has been denied for this request.) ': example: "{\n \"message\": \"Authorization has been denied for this request.\"\n}" deprecated: false security: - Bearer: [] /api/v1/pharmacy/notify: post: tags: - 3rd-Party Integration summary: Push a message in Inbox of PlusOne. The detail of message displays description and the clickable URL of the order. operationId: Pharmacy_NotifyPharmacyOfECommerceOrder responses: '200': description: OK content: application/json: schema: type: object text/json: schema: type: object application/xml: schema: type: object text/xml: schema: type: object '400': description: Bad Request content: 'application/json ( The URL is invalid) ': example: "{\n \"message\": \"Result: -2, HttpStatusCode: 400, ResultMessage: The URL is invalid\"\n}" '401': description: Unauthorized content: 'application/json ( Need to authenticate first) ': example: "{\n \"message\": \"Result: -2, HttpStatusCode: 401, ResultMessage: Unauthorized request.\"\n}" deprecated: false security: - Bearer: [] requestBody: content: application/json: schema: $ref: '#/components/schemas/MedAdvisor.PharmacyUnifiedAPI.v1.Models.NotifyPharmacyModel' example: orderId: 1 description: Order description example url: http://www.example.com/index.html text/json: schema: $ref: '#/components/schemas/MedAdvisor.PharmacyUnifiedAPI.v1.Models.NotifyPharmacyModel' example: orderId: 1 description: Order description example url: http://www.example.com/index.html application/xml: schema: $ref: '#/components/schemas/MedAdvisor.PharmacyUnifiedAPI.v1.Models.NotifyPharmacyModel' example: orderId: 1 description: Order description example url: http://www.example.com/index.html text/xml: schema: $ref: '#/components/schemas/MedAdvisor.PharmacyUnifiedAPI.v1.Models.NotifyPharmacyModel' example: orderId: 1 description: Order description example url: http://www.example.com/index.html application/x-www-form-urlencoded: schema: $ref: '#/components/schemas/MedAdvisor.PharmacyUnifiedAPI.v1.Models.NotifyPharmacyModel' example: orderId: 1 description: Order description example url: http://www.example.com/index.html description: Need to provie an orderId, an order description and recall URL is valid. required: true components: schemas: MedAdvisor.HSH.Core.Structure.NoResult: type: object properties: {} MedAdvisor.HSH.Core.Structure.IdResult: type: object properties: id: type: string MedAdvisor.HSH.Core.Structure.Patient.eScriptModel: description: eScript Model type: object properties: drugId: format: int32 description: The drug id type: integer example: 40 drugActiveName: description: The drug name type: string example: AMINOCAPROIC ACID drugForm: description: The drug form type: string example: AMP drugStrength: description: The drug strength type: string example: 250MG/ML 20ML drugLabelName: description: The drug's label type: string example: AMICAR prescriptionDate: format: date-time description: The issued date type: string lastDispenseDate: format: date-time description: The last dispense date type: string quantity: format: int32 description: The quantity of drug type: integer example: 0.0 repeatsRemaining: format: int32 description: The number of time left for this prescription type: integer example: 2 totalRepeats: format: int32 description: The number of total repeats type: integer example: 4 token: description: The token for this escript type: string example: AMIN7 qrCodeForToken: description: The QR code for this token type: string example: qr code drugAmtCodes: description: The Drug Amt Codes type: array items: type: string example: - TPP - MPP instructions: description: The direction for use type: string example: drug's instruction status: format: int32 description: The token's status enum: - '0: NotDispensed' - '1: Dispensed' - '2: Cancelled' - '3: Expired' - '4: DeferredOrNotEscriptToken' - '5: Disabled' - '10: Invalid' - '-1000: Deferred' type: integer example: 0 source: format: int32 description: The token's source enum: - '0: Pds' - '1: Dispense' type: integer example: 0 patientId: format: int32 description: The patient id type: integer example: 123 isReadyInOrder: description: Allowed for order or not type: boolean example: true patientFullName: description: The Patient's Name type: string example: Patient Name isUnknownDrugEScript: description: The EScript can be trust or not type: boolean example: false unknownEscriptErrorHandling: description: Unknown escript error handling type: boolean example: false escriptName: description: Escript name type: string example: Escript name isUnmappedDrugEScript: type: boolean MedAdvisor.HSH.Core.Structure.Patient.PdsEScriptModel: type: object properties: errorStatus: format: int32 description: The Error status which response from service enum: - '0: Success' - '1: ErrorOther' - '2: InvalidToken' - '3: TokenNotFound' - '4: DrugNotMapped' - '5: PrescriptionDateNotFound' - '6: TotalRepeatsNotFound' - '7: SupplyNumberNotFound' - '8: NotEScriptToken' type: integer example: 0 errorMessage: description: The Result message of API call type: string example: success eScripts: description: Escript information type: array items: $ref: '#/components/schemas/MedAdvisor.HSH.Core.Structure.Patient.eScriptModel' MedAdvisor.PharmacyUnifiedAPI.v1.Models.NotifyPharmacyModel: description: Need to provie an orderId, an order description and recall URL is valid. type: object properties: orderId: format: int32 description: The ECommerce order's Id type: integer example: 1 description: description: The ECommerce order's description type: string example: Order description example url: description: The ECommerce order's URL type: string example: http://www.example.com/index.html ? MedAdvisor.HSH.Core.Structure.OperationResult_1__MedAdvisor.HSH.Core.Structure.Patient.PdsEScriptModel__MedAdvisor.PharmacyUnifiedAPI__Version_5.85.0.0__Culture_neutral__PublicKeyToken_null : type: object properties: errorData: $ref: '#/components/schemas/MedAdvisor.HSH.Core.Structure.NoResult' description: The Error Data which response from service readOnly: true example: {} result: format: int32 description: The Result of API call enum: - '0: NOTFOUND' - '1: SUCCESS' - '-13: SANITIZEDINTERNALSERVERERROR' - '-12: INVALIDCOMMONPASSWORD' - '-11: INVALIDREQUIREMENT' - '-10: BLOCKED' - '-9: UNAUTHORIZED' - '-8: TOOMANYREQUESTS' - '-7: SERVICEUNAVAILABLE' - '-6: BADREQUEST' - '-5: CONCURRENCYDELETED' - '-4: CONCURRENCY' - '-3: EXCEPTION' - '-2: VALIDATEFAILED' - '-1: FAILED' type: integer example: 0 resultMessage: description: The Result message of API call type: string example: success data: $ref: '#/components/schemas/MedAdvisor.HSH.Core.Structure.Patient.PdsEScriptModel' description: The data which returned by the service MedAdvisor.PharmacyUnifiedAPI.v1.Models.AuthLoginPharmacy: description: Login model for pharmacy access. type: object properties: userName: description: The username to be verified type: string example: abc@example.com password_encoded: description: The password to be verified, encoded in Base64. type: string example: cGFzc3dvcmQ= clientId: description: The client Id to be verified type: string example: clientId clientSecret: description: The client secret to be verified type: string example: clientSecret ? MedAdvisor.HSH.Core.Structure.OperationResult_1__MedAdvisor.HSH.Core.Structure.IdResult__MedAdvisor.PharmacyUnifiedAPI__Version_5.85.0.0__Culture_neutral__PublicKeyToken_null : type: object properties: errorData: $ref: '#/components/schemas/MedAdvisor.HSH.Core.Structure.NoResult' readOnly: true result: format: int32 enum: - 0 - 1 - -13 - -12 - -11 - -10 - -9 - -8 - -7 - -6 - -5 - -4 - -3 - -2 - -1 type: integer resultMessage: type: string data: $ref: '#/components/schemas/MedAdvisor.HSH.Core.Structure.IdResult' securitySchemes: Bearer: type: apiKey description: 'JWT Authorization header using the Bearer scheme. Example: "Authorization: Bearer {token}"' name: Authorization in: header