Comparing the Best Cloud Hosting for Hospital Information Management Systems (SIMRS): AWS, GCP, and Local Providers
N
Back to Blog

Comparing the Best Cloud Hosting for Hospital Information Management Systems (SIMRS): AWS, GCP, and Local Providers

Tips & Trik
Nugroho Setiawan · Konsultan IT & Full Stack Developer 23 Jul 2026 7 min baca 3,987 kata 282 views
This article compares AWS, GCP, and local cloud providers for hosting SIMRS. Find the best solution for operational efficiency, patient data security, and regulatory compliance in the healthcare industry. A practical guide for hospital IT managers.

Hospitals and clinics in Indonesia face major challenges in managing sensitive patient data, ensuring 24/7 system availability, and complying with strict health regulations such as Minister of Health Regulation (PMK) Number 82 of 2023 on Health Information Systems and the FHIR R4 standard for interoperability. The Hospital Management Information System (SIMRS) is the operational backbone, but on-premise infrastructure is often expensive, difficult to scale, and prone to failure. Migration to the cloud is a strategic solution for efficiency, scalability, and data security. However, choosing the right cloud provider—between global giants such as Amazon Web Services (AWS), Google Cloud Platform (GCP), or local providers—requires in-depth analysis. This article will guide you through a comprehensive comparison, highlighting the advantages, challenges, and best use scenarios for each platform, complete with concrete examples and practical guidance to help you make the right decision for your SIMRS. We will discuss aspects of performance, security, cost, compliance, and integration, providing actionable insights for IT managers, clinic owners, and decision-makers in the healthcare sector seeking reliable technology solutions.

Basic Concepts of SIMRS Cloud Hosting and Selection Criteria

Cloud hosting offers various significant advantages that make it an ideal choice for modern SIMRS. Elastic scalability allows hospitals to dynamically adjust computing resource capacity as needed, avoiding over-provisioning or under-provisioning. High availability (HA) with SLAs of up to 99.99% ensures SIMRS remains operational even when components fail, crucial for 24/7 healthcare services. Integrated disaster recovery (DR) capabilities across multiple availability zones or regions provide strong data protection against unexpected disasters. In addition, the pay-as-you-go cost model can reduce long-term Total Cost of Ownership (TCO) compared with large on-premise infrastructure investments.

When choosing a cloud provider, several main criteria must be considered. First, **Regulatory Compliance** is absolute, especially PMK 82/2023 and the Personal Data Protection Law (UU PDP), which require health data to be stored within Indonesian territory. Second, **Data Security** includes at-rest and in-transit data encryption, role-based access control (IAM), audit trail capabilities, and protection against cyber attacks. Third, **Availability** guaranteed by the cloud provider's SLA, ideally 99.99% or higher. Fourth, **Performance** includes network latency, throughput, and database I/O speed, which are crucial for SIMRS application responsiveness. Fifth, **Cost** that is transparent and predictable, with savings options such as reserved instances or long-term usage discounts. Sixth, **Technical Support** that is responsive and knowledgeable. Finally, **Data Center Location** that is relevant for compliance and performance.

The importance of data center location cannot be underestimated for sensitive data such as patient medical records. PMK 82/2023 explicitly states that health data must be stored within Indonesian territory. This becomes a determining factor in choosing between global providers with regions in Indonesia (such as AWS and GCP) or local cloud providers. In addition, network latency to the data center will affect user experience and the speed of data synchronization between SIMRS modules.

Modern SIMRS requires support for various core technologies, such as robust relational databases (PostgreSQL 16 or MySQL 8), flexible web application environments (for example, Laravel 11.x-based for PHP, Node.js 20 LTS for JavaScript, or Java with Spring Boot), and advanced integration capabilities (such as HAPI FHIR 6.8 for the FHIR R4 standard, or support for HL7 v2.5.1). Cloud providers must be able to provide managed services or infrastructure that supports these technology versions.

The use of microservices architecture is increasingly relevant for SIMRS in the cloud. By breaking down a monolithic application into small, independent services (for example, patient registration services, electronic medical record services, pharmacy services), SIMRS can be scaled more granularly, be more resilient to failure, and enable faster development. The cloud provides tools and services (such as Kubernetes or managed container services) that strongly support the implementation of this architecture, improving efficiency and innovation in managing hospital information systems.

Implementation Details and Cloud Architecture for SIMRS

Implementing SIMRS in a cloud environment requires careful architecture design to ensure optimal performance, security, and scalability. A typical SIMRS architecture in the cloud usually involves components such as a load balancer to distribute traffic, application servers (web server such as Nginx or Apache, application server such as PHP-FPM or Node.js runtime), managed databases, object storage for static assets and documents, and an isolated virtual network with strict security configurations. The choice of service types and their configuration will highly depend on the selected cloud provider.

For **Amazon Web Services (AWS)**, a common SIMRS architecture involves Amazon EC2 for the application server. It is recommended to use instance type such as m5.large or r5.large that balances CPU and memory, adjusted to the workload. The database can use Amazon RDS for PostgreSQL 16 or MySQL 8, which is a fully managed database service with automatic backup, replication, and patching features. Storage for static assets, such as images or medical documents, can utilize Amazon S3. The virtual network is configured through Amazon VPC, with strict security rules using Security Groups and Network ACLs. Identity and access management (IAM) is very important for controlling who and what can access resources. For encryption of sensitive data, AWS Key Management Service (KMS) can be integrated. A typical architecture can be: Amazon Elastic Load Balancer (ELB) -> Auto Scaling Group EC2 -> Amazon RDS for PostgreSQL. All of this can be designed following the AWS Well-Architected Framework guidance.

On **Google Cloud Platform (GCP)**, Compute Engine offers VMs with instance type such as n2-standard-4 or n2-standard-8 for application servers. For databases, Cloud SQL for PostgreSQL 16 or MySQL 8 provides a managed service similar to RDS. Google Cloud Storage (GCS) is a scalable and cost-effective object storage solution. The virtual network is managed through Google Cloud VPC, with Firewall Rules to control traffic. IAM in GCP also plays a central role in access management. Cloud KMS is an encryption key service that can be used to protect data. A similar architecture can be implemented: Google Cloud Load Balancing -> Managed Instance Groups (for Compute Engine) -> Cloud SQL. The Google Cloud Architecture Framework is the main reference for designing an optimal system.

**Local Providers** such as Biznet Gio or Telkomsigma offer Virtual Machines (VMs) with customizable specifications, often with Managed Database (if available) and Object Storage options. Their main advantage is that the data center location is definitely in Indonesia, making it easier to comply with PMK 82/2023 and UU PDP regulations. In addition, technical support is often more personal and in Indonesian. However, it should be noted that the service ecosystem offered may not be as complete as AWS or GCP, and automatic scalability may require manual configuration or may not be as flexible as global providers. It is important to verify the SLA, security features, and availability of advanced services needed by your SIMRS.

Regardless of the cloud provider, implementing CI/CD (Continuous Integration/Continuous Deployment) is highly recommended for efficient and low-risk SIMRS deployment. Using tools such as GitLab CI/CD or GitHub Actions, you can automate the testing, building, and deployment processes of the SIMRS application (for example, based on Laravel 11.x or Node.js 20 LTS) and HAPI FHIR 6.8 integration. This ensures that system updates can be carried out quickly, consistently, and with minimal downtime, which is very important in a hospital environment.

Example Configuration and Code Sample

Understanding examples of infrastructure configuration and application code is key to successful SIMRS implementation in the cloud. The Infrastructure as Code (IaC) approach using Terraform or CloudFormation is highly recommended for managing cloud resources consistently and automatically. Likewise, code examples for API integration, especially with the FHIR standard, provide a practical illustration of how SIMRS can communicate with other systems interoperably.

The following is an example Terraform configuration to provision an EC2 instance on AWS, which can serve as a foundation for your SIMRS application server. This code defines a Virtual Private Cloud (VPC), subnet, security group, and an EC2 instance, ensuring an isolated and secure network environment.

resource "aws_vpc" "simrs_vpc" {
cidr_block = "10.0.0.0/16"
tags = {
Name = "simrs-vpc"
}
}

resource "aws_subnet" "simrs_subnet" {
vpc_id = aws_vpc.simrs_vpc.id
cidr_block = "10.0.1.0/24"
availability_zone = "ap-southeast-1a"
tags = {
Name = "simrs-subnet"
}
}

resource "aws_security_group" "simrs_sg" {
vpc_id = aws_vpc.simrs_vpc.id
name = "simrs-web-sg"
description = "Allow HTTP, HTTPS, SSH inbound traffic"

ingress {
from_port = 80
to_port = 80
protocol = "tcp"
cidr_blocks = ["0.0.0.0/0"]
}
ingress {
from_port = 443
to_port = 443
protocol = "tcp"
cidr_blocks = ["0.0.0.0/0"]
}
ingress {
from_port = 22
to_port = 22
protocol = "tcp"
cidr_blocks = ["YOUR_OFFICE_IP/32"] # Ganti dengan IP kantor Anda
}
egress {
from_port = 0
to_port = 0
protocol = "-1"
cidr_blocks = ["0.0.0.0/0"]
}
tags = {
Name = "simrs-web-sg"
}
}

resource "aws_instance" "simrs_app" {
ami = "ami-0abcdef1234567890" # Ganti dengan AMI ID yang valid (misal: Ubuntu Server 22.04 LTS)
instance_type = "t3.medium"
subnet_id = aws_subnet.simrs_subnet.id
security_groups = [aws_security_group.simrs_sg.id]
key_name = "your-ssh-key" # Ganti dengan nama key pair Anda

tags = {
Name = "simrs-app-server"
}
}

This Terraform code defines a VPC, subnet, security group, and an EC2 instance for the SIMRS application. The security group is configured to allow HTTP traffic (port 80) and HTTPS (port 443) from anywhere (0.0.0.0/0), as well as SSH (port 22) from a specific office IP. This is the foundation for building a secure and structured infrastructure on AWS. It is important to replace ami-0abcdef1234567890 with the appropriate AMI ID for your region (for example, Ubuntu Server 22.04 LTS) and YOUR_OFFICE_IP/32 with your office's public IP for secure and restricted SSH access. Using IaC ensures consistency and ease of environment replication.

Next, the following is a simple example of Node.js code using Express and Axios to make API calls to a FHIR server (for example, HAPI FHIR 6.8), sending patient data in FHIR R4 format. This shows how a SIMRS application can interact with healthcare interoperability standards.

const express = require('express');
const axios = require('axios');
const app = express();
const port = 3000;

app.use(express.json());

const FHIR_SERVER_BASE_URL = 'http://localhost:8080/fhir'; // Ganti dengan URL FHIR server Anda (misal: HAPI FHIR 6.8)

app.post('/api/pasien', async (req, res) => {
const patientData = req.body;
// Minimal validasi dan transformasi ke FHIR R4 Patient resource
const fhirPatientResource = {
resourceType: "Patient",
id: patientData.id,
identifier: [{
use: "usual",
type: {
coding: [{
system: "http://terminology.hl7.org/CodeSystem/v2-0203",
code: "MR"
}]
},
system: "urn:oid:2.16.840.1.113883.2.4.6.1", // Contoh OID untuk Medical Record Number
value: patientData.mrn
}],
name: [{
use: "official",
family: patientData.lastName,
given: [patientData.firstName]
}],
gender: patientData.gender, // "male" | "female" | "other" | "unknown"
birthDate: patientData.dob
};

try {
const response = await axios.post(`${FHIR_SERVER_BASE_URL}/Patient`, fhirPatientResource, {
headers: {
'Content-Type': 'application/fhir+json',
'Authorization': 'Bearer YOUR_ACCESS_TOKEN' // Ganti dengan token akses yang valid
}
});
res.status(201).json({ message: 'Patient created successfully in FHIR server', fhirId: response.data.id });
} catch (error) {
console.error('Error creating patient in FHIR server:', error.response ? error.response.data : error.message);
res.status(500).json({ error: 'Failed to create patient in FHIR server', details: error.response ? error.response.data : error.message });
}
});

app.listen(port, () => {
console.log(`SIMRS FHIR integration app listening at http://localhost:${port}`);
});

This Node.js code with Express shows how a SIMRS application can integrate patient data into a FHIR server (for example, HAPI FHIR 6.8) using the FHIR R4 standard. The endpoint /api/pasien receives patient data from SIMRS, performs minimal transformation to FHIR Patient resource format, and then sends it to the FHIR server. It is important to implement strong authentication and authorization (for example, OAuth 2.0 with a Bearer token) and perform strict data validation according to the FHIR R4 specification to ensure data integrity and security. Error handling is also included to provide informative responses.

Example Data Payload and Error Handling

In the context of SIMRS, accurate data exchange and effective error handling are crucial elements to ensure system interoperability and reliability. With the adoption of standards such as FHIR R4 and HL7 v2.5.1, understanding the structure of data payloads and how systems respond to errors becomes very important. The following example payload shows a representation of patient data in FHIR R4 format, which is a global standard for health information exchange and is often used in system integrations such as SatuSehat in Indonesia.

The following is an example of a realistic JSON payload for an FHIR R4 Patient Resource, including basic patient information:

{
"resourceType": "Patient",
"id": "pat-001",
"meta": {
"profile": ["http://hl7.org/fhir/R4/StructureDefinition/Patient"]
},
"identifier": [
{
"use": "usual",
"type": {
"coding": [
{
"system": "http://terminology.hl7.org/CodeSystem/v2-0203",
"code": "MR",
"display": "Medical Record Number"
}
],
"text": "Medical Record Number"
},
"system": "http://example.org/sid/mrn",
"value": "12345678"
}
],
"active": true,
"name": [
{
"use": "official",
"family": "Setiawan",
"given": ["Nugroho"]
}
],
"telecom": [
{
"system": "phone",
"value": "+6281234567890",
"use": "mobile"
},
{
"system": "email",
"value": "nugroho.setiawan@example.com"
}
],
"gender": "male",
"birthDate": "1980-01-15",
"address": [
{
"use": "home",
"type": "physical",
"text": "Jl. Merdeka No. 10, Jakarta Pusat",
"line": ["Jl. Merdeka No. 10"],
"city": "Jakarta Pusat",
"postalCode": "10110",
"country": "ID"
}
]
}

This JSON payload represents a Patient resource in FHIR R4 format, covering unique identity, medical record number, full name, contact information, gender, date of birth, and address. This is an example of basic data that is often exchanged between SIMRS systems and other healthcare services, including the SatuSehat platform. Compliance with specific FHIR profiles, such as the profile defined for SatuSehat, is crucial to ensure interoperability and data validity in the Indonesian healthcare ecosystem.

When a failure occurs in data payload processing, the FHIR server will respond with an OperationOutcome resource that provides details about the error that occurred. The following is an example of an error message in OperationOutcome format:

{
"resourceType": "OperationOutcome",
"issue": [
{
"severity": "error",
"code": "invalid",
"details": {
"text": "The 'gender' element is required and cannot be null." },
"expression": ["Patient.gender"]
}
]
}

This OperationOutcome error specifically indicates that the gender element in the Patient resource is invalid or missing, which is a violation of the FHIR specification (in this case, gender is assumed to be a required element). In the context of SIMRS development, this kind of error must be caught and handled programmatically. The try-catch mechanism on the application side is a standard practice for handling API exceptions. It is important to perform error logging with sufficient detail (timestamp, failed request payload, and error response from the external server) to facilitate the troubleshooting process. In addition, using middleware for global error handling can simplify error management across the application.

For better error handling, ensure that error messages displayed to end users are not too technical, but informative enough that they can take corrective action if possible. Implement strict data validation on both the client and server sides before sending the payload to the external API. This can reduce the frequency of errors caused by incomplete or invalid data. Finally, consider integrating a notification system (for example, email or Slack) that will automatically notify the IT team or developers whenever a critical error occurs, enabling rapid response and maintaining service availability.

Best Practices

  1. Choose the Right Region/Data Center Location: Ensure the data center is located in Indonesia to comply with PMK 82 of 2023 and the PDP Law, which requires health data to be stored within Indonesian territory. This also significantly reduces access latency for local users, improving application responsiveness. Consider the availability of different zones (Availability Zones) within a region to achieve High Availability (high availability) and resilience to local failures.
  2. Implement Layered Security (Defense-in-Depth): Apply very strict Security Groups/Firewall Rules, opening only absolutely necessary ports. Ensure data encryption at-rest (using services such as AWS KMS or GCP Cloud KMS) and in-transit (using TLS 1.2+ for all communications). Leverage IAM (Identity and Access Management) with the least privilege principle, granting only the minimum necessary access rights. Consider using WAF (Web Application Firewall) and intrusion detection systems for additional protection. Conduct penetration testing and security audits regularly.
  3. Utilize Managed Database Services: Use managed database services such as Amazon RDS (AWS) or Cloud SQL (GCP) for PostgreSQL 16 or MySQL 8. These services significantly reduce the operational burden of database management, including automatic backup, patching, replication for high availability, and scaling. This allows the IT team to focus on application development rather than database infrastructure management.
  4. Design for Scalability and High Availability: Utilize Load Balancer to distribute traffic, Auto Scaling Group (AWS) or Managed Instance Groups (GCP) to automatically adjust application server capacity based on workload. Implement multi-AZ (Availability Zone) architecture for critical components. Consider microservices architecture to separate SIMRS components, so that each service can be scaled independently and is more resilient to failures.
  5. Implement Comprehensive Monitoring and Logging: Use built-in cloud monitoring services such as CloudWatch (AWS) or Cloud Monitoring/Logging (GCP), or third-party solutions such as ELK Stack (Elasticsearch, Logstash, Kibana). Monitor application and infrastructure performance metrics (CPU, memory, disk I/O, network latency), as well as activity logs for auditing, troubleshooting, and anomaly detection. Set up an alert system for early notification of potential issues.
  6. Backup and Disaster Recovery (DR) Strategy: Design realistic RTO (Recovery Time Objective) and RPO (Recovery Point Objective) that suit your hospital's business needs. Perform automatic data backup and regularly test restoration processes to ensure data integrity and availability. For extreme resilience, consider a multi-region DR strategy that involves replicating data and applications to different cloud regions.
  7. Compliance and Audit: Ensure your cloud configuration meets healthcare industry compliance standards such as HIPAA (if relevant), ISO 27001, and PMK 82 of 2023. Utilize audit trail services such as AWS CloudTrail or GCP Cloud Audit Logs to track all user and API activities in your cloud environment. This is important to meet audit requirements and forensic investigation in the event of a security incident.

FAQ

Q: Does my SIMRS have to be hosted in Indonesia?

A: Yes, based on Minister of Health Regulation (PMK) Number 82 of 2023 concerning Health Information Systems, patient health data must be stored in a data center located within Indonesian territory. This is also reinforced by Law Number 27 of 2022 concerning Personal Data Protection (PDP Law), which emphasizes data sovereignty and protection of sensitive data. Choosing a cloud provider with a data center in Indonesia is an absolute necessity for regulatory compliance and avoiding legal risks.

Q: How about cloud hosting costs compared to on-premise?

A: Although the initial cloud cost may seem to require investment, the long-term Total Cost of Ownership (TCO) is often lower than on-premise infrastructure. Cloud eliminates the initial hardware investment costs, routine maintenance, high electricity consumption, and cooling. In addition, the pay-as-you-go model enables better cost efficiency because you only pay for the computing resources you actually use. Proper capacity planning and taking advantage of long-term usage discounts are essential to optimizing costs.

Q: How secure is patient data in the cloud?

A: Patient data in the cloud can actually be more secure than on-premise storage, as long as the chosen cloud provider has adequate security certifications such as ISO 27001, SOC 2, and complies with local regulations. Large cloud providers such as AWS and GCP offer end-to-end encryption, both when data is stored (at-rest) and when transmitted (in-transit), as well as strict role-based access control (RBAC). However, security is a shared responsibility (shared responsibility model): the cloud provider secures the infrastructure, while you as a SIMRS user are responsible for correctly configuring the application, access management, and security policies. For local providers, ensure they have equivalent security standards and are transparent in audits.

Practical Tips for Choosing Cloud Hosting for SIMRS

Choosing cloud hosting for SIMRS is not just about comparing prices or technical specifications. There are several critical factors you must consider so that the system runs optimally, securely, and in regulatory compliance. First, ensure the provider has a data center in Indonesia. This is not only about data sovereignty, but also low latency, which is important for real-time applications such as patient registration, queues, and electronic medical record access. Second, check certifications and compliance: has the provider been certified ISO 27001, ISO 27017, ISO 27018, and does it have adequate audit trail capabilities? Third, evaluate the service model offered—IaaS, PaaS, or SaaS—and adjust it to your IT team's capacity. If the IT team is limited, PaaS or SaaS can be a wise choice because it reduces operational burden.

In addition, conduct a trial (proof of concept) before deciding. Test the provider's performance, reliability, and technical support with simulated workloads. Also pay attention to scalability: can the provider handle traffic spikes during peak hours or disasters? 24/7 technical support with a clear SLA is very important, especially for critical systems like SIMRS that must be available 24 hours. Don't forget to calculate the Total Cost of Ownership (TCO) thoroughly, including data transfer costs, additional storage costs, and potential other hidden costs. Finally, consider contract flexibility and ease of migration. Avoid vendor lock-in by choosing a provider that supports open standards and has capable migration tools.

For local providers, although they may offer more competitive prices and Indonesian-language support, ensure they have solid redundancy and disaster recovery plans. Ask about backup data locations, disaster recovery procedures, and uptime guarantees. Don't hesitate to ask for references from other hospitals that have used their services. A combination of global and local providers can be an attractive hybrid strategy: use global providers for workloads that require high scalability, and local providers for highly sensitive data or applications that require low latency. Most importantly, choose a provider that can meet your SIMRS's specific needs, not just follow trends.

FAQ

Is it possible to use more than one cloud provider for SIMRS?

Yes, and this is called a multi-cloud strategy. You can place different components with different providers, for example the main database with a local provider that has a data center in Indonesia, while analytics or backup services are with a global provider. However, keep in mind that multi-cloud adds management, security, and integration complexity. Make sure your IT team is ready to manage this more complicated architecture, or use cloud management services from a third party.

How can you ensure patient data does not leave Indonesia?

Make sure the cloud provider has a data center in Indonesia and offers data residency features. Check their policies in writing, and request a guarantee that data will not be replicated overseas without your consent. For global providers such as AWS and GCP, they have Indonesia regions (AWS Jakarta, GCP Jakarta) that you can select when configuring services. In addition, implement encryption with keys that you manage yourself (BYOK) for an extra layer of security.

Is cloud hosting more expensive than on-premise?

Not always. Although the monthly cloud cost looks like continuous operating expenditure, long-term TCO is often lower because you don't need to buy hardware, rent data center space, pay for electricity, cooling, and IT staff salaries for maintenance. However, cloud costs can balloon if not managed well. Use cost monitoring tools, implement auto-scaling, and take advantage of long-term commitment discounts to optimize spending.

Can local providers compete with AWS and GCP?

In terms of features and global scalability, AWS and GCP are indeed superior. However, local providers have advantages in terms of proximity to regulators, understanding of local context, Indonesian-language support, and prices that are often more affordable for specific needs. Some local providers have also been certified ISO 27001 and have tier III data centers. The key is to assess your SIMRS's specific needs and choose the most suitable provider, not the most popular one.

Conclusion

Choosing cloud hosting for SIMRS is a strategic decision that affects patient data security, regulatory compliance, and hospital operational efficiency. AWS, GCP, and local providers each have advantages and disadvantages. AWS and GCP offer global scalability, complete services, and technological innovation, but require high technical expertise and considerable cost. Local providers offer regulatory proximity, personal support, and competitive prices, but may have limitations in terms of features and scalability. Most importantly, choose a provider that has a data center in Indonesia, is security certified, and can meet your SIMRS's specific needs. Don't hesitate to conduct trials and request references before deciding.

Still confused about determining the right cloud hosting for your SIMRS? Our expert team is ready to help you analyze needs, compare options, and design a cloud architecture that is secure, regulatory compliant, and efficient. Consult your SIMRS needs now and get recommendations tailored to your hospital's budget and infrastructure. Contact us for a free consultation session and ensure your patient data is well protected.

This article is part of the education by Nugroho Setiawan, Jogja IT consultant. Related solutions: SIMRS SIM Klinik Integrator Bridging SatuSehat. Need free consultation?

Terakhir diperbarui 18 Oct 2026

Komentar

Komentar ditinjau sebelum tampil.

Belum ada komentar. Jadilah yang pertama!

Butuh bantuan implementasi?

Saya membantu konsultasi IT & pengembangan aplikasi untuk rumah sakit, klinik, dan bisnis di Yogyakarta (DIY), Magelang, dan sekitarnya.

Produk & Solusi SIMRS ERP Portfolio Konsultasi Gratis