{
  "resourceType": "StructureDefinition",
  "id": "saudi-patient",
  "url": "http://nphies.sa/fhir/ksa/nphies-fs/StructureDefinition/saudi-patient",
  "version": "1.0.0",
  "name": "SaudiPatient",
  "title": "Saudi Patient Profile",
  "status": "active",
  "date": "2025-07-07",
  "publisher": "Saudi Health Council",
  "contact": [
    {
      "name": "Saudi Health Council",
      "telecom": [
        {
          "system": "url",
          "value": "https://www.shc.gov.sa"
        }
      ]
    }
  ],
  "description": "Saudi Patient Profile extends the NPHIES Patient profile with comprehensive demographic, social, and cultural information required for Saudi healthcare delivery. This profile includes Saudi-specific extensions for tribal affiliation, regional origin, education level, occupation, translation needs, and dietary restrictions.",
  "jurisdiction": [
    {
      "coding": [
        {
          "code": "SA",
          "system": "urn:iso:std:iso:3166",
          "display": "Saudi Arabia"
        }
      ]
    }
  ],
  "purpose": "To provide a comprehensive patient profile that supports culturally appropriate healthcare delivery in Saudi Arabia while maintaining compatibility with existing NPHIES financial workflows.",
  "copyright": "Copyright © 2025 Saudi Health Council",
  "fhirVersion": "4.0.1",
  "mapping": [
    {
      "identity": "shdd",
      "uri": "http://shc.gov.sa/shdd",
      "name": "Saudi Health Data Dictionary v2"
    }
  ],
  "kind": "resource",
  "abstract": false,
  "type": "Patient",
  "baseDefinition": "http://hl7.org/fhir/StructureDefinition/Patient",
  "derivation": "constraint",
  "differential": {
    "element": [
      {
        "id": "Patient.extension",
        "path": "Patient.extension",
        "slicing": {
          "discriminator": [
            {
              "type": "value",
              "path": "url"
            }
          ],
          "ordered": false,
          "rules": "open"
        }
      },
      {
        "id": "Patient.extension:tribalAffiliation",
        "path": "Patient.extension",
        "sliceName": "tribalAffiliation",
        "min": 0,
        "max": "1",
        "type": [
          {
            "code": "Extension",
            "profile": [
              "http://nphies.sa/fhir/ksa/nphies-fs/StructureDefinition/saudi-patient-tribal-affiliation"
            ]
          }
        ]
      },
      {
        "id": "Patient.extension:regionalOrigin",
        "path": "Patient.extension",
        "sliceName": "regionalOrigin",
        "min": 0,
        "max": "1",
        "type": [
          {
            "code": "Extension",
            "profile": [
              "http://nphies.sa/fhir/ksa/nphies-fs/StructureDefinition/saudi-patient-regional-origin"
            ]
          }
        ]
      },
      {
        "id": "Patient.extension:educationLevel",
        "path": "Patient.extension",
        "sliceName": "educationLevel",
        "min": 0,
        "max": "1",
        "type": [
          {
            "code": "Extension",
            "profile": [
              "http://nphies.sa/fhir/ksa/nphies-fs/StructureDefinition/saudi-patient-education-level"
            ]
          }
        ]
      },
      {
        "id": "Patient.extension:occupation",
        "path": "Patient.extension",
        "sliceName": "occupation",
        "min": 0,
        "max": "1",
        "type": [
          {
            "code": "Extension",
            "profile": [
              "http://nphies.sa/fhir/ksa/nphies-fs/StructureDefinition/saudi-patient-occupation"
            ]
          }
        ]
      },
      {
        "id": "Patient.extension:translationNeeds",
        "path": "Patient.extension",
        "sliceName": "translationNeeds",
        "min": 0,
        "max": "1",
        "type": [
          {
            "code": "Extension",
            "profile": [
              "http://nphies.sa/fhir/ksa/nphies-fs/StructureDefinition/saudi-patient-translation-needs"
            ]
          }
        ]
      },
      {
        "id": "Patient.extension:dietaryRestrictions",
        "path": "Patient.extension",
        "sliceName": "dietaryRestrictions",
        "min": 0,
        "max": "*",
        "type": [
          {
            "code": "Extension",
            "profile": [
              "http://nphies.sa/fhir/ksa/nphies-fs/StructureDefinition/saudi-patient-dietary-restrictions"
            ]
          }
        ]
      },
      {
        "id": "Patient.extension:emergencyContact",
        "path": "Patient.extension",
        "sliceName": "emergencyContact",
        "min": 0,
        "max": "*",
        "type": [
          {
            "code": "Extension",
            "profile": [
              "http://nphies.sa/fhir/ksa/nphies-fs/StructureDefinition/saudi-patient-emergency-contact"
            ]
          }
        ]
      },
      {
        "id": "Patient.extension:guardianship",
        "path": "Patient.extension",
        "sliceName": "guardianship",
        "min": 0,
        "max": "1",
        "type": [
          {
            "code": "Extension",
            "profile": [
              "http://nphies.sa/fhir/ksa/nphies-fs/StructureDefinition/saudi-patient-guardianship"
            ]
          }
        ]
      },
      {
        "id": "Patient.extension:religiousPreferences",
        "path": "Patient.extension",
        "sliceName": "religiousPreferences",
        "min": 0,
        "max": "1",
        "type": [
          {
            "code": "Extension",
            "profile": [
              "http://nphies.sa/fhir/ksa/nphies-fs/StructureDefinition/saudi-patient-religious-preferences"
            ]
          }
        ]
      },
      {
        "id": "Patient.identifier",
        "path": "Patient.identifier",
        "slicing": {
          "discriminator": [
            {
              "type": "value",
              "path": "type.coding.code"
            }
          ],
          "rules": "open",
          "description": "Slice based on identifier type"
        },
        "min": 1
      },
      {
        "id": "Patient.identifier:nationalId",
        "path": "Patient.identifier",
        "sliceName": "nationalId",
        "short": "Saudi National ID",
        "definition": "Saudi National ID for Saudi citizens",
        "min": 0,
        "max": "1"
      },
      {
        "id": "Patient.identifier:nationalId.type",
        "path": "Patient.identifier.type",
        "patternCodeableConcept": {
          "coding": [
            {
              "code": "NI",
              "system": "http://terminology.hl7.org/CodeSystem/v2-0203"
            }
          ]
        }
      },
      {
        "id": "Patient.identifier:nationalId.system",
        "path": "Patient.identifier.system",
        "patternUri": "http://nphies.sa/identifier/nationalid"
      },
      {
        "id": "Patient.identifier:nationalId.value",
        "path": "Patient.identifier.value",
        "min": 1,
        "mapping": [
          {
            "identity": "shdd",
            "map": "AA001 - Patient National ID"
          }
        ]
      },
      {
        "id": "Patient.identifier:iqamaId",
        "path": "Patient.identifier",
        "sliceName": "iqamaId",
        "short": "Iqama ID",
        "definition": "Iqama ID for residents",
        "min": 0,
        "max": "1"
      },
      {
        "id": "Patient.identifier:iqamaId.type.coding.system",
        "path": "Patient.identifier.type.coding.system",
        "patternUri": "http://nphies.sa/terminology/CodeSystem/identifier-type"
      },
      {
        "id": "Patient.identifier:iqamaId.type.coding.code",
        "path": "Patient.identifier.type.coding.code",
        "min": 1,
        "patternCode": "iqama"
      },
      {
        "id": "Patient.identifier:iqamaId.system",
        "path": "Patient.identifier.system",
        "patternUri": "http://nphies.sa/identifier/iqama"
      },
      {
        "id": "Patient.identifier:iqamaId.value",
        "path": "Patient.identifier.value",
        "min": 1,
        "mapping": [
          {
            "identity": "shdd",
            "map": "AA002 - Patient Iqama ID"
          }
        ]
      },
      {
        "id": "Patient.identifier:passportId",
        "path": "Patient.identifier",
        "sliceName": "passportId",
        "short": "Passport ID",
        "definition": "Passport ID for visitors and pilgrims",
        "min": 0,
        "max": "1"
      },
      {
        "id": "Patient.identifier:passportId.type",
        "path": "Patient.identifier.type",
        "patternCodeableConcept": {
          "coding": [
            {
              "code": "PPN",
              "system": "http://terminology.hl7.org/CodeSystem/v2-0203"
            }
          ]
        }
      },
      {
        "id": "Patient.identifier:passportId.system",
        "path": "Patient.identifier.system",
        "patternUri": "http://nphies.sa/identifier/passport"
      },
      {
        "id": "Patient.identifier:passportId.value",
        "path": "Patient.identifier.value",
        "min": 1
      },
      {
        "id": "Patient.identifier:hajjId",
        "path": "Patient.identifier",
        "sliceName": "hajjId",
        "short": "Hajj ID",
        "definition": "Special identification for Hajj pilgrims",
        "min": 0,
        "max": "1"
      },
      {
        "id": "Patient.identifier:hajjId.type.coding.system",
        "path": "Patient.identifier.type.coding.system",
        "patternUri": "http://nphies.sa/terminology/CodeSystem/identifier-type"
      },
      {
        "id": "Patient.identifier:hajjId.type.coding.code",
        "path": "Patient.identifier.type.coding.code",
        "min": 1,
        "patternCode": "hajj"
      },
      {
        "id": "Patient.identifier:hajjId.system",
        "path": "Patient.identifier.system",
        "patternUri": "http://nphies.sa/identifier/hajj"
      },
      {
        "id": "Patient.identifier:hajjId.value",
        "path": "Patient.identifier.value",
        "min": 1
      },
      {
        "id": "Patient.identifier:medicalRecordNumber",
        "path": "Patient.identifier",
        "sliceName": "medicalRecordNumber",
        "short": "Medical Record Number",
        "definition": "Medical record number assigned by healthcare facility",
        "min": 1,
        "max": "*"
      },
      {
        "id": "Patient.identifier:medicalRecordNumber.type",
        "path": "Patient.identifier.type",
        "patternCodeableConcept": {
          "coding": [
            {
              "code": "MR",
              "system": "http://terminology.hl7.org/CodeSystem/v2-0203"
            }
          ]
        }
      },
      {
        "id": "Patient.identifier:medicalRecordNumber.system",
        "path": "Patient.identifier.system",
        "min": 1
      },
      {
        "id": "Patient.identifier:medicalRecordNumber.value",
        "path": "Patient.identifier.value",
        "min": 1
      },
      {
        "id": "Patient.name",
        "path": "Patient.name",
        "slicing": {
          "discriminator": [
            {
              "type": "value",
              "path": "use"
            }
          ],
          "rules": "open",
          "description": "Slice based on name use"
        },
        "min": 1
      },
      {
        "id": "Patient.name:official",
        "path": "Patient.name",
        "sliceName": "official",
        "short": "Official name",
        "definition": "Official name as recorded in government documents",
        "min": 1,
        "max": "1"
      },
      {
        "id": "Patient.name:official.use",
        "path": "Patient.name.use",
        "min": 1,
        "patternCode": "official"
      },
      {
        "id": "Patient.name:official.family",
        "path": "Patient.name.family",
        "min": 1,
        "mapping": [
          {
            "identity": "shdd",
            "map": "AA010 - Patient Family Name"
          }
        ]
      },
      {
        "id": "Patient.name:official.given",
        "path": "Patient.name.given",
        "min": 1,
        "mapping": [
          {
            "identity": "shdd",
            "map": "AA011 - Patient Given Name"
          }
        ]
      },
      {
        "id": "Patient.name:usual",
        "path": "Patient.name",
        "sliceName": "usual",
        "short": "Usual name",
        "definition": "Name commonly used by the patient",
        "min": 0,
        "max": "1"
      },
      {
        "id": "Patient.name:usual.use",
        "path": "Patient.name.use",
        "min": 1,
        "patternCode": "usual"
      },
      {
        "id": "Patient.name:nickname",
        "path": "Patient.name",
        "sliceName": "nickname",
        "short": "Nickname",
        "definition": "Nickname or preferred name",
        "min": 0,
        "max": "1"
      },
      {
        "id": "Patient.name:nickname.use",
        "path": "Patient.name.use",
        "min": 1,
        "patternCode": "nickname"
      },
      {
        "id": "Patient.telecom",
        "path": "Patient.telecom",
        "slicing": {
          "discriminator": [
            {
              "type": "value",
              "path": "system"
            }
          ],
          "rules": "open",
          "description": "Slice based on telecom system"
        }
      },
      {
        "id": "Patient.telecom:mobile",
        "path": "Patient.telecom",
        "sliceName": "mobile",
        "short": "Mobile phone number",
        "min": 0,
        "max": "*"
      },
      {
        "id": "Patient.telecom:mobile.system",
        "path": "Patient.telecom.system",
        "min": 1,
        "patternCode": "phone"
      },
      {
        "id": "Patient.telecom:mobile.value",
        "path": "Patient.telecom.value",
        "min": 1
      },
      {
        "id": "Patient.telecom:mobile.use",
        "path": "Patient.telecom.use",
        "patternCode": "mobile"
      },
      {
        "id": "Patient.telecom:phone",
        "path": "Patient.telecom",
        "sliceName": "phone",
        "short": "Phone number",
        "min": 0,
        "max": "*"
      },
      {
        "id": "Patient.telecom:phone.system",
        "path": "Patient.telecom.system",
        "min": 1,
        "patternCode": "phone"
      },
      {
        "id": "Patient.telecom:phone.value",
        "path": "Patient.telecom.value",
        "min": 1
      },
      {
        "id": "Patient.telecom:phone.use",
        "path": "Patient.telecom.use",
        "patternCode": "home"
      },
      {
        "id": "Patient.telecom:email",
        "path": "Patient.telecom",
        "sliceName": "email",
        "short": "Email address",
        "min": 0,
        "max": "*"
      },
      {
        "id": "Patient.telecom:email.system",
        "path": "Patient.telecom.system",
        "min": 1,
        "patternCode": "email"
      },
      {
        "id": "Patient.telecom:email.value",
        "path": "Patient.telecom.value",
        "min": 1
      },
      {
        "id": "Patient.gender",
        "path": "Patient.gender",
        "min": 1,
        "mapping": [
          {
            "identity": "shdd",
            "map": "AA020 - Patient Gender"
          }
        ]
      },
      {
        "id": "Patient.birthDate",
        "path": "Patient.birthDate",
        "min": 1,
        "mapping": [
          {
            "identity": "shdd",
            "map": "AA021 - Patient Birth Date"
          }
        ]
      },
      {
        "id": "Patient.address",
        "path": "Patient.address",
        "slicing": {
          "discriminator": [
            {
              "type": "value",
              "path": "use"
            }
          ],
          "rules": "open",
          "description": "Slice based on address use"
        }
      },
      {
        "id": "Patient.address:home",
        "path": "Patient.address",
        "sliceName": "home",
        "short": "Home address",
        "definition": "Patient's home address",
        "min": 0,
        "max": "1"
      },
      {
        "id": "Patient.address:home.use",
        "path": "Patient.address.use",
        "min": 1,
        "patternCode": "home"
      },
      {
        "id": "Patient.address:home.type",
        "path": "Patient.address.type",
        "patternCode": "physical"
      },
      {
        "id": "Patient.address:home.line",
        "path": "Patient.address.line",
        "min": 1
      },
      {
        "id": "Patient.address:home.city",
        "path": "Patient.address.city",
        "min": 1
      },
      {
        "id": "Patient.address:home.state",
        "path": "Patient.address.state",
        "min": 1
      },
      {
        "id": "Patient.address:home.country",
        "path": "Patient.address.country",
        "min": 1,
        "patternString": "SA"
      },
      {
        "id": "Patient.address:work",
        "path": "Patient.address",
        "sliceName": "work",
        "short": "Work address",
        "definition": "Patient's work address",
        "min": 0,
        "max": "1"
      },
      {
        "id": "Patient.address:work.use",
        "path": "Patient.address.use",
        "min": 1,
        "patternCode": "work"
      },
      {
        "id": "Patient.address:work.type",
        "path": "Patient.address.type",
        "patternCode": "physical"
      },
      {
        "id": "Patient.address:temp",
        "path": "Patient.address",
        "sliceName": "temp",
        "short": "Temporary address",
        "definition": "Patient's temporary address (e.g., during Hajj)",
        "min": 0,
        "max": "1"
      },
      {
        "id": "Patient.address:temp.use",
        "path": "Patient.address.use",
        "min": 1,
        "patternCode": "temp"
      },
      {
        "id": "Patient.address:temp.type",
        "path": "Patient.address.type",
        "patternCode": "physical"
      },
      {
        "id": "Patient.maritalStatus",
        "path": "Patient.maritalStatus",
        "mapping": [
          {
            "identity": "shdd",
            "map": "AA030 - Patient Marital Status"
          }
        ]
      },
      {
        "id": "Patient.contact",
        "path": "Patient.contact",
        "slicing": {
          "discriminator": [
            {
              "type": "value",
              "path": "relationship.coding.code"
            }
          ],
          "rules": "open",
          "description": "Slice based on contact relationship"
        }
      },
      {
        "id": "Patient.contact:emergencyContact",
        "path": "Patient.contact",
        "sliceName": "emergencyContact",
        "short": "Emergency contact",
        "definition": "Person to contact in case of emergency",
        "min": 0,
        "max": "*"
      },
      {
        "id": "Patient.contact:emergencyContact.relationship.coding.system",
        "path": "Patient.contact.relationship.coding.system",
        "patternUri": "http://terminology.hl7.org/CodeSystem/v2-0131"
      },
      {
        "id": "Patient.contact:emergencyContact.relationship.coding.code",
        "path": "Patient.contact.relationship.coding.code",
        "min": 1,
        "patternCode": "C"
      },
      {
        "id": "Patient.contact:emergencyContact.name",
        "path": "Patient.contact.name",
        "min": 1
      },
      {
        "id": "Patient.contact:emergencyContact.telecom",
        "path": "Patient.contact.telecom",
        "min": 1
      },
      {
        "id": "Patient.contact:guardian",
        "path": "Patient.contact",
        "sliceName": "guardian",
        "short": "Guardian",
        "definition": "Legal guardian for minors or incapacitated patients",
        "min": 0,
        "max": "*"
      },
      {
        "id": "Patient.contact:guardian.relationship.coding.system",
        "path": "Patient.contact.relationship.coding.system",
        "patternUri": "http://terminology.hl7.org/CodeSystem/v2-0131"
      },
      {
        "id": "Patient.contact:guardian.relationship.coding.code",
        "path": "Patient.contact.relationship.coding.code",
        "min": 1,
        "patternCode": "G"
      },
      {
        "id": "Patient.contact:guardian.name",
        "path": "Patient.contact.name",
        "min": 1
      },
      {
        "id": "Patient.contact:guardian.telecom",
        "path": "Patient.contact.telecom",
        "min": 1
      },
      {
        "id": "Patient.contact:nextOfKin",
        "path": "Patient.contact",
        "sliceName": "nextOfKin",
        "short": "Next of kin",
        "definition": "Next of kin for family involvement in care decisions",
        "min": 0,
        "max": "*"
      },
      {
        "id": "Patient.contact:nextOfKin.relationship.coding.system",
        "path": "Patient.contact.relationship.coding.system",
        "patternUri": "http://terminology.hl7.org/CodeSystem/v2-0131"
      },
      {
        "id": "Patient.contact:nextOfKin.relationship.coding.code",
        "path": "Patient.contact.relationship.coding.code",
        "min": 1,
        "patternCode": "N"
      },
      {
        "id": "Patient.contact:nextOfKin.name",
        "path": "Patient.contact.name",
        "min": 1
      },
      {
        "id": "Patient.contact:nextOfKin.telecom",
        "path": "Patient.contact.telecom",
        "min": 1
      },
      {
        "id": "Patient.communication",
        "path": "Patient.communication",
        "slicing": {
          "discriminator": [
            {
              "type": "value",
              "path": "language.coding.code"
            }
          ],
          "rules": "open",
          "description": "Slice based on language"
        }
      },
      {
        "id": "Patient.communication:arabic",
        "path": "Patient.communication",
        "sliceName": "arabic",
        "short": "Arabic language communication",
        "min": 0,
        "max": "1"
      },
      {
        "id": "Patient.communication:arabic.language.coding.system",
        "path": "Patient.communication.language.coding.system",
        "patternUri": "urn:ietf:bcp:47"
      },
      {
        "id": "Patient.communication:arabic.language.coding.code",
        "path": "Patient.communication.language.coding.code",
        "min": 1,
        "patternCode": "ar"
      },
      {
        "id": "Patient.communication:english",
        "path": "Patient.communication",
        "sliceName": "english",
        "short": "English language communication",
        "min": 0,
        "max": "1"
      },
      {
        "id": "Patient.communication:english.language.coding.system",
        "path": "Patient.communication.language.coding.system",
        "patternUri": "urn:ietf:bcp:47"
      },
      {
        "id": "Patient.communication:english.language.coding.code",
        "path": "Patient.communication.language.coding.code",
        "min": 1,
        "patternCode": "en"
      },
      {
        "id": "Patient.communication:other",
        "path": "Patient.communication",
        "sliceName": "other",
        "short": "Other language communication",
        "min": 0,
        "max": "*"
      },
      {
        "id": "Patient.communication:other.language.coding.system",
        "path": "Patient.communication.language.coding.system",
        "patternUri": "urn:ietf:bcp:47"
      },
      {
        "id": "Patient.generalPractitioner",
        "path": "Patient.generalPractitioner",
        "mapping": [
          {
            "identity": "shdd",
            "map": "AA040 - Primary Care Provider"
          }
        ]
      },
      {
        "id": "Patient.managingOrganization",
        "path": "Patient.managingOrganization",
        "min": 1,
        "mapping": [
          {
            "identity": "shdd",
            "map": "AA041 - Managing Healthcare Organization"
          }
        ]
      },
      {
        "id": "Patient.link",
        "path": "Patient.link",
        "mapping": [
          {
            "identity": "shdd",
            "map": "AA050 - Linked Patient Records"
          }
        ]
      }
    ]
  }
}