Phone: 1-800-624-8832 | Email: hsms.support@henryschein.com | Help Center

API

MicroMD EMR OpenAPI Version 1.0

This documentation provides access information for searching and fetching patient data from the Common Clinical Data Set utilizing MicroMD EMR OpenAPI’s. The intended purpose satisfies the requirements of 2015 CEHRT Regulations § 170.315(g)(7), § 170.315(g)(8), and § 170.315(g)(9).

Server Address:

WebAddress of Practice Server containing the patient data to be accessed

Application Element:

ApplicationName Variable is used to let the system know what set of APIs

PracticeAccount Variable is used to validate access and log what practice is requesting data

DataAction Element:

Action Variable is used to direct the call to the right api

Parameters Element:

Various Parameters based on API

ApplicationName – PatRelatedHealthInfo:

DataAction – RegisterPractice:

Parameters:

    • VendorAccount – vendor access id
    • Name – name of the practice registering
    • Contact – contact name at the practice registering
    • Email – email address for the contact and/or practice registering
    • Phone – phone of the contact and/or practice registering
    • Address – address of the practice registering
    • Zip – zip code of the practice registering

Returns:

  • rtn Element
    • success Attribute
      1. true – made it to the GetPatIdentifier API
        1. VendorAccount Attribute
          1. This is the valid Vendor Account ID passed during registration
        2. PracticeAccount Attribute
          1. This is the Practice Account ID that will need to be used when making patient related data api calls
        3. false
          1. error Attribute
            1. VendorAccount – error with the VendorAccount Variable
              1. msg Attribute
                1. not provided – the Vendor Account ID was not provided
                2. not valid – the Vendor Account ID provided was not valid

 

Example Call:

  • https://127.0.0.1:9053/wsDataAction.aspx?XMLData=<root><Application ApplicationName=”PatRelatedHealthInfo” PracticeAccount=”RegisterPractice”/><DataAction action=”GetPatIdentifier” /><parameters VendorAccount=”00a0aa0a-00a0-00a0-0000-aaa0a0a00a0a” Name=”Practice Name” Contact=”Contact Name” Phone=”(555) 555-5555″ Email=”email@ email.com” Address=”760 Boardman-Canfield Rd.” Zip=”00000″/></root>

Example Return:

  • <root><rtn success=”false” error=”Vendor” msg=”not provided”/></root>
  • <root><rtn success=”false” error=”Vendor” msg=”not valid”/></root>
  • <root><rtn success=”false” error=”Practice” msg=”Name, Contact, and Email or Phone needed for registration”/></root>
  • <root><rtn success=”true” VendorAccount=”00a0aa0a-00a0-00a0-0000-aaa0a0a00a0a” PracticeAccount=”11b1bb1b-11b1-11b1-1111-bbb1b1b11b1b”/></root>

 

ApplicationName – PatRelatedHealthInfo:

DataAction – GetPatIdentifier:

Parameters:

  • PracticeAccount – Registered guid from the RegisterPractice API
  • UserID – Practice account ID for the authorized user
  • UserName – Practice account username for the authorized user
  • UserPWD – Practice account password for the authorized user
  • ssn – social security number of the patient
  • LastName – last name of the patient
  • FirstName – first name of the patient
  • dob – date of birth of the patient
  • Address – address of the patient
  • Zip – zip code of the patient
  • Phone – phone of the patient
  • Email – email of the patient

Returns:

  • rtn Element
    • success Attribute
      1. true – made it to the GetPatIdentifier API
        1. Pat Element
          1. Found Attribute
            1. true – patient found
              1. UniqueIdentifier Variable – PatientID to pass back to other API for Patient data
            2. False – patient not found
          2. false
            1. error Attribute
              1. ApplicationName – error with the ApplicationName Variable
              2. Action – Error with the Action Variable
  • CatchAll – Catch All error

Example Call:

  • https://127.0.0.1:9053/wsDataAction.aspx?XMLData=<root><Application ApplicationName=”PatRelatedHealthInfo” PracticeAccount=”11b1bb1b-11b1-11b1-1111-bbb1b1b11b1b” UserID=”1″ UserName=”user” UserPWD=”password”/><DataAction action=”GetPatIdentifier” /><parameters ssn=”111-11-1111″ LastName=”LastName” FirstName=”FirstName” dob=”1900-01-01″ Address=”111 Main St.” Phone=”(555) 555-5555″ Email=”email@ email.com” Zip=”00000″/></root>

Example Return:

  • <root><rtn success=”true”/><pat found=”true” UniqueIdentifier=”0000-1000001″/></root>
  • <root><rtn success=”true”/><pat found=”false” UniqueIdentifier=”NA”/></root>
  • <root><rtn success=”false” error=”Action”/></root>
  • <root><rtn success=”false” error=”ApplicationName”/></root>
  • <root><rtn success=”false” error=”CatchAll”/></root>

DataAction – GetPatData:

Parameters:

  • PracticeAccount – Registered guid from the RegisterPractice API
  • UserID – Practice account ID for the authorized user
  • UserName – Practice account username for the authorized user
  • UserPWD – Practice account password for the authorized user
  • PatientID – PatientID returned from GetPatIdentifier API
  • StartDate – date range of data to start with (default to 1900-01-01 if not supplied)
  • EndDate – date range of data to end with (default to today if not supplied and StartDate not supplied, if not supplied and StartDate supplied then set to StartDate)
  • CDA – whether to return the Patient’s full CCDA (default to false if not present) *true/false
  • Payers – whether to return the Insurance (default to false if not present) *true/false
  • Problems – whether to return the Problems (default to false if not present) *true/false
  • Allergies – whether to return the Allergies (default to false if not present) *true/false
  • Medications – whether to return the Medications (default to false if not present) *true/false
  • Immunizations – whether to return the Immunizations (default to false if not present) *true/false
  • LabResults – whether to return the LabResults (default to false if not present) *true/false
  • Vitals – whether to return the Vitals (default to false if not present) *true/false
  • FamHis – whether to return the Family History (default to false if not present) *true/false
  • SocHis – whether to return the Social History (default to false if not present) *true/false
  • Procedures – whether to return the Procedures (default to false if not present) *true/false
  • Encounters – whether to return the Encounters (default to false if not present) *true/false
  • Assessment – whether to return the Assessment (if Encounters is false always false, otherwise default to false if not present) *true/false
  • ReviewOfSystem – whether to return the Review Of System (if Encounters is false always false, otherwise default to false if not present *true/false
  • ReasonForVisit – whether to return the Reason of Visit (if Encounters is false always false, otherwise default to false if not present *true/false
  • ReasonForReferral – whether to return the Reason for Referral (if Encounters is false always to false, otherwise default to false if not present *true/false
  • MedsAdministered – whether to return the Medications Administered (if Encounters is false always to false, otherwise default to false if not present *true/false
  • Instructions – whether to return the Instructions for the Visit (if Encounters is false always to false, otherwise default to false if not present *true/false
  • FunctionalStatus – whether to return the Functional or Mental Statis (default to false if not present *true/false
  • CareTeamMembers – whether to return the Care Team Members (default to false if not present *true/false
  • UDI – whether to return the Implantable Devices (default to false if not present *true/false
  • Goals – whether to return the Goals (default to false if not present *true/false
  • HealthConcerns – whether to return the Health Concerns (default to false if not present *true/false

Returns:

  • rtn Element *if present
    • success Attribute
      1. false
        1. error Element
          1. InvalidPatient – Incorrect Patient
          2. ApplicationName – error with the ApplicationName Variable
  • Action – Error with the Action Variable
  1. CatchAll – Catch All error
  • CDA in XML format

Example Call:

  • https://127.0.0.1:9053/wsDataAction.aspx?XMLData= <root><Application ApplicationName=”PatRelatedHealthInfo” PracticeAccount=”11b1bb1b-11b1-11b1-1111-bbb1b1b11b1b” UserID=”1″ UserName=”user” UserPWD=”password”/><DataAction action=”GetPatData”/><parameters PatientID=”0000-1000001″ Complete=”false” Allergies=”true” Medications=”true” StartDate=”2016-10-18″/></root>

Example Return:

  • Patient Related Data in XML format
  • CDA in XML format
  • <root><rtn success=”false” error=”InvalidPatient”/></root>
  • <root><rtn success=”false” error=”Action”/></root>
  • <root><rtn success=”false” error=”ApplicationName”/></root>
  • <root><rtn success=”false” error=”CatchAll”/></root>