Children's Hospital of Philadelphia · API Governance Rules

Children's Hospital of Philadelphia API Rules

Spectral linting rules defining API design standards and conventions for Children's Hospital of Philadelphia.

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

Rule Categories

chop

Rules

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

Spectral Ruleset

Raw ↑
extends: spectral:oas
rules:
  chop-server-url:
    description: All CHOP API specs must reference the production FHIR R4 base URL.
    severity: error
    given: $.servers[*].url
    then:
      function: pattern
      functionOptions:
        match: '^https://epicnsproxy\.chop\.edu/fhir/api/FHIR/R4$'

  chop-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]*)*$'

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

  chop-tag-patient-access-or-provider-directory:
    description: Operations must carry one of the canonical CHOP tags.
    severity: warn
    given: $.paths[*][get,post,put,patch,delete].tags[*]
    then:
      function: enumeration
      functionOptions:
        values:
          - Patient Access
          - Provider Directory
          - Bulk Data
          - SMART