Patient categories

All MPI patient profiles based on EEBase Patient profile.


Master Patient Index (MPI) supports 4 types of patients:

  • Verified patient is a human patient identified based on any identification document during regular treatment flow.
  • Unknown patient is a human patient that can not be recognized during reception workflow or patient want to be anonymous. This type may be used for identification of the environmental tests also.
  • Newborn is a human patient, which is registered inside birth workflow.
  • Animal is a non-human patient

EE MPI Verified Patient

This profile allows exchange of demographics and other administrative information about an individual receiving care or other health-related services in Estonia.


Overview

idΣ0..1string
metaΣ0..1Meta
implicitRulesΣ ?!0..1uri
language0..1codeBinding
text0..1Narrative
contained0..*Resource
extensionI0..*Extension
modifierExtension?! I0..*Extension
est-idS Σ0..1Estonian Person Identifier
id0..1string
extensionI0..*Extension
useΣ ?!0..1codeBinding
typeS Σ0..1CodeableConceptBinding
systemS Σ1..1uriFixed Value
valueS Σ1..1string
periodΣ I0..1Period
assignerΣ I0..1Reference(Organization)
activeS Σ ?!1..1boolean
id0..1string
extensionI0..*Extension
useΣ ?!0..1codeBinding
textS Σ0..1string
familyS Σ0..1string
givenS Σ0..*string
prefixΣ0..*string
suffixΣ0..*string
periodΣ I0..1Period
telecomS Σ I0..*ContactPoint
genderS Σ0..1codeBinding
id0..1string
birthTimeI0..1Extension(dateTime)
value0..1System.Date
deceasedBooleanboolean
deceasedDateTimedateTime
addressS Σ0..*EEBase Address
maritalStatus0..0CodeableConceptBinding
photoI0..0Attachment
id0..1string
extensionI0..*Extension
modifierExtensionΣ ?! I0..*Extension
language1..1CodeableConceptBinding
preferred0..1boolean
generalPractitionerS I0..0Reference(EEBase Practitioner | EEBase PractitionerRole)
managingOrganizationΣ I0..0Reference(EEBase Organization)

Table View

idΣ0..1string
metaΣ0..1Meta
implicitRulesΣ ?!0..1uri
language0..1codeBinding
text0..1Narrative
contained0..*Resource
extensionI0..*Extension
modifierExtension?! I0..*Extension
est-idS Σ0..1Estonian Person Identifier
id0..1string
extensionI0..*Extension
useΣ ?!0..1codeBinding
typeS Σ0..1CodeableConceptBinding
systemS Σ1..1uriFixed Value
valueS Σ1..1string
periodΣ I0..1Period
assignerΣ I0..1Reference(Organization)
activeS Σ ?!1..1boolean
id0..1string
extensionI0..*Extension
useΣ ?!0..1codeBinding
textS Σ0..1string
familyS Σ0..1string
givenS Σ0..*string
prefixΣ0..*string
suffixΣ0..*string
periodΣ I0..1Period
telecomS Σ I0..*ContactPoint
genderS Σ0..1codeBinding
id0..1string
birthTimeI0..1Extension(dateTime)
value0..1System.Date
deceasedBooleanboolean
deceasedDateTimedateTime
addressS Σ0..*EEBase Address
maritalStatus0..0CodeableConceptBinding
photoI0..0Attachment
id0..1string
extensionI0..*Extension
modifierExtensionΣ ?! I0..*Extension
language1..1CodeableConceptBinding
preferred0..1boolean
generalPractitionerS I0..0Reference(EEBase Practitioner | EEBase PractitionerRole)
managingOrganizationΣ I0..0Reference(EEBase Organization)

Table View

idΣ0..1string
metaΣ0..1Meta
implicitRulesΣ ?!0..1uri
language0..1codeBinding
text0..1Narrative
contained0..*Resource
extensionI0..*Extension
modifierExtension?! I0..*Extension
est-idS Σ0..1Estonian Person Identifier
id0..1string
extensionI0..*Extension
useΣ ?!0..1codeBinding
typeS Σ0..1CodeableConceptBinding
systemS Σ1..1uriFixed Value
valueS Σ1..1string
periodΣ I0..1Period
assignerΣ I0..1Reference(Organization)
activeS Σ ?!1..1boolean
id0..1string
extensionI0..*Extension
useΣ ?!0..1codeBinding
textS Σ0..1string
familyS Σ0..1string
givenS Σ0..*string
prefixΣ0..*string
suffixΣ0..*string
periodΣ I0..1Period
telecomS Σ I0..*ContactPoint
genderS Σ0..1codeBinding
id0..1string
birthTimeI0..1Extension(dateTime)
value0..1System.Date
deceasedBooleanboolean
deceasedDateTimedateTime
addressS Σ0..*EEBase Address
maritalStatus0..0CodeableConceptBinding
photoI0..0Attachment
id0..1string
extensionI0..*Extension
modifierExtensionΣ ?! I0..*Extension
language1..1CodeableConceptBinding
preferred0..1boolean
generalPractitionerS I0..0Reference(EEBase Practitioner | EEBase PractitionerRole)
managingOrganizationΣ I0..0Reference(EEBase Organization)

Table View

Patient..
Patient.birthDate1..
Patient.maritalStatus..0
Patient.multipleBirth[x]integer..0
Patient.photo..0
Patient.contact..0
Patient.communication..
Patient.communication.language..
Patient.generalPractitioner..0
Patient.managingOrganization..0
Patient.link..0

XML View

<StructureDefinition xmlns="http://hl7.org/fhir">
    <id value="EEMPI-Patient-Verified" />
    <url value="https://hl7.ee/fhir/StructureDefinition/EEMPI-Patient-Verified" />
    <version value="1.0.0" />
    <name value="EEMPIPatientVerified" />
    <title value="EE MPI Patient Verified" />
    <status value="draft" />
    <date value="2022-10-24T14:31:10.3447795+00:00" />
    <publisher value="TEHIK" />
    <description value="Base profile for verified patient" />
    <fhirVersion value="4.0.1" />
    <kind value="resource" />
    <abstract value="false" />
    <type value="Patient" />
    <baseDefinition value="https://hl7.ee/fhir/StructureDefinition/EEBase-Patient" />
    <derivation value="constraint" />
    <differential>
        <element id="Patient.birthDate">
            <path value="Patient.birthDate" />
            <min value="1" />
        </element>
        <element id="Patient.maritalStatus">
            <path value="Patient.maritalStatus" />
            <max value="0" />
        </element>
        <element id="Patient.multipleBirth[x]">
            <path value="Patient.multipleBirth[x]" />
            <max value="0" />
            <type>
                <code value="integer" />
            </type>
        </element>
        <element id="Patient.photo">
            <path value="Patient.photo" />
            <max value="0" />
        </element>
        <element id="Patient.contact">
            <path value="Patient.contact" />
            <max value="0" />
        </element>
        <element id="Patient.communication.language">
            <path value="Patient.communication.language" />
            <binding>
                <strength value="preferred" />
                <valueSet value="http://hl7.org/fhir/ValueSet/all-languages" />
            </binding>
        </element>
        <element id="Patient.generalPractitioner">
            <path value="Patient.generalPractitioner" />
            <max value="0" />
        </element>
        <element id="Patient.managingOrganization">
            <path value="Patient.managingOrganization" />
            <max value="0" />
        </element>
        <element id="Patient.link">
            <path value="Patient.link" />
            <max value="0" />
        </element>
    </differential>
</StructureDefinition>

JSON View

{
    "resourceType": "StructureDefinition",
    "id": "EEMPI-Patient-Verified",
    "url": "https://hl7.ee/fhir/StructureDefinition/EEMPI-Patient-Verified",
    "version": "1.0.0",
    "name": "EEMPIPatientVerified",
    "title": "EE MPI Patient Verified",
    "status": "draft",
    "date": "2022-10-24T14:31:10.3447795+00:00",
    "publisher": "TEHIK",
    "description": "Base profile for verified patient",
    "fhirVersion": "4.0.1",
    "kind": "resource",
    "abstract": false,
    "type": "Patient",
    "baseDefinition": "https://hl7.ee/fhir/StructureDefinition/EEBase-Patient",
    "derivation": "constraint",
    "differential": {
        "element":  [
            {
                "id": "Patient.birthDate",
                "path": "Patient.birthDate",
                "min": 1
            },
            {
                "id": "Patient.maritalStatus",
                "path": "Patient.maritalStatus",
                "max": "0"
            },
            {
                "id": "Patient.multipleBirth[x]",
                "path": "Patient.multipleBirth[x]",
                "max": "0",
                "type":  [
                    {
                        "code": "integer"
                    }
                ]
            },
            {
                "id": "Patient.photo",
                "path": "Patient.photo",
                "max": "0"
            },
            {
                "id": "Patient.contact",
                "path": "Patient.contact",
                "max": "0"
            },
            {
                "id": "Patient.communication.language",
                "path": "Patient.communication.language",
                "binding": {
                    "strength": "preferred",
                    "valueSet": "http://hl7.org/fhir/ValueSet/all-languages"
                }
            },
            {
                "id": "Patient.generalPractitioner",
                "path": "Patient.generalPractitioner",
                "max": "0"
            },
            {
                "id": "Patient.managingOrganization",
                "path": "Patient.managingOrganization",
                "max": "0"
            },
            {
                "id": "Patient.link",
                "path": "Patient.link",
                "max": "0"
            }
        ]
    }
}

Minimal Viable Content

Each Patient must have:

  • a patient identifier (e.g. MRN)
  • a patient name
  • an activity status
    All other elements are optional.

Each implementer of Patient profile must support:

  • a gender
  • a birth date
  • a deceased information
  • an address?


identifier
In Estonia at least one identifier should have type with value MR (Medical Record Number) to identify the patient's NHS number.

Additional identifiers can also be added.

Please follow link to read about all supported identity systems.

Example of patient identifier


name
The patient name represented by the HumanName data type. Multiple names can be included.

Attribute Description
use Specify context of usage: official - name based on identification document, old - previous name, nickname - name for unknown or non-human patient
family Last name
given Fist name
text Display name used for unknown or anonymous or non-human patient
period Activity period of name
Example of changed patient name
When a patient tagged with security label "very restricted", all names are removed from the response.


active
A boolean value indicating if the patient's record is in current use.

Typically it will be used to mark a duplicated record or record created in error with the link element pointing to the active record.


gender
Administrative Gender - the gender that the patient is considered to have for administration and record keeping purposes.


birthDate
The patient's date of birth. An approximate date may be used (e.g. just the year) where the full date is not known.

birthDate includes an general extension patient-birthTime. This should be used when the birth time is relevant.


deceased
Either: A boolean value indicating the patient is dead

or

the DateTime of death.

Where the patient is alive sending systems can omit this element, it is not necessary to include it to indicate that the patient is not dead.

Where this element is missing, receiving systems can assume the patient is alive.


address
The address of the patient using the address datatype. A patient may have multiple addresses with different uses or applicable periods.

address includes an EHAK and ADS extension.

At least one extension should be used within address.


contact
A contact relevant to the care of the patient and may include family members, business contacts, guardians, caregivers, etc.

Contact should not be used to represent family genealogy.

Contact includes an common extension patient-relativePerson and EHAK/ADS extensions for contact.address.


maritalStatus
Marital status of human patient. Defined as TODO Marital Status Codes


generalPractitioner
The patient's GP by reference to EEBase-Practitioner for the GP and/or EEBase-PractitionerRole for the patient's GP and GP practice.


managingOrganization
Organisation that is the custodian of the patient record. KAS MEILE SEDA VAJA??!!!

This is a reference to the "Organisation that is the custodian of the patient record" (such as a general practice).

The managingOrganization may change according to the setting (a mental health record may be managed by a MH trust), whereas the generalPractitioner points to your GP or GP Practice.


link
Link to another patient resource that concerns the same patient either to another Patient Resource such as a duplicate record.


EE MPI Unknown Patient

Unknown patient profile inherited from Estonian Base Patient profile. The limited set of data MAY BE used during unknown patient registration in Emergency Department, Ambulance, etc

idΣ0..1string
metaΣ0..1Meta
implicitRulesΣ ?!0..1uri
language0..1codeBinding
text0..1Narrative
contained0..*Resource
extensionI0..*Extension
modifierExtension?! I0..*Extension
est-idS Σ0..1Estonian Person Identifier
id0..1string
extensionI0..*Extension
useΣ ?!0..1codeBinding
typeS Σ0..1CodeableConceptBinding
systemS Σ1..1uriFixed Value
valueS Σ1..1string
periodΣ I0..1Period
assignerΣ I0..1Reference(Organization)
activeS Σ ?!1..1booleanFixed Value
id0..1string
extensionI0..*Extension
useΣ ?!1..1codeBindingFixed Value
textS Σ1..1string
familyS Σ0..0string
givenS Σ0..0string
prefixΣ0..0string
suffixΣ0..0string
periodΣ I0..1Period
telecomS Σ I0..0ContactPoint
genderS Σ0..1codeBinding
id0..1string
birthTimeI0..1Extension(dateTime)
ageS I0..1Extension(Age)
value0..1System.Date
deceasedBooleanboolean
deceasedDateTimedateTime
id0..1string
adsS I0..1Extension(Coding)
ehakS I0..1Extension(Coding)
useΣ ?!0..1codeBindingFixed Value
typeΣ0..1codeBinding
textS Σ0..1string
id0..1string
streetNameI0..1Extension(string)
houseNumberI0..1Extension(string)
additionalLocatorI0..1Extension(string)
value0..1System.String
cityΣ0..1string
districtΣ0..1string
stateΣ0..1string
postalCodeΣ0..1string
countryΣ0..1string
periodΣ I0..1Period
maritalStatus0..0CodeableConceptBinding
photoI0..0Attachment
id0..1string
extensionI0..*Extension
modifierExtensionΣ ?! I0..*Extension
relationship0..*CodeableConceptBinding
name0..1HumanName
telecomI0..*ContactPoint
id0..1string
adsI0..1Extension(Coding)
ehakI0..1Extension(Coding)
useΣ ?!0..1codeBinding
typeΣ0..1codeBinding
textΣ0..1string
lineΣ0..*string
cityΣ0..1string
districtΣ0..1string
stateΣ0..1string
postalCodeΣ0..1string
countryΣ0..1string
periodΣ I0..1Period
gender0..1codeBinding
organizationI0..1Reference(Organization)
periodI0..1Period
id0..1string
extensionI0..*Extension
modifierExtensionΣ ?! I0..*Extension
language1..1CodeableConceptBinding
preferred0..1boolean
generalPractitionerS I0..0Reference(EEBase Practitioner | EEBase PractitionerRole)
managingOrganizationΣ I0..0Reference(EEBase Organization)

identifier
Hospital identifier for unknown patient SHOULD be used. temp is fixed for Patient.identifier.use in hospital identifier.


name
nickname is fixed as the name use and the name.text is only allowed field.


address
address.type SHOULD use value 'temp' identifying the place of patient finding.


birthDate
Added Age extension due to exact date of birth unknown.


EE MPI Newborn Patient

Newborn patient profile inherited from Estonian Base Patient profile. A profile for a newborn restricts the use of features that are not applicable to the newborn and adds elements that are unique to the newborn:

idΣ0..1string
metaΣ0..1Meta
implicitRulesΣ ?!0..1uri
language0..1codeBinding
text0..1Narrative
contained0..*Resource
id0..1string
extensionI0..0Extension
url1..1uriFixed Value
valueAddressEEBase Address
adoptionInfoI0..1Extension(CodeableConcept)
modifierExtension?! I0..*Extension
est-idS Σ0..1Estonian Person Identifier
id0..1string
extensionI0..*Extension
useΣ ?!0..1codeBinding
typeS Σ0..1CodeableConceptBinding
systemS Σ1..1uriFixed Value
valueS Σ1..1string
periodΣ I0..1Period
assignerΣ I0..1Reference(Organization)
id0..1string
extensionI0..*Extension
useΣ ?!0..1codeBinding
typeΣ0..1CodeableConceptBinding
systemS Σ1..1uriFixed Value
valueS Σ1..1string
periodΣ I0..1Period
assignerΣ I0..1Reference(Organization)
id0..1string
extensionI0..*Extension
useΣ ?!0..1codeBinding
typeΣ0..1CodeableConceptBinding
systemS Σ1..1uriFixed Value
valueS Σ1..1string
periodΣ I0..1Period
assignerΣ I0..1Reference(Organization)
id0..1string
extensionI0..*Extension
useΣ ?!0..1codeBinding
id0..1string
extensionI0..*Extension
codingΣ0..*CodingFixed Value
textΣ0..1string
systemS Σ1..1uriFixed Value
valueS Σ1..1string
periodΣ I0..1Period
assignerΣ I0..1Reference(Organization)
activeS Σ ?!1..1boolean
id0..1string
extensionI0..*Extension
useΣ ?!0..1codeBinding
textS Σ0..1string
familyS Σ0..1string
givenS Σ0..*string
prefixΣ0..*string
suffixΣ0..*string
periodΣ I0..1Period
telecomS Σ I0..*ContactPoint
genderS Σ0..1codeBinding
id0..1string
id0..1string
extensionI0..0Extension
url1..1uriFixed Value
valueDateTimedateTime
value0..1System.Date
deceasedBooleanboolean
deceasedDateTimedateTime
addressS Σ0..*EEBase Address
maritalStatus0..0CodeableConceptBinding
multipleBirthIntegerinteger
photoI0..0Attachment
generalPractitionerS I0..0Reference(EEBase Practitioner | EEBase PractitionerRole)
managingOrganizationΣ I0..1Reference(EEBase Organization)


birthDate
Added Age extension in case when exact date of birth unknown.

Extension birthTime SHOULD be supported by implementors in case of newborn patient.


multipleBirth
multipleBirth restricted by index and is required


identifier

  • identifikaatorite hulka lisatud surnult sündinu identifikaator mis tellitakse TAI käest (emaili teel)
  • identifikaatorite hulka lisatud sünnitunnistuse number ja surmatunnistuse number (kas on vaja?)
  • Tuleb uurida ka VRDR info


Place of birth extension
Place of birth added as extension with EEBaseAddress type


Adoption extension
Added adoption extension


EE MPI Animal Patient

Animal patient profile inherited from Estonian Base Patient profile. The animal patient does not have most of the characteristics of a human patient. As result the limited set of data MAY BE used during animal patient registration

speciesS1..
breedS0..
genderStatusS0..
est-id..0
use1..Fixed Value
text1..
family..0
given..0
prefix..0
suffix..0
gender..0
age0..1Extension(Age)
maritalStatus..0
multipleBirth[x]..0
photo..0
contact..0
communication..0
generalPractitioner..0

name
nickname is fixed as the name use and the name.text is only allowed field.


birthDate
Added Age extension due to exact date of birth unknown.


Animal extensions
Animal patient includes an general animal extensions for species, breed and genderStatus.