Penn Medicine · API Governance Rules

Penn Medicine API Rules

Spectral linting rules defining API design standards and conventions for Penn Medicine.

4 Rules error 2 warn 2
View Rules File View on GitHub

Rule Categories

penn

Rules

error
penn-medicine-server-url
All Penn Medicine API specs must reference the production FHIR R4 base URL.
$.servers[*].url
warn
penn-medicine-operation-summary-title-case
Operation summaries must use Title Case.
$.paths[*][get,post,put,patch,delete].summary
error
penn-medicine-smart-on-fhir-security
Every Penn Medicine spec must declare the smartOnFhir OAuth2 security scheme.
$.components.securitySchemes
warn
penn-medicine-canonical-tags
Operations must carry one of the canonical Penn Medicine tags.
$.paths[*][get,post,put,patch,delete].tags[*]

Spectral Ruleset

Raw ↑
extends: spectral:oas
rules:
  penn-medicine-server-url:
    description: All Penn Medicine API specs must reference the production FHIR R4 base URL.
    severity: error
    given: $.servers[*].url
    then:
      function: pattern
      functionOptions:
        match: '^https://ssproxy\.pennhealth\.com/PRD-FHIR/api/FHIR/R4$'

  penn-medicine-operation-summary-title-case:
    description: Operation summaries must use Title Case.
    severity: warn
    given: $.paths[*][get,post,put,patch,delete].summary
    then:
      function: pattern
      functionOptions:
        match: '^([A-Z][a-zA-Z0-9]*)(\s[A-Z][a-zA-Z0-9]*)*$'

  penn-medicine-smart-on-fhir-security:
    description: Every Penn Medicine spec must declare the smartOnFhir OAuth2 security scheme.
    severity: error
    given: $.components.securitySchemes
    then:
      field: smartOnFhir
      function: truthy

  penn-medicine-canonical-tags:
    description: Operations must carry one of the canonical Penn Medicine tags.
    severity: warn
    given: $.paths[*][get,post,put,patch,delete].tags[*]
    then:
      function: enumeration
      functionOptions:
        values:
          - Patient Access
          - Provider Directory
          - Bulk Data
          - SMART