Skip to content
Draft
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
42 commits
Select commit Hold shift + click to select a range
35e0208
Added AVR links
mtaylorfsmb Jun 16, 2026
90ea5f4
Added AVR operations
mtaylorfsmb Jun 16, 2026
0f5e5ec
Create get-avr-report.md
mtaylorfsmb Jun 16, 2026
490662b
Update readme.md
mtaylorfsmb Jun 16, 2026
ac62d63
Update get-avr-report.md
mtaylorfsmb Jun 16, 2026
e1f08e9
Update README.md
mtaylorfsmb Jun 22, 2026
6b900a7
Update README.md
mtaylorfsmb Jun 24, 2026
e212139
Create release-202606.md
mtaylorfsmb Jun 24, 2026
f255c02
Update README.md
mtaylorfsmb Jun 24, 2026
934c445
Create get-avr-profile.md
mtaylorfsmb Jun 24, 2026
bd82989
Update get-avr-report.md
mtaylorfsmb Jun 24, 2026
c4287f1
Update readme.md
mtaylorfsmb Jun 24, 2026
f939ed3
Update readme.md
mtaylorfsmb Jun 24, 2026
d828458
Update get-avr-report.md
mtaylorfsmb Jun 24, 2026
1b2bbd9
Create avr-profile.md
mtaylorfsmb Jun 24, 2026
a74467a
Update avr-profile.md
mtaylorfsmb Jun 24, 2026
ff60ed6
Create avr-identity-section.md
mtaylorfsmb Jun 24, 2026
853159e
Create avr-names-section.md
mtaylorfsmb Jun 24, 2026
89cbfdf
Create avr-name.md
mtaylorfsmb Jun 24, 2026
634e930
Create avr-medicaleducation-section.md
mtaylorfsmb Jun 24, 2026
d275bb5
Create avr-boardorders-section.md
mtaylorfsmb Jun 24, 2026
bfa242a
Update avr-medicaleducation-section.md
mtaylorfsmb Jun 24, 2026
0340b22
Create avr-gme-section.md
mtaylorfsmb Jun 24, 2026
ed9dd6d
Update avr-boardorders-section.md
mtaylorfsmb Jun 24, 2026
be04d15
Update avr-identity-section.md
mtaylorfsmb Jun 24, 2026
aa65d05
Update avr-medicaleducation-section.md
mtaylorfsmb Jun 24, 2026
f6bf865
Update avr-name.md
mtaylorfsmb Jun 24, 2026
d9e962f
Update avr-names-section.md
mtaylorfsmb Jun 24, 2026
9ae2a5b
Update avr-profile.md
mtaylorfsmb Jun 24, 2026
4f4c394
Create avr-accredited-training.md
mtaylorfsmb Jun 24, 2026
a4f5ce8
Update avr-medicaleducation-section.md
mtaylorfsmb Jun 24, 2026
cec124e
Update avr-accredited-training.md
mtaylorfsmb Jun 24, 2026
85e0d3e
Create avr-exams-section.md
mtaylorfsmb Jun 24, 2026
78b34a2
Create avr-exam.md
mtaylorfsmb Jun 24, 2026
f1e01e9
Create avr-abms-section.md
mtaylorfsmb Jun 24, 2026
36aef03
Create avr-abms-certification.md
mtaylorfsmb Jun 24, 2026
a209d93
Update avr-gme-section.md
mtaylorfsmb Jun 24, 2026
17c5878
Update avr-abms-certification.md
mtaylorfsmb Jun 24, 2026
4d001d4
Update avr-profile.md
mtaylorfsmb Jul 1, 2026
8ed7699
Update avr-profile.md
mtaylorfsmb Jul 1, 2026
dff1f79
Update avr-identity-section.md
mtaylorfsmb Jul 1, 2026
1e61e4d
Update avr-name.md
mtaylorfsmb Jul 1, 2026
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
5 changes: 4 additions & 1 deletion README.md
Original file line number Diff line number Diff line change
Expand Up @@ -15,7 +15,8 @@ Refer to the [Getting Started](https://github.com/fsmb/api-docs) guide to learn

| Date | Release Notes |
| - | -|
| 3 Feb 2021 | Added profession to PDC Profile.
| 16 Jun 2026 | [Release Notes](relnotes/release-202606.md) |
| 3 Feb 2021 | Added profession to PDC Profile. |
| 4 Dec 2020 | Updated Postman collection and added verification indicators to training. |
| 16 Nov 2020 | Added optional authorization endpoint to MedAPI. |
| 20 Oct 2020 | Updated PDC Profile endpoint. |
Expand All @@ -34,6 +35,7 @@ Refer to the [Getting Started](https://github.com/fsmb/api-docs) guide to learn

| Scope | Description |
| - | - |
| med.avr_read | Grants the ability to read and generate AVR reports. |
| med.bio_read | Grants the ability to read a physician's verified information. |
| med.cdc_read | Grants the ability to read a physician's profile. |
| med.read | Grants the ability to read basic physician information. |
Expand All @@ -44,6 +46,7 @@ Refer to the [Getting Started](https://github.com/fsmb/api-docs) guide to learn

## Resources

- [AVR](docs/avr/readme.md)
- [Licensure](docs/licensure/README.md)
- [Practitioners](docs/practitioners/README.md)
- [BoardOrders](docs/boardOrders/README.md)
68 changes: 68 additions & 0 deletions docs/avr/get-avr-profile.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,68 @@
# Get AVR Profile

Gets the AVR profile for a physician.

```http
GET {baseUrl}/v1/avr/{fid}
```

## URI Parameters

| Name | In | Required | Type | Description |
| - | - | - | - | - |
| baseUrl | path | True | string | The API URL. |
| fid | path | True | string | FID of the physician. |

## Responses

| Name | Type | Description |
| - | - | - |
| 200 OK | [AvrProfile](types/avr-profile.md) | Success |
| 400 Bad Request | | FID is invalid. |
| 401 Unauthorized | | Unauthorized. |
| 404 Not Found | | Physician not found. |

## Security

Required scopes

- med.avr_read

## Examples

[Get AVR](#get-avr)

***

### Get AVR

#### Sample Request

```http
GET {baseUrl}/v1/avr/999999915
```

#### Sample Response

Status code: 200

Note: Output is elided. Refer to [AVR Profile](types/avr-profile.md) for a complete example.

```json
{
"fid": "999999915",
"reportDateUtc": "2026-06-16T12:00:00Z",
"identity": {
"birthDate": "1978-08-08",
"npi": null
},
"names": {
"legalName": {
"firstName": "Philip",
"middleName": "James",
"lastName": "Testman"
},
"alternateNames": []
}
}
```
49 changes: 49 additions & 0 deletions docs/avr/get-avr-report.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,49 @@
# Get AVR Profile Report

Gets the AVR report for a physician. The report is returned as a PDF.

```http
GET {baseUrl}/v1/avr/{fid}/report
```

## URI Parameters

| Name | In | Required | Type | Description |
| - | - | - | - | - |
| baseUrl | path | True | string | The API URL. |
| fid | path | True | string | FID of the physician. |

## Responses

| Name | Type | Description |
| - | - | - |
| 200 OK | PDF file | Success |
| 400 Bad Request | | FID is invalid. |
| 401 Unauthorized | | Unauthorized. |
| 404 Not Found | | Physician not found. |

## Security

Required scopes

- med.avr_read

## Examples

[Get AVR](#get-avr)

***

### Get AVR

#### Sample Request

```http
GET {baseUrl}/v1/avr/999999915/report
```

#### Sample Response

Status code: 200

Body: PDF file
12 changes: 12 additions & 0 deletions docs/avr/readme.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,12 @@
# AVR

URL: /v1/avr

The AVR resource provides access to reading and generating AVR reports.

## Operations

| Operation | Description |
| - | - |
| [Get AVR Profile](get-avr-profile.md) | Gets the AVR profile. |
| [Get AVR Profile Report](get-avr-report.md) | Gets the AVR report as a PDF. |
14 changes: 14 additions & 0 deletions docs/avr/types/avr-abms-certification.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,14 @@
# AvrAbmsCertification

ABMS certification

| Name | Type | Required | Description |
| - | - | - | - |
| memberBoard | string (len: 80) | Yes | ABMS member board name |
| certificationType | string (len: 80) | Yes | Certification type |
| certificationStatus | string (len: 80) | Yes | Certification status (e.g. Active, Inactive, Expired) |
| expirationDay | string (format: dd, digits, len: 2) | No | Expiration day |
| expirationMonth | string (format: mm, len: 2) | No | Expiration month |
| expirationYear | string (format: yyyy, len: 4) | No | Expiration year |

*Note: Any fields marked as deprecated will be removed in a future version of the API. New code should not rely on these fields. Existing code should be updated to use alternative fields.*
10 changes: 10 additions & 0 deletions docs/avr/types/avr-abms-section.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,10 @@
# AvrAbmsSection

ABMS certifications section

| Name | Type | Required | Description |
| - | - | - | - |
| meetsImlccRequirements | boolean | Yes | Indicates if IMLCC requirements are met |
| certifications | [AvrAbmsCertification[]](avr-abms-certification.md) | No | List of ABMS certifications |

*Note: Any fields marked as deprecated will be removed in a future version of the API. New code should not rely on these fields. Existing code should be updated to use alternative fields.*
20 changes: 20 additions & 0 deletions docs/avr/types/avr-accredited-training.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,20 @@
# AvrAccreditedTraining

Accredited training

| Name | Type | Required | Description |
| - | - | - | - |
| accreditationEntity | string (len: 5) | No | Accreditation entity (e.g. ACGME) |
| programName | string (len: 200) | Yes | Program name |
| programCode | string (len: 10) | No | Program code |
| affiliatedInstitution | string (len: 200) | No | Affiliated institution |
| programSpecialty | string (len: 200) | Yes | Program specialty (e.g. Radiology) |
| programType | string (len: 50) | No | Program type (e.g. Residency) |
| trainingStatus | string (len: 50) | Yes | Training status (e.g. Completed) |
| startDate | string (date) | Yes | Start date of the training |
| endDate | string (date) | No | End date of the training, if completed |
| city | string (len: 50) | No | City of the program |
| stateOrProvince | string (len: 100) | No | State or province of the program |
| country | string (len: 100) | No | Country of the program |

*Note: Any fields marked as deprecated will be removed in a future version of the API. New code should not rely on these fields. Existing code should be updated to use alternative fields.*
10 changes: 10 additions & 0 deletions docs/avr/types/avr-boardorders-section.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,10 @@
# AvrBoardOrdersSection

Board orders section

| Name | Type | Required | Description |
| - | - | - | - |
| hasBoardOrders | boolean | Yes | Indicates if the physician has board orders |
| meetsImlccRequirements | boolean | Yes | Indicates if IMLCC requirements are met |

*Note: Any fields marked as deprecated will be removed in a future version of the API. New code should not rely on these fields. Existing code should be updated to use alternative fields.*
10 changes: 10 additions & 0 deletions docs/avr/types/avr-exam.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,10 @@
# AvrExam

USMLE exam information

| Name | Type | Required | Description |
| - | - | - | - |
| examType | string (len: 20) | Yes | Exam type (e.g. STEP 1, STEP 2 CK, STEP 3) |
| meetsImlccRequirements | boolean | Yes | Indicates if IMLCC requirements are met |

*Note: Any fields marked as deprecated will be removed in a future version of the API. New code should not rely on these fields. Existing code should be updated to use alternative fields.*
10 changes: 10 additions & 0 deletions docs/avr/types/avr-exams-section.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,10 @@
# AvrExamsSection

USMLE exams section

| Name | Type | Required | Description |
| - | - | - | - |
| meetsImlccRequirements | boolean | Yes | Indicates if IMLCC requirements are met |
| exams | [AvrExam[]](avr-exam.md) | No | List of USMLE exams |

*Note: Any fields marked as deprecated will be removed in a future version of the API. New code should not rely on these fields. Existing code should be updated to use alternative fields.*
11 changes: 11 additions & 0 deletions docs/avr/types/avr-gme-section.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,11 @@
# AvrGraduateMedicalEducationSection

Graduate medical education section

| Name | Type | Required | Description |
| - | - | - | - |
| isAma | boolean | Yes | Indicates if the GME was reported by AMA |
| meetsImlccRequirements | boolean | Yes | Indicates if IMLCC requirements are met |
| accreditedTraining | [AvrAccreditedTraining[]](avr-accredited-training.md) | No | Accredited GME |

*Note: Any fields marked as deprecated will be removed in a future version of the API. New code should not rely on these fields. Existing code should be updated to use alternative fields.*
10 changes: 10 additions & 0 deletions docs/avr/types/avr-identity-section.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,10 @@
# AvrIdentitySection

Physician identity section

| Name | Type | Required | Description |
| - | - | - | - |
| birthDate | string (date) | No | Date of birth |
| npi | string (format: digits, len: 10) | No | NPI number |

*Note: Any fields marked as deprecated will be removed in a future version of the API. New code should not rely on these fields. Existing code should be updated to use alternative fields.*
13 changes: 13 additions & 0 deletions docs/avr/types/avr-medicaleducation-section.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,13 @@
# AvrMedicalEducationSection

Medical education section

| Name | Type | Required | Description |
| - | - | - | - |
| medicalSchoolName | string (len: 100) | Yes | Medical school name |
| city | string (len: 50) | No | City |
| stateOrProvince | string (len: 100) | No | State or province name |
| country | string (len: 100) | No | Country name |
| graduationYear | string (format: yyyy, len: 4) | No | Graduation year |

*Note: Any fields marked as deprecated will be removed in a future version of the API. New code should not rely on these fields. Existing code should be updated to use alternative fields.*
12 changes: 12 additions & 0 deletions docs/avr/types/avr-name.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,12 @@
# AvrName

Physician name

| Name | Type | Required | Description |
| - | - | - | - |
| firstName | string (len: 50) | No | First name |
| middleName | string (len: 50) | No | Middle name |
| lastName | string (len: 50) | Yes | Last name |
| suffix | string (len: 4) | No | Suffix |

*Note: Any fields marked as deprecated will be removed in a future version of the API. New code should not rely on these fields. Existing code should be updated to use alternative fields.*
10 changes: 10 additions & 0 deletions docs/avr/types/avr-names-section.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,10 @@
# AvrNamesSection

Names section

| Name | Type | Required | Description |
| - | - | - | - |
| legalName | [AvrName](avr-name.md) | Yes | Legal name |
| alternateNames | [AvrName[]](avr-name.md) | No | Alternate names |

*Note: Any fields marked as deprecated will be removed in a future version of the API. New code should not rely on these fields. Existing code should be updated to use alternative fields.*
62 changes: 62 additions & 0 deletions docs/avr/types/avr-profile.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,62 @@
# AvrProfile

AVR profile

| Name | Type | Required | Description |
| - | - | - | - |
| fid | string (format: digits, len: 9) | Yes | FID of the physician |
| reportDateUtc | string (datetime) | Yes | Date and time, in UTC, the profile was generated |
| identity | [AvrIdentitySection](avr-identity-section.md) | Yes | Physician identity information |
| names | [AvrNamesSection](avr-names-section.md) | Yes | Physician names |
| medicalEducation | [AvrMedicalEducationSection](avr-medicaleducation-section.md) | Yes | Medical education |
| boardOrders | [AvrBoardOrdersSection](avr-boardorders-section.md) | Yes | Board orders |
| graduateMedicalEducation | [AvrGraduateMedicalEducationSection](avr-gme-section.md) | Yes | Graduate medical education |
| usmleExams | [AvrUsmleExamsSection](avr-exams-section.md) | Yes | USMLE exams |
| abmsCertifications | [AvrAbmsCertificationsSection](avr-abms-section.md) | Yes | ABMS certifications |

*Note: Any fields marked as deprecated will be removed in a future version of the API. New code should not rely on these fields. Existing code should be updated to use alternative fields.*

Example

```json
{
"fid": "999999915",
"reportDateUtc": "2026-06-24T18:25:14.7055032Z",
"identity": {
"birthDate": "1978-08-08",
"npi": "1435537299"
},
"names": {
"legalName": {
"firstName": "Philip",
"middleName": "James",
"lastName": "Testman"
},
"alternateNames": []
},
"medicalEducation": {
"medicalSchoolName": "West Virginia University School of Medicine",
"city": "Morgantown",
"stateOrProvince": "West Virginia",
"country": "UNITED STATES",
"graduationYear": "2004"
},
"boardOrders": {
"hasBoardOrders": true,
"meetsImlccRequirements": false
},
"graduateMedicalEducation": {
"isAma": false,
"meetsImlccRequirements": false,
"accreditedTraining": []
},
"usmleExams": {
"meetsImlccRequirements": false,
"exams": []
},
"abmsCertifications": {
"meetsImlccRequirements": false,
"certifications": []
}
}
```
34 changes: 34 additions & 0 deletions relnotes/release-202606.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,34 @@
# Release June 2026

[What's New](#whats-new) \
[Breaking Changes](#breaking-changes) \
[Deprecated Features](#deprecated-features)

## What's New

- This release includes an upgrade of the runtime used by the API resulting in faster performance. See [Breaking Changes](#breaking-changes) for important information.
- This release adds a new [AVR](/docs/avr/readme.md) resource for retrieving the Provider Bridge AVR report for clients that previously used Provider Bridge directly.

## Breaking Changes

### Error Handling

As part of the runtime upgrade the JSON object returned by the API in the cases where the API reports an error has changed. Previously the FSMB-specific Error Response
object was returned. Going forward the standardized [RFC7807 Problem Details](https://tools.ietf.org/html/rfc7807) object is used for reporting errors. The new object is
returned consistently for any status codes that report errors such as 400s and 500s.

For most clients that just check the status code no changes need to be made. Endpoints continue to return the same status codes as before. In some cases a client may want
more information about why an error occurred, such as for 400s, and may use the fields of the returned object to extract the specific error. In this case client code will
need to be updated to account for the differing formats.

| Old Field | New Field | Description |
| - | - | - |
| `code` | `type` | Provides a unique error code describing the error. The old field was a name while the new field is a URL, per the RFC. |
| `title` | `message` | A short summary of the problem in human-readable terms. |
| | `detail` | For some errors, a more detailed explanation of the error. |

Client code that is not updated to the newer format will continue to work based upon the status codes but will not have access to the more detailed error information, if available.

## Deprecated Features

- The `Imlcc` resource is deprecated. This resource was an internal resource and not designed for general use.