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.

Children’s Hospital of Philadelphia API Rules is a Spectral governance ruleset published by Children’s Hospital of Philadelphia on the APIs.io network, containing 4 lint rules.

The ruleset includes 2 error-severity rules and 2 warning-severity rules.

Tagged areas include Healthcare, Pediatrics, FHIR, SMART On FHIR, and Patient Access.

Rulesets can be applied to your own OpenAPI specs via Spectral to enforce the same governance standards.

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