--- title: 3.3. Register Medical Professional Information code: fhir-tutorial fhir-tutorial-en3 tags: fhir-project-ig --- # Register Medical Professional Information ## Table of Contents [TOC] ## Introduction ![](https://i.imgur.com/HG9XjCP.png) *<center>fig 1. Structure diagram of physician in a hospital</center>* Data for health facility staff is stored in the FHIR Practitioner resource. *Practitioner* only store doctor's personal data such as name, gender, DOB, etc. Meanwhile, the name of the doctor's specialty will be stored in the *PractitionerRole*. So in the scenario of a doctor who has more than 1 specialty can be described with 1 *Practitioner* and 2 *PractitionerRoles*, as shown in the example in fig 1.3 of Dr. Jackie who has 2 specialty roles at the same time. ### 1.1. FHIR Practitioner If we see Practitioner in a general way (not limited to healthcare field), Practitioner can refers to a person who is responsible for managing a company's product and service development, ensuring quality and customer and customer satisfaction. For example in healthcare field, the healthcare providers (e.g. physician, pharmacist, laboratorist) are categorized as Practitioner. Healthcare provider resources are usually stored in the administration section of internal applications (e.g. HIS, EHR) and may even be synchronized from external systems (e.g. PHR, Patient Portal). <!--### 1.2. FHIR PractitionerRole--> ## Scope The FHIR Organization can be used to describe data in different scenario as seen below: <table> <tr> <td><b>Scenario 1</b></td> <td>Medical Professional</td> </tr> <tr> <td><b>Scenario 2</b></td> <td>Medical Professional Specialty</td> </tr> </table> :::info :pushpin: FHIR standard is designed to be flexible and adaptable to various healthcare scenarios, thus the required fields specificiation also different for each scenario. ::: ## Data Specification The column SC1, SC2, ..., SCn refers to the mandatory field status in each scenario mentioned in [Scope](https://hackmd.io/qb-3lk2WTLqGTw2zgCiC_Q?both#Scope) part. **FHIR Practitioner** | NO | VARIABLE | DATA TYPE | SC1 |DEFINITION | NOTES | |-|-|-|-|-|-| | 1 | Practitioner.id | string | R | Resource ID. ID bisa di generate otomatis dari server-side sesuai sequence dan bisa juga di custom sendiri dari client-side |   | | 2 | Practitioner.identifier | [Identifier](https://www.hl7.org/fhir/datatypes.html#Identifier) | R | Kode item terkait yang dipakai di fasyankes |   | | 3 | Practitioner.active | boolean | R | Status apakah Nakes terkait masih aktif atau tidak |   | | 4 | Practitioner.name | string | R | Nama Nakes |   | | 5 | Practitioner.telecom | [ContactPoint](https://www.hl7.org/fhir/datatypes.html#ContactPoint) | O | Detail narahubung untuk Nakes |   | | 6 | Practitioner.gender | [code](https://www.hl7.org/fhir/datatypes.html#code) | O | Jenis kelamin | [http://hl7.org/fhir/administrative-gender](http://hl7.org/fhir/administrative-gender) | **FHIR PractitionerRole** | NO | VARIABLE | DATA TYPE | SC1 |DEFINITION | NOTES | |-|-|-|-|-|-| | 1 | PractitionerRole.id | string | R | Resource ID. ID bisa di generate otomatis dari server-side sesuai sequence dan bisa juga di custom sendiri dari client-side |   | | 2 | PractitionerRole.active | boolean | R | Status apakah roleNakes terkait masih aktif atau tidak |   | | 3  | PractitionerRole.specialty | [CodeableConcept](https://build.fhir.org/datatypes.html#CodeableConcept) | O | Nama spesialis dokter |   | | 4 | PractitionerRole.code | [CodeableConcept](https://build.fhir.org/datatypes.html#CodeableConcept) | O | Nama roleNakes | http://hl7.org/fhir/R4/valueset-practitioner-role.html | | 5 | PractitionerRole.practitioner | [Reference(Practitioner)](https://www.hl7.org/fhir/datatypes.html#ContactPoint) | R | Referensi ke Practitionerresource |   | | 6 | PractitionerRole.organization | [Reference(Organization)](https://www.hl7.org/fhir/datatypes.html#ContactPoint) | R | Referensi ke Organization resource. Disini reference ke nama departemen/klinik spesialis dokter. (Kolom ini berhubungan dengan jadwal dokter) |   | | 7 | PractitionerRole.contact | [ExtendedContactDetail](https://build.fhir.org/metadatatypes.html#ExtendedContactDetail) | O | Detail narahubung untuk Nakes di departemen tertentu |   | --- ## Payload ### Format :::spoiler [Example SC1: Dr. Carolina](https://hapi.fhir.org/baseR4/Practitioner/af387bf9-e4e2-4e58-bb33-6892f4d95eec) JSON example ```gherkin= { "resourceType": "Practitioner", "id": "af387bf9-e4e2-4e58-bb33-6892f4d95eec", "meta": { "versionId": "1", "lastUpdated": "2023-02-21T11:12:49.439+00:00", "source": "#smRr1DBWfqPKj8B0" }, "identifier": [ { "system": "CAREPROV_RowId", "value": "2xx" }, { "system": "CAREPROV_Code", "value": "8000xxxx" }, { "system": "CAREPROV_SMCNo", "value": "0xx" } ], "active": true, "name": [ { "text": "Carolina Dr. SpKK" } ] } ``` ::: :::spoiler [Example SC1: Specialty Name of Dr. Carolina](https://hapi.fhir.org/baseR4/PractitionerRole/3dc7e8ef-61f8-467e-b718-471be605fcfc) JSON example ```gherkin= { "resourceType": "PractitionerRole", "id": "3dc7e8ef-61f8-467e-b718-471be605fcfc", "meta": { "versionId": "1", "lastUpdated": "2023-02-21T11:12:49.448+00:00", "source": "#45WwqWO7MGyfHzK0" }, "identifier": [ { "system": "CAREPROV_RowId", "value": "2xx" } ], "active": true, "practitioner": { "reference": "Practitioner/af387bf9-e4e2-4e58-bb33-6892f4d95eec" }, "organization": { "reference": "Organization/1cfef442-08d8-4e43-a256-3ec28b0e3ba9" }, "code": [ { "coding": [ { "system": "CT_CareProvGroup", "code": "8", "display": "Doctor" } ], "text": "Doctor" } ], "specialty": [ { "coding": [ { "system": "CT_Spec.Specialty", "code": "DR0032", "display": "Dermatovenerology" } ], "text": "Dermatovenerology" } ] } ``` ::: <!-- The user module for Practitioner role have a tree data structure, like the diagram below: ![](https://i.imgur.com/7pGNvv3.png =150x250) In the example provided below, we can see how resources are linked to each other using the specific field. ![](https://i.imgur.com/fRBipRz.png =250x500) The example above define a user account for a general physician called Dr. Elon Musk to login into Oxford Hospital EHR system. For creating a practitioner account, it required these steps below: 1. Create Organization for Oxford Hospital 2. Create Person for Dr. Elon Musk account username and password 3. Create Practitioner to categorize Dr. Elon Musk account as a practitioner account 4. Create PractitionerRole for Dr. Elon Musk role as a General Physician in Oxford Hospital 5. Update FHIR Person to link the Person resource with Practitioner resource -->