Amakomaya Nepal FHIR Implementation Guide
1.0.1 - ci-build Nepal flag

Amakomaya Nepal FHIR Implementation Guide - Local Development build (v1.0.1) built by the FHIR (HL7® FHIR® Standard) Build Tools. See the Directory of published versions

Resource Profile: AMK Core Person Profile

Official URL: https://fhir.amakomaya.com/StructureDefinition/amk-core-person Version: 1.0.1
Active as of 2025-12-11 Computable Name: AMKCorePerson

Copyright/Legal: Used by permission of HL7 International, all rights reserved Creative Commons License

The AMK Core Person Profile defines a standardized representation of a real-world individual within the Nepal health system. It supports identity resolution, demographic capture, and identity assurance across Patient, Practitioner, and RelatedPerson records. This profile enables reliable identity verification, deduplication, and interoperability across national digital health programs.

Usages:

You can also check for usages in the FHIR IG Statistics

Formal Views of Profile Content

Description of Profiles, Differentials, Snapshots and how the different presentations work.

NameFlagsCard.TypeDescription & Constraints    Filter: Filtersdoco
.. Person 0..* Person A generic person record
... implicitRules ?!Σ 0..1 uri A set of rules under which this content was created
... contained 0..* Resource Contained, inline Resources
... modifierExtension ?!Σ 0..* Extension Extensions that cannot be ignored
... active ?!Σ 1..1 boolean This person's record is in active use
Required Pattern: true

doco Documentation for this format

Constraints

Id Grade Path(s) Description Expression
dom-2 error Person If the resource is contained in another resource, it SHALL NOT contain nested Resources contained.contained.empty()
dom-3 error Person If the resource is contained in another resource, it SHALL be referred to from elsewhere in the resource or SHALL refer to the containing resource contained.where((('#'+id in (%resource.descendants().reference | %resource.descendants().ofType(canonical) | %resource.descendants().ofType(uri) | %resource.descendants().ofType(url))) or descendants().where(reference = '#').exists() or descendants().where(ofType(canonical) = '#').exists() or descendants().where(ofType(canonical) = '#').exists()).not()).trace('unmatched', id).empty()
dom-4 error Person If a resource is contained in another resource, it SHALL NOT have a meta.versionId or a meta.lastUpdated contained.meta.versionId.empty() and contained.meta.lastUpdated.empty()
dom-5 error Person If a resource is contained in another resource, it SHALL NOT have a security label contained.meta.security.empty()
dom-6 best practice Person A resource should have narrative for robust management text.`div`.exists()
ele-1 error **ALL** elements All FHIR elements must have a @value or children hasValue() or (children().count() > id.count())
ext-1 error **ALL** extensions Must have either extensions or value[x], not both extension.exists() != value.exists()

This structure is derived from Person

NameFlagsCard.TypeDescription & Constraints    Filter: Filtersdoco
.. Person 0..* Person A generic person record
... identifier 1..* Identifier A human identifier for this person
... active 1..1 boolean This person's record is in active use
Required Pattern: true

doco Documentation for this format
NameFlagsCard.TypeDescription & Constraints    Filter: Filtersdoco
.. Person 0..* Person A generic person record
... id Σ 0..1 id Logical id of this artifact
... meta Σ 0..1 Meta Metadata about the resource
... implicitRules ?!Σ 0..1 uri A set of rules under which this content was created
... text 0..1 Narrative Text summary of the resource, for human interpretation
This profile does not constrain the narrative in regard to content, language, or traceability to data elements
... contained 0..* Resource Contained, inline Resources
... extension 0..* Extension Additional content defined by implementations
... modifierExtension ?!Σ 0..* Extension Extensions that cannot be ignored
... identifier Σ 1..* Identifier A human identifier for this person
... active ?!Σ 1..1 boolean This person's record is in active use
Required Pattern: true
... name Σ 0..* HumanName A name associated with the person
... telecom Σ 0..* ContactPoint A contact detail for the person
... gender Σ 0..1 code male | female | other | unknown
Binding: AdministrativeGender (required): The gender of a person used for administrative purposes.
... birthDate Σ 0..1 date The date on which the person was born
... deceased[x] Σ 0..1 Indicates if the individual is deceased or not
.... deceasedBoolean boolean
.... deceasedDateTime dateTime
... address Σ 0..* Address One or more addresses for the person
... maritalStatus 0..1 CodeableConcept Marital (civil) status of a person
Binding: MaritalStatusCodes (extensible): The domestic partnership status of a person.
... photo 0..* Attachment Image of the person
... communication 0..* BackboneElement A language which may be used to communicate with the person about his or her health
.... id 0..1 string Unique id for inter-element referencing
.... extension 0..* Extension Additional content defined by implementations
.... modifierExtension ?!Σ 0..* Extension Extensions that cannot be ignored even if unrecognized
.... language 1..1 CodeableConcept The language which can be used to communicate with the person about his or her health
Binding: AllLanguages (required): IETF language tag for a human language
Additional BindingsPurpose
CommonLanguages Starter
.... preferred 0..1 boolean Language preference indicator
... managingOrganization Σ 0..1 Reference(Organization) The organization that is the custodian of the person record
... link 0..* BackboneElement Link to a resource that concerns the same actual person
.... id 0..1 string Unique id for inter-element referencing
.... extension 0..* Extension Additional content defined by implementations
.... modifierExtension ?!Σ 0..* Extension Extensions that cannot be ignored even if unrecognized
.... target 1..1 Reference(Patient | Practitioner | RelatedPerson | Person) The resource to which this actual person is associated
.... assurance 0..1 code level1 | level2 | level3 | level4
Binding: IdentityAssuranceLevel (required): The level of confidence that this link represents the same actual person, based on NIST Authentication Levels.

doco Documentation for this format

Terminology Bindings

Path Status Usage ValueSet Version Source
Person.language Base required All Languages 📍5.0.0 FHIR Std.
Person.gender Base required AdministrativeGender 📍5.0.0 FHIR Std.
Person.maritalStatus Base extensible Marital Status Codes 📍5.0.0 FHIR Std.
Person.communication.​language Base required All Languages 📍5.0.0 FHIR Std.
Person.link.assurance Base required Identity Assurance Level 📍5.0.0 FHIR Std.

Constraints

Id Grade Path(s) Description Expression
dom-2 error Person If the resource is contained in another resource, it SHALL NOT contain nested Resources contained.contained.empty()
dom-3 error Person If the resource is contained in another resource, it SHALL be referred to from elsewhere in the resource or SHALL refer to the containing resource contained.where((('#'+id in (%resource.descendants().reference | %resource.descendants().ofType(canonical) | %resource.descendants().ofType(uri) | %resource.descendants().ofType(url))) or descendants().where(reference = '#').exists() or descendants().where(ofType(canonical) = '#').exists() or descendants().where(ofType(canonical) = '#').exists()).not()).trace('unmatched', id).empty()
dom-4 error Person If a resource is contained in another resource, it SHALL NOT have a meta.versionId or a meta.lastUpdated contained.meta.versionId.empty() and contained.meta.lastUpdated.empty()
dom-5 error Person If a resource is contained in another resource, it SHALL NOT have a security label contained.meta.security.empty()
dom-6 best practice Person A resource should have narrative for robust management text.`div`.exists()
ele-1 error **ALL** elements All FHIR elements must have a @value or children hasValue() or (children().count() > id.count())
ext-1 error **ALL** extensions Must have either extensions or value[x], not both extension.exists() != value.exists()

This structure is derived from Person

Summary

Mandatory: 2 elements

Key Elements View

NameFlagsCard.TypeDescription & Constraints    Filter: Filtersdoco
.. Person 0..* Person A generic person record
... implicitRules ?!Σ 0..1 uri A set of rules under which this content was created
... contained 0..* Resource Contained, inline Resources
... modifierExtension ?!Σ 0..* Extension Extensions that cannot be ignored
... active ?!Σ 1..1 boolean This person's record is in active use
Required Pattern: true

doco Documentation for this format

Constraints

Id Grade Path(s) Description Expression
dom-2 error Person If the resource is contained in another resource, it SHALL NOT contain nested Resources contained.contained.empty()
dom-3 error Person If the resource is contained in another resource, it SHALL be referred to from elsewhere in the resource or SHALL refer to the containing resource contained.where((('#'+id in (%resource.descendants().reference | %resource.descendants().ofType(canonical) | %resource.descendants().ofType(uri) | %resource.descendants().ofType(url))) or descendants().where(reference = '#').exists() or descendants().where(ofType(canonical) = '#').exists() or descendants().where(ofType(canonical) = '#').exists()).not()).trace('unmatched', id).empty()
dom-4 error Person If a resource is contained in another resource, it SHALL NOT have a meta.versionId or a meta.lastUpdated contained.meta.versionId.empty() and contained.meta.lastUpdated.empty()
dom-5 error Person If a resource is contained in another resource, it SHALL NOT have a security label contained.meta.security.empty()
dom-6 best practice Person A resource should have narrative for robust management text.`div`.exists()
ele-1 error **ALL** elements All FHIR elements must have a @value or children hasValue() or (children().count() > id.count())
ext-1 error **ALL** extensions Must have either extensions or value[x], not both extension.exists() != value.exists()

Differential View

This structure is derived from Person

NameFlagsCard.TypeDescription & Constraints    Filter: Filtersdoco
.. Person 0..* Person A generic person record
... identifier 1..* Identifier A human identifier for this person
... active 1..1 boolean This person's record is in active use
Required Pattern: true

doco Documentation for this format

Snapshot View

NameFlagsCard.TypeDescription & Constraints    Filter: Filtersdoco
.. Person 0..* Person A generic person record
... id Σ 0..1 id Logical id of this artifact
... meta Σ 0..1 Meta Metadata about the resource
... implicitRules ?!Σ 0..1 uri A set of rules under which this content was created
... text 0..1 Narrative Text summary of the resource, for human interpretation
This profile does not constrain the narrative in regard to content, language, or traceability to data elements
... contained 0..* Resource Contained, inline Resources
... extension 0..* Extension Additional content defined by implementations
... modifierExtension ?!Σ 0..* Extension Extensions that cannot be ignored
... identifier Σ 1..* Identifier A human identifier for this person
... active ?!Σ 1..1 boolean This person's record is in active use
Required Pattern: true
... name Σ 0..* HumanName A name associated with the person
... telecom Σ 0..* ContactPoint A contact detail for the person
... gender Σ 0..1 code male | female | other | unknown
Binding: AdministrativeGender (required): The gender of a person used for administrative purposes.
... birthDate Σ 0..1 date The date on which the person was born
... deceased[x] Σ 0..1 Indicates if the individual is deceased or not
.... deceasedBoolean boolean
.... deceasedDateTime dateTime
... address Σ 0..* Address One or more addresses for the person
... maritalStatus 0..1 CodeableConcept Marital (civil) status of a person
Binding: MaritalStatusCodes (extensible): The domestic partnership status of a person.
... photo 0..* Attachment Image of the person
... communication 0..* BackboneElement A language which may be used to communicate with the person about his or her health
.... id 0..1 string Unique id for inter-element referencing
.... extension 0..* Extension Additional content defined by implementations
.... modifierExtension ?!Σ 0..* Extension Extensions that cannot be ignored even if unrecognized
.... language 1..1 CodeableConcept The language which can be used to communicate with the person about his or her health
Binding: AllLanguages (required): IETF language tag for a human language
Additional BindingsPurpose
CommonLanguages Starter
.... preferred 0..1 boolean Language preference indicator
... managingOrganization Σ 0..1 Reference(Organization) The organization that is the custodian of the person record
... link 0..* BackboneElement Link to a resource that concerns the same actual person
.... id 0..1 string Unique id for inter-element referencing
.... extension 0..* Extension Additional content defined by implementations
.... modifierExtension ?!Σ 0..* Extension Extensions that cannot be ignored even if unrecognized
.... target 1..1 Reference(Patient | Practitioner | RelatedPerson | Person) The resource to which this actual person is associated
.... assurance 0..1 code level1 | level2 | level3 | level4
Binding: IdentityAssuranceLevel (required): The level of confidence that this link represents the same actual person, based on NIST Authentication Levels.

doco Documentation for this format

Terminology Bindings

Path Status Usage ValueSet Version Source
Person.language Base required All Languages 📍5.0.0 FHIR Std.
Person.gender Base required AdministrativeGender 📍5.0.0 FHIR Std.
Person.maritalStatus Base extensible Marital Status Codes 📍5.0.0 FHIR Std.
Person.communication.​language Base required All Languages 📍5.0.0 FHIR Std.
Person.link.assurance Base required Identity Assurance Level 📍5.0.0 FHIR Std.

Constraints

Id Grade Path(s) Description Expression
dom-2 error Person If the resource is contained in another resource, it SHALL NOT contain nested Resources contained.contained.empty()
dom-3 error Person If the resource is contained in another resource, it SHALL be referred to from elsewhere in the resource or SHALL refer to the containing resource contained.where((('#'+id in (%resource.descendants().reference | %resource.descendants().ofType(canonical) | %resource.descendants().ofType(uri) | %resource.descendants().ofType(url))) or descendants().where(reference = '#').exists() or descendants().where(ofType(canonical) = '#').exists() or descendants().where(ofType(canonical) = '#').exists()).not()).trace('unmatched', id).empty()
dom-4 error Person If a resource is contained in another resource, it SHALL NOT have a meta.versionId or a meta.lastUpdated contained.meta.versionId.empty() and contained.meta.lastUpdated.empty()
dom-5 error Person If a resource is contained in another resource, it SHALL NOT have a security label contained.meta.security.empty()
dom-6 best practice Person A resource should have narrative for robust management text.`div`.exists()
ele-1 error **ALL** elements All FHIR elements must have a @value or children hasValue() or (children().count() > id.count())
ext-1 error **ALL** extensions Must have either extensions or value[x], not both extension.exists() != value.exists()

This structure is derived from Person

Summary

Mandatory: 2 elements

 

Other representations of profile: CSV, Excel, Schematron