AU Core Implementation Guide
0.3.0-ballot - R1 Australia flag

This page is part of the AU Core (v0.3.0-ballot: AU Core R1 Ballot 5) based on FHIR (HL7® FHIR® Standard) R4. . For a full list of available versions, see the Directory of published versions

Resource Profile: AU Core Patient

Official URL: http://hl7.org.au/fhir/core/StructureDefinition/au-core-patient Version: 0.3.0-ballot
Standards status: Draft Maturity Level: 0 Computable Name: AUCorePatient

Copyright/Legal: Used by permission of HL7 International, all rights reserved Creative Commons License. HL7 Australia© 2022+; Licensed Under Creative Commons No Rights Reserved.

This profile sets minimum expectations for a Patient resource to record, search, and fetch basic demographics and other administrative information about an individual patient. It is based on the AU Base Patient profile and identifies the additional mandatory core elements, extensions, vocabularies and value sets that SHALL be present in the Patient when conforming to this profile. It provides the floor for standards development for specific uses cases in an Australian context.

Usage scenarios

The following are supported usage scenarios for this profile:

  • Query for records associated with a patient
  • Record or update a record associated with a patient
  • Query for basic demographics and other administrative information about a patient
  • Record or update basic demographics and other administrative information about a patient
  • Read information about a patient referenced by another resource

Comparison with other national and international specifications

A resource conforming to this profile is conformant to:

  • IPA-Patient
  • Patient (IPS)
  • US Core Patient if gender identity is not exchanged. US Core includes the US Gore Gender Identity extension; AU Core requires support of the international Gender Identity extension

Conformance in reverse is not guaranteed, i.e. a resource conforming to International Patient Access, International Patient Summary, or US Core MAY NOT conform to AU Core.

Name to Use (NtU)​

By making name.use a Must Support data element, this profile explicitly supports representation and exchange of the Name to Use data element (as defined in the HL7 Cross Paradigm Implementation Guide: Gender Harmony - Sex and Gender Representation, Edition 1). Name to Use is represented using ‘usual’ in name.use. It should be noted that, name.period is not a Must Support data element in this version of the profile.

Pronouns​

By making Individual Pronouns a Must Support data element, this profile explicitly supports representation and exchange of the Pronouns data element (as defined in the HL7 Cross Paradigm Implementation Guide: Gender Harmony - Sex and Gender Representation, Edition 1).

Gender Identity (GI)

By making Individual Gender Identity a Must Support data element, this profile explicitly supports representation and exchange of the Gender Identity data element (as defined in the HL7 Cross Paradigm Implementation Guide: Gender Harmony - Sex and Gender Representation, Edition 1).

Sex Assigned at Birth

Sex assigned at birth is represented using the Person Recorded Sex or Gender extension extension as profiled by AU Core Sex Assigned At Birth. It should be noted the Person Recorded Sex or Gender extension extension is not marked as Must Support in this version of the profile.

Profile specific implementation guidance

Feedback is requested on the proposal to add Must Support to parts of Patient.name in addition to Patient.name.use. Please comment on HL7 Jira FHIR-44818.

Feedback is requested on making Sex Assiged at Birth a Must Support element in AU Core Patient. Please comment on HL7 JIRA FHIR-44857.

Usage:

Formal Views of Profile Content

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

This structure is derived from AUBasePatient

NameFlagsCard.TypeDescription & Constraintsdoco
.. Patient C0..*AUBasePatientA patient in the context of electronic exchange of health information
au-core-pat-01: At least one patient identifier shall be valid
au-core-pat-02: At least one patient name shall have a family name
... extension:birthPlace S0..1birthPlacePlace of Birth for patient
... extension:indigenousStatus S0..1AustralianIndigenousStatusIndigenous status
... extension:interpreterRequired S0..1interpreterRequiredWhether the patient needs an interpreter
... extension:individualPronouns S0..*PPronounsPronouns shall be a member of the Australian Pronouns value set if any codes within that value set can apply
... Slices for identifier SC1..*Identifier, AUIHI, AUMedicareCardNumber, AUDVANumber, AUHealthCareCardNumber, AUPensionerConcessionCardNumber, AUCwlthSeniorsHealthCardNumber, AUMedicalRecordNumber, AUInsuranceMemberNumberIdentifies this patient across multiple systems
Slice: Unordered, Open by pattern:type
.... identifier:ihi S0..1AUIHIIndividual Healthcare Identifier (IHI)
.... identifier:medicare S0..1AUMedicareCardNumberMedicare Card Number
.... identifier:dva S0..1AUDVANumberDepartment of Veterans' Affairs (DVA) Number
... name SC1..*HumanNameA name associated with the patient
au-core-pat-04: At least text, family name, or given name shall be present
.... use S0..1codeusual | official | temp | nickname | anonymous | old | maiden
... telecom S0..*ContactPointA contact detail for the individual
... gender S1..1codemale | female | other | unknown
... birthDate S1..1dateDate of birth extended for time and accuracy indicator
.... extension:accuracyIndicator S0..1DateAccuracyIndicatorDate accuracy indicator
.... extension:birthTime S0..1birthTimeTime of day of birth
... address S0..*AustralianAddress, AddressAn address for the individual
... communication S0..*BackboneElementA language which may be used to communicate with the patient about his or her health
.... language S1..1CodeableConceptThe language which can be used to communicate with the patient about his or her health
.... preferred S0..1booleanLanguage preference indicator

doco Documentation for this format

Constraints

IdGradePath(s)DetailsRequirements
au-core-pat-01errorPatientAt least one patient identifier shall be valid
: identifier.where(system.count() + value.count() >1).exists()
au-core-pat-02errorPatientAt least one patient name shall have a family name
: name.family.exists()
au-core-pat-04errorPatient.nameAt least text, family name, or given name shall be present
: text.exists() or family.exists() or given.exists()
NameFlagsCard.TypeDescription & Constraintsdoco
.. Patient C0..*AUBasePatientA patient in the context of electronic exchange of health information
inv-pat-0: If present, birth time's date shall be the birth date
inv-pat-1: Individual gender identity shall be a member of the Gender Identity Response value set if any codes within that value set can apply
inv-pat-2: Individual pronouns shall be a member of the Australian Pronouns value set if any codes within that value set can apply
au-core-pat-01: At least one patient identifier shall be valid
au-core-pat-02: At least one patient name shall have a family name
... implicitRules ?!Σ0..1uriA set of rules under which this content was created
... birthPlace S0..1AddressPlace of Birth for patient
URL: http://hl7.org/fhir/StructureDefinition/patient-birthPlace
... indigenousStatus S0..1CodingIndigenous status
URL: http://hl7.org.au/fhir/StructureDefinition/indigenous-status
Binding: Australian Indigenous Status . (required)
... closingTheGapRegistration 0..1booleanClosing the Gap co-payment eligibility indicator
URL: http://hl7.org.au/fhir/StructureDefinition/closing-the-gap-registration
... mothersMaidenName 0..1stringMother's Maiden name
URL: http://hl7.org/fhir/StructureDefinition/patient-mothersMaidenName
... interpreterRequired S0..1booleanWhether the patient needs an interpreter
URL: http://hl7.org/fhir/StructureDefinition/patient-interpreterRequired
... dateOfArrival 0..1dateThe date a person first arrived in Australia, from another country, with the intention of living in Australia for one year or more
URL: http://hl7.org.au/fhir/StructureDefinition/date-of-arrival
... genderIdentity SC0..*(Complex)Gender identity shall be a member of the Gender Identity Response value set if any codes within that value set can apply
URL: http://hl7.org/fhir/StructureDefinition/individual-genderIdentity
... individualPronouns SC0..*(Complex)Pronouns shall be a member of the Australian Pronouns value set if any codes within that value set can apply
URL: http://hl7.org/fhir/StructureDefinition/individual-pronouns
... recordedSexOrGender 0..*(Complex)A recorded sex or gender property for the individual
URL: http://hl7.org/fhir/StructureDefinition/individual-recordedSexOrGender
... modifierExtension ?!0..*ExtensionExtensions that cannot be ignored
... Slices for identifier SC1..*Identifier, AUIHI, AUMedicareCardNumber, AUDVANumber, AUHealthCareCardNumber, AUPensionerConcessionCardNumber, AUCwlthSeniorsHealthCardNumber, AUMedicalRecordNumber, AUInsuranceMemberNumberIdentifies this patient across multiple systems
Slice: Unordered, Open by pattern:type
.... identifier:ihi SC0..1AUIHIIndividual Healthcare Identifier (IHI)
inv-ihi-value-0: IHI shall be an exactly 16 digit number
inv-ihi-value-1: IHI prefix is 800360
inv-ihi-value-2: IHI shall pass the Luhn algorithm check
.... identifier:medicare S0..1AUMedicareCardNumberMedicare Card Number
.... identifier:dva S0..1AUDVANumberDepartment of Veterans' Affairs (DVA) Number
... active ?!Σ0..1booleanWhether this patient's record is in active use
... name SΣC1..*HumanNameA name associated with the patient
au-core-pat-04: At least text, family name, or given name shall be present
.... use ?!SΣ0..1codeusual | official | temp | nickname | anonymous | old | maiden
Binding: NameUse (required): The use of a human name.

... telecom SΣ0..*ContactPointA contact detail for the individual
... gender SΣ1..1codemale | female | other | unknown
Binding: AdministrativeGender (required): The gender of a person used for administrative purposes.

... birthDate SΣC1..1dateDate of birth extended for time and accuracy indicator
.... accuracyIndicator S0..1CodingDate accuracy indicator
URL: http://hl7.org.au/fhir/StructureDefinition/date-accuracy-indicator
Binding: Date Accuracy Indicator . (required): Date accuracy coding


.... birthTime SC0..1dateTimeTime of day of birth
URL: http://hl7.org/fhir/StructureDefinition/patient-birthTime
... Slices for deceased[x] ?!Σ0..1Indicates if the individual is deceased or not
Slice: Unordered, Closed by type:$this
.... deceasedBooleanboolean
.... deceasedDateTimedateTime
.... deceased[x]:deceasedBoolean ?!Σ0..1booleanDeceased indicator
.... deceased[x]:deceasedDateTime ?!Σ0..1dateTimeDeceased date time
..... accuracyIndicator 0..1CodingDeceased date accuracy indicator
URL: http://hl7.org.au/fhir/StructureDefinition/date-accuracy-indicator
Binding: Date Accuracy Indicator . (required): Date accuracy coding


... address SC0..*AustralianAddress, AddressAn address for the individual
inv-add-0: The address shall at least have text or a line
inv-add-1: If asserting no fixed address, the type shall be 'physical'
inv-add-2: If asserting no fixed address, the address text shall begin with 'NO FIXED ADDRESS'
... communication S0..*BackboneElementA language which may be used to communicate with the patient about his or her health
.... modifierExtension ?!Σ0..*ExtensionExtensions that cannot be ignored even if unrecognized
.... language S1..1CodeableConceptThe language which can be used to communicate with the patient about his or her health
Binding: Common Languages in Australia . (extensible)
.... preferred S0..1booleanLanguage preference indicator
... link ?!Σ0..*BackboneElementLink to a Patient or RelatedPerson resource that concerns the same actual person
.... 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.


doco Documentation for this format

Terminology Bindings

PathConformanceValueSetURI
Patient.name.userequiredNameUse
http://hl7.org/fhir/ValueSet/name-use|4.0.1
from the FHIR Standard
Patient.genderrequiredAdministrativeGender
http://hl7.org/fhir/ValueSet/administrative-gender|4.0.1
from the FHIR Standard
Patient.communication.languageextensibleCommonLanguagesInAustralia .
https://healthterminologies.gov.au/fhir/ValueSet/common-languages-australia-2
Patient.link.typerequiredLinkType
http://hl7.org/fhir/ValueSet/link-type|4.0.1
from the FHIR Standard

Constraints

IdGradePath(s)DetailsRequirements
au-core-pat-01errorPatientAt least one patient identifier shall be valid
: identifier.where(system.count() + value.count() >1).exists()
au-core-pat-02errorPatientAt least one patient name shall have a family name
: name.family.exists()
au-core-pat-04errorPatient.nameAt least text, family name, or given name shall be present
: text.exists() or family.exists() or given.exists()
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().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-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()
inv-add-0errorPatient.addressThe address shall at least have text or a line
: text.exists() or line.exists()
inv-add-1errorPatient.addressIf asserting no fixed address, the type shall be 'physical'
: extension('http://hl7.org.au/fhir/StructureDefinition/no-fixed-address').exists() implies type='physical'
inv-add-2errorPatient.addressIf asserting no fixed address, the address text shall begin with 'NO FIXED ADDRESS'
: extension('http://hl7.org.au/fhir/StructureDefinition/no-fixed-address').exists() implies text.startsWith('NO FIXED ADDRESS')
inv-ihi-value-0errorPatient.identifier:ihiIHI shall be an exactly 16 digit number
: value.matches('^([0-9]{16})$')
inv-ihi-value-1errorPatient.identifier:ihiIHI prefix is 800360
: value.startsWith('800360')
inv-ihi-value-2errorPatient.identifier:ihiIHI shall pass the Luhn algorithm check
: (((select(value.substring(0,1).toInteger()).select(iif($this<5, $this*2, (($this*2)-9))))+(value.substring(1,1).toInteger())+(select(value.substring(2,1).toInteger()).select(iif($this<5, $this*2, (($this*2)-9))))+(value.substring(3,1).toInteger())+(select(value.substring(4,1).toInteger()).select(iif($this<5, $this*2, (($this*2)-9))))+(value.substring(5,1).toInteger())+(select(value.substring(6,1).toInteger()).select(iif($this<5, $this*2, (($this*2)-9))))+(value.substring(7,1).toInteger())+(select(value.substring(8,1).toInteger()).select(iif($this<5, $this*2, (($this*2)-9))))+(value.substring(9,1).toInteger())+(select(value.substring(10,1).toInteger()).select(iif($this<5, $this*2, (($this*2)-9))))+(value.substring(11,1).toInteger())+(select(value.substring(12,1).toInteger()).select(iif($this<5, $this*2, (($this*2)-9))))+(value.substring(13,1).toInteger())+(select(value.substring(14,1).toInteger()).select(iif($this<5, $this*2, (($this*2)-9))))+(value.substring(15,1).toInteger()))mod 10=0)
inv-pat-0errorPatientIf present, birth time's date shall be the birth date
: birthDate.extension('http://hl7.org/fhir/StructureDefinition/patient-birthTime').exists() implies birthDate.extension('http://hl7.org/fhir/StructureDefinition/patient-birthTime').value.toString().substring(0,10) = birthDate.toString()
inv-pat-1warningPatientIndividual gender identity shall be a member of the Gender Identity Response value set if any codes within that value set can apply
: extension('http://hl7.org/fhir/StructureDefinition/individual-genderIdentity').empty() or extension('http://hl7.org/fhir/StructureDefinition/individual-genderIdentity').value.memberOf('https://healthterminologies.gov.au/fhir/ValueSet/gender-identity-response-1')
inv-pat-2warningPatientIndividual pronouns shall be a member of the Australian Pronouns value set if any codes within that value set can apply
: extension('http://hl7.org/fhir/StructureDefinition/individual-pronouns').empty() or extension('http://hl7.org/fhir/StructureDefinition/individual-pronouns').value.memberOf('https://healthterminologies.gov.au/fhir/ValueSet/australian-pronouns-1')
NameFlagsCard.TypeDescription & Constraintsdoco
.. Patient C0..*AUBasePatientA patient in the context of electronic exchange of health information
inv-pat-0: If present, birth time's date shall be the birth date
inv-pat-1: Individual gender identity shall be a member of the Gender Identity Response value set if any codes within that value set can apply
inv-pat-2: Individual pronouns shall be a member of the Australian Pronouns value set if any codes within that value set can apply
au-core-pat-01: At least one patient identifier shall be valid
au-core-pat-02: At least one patient name shall have a family name
... 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
... language 0..1codeLanguage of the resource content
Binding: CommonLanguages (preferred): A human language.

Additional BindingsPurpose
AllLanguagesMax Binding
... 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
... birthPlace S0..1AddressPlace of Birth for patient
URL: http://hl7.org/fhir/StructureDefinition/patient-birthPlace
... indigenousStatus S0..1CodingIndigenous status
URL: http://hl7.org.au/fhir/StructureDefinition/indigenous-status
Binding: Australian Indigenous Status . (required)
... veteranStatus 0..*CodingVeteran / Australian Defence Force (ADF) status
URL: http://hl7.org.au/fhir/StructureDefinition/veteran-status
Binding: Australian Veteran Status . (required)
... closingTheGapRegistration 0..1booleanClosing the Gap co-payment eligibility indicator
URL: http://hl7.org.au/fhir/StructureDefinition/closing-the-gap-registration
... mothersMaidenName 0..1stringMother's Maiden name
URL: http://hl7.org/fhir/StructureDefinition/patient-mothersMaidenName
... interpreterRequired S0..1booleanWhether the patient needs an interpreter
URL: http://hl7.org/fhir/StructureDefinition/patient-interpreterRequired
... dateOfArrival 0..1dateThe date a person first arrived in Australia, from another country, with the intention of living in Australia for one year or more
URL: http://hl7.org.au/fhir/StructureDefinition/date-of-arrival
... genderIdentity SC0..*(Complex)Gender identity shall be a member of the Gender Identity Response value set if any codes within that value set can apply
URL: http://hl7.org/fhir/StructureDefinition/individual-genderIdentity
... individualPronouns SC0..*(Complex)Pronouns shall be a member of the Australian Pronouns value set if any codes within that value set can apply
URL: http://hl7.org/fhir/StructureDefinition/individual-pronouns
... recordedSexOrGender 0..*(Complex)A recorded sex or gender property for the individual
URL: http://hl7.org/fhir/StructureDefinition/individual-recordedSexOrGender
... modifierExtension ?!0..*ExtensionExtensions that cannot be ignored
... Slices for identifier SC1..*Identifier, AUIHI, AUMedicareCardNumber, AUDVANumber, AUHealthCareCardNumber, AUPensionerConcessionCardNumber, AUCwlthSeniorsHealthCardNumber, AUMedicalRecordNumber, AUInsuranceMemberNumberIdentifies this patient across multiple systems
Slice: Unordered, Open by pattern:type
.... identifier:ihi SC0..1AUIHIIndividual Healthcare Identifier (IHI)
inv-ihi-value-0: IHI shall be an exactly 16 digit number
inv-ihi-value-1: IHI prefix is 800360
inv-ihi-value-2: IHI shall pass the Luhn algorithm check
.... identifier:medicare S0..1AUMedicareCardNumberMedicare Card Number
.... identifier:dva S0..1AUDVANumberDepartment of Veterans' Affairs (DVA) Number
... active ?!Σ0..1booleanWhether this patient's record is in active use
... name SΣC1..*HumanNameA name associated with the patient
au-core-pat-04: At least text, family name, or given name shall be present
.... id 0..1stringUnique id for inter-element referencing
.... extension 0..*ExtensionAdditional content defined by implementations
Slice: Unordered, Open by value:url
.... use ?!SΣ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 Σ0..1stringFamily name (often called 'Surname')
.... given Σ0..*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 SΣ1..1codemale | female | other | unknown
Binding: AdministrativeGender (required): The gender of a person used for administrative purposes.

... birthDate SΣC1..1dateDate of birth extended for time and accuracy indicator
.... id 0..1stringxml:id (or equivalent in JSON)
.... Slices for extension 0..*ExtensionExtension
Slice: Unordered, Open by value:url
.... accuracyIndicator S0..1CodingDate accuracy indicator
URL: http://hl7.org.au/fhir/StructureDefinition/date-accuracy-indicator
Binding: Date Accuracy Indicator . (required): Date accuracy coding


.... birthTime SC0..1dateTimeTime of day of birth
URL: http://hl7.org/fhir/StructureDefinition/patient-birthTime
.... value 0..1datePrimitive value for date
... Slices for deceased[x] ?!Σ0..1Indicates if the individual is deceased or not
Slice: Unordered, Closed by type:$this
.... deceasedBooleanboolean
.... deceasedDateTimedateTime
.... deceased[x]:deceasedBoolean ?!Σ0..1booleanDeceased indicator
.... deceased[x]:deceasedDateTime ?!Σ0..1dateTimeDeceased date time
..... id 0..1stringxml:id (or equivalent in JSON)
..... Slices for extension 0..*ExtensionExtension
Slice: Unordered, Open by value:url
..... accuracyIndicator 0..1CodingDeceased date accuracy indicator
URL: http://hl7.org.au/fhir/StructureDefinition/date-accuracy-indicator
Binding: Date Accuracy Indicator . (required): Date accuracy coding


..... value 0..1dateTimePrimitive value for dateTime
... address SC0..*AustralianAddress, AddressAn address for the individual
inv-add-0: The address shall at least have text or a line
inv-add-1: If asserting no fixed address, the type shall be 'physical'
inv-add-2: If asserting no fixed address, the address text shall begin with 'NO FIXED ADDRESS'
... maritalStatus 0..1CodeableConceptMarital (civil) status of a patient
Binding: Marital Status Codes (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
pat-1: SHALL at least contain a contact's details or a reference to an organization
.... 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: Contact Relationship Type . (extensible)
.... name 0..1HumanNameA name associated with the contact person
.... telecom 0..*ContactPointA contact detail for the person
.... address 0..1Address, AustralianAddressAddress 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 S0..*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 S1..1CodeableConceptThe language which can be used to communicate with the patient about his or her health
Binding: Common Languages in Australia . (extensible)
.... preferred S0..1booleanLanguage preference indicator
... generalPractitioner 0..*Reference(Organization | Practitioner | PractitionerRole)Patient's nominated primary care provider
... managingOrganization Σ0..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 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
.... 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.


doco Documentation for this format

Terminology Bindings

PathConformanceValueSetURI
Patient.languagepreferredCommonLanguages
Additional Bindings Purpose
AllLanguages Max Binding
http://hl7.org/fhir/ValueSet/languages
from the FHIR Standard
Patient.name.userequiredNameUse
http://hl7.org/fhir/ValueSet/name-use|4.0.1
from the FHIR Standard
Patient.genderrequiredAdministrativeGender
http://hl7.org/fhir/ValueSet/administrative-gender|4.0.1
from the FHIR Standard
Patient.maritalStatusextensibleMarital Status Codes
http://hl7.org/fhir/ValueSet/marital-status
from the FHIR Standard
Patient.contact.relationshipextensibleContactRelationshipType .
https://healthterminologies.gov.au/fhir/ValueSet/contact-relationship-type-3
Patient.contact.genderrequiredAdministrativeGender
http://hl7.org/fhir/ValueSet/administrative-gender|4.0.1
from the FHIR Standard
Patient.communication.languageextensibleCommonLanguagesInAustralia .
https://healthterminologies.gov.au/fhir/ValueSet/common-languages-australia-2
Patient.link.typerequiredLinkType
http://hl7.org/fhir/ValueSet/link-type|4.0.1
from the FHIR Standard

Constraints

IdGradePath(s)DetailsRequirements
au-core-pat-01errorPatientAt least one patient identifier shall be valid
: identifier.where(system.count() + value.count() >1).exists()
au-core-pat-02errorPatientAt least one patient name shall have a family name
: name.family.exists()
au-core-pat-04errorPatient.nameAt least text, family name, or given name shall be present
: text.exists() or family.exists() or given.exists()
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().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-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()
inv-add-0errorPatient.addressThe address shall at least have text or a line
: text.exists() or line.exists()
inv-add-1errorPatient.addressIf asserting no fixed address, the type shall be 'physical'
: extension('http://hl7.org.au/fhir/StructureDefinition/no-fixed-address').exists() implies type='physical'
inv-add-2errorPatient.addressIf asserting no fixed address, the address text shall begin with 'NO FIXED ADDRESS'
: extension('http://hl7.org.au/fhir/StructureDefinition/no-fixed-address').exists() implies text.startsWith('NO FIXED ADDRESS')
inv-ihi-value-0errorPatient.identifier:ihiIHI shall be an exactly 16 digit number
: value.matches('^([0-9]{16})$')
inv-ihi-value-1errorPatient.identifier:ihiIHI prefix is 800360
: value.startsWith('800360')
inv-ihi-value-2errorPatient.identifier:ihiIHI shall pass the Luhn algorithm check
: (((select(value.substring(0,1).toInteger()).select(iif($this<5, $this*2, (($this*2)-9))))+(value.substring(1,1).toInteger())+(select(value.substring(2,1).toInteger()).select(iif($this<5, $this*2, (($this*2)-9))))+(value.substring(3,1).toInteger())+(select(value.substring(4,1).toInteger()).select(iif($this<5, $this*2, (($this*2)-9))))+(value.substring(5,1).toInteger())+(select(value.substring(6,1).toInteger()).select(iif($this<5, $this*2, (($this*2)-9))))+(value.substring(7,1).toInteger())+(select(value.substring(8,1).toInteger()).select(iif($this<5, $this*2, (($this*2)-9))))+(value.substring(9,1).toInteger())+(select(value.substring(10,1).toInteger()).select(iif($this<5, $this*2, (($this*2)-9))))+(value.substring(11,1).toInteger())+(select(value.substring(12,1).toInteger()).select(iif($this<5, $this*2, (($this*2)-9))))+(value.substring(13,1).toInteger())+(select(value.substring(14,1).toInteger()).select(iif($this<5, $this*2, (($this*2)-9))))+(value.substring(15,1).toInteger()))mod 10=0)
inv-pat-0errorPatientIf present, birth time's date shall be the birth date
: birthDate.extension('http://hl7.org/fhir/StructureDefinition/patient-birthTime').exists() implies birthDate.extension('http://hl7.org/fhir/StructureDefinition/patient-birthTime').value.toString().substring(0,10) = birthDate.toString()
inv-pat-1warningPatientIndividual gender identity shall be a member of the Gender Identity Response value set if any codes within that value set can apply
: extension('http://hl7.org/fhir/StructureDefinition/individual-genderIdentity').empty() or extension('http://hl7.org/fhir/StructureDefinition/individual-genderIdentity').value.memberOf('https://healthterminologies.gov.au/fhir/ValueSet/gender-identity-response-1')
inv-pat-2warningPatientIndividual pronouns shall be a member of the Australian Pronouns value set if any codes within that value set can apply
: extension('http://hl7.org/fhir/StructureDefinition/individual-pronouns').empty() or extension('http://hl7.org/fhir/StructureDefinition/individual-pronouns').value.memberOf('https://healthterminologies.gov.au/fhir/ValueSet/australian-pronouns-1')
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 AUBasePatient

Summary

Mandatory: 4 elements
Must-Support: 20 elements

Structures

This structure refers to these other structures:

Slices

This structure defines the following Slices:

  • The element Patient.identifier is sliced based on the value of pattern:type

Maturity: 0

Differential View

This structure is derived from AUBasePatient

NameFlagsCard.TypeDescription & Constraintsdoco
.. Patient C0..*AUBasePatientA patient in the context of electronic exchange of health information
au-core-pat-01: At least one patient identifier shall be valid
au-core-pat-02: At least one patient name shall have a family name
... extension:birthPlace S0..1birthPlacePlace of Birth for patient
... extension:indigenousStatus S0..1AustralianIndigenousStatusIndigenous status
... extension:interpreterRequired S0..1interpreterRequiredWhether the patient needs an interpreter
... extension:individualPronouns S0..*PPronounsPronouns shall be a member of the Australian Pronouns value set if any codes within that value set can apply
... Slices for identifier SC1..*Identifier, AUIHI, AUMedicareCardNumber, AUDVANumber, AUHealthCareCardNumber, AUPensionerConcessionCardNumber, AUCwlthSeniorsHealthCardNumber, AUMedicalRecordNumber, AUInsuranceMemberNumberIdentifies this patient across multiple systems
Slice: Unordered, Open by pattern:type
.... identifier:ihi S0..1AUIHIIndividual Healthcare Identifier (IHI)
.... identifier:medicare S0..1AUMedicareCardNumberMedicare Card Number
.... identifier:dva S0..1AUDVANumberDepartment of Veterans' Affairs (DVA) Number
... name SC1..*HumanNameA name associated with the patient
au-core-pat-04: At least text, family name, or given name shall be present
.... use S0..1codeusual | official | temp | nickname | anonymous | old | maiden
... telecom S0..*ContactPointA contact detail for the individual
... gender S1..1codemale | female | other | unknown
... birthDate S1..1dateDate of birth extended for time and accuracy indicator
.... extension:accuracyIndicator S0..1DateAccuracyIndicatorDate accuracy indicator
.... extension:birthTime S0..1birthTimeTime of day of birth
... address S0..*AustralianAddress, AddressAn address for the individual
... communication S0..*BackboneElementA language which may be used to communicate with the patient about his or her health
.... language S1..1CodeableConceptThe language which can be used to communicate with the patient about his or her health
.... preferred S0..1booleanLanguage preference indicator

doco Documentation for this format

Constraints

IdGradePath(s)DetailsRequirements
au-core-pat-01errorPatientAt least one patient identifier shall be valid
: identifier.where(system.count() + value.count() >1).exists()
au-core-pat-02errorPatientAt least one patient name shall have a family name
: name.family.exists()
au-core-pat-04errorPatient.nameAt least text, family name, or given name shall be present
: text.exists() or family.exists() or given.exists()

Key Elements View

NameFlagsCard.TypeDescription & Constraintsdoco
.. Patient C0..*AUBasePatientA patient in the context of electronic exchange of health information
inv-pat-0: If present, birth time's date shall be the birth date
inv-pat-1: Individual gender identity shall be a member of the Gender Identity Response value set if any codes within that value set can apply
inv-pat-2: Individual pronouns shall be a member of the Australian Pronouns value set if any codes within that value set can apply
au-core-pat-01: At least one patient identifier shall be valid
au-core-pat-02: At least one patient name shall have a family name
... implicitRules ?!Σ0..1uriA set of rules under which this content was created
... birthPlace S0..1AddressPlace of Birth for patient
URL: http://hl7.org/fhir/StructureDefinition/patient-birthPlace
... indigenousStatus S0..1CodingIndigenous status
URL: http://hl7.org.au/fhir/StructureDefinition/indigenous-status
Binding: Australian Indigenous Status . (required)
... closingTheGapRegistration 0..1booleanClosing the Gap co-payment eligibility indicator
URL: http://hl7.org.au/fhir/StructureDefinition/closing-the-gap-registration
... mothersMaidenName 0..1stringMother's Maiden name
URL: http://hl7.org/fhir/StructureDefinition/patient-mothersMaidenName
... interpreterRequired S0..1booleanWhether the patient needs an interpreter
URL: http://hl7.org/fhir/StructureDefinition/patient-interpreterRequired
... dateOfArrival 0..1dateThe date a person first arrived in Australia, from another country, with the intention of living in Australia for one year or more
URL: http://hl7.org.au/fhir/StructureDefinition/date-of-arrival
... genderIdentity SC0..*(Complex)Gender identity shall be a member of the Gender Identity Response value set if any codes within that value set can apply
URL: http://hl7.org/fhir/StructureDefinition/individual-genderIdentity
... individualPronouns SC0..*(Complex)Pronouns shall be a member of the Australian Pronouns value set if any codes within that value set can apply
URL: http://hl7.org/fhir/StructureDefinition/individual-pronouns
... recordedSexOrGender 0..*(Complex)A recorded sex or gender property for the individual
URL: http://hl7.org/fhir/StructureDefinition/individual-recordedSexOrGender
... modifierExtension ?!0..*ExtensionExtensions that cannot be ignored
... Slices for identifier SC1..*Identifier, AUIHI, AUMedicareCardNumber, AUDVANumber, AUHealthCareCardNumber, AUPensionerConcessionCardNumber, AUCwlthSeniorsHealthCardNumber, AUMedicalRecordNumber, AUInsuranceMemberNumberIdentifies this patient across multiple systems
Slice: Unordered, Open by pattern:type
.... identifier:ihi SC0..1AUIHIIndividual Healthcare Identifier (IHI)
inv-ihi-value-0: IHI shall be an exactly 16 digit number
inv-ihi-value-1: IHI prefix is 800360
inv-ihi-value-2: IHI shall pass the Luhn algorithm check
.... identifier:medicare S0..1AUMedicareCardNumberMedicare Card Number
.... identifier:dva S0..1AUDVANumberDepartment of Veterans' Affairs (DVA) Number
... active ?!Σ0..1booleanWhether this patient's record is in active use
... name SΣC1..*HumanNameA name associated with the patient
au-core-pat-04: At least text, family name, or given name shall be present
.... use ?!SΣ0..1codeusual | official | temp | nickname | anonymous | old | maiden
Binding: NameUse (required): The use of a human name.

... telecom SΣ0..*ContactPointA contact detail for the individual
... gender SΣ1..1codemale | female | other | unknown
Binding: AdministrativeGender (required): The gender of a person used for administrative purposes.

... birthDate SΣC1..1dateDate of birth extended for time and accuracy indicator
.... accuracyIndicator S0..1CodingDate accuracy indicator
URL: http://hl7.org.au/fhir/StructureDefinition/date-accuracy-indicator
Binding: Date Accuracy Indicator . (required): Date accuracy coding


.... birthTime SC0..1dateTimeTime of day of birth
URL: http://hl7.org/fhir/StructureDefinition/patient-birthTime
... Slices for deceased[x] ?!Σ0..1Indicates if the individual is deceased or not
Slice: Unordered, Closed by type:$this
.... deceasedBooleanboolean
.... deceasedDateTimedateTime
.... deceased[x]:deceasedBoolean ?!Σ0..1booleanDeceased indicator
.... deceased[x]:deceasedDateTime ?!Σ0..1dateTimeDeceased date time
..... accuracyIndicator 0..1CodingDeceased date accuracy indicator
URL: http://hl7.org.au/fhir/StructureDefinition/date-accuracy-indicator
Binding: Date Accuracy Indicator . (required): Date accuracy coding


... address SC0..*AustralianAddress, AddressAn address for the individual
inv-add-0: The address shall at least have text or a line
inv-add-1: If asserting no fixed address, the type shall be 'physical'
inv-add-2: If asserting no fixed address, the address text shall begin with 'NO FIXED ADDRESS'
... communication S0..*BackboneElementA language which may be used to communicate with the patient about his or her health
.... modifierExtension ?!Σ0..*ExtensionExtensions that cannot be ignored even if unrecognized
.... language S1..1CodeableConceptThe language which can be used to communicate with the patient about his or her health
Binding: Common Languages in Australia . (extensible)
.... preferred S0..1booleanLanguage preference indicator
... link ?!Σ0..*BackboneElementLink to a Patient or RelatedPerson resource that concerns the same actual person
.... 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.


doco Documentation for this format

Terminology Bindings

PathConformanceValueSetURI
Patient.name.userequiredNameUse
http://hl7.org/fhir/ValueSet/name-use|4.0.1
from the FHIR Standard
Patient.genderrequiredAdministrativeGender
http://hl7.org/fhir/ValueSet/administrative-gender|4.0.1
from the FHIR Standard
Patient.communication.languageextensibleCommonLanguagesInAustralia .
https://healthterminologies.gov.au/fhir/ValueSet/common-languages-australia-2
Patient.link.typerequiredLinkType
http://hl7.org/fhir/ValueSet/link-type|4.0.1
from the FHIR Standard

Constraints

IdGradePath(s)DetailsRequirements
au-core-pat-01errorPatientAt least one patient identifier shall be valid
: identifier.where(system.count() + value.count() >1).exists()
au-core-pat-02errorPatientAt least one patient name shall have a family name
: name.family.exists()
au-core-pat-04errorPatient.nameAt least text, family name, or given name shall be present
: text.exists() or family.exists() or given.exists()
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().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-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()
inv-add-0errorPatient.addressThe address shall at least have text or a line
: text.exists() or line.exists()
inv-add-1errorPatient.addressIf asserting no fixed address, the type shall be 'physical'
: extension('http://hl7.org.au/fhir/StructureDefinition/no-fixed-address').exists() implies type='physical'
inv-add-2errorPatient.addressIf asserting no fixed address, the address text shall begin with 'NO FIXED ADDRESS'
: extension('http://hl7.org.au/fhir/StructureDefinition/no-fixed-address').exists() implies text.startsWith('NO FIXED ADDRESS')
inv-ihi-value-0errorPatient.identifier:ihiIHI shall be an exactly 16 digit number
: value.matches('^([0-9]{16})$')
inv-ihi-value-1errorPatient.identifier:ihiIHI prefix is 800360
: value.startsWith('800360')
inv-ihi-value-2errorPatient.identifier:ihiIHI shall pass the Luhn algorithm check
: (((select(value.substring(0,1).toInteger()).select(iif($this<5, $this*2, (($this*2)-9))))+(value.substring(1,1).toInteger())+(select(value.substring(2,1).toInteger()).select(iif($this<5, $this*2, (($this*2)-9))))+(value.substring(3,1).toInteger())+(select(value.substring(4,1).toInteger()).select(iif($this<5, $this*2, (($this*2)-9))))+(value.substring(5,1).toInteger())+(select(value.substring(6,1).toInteger()).select(iif($this<5, $this*2, (($this*2)-9))))+(value.substring(7,1).toInteger())+(select(value.substring(8,1).toInteger()).select(iif($this<5, $this*2, (($this*2)-9))))+(value.substring(9,1).toInteger())+(select(value.substring(10,1).toInteger()).select(iif($this<5, $this*2, (($this*2)-9))))+(value.substring(11,1).toInteger())+(select(value.substring(12,1).toInteger()).select(iif($this<5, $this*2, (($this*2)-9))))+(value.substring(13,1).toInteger())+(select(value.substring(14,1).toInteger()).select(iif($this<5, $this*2, (($this*2)-9))))+(value.substring(15,1).toInteger()))mod 10=0)
inv-pat-0errorPatientIf present, birth time's date shall be the birth date
: birthDate.extension('http://hl7.org/fhir/StructureDefinition/patient-birthTime').exists() implies birthDate.extension('http://hl7.org/fhir/StructureDefinition/patient-birthTime').value.toString().substring(0,10) = birthDate.toString()
inv-pat-1warningPatientIndividual gender identity shall be a member of the Gender Identity Response value set if any codes within that value set can apply
: extension('http://hl7.org/fhir/StructureDefinition/individual-genderIdentity').empty() or extension('http://hl7.org/fhir/StructureDefinition/individual-genderIdentity').value.memberOf('https://healthterminologies.gov.au/fhir/ValueSet/gender-identity-response-1')
inv-pat-2warningPatientIndividual pronouns shall be a member of the Australian Pronouns value set if any codes within that value set can apply
: extension('http://hl7.org/fhir/StructureDefinition/individual-pronouns').empty() or extension('http://hl7.org/fhir/StructureDefinition/individual-pronouns').value.memberOf('https://healthterminologies.gov.au/fhir/ValueSet/australian-pronouns-1')

Snapshot View

NameFlagsCard.TypeDescription & Constraintsdoco
.. Patient C0..*AUBasePatientA patient in the context of electronic exchange of health information
inv-pat-0: If present, birth time's date shall be the birth date
inv-pat-1: Individual gender identity shall be a member of the Gender Identity Response value set if any codes within that value set can apply
inv-pat-2: Individual pronouns shall be a member of the Australian Pronouns value set if any codes within that value set can apply
au-core-pat-01: At least one patient identifier shall be valid
au-core-pat-02: At least one patient name shall have a family name
... 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
... language 0..1codeLanguage of the resource content
Binding: CommonLanguages (preferred): A human language.

Additional BindingsPurpose
AllLanguagesMax Binding
... 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
... birthPlace S0..1AddressPlace of Birth for patient
URL: http://hl7.org/fhir/StructureDefinition/patient-birthPlace
... indigenousStatus S0..1CodingIndigenous status
URL: http://hl7.org.au/fhir/StructureDefinition/indigenous-status
Binding: Australian Indigenous Status . (required)
... veteranStatus 0..*CodingVeteran / Australian Defence Force (ADF) status
URL: http://hl7.org.au/fhir/StructureDefinition/veteran-status
Binding: Australian Veteran Status . (required)
... closingTheGapRegistration 0..1booleanClosing the Gap co-payment eligibility indicator
URL: http://hl7.org.au/fhir/StructureDefinition/closing-the-gap-registration
... mothersMaidenName 0..1stringMother's Maiden name
URL: http://hl7.org/fhir/StructureDefinition/patient-mothersMaidenName
... interpreterRequired S0..1booleanWhether the patient needs an interpreter
URL: http://hl7.org/fhir/StructureDefinition/patient-interpreterRequired
... dateOfArrival 0..1dateThe date a person first arrived in Australia, from another country, with the intention of living in Australia for one year or more
URL: http://hl7.org.au/fhir/StructureDefinition/date-of-arrival
... genderIdentity SC0..*(Complex)Gender identity shall be a member of the Gender Identity Response value set if any codes within that value set can apply
URL: http://hl7.org/fhir/StructureDefinition/individual-genderIdentity
... individualPronouns SC0..*(Complex)Pronouns shall be a member of the Australian Pronouns value set if any codes within that value set can apply
URL: http://hl7.org/fhir/StructureDefinition/individual-pronouns
... recordedSexOrGender 0..*(Complex)A recorded sex or gender property for the individual
URL: http://hl7.org/fhir/StructureDefinition/individual-recordedSexOrGender
... modifierExtension ?!0..*ExtensionExtensions that cannot be ignored
... Slices for identifier SC1..*Identifier, AUIHI, AUMedicareCardNumber, AUDVANumber, AUHealthCareCardNumber, AUPensionerConcessionCardNumber, AUCwlthSeniorsHealthCardNumber, AUMedicalRecordNumber, AUInsuranceMemberNumberIdentifies this patient across multiple systems
Slice: Unordered, Open by pattern:type
.... identifier:ihi SC0..1AUIHIIndividual Healthcare Identifier (IHI)
inv-ihi-value-0: IHI shall be an exactly 16 digit number
inv-ihi-value-1: IHI prefix is 800360
inv-ihi-value-2: IHI shall pass the Luhn algorithm check
.... identifier:medicare S0..1AUMedicareCardNumberMedicare Card Number
.... identifier:dva S0..1AUDVANumberDepartment of Veterans' Affairs (DVA) Number
... active ?!Σ0..1booleanWhether this patient's record is in active use
... name SΣC1..*HumanNameA name associated with the patient
au-core-pat-04: At least text, family name, or given name shall be present
.... id 0..1stringUnique id for inter-element referencing
.... extension 0..*ExtensionAdditional content defined by implementations
Slice: Unordered, Open by value:url
.... use ?!SΣ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 Σ0..1stringFamily name (often called 'Surname')
.... given Σ0..*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 SΣ1..1codemale | female | other | unknown
Binding: AdministrativeGender (required): The gender of a person used for administrative purposes.

... birthDate SΣC1..1dateDate of birth extended for time and accuracy indicator
.... id 0..1stringxml:id (or equivalent in JSON)
.... Slices for extension 0..*ExtensionExtension
Slice: Unordered, Open by value:url
.... accuracyIndicator S0..1CodingDate accuracy indicator
URL: http://hl7.org.au/fhir/StructureDefinition/date-accuracy-indicator
Binding: Date Accuracy Indicator . (required): Date accuracy coding


.... birthTime SC0..1dateTimeTime of day of birth
URL: http://hl7.org/fhir/StructureDefinition/patient-birthTime
.... value 0..1datePrimitive value for date
... Slices for deceased[x] ?!Σ0..1Indicates if the individual is deceased or not
Slice: Unordered, Closed by type:$this
.... deceasedBooleanboolean
.... deceasedDateTimedateTime
.... deceased[x]:deceasedBoolean ?!Σ0..1booleanDeceased indicator
.... deceased[x]:deceasedDateTime ?!Σ0..1dateTimeDeceased date time
..... id 0..1stringxml:id (or equivalent in JSON)
..... Slices for extension 0..*ExtensionExtension
Slice: Unordered, Open by value:url
..... accuracyIndicator 0..1CodingDeceased date accuracy indicator
URL: http://hl7.org.au/fhir/StructureDefinition/date-accuracy-indicator
Binding: Date Accuracy Indicator . (required): Date accuracy coding


..... value 0..1dateTimePrimitive value for dateTime
... address SC0..*AustralianAddress, AddressAn address for the individual
inv-add-0: The address shall at least have text or a line
inv-add-1: If asserting no fixed address, the type shall be 'physical'
inv-add-2: If asserting no fixed address, the address text shall begin with 'NO FIXED ADDRESS'
... maritalStatus 0..1CodeableConceptMarital (civil) status of a patient
Binding: Marital Status Codes (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
pat-1: SHALL at least contain a contact's details or a reference to an organization
.... 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: Contact Relationship Type . (extensible)
.... name 0..1HumanNameA name associated with the contact person
.... telecom 0..*ContactPointA contact detail for the person
.... address 0..1Address, AustralianAddressAddress 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 S0..*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 S1..1CodeableConceptThe language which can be used to communicate with the patient about his or her health
Binding: Common Languages in Australia . (extensible)
.... preferred S0..1booleanLanguage preference indicator
... generalPractitioner 0..*Reference(Organization | Practitioner | PractitionerRole)Patient's nominated primary care provider
... managingOrganization Σ0..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 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
.... 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.


doco Documentation for this format

Terminology Bindings

PathConformanceValueSetURI
Patient.languagepreferredCommonLanguages
Additional Bindings Purpose
AllLanguages Max Binding
http://hl7.org/fhir/ValueSet/languages
from the FHIR Standard
Patient.name.userequiredNameUse
http://hl7.org/fhir/ValueSet/name-use|4.0.1
from the FHIR Standard
Patient.genderrequiredAdministrativeGender
http://hl7.org/fhir/ValueSet/administrative-gender|4.0.1
from the FHIR Standard
Patient.maritalStatusextensibleMarital Status Codes
http://hl7.org/fhir/ValueSet/marital-status
from the FHIR Standard
Patient.contact.relationshipextensibleContactRelationshipType .
https://healthterminologies.gov.au/fhir/ValueSet/contact-relationship-type-3
Patient.contact.genderrequiredAdministrativeGender
http://hl7.org/fhir/ValueSet/administrative-gender|4.0.1
from the FHIR Standard
Patient.communication.languageextensibleCommonLanguagesInAustralia .
https://healthterminologies.gov.au/fhir/ValueSet/common-languages-australia-2
Patient.link.typerequiredLinkType
http://hl7.org/fhir/ValueSet/link-type|4.0.1
from the FHIR Standard

Constraints

IdGradePath(s)DetailsRequirements
au-core-pat-01errorPatientAt least one patient identifier shall be valid
: identifier.where(system.count() + value.count() >1).exists()
au-core-pat-02errorPatientAt least one patient name shall have a family name
: name.family.exists()
au-core-pat-04errorPatient.nameAt least text, family name, or given name shall be present
: text.exists() or family.exists() or given.exists()
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().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-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()
inv-add-0errorPatient.addressThe address shall at least have text or a line
: text.exists() or line.exists()
inv-add-1errorPatient.addressIf asserting no fixed address, the type shall be 'physical'
: extension('http://hl7.org.au/fhir/StructureDefinition/no-fixed-address').exists() implies type='physical'
inv-add-2errorPatient.addressIf asserting no fixed address, the address text shall begin with 'NO FIXED ADDRESS'
: extension('http://hl7.org.au/fhir/StructureDefinition/no-fixed-address').exists() implies text.startsWith('NO FIXED ADDRESS')
inv-ihi-value-0errorPatient.identifier:ihiIHI shall be an exactly 16 digit number
: value.matches('^([0-9]{16})$')
inv-ihi-value-1errorPatient.identifier:ihiIHI prefix is 800360
: value.startsWith('800360')
inv-ihi-value-2errorPatient.identifier:ihiIHI shall pass the Luhn algorithm check
: (((select(value.substring(0,1).toInteger()).select(iif($this<5, $this*2, (($this*2)-9))))+(value.substring(1,1).toInteger())+(select(value.substring(2,1).toInteger()).select(iif($this<5, $this*2, (($this*2)-9))))+(value.substring(3,1).toInteger())+(select(value.substring(4,1).toInteger()).select(iif($this<5, $this*2, (($this*2)-9))))+(value.substring(5,1).toInteger())+(select(value.substring(6,1).toInteger()).select(iif($this<5, $this*2, (($this*2)-9))))+(value.substring(7,1).toInteger())+(select(value.substring(8,1).toInteger()).select(iif($this<5, $this*2, (($this*2)-9))))+(value.substring(9,1).toInteger())+(select(value.substring(10,1).toInteger()).select(iif($this<5, $this*2, (($this*2)-9))))+(value.substring(11,1).toInteger())+(select(value.substring(12,1).toInteger()).select(iif($this<5, $this*2, (($this*2)-9))))+(value.substring(13,1).toInteger())+(select(value.substring(14,1).toInteger()).select(iif($this<5, $this*2, (($this*2)-9))))+(value.substring(15,1).toInteger()))mod 10=0)
inv-pat-0errorPatientIf present, birth time's date shall be the birth date
: birthDate.extension('http://hl7.org/fhir/StructureDefinition/patient-birthTime').exists() implies birthDate.extension('http://hl7.org/fhir/StructureDefinition/patient-birthTime').value.toString().substring(0,10) = birthDate.toString()
inv-pat-1warningPatientIndividual gender identity shall be a member of the Gender Identity Response value set if any codes within that value set can apply
: extension('http://hl7.org/fhir/StructureDefinition/individual-genderIdentity').empty() or extension('http://hl7.org/fhir/StructureDefinition/individual-genderIdentity').value.memberOf('https://healthterminologies.gov.au/fhir/ValueSet/gender-identity-response-1')
inv-pat-2warningPatientIndividual pronouns shall be a member of the Australian Pronouns value set if any codes within that value set can apply
: extension('http://hl7.org/fhir/StructureDefinition/individual-pronouns').empty() or extension('http://hl7.org/fhir/StructureDefinition/individual-pronouns').value.memberOf('https://healthterminologies.gov.au/fhir/ValueSet/australian-pronouns-1')
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 AUBasePatient

Summary

Mandatory: 4 elements
Must-Support: 20 elements

Structures

This structure refers to these other structures:

Slices

This structure defines the following Slices:

  • The element Patient.identifier is sliced based on the value of pattern:type

Maturity: 0

 

Other representations of profile: CSV, Excel, Schematron

Notes:

Below is an overview of the mandatory and optional search parameters and combined search parameters. FHIR search operations and the syntax used to describe the interactions is described here.

Any search parameter defined in FHIR may be ‘allowed’ by the system unless explicitly marked as “SHALL NOT”. A few items are marked as MAY in this implementation guide to highlight their potential relevance.

Parameter(s) Conformance Type(s) Requirements (when used alone or in combination)
_id SHALL token
identifier SHALL token The client SHALL provide both the system and code values. The server SHALL support both.

The client SHOULD support search using IHI, Medicare Number, and DVA Number identifiers as defined in the profile. The server SHOULD support search using the using IHI, Medicare Number, and DVA Number identifiers as defined in the profile.
birthdate+family SHOULD date+string
birthdate+name SHOULD date+string
family SHOULD string
family+gender SHOULD string+token
gender+name SHOULD token+string
name SHOULD string
birthdate MAY date A client SHALL provide a value precise to the day. A server SHALL support a value precise to the day offset.
gender MAY token The client SHALL provide at least a code value and MAY provide both the system and code values. The server SHALL support both.
indigenous-status MAY token The client SHALL provide at least a code value and MAY provide both the system and code values. The server SHALL support both.
patient-gender-identity MAY token The client SHALL provide at least a code value and MAY provide both the system and code values. The server SHALL support both.

Mandatory Search Parameters

  1. SHALL support fetching a Patient using the _id search parameter:
    • SHALL support these _revinclude parameters: Provenance:target

    GET [base]/Patient/[id] or GET [base]/Patient?_id=[id]

    Example:

    1. GET [base]/Patient/5678
    2. GET [base]/Patient?_id=5678&_revinclude=Provenance:target

    Implementation Notes: Returns a single Patient resource (how to search by the logical id of the resource)

  2. SHALL support searching a patient by an identifier using the identifier search parameter:

    GET [base]/Patient?identifier=[system|][code]

    Example:

    1. GET [base]/Patient?identifier=http://ns.electronichealth.net.au/id/medicare-number|32788511952
    2. GET [base]/Patient?identifier=http://ns.electronichealth.net.au/id/hi/ihi/1.0|8003608833357361
    3. GET [base]/Patient?identifier=http://example.org/fhir/mrn|12345

    Implementation Notes: Fetches a bundle containing any Patient resources matching the identifier (how to search by token)

Optional Search Parameters:

The following search parameters and search parameter combinations SHOULD be supported:

  1. SHOULD support searching for a patient by a server-defined search that matches any of the string fields in the HumanName, including family, given, prefix, suffix, and/or text using the name search parameter:

    GET [base]/Patient?name=[string]

    Example:

    1. GET [base]/Patient?name=Wang
    2. GET [base]/Patient?name=Wang
  2. SHOULD support searching using the combination of the gender and name search parameters:

    GET [base]/Patient?gender={system|}[code]&name=[string]

    Example:

    1. GET [base]/Patient?name=Wang&gender=female

    Implementation Notes: Fetches a bundle of all Patient resources matching the specified gender and name (how to search by string and how to search by token)

  3. SHOULD support searching using the combination of the birthdate and family search parameters:

    GET [base]/Patient?birthdate=[date]&family=[string]

    Example:

    1. GET [base]/Patient?family=Wang&birthdate=2007-03-20

    Implementation Notes: Fetches a bundle of all Patient resources matching the specified birthdate and family (how to search by date and how to search by string)

  4. SHOULD support searching using the combination of the birthdate and name search parameters:

    GET [base]/Patient?birthdate=[date]&name=[string]

    Example:

    1. GET [base]/Patient?name=Wang&birthdate=2007-03-20

    Implementation Notes: Fetches a bundle of all Patient resources matching the specified birthdate and name (how to search by date and how to search by string)

  5. SHOULD support searching using the combination of the family and gender search parameters:

    GET [base]/Patient?family=[string]&gender={system|}[code]

    Example:

    1. GET [base]/Patient?family=Wang&gender=female

    Implementation Notes: Fetches a bundle of all Patient resources matching the specified family and gender (how to search by string and how to search by token)