Web Service:PR-WS-2: Difference between revisions

From IHRIS Wiki
No edit summary
No edit summary
 
(10 intermediate revisions by the same user not shown)
Line 3: Line 3:
  |description=Fetches a HC Professional Enterprise ID for the professional specified by the professional ID parameter.
  |description=Fetches a HC Professional Enterprise ID for the professional specified by the professional ID parameter.
  |applications=Interoperability Layer, Point-Of-Care?
  |applications=Interoperability Layer, Point-Of-Care?
  |url=/ws/rest/v1/professional/epid/query
  |url=/ws/rest/v2/query/providers
  |params=The following query parameters are allowed:
  |params=The following query parameters are allowed:
*${given_name} The professional’s given name.
*${size} The maximum number number of EPIDs to returnDefaults to 50.
*${family_name} The professional’s family name.
*${start} The starting offset for listing EPIDsDefaults to 10.
*${dob} The date of birth of the professional. This date can be partial, both the day and month may be left off if required. This should be specified in the following format: dd/MM/yyyy<p/> Eg. ?dob=04/06/1986 or ?dob=06/1986 or ?dob=1986
*The following search possible parameters will be "and"ed together
*{format}The response format.  One of:
**${firstname} The provider's  given name.  
**HL7
**${surname} The professional’s family name.
**JSON
**${fosaid} The FOSAID for the facility a provider is posted to.
${ws.size} the requested number of EIDs to return
**${location} The code for the organizational unit under which the provider is posted.  
${ws.start} the starting offset for listing IDS
**${category} The category (or cadre) of the provider.   
*${gender} The gender of the professional. ‘m’ or ‘f’ are valid arguments.
**${type} The type of the provider 'PPS' for paid-public sector or 'CHW' for community health worker.  
*${addr_province} The province where the professional lives. See [Rwanda_Administrative_Structure_ISO_codes.ods] for codes to use with this parameter.
*{format}The response format. One of 'hl7' or 'json'.
*${addr_district} The district where the professional lives. See Rwanda_Administrative_Structure_ISO_codes.ods for codes to use with this parameter.
  |example=?foasid=123&size=2&start=10
*${addr_sector} The sector where the professional lives. See Rwanda_Administrative_Structure_ISO_codes.ods for codes to use with this parameter.
*${addr_village} The village where the professional lives. See Rwanda_Administrative_Structure_ISO_codes.ods for codes to use with this parameter.
*{addr_cell} The cell where the professional lives. See Rwanda_Administrative_Structure_ISO_codes.ods for codes to use with this parameter.
*{birth_country} The country that the professional was born in. The value of this parameter should be one of the standard list of ISO country codes.
*{tel_number} The professional’s telephone number (cell phone or land line).
*{edu_level} The education level of the professional. Valid values are
**0 = Pre-primary education
**1 = Primary education or first stage of basic education
**2 = Lower secondary or second stage of basic education
**3 = (Upper) secondary education
**4 = Post-secondary non-tertiary education
**5 = First stage of tertiary education
**6 = Second stage of tertiary education
${reg_body} The Registration Body of the professional. Valid values are
**1 = Physicians
**2 = Nurses
**3 = Not applicable
${reg_status} The Registration Status of the professionalValid values are:
**1 = Active / full registration
**2 = Limited registration
**3 = Student registration
**4 = Suspended registration
**5 = Terminated registration
**6 = Nullified
**7 = Pending
**8 = Inactive registration
${occ_group} The Occupation Group of the professional.  See RwandaHCFacilitiesHCProfessionalRegistriesv1.7July18_pilot_final.docx - Annex 2 for the codes to use with this parameter.
${occ_code} The Occupation Code of the professional.See RwandaHCFacilitiesHCProfessionalRegistriesv1.7July18_pilot_final.docx - Annex 2 for the codes to use with this parameter.
${hours_per_week} Number of hours per week worked by the professional.
${hours_per_week_gt} The parameter with the ‘_gt’ suffix is used for queries for hour per week greater than the given value.
${hours_per_week_lt} The parameter with the ‘_lt’ suffix is used for queries for hour per week less than the given value.
  |example=?gender=m&reg_body=2
  |response=HTTP 200 - OK
  |response=HTTP 200 - OK
The HTTP response body will contain a list of matching EIDSs as specified by the ${format} parameter:
The HTTP response body will contain a list of matching EIDSs as specified by the ${format} parameter:
*${format}=JSON.  Example:<pre>
*If ${format}=json.  Example:
{
{
     "epids": {211312,131241241,12398213,12312,123}
     providers: {
     "total_size" : 300,
      211312: {
     "start": 10
        providerDetails : 'http://rhea-pr.ihris.org/webservices/details/provider?epid=211312',
        editProvider : 'http://rhea-pr.ihris.org/webservices/edit/provider?epid=211312',
        addPost : 'http://rhea-pr.ihris.org/webservices/add/post?epid=211312',
        queryPosts : 'http://rhea-pr.ihris.org/webservices/details/post?epid=211312',
        viewProvider : 'http://rhea-pr.ihris.org/providerregistry/view?id=person%7C23123123
      },
      131241241: {
        providerDetails : 'http://rhea-pr.ihris.org/webservices/details/provider?epid=131241241',
        editProvider : 'http://rhea-pr.ihris.org/webservices/edit/provider?epid=131241241',
        addPost : 'http://rhea-pr.ihris.org/webservices/add/post?epid=131241241',
        queryPosts : 'http://rhea-pr.ihris.org/webservices/details/post?epid=131241241',
        viewProvider : 'http://rhea-pr.ihris.org/providerregistry/view?id=person%7C31234
      },
    },
     total_size : 300,
     start: 10
}
}
</pre>
*${format}=hl7. one per professional that matches the criteria, that contains the details of that professional. These messages will be contained within a RSS feed XML message. HL7v2 message specification and mapping:
*${format}=HL7. one per professional that matches the criteria, that contains the details of that professional. These messages will be contained within a RSS feed XML message.
** The RSS XML will contain a list of HL7 message in each item element.  See [http://www.google.com/url?q=http%3A%2F%2Fjira.jembi.org%2Fwiki%2Fdownload%2Fattachments%2F8912902%2FQueryProfessionalRSS.xml&sa=D&sntz=1&usg=AFQjCNEYi8ytZRJPvq8fWsoqQ1VqAToIAg QueryProfessionalRSS.xml]
** The HL7 v2.5 PMU_B01 messages for each professional will be specified as in  [https://docs.google.com/spreadsheet/ccc?key=0Ah8KVMJr8h4pdFlQMjNyMDh0dzhUSlJkWVgyd3lUZGc Register-or-Query-Professional]
  |error=*HTTP 500 - Server Error - If the server encountered an error.
  |error=*HTTP 500 - Server Error - If the server encountered an error.
*HTTP 400 - Bad Request - If the parameters are malformed.
*HTTP 400 - Bad Request - If the parameters are malformed.

Latest revision as of 08:37, 31 October 2012

Web Service: PR-WS-2 Query For Providers


Fetches a HC Professional Enterprise ID for the professional specified by the professional ID parameter.

URL /ws/rest/v2/query/providers
GET Parameters The following query parameters are allowed:
  • ${size} The maximum number number of EPIDs to return. Defaults to 50.
  • ${start} The starting offset for listing EPIDs. Defaults to 10.
  • The following search possible parameters will be "and"ed together
    • ${firstname} The provider's given name.
    • ${surname} The professional’s family name.
    • ${fosaid} The FOSAID for the facility a provider is posted to.
    • ${location} The code for the organizational unit under which the provider is posted.
    • ${category} The category (or cadre) of the provider.
    • ${type} The type of the provider 'PPS' for paid-public sector or 'CHW' for community health worker.
  • {format}The response format. One of 'hl7' or 'json'.
GET Response HTTP 200 - OK

The HTTP response body will contain a list of matching EIDSs as specified by the ${format} parameter:

  • If ${format}=json. Example:

{

    providers: {
      211312: {
        providerDetails : 'http://rhea-pr.ihris.org/webservices/details/provider?epid=211312',
        editProvider : 'http://rhea-pr.ihris.org/webservices/edit/provider?epid=211312',
        addPost : 'http://rhea-pr.ihris.org/webservices/add/post?epid=211312',
        queryPosts : 'http://rhea-pr.ihris.org/webservices/details/post?epid=211312',
        viewProvider : 'http://rhea-pr.ihris.org/providerregistry/view?id=person%7C23123123
      },
      131241241: {
        providerDetails : 'http://rhea-pr.ihris.org/webservices/details/provider?epid=131241241',
        editProvider : 'http://rhea-pr.ihris.org/webservices/edit/provider?epid=131241241',
        addPost : 'http://rhea-pr.ihris.org/webservices/add/post?epid=131241241',
        queryPosts : 'http://rhea-pr.ihris.org/webservices/details/post?epid=131241241',
        viewProvider : 'http://rhea-pr.ihris.org/providerregistry/view?id=person%7C31234
      },
    },
    total_size : 300,
    start: 10

}

  • ${format}=hl7. one per professional that matches the criteria, that contains the details of that professional. These messages will be contained within a RSS feed XML message. HL7v2 message specification and mapping:
GET Error
  • HTTP 500 - Server Error - If the server encountered an error.
  • HTTP 400 - Bad Request - If the parameters are malformed.
GET Example /ws/rest/v2/query/providers/?foasid=123&size=2&start=10
Notes Need to good way for limiting response length. See A collection: the list of bugs in the Launchpad API

Other Resources: Use Case:PR-WS-2