HL7 FHIR Implementation Guide: Rwanda HIV
0.1.0 - STU1 International flag

HL7 FHIR Implementation Guide: Rwanda HIV, published by Jembi Health Systems. This is not an authorized publication; it is the continuous build for version 0.1.0). This version is based on the current content of https://github.com/openhie/Rwanda-HIV and changes regularly. See the Directory of published versions

Resource Profile: HIV Patient

Official URL: http://openhie.org/fhir/rwanda-hiv/StructureDefinition/hiv-patient Version: 0.1.0
Active as of 2023-09-15 Computable Name: HIVPatient

Is used to document demographics and other administrative information about a HIV individual receiving care or other health-related services.

Usage:

Formal Views of Profile Content

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

This structure is derived from Patient

NameFlagsCard.TypeDescription & Constraintsdoco
.. Patient 0..*PatientInformation about an individual or animal receiving health care services
... Slices for extension 0..*ExtensionExtension
Slice: Unordered, Open by value:url
... PAM S0..1integerPatient Age In Months
URL: http://openhie.org/fhir/rwanda-hiv/StructureDefinition/patient-age-months
... PAY S0..1integerPatient Age In Years
URL: http://openhie.org/fhir/rwanda-hiv/StructureDefinition/patient-age-years
.... family S0..1stringFamily name (often called 'Surname')
.... given S1..*stringGiven names (not always 'first'). Includes middle names
... telecom S0..*ContactPointA contact detail for the individual
... gender 1..1codemale | female | other | unknown
... birthDate S0..1dateThe date of birth for the individual
... managingOrganization 1..1Reference(Organization)Organization that is the custodian of the patient record

doco Documentation for this format
NameFlagsCard.TypeDescription & Constraintsdoco
.. Patient 0..*PatientInformation about an individual or animal receiving health care services
... implicitRules ?!Σ0..1uriA set of rules under which this content was created
... contained 0..*ResourceContained, inline Resources
... Slices for extension 0..*ExtensionExtension
Slice: Unordered, Open by value:url
... PAY S0..1integerPatient Age In Years
URL: http://openhie.org/fhir/rwanda-hiv/StructureDefinition/patient-age-years
... modifierExtension ?!Σ0..*ExtensionExtensions that cannot be ignored
... active ?!Σ0..1booleanWhether this patient's record is in active use
... name Σ0..*HumanNameA name associated with the patient
.... use ?!Σ0..1codeusual | official | temp | nickname | anonymous | old | maiden
Binding: NameUse (required): The use of a human name.

.... family SΣ0..1stringFamily name (often called 'Surname')
.... given SΣ1..*stringGiven names (not always 'first'). Includes middle names
This repeating element order: Given Names appear in the correct order for presenting the name
... telecom SΣ0..*ContactPointA contact detail for the individual
... gender Σ1..1codemale | female | other | unknown
Binding: AdministrativeGender (required): The gender of a person used for administrative purposes.

... birthDate SΣ0..1dateThe date of birth for the individual
... deceased[x] ?!Σ0..1Indicates if the individual is deceased or not
.... deceasedBooleanboolean
.... deceasedDateTimedateTime
... managingOrganization Σ1..1Reference(Organization)Organization that is the custodian of the patient record
... link ?!Σ0..*BackboneElementLink to a Patient or RelatedPerson resource that concerns the same actual individual
.... modifierExtension ?!Σ0..*ExtensionExtensions that cannot be ignored even if unrecognized
.... other Σ1..1Reference(Patient | RelatedPerson)The other patient or related person resource that the link refers to
.... type Σ1..1codereplaced-by | replaces | refer | seealso
Binding: LinkType (required): The type of link between this patient resource and another Patient resource, or Patient/RelatedPerson when using the seealso code


doco Documentation for this format

Terminology Bindings

PathConformanceValueSet
Patient.name.userequiredNameUse
Patient.genderrequiredAdministrativeGender
Patient.link.typerequiredLinkType

Constraints

IdGradePath(s)DetailsRequirements
dom-2errorPatientIf the resource is contained in another resource, it SHALL NOT contain nested Resources
: contained.contained.empty()
dom-3errorPatientIf 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-4errorPatientIf 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-5errorPatientIf a resource is contained in another resource, it SHALL NOT have a security label
: contained.meta.security.empty()
dom-6best practicePatientA 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
.. Patient 0..*PatientInformation about an individual or animal receiving health care services
... id Σ0..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
... Slices for extension 0..*ExtensionExtension
Slice: Unordered, Open by value:url
... PAM S0..1integerPatient Age In Months
URL: http://openhie.org/fhir/rwanda-hiv/StructureDefinition/patient-age-months
... PAY S0..1integerPatient Age In Years
URL: http://openhie.org/fhir/rwanda-hiv/StructureDefinition/patient-age-years
... modifierExtension ?!Σ0..*ExtensionExtensions that cannot be ignored
... identifier Σ0..*IdentifierAn identifier for this patient
... active ?!Σ0..1booleanWhether this patient's record is in active use
... name Σ0..*HumanNameA name associated with the patient
.... id 0..1idUnique id for inter-element referencing
.... extension 0..*ExtensionAdditional content defined by implementations
Slice: Unordered, Open by value:url
.... use ?!Σ0..1codeusual | official | temp | nickname | anonymous | old | maiden
Binding: NameUse (required): The use of a human name.

.... text Σ0..1stringText representation of the full name
.... family SΣ0..1stringFamily name (often called 'Surname')
.... given SΣ1..*stringGiven names (not always 'first'). Includes middle names
This repeating element order: Given Names appear in the correct order for presenting the name
.... prefix Σ0..*stringParts that come before the name
This repeating element order: Prefixes appear in the correct order for presenting the name
.... suffix Σ0..*stringParts that come after the name
This repeating element order: Suffixes appear in the correct order for presenting the name
.... period Σ0..1PeriodTime period when name was/is in use
... telecom SΣ0..*ContactPointA contact detail for the individual
... gender Σ1..1codemale | female | other | unknown
Binding: AdministrativeGender (required): The gender of a person used for administrative purposes.

... birthDate SΣ0..1dateThe date of birth for the individual
... deceased[x] ?!Σ0..1Indicates if the individual is deceased or not
.... deceasedBooleanboolean
.... deceasedDateTimedateTime
... address Σ0..*AddressAn address for the individual
... maritalStatus 0..1CodeableConceptMarital (civil) status of a patient
Binding: MaritalStatusCodes (extensible): The domestic partnership status of a person.

... multipleBirth[x] 0..1Whether patient is part of a multiple birth
.... multipleBirthBooleanboolean
.... multipleBirthIntegerinteger
... photo 0..*AttachmentImage of the patient
... contact C0..*BackboneElementA contact party (e.g. guardian, partner, friend) for the patient
.... 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
.... relationship 0..*CodeableConceptThe kind of relationship
Binding: PatientContactRelationship (extensible): The nature of the relationship between a patient and a contact person for that patient.


.... name C0..1HumanNameA name associated with the contact person
.... telecom C0..*ContactPointA contact detail for the person
.... address C0..1AddressAddress for the contact person
.... gender 0..1codemale | female | other | unknown
Binding: AdministrativeGender (required): The gender of a person used for administrative purposes.

.... organization C0..1Reference(Organization)Organization that is associated with the contact
.... period 0..1PeriodThe period during which this contact person or organization is valid to be contacted relating to this patient
... communication 0..*BackboneElementA language which may be used to communicate with the patient about his or her health
.... 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
.... language 1..1CodeableConceptThe language which can be used to communicate with the patient about his or her health
Binding: AllLanguages (required): IETF language tag for a human language

.... preferred 0..1booleanLanguage preference indicator
... generalPractitioner 0..*Reference(Organization | Practitioner | PractitionerRole)Patient's nominated primary care provider
... managingOrganization Σ1..1Reference(Organization)Organization that is the custodian of the patient record
... link ?!Σ0..*BackboneElementLink to a Patient or RelatedPerson resource that concerns the same actual individual
.... 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
.... other Σ1..1Reference(Patient | RelatedPerson)The other patient or related person resource that the link refers to
.... type Σ1..1codereplaced-by | replaces | refer | seealso
Binding: LinkType (required): The type of link between this patient resource and another Patient resource, or Patient/RelatedPerson when using the seealso code


doco Documentation for this format

Terminology Bindings

PathConformanceValueSet
Patient.languagerequiredAllLanguages
Patient.name.userequiredNameUse
Patient.genderrequiredAdministrativeGender
Patient.maritalStatusextensibleMaritalStatusCodes
Patient.contact.relationshipextensiblePatientContactRelationship
Patient.contact.genderrequiredAdministrativeGender
Patient.communication.languagerequiredAllLanguages
Patient.link.typerequiredLinkType

Constraints

IdGradePath(s)DetailsRequirements
dom-2errorPatientIf the resource is contained in another resource, it SHALL NOT contain nested Resources
: contained.contained.empty()
dom-3errorPatientIf 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-4errorPatientIf 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-5errorPatientIf a resource is contained in another resource, it SHALL NOT have a security label
: contained.meta.security.empty()
dom-6best practicePatientA 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()
pat-1errorPatient.contactSHALL at least contain a contact's details or a reference to an organization
: name.exists() or telecom.exists() or address.exists() or organization.exists()

This structure is derived from Patient

Summary

Mandatory: 2 elements (1 nested mandatory element)
Must-Support: 6 elements

Extensions

This structure refers to these extensions:

Differential View

This structure is derived from Patient

NameFlagsCard.TypeDescription & Constraintsdoco
.. Patient 0..*PatientInformation about an individual or animal receiving health care services
... Slices for extension 0..*ExtensionExtension
Slice: Unordered, Open by value:url
... PAM S0..1integerPatient Age In Months
URL: http://openhie.org/fhir/rwanda-hiv/StructureDefinition/patient-age-months
... PAY S0..1integerPatient Age In Years
URL: http://openhie.org/fhir/rwanda-hiv/StructureDefinition/patient-age-years
.... family S0..1stringFamily name (often called 'Surname')
.... given S1..*stringGiven names (not always 'first'). Includes middle names
... telecom S0..*ContactPointA contact detail for the individual
... gender 1..1codemale | female | other | unknown
... birthDate S0..1dateThe date of birth for the individual
... managingOrganization 1..1Reference(Organization)Organization that is the custodian of the patient record

doco Documentation for this format

Key Elements View

NameFlagsCard.TypeDescription & Constraintsdoco
.. Patient 0..*PatientInformation about an individual or animal receiving health care services
... implicitRules ?!Σ0..1uriA set of rules under which this content was created
... contained 0..*ResourceContained, inline Resources
... Slices for extension 0..*ExtensionExtension
Slice: Unordered, Open by value:url
... PAY S0..1integerPatient Age In Years
URL: http://openhie.org/fhir/rwanda-hiv/StructureDefinition/patient-age-years
... modifierExtension ?!Σ0..*ExtensionExtensions that cannot be ignored
... active ?!Σ0..1booleanWhether this patient's record is in active use
... name Σ0..*HumanNameA name associated with the patient
.... use ?!Σ0..1codeusual | official | temp | nickname | anonymous | old | maiden
Binding: NameUse (required): The use of a human name.

.... family SΣ0..1stringFamily name (often called 'Surname')
.... given SΣ1..*stringGiven names (not always 'first'). Includes middle names
This repeating element order: Given Names appear in the correct order for presenting the name
... telecom SΣ0..*ContactPointA contact detail for the individual
... gender Σ1..1codemale | female | other | unknown
Binding: AdministrativeGender (required): The gender of a person used for administrative purposes.

... birthDate SΣ0..1dateThe date of birth for the individual
... deceased[x] ?!Σ0..1Indicates if the individual is deceased or not
.... deceasedBooleanboolean
.... deceasedDateTimedateTime
... managingOrganization Σ1..1Reference(Organization)Organization that is the custodian of the patient record
... link ?!Σ0..*BackboneElementLink to a Patient or RelatedPerson resource that concerns the same actual individual
.... modifierExtension ?!Σ0..*ExtensionExtensions that cannot be ignored even if unrecognized
.... other Σ1..1Reference(Patient | RelatedPerson)The other patient or related person resource that the link refers to
.... type Σ1..1codereplaced-by | replaces | refer | seealso
Binding: LinkType (required): The type of link between this patient resource and another Patient resource, or Patient/RelatedPerson when using the seealso code


doco Documentation for this format

Terminology Bindings

PathConformanceValueSet
Patient.name.userequiredNameUse
Patient.genderrequiredAdministrativeGender
Patient.link.typerequiredLinkType

Constraints

IdGradePath(s)DetailsRequirements
dom-2errorPatientIf the resource is contained in another resource, it SHALL NOT contain nested Resources
: contained.contained.empty()
dom-3errorPatientIf 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-4errorPatientIf 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-5errorPatientIf a resource is contained in another resource, it SHALL NOT have a security label
: contained.meta.security.empty()
dom-6best practicePatientA 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
.. Patient 0..*PatientInformation about an individual or animal receiving health care services
... id Σ0..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
... Slices for extension 0..*ExtensionExtension
Slice: Unordered, Open by value:url
... PAM S0..1integerPatient Age In Months
URL: http://openhie.org/fhir/rwanda-hiv/StructureDefinition/patient-age-months
... PAY S0..1integerPatient Age In Years
URL: http://openhie.org/fhir/rwanda-hiv/StructureDefinition/patient-age-years
... modifierExtension ?!Σ0..*ExtensionExtensions that cannot be ignored
... identifier Σ0..*IdentifierAn identifier for this patient
... active ?!Σ0..1booleanWhether this patient's record is in active use
... name Σ0..*HumanNameA name associated with the patient
.... id 0..1idUnique id for inter-element referencing
.... extension 0..*ExtensionAdditional content defined by implementations
Slice: Unordered, Open by value:url
.... use ?!Σ0..1codeusual | official | temp | nickname | anonymous | old | maiden
Binding: NameUse (required): The use of a human name.

.... text Σ0..1stringText representation of the full name
.... family SΣ0..1stringFamily name (often called 'Surname')
.... given SΣ1..*stringGiven names (not always 'first'). Includes middle names
This repeating element order: Given Names appear in the correct order for presenting the name
.... prefix Σ0..*stringParts that come before the name
This repeating element order: Prefixes appear in the correct order for presenting the name
.... suffix Σ0..*stringParts that come after the name
This repeating element order: Suffixes appear in the correct order for presenting the name
.... period Σ0..1PeriodTime period when name was/is in use
... telecom SΣ0..*ContactPointA contact detail for the individual
... gender Σ1..1codemale | female | other | unknown
Binding: AdministrativeGender (required): The gender of a person used for administrative purposes.

... birthDate SΣ0..1dateThe date of birth for the individual
... deceased[x] ?!Σ0..1Indicates if the individual is deceased or not
.... deceasedBooleanboolean
.... deceasedDateTimedateTime
... address Σ0..*AddressAn address for the individual
... maritalStatus 0..1CodeableConceptMarital (civil) status of a patient
Binding: MaritalStatusCodes (extensible): The domestic partnership status of a person.

... multipleBirth[x] 0..1Whether patient is part of a multiple birth
.... multipleBirthBooleanboolean
.... multipleBirthIntegerinteger
... photo 0..*AttachmentImage of the patient
... contact C0..*BackboneElementA contact party (e.g. guardian, partner, friend) for the patient
.... 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
.... relationship 0..*CodeableConceptThe kind of relationship
Binding: PatientContactRelationship (extensible): The nature of the relationship between a patient and a contact person for that patient.


.... name C0..1HumanNameA name associated with the contact person
.... telecom C0..*ContactPointA contact detail for the person
.... address C0..1AddressAddress for the contact person
.... gender 0..1codemale | female | other | unknown
Binding: AdministrativeGender (required): The gender of a person used for administrative purposes.

.... organization C0..1Reference(Organization)Organization that is associated with the contact
.... period 0..1PeriodThe period during which this contact person or organization is valid to be contacted relating to this patient
... communication 0..*BackboneElementA language which may be used to communicate with the patient about his or her health
.... 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
.... language 1..1CodeableConceptThe language which can be used to communicate with the patient about his or her health
Binding: AllLanguages (required): IETF language tag for a human language

.... preferred 0..1booleanLanguage preference indicator
... generalPractitioner 0..*Reference(Organization | Practitioner | PractitionerRole)Patient's nominated primary care provider
... managingOrganization Σ1..1Reference(Organization)Organization that is the custodian of the patient record
... link ?!Σ0..*BackboneElementLink to a Patient or RelatedPerson resource that concerns the same actual individual
.... 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
.... other Σ1..1Reference(Patient | RelatedPerson)The other patient or related person resource that the link refers to
.... type Σ1..1codereplaced-by | replaces | refer | seealso
Binding: LinkType (required): The type of link between this patient resource and another Patient resource, or Patient/RelatedPerson when using the seealso code


doco Documentation for this format

Terminology Bindings

PathConformanceValueSet
Patient.languagerequiredAllLanguages
Patient.name.userequiredNameUse
Patient.genderrequiredAdministrativeGender
Patient.maritalStatusextensibleMaritalStatusCodes
Patient.contact.relationshipextensiblePatientContactRelationship
Patient.contact.genderrequiredAdministrativeGender
Patient.communication.languagerequiredAllLanguages
Patient.link.typerequiredLinkType

Constraints

IdGradePath(s)DetailsRequirements
dom-2errorPatientIf the resource is contained in another resource, it SHALL NOT contain nested Resources
: contained.contained.empty()
dom-3errorPatientIf 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-4errorPatientIf 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-5errorPatientIf a resource is contained in another resource, it SHALL NOT have a security label
: contained.meta.security.empty()
dom-6best practicePatientA 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()
pat-1errorPatient.contactSHALL at least contain a contact's details or a reference to an organization
: name.exists() or telecom.exists() or address.exists() or organization.exists()

This structure is derived from Patient

Summary

Mandatory: 2 elements (1 nested mandatory element)
Must-Support: 6 elements

Extensions

This structure refers to these extensions:

 

Other representations of profile: CSV, Excel, Schematron