PSGC Terminology FHIR Implementation Guide
0.1.0 - ci-build
PSGC Terminology FHIR Implementation Guide - Local Development build (v0.1.0) built by the FHIR (HL7® FHIR® Standard) Build Tools. See the Directory of published versions
The PSGC source data is published by PSA as quarterly XLSX files. This page defines the logical model — the structure of the source data before it is mapped into FHIR terminology resources.
PSA has used two distinct XLSX layouts:
| Era | Header Column | Code Length | Key Difference |
|---|---|---|---|
| Pre-2022 | "Code" | 9 digits | No correspondence code column |
| Q1 2022+ | "10-digit PSGC" | 10 digits | Includes 9-digit correspondence code |
Legacy normalisation rule: a 9-digit code is converted to 10 digits by appending a trailing zero (right-pad), per the PSA migration scheme.
The parent of any PSGC code is derived algorithmically from the positional structure:
The parent derivation is formally specified in FHIRPath:
// Barangay parent
code.substring(7) != '000'
implies parent = code.substring(0,7) + '000'
// City/Municipality parent
(code.substring(5,2) != '00' and code.substring(7) = '000')
implies parent = code.substring(0,5) + '00000'
// Province parent
(code.substring(2,3) != '000' and code.substring(5) = '00000')
implies parent = code.substring(0,2) + '00000000'
// Region has no parent
code.substring(2) = '00000000' implies parent.empty()
| Logical Model Field | FHIR Representation |
|---|---|
code |
CodeSystem.concept.code / Coding.code |
name |
CodeSystem.concept.display / Coding.display |
geographicLevel |
CodeSystem.concept.property[level] |
parent (derived) |
CodeSystem.concept.property[parent] |
incomeClassification |
CodeSystem.concept.property[incomeClassification] |
urbanRural |
CodeSystem.concept.property[urbanRural] |
oldNames |
CodeSystem.concept.designation (use=old) |
population |
CodeSystem.concept.property[population] |
correspondenceCode |
Not exposed (internal normalisation reference) |