Table of Contents
Description
Calculates one or more exact ingredient doses based on the received patient weight, received dosing formula, and common frequencies for the specified medication known by STEPSTools. For each of these doses, the service compiles and scores a list of recommended formulations and rounded doses. The highest score reflects the rounded dose most recommended by STEPSTools for that frequency and calculated exact dose.
Example HTTP GET Message
Request
GET http://dev.pedstep.org/Rounding/GetRoundedDosesForMedByFrequency.aspx?_
authToken=0c849415-5f3d-4005-af0e-fa631b893804&
weightInKg=10.23&_
ageInMonths=15&_
dosingFormula=40%20mg/kg/day&_
vocab=NDDF&_
vocabId=003675&_
medicationString=Amoxicillin HTTP/1.1
Host: www.pedstep.org
Additional notes:
- Notice "%20" inserted in the value for the dosingFormula parameter. This is the HTTP equivalent of a space and is the required way to express a space when calling the service. If you send a request that contains some other encoding for a space, you may receive a "400 Bad Request" error from the web server. Optionally, you can omit the space entirely (ie. "40mg/kg/day") and the service should parse the dosingFormula correctly.
- Underscores in the above example are not actual characters which should be used in a real web service request. These are included only to indicate continuation of a single line.
- During development, you will use the STEPSTools test platform at dev.pedstep.org as shown above. When you are ready to go live, you will need to request that you account be upgraded to production level and use our production domain at www.pedstep.org. The test domain is designated for both STEPSTools and vendor testing so as to minimally affect production users. The production domain is reserved for production users and a more stable platform with less-frequent, managed changes to the STEPSTools codebase.
- Explanations of the input parameters and output values of the service are detailed in the following sections.
Response
Input Parameters
| Tag name |
Type |
Description |
Required |
| authToken |
string |
Token for authenticating to the service. Read more here |
yes |
| vocab |
string |
An abbreviation identifying the medication vocabulary that your system uses (Example: "NDDF"). Currently, STEPSTools only supports abbreviations for First DataBank ("NDDF") and Medispan ("MDDB"). We hope, in the future, to add support for all vocabularies covered by RxNorm. To see a list of these, click here. While this parameter is not required, it is strongly preferred along with the vocabId for faster, more accurate matching of your medication to our knowledge-base as well as encoding of dose formulations that the service returns. |
no |
| vocabId |
string |
A code from the vocabulary specified in "vocab" which identifies the medication being prescribed (Example: "003675"). While this parameter is not required, it is preferred along with the vocab for faster, more accurate matching of your medication to our knowledge-base. |
no |
| medicationString |
string |
A string of text which represents the medication being prescribed (Example: "Amoxicillin"). If vocab and vocabId are not specified, this parameter is required for matching of your medication to our knowledge-base. STEPSTools recommends including this even if you are specifying vocab and vocabId because the STEPSTools algorithm will attempt to identify the medication based on this value if it is unable to identify the med using the supplied vocab and vocab id. |
yes |
| weightInKg |
decimal |
The weight of the patient in kilograms (Example: "15.87"). You should not specify the units (ie. "lbs"). Kg is assumed. You should only specify the number of kilograms. |
yes |
| ageInMonths |
integer |
The age of the patient in months (Example: "22"). You should not specify the units (ie. "yrs"). Months is assumed. You should only specify the number of months. |
yes |
| dosingFormula |
string |
The weight-based dosing formula that the prescriber wants to use for the dose (Example: "40 mg/kg/day"). Please, note that you should use the HTTP equivalent (ie. "%20") of a space when expressing a space in a call to the service. If you send a request that contains some other encoding for a space, you may receive a "400 Bad Request" error from the web server. Optionally, you can omit the space entirely (ie. "40mg/kg/day") and the service should parse the dosingFormula correctly. |
yes |
| frequency |
string |
The number of times per day that the medication is meant to be administered as prescribed by the e-prescribing end user. This can be expressed using a standard abbreviation (Example: "BID" for "two times per day") or as an integer value (Example: "2" to express "two times per day"). |
no |
Output XML
If the service is able to take the provided input and run the STEPSTools rounding algorithm, it will return four sections of xml: Inputs, Log Information, Version Information, and Recommendations. The Recommendations section will contain a recommendation for each common frequency for the medication. Each recommendation is broken into three sections of XML: Givens, Ranges and Possible Doses. All of the above listed sections and sub-sections are described in more detail below. If the service encounters a problem, it will return an error message. For explanation of STEPSTools error messaging, please see our Error Messages documentation.
Inputs
The inputs section contains those values which were received by STEPSTools from your system or were assumed as inputs by the STEPSTools rounding algorithm. This is provided as feedback to help developers who are troubleshooting calls to the service. The xml is a series of "ServiceInput" nodes, one for each input that is either received or assumed. Each "ServiceInput" node has the following child nodes:
| Tag name |
Type |
Description |
| ValidParameter |
string |
This is the name of the parameter (ie. "medicationString"). |
| Value |
string |
The is the value for the valid parameter (ie. "AMOXICILLIN 400 MG/5ML PO SUSR"). If the Input is Assumed (see next tag), this value may have been derived based on other input your provided. For example, if you called the service with a vocab of "NDDF", a vocabId of "003675" and no medicationString, then this tag will contain the string representation of the medication that STEPSTools found for NDDF 003675. In this example, that would be "Amoxicillin" |
| ReceivedOrAssumed |
string |
This indicates whether the value was received from your system or assumed by STEPSTools. If "assumed", the Value may have been derived based on other input (see previous tag for more information). |
Log Information
STEPSTools includes the date, time, and unique identifier for each recommendation made by the rounding service. This information will be critically important for both troubleshooting and analysis of usage data for the study. Tags in this section are as follows:
| Tag name |
Type |
Description |
| TimeStamp |
Date |
This node will contain the server date and time of the recommendation (ie. "1.3"). |
| LogGUID |
GUID |
This node will contain a 128 bit globally-unique identifier (GUID). VERY IMPORTANT: Users of the service should include this GUID in their own logs. If a user experiences a problem with a recommendation from the service, this will help the STEPSTools technical team troubleshoot the specific recommendation. This id will also be very important for service users participating in the STEPSTools study to link usage data back to the recommendation. Study participants should store this GUID in a way that they can link to their own e-prescribing system's session or prescription data. |
Version Information
STEPSTools includes the current version number and release date for troubleshooting purposes in the event that a certain release introduces problems for users of the service. When reporting a problem to the STEPSTools technical team, it may be helpful to have this information. Registered users of the service can view details of each release here. Tags in this section are as follows:
| Tag name |
Type |
Description |
| Number |
decimal |
This node will contain the decimal number (ie. "1.3") for the current version of the service. |
| ReleaseDate |
Date |
This node will contain the release date (ie. "2010-03-01 12:07:39") for the current version of the service. |
Recommendations
The Recommendations section is the largest and most complex part of the STEPSTools Rounding service response. It is a collection of one or more recommendations corresponding to one or more commonly-used frequencies when administering the specified medication. Within each recommendation, there are three sub-sections: Givens, Ranges and Possible Doses.
Givens
STEPSTools takes the values provided to the service as inputs and derives one or more frequencies and calculated doses. These frequencies and calculated, exact doses are the basis for the rest of the recommendation. In other words, the rounded doses in the Possible Doses section are recommended as reflected by their scores GIVEN that the they will be administered at the frequency in this section.
| Tag name |
Type |
Description |
| Explanation |
string |
This is a static explanation of this section. It always says "The parameters and values in this Givens section are the basis for everything else in this Rounding Recommendation node." |
| Frequency |
node set |
This node set will contain nodes with an integer value "TimesPerDay" (ie. "1") and an "Explanation". STEPSTools has determined that this is a common frequency for the medication you are specifying. This frequency is used to calculate and individual ingredient dose which is the basis for the rounding recommendation that follows. |
| CalculatedDose |
node set |
This node set will contain nodes with a decimal "Amount", a string "Units", and an "Explanation". This dose is derived from the specified dosing formula, patient weight, and common frequency from the previous node. &nbps; This calculated dose is used as the basis for the rounding recommendation that follows. |
Ranges
The Ranges section contains 4 sets of ranges. These are also provided as feedback for developers to make transparent how STEPSTools determined appropriate doses for the medication, patient weight and patient age which were specified.
Ranges: Absolute Range
STEPSTools uses recommendations in the pediatric literature to detemine an absolute range that a reasonable dose would fall within. The literature expresses most of these recommendations based on patient weight, age and, in many cases, frequency, so STEPSTools uses those inputs to help determine the absolute range for the patient weight, age and frequency specified. The absolute range section contains the following child nodes and values.
| Tag name |
Type |
Description |
| High |
decimal |
The absolute high above which the medication should not be dosed. |
| HighUnits |
string |
The units for the high end of the range. |
| Low |
decimal |
The absolute low below which the medication should not be dosed. |
| LowUnits |
string |
The units for the low end of the range. |
| Explanation |
string |
An explanat message from the STEPSTools algorithm providing additional detail about how the range was derived. |
Ranges: Rounding Range
STEPSTools uses a body of research in our knowledge base to determine an appropriate rounding range for the medication specified. This is different than the absolute range. In some cases, it may be within the absolute range or overlap it. The rounding range section contains the following child nodes and values.
| Tag name |
Type |
Description |
| High |
decimal |
The high above which the dose is not recommended to be rounded. |
| HighUnits |
string |
The units for the high end of the range. |
| Low |
decimal |
The low below which the dose is not recommended to be rounded. |
| LowUnits |
string |
The units for the low end of the range. |
| Explanation |
string |
An explanatory message from the STEPSTools algorithm providing additional detail about how the range was derived. |
Ranges: Working Range
STEPSTools takes the absolute and rounding ranges to create a single range to work with for determining appropriate doses. The working range section contains the following child nodes and values.
| Tag name |
Type |
Description |
| High |
decimal |
The high above which the dose is not recommended to be rounded. |
| HighUnits |
string |
The units for the high end of the range. |
| Low |
decimal |
The low below which the dose is not recommended to be rounded. |
| LowUnits |
string |
The units for the low end of the range. |
| Explanation |
string |
A explanatory message from the STEPSTools algorithm providing additional detail about how the range was derived. |
Ranges: Possible Ranges List
STEPSTools takes the Working range and known formulations of the specified medication to calculate lay dose ranges for each formulation. For example, if STEPSTools determines that an individual calculated dose of 200 mg of Amoxicillin can be rounded up or down between 170 mg and 230 mg, for a 250 mg/5 mL formulation, STEPSTools will calculate a possible range of between 3.4 mL (equal to 170 mg) and 4.6 mL (equal to 230 mg). These ranges are uses to determine the possible doses in the final section.
| Tag name |
Type |
Description |
| formulation |
object |
This node will contain additional values identifying the formulation being used for the dose. For a breakdown of these values and their meaning, click here. |
| HighLayAmount |
decimal |
The high above which the dose is not recommended to be rounded for this formulation. (ie. "4.6")
|
| HighLayUnits |
string |
The units for the high end of the range (ie. "mL", "tablet"). |
| LowLayAmount |
decimal |
The low below which the dose is not recommended to be rounded for this formulation. (ie. "3.4") |
| LowLayUnits |
string |
The units for the low end of the range (ie. "mL", "tablet"). |
Possible Doses
The answer from the system is contained in the Possible Doses section. Possible ranges from the previous section are used to determine reasonable formulations and doses. These doses are then scored to rank the best choices based on STEPSTools rounding algorithm. The Possible Doses section contains a message indicating whether the service was able to round the dose followed by a "PossibleDosesList" node containing the series of "PossibleLayDoseRange" nodes with the following values:
| Tag name |
Type |
Description |
| formulation |
object |
This node will contain additional values identifying the formulation being used for the dose. For a breakdown of these values and their meaning, click here. |
| doseAdministrableAmount |
decimal |
The units for the high end of the range (ie. "mL", "tablet"). |
| doseAdministrableUnits |
string |
The low below which the dose is not recommended to be rounded for this formulation. (ie. "3.4") |
| Score |
integer |
The score assigned to the dose. Highest scores indicate strongest recommendation. The list is sorted in descending order by score, so the strongest recommendation by STEPSTools is at the top of the XML node "PossibleDosesList". |
Practice Tool