OpenMRS Core FHIR Implementation Guide
0.1.0 - ci-build

OpenMRS Core FHIR Implementation Guide - Local Development build (v0.1.0). See the Directory of published versions

Resource Profile: OpenMRS Person

Official URL: http://fhir.openmrs.org/core/StructureDefinition/omrs-person Version: 0.1.0
Active as of 2023-06-23 Computable Name: OMRSPerson

A FHIR Person as understood by OpenMRS

Usage:

Formal Views of Profile Content

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

This structure is derived from Person

NameFlagsCard.TypeDescription & Constraintsdoco
.. Person 0..*PersonA generic person record
... id 1..1idLogical id of this artifact
... identifier 0..*IdentifierA human identifier for this person
... name 1..*HumanNameA name associated with the person
... gender 1..1codemale | female | other | unknown
... birthDate 1..1dateThe date on which the person was born
... address 0..*AddressOne or more addresses for the person
... active 1..1booleanThis person's record is in active use
Required Pattern: true
... link 0..*BackboneElementLink to a resource that concerns the same actual person

doco Documentation for this format
NameFlagsCard.TypeDescription & Constraintsdoco
.. Person 0..*PersonA generic person record
... id Σ1..1idLogical id of this artifact
... implicitRules ?!Σ0..1uriA set of rules under which this content was created
... modifierExtension ?!0..*ExtensionExtensions that cannot be ignored
... name Σ1..*HumanNameA name associated with the person
... telecom Σ0..*ContactPointA contact detail for the person
... gender Σ1..1codemale | female | other | unknown
Binding: AdministrativeGender (required): The gender of a person used for administrative purposes.

... birthDate Σ1..1dateThe date on which the person was born
... address 0..*AddressOne or more addresses for the person
... active ?!Σ1..1booleanThis person's record is in active use
Required Pattern: true
... link 0..*BackboneElementLink to a resource that concerns the same actual person
.... modifierExtension ?!Σ0..*ExtensionExtensions that cannot be ignored even if unrecognized
.... target 1..1Reference(Patient | Practitioner | RelatedPerson | Person)The resource to which this actual person is associated

doco Documentation for this format

Terminology Bindings

PathConformanceValueSet
Person.genderrequiredAdministrativeGender

Constraints

IdGradePath(s)DetailsRequirements
dom-2errorPersonIf the resource is contained in another resource, it SHALL NOT contain nested Resources
: contained.contained.empty()
dom-3errorPersonIf 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().as(canonical) | %resource.descendants().as(uri) | %resource.descendants().as(url))) or descendants().where(reference = '#').exists() or descendants().where(as(canonical) = '#').exists() or descendants().where(as(canonical) = '#').exists()).not()).trace('unmatched', id).empty()
dom-4errorPersonIf 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-5errorPersonIf a resource is contained in another resource, it SHALL NOT have a security label
: contained.meta.security.empty()
dom-6best practicePersonA resource should have narrative for robust management
: text.`div`.exists()
ele-1error**ALL** elementsAll FHIR elements must have a @value or children
: hasValue() or (children().count() > id.count())
ext-1error**ALL** extensionsMust have either extensions or value[x], not both
: extension.exists() != value.exists()
NameFlagsCard.TypeDescription & Constraintsdoco
.. Person 0..*PersonA generic person record
... id Σ1..1idLogical id of this artifact
... meta Σ0..1MetaMetadata about the resource
... implicitRules ?!Σ0..1uriA set of rules under which this content was created
... text 0..1NarrativeText summary of the resource, for human interpretation
... contained 0..*ResourceContained, inline Resources
... extension 0..*ExtensionAdditional content defined by implementations
... modifierExtension ?!0..*ExtensionExtensions that cannot be ignored
... identifier 0..*IdentifierA human identifier for this person
... name Σ1..*HumanNameA name associated with the person
... telecom Σ0..*ContactPointA contact detail for the person
... gender Σ1..1codemale | female | other | unknown
Binding: AdministrativeGender (required): The gender of a person used for administrative purposes.

... birthDate Σ1..1dateThe date on which the person was born
... address 0..*AddressOne or more addresses for the person
... photo 0..1AttachmentImage of the person
... managingOrganization Σ0..1Reference(Organization)The organization that is the custodian of the person record
... active ?!Σ1..1booleanThis person's record is in active use
Required Pattern: true
... link 0..*BackboneElementLink to a resource that concerns the same actual person
.... id 0..1stringUnique id for inter-element referencing
.... extension 0..*ExtensionAdditional content defined by implementations
.... modifierExtension ?!Σ0..*ExtensionExtensions that cannot be ignored even if unrecognized
.... target 1..1Reference(Patient | Practitioner | RelatedPerson | Person)The resource to which this actual person is associated
.... assurance 0..1codelevel1 | 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

PathConformanceValueSet
Person.languagepreferredCommonLanguages
Additional Bindings Purpose
AllLanguages Max Binding
Person.genderrequiredAdministrativeGender
Person.link.assurancerequiredIdentityAssuranceLevel

Constraints

IdGradePath(s)DetailsRequirements
ele-1error**ALL** elementsAll FHIR elements must have a @value or children
: hasValue() or (children().count() > id.count())
ext-1error**ALL** extensionsMust have either extensions or value[x], not both
: extension.exists() != value.exists()

This structure is derived from Person

Summary

Mandatory: 5 elements

Differential View

This structure is derived from Person

NameFlagsCard.TypeDescription & Constraintsdoco
.. Person 0..*PersonA generic person record
... id 1..1idLogical id of this artifact
... identifier 0..*IdentifierA human identifier for this person
... name 1..*HumanNameA name associated with the person
... gender 1..1codemale | female | other | unknown
... birthDate 1..1dateThe date on which the person was born
... address 0..*AddressOne or more addresses for the person
... active 1..1booleanThis person's record is in active use
Required Pattern: true
... link 0..*BackboneElementLink to a resource that concerns the same actual person

doco Documentation for this format

Key Elements View

NameFlagsCard.TypeDescription & Constraintsdoco
.. Person 0..*PersonA generic person record
... id Σ1..1idLogical id of this artifact
... implicitRules ?!Σ0..1uriA set of rules under which this content was created
... modifierExtension ?!0..*ExtensionExtensions that cannot be ignored
... name Σ1..*HumanNameA name associated with the person
... telecom Σ0..*ContactPointA contact detail for the person
... gender Σ1..1codemale | female | other | unknown
Binding: AdministrativeGender (required): The gender of a person used for administrative purposes.

... birthDate Σ1..1dateThe date on which the person was born
... address 0..*AddressOne or more addresses for the person
... active ?!Σ1..1booleanThis person's record is in active use
Required Pattern: true
... link 0..*BackboneElementLink to a resource that concerns the same actual person
.... modifierExtension ?!Σ0..*ExtensionExtensions that cannot be ignored even if unrecognized
.... target 1..1Reference(Patient | Practitioner | RelatedPerson | Person)The resource to which this actual person is associated

doco Documentation for this format

Terminology Bindings

PathConformanceValueSet
Person.genderrequiredAdministrativeGender

Constraints

IdGradePath(s)DetailsRequirements
dom-2errorPersonIf the resource is contained in another resource, it SHALL NOT contain nested Resources
: contained.contained.empty()
dom-3errorPersonIf 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().as(canonical) | %resource.descendants().as(uri) | %resource.descendants().as(url))) or descendants().where(reference = '#').exists() or descendants().where(as(canonical) = '#').exists() or descendants().where(as(canonical) = '#').exists()).not()).trace('unmatched', id).empty()
dom-4errorPersonIf 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-5errorPersonIf a resource is contained in another resource, it SHALL NOT have a security label
: contained.meta.security.empty()
dom-6best practicePersonA resource should have narrative for robust management
: text.`div`.exists()
ele-1error**ALL** elementsAll FHIR elements must have a @value or children
: hasValue() or (children().count() > id.count())
ext-1error**ALL** extensionsMust have either extensions or value[x], not both
: extension.exists() != value.exists()

Snapshot View

NameFlagsCard.TypeDescription & Constraintsdoco
.. Person 0..*PersonA generic person record
... id Σ1..1idLogical id of this artifact
... meta Σ0..1MetaMetadata about the resource
... implicitRules ?!Σ0..1uriA set of rules under which this content was created
... text 0..1NarrativeText summary of the resource, for human interpretation
... contained 0..*ResourceContained, inline Resources
... extension 0..*ExtensionAdditional content defined by implementations
... modifierExtension ?!0..*ExtensionExtensions that cannot be ignored
... identifier 0..*IdentifierA human identifier for this person
... name Σ1..*HumanNameA name associated with the person
... telecom Σ0..*ContactPointA contact detail for the person
... gender Σ1..1codemale | female | other | unknown
Binding: AdministrativeGender (required): The gender of a person used for administrative purposes.

... birthDate Σ1..1dateThe date on which the person was born
... address 0..*AddressOne or more addresses for the person
... photo 0..1AttachmentImage of the person
... managingOrganization Σ0..1Reference(Organization)The organization that is the custodian of the person record
... active ?!Σ1..1booleanThis person's record is in active use
Required Pattern: true
... link 0..*BackboneElementLink to a resource that concerns the same actual person
.... id 0..1stringUnique id for inter-element referencing
.... extension 0..*ExtensionAdditional content defined by implementations
.... modifierExtension ?!Σ0..*ExtensionExtensions that cannot be ignored even if unrecognized
.... target 1..1Reference(Patient | Practitioner | RelatedPerson | Person)The resource to which this actual person is associated
.... assurance 0..1codelevel1 | 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

PathConformanceValueSet
Person.languagepreferredCommonLanguages
Additional Bindings Purpose
AllLanguages Max Binding
Person.genderrequiredAdministrativeGender
Person.link.assurancerequiredIdentityAssuranceLevel

Constraints

IdGradePath(s)DetailsRequirements
ele-1error**ALL** elementsAll FHIR elements must have a @value or children
: hasValue() or (children().count() > id.count())
ext-1error**ALL** extensionsMust have either extensions or value[x], not both
: extension.exists() != value.exists()

This structure is derived from Person

Summary

Mandatory: 5 elements

 

Other representations of profile: CSV, Excel, Schematron