RIVO-Noord Zorgviewer Implementation Guide
1.11.0 - sprint49 Netherlands flag

This page is part of the RIVO-Noord Zorgviewer Implementation Guide (v1.11.0: Release) based on FHIR (HL7® FHIR® Standard) R3. This is the current published version in its permanent home (it will always be available at this URL). For a full list of available versions, see the Directory of published versions

Resource Profile: Patient

Official URL: http://fhir.hl7.nl/zorgviewer/StructureDefinition/Patient Version: 1.11.0
Active as of 2025-01-20 Computable Name: Patient

Patient

Dit Profiel is het resultaat van de vergelijking tussen de zib2017 FHIR Profiel en de implementaties in Epic, Chipsoft, Topicus en Nexus. De elementen die in ieder geval in alle output beschikbaar zullen zijn. Voornamelijk bedoeld voor houvast van een client en voor validatie van output.

Zorginformatiebouwsteen

ZIB Patient

Patient.name algoritme

Bovenop constraint zv-pat-1:

  1. als name[].use gebruik dan de name[use="official"], anders de 1ste name[0]
  2. als name[].text gebruik die, anders concatenate de 1ste name[].given[0] met de name[].family

Requests

  1. Opvragen (search) naar patient op basis van de BSN

    GET <bronsysteem-ontsluiting-base/Patient?identifier=<BSN>

  2. Of opvragen (search) middels POST, zie: FHIR STU3 http search

    POST <bronsysteem-ontsluiting-base/Patient/_search

    Content-Type: application/x-www-form-urlencoded

    identifier=<BSN>

  3. Opvragen (read) patient op basis van de fhir_patient_id

    GET <ontsluiten-bronsysteem-base>/Patient/<fhir_patient_id>

Response

  1. Bundle met 1 Patient

    Dit is de gewenste situatie.

  2. Bundle met meer dan 1 Patient

    Dit kan gebeuren na een SEH opname als de patient nog niet samengevoegd is.

  3. Bundle zonder patienten of een HTTP Response 401/404

    Dit gebeurt als de patient GEEN toestemming heeft gegeven of de patient simpelweg niet bestaat bij de bevraagde organisatie.

Bronsysteem herkennen

De Zorgviewer-backend of Ontsluiten bronsysteem MOET na bevragen van het bronsysteem aan elk resultaat resource een meta-tag toevoegen met de AGB, OID of URA identifier van de zorgaanbieder (zie Organization voor voorbeelden). Dit wordt vervolgens gebruikt in de "Bron" kolom in de Zorgviewer-frontend. N.B. We gebruiken hier een pre-adopt van de FHIR R4 Meta.source.

Toevoegen aan elke response, dus per resource (bij een read) of per Bundle (bij een search):

"meta": {
    "extension": [ {
        "url": "http://hl7.org/fhir/4.0/StructureDefinition/extension-Meta.source",
        "valueUri": "urn:oid:2.16.840.1.113883.2.4.3.8"
    } ]
}

Alternatief: Elke entry van een search response Bundle bevat een referentie naar de bijbehorende Patient (<resource>.subject|patient). Elke patient heeft een Patient.managingOrganization en in de gerefereerde Organization.identifier staat vervolgens o.a. de OID van het bronsysyeem. Of je gebruikt de identifiers om een volledige Organization op te zoeken in het adresboek en zie inhoud hier.

Usage:

Changes since version 1.10.0:

  • No changes
  • Formal Views of Profile Content

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

    NameFlagsCard.TypeDescription & Constraintsdoco
    .. Patient 0..* nl-core-patient Patient
    dom-2: If the resource is contained in another resource, it SHALL NOT contain nested Resources
    dom-1: If the resource is contained in another resource, it SHALL NOT contain any narrative
    dom-4: If a resource is contained in another resource, it SHALL NOT have a meta.versionId or a meta.lastUpdated
    dom-3: If the resource is contained in another resource, it SHALL be referred to from elsewhere in the resource
    ... implicitRules ?!Σ 0..1 uri A set of rules under which this content was created
    ... Slices for extension Content/Rules for all slices
    .... preferredPharmacy 0..1 Reference(nl-core-organization) References a patient's preferered pharmacy
    URL: http://fhir.nl/fhir/StructureDefinition/nl-core-preferred-pharmacy
    ele-1: All FHIR elements must have a @value or children
    ext-1: Must have either extensions or value[x], not both
    .... nationality 0..* (Complex) Nationality
    URL: http://hl7.org/fhir/StructureDefinition/patient-nationality
    ele-1: All FHIR elements must have a @value or children
    ext-1: Must have either extensions or value[x], not both
    ..... Slices for extension Content/Rules for all slices
    ...... extension:code 0..1 Extension Extension
    ....... url 1..1 uri "code"
    ....... Slices for valueCodeableConcept Content/Rules for all slices
    ........ valueCodeableConcept:valueCodeableConcept 0..1 CodeableConcept Value of extension
    Binding: NationaliteitCodelijst (extensible): Indicates the country of citizenship.

    ...... extension:period 0..1 Extension Extension
    ....... url 1..1 uri "period"
    ....... Slices for valuePeriod Content/Rules for all slices
    ........ valuePeriod:valuePeriod 0..1 Period Value of extension
    ..... url 1..1 uri "http://hl7.org/fhir/StructureDefinition/patient-nationality"
    .... legalStatus 0..2 (Complex) legalStatus
    URL: http://nictiz.nl/fhir/StructureDefinition/zib-patient-legalstatus
    ele-1: All FHIR elements must have a @value or children
    ext-1: Must have either extensions or value[x], not both
    ..... url 1..1 uri "http://nictiz.nl/fhir/StructureDefinition/zib-patient-legalstatus"
    ..... Slices for value[x] 0..1 CodeableConcept Value of extension
    Slice: Unordered, Closed by type:$this
    ...... value[x]:valueCodeableConcept 1..1 CodeableConcept LegalStatus
    Binding: JuridischeStatusCodelijst (extensible)
    ....... coding Σ 1..* Coding Code defined by a terminology system
    ........ system Σ 1..1 uri Identity of the terminology system
    ........ code Σ 1..1 code Symbol in syntax defined by the system
    .... lifeStance 0..* (Complex) Optional Extensions Element
    URL: http://nictiz.nl/fhir/StructureDefinition/zib-LifeStance
    ele-1: All FHIR elements must have a @value or children
    ext-1: Must have either extensions or value[x], not both
    ..... url 1..1 uri "http://nictiz.nl/fhir/StructureDefinition/zib-LifeStance"
    ..... Slices for value[x] 1..1 CodeableConcept Value of extension
    Slice: Unordered, Closed by type:$this
    ...... value[x]:valueCodeableConcept 1..1 CodeableConcept LifeStance
    Binding: LevensovertuigingCodelijst (preferred): LevensovertuigingCodelijst

    ....... coding Σ 1..1 Coding Code defined by a terminology system
    ........ system Σ 1..1 uri Identity of the terminology system
    ........ code Σ 1..1 code Symbol in syntax defined by the system
    ... modifierExtension ?! 0..* Extension Extensions that cannot be ignored
    .... identifier:BSN SΣ 1..1 Identifier BSN
    ..... use ?!Σ 0..1 code usual | official | temp | secondary (If known)
    Binding: IdentifierUse (required): Identifies the purpose for this identifier, if known .

    ..... system Σ 1..1 uri The namespace for the identifier value
    Fixed Value: http://fhir.nl/fhir/NamingSystem/bsn
    ..... value Σ 1..1 string BSN (Burgerservicenummer (Dutch person identification number))
    Example General: 123456
    Example Example of a burgerservicenummer: 123456782
    ... active ?!Σ 0..1 boolean Whether this patient's record is in active use
    ... name SΣC 1..* nl-core-humanname NameInformation
    zv-pat-1: Either Patient.name.given and/or Patient.name.family and/or Patient.name.text SHALL be present.
    zv-pat-2: To be usable for a wide range of internationally available applications, the Patient.name.text SHOULD be present.
    .... Slices for extension Content/Rules for all slices
    ..... humannameAssemblyOrder 0..* (Complex) Preferred display order of name parts
    URL: http://hl7.org/fhir/StructureDefinition/humanname-assembly-order
    ...... url 1..1 uri "http://hl7.org/fhir/StructureDefinition/humanname-assembly-order"
    ...... Slices for valueCode Content/Rules for all slices
    ....... valueCode:valueCode 0..1 code Value of extension
    Binding: HumanNameAssemblyOrder (required): A code that represents the preferred display order of the components of a human name

    .... use ?!Σ 0..1 code usual | official | temp | nickname | anonymous | old | maiden
    Binding: NameUse (required): The use of a human name

    ... gender SΣ 0..1 code Gender
    Binding: AdministrativeGender (required)
    .... Slices for extension Content/Rules for all slices
    ..... GeslachtCodelijst 0..1 (Complex) Gender
    URL: http://nictiz.nl/fhir/StructureDefinition/code-specification
    ele-1: All FHIR elements must have a @value or children
    ext-1: Must have either extensions or value[x], not both
    ...... url 1..1 uri "http://nictiz.nl/fhir/StructureDefinition/code-specification"
    ...... Slices for value[x] 1..1 CodeableConcept Value of extension
    Slice: Unordered, Closed by type:$this
    ....... value[x]:valueCodeableConcept 1..1 CodeableConcept Value of extension
    Binding: GeslachtCodelijst (extensible): GeslachtCodelijst

    ... birthDate SΣ 0..1 date Patients date of birth. The date of birth is mandatory for a patient. An incomplete date, e.g. only year or only year + month, is permitted.
    ... deceased[x] ?!SΣ 0..1 DeathIndicator/DateOfDeath
    .... deceasedBoolean boolean
    .... deceasedDateTime dateTime
    ... animal ?!Σ 0..1 BackboneElement This patient is known to be an animal (non-human)
    ele-1: All FHIR elements must have a @value or children
    .... modifierExtension ?!Σ 0..* Extension Extensions that cannot be ignored
    .... species Σ 1..1 CodeableConcept E.g. Dog, Cow
    Binding: AnimalSpecies (example): The species of an animal.

    ... generalPractitioner 0..1 Reference(nl-core-organization | nl-core-practitioner) GeneralPractitioner
    .... Slices for extension Content/Rules for all slices
    ..... practitionerRole 0..1 Reference(nl-core-practitionerrole) Optional Extensions Element
    URL: http://nictiz.nl/fhir/StructureDefinition/practitionerrole-reference
    ... managingOrganization SΣ 0..1 Reference(Organization) Organization that is the custodian of the patient record
    ... link ?!Σ 0..* BackboneElement Link to another patient resource that concerns the same actual person
    ele-1: All FHIR elements must have a @value or children
    .... modifierExtension ?!Σ 0..* Extension Extensions that cannot be ignored
    .... other Σ 1..1 Reference(Patient | RelatedPerson) The other patient or related person resource that the link refers to
    .... type Σ 1..1 code replaced-by | replaces | refer | seealso - type of link
    Binding: LinkType (required): The type of link between this patient resource and another patient resource.


    doco Documentation for this format

    Terminology Bindings

    PathConformanceValueSetURI
    Patient.extension:nationality.extension:code.valueCodeableConcept:valueCodeableConceptextensibleNationaliteitCodelijst (a valid code from urn:oid:2.16.840.1.113883.2.4.4.16.32)
    http://decor.nictiz.nl/fhir/ValueSet/2.16.840.1.113883.2.4.3.11.60.40.2.7.6.3--20171231000000
    Patient.extension:legalStatus.value[x]:valueCodeableConceptextensibleJuridischeStatusCodelijst
    http://decor.nictiz.nl/fhir/ValueSet/2.16.840.1.113883.2.4.3.11.60.40.2.14.3.2--20171231000000
    Patient.extension:lifeStance.value[x]:valueCodeableConceptpreferredLevensovertuigingCodelijst
    http://decor.nictiz.nl/fhir/ValueSet/2.16.840.1.113883.2.4.3.11.60.40.2.7.5.1--20171231000000
    Patient.identifier:BSN.userequiredIdentifierUse
    http://hl7.org/fhir/ValueSet/identifier-use
    from the FHIR Standard
    Patient.name.extension:humannameAssemblyOrder.valueCode:valueCoderequiredHumanNameAssemblyOrder
    http://hl7.org/fhir/ValueSet/name-assembly-order
    from the FHIR Standard
    Patient.name.userequiredNameUse
    http://hl7.org/fhir/ValueSet/name-use
    from the FHIR Standard
    Patient.genderrequiredAdministrativeGender
    http://hl7.org/fhir/ValueSet/administrative-gender
    from the FHIR Standard
    Patient.gender.extension:GeslachtCodelijst.value[x]:valueCodeableConceptextensibleGeslachtCodelijst
    http://decor.nictiz.nl/fhir/ValueSet/2.16.840.1.113883.2.4.3.11.60.40.2.0.1.1--20171231000000
    Patient.animal.speciesexampleAnimalSpecies
    http://hl7.org/fhir/ValueSet/animal-species
    from the FHIR Standard
    Patient.link.typerequiredLinkType
    http://hl7.org/fhir/ValueSet/link-type
    from the FHIR Standard

    Constraints

    IdGradePath(s)DetailsRequirements
    dom-1errorPatientIf the resource is contained in another resource, it SHALL NOT contain any narrative
    : contained.text.empty()
    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
    : contained.where(('#'+id in %resource.descendants().reference).not()).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()
    ele-1error**ALL** elementsAll FHIR elements must have a @value or children
    : hasValue() | (children().count() > id.count())
    ext-1error**ALL** extensionsMust have either extensions or value[x], not both
    : extension.exists() != value.exists()
    zv-pat-1errorPatient.nameEither Patient.name.given and/or Patient.name.family and/or Patient.name.text SHALL be present.
    : (family.exists() or given.exists() or text.exists())
    zv-pat-2best practicePatient.nameTo be usable for a wide range of internationally available applications, the Patient.name.text SHOULD be present.
    : text.exists()

     

    Other representations of profile: CSV, Excel, Schematron