ePCR API
Juvare offers application programming interfaces (APIs) to help clients and business partners optimize the interoperability of our solutions. The EMTrack ePCR API enables you to use REST and/or SOAP calls to retrieve a subset of NEMSIS v3.5.1 compliant patient data elements. The API uses the FindPatient operation to retrieve this data from EMTrack.
| Element Name | Element Number | Notes |
|---|---|---|
| EMS Agency Unique State ID | dAgency.01 | Header/DemographicGroup |
| EMS Agency Number | dAgency.02 | |
| EMS Agency State | dAgency.04 | 2-digit ANSI/FIPS |
| Last Name | ePatient.02 | |
| First Name | ePatient.03 | |
| Middle Name | ePatient.04 | |
| Home Address | ePatient.05 | StreetAddress2 attribute |
| Home State | ePatient.08 | Nil value when absent |
| Home ZIP Code | ePatient.09 | Nil value when absent |
| Country of Residence | ePatient.10 | ANSI country code |
| Race | ePatient.14 | Coded (2514xxx) |
| Age | ePatient.15 | |
| Age Units | ePatient.16 | Coded (2516xxx) |
| Date of Birth | ePatient.17 | |
| Phone Number | ePatient.18 | |
| Email Address | ePatient.19 | |
| State Issuing Driver's License | ePatient.20 | |
| Driver's License Number | ePatient.21 | |
| Sex | ePatient.25 | Coded 99919xxx; Nil value when absent |
| Primary Method of Payment | ePayment.01 | Nil value when absent |
| Insurance Company ID | ePayment.09 | InsuranceGroup, only when present |
| Insurance Company Name | ePayment.10 | |
| Group/Plan ID | ePayment.17 | |
| Subscriber Number | ePayment.18 | |
| Primary Card Holder | ePayment.19 | |
| Triage Classification for MCI Patient | eScene.08 | Coded; Nil value when absent |
| Date/Time of Symptom Onset | eSituation.01 | From STEMI assessment; Nil value when absent |
| Chief Complaint | eSituation.04 | Free text; omitted when blank |
| Provider's Primary Impression | eSituation.11 | Coded; Nil value when absent |
| Date/Time Last Known Well | eSituation.18 | From stroke assessment; Nil value when absent |
| Medical/Surgical History | eHistory.08 | ICD-10-CM; repeating |
| Narrative | eNarrative.01 | Meds / procedures / notes (free text) |
| Date/Time Vital Signs Taken | eVitals.01 | Per repeating VitalGroup |
| SBP | eVitals.06 | |
| DBP | eVitals.07 | |
| Mean Arterial Pressure | eVitals.09 | |
| Heart Rate | eVitals.10 | |
| Pulse Oximetry | eVitals.12 | |
| Respiratory Rate | eVitals.14 | |
| EtCO2 | eVitals.16 | EtCO2Type="3340001" attribute when valued |
| Blood Glucose Level | eVitals.18 | |
| Glasgow – Eye | eVitals.19 | |
| Glasgow – Verbal | eVitals.20 | |
| Glasgow – Motor | eVitals.21 | |
| Glasgow – Qualifier | eVitals.22 | |
| Glasgow Coma Score (total) | eVitals.23 | |
| Temperature | eVitals.24 | |
| AVPU | eVitals.26 | |
| Pain Scale Score | eVitals.27 | |
| Pain Scale Type | eVitals.28 | |
| Laboratory Date/Time | eLabs.01 | Repeating LabGroup |
| Laboratory Result Type | eLabs.03 | NEMSIS/ICD code |
| Laboratory Result | eLabs.04 | |
| Estimated Body Weight in Kilograms | eExam.01 | |
| Destination/Transferred To, Name | eDisposition.01 | |
| Destination/Transferred To, Code | eDisposition.02 | |
| Destination Street Address | eDisposition.03 | |
| Destination State | eDisposition.05 | |
| Destination ZIP Code | eDisposition.07 | |
| Destination GPS Location | eDisposition.09 |
To successfully retrieve information from EMTrack, your web service username and password must be included in the body of the API request for authentication. The position and format for your credentials is visible in the examples below. Your web service username and password are provided by Juvare.
| Parameter | Description |
|---|---|
| trackingNumber | Patient tracking or identification number. This number must be an exact match, but it is not case sensitive. |
| emsAgencyId | Identification number or code (alphanumeric, up to 100 characters) for the mobile provider that entered the patient data. This number is specified in EMTrack in the Agency Number field. |
Endpoint URL: https://emtrack.juvare.com/epcr/v3/epcrService/findPatient
Test Endpoint: https://emtrack.demo.juvare.com/epcr/v3/epcrService/findPatient
REST Request Example Using CURL
curl -X POST \
https://emtrack.demo.juvare.com/epcr/v3/epcrService/findPatient \
-H 'Content-Type: text/xml' \
-d '<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
<ns:FindPatientRequest xmlns:ns="http://emtrack.juvare.com/ws/epcr/v3/definitions">
<!-- Credentials provided by Juvare -->
<username>epcr</username>
<password>abc1234</password>
<!-- Patient tracking number (case insensitive) -->
<trackingNumber>patient1</trackingNumber>
<emsAgencyId>agency1</emsAgencyId>
</ns:FindPatientRequest>'
Sample Response
<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
<ns3:FindPatientResponse xmlns:ns2="http://www.nemsis.org" xmlns:ns3="http://emtrack.juvare.com/ws/epcr/v3/definitions">
<success>true</success>
<patientData>
<ns2:EMSDataSet>
<ns2:Header>
<ns2:DemographicGroup>
<ns2:dAgency.01>Springfield Fire & EMS</ns2:dAgency.01>
<ns2:dAgency.02>AGENCY123</ns2:dAgency.02>
<ns2:dAgency.04>29</ns2:dAgency.04>
</ns2:DemographicGroup>
<ns2:PatientCareReport UUID="f2dc9a5f-8ddf-47ed-829e-d41f30a5b3d3">
<ns2:ePatient>
<ns2:ePatient.PatientNameGroup>
<ns2:ePatient.02>Smith</ns2:ePatient.02>
<ns2:ePatient.03>John</ns2:ePatient.03>
<ns2:ePatient.04>A</ns2:ePatient.04>
</ns2:ePatient.PatientNameGroup>
<ns2:ePatient.05 StreetAddress2="Apt 4">123 Main St</ns2:ePatient.05>
<ns2:ePatient.07 NV="7701003"/>
<ns2:ePatient.08>25</ns2:ePatient.08>
<ns2:ePatient.09>12345</ns2:ePatient.09>
<ns2:ePatient.10>US</ns2:ePatient.10>
<ns2:ePatient.14>2514009</ns2:ePatient.14>
<ns2:ePatient.AgeGroup>
<ns2:ePatient.15>45</ns2:ePatient.15>
<ns2:ePatient.16>2516009</ns2:ePatient.16>
</ns2:ePatient.AgeGroup>
<ns2:ePatient.17>1981-01-25</ns2:ePatient.17>
<ns2:ePatient.18>555-123-4567</ns2:ePatient.18>
<ns2:ePatient.19>john.smith@example.com</ns2:ePatient.19>
<ns2:ePatient.20>17</ns2:ePatient.20>
<ns2:ePatient.21>D123-4567</ns2:ePatient.21>
<ns2:ePatient.25>9919003</ns2:ePatient.25>
</ns2:ePatient>
<ns2:ePayment>
<ns2:ePayment.01 NV="7701003"/>
<ns2:ePayment.InsuranceGroup>
<ns2:ePayment.09>INS001</ns2:ePayment.09>
<ns2:ePayment.10>Acme Health</ns2:ePayment.10>
<ns2:ePayment.17>Plan ID: PLAN1; Group ID: GRP9</ns2:ePayment.17>
<ns2:ePayment.18>SUB123</ns2:ePayment.18>
<ns2:ePayment.19>John Smith</ns2:ePayment.19>
</ns2:ePayment.InsuranceGroup>
<ns2:ePayment.50 NV="7701003"/>
</ns2:ePayment>
<ns2:eScene>
<ns2:eScene.01 NV="7701003"/>
<ns2:eScene.06 NV="7701003"/>
<ns2:eScene.07 NV="7701003"/>
<ns2:eScene.08>2708001</ns2:eScene.08>
<ns2:eScene.09 NV="7701003"/>
<ns2:eScene.18 NV="7701003"/>
<ns2:eScene.19 NV="7701003"/>
<ns2:eScene.21 NV="7701003"/>
</ns2:eScene>
<ns2:eSituation>
<ns2:eSituation.01>2026-01-25T08:30:00.000-06:00</ns2:eSituation.01>
<ns2:eSituation.02 NV="7701003"/>
<ns2:eSituation.PatientComplaintGroup>
<ns2:eSituation.04>Chest pain</ns2:eSituation.04>
</ns2:eSituation.PatientComplaintGroup>
<ns2:eSituation.07 NV="7701003"/>
<ns2:eSituation.08 NV="7701003"/>
<ns2:eSituation.09 NV="7701003"/>
<ns2:eSituation.11>R00.0</ns2:eSituation.11>
<ns2:eSituation.13 NV="7701003"/>
<ns2:eSituation.18 NV="7701003"/>
<ns2:eSituation.20 NV="7701003"/>
</ns2:eSituation>
<ns2:eHistory>
<ns2:eHistory.08>E10.8</ns2:eHistory.08>
</ns2:eHistory>
<ns2:eNarrative>
<ns2:eNarrative.01>Medications Administered:
01/25/2026 08:45 CST Aspirin 324mg
Procedures Performed:
01/25/2026 08:50 CST 12-Lead ECG
Notes:
01/25/2026 08:55 CST Patient stable By: John Smith</ns2:eNarrative.01>
</ns2:eNarrative>
<ns2:eVitals>
<ns2:eVitals.VitalGroup>
<ns2:eVitals.01>2026-01-25T09:09:43.000-06:00</ns2:eVitals.01>
<ns2:eVitals.02 NV="7701003"/>
<ns2:eVitals.BloodPressureGroup>
<ns2:eVitals.06>120</ns2:eVitals.06>
<ns2:eVitals.07>80</ns2:eVitals.07>
<ns2:eVitals.09>93</ns2:eVitals.09>
</ns2:eVitals.BloodPressureGroup>
<ns2:eVitals.HeartRateGroup>
<ns2:eVitals.10>80</ns2:eVitals.10>
</ns2:eVitals.HeartRateGroup>
<ns2:eVitals.12>98</ns2:eVitals.12>
<ns2:eVitals.14>16</ns2:eVitals.14>
<ns2:eVitals.16 ETCO2Type="3340001">40</ns2:eVitals.16>
<ns2:eVitals.18>100</ns2:eVitals.18>
<ns2:eVitals.GlasgowScoreGroup>
<ns2:eVitals.19>4</ns2:eVitals.19>
<ns2:eVitals.20>5</ns2:eVitals.20>
<ns2:eVitals.21>6</ns2:eVitals.21>
<ns2:eVitals.22 NV="7701003"/>
<ns2:eVitals.23>15</ns2:eVitals.23>
</ns2:eVitals.GlasgowScoreGroup>
<ns2:eVitals.TemperatureGroup>
<ns2:eVitals.24>36.6</ns2:eVitals.24>
</ns2:eVitals.TemperatureGroup>
<ns2:eVitals.26>3326001</ns2:eVitals.26>
<ns2:eVitals.PainScaleGroup>
<ns2:eVitals.27>3</ns2:eVitals.27>
<ns2:eVitals.28>3328003</ns2:eVitals.28>
</ns2:eVitals.PainScaleGroup>
<ns2:eVitals.31 NV="7701003"/>
</ns2:eVitals.VitalGroup>
</ns2:eVitals>
<ns2:eLabs>
<ns2:eLabs.LabGroup>
<ns2:eLabs.01>2026-01-25T09:15:00.000-06:00</ns2:eLabs.01>
<ns2:eLabs.LabResultGroup>
<ns2:eLabs.03>3403043</ns2:eLabs.03>
<ns2:eLabs.04>100</ns2:eLabs.04>
</ns2:eLabs.LabResultGroup>
</ns2:eLabs.LabGroup>
</ns2:eLabs>
<ns2:eExam>
<ns2:eExam.01>85</ns2:eExam.01>
</ns2:eExam>
<ns2:eDisposition>
<ns2:eDisposition.DestinationGroup>
<ns2:eDisposition.01>General Hospital</ns2:eDisposition.01>
<ns2:eDisposition.02>FAC123</ns2:eDisposition.02>
<ns2:eDisposition.03>500 Hospital Way</ns2:eDisposition.03>
<ns2:eDisposition.05>IL</ns2:eDisposition.05>
<ns2:eDisposition.06 NV="7701003"/>
<ns2:eDisposition.07>12345</ns2:eDisposition.07>
<ns2:eDisposition.09>41.88,-87.63</ns2:eDisposition.09>
</ns2:eDisposition.DestinationGroup>
<ns2:eDisposition.16 NV="7701003"/>
<ns2:eDisposition.17 NV="7701003"/>
<ns2:eDisposition.19 NV="7701003"/>
<ns2:eDisposition.21 NV="7701003"/>
<ns2:eDisposition.22 NV="7701003"/>
<ns2:eDisposition.32 NV="7701003"/>
</ns2:eDisposition>
</ns2:PatientCareReport>
</ns2:Header>
</ns2:EMSDataSet>
</patientData>
</ns3:FindPatientResponse>
Endpoint URL: https://emtrack.juvare.com/epcr/v3/epcrService?wsdl
Test Endpoint: https://emtrack.demo.juvare.com/epcr/v3/epcrService?wsdl
SOAP Request Example Using CURL
curl -X POST \
https://emtrack.demo.juvare.com/epcr/v3/epcrService \
-H 'Content-Type: text/xml' \
-d '<soapenv:Envelope xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/" xmlns:def="http://emtrack.juvare.com/ws/epcr/v3/definitions">
<soapenv:Header />
<soapenv:Body>
<def:FindPatientRequest>
<username>epcr</username>
<password>abc1234</password>
<trackingNumber>patient1</trackingNumber>
<emsAgencyId>agency1</emsAgencyId>
</def:FindPatientRequest>
</soapenv:Body>
</soapenv:Envelope>'
Sample Response
<?xml version='1.0' encoding='UTF-8'?>
<S:Envelope xmlns:S="http://schemas.xmlsoap.org/soap/envelope/">
<S:Body>
<ns3:FindPatientResponse xmlns:ns2="http://www.nemsis.org" xmlns:ns3="http://emtrack.juvare.com/ws/epcr/v3/definitions">
<success>true</success>
<patientData>
<ns2:EMSDataSet>
<ns2:Header>
<ns2:DemographicGroup>
<ns2:dAgency.01>Springfield Fire & EMS</ns2:dAgency.01>
<ns2:dAgency.02>AGENCY123</ns2:dAgency.02>
<ns2:dAgency.04>29</ns2:dAgency.04>
</ns2:DemographicGroup>
<ns2:PatientCareReport UUID="f2dc9a5f-8ddf-47ed-829e-d41f30a5b3d3">
<ns2:ePatient>
<ns2:ePatient.PatientNameGroup>
<ns2:ePatient.02>Smith</ns2:ePatient.02>
<ns2:ePatient.03>John</ns2:ePatient.03>
<ns2:ePatient.04>A</ns2:ePatient.04>
</ns2:ePatient.PatientNameGroup>
<ns2:ePatient.05 StreetAddress2="Apt 4">123 Main St</ns2:ePatient.05>
<ns2:ePatient.07 NV="7701003"/>
<ns2:ePatient.08>25</ns2:ePatient.08>
<ns2:ePatient.09>12345</ns2:ePatient.09>
<ns2:ePatient.10>US</ns2:ePatient.10>
<ns2:ePatient.14>2514009</ns2:ePatient.14>
<ns2:ePatient.AgeGroup>
<ns2:ePatient.15>45</ns2:ePatient.15>
<ns2:ePatient.16>2516009</ns2:ePatient.16>
</ns2:ePatient.AgeGroup>
<ns2:ePatient.17>1981-01-25</ns2:ePatient.17>
<ns2:ePatient.18>555-123-4567</ns2:ePatient.18>
<ns2:ePatient.19>john.smith@example.com</ns2:ePatient.19>
<ns2:ePatient.20>17</ns2:ePatient.20>
<ns2:ePatient.21>D123-4567</ns2:ePatient.21>
<ns2:ePatient.25>9919003</ns2:ePatient.25>
</ns2:ePatient>
<ns2:ePayment>
<ns2:ePayment.01 NV="7701003"/>
<ns2:ePayment.InsuranceGroup>
<ns2:ePayment.09>INS001</ns2:ePayment.09>
<ns2:ePayment.10>Acme Health</ns2:ePayment.10>
<ns2:ePayment.17>Plan ID: PLAN1; Group ID: GRP9</ns2:ePayment.17>
<ns2:ePayment.18>SUB123</ns2:ePayment.18>
<ns2:ePayment.19>John Smith</ns2:ePayment.19>
</ns2:ePayment.InsuranceGroup>
<ns2:ePayment.50 NV="7701003"/>
</ns2:ePayment>
<ns2:eScene>
<ns2:eScene.01 NV="7701003"/>
<ns2:eScene.06 NV="7701003"/>
<ns2:eScene.07 NV="7701003"/>
<ns2:eScene.08>2708001</ns2:eScene.08>
<ns2:eScene.09 NV="7701003"/>
<ns2:eScene.18 NV="7701003"/>
<ns2:eScene.19 NV="7701003"/>
<ns2:eScene.21 NV="7701003"/>
</ns2:eScene>
<ns2:eSituation>
<ns2:eSituation.01>2026-01-25T08:30:00.000-06:00</ns2:eSituation.01>
<ns2:eSituation.02 NV="7701003"/>
<ns2:eSituation.PatientComplaintGroup>
<ns2:eSituation.04>Chest pain</ns2:eSituation.04>
</ns2:eSituation.PatientComplaintGroup>
<ns2:eSituation.07 NV="7701003"/>
<ns2:eSituation.08 NV="7701003"/>
<ns2:eSituation.09 NV="7701003"/>
<ns2:eSituation.11>R00.0</ns2:eSituation.11>
<ns2:eSituation.13 NV="7701003"/>
<ns2:eSituation.18 NV="7701003"/>
<ns2:eSituation.20 NV="7701003"/>
</ns2:eSituation>
<ns2:eHistory>
<ns2:eHistory.08>E10.8</ns2:eHistory.08>
</ns2:eHistory>
<ns2:eNarrative>
<ns2:eNarrative.01>Medications Administered:
01/25/2026 08:45 CST Aspirin 324mg
Procedures Performed:
01/25/2026 08:50 CST 12-Lead ECG
Notes:
01/25/2026 08:55 CST Patient stable By: John Smith</ns2:eNarrative.01>
</ns2:eNarrative>
<ns2:eVitals>
<ns2:eVitals.VitalGroup>
<ns2:eVitals.01>2026-01-25T09:09:43.000-06:00</ns2:eVitals.01>
<ns2:eVitals.02 NV="7701003"/>
<ns2:eVitals.BloodPressureGroup>
<ns2:eVitals.06>120</ns2:eVitals.06>
<ns2:eVitals.07>80</ns2:eVitals.07>
<ns2:eVitals.09>93</ns2:eVitals.09>
</ns2:eVitals.BloodPressureGroup>
<ns2:eVitals.HeartRateGroup>
<ns2:eVitals.10>80</ns2:eVitals.10>
</ns2:eVitals.HeartRateGroup>
<ns2:eVitals.12>98</ns2:eVitals.12>
<ns2:eVitals.14>16</ns2:eVitals.14>
<ns2:eVitals.16 ETCO2Type="3340001">40</ns2:eVitals.16>
<ns2:eVitals.18>100</ns2:eVitals.18>
<ns2:eVitals.GlasgowScoreGroup>
<ns2:eVitals.19>4</ns2:eVitals.19>
<ns2:eVitals.20>5</ns2:eVitals.20>
<ns2:eVitals.21>6</ns2:eVitals.21>
<ns2:eVitals.22 NV="7701003"/>
<ns2:eVitals.23>15</ns2:eVitals.23>
</ns2:eVitals.GlasgowScoreGroup>
<ns2:eVitals.TemperatureGroup>
<ns2:eVitals.24>36.6</ns2:eVitals.24>
</ns2:eVitals.TemperatureGroup>
<ns2:eVitals.26>3326001</ns2:eVitals.26>
<ns2:eVitals.PainScaleGroup>
<ns2:eVitals.27>3</ns2:eVitals.27>
<ns2:eVitals.28>3328003</ns2:eVitals.28>
</ns2:eVitals.PainScaleGroup>
<ns2:eVitals.31 NV="7701003"/>
</ns2:eVitals.VitalGroup>
</ns2:eVitals>
<ns2:eLabs>
<ns2:eLabs.LabGroup>
<ns2:eLabs.01>2026-01-25T09:15:00.000-06:00</ns2:eLabs.01>
<ns2:eLabs.LabResultGroup>
<ns2:eLabs.03>3403043</ns2:eLabs.03>
<ns2:eLabs.04>100</ns2:eLabs.04>
</ns2:eLabs.LabResultGroup>
</ns2:eLabs.LabGroup>
</ns2:eLabs>
<ns2:eExam>
<ns2:eExam.01>85</ns2:eExam.01>
</ns2:eExam>
<ns2:eDisposition>
<ns2:eDisposition.DestinationGroup>
<ns2:eDisposition.01>General Hospital</ns2:eDisposition.01>
<ns2:eDisposition.02>FAC123</ns2:eDisposition.02>
<ns2:eDisposition.03>500 Hospital Way</ns2:eDisposition.03>
<ns2:eDisposition.05>IL</ns2:eDisposition.05>
<ns2:eDisposition.06 NV="7701003"/>
<ns2:eDisposition.07>12345</ns2:eDisposition.07>
<ns2:eDisposition.09>41.88,-87.63</ns2:eDisposition.09>
</ns2:eDisposition.DestinationGroup>
<ns2:eDisposition.16 NV="7701003"/>
<ns2:eDisposition.17 NV="7701003"/>
<ns2:eDisposition.19 NV="7701003"/>
<ns2:eDisposition.21 NV="7701003"/>
<ns2:eDisposition.22 NV="7701003"/>
<ns2:eDisposition.32 NV="7701003"/>
</ns2:eDisposition>
</ns2:PatientCareReport>
</ns2:Header>
</ns2:EMSDataSet>
</patientData>
</ns3:FindPatientResponse>
</S:Body>
</S:Envelope>
For the sections it returns, the response represents missing data in two ways; you should treat both as "not provided":
-
NV="7701003" (Not Recorded): a NEMSIS field the interface supports but has no value for. This covers both fields the interface populates when data exists (for example, eSituation.18, eVitals.22, ePayment.01, eScene.08) and required fields the interface does not source from EMTrack at all (for example, ePatient.07; eScene.01/.06/.07/.09/.18/.19/.21; eSituation.02/.07/.08/.09/.13/.20; eVitals.02/.31; ePayment.50; eDisposition.06/.16/.17/.19/.21/.22/.32).
In either case the NV ("Not Values") attribute is set explicitly to say why the element is empty. (XML: NV="7701003"; JSON: { "NV": "7701003" }.)
-
Omitted entirely: a NEMSIS element the interface does not populate that the schema allows it to leave out:
-
optional (minOccurs="0")
-
repeating/list-valued
-
element-reference elements
These simply do not appear (for example, eSituation.10/.12, ePatient.06).
-
The difference is due to the generated NEMSIS classes declaring the mandatory single-valued elements @XmlElement(required = true, nillable = true), so an unset one must still appear (minOccurs ≥ 1). Rather than emit a bare xsi:nil="true" placeholder, which carries no reason, the interface routes every such element through its "Not Recorded" path so that it carries NV="7701003".
Optional, repeating, and element-reference fields have no such requirement and are omitted when unset.
Response Format
The endpoint returns JSON by default and XML on Accept: application/xml. The JSON variant additionally drops any null or empty ([]) properties, so absent data never appears as null. The XML variant naturally omits unset optional elements.
eHistory is an exception to this rule. eHistory is required, so empty history will appear as {}.
You should treat an NV="7701003" element and an absent element identically: no value was provided. Any residual xsi:nil="true" should likewise be treated as "not provided."