Penn Medicine website screenshot

Penn Medicine

Penn Medicine is the University of Pennsylvania Health System (UPHS) plus the Perelman School of Medicine. It is an $11.9 billion enterprise powered by nearly 49,000 faculty and staff, operating six hospitals (Hospital of the University of Pennsylvania, Penn Presbyterian Medical Center, Chester County Hospital, Lancaster General Health, Princeton Health, and Pennsylvania Hospital — the first hospital in the United States, chartered in 1751) plus Penn Medicine at Home, Good Shepherd Penn Partners Rehabilitation, Lancaster Behavioral Health Hospital, and Princeton House Behavioral Health. The Perelman School of Medicine was awarded $580 million in NIH funding in fiscal year 2023. From an API perspective, Penn Medicine runs a production Epic-backed HL7 FHIR R4 endpoint at `https://ssproxy.pennhealth.com/PRD-FHIR/api/FHIR/R4` (Epic Organization ID 346, implementation description "University of Pennsylvania Health Systems FHIR Server"). The CapabilityStatement instantiates `us-core-server|6.1.0` and the HL7 Bulk Data Access IG, exposes 59 FHIR resource types covering Patient Access (clinical + claims) and Provider Directory per CMS-9115-F, and protects them with OAuth 2.0 / SMART-on-FHIR. Penn Medicine also operates the MyPennMedicine MyChart patient portal and the PhysicianLink referring-provider portal, and publishes open-source informatics work through several Perelman School of Medicine GitHub orgs (Penn-Medicine-CHCI, pennsignals, PMACS, pennbiobank).

4 APIs 6 Features
HealthcareHospitalAcademic Medical CenterFHIRSMART On FHIRPatient AccessProvider DirectoryCMS InteroperabilityUS CoreBulk DataEpic

APIs

Penn Medicine FHIR R4 API

The University of Pennsylvania Health Systems FHIR Server. Epic (November 2025) on the back end, conforming to US Core 6.1.0 and the HL7 Bulk Data Access IG. Serves Patient Acce...

MyPennMedicine Patient Portal

MyChart-based patient portal that gives Penn Medicine patients access to medical records, lab results, secure messaging with their care team, telehealth visits, medication refil...

PhysicianLink Referring Physician Portal

EpicLink-based portal for community and referring physicians that provides secure access to Penn Medicine patient records: clinical notes, lab and imaging results, medication li...

Penn Medicine Open Source Health Informatics

Penn Medicine and the Perelman School of Medicine publish open-source health-informatics software across several GitHub organizations: Penn Medicine Center for Health Care Innov...

Collections

Pricing Plans

Rate Limits

Penn Medicine Rate Limits

3 limits

RATE LIMITS

FinOps

Features

CMS-Compliant Patient Access FHIR API

HL7 FHIR R4 server with US Core 6.1.0 conformance and SMART on FHIR authorization, fulfilling CMS-9115-F Patient Access requirements.

Public Provider Directory

Unauthenticated FHIR resources for Practitioner, PractitionerRole, Organization, Location, and Endpoint.

HL7 Bulk Data Access

Group-level $export per the HL7 Bulk Data IG; supports backend services (client_credentials) authentication.

59 FHIR Resource Types

CapabilityStatement advertises 59 resource types covering clinical, administrative, and financial data including AllergyIntolerance, Condition, Observation, MedicationRequest, Immunization, Procedure, Encounter, DiagnosticReport, DocumentReference, Coverage, ExplanationOfBenefit, and Claim.

MyPennMedicine Patient Portal

MyChart-based portal that fronts the FHIR surface for patients and their authorized apps.

PhysicianLink for Referring Providers

EpicLink portal for community physicians referring patients into UPHS.

Use Cases

Patient-Mediated Data Download

Patients authorize third-party PHR and care-coordination apps to pull their complete clinical and claims history from Penn Medicine via SMART on FHIR.

Care-Coordination Apps

Approved EHR-launched and standalone SMART apps surface Penn Medicine clinical data inside referring-provider, payer, and longitudinal-care tools.

Population Analytics

Approved system-level clients run Group-level $export to extract de-identified cohorts for quality measurement, research, and risk modeling.

Provider Directory Distribution

Payers, referral platforms, and health information exchanges consume the public Provider Directory bundle without authentication.

Referring Provider EMR Access

PhysicianLink gives credentialed community physicians read access to UPHS records for shared patients.

Integrations

Epic EHR

UPHS's underlying EHR; the FHIR endpoint is served by Epic November 2025.

Epic on FHIR

Third-party app developers register apps at fhir.epic.com and target Penn Medicine (Organization ID 346).

SMART App Launch

SMART on FHIR launch protocols for EHR-integrated and standalone apps.

HL7 FHIR Bulk Data IG

Backend-services authentication and Group-level export.

HL7 US Core 6.1.0

CapabilityStatement instantiates us-core-server profile.

Apple Health

Penn Medicine participated in Apple's 2018 launch of Health Records on iPhone, allowing patients to view FHIR-formatted records.

Carequality

National interoperability framework Penn Medicine participates in for record retrieval across networks.

Care Everywhere

Epic-to-Epic record exchange for connecting providers.

Solutions

Patient Access

CMS-mandated patient-mediated data access surface for UPHS patients.

Provider Directory

CMS-mandated public provider directory surface.

Bulk Data Analytics

Population-scale FHIR data extraction for approved partners.

Connected Mental Health (Cobalt)

Open-source Cobalt platform from Penn Medicine CHCI delivering employee mental health and well-being services.

Semantic Vocabularies

Penn Medicine Context

25 classes · 0 properties

JSON-LD

API Governance Rules

Penn Medicine API Rules

4 rules · 2 errors 2 warnings

SPECTRAL

Example Payloads

Resources

🌐
Portal
Portal
🌐
DeveloperPortal
DeveloperPortal
👥
GitHubOrganization
GitHubOrganization
👥
GitHubOrganization
GitHubOrganization
👥
GitHubOrganization
GitHubOrganization
📰
Blog
Blog
📜
PrivacyPolicy
PrivacyPolicy
📜
TermsOfService
TermsOfService
🔗
Compliance
Compliance
💬
Support
Support
🔗
LinkedIn
LinkedIn
🔗
SpectralRules
SpectralRules
🔗
JSONLD
JSONLD
🔗
Vocabulary
Vocabulary
🔗
Plans
Plans
🔗
RateLimits
RateLimits
🔗
FinOps
FinOps

Sources

Raw ↑
opencollection: 1.0.0
info:
  name: Penn Medicine FHIR R4 API
  version: 4.0.1
request:
  auth:
    type: oauth2
    flow: client_credentials
    accessTokenUrl: https://ssproxy.pennhealth.com/PRD-FHIR/oauth2/token
    credentials:
      clientId: '{{clientId}}'
      clientSecret: '{{clientSecret}}'
items:
- info:
    name: SMART
    type: folder
  items:
  - info:
      name: Read Capability Statement
      type: http
    http:
      method: GET
      url: https://ssproxy.pennhealth.com/PRD-FHIR/api/FHIR/R4/metadata
    docs: Returns the FHIR CapabilityStatement describing supported resources, interactions, and security.
  - info:
      name: Read SMART Configuration
      type: http
    http:
      method: GET
      url: https://ssproxy.pennhealth.com/PRD-FHIR/api/FHIR/R4/.well-known/smart-configuration
    docs: SMART on FHIR discovery document advertising OAuth endpoints, scopes, and capabilities.
- info:
    name: Patient Access
    type: folder
  items:
  - info:
      name: Read Patient
      type: http
    http:
      method: GET
      url: https://ssproxy.pennhealth.com/PRD-FHIR/api/FHIR/R4/Patient/:id
      params:
      - name: id
        value: ''
        type: path
    docs: Read Patient
  - info:
      name: Search Patient
      type: http
    http:
      method: GET
      url: https://ssproxy.pennhealth.com/PRD-FHIR/api/FHIR/R4/Patient
      params:
      - name: _id
        value: ''
        type: query
      - name: _count
        value: ''
        type: query
    docs: Search Patient
  - info:
      name: Search Allergy Intolerance
      type: http
    http:
      method: GET
      url: https://ssproxy.pennhealth.com/PRD-FHIR/api/FHIR/R4/AllergyIntolerance
      params:
      - name: patient
        value: ''
        type: query
    docs: Search Allergy Intolerance
  - info:
      name: Search Condition
      type: http
    http:
      method: GET
      url: https://ssproxy.pennhealth.com/PRD-FHIR/api/FHIR/R4/Condition
      params:
      - name: patient
        value: ''
        type: query
      - name: category
        value: ''
        type: query
    docs: Search Condition
  - info:
      name: Search Observation
      type: http
    http:
      method: GET
      url: https://ssproxy.pennhealth.com/PRD-FHIR/api/FHIR/R4/Observation
      params:
      - name: patient
        value: ''
        type: query
      - name: category
        value: ''
        type: query
      - name: code
        value: ''
        type: query
    docs: Search Observation
  - info:
      name: Search Medication Request
      type: http
    http:
      method: GET
      url: https://ssproxy.pennhealth.com/PRD-FHIR/api/FHIR/R4/MedicationRequest
      params:
      - name: patient
        value: ''
        type: query
    docs: Search Medication Request
  - info:
      name: Search Immunization
      type: http
    http:
      method: GET
      url: https://ssproxy.pennhealth.com/PRD-FHIR/api/FHIR/R4/Immunization
      params:
      - name: patient
        value: ''
        type: query
    docs: Search Immunization
  - info:
      name: Search Procedure
      type: http
    http:
      method: GET
      url: https://ssproxy.pennhealth.com/PRD-FHIR/api/FHIR/R4/Procedure
      params:
      - name: patient
        value: ''
        type: query
    docs: Search Procedure
  - info:
      name: Search Encounter
      type: http
    http:
      method: GET
      url: https://ssproxy.pennhealth.com/PRD-FHIR/api/FHIR/R4/Encounter
      params:
      - name: patient
        value: ''
        type: query
    docs: Search Encounter
  - info:
      name: Search Diagnostic Report
      type: http
    http:
      method: GET
      url: https://ssproxy.pennhealth.com/PRD-FHIR/api/FHIR/R4/DiagnosticReport
      params:
      - name: patient
        value: ''
        type: query
      - name: category
        value: ''
        type: query
    docs: Search Diagnostic Report
  - info:
      name: Search Document Reference
      type: http
    http:
      method: GET
      url: https://ssproxy.pennhealth.com/PRD-FHIR/api/FHIR/R4/DocumentReference
      params:
      - name: patient
        value: ''
        type: query
    docs: Search Document Reference
  - info:
      name: Search Coverage
      type: http
    http:
      method: GET
      url: https://ssproxy.pennhealth.com/PRD-FHIR/api/FHIR/R4/Coverage
      params:
      - name: patient
        value: ''
        type: query
    docs: Search Coverage
  - info:
      name: Search Explanation of Benefit
      type: http
    http:
      method: GET
      url: https://ssproxy.pennhealth.com/PRD-FHIR/api/FHIR/R4/ExplanationOfBenefit
      params:
      - name: patient
        value: ''
        type: query
    docs: Search Explanation of Benefit
  - info:
      name: Search Claim
      type: http
    http:
      method: GET
      url: https://ssproxy.pennhealth.com/PRD-FHIR/api/FHIR/R4/Claim
      params:
      - name: patient
        value: ''
        type: query
    docs: Search Claim
- info:
    name: Provider Directory
    type: folder
  items:
  - info:
      name: Search Practitioner
      type: http
    http:
      method: GET
      url: https://ssproxy.pennhealth.com/PRD-FHIR/api/FHIR/R4/Practitioner
      params:
      - name: _id
        value: ''
        type: query
      - name: name
        value: ''
        type: query
    docs: Search Practitioner
  - info:
      name: Search Practitioner Role
      type: http
    http:
      method: GET
      url: https://ssproxy.pennhealth.com/PRD-FHIR/api/FHIR/R4/PractitionerRole
      params:
      - name: _id
        value: ''
        type: query
      - name: specialty
        value: ''
        type: query
    docs: Search Practitioner Role
  - info:
      name: Search Organization
      type: http
    http:
      method: GET
      url: https://ssproxy.pennhealth.com/PRD-FHIR/api/FHIR/R4/Organization
      params:
      - name: _id
        value: ''
        type: query
      - name: name
        value: ''
        type: query
    docs: Search Organization
  - info:
      name: Search Location
      type: http
    http:
      method: GET
      url: https://ssproxy.pennhealth.com/PRD-FHIR/api/FHIR/R4/Location
      params:
      - name: _id
        value: ''
        type: query
      - name: address
        value: ''
        type: query
    docs: Search Location
  - info:
      name: Search Endpoint
      type: http
    http:
      method: GET
      url: https://ssproxy.pennhealth.com/PRD-FHIR/api/FHIR/R4/Endpoint
      params:
      - name: _id
        value: ''
        type: query
    docs: Search Endpoint
- info:
    name: Bulk Data
    type: folder
  items:
  - info:
      name: Export Group Bulk Data
      type: http
    http:
      method: GET
      url: https://ssproxy.pennhealth.com/PRD-FHIR/api/FHIR/R4/Group/:id/$export
      params:
      - name: id
        value: ''
        type: path
      - name: _type
        value: ''
        type: query
    docs: 'Initiates a Bulk Data (Flat FHIR) export for a Group of patients per

      HL7 FHIR Bulk Data Access IG. Requires client_credentials authentication and the

      `system/*.read` scope. Status is polled at the Content-Location URL.

      '
bundled: true