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.
- A Patient resource refers to an Organization in the field ManagingOrganization. This organization is the custodian (Dataejer) of all data that is hooked up on that Patient resource. This also means that the patient-related data will be restricted, such that users from other organizations cannot read or update it, unless mandated by an associated CareTeam.
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 Reference" - 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 References.
Instructions - in the current ("stub") version
In the current version of the Patient resource, patients are created using a custom operation. The current version is a stub and does NOT yet collect certain information 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:
Parameters in = new Parameters().addParameter().setName("crn").setValue(new Identifier().setSystem("urn:oid:1.2.208.176.1.2").setValue("2810887020")); Parameters result = client.operation().onType(Patient.class).named("createPatient") .withParameters(in).execute();
Example HTTP request:
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> <reference value="http://inttest.ehealth.sundhed.dk/organization/fhir/Organization/1"/> </valueReference> </parameter> </Parameters>
Example HTTP 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> <reference value="http://inttest.ehealth.sundhed.dk/organization/fhir/Organization/1"/> </generalPractitioner> </Patient> </resource> </parameter> </Parameters>