Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.


Info
titleSuperceded

This page has been superceded by Enrolling a Patient in an Episode Of Care


The Patient resource is a central resource in the eHealth infrastructure. It plays a number of different roles:

  • Convey basic information about the patient (name, address, birth date, gender, civil registration number, demographics information, etc.)
  • Convey extended information about the patient
    • Contact information
    • Language / Need for an interpreter
    • Temporary addresses
    • General practitioner
  • Other resources are created with a reference to a Patient, e.g.
    • RelatedPerson (Pårørende)
    • CarePlan (Telemedicinsk pakke)
    • EpisodeOfCare (Tilbud om telemedicinsk pakke)
    • Etc.

NOTE A Patient

...

NOTE that different organizations should use different Patient resources for the same patient! Also the same organization should only use a single Patient resource, even if administering several CarePlans by separate CareTeams. Here "the same organization" means "the same organization Identifier" - so different departments of the same hospital may very well have separate Patient resources for the same patient, if they are identified by different Organization Identifiers. Organization Identifiers are generally governed by Sundhedsvæsenets Organisationsregister (SOR).

Instructions - in the current ("stub") version

In the current version of the Patient resource, patients is considered a 'singleton' in FUT. The patient is primarily a container for demographic information. While it is allowed according to the FHIR specification to have multiple different logical patients for the same person, it does not fit the case for the infrastructure and the danish modelling of patient information. As such, the patient resource is shared across different episode of cares. 

Instructions

Patients are created using a custom operation. The current version is a stub and does NOT yet collect certain information When created, information is collected from national registers (via NSP SCES, Stamdata CPR Enkeltopslag Service). This means that the returned Patient is only sparsely populated with a random name and a managing organization. The parameters needed to create a Patient is the social security number, a list of policies by which the patient care is acting under and a reference to the managing organization.

Java example:

Code Block
languagejava
titleCreation of a patient (Java) using defined operation using the HAPI FHIR client framework
	    Parameters in = new Parameters();
	    in.addParameter().setName("crn").setValue(new Identifier().setSystem("urn:oid:1.2.208.176.1.2").setValue("2810887020"));
	    in.addParameter().setName("managingOrganization").setValue(new Reference()
	   
	    .setIdentifier(new Identifier().setSystem("urn:oid:1.2.208.176.1.1").setValue("260481000016005")));
	    in.addParameter().setName("policy").setValue(new UriType().setValue("https://danskelove.dk/sundhedsloven"));

	    Parameters result = client.operation().onType(Patient.class).named("createPatient")
	    	    .withParameters(in).execute();

...

Code Block
languagexml
titlePatient create using operation
POST /Patient/$createPatient
Content-Type: text/xml; extended-operation-type
Accept: */*
Host: localhost:8080
accept-encoding: gzip, deflate
content-length: 689
<Parameters xmlns="http://hl7.org/fhir">
    <parameter>
        <name value="crn" />
        <valueIdentifier>
            <system value="urn:oid:1.2.208.176.1.2" />
            <value value="2810887020" />
        </valueIdentifier>
    </parameter>
    <parameter>
        <name value="policy" />
  
     <valueUri value="https://danskelove.dk/sundhedsloven" />
    </parameter>
    <parameter>
        <name value="managingOrganization" />
        <valueReference>
            <identifier>
                <system value="urn:oid:1.2.208.176.1.1" />
                <value value="275891000016005" />
            </identifier>
        </valueReference>
    </parameter>
</Parameters>

Example HTTP response:

Code Block
languagexml
titleIntended HTTP server response
HTTP/1.1 200
status: 200
Date: Wed, 20 Feb 2019 09:00:35 GMT
X-Powered-By: Trifork
Content-Type: application/fhir+xml;charset=utf-8
Content-Encoding: gzip
Transfer-Encoding: chunked
Server: Jetty(9.4.14.v20181114)
<Parameters xmlns="http://hl7.org/fhir">
    <parameter>
        <resource>
            <Patient xmlns="http://hl7.org/fhir">
				<id value="9952"/>
				<meta>
                    <versionId value="1"/>
                    <lastUpdated value="2019-03-29T11:22:34.053+01:00"/>
                    <profile value="http://ehealth.sundhed.dk/fhir/StructureDefinition/ehealth-patient"/>
                </meta>
                <text>...</text>
                <identifier>
                    <system value="urn:oid:1.2.208.176.1.2"/>
                    <value value="2810887020"/>
                </identifier>
                <name>
                    <family value="Møller"/>
                    <given value="Anne"/>
                    <given value="Holm"/>
                </name>
                <birthDate value="1988-10-28"/>
                <address>
                    <extension url="http://ehealth.sundhed.dk/fhir/StructureDefinition/ehealth-municipality-code">
                        <valueCoding>
                            <system value="urn:oid:1.2.208.176.8.1.100"/>
                            <code value="370"/>
                            <display value="Næstved"/>
                        </valueCoding>
                    </extension>
                    <use value="home"/>
                    <type value="postal"/>
                    <line value="Bjergagervej 110"/>
                    <city value="Karrebæksminde"/>
                    <postalCode value="4736"/>
                    <country value="DK"/>
                </address>
                <generalPractitioner>
                    <identifier>
                        <system <reference value="urn:oid:1.2.208.176.1.4"/>
                        <value value="12345"/>
                    </identifier>
                </generalPractitioner>
                <managingOrganization>
                    <identifier>
                        <system value="urn:oid:1.2.208.176.1.1.2"/>
                        <value value="260481000016005"/>
                    </identifier>
                    <display value="Lungemedicinsk Ambulatorium"http://organization.inttest.ehealth.sundhed.dk/fhir/Organization/1"/>
                </managingOrganization>generalPractitioner>
            </Patient>
        </resource>
    </parameter>
</Parameters>

...